react-semaphor 0.1.202 → 0.1.203
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/chunks/{dashboard-controls-CkfdfqNi.js → dashboard-controls-D5VrI40y.js} +1 -1
- package/dist/chunks/{dashboard-controls-Ct4PKzi_.js → dashboard-controls-p7I_UrIz.js} +5 -5
- package/dist/chunks/{dashboard-json-BoT-Wp2i.js → dashboard-json-Cwh8kbV9.js} +1 -1
- package/dist/chunks/{dashboard-json-DcdjxLFv.js → dashboard-json-Dh8csIFq.js} +1 -1
- package/dist/chunks/{dashboard-summary-settings-dialog-D1QDJSfs.js → dashboard-summary-settings-dialog-BL4vn4lZ.js} +1 -1
- package/dist/chunks/{dashboard-summary-settings-dialog-BVWeRbN7.js → dashboard-summary-settings-dialog-_3iUVFkC.js} +1 -1
- package/dist/chunks/{edit-dashboard-visual-DGebHYIi.js → edit-dashboard-visual-DEc3lB9j.js} +2 -2
- package/dist/chunks/{edit-dashboard-visual-DH5QSGaK.js → edit-dashboard-visual-RiCeBX0X.js} +1 -1
- package/dist/chunks/{editor-action-buttons-B2STBcxD.js → editor-action-buttons-BfLWRprW.js} +1 -1
- package/dist/chunks/{editor-action-buttons-CmYVGMmU.js → editor-action-buttons-DovtyKKL.js} +2 -2
- package/dist/chunks/{index-VMtFUqKe.js → index-CpnMO9b6.js} +2 -2
- package/dist/chunks/{index-2UB7egQD.js → index-DaQXz6Oi.js} +7 -6
- package/dist/chunks/{notification-bell-ClsbaKmk.js → notification-bell-Cn3-W-S3.js} +3 -3
- package/dist/chunks/{notification-bell-B3-Ju7ln.js → notification-bell-DsJcuxld.js} +1 -1
- package/dist/chunks/{resource-management-panel-JhskGQEY.js → resource-management-panel-DBnpAHFb.js} +1 -1
- package/dist/chunks/{resource-management-panel-D9IRB31b.js → resource-management-panel-qsbMXn91.js} +3 -3
- package/dist/chunks/{use-role-aware-display-preferences-CLjqnHpY.js → use-role-aware-display-preferences-B22nZN2c.js} +1 -1
- package/dist/chunks/{use-role-aware-display-preferences-CNicmmdy.js → use-role-aware-display-preferences-CnipXO4k.js} +1 -1
- package/dist/chunks/{use-visual-utils-DhK1ng8v.js → use-visual-utils-B9X7-yfe.js} +1 -1
- package/dist/chunks/{use-visual-utils-CzWIOx1O.js → use-visual-utils-JlfPxiXq.js} +1 -1
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +5 -5
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
`);const y=x.state[a];if(y==null)return;JSON.stringify(s.getState())!==JSON.stringify(y)&&m(y);return}s.dispatchFromDevtools&&typeof s.dispatch=="function"&&s.dispatch(x)});case"DISPATCH":switch(g.payload.type){case"RESET":return m(p),a===void 0?d==null?void 0:d.init(s.getState()):d==null?void 0:d.init(Xy(l.name));case"COMMIT":if(a===void 0){d==null||d.init(s.getState());return}return d==null?void 0:d.init(Xy(l.name));case"ROLLBACK":return zN(g.state,x=>{if(a===void 0){m(x),d==null||d.init(s.getState());return}m(x[a]),d==null||d.init(Xy(l.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return zN(g.state,x=>{if(a===void 0){m(x);return}JSON.stringify(s.getState())!==JSON.stringify(x[a])&&m(x[a])});case"IMPORT_STATE":{const{nextLiftedState:x}=g.payload,y=(b=x.computedStates.slice(-1)[0])==null?void 0:b.state;if(!y)return;m(a===void 0?y:y[a]),d==null||d.send(null,x);return}case"PAUSE_RECORDING":return h=!h}return}}),p},Az=wse,zN=(e,t)=>{let n;try{n=JSON.parse(e)}catch(r){console.error("[zustand devtools middleware] Could not parse the received json",r)}n!==void 0&&t(n)};function Cse(e,t){let n;try{n=e()}catch{return}return{getItem:s=>{var o;const i=l=>l===null?null:JSON.parse(l,void 0),a=(o=n.getItem(s))!=null?o:null;return a instanceof Promise?a.then(i):i(a)},setItem:(s,o)=>n.setItem(s,JSON.stringify(o,void 0)),removeItem:s=>n.removeItem(s)}}const _k=e=>t=>{try{const n=e(t);return n instanceof Promise?n:{then(r){return _k(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return _k(r)(n)}}}},Sse=(e,t)=>(n,r,s)=>{let o={storage:Cse(()=>localStorage),partialize:g=>g,version:0,merge:(g,b)=>({...b,...g}),...t},i=!1;const a=new Set,l=new Set;let u=o.storage;if(!u)return e((...g)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),n(...g)},r,s);const d=()=>{const g=o.partialize({...r()});return u.setItem(o.name,{state:g,version:o.version})},f=s.setState;s.setState=(g,b)=>(f(g,b),d());const h=e((...g)=>(n(...g),d()),r,s);s.getInitialState=()=>h;let m;const p=()=>{var g,b;if(!u)return;i=!1,a.forEach(y=>{var v;return y((v=r())!=null?v:h)});const x=((b=o.onRehydrateStorage)==null?void 0:b.call(o,(g=r())!=null?g:h))||void 0;return _k(u.getItem.bind(u))(o.name).then(y=>{if(y)if(typeof y.version=="number"&&y.version!==o.version){if(o.migrate){const v=o.migrate(y.state,y.version);return v instanceof Promise?v.then(C=>[!0,C]):[!0,v]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,y.state];return[!1,void 0]}).then(y=>{var v;const[C,N]=y;if(m=o.merge(N,(v=r())!=null?v:h),n(m,!0),C)return d()}).then(()=>{x==null||x(m,void 0),m=r(),i=!0,l.forEach(y=>y(m))}).catch(y=>{x==null||x(void 0,y)})};return s.persist={setOptions:g=>{o={...o,...g},g.storage&&(u=g.storage)},clearStorage:()=>{u==null||u.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>p(),hasHydrated:()=>i,onHydrate:g=>(a.add(g),()=>{a.delete(g)}),onFinishHydration:g=>(l.add(g),()=>{l.delete(g)})},o.skipHydration||p(),m||h},Pz=Sse,WP=e=>Symbol.iterator in e,qP=e=>"entries"in e,YP=(e,t)=>{const n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(const[s,o]of n)if(!r.has(s)||!Object.is(o,r.get(s)))return!1;return!0},Nse=(e,t)=>{const n=e[Symbol.iterator](),r=t[Symbol.iterator]();let s=n.next(),o=r.next();for(;!s.done&&!o.done;){if(!Object.is(s.value,o.value))return!1;s=n.next(),o=r.next()}return!!s.done&&!!o.done};function jse(e,t){return Object.is(e,t)?!0:typeof e!="object"||e===null||typeof t!="object"||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:WP(e)&&WP(t)?qP(e)&&qP(t)?YP(e,t):Nse(e,t):YP({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function Ex(e){const t=w.useRef(void 0);return n=>{const r=e(n);return jse(t.current,r)?t.current:t.current=r}}let Qy;const kse=new Uint8Array(16);function Ese(){if(!Qy&&(Qy=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Qy))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Qy(kse)}const us=[];for(let e=0;e<256;++e)us.push((e+256).toString(16).slice(1));function _se(e,t=0){return us[e[t+0]]+us[e[t+1]]+us[e[t+2]]+us[e[t+3]]+"-"+us[e[t+4]]+us[e[t+5]]+"-"+us[e[t+6]]+us[e[t+7]]+"-"+us[e[t+8]]+us[e[t+9]]+"-"+us[e[t+10]]+us[e[t+11]]+us[e[t+12]]+us[e[t+13]]+us[e[t+14]]+us[e[t+15]]}const Tse=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),GP={randomUUID:Tse};function _r(e,t,n){if(GP.randomUUID&&!e)return GP.randomUUID();e=e||{};const r=e.random||(e.rng||Ese)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,_se(r)}function Mse(e){var r;if(!(e!=null&&e.length))return;const t=new Map;for(const s of e)for(const o of s.filterGroups)for(const i of o.filters){if(!((r=i.field)!=null&&r.id))continue;const a=i.field.id;t.has(a)||t.set(a,[]),t.get(a).push({field:i.field,value:i.value})}const n=[];for(const[s,o]of t.entries())if(o.length===1){const i=o[0];n.push({id:_r(),logicalOperator:"AND",negate:!1,conditions:[{id:_r(),field:i.field,operator:"=",value:i.value}],groups:[]})}else{const i=o[0].field,l=o.map(u=>u.value).map(u=>({id:_r(),field:i,operator:"=",value:u}));n.push({id:_r(),logicalOperator:"OR",negate:!1,conditions:l,groups:[]})}if(n.length!==0)return{id:_r(),logicalOperator:"AND",negate:!1,conditions:[],groups:n}}function Dse(e){const t=e.filter(Boolean);if(t.length!==0)return t.length===1?t[0]:{id:_r(),logicalOperator:"AND",negate:!1,conditions:[],groups:t}}function Ise(e){if(!e)return;const t=n=>({logicalOperator:n.logicalOperator,negate:n.negate,conditions:n.conditions.map(r=>({field:r.field.id,operator:r.operator,value:r.value})),groups:n.groups.map(t)});return JSON.stringify(t(e))}const Fz=aa((e,t)=>({context:null,setContext:n=>e({context:n}),appendCondition:n=>{const r=t().context;r&&e({context:{...r,type:"multiClick",conditions:[...r.conditions,n]}})},clear:()=>e({context:null})}));function Bi(e){return e?e.interactions||[]:[]}function Rse({intent:e,card:t}){var o,i,a;const n=Fz.getState().context;if(!n||!((o=n.conditions)!=null&&o.length))return;const r={sourceCardId:n.cardId,filterGroups:[{filters:n.conditions}],metric:n.metric},s=t==null?void 0:t.interactionConfig;switch(e.mode){case"clickFilter":{const l=Bi(s),u={conditions:n.conditions,metrics:n.metric?[n.metric]:void 0},d=Bse(l,u);return!d||d.mode!=="clickFilter"?void 0:{interactionMode:"clickFilter",...r,applyToCardIds:d.applyToCardIds,excludeCardIds:d.excludeCardIds}}case"drillDown":{const l=(i=s==null?void 0:s.drillHierarchies)==null?void 0:i.find(u=>u.id===e.hierarchyId);return l?{interactionMode:"drillDown",...r,hierarchyId:l.id,toField:e.drillField}:void 0}case"dynamicDrill":return{interactionMode:"dynamicDrill",...r,toField:e.drillField};case"drillToDetail":{const u=Bi(s).find(d=>d.mode==="drillToDetail");return!u||u.mode!=="drillToDetail"||!((a=u.detailFields)!=null&&a.length)?void 0:{interactionMode:"drillToDetail",...r,detailFields:u.detailFields,sortBy:u.sortBy,limit:u.limit,targetInsightId:u.targetInsightId,contextMode:u.contextMode,displayMode:u.displayMode}}case"drillToURL":{const u=Bi(s).find(d=>d.mode==="drillToURL");return!u||u.mode!=="drillToURL"||!u.urlTemplate?void 0:{interactionMode:"drillToURL",...r,url:u.urlTemplate}}case"drillThrough":{const u=Bi(s).find(d=>d.mode==="drillThrough");return!u||u.mode!=="drillThrough"||!u.targetDashboardId?void 0:{interactionMode:"drillThrough",...r,targetDashboardId:u.targetDashboardId}}case"inlineDrill":return{interactionMode:"inlineDrill",...r,fetchMode:"lazy",inlineLimit:10};default:return}}const Tk=["year","quarter","month","week","day"];function Ase(e){const t=Tk.map(n=>({field:{...e,id:`${e.id}_${n}`,granularity:n,label:KP(n),dateFormat:$se(n)},mode:"drillDown",label:`Drill to ${KP(n)}`,retainFilters:!0}));return{id:`auto_date_${e.id}`,label:`${e.label}`,type:"date",steps:t,default:!0,baseField:e}}function Pse(e,t=[]){return Ose(e)?!Fse(e.id,t):!1}function Fse(e,t){return t.find(n=>n.id===`auto_date_${e}`?!0:n.steps.some(r=>{const s=r.field.id;return s===e||s.startsWith(`${e}_`)}))}function Ose(e){return!!(e.dataType==="date"||e.dataType==="timestamp"||e.granularity)}function $se(e){return{year:"YYYY",quarter:"YYYY-Q1",month:"MMM YYYY",week:"YYYY-WW",day:"MMM DD, YYYY"}[e]}function OT(e,t){const n=t?Tk.indexOf(t):-1,r=Tk[n+1];return r?e.steps.find(o=>o.field.granularity===r):void 0}function $T(e,t,n){var o,i;if(n&&n.length>0)return n[n.length-1].granularity;const r=e.baseField;if(!r)return;const s=(i=(o=t.config)==null?void 0:o.groupByColumns)==null?void 0:i.find(a=>a.id===r.id?!0:a.qualifiedFieldName&&r.qualifiedFieldName?a.qualifiedFieldName===r.qualifiedFieldName:a.name&&r.name?a.name===r.name:!1);return s==null?void 0:s.granularity}function KP(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Oz(e,t,n,r=!0){let s=e;return t.forEach(o=>{const i=Lse(o,n),a=`{{${o.id}}}`,l=r?encodeURIComponent(String(i)):String(i);s=s.replace(new RegExp(a,"g"),l)}),s}function Lse(e,t){if(e.category==="identifier")switch(e.id){case"card_id":return t.cardId||"";case"frame_id":return t.frameId||"";case"sheet_id":return t.sheetId||"";default:return console.warn(`Unknown identifier parameter: ${e.id}`),""}if(e.category==="attribute"&&e.field){const n=t.clickedValues.find(r=>r.field.id===e.field.id);return n?n.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 zse(e){const t=[];if(!e||e.trim()==="")return t.push("URL template cannot be empty"),{valid:!1,errors:t};const n=(e.match(/\{\{/g)||[]).length,r=(e.match(/\}\}/g)||[]).length;n!==r&&t.push("Unclosed parameter placeholders ({{ or }})"),e.match(new RegExp("(?<!\\{)\\{(?!\\{)|(?<!\\})\\}(?!\\})","g"))&&t.push("Invalid placeholder syntax (use {{param_id}}, not {param_id})");const o=e.replace(/\{\{[^}]+\}\}/g,"VALUE");try{new URL(o)}catch{t.push("Invalid URL structure")}return{valid:t.length===0,errors:t}}function Mk(e,t){if(t.type==="metric")return e;if(t.type==="attribute"){const n=e.find(r=>r.field.id===t.field.id);return n?[n]:[]}return e}function Q1(e,t){var s,o;const n=e.filter(i=>i.trigger!==void 0);if(n.length===0)return[];const r=[];for(const i of n){if(!i.trigger)continue;const{trigger:a}=i;if(a.type==="metric"&&((s=t.metrics)!=null&&s.length)&&t.metrics[0].field.id===a.field.id){r.push(i);continue}a.type==="attribute"&&((o=t.conditions)!=null&&o.length)&&t.conditions.find(u=>u.field.id===a.field.id)&&r.push(i)}return r}function Bse(e,t){const n=Q1(e,t);return n.length>0?n[0]:null}function ai(e,t){if(e.sourceCardId!==t.sourceCardId||!Array.isArray(e.filterGroups)||!Array.isArray(t.filterGroups)||e.filterGroups.length!==t.filterGroups.length)return!1;const n=i=>i.filters.map(a=>({fieldId:a.field.id,value:String(a.value),operator:a.operator??"="})).sort((a,l)=>a.fieldId!==l.fieldId?a.fieldId.localeCompare(l.fieldId):a.value.localeCompare(l.value)),r=i=>i.map(n).sort((a,l)=>{const u=a.map(f=>`${f.fieldId}:${f.value}`).join("|"),d=l.map(f=>`${f.fieldId}:${f.value}`).join("|");return u.localeCompare(d)}),s=r(e.filterGroups),o=r(t.filterGroups);return s.every((i,a)=>{const l=o[a];return i.length!==l.length?!1:i.every((u,d)=>{const f=l[d];return u.fieldId===f.fieldId&&u.value===f.value&&u.operator===f.operator})})}function Vse(e,t,n,r,s,o,i){var b,x,y,v,C,N,S;const a=Bi(t.interactionConfig),l=Q1(a,e),u=l.some(j=>j.mode==="dynamicDrill");if((l.length>1||u)&&o)return o(l,e,i),!0;const d=l.length>0?l[0]:null;if(!d)return!1;if(d&&d.mode!=="clickFilter"){const k=[{filters:d.trigger?Mk(e.conditions,d.trigger):e.conditions}];let _;if(d.mode==="drillToDetail")_={interactionMode:"drillToDetail",sourceCardId:t.id,filterGroups:k,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 E=(y=(x=t.interactionConfig)==null?void 0:x.drillHierarchies)==null?void 0:y.find(M=>M.id===d.hierarchyId);if(E){const T=$t.getState().interactionStates[t.id],P=(T==null?void 0:T.breadcrumbs)||[],F=P.length;let A;if(E.type==="date"||E.baseField){const $=$T(E,t,P);A=OT(E,$)}else A=E.steps[F];A&&(_={interactionMode:"drillDown",sourceCardId:t.id,hierarchyId:E.id,filterGroups:k,metric:(v=e.metrics)==null?void 0:v[0],toField:A.field,granularity:A.field.granularity})}}else if(d.mode==="drillThrough")_={interactionMode:"drillThrough",sourceCardId:t.id,filterGroups:k,metric:(C=e.metrics)==null?void 0:C[0],targetDashboardId:d.targetDashboardId,contextMode:d.contextMode};else if(d.mode==="drillToURL"){const E=Oz(d.urlTemplate,d.parameters||[],{clickedValues:k.flatMap(M=>M.filters),cardId:t.id,frameId:n,sheetId:r},d.encodeParameters!==!1);try{new URL(E)}catch(M){return console.error("Invalid URL:",E,M),!1}return window.open(E,"_blank","noopener,noreferrer"),!0}else{if(d.mode==="drillUp")return $t.getState().popInteractionStep(t.id),!0;d.mode==="dynamicDrill"&&d.drillField&&(_={interactionMode:"dynamicDrill",sourceCardId:t.id,filterGroups:k,metric:(N=e.metrics)==null?void 0:N[0],toField:d.drillField})}return _?($t.getState().applyInteractionEvent(t.id,_),!0):!1}if(!d||d.mode!=="clickFilter")return!1;const f=d.trigger?Mk(e.conditions,d.trigger):e.conditions,h={interactionMode:"clickFilter",sourceCardId:t.id,filterGroups:[{filters:f}],metric:(S=e.metrics)==null?void 0:S[0],applyToCardIds:d.applyToCardIds,excludeCardIds:d.excludeCardIds},m=s.interactionStates[t.id]??li(),p=m.appliedClickFilters??[];return p.some(j=>ai(j,h))&&p.length===1?s.setInteractionState(t.id,{...m,appliedClickFilters:[]}):s.setInteractionState(t.id,{...m,appliedClickFilters:[h]}),!0}function $z(e,t,n,r){const s=$t(),o=Fz();return{handlePointerInteraction:({context:l,gesture:u,position:d,modifierKeys:f})=>{var v;const m=Bi(e.interactionConfig).some(C=>C.trigger!==void 0);if(u==="leftClick"&&!(f!=null&&f.shift)&&m){Vse(l,e,t,n,s,r,d);return}if(o.setContext({type:u,cardId:e.id,conditions:l.conditions,metric:(v=l.metrics)==null?void 0:v[0],anchorPosition:d}),u!=="leftClick"||!m)return;const p=Rse({intent:{mode:"clickFilter"},card:e});if(!p)return;const g=s.interactionStates[e.id]??li(),b=g.appliedClickFilters??[],y=b.some(C=>ai(C,p))?b.filter(C=>!ai(C,p)):[...b,p];s.setInteractionState(e.id,{...g,appliedClickFilters:y})},applySelectedInteraction:(l,u)=>{var m,p,g,b,x,y,v;const f=[{filters:l.trigger?Mk(u.conditions,l.trigger):u.conditions}];let h;if(l.mode==="clickFilter"){const C=l.applyToCardIds?[...l.applyToCardIds,e.id]:void 0;h={interactionMode:"clickFilter",sourceCardId:e.id,filterGroups:f,metric:(m=u.metrics)==null?void 0:m[0],applyToCardIds:C,excludeCardIds:l.excludeCardIds,filterSourceCard:!0}}else if(l.mode==="drillToDetail")h={interactionMode:"drillToDetail",sourceCardId:e.id,filterGroups:f,metric:(p=u.metrics)==null?void 0:p[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=(g=e.interactionConfig)==null?void 0:g.drillHierarchies)==null?void 0:b.find(N=>N.id===l.hierarchyId);if(C){const N=s.interactionStates[e.id],S=(N==null?void 0:N.breadcrumbs)||[],j=S.length;let k;if(C.type==="date"||C.baseField){const _=$T(C,e,S);k=OT(C,_)}else k=C.steps[j];k&&(h={interactionMode:"drillDown",sourceCardId:e.id,hierarchyId:C.id,filterGroups:f,metric:(x=u.metrics)==null?void 0:x[0],toField:k.field,granularity:k.field.granularity})}}else if(l.mode==="drillThrough")h={interactionMode:"drillThrough",sourceCardId:e.id,filterGroups:f,metric:(y=u.metrics)==null?void 0:y[0],targetDashboardId:l.targetDashboardId,contextMode:l.contextMode};else if(l.mode==="drillToURL"){const C=Oz(l.urlTemplate,l.parameters||[],{clickedValues:f.flatMap(N=>N.filters),cardId:e.id,frameId:t,sheetId:n},l.encodeParameters!==!1);try{new URL(C)}catch(N){console.error("Invalid URL:",C,N);return}window.open(C,"_blank","noopener,noreferrer");return}else if(l.mode==="drillUp"){s.popInteractionStep(e.id);return}else l.mode==="dynamicDrill"&&(l.drillField?h={interactionMode:"dynamicDrill",sourceCardId:e.id,filterGroups:f,metric:(v=u.metrics)==null?void 0:v[0],toField:l.drillField}:console.warn("⚠️ dynamicDrill interaction missing drillField!",l));h&&s.applyInteractionEvent(e.id,h)}}}const $c=aa()(Az((e,t)=>({clearBlurCallbacks:{},registerClearBlurCallback:(n,r)=>{e(s=>({clearBlurCallbacks:{...s.clearBlurCallbacks,[n]:r}}))},clearBlurForCard:n=>{const s=t().clearBlurCallbacks[n];if(s)try{s()}catch(o){console.warn(`Failed to clear blur for card ${n}:`,o),e(i=>{const{[n]:a,...l}=i.clearBlurCallbacks;return{clearBlurCallbacks:l}})}},clearAllBlur:()=>{const n=t(),r=[];Object.entries(n.clearBlurCallbacks).forEach(([s,o])=>{if(o)try{o()}catch(i){console.warn(`Failed to clear blur for card ${s}:`,i),r.push(s)}}),r.length>0&&e(s=>{const o={...s.clearBlurCallbacks};return r.forEach(i=>{delete o[i]}),{clearBlurCallbacks:o}})},unregisterCard:n=>{e(r=>{const{[n]:s,...o}=r.clearBlurCallbacks;return{clearBlurCallbacks:o}})},resetStore:()=>{const n=t();Object.values(n.clearBlurCallbacks).forEach(r=>{if(r)try{r()}catch{}}),e({clearBlurCallbacks:{}})}}),{name:"chartjs-store"}));Ka.subscribe("dashboard:load",()=>{$c.getState().resetStore()});Ka.subscribe("dashboard:unload",()=>{$c.getState().resetStore()});const Lz=["bar","kpi","horizontalBar","line","combo","stackedBar","stackedLine","table","custom"];function Hse(e,t){const n=e.metricColumns||[];if(n.length===0)return e;const r=new Set(["previous_period","same_period_last_year","start_vs_end"]),o=(e.groupByColumns||[]).some(d=>Cr(d.dataType||"")==="date"),i=Lz.includes(t),a=t==="kpi"||t==="table";let l=!1;const u=n.map(d=>{const f=d.comparisonType??"none";return f==="none"?d:i?f==="target"&&!a?(l=!0,{...d,comparisonType:"none",targetValue:void 0}):r.has(f)&&!o?(l=!0,{...d,comparisonType:"none"}):d:(l=!0,{...d,comparisonType:"none"})});return l?{...e,metricColumns:u}:e}const Ra="__DRILL_CONTEXT__";function li(){return{breadcrumbs:[],hierarchyId:void 0,appliedClickFilters:[]}}const $t=aa()(Az(e=>({interactionStates:{},replacedCards:{},pendingDrillThrough:null,setInteractionState:(t,n)=>{e(r=>({interactionStates:{...r.interactionStates,[t]:n}}))},resetInteractionState:t=>{e(n=>({interactionStates:{...n.interactionStates,[t]:li()}}))},toggleClickFilter:(t,n)=>{e(r=>{const s=r.interactionStates[t]??li(),o=s.appliedClickFilters??[],i=o.some(l=>ai(l,n)),a=i?o.filter(l=>!ai(l,n)):[...o,n];return i&&a.filter(u=>u.sourceCardId===n.sourceCardId).length===0&&$c.getState().clearBlurForCard(n.sourceCardId),{interactionStates:{...r.interactionStates,[t]:{...s,appliedClickFilters:a}}}})},removeClickFiltersByValue:(t,n,r)=>{e(s=>{const o=s.interactionStates[t]??li(),i=o.appliedClickFilters??[],a=i.filter(d=>d.filterGroups.some(f=>f.filters.some(h=>{const m=h.field.label,p=h.field.name;return(m===n||p===n)&&h.value===r}))),l=new Set,u=i.filter(d=>{const f=a.some(h=>ai(d,h));return f&&l.add(d.sourceCardId),!f});return l.forEach(d=>{const f=s.interactionStates[d],m=((f==null?void 0:f.appliedClickFilters)??[]).filter(g=>!a.some(b=>ai(g,b)));let p=!1;Object.entries(s.interactionStates).forEach(([g,b])=>{g===d?m.length>0&&(p=!0):((b==null?void 0:b.appliedClickFilters)??[]).some(v=>v.sourceCardId===d)&&(p=!0)}),p||$c.getState().clearBlurForCard(d),s.interactionStates[d]={...f,appliedClickFilters:m}}),{interactionStates:{...s.interactionStates,[t]:{...o,appliedClickFilters:u}}}})},applyInteractionEvent:(t,n,r=!1)=>{e(s=>{var a;const o=s.interactionStates[t]??li(),i=r?li():o;if(n.interactionMode==="clickFilter"){const l=r?[n]:[...i.appliedClickFilters??[],n];return{interactionStates:{...s.interactionStates,[t]:{...i,appliedClickFilters:l}}}}if(n.interactionMode==="drillDown"||n.interactionMode==="dynamicDrill"){if(!((a=n.filterGroups)!=null&&a.length))return s;const l={sourceFilterGroups:n.filterGroups,toField:n.toField,granularity:n.granularity,timeComparison:n.timeComparison,metric:n.metric};return{interactionStates:{...s.interactionStates,[t]:{...o,hierarchyId:n.interactionMode==="drillDown"?n.hierarchyId:o.hierarchyId,breadcrumbs:[...o.breadcrumbs??[],l]}}}}return n.interactionMode==="drillToDetail"||n.interactionMode==="drillThrough"||n.interactionMode==="drillToURL"||n.interactionMode==="inlineDrill"?{interactionStates:{...s.interactionStates,[t]:{...o,lastInteractionEvent:n}}}:s})},popInteractionStep:t=>{e(n=>{var o;const r=n.interactionStates[t];if(!((o=r==null?void 0:r.breadcrumbs)!=null&&o.length))return n;const s=r.breadcrumbs.slice(0,-1);return{interactionStates:{...n.interactionStates,[t]:{...r,breadcrumbs:s,hierarchyId:s.length===0?void 0:r.hierarchyId}}}})},clearLastInteractionEvent:t=>{e(n=>{const r=n.interactionStates[t];return!r||!r.lastInteractionEvent?n:{interactionStates:{...n.interactionStates,[t]:{...r,lastInteractionEvent:void 0}}}})},replaceCardWithInsight:(t,n,r,s)=>{e(o=>({replacedCards:{...o.replacedCards,[t]:{insightId:n,filters:r,contextMode:s}}}))},restoreCard:t=>{e(n=>{const{[t]:r,...s}=n.replacedCards;return{replacedCards:s}})},clearAllClickFilters:()=>{e(t=>{const n={...t.interactionStates};for(const r in n)r!==Ra&&(n[r]={...n[r],appliedClickFilters:[]});return $c.getState().clearAllBlur(),{interactionStates:n}})},setPendingDrillThrough:t=>{e({pendingDrillThrough:t})},clearPendingDrillThrough:()=>{e({pendingDrillThrough:null})},resetAllInteractionStates:()=>{$c.getState().clearAllBlur(),e({interactionStates:{},replacedCards:{},pendingDrillThrough:null})}}),{name:"interaction-store"}));Ka.subscribe("dashboard:load",()=>{$t.getState().resetAllInteractionStates()});Ka.subscribe("dashboard:unload",()=>{$t.getState().resetAllInteractionStates()});function zz(e,t){return Object.entries(t).filter(([r])=>r!==Ra).flatMap(([,r])=>(r==null?void 0:r.appliedClickFilters)??[]).filter(r=>{var s,o;return r.sourceCardId===e&&!r.filterSourceCard?!1:(s=r.applyToCardIds)!=null&&s.length?r.applyToCardIds.includes(e):(o=r.excludeCardIds)!=null&&o.length?!r.excludeCardIds.includes(e):!0})}const Bz=e=>$t(Ex(t=>zz(e,t.interactionStates)));function _x(e,t,n){var p,g;const r=e.id,s=(p=e.config)==null?void 0:p.filters,o=zz(r,t),i=t[Ra],u=[...n&&(i==null?void 0:i.targetDashboardId)===n&&(i==null?void 0:i.contextMode)!=="none"?(i==null?void 0:i.appliedClickFilters)||[]:[],...o],d=Mse(u),h=(((g=t[r])==null?void 0:g.breadcrumbs)??[]).map((b,x)=>({id:`breadcrumb-${x}`,logicalOperator:"OR",negate:!1,conditions:[],groups:b.sourceFilterGroups.map((y,v)=>({id:`breadcrumb-${x}-group-${v}`,logicalOperator:"AND",negate:!1,conditions:y.filters.map(C=>({id:`${C.field.id}-${C.value}`,field:C.field,operator:"=",value:C.value})),groups:[]}))})),m=h.length>0?{id:`${r}-drill-root`,logicalOperator:"AND",negate:!1,conditions:[],groups:h}:void 0;return Dse([s,d,m])}function Use(e,t){return e.name===t.name&&e.qualifiedEntityName===t.qualifiedEntityName}function Vz(e,t,n){var u,d,f,h;const r=t[e.id],s=(u=r==null?void 0:r.breadcrumbs)==null?void 0:u.slice(-1)[0],o=s!=null&&s.toField?[s.toField]:(d=e.config)==null?void 0:d.groupByColumns,i=s!=null&&s.toField&&((f=e.config)!=null&&f.sortByColumns)?e.config.sortByColumns.map(m=>{var g,b;const p=(b=(g=e.config)==null?void 0:g.groupByColumns)==null?void 0:b[0];return p&&Use(m,p)?{...s.toField,role:"sortby",direction:m.direction}:m}):(h=e.config)==null?void 0:h.sortByColumns,a=n??_x(e,t),l={...e.config,groupByColumns:o,sortByColumns:i,filters:a};return Hse(l,e.type)}function LT(e){const t=$t(s=>s.interactionStates),n=Q(s=>{var o;return(o=s.dashboard)==null?void 0:o.id}),r=_x(e,t,n);return Vz(e,t,r)}function Hz(e,t,n){const r=n??_x(e,t);return Ise(r)}function Wse(e){const t=$t(o=>o.interactionStates),n=Q(o=>{var i;return(i=o.dashboard)==null?void 0:i.id}),r=_x(e,t,n);return Hz(e,t,r)}var El=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function hf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Uz(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}),n}var Wz={},qz={},zT={exports:{}},Pt=String,Yz=function(){return{isColorSupported:!1,reset:Pt,bold:Pt,dim:Pt,italic:Pt,underline:Pt,inverse:Pt,hidden:Pt,strikethrough:Pt,black:Pt,red:Pt,green:Pt,yellow:Pt,blue:Pt,magenta:Pt,cyan:Pt,white:Pt,gray:Pt,bgBlack:Pt,bgRed:Pt,bgGreen:Pt,bgYellow:Pt,bgBlue:Pt,bgMagenta:Pt,bgCyan:Pt,bgWhite:Pt,blackBright:Pt,redBright:Pt,greenBright:Pt,yellowBright:Pt,blueBright:Pt,magentaBright:Pt,cyanBright:Pt,whiteBright:Pt,bgBlackBright:Pt,bgRedBright:Pt,bgGreenBright:Pt,bgYellowBright:Pt,bgBlueBright:Pt,bgMagentaBright:Pt,bgCyanBright:Pt,bgWhiteBright:Pt}};zT.exports=Yz();zT.exports.createColors=Yz;var qse=zT.exports;(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,u){for(var d in u)Object.defineProperty(l,d,{enumerable:!0,get:u[d]})}t(e,{dim:function(){return i},default:function(){return a}});const n=r(qse);function r(l){return l&&l.__esModule?l:{default:l}}let s=new Set;function o(l,u,d){typeof process<"u"&&process.env.JEST_WORKER_ID||d&&s.has(d)||(d&&s.add(d),console.warn(""),u.forEach(f=>console.warn(l,"-",f)))}function i(l){return n.default.dim(l)}const a={info(l,u){o(n.default.bold(n.default.cyan("info")),...Array.isArray(l)?[l]:[u,l])},warn(l,u){o(n.default.bold(n.default.yellow("warn")),...Array.isArray(l)?[l]:[u,l])},risk(l,u){o(n.default.bold(n.default.magenta("risk")),...Array.isArray(l)?[l]:[u,l])}}})(qz);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});const t=n(qz);function n(o){return o&&o.__esModule?o:{default:o}}function r({version:o,from:i,to:a}){t.default.warn(`${i}-color-renamed`,[`As of Tailwind CSS ${o}, \`${i}\` has been renamed to \`${a}\`.`,"Update your configuration file to silence this warning."])}const s={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 r({version:"v2.2",from:"lightBlue",to:"sky"}),this.sky},get warmGray(){return r({version:"v3.0",from:"warmGray",to:"stone"}),this.stone},get trueGray(){return r({version:"v3.0",from:"trueGray",to:"neutral"}),this.neutral},get coolGray(){return r({version:"v3.0",from:"coolGray",to:"gray"}),this.gray},get blueGray(){return r({version:"v3.0",from:"blueGray",to:"slate"}),this.slate}}})(Wz);let BN=Wz;var Yse=(BN.__esModule?BN:{default:BN}).default;const Ln=hf(Yse),BT=!1,Dk=["table","view","materialized view"],VT=`import pandas as pd
|
|
7
7
|
df = pd.DataFrame(data) # 'data' contains the query result
|
|
8
8
|
result = df.to_dict('records') # must return 'result' as [dict] type
|
|
9
|
-
`,HT=["_forecast"],ew="dm",Gz="semaphor_calculated_fields",sm="calculated_fields",Gse=[{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"}],UT=["lg","md","sm","xs","xxs"],tw={default:{dashboardPanel:"",dashboardTabsContainer:"",gridLayout:{className:""},chart:{font:{family:"Open Sans, Arial, sans-serif"},dataset:{backgroundColor:[Ln.teal[500],Ln.teal[300],Ln.gray[700],Ln.gray[500],Ln.gray[300]],borderColor:[Ln.teal[500],Ln.teal[300],Ln.gray[700],Ln.gray[500],Ln.gray[300]]},options:{interaction:{mode:"index"},plugins:{datalabels:{display:!1,color:Ik},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:Ik},backgroundColor:[Ln.teal[500],Ln.teal[300],Ln.gray[700],Ln.gray[500],Ln.gray[300]],borderColor:[Ln.teal[500],Ln.teal[300],Ln.gray[700],Ln.gray[500],Ln.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:Ln.slate[800]}},y:{grid:{display:!0,color:Ln.slate[800]}}}}}}};function Ik(e){var r,s,o,i,a,l;const t=(a=(i=(o=(s=(r=e==null?void 0:e.chart)==null?void 0:r.config)==null?void 0:s._config)==null?void 0:o.options)==null?void 0:i.plugins)==null?void 0:a.datalabels;let n=(l=e==null?void 0:e.dataset)==null?void 0:l.backgroundColor;return(t==null?void 0:t.align)==="end"&&(t==null?void 0:t.anchor)==="end"&&(n=Wi()),(t==null?void 0:t.align)==="start"&&(t==null?void 0:t.anchor)==="start"&&(n=Wi()),wo(n)}function Wi(){return Q.getState().theme==="dark"?"#000000":"#FFFFFF"}function wo(e){let t=0,n=0,r=0,s=0;const o=d=>{if(!d)return Ln.gray[500];const f=d.replace("#",""),h=parseInt(f.substring(0,2),16),m=parseInt(f.substring(2,4),16),p=parseInt(f.substring(4,6),16);t+=h,n+=m,r+=p,s++};Array.isArray(e)?e.forEach(d=>{o(d)}):o(e);const i=t/s,a=n/s,l=r/s;return(i*299+a*587+l*114)/1e3>=180?"black":"white"}function Kse({capabilities:e,database:t,schema:n,table:r}){const s=e.prefixLevels,o=[];for(const i of s)i==="database"&&t&&o.push(t),i==="schema"&&n&&o.push(n),i==="table"&&o.push(r);return o.join(".")}const Zse=["text","nullable(string)","name","enum","varchar","nvarchar","nvarchar2","char","character","longtext","nchar","char varying","nchar varying","character varying","string"],Xse=["real","number","integer","int","int64","bigint","smallint","tinyint","byteint","numeric","decimal","dec","double","real","double precision","float","float4","float8","float64"],Qse=["date","datetime","time","timestamp","timestamp without time zone","timestamp_ns"],Jse=["boolean"];function mb(e){return e.startsWith('"')&&e.endsWith('"')?e:e.match(/[A-Z]/)?`"${e}"`:e}function Tx(e){return Zse.includes(e.toLowerCase())||/varchar/i.test(e)}function Zi(e){return Xse.includes(e.toLowerCase())||/int|decimal|float|double/i.test(e)}function Xi(e){return Qse.includes(e.toLowerCase())||/date|time|timestamp/i.test(e)}function WT(e){return Jse.includes(e.toLowerCase())||/boolean/i.test(e)}function qT(e,t,n,r,s,o,i){const{measures:a,dimensions:l}=e,u=a==null?void 0:a.map(p=>`${p.calc}(${p.name}) as ${p.calc}_${p.name.replace(/"/g,"")}`).join(", "),d=(l==null?void 0:l.join(", "))||"";let f="";const m=(r?`${ew}.${r}`:i||GT({schemaName:t,tableName:n,databaseName:s,capabilities:o})).split(".").map(p=>mb(p)).join(".");if(u&&d)return f=`SELECT ${d}, COUNT(*) as count, ${u} FROM ${m} GROUP BY ${d} ORDER BY ${d} DESC LIMIT 100`,f;if(!u&&d)return f=`SELECT ${d}, COUNT(*) as count FROM ${m} GROUP BY ${d} ORDER BY ${d} DESC LIMIT 100`,f;if(u&&!d)return f=`SELECT ${u} FROM ${m} LIMIT 100`,f}function YT(e,t,n="AVG"){var o,i,a,l;let r={};const s=mb(e.column_name);return Tx(e.data_type)&&(((o=t.dimensions)==null?void 0:o.includes(s))?r={...t,dimensions:(i=t.dimensions)==null?void 0:i.filter(d=>d!==s)}:r={...t,dimensions:[...t.dimensions||[],s]}),Zi(e.data_type)&&(((a=t.measures)==null?void 0:a.some(d=>d.name===s&&d.calc===n))?r={...t,measures:(l=t.measures)==null?void 0:l.filter(d=>!(d.name===s&&d.calc===n))}:r={...t,measures:[...t.measures||[],{name:s,calc:n||"SUM"}]}),r}function Vi(e){return Tx(e.dataType)?"string":Zi(e.dataType)?"number":Xi(e.dataType)?"date":WT(e.dataType)?"boolean":"string"}function eoe(e){let t;const n=e.data_type.toLowerCase();return Tx(n)?t="T":Zi(n)?t="#":Xi(n)?t="D":WT(n)?t="B":t="?",t}function toe(e,t){const{dimensions:n,measures:r}=t,s=n==null?void 0:n.includes(e.column_name),o=r==null?void 0:r.some(i=>i.name===e.column_name);return s||o}function Kz(e){return e?e!=null&&e.startsWith(`${ew}.`)?e:`${ew}.${e}`:""}function noe({schemaName:e,tableName:t,databaseName:n,connectionType:r}){return r==="S3"||r==="API"?t:r==="S3Tables"?`${n}.${e}.${t}`:e?`${e}.${t}`:t}function nw({schemaName:e,tableName:t,modelName:n,databaseName:r,capabilities:s,connectionType:o}){let i;s?i=GT({schemaName:e,tableName:t,databaseName:r,capabilities:s}):i=noe({schemaName:e,tableName:t,databaseName:r,connectionType:o}),n&&(i=Kz(n));let a=i;return(u=>/[A-Z]/.test(u))(t)&&(a=a.split(".").map(d=>`"${d}"`).join(".")),a}function GT({schemaName:e,tableName:t,databaseName:n,capabilities:r}){return Kse({capabilities:r,database:n,schema:e||void 0,table:t})}const roe=e=>{const t=new Date(e);return!isNaN(t.getTime())},soe=e=>!isNaN(Number(e))&&!isNaN(parseFloat(e)),KT=e=>{let t;return typeof e=="number"?t="number":typeof e=="string"?roe(e)?t="date":soe(e)?t="number":t="string":typeof e=="boolean"?t="boolean":e instanceof Date?t="date":t="unknown",t};function ooe({get:e,dataPoint:t,card:n}){var h;const{addOrUpdateFilterValue:r,addFilteringCard:s,removeFilterValues:o,replaceFilterValue:i,removeFilteringCard:a}=e().actions,l=e().filteringCards,{columnName:u,columnValue:d}=t,f={filterId:n.id,connectionId:n==null?void 0:n.connectionId,tableName:n.lastSelectedTable,name:u,expression:(h=n.preferences)==null?void 0:h.filterOnClickField,valueType:KT(d),operation:"=",values:[d]};if(l!=null&&l.find(m=>m.id===n.id)){const m=n.id;if(d==null){a(n),o(m);return}else i(f)}s(n),r(f)}function ZP({id:e,layouts:t,initialHeight:n,y:r,x:s,w:o,minH:i}){const a={i:e,x:s??0,y:r??1/0,w:o||20,h:n||35,minW:6,minH:i||10},l=t?{...t}:{};return UT.forEach(u=>{l[u]||(l[u]=[]);const d=l[u].reduce((f,h)=>Math.max(f,h.y+h.h),0);a.y=a.y===1/0?d:a.y,l[u].push({...a})}),l}function XP(e,t){if(!t)return;const n={...t};return UT.forEach(r=>{n[r]&&(n[r]=n[r].filter(s=>s.i!==e))}),n}function J1(e){const t=Q.getState().dashboard.globalCacheConfig,{card:n,filter:r}=e;return t}const ioe=["new","edit","delete","create","update","remove"];function QP(e,t,n){if(n&&t===n)return!0;const r=e.sheets||[];for(const s of r){const o=s.frames||[];for(const i of o){const a=i.cards||[];for(const l of a)if(l.id===t)return!1}}return!0}function aoe(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)?ioe.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 loe(e,t){const n=e.sheets||[];for(const r of n){const s=r.frames||[];for(const o of s){const a=(o.cards||[]).find(l=>l.id===t);if(a)return a}}}function Zz(e,t){const n=nt.toDate(e);return isNaN(t)?nt.constructFrom(e,NaN):(t&&n.setDate(n.getDate()+t),n)}function ZT(e,t){const n=nt.toDate(e);if(isNaN(t))return nt.constructFrom(e,NaN);if(!t)return n;const r=n.getDate(),s=nt.constructFrom(e,n.getTime());s.setMonth(n.getMonth()+t+1,0);const o=s.getDate();return r>=o?s:(n.setFullYear(s.getFullYear(),s.getMonth(),r),n)}function coe(e,t){const n=+nt.toDate(e);return nt.constructFrom(e,n+t)}function ph(e,t){return coe(e,t*nt.millisecondsInHour)}function uoe(e,t){const n=t*3;return ZT(e,n)}function doe(e,t){const n=t*7;return Zz(e,n)}function foe(e,t){return ZT(e,t*12)}function hoe(e){return nt.toDate(e).getMonth()}function moe(e){return nt.toDate(e).getFullYear()}function poe(e,t){return Zz(e,-t)}function rw(e,t){const r=yoe(e);let s;if(r.date){const l=voe(r.date,2);s=woe(l.restDateString,l.year)}if(!s||isNaN(s.getTime()))return new Date(NaN);const o=s.getTime();let i=0,a;if(r.time&&(i=Coe(r.time),isNaN(i)))return new Date(NaN);if(r.timezone){if(a=Soe(r.timezone),isNaN(a))return new Date(NaN)}else{const l=new Date(o+i),u=new Date(0);return u.setFullYear(l.getUTCFullYear(),l.getUTCMonth(),l.getUTCDate()),u.setHours(l.getUTCHours(),l.getUTCMinutes(),l.getUTCSeconds(),l.getUTCMilliseconds()),u}return new Date(o+i+a)}const Jy={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},goe=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,boe=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,xoe=/^([+-])(\d{2})(?::?(\d{2}))?$/;function yoe(e){const t={},n=e.split(Jy.dateTimeDelimiter);let r;if(n.length>2)return t;if(/:/.test(n[0])?r=n[0]:(t.date=n[0],r=n[1],Jy.timeZoneDelimiter.test(t.date)&&(t.date=e.split(Jy.timeZoneDelimiter)[0],r=e.substr(t.date.length,e.length))),r){const s=Jy.timezone.exec(r);s?(t.time=r.replace(s[1],""),t.timezone=s[1]):t.time=r}return t}function voe(e,t){const n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),r=e.match(n);if(!r)return{year:NaN,restDateString:""};const s=r[1]?parseInt(r[1]):null,o=r[2]?parseInt(r[2]):null;return{year:o===null?s:o*100,restDateString:e.slice((r[1]||r[2]).length)}}function woe(e,t){if(t===null)return new Date(NaN);const n=e.match(goe);if(!n)return new Date(NaN);const r=!!n[4],s=Vp(n[1]),o=Vp(n[2])-1,i=Vp(n[3]),a=Vp(n[4]),l=Vp(n[5])-1;if(r)return _oe(t,a,l)?Noe(t,a,l):new Date(NaN);{const u=new Date(0);return!koe(t,o,i)||!Eoe(t,s)?new Date(NaN):(u.setUTCFullYear(t,o,Math.max(s,i)),u)}}function Vp(e){return e?parseInt(e):1}function Coe(e){const t=e.match(boe);if(!t)return NaN;const n=VN(t[1]),r=VN(t[2]),s=VN(t[3]);return Toe(n,r,s)?n*nt.millisecondsInHour+r*nt.millisecondsInMinute+s*1e3:NaN}function VN(e){return e&&parseFloat(e.replace(",","."))||0}function Soe(e){if(e==="Z")return 0;const t=e.match(xoe);if(!t)return 0;const n=t[1]==="+"?-1:1,r=parseInt(t[2]),s=t[3]&&parseInt(t[3])||0;return Moe(r,s)?n*(r*nt.millisecondsInHour+s*nt.millisecondsInMinute):NaN}function Noe(e,t,n){const r=new Date(0);r.setUTCFullYear(e,0,4);const s=r.getUTCDay()||7,o=(t-1)*7+n+1-s;return r.setUTCDate(r.getUTCDate()+o),r}const joe=[31,null,31,30,31,30,31,31,30,31,30,31];function Xz(e){return e%400===0||e%4===0&&e%100!==0}function koe(e,t,n){return t>=0&&t<=11&&n>=1&&n<=(joe[t]||(Xz(e)?29:28))}function Eoe(e,t){return t>=1&&t<=(Xz(e)?366:365)}function _oe(e,t,n){return t>=1&&t<=53&&n>=0&&n<=6}function Toe(e,t,n){return e===24?t===0&&n===0:n>=0&&n<60&&t>=0&&t<60&&e>=0&&e<25}function Moe(e,t){return t>=0&&t<=59}function Doe(e,t){return ZT(e,-t)}function Ioe(e,t){return uoe(e,-t)}function Roe(e,t){return doe(e,-t)}function Aoe(e,t){return foe(e,-t)}const Lu=(e,t)=>e.toString().padStart(t,"0"),mf=(e,t)=>{const n=nt.formatInTimeZone(e,t,"yyyy-MM-dd"),[r,s,o]=n.split("-").map(i=>Number(i));return{year:r,month:s,day:o}},pf=(e,t)=>{const{year:n,month:r,day:s,hours:o=0,minutes:i=0,seconds:a=0,milliseconds:l=0}=e,u=`${Lu(n,4)}-${Lu(r,2)}-${Lu(s,2)}T${Lu(o,2)}:${Lu(i,2)}:${Lu(a,2)}.${Lu(l,3)}`;return nt.fromZonedTime(u,t)},eC=(e,t)=>new Date(Date.UTC(e,t,0)).getUTCDate(),tC=(e,t)=>{if(t===0)return e;const n=new Date(Date.UTC(e.year,e.month-1,e.day));return n.setUTCDate(n.getUTCDate()+t),{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate()}},Poe=(e,t)=>t===0?e:tC(e,t*7),Qz=(e,t)=>{if(t===0)return e;const n=new Date(Date.UTC(e.year,e.month-1,1));n.setUTCMonth(n.getUTCMonth()+t);const r=n.getUTCFullYear(),s=n.getUTCMonth()+1,o=Math.min(e.day,eC(r,s));return{year:r,month:s,day:o}},Foe=(e,t)=>Qz(e,t*3),Ooe=(e,t)=>{if(t===0)return e;const n=e.year+t,r=Math.min(e.day,eC(n,e.month));return{year:n,month:e.month,day:r}},Jz=e=>Math.floor((e-1)/3)*3+1,ci=(e,t)=>{const n=mf(e,t);return pf(n,t)},zo=(e,t)=>{const n=mf(e,t);return pf({...n,hours:23,minutes:59,seconds:59,milliseconds:999},t)},XT=(e,t,n)=>{const r=mf(e,t);return pf(n(r),t)},QT=(e,t,n)=>{const r=mf(e,t),s=pf(n(r),t);return zo(s,t)},_l=(e,t,n=1)=>{const r=typeof n=="object"?n.weekStart:n,o=(Number(nt.formatInTimeZone(e,t,"i"))-r+7)%7,i=mf(e,t),a=o===0?i:tC(i,-o);return pf(a,t)},Lc=(e,t,n=1)=>{const r=typeof n=="object"?n.weekStart:n,s=_l(e,t,r),o=mf(s,t),i=tC(o,6),a=pf(i,t);return zo(a,t)},$i=(e,t)=>XT(e,t,n=>({year:n.year,month:n.month,day:1})),Li=(e,t)=>QT(e,t,n=>({year:n.year,month:n.month,day:eC(n.year,n.month)})),zc=(e,t)=>XT(e,t,n=>({year:n.year,month:Jz(n.month),day:1})),Bc=(e,t)=>QT(e,t,n=>{const s=Jz(n.month)+2;return{year:n.year,month:s,day:eC(n.year,s)}}),ld=(e,t)=>XT(e,t,n=>({year:n.year,month:1,day:1})),cd=(e,t)=>QT(e,t,n=>({year:n.year,month:12,day:31})),Mx=(e,t,n,r)=>{if(r===0)return ci(e,t);const s=mf(e,t);let o=s;switch(n){case"day":o=tC(s,r);break;case"week":o=Poe(s,r);break;case"month":o=Qz(s,r);break;case"quarter":o=Foe(s,r);break;case"year":o=Ooe(s,r);break}return pf(o,t)},ka=(e,t,n)=>Mx(e,t,"day",n),Ea=(e,t,n)=>Mx(e,t,"week",n),js=(e,t,n)=>Mx(e,t,"month",n),_a=(e,t,n)=>Mx(e,t,"quarter",n),jc=(e,t,n)=>Mx(e,t,"year",n),$oe=e=>e?typeof e=="object"&&"tz"in e?e.tz:e:Intl.DateTimeFormat().resolvedOptions().timeZone;function JT(e,t,n=1){const r=new Date,s=nt.toZonedTime(r,t),o=nt.fromZonedTime(s,t);switch(e.mode){case"last":{const{n:i,unit:a,complete:l}=e;if(l)switch(a){case"day":{const u=ka(r,t,-i),d=ka(r,t,-1);return[ci(u,t),zo(d,t)]}case"week":{const u=Ea(r,t,-i),d=Ea(r,t,-1);return[_l(u,t,n),Lc(d,t,n)]}case"month":{const u=js(r,t,-i),d=js(r,t,-1);return[$i(u,t),Li(d,t)]}case"quarter":{const u=_a(r,t,-i),d=_a(r,t,-1);return[zc(u,t),Bc(d,t)]}case"year":{const u=jc(r,t,-i),d=jc(r,t,-1);return[ld(u,t),cd(d,t)]}}else{let u;switch(a){case"day":u=poe(s,i);break;case"week":u=Roe(s,i);break;case"month":u=Doe(s,i);break;case"quarter":u=Ioe(s,i);break;case"year":u=Aoe(s,i);break}return[nt.fromZonedTime(u,t),o]}break}case"this":{const{unit:i,toDate:a}=e;let l,u;switch(i){case"day":l=ci(r,t),u=zo(r,t);break;case"week":l=_l(r,t,n),u=Lc(r,t,n);break;case"month":l=$i(r,t),u=Li(r,t);break;case"quarter":l=zc(r,t),u=Bc(r,t);break;case"year":l=ld(r,t),u=cd(r,t);break}return a?[l,r]:[l,u]}case"previous":{const{unit:i}=e;switch(i){case"day":{const a=ka(r,t,-1);return[ci(a,t),zo(a,t)]}case"week":{const a=Ea(r,t,-1);return[_l(a,t,n),Lc(a,t,n)]}case"month":{const a=js(r,t,-1);return[$i(a,t),Li(a,t)]}case"quarter":{const a=_a(r,t,-1);return[zc(a,t),Bc(a,t)]}case"year":{const a=jc(r,t,-1);return[ld(a,t),cd(a,t)]}}break}case"between":{const{unit:i,from:a,to:l}=e;switch(i){case"day":{const u=ka(r,t,a),d=ka(r,t,l);return[ci(u,t),zo(d,t)]}case"week":{const u=Ea(r,t,a),d=Ea(r,t,l);return[_l(u,t,n),Lc(d,t,n)]}case"month":{const u=js(r,t,a),d=js(r,t,l);return[$i(u,t),Li(d,t)]}case"quarter":{const u=_a(r,t,a),d=_a(r,t,l);return[zc(u,t),Bc(d,t)]}case"year":{const u=jc(r,t,a),d=jc(r,t,l);return[ld(u,t),cd(d,t)]}}break}}return[ci(r,t),zo(r,t)]}const e8={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 t8(e,t){const n=t||Intl.DateTimeFormat().resolvedOptions().timeZone,r={};for(const s of e.sheets||[])for(const o of s.frames||[])for(const i of o.cards||[]){if(!i.inlineFilters||i.inlineFilters.length===0)continue;const a=[];for(const l of i.inlineFilters){if(Cr(l.dataType)==="date"&&l.defaultDateFilter){const[d,f]=JT(l.defaultDateFilter,n);a.push({filterId:l.id,name:l.column,operation:"between",valueType:"date",values:[d,f],relativeMeta:l.defaultDateFilter,dataType:l.dataType});continue}l.defaultValues&&l.defaultValues.length>0&&a.push({filterId:l.id,name:l.column,operation:l.operation,valueType:Cr(l.dataType),values:l.defaultValues,dataType:l.dataType})}a.length>0&&(r[i.id]=a)}return r}const Q=aa()($m((e,t)=>({relaodToken:0,isSessionExpired:!1,currentBreakpoint:"lg",dashboard:{id:"",style:tw},showContext:!1,selectedSheetId:null,selectedCardId:null,selectedFrameId:null,selectedCard:null,showFilters:!1,isDashboardEditing:!1,isVisualEditing:!1,showDashboardJSON:!1,filteringCards:[],isDashboardPanelOpen:!1,inlineFilterValuesMap:{},drillHistory:[],drillContext:null,actions:{setInitStore:()=>{e(n=>{n.relaodToken=0,n.isSessionExpired=!1,n.currentBreakpoint="lg",n.dashboard={id:"",style:tw},n.showContext=!1,n.selectedSheetId=null,n.selectedCardId=null,n.selectedFrameId=null,n.selectedCard=null,n.showFilters=!1,n.isDashboardEditing=!1,n.isVisualEditing=!1,n.showDashboardJSON=!1,n.filteringCards=[],n.selectedLensId=void 0,n.filterValues=void 0,n.inlineFilterValuesMap={}})},triggerReload:()=>{e(n=>{n.relaodToken=n!=null&&n.relaodToken?n.relaodToken+1:1})},setAiContext:n=>{e(r=>{r.dashboard.aiContext=n})},setHandleOpenAssistantProfile:n=>{e(r=>{r.handleOpenAssistantProfile=n})},setFilterMode:(n,r)=>{const s=r==="exclude"?"not in":"in";e(o=>{var a,l,u;const i=(a=o.dashboard.filters)==null?void 0:a.find(d=>d.id===n);i&&(i.operation=s,o.dashboard.filters=(l=o.dashboard.filters)==null?void 0:l.map(d=>d.id===n?i:d),o.filterValues&&o.filterValues.length>0&&(o.filterValues=(u=o.filterValues)==null?void 0:u.map(d=>d.filterId===n?{...d,operation:s}:d)))})},updateEmailSettings:n=>{e(r=>{r.dashboard.emailSettings=n})},setDefaultFilterValues:n=>{e(r=>{r.dashboard.defaultFilterValues=n})},setIsDownloadingPdf:n=>{e(r=>{r.isDownloadingPdf=n})},setGlobalCacheConfig:n=>{e(r=>{r.dashboard.globalCacheConfig=n})},setLenses:n=>{e(r=>{r.lenses=n})},setSelectedLensId:n=>{e(r=>{r.selectedLensId=n})},deleteSheet:n=>{e(r=>{var o,i,a,l,u,d,f,h;const s=(o=r.dashboard.sheets)==null?void 0:o.findIndex(m=>m.id===n);if(s!==void 0&&s>-1){(i=r.dashboard.sheets)==null||i.splice(s,1);const m=(a=r.dashboard.filters)==null?void 0:a.filter(g=>g.sheetId===n),p=(l=r.filterValues)==null?void 0:l.filter(g=>m==null?void 0:m.some(b=>b.id===g.filterId));if(r.filterValues=(u=r.filterValues)==null?void 0:u.filter(g=>!(p!=null&&p.some(b=>b.filterId===g.filterId))),r.dashboard.filters=(d=r.dashboard.filters)==null?void 0:d.filter(g=>g.sheetId!==n),r.selectedSheetId=(h=(f=r.dashboard.sheets)==null?void 0:f[0])==null?void 0:h.id,r.dashboard.id)try{const g=`semaphor-default-sheet-${r.dashboard.id}`;localStorage.getItem(g)===n&&localStorage.removeItem(g)}catch(g){console.error("Error clearing default sheet preference:",g)}}})},addSheet:n=>{e(r=>{r.dashboard.sheets||(r.dashboard.sheets=[]);const s=r.dashboard.filters;let o={};s==null||s.forEach(a=>{UT.forEach(l=>{o!=null&&o[l]||(o={...o,[l]:[]});const u={i:a.id,x:0,y:0,w:10,h:8};o[l].push(u)})});const i={...n,layouts:o};r.dashboard.sheets.push(i)})},setGlobalStyle:n=>{e(r=>{r.dashboard.globalStyle=n})},setAIScopeTables:n=>{e(r=>{r.dashboard.aiScopeTables=n})},addToAIScope:n=>{e(r=>{const{connectionId:s,connectionType:o,databaseName:i,schemaName:a,tableName:l,datamodelName:u,datamodelId:d}=n,f={connectionId:s||"",connectionType:o||"",databaseName:i||"",schemaName:a||"",tableName:l||"",datamodelName:u||"",datamodelId:d||""};let m=[...r.dashboard.aiScopeTables||[],f];m=m.filter((p,g,b)=>b.findIndex(x=>x.tableName===p.tableName&&x.datamodelName===p.datamodelName)===g),r.dashboard.aiScopeTables=m})},removeFromAIScope:n=>{e(r=>{const{connectionId:s,tableName:o,datamodelName:i}=n,a=r.dashboard.aiScopeTables||[];if(i){const l=a.filter(u=>!(u.datamodelName===i&&u.connectionId===s));r.dashboard.aiScopeTables=l}else if(o){const l=a.filter(u=>!(u.tableName===o&&u.connectionId===s));r.dashboard.aiScopeTables=l}})},setIsSessionExpired:n=>{e(()=>({isSessionExpired:n}))},setCardPython:(n,r)=>{e(s=>{var i,a,l;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(u=>u.id===s.selectedSheetId);o&&((l=o==null?void 0:o.frames)==null||l.forEach(u=>{var f;const d=(f=u.cards)==null?void 0:f.find(h=>h.id===n);d&&(d.python=r)}))})},addBaseQuery:n=>{e(r=>{var s;r.dashboard.baseQueries||(r.dashboard.baseQueries=[]),(s=r.dashboard.baseQueries)==null||s.push(n)})},removeBaseQuery:n=>{e(r=>{var o,i;const s=(o=r.dashboard.baseQueries)==null?void 0:o.findIndex(a=>a.id===n);s!=null&&s>-1&&((i=r.dashboard.baseQueries)==null||i.splice(s,1))})},setBaseQueries:n=>{e(r=>{r.dashboard.baseQueries=n})},setCurrentBreakpoint:n=>{e(()=>({currentBreakpoint:n}))},setFilteringCards:n=>{e(()=>({filteringCards:n}))},addFilteringCard:n=>{e(r=>{var s;(s=r.filteringCards)==null||s.push(n)})},removeFilteringCard:n=>{e(r=>{var o,i;const s=(o=r.filteringCards)==null?void 0:o.findIndex(a=>a.id===n.id);s!==void 0&&s>-1&&((i=r.filteringCards)==null||i.splice(s,1))})},setCustomCards:n=>{e(r=>{r.dashboard.customCards=n})},setAuthToken:n=>{e(()=>({authToken:n}))},setThemeStyle:n=>{e(()=>({themeStyle:n}))},setDashboard:n=>{var i;const r=t().authToken;let s=Intl.DateTimeFormat().resolvedOptions().timeZone;if(r!=null&&r.accessToken)try{const a=G1(r.accessToken);s=((i=a==null?void 0:a.params)==null?void 0:i.timezone)||s}catch{}const o=t8(n,s);e({dashboard:n,inlineFilterValuesMap:o})},setDashboardWithFilterValues:(n,r)=>{e(s=>{s.dashboard=n,s.filterValues=r})},setDashboardTheme:n=>{e(r=>{r.theme=n})},setSheets:n=>{e(r=>{r.dashboard&&(r.dashboard.sheets=n)})},setDashboardTitle:n=>{e(r=>{r.dashboard&&(r.dashboard.title=n)})},setDashboardDescription:n=>{e(r=>{r.dashboard&&(r.dashboard.description=n)})},setSheetTitle:(n,r)=>{e(s=>{var i,a;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(l=>l.id===n);o&&(o.title=r)})},setCardTitle:(n,r,s)=>{e(o=>{var a,l,u;const i=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(d=>d.id===n);i&&((u=i==null?void 0:i.frames)==null||u.forEach(d=>{var h;const f=(h=d.cards)==null?void 0:h.find(m=>m.id===r);f&&(f.title=s)}))})},setCardInfo:(n,r)=>{e(s=>{var i,a,l;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(u=>u.id===s.selectedSheetId);o&&((l=o==null?void 0:o.frames)==null||l.forEach(u=>{var f;const d=(f=u.cards)==null?void 0:f.find(h=>h.id===n);d&&(d.info=r)}))})},setCardDescription:(n,r,s)=>{e(o=>{var a,l,u;const i=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(d=>d.id===n);i&&((u=i==null?void 0:i.frames)==null||u.forEach(d=>{var h;const f=(h=d.cards)==null?void 0:h.find(m=>m.id===r);f&&(f.description=s)}))})},setCardKpiOptions:(n,r,s)=>{e(o=>{var a,l,u;const i=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(d=>d.id===n);i&&((u=i==null?void 0:i.frames)==null||u.forEach(d=>{var h;const f=(h=d.cards)==null?void 0:h.find(m=>m.id===r);f&&(f.preferences||(f.preferences={}),f.preferences.kpiVisualOptions||(f.preferences.kpiVisualOptions={}),f.preferences.kpiVisualOptions={...f.preferences.kpiVisualOptions,...s})}))})},updateCardFilters:(n,r)=>{e(s=>{var i,a;const o=(i=s.dashboard)==null?void 0:i.sheets;if(o)for(const l of o){const u=l.frames||[];for(const d of u){const f=(a=d.cards)==null?void 0:a.find(h=>h.id===n);if(f){f.config||(f.config={}),f.config.filters=r;return}}}})},clearCardFilters:n=>{e(r=>{var o,i;const s=(o=r.dashboard)==null?void 0:o.sheets;if(s)for(const a of s){const l=a.frames||[];for(const u of l){const d=(i=u.cards)==null?void 0:i.find(f=>f.id===n);if(d&&d.config){d.config.filters=void 0;return}}}})},setCardInlineFilterValue:(n,r)=>{e(s=>{s.inlineFilterValuesMap[n]||(s.inlineFilterValuesMap[n]=[]);const o=s.inlineFilterValuesMap[n].findIndex(i=>i.filterId===r.filterId);o>=0?s.inlineFilterValuesMap[n][o]=r:s.inlineFilterValuesMap[n].push(r)})},removeCardInlineFilterValue:(n,r)=>{e(s=>{s.inlineFilterValuesMap[n]&&(s.inlineFilterValuesMap[n]=s.inlineFilterValuesMap[n].filter(o=>o.filterId!==r))})},getCardInlineFilterValues:n=>t().inlineFilterValuesMap[n]||[],clearAllInlineFilterValues:()=>{e(n=>{n.inlineFilterValuesMap={}})},setInlineFilterValuesMap:n=>{e(r=>{r.inlineFilterValuesMap=n})},setCardInlineFilterMode:(n,r,s,o)=>{const i=o==="exclude"?"not in":"in";e(a=>{var u,d,f,h;const l=(d=(u=a.dashboard)==null?void 0:u.sheets)==null?void 0:d.find(m=>m.id===n);if(l)for(const m of l.frames||[]){const p=(f=m.cards)==null?void 0:f.find(g=>g.id===r);if(p&&p.inlineFilters){p.inlineFilters=p.inlineFilters.map(g=>g.id===s?{...g,operation:i}:g),a.inlineFilterValuesMap[r]&&(a.inlineFilterValuesMap[r]=a.inlineFilterValuesMap[r].map(g=>g.filterId===s?{...g,operation:i}:g)),(h=a.onAcceptChanges)==null||h.call(a,m,a.dashboard);return}}})},setCardInlineFilterDefaultValues:(n,r,s,o)=>{e(i=>{var l,u,d,f;const a=(u=(l=i.dashboard)==null?void 0:l.sheets)==null?void 0:u.find(h=>h.id===n);if(a)for(const h of a.frames||[]){const m=(d=h.cards)==null?void 0:d.find(p=>p.id===r);if(m&&m.inlineFilters){m.inlineFilters=m.inlineFilters.map(p=>p.id===s?{...p,defaultValues:o}:p),(f=i.onAcceptChanges)==null||f.call(i,h,i.dashboard);return}}})},setCardSql:(n,r,s)=>{e(o=>{var a,l,u,d;const i=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(f=>f.id===n);if(i){const f=(u=i.cards)==null?void 0:u.find(h=>h.id===r);f&&(f.sql=s,(d=o.onUpdateCard)==null||d.call(o,f,n))}})},setSheetLayout:(n,r)=>{e(s=>{var i,a;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(l=>l.id===n);o&&(o.layout=r)})},setSheetLayouts:(n,r)=>{e(s=>{var i,a;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(l=>l.id===n);o&&(o.layouts=r)})},setShowContext:n=>{e(()=>({showContext:n}))},setShowFilters:n=>{e(()=>({showFilters:n}))},setFilterLayout:n=>{e(r=>{r.dashboard.filterLayout={...r.dashboard.filterLayout,...n}})},setFilterValues:n=>{e(()=>({filterValues:n}))},addOrUpdateFilterValue:n=>{e(r=>{if(r.filterValues){const s=r.filterValues.findIndex(o=>o.filterId===n.filterId);s>-1?r.filterValues.splice(s,1,n):r.filterValues.push(n)}else r.filterValues=[n]})},addOrUpdateFilterValues:n=>{e(r=>{r.filterValues?n.forEach(s=>{var i,a,l,u;const o=(i=r==null?void 0:r.filterValues)==null?void 0:i.findIndex(d=>d.filterId===s.filterId);if(s.values.length===0){r.filterValues=(a=r.filterValues)==null?void 0:a.filter(d=>d.filterId!==s.filterId);return}o!==void 0&&o>-1?(l=r.filterValues)==null||l.splice(o,1,s):(u=r.filterValues)==null||u.push(s)}):r.filterValues=n})},removeFilterValues:n=>{e(r=>{if(r.filterValues){const s=r.filterValues.filter(o=>o.filterId!==n&&!o.filterId.startsWith(n));r.filterValues=s}})},replaceFilterValue:n=>{e(r=>{if(r.filterValues){const s=r.filterValues.findIndex(o=>o.filterId===n.filterId);s>-1&&r.filterValues.splice(s,1,n)}})},addFilter:n=>{e(r=>{var o,i;r.dashboard.filters?(o=r.dashboard.filters)==null||o.push(n):r.dashboard.filters=[n],(i=r.dashboard.sheets)==null||i.find(a=>a.id===r.selectedSheetId);const s=r.dashboard.sheets;s==null||s.forEach(a=>{ZP({id:n.id,layouts:a.layouts,y:0,initialHeight:8,minH:7,w:10})})})},removeFilter:n=>{e(r=>{var s,o,i;if(r.dashboard.filters){const a=(s=r.dashboard.filters)==null?void 0:s.findIndex(l=>l.id===n);if(a>-1){(o=r.dashboard.filters)==null||o.splice(a,1),(i=r.dashboard.sheets)==null||i.find(u=>u.id===r.selectedSheetId);const l=r.dashboard.sheets;l==null||l.forEach(u=>{const d=XP(n,u.layouts);u.layouts=d})}}})},reorderFilters:n=>{e(r=>{if(!r.dashboard.filters)return;const s=new Map(r.dashboard.filters.map(l=>[l.id,l])),o=n.map(l=>s.get(l)).filter(l=>l!==void 0),i=new Set(n),a=r.dashboard.filters.filter(l=>!i.has(l.id));r.dashboard.filters=[...o,...a]})},updateCurrentDashboardCard:n=>{e(r=>{var a,l,u,d,f;const s=(l=(a=r.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(h=>h.id===r.selectedSheetId),o=(u=s==null?void 0:s.frames)==null?void 0:u.find(h=>h.id===r.selectedFrameId),i=(d=o==null?void 0:o.cards)==null?void 0:d.findIndex(h=>h.id===n.id);typeof i=="number"&&i>=0&&((f=o==null?void 0:o.cards)==null||f.splice(i,1,n))})},updateFrameCard:(n,r,s)=>{e(o=>{var l,u,d,f,h;const i=(u=(l=o.dashboard)==null?void 0:l.sheets)==null?void 0:u.find(m=>m.id===n);if(!i)return;const a=(d=i==null?void 0:i.frames)==null?void 0:d.find(m=>m.id===r);if(a){const m=(f=a.cards)==null?void 0:f.findIndex(p=>p.id===s.id);m>-1&&((h=a.cards)==null||h.splice(m,1,s))}})},updateFilter:n=>{e(r=>{var s,o;if(r.dashboard.filters){const i=(s=r.dashboard.filters)==null?void 0:s.findIndex(a=>a.id===n.id);i>-1&&((o=r.dashboard.filters)==null||o.splice(i,1,n))}})},updateFilterId:(n,r)=>{e(s=>{var a,l;const o=(a=s.dashboard.filters)==null?void 0:a.find(u=>u.id===n),i=(l=s.dashboard.filters)==null?void 0:l.some(u=>u.id===r);o&&!i&&(o.id=r)})},setFilterDefaultValues:(n,r)=>{e(s=>{var i;const o=(i=s.dashboard.filters)==null?void 0:i.find(a=>a.id===n);o&&(o.defaultValues=r)})},setIsDashboardEditing:n=>{e(()=>({isDashboardEditing:n}))},setShowDashboardJSON:n=>{e(()=>({showDashboardJSON:n}))},setIsVisualEditing:n=>{e(()=>({isVisualEditing:n}))},addFrame:(n,r,s)=>{e(o=>{var a,l,u,d;const i=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(f=>f.id===n);if(i){i.frames||(i.frames=[]),(u=i.frames)==null||u.push(r);let f=1/0;const h=0;s==="start"&&(f=0);const m=ZP({id:r.id,layouts:i.layouts,minH:10,x:h,y:f});i.layouts=m,(d=o.onAddFrame)==null||d.call(o,r,n)}})},removeFrame:(n,r)=>{e(s=>{var i,a,l,u,d;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(f=>f.id===n);if(o){const f=(l=o.frames)==null?void 0:l.findIndex(h=>h.id===r);console.log(f),typeof f=="number"&&f>-1&&((u=o.frames)==null||u.splice(f,1),(d=o.layout)==null||d.splice(f,1),XP(r,o.layouts))}})},updateFrame:(n,r)=>{e(s=>{var a,l,u;const o=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(d=>d.id===n);if(!(o!=null&&o.frames))return;const i=o.frames.findIndex(d=>d.id===r.id);if(i===-1){console.warn("updateFrame: frame not found",r.id,n);return}o.frames.splice(i,1,r),(u=s.onAcceptChanges)==null||u.call(s,r,s.dashboard)})},updateCard:(n,r)=>{e(s=>{var a,l,u,d,f;const o=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(h=>h.id===n),i=(u=o==null?void 0:o.cards)==null?void 0:u.findIndex(h=>h.id===r.id);o&&((d=o.cards)==null||d.splice(i,1,r),(f=s.onUpdateCard)==null||f.call(s,r,n))})},removeCard:(n,r)=>{e(s=>{var a,l,u,d,f,h;const o=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(m=>m.id===n),i=(u=o==null?void 0:o.cards)==null?void 0:u.findIndex(m=>m.id===r.id);o&&((d=o.cards)==null||d.splice(i,1),(f=o.layout)==null||f.splice(i,1),(h=s.onRemoveCard)==null||h.call(s,r,n))})},setStyle:n=>{e(r=>{r.dashboard&&(r.dashboard.style=n)})},setSelectedCardId:(n,r)=>{e(s=>{var i,a,l;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(u=>u.id===n);o&&(((l=o.cards)==null?void 0:l.find(d=>d.id===r))?s.selectedCardId=r:s.selectedCardId=null)})},setSelectedFrameId:n=>{e(r=>{var o,i;((i=(o=r.dashboard)==null?void 0:o.sheets)==null?void 0:i.find(a=>a.id===r.selectedSheetId))&&(r.selectedFrameId=n)})},clearSelectedFrameId:()=>{e(n=>{n.selectedFrameId=null})},setSelectedSheetId:n=>{e(r=>{var o,i;((i=(o=r.dashboard)==null?void 0:o.sheets)==null?void 0:i.find(a=>a.id===n))&&(r.selectedSheetId=n)})},setOnSaveFunction:n=>{e(()=>({onSaveFunction:n}))},setOnAddCard:n=>{e(()=>({onAddCard:n}))},setOnAcceptChanges:n=>{e(()=>({onAcceptChanges:n}))},setOnUpdateCard:n=>{e(()=>({onUpdateCard:n}))},setOnRemoveCard:n=>{e(()=>({onRemoveCard:n}))},setOnEvent:n=>{e(()=>({onEvent:n}))},getDashboard:()=>t().dashboard,getSelectedSheet:()=>{var n,r;return(r=(n=t().dashboard)==null?void 0:n.sheets)==null?void 0:r.find(s=>s.id===t().selectedSheetId)},getCardFrame:n=>{var s,o;const r=(s=t().dashboard)==null?void 0:s.sheets;if(r)for(let i=0;i<r.length;i++){const a=r[i].frames;if(a){for(let l=0;l<a.length;l++)if((o=a[l].cards)==null?void 0:o.find(d=>d.id===n))return a[l]}}},getSelectedFrame:()=>{var r,s,o;const n=(s=(r=t().dashboard)==null?void 0:r.sheets)==null?void 0:s.find(i=>i.id===t().selectedSheetId);return(o=n==null?void 0:n.frames)==null?void 0:o.find(i=>i.id===t().selectedFrameId)},getCard:n=>{var s,o;const r=(s=t().dashboard)==null?void 0:s.sheets;if(r)for(let i=0;i<r.length;i++){const a=r[i].frames;if(a)for(let l=0;l<a.length;l++){const u=(o=a[l].cards)==null?void 0:o.find(d=>d.id===n);if(u)return u}}},getSelectedSheetLayout:()=>{var r,s;const n=(s=(r=t().dashboard)==null?void 0:r.sheets)==null?void 0:s.find(o=>o.id===t().selectedSheetId);return n==null?void 0:n.layout},getSelectedSheetLayouts:()=>{var r,s;const n=(s=(r=t().dashboard)==null?void 0:r.sheets)==null?void 0:s.find(o=>o.id===t().selectedSheetId);return n==null?void 0:n.layouts},getStyle:()=>{var n;return(n=t().dashboard)==null?void 0:n.style},getCardSheet(n){var s,o;const r=(s=t().dashboard)==null?void 0:s.sheets;if(r)for(let i=0;i<r.length;i++){const a=r[i].frames;if(a){for(let l=0;l<a.length;l++)if((o=a[l].cards)==null?void 0:o.find(d=>d.id===n))return r[i]}}},handleDataPointClickAction:(n,r)=>{ooe({card:n,dataPoint:r,get:t})},setIsDashboardPanelOpen:n=>{e(()=>({isDashboardPanelOpen:n}))},updateCardId:(n,r)=>{const s=t(),o=aoe(r);return o.isValid?QP(s.dashboard,r,n)?(e(i=>{var l;const a=i.dashboard.sheets||[];for(const u of a){const d=u.frames||[];for(const f of d){const h=f.cards||[];for(let m=0;m<h.length;m++)h[m].id===n&&(h[m].id=r);f.activeCardId===n&&(f.activeCardId=r)}}i.selectedCardId===n&&(i.selectedCardId=r),((l=i.selectedCard)==null?void 0:l.id)===n&&(i.selectedCard.id=r)}),{success:!0}):{success:!1,error:"This Card ID already exists in the dashboard"}:{success:!1,error:o.error}},isCardIdUnique:(n,r)=>QP(t().dashboard,n,r),navigateWithDrill:(n,r,s,o,i)=>{e(a=>{a.drillHistory.push({sourceDashboardId:r,targetDashboardId:n,sourceDashboardTitle:s,filters:o,contextMode:i,timestamp:Date.now()}),a.drillContext={filters:o,sourceDashboardId:r,sourceDashboardTitle:s}})},goBackFromDrill:()=>{e(n=>{if(n.drillHistory.pop(),n.drillHistory.length===0)n.drillContext=null,$t.getState().resetInteractionState(Ra);else{const r=n.drillHistory[n.drillHistory.length-1];n.drillContext={filters:r.filters,sourceDashboardId:r.sourceDashboardId,sourceDashboardTitle:r.sourceDashboardTitle};const s={sourceCardId:Ra,interactionMode:"clickFilter",filterGroups:[{filters:r.filters}]};$t.getState().setInteractionState(Ra,{...li(),appliedClickFilters:[s],contextMode:r.contextMode,sourceDashboardId:r.sourceDashboardId,sourceDashboardTitle:r.sourceDashboardTitle,targetDashboardId:r.targetDashboardId})}})},clearDrillContext:()=>{e(n=>{n.drillHistory=[],n.drillContext=null}),$t.getState().resetInteractionState(Ra)}}}))),n8=()=>Q(t=>{var o,i,a,l,u;const n=(i=(o=t.dashboard)==null?void 0:o.sheets)==null?void 0:i.find(d=>d.id===t.selectedSheetId),r=(a=n==null?void 0:n.frames)==null?void 0:a.find(d=>d.id===t.selectedFrameId);return((l=r==null?void 0:r.cards)==null?void 0:l.find(d=>d.id===(r==null?void 0:r.activeCardId)))||((u=r==null?void 0:r.cards)==null?void 0:u[0])}),r8=()=>{var n;const e=Q(r=>{var s,o;return(o=(s=r.dashboard)==null?void 0:s.sheets)==null?void 0:o.find(i=>i.id===r.selectedSheetId)});return(((n=e==null?void 0:e.frames)==null?void 0:n.map(r=>{var s;return(s=r.cards)==null?void 0:s.find(o=>o.id===r.activeCardId)}))||[]).filter(r=>r!==void 0)},s8=()=>{var t,n,r;const e=n8();return{metricFields:((t=e==null?void 0:e.config)==null?void 0:t.metricColumns)||[],groupByFields:((n=e==null?void 0:e.config)==null?void 0:n.groupByColumns)||[],pivotByFields:((r=e==null?void 0:e.config)==null?void 0:r.pivotByColumns)||[]}},Ht=()=>Q(e=>e.actions);Ka.subscribe("dashboard:load",()=>{Q.getState().actions.setInitStore()});Ka.subscribe("dashboard:unload",()=>{Q.getState().actions.setInitStore()});async function Loe(e,t){const n=t.slice(0,16),r=new TextEncoder,s=await window.crypto.subtle.importKey("raw",r.encode(n),{name:"PBKDF2"},!1,["deriveKey"]),o=await window.crypto.subtle.deriveKey({name:"PBKDF2",salt:r.encode(n),iterations:1e5,hash:"SHA-256"},s,{name:"AES-GCM",length:256},!1,["encrypt"]),i=window.crypto.getRandomValues(new Uint8Array(12)),a=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:i},o,r.encode(e)),l=new Uint8Array(i.length+a.byteLength);return l.set(i,0),l.set(new Uint8Array(a),i.length),{payload:btoa(String.fromCharCode(...l))}}async function o8(e,t){const n=t.slice(0,16),r=new TextEncoder,s=new TextDecoder,o=await window.crypto.subtle.importKey("raw",r.encode(n),{name:"PBKDF2"},!1,["deriveKey"]),i=await window.crypto.subtle.deriveKey({name:"PBKDF2",salt:r.encode(n),iterations:1e5,hash:"SHA-256"},o,{name:"AES-GCM",length:256},!1,["decrypt"]),a=Uint8Array.from(atob(e),h=>h.charCodeAt(0)),l=a.slice(0,12),u=a.slice(a.length-16),d=a.slice(12,a.length-16),f=new Uint8Array(d.length+u.length);f.set(d),f.set(u,d.length);try{const h=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:l},i,f);return{decryptedData:s.decode(h)}}catch(h){throw new Error(`Decryption failed: ${h}`)}}function X(...e){return Yre(Vd(e))}const zoe=e=>Object.keys(e).length===0;async function sr(e,t,n={}){try{const r=new URLSearchParams(n).toString(),s=`${e}?${r}`,o=await fetch(s,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`}});if(!o.ok){const a=await o.json();throw new Error((a==null?void 0:a.error)||`HTTP error! status: ${o.status}`)}return await o.json()}catch(r){throw console.error("Error during fetch:",r),r}}async function Boe(e,t,n={}){try{const r=JSON.stringify(n),s=await Loe(r,t),o=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify(s)});if(!o.ok)throw await o.json();const i=await o.json();if(i.payload){const a=await o8(i.payload,t);return JSON.parse(a.decryptedData)}return i}catch(r){throw console.error("Error during fetch:",r),r}}async function Kr(e,t,n={},r="POST"){try{const s=await fetch(e,{method:r,headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify(n)});if(!s.ok)throw await s.json();return await s.json()}catch(s){throw console.error("Error during fetch:",s),s}}const Voe=typeof window<"u"&&window.isSecureContext,i8=Voe?Boe:Kr;function Hoe(e){if(!e)return;const t=G1(e);if(t.params&&t.params.currencyFormat)return t.params.currencyFormat}function eM(e){return e?G1(e).params:void 0}function pb(e){return e.charAt(0).toUpperCase()+e.slice(1)}function bi(e){return e.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase())}function gb(e){return e.replace(/[_-]+/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase())}const ds="focus:ring-1 focus:ring-offset-0 focus-visible:ring-1 focus-visible:ring-offset-0",kc="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 Uoe(e){var o,i;const t=(i=(o=Q.getState())==null?void 0:o.authToken)==null?void 0:i.accessToken;if(!t)return;const n=`${e}/v1/invalidate-token`,r=await fetch(n,{method:"POST",headers:{Authorization:`Bearer ${t}`}});if(!r.ok)throw new Error("Failed to invalidate token");const s=await r.json();return console.log("invalidateToken",s),s}async function Woe(e,t,n={}){if(!t)return null;let r=`${e}/v1/dashboard`;const s=Object.fromEntries(Object.entries(n).filter(([l,u])=>u!==void 0)),o=new URLSearchParams(s).toString();o&&(r+=`?${o}`);let a=await(await fetch(r,{headers:{Authorization:`Bearer ${t}`}})).json();if("payload"in a){const l=await o8(atob(a.payload),t);a=JSON.parse(l.decryptedData)}return a}async function qoe(e,t){if(!t)return null;const n=`${e}/v1/plugins`;return await(await fetch(n,{headers:{Authorization:`Bearer ${t}`}})).json()}const Cr=e=>/boolean/i.test(e)?"boolean":/date|timestamp/i.test(e)?"date":/int|decimal|float|double|num|real/i.test(e)?"number":/json/i.test(e)?"json":/geo|geography|geometry/i.test(e)?"geo":"string";var sw={exports:{}};sw.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",s=800,o=16,i=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",f="[object Date]",h="[object Error]",m="[object Function]",p="[object GeneratorFunction]",g="[object Map]",b="[object Number]",x="[object Null]",y="[object Object]",v="[object Proxy]",C="[object RegExp]",N="[object Set]",S="[object String]",j="[object Undefined]",k="[object WeakMap]",_="[object ArrayBuffer]",E="[object DataView]",M="[object Float32Array]",T="[object Float64Array]",P="[object Int8Array]",F="[object Int16Array]",A="[object Int32Array]",$="[object Uint8Array]",q="[object Uint8ClampedArray]",W="[object Uint16Array]",z="[object Uint32Array]",I=/[\\^$.*+?()[\]{}|]/g,L=/^\[object .+?Constructor\]$/,O=/^(?:0|[1-9]\d*)$/,R={};R[M]=R[T]=R[P]=R[F]=R[A]=R[$]=R[q]=R[W]=R[z]=!0,R[a]=R[l]=R[_]=R[d]=R[E]=R[f]=R[h]=R[m]=R[g]=R[b]=R[y]=R[C]=R[N]=R[S]=R[k]=!1;var H=typeof El=="object"&&El&&El.Object===Object&&El,V=typeof self=="object"&&self&&self.Object===Object&&self,Y=H||V||Function("return this")(),U=t&&!t.nodeType&&t,B=U&&!0&&e&&!e.nodeType&&e,G=B&&B.exports===U,Z=G&&H.process,J=function(){try{var te=B&&B.require&&B.require("util").types;return te||Z&&Z.binding&&Z.binding("util")}catch{}}(),K=J&&J.isTypedArray;function ee(te,pe,ve){switch(ve.length){case 0:return te.call(pe);case 1:return te.call(pe,ve[0]);case 2:return te.call(pe,ve[0],ve[1]);case 3:return te.call(pe,ve[0],ve[1],ve[2])}return te.apply(pe,ve)}function se(te,pe){for(var ve=-1,rt=Array(te);++ve<te;)rt[ve]=pe(ve);return rt}function ce(te){return function(pe){return te(pe)}}function he(te,pe){return te==null?void 0:te[pe]}function Se(te,pe){return function(ve){return te(pe(ve))}}var be=Array.prototype,Te=Function.prototype,ae=Object.prototype,ie=Y["__core-js_shared__"],xe=Te.toString,de=ae.hasOwnProperty,Ce=function(){var te=/[^.]+$/.exec(ie&&ie.keys&&ie.keys.IE_PROTO||"");return te?"Symbol(src)_1."+te:""}(),ge=ae.toString,re=xe.call(Object),me=RegExp("^"+xe.call(de).replace(I,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Oe=G?Y.Buffer:void 0,Pe=Y.Symbol,Ie=Y.Uint8Array;Oe&&Oe.allocUnsafe;var He=Se(Object.getPrototypeOf,Object),Je=Object.create,at=ae.propertyIsEnumerable,gt=be.splice,bt=Pe?Pe.toStringTag:void 0,ft=function(){try{var te=_N(Object,"defineProperty");return te({},"",{}),te}catch{}}(),Ut=Oe?Oe.isBuffer:void 0,Ue=Math.max,Et=Date.now,le=_N(Y,"Map"),Re=_N(Object,"create"),_e=function(){function te(){}return function(pe){if(!$u(pe))return{};if(Je)return Je(pe);te.prototype=pe;var ve=new te;return te.prototype=void 0,ve}}();function De(te){var pe=-1,ve=te==null?0:te.length;for(this.clear();++pe<ve;){var rt=te[pe];this.set(rt[0],rt[1])}}function We(){this.__data__=Re?Re(null):{},this.size=0}function ke(te){var pe=this.has(te)&&delete this.__data__[te];return this.size-=pe?1:0,pe}function ye(te){var pe=this.__data__;if(Re){var ve=pe[te];return ve===r?void 0:ve}return de.call(pe,te)?pe[te]:void 0}function Ae(te){var pe=this.__data__;return Re?pe[te]!==void 0:de.call(pe,te)}function Ke(te,pe){var ve=this.__data__;return this.size+=this.has(te)?0:1,ve[te]=Re&&pe===void 0?r:pe,this}De.prototype.clear=We,De.prototype.delete=ke,De.prototype.get=ye,De.prototype.has=Ae,De.prototype.set=Ke;function et(te){var pe=-1,ve=te==null?0:te.length;for(this.clear();++pe<ve;){var rt=te[pe];this.set(rt[0],rt[1])}}function ue(){this.__data__=[],this.size=0}function ze(te){var pe=this.__data__,ve=ut(pe,te);if(ve<0)return!1;var rt=pe.length-1;return ve==rt?pe.pop():gt.call(pe,ve,1),--this.size,!0}function Qe(te){var pe=this.__data__,ve=ut(pe,te);return ve<0?void 0:pe[ve][1]}function jt(te){return ut(this.__data__,te)>-1}function mn(te,pe){var ve=this.__data__,rt=ut(ve,te);return rt<0?(++this.size,ve.push([te,pe])):ve[rt][1]=pe,this}et.prototype.clear=ue,et.prototype.delete=ze,et.prototype.get=Qe,et.prototype.has=jt,et.prototype.set=mn;function fr(te){var pe=-1,ve=te==null?0:te.length;for(this.clear();++pe<ve;){var rt=te[pe];this.set(rt[0],rt[1])}}function Wr(){this.size=0,this.__data__={hash:new De,map:new(le||et),string:new De}}function jo(te){var pe=Yy(this,te).delete(te);return this.size-=pe?1:0,pe}function ol(te){return Yy(this,te).get(te)}function Op(te){return Yy(this,te).has(te)}function Wy(te,pe){var ve=Yy(this,te),rt=ve.size;return ve.set(te,pe),this.size+=ve.size==rt?0:1,this}fr.prototype.clear=Wr,fr.prototype.delete=jo,fr.prototype.get=ol,fr.prototype.has=Op,fr.prototype.set=Wy;function hc(te){var pe=this.__data__=new et(te);this.size=pe.size}function CN(){this.__data__=new et,this.size=0}function SN(te){var pe=this.__data__,ve=pe.delete(te);return this.size=pe.size,ve}function NN(te){return this.__data__.get(te)}function qy(te){return this.__data__.has(te)}function jN(te,pe){var ve=this.__data__;if(ve instanceof et){var rt=ve.__data__;if(!le||rt.length<n-1)return rt.push([te,pe]),this.size=++ve.size,this;ve=this.__data__=new fr(rt)}return ve.set(te,pe),this.size=ve.size,this}hc.prototype.clear=CN,hc.prototype.delete=SN,hc.prototype.get=NN,hc.prototype.has=qy,hc.prototype.set=jN;function kN(te,pe){var ve=DN(te),rt=!ve&&MN(te),an=!ve&&!rt&&kP(te),$n=!ve&&!rt&&!an&&_P(te),nr=ve||rt||an||$n,xn=nr?se(te.length,String):[],rr=xn.length;for(var Mi in te)nr&&(Mi=="length"||an&&(Mi=="offset"||Mi=="parent")||$n&&(Mi=="buffer"||Mi=="byteLength"||Mi=="byteOffset")||NP(Mi,rr))||xn.push(Mi);return xn}function Uf(te,pe,ve){(ve!==void 0&&!Gy(te[pe],ve)||ve===void 0&&!(pe in te))&&Rt(te,pe,ve)}function je(te,pe,ve){var rt=te[pe];(!(de.call(te,pe)&&Gy(rt,ve))||ve===void 0&&!(pe in te))&&Rt(te,pe,ve)}function ut(te,pe){for(var ve=te.length;ve--;)if(Gy(te[ve][0],pe))return ve;return-1}function Rt(te,pe,ve){pe=="__proto__"&&ft?ft(te,pe,{configurable:!0,enumerable:!0,value:ve,writable:!0}):te[pe]=ve}var Sn=Gne();function en(te){return te==null?te===void 0?j:x:bt&&bt in Object(te)?Kne(te):tre(te)}function Gn(te){return $p(te)&&en(te)==a}function kr(te){if(!$u(te)||Jne(te))return!1;var pe=RN(te)?me:L;return pe.test(ore(te))}function _i(te){return $p(te)&&EP(te.length)&&!!R[en(te)]}function ko(te){if(!$u(te))return ere(te);var pe=jP(te),ve=[];for(var rt in te)rt=="constructor"&&(pe||!de.call(te,rt))||ve.push(rt);return ve}function mc(te,pe,ve,rt,an){te!==pe&&Sn(pe,function($n,nr){if(an||(an=new hc),$u($n))tr(te,pe,nr,ve,mc,rt,an);else{var xn=rt?rt(TN(te,nr),$n,nr+"",te,pe,an):void 0;xn===void 0&&(xn=$n),Uf(te,nr,xn)}},TP)}function tr(te,pe,ve,rt,an,$n,nr){var xn=TN(te,ve),rr=TN(pe,ve),Mi=nr.get(rr);if(Mi){Uf(te,ve,Mi);return}var Eo=$n?$n(xn,rr,ve+"",te,pe,nr):void 0,Lp=Eo===void 0;if(Lp){var AN=DN(rr),PN=!AN&&kP(rr),DP=!AN&&!PN&&_P(rr);Eo=rr,AN||PN||DP?DN(xn)?Eo=xn:ire(xn)?Eo=Wne(xn):PN?(Lp=!1,Eo=hr(rr)):DP?(Lp=!1,Eo=EN(rr)):Eo=[]:are(rr)||MN(rr)?(Eo=xn,MN(xn)?Eo=lre(xn):(!$u(xn)||RN(xn))&&(Eo=Zne(rr))):Lp=!1}Lp&&(nr.set(rr,Eo),an(Eo,rr,rt,$n,nr),nr.delete(rr)),Uf(te,ve,Eo)}function on(te,pe){return rre(nre(te,pe,MP),te+"")}var zt=ft?function(te,pe){return ft(te,"toString",{configurable:!0,enumerable:!1,value:ure(pe),writable:!0})}:MP;function hr(te,pe){return te.slice()}function Ti(te){var pe=new te.constructor(te.byteLength);return new Ie(pe).set(new Ie(te)),pe}function EN(te,pe){var ve=Ti(te.buffer);return new te.constructor(ve,te.byteOffset,te.length)}function Wne(te,pe){var ve=-1,rt=te.length;for(pe||(pe=Array(rt));++ve<rt;)pe[ve]=te[ve];return pe}function qne(te,pe,ve,rt){var an=!ve;ve||(ve={});for(var $n=-1,nr=pe.length;++$n<nr;){var xn=pe[$n],rr=void 0;rr===void 0&&(rr=te[xn]),an?Rt(ve,xn,rr):je(ve,xn,rr)}return ve}function Yne(te){return on(function(pe,ve){var rt=-1,an=ve.length,$n=an>1?ve[an-1]:void 0,nr=an>2?ve[2]:void 0;for($n=te.length>3&&typeof $n=="function"?(an--,$n):void 0,nr&&Xne(ve[0],ve[1],nr)&&($n=an<3?void 0:$n,an=1),pe=Object(pe);++rt<an;){var xn=ve[rt];xn&&te(pe,xn,rt,$n)}return pe})}function Gne(te){return function(pe,ve,rt){for(var an=-1,$n=Object(pe),nr=rt(pe),xn=nr.length;xn--;){var rr=nr[++an];if(ve($n[rr],rr,$n)===!1)break}return pe}}function Yy(te,pe){var ve=te.__data__;return Qne(pe)?ve[typeof pe=="string"?"string":"hash"]:ve.map}function _N(te,pe){var ve=he(te,pe);return kr(ve)?ve:void 0}function Kne(te){var pe=de.call(te,bt),ve=te[bt];try{te[bt]=void 0;var rt=!0}catch{}var an=ge.call(te);return rt&&(pe?te[bt]=ve:delete te[bt]),an}function Zne(te){return typeof te.constructor=="function"&&!jP(te)?_e(He(te)):{}}function NP(te,pe){var ve=typeof te;return pe=pe??i,!!pe&&(ve=="number"||ve!="symbol"&&O.test(te))&&te>-1&&te%1==0&&te<pe}function Xne(te,pe,ve){if(!$u(ve))return!1;var rt=typeof pe;return(rt=="number"?IN(ve)&&NP(pe,ve.length):rt=="string"&&pe in ve)?Gy(ve[pe],te):!1}function Qne(te){var pe=typeof te;return pe=="string"||pe=="number"||pe=="symbol"||pe=="boolean"?te!=="__proto__":te===null}function Jne(te){return!!Ce&&Ce in te}function jP(te){var pe=te&&te.constructor,ve=typeof pe=="function"&&pe.prototype||ae;return te===ve}function ere(te){var pe=[];if(te!=null)for(var ve in Object(te))pe.push(ve);return pe}function tre(te){return ge.call(te)}function nre(te,pe,ve){return pe=Ue(pe===void 0?te.length-1:pe,0),function(){for(var rt=arguments,an=-1,$n=Ue(rt.length-pe,0),nr=Array($n);++an<$n;)nr[an]=rt[pe+an];an=-1;for(var xn=Array(pe+1);++an<pe;)xn[an]=rt[an];return xn[pe]=ve(nr),ee(te,this,xn)}}function TN(te,pe){if(!(pe==="constructor"&&typeof te[pe]=="function")&&pe!="__proto__")return te[pe]}var rre=sre(zt);function sre(te){var pe=0,ve=0;return function(){var rt=Et(),an=o-(rt-ve);if(ve=rt,an>0){if(++pe>=s)return arguments[0]}else pe=0;return te.apply(void 0,arguments)}}function ore(te){if(te!=null){try{return xe.call(te)}catch{}try{return te+""}catch{}}return""}function Gy(te,pe){return te===pe||te!==te&&pe!==pe}var MN=Gn(function(){return arguments}())?Gn:function(te){return $p(te)&&de.call(te,"callee")&&!at.call(te,"callee")},DN=Array.isArray;function IN(te){return te!=null&&EP(te.length)&&!RN(te)}function ire(te){return $p(te)&&IN(te)}var kP=Ut||dre;function RN(te){if(!$u(te))return!1;var pe=en(te);return pe==m||pe==p||pe==u||pe==v}function EP(te){return typeof te=="number"&&te>-1&&te%1==0&&te<=i}function $u(te){var pe=typeof te;return te!=null&&(pe=="object"||pe=="function")}function $p(te){return te!=null&&typeof te=="object"}function are(te){if(!$p(te)||en(te)!=y)return!1;var pe=He(te);if(pe===null)return!0;var ve=de.call(pe,"constructor")&&pe.constructor;return typeof ve=="function"&&ve instanceof ve&&xe.call(ve)==re}var _P=K?ce(K):_i;function lre(te){return qne(te,TP(te))}function TP(te){return IN(te)?kN(te):ko(te)}var cre=Yne(function(te,pe,ve){mc(te,pe,ve)});function ure(te){return function(){return te}}function MP(te){return te}function dre(){return!1}e.exports=cre})(sw,sw.exports);var Yoe=sw.exports;const om=hf(Yoe),Goe={theme:"system",setTheme:()=>null},a8=w.createContext(Goe);function Koe({children:e,defaultTheme:t="system",storageKey:n="vite-ui-theme",...r}){const[s,o]=w.useState(()=>localStorage.getItem(n)||t);w.useEffect(()=>{const a=window.document.documentElement;if(a.classList.remove("light","dark"),s==="system"){const l=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";a.classList.add(l);return}a.classList.add(s)},[s]);const i={theme:s,setTheme:a=>{localStorage.setItem(n,a),o(a)}};return c.jsx(a8.Provider,{...r,value:i,children:e})}const Lm=()=>{const e=w.useContext(a8);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e};var gf=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Zoe={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Ca,vd,dz,Xoe=(dz=class{constructor(){tt(this,Ca,Zoe);tt(this,vd,!1)}setTimeoutProvider(e){process.env.NODE_ENV!=="production"&&ne(this,vd)&&e!==ne(this,Ca)&&console.error("[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.",{previous:ne(this,Ca),provider:e}),Ve(this,Ca,e),process.env.NODE_ENV!=="production"&&Ve(this,vd,!1)}setTimeout(e,t){return process.env.NODE_ENV!=="production"&&Ve(this,vd,!0),ne(this,Ca).setTimeout(e,t)}clearTimeout(e){ne(this,Ca).clearTimeout(e)}setInterval(e,t){return process.env.NODE_ENV!=="production"&&Ve(this,vd,!0),ne(this,Ca).setInterval(e,t)}clearInterval(e){ne(this,Ca).clearInterval(e)}},Ca=new WeakMap,vd=new WeakMap,dz),ud=new Xoe;function Qoe(e){setTimeout(e,0)}var Ud=typeof window>"u"||"Deno"in globalThis;function ks(){}function Joe(e,t){return typeof e=="function"?e(t):e}function Rk(e){return typeof e=="number"&&e>=0&&e!==1/0}function l8(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Kc(e,t){return typeof e=="function"?e(t):e}function ri(e,t){return typeof e=="function"?e(t):e}function JP(e,t){const{type:n="all",exact:r,fetchStatus:s,predicate:o,queryKey:i,stale:a}=e;if(i){if(r){if(t.queryHash!==tM(i,t.options))return!1}else if(!bb(t.queryKey,i))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||s&&s!==t.state.fetchStatus||o&&!o(t))}function eF(e,t){const{exact:n,status:r,predicate:s,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(n){if(Wd(t.options.mutationKey)!==Wd(o))return!1}else if(!bb(t.options.mutationKey,o))return!1}return!(r&&t.state.status!==r||s&&!s(t))}function tM(e,t){return((t==null?void 0:t.queryKeyHashFn)||Wd)(e)}function Wd(e){return JSON.stringify(e,(t,n)=>Ak(n)?Object.keys(n).sort().reduce((r,s)=>(r[s]=n[s],r),{}):n)}function bb(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>bb(e[n],t[n])):!1}var eie=Object.prototype.hasOwnProperty;function ow(e,t){if(e===t)return e;const n=tF(e)&&tF(t);if(!n&&!(Ak(e)&&Ak(t)))return t;const s=(n?e:Object.keys(e)).length,o=n?t:Object.keys(t),i=o.length,a=n?new Array(i):{};let l=0;for(let u=0;u<i;u++){const d=n?u:o[u],f=e[d],h=t[d];if(f===h){a[d]=f,(n?u<s:eie.call(e,d))&&l++;continue}if(f===null||h===null||typeof f!="object"||typeof h!="object"){a[d]=h;continue}const m=ow(f,h);a[d]=m,m===f&&l++}return s===i&&l===s?e:a}function xb(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function tF(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Ak(e){if(!nF(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!nF(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function nF(e){return Object.prototype.toString.call(e)==="[object Object]"}function tie(e){return new Promise(t=>{ud.setTimeout(t,e)})}function Pk(e,t,n){if(typeof n.structuralSharing=="function")return n.structuralSharing(e,t);if(n.structuralSharing!==!1){if(process.env.NODE_ENV!=="production")try{return ow(e,t)}catch(r){throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${n.queryHash}]: ${r}`),r}return ow(e,t)}return t}function nie(e){return e}function rie(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function sie(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var iw=Symbol();function c8(e,t){return process.env.NODE_ENV!=="production"&&e.queryFn===iw&&console.error(`Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`),!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===iw?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function u8(e,t){return typeof e=="function"?e(...t):!!e}var wd,Tc,Hh,fz,oie=(fz=class extends gf{constructor(){super();tt(this,wd);tt(this,Tc);tt(this,Hh);Ve(this,Hh,t=>{if(!Ud&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){ne(this,Tc)||this.setEventListener(ne(this,Hh))}onUnsubscribe(){var t;this.hasListeners()||((t=ne(this,Tc))==null||t.call(this),Ve(this,Tc,void 0))}setEventListener(t){var n;Ve(this,Hh,t),(n=ne(this,Tc))==null||n.call(this),Ve(this,Tc,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){ne(this,wd)!==t&&(Ve(this,wd,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof ne(this,wd)=="boolean"?ne(this,wd):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},wd=new WeakMap,Tc=new WeakMap,Hh=new WeakMap,fz),nM=new oie;function Fk(){let e,t;const n=new Promise((s,o)=>{e=s,t=o});n.status="pending",n.catch(()=>{});function r(s){Object.assign(n,s),delete n.resolve,delete n.reject}return n.resolve=s=>{r({status:"fulfilled",value:s}),e(s)},n.reject=s=>{r({status:"rejected",reason:s}),t(s)},n}var iie=Qoe;function aie(){let e=[],t=0,n=a=>{a()},r=a=>{a()},s=iie;const o=a=>{t?e.push(a):s(()=>{n(a)})},i=()=>{const a=e;e=[],a.length&&s(()=>{r(()=>{a.forEach(l=>{n(l)})})})};return{batch:a=>{let l;t++;try{l=a()}finally{t--,t||i()}return l},batchCalls:a=>(...l)=>{o(()=>{a(...l)})},schedule:o,setNotifyFunction:a=>{n=a},setBatchNotifyFunction:a=>{r=a},setScheduler:a=>{s=a}}}var cr=aie(),Uh,Mc,Wh,hz,lie=(hz=class extends gf{constructor(){super();tt(this,Uh,!0);tt(this,Mc);tt(this,Wh);Ve(this,Wh,t=>{if(!Ud&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){ne(this,Mc)||this.setEventListener(ne(this,Wh))}onUnsubscribe(){var t;this.hasListeners()||((t=ne(this,Mc))==null||t.call(this),Ve(this,Mc,void 0))}setEventListener(t){var n;Ve(this,Wh,t),(n=ne(this,Mc))==null||n.call(this),Ve(this,Mc,t(this.setOnline.bind(this)))}setOnline(t){ne(this,Uh)!==t&&(Ve(this,Uh,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return ne(this,Uh)}},Uh=new WeakMap,Mc=new WeakMap,Wh=new WeakMap,hz),aw=new lie;function cie(e){return Math.min(1e3*2**e,3e4)}function d8(e){return(e??"online")==="online"?aw.isOnline():!0}var Ok=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function f8(e){let t=!1,n=0,r;const s=Fk(),o=()=>s.status!=="pending",i=g=>{var b;if(!o()){const x=new Ok(g);h(x),(b=e.onCancel)==null||b.call(e,x)}},a=()=>{t=!0},l=()=>{t=!1},u=()=>nM.isFocused()&&(e.networkMode==="always"||aw.isOnline())&&e.canRun(),d=()=>d8(e.networkMode)&&e.canRun(),f=g=>{o()||(r==null||r(),s.resolve(g))},h=g=>{o()||(r==null||r(),s.reject(g))},m=()=>new Promise(g=>{var b;r=x=>{(o()||u())&&g(x)},(b=e.onPause)==null||b.call(e)}).then(()=>{var g;r=void 0,o()||(g=e.onContinue)==null||g.call(e)}),p=()=>{if(o())return;let g;const b=n===0?e.initialPromise:void 0;try{g=b??e.fn()}catch(x){g=Promise.reject(x)}Promise.resolve(g).then(f).catch(x=>{var S;if(o())return;const y=e.retry??(Ud?0:3),v=e.retryDelay??cie,C=typeof v=="function"?v(n,x):v,N=y===!0||typeof y=="number"&&n<y||typeof y=="function"&&y(n,x);if(t||!N){h(x);return}n++,(S=e.onFail)==null||S.call(e,n,x),tie(C).then(()=>u()?void 0:m()).then(()=>{t?h(x):p()})})};return{promise:s,status:()=>s.status,cancel:i,continue:()=>(r==null||r(),s),cancelRetry:a,continueRetry:l,canStart:d,start:()=>(d()?p():m().then(p),s)}}var Cd,mz,h8=(mz=class{constructor(){tt(this,Cd)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Rk(this.gcTime)&&Ve(this,Cd,ud.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Ud?1/0:5*60*1e3))}clearGcTimeout(){ne(this,Cd)&&(ud.clearTimeout(ne(this,Cd)),Ve(this,Cd,void 0))}},Cd=new WeakMap,mz),Sd,qh,ti,Nd,Qr,xx,jd,Fi,cl,pz,uie=(pz=class extends h8{constructor(t){super();tt(this,Fi);tt(this,Sd);tt(this,qh);tt(this,ti);tt(this,Nd);tt(this,Qr);tt(this,xx);tt(this,jd);Ve(this,jd,!1),Ve(this,xx,t.defaultOptions),this.setOptions(t.options),this.observers=[],Ve(this,Nd,t.client),Ve(this,ti,ne(this,Nd).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,Ve(this,Sd,sF(this.options)),this.state=t.state??ne(this,Sd),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=ne(this,Qr))==null?void 0:t.promise}setOptions(t){if(this.options={...ne(this,xx),...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=sF(this.options);n.data!==void 0&&(this.setState(rF(n.data,n.dataUpdatedAt)),Ve(this,Sd,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&ne(this,ti).remove(this)}setData(t,n){const r=Pk(this.state.data,t,this.options);return yt(this,Fi,cl).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){yt(this,Fi,cl).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r,s;const n=(r=ne(this,Qr))==null?void 0:r.promise;return(s=ne(this,Qr))==null||s.cancel(t),n?n.then(ks).catch(ks):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(ne(this,Sd))}isActive(){return this.observers.some(t=>ri(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===iw||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Kc(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!l8(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=ne(this,Qr))==null||n.continue()}onOnline(){var n;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=ne(this,Qr))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),ne(this,ti).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(ne(this,Qr)&&(ne(this,jd)?ne(this,Qr).cancel({revert:!0}):ne(this,Qr).cancelRetry()),this.scheduleGc()),ne(this,ti).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||yt(this,Fi,cl).call(this,{type:"invalidate"})}async fetch(t,n){var l,u,d,f,h,m,p,g,b,x,y,v;if(this.state.fetchStatus!=="idle"&&((l=ne(this,Qr))==null?void 0:l.status())!=="rejected"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(ne(this,Qr))return ne(this,Qr).continueRetry(),ne(this,Qr).promise}if(t&&this.setOptions(t),!this.options.queryFn){const C=this.observers.find(N=>N.options.queryFn);C&&this.setOptions(C.options)}process.env.NODE_ENV!=="production"&&(Array.isArray(this.options.queryKey)||console.error("As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']"));const r=new AbortController,s=C=>{Object.defineProperty(C,"signal",{enumerable:!0,get:()=>(Ve(this,jd,!0),r.signal)})},o=()=>{const C=c8(this.options,n),S=(()=>{const j={client:ne(this,Nd),queryKey:this.queryKey,meta:this.meta};return s(j),j})();return Ve(this,jd,!1),this.options.persister?this.options.persister(C,S,this):C(S)},a=(()=>{const C={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:ne(this,Nd),state:this.state,fetchFn:o};return s(C),C})();(u=this.options.behavior)==null||u.onFetch(a,this),Ve(this,qh,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((d=a.fetchOptions)==null?void 0:d.meta))&&yt(this,Fi,cl).call(this,{type:"fetch",meta:(f=a.fetchOptions)==null?void 0:f.meta}),Ve(this,Qr,f8({initialPromise:n==null?void 0:n.initialPromise,fn:a.fetchFn,onCancel:C=>{C instanceof Ok&&C.revert&&this.setState({...ne(this,qh),fetchStatus:"idle"}),r.abort()},onFail:(C,N)=>{yt(this,Fi,cl).call(this,{type:"failed",failureCount:C,error:N})},onPause:()=>{yt(this,Fi,cl).call(this,{type:"pause"})},onContinue:()=>{yt(this,Fi,cl).call(this,{type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0}));try{const C=await ne(this,Qr).start();if(C===void 0)throw process.env.NODE_ENV!=="production"&&console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`),new Error(`${this.queryHash} data is undefined`);return this.setData(C),(m=(h=ne(this,ti).config).onSuccess)==null||m.call(h,C,this),(g=(p=ne(this,ti).config).onSettled)==null||g.call(p,C,this.state.error,this),C}catch(C){if(C instanceof Ok){if(C.silent)return ne(this,Qr).promise;if(C.revert){if(this.state.data===void 0)throw C;return this.state.data}}throw yt(this,Fi,cl).call(this,{type:"error",error:C}),(x=(b=ne(this,ti).config).onError)==null||x.call(b,C,this),(v=(y=ne(this,ti).config).onSettled)==null||v.call(y,this.state.data,C,this),C}finally{this.scheduleGc()}}},Sd=new WeakMap,qh=new WeakMap,ti=new WeakMap,Nd=new WeakMap,Qr=new WeakMap,xx=new WeakMap,jd=new WeakMap,Fi=new WeakSet,cl=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...m8(r.data,this.options),fetchMeta:t.meta??null};case"success":const s={...r,...rF(t.data,t.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return Ve(this,qh,t.manual?s:void 0),s;case"error":const o=t.error;return{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),cr.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),ne(this,ti).notify({query:this,type:"updated",action:t})})},pz);function m8(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:d8(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function rF(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function sF(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var po,tn,yx,Gs,kd,Yh,xl,Dc,vx,Gh,Kh,Ed,_d,Ic,Zh,Mn,ug,$k,Lk,zk,Bk,Vk,Hk,Uk,p8,gz,rM=(gz=class extends gf{constructor(t,n){super();tt(this,Mn);tt(this,po);tt(this,tn);tt(this,yx);tt(this,Gs);tt(this,kd);tt(this,Yh);tt(this,xl);tt(this,Dc);tt(this,vx);tt(this,Gh);tt(this,Kh);tt(this,Ed);tt(this,_d);tt(this,Ic);tt(this,Zh,new Set);this.options=n,Ve(this,po,t),Ve(this,Dc,null),Ve(this,xl,Fk()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(ne(this,tn).addObserver(this),oF(ne(this,tn),this.options)?yt(this,Mn,ug).call(this):this.updateResult(),yt(this,Mn,Bk).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Wk(ne(this,tn),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Wk(ne(this,tn),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,yt(this,Mn,Vk).call(this),yt(this,Mn,Hk).call(this),ne(this,tn).removeObserver(this)}setOptions(t){const n=this.options,r=ne(this,tn);if(this.options=ne(this,po).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof ri(this.options.enabled,ne(this,tn))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");yt(this,Mn,Uk).call(this),ne(this,tn).setOptions(this.options),n._defaulted&&!xb(this.options,n)&&ne(this,po).getQueryCache().notify({type:"observerOptionsUpdated",query:ne(this,tn),observer:this});const s=this.hasListeners();s&&iF(ne(this,tn),r,this.options,n)&&yt(this,Mn,ug).call(this),this.updateResult(),s&&(ne(this,tn)!==r||ri(this.options.enabled,ne(this,tn))!==ri(n.enabled,ne(this,tn))||Kc(this.options.staleTime,ne(this,tn))!==Kc(n.staleTime,ne(this,tn)))&&yt(this,Mn,$k).call(this);const o=yt(this,Mn,Lk).call(this);s&&(ne(this,tn)!==r||ri(this.options.enabled,ne(this,tn))!==ri(n.enabled,ne(this,tn))||o!==ne(this,Ic))&&yt(this,Mn,zk).call(this,o)}getOptimisticResult(t){const n=ne(this,po).getQueryCache().build(ne(this,po),t),r=this.createResult(n,t);return fie(this,r)&&(Ve(this,Gs,r),Ve(this,Yh,this.options),Ve(this,kd,ne(this,tn).state)),r}getCurrentResult(){return ne(this,Gs)}trackResult(t,n){return new Proxy(t,{get:(r,s)=>(this.trackProp(s),n==null||n(s),s==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&ne(this,xl).status==="pending"&&ne(this,xl).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,s))})}trackProp(t){ne(this,Zh).add(t)}getCurrentQuery(){return ne(this,tn)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=ne(this,po).defaultQueryOptions(t),r=ne(this,po).getQueryCache().build(ne(this,po),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return yt(this,Mn,ug).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),ne(this,Gs)))}createResult(t,n){var _;const r=ne(this,tn),s=this.options,o=ne(this,Gs),i=ne(this,kd),a=ne(this,Yh),u=t!==r?t.state:ne(this,yx),{state:d}=t;let f={...d},h=!1,m;if(n._optimisticResults){const E=this.hasListeners(),M=!E&&oF(t,n),T=E&&iF(t,r,n,s);(M||T)&&(f={...f,...m8(d.data,t.options)}),n._optimisticResults==="isRestoring"&&(f.fetchStatus="idle")}let{error:p,errorUpdatedAt:g,status:b}=f;m=f.data;let x=!1;if(n.placeholderData!==void 0&&m===void 0&&b==="pending"){let E;o!=null&&o.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData)?(E=o.data,x=!0):E=typeof n.placeholderData=="function"?n.placeholderData((_=ne(this,Kh))==null?void 0:_.state.data,ne(this,Kh)):n.placeholderData,E!==void 0&&(b="success",m=Pk(o==null?void 0:o.data,E,n),h=!0)}if(n.select&&m!==void 0&&!x)if(o&&m===(i==null?void 0:i.data)&&n.select===ne(this,vx))m=ne(this,Gh);else try{Ve(this,vx,n.select),m=n.select(m),m=Pk(o==null?void 0:o.data,m,n),Ve(this,Gh,m),Ve(this,Dc,null)}catch(E){Ve(this,Dc,E)}ne(this,Dc)&&(p=ne(this,Dc),m=ne(this,Gh),g=Date.now(),b="error");const y=f.fetchStatus==="fetching",v=b==="pending",C=b==="error",N=v&&y,S=m!==void 0,k={status:b,fetchStatus:f.fetchStatus,isPending:v,isSuccess:b==="success",isError:C,isInitialLoading:N,isLoading:N,data:m,dataUpdatedAt:f.dataUpdatedAt,error:p,errorUpdatedAt:g,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:f.dataUpdateCount>0||f.errorUpdateCount>0,isFetchedAfterMount:f.dataUpdateCount>u.dataUpdateCount||f.errorUpdateCount>u.errorUpdateCount,isFetching:y,isRefetching:y&&!v,isLoadingError:C&&!S,isPaused:f.fetchStatus==="paused",isPlaceholderData:h,isRefetchError:C&&S,isStale:sM(t,n),refetch:this.refetch,promise:ne(this,xl),isEnabled:ri(n.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const E=P=>{k.status==="error"?P.reject(k.error):k.data!==void 0&&P.resolve(k.data)},M=()=>{const P=Ve(this,xl,k.promise=Fk());E(P)},T=ne(this,xl);switch(T.status){case"pending":t.queryHash===r.queryHash&&E(T);break;case"fulfilled":(k.status==="error"||k.data!==T.value)&&M();break;case"rejected":(k.status!=="error"||k.error!==T.reason)&&M();break}}return k}updateResult(){const t=ne(this,Gs),n=this.createResult(ne(this,tn),this.options);if(Ve(this,kd,ne(this,tn).state),Ve(this,Yh,this.options),ne(this,kd).data!==void 0&&Ve(this,Kh,ne(this,tn)),xb(n,t))return;Ve(this,Gs,n);const r=()=>{if(!t)return!0;const{notifyOnChangeProps:s}=this.options,o=typeof s=="function"?s():s;if(o==="all"||!o&&!ne(this,Zh).size)return!0;const i=new Set(o??ne(this,Zh));return this.options.throwOnError&&i.add("error"),Object.keys(ne(this,Gs)).some(a=>{const l=a;return ne(this,Gs)[l]!==t[l]&&i.has(l)})};yt(this,Mn,p8).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&yt(this,Mn,Bk).call(this)}},po=new WeakMap,tn=new WeakMap,yx=new WeakMap,Gs=new WeakMap,kd=new WeakMap,Yh=new WeakMap,xl=new WeakMap,Dc=new WeakMap,vx=new WeakMap,Gh=new WeakMap,Kh=new WeakMap,Ed=new WeakMap,_d=new WeakMap,Ic=new WeakMap,Zh=new WeakMap,Mn=new WeakSet,ug=function(t){yt(this,Mn,Uk).call(this);let n=ne(this,tn).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(ks)),n},$k=function(){yt(this,Mn,Vk).call(this);const t=Kc(this.options.staleTime,ne(this,tn));if(Ud||ne(this,Gs).isStale||!Rk(t))return;const r=l8(ne(this,Gs).dataUpdatedAt,t)+1;Ve(this,Ed,ud.setTimeout(()=>{ne(this,Gs).isStale||this.updateResult()},r))},Lk=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(ne(this,tn)):this.options.refetchInterval)??!1},zk=function(t){yt(this,Mn,Hk).call(this),Ve(this,Ic,t),!(Ud||ri(this.options.enabled,ne(this,tn))===!1||!Rk(ne(this,Ic))||ne(this,Ic)===0)&&Ve(this,_d,ud.setInterval(()=>{(this.options.refetchIntervalInBackground||nM.isFocused())&&yt(this,Mn,ug).call(this)},ne(this,Ic)))},Bk=function(){yt(this,Mn,$k).call(this),yt(this,Mn,zk).call(this,yt(this,Mn,Lk).call(this))},Vk=function(){ne(this,Ed)&&(ud.clearTimeout(ne(this,Ed)),Ve(this,Ed,void 0))},Hk=function(){ne(this,_d)&&(ud.clearInterval(ne(this,_d)),Ve(this,_d,void 0))},Uk=function(){const t=ne(this,po).getQueryCache().build(ne(this,po),this.options);if(t===ne(this,tn))return;const n=ne(this,tn);Ve(this,tn,t),Ve(this,yx,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},p8=function(t){cr.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(ne(this,Gs))}),ne(this,po).getQueryCache().notify({query:ne(this,tn),type:"observerResultsUpdated"})})},gz);function die(e,t){return ri(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function oF(e,t){return die(e,t)||e.state.data!==void 0&&Wk(e,t,t.refetchOnMount)}function Wk(e,t,n){if(ri(t.enabled,e)!==!1&&Kc(t.staleTime,e)!=="static"){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&sM(e,t)}return!1}function iF(e,t,n,r){return(e!==t||ri(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&sM(e,n)}function sM(e,t){return ri(t.enabled,e)!==!1&&e.isStaleByTime(Kc(t.staleTime,e))}function fie(e,t){return!xb(e.getCurrentResult(),t)}function aF(e){return{onFetch:(t,n)=>{var d,f,h,m,p;const r=t.options,s=(h=(f=(d=t.fetchOptions)==null?void 0:d.meta)==null?void 0:f.fetchMore)==null?void 0:h.direction,o=((m=t.state.data)==null?void 0:m.pages)||[],i=((p=t.state.data)==null?void 0:p.pageParams)||[];let a={pages:[],pageParams:[]},l=0;const u=async()=>{let g=!1;const b=v=>{Object.defineProperty(v,"signal",{enumerable:!0,get:()=>(t.signal.aborted?g=!0:t.signal.addEventListener("abort",()=>{g=!0}),t.signal)})},x=c8(t.options,t.fetchOptions),y=async(v,C,N)=>{if(g)return Promise.reject();if(C==null&&v.pages.length)return Promise.resolve(v);const j=(()=>{const M={client:t.client,queryKey:t.queryKey,pageParam:C,direction:N?"backward":"forward",meta:t.options.meta};return b(M),M})(),k=await x(j),{maxPages:_}=t.options,E=N?sie:rie;return{pages:E(v.pages,k,_),pageParams:E(v.pageParams,C,_)}};if(s&&o.length){const v=s==="backward",C=v?hie:lF,N={pages:o,pageParams:i},S=C(r,N);a=await y(N,S,v)}else{const v=e??o.length;do{const C=l===0?i[0]??r.initialPageParam:lF(r,a);if(l>0&&C==null)break;a=await y(a,C),l++}while(l<v)}return a};t.options.persister?t.fetchFn=()=>{var g,b;return(b=(g=t.options).persister)==null?void 0:b.call(g,u,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=u}}}function lF(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function hie(e,{pages:t,pageParams:n}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n):void 0}var wx,Sa,Ks,Td,Na,wc,bz,mie=(bz=class extends h8{constructor(t){super();tt(this,Na);tt(this,wx);tt(this,Sa);tt(this,Ks);tt(this,Td);Ve(this,wx,t.client),this.mutationId=t.mutationId,Ve(this,Ks,t.mutationCache),Ve(this,Sa,[]),this.state=t.state||g8(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){ne(this,Sa).includes(t)||(ne(this,Sa).push(t),this.clearGcTimeout(),ne(this,Ks).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){Ve(this,Sa,ne(this,Sa).filter(n=>n!==t)),this.scheduleGc(),ne(this,Ks).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){ne(this,Sa).length||(this.state.status==="pending"?this.scheduleGc():ne(this,Ks).remove(this))}continue(){var t;return((t=ne(this,Td))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var i,a,l,u,d,f,h,m,p,g,b,x,y,v,C,N,S,j,k,_;const n=()=>{yt(this,Na,wc).call(this,{type:"continue"})},r={client:ne(this,wx),meta:this.options.meta,mutationKey:this.options.mutationKey};Ve(this,Td,f8({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(new Error("No mutationFn found")),onFail:(E,M)=>{yt(this,Na,wc).call(this,{type:"failed",failureCount:E,error:M})},onPause:()=>{yt(this,Na,wc).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>ne(this,Ks).canRun(this)}));const s=this.state.status==="pending",o=!ne(this,Td).canStart();try{if(s)n();else{yt(this,Na,wc).call(this,{type:"pending",variables:t,isPaused:o}),await((a=(i=ne(this,Ks).config).onMutate)==null?void 0:a.call(i,t,this,r));const M=await((u=(l=this.options).onMutate)==null?void 0:u.call(l,t,r));M!==this.state.context&&yt(this,Na,wc).call(this,{type:"pending",context:M,variables:t,isPaused:o})}const E=await ne(this,Td).start();return await((f=(d=ne(this,Ks).config).onSuccess)==null?void 0:f.call(d,E,t,this.state.context,this,r)),await((m=(h=this.options).onSuccess)==null?void 0:m.call(h,E,t,this.state.context,r)),await((g=(p=ne(this,Ks).config).onSettled)==null?void 0:g.call(p,E,null,this.state.variables,this.state.context,this,r)),await((x=(b=this.options).onSettled)==null?void 0:x.call(b,E,null,t,this.state.context,r)),yt(this,Na,wc).call(this,{type:"success",data:E}),E}catch(E){try{throw await((v=(y=ne(this,Ks).config).onError)==null?void 0:v.call(y,E,t,this.state.context,this,r)),await((N=(C=this.options).onError)==null?void 0:N.call(C,E,t,this.state.context,r)),await((j=(S=ne(this,Ks).config).onSettled)==null?void 0:j.call(S,void 0,E,this.state.variables,this.state.context,this,r)),await((_=(k=this.options).onSettled)==null?void 0:_.call(k,void 0,E,t,this.state.context,r)),E}finally{yt(this,Na,wc).call(this,{type:"error",error:E})}}finally{ne(this,Ks).runNext(this)}}},wx=new WeakMap,Sa=new WeakMap,Ks=new WeakMap,Td=new WeakMap,Na=new WeakSet,wc=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),cr.batch(()=>{ne(this,Sa).forEach(r=>{r.onMutationUpdate(t)}),ne(this,Ks).notify({mutation:this,type:"updated",action:t})})},bz);function g8(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var yl,Oi,Cx,xz,pie=(xz=class extends gf{constructor(t={}){super();tt(this,yl);tt(this,Oi);tt(this,Cx);this.config=t,Ve(this,yl,new Set),Ve(this,Oi,new Map),Ve(this,Cx,0)}build(t,n,r){const s=new mie({client:t,mutationCache:this,mutationId:++Ky(this,Cx)._,options:t.defaultMutationOptions(n),state:r});return this.add(s),s}add(t){ne(this,yl).add(t);const n=e0(t);if(typeof n=="string"){const r=ne(this,Oi).get(n);r?r.push(t):ne(this,Oi).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(ne(this,yl).delete(t)){const n=e0(t);if(typeof n=="string"){const r=ne(this,Oi).get(n);if(r)if(r.length>1){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}else r[0]===t&&ne(this,Oi).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){const n=e0(t);if(typeof n=="string"){const r=ne(this,Oi).get(n),s=r==null?void 0:r.find(o=>o.state.status==="pending");return!s||s===t}else return!0}runNext(t){var r;const n=e0(t);if(typeof n=="string"){const s=(r=ne(this,Oi).get(n))==null?void 0:r.find(o=>o!==t&&o.state.isPaused);return(s==null?void 0:s.continue())??Promise.resolve()}else return Promise.resolve()}clear(){cr.batch(()=>{ne(this,yl).forEach(t=>{this.notify({type:"removed",mutation:t})}),ne(this,yl).clear(),ne(this,Oi).clear()})}getAll(){return Array.from(ne(this,yl))}find(t){const n={exact:!0,...t};return this.getAll().find(r=>eF(n,r))}findAll(t={}){return this.getAll().filter(n=>eF(t,n))}notify(t){cr.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return cr.batch(()=>Promise.all(t.map(n=>n.continue().catch(ks))))}},yl=new WeakMap,Oi=new WeakMap,Cx=new WeakMap,xz);function e0(e){var t;return(t=e.options.scope)==null?void 0:t.id}var vl,Rc,go,wl,Wl,Ev,qk,yz,gie=(yz=class extends gf{constructor(n,r){super();tt(this,Wl);tt(this,vl);tt(this,Rc);tt(this,go);tt(this,wl);Ve(this,vl,n),this.setOptions(r),this.bindMethods(),yt(this,Wl,Ev).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var s;const r=this.options;this.options=ne(this,vl).defaultMutationOptions(n),xb(this.options,r)||ne(this,vl).getMutationCache().notify({type:"observerOptionsUpdated",mutation:ne(this,go),observer:this}),r!=null&&r.mutationKey&&this.options.mutationKey&&Wd(r.mutationKey)!==Wd(this.options.mutationKey)?this.reset():((s=ne(this,go))==null?void 0:s.state.status)==="pending"&&ne(this,go).setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=ne(this,go))==null||n.removeObserver(this)}onMutationUpdate(n){yt(this,Wl,Ev).call(this),yt(this,Wl,qk).call(this,n)}getCurrentResult(){return ne(this,Rc)}reset(){var n;(n=ne(this,go))==null||n.removeObserver(this),Ve(this,go,void 0),yt(this,Wl,Ev).call(this),yt(this,Wl,qk).call(this)}mutate(n,r){var s;return Ve(this,wl,r),(s=ne(this,go))==null||s.removeObserver(this),Ve(this,go,ne(this,vl).getMutationCache().build(ne(this,vl),this.options)),ne(this,go).addObserver(this),ne(this,go).execute(n)}},vl=new WeakMap,Rc=new WeakMap,go=new WeakMap,wl=new WeakMap,Wl=new WeakSet,Ev=function(){var r;const n=((r=ne(this,go))==null?void 0:r.state)??g8();Ve(this,Rc,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},qk=function(n){cr.batch(()=>{var r,s,o,i,a,l,u,d;if(ne(this,wl)&&this.hasListeners()){const f=ne(this,Rc).variables,h=ne(this,Rc).context,m={client:ne(this,vl),meta:this.options.meta,mutationKey:this.options.mutationKey};(n==null?void 0:n.type)==="success"?((s=(r=ne(this,wl)).onSuccess)==null||s.call(r,n.data,f,h,m),(i=(o=ne(this,wl)).onSettled)==null||i.call(o,n.data,null,f,h,m)):(n==null?void 0:n.type)==="error"&&((l=(a=ne(this,wl)).onError)==null||l.call(a,n.error,f,h,m),(d=(u=ne(this,wl)).onSettled)==null||d.call(u,void 0,n.error,f,h,m))}this.listeners.forEach(f=>{f(ne(this,Rc))})})},yz);function cF(e,t){const n=new Set(t);return e.filter(r=>!n.has(r))}function bie(e,t,n){const r=e.slice(0);return r[t]=n,r}var Md,Ao,Xh,Qh,ni,Ac,Sx,Nx,jx,xs,Yk,Gk,Kk,Zk,Xk,vz,xie=(vz=class extends gf{constructor(t,n,r){super();tt(this,xs);tt(this,Md);tt(this,Ao);tt(this,Xh);tt(this,Qh);tt(this,ni);tt(this,Ac);tt(this,Sx);tt(this,Nx);tt(this,jx,[]);Ve(this,Md,t),Ve(this,Qh,r),Ve(this,Xh,[]),Ve(this,ni,[]),Ve(this,Ao,[]),this.setQueries(n)}onSubscribe(){this.listeners.size===1&&ne(this,ni).forEach(t=>{t.subscribe(n=>{yt(this,xs,Zk).call(this,t,n)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,ne(this,ni).forEach(t=>{t.destroy()})}setQueries(t,n){if(Ve(this,Xh,t),Ve(this,Qh,n),process.env.NODE_ENV!=="production"){const r=t.map(s=>ne(this,Md).defaultQueryOptions(s).queryHash);new Set(r).size!==r.length&&console.warn("[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.")}cr.batch(()=>{const r=ne(this,ni),s=yt(this,xs,Kk).call(this,ne(this,Xh));Ve(this,jx,s),s.forEach(f=>f.observer.setOptions(f.defaultedQueryOptions));const o=s.map(f=>f.observer),i=o.map(f=>f.getCurrentResult()),a=r.length!==o.length,l=o.some((f,h)=>f!==r[h]),u=a||l,d=u?!0:i.some((f,h)=>{const m=ne(this,Ao)[h];return!m||!xb(f,m)});!u&&!d||(u&&Ve(this,ni,o),Ve(this,Ao,i),this.hasListeners()&&(u&&(cF(r,o).forEach(f=>{f.destroy()}),cF(o,r).forEach(f=>{f.subscribe(h=>{yt(this,xs,Zk).call(this,f,h)})})),yt(this,xs,Xk).call(this)))})}getCurrentResult(){return ne(this,Ao)}getQueries(){return ne(this,ni).map(t=>t.getCurrentQuery())}getObservers(){return ne(this,ni)}getOptimisticResult(t,n){const r=yt(this,xs,Kk).call(this,t),s=r.map(o=>o.observer.getOptimisticResult(o.defaultedQueryOptions));return[s,o=>yt(this,xs,Gk).call(this,o??s,n),()=>yt(this,xs,Yk).call(this,s,r)]}},Md=new WeakMap,Ao=new WeakMap,Xh=new WeakMap,Qh=new WeakMap,ni=new WeakMap,Ac=new WeakMap,Sx=new WeakMap,Nx=new WeakMap,jx=new WeakMap,xs=new WeakSet,Yk=function(t,n){return n.map((r,s)=>{const o=t[s];return r.defaultedQueryOptions.notifyOnChangeProps?o:r.observer.trackResult(o,i=>{n.forEach(a=>{a.observer.trackProp(i)})})})},Gk=function(t,n){return n?((!ne(this,Ac)||ne(this,Ao)!==ne(this,Nx)||n!==ne(this,Sx))&&(Ve(this,Sx,n),Ve(this,Nx,ne(this,Ao)),Ve(this,Ac,ow(ne(this,Ac),n(t)))),ne(this,Ac)):t},Kk=function(t){const n=new Map;ne(this,ni).forEach(s=>{const o=s.options.queryHash;if(!o)return;const i=n.get(o);i?i.push(s):n.set(o,[s])});const r=[];return t.forEach(s=>{var l;const o=ne(this,Md).defaultQueryOptions(s),a=((l=n.get(o.queryHash))==null?void 0:l.shift())??new rM(ne(this,Md),o);r.push({defaultedQueryOptions:o,observer:a})}),r},Zk=function(t,n){const r=ne(this,ni).indexOf(t);r!==-1&&(Ve(this,Ao,bie(ne(this,Ao),r,n)),yt(this,xs,Xk).call(this))},Xk=function(){var t;if(this.hasListeners()){const n=ne(this,Ac),r=yt(this,xs,Yk).call(this,ne(this,Ao),ne(this,jx)),s=yt(this,xs,Gk).call(this,r,(t=ne(this,Qh))==null?void 0:t.combine);n!==s&&cr.batch(()=>{this.listeners.forEach(o=>{o(ne(this,Ao))})})}},vz),ja,wz,b8=(wz=class extends gf{constructor(t={}){super();tt(this,ja);this.config=t,Ve(this,ja,new Map)}build(t,n,r){const s=n.queryKey,o=n.queryHash??tM(s,n);let i=this.get(o);return i||(i=new uie({client:t,queryKey:s,queryHash:o,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(s)}),this.add(i)),i}add(t){ne(this,ja).has(t.queryHash)||(ne(this,ja).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=ne(this,ja).get(t.queryHash);n&&(t.destroy(),n===t&&ne(this,ja).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){cr.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return ne(this,ja).get(t)}getAll(){return[...ne(this,ja).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>JP(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>JP(t,r)):n}notify(t){cr.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){cr.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){cr.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},ja=new WeakMap,wz),mr,Pc,Fc,Jh,em,Oc,tm,nm,Cz,yie=(Cz=class{constructor(e={}){tt(this,mr);tt(this,Pc);tt(this,Fc);tt(this,Jh);tt(this,em);tt(this,Oc);tt(this,tm);tt(this,nm);Ve(this,mr,e.queryCache||new b8),Ve(this,Pc,e.mutationCache||new pie),Ve(this,Fc,e.defaultOptions||{}),Ve(this,Jh,new Map),Ve(this,em,new Map),Ve(this,Oc,0)}mount(){Ky(this,Oc)._++,ne(this,Oc)===1&&(Ve(this,tm,nM.subscribe(async e=>{e&&(await this.resumePausedMutations(),ne(this,mr).onFocus())})),Ve(this,nm,aw.subscribe(async e=>{e&&(await this.resumePausedMutations(),ne(this,mr).onOnline())})))}unmount(){var e,t;Ky(this,Oc)._--,ne(this,Oc)===0&&((e=ne(this,tm))==null||e.call(this),Ve(this,tm,void 0),(t=ne(this,nm))==null||t.call(this),Ve(this,nm,void 0))}isFetching(e){return ne(this,mr).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return ne(this,Pc).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=ne(this,mr).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=ne(this,mr).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Kc(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return ne(this,mr).findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),s=ne(this,mr).get(r.queryHash),o=s==null?void 0:s.state.data,i=Joe(t,o);if(i!==void 0)return ne(this,mr).build(this,r).setData(i,{...n,manual:!0})}setQueriesData(e,t,n){return cr.batch(()=>ne(this,mr).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=ne(this,mr).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=ne(this,mr);cr.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=ne(this,mr);return cr.batch(()=>(n.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=cr.batch(()=>ne(this,mr).findAll(e).map(s=>s.cancel(n)));return Promise.all(r).then(ks).catch(ks)}invalidateQueries(e,t={}){return cr.batch(()=>(ne(this,mr).findAll(e).forEach(n=>{n.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=cr.batch(()=>ne(this,mr).findAll(e).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let o=s.fetch(void 0,n);return n.throwOnError||(o=o.catch(ks)),s.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(r).then(ks)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=ne(this,mr).build(this,t);return n.isStaleByTime(Kc(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ks).catch(ks)}fetchInfiniteQuery(e){return e.behavior=aF(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ks).catch(ks)}ensureInfiniteQueryData(e){return e.behavior=aF(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return aw.isOnline()?ne(this,Pc).resumePausedMutations():Promise.resolve()}getQueryCache(){return ne(this,mr)}getMutationCache(){return ne(this,Pc)}getDefaultOptions(){return ne(this,Fc)}setDefaultOptions(e){Ve(this,Fc,e)}setQueryDefaults(e,t){ne(this,Jh).set(Wd(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...ne(this,Jh).values()],n={};return t.forEach(r=>{bb(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){ne(this,em).set(Wd(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...ne(this,em).values()],n={};return t.forEach(r=>{bb(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...ne(this,Fc).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=tM(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===iw&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...ne(this,Fc).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){ne(this,mr).clear(),ne(this,Pc).clear()}},mr=new WeakMap,Pc=new WeakMap,Fc=new WeakMap,Jh=new WeakMap,em=new WeakMap,Oc=new WeakMap,tm=new WeakMap,nm=new WeakMap,Cz),oM=D.createContext(void 0),ys=e=>{const t=D.useContext(oM);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},vie=({client:e,children:t})=>(D.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),c.jsx(oM.Provider,{value:e,children:t})),x8=D.createContext(!1),y8=()=>D.useContext(x8);x8.Provider;function wie(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Cie=D.createContext(wie()),v8=()=>D.useContext(Cie),w8=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},C8=e=>{D.useEffect(()=>{e.clearReset()},[e])},S8=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:s})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(s&&e.data===void 0||u8(n,[e.error,r])),N8=e=>{if(e.suspense){const n=s=>s==="static"?s:Math.max(s??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...s)=>n(r(...s)):n(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},j8=(e,t)=>e.isLoading&&e.isFetching&&!t,Qk=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,lw=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function iM({queries:e,...t},n){const r=ys(),s=y8(),o=v8(),i=D.useMemo(()=>e.map(g=>{const b=r.defaultQueryOptions(g);return b._optimisticResults=s?"isRestoring":"optimistic",b}),[e,r,s]);i.forEach(g=>{N8(g),w8(g,o)}),C8(o);const[a]=D.useState(()=>new xie(r,i,t)),[l,u,d]=a.getOptimisticResult(i,t.combine),f=!s&&t.subscribed!==!1;D.useSyncExternalStore(D.useCallback(g=>f?a.subscribe(cr.batchCalls(g)):ks,[a,f]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),D.useEffect(()=>{a.setQueries(i,t)},[i,t,a]);const m=l.some((g,b)=>Qk(i[b],g))?l.flatMap((g,b)=>{const x=i[b];if(x){const y=new rM(r,x);if(Qk(x,g))return lw(x,y,o);j8(g,s)&&lw(x,y,o)}return[]}):[];if(m.length>0)throw Promise.all(m);const p=l.find((g,b)=>{const x=i[b];return x&&S8({result:g,errorResetBoundary:o,throwOnError:x.throwOnError,query:r.getQueryCache().get(x.queryHash),suspense:x.suspense})});if(p!=null&&p.error)throw p.error;return u(d())}function Sie(e,t,n){var f,h,m,p,g;if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||Array.isArray(e)))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');const r=y8(),s=v8(),o=ys(),i=o.defaultQueryOptions(e);(h=(f=o.getDefaultOptions().queries)==null?void 0:f._experimental_beforeQuery)==null||h.call(f,i),process.env.NODE_ENV!=="production"&&(i.queryFn||console.error(`[${i.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`)),i._optimisticResults=r?"isRestoring":"optimistic",N8(i),w8(i,s),C8(s);const a=!o.getQueryCache().get(i.queryHash),[l]=D.useState(()=>new t(o,i)),u=l.getOptimisticResult(i),d=!r&&e.subscribed!==!1;if(D.useSyncExternalStore(D.useCallback(b=>{const x=d?l.subscribe(cr.batchCalls(b)):ks;return l.updateResult(),x},[l,d]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),D.useEffect(()=>{l.setOptions(i)},[i,l]),Qk(i,u))throw lw(i,l,s);if(S8({result:u,errorResetBoundary:s,throwOnError:i.throwOnError,query:o.getQueryCache().get(i.queryHash),suspense:i.suspense}))throw u.error;if((p=(m=o.getDefaultOptions().queries)==null?void 0:m._experimental_afterQuery)==null||p.call(m,i,u),i.experimental_prefetchInRender&&!Ud&&j8(u,r)){const b=a?lw(i,l,s):(g=o.getQueryCache().get(i.queryHash))==null?void 0:g.promise;b==null||b.catch(ks).finally(()=>{l.updateResult()})}return i.notifyOnChangeProps?u:l.trackResult(u)}function gn(e,t){return Sie(e,rM)}function Nie(e,t){const n=ys(),r=n.getQueryCache();return D.useSyncExternalStore(D.useCallback(s=>r.subscribe(cr.batchCalls(s)),[r]),()=>n.isFetching(e),()=>n.isFetching(e))}function Zo(e,t){const n=ys(),[r]=D.useState(()=>new gie(n,e));D.useEffect(()=>{r.setOptions(e)},[r,e]);const s=D.useSyncExternalStore(D.useCallback(i=>r.subscribe(cr.batchCalls(i)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),o=D.useCallback((i,a)=>{r.mutate(i,a).catch(ks)},[r]);if(s.error&&u8(r.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:o,mutateAsync:s.mutate}}function jie(){const e=w.useContext(oM);if(e&&e.isSemaphorClient)return e}function k8({children:e}){const{setIsSessionExpired:t}=Ht(),n=jie(),[r]=w.useState(()=>{const s=new yie({queryCache:new b8({onError:o=>{o instanceof Error?(console.error(`Something went wrong: ${o.message}`),o.message==="invalid token"&&t(!0)):console.error("Something went wrong:",o)}}),defaultOptions:{queries:{gcTime:36e5,staleTime:3e5,refetchOnWindowFocus:!1,retry:!1}}});return s.isSemaphorClient=!0,s});return n?c.jsx(c.Fragment,{children:e}):c.jsx(vie,{client:r,children:e})}const kie={id:"",authToken:void 0,tokenProps:{}},Dx=w.createContext(kie),aM=({children:e,dashboardProps:t})=>{const n=w.useMemo(()=>{let r={};const s=t.authToken;return s&&(r=G1(s.accessToken)),{...t,tokenProps:r}},[t]);return c.jsx(k8,{children:c.jsx(Dx.Provider,{value:n,children:e})})};function Xe(){const e=w.useContext(Dx);if(e===void 0)throw new Error("useApplicationContext must be used within a ApplicationContextProvider");return e}const ps=aa()($m(e=>({initialDashboard:null,selectedDashboard:null,selectedVisual:null,lastSelectedDashboard:null,lastSelectedVisual:null,showHub:!1,actions:{setInitialDashboard:t=>{e(n=>{n.initialDashboard=t})},selectDashboard:t=>{e(n=>{var r;((r=n.selectedDashboard)==null?void 0:r.id)!==t.id&&(n.lastSelectedDashboard=n.selectedDashboard,n.selectedDashboard=t),n.showHub=!1})},updateSelectedDashboard:t=>{e(n=>{n.selectedDashboard=t})},selectVisual:t=>{e(n=>{n.lastSelectedVisual=n.selectedVisual,n.selectedVisual=t})},clearSelectedDashboard:()=>{e(t=>{t.lastSelectedDashboard=t.selectedDashboard,t.selectedDashboard=null,t.showHub=!0})},clearSelectedVisual:()=>{e(t=>{t.lastSelectedVisual=t.selectedVisual,t.selectedVisual=null})},setShowHub:t=>{e(n=>{n.showHub=t})}}}))),Eie=()=>ps(e=>e.selectedVisual),Ix=()=>ps(e=>e.actions),_ie=e=>{const t=ps(o=>o.selectedDashboard),n=ps(o=>o.lastSelectedDashboard),r=Q(o=>{var i;return(i=o.dashboard)==null?void 0:i.id});return t===null&&n!==null?!1:((t==null?void 0:t.id)||r)===e},Tie=e=>ps(t=>{var n;return((n=t.selectedVisual)==null?void 0:n.id)===e});function nC(){const{authToken:e,version:t,tokenProps:n,id:r}=Xe(),s=Q(b=>b.relaodToken),o=ps(b=>b.selectedDashboard),i=ps(b=>b.showHub),a=w.useRef(null);function l(){return i?null:o!=null&&o.id?o==null?void 0:o.id:r||(n!=null&&n.dashboard_id?n.dashboard_id:null)}const u=Q(b=>b.selectedLensId);function d(){return!(!(e!=null&&e.accessToken)||!l())}const{data:f,isLoading:h,isFetching:m,isError:p,refetch:g}=gn({queryKey:["dashboard",u,e==null?void 0:e.accessToken,l()],queryFn:()=>Woe(n.apiServiceUrl,e==null?void 0:e.accessToken,{lensId:u,version:t,dashboardId:l()}),enabled:d()});return w.useEffect(()=>{const b=l(),x=a.current;x&&x!==b&&Ka.emit("dashboard:unload"),a.current=b},[o==null?void 0:o.id,i,n==null?void 0:n.dashboard_id]),w.useEffect(()=>{s&&g()},[s]),{data:f,isLoading:h,isFetching:m,isError:p,refetch:g}}function Mie(){const{authToken:e}=Xe(),t=Q(r=>r.authToken),{setAuthToken:n}=Ht();return w.useEffect(()=>{e&&(e==null?void 0:e.toString())!==(t==null?void 0:t.toString())&&n(e)},[e,t,n]),e}const E8=(e,t)=>{const n={};if(e===null||t===null)return t;const r=new Set([...Object.keys(e),...Object.keys(t)]);for(const s of r){if(!(s in e)&&s in t){n[s]=t[s];continue}if(s in e&&!(s in t)){n[s]=void 0;continue}const o=e[s],i=t[s];if(!Jk(o,i))if(Array.isArray(o)&&Array.isArray(i))n[s]=i;else if(uF(o)&&uF(i)){const a=E8(o,i);Object.keys(a).length>0&&(n[s]=a)}else n[s]=i}return n},Jk=(e,t)=>{if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(Array.isArray(e)&&Array.isArray(t))return e.length!==t.length?!1:e.every((s,o)=>Jk(s,t[o]));const n=Object.keys(e),r=Object.keys(t);return n.length!==r.length?!1:n.every(s=>Jk(e[s],t[s]))}return!1},uF=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),qd=e=>{if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e);if(e instanceof RegExp)return new RegExp(e);if(Array.isArray(e))return e.map(n=>qd(n));const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=qd(e[n]));return t};function _8(e){const t=w.useCallback(o=>`semaphor-default-sheet-${o}`,[]),n=w.useCallback(()=>{if(!e)return null;try{const o=t(e);return localStorage.getItem(o)}catch(o){return console.error("Error reading default sheet preference:",o),null}},[e,t]),r=w.useCallback(o=>{if(!(!e||!o))try{const i=t(e);localStorage.setItem(i,o)}catch(i){console.error("Error saving default sheet preference:",i)}},[e,t]),s=w.useCallback(()=>{if(e)try{const o=t(e);localStorage.removeItem(o)}catch(o){console.error("Error clearing default sheet preference:",o)}},[e,t]);return{getDefaultSheetId:n,setDefaultSheetId:r,clearDefaultSheetId:s}}function T8(e){return e==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e}function dF(e,t){const n=T8(e);return n==="dark"?om({...t==null?void 0:t.default},{...t==null?void 0:t.dark}):t==null?void 0:t.default}function Die({customStyle:e,currentTheme:t,onSave:n,onEvent:r,defaultFilterValues:s,selectedSheetId:o,onFilterValuesChange:i}){var O,R,H,V,Y;const{authToken:a,tokenProps:l}=Xe();Mie();const u=Q(U=>U.selectedLensId),{data:d,isLoading:f,isFetching:h,isError:m}=nC(),p=((R=(O=l==null?void 0:l.params)==null?void 0:O.calendarContext)==null?void 0:R.tz)||((H=l==null?void 0:l.params)==null?void 0:H.timezone)||Intl.DateTimeFormat().resolvedOptions().timeZone,g=(V=d==null?void 0:d.dashboard)==null?void 0:V.id,{getDefaultSheetId:b,clearDefaultSheetId:x}=_8(g),[y,v]=w.useState(s||[]),C=w.useRef(null),{theme:N,setTheme:S}=Lm(),j=Q(U=>U.dashboard.globalStyle),{setDashboard:k,setDashboardWithFilterValues:_,setSelectedSheetId:E,setStyle:M,setOnSaveFunction:T,setLenses:P,setSelectedLensId:F,setInlineFilterValuesMap:A}=Ht();Q(U=>U.actions.setCustomCards);const $=Q(U=>U.actions.setFilterValues),q=Q(U=>U.filterValues),W=Q(U=>U.actions.setThemeStyle),z=Q(U=>U.actions.setDashboardTheme),I=Q(U=>U.actions.setOnEvent);w.useEffect(()=>{var G;const U=((G=d==null?void 0:d.dashboard)==null?void 0:G.id)||null,B=C.current;U&&U!==B&&Ka.emit("dashboard:load"),C.current=U},[(Y=d==null?void 0:d.dashboard)==null?void 0:Y.id]),w.useEffect(()=>{if(N){const U=T8(N);z(U)}},[N,z]),w.useEffect(()=>{t&&S(t)},[t,S]);const L=w.useCallback(()=>{const U=qd(tw),B=om(U,j);if(e){const G=om(B,e),Z=dF(N,G);W(Z),M(G)}else{const G=dF(N,B);W(G),M(tw)}},[N,e,j,W,M]);return w.useEffect(()=>{d&&d.dashboard&&L()},[N,e,j,L,d]),w.useEffect(()=>{var be,Te,ae;function U(ie,xe){const de=ie.filters||[],Ce=[];for(const ge of xe){const re=de.find(me=>me.id===ge.filterId);re&&Ce.push({filterId:ge.filterId,name:re.column,operation:ge.operation,valueType:Vi(re),values:ge.values,dataType:re.dataType,fieldMeta:re.fieldMeta,semanticContext:re.semanticContext})}return Ce}function B(ie,xe){if(!ie)return[];const de=[],Ce=xe||Intl.DateTimeFormat().resolvedOptions().timeZone;for(const ge of ie){if(Cr(ge.dataType)==="date"&&ge.defaultDateFilter){const[me,Oe]=JT(ge.defaultDateFilter,Ce);de.push({filterId:ge.id,name:ge.column,operation:"between",valueType:"date",values:[me,Oe],relativeMeta:ge.defaultDateFilter,dataType:ge.dataType,fieldMeta:ge.fieldMeta,semanticContext:ge.semanticContext});continue}ge.defaultValues&&ge.defaultValues.length>0&&de.push({filterId:ge.id,name:ge.column,operation:ge.operation,valueType:Vi(ge),values:ge.defaultValues,dataType:ge.dataType,fieldMeta:ge.fieldMeta,semanticContext:ge.semanticContext})}return de}if(!d||!d.dashboard)return;const{dashboard:G,filterValues:Z,defaultLensId:J,lenses:K}=d;function ee(){if(Z&&(Z==null?void 0:Z.length)>0)return Z;const xe=[...B(G.filters,p)];if(G.defaultFilterValues&&G.defaultFilterValues.length>0)for(const ge of G.defaultFilterValues){const re=xe.findIndex(me=>me.filterId===ge.filterId);re>=0?xe[re]=ge:xe.push(ge)}const de=U(G,y||[]),Ce=[...xe];for(const ge of de){const re=Ce.findIndex(me=>me.filterId===ge.filterId);re>=0?Ce[re]=ge:Ce.push(ge)}return Ce}const se=ee(),ce=t8(G,p);_(qd(G),se),A(ce),K&&P(K),J&&F(J);let he=b();he&&((be=G==null?void 0:G.sheets)!=null&&be.some(xe=>xe.id===he)||(x(),he=null));const Se=o||he||((ae=(Te=G==null?void 0:G.sheets)==null?void 0:Te[0])==null?void 0:ae.id)||null;E(Se)},[d,k,E,$,p,u,P,_,F,A,y,o,b,x]),w.useEffect(()=>{i&&q&&i(q)},[q,i]),w.useEffect(()=>{n&&T(n),r&&I(r)},[n,T,r,I]),{isFetching:h,isLoading:f,isError:m}}function ro({className:e,...t}){return c.jsx("div",{className:X("animate-pulse rounded-md bg-muted",e),...t})}const Wo=D.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:X("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Wo.displayName="Card";const Qi=D.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:X("flex flex-col space-y-1.5 p-6",e),...t}));Qi.displayName="CardHeader";const Ji=D.forwardRef(({className:e,...t},n)=>c.jsx("h3",{ref:n,className:X("text-2xl font-semibold leading-none tracking-tight",e),...t}));Ji.displayName="CardTitle";const M8=D.forwardRef(({className:e,...t},n)=>c.jsx("p",{ref:n,className:X("text-sm text-muted-foreground",e),...t}));M8.displayName="CardDescription";const ea=D.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:X("px-6 pt-0",e),...t}));ea.displayName="CardContent";const D8=D.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:X("flex items-center p-6 pt-0",e),...t}));D8.displayName="CardFooter";/**
|
|
9
|
+
`,HT=["_forecast"],ew="dm",Gz="semaphor_calculated_fields",sm="calculated_fields",Gse=[{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"}],UT=["lg","md","sm","xs","xxs"],tw={default:{dashboardPanel:"",dashboardTabsContainer:"",gridLayout:{className:""},chart:{font:{family:"Open Sans, Arial, sans-serif"},dataset:{backgroundColor:[Ln.teal[500],Ln.teal[300],Ln.gray[700],Ln.gray[500],Ln.gray[300]],borderColor:[Ln.teal[500],Ln.teal[300],Ln.gray[700],Ln.gray[500],Ln.gray[300]]},options:{interaction:{mode:"index"},plugins:{datalabels:{display:!1,color:Ik},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:Ik},backgroundColor:[Ln.teal[500],Ln.teal[300],Ln.gray[700],Ln.gray[500],Ln.gray[300]],borderColor:[Ln.teal[500],Ln.teal[300],Ln.gray[700],Ln.gray[500],Ln.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:Ln.slate[800]}},y:{grid:{display:!0,color:Ln.slate[800]}}}}}}};function Ik(e){var r,s,o,i,a,l;const t=(a=(i=(o=(s=(r=e==null?void 0:e.chart)==null?void 0:r.config)==null?void 0:s._config)==null?void 0:o.options)==null?void 0:i.plugins)==null?void 0:a.datalabels;let n=(l=e==null?void 0:e.dataset)==null?void 0:l.backgroundColor;return(t==null?void 0:t.align)==="end"&&(t==null?void 0:t.anchor)==="end"&&(n=Wi()),(t==null?void 0:t.align)==="start"&&(t==null?void 0:t.anchor)==="start"&&(n=Wi()),wo(n)}function Wi(){return Q.getState().theme==="dark"?"#000000":"#FFFFFF"}function wo(e){let t=0,n=0,r=0,s=0;const o=d=>{if(!d)return Ln.gray[500];const f=d.replace("#",""),h=parseInt(f.substring(0,2),16),m=parseInt(f.substring(2,4),16),p=parseInt(f.substring(4,6),16);t+=h,n+=m,r+=p,s++};Array.isArray(e)?e.forEach(d=>{o(d)}):o(e);const i=t/s,a=n/s,l=r/s;return(i*299+a*587+l*114)/1e3>=180?"black":"white"}function Kse({capabilities:e,database:t,schema:n,table:r}){const s=e.prefixLevels,o=[];for(const i of s)i==="database"&&t&&o.push(t),i==="schema"&&n&&o.push(n),i==="table"&&o.push(r);return o.join(".")}const Zse=["text","nullable(string)","name","enum","varchar","nvarchar","nvarchar2","char","character","longtext","nchar","char varying","nchar varying","character varying","string"],Xse=["real","number","integer","int","int64","bigint","smallint","tinyint","byteint","numeric","decimal","dec","double","real","double precision","float","float4","float8","float64"],Qse=["date","datetime","time","timestamp","timestamp without time zone","timestamp_ns"],Jse=["boolean"];function mb(e){return e.startsWith('"')&&e.endsWith('"')?e:e.match(/[A-Z]/)?`"${e}"`:e}function Tx(e){return Zse.includes(e.toLowerCase())||/varchar/i.test(e)}function Zi(e){return Xse.includes(e.toLowerCase())||/int|decimal|float|double/i.test(e)}function Xi(e){return Qse.includes(e.toLowerCase())||/date|time|timestamp/i.test(e)}function WT(e){return Jse.includes(e.toLowerCase())||/boolean/i.test(e)}function qT(e,t,n,r,s,o,i){const{measures:a,dimensions:l}=e,u=a==null?void 0:a.map(p=>`${p.calc}(${p.name}) as ${p.calc}_${p.name.replace(/"/g,"")}`).join(", "),d=(l==null?void 0:l.join(", "))||"";let f="";const m=(r?`${ew}.${r}`:i||GT({schemaName:t,tableName:n,databaseName:s,capabilities:o})).split(".").map(p=>mb(p)).join(".");if(u&&d)return f=`SELECT ${d}, COUNT(*) as count, ${u} FROM ${m} GROUP BY ${d} ORDER BY ${d} DESC LIMIT 100`,f;if(!u&&d)return f=`SELECT ${d}, COUNT(*) as count FROM ${m} GROUP BY ${d} ORDER BY ${d} DESC LIMIT 100`,f;if(u&&!d)return f=`SELECT ${u} FROM ${m} LIMIT 100`,f}function YT(e,t,n="AVG"){var o,i,a,l;let r={};const s=mb(e.column_name);return Tx(e.data_type)&&(((o=t.dimensions)==null?void 0:o.includes(s))?r={...t,dimensions:(i=t.dimensions)==null?void 0:i.filter(d=>d!==s)}:r={...t,dimensions:[...t.dimensions||[],s]}),Zi(e.data_type)&&(((a=t.measures)==null?void 0:a.some(d=>d.name===s&&d.calc===n))?r={...t,measures:(l=t.measures)==null?void 0:l.filter(d=>!(d.name===s&&d.calc===n))}:r={...t,measures:[...t.measures||[],{name:s,calc:n||"SUM"}]}),r}function Vi(e){return Tx(e.dataType)?"string":Zi(e.dataType)?"number":Xi(e.dataType)?"date":WT(e.dataType)?"boolean":"string"}function eoe(e){let t;const n=e.data_type.toLowerCase();return Tx(n)?t="T":Zi(n)?t="#":Xi(n)?t="D":WT(n)?t="B":t="?",t}function toe(e,t){const{dimensions:n,measures:r}=t,s=n==null?void 0:n.includes(e.column_name),o=r==null?void 0:r.some(i=>i.name===e.column_name);return s||o}function Kz(e){return e?e!=null&&e.startsWith(`${ew}.`)?e:`${ew}.${e}`:""}function noe({schemaName:e,tableName:t,databaseName:n,connectionType:r}){return r==="S3"||r==="API"?t:r==="S3Tables"?`${n}.${e}.${t}`:e?`${e}.${t}`:t}function nw({schemaName:e,tableName:t,modelName:n,databaseName:r,capabilities:s,connectionType:o}){let i;s?i=GT({schemaName:e,tableName:t,databaseName:r,capabilities:s}):i=noe({schemaName:e,tableName:t,databaseName:r,connectionType:o}),n&&(i=Kz(n));let a=i;return(u=>/[A-Z]/.test(u))(t)&&(a=a.split(".").map(d=>`"${d}"`).join(".")),a}function GT({schemaName:e,tableName:t,databaseName:n,capabilities:r}){return Kse({capabilities:r,database:n,schema:e||void 0,table:t})}const roe=e=>{const t=new Date(e);return!isNaN(t.getTime())},soe=e=>!isNaN(Number(e))&&!isNaN(parseFloat(e)),KT=e=>{let t;return typeof e=="number"?t="number":typeof e=="string"?roe(e)?t="date":soe(e)?t="number":t="string":typeof e=="boolean"?t="boolean":e instanceof Date?t="date":t="unknown",t};function ooe({get:e,dataPoint:t,card:n}){var h;const{addOrUpdateFilterValue:r,addFilteringCard:s,removeFilterValues:o,replaceFilterValue:i,removeFilteringCard:a}=e().actions,l=e().filteringCards,{columnName:u,columnValue:d}=t,f={filterId:n.id,connectionId:n==null?void 0:n.connectionId,tableName:n.lastSelectedTable,name:u,expression:(h=n.preferences)==null?void 0:h.filterOnClickField,valueType:KT(d),operation:"=",values:[d]};if(l!=null&&l.find(m=>m.id===n.id)){const m=n.id;if(d==null){a(n),o(m);return}else i(f)}s(n),r(f)}function ZP({id:e,layouts:t,initialHeight:n,y:r,x:s,w:o,minH:i}){const a={i:e,x:s??0,y:r??1/0,w:o||20,h:n||35,minW:6,minH:i||10},l=t?{...t}:{};return UT.forEach(u=>{l[u]||(l[u]=[]);const d=l[u].reduce((f,h)=>Math.max(f,h.y+h.h),0);a.y=a.y===1/0?d:a.y,l[u].push({...a})}),l}function XP(e,t){if(!t)return;const n={...t};return UT.forEach(r=>{n[r]&&(n[r]=n[r].filter(s=>s.i!==e))}),n}function J1(e){const t=Q.getState().dashboard.globalCacheConfig,{card:n,filter:r}=e;return t}const ioe=["new","edit","delete","create","update","remove"];function QP(e,t,n){if(n&&t===n)return!0;const r=e.sheets||[];for(const s of r){const o=s.frames||[];for(const i of o){const a=i.cards||[];for(const l of a)if(l.id===t)return!1}}return!0}function aoe(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)?ioe.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 loe(e,t){const n=e.sheets||[];for(const r of n){const s=r.frames||[];for(const o of s){const a=(o.cards||[]).find(l=>l.id===t);if(a)return a}}}function Zz(e,t){const n=nt.toDate(e);return isNaN(t)?nt.constructFrom(e,NaN):(t&&n.setDate(n.getDate()+t),n)}function ZT(e,t){const n=nt.toDate(e);if(isNaN(t))return nt.constructFrom(e,NaN);if(!t)return n;const r=n.getDate(),s=nt.constructFrom(e,n.getTime());s.setMonth(n.getMonth()+t+1,0);const o=s.getDate();return r>=o?s:(n.setFullYear(s.getFullYear(),s.getMonth(),r),n)}function coe(e,t){const n=+nt.toDate(e);return nt.constructFrom(e,n+t)}function ph(e,t){return coe(e,t*nt.millisecondsInHour)}function uoe(e,t){const n=t*3;return ZT(e,n)}function doe(e,t){const n=t*7;return Zz(e,n)}function foe(e,t){return ZT(e,t*12)}function hoe(e){return nt.toDate(e).getMonth()}function moe(e){return nt.toDate(e).getFullYear()}function poe(e,t){return Zz(e,-t)}function rw(e,t){const r=yoe(e);let s;if(r.date){const l=voe(r.date,2);s=woe(l.restDateString,l.year)}if(!s||isNaN(s.getTime()))return new Date(NaN);const o=s.getTime();let i=0,a;if(r.time&&(i=Coe(r.time),isNaN(i)))return new Date(NaN);if(r.timezone){if(a=Soe(r.timezone),isNaN(a))return new Date(NaN)}else{const l=new Date(o+i),u=new Date(0);return u.setFullYear(l.getUTCFullYear(),l.getUTCMonth(),l.getUTCDate()),u.setHours(l.getUTCHours(),l.getUTCMinutes(),l.getUTCSeconds(),l.getUTCMilliseconds()),u}return new Date(o+i+a)}const Jy={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},goe=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,boe=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,xoe=/^([+-])(\d{2})(?::?(\d{2}))?$/;function yoe(e){const t={},n=e.split(Jy.dateTimeDelimiter);let r;if(n.length>2)return t;if(/:/.test(n[0])?r=n[0]:(t.date=n[0],r=n[1],Jy.timeZoneDelimiter.test(t.date)&&(t.date=e.split(Jy.timeZoneDelimiter)[0],r=e.substr(t.date.length,e.length))),r){const s=Jy.timezone.exec(r);s?(t.time=r.replace(s[1],""),t.timezone=s[1]):t.time=r}return t}function voe(e,t){const n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),r=e.match(n);if(!r)return{year:NaN,restDateString:""};const s=r[1]?parseInt(r[1]):null,o=r[2]?parseInt(r[2]):null;return{year:o===null?s:o*100,restDateString:e.slice((r[1]||r[2]).length)}}function woe(e,t){if(t===null)return new Date(NaN);const n=e.match(goe);if(!n)return new Date(NaN);const r=!!n[4],s=Vp(n[1]),o=Vp(n[2])-1,i=Vp(n[3]),a=Vp(n[4]),l=Vp(n[5])-1;if(r)return _oe(t,a,l)?Noe(t,a,l):new Date(NaN);{const u=new Date(0);return!koe(t,o,i)||!Eoe(t,s)?new Date(NaN):(u.setUTCFullYear(t,o,Math.max(s,i)),u)}}function Vp(e){return e?parseInt(e):1}function Coe(e){const t=e.match(boe);if(!t)return NaN;const n=VN(t[1]),r=VN(t[2]),s=VN(t[3]);return Toe(n,r,s)?n*nt.millisecondsInHour+r*nt.millisecondsInMinute+s*1e3:NaN}function VN(e){return e&&parseFloat(e.replace(",","."))||0}function Soe(e){if(e==="Z")return 0;const t=e.match(xoe);if(!t)return 0;const n=t[1]==="+"?-1:1,r=parseInt(t[2]),s=t[3]&&parseInt(t[3])||0;return Moe(r,s)?n*(r*nt.millisecondsInHour+s*nt.millisecondsInMinute):NaN}function Noe(e,t,n){const r=new Date(0);r.setUTCFullYear(e,0,4);const s=r.getUTCDay()||7,o=(t-1)*7+n+1-s;return r.setUTCDate(r.getUTCDate()+o),r}const joe=[31,null,31,30,31,30,31,31,30,31,30,31];function Xz(e){return e%400===0||e%4===0&&e%100!==0}function koe(e,t,n){return t>=0&&t<=11&&n>=1&&n<=(joe[t]||(Xz(e)?29:28))}function Eoe(e,t){return t>=1&&t<=(Xz(e)?366:365)}function _oe(e,t,n){return t>=1&&t<=53&&n>=0&&n<=6}function Toe(e,t,n){return e===24?t===0&&n===0:n>=0&&n<60&&t>=0&&t<60&&e>=0&&e<25}function Moe(e,t){return t>=0&&t<=59}function Doe(e,t){return ZT(e,-t)}function Ioe(e,t){return uoe(e,-t)}function Roe(e,t){return doe(e,-t)}function Aoe(e,t){return foe(e,-t)}const Lu=(e,t)=>e.toString().padStart(t,"0"),mf=(e,t)=>{const n=nt.formatInTimeZone(e,t,"yyyy-MM-dd"),[r,s,o]=n.split("-").map(i=>Number(i));return{year:r,month:s,day:o}},pf=(e,t)=>{const{year:n,month:r,day:s,hours:o=0,minutes:i=0,seconds:a=0,milliseconds:l=0}=e,u=`${Lu(n,4)}-${Lu(r,2)}-${Lu(s,2)}T${Lu(o,2)}:${Lu(i,2)}:${Lu(a,2)}.${Lu(l,3)}`;return nt.fromZonedTime(u,t)},eC=(e,t)=>new Date(Date.UTC(e,t,0)).getUTCDate(),tC=(e,t)=>{if(t===0)return e;const n=new Date(Date.UTC(e.year,e.month-1,e.day));return n.setUTCDate(n.getUTCDate()+t),{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate()}},Poe=(e,t)=>t===0?e:tC(e,t*7),Qz=(e,t)=>{if(t===0)return e;const n=new Date(Date.UTC(e.year,e.month-1,1));n.setUTCMonth(n.getUTCMonth()+t);const r=n.getUTCFullYear(),s=n.getUTCMonth()+1,o=Math.min(e.day,eC(r,s));return{year:r,month:s,day:o}},Foe=(e,t)=>Qz(e,t*3),Ooe=(e,t)=>{if(t===0)return e;const n=e.year+t,r=Math.min(e.day,eC(n,e.month));return{year:n,month:e.month,day:r}},Jz=e=>Math.floor((e-1)/3)*3+1,ci=(e,t)=>{const n=mf(e,t);return pf(n,t)},zo=(e,t)=>{const n=mf(e,t);return pf({...n,hours:23,minutes:59,seconds:59,milliseconds:999},t)},XT=(e,t,n)=>{const r=mf(e,t);return pf(n(r),t)},QT=(e,t,n)=>{const r=mf(e,t),s=pf(n(r),t);return zo(s,t)},_l=(e,t,n=1)=>{const r=typeof n=="object"?n.weekStart:n,o=(Number(nt.formatInTimeZone(e,t,"i"))-r+7)%7,i=mf(e,t),a=o===0?i:tC(i,-o);return pf(a,t)},Lc=(e,t,n=1)=>{const r=typeof n=="object"?n.weekStart:n,s=_l(e,t,r),o=mf(s,t),i=tC(o,6),a=pf(i,t);return zo(a,t)},$i=(e,t)=>XT(e,t,n=>({year:n.year,month:n.month,day:1})),Li=(e,t)=>QT(e,t,n=>({year:n.year,month:n.month,day:eC(n.year,n.month)})),zc=(e,t)=>XT(e,t,n=>({year:n.year,month:Jz(n.month),day:1})),Bc=(e,t)=>QT(e,t,n=>{const s=Jz(n.month)+2;return{year:n.year,month:s,day:eC(n.year,s)}}),ld=(e,t)=>XT(e,t,n=>({year:n.year,month:1,day:1})),cd=(e,t)=>QT(e,t,n=>({year:n.year,month:12,day:31})),Mx=(e,t,n,r)=>{if(r===0)return ci(e,t);const s=mf(e,t);let o=s;switch(n){case"day":o=tC(s,r);break;case"week":o=Poe(s,r);break;case"month":o=Qz(s,r);break;case"quarter":o=Foe(s,r);break;case"year":o=Ooe(s,r);break}return pf(o,t)},ka=(e,t,n)=>Mx(e,t,"day",n),Ea=(e,t,n)=>Mx(e,t,"week",n),js=(e,t,n)=>Mx(e,t,"month",n),_a=(e,t,n)=>Mx(e,t,"quarter",n),jc=(e,t,n)=>Mx(e,t,"year",n),$oe=e=>e?typeof e=="object"&&"tz"in e?e.tz:e:Intl.DateTimeFormat().resolvedOptions().timeZone;function JT(e,t,n=1){const r=new Date,s=nt.toZonedTime(r,t),o=nt.fromZonedTime(s,t);switch(e.mode){case"last":{const{n:i,unit:a,complete:l}=e;if(l)switch(a){case"day":{const u=ka(r,t,-i),d=ka(r,t,-1);return[ci(u,t),zo(d,t)]}case"week":{const u=Ea(r,t,-i),d=Ea(r,t,-1);return[_l(u,t,n),Lc(d,t,n)]}case"month":{const u=js(r,t,-i),d=js(r,t,-1);return[$i(u,t),Li(d,t)]}case"quarter":{const u=_a(r,t,-i),d=_a(r,t,-1);return[zc(u,t),Bc(d,t)]}case"year":{const u=jc(r,t,-i),d=jc(r,t,-1);return[ld(u,t),cd(d,t)]}}else{let u;switch(a){case"day":u=poe(s,i);break;case"week":u=Roe(s,i);break;case"month":u=Doe(s,i);break;case"quarter":u=Ioe(s,i);break;case"year":u=Aoe(s,i);break}return[nt.fromZonedTime(u,t),o]}break}case"this":{const{unit:i,toDate:a}=e;let l,u;switch(i){case"day":l=ci(r,t),u=zo(r,t);break;case"week":l=_l(r,t,n),u=Lc(r,t,n);break;case"month":l=$i(r,t),u=Li(r,t);break;case"quarter":l=zc(r,t),u=Bc(r,t);break;case"year":l=ld(r,t),u=cd(r,t);break}return a?[l,r]:[l,u]}case"previous":{const{unit:i}=e;switch(i){case"day":{const a=ka(r,t,-1);return[ci(a,t),zo(a,t)]}case"week":{const a=Ea(r,t,-1);return[_l(a,t,n),Lc(a,t,n)]}case"month":{const a=js(r,t,-1);return[$i(a,t),Li(a,t)]}case"quarter":{const a=_a(r,t,-1);return[zc(a,t),Bc(a,t)]}case"year":{const a=jc(r,t,-1);return[ld(a,t),cd(a,t)]}}break}case"between":{const{unit:i,from:a,to:l}=e;switch(i){case"day":{const u=ka(r,t,a),d=ka(r,t,l);return[ci(u,t),zo(d,t)]}case"week":{const u=Ea(r,t,a),d=Ea(r,t,l);return[_l(u,t,n),Lc(d,t,n)]}case"month":{const u=js(r,t,a),d=js(r,t,l);return[$i(u,t),Li(d,t)]}case"quarter":{const u=_a(r,t,a),d=_a(r,t,l);return[zc(u,t),Bc(d,t)]}case"year":{const u=jc(r,t,a),d=jc(r,t,l);return[ld(u,t),cd(d,t)]}}break}}return[ci(r,t),zo(r,t)]}const e8={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 t8(e,t){const n=t||Intl.DateTimeFormat().resolvedOptions().timeZone,r={};for(const s of e.sheets||[])for(const o of s.frames||[])for(const i of o.cards||[]){if(!i.inlineFilters||i.inlineFilters.length===0)continue;const a=[];for(const l of i.inlineFilters){if(Cr(l.dataType)==="date"&&l.defaultDateFilter){const[d,f]=JT(l.defaultDateFilter,n);a.push({filterId:l.id,name:l.column,operation:"between",valueType:"date",values:[d,f],relativeMeta:l.defaultDateFilter,dataType:l.dataType});continue}l.defaultValues&&l.defaultValues.length>0&&a.push({filterId:l.id,name:l.column,operation:l.operation,valueType:Cr(l.dataType),values:l.defaultValues,dataType:l.dataType})}a.length>0&&(r[i.id]=a)}return r}const Q=aa()($m((e,t)=>({relaodToken:0,isSessionExpired:!1,currentBreakpoint:"lg",dashboard:{id:"",style:tw},showContext:!1,selectedSheetId:null,selectedCardId:null,selectedFrameId:null,selectedCard:null,showFilters:!1,isDashboardEditing:!1,isVisualEditing:!1,showDashboardJSON:!1,filteringCards:[],isDashboardPanelOpen:!1,inlineFilterValuesMap:{},drillHistory:[],drillContext:null,actions:{setInitStore:()=>{e(n=>{n.relaodToken=0,n.isSessionExpired=!1,n.authToken=void 0,n.currentBreakpoint="lg",n.dashboard={id:"",style:tw},n.showContext=!1,n.selectedSheetId=null,n.selectedCardId=null,n.selectedFrameId=null,n.selectedCard=null,n.showFilters=!1,n.isDashboardEditing=!1,n.isVisualEditing=!1,n.showDashboardJSON=!1,n.filteringCards=[],n.selectedLensId=void 0,n.filterValues=void 0,n.inlineFilterValuesMap={}})},triggerReload:()=>{e(n=>{n.relaodToken=n!=null&&n.relaodToken?n.relaodToken+1:1})},setAiContext:n=>{e(r=>{r.dashboard.aiContext=n})},setHandleOpenAssistantProfile:n=>{e(r=>{r.handleOpenAssistantProfile=n})},setFilterMode:(n,r)=>{const s=r==="exclude"?"not in":"in";e(o=>{var a,l,u;const i=(a=o.dashboard.filters)==null?void 0:a.find(d=>d.id===n);i&&(i.operation=s,o.dashboard.filters=(l=o.dashboard.filters)==null?void 0:l.map(d=>d.id===n?i:d),o.filterValues&&o.filterValues.length>0&&(o.filterValues=(u=o.filterValues)==null?void 0:u.map(d=>d.filterId===n?{...d,operation:s}:d)))})},updateEmailSettings:n=>{e(r=>{r.dashboard.emailSettings=n})},setDefaultFilterValues:n=>{e(r=>{r.dashboard.defaultFilterValues=n})},setIsDownloadingPdf:n=>{e(r=>{r.isDownloadingPdf=n})},setGlobalCacheConfig:n=>{e(r=>{r.dashboard.globalCacheConfig=n})},setLenses:n=>{e(r=>{r.lenses=n})},setSelectedLensId:n=>{e(r=>{r.selectedLensId=n})},deleteSheet:n=>{e(r=>{var o,i,a,l,u,d,f,h;const s=(o=r.dashboard.sheets)==null?void 0:o.findIndex(m=>m.id===n);if(s!==void 0&&s>-1){(i=r.dashboard.sheets)==null||i.splice(s,1);const m=(a=r.dashboard.filters)==null?void 0:a.filter(g=>g.sheetId===n),p=(l=r.filterValues)==null?void 0:l.filter(g=>m==null?void 0:m.some(b=>b.id===g.filterId));if(r.filterValues=(u=r.filterValues)==null?void 0:u.filter(g=>!(p!=null&&p.some(b=>b.filterId===g.filterId))),r.dashboard.filters=(d=r.dashboard.filters)==null?void 0:d.filter(g=>g.sheetId!==n),r.selectedSheetId=(h=(f=r.dashboard.sheets)==null?void 0:f[0])==null?void 0:h.id,r.dashboard.id)try{const g=`semaphor-default-sheet-${r.dashboard.id}`;localStorage.getItem(g)===n&&localStorage.removeItem(g)}catch(g){console.error("Error clearing default sheet preference:",g)}}})},addSheet:n=>{e(r=>{r.dashboard.sheets||(r.dashboard.sheets=[]);const s=r.dashboard.filters;let o={};s==null||s.forEach(a=>{UT.forEach(l=>{o!=null&&o[l]||(o={...o,[l]:[]});const u={i:a.id,x:0,y:0,w:10,h:8};o[l].push(u)})});const i={...n,layouts:o};r.dashboard.sheets.push(i)})},setGlobalStyle:n=>{e(r=>{r.dashboard.globalStyle=n})},setAIScopeTables:n=>{e(r=>{r.dashboard.aiScopeTables=n})},addToAIScope:n=>{e(r=>{const{connectionId:s,connectionType:o,databaseName:i,schemaName:a,tableName:l,datamodelName:u,datamodelId:d}=n,f={connectionId:s||"",connectionType:o||"",databaseName:i||"",schemaName:a||"",tableName:l||"",datamodelName:u||"",datamodelId:d||""};let m=[...r.dashboard.aiScopeTables||[],f];m=m.filter((p,g,b)=>b.findIndex(x=>x.tableName===p.tableName&&x.datamodelName===p.datamodelName)===g),r.dashboard.aiScopeTables=m})},removeFromAIScope:n=>{e(r=>{const{connectionId:s,tableName:o,datamodelName:i}=n,a=r.dashboard.aiScopeTables||[];if(i){const l=a.filter(u=>!(u.datamodelName===i&&u.connectionId===s));r.dashboard.aiScopeTables=l}else if(o){const l=a.filter(u=>!(u.tableName===o&&u.connectionId===s));r.dashboard.aiScopeTables=l}})},setIsSessionExpired:n=>{e(()=>({isSessionExpired:n}))},setCardPython:(n,r)=>{e(s=>{var i,a,l;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(u=>u.id===s.selectedSheetId);o&&((l=o==null?void 0:o.frames)==null||l.forEach(u=>{var f;const d=(f=u.cards)==null?void 0:f.find(h=>h.id===n);d&&(d.python=r)}))})},addBaseQuery:n=>{e(r=>{var s;r.dashboard.baseQueries||(r.dashboard.baseQueries=[]),(s=r.dashboard.baseQueries)==null||s.push(n)})},removeBaseQuery:n=>{e(r=>{var o,i;const s=(o=r.dashboard.baseQueries)==null?void 0:o.findIndex(a=>a.id===n);s!=null&&s>-1&&((i=r.dashboard.baseQueries)==null||i.splice(s,1))})},setBaseQueries:n=>{e(r=>{r.dashboard.baseQueries=n})},setCurrentBreakpoint:n=>{e(()=>({currentBreakpoint:n}))},setFilteringCards:n=>{e(()=>({filteringCards:n}))},addFilteringCard:n=>{e(r=>{var s;(s=r.filteringCards)==null||s.push(n)})},removeFilteringCard:n=>{e(r=>{var o,i;const s=(o=r.filteringCards)==null?void 0:o.findIndex(a=>a.id===n.id);s!==void 0&&s>-1&&((i=r.filteringCards)==null||i.splice(s,1))})},setCustomCards:n=>{e(r=>{r.dashboard.customCards=n})},setAuthToken:n=>{e(()=>({authToken:n}))},setThemeStyle:n=>{e(()=>({themeStyle:n}))},setDashboard:n=>{var i;const r=t().authToken;let s=Intl.DateTimeFormat().resolvedOptions().timeZone;if(r!=null&&r.accessToken)try{const a=G1(r.accessToken);s=((i=a==null?void 0:a.params)==null?void 0:i.timezone)||s}catch{}const o=t8(n,s);e({dashboard:n,inlineFilterValuesMap:o})},setDashboardWithFilterValues:(n,r)=>{e(s=>{s.dashboard=n,s.filterValues=r})},setDashboardTheme:n=>{e(r=>{r.theme=n})},setSheets:n=>{e(r=>{r.dashboard&&(r.dashboard.sheets=n)})},setDashboardTitle:n=>{e(r=>{r.dashboard&&(r.dashboard.title=n)})},setDashboardDescription:n=>{e(r=>{r.dashboard&&(r.dashboard.description=n)})},setSheetTitle:(n,r)=>{e(s=>{var i,a;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(l=>l.id===n);o&&(o.title=r)})},setCardTitle:(n,r,s)=>{e(o=>{var a,l,u;const i=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(d=>d.id===n);i&&((u=i==null?void 0:i.frames)==null||u.forEach(d=>{var h;const f=(h=d.cards)==null?void 0:h.find(m=>m.id===r);f&&(f.title=s)}))})},setCardInfo:(n,r)=>{e(s=>{var i,a,l;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(u=>u.id===s.selectedSheetId);o&&((l=o==null?void 0:o.frames)==null||l.forEach(u=>{var f;const d=(f=u.cards)==null?void 0:f.find(h=>h.id===n);d&&(d.info=r)}))})},setCardDescription:(n,r,s)=>{e(o=>{var a,l,u;const i=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(d=>d.id===n);i&&((u=i==null?void 0:i.frames)==null||u.forEach(d=>{var h;const f=(h=d.cards)==null?void 0:h.find(m=>m.id===r);f&&(f.description=s)}))})},setCardKpiOptions:(n,r,s)=>{e(o=>{var a,l,u;const i=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(d=>d.id===n);i&&((u=i==null?void 0:i.frames)==null||u.forEach(d=>{var h;const f=(h=d.cards)==null?void 0:h.find(m=>m.id===r);f&&(f.preferences||(f.preferences={}),f.preferences.kpiVisualOptions||(f.preferences.kpiVisualOptions={}),f.preferences.kpiVisualOptions={...f.preferences.kpiVisualOptions,...s})}))})},updateCardFilters:(n,r)=>{e(s=>{var i,a;const o=(i=s.dashboard)==null?void 0:i.sheets;if(o)for(const l of o){const u=l.frames||[];for(const d of u){const f=(a=d.cards)==null?void 0:a.find(h=>h.id===n);if(f){f.config||(f.config={}),f.config.filters=r;return}}}})},clearCardFilters:n=>{e(r=>{var o,i;const s=(o=r.dashboard)==null?void 0:o.sheets;if(s)for(const a of s){const l=a.frames||[];for(const u of l){const d=(i=u.cards)==null?void 0:i.find(f=>f.id===n);if(d&&d.config){d.config.filters=void 0;return}}}})},setCardInlineFilterValue:(n,r)=>{e(s=>{s.inlineFilterValuesMap[n]||(s.inlineFilterValuesMap[n]=[]);const o=s.inlineFilterValuesMap[n].findIndex(i=>i.filterId===r.filterId);o>=0?s.inlineFilterValuesMap[n][o]=r:s.inlineFilterValuesMap[n].push(r)})},removeCardInlineFilterValue:(n,r)=>{e(s=>{s.inlineFilterValuesMap[n]&&(s.inlineFilterValuesMap[n]=s.inlineFilterValuesMap[n].filter(o=>o.filterId!==r))})},getCardInlineFilterValues:n=>t().inlineFilterValuesMap[n]||[],clearAllInlineFilterValues:()=>{e(n=>{n.inlineFilterValuesMap={}})},setInlineFilterValuesMap:n=>{e(r=>{r.inlineFilterValuesMap=n})},setCardInlineFilterMode:(n,r,s,o)=>{const i=o==="exclude"?"not in":"in";e(a=>{var u,d,f,h;const l=(d=(u=a.dashboard)==null?void 0:u.sheets)==null?void 0:d.find(m=>m.id===n);if(l)for(const m of l.frames||[]){const p=(f=m.cards)==null?void 0:f.find(g=>g.id===r);if(p&&p.inlineFilters){p.inlineFilters=p.inlineFilters.map(g=>g.id===s?{...g,operation:i}:g),a.inlineFilterValuesMap[r]&&(a.inlineFilterValuesMap[r]=a.inlineFilterValuesMap[r].map(g=>g.filterId===s?{...g,operation:i}:g)),(h=a.onAcceptChanges)==null||h.call(a,m,a.dashboard);return}}})},setCardInlineFilterDefaultValues:(n,r,s,o)=>{e(i=>{var l,u,d,f;const a=(u=(l=i.dashboard)==null?void 0:l.sheets)==null?void 0:u.find(h=>h.id===n);if(a)for(const h of a.frames||[]){const m=(d=h.cards)==null?void 0:d.find(p=>p.id===r);if(m&&m.inlineFilters){m.inlineFilters=m.inlineFilters.map(p=>p.id===s?{...p,defaultValues:o}:p),(f=i.onAcceptChanges)==null||f.call(i,h,i.dashboard);return}}})},setCardSql:(n,r,s)=>{e(o=>{var a,l,u,d;const i=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(f=>f.id===n);if(i){const f=(u=i.cards)==null?void 0:u.find(h=>h.id===r);f&&(f.sql=s,(d=o.onUpdateCard)==null||d.call(o,f,n))}})},setSheetLayout:(n,r)=>{e(s=>{var i,a;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(l=>l.id===n);o&&(o.layout=r)})},setSheetLayouts:(n,r)=>{e(s=>{var i,a;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(l=>l.id===n);o&&(o.layouts=r)})},setShowContext:n=>{e(()=>({showContext:n}))},setShowFilters:n=>{e(()=>({showFilters:n}))},setFilterLayout:n=>{e(r=>{r.dashboard.filterLayout={...r.dashboard.filterLayout,...n}})},setFilterValues:n=>{e(()=>({filterValues:n}))},addOrUpdateFilterValue:n=>{e(r=>{if(r.filterValues){const s=r.filterValues.findIndex(o=>o.filterId===n.filterId);s>-1?r.filterValues.splice(s,1,n):r.filterValues.push(n)}else r.filterValues=[n]})},addOrUpdateFilterValues:n=>{e(r=>{r.filterValues?n.forEach(s=>{var i,a,l,u;const o=(i=r==null?void 0:r.filterValues)==null?void 0:i.findIndex(d=>d.filterId===s.filterId);if(s.values.length===0){r.filterValues=(a=r.filterValues)==null?void 0:a.filter(d=>d.filterId!==s.filterId);return}o!==void 0&&o>-1?(l=r.filterValues)==null||l.splice(o,1,s):(u=r.filterValues)==null||u.push(s)}):r.filterValues=n})},removeFilterValues:n=>{e(r=>{if(r.filterValues){const s=r.filterValues.filter(o=>o.filterId!==n&&!o.filterId.startsWith(n));r.filterValues=s}})},replaceFilterValue:n=>{e(r=>{if(r.filterValues){const s=r.filterValues.findIndex(o=>o.filterId===n.filterId);s>-1&&r.filterValues.splice(s,1,n)}})},addFilter:n=>{e(r=>{var o,i;r.dashboard.filters?(o=r.dashboard.filters)==null||o.push(n):r.dashboard.filters=[n],(i=r.dashboard.sheets)==null||i.find(a=>a.id===r.selectedSheetId);const s=r.dashboard.sheets;s==null||s.forEach(a=>{ZP({id:n.id,layouts:a.layouts,y:0,initialHeight:8,minH:7,w:10})})})},removeFilter:n=>{e(r=>{var s,o,i;if(r.dashboard.filters){const a=(s=r.dashboard.filters)==null?void 0:s.findIndex(l=>l.id===n);if(a>-1){(o=r.dashboard.filters)==null||o.splice(a,1),(i=r.dashboard.sheets)==null||i.find(u=>u.id===r.selectedSheetId);const l=r.dashboard.sheets;l==null||l.forEach(u=>{const d=XP(n,u.layouts);u.layouts=d})}}})},reorderFilters:n=>{e(r=>{if(!r.dashboard.filters)return;const s=new Map(r.dashboard.filters.map(l=>[l.id,l])),o=n.map(l=>s.get(l)).filter(l=>l!==void 0),i=new Set(n),a=r.dashboard.filters.filter(l=>!i.has(l.id));r.dashboard.filters=[...o,...a]})},updateCurrentDashboardCard:n=>{e(r=>{var a,l,u,d,f;const s=(l=(a=r.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(h=>h.id===r.selectedSheetId),o=(u=s==null?void 0:s.frames)==null?void 0:u.find(h=>h.id===r.selectedFrameId),i=(d=o==null?void 0:o.cards)==null?void 0:d.findIndex(h=>h.id===n.id);typeof i=="number"&&i>=0&&((f=o==null?void 0:o.cards)==null||f.splice(i,1,n))})},updateFrameCard:(n,r,s)=>{e(o=>{var l,u,d,f,h;const i=(u=(l=o.dashboard)==null?void 0:l.sheets)==null?void 0:u.find(m=>m.id===n);if(!i)return;const a=(d=i==null?void 0:i.frames)==null?void 0:d.find(m=>m.id===r);if(a){const m=(f=a.cards)==null?void 0:f.findIndex(p=>p.id===s.id);m>-1&&((h=a.cards)==null||h.splice(m,1,s))}})},updateFilter:n=>{e(r=>{var s,o;if(r.dashboard.filters){const i=(s=r.dashboard.filters)==null?void 0:s.findIndex(a=>a.id===n.id);i>-1&&((o=r.dashboard.filters)==null||o.splice(i,1,n))}})},updateFilterId:(n,r)=>{e(s=>{var a,l;const o=(a=s.dashboard.filters)==null?void 0:a.find(u=>u.id===n),i=(l=s.dashboard.filters)==null?void 0:l.some(u=>u.id===r);o&&!i&&(o.id=r)})},setFilterDefaultValues:(n,r)=>{e(s=>{var i;const o=(i=s.dashboard.filters)==null?void 0:i.find(a=>a.id===n);o&&(o.defaultValues=r)})},setIsDashboardEditing:n=>{e(()=>({isDashboardEditing:n}))},setShowDashboardJSON:n=>{e(()=>({showDashboardJSON:n}))},setIsVisualEditing:n=>{e(()=>({isVisualEditing:n}))},addFrame:(n,r,s)=>{e(o=>{var a,l,u,d;const i=(l=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(f=>f.id===n);if(i){i.frames||(i.frames=[]),(u=i.frames)==null||u.push(r);let f=1/0;const h=0;s==="start"&&(f=0);const m=ZP({id:r.id,layouts:i.layouts,minH:10,x:h,y:f});i.layouts=m,(d=o.onAddFrame)==null||d.call(o,r,n)}})},removeFrame:(n,r)=>{e(s=>{var i,a,l,u,d;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(f=>f.id===n);if(o){const f=(l=o.frames)==null?void 0:l.findIndex(h=>h.id===r);console.log(f),typeof f=="number"&&f>-1&&((u=o.frames)==null||u.splice(f,1),(d=o.layout)==null||d.splice(f,1),XP(r,o.layouts))}})},updateFrame:(n,r)=>{e(s=>{var a,l,u;const o=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(d=>d.id===n);if(!(o!=null&&o.frames))return;const i=o.frames.findIndex(d=>d.id===r.id);if(i===-1){console.warn("updateFrame: frame not found",r.id,n);return}o.frames.splice(i,1,r),(u=s.onAcceptChanges)==null||u.call(s,r,s.dashboard)})},updateCard:(n,r)=>{e(s=>{var a,l,u,d,f;const o=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(h=>h.id===n),i=(u=o==null?void 0:o.cards)==null?void 0:u.findIndex(h=>h.id===r.id);o&&((d=o.cards)==null||d.splice(i,1,r),(f=s.onUpdateCard)==null||f.call(s,r,n))})},removeCard:(n,r)=>{e(s=>{var a,l,u,d,f,h;const o=(l=(a=s.dashboard)==null?void 0:a.sheets)==null?void 0:l.find(m=>m.id===n),i=(u=o==null?void 0:o.cards)==null?void 0:u.findIndex(m=>m.id===r.id);o&&((d=o.cards)==null||d.splice(i,1),(f=o.layout)==null||f.splice(i,1),(h=s.onRemoveCard)==null||h.call(s,r,n))})},setStyle:n=>{e(r=>{r.dashboard&&(r.dashboard.style=n)})},setSelectedCardId:(n,r)=>{e(s=>{var i,a,l;const o=(a=(i=s.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(u=>u.id===n);o&&(((l=o.cards)==null?void 0:l.find(d=>d.id===r))?s.selectedCardId=r:s.selectedCardId=null)})},setSelectedFrameId:n=>{e(r=>{var o,i;((i=(o=r.dashboard)==null?void 0:o.sheets)==null?void 0:i.find(a=>a.id===r.selectedSheetId))&&(r.selectedFrameId=n)})},clearSelectedFrameId:()=>{e(n=>{n.selectedFrameId=null})},setSelectedSheetId:n=>{e(r=>{var o,i;((i=(o=r.dashboard)==null?void 0:o.sheets)==null?void 0:i.find(a=>a.id===n))&&(r.selectedSheetId=n)})},setOnSaveFunction:n=>{e(()=>({onSaveFunction:n}))},setOnAddCard:n=>{e(()=>({onAddCard:n}))},setOnAcceptChanges:n=>{e(()=>({onAcceptChanges:n}))},setOnUpdateCard:n=>{e(()=>({onUpdateCard:n}))},setOnRemoveCard:n=>{e(()=>({onRemoveCard:n}))},setOnEvent:n=>{e(()=>({onEvent:n}))},getDashboard:()=>t().dashboard,getSelectedSheet:()=>{var n,r;return(r=(n=t().dashboard)==null?void 0:n.sheets)==null?void 0:r.find(s=>s.id===t().selectedSheetId)},getCardFrame:n=>{var s,o;const r=(s=t().dashboard)==null?void 0:s.sheets;if(r)for(let i=0;i<r.length;i++){const a=r[i].frames;if(a){for(let l=0;l<a.length;l++)if((o=a[l].cards)==null?void 0:o.find(d=>d.id===n))return a[l]}}},getSelectedFrame:()=>{var r,s,o;const n=(s=(r=t().dashboard)==null?void 0:r.sheets)==null?void 0:s.find(i=>i.id===t().selectedSheetId);return(o=n==null?void 0:n.frames)==null?void 0:o.find(i=>i.id===t().selectedFrameId)},getCard:n=>{var s,o;const r=(s=t().dashboard)==null?void 0:s.sheets;if(r)for(let i=0;i<r.length;i++){const a=r[i].frames;if(a)for(let l=0;l<a.length;l++){const u=(o=a[l].cards)==null?void 0:o.find(d=>d.id===n);if(u)return u}}},getSelectedSheetLayout:()=>{var r,s;const n=(s=(r=t().dashboard)==null?void 0:r.sheets)==null?void 0:s.find(o=>o.id===t().selectedSheetId);return n==null?void 0:n.layout},getSelectedSheetLayouts:()=>{var r,s;const n=(s=(r=t().dashboard)==null?void 0:r.sheets)==null?void 0:s.find(o=>o.id===t().selectedSheetId);return n==null?void 0:n.layouts},getStyle:()=>{var n;return(n=t().dashboard)==null?void 0:n.style},getCardSheet(n){var s,o;const r=(s=t().dashboard)==null?void 0:s.sheets;if(r)for(let i=0;i<r.length;i++){const a=r[i].frames;if(a){for(let l=0;l<a.length;l++)if((o=a[l].cards)==null?void 0:o.find(d=>d.id===n))return r[i]}}},handleDataPointClickAction:(n,r)=>{ooe({card:n,dataPoint:r,get:t})},setIsDashboardPanelOpen:n=>{e(()=>({isDashboardPanelOpen:n}))},updateCardId:(n,r)=>{const s=t(),o=aoe(r);return o.isValid?QP(s.dashboard,r,n)?(e(i=>{var l;const a=i.dashboard.sheets||[];for(const u of a){const d=u.frames||[];for(const f of d){const h=f.cards||[];for(let m=0;m<h.length;m++)h[m].id===n&&(h[m].id=r);f.activeCardId===n&&(f.activeCardId=r)}}i.selectedCardId===n&&(i.selectedCardId=r),((l=i.selectedCard)==null?void 0:l.id)===n&&(i.selectedCard.id=r)}),{success:!0}):{success:!1,error:"This Card ID already exists in the dashboard"}:{success:!1,error:o.error}},isCardIdUnique:(n,r)=>QP(t().dashboard,n,r),navigateWithDrill:(n,r,s,o,i)=>{e(a=>{a.drillHistory.push({sourceDashboardId:r,targetDashboardId:n,sourceDashboardTitle:s,filters:o,contextMode:i,timestamp:Date.now()}),a.drillContext={filters:o,sourceDashboardId:r,sourceDashboardTitle:s}})},goBackFromDrill:()=>{e(n=>{if(n.drillHistory.pop(),n.drillHistory.length===0)n.drillContext=null,$t.getState().resetInteractionState(Ra);else{const r=n.drillHistory[n.drillHistory.length-1];n.drillContext={filters:r.filters,sourceDashboardId:r.sourceDashboardId,sourceDashboardTitle:r.sourceDashboardTitle};const s={sourceCardId:Ra,interactionMode:"clickFilter",filterGroups:[{filters:r.filters}]};$t.getState().setInteractionState(Ra,{...li(),appliedClickFilters:[s],contextMode:r.contextMode,sourceDashboardId:r.sourceDashboardId,sourceDashboardTitle:r.sourceDashboardTitle,targetDashboardId:r.targetDashboardId})}})},clearDrillContext:()=>{e(n=>{n.drillHistory=[],n.drillContext=null}),$t.getState().resetInteractionState(Ra)}}}))),n8=()=>Q(t=>{var o,i,a,l,u;const n=(i=(o=t.dashboard)==null?void 0:o.sheets)==null?void 0:i.find(d=>d.id===t.selectedSheetId),r=(a=n==null?void 0:n.frames)==null?void 0:a.find(d=>d.id===t.selectedFrameId);return((l=r==null?void 0:r.cards)==null?void 0:l.find(d=>d.id===(r==null?void 0:r.activeCardId)))||((u=r==null?void 0:r.cards)==null?void 0:u[0])}),r8=()=>{var n;const e=Q(r=>{var s,o;return(o=(s=r.dashboard)==null?void 0:s.sheets)==null?void 0:o.find(i=>i.id===r.selectedSheetId)});return(((n=e==null?void 0:e.frames)==null?void 0:n.map(r=>{var s;return(s=r.cards)==null?void 0:s.find(o=>o.id===r.activeCardId)}))||[]).filter(r=>r!==void 0)},s8=()=>{var t,n,r;const e=n8();return{metricFields:((t=e==null?void 0:e.config)==null?void 0:t.metricColumns)||[],groupByFields:((n=e==null?void 0:e.config)==null?void 0:n.groupByColumns)||[],pivotByFields:((r=e==null?void 0:e.config)==null?void 0:r.pivotByColumns)||[]}},Ht=()=>Q(e=>e.actions);Ka.subscribe("dashboard:load",()=>{Q.getState().actions.setInitStore()});Ka.subscribe("dashboard:unload",()=>{Q.getState().actions.setInitStore()});async function Loe(e,t){const n=t.slice(0,16),r=new TextEncoder,s=await window.crypto.subtle.importKey("raw",r.encode(n),{name:"PBKDF2"},!1,["deriveKey"]),o=await window.crypto.subtle.deriveKey({name:"PBKDF2",salt:r.encode(n),iterations:1e5,hash:"SHA-256"},s,{name:"AES-GCM",length:256},!1,["encrypt"]),i=window.crypto.getRandomValues(new Uint8Array(12)),a=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:i},o,r.encode(e)),l=new Uint8Array(i.length+a.byteLength);return l.set(i,0),l.set(new Uint8Array(a),i.length),{payload:btoa(String.fromCharCode(...l))}}async function o8(e,t){const n=t.slice(0,16),r=new TextEncoder,s=new TextDecoder,o=await window.crypto.subtle.importKey("raw",r.encode(n),{name:"PBKDF2"},!1,["deriveKey"]),i=await window.crypto.subtle.deriveKey({name:"PBKDF2",salt:r.encode(n),iterations:1e5,hash:"SHA-256"},o,{name:"AES-GCM",length:256},!1,["decrypt"]),a=Uint8Array.from(atob(e),h=>h.charCodeAt(0)),l=a.slice(0,12),u=a.slice(a.length-16),d=a.slice(12,a.length-16),f=new Uint8Array(d.length+u.length);f.set(d),f.set(u,d.length);try{const h=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:l},i,f);return{decryptedData:s.decode(h)}}catch(h){throw new Error(`Decryption failed: ${h}`)}}function X(...e){return Yre(Vd(e))}const zoe=e=>Object.keys(e).length===0;async function sr(e,t,n={}){try{const r=new URLSearchParams(n).toString(),s=`${e}?${r}`,o=await fetch(s,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`}});if(!o.ok){const a=await o.json();throw new Error((a==null?void 0:a.error)||`HTTP error! status: ${o.status}`)}return await o.json()}catch(r){throw console.error("Error during fetch:",r),r}}async function Boe(e,t,n={}){try{const r=JSON.stringify(n),s=await Loe(r,t),o=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify(s)});if(!o.ok)throw await o.json();const i=await o.json();if(i.payload){const a=await o8(i.payload,t);return JSON.parse(a.decryptedData)}return i}catch(r){throw console.error("Error during fetch:",r),r}}async function Kr(e,t,n={},r="POST"){try{const s=await fetch(e,{method:r,headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify(n)});if(!s.ok)throw await s.json();return await s.json()}catch(s){throw console.error("Error during fetch:",s),s}}const Voe=typeof window<"u"&&window.isSecureContext,i8=Voe?Boe:Kr;function Hoe(e){if(!e)return;const t=G1(e);if(t.params&&t.params.currencyFormat)return t.params.currencyFormat}function eM(e){return e?G1(e).params:void 0}function pb(e){return e.charAt(0).toUpperCase()+e.slice(1)}function bi(e){return e.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase())}function gb(e){return e.replace(/[_-]+/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase())}const ds="focus:ring-1 focus:ring-offset-0 focus-visible:ring-1 focus-visible:ring-offset-0",kc="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 Uoe(e){var o,i;const t=(i=(o=Q.getState())==null?void 0:o.authToken)==null?void 0:i.accessToken;if(!t)return;const n=`${e}/v1/invalidate-token`,r=await fetch(n,{method:"POST",headers:{Authorization:`Bearer ${t}`}});if(!r.ok)throw new Error("Failed to invalidate token");const s=await r.json();return console.log("invalidateToken",s),s}async function Woe(e,t,n={}){if(!t)return null;let r=`${e}/v1/dashboard`;const s=Object.fromEntries(Object.entries(n).filter(([l,u])=>u!==void 0)),o=new URLSearchParams(s).toString();o&&(r+=`?${o}`);let a=await(await fetch(r,{headers:{Authorization:`Bearer ${t}`}})).json();if("payload"in a){const l=await o8(atob(a.payload),t);a=JSON.parse(l.decryptedData)}return a}async function qoe(e,t){if(!t)return null;const n=`${e}/v1/plugins`;return await(await fetch(n,{headers:{Authorization:`Bearer ${t}`}})).json()}const Cr=e=>/boolean/i.test(e)?"boolean":/date|timestamp/i.test(e)?"date":/int|decimal|float|double|num|real/i.test(e)?"number":/json/i.test(e)?"json":/geo|geography|geometry/i.test(e)?"geo":"string";var sw={exports:{}};sw.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",s=800,o=16,i=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",f="[object Date]",h="[object Error]",m="[object Function]",p="[object GeneratorFunction]",g="[object Map]",b="[object Number]",x="[object Null]",y="[object Object]",v="[object Proxy]",C="[object RegExp]",N="[object Set]",S="[object String]",j="[object Undefined]",k="[object WeakMap]",_="[object ArrayBuffer]",E="[object DataView]",M="[object Float32Array]",T="[object Float64Array]",P="[object Int8Array]",F="[object Int16Array]",A="[object Int32Array]",$="[object Uint8Array]",q="[object Uint8ClampedArray]",W="[object Uint16Array]",z="[object Uint32Array]",I=/[\\^$.*+?()[\]{}|]/g,L=/^\[object .+?Constructor\]$/,O=/^(?:0|[1-9]\d*)$/,R={};R[M]=R[T]=R[P]=R[F]=R[A]=R[$]=R[q]=R[W]=R[z]=!0,R[a]=R[l]=R[_]=R[d]=R[E]=R[f]=R[h]=R[m]=R[g]=R[b]=R[y]=R[C]=R[N]=R[S]=R[k]=!1;var H=typeof El=="object"&&El&&El.Object===Object&&El,V=typeof self=="object"&&self&&self.Object===Object&&self,Y=H||V||Function("return this")(),U=t&&!t.nodeType&&t,B=U&&!0&&e&&!e.nodeType&&e,G=B&&B.exports===U,Z=G&&H.process,J=function(){try{var te=B&&B.require&&B.require("util").types;return te||Z&&Z.binding&&Z.binding("util")}catch{}}(),K=J&&J.isTypedArray;function ee(te,pe,ve){switch(ve.length){case 0:return te.call(pe);case 1:return te.call(pe,ve[0]);case 2:return te.call(pe,ve[0],ve[1]);case 3:return te.call(pe,ve[0],ve[1],ve[2])}return te.apply(pe,ve)}function se(te,pe){for(var ve=-1,rt=Array(te);++ve<te;)rt[ve]=pe(ve);return rt}function ce(te){return function(pe){return te(pe)}}function he(te,pe){return te==null?void 0:te[pe]}function Se(te,pe){return function(ve){return te(pe(ve))}}var be=Array.prototype,Te=Function.prototype,ae=Object.prototype,ie=Y["__core-js_shared__"],xe=Te.toString,de=ae.hasOwnProperty,Ce=function(){var te=/[^.]+$/.exec(ie&&ie.keys&&ie.keys.IE_PROTO||"");return te?"Symbol(src)_1."+te:""}(),ge=ae.toString,re=xe.call(Object),me=RegExp("^"+xe.call(de).replace(I,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Oe=G?Y.Buffer:void 0,Pe=Y.Symbol,Ie=Y.Uint8Array;Oe&&Oe.allocUnsafe;var He=Se(Object.getPrototypeOf,Object),Je=Object.create,at=ae.propertyIsEnumerable,gt=be.splice,bt=Pe?Pe.toStringTag:void 0,ft=function(){try{var te=_N(Object,"defineProperty");return te({},"",{}),te}catch{}}(),Ut=Oe?Oe.isBuffer:void 0,Ue=Math.max,Et=Date.now,le=_N(Y,"Map"),Re=_N(Object,"create"),_e=function(){function te(){}return function(pe){if(!$u(pe))return{};if(Je)return Je(pe);te.prototype=pe;var ve=new te;return te.prototype=void 0,ve}}();function De(te){var pe=-1,ve=te==null?0:te.length;for(this.clear();++pe<ve;){var rt=te[pe];this.set(rt[0],rt[1])}}function We(){this.__data__=Re?Re(null):{},this.size=0}function ke(te){var pe=this.has(te)&&delete this.__data__[te];return this.size-=pe?1:0,pe}function ye(te){var pe=this.__data__;if(Re){var ve=pe[te];return ve===r?void 0:ve}return de.call(pe,te)?pe[te]:void 0}function Ae(te){var pe=this.__data__;return Re?pe[te]!==void 0:de.call(pe,te)}function Ke(te,pe){var ve=this.__data__;return this.size+=this.has(te)?0:1,ve[te]=Re&&pe===void 0?r:pe,this}De.prototype.clear=We,De.prototype.delete=ke,De.prototype.get=ye,De.prototype.has=Ae,De.prototype.set=Ke;function et(te){var pe=-1,ve=te==null?0:te.length;for(this.clear();++pe<ve;){var rt=te[pe];this.set(rt[0],rt[1])}}function ue(){this.__data__=[],this.size=0}function ze(te){var pe=this.__data__,ve=ut(pe,te);if(ve<0)return!1;var rt=pe.length-1;return ve==rt?pe.pop():gt.call(pe,ve,1),--this.size,!0}function Qe(te){var pe=this.__data__,ve=ut(pe,te);return ve<0?void 0:pe[ve][1]}function jt(te){return ut(this.__data__,te)>-1}function mn(te,pe){var ve=this.__data__,rt=ut(ve,te);return rt<0?(++this.size,ve.push([te,pe])):ve[rt][1]=pe,this}et.prototype.clear=ue,et.prototype.delete=ze,et.prototype.get=Qe,et.prototype.has=jt,et.prototype.set=mn;function fr(te){var pe=-1,ve=te==null?0:te.length;for(this.clear();++pe<ve;){var rt=te[pe];this.set(rt[0],rt[1])}}function Wr(){this.size=0,this.__data__={hash:new De,map:new(le||et),string:new De}}function jo(te){var pe=Yy(this,te).delete(te);return this.size-=pe?1:0,pe}function ol(te){return Yy(this,te).get(te)}function Op(te){return Yy(this,te).has(te)}function Wy(te,pe){var ve=Yy(this,te),rt=ve.size;return ve.set(te,pe),this.size+=ve.size==rt?0:1,this}fr.prototype.clear=Wr,fr.prototype.delete=jo,fr.prototype.get=ol,fr.prototype.has=Op,fr.prototype.set=Wy;function hc(te){var pe=this.__data__=new et(te);this.size=pe.size}function CN(){this.__data__=new et,this.size=0}function SN(te){var pe=this.__data__,ve=pe.delete(te);return this.size=pe.size,ve}function NN(te){return this.__data__.get(te)}function qy(te){return this.__data__.has(te)}function jN(te,pe){var ve=this.__data__;if(ve instanceof et){var rt=ve.__data__;if(!le||rt.length<n-1)return rt.push([te,pe]),this.size=++ve.size,this;ve=this.__data__=new fr(rt)}return ve.set(te,pe),this.size=ve.size,this}hc.prototype.clear=CN,hc.prototype.delete=SN,hc.prototype.get=NN,hc.prototype.has=qy,hc.prototype.set=jN;function kN(te,pe){var ve=DN(te),rt=!ve&&MN(te),an=!ve&&!rt&&kP(te),$n=!ve&&!rt&&!an&&_P(te),nr=ve||rt||an||$n,xn=nr?se(te.length,String):[],rr=xn.length;for(var Mi in te)nr&&(Mi=="length"||an&&(Mi=="offset"||Mi=="parent")||$n&&(Mi=="buffer"||Mi=="byteLength"||Mi=="byteOffset")||NP(Mi,rr))||xn.push(Mi);return xn}function Uf(te,pe,ve){(ve!==void 0&&!Gy(te[pe],ve)||ve===void 0&&!(pe in te))&&Rt(te,pe,ve)}function je(te,pe,ve){var rt=te[pe];(!(de.call(te,pe)&&Gy(rt,ve))||ve===void 0&&!(pe in te))&&Rt(te,pe,ve)}function ut(te,pe){for(var ve=te.length;ve--;)if(Gy(te[ve][0],pe))return ve;return-1}function Rt(te,pe,ve){pe=="__proto__"&&ft?ft(te,pe,{configurable:!0,enumerable:!0,value:ve,writable:!0}):te[pe]=ve}var Sn=Gne();function en(te){return te==null?te===void 0?j:x:bt&&bt in Object(te)?Kne(te):tre(te)}function Gn(te){return $p(te)&&en(te)==a}function kr(te){if(!$u(te)||Jne(te))return!1;var pe=RN(te)?me:L;return pe.test(ore(te))}function _i(te){return $p(te)&&EP(te.length)&&!!R[en(te)]}function ko(te){if(!$u(te))return ere(te);var pe=jP(te),ve=[];for(var rt in te)rt=="constructor"&&(pe||!de.call(te,rt))||ve.push(rt);return ve}function mc(te,pe,ve,rt,an){te!==pe&&Sn(pe,function($n,nr){if(an||(an=new hc),$u($n))tr(te,pe,nr,ve,mc,rt,an);else{var xn=rt?rt(TN(te,nr),$n,nr+"",te,pe,an):void 0;xn===void 0&&(xn=$n),Uf(te,nr,xn)}},TP)}function tr(te,pe,ve,rt,an,$n,nr){var xn=TN(te,ve),rr=TN(pe,ve),Mi=nr.get(rr);if(Mi){Uf(te,ve,Mi);return}var Eo=$n?$n(xn,rr,ve+"",te,pe,nr):void 0,Lp=Eo===void 0;if(Lp){var AN=DN(rr),PN=!AN&&kP(rr),DP=!AN&&!PN&&_P(rr);Eo=rr,AN||PN||DP?DN(xn)?Eo=xn:ire(xn)?Eo=Wne(xn):PN?(Lp=!1,Eo=hr(rr)):DP?(Lp=!1,Eo=EN(rr)):Eo=[]:are(rr)||MN(rr)?(Eo=xn,MN(xn)?Eo=lre(xn):(!$u(xn)||RN(xn))&&(Eo=Zne(rr))):Lp=!1}Lp&&(nr.set(rr,Eo),an(Eo,rr,rt,$n,nr),nr.delete(rr)),Uf(te,ve,Eo)}function on(te,pe){return rre(nre(te,pe,MP),te+"")}var zt=ft?function(te,pe){return ft(te,"toString",{configurable:!0,enumerable:!1,value:ure(pe),writable:!0})}:MP;function hr(te,pe){return te.slice()}function Ti(te){var pe=new te.constructor(te.byteLength);return new Ie(pe).set(new Ie(te)),pe}function EN(te,pe){var ve=Ti(te.buffer);return new te.constructor(ve,te.byteOffset,te.length)}function Wne(te,pe){var ve=-1,rt=te.length;for(pe||(pe=Array(rt));++ve<rt;)pe[ve]=te[ve];return pe}function qne(te,pe,ve,rt){var an=!ve;ve||(ve={});for(var $n=-1,nr=pe.length;++$n<nr;){var xn=pe[$n],rr=void 0;rr===void 0&&(rr=te[xn]),an?Rt(ve,xn,rr):je(ve,xn,rr)}return ve}function Yne(te){return on(function(pe,ve){var rt=-1,an=ve.length,$n=an>1?ve[an-1]:void 0,nr=an>2?ve[2]:void 0;for($n=te.length>3&&typeof $n=="function"?(an--,$n):void 0,nr&&Xne(ve[0],ve[1],nr)&&($n=an<3?void 0:$n,an=1),pe=Object(pe);++rt<an;){var xn=ve[rt];xn&&te(pe,xn,rt,$n)}return pe})}function Gne(te){return function(pe,ve,rt){for(var an=-1,$n=Object(pe),nr=rt(pe),xn=nr.length;xn--;){var rr=nr[++an];if(ve($n[rr],rr,$n)===!1)break}return pe}}function Yy(te,pe){var ve=te.__data__;return Qne(pe)?ve[typeof pe=="string"?"string":"hash"]:ve.map}function _N(te,pe){var ve=he(te,pe);return kr(ve)?ve:void 0}function Kne(te){var pe=de.call(te,bt),ve=te[bt];try{te[bt]=void 0;var rt=!0}catch{}var an=ge.call(te);return rt&&(pe?te[bt]=ve:delete te[bt]),an}function Zne(te){return typeof te.constructor=="function"&&!jP(te)?_e(He(te)):{}}function NP(te,pe){var ve=typeof te;return pe=pe??i,!!pe&&(ve=="number"||ve!="symbol"&&O.test(te))&&te>-1&&te%1==0&&te<pe}function Xne(te,pe,ve){if(!$u(ve))return!1;var rt=typeof pe;return(rt=="number"?IN(ve)&&NP(pe,ve.length):rt=="string"&&pe in ve)?Gy(ve[pe],te):!1}function Qne(te){var pe=typeof te;return pe=="string"||pe=="number"||pe=="symbol"||pe=="boolean"?te!=="__proto__":te===null}function Jne(te){return!!Ce&&Ce in te}function jP(te){var pe=te&&te.constructor,ve=typeof pe=="function"&&pe.prototype||ae;return te===ve}function ere(te){var pe=[];if(te!=null)for(var ve in Object(te))pe.push(ve);return pe}function tre(te){return ge.call(te)}function nre(te,pe,ve){return pe=Ue(pe===void 0?te.length-1:pe,0),function(){for(var rt=arguments,an=-1,$n=Ue(rt.length-pe,0),nr=Array($n);++an<$n;)nr[an]=rt[pe+an];an=-1;for(var xn=Array(pe+1);++an<pe;)xn[an]=rt[an];return xn[pe]=ve(nr),ee(te,this,xn)}}function TN(te,pe){if(!(pe==="constructor"&&typeof te[pe]=="function")&&pe!="__proto__")return te[pe]}var rre=sre(zt);function sre(te){var pe=0,ve=0;return function(){var rt=Et(),an=o-(rt-ve);if(ve=rt,an>0){if(++pe>=s)return arguments[0]}else pe=0;return te.apply(void 0,arguments)}}function ore(te){if(te!=null){try{return xe.call(te)}catch{}try{return te+""}catch{}}return""}function Gy(te,pe){return te===pe||te!==te&&pe!==pe}var MN=Gn(function(){return arguments}())?Gn:function(te){return $p(te)&&de.call(te,"callee")&&!at.call(te,"callee")},DN=Array.isArray;function IN(te){return te!=null&&EP(te.length)&&!RN(te)}function ire(te){return $p(te)&&IN(te)}var kP=Ut||dre;function RN(te){if(!$u(te))return!1;var pe=en(te);return pe==m||pe==p||pe==u||pe==v}function EP(te){return typeof te=="number"&&te>-1&&te%1==0&&te<=i}function $u(te){var pe=typeof te;return te!=null&&(pe=="object"||pe=="function")}function $p(te){return te!=null&&typeof te=="object"}function are(te){if(!$p(te)||en(te)!=y)return!1;var pe=He(te);if(pe===null)return!0;var ve=de.call(pe,"constructor")&&pe.constructor;return typeof ve=="function"&&ve instanceof ve&&xe.call(ve)==re}var _P=K?ce(K):_i;function lre(te){return qne(te,TP(te))}function TP(te){return IN(te)?kN(te):ko(te)}var cre=Yne(function(te,pe,ve){mc(te,pe,ve)});function ure(te){return function(){return te}}function MP(te){return te}function dre(){return!1}e.exports=cre})(sw,sw.exports);var Yoe=sw.exports;const om=hf(Yoe),Goe={theme:"system",setTheme:()=>null},a8=w.createContext(Goe);function Koe({children:e,defaultTheme:t="system",storageKey:n="vite-ui-theme",...r}){const[s,o]=w.useState(()=>localStorage.getItem(n)||t);w.useEffect(()=>{const a=window.document.documentElement;if(a.classList.remove("light","dark"),s==="system"){const l=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";a.classList.add(l);return}a.classList.add(s)},[s]);const i={theme:s,setTheme:a=>{localStorage.setItem(n,a),o(a)}};return c.jsx(a8.Provider,{...r,value:i,children:e})}const Lm=()=>{const e=w.useContext(a8);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e};var gf=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Zoe={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Ca,vd,dz,Xoe=(dz=class{constructor(){tt(this,Ca,Zoe);tt(this,vd,!1)}setTimeoutProvider(e){process.env.NODE_ENV!=="production"&&ne(this,vd)&&e!==ne(this,Ca)&&console.error("[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.",{previous:ne(this,Ca),provider:e}),Ve(this,Ca,e),process.env.NODE_ENV!=="production"&&Ve(this,vd,!1)}setTimeout(e,t){return process.env.NODE_ENV!=="production"&&Ve(this,vd,!0),ne(this,Ca).setTimeout(e,t)}clearTimeout(e){ne(this,Ca).clearTimeout(e)}setInterval(e,t){return process.env.NODE_ENV!=="production"&&Ve(this,vd,!0),ne(this,Ca).setInterval(e,t)}clearInterval(e){ne(this,Ca).clearInterval(e)}},Ca=new WeakMap,vd=new WeakMap,dz),ud=new Xoe;function Qoe(e){setTimeout(e,0)}var Ud=typeof window>"u"||"Deno"in globalThis;function ks(){}function Joe(e,t){return typeof e=="function"?e(t):e}function Rk(e){return typeof e=="number"&&e>=0&&e!==1/0}function l8(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Kc(e,t){return typeof e=="function"?e(t):e}function ri(e,t){return typeof e=="function"?e(t):e}function JP(e,t){const{type:n="all",exact:r,fetchStatus:s,predicate:o,queryKey:i,stale:a}=e;if(i){if(r){if(t.queryHash!==tM(i,t.options))return!1}else if(!bb(t.queryKey,i))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||s&&s!==t.state.fetchStatus||o&&!o(t))}function eF(e,t){const{exact:n,status:r,predicate:s,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(n){if(Wd(t.options.mutationKey)!==Wd(o))return!1}else if(!bb(t.options.mutationKey,o))return!1}return!(r&&t.state.status!==r||s&&!s(t))}function tM(e,t){return((t==null?void 0:t.queryKeyHashFn)||Wd)(e)}function Wd(e){return JSON.stringify(e,(t,n)=>Ak(n)?Object.keys(n).sort().reduce((r,s)=>(r[s]=n[s],r),{}):n)}function bb(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>bb(e[n],t[n])):!1}var eie=Object.prototype.hasOwnProperty;function ow(e,t){if(e===t)return e;const n=tF(e)&&tF(t);if(!n&&!(Ak(e)&&Ak(t)))return t;const s=(n?e:Object.keys(e)).length,o=n?t:Object.keys(t),i=o.length,a=n?new Array(i):{};let l=0;for(let u=0;u<i;u++){const d=n?u:o[u],f=e[d],h=t[d];if(f===h){a[d]=f,(n?u<s:eie.call(e,d))&&l++;continue}if(f===null||h===null||typeof f!="object"||typeof h!="object"){a[d]=h;continue}const m=ow(f,h);a[d]=m,m===f&&l++}return s===i&&l===s?e:a}function xb(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function tF(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Ak(e){if(!nF(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!nF(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function nF(e){return Object.prototype.toString.call(e)==="[object Object]"}function tie(e){return new Promise(t=>{ud.setTimeout(t,e)})}function Pk(e,t,n){if(typeof n.structuralSharing=="function")return n.structuralSharing(e,t);if(n.structuralSharing!==!1){if(process.env.NODE_ENV!=="production")try{return ow(e,t)}catch(r){throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${n.queryHash}]: ${r}`),r}return ow(e,t)}return t}function nie(e){return e}function rie(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function sie(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var iw=Symbol();function c8(e,t){return process.env.NODE_ENV!=="production"&&e.queryFn===iw&&console.error(`Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`),!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===iw?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function u8(e,t){return typeof e=="function"?e(...t):!!e}var wd,Tc,Hh,fz,oie=(fz=class extends gf{constructor(){super();tt(this,wd);tt(this,Tc);tt(this,Hh);Ve(this,Hh,t=>{if(!Ud&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){ne(this,Tc)||this.setEventListener(ne(this,Hh))}onUnsubscribe(){var t;this.hasListeners()||((t=ne(this,Tc))==null||t.call(this),Ve(this,Tc,void 0))}setEventListener(t){var n;Ve(this,Hh,t),(n=ne(this,Tc))==null||n.call(this),Ve(this,Tc,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){ne(this,wd)!==t&&(Ve(this,wd,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof ne(this,wd)=="boolean"?ne(this,wd):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},wd=new WeakMap,Tc=new WeakMap,Hh=new WeakMap,fz),nM=new oie;function Fk(){let e,t;const n=new Promise((s,o)=>{e=s,t=o});n.status="pending",n.catch(()=>{});function r(s){Object.assign(n,s),delete n.resolve,delete n.reject}return n.resolve=s=>{r({status:"fulfilled",value:s}),e(s)},n.reject=s=>{r({status:"rejected",reason:s}),t(s)},n}var iie=Qoe;function aie(){let e=[],t=0,n=a=>{a()},r=a=>{a()},s=iie;const o=a=>{t?e.push(a):s(()=>{n(a)})},i=()=>{const a=e;e=[],a.length&&s(()=>{r(()=>{a.forEach(l=>{n(l)})})})};return{batch:a=>{let l;t++;try{l=a()}finally{t--,t||i()}return l},batchCalls:a=>(...l)=>{o(()=>{a(...l)})},schedule:o,setNotifyFunction:a=>{n=a},setBatchNotifyFunction:a=>{r=a},setScheduler:a=>{s=a}}}var cr=aie(),Uh,Mc,Wh,hz,lie=(hz=class extends gf{constructor(){super();tt(this,Uh,!0);tt(this,Mc);tt(this,Wh);Ve(this,Wh,t=>{if(!Ud&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){ne(this,Mc)||this.setEventListener(ne(this,Wh))}onUnsubscribe(){var t;this.hasListeners()||((t=ne(this,Mc))==null||t.call(this),Ve(this,Mc,void 0))}setEventListener(t){var n;Ve(this,Wh,t),(n=ne(this,Mc))==null||n.call(this),Ve(this,Mc,t(this.setOnline.bind(this)))}setOnline(t){ne(this,Uh)!==t&&(Ve(this,Uh,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return ne(this,Uh)}},Uh=new WeakMap,Mc=new WeakMap,Wh=new WeakMap,hz),aw=new lie;function cie(e){return Math.min(1e3*2**e,3e4)}function d8(e){return(e??"online")==="online"?aw.isOnline():!0}var Ok=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function f8(e){let t=!1,n=0,r;const s=Fk(),o=()=>s.status!=="pending",i=g=>{var b;if(!o()){const x=new Ok(g);h(x),(b=e.onCancel)==null||b.call(e,x)}},a=()=>{t=!0},l=()=>{t=!1},u=()=>nM.isFocused()&&(e.networkMode==="always"||aw.isOnline())&&e.canRun(),d=()=>d8(e.networkMode)&&e.canRun(),f=g=>{o()||(r==null||r(),s.resolve(g))},h=g=>{o()||(r==null||r(),s.reject(g))},m=()=>new Promise(g=>{var b;r=x=>{(o()||u())&&g(x)},(b=e.onPause)==null||b.call(e)}).then(()=>{var g;r=void 0,o()||(g=e.onContinue)==null||g.call(e)}),p=()=>{if(o())return;let g;const b=n===0?e.initialPromise:void 0;try{g=b??e.fn()}catch(x){g=Promise.reject(x)}Promise.resolve(g).then(f).catch(x=>{var S;if(o())return;const y=e.retry??(Ud?0:3),v=e.retryDelay??cie,C=typeof v=="function"?v(n,x):v,N=y===!0||typeof y=="number"&&n<y||typeof y=="function"&&y(n,x);if(t||!N){h(x);return}n++,(S=e.onFail)==null||S.call(e,n,x),tie(C).then(()=>u()?void 0:m()).then(()=>{t?h(x):p()})})};return{promise:s,status:()=>s.status,cancel:i,continue:()=>(r==null||r(),s),cancelRetry:a,continueRetry:l,canStart:d,start:()=>(d()?p():m().then(p),s)}}var Cd,mz,h8=(mz=class{constructor(){tt(this,Cd)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Rk(this.gcTime)&&Ve(this,Cd,ud.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Ud?1/0:5*60*1e3))}clearGcTimeout(){ne(this,Cd)&&(ud.clearTimeout(ne(this,Cd)),Ve(this,Cd,void 0))}},Cd=new WeakMap,mz),Sd,qh,ti,Nd,Qr,xx,jd,Fi,cl,pz,uie=(pz=class extends h8{constructor(t){super();tt(this,Fi);tt(this,Sd);tt(this,qh);tt(this,ti);tt(this,Nd);tt(this,Qr);tt(this,xx);tt(this,jd);Ve(this,jd,!1),Ve(this,xx,t.defaultOptions),this.setOptions(t.options),this.observers=[],Ve(this,Nd,t.client),Ve(this,ti,ne(this,Nd).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,Ve(this,Sd,sF(this.options)),this.state=t.state??ne(this,Sd),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=ne(this,Qr))==null?void 0:t.promise}setOptions(t){if(this.options={...ne(this,xx),...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=sF(this.options);n.data!==void 0&&(this.setState(rF(n.data,n.dataUpdatedAt)),Ve(this,Sd,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&ne(this,ti).remove(this)}setData(t,n){const r=Pk(this.state.data,t,this.options);return yt(this,Fi,cl).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){yt(this,Fi,cl).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r,s;const n=(r=ne(this,Qr))==null?void 0:r.promise;return(s=ne(this,Qr))==null||s.cancel(t),n?n.then(ks).catch(ks):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(ne(this,Sd))}isActive(){return this.observers.some(t=>ri(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===iw||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Kc(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!l8(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=ne(this,Qr))==null||n.continue()}onOnline(){var n;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=ne(this,Qr))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),ne(this,ti).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(ne(this,Qr)&&(ne(this,jd)?ne(this,Qr).cancel({revert:!0}):ne(this,Qr).cancelRetry()),this.scheduleGc()),ne(this,ti).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||yt(this,Fi,cl).call(this,{type:"invalidate"})}async fetch(t,n){var l,u,d,f,h,m,p,g,b,x,y,v;if(this.state.fetchStatus!=="idle"&&((l=ne(this,Qr))==null?void 0:l.status())!=="rejected"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(ne(this,Qr))return ne(this,Qr).continueRetry(),ne(this,Qr).promise}if(t&&this.setOptions(t),!this.options.queryFn){const C=this.observers.find(N=>N.options.queryFn);C&&this.setOptions(C.options)}process.env.NODE_ENV!=="production"&&(Array.isArray(this.options.queryKey)||console.error("As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']"));const r=new AbortController,s=C=>{Object.defineProperty(C,"signal",{enumerable:!0,get:()=>(Ve(this,jd,!0),r.signal)})},o=()=>{const C=c8(this.options,n),S=(()=>{const j={client:ne(this,Nd),queryKey:this.queryKey,meta:this.meta};return s(j),j})();return Ve(this,jd,!1),this.options.persister?this.options.persister(C,S,this):C(S)},a=(()=>{const C={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:ne(this,Nd),state:this.state,fetchFn:o};return s(C),C})();(u=this.options.behavior)==null||u.onFetch(a,this),Ve(this,qh,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((d=a.fetchOptions)==null?void 0:d.meta))&&yt(this,Fi,cl).call(this,{type:"fetch",meta:(f=a.fetchOptions)==null?void 0:f.meta}),Ve(this,Qr,f8({initialPromise:n==null?void 0:n.initialPromise,fn:a.fetchFn,onCancel:C=>{C instanceof Ok&&C.revert&&this.setState({...ne(this,qh),fetchStatus:"idle"}),r.abort()},onFail:(C,N)=>{yt(this,Fi,cl).call(this,{type:"failed",failureCount:C,error:N})},onPause:()=>{yt(this,Fi,cl).call(this,{type:"pause"})},onContinue:()=>{yt(this,Fi,cl).call(this,{type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0}));try{const C=await ne(this,Qr).start();if(C===void 0)throw process.env.NODE_ENV!=="production"&&console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`),new Error(`${this.queryHash} data is undefined`);return this.setData(C),(m=(h=ne(this,ti).config).onSuccess)==null||m.call(h,C,this),(g=(p=ne(this,ti).config).onSettled)==null||g.call(p,C,this.state.error,this),C}catch(C){if(C instanceof Ok){if(C.silent)return ne(this,Qr).promise;if(C.revert){if(this.state.data===void 0)throw C;return this.state.data}}throw yt(this,Fi,cl).call(this,{type:"error",error:C}),(x=(b=ne(this,ti).config).onError)==null||x.call(b,C,this),(v=(y=ne(this,ti).config).onSettled)==null||v.call(y,this.state.data,C,this),C}finally{this.scheduleGc()}}},Sd=new WeakMap,qh=new WeakMap,ti=new WeakMap,Nd=new WeakMap,Qr=new WeakMap,xx=new WeakMap,jd=new WeakMap,Fi=new WeakSet,cl=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...m8(r.data,this.options),fetchMeta:t.meta??null};case"success":const s={...r,...rF(t.data,t.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return Ve(this,qh,t.manual?s:void 0),s;case"error":const o=t.error;return{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),cr.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),ne(this,ti).notify({query:this,type:"updated",action:t})})},pz);function m8(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:d8(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function rF(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function sF(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var po,tn,yx,Gs,kd,Yh,xl,Dc,vx,Gh,Kh,Ed,_d,Ic,Zh,Mn,ug,$k,Lk,zk,Bk,Vk,Hk,Uk,p8,gz,rM=(gz=class extends gf{constructor(t,n){super();tt(this,Mn);tt(this,po);tt(this,tn);tt(this,yx);tt(this,Gs);tt(this,kd);tt(this,Yh);tt(this,xl);tt(this,Dc);tt(this,vx);tt(this,Gh);tt(this,Kh);tt(this,Ed);tt(this,_d);tt(this,Ic);tt(this,Zh,new Set);this.options=n,Ve(this,po,t),Ve(this,Dc,null),Ve(this,xl,Fk()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(ne(this,tn).addObserver(this),oF(ne(this,tn),this.options)?yt(this,Mn,ug).call(this):this.updateResult(),yt(this,Mn,Bk).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Wk(ne(this,tn),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Wk(ne(this,tn),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,yt(this,Mn,Vk).call(this),yt(this,Mn,Hk).call(this),ne(this,tn).removeObserver(this)}setOptions(t){const n=this.options,r=ne(this,tn);if(this.options=ne(this,po).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof ri(this.options.enabled,ne(this,tn))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");yt(this,Mn,Uk).call(this),ne(this,tn).setOptions(this.options),n._defaulted&&!xb(this.options,n)&&ne(this,po).getQueryCache().notify({type:"observerOptionsUpdated",query:ne(this,tn),observer:this});const s=this.hasListeners();s&&iF(ne(this,tn),r,this.options,n)&&yt(this,Mn,ug).call(this),this.updateResult(),s&&(ne(this,tn)!==r||ri(this.options.enabled,ne(this,tn))!==ri(n.enabled,ne(this,tn))||Kc(this.options.staleTime,ne(this,tn))!==Kc(n.staleTime,ne(this,tn)))&&yt(this,Mn,$k).call(this);const o=yt(this,Mn,Lk).call(this);s&&(ne(this,tn)!==r||ri(this.options.enabled,ne(this,tn))!==ri(n.enabled,ne(this,tn))||o!==ne(this,Ic))&&yt(this,Mn,zk).call(this,o)}getOptimisticResult(t){const n=ne(this,po).getQueryCache().build(ne(this,po),t),r=this.createResult(n,t);return fie(this,r)&&(Ve(this,Gs,r),Ve(this,Yh,this.options),Ve(this,kd,ne(this,tn).state)),r}getCurrentResult(){return ne(this,Gs)}trackResult(t,n){return new Proxy(t,{get:(r,s)=>(this.trackProp(s),n==null||n(s),s==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&ne(this,xl).status==="pending"&&ne(this,xl).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,s))})}trackProp(t){ne(this,Zh).add(t)}getCurrentQuery(){return ne(this,tn)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=ne(this,po).defaultQueryOptions(t),r=ne(this,po).getQueryCache().build(ne(this,po),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return yt(this,Mn,ug).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),ne(this,Gs)))}createResult(t,n){var _;const r=ne(this,tn),s=this.options,o=ne(this,Gs),i=ne(this,kd),a=ne(this,Yh),u=t!==r?t.state:ne(this,yx),{state:d}=t;let f={...d},h=!1,m;if(n._optimisticResults){const E=this.hasListeners(),M=!E&&oF(t,n),T=E&&iF(t,r,n,s);(M||T)&&(f={...f,...m8(d.data,t.options)}),n._optimisticResults==="isRestoring"&&(f.fetchStatus="idle")}let{error:p,errorUpdatedAt:g,status:b}=f;m=f.data;let x=!1;if(n.placeholderData!==void 0&&m===void 0&&b==="pending"){let E;o!=null&&o.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData)?(E=o.data,x=!0):E=typeof n.placeholderData=="function"?n.placeholderData((_=ne(this,Kh))==null?void 0:_.state.data,ne(this,Kh)):n.placeholderData,E!==void 0&&(b="success",m=Pk(o==null?void 0:o.data,E,n),h=!0)}if(n.select&&m!==void 0&&!x)if(o&&m===(i==null?void 0:i.data)&&n.select===ne(this,vx))m=ne(this,Gh);else try{Ve(this,vx,n.select),m=n.select(m),m=Pk(o==null?void 0:o.data,m,n),Ve(this,Gh,m),Ve(this,Dc,null)}catch(E){Ve(this,Dc,E)}ne(this,Dc)&&(p=ne(this,Dc),m=ne(this,Gh),g=Date.now(),b="error");const y=f.fetchStatus==="fetching",v=b==="pending",C=b==="error",N=v&&y,S=m!==void 0,k={status:b,fetchStatus:f.fetchStatus,isPending:v,isSuccess:b==="success",isError:C,isInitialLoading:N,isLoading:N,data:m,dataUpdatedAt:f.dataUpdatedAt,error:p,errorUpdatedAt:g,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:f.dataUpdateCount>0||f.errorUpdateCount>0,isFetchedAfterMount:f.dataUpdateCount>u.dataUpdateCount||f.errorUpdateCount>u.errorUpdateCount,isFetching:y,isRefetching:y&&!v,isLoadingError:C&&!S,isPaused:f.fetchStatus==="paused",isPlaceholderData:h,isRefetchError:C&&S,isStale:sM(t,n),refetch:this.refetch,promise:ne(this,xl),isEnabled:ri(n.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const E=P=>{k.status==="error"?P.reject(k.error):k.data!==void 0&&P.resolve(k.data)},M=()=>{const P=Ve(this,xl,k.promise=Fk());E(P)},T=ne(this,xl);switch(T.status){case"pending":t.queryHash===r.queryHash&&E(T);break;case"fulfilled":(k.status==="error"||k.data!==T.value)&&M();break;case"rejected":(k.status!=="error"||k.error!==T.reason)&&M();break}}return k}updateResult(){const t=ne(this,Gs),n=this.createResult(ne(this,tn),this.options);if(Ve(this,kd,ne(this,tn).state),Ve(this,Yh,this.options),ne(this,kd).data!==void 0&&Ve(this,Kh,ne(this,tn)),xb(n,t))return;Ve(this,Gs,n);const r=()=>{if(!t)return!0;const{notifyOnChangeProps:s}=this.options,o=typeof s=="function"?s():s;if(o==="all"||!o&&!ne(this,Zh).size)return!0;const i=new Set(o??ne(this,Zh));return this.options.throwOnError&&i.add("error"),Object.keys(ne(this,Gs)).some(a=>{const l=a;return ne(this,Gs)[l]!==t[l]&&i.has(l)})};yt(this,Mn,p8).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&yt(this,Mn,Bk).call(this)}},po=new WeakMap,tn=new WeakMap,yx=new WeakMap,Gs=new WeakMap,kd=new WeakMap,Yh=new WeakMap,xl=new WeakMap,Dc=new WeakMap,vx=new WeakMap,Gh=new WeakMap,Kh=new WeakMap,Ed=new WeakMap,_d=new WeakMap,Ic=new WeakMap,Zh=new WeakMap,Mn=new WeakSet,ug=function(t){yt(this,Mn,Uk).call(this);let n=ne(this,tn).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(ks)),n},$k=function(){yt(this,Mn,Vk).call(this);const t=Kc(this.options.staleTime,ne(this,tn));if(Ud||ne(this,Gs).isStale||!Rk(t))return;const r=l8(ne(this,Gs).dataUpdatedAt,t)+1;Ve(this,Ed,ud.setTimeout(()=>{ne(this,Gs).isStale||this.updateResult()},r))},Lk=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(ne(this,tn)):this.options.refetchInterval)??!1},zk=function(t){yt(this,Mn,Hk).call(this),Ve(this,Ic,t),!(Ud||ri(this.options.enabled,ne(this,tn))===!1||!Rk(ne(this,Ic))||ne(this,Ic)===0)&&Ve(this,_d,ud.setInterval(()=>{(this.options.refetchIntervalInBackground||nM.isFocused())&&yt(this,Mn,ug).call(this)},ne(this,Ic)))},Bk=function(){yt(this,Mn,$k).call(this),yt(this,Mn,zk).call(this,yt(this,Mn,Lk).call(this))},Vk=function(){ne(this,Ed)&&(ud.clearTimeout(ne(this,Ed)),Ve(this,Ed,void 0))},Hk=function(){ne(this,_d)&&(ud.clearInterval(ne(this,_d)),Ve(this,_d,void 0))},Uk=function(){const t=ne(this,po).getQueryCache().build(ne(this,po),this.options);if(t===ne(this,tn))return;const n=ne(this,tn);Ve(this,tn,t),Ve(this,yx,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},p8=function(t){cr.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(ne(this,Gs))}),ne(this,po).getQueryCache().notify({query:ne(this,tn),type:"observerResultsUpdated"})})},gz);function die(e,t){return ri(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function oF(e,t){return die(e,t)||e.state.data!==void 0&&Wk(e,t,t.refetchOnMount)}function Wk(e,t,n){if(ri(t.enabled,e)!==!1&&Kc(t.staleTime,e)!=="static"){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&sM(e,t)}return!1}function iF(e,t,n,r){return(e!==t||ri(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&sM(e,n)}function sM(e,t){return ri(t.enabled,e)!==!1&&e.isStaleByTime(Kc(t.staleTime,e))}function fie(e,t){return!xb(e.getCurrentResult(),t)}function aF(e){return{onFetch:(t,n)=>{var d,f,h,m,p;const r=t.options,s=(h=(f=(d=t.fetchOptions)==null?void 0:d.meta)==null?void 0:f.fetchMore)==null?void 0:h.direction,o=((m=t.state.data)==null?void 0:m.pages)||[],i=((p=t.state.data)==null?void 0:p.pageParams)||[];let a={pages:[],pageParams:[]},l=0;const u=async()=>{let g=!1;const b=v=>{Object.defineProperty(v,"signal",{enumerable:!0,get:()=>(t.signal.aborted?g=!0:t.signal.addEventListener("abort",()=>{g=!0}),t.signal)})},x=c8(t.options,t.fetchOptions),y=async(v,C,N)=>{if(g)return Promise.reject();if(C==null&&v.pages.length)return Promise.resolve(v);const j=(()=>{const M={client:t.client,queryKey:t.queryKey,pageParam:C,direction:N?"backward":"forward",meta:t.options.meta};return b(M),M})(),k=await x(j),{maxPages:_}=t.options,E=N?sie:rie;return{pages:E(v.pages,k,_),pageParams:E(v.pageParams,C,_)}};if(s&&o.length){const v=s==="backward",C=v?hie:lF,N={pages:o,pageParams:i},S=C(r,N);a=await y(N,S,v)}else{const v=e??o.length;do{const C=l===0?i[0]??r.initialPageParam:lF(r,a);if(l>0&&C==null)break;a=await y(a,C),l++}while(l<v)}return a};t.options.persister?t.fetchFn=()=>{var g,b;return(b=(g=t.options).persister)==null?void 0:b.call(g,u,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=u}}}function lF(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function hie(e,{pages:t,pageParams:n}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n):void 0}var wx,Sa,Ks,Td,Na,wc,bz,mie=(bz=class extends h8{constructor(t){super();tt(this,Na);tt(this,wx);tt(this,Sa);tt(this,Ks);tt(this,Td);Ve(this,wx,t.client),this.mutationId=t.mutationId,Ve(this,Ks,t.mutationCache),Ve(this,Sa,[]),this.state=t.state||g8(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){ne(this,Sa).includes(t)||(ne(this,Sa).push(t),this.clearGcTimeout(),ne(this,Ks).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){Ve(this,Sa,ne(this,Sa).filter(n=>n!==t)),this.scheduleGc(),ne(this,Ks).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){ne(this,Sa).length||(this.state.status==="pending"?this.scheduleGc():ne(this,Ks).remove(this))}continue(){var t;return((t=ne(this,Td))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var i,a,l,u,d,f,h,m,p,g,b,x,y,v,C,N,S,j,k,_;const n=()=>{yt(this,Na,wc).call(this,{type:"continue"})},r={client:ne(this,wx),meta:this.options.meta,mutationKey:this.options.mutationKey};Ve(this,Td,f8({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(new Error("No mutationFn found")),onFail:(E,M)=>{yt(this,Na,wc).call(this,{type:"failed",failureCount:E,error:M})},onPause:()=>{yt(this,Na,wc).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>ne(this,Ks).canRun(this)}));const s=this.state.status==="pending",o=!ne(this,Td).canStart();try{if(s)n();else{yt(this,Na,wc).call(this,{type:"pending",variables:t,isPaused:o}),await((a=(i=ne(this,Ks).config).onMutate)==null?void 0:a.call(i,t,this,r));const M=await((u=(l=this.options).onMutate)==null?void 0:u.call(l,t,r));M!==this.state.context&&yt(this,Na,wc).call(this,{type:"pending",context:M,variables:t,isPaused:o})}const E=await ne(this,Td).start();return await((f=(d=ne(this,Ks).config).onSuccess)==null?void 0:f.call(d,E,t,this.state.context,this,r)),await((m=(h=this.options).onSuccess)==null?void 0:m.call(h,E,t,this.state.context,r)),await((g=(p=ne(this,Ks).config).onSettled)==null?void 0:g.call(p,E,null,this.state.variables,this.state.context,this,r)),await((x=(b=this.options).onSettled)==null?void 0:x.call(b,E,null,t,this.state.context,r)),yt(this,Na,wc).call(this,{type:"success",data:E}),E}catch(E){try{throw await((v=(y=ne(this,Ks).config).onError)==null?void 0:v.call(y,E,t,this.state.context,this,r)),await((N=(C=this.options).onError)==null?void 0:N.call(C,E,t,this.state.context,r)),await((j=(S=ne(this,Ks).config).onSettled)==null?void 0:j.call(S,void 0,E,this.state.variables,this.state.context,this,r)),await((_=(k=this.options).onSettled)==null?void 0:_.call(k,void 0,E,t,this.state.context,r)),E}finally{yt(this,Na,wc).call(this,{type:"error",error:E})}}finally{ne(this,Ks).runNext(this)}}},wx=new WeakMap,Sa=new WeakMap,Ks=new WeakMap,Td=new WeakMap,Na=new WeakSet,wc=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),cr.batch(()=>{ne(this,Sa).forEach(r=>{r.onMutationUpdate(t)}),ne(this,Ks).notify({mutation:this,type:"updated",action:t})})},bz);function g8(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var yl,Oi,Cx,xz,pie=(xz=class extends gf{constructor(t={}){super();tt(this,yl);tt(this,Oi);tt(this,Cx);this.config=t,Ve(this,yl,new Set),Ve(this,Oi,new Map),Ve(this,Cx,0)}build(t,n,r){const s=new mie({client:t,mutationCache:this,mutationId:++Ky(this,Cx)._,options:t.defaultMutationOptions(n),state:r});return this.add(s),s}add(t){ne(this,yl).add(t);const n=e0(t);if(typeof n=="string"){const r=ne(this,Oi).get(n);r?r.push(t):ne(this,Oi).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(ne(this,yl).delete(t)){const n=e0(t);if(typeof n=="string"){const r=ne(this,Oi).get(n);if(r)if(r.length>1){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}else r[0]===t&&ne(this,Oi).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){const n=e0(t);if(typeof n=="string"){const r=ne(this,Oi).get(n),s=r==null?void 0:r.find(o=>o.state.status==="pending");return!s||s===t}else return!0}runNext(t){var r;const n=e0(t);if(typeof n=="string"){const s=(r=ne(this,Oi).get(n))==null?void 0:r.find(o=>o!==t&&o.state.isPaused);return(s==null?void 0:s.continue())??Promise.resolve()}else return Promise.resolve()}clear(){cr.batch(()=>{ne(this,yl).forEach(t=>{this.notify({type:"removed",mutation:t})}),ne(this,yl).clear(),ne(this,Oi).clear()})}getAll(){return Array.from(ne(this,yl))}find(t){const n={exact:!0,...t};return this.getAll().find(r=>eF(n,r))}findAll(t={}){return this.getAll().filter(n=>eF(t,n))}notify(t){cr.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return cr.batch(()=>Promise.all(t.map(n=>n.continue().catch(ks))))}},yl=new WeakMap,Oi=new WeakMap,Cx=new WeakMap,xz);function e0(e){var t;return(t=e.options.scope)==null?void 0:t.id}var vl,Rc,go,wl,Wl,Ev,qk,yz,gie=(yz=class extends gf{constructor(n,r){super();tt(this,Wl);tt(this,vl);tt(this,Rc);tt(this,go);tt(this,wl);Ve(this,vl,n),this.setOptions(r),this.bindMethods(),yt(this,Wl,Ev).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var s;const r=this.options;this.options=ne(this,vl).defaultMutationOptions(n),xb(this.options,r)||ne(this,vl).getMutationCache().notify({type:"observerOptionsUpdated",mutation:ne(this,go),observer:this}),r!=null&&r.mutationKey&&this.options.mutationKey&&Wd(r.mutationKey)!==Wd(this.options.mutationKey)?this.reset():((s=ne(this,go))==null?void 0:s.state.status)==="pending"&&ne(this,go).setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=ne(this,go))==null||n.removeObserver(this)}onMutationUpdate(n){yt(this,Wl,Ev).call(this),yt(this,Wl,qk).call(this,n)}getCurrentResult(){return ne(this,Rc)}reset(){var n;(n=ne(this,go))==null||n.removeObserver(this),Ve(this,go,void 0),yt(this,Wl,Ev).call(this),yt(this,Wl,qk).call(this)}mutate(n,r){var s;return Ve(this,wl,r),(s=ne(this,go))==null||s.removeObserver(this),Ve(this,go,ne(this,vl).getMutationCache().build(ne(this,vl),this.options)),ne(this,go).addObserver(this),ne(this,go).execute(n)}},vl=new WeakMap,Rc=new WeakMap,go=new WeakMap,wl=new WeakMap,Wl=new WeakSet,Ev=function(){var r;const n=((r=ne(this,go))==null?void 0:r.state)??g8();Ve(this,Rc,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},qk=function(n){cr.batch(()=>{var r,s,o,i,a,l,u,d;if(ne(this,wl)&&this.hasListeners()){const f=ne(this,Rc).variables,h=ne(this,Rc).context,m={client:ne(this,vl),meta:this.options.meta,mutationKey:this.options.mutationKey};(n==null?void 0:n.type)==="success"?((s=(r=ne(this,wl)).onSuccess)==null||s.call(r,n.data,f,h,m),(i=(o=ne(this,wl)).onSettled)==null||i.call(o,n.data,null,f,h,m)):(n==null?void 0:n.type)==="error"&&((l=(a=ne(this,wl)).onError)==null||l.call(a,n.error,f,h,m),(d=(u=ne(this,wl)).onSettled)==null||d.call(u,void 0,n.error,f,h,m))}this.listeners.forEach(f=>{f(ne(this,Rc))})})},yz);function cF(e,t){const n=new Set(t);return e.filter(r=>!n.has(r))}function bie(e,t,n){const r=e.slice(0);return r[t]=n,r}var Md,Ao,Xh,Qh,ni,Ac,Sx,Nx,jx,xs,Yk,Gk,Kk,Zk,Xk,vz,xie=(vz=class extends gf{constructor(t,n,r){super();tt(this,xs);tt(this,Md);tt(this,Ao);tt(this,Xh);tt(this,Qh);tt(this,ni);tt(this,Ac);tt(this,Sx);tt(this,Nx);tt(this,jx,[]);Ve(this,Md,t),Ve(this,Qh,r),Ve(this,Xh,[]),Ve(this,ni,[]),Ve(this,Ao,[]),this.setQueries(n)}onSubscribe(){this.listeners.size===1&&ne(this,ni).forEach(t=>{t.subscribe(n=>{yt(this,xs,Zk).call(this,t,n)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,ne(this,ni).forEach(t=>{t.destroy()})}setQueries(t,n){if(Ve(this,Xh,t),Ve(this,Qh,n),process.env.NODE_ENV!=="production"){const r=t.map(s=>ne(this,Md).defaultQueryOptions(s).queryHash);new Set(r).size!==r.length&&console.warn("[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.")}cr.batch(()=>{const r=ne(this,ni),s=yt(this,xs,Kk).call(this,ne(this,Xh));Ve(this,jx,s),s.forEach(f=>f.observer.setOptions(f.defaultedQueryOptions));const o=s.map(f=>f.observer),i=o.map(f=>f.getCurrentResult()),a=r.length!==o.length,l=o.some((f,h)=>f!==r[h]),u=a||l,d=u?!0:i.some((f,h)=>{const m=ne(this,Ao)[h];return!m||!xb(f,m)});!u&&!d||(u&&Ve(this,ni,o),Ve(this,Ao,i),this.hasListeners()&&(u&&(cF(r,o).forEach(f=>{f.destroy()}),cF(o,r).forEach(f=>{f.subscribe(h=>{yt(this,xs,Zk).call(this,f,h)})})),yt(this,xs,Xk).call(this)))})}getCurrentResult(){return ne(this,Ao)}getQueries(){return ne(this,ni).map(t=>t.getCurrentQuery())}getObservers(){return ne(this,ni)}getOptimisticResult(t,n){const r=yt(this,xs,Kk).call(this,t),s=r.map(o=>o.observer.getOptimisticResult(o.defaultedQueryOptions));return[s,o=>yt(this,xs,Gk).call(this,o??s,n),()=>yt(this,xs,Yk).call(this,s,r)]}},Md=new WeakMap,Ao=new WeakMap,Xh=new WeakMap,Qh=new WeakMap,ni=new WeakMap,Ac=new WeakMap,Sx=new WeakMap,Nx=new WeakMap,jx=new WeakMap,xs=new WeakSet,Yk=function(t,n){return n.map((r,s)=>{const o=t[s];return r.defaultedQueryOptions.notifyOnChangeProps?o:r.observer.trackResult(o,i=>{n.forEach(a=>{a.observer.trackProp(i)})})})},Gk=function(t,n){return n?((!ne(this,Ac)||ne(this,Ao)!==ne(this,Nx)||n!==ne(this,Sx))&&(Ve(this,Sx,n),Ve(this,Nx,ne(this,Ao)),Ve(this,Ac,ow(ne(this,Ac),n(t)))),ne(this,Ac)):t},Kk=function(t){const n=new Map;ne(this,ni).forEach(s=>{const o=s.options.queryHash;if(!o)return;const i=n.get(o);i?i.push(s):n.set(o,[s])});const r=[];return t.forEach(s=>{var l;const o=ne(this,Md).defaultQueryOptions(s),a=((l=n.get(o.queryHash))==null?void 0:l.shift())??new rM(ne(this,Md),o);r.push({defaultedQueryOptions:o,observer:a})}),r},Zk=function(t,n){const r=ne(this,ni).indexOf(t);r!==-1&&(Ve(this,Ao,bie(ne(this,Ao),r,n)),yt(this,xs,Xk).call(this))},Xk=function(){var t;if(this.hasListeners()){const n=ne(this,Ac),r=yt(this,xs,Yk).call(this,ne(this,Ao),ne(this,jx)),s=yt(this,xs,Gk).call(this,r,(t=ne(this,Qh))==null?void 0:t.combine);n!==s&&cr.batch(()=>{this.listeners.forEach(o=>{o(ne(this,Ao))})})}},vz),ja,wz,b8=(wz=class extends gf{constructor(t={}){super();tt(this,ja);this.config=t,Ve(this,ja,new Map)}build(t,n,r){const s=n.queryKey,o=n.queryHash??tM(s,n);let i=this.get(o);return i||(i=new uie({client:t,queryKey:s,queryHash:o,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(s)}),this.add(i)),i}add(t){ne(this,ja).has(t.queryHash)||(ne(this,ja).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=ne(this,ja).get(t.queryHash);n&&(t.destroy(),n===t&&ne(this,ja).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){cr.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return ne(this,ja).get(t)}getAll(){return[...ne(this,ja).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>JP(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>JP(t,r)):n}notify(t){cr.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){cr.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){cr.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},ja=new WeakMap,wz),mr,Pc,Fc,Jh,em,Oc,tm,nm,Cz,yie=(Cz=class{constructor(e={}){tt(this,mr);tt(this,Pc);tt(this,Fc);tt(this,Jh);tt(this,em);tt(this,Oc);tt(this,tm);tt(this,nm);Ve(this,mr,e.queryCache||new b8),Ve(this,Pc,e.mutationCache||new pie),Ve(this,Fc,e.defaultOptions||{}),Ve(this,Jh,new Map),Ve(this,em,new Map),Ve(this,Oc,0)}mount(){Ky(this,Oc)._++,ne(this,Oc)===1&&(Ve(this,tm,nM.subscribe(async e=>{e&&(await this.resumePausedMutations(),ne(this,mr).onFocus())})),Ve(this,nm,aw.subscribe(async e=>{e&&(await this.resumePausedMutations(),ne(this,mr).onOnline())})))}unmount(){var e,t;Ky(this,Oc)._--,ne(this,Oc)===0&&((e=ne(this,tm))==null||e.call(this),Ve(this,tm,void 0),(t=ne(this,nm))==null||t.call(this),Ve(this,nm,void 0))}isFetching(e){return ne(this,mr).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return ne(this,Pc).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=ne(this,mr).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=ne(this,mr).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Kc(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return ne(this,mr).findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),s=ne(this,mr).get(r.queryHash),o=s==null?void 0:s.state.data,i=Joe(t,o);if(i!==void 0)return ne(this,mr).build(this,r).setData(i,{...n,manual:!0})}setQueriesData(e,t,n){return cr.batch(()=>ne(this,mr).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=ne(this,mr).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=ne(this,mr);cr.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=ne(this,mr);return cr.batch(()=>(n.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=cr.batch(()=>ne(this,mr).findAll(e).map(s=>s.cancel(n)));return Promise.all(r).then(ks).catch(ks)}invalidateQueries(e,t={}){return cr.batch(()=>(ne(this,mr).findAll(e).forEach(n=>{n.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=cr.batch(()=>ne(this,mr).findAll(e).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let o=s.fetch(void 0,n);return n.throwOnError||(o=o.catch(ks)),s.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(r).then(ks)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=ne(this,mr).build(this,t);return n.isStaleByTime(Kc(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ks).catch(ks)}fetchInfiniteQuery(e){return e.behavior=aF(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ks).catch(ks)}ensureInfiniteQueryData(e){return e.behavior=aF(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return aw.isOnline()?ne(this,Pc).resumePausedMutations():Promise.resolve()}getQueryCache(){return ne(this,mr)}getMutationCache(){return ne(this,Pc)}getDefaultOptions(){return ne(this,Fc)}setDefaultOptions(e){Ve(this,Fc,e)}setQueryDefaults(e,t){ne(this,Jh).set(Wd(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...ne(this,Jh).values()],n={};return t.forEach(r=>{bb(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){ne(this,em).set(Wd(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...ne(this,em).values()],n={};return t.forEach(r=>{bb(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...ne(this,Fc).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=tM(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===iw&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...ne(this,Fc).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){ne(this,mr).clear(),ne(this,Pc).clear()}},mr=new WeakMap,Pc=new WeakMap,Fc=new WeakMap,Jh=new WeakMap,em=new WeakMap,Oc=new WeakMap,tm=new WeakMap,nm=new WeakMap,Cz),oM=D.createContext(void 0),ys=e=>{const t=D.useContext(oM);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},vie=({client:e,children:t})=>(D.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),c.jsx(oM.Provider,{value:e,children:t})),x8=D.createContext(!1),y8=()=>D.useContext(x8);x8.Provider;function wie(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Cie=D.createContext(wie()),v8=()=>D.useContext(Cie),w8=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},C8=e=>{D.useEffect(()=>{e.clearReset()},[e])},S8=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:s})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(s&&e.data===void 0||u8(n,[e.error,r])),N8=e=>{if(e.suspense){const n=s=>s==="static"?s:Math.max(s??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...s)=>n(r(...s)):n(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},j8=(e,t)=>e.isLoading&&e.isFetching&&!t,Qk=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,lw=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function iM({queries:e,...t},n){const r=ys(),s=y8(),o=v8(),i=D.useMemo(()=>e.map(g=>{const b=r.defaultQueryOptions(g);return b._optimisticResults=s?"isRestoring":"optimistic",b}),[e,r,s]);i.forEach(g=>{N8(g),w8(g,o)}),C8(o);const[a]=D.useState(()=>new xie(r,i,t)),[l,u,d]=a.getOptimisticResult(i,t.combine),f=!s&&t.subscribed!==!1;D.useSyncExternalStore(D.useCallback(g=>f?a.subscribe(cr.batchCalls(g)):ks,[a,f]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),D.useEffect(()=>{a.setQueries(i,t)},[i,t,a]);const m=l.some((g,b)=>Qk(i[b],g))?l.flatMap((g,b)=>{const x=i[b];if(x){const y=new rM(r,x);if(Qk(x,g))return lw(x,y,o);j8(g,s)&&lw(x,y,o)}return[]}):[];if(m.length>0)throw Promise.all(m);const p=l.find((g,b)=>{const x=i[b];return x&&S8({result:g,errorResetBoundary:o,throwOnError:x.throwOnError,query:r.getQueryCache().get(x.queryHash),suspense:x.suspense})});if(p!=null&&p.error)throw p.error;return u(d())}function Sie(e,t,n){var f,h,m,p,g;if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||Array.isArray(e)))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');const r=y8(),s=v8(),o=ys(),i=o.defaultQueryOptions(e);(h=(f=o.getDefaultOptions().queries)==null?void 0:f._experimental_beforeQuery)==null||h.call(f,i),process.env.NODE_ENV!=="production"&&(i.queryFn||console.error(`[${i.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`)),i._optimisticResults=r?"isRestoring":"optimistic",N8(i),w8(i,s),C8(s);const a=!o.getQueryCache().get(i.queryHash),[l]=D.useState(()=>new t(o,i)),u=l.getOptimisticResult(i),d=!r&&e.subscribed!==!1;if(D.useSyncExternalStore(D.useCallback(b=>{const x=d?l.subscribe(cr.batchCalls(b)):ks;return l.updateResult(),x},[l,d]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),D.useEffect(()=>{l.setOptions(i)},[i,l]),Qk(i,u))throw lw(i,l,s);if(S8({result:u,errorResetBoundary:s,throwOnError:i.throwOnError,query:o.getQueryCache().get(i.queryHash),suspense:i.suspense}))throw u.error;if((p=(m=o.getDefaultOptions().queries)==null?void 0:m._experimental_afterQuery)==null||p.call(m,i,u),i.experimental_prefetchInRender&&!Ud&&j8(u,r)){const b=a?lw(i,l,s):(g=o.getQueryCache().get(i.queryHash))==null?void 0:g.promise;b==null||b.catch(ks).finally(()=>{l.updateResult()})}return i.notifyOnChangeProps?u:l.trackResult(u)}function gn(e,t){return Sie(e,rM)}function Nie(e,t){const n=ys(),r=n.getQueryCache();return D.useSyncExternalStore(D.useCallback(s=>r.subscribe(cr.batchCalls(s)),[r]),()=>n.isFetching(e),()=>n.isFetching(e))}function Zo(e,t){const n=ys(),[r]=D.useState(()=>new gie(n,e));D.useEffect(()=>{r.setOptions(e)},[r,e]);const s=D.useSyncExternalStore(D.useCallback(i=>r.subscribe(cr.batchCalls(i)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),o=D.useCallback((i,a)=>{r.mutate(i,a).catch(ks)},[r]);if(s.error&&u8(r.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:o,mutateAsync:s.mutate}}function jie(){const e=w.useContext(oM);if(e&&e.isSemaphorClient)return e}function k8({children:e}){const{setIsSessionExpired:t}=Ht(),n=jie(),[r]=w.useState(()=>{const s=new yie({queryCache:new b8({onError:o=>{o instanceof Error?(console.error(`Something went wrong: ${o.message}`),o.message==="invalid token"&&t(!0)):console.error("Something went wrong:",o)}}),defaultOptions:{queries:{gcTime:36e5,staleTime:3e5,refetchOnWindowFocus:!1,retry:!1}}});return s.isSemaphorClient=!0,s});return n?c.jsx(c.Fragment,{children:e}):c.jsx(vie,{client:r,children:e})}const kie={id:"",authToken:void 0,tokenProps:{}},Dx=w.createContext(kie),aM=({children:e,dashboardProps:t})=>{const n=w.useMemo(()=>{let r={};const s=t.authToken;return s&&(r=G1(s.accessToken)),{...t,tokenProps:r}},[t]);return c.jsx(k8,{children:c.jsx(Dx.Provider,{value:n,children:e})})};function Xe(){const e=w.useContext(Dx);if(e===void 0)throw new Error("useApplicationContext must be used within a ApplicationContextProvider");return e}const ps=aa()($m(e=>({initialDashboard:null,selectedDashboard:null,selectedVisual:null,lastSelectedDashboard:null,lastSelectedVisual:null,showHub:!1,actions:{setInitialDashboard:t=>{e(n=>{n.initialDashboard=t})},selectDashboard:t=>{e(n=>{var r;((r=n.selectedDashboard)==null?void 0:r.id)!==t.id&&(n.lastSelectedDashboard=n.selectedDashboard,n.selectedDashboard=t),n.showHub=!1})},updateSelectedDashboard:t=>{e(n=>{n.selectedDashboard=t})},selectVisual:t=>{e(n=>{n.lastSelectedVisual=n.selectedVisual,n.selectedVisual=t})},clearSelectedDashboard:()=>{e(t=>{t.lastSelectedDashboard=t.selectedDashboard,t.selectedDashboard=null,t.showHub=!0})},clearSelectedVisual:()=>{e(t=>{t.lastSelectedVisual=t.selectedVisual,t.selectedVisual=null})},setShowHub:t=>{e(n=>{n.showHub=t})}}}))),Eie=()=>ps(e=>e.selectedVisual),Ix=()=>ps(e=>e.actions),_ie=e=>{const t=ps(o=>o.selectedDashboard),n=ps(o=>o.lastSelectedDashboard),r=Q(o=>{var i;return(i=o.dashboard)==null?void 0:i.id});return t===null&&n!==null?!1:((t==null?void 0:t.id)||r)===e},Tie=e=>ps(t=>{var n;return((n=t.selectedVisual)==null?void 0:n.id)===e});function nC(){const{authToken:e,version:t,tokenProps:n,id:r}=Xe(),s=Q(b=>b.relaodToken),o=ps(b=>b.selectedDashboard),i=ps(b=>b.showHub),a=w.useRef(null);function l(){return i?null:o!=null&&o.id?o==null?void 0:o.id:r||(n!=null&&n.dashboard_id?n.dashboard_id:null)}const u=Q(b=>b.selectedLensId);function d(){return!(!(e!=null&&e.accessToken)||!l())}const{data:f,isLoading:h,isFetching:m,isError:p,refetch:g}=gn({queryKey:["dashboard",u,e==null?void 0:e.accessToken,l()],queryFn:()=>Woe(n.apiServiceUrl,e==null?void 0:e.accessToken,{lensId:u,version:t,dashboardId:l()}),enabled:d()});return w.useEffect(()=>{const b=l(),x=a.current;x&&x!==b&&Ka.emit("dashboard:unload"),a.current=b},[o==null?void 0:o.id,i,n==null?void 0:n.dashboard_id]),w.useEffect(()=>{s&&g()},[s]),{data:f,isLoading:h,isFetching:m,isError:p,refetch:g}}function Mie(){const{authToken:e}=Xe(),t=Q(r=>r.authToken),{setAuthToken:n}=Ht();return w.useEffect(()=>{const r=e==null?void 0:e.accessToken,s=t==null?void 0:t.accessToken;e&&r!==s&&n(e)},[e,t,n]),e}const E8=(e,t)=>{const n={};if(e===null||t===null)return t;const r=new Set([...Object.keys(e),...Object.keys(t)]);for(const s of r){if(!(s in e)&&s in t){n[s]=t[s];continue}if(s in e&&!(s in t)){n[s]=void 0;continue}const o=e[s],i=t[s];if(!Jk(o,i))if(Array.isArray(o)&&Array.isArray(i))n[s]=i;else if(uF(o)&&uF(i)){const a=E8(o,i);Object.keys(a).length>0&&(n[s]=a)}else n[s]=i}return n},Jk=(e,t)=>{if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(Array.isArray(e)&&Array.isArray(t))return e.length!==t.length?!1:e.every((s,o)=>Jk(s,t[o]));const n=Object.keys(e),r=Object.keys(t);return n.length!==r.length?!1:n.every(s=>Jk(e[s],t[s]))}return!1},uF=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),qd=e=>{if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e);if(e instanceof RegExp)return new RegExp(e);if(Array.isArray(e))return e.map(n=>qd(n));const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=qd(e[n]));return t};function _8(e){const t=w.useCallback(o=>`semaphor-default-sheet-${o}`,[]),n=w.useCallback(()=>{if(!e)return null;try{const o=t(e);return localStorage.getItem(o)}catch(o){return console.error("Error reading default sheet preference:",o),null}},[e,t]),r=w.useCallback(o=>{if(!(!e||!o))try{const i=t(e);localStorage.setItem(i,o)}catch(i){console.error("Error saving default sheet preference:",i)}},[e,t]),s=w.useCallback(()=>{if(e)try{const o=t(e);localStorage.removeItem(o)}catch(o){console.error("Error clearing default sheet preference:",o)}},[e,t]);return{getDefaultSheetId:n,setDefaultSheetId:r,clearDefaultSheetId:s}}function T8(e){return e==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e}function dF(e,t){const n=T8(e);return n==="dark"?om({...t==null?void 0:t.default},{...t==null?void 0:t.dark}):t==null?void 0:t.default}function Die({customStyle:e,currentTheme:t,onSave:n,onEvent:r,defaultFilterValues:s,selectedSheetId:o,onFilterValuesChange:i}){var O,R,H,V,Y;const{authToken:a,tokenProps:l}=Xe();Mie();const u=Q(U=>U.selectedLensId),{data:d,isLoading:f,isFetching:h,isError:m}=nC(),p=((R=(O=l==null?void 0:l.params)==null?void 0:O.calendarContext)==null?void 0:R.tz)||((H=l==null?void 0:l.params)==null?void 0:H.timezone)||Intl.DateTimeFormat().resolvedOptions().timeZone,g=(V=d==null?void 0:d.dashboard)==null?void 0:V.id,{getDefaultSheetId:b,clearDefaultSheetId:x}=_8(g),[y,v]=w.useState(s||[]),C=w.useRef(null),{theme:N,setTheme:S}=Lm(),j=Q(U=>U.dashboard.globalStyle),{setDashboard:k,setDashboardWithFilterValues:_,setSelectedSheetId:E,setStyle:M,setOnSaveFunction:T,setLenses:P,setSelectedLensId:F,setInlineFilterValuesMap:A}=Ht();Q(U=>U.actions.setCustomCards);const $=Q(U=>U.actions.setFilterValues),q=Q(U=>U.filterValues),W=Q(U=>U.actions.setThemeStyle),z=Q(U=>U.actions.setDashboardTheme),I=Q(U=>U.actions.setOnEvent);w.useEffect(()=>{var G;const U=((G=d==null?void 0:d.dashboard)==null?void 0:G.id)||null,B=C.current;U&&U!==B&&Ka.emit("dashboard:load"),C.current=U},[(Y=d==null?void 0:d.dashboard)==null?void 0:Y.id]),w.useEffect(()=>{if(N){const U=T8(N);z(U)}},[N,z]),w.useEffect(()=>{t&&S(t)},[t,S]);const L=w.useCallback(()=>{const U=qd(tw),B=om(U,j);if(e){const G=om(B,e),Z=dF(N,G);W(Z),M(G)}else{const G=dF(N,B);W(G),M(tw)}},[N,e,j,W,M]);return w.useEffect(()=>{d&&d.dashboard&&L()},[N,e,j,L,d]),w.useEffect(()=>{var be,Te,ae;function U(ie,xe){const de=ie.filters||[],Ce=[];for(const ge of xe){const re=de.find(me=>me.id===ge.filterId);re&&Ce.push({filterId:ge.filterId,name:re.column,operation:ge.operation,valueType:Vi(re),values:ge.values,dataType:re.dataType,fieldMeta:re.fieldMeta,semanticContext:re.semanticContext})}return Ce}function B(ie,xe){if(!ie)return[];const de=[],Ce=xe||Intl.DateTimeFormat().resolvedOptions().timeZone;for(const ge of ie){if(Cr(ge.dataType)==="date"&&ge.defaultDateFilter){const[me,Oe]=JT(ge.defaultDateFilter,Ce);de.push({filterId:ge.id,name:ge.column,operation:"between",valueType:"date",values:[me,Oe],relativeMeta:ge.defaultDateFilter,dataType:ge.dataType,fieldMeta:ge.fieldMeta,semanticContext:ge.semanticContext});continue}ge.defaultValues&&ge.defaultValues.length>0&&de.push({filterId:ge.id,name:ge.column,operation:ge.operation,valueType:Vi(ge),values:ge.defaultValues,dataType:ge.dataType,fieldMeta:ge.fieldMeta,semanticContext:ge.semanticContext})}return de}if(!d||!d.dashboard)return;const{dashboard:G,filterValues:Z,defaultLensId:J,lenses:K}=d;function ee(){if(Z&&(Z==null?void 0:Z.length)>0)return Z;const xe=[...B(G.filters,p)];if(G.defaultFilterValues&&G.defaultFilterValues.length>0)for(const ge of G.defaultFilterValues){const re=xe.findIndex(me=>me.filterId===ge.filterId);re>=0?xe[re]=ge:xe.push(ge)}const de=U(G,y||[]),Ce=[...xe];for(const ge of de){const re=Ce.findIndex(me=>me.filterId===ge.filterId);re>=0?Ce[re]=ge:Ce.push(ge)}return Ce}const se=ee(),ce=t8(G,p);_(qd(G),se),A(ce),K&&P(K),J&&F(J);let he=b();he&&((be=G==null?void 0:G.sheets)!=null&&be.some(xe=>xe.id===he)||(x(),he=null));const Se=o||he||((ae=(Te=G==null?void 0:G.sheets)==null?void 0:Te[0])==null?void 0:ae.id)||null;E(Se)},[d,k,E,$,p,u,P,_,F,A,y,o,b,x]),w.useEffect(()=>{i&&q&&i(q)},[q,i]),w.useEffect(()=>{n&&T(n),r&&I(r)},[n,T,r,I]),{isFetching:h,isLoading:f,isError:m}}function ro({className:e,...t}){return c.jsx("div",{className:X("animate-pulse rounded-md bg-muted",e),...t})}const Wo=D.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:X("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Wo.displayName="Card";const Qi=D.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:X("flex flex-col space-y-1.5 p-6",e),...t}));Qi.displayName="CardHeader";const Ji=D.forwardRef(({className:e,...t},n)=>c.jsx("h3",{ref:n,className:X("text-2xl font-semibold leading-none tracking-tight",e),...t}));Ji.displayName="CardTitle";const M8=D.forwardRef(({className:e,...t},n)=>c.jsx("p",{ref:n,className:X("text-sm text-muted-foreground",e),...t}));M8.displayName="CardDescription";const ea=D.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:X("px-6 pt-0",e),...t}));ea.displayName="CardContent";const D8=D.forwardRef(({className:e,...t},n)=>c.jsx("div",{ref:n,className:X("flex items-center p-6 pt-0",e),...t}));D8.displayName="CardFooter";/**
|
|
10
10
|
* @license lucide-react v0.453.0 - ISC
|
|
11
11
|
*
|
|
12
12
|
* This source code is licensed under the ISC license.
|
|
@@ -1074,7 +1074,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
1074
1074
|
|
|
1075
1075
|
`)},flush(e){e.enqueue(`data: [DONE]
|
|
1076
1076
|
|
|
1077
|
-
`)}})}});var cQe=nXe(()=>mte(Si([ar({type:Wt("text-start"),id:mt(),providerMetadata:Er.optional()}),ar({type:Wt("text-delta"),id:mt(),delta:mt(),providerMetadata:Er.optional()}),ar({type:Wt("text-end"),id:mt(),providerMetadata:Er.optional()}),ar({type:Wt("error"),errorText:mt()}),ar({type:Wt("tool-input-start"),toolCallId:mt(),toolName:mt(),providerExecuted:ho().optional(),dynamic:ho().optional()}),ar({type:Wt("tool-input-delta"),toolCallId:mt(),inputTextDelta:mt()}),ar({type:Wt("tool-input-available"),toolCallId:mt(),toolName:mt(),input:wa(),providerExecuted:ho().optional(),providerMetadata:Er.optional(),dynamic:ho().optional()}),ar({type:Wt("tool-input-error"),toolCallId:mt(),toolName:mt(),input:wa(),providerExecuted:ho().optional(),providerMetadata:Er.optional(),dynamic:ho().optional(),errorText:mt()}),ar({type:Wt("tool-output-available"),toolCallId:mt(),output:wa(),providerExecuted:ho().optional(),dynamic:ho().optional(),preliminary:ho().optional()}),ar({type:Wt("tool-output-error"),toolCallId:mt(),errorText:mt(),providerExecuted:ho().optional(),dynamic:ho().optional()}),ar({type:Wt("reasoning-start"),id:mt(),providerMetadata:Er.optional()}),ar({type:Wt("reasoning-delta"),id:mt(),delta:mt(),providerMetadata:Er.optional()}),ar({type:Wt("reasoning-end"),id:mt(),providerMetadata:Er.optional()}),ar({type:Wt("source-url"),sourceId:mt(),url:mt(),title:mt().optional(),providerMetadata:Er.optional()}),ar({type:Wt("source-document"),sourceId:mt(),mediaType:mt(),title:mt(),filename:mt().optional(),providerMetadata:Er.optional()}),ar({type:Wt("file"),url:mt(),mediaType:mt(),providerMetadata:Er.optional()}),ar({type:cte(e=>typeof e=="string"&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:mt().optional(),data:wa(),transient:ho().optional()}),ar({type:Wt("start-step")}),ar({type:Wt("finish-step")}),ar({type:Wt("start"),messageId:mt().optional(),messageMetadata:wa().optional()}),ar({type:Wt("finish"),finishReason:ite(["stop","length","content-filter","tool-calls","error","other","unknown"]).optional(),messageMetadata:wa().optional()}),ar({type:Wt("abort")}),ar({type:Wt("message-metadata"),messageMetadata:wa()})])));function uQe(e){return e.type.startsWith("data-")}function Cte(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const n={...e};for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const s=t[r];if(s===void 0)continue;const o=r in e?e[r]:void 0,i=s!==null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp),a=o!=null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp);i&&a?n[r]=Cte(o,s):n[r]=s}return n}function dQe(e){const t=["ROOT"];let n=-1,r=null;function s(l,u,d){switch(l){case'"':{n=u,t.pop(),t.push(d),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{n=u,r=u,t.pop(),t.push(d),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(d),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=u,t.pop(),t.push(d),t.push("INSIDE_NUMBER");break}case"{":{n=u,t.pop(),t.push(d),t.push("INSIDE_OBJECT_START");break}case"[":{n=u,t.pop(),t.push(d),t.push("INSIDE_ARRAY_START");break}}}function o(l,u){switch(l){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{n=u,t.pop();break}}}function i(l,u){switch(l){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=u,t.pop();break}}}for(let l=0;l<e.length;l++){const u=e[l];switch(t[t.length-1]){case"ROOT":s(u,l,"FINISH");break;case"INSIDE_OBJECT_START":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{n=l,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(u){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{s(u,l,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{o(u,l);break}case"INSIDE_STRING":{switch(u){case'"':{t.pop(),n=l;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:n=l}break}case"INSIDE_ARRAY_START":{switch(u){case"]":{n=l,t.pop();break}default:{n=l,s(u,l,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(u){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=l,t.pop();break}default:{n=l;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{s(u,l,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),n=l;break}case"INSIDE_NUMBER":{switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=l;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(u,l),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,l);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,l);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(u,l);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const f=e.substring(r,l+1);!"false".startsWith(f)&&!"true".startsWith(f)&&!"null".startsWith(f)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?o(u,l):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(u,l)):n=l;break}}}let a=e.slice(0,n+1);for(let l=t.length-1;l>=0;l--)switch(t[l]){case"INSIDE_STRING":{a+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{a+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{a+="]";break}case"INSIDE_LITERAL":{const d=e.substring(r,e.length);"true".startsWith(d)?a+="true".slice(d.length):"false".startsWith(d)?a+="false".slice(d.length):"null".startsWith(d)&&(a+="null".slice(d.length))}}return a}async function Ste(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await B1({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await B1({text:dQe(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}function Gv(e){return e.type.startsWith("tool-")}function fQe(e){return e.type==="dynamic-tool"}function NT(e){return Gv(e)||fQe(e)}function q6(e){return e.type.split("-").slice(1).join("-")}function hQe({lastMessage:e,messageId:t}){return{message:(e==null?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function mQe({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:s,onToolCall:o,onData:i}){return e.pipeThrough(new TransformStream({async transform(a,l){await r(async({state:u,write:d})=>{var f,h,m,p;function g(C){const S=u.message.parts.filter(Gv).find(j=>j.toolCallId===C);if(S==null)throw new Error("tool-output-error must be preceded by a tool-input-available");return S}function b(C){const S=u.message.parts.filter(j=>j.type==="dynamic-tool").find(j=>j.toolCallId===C);if(S==null)throw new Error("tool-output-error must be preceded by a tool-input-available");return S}function x(C){var N;const S=u.message.parts.find(_=>Gv(_)&&_.toolCallId===C.toolCallId),j=C,k=S;S!=null?(S.state=C.state,k.input=j.input,k.output=j.output,k.errorText=j.errorText,k.rawInput=j.rawInput,k.preliminary=j.preliminary,k.providerExecuted=(N=j.providerExecuted)!=null?N:S.providerExecuted,j.providerMetadata!=null&&S.state==="input-available"&&(S.callProviderMetadata=j.providerMetadata)):u.message.parts.push({type:`tool-${C.toolName}`,toolCallId:C.toolCallId,state:C.state,input:j.input,output:j.output,rawInput:j.rawInput,errorText:j.errorText,providerExecuted:j.providerExecuted,preliminary:j.preliminary,...j.providerMetadata!=null?{callProviderMetadata:j.providerMetadata}:{}})}function y(C){var N,S;const j=u.message.parts.find(E=>E.type==="dynamic-tool"&&E.toolCallId===C.toolCallId),k=C,_=j;j!=null?(j.state=C.state,_.toolName=C.toolName,_.input=k.input,_.output=k.output,_.errorText=k.errorText,_.rawInput=(N=k.rawInput)!=null?N:_.rawInput,_.preliminary=k.preliminary,_.providerExecuted=(S=k.providerExecuted)!=null?S:j.providerExecuted,k.providerMetadata!=null&&j.state==="input-available"&&(j.callProviderMetadata=k.providerMetadata)):u.message.parts.push({type:"dynamic-tool",toolName:C.toolName,toolCallId:C.toolCallId,state:C.state,input:k.input,output:k.output,errorText:k.errorText,preliminary:k.preliminary,providerExecuted:k.providerExecuted,...k.providerMetadata!=null?{callProviderMetadata:k.providerMetadata}:{}})}async function v(C){if(C!=null){const N=u.message.metadata!=null?Cte(u.message.metadata,C):C;t!=null&&await B6({value:N,schema:t}),u.message.metadata=N}}switch(a.type){case"text-start":{const C={type:"text",text:"",providerMetadata:a.providerMetadata,state:"streaming"};u.activeTextParts[a.id]=C,u.message.parts.push(C),d();break}case"text-delta":{const C=u.activeTextParts[a.id];C.text+=a.delta,C.providerMetadata=(f=a.providerMetadata)!=null?f:C.providerMetadata,d();break}case"text-end":{const C=u.activeTextParts[a.id];C.state="done",C.providerMetadata=(h=a.providerMetadata)!=null?h:C.providerMetadata,delete u.activeTextParts[a.id],d();break}case"reasoning-start":{const C={type:"reasoning",text:"",providerMetadata:a.providerMetadata,state:"streaming"};u.activeReasoningParts[a.id]=C,u.message.parts.push(C),d();break}case"reasoning-delta":{const C=u.activeReasoningParts[a.id];C.text+=a.delta,C.providerMetadata=(m=a.providerMetadata)!=null?m:C.providerMetadata,d();break}case"reasoning-end":{const C=u.activeReasoningParts[a.id];C.providerMetadata=(p=a.providerMetadata)!=null?p:C.providerMetadata,C.state="done",delete u.activeReasoningParts[a.id],d();break}case"file":{u.message.parts.push({type:"file",mediaType:a.mediaType,url:a.url}),d();break}case"source-url":{u.message.parts.push({type:"source-url",sourceId:a.sourceId,url:a.url,title:a.title,providerMetadata:a.providerMetadata}),d();break}case"source-document":{u.message.parts.push({type:"source-document",sourceId:a.sourceId,mediaType:a.mediaType,title:a.title,filename:a.filename,providerMetadata:a.providerMetadata}),d();break}case"tool-input-start":{const C=u.message.parts.filter(Gv);u.partialToolCalls[a.toolCallId]={text:"",toolName:a.toolName,index:C.length,dynamic:a.dynamic},a.dynamic?y({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted}):x({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted}),d();break}case"tool-input-delta":{const C=u.partialToolCalls[a.toolCallId];C.text+=a.inputTextDelta;const{value:N}=await Ste(C.text);C.dynamic?y({toolCallId:a.toolCallId,toolName:C.toolName,state:"input-streaming",input:N}):x({toolCallId:a.toolCallId,toolName:C.toolName,state:"input-streaming",input:N}),d();break}case"tool-input-available":{a.dynamic?y({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata}):x({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata}),d(),o&&!a.providerExecuted&&await o({toolCall:a});break}case"tool-input-error":{a.dynamic?y({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata}):x({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:void 0,rawInput:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata}),d();break}case"tool-output-available":{if(a.dynamic){const C=b(a.toolCallId);y({toolCallId:a.toolCallId,toolName:C.toolName,state:"output-available",input:C.input,output:a.output,preliminary:a.preliminary})}else{const C=g(a.toolCallId);x({toolCallId:a.toolCallId,toolName:q6(C),state:"output-available",input:C.input,output:a.output,providerExecuted:a.providerExecuted,preliminary:a.preliminary})}d();break}case"tool-output-error":{if(a.dynamic){const C=b(a.toolCallId);y({toolCallId:a.toolCallId,toolName:C.toolName,state:"output-error",input:C.input,errorText:a.errorText,providerExecuted:a.providerExecuted})}else{const C=g(a.toolCallId);x({toolCallId:a.toolCallId,toolName:q6(C),state:"output-error",input:C.input,rawInput:C.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted})}d();break}case"start-step":{u.message.parts.push({type:"step-start"});break}case"finish-step":{u.activeTextParts={},u.activeReasoningParts={};break}case"start":{a.messageId!=null&&(u.message.id=a.messageId),await v(a.messageMetadata),(a.messageId!=null||a.messageMetadata!=null)&&d();break}case"finish":{a.finishReason!=null&&(u.finishReason=a.finishReason),await v(a.messageMetadata),a.messageMetadata!=null&&d();break}case"message-metadata":{await v(a.messageMetadata),a.messageMetadata!=null&&d();break}case"error":{s==null||s(new Error(a.errorText));break}default:if(uQe(a)){(n==null?void 0:n[a.type])!=null&&await B6({value:a.data,schema:n[a.type]});const C=a;if(C.transient){i==null||i(C);break}const N=C.id!=null?u.message.parts.find(S=>C.type===S.type&&C.id===S.id):void 0;N!=null?N.data=C.data:u.message.parts.push(C),i==null||i(C),d()}}l.enqueue(a)})}}))}async function pQe({stream:e,onError:t}){const n=e.getReader();try{for(;;){const{done:r}=await n.read();if(r)break}}catch(r){t==null||t(r)}finally{n.releaseLock()}}Hy({prefix:"aitxt",size:24});Hy({prefix:"aiobj",size:24});var gQe=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,n)=>{this.queue.push(async()=>{try{await e(),t()}catch(r){n(r)}}),this.processQueue()})}};Hy({prefix:"aiobj",size:24});var bQe={};JXe(bQe,{object:()=>yQe,text:()=>xQe});var xQe=()=>({type:"text",responseFormat:{type:"text"},async parsePartial({text:e}){return{partial:e}},async parseOutput({text:e}){return e}}),yQe=({schema:e})=>{const t=XXe(e);return{type:"object",responseFormat:{type:"json",schema:t.jsonSchema},async parsePartial({text:n}){const r=await Ste(n);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:r.value};default:{const s=r.state;throw new Error(`Unsupported parse state: ${s}`)}}},async parseOutput({text:n},r){const s=await B1({text:n});if(!s.success)throw new U6({message:"No object generated: could not parse the response.",cause:s.error,text:n,response:r.response,usage:r.usage,finishReason:r.finishReason});const o=await aP({value:s.value,schema:t});if(!o.success)throw new U6({message:"No object generated: response did not match schema.",cause:o.error,text:n,response:r.response,usage:r.usage,finishReason:r.finishReason});return o.value}}};async function vQe(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw new Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async t=>{const{name:n,type:r}=t,s=await new Promise((o,i)=>{const a=new FileReader;a.onload=l=>{var u;o((u=l.target)==null?void 0:u.result)},a.onerror=l=>i(l),a.readAsDataURL(t)});return{type:"file",mediaType:r,filename:n,url:s}}))}var wQe=class{constructor({api:e="/api/chat",credentials:t,headers:n,body:r,fetch:s,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:i}){this.api=e,this.credentials=t,this.headers=n,this.body=r,this.fetch=s,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=i}async sendMessages({abortSignal:e,...t}){var n,r,s,o,i;const a=await ih(this.body),l=await ih(this.headers),u=await ih(this.credentials),d={...ed(l),...ed(t.headers)},f=await((n=this.prepareSendMessagesRequest)==null?void 0:n.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...a,...t.body},headers:d,credentials:u,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),h=(r=f==null?void 0:f.api)!=null?r:this.api,m=(f==null?void 0:f.headers)!==void 0?ed(f.headers):d,p=(f==null?void 0:f.body)!==void 0?f.body:{...a,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},g=(s=f==null?void 0:f.credentials)!=null?s:u,x=await((o=this.fetch)!=null?o:globalThis.fetch)(h,{method:"POST",headers:L6({"Content-Type":"application/json",...m},`ai-sdk/${W6}`,$6()),body:JSON.stringify(p),credentials:g,signal:e});if(!x.ok)throw new Error((i=await x.text())!=null?i:"Failed to fetch the chat response.");if(!x.body)throw new Error("The response body is empty.");return this.processResponseStream(x.body)}async reconnectToStream(e){var t,n,r,s,o;const i=await ih(this.body),a=await ih(this.headers),l=await ih(this.credentials),u={...ed(a),...ed(e.headers)},d=await((t=this.prepareReconnectToStreamRequest)==null?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...i,...e.body},headers:u,credentials:l,requestMetadata:e.metadata})),f=(n=d==null?void 0:d.api)!=null?n:`${this.api}/${e.chatId}/stream`,h=(d==null?void 0:d.headers)!==void 0?ed(d.headers):u,m=(r=d==null?void 0:d.credentials)!=null?r:l,g=await((s=this.fetch)!=null?s:globalThis.fetch)(f,{method:"GET",headers:L6(h,`ai-sdk/${W6}`,$6()),credentials:m});if(g.status===204)return null;if(!g.ok)throw new Error((o=await g.text())!=null?o:"Failed to fetch the chat response.");if(!g.body)throw new Error("The response body is empty.");return this.processResponseStream(g.body)}},cP=class extends wQe{constructor(e={}){super(e)}processResponseStream(e){return oXe({stream:e,schema:cQe}).pipeThrough(new TransformStream({async transform(t,n){if(!t.success)throw t.error;n.enqueue(t.value)}}))}},CQe=class{constructor({generateId:e=KZe,id:t=e(),transport:n=new cP,messageMetadataSchema:r,dataPartSchemas:s,state:o,onError:i,onToolCall:a,onFinish:l,onData:u,sendAutomaticallyWhen:d}){this.activeResponse=void 0,this.jobExecutor=new gQe,this.sendMessage=async(f,h)=>{var m,p,g,b;if(f==null){await this.makeRequest({trigger:"submit-message",messageId:(m=this.lastMessage)==null?void 0:m.id,...h});return}let x;if("text"in f||"files"in f?x={parts:[...Array.isArray(f.files)?f.files:await vQe(f.files),..."text"in f&&f.text!=null?[{type:"text",text:f.text}]:[]]}:x=f,f.messageId!=null){const y=this.state.messages.findIndex(v=>v.id===f.messageId);if(y===-1)throw new Error(`message with id ${f.messageId} not found`);if(this.state.messages[y].role!=="user")throw new Error(`message with id ${f.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,y+1),this.state.replaceMessage(y,{...x,id:f.messageId,role:(p=x.role)!=null?p:"user",metadata:f.metadata})}else this.state.pushMessage({...x,id:(g=x.id)!=null?g:this.generateId(),role:(b=x.role)!=null?b:"user",metadata:f.metadata});await this.makeRequest({trigger:"submit-message",messageId:f.messageId,...h})},this.regenerate=async({messageId:f,...h}={})=>{const m=f==null?this.state.messages.length-1:this.state.messages.findIndex(p=>p.id===f);if(m===-1)throw new Error(`message ${f} not found`);this.state.messages=this.state.messages.slice(0,this.messages[m].role==="assistant"?m:m+1),await this.makeRequest({trigger:"regenerate-message",messageId:f,...h})},this.resumeStream=async(f={})=>{await this.makeRequest({trigger:"resume-stream",...f})},this.clearError=()=>{this.status==="error"&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolOutput=async({state:f="output-available",tool:h,toolCallId:m,output:p,errorText:g})=>this.jobExecutor.run(async()=>{var b,x;const y=this.state.messages,v=y[y.length-1];this.state.replaceMessage(y.length-1,{...v,parts:v.parts.map(C=>NT(C)&&C.toolCallId===m?{...C,state:f,output:p,errorText:g}:C)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(C=>NT(C)&&C.toolCallId===m?{...C,state:f,output:p,errorText:g}:C)),this.status!=="streaming"&&this.status!=="submitted"&&((b=this.sendAutomaticallyWhen)!=null&&b.call(this,{messages:this.state.messages}))&&this.makeRequest({trigger:"submit-message",messageId:(x=this.lastMessage)==null?void 0:x.id})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var f;this.status!=="streaming"&&this.status!=="submitted"||(f=this.activeResponse)!=null&&f.abortController&&this.activeResponse.abortController.abort()},this.id=t,this.transport=n,this.generateId=e,this.messageMetadataSchema=r,this.dataPartSchemas=s,this.state=o,this.onError=i,this.onToolCall=a,this.onFinish=l,this.onData=u,this.sendAutomaticallyWhen=d}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async makeRequest({trigger:e,metadata:t,headers:n,body:r,messageId:s}){var o,i,a,l;this.setStatus({status:"submitted",error:void 0});const u=this.lastMessage;let d=!1,f=!1,h=!1;try{const m={state:hQe({lastMessage:this.state.snapshot(u),messageId:this.generateId()}),abortController:new AbortController};m.abortController.signal.addEventListener("abort",()=>{d=!0}),this.activeResponse=m;let p;if(e==="resume-stream"){const b=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:n,body:r});if(b==null){this.setStatus({status:"ready"});return}p=b}else p=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:m.abortController.signal,metadata:t,headers:n,body:r,trigger:e,messageId:s});const g=b=>this.jobExecutor.run(()=>b({state:m.state,write:()=>{var x;this.setStatus({status:"streaming"}),m.state.message.id===((x=this.lastMessage)==null?void 0:x.id)?this.state.replaceMessage(this.state.messages.length-1,m.state.message):this.state.pushMessage(m.state.message)}}));await pQe({stream:mQe({stream:p,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:g,onError:b=>{throw b}}),onError:b=>{throw b}}),this.setStatus({status:"ready"})}catch(m){if(d||m.name==="AbortError")return d=!0,this.setStatus({status:"ready"}),null;h=!0,m instanceof TypeError&&(m.message.toLowerCase().includes("fetch")||m.message.toLowerCase().includes("network"))&&(f=!0),this.onError&&m instanceof Error&&this.onError(m),this.setStatus({status:"error",error:m})}finally{try{(i=this.onFinish)==null||i.call(this,{message:this.activeResponse.state.message,messages:this.state.messages,isAbort:d,isDisconnect:f,isError:h,finishReason:(o=this.activeResponse)==null?void 0:o.state.finishReason})}catch(m){console.error(m)}this.activeResponse=void 0}(a=this.sendAutomaticallyWhen)!=null&&a.call(this,{messages:this.state.messages})&&!h&&await this.makeRequest({trigger:"submit-message",messageId:(l=this.lastMessage)==null?void 0:l.id,metadata:t,headers:n,body:r})}};function SQe({messages:e}){const t=e[e.length-1];if(!t||t.role!=="assistant")return!1;const n=t.parts.reduce((s,o,i)=>o.type==="step-start"?i:s,-1),r=t.parts.slice(n+1).filter(NT).filter(s=>!s.providerExecuted);return r.length>0&&r.every(s=>s.state==="output-available"||s.state==="output-error")}function NQe(e,t){if(typeof e!="function")throw new TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let n,r=0;return function(...o){clearTimeout(n);const i=Date.now(),a=i-r,l=t-a;l<=0?(r=i,e.apply(this,o)):n=setTimeout(()=>{r=Date.now(),e.apply(this,o)},l)}}var jQe=NQe;const kQe=hf(jQe);var Nte=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},Zn=(e,t,n)=>(Nte(e,t,"read from private field"),n?n.call(e):t.get(e)),ga=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},Sc=(e,t,n,r)=>(Nte(e,t,"write to private field"),t.set(e,n),n);function EQe(e,t){return t!=null?kQe(e,t):e}var ei,Kv,Zv,Rg,Ag,Pg,fh,jT,kT,_Qe=class{constructor(e=[]){ga(this,ei,void 0),ga(this,Kv,"ready"),ga(this,Zv,void 0),ga(this,Rg,new Set),ga(this,Ag,new Set),ga(this,Pg,new Set),this.pushMessage=t=>{Sc(this,ei,Zn(this,ei).concat(t)),Zn(this,fh).call(this)},this.popMessage=()=>{Sc(this,ei,Zn(this,ei).slice(0,-1)),Zn(this,fh).call(this)},this.replaceMessage=(t,n)=>{Sc(this,ei,[...Zn(this,ei).slice(0,t),this.snapshot(n),...Zn(this,ei).slice(t+1)]),Zn(this,fh).call(this)},this.snapshot=t=>structuredClone(t),this["~registerMessagesCallback"]=(t,n)=>{const r=n?EQe(t,n):t;return Zn(this,Rg).add(r),()=>{Zn(this,Rg).delete(r)}},this["~registerStatusCallback"]=t=>(Zn(this,Ag).add(t),()=>{Zn(this,Ag).delete(t)}),this["~registerErrorCallback"]=t=>(Zn(this,Pg).add(t),()=>{Zn(this,Pg).delete(t)}),ga(this,fh,()=>{Zn(this,Rg).forEach(t=>t())}),ga(this,jT,()=>{Zn(this,Ag).forEach(t=>t())}),ga(this,kT,()=>{Zn(this,Pg).forEach(t=>t())}),Sc(this,ei,e)}get status(){return Zn(this,Kv)}set status(e){Sc(this,Kv,e),Zn(this,jT).call(this)}get error(){return Zn(this,Zv)}set error(e){Sc(this,Zv,e),Zn(this,kT).call(this)}get messages(){return Zn(this,ei)}set messages(e){Sc(this,ei,[...e]),Zn(this,fh).call(this)}};ei=new WeakMap;Kv=new WeakMap;Zv=new WeakMap;Rg=new WeakMap;Ag=new WeakMap;Pg=new WeakMap;fh=new WeakMap;jT=new WeakMap;kT=new WeakMap;var hh,Y6=class extends CQe{constructor({messages:e,...t}){const n=new _Qe(e);super({...t,state:n}),ga(this,hh,void 0),this["~registerMessagesCallback"]=(r,s)=>Zn(this,hh)["~registerMessagesCallback"](r,s),this["~registerStatusCallback"]=r=>Zn(this,hh)["~registerStatusCallback"](r),this["~registerErrorCallback"]=r=>Zn(this,hh)["~registerErrorCallback"](r),Sc(this,hh,n)}};hh=new WeakMap;function jte({experimental_throttle:e,resume:t=!1,...n}={}){const r=w.useRef("chat"in n?n.chat:new Y6(n));("chat"in n&&n.chat!==r.current||"id"in n&&r.current.id!==n.id)&&(r.current="chat"in n?n.chat:new Y6(n));const o="id"in n?n.id:null,i=w.useCallback(f=>r.current["~registerMessagesCallback"](f,e),[e,o]),a=w.useSyncExternalStore(i,()=>r.current.messages,()=>r.current.messages),l=w.useSyncExternalStore(r.current["~registerStatusCallback"],()=>r.current.status,()=>r.current.status),u=w.useSyncExternalStore(r.current["~registerErrorCallback"],()=>r.current.error,()=>r.current.error),d=w.useCallback(f=>{typeof f=="function"&&(f=f(r.current.messages)),r.current.messages=f},[r]);return w.useEffect(()=>{t&&r.current.resumeStream()},[t,r]),{id:r.current.id,messages:a,setMessages:d,sendMessage:r.current.sendMessage,regenerate:r.current.regenerate,clearError:r.current.clearError,stop:r.current.stop,error:u,resumeStream:r.current.resumeStream,status:l,addToolResult:r.current.addToolOutput,addToolOutput:r.current.addToolOutput}}function TQe(e,t){return e.some(n=>n.tableName&&n.tableName===t.tableName||n.datamodelName&&n.datamodelName===t.datamodelName)}function MQe(e){return e.filter((n,r,s)=>r===s.findIndex(o=>o.tableName===n.tableName&&o.datamodelName===n.datamodelName))}function DQe(e,t){return e.filter(n=>!(n.connectionId===t.connectionId&&n.tableName===t.tableName&&n.datamodelName===t.datamodelName))}function IQe(e){return e.toLowerCase()==="clickhouse"?"{database_name}.{table_name}":e.toLowerCase()==="postgres"?"{schema_name}.{table_name}":"{table_name}"}function kte(e){return e.map(r=>{const s=r.connectionType==="API"||r.connectionType==="S3"||r.connectionType==="S3Tables"?"DuckDb":r.connectionType;return r.datamodelName?{...r,databaseName:"",schemaName:"",tableName:"",connectionType:s,tableReferenceFormat:"dm.{table_name}"}:{...r,connectionType:s,tableReferenceFormat:IQe(s)}}).filter(r=>r.datamodelName?r.connectionId&&r.datamodelName&&r.connectionType:r.connectionId&&r.tableName&&r.connectionType)}function Ete(e){var n,r;if(!e)return"";let t="";try{const s=JSON.parse((e==null?void 0:e.message)||"{}");t=((r=(n=s==null?void 0:s.error)==null?void 0:n.lastError)==null?void 0:r.message)||(s==null?void 0:s.error)||e.message}catch{t=e.message}return t}function RQe(){var b;const{authToken:e,tokenProps:t}=Xe(),n=Q(x=>x.dashboard.aiScopeTables),r=(b=nC().data)==null?void 0:b.assistantProfileId,{sendMessage:s,messages:o,setMessages:i,regenerate:a,status:l,addToolResult:u,error:d,stop:f,clearError:h}=jte({transport:new cP({api:`${t.apiServiceUrl}/v1/assistant`,headers:()=>({Authorization:`Bearer ${e==null?void 0:e.accessToken}`}),body:()=>{const x=ua.getState();return{assistantId:"dashboard-assistant",assistantProfileId:r,aiContext:x.currentAIContext,reasoningEffort:x.reasoningEffort,showReasoning:x.showReasoning}},credentials:"omit",prepareSendMessagesRequest:({messages:x,body:y})=>({body:{...y,messages:uY(x)}})}),onToolCall:m,sendAutomaticallyWhen:SQe,onFinish({isAbort:x,isDisconnect:y,isError:v}){console.log(x?"[Dashboard Assistant] Stream aborted by user":y?"[Dashboard Assistant] Stream disconnected (network error)":v?"[Dashboard Assistant] Stream error occurred":"[Dashboard Assistant] Stream completed successfully")},onError(x){var y;if(x.name==="AbortError"||(y=x.message)!=null&&y.includes("aborted")){console.log("[Dashboard Assistant] Stream aborted (expected)");return}console.error("[Dashboard Assistant] Stream error:",x)}});async function m({toolCall:x}){if(x.toolName==="getCurrentTableScope"&&u({tool:x.toolName,toolCallId:x.toolCallId,output:{tables:kte(n||[])}}),x.toolName==="getDashboardContext"){const y=Q.getState().dashboard;u({tool:x.toolName,toolCallId:x.toolCallId,output:{dashboardContext:y}})}}const p=!["ready","error"].includes(l),g=Ete(d);return{sendMessage:s,regenerate:a,isLoading:p,messages:o,setMessages:i,status:l,stop:f,errorMessage:g,clearError:h}}function _te(){var u;const{authToken:e,tokenProps:t}=Xe(),n=(u=nC().data)==null?void 0:u.assistantProfileId;function r(){return!(!n||!(e!=null&&e.accessToken))}const{data:s,isLoading:o,isFetching:i,isError:a}=gn({queryKey:["assistant-profile",n],queryFn:()=>sr(`${t.apiServiceUrl}/v1/assistant/${n}`,(e==null?void 0:e.accessToken)||""),enabled:r()});return{assistantProfile:s==null?void 0:s.assistantProfile,isLoading:o,isFetching:i,isError:a}}function Tte({seedQuestions:e,handleSeedQuestionClick:t}){return e.length===0?null:c.jsxs("div",{className:"overflow-x-auto rounded-md border bg-muted/40 p-4",children:[c.jsxs("div",{className:"mb-3 flex items-center",children:[c.jsx(B8,{className:"mr-2 h-4 w-4 text-muted-foreground"}),c.jsx("h3",{className:"font-medium",children:"Example Questions"})]}),c.jsx("div",{className:"flex flex-wrap gap-2",children:e.map((n,r)=>c.jsx(oe,{variant:"outline",size:"sm",onClick:()=>t(n),className:"text-sm",children:n},r))})]})}function V1(e,t={}){const{size:n="h-4 w-4"}=t,r=n;switch(e){case"table":return c.jsx(kM,{className:r});case"view":return c.jsx(su,{className:r});case"materialized view":return c.jsx(zie,{className:r});case"model":return c.jsx(aC,{className:r});case"file":return c.jsx(xi,{className:r});case"dataset":return c.jsx(Ll,{className:r});case"upload":return c.jsx(MM,{className:r});case"url":return c.jsx(Y8,{className:r});default:return c.jsx(Rx,{className:r})}}const Mte=D.forwardRef(({className:e,...t},n)=>c.jsxs("div",{className:"flex items-center px-3","cmdk-input-wrapper":"",children:[c.jsx(Xo,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),c.jsx(Vs.Input,{ref:n,className:X("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));Mte.displayName=Vs.Input.displayName;const vv=e=>e.label||(e==null?void 0:e.name),G6=e=>"description"in e?e.description:`${e.type} from ${e.database||"database"}`;function AQe({isOpen:e,onSelect:t,onDeselect:n,onClose:r,availableEntities:s,selectedEntities:o,onTabComplete:i,onSelectAll:a,onRemoveAll:l,onAddContext:u}){const{tokenProps:d}=Xe(),f=(d==null?void 0:d.type)==="dashboard",[h,m]=w.useState(""),[p,g]=w.useState(""),b=s.filter(S=>{if(!h)return!0;const j=vv(S).toLowerCase(),k=G6(S).toLowerCase(),_=h.toLowerCase();return j.includes(_)||k.includes(_)});w.useEffect(()=>{e||(m(""),g(""))},[e]),w.useEffect(()=>{b.length>0&&!p&&g(vv(b[0]))},[b,p]);const x=()=>{if(!p)return;const S=b.find(j=>vv(j)===p);S&&(o.some(k=>"id"in S&&"id"in k?S.id===k.id:S.name===k.name&&S.connectionId===k.connectionId)||t(S),i(S),r())},y=S=>{(S.key==="Tab"||S.key==="Enter")&&(S.preventDefault(),x())};if(!e)return null;const v=S=>o.some(j=>"id"in S&&"id"in j?S.id===j.id:S.name===j.name&&S.connectionId===j.connectionId),C=o.length===s.length,N=o.length>0;return c.jsx(c.Fragment,{children:c.jsxs(cp,{shouldFilter:!1,value:p,onValueChange:g,onKeyDown:y,children:[s.length>0&&c.jsxs("div",{className:"flex items-center justify-between border-b pr-3",children:[c.jsx(Mte,{placeholder:"Search entities...",value:h,onValueChange:m,className:"flex-1 border-0",autoFocus:!0}),!f&&c.jsxs(oe,{onClick:S=>{S.preventDefault(),S.stopPropagation(),u==null||u()},onMouseDown:S=>{S.preventDefault(),S.stopPropagation()},variant:"outline",size:"sm",className:"h-7 shrink-0",children:[c.jsx(Ir,{className:"mr-1 h-4 w-4"}),"Add"]})]}),s.length>0&&c.jsxs("div",{className:"flex items-center justify-between border-b px-3 py-2 text-sm",children:[c.jsxs("div",{className:"text-muted-foreground",children:[o.length," ",o.length===1?"entity":"entities"," selected"]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(oe,{onClick:S=>{S.preventDefault(),S.stopPropagation(),a==null||a()},onMouseDown:S=>{S.preventDefault(),S.stopPropagation()},disabled:C,variant:"ghost",size:"sm",className:"h-6 px-2 text-xs",children:"Select All"}),N&&c.jsxs(oe,{onClick:S=>{S.preventDefault(),S.stopPropagation(),l==null||l()},onMouseDown:S=>{S.preventDefault(),S.stopPropagation()},variant:"ghost",size:"sm",className:"h-6 gap-1 px-2 text-xs",children:[c.jsx(kt,{className:"h-3.5 w-3.5"}),"Clear"]})]})]}),c.jsxs(up,{className:"min-h-60",children:[c.jsx(dp,{children:c.jsxs("div",{className:"flex flex-col items-center justify-center py-4",children:[c.jsx("p",{className:"mb-3 text-sm text-muted-foreground",children:"No entities found."}),!f&&c.jsxs(oe,{onClick:S=>{S.preventDefault(),S.stopPropagation(),u==null||u()},onMouseDown:S=>{S.preventDefault(),S.stopPropagation()},size:"sm",variant:"outline",className:"flex items-center gap-2",children:[c.jsx(Ir,{className:"h-4 w-4"}),"Add Datasets"]})]})}),c.jsx(fp,{children:b.map((S,j)=>{const k=v(S),_="id"in S?S.id:`${S.connectionId}-${S.name}`,E=vv(S);return c.jsxs(hp,{value:E,onSelect:()=>{k?n==null||n(S):t(S)},onMouseDown:M=>{M.preventDefault(),M.stopPropagation()},className:X("flex cursor-pointer items-start gap-2 p-2 hover:bg-gray-100"),children:[c.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center",children:V1(S.type)}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("div",{className:"truncate font-medium",children:E}),c.jsx("div",{className:"truncate text-xs text-muted-foreground",children:G6(S)})]}),k&&c.jsx("div",{className:"ml-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-foreground/80",children:c.jsx(Fr,{className:"h-3 w-3 text-background"})})]},_)})})]})]})})}const ET=e=>e.name||e.name,PQe=e=>{const t=ET(e),n="description"in e?e.description:"",r=e.database||"",s=e.schema||"";return c.jsxs("div",{className:"space-y-1",children:[c.jsx("div",{className:"font-medium",children:t}),n&&c.jsx("div",{className:"text-sm text-muted-foreground",children:n}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:["Type: ",e.type,r&&` • Database: ${r}`,s&&` • Schema: ${s}`]})]})};function FQe({entities:e,availableEntities:t,onRemoveEntity:n,onRemoveEntities:r}){const[s,o]=w.useState(!1),i=e.length>0;e.length,t.length,e.length<t.length;const a=e.length>=3?e.slice(0,2):e,l=e.length>=3?e.slice(2):[],u=l.length>0;return c.jsx(zn,{children:c.jsx("div",{className:"space-y-2",children:i&&c.jsxs("div",{className:"flex flex-wrap gap-1",children:[a.map((d,f)=>{const h="id"in d?d.id:`${d.connectionId}-${d.name}`;return c.jsxs(cn,{children:[c.jsx(un,{asChild:!0,children:c.jsxs(Ye,{variant:"secondary",className:"group relative cursor-pointer gap-2 transition-colors hover:border-red-200 hover:bg-red-50 dark:hover:border-red-800 dark:hover:bg-red-950",children:[V1(d.type,{size:"h-3 w-3"}),c.jsx("span",{className:"max-w-24 truncate text-xs",children:ET(d)}),c.jsx("button",{className:"rounded-full p-0.5 transition-opacity hover:bg-red-100 group-hover:opacity-100",onClick:()=>n(d),children:c.jsx(kt,{className:"h-3 w-3"})})]})}),c.jsx(fn,{side:"top",className:"max-w-xs",children:PQe(d)})]},h)}),u&&c.jsxs(cn,{open:s,onOpenChange:o,children:[c.jsx(un,{asChild:!0,children:c.jsxs(Ye,{variant:"secondary",className:"flex cursor-pointer items-center gap-1 transition-colors hover:bg-secondary/80",onClick:()=>o(!0),children:[c.jsx(U8,{className:"h-3 w-3"}),c.jsxs("span",{className:"text-xs",children:[l.length," more"]}),c.jsx("button",{className:"rounded-full p-0.5 transition-opacity hover:bg-red-100 group-hover:opacity-100",onClick:()=>r(l),children:c.jsx(kt,{className:"h-3 w-3"})})]})}),c.jsx(fn,{side:"top",className:"max-h-60 max-w-xs overflow-y-auto p-2",children:c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"text-sm font-medium",children:"Additional Datasets"}),c.jsx("div",{className:"space-y-2",children:l.map(d=>{const f="id"in d?d.id:`${d.connectionId}-${d.name}`;return c.jsxs("div",{className:"group flex items-center justify-between gap-2",children:[c.jsxs("div",{className:"flex items-start gap-2",children:[c.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center",children:V1(d.type,{size:"h-3 w-3"})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("div",{className:"truncate text-sm font-medium",children:ET(d)}),c.jsxs("div",{className:"truncate text-xs text-muted-foreground",children:[d.type," ",d.database?`• ${d.database}`:""]})]})]}),c.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 opacity-0 group-hover:opacity-100",onClick:()=>{n(d),l.length===1&&o(!1)},children:c.jsx(kt,{className:"h-3 w-3"})})]},f)})})]})})]})]})})})}function Dte(e){return e.type==="dataset"&&e.label||e.name}function OQe(e){const t=[];return t.push({label:"Type",value:e.type}),t.push({label:"Name",value:e.name}),e.connectionType&&t.push({label:"Connection",value:e.connectionType}),e.database&&t.push({label:"Database",value:e.database}),e.schema&&t.push({label:"Schema",value:e.schema}),e.type==="dataset"&&e.label&&t.push({label:"Label",value:e.label}),e.type==="dataset"&&e.description&&t.push({label:"Description",value:e.description}),e.type==="model"&&e.label&&t.push({label:"Label",value:e.label}),e.type==="model"&&e.description&&t.push({label:"Description",value:e.description}),t}function $Qe({selectedEntities:e,onDeselectEntity:t}){return e.length===0?null:c.jsxs("div",{className:"mb-4 space-y-2",children:[c.jsxs(fe,{className:"mb-2 text-xs font-medium text-muted-foreground",children:["Selected Entities (",e.length,")"]}),c.jsx("div",{className:"max-h-32 overflow-y-auto rounded-md border border-border/50 p-2",children:c.jsx("div",{className:"flex flex-wrap gap-1",children:e.map((n,r)=>c.jsxs(Ye,{variant:"secondary",className:"group relative cursor-pointer pr-6 text-xs transition-colors hover:border-red-200 hover:bg-red-50 dark:hover:border-red-800 dark:hover:bg-red-950",children:[c.jsxs("span",{className:"mr-1 text-gray-500",children:["[",n.type,"]"]}),Dte(n),c.jsx("button",{onClick:s=>{s.stopPropagation(),t(n)},className:"absolute right-1 top-1/2 -translate-y-1/2 rounded-full p-0.5 opacity-0 transition-opacity hover:bg-red-100 group-hover:opacity-100",children:c.jsx(kt,{className:"h-2.5 w-2.5 text-red-500"})})]},`${n.type}-${n.name}-${r}`))})})]})}function LQe(e){const{tokenProps:t}=Xe(),n=Q(l=>l.authToken)||e;$e(l=>l.selectedConnectionId),$e(l=>{var u,d;return(d=(u=l==null?void 0:l.card)==null?void 0:u.dataSource)==null?void 0:d.connectionId});const{refetch:r,isPending:s,data:o,isLoading:i,isError:a}=gn({queryKey:["semantic-domains"],queryFn:()=>sr(`${t.apiServiceUrl}/v1/domains`,(n==null?void 0:n.accessToken)||""),enabled:!!(n!=null&&n.accessToken)});return{isPending:s,error:a,semanticDomainsData:o,semanticDomains:(o==null?void 0:o.domains)||[],isSemanticDomainsLoading:i,isSemanticDomainsError:a,refetchSemanticDomains:r}}function zQe(e,t){const{tokenProps:n}=Xe(),r=Q(u=>u.authToken)||t,{refetch:s,isPending:o,data:i,isLoading:a,isError:l}=gn({queryKey:["datasets",e],queryFn:()=>sr(`${n.apiServiceUrl}/v1/datasets`,(r==null?void 0:r.accessToken)||"",{domainId:e}),enabled:!!(r!=null&&r.accessToken)&&!!e});return{isPending:o,error:l,datasets:(i==null?void 0:i.datasets)||[],isDatasetsLoading:a,isDatasetsError:l,refetchDatasets:s}}function BQe(e){var g,b;const{tokenProps:t}=Xe(),n=Q(x=>x.authToken)||e,{connections:r}=ji(e),s=$e(x=>{var y,v;return(v=(y=x==null?void 0:x.card)==null?void 0:y.dataSource)==null?void 0:v.connectionId}),o=r==null?void 0:r.find(x=>x.id===s),i=o==null?void 0:o.type,a=o==null?void 0:o.capabilities,l=((g=a==null?void 0:a.labels)==null?void 0:g.database)||"Database";function u(x){var y;return!s||!x?!1:!!((y=o==null?void 0:o.capabilities)!=null&&y.path.includes("database"))}const{data:d,isPending:f,error:h,refetch:m}=gn({queryKey:["databases",s],queryFn:()=>sr(`${t.apiServiceUrl}/v1/databases`,(n==null?void 0:n.accessToken)||"",{connection_id:s}),enabled:u(i)}),p=(b=d==null?void 0:d.databases)==null?void 0:b.map(x=>({id:x.database_name,name:x.database_name}));return{isPending:f,error:h,databases:p||[],refetch:m,label:l}}function VQe(e){var g;const{tokenProps:t}=Xe(),n=Q(b=>b.authToken)||e,{connections:r}=ji(e),s=$e(b=>{var x,y;return(y=(x=b==null?void 0:b.card)==null?void 0:x.dataSource)==null?void 0:y.connectionId}),o=$e(b=>{var x,y,v;return(v=(y=(x=b==null?void 0:b.card)==null?void 0:x.dataSource)==null?void 0:y.dbSelection)==null?void 0:v.database}),i=r==null?void 0:r.find(b=>b.id===s),a=i==null?void 0:i.capabilities,l=((g=a==null?void 0:a.labels)==null?void 0:g.schema)||"Schema";function u(){var b;return!(!s||!((b=i==null?void 0:i.capabilities)!=null&&b.path.includes("schema"))||!o)}const{data:d,isPending:f,error:h,refetch:m}=gn({queryKey:["schemas",s,o],queryFn:()=>sr(`${t.apiServiceUrl}/v1/schemas`,(n==null?void 0:n.accessToken)||"",{connection_id:s,database_name:o}),enabled:u()}),p=d==null?void 0:d.schemas.map(b=>({id:b.schema_name,name:b.schema_name}));return{isPending:f,error:h,schemas:p||[],refetch:m,label:l}}function Ite(e){const{tokenProps:t}=Xe(),n=Q(h=>h.authToken)||e,{connections:r}=ji(e),s=$e(h=>{var m,p;return(p=(m=h==null?void 0:h.card)==null?void 0:m.dataSource)==null?void 0:p.connectionId}),o=r.find(h=>h.id===s);function i(){return!(!(n!=null&&n.accessToken)||!s)}const{data:a,isPending:l,error:u,refetch:d}=gn({queryKey:["dataModels",s],queryFn:()=>sr(`${t.apiServiceUrl}/v1/datamodels`,(n==null?void 0:n.accessToken)||"",{connection_id:s}),enabled:i()}),f=a==null?void 0:a.datamodels.map(h=>({id:h.id,name:h.name,label:h.label,description:h.description,connectionId:s,dialect:h.dialect,connectionType:o==null?void 0:o.type,type:"model",database:h.database,schema:h.schema}));return{isPending:l,error:u,dataModels:f||[],refetch:d}}function HQe(){var N,S,j;const e=$e(k=>k.card.dataSource);$e(k=>k.actions.updateDirectSource);const t=$e(k=>k.actions.updateDataSource),[n,r]=w.useState(""),{selectedConnection:s,error:o}=ji(),{databases:i,isPending:a,error:l,label:u}=BQe(),{schemas:d,isPending:f,error:h,label:m}=VQe(),{error:p}=Ite(),g=s==null?void 0:s.capabilities.path.includes("schema"),b=s==null?void 0:s.capabilities.path.includes("database"),x=u==null?void 0:u.toLowerCase(),y=m==null?void 0:m.toLowerCase(),v=k=>{e&&t({...e,dbSelection:{database:k,schema:"",entityType:"table"},selectedEntities:(e==null?void 0:e.selectedEntities)||[]})},C=k=>{var E;if(!((E=e==null?void 0:e.dbSelection)!=null&&E.database))return;const _=e.dbSelection||{database:"",schema:"",entityType:"table"};t({...e,dbSelection:{..._,schema:k},selectedEntities:(e==null?void 0:e.selectedEntities)||[]})};return c.jsxs(c.Fragment,{children:[(o||l||h||p)&&c.jsxs("div",{className:"rounded-md border border-red-200 bg-red-50 p-3",children:[c.jsx("div",{className:"flex items-center",children:c.jsxs("div",{className:"text-sm text-red-800",children:[c.jsx("strong",{children:"Error loading data:"}),c.jsxs("ul",{className:"mt-1 list-inside list-disc",children:[o&&c.jsxs("li",{children:["Connections: ",o]}),l&&c.jsxs("li",{children:[u,": ",l.message]}),h&&c.jsxs("li",{children:[m,": ",h.message]}),p&&c.jsxs("li",{children:["Data Models: ",p.message]})]})]})}),c.jsx(oe,{variant:"outline",size:"sm",className:"mt-2",onClick:()=>window.location.reload(),children:"Retry"})]}),c.jsxs("div",{className:"space-y-4",children:[b&&c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-sm font-medium",children:u}),c.jsxs(lt,{value:((N=e==null?void 0:e.dbSelection)==null?void 0:N.database)||"",onValueChange:v,disabled:a,children:[c.jsx(st,{className:"w-full",children:c.jsxs("div",{className:"flex items-center gap-2",children:[a&&c.jsx(wn,{className:"h-4 w-4 animate-spin"}),c.jsx(ct,{placeholder:l?`Error loading ${x}`:a?`Loading ${x}...`:`Select ${x}...`})]})}),c.jsx(ot,{children:i.map(k=>c.jsx(we,{className:"hover:bg-muted",value:k.id,children:k.name},k.id))})]})]}),((S=e==null?void 0:e.dbSelection)==null?void 0:S.database)&&g&&c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-sm font-medium",children:m}),c.jsxs(lt,{value:((j=e==null?void 0:e.dbSelection)==null?void 0:j.schema)||"",onValueChange:C,disabled:f,children:[c.jsx(st,{className:"w-full",children:c.jsxs("div",{className:"flex items-center gap-2",children:[f&&c.jsx(wn,{className:"h-4 w-4 animate-spin"}),c.jsx(ct,{placeholder:h?`Error loading ${y}`:f?`Loading ${y}...`:`Select ${y}...`})]})}),c.jsx(ot,{children:d.map(k=>c.jsx(we,{className:"hover:bg-muted",value:k.id,children:k.name},k.id))})]})]})]})]})}function UQe(){const e=$e(l=>l.card.dataSource),t=$e(l=>l.actions.updateDataSource),[n,r]=w.useState(!1),s=l=>{if(!l||(e==null?void 0:e.mode)!=="upload")return;const u=Array.from(l).map(f=>({id:`file-${Date.now()}-${Math.random()}`,name:f.name,type:"upload",connectionId:"default",connectionType:"none",label:f.name,description:`Uploaded ${new Date().toLocaleString()}`,originalName:f.name,file:f})),d=(e==null?void 0:e.selectedEntities)||[];t({...e,selectedEntities:[...d,...u]})},o=l=>{if(!e)return;const u=(e.selectedEntities||[]).filter(d=>d.id!==l);t({...e,selectedEntities:u})},i=l=>{if(l===0)return"0 Bytes";const u=1024,d=["Bytes","KB","MB","GB"],f=Math.floor(Math.log(l)/Math.log(u));return Number.parseFloat((l/Math.pow(u,f)).toFixed(2))+" "+d[f]},a=(e==null?void 0:e.selectedEntities)||[];return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-sm font-medium",children:"Upload Files"}),c.jsxs("div",{className:`rounded-lg border-2 border-dashed p-6 text-center transition-colors ${n?"border-blue-400 bg-blue-50":"border-gray-300 hover:border-gray-400"}`,onDragOver:l=>{l.preventDefault(),r(!0)},onDragLeave:()=>r(!1),onDrop:l=>{l.preventDefault(),r(!1),s(l.dataTransfer.files)},children:[c.jsx(MM,{className:"mx-auto mb-2 h-8 w-8 text-gray-400"}),c.jsx("p",{className:"mb-2 text-sm text-gray-600",children:"Drag and drop files here, or click to select"}),c.jsx("input",{type:"file",multiple:!0,className:"hidden",id:"file-upload",onChange:l=>s(l.target.files),accept:".csv,.json,.xlsx,.xls"}),c.jsx(oe,{variant:"outline",size:"sm",onClick:()=>{var l;return(l=document.getElementById("file-upload"))==null?void 0:l.click()},children:"Select Files"}),c.jsx("p",{className:"mt-2 text-xs text-gray-500",children:"Supports CSV, JSON, Excel files"})]})]}),a.length>0&&c.jsxs("div",{className:"space-y-2",children:[c.jsxs(fe,{className:"text-xs text-gray-600",children:["Uploaded Files (",a.length,")"]}),c.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:a.map(l=>c.jsxs("div",{className:"flex items-center justify-between rounded border bg-gray-50 p-2",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[c.jsx(xi,{className:"h-4 w-4 flex-shrink-0 text-gray-500"}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"truncate text-sm text-gray-700",children:l.originalName}),c.jsx("p",{className:"text-xs text-gray-500",children:l.file?i(l.file.size):""})]})]}),c.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 flex-shrink-0 p-0",onClick:()=>o(l.id),children:c.jsx(kt,{className:"h-3 w-3"})})]},l.id))})]})]})}function WQe(){const e=$e(f=>f.card.dataSource),t=$e(f=>f.actions.updateDataSource),[n,r]=w.useState(""),[s,o]=w.useState(""),[i,a]=w.useState("api"),l=()=>{if(!n.trim()||!s.trim()||!e)return;const f={id:`url-${Date.now()}-${Math.random()}`,name:n.trim(),type:"url",connectionId:"default",connectionType:"none",label:n.trim(),description:`URL source of type ${i}`,url:s.trim(),sourceType:i,originalName:n.trim()},h=(e==null?void 0:e.selectedEntities)||[];t({...e,selectedEntities:[...h,f]}),r(""),o(""),a("api")},u=f=>{if(!e)return;const h=(e.selectedEntities||[]).filter(m=>m.id!==f);t({...e,selectedEntities:h})},d=(e==null?void 0:e.selectedEntities)||[];return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-sm font-medium text-gray-700",children:"URL Sources"}),c.jsxs("div",{className:"space-y-3 rounded-lg border bg-gray-50 p-3",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-xs text-gray-600",children:"Source Name"}),c.jsx(bn,{placeholder:"e.g., Sales API, Customer Data",value:n,onChange:f=>r(f.target.value),className:"h-8 text-sm"})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-xs text-gray-600",children:"URL"}),c.jsx(bn,{placeholder:"https://api.example.com/data",value:s,onChange:f=>o(f.target.value),className:"h-8 text-sm"})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-xs text-gray-600",children:"Type"}),c.jsxs("select",{value:i,onChange:f=>a(f.target.value),className:"h-8 w-full rounded-md border border-gray-300 px-2 text-sm",children:[c.jsx("option",{value:"api",children:"API Endpoint"}),c.jsx("option",{value:"csv",children:"CSV File"}),c.jsx("option",{value:"json",children:"JSON File"})]})]}),c.jsxs(oe,{onClick:l,disabled:!n.trim()||!s.trim(),size:"sm",className:"w-full",children:[c.jsx(Ir,{className:"mr-1 h-3 w-3"}),"Add Source"]})]})]}),d.length>0&&c.jsxs("div",{className:"space-y-2",children:[c.jsxs(fe,{className:"text-xs text-gray-600",children:["Added Sources (",d.length,")"]}),c.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:d.map(f=>c.jsxs("div",{className:"flex items-center justify-between rounded border bg-gray-50 p-2",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[c.jsx(Rx,{className:"h-4 w-4 flex-shrink-0 text-gray-500"}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"truncate text-sm text-gray-700",children:f.name}),c.jsx("p",{className:"truncate text-xs text-gray-500",children:f.url})]})]}),c.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 flex-shrink-0 p-0",onClick:()=>u(f.id),children:c.jsx(kt,{className:"h-3 w-3"})})]},f.id))})]})]})}function qQe(e,t){var y,v;const{tokenProps:n}=Xe(),r=Q(C=>C.authToken)||t,{connections:s}=ji(t),o=$e(C=>{var N,S;return(S=(N=C==null?void 0:C.card)==null?void 0:N.dataSource)==null?void 0:S.connectionId}),i=$e(C=>{var N,S,j;return(j=(S=(N=C==null?void 0:C.card)==null?void 0:N.dataSource)==null?void 0:S.dbSelection)==null?void 0:j.database}),a=$e(C=>{var N,S,j;return(j=(S=(N=C==null?void 0:C.card)==null?void 0:N.dataSource)==null?void 0:S.dbSelection)==null?void 0:j.schema}),l=s==null?void 0:s.find(C=>C.id===o),u=l==null?void 0:l.capabilities,d=((y=u==null?void 0:u.labels)==null?void 0:y.schema)||"Schema";function f(){if(!o)return!1;const C=(u==null?void 0:u.path)||[];return!(C.includes("database")&&!i||C.includes("schema")&&!a)}const{data:h,isPending:m,isLoading:p,error:g,refetch:b}=gn({queryKey:[e,o,i,a],queryFn:()=>sr(`${n.apiServiceUrl}/v1/${e}s`,(r==null?void 0:r.accessToken)||"",{connection_id:o,database_name:i,schema_name:a}),enabled:f()}),x=(v=h==null?void 0:h[`${e}s`])==null?void 0:v.map(C=>{var N;return{connectionId:l==null?void 0:l.id,connectionType:l==null?void 0:l.type,dialect:l==null?void 0:l.dialect,type:e,dbObjectType:(N=C==null?void 0:C.table_type)==null?void 0:N.toLowerCase(),id:C[`${e}_name`],database:i,schema:a,name:C[`${e}_name`]}});return{isPending:m,isLoading:p,error:g,entities:x||[],refetch:b,label:d}}function H1({title:e,message:t}){return c.jsx("div",{className:"rounded-xl border border-destructive/40 bg-destructive/10 p-4 text-destructive shadow-sm",children:c.jsxs("div",{className:"flex items-start gap-4",children:[c.jsx(Gl,{className:"h-6 w-6 flex-shrink-0"}),c.jsxs("div",{className:"flex-1",children:[c.jsx("h4",{className:"text-base font-semibold",children:e}),t&&c.jsx("p",{className:"mt-1 text-sm text-destructive/90",children:t})]})]})})}function YQe({dataSource:e,onSelectionChange:t,selectedEntities:n,onRegisterSelectAll:r}){const{connections:s,isPending:o}=ji(),[i,a]=w.useState(""),[l,u]=w.useState(""),[d,f]=w.useState("tables"),{updateDataSource:h,setSelectedConnectionId:m}=Nr(),{entities:p,isLoading:g,error:b}=qQe("table"),{dataModels:x,isPending:y,error:v}=Ite(),C=E=>{const M=s.find(P=>P.id===E);if(!M)return;const T=M.type==="upload"?"upload":M.type==="url"?"url":"database";h({...e,connectionId:E,connectionType:M.type,mode:T,dbSelection:{database:"",schema:"",entityType:"table"}}),m(E)},N=E=>{var F,A;const M=n||[],T=M.some($=>$.name===E.name&&$.type===E.type);let P;if(T)P=M.filter($=>!($.name===E.name&&$.type===E.type));else{const $={connectionId:e.connectionId,connectionType:e.connectionType,type:E.type,dbObjectType:E.dbObjectType,database:((F=e.dbSelection)==null?void 0:F.database)||"",schema:((A=e.dbSelection)==null?void 0:A.schema)||"",name:E.name,dialect:E.dialect};P=[...M,$]}t==null||t(P)},S=E=>{const M=n||[],T=M.some(F=>F.type==="model"&&F.name===E.name);let P;T?P=M.filter(F=>!(F.type==="model"&&F.name===E.name)):P=[...M,E],t==null||t(P)},j=p.filter(E=>E.name.toLowerCase().includes(i.toLowerCase())),k=x.filter(E=>E.name.toLowerCase().includes(l.toLowerCase())),_=w.useCallback(()=>{if(!t)return;const E=n||[];let M=[...E];if(d==="tables"){const P=j.filter(F=>!E.some(A=>A.name===F.name&&A.type==="table")).map(F=>{var A,$;return{connectionId:e.connectionId,connectionType:e.connectionType,type:"table",dbObjectType:F.dbObjectType,database:((A=e.dbSelection)==null?void 0:A.database)||"",schema:(($=e.dbSelection)==null?void 0:$.schema)||"",name:F.name,dialect:F.dialect}});M=[...E,...P]}else if(d==="datamodels"){const T=k.filter(P=>!E.some(F=>F.name===P.name&&F.type==="model"));M=[...E,...T]}t(M)},[d,j,k,n,e,t]);return w.useEffect(()=>{r&&r(_)},[r,_]),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"font-medium= text-sm",children:"Connection"}),c.jsxs(lt,{value:(e==null?void 0:e.connectionId)||"",onValueChange:C,disabled:o,children:[c.jsx(st,{className:"w-full",children:c.jsx(ct,{placeholder:o?"Loading connections...":"Select connection..."})}),c.jsx(ot,{children:s.map(E=>c.jsx(we,{className:"hover:bg-muted",value:E.id,children:c.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[c.jsx(Ll,{className:"h-4 w-4 flex-shrink-0"}),c.jsx("span",{className:"truncate",children:E.name}),c.jsx(Ye,{variant:"secondary",className:"flex-shrink-0 text-xs",children:E.type})]})},E.id))})]})]}),(e==null?void 0:e.connectionId)&&c.jsxs(c.Fragment,{children:[e.connectionType==="upload"&&c.jsx(UQe,{}),e.connectionType==="url"&&c.jsx(WQe,{}),e.connectionType!=="upload"&&e.connectionType!=="url"&&c.jsxs(c.Fragment,{children:[c.jsx(HQe,{}),c.jsx("div",{className:"space-y-4",children:c.jsx("div",{className:"space-y-2",children:c.jsxs(zs,{defaultValue:"tables",value:d,onValueChange:E=>f(E),className:"w-full",children:[c.jsxs(vs,{className:"grid w-full grid-cols-2",children:[c.jsxs(sn,{value:"tables",children:["Tables & Views (",j.length,")"]}),c.jsxs(sn,{value:"datamodels",children:["Data Models (",k.length,")"]})]}),c.jsxs(br,{value:"tables",className:"space-y-2",children:[c.jsx(En,{placeholder:"Search tables and views...",value:i,onChange:E=>a(E.target.value),className:"h-8 text-sm",disabled:g}),c.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:g?c.jsx("div",{className:"py-4 text-center text-sm",children:"Loading tables..."}):b?c.jsx(H1,{title:"Error loading tables",message:b.message||"Failed to load tables. Please try again.",onRetry:()=>window.location.reload()}):j.length===0?c.jsx("div",{className:"py-4 text-center text-sm",children:"No tables or views found"}):j.map(E=>{const M=n.some(T=>T.name===E.name&&T.type==="table");return c.jsxs("div",{className:"group flex cursor-pointer items-center space-x-2 rounded p-2 hover:bg-muted",onClick:()=>N(E),children:[c.jsx(dn,{id:`table-${E.name}`,checked:M,onCheckedChange:()=>N(E),onClick:T=>T.stopPropagation(),disabled:g}),c.jsxs(fe,{className:"flex flex-1 cursor-pointer items-center gap-2",children:[E.name,E.dbObjectType==="view"&&c.jsx(Ye,{variant:"secondary",className:"text-xs group-hover:border-border",children:"View"}),E.dbObjectType==="materialized view"&&c.jsx(Ye,{variant:"secondary",className:"text-xs group-hover:border-border",children:"Materialized View"})]})]},E.name)})})]}),c.jsxs(br,{value:"datamodels",className:"space-y-2",children:[c.jsx(En,{placeholder:"Search data models...",value:l,onChange:E=>u(E.target.value),className:"h-8 text-sm",disabled:y}),c.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:y?c.jsx("div",{className:"py-4 text-center text-sm",children:"Loading data models..."}):v?c.jsx(H1,{title:"Error loading data models",message:v.message||"Failed to load data models. Please try again.",onRetry:()=>window.location.reload()}):k.length===0?c.jsx("div",{className:"py-4 text-center text-sm",children:"No data models found"}):k.map(E=>{const M=n.some(T=>T.name===E.name&&T.type==="model");return c.jsxs("div",{className:"flex cursor-pointer items-start space-x-2 rounded p-2 hover:bg-muted",onClick:()=>S(E),children:[c.jsx(dn,{id:`dataModel-${E.name}`,checked:M,onCheckedChange:()=>S(E),onClick:T=>T.stopPropagation(),disabled:y}),c.jsxs("div",{className:"flex flex-1 cursor-pointer flex-col gap-1",children:[c.jsx(fe,{className:"cursor-pointer",children:E.name}),c.jsx("span",{className:"text-xs text-muted-foreground",children:E.description})]})]},E.name)})})]})]})})})]})]})]})}function GQe({dataSource:e,onDataSourceUpdate:t,onSelectionChange:n,selectedEntities:r,allowedDomainIds:s=[],isRestricted:o=!1,autoSelectedDomainId:i,onRegisterSelectAll:a}){var N;const[l,u]=w.useState(""),d=w.useCallback(S=>{const j={...e,connectionId:e.connectionId||"none",connectionType:e.connectionType||"none",mode:"semanticDomain",semanticDomainId:S};t({...j})},[e,t]);w.useEffect(()=>{i&&!(e!=null&&e.semanticDomainId)&&d(i)},[i,e==null?void 0:e.semanticDomainId,d]);const{semanticDomains:f,isPending:h,error:m}=LQe(),p=o?f.filter(S=>s.includes(S.id)):f,{datasets:g,isPending:b,error:x}=zQe(e==null?void 0:e.semanticDomainId),y=S=>{const j=r||[],k=j.some(E=>E.id===S.id&&E.type==="dataset");let _;if(k)_=j.filter(E=>!(E.id===S.id&&E.type==="dataset"));else{const E={id:S.id,datasetType:S.type,name:S.name||S.table,label:S.label,domainId:S.domainId,description:S.description,database:S.database,schema:S.schema,type:"dataset",connectionId:S.connectionId,connectionType:S.connectionType,dialect:S.dialect,datamodelId:S.datamodelId,sql:S.sql};_=[...j,E]}n==null||n(_)},v=g.filter(S=>S.name.toLowerCase().includes(l.toLowerCase())),C=w.useCallback(()=>{if(!n||!(e!=null&&e.semanticDomainId))return;const S=r||[],k=v.filter(E=>!S.some(M=>M.id===E.id&&M.type==="dataset")).map(E=>({id:E.id,datasetType:E.type,name:E.name||E.table,label:E.label,domainId:E.domainId,description:E.description,database:E.database,schema:E.schema,type:"dataset",connectionId:E.connectionId,connectionType:E.connectionType,dialect:E.dialect,datamodelId:E.datamodelId,sql:E.sql})),_=[...S,...k];n(_)},[v,r,e==null?void 0:e.semanticDomainId,n]);return w.useEffect(()=>{a&&a(C)},[a,C]),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-sm font-medium",children:"Semantic Domain"}),c.jsxs(lt,{value:(e==null?void 0:e.semanticDomainId)||"",onValueChange:d,disabled:h||o&&!!i,children:[c.jsx(st,{className:"w-full",children:c.jsx(ct,{placeholder:h?"Loading semantic domains...":o&&i?"Loading domain...":"Select semantic domain...",children:((N=p.find(S=>S.id===(e==null?void 0:e.semanticDomainId)))==null?void 0:N.label)||"Select semantic domain"})}),c.jsx(ot,{children:p.map(S=>c.jsx(we,{className:"hover:bg-muted",value:S.id,children:c.jsxs("div",{className:"flex flex-col items-start",children:[c.jsx("span",{className:"font-medium",children:S.label}),c.jsx("span",{className:"text-xs",children:S.description})]})},S.id))})]}),m&&c.jsx(H1,{title:"Error loading semantic models",message:m.message})]}),(e==null?void 0:e.semanticDomainId)&&c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-sm font-medium text-gray-700",children:"Datasets"}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(En,{placeholder:"Search datasets...",value:l,onChange:S=>u(S.target.value),className:"h-8 text-sm",disabled:b}),c.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:b?c.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:"Loading datasets..."}):x?c.jsx(H1,{title:"Error loading datasets",message:x.message||"Failed to load datasets. Please try again.",onRetry:()=>window.location.reload()}):v.length===0?c.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:l?"No datasets match your search":"No datasets available"}):v.map(S=>{const j=r.some(k=>k.id===S.id&&k.type==="dataset");return c.jsxs("div",{className:"flex cursor-pointer items-start space-x-2 rounded p-2 hover:bg-gray-50",onClick:()=>y(S),children:[c.jsx(dn,{id:`dataset-${S.id}`,checked:j,onCheckedChange:()=>y(S),onClick:k=>k.stopPropagation(),disabled:b}),c.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[c.jsx(fe,{className:"cursor-pointer font-medium",children:S.label||S.name}),c.jsx("span",{className:"text-xs text-gray-500",children:S.description})]})]},S.label||S.name)})})]})]})]})}function uP({open:e,onOpenChange:t,dataSource:n,dialogMode:r,incomingSelectedEntities:s}){const{tokenProps:o}=Xe(),{allowedSemanticDomains:i}=o,[a,l]=w.useState([]),{updateDataSource:u}=Nr(),d=Q(M=>M.isVisualEditing),f=Q(M=>M.dashboard.aiContext),{setAiContext:h}=Ht(),m=w.useRef(null),[p,g]=w.useState(!1),b=i&&i.length>0,x=!b,y=b&&i.length===1?i[0]:void 0,v=w.useCallback(M=>{const T=M;u({...n,connectionId:(n==null?void 0:n.connectionId)||"",connectionType:(n==null?void 0:n.connectionType)||"",mode:T,selectedEntities:(n==null?void 0:n.selectedEntities)||[],...T!=="semanticDomain"&&{semanticDomainId:void 0}})},[n,u]),C=w.useCallback(M=>{u({...n,...M})},[n,u]);w.useEffect(()=>{b&&n.mode!=="semanticDomain"&&v("semanticDomain")},[b,n.mode,v]),w.useEffect(()=>{y&&!n.semanticDomainId&&C({semanticDomainId:y})},[y,n.semanticDomainId,C]),w.useEffect(()=>{e?l(s||[]):(m.current=null,g(!1))},[e,n==null?void 0:n.selectedEntities,r,u,s,n]);const N=M=>{const T=a.filter(P=>!(P.name===M.name&&P.type===M.type));l(T)},S=()=>{l([])},j=w.useCallback(M=>{l(M)},[]),k=w.useCallback(()=>{m.current&&m.current()},[]),_=w.useCallback(M=>{m.current=M,g(!0)},[]);function E(){var M,T;if(r==="aiContext")d&&u(n),h({...f,selectedEntities:a}),t(!1);else if(r==="dataSource"){if(n.mode==="semanticDomain"){const P=(M=a==null?void 0:a[0])==null?void 0:M.connectionId,F=(T=a==null?void 0:a[0])==null?void 0:T.connectionType;u({...n,connectionId:P,connectionType:F,selectedEntities:a})}else u({...n,selectedEntities:a});t(!1)}}return c.jsx(Xr,{open:e,onOpenChange:t,children:c.jsx(Vr,{className:"flex max-w-2xl flex-col",children:c.jsxs("div",{children:[c.jsxs(Hr,{className:"flex-shrink-0",children:[c.jsx(Ur,{children:r==="aiContext"?"Data Context":"Select Data Source"}),c.jsx(ls,{children:r==="aiContext"?"Set the overall data scope for the dashboard":"Select data sets to analyze"})]}),c.jsx("div",{className:"flex-1 grow overflow-y-auto py-4",children:c.jsxs("div",{className:"space-y-4",children:[x&&c.jsx("div",{className:"space-y-2",children:c.jsx(zs,{defaultValue:(n==null?void 0:n.mode)||"database",value:(n==null?void 0:n.mode)||"database",onValueChange:v,className:"w-full",children:c.jsxs(vs,{className:"grid w-full grid-cols-2",children:[c.jsx(sn,{value:"database",children:"Direct Source"}),c.jsx(sn,{value:"semanticDomain",children:"Semantic Domain"})]})})}),(n==null?void 0:n.mode)==="semanticDomain"&&c.jsx(GQe,{dataSource:n,onDataSourceUpdate:C,selectedEntities:a,onSelectionChange:j,allowedDomainIds:i||[],isRestricted:b,autoSelectedDomainId:y,onRegisterSelectAll:_}),(n==null?void 0:n.mode)==="database"&&x&&c.jsx(YQe,{dataSource:n,onDataSourceUpdate:C,selectedEntities:a,onSelectionChange:j,onRegisterSelectAll:_})]})}),c.jsx($Qe,{selectedEntities:a,onDeselectEntity:N}),c.jsx(as,{className:"flex-shrink-0",children:c.jsx("div",{className:"flex w-full justify-between",children:c.jsxs("div",{className:"flex grow justify-end gap-2",children:[c.jsx(oe,{variant:"outline",onClick:k,disabled:!p,children:"Select All"}),c.jsx(oe,{variant:"outline",onClick:S,disabled:a.length===0,children:"Clear All"}),c.jsxs(oe,{variant:"outline",onClick:()=>t(!1),children:[c.jsx(kt,{className:"mr-2 h-4 w-4"}),"Close"]}),c.jsxs(oe,{onClick:E,children:[c.jsx(Fr,{className:"mr-2 h-4 w-4"}),"Accept"]})]})})})]})})})}function KQe({onFilesSelected:e,disabled:t=!1,currentFileCount:n=0,className:r}){const s=w.useRef(null),o=async a=>{const l=Array.from(a.target.files||[]);if(l.length===0)return;const u=bl-n;if(l.length>u){qe.error(`You can only attach ${bl} files per message. You have ${u} slot(s) remaining.`);return}const{valid:d,errors:f}=gee(l);if(f.forEach(({file:h,error:m})=>{qe.error(`${h.name}: ${m}`)}),d.length>0)try{const h=await Promise.all(d.map(m=>JA(m)));e(h)}catch(h){console.error("Failed to process files:",h),qe.error("Failed to process one or more files")}s.current&&(s.current.value="")},i=()=>{var a;(a=s.current)==null||a.click()};return c.jsxs(c.Fragment,{children:[c.jsx("input",{ref:s,type:"file",multiple:!0,accept:".png,.jpg,.jpeg,.gif,.webp,.pdf,.txt,.md,.csv,.json,.xml,.js,.jsx,.ts,.tsx,.py,.sql",onChange:o,className:"hidden",disabled:t||n>=bl}),c.jsx(oe,{variant:"secondary",size:"sm",className:`h-7 px-2 ${r}`,onClick:i,disabled:t||n>=bl,title:n>=bl?`Maximum ${bl} files allowed`:"Attach files",children:c.jsx(CM,{className:"h-4 w-4 text-muted-foreground"})})]})}function ZQe({children:e,onFilesDropped:t,disabled:n=!1,currentFileCount:r=0,className:s}){const[o,i]=w.useState(!1),a=w.useCallback(f=>{f.preventDefault(),f.stopPropagation(),n||i(!0)},[n]),l=w.useCallback(f=>{f.preventDefault(),f.stopPropagation();const h=f.currentTarget.getBoundingClientRect(),m=f.clientX,p=f.clientY;(m<h.left||m>=h.right||p<h.top||p>=h.bottom)&&i(!1)},[]),u=w.useCallback(f=>{f.preventDefault(),f.stopPropagation()},[]),d=w.useCallback(async f=>{if(f.preventDefault(),f.stopPropagation(),i(!1),n)return;const h=Array.from(f.dataTransfer.files);if(h.length===0)return;const m=bl-r;if(h.length>m){qe.error(`You can only attach ${bl} files per message. You have ${m} slot(s) remaining.`);return}const{valid:p,errors:g}=gee(h);if(g.forEach(({file:b,error:x})=>{qe.error(`${b.name}: ${x}`)}),p.length>0)try{const b=await Promise.all(p.map(x=>JA(x)));t(b),qe.success(`${b.length} file(s) attached successfully`)}catch(b){console.error("Failed to process files:",b),qe.error("Failed to process one or more files")}},[n,r,t]);return c.jsxs("div",{className:X("relative",s),onDragEnter:a,onDragLeave:l,onDragOver:u,onDrop:d,children:[e,o&&!n&&c.jsx("div",{className:"pointer-events-none absolute inset-0 z-50 flex items-center justify-center rounded-lg border-2 border-dashed border-primary bg-primary/5 backdrop-blur-sm",children:c.jsxs("div",{className:"flex flex-col items-center gap-2",children:[c.jsx(MM,{className:"h-8 w-8 text-primary"}),c.jsx("p",{className:"text-sm font-medium text-primary",children:"Drop files here to upload"}),c.jsxs("p",{className:"text-xs text-muted-foreground",children:[bl-r," slot(s) available"]})]})})]})}const dP=w.forwardRef(({input:e,setInput:t,handleInputChange:n,handleSubmit:r,isLoading:s,stop:o,onFocus:i,status:a,assistantType:l},u)=>{const[d,f]=w.useState(!1),[h,m]=w.useState(!1),[p,g]=w.useState(!1),b=w.useRef(null),x=pp();uje(),cje();const{setCurrentAIContext:y,updateSelectedEntities:v,setReasoningEffort:C,setShowReasoning:N}=fS(),{queueMessage:S}=gp(),{addFileAttachment:j,removeFileAttachment:k,clearFileAttachments:_,getFileAttachments:E}=SI(),M=CI(l),T=$e(B=>B.card.dataSource),P=Q(B=>B.dashboard.aiContext),F=Q(B=>{var G;return(G=B.dashboard.aiContext)==null?void 0:G.selectedEntities});w.useEffect(()=>{u&&"current"in u&&(u.current=b.current)},[u]);const A=w.useCallback(()=>{const B=b.current;if(B){if(!e||e.length===0){B.style.height="10px";return}B.style.height="auto";const G=Math.min(Math.max(B.scrollHeight,10),200);B.style.height=`${G}px`}},[e]);w.useEffect(()=>{A()},[A]),w.useEffect(()=>{const B=setTimeout(()=>{A()},0);return()=>clearTimeout(B)},[A]);const $=()=>{const B=e.trim();!B&&M.length===0||(a!=="ready"?(S(l,B,M),t(""),_(l)):r({preventDefault:()=>{}}))},q=B=>{B.key==="Enter"&&!B.shiftKey&&(B.preventDefault(),$()),B.key==="@"&&(U(),f(!0))},W=w.useCallback(B=>{const G=vqe(B.nativeEvent);G.length>0&&(B.preventDefault(),G.forEach(async Z=>{const J=await JA(Z);j(l,J)}))},[j,l]),z=w.useCallback(B=>{B.forEach(G=>{j(l,G)})},[j,l]),I=w.useCallback(B=>{B.forEach(G=>{j(l,G)})},[j,l]),L=w.useCallback(B=>{k(l,B)},[k,l]),O=B=>{if(x.selectedEntities.some(Z=>Z.id&&Z.id===B.id||Z.name===B.name)){const Z=x.selectedEntities.filter(J=>!(J.id&&J.id===B.id||J.name===B.name));y({selectedEntities:Z})}else{const Z=[...x.selectedEntities,B];y({selectedEntities:Z})}},R=B=>{O(B)},H=B=>{var J;if(!x.selectedEntities.some(K=>K.id&&K.id===B.id||K.name===B.name)){const K=[...x.selectedEntities,B];y({selectedEntities:K})}const Z="label"in B?B.label:B.name;t(e+`@${Z} `),f(!1),(J=b.current)==null||J.focus()},V=B=>{const G=x.selectedEntities.filter(K=>!(K.id&&K.id===B.id||K.name===B.name));y({selectedEntities:G});const J=`@${"label"in B?B.label:B.name}`;e.includes(J)&&t(e.replace(J,"").trim())},Y=B=>{const G=new Set(B.map(K=>K.id||K.name)),Z=x.selectedEntities.filter(K=>!G.has(K.id||K.name));y({selectedEntities:Z});let J=e;B.forEach(K=>{const se=`@${"label"in K?K.label:K.name}`;J=J.replace(se,"").trim()}),t(J)},U=w.useCallback(()=>{x.selectedEntities.length===0&&y({selectedEntities:(P==null?void 0:P.selectedEntities)||[]})},[x.selectedEntities.length,P==null?void 0:P.selectedEntities,y]);return c.jsxs(ZQe,{onFilesDropped:z,currentFileCount:M.length,disabled:s,className:"space-y-4",children:[c.jsx(FQe,{entities:x.selectedEntities,availableEntities:F||[],onRemoveEntity:V,onRemoveEntities:Y}),M.length>0&&c.jsx(wqe,{files:M,onRemove:L,showRemove:!s,className:"mb-2"}),c.jsxs("div",{className:"rounded-lg border border-border bg-background shadow-sm focus-within:ring-1 focus-within:ring-foreground/40",children:[c.jsx("textarea",{ref:b,value:e,onChange:n,onKeyDown:q,onPaste:W,onFocus:()=>{A(),i==null||i()},placeholder:"Ask a question...",className:"max-h-[200px] min-h-[40px] w-full resize-none overflow-y-auto border-0 bg-transparent px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground/50 focus:outline-none focus:ring-0",style:{height:"40px",lineHeight:"1.5"}}),c.jsxs("div",{className:"flex items-center justify-between border-foreground/10 px-3 py-2",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[l==="dashboard"&&c.jsxs(As,{open:d,onOpenChange:B=>{B&&U(),f(B)},children:[c.jsx(Ps,{asChild:!0,children:c.jsx(oe,{variant:"secondary",size:"sm",className:"h-7 px-2",title:"Add entity",children:c.jsx(Pie,{className:"h-4 w-4 text-muted-foreground"})})}),c.jsx(Fs,{className:"w-80 p-0",align:"start",side:"top",sideOffset:8,onOpenAutoFocus:B=>B.preventDefault(),children:c.jsx(AQe,{isOpen:!0,onSelect:O,onDeselect:R,onClose:()=>{var B;f(!1),(B=b.current)==null||B.focus()},availableEntities:F||[],selectedEntities:x.selectedEntities,onTabComplete:H,onSelectAll:()=>{F&&y({selectedEntities:F})},onRemoveAll:()=>{y({selectedEntities:[]})},onAddContext:()=>{f(!1),m(!0)}})})]}),c.jsx(KQe,{onFilesSelected:I,disabled:s,currentFileCount:M.length})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[s&&c.jsx(oe,{className:"rounded-full",size:"sm",onClick:o,children:c.jsx(Zie,{className:"size-3.5 bg-background"})}),!s&&c.jsx(oe,{disabled:!e.trim()&&M.length===0,size:"sm",variant:a!=="ready"?"secondary":"default",onClick:$,title:a!=="ready"?"Message will be queued":void 0,children:c.jsx(J8,{className:"size-4"})})]})]})]}),c.jsx(uP,{incomingSelectedEntities:x.selectedEntities,open:h,onOpenChange:m,dataSource:T||fN,dialogMode:"aiContext"})]})});dP.displayName="ChatInputWithContext";function Rte({assistantType:e,className:t}){const n=dY(e),{removeFromQueue:r}=gp();return n.length===0?null:c.jsxs("div",{className:X("space-y-2",t),children:[c.jsxs("div",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[c.jsx(Kl,{className:"h-3 w-3"}),c.jsxs("span",{children:["Pending messages (",n.length,")"]})]}),c.jsx("div",{className:"space-y-2",children:n.map(s=>c.jsx("div",{className:"group relative rounded-lg border border-dashed border-muted-foreground/30 bg-muted/30 px-3 py-2 text-sm animate-in fade-in-0 slide-in-from-bottom-1",children:c.jsxs("div",{className:"flex items-start justify-between gap-2",children:[c.jsx("div",{className:"flex-1 space-y-1",children:c.jsx("p",{className:"break-words text-foreground/70",children:s.text})}),c.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 opacity-0 transition-opacity group-hover:opacity-100",onClick:()=>r(e,s.id),title:"Remove from queue",children:c.jsx(kt,{className:"h-3 w-3"})})]})},s.id))})]})}function Ate({assistantType:e,status:t,isLoading:n,sendMessage:r}){const s=dY(e),{dequeueMessage:o}=gp();w.useEffect(()=>{if(t!=="ready"||n||!(s&&s.length>0))return;const a=o(e);a&&r({role:"user",parts:[{type:"text",text:a.text}]})},[t,n,s,o,r,e])}function Pte(e,t={}){const{threshold:n=50,behavior:r="smooth",forceScrollOnStream:s=!0,isStreaming:o=!1}=t,i=w.useRef(null),[a,l]=w.useState(!0),[u,d]=w.useState(!0),[f,h]=w.useState(!1),[m,p]=w.useState(0),g=w.useRef(0),b=w.useRef(!1),x=w.useRef(0),y=w.useRef(a),v=w.useRef(void 0),C=w.useRef({key:null,count:0,length:0}),N=w.useCallback(()=>{const _=i.current;return _?_.scrollHeight-_.scrollTop-_.clientHeight:0},[]),S=w.useCallback((_={})=>{if(!i.current)return;const{force:M=!1,instant:T=!1}=_;if(!M&&!y.current||!a&&!M)return;const P=T||r==="auto"||r==="instant"?"auto":r;v.current&&cancelAnimationFrame(v.current),b.current=!0,v.current=requestAnimationFrame(()=>{if(!M&&!y.current){b.current=!1,v.current=void 0;return}const F=i.current;if(!F){b.current=!1,v.current=void 0;return}const A=F.scrollHeight;P==="smooth"&&"scrollTo"in F?F.scrollTo({top:A,behavior:P}):F.scrollTop=A,g.current=F.scrollTop,d(!0),l(!0),y.current=!0,h(!1),p(0),b.current=!1,v.current=void 0})},[r,a]),j=w.useCallback(()=>{const _=i.current;if(!_)return;const E=g.current,M=_.scrollTop,T=M-E;if(g.current=M,T<-1){v.current&&(cancelAnimationFrame(v.current),v.current=void 0),b.current=!1,y.current=!1,l(!1),d(!1);return}if(b.current)return;const P=N()<=n;d(P),l(P),y.current=P,P&&(h(!1),p(0))},[N,n]),k=w.useCallback(()=>{p(0),h(!1)},[]);return w.useEffect(()=>{y.current=a},[a]),w.useEffect(()=>{const _=i.current;if(!_||!e||e.length===0){h(!1),p(0),C.current={key:null,count:0,length:0},g.current=_?_.scrollTop:0,x.current=_?_.scrollHeight:0;return}g.current=_.scrollTop,x.current=_.scrollHeight;const E=C.current,M=e[e.length-1],T=(M==null?void 0:M.id)??(M==null?void 0:M.messageId)??(M==null?void 0:M.createdAt)??(M==null?void 0:M.timestamp)??e.length,P=Array.isArray(M==null?void 0:M.parts)?M.parts.reduce((z,I)=>I?typeof I=="string"?z+I.length:typeof I.text=="string"?z+I.text.length:typeof I.content=="string"?z+I.content.length:typeof I.value=="string"?z+I.value.length:z:z,0):typeof(M==null?void 0:M.content)=="string"?M.content.length:typeof(M==null?void 0:M.text)=="string"?M.text.length:0,F=e.length>E.count,A=T!==E.key,$=P>E.length,q=s&&(M==null?void 0:M.role)==="assistant"&&!F&&(A||$),W=o||q;if(C.current={key:T,count:e.length,length:P},a&&(F||A||$||W)){S({force:!1,instant:W});return}if(!a&&F){const z=e.length-E.count;z>0&&(h(!0),p(I=>I+z))}else!a&&$&&(h(!0),p(z=>z>0?z:1))},[e,S,a,s,o]),w.useEffect(()=>{S({instant:!0})},[S]),w.useEffect(()=>{if(typeof ResizeObserver>"u")return;const _=i.current;if(!_)return;x.current=_.scrollHeight;const E=new ResizeObserver(()=>{const M=i.current;if(!M)return;const T=x.current,P=M.scrollHeight;x.current=P,!b.current&&y.current&&P>T&&S({force:!1,instant:!0})});return E.observe(_),()=>{E.disconnect()}},[S]),w.useEffect(()=>()=>{v.current&&cancelAnimationFrame(v.current)},[]),{scrollRef:i,isAutoScrollEnabled:a,isAtBottom:u,hasNewMessages:f,newMessageCount:m,scrollToBottom:S,handleScroll:j,resetNewMessageCount:k}}function Fte(e,t={}){const{maxVisibleMessages:n=50,initialLoadCount:r=20,loadMoreCount:s=10}=t,[o,i]=w.useState(r),a=w.useMemo(()=>{if(e.length<=o)return e;const h=Math.max(0,e.length-o);return e.slice(h)},[e,o]),l=e.length>o,u=o>=e.length,d=w.useCallback(()=>{i(h=>Math.min(h+s,n))},[s,n]),f=w.useCallback(()=>{i(r)},[r]);return w.useEffect(()=>{u&&e.length>o&&o<n&&i(Math.min(e.length,n))},[e.length,o,u,n]),{visibleMessages:a,hasMoreMessages:l,totalMessageCount:e.length,loadMoreMessages:d,resetMessageWindow:f,isShowingAll:u}}function Ote(e){var n;if(!e||e.length===0)return{hasActiveTools:!1};const t=e[e.length-1];if(!(t!=null&&t.parts))return{hasActiveTools:!1};for(const r of t.parts){if(r.type==="reasoning"&&"state"in r&&r.state==="streaming")return{hasActiveTools:!0,activeToolText:r.text||"Reasoning...",toolType:"reasoning"};if(((n=r.type)!=null&&n.startsWith("tool-")||r.type==="dynamic-tool")&&"state"in r&&["input-streaming","input-available"].includes(r.state)){const s=r,o=s.state;return{hasActiveTools:!0,activeToolText:bee(s.type,o),toolType:s.type}}}return{hasActiveTools:!1}}const XQe=[{title:"Show top 3 insights",subtitle:"from this dataset"},{title:"Create a bar chart for",subtitle:"sales by product category"}];function QQe({open:e,setOpen:t,isFullscreen:n,onFullscreenChange:r,fullscreenContainer:s}){const[o,i]=w.useState(!1),[a,l]=w.useState(BT),[u,d]=w.useState(!1),[f,h]=w.useState(!1),[m,p]=w.useState(!1),g=n??m,{isLocalDev:b,isConsoleMode:x}=Zm(),y=w.useRef(null);Q(Ue=>Ue.dashboard.aiScopeTables),Q(Ue=>Ue.isDashboardEditing);const v=Q(Ue=>Ue.selectedSheetId),{setDataSource:C}=Nr(),{addFrame:N,setSelectedFrameId:S,setIsDashboardEditing:j}=Ht(),k=pp(),{setCurrentAIContext:_,updateSelectedEntities:E,setReasoningEffort:M,setShowReasoning:T}=fS(),{clearQueue:P}=gp(),{clearFileAttachments:F,getFileAttachments:A}=SI(),$=CI("dashboard"),q=Q(Ue=>Ue.dashboard.aiContext),W=$e(Ue=>Ue.card.dataSource),{assistantProfile:z}=_te(),I=Q(Ue=>Ue.handleOpenAssistantProfile),{sendMessage:L,isLoading:O,messages:R,setMessages:H,status:V,stop:Y,errorMessage:U,clearError:B}=RQe(),G=w.useCallback(Ue=>{r==null||r(Ue),n===void 0&&p(Ue)},[n,r]),Z=w.useCallback(()=>{G(!g)},[g,G]);w.useEffect(()=>{if(!g)return;function Ue(Et){Et.key==="Escape"&&G(!1)}return window.addEventListener("keydown",Ue),()=>{window.removeEventListener("keydown",Ue)}},[g,G]);const[J,K]=w.useState(""),ee=Ue=>{K(Ue.target.value)};function se({sql:Ue,cardTitle:Et,connectionId:le,cardType:Re,python:_e,cardConfig:De,dataSource:We,customVisualPreferences:ke}){if(!v)return;const ye={id:_r(),title:Et||"Title",preferences:{onClickFilter:[{columnIndex:0,expression:""}],chartOptions:{indexAxis:Re==="horizontalBar"?"y":"x"}},type:Re,sql:Ue,python:_e,dataSource:We,config:De,connectionId:le,customCardPreferences:ke?{url:ke.url,componentName:ke.componentName,pluginChartType:ke.pluginChartType,settings:ke.settings,type:"component"}:void 0},Ae={id:_r(),cards:[ye],activeCardId:ye.id};j(!0),N(v,Ae,"end"),S(Ae.id)}const ce=Ue=>{Ue.preventDefault();const Et=J.trim();if(!Et&&$.length===0)return;const le=[];Et&&le.push({type:"text",text:Et}),$.forEach(Re=>{Re.data&&le.push({type:"file",mediaType:Re.type,filename:Re.name,url:`data:${Re.type};base64,${Re.data}`})}),L({role:"user",parts:le}),K(""),F("dashboard"),re({force:!0})};w.useEffect(()=>{var Ue;e&&((Ue=y.current)==null||Ue.focus())},[e]),Ate({assistantType:"dashboard",status:V,isLoading:O,sendMessage:L});const{hasActiveTools:he}=Ote(R),{visibleMessages:Se,hasMoreMessages:be,totalMessageCount:Te,loadMoreMessages:ae,resetMessageWindow:ie}=Fte(R,{maxVisibleMessages:15,initialLoadCount:10,loadMoreCount:5}),{scrollRef:xe,isAtBottom:de,hasNewMessages:Ce,newMessageCount:ge,scrollToBottom:re,handleScroll:me,resetNewMessageCount:Oe}=Pte(Se,{threshold:50,behavior:"smooth",isStreaming:O});function Pe(Ue){at();const Et={role:"user",parts:[{type:"text",text:Ue.title+" "+Ue.subtitle}]};L(Et)}function Ie(Ue){at(),L({role:"user",parts:[{type:"text",text:Ue}]})}function He(Ue){at(),L({role:"user",parts:[{type:"text",text:Ue}]}),re({force:!0})}const Je=w.useCallback(async()=>{const Ue=JSON.stringify(R??[],null,2);try{if(typeof navigator>"u"||!navigator.clipboard)throw new Error("Clipboard API unavailable");await navigator.clipboard.writeText(Ue),qe.success("Conversation copied")}catch(Et){console.error("Failed to copy conversation",Et),qe.error("Unable to copy conversation")}},[R]);function at(){k.selectedEntities.length===0&&_({selectedEntities:(q==null?void 0:q.selectedEntities)||[]})}const gt=(J==null?void 0:J.length)===0&&(R==null?void 0:R.filter(Ue=>Ue.role==="user").length)===0;function bt(){return c.jsx("div",{"data-role":"header",children:c.jsx("div",{className:"text-lg font-semibold",children:"Assistant"})})}function ft(){return c.jsxs(wf,{children:[c.jsx(Cf,{asChild:!0,children:c.jsx(Gc,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",children:c.jsx(Bm,{className:"size-3.5"})})}),c.jsxs(vu,{align:"end",children:[c.jsx(Dh,{children:"Options"}),c.jsx(Kd,{}),c.jsx(Og,{checked:o,onCheckedChange:i,children:"Token Usage"}),c.jsx(Og,{checked:a,onCheckedChange:l,children:"Tool Invocations"}),c.jsx(Og,{checked:u,onCheckedChange:d,children:"System Message"})]})]})}const Ut=c.jsxs("div",{"data-role":"dashboard-assistant",className:X("flex h-full grow flex-col justify-between break-words px-6 py-4",g&&"rounded-2xl border border-border/60 bg-background px-8 pb-6 pt-6 shadow-xl"),children:[c.jsxs("div",{"data-role":"header-section",className:"flex items-start justify-between gap-2",children:[bt(),I&&c.jsx(oe,{variant:"outline",size:"sm",className:"h-7 p-2",onClick:I,children:(z==null?void 0:z.name)||"Default Profile"}),c.jsxs("div",{"data-role":"header-actions",className:"flex items-center",children:[x&&ft(),a&&c.jsx(oe,{variant:"ghost",size:"sm",className:"ml-2 h-7 px-2 text-muted-foreground hover:text-foreground",onClick:Je,children:"Copy Conversation"}),c.jsx(Gc,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",tooltip:g?"Exit Fullscreen":"Expand",onClick:Z,children:g?c.jsx(wM,{className:"size-4"}):c.jsx(lC,{className:"size-4"})}),c.jsx(Gc,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",tooltip:"New Chat",onClick:()=>{H([]),P("dashboard"),B(),ie()},children:c.jsx(uC,{className:"size-4"})}),c.jsx(Gc,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",onClick:()=>{t(!1)},children:c.jsx(kt,{className:"size-4"})})]})]}),c.jsxs(nl,{"data-role":"dashboard-assistant-scroll-area",ref:xe,className:"mt-4 flex flex-1 basis-0 flex-col flex-wrap justify-end pr-2",onScroll:me,children:[c.jsxs("div",{className:"space-y-3 pb-4",children:[be&&c.jsx("div",{className:"flex justify-center py-2",children:c.jsxs(oe,{variant:"outline",size:"sm",onClick:ae,className:"text-xs",children:["Load ",Math.min(5,Te-Se.length)," ","more messages (",Te-Se.length," ","hidden)"]})}),c.jsx(yee,{showTools:a,showSystemMessage:u,messages:Se,onAddToDashboard:se,onQuickReply:He,disableQuickReplies:O}),!he&&c.jsx(xee,{status:V,errorMessage:U})]}),c.jsx(vi,{orientation:"horizontal"})]}),e&&!de&&c.jsx("div",{className:"absolute bottom-24 right-8 z-10",children:c.jsxs(oe,{onClick:()=>{re({force:!0}),Oe()},size:"sm",variant:"secondary",className:"rounded-full shadow-lg","aria-label":"Scroll to bottom",children:[c.jsx(ur,{className:"h-4 w-4"}),Ce&&ge>0&&c.jsx("span",{className:"ml-1.5 flex h-5 w-5 items-center justify-center rounded-full bg-primary text-xs text-primary-foreground",children:ge>9?"9+":ge})]})}),c.jsxs("div",{className:"space-y-3",children:[!z&>&&c.jsx(vee,{onClick:Pe,placeholders:XQe}),c.jsx("div",{children:gt&&z&&c.jsx(Tte,{seedQuestions:z.seedQuestions||[],handleSeedQuestionClick:Ie})}),c.jsx(Rte,{assistantType:"dashboard",className:"mb-3"}),c.jsx(dP,{ref:y,setInput:K,stop:Y,input:J,handleInputChange:ee,handleSubmit:Ue=>{at(),ce(Ue),re({force:!0})},isLoading:O,status:V,assistantType:"dashboard",onFocus:()=>{}})]}),c.jsx(uP,{incomingSelectedEntities:(q==null?void 0:q.selectedEntities)||[],open:f,onOpenChange:h,dataSource:W||fN,dialogMode:"aiContext"})]});return g&&s?Qn.createPortal(c.jsx("div",{className:"pointer-events-auto absolute inset-0 z-50 flex bg-background px-6 pb-6 pt-[calc(var(--app-header-height,15px)+1rem)]",children:c.jsx("div",{className:"flex h-full w-full",children:Ut})}),s):Ut}function JQe(e){const t=e.current,{getSelectedFrame:n,addFrame:r,setSelectedFrameId:s}=Ht(),o=Q(d=>d.dashboard.sheets),a=Q(d=>d.selectedSheetId)??(o==null?void 0:o[0].id),l=Q(d=>d.isDashboardEditing),u=Q(d=>d.isVisualEditing);w.useEffect(()=>{if(!l||u)return;async function d(m){const p=m.ctrlKey||m.metaKey;p&&m.key==="c"?(await f(),qe.success("Card copied to clipboard"),m.preventDefault()):p&&m.key==="v"&&(await h(),m.preventDefault())}async function f(){try{const m=n();m&&await navigator.clipboard.writeText(JSON.stringify(m))}catch(m){console.error("Failed to copy text:",m)}}async function h(){if(!a)return null;try{const m=await navigator.clipboard.readText();try{const p=JSON.parse(m);if(p!=null&&p.id){const g=tA(p),b=g.cards.findIndex(x=>x.id===g.activeCardId);b!==-1&&(g.cards[b].title=`${g.cards[b].title} (Copy)`),r(a,g),s(g.id),qe.success("Card pasted from clipboard")}}catch(p){console.error("Failed to parse clipboard contents: ",p)}return m}catch(m){return console.error("Failed to paste text:",m),null}}return t==null||t.addEventListener("keydown",d),()=>t==null?void 0:t.removeEventListener("keydown",d)},[r,n,s,a,l,u,t])}function eJe(e,t){switch(e.interactionMode){case"drillToDetail":tJe(e,t);break;case"drillThrough":nJe(e,t);break;case"drillToURL":rJe(e);break;case"inlineDrill":console.warn("Inline drill execution not yet implemented");break;case"clickFilter":case"drillDown":case"dynamicDrill":break;default:console.warn("Unknown interaction mode:",e.interactionMode)}}function tJe(e,t){var l;const{targetInsightId:n,contextMode:r,displayMode:s,filterGroups:o}=e;if(!n){console.warn("drillToDetail event missing targetInsightId");return}const i=r||"full";let a=[];switch(i){case"interactionFilters":a=o.flatMap(u=>u.filters);break;case"full":{const u=((l=t.getCurrentFilters)==null?void 0:l.call(t))||[],d=o.flatMap(f=>f.filters);a=[...u,...d];break}case"none":default:a=[];break}s==="replace-card"?t.replaceCardContent({cardId:e.sourceCardId,insightId:n,filters:a,contextMode:r}):t.openInsightModal({insightId:n,filters:a,contextMode:r})}function nJe(e,t){var u,d;const{targetDashboardId:n,contextMode:r="interactionFilters",filterGroups:s,sourceCardId:o}=e;if(!n){console.warn("[DrillThrough] Event missing targetDashboardId. This interaction needs to be reconfigured with a target dashboard.",e);return}const i=s.flatMap(f=>f.filters),a=((u=t.getCurrentDashboardId)==null?void 0:u.call(t))||"",l=(d=t.getCurrentDashboardTitle)==null?void 0:d.call(t);t.setGlobalDrillContext&&t.setGlobalDrillContext({filters:i,contextMode:r,sourceDashboardId:a,sourceDashboardTitle:l,targetDashboardId:n}),t.setPendingDrillThrough&&t.setPendingDrillThrough({targetDashboardId:n,sourceDashboardId:a,sourceDashboardTitle:l,filters:i,contextMode:r})}function rJe(e){const{url:t}=e;if(!t){console.warn("drillToURL event missing url");return}try{new URL(t)}catch(n){console.error("Invalid URL:",t,n);return}window.open(t,"_blank","noopener,noreferrer")}function sJe({open:e,onOpenChange:t,insightId:n,filters:r,filterDefinitions:s,contextMode:o,cardTitle:i,cardDescription:a}){return c.jsx(Xr,{open:e,onOpenChange:t,children:c.jsxs(Vr,{className:"max-h-[90vh] max-w-[90vw] p-6",children:[c.jsxs(Hr,{children:[c.jsx(Ur,{children:i||"Insight Detail"}),c.jsx(ls,{children:a||"View detailed insight data with applied filters"})]}),c.jsx(zX,{filters:r,filterDefinitions:s,contextMode:o}),c.jsx("div",{className:"h-[400px] flex-1 overflow-auto",children:n?c.jsx(UX,{insightId:n,filters:r,contextMode:o}):c.jsx("div",{className:"flex items-center justify-center p-12 text-muted-foreground",children:"No insight selected"})})]})})}function oJe(){const e=$t(C=>C.interactionStates),t=$t(C=>C.setInteractionState),n=$t(C=>C.clearLastInteractionEvent),r=$t(C=>C.replaceCardWithInsight),s=$t(C=>C.setPendingDrillThrough),o=$t(C=>C.pendingDrillThrough),i=$t(C=>C.clearPendingDrillThrough),{setSelectedSheetId:a,navigateWithDrill:l}=Ht(),{selectDashboard:u}=Ix(),d=Q(C=>C.dashboard),f=Q(C=>C.filterValues),{data:h,isLoading:m}=mB((o==null?void 0:o.targetDashboardId)||"",{enabled:!!(o!=null&&o.targetDashboardId)}),[p,g]=w.useState({open:!1,insightId:""}),b=WX(p.insightId,{enabled:p.open&&!!p.insightId}),x=w.useRef(new Set),y=w.useMemo(()=>({setSelectedSheetId:a,openInsightModal:({insightId:C,filters:N,contextMode:S})=>{g({open:!0,insightId:C,filters:N,filterDefinitions:(d==null?void 0:d.filters)||[],contextMode:S})},replaceCardContent:({cardId:C,insightId:N,filters:S,contextMode:j})=>{r(C,N,S,j)},getCurrentFilters:()=>f||[],navigateWithDrill:l,getCurrentDashboardId:()=>(d==null?void 0:d.id)||"",getCurrentDashboardTitle:()=>d==null?void 0:d.title,setPendingDrillThrough:s,setGlobalDrillContext:({filters:C,contextMode:N,sourceDashboardId:S,sourceDashboardTitle:j,targetDashboardId:k})=>{const E={sourceCardId:Ra,interactionMode:"clickFilter",filterGroups:[{filters:C}]},M={...li(),appliedClickFilters:[E],contextMode:N,sourceDashboardId:S,sourceDashboardTitle:j,targetDashboardId:k};t(Ra,M)}}),[a,r,f,l,d,s,t]);w.useEffect(()=>{Object.entries(e).forEach(([C,N])=>{if(N!=null&&N.lastInteractionEvent){const S=N.lastInteractionEvent,j=`${C}-${S.interactionMode}-${S.sourceCardId}-${Date.now()}`;if(x.current.has(j))return;x.current.add(j);try{eJe(S,y)}catch(k){console.error("Error executing interaction event:",k)}finally{n(C),setTimeout(()=>{x.current.delete(j)},5e3)}}})},[e,n,y]),w.useEffect(()=>{if(!(!o||!h||m))try{u(h),l(o.targetDashboardId,o.sourceDashboardId,o.sourceDashboardTitle,o.filters,o.contextMode),i()}catch(C){console.error("[DrillThrough] Error during automatic navigation:",C),i()}},[o,h,m,u,l,i]);const v=()=>{g({open:!1,insightId:""})};return c.jsxs(c.Fragment,{children:[c.jsx(sJe,{open:p.open,onOpenChange:v,insightId:p.insightId,filters:p.filters,filterDefinitions:p.filterDefinitions,contextMode:p.contextMode,cardTitle:b.title,cardDescription:b.description}),o&&m&&c.jsx("div",{className:"fixed inset-0 z-[51] flex items-center justify-center bg-background/80 backdrop-blur-sm",children:c.jsxs("div",{className:"flex flex-col items-center gap-3 rounded-lg border bg-background p-6 shadow-lg",children:[c.jsx(wn,{className:"h-8 w-8 animate-spin text-primary"}),c.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading dashboard..."})]})})]})}function iJe(e){return e.length===0?"":e.map(t=>{const n=t.field.label||t.field.name,r=t.operator,s=aJe(t.value);return r==="="?`${n} = ${s}`:`${n} ${r} ${s}`}).join(", ")}function aJe(e){return e==null?"null":Array.isArray(e)?e.join(", "):typeof e=="object"&&e.toString?e.toString():String(e)}function lJe(e){return e?`Back to ${e}`:"Back"}function cJe(){var x,y,v,C,N;const e=$t(S=>S.interactionStates[Ra]),t=Q(S=>S.actions.goBackFromDrill),n=Q(S=>S.actions.clearDrillContext),{selectDashboard:r}=Ix(),[s,o]=w.useState({x:16,y:16}),[i,a]=w.useState(!1),l=w.useRef({x:0,y:0});w.useEffect(()=>{if(!i)return;const S=k=>{o({x:k.clientX-l.current.x,y:k.clientY-l.current.y})},j=()=>{a(!1)};return document.addEventListener("mousemove",S),document.addEventListener("mouseup",j),()=>{document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",j)}},[i]);const u=e==null?void 0:e.sourceDashboardId,d=e==null?void 0:e.sourceDashboardTitle,f=((C=(v=(y=(x=e==null?void 0:e.appliedClickFilters)==null?void 0:x[0])==null?void 0:y.filterGroups)==null?void 0:v[0])==null?void 0:C.filters)||[],h=u?{id:u,title:d||"Previous Dashboard",description:"",isPrivate:!1,isPublic:!1,version:"",createdBy:null,createdByTenantUser:"",tenantId:"",projectId:"",createdAt:"",updatedAt:"",lastModified:"",lastModifiedBy:"",createdByUser:null,createdByTenantUserRel:{name:"",email:""},permissions:{canEdit:!0,canShare:!0,canDelete:!0},ownership:{status:"private",isOwner:!0,sharedCount:0,createdBy:{type:"user",userId:"",name:"",email:""}}}:null;if(!e||!((N=e.appliedClickFilters)!=null&&N.length))return null;const m=()=>{if(!h){console.warn("[DrillBack] No source dashboard in context");return}try{t(),r(h)}catch(S){console.error("[DrillBack] Error during back navigation:",S)}},p=()=>{n()},g=S=>{S.target.closest("button")||(a(!0),l.current={x:S.clientX-s.x,y:S.clientY-s.y})};iJe(f);const b=lJe(d);return c.jsx("div",{className:"fixed z-50 max-w-md",style:{left:0,top:0,transform:`translate(${s.x}px, ${s.y}px)`,transition:i?"none":void 0},children:c.jsxs("div",{className:"select-none rounded-lg border bg-background/95 p-3 shadow-lg backdrop-blur-sm",onMouseDown:g,style:{cursor:i?"grabbing":"grab"},children:[c.jsxs("div",{className:"mb-3 flex items-start justify-between gap-2",children:[c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Viewing:"}),c.jsx("div",{className:"flex flex-wrap gap-2",children:f.map((S,j)=>{const k=S.field.label||S.field.name,_=String(S.value);return c.jsxs(Ye,{variant:"secondary",className:"pointer-events-none text-xs",children:[k," = ",_]},j)})})]}),c.jsx(oe,{variant:"ghost",size:"sm",onClick:p,className:"h-6 w-6 cursor-pointer p-0",title:"Clear drill context",children:c.jsx(kt,{className:"h-3 w-3"})})]}),c.jsx("div",{className:"flex items-center gap-2 border-t pt-2",children:c.jsxs(oe,{variant:"secondary",size:"sm",onClick:m,disabled:!h,className:"w-full cursor-pointer",children:[c.jsx(R8,{className:"mr-2 h-4 w-4"}),b]})})]})})}function $te(){var Te;const{showAssistant:e,tokenProps:t}=Xe(),{preferences:n,isConsoleMode:r}=Zm(),s=((Te=n==null?void 0:n.cardDisplay)==null?void 0:Te.mode)==="print",o=w.useRef(null),i=w.useRef(null),[a,l]=w.useState(!1),{handleDragStart:u,isDraggingRef:d,getStyle:f,getPositionClasses:h}=m8e({initialPosition:"bottom-right"}),m=Fd(ae=>ae.setFullscreen),p=Fd(ae=>ae.setPanelOpen),g=Fd(ae=>ae.setContainer),b=aY("dashboard"),x=lY(),y=cY("dashboard"),v=b.isOpen,C=x==="dashboard",N=Q(ae=>ae.isVisualEditing),S=Q(ae=>ae.themeStyle),j=Q(ae=>{var ie;return(ie=ae.dashboard)==null?void 0:ie.sheets}),k=Q(ae=>ae.showFilters),_=Q(ae=>ae.isDashboardEditing),E=Q(ae=>ae.selectedSheetId),M=Q(ae=>{var ie,xe;return((xe=(ie=ae.dashboard)==null?void 0:ie.summary)==null?void 0:xe.position)||"top"}),T=Q(ae=>{var ie;return(ie=ae.dashboard)==null?void 0:ie.id}),P=Q(ae=>ae.isDashboardPanelOpen),F=Q(ae=>ae.actions.setIsDashboardPanelOpen),{getDefaultSheetId:A,setDefaultSheetId:$,clearDefaultSheetId:q}=_8(T),[W,z]=w.useState(null);SC(Gt.DASHBOARD);const{setSelectedSheetId:I,setSheetTitle:L,addSheet:O,setSheets:R}=Ht();JQe(i);const{setActiveAssistantType:H}=fS();w.useEffect(()=>{if(T){const ae=A();z(ae)}},[T,A]),w.useEffect(()=>{v?H("dashboard"):x==="dashboard"&&m(null)},[v,H,x,m]),w.useEffect(()=>{var ae;v||(ae=o.current)==null||ae.resize(0)},[v]);function V(ae){var ie,xe;ae?((ie=o.current)==null||ie.resize(40),p("dashboard",!0),H("dashboard")):(p("dashboard",!1),m(null),(xe=o.current)==null||xe.resize(0),H(null))}function Y(){const ae={id:_r(),title:"New Sheet"};O(ae),I(ae.id)}function U(ae,ie){if(!T)return;W===ae?(q(),z(null),qe.success("Default sheet cleared")):($(ae),z(ae),qe.success(`"${ie}" set as default sheet`))}function B(ae){var ie;ae<1?(p("dashboard",!1),m(null),H(null),(ie=o.current)==null||ie.resize(0)):(v||p("dashboard",!0),H("dashboard"))}function G(){return(S==null?void 0:S.canvasTheme)==="muted"||!(S!=null&&S.canvasTheme)?"hsl(var(--semaphor-muted))":(S==null?void 0:S.canvasTheme)==="clear"?"":S==null?void 0:S.canvasTheme}const Z=(ae,ie)=>{ae.dataTransfer.setData("tabIndex",ie.toString())},J=ae=>{ae.preventDefault()},K=(ae,ie)=>{const xe=ae.dataTransfer.getData("tabIndex");if(xe===ie.toString())return;const de=Array.from(j||[]),[Ce]=de.splice(parseInt(xe),1);de.splice(ie,0,Ce),R(de)},ee=t.orgUserId||t.tenantId&&t.endUserId&&t.endUserEmail,se=e===!0&&!s&&!v&&!N&&!k;function ce(){var ae,ie;if(j&&j.length>1||_)return c.jsxs(vs,{role:"tab-list",className:"flex h-12 w-0 min-w-full items-center justify-start gap-2 overflow-x-auto rounded-none border-b border-b-muted bg-transparent px-3",children:[r&&ee&&c.jsx(oe,{style:{borderRadius:S==null?void 0:S.controlInputRadius},variant:"outline","aria-label":"Manage Dashboards and Visuals",onClick:()=>{F(!P)},className:"h-8 shrink-0 p-2",children:P?c.jsx($8,{className:"h-4 w-4"}):c.jsx(L8,{className:"h-4 w-4"})}),j==null?void 0:j.map((xe,de)=>{const Ce=E===xe.id,ge=W===xe.id;return c.jsxs(sn,{draggable:!0,onDragStart:re=>Z(re,de),onDragOver:J,onDrop:re=>K(re,de),style:{borderRadius:S==null?void 0:S.controlInputRadius},onClick:()=>I(xe.id),className:"flex shrink-0 items-center gap-1 border px-2 py-1",value:xe.id,children:[c.jsx(Xb,{enabled:_&&Ce,text:xe.title,onSave:re=>L(xe.id,re),children:xe.title},xe.id),!_&&Ce&&c.jsx("div",{title:ge?"Clear default sheet":"Set as default sheet",children:c.jsx(jM,{className:X("ml-1 size-3 cursor-pointer transition-all",ge?"fill-yellow-500 text-yellow-500":"text-muted-foreground hover:text-foreground"),onClick:re=>{re.stopPropagation(),U(xe.id,xe.title||"Sheet")}})}),_&&Ce&&j.length>1&&c.jsx(kt,{className:"ml-1 size-3",onClick:()=>l(!0)})]},xe.id)}),_&&c.jsx("div",{style:{borderRadius:(ie=(ae=S==null?void 0:S.chart)==null?void 0:ae.options)==null?void 0:ie.borderRadius},className:"flex h-7 shrink-0 items-center justify-center border-none bg-muted p-2 hover:cursor-pointer dark:border-l-background",onClick:Y,children:c.jsx(Ir,{className:"size-3"})})]})}function he(){return c.jsx("div",{ref:i,style:{},className:"grow",children:j==null?void 0:j.map(ae=>c.jsx(br,{style:{backgroundColor:G()},className:X("mt-0",{}),value:ae.id,children:c.jsx($ze,{sheet:ae})},ae.id))})}function Se(){var ae;return c.jsxs(zs,{"data-role":"dashboard-tabs-container",className:X("relative flex h-full flex-col",S==null?void 0:S.dashboardTabsContainer),onValueChange:ie=>{I(ie)},value:E||((ae=j==null?void 0:j[0])==null?void 0:ae.id),children:[ce(),M==="top"&&c.jsx(G_,{}),c.jsx(nl,{"data-role":"dashboard-tabs-content",className:"flex-1 grow basis-0 overflow-y-auto",children:he()}),M==="bottom"&&c.jsx(G_,{}),c.jsx(p8e,{open:a,setOpen:l})]})}const be=w.useCallback(ae=>{g("dashboard",ae)},[g]);return j?c.jsxs(c.Fragment,{children:[c.jsx(oJe,{}),c.jsx(cJe,{}),c.jsxs("div",{className:"relative flex-1 basis-0 overflow-hidden",children:[c.jsxs(eJ,{className:X("flex-1 basis-0 overflow-y-auto transition-opacity",C&&"pointer-events-none opacity-0"),direction:"horizontal",children:[c.jsx(rT,{children:Se()}),e===!0&&c.jsxs(c.Fragment,{children:[c.jsx(h8e,{open:v,onTabClick:V,withHandle:!0,disabled:!v}),c.jsx(rT,{className:"flex grow","data-role":"dashboard-assistant-panel",onResize:B,defaultSize:v?40:0,ref:o,children:c.jsx("div",{className:"grow overflow-y-auto",children:c.jsx(QQe,{open:v,setOpen:V,isFullscreen:C,onFullscreenChange:ae=>m(ae?"dashboard":null),fullscreenContainer:y})})})]})]}),c.jsx("div",{ref:be,className:X("absolute inset-0",!C&&"pointer-events-none")}),se&&c.jsx("div",{className:X("absolute z-50 transition-all duration-300 ease-in-out",h().horizontal,h().vertical),style:f(),children:c.jsx(oe,{size:"sm",variant:"outline",className:"h-12 w-12 cursor-grab rounded-full border-border bg-background p-0 shadow-lg hover:bg-muted active:cursor-grabbing",onClick:()=>{d.current||V(!0)},onMouseDown:u,onTouchStart:u,title:"Open Assistant (drag to move)",children:c.jsx(cC,{className:"h-5 w-5"})})})]})]}):null}function fP({children:e}){return c.jsx(la,{style:{height:"100%",width:"100%"},children:c.jsx(Koe,{defaultTheme:"system",storageKey:"vite-ui-theme",children:c.jsx(zn,{delayDuration:0,children:e})})})}function Lte({children:e,preferences:t}){const{currentUser:n}=Ls(),r=w.useMemo(()=>{var s,o;return{preferences:t||{},isLocalDev:((s=t==null?void 0:t.uiMode)==null?void 0:s.developer)||!1,isConsoleMode:((o=t==null?void 0:t.uiMode)==null?void 0:o.console)||!1}},[t]);return c.jsx(W7.Provider,{value:r,children:c.jsx(hA,{displayPreferences:t==null?void 0:t.cardDisplay,currentUser:n,children:e})})}function uJe(e=2e3,t=500){const n=Nie(),[r,s]=w.useState(!1),[o,i]=w.useState(!1),a=w.useRef(null);return w.useEffect(()=>{const l=setTimeout(()=>s(!0),e);return()=>clearTimeout(l)},[e]),w.useEffect(()=>{if(r){if(n>0){i(!1),a.current&&(clearTimeout(a.current),a.current=null);return}return a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{i(!0)},t),()=>{a.current&&clearTimeout(a.current)}}},[r,n,t]),o}function hP({delayMs:e=2e3,quietMs:t=500,componentType:n,componentId:r}){const s=uJe(e,t);return w.useEffect(()=>(s&&(window.__SEMAPHOR_READY__={ready:!0,type:n,componentId:r||null,timestamp:Date.now()}),()=>{window.__SEMAPHOR_READY__={ready:!1,type:n,componentId:r||null,timestamp:Date.now()}}),[s,n,r]),c.jsx("div",{id:"idle-check","aria-hidden":"true",style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},children:s?"ready":""})}function zte(e){if(typeof window>"u")return null;const{preferences:t}=e;return c.jsx(sa,{FallbackComponent:LS,children:c.jsxs(aM,{dashboardProps:e,children:[c.jsx(hP,{componentType:"dashboard",componentId:e.id}),c.jsx(fP,{children:c.jsx(Lte,{preferences:t,children:c.jsx("main",{className:"flex h-full flex-col",children:c.jsx(NI,{...e,type:"dashboard",children:c.jsx($te,{})})})})})]})})}function K6(e,t){return e.map(n=>({...n,fieldScope:t}))}function dJe(e){const t=new Map;return e.forEach(n=>{const r=`${n.name}-${n.role||"unknown"}`;t.has(r)||t.set(r,n)}),Array.from(t.values())}function Z6(e){if(ac(e)||Jx(e))return e.expression}function mP(){const{columns:e,columnGroups:t,isLoading:n,hasError:r,error:s,refetch:o}=JD(),i=$e(g=>g.frame.calculatedFields),a=$e(g=>g.card.config),l=w.useMemo(()=>e.filter(g=>g.fieldScope==="domain"),[e]),u=w.useMemo(()=>e.filter(g=>g.fieldScope!=="domain"),[e]),d=w.useMemo(()=>i!=null&&i.length?K6(i,"dashboard"):[],[i]),f=w.useMemo(()=>{const g=new Map;return d.forEach(b=>{const x=`${b.name}-${b.role||"unknown"}`;g.set(x,b)}),g},[d]),h=w.useMemo(()=>{const g=((a==null?void 0:a.metricColumns)||[]).filter(ac),b=((a==null?void 0:a.groupByColumns)||[]).filter(Jx),y=dJe([...g,...b]).filter(v=>{const C=`${v.name}-${v.role||"unknown"}`,N=f.get(C);if(!N)return!0;const S=Z6(v),j=Z6(N);return S&&j?S!==j:!0});return K6(y,"card").map(v=>({...v,id:`card-source-${v.id}`}))},[a==null?void 0:a.groupByColumns,a==null?void 0:a.metricColumns,f]),m=w.useMemo(()=>[...l,...d,...h,...u],[h,u,d,l]),p=w.useMemo(()=>t.filter(g=>g.entityId!==Gz),[t]);return{columns:e,columnGroups:p,rawColumnGroups:t,columnFields:u,domainCalculatedFields:l,dashboardCalculatedFields:d,cardCalculatedFields:h,scopedFields:m,isLoading:n,hasError:r,error:s,refetch:o}}function pP(e){const{tokenProps:t,authToken:n}=Xe(),r=t==null?void 0:t.apiServiceUrl;return gn({queryKey:["joinability-map",e],queryFn:async()=>{if(!e||!(n!=null&&n.accessToken))return null;const s=`${r}/v1/domains/${e}/joinability`;return sr(s,n.accessToken)},enabled:!!e&&!!(n!=null&&n.accessToken)&&!!r,staleTime:5*60*1e3,gcTime:10*60*1e3,retry:2,retryDelay:s=>Math.min(1e3*2**s,3e4)})}function Bte(e,t,n){if(t==="source")return{isValid:!0};const r=Cr(e.dataType);if(n==="detailTable"&&t!=="detailColumns"&&t!=="sortBy")return{isValid:!1,reason:"Detail tables only accept columns"};if(n==="kpi"){if(t==="groupBy"&&r!=="date")return{isValid:!1,reason:"KPI Trend By only accepts date fields"};if(t==="metrics"&&r==="date")return{isValid:!1,reason:"KPI metrics cannot be date fields"}}return{isValid:!0}}function Vte(e,t,n,r,s){if(e!=="kpi"||s.length<3)return;const o=(t==null?void 0:t.groupByColumns)&&t.groupByColumns.length>0,i=s.some(a=>a.comparisonType&&a.comparisonType!=="none");!o&&!i||n(r,{groupByColumns:[],metricColumns:s.map(a=>({...a,comparisonType:"none",targetValue:void 0}))})}function fJe(e,t){return(e||[]).map(n=>({...n,id:t(n),label:n.label!==void 0?n.label:n.name}))}const Hte=e=>{var F;const t=(F=e==null?void 0:e.dataSource)==null?void 0:F.semanticDomainId,{data:n}=pP(t),{updateCardConfig:r,updateGroupByColumn:s,updateMetricColumn:o,updatePivotByColumn:i,updateSortByColumn:a,removeGroupByColumn:l,removeMetricColumn:u,removePivotByColumn:d,removeSortByColumn:f}=Nr(),h=$e(A=>A.card.type),m=e==null?void 0:e.id,p=(A,$)=>{if(A.id)return A.id;const q=A.qualifiedEntityName||A.entityName||$;return`${$}-${q}-${A.name}`},g=w.useCallback(A=>{if(!(e!=null&&e.config))return[];switch(A){case"groupBy":return(e.config.groupByColumns||[]).map($=>({...$,id:p($,"groupBy"),label:$.label!==void 0?$.label:$.name}));case"metrics":return(e.config.metricColumns||[]).map($=>({...$,id:p($,"metrics"),label:$.label!==void 0?$.label:$.name}));case"pivotBy":return(e.config.pivotByColumns||[]).map($=>({id:p($,"pivotBy"),name:$.name,dataType:$.dataType,label:$.label!==void 0?$.label:$.name,qualifiedEntityName:$.qualifiedEntityName,entityId:$.entityId,entityName:$.entityName,entityType:$.entityType}));case"sortBy":return(e.config.sortByColumns||[]).map($=>({id:p($,"sortBy"),name:$.name,dataType:$.dataType,label:$.label!==void 0?$.label:$.name,qualifiedEntityName:$.qualifiedEntityName,entityId:$.entityId,entityName:$.entityName,entityType:$.entityType,direction:$.direction}));case"detailColumns":return fJe(e.config.detailColumns,$=>p($,"detailColumns"));case"source":return[];default:return[]}},[e]),b=w.useCallback((A,$)=>{if(m)switch(A){case"groupBy":{r(m,{groupByColumns:$});break}case"metrics":{r(m,{metricColumns:$});break}case"pivotBy":{r(m,{pivotByColumns:$});break}case"sortBy":{r(m,{sortByColumns:$});break}case"detailColumns":{r(m,{detailColumns:$});break}}},[m,r]),x=w.useCallback((A,$,q)=>{if(!m)return;const W=g(A),z=W[$];if(z)switch(A){case"groupBy":s(m,z.id,{label:q});break;case"metrics":o(m,z.id,{label:q});break;case"pivotBy":i(m,z.id,{label:q});break;case"sortBy":a(m,z.id,{label:q});break;case"detailColumns":{const I=W.map((L,O)=>O===$?{...L,label:q}:L);r(m,{detailColumns:I});break}}},[m,g,s,o,i,a,r]),y=w.useCallback((A,$)=>{if(!m)return;const W=g("metrics")[A];W&&o(m,W.id,{aggregate:$,label:cW(W.name,$)})},[m,g,o]),v=w.useCallback((A,$,q,W="groupBy")=>{if(!m)return;const z=g(W),I=z[A];if(!I)return;const L={dateFormat:$,customFormat:$==="custom"&&q?q:void 0};if(W==="detailColumns"){const O=z.map((R,H)=>H===A?{...R,...L}:R);r(m,{detailColumns:O});return}s(m,I.id,L)},[m,g,r,s]),C=w.useCallback((A,$)=>{if(!m)return;const W=g("groupBy")[A];W&&s(m,W.id,{granularity:$})},[m,g,s]),N=w.useCallback((A,$)=>{if(!m)return;const W=g("metrics")[A];W&&o(m,W.id,{aliasTemplate:$})},[m,g,o]),S=w.useCallback((A,$)=>{if(console.log("handleValueAliasesChange",A,$),!m)return;console.log("handleValueAliasesChange",A,$);const W=g("metrics")[A];W&&(console.log("handleValueAliasesChange",$),o(m,W.id,{valueAliases:$}))},[m,g,o]),j=w.useCallback((A,$)=>{if(!m)return;const W=g("metrics")[A];W&&o(m,W.id,{comparisonType:$,...$!=="target"?{targetValue:void 0}:{}})},[m,g,o]),k=w.useCallback(A=>{m&&r(m,{showTrendline:A})},[m,r]),_=w.useCallback(A=>{m&&r(m,{trendlineWindow:A})},[m,r]),E=w.useCallback(A=>{m&&r(m,{trendlineGranularity:A})},[m,r]),M=w.useCallback((A,$)=>{if(!m)return;const W=g("metrics")[A];W&&o(m,W.id,{targetValue:$})},[m,g,o]),T=w.useCallback(async A=>{var R;if(!m)return;const $=[...g("groupBy"),...g("pivotBy"),...g("metrics"),...g("sortBy"),...g("detailColumns")],q=A,W=VCe(q,$,{joinPlan:(R=e==null?void 0:e.config)==null?void 0:R.joinPlan,joinabilityMap:n==null?void 0:n.joinabilityMap,semanticDomainId:t});if(!W.isValid){W.showError&&iW();return}const z=WCe(q,$,h);if(!z){qe.error("Invalid Field",{description:"This field cannot be added to any container",position:"top-center",duration:3e3});return}const I=Bte(q,z,h);if(!I.isValid){qe.error("Invalid Field Type",{description:I.reason,position:"top-center",duration:3e3});return}const L=g(z);if(aW(q,L))return;const O=uW(q,z,L);if(O){const H=[...L,O];b(z,H),z==="metrics"&&Vte(h,e==null?void 0:e.config,r,m,H)}},[m,e==null?void 0:e.config,g,b,t,n,h,r]),P=w.useCallback((A,$)=>{if(!m)return;const W=g(A)[$];if(W){if(A!=="sortBy"){const z=g("sortBy"),I=z.filter(L=>!(L.name===W.name&&L.qualifiedEntityName===W.qualifiedEntityName));I.length!==z.length&&r(m,{sortByColumns:I})}switch(A){case"groupBy":l(m,W.id);break;case"metrics":u(m,W.id);break;case"pivotBy":d(m,W.id);break;case"sortBy":f(m,W.id);break;case"detailColumns":{r(m,{detailColumns:(g("detailColumns")||[]).filter((z,I)=>I!==$)});break}}}},[m,g,l,u,d,f,r]);return{getFieldsForContainer:g,setFieldsForContainer:b,updateLabel:x,handleAggregationChange:y,handleDateFormatChange:v,handleGranularityChange:C,handleAliasTemplateChange:N,handleValueAliasesChange:S,removeField:P,handleFieldClick:T,handleMetricComparisonChange:j,handleKpiShowTrendlineChange:k,handleKpiTrendlineWindowChange:_,handleKpiTrendlineGranularityChange:E,handleMetricTargetValueChange:M,cardType:h}};function gN(e,t){var Je,at,gt,bt,ft,Ut,Ue,Et;const{tokenProps:n}=Xe(),r=ys(),s=Xe().authToken||e,o=$e(le=>le.selectedConnectionId),i=$e(le=>le.card),{queryKey:a}=cme(i),l=$e(le=>le.selectedDatamodelId),u=$e(le=>le.isDevMode),d=$e(le=>le.selectedDatabaseName),f=$e(le=>le.selectedSchemaName),h=$e(le=>le.selectedTableName),m=$e(le=>le.actions.setSelectedConnectionId),p=$e(le=>le.actions.setSelectedDatamodelId),g=$e(le=>le.actions.setSelectedDatabaseName),b=$e(le=>le.actions.setSelectedSchemaName),x=$e(le=>le.actions.setSelectedTableName);$e(le=>le.actions.setCardSql);const{setQueryConfig:y}=Nr();function v(le){var ke;if(!o||!le)return!1;const Re=((ke=_==null?void 0:_.capabilities)==null?void 0:ke.path)||[],_e=Re.includes("database"),De=Re.includes("schema");return!(!Re.includes("table")||_e&&(!d||d==="NA")||De&&!f)}function C(le){var Re;return!o||!le?!1:!!((Re=_==null?void 0:_.capabilities)!=null&&Re.path.includes("database"))}const{refetchConnections:N,connectionsData:S,isConnectionsLoading:j,isConnectionsError:k,selectedConnection:_}=ji(e),{refetch:E,data:M,isLoading:T,isError:P}=gn({queryKey:["models",o],queryFn:()=>sr(`${n.apiServiceUrl}/v1/datamodels`,(s==null?void 0:s.accessToken)||"",{connection_id:o}),enabled:!!(s!=null&&s.accessToken)&&!!o}),F=_==null?void 0:_.type,A=((Je=_==null?void 0:_.capabilities)==null?void 0:Je.path.includes("schema"))??!1,$=((at=_==null?void 0:_.capabilities)==null?void 0:at.path.length)===1&&((gt=_==null?void 0:_.capabilities)==null?void 0:gt.path[0])==="table",q=$,{data:W,isLoading:z,isFetching:I,isError:L,refetch:O}=gn({queryKey:["databases",o],queryFn:()=>sr(`${n.apiServiceUrl}/v1/databases`,(s==null?void 0:s.accessToken)||"",{connection_id:o}),enabled:C(F)}),{data:R,isLoading:H,isFetching:V,isError:Y,refetch:U}=gn({queryKey:["schemas",o,d],queryFn:()=>sr(`${n.apiServiceUrl}/v1/schemas`,(s==null?void 0:s.accessToken)||"",{connection_id:o,database_name:d}),enabled:!!o&&!!d&&A&&d!=="NA"}),{data:B,isLoading:G,isFetching:Z,isError:J,refetch:K}=gn({queryKey:["tables",o,d,f],queryFn:()=>sr(`${n.apiServiceUrl}/v1/tables`,(s==null?void 0:s.accessToken)||"",{connection_id:o,database_name:d,schema_name:f}),enabled:v(F)}),{columns:ee,isColumnsLoading:se,isColumnsFetching:ce,isColumnsError:he,refetchColumns:Se}=dW(e);w.useEffect(()=>{$&&(g(""),b(""),p(""),F==="API"&&x("api"))},[F,x,g,b,p,$]);const be=(_==null?void 0:_.type)==="API"?(bt=_==null?void 0:_.type)==null?void 0:bt.toLowerCase():h||"",Te=A&&f||"";function ae(le){x(le),y(void 0),u||(r.setQueryData(a,null),r.removeQueries({queryKey:a,exact:!0}))}function ie(le){b(le),x("")}function xe(le){g(le==="none"?"":le),b(""),x(""),le!=="none"&&le!==""&&p("")}function de(le){m(le)}function Ce(le){p(le==="none"?"":le),le!=="none"&&le!==""&&g("")}W&&((ft=W==null?void 0:W.databases)==null?void 0:ft.length)>0,R&&((Ut=R==null?void 0:R.schemas)==null?void 0:Ut.length)>0;const ge=S==null?void 0:S.connections.map(le=>({id:le.id,name:le.name,type:le.type})),re=(Ue=M==null?void 0:M.datamodels)==null?void 0:Ue.map(le=>({id:le.id,name:le.name})),me=W==null?void 0:W.databases.map(le=>({id:le.database_name,name:le.database_name})),Oe=R==null?void 0:R.schemas.map(le=>({id:le.schema_name,name:le.schema_name})),Pe=B==null?void 0:B.tables.map(le=>({id:le.table_name,name:le.table_name})),Ie=(Et=M==null?void 0:M.datamodels.find(le=>le.id===l))==null?void 0:Et.name,He=_!=null&&_.capabilities?nw({schemaName:Te,tableName:be,modelName:Ie,databaseName:d||"",capabilities:_.capabilities}):be;return{connectionItems:ge,selectedConnectionId:o,selectedConnection:_,isConnectionsLoading:j,isConnectionsError:k,modelItems:re,selectedDatamodelId:l,selectedDatamodelName:Ie,isModelsLoading:T,isModelsError:P,selectedDatabaseName:d,databaseItems:me,isDatabasesLoadingOrFetching:z||I,isDatabaseError:L,schemaItems:Oe,selectedSchemaName:f,isSchemaLoadingOrFetching:H||V,isSchemaError:Y,tableItems:Pe,selectedTableName:h,isTableLoadingOrFetching:G||Z,isTableError:J,columns:ee,isColumnsLoadingOrFetching:se||ce,isColumnsError:he,isNonDbConnection:q,connectionType:F,tableName:be,formattedTableName:He,schemaName:Te,refetchConnections:N,refetchModels:E,refetchDatabases:O,refetchSchemas:U,refetchTables:K,refetchColumns:Se,handleConnectionChange:de,handleDatamodelChange:Ce,handleDatabaseChange:xe,handleSchemaChange:ie,handleTableChange:ae}}function wv(e){return`${e}-${_r()}`}function X6(e,t){const n=bi(e.replace(/_/g," "));switch(t){case"SUM":return`Sum of ${n}`;case"COUNT":return`Count of ${n}`;case"DISTINCT":return`Unique ${n}`;case"AVG":return`Average of ${n}`;case"MIN":return`Min of ${n}`;case"MAX":return`Max of ${n}`;default:return n}}function hJe(e,t){const n=bi(e.replace(/_/g," "));switch(t){case"day":return`Date of ${n}`;case"week":return`Week of ${n}`;case"month":return`Month of ${n}`;case"year":return`Year of ${n}`;default:return n}}function gP(e){if(!e||!e.selectedEntities||e.selectedEntities.length===0)return{tableName:void 0,schemaName:void 0,databaseName:void 0,connectionId:e==null?void 0:e.connectionId,connectionType:e==null?void 0:e.connectionType};const t=e.selectedEntities[0];return{tableName:t==null?void 0:t.name,schemaName:t==null?void 0:t.schema,databaseName:t==null?void 0:t.database,connectionId:e.connectionId,connectionType:e.connectionType}}function Ute(e){if(!e||!e.selectedEntities||e.selectedEntities.length===0)return!1;const t=e.selectedEntities[0];return!!(t!=null&&t.name)}function Wte(){const e=$e(j=>j.sqlGen),t=$e(j=>j.isDevMode),n=$e(j=>j.card.dataSource),r=$e(j=>{var k,_;return(_=(k=j.card)==null?void 0:k.queryConfig)==null?void 0:_.metricColumns}),{tableName:s,schemaName:o,databaseName:i}=gP(n),a=Ute(n),l=$e(j=>j.selectedDatamodelId),{addColumnToMetricColumns:u,addColumnToGroupBy:d,setCardSql:f,setRunSql:h,setSqlGen:m,setIsShowingVisual:p}=Nr(),{modelItems:g,selectedDatamodelName:b}=gN(),{selectedConnection:x}=ji(),y=x==null?void 0:x.capabilities,v=j=>({column_name:j.name,data_type:j.dataType,label:j.label,description:j.description});return{handleDevModeFieldClick:j=>{var _;if(!t)return;const k=v(j);if(t&&a&&s&&y){const E=YT(k,e);m(E);const M=(_=g==null?void 0:g.find(P=>P.id===l))==null?void 0:_.name,T=qT(E,o||"",s,M||"",i||"",y,j.qualifiedEntityName);T&&(f(T),h(!0))}else if(!t){if(Tx(k.data_type))if(r&&r.length>0){const E={...k,role:"groupby",id:wv(k.column_name),name:k.column_name,type:k.data_type};d(E)}else{const E={...k,role:"metric",id:wv(k.column_name),name:k.column_name,label:X6(k.column_name,"COUNT"),type:k.data_type,aggregate:"COUNT"};u(E)}if(Xi(k.data_type)){const E={...k,role:"groupby",id:wv(k.column_name),name:k.column_name,type:k.data_type,label:hJe(k.column_name,"month"),granularity:"month"};d(E)}if(Zi(k.data_type)){const E={...k,role:"metric",id:wv(k.column_name),name:k.column_name,label:X6(k.column_name,"SUM"),type:k.data_type,aggregate:"SUM"};u(E)}}},handleShowSample:()=>{if(!a||!s||!y){console.warn("Cannot generate SQL: missing table metadata or capabilities");return}const j=nw({schemaName:o||"",tableName:s,modelName:b,databaseName:i||"",capabilities:y});p(!1);const _=(x==null?void 0:x.type)==="MSSQL"?`SELECT top 10 * FROM ${j}`:`SELECT * FROM ${j} LIMIT 10`;f(_),h(!0)},handleShowCount:()=>{if(!a||!s||!y){console.warn("Cannot generate SQL: missing table metadata or capabilities");return}const j=nw({schemaName:o||"",tableName:s,modelName:b,databaseName:i||"",capabilities:y});f(`SELECT COUNT(*) as count FROM ${j}`),h(!0)},isNumberField:j=>Zi(j.dataType)}}function mJe(e){const t=e.qualifiedFieldName,r=(e.qualifiedEntityName||e.qualifiedFieldName.split(".").slice(0,-1).join(".")).split(".").map(o=>mb(o)).join("."),s=mb(e.name);return{qualifiedColumnName:t,qualifiedTableName:r,formattedColumnName:s}}function qte(e){const t=e;return{name:e.name,qualifiedFieldName:e.qualifiedFieldName,qualifiedEntityName:e.qualifiedEntityName,entityName:e.entityName,entityId:e.entityId,entityType:e.entityType,dataType:e.dataType,role:e.role,expression:t.expression,calculatedFormula:t.calculatedFormula}}function Yte(e,t){if(!(!e&&!t))return{semanticDomainId:e==null?void 0:e.semanticDomainId,selectedEntities:(e==null?void 0:e.selectedEntities)||[],connectionId:(e==null?void 0:e.connectionId)||(t==null?void 0:t.connectionId),connectionType:(e==null?void 0:e.connectionType)||(t==null?void 0:t.connectionType)}}function Gte(e){var t,n;return e?!!(e.entityName===tc||e.expression||(n=(t=e.calculatedFormula)==null?void 0:t.inputFields)!=null&&n.length):!1}function Kte(){const e=Q(l=>l.dashboard.filters)||[],t=Q(l=>l.selectedSheetId),n=Q(l=>l.actions.addFilter),r=Q(l=>l.actions.removeFilter),{removeFilterValues:s}=Ht(),o=$e(l=>l.card.dataSource),{selectedConnection:i}=ji();function a(l,u="sheet"){const{qualifiedColumnName:d,qualifiedTableName:f,formattedColumnName:h}=mJe(l);let m;if(u==="sheet"&&t?m=Jke(e,d,f,t):m=e==null?void 0:e.find(p=>Em(p.column)===Em(d)),m)s(m.id),r(m.id);else{const p=_r(),g=qte(l),b=Yte(o,{connectionId:i==null?void 0:i.id,connectionType:i==null?void 0:i.type}),x=Gte(g),y=u==="sheet"&&t?[t]:void 0;return n({id:p,location:u,column:d,title:l.label||l.name,dataType:l.dataType,qualifiedTableName:f,connectionId:(i==null?void 0:i.id)||"",operation:"in",applyToSheetIds:y,sql:x?"":oZ(l.dataType,f,h),fieldMeta:g,semanticContext:b}),p}}return{assignFilter:a}}function pJe({column:e}){const[t,n]=w.useState(!1),r=$e(y=>y.card.dataSource),{tableName:s,schemaName:o,databaseName:i}=gP(r),a=$e(y=>y.selectedDatamodelId),l=$e(y=>y.sqlGen),{modelItems:u,selectedConnection:d}=gN(),f=d==null?void 0:d.capabilities,h=$e(y=>y.actions.setSqlGen),m=$e(y=>y.actions.setCardSql),p=$e(y=>y.actions.setRunSql),g=Ute(r);function b(y,v){var k,_;if(!g||!s){console.warn("Cannot generate SQL: missing table metadata");return}const C=YT(y,l,v),N=(k=u==null?void 0:u.find(E=>E.id===a))==null?void 0:k.name;if(h(C),!f){console.warn("Cannot generate SQL: missing connection capabilities");return}const S=(_=y.qualifiedFieldName)==null?void 0:_.split(".").slice(0,-1).join("."),j=qT(C,o||"",s,N||"",i||"",f,S);j&&(m(j),p(!0)),n(!1)}function x(){return c.jsxs("ul",{className:"text-xs",children:[c.jsx("li",{onClick:()=>b(e,"COUNT"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Count"}),c.jsx("li",{onClick:()=>b(e,"AVG"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Avg"}),c.jsx("li",{onClick:()=>b(e,"SUM"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Sum"}),c.jsx("li",{onClick:()=>b(e,"MAX"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Max"}),c.jsx("li",{onClick:()=>b(e,"MIN"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Min"})]})}return g?c.jsxs(Mf,{openDelay:0,open:t,onOpenChange:n,children:[c.jsx(Df,{asChild:!0,children:c.jsx(Bm,{className:"invisible size-3.5 cursor-pointer text-foreground/40 group-hover/container:visible"})}),c.jsx(If,{align:"center",className:"w-20 rounded-md p-0 shadow-none",children:x()})]}):null}function gJe({field:e,fieldState:t}){return c.jsxs("div",{className:"w-64 bg-background p-0",children:[c.jsxs("div",{className:"mb-2 flex items-start justify-between gap-2",children:[c.jsx("h3",{className:"text-sm font-medium text-foreground",children:e.label||e.name}),c.jsx("span",{className:"rounded bg-muted px-2 py-0.5 font-mono text-xs text-muted-foreground",children:e.dataType})]}),e.description&&c.jsx("p",{className:"mb-3 text-xs text-muted-foreground",children:e.description}),t&&t.tooltip&&c.jsx("div",{className:"mb-2 rounded bg-muted/50 p-2",children:c.jsx("p",{className:"text-xs text-muted-foreground",children:t.tooltip})}),c.jsx("div",{className:"overflow-x-auto border-t border-border pb-2 pt-2",children:c.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:e.name})})]})}function Q6({field:e,context:t="editor",fieldState:n,onFieldSelect:r,inlineFilters:s,actions:o}){const i=$e(K=>K.isDevMode),a=t==="filter"||t==="inline-filter",l=i||a||(n==null?void 0:n.state)==="unreachable"&&!a,u=Q(K=>K.dashboard.filters),d=Q(K=>K.selectedSheetId),f=Q(K=>K.actions.removeFilter),{removeFilterValues:h}=Ht(),{assignFilter:m}=Kte(),p=t==="filter"?lc(u,d):u,g=t==="filter"?p==null?void 0:p.find(K=>{if(K.title===e.name)return!0;const ee=Em(K.column||""),se=Em(e.name);return ee.endsWith(`.${se}`)||ee===se}):void 0,b=!!g,x=t==="inline-filter"&&(s==null?void 0:s.some(K=>K.column===e.qualifiedFieldName||K.column===e.name)),y=b||x,v=g&&a?u==null?void 0:u.find(K=>K.id===g.id):void 0,C=v&&(v.applyToSheetIds&&v.applyToSheetIds.length>1||v.excludeSheetIds&&v.excludeSheetIds.length>0||!v.applyToSheetIds&&!v.excludeSheetIds&&!v.sheetId);a&&y&&console.log("[SourceField Debug]",{fieldName:e.name,hasActiveFilter:y,activeFilterOnSheet:g?{id:g.id,title:g.title,column:g.column,applyToSheetIds:g.applyToSheetIds,excludeSheetIds:g.excludeSheetIds}:null,activeFilterForField:v?{id:v.id,title:v.title,column:v.column,applyToSheetIds:v.applyToSheetIds,excludeSheetIds:v.excludeSheetIds}:null,isMultiSheetFilter:C,selectedSheetId:d});const[N,S]=w.useState(!1),[j,k]=w.useState(null),{attributes:_,listeners:E,setNodeRef:M,transform:T,transition:P,isDragging:F}=Fy({id:e.id,disabled:l}),[A,$]=w.useState(!1),q=$e(K=>K.card),{handleFieldClick:W}=Hte(q),{handleDevModeFieldClick:z,isNumberField:I}=Wte(),L=()=>{v&&(console.log("[SourceField] Removing multi-sheet filter:",v.id),h(v.id),f(v.id)),k(null),S(!1)},O=()=>{if(t==="inline-filter"&&r){r(e);return}t==="filter"?y&&C?(k(e),S(!0)):m(e,"sheet"):i?z(e):W(e)},R={column_name:e.name,data_type:e.dataType,label:e.label,description:e.description},H={transform:Ci.Transform.toString(T),transition:P},V=()=>{if(!n||a)return{};const ee={base:{hoverBorderColor:"hover:border-blue-500/40",hoverBgColor:"hover:bg-blue-50/50 dark:hover:bg-blue-950/20"},draggable:{hoverBorderColor:"hover:border-green-500/40",hoverBgColor:"hover:bg-green-50/30 dark:hover:bg-green-950/20"},indirect:{hoverBorderColor:"hover:border-yellow-500/40",hoverBgColor:"hover:bg-yellow-50/30 dark:hover:bg-yellow-950/20"},unreachable:{borderColor:"border-gray-300/40 dark:border-gray-700/40",bgColor:"bg-gray-50/30 dark:bg-gray-900/20",hoverBgColor:"hover:bg-gray-100/30 dark:hover:bg-gray-800/20",opacity:"opacity-50",cursor:"cursor-not-allowed"}}[n.state]||{};return n.isSelected&&{base:{borderColor:"border-blue-300/30 dark:border-blue-700/30",bgColor:"bg-blue-50/20 dark:bg-blue-950/10",...ee},draggable:{borderColor:"border-green-300/30 dark:border-green-700/30",bgColor:"bg-green-50/20 dark:bg-green-950/10",...ee},indirect:{borderColor:"border-yellow-300/30 dark:border-yellow-700/30",bgColor:"bg-yellow-50/20 dark:bg-yellow-950/10",...ee}}[n.state]||ee};function Y(K){return K==="domain"?{label:"Domain",Icon:Rx,className:"border-border bg-muted text-foreground"}:K==="dashboard"?{label:"Dashboard",Icon:xM,className:"border-border bg-muted/70 text-foreground"}:{label:"Card",Icon:e9,className:"border-border bg-muted/40 text-foreground"}}const U=V(),B=e.fieldScope,G=B?Y(B):null,Z=qw(e),J=Z&&ac(e);return c.jsxs("div",{ref:M,style:H,...l?{}:_,...l?{}:E,className:X("group/container max-w-[265px] overflow-hidden rounded-lg transition-all",F&&"scale-95 opacity-50",!F&&"border",U.borderColor||"border-transparent",U.bgColor||"",U.hoverBorderColor,U.hoverBgColor||"hover:bg-muted",U.opacity,U.cursor,b&&"border-accent-foreground/20 bg-accent",x&&"border-primary/20 bg-primary/10",{"cursor-pointer":i||a,"cursor-grab active:cursor-grabbing":!l&&!i&&!a}),title:n==null?void 0:n.tooltip,children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-3 p-2",onClick:O,children:[c.jsxs("div",{className:"relative shrink-0",children:[Am(e.dataType),Z&&c.jsx("span",{className:X("absolute bottom-0 right-0 translate-x-[30%] translate-y-[35%] rounded-[3px] px-0.5 py-0.5 text-[7px] font-semibold uppercase italic leading-none shadow-sm",J?"bg-emerald-500/90 text-white":"bg-blue-500/90 text-white"),children:"fx"})]}),c.jsx(zn,{children:c.jsxs(cn,{children:[c.jsx(un,{asChild:!0,children:c.jsx("div",{className:"min-w-0 flex-1 overflow-hidden",children:c.jsx("span",{className:`block text-sm text-foreground/80 hover:text-foreground dark:text-muted-foreground ${A?"whitespace-normal break-words":"truncate"}`,children:e.label||e.name})})}),c.jsx(fn,{side:"bottom",align:"start",className:"ml-5 max-w-xs px-4 pb-2 pt-4",children:c.jsx(gJe,{field:e,fieldState:n})})]})}),t==="editor"&&G&&c.jsx("span",{title:G.label,className:X("shrink-0 rounded-full border p-1",G.className),children:c.jsx(G.Icon,{className:"h-3.5 w-3.5"})}),i&&!a&&I(e)&&c.jsx("div",{onClick:K=>K.stopPropagation(),children:c.jsx(pJe,{column:R})}),o&&c.jsx("div",{className:"ml-auto flex items-center",onClick:K=>K.stopPropagation(),onPointerDown:K=>K.stopPropagation(),children:o})]}),A&&c.jsx("div",{className:"text-muted-foreground-700 px-2 pb-3 text-sm",children:c.jsx(Wo,{className:"",children:c.jsxs(ea,{className:"space-y-2 p-3",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(t9,{className:"h-4 w-4 text-muted-foreground"}),c.jsx("span",{className:"break-all",children:e.label||e.name})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(tae,{className:"h-4 w-4 text-muted-foreground"}),c.jsx("span",{className:"break-all",children:e.name})]}),c.jsx(Ye,{variant:"outline",className:"mt-2 text-xs",children:e.dataType})]})})}),c.jsx(Xm,{open:N,onOpenChange:S,children:c.jsxs(Sf,{children:[c.jsxs(Nf,{children:[c.jsx(kf,{children:"Remove Filter from Multiple Sheets?"}),c.jsx(Ef,{children:"This filter is currently applied to multiple sheets. Removing it will affect all sheets where it's applied."})]}),c.jsxs(jf,{children:[c.jsx(Tf,{children:"Cancel"}),c.jsx(_f,{onClick:L,children:"Remove Filter"})]})]})})]})}var ha="Accordion",bJe=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[bP,xJe,yJe]=Fx(ha),[bN]=Br(ha,[yJe,KW]),xP=KW(),Zte=w.forwardRef((e,t)=>{const{type:n,...r}=e,s=r,o=r;return c.jsx(bP.Provider,{scope:e.__scopeAccordion,children:n==="multiple"?c.jsx(SJe,{...o,ref:t}):c.jsx(CJe,{...s,ref:t})})});Zte.displayName=ha;var[Xte,vJe]=bN(ha),[Qte,wJe]=bN(ha,{collapsible:!1}),CJe=w.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:s=()=>{},collapsible:o=!1,...i}=e,[a,l]=is({prop:n,defaultProp:r??"",onChange:s,caller:ha});return c.jsx(Xte,{scope:e.__scopeAccordion,value:w.useMemo(()=>a?[a]:[],[a]),onItemOpen:l,onItemClose:w.useCallback(()=>o&&l(""),[o,l]),children:c.jsx(Qte,{scope:e.__scopeAccordion,collapsible:o,children:c.jsx(Jte,{...i,ref:t})})})}),SJe=w.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:s=()=>{},...o}=e,[i,a]=is({prop:n,defaultProp:r??[],onChange:s,caller:ha}),l=w.useCallback(d=>a((f=[])=>[...f,d]),[a]),u=w.useCallback(d=>a((f=[])=>f.filter(h=>h!==d)),[a]);return c.jsx(Xte,{scope:e.__scopeAccordion,value:i,onItemOpen:l,onItemClose:u,children:c.jsx(Qte,{scope:e.__scopeAccordion,collapsible:!0,children:c.jsx(Jte,{...o,ref:t})})})}),[NJe,xN]=bN(ha),Jte=w.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:r,dir:s,orientation:o="vertical",...i}=e,a=w.useRef(null),l=ht(a,t),u=xJe(n),f=xu(s)==="ltr",h=Fe(e.onKeyDown,m=>{var k;if(!bJe.includes(m.key))return;const p=m.target,g=u().filter(_=>{var E;return!((E=_.ref.current)!=null&&E.disabled)}),b=g.findIndex(_=>_.ref.current===p),x=g.length;if(b===-1)return;m.preventDefault();let y=b;const v=0,C=x-1,N=()=>{y=b+1,y>C&&(y=v)},S=()=>{y=b-1,y<v&&(y=C)};switch(m.key){case"Home":y=v;break;case"End":y=C;break;case"ArrowRight":o==="horizontal"&&(f?N():S());break;case"ArrowDown":o==="vertical"&&N();break;case"ArrowLeft":o==="horizontal"&&(f?S():N());break;case"ArrowUp":o==="vertical"&&S();break}const j=y%x;(k=g[j].ref.current)==null||k.focus()});return c.jsx(NJe,{scope:n,disabled:r,direction:s,orientation:o,children:c.jsx(bP.Slot,{scope:n,children:c.jsx(Ze.div,{...i,"data-orientation":o,ref:l,onKeyDown:r?void 0:h})})})}),U1="AccordionItem",[jJe,yP]=bN(U1),ene=w.forwardRef((e,t)=>{const{__scopeAccordion:n,value:r,...s}=e,o=xN(U1,n),i=vJe(U1,n),a=xP(n),l=wr(),u=r&&i.value.includes(r)||!1,d=o.disabled||e.disabled;return c.jsx(jJe,{scope:n,open:u,disabled:d,triggerId:l,children:c.jsx(QW,{"data-orientation":o.orientation,"data-state":ine(u),...a,...s,ref:t,disabled:d,open:u,onOpenChange:f=>{f?i.onItemOpen(r):i.onItemClose(r)}})})});ene.displayName=U1;var tne="AccordionHeader",nne=w.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=xN(ha,n),o=yP(tne,n);return c.jsx(Ze.h3,{"data-orientation":s.orientation,"data-state":ine(o.open),"data-disabled":o.disabled?"":void 0,...r,ref:t})});nne.displayName=tne;var _T="AccordionTrigger",rne=w.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=xN(ha,n),o=yP(_T,n),i=wJe(_T,n),a=xP(n);return c.jsx(bP.ItemSlot,{scope:n,children:c.jsx(tNe,{"aria-disabled":o.open&&!i.collapsible||void 0,"data-orientation":s.orientation,id:o.triggerId,...a,...r,ref:t})})});rne.displayName=_T;var sne="AccordionContent",one=w.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=xN(ha,n),o=yP(sne,n),i=xP(n);return c.jsx(nNe,{role:"region","aria-labelledby":o.triggerId,"data-orientation":s.orientation,...i,...r,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});one.displayName=sne;function ine(e){return e?"open":"closed"}var kJe=Zte,EJe=ene,_Je=nne,ane=rne,lne=one;const vP=kJe,hx=D.forwardRef(({className:e,...t},n)=>c.jsx(EJe,{ref:n,className:X("border-b",e),...t}));hx.displayName="AccordionItem";const mx=D.forwardRef(({className:e,children:t,...n},r)=>c.jsx(_Je,{className:"flex",children:c.jsxs(ane,{ref:r,className:X("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...n,children:[t,c.jsx(ur,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));mx.displayName=ane.displayName;const px=D.forwardRef(({className:e,children:t,...n},r)=>c.jsx(lne,{ref:r,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:c.jsx("div",{className:X("pb-4 pt-0",e),children:t})}));px.displayName=lne.displayName;let cne=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,n)=>(n&=63,n<36?t+=n.toString(36):n<62?t+=(n-26).toString(36).toUpperCase():n>62?t+="-":t+="_",t),"");const gx=[{id:"sum",label:"Sum",symbol:"+",description:"Add two metrics together",template:()=>"({field_0} + {field_1})",requiresTwoInputs:!0},{id:"difference",label:"Difference",symbol:"−",description:"Subtract one metric from another",template:()=>"({field_0} - {field_1})",requiresTwoInputs:!0},{id:"product",label:"Product (Multiplication)",symbol:"×",description:"Multiply two metrics",template:()=>"({field_0} * {field_1})",requiresTwoInputs:!0},{id:"ratio",label:"Ratio",symbol:"÷",description:"Divide one metric by another",template:()=>"({field_0} / NULLIF({field_1}, 0))",requiresTwoInputs:!0},{id:"change",label:"Change",symbol:"Δ",description:"Calculate percentage change from A to B",template:()=>"(({field_1} - {field_0}) / NULLIF({field_0}, 0))",requiresTwoInputs:!0},{id:"percentage",label:"Percentage",symbol:"%",description:"Calculate (A / B) × 100",template:()=>"(({field_0} / NULLIF({field_1}, 0)) * 100)",requiresTwoInputs:!0},{id:"scale",label:"Scale (Multiply by Factor)",symbol:"×n",description:"Multiply a metric by a constant factor",template:()=>"({field_0} * {constant})",requiresTwoInputs:!1},{id:"custom",label:"Custom Expression",symbol:"{}",description:"Drag fields to create custom expression with tokens",requiresTwoInputs:!1,allowsCustomExpression:!0}],hl=e=>e.trim().toLowerCase().replace(/\s+/g,"_"),kl=e=>e!=null&&e.startsWith("card-source-")?e.replace("card-source-",""):e;function J6(e,t,n,r,s,o,i,a,l,u){const d=gx.find(x=>x.id===t);if(!d)throw new Error(`Unknown operation: ${t}`);let f,h=[],m;if(t==="custom"){if(!(a!=null&&a.trim()))throw new Error("Custom expression is required");f=a.trim(),h=u||[]}else if(t==="scale"){if(!n)throw new Error("Metric A is required for scale operation");if(l===void 0||Number.isNaN(l))throw new Error("Constant factor is required for scale operation");f=d.template().replace("{constant}",String(l)),h=[n],m=l}else{if(!n||!r)throw new Error("Metrics A and B are required for standard operations");f=d.template(),h=[n,r]}const p={operation:t,inputFields:h,...m!==void 0&&{constant:m}},g=hl(e);return{id:i||`calc_${cne(10)}`,name:g,label:e,alias:g,qualifiedFieldName:g,dataType:"number",role:"metric",aggregate:"SUM",expression:f,calculatedFormula:p,entityId:o,entityName:tc,entityType:"table",description:`Calculated field: ${e}`}}function TJe(e){var r,s;const t=gx.find(o=>o.id===e.operation);if(!t)return"Unknown operation";if(e.operation==="custom")return"Custom expression";if(e.operation==="scale"){const o=((r=e.inputFields[0])==null?void 0:r.label)||((s=e.inputFields[0])==null?void 0:s.name)||"A",i=e.constant??1;return`${o} × ${i}`}return e.inputFields.map(o=>o.label||o.name).join(` ${t.symbol} `)}function MJe(e,t,n,r,s,o){const i=hl(e);return{id:o||`calc_dim_${cne(10)}`,name:i,label:e.trim(),alias:i,qualifiedFieldName:i,dataType:r,role:"groupby",expression:t.trim(),calculatedFormula:{operation:"custom",inputFields:n.map(a=>a.role==="metric"?{...a,role:"metric"}:{...a,role:"groupby"})},entityId:s,entityName:tc,entityType:"table",description:`Calculated field: ${e.trim()}`}}function DJe(){const{domainCalculatedFields:e}=mP(),t=w.useMemo(()=>e.filter(r=>r.role==="metric"),[e]),n=w.useMemo(()=>e.filter(r=>r.role==="groupby"),[e]);return{fields:e,metrics:t,dimensions:n}}function IJe({value:e,onChange:t,disabled:n,options:r=["dimension","metric"]}){const s=r.length>0?r:["dimension","metric"],o=["dimension","metric"].filter(l=>s.includes(l)),i=n||o.length<=1,a=o.includes(e)?e:o[0];return c.jsx(zs,{value:a,onValueChange:l=>t(l),className:"w-full",children:c.jsx(vs,{className:"grid h-9 w-full",style:{gridTemplateColumns:`repeat(${o.length}, minmax(0, 1fr))`},children:o.map(l=>c.jsx(sn,{value:l,disabled:i,className:"text-xs",children:l==="metric"?"Calculated Metric":"Calculated Dimension"},l))})})}function RJe({groups:e,searchTerm:t,onSearchTermChange:n,onFieldClick:r,selectedFieldIds:s,disabled:o}){const i=new Set(s||[]),a=e.length>0||t.length>0,l=e.map(f=>f.id),u=(f,h)=>{if(!h)return f;const m=f.toLowerCase(),p=h.toLowerCase();return m.startsWith(`${p}.`)?f.slice(h.length+1):f},d=(f,h)=>{const p=(f.name||f.baseLabel||f.label||f.tokenLabel||"").trim(),g=[h,f.qualifiedEntityName,f.entityName].filter(Boolean);for(const b of g){const x=u(p,b);if(x!==p)return x}return p.includes(".")&&p.split(".").pop()||p};return c.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-3 border-r border-border pr-4",children:[a&&c.jsxs("div",{className:"relative",children:[c.jsx(Xo,{className:"absolute left-3 top-1/2 size-3.5 -translate-y-1/2 transform text-muted-foreground"}),c.jsx(En,{value:t,onChange:f=>n(f.target.value),placeholder:"Search fields...",className:"pl-10 pr-10"}),t&&c.jsx("button",{type:"button",onClick:()=>n(""),className:"absolute right-3 top-1/2 -translate-y-1/2 transform text-muted-foreground hover:text-foreground",children:c.jsx(kt,{className:"size-3.5"})})]}),c.jsx(nl,{className:"min-h-0 flex-1",children:e.length===0?c.jsx("div",{className:"rounded-md border border-dashed border-muted px-3 py-6 text-center text-xs text-muted-foreground",children:"No fields match your search."}):c.jsx(vP,{type:"multiple",defaultValue:l,className:"space-y-2",children:e.map(f=>c.jsxs(hx,{value:f.id,className:"border-none",children:[c.jsx(mx,{className:"group rounded-md px-2.5 py-2 text-muted-foreground hover:bg-muted hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"max-w-[190px] truncate text-ellipsis whitespace-nowrap text-sm font-medium text-primary",children:f.label}),c.jsx(Ye,{variant:"secondary",className:"rounded-full text-xs text-muted-foreground group-hover:bg-background",children:f.fields.length})]})}),c.jsx(px,{className:"pb-2",children:c.jsx("div",{className:"space-y-1",children:f.fields.map(h=>{const m=i.has(h.id),p=!h.isCompatible||o,g=h.isCalculated&&h.role==="metric",b=d(h,f.label);return c.jsxs("button",{type:"button",onClick:()=>h.isCompatible&&!o&&r(h),className:X("group/container flex w-full items-center gap-3 rounded-lg border border-transparent px-2 py-2 text-left transition-all",p?"cursor-not-allowed opacity-50":"hover:bg-muted",m&&"border-border bg-muted"),disabled:p,children:[c.jsxs("div",{className:"relative shrink-0",children:[Am(h.dataType),h.isCalculated&&c.jsx("span",{className:X("absolute bottom-0 right-0 translate-x-[30%] translate-y-[35%] rounded-[3px] px-0.5 py-0.5 text-[7px] font-semibold uppercase italic leading-none shadow-sm",g?"bg-emerald-500/90 text-white":"bg-blue-500/90 text-white"),children:"fx"})]}),c.jsx("div",{className:"min-w-0 flex-1 overflow-hidden",children:c.jsx("span",{className:X("block truncate text-sm text-foreground/80",!p&&"group-hover/container:text-foreground"),children:b})}),m&&c.jsx(Ye,{variant:"secondary",className:"shrink-0 text-[10px]",children:"Selected"})]},h.id)})})})]},f.id))})})]})}function AJe({value:e,onChange:t,allowCustom:n,disabled:r}){const s=gx.filter(l=>n?!0:l.id!=="custom"),i=!s.some(l=>l.id==="custom")&&e==="custom"?[...s,gx.find(l=>l.id==="custom")]:s,a=i.find(l=>l.id===e);return c.jsxs("div",{className:"space-y-2",children:[c.jsxs(lt,{value:e,onValueChange:l=>t(l),disabled:r,children:[c.jsx(st,{children:c.jsx(ct,{})}),c.jsx(ot,{children:c.jsxs(gI,{children:[c.jsx(lS,{children:"OPERATIONS"}),i.map(l=>c.jsx(we,{value:l.id,children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"font-mono text-sm",children:l.symbol}),c.jsx("span",{children:l.label})]})},l.id))]})})]}),a&&c.jsx("p",{className:"text-xs text-muted-foreground",children:a.description})]})}const PJe={COUNT:"Count",DISTINCT:"Count Distinct",SUM:"Sum",AVG:"Average",MIN:"Minimum",MAX:"Maximum",MEDIAN:"Median"};function FJe({value:e,onChange:t,disabled:n,fieldDataType:r,allowMedian:s}){const i=(r?Cr(r):"number")==="number",a=["SUM","AVG","COUNT","DISTINCT","MIN","MAX"],l=i?s?[...a,"MEDIAN"]:a:["COUNT","DISTINCT"];return c.jsxs(lt,{value:e,onValueChange:u=>t(u),disabled:n,children:[c.jsx(st,{className:"h-9",children:c.jsx(ct,{})}),c.jsx(ot,{children:l.map(u=>c.jsx(we,{value:u,children:PJe[u]},u))})]})}const OJe=e=>{const n=(e.name||e.baseLabel||e.label||e.tokenLabel||"").trim();return n.includes(".")&&n.split(".").pop()||n};function ez({label:e,input:t,availableFields:n,excludeFieldIds:r,onFieldSelect:s,onAggregateChange:o,onRemove:i,onActivate:a,allowMedian:l,disabled:u}){const d=(t==null?void 0:t.field.id)||"",f=r!=null&&r.length?n.filter(h=>!r.includes(h.id)):n;return c.jsxs("div",{className:X("flex items-center gap-2 rounded-md border border-border px-2 py-2",a&&!u&&"cursor-pointer",u&&"opacity-60"),onClick:u?void 0:a,children:[c.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded bg-muted font-mono text-xs font-semibold",children:e}),c.jsxs("div",{className:"flex flex-1 gap-2",children:[c.jsxs(lt,{value:d,onValueChange:h=>{const m=f.find(p=>p.id===h);m&&s(m)},disabled:u,children:[c.jsx(st,{className:"h-9 flex-1",children:c.jsx(ct,{placeholder:"Select field"})}),c.jsx(ot,{children:f.map(h=>c.jsx(we,{value:h.id,children:OJe(h)},h.id))})]}),c.jsx("div",{className:"w-36",children:c.jsx(FJe,{value:(t==null?void 0:t.aggregate)||"SUM",onChange:o,disabled:u||(t==null?void 0:t.isCalculatedField),fieldDataType:t==null?void 0:t.field.dataType,allowMedian:l})})]}),t&&c.jsx(oe,{type:"button",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:h=>{h.stopPropagation(),i()},disabled:u,children:c.jsx(kt,{className:"h-3.5 w-3.5"})})]})}const tz=w.forwardRef(function({value:t,onChange:n,onGenerate:r,showGenerate:s,disabled:o},i){return c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-sm font-medium",children:"Expression"}),s&&c.jsxs(oe,{type:"button",size:"sm",variant:"outline",onClick:r,disabled:o,className:"h-7 gap-2 text-xs",children:[c.jsx(cC,{className:"h-3.5 w-3.5"}),"Generate with AI"]})]}),c.jsx(rx,{ref:i,value:t,onChange:a=>n(a.target.value),disabled:o,placeholder:"CASE WHEN {Amount} > 100 THEN 'Large' ELSE 'Small' END",className:"min-h-[140px] font-mono text-xs"})]})});function $Je({result:e}){const t=e.errors.length>0;return c.jsxs("div",{className:X("rounded-md border px-3 py-2 text-xs",t?"border-destructive/40 bg-destructive/10 text-destructive":"border-emerald-500/30 bg-emerald-500/10 text-emerald-700"),children:[c.jsx("div",{className:"font-medium",children:t?"Validation Failed":"Validation Passed"}),e.tokens.length>0&&c.jsxs("div",{className:"mt-2 space-y-1",children:[c.jsx("div",{className:"text-[11px] uppercase tracking-wide text-muted-foreground",children:"Tokens Found"}),e.tokens.map(n=>c.jsx("div",{children:n.field?`{${n.token}} -> ${n.field.qualifiedFieldName||n.field.name}`:`{${n.token}}`},n.token))]}),e.errors.length>0&&c.jsxs("div",{className:"mt-2 space-y-1",children:[c.jsx("div",{className:"text-[11px] uppercase tracking-wide text-muted-foreground",children:"Errors"}),e.errors.map((n,r)=>c.jsxs("div",{children:[n.message,n.suggestion?` (${n.suggestion})`:""]},`${n.code}-${r}`))]}),e.warnings.length>0&&c.jsxs("div",{className:"mt-2 space-y-1",children:[c.jsx("div",{className:"text-[11px] uppercase tracking-wide text-muted-foreground",children:"Warnings"}),e.warnings.map((n,r)=>c.jsxs("div",{children:[n.message," ",n.suggestion]},`${n.code}-${r}`))]}),e.inferredDataType&&c.jsxs("div",{className:"mt-2 text-[11px] text-muted-foreground",children:["Inferred Output Type: ",e.inferredDataType]})]})}function nz({onValidate:e,isValidating:t,validationResult:n,fallbackResult:r,error:s,showFallback:o,disabled:i}){return c.jsxs("div",{className:"space-y-2",children:[c.jsx(oe,{type:"button",variant:"outline",onClick:e,disabled:t||i,className:"h-8",children:t?"Validating...":"Validate Expression"}),s&&c.jsx("div",{className:"text-xs text-destructive",children:s}),(n||o)&&c.jsx($Je,{result:n||r})]})}function LJe({scope:e,onChange:t,showDashboardScope:n,showDomainScope:r,error:s,disabled:o}){return c.jsxs("div",{className:"space-y-3 border-t border-border pt-4",children:[c.jsx(fe,{children:"Availability"}),c.jsxs(so,{value:e,onValueChange:i=>t(i),className:"space-y-2",disabled:o,children:[c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(vn,{id:"scope-card",value:"card"}),c.jsx(fe,{htmlFor:"scope-card",className:"text-sm font-normal",children:"This card only"})]}),n&&c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(vn,{id:"scope-dashboard",value:"dashboard"}),c.jsx(fe,{htmlFor:"scope-dashboard",className:"text-sm font-normal",children:"All cards in this dashboard"})]}),r&&c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(vn,{id:"scope-domain",value:"domain"}),c.jsx(fe,{htmlFor:"scope-domain",className:"text-sm font-normal",children:"Save to domain"})]})]}),s&&c.jsx("p",{className:"text-xs text-red-500",children:s})]})}function zJe({description:e,tags:t,onDescriptionChange:n,onTagsChange:r,descriptionError:s,disabled:o}){return c.jsxs("div",{className:"space-y-3 rounded-md border border-muted bg-muted/30 p-3",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{htmlFor:"domain-description",children:"Description"}),c.jsx(wu,{id:"domain-description",value:e,onChange:i=>n(i.target.value),placeholder:"Explain what this metric represents",className:X("text-sm",s&&"border-red-500"),rows:3,disabled:o}),s&&c.jsx("p",{className:"text-xs text-red-500",children:s})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{htmlFor:"domain-tags",children:"Tags (optional)"}),c.jsx(bn,{id:"domain-tags",value:t,onChange:i=>r(i.target.value),placeholder:"profitability, kpi",disabled:o})]}),c.jsx("p",{className:"text-xs text-muted-foreground",children:"This field will be visible to all dashboards using this domain."})]})}function BJe({endpoint:e,availableFields:t,fieldType:n,dialect:r}){const{authToken:s}=Xe(),[o,i]=w.useState(!1),[a,l]=w.useState(null);return{generateExpression:w.useCallback(async d=>{var f;if(!e)return l("AI generation is not available"),null;if(!d.trim())return l("Describe what you want to calculate"),null;i(!0),l(null);try{const h={type:"calculated-field-expression",context:{userQuery:d,availableFields:t.map(p=>({name:p.tokenLabel,dataType:p.dataType})),fieldType:n},options:{dialect:r}},m=await Kr(e,(s==null?void 0:s.accessToken)||"",h);if(!m.success||!((f=m.result)!=null&&f.generated))throw new Error(m.error||"No expression generated");return m.result.generated}catch(h){return l((h==null?void 0:h.error)||(h==null?void 0:h.message)||"AI generation failed"),null}finally{i(!1)}},[e,t,n,r,s==null?void 0:s.accessToken]),isGenerating:o,error:a}}function VJe({open:e,onOpenChange:t,availableFields:n,fieldType:r,onExpressionGenerated:s,endpoint:o,dialect:i}){const[a,l]=w.useState(""),[u,d]=w.useState(""),[f,h]=w.useState(""),{generateExpression:m,isGenerating:p,error:g}=BJe({endpoint:o,availableFields:n,fieldType:r,dialect:i}),b=w.useMemo(()=>{const S=f.trim().toLowerCase();return S?n.filter(j=>[j.label,j.baseLabel,j.name,j.tokenLabel,j.entityName,j.qualifiedEntityName].filter(Boolean).join(" ").toLowerCase().includes(S)):n},[n,f]),x=S=>{const k=(S.name||S.baseLabel||S.label||S.tokenLabel||"").trim();return k.includes(".")&&k.split(".").pop()||k},y=S=>{const j=S.entityName||S.qualifiedEntityName||"";return j?j==="SEMAPHOR_CALCULATED_FIELD"?"Calculated":j.includes(".")&&j.split(".").pop()||j:"—"},v=async()=>{const S=await m(a.trim());S&&d(S)},C=()=>{u.trim()&&(s(u.trim()),l(""),d(""),t(!1))},N=()=>{l(""),d(""),h(""),t(!1)};return c.jsx(Xr,{open:e,onOpenChange:S=>{S?t(!0):N()},children:c.jsxs(Vr,{className:"max-w-3xl",children:[c.jsxs(Hr,{children:[c.jsx(Ur,{children:"Generate Expression with AI"}),c.jsx(ls,{children:"Describe what you want to calculate and we will draft a SQL expression."})]}),c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{htmlFor:"ai-prompt",children:"Describe what you want to calculate"}),c.jsx(rx,{id:"ai-prompt",value:a,onChange:S=>l(S.target.value),placeholder:"Create a bucket that categorizes orders as 'Large' when amount is greater than 1000",rows:2})]}),c.jsxs("div",{className:"flex items-center justify-between gap-3 text-xs text-muted-foreground",children:[c.jsx("span",{children:"Be specific about conditions, buckets, or math you want to apply."}),c.jsx(oe,{size:"sm",onClick:v,disabled:p||!a.trim(),children:p?"Generating...":u?"Regenerate":"Generate"})]}),g&&c.jsx("p",{className:"text-xs text-destructive",children:g})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{children:"Available fields"}),c.jsxs("div",{className:"relative",children:[c.jsx(Xo,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),c.jsx(bn,{value:f,onChange:S=>h(S.target.value),placeholder:"Search fields...",className:"pl-9"})]}),c.jsx("div",{className:"overflow-hidden rounded-lg border border-border",children:c.jsx("div",{className:"max-h-48 overflow-y-auto",children:c.jsxs("table",{className:"w-full text-sm",children:[c.jsx("thead",{className:"sticky top-0 z-10 border-b bg-muted",children:c.jsxs("tr",{children:[c.jsx("th",{className:"bg-muted/50 px-3 py-2 text-left font-medium",children:"Field"}),c.jsx("th",{className:"bg-muted/50 px-3 py-2 text-left font-medium",children:"Type"}),c.jsx("th",{className:"bg-muted/50 px-3 py-2 text-left font-medium",children:"Category"})]})}),c.jsx("tbody",{className:"divide-y",children:b.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:3,className:"py-6 text-center text-xs text-muted-foreground",children:"No fields match your search."})}):b.map(S=>c.jsxs("tr",{className:"hover:bg-muted/30",children:[c.jsx("td",{className:"px-3 py-1.5 font-mono text-xs",children:x(S)}),c.jsx("td",{className:"px-3 py-1.5",children:c.jsx(Ye,{variant:"secondary",className:"px-1.5 py-0 text-[11px]",children:S.dataType})}),c.jsx("td",{className:"px-3 py-1.5 text-sm text-muted-foreground",children:y(S)})]},S.id))})]})})})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{children:"Generated expression"}),c.jsx(rx,{value:u,readOnly:!0,rows:2,className:"font-mono text-sm"}),c.jsx("p",{className:"text-xs text-muted-foreground",children:"Review the generated expression before using it."})]})]}),c.jsxs(as,{className:"gap-2",children:[c.jsx(oe,{variant:"ghost",onClick:N,children:"Cancel"}),c.jsx(oe,{onClick:C,disabled:!u.trim(),children:"Use Expression"})]})]})})}const HJe=/\{([^}]+)\}/g;function yN(e){return e.trim().toLowerCase()}function W1(e){return Array.from(e.matchAll(HJe)).map(t=>t[1]).filter(Boolean)}function UJe(e){const t=new Set,n=[];return e.forEach(r=>{const s=yN(r);t.has(s)||(t.add(s),n.push(r))}),n}function wP(e){const t=new Map,n=(r,s)=>{const o=yN(r),i=t.get(o)||[];i.some(a=>a.id===s.id)||t.set(o,[...i,s])};return e.forEach(r=>{n(r.tokenLabel,r),r.name&&r.name!==r.tokenLabel&&n(r.name,r),r.baseLabel&&r.baseLabel!==r.tokenLabel&&n(r.baseLabel,r)}),t}function ag(e,t){const n=W1(e),r=UJe(n),s=wP(t),o=r.map(a=>{const l=s.get(yN(a))||[];return l.length===1?l[0]:null}),i=r.filter((a,l)=>!o[l]);return{orderedTokens:r,orderedFields:o,unresolvedTokens:i}}function rz(e,t){return t.reduce((n,r,s)=>{const o=new RegExp(`\\{${WJe(r)}\\}`,"gi");return n.replace(o,`{field_${s}}`)},e)}function WJe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const qJe=e=>e.entityName===sm||e.entityName===tc?"Calculated Fields":e.qualifiedEntityName?gb(e.entityName||e.qualifiedEntityName):gb(e.entityName||"Other"),YJe=e=>Cr(e.dataType||"")==="number";function GJe(e,t,n){const r=new Set((n||[]).map(s=>kl(s)));return e.filter(s=>{const o=kl(s.id);return o&&r.has(o)?!1:t==="dimension"?s.role!=="metric":!0})}function KJe(e){const t=new Map,n=new Map;return e.forEach(r=>{let o=r.entityName&&r.entityName!==tc?`${r.entityName}.${r.name}`:r.name;const i=o.toLowerCase(),a=n.get(i)||0;a>0&&(o=`${o} ${a+1}`),n.set(i,a+1),t.set(r.id,o)}),t}function ZJe(e,t,n,r){if(t!=="metric")return e.map(o=>({...o,isCompatible:!0}));if(!n)return e.map(o=>({...o,isCompatible:!0}));const s=n==="COUNT"||n==="DISTINCT";return e.map(o=>{const i=s||YJe(o);return{...o,isCompatible:i}}).filter(o=>r)}function XJe(e,t){if(!t)return e;const n=t.toLowerCase();return e.filter(r=>r.name.toLowerCase().includes(n)||r.baseLabel.toLowerCase().includes(n)||r.tokenLabel.toLowerCase().includes(n)||r.dataType.toLowerCase().includes(n)||(r.qualifiedEntityName||r.entityName||"").toLowerCase().includes(n))}function QJe(e){const t=new Map;return e.forEach(n=>{var s;const r=n.qualifiedEntityName||n.entityName||"Other";t.has(r)||t.set(r,{id:r,label:qJe(n),fields:[]}),(s=t.get(r))==null||s.fields.push(n)}),Array.from(t.values())}function JJe({fields:e,mode:t,searchTerm:n,excludeFieldIds:r,selectedAggregate:s,showIncompatible:o}){const i=w.useMemo(()=>GJe(e,t,r),[e,t,r]),a=w.useMemo(()=>KJe(i),[i]),l=w.useMemo(()=>i.map(m=>{const p=m.label||m.name,g=m.role==="metric"&&ac(m)||m.role==="groupby"&&Jx(m);return{...m,baseLabel:p,tokenLabel:a.get(m.id)||p,isCalculated:g,isCompatible:!0}}),[i,a]),u=w.useMemo(()=>wP(l),[l]),d=w.useMemo(()=>ZJe(l,t,s,o),[l,t,s,o]),f=w.useMemo(()=>XJe(d,n),[d,n]),h=w.useMemo(()=>QJe(f),[f]);return{allFields:l,filteredFields:f,groups:h,tokenCandidates:u}}const eet=e=>{let t=0;for(const n of e)if(n==="("&&(t+=1),n===")"&&(t-=1),t<0)return!1;return t===0},tet=(e,t)=>{const n=e.toLowerCase(),r=t.toLowerCase();if(n===r)return 0;if(!n.length)return r.length;if(!r.length)return n.length;const s=[];for(let o=0;o<=r.length;o+=1)s[o]=[o];for(let o=0;o<=n.length;o+=1)s[0][o]=o;for(let o=1;o<=r.length;o+=1)for(let i=1;i<=n.length;i+=1)r.charAt(o-1)===n.charAt(i-1)?s[o][i]=s[o-1][i-1]:s[o][i]=Math.min(s[o-1][i-1]+1,s[o][i-1]+1,s[o-1][i]+1);return s[r.length][n.length]},net=(e,t)=>t.map(r=>({candidate:r,distance:tet(e,r)})).filter(r=>r.distance>0&&r.distance<=3).sort((r,s)=>r.distance-s.distance).slice(0,3).map(r=>r.candidate),ret=(e,t)=>{var r;const n=e.trim();if(n){if(/\bDATE_TRUNC\b/i.test(n))return"date";if(/\bTIMESTAMP\b/i.test(n))return"datetime";if(/\bDATE\b/i.test(n)&&!/\bUPDATE\b/i.test(n))return"date";if(/['"]/.test(n))return"string";if(/[+\-*/]/.test(n))return"number";if(t.length===1){const s=((r=t[0])==null?void 0:r.dataType)||"";if(/date|timestamp/i.test(s))return"date";if(/int|decimal|float|double|num|real/i.test(s))return"number";if(/boolean/i.test(s))return"boolean"}return"string"}},set=e=>e.map(t=>({id:t.id,name:t.name,label:t.tokenLabel,dataType:t.dataType,entityName:t.entityName,role:t.role}));function oet({expression:e,availableFields:t,excludeFieldIds:n,validationEndpoint:r,connectionId:s,dialect:o}){const{authToken:i}=Xe(),[a,l]=w.useState(null),[u,d]=w.useState(!1),[f,h]=w.useState(null),m=w.useMemo(()=>wP(t),[t]),p=w.useMemo(()=>{const x=[],y=[],v=e.trim();v||x.push({code:"SYNTAX_ERROR",message:"Expression is required"}),v&&!eet(v)&&x.push({code:"SYNTAX_ERROR",message:"Unbalanced parentheses in expression"});const N=W1(e).map(j=>{const k=m.get(yN(j))||[];if(!k.length){const M=Array.from(m.keys()),T=net(j,M),P=T.length?`Did you mean {${T[0]}}?`:void 0;return x.push({code:"UNKNOWN_TOKEN",message:`Unknown field token: {${j}}`,suggestion:P}),{token:j,field:null,error:"Unknown token"}}if(k.length>1)return x.push({code:"UNKNOWN_TOKEN",message:`Token {${j}} matches multiple fields. Use a disambiguated label.`}),{token:j,field:null,error:"Ambiguous token"};const _=k[0];return(n||[]).map(kl).includes(kl(_.id))?(x.push({code:"SELF_REFERENCE",message:"Cannot reference the field being edited"}),{token:j,field:null,error:"Self reference"}):{token:j,field:_}});/\bCASE\b/i.test(e)&&!/\bELSE\b/i.test(e)&&y.push({code:"MISSING_ELSE",message:"CASE expression missing ELSE clause",suggestion:"Add an ELSE branch to handle default values."}),/\//.test(e)&&!/NULLIF\s*\(/i.test(e)&&y.push({code:"DIVISION_BY_ZERO",message:"Division may result in divide-by-zero errors",suggestion:"Wrap the denominator in NULLIF(..., 0)."});const S=N.map(j=>j.field).filter(Boolean);return{isValid:x.length===0,tokens:N,errors:x,warnings:y,inferredDataType:ret(e,S)}},[e,n,m]),g=w.useCallback(async()=>{var v;if(h(null),!r||!p.isValid)return l(p),p;const x=r,y={type:"calculated-field-expression",value:e,context:{availableFields:set(t),connectionId:s,excludeFieldIds:n,dialect:o}};d(!0);try{const C=await Kr(x,(i==null?void 0:i.accessToken)||"",y),N=C.errors||[],S=C.warnings||[],j={...p,isValid:C.valid&&N.length===0,errors:N,warnings:S,inferredDataType:((v=C.metadata)==null?void 0:v.inferredType)||p.inferredDataType};return l(j),j}catch(C){return h((C==null?void 0:C.error)||"Validation failed"),l(p),p}finally{d(!1)}},[r,p,e,t,s,n,o,i==null?void 0:i.accessToken]),b=w.useCallback(()=>{l(null),h(null)},[]);return{clientResult:p,validationResult:a,isValidating:u,serverError:f,validateExpression:g,resetValidation:b}}const sz=[{value:"string",label:"String"},{value:"number",label:"Number"},{value:"boolean",label:"Boolean"},{value:"date",label:"Date"},{value:"datetime",label:"Datetime"},{value:"json",label:"JSON"},{value:"geo",label:"Geo"}],pk=e=>{if(!e)return"";const t=e.field.tokenLabel||e.field.label||e.field.name,n=e.aggregate;return n==="DISTINCT"?`COUNT(DISTINCT ${t})`:n==="COUNT"?`COUNT(${t})`:`${n}(${t})`},une=e=>Cr(e.dataType||"")==="number",mh=e=>une(e)?"SUM":"COUNT",gk=(e,t)=>une(e)||t==="COUNT"||t==="DISTINCT"?t:mh(e);function bk(e,t){if(e.role==="metric"){const n=e;return ac(n)?n:{...n,aggregate:t}}return{...e,id:`${e.id}_${t.toLowerCase()}`,role:"metric",aggregate:t,alias:`${(e.alias||e.name).toLowerCase()}_${t.toLowerCase()}`,entityName:e.entityName,entityId:e.entityId,qualifiedEntityName:e.qualifiedEntityName}}function ah(e,t){const n=e.role==="metric"&&ac(e);return{field:e,aggregate:n&&e.aggregate||t,isCalculatedField:n}}function dne({open:e,onOpenChange:t,availableFields:n,existingField:r,existingFieldScope:s,onSave:o,onSaveToDashboard:i,onPromoteMetricToDomain:a,onPromoteDimensionToDomain:l,cardId:u,domainId:d,initialFieldType:f="metric",allowedFieldTypes:h}){var Uf;const{tokenProps:m}=Xe(),{selectedConnection:p}=sW(),g=(p==null?void 0:p.dialect)==="bigquery"||(p==null?void 0:p.dialect)==="snowflake",[b,x]=w.useState(f),[y,v]=w.useState(""),[C,N]=w.useState("ratio"),[S,j]=w.useState(null),[k,_]=w.useState(null),[E,M]=w.useState(1),[T,P]=w.useState(""),[F,A]=w.useState(null),[$,q]=w.useState("card"),[W,z]=w.useState(""),[I,L]=w.useState(""),[O,R]=w.useState({}),[H,V]=w.useState("A"),[Y,U]=w.useState(""),[B,G]=w.useState(!1),[Z,J]=w.useState(null),[K,ee]=w.useState(!1),[se,ce]=w.useState(!1),[he,Se]=w.useState(!1),be=w.useRef(null),Te=w.useRef(!1),ae=w.useRef(null),{userContext:ie}=Ls(),{metrics:xe,dimensions:de}=DJe(),Ce=(ie==null?void 0:ie.type)==="organization",ge=!Ce,re=!!d&&Ce,me=re&&!!a,Oe=re&&!!l,Pe=!!(i||me||Oe),Ie=!!i,He=b==="metric"?me:Oe,Je=(Uf=m==null?void 0:m.apiServiceUrl)==null?void 0:Uf.replace(/\/$/,""),at=Je?`${Je}/v1/validate`:"/v1/validate",gt=Je?`${Je}/v1/ai/generate`:"/v1/ai/generate",bt=w.useMemo(()=>{var Rt;const je=[...n];return(((Rt=r==null?void 0:r.calculatedFormula)==null?void 0:Rt.inputFields)||[]).forEach(Sn=>{je.some(Gn=>Gn.id===Sn.id||Gn.qualifiedFieldName===Sn.qualifiedFieldName||Gn.name===Sn.name)||je.push(Sn)}),je},[n,r]),ft=H==="A"?S:k,Ut=b==="metric"&&C!=="custom"?ft==null?void 0:ft.aggregate:void 0,{allFields:Ue,groups:Et}=JJe({fields:bt,mode:b,searchTerm:Y,excludeFieldIds:r?[r.id]:void 0,selectedAggregate:Ut,showIncompatible:!0}),le=Ue,{clientResult:Re,validationResult:_e,validateExpression:De,isValidating:We,serverError:ke,resetValidation:ye}=oet({expression:T,availableFields:le,excludeFieldIds:r?[r.id]:void 0,validationEndpoint:at,connectionId:p==null?void 0:p.id,dialect:p==null?void 0:p.dialect}),Ae=(_e==null?void 0:_e.inferredDataType)||Re.inferredDataType,Ke=F||Ae||"string",et=gx.find(je=>je.id===C),ue=w.useMemo(()=>{if(!y.trim())return!1;const je=hl(y),ut=s==="domain"&&(r!=null&&r.name)?hl(r.name):null;return(b==="metric"?xe:de).some(Sn=>{const en=hl(Sn.name);return ut&&en===ut?!1:en===je})},[de,xe,r,s,b,y]),ze=w.useMemo(()=>{if(b==="metric"&&C==="custom"){const{orderedFields:ut}=ag(T,le);return ut.filter(Rt=>!!Rt).map(Rt=>Rt.id)}const je=[];return S!=null&&S.field.id&&je.push(S.field.id),k!=null&&k.field.id&&je.push(k.field.id),je},[le,T,b,S,k,C]),Qe=je=>{ge||(x(je),je==="dimension"&&$==="domain"&&!Oe&&q("card"),je==="metric"&&$==="domain"&&!me&&q("card"))},jt=je=>{ge||(N(je),je==="scale"&&_(null),je==="custom"&&(j(null),_(null)))},mn=()=>{v(""),N("ratio"),j(null),_(null),M(1),P(""),A(null),q("card"),z(""),L(""),R({}),U(""),G(!1),J(null),ee(!1),Se(!1),ye(),t(!1)},fr=w.useCallback(je=>bt.find(ut=>ut.qualifiedFieldName===je.qualifiedFieldName||ut.name===je.name)||je,[bt]),Wr=w.useCallback(je=>{if(!je.calculatedFormula)return;const ut=je.calculatedFormula;if(N(ut.operation),P(""),ut.operation==="scale"){const en=ut.inputFields[0];en&&j(ah(fr(en),en.aggregate||"SUM")),M(ut.constant===void 0?1:ut.constant);return}if(ut.operation==="custom"){P(jo(je.expression||"",ut.inputFields||[])),j(null),_(null);return}const[Rt,Sn]=ut.inputFields;Rt&&j(ah(fr(Rt),Rt.aggregate||"SUM")),Sn&&_(ah(fr(Sn),Sn.aggregate||"SUM"))},[fr]),jo=w.useCallback((je,ut)=>je.replace(/\{field_(\d+)\}/g,(Rt,Sn)=>{var kr;const en=ut[Number(Sn)];return en?`{${((kr=le.find(_i=>_i.id===en.id))==null?void 0:kr.tokenLabel)||en.label||en.name}}`:Rt}),[le]);w.useEffect(()=>{var Rt;if(!e){Te.current=!1,ae.current=null;return}const je=r?`${r.role}-${r.id||r.name}`:"new";if(Te.current&&ae.current===je)return;if(Te.current=!0,ae.current=je,R({}),U(""),Se(!1),ye(),r){const Sn=r.tags||[];if(r.role==="metric"){x("metric"),v(r.label||r.name),q(s||"card"),z(r.description||""),L(Sn.join(", ")),Wr(r);return}x("dimension");const en=r;v(en.label||en.name),q(s||"card"),P(jo(en.expression||"",((Rt=en.calculatedFormula)==null?void 0:Rt.inputFields)||[]));const Gn=sz.some(kr=>kr.value===en.dataType)?en.dataType:"string";A(Gn),z(en.description||""),L(Sn.join(", "));return}const ut=h&&h.length>0?h.includes(f)?f:h[0]:f;x(ut),v(""),N("ratio"),j(null),_(null),M(1),P(""),A(null),q("card"),z(""),L("")},[e,r,s,f,h,Wr,jo,ye]);const ol=je=>{const ut=`{${je}}`,Rt=be.current;if(!Rt){P(kr=>kr+ut);return}const Sn=Rt.selectionStart||0,en=Rt.selectionEnd||0,Gn=`${T.slice(0,Sn)}${ut}${T.slice(en)}`;P(Gn),requestAnimationFrame(()=>{Rt.focus();const kr=Sn+ut.length;Rt.setSelectionRange(kr,kr)})},Op=je=>{if(ge)return;if(b==="dimension"||C==="custom"){ol(je.tokenLabel||je.label||je.name);return}const ut=gk(je,H==="A"?(S==null?void 0:S.aggregate)||mh(je):(k==null?void 0:k.aggregate)||mh(je)),Rt=ah(je,ut);if(H==="A"){j(Rt),k||V("B");return}_(Rt),S||V("A")},Wy=(je,ut)=>{if(!ge){if(je==="A"&&S){j({...S,aggregate:ut});return}je==="B"&&k&&_({...k,aggregate:ut})}},hc=async()=>{const je={};if(y.trim()||(je.name="Name is required"),C==="custom")T.trim()||(je.expression="Expression is required"),W1(T).length===0&&(je.expression=je.expression||"Expression must include field tokens"),ag(T,le).unresolvedTokens.length>0&&(je.expression=je.expression||"Expression contains unknown or ambiguous tokens"),je.expression||(await De()).isValid||(je.expression="Fix validation errors before saving");else if(C==="scale")S||(je.inputA="Please select a metric for input A"),Number.isNaN(E)&&(je.constant="Please enter a valid multiplication factor");else{if(S||(je.inputA="Please select a metric for input A"),k||(je.inputB="Please select a metric for input B"),S&&k){const ut=S.field.id===k.field.id,Rt=S.aggregate===k.aggregate;ut&&Rt&&(je.inputs="Inputs A and B must be different metrics")}if(r&&r.role==="metric"){const ut=kl(r.id);(kl(S==null?void 0:S.field.id)===ut||kl(k==null?void 0:k.field.id)===ut)&&(je.inputs="Cannot reference the field being edited")}}return Pe&&($==="domain"&&!me&&(je.scope="You do not have permission to save to domain"),$==="domain"&&!W.trim()&&(je.description="Description is required for domain fields"),$==="domain"&&ue&&(je.name="A domain field with this name already exists")),R(je),Object.keys(je).length===0},CN=async()=>{const je={};return y.trim()||(je.name="Name is required"),T.trim()||(je.expression="Expression is required"),W1(T).length===0&&(je.expression=je.expression||"Expression must include field tokens"),ag(T,le).unresolvedTokens.length>0&&(je.expression=je.expression||"Expression contains unknown or ambiguous tokens"),je.expression||(await De()).isValid||(je.expression="Fix validation errors before saving"),Pe&&($==="domain"&&!Oe&&(je.scope="You do not have permission to save to domain"),$==="domain"&&!W.trim()&&(je.description="Description is required for domain fields"),$==="domain"&&ue&&(je.name="A domain field with this name already exists")),R(je),Object.keys(je).length===0},SN=()=>{const{orderedTokens:je,orderedFields:ut}=ag(T,le),Rt=ut.filter(Gn=>!!Gn),Sn=rz(T,je),en=MJe(y,Sn,Rt,Ke,u,r==null?void 0:r.id);return r&&r.role==="groupby"?{...r,...en}:en},NN=()=>{var Sn;if(C==="custom"){const{orderedTokens:en,orderedFields:Gn}=ag(T,le),kr=Gn.filter(zt=>!!zt),_i=(r==null?void 0:r.role)==="metric"?((Sn=r.calculatedFormula)==null?void 0:Sn.inputFields)||[]:[],ko=new Map;_i.forEach(zt=>{const hr=kl(zt.id);hr&&ko.set(hr,zt),zt.qualifiedFieldName&&ko.set(zt.qualifiedFieldName,zt),zt.name&&ko.set(zt.name,zt)});const mc=kr.map(zt=>{const hr=kl(zt.id),Ti=hr&&ko.get(hr)||zt.qualifiedFieldName&&ko.get(zt.qualifiedFieldName)||ko.get(zt.name),EN=((Ti==null?void 0:Ti.role)==="metric"?Ti.aggregate:void 0)||(zt.role==="metric"?zt.aggregate:void 0)||mh(zt);return bk(zt,EN)}),tr=rz(T,en),on=J6(y,C,null,null,{},u,r==null?void 0:r.id,tr,void 0,mc);return r&&r.role==="metric"?{...r,...on}:on}const je=S?bk(S.field,S.aggregate):null,ut=k?bk(k.field,k.aggregate):null,Rt=J6(y,C,je,ut,{},u,r==null?void 0:r.id,void 0,C==="scale"?E:void 0);return r&&r.role==="metric"?{...r,...Rt}:Rt},qy=async je=>{var Rt,Sn,en;if(b==="dimension"){const Gn=SN();if(je==="dashboard"){if(!i){R(kr=>({...kr,scope:"Dashboard scope is not available"}));return}i(Gn),mn();return}if(je==="domain"){if(!l){R(on=>({...on,scope:"Domain scope is not available"}));return}const kr=((Rt=Gn.calculatedFormula)==null?void 0:Rt.inputFields)||[],_i=new Map,ko=kr.map(on=>{const zt=hl(on.label||on.name),hr=_i.get(zt)||0;return _i.set(zt,hr+1),hr===0?zt:`${zt}_${hr+1}`}),mc=((Sn=Gn.expression)==null?void 0:Sn.replace(/\{field_(\d+)\}/g,(on,zt)=>`{${ko[Number(zt)]||zt}}`))||"",tr=ko.reduce((on,zt,hr)=>{const Ti=kr[hr];return Jx(Ti)?on[zt]={dimension:Ti.name}:on[zt]={dataset:Ti.entityName,field:Ti.name},on},{});try{await l({name:hl(y),label:y.trim(),description:W.trim(),expression:mc,inputs:tr,dataType:Ke,tags:I.split(",").map(on=>on.trim()).filter(Boolean),overwrite:s==="domain",previousName:s==="domain"?r==null?void 0:r.name:void 0})}catch(on){R(zt=>({...zt,scope:(on==null?void 0:on.message)||"Failed to save to domain"}));return}mn();return}o(Gn),mn();return}const ut=NN();if(je==="dashboard"){if(!i){R(Gn=>({...Gn,scope:"Dashboard scope is not available"}));return}i(ut),mn();return}if(je==="domain"){if(!a){R(tr=>({...tr,scope:"Domain scope is not available"}));return}if(!ut.calculatedFormula){R(tr=>({...tr,scope:"Calculated formula missing"}));return}const Gn=ut.calculatedFormula.inputFields,kr=new Map,_i=Gn.map(tr=>{const on=hl(tr.label||tr.name),zt=kr.get(on)||0;return kr.set(on,zt+1),zt===0?on:`${on}_${zt+1}`}),ko=((en=ut.expression)==null?void 0:en.replace(/\{field_(\d+)\}/g,(tr,on)=>`{${_i[Number(on)]||on}}`))||"",mc=_i.reduce((tr,on,zt)=>{const hr=Gn[zt];return hr.role==="metric"?ac(hr)?tr[on]={metric:hr.name}:tr[on]={dataset:hr.entityName,field:hr.name,aggregate:hr.aggregate}:tr[on]={dataset:hr.entityName,field:hr.name},tr},{});try{await a({name:hl(y),label:y.trim(),description:W.trim(),expression:ko,inputs:mc,tags:I.split(",").map(tr=>tr.trim()).filter(Boolean),overwrite:s==="domain",previousName:s==="domain"?r==null?void 0:r.name:void 0})}catch(tr){R(on=>({...on,scope:(tr==null?void 0:tr.message)||"Failed to save to domain"}));return}mn();return}o(ut),mn()},jN=async()=>{if(ge)return;if(R({}),b==="metric"){if(!await hc())return}else if(!await CN())return;const je=Pe?$:s||"card";if(b==="metric"&&je!=="domain"&&ue&&!r){J(je),ee(!0);return}ce(!0);try{await qy(je)}finally{ce(!1)}},kN=w.useMemo(()=>{if(!et||C==="custom")return"";if(C==="scale"){const je=Number.isFinite(E)?E:1;return`${pk(S)} x ${je}`}return`${pk(S)||"A"} ${et.symbol} ${pk(k)||"B"}`},[et,C,S,k,E]);return c.jsxs(c.Fragment,{children:[c.jsxs(Xr,{modal:!1,open:e,onOpenChange:je=>{je?t(!0):mn()},children:[e&&c.jsx("div",{className:"pointer-events-none fixed inset-0 z-40 bg-background/80 backdrop-blur-sm"}),c.jsxs(Vr,{className:"max-w-5xl max-h-[90vh] overflow-hidden",onInteractOutside:je=>{je.preventDefault()},children:[c.jsxs(Hr,{children:[c.jsxs(Ur,{children:[r?"Edit":"Create"," Calculated Field"]}),c.jsx(ls,{children:"Build calculated metrics and dimensions using expressions."})]}),c.jsxs("div",{className:"grid h-[70vh] min-h-0 grid-cols-[320px_1fr] gap-6",children:[c.jsx(RJe,{groups:Et,searchTerm:Y,onSearchTermChange:U,onFieldClick:Op,selectedFieldIds:ze,disabled:ge}),c.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-4 overflow-y-auto pr-2",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{children:"Field Type"}),c.jsx(IJe,{value:b,onChange:Qe,disabled:ge||!!r,options:h||["metric","dimension"]})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{htmlFor:"calculated-name",children:"Name"}),c.jsx(bn,{id:"calculated-name",value:y,onChange:je=>v(je.target.value),placeholder:"e.g., Profit Margin",className:O.name?"border-red-500":"",disabled:ge}),O.name&&c.jsx("p",{className:"text-xs text-red-500",children:O.name})]}),b==="metric"&&c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{children:"Operation"}),c.jsx(AJe,{value:C,onChange:jt,allowCustom:!0,disabled:ge}),O.operation&&c.jsx("p",{className:"text-xs text-red-500",children:O.operation})]}),C==="custom"?c.jsxs("div",{className:"space-y-4",children:[c.jsx(tz,{ref:be,value:T,onChange:je=>{P(je),Se(!1)},onGenerate:()=>G(!0),showGenerate:!!gt&&!ge,disabled:ge}),c.jsx(nz,{onValidate:async()=>{Se(!0),await De()},isValidating:We,validationResult:_e,fallbackResult:Re,error:ke,showFallback:he,disabled:ge}),O.expression&&c.jsx("p",{className:"text-xs text-red-500",children:O.expression})]}):c.jsxs("div",{className:"space-y-3",children:[c.jsx(fe,{children:"Inputs"}),c.jsx(ez,{label:"A",input:S,availableFields:le,excludeFieldIds:r?[r.id]:void 0,onFieldSelect:je=>{const ut=gk(je,(S==null?void 0:S.aggregate)||mh(je));j(ah(je,ut))},onAggregateChange:je=>Wy("A",je),onRemove:()=>j(null),onActivate:()=>V("A"),allowMedian:g,disabled:ge}),O.inputA&&c.jsx("p",{className:"text-xs text-red-500",children:O.inputA}),C!=="scale"&&c.jsxs(c.Fragment,{children:[c.jsx(ez,{label:"B",input:k,availableFields:le,excludeFieldIds:r?[r.id]:void 0,onFieldSelect:je=>{const ut=gk(je,(k==null?void 0:k.aggregate)||mh(je));_(ah(je,ut))},onAggregateChange:je=>Wy("B",je),onRemove:()=>_(null),onActivate:()=>V("B"),allowMedian:g,disabled:ge}),O.inputB&&c.jsx("p",{className:"text-xs text-red-500",children:O.inputB})]}),C==="scale"&&c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{htmlFor:"constantFactor",children:"Multiplication Factor"}),c.jsx(bn,{id:"constantFactor",type:"number",step:"any",value:Number.isNaN(E)?"":E,onChange:je=>M(je.target.value===""?Number.NaN:Number(je.target.value)),className:O.constant?"border-red-500":"",placeholder:"e.g., 0.15",disabled:ge}),O.constant&&c.jsx("p",{className:"text-xs text-red-500",children:O.constant})]}),c.jsx("div",{className:"rounded-md border border-border bg-muted/40 p-3 text-sm font-mono",children:kN||"Select inputs to preview formula"}),O.inputs&&c.jsxs(kS,{variant:"destructive",children:[c.jsx(Gl,{className:"h-4 w-4"}),c.jsx(ES,{children:O.inputs})]})]})]}),b==="dimension"&&c.jsxs("div",{className:"space-y-4",children:[c.jsx(tz,{ref:be,value:T,onChange:je=>{P(je),Se(!1)},onGenerate:()=>G(!0),showGenerate:!!gt&&!ge,disabled:ge}),c.jsx(nz,{onValidate:async()=>{Se(!0),await De()},isValidating:We,validationResult:_e,fallbackResult:Re,error:ke,showFallback:he,disabled:ge}),O.expression&&c.jsx("p",{className:"text-xs text-red-500",children:O.expression}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{children:"Output Type"}),c.jsxs(lt,{value:Ke,onValueChange:je=>A(je),disabled:ge,children:[c.jsx(st,{className:"h-9 w-full",children:c.jsx(ct,{placeholder:"Select output type"})}),c.jsx(ot,{children:sz.map(je=>c.jsx(we,{value:je.value,children:je.label},je.value))})]}),Ae&&!F&&c.jsxs("p",{className:"text-xs text-muted-foreground",children:["Suggested type: ",Ae]})]})]}),Pe&&(Ie||He)&&c.jsxs("div",{className:"space-y-3",children:[c.jsx(LJe,{scope:$,onChange:q,showDashboardScope:Ie,showDomainScope:He,error:O.scope,disabled:ge}),$==="domain"&&c.jsx(zJe,{description:W,tags:I,onDescriptionChange:z,onTagsChange:L,descriptionError:O.description,disabled:ge})]})]})]}),c.jsxs(as,{children:[c.jsx(oe,{variant:"outline",onClick:mn,children:"Cancel"}),c.jsxs(oe,{onClick:jN,disabled:se||ge,children:[r?"Update":"Create"," ",b==="metric"?"Metric":"Dimension"]})]})]})]}),c.jsx(VJe,{open:B,onOpenChange:G,availableFields:le,fieldType:b,onExpressionGenerated:async je=>{P(je),Se(!1),ye()},endpoint:gt,dialect:p==null?void 0:p.dialect}),c.jsx(Xm,{open:K,onOpenChange:ee,children:c.jsxs(Sf,{children:[c.jsxs(Nf,{children:[c.jsx(kf,{children:"Name Conflict"}),c.jsxs(Ef,{children:['A domain metric named "',y.trim(),'" already exists. Your local version will override it in this'," ",Z==="dashboard"?"dashboard":"card",". Continue?"]})]}),c.jsxs(jf,{children:[c.jsx(Tf,{onClick:()=>{J(null)},children:"Choose Different Name"}),c.jsx(_f,{onClick:async()=>{if(Z){ee(!1),ce(!0);try{await qy(Z)}finally{ce(!1),J(null)}}},children:"Continue"})]})]})})]})}function fne({domainId:e}){const{authToken:t,tokenProps:n}=Xe(),[r,s]=w.useState(!1),[o,i]=w.useState(null),a=w.useMemo(()=>{var m;if(!e)return null;const f=(m=n==null?void 0:n.apiServiceUrl)==null?void 0:m.replace(/\/$/,""),h=`/v1/domains/${e}/calculated-metrics`;return f?`${f}${h}`:h},[e,n==null?void 0:n.apiServiceUrl]),l=w.useMemo(()=>{var m;if(!e)return null;const f=(m=n==null?void 0:n.apiServiceUrl)==null?void 0:m.replace(/\/$/,""),h=`/v1/domains/${e}/calculated-dimensions`;return f?`${f}${h}`:h},[e,n==null?void 0:n.apiServiceUrl]),u=w.useCallback(async f=>{if(!a){const h="Domain promotion is not available";throw i(h),new Error(h)}if(!(t!=null&&t.accessToken)){const h="Missing authentication token";throw i(h),new Error(h)}s(!0),i(null);try{return await Kr(a,t.accessToken,f)}catch(h){const m=(h==null?void 0:h.error)||(h==null?void 0:h.message)||"Failed to save to domain";throw i(m),new Error(m)}finally{s(!1)}},[a,t==null?void 0:t.accessToken]),d=w.useCallback(async f=>{if(!l){const h="Domain promotion is not available";throw i(h),new Error(h)}if(!(t!=null&&t.accessToken)){const h="Missing authentication token";throw i(h),new Error(h)}s(!0),i(null);try{return await Kr(l,t.accessToken,f)}catch(h){const m=(h==null?void 0:h.error)||(h==null?void 0:h.message)||"Failed to save to domain";throw i(m),new Error(m)}finally{s(!1)}},[l,t==null?void 0:t.accessToken]);return{promoteMetric:u,promoteDimension:d,isPromoting:r,error:o}}const hne=w.memo(function({context:t="editor",onFieldSelect:n,inlineFilters:r}={}){var ye,Ae,Ke,et;const[s,o]=w.useState(""),[i,a]=w.useState("all"),[l,u]=w.useState(!1),[d,f]=w.useState(null),[h,m]=w.useState("card"),[p,g]=w.useState("metric");$e(ue=>ue.isDevMode);const b=$e(ue=>ue.card.dataSource),x=$e(ue=>ue.card.config),y=$e(ue=>ue.card),v=$e(ue=>ue.frame),C=$e(ue=>ue.actions.updateCardConfig),N=$e(ue=>ue.actions.updateFrame),{userContext:S}=Ls(),{autoJoinMetadata:j}=Wa(y),{columns:k,rawColumnGroups:_,scopedFields:E,dashboardCalculatedFields:M,cardCalculatedFields:T,isLoading:P,error:F,refetch:A}=mP(),$=(b==null?void 0:b.mode)==="semanticDomain"?b.semanticDomainId:void 0,{data:q}=pP($),{promoteMetric:W,promoteDimension:z}=fne({domainId:$}),I=w.useMemo(()=>[...(x==null?void 0:x.groupByColumns)||[],...(x==null?void 0:x.metricColumns)||[],...(x==null?void 0:x.detailColumns)||[]],[x==null?void 0:x.groupByColumns,x==null?void 0:x.metricColumns,x==null?void 0:x.detailColumns]);(Ae=(ye=x==null?void 0:x.joinPlan)==null?void 0:ye.baseEntity)==null||Ae.name,(et=(Ke=j==null?void 0:j.resolvedJoinPlan)==null?void 0:Ke.baseEntity)==null||et.name,Wte();const L=t==="editor",O=(S==null?void 0:S.type)==="organization",R=L?E:k,H=_,V=s.toLowerCase(),Y=(x==null?void 0:x.metricColumns)||[],U=(x==null?void 0:x.groupByColumns)||[],B=w.useCallback(async ue=>{await W(ue),A()},[W,A]),G=w.useCallback(async ue=>{await z(ue),A()},[z,A]),Z=ue=>ue.name.toLowerCase().includes(V)||ue.dataType.toLowerCase().includes(V)||ue.label&&ue.label.toLowerCase().includes(V)||ue.qualifiedEntityName&&ue.qualifiedEntityName.toLowerCase().includes(V),J=ue=>(ue.label||ue.name).toLowerCase().trim(),K=(ue,ze)=>J(ue).localeCompare(J(ze),void 0,{numeric:!0,sensitivity:"base"}),ee=R.filter(Z).sort(K),se=ue=>{if(ue.role==="metric"&&ac(ue)||ue.role==="groupby"&&ue.expression)return"calculated";if(ue.dataType==="number"||ue.dataType==="integer"||ue.dataType==="float"||ue.dataType==="decimal"||ue.dataType==="currency")return"metrics";const ze=Cr(ue.dataType);return["date","string","boolean"].includes(ze)?"dimensions":ze==="number"?"metrics":"dimensions"},ce=ue=>{const ze=ue.filter(Z);return i==="all"?ze:ze.filter(Qe=>se(Qe)===i)},he=i==="all"?ee:ee.filter(ue=>se(ue)===i),Se=L?[...M,...T]:[],be=L?ce(Se).sort(K):[],ae=ce(k).sort(K).reduce((ue,ze)=>{const Qe=ze.qualifiedEntityName||"Other Fields";return ue[Qe]||(ue[Qe]={label:gb(ze.entityName),fields:[]}),ue[Qe].fields.push(ze),ue},{}),ie=w.useMemo(()=>Object.entries(ae).map(([ue,ze])=>{const Qe=H.find(mn=>mn.entityName===ue)||{entityName:ue,label:ze.label},jt=ue===sm?"Domain Calculated Fields":Qe.label||Qe.entityName;return{groupName:ue,groupLabel:jt,fields:[...ze.fields].sort(K)}}).sort((ue,ze)=>ue.groupLabel.localeCompare(ze.groupLabel,void 0,{numeric:!0,sensitivity:"base"})),[ae,H]),xe=ue=>ue.id||`${ue.entityName}-${ue.qualifiedEntityName}-${ue.name}-${ue.role||"field"}`,de=w.useMemo(()=>{const ue=new Map;return(L?E:k).forEach(Qe=>{ue.set(xe(Qe),eI(Qe,{joinabilityMap:(q==null?void 0:q.joinabilityMap)||null,selectedFields:I,cardConfig:x,autoJoinMetadata:j}))}),ue},[L,E,k,q==null?void 0:q.joinabilityMap,I,x,j]),Ce=L?[{key:"scope-calculated",label:"Calculated Fields",fields:be}].filter(ue=>ue.fields.length>0):[],re=[...Ce.map(ue=>ue.key),...ie.map(ue=>ue.groupName)],me=ee.filter(ue=>se(ue)==="dimensions").length,Oe=ee.filter(ue=>se(ue)==="metrics").length,Pe=ee.filter(ue=>se(ue)==="calculated").length,Ie=ee.length>0&&t!=="inline-filter",He=t==="inline-filter"?"w-full":"w-[290px]";if(P)return c.jsx("div",{className:X("flex h-full flex-col items-center justify-center py-8",He),children:c.jsx(nc,{size:"md",color:"muted","aria-label":"Loading data"})});if(F)return c.jsxs("div",{className:X("flex h-full flex-col items-center justify-center py-8",He),children:[c.jsx(Ll,{className:"mb-4 h-12 w-12 text-red-300"}),c.jsx("p",{className:"mb-2 text-sm text-red-500",children:"Error loading fields"}),c.jsx("p",{className:"px-4 text-center text-xs text-red-400",children:F.message||"Failed to load column data"})]});if(!b||!b.selectedEntities||b.selectedEntities.length===0)return c.jsxs("div",{className:X("flex flex-col items-center justify-center py-8 text-center",He),children:[c.jsx(Ll,{className:"mb-4 h-12 w-12 text-gray-300"}),c.jsx("p",{className:"mb-2 text-sm text-gray-500",children:"No data source selected"}),c.jsx("p",{className:"px-4 text-xs text-gray-400",children:t==="filter"||t==="inline-filter"?"Configure a data source for this card to see available fields":"Select a table, view, or dataset from the data source panel to see available fields"})]});const Je=t==="inline-filter"?"px-3 pb-3":"px-6 pb-6",at=t==="inline-filter"?"overflow-hidden":"",gt=ue=>ue!=null&&ue.startsWith("card-source-")?ue.replace("card-source-",""):ue,bt=(ue,ze,Qe)=>{const jt=gt(ue.id),mn=gt(ze.id);return jt&&mn&&jt===mn?!0:!jt||!mn||Qe!=null&&Qe.allowNameFallback?ue.name===ze.name&&ue.role===ze.role:!1},ft=(ue,ze,Qe)=>ue.findIndex(jt=>bt(jt,ze,Qe)),Ut=ue=>{if(!v)return ue;const ze=v.calculatedFields||[],Qe=ft(ze,ue),jt=Qe>=0&&ze[Qe].id!==ue.id?{...ue,id:ze[Qe].id}:ue,mn=Qe>=0?ze.map((fr,Wr)=>Wr===Qe?jt:fr):[...ze,jt];return N({calculatedFields:mn}),jt},Ue=(ue,ze,Qe,jt)=>{var fr;const mn=ft(ue,Qe||ze,jt);if(mn>=0){const Wr=(fr=ue[mn])==null?void 0:fr.id,jo=Wr&&Wr!==ze.id?{...ze,id:Wr}:ze;return ue.map((ol,Op)=>Op===mn?jo:ol)}return[...ue,ze]},Et=ue=>{if(ue.role==="metric")return Y.find(ze=>bt(ze,ue));if(ue.role==="groupby")return U.find(ze=>bt(ze,ue))},le=ue=>{var ze;return(ze=v==null?void 0:v.calculatedFields)==null?void 0:ze.find(Qe=>bt(Qe,ue))},Re=ue=>{if(ue.role==="metric"){C(y.id,{metricColumns:Y.filter(ze=>!bt(ze,ue,{allowNameFallback:ue.fieldScope==="dashboard"}))});return}ue.role==="groupby"&&C(y.id,{groupByColumns:U.filter(ze=>!bt(ze,ue,{allowNameFallback:ue.fieldScope==="dashboard"}))})},_e=ue=>{if(!v)return;const ze=(v.calculatedFields||[]).filter(Qe=>!bt(Qe,ue));N({calculatedFields:ze})},De=ue=>{if(!O)return;if(ue.fieldScope==="domain"){f(ue),m("domain"),g(ue.role==="metric"?"metric":"dimension"),u(!0);return}if(ue.fieldScope==="dashboard"){const Qe=le(ue);if(!Qe)return;f(Qe),m("dashboard"),g(Qe.role==="metric"?"metric":"dimension"),u(!0);return}const ze=Et(ue);ze&&(f(ze),m("card"),g(ze.role==="metric"?"metric":"dimension"),u(!0))},We=ue=>{if(O&&ue.fieldScope!=="domain"){if(ue.fieldScope==="dashboard"){_e(ue),Re(ue);return}Re(ue)}},ke=ue=>{if(!O)return null;const ze=ue.fieldScope==="domain";return c.jsxs(wf,{children:[c.jsx(Cf,{asChild:!0,children:c.jsx(oe,{variant:"ghost",size:"icon",className:"h-6 w-6","aria-label":"Calculated field actions",children:c.jsx(U8,{className:"h-4 w-4"})})}),c.jsxs(vu,{align:"end",className:"w-40",children:[c.jsx(xo,{onClick:()=>De(ue),children:"Edit"}),c.jsx(xo,{disabled:ze,onClick:()=>We(ue),children:"Delete"})]})]})};return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:X("mt-2 flex h-full w-full grow flex-col gap-2",Je,at),children:[c.jsxs("div",{className:"mt-1 flex-shrink-0 space-y-2",children:[R.length>0&&c.jsxs("div",{className:"relative",children:[c.jsx(Xo,{className:"absolute left-3 top-1/2 size-3.5 -translate-y-1/2 transform text-muted-foreground"}),c.jsx(En,{className:"pl-10 pr-10",type:"text",placeholder:"Search fields...",value:s,onChange:ue=>o(ue.target.value)}),s&&c.jsx("button",{className:"absolute right-3 top-1/2 -translate-y-1/2 transform text-muted-foreground hover:text-foreground",onClick:()=>o(""),type:"button",children:c.jsx(kt,{className:"size-3.5"})})]}),Ie&&c.jsx(zs,{defaultValue:"all",value:i,onValueChange:ue=>a(ue),className:"mb-4",children:c.jsxs(vs,{className:"grid h-9 w-full grid-cols-4",children:[c.jsxs(sn,{value:"all",className:"text-xs",children:["All",c.jsx("span",{className:"ml-2 text-xs font-semibold",children:ee.length})]}),c.jsxs(sn,{value:"dimensions",className:"text-xs",children:[c.jsx(aC,{className:"size-4 shrink-0"}),c.jsx("span",{className:"ml-2 text-xs font-semibold",children:me})]}),c.jsxs(sn,{value:"metrics",className:"text-xs",children:[c.jsx(zm,{className:"size-4 shrink-0"}),c.jsx("span",{className:"ml-2 text-xs font-semibold",children:Oe})]}),c.jsxs(sn,{value:"calculated",className:"text-xs",children:[c.jsx(lM,{className:"size-4 shrink-0"}),c.jsx("span",{className:"ml-2 text-xs font-semibold",children:Pe})]})]})}),t==="editor"&&i==="calculated"&&O&&c.jsx("div",{className:"flex items-center justify-end gap-2",children:c.jsxs(oe,{size:"sm",variant:"outline",className:"w-full",onClick:()=>{f(null),m("card"),g("dimension"),u(!0)},children:[c.jsx(Ir,{className:"mr-2 h-3.5 w-3.5"}),"Add calculated field"]})})]}),c.jsxs(nl,{className:"min-h-0 flex-1",children:[c.jsxs(vP,{type:"multiple",defaultValue:re,className:"space-y-2",children:[Ce.map(ue=>c.jsxs(hx,{value:ue.key,className:"border-none",children:[c.jsx(mx,{className:"group rounded-md px-2.5 py-2 text-muted-foreground hover:bg-muted hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"max-w-[190px] truncate text-ellipsis whitespace-nowrap text-sm font-medium text-primary",children:ue.label}),c.jsx(Ye,{variant:"secondary",className:"rounded-full text-xs text-muted-foreground group-hover:bg-background",children:ue.fields.length})]})}),c.jsx(px,{className:"pb-2",children:c.jsx("div",{className:"space-y-1",children:ue.fields.map(ze=>{const Qe=de.get(xe(ze)),jt=t==="editor"&&i==="calculated";return c.jsx(Q6,{field:ze,context:t,fieldState:Qe,onFieldSelect:n,inlineFilters:t==="inline-filter"?r:void 0,actions:jt?ke(ze):void 0},ze.id)})})})]},ue.key)),ie.map(({groupName:ue,groupLabel:ze,fields:Qe})=>c.jsxs(hx,{value:ue,className:"border-none",children:[c.jsx(mx,{className:"group rounded-md px-2.5 py-2 text-muted-foreground hover:bg-muted hover:no-underline",children:c.jsxs("div",{title:ze,className:"flex items-center gap-2",children:[c.jsx("span",{className:"max-w-[190px] truncate text-ellipsis whitespace-nowrap text-sm font-medium text-primary",children:ze}),c.jsx(Ye,{variant:"secondary",className:"rounded-full text-xs text-muted-foreground group-hover:bg-background",children:Qe.length})]})}),c.jsx(px,{className:"pb-2",children:c.jsx("div",{className:"space-y-1",children:Qe.map(jt=>{const mn=de.get(xe(jt));return c.jsx(Q6,{field:jt,context:t,fieldState:mn,onFieldSelect:n,inlineFilters:t==="inline-filter"?r:void 0},jt.id)})})})]},ue))]}),R.length===0&&c.jsxs("div",{className:"py-8 text-center text-sm text-gray-500",children:[c.jsx("p",{children:"No fields found for selected data source"}),c.jsx("p",{className:"mt-1 text-xs text-gray-400",children:t==="filter"?"The selected data source has no available fields":"Try selecting different data sources"})]}),R.length>0&&he.length===0&&c.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:"No fields found for this category"}),c.jsx(vi,{orientation:"horizontal"}),c.jsx(vi,{orientation:"vertical"})]})]}),c.jsx(dne,{open:l,onOpenChange:ue=>{u(ue),ue||(f(null),m("card"))},availableFields:E,existingField:d??void 0,existingFieldScope:h,initialFieldType:p,onSave:ue=>{if(ue.role==="metric"){if(d&&h==="card"){C(y.id,{metricColumns:Ue(Y,ue,d)});return}C(y.id,{metricColumns:Ue(Y,ue)});return}if(d&&h==="card"){C(y.id,{groupByColumns:Ue(U,ue,d)});return}C(y.id,{groupByColumns:Ue(U,ue)})},onSaveToDashboard:ue=>{const ze=!!(d&&h==="dashboard"),Qe=ze?d:void 0;if(ue.role==="metric"){const mn=Ut(ue);C(y.id,{metricColumns:Ue(Y,mn,Qe,{allowNameFallback:ze})});return}const jt=Ut(ue);C(y.id,{groupByColumns:Ue(U,jt,Qe,{allowNameFallback:ze})})},cardId:y.id,onPromoteMetricToDomain:$?B:void 0,onPromoteDimensionToDomain:$?G:void 0,domainId:$})]})}),mne=w.memo(function({context:t="editor"}={}){return c.jsxs("div",{"data-content":"fields-section",className:"flex h-full grow flex-col items-center overflow-hidden",children:[" ",c.jsx(hne,{context:t})," "]})});function pne(){const e=$e(i=>i.card.dataSource),{setSelectedConnectionId:t,setSelectedDatabaseName:n,setSelectedSchemaName:r,setSelectedTableName:s,setSelectedDatamodelId:o}=Nr();w.useEffect(()=>{var m;if(!e)return;const{tableName:i,schemaName:a,databaseName:l,connectionId:u}=gP(e),d=(m=e.selectedEntities)==null?void 0:m[0],h=(d==null?void 0:d.type)==="model"&&"id"in d?d.id:"";t(u||""),n(l||""),r(a||""),s(i||""),o(h)},[e,t,n,r,s,o])}function iet(){pne();const e=Q(l=>l.selectedSheetId),t=Q(l=>l.selectedFrameId),n=Q(l=>l.dashboard),r=Q(l=>l.actions.getSelectedFrame),{setSelectedFrameId:s}=Ht(),{setCard:o}=Nr(),i=$e(l=>l.card.dataSource);return w.useEffect(()=>{var u,d;let l=r();if(!l){const f=(u=n==null?void 0:n.sheets)==null?void 0:u.find(m=>m.id===e),h=(d=f==null?void 0:f.frames)==null?void 0:d[0];h&&(s(h.id),l=h)}if(l){const f=l.cards.find(h=>h.id===l.activeCardId);f&&o(f)}},[r,e,t,n,s,o]),{hasEntities:!!(i!=null&&i.selectedEntities&&i.selectedEntities.length>0)}}function aet(){const e=Q(o=>o.dashboard.filterLayout),{setFilterLayout:t}=Ht(),n=(e==null?void 0:e.displayMode)||"canvas",r=(e==null?void 0:e.toolbarWrap)??!1,s=(e==null?void 0:e.showDownloadButton)??!1;return c.jsxs(As,{children:[c.jsx(Ps,{asChild:!0,children:c.jsx(oe,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0","aria-label":"Filter display settings",children:c.jsx(zl,{className:"h-4 w-4"})})}),c.jsx(Fs,{className:"w-[280px]",align:"end",children:c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{children:[c.jsx("h4",{className:"mb-3 text-sm font-medium",children:"Filter Display"}),c.jsxs(so,{value:n,onValueChange:o=>t({displayMode:o}),className:"space-y-2",children:[c.jsxs("div",{className:"flex items-start space-x-3",children:[c.jsx(vn,{value:"canvas",id:"canvas",className:"mt-0.5"}),c.jsxs("div",{className:"grid gap-0.5",children:[c.jsx(fe,{htmlFor:"canvas",className:"cursor-pointer font-normal",children:"Canvas Cards"}),c.jsx("p",{className:"text-xs text-muted-foreground",children:"Filters as draggable, resizable cards on the dashboard"})]})]}),c.jsxs("div",{className:"flex items-start space-x-3",children:[c.jsx(vn,{value:"toolbar",id:"toolbar",className:"mt-0.5"}),c.jsxs("div",{className:"grid gap-0.5",children:[c.jsx(fe,{htmlFor:"toolbar",className:"cursor-pointer font-normal",children:"Toolbar"}),c.jsx("p",{className:"text-xs text-muted-foreground",children:"Compact horizontal toolbar below dashboard controls"})]})]})]})]}),n==="toolbar"&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-center space-x-2 border-t pt-4",children:[c.jsx(dn,{id:"wrap",checked:r,onCheckedChange:o=>t({toolbarWrap:o===!0})}),c.jsx(fe,{htmlFor:"wrap",className:"cursor-pointer text-sm font-normal",children:"Wrap filters to multiple lines"})]}),c.jsxs("div",{className:"flex items-center space-x-2 pt-2",children:[c.jsx(dn,{id:"download",checked:s,onCheckedChange:o=>t({showDownloadButton:o===!0})}),c.jsx(fe,{htmlFor:"download",className:"cursor-pointer text-sm font-normal",children:"Show download button"})]})]}),c.jsx("p",{className:"border-t pt-3 text-xs text-muted-foreground",children:"Individual filters can override this setting in their configuration."})]})})]})}function cet(){const e=Q(n=>n.actions.setShowFilters),{hasEntities:t}=iet();return c.jsxs("section",{className:"relative flex min-w-[320px] grow flex-col overflow-hidden border-l",children:[c.jsxs("div",{className:"mt-4 flex items-center justify-between gap-2 px-4",children:[c.jsx(fe,{className:"px-2 text-base",children:"Dashboard Filters"}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(aet,{}),c.jsx(oe,{onClick:()=>e(!1),className:"h-7 w-7 p-0",variant:"ghost",children:c.jsx(YX,{})})]})]}),!t&&c.jsxs("div",{className:"flex h-full flex-col items-center justify-center px-6 py-12 text-center",children:[c.jsx(Ll,{className:"mb-4 h-12 w-12 text-muted-foreground/50"}),c.jsx("h3",{className:"mb-2 text-sm font-medium text-foreground",children:"No fields configured"}),c.jsx("p",{className:"text-xs text-muted-foreground",children:"Please configure a data source for this card to enable filtering"})]}),t&&c.jsx("div",{className:"flex grow overflow-y-auto",children:c.jsx(Ay,{collisionDetection:Dy,children:c.jsx(Py,{items:[],strategy:NA,children:c.jsx(mne,{context:"filter"})})})})]})}function uet(){const e=Q(r=>r.dashboard.filters),t=Q(r=>r.theme),n=e==null?void 0:e.filter(r=>r.hide);return n!=null&&n.length?c.jsx("div",{className:X("mb-1 flex items-center gap-2 border-y px-0.5 pb-0.5",{"bg-[repeating-linear-gradient(45deg,_#ffffff_0_3px,_#f3f3f3_3px_6px)]":t==="light","bg-[repeating-linear-gradient(45deg,_#18171d_0_3px,_#272729_3px_6px)]":t==="dark"}),children:n==null?void 0:n.map(r=>c.jsxs("div",{className:"flex min-w-[250px] max-w-fit flex-col gap-1 p-2",children:[c.jsx(bA,{filter:r}),c.jsx(Ep,{filter:r})]},r.id))}):null}function det(){const e=Q(r=>r.showFilters),t=Q(r=>r.isVisualEditing),n=Q(r=>r.isDashboardEditing);return c.jsxs("div",{role:"dashboard-plus-main",className:X("",{"max-h-0 overflow-hidden":t,"flex grow overflow-hidden":!t}),children:[c.jsxs("section",{className:"flex grow flex-col overflow-y-auto",children:[n&&c.jsx(uet,{}),c.jsx($te,{})]}),e&&c.jsx("div",{role:"filter-aside-container",className:"flex overflow-hidden",children:c.jsx(cet,{})})]})}const fet=w.lazy(()=>Promise.resolve().then(()=>require("./dashboard-controls-CkfdfqNi.js"))),het=w.lazy(()=>Promise.resolve().then(()=>require("./edit-dashboard-visual-DH5QSGaK.js"))),met=w.lazy(()=>Promise.resolve().then(()=>require("./dashboard-json-DcdjxLFv.js"))),pet=w.lazy(()=>Promise.resolve().then(()=>require("./resource-management-panel-JhskGQEY.js")).then(e=>({default:e.ResourceManagementPanel})));function get({showControls:e=!1,showFooter:t=!0,...n}){const r=Q(l=>l.isDashboardPanelOpen),s=Q(l=>l.isVisualEditing),o=Q(l=>l.showDashboardJSON),i=Q(l=>l.actions.setIsDashboardPanelOpen),{preferences:a}=n;return c.jsx(sa,{FallbackComponent:LS,children:c.jsxs(aM,{dashboardProps:n,children:[c.jsx(Zde,{}),c.jsx(hP,{componentType:"surfboard",componentId:n.id}),c.jsx(fP,{children:c.jsxs(Lte,{preferences:a,children:[o&&c.jsx(w.Suspense,{fallback:null,children:c.jsx(met,{})}),c.jsxs("main",{className:"relative flex h-full w-full flex-col overflow-hidden",children:[e&&c.jsx(w.Suspense,{fallback:null,children:c.jsx(fet,{})}),c.jsxs("div",{className:"flex grow overflow-hidden",children:[r&&c.jsx(w.Suspense,{fallback:null,children:c.jsx(pet,{isOpen:r,onClose:()=>i(!1),variant:"inline"})}),c.jsx("div",{className:"flex min-w-0 flex-1",children:c.jsxs(NI,{...n,type:"dashboard",children:[s&&c.jsx(w.Suspense,{fallback:null,children:c.jsx(het,{})}),c.jsx(det,{})]})})]})]})]})})]})})}const gne=D.forwardRef(({className:e,...t},n)=>c.jsx(Oy,{className:X("peer inline-flex h-[22px] w-[36px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:n,children:c.jsx(kA,{className:X("pointer-events-none block size-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));gne.displayName=Oy.displayName;var bet=Object.defineProperty,xet=(e,t,n)=>t in e?bet(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cv=(e,t,n)=>xet(e,typeof t!="symbol"?t+"":t,n);const yet={stringify:e=>e?"true":"false",parse:e=>/^[ty1-9]/i.test(e)},vet={stringify:e=>e.name,parse:(e,t,n)=>{const r=(()=>{if(typeof window<"u"&&e in window)return window[e];if(typeof global<"u"&&e in global)return global[e]})();return typeof r=="function"?r.bind(n):void 0}},wet={stringify:e=>JSON.stringify(e),parse:e=>JSON.parse(e)};function Cet(e){return e.replace(/([a-z0-9])([A-Z])/g,(t,n,r)=>`${n}-${r.toLowerCase()}`)}function bne(e){return e.replace(/[-:]([a-z])/g,(t,n)=>`${n.toUpperCase()}`)}const Net={stringify:e=>e.name,parse:(e,t,n)=>{const r=(()=>{const s=bne(t);if(typeof n<"u"&&s in n.container)return n.container[s]})();return typeof r=="function"?r.bind(n):void 0}},jet={stringify:e=>`${e}`,parse:e=>parseFloat(e)},ket={stringify:e=>e,parse:e=>e},xk={string:ket,number:jet,boolean:yet,function:vet,method:Net,json:wet},lg=Symbol.for("r2wc.render"),Sv=Symbol.for("r2wc.connected"),Ku=Symbol.for("r2wc.context"),Mo=Symbol.for("r2wc.props");function Eet(e,t,n){var r,s,o;t.props||(t.props=e.propTypes?Object.keys(e.propTypes):[]),t.events||(t.events=[]);const i=Array.isArray(t.props)?t.props.slice():Object.keys(t.props),a=Array.isArray(t.events)?t.events.slice():Object.keys(t.events),l={},u={},d={},f={};for(const m of i){l[m]=Array.isArray(t.props)?"string":t.props[m];const p=Cet(m);d[m]=p,f[p]=m}for(const m of a)u[m]=Array.isArray(t.events)?{}:t.events[m];class h extends HTMLElement{constructor(){super(),Cv(this,o,!0),Cv(this,s),Cv(this,r,{}),Cv(this,"container"),t.shadow?this.container=this.attachShadow({mode:t.shadow}):this.container=this,this[Mo].container=this.container;for(const p of i){const g=d[p],b=this.getAttribute(g),x=l[p],y=x?xk[x]:null;if(x==="method"){const v=bne(g);Object.defineProperty(this[Mo].container,v,{enumerable:!0,configurable:!0,get(){return this[Mo][v]},set(C){this[Mo][v]=C,this[lg]()}}),this[Mo][p]=y.parse(b,g,this)}y!=null&&y.parse&&b&&(this[Mo][p]=y.parse(b,g,this))}for(const p of a)this[Mo][p]=g=>{const b=p.replace(/^on/,"").toLowerCase();this.dispatchEvent(new CustomEvent(b,{detail:g,...u[p]}))}}static get observedAttributes(){return Object.keys(f)}connectedCallback(){this[Sv]=!0,this[lg]()}disconnectedCallback(){this[Sv]=!1,this[Ku]&&n.unmount(this[Ku]),delete this[Ku]}attributeChangedCallback(p,g,b){const x=f[p],y=l[x],v=y?xk[y]:null;x in l&&v!=null&&v.parse&&b&&(this[Mo][x]=v.parse(b,p,this),this[lg]())}[(o=Sv,s=Ku,r=Mo,lg)](){this[Sv]&&(this[Ku]?n.update(this[Ku],this[Mo]):this[Ku]=n.mount(this.container,e,this[Mo]))}}for(const m of i){const p=d[m],g=l[m];Object.defineProperty(h.prototype,m,{enumerable:!0,configurable:!0,get(){return this[Mo][m]},set(b){this[Mo][m]=b;const x=g?xk[g]:null;if(x!=null&&x.stringify){const y=x.stringify(b,p,this);this.getAttribute(p)!==y&&this.setAttribute(p,y)}else this[lg]()}})}return h}function _et(e,t,n){const r=mre.createRoot(e),s=w.createElement(t,n);return r.render(s),{root:r,ReactComponent:t}}function Tet({root:e,ReactComponent:t},n){const r=w.createElement(t,n);e.render(r)}function Met({root:e}){e.unmount()}function Det(e,t={}){return Eet(e,t,{mount:_et,update:Tet,unmount:Met})}const Iet={id:"string",version:"string",authToken:"json",placeholders:"json",defaultFilterValues:"json",currentTheme:"string",customCards:"json",customStyle:"json",onChartElementClicked:"function",onFilterValuesChange:"function",onEvent:"function",onSave:"function",LoadingComponent:"function",ErrorComponent:"function",showAssistant:"boolean",selectedSheetId:"string",eventHandlers:"json",preferences:"json"},Ret=Det(zte,{props:Iet});function oz(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Aet(e){if(Array.isArray(e))return e}function Pet(e,t,n){return(t=Vet(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fet(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,s,o,i,a=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,t!==0)for(;!(l=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(d){u=!0,s=d}finally{try{if(!l&&n.return!=null&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw s}}return a}}function Oet(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
1077
|
+
`)}})}});var cQe=nXe(()=>mte(Si([ar({type:Wt("text-start"),id:mt(),providerMetadata:Er.optional()}),ar({type:Wt("text-delta"),id:mt(),delta:mt(),providerMetadata:Er.optional()}),ar({type:Wt("text-end"),id:mt(),providerMetadata:Er.optional()}),ar({type:Wt("error"),errorText:mt()}),ar({type:Wt("tool-input-start"),toolCallId:mt(),toolName:mt(),providerExecuted:ho().optional(),dynamic:ho().optional()}),ar({type:Wt("tool-input-delta"),toolCallId:mt(),inputTextDelta:mt()}),ar({type:Wt("tool-input-available"),toolCallId:mt(),toolName:mt(),input:wa(),providerExecuted:ho().optional(),providerMetadata:Er.optional(),dynamic:ho().optional()}),ar({type:Wt("tool-input-error"),toolCallId:mt(),toolName:mt(),input:wa(),providerExecuted:ho().optional(),providerMetadata:Er.optional(),dynamic:ho().optional(),errorText:mt()}),ar({type:Wt("tool-output-available"),toolCallId:mt(),output:wa(),providerExecuted:ho().optional(),dynamic:ho().optional(),preliminary:ho().optional()}),ar({type:Wt("tool-output-error"),toolCallId:mt(),errorText:mt(),providerExecuted:ho().optional(),dynamic:ho().optional()}),ar({type:Wt("reasoning-start"),id:mt(),providerMetadata:Er.optional()}),ar({type:Wt("reasoning-delta"),id:mt(),delta:mt(),providerMetadata:Er.optional()}),ar({type:Wt("reasoning-end"),id:mt(),providerMetadata:Er.optional()}),ar({type:Wt("source-url"),sourceId:mt(),url:mt(),title:mt().optional(),providerMetadata:Er.optional()}),ar({type:Wt("source-document"),sourceId:mt(),mediaType:mt(),title:mt(),filename:mt().optional(),providerMetadata:Er.optional()}),ar({type:Wt("file"),url:mt(),mediaType:mt(),providerMetadata:Er.optional()}),ar({type:cte(e=>typeof e=="string"&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:mt().optional(),data:wa(),transient:ho().optional()}),ar({type:Wt("start-step")}),ar({type:Wt("finish-step")}),ar({type:Wt("start"),messageId:mt().optional(),messageMetadata:wa().optional()}),ar({type:Wt("finish"),finishReason:ite(["stop","length","content-filter","tool-calls","error","other","unknown"]).optional(),messageMetadata:wa().optional()}),ar({type:Wt("abort")}),ar({type:Wt("message-metadata"),messageMetadata:wa()})])));function uQe(e){return e.type.startsWith("data-")}function Cte(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const n={...e};for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const s=t[r];if(s===void 0)continue;const o=r in e?e[r]:void 0,i=s!==null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp),a=o!=null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp);i&&a?n[r]=Cte(o,s):n[r]=s}return n}function dQe(e){const t=["ROOT"];let n=-1,r=null;function s(l,u,d){switch(l){case'"':{n=u,t.pop(),t.push(d),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{n=u,r=u,t.pop(),t.push(d),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(d),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=u,t.pop(),t.push(d),t.push("INSIDE_NUMBER");break}case"{":{n=u,t.pop(),t.push(d),t.push("INSIDE_OBJECT_START");break}case"[":{n=u,t.pop(),t.push(d),t.push("INSIDE_ARRAY_START");break}}}function o(l,u){switch(l){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{n=u,t.pop();break}}}function i(l,u){switch(l){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=u,t.pop();break}}}for(let l=0;l<e.length;l++){const u=e[l];switch(t[t.length-1]){case"ROOT":s(u,l,"FINISH");break;case"INSIDE_OBJECT_START":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{n=l,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(u){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{s(u,l,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{o(u,l);break}case"INSIDE_STRING":{switch(u){case'"':{t.pop(),n=l;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:n=l}break}case"INSIDE_ARRAY_START":{switch(u){case"]":{n=l,t.pop();break}default:{n=l,s(u,l,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(u){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=l,t.pop();break}default:{n=l;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{s(u,l,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),n=l;break}case"INSIDE_NUMBER":{switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=l;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(u,l),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,l);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,l);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(u,l);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const f=e.substring(r,l+1);!"false".startsWith(f)&&!"true".startsWith(f)&&!"null".startsWith(f)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?o(u,l):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&i(u,l)):n=l;break}}}let a=e.slice(0,n+1);for(let l=t.length-1;l>=0;l--)switch(t[l]){case"INSIDE_STRING":{a+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{a+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{a+="]";break}case"INSIDE_LITERAL":{const d=e.substring(r,e.length);"true".startsWith(d)?a+="true".slice(d.length):"false".startsWith(d)?a+="false".slice(d.length):"null".startsWith(d)&&(a+="null".slice(d.length))}}return a}async function Ste(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await B1({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await B1({text:dQe(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}function Gv(e){return e.type.startsWith("tool-")}function fQe(e){return e.type==="dynamic-tool"}function NT(e){return Gv(e)||fQe(e)}function q6(e){return e.type.split("-").slice(1).join("-")}function hQe({lastMessage:e,messageId:t}){return{message:(e==null?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function mQe({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:s,onToolCall:o,onData:i}){return e.pipeThrough(new TransformStream({async transform(a,l){await r(async({state:u,write:d})=>{var f,h,m,p;function g(C){const S=u.message.parts.filter(Gv).find(j=>j.toolCallId===C);if(S==null)throw new Error("tool-output-error must be preceded by a tool-input-available");return S}function b(C){const S=u.message.parts.filter(j=>j.type==="dynamic-tool").find(j=>j.toolCallId===C);if(S==null)throw new Error("tool-output-error must be preceded by a tool-input-available");return S}function x(C){var N;const S=u.message.parts.find(_=>Gv(_)&&_.toolCallId===C.toolCallId),j=C,k=S;S!=null?(S.state=C.state,k.input=j.input,k.output=j.output,k.errorText=j.errorText,k.rawInput=j.rawInput,k.preliminary=j.preliminary,k.providerExecuted=(N=j.providerExecuted)!=null?N:S.providerExecuted,j.providerMetadata!=null&&S.state==="input-available"&&(S.callProviderMetadata=j.providerMetadata)):u.message.parts.push({type:`tool-${C.toolName}`,toolCallId:C.toolCallId,state:C.state,input:j.input,output:j.output,rawInput:j.rawInput,errorText:j.errorText,providerExecuted:j.providerExecuted,preliminary:j.preliminary,...j.providerMetadata!=null?{callProviderMetadata:j.providerMetadata}:{}})}function y(C){var N,S;const j=u.message.parts.find(E=>E.type==="dynamic-tool"&&E.toolCallId===C.toolCallId),k=C,_=j;j!=null?(j.state=C.state,_.toolName=C.toolName,_.input=k.input,_.output=k.output,_.errorText=k.errorText,_.rawInput=(N=k.rawInput)!=null?N:_.rawInput,_.preliminary=k.preliminary,_.providerExecuted=(S=k.providerExecuted)!=null?S:j.providerExecuted,k.providerMetadata!=null&&j.state==="input-available"&&(j.callProviderMetadata=k.providerMetadata)):u.message.parts.push({type:"dynamic-tool",toolName:C.toolName,toolCallId:C.toolCallId,state:C.state,input:k.input,output:k.output,errorText:k.errorText,preliminary:k.preliminary,providerExecuted:k.providerExecuted,...k.providerMetadata!=null?{callProviderMetadata:k.providerMetadata}:{}})}async function v(C){if(C!=null){const N=u.message.metadata!=null?Cte(u.message.metadata,C):C;t!=null&&await B6({value:N,schema:t}),u.message.metadata=N}}switch(a.type){case"text-start":{const C={type:"text",text:"",providerMetadata:a.providerMetadata,state:"streaming"};u.activeTextParts[a.id]=C,u.message.parts.push(C),d();break}case"text-delta":{const C=u.activeTextParts[a.id];C.text+=a.delta,C.providerMetadata=(f=a.providerMetadata)!=null?f:C.providerMetadata,d();break}case"text-end":{const C=u.activeTextParts[a.id];C.state="done",C.providerMetadata=(h=a.providerMetadata)!=null?h:C.providerMetadata,delete u.activeTextParts[a.id],d();break}case"reasoning-start":{const C={type:"reasoning",text:"",providerMetadata:a.providerMetadata,state:"streaming"};u.activeReasoningParts[a.id]=C,u.message.parts.push(C),d();break}case"reasoning-delta":{const C=u.activeReasoningParts[a.id];C.text+=a.delta,C.providerMetadata=(m=a.providerMetadata)!=null?m:C.providerMetadata,d();break}case"reasoning-end":{const C=u.activeReasoningParts[a.id];C.providerMetadata=(p=a.providerMetadata)!=null?p:C.providerMetadata,C.state="done",delete u.activeReasoningParts[a.id],d();break}case"file":{u.message.parts.push({type:"file",mediaType:a.mediaType,url:a.url}),d();break}case"source-url":{u.message.parts.push({type:"source-url",sourceId:a.sourceId,url:a.url,title:a.title,providerMetadata:a.providerMetadata}),d();break}case"source-document":{u.message.parts.push({type:"source-document",sourceId:a.sourceId,mediaType:a.mediaType,title:a.title,filename:a.filename,providerMetadata:a.providerMetadata}),d();break}case"tool-input-start":{const C=u.message.parts.filter(Gv);u.partialToolCalls[a.toolCallId]={text:"",toolName:a.toolName,index:C.length,dynamic:a.dynamic},a.dynamic?y({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted}):x({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted}),d();break}case"tool-input-delta":{const C=u.partialToolCalls[a.toolCallId];C.text+=a.inputTextDelta;const{value:N}=await Ste(C.text);C.dynamic?y({toolCallId:a.toolCallId,toolName:C.toolName,state:"input-streaming",input:N}):x({toolCallId:a.toolCallId,toolName:C.toolName,state:"input-streaming",input:N}),d();break}case"tool-input-available":{a.dynamic?y({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata}):x({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata}),d(),o&&!a.providerExecuted&&await o({toolCall:a});break}case"tool-input-error":{a.dynamic?y({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata}):x({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:void 0,rawInput:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata}),d();break}case"tool-output-available":{if(a.dynamic){const C=b(a.toolCallId);y({toolCallId:a.toolCallId,toolName:C.toolName,state:"output-available",input:C.input,output:a.output,preliminary:a.preliminary})}else{const C=g(a.toolCallId);x({toolCallId:a.toolCallId,toolName:q6(C),state:"output-available",input:C.input,output:a.output,providerExecuted:a.providerExecuted,preliminary:a.preliminary})}d();break}case"tool-output-error":{if(a.dynamic){const C=b(a.toolCallId);y({toolCallId:a.toolCallId,toolName:C.toolName,state:"output-error",input:C.input,errorText:a.errorText,providerExecuted:a.providerExecuted})}else{const C=g(a.toolCallId);x({toolCallId:a.toolCallId,toolName:q6(C),state:"output-error",input:C.input,rawInput:C.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted})}d();break}case"start-step":{u.message.parts.push({type:"step-start"});break}case"finish-step":{u.activeTextParts={},u.activeReasoningParts={};break}case"start":{a.messageId!=null&&(u.message.id=a.messageId),await v(a.messageMetadata),(a.messageId!=null||a.messageMetadata!=null)&&d();break}case"finish":{a.finishReason!=null&&(u.finishReason=a.finishReason),await v(a.messageMetadata),a.messageMetadata!=null&&d();break}case"message-metadata":{await v(a.messageMetadata),a.messageMetadata!=null&&d();break}case"error":{s==null||s(new Error(a.errorText));break}default:if(uQe(a)){(n==null?void 0:n[a.type])!=null&&await B6({value:a.data,schema:n[a.type]});const C=a;if(C.transient){i==null||i(C);break}const N=C.id!=null?u.message.parts.find(S=>C.type===S.type&&C.id===S.id):void 0;N!=null?N.data=C.data:u.message.parts.push(C),i==null||i(C),d()}}l.enqueue(a)})}}))}async function pQe({stream:e,onError:t}){const n=e.getReader();try{for(;;){const{done:r}=await n.read();if(r)break}}catch(r){t==null||t(r)}finally{n.releaseLock()}}Hy({prefix:"aitxt",size:24});Hy({prefix:"aiobj",size:24});var gQe=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,n)=>{this.queue.push(async()=>{try{await e(),t()}catch(r){n(r)}}),this.processQueue()})}};Hy({prefix:"aiobj",size:24});var bQe={};JXe(bQe,{object:()=>yQe,text:()=>xQe});var xQe=()=>({type:"text",responseFormat:{type:"text"},async parsePartial({text:e}){return{partial:e}},async parseOutput({text:e}){return e}}),yQe=({schema:e})=>{const t=XXe(e);return{type:"object",responseFormat:{type:"json",schema:t.jsonSchema},async parsePartial({text:n}){const r=await Ste(n);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:r.value};default:{const s=r.state;throw new Error(`Unsupported parse state: ${s}`)}}},async parseOutput({text:n},r){const s=await B1({text:n});if(!s.success)throw new U6({message:"No object generated: could not parse the response.",cause:s.error,text:n,response:r.response,usage:r.usage,finishReason:r.finishReason});const o=await aP({value:s.value,schema:t});if(!o.success)throw new U6({message:"No object generated: response did not match schema.",cause:o.error,text:n,response:r.response,usage:r.usage,finishReason:r.finishReason});return o.value}}};async function vQe(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw new Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async t=>{const{name:n,type:r}=t,s=await new Promise((o,i)=>{const a=new FileReader;a.onload=l=>{var u;o((u=l.target)==null?void 0:u.result)},a.onerror=l=>i(l),a.readAsDataURL(t)});return{type:"file",mediaType:r,filename:n,url:s}}))}var wQe=class{constructor({api:e="/api/chat",credentials:t,headers:n,body:r,fetch:s,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:i}){this.api=e,this.credentials=t,this.headers=n,this.body=r,this.fetch=s,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=i}async sendMessages({abortSignal:e,...t}){var n,r,s,o,i;const a=await ih(this.body),l=await ih(this.headers),u=await ih(this.credentials),d={...ed(l),...ed(t.headers)},f=await((n=this.prepareSendMessagesRequest)==null?void 0:n.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...a,...t.body},headers:d,credentials:u,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),h=(r=f==null?void 0:f.api)!=null?r:this.api,m=(f==null?void 0:f.headers)!==void 0?ed(f.headers):d,p=(f==null?void 0:f.body)!==void 0?f.body:{...a,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},g=(s=f==null?void 0:f.credentials)!=null?s:u,x=await((o=this.fetch)!=null?o:globalThis.fetch)(h,{method:"POST",headers:L6({"Content-Type":"application/json",...m},`ai-sdk/${W6}`,$6()),body:JSON.stringify(p),credentials:g,signal:e});if(!x.ok)throw new Error((i=await x.text())!=null?i:"Failed to fetch the chat response.");if(!x.body)throw new Error("The response body is empty.");return this.processResponseStream(x.body)}async reconnectToStream(e){var t,n,r,s,o;const i=await ih(this.body),a=await ih(this.headers),l=await ih(this.credentials),u={...ed(a),...ed(e.headers)},d=await((t=this.prepareReconnectToStreamRequest)==null?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...i,...e.body},headers:u,credentials:l,requestMetadata:e.metadata})),f=(n=d==null?void 0:d.api)!=null?n:`${this.api}/${e.chatId}/stream`,h=(d==null?void 0:d.headers)!==void 0?ed(d.headers):u,m=(r=d==null?void 0:d.credentials)!=null?r:l,g=await((s=this.fetch)!=null?s:globalThis.fetch)(f,{method:"GET",headers:L6(h,`ai-sdk/${W6}`,$6()),credentials:m});if(g.status===204)return null;if(!g.ok)throw new Error((o=await g.text())!=null?o:"Failed to fetch the chat response.");if(!g.body)throw new Error("The response body is empty.");return this.processResponseStream(g.body)}},cP=class extends wQe{constructor(e={}){super(e)}processResponseStream(e){return oXe({stream:e,schema:cQe}).pipeThrough(new TransformStream({async transform(t,n){if(!t.success)throw t.error;n.enqueue(t.value)}}))}},CQe=class{constructor({generateId:e=KZe,id:t=e(),transport:n=new cP,messageMetadataSchema:r,dataPartSchemas:s,state:o,onError:i,onToolCall:a,onFinish:l,onData:u,sendAutomaticallyWhen:d}){this.activeResponse=void 0,this.jobExecutor=new gQe,this.sendMessage=async(f,h)=>{var m,p,g,b;if(f==null){await this.makeRequest({trigger:"submit-message",messageId:(m=this.lastMessage)==null?void 0:m.id,...h});return}let x;if("text"in f||"files"in f?x={parts:[...Array.isArray(f.files)?f.files:await vQe(f.files),..."text"in f&&f.text!=null?[{type:"text",text:f.text}]:[]]}:x=f,f.messageId!=null){const y=this.state.messages.findIndex(v=>v.id===f.messageId);if(y===-1)throw new Error(`message with id ${f.messageId} not found`);if(this.state.messages[y].role!=="user")throw new Error(`message with id ${f.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,y+1),this.state.replaceMessage(y,{...x,id:f.messageId,role:(p=x.role)!=null?p:"user",metadata:f.metadata})}else this.state.pushMessage({...x,id:(g=x.id)!=null?g:this.generateId(),role:(b=x.role)!=null?b:"user",metadata:f.metadata});await this.makeRequest({trigger:"submit-message",messageId:f.messageId,...h})},this.regenerate=async({messageId:f,...h}={})=>{const m=f==null?this.state.messages.length-1:this.state.messages.findIndex(p=>p.id===f);if(m===-1)throw new Error(`message ${f} not found`);this.state.messages=this.state.messages.slice(0,this.messages[m].role==="assistant"?m:m+1),await this.makeRequest({trigger:"regenerate-message",messageId:f,...h})},this.resumeStream=async(f={})=>{await this.makeRequest({trigger:"resume-stream",...f})},this.clearError=()=>{this.status==="error"&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolOutput=async({state:f="output-available",tool:h,toolCallId:m,output:p,errorText:g})=>this.jobExecutor.run(async()=>{var b,x;const y=this.state.messages,v=y[y.length-1];this.state.replaceMessage(y.length-1,{...v,parts:v.parts.map(C=>NT(C)&&C.toolCallId===m?{...C,state:f,output:p,errorText:g}:C)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(C=>NT(C)&&C.toolCallId===m?{...C,state:f,output:p,errorText:g}:C)),this.status!=="streaming"&&this.status!=="submitted"&&((b=this.sendAutomaticallyWhen)!=null&&b.call(this,{messages:this.state.messages}))&&this.makeRequest({trigger:"submit-message",messageId:(x=this.lastMessage)==null?void 0:x.id})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var f;this.status!=="streaming"&&this.status!=="submitted"||(f=this.activeResponse)!=null&&f.abortController&&this.activeResponse.abortController.abort()},this.id=t,this.transport=n,this.generateId=e,this.messageMetadataSchema=r,this.dataPartSchemas=s,this.state=o,this.onError=i,this.onToolCall=a,this.onFinish=l,this.onData=u,this.sendAutomaticallyWhen=d}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async makeRequest({trigger:e,metadata:t,headers:n,body:r,messageId:s}){var o,i,a,l;this.setStatus({status:"submitted",error:void 0});const u=this.lastMessage;let d=!1,f=!1,h=!1;try{const m={state:hQe({lastMessage:this.state.snapshot(u),messageId:this.generateId()}),abortController:new AbortController};m.abortController.signal.addEventListener("abort",()=>{d=!0}),this.activeResponse=m;let p;if(e==="resume-stream"){const b=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:n,body:r});if(b==null){this.setStatus({status:"ready"});return}p=b}else p=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:m.abortController.signal,metadata:t,headers:n,body:r,trigger:e,messageId:s});const g=b=>this.jobExecutor.run(()=>b({state:m.state,write:()=>{var x;this.setStatus({status:"streaming"}),m.state.message.id===((x=this.lastMessage)==null?void 0:x.id)?this.state.replaceMessage(this.state.messages.length-1,m.state.message):this.state.pushMessage(m.state.message)}}));await pQe({stream:mQe({stream:p,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:g,onError:b=>{throw b}}),onError:b=>{throw b}}),this.setStatus({status:"ready"})}catch(m){if(d||m.name==="AbortError")return d=!0,this.setStatus({status:"ready"}),null;h=!0,m instanceof TypeError&&(m.message.toLowerCase().includes("fetch")||m.message.toLowerCase().includes("network"))&&(f=!0),this.onError&&m instanceof Error&&this.onError(m),this.setStatus({status:"error",error:m})}finally{try{(i=this.onFinish)==null||i.call(this,{message:this.activeResponse.state.message,messages:this.state.messages,isAbort:d,isDisconnect:f,isError:h,finishReason:(o=this.activeResponse)==null?void 0:o.state.finishReason})}catch(m){console.error(m)}this.activeResponse=void 0}(a=this.sendAutomaticallyWhen)!=null&&a.call(this,{messages:this.state.messages})&&!h&&await this.makeRequest({trigger:"submit-message",messageId:(l=this.lastMessage)==null?void 0:l.id,metadata:t,headers:n,body:r})}};function SQe({messages:e}){const t=e[e.length-1];if(!t||t.role!=="assistant")return!1;const n=t.parts.reduce((s,o,i)=>o.type==="step-start"?i:s,-1),r=t.parts.slice(n+1).filter(NT).filter(s=>!s.providerExecuted);return r.length>0&&r.every(s=>s.state==="output-available"||s.state==="output-error")}function NQe(e,t){if(typeof e!="function")throw new TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let n,r=0;return function(...o){clearTimeout(n);const i=Date.now(),a=i-r,l=t-a;l<=0?(r=i,e.apply(this,o)):n=setTimeout(()=>{r=Date.now(),e.apply(this,o)},l)}}var jQe=NQe;const kQe=hf(jQe);var Nte=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},Zn=(e,t,n)=>(Nte(e,t,"read from private field"),n?n.call(e):t.get(e)),ga=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},Sc=(e,t,n,r)=>(Nte(e,t,"write to private field"),t.set(e,n),n);function EQe(e,t){return t!=null?kQe(e,t):e}var ei,Kv,Zv,Rg,Ag,Pg,fh,jT,kT,_Qe=class{constructor(e=[]){ga(this,ei,void 0),ga(this,Kv,"ready"),ga(this,Zv,void 0),ga(this,Rg,new Set),ga(this,Ag,new Set),ga(this,Pg,new Set),this.pushMessage=t=>{Sc(this,ei,Zn(this,ei).concat(t)),Zn(this,fh).call(this)},this.popMessage=()=>{Sc(this,ei,Zn(this,ei).slice(0,-1)),Zn(this,fh).call(this)},this.replaceMessage=(t,n)=>{Sc(this,ei,[...Zn(this,ei).slice(0,t),this.snapshot(n),...Zn(this,ei).slice(t+1)]),Zn(this,fh).call(this)},this.snapshot=t=>structuredClone(t),this["~registerMessagesCallback"]=(t,n)=>{const r=n?EQe(t,n):t;return Zn(this,Rg).add(r),()=>{Zn(this,Rg).delete(r)}},this["~registerStatusCallback"]=t=>(Zn(this,Ag).add(t),()=>{Zn(this,Ag).delete(t)}),this["~registerErrorCallback"]=t=>(Zn(this,Pg).add(t),()=>{Zn(this,Pg).delete(t)}),ga(this,fh,()=>{Zn(this,Rg).forEach(t=>t())}),ga(this,jT,()=>{Zn(this,Ag).forEach(t=>t())}),ga(this,kT,()=>{Zn(this,Pg).forEach(t=>t())}),Sc(this,ei,e)}get status(){return Zn(this,Kv)}set status(e){Sc(this,Kv,e),Zn(this,jT).call(this)}get error(){return Zn(this,Zv)}set error(e){Sc(this,Zv,e),Zn(this,kT).call(this)}get messages(){return Zn(this,ei)}set messages(e){Sc(this,ei,[...e]),Zn(this,fh).call(this)}};ei=new WeakMap;Kv=new WeakMap;Zv=new WeakMap;Rg=new WeakMap;Ag=new WeakMap;Pg=new WeakMap;fh=new WeakMap;jT=new WeakMap;kT=new WeakMap;var hh,Y6=class extends CQe{constructor({messages:e,...t}){const n=new _Qe(e);super({...t,state:n}),ga(this,hh,void 0),this["~registerMessagesCallback"]=(r,s)=>Zn(this,hh)["~registerMessagesCallback"](r,s),this["~registerStatusCallback"]=r=>Zn(this,hh)["~registerStatusCallback"](r),this["~registerErrorCallback"]=r=>Zn(this,hh)["~registerErrorCallback"](r),Sc(this,hh,n)}};hh=new WeakMap;function jte({experimental_throttle:e,resume:t=!1,...n}={}){const r=w.useRef("chat"in n?n.chat:new Y6(n));("chat"in n&&n.chat!==r.current||"id"in n&&r.current.id!==n.id)&&(r.current="chat"in n?n.chat:new Y6(n));const o="id"in n?n.id:null,i=w.useCallback(f=>r.current["~registerMessagesCallback"](f,e),[e,o]),a=w.useSyncExternalStore(i,()=>r.current.messages,()=>r.current.messages),l=w.useSyncExternalStore(r.current["~registerStatusCallback"],()=>r.current.status,()=>r.current.status),u=w.useSyncExternalStore(r.current["~registerErrorCallback"],()=>r.current.error,()=>r.current.error),d=w.useCallback(f=>{typeof f=="function"&&(f=f(r.current.messages)),r.current.messages=f},[r]);return w.useEffect(()=>{t&&r.current.resumeStream()},[t,r]),{id:r.current.id,messages:a,setMessages:d,sendMessage:r.current.sendMessage,regenerate:r.current.regenerate,clearError:r.current.clearError,stop:r.current.stop,error:u,resumeStream:r.current.resumeStream,status:l,addToolResult:r.current.addToolOutput,addToolOutput:r.current.addToolOutput}}function TQe(e,t){return e.some(n=>n.tableName&&n.tableName===t.tableName||n.datamodelName&&n.datamodelName===t.datamodelName)}function MQe(e){return e.filter((n,r,s)=>r===s.findIndex(o=>o.tableName===n.tableName&&o.datamodelName===n.datamodelName))}function DQe(e,t){return e.filter(n=>!(n.connectionId===t.connectionId&&n.tableName===t.tableName&&n.datamodelName===t.datamodelName))}function IQe(e){return e.toLowerCase()==="clickhouse"?"{database_name}.{table_name}":e.toLowerCase()==="postgres"?"{schema_name}.{table_name}":"{table_name}"}function kte(e){return e.map(r=>{const s=r.connectionType==="API"||r.connectionType==="S3"||r.connectionType==="S3Tables"?"DuckDb":r.connectionType;return r.datamodelName?{...r,databaseName:"",schemaName:"",tableName:"",connectionType:s,tableReferenceFormat:"dm.{table_name}"}:{...r,connectionType:s,tableReferenceFormat:IQe(s)}}).filter(r=>r.datamodelName?r.connectionId&&r.datamodelName&&r.connectionType:r.connectionId&&r.tableName&&r.connectionType)}function Ete(e){var n,r;if(!e)return"";let t="";try{const s=JSON.parse((e==null?void 0:e.message)||"{}");t=((r=(n=s==null?void 0:s.error)==null?void 0:n.lastError)==null?void 0:r.message)||(s==null?void 0:s.error)||e.message}catch{t=e.message}return t}function RQe(){var b;const{authToken:e,tokenProps:t}=Xe(),n=Q(x=>x.dashboard.aiScopeTables),r=(b=nC().data)==null?void 0:b.assistantProfileId,{sendMessage:s,messages:o,setMessages:i,regenerate:a,status:l,addToolResult:u,error:d,stop:f,clearError:h}=jte({transport:new cP({api:`${t.apiServiceUrl}/v1/assistant`,headers:()=>({Authorization:`Bearer ${e==null?void 0:e.accessToken}`}),body:()=>{const x=ua.getState();return{assistantId:"dashboard-assistant",assistantProfileId:r,aiContext:x.currentAIContext,reasoningEffort:x.reasoningEffort,showReasoning:x.showReasoning}},credentials:"omit",prepareSendMessagesRequest:({messages:x,body:y})=>({body:{...y,messages:uY(x)}})}),onToolCall:m,sendAutomaticallyWhen:SQe,onFinish({isAbort:x,isDisconnect:y,isError:v}){console.log(x?"[Dashboard Assistant] Stream aborted by user":y?"[Dashboard Assistant] Stream disconnected (network error)":v?"[Dashboard Assistant] Stream error occurred":"[Dashboard Assistant] Stream completed successfully")},onError(x){var y;if(x.name==="AbortError"||(y=x.message)!=null&&y.includes("aborted")){console.log("[Dashboard Assistant] Stream aborted (expected)");return}console.error("[Dashboard Assistant] Stream error:",x)}});async function m({toolCall:x}){if(x.toolName==="getCurrentTableScope"&&u({tool:x.toolName,toolCallId:x.toolCallId,output:{tables:kte(n||[])}}),x.toolName==="getDashboardContext"){const y=Q.getState().dashboard;u({tool:x.toolName,toolCallId:x.toolCallId,output:{dashboardContext:y}})}}const p=!["ready","error"].includes(l),g=Ete(d);return{sendMessage:s,regenerate:a,isLoading:p,messages:o,setMessages:i,status:l,stop:f,errorMessage:g,clearError:h}}function _te(){var u;const{authToken:e,tokenProps:t}=Xe(),n=(u=nC().data)==null?void 0:u.assistantProfileId;function r(){return!(!n||!(e!=null&&e.accessToken))}const{data:s,isLoading:o,isFetching:i,isError:a}=gn({queryKey:["assistant-profile",n],queryFn:()=>sr(`${t.apiServiceUrl}/v1/assistant/${n}`,(e==null?void 0:e.accessToken)||""),enabled:r()});return{assistantProfile:s==null?void 0:s.assistantProfile,isLoading:o,isFetching:i,isError:a}}function Tte({seedQuestions:e,handleSeedQuestionClick:t}){return e.length===0?null:c.jsxs("div",{className:"overflow-x-auto rounded-md border bg-muted/40 p-4",children:[c.jsxs("div",{className:"mb-3 flex items-center",children:[c.jsx(B8,{className:"mr-2 h-4 w-4 text-muted-foreground"}),c.jsx("h3",{className:"font-medium",children:"Example Questions"})]}),c.jsx("div",{className:"flex flex-wrap gap-2",children:e.map((n,r)=>c.jsx(oe,{variant:"outline",size:"sm",onClick:()=>t(n),className:"text-sm",children:n},r))})]})}function V1(e,t={}){const{size:n="h-4 w-4"}=t,r=n;switch(e){case"table":return c.jsx(kM,{className:r});case"view":return c.jsx(su,{className:r});case"materialized view":return c.jsx(zie,{className:r});case"model":return c.jsx(aC,{className:r});case"file":return c.jsx(xi,{className:r});case"dataset":return c.jsx(Ll,{className:r});case"upload":return c.jsx(MM,{className:r});case"url":return c.jsx(Y8,{className:r});default:return c.jsx(Rx,{className:r})}}const Mte=D.forwardRef(({className:e,...t},n)=>c.jsxs("div",{className:"flex items-center px-3","cmdk-input-wrapper":"",children:[c.jsx(Xo,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),c.jsx(Vs.Input,{ref:n,className:X("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));Mte.displayName=Vs.Input.displayName;const vv=e=>e.label||(e==null?void 0:e.name),G6=e=>"description"in e?e.description:`${e.type} from ${e.database||"database"}`;function AQe({isOpen:e,onSelect:t,onDeselect:n,onClose:r,availableEntities:s,selectedEntities:o,onTabComplete:i,onSelectAll:a,onRemoveAll:l,onAddContext:u}){const{tokenProps:d}=Xe(),f=(d==null?void 0:d.type)==="dashboard",[h,m]=w.useState(""),[p,g]=w.useState(""),b=s.filter(S=>{if(!h)return!0;const j=vv(S).toLowerCase(),k=G6(S).toLowerCase(),_=h.toLowerCase();return j.includes(_)||k.includes(_)});w.useEffect(()=>{e||(m(""),g(""))},[e]),w.useEffect(()=>{b.length>0&&!p&&g(vv(b[0]))},[b,p]);const x=()=>{if(!p)return;const S=b.find(j=>vv(j)===p);S&&(o.some(k=>"id"in S&&"id"in k?S.id===k.id:S.name===k.name&&S.connectionId===k.connectionId)||t(S),i(S),r())},y=S=>{(S.key==="Tab"||S.key==="Enter")&&(S.preventDefault(),x())};if(!e)return null;const v=S=>o.some(j=>"id"in S&&"id"in j?S.id===j.id:S.name===j.name&&S.connectionId===j.connectionId),C=o.length===s.length,N=o.length>0;return c.jsx(c.Fragment,{children:c.jsxs(cp,{shouldFilter:!1,value:p,onValueChange:g,onKeyDown:y,children:[s.length>0&&c.jsxs("div",{className:"flex items-center justify-between border-b pr-3",children:[c.jsx(Mte,{placeholder:"Search entities...",value:h,onValueChange:m,className:"flex-1 border-0",autoFocus:!0}),!f&&c.jsxs(oe,{onClick:S=>{S.preventDefault(),S.stopPropagation(),u==null||u()},onMouseDown:S=>{S.preventDefault(),S.stopPropagation()},variant:"outline",size:"sm",className:"h-7 shrink-0",children:[c.jsx(Ir,{className:"mr-1 h-4 w-4"}),"Add"]})]}),s.length>0&&c.jsxs("div",{className:"flex items-center justify-between border-b px-3 py-2 text-sm",children:[c.jsxs("div",{className:"text-muted-foreground",children:[o.length," ",o.length===1?"entity":"entities"," selected"]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(oe,{onClick:S=>{S.preventDefault(),S.stopPropagation(),a==null||a()},onMouseDown:S=>{S.preventDefault(),S.stopPropagation()},disabled:C,variant:"ghost",size:"sm",className:"h-6 px-2 text-xs",children:"Select All"}),N&&c.jsxs(oe,{onClick:S=>{S.preventDefault(),S.stopPropagation(),l==null||l()},onMouseDown:S=>{S.preventDefault(),S.stopPropagation()},variant:"ghost",size:"sm",className:"h-6 gap-1 px-2 text-xs",children:[c.jsx(kt,{className:"h-3.5 w-3.5"}),"Clear"]})]})]}),c.jsxs(up,{className:"min-h-60",children:[c.jsx(dp,{children:c.jsxs("div",{className:"flex flex-col items-center justify-center py-4",children:[c.jsx("p",{className:"mb-3 text-sm text-muted-foreground",children:"No entities found."}),!f&&c.jsxs(oe,{onClick:S=>{S.preventDefault(),S.stopPropagation(),u==null||u()},onMouseDown:S=>{S.preventDefault(),S.stopPropagation()},size:"sm",variant:"outline",className:"flex items-center gap-2",children:[c.jsx(Ir,{className:"h-4 w-4"}),"Add Datasets"]})]})}),c.jsx(fp,{children:b.map((S,j)=>{const k=v(S),_="id"in S?S.id:`${S.connectionId}-${S.name}`,E=vv(S);return c.jsxs(hp,{value:E,onSelect:()=>{k?n==null||n(S):t(S)},onMouseDown:M=>{M.preventDefault(),M.stopPropagation()},className:X("flex cursor-pointer items-start gap-2 p-2 hover:bg-gray-100"),children:[c.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center",children:V1(S.type)}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("div",{className:"truncate font-medium",children:E}),c.jsx("div",{className:"truncate text-xs text-muted-foreground",children:G6(S)})]}),k&&c.jsx("div",{className:"ml-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-foreground/80",children:c.jsx(Fr,{className:"h-3 w-3 text-background"})})]},_)})})]})]})})}const ET=e=>e.name||e.name,PQe=e=>{const t=ET(e),n="description"in e?e.description:"",r=e.database||"",s=e.schema||"";return c.jsxs("div",{className:"space-y-1",children:[c.jsx("div",{className:"font-medium",children:t}),n&&c.jsx("div",{className:"text-sm text-muted-foreground",children:n}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:["Type: ",e.type,r&&` • Database: ${r}`,s&&` • Schema: ${s}`]})]})};function FQe({entities:e,availableEntities:t,onRemoveEntity:n,onRemoveEntities:r}){const[s,o]=w.useState(!1),i=e.length>0;e.length,t.length,e.length<t.length;const a=e.length>=3?e.slice(0,2):e,l=e.length>=3?e.slice(2):[],u=l.length>0;return c.jsx(zn,{children:c.jsx("div",{className:"space-y-2",children:i&&c.jsxs("div",{className:"flex flex-wrap gap-1",children:[a.map((d,f)=>{const h="id"in d?d.id:`${d.connectionId}-${d.name}`;return c.jsxs(cn,{children:[c.jsx(un,{asChild:!0,children:c.jsxs(Ye,{variant:"secondary",className:"group relative cursor-pointer gap-2 transition-colors hover:border-red-200 hover:bg-red-50 dark:hover:border-red-800 dark:hover:bg-red-950",children:[V1(d.type,{size:"h-3 w-3"}),c.jsx("span",{className:"max-w-24 truncate text-xs",children:ET(d)}),c.jsx("button",{className:"rounded-full p-0.5 transition-opacity hover:bg-red-100 group-hover:opacity-100",onClick:()=>n(d),children:c.jsx(kt,{className:"h-3 w-3"})})]})}),c.jsx(fn,{side:"top",className:"max-w-xs",children:PQe(d)})]},h)}),u&&c.jsxs(cn,{open:s,onOpenChange:o,children:[c.jsx(un,{asChild:!0,children:c.jsxs(Ye,{variant:"secondary",className:"flex cursor-pointer items-center gap-1 transition-colors hover:bg-secondary/80",onClick:()=>o(!0),children:[c.jsx(U8,{className:"h-3 w-3"}),c.jsxs("span",{className:"text-xs",children:[l.length," more"]}),c.jsx("button",{className:"rounded-full p-0.5 transition-opacity hover:bg-red-100 group-hover:opacity-100",onClick:()=>r(l),children:c.jsx(kt,{className:"h-3 w-3"})})]})}),c.jsx(fn,{side:"top",className:"max-h-60 max-w-xs overflow-y-auto p-2",children:c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"text-sm font-medium",children:"Additional Datasets"}),c.jsx("div",{className:"space-y-2",children:l.map(d=>{const f="id"in d?d.id:`${d.connectionId}-${d.name}`;return c.jsxs("div",{className:"group flex items-center justify-between gap-2",children:[c.jsxs("div",{className:"flex items-start gap-2",children:[c.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center",children:V1(d.type,{size:"h-3 w-3"})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("div",{className:"truncate text-sm font-medium",children:ET(d)}),c.jsxs("div",{className:"truncate text-xs text-muted-foreground",children:[d.type," ",d.database?`• ${d.database}`:""]})]})]}),c.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 opacity-0 group-hover:opacity-100",onClick:()=>{n(d),l.length===1&&o(!1)},children:c.jsx(kt,{className:"h-3 w-3"})})]},f)})})]})})]})]})})})}function Dte(e){return e.type==="dataset"&&e.label||e.name}function OQe(e){const t=[];return t.push({label:"Type",value:e.type}),t.push({label:"Name",value:e.name}),e.connectionType&&t.push({label:"Connection",value:e.connectionType}),e.database&&t.push({label:"Database",value:e.database}),e.schema&&t.push({label:"Schema",value:e.schema}),e.type==="dataset"&&e.label&&t.push({label:"Label",value:e.label}),e.type==="dataset"&&e.description&&t.push({label:"Description",value:e.description}),e.type==="model"&&e.label&&t.push({label:"Label",value:e.label}),e.type==="model"&&e.description&&t.push({label:"Description",value:e.description}),t}function $Qe({selectedEntities:e,onDeselectEntity:t}){return e.length===0?null:c.jsxs("div",{className:"mb-4 space-y-2",children:[c.jsxs(fe,{className:"mb-2 text-xs font-medium text-muted-foreground",children:["Selected Entities (",e.length,")"]}),c.jsx("div",{className:"max-h-32 overflow-y-auto rounded-md border border-border/50 p-2",children:c.jsx("div",{className:"flex flex-wrap gap-1",children:e.map((n,r)=>c.jsxs(Ye,{variant:"secondary",className:"group relative cursor-pointer pr-6 text-xs transition-colors hover:border-red-200 hover:bg-red-50 dark:hover:border-red-800 dark:hover:bg-red-950",children:[c.jsxs("span",{className:"mr-1 text-gray-500",children:["[",n.type,"]"]}),Dte(n),c.jsx("button",{onClick:s=>{s.stopPropagation(),t(n)},className:"absolute right-1 top-1/2 -translate-y-1/2 rounded-full p-0.5 opacity-0 transition-opacity hover:bg-red-100 group-hover:opacity-100",children:c.jsx(kt,{className:"h-2.5 w-2.5 text-red-500"})})]},`${n.type}-${n.name}-${r}`))})})]})}function LQe(e){const{tokenProps:t}=Xe(),n=Q(l=>l.authToken)||e;$e(l=>l.selectedConnectionId),$e(l=>{var u,d;return(d=(u=l==null?void 0:l.card)==null?void 0:u.dataSource)==null?void 0:d.connectionId});const{refetch:r,isPending:s,data:o,isLoading:i,isError:a}=gn({queryKey:["semantic-domains"],queryFn:()=>sr(`${t.apiServiceUrl}/v1/domains`,(n==null?void 0:n.accessToken)||""),enabled:!!(n!=null&&n.accessToken)});return{isPending:s,error:a,semanticDomainsData:o,semanticDomains:(o==null?void 0:o.domains)||[],isSemanticDomainsLoading:i,isSemanticDomainsError:a,refetchSemanticDomains:r}}function zQe(e,t){const{tokenProps:n}=Xe(),r=Q(u=>u.authToken)||t,{refetch:s,isPending:o,data:i,isLoading:a,isError:l}=gn({queryKey:["datasets",e],queryFn:()=>sr(`${n.apiServiceUrl}/v1/datasets`,(r==null?void 0:r.accessToken)||"",{domainId:e}),enabled:!!(r!=null&&r.accessToken)&&!!e});return{isPending:o,error:l,datasets:(i==null?void 0:i.datasets)||[],isDatasetsLoading:a,isDatasetsError:l,refetchDatasets:s}}function BQe(e){var g,b;const{tokenProps:t}=Xe(),n=Q(x=>x.authToken)||e,{connections:r}=ji(e),s=$e(x=>{var y,v;return(v=(y=x==null?void 0:x.card)==null?void 0:y.dataSource)==null?void 0:v.connectionId}),o=r==null?void 0:r.find(x=>x.id===s),i=o==null?void 0:o.type,a=o==null?void 0:o.capabilities,l=((g=a==null?void 0:a.labels)==null?void 0:g.database)||"Database";function u(x){var y;return!s||!x?!1:!!((y=o==null?void 0:o.capabilities)!=null&&y.path.includes("database"))}const{data:d,isPending:f,error:h,refetch:m}=gn({queryKey:["databases",s],queryFn:()=>sr(`${t.apiServiceUrl}/v1/databases`,(n==null?void 0:n.accessToken)||"",{connection_id:s}),enabled:u(i)}),p=(b=d==null?void 0:d.databases)==null?void 0:b.map(x=>({id:x.database_name,name:x.database_name}));return{isPending:f,error:h,databases:p||[],refetch:m,label:l}}function VQe(e){var g;const{tokenProps:t}=Xe(),n=Q(b=>b.authToken)||e,{connections:r}=ji(e),s=$e(b=>{var x,y;return(y=(x=b==null?void 0:b.card)==null?void 0:x.dataSource)==null?void 0:y.connectionId}),o=$e(b=>{var x,y,v;return(v=(y=(x=b==null?void 0:b.card)==null?void 0:x.dataSource)==null?void 0:y.dbSelection)==null?void 0:v.database}),i=r==null?void 0:r.find(b=>b.id===s),a=i==null?void 0:i.capabilities,l=((g=a==null?void 0:a.labels)==null?void 0:g.schema)||"Schema";function u(){var b;return!(!s||!((b=i==null?void 0:i.capabilities)!=null&&b.path.includes("schema"))||!o)}const{data:d,isPending:f,error:h,refetch:m}=gn({queryKey:["schemas",s,o],queryFn:()=>sr(`${t.apiServiceUrl}/v1/schemas`,(n==null?void 0:n.accessToken)||"",{connection_id:s,database_name:o}),enabled:u()}),p=d==null?void 0:d.schemas.map(b=>({id:b.schema_name,name:b.schema_name}));return{isPending:f,error:h,schemas:p||[],refetch:m,label:l}}function Ite(e){const{tokenProps:t}=Xe(),n=Q(h=>h.authToken)||e,{connections:r}=ji(e),s=$e(h=>{var m,p;return(p=(m=h==null?void 0:h.card)==null?void 0:m.dataSource)==null?void 0:p.connectionId}),o=r.find(h=>h.id===s);function i(){return!(!(n!=null&&n.accessToken)||!s)}const{data:a,isPending:l,error:u,refetch:d}=gn({queryKey:["dataModels",s],queryFn:()=>sr(`${t.apiServiceUrl}/v1/datamodels`,(n==null?void 0:n.accessToken)||"",{connection_id:s}),enabled:i()}),f=a==null?void 0:a.datamodels.map(h=>({id:h.id,name:h.name,label:h.label,description:h.description,connectionId:s,dialect:h.dialect,connectionType:o==null?void 0:o.type,type:"model",database:h.database,schema:h.schema}));return{isPending:l,error:u,dataModels:f||[],refetch:d}}function HQe(){var N,S,j;const e=$e(k=>k.card.dataSource);$e(k=>k.actions.updateDirectSource);const t=$e(k=>k.actions.updateDataSource),[n,r]=w.useState(""),{selectedConnection:s,error:o}=ji(),{databases:i,isPending:a,error:l,label:u}=BQe(),{schemas:d,isPending:f,error:h,label:m}=VQe(),{error:p}=Ite(),g=s==null?void 0:s.capabilities.path.includes("schema"),b=s==null?void 0:s.capabilities.path.includes("database"),x=u==null?void 0:u.toLowerCase(),y=m==null?void 0:m.toLowerCase(),v=k=>{e&&t({...e,dbSelection:{database:k,schema:"",entityType:"table"},selectedEntities:(e==null?void 0:e.selectedEntities)||[]})},C=k=>{var E;if(!((E=e==null?void 0:e.dbSelection)!=null&&E.database))return;const _=e.dbSelection||{database:"",schema:"",entityType:"table"};t({...e,dbSelection:{..._,schema:k},selectedEntities:(e==null?void 0:e.selectedEntities)||[]})};return c.jsxs(c.Fragment,{children:[(o||l||h||p)&&c.jsxs("div",{className:"rounded-md border border-red-200 bg-red-50 p-3",children:[c.jsx("div",{className:"flex items-center",children:c.jsxs("div",{className:"text-sm text-red-800",children:[c.jsx("strong",{children:"Error loading data:"}),c.jsxs("ul",{className:"mt-1 list-inside list-disc",children:[o&&c.jsxs("li",{children:["Connections: ",o]}),l&&c.jsxs("li",{children:[u,": ",l.message]}),h&&c.jsxs("li",{children:[m,": ",h.message]}),p&&c.jsxs("li",{children:["Data Models: ",p.message]})]})]})}),c.jsx(oe,{variant:"outline",size:"sm",className:"mt-2",onClick:()=>window.location.reload(),children:"Retry"})]}),c.jsxs("div",{className:"space-y-4",children:[b&&c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-sm font-medium",children:u}),c.jsxs(lt,{value:((N=e==null?void 0:e.dbSelection)==null?void 0:N.database)||"",onValueChange:v,disabled:a,children:[c.jsx(st,{className:"w-full",children:c.jsxs("div",{className:"flex items-center gap-2",children:[a&&c.jsx(wn,{className:"h-4 w-4 animate-spin"}),c.jsx(ct,{placeholder:l?`Error loading ${x}`:a?`Loading ${x}...`:`Select ${x}...`})]})}),c.jsx(ot,{children:i.map(k=>c.jsx(we,{className:"hover:bg-muted",value:k.id,children:k.name},k.id))})]})]}),((S=e==null?void 0:e.dbSelection)==null?void 0:S.database)&&g&&c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-sm font-medium",children:m}),c.jsxs(lt,{value:((j=e==null?void 0:e.dbSelection)==null?void 0:j.schema)||"",onValueChange:C,disabled:f,children:[c.jsx(st,{className:"w-full",children:c.jsxs("div",{className:"flex items-center gap-2",children:[f&&c.jsx(wn,{className:"h-4 w-4 animate-spin"}),c.jsx(ct,{placeholder:h?`Error loading ${y}`:f?`Loading ${y}...`:`Select ${y}...`})]})}),c.jsx(ot,{children:d.map(k=>c.jsx(we,{className:"hover:bg-muted",value:k.id,children:k.name},k.id))})]})]})]})]})}function UQe(){const e=$e(l=>l.card.dataSource),t=$e(l=>l.actions.updateDataSource),[n,r]=w.useState(!1),s=l=>{if(!l||(e==null?void 0:e.mode)!=="upload")return;const u=Array.from(l).map(f=>({id:`file-${Date.now()}-${Math.random()}`,name:f.name,type:"upload",connectionId:"default",connectionType:"none",label:f.name,description:`Uploaded ${new Date().toLocaleString()}`,originalName:f.name,file:f})),d=(e==null?void 0:e.selectedEntities)||[];t({...e,selectedEntities:[...d,...u]})},o=l=>{if(!e)return;const u=(e.selectedEntities||[]).filter(d=>d.id!==l);t({...e,selectedEntities:u})},i=l=>{if(l===0)return"0 Bytes";const u=1024,d=["Bytes","KB","MB","GB"],f=Math.floor(Math.log(l)/Math.log(u));return Number.parseFloat((l/Math.pow(u,f)).toFixed(2))+" "+d[f]},a=(e==null?void 0:e.selectedEntities)||[];return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-sm font-medium",children:"Upload Files"}),c.jsxs("div",{className:`rounded-lg border-2 border-dashed p-6 text-center transition-colors ${n?"border-blue-400 bg-blue-50":"border-gray-300 hover:border-gray-400"}`,onDragOver:l=>{l.preventDefault(),r(!0)},onDragLeave:()=>r(!1),onDrop:l=>{l.preventDefault(),r(!1),s(l.dataTransfer.files)},children:[c.jsx(MM,{className:"mx-auto mb-2 h-8 w-8 text-gray-400"}),c.jsx("p",{className:"mb-2 text-sm text-gray-600",children:"Drag and drop files here, or click to select"}),c.jsx("input",{type:"file",multiple:!0,className:"hidden",id:"file-upload",onChange:l=>s(l.target.files),accept:".csv,.json,.xlsx,.xls"}),c.jsx(oe,{variant:"outline",size:"sm",onClick:()=>{var l;return(l=document.getElementById("file-upload"))==null?void 0:l.click()},children:"Select Files"}),c.jsx("p",{className:"mt-2 text-xs text-gray-500",children:"Supports CSV, JSON, Excel files"})]})]}),a.length>0&&c.jsxs("div",{className:"space-y-2",children:[c.jsxs(fe,{className:"text-xs text-gray-600",children:["Uploaded Files (",a.length,")"]}),c.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:a.map(l=>c.jsxs("div",{className:"flex items-center justify-between rounded border bg-gray-50 p-2",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[c.jsx(xi,{className:"h-4 w-4 flex-shrink-0 text-gray-500"}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"truncate text-sm text-gray-700",children:l.originalName}),c.jsx("p",{className:"text-xs text-gray-500",children:l.file?i(l.file.size):""})]})]}),c.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 flex-shrink-0 p-0",onClick:()=>o(l.id),children:c.jsx(kt,{className:"h-3 w-3"})})]},l.id))})]})]})}function WQe(){const e=$e(f=>f.card.dataSource),t=$e(f=>f.actions.updateDataSource),[n,r]=w.useState(""),[s,o]=w.useState(""),[i,a]=w.useState("api"),l=()=>{if(!n.trim()||!s.trim()||!e)return;const f={id:`url-${Date.now()}-${Math.random()}`,name:n.trim(),type:"url",connectionId:"default",connectionType:"none",label:n.trim(),description:`URL source of type ${i}`,url:s.trim(),sourceType:i,originalName:n.trim()},h=(e==null?void 0:e.selectedEntities)||[];t({...e,selectedEntities:[...h,f]}),r(""),o(""),a("api")},u=f=>{if(!e)return;const h=(e.selectedEntities||[]).filter(m=>m.id!==f);t({...e,selectedEntities:h})},d=(e==null?void 0:e.selectedEntities)||[];return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-sm font-medium text-gray-700",children:"URL Sources"}),c.jsxs("div",{className:"space-y-3 rounded-lg border bg-gray-50 p-3",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-xs text-gray-600",children:"Source Name"}),c.jsx(bn,{placeholder:"e.g., Sales API, Customer Data",value:n,onChange:f=>r(f.target.value),className:"h-8 text-sm"})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-xs text-gray-600",children:"URL"}),c.jsx(bn,{placeholder:"https://api.example.com/data",value:s,onChange:f=>o(f.target.value),className:"h-8 text-sm"})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-xs text-gray-600",children:"Type"}),c.jsxs("select",{value:i,onChange:f=>a(f.target.value),className:"h-8 w-full rounded-md border border-gray-300 px-2 text-sm",children:[c.jsx("option",{value:"api",children:"API Endpoint"}),c.jsx("option",{value:"csv",children:"CSV File"}),c.jsx("option",{value:"json",children:"JSON File"})]})]}),c.jsxs(oe,{onClick:l,disabled:!n.trim()||!s.trim(),size:"sm",className:"w-full",children:[c.jsx(Ir,{className:"mr-1 h-3 w-3"}),"Add Source"]})]})]}),d.length>0&&c.jsxs("div",{className:"space-y-2",children:[c.jsxs(fe,{className:"text-xs text-gray-600",children:["Added Sources (",d.length,")"]}),c.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:d.map(f=>c.jsxs("div",{className:"flex items-center justify-between rounded border bg-gray-50 p-2",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[c.jsx(Rx,{className:"h-4 w-4 flex-shrink-0 text-gray-500"}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"truncate text-sm text-gray-700",children:f.name}),c.jsx("p",{className:"truncate text-xs text-gray-500",children:f.url})]})]}),c.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 flex-shrink-0 p-0",onClick:()=>u(f.id),children:c.jsx(kt,{className:"h-3 w-3"})})]},f.id))})]})]})}function qQe(e,t){var y,v;const{tokenProps:n}=Xe(),r=Q(C=>C.authToken)||t,{connections:s}=ji(t),o=$e(C=>{var N,S;return(S=(N=C==null?void 0:C.card)==null?void 0:N.dataSource)==null?void 0:S.connectionId}),i=$e(C=>{var N,S,j;return(j=(S=(N=C==null?void 0:C.card)==null?void 0:N.dataSource)==null?void 0:S.dbSelection)==null?void 0:j.database}),a=$e(C=>{var N,S,j;return(j=(S=(N=C==null?void 0:C.card)==null?void 0:N.dataSource)==null?void 0:S.dbSelection)==null?void 0:j.schema}),l=s==null?void 0:s.find(C=>C.id===o),u=l==null?void 0:l.capabilities,d=((y=u==null?void 0:u.labels)==null?void 0:y.schema)||"Schema";function f(){if(!o)return!1;const C=(u==null?void 0:u.path)||[];return!(C.includes("database")&&!i||C.includes("schema")&&!a)}const{data:h,isPending:m,isLoading:p,error:g,refetch:b}=gn({queryKey:[e,o,i,a],queryFn:()=>sr(`${n.apiServiceUrl}/v1/${e}s`,(r==null?void 0:r.accessToken)||"",{connection_id:o,database_name:i,schema_name:a}),enabled:f()}),x=(v=h==null?void 0:h[`${e}s`])==null?void 0:v.map(C=>{var N;return{connectionId:l==null?void 0:l.id,connectionType:l==null?void 0:l.type,dialect:l==null?void 0:l.dialect,type:e,dbObjectType:(N=C==null?void 0:C.table_type)==null?void 0:N.toLowerCase(),id:C[`${e}_name`],database:i,schema:a,name:C[`${e}_name`]}});return{isPending:m,isLoading:p,error:g,entities:x||[],refetch:b,label:d}}function H1({title:e,message:t}){return c.jsx("div",{className:"rounded-xl border border-destructive/40 bg-destructive/10 p-4 text-destructive shadow-sm",children:c.jsxs("div",{className:"flex items-start gap-4",children:[c.jsx(Gl,{className:"h-6 w-6 flex-shrink-0"}),c.jsxs("div",{className:"flex-1",children:[c.jsx("h4",{className:"text-base font-semibold",children:e}),t&&c.jsx("p",{className:"mt-1 text-sm text-destructive/90",children:t})]})]})})}function YQe({dataSource:e,onSelectionChange:t,selectedEntities:n,onRegisterSelectAll:r}){const{connections:s,isPending:o}=ji(),[i,a]=w.useState(""),[l,u]=w.useState(""),[d,f]=w.useState("tables"),{updateDataSource:h,setSelectedConnectionId:m}=Nr(),{entities:p,isLoading:g,error:b}=qQe("table"),{dataModels:x,isPending:y,error:v}=Ite(),C=E=>{const M=s.find(P=>P.id===E);if(!M)return;const T=M.type==="upload"?"upload":M.type==="url"?"url":"database";h({...e,connectionId:E,connectionType:M.type,mode:T,dbSelection:{database:"",schema:"",entityType:"table"}}),m(E)},N=E=>{var F,A;const M=n||[],T=M.some($=>$.name===E.name&&$.type===E.type);let P;if(T)P=M.filter($=>!($.name===E.name&&$.type===E.type));else{const $={connectionId:e.connectionId,connectionType:e.connectionType,type:E.type,dbObjectType:E.dbObjectType,database:((F=e.dbSelection)==null?void 0:F.database)||"",schema:((A=e.dbSelection)==null?void 0:A.schema)||"",name:E.name,dialect:E.dialect};P=[...M,$]}t==null||t(P)},S=E=>{const M=n||[],T=M.some(F=>F.type==="model"&&F.name===E.name);let P;T?P=M.filter(F=>!(F.type==="model"&&F.name===E.name)):P=[...M,E],t==null||t(P)},j=p.filter(E=>E.name.toLowerCase().includes(i.toLowerCase())),k=x.filter(E=>E.name.toLowerCase().includes(l.toLowerCase())),_=w.useCallback(()=>{if(!t)return;const E=n||[];let M=[...E];if(d==="tables"){const P=j.filter(F=>!E.some(A=>A.name===F.name&&A.type==="table")).map(F=>{var A,$;return{connectionId:e.connectionId,connectionType:e.connectionType,type:"table",dbObjectType:F.dbObjectType,database:((A=e.dbSelection)==null?void 0:A.database)||"",schema:(($=e.dbSelection)==null?void 0:$.schema)||"",name:F.name,dialect:F.dialect}});M=[...E,...P]}else if(d==="datamodels"){const T=k.filter(P=>!E.some(F=>F.name===P.name&&F.type==="model"));M=[...E,...T]}t(M)},[d,j,k,n,e,t]);return w.useEffect(()=>{r&&r(_)},[r,_]),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"font-medium= text-sm",children:"Connection"}),c.jsxs(lt,{value:(e==null?void 0:e.connectionId)||"",onValueChange:C,disabled:o,children:[c.jsx(st,{className:"w-full",children:c.jsx(ct,{placeholder:o?"Loading connections...":"Select connection..."})}),c.jsx(ot,{children:s.map(E=>c.jsx(we,{className:"hover:bg-muted",value:E.id,children:c.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[c.jsx(Ll,{className:"h-4 w-4 flex-shrink-0"}),c.jsx("span",{className:"truncate",children:E.name}),c.jsx(Ye,{variant:"secondary",className:"flex-shrink-0 text-xs",children:E.type})]})},E.id))})]})]}),(e==null?void 0:e.connectionId)&&c.jsxs(c.Fragment,{children:[e.connectionType==="upload"&&c.jsx(UQe,{}),e.connectionType==="url"&&c.jsx(WQe,{}),e.connectionType!=="upload"&&e.connectionType!=="url"&&c.jsxs(c.Fragment,{children:[c.jsx(HQe,{}),c.jsx("div",{className:"space-y-4",children:c.jsx("div",{className:"space-y-2",children:c.jsxs(zs,{defaultValue:"tables",value:d,onValueChange:E=>f(E),className:"w-full",children:[c.jsxs(vs,{className:"grid w-full grid-cols-2",children:[c.jsxs(sn,{value:"tables",children:["Tables & Views (",j.length,")"]}),c.jsxs(sn,{value:"datamodels",children:["Data Models (",k.length,")"]})]}),c.jsxs(br,{value:"tables",className:"space-y-2",children:[c.jsx(En,{placeholder:"Search tables and views...",value:i,onChange:E=>a(E.target.value),className:"h-8 text-sm",disabled:g}),c.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:g?c.jsx("div",{className:"py-4 text-center text-sm",children:"Loading tables..."}):b?c.jsx(H1,{title:"Error loading tables",message:b.message||"Failed to load tables. Please try again.",onRetry:()=>window.location.reload()}):j.length===0?c.jsx("div",{className:"py-4 text-center text-sm",children:"No tables or views found"}):j.map(E=>{const M=n.some(T=>T.name===E.name&&T.type==="table");return c.jsxs("div",{className:"group flex cursor-pointer items-center space-x-2 rounded p-2 hover:bg-muted",onClick:()=>N(E),children:[c.jsx(dn,{id:`table-${E.name}`,checked:M,onCheckedChange:()=>N(E),onClick:T=>T.stopPropagation(),disabled:g}),c.jsxs(fe,{className:"flex flex-1 cursor-pointer items-center gap-2",children:[E.name,E.dbObjectType==="view"&&c.jsx(Ye,{variant:"secondary",className:"text-xs group-hover:border-border",children:"View"}),E.dbObjectType==="materialized view"&&c.jsx(Ye,{variant:"secondary",className:"text-xs group-hover:border-border",children:"Materialized View"})]})]},E.name)})})]}),c.jsxs(br,{value:"datamodels",className:"space-y-2",children:[c.jsx(En,{placeholder:"Search data models...",value:l,onChange:E=>u(E.target.value),className:"h-8 text-sm",disabled:y}),c.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:y?c.jsx("div",{className:"py-4 text-center text-sm",children:"Loading data models..."}):v?c.jsx(H1,{title:"Error loading data models",message:v.message||"Failed to load data models. Please try again.",onRetry:()=>window.location.reload()}):k.length===0?c.jsx("div",{className:"py-4 text-center text-sm",children:"No data models found"}):k.map(E=>{const M=n.some(T=>T.name===E.name&&T.type==="model");return c.jsxs("div",{className:"flex cursor-pointer items-start space-x-2 rounded p-2 hover:bg-muted",onClick:()=>S(E),children:[c.jsx(dn,{id:`dataModel-${E.name}`,checked:M,onCheckedChange:()=>S(E),onClick:T=>T.stopPropagation(),disabled:y}),c.jsxs("div",{className:"flex flex-1 cursor-pointer flex-col gap-1",children:[c.jsx(fe,{className:"cursor-pointer",children:E.name}),c.jsx("span",{className:"text-xs text-muted-foreground",children:E.description})]})]},E.name)})})]})]})})})]})]})]})}function GQe({dataSource:e,onDataSourceUpdate:t,onSelectionChange:n,selectedEntities:r,allowedDomainIds:s=[],isRestricted:o=!1,autoSelectedDomainId:i,onRegisterSelectAll:a}){var N;const[l,u]=w.useState(""),d=w.useCallback(S=>{const j={...e,connectionId:e.connectionId||"none",connectionType:e.connectionType||"none",mode:"semanticDomain",semanticDomainId:S};t({...j})},[e,t]);w.useEffect(()=>{i&&!(e!=null&&e.semanticDomainId)&&d(i)},[i,e==null?void 0:e.semanticDomainId,d]);const{semanticDomains:f,isPending:h,error:m}=LQe(),p=o?f.filter(S=>s.includes(S.id)):f,{datasets:g,isPending:b,error:x}=zQe(e==null?void 0:e.semanticDomainId),y=S=>{const j=r||[],k=j.some(E=>E.id===S.id&&E.type==="dataset");let _;if(k)_=j.filter(E=>!(E.id===S.id&&E.type==="dataset"));else{const E={id:S.id,datasetType:S.type,name:S.name||S.table,label:S.label,domainId:S.domainId,description:S.description,database:S.database,schema:S.schema,type:"dataset",connectionId:S.connectionId,connectionType:S.connectionType,dialect:S.dialect,datamodelId:S.datamodelId,sql:S.sql};_=[...j,E]}n==null||n(_)},v=g.filter(S=>S.name.toLowerCase().includes(l.toLowerCase())),C=w.useCallback(()=>{if(!n||!(e!=null&&e.semanticDomainId))return;const S=r||[],k=v.filter(E=>!S.some(M=>M.id===E.id&&M.type==="dataset")).map(E=>({id:E.id,datasetType:E.type,name:E.name||E.table,label:E.label,domainId:E.domainId,description:E.description,database:E.database,schema:E.schema,type:"dataset",connectionId:E.connectionId,connectionType:E.connectionType,dialect:E.dialect,datamodelId:E.datamodelId,sql:E.sql})),_=[...S,...k];n(_)},[v,r,e==null?void 0:e.semanticDomainId,n]);return w.useEffect(()=>{a&&a(C)},[a,C]),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-sm font-medium",children:"Semantic Domain"}),c.jsxs(lt,{value:(e==null?void 0:e.semanticDomainId)||"",onValueChange:d,disabled:h||o&&!!i,children:[c.jsx(st,{className:"w-full",children:c.jsx(ct,{placeholder:h?"Loading semantic domains...":o&&i?"Loading domain...":"Select semantic domain...",children:((N=p.find(S=>S.id===(e==null?void 0:e.semanticDomainId)))==null?void 0:N.label)||"Select semantic domain"})}),c.jsx(ot,{children:p.map(S=>c.jsx(we,{className:"hover:bg-muted",value:S.id,children:c.jsxs("div",{className:"flex flex-col items-start",children:[c.jsx("span",{className:"font-medium",children:S.label}),c.jsx("span",{className:"text-xs",children:S.description})]})},S.id))})]}),m&&c.jsx(H1,{title:"Error loading semantic models",message:m.message})]}),(e==null?void 0:e.semanticDomainId)&&c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{className:"text-sm font-medium text-gray-700",children:"Datasets"}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(En,{placeholder:"Search datasets...",value:l,onChange:S=>u(S.target.value),className:"h-8 text-sm",disabled:b}),c.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:b?c.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:"Loading datasets..."}):x?c.jsx(H1,{title:"Error loading datasets",message:x.message||"Failed to load datasets. Please try again.",onRetry:()=>window.location.reload()}):v.length===0?c.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:l?"No datasets match your search":"No datasets available"}):v.map(S=>{const j=r.some(k=>k.id===S.id&&k.type==="dataset");return c.jsxs("div",{className:"flex cursor-pointer items-start space-x-2 rounded p-2 hover:bg-gray-50",onClick:()=>y(S),children:[c.jsx(dn,{id:`dataset-${S.id}`,checked:j,onCheckedChange:()=>y(S),onClick:k=>k.stopPropagation(),disabled:b}),c.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[c.jsx(fe,{className:"cursor-pointer font-medium",children:S.label||S.name}),c.jsx("span",{className:"text-xs text-gray-500",children:S.description})]})]},S.label||S.name)})})]})]})]})}function uP({open:e,onOpenChange:t,dataSource:n,dialogMode:r,incomingSelectedEntities:s}){const{tokenProps:o}=Xe(),{allowedSemanticDomains:i}=o,[a,l]=w.useState([]),{updateDataSource:u}=Nr(),d=Q(M=>M.isVisualEditing),f=Q(M=>M.dashboard.aiContext),{setAiContext:h}=Ht(),m=w.useRef(null),[p,g]=w.useState(!1),b=i&&i.length>0,x=!b,y=b&&i.length===1?i[0]:void 0,v=w.useCallback(M=>{const T=M;u({...n,connectionId:(n==null?void 0:n.connectionId)||"",connectionType:(n==null?void 0:n.connectionType)||"",mode:T,selectedEntities:(n==null?void 0:n.selectedEntities)||[],...T!=="semanticDomain"&&{semanticDomainId:void 0}})},[n,u]),C=w.useCallback(M=>{u({...n,...M})},[n,u]);w.useEffect(()=>{b&&n.mode!=="semanticDomain"&&v("semanticDomain")},[b,n.mode,v]),w.useEffect(()=>{y&&!n.semanticDomainId&&C({semanticDomainId:y})},[y,n.semanticDomainId,C]),w.useEffect(()=>{e?l(s||[]):(m.current=null,g(!1))},[e,n==null?void 0:n.selectedEntities,r,u,s,n]);const N=M=>{const T=a.filter(P=>!(P.name===M.name&&P.type===M.type));l(T)},S=()=>{l([])},j=w.useCallback(M=>{l(M)},[]),k=w.useCallback(()=>{m.current&&m.current()},[]),_=w.useCallback(M=>{m.current=M,g(!0)},[]);function E(){var M,T;if(r==="aiContext")d&&u(n),h({...f,selectedEntities:a}),t(!1);else if(r==="dataSource"){if(n.mode==="semanticDomain"){const P=(M=a==null?void 0:a[0])==null?void 0:M.connectionId,F=(T=a==null?void 0:a[0])==null?void 0:T.connectionType;u({...n,connectionId:P,connectionType:F,selectedEntities:a})}else u({...n,selectedEntities:a});t(!1)}}return c.jsx(Xr,{open:e,onOpenChange:t,children:c.jsx(Vr,{className:"flex max-w-2xl flex-col",children:c.jsxs("div",{children:[c.jsxs(Hr,{className:"flex-shrink-0",children:[c.jsx(Ur,{children:r==="aiContext"?"Data Context":"Select Data Source"}),c.jsx(ls,{children:r==="aiContext"?"Set the overall data scope for the dashboard":"Select data sets to analyze"})]}),c.jsx("div",{className:"flex-1 grow overflow-y-auto py-4",children:c.jsxs("div",{className:"space-y-4",children:[x&&c.jsx("div",{className:"space-y-2",children:c.jsx(zs,{defaultValue:(n==null?void 0:n.mode)||"database",value:(n==null?void 0:n.mode)||"database",onValueChange:v,className:"w-full",children:c.jsxs(vs,{className:"grid w-full grid-cols-2",children:[c.jsx(sn,{value:"database",children:"Direct Source"}),c.jsx(sn,{value:"semanticDomain",children:"Semantic Domain"})]})})}),(n==null?void 0:n.mode)==="semanticDomain"&&c.jsx(GQe,{dataSource:n,onDataSourceUpdate:C,selectedEntities:a,onSelectionChange:j,allowedDomainIds:i||[],isRestricted:b,autoSelectedDomainId:y,onRegisterSelectAll:_}),(n==null?void 0:n.mode)==="database"&&x&&c.jsx(YQe,{dataSource:n,onDataSourceUpdate:C,selectedEntities:a,onSelectionChange:j,onRegisterSelectAll:_})]})}),c.jsx($Qe,{selectedEntities:a,onDeselectEntity:N}),c.jsx(as,{className:"flex-shrink-0",children:c.jsx("div",{className:"flex w-full justify-between",children:c.jsxs("div",{className:"flex grow justify-end gap-2",children:[c.jsx(oe,{variant:"outline",onClick:k,disabled:!p,children:"Select All"}),c.jsx(oe,{variant:"outline",onClick:S,disabled:a.length===0,children:"Clear All"}),c.jsxs(oe,{variant:"outline",onClick:()=>t(!1),children:[c.jsx(kt,{className:"mr-2 h-4 w-4"}),"Close"]}),c.jsxs(oe,{onClick:E,children:[c.jsx(Fr,{className:"mr-2 h-4 w-4"}),"Accept"]})]})})})]})})})}function KQe({onFilesSelected:e,disabled:t=!1,currentFileCount:n=0,className:r}){const s=w.useRef(null),o=async a=>{const l=Array.from(a.target.files||[]);if(l.length===0)return;const u=bl-n;if(l.length>u){qe.error(`You can only attach ${bl} files per message. You have ${u} slot(s) remaining.`);return}const{valid:d,errors:f}=gee(l);if(f.forEach(({file:h,error:m})=>{qe.error(`${h.name}: ${m}`)}),d.length>0)try{const h=await Promise.all(d.map(m=>JA(m)));e(h)}catch(h){console.error("Failed to process files:",h),qe.error("Failed to process one or more files")}s.current&&(s.current.value="")},i=()=>{var a;(a=s.current)==null||a.click()};return c.jsxs(c.Fragment,{children:[c.jsx("input",{ref:s,type:"file",multiple:!0,accept:".png,.jpg,.jpeg,.gif,.webp,.pdf,.txt,.md,.csv,.json,.xml,.js,.jsx,.ts,.tsx,.py,.sql",onChange:o,className:"hidden",disabled:t||n>=bl}),c.jsx(oe,{variant:"secondary",size:"sm",className:`h-7 px-2 ${r}`,onClick:i,disabled:t||n>=bl,title:n>=bl?`Maximum ${bl} files allowed`:"Attach files",children:c.jsx(CM,{className:"h-4 w-4 text-muted-foreground"})})]})}function ZQe({children:e,onFilesDropped:t,disabled:n=!1,currentFileCount:r=0,className:s}){const[o,i]=w.useState(!1),a=w.useCallback(f=>{f.preventDefault(),f.stopPropagation(),n||i(!0)},[n]),l=w.useCallback(f=>{f.preventDefault(),f.stopPropagation();const h=f.currentTarget.getBoundingClientRect(),m=f.clientX,p=f.clientY;(m<h.left||m>=h.right||p<h.top||p>=h.bottom)&&i(!1)},[]),u=w.useCallback(f=>{f.preventDefault(),f.stopPropagation()},[]),d=w.useCallback(async f=>{if(f.preventDefault(),f.stopPropagation(),i(!1),n)return;const h=Array.from(f.dataTransfer.files);if(h.length===0)return;const m=bl-r;if(h.length>m){qe.error(`You can only attach ${bl} files per message. You have ${m} slot(s) remaining.`);return}const{valid:p,errors:g}=gee(h);if(g.forEach(({file:b,error:x})=>{qe.error(`${b.name}: ${x}`)}),p.length>0)try{const b=await Promise.all(p.map(x=>JA(x)));t(b),qe.success(`${b.length} file(s) attached successfully`)}catch(b){console.error("Failed to process files:",b),qe.error("Failed to process one or more files")}},[n,r,t]);return c.jsxs("div",{className:X("relative",s),onDragEnter:a,onDragLeave:l,onDragOver:u,onDrop:d,children:[e,o&&!n&&c.jsx("div",{className:"pointer-events-none absolute inset-0 z-50 flex items-center justify-center rounded-lg border-2 border-dashed border-primary bg-primary/5 backdrop-blur-sm",children:c.jsxs("div",{className:"flex flex-col items-center gap-2",children:[c.jsx(MM,{className:"h-8 w-8 text-primary"}),c.jsx("p",{className:"text-sm font-medium text-primary",children:"Drop files here to upload"}),c.jsxs("p",{className:"text-xs text-muted-foreground",children:[bl-r," slot(s) available"]})]})})]})}const dP=w.forwardRef(({input:e,setInput:t,handleInputChange:n,handleSubmit:r,isLoading:s,stop:o,onFocus:i,status:a,assistantType:l},u)=>{const[d,f]=w.useState(!1),[h,m]=w.useState(!1),[p,g]=w.useState(!1),b=w.useRef(null),x=pp();uje(),cje();const{setCurrentAIContext:y,updateSelectedEntities:v,setReasoningEffort:C,setShowReasoning:N}=fS(),{queueMessage:S}=gp(),{addFileAttachment:j,removeFileAttachment:k,clearFileAttachments:_,getFileAttachments:E}=SI(),M=CI(l),T=$e(B=>B.card.dataSource),P=Q(B=>B.dashboard.aiContext),F=Q(B=>{var G;return(G=B.dashboard.aiContext)==null?void 0:G.selectedEntities});w.useEffect(()=>{u&&"current"in u&&(u.current=b.current)},[u]);const A=w.useCallback(()=>{const B=b.current;if(B){if(!e||e.length===0){B.style.height="10px";return}B.style.height="auto";const G=Math.min(Math.max(B.scrollHeight,10),200);B.style.height=`${G}px`}},[e]);w.useEffect(()=>{A()},[A]),w.useEffect(()=>{const B=setTimeout(()=>{A()},0);return()=>clearTimeout(B)},[A]);const $=()=>{const B=e.trim();!B&&M.length===0||(a!=="ready"?(S(l,B,M),t(""),_(l)):r({preventDefault:()=>{}}))},q=B=>{B.key==="Enter"&&!B.shiftKey&&(B.preventDefault(),$()),B.key==="@"&&(U(),f(!0))},W=w.useCallback(B=>{const G=vqe(B.nativeEvent);G.length>0&&(B.preventDefault(),G.forEach(async Z=>{const J=await JA(Z);j(l,J)}))},[j,l]),z=w.useCallback(B=>{B.forEach(G=>{j(l,G)})},[j,l]),I=w.useCallback(B=>{B.forEach(G=>{j(l,G)})},[j,l]),L=w.useCallback(B=>{k(l,B)},[k,l]),O=B=>{if(x.selectedEntities.some(Z=>Z.id&&Z.id===B.id||Z.name===B.name)){const Z=x.selectedEntities.filter(J=>!(J.id&&J.id===B.id||J.name===B.name));y({selectedEntities:Z})}else{const Z=[...x.selectedEntities,B];y({selectedEntities:Z})}},R=B=>{O(B)},H=B=>{var J;if(!x.selectedEntities.some(K=>K.id&&K.id===B.id||K.name===B.name)){const K=[...x.selectedEntities,B];y({selectedEntities:K})}const Z="label"in B?B.label:B.name;t(e+`@${Z} `),f(!1),(J=b.current)==null||J.focus()},V=B=>{const G=x.selectedEntities.filter(K=>!(K.id&&K.id===B.id||K.name===B.name));y({selectedEntities:G});const J=`@${"label"in B?B.label:B.name}`;e.includes(J)&&t(e.replace(J,"").trim())},Y=B=>{const G=new Set(B.map(K=>K.id||K.name)),Z=x.selectedEntities.filter(K=>!G.has(K.id||K.name));y({selectedEntities:Z});let J=e;B.forEach(K=>{const se=`@${"label"in K?K.label:K.name}`;J=J.replace(se,"").trim()}),t(J)},U=w.useCallback(()=>{x.selectedEntities.length===0&&y({selectedEntities:(P==null?void 0:P.selectedEntities)||[]})},[x.selectedEntities.length,P==null?void 0:P.selectedEntities,y]);return c.jsxs(ZQe,{onFilesDropped:z,currentFileCount:M.length,disabled:s,className:"space-y-4",children:[c.jsx(FQe,{entities:x.selectedEntities,availableEntities:F||[],onRemoveEntity:V,onRemoveEntities:Y}),M.length>0&&c.jsx(wqe,{files:M,onRemove:L,showRemove:!s,className:"mb-2"}),c.jsxs("div",{className:"rounded-lg border border-border bg-background shadow-sm focus-within:ring-1 focus-within:ring-foreground/40",children:[c.jsx("textarea",{ref:b,value:e,onChange:n,onKeyDown:q,onPaste:W,onFocus:()=>{A(),i==null||i()},placeholder:"Ask a question...",className:"max-h-[200px] min-h-[40px] w-full resize-none overflow-y-auto border-0 bg-transparent px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground/50 focus:outline-none focus:ring-0",style:{height:"40px",lineHeight:"1.5"}}),c.jsxs("div",{className:"flex items-center justify-between border-foreground/10 px-3 py-2",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[l==="dashboard"&&c.jsxs(As,{open:d,onOpenChange:B=>{B&&U(),f(B)},children:[c.jsx(Ps,{asChild:!0,children:c.jsx(oe,{variant:"secondary",size:"sm",className:"h-7 px-2",title:"Add entity",children:c.jsx(Pie,{className:"h-4 w-4 text-muted-foreground"})})}),c.jsx(Fs,{className:"w-80 p-0",align:"start",side:"top",sideOffset:8,onOpenAutoFocus:B=>B.preventDefault(),children:c.jsx(AQe,{isOpen:!0,onSelect:O,onDeselect:R,onClose:()=>{var B;f(!1),(B=b.current)==null||B.focus()},availableEntities:F||[],selectedEntities:x.selectedEntities,onTabComplete:H,onSelectAll:()=>{F&&y({selectedEntities:F})},onRemoveAll:()=>{y({selectedEntities:[]})},onAddContext:()=>{f(!1),m(!0)}})})]}),c.jsx(KQe,{onFilesSelected:I,disabled:s,currentFileCount:M.length})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[s&&c.jsx(oe,{className:"rounded-full",size:"sm",onClick:o,children:c.jsx(Zie,{className:"size-3.5 bg-background"})}),!s&&c.jsx(oe,{disabled:!e.trim()&&M.length===0,size:"sm",variant:a!=="ready"?"secondary":"default",onClick:$,title:a!=="ready"?"Message will be queued":void 0,children:c.jsx(J8,{className:"size-4"})})]})]})]}),c.jsx(uP,{incomingSelectedEntities:x.selectedEntities,open:h,onOpenChange:m,dataSource:T||fN,dialogMode:"aiContext"})]})});dP.displayName="ChatInputWithContext";function Rte({assistantType:e,className:t}){const n=dY(e),{removeFromQueue:r}=gp();return n.length===0?null:c.jsxs("div",{className:X("space-y-2",t),children:[c.jsxs("div",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[c.jsx(Kl,{className:"h-3 w-3"}),c.jsxs("span",{children:["Pending messages (",n.length,")"]})]}),c.jsx("div",{className:"space-y-2",children:n.map(s=>c.jsx("div",{className:"group relative rounded-lg border border-dashed border-muted-foreground/30 bg-muted/30 px-3 py-2 text-sm animate-in fade-in-0 slide-in-from-bottom-1",children:c.jsxs("div",{className:"flex items-start justify-between gap-2",children:[c.jsx("div",{className:"flex-1 space-y-1",children:c.jsx("p",{className:"break-words text-foreground/70",children:s.text})}),c.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 opacity-0 transition-opacity group-hover:opacity-100",onClick:()=>r(e,s.id),title:"Remove from queue",children:c.jsx(kt,{className:"h-3 w-3"})})]})},s.id))})]})}function Ate({assistantType:e,status:t,isLoading:n,sendMessage:r}){const s=dY(e),{dequeueMessage:o}=gp();w.useEffect(()=>{if(t!=="ready"||n||!(s&&s.length>0))return;const a=o(e);a&&r({role:"user",parts:[{type:"text",text:a.text}]})},[t,n,s,o,r,e])}function Pte(e,t={}){const{threshold:n=50,behavior:r="smooth",forceScrollOnStream:s=!0,isStreaming:o=!1}=t,i=w.useRef(null),[a,l]=w.useState(!0),[u,d]=w.useState(!0),[f,h]=w.useState(!1),[m,p]=w.useState(0),g=w.useRef(0),b=w.useRef(!1),x=w.useRef(0),y=w.useRef(a),v=w.useRef(void 0),C=w.useRef({key:null,count:0,length:0}),N=w.useCallback(()=>{const _=i.current;return _?_.scrollHeight-_.scrollTop-_.clientHeight:0},[]),S=w.useCallback((_={})=>{if(!i.current)return;const{force:M=!1,instant:T=!1}=_;if(!M&&!y.current||!a&&!M)return;const P=T||r==="auto"||r==="instant"?"auto":r;v.current&&cancelAnimationFrame(v.current),b.current=!0,v.current=requestAnimationFrame(()=>{if(!M&&!y.current){b.current=!1,v.current=void 0;return}const F=i.current;if(!F){b.current=!1,v.current=void 0;return}const A=F.scrollHeight;P==="smooth"&&"scrollTo"in F?F.scrollTo({top:A,behavior:P}):F.scrollTop=A,g.current=F.scrollTop,d(!0),l(!0),y.current=!0,h(!1),p(0),b.current=!1,v.current=void 0})},[r,a]),j=w.useCallback(()=>{const _=i.current;if(!_)return;const E=g.current,M=_.scrollTop,T=M-E;if(g.current=M,T<-1){v.current&&(cancelAnimationFrame(v.current),v.current=void 0),b.current=!1,y.current=!1,l(!1),d(!1);return}if(b.current)return;const P=N()<=n;d(P),l(P),y.current=P,P&&(h(!1),p(0))},[N,n]),k=w.useCallback(()=>{p(0),h(!1)},[]);return w.useEffect(()=>{y.current=a},[a]),w.useEffect(()=>{const _=i.current;if(!_||!e||e.length===0){h(!1),p(0),C.current={key:null,count:0,length:0},g.current=_?_.scrollTop:0,x.current=_?_.scrollHeight:0;return}g.current=_.scrollTop,x.current=_.scrollHeight;const E=C.current,M=e[e.length-1],T=(M==null?void 0:M.id)??(M==null?void 0:M.messageId)??(M==null?void 0:M.createdAt)??(M==null?void 0:M.timestamp)??e.length,P=Array.isArray(M==null?void 0:M.parts)?M.parts.reduce((z,I)=>I?typeof I=="string"?z+I.length:typeof I.text=="string"?z+I.text.length:typeof I.content=="string"?z+I.content.length:typeof I.value=="string"?z+I.value.length:z:z,0):typeof(M==null?void 0:M.content)=="string"?M.content.length:typeof(M==null?void 0:M.text)=="string"?M.text.length:0,F=e.length>E.count,A=T!==E.key,$=P>E.length,q=s&&(M==null?void 0:M.role)==="assistant"&&!F&&(A||$),W=o||q;if(C.current={key:T,count:e.length,length:P},a&&(F||A||$||W)){S({force:!1,instant:W});return}if(!a&&F){const z=e.length-E.count;z>0&&(h(!0),p(I=>I+z))}else!a&&$&&(h(!0),p(z=>z>0?z:1))},[e,S,a,s,o]),w.useEffect(()=>{S({instant:!0})},[S]),w.useEffect(()=>{if(typeof ResizeObserver>"u")return;const _=i.current;if(!_)return;x.current=_.scrollHeight;const E=new ResizeObserver(()=>{const M=i.current;if(!M)return;const T=x.current,P=M.scrollHeight;x.current=P,!b.current&&y.current&&P>T&&S({force:!1,instant:!0})});return E.observe(_),()=>{E.disconnect()}},[S]),w.useEffect(()=>()=>{v.current&&cancelAnimationFrame(v.current)},[]),{scrollRef:i,isAutoScrollEnabled:a,isAtBottom:u,hasNewMessages:f,newMessageCount:m,scrollToBottom:S,handleScroll:j,resetNewMessageCount:k}}function Fte(e,t={}){const{maxVisibleMessages:n=50,initialLoadCount:r=20,loadMoreCount:s=10}=t,[o,i]=w.useState(r),a=w.useMemo(()=>{if(e.length<=o)return e;const h=Math.max(0,e.length-o);return e.slice(h)},[e,o]),l=e.length>o,u=o>=e.length,d=w.useCallback(()=>{i(h=>Math.min(h+s,n))},[s,n]),f=w.useCallback(()=>{i(r)},[r]);return w.useEffect(()=>{u&&e.length>o&&o<n&&i(Math.min(e.length,n))},[e.length,o,u,n]),{visibleMessages:a,hasMoreMessages:l,totalMessageCount:e.length,loadMoreMessages:d,resetMessageWindow:f,isShowingAll:u}}function Ote(e){var n;if(!e||e.length===0)return{hasActiveTools:!1};const t=e[e.length-1];if(!(t!=null&&t.parts))return{hasActiveTools:!1};for(const r of t.parts){if(r.type==="reasoning"&&"state"in r&&r.state==="streaming")return{hasActiveTools:!0,activeToolText:r.text||"Reasoning...",toolType:"reasoning"};if(((n=r.type)!=null&&n.startsWith("tool-")||r.type==="dynamic-tool")&&"state"in r&&["input-streaming","input-available"].includes(r.state)){const s=r,o=s.state;return{hasActiveTools:!0,activeToolText:bee(s.type,o),toolType:s.type}}}return{hasActiveTools:!1}}const XQe=[{title:"Show top 3 insights",subtitle:"from this dataset"},{title:"Create a bar chart for",subtitle:"sales by product category"}];function QQe({open:e,setOpen:t,isFullscreen:n,onFullscreenChange:r,fullscreenContainer:s}){const[o,i]=w.useState(!1),[a,l]=w.useState(BT),[u,d]=w.useState(!1),[f,h]=w.useState(!1),[m,p]=w.useState(!1),g=n??m,{isLocalDev:b,isConsoleMode:x}=Zm(),y=w.useRef(null);Q(Ue=>Ue.dashboard.aiScopeTables),Q(Ue=>Ue.isDashboardEditing);const v=Q(Ue=>Ue.selectedSheetId),{setDataSource:C}=Nr(),{addFrame:N,setSelectedFrameId:S,setIsDashboardEditing:j}=Ht(),k=pp(),{setCurrentAIContext:_,updateSelectedEntities:E,setReasoningEffort:M,setShowReasoning:T}=fS(),{clearQueue:P}=gp(),{clearFileAttachments:F,getFileAttachments:A}=SI(),$=CI("dashboard"),q=Q(Ue=>Ue.dashboard.aiContext),W=$e(Ue=>Ue.card.dataSource),{assistantProfile:z}=_te(),I=Q(Ue=>Ue.handleOpenAssistantProfile),{sendMessage:L,isLoading:O,messages:R,setMessages:H,status:V,stop:Y,errorMessage:U,clearError:B}=RQe(),G=w.useCallback(Ue=>{r==null||r(Ue),n===void 0&&p(Ue)},[n,r]),Z=w.useCallback(()=>{G(!g)},[g,G]);w.useEffect(()=>{if(!g)return;function Ue(Et){Et.key==="Escape"&&G(!1)}return window.addEventListener("keydown",Ue),()=>{window.removeEventListener("keydown",Ue)}},[g,G]);const[J,K]=w.useState(""),ee=Ue=>{K(Ue.target.value)};function se({sql:Ue,cardTitle:Et,connectionId:le,cardType:Re,python:_e,cardConfig:De,dataSource:We,customVisualPreferences:ke}){if(!v)return;const ye={id:_r(),title:Et||"Title",preferences:{onClickFilter:[{columnIndex:0,expression:""}],chartOptions:{indexAxis:Re==="horizontalBar"?"y":"x"}},type:Re,sql:Ue,python:_e,dataSource:We,config:De,connectionId:le,customCardPreferences:ke?{url:ke.url,componentName:ke.componentName,pluginChartType:ke.pluginChartType,settings:ke.settings,type:"component"}:void 0},Ae={id:_r(),cards:[ye],activeCardId:ye.id};j(!0),N(v,Ae,"end"),S(Ae.id)}const ce=Ue=>{Ue.preventDefault();const Et=J.trim();if(!Et&&$.length===0)return;const le=[];Et&&le.push({type:"text",text:Et}),$.forEach(Re=>{Re.data&&le.push({type:"file",mediaType:Re.type,filename:Re.name,url:`data:${Re.type};base64,${Re.data}`})}),L({role:"user",parts:le}),K(""),F("dashboard"),re({force:!0})};w.useEffect(()=>{var Ue;e&&((Ue=y.current)==null||Ue.focus())},[e]),Ate({assistantType:"dashboard",status:V,isLoading:O,sendMessage:L});const{hasActiveTools:he}=Ote(R),{visibleMessages:Se,hasMoreMessages:be,totalMessageCount:Te,loadMoreMessages:ae,resetMessageWindow:ie}=Fte(R,{maxVisibleMessages:15,initialLoadCount:10,loadMoreCount:5}),{scrollRef:xe,isAtBottom:de,hasNewMessages:Ce,newMessageCount:ge,scrollToBottom:re,handleScroll:me,resetNewMessageCount:Oe}=Pte(Se,{threshold:50,behavior:"smooth",isStreaming:O});function Pe(Ue){at();const Et={role:"user",parts:[{type:"text",text:Ue.title+" "+Ue.subtitle}]};L(Et)}function Ie(Ue){at(),L({role:"user",parts:[{type:"text",text:Ue}]})}function He(Ue){at(),L({role:"user",parts:[{type:"text",text:Ue}]}),re({force:!0})}const Je=w.useCallback(async()=>{const Ue=JSON.stringify(R??[],null,2);try{if(typeof navigator>"u"||!navigator.clipboard)throw new Error("Clipboard API unavailable");await navigator.clipboard.writeText(Ue),qe.success("Conversation copied")}catch(Et){console.error("Failed to copy conversation",Et),qe.error("Unable to copy conversation")}},[R]);function at(){k.selectedEntities.length===0&&_({selectedEntities:(q==null?void 0:q.selectedEntities)||[]})}const gt=(J==null?void 0:J.length)===0&&(R==null?void 0:R.filter(Ue=>Ue.role==="user").length)===0;function bt(){return c.jsx("div",{"data-role":"header",children:c.jsx("div",{className:"text-lg font-semibold",children:"Assistant"})})}function ft(){return c.jsxs(wf,{children:[c.jsx(Cf,{asChild:!0,children:c.jsx(Gc,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",children:c.jsx(Bm,{className:"size-3.5"})})}),c.jsxs(vu,{align:"end",children:[c.jsx(Dh,{children:"Options"}),c.jsx(Kd,{}),c.jsx(Og,{checked:o,onCheckedChange:i,children:"Token Usage"}),c.jsx(Og,{checked:a,onCheckedChange:l,children:"Tool Invocations"}),c.jsx(Og,{checked:u,onCheckedChange:d,children:"System Message"})]})]})}const Ut=c.jsxs("div",{"data-role":"dashboard-assistant",className:X("flex h-full grow flex-col justify-between break-words px-6 py-4",g&&"rounded-2xl border border-border/60 bg-background px-8 pb-6 pt-6 shadow-xl"),children:[c.jsxs("div",{"data-role":"header-section",className:"flex items-start justify-between gap-2",children:[bt(),I&&c.jsx(oe,{variant:"outline",size:"sm",className:"h-7 p-2",onClick:I,children:(z==null?void 0:z.name)||"Default Profile"}),c.jsxs("div",{"data-role":"header-actions",className:"flex items-center",children:[x&&ft(),a&&c.jsx(oe,{variant:"ghost",size:"sm",className:"ml-2 h-7 px-2 text-muted-foreground hover:text-foreground",onClick:Je,children:"Copy Conversation"}),c.jsx(Gc,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",tooltip:g?"Exit Fullscreen":"Expand",onClick:Z,children:g?c.jsx(wM,{className:"size-4"}):c.jsx(lC,{className:"size-4"})}),c.jsx(Gc,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",tooltip:"New Chat",onClick:()=>{H([]),P("dashboard"),B(),ie()},children:c.jsx(uC,{className:"size-4"})}),c.jsx(Gc,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",onClick:()=>{t(!1)},children:c.jsx(kt,{className:"size-4"})})]})]}),c.jsxs(nl,{"data-role":"dashboard-assistant-scroll-area",ref:xe,className:"mt-4 flex flex-1 basis-0 flex-col flex-wrap justify-end pr-2",onScroll:me,children:[c.jsxs("div",{className:"space-y-3 pb-4",children:[be&&c.jsx("div",{className:"flex justify-center py-2",children:c.jsxs(oe,{variant:"outline",size:"sm",onClick:ae,className:"text-xs",children:["Load ",Math.min(5,Te-Se.length)," ","more messages (",Te-Se.length," ","hidden)"]})}),c.jsx(yee,{showTools:a,showSystemMessage:u,messages:Se,onAddToDashboard:se,onQuickReply:He,disableQuickReplies:O}),!he&&c.jsx(xee,{status:V,errorMessage:U})]}),c.jsx(vi,{orientation:"horizontal"})]}),e&&!de&&c.jsx("div",{className:"absolute bottom-24 right-8 z-10",children:c.jsxs(oe,{onClick:()=>{re({force:!0}),Oe()},size:"sm",variant:"secondary",className:"rounded-full shadow-lg","aria-label":"Scroll to bottom",children:[c.jsx(ur,{className:"h-4 w-4"}),Ce&&ge>0&&c.jsx("span",{className:"ml-1.5 flex h-5 w-5 items-center justify-center rounded-full bg-primary text-xs text-primary-foreground",children:ge>9?"9+":ge})]})}),c.jsxs("div",{className:"space-y-3",children:[!z&>&&c.jsx(vee,{onClick:Pe,placeholders:XQe}),c.jsx("div",{children:gt&&z&&c.jsx(Tte,{seedQuestions:z.seedQuestions||[],handleSeedQuestionClick:Ie})}),c.jsx(Rte,{assistantType:"dashboard",className:"mb-3"}),c.jsx(dP,{ref:y,setInput:K,stop:Y,input:J,handleInputChange:ee,handleSubmit:Ue=>{at(),ce(Ue),re({force:!0})},isLoading:O,status:V,assistantType:"dashboard",onFocus:()=>{}})]}),c.jsx(uP,{incomingSelectedEntities:(q==null?void 0:q.selectedEntities)||[],open:f,onOpenChange:h,dataSource:W||fN,dialogMode:"aiContext"})]});return g&&s?Qn.createPortal(c.jsx("div",{className:"pointer-events-auto absolute inset-0 z-50 flex bg-background px-6 pb-6 pt-[calc(var(--app-header-height,15px)+1rem)]",children:c.jsx("div",{className:"flex h-full w-full",children:Ut})}),s):Ut}function JQe(e){const t=e.current,{getSelectedFrame:n,addFrame:r,setSelectedFrameId:s}=Ht(),o=Q(d=>d.dashboard.sheets),a=Q(d=>d.selectedSheetId)??(o==null?void 0:o[0].id),l=Q(d=>d.isDashboardEditing),u=Q(d=>d.isVisualEditing);w.useEffect(()=>{if(!l||u)return;async function d(m){const p=m.ctrlKey||m.metaKey;p&&m.key==="c"?(await f(),qe.success("Card copied to clipboard"),m.preventDefault()):p&&m.key==="v"&&(await h(),m.preventDefault())}async function f(){try{const m=n();m&&await navigator.clipboard.writeText(JSON.stringify(m))}catch(m){console.error("Failed to copy text:",m)}}async function h(){if(!a)return null;try{const m=await navigator.clipboard.readText();try{const p=JSON.parse(m);if(p!=null&&p.id){const g=tA(p),b=g.cards.findIndex(x=>x.id===g.activeCardId);b!==-1&&(g.cards[b].title=`${g.cards[b].title} (Copy)`),r(a,g),s(g.id),qe.success("Card pasted from clipboard")}}catch(p){console.error("Failed to parse clipboard contents: ",p)}return m}catch(m){return console.error("Failed to paste text:",m),null}}return t==null||t.addEventListener("keydown",d),()=>t==null?void 0:t.removeEventListener("keydown",d)},[r,n,s,a,l,u,t])}function eJe(e,t){switch(e.interactionMode){case"drillToDetail":tJe(e,t);break;case"drillThrough":nJe(e,t);break;case"drillToURL":rJe(e);break;case"inlineDrill":console.warn("Inline drill execution not yet implemented");break;case"clickFilter":case"drillDown":case"dynamicDrill":break;default:console.warn("Unknown interaction mode:",e.interactionMode)}}function tJe(e,t){var l;const{targetInsightId:n,contextMode:r,displayMode:s,filterGroups:o}=e;if(!n){console.warn("drillToDetail event missing targetInsightId");return}const i=r||"full";let a=[];switch(i){case"interactionFilters":a=o.flatMap(u=>u.filters);break;case"full":{const u=((l=t.getCurrentFilters)==null?void 0:l.call(t))||[],d=o.flatMap(f=>f.filters);a=[...u,...d];break}case"none":default:a=[];break}s==="replace-card"?t.replaceCardContent({cardId:e.sourceCardId,insightId:n,filters:a,contextMode:r}):t.openInsightModal({insightId:n,filters:a,contextMode:r})}function nJe(e,t){var u,d;const{targetDashboardId:n,contextMode:r="interactionFilters",filterGroups:s,sourceCardId:o}=e;if(!n){console.warn("[DrillThrough] Event missing targetDashboardId. This interaction needs to be reconfigured with a target dashboard.",e);return}const i=s.flatMap(f=>f.filters),a=((u=t.getCurrentDashboardId)==null?void 0:u.call(t))||"",l=(d=t.getCurrentDashboardTitle)==null?void 0:d.call(t);t.setGlobalDrillContext&&t.setGlobalDrillContext({filters:i,contextMode:r,sourceDashboardId:a,sourceDashboardTitle:l,targetDashboardId:n}),t.setPendingDrillThrough&&t.setPendingDrillThrough({targetDashboardId:n,sourceDashboardId:a,sourceDashboardTitle:l,filters:i,contextMode:r})}function rJe(e){const{url:t}=e;if(!t){console.warn("drillToURL event missing url");return}try{new URL(t)}catch(n){console.error("Invalid URL:",t,n);return}window.open(t,"_blank","noopener,noreferrer")}function sJe({open:e,onOpenChange:t,insightId:n,filters:r,filterDefinitions:s,contextMode:o,cardTitle:i,cardDescription:a}){return c.jsx(Xr,{open:e,onOpenChange:t,children:c.jsxs(Vr,{className:"max-h-[90vh] max-w-[90vw] p-6",children:[c.jsxs(Hr,{children:[c.jsx(Ur,{children:i||"Insight Detail"}),c.jsx(ls,{children:a||"View detailed insight data with applied filters"})]}),c.jsx(zX,{filters:r,filterDefinitions:s,contextMode:o}),c.jsx("div",{className:"h-[400px] flex-1 overflow-auto",children:n?c.jsx(UX,{insightId:n,filters:r,contextMode:o}):c.jsx("div",{className:"flex items-center justify-center p-12 text-muted-foreground",children:"No insight selected"})})]})})}function oJe(){const e=$t(C=>C.interactionStates),t=$t(C=>C.setInteractionState),n=$t(C=>C.clearLastInteractionEvent),r=$t(C=>C.replaceCardWithInsight),s=$t(C=>C.setPendingDrillThrough),o=$t(C=>C.pendingDrillThrough),i=$t(C=>C.clearPendingDrillThrough),{setSelectedSheetId:a,navigateWithDrill:l}=Ht(),{selectDashboard:u}=Ix(),d=Q(C=>C.dashboard),f=Q(C=>C.filterValues),{data:h,isLoading:m}=mB((o==null?void 0:o.targetDashboardId)||"",{enabled:!!(o!=null&&o.targetDashboardId)}),[p,g]=w.useState({open:!1,insightId:""}),b=WX(p.insightId,{enabled:p.open&&!!p.insightId}),x=w.useRef(new Set),y=w.useMemo(()=>({setSelectedSheetId:a,openInsightModal:({insightId:C,filters:N,contextMode:S})=>{g({open:!0,insightId:C,filters:N,filterDefinitions:(d==null?void 0:d.filters)||[],contextMode:S})},replaceCardContent:({cardId:C,insightId:N,filters:S,contextMode:j})=>{r(C,N,S,j)},getCurrentFilters:()=>f||[],navigateWithDrill:l,getCurrentDashboardId:()=>(d==null?void 0:d.id)||"",getCurrentDashboardTitle:()=>d==null?void 0:d.title,setPendingDrillThrough:s,setGlobalDrillContext:({filters:C,contextMode:N,sourceDashboardId:S,sourceDashboardTitle:j,targetDashboardId:k})=>{const E={sourceCardId:Ra,interactionMode:"clickFilter",filterGroups:[{filters:C}]},M={...li(),appliedClickFilters:[E],contextMode:N,sourceDashboardId:S,sourceDashboardTitle:j,targetDashboardId:k};t(Ra,M)}}),[a,r,f,l,d,s,t]);w.useEffect(()=>{Object.entries(e).forEach(([C,N])=>{if(N!=null&&N.lastInteractionEvent){const S=N.lastInteractionEvent,j=`${C}-${S.interactionMode}-${S.sourceCardId}-${Date.now()}`;if(x.current.has(j))return;x.current.add(j);try{eJe(S,y)}catch(k){console.error("Error executing interaction event:",k)}finally{n(C),setTimeout(()=>{x.current.delete(j)},5e3)}}})},[e,n,y]),w.useEffect(()=>{if(!(!o||!h||m))try{u(h),l(o.targetDashboardId,o.sourceDashboardId,o.sourceDashboardTitle,o.filters,o.contextMode),i()}catch(C){console.error("[DrillThrough] Error during automatic navigation:",C),i()}},[o,h,m,u,l,i]);const v=()=>{g({open:!1,insightId:""})};return c.jsxs(c.Fragment,{children:[c.jsx(sJe,{open:p.open,onOpenChange:v,insightId:p.insightId,filters:p.filters,filterDefinitions:p.filterDefinitions,contextMode:p.contextMode,cardTitle:b.title,cardDescription:b.description}),o&&m&&c.jsx("div",{className:"fixed inset-0 z-[51] flex items-center justify-center bg-background/80 backdrop-blur-sm",children:c.jsxs("div",{className:"flex flex-col items-center gap-3 rounded-lg border bg-background p-6 shadow-lg",children:[c.jsx(wn,{className:"h-8 w-8 animate-spin text-primary"}),c.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading dashboard..."})]})})]})}function iJe(e){return e.length===0?"":e.map(t=>{const n=t.field.label||t.field.name,r=t.operator,s=aJe(t.value);return r==="="?`${n} = ${s}`:`${n} ${r} ${s}`}).join(", ")}function aJe(e){return e==null?"null":Array.isArray(e)?e.join(", "):typeof e=="object"&&e.toString?e.toString():String(e)}function lJe(e){return e?`Back to ${e}`:"Back"}function cJe(){var x,y,v,C,N;const e=$t(S=>S.interactionStates[Ra]),t=Q(S=>S.actions.goBackFromDrill),n=Q(S=>S.actions.clearDrillContext),{selectDashboard:r}=Ix(),[s,o]=w.useState({x:16,y:16}),[i,a]=w.useState(!1),l=w.useRef({x:0,y:0});w.useEffect(()=>{if(!i)return;const S=k=>{o({x:k.clientX-l.current.x,y:k.clientY-l.current.y})},j=()=>{a(!1)};return document.addEventListener("mousemove",S),document.addEventListener("mouseup",j),()=>{document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",j)}},[i]);const u=e==null?void 0:e.sourceDashboardId,d=e==null?void 0:e.sourceDashboardTitle,f=((C=(v=(y=(x=e==null?void 0:e.appliedClickFilters)==null?void 0:x[0])==null?void 0:y.filterGroups)==null?void 0:v[0])==null?void 0:C.filters)||[],h=u?{id:u,title:d||"Previous Dashboard",description:"",isPrivate:!1,isPublic:!1,version:"",createdBy:null,createdByTenantUser:"",tenantId:"",projectId:"",createdAt:"",updatedAt:"",lastModified:"",lastModifiedBy:"",createdByUser:null,createdByTenantUserRel:{name:"",email:""},permissions:{canEdit:!0,canShare:!0,canDelete:!0},ownership:{status:"private",isOwner:!0,sharedCount:0,createdBy:{type:"user",userId:"",name:"",email:""}}}:null;if(!e||!((N=e.appliedClickFilters)!=null&&N.length))return null;const m=()=>{if(!h){console.warn("[DrillBack] No source dashboard in context");return}try{t(),r(h)}catch(S){console.error("[DrillBack] Error during back navigation:",S)}},p=()=>{n()},g=S=>{S.target.closest("button")||(a(!0),l.current={x:S.clientX-s.x,y:S.clientY-s.y})};iJe(f);const b=lJe(d);return c.jsx("div",{className:"fixed z-50 max-w-md",style:{left:0,top:0,transform:`translate(${s.x}px, ${s.y}px)`,transition:i?"none":void 0},children:c.jsxs("div",{className:"select-none rounded-lg border bg-background/95 p-3 shadow-lg backdrop-blur-sm",onMouseDown:g,style:{cursor:i?"grabbing":"grab"},children:[c.jsxs("div",{className:"mb-3 flex items-start justify-between gap-2",children:[c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Viewing:"}),c.jsx("div",{className:"flex flex-wrap gap-2",children:f.map((S,j)=>{const k=S.field.label||S.field.name,_=String(S.value);return c.jsxs(Ye,{variant:"secondary",className:"pointer-events-none text-xs",children:[k," = ",_]},j)})})]}),c.jsx(oe,{variant:"ghost",size:"sm",onClick:p,className:"h-6 w-6 cursor-pointer p-0",title:"Clear drill context",children:c.jsx(kt,{className:"h-3 w-3"})})]}),c.jsx("div",{className:"flex items-center gap-2 border-t pt-2",children:c.jsxs(oe,{variant:"secondary",size:"sm",onClick:m,disabled:!h,className:"w-full cursor-pointer",children:[c.jsx(R8,{className:"mr-2 h-4 w-4"}),b]})})]})})}function $te(){var Te;const{showAssistant:e,tokenProps:t}=Xe(),{preferences:n,isConsoleMode:r}=Zm(),s=((Te=n==null?void 0:n.cardDisplay)==null?void 0:Te.mode)==="print",o=w.useRef(null),i=w.useRef(null),[a,l]=w.useState(!1),{handleDragStart:u,isDraggingRef:d,getStyle:f,getPositionClasses:h}=m8e({initialPosition:"bottom-right"}),m=Fd(ae=>ae.setFullscreen),p=Fd(ae=>ae.setPanelOpen),g=Fd(ae=>ae.setContainer),b=aY("dashboard"),x=lY(),y=cY("dashboard"),v=b.isOpen,C=x==="dashboard",N=Q(ae=>ae.isVisualEditing),S=Q(ae=>ae.themeStyle),j=Q(ae=>{var ie;return(ie=ae.dashboard)==null?void 0:ie.sheets}),k=Q(ae=>ae.showFilters),_=Q(ae=>ae.isDashboardEditing),E=Q(ae=>ae.selectedSheetId),M=Q(ae=>{var ie,xe;return((xe=(ie=ae.dashboard)==null?void 0:ie.summary)==null?void 0:xe.position)||"top"}),T=Q(ae=>{var ie;return(ie=ae.dashboard)==null?void 0:ie.id}),P=Q(ae=>ae.isDashboardPanelOpen),F=Q(ae=>ae.actions.setIsDashboardPanelOpen),{getDefaultSheetId:A,setDefaultSheetId:$,clearDefaultSheetId:q}=_8(T),[W,z]=w.useState(null);SC(Gt.DASHBOARD);const{setSelectedSheetId:I,setSheetTitle:L,addSheet:O,setSheets:R}=Ht();JQe(i);const{setActiveAssistantType:H}=fS();w.useEffect(()=>{if(T){const ae=A();z(ae)}},[T,A]),w.useEffect(()=>{v?H("dashboard"):x==="dashboard"&&m(null)},[v,H,x,m]),w.useEffect(()=>{var ae;v||(ae=o.current)==null||ae.resize(0)},[v]);function V(ae){var ie,xe;ae?((ie=o.current)==null||ie.resize(40),p("dashboard",!0),H("dashboard")):(p("dashboard",!1),m(null),(xe=o.current)==null||xe.resize(0),H(null))}function Y(){const ae={id:_r(),title:"New Sheet"};O(ae),I(ae.id)}function U(ae,ie){if(!T)return;W===ae?(q(),z(null),qe.success("Default sheet cleared")):($(ae),z(ae),qe.success(`"${ie}" set as default sheet`))}function B(ae){var ie;ae<1?(p("dashboard",!1),m(null),H(null),(ie=o.current)==null||ie.resize(0)):(v||p("dashboard",!0),H("dashboard"))}function G(){return(S==null?void 0:S.canvasTheme)==="muted"||!(S!=null&&S.canvasTheme)?"hsl(var(--semaphor-muted))":(S==null?void 0:S.canvasTheme)==="clear"?"":S==null?void 0:S.canvasTheme}const Z=(ae,ie)=>{ae.dataTransfer.setData("tabIndex",ie.toString())},J=ae=>{ae.preventDefault()},K=(ae,ie)=>{const xe=ae.dataTransfer.getData("tabIndex");if(xe===ie.toString())return;const de=Array.from(j||[]),[Ce]=de.splice(parseInt(xe),1);de.splice(ie,0,Ce),R(de)},ee=t.orgUserId||t.tenantId&&t.endUserId&&t.endUserEmail,se=e===!0&&!s&&!v&&!N&&!k;function ce(){var ae,ie;if(j&&j.length>1||_)return c.jsxs(vs,{role:"tab-list",className:"flex h-12 w-0 min-w-full items-center justify-start gap-2 overflow-x-auto rounded-none border-b border-b-muted bg-transparent px-3",children:[r&&ee&&c.jsx(oe,{style:{borderRadius:S==null?void 0:S.controlInputRadius},variant:"outline","aria-label":"Manage Dashboards and Visuals",onClick:()=>{F(!P)},className:"h-8 shrink-0 p-2",children:P?c.jsx($8,{className:"h-4 w-4"}):c.jsx(L8,{className:"h-4 w-4"})}),j==null?void 0:j.map((xe,de)=>{const Ce=E===xe.id,ge=W===xe.id;return c.jsxs(sn,{draggable:!0,onDragStart:re=>Z(re,de),onDragOver:J,onDrop:re=>K(re,de),style:{borderRadius:S==null?void 0:S.controlInputRadius},onClick:()=>I(xe.id),className:"flex shrink-0 items-center gap-1 border px-2 py-1",value:xe.id,children:[c.jsx(Xb,{enabled:_&&Ce,text:xe.title,onSave:re=>L(xe.id,re),children:xe.title},xe.id),!_&&Ce&&c.jsx("div",{title:ge?"Clear default sheet":"Set as default sheet",children:c.jsx(jM,{className:X("ml-1 size-3 cursor-pointer transition-all",ge?"fill-yellow-500 text-yellow-500":"text-muted-foreground hover:text-foreground"),onClick:re=>{re.stopPropagation(),U(xe.id,xe.title||"Sheet")}})}),_&&Ce&&j.length>1&&c.jsx(kt,{className:"ml-1 size-3",onClick:()=>l(!0)})]},xe.id)}),_&&c.jsx("div",{style:{borderRadius:(ie=(ae=S==null?void 0:S.chart)==null?void 0:ae.options)==null?void 0:ie.borderRadius},className:"flex h-7 shrink-0 items-center justify-center border-none bg-muted p-2 hover:cursor-pointer dark:border-l-background",onClick:Y,children:c.jsx(Ir,{className:"size-3"})})]})}function he(){return c.jsx("div",{ref:i,style:{},className:"grow",children:j==null?void 0:j.map(ae=>c.jsx(br,{style:{backgroundColor:G()},className:X("mt-0",{}),value:ae.id,children:c.jsx($ze,{sheet:ae})},ae.id))})}function Se(){var ae;return c.jsxs(zs,{"data-role":"dashboard-tabs-container",className:X("relative flex h-full flex-col",S==null?void 0:S.dashboardTabsContainer),onValueChange:ie=>{I(ie)},value:E||((ae=j==null?void 0:j[0])==null?void 0:ae.id),children:[ce(),M==="top"&&c.jsx(G_,{}),c.jsx(nl,{"data-role":"dashboard-tabs-content",className:"flex-1 grow basis-0 overflow-y-auto",children:he()}),M==="bottom"&&c.jsx(G_,{}),c.jsx(p8e,{open:a,setOpen:l})]})}const be=w.useCallback(ae=>{g("dashboard",ae)},[g]);return j?c.jsxs(c.Fragment,{children:[c.jsx(oJe,{}),c.jsx(cJe,{}),c.jsxs("div",{className:"relative flex-1 basis-0 overflow-hidden",children:[c.jsxs(eJ,{className:X("flex-1 basis-0 overflow-y-auto transition-opacity",C&&"pointer-events-none opacity-0"),direction:"horizontal",children:[c.jsx(rT,{children:Se()}),e===!0&&c.jsxs(c.Fragment,{children:[c.jsx(h8e,{open:v,onTabClick:V,withHandle:!0,disabled:!v}),c.jsx(rT,{className:"flex grow","data-role":"dashboard-assistant-panel",onResize:B,defaultSize:v?40:0,ref:o,children:c.jsx("div",{className:"grow overflow-y-auto",children:c.jsx(QQe,{open:v,setOpen:V,isFullscreen:C,onFullscreenChange:ae=>m(ae?"dashboard":null),fullscreenContainer:y})})})]})]}),c.jsx("div",{ref:be,className:X("absolute inset-0",!C&&"pointer-events-none")}),se&&c.jsx("div",{className:X("absolute z-50 transition-all duration-300 ease-in-out",h().horizontal,h().vertical),style:f(),children:c.jsx(oe,{size:"sm",variant:"outline",className:"h-12 w-12 cursor-grab rounded-full border-border bg-background p-0 shadow-lg hover:bg-muted active:cursor-grabbing",onClick:()=>{d.current||V(!0)},onMouseDown:u,onTouchStart:u,title:"Open Assistant (drag to move)",children:c.jsx(cC,{className:"h-5 w-5"})})})]})]}):null}function fP({children:e}){return c.jsx(la,{style:{height:"100%",width:"100%"},children:c.jsx(Koe,{defaultTheme:"system",storageKey:"vite-ui-theme",children:c.jsx(zn,{delayDuration:0,children:e})})})}function Lte({children:e,preferences:t}){const{currentUser:n}=Ls(),r=w.useMemo(()=>{var s,o;return{preferences:t||{},isLocalDev:((s=t==null?void 0:t.uiMode)==null?void 0:s.developer)||!1,isConsoleMode:((o=t==null?void 0:t.uiMode)==null?void 0:o.console)||!1}},[t]);return c.jsx(W7.Provider,{value:r,children:c.jsx(hA,{displayPreferences:t==null?void 0:t.cardDisplay,currentUser:n,children:e})})}function uJe(e=2e3,t=500){const n=Nie(),[r,s]=w.useState(!1),[o,i]=w.useState(!1),a=w.useRef(null);return w.useEffect(()=>{const l=setTimeout(()=>s(!0),e);return()=>clearTimeout(l)},[e]),w.useEffect(()=>{if(r){if(n>0){i(!1),a.current&&(clearTimeout(a.current),a.current=null);return}return a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{i(!0)},t),()=>{a.current&&clearTimeout(a.current)}}},[r,n,t]),o}function hP({delayMs:e=2e3,quietMs:t=500,componentType:n,componentId:r}){const s=uJe(e,t);return w.useEffect(()=>(s&&(window.__SEMAPHOR_READY__={ready:!0,type:n,componentId:r||null,timestamp:Date.now()}),()=>{window.__SEMAPHOR_READY__={ready:!1,type:n,componentId:r||null,timestamp:Date.now()}}),[s,n,r]),c.jsx("div",{id:"idle-check","aria-hidden":"true",style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},children:s?"ready":""})}function zte(e){if(typeof window>"u")return null;const{preferences:t}=e;return c.jsx(sa,{FallbackComponent:LS,children:c.jsxs(aM,{dashboardProps:e,children:[c.jsx(hP,{componentType:"dashboard",componentId:e.id}),c.jsx(fP,{children:c.jsx(Lte,{preferences:t,children:c.jsx("main",{className:"flex h-full flex-col",children:c.jsx(NI,{...e,type:"dashboard",children:c.jsx($te,{})})})})})]})})}function K6(e,t){return e.map(n=>({...n,fieldScope:t}))}function dJe(e){const t=new Map;return e.forEach(n=>{const r=`${n.name}-${n.role||"unknown"}`;t.has(r)||t.set(r,n)}),Array.from(t.values())}function Z6(e){if(ac(e)||Jx(e))return e.expression}function mP(){const{columns:e,columnGroups:t,isLoading:n,hasError:r,error:s,refetch:o}=JD(),i=$e(g=>g.frame.calculatedFields),a=$e(g=>g.card.config),l=w.useMemo(()=>e.filter(g=>g.fieldScope==="domain"),[e]),u=w.useMemo(()=>e.filter(g=>g.fieldScope!=="domain"),[e]),d=w.useMemo(()=>i!=null&&i.length?K6(i,"dashboard"):[],[i]),f=w.useMemo(()=>{const g=new Map;return d.forEach(b=>{const x=`${b.name}-${b.role||"unknown"}`;g.set(x,b)}),g},[d]),h=w.useMemo(()=>{const g=((a==null?void 0:a.metricColumns)||[]).filter(ac),b=((a==null?void 0:a.groupByColumns)||[]).filter(Jx),y=dJe([...g,...b]).filter(v=>{const C=`${v.name}-${v.role||"unknown"}`,N=f.get(C);if(!N)return!0;const S=Z6(v),j=Z6(N);return S&&j?S!==j:!0});return K6(y,"card").map(v=>({...v,id:`card-source-${v.id}`}))},[a==null?void 0:a.groupByColumns,a==null?void 0:a.metricColumns,f]),m=w.useMemo(()=>[...l,...d,...h,...u],[h,u,d,l]),p=w.useMemo(()=>t.filter(g=>g.entityId!==Gz),[t]);return{columns:e,columnGroups:p,rawColumnGroups:t,columnFields:u,domainCalculatedFields:l,dashboardCalculatedFields:d,cardCalculatedFields:h,scopedFields:m,isLoading:n,hasError:r,error:s,refetch:o}}function pP(e){const{tokenProps:t,authToken:n}=Xe(),r=t==null?void 0:t.apiServiceUrl;return gn({queryKey:["joinability-map",e],queryFn:async()=>{if(!e||!(n!=null&&n.accessToken))return null;const s=`${r}/v1/domains/${e}/joinability`;return sr(s,n.accessToken)},enabled:!!e&&!!(n!=null&&n.accessToken)&&!!r,staleTime:5*60*1e3,gcTime:10*60*1e3,retry:2,retryDelay:s=>Math.min(1e3*2**s,3e4)})}function Bte(e,t,n){if(t==="source")return{isValid:!0};const r=Cr(e.dataType);if(n==="detailTable"&&t!=="detailColumns"&&t!=="sortBy")return{isValid:!1,reason:"Detail tables only accept columns"};if(n==="kpi"){if(t==="groupBy"&&r!=="date")return{isValid:!1,reason:"KPI Trend By only accepts date fields"};if(t==="metrics"&&r==="date")return{isValid:!1,reason:"KPI metrics cannot be date fields"}}return{isValid:!0}}function Vte(e,t,n,r,s){if(e!=="kpi"||s.length<3)return;const o=(t==null?void 0:t.groupByColumns)&&t.groupByColumns.length>0,i=s.some(a=>a.comparisonType&&a.comparisonType!=="none");!o&&!i||n(r,{groupByColumns:[],metricColumns:s.map(a=>({...a,comparisonType:"none",targetValue:void 0}))})}function fJe(e,t){return(e||[]).map(n=>({...n,id:t(n),label:n.label!==void 0?n.label:n.name}))}const Hte=e=>{var F;const t=(F=e==null?void 0:e.dataSource)==null?void 0:F.semanticDomainId,{data:n}=pP(t),{updateCardConfig:r,updateGroupByColumn:s,updateMetricColumn:o,updatePivotByColumn:i,updateSortByColumn:a,removeGroupByColumn:l,removeMetricColumn:u,removePivotByColumn:d,removeSortByColumn:f}=Nr(),h=$e(A=>A.card.type),m=e==null?void 0:e.id,p=(A,$)=>{if(A.id)return A.id;const q=A.qualifiedEntityName||A.entityName||$;return`${$}-${q}-${A.name}`},g=w.useCallback(A=>{if(!(e!=null&&e.config))return[];switch(A){case"groupBy":return(e.config.groupByColumns||[]).map($=>({...$,id:p($,"groupBy"),label:$.label!==void 0?$.label:$.name}));case"metrics":return(e.config.metricColumns||[]).map($=>({...$,id:p($,"metrics"),label:$.label!==void 0?$.label:$.name}));case"pivotBy":return(e.config.pivotByColumns||[]).map($=>({id:p($,"pivotBy"),name:$.name,dataType:$.dataType,label:$.label!==void 0?$.label:$.name,qualifiedEntityName:$.qualifiedEntityName,entityId:$.entityId,entityName:$.entityName,entityType:$.entityType}));case"sortBy":return(e.config.sortByColumns||[]).map($=>({id:p($,"sortBy"),name:$.name,dataType:$.dataType,label:$.label!==void 0?$.label:$.name,qualifiedEntityName:$.qualifiedEntityName,entityId:$.entityId,entityName:$.entityName,entityType:$.entityType,direction:$.direction}));case"detailColumns":return fJe(e.config.detailColumns,$=>p($,"detailColumns"));case"source":return[];default:return[]}},[e]),b=w.useCallback((A,$)=>{if(m)switch(A){case"groupBy":{r(m,{groupByColumns:$});break}case"metrics":{r(m,{metricColumns:$});break}case"pivotBy":{r(m,{pivotByColumns:$});break}case"sortBy":{r(m,{sortByColumns:$});break}case"detailColumns":{r(m,{detailColumns:$});break}}},[m,r]),x=w.useCallback((A,$,q)=>{if(!m)return;const W=g(A),z=W[$];if(z)switch(A){case"groupBy":s(m,z.id,{label:q});break;case"metrics":o(m,z.id,{label:q});break;case"pivotBy":i(m,z.id,{label:q});break;case"sortBy":a(m,z.id,{label:q});break;case"detailColumns":{const I=W.map((L,O)=>O===$?{...L,label:q}:L);r(m,{detailColumns:I});break}}},[m,g,s,o,i,a,r]),y=w.useCallback((A,$)=>{if(!m)return;const W=g("metrics")[A];W&&o(m,W.id,{aggregate:$,label:cW(W.name,$)})},[m,g,o]),v=w.useCallback((A,$,q,W="groupBy")=>{if(!m)return;const z=g(W),I=z[A];if(!I)return;const L={dateFormat:$,customFormat:$==="custom"&&q?q:void 0};if(W==="detailColumns"){const O=z.map((R,H)=>H===A?{...R,...L}:R);r(m,{detailColumns:O});return}s(m,I.id,L)},[m,g,r,s]),C=w.useCallback((A,$)=>{if(!m)return;const W=g("groupBy")[A];W&&s(m,W.id,{granularity:$})},[m,g,s]),N=w.useCallback((A,$)=>{if(!m)return;const W=g("metrics")[A];W&&o(m,W.id,{aliasTemplate:$})},[m,g,o]),S=w.useCallback((A,$)=>{if(console.log("handleValueAliasesChange",A,$),!m)return;console.log("handleValueAliasesChange",A,$);const W=g("metrics")[A];W&&(console.log("handleValueAliasesChange",$),o(m,W.id,{valueAliases:$}))},[m,g,o]),j=w.useCallback((A,$)=>{if(!m)return;const W=g("metrics")[A];W&&o(m,W.id,{comparisonType:$,...$!=="target"?{targetValue:void 0}:{}})},[m,g,o]),k=w.useCallback(A=>{m&&r(m,{showTrendline:A})},[m,r]),_=w.useCallback(A=>{m&&r(m,{trendlineWindow:A})},[m,r]),E=w.useCallback(A=>{m&&r(m,{trendlineGranularity:A})},[m,r]),M=w.useCallback((A,$)=>{if(!m)return;const W=g("metrics")[A];W&&o(m,W.id,{targetValue:$})},[m,g,o]),T=w.useCallback(async A=>{var R;if(!m)return;const $=[...g("groupBy"),...g("pivotBy"),...g("metrics"),...g("sortBy"),...g("detailColumns")],q=A,W=VCe(q,$,{joinPlan:(R=e==null?void 0:e.config)==null?void 0:R.joinPlan,joinabilityMap:n==null?void 0:n.joinabilityMap,semanticDomainId:t});if(!W.isValid){W.showError&&iW();return}const z=WCe(q,$,h);if(!z){qe.error("Invalid Field",{description:"This field cannot be added to any container",position:"top-center",duration:3e3});return}const I=Bte(q,z,h);if(!I.isValid){qe.error("Invalid Field Type",{description:I.reason,position:"top-center",duration:3e3});return}const L=g(z);if(aW(q,L))return;const O=uW(q,z,L);if(O){const H=[...L,O];b(z,H),z==="metrics"&&Vte(h,e==null?void 0:e.config,r,m,H)}},[m,e==null?void 0:e.config,g,b,t,n,h,r]),P=w.useCallback((A,$)=>{if(!m)return;const W=g(A)[$];if(W){if(A!=="sortBy"){const z=g("sortBy"),I=z.filter(L=>!(L.name===W.name&&L.qualifiedEntityName===W.qualifiedEntityName));I.length!==z.length&&r(m,{sortByColumns:I})}switch(A){case"groupBy":l(m,W.id);break;case"metrics":u(m,W.id);break;case"pivotBy":d(m,W.id);break;case"sortBy":f(m,W.id);break;case"detailColumns":{r(m,{detailColumns:(g("detailColumns")||[]).filter((z,I)=>I!==$)});break}}}},[m,g,l,u,d,f,r]);return{getFieldsForContainer:g,setFieldsForContainer:b,updateLabel:x,handleAggregationChange:y,handleDateFormatChange:v,handleGranularityChange:C,handleAliasTemplateChange:N,handleValueAliasesChange:S,removeField:P,handleFieldClick:T,handleMetricComparisonChange:j,handleKpiShowTrendlineChange:k,handleKpiTrendlineWindowChange:_,handleKpiTrendlineGranularityChange:E,handleMetricTargetValueChange:M,cardType:h}};function gN(e,t){var Je,at,gt,bt,ft,Ut,Ue,Et;const{tokenProps:n}=Xe(),r=ys(),s=Xe().authToken||e,o=$e(le=>le.selectedConnectionId),i=$e(le=>le.card),{queryKey:a}=cme(i),l=$e(le=>le.selectedDatamodelId),u=$e(le=>le.isDevMode),d=$e(le=>le.selectedDatabaseName),f=$e(le=>le.selectedSchemaName),h=$e(le=>le.selectedTableName),m=$e(le=>le.actions.setSelectedConnectionId),p=$e(le=>le.actions.setSelectedDatamodelId),g=$e(le=>le.actions.setSelectedDatabaseName),b=$e(le=>le.actions.setSelectedSchemaName),x=$e(le=>le.actions.setSelectedTableName);$e(le=>le.actions.setCardSql);const{setQueryConfig:y}=Nr();function v(le){var ke;if(!o||!le)return!1;const Re=((ke=_==null?void 0:_.capabilities)==null?void 0:ke.path)||[],_e=Re.includes("database"),De=Re.includes("schema");return!(!Re.includes("table")||_e&&(!d||d==="NA")||De&&!f)}function C(le){var Re;return!o||!le?!1:!!((Re=_==null?void 0:_.capabilities)!=null&&Re.path.includes("database"))}const{refetchConnections:N,connectionsData:S,isConnectionsLoading:j,isConnectionsError:k,selectedConnection:_}=ji(e),{refetch:E,data:M,isLoading:T,isError:P}=gn({queryKey:["models",o],queryFn:()=>sr(`${n.apiServiceUrl}/v1/datamodels`,(s==null?void 0:s.accessToken)||"",{connection_id:o}),enabled:!!(s!=null&&s.accessToken)&&!!o}),F=_==null?void 0:_.type,A=((Je=_==null?void 0:_.capabilities)==null?void 0:Je.path.includes("schema"))??!1,$=((at=_==null?void 0:_.capabilities)==null?void 0:at.path.length)===1&&((gt=_==null?void 0:_.capabilities)==null?void 0:gt.path[0])==="table",q=$,{data:W,isLoading:z,isFetching:I,isError:L,refetch:O}=gn({queryKey:["databases",o],queryFn:()=>sr(`${n.apiServiceUrl}/v1/databases`,(s==null?void 0:s.accessToken)||"",{connection_id:o}),enabled:C(F)}),{data:R,isLoading:H,isFetching:V,isError:Y,refetch:U}=gn({queryKey:["schemas",o,d],queryFn:()=>sr(`${n.apiServiceUrl}/v1/schemas`,(s==null?void 0:s.accessToken)||"",{connection_id:o,database_name:d}),enabled:!!o&&!!d&&A&&d!=="NA"}),{data:B,isLoading:G,isFetching:Z,isError:J,refetch:K}=gn({queryKey:["tables",o,d,f],queryFn:()=>sr(`${n.apiServiceUrl}/v1/tables`,(s==null?void 0:s.accessToken)||"",{connection_id:o,database_name:d,schema_name:f}),enabled:v(F)}),{columns:ee,isColumnsLoading:se,isColumnsFetching:ce,isColumnsError:he,refetchColumns:Se}=dW(e);w.useEffect(()=>{$&&(g(""),b(""),p(""),F==="API"&&x("api"))},[F,x,g,b,p,$]);const be=(_==null?void 0:_.type)==="API"?(bt=_==null?void 0:_.type)==null?void 0:bt.toLowerCase():h||"",Te=A&&f||"";function ae(le){x(le),y(void 0),u||(r.setQueryData(a,null),r.removeQueries({queryKey:a,exact:!0}))}function ie(le){b(le),x("")}function xe(le){g(le==="none"?"":le),b(""),x(""),le!=="none"&&le!==""&&p("")}function de(le){m(le)}function Ce(le){p(le==="none"?"":le),le!=="none"&&le!==""&&g("")}W&&((ft=W==null?void 0:W.databases)==null?void 0:ft.length)>0,R&&((Ut=R==null?void 0:R.schemas)==null?void 0:Ut.length)>0;const ge=S==null?void 0:S.connections.map(le=>({id:le.id,name:le.name,type:le.type})),re=(Ue=M==null?void 0:M.datamodels)==null?void 0:Ue.map(le=>({id:le.id,name:le.name})),me=W==null?void 0:W.databases.map(le=>({id:le.database_name,name:le.database_name})),Oe=R==null?void 0:R.schemas.map(le=>({id:le.schema_name,name:le.schema_name})),Pe=B==null?void 0:B.tables.map(le=>({id:le.table_name,name:le.table_name})),Ie=(Et=M==null?void 0:M.datamodels.find(le=>le.id===l))==null?void 0:Et.name,He=_!=null&&_.capabilities?nw({schemaName:Te,tableName:be,modelName:Ie,databaseName:d||"",capabilities:_.capabilities}):be;return{connectionItems:ge,selectedConnectionId:o,selectedConnection:_,isConnectionsLoading:j,isConnectionsError:k,modelItems:re,selectedDatamodelId:l,selectedDatamodelName:Ie,isModelsLoading:T,isModelsError:P,selectedDatabaseName:d,databaseItems:me,isDatabasesLoadingOrFetching:z||I,isDatabaseError:L,schemaItems:Oe,selectedSchemaName:f,isSchemaLoadingOrFetching:H||V,isSchemaError:Y,tableItems:Pe,selectedTableName:h,isTableLoadingOrFetching:G||Z,isTableError:J,columns:ee,isColumnsLoadingOrFetching:se||ce,isColumnsError:he,isNonDbConnection:q,connectionType:F,tableName:be,formattedTableName:He,schemaName:Te,refetchConnections:N,refetchModels:E,refetchDatabases:O,refetchSchemas:U,refetchTables:K,refetchColumns:Se,handleConnectionChange:de,handleDatamodelChange:Ce,handleDatabaseChange:xe,handleSchemaChange:ie,handleTableChange:ae}}function wv(e){return`${e}-${_r()}`}function X6(e,t){const n=bi(e.replace(/_/g," "));switch(t){case"SUM":return`Sum of ${n}`;case"COUNT":return`Count of ${n}`;case"DISTINCT":return`Unique ${n}`;case"AVG":return`Average of ${n}`;case"MIN":return`Min of ${n}`;case"MAX":return`Max of ${n}`;default:return n}}function hJe(e,t){const n=bi(e.replace(/_/g," "));switch(t){case"day":return`Date of ${n}`;case"week":return`Week of ${n}`;case"month":return`Month of ${n}`;case"year":return`Year of ${n}`;default:return n}}function gP(e){if(!e||!e.selectedEntities||e.selectedEntities.length===0)return{tableName:void 0,schemaName:void 0,databaseName:void 0,connectionId:e==null?void 0:e.connectionId,connectionType:e==null?void 0:e.connectionType};const t=e.selectedEntities[0];return{tableName:t==null?void 0:t.name,schemaName:t==null?void 0:t.schema,databaseName:t==null?void 0:t.database,connectionId:e.connectionId,connectionType:e.connectionType}}function Ute(e){if(!e||!e.selectedEntities||e.selectedEntities.length===0)return!1;const t=e.selectedEntities[0];return!!(t!=null&&t.name)}function Wte(){const e=$e(j=>j.sqlGen),t=$e(j=>j.isDevMode),n=$e(j=>j.card.dataSource),r=$e(j=>{var k,_;return(_=(k=j.card)==null?void 0:k.queryConfig)==null?void 0:_.metricColumns}),{tableName:s,schemaName:o,databaseName:i}=gP(n),a=Ute(n),l=$e(j=>j.selectedDatamodelId),{addColumnToMetricColumns:u,addColumnToGroupBy:d,setCardSql:f,setRunSql:h,setSqlGen:m,setIsShowingVisual:p}=Nr(),{modelItems:g,selectedDatamodelName:b}=gN(),{selectedConnection:x}=ji(),y=x==null?void 0:x.capabilities,v=j=>({column_name:j.name,data_type:j.dataType,label:j.label,description:j.description});return{handleDevModeFieldClick:j=>{var _;if(!t)return;const k=v(j);if(t&&a&&s&&y){const E=YT(k,e);m(E);const M=(_=g==null?void 0:g.find(P=>P.id===l))==null?void 0:_.name,T=qT(E,o||"",s,M||"",i||"",y,j.qualifiedEntityName);T&&(f(T),h(!0))}else if(!t){if(Tx(k.data_type))if(r&&r.length>0){const E={...k,role:"groupby",id:wv(k.column_name),name:k.column_name,type:k.data_type};d(E)}else{const E={...k,role:"metric",id:wv(k.column_name),name:k.column_name,label:X6(k.column_name,"COUNT"),type:k.data_type,aggregate:"COUNT"};u(E)}if(Xi(k.data_type)){const E={...k,role:"groupby",id:wv(k.column_name),name:k.column_name,type:k.data_type,label:hJe(k.column_name,"month"),granularity:"month"};d(E)}if(Zi(k.data_type)){const E={...k,role:"metric",id:wv(k.column_name),name:k.column_name,label:X6(k.column_name,"SUM"),type:k.data_type,aggregate:"SUM"};u(E)}}},handleShowSample:()=>{if(!a||!s||!y){console.warn("Cannot generate SQL: missing table metadata or capabilities");return}const j=nw({schemaName:o||"",tableName:s,modelName:b,databaseName:i||"",capabilities:y});p(!1);const _=(x==null?void 0:x.type)==="MSSQL"?`SELECT top 10 * FROM ${j}`:`SELECT * FROM ${j} LIMIT 10`;f(_),h(!0)},handleShowCount:()=>{if(!a||!s||!y){console.warn("Cannot generate SQL: missing table metadata or capabilities");return}const j=nw({schemaName:o||"",tableName:s,modelName:b,databaseName:i||"",capabilities:y});f(`SELECT COUNT(*) as count FROM ${j}`),h(!0)},isNumberField:j=>Zi(j.dataType)}}function mJe(e){const t=e.qualifiedFieldName,r=(e.qualifiedEntityName||e.qualifiedFieldName.split(".").slice(0,-1).join(".")).split(".").map(o=>mb(o)).join("."),s=mb(e.name);return{qualifiedColumnName:t,qualifiedTableName:r,formattedColumnName:s}}function qte(e){const t=e;return{name:e.name,qualifiedFieldName:e.qualifiedFieldName,qualifiedEntityName:e.qualifiedEntityName,entityName:e.entityName,entityId:e.entityId,entityType:e.entityType,dataType:e.dataType,role:e.role,expression:t.expression,calculatedFormula:t.calculatedFormula}}function Yte(e,t){if(!(!e&&!t))return{semanticDomainId:e==null?void 0:e.semanticDomainId,selectedEntities:(e==null?void 0:e.selectedEntities)||[],connectionId:(e==null?void 0:e.connectionId)||(t==null?void 0:t.connectionId),connectionType:(e==null?void 0:e.connectionType)||(t==null?void 0:t.connectionType)}}function Gte(e){var t,n;return e?!!(e.entityName===tc||e.expression||(n=(t=e.calculatedFormula)==null?void 0:t.inputFields)!=null&&n.length):!1}function Kte(){const e=Q(l=>l.dashboard.filters)||[],t=Q(l=>l.selectedSheetId),n=Q(l=>l.actions.addFilter),r=Q(l=>l.actions.removeFilter),{removeFilterValues:s}=Ht(),o=$e(l=>l.card.dataSource),{selectedConnection:i}=ji();function a(l,u="sheet"){const{qualifiedColumnName:d,qualifiedTableName:f,formattedColumnName:h}=mJe(l);let m;if(u==="sheet"&&t?m=Jke(e,d,f,t):m=e==null?void 0:e.find(p=>Em(p.column)===Em(d)),m)s(m.id),r(m.id);else{const p=_r(),g=qte(l),b=Yte(o,{connectionId:i==null?void 0:i.id,connectionType:i==null?void 0:i.type}),x=Gte(g),y=u==="sheet"&&t?[t]:void 0;return n({id:p,location:u,column:d,title:l.label||l.name,dataType:l.dataType,qualifiedTableName:f,connectionId:(i==null?void 0:i.id)||"",operation:"in",applyToSheetIds:y,sql:x?"":oZ(l.dataType,f,h),fieldMeta:g,semanticContext:b}),p}}return{assignFilter:a}}function pJe({column:e}){const[t,n]=w.useState(!1),r=$e(y=>y.card.dataSource),{tableName:s,schemaName:o,databaseName:i}=gP(r),a=$e(y=>y.selectedDatamodelId),l=$e(y=>y.sqlGen),{modelItems:u,selectedConnection:d}=gN(),f=d==null?void 0:d.capabilities,h=$e(y=>y.actions.setSqlGen),m=$e(y=>y.actions.setCardSql),p=$e(y=>y.actions.setRunSql),g=Ute(r);function b(y,v){var k,_;if(!g||!s){console.warn("Cannot generate SQL: missing table metadata");return}const C=YT(y,l,v),N=(k=u==null?void 0:u.find(E=>E.id===a))==null?void 0:k.name;if(h(C),!f){console.warn("Cannot generate SQL: missing connection capabilities");return}const S=(_=y.qualifiedFieldName)==null?void 0:_.split(".").slice(0,-1).join("."),j=qT(C,o||"",s,N||"",i||"",f,S);j&&(m(j),p(!0)),n(!1)}function x(){return c.jsxs("ul",{className:"text-xs",children:[c.jsx("li",{onClick:()=>b(e,"COUNT"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Count"}),c.jsx("li",{onClick:()=>b(e,"AVG"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Avg"}),c.jsx("li",{onClick:()=>b(e,"SUM"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Sum"}),c.jsx("li",{onClick:()=>b(e,"MAX"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Max"}),c.jsx("li",{onClick:()=>b(e,"MIN"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Min"})]})}return g?c.jsxs(Mf,{openDelay:0,open:t,onOpenChange:n,children:[c.jsx(Df,{asChild:!0,children:c.jsx(Bm,{className:"invisible size-3.5 cursor-pointer text-foreground/40 group-hover/container:visible"})}),c.jsx(If,{align:"center",className:"w-20 rounded-md p-0 shadow-none",children:x()})]}):null}function gJe({field:e,fieldState:t}){return c.jsxs("div",{className:"w-64 bg-background p-0",children:[c.jsxs("div",{className:"mb-2 flex items-start justify-between gap-2",children:[c.jsx("h3",{className:"text-sm font-medium text-foreground",children:e.label||e.name}),c.jsx("span",{className:"rounded bg-muted px-2 py-0.5 font-mono text-xs text-muted-foreground",children:e.dataType})]}),e.description&&c.jsx("p",{className:"mb-3 text-xs text-muted-foreground",children:e.description}),t&&t.tooltip&&c.jsx("div",{className:"mb-2 rounded bg-muted/50 p-2",children:c.jsx("p",{className:"text-xs text-muted-foreground",children:t.tooltip})}),c.jsx("div",{className:"overflow-x-auto border-t border-border pb-2 pt-2",children:c.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:e.name})})]})}function Q6({field:e,context:t="editor",fieldState:n,onFieldSelect:r,inlineFilters:s,actions:o}){const i=$e(K=>K.isDevMode),a=t==="filter"||t==="inline-filter",l=i||a||(n==null?void 0:n.state)==="unreachable"&&!a,u=Q(K=>K.dashboard.filters),d=Q(K=>K.selectedSheetId),f=Q(K=>K.actions.removeFilter),{removeFilterValues:h}=Ht(),{assignFilter:m}=Kte(),p=t==="filter"?lc(u,d):u,g=t==="filter"?p==null?void 0:p.find(K=>{if(K.title===e.name)return!0;const ee=Em(K.column||""),se=Em(e.name);return ee.endsWith(`.${se}`)||ee===se}):void 0,b=!!g,x=t==="inline-filter"&&(s==null?void 0:s.some(K=>K.column===e.qualifiedFieldName||K.column===e.name)),y=b||x,v=g&&a?u==null?void 0:u.find(K=>K.id===g.id):void 0,C=v&&(v.applyToSheetIds&&v.applyToSheetIds.length>1||v.excludeSheetIds&&v.excludeSheetIds.length>0||!v.applyToSheetIds&&!v.excludeSheetIds&&!v.sheetId);a&&y&&console.log("[SourceField Debug]",{fieldName:e.name,hasActiveFilter:y,activeFilterOnSheet:g?{id:g.id,title:g.title,column:g.column,applyToSheetIds:g.applyToSheetIds,excludeSheetIds:g.excludeSheetIds}:null,activeFilterForField:v?{id:v.id,title:v.title,column:v.column,applyToSheetIds:v.applyToSheetIds,excludeSheetIds:v.excludeSheetIds}:null,isMultiSheetFilter:C,selectedSheetId:d});const[N,S]=w.useState(!1),[j,k]=w.useState(null),{attributes:_,listeners:E,setNodeRef:M,transform:T,transition:P,isDragging:F}=Fy({id:e.id,disabled:l}),[A,$]=w.useState(!1),q=$e(K=>K.card),{handleFieldClick:W}=Hte(q),{handleDevModeFieldClick:z,isNumberField:I}=Wte(),L=()=>{v&&(console.log("[SourceField] Removing multi-sheet filter:",v.id),h(v.id),f(v.id)),k(null),S(!1)},O=()=>{if(t==="inline-filter"&&r){r(e);return}t==="filter"?y&&C?(k(e),S(!0)):m(e,"sheet"):i?z(e):W(e)},R={column_name:e.name,data_type:e.dataType,label:e.label,description:e.description},H={transform:Ci.Transform.toString(T),transition:P},V=()=>{if(!n||a)return{};const ee={base:{hoverBorderColor:"hover:border-blue-500/40",hoverBgColor:"hover:bg-blue-50/50 dark:hover:bg-blue-950/20"},draggable:{hoverBorderColor:"hover:border-green-500/40",hoverBgColor:"hover:bg-green-50/30 dark:hover:bg-green-950/20"},indirect:{hoverBorderColor:"hover:border-yellow-500/40",hoverBgColor:"hover:bg-yellow-50/30 dark:hover:bg-yellow-950/20"},unreachable:{borderColor:"border-gray-300/40 dark:border-gray-700/40",bgColor:"bg-gray-50/30 dark:bg-gray-900/20",hoverBgColor:"hover:bg-gray-100/30 dark:hover:bg-gray-800/20",opacity:"opacity-50",cursor:"cursor-not-allowed"}}[n.state]||{};return n.isSelected&&{base:{borderColor:"border-blue-300/30 dark:border-blue-700/30",bgColor:"bg-blue-50/20 dark:bg-blue-950/10",...ee},draggable:{borderColor:"border-green-300/30 dark:border-green-700/30",bgColor:"bg-green-50/20 dark:bg-green-950/10",...ee},indirect:{borderColor:"border-yellow-300/30 dark:border-yellow-700/30",bgColor:"bg-yellow-50/20 dark:bg-yellow-950/10",...ee}}[n.state]||ee};function Y(K){return K==="domain"?{label:"Domain",Icon:Rx,className:"border-border bg-muted text-foreground"}:K==="dashboard"?{label:"Dashboard",Icon:xM,className:"border-border bg-muted/70 text-foreground"}:{label:"Card",Icon:e9,className:"border-border bg-muted/40 text-foreground"}}const U=V(),B=e.fieldScope,G=B?Y(B):null,Z=qw(e),J=Z&&ac(e);return c.jsxs("div",{ref:M,style:H,...l?{}:_,...l?{}:E,className:X("group/container max-w-[265px] overflow-hidden rounded-lg transition-all",F&&"scale-95 opacity-50",!F&&"border",U.borderColor||"border-transparent",U.bgColor||"",U.hoverBorderColor,U.hoverBgColor||"hover:bg-muted",U.opacity,U.cursor,b&&"border-accent-foreground/20 bg-accent",x&&"border-primary/20 bg-primary/10",{"cursor-pointer":i||a,"cursor-grab active:cursor-grabbing":!l&&!i&&!a}),title:n==null?void 0:n.tooltip,children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-3 p-2",onClick:O,children:[c.jsxs("div",{className:"relative shrink-0",children:[Am(e.dataType),Z&&c.jsx("span",{className:X("absolute bottom-0 right-0 translate-x-[30%] translate-y-[35%] rounded-[3px] px-0.5 py-0.5 text-[7px] font-semibold uppercase italic leading-none shadow-sm",J?"bg-emerald-500/90 text-white":"bg-blue-500/90 text-white"),children:"fx"})]}),c.jsx(zn,{children:c.jsxs(cn,{children:[c.jsx(un,{asChild:!0,children:c.jsx("div",{className:"min-w-0 flex-1 overflow-hidden",children:c.jsx("span",{className:`block text-sm text-foreground/80 hover:text-foreground dark:text-muted-foreground ${A?"whitespace-normal break-words":"truncate"}`,children:e.label||e.name})})}),c.jsx(fn,{side:"bottom",align:"start",className:"ml-5 max-w-xs px-4 pb-2 pt-4",children:c.jsx(gJe,{field:e,fieldState:n})})]})}),t==="editor"&&G&&c.jsx("span",{title:G.label,className:X("shrink-0 rounded-full border p-1",G.className),children:c.jsx(G.Icon,{className:"h-3.5 w-3.5"})}),i&&!a&&I(e)&&c.jsx("div",{onClick:K=>K.stopPropagation(),children:c.jsx(pJe,{column:R})}),o&&c.jsx("div",{className:"ml-auto flex items-center",onClick:K=>K.stopPropagation(),onPointerDown:K=>K.stopPropagation(),children:o})]}),A&&c.jsx("div",{className:"text-muted-foreground-700 px-2 pb-3 text-sm",children:c.jsx(Wo,{className:"",children:c.jsxs(ea,{className:"space-y-2 p-3",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(t9,{className:"h-4 w-4 text-muted-foreground"}),c.jsx("span",{className:"break-all",children:e.label||e.name})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(tae,{className:"h-4 w-4 text-muted-foreground"}),c.jsx("span",{className:"break-all",children:e.name})]}),c.jsx(Ye,{variant:"outline",className:"mt-2 text-xs",children:e.dataType})]})})}),c.jsx(Xm,{open:N,onOpenChange:S,children:c.jsxs(Sf,{children:[c.jsxs(Nf,{children:[c.jsx(kf,{children:"Remove Filter from Multiple Sheets?"}),c.jsx(Ef,{children:"This filter is currently applied to multiple sheets. Removing it will affect all sheets where it's applied."})]}),c.jsxs(jf,{children:[c.jsx(Tf,{children:"Cancel"}),c.jsx(_f,{onClick:L,children:"Remove Filter"})]})]})})]})}var ha="Accordion",bJe=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[bP,xJe,yJe]=Fx(ha),[bN]=Br(ha,[yJe,KW]),xP=KW(),Zte=w.forwardRef((e,t)=>{const{type:n,...r}=e,s=r,o=r;return c.jsx(bP.Provider,{scope:e.__scopeAccordion,children:n==="multiple"?c.jsx(SJe,{...o,ref:t}):c.jsx(CJe,{...s,ref:t})})});Zte.displayName=ha;var[Xte,vJe]=bN(ha),[Qte,wJe]=bN(ha,{collapsible:!1}),CJe=w.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:s=()=>{},collapsible:o=!1,...i}=e,[a,l]=is({prop:n,defaultProp:r??"",onChange:s,caller:ha});return c.jsx(Xte,{scope:e.__scopeAccordion,value:w.useMemo(()=>a?[a]:[],[a]),onItemOpen:l,onItemClose:w.useCallback(()=>o&&l(""),[o,l]),children:c.jsx(Qte,{scope:e.__scopeAccordion,collapsible:o,children:c.jsx(Jte,{...i,ref:t})})})}),SJe=w.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:s=()=>{},...o}=e,[i,a]=is({prop:n,defaultProp:r??[],onChange:s,caller:ha}),l=w.useCallback(d=>a((f=[])=>[...f,d]),[a]),u=w.useCallback(d=>a((f=[])=>f.filter(h=>h!==d)),[a]);return c.jsx(Xte,{scope:e.__scopeAccordion,value:i,onItemOpen:l,onItemClose:u,children:c.jsx(Qte,{scope:e.__scopeAccordion,collapsible:!0,children:c.jsx(Jte,{...o,ref:t})})})}),[NJe,xN]=bN(ha),Jte=w.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:r,dir:s,orientation:o="vertical",...i}=e,a=w.useRef(null),l=ht(a,t),u=xJe(n),f=xu(s)==="ltr",h=Fe(e.onKeyDown,m=>{var k;if(!bJe.includes(m.key))return;const p=m.target,g=u().filter(_=>{var E;return!((E=_.ref.current)!=null&&E.disabled)}),b=g.findIndex(_=>_.ref.current===p),x=g.length;if(b===-1)return;m.preventDefault();let y=b;const v=0,C=x-1,N=()=>{y=b+1,y>C&&(y=v)},S=()=>{y=b-1,y<v&&(y=C)};switch(m.key){case"Home":y=v;break;case"End":y=C;break;case"ArrowRight":o==="horizontal"&&(f?N():S());break;case"ArrowDown":o==="vertical"&&N();break;case"ArrowLeft":o==="horizontal"&&(f?S():N());break;case"ArrowUp":o==="vertical"&&S();break}const j=y%x;(k=g[j].ref.current)==null||k.focus()});return c.jsx(NJe,{scope:n,disabled:r,direction:s,orientation:o,children:c.jsx(bP.Slot,{scope:n,children:c.jsx(Ze.div,{...i,"data-orientation":o,ref:l,onKeyDown:r?void 0:h})})})}),U1="AccordionItem",[jJe,yP]=bN(U1),ene=w.forwardRef((e,t)=>{const{__scopeAccordion:n,value:r,...s}=e,o=xN(U1,n),i=vJe(U1,n),a=xP(n),l=wr(),u=r&&i.value.includes(r)||!1,d=o.disabled||e.disabled;return c.jsx(jJe,{scope:n,open:u,disabled:d,triggerId:l,children:c.jsx(QW,{"data-orientation":o.orientation,"data-state":ine(u),...a,...s,ref:t,disabled:d,open:u,onOpenChange:f=>{f?i.onItemOpen(r):i.onItemClose(r)}})})});ene.displayName=U1;var tne="AccordionHeader",nne=w.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=xN(ha,n),o=yP(tne,n);return c.jsx(Ze.h3,{"data-orientation":s.orientation,"data-state":ine(o.open),"data-disabled":o.disabled?"":void 0,...r,ref:t})});nne.displayName=tne;var _T="AccordionTrigger",rne=w.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=xN(ha,n),o=yP(_T,n),i=wJe(_T,n),a=xP(n);return c.jsx(bP.ItemSlot,{scope:n,children:c.jsx(tNe,{"aria-disabled":o.open&&!i.collapsible||void 0,"data-orientation":s.orientation,id:o.triggerId,...a,...r,ref:t})})});rne.displayName=_T;var sne="AccordionContent",one=w.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=xN(ha,n),o=yP(sne,n),i=xP(n);return c.jsx(nNe,{role:"region","aria-labelledby":o.triggerId,"data-orientation":s.orientation,...i,...r,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});one.displayName=sne;function ine(e){return e?"open":"closed"}var kJe=Zte,EJe=ene,_Je=nne,ane=rne,lne=one;const vP=kJe,hx=D.forwardRef(({className:e,...t},n)=>c.jsx(EJe,{ref:n,className:X("border-b",e),...t}));hx.displayName="AccordionItem";const mx=D.forwardRef(({className:e,children:t,...n},r)=>c.jsx(_Je,{className:"flex",children:c.jsxs(ane,{ref:r,className:X("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...n,children:[t,c.jsx(ur,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));mx.displayName=ane.displayName;const px=D.forwardRef(({className:e,children:t,...n},r)=>c.jsx(lne,{ref:r,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:c.jsx("div",{className:X("pb-4 pt-0",e),children:t})}));px.displayName=lne.displayName;let cne=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,n)=>(n&=63,n<36?t+=n.toString(36):n<62?t+=(n-26).toString(36).toUpperCase():n>62?t+="-":t+="_",t),"");const gx=[{id:"sum",label:"Sum",symbol:"+",description:"Add two metrics together",template:()=>"({field_0} + {field_1})",requiresTwoInputs:!0},{id:"difference",label:"Difference",symbol:"−",description:"Subtract one metric from another",template:()=>"({field_0} - {field_1})",requiresTwoInputs:!0},{id:"product",label:"Product (Multiplication)",symbol:"×",description:"Multiply two metrics",template:()=>"({field_0} * {field_1})",requiresTwoInputs:!0},{id:"ratio",label:"Ratio",symbol:"÷",description:"Divide one metric by another",template:()=>"({field_0} / NULLIF({field_1}, 0))",requiresTwoInputs:!0},{id:"change",label:"Change",symbol:"Δ",description:"Calculate percentage change from A to B",template:()=>"(({field_1} - {field_0}) / NULLIF({field_0}, 0))",requiresTwoInputs:!0},{id:"percentage",label:"Percentage",symbol:"%",description:"Calculate (A / B) × 100",template:()=>"(({field_0} / NULLIF({field_1}, 0)) * 100)",requiresTwoInputs:!0},{id:"scale",label:"Scale (Multiply by Factor)",symbol:"×n",description:"Multiply a metric by a constant factor",template:()=>"({field_0} * {constant})",requiresTwoInputs:!1},{id:"custom",label:"Custom Expression",symbol:"{}",description:"Drag fields to create custom expression with tokens",requiresTwoInputs:!1,allowsCustomExpression:!0}],hl=e=>e.trim().toLowerCase().replace(/\s+/g,"_"),kl=e=>e!=null&&e.startsWith("card-source-")?e.replace("card-source-",""):e;function J6(e,t,n,r,s,o,i,a,l,u){const d=gx.find(x=>x.id===t);if(!d)throw new Error(`Unknown operation: ${t}`);let f,h=[],m;if(t==="custom"){if(!(a!=null&&a.trim()))throw new Error("Custom expression is required");f=a.trim(),h=u||[]}else if(t==="scale"){if(!n)throw new Error("Metric A is required for scale operation");if(l===void 0||Number.isNaN(l))throw new Error("Constant factor is required for scale operation");f=d.template().replace("{constant}",String(l)),h=[n],m=l}else{if(!n||!r)throw new Error("Metrics A and B are required for standard operations");f=d.template(),h=[n,r]}const p={operation:t,inputFields:h,...m!==void 0&&{constant:m}},g=hl(e);return{id:i||`calc_${cne(10)}`,name:g,label:e,alias:g,qualifiedFieldName:g,dataType:"number",role:"metric",aggregate:"SUM",expression:f,calculatedFormula:p,entityId:o,entityName:tc,entityType:"table",description:`Calculated field: ${e}`}}function TJe(e){var r,s;const t=gx.find(o=>o.id===e.operation);if(!t)return"Unknown operation";if(e.operation==="custom")return"Custom expression";if(e.operation==="scale"){const o=((r=e.inputFields[0])==null?void 0:r.label)||((s=e.inputFields[0])==null?void 0:s.name)||"A",i=e.constant??1;return`${o} × ${i}`}return e.inputFields.map(o=>o.label||o.name).join(` ${t.symbol} `)}function MJe(e,t,n,r,s,o){const i=hl(e);return{id:o||`calc_dim_${cne(10)}`,name:i,label:e.trim(),alias:i,qualifiedFieldName:i,dataType:r,role:"groupby",expression:t.trim(),calculatedFormula:{operation:"custom",inputFields:n.map(a=>a.role==="metric"?{...a,role:"metric"}:{...a,role:"groupby"})},entityId:s,entityName:tc,entityType:"table",description:`Calculated field: ${e.trim()}`}}function DJe(){const{domainCalculatedFields:e}=mP(),t=w.useMemo(()=>e.filter(r=>r.role==="metric"),[e]),n=w.useMemo(()=>e.filter(r=>r.role==="groupby"),[e]);return{fields:e,metrics:t,dimensions:n}}function IJe({value:e,onChange:t,disabled:n,options:r=["dimension","metric"]}){const s=r.length>0?r:["dimension","metric"],o=["dimension","metric"].filter(l=>s.includes(l)),i=n||o.length<=1,a=o.includes(e)?e:o[0];return c.jsx(zs,{value:a,onValueChange:l=>t(l),className:"w-full",children:c.jsx(vs,{className:"grid h-9 w-full",style:{gridTemplateColumns:`repeat(${o.length}, minmax(0, 1fr))`},children:o.map(l=>c.jsx(sn,{value:l,disabled:i,className:"text-xs",children:l==="metric"?"Calculated Metric":"Calculated Dimension"},l))})})}function RJe({groups:e,searchTerm:t,onSearchTermChange:n,onFieldClick:r,selectedFieldIds:s,disabled:o}){const i=new Set(s||[]),a=e.length>0||t.length>0,l=e.map(f=>f.id),u=(f,h)=>{if(!h)return f;const m=f.toLowerCase(),p=h.toLowerCase();return m.startsWith(`${p}.`)?f.slice(h.length+1):f},d=(f,h)=>{const p=(f.name||f.baseLabel||f.label||f.tokenLabel||"").trim(),g=[h,f.qualifiedEntityName,f.entityName].filter(Boolean);for(const b of g){const x=u(p,b);if(x!==p)return x}return p.includes(".")&&p.split(".").pop()||p};return c.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-3 border-r border-border pr-4",children:[a&&c.jsxs("div",{className:"relative",children:[c.jsx(Xo,{className:"absolute left-3 top-1/2 size-3.5 -translate-y-1/2 transform text-muted-foreground"}),c.jsx(En,{value:t,onChange:f=>n(f.target.value),placeholder:"Search fields...",className:"pl-10 pr-10"}),t&&c.jsx("button",{type:"button",onClick:()=>n(""),className:"absolute right-3 top-1/2 -translate-y-1/2 transform text-muted-foreground hover:text-foreground",children:c.jsx(kt,{className:"size-3.5"})})]}),c.jsx(nl,{className:"min-h-0 flex-1",children:e.length===0?c.jsx("div",{className:"rounded-md border border-dashed border-muted px-3 py-6 text-center text-xs text-muted-foreground",children:"No fields match your search."}):c.jsx(vP,{type:"multiple",defaultValue:l,className:"space-y-2",children:e.map(f=>c.jsxs(hx,{value:f.id,className:"border-none",children:[c.jsx(mx,{className:"group rounded-md px-2.5 py-2 text-muted-foreground hover:bg-muted hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"max-w-[190px] truncate text-ellipsis whitespace-nowrap text-sm font-medium text-primary",children:f.label}),c.jsx(Ye,{variant:"secondary",className:"rounded-full text-xs text-muted-foreground group-hover:bg-background",children:f.fields.length})]})}),c.jsx(px,{className:"pb-2",children:c.jsx("div",{className:"space-y-1",children:f.fields.map(h=>{const m=i.has(h.id),p=!h.isCompatible||o,g=h.isCalculated&&h.role==="metric",b=d(h,f.label);return c.jsxs("button",{type:"button",onClick:()=>h.isCompatible&&!o&&r(h),className:X("group/container flex w-full items-center gap-3 rounded-lg border border-transparent px-2 py-2 text-left transition-all",p?"cursor-not-allowed opacity-50":"hover:bg-muted",m&&"border-border bg-muted"),disabled:p,children:[c.jsxs("div",{className:"relative shrink-0",children:[Am(h.dataType),h.isCalculated&&c.jsx("span",{className:X("absolute bottom-0 right-0 translate-x-[30%] translate-y-[35%] rounded-[3px] px-0.5 py-0.5 text-[7px] font-semibold uppercase italic leading-none shadow-sm",g?"bg-emerald-500/90 text-white":"bg-blue-500/90 text-white"),children:"fx"})]}),c.jsx("div",{className:"min-w-0 flex-1 overflow-hidden",children:c.jsx("span",{className:X("block truncate text-sm text-foreground/80",!p&&"group-hover/container:text-foreground"),children:b})}),m&&c.jsx(Ye,{variant:"secondary",className:"shrink-0 text-[10px]",children:"Selected"})]},h.id)})})})]},f.id))})})]})}function AJe({value:e,onChange:t,allowCustom:n,disabled:r}){const s=gx.filter(l=>n?!0:l.id!=="custom"),i=!s.some(l=>l.id==="custom")&&e==="custom"?[...s,gx.find(l=>l.id==="custom")]:s,a=i.find(l=>l.id===e);return c.jsxs("div",{className:"space-y-2",children:[c.jsxs(lt,{value:e,onValueChange:l=>t(l),disabled:r,children:[c.jsx(st,{children:c.jsx(ct,{})}),c.jsx(ot,{children:c.jsxs(gI,{children:[c.jsx(lS,{children:"OPERATIONS"}),i.map(l=>c.jsx(we,{value:l.id,children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"font-mono text-sm",children:l.symbol}),c.jsx("span",{children:l.label})]})},l.id))]})})]}),a&&c.jsx("p",{className:"text-xs text-muted-foreground",children:a.description})]})}const PJe={COUNT:"Count",DISTINCT:"Count Distinct",SUM:"Sum",AVG:"Average",MIN:"Minimum",MAX:"Maximum",MEDIAN:"Median"};function FJe({value:e,onChange:t,disabled:n,fieldDataType:r,allowMedian:s}){const i=(r?Cr(r):"number")==="number",a=["SUM","AVG","COUNT","DISTINCT","MIN","MAX"],l=i?s?[...a,"MEDIAN"]:a:["COUNT","DISTINCT"];return c.jsxs(lt,{value:e,onValueChange:u=>t(u),disabled:n,children:[c.jsx(st,{className:"h-9",children:c.jsx(ct,{})}),c.jsx(ot,{children:l.map(u=>c.jsx(we,{value:u,children:PJe[u]},u))})]})}const OJe=e=>{const n=(e.name||e.baseLabel||e.label||e.tokenLabel||"").trim();return n.includes(".")&&n.split(".").pop()||n};function ez({label:e,input:t,availableFields:n,excludeFieldIds:r,onFieldSelect:s,onAggregateChange:o,onRemove:i,onActivate:a,allowMedian:l,disabled:u}){const d=(t==null?void 0:t.field.id)||"",f=r!=null&&r.length?n.filter(h=>!r.includes(h.id)):n;return c.jsxs("div",{className:X("flex items-center gap-2 rounded-md border border-border px-2 py-2",a&&!u&&"cursor-pointer",u&&"opacity-60"),onClick:u?void 0:a,children:[c.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded bg-muted font-mono text-xs font-semibold",children:e}),c.jsxs("div",{className:"flex flex-1 gap-2",children:[c.jsxs(lt,{value:d,onValueChange:h=>{const m=f.find(p=>p.id===h);m&&s(m)},disabled:u,children:[c.jsx(st,{className:"h-9 flex-1",children:c.jsx(ct,{placeholder:"Select field"})}),c.jsx(ot,{children:f.map(h=>c.jsx(we,{value:h.id,children:OJe(h)},h.id))})]}),c.jsx("div",{className:"w-36",children:c.jsx(FJe,{value:(t==null?void 0:t.aggregate)||"SUM",onChange:o,disabled:u||(t==null?void 0:t.isCalculatedField),fieldDataType:t==null?void 0:t.field.dataType,allowMedian:l})})]}),t&&c.jsx(oe,{type:"button",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:h=>{h.stopPropagation(),i()},disabled:u,children:c.jsx(kt,{className:"h-3.5 w-3.5"})})]})}const tz=w.forwardRef(function({value:t,onChange:n,onGenerate:r,showGenerate:s,disabled:o},i){return c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-sm font-medium",children:"Expression"}),s&&c.jsxs(oe,{type:"button",size:"sm",variant:"outline",onClick:r,disabled:o,className:"h-7 gap-2 text-xs",children:[c.jsx(cC,{className:"h-3.5 w-3.5"}),"Generate with AI"]})]}),c.jsx(rx,{ref:i,value:t,onChange:a=>n(a.target.value),disabled:o,placeholder:"CASE WHEN {Amount} > 100 THEN 'Large' ELSE 'Small' END",className:"min-h-[140px] font-mono text-xs"})]})});function $Je({result:e}){const t=e.errors.length>0;return c.jsxs("div",{className:X("rounded-md border px-3 py-2 text-xs",t?"border-destructive/40 bg-destructive/10 text-destructive":"border-emerald-500/30 bg-emerald-500/10 text-emerald-700"),children:[c.jsx("div",{className:"font-medium",children:t?"Validation Failed":"Validation Passed"}),e.tokens.length>0&&c.jsxs("div",{className:"mt-2 space-y-1",children:[c.jsx("div",{className:"text-[11px] uppercase tracking-wide text-muted-foreground",children:"Tokens Found"}),e.tokens.map(n=>c.jsx("div",{children:n.field?`{${n.token}} -> ${n.field.qualifiedFieldName||n.field.name}`:`{${n.token}}`},n.token))]}),e.errors.length>0&&c.jsxs("div",{className:"mt-2 space-y-1",children:[c.jsx("div",{className:"text-[11px] uppercase tracking-wide text-muted-foreground",children:"Errors"}),e.errors.map((n,r)=>c.jsxs("div",{children:[n.message,n.suggestion?` (${n.suggestion})`:""]},`${n.code}-${r}`))]}),e.warnings.length>0&&c.jsxs("div",{className:"mt-2 space-y-1",children:[c.jsx("div",{className:"text-[11px] uppercase tracking-wide text-muted-foreground",children:"Warnings"}),e.warnings.map((n,r)=>c.jsxs("div",{children:[n.message," ",n.suggestion]},`${n.code}-${r}`))]}),e.inferredDataType&&c.jsxs("div",{className:"mt-2 text-[11px] text-muted-foreground",children:["Inferred Output Type: ",e.inferredDataType]})]})}function nz({onValidate:e,isValidating:t,validationResult:n,fallbackResult:r,error:s,showFallback:o,disabled:i}){return c.jsxs("div",{className:"space-y-2",children:[c.jsx(oe,{type:"button",variant:"outline",onClick:e,disabled:t||i,className:"h-8",children:t?"Validating...":"Validate Expression"}),s&&c.jsx("div",{className:"text-xs text-destructive",children:s}),(n||o)&&c.jsx($Je,{result:n||r})]})}function LJe({scope:e,onChange:t,showDashboardScope:n,showDomainScope:r,error:s,disabled:o}){return c.jsxs("div",{className:"space-y-3 border-t border-border pt-4",children:[c.jsx(fe,{children:"Availability"}),c.jsxs(so,{value:e,onValueChange:i=>t(i),className:"space-y-2",disabled:o,children:[c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(vn,{id:"scope-card",value:"card"}),c.jsx(fe,{htmlFor:"scope-card",className:"text-sm font-normal",children:"This card only"})]}),n&&c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(vn,{id:"scope-dashboard",value:"dashboard"}),c.jsx(fe,{htmlFor:"scope-dashboard",className:"text-sm font-normal",children:"All cards in this dashboard"})]}),r&&c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(vn,{id:"scope-domain",value:"domain"}),c.jsx(fe,{htmlFor:"scope-domain",className:"text-sm font-normal",children:"Save to domain"})]})]}),s&&c.jsx("p",{className:"text-xs text-red-500",children:s})]})}function zJe({description:e,tags:t,onDescriptionChange:n,onTagsChange:r,descriptionError:s,disabled:o}){return c.jsxs("div",{className:"space-y-3 rounded-md border border-muted bg-muted/30 p-3",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{htmlFor:"domain-description",children:"Description"}),c.jsx(wu,{id:"domain-description",value:e,onChange:i=>n(i.target.value),placeholder:"Explain what this metric represents",className:X("text-sm",s&&"border-red-500"),rows:3,disabled:o}),s&&c.jsx("p",{className:"text-xs text-red-500",children:s})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{htmlFor:"domain-tags",children:"Tags (optional)"}),c.jsx(bn,{id:"domain-tags",value:t,onChange:i=>r(i.target.value),placeholder:"profitability, kpi",disabled:o})]}),c.jsx("p",{className:"text-xs text-muted-foreground",children:"This field will be visible to all dashboards using this domain."})]})}function BJe({endpoint:e,availableFields:t,fieldType:n,dialect:r}){const{authToken:s}=Xe(),[o,i]=w.useState(!1),[a,l]=w.useState(null);return{generateExpression:w.useCallback(async d=>{var f;if(!e)return l("AI generation is not available"),null;if(!d.trim())return l("Describe what you want to calculate"),null;i(!0),l(null);try{const h={type:"calculated-field-expression",context:{userQuery:d,availableFields:t.map(p=>({name:p.tokenLabel,dataType:p.dataType})),fieldType:n},options:{dialect:r}},m=await Kr(e,(s==null?void 0:s.accessToken)||"",h);if(!m.success||!((f=m.result)!=null&&f.generated))throw new Error(m.error||"No expression generated");return m.result.generated}catch(h){return l((h==null?void 0:h.error)||(h==null?void 0:h.message)||"AI generation failed"),null}finally{i(!1)}},[e,t,n,r,s==null?void 0:s.accessToken]),isGenerating:o,error:a}}function VJe({open:e,onOpenChange:t,availableFields:n,fieldType:r,onExpressionGenerated:s,endpoint:o,dialect:i}){const[a,l]=w.useState(""),[u,d]=w.useState(""),[f,h]=w.useState(""),{generateExpression:m,isGenerating:p,error:g}=BJe({endpoint:o,availableFields:n,fieldType:r,dialect:i}),b=w.useMemo(()=>{const S=f.trim().toLowerCase();return S?n.filter(j=>[j.label,j.baseLabel,j.name,j.tokenLabel,j.entityName,j.qualifiedEntityName].filter(Boolean).join(" ").toLowerCase().includes(S)):n},[n,f]),x=S=>{const k=(S.name||S.baseLabel||S.label||S.tokenLabel||"").trim();return k.includes(".")&&k.split(".").pop()||k},y=S=>{const j=S.entityName||S.qualifiedEntityName||"";return j?j==="SEMAPHOR_CALCULATED_FIELD"?"Calculated":j.includes(".")&&j.split(".").pop()||j:"—"},v=async()=>{const S=await m(a.trim());S&&d(S)},C=()=>{u.trim()&&(s(u.trim()),l(""),d(""),t(!1))},N=()=>{l(""),d(""),h(""),t(!1)};return c.jsx(Xr,{open:e,onOpenChange:S=>{S?t(!0):N()},children:c.jsxs(Vr,{className:"max-w-3xl",children:[c.jsxs(Hr,{children:[c.jsx(Ur,{children:"Generate Expression with AI"}),c.jsx(ls,{children:"Describe what you want to calculate and we will draft a SQL expression."})]}),c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{htmlFor:"ai-prompt",children:"Describe what you want to calculate"}),c.jsx(rx,{id:"ai-prompt",value:a,onChange:S=>l(S.target.value),placeholder:"Create a bucket that categorizes orders as 'Large' when amount is greater than 1000",rows:2})]}),c.jsxs("div",{className:"flex items-center justify-between gap-3 text-xs text-muted-foreground",children:[c.jsx("span",{children:"Be specific about conditions, buckets, or math you want to apply."}),c.jsx(oe,{size:"sm",onClick:v,disabled:p||!a.trim(),children:p?"Generating...":u?"Regenerate":"Generate"})]}),g&&c.jsx("p",{className:"text-xs text-destructive",children:g})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{children:"Available fields"}),c.jsxs("div",{className:"relative",children:[c.jsx(Xo,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),c.jsx(bn,{value:f,onChange:S=>h(S.target.value),placeholder:"Search fields...",className:"pl-9"})]}),c.jsx("div",{className:"overflow-hidden rounded-lg border border-border",children:c.jsx("div",{className:"max-h-48 overflow-y-auto",children:c.jsxs("table",{className:"w-full text-sm",children:[c.jsx("thead",{className:"sticky top-0 z-10 border-b bg-muted",children:c.jsxs("tr",{children:[c.jsx("th",{className:"bg-muted/50 px-3 py-2 text-left font-medium",children:"Field"}),c.jsx("th",{className:"bg-muted/50 px-3 py-2 text-left font-medium",children:"Type"}),c.jsx("th",{className:"bg-muted/50 px-3 py-2 text-left font-medium",children:"Category"})]})}),c.jsx("tbody",{className:"divide-y",children:b.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:3,className:"py-6 text-center text-xs text-muted-foreground",children:"No fields match your search."})}):b.map(S=>c.jsxs("tr",{className:"hover:bg-muted/30",children:[c.jsx("td",{className:"px-3 py-1.5 font-mono text-xs",children:x(S)}),c.jsx("td",{className:"px-3 py-1.5",children:c.jsx(Ye,{variant:"secondary",className:"px-1.5 py-0 text-[11px]",children:S.dataType})}),c.jsx("td",{className:"px-3 py-1.5 text-sm text-muted-foreground",children:y(S)})]},S.id))})]})})})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{children:"Generated expression"}),c.jsx(rx,{value:u,readOnly:!0,rows:2,className:"font-mono text-sm"}),c.jsx("p",{className:"text-xs text-muted-foreground",children:"Review the generated expression before using it."})]})]}),c.jsxs(as,{className:"gap-2",children:[c.jsx(oe,{variant:"ghost",onClick:N,children:"Cancel"}),c.jsx(oe,{onClick:C,disabled:!u.trim(),children:"Use Expression"})]})]})})}const HJe=/\{([^}]+)\}/g;function yN(e){return e.trim().toLowerCase()}function W1(e){return Array.from(e.matchAll(HJe)).map(t=>t[1]).filter(Boolean)}function UJe(e){const t=new Set,n=[];return e.forEach(r=>{const s=yN(r);t.has(s)||(t.add(s),n.push(r))}),n}function wP(e){const t=new Map,n=(r,s)=>{const o=yN(r),i=t.get(o)||[];i.some(a=>a.id===s.id)||t.set(o,[...i,s])};return e.forEach(r=>{n(r.tokenLabel,r),r.name&&r.name!==r.tokenLabel&&n(r.name,r),r.baseLabel&&r.baseLabel!==r.tokenLabel&&n(r.baseLabel,r)}),t}function ag(e,t){const n=W1(e),r=UJe(n),s=wP(t),o=r.map(a=>{const l=s.get(yN(a))||[];return l.length===1?l[0]:null}),i=r.filter((a,l)=>!o[l]);return{orderedTokens:r,orderedFields:o,unresolvedTokens:i}}function rz(e,t){return t.reduce((n,r,s)=>{const o=new RegExp(`\\{${WJe(r)}\\}`,"gi");return n.replace(o,`{field_${s}}`)},e)}function WJe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const qJe=e=>e.entityName===sm||e.entityName===tc?"Calculated Fields":e.qualifiedEntityName?gb(e.entityName||e.qualifiedEntityName):gb(e.entityName||"Other"),YJe=e=>Cr(e.dataType||"")==="number";function GJe(e,t,n){const r=new Set((n||[]).map(s=>kl(s)));return e.filter(s=>{const o=kl(s.id);return o&&r.has(o)?!1:t==="dimension"?s.role!=="metric":!0})}function KJe(e){const t=new Map,n=new Map;return e.forEach(r=>{let o=r.entityName&&r.entityName!==tc?`${r.entityName}.${r.name}`:r.name;const i=o.toLowerCase(),a=n.get(i)||0;a>0&&(o=`${o} ${a+1}`),n.set(i,a+1),t.set(r.id,o)}),t}function ZJe(e,t,n,r){if(t!=="metric")return e.map(o=>({...o,isCompatible:!0}));if(!n)return e.map(o=>({...o,isCompatible:!0}));const s=n==="COUNT"||n==="DISTINCT";return e.map(o=>{const i=s||YJe(o);return{...o,isCompatible:i}}).filter(o=>r)}function XJe(e,t){if(!t)return e;const n=t.toLowerCase();return e.filter(r=>r.name.toLowerCase().includes(n)||r.baseLabel.toLowerCase().includes(n)||r.tokenLabel.toLowerCase().includes(n)||r.dataType.toLowerCase().includes(n)||(r.qualifiedEntityName||r.entityName||"").toLowerCase().includes(n))}function QJe(e){const t=new Map;return e.forEach(n=>{var s;const r=n.qualifiedEntityName||n.entityName||"Other";t.has(r)||t.set(r,{id:r,label:qJe(n),fields:[]}),(s=t.get(r))==null||s.fields.push(n)}),Array.from(t.values())}function JJe({fields:e,mode:t,searchTerm:n,excludeFieldIds:r,selectedAggregate:s,showIncompatible:o}){const i=w.useMemo(()=>GJe(e,t,r),[e,t,r]),a=w.useMemo(()=>KJe(i),[i]),l=w.useMemo(()=>i.map(m=>{const p=m.label||m.name,g=m.role==="metric"&&ac(m)||m.role==="groupby"&&Jx(m);return{...m,baseLabel:p,tokenLabel:a.get(m.id)||p,isCalculated:g,isCompatible:!0}}),[i,a]),u=w.useMemo(()=>wP(l),[l]),d=w.useMemo(()=>ZJe(l,t,s,o),[l,t,s,o]),f=w.useMemo(()=>XJe(d,n),[d,n]),h=w.useMemo(()=>QJe(f),[f]);return{allFields:l,filteredFields:f,groups:h,tokenCandidates:u}}const eet=e=>{let t=0;for(const n of e)if(n==="("&&(t+=1),n===")"&&(t-=1),t<0)return!1;return t===0},tet=(e,t)=>{const n=e.toLowerCase(),r=t.toLowerCase();if(n===r)return 0;if(!n.length)return r.length;if(!r.length)return n.length;const s=[];for(let o=0;o<=r.length;o+=1)s[o]=[o];for(let o=0;o<=n.length;o+=1)s[0][o]=o;for(let o=1;o<=r.length;o+=1)for(let i=1;i<=n.length;i+=1)r.charAt(o-1)===n.charAt(i-1)?s[o][i]=s[o-1][i-1]:s[o][i]=Math.min(s[o-1][i-1]+1,s[o][i-1]+1,s[o-1][i]+1);return s[r.length][n.length]},net=(e,t)=>t.map(r=>({candidate:r,distance:tet(e,r)})).filter(r=>r.distance>0&&r.distance<=3).sort((r,s)=>r.distance-s.distance).slice(0,3).map(r=>r.candidate),ret=(e,t)=>{var r;const n=e.trim();if(n){if(/\bDATE_TRUNC\b/i.test(n))return"date";if(/\bTIMESTAMP\b/i.test(n))return"datetime";if(/\bDATE\b/i.test(n)&&!/\bUPDATE\b/i.test(n))return"date";if(/['"]/.test(n))return"string";if(/[+\-*/]/.test(n))return"number";if(t.length===1){const s=((r=t[0])==null?void 0:r.dataType)||"";if(/date|timestamp/i.test(s))return"date";if(/int|decimal|float|double|num|real/i.test(s))return"number";if(/boolean/i.test(s))return"boolean"}return"string"}},set=e=>e.map(t=>({id:t.id,name:t.name,label:t.tokenLabel,dataType:t.dataType,entityName:t.entityName,role:t.role}));function oet({expression:e,availableFields:t,excludeFieldIds:n,validationEndpoint:r,connectionId:s,dialect:o}){const{authToken:i}=Xe(),[a,l]=w.useState(null),[u,d]=w.useState(!1),[f,h]=w.useState(null),m=w.useMemo(()=>wP(t),[t]),p=w.useMemo(()=>{const x=[],y=[],v=e.trim();v||x.push({code:"SYNTAX_ERROR",message:"Expression is required"}),v&&!eet(v)&&x.push({code:"SYNTAX_ERROR",message:"Unbalanced parentheses in expression"});const N=W1(e).map(j=>{const k=m.get(yN(j))||[];if(!k.length){const M=Array.from(m.keys()),T=net(j,M),P=T.length?`Did you mean {${T[0]}}?`:void 0;return x.push({code:"UNKNOWN_TOKEN",message:`Unknown field token: {${j}}`,suggestion:P}),{token:j,field:null,error:"Unknown token"}}if(k.length>1)return x.push({code:"UNKNOWN_TOKEN",message:`Token {${j}} matches multiple fields. Use a disambiguated label.`}),{token:j,field:null,error:"Ambiguous token"};const _=k[0];return(n||[]).map(kl).includes(kl(_.id))?(x.push({code:"SELF_REFERENCE",message:"Cannot reference the field being edited"}),{token:j,field:null,error:"Self reference"}):{token:j,field:_}});/\bCASE\b/i.test(e)&&!/\bELSE\b/i.test(e)&&y.push({code:"MISSING_ELSE",message:"CASE expression missing ELSE clause",suggestion:"Add an ELSE branch to handle default values."}),/\//.test(e)&&!/NULLIF\s*\(/i.test(e)&&y.push({code:"DIVISION_BY_ZERO",message:"Division may result in divide-by-zero errors",suggestion:"Wrap the denominator in NULLIF(..., 0)."});const S=N.map(j=>j.field).filter(Boolean);return{isValid:x.length===0,tokens:N,errors:x,warnings:y,inferredDataType:ret(e,S)}},[e,n,m]),g=w.useCallback(async()=>{var v;if(h(null),!r||!p.isValid)return l(p),p;const x=r,y={type:"calculated-field-expression",value:e,context:{availableFields:set(t),connectionId:s,excludeFieldIds:n,dialect:o}};d(!0);try{const C=await Kr(x,(i==null?void 0:i.accessToken)||"",y),N=C.errors||[],S=C.warnings||[],j={...p,isValid:C.valid&&N.length===0,errors:N,warnings:S,inferredDataType:((v=C.metadata)==null?void 0:v.inferredType)||p.inferredDataType};return l(j),j}catch(C){return h((C==null?void 0:C.error)||"Validation failed"),l(p),p}finally{d(!1)}},[r,p,e,t,s,n,o,i==null?void 0:i.accessToken]),b=w.useCallback(()=>{l(null),h(null)},[]);return{clientResult:p,validationResult:a,isValidating:u,serverError:f,validateExpression:g,resetValidation:b}}const sz=[{value:"string",label:"String"},{value:"number",label:"Number"},{value:"boolean",label:"Boolean"},{value:"date",label:"Date"},{value:"datetime",label:"Datetime"},{value:"json",label:"JSON"},{value:"geo",label:"Geo"}],pk=e=>{if(!e)return"";const t=e.field.tokenLabel||e.field.label||e.field.name,n=e.aggregate;return n==="DISTINCT"?`COUNT(DISTINCT ${t})`:n==="COUNT"?`COUNT(${t})`:`${n}(${t})`},une=e=>Cr(e.dataType||"")==="number",mh=e=>une(e)?"SUM":"COUNT",gk=(e,t)=>une(e)||t==="COUNT"||t==="DISTINCT"?t:mh(e);function bk(e,t){if(e.role==="metric"){const n=e;return ac(n)?n:{...n,aggregate:t}}return{...e,id:`${e.id}_${t.toLowerCase()}`,role:"metric",aggregate:t,alias:`${(e.alias||e.name).toLowerCase()}_${t.toLowerCase()}`,entityName:e.entityName,entityId:e.entityId,qualifiedEntityName:e.qualifiedEntityName}}function ah(e,t){const n=e.role==="metric"&&ac(e);return{field:e,aggregate:n&&e.aggregate||t,isCalculatedField:n}}function dne({open:e,onOpenChange:t,availableFields:n,existingField:r,existingFieldScope:s,onSave:o,onSaveToDashboard:i,onPromoteMetricToDomain:a,onPromoteDimensionToDomain:l,cardId:u,domainId:d,initialFieldType:f="metric",allowedFieldTypes:h}){var Uf;const{tokenProps:m}=Xe(),{selectedConnection:p}=sW(),g=(p==null?void 0:p.dialect)==="bigquery"||(p==null?void 0:p.dialect)==="snowflake",[b,x]=w.useState(f),[y,v]=w.useState(""),[C,N]=w.useState("ratio"),[S,j]=w.useState(null),[k,_]=w.useState(null),[E,M]=w.useState(1),[T,P]=w.useState(""),[F,A]=w.useState(null),[$,q]=w.useState("card"),[W,z]=w.useState(""),[I,L]=w.useState(""),[O,R]=w.useState({}),[H,V]=w.useState("A"),[Y,U]=w.useState(""),[B,G]=w.useState(!1),[Z,J]=w.useState(null),[K,ee]=w.useState(!1),[se,ce]=w.useState(!1),[he,Se]=w.useState(!1),be=w.useRef(null),Te=w.useRef(!1),ae=w.useRef(null),{userContext:ie}=Ls(),{metrics:xe,dimensions:de}=DJe(),Ce=(ie==null?void 0:ie.type)==="organization",ge=!Ce,re=!!d&&Ce,me=re&&!!a,Oe=re&&!!l,Pe=!!(i||me||Oe),Ie=!!i,He=b==="metric"?me:Oe,Je=(Uf=m==null?void 0:m.apiServiceUrl)==null?void 0:Uf.replace(/\/$/,""),at=Je?`${Je}/v1/validate`:"/v1/validate",gt=Je?`${Je}/v1/ai/generate`:"/v1/ai/generate",bt=w.useMemo(()=>{var Rt;const je=[...n];return(((Rt=r==null?void 0:r.calculatedFormula)==null?void 0:Rt.inputFields)||[]).forEach(Sn=>{je.some(Gn=>Gn.id===Sn.id||Gn.qualifiedFieldName===Sn.qualifiedFieldName||Gn.name===Sn.name)||je.push(Sn)}),je},[n,r]),ft=H==="A"?S:k,Ut=b==="metric"&&C!=="custom"?ft==null?void 0:ft.aggregate:void 0,{allFields:Ue,groups:Et}=JJe({fields:bt,mode:b,searchTerm:Y,excludeFieldIds:r?[r.id]:void 0,selectedAggregate:Ut,showIncompatible:!0}),le=Ue,{clientResult:Re,validationResult:_e,validateExpression:De,isValidating:We,serverError:ke,resetValidation:ye}=oet({expression:T,availableFields:le,excludeFieldIds:r?[r.id]:void 0,validationEndpoint:at,connectionId:p==null?void 0:p.id,dialect:p==null?void 0:p.dialect}),Ae=(_e==null?void 0:_e.inferredDataType)||Re.inferredDataType,Ke=F||Ae||"string",et=gx.find(je=>je.id===C),ue=w.useMemo(()=>{if(!y.trim())return!1;const je=hl(y),ut=s==="domain"&&(r!=null&&r.name)?hl(r.name):null;return(b==="metric"?xe:de).some(Sn=>{const en=hl(Sn.name);return ut&&en===ut?!1:en===je})},[de,xe,r,s,b,y]),ze=w.useMemo(()=>{if(b==="metric"&&C==="custom"){const{orderedFields:ut}=ag(T,le);return ut.filter(Rt=>!!Rt).map(Rt=>Rt.id)}const je=[];return S!=null&&S.field.id&&je.push(S.field.id),k!=null&&k.field.id&&je.push(k.field.id),je},[le,T,b,S,k,C]),Qe=je=>{ge||(x(je),je==="dimension"&&$==="domain"&&!Oe&&q("card"),je==="metric"&&$==="domain"&&!me&&q("card"))},jt=je=>{ge||(N(je),je==="scale"&&_(null),je==="custom"&&(j(null),_(null)))},mn=()=>{v(""),N("ratio"),j(null),_(null),M(1),P(""),A(null),q("card"),z(""),L(""),R({}),U(""),G(!1),J(null),ee(!1),Se(!1),ye(),t(!1)},fr=w.useCallback(je=>bt.find(ut=>ut.qualifiedFieldName===je.qualifiedFieldName||ut.name===je.name)||je,[bt]),Wr=w.useCallback(je=>{if(!je.calculatedFormula)return;const ut=je.calculatedFormula;if(N(ut.operation),P(""),ut.operation==="scale"){const en=ut.inputFields[0];en&&j(ah(fr(en),en.aggregate||"SUM")),M(ut.constant===void 0?1:ut.constant);return}if(ut.operation==="custom"){P(jo(je.expression||"",ut.inputFields||[])),j(null),_(null);return}const[Rt,Sn]=ut.inputFields;Rt&&j(ah(fr(Rt),Rt.aggregate||"SUM")),Sn&&_(ah(fr(Sn),Sn.aggregate||"SUM"))},[fr]),jo=w.useCallback((je,ut)=>je.replace(/\{field_(\d+)\}/g,(Rt,Sn)=>{var kr;const en=ut[Number(Sn)];return en?`{${((kr=le.find(_i=>_i.id===en.id))==null?void 0:kr.tokenLabel)||en.label||en.name}}`:Rt}),[le]);w.useEffect(()=>{var Rt;if(!e){Te.current=!1,ae.current=null;return}const je=r?`${r.role}-${r.id||r.name}`:"new";if(Te.current&&ae.current===je)return;if(Te.current=!0,ae.current=je,R({}),U(""),Se(!1),ye(),r){const Sn=r.tags||[];if(r.role==="metric"){x("metric"),v(r.label||r.name),q(s||"card"),z(r.description||""),L(Sn.join(", ")),Wr(r);return}x("dimension");const en=r;v(en.label||en.name),q(s||"card"),P(jo(en.expression||"",((Rt=en.calculatedFormula)==null?void 0:Rt.inputFields)||[]));const Gn=sz.some(kr=>kr.value===en.dataType)?en.dataType:"string";A(Gn),z(en.description||""),L(Sn.join(", "));return}const ut=h&&h.length>0?h.includes(f)?f:h[0]:f;x(ut),v(""),N("ratio"),j(null),_(null),M(1),P(""),A(null),q("card"),z(""),L("")},[e,r,s,f,h,Wr,jo,ye]);const ol=je=>{const ut=`{${je}}`,Rt=be.current;if(!Rt){P(kr=>kr+ut);return}const Sn=Rt.selectionStart||0,en=Rt.selectionEnd||0,Gn=`${T.slice(0,Sn)}${ut}${T.slice(en)}`;P(Gn),requestAnimationFrame(()=>{Rt.focus();const kr=Sn+ut.length;Rt.setSelectionRange(kr,kr)})},Op=je=>{if(ge)return;if(b==="dimension"||C==="custom"){ol(je.tokenLabel||je.label||je.name);return}const ut=gk(je,H==="A"?(S==null?void 0:S.aggregate)||mh(je):(k==null?void 0:k.aggregate)||mh(je)),Rt=ah(je,ut);if(H==="A"){j(Rt),k||V("B");return}_(Rt),S||V("A")},Wy=(je,ut)=>{if(!ge){if(je==="A"&&S){j({...S,aggregate:ut});return}je==="B"&&k&&_({...k,aggregate:ut})}},hc=async()=>{const je={};if(y.trim()||(je.name="Name is required"),C==="custom")T.trim()||(je.expression="Expression is required"),W1(T).length===0&&(je.expression=je.expression||"Expression must include field tokens"),ag(T,le).unresolvedTokens.length>0&&(je.expression=je.expression||"Expression contains unknown or ambiguous tokens"),je.expression||(await De()).isValid||(je.expression="Fix validation errors before saving");else if(C==="scale")S||(je.inputA="Please select a metric for input A"),Number.isNaN(E)&&(je.constant="Please enter a valid multiplication factor");else{if(S||(je.inputA="Please select a metric for input A"),k||(je.inputB="Please select a metric for input B"),S&&k){const ut=S.field.id===k.field.id,Rt=S.aggregate===k.aggregate;ut&&Rt&&(je.inputs="Inputs A and B must be different metrics")}if(r&&r.role==="metric"){const ut=kl(r.id);(kl(S==null?void 0:S.field.id)===ut||kl(k==null?void 0:k.field.id)===ut)&&(je.inputs="Cannot reference the field being edited")}}return Pe&&($==="domain"&&!me&&(je.scope="You do not have permission to save to domain"),$==="domain"&&!W.trim()&&(je.description="Description is required for domain fields"),$==="domain"&&ue&&(je.name="A domain field with this name already exists")),R(je),Object.keys(je).length===0},CN=async()=>{const je={};return y.trim()||(je.name="Name is required"),T.trim()||(je.expression="Expression is required"),W1(T).length===0&&(je.expression=je.expression||"Expression must include field tokens"),ag(T,le).unresolvedTokens.length>0&&(je.expression=je.expression||"Expression contains unknown or ambiguous tokens"),je.expression||(await De()).isValid||(je.expression="Fix validation errors before saving"),Pe&&($==="domain"&&!Oe&&(je.scope="You do not have permission to save to domain"),$==="domain"&&!W.trim()&&(je.description="Description is required for domain fields"),$==="domain"&&ue&&(je.name="A domain field with this name already exists")),R(je),Object.keys(je).length===0},SN=()=>{const{orderedTokens:je,orderedFields:ut}=ag(T,le),Rt=ut.filter(Gn=>!!Gn),Sn=rz(T,je),en=MJe(y,Sn,Rt,Ke,u,r==null?void 0:r.id);return r&&r.role==="groupby"?{...r,...en}:en},NN=()=>{var Sn;if(C==="custom"){const{orderedTokens:en,orderedFields:Gn}=ag(T,le),kr=Gn.filter(zt=>!!zt),_i=(r==null?void 0:r.role)==="metric"?((Sn=r.calculatedFormula)==null?void 0:Sn.inputFields)||[]:[],ko=new Map;_i.forEach(zt=>{const hr=kl(zt.id);hr&&ko.set(hr,zt),zt.qualifiedFieldName&&ko.set(zt.qualifiedFieldName,zt),zt.name&&ko.set(zt.name,zt)});const mc=kr.map(zt=>{const hr=kl(zt.id),Ti=hr&&ko.get(hr)||zt.qualifiedFieldName&&ko.get(zt.qualifiedFieldName)||ko.get(zt.name),EN=((Ti==null?void 0:Ti.role)==="metric"?Ti.aggregate:void 0)||(zt.role==="metric"?zt.aggregate:void 0)||mh(zt);return bk(zt,EN)}),tr=rz(T,en),on=J6(y,C,null,null,{},u,r==null?void 0:r.id,tr,void 0,mc);return r&&r.role==="metric"?{...r,...on}:on}const je=S?bk(S.field,S.aggregate):null,ut=k?bk(k.field,k.aggregate):null,Rt=J6(y,C,je,ut,{},u,r==null?void 0:r.id,void 0,C==="scale"?E:void 0);return r&&r.role==="metric"?{...r,...Rt}:Rt},qy=async je=>{var Rt,Sn,en;if(b==="dimension"){const Gn=SN();if(je==="dashboard"){if(!i){R(kr=>({...kr,scope:"Dashboard scope is not available"}));return}i(Gn),mn();return}if(je==="domain"){if(!l){R(on=>({...on,scope:"Domain scope is not available"}));return}const kr=((Rt=Gn.calculatedFormula)==null?void 0:Rt.inputFields)||[],_i=new Map,ko=kr.map(on=>{const zt=hl(on.label||on.name),hr=_i.get(zt)||0;return _i.set(zt,hr+1),hr===0?zt:`${zt}_${hr+1}`}),mc=((Sn=Gn.expression)==null?void 0:Sn.replace(/\{field_(\d+)\}/g,(on,zt)=>`{${ko[Number(zt)]||zt}}`))||"",tr=ko.reduce((on,zt,hr)=>{const Ti=kr[hr];return Jx(Ti)?on[zt]={dimension:Ti.name}:on[zt]={dataset:Ti.entityName,field:Ti.name},on},{});try{await l({name:hl(y),label:y.trim(),description:W.trim(),expression:mc,inputs:tr,dataType:Ke,tags:I.split(",").map(on=>on.trim()).filter(Boolean),overwrite:s==="domain",previousName:s==="domain"?r==null?void 0:r.name:void 0})}catch(on){R(zt=>({...zt,scope:(on==null?void 0:on.message)||"Failed to save to domain"}));return}mn();return}o(Gn),mn();return}const ut=NN();if(je==="dashboard"){if(!i){R(Gn=>({...Gn,scope:"Dashboard scope is not available"}));return}i(ut),mn();return}if(je==="domain"){if(!a){R(tr=>({...tr,scope:"Domain scope is not available"}));return}if(!ut.calculatedFormula){R(tr=>({...tr,scope:"Calculated formula missing"}));return}const Gn=ut.calculatedFormula.inputFields,kr=new Map,_i=Gn.map(tr=>{const on=hl(tr.label||tr.name),zt=kr.get(on)||0;return kr.set(on,zt+1),zt===0?on:`${on}_${zt+1}`}),ko=((en=ut.expression)==null?void 0:en.replace(/\{field_(\d+)\}/g,(tr,on)=>`{${_i[Number(on)]||on}}`))||"",mc=_i.reduce((tr,on,zt)=>{const hr=Gn[zt];return hr.role==="metric"?ac(hr)?tr[on]={metric:hr.name}:tr[on]={dataset:hr.entityName,field:hr.name,aggregate:hr.aggregate}:tr[on]={dataset:hr.entityName,field:hr.name},tr},{});try{await a({name:hl(y),label:y.trim(),description:W.trim(),expression:ko,inputs:mc,tags:I.split(",").map(tr=>tr.trim()).filter(Boolean),overwrite:s==="domain",previousName:s==="domain"?r==null?void 0:r.name:void 0})}catch(tr){R(on=>({...on,scope:(tr==null?void 0:tr.message)||"Failed to save to domain"}));return}mn();return}o(ut),mn()},jN=async()=>{if(ge)return;if(R({}),b==="metric"){if(!await hc())return}else if(!await CN())return;const je=Pe?$:s||"card";if(b==="metric"&&je!=="domain"&&ue&&!r){J(je),ee(!0);return}ce(!0);try{await qy(je)}finally{ce(!1)}},kN=w.useMemo(()=>{if(!et||C==="custom")return"";if(C==="scale"){const je=Number.isFinite(E)?E:1;return`${pk(S)} x ${je}`}return`${pk(S)||"A"} ${et.symbol} ${pk(k)||"B"}`},[et,C,S,k,E]);return c.jsxs(c.Fragment,{children:[c.jsxs(Xr,{modal:!1,open:e,onOpenChange:je=>{je?t(!0):mn()},children:[e&&c.jsx("div",{className:"pointer-events-none fixed inset-0 z-40 bg-background/80 backdrop-blur-sm"}),c.jsxs(Vr,{className:"max-w-5xl max-h-[90vh] overflow-hidden",onInteractOutside:je=>{je.preventDefault()},children:[c.jsxs(Hr,{children:[c.jsxs(Ur,{children:[r?"Edit":"Create"," Calculated Field"]}),c.jsx(ls,{children:"Build calculated metrics and dimensions using expressions."})]}),c.jsxs("div",{className:"grid h-[70vh] min-h-0 grid-cols-[320px_1fr] gap-6",children:[c.jsx(RJe,{groups:Et,searchTerm:Y,onSearchTermChange:U,onFieldClick:Op,selectedFieldIds:ze,disabled:ge}),c.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-4 overflow-y-auto pr-2",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{children:"Field Type"}),c.jsx(IJe,{value:b,onChange:Qe,disabled:ge||!!r,options:h||["metric","dimension"]})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{htmlFor:"calculated-name",children:"Name"}),c.jsx(bn,{id:"calculated-name",value:y,onChange:je=>v(je.target.value),placeholder:"e.g., Profit Margin",className:O.name?"border-red-500":"",disabled:ge}),O.name&&c.jsx("p",{className:"text-xs text-red-500",children:O.name})]}),b==="metric"&&c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{children:"Operation"}),c.jsx(AJe,{value:C,onChange:jt,allowCustom:!0,disabled:ge}),O.operation&&c.jsx("p",{className:"text-xs text-red-500",children:O.operation})]}),C==="custom"?c.jsxs("div",{className:"space-y-4",children:[c.jsx(tz,{ref:be,value:T,onChange:je=>{P(je),Se(!1)},onGenerate:()=>G(!0),showGenerate:!!gt&&!ge,disabled:ge}),c.jsx(nz,{onValidate:async()=>{Se(!0),await De()},isValidating:We,validationResult:_e,fallbackResult:Re,error:ke,showFallback:he,disabled:ge}),O.expression&&c.jsx("p",{className:"text-xs text-red-500",children:O.expression})]}):c.jsxs("div",{className:"space-y-3",children:[c.jsx(fe,{children:"Inputs"}),c.jsx(ez,{label:"A",input:S,availableFields:le,excludeFieldIds:r?[r.id]:void 0,onFieldSelect:je=>{const ut=gk(je,(S==null?void 0:S.aggregate)||mh(je));j(ah(je,ut))},onAggregateChange:je=>Wy("A",je),onRemove:()=>j(null),onActivate:()=>V("A"),allowMedian:g,disabled:ge}),O.inputA&&c.jsx("p",{className:"text-xs text-red-500",children:O.inputA}),C!=="scale"&&c.jsxs(c.Fragment,{children:[c.jsx(ez,{label:"B",input:k,availableFields:le,excludeFieldIds:r?[r.id]:void 0,onFieldSelect:je=>{const ut=gk(je,(k==null?void 0:k.aggregate)||mh(je));_(ah(je,ut))},onAggregateChange:je=>Wy("B",je),onRemove:()=>_(null),onActivate:()=>V("B"),allowMedian:g,disabled:ge}),O.inputB&&c.jsx("p",{className:"text-xs text-red-500",children:O.inputB})]}),C==="scale"&&c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{htmlFor:"constantFactor",children:"Multiplication Factor"}),c.jsx(bn,{id:"constantFactor",type:"number",step:"any",value:Number.isNaN(E)?"":E,onChange:je=>M(je.target.value===""?Number.NaN:Number(je.target.value)),className:O.constant?"border-red-500":"",placeholder:"e.g., 0.15",disabled:ge}),O.constant&&c.jsx("p",{className:"text-xs text-red-500",children:O.constant})]}),c.jsx("div",{className:"rounded-md border border-border bg-muted/40 p-3 text-sm font-mono",children:kN||"Select inputs to preview formula"}),O.inputs&&c.jsxs(kS,{variant:"destructive",children:[c.jsx(Gl,{className:"h-4 w-4"}),c.jsx(ES,{children:O.inputs})]})]})]}),b==="dimension"&&c.jsxs("div",{className:"space-y-4",children:[c.jsx(tz,{ref:be,value:T,onChange:je=>{P(je),Se(!1)},onGenerate:()=>G(!0),showGenerate:!!gt&&!ge,disabled:ge}),c.jsx(nz,{onValidate:async()=>{Se(!0),await De()},isValidating:We,validationResult:_e,fallbackResult:Re,error:ke,showFallback:he,disabled:ge}),O.expression&&c.jsx("p",{className:"text-xs text-red-500",children:O.expression}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(fe,{children:"Output Type"}),c.jsxs(lt,{value:Ke,onValueChange:je=>A(je),disabled:ge,children:[c.jsx(st,{className:"h-9 w-full",children:c.jsx(ct,{placeholder:"Select output type"})}),c.jsx(ot,{children:sz.map(je=>c.jsx(we,{value:je.value,children:je.label},je.value))})]}),Ae&&!F&&c.jsxs("p",{className:"text-xs text-muted-foreground",children:["Suggested type: ",Ae]})]})]}),Pe&&(Ie||He)&&c.jsxs("div",{className:"space-y-3",children:[c.jsx(LJe,{scope:$,onChange:q,showDashboardScope:Ie,showDomainScope:He,error:O.scope,disabled:ge}),$==="domain"&&c.jsx(zJe,{description:W,tags:I,onDescriptionChange:z,onTagsChange:L,descriptionError:O.description,disabled:ge})]})]})]}),c.jsxs(as,{children:[c.jsx(oe,{variant:"outline",onClick:mn,children:"Cancel"}),c.jsxs(oe,{onClick:jN,disabled:se||ge,children:[r?"Update":"Create"," ",b==="metric"?"Metric":"Dimension"]})]})]})]}),c.jsx(VJe,{open:B,onOpenChange:G,availableFields:le,fieldType:b,onExpressionGenerated:async je=>{P(je),Se(!1),ye()},endpoint:gt,dialect:p==null?void 0:p.dialect}),c.jsx(Xm,{open:K,onOpenChange:ee,children:c.jsxs(Sf,{children:[c.jsxs(Nf,{children:[c.jsx(kf,{children:"Name Conflict"}),c.jsxs(Ef,{children:['A domain metric named "',y.trim(),'" already exists. Your local version will override it in this'," ",Z==="dashboard"?"dashboard":"card",". Continue?"]})]}),c.jsxs(jf,{children:[c.jsx(Tf,{onClick:()=>{J(null)},children:"Choose Different Name"}),c.jsx(_f,{onClick:async()=>{if(Z){ee(!1),ce(!0);try{await qy(Z)}finally{ce(!1),J(null)}}},children:"Continue"})]})]})})]})}function fne({domainId:e}){const{authToken:t,tokenProps:n}=Xe(),[r,s]=w.useState(!1),[o,i]=w.useState(null),a=w.useMemo(()=>{var m;if(!e)return null;const f=(m=n==null?void 0:n.apiServiceUrl)==null?void 0:m.replace(/\/$/,""),h=`/v1/domains/${e}/calculated-metrics`;return f?`${f}${h}`:h},[e,n==null?void 0:n.apiServiceUrl]),l=w.useMemo(()=>{var m;if(!e)return null;const f=(m=n==null?void 0:n.apiServiceUrl)==null?void 0:m.replace(/\/$/,""),h=`/v1/domains/${e}/calculated-dimensions`;return f?`${f}${h}`:h},[e,n==null?void 0:n.apiServiceUrl]),u=w.useCallback(async f=>{if(!a){const h="Domain promotion is not available";throw i(h),new Error(h)}if(!(t!=null&&t.accessToken)){const h="Missing authentication token";throw i(h),new Error(h)}s(!0),i(null);try{return await Kr(a,t.accessToken,f)}catch(h){const m=(h==null?void 0:h.error)||(h==null?void 0:h.message)||"Failed to save to domain";throw i(m),new Error(m)}finally{s(!1)}},[a,t==null?void 0:t.accessToken]),d=w.useCallback(async f=>{if(!l){const h="Domain promotion is not available";throw i(h),new Error(h)}if(!(t!=null&&t.accessToken)){const h="Missing authentication token";throw i(h),new Error(h)}s(!0),i(null);try{return await Kr(l,t.accessToken,f)}catch(h){const m=(h==null?void 0:h.error)||(h==null?void 0:h.message)||"Failed to save to domain";throw i(m),new Error(m)}finally{s(!1)}},[l,t==null?void 0:t.accessToken]);return{promoteMetric:u,promoteDimension:d,isPromoting:r,error:o}}const hne=w.memo(function({context:t="editor",onFieldSelect:n,inlineFilters:r}={}){var ye,Ae,Ke,et;const[s,o]=w.useState(""),[i,a]=w.useState("all"),[l,u]=w.useState(!1),[d,f]=w.useState(null),[h,m]=w.useState("card"),[p,g]=w.useState("metric");$e(ue=>ue.isDevMode);const b=$e(ue=>ue.card.dataSource),x=$e(ue=>ue.card.config),y=$e(ue=>ue.card),v=$e(ue=>ue.frame),C=$e(ue=>ue.actions.updateCardConfig),N=$e(ue=>ue.actions.updateFrame),{userContext:S}=Ls(),{autoJoinMetadata:j}=Wa(y),{columns:k,rawColumnGroups:_,scopedFields:E,dashboardCalculatedFields:M,cardCalculatedFields:T,isLoading:P,error:F,refetch:A}=mP(),$=(b==null?void 0:b.mode)==="semanticDomain"?b.semanticDomainId:void 0,{data:q}=pP($),{promoteMetric:W,promoteDimension:z}=fne({domainId:$}),I=w.useMemo(()=>[...(x==null?void 0:x.groupByColumns)||[],...(x==null?void 0:x.metricColumns)||[],...(x==null?void 0:x.detailColumns)||[]],[x==null?void 0:x.groupByColumns,x==null?void 0:x.metricColumns,x==null?void 0:x.detailColumns]);(Ae=(ye=x==null?void 0:x.joinPlan)==null?void 0:ye.baseEntity)==null||Ae.name,(et=(Ke=j==null?void 0:j.resolvedJoinPlan)==null?void 0:Ke.baseEntity)==null||et.name,Wte();const L=t==="editor",O=(S==null?void 0:S.type)==="organization",R=L?E:k,H=_,V=s.toLowerCase(),Y=(x==null?void 0:x.metricColumns)||[],U=(x==null?void 0:x.groupByColumns)||[],B=w.useCallback(async ue=>{await W(ue),A()},[W,A]),G=w.useCallback(async ue=>{await z(ue),A()},[z,A]),Z=ue=>ue.name.toLowerCase().includes(V)||ue.dataType.toLowerCase().includes(V)||ue.label&&ue.label.toLowerCase().includes(V)||ue.qualifiedEntityName&&ue.qualifiedEntityName.toLowerCase().includes(V),J=ue=>(ue.label||ue.name).toLowerCase().trim(),K=(ue,ze)=>J(ue).localeCompare(J(ze),void 0,{numeric:!0,sensitivity:"base"}),ee=R.filter(Z).sort(K),se=ue=>{if(ue.role==="metric"&&ac(ue)||ue.role==="groupby"&&ue.expression)return"calculated";if(ue.dataType==="number"||ue.dataType==="integer"||ue.dataType==="float"||ue.dataType==="decimal"||ue.dataType==="currency")return"metrics";const ze=Cr(ue.dataType);return["date","string","boolean"].includes(ze)?"dimensions":ze==="number"?"metrics":"dimensions"},ce=ue=>{const ze=ue.filter(Z);return i==="all"?ze:ze.filter(Qe=>se(Qe)===i)},he=i==="all"?ee:ee.filter(ue=>se(ue)===i),Se=L?[...M,...T]:[],be=L?ce(Se).sort(K):[],ae=ce(k).sort(K).reduce((ue,ze)=>{const Qe=ze.qualifiedEntityName||"Other Fields";return ue[Qe]||(ue[Qe]={label:gb(ze.entityName),fields:[]}),ue[Qe].fields.push(ze),ue},{}),ie=w.useMemo(()=>Object.entries(ae).map(([ue,ze])=>{const Qe=H.find(mn=>mn.entityName===ue)||{entityName:ue,label:ze.label},jt=ue===sm?"Domain Calculated Fields":Qe.label||Qe.entityName;return{groupName:ue,groupLabel:jt,fields:[...ze.fields].sort(K)}}).sort((ue,ze)=>ue.groupLabel.localeCompare(ze.groupLabel,void 0,{numeric:!0,sensitivity:"base"})),[ae,H]),xe=ue=>ue.id||`${ue.entityName}-${ue.qualifiedEntityName}-${ue.name}-${ue.role||"field"}`,de=w.useMemo(()=>{const ue=new Map;return(L?E:k).forEach(Qe=>{ue.set(xe(Qe),eI(Qe,{joinabilityMap:(q==null?void 0:q.joinabilityMap)||null,selectedFields:I,cardConfig:x,autoJoinMetadata:j}))}),ue},[L,E,k,q==null?void 0:q.joinabilityMap,I,x,j]),Ce=L?[{key:"scope-calculated",label:"Calculated Fields",fields:be}].filter(ue=>ue.fields.length>0):[],re=[...Ce.map(ue=>ue.key),...ie.map(ue=>ue.groupName)],me=ee.filter(ue=>se(ue)==="dimensions").length,Oe=ee.filter(ue=>se(ue)==="metrics").length,Pe=ee.filter(ue=>se(ue)==="calculated").length,Ie=ee.length>0&&t!=="inline-filter",He=t==="inline-filter"?"w-full":"w-[290px]";if(P)return c.jsx("div",{className:X("flex h-full flex-col items-center justify-center py-8",He),children:c.jsx(nc,{size:"md",color:"muted","aria-label":"Loading data"})});if(F)return c.jsxs("div",{className:X("flex h-full flex-col items-center justify-center py-8",He),children:[c.jsx(Ll,{className:"mb-4 h-12 w-12 text-red-300"}),c.jsx("p",{className:"mb-2 text-sm text-red-500",children:"Error loading fields"}),c.jsx("p",{className:"px-4 text-center text-xs text-red-400",children:F.message||"Failed to load column data"})]});if(!b||!b.selectedEntities||b.selectedEntities.length===0)return c.jsxs("div",{className:X("flex flex-col items-center justify-center py-8 text-center",He),children:[c.jsx(Ll,{className:"mb-4 h-12 w-12 text-gray-300"}),c.jsx("p",{className:"mb-2 text-sm text-gray-500",children:"No data source selected"}),c.jsx("p",{className:"px-4 text-xs text-gray-400",children:t==="filter"||t==="inline-filter"?"Configure a data source for this card to see available fields":"Select a table, view, or dataset from the data source panel to see available fields"})]});const Je=t==="inline-filter"?"px-3 pb-3":"px-6 pb-6",at=t==="inline-filter"?"overflow-hidden":"",gt=ue=>ue!=null&&ue.startsWith("card-source-")?ue.replace("card-source-",""):ue,bt=(ue,ze,Qe)=>{const jt=gt(ue.id),mn=gt(ze.id);return jt&&mn&&jt===mn?!0:!jt||!mn||Qe!=null&&Qe.allowNameFallback?ue.name===ze.name&&ue.role===ze.role:!1},ft=(ue,ze,Qe)=>ue.findIndex(jt=>bt(jt,ze,Qe)),Ut=ue=>{if(!v)return ue;const ze=v.calculatedFields||[],Qe=ft(ze,ue),jt=Qe>=0&&ze[Qe].id!==ue.id?{...ue,id:ze[Qe].id}:ue,mn=Qe>=0?ze.map((fr,Wr)=>Wr===Qe?jt:fr):[...ze,jt];return N({calculatedFields:mn}),jt},Ue=(ue,ze,Qe,jt)=>{var fr;const mn=ft(ue,Qe||ze,jt);if(mn>=0){const Wr=(fr=ue[mn])==null?void 0:fr.id,jo=Wr&&Wr!==ze.id?{...ze,id:Wr}:ze;return ue.map((ol,Op)=>Op===mn?jo:ol)}return[...ue,ze]},Et=ue=>{if(ue.role==="metric")return Y.find(ze=>bt(ze,ue));if(ue.role==="groupby")return U.find(ze=>bt(ze,ue))},le=ue=>{var ze;return(ze=v==null?void 0:v.calculatedFields)==null?void 0:ze.find(Qe=>bt(Qe,ue))},Re=ue=>{if(ue.role==="metric"){C(y.id,{metricColumns:Y.filter(ze=>!bt(ze,ue,{allowNameFallback:ue.fieldScope==="dashboard"}))});return}ue.role==="groupby"&&C(y.id,{groupByColumns:U.filter(ze=>!bt(ze,ue,{allowNameFallback:ue.fieldScope==="dashboard"}))})},_e=ue=>{if(!v)return;const ze=(v.calculatedFields||[]).filter(Qe=>!bt(Qe,ue));N({calculatedFields:ze})},De=ue=>{if(!O)return;if(ue.fieldScope==="domain"){f(ue),m("domain"),g(ue.role==="metric"?"metric":"dimension"),u(!0);return}if(ue.fieldScope==="dashboard"){const Qe=le(ue);if(!Qe)return;f(Qe),m("dashboard"),g(Qe.role==="metric"?"metric":"dimension"),u(!0);return}const ze=Et(ue);ze&&(f(ze),m("card"),g(ze.role==="metric"?"metric":"dimension"),u(!0))},We=ue=>{if(O&&ue.fieldScope!=="domain"){if(ue.fieldScope==="dashboard"){_e(ue),Re(ue);return}Re(ue)}},ke=ue=>{if(!O)return null;const ze=ue.fieldScope==="domain";return c.jsxs(wf,{children:[c.jsx(Cf,{asChild:!0,children:c.jsx(oe,{variant:"ghost",size:"icon",className:"h-6 w-6","aria-label":"Calculated field actions",children:c.jsx(U8,{className:"h-4 w-4"})})}),c.jsxs(vu,{align:"end",className:"w-40",children:[c.jsx(xo,{onClick:()=>De(ue),children:"Edit"}),c.jsx(xo,{disabled:ze,onClick:()=>We(ue),children:"Delete"})]})]})};return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:X("mt-2 flex h-full w-full grow flex-col gap-2",Je,at),children:[c.jsxs("div",{className:"mt-1 flex-shrink-0 space-y-2",children:[R.length>0&&c.jsxs("div",{className:"relative",children:[c.jsx(Xo,{className:"absolute left-3 top-1/2 size-3.5 -translate-y-1/2 transform text-muted-foreground"}),c.jsx(En,{className:"pl-10 pr-10",type:"text",placeholder:"Search fields...",value:s,onChange:ue=>o(ue.target.value)}),s&&c.jsx("button",{className:"absolute right-3 top-1/2 -translate-y-1/2 transform text-muted-foreground hover:text-foreground",onClick:()=>o(""),type:"button",children:c.jsx(kt,{className:"size-3.5"})})]}),Ie&&c.jsx(zs,{defaultValue:"all",value:i,onValueChange:ue=>a(ue),className:"mb-4",children:c.jsxs(vs,{className:"grid h-9 w-full grid-cols-4",children:[c.jsxs(sn,{value:"all",className:"text-xs",children:["All",c.jsx("span",{className:"ml-2 text-xs font-semibold",children:ee.length})]}),c.jsxs(sn,{value:"dimensions",className:"text-xs",children:[c.jsx(aC,{className:"size-4 shrink-0"}),c.jsx("span",{className:"ml-2 text-xs font-semibold",children:me})]}),c.jsxs(sn,{value:"metrics",className:"text-xs",children:[c.jsx(zm,{className:"size-4 shrink-0"}),c.jsx("span",{className:"ml-2 text-xs font-semibold",children:Oe})]}),c.jsxs(sn,{value:"calculated",className:"text-xs",children:[c.jsx(lM,{className:"size-4 shrink-0"}),c.jsx("span",{className:"ml-2 text-xs font-semibold",children:Pe})]})]})}),t==="editor"&&i==="calculated"&&O&&c.jsx("div",{className:"flex items-center justify-end gap-2",children:c.jsxs(oe,{size:"sm",variant:"outline",className:"w-full",onClick:()=>{f(null),m("card"),g("dimension"),u(!0)},children:[c.jsx(Ir,{className:"mr-2 h-3.5 w-3.5"}),"Add calculated field"]})})]}),c.jsxs(nl,{className:"min-h-0 flex-1",children:[c.jsxs(vP,{type:"multiple",defaultValue:re,className:"space-y-2",children:[Ce.map(ue=>c.jsxs(hx,{value:ue.key,className:"border-none",children:[c.jsx(mx,{className:"group rounded-md px-2.5 py-2 text-muted-foreground hover:bg-muted hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"max-w-[190px] truncate text-ellipsis whitespace-nowrap text-sm font-medium text-primary",children:ue.label}),c.jsx(Ye,{variant:"secondary",className:"rounded-full text-xs text-muted-foreground group-hover:bg-background",children:ue.fields.length})]})}),c.jsx(px,{className:"pb-2",children:c.jsx("div",{className:"space-y-1",children:ue.fields.map(ze=>{const Qe=de.get(xe(ze)),jt=t==="editor"&&i==="calculated";return c.jsx(Q6,{field:ze,context:t,fieldState:Qe,onFieldSelect:n,inlineFilters:t==="inline-filter"?r:void 0,actions:jt?ke(ze):void 0},ze.id)})})})]},ue.key)),ie.map(({groupName:ue,groupLabel:ze,fields:Qe})=>c.jsxs(hx,{value:ue,className:"border-none",children:[c.jsx(mx,{className:"group rounded-md px-2.5 py-2 text-muted-foreground hover:bg-muted hover:no-underline",children:c.jsxs("div",{title:ze,className:"flex items-center gap-2",children:[c.jsx("span",{className:"max-w-[190px] truncate text-ellipsis whitespace-nowrap text-sm font-medium text-primary",children:ze}),c.jsx(Ye,{variant:"secondary",className:"rounded-full text-xs text-muted-foreground group-hover:bg-background",children:Qe.length})]})}),c.jsx(px,{className:"pb-2",children:c.jsx("div",{className:"space-y-1",children:Qe.map(jt=>{const mn=de.get(xe(jt));return c.jsx(Q6,{field:jt,context:t,fieldState:mn,onFieldSelect:n,inlineFilters:t==="inline-filter"?r:void 0},jt.id)})})})]},ue))]}),R.length===0&&c.jsxs("div",{className:"py-8 text-center text-sm text-gray-500",children:[c.jsx("p",{children:"No fields found for selected data source"}),c.jsx("p",{className:"mt-1 text-xs text-gray-400",children:t==="filter"?"The selected data source has no available fields":"Try selecting different data sources"})]}),R.length>0&&he.length===0&&c.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:"No fields found for this category"}),c.jsx(vi,{orientation:"horizontal"}),c.jsx(vi,{orientation:"vertical"})]})]}),c.jsx(dne,{open:l,onOpenChange:ue=>{u(ue),ue||(f(null),m("card"))},availableFields:E,existingField:d??void 0,existingFieldScope:h,initialFieldType:p,onSave:ue=>{if(ue.role==="metric"){if(d&&h==="card"){C(y.id,{metricColumns:Ue(Y,ue,d)});return}C(y.id,{metricColumns:Ue(Y,ue)});return}if(d&&h==="card"){C(y.id,{groupByColumns:Ue(U,ue,d)});return}C(y.id,{groupByColumns:Ue(U,ue)})},onSaveToDashboard:ue=>{const ze=!!(d&&h==="dashboard"),Qe=ze?d:void 0;if(ue.role==="metric"){const mn=Ut(ue);C(y.id,{metricColumns:Ue(Y,mn,Qe,{allowNameFallback:ze})});return}const jt=Ut(ue);C(y.id,{groupByColumns:Ue(U,jt,Qe,{allowNameFallback:ze})})},cardId:y.id,onPromoteMetricToDomain:$?B:void 0,onPromoteDimensionToDomain:$?G:void 0,domainId:$})]})}),mne=w.memo(function({context:t="editor"}={}){return c.jsxs("div",{"data-content":"fields-section",className:"flex h-full grow flex-col items-center overflow-hidden",children:[" ",c.jsx(hne,{context:t})," "]})});function pne(){const e=$e(i=>i.card.dataSource),{setSelectedConnectionId:t,setSelectedDatabaseName:n,setSelectedSchemaName:r,setSelectedTableName:s,setSelectedDatamodelId:o}=Nr();w.useEffect(()=>{var m;if(!e)return;const{tableName:i,schemaName:a,databaseName:l,connectionId:u}=gP(e),d=(m=e.selectedEntities)==null?void 0:m[0],h=(d==null?void 0:d.type)==="model"&&"id"in d?d.id:"";t(u||""),n(l||""),r(a||""),s(i||""),o(h)},[e,t,n,r,s,o])}function iet(){pne();const e=Q(l=>l.selectedSheetId),t=Q(l=>l.selectedFrameId),n=Q(l=>l.dashboard),r=Q(l=>l.actions.getSelectedFrame),{setSelectedFrameId:s}=Ht(),{setCard:o}=Nr(),i=$e(l=>l.card.dataSource);return w.useEffect(()=>{var u,d;let l=r();if(!l){const f=(u=n==null?void 0:n.sheets)==null?void 0:u.find(m=>m.id===e),h=(d=f==null?void 0:f.frames)==null?void 0:d[0];h&&(s(h.id),l=h)}if(l){const f=l.cards.find(h=>h.id===l.activeCardId);f&&o(f)}},[r,e,t,n,s,o]),{hasEntities:!!(i!=null&&i.selectedEntities&&i.selectedEntities.length>0)}}function aet(){const e=Q(o=>o.dashboard.filterLayout),{setFilterLayout:t}=Ht(),n=(e==null?void 0:e.displayMode)||"canvas",r=(e==null?void 0:e.toolbarWrap)??!1,s=(e==null?void 0:e.showDownloadButton)??!1;return c.jsxs(As,{children:[c.jsx(Ps,{asChild:!0,children:c.jsx(oe,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0","aria-label":"Filter display settings",children:c.jsx(zl,{className:"h-4 w-4"})})}),c.jsx(Fs,{className:"w-[280px]",align:"end",children:c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{children:[c.jsx("h4",{className:"mb-3 text-sm font-medium",children:"Filter Display"}),c.jsxs(so,{value:n,onValueChange:o=>t({displayMode:o}),className:"space-y-2",children:[c.jsxs("div",{className:"flex items-start space-x-3",children:[c.jsx(vn,{value:"canvas",id:"canvas",className:"mt-0.5"}),c.jsxs("div",{className:"grid gap-0.5",children:[c.jsx(fe,{htmlFor:"canvas",className:"cursor-pointer font-normal",children:"Canvas Cards"}),c.jsx("p",{className:"text-xs text-muted-foreground",children:"Filters as draggable, resizable cards on the dashboard"})]})]}),c.jsxs("div",{className:"flex items-start space-x-3",children:[c.jsx(vn,{value:"toolbar",id:"toolbar",className:"mt-0.5"}),c.jsxs("div",{className:"grid gap-0.5",children:[c.jsx(fe,{htmlFor:"toolbar",className:"cursor-pointer font-normal",children:"Toolbar"}),c.jsx("p",{className:"text-xs text-muted-foreground",children:"Compact horizontal toolbar below dashboard controls"})]})]})]})]}),n==="toolbar"&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-center space-x-2 border-t pt-4",children:[c.jsx(dn,{id:"wrap",checked:r,onCheckedChange:o=>t({toolbarWrap:o===!0})}),c.jsx(fe,{htmlFor:"wrap",className:"cursor-pointer text-sm font-normal",children:"Wrap filters to multiple lines"})]}),c.jsxs("div",{className:"flex items-center space-x-2 pt-2",children:[c.jsx(dn,{id:"download",checked:s,onCheckedChange:o=>t({showDownloadButton:o===!0})}),c.jsx(fe,{htmlFor:"download",className:"cursor-pointer text-sm font-normal",children:"Show download button"})]})]}),c.jsx("p",{className:"border-t pt-3 text-xs text-muted-foreground",children:"Individual filters can override this setting in their configuration."})]})})]})}function cet(){const e=Q(n=>n.actions.setShowFilters),{hasEntities:t}=iet();return c.jsxs("section",{className:"relative flex min-w-[320px] grow flex-col overflow-hidden border-l",children:[c.jsxs("div",{className:"mt-4 flex items-center justify-between gap-2 px-4",children:[c.jsx(fe,{className:"px-2 text-base",children:"Dashboard Filters"}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(aet,{}),c.jsx(oe,{onClick:()=>e(!1),className:"h-7 w-7 p-0",variant:"ghost",children:c.jsx(YX,{})})]})]}),!t&&c.jsxs("div",{className:"flex h-full flex-col items-center justify-center px-6 py-12 text-center",children:[c.jsx(Ll,{className:"mb-4 h-12 w-12 text-muted-foreground/50"}),c.jsx("h3",{className:"mb-2 text-sm font-medium text-foreground",children:"No fields configured"}),c.jsx("p",{className:"text-xs text-muted-foreground",children:"Please configure a data source for this card to enable filtering"})]}),t&&c.jsx("div",{className:"flex grow overflow-y-auto",children:c.jsx(Ay,{collisionDetection:Dy,children:c.jsx(Py,{items:[],strategy:NA,children:c.jsx(mne,{context:"filter"})})})})]})}function uet(){const e=Q(r=>r.dashboard.filters),t=Q(r=>r.theme),n=e==null?void 0:e.filter(r=>r.hide);return n!=null&&n.length?c.jsx("div",{className:X("mb-1 flex items-center gap-2 border-y px-0.5 pb-0.5",{"bg-[repeating-linear-gradient(45deg,_#ffffff_0_3px,_#f3f3f3_3px_6px)]":t==="light","bg-[repeating-linear-gradient(45deg,_#18171d_0_3px,_#272729_3px_6px)]":t==="dark"}),children:n==null?void 0:n.map(r=>c.jsxs("div",{className:"flex min-w-[250px] max-w-fit flex-col gap-1 p-2",children:[c.jsx(bA,{filter:r}),c.jsx(Ep,{filter:r})]},r.id))}):null}function det(){const e=Q(r=>r.showFilters),t=Q(r=>r.isVisualEditing),n=Q(r=>r.isDashboardEditing);return c.jsxs("div",{role:"dashboard-plus-main",className:X("",{"max-h-0 overflow-hidden":t,"flex grow overflow-hidden":!t}),children:[c.jsxs("section",{className:"flex grow flex-col overflow-y-auto",children:[n&&c.jsx(uet,{}),c.jsx($te,{})]}),e&&c.jsx("div",{role:"filter-aside-container",className:"flex overflow-hidden",children:c.jsx(cet,{})})]})}const fet=w.lazy(()=>Promise.resolve().then(()=>require("./dashboard-controls-D5VrI40y.js"))),het=w.lazy(()=>Promise.resolve().then(()=>require("./edit-dashboard-visual-RiCeBX0X.js"))),met=w.lazy(()=>Promise.resolve().then(()=>require("./dashboard-json-Dh8csIFq.js"))),pet=w.lazy(()=>Promise.resolve().then(()=>require("./resource-management-panel-DBnpAHFb.js")).then(e=>({default:e.ResourceManagementPanel})));function get({showControls:e=!1,showFooter:t=!0,...n}){const r=Q(l=>l.isDashboardPanelOpen),s=Q(l=>l.isVisualEditing),o=Q(l=>l.showDashboardJSON),i=Q(l=>l.actions.setIsDashboardPanelOpen),{preferences:a}=n;return c.jsx(sa,{FallbackComponent:LS,children:c.jsxs(aM,{dashboardProps:n,children:[c.jsx(Zde,{}),c.jsx(hP,{componentType:"surfboard",componentId:n.id}),c.jsx(fP,{children:c.jsxs(Lte,{preferences:a,children:[o&&c.jsx(w.Suspense,{fallback:null,children:c.jsx(met,{})}),c.jsxs("main",{className:"relative flex h-full w-full flex-col overflow-hidden",children:[e&&c.jsx(w.Suspense,{fallback:null,children:c.jsx(fet,{})}),c.jsxs("div",{className:"flex grow overflow-hidden",children:[r&&c.jsx(w.Suspense,{fallback:null,children:c.jsx(pet,{isOpen:r,onClose:()=>i(!1),variant:"inline"})}),c.jsx("div",{className:"flex min-w-0 flex-1",children:c.jsxs(NI,{...n,type:"dashboard",children:[s&&c.jsx(w.Suspense,{fallback:null,children:c.jsx(het,{})}),c.jsx(det,{})]})})]})]})]})})]})})}const gne=D.forwardRef(({className:e,...t},n)=>c.jsx(Oy,{className:X("peer inline-flex h-[22px] w-[36px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:n,children:c.jsx(kA,{className:X("pointer-events-none block size-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));gne.displayName=Oy.displayName;var bet=Object.defineProperty,xet=(e,t,n)=>t in e?bet(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cv=(e,t,n)=>xet(e,typeof t!="symbol"?t+"":t,n);const yet={stringify:e=>e?"true":"false",parse:e=>/^[ty1-9]/i.test(e)},vet={stringify:e=>e.name,parse:(e,t,n)=>{const r=(()=>{if(typeof window<"u"&&e in window)return window[e];if(typeof global<"u"&&e in global)return global[e]})();return typeof r=="function"?r.bind(n):void 0}},wet={stringify:e=>JSON.stringify(e),parse:e=>JSON.parse(e)};function Cet(e){return e.replace(/([a-z0-9])([A-Z])/g,(t,n,r)=>`${n}-${r.toLowerCase()}`)}function bne(e){return e.replace(/[-:]([a-z])/g,(t,n)=>`${n.toUpperCase()}`)}const Net={stringify:e=>e.name,parse:(e,t,n)=>{const r=(()=>{const s=bne(t);if(typeof n<"u"&&s in n.container)return n.container[s]})();return typeof r=="function"?r.bind(n):void 0}},jet={stringify:e=>`${e}`,parse:e=>parseFloat(e)},ket={stringify:e=>e,parse:e=>e},xk={string:ket,number:jet,boolean:yet,function:vet,method:Net,json:wet},lg=Symbol.for("r2wc.render"),Sv=Symbol.for("r2wc.connected"),Ku=Symbol.for("r2wc.context"),Mo=Symbol.for("r2wc.props");function Eet(e,t,n){var r,s,o;t.props||(t.props=e.propTypes?Object.keys(e.propTypes):[]),t.events||(t.events=[]);const i=Array.isArray(t.props)?t.props.slice():Object.keys(t.props),a=Array.isArray(t.events)?t.events.slice():Object.keys(t.events),l={},u={},d={},f={};for(const m of i){l[m]=Array.isArray(t.props)?"string":t.props[m];const p=Cet(m);d[m]=p,f[p]=m}for(const m of a)u[m]=Array.isArray(t.events)?{}:t.events[m];class h extends HTMLElement{constructor(){super(),Cv(this,o,!0),Cv(this,s),Cv(this,r,{}),Cv(this,"container"),t.shadow?this.container=this.attachShadow({mode:t.shadow}):this.container=this,this[Mo].container=this.container;for(const p of i){const g=d[p],b=this.getAttribute(g),x=l[p],y=x?xk[x]:null;if(x==="method"){const v=bne(g);Object.defineProperty(this[Mo].container,v,{enumerable:!0,configurable:!0,get(){return this[Mo][v]},set(C){this[Mo][v]=C,this[lg]()}}),this[Mo][p]=y.parse(b,g,this)}y!=null&&y.parse&&b&&(this[Mo][p]=y.parse(b,g,this))}for(const p of a)this[Mo][p]=g=>{const b=p.replace(/^on/,"").toLowerCase();this.dispatchEvent(new CustomEvent(b,{detail:g,...u[p]}))}}static get observedAttributes(){return Object.keys(f)}connectedCallback(){this[Sv]=!0,this[lg]()}disconnectedCallback(){this[Sv]=!1,this[Ku]&&n.unmount(this[Ku]),delete this[Ku]}attributeChangedCallback(p,g,b){const x=f[p],y=l[x],v=y?xk[y]:null;x in l&&v!=null&&v.parse&&b&&(this[Mo][x]=v.parse(b,p,this),this[lg]())}[(o=Sv,s=Ku,r=Mo,lg)](){this[Sv]&&(this[Ku]?n.update(this[Ku],this[Mo]):this[Ku]=n.mount(this.container,e,this[Mo]))}}for(const m of i){const p=d[m],g=l[m];Object.defineProperty(h.prototype,m,{enumerable:!0,configurable:!0,get(){return this[Mo][m]},set(b){this[Mo][m]=b;const x=g?xk[g]:null;if(x!=null&&x.stringify){const y=x.stringify(b,p,this);this.getAttribute(p)!==y&&this.setAttribute(p,y)}else this[lg]()}})}return h}function _et(e,t,n){const r=mre.createRoot(e),s=w.createElement(t,n);return r.render(s),{root:r,ReactComponent:t}}function Tet({root:e,ReactComponent:t},n){const r=w.createElement(t,n);e.render(r)}function Met({root:e}){e.unmount()}function Det(e,t={}){return Eet(e,t,{mount:_et,update:Tet,unmount:Met})}const Iet={id:"string",version:"string",authToken:"json",placeholders:"json",defaultFilterValues:"json",currentTheme:"string",customCards:"json",customStyle:"json",onChartElementClicked:"function",onFilterValuesChange:"function",onEvent:"function",onSave:"function",LoadingComponent:"function",ErrorComponent:"function",showAssistant:"boolean",selectedSheetId:"string",eventHandlers:"json",preferences:"json"},Ret=Det(zte,{props:Iet});function oz(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Aet(e){if(Array.isArray(e))return e}function Pet(e,t,n){return(t=Vet(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fet(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,s,o,i,a=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,t!==0)for(;!(l=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(d){u=!0,s=d}finally{try{if(!l&&n.return!=null&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw s}}return a}}function Oet(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
1078
1078
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function iz(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function az(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?iz(Object(n),!0).forEach(function(r){Pet(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iz(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function $et(e,t){if(e==null)return{};var n,r,s=Let(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function Let(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function zet(e,t){return Aet(e)||Fet(e,t)||Het(e,t)||Oet()}function Bet(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Vet(e){var t=Bet(e,"string");return typeof t=="symbol"?t:t+""}function Het(e,t){if(e){if(typeof e=="string")return oz(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?oz(e,t):void 0}}function Uet(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lz(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function cz(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?lz(Object(n),!0).forEach(function(r){Uet(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lz(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Wet(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r){return t.reduceRight(function(s,o){return o(s)},r)}}function Fg(e){return function t(){for(var n=this,r=arguments.length,s=new Array(r),o=0;o<r;o++)s[o]=arguments[o];return s.length>=e.length?e.apply(this,s):function(){for(var i=arguments.length,a=new Array(i),l=0;l<i;l++)a[l]=arguments[l];return t.apply(n,[].concat(s,a))}}}function q1(e){return{}.toString.call(e).includes("Object")}function qet(e){return!Object.keys(e).length}function bx(e){return typeof e=="function"}function Yet(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Get(e,t){return q1(t)||ru("changeType"),Object.keys(t).some(function(n){return!Yet(e,n)})&&ru("changeField"),t}function Ket(e){bx(e)||ru("selectorType")}function Zet(e){bx(e)||q1(e)||ru("handlerType"),q1(e)&&Object.values(e).some(function(t){return!bx(t)})&&ru("handlersType")}function Xet(e){e||ru("initialIsRequired"),q1(e)||ru("initialType"),qet(e)&&ru("initialContent")}function Qet(e,t){throw new Error(e[t]||e.default)}var Jet={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},ru=Fg(Qet)(Jet),Nv={changes:Get,selector:Ket,handler:Zet,initial:Xet};function ett(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Nv.initial(e),Nv.handler(t);var n={current:e},r=Fg(rtt)(n,t),s=Fg(ntt)(n),o=Fg(Nv.changes)(e),i=Fg(ttt)(n);function a(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return Nv.selector(u),u(n.current)}function l(u){Wet(r,s,o,i)(u)}return[a,l]}function ttt(e,t){return bx(t)?t(e.current):t}function ntt(e,t){return e.current=cz(cz({},e.current),t),t}function rtt(e,t,n){return bx(t)?t(e.current):Object.keys(n).forEach(function(r){var s;return(s=t[r])===null||s===void 0?void 0:s.call(t,e.current[r])}),n}var stt={create:ett},ott={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function itt(e){return function t(){for(var n=this,r=arguments.length,s=new Array(r),o=0;o<r;o++)s[o]=arguments[o];return s.length>=e.length?e.apply(this,s):function(){for(var i=arguments.length,a=new Array(i),l=0;l<i;l++)a[l]=arguments[l];return t.apply(n,[].concat(s,a))}}}function att(e){return{}.toString.call(e).includes("Object")}function ltt(e){return e||uz("configIsRequired"),att(e)||uz("configType"),e.urls?(ctt(),{paths:{vs:e.urls.monacoBase}}):e}function ctt(){console.warn(xne.deprecation)}function utt(e,t){throw new Error(e[t]||e.default)}var xne={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
1079
1079
|
You are using deprecated way of configuration.
|
|
1080
1080
|
|