@malloy-publisher/sdk 0.0.215 → 0.0.217
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ServerProvider-CPvSRdUp.cjs.js +1 -0
- package/dist/{ServerProvider-B76JLUMa.es.js → ServerProvider-n2G52vS7.es.js} +74 -71
- package/dist/client/api.d.ts +18 -2
- package/dist/client/index.cjs.js +1 -1
- package/dist/client/index.es.js +23 -22
- package/dist/components/PageViewer/PageViewer.d.ts +6 -0
- package/dist/{core-nOY_ehFO.cjs.js → core-CJddZwwz.cjs.js} +1 -1
- package/dist/{core-XtBSnW2U.es.js → core-DiLT6QvL.es.js} +1 -1
- package/dist/{index-6oc6QM4J.cjs.js → index-CBEVTU48.cjs.js} +3 -3
- package/dist/{index-BOPR9L3h.es.js → index-CyjzjJGF.es.js} +95 -73
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +2 -2
- package/package.json +1 -1
- package/src/components/PageViewer/PageViewer.tsx +41 -7
- package/dist/ServerProvider-DLfoKLcf.cjs.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var py=Object.create;var kp=Object.defineProperty;var fy=Object.getOwnPropertyDescriptor;var hy=Object.getOwnPropertyNames;var my=Object.getPrototypeOf,gy=Object.prototype.hasOwnProperty;var by=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of hy(t))!gy.call(e,o)&&o!==n&&kp(e,o,{get:()=>t[o],enumerable:!(r=fy(t,o))||r.enumerable});return e};var lu=(e,t,n)=>(n=e!=null?py(my(e)):{},by(t||!e||!e.__esModule?kp(n,"default",{value:e,enumerable:!0}):n,e));const u=require("react/jsx-runtime"),k=require("@mui/material"),H=require("react"),mr=require("@tanstack/react-query"),ze=require("./ServerProvider-
|
|
1
|
+
"use strict";var py=Object.create;var kp=Object.defineProperty;var fy=Object.getOwnPropertyDescriptor;var hy=Object.getOwnPropertyNames;var my=Object.getPrototypeOf,gy=Object.prototype.hasOwnProperty;var by=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of hy(t))!gy.call(e,o)&&o!==n&&kp(e,o,{get:()=>t[o],enumerable:!(r=fy(t,o))||r.enumerable});return e};var lu=(e,t,n)=>(n=e!=null?py(my(e)):{},by(t||!e||!e.__esModule?kp(n,"default",{value:e,enumerable:!0}):n,e));const u=require("react/jsx-runtime"),k=require("@mui/material"),H=require("react"),mr=require("@tanstack/react-query"),ze=require("./ServerProvider-CPvSRdUp.cjs.js"),Vs=require("markdown-to-jsx"),nn=require("@mui/icons-material"),pt=require("@mui/system"),xy=require("@emotion/styled"),yy=require("@emotion/react"),ea=require("react-dom"),Zm=require("@react-spring/web"),Ey=require("react-router-dom");function Jm(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const w=Jm(H),Cy=Jm(ea),Dp=e=>e,Ty=()=>{let e=Dp;return{configure(t){e=t},generate(t){return e(t)},reset(){e=Dp}}},e0=Ty();function Or(e,...t){const n=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(r=>n.searchParams.append("args[]",r)),`Minified MUI error #${e}; visit ${n} for the full message.`}function ve(e){if(typeof e!="string")throw new Error(Or(7));return e.charAt(0).toUpperCase()+e.slice(1)}function wp(...e){return e.reduce((t,n)=>n==null?t:function(...o){t.apply(this,o),n.apply(this,o)},()=>{})}function tr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var uu={exports:{}},cu,Ip;function vy(){if(Ip)return cu;Ip=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return cu=e,cu}var du,Ap;function Sy(){if(Ap)return du;Ap=1;var e=vy();function t(){}function n(){}return n.resetWarningCache=t,du=function(){function r(a,s,l,c,d,p){if(p!==e){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}}r.isRequired=r;function o(){return r}var i={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:o,element:r,elementType:r,instanceOf:o,node:r,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:n,resetWarningCache:t};return i.PropTypes=i,i},du}var Pp;function ky(){return Pp||(Pp=1,uu.exports=Sy()()),uu.exports}var Dy=ky();const de=tr(Dy);function t0(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=t0(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Ae(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=t0(e))&&(r&&(r+=" "),r+=t);return r}function Oe(e,t,n=void 0){const r={};for(const o in e){const i=e[o];let a="",s=!0;for(let l=0;l<i.length;l+=1){const c=i[l];c&&(a+=(s===!0?"":" ")+t(c),s=!1,n&&n[c]&&(a+=" "+n[c]))}r[o]=a}return r}var pu={exports:{}},yt={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-is.production.js
|
|
4
4
|
*
|
|
@@ -89,7 +89,7 @@ import {${t.sourceName}}" from '${t.modelPath}'"
|
|
|
89
89
|
- [ ] `),/^\d+.\s/.test(a)&&(T=`
|
|
90
90
|
`+(parseInt(a)+1)+". "),ri(r,T)}else if(e.code&&e.code.toLowerCase()==="keyd"&&e.ctrlKey){Ps(e);var S={start:r.selectionStart,end:r.selectionEnd},D=S;S=ba({text:r.value,selection:S});var C=r.value.slice(S.start,S.end);s.setSelectionRange({start:S.end,end:S.end}),ri(r,`
|
|
91
91
|
`+C),s.setSelectionRange({start:D.start,end:D.end})}else e.code&&e.code.toLowerCase()==="arrowup"&&e.altKey?wh(e,-1):e.code&&e.code.toLowerCase()==="arrowdown"&&e.altKey&&wh(e,1)}var l4=["prefixCls","onChange"],u4=["markdown","commands","fullscreen","preview","highlightEnable","extraCommands","tabSize","defaultTabEnable","autoFocusEnd","textareaWarp","dispatch"];function c4(e){var{prefixCls:t,onChange:n}=e,r=$e(e,l4),o=H.useContext(ki),{markdown:i,commands:a,fullscreen:s,preview:l,highlightEnable:c,extraCommands:d,tabSize:p,defaultTabEnable:h,autoFocusEnd:f,textareaWarp:m,dispatch:g}=o;$e(o,u4);var x=H.useRef(null),y=H.useRef(),E=H.useRef({fullscreen:s,preview:l});H.useEffect(()=>{E.current={fullscreen:s,preview:l,highlightEnable:c}},[s,l,c]),H.useEffect(()=>{if(x.current&&g){var S=new Rd(x.current);y.current=S,g({textarea:x.current,commandOrchestrator:S})}},[]),H.useEffect(()=>{if(f&&x.current&&m){x.current.focus();var S=x.current.value.length;x.current.setSelectionRange(S,S),setTimeout(()=>{m&&(m.scrollTop=m.scrollHeight),x.current&&(x.current.scrollTop=x.current.scrollHeight)},0)}},[m]);var T=S=>{s4(S,p,h),z1(S,[...a||[],...d||[]],y.current,g,E.current)};return H.useEffect(()=>(x.current&&x.current.addEventListener("keydown",T),()=>{x.current&&x.current.removeEventListener("keydown",T)}),[]),u.jsx("textarea",$({autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1},r,{ref:x,className:t+"-text-input "+(r.className?r.className:""),value:i,onChange:S=>{g&&g({markdown:S.target.value}),n&&n(S)}}))}var d4=["prefixCls","className","onScroll","renderTextarea"];function p4(e){var t=e||{},{prefixCls:n,className:r,onScroll:o,renderTextarea:i}=t,a=$e(t,d4),{markdown:s,scrollTop:l,commands:c,extraCommands:d,dispatch:p}=H.useContext(ki),h=H.useRef(null),f=H.useRef(),m=H.createRef();H.useEffect(()=>{var x={};m.current&&(x.textareaWarp=m.current||void 0,m.current.scrollTop=l||0),p&&p($({},x))},[]),H.useEffect(()=>{if(h.current&&p){var x=new Rd(h.current);f.current=x,p({textarea:h.current,commandOrchestrator:x})}},[]);var g={WebkitTextFillColor:"initial",overflow:"auto"};return u.jsx("div",{ref:m,className:n+"-area "+(r||""),onScroll:o,children:u.jsx("div",{className:n+"-text",children:i?H.cloneElement(i($({},a,{value:s,autoComplete:"off",autoCorrect:"off",spellCheck:"false",autoCapitalize:"off",className:n+"-text-input",style:{WebkitTextFillColor:"inherit",overflow:"auto"}}),{dispatch:p,onChange:a.onChange,shortcuts:z1,useContext:{commands:c,extraCommands:d,commandOrchestrator:f.current}}),{ref:h}):u.jsx(H.Fragment,{children:u.jsx(c4,$({prefixCls:n},a,{style:g}))})})})}function f4(e){var{prefixCls:t,groupName:n,commands:r,children:o}=e||{},{barPopup:i={}}=H.useContext(ki);return H.useMemo(()=>u.jsx("div",{className:t+"-toolbar-child "+(n&&i[n]?"active":""),onClick:a=>a.stopPropagation(),children:Array.isArray(r)?u.jsx(Y1,$({commands:r},e,{isChild:!0})):o}),[r,i,n,t])}function Ih(e){var{prefixCls:t,overflow:n}=e,{fullscreen:r,preview:o,barPopup:i={},components:a,commandOrchestrator:s,dispatch:l}=H.useContext(ki),c=H.useRef("");function d(p,h){if(l){var f={barPopup:$({},i)};p.keyCommand==="preview"&&(f.preview=p.value),p.keyCommand==="fullscreen"&&(f.fullscreen=!r),e.commands&&p.keyCommand==="group"?e.commands.forEach(m=>{h===m.groupName?f.barPopup[h]=!0:m.keyCommand&&(f.barPopup[m.groupName]=!1)}):(h||p.parent)&&Object.keys(f.barPopup||{}).forEach(m=>{f.barPopup[m]=!1}),Object.keys(f).length&&l($({},f)),s&&s.executeCommand(p)}}return H.useEffect(()=>{document&&n&&(r?document.body.style.overflow="hidden":(c.current||(c.current=window.getComputedStyle(document.body,null).overflow),document.body.style.overflow=c.current))},[r,c,n]),u.jsx("ul",{children:(e.commands||[]).map((p,h)=>{if(p.keyCommand==="divider")return u.jsx("li",$({},p.liProps,{className:t+"-toolbar-divider"}),h);if(!p.keyCommand)return u.jsx(H.Fragment,{},h);var f=r&&p.keyCommand==="fullscreen"||p.keyCommand==="preview"&&o===p.value,m=p.children&&typeof p.children=="function"?p.children({getState:()=>s.getState(),textApi:s?s.textApi:void 0,close:()=>d({},p.groupName),execute:()=>d({execute:p.execute}),dispatch:l}):void 0,g=i&&o&&o==="preview"&&!/(preview|fullscreen)/.test(p.keyCommand),x=a?.toolbar||p.render,y=x&&typeof x=="function"?x(p,!!g,d,h):null;return u.jsxs("li",$({},p.liProps,{className:f?"active":"",children:[y&&H.isValidElement(y)&&y,!y&&!p.buttonProps&&p.icon,!y&&p.buttonProps&&H.createElement("button",$({type:"button",key:h,disabled:g,"data-name":p.name},p.buttonProps,{onClick:E=>{E.stopPropagation(),d(p,p.groupName)}}),p.icon),p.children&&u.jsx(f4,{overflow:n,groupName:p.groupName,prefixCls:t,children:m,commands:Array.isArray(p.children)?p.children:void 0})]}),h)})})}function Y1(e){e===void 0&&(e={});var{prefixCls:t,isChild:n,className:r}=e,{commands:o,extraCommands:i}=H.useContext(ki);return u.jsxs("div",{className:t+"-toolbar "+r,children:[u.jsx(Ih,$({},e,{commands:e.commands||o||[]})),!n&&u.jsx(Ih,$({},e,{commands:i||[]}))]})}function Ah(e){var{hideToolbar:t,toolbarBottom:n,placement:r,overflow:o,prefixCls:i}=e;if(t||r==="bottom"&&!n||r==="top"&&n)return null;var a=n?"bottom":"";return u.jsx(Y1,{prefixCls:i,overflow:o,className:a})}var h4=e=>{var{prefixCls:t,onChange:n}=e||{},r=H.useRef(null),o=H.useRef(),i=H.useRef(e.height);H.useEffect(()=>{i.current!==e.height&&(i.current=e.height)},[e.height]);function a(d){if(o.current){var p,h=d.clientY||((p=d.changedTouches[0])==null?void 0:p.clientY),f=o.current.height+h-o.current.dragY;f>=e.minHeight&&f<=e.maxHeight&&n&&n(o.current.height+(h-o.current.dragY))}}function s(){var d,p;o.current=void 0,document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",s),(d=r.current)==null||d.removeEventListener("touchmove",a),(p=r.current)==null||p.removeEventListener("touchend",s)}function l(d){var p,h,f;d.preventDefault();var m=d.clientY||((p=d.changedTouches[0])==null?void 0:p.clientY);o.current={height:i.current,dragY:m},document.addEventListener("mousemove",a),document.addEventListener("mouseup",s),(h=r.current)==null||h.addEventListener("touchmove",a,{passive:!1}),(f=r.current)==null||f.addEventListener("touchend",s,{passive:!1})}H.useEffect(()=>{if(document){var d,p;(d=r.current)==null||d.addEventListener("touchstart",l,{passive:!1}),(p=r.current)==null||p.addEventListener("mousedown",l)}return()=>{if(document){var h;(h=r.current)==null||h.removeEventListener("touchstart",l),document.removeEventListener("mousemove",a)}}},[]);var c=H.useMemo(()=>u.jsx("svg",{viewBox:"0 0 512 512",height:"100%",children:u.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 u.jsx("div",{className:t+"-bar",ref:r,children:c})},m4=["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 g4(e){return e===void 0&&(e={}),Object.keys(e).forEach(t=>{e[t]=!1}),e}var b4=H.forwardRef((e,t)=>{var n=e||{},{prefixCls:r="w-md-editor",className:o,value:i,commands:a=i4(),commandsFilter:s,direction:l,extraCommands:c=a4(),height:d=200,enableScroll:p=!0,visibleDragbar:h=typeof e.visiableDragbar=="boolean"?e.visiableDragbar:!0,highlightEnable:f=!0,preview:m="live",fullscreen:g=!1,overflow:x=!0,previewOptions:y={},textareaProps:E,maxHeight:T=1200,minHeight:S=100,autoFocus:D,autoFocusEnd:C=!1,tabSize:L=2,defaultTabEnable:R=!1,onChange:B,onStatistics:M,onHeightChange:N,hideToolbar:v,toolbarBottom:F=!1,components:A,renderTextarea:P}=n,O=$e(n,m4),W=a.map(be=>s?s(be,!1):be).filter(Boolean),q=c.map(be=>s?s(be,!0):be).filter(Boolean),[z,I]=H.useReducer(D5,{markdown:i,preview:m,components:A,height:d,minHeight:S,highlightEnable:f,tabSize:L,defaultTabEnable:R,scrollTop:0,scrollTopPreview:0,commands:W,extraCommands:q,fullscreen:g,barPopup:{}}),G=H.useRef(null),re=H.useRef(null),_=H.useRef(p);H.useImperativeHandle(t,()=>$({},z,{container:G.current,dispatch:I})),H.useMemo(()=>_.current=p,[p]),H.useEffect(()=>{var be={};G.current&&(be.container=G.current||void 0),be.markdown=i||"",be.barPopup={},I&&I($({},z,be))},[]);var ie=[o,"wmde-markdown-var",l?r+"-"+l:null,r,z.preview?r+"-show-"+z.preview:null,z.fullscreen?r+"-fullscreen":null].filter(Boolean).join(" ").trim();H.useMemo(()=>i!==z.markdown&&I({markdown:i||""}),[i,z.markdown]),H.useMemo(()=>m!==z.preview&&I({preview:m}),[m]),H.useMemo(()=>L!==z.tabSize&&I({tabSize:L}),[L]),H.useMemo(()=>f!==z.highlightEnable&&I({highlightEnable:f}),[f]),H.useMemo(()=>D!==z.autoFocus&&I({autoFocus:D}),[D]),H.useMemo(()=>C!==z.autoFocusEnd&&I({autoFocusEnd:C}),[C]),H.useMemo(()=>g!==z.fullscreen&&I({fullscreen:g}),[g]),H.useMemo(()=>d!==z.height&&I({height:d}),[d]),H.useMemo(()=>d!==z.height&&N&&N(z.height,d,z),[d,N,z]),H.useMemo(()=>a!==z.commands&&I({commands:W}),[e.commands]),H.useMemo(()=>c!==z.extraCommands&&I({extraCommands:q}),[e.extraCommands]);var X=H.useRef(),U=H.useRef("preview"),J=H.useRef(!1);H.useMemo(()=>{X.current=z.textareaWarp,z.textareaWarp&&(z.textareaWarp.addEventListener("mouseover",()=>{U.current="text"}),z.textareaWarp.addEventListener("mouseleave",()=>{U.current="preview"}))},[z.textareaWarp]);var Q=(be,se)=>{if(_.current){var Re=X.current,Se=re.current?re.current:void 0;if(J.current||(U.current=se,J.current=!0),Re&&Se){var Ve=(Re.scrollHeight-Re.offsetHeight)/(Se.scrollHeight-Se.offsetHeight);be.target===Re&&U.current==="text"&&(Se.scrollTop=Re.scrollTop/Ve),be.target===Se&&U.current==="preview"&&(Re.scrollTop=Se.scrollTop*Ve);var De=0;U.current==="text"?De=Re.scrollTop||0:U.current==="preview"&&(De=Se.scrollTop||0),I({scrollTop:De})}}},ne=r+"-preview "+(y.className||""),Z=be=>Q(be,"preview"),Y=H.useMemo(()=>u.jsx("div",{ref:re,className:ne,children:u.jsx($1,$({},y,{onScroll:Z,source:z.markdown||""}))}),[ne,y,z.markdown]),le=A?.preview&&A?.preview(z.markdown||"",z,I);le&&H.isValidElement(le)&&(Y=u.jsx("div",{className:ne,ref:re,onScroll:Z,children:le}));var ee=$({},O.style,{height:z.height||"100%"}),te=()=>I({barPopup:$({},g4(z.barPopup))}),ye=be=>I({height:be}),pe=be=>{if(B&&B(be.target.value,be,z),E&&E.onChange&&E.onChange(be),z.textarea&&z.textarea instanceof HTMLTextAreaElement&&M){var se=new Rd(z.textarea),Re=se.getState()||{};M($({},Re,{lineCount:be.target.value.split(`
|
|
92
|
-
`).length,length:be.target.value.length}))}};return u.jsx(ki.Provider,{value:$({},z,{dispatch:I}),children:u.jsxs("div",$({ref:G,className:ie},O,{onClick:te,style:ee,children:[u.jsx(Ah,{hideToolbar:v,toolbarBottom:F,prefixCls:r,overflow:x,placement:"top"}),u.jsxs("div",{className:r+"-content",children:[/(edit|live)/.test(z.preview||"")&&u.jsx(p4,$({className:r+"-input",prefixCls:r,autoFocus:D},E,{onChange:pe,renderTextarea:A?.textarea||P,onScroll:be=>Q(be,"text")})),/(live|preview)/.test(z.preview||"")&&Y]}),h&&!z.fullscreen&&u.jsx(h4,{prefixCls:r,height:z.height,maxHeight:T,minHeight:S,onChange:ye}),u.jsx(Ah,{hideToolbar:v,toolbarBottom:F,prefixCls:r,overflow:x,placement:"bottom"})]}))})}),K1=b4;K1.Markdown=$1;const Uu={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"}]}}},x4={...Uu,patterns:[...Uu.patterns,{include:"#docvar"}],repository:{...Uu.repository,docvar:{patterns:[{match:"\\<\\<[^(\\>\\>)]*\\>\\>",beginCaptures:{0:{name:"punctuation.definition.comment.begin"}},endCaptures:{0:{name:"punctuation.definition.comment.end"}},name:"markup.italic.markdown"}]}}},y4={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"}]}}},E4="github-light";let Vu;function C4(){return Vu||(Vu=(async()=>{const[{createHighlighterCore:e},{createOnigurumaEngine:t},{default:n},{default:r},{default:o},{default:i}]=await Promise.all([Promise.resolve().then(()=>require("./core-nOY_ehFO.cjs.js")),Promise.resolve().then(()=>require("./engine-oniguruma-BkproSVE.cjs.js")),Promise.resolve().then(()=>require("./sql-BqWZrLHB.cjs.js")),Promise.resolve().then(()=>require("./json-y-J1j5EW.cjs.js")),Promise.resolve().then(()=>require("./typescript-BqvpT6pB.cjs.js")),Promise.resolve().then(()=>require("./github-light-BFTOhCbz.cjs.js"))]);return e({engine:t(Promise.resolve().then(()=>require("./wasm-Dw4u1m6u.cjs.js"))),themes:[i],langs:[n,r,o,{name:"malloy",scopeName:"source.malloy",embeddedLangs:["sql"],...x4},{name:"malloysql",scopeName:"source.malloy-sql",embeddedLangs:["sql"],...y4}]})})()),Vu}async function il(e,t){return(await C4()).codeToHtml(e,{lang:t,theme:E4})}function Ft(e){const{server:t}=ze.useServer(),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 i=new Error(o.response.data.message||o.message);throw i.status=o.response.status,i.data=o.response.data,i}}throw r}},retry:!1,throwOnError:!1};return mr.useQuery(n,ze.globalQueryClient)}function wn(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 i=new Error(o.response.data.message||o.message);throw i.status=o.response.status,i.data=o.response.data,i}}throw r}},retry:!1,throwOnError:!1};return mr.useMutation(t,ze.globalQueryClient)}const kt=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 i=r[o];i==="environments"?n.environmentName=decodeURI(r[o+1])||void 0:i==="packages"?n.packageName=decodeURI(r[o+1])||void 0:i==="connections"?n.connectionName=decodeURI(r[o+1])||void 0:i==="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},Ga=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 Md({sourceAndPaths:e,selectedSourceIndex:t,existingQuery:n,onQueryChange:r,onSourceChange:o,resourceUri:i}){return H.useEffect(()=>{o&&o(t)},[t,o]),u.jsx(ed,{children:u.jsxs(pt.Stack,{spacing:2,component:"section",children:[u.jsx(G1,{sourceAndPath:e[t],existingQuery:n,onChange:a=>{r&&r(a)},resourceUri:i}),u.jsx(pt.Box,{height:"5px"})]})})}function Rs(){return{query:void 0,malloyQuery:void 0,malloyResult:void 0}}function T4({sourceAndPath:e,onChange:t,existingQuery:n,explorerComponents:r,QueryBuilder:o,resourceUri:i}){const[a,s]=H.useState(n||Rs()),[l,c]=H.useState(void 0);H.useEffect(()=>{n&&s(n)},[n]);const[d,p]=H.useState([]),{MalloyExplorerProvider:h,QueryPanel:f,ResizableCollapsiblePanel:m,ResultPanel:g,SourcePanel:x}=r;H.useEffect(()=>{t&&t(a)},[t,a]);const{environmentName:y,packageName:E,versionId:T}=kt(i),{apiClients:S}=ze.useServer(),D=wn({mutationFn:()=>{const B=typeof a?.malloyQuery=="string"?a.malloyQuery:new o.ASTQuery({source:e.sourceInfo,query:a?.malloyQuery}).toMalloy();return c({executionState:"running",query:a?.malloyQuery,queryResolutionStartMillis:Date.now(),onCancel:()=>{D.reset(),c(void 0)},response:{result:{}}}),s({...a,query:B}),S.models.executeQueryModel(y,E,e.modelPath,{query:B,sourceName:void 0,queryName:void 0,versionId:T})},onSuccess:B=>{if(B){const M=JSON.parse(B.data.result);s({...a,malloyResult:M}),c(N=>N?{...N,executionState:"finished",response:{result:M}}:void 0)}},onError:B=>{c(void 0),console.error("Query execution error:",B)}}),[C,L]=H.useState(e.sourceInfo.name);H.useEffect(()=>{C!==e.sourceInfo.name&&(L(e.sourceInfo.name),s(Rs()),c(void 0))},[e,C]);const R=H.useCallback(B=>{s({...a,malloyQuery:B,malloyResult:void 0})},[a]);return C!==e.sourceInfo.name?u.jsx("div",{children:"Loading..."}):u.jsx(C0,{sx:{border:"1px solid #e0e0e0",borderRadius:"8px",overflow:"hidden"},children:u.jsx(h,{source:e.sourceInfo,query:a?.malloyQuery,topValues:[],onFocusedNestViewPathChange:p,focusedNestViewPath:d,onQueryChange:R,children:u.jsxs("div",{style:{display:"flex",height:"100%",overflowY:"auto"},children:[u.jsx(m,{isInitiallyExpanded:!0,initialWidth:180,minWidth:180,icon:"database",title:e.sourceInfo.name,children:u.jsx(x,{onRefresh:()=>s(Rs())})}),u.jsx(m,{isInitiallyExpanded:!0,initialWidth:280,minWidth:280,icon:"filterSliders",title:"Query",children:u.jsx(f,{runQuery:()=>{console.log(`running query with: ${a?.malloyQuery}`);try{D.mutate()}catch(B){console.error("Error running query:",B)}}})}),u.jsx(g,{source:e.sourceInfo,draftQuery:a?.malloyQuery,setDraftQuery:B=>s({...a,malloyQuery:B}),submittedQuery:l,options:{showRawQuery:!0}})]})})},e.sourceInfo.name)}function G1(e){const[t,n]=H.useState(null),[r,o]=H.useState(null),[i,a]=H.useState(!0);return H.useEffect(()=>{let s=!0;return Promise.all([import("@malloydata/malloy-explorer"),import("@malloydata/malloy-query-builder")]).then(([l,c])=>{s&&(n(l),o(c),a(!1))}).catch(l=>{console.error("Failed to load Malloy components:",l),s&&a(!1)}),()=>{s=!1}},[]),i||!t||!r?u.jsx(GE,{children:u.jsx(C0,{children:u.jsx(pt.Box,{sx:{alignItems:"center",justifyContent:"center",height:"200px",color:"text.secondary"},children:"Loading explorer..."})})}):u.jsx(T4,{...e,explorerComponents:t,QueryBuilder:r,resourceUri:e.resourceUri})}function rn({text:e,size:t=20,color:n="primary",thickness:r=3.6,centered:o=!0,spacing:i=2,textVariant:a="body2"}){const s=u.jsxs(k.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",gap:i},children:[u.jsx(k.CircularProgress,{size:t,color:n,thickness:r}),e&&u.jsx(k.Typography,{variant:a,color:"text.secondary",children:e})]});return o?u.jsx(k.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"200px",width:"100%"},children:s}):s}const v4=H.lazy(()=>Promise.resolve().then(()=>D$));function wi({result:e,maxHeight:t,maxResultSize:n=0}){const r=H.useRef(null),[o,i]=H.useState(t),[a,s]=H.useState(!1);if(!e)return null;if(n>0&&e.length>n&&!a)return u.jsxs(k.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,p:4,backgroundColor:"#fafafa",border:"1px solid",borderColor:"#e0e0e0",borderRadius:1},children:[u.jsx(nn.Warning,{sx:{fontSize:48,color:"#757575"}}),u.jsx(k.Typography,{variant:"h6",color:"text.secondary",align:"center",children:"Processing large results may cause browser performance issues. Proceed?"}),u.jsx(k.Button,{variant:"contained",color:"primary",onClick:()=>s(!0),children:"Proceed"})]});const c=u.jsx(rn,{text:"Loading...",centered:!0,size:32}),d=Math.min(t,o);return u.jsx(k.Box,{ref:r,sx:{position:"relative",height:"auto",border:"0px",borderRadius:0,overflow:"hidden"},children:e&&u.jsx(H.Suspense,{fallback:c,children:u.jsx(v4,{result:e,height:d,onSizeChange:i})})})}function S4({cell:e,sourceAndPaths:t,resourceUri:n,onQueryChange:r,onSourceChange:o}){const i={query:e.value,malloyResult:e.result?JSON.parse(e.result):void 0,malloyQuery:e.queryInfo?JSON.parse(e.queryInfo):void 0},a=t.findIndex(s=>s.sourceInfo.name===e.sourceName);return u.jsx(Md,{resourceUri:n,sourceAndPaths:t,selectedSourceIndex:a>=0?a:0,existingQuery:i,onQueryChange:r,onSourceChange:o})}function k4({cell:e,editingMalloy:t,editingMarkdown:n,sourceAndPaths:r,resourceUri:o,onCellChange:i,onClose:a,onEdit:s,onDelete:l,addButtonCallback:c}){const[d,p]=H.useState(e.value),[h,f]=H.useState(!1),[m,g]=H.useState(!1),[x,y]=H.useState(),[E]=H.useState(),[T,S]=H.useState(Rs()),[D,C]=H.useState(!1),[L,R]=H.useState(e.sourceName?r.findIndex(G=>G.sourceInfo.name===e.sourceName):0);H.useEffect(()=>{e.isMarkdown||il(e.value,"malloy").then(G=>{y(G)})},[e]),H.useEffect(()=>{document.documentElement.setAttribute("data-color-mode","light")});const[B,M]=H.useState(!1),N=()=>{l(),M(!1)},v=r.length===0,F=H.useCallback(()=>{const G=r[L],re=G?.modelPath||e.modelPath||"",_=G?.sourceInfo.name||e.sourceName||"";i({...e,value:e.isMarkdown?d:T.query,result:T.malloyResult?JSON.stringify(T.malloyResult):void 0,queryInfo:T.malloyQuery?JSON.stringify(T.malloyQuery):void 0,sourceName:_,modelPath:re})},[e,d,T,i,L,r]),A=u.jsx(k.Tooltip,{title:"Delete Cell",children:u.jsx(k.IconButton,{size:"small",onClick:()=>M(!0),children:u.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:u.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"})})})}),P=u.jsxs(k.Dialog,{open:B,onClose:()=>M(!1),children:[u.jsx(k.DialogTitle,{children:"Confirm Delete"}),u.jsx(k.DialogContent,{children:u.jsx(k.Typography,{children:"Are you sure you want to delete this cell?"})}),u.jsxs(k.DialogActions,{children:[u.jsx(k.Button,{onClick:()=>M(!1),children:"Cancel"}),u.jsx(k.Button,{onClick:N,color:"error",children:"Delete"})]})]}),O=()=>{F(),a()},W=e.isMarkdown?u.jsxs(u.Fragment,{children:[n?u.jsx(k.Tooltip,{title:"Save",children:u.jsx(k.IconButton,{size:"small",onClick:O,children:u.jsx(as,{})})}):u.jsx(k.Tooltip,{title:"Edit",children:u.jsx(k.IconButton,{size:"small",onClick:s,children:u.jsx(Xp,{})})}),!n&&A]}):u.jsxs(u.Fragment,{children:[!t&&u.jsx(k.Tooltip,{title:h?"Hide Code":"View Code",children:u.jsx(k.IconButton,{size:"small",onClick:()=>{f(!h)},children:u.jsx(k0,{})})}),!t&&e.result&&u.jsx(k.Tooltip,{title:m?"Hide Embedding":"View Embedding",children:u.jsx(k.IconButton,{size:"small",onClick:()=>{g(!m)},children:u.jsx(td,{})})}),t&&u.jsx(k.Tooltip,{title:"Save",children:u.jsx(k.IconButton,{size:"small",onClick:O,children:u.jsx(as,{})})}),!t&&u.jsx(k.Tooltip,{title:"Edit",children:u.jsx(k.IconButton,{size:"small",onClick:s,children:u.jsx(Xp,{})})}),!t&&A]}),q=t||n,z=n?u.jsx(k.Tooltip,{title:"Save",children:u.jsx(k.IconButton,{size:"small",onClick:O,children:u.jsx(as,{})})}):t?u.jsx(k.Tooltip,{title:"Save",children:u.jsx(k.IconButton,{size:"small",onClick:O,children:u.jsx(as,{})})}):null,I=D&&u.jsx(k.Box,{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:!q&&u.jsxs(u.Fragment,{children:[c(!0),c(!1),W]})||z});return u.jsxs(Gs,{sx:{position:"relative",marginTop:"5px",marginBottom:"5px",borderWidth:"1.5px",backgroundColor:"#fff",minHeight:"50px"},onMouseEnter:()=>C(!0),onMouseLeave:()=>{C(!1)},children:[I,e.isMarkdown?u.jsx(u.Fragment,{children:n?u.jsx(K1,{value:d,preview:"edit",autoFocus:!0,onChange:G=>{p(G),i({...e,value:G})},onBlur:()=>{F(),D||O()}}):u.jsx(k.Box,{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?u.jsx(k.Box,{onClick:s,sx:{cursor:"pointer"},children:u.jsx(Vs,{children:e.value})}):u.jsxs(k.Box,{onClick:s,sx:{cursor:"pointer"},children:[u.jsx(k.Typography,{sx:{p:2,textAlign:"center",variant:"subtitle2",fontWeight:"medium"},children:"Markdown is empty"}),u.jsx(k.Typography,{sx:{mb:2,textAlign:"center",variant:"body2"},children:"Click to edit."})]})})}):u.jsxs(u.Fragment,{children:[u.jsx(k.Collapse,{in:m,timeout:"auto",unmountOnExit:!0,children:u.jsx(k.Stack,{sx:{p:"10px",borderRadius:0,flexDirection:"row",justifyContent:"space-between"},children:u.jsx(k.Typography,{component:"div",sx:{fontSize:"12px","& .line":{textWrap:"wrap"}},dangerouslySetInnerHTML:{__html:E}})})}),u.jsx(k.Collapse,{in:h,timeout:"auto",unmountOnExit:!0,children:u.jsx(k.Stack,{sx:{p:"10px",borderRadius:0,flexDirection:"row",justifyContent:"space-between"},children:u.jsx(k.Typography,{component:"div",className:"content",sx:{fontSize:"12px","& .line":{textWrap:"wrap"}},dangerouslySetInnerHTML:{__html:x}})})}),t&&(v?u.jsxs(u.Fragment,{children:[u.jsx(k.Typography,{sx:{p:2,textAlign:"center",variant:"subtitle2",fontWeight:"medium"},children:"No Model Imports"}),u.jsx(k.Typography,{sx:{mb:2,textAlign:"center",variant:"body2"},children:"Please add a model import above."})]}):u.jsx(S4,{sourceAndPaths:r,resourceUri:o,onQueryChange:G=>{S(G)},onSourceChange:G=>{R(G)},cell:e})),!t&&e.result&&u.jsx(Gs,{variant:"outlined",sx:{borderRadius:0},children:u.jsx(wi,{result:e.result,maxHeight:800})}),!t&&!e.result&&u.jsxs(k.Box,{onClick:s,sx:{cursor:"pointer"},children:[u.jsx(k.Typography,{sx:{p:2,textAlign:"center",variant:"subtitle2",fontWeight:"medium"},children:"Explore is empty"}),u.jsx(k.Typography,{sx:{mb:2,textAlign:"center",variant:"body2"},children:"Click to edit."})]})]}),B&&P]})}const Q1=H.createContext(void 0);function D4({children:e,workbookStorage:t}){const n=H.useMemo(()=>({workbookStorage:t}),[t]);return u.jsx(Q1.Provider,{value:n,children:e})}function Od(){const e=H.useContext(Q1);if(!e)throw new Error("useWorkbookStorage must be used within a WorkbookStorageProvider");return e}const er=tt(u.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"})),w4=tt(u.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 on({error:e,context:t}){const n=e.data?.message||"Unknown Error";return u.jsxs(u.Fragment,{children:[t&&u.jsx(k.Typography,{variant:"body2",sx:{p:"10px",m:"auto"},children:t}),u.jsx("pre",{style:{whiteSpace:"pre-wrap",color:"red",padding:"10px",margin:"auto"},children:n})]})}function I4({initialSelectedModels:e,onModelChange:t,resourceUri:n}){const{environmentName:r,packageName:o,versionId:i}=kt(n),{apiClients:a}=ze.useServer(),{data:s,isLoading:l,isSuccess:c,isError:d,error:p}=Ft({queryKey:["models",r,o,i],queryFn:()=>a.models.listModels(r,o,i)}),[h,f]=H.useState(e||[]),[m,g]=H.useState(null);H.useEffect(()=>{f(e||[])},[e]);const x=T=>{const S=h.filter(D=>D!==T);f(S),t(S)},y=T=>{const S=[...h,T];f(S),t(S),g(null)};let E=[];return c&&s?.data&&(E=s.data.filter(T=>!h.includes(T.path)).map(T=>T.path)),d?u.jsx(on,{error:p,context:`${r} > ${o} > Model Picker`}):u.jsxs(u.Fragment,{children:[u.jsxs(k.FormControl,{fullWidth:!0,children:[l&&u.jsx(k.Typography,{children:"Loading..."}),u.jsxs(k.Stack,{direction:"row",spacing:1,children:[h.map(T=>u.jsx(k.Chip,{label:T,onDelete:()=>x(T),deleteIcon:u.jsx(er,{}),sx:{marginBottom:"5px"}},T)),u.jsx(k.Button,{size:"small",startIcon:u.jsx(w4,{}),onClick:T=>g(T.currentTarget),disabled:l||d||E.length===0,children:"Add Model"})]})]}),u.jsxs(k.Menu,{anchorEl:m,open:!!m,onClose:()=>g(null),children:[u.jsx(k.Typography,{variant:"subtitle2",sx:{ml:1},children:"Models"}),u.jsx(k.Divider,{}),E.length===0?u.jsx(k.MenuItem,{disabled:!0,children:"No models available"}):E.map(T=>u.jsx(k.MenuItem,{onClick:()=>y(T),children:u.jsx(k.Typography,{variant:"body2",children:T})},T))]})]})}function X1(){const e=Ey.useNavigate();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 A4({workbookPath:e,resourceUri:t}){const n=X1(),{server:r,getAccessToken:o}=ze.useServer(),{apiClients:i}=ze.useServer(),{workbookStorage:a}=Od(),{environmentName:s,packageName:l}=kt(t),[c,d]=H.useState(void 0),[p,h]=H.useState(void 0);if(!a)throw new Error("Workbook storage be provided via WorkbookStorageProvider");const[f,m]=H.useState(),[g,x]=H.useState(),[y,E]=H.useState(),[T,S]=H.useState([]),[D,C]=H.useState(null),[L,R]=H.useState(null),B=!!D,M=()=>{C(null),R(null)},N=(G,re)=>{f&&(m(f.insertCell(re,{isMarkdown:G,value:""})),G?E(re):x(re),M(),console.log("handleAddCell",G,re))},[v,F]=H.useState(!1),A=()=>{F(!0)},P=async()=>{e&&a&&await a.deleteWorkbook(e).then(()=>{h(void 0),d(void 0)}).catch(G=>{h(`Error deleting workbook: ${G.message}`),d(void 0)}),F(!1),n(`/${s}/${l}`)},O=()=>{F(!1)},W=H.useCallback(async()=>{if(!f){console.log("No workbook data ref");return}try{m(await f.saveWorkbook()),h(void 0),d("Workbook saved")}catch(G){h(`Error saving workbook: ${G.message}`),d(void 0)}},[f]);if(H.useEffect(()=>{if(!f)return;(async()=>{const re=new Map(T.map(({modelPath:X,sourceInfos:U})=>[X,U])),_=[],ie=[];for(const X of f.getModels())re.has(X)?_.push({modelPath:X,sourceInfos:re.get(X)}):(console.log("Fetching model from Publisher",X),ie.push(i.models.getModel(s,l,X,void 0).then(U=>({modelPath:X,sourceInfos:U.data.sourceInfos.map(J=>JSON.parse(J))}))));if(ie.length>0){const X=await Promise.all(ie);S([..._,...X])}else S(_)})()},[o,f,l,s,r]),H.useEffect(()=>{e&&ei.loadWorkbook(a,e).then(G=>{m(G)})},[e,a]),!f)return u.jsx("div",{children:"Loading..."});const q=G=>{const re=[];for(const _ of G)for(const ie of _.sourceInfos)re.push({modelPath:_.modelPath,sourceInfo:ie});return re},z=(G,re)=>u.jsx(k.Button,{size:"small",startIcon:u.jsx(Il,{}),onClick:()=>N(G,re),variant:"contained",sx:{backgroundColor:"#fff",color:_=>_.palette.mode==="dark"?_.palette.grey[100]:_.palette.grey[700],boxShadow:"none","&:hover":{backgroundColor:_=>_.palette.mode==="dark"?_.palette.grey[500]:_.palette.grey[300],boxShadow:"none"}},children:G?"Markdown":"Explore"}),I=u.jsxs(k.Box,{sx:{display:"flex",gap:1,justifyContent:"center",flex:2},children:[z(!1,f.getCells().length),z(!0,f.getCells().length)]});return u.jsxs(Gs,{variant:"outlined",children:[u.jsxs(E0,{children:[u.jsx(k.Box,{sx:{mb:2},children:u.jsx(k.Box,{sx:{minHeight:"24px"},children:p?u.jsx(k.Typography,{color:"error",variant:"body2",children:p}):c?u.jsx(k.Typography,{color:"success",variant:"body2",children:c}):u.jsx("span",{children:" "})})}),u.jsxs(Ho,{sx:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},children:[u.jsxs(Ho,{direction:"row",spacing:1,alignItems:"center",children:[u.jsx(k.Typography,{variant:"overline",sx:{fontSize:"13px",fontWeight:"bold",verticalAlign:"middle"},children:"Workbook"}),u.jsx(k.Typography,{variant:"subtitle2",sx:{fontSize:"13px",fontWeight:"normal",verticalAlign:"middle",ml:1},children:`${e.workspace} > ${e.path}`})]}),u.jsxs(Ho,{sx:{display:"flex",flexDirection:"row",gap:1},children:[u.jsx(k.Box,{sx:{display:"flex",alignItems:"center",mt:1,mb:1},children:u.jsx(P4,{workbookData:f})}),u.jsxs(k.Box,{sx:{display:"flex",alignItems:"center",mt:1,mb:1},children:[u.jsx(k.Button,{color:"error",onClick:A,size:"small",children:"Delete"}),u.jsxs(k.Dialog,{open:v,onClose:O,children:[u.jsx(k.DialogTitle,{children:"Delete Workbook"}),u.jsx(k.DialogContent,{children:u.jsxs(k.DialogContentText,{children:['Are you sure you want to delete the workbook "',e.path,'"? This action cannot be undone.']})}),u.jsxs(k.DialogActions,{children:[u.jsx(k.Button,{onClick:O,color:"primary",size:"small",children:"Cancel"}),u.jsx(k.Button,{onClick:P,color:"error",autoFocus:!0,size:"small",children:"Delete"})]})]})]})]})]}),u.jsx(k.Divider,{}),u.jsxs(Ho,{sx:{display:"flex",flexDirection:"row",width:"100%",mt:2},children:[u.jsx(k.Box,{sx:{flex:1},children:u.jsx(I4,{initialSelectedModels:f.getModels(),onModelChange:G=>{m(f.setModels(G)),W()},resourceUri:t})}),u.jsx(k.Box,{sx:{flex:1}})]})]}),u.jsx(ed,{children:u.jsxs(Ho,{children:[f.getCells().length===0&&u.jsxs(u.Fragment,{children:[u.jsx(k.Typography,{sx:{textAlign:"center",p:2,variant:"subtitle2",fontWeight:"medium"},children:"Workbook is empty"}),u.jsx(k.Typography,{variant:"body2",sx:{textAlign:"center",mb:2,variant:"body2"},children:"Click the + buttons to add a markdown or code cell."})]}),f.getCells().map((G,re)=>u.jsx(H.Fragment,{children:u.jsx(k4,{cell:G,resourceUri:t,addButtonCallback:_=>z(_,re),sourceAndPaths:q(T),editingMarkdown:y===re,editingMalloy:g===re,onDelete:()=>{m(f.deleteCell(re)),W()},onCellChange:_=>{m(f.setCell(re,_))},onEdit:()=>{G.isMarkdown?E(re):x(re)},onClose:()=>{G.isMarkdown?E(void 0):x(void 0),W()}},`${re}-${G.isMarkdown}-${e.workspace}-${e.path}`)},`${re}-${f.getCells().length}`)),I,u.jsxs(k.Menu,{anchorEl:D,open:B,onClose:M,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[u.jsx(k.MenuItem,{onClick:()=>N(!0,L??0),children:"Add Markdown"}),u.jsx(k.MenuItem,{onClick:()=>N(!1,L??0),children:"Add Malloy"})]}),u.jsx(Ho,{sx:{flexDirection:"row",justifyContent:"flex-end",p:1}})]})})]})}function P4({workbookData:e}){const[t,n]=H.useState(!1),r=async()=>{if(!e)return;const o=e.toMalloyWorkbook();try{await navigator.clipboard.writeText(o),n(!0),setTimeout(()=>n(!1),1500)}catch{n(!1),alert("Failed to copy to clipboard")}};return u.jsx(k.Button,{color:"primary",onClick:r,size:"small",children:t?"Copied!":"Export"})}function Z1({onWorkbookClick:e}){const{workbookStorage:t}=Od(),[n,r]=H.useState([]),[o,i]=H.useState(void 0);return H.useEffect(()=>{t&&t.listWorkspaces(!1).then(a=>{const s=[];Promise.all(a.map(async l=>{await t.listWorkbooks(l).then(c=>{s.push(...c)}).catch(c=>{i(`Error listing workbooks: ${c.message}`)})})).then(()=>{r(s),i(void 0)})})},[t]),u.jsxs(u.Fragment,{children:[o&&u.jsx(k.Box,{sx:{mb:2},children:u.jsx(k.Typography,{color:"error",variant:"body2",children:o})}),u.jsx(k.Divider,{}),u.jsx(k.Box,{sx:{maxHeight:"300px",overflow:"auto","&::-webkit-scrollbar":{width:"8px"},"&::-webkit-scrollbar-track":{background:"transparent"},"&::-webkit-scrollbar-thumb":{background:"rgba(0,0,0,0.2)",borderRadius:"4px"}},children:u.jsxs(k.List,{dense:!0,children:[n.length===0&&u.jsx(k.ListItem,{children:u.jsx(k.ListItemText,{primary:"No workbooks found.",sx:{textAlign:"center"}})}),n.map(a=>u.jsx(k.ListItem,{onClick:s=>e(a,s),sx:{cursor:"pointer","&:hover":{backgroundColor:"action.hover"}},children:u.jsx(k.ListItemText,{primary:a.path})},a.path))]})})]})}const Ph="Local";class R4{async listWorkspaces(t){return Promise.resolve([{name:Ph,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:Ph})}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 M4({onWorkbookSelect:e}){const{workbookStorage:t}=Od(),[n,r]=H.useState(""),[o,i]=H.useState(""),[a,s]=H.useState([]),[l,c]=H.useState(null),[d,p]=H.useState(!1),[h,f]=H.useState(!1),m=!!l,g=C=>{c(C.currentTarget)},x=()=>{c(null)},y=()=>{f(!1)},E=()=>{p(!1),r(""),i("")};H.useEffect(()=>{t&&(console.log("fetching workspaces"),t.listWorkspaces(!0).then(C=>{s(C),C.length===1&&i(C[0].name)}).catch(C=>{console.error("Error fetching workspaces:",C),s([])}))},[t]);const T=(C,L)=>{f(!1),e(C,L)},S=C=>{p(!1),e({path:n,workspace:o},C),r(""),i("")},D=a.length===0;return u.jsxs(u.Fragment,{children:[u.jsx(k.Button,{"aria-controls":m?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":m?"true":void 0,onClick:g,variant:"contained",sx:{height:"40px",px:2,backgroundColor:"#fbbb04","&:hover":{backgroundColor:"#eab308"}},children:"Analyze Package"}),u.jsxs(k.Menu,{id:"basic-menu",anchorEl:l,open:m,onClose:x,MenuListProps:{"aria-labelledby":"basic-button",sx:{py:.5}},children:[u.jsxs(k.MenuItem,{onClick:()=>{p(!0),x()},sx:{py:1,px:2},disabled:D,children:[u.jsx(k.ListItemIcon,{children:u.jsx(nn.Add,{fontSize:"small"})}),u.jsxs(k.ListItemText,{children:[u.jsx(k.Typography,{variant:"body2",fontWeight:500,children:"New Workbook"}),D?u.jsx(k.Typography,{variant:"caption",color:"text.secondary",children:"No workspaces available"}):u.jsx(k.Typography,{variant:"caption",color:"text.secondary",children:"Create a new analysis workbook"})]})]}),u.jsxs(k.MenuItem,{onClick:()=>{f(!0),x()},sx:{py:1,px:2},children:[u.jsx(k.ListItemIcon,{children:u.jsx(nn.Launch,{fontSize:"small"})}),u.jsxs(k.ListItemText,{children:[u.jsx(k.Typography,{variant:"body2",fontWeight:500,children:"Open Workbook"}),u.jsx(k.Typography,{variant:"caption",color:"text.secondary",children:"Open an existing workbook"})]})]})]}),u.jsxs(k.Dialog,{open:d,onClose:E,maxWidth:"sm",fullWidth:!0,children:[u.jsxs(k.DialogTitle,{sx:{pb:1,pt:2,px:2},children:[u.jsx(k.Typography,{fontWeight:600,sx:{fontSize:"1.5rem",mb:.5},children:"Create New Workbook"}),u.jsx(k.Typography,{variant:"body2",color:"text.secondary",children:"Start a new analysis workbook to explore your data"})]}),u.jsx(k.DialogContent,{sx:{px:2,pb:2},children:u.jsxs(k.Stack,{spacing:2,sx:{mt:1},children:[a.length>1?u.jsxs(k.FormControl,{fullWidth:!0,size:"small",children:[u.jsx(k.InputLabel,{children:"Workspace"}),u.jsx(k.Select,{value:o,label:"Workspace",onChange:C=>i(C.target.value),children:a.map(C=>u.jsx(k.MenuItem,{value:C.name,children:u.jsxs(k.Box,{children:[u.jsx(k.Typography,{variant:"body2",fontWeight:500,children:C.name}),u.jsx(k.Typography,{variant:"caption",color:"text.secondary",children:C.description})]})},C.name))})]}):a.length===1?u.jsxs(k.Box,{sx:{p:2,border:1,borderColor:"divider",borderRadius:1,backgroundColor:"grey.50"},children:[u.jsxs(k.Typography,{variant:"body2",fontWeight:500,gutterBottom:!0,children:["Workspace: ",a[0].name]}),u.jsx(k.Typography,{variant:"caption",color:"text.secondary",children:a[0].description})]}):null,u.jsx(k.FormControl,{fullWidth:!0,children:u.jsx(k.TextField,{label:"Workbook Name",value:n,onChange:C=>r(C.target.value),placeholder:"Enter workbook name...",fullWidth:!0,autoFocus:!0,size:"small"})}),u.jsxs(k.Stack,{direction:"row",spacing:1,justifyContent:"flex-end",children:[u.jsx(k.Button,{onClick:E,variant:"outlined",size:"small",children:"Cancel"}),u.jsx(k.Button,{onClick:C=>S(C),variant:"contained",disabled:!n.trim()||a.length>1&&!o,size:"small",children:"Create Workbook"})]})]})})]}),u.jsxs(k.Dialog,{open:h,onClose:y,maxWidth:"md",fullWidth:!0,children:[u.jsxs(k.DialogTitle,{sx:{pb:1,pt:2,px:2},children:[u.jsx(k.Typography,{fontWeight:600,sx:{mb:.5,fontSize:"1.5rem"},children:"Open Workbook"}),u.jsx(k.Typography,{variant:"body2",color:"text.secondary",children:"Select an existing workbook to continue your analysis"})]}),u.jsx(k.DialogContent,{sx:{px:2,pb:2},children:u.jsx(Z1,{onWorkbookClick:T})})]})]})}function O4({resourceUri:e}){const{environmentName:t}=kt(e),{apiClients:n}=ze.useServer(),[r,o]=H.useState(!1),i=90,{data:a,isSuccess:s,isError:l,error:c}=Ft({queryKey:["about",t],queryFn:()=>n.environments.getEnvironment(t,!1)}),d=a?.data?.readme||"",p=d.split(/\s+/),h=p.length>i,f=p.slice(0,i).join(" ");return u.jsxs(u.Fragment,{children:[!s&&!l&&u.jsx(rn,{text:"Fetching About..."}),s&&d&&u.jsx(T0,{children:u.jsxs(v0,{children:[u.jsx(S0,{children:"Readme"}),u.jsxs(k.Box,{sx:{mt:1,fontSize:"0.875rem",lineHeight:1.6},children:[u.jsx(Vs,{options:{overrides:{h1:{component:"p",props:{style:{fontSize:"inherit",fontWeight:"italic"}}},h2:{component:"p",props:{style:{fontSize:"inherit",fontWeight:"italic"}}},h3:{component:"p",props:{style:{fontSize:"inherit",fontWeight:"italic"}}}}},children:r||!h?d:f}),h&&u.jsxs(k.Box,{sx:{mt:1},children:[" ",u.jsx(k.Button,{variant:"text",size:"small",onClick:()=>o(!r),children:r?"Read less":"Read more"})]})]})]})}),l&&u.jsx(on,{error:c,context:`${t} > About`})]})}function L4({resourceUri:e}){const[t,n]=H.useState(!1),{apiClients:r}=ze.useServer(),o=mr.useQueryClient(),[i,a]=H.useState(""),{environmentName:s}=kt(e),l=wn({async mutationFn(d){return r.packages.createPackage(s,{name:d.name,description:d.description,location:d.location})},onSuccess(){n(!1),a("Package created successfully"),o.invalidateQueries({queryKey:["packages",s]})},onError(d){a(d instanceof Error?d.message:"An unknown error occurred")}}),c=d=>{d.preventDefault();const p=new FormData(d.currentTarget),h=p.get("name")?.toString(),f=p.get("description")?.toString(),m=p.get("location")?.toString();l.mutate({name:h,description:f,location:m})};return u.jsxs(u.Fragment,{children:[u.jsx(k.Button,{onClick:()=>n(!0),variant:"contained",color:"primary",startIcon:u.jsx(nn.Add,{}),children:"Add Package"}),u.jsxs(k.Dialog,{open:t,onClose:()=>n(!1),maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{borderRadius:2}},children:[u.jsx(k.DialogTitle,{sx:{fontSize:"1.25rem",fontWeight:600,letterSpacing:"-0.025em",pt:3,pb:1,px:3},children:"Create New Package"}),u.jsxs(k.DialogContent,{sx:{px:3,pb:0},children:[u.jsxs(k.Box,{sx:{mb:3},children:[u.jsx(k.Typography,{variant:"body2",color:"text.secondary",sx:{mb:1.5},children:"Create a new Malloy package to start exploring your data."}),u.jsx(k.Typography,{variant:"body2",color:"text.secondary",sx:{mb:1.5},children:"The location can be a GitHub/S3/GCP URL containing a package (zipped or unzipped), or an absolute path to a directory the publisher server has access to."}),u.jsxs(k.Typography,{variant:"body2",color:"text.secondary",children:["Make sure to conform to the"," ",u.jsx(k.Box,{component:"a",href:"https://github.com/malloydata/publisher/blob/main/README.md#architecture-overview",target:"_blank",rel:"noopener noreferrer",sx:{color:"text.primary",textDecoration:"underline"},children:"Malloy Package Format"}),"."]})]}),u.jsx("form",{onSubmit:c,id:"package-form",children:u.jsxs(k.Stack,{spacing:2.5,children:[u.jsx(k.TextField,{autoFocus:!0,required:!0,id:"name",name:"name",label:"Package Name",type:"text",fullWidth:!0,variant:"outlined",size:"small",InputLabelProps:{shrink:!0}}),u.jsx(k.TextField,{id:"description",name:"description",label:"Description",multiline:!0,rows:3,fullWidth:!0,variant:"outlined",size:"small",InputLabelProps:{shrink:!0}}),u.jsx(k.TextField,{id:"location",name:"location",label:"Location",type:"text",placeholder:"e.g. s3://my-bucket/my-package.zip",fullWidth:!0,variant:"outlined",size:"small",InputLabelProps:{shrink:!0}})]})})]}),u.jsxs(k.DialogActions,{sx:{px:3,pt:2,pb:3,gap:1},children:[u.jsx(k.Button,{variant:"outlined",disabled:l.isPending,onClick:()=>n(!1),children:"Cancel"}),u.jsx(k.Button,{type:"submit",form:"package-form",variant:"contained",loading:l.isPending,children:"Save Changes"})]})]}),u.jsx(k.Snackbar,{open:i!=="",autoHideDuration:6e3,onClose:()=>a(""),message:i})]})}const F4=tt(u.jsx("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"})),J1=tt(u.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}));function eb(e){const{theme:t,name:n,props:r}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?r:ka(t.components[n].defaultProps,r)}function N4({props:e,name:t,defaultTheme:n,themeId:r}){let o=tE(n);return o=o[r]||o,eb({theme:o,name:t,props:e})}function Dt({props:e,name:t}){return N4({props:e,name:t,defaultTheme:wl,themeId:bi})}const _4=Me("MuiBox",["root"]),B4=m0(),At=pt.createBox({themeId:bi,defaultTheme:B4,defaultClassName:_4.root,generateClassName:e0.generate}),tb=de.oneOfType([de.func,de.object]);function Rh(e){try{return e.matches(":focus-visible")}catch{}return!1}const Mh={};function nb(e,t){const n=w.useRef(Mh);return n.current===Mh&&(n.current=e(t)),n}class al{static create(){return new al}static use(){const t=nb(al.create).current,[n,r]=w.useState(!1);return t.shouldMount=n,t.setShouldMount=r,w.useEffect(t.mountEffect,[n]),t}constructor(){this.ref={current:null},this.mounted=null,this.didMount=!1,this.shouldMount=!1,this.setShouldMount=null}mount(){return this.mounted||(this.mounted=$4(),this.shouldMount=!0,this.setShouldMount(this.shouldMount)),this.mounted}mountEffect=()=>{this.shouldMount&&!this.didMount&&this.ref.current!==null&&(this.didMount=!0,this.mounted.resolve())};start(...t){this.mount().then(()=>this.ref.current?.start(...t))}stop(...t){this.mount().then(()=>this.ref.current?.stop(...t))}pulsate(...t){this.mount().then(()=>this.ref.current?.pulsate(...t))}}function j4(){return al.use()}function $4(){let e,t;const n=new Promise((r,o)=>{e=r,t=o});return n.resolve=e,n.reject=t,n}function Rc(e,t){return Rc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Rc(e,t)}function Ld(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Rc(e,t)}function H4(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function z4(e,t){e.classList?e.classList.add(t):H4(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function Oh(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function U4(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=Oh(e.className,t):e.setAttribute("class",Oh(e.className&&e.className.baseVal||"",t))}const Lh={disabled:!1},sl=H.createContext(null);var rb=function(t){return t.scrollTop},oa="unmounted",co="exited",po="entering",Ko="entered",Mc="exiting",Yn=(function(e){Ld(t,e);function t(r,o){var i;i=e.call(this,r,o)||this;var a=o,s=a&&!a.isMounting?r.enter:r.appear,l;return i.appearStatus=null,r.in?s?(l=co,i.appearStatus=po):l=Ko:r.unmountOnExit||r.mountOnEnter?l=oa:l=co,i.state={status:l},i.nextCallback=null,i}t.getDerivedStateFromProps=function(o,i){var a=o.in;return a&&i.status===oa?{status:co}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(o){var i=null;if(o!==this.props){var a=this.state.status;this.props.in?a!==po&&a!==Ko&&(i=po):(a===po||a===Ko)&&(i=Mc)}this.updateStatus(!1,i)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var o=this.props.timeout,i,a,s;return i=a=s=o,o!=null&&typeof o!="number"&&(i=o.exit,a=o.enter,s=o.appear!==void 0?o.appear:a),{exit:i,enter:a,appear:s}},n.updateStatus=function(o,i){if(o===void 0&&(o=!1),i!==null)if(this.cancelNextCallback(),i===po){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:ea.findDOMNode(this);a&&rb(a)}this.performEnter(o)}else this.performExit();else this.props.unmountOnExit&&this.state.status===co&&this.setState({status:oa})},n.performEnter=function(o){var i=this,a=this.props.enter,s=this.context?this.context.isMounting:o,l=this.props.nodeRef?[s]:[ea.findDOMNode(this),s],c=l[0],d=l[1],p=this.getTimeouts(),h=s?p.appear:p.enter;if(!o&&!a||Lh.disabled){this.safeSetState({status:Ko},function(){i.props.onEntered(c)});return}this.props.onEnter(c,d),this.safeSetState({status:po},function(){i.props.onEntering(c,d),i.onTransitionEnd(h,function(){i.safeSetState({status:Ko},function(){i.props.onEntered(c,d)})})})},n.performExit=function(){var o=this,i=this.props.exit,a=this.getTimeouts(),s=this.props.nodeRef?void 0:ea.findDOMNode(this);if(!i||Lh.disabled){this.safeSetState({status:co},function(){o.props.onExited(s)});return}this.props.onExit(s),this.safeSetState({status:Mc},function(){o.props.onExiting(s),o.onTransitionEnd(a.exit,function(){o.safeSetState({status:co},function(){o.props.onExited(s)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(o,i){i=this.setNextCallback(i),this.setState(o,i)},n.setNextCallback=function(o){var i=this,a=!0;return this.nextCallback=function(s){a&&(a=!1,i.nextCallback=null,o(s))},this.nextCallback.cancel=function(){a=!1},this.nextCallback},n.onTransitionEnd=function(o,i){this.setNextCallback(i);var a=this.props.nodeRef?this.props.nodeRef.current:ea.findDOMNode(this),s=o==null&&!this.props.addEndListener;if(!a||s){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[a,this.nextCallback],c=l[0],d=l[1];this.props.addEndListener(c,d)}o!=null&&setTimeout(this.nextCallback,o)},n.render=function(){var o=this.state.status;if(o===oa)return null;var i=this.props,a=i.children;i.in,i.mountOnEnter,i.unmountOnExit,i.appear,i.enter,i.exit,i.timeout,i.addEndListener,i.onEnter,i.onEntering,i.onEntered,i.onExit,i.onExiting,i.onExited,i.nodeRef;var s=$e(i,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return H.createElement(sl.Provider,{value:null},typeof a=="function"?a(o,s):H.cloneElement(H.Children.only(a),s))},t})(H.Component);Yn.contextType=sl;Yn.propTypes={};function Wo(){}Yn.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Wo,onEntering:Wo,onEntered:Wo,onExit:Wo,onExiting:Wo,onExited:Wo};Yn.UNMOUNTED=oa;Yn.EXITED=co;Yn.ENTERING=po;Yn.ENTERED=Ko;Yn.EXITING=Mc;var V4=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return z4(t,r)})},Wu=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return U4(t,r)})},Fd=(function(e){Ld(t,e);function t(){for(var r,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];return r=e.call.apply(e,[this].concat(i))||this,r.appliedClasses={appear:{},enter:{},exit:{}},r.onEnter=function(s,l){var c=r.resolveArguments(s,l),d=c[0],p=c[1];r.removeClasses(d,"exit"),r.addClass(d,p?"appear":"enter","base"),r.props.onEnter&&r.props.onEnter(s,l)},r.onEntering=function(s,l){var c=r.resolveArguments(s,l),d=c[0],p=c[1],h=p?"appear":"enter";r.addClass(d,h,"active"),r.props.onEntering&&r.props.onEntering(s,l)},r.onEntered=function(s,l){var c=r.resolveArguments(s,l),d=c[0],p=c[1],h=p?"appear":"enter";r.removeClasses(d,h),r.addClass(d,h,"done"),r.props.onEntered&&r.props.onEntered(s,l)},r.onExit=function(s){var l=r.resolveArguments(s),c=l[0];r.removeClasses(c,"appear"),r.removeClasses(c,"enter"),r.addClass(c,"exit","base"),r.props.onExit&&r.props.onExit(s)},r.onExiting=function(s){var l=r.resolveArguments(s),c=l[0];r.addClass(c,"exit","active"),r.props.onExiting&&r.props.onExiting(s)},r.onExited=function(s){var l=r.resolveArguments(s),c=l[0];r.removeClasses(c,"exit"),r.addClass(c,"exit","done"),r.props.onExited&&r.props.onExited(s)},r.resolveArguments=function(s,l){return r.props.nodeRef?[r.props.nodeRef.current,s]:[s,l]},r.getClassNames=function(s){var l=r.props.classNames,c=typeof l=="string",d=c&&l?l+"-":"",p=c?""+d+s:l[s],h=c?p+"-active":l[s+"Active"],f=c?p+"-done":l[s+"Done"];return{baseClassName:p,activeClassName:h,doneClassName:f}},r}var n=t.prototype;return n.addClass=function(o,i,a){var s=this.getClassNames(i)[a+"ClassName"],l=this.getClassNames("enter"),c=l.doneClassName;i==="appear"&&a==="done"&&c&&(s+=" "+c),a==="active"&&o&&rb(o),s&&(this.appliedClasses[i][a]=s,V4(o,s))},n.removeClasses=function(o,i){var a=this.appliedClasses[i],s=a.base,l=a.active,c=a.done;this.appliedClasses[i]={},s&&Wu(o,s),l&&Wu(o,l),c&&Wu(o,c)},n.render=function(){var o=this.props;o.classNames;var i=$e(o,["classNames"]);return H.createElement(Yn,$({},i,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t})(H.Component);Fd.defaultProps={classNames:""};Fd.propTypes={};function W4(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nd(e,t){var n=function(i){return t&&H.isValidElement(i)?t(i):i},r=Object.create(null);return e&&H.Children.map(e,function(o){return o}).forEach(function(o){r[o.key]=n(o)}),r}function q4(e,t){e=e||{},t=t||{};function n(d){return d in t?t[d]:e[d]}var r=Object.create(null),o=[];for(var i in e)i in t?o.length&&(r[i]=o,o=[]):o.push(i);var a,s={};for(var l in t){if(r[l])for(a=0;a<r[l].length;a++){var c=r[l][a];s[r[l][a]]=n(c)}s[l]=n(l)}for(a=0;a<o.length;a++)s[o[a]]=n(o[a]);return s}function mo(e,t,n){return n[t]!=null?n[t]:e.props[t]}function Y4(e,t){return Nd(e.children,function(n){return H.cloneElement(n,{onExited:t.bind(null,n),in:!0,appear:mo(n,"appear",e),enter:mo(n,"enter",e),exit:mo(n,"exit",e)})})}function K4(e,t,n){var r=Nd(e.children),o=q4(t,r);return Object.keys(o).forEach(function(i){var a=o[i];if(H.isValidElement(a)){var s=i in t,l=i in r,c=t[i],d=H.isValidElement(c)&&!c.props.in;l&&(!s||d)?o[i]=H.cloneElement(a,{onExited:n.bind(null,a),in:!0,exit:mo(a,"exit",e),enter:mo(a,"enter",e)}):!l&&s&&!d?o[i]=H.cloneElement(a,{in:!1}):l&&s&&H.isValidElement(c)&&(o[i]=H.cloneElement(a,{onExited:n.bind(null,a),in:c.props.in,exit:mo(a,"exit",e),enter:mo(a,"enter",e)}))}}),o}var G4=Object.values||function(e){return Object.keys(e).map(function(t){return e[t]})},Q4={component:"div",childFactory:function(t){return t}},Qa=(function(e){Ld(t,e);function t(r,o){var i;i=e.call(this,r,o)||this;var a=i.handleExited.bind(W4(i));return i.state={contextValue:{isMounting:!0},handleExited:a,firstRender:!0},i}var n=t.prototype;return n.componentDidMount=function(){this.mounted=!0,this.setState({contextValue:{isMounting:!1}})},n.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(o,i){var a=i.children,s=i.handleExited,l=i.firstRender;return{children:l?Y4(o,s):K4(o,a,s),firstRender:!1}},n.handleExited=function(o,i){var a=Nd(this.props.children);o.key in a||(o.props.onExited&&o.props.onExited(i),this.mounted&&this.setState(function(s){var l=$({},s.children);return delete l[o.key],{children:l}}))},n.render=function(){var o=this.props,i=o.component,a=o.childFactory,s=$e(o,["component","childFactory"]),l=this.state.contextValue,c=G4(this.state.children).map(a);return delete s.appear,delete s.enter,delete s.exit,i===null?H.createElement(sl.Provider,{value:l},c):H.createElement(sl.Provider,{value:l},H.createElement(i,s,c))},t})(H.Component);Qa.propTypes={};Qa.defaultProps=Q4;const X4=[];function Z4(e){w.useEffect(e,X4)}class _d{static create(){return new _d}currentId=null;start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,n()},t)}clear=()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)};disposeEffect=()=>this.clear}function Ul(){const e=nb(_d.create).current;return Z4(e.disposeEffect),e}function J4(e){const{className:t,classes:n,pulsate:r=!1,rippleX:o,rippleY:i,rippleSize:a,in:s,onExited:l,timeout:c}=e,[d,p]=w.useState(!1),h=Ae(t,n.ripple,n.rippleVisible,r&&n.ripplePulsate),f={width:a,height:a,top:-(a/2)+i,left:-(a/2)+o},m=Ae(n.child,d&&n.childLeaving,r&&n.childPulsate);return!s&&!d&&p(!0),w.useEffect(()=>{if(!s&&l!=null){const g=setTimeout(l,c);return()=>{clearTimeout(g)}}},[l,s,c]),u.jsx("span",{className:h,style:f,children:u.jsx("span",{className:m})})}const Ln=Me("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),Oc=550,eP=80,tP=pt.keyframes`
|
|
92
|
+
`).length,length:be.target.value.length}))}};return u.jsx(ki.Provider,{value:$({},z,{dispatch:I}),children:u.jsxs("div",$({ref:G,className:ie},O,{onClick:te,style:ee,children:[u.jsx(Ah,{hideToolbar:v,toolbarBottom:F,prefixCls:r,overflow:x,placement:"top"}),u.jsxs("div",{className:r+"-content",children:[/(edit|live)/.test(z.preview||"")&&u.jsx(p4,$({className:r+"-input",prefixCls:r,autoFocus:D},E,{onChange:pe,renderTextarea:A?.textarea||P,onScroll:be=>Q(be,"text")})),/(live|preview)/.test(z.preview||"")&&Y]}),h&&!z.fullscreen&&u.jsx(h4,{prefixCls:r,height:z.height,maxHeight:T,minHeight:S,onChange:ye}),u.jsx(Ah,{hideToolbar:v,toolbarBottom:F,prefixCls:r,overflow:x,placement:"bottom"})]}))})}),K1=b4;K1.Markdown=$1;const Uu={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"}]}}},x4={...Uu,patterns:[...Uu.patterns,{include:"#docvar"}],repository:{...Uu.repository,docvar:{patterns:[{match:"\\<\\<[^(\\>\\>)]*\\>\\>",beginCaptures:{0:{name:"punctuation.definition.comment.begin"}},endCaptures:{0:{name:"punctuation.definition.comment.end"}},name:"markup.italic.markdown"}]}}},y4={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"}]}}},E4="github-light";let Vu;function C4(){return Vu||(Vu=(async()=>{const[{createHighlighterCore:e},{createOnigurumaEngine:t},{default:n},{default:r},{default:o},{default:i}]=await Promise.all([Promise.resolve().then(()=>require("./core-CJddZwwz.cjs.js")),Promise.resolve().then(()=>require("./engine-oniguruma-BkproSVE.cjs.js")),Promise.resolve().then(()=>require("./sql-BqWZrLHB.cjs.js")),Promise.resolve().then(()=>require("./json-y-J1j5EW.cjs.js")),Promise.resolve().then(()=>require("./typescript-BqvpT6pB.cjs.js")),Promise.resolve().then(()=>require("./github-light-BFTOhCbz.cjs.js"))]);return e({engine:t(Promise.resolve().then(()=>require("./wasm-Dw4u1m6u.cjs.js"))),themes:[i],langs:[n,r,o,{name:"malloy",scopeName:"source.malloy",embeddedLangs:["sql"],...x4},{name:"malloysql",scopeName:"source.malloy-sql",embeddedLangs:["sql"],...y4}]})})()),Vu}async function il(e,t){return(await C4()).codeToHtml(e,{lang:t,theme:E4})}function Ft(e){const{server:t}=ze.useServer(),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 i=new Error(o.response.data.message||o.message);throw i.status=o.response.status,i.data=o.response.data,i}}throw r}},retry:!1,throwOnError:!1};return mr.useQuery(n,ze.globalQueryClient)}function wn(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 i=new Error(o.response.data.message||o.message);throw i.status=o.response.status,i.data=o.response.data,i}}throw r}},retry:!1,throwOnError:!1};return mr.useMutation(t,ze.globalQueryClient)}const kt=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 i=r[o];i==="environments"?n.environmentName=decodeURI(r[o+1])||void 0:i==="packages"?n.packageName=decodeURI(r[o+1])||void 0:i==="connections"?n.connectionName=decodeURI(r[o+1])||void 0:i==="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},Ga=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 Md({sourceAndPaths:e,selectedSourceIndex:t,existingQuery:n,onQueryChange:r,onSourceChange:o,resourceUri:i}){return H.useEffect(()=>{o&&o(t)},[t,o]),u.jsx(ed,{children:u.jsxs(pt.Stack,{spacing:2,component:"section",children:[u.jsx(G1,{sourceAndPath:e[t],existingQuery:n,onChange:a=>{r&&r(a)},resourceUri:i}),u.jsx(pt.Box,{height:"5px"})]})})}function Rs(){return{query:void 0,malloyQuery:void 0,malloyResult:void 0}}function T4({sourceAndPath:e,onChange:t,existingQuery:n,explorerComponents:r,QueryBuilder:o,resourceUri:i}){const[a,s]=H.useState(n||Rs()),[l,c]=H.useState(void 0);H.useEffect(()=>{n&&s(n)},[n]);const[d,p]=H.useState([]),{MalloyExplorerProvider:h,QueryPanel:f,ResizableCollapsiblePanel:m,ResultPanel:g,SourcePanel:x}=r;H.useEffect(()=>{t&&t(a)},[t,a]);const{environmentName:y,packageName:E,versionId:T}=kt(i),{apiClients:S}=ze.useServer(),D=wn({mutationFn:()=>{const B=typeof a?.malloyQuery=="string"?a.malloyQuery:new o.ASTQuery({source:e.sourceInfo,query:a?.malloyQuery}).toMalloy();return c({executionState:"running",query:a?.malloyQuery,queryResolutionStartMillis:Date.now(),onCancel:()=>{D.reset(),c(void 0)},response:{result:{}}}),s({...a,query:B}),S.models.executeQueryModel(y,E,e.modelPath,{query:B,sourceName:void 0,queryName:void 0,versionId:T})},onSuccess:B=>{if(B){const M=JSON.parse(B.data.result);s({...a,malloyResult:M}),c(N=>N?{...N,executionState:"finished",response:{result:M}}:void 0)}},onError:B=>{c(void 0),console.error("Query execution error:",B)}}),[C,L]=H.useState(e.sourceInfo.name);H.useEffect(()=>{C!==e.sourceInfo.name&&(L(e.sourceInfo.name),s(Rs()),c(void 0))},[e,C]);const R=H.useCallback(B=>{s({...a,malloyQuery:B,malloyResult:void 0})},[a]);return C!==e.sourceInfo.name?u.jsx("div",{children:"Loading..."}):u.jsx(C0,{sx:{border:"1px solid #e0e0e0",borderRadius:"8px",overflow:"hidden"},children:u.jsx(h,{source:e.sourceInfo,query:a?.malloyQuery,topValues:[],onFocusedNestViewPathChange:p,focusedNestViewPath:d,onQueryChange:R,children:u.jsxs("div",{style:{display:"flex",height:"100%",overflowY:"auto"},children:[u.jsx(m,{isInitiallyExpanded:!0,initialWidth:180,minWidth:180,icon:"database",title:e.sourceInfo.name,children:u.jsx(x,{onRefresh:()=>s(Rs())})}),u.jsx(m,{isInitiallyExpanded:!0,initialWidth:280,minWidth:280,icon:"filterSliders",title:"Query",children:u.jsx(f,{runQuery:()=>{console.log(`running query with: ${a?.malloyQuery}`);try{D.mutate()}catch(B){console.error("Error running query:",B)}}})}),u.jsx(g,{source:e.sourceInfo,draftQuery:a?.malloyQuery,setDraftQuery:B=>s({...a,malloyQuery:B}),submittedQuery:l,options:{showRawQuery:!0}})]})})},e.sourceInfo.name)}function G1(e){const[t,n]=H.useState(null),[r,o]=H.useState(null),[i,a]=H.useState(!0);return H.useEffect(()=>{let s=!0;return Promise.all([import("@malloydata/malloy-explorer"),import("@malloydata/malloy-query-builder")]).then(([l,c])=>{s&&(n(l),o(c),a(!1))}).catch(l=>{console.error("Failed to load Malloy components:",l),s&&a(!1)}),()=>{s=!1}},[]),i||!t||!r?u.jsx(GE,{children:u.jsx(C0,{children:u.jsx(pt.Box,{sx:{alignItems:"center",justifyContent:"center",height:"200px",color:"text.secondary"},children:"Loading explorer..."})})}):u.jsx(T4,{...e,explorerComponents:t,QueryBuilder:r,resourceUri:e.resourceUri})}function rn({text:e,size:t=20,color:n="primary",thickness:r=3.6,centered:o=!0,spacing:i=2,textVariant:a="body2"}){const s=u.jsxs(k.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",gap:i},children:[u.jsx(k.CircularProgress,{size:t,color:n,thickness:r}),e&&u.jsx(k.Typography,{variant:a,color:"text.secondary",children:e})]});return o?u.jsx(k.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"200px",width:"100%"},children:s}):s}const v4=H.lazy(()=>Promise.resolve().then(()=>D$));function wi({result:e,maxHeight:t,maxResultSize:n=0}){const r=H.useRef(null),[o,i]=H.useState(t),[a,s]=H.useState(!1);if(!e)return null;if(n>0&&e.length>n&&!a)return u.jsxs(k.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,p:4,backgroundColor:"#fafafa",border:"1px solid",borderColor:"#e0e0e0",borderRadius:1},children:[u.jsx(nn.Warning,{sx:{fontSize:48,color:"#757575"}}),u.jsx(k.Typography,{variant:"h6",color:"text.secondary",align:"center",children:"Processing large results may cause browser performance issues. Proceed?"}),u.jsx(k.Button,{variant:"contained",color:"primary",onClick:()=>s(!0),children:"Proceed"})]});const c=u.jsx(rn,{text:"Loading...",centered:!0,size:32}),d=Math.min(t,o);return u.jsx(k.Box,{ref:r,sx:{position:"relative",height:"auto",border:"0px",borderRadius:0,overflow:"hidden"},children:e&&u.jsx(H.Suspense,{fallback:c,children:u.jsx(v4,{result:e,height:d,onSizeChange:i})})})}function S4({cell:e,sourceAndPaths:t,resourceUri:n,onQueryChange:r,onSourceChange:o}){const i={query:e.value,malloyResult:e.result?JSON.parse(e.result):void 0,malloyQuery:e.queryInfo?JSON.parse(e.queryInfo):void 0},a=t.findIndex(s=>s.sourceInfo.name===e.sourceName);return u.jsx(Md,{resourceUri:n,sourceAndPaths:t,selectedSourceIndex:a>=0?a:0,existingQuery:i,onQueryChange:r,onSourceChange:o})}function k4({cell:e,editingMalloy:t,editingMarkdown:n,sourceAndPaths:r,resourceUri:o,onCellChange:i,onClose:a,onEdit:s,onDelete:l,addButtonCallback:c}){const[d,p]=H.useState(e.value),[h,f]=H.useState(!1),[m,g]=H.useState(!1),[x,y]=H.useState(),[E]=H.useState(),[T,S]=H.useState(Rs()),[D,C]=H.useState(!1),[L,R]=H.useState(e.sourceName?r.findIndex(G=>G.sourceInfo.name===e.sourceName):0);H.useEffect(()=>{e.isMarkdown||il(e.value,"malloy").then(G=>{y(G)})},[e]),H.useEffect(()=>{document.documentElement.setAttribute("data-color-mode","light")});const[B,M]=H.useState(!1),N=()=>{l(),M(!1)},v=r.length===0,F=H.useCallback(()=>{const G=r[L],re=G?.modelPath||e.modelPath||"",_=G?.sourceInfo.name||e.sourceName||"";i({...e,value:e.isMarkdown?d:T.query,result:T.malloyResult?JSON.stringify(T.malloyResult):void 0,queryInfo:T.malloyQuery?JSON.stringify(T.malloyQuery):void 0,sourceName:_,modelPath:re})},[e,d,T,i,L,r]),A=u.jsx(k.Tooltip,{title:"Delete Cell",children:u.jsx(k.IconButton,{size:"small",onClick:()=>M(!0),children:u.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:u.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"})})})}),P=u.jsxs(k.Dialog,{open:B,onClose:()=>M(!1),children:[u.jsx(k.DialogTitle,{children:"Confirm Delete"}),u.jsx(k.DialogContent,{children:u.jsx(k.Typography,{children:"Are you sure you want to delete this cell?"})}),u.jsxs(k.DialogActions,{children:[u.jsx(k.Button,{onClick:()=>M(!1),children:"Cancel"}),u.jsx(k.Button,{onClick:N,color:"error",children:"Delete"})]})]}),O=()=>{F(),a()},W=e.isMarkdown?u.jsxs(u.Fragment,{children:[n?u.jsx(k.Tooltip,{title:"Save",children:u.jsx(k.IconButton,{size:"small",onClick:O,children:u.jsx(as,{})})}):u.jsx(k.Tooltip,{title:"Edit",children:u.jsx(k.IconButton,{size:"small",onClick:s,children:u.jsx(Xp,{})})}),!n&&A]}):u.jsxs(u.Fragment,{children:[!t&&u.jsx(k.Tooltip,{title:h?"Hide Code":"View Code",children:u.jsx(k.IconButton,{size:"small",onClick:()=>{f(!h)},children:u.jsx(k0,{})})}),!t&&e.result&&u.jsx(k.Tooltip,{title:m?"Hide Embedding":"View Embedding",children:u.jsx(k.IconButton,{size:"small",onClick:()=>{g(!m)},children:u.jsx(td,{})})}),t&&u.jsx(k.Tooltip,{title:"Save",children:u.jsx(k.IconButton,{size:"small",onClick:O,children:u.jsx(as,{})})}),!t&&u.jsx(k.Tooltip,{title:"Edit",children:u.jsx(k.IconButton,{size:"small",onClick:s,children:u.jsx(Xp,{})})}),!t&&A]}),q=t||n,z=n?u.jsx(k.Tooltip,{title:"Save",children:u.jsx(k.IconButton,{size:"small",onClick:O,children:u.jsx(as,{})})}):t?u.jsx(k.Tooltip,{title:"Save",children:u.jsx(k.IconButton,{size:"small",onClick:O,children:u.jsx(as,{})})}):null,I=D&&u.jsx(k.Box,{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:!q&&u.jsxs(u.Fragment,{children:[c(!0),c(!1),W]})||z});return u.jsxs(Gs,{sx:{position:"relative",marginTop:"5px",marginBottom:"5px",borderWidth:"1.5px",backgroundColor:"#fff",minHeight:"50px"},onMouseEnter:()=>C(!0),onMouseLeave:()=>{C(!1)},children:[I,e.isMarkdown?u.jsx(u.Fragment,{children:n?u.jsx(K1,{value:d,preview:"edit",autoFocus:!0,onChange:G=>{p(G),i({...e,value:G})},onBlur:()=>{F(),D||O()}}):u.jsx(k.Box,{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?u.jsx(k.Box,{onClick:s,sx:{cursor:"pointer"},children:u.jsx(Vs,{children:e.value})}):u.jsxs(k.Box,{onClick:s,sx:{cursor:"pointer"},children:[u.jsx(k.Typography,{sx:{p:2,textAlign:"center",variant:"subtitle2",fontWeight:"medium"},children:"Markdown is empty"}),u.jsx(k.Typography,{sx:{mb:2,textAlign:"center",variant:"body2"},children:"Click to edit."})]})})}):u.jsxs(u.Fragment,{children:[u.jsx(k.Collapse,{in:m,timeout:"auto",unmountOnExit:!0,children:u.jsx(k.Stack,{sx:{p:"10px",borderRadius:0,flexDirection:"row",justifyContent:"space-between"},children:u.jsx(k.Typography,{component:"div",sx:{fontSize:"12px","& .line":{textWrap:"wrap"}},dangerouslySetInnerHTML:{__html:E}})})}),u.jsx(k.Collapse,{in:h,timeout:"auto",unmountOnExit:!0,children:u.jsx(k.Stack,{sx:{p:"10px",borderRadius:0,flexDirection:"row",justifyContent:"space-between"},children:u.jsx(k.Typography,{component:"div",className:"content",sx:{fontSize:"12px","& .line":{textWrap:"wrap"}},dangerouslySetInnerHTML:{__html:x}})})}),t&&(v?u.jsxs(u.Fragment,{children:[u.jsx(k.Typography,{sx:{p:2,textAlign:"center",variant:"subtitle2",fontWeight:"medium"},children:"No Model Imports"}),u.jsx(k.Typography,{sx:{mb:2,textAlign:"center",variant:"body2"},children:"Please add a model import above."})]}):u.jsx(S4,{sourceAndPaths:r,resourceUri:o,onQueryChange:G=>{S(G)},onSourceChange:G=>{R(G)},cell:e})),!t&&e.result&&u.jsx(Gs,{variant:"outlined",sx:{borderRadius:0},children:u.jsx(wi,{result:e.result,maxHeight:800})}),!t&&!e.result&&u.jsxs(k.Box,{onClick:s,sx:{cursor:"pointer"},children:[u.jsx(k.Typography,{sx:{p:2,textAlign:"center",variant:"subtitle2",fontWeight:"medium"},children:"Explore is empty"}),u.jsx(k.Typography,{sx:{mb:2,textAlign:"center",variant:"body2"},children:"Click to edit."})]})]}),B&&P]})}const Q1=H.createContext(void 0);function D4({children:e,workbookStorage:t}){const n=H.useMemo(()=>({workbookStorage:t}),[t]);return u.jsx(Q1.Provider,{value:n,children:e})}function Od(){const e=H.useContext(Q1);if(!e)throw new Error("useWorkbookStorage must be used within a WorkbookStorageProvider");return e}const er=tt(u.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"})),w4=tt(u.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 on({error:e,context:t}){const n=e.data?.message||"Unknown Error";return u.jsxs(u.Fragment,{children:[t&&u.jsx(k.Typography,{variant:"body2",sx:{p:"10px",m:"auto"},children:t}),u.jsx("pre",{style:{whiteSpace:"pre-wrap",color:"red",padding:"10px",margin:"auto"},children:n})]})}function I4({initialSelectedModels:e,onModelChange:t,resourceUri:n}){const{environmentName:r,packageName:o,versionId:i}=kt(n),{apiClients:a}=ze.useServer(),{data:s,isLoading:l,isSuccess:c,isError:d,error:p}=Ft({queryKey:["models",r,o,i],queryFn:()=>a.models.listModels(r,o,i)}),[h,f]=H.useState(e||[]),[m,g]=H.useState(null);H.useEffect(()=>{f(e||[])},[e]);const x=T=>{const S=h.filter(D=>D!==T);f(S),t(S)},y=T=>{const S=[...h,T];f(S),t(S),g(null)};let E=[];return c&&s?.data&&(E=s.data.filter(T=>!h.includes(T.path)).map(T=>T.path)),d?u.jsx(on,{error:p,context:`${r} > ${o} > Model Picker`}):u.jsxs(u.Fragment,{children:[u.jsxs(k.FormControl,{fullWidth:!0,children:[l&&u.jsx(k.Typography,{children:"Loading..."}),u.jsxs(k.Stack,{direction:"row",spacing:1,children:[h.map(T=>u.jsx(k.Chip,{label:T,onDelete:()=>x(T),deleteIcon:u.jsx(er,{}),sx:{marginBottom:"5px"}},T)),u.jsx(k.Button,{size:"small",startIcon:u.jsx(w4,{}),onClick:T=>g(T.currentTarget),disabled:l||d||E.length===0,children:"Add Model"})]})]}),u.jsxs(k.Menu,{anchorEl:m,open:!!m,onClose:()=>g(null),children:[u.jsx(k.Typography,{variant:"subtitle2",sx:{ml:1},children:"Models"}),u.jsx(k.Divider,{}),E.length===0?u.jsx(k.MenuItem,{disabled:!0,children:"No models available"}):E.map(T=>u.jsx(k.MenuItem,{onClick:()=>y(T),children:u.jsx(k.Typography,{variant:"body2",children:T})},T))]})]})}function X1(){const e=Ey.useNavigate();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 A4({workbookPath:e,resourceUri:t}){const n=X1(),{server:r,getAccessToken:o}=ze.useServer(),{apiClients:i}=ze.useServer(),{workbookStorage:a}=Od(),{environmentName:s,packageName:l}=kt(t),[c,d]=H.useState(void 0),[p,h]=H.useState(void 0);if(!a)throw new Error("Workbook storage be provided via WorkbookStorageProvider");const[f,m]=H.useState(),[g,x]=H.useState(),[y,E]=H.useState(),[T,S]=H.useState([]),[D,C]=H.useState(null),[L,R]=H.useState(null),B=!!D,M=()=>{C(null),R(null)},N=(G,re)=>{f&&(m(f.insertCell(re,{isMarkdown:G,value:""})),G?E(re):x(re),M(),console.log("handleAddCell",G,re))},[v,F]=H.useState(!1),A=()=>{F(!0)},P=async()=>{e&&a&&await a.deleteWorkbook(e).then(()=>{h(void 0),d(void 0)}).catch(G=>{h(`Error deleting workbook: ${G.message}`),d(void 0)}),F(!1),n(`/${s}/${l}`)},O=()=>{F(!1)},W=H.useCallback(async()=>{if(!f){console.log("No workbook data ref");return}try{m(await f.saveWorkbook()),h(void 0),d("Workbook saved")}catch(G){h(`Error saving workbook: ${G.message}`),d(void 0)}},[f]);if(H.useEffect(()=>{if(!f)return;(async()=>{const re=new Map(T.map(({modelPath:X,sourceInfos:U})=>[X,U])),_=[],ie=[];for(const X of f.getModels())re.has(X)?_.push({modelPath:X,sourceInfos:re.get(X)}):(console.log("Fetching model from Publisher",X),ie.push(i.models.getModel(s,l,X,void 0).then(U=>({modelPath:X,sourceInfos:U.data.sourceInfos.map(J=>JSON.parse(J))}))));if(ie.length>0){const X=await Promise.all(ie);S([..._,...X])}else S(_)})()},[o,f,l,s,r]),H.useEffect(()=>{e&&ei.loadWorkbook(a,e).then(G=>{m(G)})},[e,a]),!f)return u.jsx("div",{children:"Loading..."});const q=G=>{const re=[];for(const _ of G)for(const ie of _.sourceInfos)re.push({modelPath:_.modelPath,sourceInfo:ie});return re},z=(G,re)=>u.jsx(k.Button,{size:"small",startIcon:u.jsx(Il,{}),onClick:()=>N(G,re),variant:"contained",sx:{backgroundColor:"#fff",color:_=>_.palette.mode==="dark"?_.palette.grey[100]:_.palette.grey[700],boxShadow:"none","&:hover":{backgroundColor:_=>_.palette.mode==="dark"?_.palette.grey[500]:_.palette.grey[300],boxShadow:"none"}},children:G?"Markdown":"Explore"}),I=u.jsxs(k.Box,{sx:{display:"flex",gap:1,justifyContent:"center",flex:2},children:[z(!1,f.getCells().length),z(!0,f.getCells().length)]});return u.jsxs(Gs,{variant:"outlined",children:[u.jsxs(E0,{children:[u.jsx(k.Box,{sx:{mb:2},children:u.jsx(k.Box,{sx:{minHeight:"24px"},children:p?u.jsx(k.Typography,{color:"error",variant:"body2",children:p}):c?u.jsx(k.Typography,{color:"success",variant:"body2",children:c}):u.jsx("span",{children:" "})})}),u.jsxs(Ho,{sx:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},children:[u.jsxs(Ho,{direction:"row",spacing:1,alignItems:"center",children:[u.jsx(k.Typography,{variant:"overline",sx:{fontSize:"13px",fontWeight:"bold",verticalAlign:"middle"},children:"Workbook"}),u.jsx(k.Typography,{variant:"subtitle2",sx:{fontSize:"13px",fontWeight:"normal",verticalAlign:"middle",ml:1},children:`${e.workspace} > ${e.path}`})]}),u.jsxs(Ho,{sx:{display:"flex",flexDirection:"row",gap:1},children:[u.jsx(k.Box,{sx:{display:"flex",alignItems:"center",mt:1,mb:1},children:u.jsx(P4,{workbookData:f})}),u.jsxs(k.Box,{sx:{display:"flex",alignItems:"center",mt:1,mb:1},children:[u.jsx(k.Button,{color:"error",onClick:A,size:"small",children:"Delete"}),u.jsxs(k.Dialog,{open:v,onClose:O,children:[u.jsx(k.DialogTitle,{children:"Delete Workbook"}),u.jsx(k.DialogContent,{children:u.jsxs(k.DialogContentText,{children:['Are you sure you want to delete the workbook "',e.path,'"? This action cannot be undone.']})}),u.jsxs(k.DialogActions,{children:[u.jsx(k.Button,{onClick:O,color:"primary",size:"small",children:"Cancel"}),u.jsx(k.Button,{onClick:P,color:"error",autoFocus:!0,size:"small",children:"Delete"})]})]})]})]})]}),u.jsx(k.Divider,{}),u.jsxs(Ho,{sx:{display:"flex",flexDirection:"row",width:"100%",mt:2},children:[u.jsx(k.Box,{sx:{flex:1},children:u.jsx(I4,{initialSelectedModels:f.getModels(),onModelChange:G=>{m(f.setModels(G)),W()},resourceUri:t})}),u.jsx(k.Box,{sx:{flex:1}})]})]}),u.jsx(ed,{children:u.jsxs(Ho,{children:[f.getCells().length===0&&u.jsxs(u.Fragment,{children:[u.jsx(k.Typography,{sx:{textAlign:"center",p:2,variant:"subtitle2",fontWeight:"medium"},children:"Workbook is empty"}),u.jsx(k.Typography,{variant:"body2",sx:{textAlign:"center",mb:2,variant:"body2"},children:"Click the + buttons to add a markdown or code cell."})]}),f.getCells().map((G,re)=>u.jsx(H.Fragment,{children:u.jsx(k4,{cell:G,resourceUri:t,addButtonCallback:_=>z(_,re),sourceAndPaths:q(T),editingMarkdown:y===re,editingMalloy:g===re,onDelete:()=>{m(f.deleteCell(re)),W()},onCellChange:_=>{m(f.setCell(re,_))},onEdit:()=>{G.isMarkdown?E(re):x(re)},onClose:()=>{G.isMarkdown?E(void 0):x(void 0),W()}},`${re}-${G.isMarkdown}-${e.workspace}-${e.path}`)},`${re}-${f.getCells().length}`)),I,u.jsxs(k.Menu,{anchorEl:D,open:B,onClose:M,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[u.jsx(k.MenuItem,{onClick:()=>N(!0,L??0),children:"Add Markdown"}),u.jsx(k.MenuItem,{onClick:()=>N(!1,L??0),children:"Add Malloy"})]}),u.jsx(Ho,{sx:{flexDirection:"row",justifyContent:"flex-end",p:1}})]})})]})}function P4({workbookData:e}){const[t,n]=H.useState(!1),r=async()=>{if(!e)return;const o=e.toMalloyWorkbook();try{await navigator.clipboard.writeText(o),n(!0),setTimeout(()=>n(!1),1500)}catch{n(!1),alert("Failed to copy to clipboard")}};return u.jsx(k.Button,{color:"primary",onClick:r,size:"small",children:t?"Copied!":"Export"})}function Z1({onWorkbookClick:e}){const{workbookStorage:t}=Od(),[n,r]=H.useState([]),[o,i]=H.useState(void 0);return H.useEffect(()=>{t&&t.listWorkspaces(!1).then(a=>{const s=[];Promise.all(a.map(async l=>{await t.listWorkbooks(l).then(c=>{s.push(...c)}).catch(c=>{i(`Error listing workbooks: ${c.message}`)})})).then(()=>{r(s),i(void 0)})})},[t]),u.jsxs(u.Fragment,{children:[o&&u.jsx(k.Box,{sx:{mb:2},children:u.jsx(k.Typography,{color:"error",variant:"body2",children:o})}),u.jsx(k.Divider,{}),u.jsx(k.Box,{sx:{maxHeight:"300px",overflow:"auto","&::-webkit-scrollbar":{width:"8px"},"&::-webkit-scrollbar-track":{background:"transparent"},"&::-webkit-scrollbar-thumb":{background:"rgba(0,0,0,0.2)",borderRadius:"4px"}},children:u.jsxs(k.List,{dense:!0,children:[n.length===0&&u.jsx(k.ListItem,{children:u.jsx(k.ListItemText,{primary:"No workbooks found.",sx:{textAlign:"center"}})}),n.map(a=>u.jsx(k.ListItem,{onClick:s=>e(a,s),sx:{cursor:"pointer","&:hover":{backgroundColor:"action.hover"}},children:u.jsx(k.ListItemText,{primary:a.path})},a.path))]})})]})}const Ph="Local";class R4{async listWorkspaces(t){return Promise.resolve([{name:Ph,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:Ph})}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 M4({onWorkbookSelect:e}){const{workbookStorage:t}=Od(),[n,r]=H.useState(""),[o,i]=H.useState(""),[a,s]=H.useState([]),[l,c]=H.useState(null),[d,p]=H.useState(!1),[h,f]=H.useState(!1),m=!!l,g=C=>{c(C.currentTarget)},x=()=>{c(null)},y=()=>{f(!1)},E=()=>{p(!1),r(""),i("")};H.useEffect(()=>{t&&(console.log("fetching workspaces"),t.listWorkspaces(!0).then(C=>{s(C),C.length===1&&i(C[0].name)}).catch(C=>{console.error("Error fetching workspaces:",C),s([])}))},[t]);const T=(C,L)=>{f(!1),e(C,L)},S=C=>{p(!1),e({path:n,workspace:o},C),r(""),i("")},D=a.length===0;return u.jsxs(u.Fragment,{children:[u.jsx(k.Button,{"aria-controls":m?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":m?"true":void 0,onClick:g,variant:"contained",sx:{height:"40px",px:2,backgroundColor:"#fbbb04","&:hover":{backgroundColor:"#eab308"}},children:"Analyze Package"}),u.jsxs(k.Menu,{id:"basic-menu",anchorEl:l,open:m,onClose:x,MenuListProps:{"aria-labelledby":"basic-button",sx:{py:.5}},children:[u.jsxs(k.MenuItem,{onClick:()=>{p(!0),x()},sx:{py:1,px:2},disabled:D,children:[u.jsx(k.ListItemIcon,{children:u.jsx(nn.Add,{fontSize:"small"})}),u.jsxs(k.ListItemText,{children:[u.jsx(k.Typography,{variant:"body2",fontWeight:500,children:"New Workbook"}),D?u.jsx(k.Typography,{variant:"caption",color:"text.secondary",children:"No workspaces available"}):u.jsx(k.Typography,{variant:"caption",color:"text.secondary",children:"Create a new analysis workbook"})]})]}),u.jsxs(k.MenuItem,{onClick:()=>{f(!0),x()},sx:{py:1,px:2},children:[u.jsx(k.ListItemIcon,{children:u.jsx(nn.Launch,{fontSize:"small"})}),u.jsxs(k.ListItemText,{children:[u.jsx(k.Typography,{variant:"body2",fontWeight:500,children:"Open Workbook"}),u.jsx(k.Typography,{variant:"caption",color:"text.secondary",children:"Open an existing workbook"})]})]})]}),u.jsxs(k.Dialog,{open:d,onClose:E,maxWidth:"sm",fullWidth:!0,children:[u.jsxs(k.DialogTitle,{sx:{pb:1,pt:2,px:2},children:[u.jsx(k.Typography,{fontWeight:600,sx:{fontSize:"1.5rem",mb:.5},children:"Create New Workbook"}),u.jsx(k.Typography,{variant:"body2",color:"text.secondary",children:"Start a new analysis workbook to explore your data"})]}),u.jsx(k.DialogContent,{sx:{px:2,pb:2},children:u.jsxs(k.Stack,{spacing:2,sx:{mt:1},children:[a.length>1?u.jsxs(k.FormControl,{fullWidth:!0,size:"small",children:[u.jsx(k.InputLabel,{children:"Workspace"}),u.jsx(k.Select,{value:o,label:"Workspace",onChange:C=>i(C.target.value),children:a.map(C=>u.jsx(k.MenuItem,{value:C.name,children:u.jsxs(k.Box,{children:[u.jsx(k.Typography,{variant:"body2",fontWeight:500,children:C.name}),u.jsx(k.Typography,{variant:"caption",color:"text.secondary",children:C.description})]})},C.name))})]}):a.length===1?u.jsxs(k.Box,{sx:{p:2,border:1,borderColor:"divider",borderRadius:1,backgroundColor:"grey.50"},children:[u.jsxs(k.Typography,{variant:"body2",fontWeight:500,gutterBottom:!0,children:["Workspace: ",a[0].name]}),u.jsx(k.Typography,{variant:"caption",color:"text.secondary",children:a[0].description})]}):null,u.jsx(k.FormControl,{fullWidth:!0,children:u.jsx(k.TextField,{label:"Workbook Name",value:n,onChange:C=>r(C.target.value),placeholder:"Enter workbook name...",fullWidth:!0,autoFocus:!0,size:"small"})}),u.jsxs(k.Stack,{direction:"row",spacing:1,justifyContent:"flex-end",children:[u.jsx(k.Button,{onClick:E,variant:"outlined",size:"small",children:"Cancel"}),u.jsx(k.Button,{onClick:C=>S(C),variant:"contained",disabled:!n.trim()||a.length>1&&!o,size:"small",children:"Create Workbook"})]})]})})]}),u.jsxs(k.Dialog,{open:h,onClose:y,maxWidth:"md",fullWidth:!0,children:[u.jsxs(k.DialogTitle,{sx:{pb:1,pt:2,px:2},children:[u.jsx(k.Typography,{fontWeight:600,sx:{mb:.5,fontSize:"1.5rem"},children:"Open Workbook"}),u.jsx(k.Typography,{variant:"body2",color:"text.secondary",children:"Select an existing workbook to continue your analysis"})]}),u.jsx(k.DialogContent,{sx:{px:2,pb:2},children:u.jsx(Z1,{onWorkbookClick:T})})]})]})}function O4({resourceUri:e}){const{environmentName:t}=kt(e),{apiClients:n}=ze.useServer(),[r,o]=H.useState(!1),i=90,{data:a,isSuccess:s,isError:l,error:c}=Ft({queryKey:["about",t],queryFn:()=>n.environments.getEnvironment(t,!1)}),d=a?.data?.readme||"",p=d.split(/\s+/),h=p.length>i,f=p.slice(0,i).join(" ");return u.jsxs(u.Fragment,{children:[!s&&!l&&u.jsx(rn,{text:"Fetching About..."}),s&&d&&u.jsx(T0,{children:u.jsxs(v0,{children:[u.jsx(S0,{children:"Readme"}),u.jsxs(k.Box,{sx:{mt:1,fontSize:"0.875rem",lineHeight:1.6},children:[u.jsx(Vs,{options:{overrides:{h1:{component:"p",props:{style:{fontSize:"inherit",fontWeight:"italic"}}},h2:{component:"p",props:{style:{fontSize:"inherit",fontWeight:"italic"}}},h3:{component:"p",props:{style:{fontSize:"inherit",fontWeight:"italic"}}}}},children:r||!h?d:f}),h&&u.jsxs(k.Box,{sx:{mt:1},children:[" ",u.jsx(k.Button,{variant:"text",size:"small",onClick:()=>o(!r),children:r?"Read less":"Read more"})]})]})]})}),l&&u.jsx(on,{error:c,context:`${t} > About`})]})}function L4({resourceUri:e}){const[t,n]=H.useState(!1),{apiClients:r}=ze.useServer(),o=mr.useQueryClient(),[i,a]=H.useState(""),{environmentName:s}=kt(e),l=wn({async mutationFn(d){return r.packages.createPackage(s,{name:d.name,description:d.description,location:d.location})},onSuccess(){n(!1),a("Package created successfully"),o.invalidateQueries({queryKey:["packages",s]})},onError(d){a(d instanceof Error?d.message:"An unknown error occurred")}}),c=d=>{d.preventDefault();const p=new FormData(d.currentTarget),h=p.get("name")?.toString(),f=p.get("description")?.toString(),m=p.get("location")?.toString();l.mutate({name:h,description:f,location:m})};return u.jsxs(u.Fragment,{children:[u.jsx(k.Button,{onClick:()=>n(!0),variant:"contained",color:"primary",startIcon:u.jsx(nn.Add,{}),children:"Add Package"}),u.jsxs(k.Dialog,{open:t,onClose:()=>n(!1),maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{borderRadius:2}},children:[u.jsx(k.DialogTitle,{sx:{fontSize:"1.25rem",fontWeight:600,letterSpacing:"-0.025em",pt:3,pb:1,px:3},children:"Create New Package"}),u.jsxs(k.DialogContent,{sx:{px:3,pb:0},children:[u.jsxs(k.Box,{sx:{mb:3},children:[u.jsx(k.Typography,{variant:"body2",color:"text.secondary",sx:{mb:1.5},children:"Create a new Malloy package to start exploring your data."}),u.jsx(k.Typography,{variant:"body2",color:"text.secondary",sx:{mb:1.5},children:"The location can be a GitHub/S3/GCP URL containing a package (zipped or unzipped), or an absolute path to a directory the publisher server has access to."}),u.jsxs(k.Typography,{variant:"body2",color:"text.secondary",children:["Make sure to conform to the"," ",u.jsx(k.Box,{component:"a",href:"https://github.com/malloydata/publisher/blob/main/README.md#architecture-overview",target:"_blank",rel:"noopener noreferrer",sx:{color:"text.primary",textDecoration:"underline"},children:"Malloy Package Format"}),"."]})]}),u.jsx("form",{onSubmit:c,id:"package-form",children:u.jsxs(k.Stack,{spacing:2.5,children:[u.jsx(k.TextField,{autoFocus:!0,required:!0,id:"name",name:"name",label:"Package Name",type:"text",fullWidth:!0,variant:"outlined",size:"small",InputLabelProps:{shrink:!0}}),u.jsx(k.TextField,{id:"description",name:"description",label:"Description",multiline:!0,rows:3,fullWidth:!0,variant:"outlined",size:"small",InputLabelProps:{shrink:!0}}),u.jsx(k.TextField,{id:"location",name:"location",label:"Location",type:"text",placeholder:"e.g. s3://my-bucket/my-package.zip",fullWidth:!0,variant:"outlined",size:"small",InputLabelProps:{shrink:!0}})]})})]}),u.jsxs(k.DialogActions,{sx:{px:3,pt:2,pb:3,gap:1},children:[u.jsx(k.Button,{variant:"outlined",disabled:l.isPending,onClick:()=>n(!1),children:"Cancel"}),u.jsx(k.Button,{type:"submit",form:"package-form",variant:"contained",loading:l.isPending,children:"Save Changes"})]})]}),u.jsx(k.Snackbar,{open:i!=="",autoHideDuration:6e3,onClose:()=>a(""),message:i})]})}const F4=tt(u.jsx("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"})),J1=tt(u.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}));function eb(e){const{theme:t,name:n,props:r}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?r:ka(t.components[n].defaultProps,r)}function N4({props:e,name:t,defaultTheme:n,themeId:r}){let o=tE(n);return o=o[r]||o,eb({theme:o,name:t,props:e})}function Dt({props:e,name:t}){return N4({props:e,name:t,defaultTheme:wl,themeId:bi})}const _4=Me("MuiBox",["root"]),B4=m0(),At=pt.createBox({themeId:bi,defaultTheme:B4,defaultClassName:_4.root,generateClassName:e0.generate}),tb=de.oneOfType([de.func,de.object]);function Rh(e){try{return e.matches(":focus-visible")}catch{}return!1}const Mh={};function nb(e,t){const n=w.useRef(Mh);return n.current===Mh&&(n.current=e(t)),n}class al{static create(){return new al}static use(){const t=nb(al.create).current,[n,r]=w.useState(!1);return t.shouldMount=n,t.setShouldMount=r,w.useEffect(t.mountEffect,[n]),t}constructor(){this.ref={current:null},this.mounted=null,this.didMount=!1,this.shouldMount=!1,this.setShouldMount=null}mount(){return this.mounted||(this.mounted=$4(),this.shouldMount=!0,this.setShouldMount(this.shouldMount)),this.mounted}mountEffect=()=>{this.shouldMount&&!this.didMount&&this.ref.current!==null&&(this.didMount=!0,this.mounted.resolve())};start(...t){this.mount().then(()=>this.ref.current?.start(...t))}stop(...t){this.mount().then(()=>this.ref.current?.stop(...t))}pulsate(...t){this.mount().then(()=>this.ref.current?.pulsate(...t))}}function j4(){return al.use()}function $4(){let e,t;const n=new Promise((r,o)=>{e=r,t=o});return n.resolve=e,n.reject=t,n}function Rc(e,t){return Rc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Rc(e,t)}function Ld(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Rc(e,t)}function H4(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function z4(e,t){e.classList?e.classList.add(t):H4(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function Oh(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function U4(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=Oh(e.className,t):e.setAttribute("class",Oh(e.className&&e.className.baseVal||"",t))}const Lh={disabled:!1},sl=H.createContext(null);var rb=function(t){return t.scrollTop},oa="unmounted",co="exited",po="entering",Ko="entered",Mc="exiting",Yn=(function(e){Ld(t,e);function t(r,o){var i;i=e.call(this,r,o)||this;var a=o,s=a&&!a.isMounting?r.enter:r.appear,l;return i.appearStatus=null,r.in?s?(l=co,i.appearStatus=po):l=Ko:r.unmountOnExit||r.mountOnEnter?l=oa:l=co,i.state={status:l},i.nextCallback=null,i}t.getDerivedStateFromProps=function(o,i){var a=o.in;return a&&i.status===oa?{status:co}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(o){var i=null;if(o!==this.props){var a=this.state.status;this.props.in?a!==po&&a!==Ko&&(i=po):(a===po||a===Ko)&&(i=Mc)}this.updateStatus(!1,i)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var o=this.props.timeout,i,a,s;return i=a=s=o,o!=null&&typeof o!="number"&&(i=o.exit,a=o.enter,s=o.appear!==void 0?o.appear:a),{exit:i,enter:a,appear:s}},n.updateStatus=function(o,i){if(o===void 0&&(o=!1),i!==null)if(this.cancelNextCallback(),i===po){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:ea.findDOMNode(this);a&&rb(a)}this.performEnter(o)}else this.performExit();else this.props.unmountOnExit&&this.state.status===co&&this.setState({status:oa})},n.performEnter=function(o){var i=this,a=this.props.enter,s=this.context?this.context.isMounting:o,l=this.props.nodeRef?[s]:[ea.findDOMNode(this),s],c=l[0],d=l[1],p=this.getTimeouts(),h=s?p.appear:p.enter;if(!o&&!a||Lh.disabled){this.safeSetState({status:Ko},function(){i.props.onEntered(c)});return}this.props.onEnter(c,d),this.safeSetState({status:po},function(){i.props.onEntering(c,d),i.onTransitionEnd(h,function(){i.safeSetState({status:Ko},function(){i.props.onEntered(c,d)})})})},n.performExit=function(){var o=this,i=this.props.exit,a=this.getTimeouts(),s=this.props.nodeRef?void 0:ea.findDOMNode(this);if(!i||Lh.disabled){this.safeSetState({status:co},function(){o.props.onExited(s)});return}this.props.onExit(s),this.safeSetState({status:Mc},function(){o.props.onExiting(s),o.onTransitionEnd(a.exit,function(){o.safeSetState({status:co},function(){o.props.onExited(s)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(o,i){i=this.setNextCallback(i),this.setState(o,i)},n.setNextCallback=function(o){var i=this,a=!0;return this.nextCallback=function(s){a&&(a=!1,i.nextCallback=null,o(s))},this.nextCallback.cancel=function(){a=!1},this.nextCallback},n.onTransitionEnd=function(o,i){this.setNextCallback(i);var a=this.props.nodeRef?this.props.nodeRef.current:ea.findDOMNode(this),s=o==null&&!this.props.addEndListener;if(!a||s){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[a,this.nextCallback],c=l[0],d=l[1];this.props.addEndListener(c,d)}o!=null&&setTimeout(this.nextCallback,o)},n.render=function(){var o=this.state.status;if(o===oa)return null;var i=this.props,a=i.children;i.in,i.mountOnEnter,i.unmountOnExit,i.appear,i.enter,i.exit,i.timeout,i.addEndListener,i.onEnter,i.onEntering,i.onEntered,i.onExit,i.onExiting,i.onExited,i.nodeRef;var s=$e(i,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return H.createElement(sl.Provider,{value:null},typeof a=="function"?a(o,s):H.cloneElement(H.Children.only(a),s))},t})(H.Component);Yn.contextType=sl;Yn.propTypes={};function Wo(){}Yn.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Wo,onEntering:Wo,onEntered:Wo,onExit:Wo,onExiting:Wo,onExited:Wo};Yn.UNMOUNTED=oa;Yn.EXITED=co;Yn.ENTERING=po;Yn.ENTERED=Ko;Yn.EXITING=Mc;var V4=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return z4(t,r)})},Wu=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return U4(t,r)})},Fd=(function(e){Ld(t,e);function t(){for(var r,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];return r=e.call.apply(e,[this].concat(i))||this,r.appliedClasses={appear:{},enter:{},exit:{}},r.onEnter=function(s,l){var c=r.resolveArguments(s,l),d=c[0],p=c[1];r.removeClasses(d,"exit"),r.addClass(d,p?"appear":"enter","base"),r.props.onEnter&&r.props.onEnter(s,l)},r.onEntering=function(s,l){var c=r.resolveArguments(s,l),d=c[0],p=c[1],h=p?"appear":"enter";r.addClass(d,h,"active"),r.props.onEntering&&r.props.onEntering(s,l)},r.onEntered=function(s,l){var c=r.resolveArguments(s,l),d=c[0],p=c[1],h=p?"appear":"enter";r.removeClasses(d,h),r.addClass(d,h,"done"),r.props.onEntered&&r.props.onEntered(s,l)},r.onExit=function(s){var l=r.resolveArguments(s),c=l[0];r.removeClasses(c,"appear"),r.removeClasses(c,"enter"),r.addClass(c,"exit","base"),r.props.onExit&&r.props.onExit(s)},r.onExiting=function(s){var l=r.resolveArguments(s),c=l[0];r.addClass(c,"exit","active"),r.props.onExiting&&r.props.onExiting(s)},r.onExited=function(s){var l=r.resolveArguments(s),c=l[0];r.removeClasses(c,"exit"),r.addClass(c,"exit","done"),r.props.onExited&&r.props.onExited(s)},r.resolveArguments=function(s,l){return r.props.nodeRef?[r.props.nodeRef.current,s]:[s,l]},r.getClassNames=function(s){var l=r.props.classNames,c=typeof l=="string",d=c&&l?l+"-":"",p=c?""+d+s:l[s],h=c?p+"-active":l[s+"Active"],f=c?p+"-done":l[s+"Done"];return{baseClassName:p,activeClassName:h,doneClassName:f}},r}var n=t.prototype;return n.addClass=function(o,i,a){var s=this.getClassNames(i)[a+"ClassName"],l=this.getClassNames("enter"),c=l.doneClassName;i==="appear"&&a==="done"&&c&&(s+=" "+c),a==="active"&&o&&rb(o),s&&(this.appliedClasses[i][a]=s,V4(o,s))},n.removeClasses=function(o,i){var a=this.appliedClasses[i],s=a.base,l=a.active,c=a.done;this.appliedClasses[i]={},s&&Wu(o,s),l&&Wu(o,l),c&&Wu(o,c)},n.render=function(){var o=this.props;o.classNames;var i=$e(o,["classNames"]);return H.createElement(Yn,$({},i,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t})(H.Component);Fd.defaultProps={classNames:""};Fd.propTypes={};function W4(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nd(e,t){var n=function(i){return t&&H.isValidElement(i)?t(i):i},r=Object.create(null);return e&&H.Children.map(e,function(o){return o}).forEach(function(o){r[o.key]=n(o)}),r}function q4(e,t){e=e||{},t=t||{};function n(d){return d in t?t[d]:e[d]}var r=Object.create(null),o=[];for(var i in e)i in t?o.length&&(r[i]=o,o=[]):o.push(i);var a,s={};for(var l in t){if(r[l])for(a=0;a<r[l].length;a++){var c=r[l][a];s[r[l][a]]=n(c)}s[l]=n(l)}for(a=0;a<o.length;a++)s[o[a]]=n(o[a]);return s}function mo(e,t,n){return n[t]!=null?n[t]:e.props[t]}function Y4(e,t){return Nd(e.children,function(n){return H.cloneElement(n,{onExited:t.bind(null,n),in:!0,appear:mo(n,"appear",e),enter:mo(n,"enter",e),exit:mo(n,"exit",e)})})}function K4(e,t,n){var r=Nd(e.children),o=q4(t,r);return Object.keys(o).forEach(function(i){var a=o[i];if(H.isValidElement(a)){var s=i in t,l=i in r,c=t[i],d=H.isValidElement(c)&&!c.props.in;l&&(!s||d)?o[i]=H.cloneElement(a,{onExited:n.bind(null,a),in:!0,exit:mo(a,"exit",e),enter:mo(a,"enter",e)}):!l&&s&&!d?o[i]=H.cloneElement(a,{in:!1}):l&&s&&H.isValidElement(c)&&(o[i]=H.cloneElement(a,{onExited:n.bind(null,a),in:c.props.in,exit:mo(a,"exit",e),enter:mo(a,"enter",e)}))}}),o}var G4=Object.values||function(e){return Object.keys(e).map(function(t){return e[t]})},Q4={component:"div",childFactory:function(t){return t}},Qa=(function(e){Ld(t,e);function t(r,o){var i;i=e.call(this,r,o)||this;var a=i.handleExited.bind(W4(i));return i.state={contextValue:{isMounting:!0},handleExited:a,firstRender:!0},i}var n=t.prototype;return n.componentDidMount=function(){this.mounted=!0,this.setState({contextValue:{isMounting:!1}})},n.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(o,i){var a=i.children,s=i.handleExited,l=i.firstRender;return{children:l?Y4(o,s):K4(o,a,s),firstRender:!1}},n.handleExited=function(o,i){var a=Nd(this.props.children);o.key in a||(o.props.onExited&&o.props.onExited(i),this.mounted&&this.setState(function(s){var l=$({},s.children);return delete l[o.key],{children:l}}))},n.render=function(){var o=this.props,i=o.component,a=o.childFactory,s=$e(o,["component","childFactory"]),l=this.state.contextValue,c=G4(this.state.children).map(a);return delete s.appear,delete s.enter,delete s.exit,i===null?H.createElement(sl.Provider,{value:l},c):H.createElement(sl.Provider,{value:l},H.createElement(i,s,c))},t})(H.Component);Qa.propTypes={};Qa.defaultProps=Q4;const X4=[];function Z4(e){w.useEffect(e,X4)}class _d{static create(){return new _d}currentId=null;start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,n()},t)}clear=()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)};disposeEffect=()=>this.clear}function Ul(){const e=nb(_d.create).current;return Z4(e.disposeEffect),e}function J4(e){const{className:t,classes:n,pulsate:r=!1,rippleX:o,rippleY:i,rippleSize:a,in:s,onExited:l,timeout:c}=e,[d,p]=w.useState(!1),h=Ae(t,n.ripple,n.rippleVisible,r&&n.ripplePulsate),f={width:a,height:a,top:-(a/2)+i,left:-(a/2)+o},m=Ae(n.child,d&&n.childLeaving,r&&n.childPulsate);return!s&&!d&&p(!0),w.useEffect(()=>{if(!s&&l!=null){const g=setTimeout(l,c);return()=>{clearTimeout(g)}}},[l,s,c]),u.jsx("span",{className:h,style:f,children:u.jsx("span",{className:m})})}const Ln=Me("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),Oc=550,eP=80,tP=pt.keyframes`
|
|
93
93
|
0% {
|
|
94
94
|
transform: scale(0);
|
|
95
95
|
opacity: 0.1;
|
|
@@ -221,7 +221,7 @@ import {${t.sourceName}}" from '${t.modelPath}'"
|
|
|
221
221
|
`));n(f=>{const m=f.items.itemMetaMap[p];return m.label!==h?$({},f,{items:$({},f.items,{itemMetaMap:$({},f.items.itemMetaMap,{[p]:$({},m,{label:h})})})}):f}),r.onItemLabelChange&&r.onItemLabelChange(p,h)};return{instance:{setEditedItemId:a,isItemBeingEdited:s,updateItemLabel:d,isItemEditable:c,isTreeViewEditable:l,isItemBeingEditedRef:i},publicAPI:{updateItemLabel:d}}};$n.itemPlugin=aj;$n.getDefaultizedParams=({params:e,experimentalFeatures:t})=>{const n=t?.labelEditing;return $({},e,{isItemEditable:n?e.isItemEditable??!1:!1})};$n.getInitialState=()=>({editedItemId:null});$n.params={onItemLabelChange:!0,isItemEditable:!0};const Eo=(e,t)=>e.getAvailablePlugins().has(t),qx=e=>Array.isArray(e)?e.length>0&&e.some(qx):!!e,sj=({itemId:e,children:t})=>{const{instance:n,selection:{multiSelect:r},publicAPI:o}=Lo(),i={expandable:qx(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},a=f=>{if(i.disabled)return;i.focused||n.focusItem(f,e);const m=r&&(f.shiftKey||f.ctrlKey||f.metaKey);i.expandable&&!(m&&n.isItemExpanded(e))&&n.toggleItemExpansion(f,e)},s=f=>{if(i.disabled)return;!i.focused&&!i.editing&&n.focusItem(f,e),r&&(f.shiftKey||f.ctrlKey||f.metaKey)?f.shiftKey?n.expandSelectionRange(f,e):n.selectItem({event:f,itemId:e,keepExistingSelection:!0}):n.selectItem({event:f,itemId:e,shouldBeSelected:!0})},l=f=>{const m=f.nativeEvent.shiftKey;r&&m?n.expandSelectionRange(f,e):n.selectItem({event:f,itemId:e,keepExistingSelection:r,shouldBeSelected:f.target.checked})},c=()=>{Eo(n,$n)&&n.isItemEditable(e)&&(n.isItemBeingEdited(e)?n.setEditedItemId(null):n.setEditedItemId(e))};return{interactions:{handleExpansion:a,handleSelection:s,handleCheckboxSelection:l,toggleItemEditing:c,handleSaveItemLabel:(f,m)=>{Eo(n,$n)&&n.isItemBeingEditedRef(e)&&(n.updateItemLabel(e,m),c(),n.focusItem(f,e))},handleCancelItemLabelEditing:f=>{Eo(n,$n)&&n.isItemBeingEditedRef(e)&&(c(),n.focusItem(f,e))}},status:i,publicAPI:o}},bp=w.createContext(()=>-1),Yx=(e,t)=>{let n=t.length-1;for(;n>=0&&!e.isItemNavigable(t[n]);)n-=1;if(n!==-1)return t[n]},Kx=(e,t)=>{const n=e.getItemMeta(t),r=e.getItemOrderedChildrenIds(n.parentId),o=e.getItemIndex(t);if(o===0)return n.parentId;let i=o-1;for(;!e.isItemNavigable(r[i])&&i>=0;)i-=1;if(i===-1)return n.parentId==null?null:Kx(e,n.parentId);let a=r[i],s=Yx(e,e.getItemOrderedChildrenIds(a));for(;e.isItemExpanded(a)&&s!=null;)a=s,s=e.getItemOrderedChildrenIds(a).find(e.isItemNavigable);return a},zs=(e,t)=>{if(e.isItemExpanded(t)){const r=e.getItemOrderedChildrenIds(t).find(e.isItemNavigable);if(r!=null)return r}let n=e.getItemMeta(t);for(;n!=null;){const r=e.getItemOrderedChildrenIds(n.parentId),o=e.getItemIndex(n.id);if(o<r.length-1){let i=o+1;for(;!e.isItemNavigable(r[i])&&i<r.length-1;)i+=1;if(e.isItemNavigable(r[i]))return r[i]}n=e.getItemMeta(n.parentId)}return null},Gx=e=>{let t=null;for(;t==null||e.isItemExpanded(t);){const n=e.getItemOrderedChildrenIds(t),r=Yx(e,n);if(r==null)return t;t=r}return t},_a=e=>e.getItemOrderedChildrenIds(null).find(e.isItemNavigable),Qx=(e,t,n)=>{if(t===n)return[t,n];const r=e.getItemMeta(t),o=e.getItemMeta(n);if(r.parentId===o.id||o.parentId===r.id)return o.parentId===r.id?[r.id,o.id]:[o.id,r.id];const i=[r.id],a=[o.id];let s=r.parentId,l=o.parentId,c=a.indexOf(s)!==-1,d=i.indexOf(l)!==-1,p=!0,h=!0;for(;!d&&!c;)p&&(i.push(s),c=a.indexOf(s)!==-1,p=s!==null,!c&&p&&(s=e.getItemMeta(s).parentId)),h&&!c&&(a.push(l),d=i.indexOf(l)!==-1,h=l!==null,!d&&h&&(l=e.getItemMeta(l).parentId));const f=c?s:l,m=e.getItemOrderedChildrenIds(f),g=i[i.indexOf(f)-1],x=a[a.indexOf(f)-1];return m.indexOf(g)<m.indexOf(x)?[t,n]:[n,t]},lj=(e,t,n)=>{const r=l=>{if(e.isItemExpandable(l)&&e.isItemExpanded(l))return e.getItemOrderedChildrenIds(l)[0];let c=e.getItemMeta(l);for(;c!=null;){const d=e.getItemOrderedChildrenIds(c.parentId),p=e.getItemIndex(c.id);if(p<d.length-1)return d[p+1];c=e.getItemMeta(c.parentId)}throw new Error("Invalid range")},[o,i]=Qx(e,t,n),a=[o];let s=o;for(;s!==i;)s=r(s),e.isItemDisabled(s)||a.push(s);return a},uj=e=>{let t=_a(e);const n=[];for(;t!=null;)n.push(t),t=zs(e,t);return n},Ba=(e,t)=>t!==e.closest('*[role="treeitem"]');let Qm=0;const cj=()=>(Qm+=1,`mui-tree-view-${Qm}`),xp=({id:e,treeId:t="",itemId:n})=>e??`${t}-${n}`,dj=e=>{const{runItemPlugins:t,items:{onItemClick:n,disabledItemsFocusable:r,indentationAtItemLevel:o},selection:{disableSelection:i,checkboxSelection:a},expansion:{expansionTrigger:s},treeId:l,instance:c,publicAPI:d}=Lo(),p=w.useContext(bp),{id:h,itemId:f,label:m,children:g,rootRef:x}=e,{rootRef:y,contentRef:E,propsEnhancers:T}=t(e),{interactions:S,status:D}=sj({itemId:f,children:g}),C=w.useRef(null),L=w.useRef(null),R=it(x,y,C),B=it(E,L),M=w.useRef(null),N=xp({itemId:f,treeId:l,id:h}),v=c.canItemBeTabbed(f)?0:-1,F={rootRefObject:C,contentRefObject:L,interactions:S},A=Z=>Y=>{if(Z.onFocus?.(Y),Y.defaultMuiPrevented)return;const le=!D.disabled||r;!D.focused&&le&&Y.currentTarget===Y.target&&c.focusItem(Y,f)},P=Z=>Y=>{if(Z.onBlur?.(Y),Y.defaultMuiPrevented)return;const le=c.getItemDOMElement(f);D.editing||Y.relatedTarget&&Ba(Y.relatedTarget,le)&&(Y.target&&Y.target?.dataset?.element==="labelInput"&&Ba(Y.target,le)||Y.relatedTarget?.dataset?.element==="labelInput")||c.removeFocusedItem()},O=Z=>Y=>{Z.onKeyDown?.(Y),!(Y.defaultMuiPrevented||Y.target?.dataset?.element==="labelInput")&&c.handleItemKeyDown(Y,f)},W=Z=>Y=>{Z.onDoubleClick?.(Y),!Y.defaultMuiPrevented&&S.toggleItemEditing()},q=Z=>Y=>{Z.onClick?.(Y),n?.(Y,f),!(Y.defaultMuiPrevented||M.current?.contains(Y.target))&&(s==="content"&&S.handleExpansion(Y),a||S.handleSelection(Y))},z=Z=>Y=>{Z.onMouseDown?.(Y),!Y.defaultMuiPrevented&&(Y.shiftKey||Y.ctrlKey||Y.metaKey||D.disabled)&&Y.preventDefault()},I=Z=>Y=>{Z.onChange?.(Y),!Y.defaultMuiPrevented&&(i||D.disabled||S.handleCheckboxSelection(Y))},G=Z=>Y=>{Z.onClick?.(Y),!Y.defaultMuiPrevented&&s==="iconContainer"&&S.handleExpansion(Y)};return{getRootProps:(Z={})=>{const Y=$({},ln(e),ln(Z));let le;D.selected?le=!0:i||D.disabled?le=void 0:le=!1;const ee=$({},Y,{ref:R,role:"treeitem",tabIndex:v,id:N,"aria-expanded":D.expandable?D.expanded:void 0,"aria-selected":le,"aria-disabled":D.disabled||void 0},Z,{onFocus:A(Y),onBlur:P(Y),onKeyDown:O(Y)});o&&(ee.style={"--TreeView-itemDepth":typeof p=="function"?p(f):p});const te=T.root?.($({},F,{externalEventHandlers:Y}))??{};return $({},ee,te)},getContentProps:(Z={})=>{const Y=ln(Z),le=$({},Y,Z,{ref:B,onClick:q(Y),onMouseDown:z(Y),status:D});o&&(le.indentationAtItemLevel=!0);const ee=T.content?.($({},F,{externalEventHandlers:Y}))??{};return $({},le,ee)},getGroupTransitionProps:(Z={})=>{const Y=ln(Z),le=$({},Y,{unmountOnExit:!0,component:"ul",role:"group",in:D.expanded,children:g},Z);return o&&(le.indentationAtItemLevel=!0),le},getIconContainerProps:(Z={})=>{const Y=ln(Z);return $({},Y,Z,{onClick:G(Y)})},getCheckboxProps:(Z={})=>{const Y=ln(Z);return $({},Y,{visible:a,ref:M,checked:D.selected,disabled:i||D.disabled,tabIndex:-1},Z,{onChange:I(Y)})},getLabelProps:(Z={})=>{const Y=$({},ln(Z)),le=$({},Y,{children:m},Z,{onDoubleClick:W(Y)});return c.isTreeViewEditable&&(le.editable=D.editable),le},getLabelInputProps:(Z={})=>{const Y=ln(Z),le=T.labelInput?.({rootRefObject:C,contentRefObject:L,externalEventHandlers:Y,interactions:S})??{};return $({},Z,le)},getDragAndDropOverlayProps:(Z={})=>{const Y=ln(Z),le=T.dragAndDropOverlay?.($({},F,{externalEventHandlers:Y}))??{};return $({},Z,le)},rootRef:R,status:D,publicAPI:d}},pj=dj;function Xx(e){const{instance:t,items:{onItemClick:n},selection:{multiSelect:r,checkboxSelection:o,disableSelection:i},expansion:{expansionTrigger:a}}=Lo(),s=t.isItemExpandable(e),l=t.isItemExpanded(e),c=t.isItemFocused(e),d=t.isItemSelected(e),p=t.isItemDisabled(e),h=t?.isItemBeingEdited?t?.isItemBeingEdited(e):!1,f=t.isItemEditable?t.isItemEditable(e):!1,m=D=>{if(!p){c||t.focusItem(D,e);const C=r&&(D.shiftKey||D.ctrlKey||D.metaKey);s&&!(C&&t.isItemExpanded(e))&&t.toggleItemExpansion(D,e)}},g=D=>{p||(!c&&!h&&t.focusItem(D,e),r&&(D.shiftKey||D.ctrlKey||D.metaKey)?D.shiftKey?t.expandSelectionRange(D,e):t.selectItem({event:D,itemId:e,keepExistingSelection:!0}):t.selectItem({event:D,itemId:e,shouldBeSelected:!0}))},x=D=>{if(i||p)return;const C=D.nativeEvent.shiftKey;r&&C?t.expandSelectionRange(D,e):t.selectItem({event:D,itemId:e,keepExistingSelection:r,shouldBeSelected:D.target.checked})},y=D=>{(D.shiftKey||D.ctrlKey||D.metaKey||p)&&D.preventDefault()},E=()=>{Eo(t,$n)&&t.isItemEditable(e)&&(t.isItemBeingEdited(e)?t.setEditedItemId(null):t.setEditedItemId(e))};return{disabled:p,expanded:l,selected:d,focused:c,editable:f,editing:h,disableSelection:i,checkboxSelection:o,handleExpansion:m,handleSelection:g,handleCheckboxSelection:x,handleContentClick:n,preventSelection:y,expansionTrigger:a,toggleItemEditing:E,handleSaveItemLabel:(D,C)=>{Eo(t,$n)&&t.isItemBeingEditedRef(e)&&(t.updateItemLabel(e,C),E(),t.focusItem(D,e))},handleCancelItemLabelEditing:D=>{Eo(t,$n)&&t.isItemBeingEditedRef(e)&&(E(),t.focusItem(D,e))}}}const fj=oe("div",{name:"MuiTreeItem2DragAndDropOverlay",slot:"Root",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>pt.shouldForwardProp(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})`:pt.alpha(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 hj(e){return e.action==null?null:u.jsx(fj,$({},e))}const mj=oe("input",{name:"MuiTreeItem2",slot:"LabelInput",overridesResolver:(e,t)=>t.labelInput})(({theme:e})=>$({},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}`}})),gj=["classes","className","displayIcon","expansionIcon","icon","label","itemId","onClick","onMouseDown","dragAndDropOverlayProps","labelInputProps"],Zx=w.forwardRef(function(t,n){const{classes:r,className:o,displayIcon:i,expansionIcon:a,icon:s,label:l,itemId:c,onClick:d,onMouseDown:p,dragAndDropOverlayProps:h,labelInputProps:f}=t,m=$e(t,gj),{disabled:g,expanded:x,selected:y,focused:E,editing:T,editable:S,disableSelection:D,checkboxSelection:C,handleExpansion:L,handleSelection:R,handleCheckboxSelection:B,handleContentClick:M,preventSelection:N,expansionTrigger:v,toggleItemEditing:F}=Xx(c),A=s||a||i,P=w.useRef(null),O=z=>{N(z),p&&p(z)},W=z=>{M?.(z,c),!P.current?.contains(z.target)&&(v==="content"&&L(z),C||R(z),d&&d(z))},q=z=>{z.defaultMuiPrevented||F()};return u.jsxs("div",$({},m,{className:Ae(r.root,o,x&&r.expanded,y&&r.selected,E&&r.focused,g&&r.disabled,T&&r.editing,S&&r.editable),onClick:W,onMouseDown:O,ref:n,children:[u.jsx("div",{className:r.iconContainer,children:A}),C&&u.jsx(cp,{className:r.checkbox,checked:y,onChange:B,disabled:g||D,ref:P,tabIndex:-1}),T?u.jsx(mj,$({},f,{className:r.labelInput})):u.jsx("div",$({className:r.label},S&&{onDoubleClick:q},{children:l})),h&&u.jsx(hj,$({},h))]}))});function bj(e){return Ne("MuiTreeItem",e)}const Ir=Me("MuiTreeItem",["root","groupTransition","content","expanded","selected","focused","disabled","iconContainer","label","checkbox","labelInput","editable","editing","dragAndDropOverlay"]),Jx=tt(u.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"})),ey=tt(u.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}));function yp(e){const{children:t,itemId:n}=e,{wrapItem:r,instance:o}=Lo();return r({children:t,itemId:n,instance:o})}yp.propTypes={children:de.node,itemId:de.string.isRequired};const xj=["children","className","slots","slotProps","ContentComponent","ContentProps","itemId","id","label","onClick","onMouseDown","onFocus","onBlur","onKeyDown"],yj=["ownerState"],Ej=["ownerState"],Cj=["ownerState"],Tj=Vx(),vj=e=>{const{classes:t}=e;return Oe({root:["root"],content:["content"],expanded:["expanded"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],labelInput:["labelInput"],editing:["editing"],editable:["editable"],groupTransition:["groupTransition"]},bj,t)},Sj=oe("li",{name:"MuiTreeItem",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),kj=oe(Zx,{name:"MuiTreeItem",slot:"Content",overridesResolver:(e,t)=>[t.content,t.iconContainer&&{[`& .${Ir.iconContainer}`]:t.iconContainer},t.label&&{[`& .${Ir.label}`]:t.label}],shouldForwardProp:e=>Xr(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"}},[`&.${Ir.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"},[`&.${Ir.focused}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Ir.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:pt.alpha(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}))`:pt.alpha(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})`:pt.alpha(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${Ir.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:pt.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`& .${Ir.iconContainer}`]:{width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}},[`& .${Ir.label}`]:$({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative"},e.typography.body1),[`& .${Ir.checkbox}`]:{padding:0},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}}]})),Dj=oe(Na,{name:"MuiTreeItem",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>Xr(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]}),wj=w.forwardRef(function(t,n){const{icons:r,runItemPlugins:o,items:{disabledItemsFocusable:i,indentationAtItemLevel:a},selection:{disableSelection:s},expansion:{expansionTrigger:l},treeId:c,instance:d}=Lo(),p=w.useContext(bp),h=Tj({props:t,name:"MuiTreeItem"}),{children:f,className:m,slots:g,slotProps:x,ContentComponent:y=Zx,ContentProps:E,itemId:T,id:S,label:D,onClick:C,onMouseDown:L,onBlur:R,onKeyDown:B}=h,M=$e(h,xj),{expanded:N,focused:v,selected:F,disabled:A,editing:P,handleExpansion:O,handleCancelItemLabelEditing:W,handleSaveItemLabel:q}=Xx(T),{contentRef:z,rootRef:I,propsEnhancers:G}=o(h),re=w.useRef(null),_=w.useRef(null),ie=it(n,I,re),X=it(E?.ref,z,_),U={expandIcon:g?.expandIcon??r.slots.expandIcon??Jx,collapseIcon:g?.collapseIcon??r.slots.collapseIcon??ey,endIcon:g?.endIcon??r.slots.endIcon,icon:g?.icon,groupTransition:g?.groupTransition},J=Te=>Array.isArray(Te)?Te.length>0&&Te.some(J):!!Te,Q=J(f),ne=$({},h,{expanded:N,focused:v,selected:F,disabled:A,indentationAtItemLevel:a}),Z=vj(ne),Y=U.groupTransition??void 0,le=ot({elementType:Y,ownerState:{},externalSlotProps:x?.groupTransition,additionalProps:$({unmountOnExit:!0,in:N,component:"ul",role:"group"},a?{indentationAtItemLevel:!0}:{}),className:Z.groupTransition}),ee=Te=>{l==="iconContainer"&&O(Te)},te=N?U.collapseIcon:U.expandIcon,ye=ot({elementType:te,ownerState:{},externalSlotProps:Te=>N?$({},Bn(r.slotProps.collapseIcon,Te),Bn(x?.collapseIcon,Te)):$({},Bn(r.slotProps.expandIcon,Te),Bn(x?.expandIcon,Te)),additionalProps:{onClick:ee}}),pe=$e(ye,yj),be=Q&&te?u.jsx(te,$({},pe)):null,se=Q?void 0:U.endIcon,Re=ot({elementType:se,ownerState:{},externalSlotProps:Te=>Q?{}:$({},Bn(r.slotProps.endIcon,Te),Bn(x?.endIcon,Te))}),Se=$e(Re,Ej),Ve=se?u.jsx(se,$({},Se)):null,De=U.icon,Tt=ot({elementType:De,ownerState:{},externalSlotProps:x?.icon}),ut=$e(Tt,Cj),Ye=De?u.jsx(De,$({},ut)):null;let ce;F?ce=!0:s||A?ce=void 0:ce=!1;function Ce(Te){!v&&(!A||i)&&Te.currentTarget===Te.target&&d.focusItem(Te,T)}function Le(Te){R?.(Te),!(P||Te.relatedTarget&&Ba(Te.relatedTarget,re.current)&&(Te.target&&Te.target?.dataset?.element==="labelInput"&&Ba(Te.target,re.current)||Te.relatedTarget?.dataset?.element==="labelInput"))&&d.removeFocusedItem()}const He=Te=>{B?.(Te),Te.target?.dataset?.element!=="labelInput"&&d.handleItemKeyDown(Te,T)},je=xp({itemId:T,treeId:c,id:S}),Fe=d.canItemBeTabbed(T)?0:-1,et={rootRefObject:re,contentRefObject:_,interactions:{handleSaveItemLabel:q,handleCancelItemLabelEditing:W}},xt=G.root?.($({},et,{externalEventHandlers:ln(M)}))??{},ht=G.content?.($({},et,{externalEventHandlers:ln(E)}))??{},ue=G.dragAndDropOverlay?.($({},et,{externalEventHandlers:{}}))??{},xe=G.labelInput?.($({},et,{externalEventHandlers:{}}))??{};return u.jsx(yp,{itemId:T,children:u.jsxs(Sj,$({className:Ae(Z.root,m),role:"treeitem","aria-expanded":Q?N:void 0,"aria-selected":ce,"aria-disabled":A||void 0,id:je,tabIndex:Fe},M,{ownerState:ne,onFocus:Ce,onBlur:Le,onKeyDown:He,ref:ie,style:a?$({},M.style,{"--TreeView-itemDepth":typeof p=="function"?p(T):p}):M.style},xt,{children:[u.jsx(kj,$({as:y,classes:{root:Z.content,expanded:Z.expanded,selected:Z.selected,focused:Z.focused,disabled:Z.disabled,editable:Z.editable,editing:Z.editing,iconContainer:Z.iconContainer,label:Z.label,labelInput:Z.labelInput,checkbox:Z.checkbox},label:D,itemId:T,onClick:C,onMouseDown:L,icon:Ye,expansionIcon:be,displayIcon:Ve,ownerState:ne},E,ht,ue.action==null?{}:{dragAndDropOverlayProps:ue},xe.value==null?{}:{labelInputProps:xe},{ref:X})),f&&u.jsx(Dj,$({as:Y},le,{children:f}))]}))})});function Ij(e){const{slots:t,slotProps:n,status:r}=e,o=Lo(),i=$({},o.icons.slots,{expandIcon:o.icons.slots.expandIcon??Jx,collapseIcon:o.icons.slots.collapseIcon??ey}),a=o.icons.slotProps;let s;t?.icon?s="icon":r.expandable?r.expanded?s="collapseIcon":s="expandIcon":s="endIcon";const l=t?.[s]??i[s],c=ot({elementType:l,externalSlotProps:d=>$({},Bn(a[s],d),Bn(n?.[s],d)),ownerState:{}});return l?u.jsx(l,$({},c)):null}const Aj=["visible"],Pj=oe("li",{name:"MuiTreeItem2",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),Rj=oe("div",{name:"MuiTreeItem2",slot:"Content",overridesResolver:(e,t)=>t.content,shouldForwardProp:e=>Xr(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})`:pt.alpha(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}))`:pt.alpha(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})`:pt.alpha(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}))`:pt.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}]})),Mj=oe("div",{name:"MuiTreeItem2",slot:"Label",overridesResolver:(e,t)=>t.label,shouldForwardProp:e=>Xr(e)&&e!=="editable"})(({theme:e})=>$({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative",overflow:"hidden"},e.typography.body1,{variants:[{props:({editable:t})=>t,style:{paddingLeft:"2px"}}]})),Oj=oe("div",{name:"MuiTreeItem2",slot:"IconContainer",overridesResolver:(e,t)=>t.iconContainer})({width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}});oe(Na,{name:"MuiTreeItem2",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>Xr(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]});oe(w.forwardRef((e,t)=>{const{visible:n}=e,r=$e(e,Aj);return n?u.jsx(cp,$({},r,{ref:t})):null}),{name:"MuiTreeItem2",slot:"Checkbox",overridesResolver:(e,t)=>t.checkbox})({padding:0});function Lj(e){return Ne("MuiRichTreeView",e)}Me("MuiRichTreeView",["root"]);const Fj=(e,t)=>{const n=w.useRef({}),[r,o]=w.useState(()=>{const a={};return e.forEach(s=>{s.models&&Object.entries(s.models).forEach(([l,c])=>{n.current[l]={isControlled:t[l]!==void 0,getDefaultValue:c.getDefaultValue},a[l]=c.getDefaultValue(t)})}),a});return Object.fromEntries(Object.entries(n.current).map(([a,s])=>{const l=t[a]??r[a];return[a,{value:l,setControlledValue:c=>{s.isControlled||o(d=>$({},d,{[a]:c}))}}]}))};class Nj{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(t,n,r={}){let o=this.events[t];o||(o={highPriority:new Map,regular:new Map},this.events[t]=o),r.isFirst?o.highPriority.set(n,!0):o.regular.set(n,!0)}removeListener(t,n){this.events[t]&&(this.events[t].regular.delete(n),this.events[t].highPriority.delete(n))}removeAllListeners(){this.events={}}emit(t,...n){const r=this.events[t];if(!r)return;const o=Array.from(r.highPriority.keys()),i=Array.from(r.regular.keys());for(let a=o.length-1;a>=0;a-=1){const s=o[a];r.highPriority.has(s)&&s.apply(this,n)}for(let a=0;a<i.length;a+=1){const s=i[a];r.regular.has(s)&&s.apply(this,n)}}once(t,n){const r=this;this.on(t,function o(...i){r.removeListener(t,o),n.apply(r,i)})}}const _j=e=>e.isPropagationStopped!==void 0,ty=()=>{const[e]=w.useState(()=>new Nj),t=w.useCallback((...r)=>{const[o,i,a={}]=r;a.defaultMuiPrevented=!1,!(_j(a)&&a.isPropagationStopped())&&e.emit(o,i,a)},[e]),n=w.useCallback((r,o)=>(e.on(r,o),()=>{e.removeListener(r,o)}),[e]);return{instance:{$$publishEvent:t,$$subscribeEvent:n}}};ty.params={};const ny=({plugins:e})=>{const t=new Set(e);return{instance:{getAvailablePlugins:()=>t}}};ny.params={};const Ep=({params:e,state:t,setState:n})=>{w.useEffect(()=>{n(o=>o.id.treeId===e.id&&o.id.treeId!==void 0?o:$({},o,{id:$({},o.id,{treeId:e.id??cj()})}))},[n,e.id]);const r=e.id??t.id.treeId;return{getRootProps:()=>({id:r}),contextValue:{treeId:r}}};Ep.params={id:!0};Ep.getInitialState=({id:e})=>({id:{treeId:e??void 0}});const Bj=[ty,ny,Ep],jj=["slots","slotProps","apiRef","experimentalFeatures"],$j=e=>{let{props:{slots:t,slotProps:n,apiRef:r,experimentalFeatures:o},plugins:i}=e,a=$e(e.props,jj);const s={};i.forEach(h=>{Object.assign(s,h.params)});const l={},c={};Object.keys(a).forEach(h=>{const f=a[h];s[h]?l[h]=f:c[h]=f});const d=o??{},p=i.reduce((h,f)=>f.getDefaultizedParams?f.getDefaultizedParams({params:h,experimentalFeatures:d}):h,l);return{apiRef:r,forwardedProps:c,pluginParams:p,slots:t??{},slotProps:n??{},experimentalFeatures:d}},Hj=({plugins:e,instance:t,publicAPI:n,rootRef:r})=>({runItemPlugins:s=>{let l=null,c=null;const d=[],p={};e.forEach(m=>{if(!m.itemPlugin)return;const g=m.itemPlugin({props:s,rootRef:l,contentRef:c});g?.rootRef&&(l=g.rootRef),g?.contentRef&&(c=g.contentRef),g?.propsEnhancers&&(d.push(g.propsEnhancers),Object.keys(g.propsEnhancers).forEach(x=>{p[x]=!0}))});const h=m=>g=>{const x={};return d.forEach(y=>{const E=y[m];E!=null&&Object.assign(x,E(g))}),x},f=Object.fromEntries(Object.keys(p).map(m=>[m,h(m)]));return{contentRef:c,rootRef:l,propsEnhancers:f}},wrapItem:({itemId:s,children:l})=>{let c=l;for(let d=e.length-1;d>=0;d-=1){const p=e[d];p.wrapItem&&(c=p.wrapItem({itemId:s,children:c,instance:t}))}return c},wrapRoot:({children:s})=>{let l=s;for(let c=e.length-1;c>=0;c-=1){const d=e[c];d.wrapRoot&&(l=d.wrapRoot({children:l,instance:t}))}return l},instance:t,rootRef:r,publicAPI:n});function zj(e){const t=w.useRef({});return e?(e.current==null&&(e.current={}),e.current):t.current}const Uj=({plugins:e,rootRef:t,props:n})=>{const r=[...Bj,...e],{pluginParams:o,forwardedProps:i,apiRef:a,experimentalFeatures:s,slots:l,slotProps:c}=$j({plugins:r,props:n}),d=Fj(r,o),h=w.useRef({}).current,f=zj(a),m=w.useRef(null),g=it(m,t),x=Hj({plugins:r,instance:h,publicAPI:f,rootRef:m}),[y,E]=w.useState(()=>{const C={};return r.forEach(L=>{L.getInitialState&&Object.assign(C,L.getInitialState(o))}),C}),T=[],S=C=>{const L=C({instance:h,params:o,slots:l,slotProps:c,experimentalFeatures:s,state:y,setState:E,rootRef:m,models:d,plugins:r});L.getRootProps&&T.push(L.getRootProps),L.publicAPI&&Object.assign(f,L.publicAPI),L.instance&&Object.assign(h,L.instance),L.contextValue&&Object.assign(x,L.contextValue)};return r.forEach(S),{getRootProps:(C={})=>{const L=$({role:"tree"},i,C,{ref:g});return T.forEach(R=>{Object.assign(L,R(C))}),L},rootRef:g,contextValue:x,instance:h}},Vj=(e,t,n)=>{e.$$publishEvent(t,n)},Zo="__TREE_VIEW_ROOT_PARENT_ID__",Wj=e=>{const t={};return e.forEach((n,r)=>{t[n]=r}),t},qj=["children"],ry=({items:e,isItemDisabled:t,getItemLabel:n,getItemId:r})=>{const o={},i={},a={[Zo]:[]},s=(c,d,p)=>{const h=r?r(c):c.id;if(h==null)throw new Error(["MUI X: The Tree View component requires all items to have a unique `id` property.","Alternatively, you can use the `getItemId` prop to specify a custom id for each item.","An item was provided without id in the `items` prop:",JSON.stringify(c)].join(`
|
|
222
222
|
`));if(o[h]!=null)throw new Error(["MUI X: The Tree View component requires all items to have a unique `id` property.","Alternatively, you can use the `getItemId` prop to specify a custom id for each item.",`Two items were provided with the same id in the \`items\` prop: "${h}"`].join(`
|
|
223
223
|
`));const f=n?n(c):c.label;if(f==null)throw new Error(["MUI X: The Tree View component requires all items to have a `label` property.","Alternatively, you can use the `getItemLabel` prop to specify a custom label for each item.","An item was provided without label in the `items` prop:",JSON.stringify(c)].join(`
|
|
224
|
-
`));o[h]={id:h,label:f,parentId:p,idAttribute:void 0,expandable:!!c.children?.length,disabled:t?t(c):!1,depth:d},i[h]=c;const m=p??Zo;a[m]||(a[m]=[]),a[m].push(h),c.children?.forEach(g=>s(g,d+1,h))};e.forEach(c=>s(c,0,null));const l={};return Object.keys(a).forEach(c=>{l[c]=Wj(a[c])}),{itemMetaMap:o,itemMap:i,itemOrderedChildrenIds:a,itemChildrenIndexes:l}},ns=({instance:e,params:t,state:n,setState:r,experimentalFeatures:o})=>{const i=w.useCallback(y=>n.items.itemMetaMap[y],[n.items.itemMetaMap]),a=w.useCallback(y=>n.items.itemMap[y],[n.items.itemMap]),s=w.useCallback(()=>{const y=E=>{const T=n.items.itemMap[E],S=$e(T,qj),D=n.items.itemOrderedChildrenIds[E];return D&&(S.children=D.map(y)),S};return n.items.itemOrderedChildrenIds[Zo].map(y)},[n.items.itemMap,n.items.itemOrderedChildrenIds]),l=w.useCallback(y=>{if(y==null)return!1;let E=e.getItemMeta(y);if(!E)return!1;if(E.disabled)return!0;for(;E.parentId!=null;)if(E=e.getItemMeta(E.parentId),E.disabled)return!0;return!1},[e]),c=w.useCallback(y=>{const E=e.getItemMeta(y).parentId??Zo;return n.items.itemChildrenIndexes[E][y]},[e,n.items.itemChildrenIndexes]),d=w.useCallback(y=>n.items.itemOrderedChildrenIds[y??Zo]??[],[n.items.itemOrderedChildrenIds]),p=y=>{const E=e.getItemMeta(y);return E==null?null:document.getElementById(xp({treeId:n.id.treeId,itemId:y,id:E.idAttribute}))},h=y=>t.disabledItemsFocusable?!0:!e.isItemDisabled(y),f=w.useRef(!1),m=w.useCallback(()=>{f.current=!0},[]),g=w.useCallback(()=>f.current,[]);return w.useEffect(()=>{e.areItemUpdatesPrevented()||r(y=>{const E=ry({items:t.items,isItemDisabled:t.isItemDisabled,getItemId:t.getItemId,getItemLabel:t.getItemLabel});return Object.values(y.items.itemMetaMap).forEach(T=>{E.itemMetaMap[T.id]||Vj(e,"removeItem",{id:T.id})}),$({},y,{items:E})})},[e,r,t.items,t.isItemDisabled,t.getItemId,t.getItemLabel]),{getRootProps:()=>({style:{"--TreeView-itemChildrenIndentation":typeof t.itemChildrenIndentation=="number"?`${t.itemChildrenIndentation}px`:t.itemChildrenIndentation}}),publicAPI:{getItem:a,getItemDOMElement:p,getItemTree:s,getItemOrderedChildrenIds:d},instance:{getItemMeta:i,getItem:a,getItemTree:s,getItemsToRender:()=>{const y=E=>{const T=n.items.itemMetaMap[E];return{label:T.label,itemId:T.id,id:T.idAttribute,children:n.items.itemOrderedChildrenIds[E]?.map(y)}};return n.items.itemOrderedChildrenIds[Zo].map(y)},getItemIndex:c,getItemDOMElement:p,getItemOrderedChildrenIds:d,isItemDisabled:l,isItemNavigable:h,preventItemUpdates:m,areItemUpdatesPrevented:g},contextValue:{items:{onItemClick:t.onItemClick,disabledItemsFocusable:t.disabledItemsFocusable,indentationAtItemLevel:o.indentationAtItemLevel??!1}}}};ns.getInitialState=e=>({items:ry({items:e.items,isItemDisabled:e.isItemDisabled,getItemId:e.getItemId,getItemLabel:e.getItemLabel})});ns.getDefaultizedParams=({params:e})=>$({},e,{disabledItemsFocusable:e.disabledItemsFocusable??!1,itemChildrenIndentation:e.itemChildrenIndentation??"12px"});ns.wrapRoot=({children:e,instance:t})=>u.jsx(bp.Provider,{value:n=>t.getItemMeta(n)?.depth??0,children:e});ns.params={disabledItemsFocusable:!0,items:!0,isItemDisabled:!0,getItemLabel:!0,getItemId:!0,onItemClick:!0,itemChildrenIndentation:!0};const tu=({instance:e,params:t,models:n})=>{const r=w.useMemo(()=>{const p=new Map;return n.expandedItems.value.forEach(h=>{p.set(h,!0)}),p},[n.expandedItems.value]),o=(p,h)=>{t.onExpandedItemsChange?.(p,h),n.expandedItems.setControlledValue(h)},i=w.useCallback(p=>r.has(p),[r]),a=w.useCallback(p=>!!e.getItemMeta(p)?.expandable,[e]),s=Pe((p,h)=>{const f=e.isItemExpanded(h);e.setItemExpansion(p,h,!f)}),l=Pe((p,h,f)=>{if(e.isItemExpanded(h)===f)return;let g;f?g=[h].concat(n.expandedItems.value):g=n.expandedItems.value.filter(x=>x!==h),t.onItemExpansionToggle&&t.onItemExpansionToggle(p,h,f),o(p,g)}),c=(p,h)=>{const f=e.getItemMeta(h),g=e.getItemOrderedChildrenIds(f.parentId).filter(y=>e.isItemExpandable(y)&&!e.isItemExpanded(y)),x=n.expandedItems.value.concat(g);g.length>0&&(t.onItemExpansionToggle&&g.forEach(y=>{t.onItemExpansionToggle(p,y,!0)}),o(p,x))},d=w.useMemo(()=>t.expansionTrigger?t.expansionTrigger:e.isTreeViewEditable?"iconContainer":"content",[t.expansionTrigger,e.isTreeViewEditable]);return{publicAPI:{setItemExpansion:l},instance:{isItemExpanded:i,isItemExpandable:a,setItemExpansion:l,toggleItemExpansion:s,expandAllSiblings:c},contextValue:{expansion:{expansionTrigger:d}}}};tu.models={expandedItems:{getDefaultValue:e=>e.defaultExpandedItems}};const Yj=[];tu.getDefaultizedParams=({params:e})=>$({},e,{defaultExpandedItems:e.defaultExpandedItems??Yj});tu.params={expandedItems:!0,defaultExpandedItems:!0,onExpandedItemsChange:!0,onItemExpansionToggle:!0,expansionTrigger:!0};const Us=e=>Array.isArray(e)?e:e!=null?[e]:[],ec=e=>{const t={};return e.forEach(n=>{t[n]=!0}),t},nu=({instance:e,params:t,models:n})=>{const r=w.useRef(null),o=w.useRef({}),i=w.useMemo(()=>{const g=new Map;return Array.isArray(n.selectedItems.value)?n.selectedItems.value.forEach(x=>{g.set(x,!0)}):n.selectedItems.value!=null&&g.set(n.selectedItems.value,!0),g},[n.selectedItems.value]),a=(g,x)=>{if(t.onItemSelectionToggle)if(t.multiSelect){const y=x.filter(T=>!e.isItemSelected(T)),E=n.selectedItems.value.filter(T=>!x.includes(T));y.forEach(T=>{t.onItemSelectionToggle(g,T,!0)}),E.forEach(T=>{t.onItemSelectionToggle(g,T,!1)})}else x!==n.selectedItems.value&&(n.selectedItems.value!=null&&t.onItemSelectionToggle(g,n.selectedItems.value,!1),x!=null&&t.onItemSelectionToggle(g,x,!0));t.onSelectedItemsChange&&t.onSelectedItemsChange(g,x),n.selectedItems.setControlledValue(x)},s=g=>i.has(g),l=({event:g,itemId:x,keepExistingSelection:y=!1,shouldBeSelected:E})=>{if(t.disableSelection)return;let T;if(y){const S=Us(n.selectedItems.value),D=e.isItemSelected(x);D&&(E===!1||E==null)?T=S.filter(C=>C!==x):!D&&(E===!0||E==null)?T=[x].concat(S):T=S}else E===!1||E==null&&e.isItemSelected(x)?T=t.multiSelect?[]:null:T=t.multiSelect?[x]:x;a(g,T),r.current=x,o.current={}},c=(g,[x,y])=>{if(t.disableSelection||!t.multiSelect)return;let E=Us(n.selectedItems.value).slice();Object.keys(o.current).length>0&&(E=E.filter(C=>!o.current[C]));const T=ec(E),S=lj(e,x,y),D=S.filter(C=>!T[C]);E=E.concat(D),a(g,E),o.current=ec(S)};return{getRootProps:()=>({"aria-multiselectable":t.multiSelect}),publicAPI:{selectItem:l},instance:{isItemSelected:s,selectItem:l,selectAllNavigableItems:g=>{if(t.disableSelection||!t.multiSelect)return;const x=uj(e);a(g,x),o.current=ec(x)},expandSelectionRange:(g,x)=>{if(r.current!=null){const[y,E]=Qx(e,x,r.current);c(g,[y,E])}},selectRangeFromStartToItem:(g,x)=>{c(g,[_a(e),x])},selectRangeFromItemToEnd:(g,x)=>{c(g,[x,Gx(e)])},selectItemFromArrowNavigation:(g,x,y)=>{if(t.disableSelection||!t.multiSelect)return;let E=Us(n.selectedItems.value).slice();Object.keys(o.current).length===0?(E.push(y),o.current={[x]:!0,[y]:!0}):(o.current[x]||(o.current={}),o.current[y]?(E=E.filter(T=>T!==x),delete o.current[x]):(E.push(y),o.current[y]=!0)),a(g,E)}},contextValue:{selection:{multiSelect:t.multiSelect,checkboxSelection:t.checkboxSelection,disableSelection:t.disableSelection}}}};nu.models={selectedItems:{getDefaultValue:e=>e.defaultSelectedItems}};const Kj=[];nu.getDefaultizedParams=({params:e})=>$({},e,{disableSelection:e.disableSelection??!1,multiSelect:e.multiSelect??!1,checkboxSelection:e.checkboxSelection??!1,defaultSelectedItems:e.defaultSelectedItems??(e.multiSelect?Kj:null)});nu.params={disableSelection:!0,multiSelect:!0,checkboxSelection:!0,defaultSelectedItems:!0,selectedItems:!0,onSelectedItemsChange:!0,onItemSelectionToggle:!0};const Xm=1e3;class Gj{constructor(t=Xm){this.timeouts=new Map,this.cleanupTimeout=Xm,this.cleanupTimeout=t}register(t,n,r){this.timeouts||(this.timeouts=new Map);const o=setTimeout(()=>{typeof n=="function"&&n(),this.timeouts.delete(r.cleanupToken)},this.cleanupTimeout);this.timeouts.set(r.cleanupToken,o)}unregister(t){const n=this.timeouts.get(t.cleanupToken);n&&(this.timeouts.delete(t.cleanupToken),clearTimeout(n))}reset(){this.timeouts&&(this.timeouts.forEach((t,n)=>{this.unregister({cleanupToken:n})}),this.timeouts=void 0)}}class Qj{constructor(){this.registry=new FinalizationRegistry(t=>{typeof t=="function"&&t()})}register(t,n,r){this.registry.register(t,n,r)}unregister(t){this.registry.unregister(t)}reset(){}}class Xj{}function Zj(e){let t=0;return function(r,o,i){e.registry===null&&(e.registry=typeof FinalizationRegistry<"u"?new Qj:new Gj);const[a]=w.useState(new Xj),s=w.useRef(null),l=w.useRef(void 0);l.current=i;const c=w.useRef(null);if(!s.current&&l.current){const d=(p,h)=>{h.defaultMuiPrevented||l.current?.(p,h)};s.current=r.$$subscribeEvent(o,d),t+=1,c.current={cleanupToken:t},e.registry.register(a,()=>{s.current?.(),s.current=null,c.current=null},c.current)}else!l.current&&s.current&&(s.current(),s.current=null,c.current&&(e.registry.unregister(c.current),c.current=null));w.useEffect(()=>{if(!s.current&&l.current){const d=(p,h)=>{h.defaultMuiPrevented||l.current?.(p,h)};s.current=r.$$subscribeEvent(o,d)}return c.current&&e.registry&&(e.registry.unregister(c.current),c.current=null),()=>{s.current?.(),s.current=null}},[r,o])}}const Jj={registry:null},e$=Zj(Jj),oy=(e=document)=>{const t=e.activeElement;return t?t.shadowRoot?oy(t.shadowRoot):t:null},t$=(e,t)=>{let n=Us(t).find(r=>{if(!e.isItemNavigable(r))return!1;const o=e.getItemMeta(r);return o&&(o.parentId==null||e.isItemExpanded(o.parentId))});return n==null&&(n=_a(e)),n},Cp=({instance:e,params:t,state:n,setState:r,models:o,rootRef:i})=>{const a=t$(e,o.selectedItems.value),s=Pe(x=>{const y=typeof x=="function"?x(n.focusedItemId):x;n.focusedItemId!==y&&r(E=>$({},E,{focusedItemId:y}))}),l=w.useCallback(()=>!!i.current&&i.current.contains(oy(Ut(i.current))),[i]),c=w.useCallback(x=>n.focusedItemId===x&&l(),[n.focusedItemId,l]),d=x=>{const y=e.getItemMeta(x);return y&&(y.parentId==null||e.isItemExpanded(y.parentId))},p=(x,y)=>{const E=e.getItemDOMElement(y);E&&E.focus(),s(y),t.onItemFocus&&t.onItemFocus(x,y)},h=Pe((x,y)=>{d(y)&&p(x,y)}),f=Pe(()=>{if(n.focusedItemId==null)return;if(e.getItemMeta(n.focusedItemId)){const y=e.getItemDOMElement(n.focusedItemId);y&&y.blur()}s(null)}),m=x=>x===a;e$(e,"removeItem",({id:x})=>{n.focusedItemId===x&&p(null,a)});const g=x=>y=>{x.onFocus?.(y),!y.defaultMuiPrevented&&y.target===y.currentTarget&&p(y,a)};return{getRootProps:x=>({onFocus:g(x)}),publicAPI:{focusItem:h},instance:{isItemFocused:c,canItemBeTabbed:m,focusItem:h,removeFocusedItem:f}}};Cp.getInitialState=()=>({focusedItemId:null});Cp.params={onItemFocus:!0};function n$(e){return!!e&&e.length===1&&!!e.match(/\S/)}const iy=({instance:e,params:t,state:n})=>{const r=Wn(),o=w.useRef({}),i=Pe(d=>{o.current=d(o.current)});w.useEffect(()=>{if(e.areItemUpdatesPrevented())return;const d={},p=h=>{d[h.id]=h.label.substring(0,1).toLowerCase()};Object.values(n.items.itemMetaMap).forEach(p),o.current=d},[n.items.itemMetaMap,t.getItemId,e]);const a=(d,p)=>{const h=p.toLowerCase(),f=y=>{const E=zs(e,y);return E===null?_a(e):E};let m=null,g=f(d);const x={};for(;m==null&&!x[g];)o.current[g]===h?m=g:(x[g]=!0,g=f(g));return m},s=d=>!t.disableSelection&&!e.isItemDisabled(d),l=d=>!e.isItemDisabled(d)&&e.isItemExpandable(d);return{instance:{updateFirstCharMap:i,handleItemKeyDown:(d,p)=>{if(d.defaultMuiPrevented||d.altKey||Ba(d.target,d.currentTarget))return;const h=d.ctrlKey||d.metaKey,f=d.key;switch(!0){case(f===" "&&s(p)):{d.preventDefault(),t.multiSelect&&d.shiftKey?e.expandSelectionRange(d,p):e.selectItem({event:d,itemId:p,keepExistingSelection:t.multiSelect,shouldBeSelected:t.multiSelect?void 0:!0});break}case f==="Enter":{Eo(e,$n)&&e.isItemEditable(p)&&!e.isItemBeingEdited(p)?e.setEditedItemId(p):l(p)?(e.toggleItemExpansion(d,p),d.preventDefault()):s(p)&&(t.multiSelect?(d.preventDefault(),e.selectItem({event:d,itemId:p,keepExistingSelection:!0})):e.isItemSelected(p)||(e.selectItem({event:d,itemId:p}),d.preventDefault()));break}case f==="ArrowDown":{const m=zs(e,p);m&&(d.preventDefault(),e.focusItem(d,m),t.multiSelect&&d.shiftKey&&s(m)&&e.selectItemFromArrowNavigation(d,p,m));break}case f==="ArrowUp":{const m=Kx(e,p);m&&(d.preventDefault(),e.focusItem(d,m),t.multiSelect&&d.shiftKey&&s(m)&&e.selectItemFromArrowNavigation(d,p,m));break}case(f==="ArrowRight"&&!r||f==="ArrowLeft"&&r):{if(h)return;if(e.isItemExpanded(p)){const m=zs(e,p);m&&(e.focusItem(d,m),d.preventDefault())}else l(p)&&(e.toggleItemExpansion(d,p),d.preventDefault());break}case(f==="ArrowLeft"&&!r||f==="ArrowRight"&&r):{if(h)return;if(l(p)&&e.isItemExpanded(p))e.toggleItemExpansion(d,p),d.preventDefault();else{const m=e.getItemMeta(p).parentId;m&&(e.focusItem(d,m),d.preventDefault())}break}case f==="Home":{s(p)&&t.multiSelect&&h&&d.shiftKey?e.selectRangeFromStartToItem(d,p):e.focusItem(d,_a(e)),d.preventDefault();break}case f==="End":{s(p)&&t.multiSelect&&h&&d.shiftKey?e.selectRangeFromItemToEnd(d,p):e.focusItem(d,Gx(e)),d.preventDefault();break}case f==="*":{e.expandAllSiblings(d,p),d.preventDefault();break}case(String.fromCharCode(d.keyCode)==="A"&&h&&t.multiSelect&&!t.disableSelection):{e.selectAllNavigableItems(d),d.preventDefault();break}case(!h&&!d.shiftKey&&n$(f)):{const m=a(p,f);m!=null&&(e.focusItem(d,m),d.preventDefault());break}}}}}};iy.params={};const ay=({slots:e,slotProps:t})=>({contextValue:{icons:{slots:{collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,endIcon:e.endIcon},slotProps:{collapseIcon:t.collapseIcon,expandIcon:t.expandIcon,endIcon:t.endIcon}}}});ay.params={};const r$=[ns,tu,nu,Cp,iy,ay,$n],o$=["ownerState"];function i$({slots:e,slotProps:t,label:n,id:r,itemId:o,itemsToRender:i}){const a=e?.item??wj,s=ot({elementType:a,externalSlotProps:t?.item,additionalProps:{itemId:o,id:r,label:n},ownerState:{itemId:o,label:n}}),l=$e(s,o$),c=w.useMemo(()=>i?u.jsx(sy,{itemsToRender:i,slots:e,slotProps:t}):null,[i,e,t]);return u.jsx(a,$({},l,{children:c}))}function sy(e){const{itemsToRender:t,slots:n,slotProps:r}=e;return u.jsx(w.Fragment,{children:t.map(o=>u.jsx(i$,{slots:n,slotProps:r,label:o.label,id:o.id,itemId:o.itemId,itemsToRender:o.children},o.itemId))})}const a$=Vx(),s$=e=>{const{classes:t}=e;return Oe({root:["root"]},Lj,t)},l$=oe("ul",{name:"MuiRichTreeView",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:0,margin:0,listStyle:"none",outline:0,position:"relative"}),u$=w.forwardRef(function(t,n){const r=a$({props:t,name:"MuiRichTreeView"}),{getRootProps:o,contextValue:i,instance:a}=Uj({plugins:r$,rootRef:n,props:r}),{slots:s,slotProps:l}=r,c=s$(r),d=s?.root??l$,p=ot({elementType:d,externalSlotProps:l?.root,className:c.root,getSlotProps:o,ownerState:r});return u.jsx(ij,{value:i,children:u.jsx(d,$({},p,{children:u.jsx(sy,{slots:s,slotProps:l,itemsToRender:a.getItemsToRender()})}))})}),c$=tt([u.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"),u.jsx("path",{d:"M14 17H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z"},"1")]),d$=tt(u.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"})),p$=tt(u.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"})),f$=tt(u.jsx("path",{d:"M15 4v2h3v12h-3v2h5V4zM4 20h5v-2H6V6h3V4H4z"}));function h$({items:e,defaultExpandedItems:t,onClickTreeNode:n}){return u.jsx(u$,{items:y$(e,n),defaultExpandedItems:t,slots:{item:x$}})}const m$=Zm.animated(Na);function g$(e){const t=Zm.useSpring({to:{opacity:e.in?1:0,transform:`translate3d(0,${e.in?0:20}px,0)`}});return u.jsx(m$,{style:t,...e})}function b$({item:e,...t}){const n=u.jsxs(Mj,{...t,sx:{display:"flex",alignItems:"center",color:e.error?"error.main":"grey.600"},children:[e.fileType==="directory"&&u.jsx(kx,{})||e.fileType==="notebook"&&u.jsx(c$,{})||e.fileType==="model"&&u.jsx(f$,{})||e.fileType=="database"&&u.jsx(p$,{})||u.jsx(d$,{}),u.jsx(k.Typography,{variant:"body2",sx:{marginLeft:"5px"},color:e.error?"error.main":e.link?"primary.main":"grey.600",children:e.label})]});return e.error?u.jsx(k.Tooltip,{title:e.error,placement:"right",children:n}):n}const x$=w.forwardRef(function(t,n){const{id:r,itemId:o,label:i,children:a,disabled:s,...l}=t,{getRootProps:c,getContentProps:d,getLabelProps:p,getIconContainerProps:h,getGroupTransitionProps:f,status:m,publicAPI:g}=pj({id:r,itemId:o,children:a,label:i,disabled:s,rootRef:n}),x=g.getItem(o);return m.selected=!1,m.focused=!1,u.jsx(yp,{itemId:o,children:u.jsxs(Pj,{...c(l),children:[u.jsxs(Rj,{...d(),...x.link&&{onClick:y=>x.link(y)},sx:{pointerEvents:!x.selectable&&"none"},children:[u.jsx(Oj,{...h(),children:u.jsx(Ij,{status:m})}),u.jsx(b$,{...p({item:x})})]}),a&&u.jsx(g$,{...f()})]})})});function y$(e,t){const n=new Map;return e.map(r=>{let o=n;const i=r.path.split("/");i.forEach((a,s)=>{s===i.length-1?o.set(a,r):(o.has(a)||o.set(a,new Map),o=o.get(a))})}),ly(n,"",t)}function ly(e,t,n){const r=[];return e.forEach((o,i)=>{const a=i.endsWith(".malloy")&&"model"||i.endsWith(".malloynb")&&"notebook"||i.endsWith(".parquet")&&"database"||"unknown";if(a!=="unknown"){const s=o;r.push({id:t+i,label:i,fileType:a,link:a==="model"||a==="notebook"?l=>n(t+i,l):void 0,selectable:a==="model"||a==="notebook",error:"error"in s?s.error:void 0})}else{const s=t+i+"/";r.push({id:s,label:i,fileType:"directory",selectable:!0,link:void 0,children:ly(o,s,n)})}}),r}const E$=["notebooks/","models/"];function C$({onClickModelFile:e,resourceUri:t}){const{environmentName:n,packageName:r,versionId:o}=kt(t),{apiClients:i}=ze.useServer(),{data:a,isError:s,error:l,isSuccess:c}=Ft({queryKey:["models",n,r,o],queryFn:()=>i.models.listModels(n,r,o)});return u.jsx(T0,{children:u.jsxs(v0,{children:[u.jsx(S0,{children:"Semantic Models"}),u.jsxs(k.Box,{sx:{maxHeight:"200px",overflowY:"auto"},children:[!c&&!s&&u.jsx(rn,{text:"Fetching Models..."}),s&&u.jsx(on,{error:l,context:`${n} > ${r} > Models`}),c&&a.data.length>0&&u.jsx(h$,{items:a.data.sort((d,p)=>d.path.localeCompare(p.path)),onClickTreeNode:e,defaultExpandedItems:E$}),c&&a.data.length===0&&u.jsx(k.Typography,{variant:"body2",children:"No models found"})]})]})})}function T$(e){try{const{environmentName:t,packageName:n,modelPath:r}=kt(e);return!t||!n||!r?null:{environmentName:t,packageName:n,pagePath:r}}catch{return null}}function v$({resourceUri:e}){const{server:t,apiClients:n}=ze.useServer(),r=T$(e),o=r?.environmentName??"",i=r?.packageName??"",a=r?.pagePath??"",s=H.useMemo(()=>`${Ux(t)}/environments/${encodeURIComponent(o)}/packages/${encodeURIComponent(i)}/${a}`,[t,o,i,a]),c=Ft({queryKey:["pages",o,i],queryFn:()=>n.pages.listPages(o,i),enabled:!!r}).data?.data?.find(f=>f.path===a)?.title??a,d=H.useRef(null),[p,h]=H.useState(120);return H.useEffect(()=>{function f(m){qB(m.data)&&m.source===d.current?.contentWindow&&m.data.height>0&&h(Math.ceil(m.data.height))}return window.addEventListener("message",f),()=>window.removeEventListener("message",f)},[]),r?u.jsxs(k.Box,{sx:{p:3,maxWidth:1200,mx:"auto"},children:[u.jsxs(k.Stack,{direction:"row",alignItems:"baseline",spacing:1,sx:{mb:1},children:[u.jsx(k.Typography,{variant:"h6",sx:{fontWeight:600,letterSpacing:"-0.025em"},children:c}),u.jsx(k.Typography,{variant:"caption",color:"text.secondary",sx:{fontFamily:Zn},children:a}),u.jsx(k.Box,{sx:{flex:1}}),u.jsx(k.Tooltip,{title:"Open standalone in new tab",children:u.jsx(k.IconButton,{size:"small",href:s,target:"_blank",rel:"noopener noreferrer","aria-label":"Open standalone in new tab",sx:{color:"text.secondary"},children:u.jsx(zx,{fontSize:"small"})})})]}),u.jsx(k.Box,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1.5,overflow:"hidden",backgroundColor:"background.paper"},children:u.jsx("iframe",{ref:d,src:s,title:c,sandbox:"allow-scripts allow-same-origin allow-forms",style:{display:"block",width:"100%",height:p,border:0}})})]}):u.jsxs(k.Box,{sx:{p:3,maxWidth:1200,mx:"auto"},children:[u.jsx(k.Typography,{variant:"h6",sx:{fontWeight:600},children:"Can't open page"}),u.jsxs(k.Typography,{variant:"body2",color:"text.secondary",sx:{mt:1},children:["This page link is missing an environment, package, or path:",u.jsx(k.Box,{component:"span",sx:{fontFamily:Zn,ml:1},children:e})]})]})}const S$=async e=>{if(typeof window>"u")throw new Error("MalloyRenderer can only be used in browser environment");const{MalloyRenderer:t}=await import("@malloydata/render");return new t({onClick:e,onError:r=>{console.error("Error rendering visualization:",typeof r,r)}}).createViz()};function k$({result:e,height:t,onDrill:n,onSizeChange:r}){const o=H.useRef(null),i=H.useRef(!1);return H.useLayoutEffect(()=>{if(!o.current||!e)return;let a=!0;const s=o.current;for(;s.firstChild;)s.removeChild(s.firstChild);i.current=!1;let l=null,c=null;const d=()=>{if(i.current||!a||!s.firstElementChild)return;const h=s.firstElementChild.firstElementChild;if(!h)return;const f=h.firstElementChild;let m=h.scrollHeight||h.offsetHeight||0;f&&h.classList.contains("malloy-dashboard")&&(m=f.scrollHeight||f.offsetHeight||0),m>0&&(i.current=!0,r&&r(m))};return S$(n).then(p=>{if(a){l=new MutationObserver(()=>{c&&clearTimeout(c),c=setTimeout(()=>{d(),l?.disconnect()},100)}),l.observe(s,{childList:!0,subtree:!0,attributes:!0});try{p.setResult(JSON.parse(e)),p.render(s)}catch(h){console.error("Error rendering visualization:",h),l?.disconnect()}}}).catch(p=>{console.error("Failed to create renderer:",p)}),()=>{a=!1,l?.disconnect(),c&&clearTimeout(c)}},[e,n,r]),u.jsx("div",{ref:o,style:{width:"100%",height:t?`${t}px`:"400px"}})}function uy(e){return typeof window>"u"?u.jsx(k.Box,{sx:{width:"100%",height:e.height?`${e.height}px`:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"text.secondary"},children:"Loading..."}):u.jsx(H.Suspense,{fallback:u.jsx(k.Box,{sx:{width:"100%",height:e.height?`${e.height}px`:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"text.secondary"},children:"Loading visualization..."}),children:u.jsx(k$,{...e})})}const D$=Object.freeze(Object.defineProperty({__proto__:null,default:uy},Symbol.toStringTag,{value:"Module"}));function cy(e){return e.replace(/'/g,"\\'").replace(/\\/g,"\\\\")}function sr(e,t=!1){return e==null?"null":t?e instanceof Date?`@${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`:`@${e}`:typeof e=="string"?`'${cy(e)}'`:typeof e=="number"?String(e):typeof e=="boolean"?e?"true":"false":String(e)}function w$(e){const{dimensionName:t,matchType:n,value:r,value2:o}=e,i=`\`${t}\``,a=r instanceof Date;switch(n){case"Equals":case"Semantic Search":return Array.isArray(r)&&r.length>0?`(${r.map(l=>`${i} = ${sr(l,a)}`).join(" or ")})`:Array.isArray(r)?"":`${i} = ${sr(r,a)}`;case"Contains":return typeof r=="string"?`${i} ~ f'%${cy(r)}%'`:Array.isArray(r)?"":`${i} = ${sr(r)}`;case"After":return Array.isArray(r)?"":`${i} > ${sr(r,a)}`;case"Before":return Array.isArray(r)?"":`${i} < ${sr(r,a)}`;case"Greater Than":return Array.isArray(r)?"":`${i} > ${sr(r)}`;case"Less Than":return Array.isArray(r)?"":`${i} < ${sr(r)}`;case"Between":return Array.isArray(r)?"":o!==void 0?`${i} >= ${sr(r,a)} and ${i} <= ${sr(o,a)}`:`${i} >= ${sr(r,a)}`;default:return""}}function I$(e){if(e.length===0)return"";const t=e.map(n=>w$(n)).filter(n=>n.length>0);return t.length===0?"":t.join(" and ")}function A$(e,t,n,r=1e3){const o=I$(t),a=n&&n.length>0?`group_by: ${n.map(s=>`\`${s}\``).join(", ")}`:"select: *";return o?`
|
|
224
|
+
`));o[h]={id:h,label:f,parentId:p,idAttribute:void 0,expandable:!!c.children?.length,disabled:t?t(c):!1,depth:d},i[h]=c;const m=p??Zo;a[m]||(a[m]=[]),a[m].push(h),c.children?.forEach(g=>s(g,d+1,h))};e.forEach(c=>s(c,0,null));const l={};return Object.keys(a).forEach(c=>{l[c]=Wj(a[c])}),{itemMetaMap:o,itemMap:i,itemOrderedChildrenIds:a,itemChildrenIndexes:l}},ns=({instance:e,params:t,state:n,setState:r,experimentalFeatures:o})=>{const i=w.useCallback(y=>n.items.itemMetaMap[y],[n.items.itemMetaMap]),a=w.useCallback(y=>n.items.itemMap[y],[n.items.itemMap]),s=w.useCallback(()=>{const y=E=>{const T=n.items.itemMap[E],S=$e(T,qj),D=n.items.itemOrderedChildrenIds[E];return D&&(S.children=D.map(y)),S};return n.items.itemOrderedChildrenIds[Zo].map(y)},[n.items.itemMap,n.items.itemOrderedChildrenIds]),l=w.useCallback(y=>{if(y==null)return!1;let E=e.getItemMeta(y);if(!E)return!1;if(E.disabled)return!0;for(;E.parentId!=null;)if(E=e.getItemMeta(E.parentId),E.disabled)return!0;return!1},[e]),c=w.useCallback(y=>{const E=e.getItemMeta(y).parentId??Zo;return n.items.itemChildrenIndexes[E][y]},[e,n.items.itemChildrenIndexes]),d=w.useCallback(y=>n.items.itemOrderedChildrenIds[y??Zo]??[],[n.items.itemOrderedChildrenIds]),p=y=>{const E=e.getItemMeta(y);return E==null?null:document.getElementById(xp({treeId:n.id.treeId,itemId:y,id:E.idAttribute}))},h=y=>t.disabledItemsFocusable?!0:!e.isItemDisabled(y),f=w.useRef(!1),m=w.useCallback(()=>{f.current=!0},[]),g=w.useCallback(()=>f.current,[]);return w.useEffect(()=>{e.areItemUpdatesPrevented()||r(y=>{const E=ry({items:t.items,isItemDisabled:t.isItemDisabled,getItemId:t.getItemId,getItemLabel:t.getItemLabel});return Object.values(y.items.itemMetaMap).forEach(T=>{E.itemMetaMap[T.id]||Vj(e,"removeItem",{id:T.id})}),$({},y,{items:E})})},[e,r,t.items,t.isItemDisabled,t.getItemId,t.getItemLabel]),{getRootProps:()=>({style:{"--TreeView-itemChildrenIndentation":typeof t.itemChildrenIndentation=="number"?`${t.itemChildrenIndentation}px`:t.itemChildrenIndentation}}),publicAPI:{getItem:a,getItemDOMElement:p,getItemTree:s,getItemOrderedChildrenIds:d},instance:{getItemMeta:i,getItem:a,getItemTree:s,getItemsToRender:()=>{const y=E=>{const T=n.items.itemMetaMap[E];return{label:T.label,itemId:T.id,id:T.idAttribute,children:n.items.itemOrderedChildrenIds[E]?.map(y)}};return n.items.itemOrderedChildrenIds[Zo].map(y)},getItemIndex:c,getItemDOMElement:p,getItemOrderedChildrenIds:d,isItemDisabled:l,isItemNavigable:h,preventItemUpdates:m,areItemUpdatesPrevented:g},contextValue:{items:{onItemClick:t.onItemClick,disabledItemsFocusable:t.disabledItemsFocusable,indentationAtItemLevel:o.indentationAtItemLevel??!1}}}};ns.getInitialState=e=>({items:ry({items:e.items,isItemDisabled:e.isItemDisabled,getItemId:e.getItemId,getItemLabel:e.getItemLabel})});ns.getDefaultizedParams=({params:e})=>$({},e,{disabledItemsFocusable:e.disabledItemsFocusable??!1,itemChildrenIndentation:e.itemChildrenIndentation??"12px"});ns.wrapRoot=({children:e,instance:t})=>u.jsx(bp.Provider,{value:n=>t.getItemMeta(n)?.depth??0,children:e});ns.params={disabledItemsFocusable:!0,items:!0,isItemDisabled:!0,getItemLabel:!0,getItemId:!0,onItemClick:!0,itemChildrenIndentation:!0};const tu=({instance:e,params:t,models:n})=>{const r=w.useMemo(()=>{const p=new Map;return n.expandedItems.value.forEach(h=>{p.set(h,!0)}),p},[n.expandedItems.value]),o=(p,h)=>{t.onExpandedItemsChange?.(p,h),n.expandedItems.setControlledValue(h)},i=w.useCallback(p=>r.has(p),[r]),a=w.useCallback(p=>!!e.getItemMeta(p)?.expandable,[e]),s=Pe((p,h)=>{const f=e.isItemExpanded(h);e.setItemExpansion(p,h,!f)}),l=Pe((p,h,f)=>{if(e.isItemExpanded(h)===f)return;let g;f?g=[h].concat(n.expandedItems.value):g=n.expandedItems.value.filter(x=>x!==h),t.onItemExpansionToggle&&t.onItemExpansionToggle(p,h,f),o(p,g)}),c=(p,h)=>{const f=e.getItemMeta(h),g=e.getItemOrderedChildrenIds(f.parentId).filter(y=>e.isItemExpandable(y)&&!e.isItemExpanded(y)),x=n.expandedItems.value.concat(g);g.length>0&&(t.onItemExpansionToggle&&g.forEach(y=>{t.onItemExpansionToggle(p,y,!0)}),o(p,x))},d=w.useMemo(()=>t.expansionTrigger?t.expansionTrigger:e.isTreeViewEditable?"iconContainer":"content",[t.expansionTrigger,e.isTreeViewEditable]);return{publicAPI:{setItemExpansion:l},instance:{isItemExpanded:i,isItemExpandable:a,setItemExpansion:l,toggleItemExpansion:s,expandAllSiblings:c},contextValue:{expansion:{expansionTrigger:d}}}};tu.models={expandedItems:{getDefaultValue:e=>e.defaultExpandedItems}};const Yj=[];tu.getDefaultizedParams=({params:e})=>$({},e,{defaultExpandedItems:e.defaultExpandedItems??Yj});tu.params={expandedItems:!0,defaultExpandedItems:!0,onExpandedItemsChange:!0,onItemExpansionToggle:!0,expansionTrigger:!0};const Us=e=>Array.isArray(e)?e:e!=null?[e]:[],ec=e=>{const t={};return e.forEach(n=>{t[n]=!0}),t},nu=({instance:e,params:t,models:n})=>{const r=w.useRef(null),o=w.useRef({}),i=w.useMemo(()=>{const g=new Map;return Array.isArray(n.selectedItems.value)?n.selectedItems.value.forEach(x=>{g.set(x,!0)}):n.selectedItems.value!=null&&g.set(n.selectedItems.value,!0),g},[n.selectedItems.value]),a=(g,x)=>{if(t.onItemSelectionToggle)if(t.multiSelect){const y=x.filter(T=>!e.isItemSelected(T)),E=n.selectedItems.value.filter(T=>!x.includes(T));y.forEach(T=>{t.onItemSelectionToggle(g,T,!0)}),E.forEach(T=>{t.onItemSelectionToggle(g,T,!1)})}else x!==n.selectedItems.value&&(n.selectedItems.value!=null&&t.onItemSelectionToggle(g,n.selectedItems.value,!1),x!=null&&t.onItemSelectionToggle(g,x,!0));t.onSelectedItemsChange&&t.onSelectedItemsChange(g,x),n.selectedItems.setControlledValue(x)},s=g=>i.has(g),l=({event:g,itemId:x,keepExistingSelection:y=!1,shouldBeSelected:E})=>{if(t.disableSelection)return;let T;if(y){const S=Us(n.selectedItems.value),D=e.isItemSelected(x);D&&(E===!1||E==null)?T=S.filter(C=>C!==x):!D&&(E===!0||E==null)?T=[x].concat(S):T=S}else E===!1||E==null&&e.isItemSelected(x)?T=t.multiSelect?[]:null:T=t.multiSelect?[x]:x;a(g,T),r.current=x,o.current={}},c=(g,[x,y])=>{if(t.disableSelection||!t.multiSelect)return;let E=Us(n.selectedItems.value).slice();Object.keys(o.current).length>0&&(E=E.filter(C=>!o.current[C]));const T=ec(E),S=lj(e,x,y),D=S.filter(C=>!T[C]);E=E.concat(D),a(g,E),o.current=ec(S)};return{getRootProps:()=>({"aria-multiselectable":t.multiSelect}),publicAPI:{selectItem:l},instance:{isItemSelected:s,selectItem:l,selectAllNavigableItems:g=>{if(t.disableSelection||!t.multiSelect)return;const x=uj(e);a(g,x),o.current=ec(x)},expandSelectionRange:(g,x)=>{if(r.current!=null){const[y,E]=Qx(e,x,r.current);c(g,[y,E])}},selectRangeFromStartToItem:(g,x)=>{c(g,[_a(e),x])},selectRangeFromItemToEnd:(g,x)=>{c(g,[x,Gx(e)])},selectItemFromArrowNavigation:(g,x,y)=>{if(t.disableSelection||!t.multiSelect)return;let E=Us(n.selectedItems.value).slice();Object.keys(o.current).length===0?(E.push(y),o.current={[x]:!0,[y]:!0}):(o.current[x]||(o.current={}),o.current[y]?(E=E.filter(T=>T!==x),delete o.current[x]):(E.push(y),o.current[y]=!0)),a(g,E)}},contextValue:{selection:{multiSelect:t.multiSelect,checkboxSelection:t.checkboxSelection,disableSelection:t.disableSelection}}}};nu.models={selectedItems:{getDefaultValue:e=>e.defaultSelectedItems}};const Kj=[];nu.getDefaultizedParams=({params:e})=>$({},e,{disableSelection:e.disableSelection??!1,multiSelect:e.multiSelect??!1,checkboxSelection:e.checkboxSelection??!1,defaultSelectedItems:e.defaultSelectedItems??(e.multiSelect?Kj:null)});nu.params={disableSelection:!0,multiSelect:!0,checkboxSelection:!0,defaultSelectedItems:!0,selectedItems:!0,onSelectedItemsChange:!0,onItemSelectionToggle:!0};const Xm=1e3;class Gj{constructor(t=Xm){this.timeouts=new Map,this.cleanupTimeout=Xm,this.cleanupTimeout=t}register(t,n,r){this.timeouts||(this.timeouts=new Map);const o=setTimeout(()=>{typeof n=="function"&&n(),this.timeouts.delete(r.cleanupToken)},this.cleanupTimeout);this.timeouts.set(r.cleanupToken,o)}unregister(t){const n=this.timeouts.get(t.cleanupToken);n&&(this.timeouts.delete(t.cleanupToken),clearTimeout(n))}reset(){this.timeouts&&(this.timeouts.forEach((t,n)=>{this.unregister({cleanupToken:n})}),this.timeouts=void 0)}}class Qj{constructor(){this.registry=new FinalizationRegistry(t=>{typeof t=="function"&&t()})}register(t,n,r){this.registry.register(t,n,r)}unregister(t){this.registry.unregister(t)}reset(){}}class Xj{}function Zj(e){let t=0;return function(r,o,i){e.registry===null&&(e.registry=typeof FinalizationRegistry<"u"?new Qj:new Gj);const[a]=w.useState(new Xj),s=w.useRef(null),l=w.useRef(void 0);l.current=i;const c=w.useRef(null);if(!s.current&&l.current){const d=(p,h)=>{h.defaultMuiPrevented||l.current?.(p,h)};s.current=r.$$subscribeEvent(o,d),t+=1,c.current={cleanupToken:t},e.registry.register(a,()=>{s.current?.(),s.current=null,c.current=null},c.current)}else!l.current&&s.current&&(s.current(),s.current=null,c.current&&(e.registry.unregister(c.current),c.current=null));w.useEffect(()=>{if(!s.current&&l.current){const d=(p,h)=>{h.defaultMuiPrevented||l.current?.(p,h)};s.current=r.$$subscribeEvent(o,d)}return c.current&&e.registry&&(e.registry.unregister(c.current),c.current=null),()=>{s.current?.(),s.current=null}},[r,o])}}const Jj={registry:null},e$=Zj(Jj),oy=(e=document)=>{const t=e.activeElement;return t?t.shadowRoot?oy(t.shadowRoot):t:null},t$=(e,t)=>{let n=Us(t).find(r=>{if(!e.isItemNavigable(r))return!1;const o=e.getItemMeta(r);return o&&(o.parentId==null||e.isItemExpanded(o.parentId))});return n==null&&(n=_a(e)),n},Cp=({instance:e,params:t,state:n,setState:r,models:o,rootRef:i})=>{const a=t$(e,o.selectedItems.value),s=Pe(x=>{const y=typeof x=="function"?x(n.focusedItemId):x;n.focusedItemId!==y&&r(E=>$({},E,{focusedItemId:y}))}),l=w.useCallback(()=>!!i.current&&i.current.contains(oy(Ut(i.current))),[i]),c=w.useCallback(x=>n.focusedItemId===x&&l(),[n.focusedItemId,l]),d=x=>{const y=e.getItemMeta(x);return y&&(y.parentId==null||e.isItemExpanded(y.parentId))},p=(x,y)=>{const E=e.getItemDOMElement(y);E&&E.focus(),s(y),t.onItemFocus&&t.onItemFocus(x,y)},h=Pe((x,y)=>{d(y)&&p(x,y)}),f=Pe(()=>{if(n.focusedItemId==null)return;if(e.getItemMeta(n.focusedItemId)){const y=e.getItemDOMElement(n.focusedItemId);y&&y.blur()}s(null)}),m=x=>x===a;e$(e,"removeItem",({id:x})=>{n.focusedItemId===x&&p(null,a)});const g=x=>y=>{x.onFocus?.(y),!y.defaultMuiPrevented&&y.target===y.currentTarget&&p(y,a)};return{getRootProps:x=>({onFocus:g(x)}),publicAPI:{focusItem:h},instance:{isItemFocused:c,canItemBeTabbed:m,focusItem:h,removeFocusedItem:f}}};Cp.getInitialState=()=>({focusedItemId:null});Cp.params={onItemFocus:!0};function n$(e){return!!e&&e.length===1&&!!e.match(/\S/)}const iy=({instance:e,params:t,state:n})=>{const r=Wn(),o=w.useRef({}),i=Pe(d=>{o.current=d(o.current)});w.useEffect(()=>{if(e.areItemUpdatesPrevented())return;const d={},p=h=>{d[h.id]=h.label.substring(0,1).toLowerCase()};Object.values(n.items.itemMetaMap).forEach(p),o.current=d},[n.items.itemMetaMap,t.getItemId,e]);const a=(d,p)=>{const h=p.toLowerCase(),f=y=>{const E=zs(e,y);return E===null?_a(e):E};let m=null,g=f(d);const x={};for(;m==null&&!x[g];)o.current[g]===h?m=g:(x[g]=!0,g=f(g));return m},s=d=>!t.disableSelection&&!e.isItemDisabled(d),l=d=>!e.isItemDisabled(d)&&e.isItemExpandable(d);return{instance:{updateFirstCharMap:i,handleItemKeyDown:(d,p)=>{if(d.defaultMuiPrevented||d.altKey||Ba(d.target,d.currentTarget))return;const h=d.ctrlKey||d.metaKey,f=d.key;switch(!0){case(f===" "&&s(p)):{d.preventDefault(),t.multiSelect&&d.shiftKey?e.expandSelectionRange(d,p):e.selectItem({event:d,itemId:p,keepExistingSelection:t.multiSelect,shouldBeSelected:t.multiSelect?void 0:!0});break}case f==="Enter":{Eo(e,$n)&&e.isItemEditable(p)&&!e.isItemBeingEdited(p)?e.setEditedItemId(p):l(p)?(e.toggleItemExpansion(d,p),d.preventDefault()):s(p)&&(t.multiSelect?(d.preventDefault(),e.selectItem({event:d,itemId:p,keepExistingSelection:!0})):e.isItemSelected(p)||(e.selectItem({event:d,itemId:p}),d.preventDefault()));break}case f==="ArrowDown":{const m=zs(e,p);m&&(d.preventDefault(),e.focusItem(d,m),t.multiSelect&&d.shiftKey&&s(m)&&e.selectItemFromArrowNavigation(d,p,m));break}case f==="ArrowUp":{const m=Kx(e,p);m&&(d.preventDefault(),e.focusItem(d,m),t.multiSelect&&d.shiftKey&&s(m)&&e.selectItemFromArrowNavigation(d,p,m));break}case(f==="ArrowRight"&&!r||f==="ArrowLeft"&&r):{if(h)return;if(e.isItemExpanded(p)){const m=zs(e,p);m&&(e.focusItem(d,m),d.preventDefault())}else l(p)&&(e.toggleItemExpansion(d,p),d.preventDefault());break}case(f==="ArrowLeft"&&!r||f==="ArrowRight"&&r):{if(h)return;if(l(p)&&e.isItemExpanded(p))e.toggleItemExpansion(d,p),d.preventDefault();else{const m=e.getItemMeta(p).parentId;m&&(e.focusItem(d,m),d.preventDefault())}break}case f==="Home":{s(p)&&t.multiSelect&&h&&d.shiftKey?e.selectRangeFromStartToItem(d,p):e.focusItem(d,_a(e)),d.preventDefault();break}case f==="End":{s(p)&&t.multiSelect&&h&&d.shiftKey?e.selectRangeFromItemToEnd(d,p):e.focusItem(d,Gx(e)),d.preventDefault();break}case f==="*":{e.expandAllSiblings(d,p),d.preventDefault();break}case(String.fromCharCode(d.keyCode)==="A"&&h&&t.multiSelect&&!t.disableSelection):{e.selectAllNavigableItems(d),d.preventDefault();break}case(!h&&!d.shiftKey&&n$(f)):{const m=a(p,f);m!=null&&(e.focusItem(d,m),d.preventDefault());break}}}}}};iy.params={};const ay=({slots:e,slotProps:t})=>({contextValue:{icons:{slots:{collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,endIcon:e.endIcon},slotProps:{collapseIcon:t.collapseIcon,expandIcon:t.expandIcon,endIcon:t.endIcon}}}});ay.params={};const r$=[ns,tu,nu,Cp,iy,ay,$n],o$=["ownerState"];function i$({slots:e,slotProps:t,label:n,id:r,itemId:o,itemsToRender:i}){const a=e?.item??wj,s=ot({elementType:a,externalSlotProps:t?.item,additionalProps:{itemId:o,id:r,label:n},ownerState:{itemId:o,label:n}}),l=$e(s,o$),c=w.useMemo(()=>i?u.jsx(sy,{itemsToRender:i,slots:e,slotProps:t}):null,[i,e,t]);return u.jsx(a,$({},l,{children:c}))}function sy(e){const{itemsToRender:t,slots:n,slotProps:r}=e;return u.jsx(w.Fragment,{children:t.map(o=>u.jsx(i$,{slots:n,slotProps:r,label:o.label,id:o.id,itemId:o.itemId,itemsToRender:o.children},o.itemId))})}const a$=Vx(),s$=e=>{const{classes:t}=e;return Oe({root:["root"]},Lj,t)},l$=oe("ul",{name:"MuiRichTreeView",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:0,margin:0,listStyle:"none",outline:0,position:"relative"}),u$=w.forwardRef(function(t,n){const r=a$({props:t,name:"MuiRichTreeView"}),{getRootProps:o,contextValue:i,instance:a}=Uj({plugins:r$,rootRef:n,props:r}),{slots:s,slotProps:l}=r,c=s$(r),d=s?.root??l$,p=ot({elementType:d,externalSlotProps:l?.root,className:c.root,getSlotProps:o,ownerState:r});return u.jsx(ij,{value:i,children:u.jsx(d,$({},p,{children:u.jsx(sy,{slots:s,slotProps:l,itemsToRender:a.getItemsToRender()})}))})}),c$=tt([u.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"),u.jsx("path",{d:"M14 17H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z"},"1")]),d$=tt(u.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"})),p$=tt(u.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"})),f$=tt(u.jsx("path",{d:"M15 4v2h3v12h-3v2h5V4zM4 20h5v-2H6V6h3V4H4z"}));function h$({items:e,defaultExpandedItems:t,onClickTreeNode:n}){return u.jsx(u$,{items:y$(e,n),defaultExpandedItems:t,slots:{item:x$}})}const m$=Zm.animated(Na);function g$(e){const t=Zm.useSpring({to:{opacity:e.in?1:0,transform:`translate3d(0,${e.in?0:20}px,0)`}});return u.jsx(m$,{style:t,...e})}function b$({item:e,...t}){const n=u.jsxs(Mj,{...t,sx:{display:"flex",alignItems:"center",color:e.error?"error.main":"grey.600"},children:[e.fileType==="directory"&&u.jsx(kx,{})||e.fileType==="notebook"&&u.jsx(c$,{})||e.fileType==="model"&&u.jsx(f$,{})||e.fileType=="database"&&u.jsx(p$,{})||u.jsx(d$,{}),u.jsx(k.Typography,{variant:"body2",sx:{marginLeft:"5px"},color:e.error?"error.main":e.link?"primary.main":"grey.600",children:e.label})]});return e.error?u.jsx(k.Tooltip,{title:e.error,placement:"right",children:n}):n}const x$=w.forwardRef(function(t,n){const{id:r,itemId:o,label:i,children:a,disabled:s,...l}=t,{getRootProps:c,getContentProps:d,getLabelProps:p,getIconContainerProps:h,getGroupTransitionProps:f,status:m,publicAPI:g}=pj({id:r,itemId:o,children:a,label:i,disabled:s,rootRef:n}),x=g.getItem(o);return m.selected=!1,m.focused=!1,u.jsx(yp,{itemId:o,children:u.jsxs(Pj,{...c(l),children:[u.jsxs(Rj,{...d(),...x.link&&{onClick:y=>x.link(y)},sx:{pointerEvents:!x.selectable&&"none"},children:[u.jsx(Oj,{...h(),children:u.jsx(Ij,{status:m})}),u.jsx(b$,{...p({item:x})})]}),a&&u.jsx(g$,{...f()})]})})});function y$(e,t){const n=new Map;return e.map(r=>{let o=n;const i=r.path.split("/");i.forEach((a,s)=>{s===i.length-1?o.set(a,r):(o.has(a)||o.set(a,new Map),o=o.get(a))})}),ly(n,"",t)}function ly(e,t,n){const r=[];return e.forEach((o,i)=>{const a=i.endsWith(".malloy")&&"model"||i.endsWith(".malloynb")&&"notebook"||i.endsWith(".parquet")&&"database"||"unknown";if(a!=="unknown"){const s=o;r.push({id:t+i,label:i,fileType:a,link:a==="model"||a==="notebook"?l=>n(t+i,l):void 0,selectable:a==="model"||a==="notebook",error:"error"in s?s.error:void 0})}else{const s=t+i+"/";r.push({id:s,label:i,fileType:"directory",selectable:!0,link:void 0,children:ly(o,s,n)})}}),r}const E$=["notebooks/","models/"];function C$({onClickModelFile:e,resourceUri:t}){const{environmentName:n,packageName:r,versionId:o}=kt(t),{apiClients:i}=ze.useServer(),{data:a,isError:s,error:l,isSuccess:c}=Ft({queryKey:["models",n,r,o],queryFn:()=>i.models.listModels(n,r,o)});return u.jsx(T0,{children:u.jsxs(v0,{children:[u.jsx(S0,{children:"Semantic Models"}),u.jsxs(k.Box,{sx:{maxHeight:"200px",overflowY:"auto"},children:[!c&&!s&&u.jsx(rn,{text:"Fetching Models..."}),s&&u.jsx(on,{error:l,context:`${n} > ${r} > Models`}),c&&a.data.length>0&&u.jsx(h$,{items:a.data.sort((d,p)=>d.path.localeCompare(p.path)),onClickTreeNode:e,defaultExpandedItems:E$}),c&&a.data.length===0&&u.jsx(k.Typography,{variant:"body2",children:"No models found"})]})]})})}function T$(e){try{const{environmentName:t,packageName:n,modelPath:r}=kt(e);return!t||!n||!r?null:{environmentName:t,packageName:n,pagePath:r}}catch{return null}}function v$({resourceUri:e}){const{server:t,apiClients:n}=ze.useServer(),r=T$(e),o=r?.environmentName??"",i=r?.packageName??"",a=r?.pagePath??"",s=H.useMemo(()=>`${Ux(t)}/environments/${encodeURIComponent(o)}/packages/${encodeURIComponent(i)}/${a}`,[t,o,i,a]),c=Ft({queryKey:["pages",o,i],queryFn:()=>n.pages.listPages(o,i),enabled:!!r}).data?.data?.find(g=>g.path===a),d=c?.title??a,p=c?.fit==="viewport",h=H.useRef(null),[f,m]=H.useState(120);return H.useEffect(()=>{if(p)return;function g(x){qB(x.data)&&x.source===h.current?.contentWindow&&x.data.height>0&&m(Math.ceil(x.data.height))}return window.addEventListener("message",g),()=>window.removeEventListener("message",g)},[p]),r?u.jsxs(k.Box,{sx:{p:3,...p?{height:"100%",display:"flex",flexDirection:"column"}:{maxWidth:1200,mx:"auto"}},children:[u.jsxs(k.Stack,{direction:"row",alignItems:"baseline",spacing:1,sx:{mb:1,flexShrink:0},children:[u.jsx(k.Typography,{variant:"h6",sx:{fontWeight:600,letterSpacing:"-0.025em"},children:d}),u.jsx(k.Typography,{variant:"caption",color:"text.secondary",sx:{fontFamily:Zn},children:a}),u.jsx(k.Box,{sx:{flex:1}}),u.jsx(k.Tooltip,{title:"Open standalone in new tab",children:u.jsx(k.IconButton,{size:"small",href:s,target:"_blank",rel:"noopener noreferrer","aria-label":"Open standalone in new tab",sx:{color:"text.secondary"},children:u.jsx(zx,{fontSize:"small"})})})]}),u.jsx(k.Box,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1.5,overflow:"hidden",backgroundColor:"background.paper",...p?{flex:1,minHeight:0}:{}},children:u.jsx("iframe",{ref:h,src:s,title:d,sandbox:"allow-scripts allow-same-origin allow-forms",style:{display:"block",width:"100%",height:p?"100%":f,border:0}})})]}):u.jsxs(k.Box,{sx:{p:3,maxWidth:1200,mx:"auto"},children:[u.jsx(k.Typography,{variant:"h6",sx:{fontWeight:600},children:"Can't open page"}),u.jsxs(k.Typography,{variant:"body2",color:"text.secondary",sx:{mt:1},children:["This page link is missing an environment, package, or path:",u.jsx(k.Box,{component:"span",sx:{fontFamily:Zn,ml:1},children:e})]})]})}const S$=async e=>{if(typeof window>"u")throw new Error("MalloyRenderer can only be used in browser environment");const{MalloyRenderer:t}=await import("@malloydata/render");return new t({onClick:e,onError:r=>{console.error("Error rendering visualization:",typeof r,r)}}).createViz()};function k$({result:e,height:t,onDrill:n,onSizeChange:r}){const o=H.useRef(null),i=H.useRef(!1);return H.useLayoutEffect(()=>{if(!o.current||!e)return;let a=!0;const s=o.current;for(;s.firstChild;)s.removeChild(s.firstChild);i.current=!1;let l=null,c=null;const d=()=>{if(i.current||!a||!s.firstElementChild)return;const h=s.firstElementChild.firstElementChild;if(!h)return;const f=h.firstElementChild;let m=h.scrollHeight||h.offsetHeight||0;f&&h.classList.contains("malloy-dashboard")&&(m=f.scrollHeight||f.offsetHeight||0),m>0&&(i.current=!0,r&&r(m))};return S$(n).then(p=>{if(a){l=new MutationObserver(()=>{c&&clearTimeout(c),c=setTimeout(()=>{d(),l?.disconnect()},100)}),l.observe(s,{childList:!0,subtree:!0,attributes:!0});try{p.setResult(JSON.parse(e)),p.render(s)}catch(h){console.error("Error rendering visualization:",h),l?.disconnect()}}}).catch(p=>{console.error("Failed to create renderer:",p)}),()=>{a=!1,l?.disconnect(),c&&clearTimeout(c)}},[e,n,r]),u.jsx("div",{ref:o,style:{width:"100%",height:t?`${t}px`:"400px"}})}function uy(e){return typeof window>"u"?u.jsx(k.Box,{sx:{width:"100%",height:e.height?`${e.height}px`:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"text.secondary"},children:"Loading..."}):u.jsx(H.Suspense,{fallback:u.jsx(k.Box,{sx:{width:"100%",height:e.height?`${e.height}px`:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"text.secondary"},children:"Loading visualization..."}),children:u.jsx(k$,{...e})})}const D$=Object.freeze(Object.defineProperty({__proto__:null,default:uy},Symbol.toStringTag,{value:"Module"}));function cy(e){return e.replace(/'/g,"\\'").replace(/\\/g,"\\\\")}function sr(e,t=!1){return e==null?"null":t?e instanceof Date?`@${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`:`@${e}`:typeof e=="string"?`'${cy(e)}'`:typeof e=="number"?String(e):typeof e=="boolean"?e?"true":"false":String(e)}function w$(e){const{dimensionName:t,matchType:n,value:r,value2:o}=e,i=`\`${t}\``,a=r instanceof Date;switch(n){case"Equals":case"Semantic Search":return Array.isArray(r)&&r.length>0?`(${r.map(l=>`${i} = ${sr(l,a)}`).join(" or ")})`:Array.isArray(r)?"":`${i} = ${sr(r,a)}`;case"Contains":return typeof r=="string"?`${i} ~ f'%${cy(r)}%'`:Array.isArray(r)?"":`${i} = ${sr(r)}`;case"After":return Array.isArray(r)?"":`${i} > ${sr(r,a)}`;case"Before":return Array.isArray(r)?"":`${i} < ${sr(r,a)}`;case"Greater Than":return Array.isArray(r)?"":`${i} > ${sr(r)}`;case"Less Than":return Array.isArray(r)?"":`${i} < ${sr(r)}`;case"Between":return Array.isArray(r)?"":o!==void 0?`${i} >= ${sr(r,a)} and ${i} <= ${sr(o,a)}`:`${i} >= ${sr(r,a)}`;default:return""}}function I$(e){if(e.length===0)return"";const t=e.map(n=>w$(n)).filter(n=>n.length>0);return t.length===0?"":t.join(" and ")}function A$(e,t,n,r=1e3){const o=I$(t),a=n&&n.length>0?`group_by: ${n.map(s=>`\`${s}\``).join(", ")}`:"select: *";return o?`
|
|
225
225
|
run: ${e} -> {
|
|
226
226
|
where: ${o}
|
|
227
227
|
${a}
|