@malloy-publisher/app 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/core-DyU47reh.es-DY9b3WjS.js","assets/engine-oniguruma-C4vnmooL.es-jdkXmgTr.js","assets/index-C5ClsnS7.js","assets/index-w_0OQJgZ.js","assets/index-DgVRz2wm.js","assets/index-DF9tVqwN.js","assets/index-DSoCUF-f.js","assets/MainPage-CylxO5Yu.js","assets/LightMode-mHHPjEeA.js","assets/ThemeEditorPage-B62rRc-y.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/core-mFfgwzPH.es-DVYiO2_O.js","assets/engine-oniguruma-C4vnmooL.es-jdkXmgTr.js","assets/index-BwGkdFCK.js","assets/index-w_0OQJgZ.js","assets/index-C9Ted14e.js","assets/index-D3eb2hal.js","assets/index-DSoCUF-f.js","assets/MainPage-C1_VHMxk.js","assets/LightMode-DwFiroPa.js","assets/ThemeEditorPage-DpxdBjEn.js"])))=>i.map(i=>d[i]);
2
2
  function AH(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const a=Object.getOwnPropertyDescriptor(r,o);a&&Object.defineProperty(e,o,a.get?a:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(o){if(o.ep)return;o.ep=!0;const a=n(o);fetch(o.href,a)}})();var d3e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function O6(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var uT={exports:{}},Hg={};/**
3
3
  * @license React
4
4
  * react-jsx-runtime.production.js
@@ -390,7 +390,7 @@ import {${t.sourceName}}" from '${t.modelPath}'"
390
390
  - [ ] `),/^\d+.\s/.test(i)&&(E=`
391
391
  `+(parseInt(i)+1)+". "),Hh(r,E)}else if(e.code&&e.code.toLowerCase()==="keyd"&&e.ctrlKey){ix(e);var A={start:r.selectionStart,end:r.selectionEnd},M=A;A=vv({text:r.value,selection:A});var R=r.value.slice(A.start,A.end);s.setSelectionRange({start:A.end,end:A.end}),Hh(r,`
392
392
  `+R),s.setSelectionRange({start:M.start,end:M.end})}else e.code&&e.code.toLowerCase()==="arrowup"&&e.altKey?EL(e,-1):e.code&&e.code.toLowerCase()==="arrowdown"&&e.altKey&&EL(e,1)}var dCe=["prefixCls","onChange"],fCe=["markdown","commands","fullscreen","preview","highlightEnable","extraCommands","tabSize","defaultTabEnable","autoFocusEnd","textareaWarp","dispatch"];function pCe(e){var{prefixCls:t,onChange:n}=e,r=qn(e,dCe),o=w.useContext(jm),{markdown:a,commands:i,fullscreen:s,preview:l,highlightEnable:d,extraCommands:c,tabSize:p,defaultTabEnable:g,autoFocusEnd:y,textareaWarp:v,dispatch:S}=o;qn(o,fCe);var C=$t.useRef(null),b=$t.useRef(),T=$t.useRef({fullscreen:s,preview:l});w.useEffect(()=>{T.current={fullscreen:s,preview:l,highlightEnable:d}},[s,l,d]),w.useEffect(()=>{if(C.current&&S){var A=new dO(C.current);b.current=A,S({textarea:C.current,commandOrchestrator:A})}},[]),w.useEffect(()=>{if(y&&C.current&&v){C.current.focus();var A=C.current.value.length;C.current.setSelectionRange(A,A),setTimeout(()=>{v&&(v.scrollTop=v.scrollHeight),C.current&&(C.current.scrollTop=C.current.scrollHeight)},0)}},[v]);var E=A=>{uCe(A,p,g),K7(A,[...i||[],...c||[]],b.current,S,T.current)};return w.useEffect(()=>(C.current&&C.current.addEventListener("keydown",E),()=>{C.current&&C.current.removeEventListener("keydown",E)}),[]),m.jsx("textarea",Te({autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1},r,{ref:C,className:t+"-text-input "+(r.className?r.className:""),value:a,onChange:A=>{S&&S({markdown:A.target.value}),n&&n(A)}}))}var hCe=["prefixCls","className","onScroll","renderTextarea"];function mCe(e){var t=e||{},{prefixCls:n,className:r,onScroll:o,renderTextarea:a}=t,i=qn(t,hCe),{markdown:s,scrollTop:l,commands:d,extraCommands:c,dispatch:p}=w.useContext(jm),g=$t.useRef(null),y=$t.useRef(),v=$t.createRef();w.useEffect(()=>{var C={};v.current&&(C.textareaWarp=v.current||void 0,v.current.scrollTop=l||0),p&&p(Te({},C))},[]),w.useEffect(()=>{if(g.current&&p){var C=new dO(g.current);y.current=C,p({textarea:g.current,commandOrchestrator:C})}},[]);var S={WebkitTextFillColor:"initial",overflow:"auto"};return m.jsx("div",{ref:v,className:n+"-area "+(r||""),onScroll:o,children:m.jsx("div",{className:n+"-text",children:a?$t.cloneElement(a(Te({},i,{value:s,autoComplete:"off",autoCorrect:"off",spellCheck:"false",autoCapitalize:"off",className:n+"-text-input",style:{WebkitTextFillColor:"inherit",overflow:"auto"}}),{dispatch:p,onChange:i.onChange,shortcuts:K7,useContext:{commands:d,extraCommands:c,commandOrchestrator:y.current}}),{ref:g}):m.jsx(w.Fragment,{children:m.jsx(pCe,Te({prefixCls:n},i,{style:S}))})})})}function gCe(e){var{prefixCls:t,groupName:n,commands:r,children:o}=e||{},{barPopup:a={}}=w.useContext(jm);return w.useMemo(()=>m.jsx("div",{className:t+"-toolbar-child "+(n&&a[n]?"active":""),onClick:i=>i.stopPropagation(),children:Array.isArray(r)?m.jsx(e9,Te({commands:r},e,{isChild:!0})):o}),[r,a,n,t])}function TL(e){var{prefixCls:t,overflow:n}=e,{fullscreen:r,preview:o,barPopup:a={},components:i,commandOrchestrator:s,dispatch:l}=w.useContext(jm),d=w.useRef("");function c(p,g){if(l){var y={barPopup:Te({},a)};p.keyCommand==="preview"&&(y.preview=p.value),p.keyCommand==="fullscreen"&&(y.fullscreen=!r),e.commands&&p.keyCommand==="group"?e.commands.forEach(v=>{g===v.groupName?y.barPopup[g]=!0:v.keyCommand&&(y.barPopup[v.groupName]=!1)}):(g||p.parent)&&Object.keys(y.barPopup||{}).forEach(v=>{y.barPopup[v]=!1}),Object.keys(y).length&&l(Te({},y)),s&&s.executeCommand(p)}}return w.useEffect(()=>{document&&n&&(r?document.body.style.overflow="hidden":(d.current||(d.current=window.getComputedStyle(document.body,null).overflow),document.body.style.overflow=d.current))},[r,d,n]),m.jsx("ul",{children:(e.commands||[]).map((p,g)=>{if(p.keyCommand==="divider")return m.jsx("li",Te({},p.liProps,{className:t+"-toolbar-divider"}),g);if(!p.keyCommand)return m.jsx(w.Fragment,{},g);var y=r&&p.keyCommand==="fullscreen"||p.keyCommand==="preview"&&o===p.value,v=p.children&&typeof p.children=="function"?p.children({getState:()=>s.getState(),textApi:s?s.textApi:void 0,close:()=>c({},p.groupName),execute:()=>c({execute:p.execute}),dispatch:l}):void 0,S=a&&o&&o==="preview"&&!/(preview|fullscreen)/.test(p.keyCommand),C=i?.toolbar||p.render,b=C&&typeof C=="function"?C(p,!!S,c,g):null;return m.jsxs("li",Te({},p.liProps,{className:y?"active":"",children:[b&&$t.isValidElement(b)&&b,!b&&!p.buttonProps&&p.icon,!b&&p.buttonProps&&$t.createElement("button",Te({type:"button",key:g,disabled:S,"data-name":p.name},p.buttonProps,{onClick:T=>{T.stopPropagation(),c(p,p.groupName)}}),p.icon),p.children&&m.jsx(gCe,{overflow:n,groupName:p.groupName,prefixCls:t,children:v,commands:Array.isArray(p.children)?p.children:void 0})]}),g)})})}function e9(e){e===void 0&&(e={});var{prefixCls:t,isChild:n,className:r}=e,{commands:o,extraCommands:a}=w.useContext(jm);return m.jsxs("div",{className:t+"-toolbar "+r,children:[m.jsx(TL,Te({},e,{commands:e.commands||o||[]})),!n&&m.jsx(TL,Te({},e,{commands:a||[]}))]})}function wL(e){var{hideToolbar:t,toolbarBottom:n,placement:r,overflow:o,prefixCls:a}=e;if(t||r==="bottom"&&!n||r==="top"&&n)return null;var i=n?"bottom":"";return m.jsx(e9,{prefixCls:a,overflow:o,className:i})}var yCe=e=>{var{prefixCls:t,onChange:n}=e||{},r=w.useRef(null),o=w.useRef(),a=w.useRef(e.height);w.useEffect(()=>{a.current!==e.height&&(a.current=e.height)},[e.height]);function i(c){if(o.current){var p,g=c.clientY||((p=c.changedTouches[0])==null?void 0:p.clientY),y=o.current.height+g-o.current.dragY;y>=e.minHeight&&y<=e.maxHeight&&n&&n(o.current.height+(g-o.current.dragY))}}function s(){var c,p;o.current=void 0,document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",s),(c=r.current)==null||c.removeEventListener("touchmove",i),(p=r.current)==null||p.removeEventListener("touchend",s)}function l(c){var p,g,y;c.preventDefault();var v=c.clientY||((p=c.changedTouches[0])==null?void 0:p.clientY);o.current={height:a.current,dragY:v},document.addEventListener("mousemove",i),document.addEventListener("mouseup",s),(g=r.current)==null||g.addEventListener("touchmove",i,{passive:!1}),(y=r.current)==null||y.addEventListener("touchend",s,{passive:!1})}w.useEffect(()=>{if(document){var c,p;(c=r.current)==null||c.addEventListener("touchstart",l,{passive:!1}),(p=r.current)==null||p.addEventListener("mousedown",l)}return()=>{if(document){var g;(g=r.current)==null||g.removeEventListener("touchstart",l),document.removeEventListener("mousemove",i)}}},[]);var d=w.useMemo(()=>m.jsx("svg",{viewBox:"0 0 512 512",height:"100%",children:m.jsx("path",{fill:"currentColor",d:"M304 256c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zm120-48c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-336 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z"})}),[]);return m.jsx("div",{className:t+"-bar",ref:r,children:d})},vCe=["prefixCls","className","value","commands","commandsFilter","direction","extraCommands","height","enableScroll","visibleDragbar","highlightEnable","preview","fullscreen","overflow","previewOptions","textareaProps","maxHeight","minHeight","autoFocus","autoFocusEnd","tabSize","defaultTabEnable","onChange","onStatistics","onHeightChange","hideToolbar","toolbarBottom","components","renderTextarea"];function bCe(e){return e===void 0&&(e={}),Object.keys(e).forEach(t=>{e[t]=!1}),e}var xCe=$t.forwardRef((e,t)=>{var n=e||{},{prefixCls:r="w-md-editor",className:o,value:a,commands:i=lCe(),commandsFilter:s,direction:l,extraCommands:d=cCe(),height:c=200,enableScroll:p=!0,visibleDragbar:g=typeof e.visiableDragbar=="boolean"?e.visiableDragbar:!0,highlightEnable:y=!0,preview:v="live",fullscreen:S=!1,overflow:C=!0,previewOptions:b={},textareaProps:T,maxHeight:E=1200,minHeight:A=100,autoFocus:M,autoFocusEnd:R=!1,tabSize:_=2,defaultTabEnable:I=!1,onChange:F,onStatistics:B,onHeightChange:L,hideToolbar:k,toolbarBottom:U=!1,components:j,renderTextarea:V}=n,$=qn(n,vCe),K=i.map(Ie=>s?s(Ie,!1):Ie).filter(Boolean),X=d.map(Ie=>s?s(Ie,!0):Ie).filter(Boolean),[ne,z]=w.useReducer(OSe,{markdown:a,preview:v,components:j,height:c,minHeight:A,highlightEnable:y,tabSize:_,defaultTabEnable:I,scrollTop:0,scrollTopPreview:0,commands:K,extraCommands:X,fullscreen:S,barPopup:{}}),re=w.useRef(null),oe=w.useRef(null),q=w.useRef(p);w.useImperativeHandle(t,()=>Te({},ne,{container:re.current,dispatch:z})),w.useMemo(()=>q.current=p,[p]),w.useEffect(()=>{var Ie={};re.current&&(Ie.container=re.current||void 0),Ie.markdown=a||"",Ie.barPopup={},z&&z(Te({},ne,Ie))},[]);var ie=[o,"wmde-markdown-var",l?r+"-"+l:null,r,ne.preview?r+"-show-"+ne.preview:null,ne.fullscreen?r+"-fullscreen":null].filter(Boolean).join(" ").trim();w.useMemo(()=>a!==ne.markdown&&z({markdown:a||""}),[a,ne.markdown]),w.useMemo(()=>v!==ne.preview&&z({preview:v}),[v]),w.useMemo(()=>_!==ne.tabSize&&z({tabSize:_}),[_]),w.useMemo(()=>y!==ne.highlightEnable&&z({highlightEnable:y}),[y]),w.useMemo(()=>M!==ne.autoFocus&&z({autoFocus:M}),[M]),w.useMemo(()=>R!==ne.autoFocusEnd&&z({autoFocusEnd:R}),[R]),w.useMemo(()=>S!==ne.fullscreen&&z({fullscreen:S}),[S]),w.useMemo(()=>c!==ne.height&&z({height:c}),[c]),w.useMemo(()=>c!==ne.height&&L&&L(ne.height,c,ne),[c,L,ne]),w.useMemo(()=>i!==ne.commands&&z({commands:K}),[e.commands]),w.useMemo(()=>d!==ne.extraCommands&&z({extraCommands:X}),[e.extraCommands]);var se=w.useRef(),te=w.useRef("preview"),le=w.useRef(!1);w.useMemo(()=>{se.current=ne.textareaWarp,ne.textareaWarp&&(ne.textareaWarp.addEventListener("mouseover",()=>{te.current="text"}),ne.textareaWarp.addEventListener("mouseleave",()=>{te.current="preview"}))},[ne.textareaWarp]);var ue=(Ie,de)=>{if(q.current){var gt=se.current,He=oe.current?oe.current:void 0;if(le.current||(te.current=de,le.current=!0),gt&&He){var ut=(gt.scrollHeight-gt.offsetHeight)/(He.scrollHeight-He.offsetHeight);Ie.target===gt&&te.current==="text"&&(He.scrollTop=gt.scrollTop/ut),Ie.target===He&&te.current==="preview"&&(gt.scrollTop=He.scrollTop*ut);var it=0;te.current==="text"?it=gt.scrollTop||0:te.current==="preview"&&(it=He.scrollTop||0),z({scrollTop:it})}}},pe=r+"-preview "+(b.className||""),Ee=Ie=>ue(Ie,"preview"),xe=w.useMemo(()=>m.jsx("div",{ref:oe,className:pe,children:m.jsx(G7,Te({},b,{onScroll:Ee,source:ne.markdown||""}))}),[pe,b,ne.markdown]),Fe=j?.preview&&j?.preview(ne.markdown||"",ne,z);Fe&&$t.isValidElement(Fe)&&(xe=m.jsx("div",{className:pe,ref:oe,onScroll:Ee,children:Fe}));var me=Te({},$.style,{height:ne.height||"100%"}),ye=()=>z({barPopup:Te({},bCe(ne.barPopup))}),Ke=Ie=>z({height:Ie}),ze=Ie=>{if(F&&F(Ie.target.value,Ie,ne),T&&T.onChange&&T.onChange(Ie),ne.textarea&&ne.textarea instanceof HTMLTextAreaElement&&B){var de=new dO(ne.textarea),gt=de.getState()||{};B(Te({},gt,{lineCount:Ie.target.value.split(`
393
- `).length,length:Ie.target.value.length}))}};return m.jsx(jm.Provider,{value:Te({},ne,{dispatch:z}),children:m.jsxs("div",Te({ref:re,className:ie},$,{onClick:ye,style:me,children:[m.jsx(wL,{hideToolbar:k,toolbarBottom:U,prefixCls:r,overflow:C,placement:"top"}),m.jsxs("div",{className:r+"-content",children:[/(edit|live)/.test(ne.preview||"")&&m.jsx(mCe,Te({className:r+"-input",prefixCls:r,autoFocus:M},T,{onChange:ze,renderTextarea:j?.textarea||V,onScroll:Ie=>ue(Ie,"text")})),/(live|preview)/.test(ne.preview||"")&&xe]}),g&&!ne.fullscreen&&m.jsx(yCe,{prefixCls:r,height:ne.height,maxHeight:E,minHeight:A,onChange:Ke}),m.jsx(wL,{hideToolbar:k,toolbarBottom:U,prefixCls:r,overflow:C,placement:"bottom"})]}))})}),t9=xCe;t9.Markdown=G7;const _w={scopeName:"source.malloy",patterns:[{include:"#malloy-language"}],repository:{"malloy-language":{patterns:[{include:"#sql-string"},{include:"#comments"},{include:"#tags"},{include:"#strings"},{include:"#numbers"},{include:"#keywords"},{include:"#properties"},{include:"#functions"},{include:"#datetimes"},{include:"#identifiers-quoted"},{include:"#types"},{include:"#constants"},{include:"#timeframes"},{include:"#identifiers-unquoted"}]},"malloy-matched":{begin:"{",end:"}",patterns:[{include:"#malloy-matched"},{include:"#malloy-language"}]},"malloy-in-sql":{begin:"%{",name:"source.malloy-in-sql",end:"}%?",patterns:[{include:"#malloy-matched"},{include:"#malloy-language"}]},"sql-string":{patterns:[{begin:'(\\b[A-Za-z_][A-Za-z_0-9]*)(\\s*\\.\\s*)(sql)(\\s*\\(\\s*)(""")',end:'"""',beginCaptures:{1:{name:"variable.other"},3:{name:"keyword.control.sql"},5:{name:"punctuation.sql-block.open"}},endCaptures:{0:{name:"punctuation.sql-block.close"}},name:"source.sql",patterns:[{include:"#malloy-in-sql"},{include:"source.sql"}]}]},functions:{patterns:[{match:"(?i)\\b(count)(\\s*\\()(distinct)",captures:{1:{name:"entity.name.function"},3:{name:"entity.name.function.modifier"}}},{match:"(?i)\\b(AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE|UNGROUPED)(\\s*\\()",captures:{1:{name:"entity.name.function"}}},{match:"(?i)\\b([a-zA-Z_][a-zA-Z_0-9]*)(\\s*\\()",captures:{1:{name:"entity.name.function"}}},{match:"(?i)\\b([a-zA-Z_][a-zA-Z_0-9]*)(!)(timestamp|number|string|boolean|date)?(\\s*\\()",captures:{1:{name:"entity.name.function"},3:{name:"entity.name.type"}}}]},datetimes:{patterns:[{match:"(?i)@[0-9]{4}-[0-9]{2}-[0-9]{2}[ T][0-9]{2}:[0-9]{2}((:[0-9]{2})(([\\.,][0-9]+)(\\[[A-Za-z_/]+\\])?)?)?",name:"constant.numeric.timestamp"},{match:"(?i)@[0-9]{4}(-Q[1-4]|-[0-9]{2}(-[0-9]{2}(-WK)?)?)?",name:"constant.numeric.date"}]},"identifiers-quoted":{patterns:[{match:"`[^`]*`",name:"variable.other.quoted"}]},"identifiers-unquoted":{patterns:[{match:"(?i)\\b[A-Za-z_][A-Za-z_0-9]*\\b",name:"variable.other"}]},timeframes:{patterns:[{match:"(?i)\\b((year|quarter|month|week|day|hour|minute|second)s?)\\b",name:"keyword.other.timeframe"},{match:"(?i)\\b(day_of_year|day_of_month)\\b",name:"keyword.other.timeframe"}]},comments:{patterns:[{begin:"/\\*",end:"\\*/",beginCaptures:{0:{name:"punctuation.definition.comment.begin"}},endCaptures:{0:{name:"punctuation.definition.comment.end"}},name:"comment.block"},{begin:"//",end:"\\n",beginCaptures:{0:{name:"punctuation.definition.comment"}},name:"comment.line.double-slash"},{begin:"--",end:"\\n",beginCaptures:{0:{name:"punctuation.definition.comment"}},name:"comment.line.double-hyphen"}]},tags:{patterns:[{match:"##\\n",name:"string.quoted",captures:{0:{name:"string.quoted"}}},{begin:'#"',end:"\\n",beginCaptures:{0:{name:"punctuation.definition.comment"}},name:"comment.line.double-slash"},{match:"#\\n",name:"string.quoted",captures:{0:{name:"string.quoted"}}},{begin:"#\\s",end:"\\n",beginCaptures:{0:{name:"support.type.property-name.json"}},name:"comment.line.double-slash",patterns:[{include:"#tag-values"}]},{begin:"##\\s",end:"\\n",beginCaptures:{0:{name:"support.type.property-name.json"}},name:"comment.line.double-slash",patterns:[{include:"#tag-values"}]},{begin:"#",end:"\\n",beginCaptures:{0:{name:"string.quoted"}},name:"string.quoted"}],repository:{"tag-values":{name:"support.type.property-name.json",match:'(-)?((?:[^\\s=#]+)|(?:"[^#]+"))(?:\\s*(=)\\s*((?:[^\\s=#]+)|(?:"[^#]+")))?',captures:{1:{name:"keyword.control.negate"},2:{name:"support.type.property-name.json"},3:{name:"keyword.operator.comparison.ts"},4:{name:"string.quoted"}}}}},strings:{patterns:[{begin:"'",end:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin"}},endCaptures:{0:{name:"punctuation.definition.string.end"}},name:"string.quoted.single",patterns:[{include:"#escapes"}]},{begin:'"',end:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin"}},endCaptures:{0:{name:"punctuation.definition.string.end"}},name:"string.quoted.double",patterns:[{include:"#escapes"}]},{begin:'"""',end:'"""',beginCaptures:{0:{name:"punctuation.definition.string.begin"}},endCaptures:{0:{name:"punctuation.definition.string.end"}},name:"string.quoted.triple"},{begin:"(?i)[r|/]'",end:"'",name:"string.regexp",patterns:[{include:"#regex-escapes"}]}],repository:{escapes:{name:"constant.character.escape",match:"\\\\(u[A-Fa-f0-9]{4}|.)",captures:{0:{name:"constant.character.escape"}}},"regex-escapes":{name:"constant.character.escape",match:"\\\\.",captures:{0:{name:"constant.character.escape"}}}}},numbers:{match:"(?i)(\\b((0|[1-9][0-9]*)(E[+-]?[0-9]+|\\.[0-9]*)?)|\\.[0-9]+)",name:"constant.numeric"},constants:{patterns:[{match:"(?i)\\bnull\\b",name:"constant.language.null"},{match:"(?i)\\btrue\\b",name:"constant.language.true"},{match:"(?i)\\bfalse\\b",name:"constant.language.false"}]},types:{patterns:[{match:"(?i)\\bstring\\b",name:"entity.name.type.string"},{match:"(?i)\\bnumber\\b",name:"entity.name.type.number"},{match:"(?i)\\bdate\\b",name:"entity.name.type.date"},{match:"(?i)\\btimestamp\\b",name:"entity.name.type.timestamp"},{match:"(?i)\\bboolean\\b",name:"entity.name.type.boolean"}]},properties:{patterns:[{match:"(?i)\\baccept\\b",name:"keyword.control.accept"},{match:"(?i)\\bselect\\b",name:"keyword.control.select"},{match:"(?i)\\bconnection\\b",name:"keyword.control.connection"},{match:"(?i)\\brun\\b",name:"keyword.control.run"},{match:"(?i)\\bextend\\b",name:"keyword.control.extend"},{match:"(?i)\\brefine\\b",name:"keyword.control.refine"},{match:"(?i)\\baggregate\\b",name:"keyword.control.aggregate"},{match:"(?i)\\bsample\\b",name:"keyword.control.sample"},{match:"(?i)\\bcalculate\\b",name:"keyword.control.calculate"},{match:"(?i)\\btimezone\\b",name:"keyword.control.timezone"},{match:"(?i)\\bdimension\\b",name:"keyword.control.dimension"},{match:"(?i)\\bexcept\\b",name:"keyword.control.except"},{match:"(?i)\\bsource\\b",name:"keyword.control.source"},{match:"(?i)\\bgroup_by\\b",name:"keyword.control.group_by"},{match:"(?i)\\bhaving\\b",name:"keyword.control.having"},{match:"(?i)\\bindex\\b",name:"keyword.control.index"},{match:"(?i)\\bjoin_one\\b",name:"keyword.control.join_one"},{match:"(?i)\\bwith\\b",name:"keyword.control.with"},{match:"(?i)\\bjoin_many\\b",name:"keyword.control.join_many"},{match:"(?i)\\bjoin_cross\\b",name:"keyword.control.join_cross"},{match:"(?i)\\blimit\\b",name:"keyword.control.limit"},{match:"(?i)\\bmeasure\\b",name:"keyword.control.measure"},{match:"(?i)\\bnest\\b",name:"keyword.control.nest"},{match:"(?i)\\border_by\\b",name:"keyword.control.order_by"},{match:"(?i)\\bpartition_by\\b",name:"keyword.control.partition_by"},{match:"(?i)\\bprimary_key\\b",name:"keyword.control.primary_key"},{match:"(?i)\\bproject\\b",name:"keyword.control.project"},{match:"(?i)\\bquery\\b",name:"keyword.control.query"},{match:"(?i)\\brename\\b",name:"keyword.control.rename"},{match:"(?i)\\btop\\b",name:"keyword.control.top"},{match:"(?i)\\bview\\b",name:"keyword.control.view"},{match:"(?i)\\bwhere\\b",name:"keyword.control.where"},{match:"(?i)\\bdeclare\\b",name:"keyword.control.declare"}]},keywords:{patterns:[{match:"(?i)\\bis\\b",name:"keyword.control.is"},{match:"(?i)\\bon\\b",name:"keyword.control.on"},{match:"(?i)\\bnot\\b",name:"keyword.other.not"},{match:"(?i)\\bor\\b",name:"keyword.other.or"},{match:"(?i)\\bdesc\\b",name:"keyword.control.desc"},{match:"(?i)\\bby\\b",name:"keyword.control.by"},{match:"(?i)\\band\\b",name:"keyword.other.and"},{match:"(?i)\\basc\\b",name:"keyword.control.asc"},{match:"(?i)\\bfor\\b",name:"keyword.other.for"},{match:"(?i)\\belse\\b",name:"keyword.other.else"},{match:"(?i)\\bto\\b",name:"keyword.other.to"},{match:"(?i)\\bwhen\\b",name:"keyword.other.when"},{match:"(?i)\\bpick\\b",name:"keyword.other.pick"},{match:"(?i)\\bimport\\b",name:"keyword.control.import"}]}}},SCe={..._w,patterns:[..._w.patterns,{include:"#docvar"}],repository:{..._w.repository,docvar:{patterns:[{match:"\\<\\<[^(\\>\\>)]*\\>\\>",beginCaptures:{0:{name:"punctuation.definition.comment.begin"}},endCaptures:{0:{name:"punctuation.definition.comment.end"}},name:"markup.italic.markdown"}]}}},CCe={name:"Malloy SQL",scopeName:"source.malloy-sql",patterns:[{include:"#malloysql-sql"}],repository:{"malloysql-sql":{beginCaptures:{0:{name:"entity.other.attribute.malloy-sql"},1:{name:"entity.other.attribute.malloy-sql"},3:{name:"comment.line.double-slash"}},name:"meta.embedded.block.malloysql.sql",patterns:[{include:"#comments"},{begin:"%{",end:"}%",beginCaptures:{0:{name:"punctuation.definition.malloy-sql"}},endCaptures:{0:{name:"punctuation.definition.malloy-sql"}},name:"meta.embedded.block.malloy",patterns:[{include:"source.malloy"}]},{include:"source.sql"}]},comments:{patterns:[{begin:"/\\*",end:"\\*/",beginCaptures:{0:{name:"punctuation.definition.comment.begin"}},endCaptures:{0:{name:"punctuation.definition.comment.end"}},name:"comment.block"},{begin:"//",end:"\\n",beginCaptures:{0:{name:"punctuation.definition.comment"}},name:"comment.line.double-slash"},{begin:"--",end:"\\n",beginCaptures:{0:{name:"punctuation.definition.comment"}},name:"comment.line.double-hyphen"}]}}},ECe="github-light",TCe="github-dark";let Lw;function wCe(){return Lw||(Lw=(async()=>{const[{createHighlighterCore:e},{createOnigurumaEngine:t},{default:n},{default:r},{default:o},{default:a},{default:i}]=await Promise.all([jo(()=>import("./core-DyU47reh.es-DY9b3WjS.js"),__vite__mapDeps([0,1])),jo(()=>import("./engine-oniguruma-C4vnmooL.es-jdkXmgTr.js"),[]),jo(()=>import("./sql-DCkt643-.es-COK4E0Yg.js"),[]),jo(()=>import("./json-71t8ZF9g.es-BQoSv7ci.js"),[]),jo(()=>import("./typescript-buWNZFwO.es-Dj6nwHGl.js"),[]),jo(()=>import("./github-light-JYsPkUQd.es-DAi9KRSo.js"),[]),jo(()=>import("./github-dark-DenFmJkN.es-DHJKELXO.js"),[])]);return e({engine:t(jo(()=>import("./wasm-DQxwEHae.es-CG6Dc4jp.js"),[])),themes:[a,i],langs:[n,r,o,{name:"malloy",scopeName:"source.malloy",embeddedLangs:["sql"],...SCe},{name:"malloysql",scopeName:"source.malloy-sql",embeddedLangs:["sql"],...CCe}]})})()),Lw}async function Kx(e,t,n="light"){return(await wCe()).codeToHtml(e,{lang:t,theme:n==="dark"?TCe:ECe})}function So(e){const{server:t}=zr(),n={...e,queryKey:[...e.queryKey,t],queryFn:async()=>{try{return await e.queryFn()}catch(r){if(r&&typeof r=="object"&&"response"in r){const o=r;if(o.response?.data){const a=new Error(o.response.data.message||o.message);throw a.status=o.response.status,a.data=o.response.data,a}}throw r}},retry:!1,throwOnError:!1};return Wj(n,sD)}function ma(e){const t={...e,mutationFn:async n=>{try{return await e.mutationFn(n)}catch(r){if(r&&typeof r=="object"&&"response"in r){const o=r;if(o.response?.data){const a=new Error(o.response.data.message||o.message);throw a.status=o.response.status,a.data=o.response.data,a}}throw r}},retry:!1,throwOnError:!1};return woe(t,sD)}const Eo=e=>{const t=new URL(e),n={};if(t.protocol!=="publisher:")throw new Error(`Failed to parse resource URI: ${e}`);const r=(t.hostname+t.pathname).split("/");for(let o=0;o<r.length;o+=2){const a=r[o];a==="environments"?n.environmentName=decodeURI(r[o+1])||void 0:a==="packages"?n.packageName=decodeURI(r[o+1])||void 0:a==="connections"?n.connectionName=decodeURI(r[o+1])||void 0:a==="models"&&(n.modelPath=decodeURI(r.slice(o+1).join("/"))||void 0)}if(n.versionId=t.searchParams.get("versionId")||void 0,!n.environmentName)throw new Error(`Failed to parse resource URI: ${e}`);return n},fO=e=>{if(!e.environmentName)throw new Error(`Failed to encode resource URI, missing environment name: ${e}`);let t=`publisher://environments/${e.environmentName}`;return e.packageName&&(t+=`/packages/${e.packageName}`),e.connectionName&&(t+=`/connections/${e.connectionName}`),e.modelPath&&(t+=`/models/${e.modelPath}`),e.packageName&&e.versionId&&(t+=`?versionId=${e.versionId}`),t};function n9({sourceAndPaths:e,selectedSourceIndex:t,existingQuery:n,onQueryChange:r,onSourceChange:o,resourceUri:a}){return $t.useEffect(()=>{o&&o(t)},[t,o]),m.jsx(aD,{children:m.jsxs(lK,{spacing:2,component:"section",children:[m.jsx(ACe,{sourceAndPath:e[t],existingQuery:n,onChange:i=>{r&&r(i)},resourceUri:a}),m.jsx(CF,{height:"5px"})]})})}function sx(){return{query:void 0,malloyQuery:void 0,malloyResult:void 0}}function kCe({sourceAndPath:e,onChange:t,existingQuery:n,explorerComponents:r,QueryBuilder:o,resourceUri:a}){const[i,s]=$t.useState(n||sx()),[l,d]=$t.useState(void 0);$t.useEffect(()=>{n&&s(n)},[n]);const[c,p]=$t.useState([]),{MalloyExplorerProvider:g,QueryPanel:y,ResizableCollapsiblePanel:v,ResultPanel:S,SourcePanel:C}=r;$t.useEffect(()=>{t&&t(i)},[t,i]);const{environmentName:b,packageName:T,versionId:E}=Eo(a),{apiClients:A}=zr(),M=ma({mutationFn:()=>{const F=typeof i?.malloyQuery=="string"?i.malloyQuery:new o.ASTQuery({source:e.sourceInfo,query:i?.malloyQuery}).toMalloy();return d({executionState:"running",query:i?.malloyQuery,queryResolutionStartMillis:Date.now(),onCancel:()=>{M.reset(),d(void 0)},response:{result:{}}}),s({...i,query:F}),A.models.executeQueryModel(b,T,e.modelPath,{query:F,sourceName:void 0,queryName:void 0,versionId:E})},onSuccess:F=>{if(F){const B=JSON.parse(F.data.result);s({...i,malloyResult:B}),d(L=>L?{...L,executionState:"finished",response:{result:B}}:void 0)}},onError:F=>{d(void 0),console.error("Query execution error:",F)}}),[R,_]=$t.useState(e.sourceInfo.name);$t.useEffect(()=>{R!==e.sourceInfo.name&&(_(e.sourceInfo.name),s(sx()),d(void 0))},[e,R]);const I=$t.useCallback(F=>{s({...i,malloyQuery:F,malloyResult:void 0})},[i]);return R!==e.sourceInfo.name?m.jsx("div",{children:"Loading..."}):m.jsx(b$,{sx:{border:"1px solid #e0e0e0",borderRadius:"8px",overflow:"hidden"},children:m.jsx(g,{source:e.sourceInfo,query:i?.malloyQuery,topValues:[],onFocusedNestViewPathChange:p,focusedNestViewPath:c,onQueryChange:I,children:m.jsxs("div",{style:{display:"flex",height:"100%",overflowY:"auto"},children:[m.jsx(v,{isInitiallyExpanded:!0,initialWidth:180,minWidth:180,icon:"database",title:e.sourceInfo.name,children:m.jsx(C,{onRefresh:()=>s(sx())})}),m.jsx(v,{isInitiallyExpanded:!0,initialWidth:280,minWidth:280,icon:"filterSliders",title:"Query",children:m.jsx(y,{runQuery:()=>{console.log(`running query with: ${i?.malloyQuery}`);try{M.mutate()}catch(F){console.error("Error running query:",F)}}})}),m.jsx(S,{source:e.sourceInfo,draftQuery:i?.malloyQuery,setDraftQuery:F=>s({...i,malloyQuery:F}),submittedQuery:l,options:{showRawQuery:!0}})]})})},e.sourceInfo.name)}function ACe(e){const[t,n]=w.useState(null),[r,o]=w.useState(null),[a,i]=w.useState(!0);return w.useEffect(()=>{let s=!0;return Promise.all([jo(()=>import("./index-C5ClsnS7.js"),__vite__mapDeps([2,3,4,5,6])),jo(()=>import("./index-DgVRz2wm.js").then(l=>l.i),__vite__mapDeps([4,3]))]).then(([l,d])=>{s&&(n(l),o(d),i(!1))}).catch(l=>{console.error("Failed to load Malloy components:",l),s&&i(!1)}),()=>{s=!1}},[]),a||!t||!r?m.jsx(Die,{children:m.jsx(b$,{children:m.jsx(CF,{sx:{alignItems:"center",justifyContent:"center",height:"200px",color:"text.secondary"},children:"Loading explorer..."})})}):m.jsx(kCe,{...e,explorerComponents:t,QueryBuilder:r,resourceUri:e.resourceUri})}const r9=lr(m.jsx("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}));function ka({text:e,size:t=20,color:n="primary",thickness:r=3.6,centered:o=!0,spacing:a=2,textVariant:i="body2"}){const s=m.jsxs(Pt,{sx:{display:"flex",flexDirection:"column",alignItems:"center",gap:a},children:[m.jsx(gb,{size:t,color:n,thickness:r}),e&&m.jsx(xt,{variant:i,color:"text.secondary",children:e})]});return o?m.jsx(Pt,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"200px",width:"100%"},children:s}):s}const DCe=new Set(["warn","error"]);function OCe(e){if(!e?.length)return;const t=[];let n=!1;for(const r of e)!r.message||!DCe.has(r.severity??"")||(r.severity==="error"&&(n=!0),t.includes(r.message)||t.push(r.message));if(t.length)return{severity:n?"error":"warn",title:t.join(`
393
+ `).length,length:Ie.target.value.length}))}};return m.jsx(jm.Provider,{value:Te({},ne,{dispatch:z}),children:m.jsxs("div",Te({ref:re,className:ie},$,{onClick:ye,style:me,children:[m.jsx(wL,{hideToolbar:k,toolbarBottom:U,prefixCls:r,overflow:C,placement:"top"}),m.jsxs("div",{className:r+"-content",children:[/(edit|live)/.test(ne.preview||"")&&m.jsx(mCe,Te({className:r+"-input",prefixCls:r,autoFocus:M},T,{onChange:ze,renderTextarea:j?.textarea||V,onScroll:Ie=>ue(Ie,"text")})),/(live|preview)/.test(ne.preview||"")&&xe]}),g&&!ne.fullscreen&&m.jsx(yCe,{prefixCls:r,height:ne.height,maxHeight:E,minHeight:A,onChange:Ke}),m.jsx(wL,{hideToolbar:k,toolbarBottom:U,prefixCls:r,overflow:C,placement:"bottom"})]}))})}),t9=xCe;t9.Markdown=G7;const _w={scopeName:"source.malloy",patterns:[{include:"#malloy-language"}],repository:{"malloy-language":{patterns:[{include:"#sql-string"},{include:"#comments"},{include:"#tags"},{include:"#strings"},{include:"#numbers"},{include:"#keywords"},{include:"#properties"},{include:"#functions"},{include:"#datetimes"},{include:"#identifiers-quoted"},{include:"#types"},{include:"#constants"},{include:"#timeframes"},{include:"#identifiers-unquoted"}]},"malloy-matched":{begin:"{",end:"}",patterns:[{include:"#malloy-matched"},{include:"#malloy-language"}]},"malloy-in-sql":{begin:"%{",name:"source.malloy-in-sql",end:"}%?",patterns:[{include:"#malloy-matched"},{include:"#malloy-language"}]},"sql-string":{patterns:[{begin:'(\\b[A-Za-z_][A-Za-z_0-9]*)(\\s*\\.\\s*)(sql)(\\s*\\(\\s*)(""")',end:'"""',beginCaptures:{1:{name:"variable.other"},3:{name:"keyword.control.sql"},5:{name:"punctuation.sql-block.open"}},endCaptures:{0:{name:"punctuation.sql-block.close"}},name:"source.sql",patterns:[{include:"#malloy-in-sql"},{include:"source.sql"}]}]},functions:{patterns:[{match:"(?i)\\b(count)(\\s*\\()(distinct)",captures:{1:{name:"entity.name.function"},3:{name:"entity.name.function.modifier"}}},{match:"(?i)\\b(AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE|UNGROUPED)(\\s*\\()",captures:{1:{name:"entity.name.function"}}},{match:"(?i)\\b([a-zA-Z_][a-zA-Z_0-9]*)(\\s*\\()",captures:{1:{name:"entity.name.function"}}},{match:"(?i)\\b([a-zA-Z_][a-zA-Z_0-9]*)(!)(timestamp|number|string|boolean|date)?(\\s*\\()",captures:{1:{name:"entity.name.function"},3:{name:"entity.name.type"}}}]},datetimes:{patterns:[{match:"(?i)@[0-9]{4}-[0-9]{2}-[0-9]{2}[ T][0-9]{2}:[0-9]{2}((:[0-9]{2})(([\\.,][0-9]+)(\\[[A-Za-z_/]+\\])?)?)?",name:"constant.numeric.timestamp"},{match:"(?i)@[0-9]{4}(-Q[1-4]|-[0-9]{2}(-[0-9]{2}(-WK)?)?)?",name:"constant.numeric.date"}]},"identifiers-quoted":{patterns:[{match:"`[^`]*`",name:"variable.other.quoted"}]},"identifiers-unquoted":{patterns:[{match:"(?i)\\b[A-Za-z_][A-Za-z_0-9]*\\b",name:"variable.other"}]},timeframes:{patterns:[{match:"(?i)\\b((year|quarter|month|week|day|hour|minute|second)s?)\\b",name:"keyword.other.timeframe"},{match:"(?i)\\b(day_of_year|day_of_month)\\b",name:"keyword.other.timeframe"}]},comments:{patterns:[{begin:"/\\*",end:"\\*/",beginCaptures:{0:{name:"punctuation.definition.comment.begin"}},endCaptures:{0:{name:"punctuation.definition.comment.end"}},name:"comment.block"},{begin:"//",end:"\\n",beginCaptures:{0:{name:"punctuation.definition.comment"}},name:"comment.line.double-slash"},{begin:"--",end:"\\n",beginCaptures:{0:{name:"punctuation.definition.comment"}},name:"comment.line.double-hyphen"}]},tags:{patterns:[{match:"##\\n",name:"string.quoted",captures:{0:{name:"string.quoted"}}},{begin:'#"',end:"\\n",beginCaptures:{0:{name:"punctuation.definition.comment"}},name:"comment.line.double-slash"},{match:"#\\n",name:"string.quoted",captures:{0:{name:"string.quoted"}}},{begin:"#\\s",end:"\\n",beginCaptures:{0:{name:"support.type.property-name.json"}},name:"comment.line.double-slash",patterns:[{include:"#tag-values"}]},{begin:"##\\s",end:"\\n",beginCaptures:{0:{name:"support.type.property-name.json"}},name:"comment.line.double-slash",patterns:[{include:"#tag-values"}]},{begin:"#",end:"\\n",beginCaptures:{0:{name:"string.quoted"}},name:"string.quoted"}],repository:{"tag-values":{name:"support.type.property-name.json",match:'(-)?((?:[^\\s=#]+)|(?:"[^#]+"))(?:\\s*(=)\\s*((?:[^\\s=#]+)|(?:"[^#]+")))?',captures:{1:{name:"keyword.control.negate"},2:{name:"support.type.property-name.json"},3:{name:"keyword.operator.comparison.ts"},4:{name:"string.quoted"}}}}},strings:{patterns:[{begin:"'",end:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin"}},endCaptures:{0:{name:"punctuation.definition.string.end"}},name:"string.quoted.single",patterns:[{include:"#escapes"}]},{begin:'"',end:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin"}},endCaptures:{0:{name:"punctuation.definition.string.end"}},name:"string.quoted.double",patterns:[{include:"#escapes"}]},{begin:'"""',end:'"""',beginCaptures:{0:{name:"punctuation.definition.string.begin"}},endCaptures:{0:{name:"punctuation.definition.string.end"}},name:"string.quoted.triple"},{begin:"(?i)[r|/]'",end:"'",name:"string.regexp",patterns:[{include:"#regex-escapes"}]}],repository:{escapes:{name:"constant.character.escape",match:"\\\\(u[A-Fa-f0-9]{4}|.)",captures:{0:{name:"constant.character.escape"}}},"regex-escapes":{name:"constant.character.escape",match:"\\\\.",captures:{0:{name:"constant.character.escape"}}}}},numbers:{match:"(?i)(\\b((0|[1-9][0-9]*)(E[+-]?[0-9]+|\\.[0-9]*)?)|\\.[0-9]+)",name:"constant.numeric"},constants:{patterns:[{match:"(?i)\\bnull\\b",name:"constant.language.null"},{match:"(?i)\\btrue\\b",name:"constant.language.true"},{match:"(?i)\\bfalse\\b",name:"constant.language.false"}]},types:{patterns:[{match:"(?i)\\bstring\\b",name:"entity.name.type.string"},{match:"(?i)\\bnumber\\b",name:"entity.name.type.number"},{match:"(?i)\\bdate\\b",name:"entity.name.type.date"},{match:"(?i)\\btimestamp\\b",name:"entity.name.type.timestamp"},{match:"(?i)\\bboolean\\b",name:"entity.name.type.boolean"}]},properties:{patterns:[{match:"(?i)\\baccept\\b",name:"keyword.control.accept"},{match:"(?i)\\bselect\\b",name:"keyword.control.select"},{match:"(?i)\\bconnection\\b",name:"keyword.control.connection"},{match:"(?i)\\brun\\b",name:"keyword.control.run"},{match:"(?i)\\bextend\\b",name:"keyword.control.extend"},{match:"(?i)\\brefine\\b",name:"keyword.control.refine"},{match:"(?i)\\baggregate\\b",name:"keyword.control.aggregate"},{match:"(?i)\\bsample\\b",name:"keyword.control.sample"},{match:"(?i)\\bcalculate\\b",name:"keyword.control.calculate"},{match:"(?i)\\btimezone\\b",name:"keyword.control.timezone"},{match:"(?i)\\bdimension\\b",name:"keyword.control.dimension"},{match:"(?i)\\bexcept\\b",name:"keyword.control.except"},{match:"(?i)\\bsource\\b",name:"keyword.control.source"},{match:"(?i)\\bgroup_by\\b",name:"keyword.control.group_by"},{match:"(?i)\\bhaving\\b",name:"keyword.control.having"},{match:"(?i)\\bindex\\b",name:"keyword.control.index"},{match:"(?i)\\bjoin_one\\b",name:"keyword.control.join_one"},{match:"(?i)\\bwith\\b",name:"keyword.control.with"},{match:"(?i)\\bjoin_many\\b",name:"keyword.control.join_many"},{match:"(?i)\\bjoin_cross\\b",name:"keyword.control.join_cross"},{match:"(?i)\\blimit\\b",name:"keyword.control.limit"},{match:"(?i)\\bmeasure\\b",name:"keyword.control.measure"},{match:"(?i)\\bnest\\b",name:"keyword.control.nest"},{match:"(?i)\\border_by\\b",name:"keyword.control.order_by"},{match:"(?i)\\bpartition_by\\b",name:"keyword.control.partition_by"},{match:"(?i)\\bprimary_key\\b",name:"keyword.control.primary_key"},{match:"(?i)\\bproject\\b",name:"keyword.control.project"},{match:"(?i)\\bquery\\b",name:"keyword.control.query"},{match:"(?i)\\brename\\b",name:"keyword.control.rename"},{match:"(?i)\\btop\\b",name:"keyword.control.top"},{match:"(?i)\\bview\\b",name:"keyword.control.view"},{match:"(?i)\\bwhere\\b",name:"keyword.control.where"},{match:"(?i)\\bdeclare\\b",name:"keyword.control.declare"}]},keywords:{patterns:[{match:"(?i)\\bis\\b",name:"keyword.control.is"},{match:"(?i)\\bon\\b",name:"keyword.control.on"},{match:"(?i)\\bnot\\b",name:"keyword.other.not"},{match:"(?i)\\bor\\b",name:"keyword.other.or"},{match:"(?i)\\bdesc\\b",name:"keyword.control.desc"},{match:"(?i)\\bby\\b",name:"keyword.control.by"},{match:"(?i)\\band\\b",name:"keyword.other.and"},{match:"(?i)\\basc\\b",name:"keyword.control.asc"},{match:"(?i)\\bfor\\b",name:"keyword.other.for"},{match:"(?i)\\belse\\b",name:"keyword.other.else"},{match:"(?i)\\bto\\b",name:"keyword.other.to"},{match:"(?i)\\bwhen\\b",name:"keyword.other.when"},{match:"(?i)\\bpick\\b",name:"keyword.other.pick"},{match:"(?i)\\bimport\\b",name:"keyword.control.import"}]}}},SCe={..._w,patterns:[..._w.patterns,{include:"#docvar"}],repository:{..._w.repository,docvar:{patterns:[{match:"\\<\\<[^(\\>\\>)]*\\>\\>",beginCaptures:{0:{name:"punctuation.definition.comment.begin"}},endCaptures:{0:{name:"punctuation.definition.comment.end"}},name:"markup.italic.markdown"}]}}},CCe={name:"Malloy SQL",scopeName:"source.malloy-sql",patterns:[{include:"#malloysql-sql"}],repository:{"malloysql-sql":{beginCaptures:{0:{name:"entity.other.attribute.malloy-sql"},1:{name:"entity.other.attribute.malloy-sql"},3:{name:"comment.line.double-slash"}},name:"meta.embedded.block.malloysql.sql",patterns:[{include:"#comments"},{begin:"%{",end:"}%",beginCaptures:{0:{name:"punctuation.definition.malloy-sql"}},endCaptures:{0:{name:"punctuation.definition.malloy-sql"}},name:"meta.embedded.block.malloy",patterns:[{include:"source.malloy"}]},{include:"source.sql"}]},comments:{patterns:[{begin:"/\\*",end:"\\*/",beginCaptures:{0:{name:"punctuation.definition.comment.begin"}},endCaptures:{0:{name:"punctuation.definition.comment.end"}},name:"comment.block"},{begin:"//",end:"\\n",beginCaptures:{0:{name:"punctuation.definition.comment"}},name:"comment.line.double-slash"},{begin:"--",end:"\\n",beginCaptures:{0:{name:"punctuation.definition.comment"}},name:"comment.line.double-hyphen"}]}}},ECe="github-light",TCe="github-dark";let Lw;function wCe(){return Lw||(Lw=(async()=>{const[{createHighlighterCore:e},{createOnigurumaEngine:t},{default:n},{default:r},{default:o},{default:a},{default:i}]=await Promise.all([jo(()=>import("./core-mFfgwzPH.es-DVYiO2_O.js"),__vite__mapDeps([0,1])),jo(()=>import("./engine-oniguruma-C4vnmooL.es-jdkXmgTr.js"),[]),jo(()=>import("./sql-DCkt643-.es-COK4E0Yg.js"),[]),jo(()=>import("./json-71t8ZF9g.es-BQoSv7ci.js"),[]),jo(()=>import("./typescript-buWNZFwO.es-Dj6nwHGl.js"),[]),jo(()=>import("./github-light-JYsPkUQd.es-DAi9KRSo.js"),[]),jo(()=>import("./github-dark-DenFmJkN.es-DHJKELXO.js"),[])]);return e({engine:t(jo(()=>import("./wasm-DQxwEHae.es-CG6Dc4jp.js"),[])),themes:[a,i],langs:[n,r,o,{name:"malloy",scopeName:"source.malloy",embeddedLangs:["sql"],...SCe},{name:"malloysql",scopeName:"source.malloy-sql",embeddedLangs:["sql"],...CCe}]})})()),Lw}async function Kx(e,t,n="light"){return(await wCe()).codeToHtml(e,{lang:t,theme:n==="dark"?TCe:ECe})}function So(e){const{server:t}=zr(),n={...e,queryKey:[...e.queryKey,t],queryFn:async()=>{try{return await e.queryFn()}catch(r){if(r&&typeof r=="object"&&"response"in r){const o=r;if(o.response?.data){const a=new Error(o.response.data.message||o.message);throw a.status=o.response.status,a.data=o.response.data,a}}throw r}},retry:!1,throwOnError:!1};return Wj(n,sD)}function ma(e){const t={...e,mutationFn:async n=>{try{return await e.mutationFn(n)}catch(r){if(r&&typeof r=="object"&&"response"in r){const o=r;if(o.response?.data){const a=new Error(o.response.data.message||o.message);throw a.status=o.response.status,a.data=o.response.data,a}}throw r}},retry:!1,throwOnError:!1};return woe(t,sD)}const Eo=e=>{const t=new URL(e),n={};if(t.protocol!=="publisher:")throw new Error(`Failed to parse resource URI: ${e}`);const r=(t.hostname+t.pathname).split("/");for(let o=0;o<r.length;o+=2){const a=r[o];a==="environments"?n.environmentName=decodeURI(r[o+1])||void 0:a==="packages"?n.packageName=decodeURI(r[o+1])||void 0:a==="connections"?n.connectionName=decodeURI(r[o+1])||void 0:a==="models"&&(n.modelPath=decodeURI(r.slice(o+1).join("/"))||void 0)}if(n.versionId=t.searchParams.get("versionId")||void 0,!n.environmentName)throw new Error(`Failed to parse resource URI: ${e}`);return n},fO=e=>{if(!e.environmentName)throw new Error(`Failed to encode resource URI, missing environment name: ${e}`);let t=`publisher://environments/${e.environmentName}`;return e.packageName&&(t+=`/packages/${e.packageName}`),e.connectionName&&(t+=`/connections/${e.connectionName}`),e.modelPath&&(t+=`/models/${e.modelPath}`),e.packageName&&e.versionId&&(t+=`?versionId=${e.versionId}`),t};function n9({sourceAndPaths:e,selectedSourceIndex:t,existingQuery:n,onQueryChange:r,onSourceChange:o,resourceUri:a}){return $t.useEffect(()=>{o&&o(t)},[t,o]),m.jsx(aD,{children:m.jsxs(lK,{spacing:2,component:"section",children:[m.jsx(ACe,{sourceAndPath:e[t],existingQuery:n,onChange:i=>{r&&r(i)},resourceUri:a}),m.jsx(CF,{height:"5px"})]})})}function sx(){return{query:void 0,malloyQuery:void 0,malloyResult:void 0}}function kCe({sourceAndPath:e,onChange:t,existingQuery:n,explorerComponents:r,QueryBuilder:o,resourceUri:a}){const[i,s]=$t.useState(n||sx()),[l,d]=$t.useState(void 0);$t.useEffect(()=>{n&&s(n)},[n]);const[c,p]=$t.useState([]),{MalloyExplorerProvider:g,QueryPanel:y,ResizableCollapsiblePanel:v,ResultPanel:S,SourcePanel:C}=r;$t.useEffect(()=>{t&&t(i)},[t,i]);const{environmentName:b,packageName:T,versionId:E}=Eo(a),{apiClients:A}=zr(),M=ma({mutationFn:()=>{const F=typeof i?.malloyQuery=="string"?i.malloyQuery:new o.ASTQuery({source:e.sourceInfo,query:i?.malloyQuery}).toMalloy();return d({executionState:"running",query:i?.malloyQuery,queryResolutionStartMillis:Date.now(),onCancel:()=>{M.reset(),d(void 0)},response:{result:{}}}),s({...i,query:F}),A.models.executeQueryModel(b,T,e.modelPath,{query:F,sourceName:void 0,queryName:void 0,versionId:E})},onSuccess:F=>{if(F){const B=JSON.parse(F.data.result);s({...i,malloyResult:B}),d(L=>L?{...L,executionState:"finished",response:{result:B}}:void 0)}},onError:F=>{d(void 0),console.error("Query execution error:",F)}}),[R,_]=$t.useState(e.sourceInfo.name);$t.useEffect(()=>{R!==e.sourceInfo.name&&(_(e.sourceInfo.name),s(sx()),d(void 0))},[e,R]);const I=$t.useCallback(F=>{s({...i,malloyQuery:F,malloyResult:void 0})},[i]);return R!==e.sourceInfo.name?m.jsx("div",{children:"Loading..."}):m.jsx(b$,{sx:{border:"1px solid #e0e0e0",borderRadius:"8px",overflow:"hidden"},children:m.jsx(g,{source:e.sourceInfo,query:i?.malloyQuery,topValues:[],onFocusedNestViewPathChange:p,focusedNestViewPath:c,onQueryChange:I,children:m.jsxs("div",{style:{display:"flex",height:"100%",overflowY:"auto"},children:[m.jsx(v,{isInitiallyExpanded:!0,initialWidth:180,minWidth:180,icon:"database",title:e.sourceInfo.name,children:m.jsx(C,{onRefresh:()=>s(sx())})}),m.jsx(v,{isInitiallyExpanded:!0,initialWidth:280,minWidth:280,icon:"filterSliders",title:"Query",children:m.jsx(y,{runQuery:()=>{console.log(`running query with: ${i?.malloyQuery}`);try{M.mutate()}catch(F){console.error("Error running query:",F)}}})}),m.jsx(S,{source:e.sourceInfo,draftQuery:i?.malloyQuery,setDraftQuery:F=>s({...i,malloyQuery:F}),submittedQuery:l,options:{showRawQuery:!0}})]})})},e.sourceInfo.name)}function ACe(e){const[t,n]=w.useState(null),[r,o]=w.useState(null),[a,i]=w.useState(!0);return w.useEffect(()=>{let s=!0;return Promise.all([jo(()=>import("./index-BwGkdFCK.js"),__vite__mapDeps([2,3,4,5,6])),jo(()=>import("./index-C9Ted14e.js").then(l=>l.i),__vite__mapDeps([4,3]))]).then(([l,d])=>{s&&(n(l),o(d),i(!1))}).catch(l=>{console.error("Failed to load Malloy components:",l),s&&i(!1)}),()=>{s=!1}},[]),a||!t||!r?m.jsx(Die,{children:m.jsx(b$,{children:m.jsx(CF,{sx:{alignItems:"center",justifyContent:"center",height:"200px",color:"text.secondary"},children:"Loading explorer..."})})}):m.jsx(kCe,{...e,explorerComponents:t,QueryBuilder:r,resourceUri:e.resourceUri})}const r9=lr(m.jsx("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}));function ka({text:e,size:t=20,color:n="primary",thickness:r=3.6,centered:o=!0,spacing:a=2,textVariant:i="body2"}){const s=m.jsxs(Pt,{sx:{display:"flex",flexDirection:"column",alignItems:"center",gap:a},children:[m.jsx(gb,{size:t,color:n,thickness:r}),e&&m.jsx(xt,{variant:i,color:"text.secondary",children:e})]});return o?m.jsx(Pt,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"200px",width:"100%"},children:s}):s}const DCe=new Set(["warn","error"]);function OCe(e){if(!e?.length)return;const t=[];let n=!1;for(const r of e)!r.message||!DCe.has(r.severity??"")||(r.severity==="error"&&(n=!0),t.includes(r.message)||t.push(r.message));if(t.length)return{severity:n?"error":"warn",title:t.join(`
394
394
  `)}}const MCe=w.lazy(()=>Promise.resolve().then(()=>G5e)),RCe=2e3;function $b({result:e,maxHeight:t,maxResultSize:n=0,renderLogs:r,drill:o}){const a=w.useRef(null),[i,s]=w.useState(Math.min(t,RCe)),[l,d]=w.useState(!1),c=OCe(r);if(!e)return null;if(n>0&&e.length>n&&!l)return m.jsxs(Pt,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,p:4,backgroundColor:"#fafafa",border:"1px solid",borderColor:"#e0e0e0",borderRadius:1},children:[m.jsx(Xse,{sx:{fontSize:48,color:"#757575"}}),m.jsx(xt,{variant:"h6",color:"text.secondary",align:"center",children:"Processing large results may cause browser performance issues. Proceed?"}),m.jsx(ro,{variant:"contained",color:"primary",onClick:()=>d(!0),children:"Proceed"})]});const p=m.jsx(ka,{text:"Loading...",centered:!0,size:32}),g=Math.min(t,i);return m.jsxs(Pt,{ref:a,sx:{position:"relative",height:"auto",border:"0px",borderRadius:0,overflow:"hidden"},children:[e&&m.jsx(w.Suspense,{fallback:p,children:m.jsx(MCe,{result:e,height:g,onSizeChange:s,drill:o})}),c&&m.jsx(Pt,{sx:{position:"absolute",top:4,right:4,zIndex:1},children:m.jsx(Do,{title:c.title,slotProps:{tooltip:{sx:{whiteSpace:"pre-line"}}},children:m.jsx(Ar,{size:"small","aria-label":"Render tag warnings",sx:{backgroundColor:"rgba(255, 255, 255, 0.9)","&:hover":{backgroundColor:"rgba(255, 255, 255, 1)"}},children:m.jsx(r9,{fontSize:"small",color:c.severity==="error"?"error":"warning"})})})})]})}function NCe({cell:e,sourceAndPaths:t,resourceUri:n,onQueryChange:r,onSourceChange:o}){const a={query:e.value,malloyResult:e.result?JSON.parse(e.result):void 0,malloyQuery:e.queryInfo?JSON.parse(e.queryInfo):void 0},i=t.findIndex(s=>s.sourceInfo.name===e.sourceName);return m.jsx(n9,{resourceUri:n,sourceAndPaths:t,selectedSourceIndex:i>=0?i:0,existingQuery:a,onQueryChange:r,onSourceChange:o})}function PCe({cell:e,editingMalloy:t,editingMarkdown:n,sourceAndPaths:r,resourceUri:o,onCellChange:a,onClose:i,onEdit:s,onDelete:l,addButtonCallback:d}){const[c,p]=w.useState(e.value),[g,y]=$t.useState(!1),[v,S]=$t.useState(!1),[C,b]=$t.useState(),[T]=$t.useState(),[E,A]=$t.useState(sx()),[M,R]=$t.useState(!1),[_,I]=$t.useState(e.sourceName?r.findIndex(oe=>oe.sourceInfo.name===e.sourceName):0),{mode:F}=Am();w.useEffect(()=>{e.isMarkdown||Kx(e.value,"malloy",F).then(oe=>{b(oe)})},[e,F]),$t.useEffect(()=>{document.documentElement.setAttribute("data-color-mode","light")});const[B,L]=w.useState(!1),k=()=>{l(),L(!1)},U=r.length===0,j=$t.useCallback(()=>{const oe=r[_],q=oe?.modelPath||e.modelPath||"",ie=oe?.sourceInfo.name||e.sourceName||"";a({...e,value:e.isMarkdown?c:E.query,result:E.malloyResult?JSON.stringify(E.malloyResult):void 0,queryInfo:E.malloyQuery?JSON.stringify(E.malloyQuery):void 0,sourceName:ie,modelPath:q})},[e,c,E,a,_,r]),V=m.jsx(Do,{title:"Delete Cell",children:m.jsx(Ar,{size:"small",onClick:()=>L(!0),children:m.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:m.jsx("path",{d:"M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m2 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6h14zM10 11v6M14 11v6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}),$=m.jsxs(ts,{open:B,onClose:()=>L(!1),children:[m.jsx(rs,{children:"Confirm Delete"}),m.jsx(ns,{children:m.jsx(xt,{children:"Are you sure you want to delete this cell?"})}),m.jsxs(Tm,{children:[m.jsx(ro,{onClick:()=>L(!1),children:"Cancel"}),m.jsx(ro,{onClick:k,color:"error",children:"Delete"})]})]}),K=()=>{j(),i()},X=e.isMarkdown?m.jsxs(m.Fragment,{children:[n?m.jsx(Do,{title:"Save",children:m.jsx(Ar,{size:"small",onClick:K,children:m.jsx(g1,{})})}):m.jsx(Do,{title:"Edit",children:m.jsx(Ar,{size:"small",onClick:s,children:m.jsx(q3,{})})}),!n&&V]}):m.jsxs(m.Fragment,{children:[!t&&m.jsx(Do,{title:g?"Hide Code":"View Code",children:m.jsx(Ar,{size:"small",onClick:()=>{y(!g)},children:m.jsx(NB,{})})}),!t&&e.result&&m.jsx(Do,{title:v?"Hide Embedding":"View Embedding",children:m.jsx(Ar,{size:"small",onClick:()=>{S(!v)},children:m.jsx(PD,{})})}),t&&m.jsx(Do,{title:"Save",children:m.jsx(Ar,{size:"small",onClick:K,children:m.jsx(g1,{})})}),!t&&m.jsx(Do,{title:"Edit",children:m.jsx(Ar,{size:"small",onClick:s,children:m.jsx(q3,{})})}),!t&&V]}),ne=t||n,z=n?m.jsx(Do,{title:"Save",children:m.jsx(Ar,{size:"small",onClick:K,children:m.jsx(g1,{})})}):t?m.jsx(Do,{title:"Save",children:m.jsx(Ar,{size:"small",onClick:K,children:m.jsx(g1,{})})}):null,re=M&&m.jsx(Pt,{sx:{position:"absolute",top:"4px",right:"4px",display:"flex",gap:"8px",backgroundColor:"background.paper",border:"1px solid",borderColor:"divider",borderRadius:"8px",padding:"2px 4px",boxShadow:1,zIndex:10},children:!ne&&m.jsxs(m.Fragment,{children:[d(!0),d(!1),X]})||z});return m.jsxs(Mx,{sx:oe=>({position:"relative",marginTop:"5px",marginBottom:"5px",borderWidth:"1.5px",backgroundColor:oe.palette.background.paper,minHeight:"50px"}),onMouseEnter:()=>R(!0),onMouseLeave:()=>{R(!1)},children:[re,e.isMarkdown?m.jsx(m.Fragment,{children:n?m.jsx(t9,{value:c,preview:"edit",autoFocus:!0,onChange:oe=>{p(oe),a({...e,value:oe})},onBlur:()=>{j(),M||K()}}):m.jsx(Pt,{sx:{px:.5,pt:0,mt:0,"& h1, & h2, & h3, & h4, & h5, & h6":{mt:.5,mb:.5},"& p":{mt:.5,mb:.5},"& ul, & ol":{mt:.5,mb:.5},"& li":{mt:0,mb:0},"& pre, & code":{mt:.5,mb:.5},"& blockquote":{mt:.5,mb:.5}},children:e.value?m.jsx(Pt,{onClick:s,sx:{cursor:"pointer"},children:m.jsx(Rx,{children:e.value})}):m.jsxs(Pt,{onClick:s,sx:{cursor:"pointer"},children:[m.jsx(xt,{sx:{p:2,textAlign:"center",variant:"subtitle2",fontWeight:"medium"},children:"Markdown is empty"}),m.jsx(xt,{sx:{mb:2,textAlign:"center",variant:"body2"},children:"Click to edit."})]})})}):m.jsxs(m.Fragment,{children:[m.jsx(xx,{in:v,timeout:"auto",unmountOnExit:!0,children:m.jsx(Lr,{sx:{p:"10px",borderRadius:0,flexDirection:"row",justifyContent:"space-between"},children:m.jsx(xt,{component:"div",sx:{fontSize:"12px","& .line":{textWrap:"wrap"}},dangerouslySetInnerHTML:{__html:T}})})}),m.jsx(xx,{in:g,timeout:"auto",unmountOnExit:!0,children:m.jsx(Lr,{sx:{p:"10px",borderRadius:0,flexDirection:"row",justifyContent:"space-between"},children:m.jsx(xt,{component:"div",className:"content",sx:{fontSize:"12px","& .line":{textWrap:"wrap"}},dangerouslySetInnerHTML:{__html:C}})})}),t&&(U?m.jsxs(m.Fragment,{children:[m.jsx(xt,{sx:{p:2,textAlign:"center",variant:"subtitle2",fontWeight:"medium"},children:"No Model Imports"}),m.jsx(xt,{sx:{mb:2,textAlign:"center",variant:"body2"},children:"Please add a model import above."})]}):m.jsx(NCe,{sourceAndPaths:r,resourceUri:o,onQueryChange:oe=>{A(oe)},onSourceChange:oe=>{I(oe)},cell:e})),!t&&e.result&&m.jsx(Mx,{variant:"outlined",sx:{borderRadius:0},children:m.jsx($b,{result:e.result,maxHeight:800})}),!t&&!e.result&&m.jsxs(Pt,{onClick:s,sx:{cursor:"pointer"},children:[m.jsx(xt,{sx:{p:2,textAlign:"center",variant:"subtitle2",fontWeight:"medium"},children:"Explore is empty"}),m.jsx(xt,{sx:{mb:2,textAlign:"center",variant:"body2"},children:"Click to edit."})]})]}),B&&$]})}const o9=w.createContext(void 0);function ICe({children:e,workbookStorage:t}){const n=w.useMemo(()=>({workbookStorage:t}),[t]);return m.jsx(o9.Provider,{value:n,children:e})}function _Ce(){const e=w.useContext(o9);if(!e)throw new Error("useWorkbookStorage must be used within a WorkbookStorageProvider");return e}const yl=lr(m.jsx("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})),LCe=lr(m.jsx("path",{d:"M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3zM7 9l1.41 1.41L11 7.83V16h2V7.83l2.59 2.58L17 9l-5-5z"}));function Aa({error:e,context:t}){const n=e.data?.message||"Unknown Error";return m.jsxs(m.Fragment,{children:[t&&m.jsx(xt,{variant:"body2",sx:{p:"10px",m:"auto"},children:t}),m.jsx("pre",{style:{whiteSpace:"pre-wrap",color:"red",padding:"10px",margin:"auto"},children:n})]})}function FCe({initialSelectedModels:e,onModelChange:t,resourceUri:n}){const{environmentName:r,packageName:o,versionId:a}=Eo(n),{apiClients:i}=zr(),{data:s,isLoading:l,isSuccess:d,isError:c,error:p}=So({queryKey:["models",r,o,a],queryFn:()=>i.models.listModels(r,o,a)}),[g,y]=$t.useState(e||[]),[v,S]=$t.useState(null);$t.useEffect(()=>{y(e||[])},[e]);const C=E=>{const A=g.filter(M=>M!==E);y(A),t(A)},b=E=>{const A=[...g,E];y(A),t(A),S(null)};let T=[];return d&&s?.data&&(T=s.data.filter(E=>!g.includes(E.path)).map(E=>E.path)),c?m.jsx(Aa,{error:p,context:`${r} > ${o} > Model Picker`}):m.jsxs(m.Fragment,{children:[m.jsxs(wx,{fullWidth:!0,children:[l&&m.jsx(xt,{children:"Loading..."}),m.jsxs(Lr,{direction:"row",spacing:1,children:[g.map(E=>m.jsx(Ff,{label:E,onDelete:()=>C(E),deleteIcon:m.jsx(yl,{}),sx:{marginBottom:"5px"}},E)),m.jsx(ro,{size:"small",startIcon:m.jsx(LCe,{}),onClick:E=>S(E.currentTarget),disabled:l||c||T.length===0,children:"Add Model"})]})]}),m.jsxs(kd,{anchorEl:v,open:!!v,onClose:()=>S(null),children:[m.jsx(xt,{variant:"subtitle2",sx:{ml:1},children:"Models"}),m.jsx(cc,{}),T.length===0?m.jsx(uc,{disabled:!0,children:"No models available"}):T.map(E=>m.jsx(uc,{onClick:()=>b(E),children:m.jsx(xt,{variant:"body2",children:E})},E))]})]})}function jCe(){const e=sS();return(t,n)=>{if(!n||!n.metaKey&&!n.ctrlKey&&!n.shiftKey&&n.button!==1){e(t);return}const r=new URL(t,window.location.href).href;(n.metaKey||n.ctrlKey||n.button===1||n.shiftKey)&&window.open(r,"_blank")}}function Y3e({workbookPath:e,resourceUri:t}){const n=jCe(),{server:r,getAccessToken:o}=zr(),{apiClients:a}=zr(),{workbookStorage:i}=_Ce(),{environmentName:s,packageName:l}=Eo(t),[d,c]=$t.useState(void 0),[p,g]=$t.useState(void 0);if(!i)throw new Error("Workbook storage be provided via WorkbookStorageProvider");const[y,v]=$t.useState(),[S,C]=$t.useState(),[b,T]=$t.useState(),[E,A]=$t.useState([]),[M,R]=$t.useState(null),[_,I]=$t.useState(null),F=!!M,B=()=>{R(null),I(null)},L=(re,oe)=>{y&&(v(y.insertCell(oe,{isMarkdown:re,value:""})),re?T(oe):C(oe),B(),console.log("handleAddCell",re,oe))},[k,U]=$t.useState(!1),j=()=>{U(!0)},V=async()=>{e&&i&&await i.deleteWorkbook(e).then(()=>{g(void 0),c(void 0)}).catch(re=>{g(`Error deleting workbook: ${re.message}`),c(void 0)}),U(!1),n(`/${s}/${l}`)},$=()=>{U(!1)},K=$t.useCallback(async()=>{if(!y){console.log("No workbook data ref");return}try{v(await y.saveWorkbook()),g(void 0),c("Workbook saved")}catch(re){g(`Error saving workbook: ${re.message}`),c(void 0)}},[y]);if($t.useEffect(()=>{y&&(async()=>{const re=new Map(E.map(({modelPath:ie,sourceInfos:se})=>[ie,se])),oe=[],q=[];for(const ie of y.getModels())re.has(ie)?oe.push({modelPath:ie,sourceInfos:re.get(ie)}):(console.log("Fetching model from Publisher",ie),q.push(a.models.getModel(s,l,ie,void 0).then(se=>({modelPath:ie,sourceInfos:se.data.sourceInfos.map(te=>JSON.parse(te))}))));if(q.length>0){const ie=await Promise.all(q);A([...oe,...ie])}else A(oe)})()},[o,y,l,s,r]),$t.useEffect(()=>{e&&lv.loadWorkbook(i,e).then(re=>{v(re)})},[e,i]),!y)return m.jsx("div",{children:"Loading..."});const X=re=>{const oe=[];for(const q of re)for(const ie of q.sourceInfos)oe.push({modelPath:q.modelPath,sourceInfo:ie});return oe},ne=(re,oe)=>m.jsx(ro,{size:"small",startIcon:m.jsx(am,{}),onClick:()=>L(re,oe),variant:"contained",sx:{backgroundColor:q=>q.palette.background.paper,color:q=>q.palette.mode==="dark"?q.palette.grey[100]:q.palette.grey[700],boxShadow:"none","&:hover":{backgroundColor:q=>q.palette.mode==="dark"?q.palette.grey[500]:q.palette.grey[300],boxShadow:"none"}},children:re?"Markdown":"Explore"}),z=m.jsxs(Pt,{sx:{display:"flex",gap:1,justifyContent:"center",flex:2},children:[ne(!1,y.getCells().length),ne(!0,y.getCells().length)]});return m.jsxs(Mx,{variant:"outlined",children:[m.jsxs(v$,{children:[m.jsx(Pt,{sx:{mb:2},children:m.jsx(Pt,{sx:{minHeight:"24px"},children:p?m.jsx(xt,{color:"error",variant:"body2",children:p}):d?m.jsx(xt,{color:"success",variant:"body2",children:d}):m.jsx("span",{children:" "})})}),m.jsxs(fh,{sx:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},children:[m.jsxs(fh,{direction:"row",spacing:1,alignItems:"center",children:[m.jsx(xt,{variant:"overline",sx:{fontSize:"13px",fontWeight:"bold",verticalAlign:"middle"},children:"Workbook"}),m.jsx(xt,{variant:"subtitle2",sx:{fontSize:"13px",fontWeight:"normal",verticalAlign:"middle",ml:1},children:`${e.workspace} > ${e.path}`})]}),m.jsxs(fh,{sx:{display:"flex",flexDirection:"row",gap:1},children:[m.jsx(Pt,{sx:{display:"flex",alignItems:"center",mt:1,mb:1},children:m.jsx($Ce,{workbookData:y})}),m.jsxs(Pt,{sx:{display:"flex",alignItems:"center",mt:1,mb:1},children:[m.jsx(ro,{color:"error",onClick:j,size:"small",children:"Delete"}),m.jsxs(ts,{open:k,onClose:$,children:[m.jsx(rs,{children:"Delete Workbook"}),m.jsx(ns,{children:m.jsxs(_S,{children:['Are you sure you want to delete the workbook "',e.path,'"? This action cannot be undone.']})}),m.jsxs(Tm,{children:[m.jsx(ro,{onClick:$,color:"primary",size:"small",children:"Cancel"}),m.jsx(ro,{onClick:V,color:"error",autoFocus:!0,size:"small",children:"Delete"})]})]})]})]})]}),m.jsx(cc,{}),m.jsxs(fh,{sx:{display:"flex",flexDirection:"row",width:"100%",mt:2},children:[m.jsx(Pt,{sx:{flex:1},children:m.jsx(FCe,{initialSelectedModels:y.getModels(),onModelChange:re=>{v(y.setModels(re)),K()},resourceUri:t})}),m.jsx(Pt,{sx:{flex:1}})]})]}),m.jsx(aD,{children:m.jsxs(fh,{children:[y.getCells().length===0&&m.jsxs(m.Fragment,{children:[m.jsx(xt,{sx:{textAlign:"center",p:2,variant:"subtitle2",fontWeight:"medium"},children:"Workbook is empty"}),m.jsx(xt,{variant:"body2",sx:{textAlign:"center",mb:2,variant:"body2"},children:"Click the + buttons to add a markdown or code cell."})]}),y.getCells().map((re,oe)=>m.jsx($t.Fragment,{children:m.jsx(PCe,{cell:re,resourceUri:t,addButtonCallback:q=>ne(q,oe),sourceAndPaths:X(E),editingMarkdown:b===oe,editingMalloy:S===oe,onDelete:()=>{v(y.deleteCell(oe)),K()},onCellChange:q=>{v(y.setCell(oe,q))},onEdit:()=>{re.isMarkdown?T(oe):C(oe)},onClose:()=>{re.isMarkdown?T(void 0):C(void 0),K()}},`${oe}-${re.isMarkdown}-${e.workspace}-${e.path}`)},`${oe}-${y.getCells().length}`)),z,m.jsxs(kd,{anchorEl:M,open:F,onClose:B,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[m.jsx(uc,{onClick:()=>L(!0,_??0),children:"Add Markdown"}),m.jsx(uc,{onClick:()=>L(!1,_??0),children:"Add Malloy"})]}),m.jsx(fh,{sx:{flexDirection:"row",justifyContent:"flex-end",p:1}})]})})]})}function $Ce({workbookData:e}){const[t,n]=$t.useState(!1);return m.jsx(ro,{color:"primary",onClick:async()=>{if(!e)return;const r=e.toMalloyWorkbook();try{await navigator.clipboard.writeText(r),n(!0),setTimeout(()=>n(!1),1500)}catch{n(!1),alert("Failed to copy to clipboard")}},size:"small",children:t?"Copied!":"Export"})}const kL="Local";class BCe{async listWorkspaces(t){return Promise.resolve([{name:kL,description:"Stored locally- only accessible to this browser",writeable:!0}])}async listWorkbooks(t){const n=[];for(let r=0;r<localStorage.length;r++){const o=localStorage.key(r);n.push({path:o,workspace:kL})}return n}async getWorkbook(t){const n=localStorage.getItem(t.path);if(n===null)throw new Error(`Notebook not found at path: ${t}`);return n}async deleteWorkbook(t){if(localStorage.getItem(t.path)===null)throw new Error(`Notebook not found at path: ${t}`);localStorage.removeItem(t.path)}async saveWorkbook(t,n){localStorage.setItem(t.path,n)}async moveWorkbook(t,n){const r=localStorage.getItem(t.path);if(r===null)throw new Error(`Notebook not found at path: ${t.path}`);localStorage.setItem(n.path,r),localStorage.removeItem(t.path)}}function vf(e){return(e??"").startsWith("filter<")}function bv(e){const t=/^filter<(.+)>$/.exec(e??"");return t?t[1]:void 0}function pO(e){const t=e.filter(n=>n.trim()!=="");return t.length===0?"":Om.StringFilterExpression.unparse({operator:"=",values:[...t]})}function zCe(e){if(e.trim()==="")return[];const{parsed:t}=Om.StringFilterExpression.parse(e);return a9(t)?t.values:[e]}function UCe(e){return e===void 0||e.trim()===""?!0:a9(Om.StringFilterExpression.parse(e).parsed)}function a9(e){return e!==null&&Om.isStringCondition(e)&&e.operator==="="&&e.not!==!0}function HCe(e){return Om.NumberFilterExpression.unparse({operator:">=",values:[String(e)]})}function AL(e){const t=e.trim();if(t==="")return;const{parsed:n}=Om.NumberFilterExpression.parse(t);if(n===null||n.operator!==">="||n.not===!0||n.values?.length!==1)return;const r=Number(n.values[0]);return Number.isFinite(r)?r:void 0}function VCe(e,t){if(e!=null){if(e instanceof Date)return l9(e,t);if(!Array.isArray(e))return String(e)}}function WCe(e,t){return new Date(Date.UTC(e.year(),e.month(),e.date(),t?.getUTCHours()??0,t?.getUTCMinutes()??0,t?.getUTCSeconds()??0,t?.getUTCMilliseconds()??0))}const qCe=/^(\d{4})-(\d{1,2})-(\d{1,2})(?:[T\s]+(\d{1,2}):(\d{2})(?::(\d{2}))?(?:\.(\d{1,9}))?)?\s*(Z|[+-]\d{2}:?\d{2}|[+-]\d{2}|UTC|GMT)?$/i;function i9(e){const t=e.trim();return t===""?e:t.replace(/^(\d{4}-\d{1,2}-\d{1,2}[T\s]+\d{1,2}:\d{2}(?::\d{2})?(?:\.\d{1,9})?)\s+(\d{2}:?\d{2}|\d{2})$/,"$1+$2")}function GCe(e,t=!1){const n=i9(e);if(n==="")return;const r=qCe.exec(n);if(!r)return;const[,o,a,i,s,l,d,c,p]=r,g={year:Number(o),month:Number(a),day:Number(i),hour:Number(s??0),minute:Number(l??0),second:Number(d??0),milli:Number((c??"").slice(0,3).padEnd(3,"0")||0)},y=Date.UTC(g.year,g.month-1,g.day,g.hour,g.minute,g.second,g.milli),v=new Date(y);if(!(v.getUTCFullYear()===g.year&&v.getUTCMonth()===g.month-1&&v.getUTCDate()===g.day&&v.getUTCHours()===g.hour&&v.getUTCMinutes()===g.minute&&v.getUTCSeconds()===g.second)||p!==void 0&&s===void 0)return;const S=YCe(p);if(S===void 0)return;const C=new Date(y-S*6e4);if(!(t&&p!==void 0&&C.getUTCDate()!==g.day))return C}function YCe(e){if(e===void 0)return 0;const t=e.toUpperCase();if(t==="Z"||t==="UTC"||t==="GMT")return 0;const n=/^([+-])(\d{2}):?(\d{2})?$/.exec(t);if(!n)return;const r=Number(n[3]??0);if(r>59)return;const o=Number(n[2])*60+r,a=n[1]!=="-";if(!(o>(a?840:720)))return a?o:-o}function KCe(e){return!QCe.has(e??"")}const QCe=new Set(["boolean","number","date","timestamp","timestamptz"]);function s9(e,t){if(t===""&&!KCe(e))return null;if(vf(e))return t;switch(e){case"number":{const n=t.trim()===""?NaN:Number(t);return Number.isFinite(n)?n:t}case"boolean":return t==="true"?!0:t==="false"?!1:t;case"date":case"timestamp":case"timestamptz":{const n=i9(t);return GCe(n,e==="date")??n}default:return t}}function XCe(e,t){const n={};for(const[r,o]of e){const a=VCe(o,t.get(r));a!==void 0&&(n[r]=a)}return n}function l9(e,t){const n=e.toISOString();switch(t){case"timestamptz":return n;case"timestamp":return n.slice(0,-1);default:return n.slice(0,10)}}function c9(e,t,n){const r=n?new Set(n):void 0,o={};for(const[a,i]of e)r&&!r.has(a)||i!=null&&(Array.isArray(i)||(o[a]=i instanceof Date?l9(i,t.get(a)):i));return o}function DL(e,t){const n=new Map;for(const[r,o]of Object.entries(e))t.has(r)&&n.set(r,s9(t.get(r),o));return n}function OL(e,t){const n=Array.from(e.keys()).filter(o=>!t.has(o));if(n.length===0)return e;const r=new Map(e);for(const o of n)r.delete(o);return r}function ML(e){return Object.entries(e??{}).sort(([t],[n])=>t<n?-1:1)}function ZCe(e,t){const n=Object.keys(e);return n.length!==Object.keys(t).length?!1:n.every(r=>e[r]===t[r])}function u9({declaredTypes:e,startingValues:t,params:n,onParamsChange:r,documentKey:o,autorun:a}){const i=w.useMemo(()=>DL(t??{},e),[e,JSON.stringify(t)]),s=w.useMemo(()=>DL({...t??{},...n??{}},e),[e,JSON.stringify(t),JSON.stringify(n)]),l=w.useMemo(()=>JSON.stringify([o??null,ML(t),ML(n)]),[o,JSON.stringify(t),JSON.stringify(n)]),[d,c]=w.useState(null),p=d?.key===l?d:null;w.useEffect(()=>{d!==null&&d.key!==l&&c(null)},[d,l]);const g=w.useMemo(()=>OL(p?.draft??s,e),[p,s,e]),y=w.useMemo(()=>OL(p?.applied??s,e),[p,s,e]),v=w.useCallback(M=>M?.key===l?M:{key:l,draft:s,applied:s},[l,s]),S=w.useMemo(()=>XCe(y,e),[y,e]),C=w.useRef(S);w.useEffect(()=>{r&&(ZCe(C.current,S)||(C.current=S,r(S)))},[S,r]);const b=w.useCallback((M,R)=>{c(_=>{const I=v(_),F=new Map(I.draft);return R===null?F.delete(M):F.set(M,R),{key:I.key,draft:F,applied:a?F:I.applied}})},[a,v]),T=w.useCallback(()=>{c(M=>({key:v(M).key,draft:i,applied:i}))},[v,i]),E=w.useCallback(()=>{c(M=>{const R=v(M);return{key:R.key,draft:R.draft,applied:R.draft}})},[v]),A=w.useMemo(()=>{if(a)return!1;if(g.size!==y.size)return!0;for(const[M,R]of g){const _=y.get(M);if(R instanceof Date&&_ instanceof Date){if(R.getTime()!==_.getTime())return!0}else if(Array.isArray(R)&&Array.isArray(_)){if(String(R)!==String(_))return!0}else if(R!==_)return!0}return!1},[a,g,y]);return{draft:g,applied:y,setGiven:b,reset:T,apply:E,pending:A}}const JCe=1e3;function d9(e){const t=e.split(".");return t[t.length-1]}function eEe(e,t){return`run: ${e} -> {
395
395
  group_by: ${t}
396
396
  order_by: ${d9(t)} asc
@@ -515,7 +515,7 @@ import {${t.sourceName}}" from '${t.modelPath}'"
515
515
  `).filter(le=>!le.trimStart().startsWith("##")).join(`
516
516
  `),z=!!e.text&&(K.test(e.text)||X.test(e.text)),re=()=>{if(!e.newSources||e.newSources.length===0)return 0;let te=[],le="";if(e.text){const ue=e.text.match(K);ue&&(te=ue[1].split(",").map(Ee=>Ee.trim()));const pe=e.text.match(X);pe&&(le=pe[1].trim())}for(let ue=0;ue<e.newSources.length;ue++)try{const pe=JSON.parse(e.newSources[ue]);if(te.length>0&&te.includes(pe.name)||le&&le===pe.path)return ue}catch{continue}return 0},oe=e.newSources&&e.newSources.length>0?{sourceInfos:e.newSources,resource:r}:void 0,q=BIe({query:e.text,resourceUri:r}),{mode:ie}=Am();w.useEffect(()=>{e.type==="code"&&Kx(ne(e.text),"malloy",ie).then(te=>{E(te)})},[e,ie]),w.useEffect(()=>{Kx(q,"typescript",ie).then(te=>{M(te)})},[q,ie]);const se=()=>{const te=window.location.href;navigator.clipboard.writeText(te).then(()=>F("URL copied to clipboard!")).catch(()=>F("Failed to copy URL"))};return e.type==="markdown"&&m.jsx(Bk,{children:m.jsxs(Pt,{sx:te=>({"& h1, & h2, & h3, & h4, & h5, & h6":{fontWeight:"600",color:te.palette.text.primary,marginBottom:"8px",marginTop:"16px"},"& h1":{fontSize:"28px"},"& h2":{fontSize:"24px"},"& h3":{fontSize:"20px"},"& p":{color:te.palette.text.primary,lineHeight:"1.7",marginBottom:"8px",fontSize:"16px"},"& ul, & ol":{color:te.palette.text.primary,lineHeight:"1.7",marginBottom:"8px",fontSize:"16px"},"& li":{marginBottom:"4px"}}),children:[o===0?m.jsxs(Lr,{direction:"row",alignItems:"flex-start",justifyContent:"space-between",children:[m.jsx(Rx,{options:$,children:e.text}),m.jsx(Do,{title:"Click to copy link",children:m.jsx(PD,{sx:{fontSize:"24px",color:"text.secondary",cursor:"pointer",marginTop:"26px"},onClick:se})})]}):m.jsx(Rx,{options:$,children:e.text}),m.jsx(xl,{open:I!=="",autoHideDuration:6e3,onClose:()=>F(""),message:I})]})})||e.type==="code"&&m.jsxs(Bk,{children:[(!t||!n&&e.result||e.newSources&&e.newSources.length>0)&&m.jsx(Lr,{sx:{flexDirection:"column",gap:"8px",marginBottom:"2px"},children:e.newSources&&e.newSources.length>0&&m.jsx(Uy,{sx:{position:"relative",padding:"0"},children:m.jsxs(Pt,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"24px",paddingRight:"8px"},children:[T&&m.jsx("span",{dangerouslySetInnerHTML:{__html:T},style:{fontFamily:"monospace",fontSize:"14px",flex:1,marginRight:"8px"}}),z&&m.jsx(Ar,{sx:{backgroundColor:"rgba(255, 255, 255, 0.9)","&:hover":{backgroundColor:"rgba(255, 255, 255, 1)"},width:"32px",height:"32px",flexShrink:0},onClick:()=>_(!0),children:m.jsx(rS,{sx:{fontSize:"18px",color:"grey.700"}})})]})})}),m.jsx(cU,{open:R,onClose:()=>_(!1),title:"Data Sources",hasValidImport:z,resourceUri:r,data:oe,initialSelectedSourceIndex:re()}),m.jsxs(ts,{open:g,onClose:()=>y(!1),maxWidth:"lg",fullWidth:!0,children:[m.jsxs(rs,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:["Malloy Code",m.jsx(Ar,{onClick:()=>y(!1),sx:{color:"text.secondary"},children:m.jsx(yl,{})})]}),m.jsx(ns,{children:m.jsx(Pt,{sx:te=>({border:`1px solid ${te.palette.divider}`,borderRadius:"8px",padding:"16px",fontFamily:"monospace",fontSize:"14px",lineHeight:"1.5",overflow:"auto",maxHeight:"70vh",backgroundColor:te.palette.background.paper,color:te.palette.text.primary}),children:m.jsx("pre",{className:"code-display",style:{margin:0},dangerouslySetInnerHTML:{__html:T}})})})]}),m.jsxs(ts,{open:v,onClose:()=>S(!1),maxWidth:"lg",fullWidth:!0,children:[m.jsxs(rs,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:["Embeddable Code",m.jsx(Ar,{onClick:()=>S(!1),sx:{color:"text.secondary"},children:m.jsx(yl,{})})]}),m.jsx(ns,{children:m.jsxs(Lr,{sx:{flexDirection:"row",justifyContent:"space-between",alignItems:"flex-start"},children:[m.jsx(xt,{component:"div",sx:{fontSize:"12px",fontFamily:"monospace","& .line":{textWrap:"wrap"},flex:1},dangerouslySetInnerHTML:{__html:A}}),m.jsx(Do,{title:"Copy Embeddable Code",children:m.jsx(Ar,{sx:{width:"24px",height:"24px",marginLeft:"8px",color:"text.secondary"},onClick:()=>{navigator.clipboard.writeText(q)},children:m.jsx($Ie,{})})})]})})]}),m.jsx(iU,{open:C,onClose:()=>b(!1),result:e.result||"",title:"Results",drill:U}),i&&!e.result&&!e.error&&!z&&!(e.newSources&&e.newSources.length>0)&&m.jsx(Uy,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:200},children:m.jsx(gb,{size:32})}),!e.result&&e.error&&m.jsxs(Uy,{sx:{p:2},children:[m.jsx(xt,{variant:"body2",sx:{color:"error.main"},children:"This cell could not be run."}),m.jsx(xt,{variant:"body2",component:"pre",sx:{color:"text.secondary",whiteSpace:"pre-wrap",m:0,mt:1},children:e.error})]}),e.result&&s&&m.jsx(Cte,{"aria-label":"a re-run is pending",sx:{mb:1,height:2,borderRadius:1}}),e.result&&m.jsxs(Uy,{sx:{position:"relative"},children:[m.jsx(Pt,{sx:{paddingTop:"24px"},children:m.jsx($b,{result:e.result,maxHeight:zIe,maxResultSize:a,drill:U})}),j,m.jsxs(Lr,{sx:{position:"absolute",top:"-12px",right:"8px",flexDirection:"row",gap:"8px",alignItems:"center",zIndex:2},children:[!t&&m.jsx(Ar,{sx:{backgroundColor:"rgba(255, 255, 255, 0.9)","&:hover":{backgroundColor:"rgba(255, 255, 255, 1)"},width:"32px",height:"32px"},onClick:te=>{te.stopPropagation(),y(!0)},children:m.jsx(NB,{sx:{fontSize:"18px",color:"grey.700"}})}),m.jsx(Ar,{sx:{backgroundColor:"rgba(255, 255, 255, 0.9)","&:hover":{backgroundColor:"rgba(255, 255, 255, 1)"},width:"32px",height:"32px"},onClick:()=>b(!0),children:m.jsx(rS,{sx:{fontSize:"18px",color:"grey.700"}})})]})]})]})}const VIe=4,WIe=400;function qIe(e){const t=e?.response?.data?.message;return typeof t=="string"&&t!==""?t:e instanceof Error&&e.message!==""?e.message:"The server did not say why."}function GIe({resourceUri:e,maxResultSize:t=0,givens:n,onGivensChange:r,onNavigate:o,onDrillNavigate:a}){const{apiClients:i}=zr(),{environmentName:s,packageName:l,versionId:d,modelPath:c}=Eo(e),{data:p,isSuccess:g,isError:y,error:v}=So({queryKey:[e],queryFn:async()=>(await i.notebooks.getNotebook(s,l,c,d)).data}),[S,C]=w.useState([]),[b,T]=w.useState(!1),[E,A]=w.useState(!1),M=w.useRef(void 0),[R,_]=w.useState(null),I=jIe(p),F=w.useMemo(()=>new Map(I.filter(ye=>ye.name!==void 0).map(ye=>[ye.name,ye.type])),[I]),B=w.useCallback(ye=>{g&&r?.(ye,Array.from(F.keys()))},[g,r,F]),L=p?.autorun!==!1,{draft:k,applied:U,setGiven:j,reset:V,apply:$,pending:K}=u9({declaredTypes:F,startingValues:p?.startingGivens,params:n,onParamsChange:g?B:void 0,documentKey:e,autorun:L}),{options:X,isLoading:ne,failed:z}=f9(s,l,c,I,d),re=w.useMemo(()=>{const ye=new Map;for(const Ke of F.keys())ye.has(Ke.toLowerCase())||ye.set(Ke.toLowerCase(),Ke);return ye},[F]),oe=w.useCallback(ye=>F.has(ye)?ye:re.get(ye.toLowerCase()),[F,re]),q=w.useCallback(ye=>oe(ye)!==void 0,[oe]),ie=w.useCallback((ye,Ke)=>{const ze=oe(ye);if(ze===void 0){console.warn(`# drill { to=self } tried to set '${ye}', which '${c}' does not declare as a given. Name the given with 'given=' on the drill tag.`);return}const Ie=F.get(ze),de=g9(Ke,Ie);if(de===void 0){console.warn(`Drill declined: ${JSON.stringify(Ke)} cannot be a value for given "${ze}"`+(Ie?` of type ${Ie}`:""));return}j(ze,de)},[F,c,oe,j]),se=w.useCallback(ye=>{const Ke=c9(ye,F);return Object.keys(Ke).length>0?JSON.stringify(Ke):void 0},[F]),te=w.useRef(0),le=w.useRef(null),ue=w.useRef(null),pe=w.useRef(void 0);w.useEffect(()=>()=>{le.current?.abort(),ue.current=null,clearTimeout(pe.current?.timer),pe.current=void 0},[]);const Ee=w.useCallback(async(ye=new Map)=>{if(!g||!p?.notebookCells)return;const Ke=++te.current;le.current?.abort();const ze=new AbortController;le.current=ze,C(p.notebookCells.map(de=>({...de}))),T(!0),_(null);const Ie=se(ye);try{const de=[];for(let He=0;He<p.notebookCells.length;He++){const ut=p.notebookCells[He];if(ut.type==="markdown")continue;const it=He,Zt=async()=>{try{const Qt=await i.notebooks.executeNotebookCell(s,l,c,it,d,void 0,void 0,Ie,{signal:ze.signal});if(te.current!==Ke)return;const tt=Qt.data,Se=tt.result,Ne=ut.newSources||tt.newSources;C(Me=>{const ge=[...Me];return ge[it]||(ge[it]={...ut}),ge[it]={...ge[it],result:Se,newSources:Ne},ge})}catch(Qt){if(ze.signal.aborted||te.current!==Ke)return;console.error(`Error executing cell ${it}:`,Qt);const tt=qIe(Qt);C(Se=>{const Ne=[...Se];return Ne[it]||(Ne[it]={...ut}),Ne[it]={...Ne[it],error:tt},Ne})}};de.push(Zt)}const gt=[];for(const He of de){const ut=He().then(()=>{gt.splice(gt.indexOf(ut),1)});gt.push(ut),gt.length>=VIe&&await Promise.race(gt)}await Promise.all(gt)}catch(de){if(ze.signal.aborted||te.current!==Ke)return;console.error("Error executing notebook cells:",de),_(de)}finally{te.current===Ke&&(T(!1),le.current=null)}},[g,p,se,s,l,c,d,i.notebooks]),xe=w.useRef(0),Fe=w.useRef(void 0);Fe.current!==p&&(Fe.current=p,xe.current+=1);const me=xe.current;return w.useEffect(()=>{const ye=`${e}|${me}`,Ke=`${ye}|${se(U)??""}`;M.current!==void 0&&M.current!==ye&&(le.current?.abort(),le.current=null),M.current=ye;const ze=FIe({ready:g&&!!p?.notebookCells,lastRunKey:ue.current,pendingKey:pe.current?.key,runKey:Ke,documentKey:ye});if(ze.cancelPending&&(clearTimeout(pe.current?.timer),pe.current=void 0,A(!1)),ze.dispatch==="none")return;const Ie=()=>{pe.current=void 0,A(!1),ue.current=Ke,Ee(U)};if(ze.dispatch==="now"){Ie();return}A(!0),pe.current={key:Ke,timer:setTimeout(Ie,WIe)}},[g,p,me,e,U,se,Ee]),m.jsx(kie,{children:m.jsx(Aie,{children:m.jsxs(Lr,{spacing:3,component:"section",children:[m.jsx($z,{givens:I,values:k,onChange:j,onReset:V,options:X,optionsLoading:ne,optionsFailed:z,apply:L?void 0:{onApply:$,pending:K}}),!g&&!y&&m.jsx(ka,{text:"Fetching Notebook..."}),g&&(S.length>0?S:p?.notebookCells||[]).map((ye,Ke)=>m.jsx(HIe,{cell:ye,index:Ke,resourceUri:e,maxResultSize:t,isExecuting:b,pendingRerun:E,onNavigate:o,onDrillNavigate:a,onDrillSelf:I.length>0?ie:void 0,canDrillSelf:q},Ke)),y&&v.status===404&&m.jsxs(xt,{variant:"body2",sx:{color:"text.secondary"},children:[m.jsx("code",{children:`${s} > ${l} > ${c}`})," ","not found."]}),y&&v.status!==404&&m.jsx(Aa,{error:v,context:`${s} > ${l} > ${c}`}),R&&m.jsx(Aa,{error:{message:R.message,status:500,name:"ExecutionError"},context:"Notebook Execution"})]})})})}const YIe={dashboard:_s.orange,report:_s.teal,model:_s.darkBlue,dataApp:$T.violet,data:$T.moss,materialization:$T.magenta};function KIe({type:e,size:t=18,sx:n,...r}){return m.jsx($x,{...r,viewBox:"0 0 24 24",sx:{width:t,height:t,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",...n},children:QIe[e]()})}const QIe={report:XIe,model:ZIe,data:JIe,materialization:e5e,dataApp:n5e,dashboard:t5e};function XIe(){return m.jsxs(m.Fragment,{children:[m.jsx("path",{d:"M14 3 H6 a2 2 0 0 0 -2 2 v14 a2 2 0 0 0 2 2 h12 a2 2 0 0 0 2 -2 V9 z"}),m.jsx("path",{d:"M14 3 v4 a2 2 0 0 0 2 2 h4"}),m.jsx("path",{d:"M8 17 v-3"}),m.jsx("path",{d:"M12 17 v-6"}),m.jsx("path",{d:"M16 17 v-4"})]})}function ZIe(){return m.jsxs(m.Fragment,{children:[m.jsx("path",{d:"M12 3 L4 7 v10 l8 4 l8 -4 V7 z"}),m.jsx("path",{d:"M4 7 l8 4 l8 -4"}),m.jsx("path",{d:"M12 11 v10"})]})}function JIe(){return m.jsxs(m.Fragment,{children:[m.jsx("rect",{x:"3.5",y:"3.5",width:"17",height:"17",rx:"2"}),m.jsx("path",{d:"M3.5 9.5 H20.5"}),m.jsx("path",{d:"M9.5 3.5 V20.5"})]})}function e5e(){return m.jsxs(m.Fragment,{children:[m.jsx("path",{d:"M12 3 L21 7.5 L12 12 L3 7.5 Z"}),m.jsx("path",{d:"M3 12 L12 16.5 L21 12"}),m.jsx("path",{d:"M3 16.5 L12 21 L21 16.5"})]})}function t5e(){return m.jsxs(m.Fragment,{children:[m.jsx("rect",{x:"3.5",y:"3.5",width:"17",height:"17",rx:"2"}),m.jsx("path",{d:"M3.5 9.5 H20.5"}),m.jsx("path",{d:"M12 9.5 V20.5"}),m.jsx("path",{d:"M12 15 H20.5"})]})}function n5e(){return m.jsxs(m.Fragment,{children:[m.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2"}),m.jsx("path",{d:"M3.5 9.5 H20.5"}),m.jsx("path",{d:"M7 13.5 H17"}),m.jsx("path",{d:"M7 16.5 H13"})]})}const k6="README.malloynb";function t_e({onClickPackageFile:e,resourceUri:t}){const{apiClients:n,server:r}=zr(),o=e??(L=>{window.location.href=L}),{environmentName:a,packageName:i,versionId:s}=Eo(t),[l,d]=w.useState(null),c=So({queryKey:["package",a,i,s],queryFn:()=>n.packages.getPackage(a,i,s,!1)}),p=So({queryKey:["notebooks",a,i,s],queryFn:()=>n.notebooks.listNotebooks(a,i,s)}),g=So({queryKey:["models",a,i,s],queryFn:()=>n.models.listModels(a,i,s)}),y=So({queryKey:["databases",a,i,s],queryFn:()=>n.databases.listDatabases(a,i,s)}),v=So({queryKey:["data-apps",a,i],queryFn:async()=>{try{return await n.dataApps.listDataApps(a,i)}catch(L){const k=L?.response?.status;if(k===404||k===void 0)return{data:[]};throw L}}}).data?.data??[],S=So({queryKey:["dashboards",a,i,s],queryFn:async()=>{try{return await n.dashboards.listDashboards(a,i,s)}catch(L){const k=L?.response?.status;if(k===404||k===void 0)return{data:[]};throw L}}}),C=L=>L.title&&L.title!==L.name?L.title:L.name??"",b=L=>L.title&&L.title!==L.path?L.title:L.path??"",T=(S.data?.data??[]).slice().sort((L,k)=>C(L).localeCompare(C(k))),E=(p.data?.data??[]).slice().sort((L,k)=>b(L).localeCompare(b(k))),A=new Set(T.map(L=>L.path).filter(L=>L!==void 0)),M=(g.data?.data??[]).slice().filter(L=>!A.has(L.path)).sort((L,k)=>L.path.localeCompare(k.path)),R=(y.data?.data??[]).slice().sort((L,k)=>L.path.localeCompare(k.path)),_=c.data?.data?.description??"",I=E.some(L=>L.path===k6),F=fO({environmentName:a,packageName:i,versionId:s,modelPath:k6}),B=!p.isSuccess&&!p.isError||!S.isSuccess&&!S.isError;return c.isError?m.jsx(Aa,{error:c.error,context:`${a} > ${i}`}):m.jsxs(IS,{maxWidth:!1,sx:{maxWidth:1024,mx:"auto",px:3,py:6},children:[m.jsxs(Pt,{sx:{mb:4},children:[m.jsxs(VA,{onClick:L=>o(`/${a}/`,L),underline:"none",sx:{display:"inline-flex",alignItems:"center",gap:.5,cursor:"pointer",color:"text.secondary",fontSize:"0.875rem",mb:2,"&:hover":{color:"primary.main"}},children:[m.jsx(zz,{sx:{fontSize:18}}),"Back to ",a]}),m.jsx(xt,{variant:"h4",component:"h1",sx:{fontWeight:600,letterSpacing:"-0.025em",mb:.5},children:i}),_&&m.jsx(xt,{variant:"body2",color:"text.secondary",children:_})]}),B&&m.jsx(ka,{text:"Loading package..."}),!B&&m.jsxs(m.Fragment,{children:[S.isError&&m.jsx(Pt,{sx:{mb:4},children:m.jsx(Dh,{severity:"warning",children:"Could not list this package's dashboards, so any it has are missing from this page."})}),T.length>0&&m.jsx(Sh,{title:"Dashboards",count:T.length,children:T.map(L=>{const k=!!L.title&&L.title!==L.name;return m.jsx(Ch,{type:"dashboard",label:k?L.title:L.name,rightLabel:k?L.name:void 0,onClick:U=>o(`/${a}/${i}/dashboards/`+encodeURIComponent(L.name??""),U)},L.name)})}),m.jsxs(Sh,{title:"Notebooks",count:E.length,children:[E.map(L=>{const k=!!L.title&&L.title!==L.path;return m.jsx(Ch,{type:"report",label:k?L.title:L.path,rightLabel:k?L.path:void 0,onClick:U=>o(`/${a}/${i}/${L.path}`,U)},L.path)}),E.length===0&&m.jsx(qw,{label:"No notebooks"})]}),v.length>0&&m.jsx(Sh,{title:"Data Apps",count:v.length,children:v.map(L=>{const k=!!L.title&&L.title!==L.path,U=`${HO(r)}${L.resource}`;return m.jsx(Ch,{type:"dataApp",label:k?L.title:L.path,rightLabel:k?L.path:void 0,onClick:j=>{e?e(`/${a}/${i}/data-apps/${L.path}`,j):j&&(j.metaKey||j.ctrlKey)?window.open(U,"_blank"):window.location.href=U},trailingAction:m.jsx(Do,{title:"Open standalone in new tab",children:m.jsx(Ar,{size:"small",href:U,target:"_blank",rel:"noopener noreferrer","aria-label":"Open standalone in new tab",onClick:j=>j.stopPropagation(),sx:{color:"text.secondary"},children:m.jsx(Bz,{fontSize:"small"})})})},L.path)})}),m.jsxs(Sh,{title:"Semantic Models",count:M.length,children:[M.map(L=>m.jsx(Ch,{type:"model",label:L.path,onClick:k=>o(`/${a}/${i}/${L.path}`,k)},L.path)),M.length===0&&m.jsx(qw,{label:"No models"})]}),m.jsxs(Sh,{title:"Package Data",count:R.length,children:[R.map(L=>m.jsx(Ch,{type:"data",label:L.path,rightLabel:L.info?r5e(L.info.rowCount):"Unreadable",onClick:()=>d(L)},L.path)),R.length===0&&m.jsx(qw,{label:"No data files"})]}),m.jsx(Sh,{title:"Materializations",children:m.jsx(Ch,{type:"materialization",label:"Materializations",onClick:L=>o(`/${a}/${i}/materializations`,L)})}),I&&m.jsx(Pt,{sx:{mt:6},children:m.jsx(GIe,{resourceUri:F,onNavigate:o})})]}),m.jsxs(ts,{open:l!==null,onClose:()=>d(null),maxWidth:"sm",fullWidth:!0,children:[m.jsxs(rs,{sx:{pr:6},children:[l?.path,m.jsx(Ar,{"aria-label":"close",onClick:()=>d(null),sx:{position:"absolute",right:8,top:8},children:m.jsx(yl,{fontSize:"small"})})]}),m.jsxs(ns,{children:[l?.error&&m.jsx(xt,{variant:"body2",color:"error",children:l.error}),l?.info?.columns&&m.jsxs(xb,{size:"small",children:[m.jsx(Cb,{children:m.jsxs(dc,{children:[m.jsx(rr,{children:"Column"}),m.jsx(rr,{children:"Type"})]})}),m.jsx(Sb,{children:l.info.columns.map(L=>m.jsxs(dc,{children:[m.jsx(rr,{component:"th",scope:"row",children:L.name}),m.jsx(rr,{children:L.type})]},L.name))})]})]})]})]})}function Sh({title:e,count:t,children:n}){return m.jsxs(Pt,{sx:{mb:4},children:[m.jsxs(Lr,{direction:"row",alignItems:"baseline",spacing:1,sx:{mb:1},children:[m.jsx(xt,{variant:"h6",sx:{fontWeight:600,letterSpacing:"-0.025em"},children:e}),t!==void 0&&m.jsxs(xt,{variant:"caption",color:"text.secondary",children:["(",t,")"]})]}),m.jsx(Pt,{children:n})]})}function Ch({type:e,label:t,rightLabel:n,onClick:r,trailingAction:o}){const a=!!r;return m.jsxs(Pt,{onClick:r,onKeyDown:a?i=>{r&&(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),r(i))}:void 0,role:a?"button":void 0,tabIndex:a?0:void 0,sx:i=>({display:"flex",alignItems:"center",gap:1.5,py:1,px:1,mx:-1,cursor:a?"pointer":"default",borderRadius:1.5,transition:"background-color 0.1s","&:hover":a?{backgroundColor:i.palette.mode==="dark"?"rgba(255, 255, 255, 0.08)":"grey.100"}:void 0,"&:focus-visible":a?{outline:"2px solid",outlineColor:"primary.main",outlineOffset:2}:void 0}),children:[m.jsx(Pt,{sx:{width:32,height:32,borderRadius:1,bgcolor:YIe[e],color:"#FFFFFF",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:m.jsx(KIe,{type:e})}),m.jsx(xt,{variant:"body2",sx:{fontFamily:Yi,flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t}),n&&m.jsx(xt,{variant:"caption",color:"text.secondary",sx:{flexShrink:0},children:n}),o&&m.jsx(Pt,{sx:{flexShrink:0,display:"flex",alignItems:"center"},children:o})]})}function qw({label:e}){return m.jsx(xt,{variant:"body2",color:"text.secondary",sx:{py:1,fontStyle:"italic"},children:e})}function r5e(e){return e>=1e9?`${(e/1e9).toFixed(1)} B rows`:e>=1e6?`${(e/1e6).toFixed(1)} M rows`:e>=1e3?`${(e/1e3).toFixed(1)} K rows`:`${e} rows`}function o5e(e){return yn("MuiCollapse",e)}un("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);const a5e=e=>{const{orientation:t,classes:n}=e,r={root:["root",`${t}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${t}`],wrapperInner:["wrapperInner",`${t}`]};return hn(r,o5e,n)},i5e=Ye("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation],n.state==="entered"&&t.entered,n.state==="exited"&&!n.in&&n.collapsedSize==="0px"&&t.hidden]}})(ar(({theme:e})=>({height:0,overflow:"hidden",transition:e.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:e.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:t})=>t.state==="exited"&&!t.in&&t.collapsedSize==="0px",style:{visibility:"hidden"}}]}))),s5e=Ye("div",{name:"MuiCollapse",slot:"Wrapper"})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),l5e=Ye("div",{name:"MuiCollapse",slot:"WrapperInner"})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),sb=w.forwardRef(function(e,t){const n=er({props:e,name:"MuiCollapse"}),{addEndListener:r,children:o,className:a,collapsedSize:i="0px",component:s,easing:l,in:d,onEnter:c,onEntered:p,onEntering:g,onExit:y,onExited:v,onExiting:S,orientation:C="vertical",style:b,timeout:T=EB.standard,TransitionComponent:E=Ks,...A}=n,M={...n,orientation:C,collapsedSize:i},R=a5e(M),_=Ad(),I=TC(),F=w.useRef(null),B=w.useRef(),L=typeof i=="number"?`${i}px`:i,k=C==="horizontal",U=k?"width":"height",j=w.useRef(null),V=Or(t,j),$=ie=>se=>{if(ie){const te=j.current;se===void 0?ie(te):ie(te,se)}},K=()=>F.current?F.current[k?"clientWidth":"clientHeight"]:0,X=$((ie,se)=>{F.current&&k&&(F.current.style.position="absolute"),ie.style[U]=L,c&&c(ie,se)}),ne=$((ie,se)=>{const te=K();F.current&&k&&(F.current.style.position="");const{duration:le,easing:ue}=dm({style:b,timeout:T,easing:l},{mode:"enter"});if(T==="auto"){const pe=_.transitions.getAutoHeightDuration(te);ie.style.transitionDuration=`${pe}ms`,B.current=pe}else ie.style.transitionDuration=typeof le=="string"?le:`${le}ms`;ie.style[U]=`${te}px`,ie.style.transitionTimingFunction=ue,g&&g(ie,se)}),z=$((ie,se)=>{ie.style[U]="auto",p&&p(ie,se)}),re=$(ie=>{ie.style[U]=`${K()}px`,y&&y(ie)}),oe=$(v),q=$(ie=>{const se=K(),{duration:te,easing:le}=dm({style:b,timeout:T,easing:l},{mode:"exit"});if(T==="auto"){const ue=_.transitions.getAutoHeightDuration(se);ie.style.transitionDuration=`${ue}ms`,B.current=ue}else ie.style.transitionDuration=typeof te=="string"?te:`${te}ms`;ie.style[U]=L,ie.style.transitionTimingFunction=le,S&&S(ie)});return m.jsx(E,{in:d,onEnter:X,onEntered:z,onEntering:ne,onExit:re,onExited:oe,onExiting:q,addEndListener:ie=>{T==="auto"&&I.start(B.current||0,ie),r&&r(j.current,ie)},nodeRef:j,timeout:T==="auto"?null:T,...A,children:(ie,{ownerState:se,...te})=>m.jsx(i5e,{as:s,className:Kt(R.root,a,{entered:R.entered,exited:!d&&L==="0px"&&R.hidden}[ie]),style:{[k?"minWidth":"minHeight"]:L,...b},ref:V,ownerState:{...M,state:ie},...te,children:m.jsx(s5e,{ownerState:{...M,state:ie},className:R.wrapper,ref:F,children:m.jsx(l5e,{ownerState:{...M,state:ie},className:R.wrapperInner,children:o})})})})});sb&&(sb.muiSupportAuto=!0);const c5e=w.createContext(null),zm=()=>{const e=w.useContext(c5e);if(e==null)throw new Error(["MUI X: Could not find the Tree View context.","It looks like you rendered your component outside of a SimpleTreeView or RichTreeView parent component.","This can also happen if you are bundling multiple versions of the Tree View."].join(`
517
517
  `));return e},u5e=({props:e})=>{const{instance:t}=zm(),{label:n,itemId:r}=e,[o,a]=w.useState(n),i=t.isItemBeingEdited(r);return w.useEffect(()=>{i||a(n)},[i,n]),{propsEnhancers:{labelInput:({externalEventHandlers:s,interactions:l})=>t.isItemEditable(r)?{value:o??"","data-element":"labelInput",onChange:d=>{s.onChange?.(d),a(d.target.value)},onKeyDown:d=>{if(s.onKeyDown?.(d),d.defaultMuiPrevented)return;const c=d.target;d.key==="Enter"&&c.value?l.handleSaveItemLabel(d,c.value):d.key==="Escape"&&l.handleCancelItemLabelEditing(d)},onBlur:d=>{s.onBlur?.(d),!d.defaultMuiPrevented&&d.target.value&&l.handleSaveItemLabel(d,d.target.value)},autoFocus:!0,type:"text"}:{}}}},sc=({instance:e,state:t,setState:n,params:r})=>{const o=w.useRef(t.editedItemId),a=p=>o.current===p,i=p=>{n(g=>Te({},g,{editedItemId:p})),o.current=p},s=p=>p===t.editedItemId,l=!!r.isItemEditable,d=p=>{if(p==null||!l)return!1;const g=e.getItem(p);return g?typeof r.isItemEditable=="function"?r.isItemEditable(g):!!r.isItemEditable:!1},c=(p,g)=>{if(!g)throw new Error(["MUI X: The Tree View component requires all items to have a `label` property.","The label of an item cannot be empty.",p].join(`
518
- `));n(y=>{const v=y.items.itemMetaMap[p];return v.label!==g?Te({},y,{items:Te({},y.items,{itemMetaMap:Te({},y.items.itemMetaMap,{[p]:Te({},v,{label:g})})})}):y}),r.onItemLabelChange&&r.onItemLabelChange(p,g)};return{instance:{setEditedItemId:i,isItemBeingEdited:s,updateItemLabel:c,isItemEditable:d,isTreeViewEditable:l,isItemBeingEditedRef:a},publicAPI:{updateItemLabel:c}}};sc.itemPlugin=u5e;sc.getDefaultizedParams=({params:e,experimentalFeatures:t})=>{const n=t?.labelEditing;return Te({},e,{isItemEditable:n?e.isItemEditable??!1:!1})};sc.getInitialState=()=>({editedItemId:null});sc.params={onItemLabelChange:!0,isItemEditable:!0};const Gh=(e,t)=>e.getAvailablePlugins().has(t),uU=e=>Array.isArray(e)?e.length>0&&e.some(uU):!!e,d5e=({itemId:e,children:t})=>{const{instance:n,selection:{multiSelect:r},publicAPI:o}=zm(),a={expandable:uU(t),expanded:n.isItemExpanded(e),focused:n.isItemFocused(e),selected:n.isItemSelected(e),disabled:n.isItemDisabled(e),editing:n?.isItemBeingEdited?n?.isItemBeingEdited(e):!1,editable:n.isItemEditable?n.isItemEditable(e):!1},i=c=>{if(a.disabled)return;a.focused||n.focusItem(c,e);const p=r&&(c.shiftKey||c.ctrlKey||c.metaKey);a.expandable&&!(p&&n.isItemExpanded(e))&&n.toggleItemExpansion(c,e)},s=c=>{a.disabled||(!a.focused&&!a.editing&&n.focusItem(c,e),r&&(c.shiftKey||c.ctrlKey||c.metaKey)?c.shiftKey?n.expandSelectionRange(c,e):n.selectItem({event:c,itemId:e,keepExistingSelection:!0}):n.selectItem({event:c,itemId:e,shouldBeSelected:!0}))},l=c=>{const p=c.nativeEvent.shiftKey;r&&p?n.expandSelectionRange(c,e):n.selectItem({event:c,itemId:e,keepExistingSelection:r,shouldBeSelected:c.target.checked})},d=()=>{Gh(n,sc)&&n.isItemEditable(e)&&(n.isItemBeingEdited(e)?n.setEditedItemId(null):n.setEditedItemId(e))};return{interactions:{handleExpansion:i,handleSelection:s,handleCheckboxSelection:l,toggleItemEditing:d,handleSaveItemLabel:(c,p)=>{Gh(n,sc)&&n.isItemBeingEditedRef(e)&&(n.updateItemLabel(e,p),d(),n.focusItem(c,e))},handleCancelItemLabelEditing:c=>{Gh(n,sc)&&n.isItemBeingEditedRef(e)&&(d(),n.focusItem(c,e))}},status:a,publicAPI:o}},f5e=w.createContext(()=>-1),A6=(e,t)=>t!==e.closest('*[role="treeitem"]'),p5e=({id:e,treeId:t="",itemId:n})=>e??`${t}-${n}`,h5e=e=>{const{runItemPlugins:t,items:{onItemClick:n,disabledItemsFocusable:r,indentationAtItemLevel:o},selection:{disableSelection:a,checkboxSelection:i},expansion:{expansionTrigger:s},treeId:l,instance:d,publicAPI:c}=zm(),p=w.useContext(f5e),{id:g,itemId:y,label:v,children:S,rootRef:C}=e,{rootRef:b,contentRef:T,propsEnhancers:E}=t(e),{interactions:A,status:M}=d5e({itemId:y,children:S}),R=w.useRef(null),_=w.useRef(null),I=Or(C,b,R),F=Or(T,_),B=w.useRef(null),L=p5e({itemId:y,treeId:l,id:g}),k=d.canItemBeTabbed(y)?0:-1,U={rootRefObject:R,contentRefObject:_,interactions:A},j=oe=>q=>{if(oe.onFocus?.(q),q.defaultMuiPrevented)return;const ie=!M.disabled||r;!M.focused&&ie&&q.currentTarget===q.target&&d.focusItem(q,y)},V=oe=>q=>{if(oe.onBlur?.(q),q.defaultMuiPrevented)return;const ie=d.getItemDOMElement(y);M.editing||q.relatedTarget&&A6(q.relatedTarget,ie)&&(q.target&&q.target?.dataset?.element==="labelInput"&&A6(q.target,ie)||q.relatedTarget?.dataset?.element==="labelInput")||d.removeFocusedItem()},$=oe=>q=>{oe.onKeyDown?.(q),!(q.defaultMuiPrevented||q.target?.dataset?.element==="labelInput")&&d.handleItemKeyDown(q,y)},K=oe=>q=>{oe.onDoubleClick?.(q),!q.defaultMuiPrevented&&A.toggleItemEditing()},X=oe=>q=>{oe.onClick?.(q),n?.(q,y),!(q.defaultMuiPrevented||B.current?.contains(q.target))&&(s==="content"&&A.handleExpansion(q),i||A.handleSelection(q))},ne=oe=>q=>{oe.onMouseDown?.(q),!q.defaultMuiPrevented&&(q.shiftKey||q.ctrlKey||q.metaKey||M.disabled)&&q.preventDefault()},z=oe=>q=>{oe.onChange?.(q),!q.defaultMuiPrevented&&(a||M.disabled||A.handleCheckboxSelection(q))},re=oe=>q=>{oe.onClick?.(q),!q.defaultMuiPrevented&&s==="iconContainer"&&A.handleExpansion(q)};return{getRootProps:(oe={})=>{const q=Te({},zi(e),zi(oe));let ie;M.selected?ie=!0:a||M.disabled?ie=void 0:ie=!1;const se=Te({},q,{ref:I,role:"treeitem",tabIndex:k,id:L,"aria-expanded":M.expandable?M.expanded:void 0,"aria-selected":ie,"aria-disabled":M.disabled||void 0},oe,{onFocus:j(q),onBlur:V(q),onKeyDown:$(q)});o&&(se.style={"--TreeView-itemDepth":typeof p=="function"?p(y):p});const te=E.root?.(Te({},U,{externalEventHandlers:q}))??{};return Te({},se,te)},getContentProps:(oe={})=>{const q=zi(oe),ie=Te({},q,oe,{ref:F,onClick:X(q),onMouseDown:ne(q),status:M});o&&(ie.indentationAtItemLevel=!0);const se=E.content?.(Te({},U,{externalEventHandlers:q}))??{};return Te({},ie,se)},getGroupTransitionProps:(oe={})=>{const q=zi(oe),ie=Te({},q,{unmountOnExit:!0,component:"ul",role:"group",in:M.expanded,children:S},oe);return o&&(ie.indentationAtItemLevel=!0),ie},getIconContainerProps:(oe={})=>{const q=zi(oe);return Te({},q,oe,{onClick:re(q)})},getCheckboxProps:(oe={})=>{const q=zi(oe);return Te({},q,{visible:i,ref:B,checked:M.selected,disabled:a||M.disabled,tabIndex:-1},oe,{onChange:z(q)})},getLabelProps:(oe={})=>{const q=Te({},zi(oe)),ie=Te({},q,{children:v},oe,{onDoubleClick:K(q)});return d.isTreeViewEditable&&(ie.editable=M.editable),ie},getLabelInputProps:(oe={})=>{const q=zi(oe),ie=E.labelInput?.({rootRefObject:R,contentRefObject:_,externalEventHandlers:q,interactions:A})??{};return Te({},oe,ie)},getDragAndDropOverlayProps:(oe={})=>{const q=zi(oe),ie=E.dragAndDropOverlay?.(Te({},U,{externalEventHandlers:q}))??{};return Te({},oe,ie)},rootRef:I,status:M,publicAPI:c}},m5e=h5e;function g5e(e){const{instance:t,items:{onItemClick:n},selection:{multiSelect:r,checkboxSelection:o,disableSelection:a},expansion:{expansionTrigger:i}}=zm(),s=t.isItemExpandable(e),l=t.isItemExpanded(e),d=t.isItemFocused(e),c=t.isItemSelected(e),p=t.isItemDisabled(e),g=t?.isItemBeingEdited?t?.isItemBeingEdited(e):!1,y=t.isItemEditable?t.isItemEditable(e):!1,v=E=>{if(!p){d||t.focusItem(E,e);const A=r&&(E.shiftKey||E.ctrlKey||E.metaKey);s&&!(A&&t.isItemExpanded(e))&&t.toggleItemExpansion(E,e)}},S=E=>{p||(!d&&!g&&t.focusItem(E,e),r&&(E.shiftKey||E.ctrlKey||E.metaKey)?E.shiftKey?t.expandSelectionRange(E,e):t.selectItem({event:E,itemId:e,keepExistingSelection:!0}):t.selectItem({event:E,itemId:e,shouldBeSelected:!0}))},C=E=>{if(a||p)return;const A=E.nativeEvent.shiftKey;r&&A?t.expandSelectionRange(E,e):t.selectItem({event:E,itemId:e,keepExistingSelection:r,shouldBeSelected:E.target.checked})},b=E=>{(E.shiftKey||E.ctrlKey||E.metaKey||p)&&E.preventDefault()},T=()=>{Gh(t,sc)&&t.isItemEditable(e)&&(t.isItemBeingEdited(e)?t.setEditedItemId(null):t.setEditedItemId(e))};return{disabled:p,expanded:l,selected:c,focused:d,editable:y,editing:g,disableSelection:a,checkboxSelection:o,handleExpansion:v,handleSelection:S,handleCheckboxSelection:C,handleContentClick:n,preventSelection:b,expansionTrigger:i,toggleItemEditing:T,handleSaveItemLabel:(E,A)=>{Gh(t,sc)&&t.isItemBeingEditedRef(e)&&(t.updateItemLabel(e,A),T(),t.focusItem(E,e))},handleCancelItemLabelEditing:E=>{Gh(t,sc)&&t.isItemBeingEditedRef(e)&&(T(),t.focusItem(E,e))}}}const y5e=Ye("div",{name:"MuiTreeItem2DragAndDropOverlay",slot:"Root",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>Xy(e)&&e!=="action"})(({theme:e})=>({position:"absolute",left:0,display:"flex",top:0,bottom:0,right:0,pointerEvents:"none",variants:[{props:{action:"make-child"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderRadius:e.shape.borderRadius,backgroundColor:e.vars?`rgba(${e.vars.palette.primary.darkChannel} / ${e.vars.palette.action.focusOpacity})`:ea(e.palette.primary.dark,e.palette.action.focusOpacity)}},{props:{action:"reorder-above"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderTop:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"reorder-below"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"move-to-parent"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}}]}));function v5e(e){return e.action==null?null:m.jsx(y5e,Te({},e))}const b5e=Ye("input",{name:"MuiTreeItem2",slot:"LabelInput",overridesResolver:(e,t)=>t.labelInput})(({theme:e})=>Te({},e.typography.body1,{width:"100%",backgroundColor:e.palette.background.paper,borderRadius:e.shape.borderRadius,border:"none",padding:"0 2px",boxSizing:"border-box","&:focus":{outline:`1px solid ${e.palette.primary.main}`}})),x5e=["classes","className","displayIcon","expansionIcon","icon","label","itemId","onClick","onMouseDown","dragAndDropOverlayProps","labelInputProps"],S5e=w.forwardRef(function(e,t){const{classes:n,className:r,displayIcon:o,expansionIcon:a,icon:i,label:s,itemId:l,onClick:d,onMouseDown:c,dragAndDropOverlayProps:p,labelInputProps:g}=e,y=qn(e,x5e),{disabled:v,expanded:S,selected:C,focused:b,editing:T,editable:E,disableSelection:A,checkboxSelection:M,handleExpansion:R,handleSelection:_,handleCheckboxSelection:I,handleContentClick:F,preventSelection:B,expansionTrigger:L,toggleItemEditing:k}=g5e(l),U=i||a||o,j=w.useRef(null),V=X=>{B(X),c&&c(X)},$=X=>{F?.(X,l),!j.current?.contains(X.target)&&(L==="content"&&R(X),M||_(X),d&&d(X))},K=X=>{X.defaultMuiPrevented||k()};return m.jsxs("div",Te({},y,{className:Kt(n.root,r,S&&n.expanded,C&&n.selected,b&&n.focused,v&&n.disabled,T&&n.editing,E&&n.editable),onClick:$,onMouseDown:V,ref:t,children:[m.jsx("div",{className:n.iconContainer,children:U}),M&&m.jsx(VO,{className:n.checkbox,checked:C,onChange:I,disabled:v||A,ref:j,tabIndex:-1}),T?m.jsx(b5e,Te({},g,{className:n.labelInput})):m.jsx("div",Te({className:n.label},E&&{onDoubleClick:K},{children:s})),p&&m.jsx(v5e,Te({},p))]}))}),Qc=un("MuiTreeItem",["root","groupTransition","content","expanded","selected","focused","disabled","iconContainer","label","checkbox","labelInput","editable","editing","dragAndDropOverlay"]),C5e=lr(m.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"})),E5e=lr(m.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}));function dU(e){const{children:t,itemId:n}=e,{wrapItem:r,instance:o}=zm();return r({children:t,itemId:n,instance:o})}dU.propTypes={children:ht.node,itemId:ht.string.isRequired};Ye("li",{name:"MuiTreeItem",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0});Ye(S5e,{name:"MuiTreeItem",slot:"Content",overridesResolver:(e,t)=>[t.content,t.iconContainer&&{[`& .${Qc.iconContainer}`]:t.iconContainer},t.label&&{[`& .${Qc.label}`]:t.label}],shouldForwardProp:e=>hd(e)&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Qc.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"},[`&.${Qc.focused}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Qc.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:ea(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:ea(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:ea(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${Qc.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:ea(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`& .${Qc.iconContainer}`]:{width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}},[`& .${Qc.label}`]:Te({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative"},e.typography.body1),[`& .${Qc.checkbox}`]:{padding:0},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}}]}));Ye(sb,{name:"MuiTreeItem",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>hd(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]});function T5e(e){const{slots:t,slotProps:n,status:r}=e,o=zm(),a=Te({},o.icons.slots,{expandIcon:o.icons.slots.expandIcon??C5e,collapseIcon:o.icons.slots.collapseIcon??E5e}),i=o.icons.slotProps;let s;t?.icon?s="icon":r.expandable?r.expanded?s="collapseIcon":s="expandIcon":s="endIcon";const l=t?.[s]??a[s],d=Fr({elementType:l,externalSlotProps:c=>Te({},um(i[s],c),um(n?.[s],c)),ownerState:{}});return l?m.jsx(l,Te({},d)):null}const w5e=["visible"],k5e=Ye("li",{name:"MuiTreeItem2",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),A5e=Ye("div",{name:"MuiTreeItem2",slot:"Content",overridesResolver:(e,t)=>t.content,shouldForwardProp:e=>hd(e)&&e!=="status"&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}},{props:({status:t})=>t.disabled,style:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"}},{props:({status:t})=>t.focused,style:{backgroundColor:(e.vars||e).palette.action.focus}},{props:({status:t})=>t.selected,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:ea(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:ea(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:ea(e.palette.primary.main,e.palette.action.selectedOpacity)}}}},{props:({status:t})=>t.selected&&t.focused,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:ea(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}]})),D5e=Ye("div",{name:"MuiTreeItem2",slot:"Label",overridesResolver:(e,t)=>t.label,shouldForwardProp:e=>hd(e)&&e!=="editable"})(({theme:e})=>Te({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative",overflow:"hidden"},e.typography.body1,{variants:[{props:({editable:t})=>t,style:{paddingLeft:"2px"}}]})),O5e=Ye("div",{name:"MuiTreeItem2",slot:"IconContainer",overridesResolver:(e,t)=>t.iconContainer})({width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}});Ye(sb,{name:"MuiTreeItem2",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>hd(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]});Ye(w.forwardRef((e,t)=>{const{visible:n}=e,r=qn(e,w5e);return n?m.jsx(VO,Te({},r,{ref:t})):null}),{name:"MuiTreeItem2",slot:"Checkbox",overridesResolver:(e,t)=>t.checkbox})({padding:0});un("MuiRichTreeView",["root"]);Ye("ul",{name:"MuiRichTreeView",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:0,margin:0,listStyle:"none",outline:0,position:"relative"});const M5e=lr([m.jsx("path",{d:"M19 5v14H5V5zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2"},"0"),m.jsx("path",{d:"M14 17H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z"},"1")]),R5e=lr(m.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"})),N5e=lr(m.jsx("path",{d:"M19 15v4H5v-4zm1-2H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1v-6c0-.55-.45-1-1-1M7 18.5c-.82 0-1.5-.67-1.5-1.5s.68-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5M19 5v4H5V5zm1-2H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1M7 8.5c-.82 0-1.5-.67-1.5-1.5S6.18 5.5 7 5.5s1.5.68 1.5 1.5S7.83 8.5 7 8.5"})),P5e=lr(m.jsx("path",{d:"M15 4v2h3v12h-3v2h5V4zM4 20h5v-2H6V6h3V4H4z"})),I5e=kce(sb);function _5e(e){const t=fce({to:{opacity:e.in?1:0,transform:`translate3d(0,${e.in?0:20}px,0)`}});return m.jsx(I5e,{style:t,...e})}function L5e({item:e,...t}){const n=m.jsxs(D5e,{...t,sx:{display:"flex",alignItems:"center",color:e.error?"error.main":"grey.600"},children:[e.fileType==="directory"&&m.jsx(rU,{})||e.fileType==="notebook"&&m.jsx(M5e,{})||e.fileType==="model"&&m.jsx(P5e,{})||e.fileType=="database"&&m.jsx(N5e,{})||m.jsx(R5e,{}),m.jsx(xt,{variant:"body2",sx:{marginLeft:"5px"},color:e.error?"error.main":e.link?"primary.main":"grey.600",children:e.label})]});return e.error?m.jsx(Do,{title:e.error,placement:"right",children:n}):n}w.forwardRef(function(e,t){const{id:n,itemId:r,label:o,children:a,disabled:i,...s}=e,{getRootProps:l,getContentProps:d,getLabelProps:c,getIconContainerProps:p,getGroupTransitionProps:g,status:y,publicAPI:v}=m5e({id:n,itemId:r,children:a,label:o,disabled:i,rootRef:t}),S=v.getItem(r);return y.selected=!1,y.focused=!1,m.jsx(dU,{itemId:r,children:m.jsxs(k5e,{...l(s),children:[m.jsxs(A5e,{...d(),...S.link&&{onClick:C=>S.link(C)},sx:{pointerEvents:!S.selectable&&"none"},children:[m.jsx(O5e,{...p(),children:m.jsx(T5e,{status:y})}),m.jsx(L5e,{...c({item:S})})]}),a&&m.jsx(_5e,{...g()})]})})});function F5e(e){return{background:e.dashboardRoot,tableBackground:e.tableBackground,tableHeaderColor:e.tableHeader,tableBodyColor:e.tableBody,tableBorder:e.border,tablePinnedBackground:e.tableHeaderBackground,tablePinnedBorder:e.pinnedBorder,tableFontSize:`${e.font.size}px`,fontFamily:e.font.family,mapColor:e.mapColor}}function j5e(e){const{foreground:t,axisFaint:n,font:r}=e,o={background:e.background,font:r.family,title:{color:t,font:r.family},axis:{labelColor:t,titleColor:t,domainColor:n,tickColor:n,gridColor:n,labelFont:r.family,titleFont:r.family},legend:{labelColor:t,titleColor:t,labelFont:r.family,titleFont:r.family},header:{labelColor:t,titleColor:t},range:{category:e.series}};return a=>o}function $5e(e){if(!e)return;const t=e.tag("theme");if(!t)return;const n={},r=t.tag("palette");if(r){const a={},i=r.textArray("series");i&&i.length>0&&(a.series=i);for(const s of x$){const l=r.tag(s);if(!l)continue;const d={},c=l.text("light"),p=l.text("dark");c&&(d.light=c),p&&(d.dark=p),Object.keys(d).length>0&&(a[s]=d)}Object.keys(a).length>0&&(n.palette=a)}const o=t.tag("font");if(o){const a={},i=o.text("family");i&&(a.family=i);const s=o.numeric("size");typeof s=="number"&&Number.isFinite(s)&&(a.size=s),Object.keys(a).length>0&&(n.font=a)}return Object.keys(n).length>0?n:void 0}const B5e=async(e,t)=>{if(typeof window>"u")throw new Error("MalloyRenderer can only be used in browser environment");const{MalloyRenderer:n}=await jo(async()=>{const{MalloyRenderer:r}=await import("./index-DSoCUF-f.js");return{MalloyRenderer:r}},[]);return new n({onClick:t,vegaConfigOverride:j5e(e),theme:F5e(e),onError:r=>{console.error("Error rendering visualization:",typeof r,r)}}).createViz()};typeof window<"u"&&jo(()=>import("./index-DSoCUF-f.js"),[]);async function z5e(e){if(!e||typeof e!="object")return;const t=e,n=[...Array.isArray(t.model_annotations)?t.model_annotations:[],...Array.isArray(t.source_annotations)?t.source_annotations:[],...Array.isArray(t.annotations)?t.annotations:[]].map(o=>typeof o?.value=="string"?o.value:void 0).filter(o=>!!o);if(n.length===0)return;let r;try{({parseAnnotation:r}=await jo(()=>import("./index-DF9tVqwN.js").then(o=>o.i),__vite__mapDeps([5,3])))}catch{return}try{const{tag:o}=r(n);return $5e(o)}catch(o){console.warn("Failed to parse # theme.* annotations; chart will render with the shell theme.",{error:o,lines:n});return}}function U5e(e,t,n){const r=nNe(t,n);for(const[o,a]of Object.entries(r))e.style.setProperty(o,a)}const H5e=`
518
+ `));n(y=>{const v=y.items.itemMetaMap[p];return v.label!==g?Te({},y,{items:Te({},y.items,{itemMetaMap:Te({},y.items.itemMetaMap,{[p]:Te({},v,{label:g})})})}):y}),r.onItemLabelChange&&r.onItemLabelChange(p,g)};return{instance:{setEditedItemId:i,isItemBeingEdited:s,updateItemLabel:c,isItemEditable:d,isTreeViewEditable:l,isItemBeingEditedRef:a},publicAPI:{updateItemLabel:c}}};sc.itemPlugin=u5e;sc.getDefaultizedParams=({params:e,experimentalFeatures:t})=>{const n=t?.labelEditing;return Te({},e,{isItemEditable:n?e.isItemEditable??!1:!1})};sc.getInitialState=()=>({editedItemId:null});sc.params={onItemLabelChange:!0,isItemEditable:!0};const Gh=(e,t)=>e.getAvailablePlugins().has(t),uU=e=>Array.isArray(e)?e.length>0&&e.some(uU):!!e,d5e=({itemId:e,children:t})=>{const{instance:n,selection:{multiSelect:r},publicAPI:o}=zm(),a={expandable:uU(t),expanded:n.isItemExpanded(e),focused:n.isItemFocused(e),selected:n.isItemSelected(e),disabled:n.isItemDisabled(e),editing:n?.isItemBeingEdited?n?.isItemBeingEdited(e):!1,editable:n.isItemEditable?n.isItemEditable(e):!1},i=c=>{if(a.disabled)return;a.focused||n.focusItem(c,e);const p=r&&(c.shiftKey||c.ctrlKey||c.metaKey);a.expandable&&!(p&&n.isItemExpanded(e))&&n.toggleItemExpansion(c,e)},s=c=>{a.disabled||(!a.focused&&!a.editing&&n.focusItem(c,e),r&&(c.shiftKey||c.ctrlKey||c.metaKey)?c.shiftKey?n.expandSelectionRange(c,e):n.selectItem({event:c,itemId:e,keepExistingSelection:!0}):n.selectItem({event:c,itemId:e,shouldBeSelected:!0}))},l=c=>{const p=c.nativeEvent.shiftKey;r&&p?n.expandSelectionRange(c,e):n.selectItem({event:c,itemId:e,keepExistingSelection:r,shouldBeSelected:c.target.checked})},d=()=>{Gh(n,sc)&&n.isItemEditable(e)&&(n.isItemBeingEdited(e)?n.setEditedItemId(null):n.setEditedItemId(e))};return{interactions:{handleExpansion:i,handleSelection:s,handleCheckboxSelection:l,toggleItemEditing:d,handleSaveItemLabel:(c,p)=>{Gh(n,sc)&&n.isItemBeingEditedRef(e)&&(n.updateItemLabel(e,p),d(),n.focusItem(c,e))},handleCancelItemLabelEditing:c=>{Gh(n,sc)&&n.isItemBeingEditedRef(e)&&(d(),n.focusItem(c,e))}},status:a,publicAPI:o}},f5e=w.createContext(()=>-1),A6=(e,t)=>t!==e.closest('*[role="treeitem"]'),p5e=({id:e,treeId:t="",itemId:n})=>e??`${t}-${n}`,h5e=e=>{const{runItemPlugins:t,items:{onItemClick:n,disabledItemsFocusable:r,indentationAtItemLevel:o},selection:{disableSelection:a,checkboxSelection:i},expansion:{expansionTrigger:s},treeId:l,instance:d,publicAPI:c}=zm(),p=w.useContext(f5e),{id:g,itemId:y,label:v,children:S,rootRef:C}=e,{rootRef:b,contentRef:T,propsEnhancers:E}=t(e),{interactions:A,status:M}=d5e({itemId:y,children:S}),R=w.useRef(null),_=w.useRef(null),I=Or(C,b,R),F=Or(T,_),B=w.useRef(null),L=p5e({itemId:y,treeId:l,id:g}),k=d.canItemBeTabbed(y)?0:-1,U={rootRefObject:R,contentRefObject:_,interactions:A},j=oe=>q=>{if(oe.onFocus?.(q),q.defaultMuiPrevented)return;const ie=!M.disabled||r;!M.focused&&ie&&q.currentTarget===q.target&&d.focusItem(q,y)},V=oe=>q=>{if(oe.onBlur?.(q),q.defaultMuiPrevented)return;const ie=d.getItemDOMElement(y);M.editing||q.relatedTarget&&A6(q.relatedTarget,ie)&&(q.target&&q.target?.dataset?.element==="labelInput"&&A6(q.target,ie)||q.relatedTarget?.dataset?.element==="labelInput")||d.removeFocusedItem()},$=oe=>q=>{oe.onKeyDown?.(q),!(q.defaultMuiPrevented||q.target?.dataset?.element==="labelInput")&&d.handleItemKeyDown(q,y)},K=oe=>q=>{oe.onDoubleClick?.(q),!q.defaultMuiPrevented&&A.toggleItemEditing()},X=oe=>q=>{oe.onClick?.(q),n?.(q,y),!(q.defaultMuiPrevented||B.current?.contains(q.target))&&(s==="content"&&A.handleExpansion(q),i||A.handleSelection(q))},ne=oe=>q=>{oe.onMouseDown?.(q),!q.defaultMuiPrevented&&(q.shiftKey||q.ctrlKey||q.metaKey||M.disabled)&&q.preventDefault()},z=oe=>q=>{oe.onChange?.(q),!q.defaultMuiPrevented&&(a||M.disabled||A.handleCheckboxSelection(q))},re=oe=>q=>{oe.onClick?.(q),!q.defaultMuiPrevented&&s==="iconContainer"&&A.handleExpansion(q)};return{getRootProps:(oe={})=>{const q=Te({},zi(e),zi(oe));let ie;M.selected?ie=!0:a||M.disabled?ie=void 0:ie=!1;const se=Te({},q,{ref:I,role:"treeitem",tabIndex:k,id:L,"aria-expanded":M.expandable?M.expanded:void 0,"aria-selected":ie,"aria-disabled":M.disabled||void 0},oe,{onFocus:j(q),onBlur:V(q),onKeyDown:$(q)});o&&(se.style={"--TreeView-itemDepth":typeof p=="function"?p(y):p});const te=E.root?.(Te({},U,{externalEventHandlers:q}))??{};return Te({},se,te)},getContentProps:(oe={})=>{const q=zi(oe),ie=Te({},q,oe,{ref:F,onClick:X(q),onMouseDown:ne(q),status:M});o&&(ie.indentationAtItemLevel=!0);const se=E.content?.(Te({},U,{externalEventHandlers:q}))??{};return Te({},ie,se)},getGroupTransitionProps:(oe={})=>{const q=zi(oe),ie=Te({},q,{unmountOnExit:!0,component:"ul",role:"group",in:M.expanded,children:S},oe);return o&&(ie.indentationAtItemLevel=!0),ie},getIconContainerProps:(oe={})=>{const q=zi(oe);return Te({},q,oe,{onClick:re(q)})},getCheckboxProps:(oe={})=>{const q=zi(oe);return Te({},q,{visible:i,ref:B,checked:M.selected,disabled:a||M.disabled,tabIndex:-1},oe,{onChange:z(q)})},getLabelProps:(oe={})=>{const q=Te({},zi(oe)),ie=Te({},q,{children:v},oe,{onDoubleClick:K(q)});return d.isTreeViewEditable&&(ie.editable=M.editable),ie},getLabelInputProps:(oe={})=>{const q=zi(oe),ie=E.labelInput?.({rootRefObject:R,contentRefObject:_,externalEventHandlers:q,interactions:A})??{};return Te({},oe,ie)},getDragAndDropOverlayProps:(oe={})=>{const q=zi(oe),ie=E.dragAndDropOverlay?.(Te({},U,{externalEventHandlers:q}))??{};return Te({},oe,ie)},rootRef:I,status:M,publicAPI:c}},m5e=h5e;function g5e(e){const{instance:t,items:{onItemClick:n},selection:{multiSelect:r,checkboxSelection:o,disableSelection:a},expansion:{expansionTrigger:i}}=zm(),s=t.isItemExpandable(e),l=t.isItemExpanded(e),d=t.isItemFocused(e),c=t.isItemSelected(e),p=t.isItemDisabled(e),g=t?.isItemBeingEdited?t?.isItemBeingEdited(e):!1,y=t.isItemEditable?t.isItemEditable(e):!1,v=E=>{if(!p){d||t.focusItem(E,e);const A=r&&(E.shiftKey||E.ctrlKey||E.metaKey);s&&!(A&&t.isItemExpanded(e))&&t.toggleItemExpansion(E,e)}},S=E=>{p||(!d&&!g&&t.focusItem(E,e),r&&(E.shiftKey||E.ctrlKey||E.metaKey)?E.shiftKey?t.expandSelectionRange(E,e):t.selectItem({event:E,itemId:e,keepExistingSelection:!0}):t.selectItem({event:E,itemId:e,shouldBeSelected:!0}))},C=E=>{if(a||p)return;const A=E.nativeEvent.shiftKey;r&&A?t.expandSelectionRange(E,e):t.selectItem({event:E,itemId:e,keepExistingSelection:r,shouldBeSelected:E.target.checked})},b=E=>{(E.shiftKey||E.ctrlKey||E.metaKey||p)&&E.preventDefault()},T=()=>{Gh(t,sc)&&t.isItemEditable(e)&&(t.isItemBeingEdited(e)?t.setEditedItemId(null):t.setEditedItemId(e))};return{disabled:p,expanded:l,selected:c,focused:d,editable:y,editing:g,disableSelection:a,checkboxSelection:o,handleExpansion:v,handleSelection:S,handleCheckboxSelection:C,handleContentClick:n,preventSelection:b,expansionTrigger:i,toggleItemEditing:T,handleSaveItemLabel:(E,A)=>{Gh(t,sc)&&t.isItemBeingEditedRef(e)&&(t.updateItemLabel(e,A),T(),t.focusItem(E,e))},handleCancelItemLabelEditing:E=>{Gh(t,sc)&&t.isItemBeingEditedRef(e)&&(T(),t.focusItem(E,e))}}}const y5e=Ye("div",{name:"MuiTreeItem2DragAndDropOverlay",slot:"Root",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>Xy(e)&&e!=="action"})(({theme:e})=>({position:"absolute",left:0,display:"flex",top:0,bottom:0,right:0,pointerEvents:"none",variants:[{props:{action:"make-child"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderRadius:e.shape.borderRadius,backgroundColor:e.vars?`rgba(${e.vars.palette.primary.darkChannel} / ${e.vars.palette.action.focusOpacity})`:ea(e.palette.primary.dark,e.palette.action.focusOpacity)}},{props:{action:"reorder-above"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderTop:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"reorder-below"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"move-to-parent"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}}]}));function v5e(e){return e.action==null?null:m.jsx(y5e,Te({},e))}const b5e=Ye("input",{name:"MuiTreeItem2",slot:"LabelInput",overridesResolver:(e,t)=>t.labelInput})(({theme:e})=>Te({},e.typography.body1,{width:"100%",backgroundColor:e.palette.background.paper,borderRadius:e.shape.borderRadius,border:"none",padding:"0 2px",boxSizing:"border-box","&:focus":{outline:`1px solid ${e.palette.primary.main}`}})),x5e=["classes","className","displayIcon","expansionIcon","icon","label","itemId","onClick","onMouseDown","dragAndDropOverlayProps","labelInputProps"],S5e=w.forwardRef(function(e,t){const{classes:n,className:r,displayIcon:o,expansionIcon:a,icon:i,label:s,itemId:l,onClick:d,onMouseDown:c,dragAndDropOverlayProps:p,labelInputProps:g}=e,y=qn(e,x5e),{disabled:v,expanded:S,selected:C,focused:b,editing:T,editable:E,disableSelection:A,checkboxSelection:M,handleExpansion:R,handleSelection:_,handleCheckboxSelection:I,handleContentClick:F,preventSelection:B,expansionTrigger:L,toggleItemEditing:k}=g5e(l),U=i||a||o,j=w.useRef(null),V=X=>{B(X),c&&c(X)},$=X=>{F?.(X,l),!j.current?.contains(X.target)&&(L==="content"&&R(X),M||_(X),d&&d(X))},K=X=>{X.defaultMuiPrevented||k()};return m.jsxs("div",Te({},y,{className:Kt(n.root,r,S&&n.expanded,C&&n.selected,b&&n.focused,v&&n.disabled,T&&n.editing,E&&n.editable),onClick:$,onMouseDown:V,ref:t,children:[m.jsx("div",{className:n.iconContainer,children:U}),M&&m.jsx(VO,{className:n.checkbox,checked:C,onChange:I,disabled:v||A,ref:j,tabIndex:-1}),T?m.jsx(b5e,Te({},g,{className:n.labelInput})):m.jsx("div",Te({className:n.label},E&&{onDoubleClick:K},{children:s})),p&&m.jsx(v5e,Te({},p))]}))}),Qc=un("MuiTreeItem",["root","groupTransition","content","expanded","selected","focused","disabled","iconContainer","label","checkbox","labelInput","editable","editing","dragAndDropOverlay"]),C5e=lr(m.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"})),E5e=lr(m.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}));function dU(e){const{children:t,itemId:n}=e,{wrapItem:r,instance:o}=zm();return r({children:t,itemId:n,instance:o})}dU.propTypes={children:ht.node,itemId:ht.string.isRequired};Ye("li",{name:"MuiTreeItem",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0});Ye(S5e,{name:"MuiTreeItem",slot:"Content",overridesResolver:(e,t)=>[t.content,t.iconContainer&&{[`& .${Qc.iconContainer}`]:t.iconContainer},t.label&&{[`& .${Qc.label}`]:t.label}],shouldForwardProp:e=>hd(e)&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Qc.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"},[`&.${Qc.focused}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Qc.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:ea(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:ea(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:ea(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${Qc.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:ea(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`& .${Qc.iconContainer}`]:{width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}},[`& .${Qc.label}`]:Te({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative"},e.typography.body1),[`& .${Qc.checkbox}`]:{padding:0},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}}]}));Ye(sb,{name:"MuiTreeItem",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>hd(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]});function T5e(e){const{slots:t,slotProps:n,status:r}=e,o=zm(),a=Te({},o.icons.slots,{expandIcon:o.icons.slots.expandIcon??C5e,collapseIcon:o.icons.slots.collapseIcon??E5e}),i=o.icons.slotProps;let s;t?.icon?s="icon":r.expandable?r.expanded?s="collapseIcon":s="expandIcon":s="endIcon";const l=t?.[s]??a[s],d=Fr({elementType:l,externalSlotProps:c=>Te({},um(i[s],c),um(n?.[s],c)),ownerState:{}});return l?m.jsx(l,Te({},d)):null}const w5e=["visible"],k5e=Ye("li",{name:"MuiTreeItem2",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),A5e=Ye("div",{name:"MuiTreeItem2",slot:"Content",overridesResolver:(e,t)=>t.content,shouldForwardProp:e=>hd(e)&&e!=="status"&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}},{props:({status:t})=>t.disabled,style:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"}},{props:({status:t})=>t.focused,style:{backgroundColor:(e.vars||e).palette.action.focus}},{props:({status:t})=>t.selected,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:ea(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:ea(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:ea(e.palette.primary.main,e.palette.action.selectedOpacity)}}}},{props:({status:t})=>t.selected&&t.focused,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:ea(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}]})),D5e=Ye("div",{name:"MuiTreeItem2",slot:"Label",overridesResolver:(e,t)=>t.label,shouldForwardProp:e=>hd(e)&&e!=="editable"})(({theme:e})=>Te({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative",overflow:"hidden"},e.typography.body1,{variants:[{props:({editable:t})=>t,style:{paddingLeft:"2px"}}]})),O5e=Ye("div",{name:"MuiTreeItem2",slot:"IconContainer",overridesResolver:(e,t)=>t.iconContainer})({width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}});Ye(sb,{name:"MuiTreeItem2",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>hd(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]});Ye(w.forwardRef((e,t)=>{const{visible:n}=e,r=qn(e,w5e);return n?m.jsx(VO,Te({},r,{ref:t})):null}),{name:"MuiTreeItem2",slot:"Checkbox",overridesResolver:(e,t)=>t.checkbox})({padding:0});un("MuiRichTreeView",["root"]);Ye("ul",{name:"MuiRichTreeView",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:0,margin:0,listStyle:"none",outline:0,position:"relative"});const M5e=lr([m.jsx("path",{d:"M19 5v14H5V5zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2"},"0"),m.jsx("path",{d:"M14 17H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z"},"1")]),R5e=lr(m.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"})),N5e=lr(m.jsx("path",{d:"M19 15v4H5v-4zm1-2H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1v-6c0-.55-.45-1-1-1M7 18.5c-.82 0-1.5-.67-1.5-1.5s.68-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5M19 5v4H5V5zm1-2H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1M7 8.5c-.82 0-1.5-.67-1.5-1.5S6.18 5.5 7 5.5s1.5.68 1.5 1.5S7.83 8.5 7 8.5"})),P5e=lr(m.jsx("path",{d:"M15 4v2h3v12h-3v2h5V4zM4 20h5v-2H6V6h3V4H4z"})),I5e=kce(sb);function _5e(e){const t=fce({to:{opacity:e.in?1:0,transform:`translate3d(0,${e.in?0:20}px,0)`}});return m.jsx(I5e,{style:t,...e})}function L5e({item:e,...t}){const n=m.jsxs(D5e,{...t,sx:{display:"flex",alignItems:"center",color:e.error?"error.main":"grey.600"},children:[e.fileType==="directory"&&m.jsx(rU,{})||e.fileType==="notebook"&&m.jsx(M5e,{})||e.fileType==="model"&&m.jsx(P5e,{})||e.fileType=="database"&&m.jsx(N5e,{})||m.jsx(R5e,{}),m.jsx(xt,{variant:"body2",sx:{marginLeft:"5px"},color:e.error?"error.main":e.link?"primary.main":"grey.600",children:e.label})]});return e.error?m.jsx(Do,{title:e.error,placement:"right",children:n}):n}w.forwardRef(function(e,t){const{id:n,itemId:r,label:o,children:a,disabled:i,...s}=e,{getRootProps:l,getContentProps:d,getLabelProps:c,getIconContainerProps:p,getGroupTransitionProps:g,status:y,publicAPI:v}=m5e({id:n,itemId:r,children:a,label:o,disabled:i,rootRef:t}),S=v.getItem(r);return y.selected=!1,y.focused=!1,m.jsx(dU,{itemId:r,children:m.jsxs(k5e,{...l(s),children:[m.jsxs(A5e,{...d(),...S.link&&{onClick:C=>S.link(C)},sx:{pointerEvents:!S.selectable&&"none"},children:[m.jsx(O5e,{...p(),children:m.jsx(T5e,{status:y})}),m.jsx(L5e,{...c({item:S})})]}),a&&m.jsx(_5e,{...g()})]})})});function F5e(e){return{background:e.dashboardRoot,tableBackground:e.tableBackground,tableHeaderColor:e.tableHeader,tableBodyColor:e.tableBody,tableBorder:e.border,tablePinnedBackground:e.tableHeaderBackground,tablePinnedBorder:e.pinnedBorder,tableFontSize:`${e.font.size}px`,fontFamily:e.font.family,mapColor:e.mapColor}}function j5e(e){const{foreground:t,axisFaint:n,font:r}=e,o={background:e.background,font:r.family,title:{color:t,font:r.family},axis:{labelColor:t,titleColor:t,domainColor:n,tickColor:n,gridColor:n,labelFont:r.family,titleFont:r.family},legend:{labelColor:t,titleColor:t,labelFont:r.family,titleFont:r.family},header:{labelColor:t,titleColor:t},range:{category:e.series}};return a=>o}function $5e(e){if(!e)return;const t=e.tag("theme");if(!t)return;const n={},r=t.tag("palette");if(r){const a={},i=r.textArray("series");i&&i.length>0&&(a.series=i);for(const s of x$){const l=r.tag(s);if(!l)continue;const d={},c=l.text("light"),p=l.text("dark");c&&(d.light=c),p&&(d.dark=p),Object.keys(d).length>0&&(a[s]=d)}Object.keys(a).length>0&&(n.palette=a)}const o=t.tag("font");if(o){const a={},i=o.text("family");i&&(a.family=i);const s=o.numeric("size");typeof s=="number"&&Number.isFinite(s)&&(a.size=s),Object.keys(a).length>0&&(n.font=a)}return Object.keys(n).length>0?n:void 0}const B5e=async(e,t)=>{if(typeof window>"u")throw new Error("MalloyRenderer can only be used in browser environment");const{MalloyRenderer:n}=await jo(async()=>{const{MalloyRenderer:r}=await import("./index-DSoCUF-f.js");return{MalloyRenderer:r}},[]);return new n({onClick:t,vegaConfigOverride:j5e(e),theme:F5e(e),onError:r=>{console.error("Error rendering visualization:",typeof r,r)}}).createViz()};typeof window<"u"&&jo(()=>import("./index-DSoCUF-f.js"),[]);async function z5e(e){if(!e||typeof e!="object")return;const t=e,n=[...Array.isArray(t.model_annotations)?t.model_annotations:[],...Array.isArray(t.source_annotations)?t.source_annotations:[],...Array.isArray(t.annotations)?t.annotations:[]].map(o=>typeof o?.value=="string"?o.value:void 0).filter(o=>!!o);if(n.length===0)return;let r;try{({parseAnnotation:r}=await jo(()=>import("./index-D3eb2hal.js").then(o=>o.i),__vite__mapDeps([5,3])))}catch{return}try{const{tag:o}=r(n);return $5e(o)}catch(o){console.warn("Failed to parse # theme.* annotations; chart will render with the shell theme.",{error:o,lines:n});return}}function U5e(e,t,n){const r=nNe(t,n);for(const[o,a]of Object.entries(r))e.style.setProperty(o,a)}const H5e=`
519
519
  /* Card geometry, through the renderer's OWN theme vars rather than over the top
520
520
  of them. It declares --malloy-theme--dashboard-* on .malloy-render itself and
521
521
  passes each through to the --malloy-render--* the card CSS reads, so a value
@@ -629,4 +629,4 @@ div.malloy-render .malloy-dashboard .dashboard-row-header {
629
629
  color: var(--publisher-drill-link) !important;
630
630
  text-decoration: underline;
631
631
  }
632
- `,D6="publisher-malloy-renderer-overrides";function V5e(){if(typeof document>"u"||document.getElementById(D6))return;const e=document.createElement("style");e.id=D6,e.textContent=H5e,document.head.appendChild(e)}function W5e({result:e,height:t,drill:n,onSizeChange:r}){const o=w.useRef(null),a=w.useRef(n);a.current=n;const i=w.useCallback(C=>{a.current?.onClick(C)},[]),s=n!==void 0,l=w.useRef(!1),d=w.useRef(null),c=w.useRef(0),{theme:p,layers:g,mode:y}=Am(),v=mc().shape.borderRadius,S=w.useMemo(()=>({radius:`${v}px`,padding:`${UO}px`}),[v]);return w.useEffect(()=>()=>{c.current+=1,d.current?.viz.remove(),d.current=null},[]),w.useLayoutEffect(()=>{if(!o.current||!e)return;V5e();const C=o.current,b=c.current+=1;let T=!1;const E=()=>!T&&b===c.current;let A,M,R=null,_=0,I=null,F=null,B=null,L=null,k=null,U=null;l.current=!1;const j=V=>{if(l.current||T||!V.firstElementChild)return;const $=V.firstElementChild.firstElementChild;if(!$)return;const K=$.firstElementChild;let X=$.scrollHeight||$.offsetHeight||0;K&&$.classList.contains("malloy-dashboard")&&(X=K.scrollHeight||K.offsetHeight||0),X>0&&(l.current=!0,r&&r(X))};return(async()=>{let V;try{V=JSON.parse(e)}catch(q){console.error("Error parsing visualization result:",q);return}const $=await z5e(V),K=$?iD([...g,$],y):p;if(!E())return;try{M=await B5e(K,i)}catch(q){console.error("Failed to create renderer:",q);return}if(!E()){M.remove(),M=void 0;return}const X=d.current;A=document.createElement("div"),A.style.width="100%",A.style.height="100%",U5e(A,K,S),X&&(C.style.position="relative",A.style.position="absolute",A.style.inset="0",A.style.visibility="hidden"),C.appendChild(A);const ne=A;L=new MutationObserver(()=>{k&&clearTimeout(k),k=setTimeout(()=>{j(ne),L?.disconnect()},100)}),L.observe(A,{childList:!0,subtree:!0,attributes:!0});const z=M;let re=!1;const oe=()=>{re||!E()||(re=!0,U&&(clearTimeout(U),U=null),X&&(X.viz.remove(),X.node.parentNode===C&&C.removeChild(X.node)),ne.style.position="",ne.style.inset="",ne.style.visibility="",C.style.position="",d.current={viz:z,node:ne},j(ne))};try{M.setResult(V),M.render(A);const q=a.current;try{if(q){const ie=nEe(M,q.canDrill),se=()=>{try{rEe(ne,ie)}catch(pe){console.warn("Drill affordance skipped:",pe)}};se();const te=pe=>{const Ee=pe.querySelector(".cell-content")??pe,xe=Ee.getBoundingClientRect();Ee.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:Ee.ownerDocument.defaultView,clientX:Math.round(xe.left+xe.width/2),clientY:Math.round(xe.bottom)}))},le=pe=>pe.target?.closest?.(`.${eu}`)??null,ue=(pe,Ee)=>{RL(pe,Ee)?.focus()};I=pe=>{const Ee=le(pe);if(!Ee)return;const xe=pe.key==="ArrowDown"?1:pe.key==="ArrowUp"?-1:pe.key==="Home"?"first":pe.key==="End"?"last":void 0;if(xe!==void 0){pe.preventDefault(),ue(Ee,xe);return}pe.key==="Enter"?(pe.preventDefault(),te(Ee)):pe.key===" "&&pe.preventDefault()},F=pe=>{if(pe.key!==" ")return;const Ee=le(pe);Ee&&(pe.preventDefault(),te(Ee))},B=pe=>{const Ee=pe.target?.closest?.(`.${eu}`);Ee&&RL(Ee,0)},ne.addEventListener("keydown",I),ne.addEventListener("keyup",F),ne.addEventListener("focusin",B),ie.size>0&&typeof MutationObserver<"u"&&(R=new MutationObserver(()=>{cancelAnimationFrame(_),_=requestAnimationFrame(se)}),R.observe(ne,{childList:!0,subtree:!0}))}}catch(ie){console.warn("Drill affordance skipped:",ie)}M.onReady(oe),U=setTimeout(oe,1e4)}catch(q){console.error("Error rendering visualization:",q),L?.disconnect(),R?.disconnect(),M.remove(),M=void 0,ne.parentNode===C&&C.removeChild(ne)}})(),()=>{T=!0,L?.disconnect(),k&&clearTimeout(k),U&&clearTimeout(U),A&&d.current?.node!==A&&(I&&A.removeEventListener("keydown",I),F&&A.removeEventListener("keyup",F),B&&A.removeEventListener("focusin",B),R?.disconnect(),cancelAnimationFrame(_),M?.remove(),A.parentNode===C&&C.removeChild(A),C.style.position="")}},[e,i,s,r,p,g,y,S]),m.jsx("div",{ref:o,style:{width:"100%",height:t?`${t}px`:"400px"}})}function q5e(e){return typeof window>"u"?m.jsx(Pt,{sx:{width:"100%",height:e.height?`${e.height}px`:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"text.secondary"},children:"Loading..."}):m.jsx(w.Suspense,{fallback:m.jsx(Pt,{sx:{width:"100%",height:e.height?`${e.height}px`:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"text.secondary"},children:"Loading visualization..."}),children:m.jsx(W5e,{...e})})}const G5e=Object.freeze(Object.defineProperty({__proto__:null,default:q5e},Symbol.toStringTag,{value:"Module"})),Qo={white:"#FFFFFF",offWhite:"#F8F8F6",grey:{light:"#E6E4E1",mid:"#91908F"},black:"#30302E",semantic:{success:{main:"#7A9461",light:"#E8EDDF",dark:"#5F7A4B"},warning:{main:"#B5943A",light:"#F3ECDA",dark:"#8E7430"},error:{main:"#BF6050",light:"#F2DDD9",dark:"#9C4D40"},info:{main:"#628698",light:"#DDE6EA",dark:"#4D6B79"}}},n_e='"JetBrains Mono", "ui-monospace", "SFMono-Regular", "Menlo", monospace',P1='"Inter", "Helvetica Neue", "Arial", sans-serif',bs={50:Qo.offWhite,100:"#F4F3F1",200:Qo.grey.light,300:"#D4D2CF",400:"#B3B1AF",500:Qo.grey.mid,600:"#73726F",700:"#555450",800:"#424140",900:Qo.black},r_e={headerHeight:56},Gw="0 1px 3px rgba(0, 0, 0, 0.1)",Y5e="#0f172a",K5e="#1e293b",Q5e="#f1f5f9",X5e="#cbd5e1",Z5e="#334155",fU=(e="light")=>{const t=e==="dark",n=t?Y5e:Qo.white,r=t?K5e:Qo.white,o=t?Q5e:Qo.black,a=t?X5e:Qo.grey.mid,i=t?Z5e:Qo.grey.light,s=t?"#334155":"#555450",l=t?"#475569":"#73726f";return TS({cssVariables:{nativeColor:!0},palette:{mode:e,primary:{main:s,light:Qo.grey.light,dark:l,contrastText:"#ffffff"},secondary:{main:Qo.grey.mid,light:Qo.grey.light,dark:Qo.black},grey:bs,success:Qo.semantic.success,warning:Qo.semantic.warning,error:Qo.semantic.error,info:Qo.semantic.info,background:{default:n,paper:r},text:{primary:o,secondary:a},divider:i},typography:{fontFamily:P1,h1:{fontWeight:500,letterSpacing:"-0.025em"},h2:{fontWeight:500,letterSpacing:"-0.025em"},h3:{fontWeight:500,letterSpacing:"-0.025em"},h4:{fontWeight:500,letterSpacing:"-0.025em"},h5:{fontWeight:500,letterSpacing:"-0.025em"},h6:{fontWeight:500,letterSpacing:"-0.025em"},subtitle1:{fontWeight:500,letterSpacing:"-0.025em"},subtitle2:{fontWeight:500,letterSpacing:"-0.025em"},body1:{letterSpacing:"-0.025em"},body2:{letterSpacing:"-0.025em"},button:{fontWeight:500,letterSpacing:"-0.025em",textTransform:"none"}},shape:{borderRadius:4},components:{MuiButtonBase:{defaultProps:{disableRipple:!0,disableTouchRipple:!0}},MuiCssBaseline:{styleOverrides:{"*":{scrollbarWidth:"thin",scrollbarColor:t?"#475569 #1e293b":`${bs[300]} ${bs[100]}`,"&::-webkit-scrollbar":{width:"8px",height:"8px"},"&::-webkit-scrollbar-track":{background:t?"#1e293b":bs[100],borderRadius:"4px"},"&::-webkit-scrollbar-thumb":{background:t?"#475569":bs[300],borderRadius:"4px","&:hover":{background:t?"#64748b":bs[400]}},"&::-webkit-scrollbar-corner":{background:t?"#1e293b":bs[100]}},"div[data-radix-popper-content-wrapper]":{zIndex:"1300 !important"}}},MuiButton:{styleOverrides:{root:{borderRadius:20,textTransform:"none",fontWeight:500,boxShadow:"none","&:hover":{boxShadow:Gw}},contained:{"&:hover":{boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)"}},outlined:{color:o,borderColor:t?"#475569":bs[300],"&:hover":{borderColor:t?"#64748b":bs[400],backgroundColor:t?"rgba(255, 255, 255, 0.06)":"rgba(0, 0, 0, 0.04)"}}}},MuiCard:{styleOverrides:{root:{borderRadius:4,boxShadow:Gw,border:"1px solid",borderColor:i,backgroundColor:r}}},MuiChip:{styleOverrides:{root:{borderRadius:4,fontWeight:500}}},MuiTextField:{styleOverrides:{root:{"& .MuiOutlinedInput-root":{borderRadius:4},"& .MuiInputLabel-outlined":{backgroundColor:r,paddingLeft:4,paddingRight:4,"&.MuiInputLabel-shrink":{transform:"translate(14px, -9px) scale(0.75)"}}}}},MuiDialog:{styleOverrides:{paper:{borderRadius:4,boxShadow:"0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 10px 10px -5px rgba(0, 0, 0, 0.04)"}}},MuiSelect:{styleOverrides:{select:{fontFamily:P1,fontSize:"0.875rem",color:a}}},MuiInputLabel:{styleOverrides:{root:{"&.MuiInputLabel-outlined":{backgroundColor:r,paddingLeft:4,paddingRight:4}}}},MuiOutlinedInput:{styleOverrides:{notchedOutline:{border:"none"},root:{border:`1px solid ${i}`,borderRadius:8,transition:"border-color 120ms ease-in",backgroundColor:r,"&:hover":{borderColor:t?"#475569":bs[300]},"&.Mui-focused":{borderColor:t?"#64748b":bs[400],outline:"none"}}}},MuiMenuItem:{styleOverrides:{root:{fontFamily:P1,fontSize:"0.875rem"}}},MuiInputBase:{styleOverrides:{root:{fontFamily:P1}}},MuiMenu:{styleOverrides:{paper:{borderRadius:4,boxShadow:"0px 10px 15px -3px rgba(0, 0, 0, 0.1), 0px 4px 6px -2px rgba(0, 0, 0, 0.05)",border:`1px solid ${i}`,backgroundColor:r,color:o}}},MuiBreadcrumbs:{styleOverrides:{root:{"& .MuiBreadcrumbs-separator":{margin:"0 6px",color:bs[400]}}}},MuiDivider:{styleOverrides:{root:{borderColor:i}},defaultProps:{sx:{my:1}}},MuiListItemButton:{styleOverrides:{root:{borderRadius:28,margin:"2px 8px",padding:"8px 16px","&:hover":{backgroundColor:t?"rgba(255, 255, 255, 0.08)":Qo.offWhite},"&.Mui-selected":{backgroundColor:t?"rgba(255, 255, 255, 0.12)":Qo.offWhite,color:o,"& .MuiListItemIcon-root":{color:o},"& .MuiListItemText-primary":{color:o},"&:hover":{backgroundColor:t?"rgba(255, 255, 255, 0.16)":Qo.grey.light}}}}},MuiAppBar:{styleOverrides:{root:{backgroundColor:r,color:o,boxShadow:Gw}}}}})};fU("light");function J5e({children:e}){const{mode:t}=Am(),n=w.useMemo(()=>fU(t),[t]);return m.jsxs(UK,{theme:n,children:[m.jsx(VJ,{}),e]})}const e3e=w.lazy(()=>jo(()=>import("./HomePage-CIp-pJCa.js"),[])),t3e=w.lazy(()=>jo(()=>import("./MainPage-CylxO5Yu.js"),__vite__mapDeps([7,8]))),n3e=w.lazy(()=>jo(()=>import("./ModelPage-Cz-MrSZQ.js"),[])),r3e=w.lazy(()=>jo(()=>import("./PackagePage-Cdg5D7AN.js"),[])),o3e=w.lazy(()=>jo(()=>import("./MaterializationsPage-a0vjqxib.js"),[])),a3e=w.lazy(()=>jo(()=>import("./EnvironmentPage-CHq5BF4l.js"),[])),i3e=w.lazy(()=>jo(()=>import("./RouteError-B5SIyn6G.js"),[])),s3e=w.lazy(()=>jo(()=>import("./WorkbookPage-45cG1Gx6.js"),[])),l3e=w.lazy(()=>jo(()=>import("./ThemeEditorPage-B62rRc-y.js"),__vite__mapDeps([9,8]))),c3e=(e="/",t,n)=>FW([{path:e,element:m.jsx(Bie,{children:m.jsx(ICe,{workbookStorage:t,children:m.jsx(J5e,{children:m.jsx(w.Suspense,{fallback:m.jsx(ka,{}),children:m.jsx(t3e,{headerProps:n})})})})}),errorElement:m.jsx(i3e,{}),children:[{index:!0,element:m.jsx(e3e,{})},{path:"settings/theme",element:m.jsx(l3e,{})},{path:"settings",element:m.jsx(fW,{to:"/settings/theme",replace:!0})},{path:":environmentName",element:m.jsx(a3e,{})},{path:":environmentName/:packageName",element:m.jsx(r3e,{})},{path:":environmentName/:packageName/materializations",element:m.jsx(o3e,{})},{path:":environmentName/:packageName/*",element:m.jsx(n3e,{})},{path:":environmentName/:packageName/workbook/:workspace/:workbookPath",element:m.jsx(s3e,{})}]}]),u3e=c3e("/",new BCe,void 0);LH.createRoot(document.getElementById("root")).render(m.jsx(w.StrictMode,{children:m.jsx(KW,{router:u3e})}));export{ka as $,Yn as A,bd as B,J3e as C,pt as D,ja as E,rc as F,Am as G,Do as H,Ar as I,f3e as J,Pt as K,Ff as L,hj as M,uu as N,WA as O,Si as P,zr as Q,Av as R,lk as S,jCe as T,Wj as U,Jl as V,yj as W,bb as X,Zf as Y,r_e as Z,p3e as _,xi as a,h3e as a0,sS as a1,K3e as a2,fO as a3,GIe as a4,fW as a5,Q3e as a6,e_e as a7,uNe as a8,n_e as a9,rs as aA,ns as aB,_S as aC,Tm as aD,tp as aE,Pb as aF,qve as aG,YD as aH,fC as aI,ID as aJ,LD as aK,O_ as aL,PB as aM,ale as aN,d3e as aO,rd as aP,ub as aQ,Om as aR,O6 as aS,VA as aa,t_e as ab,X3e as ac,Z3e as ad,oW as ae,IS as af,Lr as ag,Y3e as ah,tI as ai,$t as aj,Jc as ak,Wte as al,iD as am,ro as an,Kse as ao,A5 as ap,uc as aq,Ws as ar,woe as as,Dh as at,Kre as au,ZI as av,Cm as aw,Em as ax,xl as ay,ts as az,bn as b,$a as c,mn as d,ok as e,xn as f,lY as g,Wl as h,Vt as i,m as j,gn as k,xt as l,fn as m,mc as n,bl as o,Oo as p,Xf as q,w as r,lt as s,ou as t,yA as u,UF as v,Qh as w,GF as x,mb as y,HF as z};
632
+ `,D6="publisher-malloy-renderer-overrides";function V5e(){if(typeof document>"u"||document.getElementById(D6))return;const e=document.createElement("style");e.id=D6,e.textContent=H5e,document.head.appendChild(e)}function W5e({result:e,height:t,drill:n,onSizeChange:r}){const o=w.useRef(null),a=w.useRef(n);a.current=n;const i=w.useCallback(C=>{a.current?.onClick(C)},[]),s=n!==void 0,l=w.useRef(!1),d=w.useRef(null),c=w.useRef(0),{theme:p,layers:g,mode:y}=Am(),v=mc().shape.borderRadius,S=w.useMemo(()=>({radius:`${v}px`,padding:`${UO}px`}),[v]);return w.useEffect(()=>()=>{c.current+=1,d.current?.viz.remove(),d.current=null},[]),w.useLayoutEffect(()=>{if(!o.current||!e)return;V5e();const C=o.current,b=c.current+=1;let T=!1;const E=()=>!T&&b===c.current;let A,M,R=null,_=0,I=null,F=null,B=null,L=null,k=null,U=null;l.current=!1;const j=V=>{if(l.current||T||!V.firstElementChild)return;const $=V.firstElementChild.firstElementChild;if(!$)return;const K=$.firstElementChild;let X=$.scrollHeight||$.offsetHeight||0;K&&$.classList.contains("malloy-dashboard")&&(X=K.scrollHeight||K.offsetHeight||0),X>0&&(l.current=!0,r&&r(X))};return(async()=>{let V;try{V=JSON.parse(e)}catch(q){console.error("Error parsing visualization result:",q);return}const $=await z5e(V),K=$?iD([...g,$],y):p;if(!E())return;try{M=await B5e(K,i)}catch(q){console.error("Failed to create renderer:",q);return}if(!E()){M.remove(),M=void 0;return}const X=d.current;A=document.createElement("div"),A.style.width="100%",A.style.height="100%",U5e(A,K,S),X&&(C.style.position="relative",A.style.position="absolute",A.style.inset="0",A.style.visibility="hidden"),C.appendChild(A);const ne=A;L=new MutationObserver(()=>{k&&clearTimeout(k),k=setTimeout(()=>{j(ne),L?.disconnect()},100)}),L.observe(A,{childList:!0,subtree:!0,attributes:!0});const z=M;let re=!1;const oe=()=>{re||!E()||(re=!0,U&&(clearTimeout(U),U=null),X&&(X.viz.remove(),X.node.parentNode===C&&C.removeChild(X.node)),ne.style.position="",ne.style.inset="",ne.style.visibility="",C.style.position="",d.current={viz:z,node:ne},j(ne))};try{M.setResult(V),M.render(A);const q=a.current;try{if(q){const ie=nEe(M,q.canDrill),se=()=>{try{rEe(ne,ie)}catch(pe){console.warn("Drill affordance skipped:",pe)}};se();const te=pe=>{const Ee=pe.querySelector(".cell-content")??pe,xe=Ee.getBoundingClientRect();Ee.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:Ee.ownerDocument.defaultView,clientX:Math.round(xe.left+xe.width/2),clientY:Math.round(xe.bottom)}))},le=pe=>pe.target?.closest?.(`.${eu}`)??null,ue=(pe,Ee)=>{RL(pe,Ee)?.focus()};I=pe=>{const Ee=le(pe);if(!Ee)return;const xe=pe.key==="ArrowDown"?1:pe.key==="ArrowUp"?-1:pe.key==="Home"?"first":pe.key==="End"?"last":void 0;if(xe!==void 0){pe.preventDefault(),ue(Ee,xe);return}pe.key==="Enter"?(pe.preventDefault(),te(Ee)):pe.key===" "&&pe.preventDefault()},F=pe=>{if(pe.key!==" ")return;const Ee=le(pe);Ee&&(pe.preventDefault(),te(Ee))},B=pe=>{const Ee=pe.target?.closest?.(`.${eu}`);Ee&&RL(Ee,0)},ne.addEventListener("keydown",I),ne.addEventListener("keyup",F),ne.addEventListener("focusin",B),ie.size>0&&typeof MutationObserver<"u"&&(R=new MutationObserver(()=>{cancelAnimationFrame(_),_=requestAnimationFrame(se)}),R.observe(ne,{childList:!0,subtree:!0}))}}catch(ie){console.warn("Drill affordance skipped:",ie)}M.onReady(oe),U=setTimeout(oe,1e4)}catch(q){console.error("Error rendering visualization:",q),L?.disconnect(),R?.disconnect(),M.remove(),M=void 0,ne.parentNode===C&&C.removeChild(ne)}})(),()=>{T=!0,L?.disconnect(),k&&clearTimeout(k),U&&clearTimeout(U),A&&d.current?.node!==A&&(I&&A.removeEventListener("keydown",I),F&&A.removeEventListener("keyup",F),B&&A.removeEventListener("focusin",B),R?.disconnect(),cancelAnimationFrame(_),M?.remove(),A.parentNode===C&&C.removeChild(A),C.style.position="")}},[e,i,s,r,p,g,y,S]),m.jsx("div",{ref:o,style:{width:"100%",height:t?`${t}px`:"400px"}})}function q5e(e){return typeof window>"u"?m.jsx(Pt,{sx:{width:"100%",height:e.height?`${e.height}px`:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"text.secondary"},children:"Loading..."}):m.jsx(w.Suspense,{fallback:m.jsx(Pt,{sx:{width:"100%",height:e.height?`${e.height}px`:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"text.secondary"},children:"Loading visualization..."}),children:m.jsx(W5e,{...e})})}const G5e=Object.freeze(Object.defineProperty({__proto__:null,default:q5e},Symbol.toStringTag,{value:"Module"})),Qo={white:"#FFFFFF",offWhite:"#F8F8F6",grey:{light:"#E6E4E1",mid:"#91908F"},black:"#30302E",semantic:{success:{main:"#7A9461",light:"#E8EDDF",dark:"#5F7A4B"},warning:{main:"#B5943A",light:"#F3ECDA",dark:"#8E7430"},error:{main:"#BF6050",light:"#F2DDD9",dark:"#9C4D40"},info:{main:"#628698",light:"#DDE6EA",dark:"#4D6B79"}}},n_e='"JetBrains Mono", "ui-monospace", "SFMono-Regular", "Menlo", monospace',P1='"Inter", "Helvetica Neue", "Arial", sans-serif',bs={50:Qo.offWhite,100:"#F4F3F1",200:Qo.grey.light,300:"#D4D2CF",400:"#B3B1AF",500:Qo.grey.mid,600:"#73726F",700:"#555450",800:"#424140",900:Qo.black},r_e={headerHeight:56},Gw="0 1px 3px rgba(0, 0, 0, 0.1)",Y5e="#0f172a",K5e="#1e293b",Q5e="#f1f5f9",X5e="#cbd5e1",Z5e="#334155",fU=(e="light")=>{const t=e==="dark",n=t?Y5e:Qo.white,r=t?K5e:Qo.white,o=t?Q5e:Qo.black,a=t?X5e:Qo.grey.mid,i=t?Z5e:Qo.grey.light,s=t?"#334155":"#555450",l=t?"#475569":"#73726f";return TS({cssVariables:{nativeColor:!0},palette:{mode:e,primary:{main:s,light:Qo.grey.light,dark:l,contrastText:"#ffffff"},secondary:{main:Qo.grey.mid,light:Qo.grey.light,dark:Qo.black},grey:bs,success:Qo.semantic.success,warning:Qo.semantic.warning,error:Qo.semantic.error,info:Qo.semantic.info,background:{default:n,paper:r},text:{primary:o,secondary:a},divider:i},typography:{fontFamily:P1,h1:{fontWeight:500,letterSpacing:"-0.025em"},h2:{fontWeight:500,letterSpacing:"-0.025em"},h3:{fontWeight:500,letterSpacing:"-0.025em"},h4:{fontWeight:500,letterSpacing:"-0.025em"},h5:{fontWeight:500,letterSpacing:"-0.025em"},h6:{fontWeight:500,letterSpacing:"-0.025em"},subtitle1:{fontWeight:500,letterSpacing:"-0.025em"},subtitle2:{fontWeight:500,letterSpacing:"-0.025em"},body1:{letterSpacing:"-0.025em"},body2:{letterSpacing:"-0.025em"},button:{fontWeight:500,letterSpacing:"-0.025em",textTransform:"none"}},shape:{borderRadius:4},components:{MuiButtonBase:{defaultProps:{disableRipple:!0,disableTouchRipple:!0}},MuiCssBaseline:{styleOverrides:{"*":{scrollbarWidth:"thin",scrollbarColor:t?"#475569 #1e293b":`${bs[300]} ${bs[100]}`,"&::-webkit-scrollbar":{width:"8px",height:"8px"},"&::-webkit-scrollbar-track":{background:t?"#1e293b":bs[100],borderRadius:"4px"},"&::-webkit-scrollbar-thumb":{background:t?"#475569":bs[300],borderRadius:"4px","&:hover":{background:t?"#64748b":bs[400]}},"&::-webkit-scrollbar-corner":{background:t?"#1e293b":bs[100]}},"div[data-radix-popper-content-wrapper]":{zIndex:"1300 !important"}}},MuiButton:{styleOverrides:{root:{borderRadius:20,textTransform:"none",fontWeight:500,boxShadow:"none","&:hover":{boxShadow:Gw}},contained:{"&:hover":{boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)"}},outlined:{color:o,borderColor:t?"#475569":bs[300],"&:hover":{borderColor:t?"#64748b":bs[400],backgroundColor:t?"rgba(255, 255, 255, 0.06)":"rgba(0, 0, 0, 0.04)"}}}},MuiCard:{styleOverrides:{root:{borderRadius:4,boxShadow:Gw,border:"1px solid",borderColor:i,backgroundColor:r}}},MuiChip:{styleOverrides:{root:{borderRadius:4,fontWeight:500}}},MuiTextField:{styleOverrides:{root:{"& .MuiOutlinedInput-root":{borderRadius:4},"& .MuiInputLabel-outlined":{backgroundColor:r,paddingLeft:4,paddingRight:4,"&.MuiInputLabel-shrink":{transform:"translate(14px, -9px) scale(0.75)"}}}}},MuiDialog:{styleOverrides:{paper:{borderRadius:4,boxShadow:"0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 10px 10px -5px rgba(0, 0, 0, 0.04)"}}},MuiSelect:{styleOverrides:{select:{fontFamily:P1,fontSize:"0.875rem",color:a}}},MuiInputLabel:{styleOverrides:{root:{"&.MuiInputLabel-outlined":{backgroundColor:r,paddingLeft:4,paddingRight:4}}}},MuiOutlinedInput:{styleOverrides:{notchedOutline:{border:"none"},root:{border:`1px solid ${i}`,borderRadius:8,transition:"border-color 120ms ease-in",backgroundColor:r,"&:hover":{borderColor:t?"#475569":bs[300]},"&.Mui-focused":{borderColor:t?"#64748b":bs[400],outline:"none"}}}},MuiMenuItem:{styleOverrides:{root:{fontFamily:P1,fontSize:"0.875rem"}}},MuiInputBase:{styleOverrides:{root:{fontFamily:P1}}},MuiMenu:{styleOverrides:{paper:{borderRadius:4,boxShadow:"0px 10px 15px -3px rgba(0, 0, 0, 0.1), 0px 4px 6px -2px rgba(0, 0, 0, 0.05)",border:`1px solid ${i}`,backgroundColor:r,color:o}}},MuiBreadcrumbs:{styleOverrides:{root:{"& .MuiBreadcrumbs-separator":{margin:"0 6px",color:bs[400]}}}},MuiDivider:{styleOverrides:{root:{borderColor:i}},defaultProps:{sx:{my:1}}},MuiListItemButton:{styleOverrides:{root:{borderRadius:28,margin:"2px 8px",padding:"8px 16px","&:hover":{backgroundColor:t?"rgba(255, 255, 255, 0.08)":Qo.offWhite},"&.Mui-selected":{backgroundColor:t?"rgba(255, 255, 255, 0.12)":Qo.offWhite,color:o,"& .MuiListItemIcon-root":{color:o},"& .MuiListItemText-primary":{color:o},"&:hover":{backgroundColor:t?"rgba(255, 255, 255, 0.16)":Qo.grey.light}}}}},MuiAppBar:{styleOverrides:{root:{backgroundColor:r,color:o,boxShadow:Gw}}}}})};fU("light");function J5e({children:e}){const{mode:t}=Am(),n=w.useMemo(()=>fU(t),[t]);return m.jsxs(UK,{theme:n,children:[m.jsx(VJ,{}),e]})}const e3e=w.lazy(()=>jo(()=>import("./HomePage-DCsq293d.js"),[])),t3e=w.lazy(()=>jo(()=>import("./MainPage-C1_VHMxk.js"),__vite__mapDeps([7,8]))),n3e=w.lazy(()=>jo(()=>import("./ModelPage-XQfzVXUN.js"),[])),r3e=w.lazy(()=>jo(()=>import("./PackagePage-DI1IVhGL.js"),[])),o3e=w.lazy(()=>jo(()=>import("./MaterializationsPage-DGwKeuAA.js"),[])),a3e=w.lazy(()=>jo(()=>import("./EnvironmentPage-BcEUZVIC.js"),[])),i3e=w.lazy(()=>jo(()=>import("./RouteError-n2MUv4eq.js"),[])),s3e=w.lazy(()=>jo(()=>import("./WorkbookPage-DgLPorl-.js"),[])),l3e=w.lazy(()=>jo(()=>import("./ThemeEditorPage-DpxdBjEn.js"),__vite__mapDeps([9,8]))),c3e=(e="/",t,n)=>FW([{path:e,element:m.jsx(Bie,{children:m.jsx(ICe,{workbookStorage:t,children:m.jsx(J5e,{children:m.jsx(w.Suspense,{fallback:m.jsx(ka,{}),children:m.jsx(t3e,{headerProps:n})})})})}),errorElement:m.jsx(i3e,{}),children:[{index:!0,element:m.jsx(e3e,{})},{path:"settings/theme",element:m.jsx(l3e,{})},{path:"settings",element:m.jsx(fW,{to:"/settings/theme",replace:!0})},{path:":environmentName",element:m.jsx(a3e,{})},{path:":environmentName/:packageName",element:m.jsx(r3e,{})},{path:":environmentName/:packageName/materializations",element:m.jsx(o3e,{})},{path:":environmentName/:packageName/*",element:m.jsx(n3e,{})},{path:":environmentName/:packageName/workbook/:workspace/:workbookPath",element:m.jsx(s3e,{})}]}]),u3e=c3e("/",new BCe,void 0);LH.createRoot(document.getElementById("root")).render(m.jsx(w.StrictMode,{children:m.jsx(KW,{router:u3e})}));export{ka as $,Yn as A,bd as B,J3e as C,pt as D,ja as E,rc as F,Am as G,Do as H,Ar as I,f3e as J,Pt as K,Ff as L,hj as M,uu as N,WA as O,Si as P,zr as Q,Av as R,lk as S,jCe as T,Wj as U,Jl as V,yj as W,bb as X,Zf as Y,r_e as Z,p3e as _,xi as a,h3e as a0,sS as a1,K3e as a2,fO as a3,GIe as a4,fW as a5,Q3e as a6,e_e as a7,uNe as a8,n_e as a9,rs as aA,ns as aB,_S as aC,Tm as aD,tp as aE,Pb as aF,qve as aG,YD as aH,fC as aI,ID as aJ,LD as aK,O_ as aL,PB as aM,ale as aN,d3e as aO,rd as aP,ub as aQ,Om as aR,O6 as aS,VA as aa,t_e as ab,X3e as ac,Z3e as ad,oW as ae,IS as af,Lr as ag,Y3e as ah,tI as ai,$t as aj,Jc as ak,Wte as al,iD as am,ro as an,Kse as ao,A5 as ap,uc as aq,Ws as ar,woe as as,Dh as at,Kre as au,ZI as av,Cm as aw,Em as ax,xl as ay,ts as az,bn as b,$a as c,mn as d,ok as e,xn as f,lY as g,Wl as h,Vt as i,m as j,gn as k,xt as l,fn as m,mc as n,bl as o,Oo as p,Xf as q,w as r,lt as s,ou as t,yA as u,UF as v,Qh as w,GF as x,mb as y,HF as z};
package/dist/index.html CHANGED
@@ -16,7 +16,7 @@ SPDX-License-Identifier: MIT
16
16
  href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap"
17
17
  />
18
18
  <title>Malloy Publisher</title>
19
- <script type="module" crossorigin src="/assets/index-P-pF8nU5.js"></script>
19
+ <script type="module" crossorigin src="/assets/index-O-tznXBH.js"></script>
20
20
  <link rel="stylesheet" crossorigin href="/assets/index-5eLCcNmP.css">
21
21
  </head>
22
22
  <body>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@malloy-publisher/app",
3
3
  "description": "Malloy Publisher Console (the built-in web UI)",
4
- "version": "0.2.1",
4
+ "version": "0.2.2",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.es.js",
@@ -41,7 +41,7 @@
41
41
  "test:playwright:headed": "bunx playwright test --config=playwright.config.ts --headed"
42
42
  },
43
43
  "dependencies": {
44
- "@malloy-publisher/sdk": "^0.2.1",
44
+ "@malloy-publisher/sdk": "^0.2.2",
45
45
  "@mui/icons-material": "^7.0.2",
46
46
  "@mui/material": "^7.0.2",
47
47
  "@tanstack/react-query": "^5.59.16",