@vuu-ui/vuu-data-react 0.8.16 → 0.8.17

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/cjs/index.js CHANGED
@@ -843,7 +843,7 @@ label.saltText small,
843
843
  </path>
844
844
  </svg>
845
845
  `,document.body.insertBefore(e,t)}}var Td=class{constructor(){this.currentPath=null;this.tabMode=null;m5()}prepare(e,n="full-view"){document.body.classList.add("drawing"),this.currentPath=null,this.tabMode=n;let o=this.getPoints(0,0,0,0),r=GM(o),i=document.getElementById("vuu-drop-outline");i==null||i.setAttribute("d",r),this.currentPath=r}clear(){Ed=null,Lm(),document.body.classList.remove("drawing"),qe.hidePopup()}get hoverDropTarget(){return Ed}getPoints(e,n,o,r,i=0,s=0,l=0){let a=this.tabMode==="tab-only";if(s===0)return[[e,n+l],[e,n+l],[e,n],[e+s,n],[e+s,n],[e+o,n],[e+o,n+r],[e,n+r]];if(a){let u=i;return[[u,n],[u,n],[u+s,n],[u+s,n],[u+s,n+l],[u+s,n+l],[u,n+l],[u,n+l]]}else return i===0?[[e,n+l],[e,n+l],[e,n],[e+s,n],[e+s,n+l],[e+o,n+l],[e+o,n+r],[e,n+r]]:[[e,n+l],[e+i,n+l],[e+i,n],[e+i,n],[e+i,n+l],[e+o,n+l],[e+o,n+r],[e,n+r]]}draw(e,n){let r=Lx;if(Ed!==null)this.drawTarget(Ed);else if(Lx=e.nextDropTarget!=null,e.pos.tab?h5(e):Bo&&Lm(),this.drawTarget(e,n),Lx){let[i,s,l]=KM(e);{let a=(0,QM.jsx)(UM,{dropTarget:e,onHover:c5,orientation:l});qe.showPopup({left:i,top:s,component:a})}}else qe.hidePopup()}drawTarget(e,n){let r=e.getTargetDropOutline(6,n);if(r){let{l:i,t:s,r:l,b:a,tabLeft:u,tabWidth:c,tabHeight:d,guideLines:f}=r,p=l-i,g=a-s;if(this.currentPath){let x=document.getElementById("vuu-drop-outline");x==null||x.setAttribute("d",this.currentPath)}let y=this.getPoints(i,s,p,g,u,c,d),m=GM(y),h=document.getElementById("hw-drop-outline-animate");h==null||h.setAttribute("to",m),h==null||h.beginElement(),this.currentPath=m;let v=document.getElementById("hw-drop-guides");v==null||v.setAttribute("d",p5(f))}}},jM="transition:margin-left .4s ease-out;margin-left: 63px",qM="transition:margin-left .4s ease-out;margin-left: 0px";function h5(t){var l,a;let{AFTER:e,BEFORE:n}=hx,{clientRect:{Stack:o},pos:{tab:r}}=t,{id:i}=t.component.props,s=null;if(o&&r&&r.positionRelativeToTab!==e){let u=r.positionRelativeToTab===n?1:2,c=`:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${r.index+u})`;s=(l=document.getElementById(i))==null?void 0:l.querySelector(c),s?(Bo===null||Bo!==s)&&(s.style.cssText=jM,Bo&&(Bo.style.cssText=qM),Bo=s):Lm()}else if((r==null?void 0:r.positionRelativeToTab)===n){if(Bo===null){let u=".vuuHeader-title";s=(a=document.getElementById(i))==null?void 0:a.querySelector(u),s.style.cssText=jM,Bo=s}}else Lm()}function Lm(){Bo&&(Bo.style.cssText=qM,Bo=null)}var OY=new Td;var XM=V(j()),YM=require("react");var eI=require("react/jsx-runtime"),Md=(0,YM.forwardRef)(function({children:e,className:n,dropTarget:o,resizeable:r,...i},s){let l=(0,XM.default)("DraggableLayout",n);return(0,eI.jsx)("div",{className:l,ref:s,...i,children:e})}),ZM="DraggableLayout";Md.displayName=ZM;nt(ZM,Md,"container");var mI=V(j()),hI=require("react");var fI=require("@vuu-ui/vuu-utils"),ft=V(require("react"));var nI=V(j());var Nm=require("react");var Kr=require("react/jsx-runtime"),Am="vuuLayoutStartPanel",tI=t=>{let{dispatch:e,path:n}=Hm(),[o,r]=(0,Nm.useState)();return(0,Nm.useMemo)(()=>{e==null||e({type:"query",path:n,query:"PARENT_CONTAINER"}).then(s=>{(s==null?void 0:s.parentContainerId)==="main-tabs"?r("initial"):r("nested")})},[e,n]),o===void 0?null:(0,Kr.jsxs)("div",{...t,className:Am,children:[o==="initial"?(0,Kr.jsxs)(Kr.Fragment,{children:[(0,Kr.jsx)("header",{className:`${Am}-title`,children:"Start by adding a table"}),(0,Kr.jsx)("div",{className:`${Am}-text`,children:"To add a table, drag any of the Vuu Tables to this area or click the button below"})]}):null,(0,Kr.jsx)(jt,{className:`${Am}-addButton`,"data-icon":"add",variant:"cta"})]})};var Xs=require("react/jsx-runtime"),g5="vuuPlaceholder",y5=({showStartMenu:t=!0})=>(0,Xs.jsx)(Xs.Fragment,{children:t?(0,Xs.jsx)(tI,{}):null}),Fa=({className:t,showStartMenu:e,...n})=>{let o=(0,nI.default)(g5,t);return(0,Xs.jsx)(Wi,{...n,className:o,"data-placeholder":!0,resizeable:!0,children:(0,Xs.jsx)(y5,{showStartMenu:e})})};Fa.displayName="Placeholder";nt("Placeholder",Fa);var oI=V(j()),dn=V(require("react"));var Ax=require("react/jsx-runtime"),Om="vuuSplitter",rI=dn.default.memo(function({column:e,index:n,onDrag:o,onDragEnd:r,onDragStart:i,style:s}){let l=(0,dn.useRef)(),a=(0,dn.useRef)(null),u=(0,dn.useRef)(0),[c,d]=(0,dn.useState)(!1),f=(0,dn.useCallback)(({key:C,shiftKey:w})=>{let E=w?10:1;e&&C==="ArrowDown"?o(n,E):e&&C==="ArrowUp"||!e&&C==="ArrowLeft"?o(n,-E):!e&&C==="ArrowRight"&&o(n,E)},[e,n,o]),p=(0,dn.useCallback)(C=>{let{key:w}=C;(e&&(w==="ArrowUp"||w==="ArrowDown")||!e&&(w==="ArrowLeft"||w==="ArrowRight"))&&(i(n),f(C),g.current=f)},[e,f,n,i]),g=(0,dn.useRef)(p),y=C=>g.current(C),m=(0,dn.useCallback)(C=>{l.current=!0;let w=C[e?"clientY":"clientX"],E=w-u.current;w&&w!==u.current&&o(n,E),u.current=w},[e,n,o]),h=(0,dn.useCallback)(()=>{var C;window.removeEventListener("mousemove",m,!1),window.removeEventListener("mouseup",h,!1),r(),d(!1),(C=a.current)==null||C.focus()},[m,r,d]),v=(0,dn.useCallback)(C=>{u.current=e?C.clientY:C.clientX,i(n),window.addEventListener("mousemove",m,!1),window.addEventListener("mouseup",h,!1),C.preventDefault(),d(!0)},[e,m,h,n,i,d]),x=()=>{var C;l.current?l.current=!1:(C=a.current)==null||C.focus()},b=()=>{g.current=p},S=(0,oI.default)(Om,{[`${Om}-active`]:c,[`${Om}-column`]:e});return(0,Ax.jsx)("div",{className:S,"data-splitter":!0,ref:a,role:"separator",style:s,onBlur:b,onClick:x,onKeyDown:y,onMouseDown:v,tabIndex:0,children:(0,Ax.jsx)("div",{className:`${Om}-grab-zone`})})});var b5=require("@vuu-ui/vuu-utils"),v5=V(require("react"));var sI={},iI="auto";var Ba=t=>{let{style:{width:e=iI,height:n=iI}=sI}=t.props,o=typeof n=="number",r=typeof e=="number";return o&&r?{height:n,width:e}:o?{height:n}:r?{width:e}:void 0};function lI(t){let{style:{flex:e,flexGrow:n,flexShrink:o,flexBasis:r}=sI}=t.props;return typeof e=="number"||r===0&&n===1&&o===1?!0:typeof r!="number"}var x5={},Id=1,Pd=2,C5=t=>typeof t.intrinsicSize=="number",w5=(t,e)=>{let n={};return t.forEach(o=>{n[o]=lr(e,o)}),n},Fm=(t,e,n)=>t.map((o,r)=>{var a;let i=lr(o,"resizeable"),{[e]:s}=(a=Ba(o))!=null?a:x5,l=lI(o);return n?{index:r,flexOpen:l,intrinsicSize:s,resizeable:i,...w5(n,o)}:{index:r,flexOpen:l,intrinsicSize:s,resizeable:i}}),aI=t=>{let e=t.length,n=t.every(C5),o=Array(e).fill(0);if(n&&e>0&&(o[0]=Pd,o[e-1]=Pd),e<2)return o;for(let r=0,i=0;r<e-1;r++)t[r].resizeable&&!i&&(i=Id),o[r]+=i;for(let r=e-1;r>0&&(o[r]&Id&&(o[r]-=Id),!t[r].resizeable);r--);return o},uI=(t,e)=>{let n=E5(t,e),o=T5(t,e),r=n!==-1&&o!==-1?[n,o]:void 0,i=S5(t,r);return[r,i]};function S5(t,e){if(e){let n=[];for(let o=0;o<t.length;o++)t[o].flexOpen&&!e.includes(o)&&n.push(o);return n}}function E5(t,e){let n=e,o=!1;for(;n>=1&&!o;)n=n-1,o=cI(t,n);return n}function T5(t,e){let n=e,o=!1,r=t.length;for(;n<r-1&&!o;)n=n+1,o=cI(t,n);return n===r?-1:n}function cI(t,e){let{placeholder:n,splitter:o,resizeable:r,intrinsicSize:i}=t[e];return!!(!o&&!i&&(n||r))}var k5=t=>!t.splitter&&!t.placeholder,pI=({children:t,onSplitterMoved:e,style:n})=>{let o=(0,ft.useRef)(null),r=(0,ft.useRef)(),i=(0,ft.useRef)(),s=(0,ft.useRef)([]),[,l]=(0,ft.useState)({}),a=m=>{i.current=m,l({})},u=(n==null?void 0:n.flexDirection)==="column",c=u?"height":"width",d=(0,ft.useMemo)(()=>Array.isArray(t)?t:ft.default.isValidElement(t)?[t]:[],[t]),f=(0,ft.useCallback)(m=>{let{current:h}=r;if(h){let[v,x]=uI(h,m);v&&(v.forEach(b=>{var C;let S=(C=o.current)==null?void 0:C.childNodes[b];if(S){let{size:w,minSize:E}=D5(S,c);h[b].currentSize=w,h[b].minSize=E}}),x&&x.forEach(b=>{var C;let S=(C=o.current)==null?void 0:C.childNodes[b];if(S){let{[c]:w}=S.getBoundingClientRect();h[b].flexBasis=w}}))}},[c]),p=(0,ft.useCallback)((m,h)=>{i.current&&r.current&&a(I5(i.current,r.current,h,c))},[c]),g=(0,ft.useCallback)(()=>{let m=r.current;m&&(e==null||e(m.filter(k5))),m==null||m.forEach(h=>{h.currentSize=void 0,h.flexBasis=void 0,h.flexOpen=!1})},[e]),y=(0,ft.useCallback)(m=>ft.default.createElement(rI,{column:u,index:m,key:`splitter-${m}`,onDrag:p,onDragEnd:g,onDragStart:f}),[p,g,f,u]);return(0,ft.useMemo)(()=>{let[m,h]=M5(d,c,y,s.current);r.current=h,i.current=m},[d,y,c]),{content:i.current||[],rootRef:o}};function M5(t,e,n,o){let r=Fm(t,e),i=aI(r),s=[],l=[];for(let a=0;a<t.length;a++){let u=t[a];if(a===0&&i[a]&Pd&&(s.push(dI(a)),l.push({placeholder:!0,shim:!0})),u.key==null){let c=o[a]||(o[a]=(0,fI.getUniqueId)());s.push(ft.default.cloneElement(u,{key:c}))}else s.push(u);l.push(r[a]),a>0&&i[a]&Pd?(s.push(dI(a)),l.push({placeholder:!0})):i[a]&Id&&(s.push(n(s.length)),l.push({splitter:!0}))}return[s,l]}function I5(t,e,n,o){return P5(e,n)?t.map((i,s)=>{let l=e[s],{currentSize:a,flexOpen:u,flexBasis:c}=l,d=a!==void 0;if(d||u){let{flexBasis:f}=i.props.style||{},p=d?l.currentSize:c;return p!==f?ft.default.cloneElement(i,{style:{...i.props.style,flexBasis:p,[o]:"auto"}}):i}else return i}):t}function P5(t,e){let n=[];t.forEach((c,d)=>{c.currentSize!==void 0&&n.push(d)});let o=e<0?n[0]:n[1],{currentSize:r=0,minSize:i=0}=t[o];if(r===i)return!1;if(Math.abs(e)>r-i){let c=e<0?-1:1;e=Math.max(0,r-i)*c}let s=t[n[0]],{currentSize:l=0}=s;s.currentSize=l+e;let a=t[n[1]],{currentSize:u=0}=a;return a.currentSize=u-e,!0}function dI(t){return ft.default.createElement(Fa,{shim:t===0,key:`placeholder-${t}`})}function D5(t,e){let{[e]:n}=t.getBoundingClientRect(),r=getComputedStyle(t).getPropertyValue(`min-${e}`),i=r.endsWith("px")?parseInt(r,10):0;return{size:n,minSize:i}}var yI=require("react/jsx-runtime"),Hx="hwFlexbox",gI=(0,hI.forwardRef)(function(e,n){let{breakPoints:o,children:r,column:i,className:s,flexFill:l,gap:a,fullPage:u,id:c,onSplitterMoved:d,resizeable:f,row:p,spacing:g,splitterSize:y,style:m,...h}=e,{content:v,rootRef:x}=pI({children:r,onSplitterMoved:d,style:m}),b=(0,mI.default)(Hx,s,{[`${Hx}-column`]:i,[`${Hx}-row`]:p,"flex-fill":l,"full-page":u});return(0,yI.jsx)("div",{...h,className:b,"data-resizeable":f||void 0,id:c,ref:Oe(x,n),style:{...m,gap:a,"--spacing":g},children:v})});gI.displayName="Flexbox";var Dd=gI;var TI=require("react");var Bm={ADD:"add",BLUR:"blur",BLUR_SPLITTER:"blur-splitter",DRAG_START:"drag-start",DRAG_STARTED:"drag-started",DRAG_DROP:"drag-drop",FOCUS:"focus",FOCUS_SPLITTER:"focus-splitter",INITIALIZE:"initialize",LAYOUT_RESIZE:"layout-resize",MAXIMIZE:"maximize",MINIMIZE:"minimize",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAR_OUT:"tear-out"};var Zs=require("react");var W5=V(require("react"));var A5=require("@vuu-ui/vuu-utils"),N5=V(require("react"));var R5=require("@vuu-ui/vuu-utils"),vI=V(require("react"));var Ys=require("react"),po=new Map,mo=new Map;var Va=()=>{let t=(0,Ys.useCallback)((s,l)=>{let a=mo.get(s);if(a)return l!==void 0&&a[l]!==void 0?a[l]:l!==void 0?void 0:a},[]),e=(0,Ys.useCallback)((s,l,a)=>{if(l===void 0)mo.set(s,a);else if(mo.has(s)){let u=mo.get(s);mo.set(s,{...u,[l]:a})}else mo.set(s,{[l]:a})},[]),n=(0,Ys.useCallback)((s,l)=>{if(mo.has(s)){if(l===void 0)mo.delete(s);else if(mo.get(s)[l]){let{[l]:u,...c}=mo.get(s);Object.keys(c).length>0?mo.set(s,c):mo.delete(s)}}},[]),o=(0,Ys.useCallback)((s,l)=>{let a=po.get(s);if(a)return l!==void 0?a[l]:a},[]),r=(0,Ys.useCallback)((s,l,a)=>{if(l===void 0)po.set(s,a);else if(po.has(s)){let u=po.get(s);po.set(s,{...u,[l]:a})}else po.set(s,{[l]:a})},[]),i=(0,Ys.useCallback)((s,l)=>{if(po.has(s)){if(l===void 0)po.delete(s);else if(po.get(s)[l]){let{[l]:u,...c}=po.get(s);Object.keys(c).length>0?po.set(s,c):po.delete(s)}}},[]);return{loadSessionState:t,loadState:o,saveSessionState:e,saveState:r,purgeState:i,purgeSessionState:n}};var Rd=(t,e,n=[])=>{var r,i,s;let o=(s=(r=t.props)==null?void 0:r.title)!=null?s:(i=t.props)==null?void 0:i["data-tab-title"];if(o)return o;{let l=e;do o=`Tab ${++l}`;while(n.includes(o));return o}};var F5=require("react");var O5=V(require("react"));var B5=V(require("react"));var V5=V(require("react"));var z5=require("@vuu-ui/vuu-utils"),$5=V(require("react"));var wI=require("react"),K5=t=>console.log(`dispatch ${t.type}, have you forgotten to provide a LayoutProvider ?`),Bx=(0,wI.createContext)({dispatchLayoutProvider:K5,version:-1});var SI=require("react");var U5=require("react/jsx-runtime");var Mn=()=>{let{dispatchLayoutProvider:t}=(0,Zs.useContext)(Bx);return t},EI=()=>{let{createNewChild:t}=(0,Zs.useContext)(Bx);return t};var MI=require("react/jsx-runtime"),kI=function(e){let{path:n}=e,o=Mn(),r=(0,TI.useCallback)(i=>{o({type:Bm.SPLITTER_RESIZE,path:n,sizes:i})},[o,n]);return(0,MI.jsx)(Dd,{...e,onSplitterMoved:r})};kI.displayName="Flexbox";nt("Flexbox",kI,"container");var HI=V(j()),$m=require("react");var Vo=require("react");var tl=require("react"),PI=["height","width"];var el=new WeakMap,DI=(t,e,n)=>{switch(n){case"height":return e.height;case"scrollHeight":return t.scrollHeight;case"scrollWidth":return t.scrollWidth;case"width":return e.width;default:return 0}},II=new ResizeObserver(t=>{for(let e of t){let{target:n,contentRect:o}=e,r=el.get(n);if(r){let{onResize:i,measurements:s}=r,l=!1;for(let[a,u]of Object.entries(s)){let c=DI(n,o,a);c!==u&&(l=!0,s[a]=c)}l&&i&&i(s)}}});function Vm(t,e,n,o=!1){let r=(0,tl.useRef)(e),i=(0,tl.useCallback)(s=>{let l=s.getBoundingClientRect();return r.current.reduce((a,u)=>(a[u]=DI(s,l,u),a),{})},[]);(0,tl.useLayoutEffect)(()=>{let s=t.current,l=!1;async function a(){el.set(s,{measurements:{}}),l=!1;let{fonts:u}=document;if(u&&await u.ready,!l){let c=el.get(s);if(c){let d=i(s);c.measurements=d,II.observe(s),o&&n(d)}}}if(s){if(el.has(s))throw Error("useResizeObserver attemping to observe same element twice");a()}return()=>{s&&el.has(s)&&(II.unobserve(s),el.delete(s),l=!0)}},[t,i,o,n]),(0,tl.useLayoutEffect)(()=>{let s=t.current,l=el.get(s);if(l){if(r.current!==e){r.current=e;let a=i(s);l.measurements=a}l.onResize=n}},[e,i,t,n])}function G5(t,e){let n=document.body.querySelector(`.${t}`),o={get:function(r,i){let s=r.getPropertyValue(`--${t}-breakpoint-${i}`);return s?parseInt(s):void 0}};return n?new Proxy(getComputedStyle(n),o):e!=null?e:{}}var j5=([,t],[,e])=>e-t,zx=t=>Object.entries(t).sort(j5).map(([e,n],o,r)=>[e,n,o<r.length-1?r[o+1][1]:9999]),Vx=null,q5=(t="salt")=>{let{xs:e,sm:n,md:o,lg:r,xl:i}=G5(t);return zx({xs:e,sm:n,md:o,lg:r,xl:i})},RI=t=>(Vx===null&&(Vx=q5(t)),Vx);var Q5=[],LI=({breakPoints:t,smallerThan:e},n)=>{let[o,r]=(0,Vo.useState)(e?!1:"lg"),i=(0,Vo.useRef)(document.body),s=(0,Vo.useRef)(t?zx(t):RI()),l=(0,Vo.useRef)("lg"),a=(0,Vo.useCallback)(c=>{if(s.current){for(let[d,f]of s.current)if(c>=f)return d}},[s]),u=(0,Vo.useCallback)(c=>{if(e){let d=s.current.find(([f])=>f===e);if(d){let[,,f]=d;return c<f}}else return a(c);return c},[e,a]);return Vm(n||i,s.current?["width"]:Q5,({width:c})=>{let d=u(c);d!==l.current&&(l.current=d,r(d))},!0),(0,Vo.useEffect)(()=>{let c=n||i;if(c.current){let d=l.current;if(s.current){let{clientWidth:f}=c.current,p=u(f);l.current=p,p!==d&&r(p)}}},[r,u,n]),o};var J5="data-collapsible",Tne={[J5]:!0,"data-pad-start":!0,"data-pad-end":!0};var AI=require("@vuu-ui/vuu-utils"),jn=require("react");var X5=["xs","sm","md","lg","xl"],Y5=12,NI=({children:t,cols:e,style:n})=>{let o=(0,jn.useRef)(null),r=(0,jn.useRef)(null),i=(0,jn.useRef)(),s=e!=null?e:Y5,a=(n==null?void 0:n.flexDirection)==="column"?"height":"width",u=(0,jn.useMemo)(()=>Array.isArray(t)?t:(0,jn.isValidElement)(t)?[t]:[],[t]),c=(0,jn.useCallback)((d,f)=>{let p=Fm(d,f,X5),g=[],y=[];for(let m=0;m<d.length;m++){let h=d[m],{style:{flex:v,...x}}=h.props;g.push((0,jn.cloneElement)(h,{key:(0,AI.getUniqueId)(),style:{...x,"--parent-col-count":s}})),y.push(p[m])}return[g,y]},[s]);return(0,jn.useMemo)(()=>{let[d,f]=c(u,a);r.current=f,i.current=d},[c,u,a]),{cols:s,content:i.current,rootRef:o}};var OI=require("react/jsx-runtime"),zm="hwFluidGrid",$x=(0,$m.forwardRef)(function(e,n){let{breakPoints:o,children:r,column:i,cols:s=12,className:l,flexFill:a,gap:u=3,fullPage:c,id:d,onSplitterMoved:f,resizeable:p,row:g,showGrid:y,spacing:m,splitterSize:h,style:v,...x}=e,b=(0,$m.useMemo)(()=>Ws(r),[r]),{cols:S,content:C,rootRef:w}=NI({children:b,cols:s,style:v}),E=LI({breakPoints:o},w),T=(0,HI.default)(zm,l,{[`${zm}-column`]:i,[`${zm}-row`]:g,[`${zm}-show-grid`]:y,"flex-fill":a,"full-page":c}),M={...v,"--spacing":m,"--grid-col-count":S,"--grid-gap":u};return(0,OI.jsx)("div",{...x,className:T,"data-breakpoint":E,"data-cols":S,"data-resizeable":p||void 0,id:d,ref:Oe(w,n),style:M,children:C})});$x.displayName="FluidGrid";var BI=require("react/jsx-runtime"),FI=function(e){return(0,BI.jsx)($x,{...e})};FI.displayName="FluidGrid";nt("FluidGrid",FI,"container");var tu=require("react");var za=require("react"),$I=require("react/jsx-runtime"),VI=(0,za.createContext)(void 0);function _m({children:t,collectionHook:e,...n}){return(0,$I.jsx)(VI.Provider,{value:e,children:Object.keys(n).length>0?(0,za.cloneElement)(t,n):t})}function zI(){let t=(0,za.useContext)(VI);if(t)return t}var Z5=t=>Object.prototype.toString.call(t)==="[object Object]";function In(t){return typeof t=="string"?t:Z5(t)?Object.prototype.hasOwnProperty.call(t,"label")?String(t.label):(console.warn(["itemToString: you've likely forgotten to set the label prop on the item object.","You can also provide your own `itemToString` implementation."].join(`
846
- `)),""):String(t)}var Pe=require("react");var $a=require("react");var _I=t=>null;var WI=t=>null;var _x=(t,e)=>t!==null&&Object.prototype.hasOwnProperty.call(t,e),Wx=t=>_x(t,"header"),KI=t=>_x(t,"childNodes"),Ld=(t,e)=>t&&Object.prototype.hasOwnProperty.call(t.props,e),UI=t=>{if((0,$a.isValidElement)(t)){if(Ld(t,"disabled"))return t.props.disabled===!0}else if(_x(t,"disabled"))return t.disabled===!0;return!1},GI=t=>(0,$a.isValidElement)(t)&&Ld(t,"focusable")?t.props.focusable:!0,jI=(t,e,n)=>{if(t.childNodes)return t.childNodes.length;if(t.header){let o=n+1,r=0;for(;o<e.length&&!e[o].header;)r++,o++;return r}else return 0},e8=t=>{if(typeof t.props.children=="string")return t.props.children;if(t.props.title)return t.props.title;if(t.props.label)return t.props.label},qI=t=>t.type===WI||Ld(t,"data-header"),QI=t=>t.type===_I||Ld(t,"data-group"),t8=t=>Ld(t,"selectable")?t.props.selectable===!0:!QI(t)&&!qI(t),n8=t=>{if(QI(t)){let{props:{children:e}}=t;if(typeof e!="string")return Ux(e)}},o8=(t,e)=>{let n=[];return $a.Children.forEach(t,o=>{(0,$a.isValidElement)(o)&&n.push(e(o))}),n},Kx=(t,e)=>{if(Array.isArray(t))return t.length===0&&(e!=null&&e.noChildrenLabel)?[{label:e.noChildrenLabel,value:null}]:t.map((n,o)=>{var r,i;return{childNodes:Kx(n.childNodes,e),description:n.description,expanded:n.expanded,value:n,label:(i=(r=e==null?void 0:e.itemToString)==null?void 0:r.call(e,n))!=null?i:In(n)}});if(t)throw Error("list-child-items expects source to be an array")},Ux=t=>{if(t)return o8(t,e=>{let{"data-id":n,disabled:o,id:r=n,"data-expanded":i,expanded:s=i}=e.props;return{childNodes:n8(e),disabled:o,expanded:s,header:qI(e),id:r,label:e8(e),selectable:t8(e),value:e}})},r8=new Set(["/","-","."]),i8=t=>r8.has(t),Gx=(t,e)=>e.startsWith(t)&&i8(e[t.length]),s8=new Set([".","/"]);function l8(t,e){return e.startsWith(t)?s8.has(e.charAt(t.length)):!1}function Wm(t,e,n){let o;return t.map(i=>i.id===e?{...i,...n}:l8(i.id,e)&&i.childNodes?(o=Wm(i.childNodes,e,n),{...i,childNodes:o}):i)}var a8=/[.*+?^${}()|[\]\\]/g;function Km(t){return t.replace(a8,"\\$&")}var Ad=(t,e)=>Object.keys(t).reduce((o,r)=>{let i=t[r],s=e[r];return typeof i=="function"&&typeof s=="function"&&(o[r]=(...l)=>{i(...l),s(...l)}),o},{...e});var u8=t=>t&&t.replace(/^\s+/g,""),jx=t=>new RegExp(`(${Km(u8(t))})`,"gi"),JI=(t="",e=jx)=>(n="")=>!!n.length&&!!t.length&&n.match(e(t))!==null;function Um(t,e){return Array.isArray(t)?t.includes(e.id):t===e.id}var ho=require("react");function _a({controlled:t,default:e,name:n,state:o="value"}){let{current:r}=(0,ho.useRef)(t!==void 0),[i,s]=(0,ho.useState)(e),l=t!==void 0?t:i,{current:a}=(0,ho.useRef)(e);(0,ho.useEffect)(()=>{},[o,n,t]),(0,ho.useEffect)(()=>{},[JSON.stringify(e,c8)]);let u=(0,ho.useCallback)(c=>{r||s(c)},[r]);return[l,u,r]}function c8(t,e){return(0,ho.isValidElement)(e)?null:e}var d8={},Ki=({children:t,id:e,options:n=d8,source:o})=>{var P,N;let{getItemId:r}=n,[,i]=(0,Pe.useState)(null),s=zI(),l=(0,Pe.useRef)([]),a=(0,Pe.useRef)([]),u=(0,Pe.useMemo)(()=>[],[]),c=(0,Pe.useRef)((P=n.filterPattern)!=null?P:""),d=(N=n.disableFilter)!=null?N:!1,{getFilterRegex:f=jx,noChildrenLabel:p,itemToString:g=In}=n,y=(0,Pe.useCallback)(()=>n.defaultExpanded||!1,[n.defaultExpanded]),m=(0,Pe.useCallback)((D,B,F=1,$="",Q=[],J=[],K=[])=>(D.forEach((G,se,Y)=>{var Ve,et;let Re=G.header&&n.collapsibleHeaders,ge=G.childNodes&&n.collapsibleHeaders===!1,Te=!G.childNodes||G.childNodes.length===0,be=ge||Te&&!Re,$e=$?`${$}.${se}`:`item-${se}`,lt=(Ve=G.id)!=null?Ve:r?r(se):`${e}-${$e}`,Be=be?void 0:(et=G.expanded)!=null?et:y(),Se={...G,childNodes:void 0,count:!ge&&Be===void 0?0:jI(G,Y,se),description:G.description,disabled:UI(G.value),focusable:GI(G.value)?void 0:!1,id:lt,index:B.value,expanded:Be,level:F};if(Q.push(Se),J.push(Se),K.push(D[se].value),B.value+=1,G.childNodes){let[vn]=m(G.childNodes,B,F+1,$e,[],J,K);Se.childNodes=vn}}),[Q,K,J]),[n.collapsibleHeaders,r,e,y]),h=(0,Pe.useCallback)(()=>c.current&&!d?JI(c.current,f):null,[d,f]),v=(0,Pe.useCallback)((D,B=h(),F=[],$={value:0})=>{let Q=!1;for(let J of D)Q&&!Wx(J)||(J.value!==null&&(B===null||B(g(J.value)))&&(F[$.value]=J,$.value+=1),Q=!1,Wx(J)&&J.expanded===!1?Q=!0:KI(J)&&J.expanded!==!1&&J.childNodes&&v(J.childNodes,B,F,$));return F},[h,g]),x=(0,Pe.useMemo)(()=>s?u:Kx(o,{itemToString:g,noChildrenLabel:p})||Ux(t)||[],[s,u,o,g,p,t]),[b,S,C]=(0,Pe.useMemo)(()=>s?[u,u,u]:m(x,{value:0}),[u,m,s,x]);a.current=C,(0,Pe.useMemo)(()=>s?u:l.current=v(b),[u,v,b,s]);let w=(0,Pe.useRef)(b),E=(0,Pe.useCallback)((D="")=>{typeof D=="string"&&(c.current=D,l.current=v(b),i({}))},[b,v]),T=(0,Pe.useCallback)((D,B=b)=>{let F=B.find($=>{var Q;return $.id===D||((Q=$==null?void 0:$.childNodes)==null?void 0:Q.length)&&Gx($.id,D)});if((F==null?void 0:F.id)===D)return S==null?void 0:S[F.index];if(F)return T(D,F.childNodes);throw Error(`useCollectionData itemById, id ${D} not found `)},[S,b]),M=(0,Pe.useCallback)((D,B=b)=>{let F=B.find(Q=>{var J;return Q.id===D||((J=Q==null?void 0:Q.childNodes)==null?void 0:J.length)&&Gx(Q.id,D)}),$=F?l.current.indexOf(F):-1;if($!==-1)return $;throw Error(`useCollectionData indexOfItemById, id ${D} not found `)},[b]),L=(0,Pe.useCallback)(D=>{let B=a.current.find(F=>(0,Pe.isValidElement)(F.value)?F.label===D:F.value===D);if(B)return B;throw Error("useCollectionData toCollectionItem, item not found ")},[]),k=(0,Pe.useCallback)(D=>{if(D===null)return null;if(Array.isArray(D)){let B=[];for(let F of D){let $=L(F);B.push($)}return B}else if(D!==void 0)return L(D)},[L]),I=(0,Pe.useCallback)(D=>{if(D===void 0)return;let B=k(D);return Array.isArray(B)?B.map(F=>F.id):B?[B.id]:[]},[k]),A=(0,Pe.useCallback)(D=>{let B=F=>{let $=a.current.find(Q=>(0,Pe.isValidElement)(Q.value)?Q.label===F:Q.value!==null&&g(Q.value)===F);if($)return $};if(D===null)return null;if(Array.isArray(D)){let F=[];for(let $ of D){let Q=B($);Q&&F.push(Q)}return F}else if(D!==void 0)return B(D)},[g]),H=(0,Pe.useCallback)(D=>{for(let B of w.current)if(D===B.value)return B.id;throw Error("useCollectionData itemToId, item not found")},[]),R=(0,Pe.useCallback)(D=>{w.current=Wm(w.current,D.id,{expanded:!1}),l.current=v(w.current),i({})},[v]),O=(0,Pe.useCallback)(D=>{w.current=Wm(w.current,D.id,{expanded:!0}),l.current=v(w.current),i({})},[v]);return s||{collapseGroupItem:R,data:l.current,expandGroupItem:O,setFilterPattern:E,indexOfItemById:M,itemById:T,itemToId:H,toCollectionItem:L,itemToCollectionItem:k,itemToCollectionItemId:I,stringToCollectionItem:A}};var Ui=require("react");var YI=["width"],ZI=["height"],nl=new Map,eP=(t,e,n)=>{switch(n){case"height":return e.height;case"clientHeight":return t.clientHeight;case"clientWidth":return t.clientWidth;case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(t.scrollHeight);case"scrollWidth":return Math.ceil(t.scrollWidth);case"width":return e.width;default:return 0}};var XI=new ResizeObserver(t=>{for(let e of t){let{target:n,borderBoxSize:o,contentBoxSize:r}=e,i=nl.get(n);if(i){let[{blockSize:s,inlineSize:l}]=o,[{blockSize:a,inlineSize:u}]=r,{onResize:c,measurements:d}=i,f=!1;for(let[p,g]of Object.entries(d)){let y=eP(n,{height:s,width:l,contentHeight:a,contentWidth:u},p);y!==g&&(f=!0,d[p]=y)}f&&c&&c(d)}}});function Ur(t,e,n,o=!1){let r=(0,Ui.useRef)(e),i=t.current,s=(0,Ui.useCallback)(l=>{let{width:a,height:u}=l.getBoundingClientRect(),{clientWidth:c,clientHeight:d}=l;return r.current.reduce((f,p)=>(f[p]=eP(l,{width:a,height:u,contentHeight:d,contentWidth:c},p),f),{})},[]);(0,Ui.useLayoutEffect)(()=>{async function l(){nl.set(i,{measurements:{}}),await document.fonts.ready;let a=nl.get(i);if(a){let u=s(i);a.measurements=u,XI.observe(i),o&&n(u)}else console.log("%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation","font-weight:bold; color:red;")}return i&&(nl.has(i)&&console.log("useResizeObserver attemping to observe same element twice",{target:i}),l()),()=>{i&&nl.has(i)&&(XI.unobserve(i),nl.delete(i))}},[s,i]),(0,Ui.useEffect)(()=>{let l=t.current,a=nl.get(l);if(a){if(r.current!==e){r.current=e;let u=s(l);a.measurements=u}a.onResize=n}},[e,s,t,n])}var tP=t=>t===void 0||t==="default"||t==="deselectable",Wa=t=>t==="multiple"||(t==null?void 0:t.startsWith("extended"))===!0,qx=t=>t==="none";var Gr=t=>t!==void 0&&t.length>0,nP=t=>t[0];var Ka=require("react"),f8=t=>typeof t!="function",oP=t=>{let[e,n]=(0,Ka.useState)(t),o=(0,Ka.useRef)(e),r=(0,Ka.useCallback)(i=>{if(f8(i))o.current=i,n(i);else{let{current:s}=o;o.current=i(s),n(o.current)}},[]);return[o,r]};var Qx=V(j());var jr=require("react");var qn=require("react");var Nd=require("react"),p8=[],rP=({popperRef:t,rootRef:e,isOpen:n,onClose:o})=>{let r=(0,Nd.useRef)(n);(0,Nd.useEffect)(()=>{r.current=n},[n]),(0,Nd.useEffect)(()=>{let[i,s]=n?[l=>{var u,c;let a=l.target;!((u=t.current)!=null&&u.contains(a))&&!((c=e.current)!=null&&c.contains(a))&&o("click-away")},l=>{l.key==="Escape"&&r.current&&(o("Escape"),l.stopPropagation())}]:p8;return i&&s&&(document.body.addEventListener("mousedown",i,!0),document.body.addEventListener("keydown",s,!0)),()=>{i&&s&&(document.body.removeEventListener("mousedown",i,!0),document.body.removeEventListener("keydown",s,!0))}},[n,o,t,e])};var m8=[],iP=({defaultIsOpen:t,disabled:e,fullWidth:n,id:o,isOpen:r,onOpenChange:i,onKeyDown:s,openKeys:l=["Enter","ArrowDown"," "],openOnFocus:a,popupComponent:u,popupWidth:c,rootRef:d,width:f})=>{var R;let p=(0,qn.useRef)(null),g=(0,qn.useRef)(null),y=(0,qn.useCallback)(O=>{g.current=O},[]),[m,h]=Le({controlled:r,default:!!t,name:"useDropdown",state:"isOpen"}),[v,x]=(0,qn.useState)({width:(R=c!=null?c:f)!=null?R:0}),b=(0,qn.useCallback)(()=>{h(!0),i==null||i(!0)},[i,h]),S=(0,qn.useCallback)(O=>{h(!1),i==null||i(!1,O)},[i,h]);rP({popperRef:g,rootRef:d,isOpen:m,onClose:S});let C=(0,qn.useCallback)(()=>{e||a&&(h(!0),i==null||i(!0),p.current=window.setTimeout(()=>{p.current=null},1e3))},[e,i,a,h]),w=(0,qn.useCallback)(O=>{if(["Enter"," "].indexOf(O.key)===-1){let P=!m;h(P),i==null||i(P)}},[m,h,i]),E=(0,qn.useCallback)(O=>{O.key==="Escape"&&m?(O.key==="Escape"&&(O.stopPropagation(),O.preventDefault()),S(O.key)):l.includes(O.key)&&!m?(O.preventDefault(),b()):s==null||s(O)},[S,m,s,l,b]),T=(0,qn.useCallback)(O=>{var P;m&&((P=g.current)!=null&&P.contains(O.relatedTarget)||S("blur"))},[S,m]),M=n!=null?n:!1;Ur(d,M?YI:m8,x,M);let k=`${o}-dropdown`,I={"aria-expanded":m,"aria-owns":m?k:void 0,id:`${o}-control`,onClick:e||a?void 0:w,onFocus:C,role:"listbox",onBlur:T,onKeyDown:e?void 0:E,style:{width:M?void 0:f}},A={id:k,width:v.width},H=Oe(y,u.ref);return{componentProps:A,popupComponentRef:H,isOpen:m,label:"Dropdown Button",triggerProps:I}};var Hd=require("react/jsx-runtime"),Gm="vuuDropdown",Ua=(0,jr.forwardRef)(function({PopupProps:e,"aria-labelledby":n,children:o,className:r,defaultIsOpen:i,disabled:s,fullWidth:l,id:a,isOpen:u,onKeyDown:c,onOpenChange:d,openKeys:f,openOnFocus:p,placement:g="below-full-width",popupWidth:y,width:m,...h},v){let x=(0,jr.useRef)(null),b=(0,Qx.default)(Gm,r,{[`${Gm}-fullWidth`]:l,[`${Gm}-disabled`]:s}),[S,C]=jr.Children.toArray(o),w=ke(a),{componentProps:E,isOpen:T,popupComponentRef:M,triggerProps:L}=iP({ariaLabelledBy:n,defaultIsOpen:i,disabled:s,fullWidth:l,id:w,isOpen:u,onOpenChange:d,onKeyDown:c,openKeys:f,openOnFocus:p,popupComponent:C,popupWidth:y,rootRef:x,width:m}),k=()=>{let{id:H,role:R,...O}=L,{id:P=H,role:N=R,...D}=S.props;return(0,jr.cloneElement)(S,Ad(D,{...O,id:P,role:N}))},I=()=>{let{id:H,width:R,...O}=E,{className:P,id:N=H,width:D,...B}=C.props;return(0,jr.cloneElement)(C,{...B,...O,className:(0,Qx.default)(P,`${Gm}-popup-component`),id:N,ref:M,width:g.endsWith("full-width")?"auto":D!=null?D:R})},A=Oe(x,v);return(0,Hd.jsxs)("div",{...h,className:b,id:a,ref:A,children:[k(),T&&(0,Hd.jsx)(Fo,{children:(0,Hd.jsx)(Js,{...e,anchorElement:x,placement:g,children:I()})})]})});var sP=V(j()),lP=require("react");var Ga=require("react/jsx-runtime"),Od="vuuDropdownButton",aP=(0,lP.forwardRef)(function({ariaHideOptionRole:e,className:n,disabled:o,icon:r="chevron-down",isOpen:i,label:s,labelId:l,fullWidth:a,posInSet:u,setSize:c,labelAriaAttributes:d,...f},p){return(0,Ga.jsx)(jt,{className:(0,sP.default)(Od,{[`${Od}-fullWidth`]:a},n),disabled:o,variant:"secondary",...f,ref:p,children:(0,Ga.jsxs)("div",{className:`${Od}-content`,children:[(0,Ga.jsx)("span",{"aria-hidden":e?"true":void 0,...d,className:`${Od}-buttonLabel`,id:l,role:"option",children:s}),(0,Ga.jsx)("span",{className:`${Od}-buttonIcon`,"data-icon":r,"aria-hidden":"true"})]})})});var Qr=require("react");function h8(t,...e){let n=new Set(t);for(let o of e)for(let r of o)n.add(r);return n}var Fd="ArrowUp",Bd="ArrowDown",uP="ArrowLeft",cP="ArrowRight",Jx="Enter";var Xx="Home",jm="End",Yx="PageUp",qm="PageDown",dP=" ",g8=new Set(["Enter","Delete"," "]),y8=new Set(["Tab"]),b8=new Set(["ArrowRight","ArrowLeft"]),fP=new Set([Xx,jm,Yx,qm,Bd,Fd]),v8=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),x8=h8(g8,fP,b8,v8,y8),Qm=t=>x8.has(t.key)?!1:t.key.length===1&&!t.ctrlKey&&!t.metaKey&&!t.altKey,pP=({key:t})=>fP.has(t);var Zx=require("react");var C8={},w8=t=>Array.isArray(t.childNodes),S8=t=>!0,E8=t=>t.closest("[data-toggle],[aria-expanded]").dataset.toggle==="true",mP=({collapsibleHeaders:t,collectionHook:e,highlightedIdx:n,onToggle:o})=>{let r=(0,Zx.useCallback)(l=>{if(l.key===cP||l.key===Jx){let a=e.data[n];a&&a.expanded===!1&&a.value&&(l.preventDefault(),e.expandGroupItem(a),o==null||o(a.value))}if(l.key===uP||l.key===Jx){let a=e.data[n];a&&a.expanded&&a.value&&(l.preventDefault(),e.collapseGroupItem(a),o==null||o(a.value))}},[e.collapseGroupItem,e.data,e.expandGroupItem,n]),s={onClick:(0,Zx.useCallback)(l=>{console.log(`useCollapsibleGroups idx=${n}`);let a=e.data[n];console.log(l.target,l.currentTarget),a&&w8(a)&&(!S8(a)||E8(l.target))&&(l.stopPropagation(),l.preventDefault(),a.expanded===!1&&a.value?(e.expandGroupItem(a),o==null||o(a.value)):a.expanded===!0&&a.value&&(e.collapseGroupItem(a),o==null||o(a.value)))},[e.collapseGroupItem,e.data,e.expandGroupItem,n]),onKeyDown:r};return t?s:C8};function T8(t){if(t){let e=t.dataset.index;if(e)return parseInt(e,10);if(e=t.ariaPosInSet)return parseInt(e,10)-1}return-1}var k8=t=>t.closest("[data-index],[aria-posinset]");var hP=t=>T8(k8(t));var Jm=require("react"),M8={scrollToIndex:()=>{},scrollToItem:()=>{},scrollTo:()=>{}},Xm=({collectionHook:t,forwardedRef:e,scrollableRef:n,scrollIntoView:o})=>{let r=(0,Jm.useMemo)(()=>({scrollToIndex:i=>{let s=t.data[i];s&&(o==null||o(s))},scrollToItem:i=>{let s=t.toCollectionItem(i);s&&(o==null||o(s))},scrollTo:i=>{n!=null&&n.current&&(n.current.scrollTop=i)}}),[t,o,n]);(0,Jm.useImperativeHandle)(e,()=>n.current?r:M8,[r,n])};var fn=require("react");var ol=require("@vuu-ui/vuu-utils"),t0=-2;function gP(t,e,n){return e===Fd||e===jm?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var e0=t=>{var n;let e=Array.isArray(t)?nP(t):void 0;if(e){let o=document.getElementById(e);if(o){let r=parseInt((n=o.dataset.index)!=null?n:"-1");if((0,ol.isValidNumber)(r))return r}}return-1},I8=(t,e,n,o)=>t===jm?o:t===Xx?-1:e!==-1?e:n,P8=(t,e,n,o)=>{let{top:r}=e.getBoundingClientRect(),{scrollTop:i,clientHeight:s,scrollHeight:l}=t,a=n-1,u=Math.min(i+s,l-s);if(u!==i&&o<a){t.scrollTo(0,u);let c=o,d;do c+=1,d=(0,ol.getElementByDataIndex)(t,c,!0).getBoundingClientRect();while(d.top<r&&c<a);return c}},D8=async(t,e,n)=>{let{top:o}=e.getBoundingClientRect(),{scrollTop:r,clientHeight:i}=t,s=Math.max(r-i,0);if(s!==r&&n>0)return t.scrollTo(0,s),new Promise(l=>{requestAnimationFrame(()=>{let a=n,u;do a-=1,u=(0,ol.getElementByDataIndex)(t,a,!0).getBoundingClientRect();while(u.top>o&&a>0);l(a)})})},R8=t=>t!==void 0,yP=(t,e)=>{let n=(0,ol.getElementByDataIndex)(t,e);return R8(n)},bP=({containerRef:t,defaultHighlightedIndex:e=-1,disableHighlightOnFocus:n,highlightedIndex:o,itemCount:r,onHighlight:i,onKeyboardNavigation:s,restoreLastFocus:l,selected:a,viewportItemCount:u})=>{let c=(0,fn.useRef)(-1),[,d]=(0,fn.useState)({}),[f,p,g]=Le({controlled:o,default:e,name:"UseKeyboardNavigation"}),y=(0,fn.useCallback)((T,M=!1)=>{i==null||i(T),p(T),M&&(c.current=T)},[i,p]),m=(0,fn.useCallback)(async(T,M)=>{let L=(0,ol.getElementByDataIndex)(t.current,M,!0),k;if(L){let{current:I}=t;L&&I&&(k=T===qm?P8(I,L,r,M):await D8(I,L,M))}return k!=null?k:M},[t,r]),h=(0,fn.useCallback)((T=Bd,M=T===Bd?-1:r)=>{if(r===0)return-1;{let L=T==="End",k=T==="Home",I=L||k||M===-1?-1:e0(a),A=I8(T,M,I,r),H=gP(r,T,A),{current:R}=t;if(H===0&&T===Fd&&R&&!yP(R,0))return M;for(;((T===Bd||k)&&H<r||(T===Fd||L)&&H>0)&&R&&!yP(R,H);)H=gP(r,T,H);return H}},[t,r,a]),v=(0,fn.useRef)(!1),x=(0,fn.useRef)(!1),b=T=>x.current=T,S=(0,fn.useCallback)(()=>{if(x.current)x.current=!1;else if(v.current=!0,r===0)y(t0);else if(f!==-1)d({});else if(l)if(c.current!==-1)y(c.current);else{let T=e0(a);y(T!==-1?T:0)}else if(Gr(a)){let T=e0(a);y(T)}else n!==!0&&y(h())},[n,f,r,h,l,a,y]),C=(0,fn.useCallback)(async T=>{let M=T.key===qm||T.key===Yx?await m(T.key,f):h(T.key,f);M!==f&&y(M,!0),s==null||s(T,M)},[f,h,m,s,y]),w=(0,fn.useCallback)(T=>{r>0&&pP(T)?(T.preventDefault(),T.stopPropagation(),v.current=!0,C(T)):Qm(T)&&(v.current=!0)},[r,C]),E=(0,fn.useMemo)(()=>({onBlur:T=>{let M=T.target.closest(".vuuList"),L=T.relatedTarget;M&&!(M!=null&&M.contains(L))&&(v.current=!1,p(-1),l||(c.current=-1))},onFocus:S,onKeyDown:w,onMouseDownCapture:()=>{v.current=!1,b(!0)},onMouseMove:()=>{v.current&&(v.current=!1)},onMouseLeave:()=>{v.current=!1,b(!1),y(-1)}}),[S,w,l,p,y]);return{focusVisible:v.current?f:-1,controlledHighlighting:g,highlightedIndex:f,setHighlightedIndex:y,keyboardNavigation:v,containerProps:E,setIgnoreFocus:b}};var zo=require("@vuu-ui/vuu-utils"),go=require("react");var L8=["Enter"," "];var vP=({containerRef:t,defaultSelected:e,disableSelection:n=!1,highlightedIndex:o,itemQuery:r,onClick:i,onSelect:s,onSelectionChange:l,selected:a,selectionStrategy:u,selectionKeys:c=L8,tabToSelect:d})=>{let f=u==="deselectable",p=u==="multiple",g=u==="extended",y=(0,go.useRef)(-1),m=(0,go.useCallback)(k=>c.includes(k.key),[c]),[h,v]=_a({controlled:a,default:e!=null?e:[],name:"UseSelection",state:"selected"}),x=(0,go.useCallback)(k=>h.includes(k),[h]),b=(0,go.useCallback)(k=>x(k)?[]:[k],[x]),S=(0,go.useCallback)(k=>{let I=x(k)?h.filter(A=>A!==k):h.concat(k);return I.sort(),I},[x,h]),C=(0,go.useCallback)((k,I)=>{let A=I?h:[],[H]=h.slice(-1),R=H?(0,zo.getElementDataIndex)(document.getElementById(H)):0,O=Math.min(k,R),P=Math.max(k,R),N=t.current,B=Array.from(N.querySelectorAll(r)).slice(O,P+1).map($=>$.id),F=[...new Set([...A,...B])];return F.sort(),F},[t,r,h]),w=(0,go.useCallback)((k,I,A,H)=>{let{current:R}=t,{id:O}=(0,zo.getElementByDataIndex)(R,I,!0),P;p?P=S(O):g?H&&!A?P=S(O):A?P=C(I,H):P=[O]:f?P=b(O):P=[O],P!==h&&v(P),s==null||s(k,O),P!==h&&l&&l(k,P)},[t,p,g,f,h,s,S,C,b,v,l]),E=(0,go.useCallback)(k=>{let{current:I}=t,A=(0,zo.getElementByDataIndex)(I,o);(0,zo.isSelectableElement)(A)&&(m(k)||d&&k.key==="Tab")&&(k.key!=="Tab"&&k.preventDefault(),w(k,o,!1,k.ctrlKey||k.metaKey),g&&(y.current=o))},[o,t,m,d,w,g]),T=(0,go.useCallback)((k,I)=>{if(g&&k.shiftKey){let{current:A}=t,H=(0,zo.getElementByDataIndex)(A,I);(0,zo.isSelectableElement)(H)&&w(k,I,!0)}},[g,t,w]),M=(0,go.useCallback)(k=>{let{current:I}=t,A=(0,zo.getElementByDataIndex)(I,o);!n&&(0,zo.isSelectableElement)(A)&&(k.preventDefault(),k.stopPropagation(),w(k,o,k.shiftKey,k.ctrlKey||k.metaKey),g&&(y.current=o)),i==null||i(k)},[t,o,n,i,w,g]);return{listHandlers:qx(u)?{onClick:i}:{onClick:M,onKeyDown:E,onKeyboardNavigation:T},selected:h,setSelected:v}};var rl=require("react");var xP=({disableTypeToSelect:t,highlightedIdx:e,highlightItemAtIndex:n,typeToNavigate:o,items:r,applyIncrementalSearch:i=!0})=>{let s=(0,rl.useRef)(null),l=(0,rl.useRef)(""),a=(0,rl.useRef)(-1),u=(0,rl.useCallback)(d=>{if(d||!i){let f=new RegExp(`^${l.current}`,"i"),p=r.findIndex(({label:g},y)=>y>a.current&&f.test(g));p===-1&&(p=r.findIndex(({label:g},y)=>y<=a.current&&f.test(g))),p!==-1&&n(p)}else l.current="",s.current=null,a.current=-1},[i,n,r]),c=(0,rl.useCallback)(d=>{let f=a.current!==-1;(Qm(d)||f&&d.key===dP)&&o&&(d.preventDefault(),d.stopPropagation(),(a.current===-1||d.key===l.current)&&(a.current=e),s.current!==null&&(clearTimeout(s.current),s.current=null),d.key!==l.current&&(l.current+=d.key),i&&u(!0),s.current=window.setTimeout(()=>{u()},100))},[o,i,e,u]);return{onKeyDown:t?void 0:c}};var ur=require("react");var CP=["height"],A8=["height","scrollHeight"],N8=[],wP={containerOnly:[A8,N8],withContent:[CP,CP]},H8=t=>t?wP.containerOnly:wP.withContent,SP={current:null},O8=(t,e)=>{let{transform:n="none"}=getComputedStyle(t);if(n.startsWith("matrix")){let o=n.lastIndexOf(",");return parseInt(n.slice(o+1))}else{let o=t.offsetParent;if(o===e||e===null)return t.offsetTop;{let r=t.offsetTop;for(;o!==null&&o!==e;)r+=o.offsetTop,o=o.offsetParent;return r}}},EP=({containerRef:t,contentRef:e=SP,highlightedIdx:n=-1,indexPositions:o,stickyHeaders:r=!1})=>{let i=(0,ur.useRef)(!1),s=(0,ur.useRef)({height:0,contentHeight:0}),l=(0,ur.useCallback)(y=>{i.current=!0,t.current&&(t.current.scrollTop=y),setTimeout(()=>{i.current=!1})},[]),a=(0,ur.useCallback)(()=>l(0),[l]),u=(0,ur.useCallback)(()=>{l(s.current.contentHeight-s.current.height)},[l]),c=(0,ur.useCallback)(y=>{let m=e.current||t.current;if(y.id){let h=document.getElementById(y.id);if(h&&t.current){let{height:v}=s.current,x=h.ariaExpanded&&h.firstChild?h.firstChild:h,b=r?36:0,S=O8(x,m),C=x.offsetHeight,{scrollTop:w}=t.current,E=w+b,T=E+v-b;if(S+C>T||S<E){let M=S+C>T?w+(S+C)-T:S-b;l(M)}}}},[t,e,l,r]);bd(()=>{let{height:y,contentHeight:m}=s.current,h=o[n];if(m>y&&h){let[v]=o,[x]=o.slice(-1);h===v?a():h===x?u():c(o[n])}},[n,o,c,u,a]);let d=(0,ur.useCallback)(({height:y,scrollHeight:m})=>{typeof y=="number"&&(s.current.height=y),typeof m=="number"&&(s.current.contentHeight=m)},[]),f=(0,ur.useCallback)(({height:y})=>{typeof y=="number"&&(s.current.contentHeight=y)},[]),[p,g]=H8(e===SP);return Ur(t,p,d,!0),Ur(e,g,f,!0),{isScrolling:i,scrollIntoView:c}};var ja=require("react/jsx-runtime"),F8=ut("saltHighlighter"),TP=t=>{let{matchPattern:e,text:n=""}=t,o=typeof e=="string"?new RegExp(`(${Km(e)})`,"gi"):e;return o===void 0?(0,ja.jsx)(ja.Fragment,{children:n}):(0,ja.jsx)("span",{children:n.split(o).map((r,i)=>r.match(o)?(0,ja.jsx)("strong",{className:F8("highlight"),children:r},`${i}-${r}`):r)})};var n0=require("react"),o0=V(j());var MP=V(j());var IP=require("react/jsx-runtime"),kP="vuuCheckboxIcon",Vd=({checked:t=!1,disabled:e=!1,...n})=>(0,IP.jsx)("span",{...n,className:(0,MP.default)(kP,{[`${kP}-checked-${e?"disabled":"enabled"}`]:t})});var il=require("react/jsx-runtime"),zd="vuuListItem",Ym=(0,n0.forwardRef)(function({height:e,...n},o){return(0,il.jsx)("div",{...n,"aria-hidden":!0,className:(0,o0.default)(zd,`${zd}-proxy`),ref:o,style:{height:e}})}),Gi=(0,n0.forwardRef)(function({children:e,className:n,disabled:o,tabIndex:r,item:i,itemHeight:s,itemTextHighlightPattern:l,label:a,selectable:u,selected:c,showCheckbox:d,style:f,...p},g){let y=(0,o0.default)(zd,n,{vuuDisabled:o,[`${zd}-checkbox`]:d}),m=s!==void 0?{...f,height:s}:f;return(0,il.jsxs)("div",{className:y,...p,"aria-disabled":o||void 0,"aria-selected":c||void 0,ref:g,style:m,children:[d&&(0,il.jsx)(Vd,{"aria-hidden":!0,checked:c}),e&&typeof e!="string"?e:l==null?(0,il.jsx)("span",{className:`${zd}-textWrapper`,children:a||e}):(0,il.jsx)(TP,{matchPattern:l,text:a||e})]})});var ih=V(j()),Dn=require("react");var fr=require("react");var qa=require("react");var PP=require("@vuu-ui/vuu-utils"),DP=require("react");var $8=require("react/jsx-runtime"),B8={isDragSource:void 0,isDropTarget:void 0,register:()=>{}},V8=()=>console.log("have you forgotten to provide a DragDrop Provider ?"),z8=(0,qa.createContext)({registerDragDropParty:V8});var RP=t=>{var s,l;let{dragSources:e,dropTargets:n,onDragOut:o,onEndOfDragOperation:r,registerDragDropParty:i}=(0,qa.useContext)(z8);if(t&&(e||n)){let a=(s=e==null?void 0:e.has(t))!=null?s:!1,u=(l=n==null?void 0:n.has(t))!=null?l:!1;return{isDragSource:a,isDropTarget:u,onDragOut:o,onEndOfDragOperation:r,register:i}}else return B8};var JP=require("@vuu-ui/vuu-utils"),xe=require("react");var Zm=class{constructor(e,n){this.draggableElement=null;this.payload=null;this.setDraggable=e=>{this.draggableElement=e};this.initialDragElement=n,this.mouseOffset=this.getMouseOffset(e,n)}setPayload(e){this.payload=e}getMouseOffset(e,n){let{clientX:o,clientY:r}=e,i=n.getBoundingClientRect();return{x:o-i.left,y:r-i.top}}};var LP=V(j()),sl=require("react");var eh=require("react/jsx-runtime"),_8=t=>t.split(" ").map(e=>`vuuDraggable-${e}`),th=(0,sl.forwardRef)(function({wrapperClassName:e,element:n,onDropped:o,onTransitionEnd:r,style:i,scale:s=1},l){let a=(0,sl.useCallback)(()=>{o==null||o()},[o]),u=(0,sl.useCallback)(f=>{f&&(f.innerHTML="",f.appendChild(n),s!==1&&(f.style.transform=`scale(${s},${s})`),f.addEventListener("vuu-dropped",a))},[n,a,s]),c=Oe(l,u),d=(0,sl.useMemo)(()=>({left:0,top:0}),[]);return(0,eh.jsx)(Fo,{children:(0,eh.jsx)(Js,{anchorElement:{current:document.body},placement:"absolute",position:d,children:(0,eh.jsx)("div",{className:(0,LP.default)("vuuDraggable",..._8(e)),ref:c,onTransitionEnd:r,style:i})})})}),r0=t=>{let e=document.createElement("div");return e.className="vuuDraggable-spacer",t&&e.addEventListener("transitionend",()=>{t.current=!1}),e},AP=()=>{let t=document.createElement("div");return t.className="vuuDraggable-dropIndicatorPosition",t},NP=t=>{let e=document.createElement("div");return e.className="vuuDraggable-dropIndicator",t&&e.addEventListener("transitionend",()=>{t.current=!1}),e};var W8=["left","right"],K8=["top","bottom"],nh=":not(.wrapped)",HP=':not([aria-hidden="true"])',OP=t=>{let e=t.cloneNode(!0);return e.removeAttribute("id"),e.dataset.index="-1",e},U8=(t,e="width",n=!1)=>{let o=e==="width"?"left":"top",{[e]:r,[o]:i}=t.getBoundingClientRect(),{padEnd:s=!1,padStart:l=!1}=t.dataset,a=getComputedStyle(t),[u,c]=e==="width"?W8:K8,d=l&&!n?0:parseInt(a.getPropertyValue(`margin-${u}`),10),f=s&&!n?0:parseInt(a.getPropertyValue(`margin-${c}`),10),p=r;if(parseInt(a.getPropertyValue("flex-shrink"),10)>0){let y=parseInt(a.getPropertyValue("flex-basis"),10);!isNaN(y)&&y>0&&(p=y)}return[i,d+p+f]},G8={horizontal:{CLIENT_POS:"clientX",CLIENT_SIZE:"clientWidth",CONTRA:"top",CONTRA_CLIENT_POS:"clientY",CONTRA_END:"bottom",CONTRA_POS:"y",DIMENSION:"width",END:"right",POS:"x",SCROLL_POS:"scrollLeft",SCROLL_SIZE:"scrollWidth",START:"left"},vertical:{CLIENT_POS:"clientY",CLIENT_SIZE:"clientHeight",CONTRA:"left",CONTRA_CLIENT_POS:"clientX",CONTRA_END:"right",CONTRA_POS:"x",DIMENSION:"height",END:"bottom",POS:"y",SCROLL_POS:"scrollTop",SCROLL_SIZE:"scrollHeight",START:"top"}},Pn=t=>G8[t],FP=(t,e)=>{let n=t.find(o=>o.id===e);if(n)return n},BP=(t,e)=>{t.splice(e,1);for(let n=e;n<t.length;n++)t[n].currentIndex-=1},Qa=(t,e,n,o,r)=>{let i=[],{DIMENSION:s}=Pn(e),l=Array.from(n?t.querySelectorAll(n):t.children),a=l.length,u=typeof(o==null?void 0:o.from)=="number"?o.atEnd?Math.max(0,o.from-1):o.from:0,c=typeof(o==null?void 0:o.to)=="number"?Math.min(o.to+2,a-1):a-1;for(let d=u;d<=c;d++){let f=l[d],[p,g]=U8(f,s),y=d===a-1,m=f.id;i.push({currentIndex:d,id:m,index:d,isDraggedItem:r===m,isLast:y,isOverflowIndicator:f.dataset.index==="overflow",element:f,start:p,end:p+g,size:g,mid:p+g/2})}return i},Ja=(t,e=!1)=>{let n=t.findIndex(o=>o.isDraggedItem);if(e){let{index:o}=t[n],r=t.filter(s=>!s.isDraggedItem).reduce((s,l)=>Math.min(s,l.index),Number.MAX_SAFE_INTEGER);if(r>0&&!(o===0&&r===1))return r+n}return n},i0=(t,e)=>{let n=Ja(t),o=e==="fwd"?n+1:n-1;if(o<0||o>=t.length)throw Error("switchDropTargetPosition index out of range");let r=t.at(n),i=t.at(o),s=i.size-r.size;if(e==="fwd"){let l=i.start+s,a=i.end,u={...r,start:l,mid:Math.floor(l+(a-l)/2),end:a},c=r.start,d=r.end+s,f={...i,start:c,mid:Math.floor(c+(d-c)/2),end:d};t.splice(n,2,f,u)}else{let l=i.start,a=i.end-s,u={...r,start:l,mid:Math.floor(l+(a-l)/2),end:a},c=r.start-s,d=r.end,f={...i,start:c,mid:Math.floor(c+(d-c)/2),end:d};t.splice(o,2,u,f)}},ll=(t,e,n,o)=>{let r=t.length,i=Ja(t),s=t[i];if(o==="fwd"){let l=Math.round(e+n);for(let a=r-1;a>=0;a--){let u=t[a];if(l>u.mid)return s&&a<i?s:u}}else{let l=Math.round(e);for(let a=0;a<r;a++){let u=t[a];if(l<u.mid)return a>i?s:u}}throw Error("no dropTraget identified")};function VP(t,e){let{height:n,left:o,top:r,width:i}=t,{height:s,width:l}=e;return{height:Math.min(n,s),left:o,top:r,width:Math.min(i,l)}}var zP=(t,e)=>{let n=t.querySelector(`${e}:not([aria-hidden="true"])`),o=n==null?void 0:n.parentElement;return o===t?t:o==null?void 0:o.parentElement},$P=(t,e)=>{let{SCROLL_SIZE:n,CLIENT_SIZE:o}=Pn(e),{[n]:r,[o]:i}=t;return r>i};var ji=require("react");var _P=({containerRef:t,onScrollingStopped:e,orientation:n="vertical"})=>{let o=(0,ji.useRef)(null),r=(0,ji.useRef)(!1),i=(0,ji.useRef)(0),s=(0,ji.useRef)("fwd"),l=(0,ji.useCallback)((u=!1)=>{console.log("[useAutoScroll] stopScrolling"),o.current!==null&&(clearTimeout(o.current),o.current=null),r.current=!1,e==null||e(s.current,i.current,u)},[e]),a=(0,ji.useCallback)((u,c,d=30)=>{let{current:f}=t;if(f){let{SCROLL_POS:p,SCROLL_SIZE:g,CLIENT_SIZE:y}=Pn(n),{[p]:m,[g]:h,[y]:v}=f,x=u==="fwd"?h-v-m:m,b=Math.min(x,d);u==="fwd"?(s.current="fwd",f[p]=i.current=m+b):(s.current="bwd",f[p]=i.current=m-b),b===x?l(!0):(r.current=!0,o.current=window.setTimeout(()=>{a(u,c,d)},100))}},[t,n,l]);return{isScrolling:r,startScrolling:a,stopScrolling:l}};var Xa=require("react"),WP=({selected:t,viewportRange:e})=>{let n=(0,Xa.useRef)();n.current=e;let o=(0,Xa.useCallback)(s=>{s.ariaSelected&&Array.isArray(t)&&t.length>1&&console.log("its a selected element, and we have a multi select")},[t]),r=(0,Xa.useCallback)(()=>{},[]),i=(0,Xa.useCallback)(()=>{},[]);return{beginDrag:o,drag:r,drop:i}};var pt=require("react");var $d=require("react");var KP=()=>{let t=(0,$d.useMemo)(()=>AP(),[]),e=(0,$d.useCallback)(()=>t.remove(),[t]);return{positionDropIndicator:(0,$d.useCallback)((o,r="end")=>(r==="end"?o.element.after(t):o.element.before(t),t),[t]),clearSpacer:e}};var GP=require("react/jsx-runtime"),j8=':not([data-overflowed="true"])',q8=':not([aria-hidden="true"])',UP=({onDrop:t,orientation:e="horizontal",containerRef:n,itemQuery:o="*",selected:r,viewportRange:i})=>{let s=(0,pt.useRef)(),l=(0,pt.useRef)(null),a=(0,pt.useRef)(null),u=(0,pt.useRef)(""),c=(0,pt.useRef)(!1),d=(0,pt.useRef)(-1),f=(0,pt.useRef)([]),p=(0,pt.useRef)(!1),[g,y]=(0,pt.useState)(!1),[m,h]=(0,pt.useState)(),{clearSpacer:v,positionDropIndicator:x}=KP(),b=(0,pt.useRef)(),S=`:is(${o}${j8}${q8},[data-overflow-indicator])`,C=H=>f.current.findIndex(R=>R.id===H.id),w=(H,R,O)=>{H.start+=R,H.mid+=R,H.end+=R,typeof O=="number"&&(H.currentIndex+=O)},E=(0,pt.useRef)();E.current=i;let T=(0,pt.useCallback)(()=>{v()},[v]),M=(0,pt.useCallback)((H,R,O)=>{let{current:P}=n,{current:N}=b;if(P&&N){f.current=Qa(P,e,S,E.current);let{size:D}=N,F=d.current+D/2,{current:$}=f,Q=ll($,F,D,"fwd");Q&&x(O&&H==="fwd"?$[$.length-1]:Q,"start")}},[n,x,S,e]),L=(0,pt.useCallback)(H=>{H.ariaSelected&&Array.isArray(r)&&r.length>1&&console.log("its a selected element, and we have a multi select");let{current:R}=n;if(R&&H){let{SCROLL_SIZE:O,CLIENT_SIZE:P}=Pn(e),{id:N}=H,{[O]:D,[P]:B}=R;c.current=D>B;let F=f.current=Qa(R,e,S,i),$=FP(F,N);if($&&R){let Q=C($);BP(F,Q),b.current=$;let{current:J}=E;if(J!=null&&J.atEnd)for(let be=0;be<F.length;be++)w(F[be],$.size);for(let be=Q;be<F.length;be++)w(F[be],-$.size,-1);let[K,G]=$.isLast?[F[F.length-1],"end"]:[F[Q],"start"];a.current=K,u.current=G;let se=x(K,G),{top:Y,left:Re,width:ge}=se.getBoundingClientRect(),Te={top:$.isLast?J!=null&&J.atEnd&&!J.atStart?Y+$.size-2:Y-2:Y-$.size-2,left:Re,width:ge,height:2};h((0,GP.jsx)(th,{wrapperClassName:"dropIndicatorContainer",style:Te,ref:l,element:NP()}))}}},[r,n,e,S,i,x]),k=(0,pt.useCallback)((H,R)=>{let{current:O}=a,{current:P}=b;if(P&&n.current){let N=e==="horizontal"?"left":"top";d.current=H;let{current:D}=f,B=ll(D,H,P.size,R);if(B&&B.index!==(O==null?void 0:O.index)){if(B.isOverflowIndicator)y(p.current=!0);else if(l.current){if(C(B)===D.length-1){let $=D[D.length-1],J=x($,"start").getBoundingClientRect();l.current.style[N]=`${J.top}px`}else{let Q=x(B,"start").getBoundingClientRect();l.current.style[N]=`${Q.top}px`}y(p.current=!1)}a.current=B,s.current=R}}},[n,e,x]),I=(0,pt.useCallback)(()=>{v();let{current:H}=b,{current:R}=a,{current:O}=u,{current:P}=E;if(H&&P&&R){let{index:N}=H,D=O==="start",{index:B,currentIndex:F}=R;a.current=null,s.current=void 0,p.current?t(N,-1,{fromIndex:N,toIndex:-1}):N<B?t(N,D?F:F+1,{fromIndex:N,toIndex:D?F:F+1}):t(N,D?B:B+1,{fromIndex:N,toIndex:D?B:B+1}),h(void 0)}y(!1)},[v,t]),A=(0,pt.useCallback)(()=>{},[]);return{beginDrag:L,drag:k,drop:I,dropIndicator:m,handleScrollStart:T,handleScrollStop:M,releaseDrag:A,revealOverflowedItems:g}};var Mt=require("react");var $o=require("react");var jP=(t="horizontal")=>{let e=(0,$o.useRef)(0),n=(0,$o.useRef)(!1),o=(0,$o.useMemo)(()=>[r0(n),r0()],[]),r=(0,$o.useCallback)((u,c="width")=>{let[d,f]=o;e.current=requestAnimationFrame(()=>{n.current=!0,d.style.cssText=`${c}: 0px`,f.style.cssText=`${c}: ${u}px`,o[0]=f,o[1]=d})},[o]),i=(0,$o.useCallback)((u=!1)=>{if(u===!0){let[c]=o,d=()=>{c.removeEventListener("transitionend",d),i()},f=t==="horizontal"?"width":"height";c.addEventListener("transitionend",d),r(0,f)}else o.forEach(c=>c.remove())},[r,t,o]),s=(0,$o.useCallback)(()=>{e.current&&(cancelAnimationFrame(e.current),e.current=0)},[]),l=(0,$o.useCallback)((u,c,d,f=!1,p="static")=>{if(c){let g=t==="horizontal"?"width":"height",[y,m]=o;if(s(),f)n.current?(i(),y.style.cssText=`${g}: ${d}px`,m.style.cssText=`${g}: 0px`,p==="fwd"?(c.element.before(y),c.element.after(m)):(c.element.after(y),c.element.before(m))):p==="fwd"?c.element.after(m):c.element.before(m),r(d,g);else if(p==="static")y.style.cssText=`${g}: ${d}px`,c.element.before(y);else throw Error("useDragDisplacers currently only supports noTransition for static displacement");p!=="static"&&i0(u,p)}},[r,s,i,t,o]),a=(0,$o.useCallback)((u,c,d,f=!1,p="static")=>{let g=t==="horizontal"?"width":"height",[y,m]=o;s(),f?(n.current?(i(),y.style.cssText=`${g}: ${d}px`,m.style.cssText=`${g}: 0px`,c.element.before(y),c.element.after(m)):p==="fwd"?c.element.after(m):c.element.before(m),r(d,g)):(y.style.cssText=`${g}: ${d}px`,c.element.after(y)),p!=="static"&&i0(u,p)},[r,s,i,t,o]);return{displaceItem:l,displaceLastItem:a,clearSpacers:i}};var s0=require("@vuu-ui/vuu-utils");var qP=({onDrop:t,orientation:e="horizontal",containerRef:n,itemQuery:o="*",selected:r,viewportRange:i})=>{let s=(0,Mt.useRef)(),l=(0,Mt.useRef)(!1),a=(0,Mt.useRef)(-1),u=(0,Mt.useRef)([]),c=(0,Mt.useRef)(!1),[d,f]=(0,Mt.useState)(!1),{clearSpacers:p,displaceItem:g,displaceLastItem:y}=jP(e),m=(0,Mt.useRef)(),h=`:is(${o}${nh}${HP},.vuuOverflowContainer-OverflowIndicator)`,v=k=>u.current.findIndex(I=>I.id===k.id),x=(0,Mt.useRef)();x.current=i;let b=(0,Mt.useCallback)(()=>{p()},[p]),S=(0,Mt.useCallback)((k,I,A)=>{let{current:H}=n,{current:R}=m;if(H&&R){u.current=Qa(H,e,h,x.current),k==="fwd"?u.current.push(R):u.current.unshift(R);let{size:O}=R,N=a.current+O/2,{current:D}=u,B=ll(D,N,O,"fwd");if(B){let $=v(B),Q=D[$];A&&k==="fwd"?y(D,D[D.length-1],O,!1,"static"):g(D,Q,O,!0,"static")}}},[n,g,y,h,e]),C=(0,Mt.useCallback)(k=>{k.ariaSelected&&Array.isArray(r)&&r.length>1&&console.log("its a selected element, and we have a multi select");let{current:I}=n;if(I&&k){let A=I.contains(k),{SCROLL_SIZE:H,CLIENT_SIZE:R}=Pn(e),{id:O}=k,{[H]:P,[R]:N}=I;l.current=P>N;let D=u.current=Qa(I,e,h,i,O);if(console.log({dropTargets:D}),A){let B=Ja(D),F=D[B];F&&I&&(m.current=F,(F.isLast?y:g)(D,F,F.size,!1,"static"))}else{let{top:B,height:F}=k.getBoundingClientRect(),$=ll(D,B,F,"fwd"),Q=D.indexOf($),{start:J,end:K,mid:G}=$,se=m.current={end:K,mid:G,start:J,isDraggedItem:!0,isExternal:!0,size:F},Y=D.indexOf($);D.splice(Y,0,se);for(let ge=Q+1;ge<D.length;ge++){let Te=D[ge];Te.mid+=F,Te.end+=F,Te.start+=F}($.isLast?y:g)(D,$,$.size,!0,"static")}}},[n,g,y,h,e,r,i]),[w,E]=(0,Mt.useMemo)(()=>{let k=!1;return[H=>{if(!k){k=!0;let R=H.element.querySelector(".vuuPopupMenu");R&&(0,s0.dispatchMouseEvent)(R,"click")}},H=>{if(k){k=!1;let R=H.element.querySelector(".vuuPopupMenu");R&&(0,s0.dispatchMouseEvent)(R,"click")}}]},[]),T=(0,Mt.useCallback)((k,I)=>{let{current:A}=m;if(A&&n.current){a.current=k;let{current:H}=u,R=ll(H,k,A.size,I);if(R&&!R.isDraggedItem)if(R.isOverflowIndicator)f(c.current=!0),w(R);else{let{size:O}=A;(v(R)===H.length-1?y:g)(H,R,O,!0,I);let D=H.at(-1);E(D),f(c.current=!1)}s.current=I}},[n,g,y,E,w]),M=(0,Mt.useCallback)(()=>{var H;p();let{current:k}=u,I=Ja(k),A=k[I];if(A)if(s.current=void 0,c.current)t(A.index,-1,{fromIndex:A.index,toIndex:-1,isExternal:A.isExternal});else{let R=Ja(k,!0);t(A.index,R,{fromIndex:A.index,toIndex:R,isExternal:A.isExternal})}if(f(!1),n.current){let R=(H=n.current)==null?void 0:H.scrollTop;I<k.length&&(n.current.scrollTop=R)}},[p,n,t]),L=(0,Mt.useCallback)(()=>{p(!0)},[p]);return{beginDrag:C,drag:T,drop:M,handleScrollStart:b,handleScrollStop:S,releaseDrag:L,revealOverflowedItems:d}};var XP=require("react/jsx-runtime"),Q8={beginDrag:()=>{},drag:()=>{},draggableRef:{current:null},drop:()=>{},isDragging:!1,isScrolling:!1,handleScrollStart:()=>{},handleScrollStop:()=>{},revealOverflowedItems:!1},QP={start:0,end:1e3,contraStart:0,contraEnd:1e3},J8=()=>Q8,X8=3,Y8=(t,e)=>t.closest(e),Z8=(t,e)=>{let n=`:is(${e}${nh},.vuuOverflowContainer-OverflowIndicator)`,r=Array.from(t.querySelectorAll(n)).pop();return[r,YP(r)]},cr=({allowDragDrop:t,containerRef:e,draggableClassName:n,getDragPayload:o,id:r,itemQuery:i="*",onDragStart:s,onDrop:l,onDropSettle:a,orientation:u,...c})=>{let d=(0,xe.useRef)({start:0,end:0,contraStart:0,contraEnd:0}),[f,p]=(0,xe.useState)({draggable:void 0,draggedItemIndex:-1,isDragging:!1}),g=(0,xe.useRef)(null),y=(0,xe.useRef)(null),m=(0,xe.useRef)(!1),h=(0,xe.useRef)({x:0,y:0}),v=(0,xe.useRef)({x:0,y:0}),x=(0,xe.useRef)(null),b=(0,xe.useRef)(null),S=(0,xe.useRef)(-1),C=(0,xe.useRef)(-1),w=(0,xe.useRef)(),{isDragSource:E,isDropTarget:T,onDragOut:M,onEndOfDragOperation:L,register:k}=RP(r),I=(0,xe.useRef)(),A=(0,xe.useRef)(),H=(0,xe.useCallback)(()=>{let{current:ee}=I,{current:re}=A;ee&&re&&(document.addEventListener("mousemove",ee,!1),document.addEventListener("mouseup",re,!1))},[]),R=(0,xe.useCallback)(()=>{let{current:ee}=I,{current:re}=A;ee&&re&&(document.removeEventListener("mousemove",ee,!1),document.removeEventListener("mouseup",re,!1))},[]),O=(0,xe.useCallback)((ee,re)=>{let{current:ce}=e;if(ce){let[fe,oe]=Z8(ce,i),{CONTRA:pe,CONTRA_END:ve,DIMENSION:Ne,END:at,START:X}=Pn(u),ie=re[Ne],{[X]:xt,[at]:xn}=fe.getBoundingClientRect();d.current.start=ee[X],d.current.end=oe?Math.max(xt,ee.right-ie):m.current?ee[X]+ee[Ne]-ie:xn-ie,d.current.contraStart=ee[pe],d.current.contraEnd=ee[ve]}},[e,i,u]),P=(0,xe.useCallback)(()=>{var fe;let{current:ee}=x;x.current=null;let{current:re}=C,ce=(fe=e.current)==null?void 0:fe.querySelector(`${i}[data-index="${re}"]`);ce&&ce.classList.remove("vuuDropTarget-settling"),C.current=-1,a==null||a(re),p(oe=>({...oe,draggable:void 0})),ee&&(0,JP.dispatchCustomEvent)(ee,"vuu-dropped")},[e,i,a]),N=(0,xe.useCallback)(ee=>{if(b.current&&g.current){let{mouseOffset:re}=g.current,{POS:ce,SCROLL_POS:fe,SCROLL_SIZE:oe,CLIENT_SIZE:pe}=Pn(u),{[fe]:ve,[oe]:Ne,[pe]:at}=b.current,X=Ne-at,ie=ve<X,xt=d.current.end,xn=ve>0&&ee-re[ce]<=d.current.start,Cn=ie&&ee-re[ce]>=xt;return xn?"bwd":Cn?"fwd":""}},[b,u]),D=t===!0||t==="natural-movement"?qP:t==="drop-indicator"?UP:t==="drag-copy"?WP:J8,B=(0,xe.useCallback)((ee,re,ce)=>{var fe;(fe=w.current)==null||fe.call(w,ee,re,ce)},[]),{isScrolling:F,startScrolling:$,stopScrolling:Q}=_P({containerRef:b,onScrollingStopped:B,orientation:u}),J=(0,xe.useCallback)((ee,re,ce)=>{var fe;S.current=re,ce.isExternal?l==null||l(ee,re,{...ce,payload:(fe=g.current)==null?void 0:fe.payload}):l==null||l(ee,re,ce),C.current=re,r&&(L==null||L(r)),g.current=null},[r,l,L]),{beginDrag:K,drag:G,drop:se,handleScrollStart:Y,handleScrollStop:Re,releaseDrag:ge,...Te}=D({...c,containerRef:e,isDragSource:E,isDropTarget:T,itemQuery:i,onDrop:J,orientation:u});w.current=Re;let be=(0,xe.useCallback)((ee,re)=>{let{CONTRA_POS:ce}=Pn(u),fe=h.current[ce],oe=E?Math.abs(fe-re):0;if(t===!0&&!E&&!T)return!1;let pe=T===!1||oe-ee>5;if(g.current&&pe)return M!=null&&M(r,g.current)&&(R(),ge==null||ge(),g.current=null),d.current=QP,!0},[t,r,E,T,M,u,ge,R]),$e=(0,xe.useCallback)(ee=>{let{CLIENT_POS:re,CONTRA_CLIENT_POS:ce,POS:fe}=Pn(u),{clientX:oe,clientY:pe}=ee,{[re]:ve,[ce]:Ne}=ee,at=h.current[fe],X=Math.abs(at-ve),{current:ie}=g;if(!be(X,Ne)&&(h.current.x=oe,h.current.y=pe,ie)){let{draggableElement:xt,mouseOffset:xn}=ie;if(d.current===QP&&xt){let Cn=h.current.x-xn.x,zn=h.current.y-xn.y;xt.style.top=`${zn}px`,xt.style.left=`${Cn}px`}else if(X>0&&xt){let Cn=at<ve?"fwd":"bwd",zn=N(ve),Jl=h.current[fe]-xn[fe];if(zn&&m.current&&!F.current?(Y==null||Y(),$(zn,1)):!zn&&F.current&&Q(),!F.current){let mi=Math.round(Math.max(d.current.start,Math.min(d.current.end,Jl))),Xl=u==="horizontal"?"left":"top";xt.style[Xl]=`${mi}px`,G(mi,Cn)}}}},[G,be,N,Y,F,u,$,Q]),lt=(0,xe.useCallback)(()=>{R(),g.current&&(x.current=g.current.draggableElement),se(),p(ee=>({...ee,draggedItemIndex:-1,isDragging:!1}))},[se,R]);I.current=$e,A.current=lt;let Be=(0,xe.useCallback)(ee=>{g.current=ee;let{draggableElement:re,mouseOffset:ce}=ee,{current:fe}=e;if(fe&&re){let oe=fe.getBoundingClientRect(),pe=re.getBoundingClientRect();return O(oe,pe),h.current.x=pe.left+ce.x,h.current.y=pe.top+ce.y,K(re),H(),!0}else return!1},[H,K,e,O]),Se=(0,xe.useCallback)(ee=>{let{target:re}=ee,ce=Y8(re,i),{current:fe}=e;if(fe&&ce){let oe=zP(fe,i);m.current=$P(oe,u),b.current=oe;let pe=fe.getBoundingClientRect(),ve=ce.getBoundingClientRect(),Ne=g.current=new Zm(ee,ce);O(pe,ve),K(ce);let{dataset:{index:at="-1"}}=ce;p({isDragging:!0,draggable:(0,XP.jsx)(th,{element:OP(ce),onDropped:P,onTransitionEnd:P,ref:Ne.setDraggable,style:VP(ve,pe),wrapperClassName:n}),draggedItemIndex:parseInt(at)}),s==null||s(Ne),H()}},[H,K,e,n,i,s,u,O,P]),Ve=(0,xe.useCallback)(ee=>{let{CLIENT_POS:re,POS:ce}=Pn(u),{[re]:fe}=ee;Math.abs(fe-v.current[ce])>X8&&e.current&&(y.current&&(window.clearTimeout(y.current),y.current=null),document.removeEventListener("mousemove",Ve),document.removeEventListener("mouseup",et,!1),Se(ee))},[e,K,u]),et=(0,xe.useCallback)(()=>{y.current&&(window.clearTimeout(y.current),y.current=null),document.removeEventListener("mousemove",Ve,!1),document.removeEventListener("mouseup",et,!1)},[Ve]),vn=(0,xe.useCallback)(ee=>{let{current:re}=e;if(ee.stopPropagation(),re&&!ee.defaultPrevented){let{clientX:ce,clientY:fe}=ee;h.current.x=v.current.x=ce,h.current.y=v.current.y=fe,document.addEventListener("mousemove",Ve,!1),document.addEventListener("mouseup",et,!1),ee.persist(),y.current=window.setTimeout(()=>{document.removeEventListener("mousemove",Ve,!1),document.removeEventListener("mouseup",et,!1),Se(ee.nativeEvent)},500)}},[e,Se,Ve,et]),{current:Ae}=x;return(0,xe.useLayoutEffect)(()=>{if(Ae&&e.current){let ee=S.current,re=e.current.querySelector(`${i}[data-index="${ee}"]`);re&&(re.classList.add("vuuDropTarget-settling"),requestAnimationFrame(()=>{let{top:ce,left:fe}=re.getBoundingClientRect(),oe=getComputedStyle(Ae),pe=parseInt(oe.getPropertyValue("left")),ve=parseInt(oe.getPropertyValue("top"));pe!==fe||ve!==ce?(Ae.classList.add("vuuDraggable-settling"),Ae.style.top=`${ce}px`,Ae.style.left=`${fe}px`):P()}))}},[e,i,Ae,P]),(0,xe.useEffect)(()=>{r&&(E||T)&&k(r,t==="drop-only"?!1:Be,l)},[t,r,E,T,l,k,Be]),{...Te,...f,isScrolling:F,onMouseDown:t&&t!=="drop-only"?vn:void 0}};var dr=require("react");var ZP=({dataHook:t,onDrop:e,onMoveListItem:n,selected:o,setHighlightedIndex:r,setSelected:i})=>{let s=(0,dr.useRef)([]),l=(0,dr.useRef)(t);l.current=t;let a=(0,dr.useCallback)((f,p,g)=>f===p?g:f<Math.min(p,g)||f>Math.max(p,g)?f:p<f?f-1:f+1,[]),u=(0,dr.useCallback)((f,p,g)=>f.map(m=>l.current.indexOfItemById(m)).map(m=>a(m,p,g)),[a]),c=(0,dr.useCallback)((f,p,g)=>{Gr(o)&&(s.current=u(o,f,p)),g.isExternal?e==null||e(f,p,g):n==null||n(f,p),r(-1)},[o,r,u,e,n]),d=(0,dr.useCallback)(f=>{r(f)},[r]);return(0,dr.useEffect)(()=>{let{current:f}=s;if(Gr(f)){s.current=[];let p=Array.isArray(f)?f.map(g=>t.data[g].id):t.data[f].id;s.current=[],i(p)}},[t.data,i]),{handleDrop:c,onDropSettle:d}};var qi=({allowDragDrop:t=!1,collapsibleHeaders:e,collectionHook:n,containerRef:o,contentRef:r,defaultHighlightedIndex:i,defaultSelected:s,disabled:l,disableAriaActiveDescendant:a,disableHighlightOnFocus:u,disableTypeToSelect:c,highlightedIndex:d,id:f,label:p="",listHandlers:g,onClick:y,onDragStart:m,onDrop:h,onHighlight:v,onKeyboardNavigation:x,onKeyDown:b,onMoveListItem:S,onSelect:C,onSelectionChange:w,restoreLastFocus:E,scrollContainerRef:T,selected:M,selectionStrategy:L,selectionKeys:k,stickyHeaders:I,tabToSelect:A,viewportRange:H})=>{let R=(0,fr.useRef)(M||s),O=(oe,pe)=>{var ve,Ne;(Ne=(ve=Y.listHandlers).onKeyboardNavigation)==null||Ne.call(ve,oe,pe),x==null||x(oe,pe)},P=(0,fr.useCallback)((oe,pe)=>{C&&pe!==null&&C(oe,n.itemById(pe))},[n,C]),N=(0,fr.useMemo)(()=>{var oe,pe;return T||{current:(pe=(oe=o.current)==null?void 0:oe.querySelector(".vuuList-scrollContainer"))!=null?pe:null}},[o,T]),D=(0,fr.useCallback)((oe,pe)=>{if(w){if(tP(L)){let[ve]=pe;w(oe,n.itemById(ve))}else if(Wa(L)){let ve=pe.map(Ne=>n.itemById(Ne));w(oe,ve)}}},[n,w,L]),{highlightedIndex:B,containerProps:{onKeyDown:F,onMouseMove:$,...Q},setHighlightedIndex:J,...K}=bP({containerRef:N,defaultHighlightedIndex:i,disableHighlightOnFocus:u,highlightedIndex:d,itemCount:n.data.length,label:p,onHighlight:v,onKeyboardNavigation:O,restoreLastFocus:E,selected:R.current,viewportItemCount:10}),G=mP({collapsibleHeaders:e,highlightedIdx:B,collectionHook:n}),se=(0,fr.useCallback)(oe=>{J(-1),m==null||m(oe)},[m,J]),Y=vP({containerRef:o,defaultSelected:s,highlightedIndex:B,itemQuery:".vuuListItem",label:`${p}:useList`,onClick:y,onSelect:P,onSelectionChange:D,selected:M,selectionStrategy:L,selectionKeys:k,tabToSelect:A}),{handleDrop:Re,onDropSettle:ge}=ZP({dataHook:n,onDrop:h,onMoveListItem:S,selected:Y.selected,setHighlightedIndex:J,setSelected:Y.setSelected}),{setSelected:Te}=Y;kn(()=>{Gr(R.current)&&Te([])},[M,n.data,Te]);let{onMouseDown:be,isDragging:$e,isScrolling:lt,...Be}=cr({allowDragDrop:t,draggableClassName:"list-item",orientation:"vertical",containerRef:o,id:f,itemQuery:".vuuListItem",onDragStart:se,onDrop:Re,onDropSettle:ge,viewportRange:H}),{onKeyDown:Se}=xP({disableTypeToSelect:c,highlightedIdx:B,highlightItemAtIndex:J,typeToNavigate:!0,items:n.data}),Ve=(0,fr.useCallback)(oe=>{var pe,ve,Ne;oe.defaultPrevented||Se==null||Se(oe),F(oe),oe.defaultPrevented||(ve=(pe=Y.listHandlers).onKeyDown)==null||ve.call(pe,oe),oe.defaultPrevented||(Ne=G==null?void 0:G.onKeyDown)==null||Ne.call(G,oe),oe.defaultPrevented||b==null||b(oe)},[G,F,b,Y.listHandlers,Se]),{isScrolling:et,scrollIntoView:vn}=EP({containerRef:N,contentRef:r,highlightedIdx:B,indexPositions:n.data,stickyHeaders:I}),Ae=et.current||lt.current,ee=(0,fr.useCallback)(oe=>{if(!Ae&&!l&&!$e){$();let pe=hP(oe.target);if(pe!==-1&&pe!==B){let ve=n.data[pe];!ve||ve.disabled?J(-1):J(pe)}}},[$e,Ae,l,J,$,B,n.data]),re=()=>{var oe;return B===void 0||B===-1||a||(oe=n.data[B])==null?void 0:oe.id};R.current=Y.selected;let ce={"aria-activedescendant":re(),onBlur:Q.onBlur,onFocus:Q.onFocus,onKeyDown:Ve,onMouseDown:be,onMouseDownCapture:Q.onMouseDownCapture,onMouseLeave:Q.onMouseLeave},fe=g||{onClick:Y.listHandlers.onClick,onMouseMove:ee};return{focusVisible:K.focusVisible,controlledHighlighting:K.controlledHighlighting,highlightedIndex:B,keyboardNavigation:K.keyboardNavigation,listHandlers:fe,listItemHeaderHandlers:G,listControlProps:ce,scrollIntoView:vn,selected:Y.selected,setHighlightedIndex:J,setIgnoreFocus:K.setIgnoreFocus,setSelected:Y.setSelected,...Be}};var pr=require("react");var e9=(t,e,n=0)=>t===0?0:n===0?t*e:t-1*(e+n)+e,oh=({displayedItemCount:t,getItemHeight:e,height:n,itemCount:o,itemGapSize:r,itemHeight:i=36,size:s})=>{let[l,a]=(0,pr.useState)(i),[,u]=(0,pr.useState)({}),c=(0,pr.useRef)(null),[d,f]=(0,pr.useMemo)(()=>{let y=0,m=l!=null?l:i,h=e9(o,m,r);if(n!==void 0)return[h,void 0];let v=Math.min(t,o)||t;return typeof e=="function"?y+=Array(v).fill(0).reduce((b,S,C)=>b+e(C)+r,0)-r:y+=v*Number(m)+(v-1)*r,[h,y]},[t,e,n,o,r,i,l]),p=(0,pr.useCallback)(({height:y})=>{typeof y=="number"&&a(y)},[]),g=(0,pr.useCallback)(y=>{c.current=y,u({})},[]);return Ur(c,ZI,p,!0),{computedListHeight:f,contentHeight:d,listClientHeight:s==null?void 0:s.height,listItemHeight:l,rowHeightProxyRef:g}};var mr=require("react"),eD=(t,e,n,o)=>{let r=Math.ceil(e/o),i=Math.floor(t/o),s=Math.ceil(i+r-1);return{atStart:i===0,atEnd:s===n-1,from:i,to:s}},rh=({containerSize:t,itemCount:e,itemGapSize:n=0,itemSize:o,onViewportScroll:r})=>{let i=(0,mr.useRef)(0),s=(0,mr.useRef)(0),l=(0,mr.useRef)(0),a=(0,mr.useMemo)(()=>eD(l.current,t,e,o+n),[t,e,o,n]),[u,c]=(0,mr.useState)(a);return bd(()=>{c(a)},[a]),{onVerticalScroll:(0,mr.useCallback)(f=>{let p=f.target.scrollTop;if(p!==l.current){l.current=p;let g=o+n,y=eD(p,t,e,g);(y.from!==i.current||y.to!==s.current)&&(i.current=y.from,s.current=y.to,r==null||r(y.from,y.to),c(y))}},[o,n,t,e,r]),viewportRange:u}};var Qn=require("react/jsx-runtime"),tD=require("react"),t9="No data to display",Qi="vuuList",qr=(0,Dn.forwardRef)(function({ListItem:e=Gi,ListPlaceholder:n,allowDragDrop:o,children:r,className:i,collapsibleHeaders:s=!1,defaultHighlightedIndex:l,defaultSelected:a,disabled:u=!1,disableFocus:c=!1,disableTypeToSelect:d,displayedItemCount:f=10,emptyMessage:p,focusVisible:g,getItemHeight:y,getItemId:m,height:h,highlightedIndex:v,id:x,itemGapSize:b=0,itemHeight:S,itemTextHighlightPattern:C,itemToString:w=In,listHandlers:E,maxHeight:T,maxWidth:M,minHeight:L,minWidth:k,onClick:I,onDragStart:A,onDrop:H,onMoveListItem:R,onSelect:O,onSelectionChange:P,onHighlight:N,restoreLastFocus:D,selected:B,selectionStrategy:F,checkable:$=F==="multiple",scrollingApiRef:Q,selectionKeys:J,showEmptyMessage:K=!1,source:G,style:se,stickyHeaders:Y,tabIndex:Re=0,tabToSelect:ge,...Te},be){var jf,qf;let $e=ke(x),lt=(0,Dn.useRef)(null),Be=(0,Dn.useRef)(null),Se=(0,Dn.useRef)(null),[Ve,et]=(0,Dn.useState)(),vn=(0,Dn.useCallback)($n=>{et($n)},[]),Ae=Ki({id:$e,label:"List",source:G,children:r,options:{collapsibleHeaders:s,getItemId:m,itemToString:w}}),{listClientHeight:ee,computedListHeight:re,listItemHeight:ce,rowHeightProxyRef:fe}=oh({displayedItemCount:f,getItemHeight:y,height:h,itemCount:Ae.data.length,itemGapSize:b,itemHeight:S,rootRef:lt,size:Ve}),{onVerticalScroll:oe,viewportRange:pe}=rh({containerSize:(qf=(jf=ee!=null?ee:re)!=null?jf:Ve==null?void 0:Ve.height)!=null?qf:0,itemCount:Ae.data.length,itemGapSize:b,itemSize:ce}),{draggable:ve,draggedItemIndex:Ne,dropIndicator:at,focusVisible:X,highlightedIndex:ie,listControlProps:xt,listHandlers:xn,listItemHeaderHandlers:Cn,scrollIntoView:zn,selected:Jl}=qi({allowDragDrop:o,collapsibleHeaders:s,collectionHook:Ae,containerRef:lt,contentRef:Se,defaultHighlightedIndex:l,defaultSelected:Ae.itemToCollectionItemId(a),disabled:u,disableTypeToSelect:d,highlightedIndex:v,id:$e,label:"List",listHandlers:E,onClick:I,onDragStart:A,onDrop:H,onMoveListItem:R,onSelect:O,onSelectionChange:P,onHighlight:N,restoreLastFocus:D,scrollContainerRef:Be,selected:Ae.itemToCollectionItemId(B),selectionStrategy:F,selectionKeys:J,stickyHeaders:Y,tabToSelect:ge,viewportRange:pe});Xm({collectionHook:Ae,forwardedRef:Q,scrollableRef:lt,scrollIntoView:zn});let mi=g!=null?g:X,Xl=function(tt,sn,_,ue){let Me=(0,tD.createElement)(e,{...Cn,className:(0,ih.default)(`${Qi}Header`,{focusVisible:s&&mi===tt.value}),"aria-expanded":ue,"data-index":s?tt.value:void 0,"data-highlighted":tt.value===ie||void 0,"data-sticky":Y,"data-selectable":!1,id:sn,itemHeight:Kf(tt.value),key:`header-${tt.value}`,label:_});return tt.value+=1,Me},Kf=y===void 0?()=>S:y;function My($n,tt,sn){var Lo,Yl;let{disabled:_,value:ue,id:Me,label:Ct}=tt,ht=(0,Dn.isValidElement)(ue),Ro={className:(0,ih.default)((Lo=ue==null?void 0:ue.props)==null?void 0:Lo.className,{vuuHighlighted:sn.value===ie,vuuFocusVisible:mi===sn.value,["vuuDraggable-dragAway"]:Ne===sn.value}),disabled:_||u,id:Me,item:ht?void 0:(Yl=tt==null?void 0:tt.value)!=null?Yl:void 0,itemHeight:Kf(sn.value),itemTextHighlightPattern:C,key:Me,"data-index":sn.value,label:Ct,role:"option",selected:Um(Jl,tt),showCheckbox:$};$n.push(ht?(0,Dn.cloneElement)(ue,Ro):(0,Qn.jsx)(e,{...Ro})),sn.value+=1}let Iy=function(tt,sn,_){let{count:ue=0,id:Me,expanded:Ct,label:ht=""}=sn[_.value],Ro=Xl(_,Me,ht,Ct),Lo=Ct!==!1?[Ro].concat(Uf(sn,_,_.value+ue)||[]):Ro;tt.push((0,Qn.jsx)("div",{role:"group",children:Lo},Me))},Uf=($n,tt={value:0},sn=$n.length)=>{let _=[];for(;tt.value<sn;){let ue=$n[tt.value];ue.header?_.push(Xl(tt,ue.id,ue.label,ue.expanded===!1)):ue.childNodes?Iy(_,$n,tt):My(_,ue,tt)}return _};function Gf(){return p||K?(0,Qn.jsx)("span",{className:`${Qi}-empty-message`,children:p!=null?p:t9}):null}let vc=Ae.data.length===0,Py=()=>{if(vc)Gf();else{let $n=Ae.data;return Uf($n)}},Dy="auto",Ry={"--list-borderWidth":"var(--vuuList-borderWidth, var(--salt-size-border, 0))","--list-item-gap":b?`${b}px`:void 0,"--computed-list-height":re===void 0?void 0:`${re}px`,minWidth:k,minHeight:L,maxWidth:M,maxHeight:T};return(0,Qn.jsxs)(sh,{"aria-multiselectable":F==="multiple"||F==="extended"||F==="extended-multi-range"||void 0,...Te,...xn,...xt,className:(0,ih.default)(Qi,i,{[`${Qi}-collapsible`]:s,[`${Qi}-contentSized`]:re!==void 0,[`${Qi}-empty`]:vc,vuuFocusVisible:ie===t0}),height:re!=null?re:h,id:`${$e}`,onResize:vn,ref:Oe(lt,be),role:"listbox",onScroll:oe,style:{...se,...Ry},tabIndex:u||c?void 0:Re,children:[(0,Qn.jsx)(Ym,{ref:fe,height:S}),Ae.data.length===0&&n!==void 0?(0,Qn.jsx)(Qn.Fragment,{children:(0,Qn.jsx)(n,{})}):(0,Qn.jsx)("div",{className:`${Qi}-viewport`,ref:Be,children:(0,Qn.jsxs)("div",{className:`${Qi}-scrollingContentContainer`,ref:Se,style:{height:Dy},children:[Py(),at,ve]})})]})});function nD(t){var e,n,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e<t.length;e++)t[e]&&(n=nD(t[e]))&&(o&&(o+=" "),o+=n);else for(e in t)t[e]&&(o&&(o+=" "),o+=e);return o}function l0(){for(var t,e,n=0,o="";n<arguments.length;)(t=arguments[n++])&&(e=nD(t))&&(o&&(o+=" "),o+=e);return o}var ul=require("react");var rD=require("react");var lh=class{constructor(e=0,n=0){this.keys=new Map,this.free=[],this.nextKeyValue=0,this.reset(e,n)}next(){return this.free.length?this.free.pop():this.nextKeyValue++}reset(e,n){this.keys.forEach((r,i)=>{(i<e||i>=n)&&(this.free.push(r),this.keys.delete(i))});let o=n-e;this.keys.size+this.free.length>o&&(this.free.length=o-this.keys.size);for(let r=e;r<n;r++)if(!this.keys.has(r)){let i=this.next();this.keys.set(r,i)}}keyFor(e){return this.keys.get(e)}};var n9=([t],[e])=>t-e,oD=5,iD=({data:t,listItemGapSize:e=0,listItemHeight:n,viewportRange:o})=>{let r=(0,rD.useMemo)(()=>new lh(0,1),[]),i=n+e,s=Math.max(0,o.from-oD),l=Math.min(t.length,o.to+oD);return r.reset(s,l),t.slice(s,l).map((u,c)=>[r.keyFor(c+s),(c+s)*i,c+s+1,u]).sort(n9)};var al=require("react/jsx-runtime"),o9="No data to display",ah=ut("saltList"),r9=(0,ul.memo)(Gi),Fle=(0,ul.forwardRef)(function({borderless:e,children:n,className:o,collapsibleHeaders:r=!1,defaultHighlightedIndex:i,defaultSelected:s,disabled:l=!1,disableFocus:a=!1,disableTypeToSelect:u,displayedItemCount:c=10,emptyMessage:d,getItemHeight:f,getItemId:p,height:g,highlightedIndex:y,id:m,itemGapSize:h=0,itemHeight:v,itemTextHighlightPattern:x,itemToString:b,maxHeight:S,maxWidth:C,minHeight:w,minWidth:E,onDragStart:T,onDrop:M,onSelect:L,onSelectionChange:k,onViewportScroll:I,onHighlight:A,restoreLastFocus:H,selected:R,selectionStrategy:O,scrollingApiRef:P,selectionKeys:N,showEmptyMessage:D=!1,source:B,style:F,stickyHeaders:$,tabToSelect:Q,width:J,...K},G){let se=_s(m),Y=(0,ul.useRef)(null),Re=(0,ul.useRef)(null),ge=Ki({id:se,label:"List",source:B,children:n,options:{collapsibleHeaders:r,getItemId:p,itemToString:b}}),{contentHeight:Te,listItemHeight:be,listHeight:$e}=oh({borderless:e,displayedItemCount:c,height:g,itemCount:ge.data.length,itemGapSize:h,itemHeight:v,rootRef:Y,rowHeightRef:Re}),{focusVisible:lt,highlightedIndex:Be,listControlProps:Se,listHandlers:Ve,scrollIntoView:et,selected:vn}=qi({collapsibleHeaders:r,collectionHook:ge,containerRef:Y,defaultHighlightedIndex:i,defaultSelected:ge.itemToCollectionItemId(s),disabled:l,disableTypeToSelect:u,highlightedIndex:y,label:se,onSelect:L,onSelectionChange:k,onHighlight:A,restoreLastFocus:H,selected:ge.itemToCollectionItemId(R),selectionStrategy:O,selectionKeys:N,stickyHeaders:$,tabToSelect:Q}),{onVerticalScroll:Ae,viewportRange:ee}=rh({containerSize:typeof $e=="number"?$e:0,itemCount:ge.data.length,itemGapSize:h,itemSize:be});console.log({viewPortRange:ee});let re=iD({data:ge.data,listItemGapSize:h,listItemHeight:be,viewportRange:ee});Xm({collectionHook:ge,forwardedRef:P,scrollableRef:Y,scrollIntoView:et});function ce(Ne,at,X){let[ie,xt,xn,Cn]=at,zn=xn-1;Ne.push((0,al.jsx)(r9,{"aria-setsize":ge.data.length,"aria-posinset":xn,className:l0(o,{saltHighlighted:zn===Be,saltFocusVisible:lt===zn}),"data-idx":zn,item:Cn,label:Cn.label,"data-offset":xt,role:"option",selected:Um(vn,Cn),id:Cn.id,translate3d:xt},ie)),X.value+=1}function fe(Ne,at={value:0},X=Ne.length){let ie=[];for(;at.value<X;){let xt=Ne[at.value];ce(ie,xt,at)}return ie}function oe(){return d||D?(0,al.jsx)("span",{className:ah("empty-message"),children:d!=null?d:o9}):null}let pe=()=>{if(re.length)return fe(re);oe()},ve={"--list-item-gap":h?`${h}px`:void 0,minWidth:E,minHeight:w,width:J!=null?J:"100%",height:g!=null?g:"100%",maxWidth:C!=null?C:J,maxHeight:S!=null?S:$e};return(0,al.jsx)("div",{...K,...Ve,...Se,className:l0(ah(),o,ah("virtualized")),id:`${se}`,ref:Oe(Y,G),role:"listbox",onScroll:Ae,style:{...F,...ve},tabIndex:l||a?void 0:0,children:(0,al.jsxs)("div",{className:ah("scrollingContentContainer"),style:{height:Te},children:[(0,al.jsx)(Ym,{ref:Re}),pe()]})})});var i9=V(j());var s9=require("react/jsx-runtime");var Ya=require("react");var sD=({collectionHook:t,defaultHighlightedIndex:e,defaultIsOpen:n,defaultSelected:o,highlightedIndex:r,isOpen:i,itemToString:s=In,listRef:l,onHighlight:a,onOpenChange:u,onSelectionChange:c,onSelect:d,selected:f,selectionStrategy:p})=>{let g=Wa(p),[y,m]=Le({controlled:i,default:n!=null?n:!1,name:"useDropdownList"}),h=(0,Ya.useCallback)((C,w)=>{g||(m(!1),u==null||u(!1)),(Array.isArray(w)||w)&&(c==null||c(C,w))},[g,u,c,m]),v=(0,Ya.useCallback)((C,w)=>{g||(m(!1),u==null||u(!1)),d==null||d(C,w)},[g,u,d,m]),x=qi({collectionHook:t,defaultHighlightedIndex:(e!=null?e:r===void 0)?0:void 0,defaultSelected:o,label:"DropDown",onSelectionChange:h,onSelect:v,containerRef:l,highlightedIndex:r,onHighlight:a,selected:f,selectionStrategy:p,tabToSelect:!g}),b=(0,Ya.useCallback)(C=>{m(C),u==null||u(C)},[u,m]),S=(0,Ya.useMemo)(()=>{if(Array.isArray(x.selected)){let C=x.selected.map(w=>t.itemById(w));if(C.length===0)return;if(C.length===1){let[w]=C;return w===null?void 0:s(w)}else return`${C.length} items selected`}},[t,s,x.selected]);return{isOpen:y,onOpenChange:b,triggerLabel:S,...x}};var Za=require("react/jsx-runtime"),eu=(0,Qr.forwardRef)(function({"aria-label":e,children:n,defaultIsOpen:o,defaultSelected:r,id:i,isOpen:s,itemToString:l=In,onOpenChange:a,onSelectionChange:u,onSelect:c,selected:d,selectionStrategy:f,source:p,triggerComponent:g,ListItem:y,ListProps:m,width:h=180,...v},x){let b=ke(i),S=(0,Qr.useRef)(null),C=(0,Qr.useRef)(null),w=Oe(S,x),E=Ki({id:b,source:p,children:n,options:{itemToString:l}}),{highlightedIndex:T,triggerLabel:M,listHandlers:L,listControlProps:k,selected:I,...A}=sD({collectionHook:E,defaultHighlightedIndex:m==null?void 0:m.defaultHighlightedIndex,defaultIsOpen:o,defaultSelected:E.itemToCollectionItemId(r),highlightedIndex:m==null?void 0:m.highlightedIndex,isOpen:s,itemToString:l,listRef:C,onHighlight:m==null?void 0:m.onHighlight,onOpenChange:a,onSelectionChange:u,onSelect:c,selected:E.itemToCollectionItemId(d),selectionStrategy:f}),H=(0,Qr.useCallback)(O=>Array.isArray(O)?O.map(N=>E.itemById(N)):E.itemById(O),[E]),R=()=>{let O={"aria-activedescendant":A.isOpen?k==null?void 0:k["aria-activedescendant"]:void 0,"aria-label":e};if(g){let P=g.props;return(0,Qr.cloneElement)(g,Ad(P,{...A.isOpen?k:{},...O}))}else return(0,Za.jsx)(aP,{label:M,...A.isOpen?k:{},...O})};return(0,Za.jsx)(_m,{collectionHook:E,children:(0,Za.jsxs)(Ua,{...v,id:b,isOpen:A.isOpen,onOpenChange:A.onOpenChange,placement:(m==null?void 0:m.width)===void 0?"below-full-width":"below",ref:w,width:h,children:[R(),(0,Za.jsx)(qr,{ListItem:y,itemToString:l,...m,highlightedIndex:T,listHandlers:L,onSelectionChange:u,onSelect:c,ref:C,selected:I===void 0?void 0:H(I),selectionStrategy:f})]})})});var it=require("react");var l9=["Enter"],lD=({allowBackspaceClearsSelection:t,allowFreeText:e,ariaLabel:n,collectionHook:o,defaultIsOpen:r,defaultSelected:i,defaultValue:s,onBlur:l,onFocus:a,onChange:u,onDeselect:c,onSelect:d,id:f,initialHighlightedIndex:p=-1,isOpen:g,itemCount:y,itemsToString:m,itemToString:h=In,listRef:v,onOpenChange:x,onSelectionChange:b,onSetSelectedText:S,selected:C,selectionKeys:w=l9,selectionStrategy:E,value:T,InputProps:M={onBlur:l,onFocus:a,onChange:u,onSelect:d}})=>{let L=Wa(E),{data:k,setFilterPattern:I}=o,A=(0,it.useRef)(null),H=(0,it.useRef)(L?[]:null),R=(0,it.useRef)(!0),[O,P]=Le({controlled:g,default:r!=null?r:!1,name:"useDropdownList"}),[N,D]=Le({controlled:void 0,default:s!=null?s:T,name:"ComboBox",state:"value"}),[B,F]=(0,it.useState)(!0),$=(0,it.useCallback)(X=>{var ie;Array.isArray(X)||X==null&&((ie=A.current)==null||ie.call(A,-1))},[]),Q=(0,it.useCallback)((X,ie=!0)=>{D(X),ie&&I(X===""?void 0:X)},[I,D]),J=(0,it.useCallback)(X=>{let ie=e&&N!=null?N:"";return Array.isArray(X)?X.length===1?ie=h(X[0]):X.length>1&&(ie=(m==null?void 0:m(X))||""):X&&(ie=h(X)),ie!==N?(Q(ie,!L),S==null||S(ie),!0):!1},[e,L,h,m,S,Q,N]),K=(0,it.useCallback)(()=>{let{current:X}=H;J(X)&&X&&(Array.isArray(X)||X)&&(b==null||b(null,X))},[b,J]),G=(0,it.useCallback)(()=>{if(e){let X=N==null?void 0:N.trim(),{current:ie}=H;if(X){if(y===0&&X)return L?b==null||b(null,[X]):b==null||b(null,X),H.current=null,!0;ie&&!L&&ie&&!Array.isArray(ie)&&h(ie)}}return!1},[e,N,y,L,b,h]),se=(0,it.useCallback)((X,ie)=>{X&&L&&Q("",!1),P(X),x==null||x(X,ie),!X&&ie!=="Escape"&&(G()||K())},[K,L,x,G,P,Q]),Y=(0,it.useCallback)((X,ie)=>{H.current=ie,L||se(!1,"select")},[se,L]),Re=(0,it.useCallback)(()=>{F(!1)},[]),{focusVisible:ge,setHighlightedIndex:Te,highlightedIndex:be,listControlProps:$e,listHandlers:lt,selected:Be}=qi({collectionHook:o,containerRef:v,defaultHighlightedIndex:p,defaultSelected:o.itemToCollectionItemId(i),disableAriaActiveDescendant:B,disableHighlightOnFocus:!0,disableTypeToSelect:!0,label:"combobox",onKeyboardNavigation:Re,onSelectionChange:Y,selected:o.itemToCollectionItemId(C),selectionKeys:w,selectionStrategy:E,tabToSelect:!L});A.current=Te;let{onClick:Se}=lt,Ve=(0,it.useCallback)(X=>{var ie;(ie=document.getElementById(`${f}-input`))==null||ie.focus(),Se==null||Se(X)},[f,Se]),et=(0,it.useCallback)(X=>{let ie=X.target.value;D(ie),ie&&ie.trim().length?I(ie):I(void 0),P(!0)},[I,P,D]),vn=(0,it.useCallback)(X=>{X.key==="Backspace"&&t&&(H.current=null,c==null||c())},[t,c]),{onFocus:Ae=a}=M,{onFocus:ee}=$e,re=(0,it.useCallback)(X=>{F(!1),ee==null||ee(X),Ae==null||Ae(X)},[Ae,ee]),ce=(0,it.useCallback)(X=>{let ie=X.relatedTarget;return(ie==null?void 0:ie.id)===`${f}-list`},[f]),{onBlur:fe=l}=M,{onBlur:oe}=$e,pe=(0,it.useCallback)(X=>{ce(X)||(oe==null||oe(X),fe==null||fe(X),F(!0),R.current=!0)},[ce,oe,fe]),{onSelect:ve}=M,Ne=(0,it.useCallback)(X=>{R.current?R.current=!1:F(!0),ve==null||ve(X)},[ve]);kn(()=>{Gr(Be)?$(Be):Te(p)},[$,y,p,Be,Te,P]);let at={...M.inputProps,"aria-label":n,autoComplete:"off",onKeyDown:vn};return{focusVisible:ge,highlightedIndex:be,isOpen:O,onOpenChange:se,inputProps:{...M,id:`${f}-input`,inputProps:at,onChange:et,onSelect:Ne,role:"combobox",value:N},listControlProps:{...$e,onBlur:pe,onFocus:re},listHandlers:{...lt,onClick:Ve},selected:H.current}};var aD=V(j());var cD=require("react/jsx-runtime"),a9="vuuChevronIcon",uD=t=>{let{direction:e,...n}=t;return(0,cD.jsx)("span",{...n,className:(0,aD.default)(a9,e)})};var cl=require("react/jsx-runtime"),a0=(0,tu.forwardRef)(function({InputProps:e,ListProps:n,PopupProps:o,ListItem:r,"aria-label":i,allowBackspaceClearsSelection:s,allowFreeText:l,children:a,defaultIsOpen:u,defaultSelected:c,defaultValue:d,disabled:f,disableFilter:p,onBlur:g,onFocus:y,onChange:m,onSelect:h,onSetSelectedText:v,getFilterRegex:x,id:b,initialHighlightedIndex:S=-1,isOpen:C,itemToString:w=In,itemsToString:E,onDeselect:T,onOpenChange:M,onSelectionChange:L,selected:k,selectionKeys:I,selectionStrategy:A,source:H,value:R,width:O=180,...P},N){let D=ke(b),B=(0,tu.useRef)(null),F=Se=>Array.isArray(Se)&&Se.length>0?Se[0]:void 0,Q=((Se,Ve)=>{let et=Se?F(Se):Ve?F(Ve):void 0;return et?w(et):""})(k,c),J=Ki({id:D,source:H,children:a,options:{disableFilter:p,filterPattern:Q,getFilterRegex:x,itemToString:w}}),{focusVisible:K,highlightedIndex:G,inputProps:{endAdornment:se,...Y},isOpen:Re,listHandlers:ge,listControlProps:Te,onOpenChange:be,selected:$e}=lD({InputProps:e,allowBackspaceClearsSelection:s,allowFreeText:l,ariaLabel:i,collectionHook:J,defaultIsOpen:u,defaultSelected:c,defaultValue:d,disabled:f,initialHighlightedIndex:S,itemCount:J.data.length,label:P.title,listRef:B,onBlur:g,onDeselect:T,onFocus:y,onChange:m,onSelect:h,id:D,isOpen:C,itemToString:w,itemsToString:E,onOpenChange:M,onSelectionChange:L,onSetSelectedText:v,selected:k,selectionKeys:I,selectionStrategy:A,value:Q}),lt=(0,tu.useCallback)(()=>{Re?be(!1,"toggle"):be(!0)},[Re,be]);return(0,cl.jsx)(_m,{collectionHook:J,children:(0,cl.jsxs)(Ua,{...P,PopupProps:o,id:D,isOpen:Re,onOpenChange:be,openOnFocus:!0,ref:N,width:O,children:[(0,cl.jsx)(Un,{...Y,disabled:f,...Te,endAdornment:se===null?null:(0,cl.jsx)(uD,{direction:Re?"up":"down",onClick:lt})}),(0,cl.jsx)(qr,{...n,ListItem:r,defaultSelected:void 0,focusVisible:K,highlightedIndex:G,itemTextHighlightPattern:String(Y.value)||void 0,listHandlers:ge,onSelectionChange:L,ref:B,selected:$e,selectionStrategy:A,tabIndex:-1})]})})});var fD=V(j()),uh=require("react"),mD=require("react/jsx-runtime"),dD="vuuCycleStateButton",u9=(t,e)=>{let n=e.indexOf(t.toUpperCase());return n===e.length-1?e[0]:e[n+1]},pD=(0,uh.forwardRef)(function({className:e,onCommit:n,value:o="",values:r,...i},s){let l=(0,uh.useCallback)(a=>{let u=u9(o,r);n(a,u).then(c=>{c!==!0&&console.error(c)})},[n,o,r]);return(0,mD.jsx)(jt,{...i,className:(0,fD.default)(dD,e,`${dD}-${o.toLowerCase()}`),onClick:l,ref:s,children:o})});var hD=require("@vuu-ui/vuu-utils"),gD=t=>e=>c9(t,e);function c9(t,e){let n;for(let o of t){let r=(0,hD.getEditRuleValidator)(o.name);if(r){let i=r(o,e);switch(i){case!0:break;case!1:n===void 0&&(n=!1);break;default:n===void 0||n===!1?n=i:n+=`::${i}`}}else throw Error(`editable-utils applyRules, no validator registered for rule '${o.name}'`)}return n}var u0=require("@vuu-ui/vuu-utils"),yo=require("react"),nu=()=>(console.warn("onCommit handler has not been provided to InputCell cell renderer"),Promise.resolve(!0)),yD=({clientSideEditValidationCheck:t,initialValue:e,onCommit:n,type:o})=>{let[r,i]=(0,yo.useState)(),[s,l]=(0,yo.useState)(e),a=(0,yo.useRef)(e),u=(0,yo.useRef)(!1),c=(0,yo.useRef)(!1);kn(()=>{l(e)},[e]);let d=(0,yo.useCallback)(y=>{if(u.current){c.current=!0;let m=t==null?void 0:t(s);m?i(m):(i(void 0),console.log(`commit value ${s}`),n(s).then(h=>{h===!0?(u.current=!1,(0,u0.dispatchCustomEvent)(y,"vuu-commit")):i(h)}))}else(0,u0.dispatchCustomEvent)(y,"vuu-commit"),c.current=!1},[t,n,s]),f=(0,yo.useCallback)(y=>{y.key==="Enter"?d(y.target):y.key==="ArrowRight"||y.key==="ArrowLeft"||y.key==="ArrowUp"||y.key==="ArrowDown"?y.stopPropagation():y.key==="Escape"&&u.current&&(u.current=!1,i(void 0),l(a.current))},[d]),p=(0,yo.useCallback)(y=>{u.current&&d(y.target)},[d]),g=(0,yo.useCallback)(y=>{let m=y.target.value;if(o==="number"&&!isNaN(parseFloat(m))&&(m=parseFloat(m)),u.current=s!==a.current,l(m),c.current&&s!==void 0){let h=t==null?void 0:t(s);h!==r&&h!==!1&&i(h)}},[t,r,o,s]);return{inputProps:{onBlur:p,onKeyDown:f},onChange:g,value:s!=null?s:"",warningMessage:r}};var bD=V(j()),_o=require("react");var dh=require("react/jsx-runtime"),ch="vuuEditableLabel",_d=(0,_o.forwardRef)(function({className:e,defaultEditing:n,defaultValue:o,editing:r,onChange:i,onEnterEditMode:s,onExitEditMode:l,value:a,...u},c){let d=(0,_o.useRef)(null),f=(0,_o.useRef)(!1),[p,g]=Le({controlled:a,default:o!=null?o:"",name:"EditableLabel",state:"value"}),[y,m]=Le({controlled:r,default:n!=null?n:!1,name:"EditableLabel",state:"editing"}),h=(0,_o.useCallback)(M=>{m(f.current=M)},[m]),v=(0,_o.useRef)(p);(0,_o.useLayoutEffect)(()=>{y&&d.current!==null&&(d.current.select(),d.current.focus())},[y,d]);let x=(0,_o.useCallback)(()=>{h(!0),s&&s()},[s,h]),b=({cancelEdit:M=!1,allowDeactivation:L=!1}={})=>{h(!1);let k=v.current;k!==p&&(M?g(k):v.current=p),l&&l(k,p,L,M)},S=M=>{let{value:L}=M.target;g(L),i&&i(L)},C=()=>{x()},w=()=>{f.current&&b({allowDeactivation:!0})},E=M=>{y&&M.key==="Enter"?(M.stopPropagation(),b()):M.key==="ArrowRight"||M.key==="ArrowLeft"?M.stopPropagation():M.key==="Escape"&&b({cancelEdit:!0})},T=(0,bD.default)(ch,e,{[`${ch}-editing`]:y});return(0,dh.jsx)("div",{...u,className:T,onDoubleClick:C,"data-text":p,ref:c,children:y?(0,dh.jsx)(Un,{inputProps:{className:`${ch}-input`,spellCheck:!1},value:p,onBlur:w,onChange:S,onKeyDown:E,inputRef:d,style:{padding:0},textAlign:"left",variant:"secondary"}):(0,dh.jsx)("span",{className:`${ch}-label`,children:p})})});var vD=V(j()),xD=require("react");var d0=require("react/jsx-runtime"),c0="vuuExpandoInput",d9=()=>{},fh=(0,xD.forwardRef)(function({className:e,errorMessage:n,value:o,inputProps:r,onCommit:i=d9,...s},l){return(0,d0.jsx)("div",{className:(0,vD.default)(c0,e,{[`${c0}-error`]:n}),"data-text":o,children:(0,d0.jsx)(ph,{...s,errorMessage:n,inputProps:{...r,className:`${c0}-input`},onCommit:i,ref:l,style:{padding:0},textAlign:"left",value:o,variant:"secondary"})})});var CD=require("react/jsx-runtime");var wD=require("react/jsx-runtime");var AD=V(j()),lu=require("react");var ou=require("react");var ED=require("react/jsx-runtime"),SD=()=>{},f9="vuuColumnResizerNext",mh=({onDrag:t,onDragEnd:e=SD,onDragStart:n=SD})=>{let o=(0,ou.useRef)(0),r=(0,ou.useCallback)(l=>{l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault();let a=Math.round(l.clientX),u=a-o.current;o.current=a,u!==0&&t(l,u)},[t]),i=(0,ou.useCallback)(l=>{window.removeEventListener("mouseup",i),window.removeEventListener("mousemove",r),e(l)},[e,r]),s=(0,ou.useCallback)(l=>{n(l),o.current=Math.round(l.clientX),window.addEventListener("mouseup",i),window.addEventListener("mousemove",r),l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault()},[n,r,i]);return(0,ED.jsx)("div",{className:f9,onMouseDown:s})};var Ji=require("react"),hh=({column:t,onResize:e,rootRef:n})=>{let o=(0,Ji.useRef)(0),[r,i]=(0,Ji.useState)(!1),{name:s}=t,l=(0,Ji.useCallback)(()=>{if(e&&n.current){let{width:c}=n.current.getBoundingClientRect();o.current=Math.round(c),i(!0),e==null||e("begin",s)}},[s,e,n]),a=(0,Ji.useCallback)((c,d)=>{if(n.current&&e){let{width:f}=n.current.getBoundingClientRect(),p=Math.round(f)+d;p!==o.current&&p>0&&(e("resize",s,p),o.current=p)}},[s,e,n]),u=(0,Ji.useCallback)(()=>{e&&(e("end",s,o.current),setTimeout(()=>{i(!1)},80))},[s,e]);return{isResizing:r,onDrag:a,onDragStart:l,onDragEnd:u}};var TD=require("@vuu-ui/vuu-utils"),kD=V(j()),MD=require("react"),Xi=(t,e,n)=>(0,MD.useMemo)(()=>{let o=(0,kD.default)(e,{vuuPinFloating:t.pin==="floating",vuuPinLeft:t.pin==="left",vuuPinRight:t.pin==="right",vuuEndPin:n&&t.endPin,[`${e}-editable`]:t.editable,[`${e}-right`]:t.align==="right"}),r=(0,TD.getColumnStyle)(t);return{className:o,style:r}},[t,e,n]);var PD=V(j()),DD=require("react");var gh=require("react/jsx-runtime"),ID="vuuColumnHeaderPill",ru=({children:t,className:e,column:n,onRemove:o,removable:r,...i})=>{if(r&&typeof o!="function")throw Error("ColumnHeaderPill onRemove prop must be provided if Pill is removable");let s=(0,DD.useCallback)(l=>{l.preventDefault(),l.stopPropagation(),o==null||o(n)},[n,o]);return(0,gh.jsxs)("div",{...i,className:(0,PD.default)(ID,e),children:[t,r?(0,gh.jsx)("span",{className:`${ID}-removeButton`,role:"button","data-icon":"cross",onClick:s}):null]})};var iu=require("react/jsx-runtime"),RD=({column:t,...e})=>{let{name:n,sorted:o}=t,r=typeof o=="number"?o<0?"arrow-down":"arrow-up":o==="A"?"arrow-up":o==="D"?"arrow-down":void 0;return(0,iu.jsxs)(ru,{...e,column:t,children:[(0,iu.jsx)("span",{className:"vuuGroupColumnPill-label",children:n}),r!==void 0?(0,iu.jsx)("span",{"data-icon":r}):null,typeof o=="number"?(0,iu.jsx)("span",{className:"vuuSortPosition",children:Math.abs(o)}):null]})};var Wd=require("react/jsx-runtime"),LD=({column:t})=>{if(!t.sorted)return null;let e=typeof t.sorted=="number"?t.sorted<0?"arrow-down":"arrow-up":t.sorted==="A"?"arrow-up":"arrow-down";return(0,Wd.jsxs)(ru,{column:t,children:[(0,Wd.jsx)("span",{"data-icon":e}),typeof t.sorted=="number"?(0,Wd.jsx)("span",{className:"vuuSortPosition",children:Math.abs(t.sorted)}):null]})};var su=require("react/jsx-runtime"),ND=require("react"),f0="vuuTableGroupHeaderCell",p9=(t,e)=>t===e?t:e,p0=({column:t,className:e,onMoveColumn:n,onRemoveColumn:o,onResize:r,...i})=>{let s=(0,lu.useRef)(null),{isResizing:l,...a}=hh({column:t,onResize:r,rootRef:s}),[u,c]=(0,lu.useState)(t.columns),{className:d,style:f}=Xi(t,f0,!0),p=u.length>1?{removable:!0,onRemove:o}:void 0,g=(0,lu.useCallback)((y,m)=>{c(h=>{let v=h.slice(),[x]=v.splice(y,1);if(m===-1){let b=v.concat(x);return n==null||n(b),b}else return v.splice(m,0,x),n==null||n(v),v})},[n]);return kn(()=>{c(y=>p9(y,t.columns))},[t.columns]),(0,su.jsxs)("div",{...i,className:(0,AD.default)(d,e,{[`${f0}-pending`]:t.groupConfirmed===!1}),ref:s,role:"columnheader",style:f,children:[(0,su.jsx)(Kd,{allowDragDrop:!0,className:`${f0}-inner`,height:24,onMoveItem:g,overflowPosition:"start",children:u.map(y=>(0,ND.createElement)(RD,{...p,column:y,key:y.key}))}),(0,su.jsx)(ru,{column:t,removable:!0,onRemove:o}),t.resizeable!==!1?(0,su.jsx)(mh,{...a}):null]})};var bh=require("react");var HD=V(j()),dl=require("react");var FD=require("react/jsx-runtime"),m9=t=>{if(t){let{bottom:e,left:n}=t.getBoundingClientRect();return{x:n,y:e+6}}},OD=({className:t,column:e,...n})=>{let o=(0,dl.useRef)(null),[r,i]=(0,dl.useState)(!1),[s]=Na(),l=(0,dl.useCallback)(()=>{i(!1)},[]),a=(0,dl.useCallback)(u=>{i(!0),s(u,"column-menu",{column:e,ContextMenuProps:{onClose:l,position:m9(o.current)}})},[e,l,s]);return(0,FD.jsx)("span",{...n,className:(0,HD.default)("vuuTable-columnMenu",t,{"vuuTable-columnMenu-open":r}),"data-icon":"more-vert",onClick:a,ref:o})};var BD=V(j());var Jr=require("react/jsx-runtime"),yh="vuuTableHeaderCell",VD=({className:t,column:e,onClick:n,onResize:o,...r})=>{var v;let{HeaderCellContentRenderer:i,HeaderCellLabelRenderer:s}=e,l=(0,bh.useRef)(null),{isResizing:a,...u}=hh({column:e,onResize:o,rootRef:l}),c=(0,bh.useCallback)(x=>{!a&&(n==null||n(x))},[a,n]),{className:d,style:f}=Xi(e,yh,!0),p=(0,Jr.jsx)(OD,{column:e}),g=s?(0,Jr.jsx)(s,{className:`${yh}-label`,column:e}):(0,Jr.jsx)("div",{className:`${yh}-label`,children:(v=e.label)!=null?v:e.name}),y=i?[(0,Jr.jsx)(i,{column:e},"content")]:[],m=(0,Jr.jsx)(LD,{column:e}),h=e.align==="right"?[m,g].concat(y).concat(p):[p,g,m].concat(y);return(0,Jr.jsxs)("div",{...r,className:(0,BD.default)(d,t,{[`${yh}-resizing`]:a}),onClick:c,ref:l,role:"columnheader",style:f,children:[...h,e.resizeable!==!1?(0,Jr.jsx)(mh,{...u}):null]})};var Q2=require("@vuu-ui/vuu-utils");var nS=V(j()),Ju=require("react");var Jn=require("@vuu-ui/vuu-utils"),UD=V(j()),Ud=require("react");var zD=require("@vuu-ui/vuu-utils"),m0=require("react");var h0=require("react/jsx-runtime"),h9="vuuTableCell",$D=({column:t,columnMap:e,onClick:n,onDataEdited:o,row:r})=>{let{className:i,style:s}=Xi(t,h9),{CellRenderer:l,name:a,valueFormatter:u}=t,c=e[a],d=(0,m0.useCallback)(p=>{if(o){let g=p;return(0,zD.isNumericColumn)(t)&&typeof p=="string"&&(g=t.serverDataType==="double"?parseFloat(p):parseInt(p)),o==null?void 0:o(r,a,g)}else throw Error("TableCell onDataEdited prop not supplied for an editable cell")},[t,a,o,r]),f=(0,m0.useCallback)(p=>{n==null||n(p,t)},[t,n]);return(0,h0.jsx)("div",{className:i,onClick:n?f:void 0,role:"cell",style:s,children:l?(0,h0.jsx)(l,{column:t,columnMap:e,onCommit:d,row:r}):u(r[c])})};var vh=require("@vuu-ui/vuu-utils"),_D=require("react");var WD=V(j());var au=require("react/jsx-runtime"),{IS_LEAF:g9}=vh.metadataKeys,g0="vuuTableGroupCell",KD=({column:t,onClick:e,row:n})=>{let{columns:o}=t,[r,i]=(0,vh.getGroupValueAndOffset)(o,n),{className:s,style:l}=Xi(t,g0),a=(0,_D.useCallback)(d=>{e==null||e(d,t)},[t,e]),u=n[g9],c=Array(i).fill(0).map((d,f)=>(0,au.jsx)("span",{className:`${g0}-spacer`},f));return(0,au.jsxs)("div",{className:(0,WD.default)(s,"vuuTableCell"),role:"cell",style:l,onClick:u?void 0:a,children:[c,u?null:(0,au.jsx)("span",{className:`${g0}-toggle`,"data-icon":"triangle-right"}),(0,au.jsx)("span",{children:r})]})};var xh=require("react/jsx-runtime"),GD=require("react"),{IDX:y9,IS_EXPANDED:b9,SELECTED:v9}=Jn.metadataKeys,Xr="vuuTableRow",y0=(0,Ud.memo)(({className:t,columnMap:e,columns:n,highlighted:o,row:r,offset:i,onClick:s,onDataEdited:l,onToggleGroup:a,zebraStripes:u=!1,...c})=>{let{[y9]:d,[b9]:f,[v9]:p}=r,g=(0,Ud.useCallback)(S=>{let C=S.shiftKey,w=S.ctrlKey||S.metaKey;s==null||s(r,C,w)},[s,r]),{True:y,First:m,Last:h}=Jn.RowSelected,v=(0,UD.default)(Xr,t,{[`${Xr}-even`]:u&&d%2===0,[`${Xr}-expanded`]:f,[`${Xr}-highlighted`]:o,[`${Xr}-selected`]:p&y,[`${Xr}-selectedStart`]:p&m,[`${Xr}-selectedEnd`]:p&h}),x={transform:`translate3d(0px, ${i}px, 0px)`},b=(0,Ud.useCallback)((S,C)=>{((0,Jn.isGroupColumn)(C)||(0,Jn.isJsonGroup)(C,r))&&(S.stopPropagation(),a==null||a(r,C))},[a,r]);return(0,GD.createElement)("div",{...c,"aria-rowindex":r[0],key:`row-${r[0]}`,role:"row",className:v,onClick:g,style:x},(0,xh.jsx)("span",{className:`${Xr}-selectionDecorator vuuStickyLeft`}),n.filter(Jn.isNotHidden).map(S=>{let C=(0,Jn.isGroupColumn)(S),w=(0,Jn.isJsonColumn)(S);return(0,xh.jsx)(C?KD:$D,{column:S,columnMap:e,onClick:C||w?b:void 0,onDataEdited:l,row:r},S.key)}),(0,xh.jsx)("span",{className:`${Xr}-selectionDecorator vuuStickyRight`}))});y0.displayName="Row";var jD=require("@vuu-ui/vuu-utils"),x9=t=>typeof t=="string",C9=(t,e)=>x9(e)?e===""?!0:t.value==="lower"&&e.toLowerCase()!==e?"value must be all lowercase":t.value==="upper"&&e.toUpperCase()!==e?"value must be all uppercase":!0:"value must be a string";(0,jD.registerComponent)("vuu-case",C9,"data-edit-validator",{});var qD=require("@vuu-ui/vuu-utils"),w9=t=>typeof t=="string",S9="value does not match expected pattern",E9=(t,e)=>{if(typeof t.value!="string")throw Error("Pattern validation rule must provide pattern");if(w9(e)){if(e==="")return!0;{let{message:n=S9}=t;return new RegExp(t.value).test(e)||n}}else return"value must be a string"};(0,qD.registerComponent)("vuu-pattern",E9,"data-edit-validator",{});var Yr=require("@vuu-ui/vuu-utils"),QD=V(j(),1);var fl=require("react/jsx-runtime"),Gd="vuuProgressCell",T9=({column:t,columnMap:e,row:n})=>{let{type:o}=t,r=n[t.key],i=!1,s=0;if((0,Yr.isTypeDescriptor)(o)&&(0,Yr.isColumnTypeRenderer)(o.renderer)){let{associatedField:a}=o.renderer;if(a){let u=n[e[a]];if(typeof(0,Yr.isValidNumber)(r)&&(0,Yr.isValidNumber)(u))s=Math.min(Math.round(r/u*100),100),s=Math.min(Math.round(r/u*100),100),i=isFinite(s);else{let c=parseFloat(r);if(Number.isFinite(c)){let d=parseFloat(u);Number.isFinite(d)&&(s=Math.min(Math.round(c/d*100),100),i=isFinite(s))}}}else throw Error("ProgressCell associatedField is required to render")}let l=(0,QD.default)(Gd,{});return(0,fl.jsxs)("div",{className:l,tabIndex:-1,children:[i?(0,fl.jsxs)("span",{className:`${Gd}-track`,children:[(0,fl.jsx)("span",{className:`${Gd}-bg`}),(0,fl.jsx)("span",{className:`${Gd}-bar`,style:{"--progress-bar-pct":`-${100-s}%`}})]}):null,(0,fl.jsx)("span",{className:`${Gd}-text`,children:`${s} %`})]})};(0,Yr.registerComponent)("vuu.progress",T9,"cell-renderer",{description:"Progress formatter",label:"Progress formatter",serverDataType:["long","int","double"]});var Rn=require("@vuu-ui/vuu-utils"),XD=V(j(),1);var pl=require("@vuu-ui/vuu-utils"),Ch=require("react"),k9=[void 0,void 0,void 0,void 0];function JD(t,e,n){var d;let o=(0,Ch.useRef)(),[r,i,s,l]=o.current||k9,{type:a}=n,u=(0,pl.isTypeDescriptor)(a)?(d=a.formatting)==null?void 0:d.decimals:void 0,c=t===r&&(0,pl.isValidNumber)(e)&&(0,pl.isValidNumber)(i)&&n===s?(0,pl.getMovingValueDirection)(e,l,i,u):"";return(0,Ch.useEffect)(()=>{o.current=[t,e,n,c]}),c}var wh=require("react/jsx-runtime"),M9=String.fromCharCode(11014),I9=String.fromCharCode(11015),{KEY:P9}=Rn.metadataKeys,jd="vuuBackgroundCell",uu={ArrowOnly:"arrow",BackgroundOnly:"bg-only",ArrowBackground:"arrow-bg"},D9=t=>(0,Rn.isTypeDescriptor)(t)&&t.renderer&&"flashStyle"in t.renderer?t.renderer.flashStyle:uu.BackgroundOnly,R9=({column:t,columnMap:e,row:n})=>{let{name:o,type:r,valueFormatter:i}=t,s=e[o],l=n[s],a=D9(r),u=JD(n[P9],l,t),c=a===uu.ArrowOnly||a===uu.ArrowBackground?u===Rn.UP1||u===Rn.UP2?M9:u===Rn.DOWN1||u===Rn.DOWN2?I9:null:null,d=u?" "+u:"",f=(0,XD.default)(jd,d,{[`${jd}-backgroundOnly`]:a===uu.BackgroundOnly,[`${jd}-arrowOnly`]:a===uu.ArrowOnly,[`${jd}-arrowBackground`]:a===uu.ArrowBackground});return(0,wh.jsxs)("div",{className:f,tabIndex:-1,children:[(0,wh.jsx)("div",{className:`${jd}-flasher`,children:c}),i(n[s])]})};(0,Rn.registerComponent)("vuu.price-move-background",R9,"cell-renderer",{description:"Change background color of cell when value changes",configEditor:"BackgroundCellConfigurationEditor",label:"Background Flash",serverDataType:["long","int","double"]});var YD=require("@vuu-ui/vuu-utils");var Sh=require("react"),qd=require("react/jsx-runtime"),L9="vuuBackgroundCellConfiguration",b0=[{label:"Background Only",value:"bg-only"},{label:"Background and Arrow",value:"arrow-bg"},{label:"Arrow Only",value:"arrow"}],[ZD]=b0,A9=t=>{let{flashStyle:e}=t.type.renderer;return b0.find(n=>n.value===e)||ZD},N9=({column:t,onChangeRendering:e})=>{let[n,o]=(0,Sh.useState)(A9(t)),r=(0,Sh.useCallback)((i,s)=>{var a;o(s);let l=t.type.renderer;e({...l,flashStyle:(a=s==null?void 0:s.value)!=null?a:ZD.value})},[t.type,e]);return(0,qd.jsxs)(rx,{children:[(0,qd.jsx)(sx,{children:"Flash Style"}),(0,qd.jsx)(eu,{className:`${L9}-flashStyle`,onSelectionChange:r,selected:n,source:b0,width:"100%"})]})};(0,YD.registerConfigurationEditor)("BackgroundCellConfigurationEditor",N9);var H9=V(j(),1),O9=require("react");var F9=require("@vuu-ui/vuu-utils"),eR=require("react/jsx-runtime");var Ww=require("@vuu-ui/vuu-utils");var u$=V(j(),1);var _w=require("@vuu-ui/vuu-utils");var jN=require("react");var zN=require("react");var Ce=class{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,n,o){let r=[];return this.decompose(0,e,r,2),o.length&&o.decompose(0,o.length,r,3),this.decompose(n,this.length,r,1),bo.from(r,this.length-(n-e)+o.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,n=this.length){let o=[];return this.decompose(e,n,o,0),bo.from(o,n-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let n=this.scanIdentical(e,1),o=this.length-this.scanIdentical(e,-1),r=new gl(this),i=new gl(e);for(let s=n,l=n;;){if(r.next(s),i.next(s),s=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(l+=r.value.length,r.done||l>=o)return!0}}iter(e=1){return new gl(this,e)}iterRange(e,n=this.length){return new Mh(this,e,n)}iterLines(e,n){let o;if(e==null)o=this.iter();else{n==null&&(n=this.lines+1);let r=this.line(e).from;o=this.iterRange(r,Math.max(r,n==this.lines+1?this.length:n<=1?0:this.line(n-1).to))}return new Ih(o)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?Ce.empty:e.length<=32?new Qe(e):bo.from(Qe.split(e,[]))}},Qe=class extends Ce{constructor(e,n=B9(e)){super(),this.text=e,this.length=n}get lines(){return this.text.length}get children(){return null}lineInner(e,n,o,r){for(let i=0;;i++){let s=this.text[i],l=r+s.length;if((n?o:l)>=e)return new x0(r,l,o,s);r=l+1,o++}}decompose(e,n,o,r){let i=e<=0&&n>=this.length?this:new Qe(tR(this.text,e,n),Math.min(n,this.length)-Math.max(0,e));if(r&1){let s=o.pop(),l=kh(i.text,s.text.slice(),0,i.length);if(l.length<=32)o.push(new Qe(l,s.length+i.length));else{let a=l.length>>1;o.push(new Qe(l.slice(0,a)),new Qe(l.slice(a)))}}else o.push(i)}replace(e,n,o){if(!(o instanceof Qe))return super.replace(e,n,o);let r=kh(this.text,kh(o.text,tR(this.text,0,e)),n),i=this.length+o.length-(n-e);return r.length<=32?new Qe(r,i):bo.from(Qe.split(r,[]),i)}sliceString(e,n=this.length,o=`
846
+ `)),""):String(t)}var Pe=require("react");var $a=require("react");var _I=t=>null;var WI=t=>null;var _x=(t,e)=>t!==null&&Object.prototype.hasOwnProperty.call(t,e),Wx=t=>_x(t,"header"),KI=t=>_x(t,"childNodes"),Ld=(t,e)=>t&&Object.prototype.hasOwnProperty.call(t.props,e),UI=t=>{if((0,$a.isValidElement)(t)){if(Ld(t,"disabled"))return t.props.disabled===!0}else if(_x(t,"disabled"))return t.disabled===!0;return!1},GI=t=>(0,$a.isValidElement)(t)&&Ld(t,"focusable")?t.props.focusable:!0,jI=(t,e,n)=>{if(t.childNodes)return t.childNodes.length;if(t.header){let o=n+1,r=0;for(;o<e.length&&!e[o].header;)r++,o++;return r}else return 0},e8=t=>{if(typeof t.props.children=="string")return t.props.children;if(t.props.title)return t.props.title;if(t.props.label)return t.props.label},qI=t=>t.type===WI||Ld(t,"data-header"),QI=t=>t.type===_I||Ld(t,"data-group"),t8=t=>Ld(t,"selectable")?t.props.selectable===!0:!QI(t)&&!qI(t),n8=t=>{if(QI(t)){let{props:{children:e}}=t;if(typeof e!="string")return Ux(e)}},o8=(t,e)=>{let n=[];return $a.Children.forEach(t,o=>{(0,$a.isValidElement)(o)&&n.push(e(o))}),n},Kx=(t,e)=>{if(Array.isArray(t))return t.length===0&&(e!=null&&e.noChildrenLabel)?[{label:e.noChildrenLabel,value:null}]:t.map((n,o)=>{var r,i;return{childNodes:Kx(n.childNodes,e),description:n.description,expanded:n.expanded,value:n,label:(i=(r=e==null?void 0:e.itemToString)==null?void 0:r.call(e,n))!=null?i:In(n)}});if(t)throw Error("list-child-items expects source to be an array")},Ux=t=>{if(t)return o8(t,e=>{let{"data-id":n,disabled:o,id:r=n,"data-expanded":i,expanded:s=i}=e.props;return{childNodes:n8(e),disabled:o,expanded:s,header:qI(e),id:r,label:e8(e),selectable:t8(e),value:e}})},r8=new Set(["/","-","."]),i8=t=>r8.has(t),Gx=(t,e)=>e.startsWith(t)&&i8(e[t.length]),s8=new Set([".","/"]);function l8(t,e){return e.startsWith(t)?s8.has(e.charAt(t.length)):!1}function Wm(t,e,n){let o;return t.map(i=>i.id===e?{...i,...n}:l8(i.id,e)&&i.childNodes?(o=Wm(i.childNodes,e,n),{...i,childNodes:o}):i)}var a8=/[.*+?^${}()|[\]\\]/g;function Km(t){return t.replace(a8,"\\$&")}var Ad=(t,e)=>Object.keys(t).reduce((o,r)=>{let i=t[r],s=e[r];return typeof i=="function"&&typeof s=="function"&&(o[r]=(...l)=>{i(...l),s(...l)}),o},{...e});var u8=t=>t&&t.replace(/^\s+/g,""),jx=t=>new RegExp(`(${Km(u8(t))})`,"gi"),JI=(t="",e=jx)=>(n="")=>!!n.length&&!!t.length&&n.match(e(t))!==null;function Um(t,e){return Array.isArray(t)?t.includes(e.id):t===e.id}var ho=require("react");function _a({controlled:t,default:e,name:n,state:o="value"}){let{current:r}=(0,ho.useRef)(t!==void 0),[i,s]=(0,ho.useState)(e),l=t!==void 0?t:i,{current:a}=(0,ho.useRef)(e);(0,ho.useEffect)(()=>{},[o,n,t]),(0,ho.useEffect)(()=>{},[JSON.stringify(e,c8)]);let u=(0,ho.useCallback)(c=>{r||s(c)},[r]);return[l,u,r]}function c8(t,e){return(0,ho.isValidElement)(e)?null:e}var d8={},Ki=({children:t,id:e,options:n=d8,source:o})=>{var P,N;let{getItemId:r}=n,[,i]=(0,Pe.useState)(null),s=zI(),l=(0,Pe.useRef)([]),a=(0,Pe.useRef)([]),u=(0,Pe.useMemo)(()=>[],[]),c=(0,Pe.useRef)((P=n.filterPattern)!=null?P:""),d=(N=n.disableFilter)!=null?N:!1,{getFilterRegex:f=jx,noChildrenLabel:p,itemToString:g=In}=n,y=(0,Pe.useCallback)(()=>n.defaultExpanded||!1,[n.defaultExpanded]),m=(0,Pe.useCallback)((D,B,F=1,$="",Q=[],J=[],K=[])=>(D.forEach((G,se,Y)=>{var Ve,et;let Re=G.header&&n.collapsibleHeaders,ge=G.childNodes&&n.collapsibleHeaders===!1,Te=!G.childNodes||G.childNodes.length===0,be=ge||Te&&!Re,$e=$?`${$}.${se}`:`item-${se}`,lt=(Ve=G.id)!=null?Ve:r?r(se):`${e}-${$e}`,Be=be?void 0:(et=G.expanded)!=null?et:y(),Se={...G,childNodes:void 0,count:!ge&&Be===void 0?0:jI(G,Y,se),description:G.description,disabled:UI(G.value),focusable:GI(G.value)?void 0:!1,id:lt,index:B.value,expanded:Be,level:F};if(Q.push(Se),J.push(Se),K.push(D[se].value),B.value+=1,G.childNodes){let[vn]=m(G.childNodes,B,F+1,$e,[],J,K);Se.childNodes=vn}}),[Q,K,J]),[n.collapsibleHeaders,r,e,y]),h=(0,Pe.useCallback)(()=>c.current&&!d?JI(c.current,f):null,[d,f]),v=(0,Pe.useCallback)((D,B=h(),F=[],$={value:0})=>{let Q=!1;for(let J of D)Q&&!Wx(J)||(J.value!==null&&(B===null||B(g(J.value)))&&(F[$.value]=J,$.value+=1),Q=!1,Wx(J)&&J.expanded===!1?Q=!0:KI(J)&&J.expanded!==!1&&J.childNodes&&v(J.childNodes,B,F,$));return F},[h,g]),x=(0,Pe.useMemo)(()=>s?u:Kx(o,{itemToString:g,noChildrenLabel:p})||Ux(t)||[],[s,u,o,g,p,t]),[b,S,C]=(0,Pe.useMemo)(()=>s?[u,u,u]:m(x,{value:0}),[u,m,s,x]);a.current=C,(0,Pe.useMemo)(()=>s?u:l.current=v(b),[u,v,b,s]);let w=(0,Pe.useRef)(b),E=(0,Pe.useCallback)((D="")=>{typeof D=="string"&&(c.current=D,l.current=v(b),i({}))},[b,v]),T=(0,Pe.useCallback)((D,B=b)=>{let F=B.find($=>{var Q;return $.id===D||((Q=$==null?void 0:$.childNodes)==null?void 0:Q.length)&&Gx($.id,D)});if((F==null?void 0:F.id)===D)return S==null?void 0:S[F.index];if(F)return T(D,F.childNodes);throw Error(`useCollectionData itemById, id ${D} not found `)},[S,b]),M=(0,Pe.useCallback)((D,B=b)=>{let F=B.find(Q=>{var J;return Q.id===D||((J=Q==null?void 0:Q.childNodes)==null?void 0:J.length)&&Gx(Q.id,D)}),$=F?l.current.indexOf(F):-1;if($!==-1)return $;throw Error(`useCollectionData indexOfItemById, id ${D} not found `)},[b]),L=(0,Pe.useCallback)(D=>{let B=a.current.find(F=>(0,Pe.isValidElement)(F.value)?F.label===D:F.value===D);if(B)return B;throw Error("useCollectionData toCollectionItem, item not found ")},[]),k=(0,Pe.useCallback)(D=>{if(D===null)return null;if(Array.isArray(D)){let B=[];for(let F of D){let $=L(F);B.push($)}return B}else if(D!==void 0)return L(D)},[L]),I=(0,Pe.useCallback)(D=>{if(D===void 0)return;let B=k(D);return Array.isArray(B)?B.map(F=>F.id):B?[B.id]:[]},[k]),A=(0,Pe.useCallback)(D=>{let B=F=>{let $=a.current.find(Q=>(0,Pe.isValidElement)(Q.value)?Q.label===F:Q.value!==null&&g(Q.value)===F);if($)return $};if(D===null)return null;if(Array.isArray(D)){let F=[];for(let $ of D){let Q=B($);Q&&F.push(Q)}return F}else if(D!==void 0)return B(D)},[g]),H=(0,Pe.useCallback)(D=>{for(let B of w.current)if(D===B.value)return B.id;throw Error("useCollectionData itemToId, item not found")},[]),R=(0,Pe.useCallback)(D=>{w.current=Wm(w.current,D.id,{expanded:!1}),l.current=v(w.current),i({})},[v]),O=(0,Pe.useCallback)(D=>{w.current=Wm(w.current,D.id,{expanded:!0}),l.current=v(w.current),i({})},[v]);return s||{collapseGroupItem:R,data:l.current,expandGroupItem:O,setFilterPattern:E,indexOfItemById:M,itemById:T,itemToId:H,toCollectionItem:L,itemToCollectionItem:k,itemToCollectionItemId:I,stringToCollectionItem:A}};var Ui=require("react");var YI=["width"],ZI=["height"],nl=new Map,eP=(t,e,n)=>{switch(n){case"height":return e.height;case"clientHeight":return t.clientHeight;case"clientWidth":return t.clientWidth;case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(t.scrollHeight);case"scrollWidth":return Math.ceil(t.scrollWidth);case"width":return e.width;default:return 0}};var XI=new ResizeObserver(t=>{for(let e of t){let{target:n,borderBoxSize:o,contentBoxSize:r}=e,i=nl.get(n);if(i){let[{blockSize:s,inlineSize:l}]=o,[{blockSize:a,inlineSize:u}]=r,{onResize:c,measurements:d}=i,f=!1;for(let[p,g]of Object.entries(d)){let y=eP(n,{height:s,width:l,contentHeight:a,contentWidth:u},p);y!==g&&(f=!0,d[p]=y)}f&&c&&c(d)}}});function Ur(t,e,n,o=!1){let r=(0,Ui.useRef)(e),i=t.current,s=(0,Ui.useCallback)(l=>{let{width:a,height:u}=l.getBoundingClientRect(),{clientWidth:c,clientHeight:d}=l;return r.current.reduce((f,p)=>(f[p]=eP(l,{width:a,height:u,contentHeight:d,contentWidth:c},p),f),{})},[]);(0,Ui.useLayoutEffect)(()=>{async function l(){nl.set(i,{measurements:{}}),await document.fonts.ready;let a=nl.get(i);if(a){let u=s(i);a.measurements=u,XI.observe(i),o&&n(u)}else console.log("%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation","font-weight:bold; color:red;")}return i&&(nl.has(i)&&console.log("useResizeObserver attemping to observe same element twice",{target:i}),l()),()=>{i&&nl.has(i)&&(XI.unobserve(i),nl.delete(i))}},[s,i]),(0,Ui.useEffect)(()=>{let l=t.current,a=nl.get(l);if(a){if(r.current!==e){r.current=e;let u=s(l);a.measurements=u}a.onResize=n}},[e,s,t,n])}var tP=t=>t===void 0||t==="default"||t==="deselectable",Wa=t=>t==="multiple"||(t==null?void 0:t.startsWith("extended"))===!0,qx=t=>t==="none";var Gr=t=>t!==void 0&&t.length>0,nP=t=>t[0];var Ka=require("react"),f8=t=>typeof t!="function",oP=t=>{let[e,n]=(0,Ka.useState)(t),o=(0,Ka.useRef)(e),r=(0,Ka.useCallback)(i=>{if(f8(i))o.current=i,n(i);else{let{current:s}=o;o.current=i(s),n(o.current)}},[]);return[o,r]};var Qx=V(j());var jr=require("react");var qn=require("react");var Nd=require("react"),p8=[],rP=({popperRef:t,rootRef:e,isOpen:n,onClose:o})=>{let r=(0,Nd.useRef)(n);(0,Nd.useEffect)(()=>{r.current=n},[n]),(0,Nd.useEffect)(()=>{let[i,s]=n?[l=>{var u,c;let a=l.target;!((u=t.current)!=null&&u.contains(a))&&!((c=e.current)!=null&&c.contains(a))&&o("click-away")},l=>{l.key==="Escape"&&r.current&&(o("Escape"),l.stopPropagation())}]:p8;return i&&s&&(document.body.addEventListener("mousedown",i,!0),document.body.addEventListener("keydown",s,!0)),()=>{i&&s&&(document.body.removeEventListener("mousedown",i,!0),document.body.removeEventListener("keydown",s,!0))}},[n,o,t,e])};var m8=[],iP=({defaultIsOpen:t,disabled:e,fullWidth:n,id:o,isOpen:r,onOpenChange:i,onKeyDown:s,openKeys:l=["Enter","ArrowDown"," "],openOnFocus:a,popupComponent:u,popupWidth:c,rootRef:d,width:f})=>{var R;let p=(0,qn.useRef)(null),g=(0,qn.useRef)(null),y=(0,qn.useCallback)(O=>{g.current=O},[]),[m,h]=Le({controlled:r,default:!!t,name:"useDropdown",state:"isOpen"}),[v,x]=(0,qn.useState)({width:(R=c!=null?c:f)!=null?R:0}),b=(0,qn.useCallback)(()=>{h(!0),i==null||i(!0)},[i,h]),S=(0,qn.useCallback)(O=>{h(!1),i==null||i(!1,O)},[i,h]);rP({popperRef:g,rootRef:d,isOpen:m,onClose:S});let C=(0,qn.useCallback)(()=>{e||a&&(h(!0),i==null||i(!0),p.current=window.setTimeout(()=>{p.current=null},1e3))},[e,i,a,h]),w=(0,qn.useCallback)(O=>{if(["Enter"," "].indexOf(O.key)===-1){let P=!m;h(P),i==null||i(P)}},[m,h,i]),E=(0,qn.useCallback)(O=>{O.key==="Escape"&&m?(O.key==="Escape"&&(O.stopPropagation(),O.preventDefault()),S(O.key)):l.includes(O.key)&&!m?(O.preventDefault(),b()):s==null||s(O)},[S,m,s,l,b]),T=(0,qn.useCallback)(O=>{var P;m&&((P=g.current)!=null&&P.contains(O.relatedTarget)||S("blur"))},[S,m]),M=n!=null?n:!1;Ur(d,M?YI:m8,x,M);let k=`${o}-dropdown`,I={"aria-expanded":m,"aria-owns":m?k:void 0,id:`${o}-control`,onClick:e||a?void 0:w,onFocus:C,role:"listbox",onBlur:T,onKeyDown:e?void 0:E,style:{width:M?void 0:f}},A={id:k,width:v.width},H=Oe(y,u.ref);return{componentProps:A,popupComponentRef:H,isOpen:m,label:"Dropdown Button",triggerProps:I}};var Hd=require("react/jsx-runtime"),Gm="vuuDropdown",Ua=(0,jr.forwardRef)(function({PopupProps:e,"aria-labelledby":n,children:o,className:r,defaultIsOpen:i,disabled:s,fullWidth:l,id:a,isOpen:u,onKeyDown:c,onOpenChange:d,openKeys:f,openOnFocus:p,placement:g="below-full-width",popupWidth:y,width:m,...h},v){let x=(0,jr.useRef)(null),b=(0,Qx.default)(Gm,r,{[`${Gm}-fullWidth`]:l,[`${Gm}-disabled`]:s}),[S,C]=jr.Children.toArray(o),w=ke(a),{componentProps:E,isOpen:T,popupComponentRef:M,triggerProps:L}=iP({ariaLabelledBy:n,defaultIsOpen:i,disabled:s,fullWidth:l,id:w,isOpen:u,onOpenChange:d,onKeyDown:c,openKeys:f,openOnFocus:p,popupComponent:C,popupWidth:y,rootRef:x,width:m}),k=()=>{let{id:H,role:R,...O}=L,{id:P=H,role:N=R,...D}=S.props;return(0,jr.cloneElement)(S,Ad(D,{...O,id:P,role:N}))},I=()=>{let{id:H,width:R,...O}=E,{className:P,id:N=H,width:D,...B}=C.props;return(0,jr.cloneElement)(C,{...B,...O,className:(0,Qx.default)(P,`${Gm}-popup-component`),id:N,ref:M,width:g.endsWith("full-width")?"auto":D!=null?D:R})},A=Oe(x,v);return(0,Hd.jsxs)("div",{...h,className:b,id:a,ref:A,children:[k(),T&&(0,Hd.jsx)(Fo,{children:(0,Hd.jsx)(Js,{...e,anchorElement:x,placement:g,children:I()})})]})});var sP=V(j()),lP=require("react");var Ga=require("react/jsx-runtime"),Od="vuuDropdownButton",aP=(0,lP.forwardRef)(function({ariaHideOptionRole:e,className:n,disabled:o,icon:r="chevron-down",isOpen:i,label:s,labelId:l,fullWidth:a,posInSet:u,setSize:c,labelAriaAttributes:d,...f},p){return(0,Ga.jsx)(jt,{className:(0,sP.default)(Od,{[`${Od}-fullWidth`]:a},n),disabled:o,variant:"secondary",...f,ref:p,children:(0,Ga.jsxs)("div",{className:`${Od}-content`,children:[(0,Ga.jsx)("span",{"aria-hidden":e?"true":void 0,...d,className:`${Od}-buttonLabel`,id:l,role:"option",children:s}),(0,Ga.jsx)("span",{className:`${Od}-buttonIcon`,"data-icon":r,"aria-hidden":"true"})]})})});var Qr=require("react");function h8(t,...e){let n=new Set(t);for(let o of e)for(let r of o)n.add(r);return n}var Fd="ArrowUp",Bd="ArrowDown",uP="ArrowLeft",cP="ArrowRight",Jx="Enter";var Xx="Home",jm="End",Yx="PageUp",qm="PageDown",dP=" ",g8=new Set(["Enter","Delete"," "]),y8=new Set(["Tab"]),b8=new Set(["ArrowRight","ArrowLeft"]),fP=new Set([Xx,jm,Yx,qm,Bd,Fd]),v8=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),x8=h8(g8,fP,b8,v8,y8),Qm=t=>x8.has(t.key)?!1:t.key.length===1&&!t.ctrlKey&&!t.metaKey&&!t.altKey,pP=({key:t})=>fP.has(t);var Zx=require("react");var C8={},w8=t=>Array.isArray(t.childNodes),S8=t=>!0,E8=t=>t.closest("[data-toggle],[aria-expanded]").dataset.toggle==="true",mP=({collapsibleHeaders:t,collectionHook:e,highlightedIdx:n,onToggle:o})=>{let r=(0,Zx.useCallback)(l=>{if(l.key===cP||l.key===Jx){let a=e.data[n];a&&a.expanded===!1&&a.value&&(l.preventDefault(),e.expandGroupItem(a),o==null||o(a.value))}if(l.key===uP||l.key===Jx){let a=e.data[n];a&&a.expanded&&a.value&&(l.preventDefault(),e.collapseGroupItem(a),o==null||o(a.value))}},[e.collapseGroupItem,e.data,e.expandGroupItem,n]),s={onClick:(0,Zx.useCallback)(l=>{console.log(`useCollapsibleGroups idx=${n}`);let a=e.data[n];console.log(l.target,l.currentTarget),a&&w8(a)&&(!S8(a)||E8(l.target))&&(l.stopPropagation(),l.preventDefault(),a.expanded===!1&&a.value?(e.expandGroupItem(a),o==null||o(a.value)):a.expanded===!0&&a.value&&(e.collapseGroupItem(a),o==null||o(a.value)))},[e.collapseGroupItem,e.data,e.expandGroupItem,n]),onKeyDown:r};return t?s:C8};function T8(t){if(t){let e=t.dataset.index;if(e)return parseInt(e,10);if(e=t.ariaPosInSet)return parseInt(e,10)-1}return-1}var k8=t=>t.closest("[data-index],[aria-posinset]");var hP=t=>T8(k8(t));var Jm=require("react"),M8={scrollToIndex:()=>{},scrollToItem:()=>{},scrollTo:()=>{}},Xm=({collectionHook:t,forwardedRef:e,scrollableRef:n,scrollIntoView:o})=>{let r=(0,Jm.useMemo)(()=>({scrollToIndex:i=>{let s=t.data[i];s&&(o==null||o(s))},scrollToItem:i=>{let s=t.toCollectionItem(i);s&&(o==null||o(s))},scrollTo:i=>{n!=null&&n.current&&(n.current.scrollTop=i)}}),[t,o,n]);(0,Jm.useImperativeHandle)(e,()=>n.current?r:M8,[r,n])};var fn=require("react");var ol=require("@vuu-ui/vuu-utils"),t0=-2;function gP(t,e,n){return e===Fd||e===jm?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var e0=t=>{var n;let e=Array.isArray(t)?nP(t):void 0;if(e){let o=document.getElementById(e);if(o){let r=parseInt((n=o.dataset.index)!=null?n:"-1");if((0,ol.isValidNumber)(r))return r}}return-1},I8=(t,e,n,o)=>t===jm?o:t===Xx?-1:e!==-1?e:n,P8=(t,e,n,o)=>{let{top:r}=e.getBoundingClientRect(),{scrollTop:i,clientHeight:s,scrollHeight:l}=t,a=n-1,u=Math.min(i+s,l-s);if(u!==i&&o<a){t.scrollTo(0,u);let c=o,d;do c+=1,d=(0,ol.getElementByDataIndex)(t,c,!0).getBoundingClientRect();while(d.top<r&&c<a);return c}},D8=async(t,e,n)=>{let{top:o}=e.getBoundingClientRect(),{scrollTop:r,clientHeight:i}=t,s=Math.max(r-i,0);if(s!==r&&n>0)return t.scrollTo(0,s),new Promise(l=>{requestAnimationFrame(()=>{let a=n,u;do a-=1,u=(0,ol.getElementByDataIndex)(t,a,!0).getBoundingClientRect();while(u.top>o&&a>0);l(a)})})},R8=t=>t!==void 0,yP=(t,e)=>{let n=(0,ol.getElementByDataIndex)(t,e);return R8(n)},bP=({containerRef:t,defaultHighlightedIndex:e=-1,disableHighlightOnFocus:n,highlightedIndex:o,itemCount:r,onHighlight:i,onKeyboardNavigation:s,restoreLastFocus:l,selected:a,viewportItemCount:u})=>{let c=(0,fn.useRef)(-1),[,d]=(0,fn.useState)({}),[f,p,g]=Le({controlled:o,default:e,name:"UseKeyboardNavigation"}),y=(0,fn.useCallback)((T,M=!1)=>{i==null||i(T),p(T),M&&(c.current=T)},[i,p]),m=(0,fn.useCallback)(async(T,M)=>{let L=(0,ol.getElementByDataIndex)(t.current,M,!0),k;if(L){let{current:I}=t;L&&I&&(k=T===qm?P8(I,L,r,M):await D8(I,L,M))}return k!=null?k:M},[t,r]),h=(0,fn.useCallback)((T=Bd,M=T===Bd?-1:r)=>{if(r===0)return-1;{let L=T==="End",k=T==="Home",I=L||k||M===-1?-1:e0(a),A=I8(T,M,I,r),H=gP(r,T,A),{current:R}=t;if(H===0&&T===Fd&&R&&!yP(R,0))return M;for(;((T===Bd||k)&&H<r||(T===Fd||L)&&H>0)&&R&&!yP(R,H);)H=gP(r,T,H);return H}},[t,r,a]),v=(0,fn.useRef)(!1),x=(0,fn.useRef)(!1),b=T=>x.current=T,S=(0,fn.useCallback)(()=>{if(x.current)x.current=!1;else if(v.current=!0,r===0)y(t0);else if(f!==-1)d({});else if(l)if(c.current!==-1)y(c.current);else{let T=e0(a);y(T!==-1?T:0)}else if(Gr(a)){let T=e0(a);y(T)}else n!==!0&&y(h())},[n,f,r,h,l,a,y]),C=(0,fn.useCallback)(async T=>{let M=T.key===qm||T.key===Yx?await m(T.key,f):h(T.key,f);M!==f&&y(M,!0),s==null||s(T,M)},[f,h,m,s,y]),w=(0,fn.useCallback)(T=>{r>0&&pP(T)?(T.preventDefault(),T.stopPropagation(),v.current=!0,C(T)):Qm(T)&&(v.current=!0)},[r,C]),E=(0,fn.useMemo)(()=>({onBlur:T=>{let M=T.target.closest(".vuuList"),L=T.relatedTarget;M&&!(M!=null&&M.contains(L))&&(v.current=!1,p(-1),l||(c.current=-1))},onFocus:S,onKeyDown:w,onMouseDownCapture:()=>{v.current=!1,b(!0)},onMouseMove:()=>{v.current&&(v.current=!1)},onMouseLeave:()=>{v.current=!1,b(!1),y(-1)}}),[S,w,l,p,y]);return{focusVisible:v.current?f:-1,controlledHighlighting:g,highlightedIndex:f,setHighlightedIndex:y,keyboardNavigation:v,containerProps:E,setIgnoreFocus:b}};var zo=require("@vuu-ui/vuu-utils"),go=require("react");var L8=["Enter"," "];var vP=({containerRef:t,defaultSelected:e,disableSelection:n=!1,highlightedIndex:o,itemQuery:r,onClick:i,onSelect:s,onSelectionChange:l,selected:a,selectionStrategy:u,selectionKeys:c=L8,tabToSelect:d})=>{let f=u==="deselectable",p=u==="multiple",g=u==="extended",y=(0,go.useRef)(-1),m=(0,go.useCallback)(k=>c.includes(k.key),[c]),[h,v]=_a({controlled:a,default:e!=null?e:[],name:"UseSelection",state:"selected"}),x=(0,go.useCallback)(k=>h.includes(k),[h]),b=(0,go.useCallback)(k=>x(k)?[]:[k],[x]),S=(0,go.useCallback)(k=>{let I=x(k)?h.filter(A=>A!==k):h.concat(k);return I.sort(),I},[x,h]),C=(0,go.useCallback)((k,I)=>{let A=I?h:[],[H]=h.slice(-1),R=H?(0,zo.getElementDataIndex)(document.getElementById(H)):0,O=Math.min(k,R),P=Math.max(k,R),N=t.current,B=Array.from(N.querySelectorAll(r)).slice(O,P+1).map($=>$.id),F=[...new Set([...A,...B])];return F.sort(),F},[t,r,h]),w=(0,go.useCallback)((k,I,A,H)=>{let{current:R}=t,{id:O}=(0,zo.getElementByDataIndex)(R,I,!0),P;p?P=S(O):g?H&&!A?P=S(O):A?P=C(I,H):P=[O]:f?P=b(O):P=[O],P!==h&&v(P),s==null||s(k,O),P!==h&&l&&l(k,P)},[t,p,g,f,h,s,S,C,b,v,l]),E=(0,go.useCallback)(k=>{let{current:I}=t,A=(0,zo.getElementByDataIndex)(I,o);(0,zo.isSelectableElement)(A)&&(m(k)||d&&k.key==="Tab")&&(k.key!=="Tab"&&k.preventDefault(),w(k,o,!1,k.ctrlKey||k.metaKey),g&&(y.current=o))},[o,t,m,d,w,g]),T=(0,go.useCallback)((k,I)=>{if(g&&k.shiftKey){let{current:A}=t,H=(0,zo.getElementByDataIndex)(A,I);(0,zo.isSelectableElement)(H)&&w(k,I,!0)}},[g,t,w]),M=(0,go.useCallback)(k=>{let{current:I}=t,A=(0,zo.getElementByDataIndex)(I,o);!n&&(0,zo.isSelectableElement)(A)&&(k.preventDefault(),k.stopPropagation(),w(k,o,k.shiftKey,k.ctrlKey||k.metaKey),g&&(y.current=o)),i==null||i(k)},[t,o,n,i,w,g]);return{listHandlers:qx(u)?{onClick:i}:{onClick:M,onKeyDown:E,onKeyboardNavigation:T},selected:h,setSelected:v}};var rl=require("react");var xP=({disableTypeToSelect:t,highlightedIdx:e,highlightItemAtIndex:n,typeToNavigate:o,items:r,applyIncrementalSearch:i=!0})=>{let s=(0,rl.useRef)(null),l=(0,rl.useRef)(""),a=(0,rl.useRef)(-1),u=(0,rl.useCallback)(d=>{if(d||!i){let f=new RegExp(`^${l.current}`,"i"),p=r.findIndex(({label:g},y)=>y>a.current&&f.test(g));p===-1&&(p=r.findIndex(({label:g},y)=>y<=a.current&&f.test(g))),p!==-1&&n(p)}else l.current="",s.current=null,a.current=-1},[i,n,r]),c=(0,rl.useCallback)(d=>{let f=a.current!==-1;(Qm(d)||f&&d.key===dP)&&o&&(d.preventDefault(),d.stopPropagation(),(a.current===-1||d.key===l.current)&&(a.current=e),s.current!==null&&(clearTimeout(s.current),s.current=null),d.key!==l.current&&(l.current+=d.key),i&&u(!0),s.current=window.setTimeout(()=>{u()},100))},[o,i,e,u]);return{onKeyDown:t?void 0:c}};var ur=require("react");var CP=["height"],A8=["height","scrollHeight"],N8=[],wP={containerOnly:[A8,N8],withContent:[CP,CP]},H8=t=>t?wP.containerOnly:wP.withContent,SP={current:null},O8=(t,e)=>{let{transform:n="none"}=getComputedStyle(t);if(n.startsWith("matrix")){let o=n.lastIndexOf(",");return parseInt(n.slice(o+1))}else{let o=t.offsetParent;if(o===e||e===null)return t.offsetTop;{let r=t.offsetTop;for(;o!==null&&o!==e;)r+=o.offsetTop,o=o.offsetParent;return r}}},EP=({containerRef:t,contentRef:e=SP,highlightedIdx:n=-1,indexPositions:o,stickyHeaders:r=!1})=>{let i=(0,ur.useRef)(!1),s=(0,ur.useRef)({height:0,contentHeight:0}),l=(0,ur.useCallback)(y=>{i.current=!0,t.current&&(t.current.scrollTop=y),setTimeout(()=>{i.current=!1})},[]),a=(0,ur.useCallback)(()=>l(0),[l]),u=(0,ur.useCallback)(()=>{l(s.current.contentHeight-s.current.height)},[l]),c=(0,ur.useCallback)(y=>{let m=e.current||t.current;if(y.id){let h=document.getElementById(y.id);if(h&&t.current){let{height:v}=s.current,x=h.ariaExpanded&&h.firstChild?h.firstChild:h,b=r?36:0,S=O8(x,m),C=x.offsetHeight,{scrollTop:w}=t.current,E=w+b,T=E+v-b;if(S+C>T||S<E){let M=S+C>T?w+(S+C)-T:S-b;l(M)}}}},[t,e,l,r]);bd(()=>{let{height:y,contentHeight:m}=s.current,h=o[n];if(m>y&&h){let[v]=o,[x]=o.slice(-1);h===v?a():h===x?u():c(o[n])}},[n,o,c,u,a]);let d=(0,ur.useCallback)(({height:y,scrollHeight:m})=>{typeof y=="number"&&(s.current.height=y),typeof m=="number"&&(s.current.contentHeight=m)},[]),f=(0,ur.useCallback)(({height:y})=>{typeof y=="number"&&(s.current.contentHeight=y)},[]),[p,g]=H8(e===SP);return Ur(t,p,d,!0),Ur(e,g,f,!0),{isScrolling:i,scrollIntoView:c}};var ja=require("react/jsx-runtime"),F8=ut("saltHighlighter"),TP=t=>{let{matchPattern:e,text:n=""}=t,o=typeof e=="string"?new RegExp(`(${Km(e)})`,"gi"):e;return o===void 0?(0,ja.jsx)(ja.Fragment,{children:n}):(0,ja.jsx)("span",{children:n.split(o).map((r,i)=>r.match(o)?(0,ja.jsx)("strong",{className:F8("highlight"),children:r},`${i}-${r}`):r)})};var n0=require("react"),o0=V(j());var MP=V(require("react")),IP=V(j());var kP="vuuCheckboxIcon",Vd=({checked:t=!1,disabled:e=!1,...n})=>MP.default.createElement("span",{...n,className:(0,IP.default)(kP,{[`${kP}-checked-${e?"disabled":"enabled"}`]:t})});var il=require("react/jsx-runtime"),zd="vuuListItem",Ym=(0,n0.forwardRef)(function({height:e,...n},o){return(0,il.jsx)("div",{...n,"aria-hidden":!0,className:(0,o0.default)(zd,`${zd}-proxy`),ref:o,style:{height:e}})}),Gi=(0,n0.forwardRef)(function({children:e,className:n,disabled:o,tabIndex:r,item:i,itemHeight:s,itemTextHighlightPattern:l,label:a,selectable:u,selected:c,showCheckbox:d,style:f,...p},g){let y=(0,o0.default)(zd,n,{vuuDisabled:o,[`${zd}-checkbox`]:d}),m=s!==void 0?{...f,height:s}:f;return(0,il.jsxs)("div",{className:y,...p,"aria-disabled":o||void 0,"aria-selected":c||void 0,ref:g,style:m,children:[d&&(0,il.jsx)(Vd,{"aria-hidden":!0,checked:c}),e&&typeof e!="string"?e:l==null?(0,il.jsx)("span",{className:`${zd}-textWrapper`,children:a||e}):(0,il.jsx)(TP,{matchPattern:l,text:a||e})]})});var ih=V(j()),Dn=require("react");var fr=require("react");var qa=require("react");var PP=require("@vuu-ui/vuu-utils"),DP=require("react");var $8=require("react/jsx-runtime"),B8={isDragSource:void 0,isDropTarget:void 0,register:()=>{}},V8=()=>console.log("have you forgotten to provide a DragDrop Provider ?"),z8=(0,qa.createContext)({registerDragDropParty:V8});var RP=t=>{var s,l;let{dragSources:e,dropTargets:n,onDragOut:o,onEndOfDragOperation:r,registerDragDropParty:i}=(0,qa.useContext)(z8);if(t&&(e||n)){let a=(s=e==null?void 0:e.has(t))!=null?s:!1,u=(l=n==null?void 0:n.has(t))!=null?l:!1;return{isDragSource:a,isDropTarget:u,onDragOut:o,onEndOfDragOperation:r,register:i}}else return B8};var JP=require("@vuu-ui/vuu-utils"),xe=require("react");var Zm=class{constructor(e,n){this.draggableElement=null;this.payload=null;this.setDraggable=e=>{this.draggableElement=e};this.initialDragElement=n,this.mouseOffset=this.getMouseOffset(e,n)}setPayload(e){this.payload=e}getMouseOffset(e,n){let{clientX:o,clientY:r}=e,i=n.getBoundingClientRect();return{x:o-i.left,y:r-i.top}}};var LP=V(j()),sl=require("react");var eh=require("react/jsx-runtime"),_8=t=>t.split(" ").map(e=>`vuuDraggable-${e}`),th=(0,sl.forwardRef)(function({wrapperClassName:e,element:n,onDropped:o,onTransitionEnd:r,style:i,scale:s=1},l){let a=(0,sl.useCallback)(()=>{o==null||o()},[o]),u=(0,sl.useCallback)(f=>{f&&(f.innerHTML="",f.appendChild(n),s!==1&&(f.style.transform=`scale(${s},${s})`),f.addEventListener("vuu-dropped",a))},[n,a,s]),c=Oe(l,u),d=(0,sl.useMemo)(()=>({left:0,top:0}),[]);return(0,eh.jsx)(Fo,{children:(0,eh.jsx)(Js,{anchorElement:{current:document.body},placement:"absolute",position:d,children:(0,eh.jsx)("div",{className:(0,LP.default)("vuuDraggable",..._8(e)),ref:c,onTransitionEnd:r,style:i})})})}),r0=t=>{let e=document.createElement("div");return e.className="vuuDraggable-spacer",t&&e.addEventListener("transitionend",()=>{t.current=!1}),e},AP=()=>{let t=document.createElement("div");return t.className="vuuDraggable-dropIndicatorPosition",t},NP=t=>{let e=document.createElement("div");return e.className="vuuDraggable-dropIndicator",t&&e.addEventListener("transitionend",()=>{t.current=!1}),e};var W8=["left","right"],K8=["top","bottom"],nh=":not(.wrapped)",HP=':not([aria-hidden="true"])',OP=t=>{let e=t.cloneNode(!0);return e.removeAttribute("id"),e.dataset.index="-1",e},U8=(t,e="width",n=!1)=>{let o=e==="width"?"left":"top",{[e]:r,[o]:i}=t.getBoundingClientRect(),{padEnd:s=!1,padStart:l=!1}=t.dataset,a=getComputedStyle(t),[u,c]=e==="width"?W8:K8,d=l&&!n?0:parseInt(a.getPropertyValue(`margin-${u}`),10),f=s&&!n?0:parseInt(a.getPropertyValue(`margin-${c}`),10),p=r;if(parseInt(a.getPropertyValue("flex-shrink"),10)>0){let y=parseInt(a.getPropertyValue("flex-basis"),10);!isNaN(y)&&y>0&&(p=y)}return[i,d+p+f]},G8={horizontal:{CLIENT_POS:"clientX",CLIENT_SIZE:"clientWidth",CONTRA:"top",CONTRA_CLIENT_POS:"clientY",CONTRA_END:"bottom",CONTRA_POS:"y",DIMENSION:"width",END:"right",POS:"x",SCROLL_POS:"scrollLeft",SCROLL_SIZE:"scrollWidth",START:"left"},vertical:{CLIENT_POS:"clientY",CLIENT_SIZE:"clientHeight",CONTRA:"left",CONTRA_CLIENT_POS:"clientX",CONTRA_END:"right",CONTRA_POS:"x",DIMENSION:"height",END:"bottom",POS:"y",SCROLL_POS:"scrollTop",SCROLL_SIZE:"scrollHeight",START:"top"}},Pn=t=>G8[t],FP=(t,e)=>{let n=t.find(o=>o.id===e);if(n)return n},BP=(t,e)=>{t.splice(e,1);for(let n=e;n<t.length;n++)t[n].currentIndex-=1},Qa=(t,e,n,o,r)=>{let i=[],{DIMENSION:s}=Pn(e),l=Array.from(n?t.querySelectorAll(n):t.children),a=l.length,u=typeof(o==null?void 0:o.from)=="number"?o.atEnd?Math.max(0,o.from-1):o.from:0,c=typeof(o==null?void 0:o.to)=="number"?Math.min(o.to+2,a-1):a-1;for(let d=u;d<=c;d++){let f=l[d],[p,g]=U8(f,s),y=d===a-1,m=f.id;i.push({currentIndex:d,id:m,index:d,isDraggedItem:r===m,isLast:y,isOverflowIndicator:f.dataset.index==="overflow",element:f,start:p,end:p+g,size:g,mid:p+g/2})}return i},Ja=(t,e=!1)=>{let n=t.findIndex(o=>o.isDraggedItem);if(e){let{index:o}=t[n],r=t.filter(s=>!s.isDraggedItem).reduce((s,l)=>Math.min(s,l.index),Number.MAX_SAFE_INTEGER);if(r>0&&!(o===0&&r===1))return r+n}return n},i0=(t,e)=>{let n=Ja(t),o=e==="fwd"?n+1:n-1;if(o<0||o>=t.length)throw Error("switchDropTargetPosition index out of range");let r=t.at(n),i=t.at(o),s=i.size-r.size;if(e==="fwd"){let l=i.start+s,a=i.end,u={...r,start:l,mid:Math.floor(l+(a-l)/2),end:a},c=r.start,d=r.end+s,f={...i,start:c,mid:Math.floor(c+(d-c)/2),end:d};t.splice(n,2,f,u)}else{let l=i.start,a=i.end-s,u={...r,start:l,mid:Math.floor(l+(a-l)/2),end:a},c=r.start-s,d=r.end,f={...i,start:c,mid:Math.floor(c+(d-c)/2),end:d};t.splice(o,2,u,f)}},ll=(t,e,n,o)=>{let r=t.length,i=Ja(t),s=t[i];if(o==="fwd"){let l=Math.round(e+n);for(let a=r-1;a>=0;a--){let u=t[a];if(l>u.mid)return s&&a<i?s:u}}else{let l=Math.round(e);for(let a=0;a<r;a++){let u=t[a];if(l<u.mid)return a>i?s:u}}throw Error("no dropTraget identified")};function VP(t,e){let{height:n,left:o,top:r,width:i}=t,{height:s,width:l}=e;return{height:Math.min(n,s),left:o,top:r,width:Math.min(i,l)}}var zP=(t,e)=>{let n=t.querySelector(`${e}:not([aria-hidden="true"])`),o=n==null?void 0:n.parentElement;return o===t?t:o==null?void 0:o.parentElement},$P=(t,e)=>{let{SCROLL_SIZE:n,CLIENT_SIZE:o}=Pn(e),{[n]:r,[o]:i}=t;return r>i};var ji=require("react");var _P=({containerRef:t,onScrollingStopped:e,orientation:n="vertical"})=>{let o=(0,ji.useRef)(null),r=(0,ji.useRef)(!1),i=(0,ji.useRef)(0),s=(0,ji.useRef)("fwd"),l=(0,ji.useCallback)((u=!1)=>{console.log("[useAutoScroll] stopScrolling"),o.current!==null&&(clearTimeout(o.current),o.current=null),r.current=!1,e==null||e(s.current,i.current,u)},[e]),a=(0,ji.useCallback)((u,c,d=30)=>{let{current:f}=t;if(f){let{SCROLL_POS:p,SCROLL_SIZE:g,CLIENT_SIZE:y}=Pn(n),{[p]:m,[g]:h,[y]:v}=f,x=u==="fwd"?h-v-m:m,b=Math.min(x,d);u==="fwd"?(s.current="fwd",f[p]=i.current=m+b):(s.current="bwd",f[p]=i.current=m-b),b===x?l(!0):(r.current=!0,o.current=window.setTimeout(()=>{a(u,c,d)},100))}},[t,n,l]);return{isScrolling:r,startScrolling:a,stopScrolling:l}};var Xa=require("react"),WP=({selected:t,viewportRange:e})=>{let n=(0,Xa.useRef)();n.current=e;let o=(0,Xa.useCallback)(s=>{s.ariaSelected&&Array.isArray(t)&&t.length>1&&console.log("its a selected element, and we have a multi select")},[t]),r=(0,Xa.useCallback)(()=>{},[]),i=(0,Xa.useCallback)(()=>{},[]);return{beginDrag:o,drag:r,drop:i}};var pt=require("react");var $d=require("react");var KP=()=>{let t=(0,$d.useMemo)(()=>AP(),[]),e=(0,$d.useCallback)(()=>t.remove(),[t]);return{positionDropIndicator:(0,$d.useCallback)((o,r="end")=>(r==="end"?o.element.after(t):o.element.before(t),t),[t]),clearSpacer:e}};var GP=require("react/jsx-runtime"),j8=':not([data-overflowed="true"])',q8=':not([aria-hidden="true"])',UP=({onDrop:t,orientation:e="horizontal",containerRef:n,itemQuery:o="*",selected:r,viewportRange:i})=>{let s=(0,pt.useRef)(),l=(0,pt.useRef)(null),a=(0,pt.useRef)(null),u=(0,pt.useRef)(""),c=(0,pt.useRef)(!1),d=(0,pt.useRef)(-1),f=(0,pt.useRef)([]),p=(0,pt.useRef)(!1),[g,y]=(0,pt.useState)(!1),[m,h]=(0,pt.useState)(),{clearSpacer:v,positionDropIndicator:x}=KP(),b=(0,pt.useRef)(),S=`:is(${o}${j8}${q8},[data-overflow-indicator])`,C=H=>f.current.findIndex(R=>R.id===H.id),w=(H,R,O)=>{H.start+=R,H.mid+=R,H.end+=R,typeof O=="number"&&(H.currentIndex+=O)},E=(0,pt.useRef)();E.current=i;let T=(0,pt.useCallback)(()=>{v()},[v]),M=(0,pt.useCallback)((H,R,O)=>{let{current:P}=n,{current:N}=b;if(P&&N){f.current=Qa(P,e,S,E.current);let{size:D}=N,F=d.current+D/2,{current:$}=f,Q=ll($,F,D,"fwd");Q&&x(O&&H==="fwd"?$[$.length-1]:Q,"start")}},[n,x,S,e]),L=(0,pt.useCallback)(H=>{H.ariaSelected&&Array.isArray(r)&&r.length>1&&console.log("its a selected element, and we have a multi select");let{current:R}=n;if(R&&H){let{SCROLL_SIZE:O,CLIENT_SIZE:P}=Pn(e),{id:N}=H,{[O]:D,[P]:B}=R;c.current=D>B;let F=f.current=Qa(R,e,S,i),$=FP(F,N);if($&&R){let Q=C($);BP(F,Q),b.current=$;let{current:J}=E;if(J!=null&&J.atEnd)for(let be=0;be<F.length;be++)w(F[be],$.size);for(let be=Q;be<F.length;be++)w(F[be],-$.size,-1);let[K,G]=$.isLast?[F[F.length-1],"end"]:[F[Q],"start"];a.current=K,u.current=G;let se=x(K,G),{top:Y,left:Re,width:ge}=se.getBoundingClientRect(),Te={top:$.isLast?J!=null&&J.atEnd&&!J.atStart?Y+$.size-2:Y-2:Y-$.size-2,left:Re,width:ge,height:2};h((0,GP.jsx)(th,{wrapperClassName:"dropIndicatorContainer",style:Te,ref:l,element:NP()}))}}},[r,n,e,S,i,x]),k=(0,pt.useCallback)((H,R)=>{let{current:O}=a,{current:P}=b;if(P&&n.current){let N=e==="horizontal"?"left":"top";d.current=H;let{current:D}=f,B=ll(D,H,P.size,R);if(B&&B.index!==(O==null?void 0:O.index)){if(B.isOverflowIndicator)y(p.current=!0);else if(l.current){if(C(B)===D.length-1){let $=D[D.length-1],J=x($,"start").getBoundingClientRect();l.current.style[N]=`${J.top}px`}else{let Q=x(B,"start").getBoundingClientRect();l.current.style[N]=`${Q.top}px`}y(p.current=!1)}a.current=B,s.current=R}}},[n,e,x]),I=(0,pt.useCallback)(()=>{v();let{current:H}=b,{current:R}=a,{current:O}=u,{current:P}=E;if(H&&P&&R){let{index:N}=H,D=O==="start",{index:B,currentIndex:F}=R;a.current=null,s.current=void 0,p.current?t(N,-1,{fromIndex:N,toIndex:-1}):N<B?t(N,D?F:F+1,{fromIndex:N,toIndex:D?F:F+1}):t(N,D?B:B+1,{fromIndex:N,toIndex:D?B:B+1}),h(void 0)}y(!1)},[v,t]),A=(0,pt.useCallback)(()=>{},[]);return{beginDrag:L,drag:k,drop:I,dropIndicator:m,handleScrollStart:T,handleScrollStop:M,releaseDrag:A,revealOverflowedItems:g}};var Mt=require("react");var $o=require("react");var jP=(t="horizontal")=>{let e=(0,$o.useRef)(0),n=(0,$o.useRef)(!1),o=(0,$o.useMemo)(()=>[r0(n),r0()],[]),r=(0,$o.useCallback)((u,c="width")=>{let[d,f]=o;e.current=requestAnimationFrame(()=>{n.current=!0,d.style.cssText=`${c}: 0px`,f.style.cssText=`${c}: ${u}px`,o[0]=f,o[1]=d})},[o]),i=(0,$o.useCallback)((u=!1)=>{if(u===!0){let[c]=o,d=()=>{c.removeEventListener("transitionend",d),i()},f=t==="horizontal"?"width":"height";c.addEventListener("transitionend",d),r(0,f)}else o.forEach(c=>c.remove())},[r,t,o]),s=(0,$o.useCallback)(()=>{e.current&&(cancelAnimationFrame(e.current),e.current=0)},[]),l=(0,$o.useCallback)((u,c,d,f=!1,p="static")=>{if(c){let g=t==="horizontal"?"width":"height",[y,m]=o;if(s(),f)n.current?(i(),y.style.cssText=`${g}: ${d}px`,m.style.cssText=`${g}: 0px`,p==="fwd"?(c.element.before(y),c.element.after(m)):(c.element.after(y),c.element.before(m))):p==="fwd"?c.element.after(m):c.element.before(m),r(d,g);else if(p==="static")y.style.cssText=`${g}: ${d}px`,c.element.before(y);else throw Error("useDragDisplacers currently only supports noTransition for static displacement");p!=="static"&&i0(u,p)}},[r,s,i,t,o]),a=(0,$o.useCallback)((u,c,d,f=!1,p="static")=>{let g=t==="horizontal"?"width":"height",[y,m]=o;s(),f?(n.current?(i(),y.style.cssText=`${g}: ${d}px`,m.style.cssText=`${g}: 0px`,c.element.before(y),c.element.after(m)):p==="fwd"?c.element.after(m):c.element.before(m),r(d,g)):(y.style.cssText=`${g}: ${d}px`,c.element.after(y)),p!=="static"&&i0(u,p)},[r,s,i,t,o]);return{displaceItem:l,displaceLastItem:a,clearSpacers:i}};var s0=require("@vuu-ui/vuu-utils");var qP=({onDrop:t,orientation:e="horizontal",containerRef:n,itemQuery:o="*",selected:r,viewportRange:i})=>{let s=(0,Mt.useRef)(),l=(0,Mt.useRef)(!1),a=(0,Mt.useRef)(-1),u=(0,Mt.useRef)([]),c=(0,Mt.useRef)(!1),[d,f]=(0,Mt.useState)(!1),{clearSpacers:p,displaceItem:g,displaceLastItem:y}=jP(e),m=(0,Mt.useRef)(),h=`:is(${o}${nh}${HP},.vuuOverflowContainer-OverflowIndicator)`,v=k=>u.current.findIndex(I=>I.id===k.id),x=(0,Mt.useRef)();x.current=i;let b=(0,Mt.useCallback)(()=>{p()},[p]),S=(0,Mt.useCallback)((k,I,A)=>{let{current:H}=n,{current:R}=m;if(H&&R){u.current=Qa(H,e,h,x.current),k==="fwd"?u.current.push(R):u.current.unshift(R);let{size:O}=R,N=a.current+O/2,{current:D}=u,B=ll(D,N,O,"fwd");if(B){let $=v(B),Q=D[$];A&&k==="fwd"?y(D,D[D.length-1],O,!1,"static"):g(D,Q,O,!0,"static")}}},[n,g,y,h,e]),C=(0,Mt.useCallback)(k=>{k.ariaSelected&&Array.isArray(r)&&r.length>1&&console.log("its a selected element, and we have a multi select");let{current:I}=n;if(I&&k){let A=I.contains(k),{SCROLL_SIZE:H,CLIENT_SIZE:R}=Pn(e),{id:O}=k,{[H]:P,[R]:N}=I;l.current=P>N;let D=u.current=Qa(I,e,h,i,O);if(console.log({dropTargets:D}),A){let B=Ja(D),F=D[B];F&&I&&(m.current=F,(F.isLast?y:g)(D,F,F.size,!1,"static"))}else{let{top:B,height:F}=k.getBoundingClientRect(),$=ll(D,B,F,"fwd"),Q=D.indexOf($),{start:J,end:K,mid:G}=$,se=m.current={end:K,mid:G,start:J,isDraggedItem:!0,isExternal:!0,size:F},Y=D.indexOf($);D.splice(Y,0,se);for(let ge=Q+1;ge<D.length;ge++){let Te=D[ge];Te.mid+=F,Te.end+=F,Te.start+=F}($.isLast?y:g)(D,$,$.size,!0,"static")}}},[n,g,y,h,e,r,i]),[w,E]=(0,Mt.useMemo)(()=>{let k=!1;return[H=>{if(!k){k=!0;let R=H.element.querySelector(".vuuPopupMenu");R&&(0,s0.dispatchMouseEvent)(R,"click")}},H=>{if(k){k=!1;let R=H.element.querySelector(".vuuPopupMenu");R&&(0,s0.dispatchMouseEvent)(R,"click")}}]},[]),T=(0,Mt.useCallback)((k,I)=>{let{current:A}=m;if(A&&n.current){a.current=k;let{current:H}=u,R=ll(H,k,A.size,I);if(R&&!R.isDraggedItem)if(R.isOverflowIndicator)f(c.current=!0),w(R);else{let{size:O}=A;(v(R)===H.length-1?y:g)(H,R,O,!0,I);let D=H.at(-1);E(D),f(c.current=!1)}s.current=I}},[n,g,y,E,w]),M=(0,Mt.useCallback)(()=>{var H;p();let{current:k}=u,I=Ja(k),A=k[I];if(A)if(s.current=void 0,c.current)t(A.index,-1,{fromIndex:A.index,toIndex:-1,isExternal:A.isExternal});else{let R=Ja(k,!0);t(A.index,R,{fromIndex:A.index,toIndex:R,isExternal:A.isExternal})}if(f(!1),n.current){let R=(H=n.current)==null?void 0:H.scrollTop;I<k.length&&(n.current.scrollTop=R)}},[p,n,t]),L=(0,Mt.useCallback)(()=>{p(!0)},[p]);return{beginDrag:C,drag:T,drop:M,handleScrollStart:b,handleScrollStop:S,releaseDrag:L,revealOverflowedItems:d}};var XP=require("react/jsx-runtime"),Q8={beginDrag:()=>{},drag:()=>{},draggableRef:{current:null},drop:()=>{},isDragging:!1,isScrolling:!1,handleScrollStart:()=>{},handleScrollStop:()=>{},revealOverflowedItems:!1},QP={start:0,end:1e3,contraStart:0,contraEnd:1e3},J8=()=>Q8,X8=3,Y8=(t,e)=>t.closest(e),Z8=(t,e)=>{let n=`:is(${e}${nh},.vuuOverflowContainer-OverflowIndicator)`,r=Array.from(t.querySelectorAll(n)).pop();return[r,YP(r)]},cr=({allowDragDrop:t,containerRef:e,draggableClassName:n,getDragPayload:o,id:r,itemQuery:i="*",onDragStart:s,onDrop:l,onDropSettle:a,orientation:u,...c})=>{let d=(0,xe.useRef)({start:0,end:0,contraStart:0,contraEnd:0}),[f,p]=(0,xe.useState)({draggable:void 0,draggedItemIndex:-1,isDragging:!1}),g=(0,xe.useRef)(null),y=(0,xe.useRef)(null),m=(0,xe.useRef)(!1),h=(0,xe.useRef)({x:0,y:0}),v=(0,xe.useRef)({x:0,y:0}),x=(0,xe.useRef)(null),b=(0,xe.useRef)(null),S=(0,xe.useRef)(-1),C=(0,xe.useRef)(-1),w=(0,xe.useRef)(),{isDragSource:E,isDropTarget:T,onDragOut:M,onEndOfDragOperation:L,register:k}=RP(r),I=(0,xe.useRef)(),A=(0,xe.useRef)(),H=(0,xe.useCallback)(()=>{let{current:ee}=I,{current:re}=A;ee&&re&&(document.addEventListener("mousemove",ee,!1),document.addEventListener("mouseup",re,!1))},[]),R=(0,xe.useCallback)(()=>{let{current:ee}=I,{current:re}=A;ee&&re&&(document.removeEventListener("mousemove",ee,!1),document.removeEventListener("mouseup",re,!1))},[]),O=(0,xe.useCallback)((ee,re)=>{let{current:ce}=e;if(ce){let[fe,oe]=Z8(ce,i),{CONTRA:pe,CONTRA_END:ve,DIMENSION:Ne,END:at,START:X}=Pn(u),ie=re[Ne],{[X]:xt,[at]:xn}=fe.getBoundingClientRect();d.current.start=ee[X],d.current.end=oe?Math.max(xt,ee.right-ie):m.current?ee[X]+ee[Ne]-ie:xn-ie,d.current.contraStart=ee[pe],d.current.contraEnd=ee[ve]}},[e,i,u]),P=(0,xe.useCallback)(()=>{var fe;let{current:ee}=x;x.current=null;let{current:re}=C,ce=(fe=e.current)==null?void 0:fe.querySelector(`${i}[data-index="${re}"]`);ce&&ce.classList.remove("vuuDropTarget-settling"),C.current=-1,a==null||a(re),p(oe=>({...oe,draggable:void 0})),ee&&(0,JP.dispatchCustomEvent)(ee,"vuu-dropped")},[e,i,a]),N=(0,xe.useCallback)(ee=>{if(b.current&&g.current){let{mouseOffset:re}=g.current,{POS:ce,SCROLL_POS:fe,SCROLL_SIZE:oe,CLIENT_SIZE:pe}=Pn(u),{[fe]:ve,[oe]:Ne,[pe]:at}=b.current,X=Ne-at,ie=ve<X,xt=d.current.end,xn=ve>0&&ee-re[ce]<=d.current.start,Cn=ie&&ee-re[ce]>=xt;return xn?"bwd":Cn?"fwd":""}},[b,u]),D=t===!0||t==="natural-movement"?qP:t==="drop-indicator"?UP:t==="drag-copy"?WP:J8,B=(0,xe.useCallback)((ee,re,ce)=>{var fe;(fe=w.current)==null||fe.call(w,ee,re,ce)},[]),{isScrolling:F,startScrolling:$,stopScrolling:Q}=_P({containerRef:b,onScrollingStopped:B,orientation:u}),J=(0,xe.useCallback)((ee,re,ce)=>{var fe;S.current=re,ce.isExternal?l==null||l(ee,re,{...ce,payload:(fe=g.current)==null?void 0:fe.payload}):l==null||l(ee,re,ce),C.current=re,r&&(L==null||L(r)),g.current=null},[r,l,L]),{beginDrag:K,drag:G,drop:se,handleScrollStart:Y,handleScrollStop:Re,releaseDrag:ge,...Te}=D({...c,containerRef:e,isDragSource:E,isDropTarget:T,itemQuery:i,onDrop:J,orientation:u});w.current=Re;let be=(0,xe.useCallback)((ee,re)=>{let{CONTRA_POS:ce}=Pn(u),fe=h.current[ce],oe=E?Math.abs(fe-re):0;if(t===!0&&!E&&!T)return!1;let pe=T===!1||oe-ee>5;if(g.current&&pe)return M!=null&&M(r,g.current)&&(R(),ge==null||ge(),g.current=null),d.current=QP,!0},[t,r,E,T,M,u,ge,R]),$e=(0,xe.useCallback)(ee=>{let{CLIENT_POS:re,CONTRA_CLIENT_POS:ce,POS:fe}=Pn(u),{clientX:oe,clientY:pe}=ee,{[re]:ve,[ce]:Ne}=ee,at=h.current[fe],X=Math.abs(at-ve),{current:ie}=g;if(!be(X,Ne)&&(h.current.x=oe,h.current.y=pe,ie)){let{draggableElement:xt,mouseOffset:xn}=ie;if(d.current===QP&&xt){let Cn=h.current.x-xn.x,zn=h.current.y-xn.y;xt.style.top=`${zn}px`,xt.style.left=`${Cn}px`}else if(X>0&&xt){let Cn=at<ve?"fwd":"bwd",zn=N(ve),Jl=h.current[fe]-xn[fe];if(zn&&m.current&&!F.current?(Y==null||Y(),$(zn,1)):!zn&&F.current&&Q(),!F.current){let mi=Math.round(Math.max(d.current.start,Math.min(d.current.end,Jl))),Xl=u==="horizontal"?"left":"top";xt.style[Xl]=`${mi}px`,G(mi,Cn)}}}},[G,be,N,Y,F,u,$,Q]),lt=(0,xe.useCallback)(()=>{R(),g.current&&(x.current=g.current.draggableElement),se(),p(ee=>({...ee,draggedItemIndex:-1,isDragging:!1}))},[se,R]);I.current=$e,A.current=lt;let Be=(0,xe.useCallback)(ee=>{g.current=ee;let{draggableElement:re,mouseOffset:ce}=ee,{current:fe}=e;if(fe&&re){let oe=fe.getBoundingClientRect(),pe=re.getBoundingClientRect();return O(oe,pe),h.current.x=pe.left+ce.x,h.current.y=pe.top+ce.y,K(re),H(),!0}else return!1},[H,K,e,O]),Se=(0,xe.useCallback)(ee=>{let{target:re}=ee,ce=Y8(re,i),{current:fe}=e;if(fe&&ce){let oe=zP(fe,i);m.current=$P(oe,u),b.current=oe;let pe=fe.getBoundingClientRect(),ve=ce.getBoundingClientRect(),Ne=g.current=new Zm(ee,ce);O(pe,ve),K(ce);let{dataset:{index:at="-1"}}=ce;p({isDragging:!0,draggable:(0,XP.jsx)(th,{element:OP(ce),onDropped:P,onTransitionEnd:P,ref:Ne.setDraggable,style:VP(ve,pe),wrapperClassName:n}),draggedItemIndex:parseInt(at)}),s==null||s(Ne),H()}},[H,K,e,n,i,s,u,O,P]),Ve=(0,xe.useCallback)(ee=>{let{CLIENT_POS:re,POS:ce}=Pn(u),{[re]:fe}=ee;Math.abs(fe-v.current[ce])>X8&&e.current&&(y.current&&(window.clearTimeout(y.current),y.current=null),document.removeEventListener("mousemove",Ve),document.removeEventListener("mouseup",et,!1),Se(ee))},[e,K,u]),et=(0,xe.useCallback)(()=>{y.current&&(window.clearTimeout(y.current),y.current=null),document.removeEventListener("mousemove",Ve,!1),document.removeEventListener("mouseup",et,!1)},[Ve]),vn=(0,xe.useCallback)(ee=>{let{current:re}=e;if(ee.stopPropagation(),re&&!ee.defaultPrevented){let{clientX:ce,clientY:fe}=ee;h.current.x=v.current.x=ce,h.current.y=v.current.y=fe,document.addEventListener("mousemove",Ve,!1),document.addEventListener("mouseup",et,!1),ee.persist(),y.current=window.setTimeout(()=>{document.removeEventListener("mousemove",Ve,!1),document.removeEventListener("mouseup",et,!1),Se(ee.nativeEvent)},500)}},[e,Se,Ve,et]),{current:Ae}=x;return(0,xe.useLayoutEffect)(()=>{if(Ae&&e.current){let ee=S.current,re=e.current.querySelector(`${i}[data-index="${ee}"]`);re&&(re.classList.add("vuuDropTarget-settling"),requestAnimationFrame(()=>{let{top:ce,left:fe}=re.getBoundingClientRect(),oe=getComputedStyle(Ae),pe=parseInt(oe.getPropertyValue("left")),ve=parseInt(oe.getPropertyValue("top"));pe!==fe||ve!==ce?(Ae.classList.add("vuuDraggable-settling"),Ae.style.top=`${ce}px`,Ae.style.left=`${fe}px`):P()}))}},[e,i,Ae,P]),(0,xe.useEffect)(()=>{r&&(E||T)&&k(r,t==="drop-only"?!1:Be,l)},[t,r,E,T,l,k,Be]),{...Te,...f,isScrolling:F,onMouseDown:t&&t!=="drop-only"?vn:void 0}};var dr=require("react");var ZP=({dataHook:t,onDrop:e,onMoveListItem:n,selected:o,setHighlightedIndex:r,setSelected:i})=>{let s=(0,dr.useRef)([]),l=(0,dr.useRef)(t);l.current=t;let a=(0,dr.useCallback)((f,p,g)=>f===p?g:f<Math.min(p,g)||f>Math.max(p,g)?f:p<f?f-1:f+1,[]),u=(0,dr.useCallback)((f,p,g)=>f.map(m=>l.current.indexOfItemById(m)).map(m=>a(m,p,g)),[a]),c=(0,dr.useCallback)((f,p,g)=>{Gr(o)&&(s.current=u(o,f,p)),g.isExternal?e==null||e(f,p,g):n==null||n(f,p),r(-1)},[o,r,u,e,n]),d=(0,dr.useCallback)(f=>{r(f)},[r]);return(0,dr.useEffect)(()=>{let{current:f}=s;if(Gr(f)){s.current=[];let p=Array.isArray(f)?f.map(g=>t.data[g].id):t.data[f].id;s.current=[],i(p)}},[t.data,i]),{handleDrop:c,onDropSettle:d}};var qi=({allowDragDrop:t=!1,collapsibleHeaders:e,collectionHook:n,containerRef:o,contentRef:r,defaultHighlightedIndex:i,defaultSelected:s,disabled:l,disableAriaActiveDescendant:a,disableHighlightOnFocus:u,disableTypeToSelect:c,highlightedIndex:d,id:f,label:p="",listHandlers:g,onClick:y,onDragStart:m,onDrop:h,onHighlight:v,onKeyboardNavigation:x,onKeyDown:b,onMoveListItem:S,onSelect:C,onSelectionChange:w,restoreLastFocus:E,scrollContainerRef:T,selected:M,selectionStrategy:L,selectionKeys:k,stickyHeaders:I,tabToSelect:A,viewportRange:H})=>{let R=(0,fr.useRef)(M||s),O=(oe,pe)=>{var ve,Ne;(Ne=(ve=Y.listHandlers).onKeyboardNavigation)==null||Ne.call(ve,oe,pe),x==null||x(oe,pe)},P=(0,fr.useCallback)((oe,pe)=>{C&&pe!==null&&C(oe,n.itemById(pe))},[n,C]),N=(0,fr.useMemo)(()=>{var oe,pe;return T||{current:(pe=(oe=o.current)==null?void 0:oe.querySelector(".vuuList-scrollContainer"))!=null?pe:null}},[o,T]),D=(0,fr.useCallback)((oe,pe)=>{if(w){if(tP(L)){let[ve]=pe;w(oe,n.itemById(ve))}else if(Wa(L)){let ve=pe.map(Ne=>n.itemById(Ne));w(oe,ve)}}},[n,w,L]),{highlightedIndex:B,containerProps:{onKeyDown:F,onMouseMove:$,...Q},setHighlightedIndex:J,...K}=bP({containerRef:N,defaultHighlightedIndex:i,disableHighlightOnFocus:u,highlightedIndex:d,itemCount:n.data.length,label:p,onHighlight:v,onKeyboardNavigation:O,restoreLastFocus:E,selected:R.current,viewportItemCount:10}),G=mP({collapsibleHeaders:e,highlightedIdx:B,collectionHook:n}),se=(0,fr.useCallback)(oe=>{J(-1),m==null||m(oe)},[m,J]),Y=vP({containerRef:o,defaultSelected:s,highlightedIndex:B,itemQuery:".vuuListItem",label:`${p}:useList`,onClick:y,onSelect:P,onSelectionChange:D,selected:M,selectionStrategy:L,selectionKeys:k,tabToSelect:A}),{handleDrop:Re,onDropSettle:ge}=ZP({dataHook:n,onDrop:h,onMoveListItem:S,selected:Y.selected,setHighlightedIndex:J,setSelected:Y.setSelected}),{setSelected:Te}=Y;kn(()=>{Gr(R.current)&&Te([])},[M,n.data,Te]);let{onMouseDown:be,isDragging:$e,isScrolling:lt,...Be}=cr({allowDragDrop:t,draggableClassName:"list-item",orientation:"vertical",containerRef:o,id:f,itemQuery:".vuuListItem",onDragStart:se,onDrop:Re,onDropSettle:ge,viewportRange:H}),{onKeyDown:Se}=xP({disableTypeToSelect:c,highlightedIdx:B,highlightItemAtIndex:J,typeToNavigate:!0,items:n.data}),Ve=(0,fr.useCallback)(oe=>{var pe,ve,Ne;oe.defaultPrevented||Se==null||Se(oe),F(oe),oe.defaultPrevented||(ve=(pe=Y.listHandlers).onKeyDown)==null||ve.call(pe,oe),oe.defaultPrevented||(Ne=G==null?void 0:G.onKeyDown)==null||Ne.call(G,oe),oe.defaultPrevented||b==null||b(oe)},[G,F,b,Y.listHandlers,Se]),{isScrolling:et,scrollIntoView:vn}=EP({containerRef:N,contentRef:r,highlightedIdx:B,indexPositions:n.data,stickyHeaders:I}),Ae=et.current||lt.current,ee=(0,fr.useCallback)(oe=>{if(!Ae&&!l&&!$e){$();let pe=hP(oe.target);if(pe!==-1&&pe!==B){let ve=n.data[pe];!ve||ve.disabled?J(-1):J(pe)}}},[$e,Ae,l,J,$,B,n.data]),re=()=>{var oe;return B===void 0||B===-1||a||(oe=n.data[B])==null?void 0:oe.id};R.current=Y.selected;let ce={"aria-activedescendant":re(),onBlur:Q.onBlur,onFocus:Q.onFocus,onKeyDown:Ve,onMouseDown:be,onMouseDownCapture:Q.onMouseDownCapture,onMouseLeave:Q.onMouseLeave},fe=g||{onClick:Y.listHandlers.onClick,onMouseMove:ee};return{focusVisible:K.focusVisible,controlledHighlighting:K.controlledHighlighting,highlightedIndex:B,keyboardNavigation:K.keyboardNavigation,listHandlers:fe,listItemHeaderHandlers:G,listControlProps:ce,scrollIntoView:vn,selected:Y.selected,setHighlightedIndex:J,setIgnoreFocus:K.setIgnoreFocus,setSelected:Y.setSelected,...Be}};var pr=require("react");var e9=(t,e,n=0)=>t===0?0:n===0?t*e:t-1*(e+n)+e,oh=({displayedItemCount:t,getItemHeight:e,height:n,itemCount:o,itemGapSize:r,itemHeight:i=36,size:s})=>{let[l,a]=(0,pr.useState)(i),[,u]=(0,pr.useState)({}),c=(0,pr.useRef)(null),[d,f]=(0,pr.useMemo)(()=>{let y=0,m=l!=null?l:i,h=e9(o,m,r);if(n!==void 0)return[h,void 0];let v=Math.min(t,o)||t;return typeof e=="function"?y+=Array(v).fill(0).reduce((b,S,C)=>b+e(C)+r,0)-r:y+=v*Number(m)+(v-1)*r,[h,y]},[t,e,n,o,r,i,l]),p=(0,pr.useCallback)(({height:y})=>{typeof y=="number"&&a(y)},[]),g=(0,pr.useCallback)(y=>{c.current=y,u({})},[]);return Ur(c,ZI,p,!0),{computedListHeight:f,contentHeight:d,listClientHeight:s==null?void 0:s.height,listItemHeight:l,rowHeightProxyRef:g}};var mr=require("react"),eD=(t,e,n,o)=>{let r=Math.ceil(e/o),i=Math.floor(t/o),s=Math.ceil(i+r-1);return{atStart:i===0,atEnd:s===n-1,from:i,to:s}},rh=({containerSize:t,itemCount:e,itemGapSize:n=0,itemSize:o,onViewportScroll:r})=>{let i=(0,mr.useRef)(0),s=(0,mr.useRef)(0),l=(0,mr.useRef)(0),a=(0,mr.useMemo)(()=>eD(l.current,t,e,o+n),[t,e,o,n]),[u,c]=(0,mr.useState)(a);return bd(()=>{c(a)},[a]),{onVerticalScroll:(0,mr.useCallback)(f=>{let p=f.target.scrollTop;if(p!==l.current){l.current=p;let g=o+n,y=eD(p,t,e,g);(y.from!==i.current||y.to!==s.current)&&(i.current=y.from,s.current=y.to,r==null||r(y.from,y.to),c(y))}},[o,n,t,e,r]),viewportRange:u}};var Qn=require("react/jsx-runtime"),tD=require("react"),t9="No data to display",Qi="vuuList",qr=(0,Dn.forwardRef)(function({ListItem:e=Gi,ListPlaceholder:n,allowDragDrop:o,children:r,className:i,collapsibleHeaders:s=!1,defaultHighlightedIndex:l,defaultSelected:a,disabled:u=!1,disableFocus:c=!1,disableTypeToSelect:d,displayedItemCount:f=10,emptyMessage:p,focusVisible:g,getItemHeight:y,getItemId:m,height:h,highlightedIndex:v,id:x,itemGapSize:b=0,itemHeight:S,itemTextHighlightPattern:C,itemToString:w=In,listHandlers:E,maxHeight:T,maxWidth:M,minHeight:L,minWidth:k,onClick:I,onDragStart:A,onDrop:H,onMoveListItem:R,onSelect:O,onSelectionChange:P,onHighlight:N,restoreLastFocus:D,selected:B,selectionStrategy:F,checkable:$=F==="multiple",scrollingApiRef:Q,selectionKeys:J,showEmptyMessage:K=!1,source:G,style:se,stickyHeaders:Y,tabIndex:Re=0,tabToSelect:ge,...Te},be){var jf,qf;let $e=ke(x),lt=(0,Dn.useRef)(null),Be=(0,Dn.useRef)(null),Se=(0,Dn.useRef)(null),[Ve,et]=(0,Dn.useState)(),vn=(0,Dn.useCallback)($n=>{et($n)},[]),Ae=Ki({id:$e,label:"List",source:G,children:r,options:{collapsibleHeaders:s,getItemId:m,itemToString:w}}),{listClientHeight:ee,computedListHeight:re,listItemHeight:ce,rowHeightProxyRef:fe}=oh({displayedItemCount:f,getItemHeight:y,height:h,itemCount:Ae.data.length,itemGapSize:b,itemHeight:S,rootRef:lt,size:Ve}),{onVerticalScroll:oe,viewportRange:pe}=rh({containerSize:(qf=(jf=ee!=null?ee:re)!=null?jf:Ve==null?void 0:Ve.height)!=null?qf:0,itemCount:Ae.data.length,itemGapSize:b,itemSize:ce}),{draggable:ve,draggedItemIndex:Ne,dropIndicator:at,focusVisible:X,highlightedIndex:ie,listControlProps:xt,listHandlers:xn,listItemHeaderHandlers:Cn,scrollIntoView:zn,selected:Jl}=qi({allowDragDrop:o,collapsibleHeaders:s,collectionHook:Ae,containerRef:lt,contentRef:Se,defaultHighlightedIndex:l,defaultSelected:Ae.itemToCollectionItemId(a),disabled:u,disableTypeToSelect:d,highlightedIndex:v,id:$e,label:"List",listHandlers:E,onClick:I,onDragStart:A,onDrop:H,onMoveListItem:R,onSelect:O,onSelectionChange:P,onHighlight:N,restoreLastFocus:D,scrollContainerRef:Be,selected:Ae.itemToCollectionItemId(B),selectionStrategy:F,selectionKeys:J,stickyHeaders:Y,tabToSelect:ge,viewportRange:pe});Xm({collectionHook:Ae,forwardedRef:Q,scrollableRef:lt,scrollIntoView:zn});let mi=g!=null?g:X,Xl=function(tt,sn,_,ue){let Me=(0,tD.createElement)(e,{...Cn,className:(0,ih.default)(`${Qi}Header`,{focusVisible:s&&mi===tt.value}),"aria-expanded":ue,"data-index":s?tt.value:void 0,"data-highlighted":tt.value===ie||void 0,"data-sticky":Y,"data-selectable":!1,id:sn,itemHeight:Kf(tt.value),key:`header-${tt.value}`,label:_});return tt.value+=1,Me},Kf=y===void 0?()=>S:y;function My($n,tt,sn){var Lo,Yl;let{disabled:_,value:ue,id:Me,label:Ct}=tt,ht=(0,Dn.isValidElement)(ue),Ro={className:(0,ih.default)((Lo=ue==null?void 0:ue.props)==null?void 0:Lo.className,{vuuHighlighted:sn.value===ie,vuuFocusVisible:mi===sn.value,["vuuDraggable-dragAway"]:Ne===sn.value}),disabled:_||u,id:Me,item:ht?void 0:(Yl=tt==null?void 0:tt.value)!=null?Yl:void 0,itemHeight:Kf(sn.value),itemTextHighlightPattern:C,key:Me,"data-index":sn.value,label:Ct,role:"option",selected:Um(Jl,tt),showCheckbox:$};$n.push(ht?(0,Dn.cloneElement)(ue,Ro):(0,Qn.jsx)(e,{...Ro})),sn.value+=1}let Iy=function(tt,sn,_){let{count:ue=0,id:Me,expanded:Ct,label:ht=""}=sn[_.value],Ro=Xl(_,Me,ht,Ct),Lo=Ct!==!1?[Ro].concat(Uf(sn,_,_.value+ue)||[]):Ro;tt.push((0,Qn.jsx)("div",{role:"group",children:Lo},Me))},Uf=($n,tt={value:0},sn=$n.length)=>{let _=[];for(;tt.value<sn;){let ue=$n[tt.value];ue.header?_.push(Xl(tt,ue.id,ue.label,ue.expanded===!1)):ue.childNodes?Iy(_,$n,tt):My(_,ue,tt)}return _};function Gf(){return p||K?(0,Qn.jsx)("span",{className:`${Qi}-empty-message`,children:p!=null?p:t9}):null}let vc=Ae.data.length===0,Py=()=>{if(vc)Gf();else{let $n=Ae.data;return Uf($n)}},Dy="auto",Ry={"--list-borderWidth":"var(--vuuList-borderWidth, var(--salt-size-border, 0))","--list-item-gap":b?`${b}px`:void 0,"--computed-list-height":re===void 0?void 0:`${re}px`,minWidth:k,minHeight:L,maxWidth:M,maxHeight:T};return(0,Qn.jsxs)(sh,{"aria-multiselectable":F==="multiple"||F==="extended"||F==="extended-multi-range"||void 0,...Te,...xn,...xt,className:(0,ih.default)(Qi,i,{[`${Qi}-collapsible`]:s,[`${Qi}-contentSized`]:re!==void 0,[`${Qi}-empty`]:vc,vuuFocusVisible:ie===t0}),height:re!=null?re:h,id:`${$e}`,onResize:vn,ref:Oe(lt,be),role:"listbox",onScroll:oe,style:{...se,...Ry},tabIndex:u||c?void 0:Re,children:[(0,Qn.jsx)(Ym,{ref:fe,height:S}),Ae.data.length===0&&n!==void 0?(0,Qn.jsx)(Qn.Fragment,{children:(0,Qn.jsx)(n,{})}):(0,Qn.jsx)("div",{className:`${Qi}-viewport`,ref:Be,children:(0,Qn.jsxs)("div",{className:`${Qi}-scrollingContentContainer`,ref:Se,style:{height:Dy},children:[Py(),at,ve]})})]})});function nD(t){var e,n,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e<t.length;e++)t[e]&&(n=nD(t[e]))&&(o&&(o+=" "),o+=n);else for(e in t)t[e]&&(o&&(o+=" "),o+=e);return o}function l0(){for(var t,e,n=0,o="";n<arguments.length;)(t=arguments[n++])&&(e=nD(t))&&(o&&(o+=" "),o+=e);return o}var ul=require("react");var rD=require("react");var lh=class{constructor(e=0,n=0){this.keys=new Map,this.free=[],this.nextKeyValue=0,this.reset(e,n)}next(){return this.free.length?this.free.pop():this.nextKeyValue++}reset(e,n){this.keys.forEach((r,i)=>{(i<e||i>=n)&&(this.free.push(r),this.keys.delete(i))});let o=n-e;this.keys.size+this.free.length>o&&(this.free.length=o-this.keys.size);for(let r=e;r<n;r++)if(!this.keys.has(r)){let i=this.next();this.keys.set(r,i)}}keyFor(e){return this.keys.get(e)}};var n9=([t],[e])=>t-e,oD=5,iD=({data:t,listItemGapSize:e=0,listItemHeight:n,viewportRange:o})=>{let r=(0,rD.useMemo)(()=>new lh(0,1),[]),i=n+e,s=Math.max(0,o.from-oD),l=Math.min(t.length,o.to+oD);return r.reset(s,l),t.slice(s,l).map((u,c)=>[r.keyFor(c+s),(c+s)*i,c+s+1,u]).sort(n9)};var al=require("react/jsx-runtime"),o9="No data to display",ah=ut("saltList"),r9=(0,ul.memo)(Gi),Ble=(0,ul.forwardRef)(function({borderless:e,children:n,className:o,collapsibleHeaders:r=!1,defaultHighlightedIndex:i,defaultSelected:s,disabled:l=!1,disableFocus:a=!1,disableTypeToSelect:u,displayedItemCount:c=10,emptyMessage:d,getItemHeight:f,getItemId:p,height:g,highlightedIndex:y,id:m,itemGapSize:h=0,itemHeight:v,itemTextHighlightPattern:x,itemToString:b,maxHeight:S,maxWidth:C,minHeight:w,minWidth:E,onDragStart:T,onDrop:M,onSelect:L,onSelectionChange:k,onViewportScroll:I,onHighlight:A,restoreLastFocus:H,selected:R,selectionStrategy:O,scrollingApiRef:P,selectionKeys:N,showEmptyMessage:D=!1,source:B,style:F,stickyHeaders:$,tabToSelect:Q,width:J,...K},G){let se=_s(m),Y=(0,ul.useRef)(null),Re=(0,ul.useRef)(null),ge=Ki({id:se,label:"List",source:B,children:n,options:{collapsibleHeaders:r,getItemId:p,itemToString:b}}),{contentHeight:Te,listItemHeight:be,listHeight:$e}=oh({borderless:e,displayedItemCount:c,height:g,itemCount:ge.data.length,itemGapSize:h,itemHeight:v,rootRef:Y,rowHeightRef:Re}),{focusVisible:lt,highlightedIndex:Be,listControlProps:Se,listHandlers:Ve,scrollIntoView:et,selected:vn}=qi({collapsibleHeaders:r,collectionHook:ge,containerRef:Y,defaultHighlightedIndex:i,defaultSelected:ge.itemToCollectionItemId(s),disabled:l,disableTypeToSelect:u,highlightedIndex:y,label:se,onSelect:L,onSelectionChange:k,onHighlight:A,restoreLastFocus:H,selected:ge.itemToCollectionItemId(R),selectionStrategy:O,selectionKeys:N,stickyHeaders:$,tabToSelect:Q}),{onVerticalScroll:Ae,viewportRange:ee}=rh({containerSize:typeof $e=="number"?$e:0,itemCount:ge.data.length,itemGapSize:h,itemSize:be});console.log({viewPortRange:ee});let re=iD({data:ge.data,listItemGapSize:h,listItemHeight:be,viewportRange:ee});Xm({collectionHook:ge,forwardedRef:P,scrollableRef:Y,scrollIntoView:et});function ce(Ne,at,X){let[ie,xt,xn,Cn]=at,zn=xn-1;Ne.push((0,al.jsx)(r9,{"aria-setsize":ge.data.length,"aria-posinset":xn,className:l0(o,{saltHighlighted:zn===Be,saltFocusVisible:lt===zn}),"data-idx":zn,item:Cn,label:Cn.label,"data-offset":xt,role:"option",selected:Um(vn,Cn),id:Cn.id,translate3d:xt},ie)),X.value+=1}function fe(Ne,at={value:0},X=Ne.length){let ie=[];for(;at.value<X;){let xt=Ne[at.value];ce(ie,xt,at)}return ie}function oe(){return d||D?(0,al.jsx)("span",{className:ah("empty-message"),children:d!=null?d:o9}):null}let pe=()=>{if(re.length)return fe(re);oe()},ve={"--list-item-gap":h?`${h}px`:void 0,minWidth:E,minHeight:w,width:J!=null?J:"100%",height:g!=null?g:"100%",maxWidth:C!=null?C:J,maxHeight:S!=null?S:$e};return(0,al.jsx)("div",{...K,...Ve,...Se,className:l0(ah(),o,ah("virtualized")),id:`${se}`,ref:Oe(Y,G),role:"listbox",onScroll:Ae,style:{...F,...ve},tabIndex:l||a?void 0:0,children:(0,al.jsxs)("div",{className:ah("scrollingContentContainer"),style:{height:Te},children:[(0,al.jsx)(Ym,{ref:Re}),pe()]})})});var i9=V(j());var s9=require("react/jsx-runtime");var Ya=require("react");var sD=({collectionHook:t,defaultHighlightedIndex:e,defaultIsOpen:n,defaultSelected:o,highlightedIndex:r,isOpen:i,itemToString:s=In,listRef:l,onHighlight:a,onOpenChange:u,onSelectionChange:c,onSelect:d,selected:f,selectionStrategy:p})=>{let g=Wa(p),[y,m]=Le({controlled:i,default:n!=null?n:!1,name:"useDropdownList"}),h=(0,Ya.useCallback)((C,w)=>{g||(m(!1),u==null||u(!1)),(Array.isArray(w)||w)&&(c==null||c(C,w))},[g,u,c,m]),v=(0,Ya.useCallback)((C,w)=>{g||(m(!1),u==null||u(!1)),d==null||d(C,w)},[g,u,d,m]),x=qi({collectionHook:t,defaultHighlightedIndex:(e!=null?e:r===void 0)?0:void 0,defaultSelected:o,label:"DropDown",onSelectionChange:h,onSelect:v,containerRef:l,highlightedIndex:r,onHighlight:a,selected:f,selectionStrategy:p,tabToSelect:!g}),b=(0,Ya.useCallback)(C=>{m(C),u==null||u(C)},[u,m]),S=(0,Ya.useMemo)(()=>{if(Array.isArray(x.selected)){let C=x.selected.map(w=>t.itemById(w));if(C.length===0)return;if(C.length===1){let[w]=C;return w===null?void 0:s(w)}else return`${C.length} items selected`}},[t,s,x.selected]);return{isOpen:y,onOpenChange:b,triggerLabel:S,...x}};var Za=require("react/jsx-runtime"),eu=(0,Qr.forwardRef)(function({"aria-label":e,children:n,defaultIsOpen:o,defaultSelected:r,id:i,isOpen:s,itemToString:l=In,onOpenChange:a,onSelectionChange:u,onSelect:c,selected:d,selectionStrategy:f,source:p,triggerComponent:g,ListItem:y,ListProps:m,width:h=180,...v},x){let b=ke(i),S=(0,Qr.useRef)(null),C=(0,Qr.useRef)(null),w=Oe(S,x),E=Ki({id:b,source:p,children:n,options:{itemToString:l}}),{highlightedIndex:T,triggerLabel:M,listHandlers:L,listControlProps:k,selected:I,...A}=sD({collectionHook:E,defaultHighlightedIndex:m==null?void 0:m.defaultHighlightedIndex,defaultIsOpen:o,defaultSelected:E.itemToCollectionItemId(r),highlightedIndex:m==null?void 0:m.highlightedIndex,isOpen:s,itemToString:l,listRef:C,onHighlight:m==null?void 0:m.onHighlight,onOpenChange:a,onSelectionChange:u,onSelect:c,selected:E.itemToCollectionItemId(d),selectionStrategy:f}),H=(0,Qr.useCallback)(O=>Array.isArray(O)?O.map(N=>E.itemById(N)):E.itemById(O),[E]),R=()=>{let O={"aria-activedescendant":A.isOpen?k==null?void 0:k["aria-activedescendant"]:void 0,"aria-label":e};if(g){let P=g.props;return(0,Qr.cloneElement)(g,Ad(P,{...A.isOpen?k:{},...O}))}else return(0,Za.jsx)(aP,{label:M,...A.isOpen?k:{},...O})};return(0,Za.jsx)(_m,{collectionHook:E,children:(0,Za.jsxs)(Ua,{...v,id:b,isOpen:A.isOpen,onOpenChange:A.onOpenChange,placement:(m==null?void 0:m.width)===void 0?"below-full-width":"below",ref:w,width:h,children:[R(),(0,Za.jsx)(qr,{ListItem:y,itemToString:l,...m,highlightedIndex:T,listHandlers:L,onSelectionChange:u,onSelect:c,ref:C,selected:I===void 0?void 0:H(I),selectionStrategy:f})]})})});var it=require("react");var l9=["Enter"],lD=({allowBackspaceClearsSelection:t,allowFreeText:e,ariaLabel:n,collectionHook:o,defaultIsOpen:r,defaultSelected:i,defaultValue:s,onBlur:l,onFocus:a,onChange:u,onDeselect:c,onSelect:d,id:f,initialHighlightedIndex:p=-1,isOpen:g,itemCount:y,itemsToString:m,itemToString:h=In,listRef:v,onOpenChange:x,onSelectionChange:b,onSetSelectedText:S,selected:C,selectionKeys:w=l9,selectionStrategy:E,value:T,InputProps:M={onBlur:l,onFocus:a,onChange:u,onSelect:d}})=>{let L=Wa(E),{data:k,setFilterPattern:I}=o,A=(0,it.useRef)(null),H=(0,it.useRef)(L?[]:null),R=(0,it.useRef)(!0),[O,P]=Le({controlled:g,default:r!=null?r:!1,name:"useDropdownList"}),[N,D]=Le({controlled:void 0,default:s!=null?s:T,name:"ComboBox",state:"value"}),[B,F]=(0,it.useState)(!0),$=(0,it.useCallback)(X=>{var ie;Array.isArray(X)||X==null&&((ie=A.current)==null||ie.call(A,-1))},[]),Q=(0,it.useCallback)((X,ie=!0)=>{D(X),ie&&I(X===""?void 0:X)},[I,D]),J=(0,it.useCallback)(X=>{let ie=e&&N!=null?N:"";return Array.isArray(X)?X.length===1?ie=h(X[0]):X.length>1&&(ie=(m==null?void 0:m(X))||""):X&&(ie=h(X)),ie!==N?(Q(ie,!L),S==null||S(ie),!0):!1},[e,L,h,m,S,Q,N]),K=(0,it.useCallback)(()=>{let{current:X}=H;J(X)&&X&&(Array.isArray(X)||X)&&(b==null||b(null,X))},[b,J]),G=(0,it.useCallback)(()=>{if(e){let X=N==null?void 0:N.trim(),{current:ie}=H;if(X){if(y===0&&X)return L?b==null||b(null,[X]):b==null||b(null,X),H.current=null,!0;ie&&!L&&ie&&!Array.isArray(ie)&&h(ie)}}return!1},[e,N,y,L,b,h]),se=(0,it.useCallback)((X,ie)=>{X&&L&&Q("",!1),P(X),x==null||x(X,ie),!X&&ie!=="Escape"&&(G()||K())},[K,L,x,G,P,Q]),Y=(0,it.useCallback)((X,ie)=>{H.current=ie,L||se(!1,"select")},[se,L]),Re=(0,it.useCallback)(()=>{F(!1)},[]),{focusVisible:ge,setHighlightedIndex:Te,highlightedIndex:be,listControlProps:$e,listHandlers:lt,selected:Be}=qi({collectionHook:o,containerRef:v,defaultHighlightedIndex:p,defaultSelected:o.itemToCollectionItemId(i),disableAriaActiveDescendant:B,disableHighlightOnFocus:!0,disableTypeToSelect:!0,label:"combobox",onKeyboardNavigation:Re,onSelectionChange:Y,selected:o.itemToCollectionItemId(C),selectionKeys:w,selectionStrategy:E,tabToSelect:!L});A.current=Te;let{onClick:Se}=lt,Ve=(0,it.useCallback)(X=>{var ie;(ie=document.getElementById(`${f}-input`))==null||ie.focus(),Se==null||Se(X)},[f,Se]),et=(0,it.useCallback)(X=>{let ie=X.target.value;D(ie),ie&&ie.trim().length?I(ie):I(void 0),P(!0)},[I,P,D]),vn=(0,it.useCallback)(X=>{X.key==="Backspace"&&t&&(H.current=null,c==null||c())},[t,c]),{onFocus:Ae=a}=M,{onFocus:ee}=$e,re=(0,it.useCallback)(X=>{F(!1),ee==null||ee(X),Ae==null||Ae(X)},[Ae,ee]),ce=(0,it.useCallback)(X=>{let ie=X.relatedTarget;return(ie==null?void 0:ie.id)===`${f}-list`},[f]),{onBlur:fe=l}=M,{onBlur:oe}=$e,pe=(0,it.useCallback)(X=>{ce(X)||(oe==null||oe(X),fe==null||fe(X),F(!0),R.current=!0)},[ce,oe,fe]),{onSelect:ve}=M,Ne=(0,it.useCallback)(X=>{R.current?R.current=!1:F(!0),ve==null||ve(X)},[ve]);kn(()=>{Gr(Be)?$(Be):Te(p)},[$,y,p,Be,Te,P]);let at={...M.inputProps,"aria-label":n,autoComplete:"off",onKeyDown:vn};return{focusVisible:ge,highlightedIndex:be,isOpen:O,onOpenChange:se,inputProps:{...M,id:`${f}-input`,inputProps:at,onChange:et,onSelect:Ne,role:"combobox",value:N},listControlProps:{...$e,onBlur:pe,onFocus:re},listHandlers:{...lt,onClick:Ve},selected:H.current}};var aD=V(j());var cD=require("react/jsx-runtime"),a9="vuuChevronIcon",uD=t=>{let{direction:e,...n}=t;return(0,cD.jsx)("span",{...n,className:(0,aD.default)(a9,e)})};var cl=require("react/jsx-runtime"),a0=(0,tu.forwardRef)(function({InputProps:e,ListProps:n,PopupProps:o,ListItem:r,"aria-label":i,allowBackspaceClearsSelection:s,allowFreeText:l,children:a,defaultIsOpen:u,defaultSelected:c,defaultValue:d,disabled:f,disableFilter:p,onBlur:g,onFocus:y,onChange:m,onSelect:h,onSetSelectedText:v,getFilterRegex:x,id:b,initialHighlightedIndex:S=-1,isOpen:C,itemToString:w=In,itemsToString:E,onDeselect:T,onOpenChange:M,onSelectionChange:L,selected:k,selectionKeys:I,selectionStrategy:A,source:H,value:R,width:O=180,...P},N){let D=ke(b),B=(0,tu.useRef)(null),F=Se=>Array.isArray(Se)&&Se.length>0?Se[0]:void 0,Q=((Se,Ve)=>{let et=Se?F(Se):Ve?F(Ve):void 0;return et?w(et):""})(k,c),J=Ki({id:D,source:H,children:a,options:{disableFilter:p,filterPattern:Q,getFilterRegex:x,itemToString:w}}),{focusVisible:K,highlightedIndex:G,inputProps:{endAdornment:se,...Y},isOpen:Re,listHandlers:ge,listControlProps:Te,onOpenChange:be,selected:$e}=lD({InputProps:e,allowBackspaceClearsSelection:s,allowFreeText:l,ariaLabel:i,collectionHook:J,defaultIsOpen:u,defaultSelected:c,defaultValue:d,disabled:f,initialHighlightedIndex:S,itemCount:J.data.length,label:P.title,listRef:B,onBlur:g,onDeselect:T,onFocus:y,onChange:m,onSelect:h,id:D,isOpen:C,itemToString:w,itemsToString:E,onOpenChange:M,onSelectionChange:L,onSetSelectedText:v,selected:k,selectionKeys:I,selectionStrategy:A,value:Q}),lt=(0,tu.useCallback)(()=>{Re?be(!1,"toggle"):be(!0)},[Re,be]);return(0,cl.jsx)(_m,{collectionHook:J,children:(0,cl.jsxs)(Ua,{...P,PopupProps:o,id:D,isOpen:Re,onOpenChange:be,openOnFocus:!0,ref:N,width:O,children:[(0,cl.jsx)(Un,{...Y,disabled:f,...Te,endAdornment:se===null?null:(0,cl.jsx)(uD,{direction:Re?"up":"down",onClick:lt})}),(0,cl.jsx)(qr,{...n,ListItem:r,defaultSelected:void 0,focusVisible:K,highlightedIndex:G,itemTextHighlightPattern:String(Y.value)||void 0,listHandlers:ge,onSelectionChange:L,ref:B,selected:$e,selectionStrategy:A,tabIndex:-1})]})})});var fD=V(j()),uh=require("react"),mD=require("react/jsx-runtime"),dD="vuuCycleStateButton",u9=(t,e)=>{let n=e.indexOf(t.toUpperCase());return n===e.length-1?e[0]:e[n+1]},pD=(0,uh.forwardRef)(function({className:e,onCommit:n,value:o="",values:r,...i},s){let l=(0,uh.useCallback)(a=>{let u=u9(o,r);n(a,u).then(c=>{c!==!0&&console.error(c)})},[n,o,r]);return(0,mD.jsx)(jt,{...i,className:(0,fD.default)(dD,e,`${dD}-${o.toLowerCase()}`),onClick:l,ref:s,children:o})});var hD=require("@vuu-ui/vuu-utils"),gD=t=>e=>c9(t,e);function c9(t,e){let n;for(let o of t){let r=(0,hD.getEditRuleValidator)(o.name);if(r){let i=r(o,e);switch(i){case!0:break;case!1:n===void 0&&(n=!1);break;default:n===void 0||n===!1?n=i:n+=`::${i}`}}else throw Error(`editable-utils applyRules, no validator registered for rule '${o.name}'`)}return n}var u0=require("@vuu-ui/vuu-utils"),yo=require("react"),nu=()=>(console.warn("onCommit handler has not been provided to InputCell cell renderer"),Promise.resolve(!0)),yD=({clientSideEditValidationCheck:t,initialValue:e,onCommit:n,type:o})=>{let[r,i]=(0,yo.useState)(),[s,l]=(0,yo.useState)(e),a=(0,yo.useRef)(e),u=(0,yo.useRef)(!1),c=(0,yo.useRef)(!1);kn(()=>{l(e)},[e]);let d=(0,yo.useCallback)(y=>{if(u.current){c.current=!0;let m=t==null?void 0:t(s);m?i(m):(i(void 0),console.log(`commit value ${s}`),n(s).then(h=>{h===!0?(u.current=!1,(0,u0.dispatchCustomEvent)(y,"vuu-commit")):i(h)}))}else(0,u0.dispatchCustomEvent)(y,"vuu-commit"),c.current=!1},[t,n,s]),f=(0,yo.useCallback)(y=>{y.key==="Enter"?d(y.target):y.key==="ArrowRight"||y.key==="ArrowLeft"||y.key==="ArrowUp"||y.key==="ArrowDown"?y.stopPropagation():y.key==="Escape"&&u.current&&(u.current=!1,i(void 0),l(a.current))},[d]),p=(0,yo.useCallback)(y=>{u.current&&d(y.target)},[d]),g=(0,yo.useCallback)(y=>{let m=y.target.value;if(o==="number"&&!isNaN(parseFloat(m))&&(m=parseFloat(m)),u.current=s!==a.current,l(m),c.current&&s!==void 0){let h=t==null?void 0:t(s);h!==r&&h!==!1&&i(h)}},[t,r,o,s]);return{inputProps:{onBlur:p,onKeyDown:f},onChange:g,value:s!=null?s:"",warningMessage:r}};var bD=V(j()),_o=require("react");var dh=require("react/jsx-runtime"),ch="vuuEditableLabel",_d=(0,_o.forwardRef)(function({className:e,defaultEditing:n,defaultValue:o,editing:r,onChange:i,onEnterEditMode:s,onExitEditMode:l,value:a,...u},c){let d=(0,_o.useRef)(null),f=(0,_o.useRef)(!1),[p,g]=Le({controlled:a,default:o!=null?o:"",name:"EditableLabel",state:"value"}),[y,m]=Le({controlled:r,default:n!=null?n:!1,name:"EditableLabel",state:"editing"}),h=(0,_o.useCallback)(M=>{m(f.current=M)},[m]),v=(0,_o.useRef)(p);(0,_o.useLayoutEffect)(()=>{y&&d.current!==null&&(d.current.select(),d.current.focus())},[y,d]);let x=(0,_o.useCallback)(()=>{h(!0),s&&s()},[s,h]),b=({cancelEdit:M=!1,allowDeactivation:L=!1}={})=>{h(!1);let k=v.current;k!==p&&(M?g(k):v.current=p),l&&l(k,p,L,M)},S=M=>{let{value:L}=M.target;g(L),i&&i(L)},C=()=>{x()},w=()=>{f.current&&b({allowDeactivation:!0})},E=M=>{y&&M.key==="Enter"?(M.stopPropagation(),b()):M.key==="ArrowRight"||M.key==="ArrowLeft"?M.stopPropagation():M.key==="Escape"&&b({cancelEdit:!0})},T=(0,bD.default)(ch,e,{[`${ch}-editing`]:y});return(0,dh.jsx)("div",{...u,className:T,onDoubleClick:C,"data-text":p,ref:c,children:y?(0,dh.jsx)(Un,{inputProps:{className:`${ch}-input`,spellCheck:!1},value:p,onBlur:w,onChange:S,onKeyDown:E,inputRef:d,style:{padding:0},textAlign:"left",variant:"secondary"}):(0,dh.jsx)("span",{className:`${ch}-label`,children:p})})});var vD=V(j()),xD=require("react");var d0=require("react/jsx-runtime"),c0="vuuExpandoInput",d9=()=>{},fh=(0,xD.forwardRef)(function({className:e,errorMessage:n,value:o,inputProps:r,onCommit:i=d9,...s},l){return(0,d0.jsx)("div",{className:(0,vD.default)(c0,e,{[`${c0}-error`]:n}),"data-text":o,children:(0,d0.jsx)(ph,{...s,errorMessage:n,inputProps:{...r,className:`${c0}-input`},onCommit:i,ref:l,style:{padding:0},textAlign:"left",value:o,variant:"secondary"})})});var CD=require("react/jsx-runtime");var wD=require("react/jsx-runtime");var AD=V(j()),lu=require("react");var ou=require("react");var ED=require("react/jsx-runtime"),SD=()=>{},f9="vuuColumnResizerNext",mh=({onDrag:t,onDragEnd:e=SD,onDragStart:n=SD})=>{let o=(0,ou.useRef)(0),r=(0,ou.useCallback)(l=>{l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault();let a=Math.round(l.clientX),u=a-o.current;o.current=a,u!==0&&t(l,u)},[t]),i=(0,ou.useCallback)(l=>{window.removeEventListener("mouseup",i),window.removeEventListener("mousemove",r),e(l)},[e,r]),s=(0,ou.useCallback)(l=>{n(l),o.current=Math.round(l.clientX),window.addEventListener("mouseup",i),window.addEventListener("mousemove",r),l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault()},[n,r,i]);return(0,ED.jsx)("div",{className:f9,onMouseDown:s})};var Ji=require("react"),hh=({column:t,onResize:e,rootRef:n})=>{let o=(0,Ji.useRef)(0),[r,i]=(0,Ji.useState)(!1),{name:s}=t,l=(0,Ji.useCallback)(()=>{if(e&&n.current){let{width:c}=n.current.getBoundingClientRect();o.current=Math.round(c),i(!0),e==null||e("begin",s)}},[s,e,n]),a=(0,Ji.useCallback)((c,d)=>{if(n.current&&e){let{width:f}=n.current.getBoundingClientRect(),p=Math.round(f)+d;p!==o.current&&p>0&&(e("resize",s,p),o.current=p)}},[s,e,n]),u=(0,Ji.useCallback)(()=>{e&&(e("end",s,o.current),setTimeout(()=>{i(!1)},80))},[s,e]);return{isResizing:r,onDrag:a,onDragStart:l,onDragEnd:u}};var TD=require("@vuu-ui/vuu-utils"),kD=V(j()),MD=require("react"),Xi=(t,e,n)=>(0,MD.useMemo)(()=>{let o=(0,kD.default)(e,{vuuPinFloating:t.pin==="floating",vuuPinLeft:t.pin==="left",vuuPinRight:t.pin==="right",vuuEndPin:n&&t.endPin,[`${e}-editable`]:t.editable,[`${e}-right`]:t.align==="right"}),r=(0,TD.getColumnStyle)(t);return{className:o,style:r}},[t,e,n]);var PD=V(j()),DD=require("react");var gh=require("react/jsx-runtime"),ID="vuuColumnHeaderPill",ru=({children:t,className:e,column:n,onRemove:o,removable:r,...i})=>{if(r&&typeof o!="function")throw Error("ColumnHeaderPill onRemove prop must be provided if Pill is removable");let s=(0,DD.useCallback)(l=>{l.preventDefault(),l.stopPropagation(),o==null||o(n)},[n,o]);return(0,gh.jsxs)("div",{...i,className:(0,PD.default)(ID,e),children:[t,r?(0,gh.jsx)("span",{className:`${ID}-removeButton`,role:"button","data-icon":"cross",onClick:s}):null]})};var iu=require("react/jsx-runtime"),RD=({column:t,...e})=>{let{name:n,sorted:o}=t,r=typeof o=="number"?o<0?"arrow-down":"arrow-up":o==="A"?"arrow-up":o==="D"?"arrow-down":void 0;return(0,iu.jsxs)(ru,{...e,column:t,children:[(0,iu.jsx)("span",{className:"vuuGroupColumnPill-label",children:n}),r!==void 0?(0,iu.jsx)("span",{"data-icon":r}):null,typeof o=="number"?(0,iu.jsx)("span",{className:"vuuSortPosition",children:Math.abs(o)}):null]})};var Wd=require("react/jsx-runtime"),LD=({column:t})=>{if(!t.sorted)return null;let e=typeof t.sorted=="number"?t.sorted<0?"arrow-down":"arrow-up":t.sorted==="A"?"arrow-up":"arrow-down";return(0,Wd.jsxs)(ru,{column:t,children:[(0,Wd.jsx)("span",{"data-icon":e}),typeof t.sorted=="number"?(0,Wd.jsx)("span",{className:"vuuSortPosition",children:Math.abs(t.sorted)}):null]})};var su=require("react/jsx-runtime"),ND=require("react"),f0="vuuTableGroupHeaderCell",p9=(t,e)=>t===e?t:e,p0=({column:t,className:e,onMoveColumn:n,onRemoveColumn:o,onResize:r,...i})=>{let s=(0,lu.useRef)(null),{isResizing:l,...a}=hh({column:t,onResize:r,rootRef:s}),[u,c]=(0,lu.useState)(t.columns),{className:d,style:f}=Xi(t,f0,!0),p=u.length>1?{removable:!0,onRemove:o}:void 0,g=(0,lu.useCallback)((y,m)=>{c(h=>{let v=h.slice(),[x]=v.splice(y,1);if(m===-1){let b=v.concat(x);return n==null||n(b),b}else return v.splice(m,0,x),n==null||n(v),v})},[n]);return kn(()=>{c(y=>p9(y,t.columns))},[t.columns]),(0,su.jsxs)("div",{...i,className:(0,AD.default)(d,e,{[`${f0}-pending`]:t.groupConfirmed===!1}),ref:s,role:"columnheader",style:f,children:[(0,su.jsx)(Kd,{allowDragDrop:!0,className:`${f0}-inner`,height:24,onMoveItem:g,overflowPosition:"start",children:u.map(y=>(0,ND.createElement)(RD,{...p,column:y,key:y.key}))}),(0,su.jsx)(ru,{column:t,removable:!0,onRemove:o}),t.resizeable!==!1?(0,su.jsx)(mh,{...a}):null]})};var bh=require("react");var HD=V(j()),dl=require("react");var FD=require("react/jsx-runtime"),m9=t=>{if(t){let{bottom:e,left:n}=t.getBoundingClientRect();return{x:n,y:e+6}}},OD=({className:t,column:e,...n})=>{let o=(0,dl.useRef)(null),[r,i]=(0,dl.useState)(!1),[s]=Na(),l=(0,dl.useCallback)(()=>{i(!1)},[]),a=(0,dl.useCallback)(u=>{i(!0),s(u,"column-menu",{column:e,ContextMenuProps:{onClose:l,position:m9(o.current)}})},[e,l,s]);return(0,FD.jsx)("span",{...n,className:(0,HD.default)("vuuTable-columnMenu",t,{"vuuTable-columnMenu-open":r}),"data-icon":"more-vert",onClick:a,ref:o})};var BD=V(j());var Jr=require("react/jsx-runtime"),yh="vuuTableHeaderCell",VD=({className:t,column:e,onClick:n,onResize:o,...r})=>{var v;let{HeaderCellContentRenderer:i,HeaderCellLabelRenderer:s}=e,l=(0,bh.useRef)(null),{isResizing:a,...u}=hh({column:e,onResize:o,rootRef:l}),c=(0,bh.useCallback)(x=>{!a&&(n==null||n(x))},[a,n]),{className:d,style:f}=Xi(e,yh,!0),p=(0,Jr.jsx)(OD,{column:e}),g=s?(0,Jr.jsx)(s,{className:`${yh}-label`,column:e}):(0,Jr.jsx)("div",{className:`${yh}-label`,children:(v=e.label)!=null?v:e.name}),y=i?[(0,Jr.jsx)(i,{column:e},"content")]:[],m=(0,Jr.jsx)(LD,{column:e}),h=e.align==="right"?[m,g].concat(y).concat(p):[p,g,m].concat(y);return(0,Jr.jsxs)("div",{...r,className:(0,BD.default)(d,t,{[`${yh}-resizing`]:a}),onClick:c,ref:l,role:"columnheader",style:f,children:[...h,e.resizeable!==!1?(0,Jr.jsx)(mh,{...u}):null]})};var Q2=require("@vuu-ui/vuu-utils");var nS=V(j()),Ju=require("react");var Jn=require("@vuu-ui/vuu-utils"),UD=V(j()),Ud=require("react");var zD=require("@vuu-ui/vuu-utils"),m0=require("react");var h0=require("react/jsx-runtime"),h9="vuuTableCell",$D=({column:t,columnMap:e,onClick:n,onDataEdited:o,row:r})=>{let{className:i,style:s}=Xi(t,h9),{CellRenderer:l,name:a,valueFormatter:u}=t,c=e[a],d=(0,m0.useCallback)(p=>{if(o){let g=p;return(0,zD.isNumericColumn)(t)&&typeof p=="string"&&(g=t.serverDataType==="double"?parseFloat(p):parseInt(p)),o==null?void 0:o(r,a,g)}else throw Error("TableCell onDataEdited prop not supplied for an editable cell")},[t,a,o,r]),f=(0,m0.useCallback)(p=>{n==null||n(p,t)},[t,n]);return(0,h0.jsx)("div",{className:i,onClick:n?f:void 0,role:"cell",style:s,children:l?(0,h0.jsx)(l,{column:t,columnMap:e,onCommit:d,row:r}):u(r[c])})};var vh=require("@vuu-ui/vuu-utils"),_D=require("react");var WD=V(j());var au=require("react/jsx-runtime"),{IS_LEAF:g9}=vh.metadataKeys,g0="vuuTableGroupCell",KD=({column:t,onClick:e,row:n})=>{let{columns:o}=t,[r,i]=(0,vh.getGroupValueAndOffset)(o,n),{className:s,style:l}=Xi(t,g0),a=(0,_D.useCallback)(d=>{e==null||e(d,t)},[t,e]),u=n[g9],c=Array(i).fill(0).map((d,f)=>(0,au.jsx)("span",{className:`${g0}-spacer`},f));return(0,au.jsxs)("div",{className:(0,WD.default)(s,"vuuTableCell"),role:"cell",style:l,onClick:u?void 0:a,children:[c,u?null:(0,au.jsx)("span",{className:`${g0}-toggle`,"data-icon":"triangle-right"}),(0,au.jsx)("span",{children:r})]})};var xh=require("react/jsx-runtime"),GD=require("react"),{IDX:y9,IS_EXPANDED:b9,SELECTED:v9}=Jn.metadataKeys,Xr="vuuTableRow",y0=(0,Ud.memo)(({className:t,columnMap:e,columns:n,highlighted:o,row:r,offset:i,onClick:s,onDataEdited:l,onToggleGroup:a,zebraStripes:u=!1,...c})=>{let{[y9]:d,[b9]:f,[v9]:p}=r,g=(0,Ud.useCallback)(S=>{let C=S.shiftKey,w=S.ctrlKey||S.metaKey;s==null||s(r,C,w)},[s,r]),{True:y,First:m,Last:h}=Jn.RowSelected,v=(0,UD.default)(Xr,t,{[`${Xr}-even`]:u&&d%2===0,[`${Xr}-expanded`]:f,[`${Xr}-highlighted`]:o,[`${Xr}-selected`]:p&y,[`${Xr}-selectedStart`]:p&m,[`${Xr}-selectedEnd`]:p&h}),x={transform:`translate3d(0px, ${i}px, 0px)`},b=(0,Ud.useCallback)((S,C)=>{((0,Jn.isGroupColumn)(C)||(0,Jn.isJsonGroup)(C,r))&&(S.stopPropagation(),a==null||a(r,C))},[a,r]);return(0,GD.createElement)("div",{...c,"aria-rowindex":r[0],key:`row-${r[0]}`,role:"row",className:v,onClick:g,style:x},(0,xh.jsx)("span",{className:`${Xr}-selectionDecorator vuuStickyLeft`}),n.filter(Jn.isNotHidden).map(S=>{let C=(0,Jn.isGroupColumn)(S),w=(0,Jn.isJsonColumn)(S);return(0,xh.jsx)(C?KD:$D,{column:S,columnMap:e,onClick:C||w?b:void 0,onDataEdited:l,row:r},S.key)}),(0,xh.jsx)("span",{className:`${Xr}-selectionDecorator vuuStickyRight`}))});y0.displayName="Row";var jD=require("@vuu-ui/vuu-utils"),x9=t=>typeof t=="string",C9=(t,e)=>x9(e)?e===""?!0:t.value==="lower"&&e.toLowerCase()!==e?"value must be all lowercase":t.value==="upper"&&e.toUpperCase()!==e?"value must be all uppercase":!0:"value must be a string";(0,jD.registerComponent)("vuu-case",C9,"data-edit-validator",{});var qD=require("@vuu-ui/vuu-utils"),w9=t=>typeof t=="string",S9="value does not match expected pattern",E9=(t,e)=>{if(typeof t.value!="string")throw Error("Pattern validation rule must provide pattern");if(w9(e)){if(e==="")return!0;{let{message:n=S9}=t;return new RegExp(t.value).test(e)||n}}else return"value must be a string"};(0,qD.registerComponent)("vuu-pattern",E9,"data-edit-validator",{});var Yr=require("@vuu-ui/vuu-utils"),QD=V(j(),1);var fl=require("react/jsx-runtime"),Gd="vuuProgressCell",T9=({column:t,columnMap:e,row:n})=>{let{type:o}=t,r=n[t.key],i=!1,s=0;if((0,Yr.isTypeDescriptor)(o)&&(0,Yr.isColumnTypeRenderer)(o.renderer)){let{associatedField:a}=o.renderer;if(a){let u=n[e[a]];if(typeof(0,Yr.isValidNumber)(r)&&(0,Yr.isValidNumber)(u))s=Math.min(Math.round(r/u*100),100),s=Math.min(Math.round(r/u*100),100),i=isFinite(s);else{let c=parseFloat(r);if(Number.isFinite(c)){let d=parseFloat(u);Number.isFinite(d)&&(s=Math.min(Math.round(c/d*100),100),i=isFinite(s))}}}else throw Error("ProgressCell associatedField is required to render")}let l=(0,QD.default)(Gd,{});return(0,fl.jsxs)("div",{className:l,tabIndex:-1,children:[i?(0,fl.jsxs)("span",{className:`${Gd}-track`,children:[(0,fl.jsx)("span",{className:`${Gd}-bg`}),(0,fl.jsx)("span",{className:`${Gd}-bar`,style:{"--progress-bar-pct":`-${100-s}%`}})]}):null,(0,fl.jsx)("span",{className:`${Gd}-text`,children:`${s} %`})]})};(0,Yr.registerComponent)("vuu.progress",T9,"cell-renderer",{description:"Progress formatter",label:"Progress formatter",serverDataType:["long","int","double"]});var Rn=require("@vuu-ui/vuu-utils"),XD=V(j(),1);var pl=require("@vuu-ui/vuu-utils"),Ch=require("react"),k9=[void 0,void 0,void 0,void 0];function JD(t,e,n){var d;let o=(0,Ch.useRef)(),[r,i,s,l]=o.current||k9,{type:a}=n,u=(0,pl.isTypeDescriptor)(a)?(d=a.formatting)==null?void 0:d.decimals:void 0,c=t===r&&(0,pl.isValidNumber)(e)&&(0,pl.isValidNumber)(i)&&n===s?(0,pl.getMovingValueDirection)(e,l,i,u):"";return(0,Ch.useEffect)(()=>{o.current=[t,e,n,c]}),c}var wh=require("react/jsx-runtime"),M9=String.fromCharCode(11014),I9=String.fromCharCode(11015),{KEY:P9}=Rn.metadataKeys,jd="vuuBackgroundCell",uu={ArrowOnly:"arrow",BackgroundOnly:"bg-only",ArrowBackground:"arrow-bg"},D9=t=>(0,Rn.isTypeDescriptor)(t)&&t.renderer&&"flashStyle"in t.renderer?t.renderer.flashStyle:uu.BackgroundOnly,R9=({column:t,columnMap:e,row:n})=>{let{name:o,type:r,valueFormatter:i}=t,s=e[o],l=n[s],a=D9(r),u=JD(n[P9],l,t),c=a===uu.ArrowOnly||a===uu.ArrowBackground?u===Rn.UP1||u===Rn.UP2?M9:u===Rn.DOWN1||u===Rn.DOWN2?I9:null:null,d=u?" "+u:"",f=(0,XD.default)(jd,d,{[`${jd}-backgroundOnly`]:a===uu.BackgroundOnly,[`${jd}-arrowOnly`]:a===uu.ArrowOnly,[`${jd}-arrowBackground`]:a===uu.ArrowBackground});return(0,wh.jsxs)("div",{className:f,tabIndex:-1,children:[(0,wh.jsx)("div",{className:`${jd}-flasher`,children:c}),i(n[s])]})};(0,Rn.registerComponent)("vuu.price-move-background",R9,"cell-renderer",{description:"Change background color of cell when value changes",configEditor:"BackgroundCellConfigurationEditor",label:"Background Flash",serverDataType:["long","int","double"]});var YD=require("@vuu-ui/vuu-utils");var Sh=require("react"),qd=require("react/jsx-runtime"),L9="vuuBackgroundCellConfiguration",b0=[{label:"Background Only",value:"bg-only"},{label:"Background and Arrow",value:"arrow-bg"},{label:"Arrow Only",value:"arrow"}],[ZD]=b0,A9=t=>{let{flashStyle:e}=t.type.renderer;return b0.find(n=>n.value===e)||ZD},N9=({column:t,onChangeRendering:e})=>{let[n,o]=(0,Sh.useState)(A9(t)),r=(0,Sh.useCallback)((i,s)=>{var a;o(s);let l=t.type.renderer;e({...l,flashStyle:(a=s==null?void 0:s.value)!=null?a:ZD.value})},[t.type,e]);return(0,qd.jsxs)(rx,{children:[(0,qd.jsx)(sx,{children:"Flash Style"}),(0,qd.jsx)(eu,{className:`${L9}-flashStyle`,onSelectionChange:r,selected:n,source:b0,width:"100%"})]})};(0,YD.registerConfigurationEditor)("BackgroundCellConfigurationEditor",N9);var H9=V(j(),1),O9=require("react");var F9=require("@vuu-ui/vuu-utils"),eR=require("react/jsx-runtime");var Ww=require("@vuu-ui/vuu-utils");var u$=V(j(),1);var _w=require("@vuu-ui/vuu-utils");var jN=require("react");var zN=require("react");var Ce=class{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,n,o){let r=[];return this.decompose(0,e,r,2),o.length&&o.decompose(0,o.length,r,3),this.decompose(n,this.length,r,1),bo.from(r,this.length-(n-e)+o.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,n=this.length){let o=[];return this.decompose(e,n,o,0),bo.from(o,n-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let n=this.scanIdentical(e,1),o=this.length-this.scanIdentical(e,-1),r=new gl(this),i=new gl(e);for(let s=n,l=n;;){if(r.next(s),i.next(s),s=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(l+=r.value.length,r.done||l>=o)return!0}}iter(e=1){return new gl(this,e)}iterRange(e,n=this.length){return new Mh(this,e,n)}iterLines(e,n){let o;if(e==null)o=this.iter();else{n==null&&(n=this.lines+1);let r=this.line(e).from;o=this.iterRange(r,Math.max(r,n==this.lines+1?this.length:n<=1?0:this.line(n-1).to))}return new Ih(o)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?Ce.empty:e.length<=32?new Qe(e):bo.from(Qe.split(e,[]))}},Qe=class extends Ce{constructor(e,n=B9(e)){super(),this.text=e,this.length=n}get lines(){return this.text.length}get children(){return null}lineInner(e,n,o,r){for(let i=0;;i++){let s=this.text[i],l=r+s.length;if((n?o:l)>=e)return new x0(r,l,o,s);r=l+1,o++}}decompose(e,n,o,r){let i=e<=0&&n>=this.length?this:new Qe(tR(this.text,e,n),Math.min(n,this.length)-Math.max(0,e));if(r&1){let s=o.pop(),l=kh(i.text,s.text.slice(),0,i.length);if(l.length<=32)o.push(new Qe(l,s.length+i.length));else{let a=l.length>>1;o.push(new Qe(l.slice(0,a)),new Qe(l.slice(a)))}}else o.push(i)}replace(e,n,o){if(!(o instanceof Qe))return super.replace(e,n,o);let r=kh(this.text,kh(o.text,tR(this.text,0,e)),n),i=this.length+o.length-(n-e);return r.length<=32?new Qe(r,i):bo.from(Qe.split(r,[]),i)}sliceString(e,n=this.length,o=`
847
847
  `){let r="";for(let i=0,s=0;i<=n&&s<this.text.length;s++){let l=this.text[s],a=i+l.length;i>e&&s&&(r+=o),e<a&&n>i&&(r+=l.slice(Math.max(0,e-i),n-i)),i=a+1}return r}flatten(e){for(let n of this.text)e.push(n)}scanIdentical(){return 0}static split(e,n){let o=[],r=-1;for(let i of e)o.push(i),r+=i.length+1,o.length==32&&(n.push(new Qe(o,r)),o=[],r=-1);return r>-1&&n.push(new Qe(o,r)),n}},bo=class extends Ce{constructor(e,n){super(),this.children=e,this.length=n,this.lines=0;for(let o of e)this.lines+=o.lines}lineInner(e,n,o,r){for(let i=0;;i++){let s=this.children[i],l=r+s.length,a=o+s.lines-1;if((n?a:l)>=e)return s.lineInner(e,n,o,r);r=l+1,o=a+1}}decompose(e,n,o,r){for(let i=0,s=0;s<=n&&i<this.children.length;i++){let l=this.children[i],a=s+l.length;if(e<=a&&n>=s){let u=r&((s<=e?1:0)|(a>=n?2:0));s>=e&&a<=n&&!u?o.push(l):l.decompose(e-s,n-s,o,u)}s=a+1}}replace(e,n,o){if(o.lines<this.lines)for(let r=0,i=0;r<this.children.length;r++){let s=this.children[r],l=i+s.length;if(e>=i&&n<=l){let a=s.replace(e-i,n-i,o),u=this.lines-s.lines+a.lines;if(a.lines<u>>5-1&&a.lines>u>>5+1){let c=this.children.slice();return c[r]=a,new bo(c,this.length-(n-e)+o.length)}return super.replace(i,l,a)}i=l+1}return super.replace(e,n,o)}sliceString(e,n=this.length,o=`
848
848
  `){let r="";for(let i=0,s=0;i<this.children.length&&s<=n;i++){let l=this.children[i],a=s+l.length;s>e&&i&&(r+=o),e<a&&n>s&&(r+=l.sliceString(e-s,n-s,o)),s=a+1}return r}flatten(e){for(let n of this.children)n.flatten(e)}scanIdentical(e,n){if(!(e instanceof bo))return 0;let o=0,[r,i,s,l]=n>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=n,i+=n){if(r==s||i==l)return o;let a=this.children[r],u=e.children[i];if(a!=u)return o+a.scanIdentical(u,n);o+=a.length+1}}static from(e,n=e.reduce((o,r)=>o+r.length+1,-1)){let o=0;for(let p of e)o+=p.lines;if(o<32){let p=[];for(let g of e)g.flatten(p);return new Qe(p,n)}let r=Math.max(32,o>>5),i=r<<1,s=r>>1,l=[],a=0,u=-1,c=[];function d(p){let g;if(p.lines>i&&p instanceof bo)for(let y of p.children)d(y);else p.lines>s&&(a>s||!a)?(f(),l.push(p)):p instanceof Qe&&a&&(g=c[c.length-1])instanceof Qe&&p.lines+g.lines<=32?(a+=p.lines,u+=p.length+1,c[c.length-1]=new Qe(g.text.concat(p.text),g.length+1+p.length)):(a+p.lines>r&&f(),a+=p.lines,u+=p.length+1,c.push(p))}function f(){a!=0&&(l.push(c.length==1?c[0]:bo.from(c,u)),u=-1,a=c.length=0)}for(let p of e)d(p);return f(),l.length==1?l[0]:new bo(l,n)}};Ce.empty=new Qe([""],0);function B9(t){let e=-1;for(let n of t)e+=n.length+1;return e}function kh(t,e,n=0,o=1e9){for(let r=0,i=0,s=!0;i<t.length&&r<=o;i++){let l=t[i],a=r+l.length;a>=n&&(a>o&&(l=l.slice(0,o-r)),r<n&&(l=l.slice(n-r)),s?(e[e.length-1]+=l,s=!1):e.push(l)),r=a+1}return e}function tR(t,e,n){return kh(t,[""],e,n)}var gl=class{constructor(e,n=1){this.dir=n,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[n>0?1:(e instanceof Qe?e.text.length:e.children.length)<<1]}nextInner(e,n){for(this.done=this.lineBreak=!1;;){let o=this.nodes.length-1,r=this.nodes[o],i=this.offsets[o],s=i>>1,l=r instanceof Qe?r.text.length:r.children.length;if(s==(n>0?l:0)){if(o==0)return this.done=!0,this.value="",this;n>0&&this.offsets[o-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(n>0?0:1)){if(this.offsets[o]+=n,e==0)return this.lineBreak=!0,this.value=`
849
849
  `,this;e--}else if(r instanceof Qe){let a=r.text[s+(n<0?-1:0)];if(this.offsets[o]+=n,a.length>Math.max(0,e))return this.value=e==0?a:n>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=r.children[s+(n<0?-1:0)];e>a.length?(e-=a.length,this.offsets[o]+=n):(n<0&&this.offsets[o]--,this.nodes.push(a),this.offsets.push(n>0?1:(a instanceof Qe?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Mh=class{constructor(e,n,o){this.value="",this.done=!1,this.cursor=new gl(e,n>o?-1:1),this.pos=n>o?e.length:0,this.from=Math.min(n,o),this.to=Math.max(n,o)}nextInner(e,n){if(n<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,n<0?this.pos-this.to:this.from-this.pos);let o=n<0?this.pos-this.from:this.to-this.pos;e>o&&(e=o),o-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*n,this.value=r.length<=o?r:n<0?r.slice(r.length-o):r.slice(0,o),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ih=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:n,lineBreak:o,value:r}=this.inner.next(e);return n?(this.done=!0,this.value=""):o?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(Ce.prototype[Symbol.iterator]=function(){return this.iter()},gl.prototype[Symbol.iterator]=Mh.prototype[Symbol.iterator]=Ih.prototype[Symbol.iterator]=function(){return this});var x0=class{constructor(e,n,o,r){this.from=e,this.to=n,this.number=o,this.text=r}get length(){return this.to-this.from}},cu="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(t=>t?parseInt(t,36):1);for(let t=1;t<cu.length;t++)cu[t]+=cu[t-1];function V9(t){for(let e=1;e<cu.length;e+=2)if(cu[e]>t)return cu[e-1]<=t;return!1}function nR(t){return t>=127462&&t<=127487}var oR=8205;function Xt(t,e,n=!0,o=!0){return(n?uR:z9)(t,e,o)}function uR(t,e,n){if(e==t.length)return e;e&&cR(t.charCodeAt(e))&&dR(t.charCodeAt(e-1))&&e--;let o=Jt(t,e);for(e+=vo(o);e<t.length;){let r=Jt(t,e);if(o==oR||r==oR||n&&V9(r))e+=vo(r),o=r;else if(nR(r)){let i=0,s=e-2;for(;s>=0&&nR(Jt(t,s));)i++,s-=2;if(i%2==0)break;e+=2}else break}return e}function z9(t,e,n){for(;e>0;){let o=uR(t,e-2,n);if(o<e)return o;e--}return 0}function cR(t){return t>=56320&&t<57344}function dR(t){return t>=55296&&t<56320}function Jt(t,e){let n=t.charCodeAt(e);if(!dR(n)||e+1==t.length)return n;let o=t.charCodeAt(e+1);return cR(o)?(n-55296<<10)+(o-56320)+65536:n}function D0(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function vo(t){return t<65536?1:2}var C0=/\r\n?|\n/,Qt=function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t}(Qt||(Qt={})),Xn=class{constructor(e){this.sections=e}get length(){let e=0;for(let n=0;n<this.sections.length;n+=2)e+=this.sections[n];return e}get newLength(){let e=0;for(let n=0;n<this.sections.length;n+=2){let o=this.sections[n+1];e+=o<0?this.sections[n]:o}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let n=0,o=0,r=0;n<this.sections.length;){let i=this.sections[n++],s=this.sections[n++];s<0?(e(o,r,i),r+=i):r+=s,o+=i}}iterChangedRanges(e,n=!1){w0(this,e,n)}get invertedDesc(){let e=[];for(let n=0;n<this.sections.length;){let o=this.sections[n++],r=this.sections[n++];r<0?e.push(o,r):e.push(r,o)}return new Xn(e)}composeDesc(e){return this.empty?e:e.empty?this:fR(this,e)}mapDesc(e,n=!1){return e.empty?this:S0(this,e,n)}mapPos(e,n=-1,o=Qt.Simple){let r=0,i=0;for(let s=0;s<this.sections.length;){let l=this.sections[s++],a=this.sections[s++],u=r+l;if(a<0){if(u>e)return i+(e-r);i+=l}else{if(o!=Qt.Simple&&u>=e&&(o==Qt.TrackDel&&r<e&&u>e||o==Qt.TrackBefore&&r<e||o==Qt.TrackAfter&&u>e))return null;if(u>e||u==e&&n<0&&!l)return e==r||n<0?i:i+a;i+=a}r=u}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return i}touchesRange(e,n=e){for(let o=0,r=0;o<this.sections.length&&r<=n;){let i=this.sections[o++],s=this.sections[o++],l=r+i;if(s>=0&&r<=n&&l>=e)return r<e&&l>n?"cover":!0;r=l}return!1}toString(){let e="";for(let n=0;n<this.sections.length;){let o=this.sections[n++],r=this.sections[n++];e+=(e?" ":"")+o+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(n=>typeof n!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Xn(e)}static create(e){return new Xn(e)}},Je=class extends Xn{constructor(e,n){super(e),this.inserted=n}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return w0(this,(n,o,r,i,s)=>e=e.replace(r,r+(o-n),s),!1),e}mapDesc(e,n=!1){return S0(this,e,n,!0)}invert(e){let n=this.sections.slice(),o=[];for(let r=0,i=0;r<n.length;r+=2){let s=n[r],l=n[r+1];if(l>=0){n[r]=l,n[r+1]=s;let a=r>>1;for(;o.length<a;)o.push(Ce.empty);o.push(s?e.slice(i,i+s):Ce.empty)}i+=s}return new Je(n,o)}compose(e){return this.empty?e:e.empty?this:fR(this,e,!0)}map(e,n=!1){return e.empty?this:S0(this,e,n,!0)}iterChanges(e,n=!1){w0(this,e,n)}get desc(){return Xn.create(this.sections)}filter(e){let n=[],o=[],r=[],i=new yl(this);e:for(let s=0,l=0;;){let a=s==e.length?1e9:e[s++];for(;l<a||l==a&&i.len==0;){if(i.done)break e;let c=Math.min(i.len,a-l);qt(r,c,-1);let d=i.ins==-1?-1:i.off==0?i.ins:0;qt(n,c,d),d>0&&Yi(o,n,i.text),i.forward(c),l+=c}let u=e[s++];for(;l<u;){if(i.done)break e;let c=Math.min(i.len,u-l);qt(n,c,-1),qt(r,c,i.ins==-1?-1:i.off==0?i.ins:0),i.forward(c),l+=c}}return{changes:new Je(n,o),filtered:Xn.create(r)}}toJSON(){let e=[];for(let n=0;n<this.sections.length;n+=2){let o=this.sections[n],r=this.sections[n+1];r<0?e.push(o):r==0?e.push([o]):e.push([o].concat(this.inserted[n>>1].toJSON()))}return e}static of(e,n,o){let r=[],i=[],s=0,l=null;function a(c=!1){if(!c&&!r.length)return;s<n&&qt(r,n-s,-1);let d=new Je(r,i);l=l?l.compose(d.map(l)):d,r=[],i=[],s=0}function u(c){if(Array.isArray(c))for(let d of c)u(d);else if(c instanceof Je){if(c.length!=n)throw new RangeError(`Mismatched change set length (got ${c.length}, expected ${n})`);a(),l=l?l.compose(c.map(l)):c}else{let{from:d,to:f=d,insert:p}=c;if(d>f||d<0||f>n)throw new RangeError(`Invalid change range ${d} to ${f} (in doc of length ${n})`);let g=p?typeof p=="string"?Ce.of(p.split(o||C0)):p:Ce.empty,y=g.length;if(d==f&&y==0)return;d<s&&a(),d>s&&qt(r,d-s,-1),qt(r,f-d,y),Yi(i,r,g),s=f}}return u(e),a(!l),l}static empty(e){return new Je(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],o=[];for(let r=0;r<e.length;r++){let i=e[r];if(typeof i=="number")n.push(i,-1);else{if(!Array.isArray(i)||typeof i[0]!="number"||i.some((s,l)=>l&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(i.length==1)n.push(i[0],0);else{for(;o.length<r;)o.push(Ce.empty);o[r]=Ce.of(i.slice(1)),n.push(i[0],o[r].length)}}}return new Je(n,o)}static createSet(e,n){return new Je(e,n)}};function qt(t,e,n,o=!1){if(e==0&&n<=0)return;let r=t.length-2;r>=0&&n<=0&&n==t[r+1]?t[r]+=e:e==0&&t[r]==0?t[r+1]+=n:o?(t[r]+=e,t[r+1]+=n):t.push(e,n)}function Yi(t,e,n){if(n.length==0)return;let o=e.length-2>>1;if(o<t.length)t[t.length-1]=t[t.length-1].append(n);else{for(;t.length<o;)t.push(Ce.empty);t.push(n)}}function w0(t,e,n){let o=t.inserted;for(let r=0,i=0,s=0;s<t.sections.length;){let l=t.sections[s++],a=t.sections[s++];if(a<0)r+=l,i+=l;else{let u=r,c=i,d=Ce.empty;for(;u+=l,c+=a,a&&o&&(d=d.append(o[s-2>>1])),!(n||s==t.sections.length||t.sections[s+1]<0);)l=t.sections[s++],a=t.sections[s++];e(r,u,i,c,d),r=u,i=c}}}function S0(t,e,n,o=!1){let r=[],i=o?[]:null,s=new yl(t),l=new yl(e);for(let a=-1;;)if(s.ins==-1&&l.ins==-1){let u=Math.min(s.len,l.len);qt(r,u,-1),s.forward(u),l.forward(u)}else if(l.ins>=0&&(s.ins<0||a==s.i||s.off==0&&(l.len<s.len||l.len==s.len&&!n))){let u=l.len;for(qt(r,l.ins,-1);u;){let c=Math.min(s.len,u);s.ins>=0&&a<s.i&&s.len<=c&&(qt(r,0,s.ins),i&&Yi(i,r,s.text),a=s.i),s.forward(c),u-=c}l.next()}else if(s.ins>=0){let u=0,c=s.len;for(;c;)if(l.ins==-1){let d=Math.min(c,l.len);u+=d,c-=d,l.forward(d)}else if(l.ins==0&&l.len<c)c-=l.len,l.next();else break;qt(r,u,a<s.i?s.ins:0),i&&a<s.i&&Yi(i,r,s.text),a=s.i,s.forward(s.len-c)}else{if(s.done&&l.done)return i?Je.createSet(r,i):Xn.create(r);throw new Error("Mismatched change set lengths")}}function fR(t,e,n=!1){let o=[],r=n?[]:null,i=new yl(t),s=new yl(e);for(let l=!1;;){if(i.done&&s.done)return r?Je.createSet(o,r):Xn.create(o);if(i.ins==0)qt(o,i.len,0,l),i.next();else if(s.len==0&&!s.done)qt(o,0,s.ins,l),r&&Yi(r,o,s.text),s.next();else{if(i.done||s.done)throw new Error("Mismatched change set lengths");{let a=Math.min(i.len2,s.len),u=o.length;if(i.ins==-1){let c=s.ins==-1?-1:s.off?0:s.ins;qt(o,a,c,l),r&&c&&Yi(r,o,s.text)}else s.ins==-1?(qt(o,i.off?0:i.len,a,l),r&&Yi(r,o,i.textBit(a))):(qt(o,i.off?0:i.len,s.off?0:s.ins,l),r&&!s.off&&Yi(r,o,s.text));l=(i.ins>a||s.ins>=0&&s.len>a)&&(l||o.length>u),i.forward2(a),s.forward(a)}}}}var yl=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,n=this.i-2>>1;return n>=e.length?Ce.empty:e[n]}textBit(e){let{inserted:n}=this.set,o=this.i-2>>1;return o>=n.length&&!e?Ce.empty:n[o].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},Zr=class{constructor(e,n,o){this.from=e,this.to=n,this.flags=o}get anchor(){return this.flags&16?this.to:this.from}get head(){return this.flags&16?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&4?-1:this.flags&8?1:0}get bidiLevel(){let e=this.flags&3;return e==3?null:e}get goalColumn(){let e=this.flags>>5;return e==33554431?void 0:e}map(e,n=-1){let o,r;return this.empty?o=r=e.mapPos(this.from,n):(o=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),o==this.from&&r==this.to?this:new Zr(o,r,this.flags)}extend(e,n=e){if(e<=this.anchor&&n>=this.anchor)return z.range(e,n);let o=Math.abs(e-this.anchor)>Math.abs(n-this.anchor)?e:n;return z.range(this.anchor,o)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return z.range(e.anchor,e.head)}static create(e,n,o){return new Zr(e,n,o)}},z=class{constructor(e,n){this.ranges=e,this.mainIndex=n}map(e,n=-1){return e.empty?this:z.create(this.ranges.map(o=>o.map(e,n)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n]))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new z([this.main],0)}addRange(e,n=!0){return z.create([e].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(e,n=this.mainIndex){let o=this.ranges.slice();return o[n]=e,z.create(o,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new z(e.ranges.map(n=>Zr.fromJSON(n)),e.main)}static single(e,n=e){return new z([z.range(e,n)],0)}static create(e,n=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let o=0,r=0;r<e.length;r++){let i=e[r];if(i.empty?i.from<=o:i.from<o)return z.normalized(e.slice(),n);o=i.to}return new z(e,n)}static cursor(e,n=0,o,r){return Zr.create(e,e,(n==0?0:n<0?4:8)|(o==null?3:Math.min(2,o))|(r!=null?r:33554431)<<5)}static range(e,n,o,r){let i=(o!=null?o:33554431)<<5|(r==null?3:Math.min(2,r));return n<e?Zr.create(n,e,24|i):Zr.create(e,n,(n>e?4:0)|i)}static normalized(e,n=0){let o=e[n];e.sort((r,i)=>r.from-i.from),n=e.indexOf(o);for(let r=1;r<e.length;r++){let i=e[r],s=e[r-1];if(i.empty?i.from<=s.to:i.from<s.to){let l=s.from,a=Math.max(i.to,s.to);r<=n&&n--,e.splice(--r,2,i.anchor>i.head?z.range(a,l):z.range(l,a))}}return new z(e,n)}};function pR(t,e){for(let n of t.ranges)if(n.to>e)throw new RangeError("Selection points outside of document")}var R0=0,le=class{constructor(e,n,o,r,i){this.combine=e,this.compareInput=n,this.compare=o,this.isStatic=r,this.id=R0++,this.default=e([]),this.extensions=typeof i=="function"?i(this):i}static define(e={}){return new le(e.combine||(n=>n),e.compareInput||((n,o)=>n===o),e.compare||(e.combine?(n,o)=>n===o:L0),!!e.static,e.enables)}of(e){return new du([],this,0,e)}compute(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new du(e,this,1,n)}computeN(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new du(e,this,2,n)}from(e,n){return n||(n=o=>o),this.compute([e],o=>n(o.field(e)))}};function L0(t,e){return t==e||t.length==e.length&&t.every((n,o)=>n===e[o])}var du=class{constructor(e,n,o,r){this.dependencies=e,this.facet=n,this.type=o,this.value=r,this.id=R0++}dynamicSlot(e){var n;let o=this.value,r=this.facet.compareInput,i=this.id,s=e[i]>>1,l=this.type==2,a=!1,u=!1,c=[];for(let d of this.dependencies)d=="doc"?a=!0:d=="selection"?u=!0:((n=e[d.id])!==null&&n!==void 0?n:1)&1||c.push(e[d.id]);return{create(d){return d.values[s]=o(d),1},update(d,f){if(a&&f.docChanged||u&&(f.docChanged||f.selection)||E0(d,c)){let p=o(d);if(l?!rR(p,d.values[s],r):!r(p,d.values[s]))return d.values[s]=p,1}return 0},reconfigure:(d,f)=>{let p,g=f.config.address[i];if(g!=null){let y=Dh(f,g);if(this.dependencies.every(m=>m instanceof le?f.facet(m)===d.facet(m):m instanceof Yt?f.field(m,!1)==d.field(m,!1):!0)||(l?rR(p=o(d),y,r):r(p=o(d),y)))return d.values[s]=y,0}else p=o(d);return d.values[s]=p,1}}}};function rR(t,e,n){if(t.length!=e.length)return!1;for(let o=0;o<t.length;o++)if(!n(t[o],e[o]))return!1;return!0}function E0(t,e){let n=!1;for(let o of e)Jd(t,o)&1&&(n=!0);return n}function $9(t,e,n){let o=n.map(a=>t[a.id]),r=n.map(a=>a.type),i=o.filter(a=>!(a&1)),s=t[e.id]>>1;function l(a){let u=[];for(let c=0;c<o.length;c++){let d=Dh(a,o[c]);if(r[c]==2)for(let f of d)u.push(f);else u.push(d)}return e.combine(u)}return{create(a){for(let u of o)Jd(a,u);return a.values[s]=l(a),1},update(a,u){if(!E0(a,i))return 0;let c=l(a);return e.compare(c,a.values[s])?0:(a.values[s]=c,1)},reconfigure(a,u){let c=E0(a,o),d=u.config.facets[e.id],f=u.facet(e);if(d&&!c&&L0(n,d))return a.values[s]=f,0;let p=l(a);return e.compare(p,f)?(a.values[s]=f,0):(a.values[s]=p,1)}}}var iR=le.define({static:!0}),Yt=class{constructor(e,n,o,r,i){this.id=e,this.createF=n,this.updateF=o,this.compareF=r,this.spec=i,this.provides=void 0}static define(e){let n=new Yt(R0++,e.create,e.update,e.compare||((o,r)=>o===r),e);return e.provide&&(n.provides=e.provide(n)),n}create(e){let n=e.facet(iR).find(o=>o.field==this);return((n==null?void 0:n.create)||this.createF)(e)}slot(e){let n=e[this.id]>>1;return{create:o=>(o.values[n]=this.create(o),1),update:(o,r)=>{let i=o.values[n],s=this.updateF(i,r);return this.compareF(i,s)?0:(o.values[n]=s,1)},reconfigure:(o,r)=>r.config.address[this.id]!=null?(o.values[n]=r.field(this),0):(o.values[n]=this.create(o),1)}}init(e){return[this,iR.of({field:this,create:e})]}get extension(){return this}},ml={lowest:4,low:3,default:2,high:1,highest:0};function Qd(t){return e=>new Ph(e,t)}var Zi={highest:Qd(ml.highest),high:Qd(ml.high),default:Qd(ml.default),low:Qd(ml.low),lowest:Qd(ml.lowest)},Ph=class{constructor(e,n){this.inner=e,this.prec=n}},pu=class{of(e){return new Xd(this,e)}reconfigure(e){return pu.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Xd=class{constructor(e,n){this.compartment=e,this.inner=n}},mu=class{constructor(e,n,o,r,i,s){for(this.base=e,this.compartments=n,this.dynamicSlots=o,this.address=r,this.staticValues=i,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<o.length;)this.statusTemplate.push(0)}staticFacet(e){let n=this.address[e.id];return n==null?e.default:this.staticValues[n>>1]}static resolve(e,n,o){let r=[],i=Object.create(null),s=new Map;for(let f of _9(e,n,s))f instanceof Yt?r.push(f):(i[f.facet.id]||(i[f.facet.id]=[])).push(f);let l=Object.create(null),a=[],u=[];for(let f of r)l[f.id]=u.length<<1,u.push(p=>f.slot(p));let c=o==null?void 0:o.config.facets;for(let f in i){let p=i[f],g=p[0].facet,y=c&&c[f]||[];if(p.every(m=>m.type==0))if(l[g.id]=a.length<<1|1,L0(y,p))a.push(o.facet(g));else{let m=g.combine(p.map(h=>h.value));a.push(o&&g.compare(m,o.facet(g))?o.facet(g):m)}else{for(let m of p)m.type==0?(l[m.id]=a.length<<1|1,a.push(m.value)):(l[m.id]=u.length<<1,u.push(h=>m.dynamicSlot(h)));l[g.id]=u.length<<1,u.push(m=>$9(m,g,p))}}let d=u.map(f=>f(l));return new mu(e,s,d,l,a,i)}};function _9(t,e,n){let o=[[],[],[],[],[]],r=new Map;function i(s,l){let a=r.get(s);if(a!=null){if(a<=l)return;let u=o[a].indexOf(s);u>-1&&o[a].splice(u,1),s instanceof Xd&&n.delete(s.compartment)}if(r.set(s,l),Array.isArray(s))for(let u of s)i(u,l);else if(s instanceof Xd){if(n.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=e.get(s.compartment)||s.inner;n.set(s.compartment,u),i(u,l)}else if(s instanceof Ph)i(s.inner,s.prec);else if(s instanceof Yt)o[l].push(s),s.provides&&i(s.provides,l);else if(s instanceof du)o[l].push(s),s.facet.extensions&&i(s.facet.extensions,ml.default);else{let u=s.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);i(u,l)}}return i(t,ml.default),o.reduce((s,l)=>s.concat(l))}function Jd(t,e){if(e&1)return 2;let n=e>>1,o=t.status[n];if(o==4)throw new Error("Cyclic dependency between fields and/or facets");if(o&2)return o;t.status[n]=4;let r=t.computeSlot(t,t.config.dynamicSlots[n]);return t.status[n]=2|r}function Dh(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}var mR=le.define(),hR=le.define({combine:t=>t.some(e=>e),static:!0}),gR=le.define({combine:t=>t.length?t[0]:void 0,static:!0}),yR=le.define(),bR=le.define(),vR=le.define(),xR=le.define({combine:t=>t.length?t[0]:!1}),Ln=class{constructor(e,n){this.type=e,this.value=n}static define(){return new hu}},hu=class{of(e){return new Ln(this,e)}},T0=class{constructor(e){this.map=e}of(e){return new De(this,e)}},De=class{constructor(e,n){this.type=e,this.value=n}map(e){let n=this.type.map(this.value,e);return n===void 0?void 0:n==this.value?this:new De(this.type,n)}is(e){return this.type==e}static define(e={}){return new T0(e.map||(n=>n))}static mapEffects(e,n){if(!e.length)return e;let o=[];for(let r of e){let i=r.map(n);i&&o.push(i)}return o}};De.reconfigure=De.define();De.appendConfig=De.define();var Xe=class{constructor(e,n,o,r,i,s){this.startState=e,this.changes=n,this.selection=o,this.effects=r,this.annotations=i,this.scrollIntoView=s,this._doc=null,this._state=null,o&&pR(o,n.newLength),i.some(l=>l.type==Xe.time)||(this.annotations=i.concat(Xe.time.of(Date.now())))}static create(e,n,o,r,i,s){return new Xe(e,n,o,r,i,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let n of this.annotations)if(n.type==e)return n.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let n=this.annotation(Xe.userEvent);return!!(n&&(n==e||n.length>e.length&&n.slice(0,e.length)==e&&n[e.length]=="."))}};Xe.time=Ln.define();Xe.userEvent=Ln.define();Xe.addToHistory=Ln.define();Xe.remote=Ln.define();function W9(t,e){let n=[];for(let o=0,r=0;;){let i,s;if(o<t.length&&(r==e.length||e[r]>=t[o]))i=t[o++],s=t[o++];else if(r<e.length)i=e[r++],s=e[r++];else return n;!n.length||n[n.length-1]<i?n.push(i,s):n[n.length-1]<s&&(n[n.length-1]=s)}}function CR(t,e,n){var o;let r,i,s;return n?(r=e.changes,i=Je.empty(e.changes.length),s=t.changes.compose(e.changes)):(r=e.changes.map(t.changes),i=t.changes.mapDesc(e.changes,!0),s=t.changes.compose(r)),{changes:s,selection:e.selection?e.selection.map(i):(o=t.selection)===null||o===void 0?void 0:o.map(r),effects:De.mapEffects(t.effects,r).concat(De.mapEffects(e.effects,i)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function k0(t,e,n){let o=e.selection,r=fu(e.annotations);return e.userEvent&&(r=r.concat(Xe.userEvent.of(e.userEvent))),{changes:e.changes instanceof Je?e.changes:Je.of(e.changes||[],n,t.facet(gR)),selection:o&&(o instanceof z?o:z.single(o.anchor,o.head)),effects:fu(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function wR(t,e,n){let o=k0(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(n=!1);for(let i=1;i<e.length;i++){e[i].filter===!1&&(n=!1);let s=!!e[i].sequential;o=CR(o,k0(t,e[i],s?o.changes.newLength:t.doc.length),s)}let r=Xe.create(t,o.changes,o.selection,o.effects,o.annotations,o.scrollIntoView);return U9(n?K9(r):r)}function K9(t){let e=t.startState,n=!0;for(let r of e.facet(yR)){let i=r(t);if(i===!1){n=!1;break}Array.isArray(i)&&(n=n===!0?i:W9(n,i))}if(n!==!0){let r,i;if(n===!1)i=t.changes.invertedDesc,r=Je.empty(e.doc.length);else{let s=t.changes.filter(n);r=s.changes,i=s.filtered.mapDesc(s.changes).invertedDesc}t=Xe.create(e,r,t.selection&&t.selection.map(i),De.mapEffects(t.effects,i),t.annotations,t.scrollIntoView)}let o=e.facet(bR);for(let r=o.length-1;r>=0;r--){let i=o[r](t);i instanceof Xe?t=i:Array.isArray(i)&&i.length==1&&i[0]instanceof Xe?t=i[0]:t=wR(e,fu(i),!1)}return t}function U9(t){let e=t.startState,n=e.facet(vR),o=t;for(let r=n.length-1;r>=0;r--){let i=n[r](t);i&&Object.keys(i).length&&(o=CR(o,k0(e,i,t.changes.newLength),!0))}return o==t?t:Xe.create(e,t.changes,t.selection,o.effects,o.annotations,o.scrollIntoView)}var G9=[];function fu(t){return t==null?G9:Array.isArray(t)?t:[t]}var pn=function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t}(pn||(pn={})),j9=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,M0;try{M0=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function q9(t){if(M0)return M0.test(t);for(let e=0;e<t.length;e++){let n=t[e];if(/\w/.test(n)||n>"\x80"&&(n.toUpperCase()!=n.toLowerCase()||j9.test(n)))return!0}return!1}function Q9(t){return e=>{if(!/\S/.test(e))return pn.Space;if(q9(e))return pn.Word;for(let n=0;n<t.length;n++)if(e.indexOf(t[n])>-1)return pn.Word;return pn.Other}}var ye=class{constructor(e,n,o,r,i,s){this.config=e,this.doc=n,this.selection=o,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=i,s&&(s._state=this);for(let l=0;l<this.config.dynamicSlots.length;l++)Jd(this,l<<1);this.computeSlot=null}field(e,n=!0){let o=this.config.address[e.id];if(o==null){if(n)throw new RangeError("Field is not present in this state");return}return Jd(this,o),Dh(this,o)}update(...e){return wR(this,e,!0)}applyTransaction(e){let n=this.config,{base:o,compartments:r}=n;for(let s of e.effects)s.is(pu.reconfigure)?(n&&(r=new Map,n.compartments.forEach((l,a)=>r.set(a,l)),n=null),r.set(s.value.compartment,s.value.extension)):s.is(De.reconfigure)?(n=null,o=s.value):s.is(De.appendConfig)&&(n=null,o=fu(o).concat(s.value));let i;n?i=e.startState.values.slice():(n=mu.resolve(o,r,this),i=new ye(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(l,a)=>a.reconfigure(l,this),null).values),new ye(n,e.newDoc,e.newSelection,i,(s,l)=>l.update(s,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:e},range:z.cursor(n.from+e.length)}))}changeByRange(e){let n=this.selection,o=e(n.ranges[0]),r=this.changes(o.changes),i=[o.range],s=fu(o.effects);for(let l=1;l<n.ranges.length;l++){let a=e(n.ranges[l]),u=this.changes(a.changes),c=u.map(r);for(let f=0;f<l;f++)i[f]=i[f].map(c);let d=r.mapDesc(u,!0);i.push(a.range.map(d)),r=r.compose(c),s=De.mapEffects(s,c).concat(De.mapEffects(fu(a.effects),d))}return{changes:r,selection:z.create(i,n.mainIndex),effects:s}}changes(e=[]){return e instanceof Je?e:Je.of(e,this.doc.length,this.facet(ye.lineSeparator))}toText(e){return Ce.of(e.split(this.facet(ye.lineSeparator)||C0))}sliceDoc(e=0,n=this.doc.length){return this.doc.sliceString(e,n,this.lineBreak)}facet(e){let n=this.config.address[e.id];return n==null?e.default:(Jd(this,n),Dh(this,n))}toJSON(e){let n={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let o in e){let r=e[o];r instanceof Yt&&this.config.address[r.id]!=null&&(n[o]=r.spec.toJSON(this.field(e[o]),this))}return n}static fromJSON(e,n={},o){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(o){for(let i in o)if(Object.prototype.hasOwnProperty.call(e,i)){let s=o[i],l=e[i];r.push(s.init(a=>s.spec.fromJSON(l,a)))}}return ye.create({doc:e.doc,selection:z.fromJSON(e.selection),extensions:n.extensions?r.concat([n.extensions]):r})}static create(e={}){let n=mu.resolve(e.extensions||[],new Map),o=e.doc instanceof Ce?e.doc:Ce.of((e.doc||"").split(n.staticFacet(ye.lineSeparator)||C0)),r=e.selection?e.selection instanceof z?e.selection:z.single(e.selection.anchor,e.selection.head):z.single(0);return pR(r,o.length),n.staticFacet(hR)||(r=r.asSingle()),new ye(n,o,r,n.dynamicSlots.map(()=>null),(i,s)=>s.create(i),null)}get tabSize(){return this.facet(ye.tabSize)}get lineBreak(){return this.facet(ye.lineSeparator)||`
@@ -852,12 +852,12 @@ label.saltText small,
852
852
  `;this.styleTag.textContent=i}}};var ei={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},gu={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},X9=typeof navigator<"u"&&/Mac/.test(navigator.platform),Y9=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(gt=0;gt<10;gt++)ei[48+gt]=ei[96+gt]=String(gt);var gt;for(gt=1;gt<=24;gt++)ei[gt+111]="F"+gt;var gt;for(gt=65;gt<=90;gt++)ei[gt]=String.fromCharCode(gt+32),gu[gt]=String.fromCharCode(gt);var gt;for(Lh in ei)gu.hasOwnProperty(Lh)||(gu[Lh]=ei[Lh]);var Lh;function MR(t){var e=X9&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||Y9&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",n=!e&&t.key||(t.shiftKey?gu:ei)[t.keyCode]||t.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}function Gh(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function _0(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function Z9(t){let e=t.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function $h(t,e){if(!e.anchorNode)return!1;try{return _0(t,e.anchorNode)}catch{return!1}}function rf(t){return t.nodeType==3?wl(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function jh(t,e,n,o){return n?IR(t,e,n,o,-1)||IR(t,e,n,o,1):!1}function qh(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function IR(t,e,n,o,r){for(;;){if(t==n&&e==o)return!0;if(e==(r<0?0:os(t))){if(t.nodeName=="DIV")return!1;let i=t.parentNode;if(!i||i.nodeType!=1)return!1;e=qh(t)+(r<0?0:1),t=i}else if(t.nodeType==1){if(t=t.childNodes[e+(r<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=r<0?os(t):0}else return!1}}function os(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function SC(t,e){let n=e?t.left:t.right;return{left:n,right:n,top:t.top,bottom:t.bottom}}function e6(t){return{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function t6(t,e,n,o,r,i,s,l){let a=t.ownerDocument,u=a.defaultView||window;for(let c=t,d=!1;c&&!d;)if(c.nodeType==1){let f,p=c==a.body;if(p)f=e6(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(d=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let m=c.getBoundingClientRect();f={left:m.left,right:m.left+c.clientWidth,top:m.top,bottom:m.top+c.clientHeight}}let g=0,y=0;if(r=="nearest")e.top<f.top?(y=-(f.top-e.top+s),n>0&&e.bottom>f.bottom+y&&(y=e.bottom-f.bottom+y+s)):e.bottom>f.bottom&&(y=e.bottom-f.bottom+s,n<0&&e.top-y<f.top&&(y=-(f.top+y-e.top+s)));else{let m=e.bottom-e.top,h=f.bottom-f.top;y=(r=="center"&&m<=h?e.top+m/2-h/2:r=="start"||r=="center"&&n<0?e.top-s:e.bottom-h+s)-f.top}if(o=="nearest"?e.left<f.left?(g=-(f.left-e.left+i),n>0&&e.right>f.right+g&&(g=e.right-f.right+g+i)):e.right>f.right&&(g=e.right-f.right+i,n<0&&e.left<f.left+g&&(g=-(f.left+g-e.left+i))):g=(o=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:o=="start"==l?e.left-i:e.right-(f.right-f.left)+i)-f.left,g||y)if(p)u.scrollBy(g,y);else{let m=0,h=0;if(y){let v=c.scrollTop;c.scrollTop+=y,h=c.scrollTop-v}if(g){let v=c.scrollLeft;c.scrollLeft+=g,m=c.scrollLeft-v}e={left:e.left-m,top:e.top-h,right:e.right-m,bottom:e.bottom-h},m&&Math.abs(m-g)<1&&(o="nearest"),h&&Math.abs(h-y)<1&&(r="nearest")}if(p)break;c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function n6(t){let e=t.ownerDocument;for(let n=t.parentNode;n&&n!=e.body;)if(n.nodeType==1){if(n.scrollHeight>n.clientHeight||n.scrollWidth>n.clientWidth)return n;n=n.assignedSlot||n.parentNode}else if(n.nodeType==11)n=n.host;else break;return null}var W0=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:n,focusNode:o}=e;this.set(n,Math.min(e.anchorOffset,n?os(n):0),o,Math.min(e.focusOffset,o?os(o):0))}set(e,n,o,r){this.anchorNode=e,this.anchorOffset=n,this.focusNode=o,this.focusOffset=r}},yu=null;function aL(t){if(t.setActive)return t.setActive();if(yu)return t.focus(yu);let e=[];for(let n=t;n&&(e.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(t.focus(yu==null?{get preventScroll(){return yu={preventScroll:!0},!0}}:void 0),!yu){yu=!1;for(let n=0;n<e.length;){let o=e[n++],r=e[n++],i=e[n++];o.scrollTop!=r&&(o.scrollTop=r),o.scrollLeft!=i&&(o.scrollLeft=i)}}}var PR;function wl(t,e,n=e){let o=PR||(PR=document.createRange());return o.setEnd(t,n),o.setStart(t,e),o}function xu(t,e,n){let o={key:e,code:e,keyCode:n,which:n,cancelable:!0},r=new KeyboardEvent("keydown",o);r.synthetic=!0,t.dispatchEvent(r);let i=new KeyboardEvent("keyup",o);return i.synthetic=!0,t.dispatchEvent(i),r.defaultPrevented||i.defaultPrevented}function o6(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function uL(t){for(;t.attributes.length;)t.removeAttributeNode(t.attributes[0])}function r6(t,e){let n=e.focusNode,o=e.focusOffset;if(!n||e.anchorNode!=n||e.anchorOffset!=o)return!1;for(o=Math.min(o,os(n));;)if(o){if(n.nodeType!=1)return!1;let r=n.childNodes[o-1];r.contentEditable=="false"?o--:(n=r,o=os(n))}else{if(n==t)return!0;o=qh(n),n=n.parentNode}}function cL(t){return t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}var Vt=class{constructor(e,n,o=!0){this.node=e,this.offset=n,this.precise=o}static before(e,n){return new Vt(e.parentNode,qh(e),n)}static after(e,n){return new Vt(e.parentNode,qh(e)+1,n)}},EC=[],He=class{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let n=this.posAtStart;for(let o of this.children){if(o==e)return n;n+=o.length+o.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,n){if(this.flags&2){let o=this.dom,r=null,i;for(let s of this.children){if(s.flags&7){if(!s.dom&&(i=r?r.nextSibling:o.firstChild)){let l=He.get(i);(!l||!l.parent&&l.canReuseDOM(s))&&s.reuseDOM(i)}s.sync(e,n),s.flags&=-8}if(i=r?r.nextSibling:o.firstChild,n&&!n.written&&n.node==o&&i!=s.dom&&(n.written=!0),s.dom.parentNode==o)for(;i&&i!=s.dom;)i=DR(i);else o.insertBefore(s.dom,i);r=s.dom}for(i=r?r.nextSibling:o.firstChild,i&&n&&n.node==o&&(n.written=!0);i;)i=DR(i)}else if(this.flags&1)for(let o of this.children)o.flags&7&&(o.sync(e,n),o.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,n){let o;if(e==this.dom)o=this.dom.childNodes[n];else{let r=os(e)==0?0:n==0?-1:1;for(;;){let i=e.parentNode;if(i==this.dom)break;r==0&&i.firstChild!=i.lastChild&&(e==i.firstChild?r=-1:r=1),e=i}r<0?o=e:o=e.nextSibling}if(o==this.dom.firstChild)return 0;for(;o&&!He.get(o);)o=o.nextSibling;if(!o)return this.length;for(let r=0,i=0;;r++){let s=this.children[r];if(s.dom==o)return i;i+=s.length+s.breakAfter}}domBoundsAround(e,n,o=0){let r=-1,i=-1,s=-1,l=-1;for(let a=0,u=o,c=o;a<this.children.length;a++){let d=this.children[a],f=u+d.length;if(u<e&&f>n)return d.domBoundsAround(e,n,u);if(f>=e&&r==-1&&(r=a,i=u),u>n&&d.dom.parentNode==this.dom){s=a,l=c;break}c=f,u=f+d.breakAfter}return{from:i,to:l<0?o+this.length:l,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:s<this.children.length&&s>=0?this.children[s].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let n=this.parent;n;n=n.parent){if(e&&(n.flags|=2),n.flags&1)return;n.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this}get rootView(){for(let e=this;;){let n=e.parent;if(!n)return e;e=n}}replaceChildren(e,n,o=EC){this.markDirty();for(let r=e;r<n;r++){let i=this.children[r];i.parent==this&&i.destroy()}this.children.splice(e,n-e,...o);for(let r=0;r<o.length;r++)o[r].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new Qh(this.children,e,this.children.length)}childPos(e,n=1){return this.childCursor().findPos(e,n)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+(e=="Text"?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,n,o,r,i,s){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!((this.flags|e.flags)&8)}getSide(){return 0}destroy(){this.parent=null}};He.prototype.breakAfter=0;function DR(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}var Qh=class{constructor(e,n,o){this.children=e,this.pos=n,this.i=o,this.off=0}findPos(e,n=1){for(;;){if(e>this.pos||e==this.pos&&(n>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let o=this.children[--this.i];this.pos-=o.length+o.breakAfter}}};function dL(t,e,n,o,r,i,s,l,a){let{children:u}=t,c=u.length?u[e]:null,d=i.length?i[i.length-1]:null,f=d?d.breakAfter:s;if(!(e==o&&c&&!s&&!f&&i.length<2&&c.merge(n,r,i.length?d:null,n==0,l,a))){if(o<u.length){let p=u[o];p&&r<p.length?(e==o&&(p=p.split(r),r=0),!f&&d&&p.merge(0,r,d,!0,0,a)?i[i.length-1]=p:(r&&p.merge(0,r,null,!1,0,a),i.push(p))):p!=null&&p.breakAfter&&(d?d.breakAfter=1:s=1),o++}for(c&&(c.breakAfter=s,n>0&&(!s&&i.length&&c.merge(n,c.length,i[0],!1,l,0)?c.breakAfter=i.shift().breakAfter:(n<c.length||c.children.length&&c.children[c.children.length-1].length==0)&&c.merge(n,c.length,null,!1,l,0),e++));e<o&&i.length;)if(u[o-1].become(i[i.length-1]))o--,i.pop(),a=i.length?0:l;else if(u[e].become(i[0]))e++,i.shift(),l=i.length?0:a;else break;!i.length&&e&&o<u.length&&!u[e-1].breakAfter&&u[o].merge(0,0,u[e-1],!1,l,a)&&e--,(e<o||i.length)&&t.replaceChildren(e,o,i)}}function fL(t,e,n,o,r,i){let s=t.childCursor(),{i:l,off:a}=s.findPos(n,1),{i:u,off:c}=s.findPos(e,-1),d=e-n;for(let f of o)d+=f.length;t.length+=d,dL(t,u,c,l,a,o,0,r,i)}var bu="\uFFFF",Jh=class{constructor(e,n){this.points=e,this.text="",this.lineSeparator=n.facet(ye.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=bu}readRange(e,n){if(!e)return this;let o=e.parentNode;for(let r=e;;){this.findPointBefore(o,r);let i=this.text.length;this.readNode(r);let s=r.nextSibling;if(s==n)break;let l=He.get(r),a=He.get(s);(l&&a?l.breakAfter:(l?l.breakAfter:RR(r))||RR(s)&&(r.nodeName!="BR"||r.cmIgnore)&&this.text.length>i)&&this.lineBreak(),r=s}return this.findPointBefore(o,n),this}readTextNode(e){let n=e.nodeValue;for(let o of this.points)o.node==e&&(o.pos=this.text.length+Math.min(o.offset,n.length));for(let o=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let i=-1,s=1,l;if(this.lineSeparator?(i=n.indexOf(this.lineSeparator,o),s=this.lineSeparator.length):(l=r.exec(n))&&(i=l.index,s=l[0].length),this.append(n.slice(o,i<0?n.length:i)),i<0)break;if(this.lineBreak(),s>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=s-1);o=i+s}}readNode(e){if(e.cmIgnore)return;let n=He.get(e),o=n&&n.overrideDOMText;if(o!=null){this.findPointInside(e,o.length);for(let r=o.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,n){for(let o of this.points)o.node==e&&e.childNodes[o.offset]==n&&(o.pos=this.text.length)}findPointInside(e,n){for(let o of this.points)(e.nodeType==3?o.node==e:e.contains(o.node))&&(o.pos=this.text.length+Math.min(n,o.offset))}};function RR(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}var Xh=class{constructor(e,n){this.node=e,this.offset=n,this.pos=-1}},Yn=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},K0=typeof document<"u"?document:{documentElement:{style:{}}},U0=/Edge\/(\d+)/.exec(Yn.userAgent),pL=/MSIE \d/.test(Yn.userAgent),G0=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Yn.userAgent),og=!!(pL||G0||U0),LR=!og&&/gecko\/(\d+)/i.test(Yn.userAgent),O0=!og&&/Chrome\/(\d+)/.exec(Yn.userAgent),AR="webkitFontSmoothing"in K0.documentElement.style,mL=!og&&/Apple Computer/.test(Yn.vendor),NR=mL&&(/Mobile\/\w+/.test(Yn.userAgent)||Yn.maxTouchPoints>2),te={mac:NR||/Mac/.test(Yn.platform),windows:/Win/.test(Yn.platform),linux:/Linux|X11/.test(Yn.platform),ie:og,ie_version:pL?K0.documentMode||6:G0?+G0[1]:U0?+U0[1]:0,gecko:LR,gecko_version:LR?+(/Firefox\/(\d+)/.exec(Yn.userAgent)||[0,0])[1]:0,chrome:!!O0,chrome_version:O0?+O0[1]:0,ios:NR,android:/Android\b/.test(Yn.userAgent),webkit:AR,safari:mL,webkit_version:AR?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:K0.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},i6=256,wo=class extends He{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,n){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(n&&n.node==this.dom&&(n.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,n,o){return this.flags&8||o&&(!(o instanceof wo)||this.length-(n-e)+o.length>i6||o.flags&8)?!1:(this.text=this.text.slice(0,e)+(o?o.text:"")+this.text.slice(n),this.markDirty(),!0)}split(e){let n=new wo(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),n.flags|=this.flags&8,n}localPosFromDOM(e,n){return e==this.dom?n:n?this.text.length:0}domAtPos(e){return new Vt(this.dom,e)}domBoundsAround(e,n,o){return{from:o,to:o+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,n){return s6(this.dom,e,n)}},Ko=class extends He{constructor(e,n=[],o=0){super(),this.mark=e,this.children=n,this.length=o;for(let r of n)r.setParent(this)}setAttrs(e){if(uL(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let n in this.mark.attrs)e.setAttribute(n,this.mark.attrs[n]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,n){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,n)}merge(e,n,o,r,i,s){return o&&(!(o instanceof Ko&&o.mark.eq(this.mark))||e&&i<=0||n<this.length&&s<=0)?!1:(fL(this,e,n,o?o.children:[],i-1,s-1),this.markDirty(),!0)}split(e){let n=[],o=0,r=-1,i=0;for(let l of this.children){let a=o+l.length;a>e&&n.push(o<e?l.split(e-o):l),r<0&&o>=e&&(r=i),o=a,i++}let s=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new Ko(this.mark,n,s)}domAtPos(e){return hL(this,e)}coordsAt(e,n){return yL(this,e,n)}};function s6(t,e,n){let o=t.nodeValue.length;e>o&&(e=o);let r=e,i=e,s=0;e==0&&n<0||e==o&&n>=0?te.chrome||te.gecko||(e?(r--,s=1):i<o&&(i++,s=-1)):n<0?r--:i<o&&i++;let l=wl(t,r,i).getClientRects();if(!l.length)return null;let a=l[(s?s<0:n>=0)?0:l.length-1];return te.safari&&!s&&a.width==0&&(a=Array.prototype.find.call(l,u=>u.width)||a),s?SC(a,s<0):a||null}var ti=class extends He{constructor(e,n,o){super(),this.widget=e,this.length=n,this.side=o,this.prevWidget=null}static create(e,n,o){return new ti(e,n,o)}split(e){let n=ti.create(this.widget,this.length-e,this.side);return this.length-=e,n}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,n,o,r,i,s){return o&&(!(o instanceof ti)||!this.widget.compare(o.widget)||e>0&&i<=0||n<this.length&&s<=0)?!1:(this.length=e+(o?o.length:0)+(this.length-n),!0)}become(e){return e instanceof ti&&e.side==this.side&&this.widget.constructor==e.widget.constructor?(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(this.length==0)return Ce.empty;let e=this;for(;e.parent;)e=e.parent;let{view:n}=e,o=n&&n.state.doc,r=this.posAtStart;return o?o.slice(r,r+this.length):Ce.empty}domAtPos(e){return(this.length?e==0:this.side>0)?Vt.before(this.dom):Vt.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,n){let o=this.widget.coordsAt(this.dom,e,n);if(o)return o;let r=this.dom.getClientRects(),i=null;if(!r.length)return null;let s=this.side?this.side<0:e>0;for(let l=s?r.length-1:0;i=r[l],!(e>0?l==0:l==r.length-1||i.top<i.bottom);l+=s?-1:1);return SC(i,!s)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},rs=class extends He{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof rs&&e.side==this.side}split(){return new rs(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?Vt.before(this.dom):Vt.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return Ce.empty}get isHidden(){return!0}};wo.prototype.children=ti.prototype.children=rs.prototype.children=EC;function hL(t,e){let n=t.dom,{children:o}=t,r=0;for(let i=0;r<o.length;r++){let s=o[r],l=i+s.length;if(!(l==i&&s.getSide()<=0)){if(e>i&&e<l&&s.dom.parentNode==n)return s.domAtPos(e-i);if(e<=i)break;i=l}}for(let i=r;i>0;i--){let s=o[i-1];if(s.dom.parentNode==n)return s.domAtPos(s.length)}for(let i=r;i<o.length;i++){let s=o[i];if(s.dom.parentNode==n)return s.domAtPos(0)}return new Vt(n,0)}function gL(t,e,n){let o,{children:r}=t;n>0&&e instanceof Ko&&r.length&&(o=r[r.length-1])instanceof Ko&&o.mark.eq(e.mark)?gL(o,e.children[0],n-1):(r.push(e),e.setParent(t)),t.length+=e.length}function yL(t,e,n){let o=null,r=-1,i=null,s=-1;function l(u,c){for(let d=0,f=0;d<u.children.length&&f<=c;d++){let p=u.children[d],g=f+p.length;g>=c&&(p.children.length?l(p,c-f):(!i||i.isHidden&&n>0)&&(g>c||f==g&&p.getSide()>0)?(i=p,s=c-f):(f<c||f==g&&p.getSide()<0&&!p.isHidden)&&(o=p,r=c-f)),f=g}}l(t,e);let a=(n<0?o:i)||o||i;return a?a.coordsAt(Math.max(0,a==o?r:s),n):l6(t)}function l6(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let n=rf(e);return n[n.length-1]||null}function j0(t,e){for(let n in t)n=="class"&&e.class?e.class+=" "+t.class:n=="style"&&e.style?e.style+=";"+t.style:e[n]=t[n];return e}var HR=Object.create(null);function TC(t,e,n){if(t==e)return!0;t||(t=HR),e||(e=HR);let o=Object.keys(t),r=Object.keys(e);if(o.length-(n&&o.indexOf(n)>-1?1:0)!=r.length-(n&&r.indexOf(n)>-1?1:0))return!1;for(let i of o)if(i!=n&&(r.indexOf(i)==-1||t[i]!==e[i]))return!1;return!0}function q0(t,e,n){let o=null;if(e)for(let r in e)n&&r in n||t.removeAttribute(o=r);if(n)for(let r in n)e&&e[r]==n[r]||t.setAttribute(o=r,n[r]);return!!o}function a6(t){let e=Object.create(null);for(let n=0;n<t.attributes.length;n++){let o=t.attributes[n];e[o.name]=o.value}return e}var oi=class{eq(e){return!1}updateDOM(e,n){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,n,o){return null}get isHidden(){return!1}destroy(e){}},mt=function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t}(mt||(mt={})),Pt=class extends Wo{constructor(e,n,o,r){super(),this.startSide=e,this.endSide=n,this.widget=o,this.spec=r}get heightRelevant(){return!1}static mark(e){return new Sl(e)}static widget(e){let n=Math.max(-1e4,Math.min(1e4,e.side||0)),o=!!e.block;return n+=o&&!e.inlineOrder?n>0?3e8:-4e8:n>0?1e8:-1e8,new yr(e,n,n,o,e.widget||null,!1)}static replace(e){let n=!!e.block,o,r;if(e.isBlockGap)o=-5e8,r=4e8;else{let{start:i,end:s}=bL(e,n);o=(i?n?-3e8:-1:5e8)-1,r=(s?n?2e8:1:-6e8)+1}return new yr(e,o,r,n,e.widget||null,!0)}static line(e){return new El(e)}static set(e,n=!1){return Fe.of(e,n)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Pt.none=Fe.empty;var Sl=class extends Pt{constructor(e){let{start:n,end:o}=bL(e);super(n?-1:5e8,o?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var n,o;return this==e||e instanceof Sl&&this.tagName==e.tagName&&(this.class||((n=this.attrs)===null||n===void 0?void 0:n.class))==(e.class||((o=e.attrs)===null||o===void 0?void 0:o.class))&&TC(this.attrs,e.attrs,"class")}range(e,n=e){if(e>=n)throw new RangeError("Mark decorations may not be empty");return super.range(e,n)}};Sl.prototype.point=!1;var El=class extends Pt{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof El&&this.spec.class==e.spec.class&&TC(this.spec.attributes,e.spec.attributes)}range(e,n=e){if(n!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,n)}};El.prototype.mapMode=Qt.TrackBefore;El.prototype.point=!0;var yr=class extends Pt{constructor(e,n,o,r,i,s){super(n,o,i,e),this.block=r,this.isReplace=s,this.mapMode=r?n<=0?Qt.TrackBefore:Qt.TrackAfter:Qt.TrackDel}get type(){return this.startSide<this.endSide?mt.WidgetRange:this.startSide<=0?mt.WidgetBefore:mt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof yr&&u6(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,n=e){if(this.isReplace&&(e>n||e==n&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&n!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,n)}};yr.prototype.point=!0;function bL(t,e=!1){let{inclusiveStart:n,inclusiveEnd:o}=t;return n==null&&(n=t.inclusive),o==null&&(o=t.inclusive),{start:n!=null?n:e,end:o!=null?o:e}}function u6(t,e){return t==e||!!(t&&e&&t.compare(e))}function Q0(t,e,n,o=0){let r=n.length-1;r>=0&&n[r]+o>=t?n[r]=Math.max(n[r],e):n.push(t,e)}var Bt=class extends He{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,n,o,r,i,s){if(o){if(!(o instanceof Bt))return!1;this.dom||o.transferDOM(this)}return r&&this.setDeco(o?o.attrs:null),fL(this,e,n,o?o.children:[],i,s),!0}split(e){let n=new Bt;if(n.breakAfter=this.breakAfter,this.length==0)return n;let{i:o,off:r}=this.childPos(e);r&&(n.append(this.children[o].split(r),0),this.children[o].merge(r,this.children[o].length,null,!1,0,0),o++);for(let i=o;i<this.children.length;i++)n.append(this.children[i],0);for(;o>0&&this.children[o-1].length==0;)this.children[--o].destroy();return this.children.length=o,this.markDirty(),this.length=e,n}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){TC(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,n){gL(this,e,n)}addLineDeco(e){let n=e.spec.attributes,o=e.spec.class;n&&(this.attrs=j0(n,this.attrs||{})),o&&(this.attrs=j0({class:o},this.attrs||{}))}domAtPos(e){return hL(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,n){var o;this.dom?this.flags&4&&(uL(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(q0(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,n);let r=this.dom.lastChild;for(;r&&He.get(r)instanceof Ko;)r=r.lastChild;if(!r||!this.length||r.nodeName!="BR"&&((o=He.get(r))===null||o===void 0?void 0:o.isEditable)==!1&&(!te.ios||!this.children.some(i=>i instanceof wo))){let i=document.createElement("BR");i.cmIgnore=!0,this.dom.appendChild(i)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,n;for(let o of this.children){if(!(o instanceof wo)||/[^ -~]/.test(o.text))return null;let r=rf(o.dom);if(r.length!=1)return null;e+=r[0].width,n=r[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:n}:null}coordsAt(e,n){let o=yL(this,e,n);if(!this.children.length&&o&&this.parent){let{heightOracle:r}=this.parent.view.viewState,i=o.bottom-o.top;if(Math.abs(i-r.lineHeight)<2&&r.textHeight<i){let s=(i-r.textHeight)/2;return{top:o.top+s,bottom:o.bottom-s,left:o.left,right:o.left}}}return o}become(e){return!1}get type(){return mt.Text}static find(e,n){for(let o=0,r=0;o<e.children.length;o++){let i=e.children[o],s=r+i.length;if(s>=n){if(i instanceof Bt)return i;if(s>n)break}r=s+i.breakAfter}return null}},ni=class extends He{constructor(e,n,o){super(),this.widget=e,this.length=n,this.type=o,this.breakAfter=0,this.prevWidget=null}merge(e,n,o,r,i,s){return o&&(!(o instanceof ni)||!this.widget.compare(o.widget)||e>0&&i<=0||n<this.length&&s<=0)?!1:(this.length=e+(o?o.length:0)+(this.length-n),!0)}domAtPos(e){return e==0?Vt.before(this.dom):Vt.after(this.dom,e==this.length)}split(e){let n=this.length-e;this.length=e;let o=new ni(this.widget,n,this.type);return o.breakAfter=this.breakAfter,o}get children(){return EC}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):Ce.empty}domBoundsAround(){return null}become(e){return e instanceof ni&&e.widget.constructor==this.widget.constructor?(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.type=e.type,this.breakAfter=e.breakAfter,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,n){return this.widget.coordsAt(this.dom,e,n)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},Cl=class{constructor(e,n,o,r){this.doc=e,this.pos=n,this.end=o,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=n}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!e.breakAfter&&!(e instanceof ni&&e.type==mt.WidgetBefore)}getLine(){return this.curLine||(this.content.push(this.curLine=new Bt),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(Ah(new rs(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||this.getLine()}buildText(e,n,o){for(;e>0;){if(this.textOff==this.text.length){let{value:i,lineBreak:s,done:l}=this.cursor.next(this.skip);if(this.skip=0,l)throw new Error("Ran out of text content when drawing inline views");if(s){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=i,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(n.slice(n.length-o)),this.getLine().append(Ah(new wo(this.text.slice(this.textOff,this.textOff+r)),n),o),this.atCursorPos=!0,this.textOff+=r,e-=r,o=0}}span(e,n,o,r){this.buildText(n-e,o,r),this.pos=n,this.openStart<0&&(this.openStart=r)}point(e,n,o,r,i,s){if(this.disallowBlockEffectsFor[s]&&o instanceof yr){if(o.block)throw new RangeError("Block decorations may not be specified via plugins");if(n>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let l=n-e;if(o instanceof yr)if(o.block){let{type:a}=o;a==mt.WidgetAfter&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new ni(o.widget||new Yh("div"),l,a))}else{let a=ti.create(o.widget||new Yh("span"),l,l?0:o.startSide),u=this.atCursorPos&&!a.isEditable&&i<=r.length&&(e<n||o.startSide>0),c=!a.isEditable&&(e<n||i>r.length||o.startSide<=0),d=this.getLine();this.pendingBuffer==2&&!u&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(r),u&&(d.append(Ah(new rs(1),r),i),i=r.length+Math.max(0,i-r.length)),d.append(Ah(a,r),i),this.atCursorPos=c,this.pendingBuffer=c?e<n||i>r.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(o);l&&(this.textOff+l<=this.text.length?this.textOff+=l:(this.skip+=l-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=n),this.openStart<0&&(this.openStart=i)}static build(e,n,o,r,i){let s=new Cl(e,n,o,i);return s.openEnd=Fe.spans(r,n,o,s),s.openStart<0&&(s.openStart=s.openEnd),s.finish(s.openEnd),s}};function Ah(t,e){for(let n of e)t=new Ko(n,[t],t.length);return t}var Yh=class extends oi{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}},vL=le.define(),xL=le.define(),CL=le.define(),wL=le.define(),J0=le.define(),SL=le.define(),EL=le.define(),TL=le.define({combine:t=>t.some(e=>e)}),kL=le.define({combine:t=>t.some(e=>e)}),Cu=class{constructor(e,n="nearest",o="nearest",r=5,i=5){this.range=e,this.y=n,this.x=o,this.yMargin=r,this.xMargin=i}map(e){return e.empty?this:new Cu(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}},OR=De.define({map:(t,e)=>t.map(e)});function Zn(t,e,n){let o=t.facet(wL);o.length?o[0](e):window.onerror?window.onerror(String(e),n,void 0,void 0,e):n?console.error(n+":",e):console.error(e)}var rg=le.define({combine:t=>t.length?t[0]:!0}),c6=0,Zd=le.define(),Nn=class{constructor(e,n,o,r){this.id=e,this.create=n,this.domEventHandlers=o,this.extension=r(this)}static define(e,n){let{eventHandlers:o,provide:r,decorations:i}=n||{};return new Nn(c6++,e,o,s=>{let l=[Zd.of(s)];return i&&l.push(sf.of(a=>{let u=a.plugin(s);return u?i(u):Pt.none})),r&&l.push(r(s)),l})}static fromClass(e,n){return Nn.define(o=>new e(o),n)}},nf=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let n=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(n)}catch(o){if(Zn(n.state,o,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(n){Zn(e.state,n,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var n;if(!((n=this.value)===null||n===void 0)&&n.destroy)try{this.value.destroy()}catch(o){Zn(e.state,o,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},ML=le.define(),kC=le.define(),sf=le.define(),MC=le.define(),IL=le.define();function PL(t){let e=0,n=0,o=0,r=0;for(let i of t.state.facet(IL)){let s=i(t);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(n=Math.max(n,s.right)),s.top!=null&&(o=Math.max(o,s.top)),s.bottom!=null&&(r=Math.max(r,s.bottom)))}return{left:e,right:n,top:o,bottom:r}}var ef=le.define(),An=class{constructor(e,n,o,r){this.fromA=e,this.toA=n,this.fromB=o,this.toB=r}join(e){return new An(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let n=e.length,o=this;for(;n>0;n--){let r=e[n-1];if(!(r.fromA>o.toA)){if(r.toA<o.fromA)break;o=o.join(r),e.splice(n-1,1)}}return e.splice(n,0,o),e}static extendWithRanges(e,n){if(n.length==0)return e;let o=[];for(let r=0,i=0,s=0,l=0;;r++){let a=r==e.length?null:e[r],u=s-l,c=a?a.fromB:1e9;for(;i<n.length&&n[i]<c;){let d=n[i],f=n[i+1],p=Math.max(l,d),g=Math.min(c,f);if(p<=g&&new An(p+u,g+u,p,g).addToSet(o),f>c)break;i+=2}if(!a)return o;new An(a.fromA,a.toA,a.fromB,a.toB).addToSet(o),s=a.toA,l=a.toB}}},wu=class{constructor(e,n,o){this.view=e,this.state=n,this.transactions=o,this.flags=0,this.startState=e.state,this.changes=Je.empty(this.startState.doc.length);for(let i of o)this.changes=this.changes.compose(i.changes);let r=[];this.changes.iterChangedRanges((i,s,l,a)=>r.push(new An(i,s,l,a))),this.changedRanges=r}static create(e,n,o){return new wu(e,n,o)}get viewportChanged(){return(this.flags&4)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&10)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},Ze=function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t}(Ze||(Ze={})),X0=Ze.LTR,d6=Ze.RTL;function DL(t){let e=[];for(let n=0;n<t.length;n++)e.push(1<<+t[n]);return e}var f6=DL("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),p6=DL("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Y0=Object.create(null),gr=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),n=t.charCodeAt(1);Y0[e]=n,Y0[n]=-e}function m6(t){return t<=247?f6[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?p6[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8203?256:64336<=t&&t<=65023?4:t==8204?256:1}var h6=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,ns=class{constructor(e,n,o){this.from=e,this.to=n,this.level=o}get dir(){return this.level%2?d6:X0}side(e,n){return this.dir==n==e?this.to:this.from}static find(e,n,o,r){let i=-1;for(let s=0;s<e.length;s++){let l=e[s];if(l.from<=n&&l.to>=n){if(l.level==o)return s;(i<0||(r!=0?r<0?l.from<n:l.to>n:e[i].level>l.level))&&(i=s)}}if(i<0)throw new RangeError("Index out of range");return i}},Ye=[];function g6(t,e){let n=t.length,o=e==X0?1:2,r=e==X0?2:1;if(!t||o==1&&!h6.test(t))return RL(n);for(let s=0,l=o,a=o;s<n;s++){let u=m6(t.charCodeAt(s));u==512?u=l:u==8&&a==4&&(u=16),Ye[s]=u==4?2:u,u&7&&(a=u),l=u}for(let s=0,l=o,a=o;s<n;s++){let u=Ye[s];if(u==128)s<n-1&&l==Ye[s+1]&&l&24?u=Ye[s]=l:Ye[s]=256;else if(u==64){let c=s+1;for(;c<n&&Ye[c]==64;)c++;let d=s&&l==8||c<n&&Ye[c]==8?a==1?1:8:256;for(let f=s;f<c;f++)Ye[f]=d;s=c-1}else u==8&&a==1&&(Ye[s]=1);l=u,u&7&&(a=u)}for(let s=0,l=0,a=0,u,c,d;s<n;s++)if(c=Y0[u=t.charCodeAt(s)])if(c<0){for(let f=l-3;f>=0;f-=3)if(gr[f+1]==-c){let p=gr[f+2],g=p&2?o:p&4?p&1?r:o:0;g&&(Ye[s]=Ye[gr[f]]=g),l=f;break}}else{if(gr.length==189)break;gr[l++]=s,gr[l++]=u,gr[l++]=a}else if((d=Ye[s])==2||d==1){let f=d==o;a=f?0:1;for(let p=l-3;p>=0;p-=3){let g=gr[p+2];if(g&2)break;if(f)gr[p+2]|=2;else{if(g&4)break;gr[p+2]|=4}}}for(let s=0;s<n;s++)if(Ye[s]==256){let l=s+1;for(;l<n&&Ye[l]==256;)l++;let a=(s?Ye[s-1]:o)==1,u=(l<n?Ye[l]:o)==1,c=a==u?a?1:2:o;for(let d=s;d<l;d++)Ye[d]=c;s=l-1}let i=[];if(o==1)for(let s=0;s<n;){let l=s,a=Ye[s++]!=1;for(;s<n&&a==(Ye[s]!=1);)s++;if(a)for(let u=s;u>l;){let c=u,d=Ye[--u]!=2;for(;u>l&&d==(Ye[u-1]!=2);)u--;i.push(new ns(u,c,d?2:1))}else i.push(new ns(l,s,0))}else for(let s=0;s<n;){let l=s,a=Ye[s++]==2;for(;s<n&&a==(Ye[s]==2);)s++;i.push(new ns(l,s,a?1:2))}return i}function RL(t){return[new ns(0,t,0)]}var LL="";function y6(t,e,n,o,r){var i;let s=o.head-t.from,l=-1;if(s==0){if(!r||!t.length)return null;e[0].level!=n&&(s=e[0].side(!1,n),l=0)}else if(s==t.length){if(r)return null;let f=e[e.length-1];f.level!=n&&(s=f.side(!0,n),l=e.length-1)}l<0&&(l=ns.find(e,s,(i=o.bidiLevel)!==null&&i!==void 0?i:-1,o.assoc));let a=e[l];s==a.side(r,n)&&(a=e[l+=r?1:-1],s=a.side(!r,n));let u=r==(a.dir==n),c=Xt(t.text,s,u);if(LL=t.text.slice(Math.min(s,c),Math.max(s,c)),c!=a.side(r,n))return z.cursor(c+t.from,u?-1:1,a.level);let d=l==(r?e.length-1:0)?null:e[l+(r?1:-1)];return!d&&a.level!=n?z.cursor(r?t.to:t.from,r?-1:1,n):d&&d.level<a.level?z.cursor(d.side(!r,n)+t.from,r?1:-1,d.level):z.cursor(c+t.from,r?-1:1,a.level)}var Zh=class extends He{constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[],this.hasComposition=null,this.markedForComposition=new Set,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new Bt],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new An(0,0,0,e.state.doc.length)],0,null)}get length(){return this.view.state.doc.length}update(e){let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:l,toA:a})=>a<this.minWidthFrom||l>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let o=this.view.inputState.composing<0?null:v6(this.view,e.changes);if(this.hasComposition){this.markedForComposition.clear();let{from:l,to:a}=this.hasComposition;n=new An(l,a,e.changes.mapPos(l,-1),e.changes.mapPos(a,1)).addToSet(n.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(te.ie||te.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let r=this.decorations,i=this.updateDeco(),s=C6(r,i,e.changes);return n=An.extendWithRanges(n,s),!(this.flags&7)&&n.length==0?!1:(this.updateInner(n,e.startState.doc.length,o),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,n,o){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,n,o);let{observer:r}=this.view;r.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=te.chrome||te.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,s),this.flags&=-8,s&&(s.written||r.selectionRange.focusNode!=s.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(s=>s.flags&=-9);let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.children)s instanceof ni&&s.widget instanceof eg&&i.push(s.dom);r.updateGaps(i)}updateChildren(e,n,o){let r=o?o.range.addToSet(e.slice()):e,i=this.childCursor(n);for(let s=r.length-1;;s--){let l=s>=0?r[s]:null;if(!l)break;let{fromA:a,toA:u,fromB:c,toB:d}=l,f,p,g,y;if(o&&o.range.fromB<d&&o.range.toB>c){let b=Cl.build(this.view.state.doc,c,o.range.fromB,this.decorations,this.dynamicDecorationMap),S=Cl.build(this.view.state.doc,o.range.toB,d,this.decorations,this.dynamicDecorationMap);p=b.breakAtStart,g=b.openStart,y=S.openEnd;let C=this.compositionView(o);S.breakAtStart?C.breakAfter=1:S.content.length&&C.merge(C.length,C.length,S.content[0],!1,S.openStart,0)&&(C.breakAfter=S.content[0].breakAfter,S.content.shift()),b.content.length&&C.merge(0,0,b.content[b.content.length-1],!0,0,b.openEnd)&&b.content.pop(),f=b.content.concat(C).concat(S.content)}else({content:f,breakAtStart:p,openStart:g,openEnd:y}=Cl.build(this.view.state.doc,c,d,this.decorations,this.dynamicDecorationMap));let{i:m,off:h}=i.findPos(u,1),{i:v,off:x}=i.findPos(a,-1);dL(this,v,x,m,h,f,p,g,y)}o&&this.fixCompositionDOM(o)}compositionView(e){let n=new wo(e.text.nodeValue);n.flags|=8;for(let{deco:r}of e.marks)n=new Ko(r,[n],n.length);let o=new Bt;return o.append(n,0),o}fixCompositionDOM(e){let n=(i,s)=>{s.flags|=8,this.markedForComposition.add(s);let l=He.get(i);l!=s&&(l&&(l.dom=null),s.setDOM(i))},o=this.childPos(e.range.fromB,1),r=this.children[o.i];n(e.line,r);for(let i=e.marks.length-1;i>=-1;i--)o=r.childPos(o.off,1),r=r.children[o.i],n(i>=0?e.marks[i].node:e.text,r)}updateSelection(e=!1,n=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let o=this.view.root.activeElement,r=o==this.dom,i=!r&&$h(this.dom,this.view.observer.selectionRange)&&!(o&&this.dom.contains(o));if(!(r||n||i))return;let s=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,a=this.domAtPos(l.anchor),u=l.empty?a:this.domAtPos(l.head);if(te.gecko&&l.empty&&!this.hasComposition&&b6(a)){let d=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(d,a.node.childNodes[a.offset]||null)),a=u=new Vt(d,0),s=!0}let c=this.view.observer.selectionRange;(s||!c.focusNode||!jh(a.node,a.offset,c.anchorNode,c.anchorOffset)||!jh(u.node,u.offset,c.focusNode,c.focusOffset))&&(this.view.observer.ignore(()=>{te.android&&te.chrome&&this.dom.contains(c.focusNode)&&w6(c.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let d=Gh(this.view.root);if(d)if(l.empty){if(te.gecko){let f=x6(a.node,a.offset);if(f&&f!=3){let p=NL(a.node,a.offset,f==1?1:-1);p&&(a=new Vt(p,f==1?0:p.nodeValue.length))}}d.collapse(a.node,a.offset),l.bidiLevel!=null&&c.cursorBidiLevel!=null&&(c.cursorBidiLevel=l.bidiLevel)}else if(d.extend){d.collapse(a.node,a.offset);try{d.extend(u.node,u.offset)}catch{}}else{let f=document.createRange();l.anchor>l.head&&([a,u]=[u,a]),f.setEnd(u.node,u.offset),f.setStart(a.node,a.offset),d.removeAllRanges(),d.addRange(f)}i&&this.view.root.activeElement==this.dom&&(this.dom.blur(),o&&o.focus())}),this.view.observer.setSelectionRange(a,u)),this.impreciseAnchor=a.precise?null:new Vt(c.anchorNode,c.anchorOffset),this.impreciseHead=u.precise?null:new Vt(c.focusNode,c.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,n=e.state.selection.main,o=Gh(e.root),{anchorNode:r,anchorOffset:i}=e.observer.selectionRange;if(!o||!n.empty||!n.assoc||!o.modify)return;let s=Bt.find(this,n.head);if(!s)return;let l=s.posAtStart;if(n.head==l||n.head==l+s.length)return;let a=this.coordsAt(n.head,-1),u=this.coordsAt(n.head,1);if(!a||!u||a.bottom>u.top)return;let c=this.domAtPos(n.head+n.assoc);o.collapse(c.node,c.offset),o.modify("move",n.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let d=e.observer.selectionRange;e.docView.posFromDOM(d.anchorNode,d.anchorOffset)!=n.from&&o.collapse(r,i)}nearest(e){for(let n=e;n;){let o=He.get(n);if(o&&o.rootView==this)return o;n=n.parentNode}return null}posFromDOM(e,n){let o=this.nearest(e);if(!o)throw new RangeError("Trying to find position for a DOM position outside of the document");return o.localPosFromDOM(e,n)+o.posAtStart}domAtPos(e){let{i:n,off:o}=this.childCursor().findPos(e,-1);for(;n<this.children.length-1;){let r=this.children[n];if(o<r.length||r instanceof Bt)break;n++,o=0}return this.children[n].domAtPos(o)}coordsAt(e,n){for(let o=this.length,r=this.children.length-1;;r--){let i=this.children[r],s=o-i.breakAfter-i.length;if(e>s||e==s&&i.type!=mt.WidgetBefore&&i.type!=mt.WidgetAfter&&(!r||n==2||this.children[r-1].breakAfter||this.children[r-1].type==mt.WidgetBefore&&n>-2))return i.coordsAt(e-s,n);o=s}}coordsForChar(e){let{i:n,off:o}=this.childPos(e,1),r=this.children[n];if(!(r instanceof Bt))return null;for(;r.children.length;){let{i:l,off:a}=r.childPos(o,1);for(;;l++){if(l==r.children.length)return null;if((r=r.children[l]).length)break}o=a}if(!(r instanceof wo))return null;let i=Xt(r.text,o);if(i==o)return null;let s=wl(r.dom,o,i).getClientRects();return!s.length||s[0].top>=s[0].bottom?null:s[0]}measureVisibleLineHeights(e){let n=[],{from:o,to:r}=e,i=this.view.contentDOM.clientWidth,s=i>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==Ze.LTR;for(let u=0,c=0;c<this.children.length;c++){let d=this.children[c],f=u+d.length;if(f>r)break;if(u>=o){let p=d.dom.getBoundingClientRect();if(n.push(p.height),s){let g=d.dom.lastChild,y=g?rf(g):[];if(y.length){let m=y[y.length-1],h=a?m.right-p.left:p.right-m.left;h>l&&(l=h,this.minWidth=i,this.minWidthFrom=u,this.minWidthTo=f)}}}u=f+d.breakAfter}return n}textDirectionAt(e){let{i:n}=this.childPos(e,1);return getComputedStyle(this.children[n].dom).direction=="rtl"?Ze.RTL:Ze.LTR}measureTextSize(){for(let i of this.children)if(i instanceof Bt){let s=i.measureTextSize();if(s)return s}let e=document.createElement("div"),n,o,r;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let i=rf(e.firstChild)[0];n=e.getBoundingClientRect().height,o=i?i.width/27:7,r=i?i.height:n,e.remove()}),{lineHeight:n,charWidth:o,textHeight:r}}childCursor(e=this.length){let n=this.children.length;return n&&(e-=this.children[--n].length),new Qh(this.children,e,n)}computeBlockGapDeco(){let e=[],n=this.view.viewState;for(let o=0,r=0;;r++){let i=r==n.viewports.length?null:n.viewports[r],s=i?i.from-1:this.length;if(s>o){let l=n.lineBlockAt(s).bottom-n.lineBlockAt(o).top;e.push(Pt.replace({widget:new eg(l),block:!0,inclusive:!0,isBlockGap:!0}).range(o,s))}if(!i)break;o=i.to+1}return Pt.set(e)}updateDeco(){let e=this.view.state.facet(sf).map((n,o)=>(this.dynamicDecorationMap[o]=typeof n=="function")?n(this.view):n);for(let n=e.length;n<e.length+3;n++)this.dynamicDecorationMap[n]=!1;return this.decorations=[...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){let{range:n}=e,o=this.coordsAt(n.head,n.empty?n.assoc:n.head>n.anchor?-1:1),r;if(!o)return;!n.empty&&(r=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(o={left:Math.min(o.left,r.left),top:Math.min(o.top,r.top),right:Math.max(o.right,r.right),bottom:Math.max(o.bottom,r.bottom)});let i=PL(this.view),s={left:o.left-i.left,top:o.top-i.top,right:o.right+i.right,bottom:o.bottom+i.bottom};t6(this.view.scrollDOM,s,n.head<n.anchor?-1:1,e.x,e.y,e.xMargin,e.yMargin,this.view.textDirection==Ze.LTR)}};function b6(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}var eg=class extends oi{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}};function AL(t){let e=t.observer.selectionRange,n=e.focusNode&&NL(e.focusNode,e.focusOffset,0);if(!n)return null;let o=He.get(n),r,i;if(o instanceof wo)r=o.posAtStart,i=r+o.length;else e:for(let s=0,l=n;;){for(let u=l.previousSibling,c;u;u=u.previousSibling){if(c=He.get(u)){r=i=c.posAtEnd+s;break e}let d=new Jh([],t.state);if(d.readNode(u),d.text.indexOf(bu)>-1)return null;s+=d.text.length}if(l=l.parentNode,!l)return null;let a=He.get(l);if(a){r=i=a.posAtStart+s;break}}return{from:r,to:i,node:n}}function v6(t,e){let n=AL(t);if(!n)return null;let{from:o,to:r,node:i}=n,s=e.mapPos(o,-1),l=e.mapPos(r,1),a=i.nodeValue;if(/[\n\r]/.test(a))return null;if(l-s!=a.length){let f=e.mapPos(o,1),p=e.mapPos(r,-1);if(p-f==a.length)s=f,l=p;else if(t.state.doc.sliceString(l-a.length,l)==a)s=l-a.length;else if(t.state.doc.sliceString(s,s+a.length)==a)l=s+a.length;else return null}let{main:u}=t.state.selection;if(t.state.doc.sliceString(s,l)!=a||s>u.head||l<u.head)return null;let c=[],d=new An(o,r,s,l);for(let f=i.parentNode;;f=f.parentNode){let p=He.get(f);if(p instanceof Ko)c.push({node:f,deco:p.mark});else{if(p instanceof Bt||f.nodeName=="DIV"&&f.parentNode==t.contentDOM)return{range:d,text:i,marks:c,line:f};if(f!=t.contentDOM)c.push({node:f,deco:new Sl({inclusive:!0,attributes:a6(f),tagName:f.tagName.toLowerCase()})});else return null}}}function NL(t,e,n){if(n<=0)for(let o=t,r=e;;){if(o.nodeType==3)return o;if(o.nodeType==1&&r>0)o=o.childNodes[r-1],r=os(o);else break}if(n>=0)for(let o=t,r=e;;){if(o.nodeType==3)return o;if(o.nodeType==1&&r<o.childNodes.length&&n>=0)o=o.childNodes[r],r=0;else break}return null}function x6(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}var Z0=class{constructor(){this.changes=[]}compareRange(e,n){Q0(e,n,this.changes)}comparePoint(e,n){Q0(e,n,this.changes)}};function C6(t,e,n){let o=new Z0;return Fe.compare(t,e,n,o),o.changes}function w6(t,e){for(let n=t;n&&n!=e;n=n.assignedSlot||n.parentNode)if(n.nodeType==1&&n.contentEditable=="false")return!0;return!1}function S6(t,e,n=1){let o=t.charCategorizer(e),r=t.doc.lineAt(e),i=e-r.from;if(r.length==0)return z.cursor(e);i==0?n=1:i==r.length&&(n=-1);let s=i,l=i;n<0?s=Xt(r.text,i,!1):l=Xt(r.text,i);let a=o(r.text.slice(s,l));for(;s>0;){let u=Xt(r.text,s,!1);if(o(r.text.slice(u,s))!=a)break;s=u}for(;l<r.length;){let u=Xt(r.text,l);if(o(r.text.slice(l,u))!=a)break;l=u}return z.range(s+r.from,l+r.from)}function E6(t,e){return e.left>t?e.left-t:Math.max(0,t-e.right)}function T6(t,e){return e.top>t?e.top-t:Math.max(0,t-e.bottom)}function F0(t,e){return t.top<e.bottom-1&&t.bottom>e.top+1}function FR(t,e){return e<t.top?{top:e,left:t.left,right:t.right,bottom:t.bottom}:t}function BR(t,e){return e>t.bottom?{top:t.top,left:t.left,right:t.right,bottom:e}:t}function eC(t,e,n){let o,r,i,s,l=!1,a,u,c,d;for(let g=t.firstChild;g;g=g.nextSibling){let y=rf(g);for(let m=0;m<y.length;m++){let h=y[m];r&&F0(r,h)&&(h=FR(BR(h,r.bottom),r.top));let v=E6(e,h),x=T6(n,h);if(v==0&&x==0)return g.nodeType==3?VR(g,e,n):eC(g,e,n);if(!o||s>x||s==x&&i>v){o=g,r=h,i=v,s=x;let b=x?n<h.top?-1:1:v?e<h.left?-1:1:0;l=!b||(b>0?m<y.length-1:m>0)}v==0?n>h.bottom&&(!c||c.bottom<h.bottom)?(a=g,c=h):n<h.top&&(!d||d.top>h.top)&&(u=g,d=h):c&&F0(c,h)?c=BR(c,h.bottom):d&&F0(d,h)&&(d=FR(d,h.top))}}if(c&&c.bottom>=n?(o=a,r=c):d&&d.top<=n&&(o=u,r=d),!o)return{node:t,offset:0};let f=Math.max(r.left,Math.min(r.right,e));if(o.nodeType==3)return VR(o,f,n);if(l&&o.contentEditable!="false")return eC(o,f,n);let p=Array.prototype.indexOf.call(t.childNodes,o)+(e>=(r.left+r.right)/2?1:0);return{node:t,offset:p}}function VR(t,e,n){let o=t.nodeValue.length,r=-1,i=1e9,s=0;for(let l=0;l<o;l++){let a=wl(t,l,l+1).getClientRects();for(let u=0;u<a.length;u++){let c=a[u];if(c.top==c.bottom)continue;s||(s=e-c.left);let d=(c.top>n?c.top-n:n-c.bottom)-1;if(c.left-1<=e&&c.right+1>=e&&d<i){let f=e>=(c.left+c.right)/2,p=f;if((te.chrome||te.gecko)&&wl(t,l).getBoundingClientRect().left==c.right&&(p=!f),d<=0)return{node:t,offset:l+(p?1:0)};r=l+(p?1:0),i=d}}}return{node:t,offset:r>-1?r:s>0?t.nodeValue.length:0}}function HL(t,e,n,o=-1){var r,i;let s=t.contentDOM.getBoundingClientRect(),l=s.top+t.viewState.paddingTop,a,{docHeight:u}=t.viewState,{x:c,y:d}=e,f=d-l;if(f<0)return 0;if(f>u)return t.state.doc.length;for(let b=t.viewState.heightOracle.textHeight/2,S=!1;a=t.elementAtHeight(f),a.type!=mt.Text;)for(;f=o>0?a.bottom+b:a.top-b,!(f>=0&&f<=u);){if(S)return n?null:0;S=!0,o=-o}d=l+f;let p=a.from;if(p<t.viewport.from)return t.viewport.from==0?0:n?null:zR(t,s,a,c,d);if(p>t.viewport.to)return t.viewport.to==t.state.doc.length?t.state.doc.length:n?null:zR(t,s,a,c,d);let g=t.dom.ownerDocument,y=t.root.elementFromPoint?t.root:g,m=y.elementFromPoint(c,d);m&&!t.contentDOM.contains(m)&&(m=null),m||(c=Math.max(s.left+1,Math.min(s.right-1,c)),m=y.elementFromPoint(c,d),m&&!t.contentDOM.contains(m)&&(m=null));let h,v=-1;if(m&&((r=t.docView.nearest(m))===null||r===void 0?void 0:r.isEditable)!=!1){if(g.caretPositionFromPoint){let b=g.caretPositionFromPoint(c,d);b&&({offsetNode:h,offset:v}=b)}else if(g.caretRangeFromPoint){let b=g.caretRangeFromPoint(c,d);b&&({startContainer:h,startOffset:v}=b,(!t.contentDOM.contains(h)||te.safari&&k6(h,v,c)||te.chrome&&M6(h,v,c))&&(h=void 0))}}if(!h||!t.docView.dom.contains(h)){let b=Bt.find(t.docView,p);if(!b)return f>a.top+a.height/2?a.to:a.from;({node:h,offset:v}=eC(b.dom,c,d))}let x=t.docView.nearest(h);if(!x)return null;if(x.isWidget&&((i=x.dom)===null||i===void 0?void 0:i.nodeType)==1){let b=x.dom.getBoundingClientRect();return e.y<b.top||e.y<=b.bottom&&e.x<=(b.left+b.right)/2?x.posAtStart:x.posAtEnd}else return x.localPosFromDOM(h,v)+x.posAtStart}function zR(t,e,n,o,r){let i=Math.round((o-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&n.height>t.defaultLineHeight*1.5){let l=t.viewState.heightOracle.textHeight,a=Math.floor((r-n.top-(t.defaultLineHeight-l)*.5)/l);i+=a*t.viewState.heightOracle.lineLength}let s=t.state.sliceDoc(n.from,n.to);return n.from+SR(s,i,t.state.tabSize)}function k6(t,e,n){let o;if(t.nodeType!=3||e!=(o=t.nodeValue.length))return!1;for(let r=t.nextSibling;r;r=r.nextSibling)if(r.nodeType!=1||r.nodeName!="BR")return!1;return wl(t,o-1,o).getBoundingClientRect().left>n}function M6(t,e,n){if(e!=0)return!1;for(let r=t;;){let i=r.parentNode;if(!i||i.nodeType!=1||i.firstChild!=r)return!1;if(i.classList.contains("cm-line"))break;r=i}let o=t.nodeType==1?t.getBoundingClientRect():wl(t,0,Math.max(t.nodeValue.length,1)).getBoundingClientRect();return n-o.left>5}function tC(t,e){let n=t.lineBlockAt(e);if(Array.isArray(n.type)){for(let o of n.type)if(o.to>e||o.to==e&&(o.to==n.to||o.type==mt.Text))return o}return n}function I6(t,e,n,o){let r=tC(t,e.head),i=!o||r.type!=mt.Text||!(t.lineWrapping||r.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(i){let s=t.dom.getBoundingClientRect(),l=t.textDirectionAt(r.from),a=t.posAtCoords({x:n==(l==Ze.LTR)?s.right-1:s.left+1,y:(i.top+i.bottom)/2});if(a!=null)return z.cursor(a,n?-1:1)}return z.cursor(n?r.to:r.from,n?-1:1)}function $R(t,e,n,o){let r=t.state.doc.lineAt(e.head),i=t.bidiSpans(r),s=t.textDirectionAt(r.from);for(let l=e,a=null;;){let u=y6(r,i,s,l,n),c=LL;if(!u){if(r.number==(n?t.state.doc.lines:1))return l;c=`
853
853
  `,r=t.state.doc.line(r.number+(n?1:-1)),i=t.bidiSpans(r),u=z.cursor(n?r.from:r.to)}if(a){if(!a(c))return l}else{if(!o)return u;a=o(c)}l=u}}function P6(t,e,n){let o=t.state.charCategorizer(e),r=o(n);return i=>{let s=o(i);return r==pn.Space&&(r=s),r==s}}function D6(t,e,n,o){let r=e.head,i=n?1:-1;if(r==(n?t.state.doc.length:0))return z.cursor(r,e.assoc);let s=e.goalColumn,l,a=t.contentDOM.getBoundingClientRect(),u=t.coordsAtPos(r),c=t.documentTop;if(u)s==null&&(s=u.left-a.left),l=i<0?u.top:u.bottom;else{let p=t.viewState.lineBlockAt(r);s==null&&(s=Math.min(a.right-a.left,t.defaultCharacterWidth*(r-p.from))),l=(i<0?p.top:p.bottom)+c}let d=a.left+s,f=o!=null?o:t.viewState.heightOracle.textHeight>>1;for(let p=0;;p+=10){let g=l+(f+p)*i,y=HL(t,{x:d,y:g},!1,i);if(g<a.top||g>a.bottom||(i<0?y<r:y>r))return z.cursor(y,e.assoc,void 0,s)}}function _h(t,e,n){for(;;){let o=0;for(let r of t)r.between(e-1,e+1,(i,s,l)=>{if(e>i&&e<s){let a=o||n||(e-i<s-e?-1:1);e=a<0?i:s,o=a}});if(!o)return e}}function B0(t,e,n){let o=_h(t.state.facet(MC).map(r=>r(t)),n.from,e.head>n.from?-1:1);return o==n.from?n:z.cursor(o,o<n.from?1:-1)}var nC=class{constructor(e){this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.chromeScrollHack=-1,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null;let n=(o,r)=>{this.ignoreDuringComposition(r)||r.type=="keydown"&&this.keydown(e,r)||(this.mustFlushObserver(r)&&e.observer.forceFlush(),this.runCustomHandlers(r.type,e,r)?r.preventDefault():o(e,r))};for(let o in yt){let r=yt[o];e.contentDOM.addEventListener(o,i=>{_R(e,i)&&n(r,i)},rC[o]),this.registeredEvents.push(o)}e.scrollDOM.addEventListener("mousedown",o=>{if(o.target==e.scrollDOM&&o.clientY>e.contentDOM.getBoundingClientRect().bottom&&(n(yt.mousedown,o),!o.defaultPrevented&&o.button==2)){let r=e.contentDOM.style.minHeight;e.contentDOM.style.minHeight="100%",setTimeout(()=>e.contentDOM.style.minHeight=r,200)}}),e.scrollDOM.addEventListener("drop",o=>{o.target==e.scrollDOM&&o.clientY>e.contentDOM.getBoundingClientRect().bottom&&n(yt.drop,o)}),te.chrome&&te.chrome_version==102&&e.scrollDOM.addEventListener("wheel",()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout(()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=e.hasFocus,te.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,n){var o;let r;this.customHandlers=[];for(let i of n)if(r=(o=i.update(e).spec)===null||o===void 0?void 0:o.domEventHandlers){this.customHandlers.push({plugin:i.value,handlers:r});for(let s in r)this.registeredEvents.indexOf(s)<0&&s!="scroll"&&(this.registeredEvents.push(s),e.contentDOM.addEventListener(s,l=>{_R(e,l)&&this.runCustomHandlers(s,e,l)&&l.preventDefault()}))}}runCustomHandlers(e,n,o){for(let r of this.customHandlers){let i=r.handlers[e];if(i)try{if(i.call(r.plugin,o,n)||o.defaultPrevented)return!0}catch(s){Zn(n.state,s)}}return!1}runScrollHandlers(e,n){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let o of this.customHandlers){let r=o.handlers.scroll;if(r)try{r.call(o.plugin,n,e)}catch(i){Zn(e.state,i)}}}keydown(e,n){if(this.lastKeyCode=n.keyCode,this.lastKeyTime=Date.now(),n.keyCode==9&&Date.now()<this.lastEscPress+2e3)return!0;if(n.keyCode!=27&&FL.indexOf(n.keyCode)<0&&(e.inputState.lastEscPress=0),te.android&&te.chrome&&!n.synthetic&&(n.keyCode==13||n.keyCode==8))return e.observer.delayAndroidKey(n.key,n.keyCode),!0;let o;return te.ios&&!n.synthetic&&!n.altKey&&!n.metaKey&&((o=OL.find(r=>r.keyCode==n.keyCode))&&!n.ctrlKey||R6.indexOf(n.key)>-1&&n.ctrlKey&&!n.shiftKey)?(this.pendingIOSKey=o||n,setTimeout(()=>this.flushIOSKey(e),250),!0):!1}flushIOSKey(e){let n=this.pendingIOSKey;return n?(this.pendingIOSKey=void 0,xu(e.contentDOM,n.key,n.keyCode)):!1}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:te.safari&&!te.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}mustFlushObserver(e){return e.type=="keydown"&&e.keyCode!=229}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}},OL=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],R6="dthko",FL=[16,17,18,20,91,92,224,225],Nh=6;function Hh(t){return Math.max(0,t)*.7+8}function L6(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}var oC=class{constructor(e,n,o,r){this.view=e,this.startEvent=n,this.style=o,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=n,this.scrollParent=n6(e.contentDOM),this.atoms=e.state.facet(MC).map(s=>s(e));let i=e.contentDOM.ownerDocument;i.addEventListener("mousemove",this.move=this.move.bind(this)),i.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=e.state.facet(ye.allowMultipleSelections)&&A6(e,n),this.dragging=H6(e,n)&&$L(n)==1?null:!1}start(e){this.dragging===!1&&(e.preventDefault(),this.select(e))}move(e){var n;if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&L6(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let o=0,r=0,i=((n=this.scrollParent)===null||n===void 0?void 0:n.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},s=PL(this.view);e.clientX-s.left<=i.left+Nh?o=-Hh(i.left-e.clientX):e.clientX+s.right>=i.right-Nh&&(o=Hh(e.clientX-i.right)),e.clientY-s.top<=i.top+Nh?r=-Hh(i.top-e.clientY):e.clientY+s.bottom>=i.bottom-Nh&&(r=Hh(e.clientY-i.bottom)),this.setScrollSpeed(o,r)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=null}setScrollSpeed(e,n){this.scrollSpeed={x:e,y:n},e||n?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let n=null;for(let o=0;o<e.ranges.length;o++){let r=e.ranges[o],i=null;if(r.empty){let s=_h(this.atoms,r.from,0);s!=r.from&&(i=z.cursor(s,-1))}else{let s=_h(this.atoms,r.from,-1),l=_h(this.atoms,r.to,1);(s!=r.from||l!=r.to)&&(i=z.range(r.from==r.anchor?s:l,r.from==r.head?s:l))}i&&(n||(n=e.ranges.slice()),n[o]=i)}return n?z.create(n,e.mainIndex):e}select(e){let{view:n}=this,o=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!o.eq(n.state.selection)||o.main.assoc!=n.state.selection.main.assoc&&this.dragging===!1)&&this.view.dispatch({selection:o,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.docChanged&&this.dragging&&(this.dragging=this.dragging.map(e.changes)),this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function A6(t,e){let n=t.state.facet(vL);return n.length?n[0](e):te.mac?e.metaKey:e.ctrlKey}function N6(t,e){let n=t.state.facet(xL);return n.length?n[0](e):te.mac?!e.altKey:!e.ctrlKey}function H6(t,e){let{main:n}=t.state.selection;if(n.empty)return!1;let o=Gh(t.root);if(!o||o.rangeCount==0)return!0;let r=o.getRangeAt(0).getClientRects();for(let i=0;i<r.length;i++){let s=r[i];if(s.left<=e.clientX&&s.right>=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function _R(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target,o;n!=t.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(o=He.get(n))&&o.ignoreEvent(e))return!1;return!0}var yt=Object.create(null),rC=Object.create(null),BL=te.ie&&te.ie_version<15||te.ios&&te.webkit_version<604;function O6(t){let e=t.dom.parentNode;if(!e)return;let n=e.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{t.focus(),n.remove(),VL(t,n.value)},50)}function VL(t,e){let{state:n}=t,o,r=1,i=n.toText(e),s=i.lines==n.selection.ranges.length;if(iC!=null&&n.selection.ranges.every(a=>a.empty)&&iC==i.toString()){let a=-1;o=n.changeByRange(u=>{let c=n.doc.lineAt(u.from);if(c.from==a)return{range:u};a=c.from;let d=n.toText((s?i.line(r++).text:e)+n.lineBreak);return{changes:{from:c.from,insert:d},range:z.cursor(u.from+d.length)}})}else s?o=n.changeByRange(a=>{let u=i.line(r++);return{changes:{from:a.from,to:a.to,insert:u.text},range:z.cursor(a.from+u.length)}}):o=n.replaceSelection(i);t.dispatch(o,{userEvent:"input.paste",scrollIntoView:!0})}yt.keydown=(t,e)=>{t.inputState.setSelectionOrigin("select"),e.keyCode==27&&(t.inputState.lastEscPress=Date.now())};yt.touchstart=(t,e)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")};yt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};rC.touchstart=rC.touchmove={passive:!0};yt.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return;let n=null;for(let o of t.state.facet(CL))if(n=o(t,e),n)break;if(!n&&e.button==0&&(n=V6(t,e)),n){let o=!t.hasFocus;t.inputState.startMouseSelection(new oC(t,e,n,o)),o&&t.observer.ignore(()=>aL(t.contentDOM)),t.inputState.mouseSelection&&t.inputState.mouseSelection.start(e)}};function WR(t,e,n,o){if(o==1)return z.cursor(e,n);if(o==2)return S6(t.state,e,n);{let r=Bt.find(t.docView,e),i=t.state.doc.lineAt(r?r.posAtEnd:e),s=r?r.posAtStart:i.from,l=r?r.posAtEnd:i.to;return l<t.state.doc.length&&l==i.to&&l++,z.range(s,l)}}var zL=(t,e)=>t>=e.top&&t<=e.bottom,KR=(t,e,n)=>zL(e,n)&&t>=n.left&&t<=n.right;function F6(t,e,n,o){let r=Bt.find(t.docView,e);if(!r)return 1;let i=e-r.posAtStart;if(i==0)return 1;if(i==r.length)return-1;let s=r.coordsAt(i,-1);if(s&&KR(n,o,s))return-1;let l=r.coordsAt(i,1);return l&&KR(n,o,l)?1:s&&zL(o,s)?-1:1}function UR(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:n,bias:F6(t,n,e.clientX,e.clientY)}}var B6=te.ie&&te.ie_version<=11,GR=null,jR=0,qR=0;function $L(t){if(!B6)return t.detail;let e=GR,n=qR;return GR=t,qR=Date.now(),jR=!e||n>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(jR+1)%3:1}function V6(t,e){let n=UR(t,e),o=$L(e),r=t.state.selection;return{update(i){i.docChanged&&(n.pos=i.changes.mapPos(n.pos),r=r.map(i.changes))},get(i,s,l){let a=UR(t,i),u,c=WR(t,a.pos,a.bias,o);if(n.pos!=a.pos&&!s){let d=WR(t,n.pos,n.bias,o),f=Math.min(d.from,c.from),p=Math.max(d.to,c.to);c=f<c.from?z.range(f,p):z.range(p,f)}return s?r.replaceRange(r.main.extend(c.from,c.to)):l&&o==1&&r.ranges.length>1&&(u=z6(r,a.pos))?u:l?r.addRange(c):z.create([c])}}}function z6(t,e){for(let n=0;n<t.ranges.length;n++){let{from:o,to:r}=t.ranges[n];if(o<=e&&r>=e)return z.create(t.ranges.slice(0,n).concat(t.ranges.slice(n+1)),t.mainIndex==n?0:t.mainIndex-(t.mainIndex>n?1:0))}return null}yt.dragstart=(t,e)=>{let{selection:{main:n}}=t.state,{mouseSelection:o}=t.inputState;o&&(o.dragging=n),e.dataTransfer&&(e.dataTransfer.setData("Text",t.state.sliceDoc(n.from,n.to)),e.dataTransfer.effectAllowed="copyMove")};function QR(t,e,n,o){if(!n)return;let r=t.posAtCoords({x:e.clientX,y:e.clientY},!1);e.preventDefault();let{mouseSelection:i}=t.inputState,s=o&&i&&i.dragging&&N6(t,e)?{from:i.dragging.from,to:i.dragging.to}:null,l={from:r,insert:n},a=t.state.changes(s?[s,l]:l);t.focus(),t.dispatch({changes:a,selection:{anchor:a.mapPos(r,-1),head:a.mapPos(r,1)},userEvent:s?"move.drop":"input.drop"})}yt.drop=(t,e)=>{if(!e.dataTransfer)return;if(t.state.readOnly)return e.preventDefault();let n=e.dataTransfer.files;if(n&&n.length){e.preventDefault();let o=Array(n.length),r=0,i=()=>{++r==n.length&&QR(t,e,o.filter(s=>s!=null).join(t.state.lineBreak),!1)};for(let s=0;s<n.length;s++){let l=new FileReader;l.onerror=i,l.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(l.result)||(o[s]=l.result),i()},l.readAsText(n[s])}}else QR(t,e,e.dataTransfer.getData("Text"),!0)};yt.paste=(t,e)=>{if(t.state.readOnly)return e.preventDefault();t.observer.flush();let n=BL?null:e.clipboardData;n?(VL(t,n.getData("text/plain")||n.getData("text/uri-text")),e.preventDefault()):O6(t)};function $6(t,e){let n=t.dom.parentNode;if(!n)return;let o=n.appendChild(document.createElement("textarea"));o.style.cssText="position: fixed; left: -10000px; top: 10px",o.value=e,o.focus(),o.selectionEnd=e.length,o.selectionStart=0,setTimeout(()=>{o.remove(),t.focus()},50)}function _6(t){let e=[],n=[],o=!1;for(let r of t.selection.ranges)r.empty||(e.push(t.sliceDoc(r.from,r.to)),n.push(r));if(!e.length){let r=-1;for(let{from:i}of t.selection.ranges){let s=t.doc.lineAt(i);s.number>r&&(e.push(s.text),n.push({from:s.from,to:Math.min(t.doc.length,s.to+1)})),r=s.number}o=!0}return{text:e.join(t.lineBreak),ranges:n,linewise:o}}var iC=null;yt.copy=yt.cut=(t,e)=>{let{text:n,ranges:o,linewise:r}=_6(t.state);if(!n&&!r)return;iC=r?n:null;let i=BL?null:e.clipboardData;i?(e.preventDefault(),i.clearData(),i.setData("text/plain",n)):$6(t,n),e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:o,scrollIntoView:!0,userEvent:"delete.cut"})};var _L=Ln.define();function WL(t,e){let n=[];for(let o of t.facet(EL)){let r=o(t,e);r&&n.push(r)}return n?t.update({effects:n,annotations:_L.of(!0)}):null}function KL(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let n=WL(t.state,e);n?t.dispatch(n):t.update([])}},10)}yt.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),KL(t)};yt.blur=t=>{t.observer.clearSelectionRange(),KL(t)};yt.compositionstart=yt.compositionupdate=t=>{t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0)};yt.compositionend=t=>{t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,te.chrome&&te.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50)};yt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};yt.beforeinput=(t,e)=>{var n;let o;if(te.chrome&&te.android&&(o=OL.find(r=>r.inputType==e.inputType))&&(t.observer.delayAndroidKey(o.key,o.keyCode),o.key=="Backspace"||o.key=="Delete")){let r=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var i;(((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0)>r+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}};var JR=["pre-wrap","normal","pre-line","break-spaces"],sC=class{constructor(e){this.lineWrapping=e,this.doc=Ce.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,n){let o=this.doc.lineAt(n).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(o+=Math.max(0,Math.ceil((n-e-o*this.lineLength*.5)/this.lineLength))),this.lineHeight*o}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return JR.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let n=!1;for(let o=0;o<e.length;o++){let r=e[o];r<0?o++:this.heightSamples[Math.floor(r*10)]||(n=!0,this.heightSamples[Math.floor(r*10)]=!0)}return n}refresh(e,n,o,r,i,s){let l=JR.indexOf(e)>-1,a=Math.round(n)!=Math.round(this.lineHeight)||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=n,this.charWidth=o,this.textHeight=r,this.lineLength=i,a){this.heightSamples={};for(let u=0;u<s.length;u++){let c=s[u];c<0?u++:this.heightSamples[Math.floor(c*10)]=!0}}return a}},lC=class{constructor(e,n){this.from=e,this.heights=n,this.index=0}get more(){return this.index<this.heights.length}},Co=class{constructor(e,n,o,r,i){this.from=e,this.length=n,this.top=o,this.height=r,this._content=i}get type(){return typeof this._content=="number"?mt.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof yr?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let n=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Co(this.from,this.length+e.length,this.top,this.height+e.height,n)}},Ue=function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t}(Ue||(Ue={})),Wh=.001,zt=class{constructor(e,n,o=2){this.length=e,this.height=n,this.flags=o}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e,n){this.height!=n&&(Math.abs(this.height-n)>Wh&&(e.heightChanged=!0),this.height=n)}replace(e,n,o){return zt.of(o)}decomposeLeft(e,n){n.push(this)}decomposeRight(e,n){n.push(this)}applyChanges(e,n,o,r){let i=this,s=o.doc;for(let l=r.length-1;l>=0;l--){let{fromA:a,toA:u,fromB:c,toB:d}=r[l],f=i.lineAt(a,Ue.ByPosNoHeight,o.setDoc(n),0,0),p=f.to>=u?f:i.lineAt(u,Ue.ByPosNoHeight,o,0,0);for(d+=p.to-u,u=p.to;l>0&&f.from<=r[l-1].toA;)a=r[l-1].fromA,c=r[l-1].fromB,l--,a<f.from&&(f=i.lineAt(a,Ue.ByPosNoHeight,o,0,0));c+=f.from-a,a=f.from;let g=lf.build(o.setDoc(s),e,c,d);i=i.replace(a,u,g)}return i.updateHeight(o,0)}static empty(){return new mn(0,0)}static of(e){if(e.length==1)return e[0];let n=0,o=e.length,r=0,i=0;for(;;)if(n==o)if(r>i*2){let l=e[n-1];l.break?e.splice(--n,1,l.left,null,l.right):e.splice(--n,1,l.left,l.right),o+=1+l.break,r-=l.size}else if(i>r*2){let l=e[o];l.break?e.splice(o,1,l.left,null,l.right):e.splice(o,1,l.left,l.right),o+=2+l.break,i-=l.size}else break;else if(r<i){let l=e[n++];l&&(r+=l.size)}else{let l=e[--o];l&&(i+=l.size)}let s=0;return e[n-1]==null?(s=1,n--):e[n]==null&&(s=1,o++),new aC(zt.of(e.slice(0,n)),s,zt.of(e.slice(o)))}};zt.prototype.size=1;var tg=class extends zt{constructor(e,n,o){super(e,n),this.deco=o}blockAt(e,n,o,r){return new Co(r,this.length,o,this.height,this.deco||0)}lineAt(e,n,o,r,i){return this.blockAt(0,o,r,i)}forEachLine(e,n,o,r,i,s){e<=i+this.length&&n>=i&&s(this.blockAt(0,o,r,i))}updateHeight(e,n=0,o=!1,r){return r&&r.from<=n&&r.more&&this.setHeight(e,r.heights[r.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},mn=class extends tg{constructor(e,n){super(e,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,n,o,r){return new Co(r,this.length,o,this.height,this.breaks)}replace(e,n,o){let r=o[0];return o.length==1&&(r instanceof mn||r instanceof It&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof It?r=new mn(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):zt.of(o)}updateHeight(e,n=0,o=!1,r){return r&&r.from<=n&&r.more?this.setHeight(e,r.heights[r.index++]):(o||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},It=class extends zt{constructor(e){super(e,0)}heightMetrics(e,n){let o=e.doc.lineAt(n).number,r=e.doc.lineAt(n+this.length).number,i=r-o+1,s,l=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*i);s=a/i,this.length>i+1&&(l=(this.height-a)/(this.length-i-1))}else s=this.height/i;return{firstLine:o,lastLine:r,perLine:s,perChar:l}}blockAt(e,n,o,r){let{firstLine:i,lastLine:s,perLine:l,perChar:a}=this.heightMetrics(n,r);if(n.lineWrapping){let u=r+Math.round(Math.max(0,Math.min(1,(e-o)/this.height))*this.length),c=n.doc.lineAt(u),d=l+c.length*a,f=Math.max(o,e-d/2);return new Co(c.from,c.length,f,d,0)}else{let u=Math.max(0,Math.min(s-i,Math.floor((e-o)/l))),{from:c,length:d}=n.doc.line(i+u);return new Co(c,d,o+l*u,l,0)}}lineAt(e,n,o,r,i){if(n==Ue.ByHeight)return this.blockAt(e,o,r,i);if(n==Ue.ByPosNoHeight){let{from:p,to:g}=o.doc.lineAt(e);return new Co(p,g-p,0,0,0)}let{firstLine:s,perLine:l,perChar:a}=this.heightMetrics(o,i),u=o.doc.lineAt(e),c=l+u.length*a,d=u.number-s,f=r+l*d+a*(u.from-i-d);return new Co(u.from,u.length,Math.max(r,Math.min(f,r+this.height-c)),c,0)}forEachLine(e,n,o,r,i,s){e=Math.max(e,i),n=Math.min(n,i+this.length);let{firstLine:l,perLine:a,perChar:u}=this.heightMetrics(o,i);for(let c=e,d=r;c<=n;){let f=o.doc.lineAt(c);if(c==e){let g=f.number-l;d+=a*g+u*(e-i-g)}let p=a+u*f.length;s(new Co(f.from,f.length,d,p,0)),d+=p,c=f.to+1}}replace(e,n,o){let r=this.length-n;if(r>0){let i=o[o.length-1];i instanceof It?o[o.length-1]=new It(i.length+r):o.push(null,new It(r-1))}if(e>0){let i=o[0];i instanceof It?o[0]=new It(e+i.length):o.unshift(new It(e-1),null)}return zt.of(o)}decomposeLeft(e,n){n.push(new It(e-1),null)}decomposeRight(e,n){n.push(null,new It(this.length-e-1))}updateHeight(e,n=0,o=!1,r){let i=n+this.length;if(r&&r.from<=n+this.length&&r.more){let s=[],l=Math.max(n,r.from),a=-1;for(r.from>n&&s.push(new It(r.from-n-1).updateHeight(e,n));l<=i&&r.more;){let c=e.doc.lineAt(l).length;s.length&&s.push(null);let d=r.heights[r.index++];a==-1?a=d:Math.abs(d-a)>=Wh&&(a=-2);let f=new mn(c,d);f.outdated=!1,s.push(f),l+=c+1}l<=i&&s.push(null,new It(i-l).updateHeight(e,l));let u=zt.of(s);return(a<0||Math.abs(u.height-this.height)>=Wh||Math.abs(a-this.heightMetrics(e,n).perLine)>=Wh)&&(e.heightChanged=!0),u}else(o||this.outdated)&&(this.setHeight(e,e.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},aC=class extends zt{constructor(e,n,o){super(e.length+n+o.length,e.height+o.height,n|(e.outdated||o.outdated?2:0)),this.left=e,this.right=o,this.size=e.size+o.size}get break(){return this.flags&1}blockAt(e,n,o,r){let i=o+this.left.height;return e<i?this.left.blockAt(e,n,o,r):this.right.blockAt(e,n,i,r+this.left.length+this.break)}lineAt(e,n,o,r,i){let s=r+this.left.height,l=i+this.left.length+this.break,a=n==Ue.ByHeight?e<s:e<l,u=a?this.left.lineAt(e,n,o,r,i):this.right.lineAt(e,n,o,s,l);if(this.break||(a?u.to<l:u.from>l))return u;let c=n==Ue.ByPosNoHeight?Ue.ByPosNoHeight:Ue.ByPos;return a?u.join(this.right.lineAt(l,c,o,s,l)):this.left.lineAt(l,c,o,r,i).join(u)}forEachLine(e,n,o,r,i,s){let l=r+this.left.height,a=i+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,n,o,r,i,s),n>=a&&this.right.forEachLine(e,n,o,l,a,s);else{let u=this.lineAt(a,Ue.ByPos,o,r,i);e<u.from&&this.left.forEachLine(e,u.from-1,o,r,i,s),u.to>=e&&u.from<=n&&s(u),n>u.to&&this.right.forEachLine(u.to+1,n,o,l,a,s)}}replace(e,n,o){let r=this.left.length+this.break;if(n<r)return this.balanced(this.left.replace(e,n,o),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,n-r,o));let i=[];e>0&&this.decomposeLeft(e,i);let s=i.length;for(let l of o)i.push(l);if(e>0&&XR(i,s-1),n<this.length){let l=i.length;this.decomposeRight(n,i),XR(i,l)}return zt.of(i)}decomposeLeft(e,n){let o=this.left.length;if(e<=o)return this.left.decomposeLeft(e,n);n.push(this.left),this.break&&(o++,e>=o&&n.push(null)),e>o&&this.right.decomposeLeft(e-o,n)}decomposeRight(e,n){let o=this.left.length,r=o+this.break;if(e>=r)return this.right.decomposeRight(e-r,n);e<o&&this.left.decomposeRight(e,n),this.break&&e<r&&n.push(null),n.push(this.right)}balanced(e,n){return e.size>2*n.size||n.size>2*e.size?zt.of(this.break?[e,null,n]:[e,n]):(this.left=e,this.right=n,this.height=e.height+n.height,this.outdated=e.outdated||n.outdated,this.size=e.size+n.size,this.length=e.length+this.break+n.length,this)}updateHeight(e,n=0,o=!1,r){let{left:i,right:s}=this,l=n+i.length+this.break,a=null;return r&&r.from<=n+i.length&&r.more?a=i=i.updateHeight(e,n,o,r):i.updateHeight(e,n,o),r&&r.from<=l+s.length&&r.more?a=s=s.updateHeight(e,l,o,r):s.updateHeight(e,l,o),a?this.balanced(i,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function XR(t,e){let n,o;t[e]==null&&(n=t[e-1])instanceof It&&(o=t[e+1])instanceof It&&t.splice(e-1,3,new It(n.length+1+o.length))}var W6=5,lf=class{constructor(e,n){this.pos=e,this.oracle=n,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,n){if(this.lineStart>-1){let o=Math.min(n,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof mn?r.length+=o-this.pos:(o>this.pos||!this.isCovered)&&this.nodes.push(new mn(o-this.pos,-1)),this.writtenTo=o,n>o&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(e,n,o){if(e<n||o.heightRelevant){let r=o.widget?o.widget.estimatedHeight:0,i=o.widget?o.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let s=n-e;o.block?this.addBlock(new tg(s,r,o)):(s||i||r>=W6)&&this.addLineDeco(r,i,s)}else n>e&&this.span(e,n);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=n,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new mn(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,n){let o=new It(n-e);return this.oracle.doc.lineAt(e).to==n&&(o.flags|=4),o}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof mn)return e;let n=new mn(0,-1);return this.nodes.push(n),n}addBlock(e){var n;this.enterLine();let o=(n=e.deco)===null||n===void 0?void 0:n.type;o==mt.WidgetAfter&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,o!=mt.WidgetBefore&&(this.covering=e)}addLineDeco(e,n,o){let r=this.ensureLine();r.length+=o,r.collapsed+=o,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=n,this.writtenTo=this.pos=this.pos+o}finish(e){let n=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(n instanceof mn)&&!this.isCovered?this.nodes.push(new mn(0,-1)):(this.writtenTo<this.pos||n==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let o=e;for(let r of this.nodes)r instanceof mn&&r.updateHeight(this.oracle,o),o+=r?r.length:1;return this.nodes}static build(e,n,o,r){let i=new lf(o,e);return Fe.spans(n,o,r,i,0),i.finish(o)}};function K6(t,e,n){let o=new uC;return Fe.compare(t,e,n,o,0),o.changes}var uC=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,n,o,r){(e<n||o&&o.heightRelevant||r&&r.heightRelevant)&&Q0(e,n,this.changes,5)}};function U6(t,e){let n=t.getBoundingClientRect(),o=t.ownerDocument,r=o.defaultView||window,i=Math.max(0,n.left),s=Math.min(r.innerWidth,n.right),l=Math.max(0,n.top),a=Math.min(r.innerHeight,n.bottom);for(let u=t.parentNode;u&&u!=o.body;)if(u.nodeType==1){let c=u,d=window.getComputedStyle(c);if((c.scrollHeight>c.clientHeight||c.scrollWidth>c.clientWidth)&&d.overflow!="visible"){let f=c.getBoundingClientRect();i=Math.max(i,f.left),s=Math.min(s,f.right),l=Math.max(l,f.top),a=u==t.parentNode?f.bottom:Math.min(a,f.bottom)}u=d.position=="absolute"||d.position=="fixed"?c.offsetParent:c.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:i-n.left,right:Math.max(i,s)-n.left,top:l-(n.top+e),bottom:Math.max(l,a)-(n.top+e)}}function G6(t,e){let n=t.getBoundingClientRect();return{left:0,right:n.right-n.left,top:e,bottom:n.bottom-(n.top+e)}}var of=class{constructor(e,n,o){this.from=e,this.to=n,this.size=o}static same(e,n){if(e.length!=n.length)return!1;for(let o=0;o<e.length;o++){let r=e[o],i=n[o];if(r.from!=i.from||r.to!=i.to||r.size!=i.size)return!1}return!0}draw(e){return Pt.replace({widget:new cC(this.size,e)}).range(this.from,this.to)}},cC=class extends oi{constructor(e,n){super(),this.size=e,this.vertical=n}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},ng=class{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!0,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=YR,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Ze.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let n=e.facet(kC).some(o=>typeof o!="function"&&o.class=="cm-lineWrapping");this.heightOracle=new sC(n),this.stateDeco=e.facet(sf).filter(o=>typeof o!="function"),this.heightMap=zt.empty().applyChanges(this.stateDeco,Ce.empty,this.heightOracle.setDoc(e.doc),[new An(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Pt.set(this.lineGaps.map(o=>o.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:n}=this.state.selection;for(let o=0;o<=1;o++){let r=o?n.head:n.anchor;if(!e.some(({from:i,to:s})=>r>=i&&r<=s)){let{from:i,to:s}=this.lineBlockAt(r);e.push(new vu(i,s))}}this.viewports=e.sort((o,r)=>o.from-r.from),this.scaler=this.heightMap.height<=7e6?YR:new dC(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(this.scaler.scale==1?e:tf(e,this.scaler))})}update(e,n=null){this.state=e.state;let o=this.stateDeco;this.stateDeco=this.state.facet(sf).filter(c=>typeof c!="function");let r=e.changedRanges,i=An.extendWithRanges(r,K6(o,this.stateDeco,e?e.changes:Je.empty(this.state.doc.length))),s=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),i),this.heightMap.height!=s&&(e.flags|=2),l?(this.scrollAnchorPos=e.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let a=i.length?this.mapViewport(this.viewport,e.changes):this.viewport;(n&&(n.range.head<a.from||n.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,n));let u=!e.changes.empty||e.flags&2||a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,this.updateForViewport(),u&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>2e3<<1)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),n&&(this.scrollTarget=n),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(kL)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let n=e.contentDOM,o=window.getComputedStyle(n),r=this.heightOracle,i=o.whiteSpace;this.defaultTextDirection=o.direction=="rtl"?Ze.RTL:Ze.LTR;let s=this.heightOracle.mustRefreshForWrapping(i),l=n.getBoundingClientRect(),a=s||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let u=0,c=0,d=parseInt(o.paddingTop)||0,f=parseInt(o.paddingBottom)||0;(this.paddingTop!=d||this.paddingBottom!=f)&&(this.paddingTop=d,this.paddingBottom=f,u|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,u|=8),this.scrollTop!=e.scrollDOM.scrollTop&&(this.scrollAnchorHeight=-1,this.scrollTop=e.scrollDOM.scrollTop),this.scrolledToBottom=cL(e.scrollDOM);let p=(this.printing?G6:U6)(n,this.paddingTop),g=p.top-this.pixelViewport.top,y=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let m=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(m!=this.inView&&(this.inView=m,m&&(a=!0)),!this.inView&&!this.scrollTarget)return 0;let h=l.width;if((this.contentDOMWidth!=h||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=e.scrollDOM.clientHeight,u|=8),a){let x=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(x)&&(s=!0),s||r.lineWrapping&&Math.abs(h-this.contentDOMWidth)>r.charWidth){let{lineHeight:b,charWidth:S,textHeight:C}=e.docView.measureTextSize();s=b>0&&r.refresh(i,b,S,C,h/S,x),s&&(e.docView.minWidth=0,u|=8)}g>0&&y>0?c=Math.max(g,y):g<0&&y<0&&(c=Math.min(g,y)),r.heightChanged=!1;for(let b of this.viewports){let S=b.from==this.viewport.from?x:e.docView.measureVisibleLineHeights(b);this.heightMap=(s?zt.empty().applyChanges(this.stateDeco,Ce.empty,this.heightOracle,[new An(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,s,new lC(b.from,S))}r.heightChanged&&(u|=2)}let v=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return v&&(this.viewport=this.getViewport(c,this.scrollTarget)),this.updateForViewport(),(u&2||v)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>2e3<<1)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,n){let o=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,i=this.heightOracle,{visibleTop:s,visibleBottom:l}=this,a=new vu(r.lineAt(s-o*1e3,Ue.ByHeight,i,0,0).from,r.lineAt(l+(1-o)*1e3,Ue.ByHeight,i,0,0).to);if(n){let{head:u}=n.range;if(u<a.from||u>a.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),d=r.lineAt(u,Ue.ByPos,i,0,0),f;n.y=="center"?f=(d.top+d.bottom)/2-c/2:n.y=="start"||n.y=="nearest"&&u<a.from?f=d.top:f=d.bottom-c,a=new vu(r.lineAt(f-1e3/2,Ue.ByHeight,i,0,0).from,r.lineAt(f+c+1e3/2,Ue.ByHeight,i,0,0).to)}}return a}mapViewport(e,n){let o=n.mapPos(e.from,-1),r=n.mapPos(e.to,1);return new vu(this.heightMap.lineAt(o,Ue.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,Ue.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:n},o=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,Ue.ByPos,this.heightOracle,0,0),{bottom:i}=this.heightMap.lineAt(n,Ue.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:l}=this;return(e==0||r<=s-Math.max(10,Math.min(-o,250)))&&(n==this.state.doc.length||i>=l+Math.max(10,Math.min(o,250)))&&r>s-2*1e3&&i<l+2*1e3}mapLineGaps(e,n){if(!e.length||n.empty)return e;let o=[];for(let r of e)n.touchesRange(r.from,r.to)||o.push(new of(n.mapPos(r.from),n.mapPos(r.to),r.size));return o}ensureLineGaps(e,n){let o=this.heightOracle.lineWrapping,r=o?1e4:2e3,i=r>>1,s=r<<1;if(this.defaultTextDirection!=Ze.LTR&&!o)return[];let l=[],a=(u,c,d,f)=>{if(c-u<i)return;let p=this.state.selection.main,g=[p.from];p.empty||g.push(p.to);for(let m of g)if(m>u&&m<c){a(u,m-10,d,f),a(m+10,c,d,f);return}let y=q6(e,m=>m.from>=d.from&&m.to<=d.to&&Math.abs(m.from-u)<i&&Math.abs(m.to-c)<i&&!g.some(h=>m.from<h&&m.to>h));if(!y){if(c<d.to&&n&&o&&n.visibleRanges.some(m=>m.from<=c&&m.to>=c)){let m=n.moveToLineBoundary(z.cursor(c),!1,!0).head;m>u&&(c=m)}y=new of(u,c,this.gapSize(d,u,c,f))}l.push(y)};for(let u of this.viewportLines){if(u.length<s)continue;let c=j6(u.from,u.to,this.stateDeco);if(c.total<s)continue;let d=this.scrollTarget?this.scrollTarget.range.head:null,f,p;if(o){let g=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,y,m;if(d!=null){let h=Fh(c,d),v=((this.visibleBottom-this.visibleTop)/2+g)/u.height;y=h-v,m=h+v}else y=(this.visibleTop-u.top-g)/u.height,m=(this.visibleBottom-u.top+g)/u.height;f=Oh(c,y),p=Oh(c,m)}else{let g=c.total*this.heightOracle.charWidth,y=r*this.heightOracle.charWidth,m,h;if(d!=null){let v=Fh(c,d),x=((this.pixelViewport.right-this.pixelViewport.left)/2+y)/g;m=v-x,h=v+x}else m=(this.pixelViewport.left-y)/g,h=(this.pixelViewport.right+y)/g;f=Oh(c,m),p=Oh(c,h)}f>u.from&&a(u.from,f,u,c),p<u.to&&a(p,u.to,u,c)}return l}gapSize(e,n,o,r){let i=Fh(r,o)-Fh(r,n);return this.heightOracle.lineWrapping?e.height*i:r.total*this.heightOracle.charWidth*i}updateLineGaps(e){of.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=Pt.set(e.map(n=>n.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let n=[];Fe.spans(e,this.viewport.from,this.viewport.to,{span(r,i){n.push({from:r,to:i})},point(){}},20);let o=n.length!=this.visibleRanges.length||this.visibleRanges.some((r,i)=>r.from!=n[i].from||r.to!=n[i].to);return this.visibleRanges=n,o?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(n=>n.from<=e&&n.to>=e)||tf(this.heightMap.lineAt(e,Ue.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return tf(this.heightMap.lineAt(this.scaler.fromDOM(e),Ue.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let n=this.lineBlockAtHeight(e+8);return n.from>=this.viewport.from||this.viewportLines[0].top-e>200?n:this.viewportLines[0]}elementAtHeight(e){return tf(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},vu=class{constructor(e,n){this.from=e,this.to=n}};function j6(t,e,n){let o=[],r=t,i=0;return Fe.spans(n,t,e,{span(){},point(s,l){s>r&&(o.push({from:r,to:s}),i+=s-r),r=l}},20),r<e&&(o.push({from:r,to:e}),i+=e-r),{total:i,ranges:o}}function Oh({total:t,ranges:e},n){if(n<=0)return e[0].from;if(n>=1)return e[e.length-1].to;let o=Math.floor(t*n);for(let r=0;;r++){let{from:i,to:s}=e[r],l=s-i;if(o<=l)return i+o;o-=l}}function Fh(t,e){let n=0;for(let{from:o,to:r}of t.ranges){if(e<=r){n+=e-o;break}n+=r-o}return n/t.total}function q6(t,e){for(let n of t)if(e(n))return n}var YR={toDOM(t){return t},fromDOM(t){return t},scale:1},dC=class{constructor(e,n,o){let r=0,i=0,s=0;this.viewports=o.map(({from:l,to:a})=>{let u=n.lineAt(l,Ue.ByPos,e,0,0).top,c=n.lineAt(a,Ue.ByPos,e,0,0).bottom;return r+=c-u,{from:l,to:a,top:u,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(n.height-r);for(let l of this.viewports)l.domTop=s+(l.top-i)*this.scale,s=l.domBottom=l.domTop+(l.bottom-l.top),i=l.bottom}toDOM(e){for(let n=0,o=0,r=0;;n++){let i=n<this.viewports.length?this.viewports[n]:null;if(!i||e<i.top)return r+(e-o)*this.scale;if(e<=i.bottom)return i.domTop+(e-i.top);o=i.bottom,r=i.domBottom}}fromDOM(e){for(let n=0,o=0,r=0;;n++){let i=n<this.viewports.length?this.viewports[n]:null;if(!i||e<i.domTop)return o+(e-r)/this.scale;if(e<=i.domBottom)return i.top+(e-i.domTop);o=i.bottom,r=i.domBottom}}};function tf(t,e){if(e.scale==1)return t;let n=e.toDOM(t.top),o=e.toDOM(t.bottom);return new Co(t.from,t.length,n,o-n,Array.isArray(t._content)?t._content.map(r=>tf(r,e)):t._content)}var Bh=le.define({combine:t=>t.join(" ")}),fC=le.define({combine:t=>t.indexOf(!0)>-1}),pC=xo.newName(),UL=xo.newName(),GL=xo.newName(),jL={"&light":"."+UL,"&dark":"."+GL};function mC(t,e,n){return new xo(e,{finish(o){return/&/.test(o)?o.replace(/&\w*/,r=>{if(r=="&")return t;if(!n||!n[r])throw new RangeError(`Unsupported selector: ${r}`);return n[r]}):t+" "+o}})}var Q6=mC("."+pC,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},jL),hC=class{constructor(e,n,o,r){this.typeOver=r,this.bounds=null,this.text="";let{impreciseHead:i,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=e.docView.domBoundsAround(n,o,0))){let l=i||s?[]:X6(e),a=new Jh(l,e.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=Y6(l,this.bounds.from)}else{let l=e.observer.selectionRange,a=i&&i.node==l.focusNode&&i.offset==l.focusOffset||!_0(e.contentDOM,l.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),u=s&&s.node==l.anchorNode&&s.offset==l.anchorOffset||!_0(e.contentDOM,l.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset);this.newSel=z.single(u,a)}}};function qL(t,e){let n,{newSel:o}=e,r=t.state.selection.main,i=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:l}=e.bounds,a=r.from,u=null;(i===8||te.android&&e.text.length<l-s)&&(a=r.to,u="end");let c=J6(t.state.doc.sliceString(s,l,bu),e.text,a-s,u);c&&(te.chrome&&i==13&&c.toB==c.from+2&&e.text.slice(c.from,c.toB)==bu+bu&&c.toB--,n={from:s+c.from,to:s+c.toA,insert:Ce.of(e.text.slice(c.from,c.toB).split(bu))})}else o&&(!t.hasFocus&&t.state.facet(rg)||o.main.eq(r))&&(o=null);if(!n&&!o)return!1;if(!n&&e.typeOver&&!r.empty&&o&&o.main.empty?n={from:r.from,to:r.to,insert:t.state.doc.slice(r.from,r.to)}:n&&n.from>=r.from&&n.to<=r.to&&(n.from!=r.from||n.to!=r.to)&&r.to-r.from-(n.to-n.from)<=4?n={from:r.from,to:r.to,insert:t.state.doc.slice(r.from,n.from).append(n.insert).append(t.state.doc.slice(n.to,r.to))}:(te.mac||te.android)&&n&&n.from==n.to&&n.from==r.head-1&&/^\. ?$/.test(n.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(o&&n.insert.length==2&&(o=z.single(o.main.anchor-1,o.main.head-1)),n={from:r.from,to:r.to,insert:Ce.of([" "])}):te.chrome&&n&&n.from==n.to&&n.from==r.head&&n.insert.toString()==`
854
854
  `&&t.lineWrapping&&(o&&(o=z.single(o.main.anchor-1,o.main.head-1)),n={from:r.from,to:r.to,insert:Ce.of([" "])}),n){let s=t.state;if(te.ios&&t.inputState.flushIOSKey(t)||te.android&&(n.from==r.from&&n.to==r.to&&n.insert.length==1&&n.insert.lines==2&&xu(t.contentDOM,"Enter",13)||(n.from==r.from-1&&n.to==r.to&&n.insert.length==0||i==8&&n.insert.length<n.to-n.from)&&xu(t.contentDOM,"Backspace",8)||n.from==r.from&&n.to==r.to+1&&n.insert.length==0&&xu(t.contentDOM,"Delete",46)))return!0;let l=n.insert.toString();if(t.state.facet(SL).some(c=>c(t,n.from,n.to,l)))return!0;t.inputState.composing>=0&&t.inputState.composing++;let a;if(n.from>=r.from&&n.to<=r.to&&n.to-n.from>=(r.to-r.from)/3&&(!o||o.main.empty&&o.main.from==n.from+n.insert.length)&&t.inputState.composing<0){let c=r.from<n.from?s.sliceDoc(r.from,n.from):"",d=r.to>n.to?s.sliceDoc(n.to,r.to):"";a=s.replaceSelection(t.state.toText(c+n.insert.sliceString(0,void 0,t.state.lineBreak)+d))}else{let c=s.changes(n),d=o&&o.main.to<=c.newLength?o.main:void 0;if(s.selection.ranges.length>1&&t.inputState.composing>=0&&n.to<=r.to&&n.to>=r.to-10){let f=t.state.sliceDoc(n.from,n.to),p=AL(t)||t.state.doc.lineAt(r.head),g=r.to-n.to,y=r.to-r.from;a=s.changeByRange(m=>{if(m.from==r.from&&m.to==r.to)return{changes:c,range:d||m.map(c)};let h=m.to-g,v=h-f.length;if(m.to-m.from!=y||t.state.sliceDoc(v,h)!=f||p&&m.to>=p.from&&m.from<=p.to)return{range:m};let x=s.changes({from:v,to:h,insert:n.insert}),b=m.to-r.to;return{changes:x,range:d?z.range(Math.max(0,d.anchor+b),Math.max(0,d.head+b)):m.map(x)}})}else a={changes:c,selection:d&&s.selection.replaceRange(d)}}let u="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,u+=".compose",t.inputState.compositionFirstChange&&(u+=".start",t.inputState.compositionFirstChange=!1)),t.dispatch(a,{scrollIntoView:!0,userEvent:u}),!0}else if(o&&!o.main.eq(r)){let s=!1,l="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(s=!0),l=t.inputState.lastSelectionOrigin),t.dispatch({selection:o,scrollIntoView:s,userEvent:l}),!0}else return!1}function J6(t,e,n,o){let r=Math.min(t.length,e.length),i=0;for(;i<r&&t.charCodeAt(i)==e.charCodeAt(i);)i++;if(i==r&&t.length==e.length)return null;let s=t.length,l=e.length;for(;s>0&&l>0&&t.charCodeAt(s-1)==e.charCodeAt(l-1);)s--,l--;if(o=="end"){let a=Math.max(0,i-Math.min(s,l));n-=s+a-i}if(s<i&&t.length<e.length){let a=n<=i&&n>=s?i-n:0;i-=a,l=i+(l-s),s=i}else if(l<i){let a=n<=i&&n>=l?i-n:0;i-=a,s=i+(s-l),l=i}return{from:i,toA:s,toB:l}}function X6(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:n,anchorOffset:o,focusNode:r,focusOffset:i}=t.observer.selectionRange;return n&&(e.push(new Xh(n,o)),(r!=n||i!=o)&&e.push(new Xh(r,i))),e}function Y6(t,e){if(t.length==0)return null;let n=t[0].pos,o=t.length==2?t[1].pos:n;return n>-1&&o>-1?z.single(n+e,o+e):null}var Z6={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},V0=te.ie&&te.ie_version<=11,gC=class{constructor(e){this.view=e,this.active=!1,this.selectionRange=new W0,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(n=>{for(let o of n)this.queue.push(o);(te.ie&&te.ie_version<=11||te.ios&&e.composing)&&n.some(o=>o.type=="childList"&&o.removedNodes.length||o.type=="characterData"&&o.oldValue.length>o.target.nodeValue.length)?this.flushSoon():this.flush()}),V0&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var n;((n=this.view.docView)===null||n===void 0?void 0:n.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM),this.resizeContent=new ResizeObserver(()=>this.view.requestMeasure()),this.resizeContent.observe(e.contentDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(n=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),n.length>0&&n[n.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(n=>{n.length>0&&n[n.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runScrollHandlers(this.view,e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500)}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((n,o)=>n!=e[o]))){this.gapIntersection.disconnect();for(let n of e)this.gapIntersection.observe(n);this.gaps=e}}onSelectionChange(e){let n=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:o}=this,r=this.selectionRange;if(o.state.facet(rg)?o.root.activeElement!=this.dom:!$h(o.dom,r))return;let i=r.anchorNode&&o.docView.nearest(r.anchorNode);if(i&&i.ignoreEvent(e)){n||(this.selectionChanged=!1);return}(te.ie&&te.ie_version<=11||te.android&&te.chrome)&&!o.state.selection.main.empty&&r.focusNode&&jh(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,n=te.safari&&e.root.nodeType==11&&Z9(this.dom.ownerDocument)==this.dom&&e7(this.view)||Gh(e.root);if(!n||this.selectionRange.eq(n))return!1;let o=$h(this.dom,n);return o&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&r6(this.dom,n)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(n),o&&(this.selectionChanged=!0),!0)}setSelectionRange(e,n){this.selectionRange.set(e.node,e.offset,n.node,n.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,n=null;for(let o=this.dom;o;)if(o.nodeType==1)!n&&e<this.scrollTargets.length&&this.scrollTargets[e]==o?e++:n||(n=this.scrollTargets.slice(0,e)),n&&n.push(o),o=o.assignedSlot||o.parentNode;else if(o.nodeType==11)o=o.host;else break;if(e<this.scrollTargets.length&&!n&&(n=this.scrollTargets.slice(0,e)),n){for(let o of this.scrollTargets)o.removeEventListener("scroll",this.onScroll);for(let o of this.scrollTargets=n)o.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,Z6),V0&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),V0&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,n){var o;if(!this.delayedAndroidKey){let r=()=>{let i=this.delayedAndroidKey;i&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=i.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&i.force&&xu(this.dom,i.key,i.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:n,force:this.lastChange<Date.now()-50||!!(!((o=this.delayedAndroidKey)===null||o===void 0)&&o.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let n=-1,o=-1,r=!1;for(let i of e){let s=this.readMutation(i);s&&(s.typeOver&&(r=!0),n==-1?{from:n,to:o}=s:(n=Math.min(s.from,n),o=Math.max(s.to,o)))}return{from:n,to:o,typeOver:r}}readChange(){let{from:e,to:n,typeOver:o}=this.processRecords(),r=this.selectionChanged&&$h(this.dom,this.selectionRange);return e<0&&!r?null:(e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new hC(this.view,e,n,o))}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let n=this.readChange();if(!n)return!1;let o=this.view.state,r=qL(this.view,n);return this.view.state==o&&this.view.update([]),r}readMutation(e){let n=this.view.docView.nearest(e.target);if(!n||n.ignoreMutation(e))return null;if(n.markDirty(e.type=="attributes"),e.type=="attributes"&&(n.flags|=4),e.type=="childList"){let o=ZR(n,e.previousSibling||e.target.previousSibling,-1),r=ZR(n,e.nextSibling||e.target.nextSibling,1);return{from:o?n.posAfter(o):n.posAtStart,to:r?n.posBefore(r):n.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,n,o,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(n=this.gapIntersection)===null||n===void 0||n.disconnect(),(o=this.resizeScroll)===null||o===void 0||o.disconnect(),(r=this.resizeContent)===null||r===void 0||r.disconnect();for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}};function ZR(t,e,n){for(;e;){let o=He.get(e);if(o&&o.parent==t)return o;let r=e.parentNode;e=r!=t.dom?r:n>0?e.nextSibling:e.previousSibling}return null}function e7(t){let e=null;function n(a){a.preventDefault(),a.stopImmediatePropagation(),e=a.getTargetRanges()[0]}if(t.contentDOM.addEventListener("beforeinput",n,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",n,!0),!e)return null;let o=e.startContainer,r=e.startOffset,i=e.endContainer,s=e.endOffset,l=t.docView.domAtPos(t.state.selection.main.anchor);return jh(l.node,l.offset,i,s)&&([o,r,i,s]=[i,s,o,r]),{anchorNode:o,anchorOffset:r,focusNode:i,focusOffset:s}}var ae=class{constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=e.dispatch||(n=>this.update([n])),this.dispatch=this.dispatch.bind(this),this._root=e.root||o6(e.parent)||document,this.viewState=new ng(e.state||ye.create(e)),this.plugins=this.state.facet(Zd).map(n=>new nf(n));for(let n of this.plugins)n.update(this);this.observer=new gC(this),this.inputState=new nC(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new Zh(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}dispatch(...e){let n=e.length==1&&e[0]instanceof Xe?e[0]:this.state.update(...e);this._dispatch(n,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let n=!1,o=!1,r,i=this.state;for(let f of e){if(f.startState!=i)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=f.state}if(this.destroyed){this.viewState.state=i;return}let s=this.hasFocus,l=0,a=null;e.some(f=>f.annotation(_L))?(this.inputState.notifiedFocused=s,l=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,a=WL(i,s),a||(l=1));let u=this.observer.delayedAndroidKey,c=null;if(u?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(c=null)):this.observer.clear(),i.facet(ye.phrases)!=this.state.facet(ye.phrases))return this.setState(i);r=wu.create(this,i,e),r.flags|=l;let d=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(d&&(d=d.map(f.changes)),f.scrollIntoView){let{main:p}=f.state.selection;d=new Cu(p.empty?p:z.cursor(p.head,p.head>p.anchor?-1:1))}for(let p of f.effects)p.is(OR)&&(d=p.value)}this.viewState.update(r,d),this.bidiCache=Su.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),n=this.docView.update(r),this.state.facet(ef)!=this.styleModules&&this.mountStyles(),o=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(Bh)!=r.state.facet(Bh)&&(this.viewState.mustMeasureContent=!0),(n||o||d||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!r.empty)for(let f of this.state.facet(J0))f(r);(a||c)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),c&&!qL(this,c)&&u.force&&xu(this.contentDOM,u.key,u.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let n=this.hasFocus;try{for(let o of this.plugins)o.destroy(this);this.viewState=new ng(e),this.plugins=e.facet(Zd).map(o=>new nf(o)),this.pluginMap.clear();for(let o of this.plugins)o.update(this);this.docView=new Zh(this),this.inputState.ensureHandlers(this,this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}n&&this.focus(),this.requestMeasure()}updatePlugins(e){let n=e.startState.facet(Zd),o=e.state.facet(Zd);if(n!=o){let r=[];for(let i of o){let s=n.indexOf(i);if(s<0)r.push(new nf(i));else{let l=this.plugins[s];l.mustUpdate=e,r.push(l)}}for(let i of this.plugins)i.mustUpdate!=e&&i.destroy(this);this.plugins=r,this.pluginMap.clear(),this.inputState.ensureHandlers(this,this.plugins)}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this)}measure(e=!0){if(this.destroyed)return;this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,e&&this.observer.forceFlush();let n=null,o=this.scrollDOM,{scrollTop:r}=o,{scrollAnchorPos:i,scrollAnchorHeight:s}=this.viewState;r!=this.viewState.scrollTop&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(s<0)if(cL(o))i=-1,s=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(r);i=p.from,s=p.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(l>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];a&4||([this.measureRequests,u]=[u,this.measureRequests]);let c=u.map(p=>{try{return p.read(this)}catch(g){return Zn(this.state,g),eL}}),d=wu.create(this,this.state,[]),f=!1;d.flags|=a,n?n.flags|=a:n=d,this.updateState=2,d.empty||(this.updatePlugins(d),this.inputState.update(d),this.updateAttrs(),f=this.docView.update(d));for(let p=0;p<u.length;p++)if(c[p]!=eL)try{let g=u[p];g.write&&g.write(c[p],this)}catch(g){Zn(this.state,g)}if(f&&this.docView.updateSelection(!0),!d.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null;continue}else{let g=(i<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(i).top)-s;if(g>1||g<-1){r=o.scrollTop=r+g,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let l of this.state.facet(J0))l(n)}get themeClasses(){return pC+" "+(this.state.facet(fC)?GL:UL)+" "+this.state.facet(Bh)}updateAttrs(){let e=tL(this,ML,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(rg)?"true":"false",class:"cm-content",style:`${te.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),tL(this,kC,n);let o=this.observer.ignore(()=>{let r=q0(this.contentDOM,this.contentAttrs,n),i=q0(this.dom,this.editorAttrs,e);return r||i});return this.editorAttrs=e,this.contentAttrs=n,o}showAnnouncements(e){let n=!0;for(let o of e)for(let r of o.effects)if(r.is(ae.announce)){n&&(this.announceDOM.textContent=""),n=!1;let i=this.announceDOM.appendChild(document.createElement("div"));i.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(ef),xo.mount(this.root,this.styleModules.concat(Q6).reverse())}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let n=0;n<this.measureRequests.length;n++)if(this.measureRequests[n].key===e.key){this.measureRequests[n]=e;return}}this.measureRequests.push(e)}}plugin(e){let n=this.pluginMap.get(e);return(n===void 0||n&&n.spec!=e)&&this.pluginMap.set(e,n=this.plugins.find(o=>o.spec==e)||null),n&&n.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,n,o){return B0(this,e,$R(this,e,n,o))}moveByGroup(e,n){return B0(this,e,$R(this,e,n,o=>P6(this,e.head,o)))}moveToLineBoundary(e,n,o=!0){return I6(this,e,n,o)}moveVertically(e,n,o){return B0(this,e,D6(this,e,n,o))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,n=0){return this.docView.posFromDOM(e,n)}posAtCoords(e,n=!0){return this.readMeasured(),HL(this,e,n)}coordsAtPos(e,n=1){this.readMeasured();let o=this.docView.coordsAt(e,n);if(!o||o.left==o.right)return o;let r=this.state.doc.lineAt(e),i=this.bidiSpans(r),s=i[ns.find(i,e-r.from,-1,n)];return SC(o,s.dir==Ze.LTR==n>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(TL)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>t7)return RL(e.length);let n=this.textDirectionAt(e.from);for(let r of this.bidiCache)if(r.from==e.from&&r.dir==n)return r.order;let o=g6(e.text,n);return this.bidiCache.push(new Su(e.from,e.to,n,o)),o}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||te.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{aL(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,n={}){return OR.of(new Cu(typeof e=="number"?z.cursor(e):e,n.y,n.x,n.yMargin,n.xMargin))}static domEventHandlers(e){return Nn.define(()=>({}),{eventHandlers:e})}static theme(e,n){let o=xo.newName(),r=[Bh.of(o),ef.of(mC(`.${o}`,e))];return n&&n.dark&&r.push(fC.of(!0)),r}static baseTheme(e){return Zi.lowest(ef.of(mC("."+pC,e,jL)))}static findFromDOM(e){var n;let o=e.querySelector(".cm-content"),r=o&&He.get(o)||He.get(e);return((n=r==null?void 0:r.rootView)===null||n===void 0?void 0:n.view)||null}};ae.styleModule=ef;ae.inputHandler=SL;ae.focusChangeEffect=EL;ae.perLineTextDirection=TL;ae.exceptionSink=wL;ae.updateListener=J0;ae.editable=rg;ae.mouseSelectionStyle=CL;ae.dragMovesSelection=xL;ae.clickAddsSelectionRange=vL;ae.decorations=sf;ae.atomicRanges=MC;ae.scrollMargins=IL;ae.darkTheme=fC;ae.contentAttributes=kC;ae.editorAttributes=ML;ae.lineWrapping=ae.contentAttributes.of({class:"cm-lineWrapping"});ae.announce=De.define();var t7=4096,eL={},Su=class{constructor(e,n,o,r){this.from=e,this.to=n,this.dir=o,this.order=r}static update(e,n){if(n.empty)return e;let o=[],r=e.length?e[e.length-1].dir:Ze.LTR;for(let i=Math.max(0,e.length-10);i<e.length;i++){let s=e[i];s.dir==r&&!n.touchesRange(s.from,s.to)&&o.push(new Su(n.mapPos(s.from,1),n.mapPos(s.to,-1),s.dir,s.order))}return o}};function tL(t,e,n){for(let o=t.state.facet(e),r=o.length-1;r>=0;r--){let i=o[r],s=typeof i=="function"?i(t):i;s&&j0(s,n)}return n}var n7=te.mac?"mac":te.windows?"win":te.linux?"linux":"key";function o7(t,e){let n=t.split(/-(?!$)/),o=n[n.length-1];o=="Space"&&(o=" ");let r,i,s,l;for(let a=0;a<n.length-1;++a){let u=n[a];if(/^(cmd|meta|m)$/i.test(u))l=!0;else if(/^a(lt)?$/i.test(u))r=!0;else if(/^(c|ctrl|control)$/i.test(u))i=!0;else if(/^s(hift)?$/i.test(u))s=!0;else if(/^mod$/i.test(u))e=="mac"?l=!0:i=!0;else throw new Error("Unrecognized modifier name: "+u)}return r&&(o="Alt-"+o),i&&(o="Ctrl-"+o),l&&(o="Meta-"+o),s&&(o="Shift-"+o),o}function Vh(t,e,n){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),n!==!1&&e.shiftKey&&(t="Shift-"+t),t}var r7=Zi.default(ae.domEventHandlers({keydown(t,e){return a7(i7(e.state),t,e,"editor")}})),br=le.define({enables:r7}),nL=new WeakMap;function i7(t){let e=t.facet(br),n=nL.get(e);return n||nL.set(e,n=l7(e.reduce((o,r)=>o.concat(r),[]))),n}var ts=null,s7=4e3;function l7(t,e=n7){let n=Object.create(null),o=Object.create(null),r=(s,l)=>{let a=o[s];if(a==null)o[s]=l;else if(a!=l)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},i=(s,l,a,u,c)=>{var d,f;let p=n[s]||(n[s]=Object.create(null)),g=l.split(/ (?!$)/).map(h=>o7(h,e));for(let h=1;h<g.length;h++){let v=g.slice(0,h).join(" ");r(v,!0),p[v]||(p[v]={preventDefault:!0,stopPropagation:!1,run:[x=>{let b=ts={view:x,prefix:v,scope:s};return setTimeout(()=>{ts==b&&(ts=null)},s7),!0}]})}let y=g.join(" ");r(y,!1);let m=p[y]||(p[y]={preventDefault:!1,stopPropagation:!1,run:((f=(d=p._any)===null||d===void 0?void 0:d.run)===null||f===void 0?void 0:f.slice())||[]});a&&m.run.push(a),u&&(m.preventDefault=!0),c&&(m.stopPropagation=!0)};for(let s of t){let l=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let u of l){let c=n[u]||(n[u]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let d in c)c[d].run.push(s.any)}let a=s[e]||s.key;if(a)for(let u of l)i(u,a,s.run,s.preventDefault,s.stopPropagation),s.shift&&i(u,"Shift-"+a,s.shift,s.preventDefault,s.stopPropagation)}return n}function a7(t,e,n,o){let r=MR(e),i=Jt(r,0),s=vo(i)==r.length&&r!=" ",l="",a=!1,u=!1,c=!1;ts&&ts.view==n&&ts.scope==o&&(l=ts.prefix+" ",FL.indexOf(e.keyCode)<0&&(u=!0,ts=null));let d=new Set,f=m=>{if(m){for(let h of m.run)if(!d.has(h)&&(d.add(h),h(n,e)))return m.stopPropagation&&(c=!0),!0;m.preventDefault&&(m.stopPropagation&&(c=!0),u=!0)}return!1},p=t[o],g,y;return p&&(f(p[l+Vh(r,e,!s)])?a=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(te.windows&&e.ctrlKey&&e.altKey)&&(g=ei[e.keyCode])&&g!=r?(f(p[l+Vh(g,e,!0)])||e.shiftKey&&(y=gu[e.keyCode])!=r&&y!=g&&f(p[l+Vh(y,e,!1)]))&&(a=!0):s&&e.shiftKey&&f(p[l+Vh(r,e,!0)])&&(a=!0),!a&&f(p._any)&&(a=!0)),u&&(a=!0),a&&c&&e.stopPropagation(),a}var Tl=class{constructor(e,n,o,r,i){this.className=e,this.left=n,this.top=o,this.width=r,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,n){return n.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,n,o){if(o.empty){let r=e.coordsAtPos(o.head,o.assoc||1);if(!r)return[];let i=QL(e);return[new Tl(n,r.left-i.left,r.top-i.top,null,r.bottom-r.top)]}else return u7(e,n,o)}};function QL(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Ze.LTR?e.left:e.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,top:e.top-t.scrollDOM.scrollTop}}function oL(t,e,n){let o=z.cursor(e);return{from:Math.max(n.from,t.moveToLineBoundary(o,!1,!0).from),to:Math.min(n.to,t.moveToLineBoundary(o,!0,!0).from),type:mt.Text}}function u7(t,e,n){if(n.to<=t.viewport.from||n.from>=t.viewport.to)return[];let o=Math.max(n.from,t.viewport.from),r=Math.min(n.to,t.viewport.to),i=t.textDirection==Ze.LTR,s=t.contentDOM,l=s.getBoundingClientRect(),a=QL(t),u=s.querySelector(".cm-line"),c=u&&window.getComputedStyle(u),d=l.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),f=l.right-(c?parseInt(c.paddingRight):0),p=tC(t,o),g=tC(t,r),y=p.type==mt.Text?p:null,m=g.type==mt.Text?g:null;if(y&&(t.lineWrapping||p.widgetLineBreaks)&&(y=oL(t,o,y)),m&&(t.lineWrapping||g.widgetLineBreaks)&&(m=oL(t,r,m)),y&&m&&y.from==m.from)return v(x(n.from,n.to,y));{let S=y?x(n.from,null,y):b(p,!1),C=m?x(null,n.to,m):b(g,!0),w=[];return(y||p).to<(m||g).from-(y&&m?1:0)||p.widgetLineBreaks>1&&S.bottom+t.defaultLineHeight/2<C.top?w.push(h(d,S.bottom,f,C.top)):S.bottom<C.top&&t.elementAtHeight((S.bottom+C.top)/2).type==mt.Text&&(S.bottom=C.top=(S.bottom+C.top)/2),v(S).concat(w).concat(v(C))}function h(S,C,w,E){return new Tl(e,S-a.left,C-a.top-.01,w-S,E-C+.01)}function v({top:S,bottom:C,horizontal:w}){let E=[];for(let T=0;T<w.length;T+=2)E.push(h(w[T],S,w[T+1],C));return E}function x(S,C,w){let E=1e9,T=-1e9,M=[];function L(A,H,R,O,P){let N=t.coordsAtPos(A,A==w.to?-2:2),D=t.coordsAtPos(R,R==w.from?2:-2);!N||!D||(E=Math.min(N.top,D.top,E),T=Math.max(N.bottom,D.bottom,T),P==Ze.LTR?M.push(i&&H?d:N.left,i&&O?f:D.right):M.push(!i&&O?d:D.left,!i&&H?f:N.right))}let k=S!=null?S:w.from,I=C!=null?C:w.to;for(let A of t.visibleRanges)if(A.to>k&&A.from<I)for(let H=Math.max(A.from,k),R=Math.min(A.to,I);;){let O=t.state.doc.lineAt(H);for(let P of t.bidiSpans(O)){let N=P.from+O.from,D=P.to+O.from;if(N>=R)break;D>H&&L(Math.max(N,H),S==null&&N<=k,Math.min(D,R),C==null&&D>=I,P.dir)}if(H=O.to+1,H>=R)break}return M.length==0&&L(k,S==null,I,C==null,t.textDirection),{top:E,bottom:T,horizontal:M}}function b(S,C){let w=l.top+(C?S.top:S.bottom);return{top:w,bottom:w,horizontal:[]}}}function c7(t,e){return t.constructor==e.constructor&&t.eq(e)}var yC=class{constructor(e,n){this.view=e,this.layer=n,this.drawn=[],this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),n.above&&this.dom.classList.add("cm-layer-above"),n.class&&this.dom.classList.add(n.class),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),n.mount&&n.mount(this.dom,e)}update(e){e.startState.facet(Kh)!=e.state.facet(Kh)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}setOrder(e){let n=0,o=e.facet(Kh);for(;n<o.length&&o[n]!=this.layer;)n++;this.dom.style.zIndex=String((this.layer.above?150:-1)-n)}measure(){return this.layer.markers(this.view)}draw(e){if(e.length!=this.drawn.length||e.some((n,o)=>!c7(n,this.drawn[o]))){let n=this.dom.firstChild,o=0;for(let r of e)r.update&&n&&r.constructor&&this.drawn[o].constructor&&r.update(n,this.drawn[o])?(n=n.nextSibling,o++):this.dom.insertBefore(r.draw(),n);for(;n;){let r=n.nextSibling;n.remove(),n=r}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},Kh=le.define();function JL(t){return[Nn.define(e=>new yC(e,t)),Kh.of(t)]}var XL=!te.ios,af=le.define({combine(t){return es(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,n)=>Math.min(e,n),drawRangeCursor:(e,n)=>e||n})}});function IC(t={}){return[af.of(t),d7,f7,p7,kL.of(!0)]}function YL(t){return t.startState.facet(af)!=t.state.facet(af)}var d7=JL({above:!0,markers(t){let{state:e}=t,n=e.facet(af),o=[];for(let r of e.selection.ranges){let i=r==e.selection.main;if(r.empty?!i||XL:n.drawRangeCursor){let s=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",l=r.empty?r:z.cursor(r.head,r.head>r.anchor?-1:1);for(let a of Tl.forRange(t,s,l))o.push(a)}}return o},update(t,e){t.transactions.some(o=>o.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let n=YL(t);return n&&rL(t.state,e),t.docChanged||t.selectionSet||n},mount(t,e){rL(e.state,t)},class:"cm-cursorLayer"});function rL(t,e){e.style.animationDuration=t.facet(af).cursorBlinkRate+"ms"}var f7=JL({above:!1,markers(t){return t.state.selection.ranges.map(e=>e.empty?[]:Tl.forRange(t,"cm-selectionBackground",e)).reduce((e,n)=>e.concat(n))},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||YL(t)},class:"cm-selectionLayer"}),ZL={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};XL&&(ZL[".cm-line"].caretColor="transparent !important");var p7=Zi.highest(ae.theme(ZL));function iL(t,e,n,o,r){e.lastIndex=0;for(let i=t.iterRange(n,o),s=n,l;!i.next().done;s+=i.value.length)if(!i.lineBreak)for(;l=e.exec(i.value);)r(s+l.index,l)}function m7(t,e){let n=t.visibleRanges;if(n.length==1&&n[0].from==t.viewport.from&&n[0].to==t.viewport.to)return n;let o=[];for(let{from:r,to:i}of n)r=Math.max(t.state.doc.lineAt(r).from,r-e),i=Math.min(t.state.doc.lineAt(i).to,i+e),o.length&&o[o.length-1].to>=r?o[o.length-1].to=i:o.push({from:r,to:i});return o}var bC=class{constructor(e){let{regexp:n,decoration:o,decorate:r,boundary:i,maxLength:s=1e3}=e;if(!n.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=n,r)this.addMatch=(l,a,u,c)=>r(c,u,u+l[0].length,l,a);else if(typeof o=="function")this.addMatch=(l,a,u,c)=>{let d=o(l,a,u);d&&c(u,u+l[0].length,d)};else if(o)this.addMatch=(l,a,u,c)=>c(u,u+l[0].length,o);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=i,this.maxLength=s}createDeco(e){let n=new hr,o=n.add.bind(n);for(let{from:r,to:i}of m7(e,this.maxLength))iL(e.state.doc,this.regexp,r,i,(s,l)=>this.addMatch(l,e,s,o));return n.finish()}updateDeco(e,n){let o=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((i,s,l,a)=>{a>e.view.viewport.from&&l<e.view.viewport.to&&(o=Math.min(l,o),r=Math.max(a,r))}),e.viewportChanged||r-o>1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,n.map(e.changes),o,r):n}updateRange(e,n,o,r){for(let i of e.visibleRanges){let s=Math.max(i.from,o),l=Math.min(i.to,r);if(l>s){let a=e.state.doc.lineAt(s),u=a.to<l?e.state.doc.lineAt(l):a,c=Math.max(i.from,a.from),d=Math.min(i.to,u.to);if(this.boundary){for(;s>a.from;s--)if(this.boundary.test(a.text[s-1-a.from])){c=s;break}for(;l<u.to;l++)if(this.boundary.test(u.text[l-u.from])){d=l;break}}let f=[],p,g=(y,m,h)=>f.push(h.range(y,m));if(a==u)for(this.regexp.lastIndex=c-a.from;(p=this.regexp.exec(a.text))&&p.index<d-a.from;)this.addMatch(p,e,p.index+a.from,g);else iL(e.state.doc,this.regexp,c,d,(y,m)=>this.addMatch(m,e,y,g));n=n.update({filterFrom:c,filterTo:d,filter:(y,m)=>y<c||m>d,add:f})}}return n}},vC=/x/.unicode!=null?"gu":"g",h7=new RegExp(`[\0-\b
855
- -\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,vC),g7={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},z0=null;function y7(){var t;if(z0==null&&typeof document<"u"&&document.body){let e=document.body.style;z0=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return z0||!1}var Uh=le.define({combine(t){let e=es(t,{render:null,specialChars:h7,addSpecialChars:null});return(e.replaceTabs=!y7())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,vC)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,vC)),e}});function PC(t={}){return[Uh.of(t),b7()]}var sL=null;function b7(){return sL||(sL=Nn.fromClass(class{constructor(t){this.view=t,this.decorations=Pt.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(Uh)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new bC({regexp:t.specialChars,decoration:(e,n,o)=>{let{doc:r}=n.state,i=Jt(e[0],0);if(i==9){let s=r.lineAt(o),l=n.state.tabSize,a=xl(s.text,l,o-s.from);return Pt.replace({widget:new CC((l-a%l)*this.view.defaultCharacterWidth)})}return this.decorationCache[i]||(this.decorationCache[i]=Pt.replace({widget:new xC(t,i)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(Uh);t.startState.facet(Uh)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}var v7="\u2022";function x7(t){return t>=32?v7:t==10?"\u2424":String.fromCharCode(9216+t)}var xC=class extends oi{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=x7(this.code),o=e.state.phrase("Control character")+" "+(g7[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,o,n);if(r)return r;let i=document.createElement("span");return i.textContent=n,i.title=o,i.setAttribute("aria-label",o),i.className="cm-specialChar",i}ignoreEvent(){return!1}},CC=class extends oi{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};var zh="-10000px",wC=class{constructor(e,n,o){this.facet=n,this.createTooltipView=o,this.input=e.state.facet(n),this.tooltips=this.input.filter(r=>r),this.tooltipViews=this.tooltips.map(o)}update(e){var n;let o=e.state.facet(this.facet),r=o.filter(s=>s);if(o===this.input){for(let s of this.tooltipViews)s.update&&s.update(e);return!1}let i=[];for(let s=0;s<r.length;s++){let l=r[s],a=-1;if(l){for(let u=0;u<this.tooltips.length;u++){let c=this.tooltips[u];c&&c.create==l.create&&(a=u)}if(a<0)i[s]=this.createTooltipView(l);else{let u=i[s]=this.tooltipViews[a];u.update&&u.update(e)}}}for(let s of this.tooltipViews)i.indexOf(s)<0&&(s.dom.remove(),(n=s.destroy)===null||n===void 0||n.call(s));return this.input=o,this.tooltips=r,this.tooltipViews=i,!0}};function C7(t){let{win:e}=t;return{top:0,left:0,bottom:e.innerHeight,right:e.innerWidth}}var $0=le.define({combine:t=>{var e,n,o;return{position:te.ios?"absolute":((e=t.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((n=t.find(r=>r.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((o=t.find(r=>r.tooltipSpace))===null||o===void 0?void 0:o.tooltipSpace)||C7}}}),lL=new WeakMap,eA=Nn.fromClass(class{constructor(t){this.view=t,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet($0);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new wC(t,DC,n=>this.createTooltip(n)),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t);e&&this.observeIntersection();let n=e||t.geometryChanged,o=t.state.facet($0);if(o.position!=this.position){this.position=o.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;n=!0}if(o.parent!=this.parent){this.parent&&this.container.remove(),this.parent=o.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(t){let e=t.create(this.view);if(e.dom.classList.add("cm-tooltip"),t.arrow&&!e.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let n=document.createElement("div");n.className="cm-tooltip-arrow",e.dom.appendChild(n)}return e.dom.style.position=this.position,e.dom.style.top=zh,this.container.appendChild(e.dom),e.mount&&e.mount(this.view),e}destroy(){var t,e;this.view.win.removeEventListener("resize",this.measureSoon);for(let n of this.manager.tooltipViews)n.dom.remove(),(t=n.destroy)===null||t===void 0||t.call(n);(e=this.intersectionObserver)===null||e===void 0||e.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=this.view.dom.getBoundingClientRect();return{editor:t,parent:this.parent?this.container.getBoundingClientRect():t,pos:this.manager.tooltips.map((e,n)=>{let o=this.manager.tooltipViews[n];return o.getCoords?o.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet($0).tooltipSpace(this.view)}}writeMeasure(t){var e;let{editor:n,space:o}=t,r=[];for(let i=0;i<this.manager.tooltips.length;i++){let s=this.manager.tooltips[i],l=this.manager.tooltipViews[i],{dom:a}=l,u=t.pos[i],c=t.size[i];if(!u||u.bottom<=Math.max(n.top,o.top)||u.top>=Math.min(n.bottom,o.bottom)||u.right<Math.max(n.left,o.left)-.1||u.left>Math.min(n.right,o.right)+.1){a.style.top=zh;continue}let d=s.arrow?l.dom.querySelector(".cm-tooltip-arrow"):null,f=d?7:0,p=c.right-c.left,g=(e=lL.get(l))!==null&&e!==void 0?e:c.bottom-c.top,y=l.offset||S7,m=this.view.textDirection==Ze.LTR,h=c.width>o.right-o.left?m?o.left:o.right-c.width:m?Math.min(u.left-(d?14:0)+y.x,o.right-p):Math.max(o.left,u.left-p+(d?14:0)-y.x),v=!!s.above;!s.strictSide&&(v?u.top-(c.bottom-c.top)-y.y<o.top:u.bottom+(c.bottom-c.top)+y.y>o.bottom)&&v==o.bottom-u.bottom>u.top-o.top&&(v=!v);let x=(v?u.top-o.top:o.bottom-u.bottom)-f;if(x<g&&l.resize!==!1){if(x<this.view.defaultLineHeight){a.style.top=zh;continue}lL.set(l,g),a.style.height=(g=x)+"px"}else a.style.height&&(a.style.height="");let b=v?u.top-g-f-y.y:u.bottom+f+y.y,S=h+p;if(l.overlap!==!0)for(let C of r)C.left<S&&C.right>h&&C.top<b+g&&C.bottom>b&&(b=v?C.top-g-2-f:C.bottom+f+2);this.position=="absolute"?(a.style.top=b-t.parent.top+"px",a.style.left=h-t.parent.left+"px"):(a.style.top=b+"px",a.style.left=h+"px"),d&&(d.style.left=`${u.left+(m?y.x:-y.x)-(h+14-7)}px`),l.overlap!==!0&&r.push({left:h,top:b,right:S,bottom:b+g}),a.classList.toggle("cm-tooltip-above",v),a.classList.toggle("cm-tooltip-below",!v),l.positioned&&l.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=zh}},{eventHandlers:{scroll(){this.maybeMeasure()}}}),w7=ae.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),S7={x:0,y:0},DC=le.define({enables:[eA,w7]});function RC(t,e){let n=t.plugin(eA);if(!n)return null;let o=n.manager.tooltips.indexOf(e);return o<0?null:n.manager.tooltipViews[o]}var ri=class extends Wo{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};ri.prototype.elementClass="";ri.prototype.toDOM=void 0;ri.prototype.mapMode=Qt.TrackBefore;ri.prototype.startSide=ri.prototype.endSide=-1;ri.prototype.point=!0;var E7=0,uf=class{constructor(e,n){this.from=e,this.to=n}},me=class{constructor(e={}){this.id=E7++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Lt.match(e)),n=>{let o=e(n);return o===void 0?null:[this,o]}}};me.closedBy=new me({deserialize:t=>t.split(" ")});me.openedBy=new me({deserialize:t=>t.split(" ")});me.group=new me({deserialize:t=>t.split(" ")});me.contextHash=new me({perNode:!0});me.lookAhead=new me({perNode:!0});me.mounted=new me({perNode:!0});var T7=Object.create(null),Lt=class{constructor(e,n,o,r=0){this.name=e,this.props=n,this.id=o,this.flags=r}static define(e){let n=e.props&&e.props.length?Object.create(null):T7,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new Lt(e.name||"",n,e.id,o);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(r)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[i[0].id]=i[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let n=this.prop(me.group);return n?n.indexOf(e)>-1:!1}return this.id==e}static match(e){let n=Object.create(null);for(let o in e)for(let r of o.split(" "))n[r]=e[o];return o=>{for(let r=o.prop(me.group),i=-1;i<(r?r.length:0);i++){let s=n[i<0?o.name:r[i]];if(s)return s}}}};Lt.none=new Lt("",Object.create(null),0,8);var kl=class{constructor(e){this.types=e;for(let n=0;n<e.length;n++)if(e[n].id!=n)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let n=[];for(let o of this.types){let r=null;for(let i of e){let s=i(o);s&&(r||(r=Object.assign({},o.props)),r[s[0].id]=s[1])}n.push(r?new Lt(o.name,r,o.id,o.flags):o)}return new kl(n)}},ig=new WeakMap,tA=new WeakMap,bt;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays"})(bt||(bt={}));var Ge=class{constructor(e,n,o,r,i){if(this.type=e,this.children=n,this.positions=o,this.length=r,this.props=null,i&&i.length){this.props=Object.create(null);for(let[s,l]of i)this.props[typeof s=="number"?s:s.id]=l}}toString(){let e=this.prop(me.mounted);if(e&&!e.overlay)return e.tree.toString();let n="";for(let o of this.children){let r=o.toString();r&&(n&&(n+=","),n+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(n.length?"("+n+")":""):n}cursor(e=0){return new Tu(this.topNode,e)}cursorAt(e,n=0,o=0){let r=ig.get(this)||this.topNode,i=new Tu(r);return i.moveTo(e,n),ig.set(this,i._tree),i}get topNode(){return new Uo(this,0,0,null)}resolve(e,n=0){let o=Eu(ig.get(this)||this.topNode,e,n,!1);return ig.set(this,o),o}resolveInner(e,n=0){let o=Eu(tA.get(this)||this.topNode,e,n,!0);return tA.set(this,o),o}iterate(e){let{enter:n,leave:o,from:r=0,to:i=this.length}=e,s=e.mode||0,l=(s&bt.IncludeAnonymous)>0;for(let a=this.cursor(s|bt.IncludeAnonymous);;){let u=!1;if(a.from<=i&&a.to>=r&&(!l&&a.type.isAnonymous||n(a)!==!1)){if(a.firstChild())continue;u=!0}for(;u&&o&&(l||!a.type.isAnonymous)&&o(a),!a.nextSibling();){if(!a.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let n in this.props)e.push([+n,this.props[n]]);return e}balance(e={}){return this.children.length<=8?this:HC(Lt.none,this.children,this.positions,0,this.children.length,0,this.length,(n,o,r)=>new Ge(this.type,n,o,r,this.propValues),e.makeTree||((n,o,r)=>new Ge(Lt.none,n,o,r)))}static build(e){return k7(e)}};Ge.empty=new Ge(Lt.none,[],[],0);var cf=class{constructor(e,n){this.buffer=e,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new cf(this.buffer,this.index)}},ii=class{constructor(e,n,o){this.buffer=e,this.length=n,this.set=o}get type(){return Lt.none}toString(){let e=[];for(let n=0;n<this.buffer.length;)e.push(this.childString(n)),n=this.buffer[n+3];return e.join(",")}childString(e){let n=this.buffer[e],o=this.buffer[e+3],r=this.set.types[n],i=r.name;if(/\W/.test(i)&&!r.isError&&(i=JSON.stringify(i)),e+=4,o==e)return i;let s=[];for(;e<o;)s.push(this.childString(e)),e=this.buffer[e+3];return i+"("+s.join(",")+")"}findChild(e,n,o,r,i){let{buffer:s}=this,l=-1;for(let a=e;a!=n&&!(oA(i,r,s[a+1],s[a+2])&&(l=a,o>0));a=s[a+3]);return l}slice(e,n,o){let r=this.buffer,i=new Uint16Array(n-e),s=0;for(let l=e,a=0;l<n;){i[a++]=r[l++],i[a++]=r[l++]-o;let u=i[a++]=r[l++]-o;i[a++]=r[l++]-e,s=Math.max(s,u)}return new ii(i,s,this.set)}};function oA(t,e,n,o){switch(t){case-2:return n<e;case-1:return o>=e&&n<e;case 0:return n<e&&o>e;case 1:return n<=e&&o>e;case 2:return o>e;case 4:return!0}}function rA(t,e){let n=t.childBefore(e);for(;n;){let o=n.lastChild;if(!o||o.to!=n.to)break;o.type.isError&&o.from==o.to?(t=n,n=o.prevSibling):n=o}return t}function Eu(t,e,n,o){for(var r;t.from==t.to||(n<1?t.from>=e:t.from>e)||(n>-1?t.to<=e:t.to<e);){let s=!o&&t instanceof Uo&&t.index<0?null:t.parent;if(!s)return t;t=s}let i=o?0:bt.IgnoreOverlays;if(o)for(let s=t,l=s.parent;l;s=l,l=s.parent)s instanceof Uo&&s.index<0&&((r=l.enter(e,n,i))===null||r===void 0?void 0:r.from)!=s.from&&(t=l);for(;;){let s=t.enter(e,n,i);if(!s)return t;t=s}}var Uo=class{constructor(e,n,o,r){this._tree=e,this.from=n,this.index=o,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,n,o,r,i=0){for(let s=this;;){for(let{children:l,positions:a}=s._tree,u=n>0?l.length:-1;e!=u;e+=n){let c=l[e],d=a[e]+s.from;if(oA(r,o,d,d+c.length)){if(c instanceof ii){if(i&bt.ExcludeBuffers)continue;let f=c.findChild(0,c.buffer.length,n,o-d,r);if(f>-1)return new vr(new LC(s,c,e,d),null,f)}else if(i&bt.IncludeAnonymous||!c.type.isAnonymous||NC(c)){let f;if(!(i&bt.IgnoreMounts)&&c.props&&(f=c.prop(me.mounted))&&!f.overlay)return new Uo(f.tree,d,e,s);let p=new Uo(c,d,e,s);return i&bt.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(n<0?c.children.length-1:0,n,o,r)}}}if(i&bt.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+n:e=n<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,n,o=0){let r;if(!(o&bt.IgnoreOverlays)&&(r=this._tree.prop(me.mounted))&&r.overlay){let i=e-this.from;for(let{from:s,to:l}of r.overlay)if((n>0?s<=i:s<i)&&(n<0?l>=i:l>i))return new Uo(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,n,o)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}cursor(e=0){return new Tu(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,n=0){return Eu(this,e,n,!1)}resolveInner(e,n=0){return Eu(this,e,n,!0)}enterUnfinishedNodesBefore(e){return rA(this,e)}getChild(e,n=null,o=null){let r=lg(this,e,n,o);return r.length?r[0]:null}getChildren(e,n=null,o=null){return lg(this,e,n,o)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return ag(this,e)}};function lg(t,e,n,o){let r=t.cursor(),i=[];if(!r.firstChild())return i;if(n!=null){for(;!r.type.is(n);)if(!r.nextSibling())return i}for(;;){if(o!=null&&r.type.is(o))return i;if(r.type.is(e)&&i.push(r.node),!r.nextSibling())return o==null?i:[]}}function ag(t,e,n=e.length-1){for(let o=t.parent;n>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(e[n]&&e[n]!=o.name)return!1;n--}}return!0}var LC=class{constructor(e,n,o,r){this.parent=e,this.buffer=n,this.index=o,this.start=r}},vr=class{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,n,o){this.context=e,this._parent=n,this.index=o,this.type=e.buffer.set.types[e.buffer.buffer[o]]}child(e,n,o){let{buffer:r}=this.context,i=r.findChild(this.index+4,r.buffer[this.index+3],e,n-this.context.start,o);return i<0?null:new vr(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,n,o=0){if(o&bt.ExcludeBuffers)return null;let{buffer:r}=this.context,i=r.findChild(this.index+4,r.buffer[this.index+3],n>0?1:-1,e-this.context.start,n);return i<0?null:new vr(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,n=e.buffer[this.index+3];return n<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new vr(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new vr(this.context,this._parent,e.findChild(n,this.index,-1,0,4))}cursor(e=0){return new Tu(this,e)}get tree(){return null}toTree(){let e=[],n=[],{buffer:o}=this.context,r=this.index+4,i=o.buffer[this.index+3];if(i>r){let s=o.buffer[this.index+1];e.push(o.slice(r,i,s)),n.push(0)}return new Ge(this.type,e,n,this.to-this.from)}resolve(e,n=0){return Eu(this,e,n,!1)}resolveInner(e,n=0){return Eu(this,e,n,!0)}enterUnfinishedNodesBefore(e){return rA(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,n=null,o=null){let r=lg(this,e,n,o);return r.length?r[0]:null}getChildren(e,n=null,o=null){return lg(this,e,n,o)}get node(){return this}matchContext(e){return ag(this,e)}},Tu=class{get name(){return this.type.name}constructor(e,n=0){if(this.mode=n,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Uo)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let o=e._parent;o;o=o._parent)this.stack.unshift(o.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,n){this.index=e;let{start:o,buffer:r}=this.buffer;return this.type=n||r.set.types[r.buffer[e]],this.from=o+r.buffer[e+1],this.to=o+r.buffer[e+2],!0}yield(e){return e?e instanceof Uo?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,n,o){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,n,o,this.mode));let{buffer:r}=this.buffer,i=r.findChild(this.index+4,r.buffer[this.index+3],e,n-this.buffer.start,o);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,n,o=this.mode){return this.buffer?o&bt.ExcludeBuffers?!1:this.enterChild(1,e,n):this.yield(this._tree.enter(e,n,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&bt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&bt.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:n}=this.buffer,o=this.stack.length-1;if(e<0){let r=o<0?0:this.stack[o]+4;if(this.index!=r)return this.yieldBuf(n.findChild(r,this.index,-1,0,4))}else{let r=n.buffer[this.index+3];if(r<(o<0?n.buffer.length:n.buffer[this.stack[o]+3]))return this.yieldBuf(r)}return o<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let n,o,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let i=0;i<this.index;i++)if(r.buffer.buffer[i+3]<this.index)return!1;({index:n,parent:o}=r)}else({index:n,_parent:o}=this._tree);for(;o;{index:n,_parent:o}=o)if(n>-1)for(let i=n+e,s=e<0?-1:o._tree.children.length;i!=s;i+=e){let l=o._tree.children[i];if(this.mode&bt.IncludeAnonymous||l instanceof ii||!l.type.isAnonymous||NC(l))return!1}return!0}move(e,n){if(n&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,n=0){for(;(this.from==this.to||(n<1?this.from>=e:this.from>e)||(n>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,n););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,n=null,o=0;if(e&&e.context==this.buffer)e:for(let r=this.index,i=this.stack.length;i>=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;n=s,o=i+1;break e}r=this.stack[--i]}for(let r=o;r<this.stack.length;r++)n=new vr(this.buffer,n,this.stack[r]);return this.bufferNode=new vr(this.buffer,n,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,n){for(let o=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){o++;continue}this.type.isAnonymous||(r=!0)}for(;r&&n&&n(this),r=this.type.isAnonymous,!this.nextSibling();){if(!o)return;this.parent(),o--,r=!0}}}matchContext(e){if(!this.buffer)return ag(this.node,e);let{buffer:n}=this.buffer,{types:o}=n.set;for(let r=e.length-1,i=this.stack.length-1;r>=0;i--){if(i<0)return ag(this.node,e,r);let s=o[n.buffer[this.stack[i]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function NC(t){return t.children.some(e=>e instanceof ii||!e.type.isAnonymous||NC(e))}function k7(t){var e;let{buffer:n,nodeSet:o,maxBufferLength:r=1024,reused:i=[],minRepeatType:s=o.types.length}=t,l=Array.isArray(n)?new cf(n,n.length):n,a=o.types,u=0,c=0;function d(b,S,C,w,E){let{id:T,start:M,end:L,size:k}=l,I=c;for(;k<0;)if(l.next(),k==-1){let P=i[T];C.push(P),w.push(M-b);return}else if(k==-3){u=T;return}else if(k==-4){c=T;return}else throw new RangeError(`Unrecognized record size: ${k}`);let A=a[T],H,R,O=M-b;if(L-M<=r&&(R=y(l.pos-S,E))){let P=new Uint16Array(R.size-R.skip),N=l.pos-R.size,D=P.length;for(;l.pos>N;)D=m(R.start,P,D);H=new ii(P,L-R.start,o),O=R.start-b}else{let P=l.pos-k;l.next();let N=[],D=[],B=T>=s?T:-1,F=0,$=L;for(;l.pos>P;)B>=0&&l.id==B&&l.size>=0?(l.end<=$-r&&(p(N,D,M,F,l.end,$,B,I),F=N.length,$=l.end),l.next()):d(M,P,N,D,B);if(B>=0&&F>0&&F<N.length&&p(N,D,M,F,M,$,B,I),N.reverse(),D.reverse(),B>-1&&F>0){let Q=f(A);H=HC(A,N,D,0,N.length,0,L-M,Q,Q)}else H=g(A,N,D,L-M,I-L)}C.push(H),w.push(O)}function f(b){return(S,C,w)=>{let E=0,T=S.length-1,M,L;if(T>=0&&(M=S[T])instanceof Ge){if(!T&&M.type==b&&M.length==w)return M;(L=M.prop(me.lookAhead))&&(E=C[T]+M.length+L)}return g(b,S,C,w,E)}}function p(b,S,C,w,E,T,M,L){let k=[],I=[];for(;b.length>w;)k.push(b.pop()),I.push(S.pop()+C-E);b.push(g(o.types[M],k,I,T-E,L-T)),S.push(E-C)}function g(b,S,C,w,E=0,T){if(u){let M=[me.contextHash,u];T=T?[M].concat(T):[M]}if(E>25){let M=[me.lookAhead,E];T=T?[M].concat(T):[M]}return new Ge(b,S,C,w,T)}function y(b,S){let C=l.fork(),w=0,E=0,T=0,M=C.end-r,L={size:0,start:0,skip:0};e:for(let k=C.pos-b;C.pos>k;){let I=C.size;if(C.id==S&&I>=0){L.size=w,L.start=E,L.skip=T,T+=4,w+=4,C.next();continue}let A=C.pos-I;if(I<0||A<k||C.start<M)break;let H=C.id>=s?4:0,R=C.start;for(C.next();C.pos>A;){if(C.size<0)if(C.size==-3)H+=4;else break e;else C.id>=s&&(H+=4);C.next()}E=R,w+=I,T+=H}return(S<0||w==b)&&(L.size=w,L.start=E,L.skip=T),L.size>4?L:void 0}function m(b,S,C){let{id:w,start:E,end:T,size:M}=l;if(l.next(),M>=0&&w<s){let L=C;if(M>4){let k=l.pos-(M-4);for(;l.pos>k;)C=m(b,S,C)}S[--C]=L,S[--C]=T-b,S[--C]=E-b,S[--C]=w}else M==-3?u=w:M==-4&&(c=w);return C}let h=[],v=[];for(;l.pos>0;)d(t.start||0,t.bufferStart||0,h,v,-1);let x=(e=t.length)!==null&&e!==void 0?e:h.length?v[0]+h[0].length:0;return new Ge(a[t.topID],h.reverse(),v.reverse(),x)}var nA=new WeakMap;function sg(t,e){if(!t.isAnonymous||e instanceof ii||e.type!=t)return 1;let n=nA.get(e);if(n==null){n=1;for(let o of e.children){if(o.type!=t||!(o instanceof Ge)){n=1;break}n+=sg(t,o)}nA.set(e,n)}return n}function HC(t,e,n,o,r,i,s,l,a){let u=0;for(let g=o;g<r;g++)u+=sg(t,e[g]);let c=Math.ceil(u*1.5/8),d=[],f=[];function p(g,y,m,h,v){for(let x=m;x<h;){let b=x,S=y[x],C=sg(t,g[x]);for(x++;x<h;x++){let w=sg(t,g[x]);if(C+w>=c)break;C+=w}if(x==b+1){if(C>c){let w=g[b];p(w.children,w.positions,0,w.children.length,y[b]+v);continue}d.push(g[b])}else{let w=y[x-1]+g[x-1].length-S;d.push(HC(t,g,y,b,x,S,w,null,a))}f.push(S+v-i)}}return p(e,n,o,r,0),(l||a)(d,f,s)}var xr=class{constructor(e,n,o,r,i=!1,s=!1){this.from=e,this.to=n,this.tree=o,this.offset=r,this.open=(i?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,n=[],o=!1){let r=[new xr(0,e.length,e,0,!1,o)];for(let i of n)i.to>e.length&&r.push(i);return r}static applyChanges(e,n,o=128){if(!n.length)return e;let r=[],i=1,s=e.length?e[0]:null;for(let l=0,a=0,u=0;;l++){let c=l<n.length?n[l]:null,d=c?c.fromA:1e9;if(d-a>=o)for(;s&&s.from<d;){let f=s;if(a>=f.from||d<=f.to||u){let p=Math.max(f.from,a)-u,g=Math.min(f.to,d)-u;f=p>=g?null:new xr(p,g,f.tree,f.offset+u,l>0,!!c)}if(f&&r.push(f),s.to>d)break;s=i<e.length?e[i++]:null}if(!c)break;a=c.toA,u=c.toA-c.toB}return r}},ku=class{startParse(e,n,o){return typeof e=="string"&&(e=new AC(e)),o=o?o.length?o.map(r=>new uf(r.from,r.to)):[new uf(0,0)]:[new uf(0,e.length)],this.createParse(e,n||[],o)}parse(e,n,o){let r=this.startParse(e,n,o);for(;;){let i=r.advance();if(i)return i}}},AC=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,n){return this.string.slice(e,n)}};var Jfe=new me({perNode:!0});var M7=0,So=class{constructor(e,n,o){this.set=e,this.base=n,this.modified=o,this.id=M7++}static define(e){if(e!=null&&e.base)throw new Error("Can not derive from a modified tag");let n=new So([],null,[]);if(n.set.push(n),e)for(let o of e.set)n.set.push(o);return n}static defineModifier(){let e=new Mu;return n=>n.modified.indexOf(e)>-1?n:Mu.get(n.base||n,n.modified.concat(e).sort((o,r)=>o.id-r.id))}},I7=0,Mu=class{constructor(){this.instances=[],this.id=I7++}static get(e,n){if(!n.length)return e;let o=n[0].instances.find(l=>l.base==e&&P7(n,l.modified));if(o)return o;let r=[],i=new So(r,e,n);for(let l of n)l.instances.push(i);let s=D7(n);for(let l of e.set)if(!l.modified.length)for(let a of s)r.push(Mu.get(l,a));return i}};function P7(t,e){return t.length==e.length&&t.every((n,o)=>n==e[o])}function D7(t){let e=[[]];for(let n=0;n<t.length;n++)for(let o=0,r=e.length;o<r;o++)e.push(e[o].concat(t[n]));return e.sort((n,o)=>o.length-n.length)}function Il(t){let e=Object.create(null);for(let n in t){let o=t[n];Array.isArray(o)||(o=[o]);for(let r of n.split(" "))if(r){let i=[],s=2,l=r;for(let d=0;;){if(l=="..."&&d>0&&d+3==r.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!f)throw new RangeError("Invalid path: "+r);if(i.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),d+=f[0].length,d==r.length)break;let p=r[d++];if(d==r.length&&p=="!"){s=0;break}if(p!="/")throw new RangeError("Invalid path: "+r);l=r.slice(d)}let a=i.length-1,u=i[a];if(!u)throw new RangeError("Invalid path: "+r);let c=new Iu(o,s,a>0?i.slice(0,a):null);e[u]=c.sort(e[u])}}return lA.add(e)}var lA=new me,Iu=class{constructor(e,n,o,r){this.tags=e,this.mode=n,this.context=o,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Iu.empty=new Iu([],2,null);function VC(t,e){let n=Object.create(null);for(let i of t)if(!Array.isArray(i.tag))n[i.tag.id]=i.class;else for(let s of i.tag)n[s.id]=i.class;let{scope:o,all:r=null}=e||{};return{style:i=>{let s=r;for(let l of i)for(let a of l.set){let u=n[a.id];if(u){s=s?s+" "+u:u;break}}return s},scope:o}}function R7(t,e){let n=null;for(let o of t){let r=o.style(e);r&&(n=n?n+" "+r:r)}return n}function aA(t,e,n,o=0,r=t.length){let i=new FC(o,Array.isArray(e)?e:[e],n);i.highlightRange(t.cursor(),o,r,"",i.highlighters),i.flush(r)}var FC=class{constructor(e,n,o){this.at=e,this.highlighters=n,this.span=o,this.class=""}startSpan(e,n){n!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=n)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,n,o,r,i){let{type:s,from:l,to:a}=e;if(l>=o||a<=n)return;s.isTop&&(i=this.highlighters.filter(p=>!p.scope||p.scope(s)));let u=r,c=L7(e)||Iu.empty,d=R7(i,c.tags);if(d&&(u&&(u+=" "),u+=d,c.mode==1&&(r+=(r?" ":"")+d)),this.startSpan(Math.max(n,l),u),c.opaque)return;let f=e.tree&&e.tree.prop(me.mounted);if(f&&f.overlay){let p=e.node.enter(f.overlay[0].from+l,1),g=this.highlighters.filter(m=>!m.scope||m.scope(f.tree.type)),y=e.firstChild();for(let m=0,h=l;;m++){let v=m<f.overlay.length?f.overlay[m]:null,x=v?v.from+l:a,b=Math.max(n,h),S=Math.min(o,x);if(b<S&&y)for(;e.from<S&&(this.highlightRange(e,b,S,r,i),this.startSpan(Math.min(S,e.to),u),!(e.to>=x||!e.nextSibling())););if(!v||x>o)break;h=v.to+l,h>n&&(this.highlightRange(p.cursor(),Math.max(n,v.from+l),Math.min(o,h),"",g),this.startSpan(Math.min(o,h),u))}y&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=n)){if(e.from>=o)break;this.highlightRange(e,n,o,r,i),this.startSpan(Math.min(o,e.to),u)}while(e.nextSibling());e.parent()}}};function L7(t){let e=t.type.prop(lA);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}var q=So.define,ug=q(),is=q(),iA=q(is),sA=q(is),ss=q(),cg=q(ss),OC=q(ss),Sr=q(),Ml=q(Sr),Cr=q(),wr=q(),BC=q(),df=q(BC),dg=q(),W={comment:ug,lineComment:q(ug),blockComment:q(ug),docComment:q(ug),name:is,variableName:q(is),typeName:iA,tagName:q(iA),propertyName:sA,attributeName:q(sA),className:q(is),labelName:q(is),namespace:q(is),macroName:q(is),literal:ss,string:cg,docString:q(cg),character:q(cg),attributeValue:q(cg),number:OC,integer:q(OC),float:q(OC),bool:q(ss),regexp:q(ss),escape:q(ss),color:q(ss),url:q(ss),keyword:Cr,self:q(Cr),null:q(Cr),atom:q(Cr),unit:q(Cr),modifier:q(Cr),operatorKeyword:q(Cr),controlKeyword:q(Cr),definitionKeyword:q(Cr),moduleKeyword:q(Cr),operator:wr,derefOperator:q(wr),arithmeticOperator:q(wr),logicOperator:q(wr),bitwiseOperator:q(wr),compareOperator:q(wr),updateOperator:q(wr),definitionOperator:q(wr),typeOperator:q(wr),controlOperator:q(wr),punctuation:BC,separator:q(BC),bracket:df,angleBracket:q(df),squareBracket:q(df),paren:q(df),brace:q(df),content:Sr,heading:Ml,heading1:q(Ml),heading2:q(Ml),heading3:q(Ml),heading4:q(Ml),heading5:q(Ml),heading6:q(Ml),contentSeparator:q(Sr),list:q(Sr),quote:q(Sr),emphasis:q(Sr),strong:q(Sr),link:q(Sr),monospace:q(Sr),strikethrough:q(Sr),inserted:q(),deleted:q(),changed:q(),invalid:q(),meta:dg,documentMeta:q(dg),annotation:q(dg),processingInstruction:q(dg),definition:So.defineModifier(),constant:So.defineModifier(),function:So.defineModifier(),standard:So.defineModifier(),local:So.defineModifier(),special:So.defineModifier()},Zfe=VC([{tag:W.link,class:"tok-link"},{tag:W.heading,class:"tok-heading"},{tag:W.emphasis,class:"tok-emphasis"},{tag:W.strong,class:"tok-strong"},{tag:W.keyword,class:"tok-keyword"},{tag:W.atom,class:"tok-atom"},{tag:W.bool,class:"tok-bool"},{tag:W.url,class:"tok-url"},{tag:W.labelName,class:"tok-labelName"},{tag:W.inserted,class:"tok-inserted"},{tag:W.deleted,class:"tok-deleted"},{tag:W.literal,class:"tok-literal"},{tag:W.string,class:"tok-string"},{tag:W.number,class:"tok-number"},{tag:[W.regexp,W.escape,W.special(W.string)],class:"tok-string2"},{tag:W.variableName,class:"tok-variableName"},{tag:W.local(W.variableName),class:"tok-variableName tok-local"},{tag:W.definition(W.variableName),class:"tok-variableName tok-definition"},{tag:W.special(W.variableName),class:"tok-variableName2"},{tag:W.definition(W.propertyName),class:"tok-propertyName tok-definition"},{tag:W.typeName,class:"tok-typeName"},{tag:W.namespace,class:"tok-namespace"},{tag:W.className,class:"tok-className"},{tag:W.macroName,class:"tok-macroName"},{tag:W.propertyName,class:"tok-propertyName"},{tag:W.operator,class:"tok-operator"},{tag:W.comment,class:"tok-comment"},{tag:W.meta,class:"tok-meta"},{tag:W.invalid,class:"tok-invalid"},{tag:W.punctuation,class:"tok-punctuation"}]);var zC,Pu=new me;function A7(t){return le.define({combine:t?e=>e.concat(t):void 0})}var N7=new me,Hn=class{constructor(e,n,o=[],r=""){this.data=e,this.name=r,ye.prototype.hasOwnProperty("tree")||Object.defineProperty(ye.prototype,"tree",{get(){return Dt(this)}}),this.parser=n,this.extension=[Ru.of(this),ye.languageData.of((i,s,l)=>{let a=uA(i,s,l),u=a.type.prop(Pu);if(!u)return[];let c=i.facet(u),d=a.type.prop(N7);if(d){let f=a.resolve(s-a.from,l);for(let p of d)if(p.test(f,i)){let g=i.facet(p.facet);return p.type=="replace"?g:g.concat(c)}}return c})].concat(o)}isActiveAt(e,n,o=-1){return uA(e,n,o).type.prop(Pu)==this.data}findRegions(e){let n=e.facet(Ru);if((n==null?void 0:n.data)==this.data)return[{from:0,to:e.doc.length}];if(!n||!n.allowsNesting)return[];let o=[],r=(i,s)=>{if(i.prop(Pu)==this.data){o.push({from:s,to:s+i.length});return}let l=i.prop(me.mounted);if(l){if(l.tree.prop(Pu)==this.data){if(l.overlay)for(let a of l.overlay)o.push({from:a.from+s,to:a.to+s});else o.push({from:s,to:s+i.length});return}else if(l.overlay){let a=o.length;if(r(l.tree,l.overlay[0].from+s),o.length>a)return}}for(let a=0;a<i.children.length;a++){let u=i.children[a];u instanceof Ge&&r(u,i.positions[a]+s)}};return r(Dt(e),0),o}get allowsNesting(){return!0}};Hn.setState=De.define();function uA(t,e,n){let o=t.facet(Ru),r=Dt(t).topNode;if(!o||o.allowsNesting)for(let i=r;i;i=i.enter(e,n,bt.ExcludeBuffers))i.type.isTop&&(r=i);return r}var Er=class extends Hn{constructor(e,n,o){super(e,n,[],o),this.parser=n}static define(e){let n=A7(e.languageData);return new Er(n,e.parser.configure({props:[Pu.add(o=>o.isTop?n:void 0)]}),e.name)}configure(e,n){return new Er(this.data,this.parser.configure(e),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function Dt(t){let e=t.field(Hn.state,!1);return e?e.tree:Ge.empty}function fg(t,e,n=50){var o;let r=(o=t.field(Hn.state,!1))===null||o===void 0?void 0:o.context;if(!r)return null;let i=r.viewport;r.updateViewport({from:0,to:e});let s=r.isDone(e)||r.work(n,e)?r.tree:null;return r.updateViewport(i),s}var KC=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,n){let o=this.cursorPos-this.string.length;return e<o||n>=this.cursorPos?this.doc.sliceString(e,n):this.string.slice(e-o,n-o)}},ff=null,Du=class{constructor(e,n,o=[],r,i,s,l,a){this.parser=e,this.state=n,this.fragments=o,this.tree=r,this.treeLen=i,this.viewport=s,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,n,o){return new Du(e,n,[],Ge.empty,0,o,[],null)}startParse(){return this.parser.startParse(new KC(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=Ge.empty&&this.isDone(n!=null?n:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var o;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n<this.state.doc.length&&this.parse.stopAt(n);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(xr.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(o=this.parse.stoppedAt)!==null&&o!==void 0?o:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(n!=null?n:this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,n;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=e,this.tree=n,this.fragments=this.withoutTempSkipped(xr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let n=ff;ff=this;try{return e()}finally{ff=n}}withoutTempSkipped(e){for(let n;n=this.tempSkipped.pop();)e=cA(e,n.from,n.to);return e}changes(e,n){let{fragments:o,tree:r,treeLen:i,viewport:s,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((u,c,d,f)=>a.push({fromA:u,toA:c,fromB:d,toB:f})),o=xr.applyChanges(o,a),r=Ge.empty,i=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){l=[];for(let u of this.skipped){let c=e.mapPos(u.from,1),d=e.mapPos(u.to,-1);c<d&&l.push({from:c,to:d})}}}return new Du(this.parser,n,o,r,i,s,l,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let n=this.skipped.length;for(let o=0;o<this.skipped.length;o++){let{from:r,to:i}=this.skipped[o];r<e.to&&i>e.from&&(this.fragments=cA(this.fragments,r,i),this.skipped.splice(o--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,n){this.skipped.push({from:e,to:n})}static getSkippingParser(e){return new class extends ku{createParse(n,o,r){let i=r[0].from,s=r[r.length-1].to;return{parsedPos:i,advance(){let a=ff;if(a){for(let u of r)a.tempSkipped.push(u);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=s,new Ge(Lt.none,[],[],s-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let n=this.fragments;return this.treeLen>=e&&n.length&&n[0].from==0&&n[0].to>=e}static get(){return ff}};function cA(t,e,n){return xr.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}var ls=class{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(e.changes,e.state),o=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,o)||n.takeTree(),new ls(n)}static init(e){let n=Math.min(3e3,e.doc.length),o=Du.create(e.facet(Ru).parser,e,{from:0,to:n});return o.work(20,n)||o.takeTree(),new ls(o)}};Hn.state=Yt.define({create:ls.init,update(t,e){for(let n of e.effects)if(n.is(Hn.setState))return n.value;return e.startState.facet(Ru)!=e.state.facet(Ru)?ls.init(e.state):t.apply(e)}});var pA=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(pA=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:500-100})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});var $C=typeof navigator<"u"&&(!((zC=navigator.scheduling)===null||zC===void 0)&&zC.isInputPending)?()=>navigator.scheduling.isInputPending():null,H7=Nn.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let n=this.view.state.field(Hn.state).context;(n.updateViewport(e.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:e}=this.view,n=e.field(Hn.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=pA(this.work))}work(e){this.working=null;let n=Date.now();if(this.chunkEnd<n&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=n+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:o,viewport:{to:r}}=this.view,i=o.field(Hn.state);if(i.tree==i.context.tree&&i.context.isDone(r+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!$C?Math.max(25,e.timeRemaining()-5):1e9),l=i.context.treeLen<r&&o.doc.length>r+1e3,a=i.context.work(()=>$C&&$C()||Date.now()>s,r+(l?0:1e5));this.chunkBudget-=Date.now()-n,(a||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:Hn.setState.of(new ls(i.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(n=>Zn(this.view.state,n)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Ru=le.define({combine(t){return t.length?t[0]:null},enables:t=>[Hn.state,H7,ae.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]}),Lu=class{constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}};var O7=le.define(),mf=le.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(n=>n!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function hf(t){let e=t.facet(mf);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function gf(t,e){let n="",o=t.tabSize,r=t.facet(mf)[0];if(r==" "){for(;e>=o;)n+=" ",e-=o;r=" "}for(let i=0;i<e;i++)n+=r;return n}function QC(t,e){t instanceof ye&&(t=new Pl(t));for(let o of t.state.facet(O7)){let r=o(t,e);if(r!==void 0)return r}let n=Dt(t.state);return n?B7(t,n,e):null}var Pl=class{constructor(e,n={}){this.state=e,this.options=n,this.unit=hf(e)}lineAt(e,n=1){let o=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:i}=this.options;return r!=null&&r>=o.from&&r<=o.to?i&&r==e?{text:"",from:e}:(n<0?r<e:r<=e)?{text:o.text.slice(r-o.from),from:r}:{text:o.text.slice(0,r-o.from),from:o.from}:o}textAfterPos(e,n=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:o,from:r}=this.lineAt(e,n);return o.slice(e-r,Math.min(o.length,e+100-r))}column(e,n=1){let{text:o,from:r}=this.lineAt(e,n),i=this.countColumn(o,e-r),s=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return s>-1&&(i+=s-this.countColumn(o,o.search(/\S|$/))),i}countColumn(e,n=e.length){return xl(e,this.state.tabSize,n)}lineIndent(e,n=1){let{text:o,from:r}=this.lineAt(e,n),i=this.options.overrideIndentation;if(i){let s=i(r);if(s>-1)return s}return this.countColumn(o,o.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},F7=new me;function B7(t,e,n){return mA(e.resolveInner(n).enterUnfinishedNodesBefore(n),n,t)}function V7(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function z7(t){let e=t.type.prop(F7);if(e)return e;let n=t.firstChild,o;if(n&&(o=n.type.prop(me.closedBy))){let r=t.lastChild,i=r&&o.indexOf(r.name)>-1;return s=>K7(s,!0,1,void 0,i&&!V7(s)?r.from:void 0)}return t.parent==null?$7:null}function mA(t,e,n){for(;t;t=t.parent){let o=z7(t);if(o)return o(pf.create(n,e,t))}return null}function $7(){return 0}var pf=class extends Pl{constructor(e,n,o){super(e.state,e.options),this.base=e,this.pos=n,this.node=o}static create(e,n,o){return new pf(e,n,o)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let n=this.state.doc.lineAt(e.from);for(;;){let o=e.resolve(n.from);for(;o.parent&&o.parent.from==o.from;)o=o.parent;if(_7(o,e))break;n=this.state.doc.lineAt(o.from)}return this.lineIndent(n.from)}continue(){let e=this.node.parent;return e?mA(e,this.pos,this.base):0}};function _7(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function W7(t){let e=t.node,n=e.childAfter(e.from),o=e.lastChild;if(!n)return null;let r=t.options.simulateBreak,i=t.state.doc.lineAt(n.from),s=r==null||r<=i.from?i.to:Math.min(i.to,r);for(let l=n.to;;){let a=e.childAfter(l);if(!a||a==o)return null;if(!a.type.isSkipped)return a.from<s?n:null;l=a.to}}function K7(t,e,n,o,r){let i=t.textAfter,s=i.match(/^\s*/)[0].length,l=o&&i.slice(s,s+o.length)==o||r==t.pos+s,a=e?W7(t):null;return a?l?t.column(a.from):t.column(a.to):t.baseIndent+(l?0:t.unit*n)}var Go=class{constructor(e,n){this.specs=e;let o;function r(l){let a=xo.newName();return(o||(o=Object.create(null)))["."+a]=l,a}let i=typeof n.all=="string"?n.all:n.all?r(n.all):void 0,s=n.scope;this.scope=s instanceof Hn?l=>l.prop(Pu)==s.data:s?l=>l==s:void 0,this.style=VC(e.map(l=>({tag:l.tag,class:l.class||r(Object.assign({},l,{tag:null}))})),{all:i}).style,this.module=o?new xo(o):null,this.themeType=n.themeType}static define(e,n){return new Go(e,n||{})}},UC=le.define(),hA=le.define({combine(t){return t.length?[t[0]]:null}});function _C(t){let e=t.facet(UC);return e.length?e:t.facet(hA)}function Dl(t,e){let n=[U7],o;return t instanceof Go&&(t.module&&n.push(ae.styleModule.of(t.module)),o=t.themeType),e!=null&&e.fallback?n.push(hA.of(t)):o?n.push(UC.computeN([ae.darkTheme],r=>r.facet(ae.darkTheme)==(o=="dark")?[t]:[])):n.push(UC.of(t)),n}var GC=class{constructor(e){this.markCache=Object.create(null),this.tree=Dt(e.state),this.decorations=this.buildDeco(e,_C(e.state))}update(e){let n=Dt(e.state),o=_C(e.state),r=o!=_C(e.startState);n.length<e.view.viewport.to&&!r&&n.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(n!=this.tree||e.viewportChanged||r)&&(this.tree=n,this.decorations=this.buildDeco(e.view,o))}buildDeco(e,n){if(!n||!this.tree.length)return Pt.none;let o=new hr;for(let{from:r,to:i}of e.visibleRanges)aA(this.tree,n,(s,l,a)=>{o.add(s,l,this.markCache[a]||(this.markCache[a]=Pt.mark({class:a})))},r,i);return o.finish()}},U7=Zi.high(Nn.fromClass(GC,{decorations:t=>t.decorations})),JC=Go.define([{tag:W.meta,color:"#404740"},{tag:W.link,textDecoration:"underline"},{tag:W.heading,textDecoration:"underline",fontWeight:"bold"},{tag:W.emphasis,fontStyle:"italic"},{tag:W.strong,fontWeight:"bold"},{tag:W.strikethrough,textDecoration:"line-through"},{tag:W.keyword,color:"#708"},{tag:[W.atom,W.bool,W.url,W.contentSeparator,W.labelName],color:"#219"},{tag:[W.literal,W.inserted],color:"#164"},{tag:[W.string,W.deleted],color:"#a11"},{tag:[W.regexp,W.escape,W.special(W.string)],color:"#e40"},{tag:W.definition(W.variableName),color:"#00f"},{tag:W.local(W.variableName),color:"#30a"},{tag:[W.typeName,W.namespace],color:"#085"},{tag:W.className,color:"#167"},{tag:[W.special(W.variableName),W.macroName],color:"#256"},{tag:W.definition(W.propertyName),color:"#00c"},{tag:W.comment,color:"#940"},{tag:W.invalid,color:"#f00"}]);var G7=1e4,j7="()[]{}";var q7=new me;function jC(t,e,n){let o=t.prop(e<0?me.openedBy:me.closedBy);if(o)return o;if(t.name.length==1){let r=n.indexOf(t.name);if(r>-1&&r%2==(e<0?1:0))return[n[r+e]]}return null}function qC(t){let e=t.type.prop(q7);return e?e(t.node):t}function Rl(t,e,n,o={}){let r=o.maxScanDistance||G7,i=o.brackets||j7,s=Dt(t),l=s.resolveInner(e,n);for(let a=l;a;a=a.parent){let u=jC(a.type,n,i);if(u&&a.from<a.to){let c=qC(a);if(c&&(n>0?e>=c.from&&e<c.to:e>c.from&&e<=c.to))return Q7(t,e,n,a,c,u,i)}}return J7(t,e,n,s,l.type,r,i)}function Q7(t,e,n,o,r,i,s){let l=o.parent,a={from:r.from,to:r.to},u=0,c=l==null?void 0:l.cursor();if(c&&(n<0?c.childBefore(o.from):c.childAfter(o.to)))do if(n<0?c.to<=o.from:c.from>=o.to){if(u==0&&i.indexOf(c.type.name)>-1&&c.from<c.to){let d=qC(c);return{start:a,end:d?{from:d.from,to:d.to}:void 0,matched:!0}}else if(jC(c.type,n,s))u++;else if(jC(c.type,-n,s)){if(u==0){let d=qC(c);return{start:a,end:d&&d.from<d.to?{from:d.from,to:d.to}:void 0,matched:!1}}u--}}while(n<0?c.prevSibling():c.nextSibling());return{start:a,matched:!1}}function J7(t,e,n,o,r,i,s){let l=n<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),a=s.indexOf(l);if(a<0||a%2==0!=n>0)return null;let u={from:n<0?e-1:e,to:n>0?e+1:e},c=t.doc.iterRange(e,n>0?t.doc.length:0),d=0;for(let f=0;!c.next().done&&f<=i;){let p=c.value;n<0&&(f+=p.length);let g=e+f*n;for(let y=n>0?0:p.length-1,m=n>0?p.length:-1;y!=m;y+=n){let h=s.indexOf(p[y]);if(!(h<0||o.resolveInner(g+y,1).type!=r))if(h%2==0==n>0)d++;else{if(d==1)return{start:u,end:{from:g+y,to:g+y+1},matched:h>>1==a>>1};d--}}n>0&&(f+=p.length)}return c.done?{start:u,matched:!1}:null}var X7=Object.create(null),dA=[Lt.none];var fA=[],Y7=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Y7[t]=Z7(X7,e);function WC(t,e){fA.indexOf(t)>-1||(fA.push(t),console.warn(e))}function Z7(t,e){let n=null;for(let i of e.split(".")){let s=t[i]||W[i];s?typeof s=="function"?n?n=s(n):WC(i,`Modifier ${i} used at start of tag`):n?WC(i,`Tag ${i} used as modifier`):n=s:WC(i,`Unknown highlighting tag ${i}`)}if(!n)return 0;let o=e.replace(/ /g,"_"),r=Lt.define({id:dA.length,name:o,props:[Il({[o]:n})]});return dA.push(r),r.id}var mg=class{constructor(e,n,o){this.state=e,this.pos=n,this.explicit=o,this.abortListeners=[]}tokenBefore(e){let n=Dt(this.state).resolveInner(this.pos,-1);for(;n&&e.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(e){let n=this.state.doc.lineAt(this.pos),o=Math.max(n.from,this.pos-250),r=n.text.slice(o-n.from,this.pos-n.from),i=r.search(TA(e,!1));return i<0?null:{from:o+i,to:this.pos,text:r.slice(i)}}get aborted(){return this.abortListeners==null}addEventListener(e,n){e=="abort"&&this.abortListeners&&this.abortListeners.push(n)}};function gA(t){let e=Object.keys(t).join(""),n=/\w/.test(e);return n&&(e=e.replace(/\w/g,"")),`[${n?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function eV(t){let e=Object.create(null),n=Object.create(null);for(let{label:r}of t){e[r[0]]=!0;for(let i=1;i<r.length;i++)n[r[i]]=!0}let o=gA(e)+gA(n)+"*$";return[new RegExp("^"+o),new RegExp(o)]}function tV(t){let e=t.map(r=>typeof r=="string"?{label:r}:r),[n,o]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:eV(e);return r=>{let i=r.matchBefore(o);return i||r.explicit?{from:i?i.from:r.pos,options:e,validFor:n}:null}}var hg=class{constructor(e,n,o,r){this.completion=e,this.source=n,this.match=o,this.score=r}};function us(t){return t.selection.main.from}function TA(t,e){var n;let{source:o}=t,r=e&&o[0]!="^",i=o[o.length-1]!="$";return!r&&!i?t:new RegExp(`${r?"^":""}(?:${o})${i?"$":""}`,(n=t.flags)!==null&&n!==void 0?n:t.ignoreCase?"i":"")}var nV=Ln.define();function oV(t,e,n,o){let{main:r}=t.selection,i=n-r.from,s=o-r.from;return Object.assign(Object.assign({},t.changeByRange(l=>l!=r&&n!=o&&t.sliceDoc(l.from+i,l.from+s)!=t.sliceDoc(n,o)?{range:l}:{changes:{from:l.from+i,to:o==r.from?l.to:l.from+s,insert:e},range:z.cursor(l.from+i+e.length)})),{userEvent:"input.complete"})}var yA=new WeakMap;function rV(t){if(!Array.isArray(t))return t;let e=yA.get(t);return e||yA.set(t,e=tV(t)),e}var nw=De.define(),yf=De.define(),YC=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n<e.length;){let o=Jt(e,n),r=vo(o);this.chars.push(o);let i=e.slice(n,n+r),s=i.toUpperCase();this.folded.push(Jt(s==i?i.toLowerCase():s,0)),n+=r}this.astral=e.length!=this.chars.length}ret(e,n){return this.score=e,this.matched=n,!0}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return!1;let{chars:n,folded:o,any:r,precise:i,byWord:s}=this;if(n.length==1){let v=Jt(e,0),x=vo(v),b=x==e.length?0:-100;if(v!=n[0])if(v==o[0])b+=-200;else return!1;return this.ret(b,[0,x])}let l=e.indexOf(this.pattern);if(l==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let a=n.length,u=0;if(l<0){for(let v=0,x=Math.min(e.length,200);v<x&&u<a;){let b=Jt(e,v);(b==n[u]||b==o[u])&&(r[u++]=v),v+=vo(b)}if(u<a)return!1}let c=0,d=0,f=!1,p=0,g=-1,y=-1,m=/[a-z]/.test(e),h=!0;for(let v=0,x=Math.min(e.length,200),b=0;v<x&&d<a;){let S=Jt(e,v);l<0&&(c<a&&S==n[c]&&(i[c++]=v),p<a&&(S==n[p]||S==o[p]?(p==0&&(g=v),y=v+1,p++):p=0));let C,w=S<255?S>=48&&S<=57||S>=97&&S<=122?2:S>=65&&S<=90?1:0:(C=D0(S))!=C.toLowerCase()?1:C!=C.toUpperCase()?2:0;(!v||w==1&&m||b==0&&w!=0)&&(n[d]==S||o[d]==S&&(f=!0)?s[d++]=v:s.length&&(h=!1)),b=w,v+=vo(S)}return d==a&&s[0]==0&&h?this.result(-100+(f?-200:0),s,e):p==a&&g==0?this.ret(-200-e.length+(y==e.length?0:-100),[0,y]):l>-1?this.ret(-700-e.length,[l,l+this.pattern.length]):p==a?this.ret(-200+-700-e.length,[g,y]):d==a?this.result(-100+(f?-200:0)+-700+(h?0:-1100),s,e):n.length==2?!1:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,n,o){let r=[],i=0;for(let s of n){let l=s+(this.astral?vo(Jt(o,s)):1);i&&r[i-1]==s?r[i-1]=l:(r[i++]=s,r[i++]=l)}return this.ret(e-o.length,r)}},On=le.define({combine(t){return es(t,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:iV,compareCompletions:(e,n)=>e.label.localeCompare(n.label),interactionDelay:75},{defaultKeymap:(e,n)=>e&&n,closeOnBlur:(e,n)=>e&&n,icons:(e,n)=>e&&n,tooltipClass:(e,n)=>o=>bA(e(o),n(o)),optionClass:(e,n)=>o=>bA(e(o),n(o)),addToOptions:(e,n)=>e.concat(n)})}});function bA(t,e){return t?e?t+" "+e:t:e}function iV(t,e,n,o,r){let i=t.textDirection==Ze.RTL,s=i,l=!1,a="top",u,c,d=e.left-r.left,f=r.right-e.right,p=o.right-o.left,g=o.bottom-o.top;if(s&&d<Math.min(p,f)?s=!1:!s&&f<Math.min(p,d)&&(s=!0),p<=(s?d:f))u=Math.max(r.top,Math.min(n.top,r.bottom-g))-e.top,c=Math.min(400,s?d:f);else{l=!0,c=Math.min(400,(i?e.right:r.right-e.left)-30);let y=r.bottom-e.bottom;y>=g||y>e.top?u=n.bottom-e.top:(a="bottom",u=e.bottom-n.top)}return{style:`${a}: ${u}px; max-width: ${c}px`,class:"cm-completionInfo-"+(l?i?"left-narrow":"right-narrow":s?"left":"right")}}function sV(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(n){let o=document.createElement("div");return o.classList.add("cm-completionIcon"),n.type&&o.classList.add(...n.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),o.setAttribute("aria-hidden","true"),o},position:20}),e.push({render(n,o,r){let i=document.createElement("span");i.className="cm-completionLabel";let s=n.displayLabel||n.label,l=0;for(let a=0;a<r.length;){let u=r[a++],c=r[a++];u>l&&i.appendChild(document.createTextNode(s.slice(l,u)));let d=i.appendChild(document.createElement("span"));d.appendChild(document.createTextNode(s.slice(u,c))),d.className="cm-completionMatchedText",l=c}return l<s.length&&i.appendChild(document.createTextNode(s.slice(l))),i},position:50},{render(n){if(!n.detail)return null;let o=document.createElement("span");return o.className="cm-completionDetail",o.textContent=n.detail,o},position:80}),e.sort((n,o)=>n.position-o.position).map(n=>n.render)}function vA(t,e,n){if(t<=n)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let r=Math.floor(e/n);return{from:r*n,to:(r+1)*n}}let o=Math.floor((t-e)/n);return{from:t-(o+1)*n,to:t-o*n}}var ZC=class{constructor(e,n,o){this.view=e,this.stateField=n,this.applyCompletion=o,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:a=>this.placeInfo(a),key:this},this.space=null,this.currentClass="";let r=e.state.field(n),{options:i,selected:s}=r.open,l=e.state.facet(On);this.optionContent=sV(l),this.optionClass=l.optionClass,this.tooltipClass=l.tooltipClass,this.range=vA(i.length,s,l.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",a=>{for(let u=a.target,c;u&&u!=this.dom;u=u.parentNode)if(u.nodeName=="LI"&&(c=/-(\d+)$/.exec(u.id))&&+c[1]<i.length){this.applyCompletion(e,i[+c[1]]),a.preventDefault();return}}),this.dom.addEventListener("focusout",a=>{let u=e.state.field(this.stateField,!1);u&&u.tooltip&&e.state.facet(On).closeOnBlur&&a.relatedTarget!=e.contentDOM&&e.dispatch({effects:yf.of(null)})}),this.list=this.dom.appendChild(this.createListBox(i,r.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}mount(){this.updateSel()}update(e){var n,o,r;let i=e.state.field(this.stateField),s=e.startState.field(this.stateField);this.updateTooltipClass(e.state),i!=s&&(this.updateSel(),((n=i.open)===null||n===void 0?void 0:n.disabled)!=((o=s.open)===null||o===void 0?void 0:o.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!(!((r=i.open)===null||r===void 0)&&r.disabled)))}updateTooltipClass(e){let n=this.tooltipClass(e);if(n!=this.currentClass){for(let o of this.currentClass.split(" "))o&&this.dom.classList.remove(o);for(let o of n.split(" "))o&&this.dom.classList.add(o);this.currentClass=n}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),n=e.open;if((n.selected>-1&&n.selected<this.range.from||n.selected>=this.range.to)&&(this.range=vA(n.options.length,n.selected,this.view.state.facet(On).maxRenderedOptions),this.list.remove(),this.list=this.dom.appendChild(this.createListBox(n.options,e.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})),this.updateSelectedOption(n.selected)){this.destroyInfo();let{completion:o}=n.options[n.selected],{info:r}=o;if(!r)return;let i=typeof r=="string"?document.createTextNode(r):r(o);if(!i)return;"then"in i?i.then(s=>{s&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(s,o)}).catch(s=>Zn(this.view.state,s,"completion info")):this.addInfoPane(i,o)}}addInfoPane(e,n){this.destroyInfo();let o=this.info=document.createElement("div");if(o.className="cm-tooltip cm-completionInfo",e.nodeType!=null)o.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:i}=e;o.appendChild(r),this.infoDestroy=i||null}this.dom.appendChild(o),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let n=null;for(let o=this.list.firstChild,r=this.range.from;o;o=o.nextSibling,r++)o.nodeName!="LI"||!o.id?r--:r==e?o.hasAttribute("aria-selected")||(o.setAttribute("aria-selected","true"),n=o):o.hasAttribute("aria-selected")&&o.removeAttribute("aria-selected");return n&&aV(this.list,n),n}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let n=this.dom.getBoundingClientRect(),o=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),i=this.space;if(!i){let s=this.dom.ownerDocument.defaultView||window;i={left:0,top:0,right:s.innerWidth,bottom:s.innerHeight}}return r.top>Math.min(i.bottom,n.bottom)-10||r.bottom<Math.max(i.top,n.top)+10?null:this.view.state.facet(On).positionInfo(this.view,n,r,o,i)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,n,o){let r=document.createElement("ul");r.id=n,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions"));let i=null;for(let s=o.from;s<o.to;s++){let{completion:l,match:a}=e[s],{section:u}=l;if(u){let f=typeof u=="string"?u:u.name;if(f!=i&&(s>o.from||o.from==0))if(i=f,typeof u!="string"&&u.header)r.appendChild(u.header(u));else{let p=r.appendChild(document.createElement("completion-section"));p.textContent=f}}let c=r.appendChild(document.createElement("li"));c.id=n+"-"+s,c.setAttribute("role","option");let d=this.optionClass(l);d&&(c.className=d);for(let f of this.optionContent){let p=f(l,this.view.state,a);p&&c.appendChild(p)}}return o.from&&r.classList.add("cm-completionListIncompleteTop"),o.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function lV(t,e){return n=>new ZC(n,t,e)}function aV(t,e){let n=t.getBoundingClientRect(),o=e.getBoundingClientRect();o.top<n.top?t.scrollTop-=n.top-o.top:o.bottom>n.bottom&&(t.scrollTop+=o.bottom-n.bottom)}function xA(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function uV(t,e){let n=[],o=null,r=a=>{n.push(a);let{section:u}=a.completion;if(u){o||(o=[]);let c=typeof u=="string"?u:u.name;o.some(d=>d.name==c)||o.push(typeof u=="string"?{name:c}:u)}};for(let a of t)if(a.hasResult()){let u=a.result.getMatch;if(a.result.filter===!1)for(let c of a.result.options)r(new hg(c,a.source,u?u(c):[],1e9-n.length));else{let c=new YC(e.sliceDoc(a.from,a.to));for(let d of a.result.options)if(c.match(d.label)){let f=d.displayLabel?u?u(d,c.matched):[]:c.matched;r(new hg(d,a.source,f,c.score+(d.boost||0)))}}}if(o){let a=Object.create(null),u=0,c=(d,f)=>{var p,g;return((p=d.rank)!==null&&p!==void 0?p:1e9)-((g=f.rank)!==null&&g!==void 0?g:1e9)||(d.name<f.name?-1:1)};for(let d of o.sort(c))u-=1e5,a[d.name]=u;for(let d of n){let{section:f}=d.completion;f&&(d.score+=a[typeof f=="string"?f:f.name])}}let i=[],s=null,l=e.facet(On).compareCompletions;for(let a of n.sort((u,c)=>c.score-u.score||l(u.completion,c.completion))){let u=a.completion;!s||s.label!=u.label||s.detail!=u.detail||s.type!=null&&u.type!=null&&s.type!=u.type||s.apply!=u.apply||s.boost!=u.boost?i.push(a):xA(a.completion)>xA(s)&&(i[i.length-1]=a),s=a.completion}return i}var as=class{constructor(e,n,o,r,i,s){this.options=e,this.attrs=n,this.tooltip=o,this.timestamp=r,this.selected=i,this.disabled=s}setSelected(e,n){return e==this.selected||e>=this.options.length?this:new as(this.options,CA(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,o,r,i){let s=uV(e,n);if(!s.length)return r&&e.some(a=>a.state==1)?new as(r.options,r.attrs,r.tooltip,r.timestamp,r.selected,!0):null;let l=n.facet(On).selectOnOpen?0:-1;if(r&&r.selected!=l&&r.selected!=-1){let a=r.options[r.selected].completion;for(let u=0;u<s.length;u++)if(s[u].completion==a){l=u;break}}return new as(s,CA(o,l),{pos:e.reduce((a,u)=>u.hasResult()?Math.min(a,u.from):a,1e8),create:lV(eo,IA),above:i.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new as(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}},Au=class{constructor(e,n,o){this.active=e,this.id=n,this.open=o}static start(){return new Au(fV,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,o=n.facet(On),i=(o.override||n.languageDataAt("autocomplete",us(n)).map(rV)).map(l=>(this.active.find(u=>u.source==l)||new Zt(l,this.active.some(u=>u.state!=0)?1:0)).update(e,o));i.length==this.active.length&&i.every((l,a)=>l==this.active[a])&&(i=this.active);let s=this.open;s&&e.docChanged&&(s=s.map(e.changes)),e.selection||i.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!cV(i,this.active)?s=as.build(i,n,this.id,s,o):s&&s.disabled&&!i.some(l=>l.state==1)&&(s=null),!s&&i.every(l=>l.state!=1)&&i.some(l=>l.hasResult())&&(i=i.map(l=>l.hasResult()?new Zt(l.source,0):l));for(let l of e.effects)l.is(MA)&&(s=s&&s.setSelected(l.value,this.id));return i==this.active&&s==this.open?this:new Au(i,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:dV}};function cV(t,e){if(t==e)return!0;for(let n=0,o=0;;){for(;n<t.length&&!t[n].hasResult;)n++;for(;o<e.length&&!e[o].hasResult;)o++;let r=n==t.length,i=o==e.length;if(r||i)return r==i;if(t[n++].result!=e[o++].result)return!1}}var dV={"aria-autocomplete":"list"};function CA(t,e){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(n["aria-activedescendant"]=t+"-"+e),n}var fV=[];function ew(t){return t.isUserEvent("input.type")?"input":t.isUserEvent("delete.backward")?"delete":null}var Zt=class{constructor(e,n,o=-1){this.source=e,this.state=n,this.explicitPos=o}hasResult(){return!1}update(e,n){let o=ew(e),r=this;o?r=r.handleUserEvent(e,o,n):e.docChanged?r=r.handleChange(e):e.selection&&r.state!=0&&(r=new Zt(r.source,0));for(let i of e.effects)if(i.is(nw))r=new Zt(r.source,1,i.value?us(e.state):-1);else if(i.is(yf))r=new Zt(r.source,0);else if(i.is(kA))for(let s of i.value)s.source==r.source&&(r=s);return r}handleUserEvent(e,n,o){return n=="delete"||!o.activateOnTyping?this.map(e.changes):new Zt(this.source,1)}handleChange(e){return e.changes.touchesRange(us(e.startState))?new Zt(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new Zt(this.source,this.state,e.mapPos(this.explicitPos))}},cs=class extends Zt{constructor(e,n,o,r,i){super(e,2,n),this.result=o,this.from=r,this.to=i}hasResult(){return!0}handleUserEvent(e,n,o){var r;let i=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),l=us(e.state);if((this.explicitPos<0?l<=i:l<this.from)||l>s||n=="delete"&&us(e.startState)==this.from)return new Zt(this.source,n=="input"&&o.activateOnTyping?1:0);let a=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos),u;return pV(this.result.validFor,e.state,i,s)?new cs(this.source,a,this.result,i,s):this.result.update&&(u=this.result.update(this.result,i,s,new mg(e.state,l,a>=0)))?new cs(this.source,a,u,u.from,(r=u.to)!==null&&r!==void 0?r:us(e.state)):new Zt(this.source,1,a)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new Zt(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new cs(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}};function pV(t,e,n,o){if(!t)return!1;let r=e.sliceDoc(n,o);return typeof t=="function"?t(r,n,o,e):TA(t,!0).test(r)}var kA=De.define({map(t,e){return t.map(n=>n.map(e))}}),MA=De.define(),eo=Yt.define({create(){return Au.start()},update(t,e){return t.update(e)},provide:t=>[DC.from(t,e=>e.tooltip),ae.contentAttributes.from(t,e=>e.attrs)]});function IA(t,e){let n=e.completion.apply||e.completion.label,o=t.state.field(eo).active.find(r=>r.source==e.source);return o instanceof cs?(typeof n=="string"?t.dispatch(Object.assign(Object.assign({},oV(t.state,n,o.from,o.to)),{annotations:nV.of(e.completion)})):n(t,e.completion,o.from,o.to),!0):!1}function pg(t,e="option"){return n=>{let o=n.state.field(eo,!1);if(!o||!o.open||o.open.disabled||Date.now()-o.open.timestamp<n.state.facet(On).interactionDelay)return!1;let r=1,i;e=="page"&&(i=RC(n,o.open.tooltip))&&(r=Math.max(2,Math.floor(i.dom.offsetHeight/i.dom.querySelector("li").offsetHeight)-1));let{length:s}=o.open.options,l=o.open.selected>-1?o.open.selected+r*(t?1:-1):t?0:s-1;return l<0?l=e=="page"?0:s-1:l>=s&&(l=e=="page"?s-1:0),n.dispatch({effects:MA.of(l)}),!0}}var mV=t=>{let e=t.state.field(eo,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(On).interactionDelay?!1:IA(t,e.open.options[e.open.selected])},Nu=t=>t.state.field(eo,!1)?(t.dispatch({effects:nw.of(!0)}),!0):!1,hV=t=>{let e=t.state.field(eo,!1);return!e||!e.active.some(n=>n.state!=0)?!1:(t.dispatch({effects:yf.of(null)}),!0)},tw=class{constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}},wA=50,gV=50,yV=1e3,bV=Nn.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let e of t.state.field(eo).active)e.state==1&&this.startQuery(e)}update(t){let e=t.state.field(eo);if(!t.selectionSet&&!t.docChanged&&t.startState.field(eo)==e)return;let n=t.transactions.some(o=>(o.selection||o.docChanged)&&!ew(o));for(let o=0;o<this.running.length;o++){let r=this.running[o];if(n||r.updates.length+t.transactions.length>gV&&Date.now()-r.time>yV){for(let i of r.context.abortListeners)try{i()}catch(s){Zn(this.view.state,s)}r.context.abortListeners=null,this.running.splice(o--,1)}else r.updates.push(...t.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=e.active.some(o=>o.state==1&&!this.running.some(r=>r.active.source==o.source))?setTimeout(()=>this.startUpdate(),wA):-1,this.composing!=0)for(let o of t.transactions)ew(o)=="input"?this.composing=2:this.composing==2&&o.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:t}=this.view,e=t.field(eo);for(let n of e.active)n.state==1&&!this.running.some(o=>o.active.source==n.source)&&this.startQuery(n)}startQuery(t){let{state:e}=this.view,n=us(e),o=new mg(e,n,t.explicitPos==n),r=new tw(t,o);this.running.push(r),Promise.resolve(t.source(o)).then(i=>{r.context.aborted||(r.done=i||null,this.scheduleAccept())},i=>{this.view.dispatch({effects:yf.of(null)}),Zn(this.view.state,i)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),wA))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(On);for(let o=0;o<this.running.length;o++){let r=this.running[o];if(r.done===void 0)continue;if(this.running.splice(o--,1),r.done){let s=new cs(r.active.source,r.active.explicitPos,r.done,r.done.from,(t=r.done.to)!==null&&t!==void 0?t:us(r.updates.length?r.updates[0].startState:this.view.state));for(let l of r.updates)s=s.update(l,n);if(s.hasResult()){e.push(s);continue}}let i=this.view.state.field(eo).active.find(s=>s.source==r.active.source);if(i&&i.state==1)if(r.done==null){let s=new Zt(r.active.source,0);for(let l of r.updates)s=s.update(l,n);s.state!=1&&e.push(s)}else this.startQuery(i)}e.length&&this.view.dispatch({effects:kA.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(eo,!1);if(e&&e.tooltip&&this.view.state.facet(On).closeOnBlur){let n=e.open&&RC(this.view,e.open.tooltip);(!n||!n.dom.contains(t.relatedTarget))&&this.view.dispatch({effects:yf.of(null)})}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:nw.of(!1)}),20),this.composing=0}}}),vV=ae.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});var gg={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Ll=De.define({map(t,e){let n=e.mapPos(t,-1,Qt.TrackAfter);return n==null?void 0:n}}),ow=new class extends Wo{};ow.startSide=1;ow.endSide=-1;var PA=Yt.define({create(){return Fe.empty},update(t,e){if(e.selection){let n=e.state.doc.lineAt(e.selection.main.head).from,o=e.startState.doc.lineAt(e.startState.selection.main.head).from;n!=e.changes.mapPos(o,-1)&&(t=Fe.empty)}t=t.map(e.changes);for(let n of e.effects)n.is(Ll)&&(t=t.update({add:[ow.range(n.value,n.value+1)]}));return t}});function rw(){return[SV,PA]}var XC="()[]{}<>";function xV(t){for(let e=0;e<XC.length;e+=2)if(XC.charCodeAt(e)==t)return XC.charAt(e+1);return D0(t<128?t:t+1)}function CV(t,e){return t.languageDataAt("closeBrackets",e)[0]||gg}var wV=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),SV=ae.inputHandler.of((t,e,n,o)=>{if((wV?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let r=t.state.selection.main;if(o.length>2||o.length==2&&vo(Jt(o,0))==1||e!=r.from||n!=r.to)return!1;let i=EV(t.state,o);return i?(t.dispatch(i),!0):!1});function EV(t,e){let n=CV(t,t.selection.main.head),o=n.brackets||gg.brackets;for(let r of o){let i=xV(Jt(r,0));if(e==r)return i==r?MV(t,r,o.indexOf(r+r+r)>-1,n):TV(t,r,i,n.before||gg.before);if(e==i&&DA(t,t.selection.main.from))return kV(t,r,i)}return null}function DA(t,e){let n=!1;return t.field(PA).between(0,t.doc.length,o=>{o==e&&(n=!0)}),n}function iw(t,e){let n=t.sliceString(e,e+2);return n.slice(0,vo(Jt(n,0)))}function TV(t,e,n,o){let r=null,i=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:n,from:s.to}],effects:Ll.of(s.to+e.length),range:z.range(s.anchor+e.length,s.head+e.length)};let l=iw(t.doc,s.head);return!l||/\s/.test(l)||o.indexOf(l)>-1?{changes:{insert:e+n,from:s.head},effects:Ll.of(s.head+e.length),range:z.cursor(s.head+e.length)}:{range:r=s}});return r?null:t.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function kV(t,e,n){let o=null,r=t.changeByRange(i=>i.empty&&iw(t.doc,i.head)==n?{changes:{from:i.head,to:i.head+n.length,insert:n},range:z.cursor(i.head+n.length)}:o={range:i});return o?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function MV(t,e,n,o){let r=o.stringPrefixes||gg.stringPrefixes,i=null,s=t.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:e,from:l.to}],effects:Ll.of(l.to+e.length),range:z.range(l.anchor+e.length,l.head+e.length)};let a=l.head,u=iw(t.doc,a),c;if(u==e){if(SA(t,a))return{changes:{insert:e+e,from:a},effects:Ll.of(a+e.length),range:z.cursor(a+e.length)};if(DA(t,a)){let f=n&&t.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+f.length,insert:f},range:z.cursor(a+f.length)}}}else{if(n&&t.sliceDoc(a-2*e.length,a)==e+e&&(c=EA(t,a-2*e.length,r))>-1&&SA(t,c))return{changes:{insert:e+e+e+e,from:a},effects:Ll.of(a+e.length),range:z.cursor(a+e.length)};if(t.charCategorizer(a)(u)!=pn.Word&&EA(t,a,r)>-1&&!IV(t,a,e,r))return{changes:{insert:e+e,from:a},effects:Ll.of(a+e.length),range:z.cursor(a+e.length)}}return{range:i=l}});return i?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function SA(t,e){let n=Dt(t).resolveInner(e+1);return n.parent&&n.from==e}function IV(t,e,n,o){let r=Dt(t).resolveInner(e,-1),i=o.reduce((s,l)=>Math.max(s,l.length),0);for(let s=0;s<5;s++){let l=t.sliceDoc(r.from,Math.min(r.to,r.from+n.length+i)),a=l.indexOf(n);if(!a||a>-1&&o.indexOf(l.slice(0,a))>-1){let c=r.firstChild;for(;c&&c.from==r.from&&c.to-c.from>n.length+a;){if(t.sliceDoc(c.to-n.length,c.to)==n)return!1;c=c.firstChild}return!0}let u=r.to==e&&r.parent;if(!u)break;r=u}return!1}function EA(t,e,n){let o=t.charCategorizer(e);if(o(t.sliceDoc(e-1,e))!=pn.Word)return e;for(let r of n){let i=e-r.length;if(t.sliceDoc(i,e)==r&&o(t.sliceDoc(i-1,i))!=pn.Word)return i}return-1}function yg(t={}){return[eo,On.of(t),bV,DV,vV]}var PV=[{key:"Ctrl-Space",run:Nu},{key:"Escape",run:hV},{key:"ArrowDown",run:pg(!0)},{key:"ArrowUp",run:pg(!1)},{key:"PageDown",run:pg(!0,"page")},{key:"PageUp",run:pg(!1,"page")},{key:"Enter",run:mV}],DV=Zi.highest(br.computeN([On],t=>t.facet(On).defaultKeymap?[PV]:[]));var RV=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),o=fw(t.state,n.from);return o.line?LV(t):o.block?NV(t):!1};function dw(t,e){return({state:n,dispatch:o})=>{if(n.readOnly)return!1;let r=t(e,n);return r?(o(n.update(r)),!0):!1}}var LV=dw(FV,0);var AV=dw(BA,0);var NV=dw((t,e)=>BA(t,e,OV(e)),0);function fw(t,e){let n=t.languageDataAt("commentTokens",e);return n.length?n[0]:{}}var bf=50;function HV(t,{open:e,close:n},o,r){let i=t.sliceDoc(o-bf,o),s=t.sliceDoc(r,r+bf),l=/\s*$/.exec(i)[0].length,a=/^\s*/.exec(s)[0].length,u=i.length-l;if(i.slice(u-e.length,u)==e&&s.slice(a,a+n.length)==n)return{open:{pos:o-l,margin:l&&1},close:{pos:r+a,margin:a&&1}};let c,d;r-o<=2*bf?c=d=t.sliceDoc(o,r):(c=t.sliceDoc(o,o+bf),d=t.sliceDoc(r-bf,r));let f=/^\s*/.exec(c)[0].length,p=/\s*$/.exec(d)[0].length,g=d.length-p-n.length;return c.slice(f,f+e.length)==e&&d.slice(g,g+n.length)==n?{open:{pos:o+f+e.length,margin:/\s/.test(c.charAt(f+e.length))?1:0},close:{pos:r-p-n.length,margin:/\s/.test(d.charAt(g-1))?1:0}}:null}function OV(t){let e=[];for(let n of t.selection.ranges){let o=t.doc.lineAt(n.from),r=n.to<=o.to?o:t.doc.lineAt(n.to),i=e.length-1;i>=0&&e[i].to>o.from?e[i].to=r.to:e.push({from:o.from+/^\s*/.exec(o.text)[0].length,to:r.to})}return e}function BA(t,e,n=e.selection.ranges){let o=n.map(i=>fw(e,i.from).block);if(!o.every(i=>i))return null;let r=n.map((i,s)=>HV(e,o[s],i.from,i.to));if(t!=2&&!r.every(i=>i))return{changes:e.changes(n.map((i,s)=>r[s]?[]:[{from:i.from,insert:o[s].open+" "},{from:i.to,insert:" "+o[s].close}]))};if(t!=1&&r.some(i=>i)){let i=[];for(let s=0,l;s<r.length;s++)if(l=r[s]){let a=o[s],{open:u,close:c}=l;i.push({from:u.pos-a.open.length,to:u.pos+u.margin},{from:c.pos-c.margin,to:c.pos+a.close.length})}return{changes:i}}return null}function FV(t,e,n=e.selection.ranges){let o=[],r=-1;for(let{from:i,to:s}of n){let l=o.length,a=1e9,u=fw(e,i).line;if(u){for(let c=i;c<=s;){let d=e.doc.lineAt(c);if(d.from>r&&(i==s||s>d.from)){r=d.from;let f=/^\s*/.exec(d.text)[0].length,p=f==d.length,g=d.text.slice(f,f+u.length)==u?f:-1;f<d.text.length&&f<a&&(a=f),o.push({line:d,comment:g,token:u,indent:f,empty:p,single:!1})}c=d.to+1}if(a<1e9)for(let c=l;c<o.length;c++)o[c].indent<o[c].line.text.length&&(o[c].indent=a);o.length==l+1&&(o[l].single=!0)}}if(t!=2&&o.some(i=>i.comment<0&&(!i.empty||i.single))){let i=[];for(let{line:l,token:a,indent:u,empty:c,single:d}of o)(d||!c)&&i.push({from:l.from+u,insert:a+" "});let s=e.changes(i);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&o.some(i=>i.comment>=0)){let i=[];for(let{line:s,comment:l,token:a}of o)if(l>=0){let u=s.from+l,c=u+a.length;s.text[c-s.from]==" "&&c++,i.push({from:u,to:c})}return{changes:i}}return null}var lw=Ln.define(),BV=Ln.define(),VV=le.define(),VA=le.define({combine(t){return es(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,n)=>(o,r)=>e(o,r)||n(o,r)})}});function zV(t){let e=0;return t.iterChangedRanges((n,o)=>e=o),e}var zA=Yt.define({create(){return To.empty},update(t,e){let n=e.state.facet(VA),o=e.annotation(lw);if(o){let a=e.docChanged?z.single(zV(e.changes)):void 0,u=en.fromTransaction(e,a),c=o.side,d=c==0?t.undone:t.done;return u?d=vg(d,d.length,n.minDepth,u):d=WA(d,e.startState.selection),new To(c==0?o.rest:d,c==0?d:o.rest)}let r=e.annotation(BV);if((r=="full"||r=="before")&&(t=t.isolate()),e.annotation(Xe.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let i=en.fromTransaction(e),s=e.annotation(Xe.time),l=e.annotation(Xe.userEvent);return i?t=t.addChanges(i,s,l,n,e):e.selection&&(t=t.addSelection(e.startState.selection,s,l,n.newGroupDelay)),(r=="full"||r=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new To(t.done.map(en.fromJSON),t.undone.map(en.fromJSON))}});function pw(t={}){return[zA,VA.of(t),ae.domEventHandlers({beforeinput(e,n){let o=e.inputType=="historyUndo"?$A:e.inputType=="historyRedo"?aw:null;return o?(e.preventDefault(),o(n)):!1}})]}function xg(t,e){return function({state:n,dispatch:o}){if(!e&&n.readOnly)return!1;let r=n.field(zA,!1);if(!r)return!1;let i=r.pop(t,n,e);return i?(o(i),!0):!1}}var $A=xg(0,!1),aw=xg(1,!1),$V=xg(0,!0),_V=xg(1,!0);var en=class{constructor(e,n,o,r,i){this.changes=e,this.effects=n,this.mapped=o,this.startSelection=r,this.selectionsAfter=i}setSelAfter(e){return new en(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,n,o;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(o=this.startSelection)===null||o===void 0?void 0:o.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new en(e.changes&&Je.fromJSON(e.changes),[],e.mapped&&Xn.fromJSON(e.mapped),e.startSelection&&z.fromJSON(e.startSelection),e.selectionsAfter.map(z.fromJSON))}static fromTransaction(e,n){let o=Eo;for(let r of e.startState.facet(VV)){let i=r(e);i.length&&(o=o.concat(i))}return!o.length&&e.changes.empty?null:new en(e.changes.invert(e.startState.doc),o,void 0,n||e.startState.selection,Eo)}static selection(e){return new en(void 0,Eo,void 0,void 0,e)}};function vg(t,e,n,o){let r=e+1>n+20?e-n-1:0,i=t.slice(r,e);return i.push(o),i}function WV(t,e){let n=[],o=!1;return t.iterChangedRanges((r,i)=>n.push(r,i)),e.iterChangedRanges((r,i,s,l)=>{for(let a=0;a<n.length;){let u=n[a++],c=n[a++];l>=u&&s<=c&&(o=!0)}}),o}function KV(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,o)=>n.empty!=e.ranges[o].empty).length===0}function _A(t,e){return t.length?e.length?t.concat(e):t:e}var Eo=[],UV=200;function WA(t,e){if(t.length){let n=t[t.length-1],o=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-UV));return o.length&&o[o.length-1].eq(e)?t:(o.push(e),vg(t,t.length-1,1e9,n.setSelAfter(o)))}else return[en.selection([e])]}function GV(t){let e=t[t.length-1],n=t.slice();return n[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),n}function sw(t,e){if(!t.length)return t;let n=t.length,o=Eo;for(;n;){let r=jV(t[n-1],e,o);if(r.changes&&!r.changes.empty||r.effects.length){let i=t.slice(0,n);return i[n-1]=r,i}else e=r.mapped,n--,o=r.selectionsAfter}return o.length?[en.selection(o)]:Eo}function jV(t,e,n){let o=_A(t.selectionsAfter.length?t.selectionsAfter.map(l=>l.map(e)):Eo,n);if(!t.changes)return en.selection(o);let r=t.changes.map(e),i=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(i):i;return new en(r,De.mapEffects(t.effects,e),s,t.startSelection.map(i),o)}var qV=/^(input\.type|delete)($|\.)/,To=class{constructor(e,n,o=0,r=void 0){this.done=e,this.undone=n,this.prevTime=o,this.prevUserEvent=r}isolate(){return this.prevTime?new To(this.done,this.undone):this}addChanges(e,n,o,r,i){let s=this.done,l=s[s.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!o||qV.test(o))&&(!l.selectionsAfter.length&&n-this.prevTime<r.newGroupDelay&&r.joinToEvent(i,WV(l.changes,e.changes))||o=="input.type.compose")?s=vg(s,s.length-1,r.minDepth,new en(e.changes.compose(l.changes),_A(e.effects,l.effects),l.mapped,l.startSelection,Eo)):s=vg(s,s.length,r.minDepth,e),new To(s,Eo,n,o)}addSelection(e,n,o,r){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:Eo;return i.length>0&&n-this.prevTime<r&&o==this.prevUserEvent&&o&&/^select($|\.)/.test(o)&&KV(i[i.length-1],e)?this:new To(WA(this.done,e),this.undone,n,o)}addMapping(e){return new To(sw(this.done,e),sw(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,n,o){let r=e==0?this.done:this.undone;if(r.length==0)return null;let i=r[r.length-1];if(o&&i.selectionsAfter.length)return n.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:lw.of({side:e,rest:GV(r)}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let s=r.length==1?Eo:r.slice(0,r.length-1);return i.mapped&&(s=sw(s,i.mapped)),n.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:lw.of({side:e,rest:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};To.empty=new To(Eo,Eo);var mw=[{key:"Mod-z",run:$A,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:aw,preventDefault:!0},{linux:"Ctrl-Shift-z",run:aw,preventDefault:!0},{key:"Mod-u",run:$V,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:_V,preventDefault:!0}];function Hu(t,e){return z.create(t.ranges.map(e),t.mainIndex)}function Tr(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function jo({state:t,dispatch:e},n){let o=Hu(t.selection,n);return o.eq(t.selection)?!1:(e(Tr(t,o)),!0)}function Cg(t,e){return z.cursor(e?t.to:t.from)}function KA(t,e){return jo(t,n=>n.empty?t.moveByChar(n,e):Cg(n,e))}function tn(t){return t.textDirectionAt(t.state.selection.main.head)==Ze.LTR}var UA=t=>KA(t,!tn(t)),GA=t=>KA(t,tn(t));function jA(t,e){return jo(t,n=>n.empty?t.moveByGroup(n,e):Cg(n,e))}var QV=t=>jA(t,!tn(t)),JV=t=>jA(t,tn(t));function XV(t,e,n){if(e.type.prop(n))return!0;let o=e.to-e.from;return o&&(o>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function wg(t,e,n){let o=Dt(t).resolveInner(e.head),r=n?me.closedBy:me.openedBy;for(let a=e.head;;){let u=n?o.childAfter(a):o.childBefore(a);if(!u)break;XV(t,u,r)?o=u:a=n?u.to:u.from}let i=o.type.prop(r),s,l;return i&&(s=n?Rl(t,o.from,1):Rl(t,o.to,-1))&&s.matched?l=n?s.end.to:s.end.from:l=n?o.to:o.from,z.cursor(l,n?-1:1)}var YV=t=>jo(t,e=>wg(t.state,e,!tn(t))),ZV=t=>jo(t,e=>wg(t.state,e,tn(t)));function qA(t,e){return jo(t,n=>{if(!n.empty)return Cg(n,e);let o=t.moveVertically(n,e);return o.head!=n.head?o:t.moveToLineBoundary(n,e)})}var QA=t=>qA(t,!1),JA=t=>qA(t,!0);function XA(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,n=0,o=0,r;if(e){for(let i of t.state.facet(ae.scrollMargins)){let s=i(t);s!=null&&s.top&&(n=Math.max(s==null?void 0:s.top,n)),s!=null&&s.bottom&&(o=Math.max(s==null?void 0:s.bottom,o))}r=t.scrollDOM.clientHeight-n-o}else r=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:o,selfScroll:e,height:Math.max(t.defaultLineHeight,r-5)}}function YA(t,e){let n=XA(t),{state:o}=t,r=Hu(o.selection,s=>s.empty?t.moveVertically(s,e,n.height):Cg(s,e));if(r.eq(o.selection))return!1;let i;if(n.selfScroll){let s=t.coordsAtPos(o.selection.main.head),l=t.scrollDOM.getBoundingClientRect(),a=l.top+n.marginTop,u=l.bottom-n.marginBottom;s&&s.top>a&&s.bottom<u&&(i=ae.scrollIntoView(r.main.head,{y:"start",yMargin:s.top-a}))}return t.dispatch(Tr(o,r),{effects:i}),!0}var RA=t=>YA(t,!1),uw=t=>YA(t,!0);function ds(t,e,n){let o=t.lineBlockAt(e.head),r=t.moveToLineBoundary(e,n);if(r.head==e.head&&r.head!=(n?o.to:o.from)&&(r=t.moveToLineBoundary(e,n,!1)),!n&&r.head==o.from&&o.length){let i=/^\s*/.exec(t.state.sliceDoc(o.from,Math.min(o.from+100,o.to)))[0].length;i&&e.head!=o.from+i&&(r=z.cursor(o.from+i))}return r}var ez=t=>jo(t,e=>ds(t,e,!0)),tz=t=>jo(t,e=>ds(t,e,!1)),nz=t=>jo(t,e=>ds(t,e,!tn(t))),oz=t=>jo(t,e=>ds(t,e,tn(t))),rz=t=>jo(t,e=>z.cursor(t.lineBlockAt(e.head).from,1)),iz=t=>jo(t,e=>z.cursor(t.lineBlockAt(e.head).to,-1));function sz(t,e,n){let o=!1,r=Hu(t.selection,i=>{let s=Rl(t,i.head,-1)||Rl(t,i.head,1)||i.head>0&&Rl(t,i.head-1,1)||i.head<t.doc.length&&Rl(t,i.head+1,-1);if(!s||!s.end)return i;o=!0;let l=s.start.from==i.head?s.end.to:s.end.from;return n?z.range(i.anchor,l):z.cursor(l)});return o?(e(Tr(t,r)),!0):!1}var lz=({state:t,dispatch:e})=>sz(t,e,!1);function ko(t,e){let n=Hu(t.state.selection,o=>{let r=e(o);return z.range(o.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return n.eq(t.state.selection)?!1:(t.dispatch(Tr(t.state,n)),!0)}function ZA(t,e){return ko(t,n=>t.moveByChar(n,e))}var eN=t=>ZA(t,!tn(t)),tN=t=>ZA(t,tn(t));function nN(t,e){return ko(t,n=>t.moveByGroup(n,e))}var az=t=>nN(t,!tn(t)),uz=t=>nN(t,tn(t));var cz=t=>ko(t,e=>wg(t.state,e,!tn(t))),dz=t=>ko(t,e=>wg(t.state,e,tn(t)));function oN(t,e){return ko(t,n=>t.moveVertically(n,e))}var rN=t=>oN(t,!1),iN=t=>oN(t,!0);function sN(t,e){return ko(t,n=>t.moveVertically(n,e,XA(t).height))}var LA=t=>sN(t,!1),AA=t=>sN(t,!0),fz=t=>ko(t,e=>ds(t,e,!0)),pz=t=>ko(t,e=>ds(t,e,!1)),mz=t=>ko(t,e=>ds(t,e,!tn(t))),hz=t=>ko(t,e=>ds(t,e,tn(t))),gz=t=>ko(t,e=>z.cursor(t.lineBlockAt(e.head).from)),yz=t=>ko(t,e=>z.cursor(t.lineBlockAt(e.head).to)),NA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:0})),!0),HA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:t.doc.length})),!0),OA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:t.selection.main.anchor,head:0})),!0),FA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),bz=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),vz=({state:t,dispatch:e})=>{let n=Eg(t).map(({from:o,to:r})=>z.range(o,Math.min(r+1,t.doc.length)));return e(t.update({selection:z.create(n),userEvent:"select"})),!0},xz=({state:t,dispatch:e})=>{let n=Hu(t.selection,o=>{var r;let i=Dt(t).resolveInner(o.head,1);for(;!(i.from<o.from&&i.to>=o.to||i.to>o.to&&i.from<=o.from||!(!((r=i.parent)===null||r===void 0)&&r.parent));)i=i.parent;return z.range(i.to,i.from)});return e(Tr(t,n)),!0},Cz=({state:t,dispatch:e})=>{let n=t.selection,o=null;return n.ranges.length>1?o=z.create([n.main]):n.main.empty||(o=z.create([z.cursor(n.main.head)])),o?(e(Tr(t,o)),!0):!1};function Sg(t,e){if(t.state.readOnly)return!1;let n="delete.selection",{state:o}=t,r=o.changeByRange(i=>{let{from:s,to:l}=i;if(s==l){let a=e(s);a<s?(n="delete.backward",a=bg(t,a,!1)):a>s&&(n="delete.forward",a=bg(t,a,!0)),s=Math.min(s,a),l=Math.max(l,a)}else s=bg(t,s,!1),l=bg(t,l,!0);return s==l?{range:i}:{changes:{from:s,to:l},range:z.cursor(s)}});return r.changes.empty?!1:(t.dispatch(o.update(r,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?ae.announce.of(o.phrase("Selection deleted")):void 0})),!0)}function bg(t,e,n){if(t instanceof ae)for(let o of t.state.facet(ae.atomicRanges).map(r=>r(t)))o.between(e,e,(r,i)=>{r<e&&i>e&&(e=n?i:r)});return e}var lN=(t,e)=>Sg(t,n=>{let{state:o}=t,r=o.doc.lineAt(n),i,s;if(!e&&n>r.from&&n<r.from+200&&!/[^ \t]/.test(i=r.text.slice(0,n-r.from))){if(i[i.length-1]==" ")return n-1;let l=xl(i,o.tabSize),a=l%hf(o)||hf(o);for(let u=0;u<a&&i[i.length-1-u]==" ";u++)n--;s=n}else s=Xt(r.text,n-r.from,e,e)+r.from,s==n&&r.number!=(e?o.doc.lines:1)&&(s+=e?1:-1);return s}),cw=t=>lN(t,!1),aN=t=>lN(t,!0),uN=(t,e)=>Sg(t,n=>{let o=n,{state:r}=t,i=r.doc.lineAt(o),s=r.charCategorizer(o);for(let l=null;;){if(o==(e?i.to:i.from)){o==n&&i.number!=(e?r.doc.lines:1)&&(o+=e?1:-1);break}let a=Xt(i.text,o-i.from,e)+i.from,u=i.text.slice(Math.min(o,a)-i.from,Math.max(o,a)-i.from),c=s(u);if(l!=null&&c!=l)break;(u!=" "||o!=n)&&(l=c),o=a}return o}),cN=t=>uN(t,!1),wz=t=>uN(t,!0),dN=t=>Sg(t,e=>{let n=t.lineBlockAt(e).to;return e<n?n:Math.min(t.state.doc.length,e+1)}),Sz=t=>Sg(t,e=>{let n=t.lineBlockAt(e).from;return e>n?n:Math.max(0,e-1)});var Ez=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(o=>({changes:{from:o.from,to:o.to,insert:Ce.of(["",""])},range:z.cursor(o.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},Tz=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(o=>{if(!o.empty||o.from==0||o.from==t.doc.length)return{range:o};let r=o.from,i=t.doc.lineAt(r),s=r==i.from?r-1:Xt(i.text,r-i.from,!1)+i.from,l=r==i.to?r+1:Xt(i.text,r-i.from,!0)+i.from;return{changes:{from:s,to:l,insert:t.doc.slice(r,l).append(t.doc.slice(s,r))},range:z.cursor(l)}});return n.changes.empty?!1:(e(t.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Eg(t){let e=[],n=-1;for(let o of t.selection.ranges){let r=t.doc.lineAt(o.from),i=t.doc.lineAt(o.to);if(!o.empty&&o.to==i.from&&(i=t.doc.lineAt(o.to-1)),n>=r.number){let s=e[e.length-1];s.to=i.to,s.ranges.push(o)}else e.push({from:r.from,to:i.to,ranges:[o]});n=i.number+1}return e}function fN(t,e,n){if(t.readOnly)return!1;let o=[],r=[];for(let i of Eg(t)){if(n?i.to==t.doc.length:i.from==0)continue;let s=t.doc.lineAt(n?i.to+1:i.from-1),l=s.length+1;if(n){o.push({from:i.to,to:s.to},{from:i.from,insert:s.text+t.lineBreak});for(let a of i.ranges)r.push(z.range(Math.min(t.doc.length,a.anchor+l),Math.min(t.doc.length,a.head+l)))}else{o.push({from:s.from,to:i.from},{from:i.to,insert:t.lineBreak+s.text});for(let a of i.ranges)r.push(z.range(a.anchor-l,a.head-l))}}return o.length?(e(t.update({changes:o,scrollIntoView:!0,selection:z.create(r,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}var kz=({state:t,dispatch:e})=>fN(t,e,!1),Mz=({state:t,dispatch:e})=>fN(t,e,!0);function pN(t,e,n){if(t.readOnly)return!1;let o=[];for(let r of Eg(t))n?o.push({from:r.from,insert:t.doc.slice(r.from,r.to)+t.lineBreak}):o.push({from:r.to,insert:t.lineBreak+t.doc.slice(r.from,r.to)});return e(t.update({changes:o,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var Iz=({state:t,dispatch:e})=>pN(t,e,!1),Pz=({state:t,dispatch:e})=>pN(t,e,!0),Dz=t=>{if(t.state.readOnly)return!1;let{state:e}=t,n=e.changes(Eg(e).map(({from:r,to:i})=>(r>0?r--:i<e.doc.length&&i++,{from:r,to:i}))),o=Hu(e.selection,r=>t.moveVertically(r,!0)).map(n);return t.dispatch({changes:n,selection:o,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Rz(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=Dt(t).resolveInner(e),o=n.childBefore(e),r=n.childAfter(e),i;return o&&r&&o.to<=e&&r.from>=e&&(i=o.type.prop(me.closedBy))&&i.indexOf(r.name)>-1&&t.doc.lineAt(o.to).from==t.doc.lineAt(r.from).from?{from:o.to,to:r.from}:null}var Lz=mN(!1),Az=mN(!0);function mN(t){return({state:e,dispatch:n})=>{if(e.readOnly)return!1;let o=e.changeByRange(r=>{let{from:i,to:s}=r,l=e.doc.lineAt(i),a=!t&&i==s&&Rz(e,i);t&&(i=s=(s<=l.to?l:e.doc.lineAt(s)).to);let u=new Pl(e,{simulateBreak:i,simulateDoubleBreak:!!a}),c=QC(u,i);for(c==null&&(c=/^\s*/.exec(e.doc.lineAt(i).text)[0].length);s<l.to&&/\s/.test(l.text[s-l.from]);)s++;a?{from:i,to:s}=a:i>l.from&&i<l.from+100&&!/\S/.test(l.text.slice(0,i))&&(i=l.from);let d=["",gf(e,c)];return a&&d.push(gf(e,u.lineIndent(l.from,-1))),{changes:{from:i,to:s,insert:Ce.of(d)},range:z.cursor(i+1+d[1].length)}});return n(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function hw(t,e){let n=-1;return t.changeByRange(o=>{let r=[];for(let s=o.from;s<=o.to;){let l=t.doc.lineAt(s);l.number>n&&(o.empty||o.to>l.from)&&(e(l,r,o),n=l.number),s=l.to+1}let i=t.changes(r);return{changes:r,range:z.range(i.mapPos(o.anchor,1),i.mapPos(o.head,1))}})}var Nz=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=Object.create(null),o=new Pl(t,{overrideIndentation:i=>{let s=n[i];return s==null?-1:s}}),r=hw(t,(i,s,l)=>{let a=QC(o,i.from);if(a==null)return;/\S/.test(i.text)||(a=0);let u=/^\s*/.exec(i.text)[0],c=gf(t,a);(u!=c||l.from<i.from+u.length)&&(n[i.from]=a,s.push({from:i.from,to:i.from+u.length,insert:c}))});return r.changes.empty||e(t.update(r,{userEvent:"indent"})),!0},Hz=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(hw(t,(n,o)=>{o.push({from:n.from,insert:t.facet(mf)})}),{userEvent:"input.indent"})),!0),Oz=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(hw(t,(n,o)=>{let r=/^\s*/.exec(n.text)[0];if(!r)return;let i=xl(r,t.tabSize),s=0,l=gf(t,Math.max(0,i-hf(t)));for(;s<r.length&&s<l.length&&r.charCodeAt(s)==l.charCodeAt(s);)s++;o.push({from:n.from+s,to:n.from+r.length,insert:l.slice(s)})}),{userEvent:"delete.dedent"})),!0);var Fz=[{key:"Ctrl-b",run:UA,shift:eN,preventDefault:!0},{key:"Ctrl-f",run:GA,shift:tN},{key:"Ctrl-p",run:QA,shift:rN},{key:"Ctrl-n",run:JA,shift:iN},{key:"Ctrl-a",run:rz,shift:gz},{key:"Ctrl-e",run:iz,shift:yz},{key:"Ctrl-d",run:aN},{key:"Ctrl-h",run:cw},{key:"Ctrl-k",run:dN},{key:"Ctrl-Alt-h",run:cN},{key:"Ctrl-o",run:Ez},{key:"Ctrl-t",run:Tz},{key:"Ctrl-v",run:uw}],Bz=[{key:"ArrowLeft",run:UA,shift:eN,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:QV,shift:az,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:nz,shift:mz,preventDefault:!0},{key:"ArrowRight",run:GA,shift:tN,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:JV,shift:uz,preventDefault:!0},{mac:"Cmd-ArrowRight",run:oz,shift:hz,preventDefault:!0},{key:"ArrowUp",run:QA,shift:rN,preventDefault:!0},{mac:"Cmd-ArrowUp",run:NA,shift:OA},{mac:"Ctrl-ArrowUp",run:RA,shift:LA},{key:"ArrowDown",run:JA,shift:iN,preventDefault:!0},{mac:"Cmd-ArrowDown",run:HA,shift:FA},{mac:"Ctrl-ArrowDown",run:uw,shift:AA},{key:"PageUp",run:RA,shift:LA},{key:"PageDown",run:uw,shift:AA},{key:"Home",run:tz,shift:pz,preventDefault:!0},{key:"Mod-Home",run:NA,shift:OA},{key:"End",run:ez,shift:fz,preventDefault:!0},{key:"Mod-End",run:HA,shift:FA},{key:"Enter",run:Lz},{key:"Mod-a",run:bz},{key:"Backspace",run:cw,shift:cw},{key:"Delete",run:aN},{key:"Mod-Backspace",mac:"Alt-Backspace",run:cN},{key:"Mod-Delete",mac:"Alt-Delete",run:wz},{mac:"Mod-Backspace",run:Sz},{mac:"Mod-Delete",run:dN}].concat(Fz.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),Ou=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:YV,shift:cz},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:ZV,shift:dz},{key:"Alt-ArrowUp",run:kz},{key:"Shift-Alt-ArrowUp",run:Iz},{key:"Alt-ArrowDown",run:Mz},{key:"Shift-Alt-ArrowDown",run:Pz},{key:"Escape",run:Cz},{key:"Mod-Enter",run:Az},{key:"Alt-l",mac:"Ctrl-l",run:vz},{key:"Mod-i",run:xz,preventDefault:!0},{key:"Mod-[",run:Oz},{key:"Mod-]",run:Hz},{key:"Mod-Alt-\\",run:Nz},{key:"Shift-Mod-k",run:Dz},{key:"Shift-Mod-\\",run:lz},{key:"Mod-/",run:RV},{key:"Alt-A",run:AV}].concat(Bz);var Vz=[...Ou,...mw],gw=(()=>[PC(),pw(),IC(),rw(),Dl(JC,{fallback:!0}),br.of(Vz)])();var qo=(t,e)=>e.doc.sliceString(t.from,t.to);var hN=t=>{let e=t.prevSibling;return console.log(`prevNode ${e==null?void 0:e.name}`),e},yw=t=>{let e=t.parent;for(;e&&e.name==="\u26A0";)e=e.parent;return e};var zz=require("@vuu-ui/vuu-utils");var bw=[{label:"and",apply:"and ",boost:5},{label:"or",apply:"or ",boost:3}],gN=[{label:"=",boost:10,type:"operator"},{label:"!=",boost:9,type:"operator"}],yN=[...gN,{label:"in",boost:6,type:"operator"},{label:"starts",boost:5,type:"operator"},{label:"ends",boost:4,type:"operator"}],bN=[...gN,{label:">",boost:8,type:"operator"},{label:"<",boost:7,type:"operator"}];var Vw=require("@vuu-ui/vuu-utils"),Mr=require("react");var Bu=class{constructor(e,n,o,r,i,s,l,a,u,c=0,d){this.p=e,this.stack=n,this.state=o,this.reducePos=r,this.pos=i,this.score=s,this.buffer=l,this.bufferBase=a,this.curContext=u,this.lookAhead=c,this.parent=d}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,o=0){let r=e.parser.context;return new Bu(e,[],n,o,o,0,[],0,r?new Tg(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let o=e>>19,r=e&65535,{parser:i}=this.p,s=i.dynamicPrecedence(r);if(s&&(this.score+=s),o==0){this.pushState(i.getGoto(this.state,r,!0),this.reducePos),r<i.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,4,!0),this.reduceContext(r,this.reducePos);return}let l=this.stack.length-(o-1)*3-(e&262144?6:0),a=l?this.stack[l-2]:this.p.ranges[0].from,u=this.reducePos-a;u>=2e3&&!(!((n=this.p.parser.nodeSet.types[r])===null||n===void 0)&&n.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=u));let c=l?this.stack[l-1]:0,d=this.bufferBase+this.buffer.length-c;if(r<i.minRepeatTerm||e&131072){let f=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,a,f,d+4,!0)}if(e&262144)this.state=this.stack[l];else{let f=this.stack[l-3];this.state=i.getGoto(f,r,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(r,a)}storeNode(e,n,o,r=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this,l=this.buffer.length;if(l==0&&s.parent&&(l=s.bufferBase-s.parent.bufferBase,s=s.parent),l>0&&s.buffer[l-4]==0&&s.buffer[l-1]>-1){if(n==o)return;if(s.buffer[l-2]>=n){s.buffer[l-2]=o;return}}}if(!i||this.pos==o)this.buffer.push(e,n,o,r);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0)for(;s>0&&this.buffer[s-2]>o;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,r>4&&(r-=4);this.buffer[s]=e,this.buffer[s+1]=n,this.buffer[s+2]=o,this.buffer[s+3]=r}}shift(e,n,o){let r=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=o,this.shiftContext(n,r),n<=this.p.parser.maxNode&&this.buffer.push(n,r,o,4);else{let i=e,{parser:s}=this.p;(o>this.pos||n<=s.maxNode)&&(this.pos=o,s.stateFlag(i,1)||(this.reducePos=o)),this.pushState(i,r),this.shiftContext(n,r),n<=s.maxNode&&this.buffer.push(n,r,o,4)}}apply(e,n,o){e&65536?this.reduce(e):this.shift(e,n,o)}useNode(e,n){let o=this.p.reused.length-1;(o<0||this.p.reused[o]!=e)&&(this.p.reused.push(e),o++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(n,r),this.buffer.push(o,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(;n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let o=e.buffer.slice(n),r=e.bufferBase+n;for(;e&&r==e.bufferBase;)e=e.parent;return new Bu(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,o,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let o=e<=this.p.parser.maxNode;o&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,o?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new xw(this);;){let o=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(o==0)return!1;if(!(o&65536))return!0;n.reduce(o)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>4<<1||this.stack.length>=120){let r=[];for(let i=0,s;i<n.length;i+=2)(s=n[i+1])!=this.state&&this.p.parser.hasAction(s,e)&&r.push(n[i],s);if(this.stack.length<120)for(let i=0;r.length<4<<1&&i<n.length;i+=2){let s=n[i+1];r.some((l,a)=>a&1&&l==s)||r.push(n[i],s)}n=r}let o=[];for(let r=0;r<n.length&&o.length<4;r+=2){let i=n[r+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(n[r],this.pos),s.score-=200,o.push(s)}return o}forceReduce(){let e=this.p.parser.stateSlot(this.state,5);if(!(e&65536))return!1;let{parser:n}=this.p;if(!n.validAction(this.state,e)){let o=e>>19,r=e&65535,i=this.stack.length-o*3;if(i<0||n.getGoto(this.stack[i],r,!1)<0)return!1;this.storeNode(0,this.reducePos,this.reducePos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let n=0;n<this.stack.length;n+=3)if(this.stack[n]!=e.stack[n])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(n)))}reduceContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(n)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.reducePos,this.reducePos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.reducePos,this.reducePos,-4)}updateContext(e){if(e!=this.curContext.context){let n=new Tg(this.curContext.tracker,e);n.hash!=this.curContext.hash&&this.emitContext(),this.curContext=n}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},Tg=class{constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}},vN;(function(t){t[t.Insert=200]="Insert",t[t.Delete=190]="Delete",t[t.Reduce=100]="Reduce",t[t.MaxNext=4]="MaxNext",t[t.MaxInsertStackDepth=300]="MaxInsertStackDepth",t[t.DampenInsertStackDepth=120]="DampenInsertStackDepth",t[t.MinBigReduction=2e3]="MinBigReduction"})(vN||(vN={}));var xw=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,o=e>>19;o==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(o-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=r}},Vu=class{constructor(e,n,o){this.stack=e,this.pos=n,this.index=o,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new Vu(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Vu(this.stack,this.pos,this.index)}};function vf(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let o=0,r=0;o<t.length;){let i=0;for(;;){let s=t.charCodeAt(o++),l=!1;if(s==126){i=65535;break}s>=92&&s--,s>=34&&s--;let a=s-32;if(a>=46&&(a-=46,l=!0),i+=a,l)break;i*=46}n?n[r++]=i:n=new e(i)}return n}var Fu=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},xN=new Fu,Cw=class{constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=xN,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let o=this.range,r=this.rangeIndex,i=this.pos+e;for(;i<o.from;){if(!r)return null;let s=this.ranges[--r];i-=o.from-s.to,o=s}for(;n<0?i>o.to:i>=o.to;){if(r==this.ranges.length-1)return null;let s=this.ranges[++r];i+=s.from-o.to,o=s}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let n of this.ranges)if(n.to>e)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,o,r;if(n>=0&&n<this.chunk.length)o=this.pos+e,r=this.chunk.charCodeAt(n);else{let i=this.resolveOffset(e,1);if(i==null)return-1;if(o=i,o>=this.chunk2Pos&&o<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(o-this.chunk2Pos);else{let s=this.rangeIndex,l=this.range;for(;l.to<=o;)l=this.ranges[++s];this.chunk2=this.input.chunk(this.chunk2Pos=o),o+this.chunk2.length>l.to&&(this.chunk2=this.chunk2.slice(0,l.to-o)),r=this.chunk2.charCodeAt(0)}}return o>=this.token.lookAhead&&(this.token.lookAhead=o+1),r}acceptToken(e,n=0){let o=n?this.resolveOffset(n,-1):this.pos;if(o==null||o<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=o}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:n}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=n,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),n=this.pos+e.length;this.chunk=n>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=xN,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,n){if(e>=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let o="";for(let r of this.ranges){if(r.from>=n)break;r.to>e&&(o+=this.input.read(Math.max(r.from,e),Math.min(r.to,n)))}return o}},fs=class{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:o}=n.p;MN(this.data,e,n,this.id,o.data,o.tokenPrecTable)}};fs.prototype.contextual=fs.prototype.fallback=fs.prototype.extend=!1;var ww=class{constructor(e,n,o){this.precTable=n,this.elseToken=o,this.data=typeof e=="string"?vf(e):e}token(e,n){let o=e.pos,r=0;for(;MN(this.data,e,n,0,this.data,this.precTable),!(e.token.value>-1);){if(this.elseToken==null)return;if(e.next<0)break;e.advance(),e.reset(e.pos,e.token),r++}r&&(e.reset(o,e.token),e.acceptToken(this.elseToken,r))}};ww.prototype.contextual=fs.prototype.fallback=fs.prototype.extend=!1;function MN(t,e,n,o,r,i){let s=0,l=1<<o,{dialect:a}=n.p.parser;e:for(;l&t[s];){let u=t[s+1];for(let p=s+3;p<u;p+=2)if((t[p+1]&l)>0){let g=t[p];if(a.allows(g)&&(e.token.value==-1||e.token.value==g||_z(g,e.token.value,r,i))){e.acceptToken(g);break}}let c=e.next,d=0,f=t[s+2];if(e.next<0&&f>d&&t[u+f*3-3]==65535&&t[u+f*3-3]==65535){s=t[u+f*3-1];continue e}for(;d<f;){let p=d+f>>1,g=u+p+(p<<1),y=t[g],m=t[g+1]||65536;if(c<y)f=p;else if(c>=m)d=p+1;else{s=t[g+2],e.advance();continue e}}break}}function CN(t,e,n){for(let o=e,r;(r=t[o])!=65535;o++)if(r==n)return o-e;return-1}function _z(t,e,n,o){let r=CN(n,o,e);return r<0||CN(n,o,t)<r}var Qo=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),vw=null,wN;(function(t){t[t.Margin=25]="Margin"})(wN||(wN={}));function SN(t,e,n){let o=t.cursor(bt.IncludeAnonymous);for(o.moveTo(e);;)if(!(n<0?o.childBefore(e):o.childAfter(e)))for(;;){if((n<0?o.to<e:o.from>e)&&!o.type.isError)return n<0?Math.max(0,Math.min(o.to-1,e-25)):Math.min(t.length,Math.max(o.from+1,e+25));if(n<0?o.prevSibling():o.nextSibling())break;if(!o.parent())return n<0?0:t.length}}var Sw=class{constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?SN(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?SN(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let n=this.trees.length-1;if(n<0)return this.nextFragment(),null;let o=this.trees[n],r=this.index[n];if(r==o.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=o.children[r],s=this.start[n]+o.positions[r];if(s>e)return this.nextStart=s,null;if(i instanceof Ge){if(s==e){if(s<this.safeFrom)return null;let l=s+i.length;if(l<=this.safeTo){let a=i.prop(me.lookAhead);if(!a||l+a<this.fragment.to)return i}}this.index[n]++,s+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(s),this.index.push(0))}else this.index[n]++,this.nextStart=s+i.length}}},Ew=class{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(o=>new Fu)}getActions(e){let n=0,o=null,{parser:r}=e.p,{tokenizers:i}=r,s=r.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let u=0;u<i.length;u++){if(!(1<<u&s))continue;let c=i[u],d=this.tokens[u];if(!(o&&!c.fallback)&&((c.contextual||d.start!=e.pos||d.mask!=s||d.context!=l)&&(this.updateCachedToken(d,c,e),d.mask=s,d.context=l),d.lookAhead>d.end+25&&(a=Math.max(d.lookAhead,a)),d.value!=0)){let f=n;if(d.extended>-1&&(n=this.addActions(e,d.extended,d.end,n)),n=this.addActions(e,d.value,d.end,n),!c.extend&&(o=d,n>f))break}}for(;this.actions.length>n;)this.actions.pop();return a&&e.setLookAhead(a),!o&&e.pos==this.stream.end&&(o=new Fu,o.value=e.p.parser.eofTerm,o.start=o.end=e.pos,n=this.addActions(e,o.value,o.end,n)),this.mainToken=o,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new Fu,{pos:o,p:r}=e;return n.start=o,n.end=Math.min(o+1,r.stream.end),n.value=o==r.stream.end?r.parser.eofTerm:0,n}updateCachedToken(e,n,o){let r=this.stream.clipPos(o.pos);if(n.token(this.stream.reset(r,e),o),e.value>-1){let{parser:i}=o.p;for(let s=0;s<i.specialized.length;s++)if(i.specialized[s]==e.value){let l=i.specializers[s](this.stream.read(e.start,e.end),o);if(l>=0&&o.p.parser.dialect.allows(l>>1)){l&1?e.extended=l>>1:e.value=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,n,o,r){for(let i=0;i<r;i+=3)if(this.actions[i]==e)return r;return this.actions[r++]=e,this.actions[r++]=n,this.actions[r++]=o,r}addActions(e,n,o,r){let{state:i}=e,{parser:s}=e.p,{data:l}=s;for(let a=0;a<2;a++)for(let u=s.stateSlot(i,a?2:1);;u+=3){if(l[u]==65535)if(l[u+1]==1)u=si(l,u+2);else{r==0&&l[u+1]==2&&(r=this.putAction(si(l,u+2),n,o,r));break}l[u]==n&&(r=this.putAction(si(l,u+1),n,o,r))}return r}},EN;(function(t){t[t.Distance=5]="Distance",t[t.MaxRemainingPerStep=3]="MaxRemainingPerStep",t[t.MinBufferLengthPrune=500]="MinBufferLengthPrune",t[t.ForceReduceLimit=10]="ForceReduceLimit",t[t.CutDepth=15e3]="CutDepth",t[t.CutTo=9e3]="CutTo",t[t.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",t[t.MaxStackCount=12]="MaxStackCount"})(EN||(EN={}));var Tw=class{constructor(e,n,o,r){this.parser=e,this.input=n,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Cw(n,r),this.tokens=new Ew(e,this.stream),this.topTerm=e.top[1];let{from:i}=r[0];this.stacks=[Bu.start(this,e.top[0],i)],this.fragments=o.length&&this.stream.end-i>e.bufferLength*4?new Sw(o,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,o=this.stacks=[],r,i;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<e.length;s++){let l=e[s];for(;;){if(this.tokens.mainToken=null,l.pos>n)o.push(l);else{if(this.advanceStack(l,o,e))continue;{r||(r=[],i=[]),r.push(l);let a=this.tokens.getMainToken(l);i.push(a.value,a.end)}}break}}if(!o.length){let s=r&&Wz(r);if(s)return this.stackToTree(s);if(this.parser.strict)throw Qo&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&r){let s=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,i,o);if(s)return this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(o.length>s)for(o.sort((l,a)=>a.score-l.score);o.length>s;)o.pop();o.some(l=>l.reducePos>n)&&this.recovering--}else if(o.length>1){e:for(let s=0;s<o.length-1;s++){let l=o[s];for(let a=s+1;a<o.length;a++){let u=o[a];if(l.sameState(u)||l.buffer.length>500&&u.buffer.length>500)if((l.score-u.score||l.buffer.length-u.buffer.length)>0)o.splice(a--,1);else{o.splice(s--,1);continue e}}}o.length>12&&o.splice(12,o.length-12)}this.minStackPos=o[0].pos;for(let s=1;s<o.length;s++)o[s].pos<this.minStackPos&&(this.minStackPos=o[s].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,n,o){let r=e.pos,{parser:i}=this,s=Qo?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let u=e.curContext&&e.curContext.tracker.strict,c=u?e.curContext.hash:0;for(let d=this.fragments.nodeAt(r);d;){let f=this.parser.nodeSet.types[d.type.id]==d.type?i.getGoto(e.state,d.type.id):-1;if(f>-1&&d.length&&(!u||(d.prop(me.contextHash)||0)==c))return e.useNode(d,f),Qo&&console.log(s+this.stackID(e)+` (via reuse of ${i.getName(d.type.id)})`),!0;if(!(d instanceof Ge)||d.children.length==0||d.positions[0]>0)break;let p=d.children[0];if(p instanceof Ge&&d.positions[0]==0)d=p;else break}}let l=i.stateSlot(e.state,4);if(l>0)return e.reduce(l),Qo&&console.log(s+this.stackID(e)+` (via always-reduce ${i.getName(l&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let u=0;u<a.length;){let c=a[u++],d=a[u++],f=a[u++],p=u==a.length||!o,g=p?e:e.split();if(g.apply(c,d,f),Qo&&console.log(s+this.stackID(g)+` (via ${c&65536?`reduce of ${i.getName(c&65535)}`:"shift"} for ${i.getName(d)} @ ${r}${g==e?"":", split"})`),p)return!0;g.pos>r?n.push(g):o.push(g)}return!1}advanceFully(e,n){let o=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>o)return TN(e,n),!0}}runRecovery(e,n,o){let r=null,i=!1;for(let s=0;s<e.length;s++){let l=e[s],a=n[s<<1],u=n[(s<<1)+1],c=Qo?this.stackID(l)+" -> ":"";if(l.deadEnd&&(i||(i=!0,l.restart(),Qo&&console.log(c+this.stackID(l)+" (restarted)"),this.advanceFully(l,o))))continue;let d=l.split(),f=c;for(let p=0;d.forceReduce()&&p<10&&(Qo&&console.log(f+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,o));p++)Qo&&(f=this.stackID(d)+" -> ");for(let p of l.recoverByInsert(a))Qo&&console.log(c+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,o);this.stream.end>l.pos?(u==l.pos&&(u++,a=0),l.recoverByDelete(a,u),Qo&&console.log(c+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),TN(l,o)):(!r||r.score<l.score)&&(r=l)}return r}stackToTree(e){return e.close(),Ge.build({buffer:Vu.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let n=(vw||(vw=new WeakMap)).get(e);return n||vw.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}};function TN(t,e){for(let n=0;n<e.length;n++){let o=e[n];if(o.pos==t.pos&&o.sameState(t)){e[n].score<t.score&&(e[n]=t);return}}e.push(t)}var kw=class{constructor(e,n,o){this.source=e,this.flags=n,this.disabled=o}allows(e){return!this.disabled||this.disabled[e]==0}};var Al=class extends ku{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let l=0;l<e.repeatNodeCount;l++)n.push("");let o=Object.keys(e.topRules).map(l=>e.topRules[l][1]),r=[];for(let l=0;l<n.length;l++)r.push([]);function i(l,a,u){r[l].push([a,a.deserialize(String(u))])}if(e.nodeProps)for(let l of e.nodeProps){let a=l[0];typeof a=="string"&&(a=me[a]);for(let u=1;u<l.length;){let c=l[u++];if(c>=0)i(c,a,l[u++]);else{let d=l[u+-c];for(let f=-c;f>0;f--)i(l[u++],a,d);u++}}}this.nodeSet=new kl(n.map((l,a)=>Lt.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:r[a],top:o.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let s=vf(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;l<this.specializerSpecs.length;l++)this.specialized[l]=this.specializerSpecs[l].term;this.specializers=this.specializerSpecs.map(kN),this.states=vf(e.states,Uint32Array),this.data=vf(e.stateData),this.goto=vf(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(l=>typeof l=="number"?new fs(s,l):l),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,n,o){let r=new Tw(this,e,n,o);for(let i of this.wrappers)r=i(r,e,n,o);return r}getGoto(e,n,o=!1){let r=this.goto;if(n>=r[0])return-1;for(let i=r[n+1];;){let s=r[i++],l=s&1,a=r[i++];if(l&&o)return a;for(let u=i+(s>>1);i<u;i++)if(r[i]==e)return a;if(l)return-1}}hasAction(e,n){let o=this.data;for(let r=0;r<2;r++)for(let i=this.stateSlot(e,r?2:1),s;;i+=3){if((s=o[i])==65535)if(o[i+1]==1)s=o[i=si(o,i+2)];else{if(o[i+1]==2)return si(o,i+2);break}if(s==n||s==0)return si(o,i+1)}return 0}stateSlot(e,n){return this.states[e*6+n]}stateFlag(e,n){return(this.stateSlot(e,0)&n)>0}validAction(e,n){if(n==this.stateSlot(e,4))return!0;for(let o=this.stateSlot(e,1);;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=si(this.data,o+2);else return!1;if(n==si(this.data,o+1))return!0}}nextStates(e){let n=[];for(let o=this.stateSlot(e,1);;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=si(this.data,o+2);else break;if(!(this.data[o+2]&1)){let r=this.data[o+1];n.some((i,s)=>s&1&&i==r)||n.push(this.data[o],r)}}return n}configure(e){let n=Object.assign(Object.create(Al.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let o=this.topRules[e.top];if(!o)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=o}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(o=>{let r=e.tokenizers.find(i=>i.from==o);return r?r.to:o})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((o,r)=>{let i=e.specializers.find(l=>l.from==o.external);if(!i)return o;let s=Object.assign(Object.assign({},o),{external:i.to});return n.specializers[r]=kN(s),s})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),o=n.map(()=>!1);if(e)for(let i of e.split(" ")){let s=n.indexOf(i);s>=0&&(o[s]=!0)}let r=null;for(let i=0;i<n.length;i++)if(!o[i])for(let s=this.dialects[n[i]],l;(l=this.data[s++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[l]=1;return new kw(e,o,r)}static deserialize(e){return new Al(e)}};function si(t,e){return t[e]|t[e+1]<<16}function Wz(t){let e=null;for(let n of t){let o=n.p.stoppedAt;(n.pos==n.p.stream.end||o!=null&&n.pos>o)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.score<n.score)&&(e=n)}return e}function kN(t){if(t.external){let e=t.extend?1:0;return(n,o)=>t.external(n,o)<<1|e}return t.get}var kg=Al.deserialize({version:14,states:"&xOVQPOOO!fQPO'#C^OVQPO'#CcQ!pQPOOO#bQPO'#CkO#gQPO'#CrOOQO'#Cy'#CyO#lQPO,58}OVQPO,59QOVQPO,59QOOQO'#Cn'#CnOVQPO,59XOVQPO,59VOVQPO'#CtOOQO,59^,59^OOQO1G.i1G.iOOQO1G.l1G.lO$bQPO1G.lO%ZQPO1G.sO!pQPO'#CmO%qQQO1G.qO%|QQO'#C{OOQO'#C{'#C{O&wQPO,59`OVQPO,59ZOVQPO,59[OVQPO7+$]OVQPO'#CuO'RQPO1G.zOOQO1G.z1G.zO'ZQQO'#C^O'eQQO1G.sO'{QQO1G.uOOQO1G.v1G.vO(WQPO<<GwO(_QPO,59aOOQO-E6s-E6sOOQO7+$f7+$fOVQPOAN=cO(iQQO1G.lO(yQPOG22}OOQOLD(iLD(iO)QQPO,59QO)QQPO,59QO)QQPO,59X",stateData:")n~OlOS~ORUOSUOTUOUUOWQO`SOnPO~OWgXZQX[QX]QX^QXpQXqQXrQXsQXtQXuQXeQX~OjQXXQX~PnOZWO[WO]XO^XOpYOqYOrYOsYOtYOuYO~OW[O~OW]O~OX_O~P!pO]Yi^YipYiqYirYisYitYiuYieYi~OZWO[WOjYiXYi~P#sOpaiqairaisaitaiuaieai~OZWO[WO]XO^XOjaiXai~P$rOejOvhOwiO~OZmX[mX]mX^mXeoXpmXqmXrmXsmXtmXumXvoXwoX~OXmOekO~P!pOXuOekO~OvQXwQX~PnOZzO[zO]{O^{Ovaiwai~P$rOwiOecivci~OevO~P!pOXiaeia~P!pOZzO[zOvYiwYi~P#sOXyO~P!pORUOSUOTUOUUOWQO`SOnnO~O`UTn~",goto:"$epPPqPPPPqPPqPPPPqP!S!g!r!rPq!w#Y#]PPP#cP$[oUOQWXZ[]hijkvz{|hUOQWXZ]jkvz{|Ve[hi[ZRVgrsxR|cVf[hioTOQWXZ[]hijkvz{|R^TQlgRtlQROQVQS`WzQaXQbZUc[hiQg]Qo|QrjQskQw{RxvQd[QphRqi",nodeNames:"\u26A0 ColumnDefinitionExpression Column Number String True False ParenthesizedExpression OpenBrace CloseBrace ArithmeticExpression Divide Times Plus Minus ConditionalExpression If RelationalExpression RelationalOperator AndCondition OrCondition Comma CallExpression Function ArgList",maxTerm:39,skippedNodes:[0],repeatNodeCount:1,tokenData:".^~RnXY#PYZ#P]^#Ppq#Pqr#brs#mxy$eyz$jz{$o{|$t|}$y}!O%O!O!P%T!P!Q%c!Q![%h!^!_%s!_!`&Q!`!a&V!c!}&d#R#S&d#T#U&u#U#Y&d#Y#Z(Y#Z#]&d#]#^*j#^#c&d#c#d+f#d#h&d#h#i,b#i#o&d~#USl~XY#PYZ#P]^#Ppq#P~#eP!_!`#h~#mOu~~#pWOX#mZ]#m^r#mrs$Ys#O#m#P;'S#m;'S;=`$_<%lO#m~$_OS~~$bP;=`<%l#m~$jOW~~$oOX~~$tO[~~$yO]~~%OOe~~%TO^~~%WP!Q![%Z~%`PR~!Q![%Z~%hOZ~~%mQR~!O!P%Z!Q![%h~%xPr~!_!`%{~&QOt~~&VOp~~&[Pq~!_!`&_~&dOs~P&iSnP!Q![&d!c!}&d#R#S&d#T#o&dR&zUnP!Q![&d!c!}&d#R#S&d#T#b&d#b#c'^#c#o&dR'cUnP!Q![&d!c!}&d#R#S&d#T#W&d#W#X'u#X#o&dR'|SvQnP!Q![&d!c!}&d#R#S&d#T#o&d~(_TnP!Q![&d!c!}&d#R#S&d#T#U(n#U#o&d~(sUnP!Q![&d!c!}&d#R#S&d#T#`&d#`#a)V#a#o&d~)[UnP!Q![&d!c!}&d#R#S&d#T#g&d#g#h)n#h#o&d~)sUnP!Q![&d!c!}&d#R#S&d#T#X&d#X#Y*V#Y#o&d~*^SU~nP!Q![&d!c!}&d#R#S&d#T#o&d~*oUnP!Q![&d!c!}&d#R#S&d#T#Y&d#Y#Z+R#Z#o&d~+YS`~nP!Q![&d!c!}&d#R#S&d#T#o&dR+kUnP!Q![&d!c!}&d#R#S&d#T#f&d#f#g+}#g#o&dR,USwQnP!Q![&d!c!}&d#R#S&d#T#o&d~,gUnP!Q![&d!c!}&d#R#S&d#T#f&d#f#g,y#g#o&d~-OUnP!Q![&d!c!}&d#R#S&d#T#i&d#i#j-b#j#o&d~-gUnP!Q![&d!c!}&d#R#S&d#T#X&d#X#Y-y#Y#o&d~.QST~nP!Q![&d!c!}&d#R#S&d#T#o&d",tokenizers:[0,1],topRules:{ColumnDefinitionExpression:[0,1]},tokenPrec:393});var Kz=Er.define({name:"VuuColumnExpression",parser:kg.configure({props:[Il({Column:W.attributeValue,Function:W.variableName,String:W.string,Or:W.emphasis,Operator:W.operator})]})}),IN=()=>new Lu(Kz);var Mw=class{constructor(e){switch(this.value=e,typeof e){case"boolean":this.type="booleanLiteralExpression";break;case"number":this.type="numericLiteralExpression";break;default:this.type="stringLiteralExpression"}}toJSON(){return{type:this.type,value:this.value}}},Iw=class{constructor(e){this.type="colExpression";this.column=e}toJSON(){return{type:this.type,column:this.column}}},Cf,Hl,Pw=class{constructor(e="unknown"){_n(this,Cf,[{type:"unknown"},{type:"unknown"}]);_n(this,Hl,void 0);this.type="arithmeticExpression";Xo(this,Hl,e)}get op(){return ne(this,Hl)}set op(e){Xo(this,Hl,e)}get expressions(){return ne(this,Cf)}toJSON(){return{type:this.type,op:ne(this,Hl),expressions:ne(this,Cf)}}};Cf=new WeakMap,Hl=new WeakMap;var Wu,Dw=class{constructor(e){_n(this,Wu,[]);this.type="callExpression";this.functionName=e}get expressions(){return ne(this,Wu)}get arguments(){return ne(this,Wu)}toJSON(){return{type:this.type,functionName:this.functionName,arguments:ne(this,Wu).map(e=>{var n;return(n=e.toJSON)==null?void 0:n.call(e)})}}};Wu=new WeakMap;var wf,Ku,$u=class{constructor(){_n(this,wf,[{type:"unknown"},{type:"unknown"}]);_n(this,Ku,"unknown");this.type="relationalExpression"}get op(){return ne(this,Ku)}set op(e){Xo(this,Ku,e)}get expressions(){return ne(this,wf)}toJSON(){return{type:this.type,op:ne(this,Ku),expressions:ne(this,wf)}}};wf=new WeakMap,Ku=new WeakMap;var Sf,Uu,_u=class{constructor(e){_n(this,Sf,[{type:"unknown"},{type:"unknown"}]);_n(this,Uu,void 0);this.type="booleanCondition";Xo(this,Uu,e)}get op(){return ne(this,Uu)}get expressions(){return ne(this,Sf)}toJSON(){return{type:this.type,op:ne(this,Uu),expressions:ne(this,Sf).map(e=>{var n;return(n=e.toJSON)==null?void 0:n.call(e)})}}};Sf=new WeakMap,Uu=new WeakMap;var kr,xf=class{constructor(e){_n(this,kr,void 0);this.type="conditionalExpression";Xo(this,kr,[e?new _u(e):new $u,{type:"unknown"},{type:"unknown"}])}get expressions(){return ne(this,kr)}get condition(){return ne(this,kr)[0]}get truthyExpression(){return ne(this,kr)[1]}set truthyExpression(e){ne(this,kr)[1]=e}get falsyExpression(){return ne(this,kr)[2]}set falsyExpression(e){ne(this,kr)[2]=e}toJSON(){var e,n,o,r,i;return{type:this.type,condition:(n=(e=this.condition).toJSON)==null?void 0:n.call(e),truthyExpression:this.truthyExpression,falsyExpression:(i=(r=(o=this.falsyExpression)==null?void 0:o.toJSON)==null?void 0:r.call(o))!=null?i:this.falsyExpression}}};kr=new WeakMap;var Nl=t=>t.type==="unknown",Mg=t=>t.type==="arithmeticExpression",Uz=t=>t.type==="callExpression",zu=t=>t.type==="conditionalExpression",Gz=t=>t.type==="relationalExpression"||t.type==="booleanCondition";var jz=t=>t.type==="booleanCondition",Lw=t=>(t==null?void 0:t.type)==="relationalExpression";var Mo=t=>{if(Nl(t))return t;if(Lw(t)){let[e,n]=t.expressions;if(nn(e))return Mo(e);if(t.op==="unknown")return t;if(nn(n))return Mo(n)}else if(Gz(t)){let{expressions:e=[]}=t;for(let n of e)if(nn(n))return Mo(n)}else if(zu(t)){let{condition:e,truthyExpression:n,falsyExpression:o}=t;if(nn(e))return Mo(e);if(nn(n))return Mo(n);if(nn(o))return Mo(o)}else if(Mg(t)){let{expressions:e=[]}=t;for(let n of e)if(nn(n))return Mo(n)}},Ig=(t,e,n)=>{let{expressions:o=[]}=t;if(o.includes(e)){let r=o.indexOf(e);return o.splice(r,1,n),!0}else for(let r of o)if(Ig(r,e,n))return!0;return!1},nn=t=>Nl(t)?!0:zu(t)?nn(t.condition)||nn(t.truthyExpression)||nn(t.falsyExpression):Lw(t)||jz(t)?t.op===void 0||t.expressions.some(e=>nn(e)):!1,PN=(t,e)=>{let n=Mo(t);n?n.expressions?n.expressions.push(e):console.warn("don't know how to treat targetExpression"):console.error("no target expression found")},we,Ol,Rw=class{constructor(){_n(this,we,void 0);_n(this,Ol,[])}setCondition(e){if(ne(this,we)===void 0)this.addExpression(new xf(e));else if(zu(ne(this,we))){if(nn(ne(this,we).condition)){let n=e?new _u(e):new $u;this.addExpression(n)}else if(Nl(ne(this,we).truthyExpression))ne(this,we).truthyExpression=new xf(e);else if(nn(ne(this,we).truthyExpression)){let n=e?new _u(e):new $u;this.addExpression(n)}else if(Nl(ne(this,we).falsyExpression))ne(this,we).falsyExpression=new xf(e);else if(nn(ne(this,we).falsyExpression)){let n=e?new _u(e):new $u;this.addExpression(n)}}else console.error("setCondition called unexpectedly")}addExpression(e){if(ne(this,Ol).length>0){let n=ne(this,Ol).at(-1);n==null||n.arguments.push(e)}else if(ne(this,we)===void 0)Xo(this,we,e);else if(Mg(ne(this,we))){let n=Mo(ne(this,we));n&&Nl(n)&&Ig(ne(this,we),n,e)}else if(zu(ne(this,we))&&nn(ne(this,we))){let n=Mo(ne(this,we));n&&Nl(n)?Ig(ne(this,we),n,e):n&&PN(n,e)}}setFunction(e){let n=new Dw(e);this.addExpression(n),ne(this,Ol).push(n)}setColumn(e){this.addExpression(new Iw(e))}setArithmeticOp(e){let n=e,o=ne(this,we);Mg(o)&&(o.op=n)}setRelationalOperator(e){let n=e;if(ne(this,we)&&zu(ne(this,we))){let o=Mo(ne(this,we));Lw(o)?o.op=n:console.error(`no target expression found (op = ${e})`)}}setValue(e){let n=new Mw(e);if(ne(this,we)===void 0)Xo(this,we,n);else if(Mg(ne(this,we)))this.addExpression(n);else if(Uz(ne(this,we)))ne(this,we).arguments.push(n);else if(zu(ne(this,we)))if(nn(ne(this,we))){let o=Mo(ne(this,we));o&&Nl(o)?Ig(ne(this,we),o,n):o&&PN(o,n)}else console.log("what do we do with value, in a complete expression")}closeBrace(){ne(this,Ol).pop()}get expression(){return ne(this,we)}toJSON(){var e;return(e=ne(this,we))==null?void 0:e.toJSON()}};we=new WeakMap,Ol=new WeakMap;var DN=(t,e)=>{let n=new Rw,o=t.cursor();do{let{name:r,from:i,to:s}=o;switch(r){case"AndCondition":n.setCondition("and");break;case"OrCondition":n.setCondition("or");break;case"RelationalExpression":n.setCondition();break;case"ArithmeticExpression":n.addExpression(new Pw);break;case"Column":{let l=e.substring(i,s);n.setColumn(l)}break;case"Function":{let l=e.substring(i,s);n.setFunction(l)}break;case"Times":case"Divide":case"Plus":case"Minus":{let l=e.substring(i,s);n.setArithmeticOp(l)}break;case"RelationalOperator":{let l=e.substring(i,s);n.setRelationalOperator(l)}break;case"False":case"True":{let l=e.substring(i,s);n.setValue(l==="true")}break;case"String":n.setValue(e.substring(i+1,s-1));break;case"Number":n.setValue(parseFloat(e.substring(i,s)));break;case"CloseBrace":n.closeBrace();break;default:}}while(o.next());return n.toJSON()};var qz=kg.configure({strict:!0}),RN=["Number","String"],Aw=[...RN,"AndCondition","ArithmeticExpression","BooleanOperator","RelationalOperatorOperator","CallExpression","CloseBrace","Column","Comma","ConditionalExpression","Divide","Equal","If","Minus","OpenBrace","OrCondition","ParenthesizedExpression","Plus","RelationalExpression","RelationalOperator","Times"],LN=t=>{try{return qz.parse(t),!0}catch{return!1}},Nw=t=>{let{lastChild:e}=t;for(;e&&!Aw.includes(e.name);)e=e.prevSibling,console.log(e==null?void 0:e.name);return e},AN=t=>{if((t==null?void 0:t.name)==="RelationalExpression"){let{firstChild:e}=t,n=Nw(t);if((e==null?void 0:e.name)==="Column"&&typeof(n==null?void 0:n.name)=="string"&&RN.includes(n.name))return!0}return!1};var Qz=Go.define([{tag:W.attributeValue,color:"var(--vuuFilterEditor-variableColor);font-weight: bold"},{tag:W.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:W.comment,color:"green",fontStyle:"italic"}]),NN=Dl(Qz);var HN=ae.theme({"&":{border:"solid 1px var(--salt-container-primary-borderColor)",color:"var(--vuuFilterEditor-color)",backgroundColor:"var(--vuuFilterEditor-background)"},".cm-content":{caretColor:"var(--vuuFilterEditor-cursorColor)"},"&.cm-focused .cm-cursor":{borderLeftColor:"var(--vuuFilterEditor-cursorColor)"},"&.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-scroller":{fontFamily:"var(--vuuFilterEditor-fontFamily)"},".cm-completionLabel":{color:"var(--vuu-color-gray-50)"},".cm-completionMatchedText":{color:"var(--vuu-color-gray-80)",fontWeight:700,textDecoration:"none"},".cm-tooltip":{background:"var(--vuuFilterEditor-tooltipBackground)",border:"var(--vuuFilterEditor-tooltipBorder)",borderRadius:"4px",boxShadow:"var(--vuuFilterEditor-tooltipElevation)","&.cm-tooltip-autocomplete > ul":{fontFamily:"var(--vuuFilterEditor-fontFamily)",fontSize:"var(--vuuFilterEditor-fontSize)",maxHeight:"240px"},"&.cm-tooltip-autocomplete > ul > li":{height:"var(--vuuFilterEditor-suggestion-height)",padding:"0 3px",lineHeight:"var(--vuuFilterEditor-suggestion-height)"},"&.cm-tooltip-autocomplete li[aria-selected]":{background:"var(--vuuFilterEditor-suggestion-selectedBackground)",color:"var(--vuuFilterEditor-suggestion-selectedColor)"},"&.cm-tooltip-autocomplete li .cm-completionDetail":{color:"var(--vuuFilterEditor-suggestion-detailColor)"}}},{dark:!1});var Fw=require("react");var Jz=(t,e)=>e?t.map(n=>{var o;return{...n,apply:typeof n.apply=="function"?n.apply:`${e}${(o=n.apply)!=null?o:n.label}`}}):t,Xz=t=>t===void 0?!1:["Times","Divide","Plus","Minus"].includes(t.name),Ef=t=>({apply:()=>{t==null||t()},label:"Done",boost:10}),Gu=(t,e)=>{var r;let{lastChild:n}=t,{pos:o}=e;for(;n;)if(n.from<o&&Aw.includes(n.name)){if(n.name==="ParenthesizedExpression"){let s=(r=n.firstChild)==null?void 0:r.nextSibling;s&&(n=s)}return n}else n=n.prevSibling},ON=(t,e)=>{var n;if(t.name==="ArgList"){let o=t.prevSibling;if(o)return qo(o,e)}else if(t.name==="OpenBrace"){let o=(n=t.parent)==null?void 0:n.prevSibling;if((o==null?void 0:o.name)==="Function")return qo(o,e)}},FN=(t,e)=>{if(t.name==="RelationalExpression"){let n=Nw(t);if((n==null?void 0:n.name)==="RelationalOperator")return qo(n,e)}else{let n=t.prevSibling;if((n==null?void 0:n.name)==="RelationalOperator")return qo(n,e)}},Bw=(t,e)=>{var n;if(t.name==="RelationalExpression"){if(((n=t.firstChild)==null?void 0:n.name)==="Column")return qo(t.firstChild,e)}else{let o=t.prevSibling;if((o==null?void 0:o.name)==="Column")return qo(o,e);if((o==null?void 0:o.name)==="RelationalOperator")return Bw(o,e)}},Hw=async(t,e,n,o={})=>{let r=await e.getSuggestions(n,o),{startsWith:i=""}=o;return{from:t.pos-i.length,options:r}},Ow=(t,e,n,o,r)=>{let i=Gu(t,e);switch(i==null?void 0:i.name){case"If":return Hw(e,n,"expression",{prefix:"( "});case"OpenBrace":return Hw(e,n,"expression");case"Condition":return Hw(e,n,"expression",{prefix:", "});case"CloseBrace":if(o){let s=[Ef(r)];return{from:e.pos,options:s}}}},Yz=(t,e)=>{let n=[Ef(e)];return{from:t.pos,options:n}},BN=(t,e)=>{let n=(0,Fw.useCallback)(async(o,r,i={})=>{let s=await t.getSuggestions(r,i),{startsWith:l=""}=i;return{from:o.pos-l.length,options:s}},[t]);return(0,Fw.useCallback)(async o=>{var d,f;let{state:r,pos:i}=o,s=(d=o.matchBefore(/\w*/))!=null?d:{from:0,to:0,text:void 0},a=Dt(r).resolveInner(i,-1),u=r.doc.toString(),c=LN(u);switch(a.name){case"If":return n(o,"expression",{prefix:"( "});case"Condition":{let p=Gu(a,o);if((p==null?void 0:p.name)==="Column"){let g=hN(p);if((g==null?void 0:g.name)!=="RelationalOperator")return n(o,"condition-operator",{columnName:qo(p,r)})}else if((p==null?void 0:p.name)==="RelationalOperator")return n(o,"expression")}break;case"ConditionalExpression":return Ow(a,o,t);case"RelationalExpression":{if(AN(a))return{from:o.pos,options:bw.concat({label:", <truthy expression>, <falsy expression>",apply:", "})};{let p=FN(a,r),g=Bw(a,r);if(p)return n(o,"expression");{let y=await t.getSuggestions("condition-operator",{columnName:g});return{from:o.pos,options:y}}}}break;case"RelationalOperator":return n(o,"expression");case"String":{let p=FN(a,r),g=Bw(a,r),{from:y,to:m}=a;if(m-y===2&&o.pos===y+1){if(g&&p)return n(o,"columnValue",{columnName:g,operator:p,startsWith:s.text})}else if(m-y>2&&o.pos===m)return n(o,"expression",{prefix:", "})}break;case"ArithmeticExpression":{let p=Gu(a,o);if((p==null?void 0:p.name)==="Column")return n(o,"expression");if(Xz(p)){let g=p.name;return n(o,"column",{operator:g})}}break;case"OpenBrace":{let p=ON(a,r);return n(o,"expression",{functionName:p})}break;case"ArgList":{let p=ON(a,r),g=Gu(a,o),y=(g==null?void 0:g.name)==="OpenBrace"||(g==null?void 0:g.name)==="Comma"?void 0:",",m=await t.getSuggestions("expression",{functionName:p});return m=y?Jz(m,", "):m,(g==null?void 0:g.name)!=="OpenBrace"&&(g==null?void 0:g.name)!=="Comma"&&(m=[{apply:") ",boost:10,label:"Done - no more arguments"}].concat(m)),{from:o.pos,options:m}}case"Equal":if(u.trim()==="=")return n(o,"expression");break;case"ParenthesizedExpression":case"ColumnDefinitionExpression":if(o.pos===0)return n(o,"expression");{let p=Gu(a,o);if((p==null?void 0:p.name)==="Column"){if(c){let g=[Ef(e.current)],y=qo(p,r),m=await t.getSuggestions("operator",{columnName:y});return{from:o.pos,options:g.concat(m)}}}else if((p==null?void 0:p.name)==="CallExpression"){if(c)return{from:o.pos,options:[Ef(e.current)]}}else if((p==null?void 0:p.name)==="ArithmeticExpression"){if(c){let g=[Ef(e.current)],y=Gu(p,o);if((y==null?void 0:y.name)==="Column"){let m=qo(y,r),h=await t.getSuggestions("operator",{columnName:m});g=g.concat(h)}return{from:o.pos,options:g}}}else if((p==null?void 0:p.name)==="ConditionalExpression")return Ow(p,o,t,c,e.current);break}case"Column":if(await t.isPartialMatch("expression",void 0,s.text))return n(o,"expression",{startsWith:s.text});break;case"Comma":{let p=yw(a);if((p==null?void 0:p.name)==="ConditionalExpression")return n(o,"expression")}break;case"CloseBrace":{let p=yw(a);if((p==null?void 0:p.name)==="ConditionalExpression")return Ow(p,o,t,c,e.current);if((p==null?void 0:p.name)==="ArgList"&&c)return Yz(o,e.current)}break;default:((f=a==null?void 0:a.prevSibling)==null?void 0:f.name)==="FilterClause"&&console.log("looks like we ight be a or|and operator")}},[n,e,t])};var Pg=t=>{if(t.current==null)throw Error("EditorView not defined");return t.current},Zz=()=>"vuuSuggestion",e$=()=>console.log("noooop"),t$=t=>"expressionType"in t,n$=t=>{if(t$(t)){let e=(0,Vw.createEl)("div","expression-type-container"),n=(0,Vw.createEl)("span","expression-type",t.expressionType);return e.appendChild(n),e}else return null},VN=({onChange:t,onSubmitExpression:e,source:n,suggestionProvider:o})=>{let r=(0,Mr.useRef)(null),i=(0,Mr.useRef)(e$),s=(0,Mr.useRef)(),l=BN(o,i),[a,u,c]=(0,Mr.useMemo)(()=>{let f=()=>{let h=Pg(s),v=h.state.doc.toString(),x=fg(h.state,h.state.doc.length,5e3);if(x){let b=DN(x,v);return[v,b]}else return["",void 0]},p=()=>{Pg(s).setState(m())},g=()=>{let[h,v]=f();e==null||e(h,v)},y=h=>br.of([{key:h,run(){return Nu(Pg(s)),!0}}]),m=()=>ye.create({doc:n,extensions:[gw,yg({addToOptions:[{render:n$,position:70}],override:[l],optionClass:Zz}),IN(),br.of(Ou),y("ArrowDown"),ae.updateListener.of(h=>{let v=Pg(s);if(h.docChanged){Nu(v);let x=v.state.doc.toString();t==null||t(x)}}),ye.transactionFilter.of(h=>h.newDoc.lines>1?[]:h),HN,NN]});return i.current=()=>{g()},[m,p,g]},[l,t,e,n]);(0,Mr.useEffect)(()=>{if(!r.current)throw Error("editor not in dom");return s.current=new ae({state:a(),parent:r.current}),()=>{var f;(f=s.current)==null||f.destroy()}},[l,a]);let d=(0,Mr.useCallback)(()=>{c()},[c]);return{editorRef:r,clearInput:u,onBlur:d}};var _N=require("react/jsx-runtime"),o$="vuuColumnExpressionInput",$N=(0,zN.memo)(({onChange:t,onSubmitExpression:e,source:n="",suggestionProvider:o})=>{let{editorRef:r,onBlur:i}=VN({onChange:t,onSubmitExpression:e,source:n,suggestionProvider:o});return(0,_N.jsx)("div",{className:`${o$}`,onBlur:i,ref:r})},(t,e)=>t.source===e.source);$N.displayName="ColumnExpressionInput";var UN=require("@vuu-ui/vuu-utils"),GN=require("react");var WN=[{accepts:["boolean"],description:"Applies boolean and operator across supplied parameters to returns a single boolean result",example:{expression:'and(ccy="EUR",quantity=0)',result:"true | false"},name:"and",params:{description:"( boolean, [ boolean* ] )"},type:"boolean"},{accepts:"string",description:"Returns multiple string values as a single joined string. Arguments may be string literal values, string columns or other string expressions. Non string arguments may also be included, these will be converted to strings.",example:{expression:'concatenate("example", "-test")',result:'"example-test"'},name:"concatenate",params:{description:"( string, string, [ string* ] )"},type:"string"},{accepts:["string","string"],description:"Tests a string value to determine whether it contains a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> contains one or more occurrences of <target subscring>",example:{expression:'contains("Royal Bank of Scotland", "bank")',result:"true"},name:"contains",params:{description:"( string )"},type:"boolean"},{accepts:["string","number"],description:"Returns the leftmost <number> characters from <string>. First argument may be a string literal, string column or other string expression.",example:{expression:'left("USD Benchmark Report", 3)',result:'"USD"'},name:"left",params:{count:2,description:"( string, number )"},type:"string"},{accepts:"string",description:"Returns the number of characters in <string>. Argument may be a string literal, string column or other string expression.",example:{expression:'len("example")',result:"7"},name:"len",params:{description:"(string)"},type:"number"},{accepts:"string",description:"Convert a string value to lowercase. Argument may be a string column or other string expression.",example:{expression:'lower("examPLE")',result:'"example"'},name:"lower",params:{description:"( string )"},type:"string"},{accepts:["boolean"],description:"Applies boolean or operator across supplied parameters to returns a single boolean result",example:{expression:'or(status="cancelled",quantity=0)',result:"true | false"},name:"or",params:{description:"( boolean, [ boolean* ] )"},type:"boolean"},{accepts:"string",description:"Convert a string value to uppercase. Argument may be a string column or other string expression.",example:{expression:'upper("example")',result:'"EXAMPLE"'},name:"upper",params:{description:"( string )"},type:"string"},{accepts:["string","number"],description:"Returns the rightmost <number> characters from <string>. First argument may be a string literal, string column or other string expression.",example:{expression:"blah",result:"blah"},name:"right",params:{description:"( string )"},type:"string"},{accepts:["string","string","string"],description:"Replace characters within a string. Accepts three arguments: source text, text to replace and replacement text. Returns a copy of <source text> with any occurrences of <text to replace> replaced by <replacement text>",example:{expression:"blah",result:"blah"},name:"replace",params:{description:"( string )"},type:"string"},{accepts:"number",description:"Converts a number to a string.",example:{expression:"blah",result:"blah"},name:"text",params:{description:"( string )"},type:"string"},{accepts:"string",description:"Tests a string value to determine whether it starts with a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> starts with <target subscring>.",example:{expression:"blah",result:"blah"},name:"starts",params:{description:"( string )"},type:"boolean"},{accepts:"string",description:"Tests a string value to determine whether it ends with a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> ends with <target subscring>.",example:{expression:"blah",result:"blah"},name:"ends",params:{description:"( string )"},type:"boolean"},{accepts:"number",description:"blah",example:{expression:"blah",result:"blah"},name:"min",params:{description:"( string )"},type:"number"},{accepts:"number",description:"blah",example:{expression:"blah",result:"blah"},name:"max",params:{description:"( string )"},type:"number"},{accepts:"number",description:"blah",example:{expression:"blah",result:"blah"},name:"sum",params:{description:"( string )"},type:"number"},{accepts:"number",description:"blah",example:{expression:"blah",result:"blah"},name:"round",params:{description:"( string )"},type:"number"},{accepts:"any",description:"blah",example:{expression:"blah",result:"blah"},name:"or",params:{description:"( string )"},type:"boolean"},{accepts:"any",description:"blah",example:{expression:"blah",result:"blah"},name:"and",params:{description:"( string )"},type:"boolean"},{accepts:"any",description:"Return one of two possible result values, depending on the evaluation of a filter expression. If <filterExpression> resolves to true, result is <expression1>, otherwise <expression2>. ",example:{expression:"blah",result:"blah"},name:"if",params:{description:"( filterExpression, expression1, expression 2)"},type:"variable"}];var Ir=require("@vuu-ui/vuu-utils"),KN=({name:t,description:e,example:n,params:o,type:r})=>{let i=(0,Ir.createEl)("div","vuuFunctionDoc"),s=(0,Ir.createEl)("div","function-heading"),l=(0,Ir.createEl)("span","function-name",t),a=(0,Ir.createEl)("span","param-list",o.description),u=(0,Ir.createEl)("span","function-type",r);s.appendChild(l),s.appendChild(a),s.appendChild(u);let c=(0,Ir.createEl)("p",void 0,e);if(i.appendChild(s),i.appendChild(c),n){let d=(0,Ir.createEl)("div","example-container"),f=(0,Ir.createEl)("div","example-expression",n.expression),p=(0,Ir.createEl)("div","example-result",n.result);d.appendChild(f),i.appendChild(d),i.appendChild(p)}return i};var i$=t=>({apply:`${t.name}( `,boost:2,expressionType:t.type,info:()=>KN(t),label:t.name,type:"function"});var Xme=WN.map(i$);var Dg=require("@vuu-ui/vuu-utils"),$w=require("react");var qN=require("react/jsx-runtime");var Rg=require("@vuu-ui/vuu-utils");var l$=V(j(),1),XN=require("react");var s$=require("@vuu-ui/vuu-utils"),QN=require("react"),JN=require("react/jsx-runtime");var YN=require("react/jsx-runtime");var a$=V(j(),1),ZN=require("@vuu-ui/vuu-utils");var e2=require("react/jsx-runtime");var li=require("@vuu-ui/vuu-utils"),kf=require("react"),Bhe=[{description:"Default formatter for columns with data type integer",label:"Default Renderer (int, long)",name:"default-int"},...(0,li.getRegisteredCellRenderers)("int")],Vhe=[{description:"Default formatter for columns with data type double",label:"Default Renderer (double)",name:"default-double"},...(0,li.getRegisteredCellRenderers)("double")],zhe=[{description:"Default formatter for columns with data type string",label:"Default Renderer (string)",name:"default-string"},...(0,li.getRegisteredCellRenderers)("string")];var t2=require("react/jsx-runtime");var n2=require("react"),c$=V(j(),1);var o2=require("react/jsx-runtime");var lge=new Intl.NumberFormat;var Lg=require("@vuu-ui/vuu-utils"),Kw=require("react");var r2=require("react/jsx-runtime");var i2=require("@vuu-ui/vuu-utils"),Io=require("react"),s2=({availableColumns:t,onAvailableColumnsChange:e,onConfigChange:n,onCreateCalculatedColumn:o,onDataSourceConfigChange:r,tableConfig:i})=>{let s=Mn(),l=(0,Io.useRef)(),[a,u]=(0,Io.useState)(t),c=(0,Io.useCallback)((m,h,v)=>{s({type:"set-props",path:"#context-panel",props:{expanded:!0,content:{type:m,props:v},title:h}})},[s]),d=(0,Io.useCallback)(()=>{requestAnimationFrame(()=>{var m;(m=l.current)==null||m.call(l)})},[]),f=(0,Io.useCallback)(m=>{let h=a.concat({name:m.name,serverDataType:(0,i2.getCalculatedColumnType)(m)});u(h),e==null||e(h),requestAnimationFrame(()=>{var v;(v=l.current)==null||v.call(l)}),o(m)},[a,e,o]),p=(0,Io.useCallback)(m=>{c("ColumnSettings","Column Settings",{column:m.column,onCancelCreateColumn:d,onConfigChange:n,onCreateCalculatedColumn:f,tableConfig:i,vuuTable:m.vuuTable})},[d,f,n,c,i]),g=(0,Io.useCallback)(()=>{p({column:{name:"::",serverDataType:"string"},type:"columnSettings",vuuTable:{module:"SIMUL",table:"instruments"}})},[p]),y=(0,Io.useCallback)(m=>{let h=i.columns.find(v=>v.name===m);h&&p({type:"columnSettings",column:h,vuuTable:{module:"SIMUL",table:"instruments"}})},[p,i.columns]);return l.current=(0,Io.useCallback)(()=>{c("TableSettings","DataGrid Settings",{availableColumns:a!=null?a:i.columns.map(({name:m,serverDataType:h})=>({name:m,serverDataType:h})),onAddCalculatedColumn:g,onConfigChange:n,onDataSourceConfigChange:r,onNavigateToColumn:y,tableConfig:i})},[a,g,y,n,r,c,i]),{showColumnSettingsPanel:p,showTableSettingsPanel:l.current}};var on=require("@vuu-ui/vuu-utils"),Ee=require("react");var l2=require("@vuu-ui/vuu-utils"),a2=t=>(e,n)=>{let o=[];return t===void 0||(e==="header"||e==="column-menu")&&(o.push(...d$(n,t)),o.push(...m$(n,t)),o.push(...f$(n,t)),o.push(...p$(n)),o.push({action:"column-settings",icon:"cog",label:"Column Settings",options:n}),o.push({action:"table-settings",icon:"cog",label:"DataGrid Settings",options:n})),o};function d$(t,{sort:{sortDefs:e}}){let{column:n}=t,o=[];if(n===void 0)return o;let r=e.length>0;return n.sorted==="A"?o.push({label:"Reverse Sort (DSC)",action:"sort-dsc",options:t}):n.sorted==="D"?o.push({label:"Reverse Sort (ASC)",action:"sort-asc",options:t}):typeof n.sorted=="number"?(n.sorted>0?o.push({label:"Reverse Sort (DSC)",action:"sort-add-dsc",options:t}):o.push({label:"Reverse Sort (ASC)",action:"sort-add-asc",options:t}),r&&Math.abs(n.sorted)<e.length&&o.push({label:"Remove from sort",action:"sort-remove",options:t}),o.push({label:"New Sort",children:[{label:"Ascending",action:"sort-asc",options:t},{label:"Descending",action:"sort-dsc",options:t}]})):r?(o.push({label:"Add to sort",children:[{label:"Ascending",action:"sort-add-asc",options:t},{label:"Descending",action:"sort-add-dsc",options:t}]}),o.push({label:"New Sort",children:[{label:"Ascending",action:"sort-asc",options:t},{label:"Descending",action:"sort-dsc",options:t}]})):o.push({label:"Sort",children:[{label:"Ascending",action:"sort-asc",options:t},{label:"Descending",action:"sort-dsc",options:t}]}),o}function f$(t,e){let{column:n}=t;if(n===void 0||e.groupBy.length===0)return[];let{name:o,label:r=o}=n;return[{label:`Aggregate ${r}`,children:[{label:"Count",action:"agg-count",options:t},{label:"Distinct",action:"agg-distinct",options:t}].concat((0,l2.isNumericColumn)(n)?[{label:"Sum",action:"agg-sum",options:t},{label:"Avg",action:"agg-avg",options:t},{label:"High",action:"agg-high",options:t},{label:"Low",action:"agg-low",options:t}]:[])}]}var Qw=(t,e)=>({label:`Pin ${e}`,action:`column-pin-${e}`,options:t}),Gw=t=>Qw(t,"left"),jw=t=>Qw(t,"floating"),qw=t=>Qw(t,"right");function p$(t){let{column:e}=t;if(e===void 0)return[];let{pin:n}=e,o=[{label:"Hide column",action:"column-hide",options:t},{label:"Remove column",action:"column-remove",options:t}];return n===void 0?o.push({label:"Pin column",children:[Gw(t),jw(t),qw(t)]}):n==="left"?o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[jw(t),qw(t)]}):n==="right"?o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Gw(t),jw(t)]}):n==="floating"&&o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Gw(t),qw(t)]}),o}function m$(t,{groupBy:e}){let{column:n}=t,o=[];if(n===void 0)return o;let{name:r,label:i=r}=n;return e.length===0?o.push({label:`Group by ${i}`,action:"group",options:t}):o.push({label:`Add ${i} to group by`,action:"group-add",options:t}),o}var u2=require("@vuu-ui/vuu-utils"),At=require("@vuu-ui/vuu-utils"),h$=(t,e)=>{if(t.filterStruct&&e){let[n,o]=(0,u2.removeColumnFromFilter)(e,t.filterStruct);return{filter:o,filterStruct:n}}else return t},{Average:g$,Count:y$,Distinct:b$,High:v$,Low:x$,Sum:C$}=At.AggregationType,c2=({dataSource:t,onPersistentColumnOperation:e})=>o=>{let r=o.options;if(r.column&&t){let{column:i}=r;switch(o.menuId){case"sort-asc":return t.sort=(0,At.setSortColumn)(t.sort,i,"A"),!0;case"sort-dsc":return t.sort=(0,At.setSortColumn)(t.sort,i,"D"),!0;case"sort-add-asc":return t.sort=(0,At.addSortColumn)(t.sort,i,"A"),!0;case"sort-add-dsc":return t.sort=(0,At.addSortColumn)(t.sort,i,"D"),!0;case"group":return t.groupBy=(0,At.addGroupColumn)(t.groupBy,i),!0;case"group-add":return t.groupBy=(0,At.addGroupColumn)(t.groupBy,i),!0;case"column-hide":return e({type:"hideColumns",columns:[i]}),!0;case"column-remove":return t.columns=t.columns.filter(s=>s!==i.name),!0;case"filter-remove-column":return t.filter=h$(t.filter,i),!0;case"remove-filters":return t.filter={filter:""},!0;case"agg-avg":return t.aggregations=(0,At.setAggregations)(t.aggregations,i,g$),!0;case"agg-high":return t.aggregations=(0,At.setAggregations)(t.aggregations,i,v$),!0;case"agg-low":return t.aggregations=(0,At.setAggregations)(t.aggregations,i,x$),!0;case"agg-count":return t.aggregations=(0,At.setAggregations)(t.aggregations,i,y$),!0;case"agg-distinct":return t.aggregations=(0,At.setAggregations)(t.aggregations,i,b$),!0;case"agg-sum":return t.aggregations=(0,At.setAggregations)(t.aggregations,i,C$),!0;case"column-pin-floating":return e({type:"pinColumn",column:i,pin:"floating"}),!0;case"column-pin-left":return e({type:"pinColumn",column:i,pin:"left"}),!0;case"column-pin-right":return e({type:"pinColumn",column:i,pin:"right"}),!0;case"column-unpin":return e({type:"pinColumn",column:i,pin:void 0}),!0;case"column-settings":return e({type:"columnSettings",column:i}),!0;case"table-settings":return e({type:"tableSettings"}),!0;default:}}return!1};var Uw=(t,e)=>{switch(e.type){case"col-size":return{...t,columns:t.columns.map(n=>n.name===e.column.name?{...n,width:e.width}:n)};case"column-prop":return{...t,columns:t.columns.map(n=>n.name===e.column.name?{...n,[e.property]:e.value}:n)};default:return t}};var m2=require("@vuu-ui/vuu-utils"),ps=require("react");var Jw=t=>`.vuuTable-col-headers .vuuTableHeaderCell:nth-child(${t})`,Xw=(t,e)=>`.vuuTable-body > [aria-rowindex='${t}'] > [role='cell']:nth-child(${e+1})`,d2=(t,[e,n])=>{var i;let o=e===-1?Jw(n):Xw(e,n),r=(i=t.current)==null?void 0:i.querySelector(o);return w$(r)&&r.querySelector("button")||r},w$=t=>t.classList.contains("vuuTableCell-editable"),f2=t=>t.querySelector(".vuuTableInputCell")!==null;function S$(t){if(t){let e=t.ariaRowIndex;if(e!==null)return parseInt(e,10)}return-1}var E$=t=>t.closest('[role="row"]'),p2=t=>S$(E$(t));var h2=({navigate:t})=>{let e=(0,ps.useCallback)(()=>{t()},[t]),n=(0,ps.useCallback)(a=>{let u=a.target,c=u.matches("input")?u:u.querySelector("input");c&&(c.focus(),c.select())},[]),o=(0,ps.useCallback)(a=>{let c=a.target.querySelector("input");c&&(c.focus(),c.select())},[]),r=(0,ps.useCallback)(a=>{let u=a.target;f2(u)&&((0,m2.isCharacterKey)(a.key)?n(a):a.key==="Enter"&&o(a))},[n,o]),i=(0,ps.useCallback)(a=>{let u=a.target;(u.matches("input")||u.querySelector("input"))&&(n(a),a.stopPropagation())},[n]),s=(0,ps.useCallback)(a=>{a.target.removeEventListener("vuu-commit",e,!0)},[e]),l=(0,ps.useCallback)(a=>{a.target.addEventListener("vuu-commit",e,!0)},[e]);return{onBlur:s,onDoubleClick:i,onFocus:l,onKeyDown:r}};var g2=require("@vuu-ui/vuu-data"),Fl=require("@vuu-ui/vuu-utils"),$t=require("react");var ju=require("@vuu-ui/vuu-utils"),{SELECTED:Yw}=ju.metadataKeys,Ag=class{constructor({from:e,to:n}){this.rowCount=0;this.setRowCount=e=>{e<this.data.length&&(this.data.length=e),this.rowCount=e};this.range=new ju.WindowRange(e,n),this.data=new Array(Math.max(0,n-e)),this.rowCount=0}add(e){let[n]=e;if(this.isWithinRange(n)){let o=n-this.range.from;if(this.data[o]=e,e[Yw]){let r=this.data[o-1];(0,ju.isRowSelectedLast)(r)&&(this.data[o-1]=r.slice(),this.data[o-1][Yw]-=4)}}}getAtIndex(e){return this.range.isWithin(e)&&this.data[e-this.range.from]!=null?this.data[e-this.range.from]:void 0}isWithinRange(e){return this.range.isWithin(e)}setRange({from:e,to:n}){if(e!==this.range.from||n!==this.range.to){let[o,r]=this.range.overlap(e,n),i=new Array(Math.max(0,n-e));for(let s=o;s<r;s++){let l=this.getAtIndex(s);if(l){let a=s-e;i[a]=l}}this.data=i,this.range.from=e,this.range.to=n}}getSelectedRows(){return this.data.filter(e=>e[Yw]!==0)}};var y2=({dataSource:t,onFeatureInvocation:e,onSizeChange:n,onSubscribed:o,range:r=Fl.NULL_RANGE,renderBufferSize:i=0})=>{let[,s]=(0,$t.useState)(null),l=(0,$t.useRef)([]),a=(0,$t.useRef)(!0),u=(0,$t.useRef)(!1),c=(0,$t.useRef)(Fl.NULL_RANGE),d=(0,$t.useMemo)(()=>new Ag((0,Fl.getFullRange)(r,i)),[]),f=(0,$t.useCallback)(m=>{for(let h of m)d.add(h);l.current=d.data,a.current?s({}):console.log("ignore update as we're not mounted")},[d]),p=(0,$t.useCallback)(m=>{m.type==="subscribed"?o==null||o(m):m.type==="viewport-update"?(typeof m.size=="number"&&(n==null||n(m.size),d.setRowCount(m.size)),m.rows?f(m.rows):typeof m.size=="number"&&(l.current=d.data,u.current=!0)):(0,g2.isVuuFeatureInvocation)(m)?e==null||e(m):console.log(`useDataSource unexpected message ${m.type}`)},[d,e,n,o,f]),g=(0,$t.useCallback)(()=>d.getSelectedRows(),[d]);(0,$t.useEffect)(()=>{var m;return a.current=!0,(m=t.resume)==null||m.call(t),()=>{var h;a.current=!1,(h=t.suspend)==null||h.call(t)}},[t]),(0,$t.useEffect)(()=>{var m;t.status==="disabled"?(m=t.enable)==null||m.call(t,p):t==null||t.subscribe({range:(0,Fl.getFullRange)(r,i)},p)},[t,p,r,i]);let y=(0,$t.useCallback)(m=>{let h=(0,Fl.getFullRange)(m,i);d.setRange(h),t.range=c.current=h,t.emit("range",m)},[t,d,i]);return{data:l.current,dataRef:l,getSelectedRows:g,range:c.current,setRange:y}};var Ng=require("react"),b2=t=>{let e=(0,Ng.useRef)(t);return(0,Ng.useMemo)(()=>e.current,[])};var st=require("react");var C2=new Set(["Home","End","PageUp","PageDown","ArrowDown","ArrowUp"]),eS=new Set(C2);eS.add("ArrowLeft");eS.add("ArrowRight");var T$=(t,e)=>{switch(e){case"cell":return eS.has(t);case"row":return C2.has(t);default:return!1}},k$=["Home","End","PageUp","PageDown"],v2=t=>k$.includes(t),M$=[-1,-1],Zw=[void 0,void 0],w2=(t,e=t.closest(".vuuTable-contentContainer"))=>{if(e){let n=e==null?void 0:e.getBoundingClientRect(),o=t.getBoundingClientRect();if(o)return o.bottom>n.bottom?["down",o.bottom-n.bottom]:o.top<n.top?["up",o.top-n.top]:Zw;throw Error("Whats going on, row not found")}else throw Error("Whats going on, scrollbar container not found")},I$=t=>{var n;let e=t.closest(".vuuTable-contentContainer");if(e){let o=t.closest(".vuuTableRow");if(o){let r=w2(o,e);if(r!==Zw)return r;let i=e==null?void 0:e.getBoundingClientRect(),s=(n=t.closest(".vuuTableCell"))==null?void 0:n.getBoundingClientRect();if(s){if(s.right>i.right)return["right",s.right+6-i.right];if(s.left<i.left)return["left",s.left-i.left]}else throw Error("Whats going on, cell not found")}}return Zw};function x2(t,[e,n],o,r){return t==="ArrowUp"?e>-1?[e-1,n]:[e,n]:t==="ArrowDown"?e===-1?[0,n]:e===r-1?[e,n]:[e+1,n]:t==="ArrowRight"?n<o?[e,n+1]:[e,n]:t==="ArrowLeft"?n>1?[e,n-1]:[e,n]:[e,n]}var S2=({columnCount:t=0,containerRef:e,disableFocus:n=!1,defaultHighlightedIndex:o,disableHighlightOnFocus:r,highlightedIndex:i,navigationStyle:s,requestScroll:l,onHighlight:a,rowCount:u=0,viewportRowCount:c})=>{var O;let d=(0,st.useRef)([-1,-1]),f=(0,st.useRef)(),p=(0,st.useRef)([-1,0]),g=(0,st.useRef)(),[y,m]=Le({controlled:i,default:o,name:"UseKeyboardNavigation"});g.current=y;let h=(0,st.useCallback)((P,N=!1)=>{a==null||a(P),m(P)},[a,m]),v=P=>P==null?void 0:P.closest("[role='columnHeader'],[role='cell']"),x=P=>{var N,D;if(P.role==="columnHeader")return[-1,parseInt((N=P.dataset.idx)!=null?N:"-1",10)];{let B=P.closest("[role='row']");if(B){let F=parseInt((D=B.ariaRowIndex)!=null?D:"-1",10),$=Array.from(B.childNodes).indexOf(P);return[F,$]}}return M$},b=(0,st.useCallback)(P=>{var N;if(e.current){let D=d2(e,P);if(D){D!==f.current&&((N=f.current)==null||N.removeAttribute("tabindex"),f.current=D,D.setAttribute("tabindex","0"));let[B,F]=I$(D);B&&F&&(l==null||l({type:"scroll-distance",distance:F,direction:B})),console.log("activeCell focus"),D.focus({preventScroll:!0})}}},[e,l]),S=(0,st.useCallback)((P,N,D=!1)=>{let B=[P,N];p.current=B,s==="row"?m(P):b(B),D&&(d.current=B)},[b,s,m]),C=(0,st.useCallback)((P,[N,D])=>new Promise(B=>{let F=N;switch(P){case"PageDown":F=Math.min(u-1,N+c),l==null||l({type:"scroll-page",direction:"down"});break;case"PageUp":F=Math.max(0,N-c),l==null||l({type:"scroll-page",direction:"up"});break;case"Home":F=0,l==null||l({type:"scroll-end",direction:"home"});break;case"End":F=u-1,l==null||l({type:"scroll-end",direction:"end"});break}setTimeout(()=>{B([F,D])},90)}),[l,u,c]),w=(0,st.useCallback)(()=>{var P;if(r!==!0&&(P=e.current)!=null&&P.contains(document.activeElement)){let N=v(document.activeElement);N&&(d.current=x(N),s==="row"&&m(d.current[0]))}},[r,e,s,m]),E=(0,st.useCallback)(async P=>{let[N,D]=v2(P)?await C(P,p.current):x2(P,p.current,t,u),[B,F]=p.current;(N!==B||D!==F)&&S(N,D,!0)},[t,C,u,S]),T=(0,st.useCallback)(P=>{let{current:N}=e,D=N==null?void 0:N.querySelector(`[aria-rowindex="${P}"]`);if(D){let[B,F]=w2(D);B&&F&&(l==null||l({type:"scroll-distance",distance:F,direction:B}))}},[e,l]),M=(0,st.useCallback)(async P=>{let{current:N}=g,[D]=v2(P)?await C(P,[N!=null?N:-1,0]):x2(P,[N!=null?N:-1,0],t,u);D!==N&&(h(D),T(D))},[t,C,u,T,h]);(0,st.useEffect)(()=>{i!==void 0&&i!==-1&&T(i)},[i,T]);let L=(0,st.useCallback)(P=>{u>0&&T$(P.key,s)&&(P.preventDefault(),P.stopPropagation(),s==="row"?M(P.key):E(P.key))},[u,s,M,E]),k=(0,st.useCallback)(P=>{let N=P.target,D=v(N);if(D){let[B,F]=x(D);S(B,F)}},[S]),I=(0,st.useCallback)(()=>{h(-1)},[h]),A=(0,st.useCallback)(P=>{let N=p2(P.target);N!==-1&&N!==g.current&&h(N)},[h]),H=(0,st.useCallback)(()=>{E("ArrowDown")},[E]),R=((O=e.current)==null?void 0:O.firstChild)!=null;return(0,st.useEffect)(()=>{if(R&&f.current===void 0&&!n){let{current:P}=e,N=(P==null?void 0:P.querySelector(Jw(0)))||(P==null?void 0:P.querySelector(Xw(0,0)));N&&(N.setAttribute("tabindex","0"),f.current=N)}},[e,n,R]),{highlightedIndexRef:g,navigate:H,onClick:k,onFocus:w,onKeyDown:L,onMouseLeave:s==="row"?I:void 0,onMouseMove:s==="row"?A:void 0}};var Pr=require("@vuu-ui/vuu-utils"),Bl=require("react"),{IDX:P$}=Pr.metadataKeys,D$=[],R$=["Enter"," "],E2=({highlightedIndexRef:t,selectionKeys:e=R$,selectionModel:n,onSelect:o,onSelectionChange:r})=>{let i=(0,Bl.useRef)(-1),s=(0,Bl.useRef)(D$),l=(0,Bl.useCallback)(c=>e.includes(c.key),[e]),a=(0,Bl.useCallback)((c,d,f)=>{let{[P$]:p}=c,{current:g}=i,{current:y}=s,h=((0,Pr.isRowSelected)(c)?Pr.deselectItem:Pr.selectItem)(n,y,p,d,f,g);s.current=h,i.current=p,o==null||o(c),r==null||r(h)},[o,r,n]);return{onKeyDown:(0,Bl.useCallback)(c=>{if(l(c)){let{current:d}=t;if(d!==void 0&&d!==-1){let f=c.target.querySelector(`[aria-rowindex="${d}"]`);f&&(0,Pr.dispatchMouseEvent)(f,"click")}}},[t,l]),onRowClick:a}};var T2=require("@vuu-ui/vuu-utils"),k2=require("react"),L$=[],M2=({columns:t,data:e,dataSource:n,getSelectedRows:o})=>{let[r]=Na();return(0,k2.useCallback)(s=>{var c;let l=s.target,a=l==null?void 0:l.closest("div[role='cell']"),u=l==null?void 0:l.closest("div[role='row']");if(a&&u){let{selectedRowsCount:d}=n,f=(0,T2.buildColumnMap)(t),p=parseInt((c=u.ariaRowIndex)!=null?c:"-1"),g=Array.from(u.childNodes).indexOf(a),y=e.find(([h])=>h===p),m=t[g];r(s,"grid",{columnMap:f,columnName:m,row:y,selectedRows:d===0?L$:o(),viewport:n.viewport})}},[t,e,n,o,r])};var he=require("@vuu-ui/vuu-utils");var I2=require("react"),{info:tS}=(0,he.logger)("useTableModel"),A$=100,N$=he.metadataKeys.count,H$=({serverDataType:t})=>t===void 0,P2=(t,e)=>{let n=e==null?void 0:e.columns.find(({name:o})=>o===t.name);return n?n.serverDataType:t.serverDataType},O$=["int","long","double"],D2=t=>t===void 0?void 0:O$.includes(t)?"right":"left",R2=t=>t.type==="columnSettings",L2=t=>t.type==="tableSettings",F$=(t,e)=>{switch(tS==null||tS(`TableModelReducer ${e.type}`),e.type){case"init":return N2(e);case"moveColumn":return V$(t,e);case"resizeColumn":return _$(t,e);case"setTableSchema":return W$(t,e);case"hideColumns":return z$(t,e);case"showColumns":return $$(t,e);case"pinColumn":return K$(t,e);case"updateColumnProp":return qu(t,e);case"tableConfig":return O2(t,e);default:return console.log(`unhandled action ${e.type}`),t}},A2=(t,e)=>{let[n,o]=(0,I2.useReducer)(F$,{tableConfig:t,dataSource:e},N2),{columns:r,headings:i,tableConfig:s,...l}=n;return{columns:r,dispatchColumnAction:o,headings:i,tableAttributes:l,tableConfig:s}};function N2({dataSource:t,tableConfig:e}){let{columns:n,...o}=e;console.log(JSON.stringify(o,null,2));let{config:r,tableSchema:i}=t,s=n.filter((0,he.subscribedOnly)(r==null?void 0:r.columns)).map(H2(o,i)),l=s.some(he.isPinned)?(0,he.sortPinnedColumns)(s):s,a={columns:l,headings:(0,he.getTableHeadings)(l),tableConfig:e,...o};if(r){let{columns:u,...c}=r;a=O2(a,{type:"tableConfig",...c})}return a}var B$=(t,e)=>e==="uppercase"?t.toUpperCase():e==="capitalize"?t[0].toUpperCase()+t.slice(1).toLowerCase():t,H2=(t,e)=>(n,o)=>{let{columnDefaultWidth:r=A$,columnFormatHeader:i}=t,s=P2(n,e),{align:l=D2(s),key:a,name:u,label:c=(0,he.getColumnLabel)(n),width:d=r,...f}=n,p={...f,align:l,CellRenderer:(0,he.getCellRenderer)(n),HeaderCellLabelRenderer:(0,he.getCellRenderer)(n,"col-label"),HeaderCellContentRenderer:(0,he.getCellRenderer)(n,"col-content"),clientSideEditValidationCheck:(0,he.hasValidationRules)(n.type)?gD(n.type.renderer.rules):void 0,label:B$(c,i),key:a!=null?a:o+N$,name:u,originalIdx:o,serverDataType:s,valueFormatter:(0,he.getValueFormatter)(n,s),width:d};return(0,he.isGroupColumn)(p)&&(p.columns=p.columns.map(g=>H2(t)(g,g.key))),p};function V$(t,{column:e,moveBy:n}){let{columns:o}=t;if(typeof n=="number"){let r=o.indexOf(e),i=o.slice(),[s]=i.splice(r,1);return i.splice(r+n,0,s),{...t,columns:i}}return t}function z$(t,{columns:e}){return e.some(n=>n.hidden!==!0)?e.reduce((n,o)=>o.hidden!==!0?qu(n,{type:"updateColumnProp",column:o,hidden:!0}):n,t):t}function $$(t,{columns:e}){return e.some(n=>n.hidden)?e.reduce((n,o)=>o.hidden?qu(n,{type:"updateColumnProp",column:o,hidden:!1}):n,t):t}function _$(t,{column:e,phase:n,width:o}){let r="updateColumnProp",i=n!=="end";switch(n){case"begin":return qu(t,{type:r,column:e,resizing:i});case"end":return qu(t,{type:r,column:e,resizing:i,width:o});case"resize":return qu(t,{type:r,column:e,width:o});default:throw Error(`useTableModel.resizeColumn, invalid resizePhase ${n}`)}}function W$(t,{tableSchema:e}){let{columns:n}=t;if(n.some(H$)){let o=n.map(r=>{var s;let i=P2(r,e);return{...r,align:(s=r.align)!=null?s:D2(i),serverDataType:i}});return{...t,columns:o}}else return t}function K$(t,e){let{columns:n}=t,{column:o,pin:r}=e,i=n.find(s=>s.name===o.name);return i?(n=(0,he.replaceColumn)(n,{...i,pin:r}),n=(0,he.sortPinnedColumns)(n),{...t,columns:n}):t}function qu(t,e){let{columns:n,tableConfig:o}=t,{align:r,column:i,hidden:s,label:l,resizing:a,width:u}=e,c=n.find(d=>d.name===i.name);if(c&&((r==="left"||r==="right")&&(n=(0,he.replaceColumn)(n,{...c,align:r})),typeof l=="string"&&(n=(0,he.replaceColumn)(n,{...c,label:l})),typeof a=="boolean"&&(n=(0,he.replaceColumn)(n,{...c,resizing:a})),typeof s=="boolean"&&(n=(0,he.replaceColumn)(n,{...c,hidden:s})),typeof u=="number")){n=(0,he.replaceColumn)(n,{...c,width:u});let d=o.columns.find(f=>f.name===i.name);d&&(o={...o,columns:(0,he.replaceColumn)(o.columns,{...d,width:u})})}return{...t,columns:n,tableConfig:o}}function O2(t,{confirmed:e,filter:n,groupBy:o,sort:r}){let i=o!==void 0,s=typeof(n==null?void 0:n.filter)=="string",l=r&&r.sortDefs.length>0,a=t;return i&&(a={...t,columns:(0,he.applyGroupByToColumns)(a.columns,o,e)}),l&&(a={...t,columns:(0,he.applySortToColumns)(a.columns,r)}),s?a={...t,columns:(0,he.applyFilterToColumns)(a.columns,n)}:a.columns.some(he.isFilteredColumn)&&(a={...t,columns:(0,he.stripFilterFromColumns)(a.columns)}),a}var hn=require("react"),F2=t=>{let{scrollLeft:e,scrollTop:n}=t,{clientHeight:o,clientWidth:r,scrollHeight:i,scrollWidth:s}=t,l=e/(s-r),a=n/(i-o);return[l,a]},B2=({onAttach:t,onDetach:e})=>{let n=(0,hn.useRef)(null);return(0,hn.useCallback)(r=>{if(r)n.current=r,t==null||t(r);else if(n.current){let{current:i}=n;n.current=r,e==null||e(i)}},[t,e])},V2=({maxScrollLeft:t,maxScrollTop:e,onHorizontalScroll:n,onVerticalScroll:o,rowHeight:r,viewportRowCount:i})=>{let s=(0,hn.useRef)(!1),l=(0,hn.useRef)({scrollTop:0,scrollLeft:0}),a=(0,hn.useRef)(null),u=(0,hn.useRef)(null),c=(0,hn.useCallback)(()=>{let{current:x}=u,{current:b}=a,{current:S}=s;if(S)s.current=!1;else if(x&&b){let[C,w]=F2(b),E=Math.round(C*t),T=Math.round(w*e);x.scrollTo({left:E,top:T,behavior:"auto"})}},[t,e]),d=(0,hn.useCallback)(()=>{let{current:x}=u,{current:b}=a,{current:S}=l;if(x&&b){let{scrollLeft:C,scrollTop:w}=x,[E,T]=F2(x);s.current=!0,b.scrollLeft=Math.round(E*t),b.scrollTop=Math.round(T*e),S.scrollTop!==w&&(S.scrollTop=w,o==null||o(w,T)),S.scrollLeft!==C&&(S.scrollLeft=C,n==null||n(C))}},[t,e,n,o]),f=(0,hn.useCallback)(x=>{a.current=x,x.addEventListener("scroll",c,{passive:!0})},[c]),p=(0,hn.useCallback)(x=>{a.current=null,x.removeEventListener("scroll",c)},[c]),g=(0,hn.useCallback)(x=>{u.current=x,x.addEventListener("scroll",d,{passive:!0})},[d]),y=(0,hn.useCallback)(x=>{u.current=null,x.removeEventListener("scroll",d)},[d]),m=B2({onAttach:g,onDetach:y}),h=B2({onAttach:f,onDetach:p}),v=(0,hn.useCallback)(x=>{let{current:b}=u;if(b){let{scrollLeft:S,scrollTop:C}=b;if(s.current=!1,x.type==="scroll-distance"){let w=S,E=C;x.direction==="up"||x.direction==="down"?E=Math.min(Math.max(0,C+x.distance),e):w=Math.min(Math.max(0,S+x.distance),t),b.scrollTo({top:E,left:w,behavior:"smooth"})}else if(x.type==="scroll-page"){let{direction:w}=x,E=i*(w==="down"?r:-r),T=Math.min(Math.max(0,C+E),e);b.scrollTo({top:T,left:S,behavior:"auto"})}else if(x.type==="scroll-end"){let{direction:w}=x,E=w==="end"?e:0;b.scrollTo({top:E,left:b.scrollLeft,behavior:"auto"})}}},[t,e,r,i]);return{scrollbarContainerRef:h,contentContainerRef:m,requestScroll:v}};var ai=require("react"),Hg=require("@vuu-ui/vuu-utils"),U$=15e5,G$={contentHeight:0,contentWidth:0,getRowAtPosition:()=>-1,getRowOffset:()=>-1,horizontalScrollbarHeight:0,maxScrollContainerScrollHorizontal:0,maxScrollContainerScrollVertical:0,pinnedWidthLeft:0,pinnedWidthRight:0,rowCount:0,setPctScrollTop:()=>{},totalHeaderHeight:0,verticalScrollbarWidth:0,viewportBodyHeight:0},j$=t=>{let e=0,n=0,o=0;for(let r of t){let{hidden:i,pin:s,width:l}=r,a=i?0:l;s==="left"?e+=a:s==="right"?n+=a:o+=a}return{pinnedWidthLeft:e+4,pinnedWidthRight:n+4,unpinnedWidth:o}},z2=({columns:t,headerHeight:e,headings:n,rowCount:o,rowHeight:r,size:i})=>{let s=(0,ai.useRef)(0),a=Math.min(o,U$)*r,c=o*r-a,{pinnedWidthLeft:d,pinnedWidthRight:f,unpinnedWidth:p}=(0,ai.useMemo)(()=>j$(t),[t]),[g,y]=(0,ai.useMemo)(()=>(0,Hg.actualRowPositioning)(r),[r]),[m,h]=(0,ai.useMemo)(()=>c?(0,Hg.virtualRowPositioning)(r,c,s):[g,y],[y,g,c,r]),v=(0,ai.useCallback)(x=>{s.current=x},[]);return(0,ai.useMemo)(()=>{var x;if(i){let b=n.length,S=15,C=d+p+f,w=C>i.width?S:0,E=e*(1+b),T=a-(((x=i==null?void 0:i.height)!=null?x:0)-w)+E,M=C-i.width+d,L=(i.height-e)/r,k=Number.isInteger(L)?L+1:Math.ceil(L),I=i.height-E,A=a>I?S:0;return{contentHeight:a,getRowAtPosition:h,getRowOffset:m,horizontalScrollbarHeight:w,maxScrollContainerScrollHorizontal:M,maxScrollContainerScrollVertical:T,pinnedWidthLeft:d,pinnedWidthRight:f,rowCount:k,contentWidth:C,setPctScrollTop:v,totalHeaderHeight:E,verticalScrollbarWidth:A,viewportBodyHeight:I}}else return G$},[i,n.length,d,p,f,a,e,r,h,m,v])};var Qu=require("react"),$2=({columns:t,getRowAtPosition:e,setRange:n,viewportMeasurements:o})=>{let r=(0,Qu.useRef)(0),{contentWidth:i,rowCount:s}=o,l=(0,Qu.useCallback)(a=>{let u=e(a);u!==r.current&&(r.current=u,n({from:u,to:u+s}))},[e,n,s]);return(0,Qu.useEffect)(()=>{let{current:a}=r,u={from:a,to:a+s};n(u)},[n,s]),{onVerticalScroll:l}};var Og=t=>t,{KEY:q$,IS_EXPANDED:_2,IS_LEAF:W2}=on.metadataKeys,Q$={draggable:void 0,onMouseDown:void 0},J$=()=>Q$,X$=(t,e)=>({...t,columns:t.columns.concat(e)}),K2=({allowDragDrop:t=!1,availableColumns:e,config:n,containerRef:o,dataSource:r,disableFocus:i,headerHeight:s=25,highlightedIndex:l,id:a,navigationStyle:u="cell",onAvailableColumnsChange:c,onConfigChange:d,onDragStart:f,onDrop:p,onFeatureInvocation:g,onHighlight:y,onRowClick:m,onSelect:h,onSelectionChange:v,renderBufferSize:x=0,rowHeight:b=20,selectionModel:S,size:C})=>{let[w,E]=(0,Ee.useState)(r.size);if(r===void 0)throw Error("no data source provided to Vuu Table");let T=t?cr:J$,M=(0,Ee.useMemo)(()=>a2(r),[r]),L=(0,Ee.useCallback)(_=>{E(_)},[]),{columns:k,dispatchColumnAction:I,headings:A,tableAttributes:H,tableConfig:R}=A2(n,r);kn(()=>{I({type:"init",dataSource:r,tableConfig:R})},[R,r,I]);let O=(0,Ee.useCallback)(_=>{I({type:"init",tableConfig:_,dataSource:r}),d==null||d(Og(_))},[r,I,d]),[P,N]=(0,Ee.useState)(),[D,B]=(0,Ee.useMemo)(()=>{let _=(ue,Me)=>{let Ct=(0,on.updateColumn)(k,ue,{width:Me});N(Ct)};return[P!=null?P:k,_]},[k,P]),F=(0,Ee.useMemo)(()=>(0,on.buildColumnMap)(r.columns),[r.columns]),{getRowAtPosition:$,getRowOffset:Q,setPctScrollTop:J,...K}=z2({columns:D,headerHeight:s,headings:A,rowCount:w,rowHeight:b,size:C}),G=b2({from:0,to:K.rowCount}),se=(0,Ee.useCallback)(({tableSchema:_})=>{_?I({type:"setTableSchema",tableSchema:_}):console.log("subscription message with no schema")},[I]),{data:Y,dataRef:Re,getSelectedRows:ge,range:Te,setRange:be}=y2({dataSource:r,onFeatureInvocation:g,renderBufferSize:x,onSizeChange:L,onSubscribed:se,range:G}),$e=(0,Ee.useCallback)(_=>{console.log("settings changed"),I({type:"init",tableConfig:_,dataSource:r}),d==null||d(Og(_))},[r,I,d]),lt=(0,Ee.useCallback)(_=>{r.config={...r.config,..._}},[r]);(0,Ee.useEffect)(()=>{r.on("config",(_,ue)=>{I({type:"tableConfig",..._,confirmed:ue})})},[r,I]);let Be=(0,Ee.useCallback)(_=>{r.columns=r.columns.concat(_.name),O(X$(R,_))},[r,R,O]),Se=(0,Ee.useCallback)(_=>{let{columns:ue}=_,Me=ue.map(ht=>ht.name),Ct={...R,columns:R.columns.map(ht=>Me.includes(ht.name)?{...ht,hidden:!0}:ht)};O(Ct)},[R,O]),Ve=(0,Ee.useCallback)(_=>{O({...R,columns:(0,on.updateColumn)(R.columns,{..._.column,pin:_.pin})})},[R,O]),{showColumnSettingsPanel:et,showTableSettingsPanel:vn}=s2({availableColumns:e!=null?e:R.columns.map(({name:_,serverDataType:ue="string"})=>({name:_,serverDataType:ue})),onAvailableColumnsChange:c,onConfigChange:$e,onCreateCalculatedColumn:Be,onDataSourceConfigChange:lt,tableConfig:R}),Ae=(0,Ee.useCallback)(_=>{if(R2(_))et(_);else if(L2(_))vn();else switch(_.type){case"hideColumns":return Se(_);case"pinColumn":return Ve(_);default:I(_)}},[I,Se,Ve,et,vn]),ee=c2({dataSource:r,onPersistentColumnOperation:Ae}),re=(0,Ee.useCallback)((_,ue=!1,Me)=>{r&&(r.sort=(0,on.applySort)(r.sort,_,ue,Me))},[r]),ce=(0,Ee.useCallback)((_,ue,Me)=>{let Ct=D.find(ht=>ht.name===ue);if(Ct)_==="resize"?(0,on.isValidNumber)(Me)&&B(ue,Me):_==="end"?(0,on.isValidNumber)(Me)&&(I({type:"resizeColumn",phase:_,column:Ct,width:Me}),N(void 0),d==null||d(Og(Uw(R,{type:"col-size",column:Ct,width:Me})))):(N(void 0),I({type:"resizeColumn",phase:_,column:Ct,width:Me}));else throw Error(`useDataTable.handleColumnResize, column ${ue} not found`)},[D,R,I,d,B]),fe=(0,Ee.useCallback)((_,ue)=>{let Me=(0,on.isJsonGroup)(ue,_),Ct=_[q$];if(_[_2]){if(r.closeTreeNode(Ct,!0),Me){let ht=D.indexOf(ue);r.getRowsAtDepth(ht+1).some(Lo=>Lo[_2]||Lo[W2])||I({type:"hideColumns",columns:D.slice(ht+2)})}}else if(r.openTreeNode(Ct),Me){let ht=r.getChildRows(Ct),Ro=D.indexOf(ue)+1,Lo=[D[Ro]];ht.some(Yl=>Yl[W2])&&Lo.push(D[Ro+1]),Lo.some(Yl=>Yl.hidden)&&I({type:"showColumns",columns:Lo})}},[D,r,I]),{onVerticalScroll:oe}=$2({columns:D,getRowAtPosition:$,setRange:be,viewportMeasurements:K}),pe=(0,Ee.useCallback)(_=>{oe(_)},[oe]),{requestScroll:ve,...Ne}=V2({maxScrollLeft:K.maxScrollContainerScrollHorizontal,maxScrollTop:K.maxScrollContainerScrollVertical,rowHeight:b,onVerticalScroll:pe,viewportRowCount:K.rowCount}),{highlightedIndexRef:at,navigate:X,onFocus:ie,onKeyDown:xt,...xn}=S2({columnCount:D.filter(_=>_.hidden!==!0).length,containerRef:o,disableFocus:i,highlightedIndex:l,navigationStyle:u,requestScroll:ve,rowCount:r==null?void 0:r.size,onHighlight:y,viewportRange:Te,viewportRowCount:K.rowCount}),{onBlur:Cn,onDoubleClick:zn,onKeyDown:Jl,onFocus:mi}=h2({navigate:X}),Xl=(0,Ee.useCallback)(_=>{ie(),_.defaultPrevented||mi(_)},[mi,ie]),Kf=M2({columns:D,data:Y,dataSource:r,getSelectedRows:ge}),My=(0,Ee.useCallback)(_=>{r.groupBy=_.map(ue=>ue.name)},[r]),Iy=(0,Ee.useCallback)(_=>{(0,on.isGroupColumn)(_)?r.groupBy=[]:r&&r.groupBy.includes(_.name)&&(r.groupBy=r.groupBy.filter(ue=>ue!==_.name))},[r]),Uf=(0,Ee.useCallback)(_=>{r.select(_),v==null||v(_)},[r,v]),{onKeyDown:Gf,onRowClick:vc}=E2({highlightedIndexRef:at,onSelect:h,onSelectionChange:Uf,selectionModel:S}),Py=(0,Ee.useCallback)(_=>{xt(_),_.defaultPrevented||Jl(_),_.defaultPrevented||Gf(_)},[xt,Jl,Gf]),Dy=(0,Ee.useCallback)((_,ue,Me)=>{vc(_,ue,Me),m==null||m(_)},[m,vc]);kn(()=>{I({type:"init",tableConfig:n,dataSource:r})},[n,r,I]);let Ry=(0,Ee.useCallback)(_=>{let ue={...R,columns:_};I({type:"init",tableConfig:ue,dataSource:r}),d==null||d(Og(ue))},[r,I,d,R]),jf=(0,Ee.useCallback)(_=>{p==null||p(_)},[p]),qf=(0,Ee.useCallback)(async(_,ue,Me)=>r.applyEdit(_,ue,Me),[r]),$n=(0,Ee.useCallback)(_=>{let{initialDragElement:ue}=_,Me=ue.ariaRowIndex;if(Me){let Ct=parseInt(Me),ht=Re.current.find(Ro=>Ro[0]===Ct);ht&&_.setPayload(ht)}f==null||f(_)},[Re,f]),{onMouseDown:tt,draggable:sn}=T({allowDragDrop:t,containerRef:o,draggableClassName:"vuuTable",id:a,onDragStart:$n,onDrop:jf,orientation:"vertical",itemQuery:".vuuTableRow"});return{...xn,draggableRow:sn,onBlur:Cn,onDoubleClick:zn,onFocus:Xl,onKeyDown:Py,onMouseDown:tt,columnMap:F,columns:D,data:Y,handleContextMenuAction:ee,headings:A,highlightedIndex:at.current,menuBuilder:M,onContextMenu:Kf,onDataEdited:qf,onMoveColumn:Ry,onMoveGroupColumn:My,onRemoveGroupColumn:Iy,onRowClick:Dy,onSortColumn:re,onResizeColumn:ce,onToggleGroup:fe,scrollProps:Ne,tableAttributes:H,tableConfig:R,viewportMeasurements:K}};var Fg=require("@vuu-ui/vuu-utils"),G2=V(j());var Mf=require("@vuu-ui/vuu-utils"),If=require("react"),U2=({columns:t,onMoveColumn:e,onSortColumn:n,tableConfig:o})=>{let r=(0,If.useRef)(null),i=(0,If.useCallback)((c,d)=>{let f=t[c],p=(0,Mf.moveColumnTo)(t,f,d),g=({name:v})=>x=>x.name===v,y=p.findIndex(g(f)),m=p[y+1],h=m?o.columns.findIndex(g(m)):-1;e((0,Mf.moveColumnTo)(o.columns,f,h))},[t,e,o.columns]),s=(0,If.useCallback)(c=>{var m;let f=c.target.closest(".vuuTableHeaderCell"),p=parseInt((m=f==null?void 0:f.dataset.index)!=null?m:"-1"),g=(0,Mf.visibleColumnAtIndex)(t,p),y=c.shiftKey;g&&n(g,y)},[t,n]),{onMouseDown:l,draggable:a,...u}=cr({allowDragDrop:!0,containerRef:r,draggableClassName:"vuuTable",onDrop:i,orientation:"horizontal",itemQuery:".vuuTableHeaderCell"});return{containerRef:r,draggableColumn:a,draggedColumnIndex:u.draggedItemIndex,onClick:s,onMouseDown:l}};var ms=require("react/jsx-runtime"),j2=({classBase:t="vuuTable",columns:e,headings:n,onMoveColumn:o,onMoveGroupColumn:r,onRemoveGroupColumn:i,onResizeColumn:s,onSortColumn:l,tableConfig:a,tableId:u})=>{let{containerRef:c,draggableColumn:d,draggedColumnIndex:f,onClick:p,onMouseDown:g}=U2({columns:e,onMoveColumn:o,onSortColumn:l,tableConfig:a});return(0,ms.jsxs)("div",{className:`${t}-col-headings`,ref:c,children:[n.map((y,m)=>(0,ms.jsx)("div",{className:"vuuTable-heading",children:y.map(({label:h,width:v},x)=>(0,ms.jsx)("div",{className:"vuuTable-headingCell",style:{width:v},children:h},x))},m)),(0,ms.jsxs)("div",{className:`${t}-col-headers`,role:"row",children:[e.filter(Fg.isNotHidden).map((y,m)=>(0,Fg.isGroupColumn)(y)?(0,ms.jsx)(p0,{column:y,"data-index":m,onMoveColumn:r,onRemoveColumn:i,onResize:s},y.name):(0,ms.jsx)(VD,{className:(0,G2.default)({"vuuDraggable-dragAway":m===f}),column:y,"data-index":m,id:`${u}-col-${m}`,onClick:p,onMouseDown:g,onResize:s},y.name)),d]})]})};var Po=require("react/jsx-runtime"),ui="vuuTable",{IDX:q2,RENDER_IDX:Y$}=Q2.metadataKeys,Z$=({Row:t=y0,allowDragDrop:e,availableColumns:n,config:o,containerRef:r,dataSource:i,disableFocus:s=!1,highlightedIndex:l,id:a,navigationStyle:u="cell",onAvailableColumnsChange:c,onConfigChange:d,onDragStart:f,onDrop:p,onFeatureInvocation:g,onHighlight:y,onRowClick:m,onSelect:h,onSelectionChange:v,renderBufferSize:x=0,rowHeight:b=20,selectionModel:S="extended",showColumnHeaders:C=!0,headerHeight:w=C?25:0,size:E})=>{let T=ke(a),{columnMap:M,columns:L,data:k,draggableRow:I,handleContextMenuAction:A,headings:H,highlightedIndex:R,onDataEdited:O,onMoveColumn:P,onMoveGroupColumn:N,onRemoveGroupColumn:D,onResizeColumn:B,onRowClick:F,onSortColumn:$,onToggleGroup:Q,menuBuilder:J,scrollProps:K,tableAttributes:G,tableConfig:se,viewportMeasurements:Y,...Re}=K2({allowDragDrop:e,availableColumns:n,config:o,containerRef:r,dataSource:i,disableFocus:s,headerHeight:w,highlightedIndex:l,id:T,navigationStyle:u,onAvailableColumnsChange:c,onConfigChange:d,onDragStart:f,onDrop:p,onFeatureInvocation:g,onHighlight:y,onRowClick:m,onSelect:h,onSelectionChange:v,renderBufferSize:x,rowHeight:b,selectionModel:S,size:E}),ge=(0,nS.default)(`${ui}-contentContainer`,{[`${ui}-colLines`]:G.columnSeparators,[`${ui}-rowLines`]:G.rowSeparators,[`${ui}-zebra`]:G.zebraStripes}),Te={"--content-height":`${Y.contentHeight}px`,"--content-width":`${Y.contentWidth}px`,"--horizontal-scrollbar-height":`${Y.horizontalScrollbarHeight}px`,"--pinned-width-left":`${Y.pinnedWidthLeft}px`,"--pinned-width-right":`${Y.pinnedWidthRight}px`,"--header-height":`${w}px`,"--row-height":`${b}px`,"--total-header-height":`${Y.totalHeaderHeight}px`,"--vertical-scrollbar-width":`${Y.verticalScrollbarWidth}px`,"--viewport-body-height":`${Y.viewportBodyHeight}px`};return(0,Po.jsxs)(Sx,{menuActionHandler:A,menuBuilder:J,children:[(0,Po.jsx)("div",{className:`${ui}-scrollbarContainer`,ref:K.scrollbarContainerRef,style:Te,children:(0,Po.jsx)("div",{className:`${ui}-scrollbarContent`})}),(0,Po.jsx)("div",{className:ge,ref:K.contentContainerRef,style:Te,children:(0,Po.jsxs)("div",{...Re,className:`${ui}-table`,tabIndex:s?void 0:-1,children:[C?(0,Po.jsx)(j2,{columns:L,headings:H,onMoveColumn:P,onMoveGroupColumn:N,onRemoveGroupColumn:D,onResizeColumn:B,onSortColumn:$,tableConfig:se,tableId:T}):null,(0,Po.jsx)("div",{className:`${ui}-body`,children:k.map(be=>(0,Po.jsx)(t,{columnMap:M,columns:L,highlighted:R===be[q2],onClick:F,onDataEdited:O,row:be,offset:b*be[q2]+Y.totalHeaderHeight,onToggleGroup:Q,zebraStripes:G.zebraStripes},be[Y$]))})]})}),I]})},Bg=(0,Ju.forwardRef)(function({Row:e,allowDragDrop:n,availableColumns:o,className:r,config:i,dataSource:s,disableFocus:l,highlightedIndex:a,id:u,navigationStyle:c,onAvailableColumnsChange:d,onConfigChange:f,onDragStart:p,onDrop:g,onFeatureInvocation:y,onHighlight:m,onRowClick:h,onSelect:v,onSelectionChange:x,renderBufferSize:b,rowHeight:S,selectionModel:C,showColumnHeaders:w,headerHeight:E,style:T,...M},L){let k=(0,Ju.useRef)(null),[I,A]=(0,Ju.useState)();return(0,Po.jsx)(sh,{...M,className:(0,nS.default)(ui,r),id:u,onResize:A,ref:Oe(k,L),children:I?(0,Po.jsx)(Z$,{Row:e,allowDragDrop:n,availableColumns:o,config:i,containerRef:k,dataSource:s,disableFocus:l,headerHeight:E,highlightedIndex:a,id:u,navigationStyle:c,onAvailableColumnsChange:d,onConfigChange:f,onDragStart:p,onDrop:g,onFeatureInvocation:y,onHighlight:m,onRowClick:h,onSelect:v,onSelectionChange:x,renderBufferSize:b,rowHeight:S,selectionModel:C,showColumnHeaders:w,size:I}):null})});var Vg=require("react");var hs=(t,e)=>t.column===e.column&&t.row[t.columnMap[t.column.name]]===e.row[e.columnMap[e.column.name]];var zg=require("@vuu-ui/vuu-utils"),oS=require("react/jsx-runtime"),J2=(0,Vg.memo)(({column:t,columnMap:e,onCommit:n=nu,row:o})=>{let r=e[t.name],i=o[r],s=(0,Vg.useCallback)(l=>async a=>{let u=await n(l);return u===!0&&(0,zg.dispatchCustomEvent)(a.target,"vuu-commit"),u},[n]);return t.editable?(0,oS.jsx)(tx,{checked:i,onClick:s(!i)}):(0,oS.jsx)(Vd,{checked:i,disabled:!0})},hs);J2.displayName="CheckboxCell";(0,zg.registerComponent)("checkbox-cell",J2,"cell-renderer",{serverDataType:"boolean"});var $g=require("@vuu-ui/vuu-utils"),Xu=require("react");var X2=require("react/jsx-runtime"),e_="vuuTableDropdownCell",t_=["Enter"," "],n_=(0,Xu.memo)(function({column:e,columnMap:n,onCommit:o=nu,row:r}){let i=n[e.name],{initialValue:s,values:l}=Pf(e,r[i]),[a,u]=(0,Xu.useState)(null),c=(0,Xu.useCallback)((d,f)=>{f&&(u(f),o(f.value).then(p=>{p===!0&&d&&(0,$g.dispatchCustomEvent)(d.target,"vuu-commit")}))},[o]);return(0,X2.jsx)(eu,{className:e_,onSelectionChange:c,openKeys:t_,selected:a!=null?a:s,source:l,width:e.width-17})},hs);(0,$g.registerComponent)("dropdown-cell",n_,"cell-renderer",{});var Y2=require("@vuu-ui/vuu-utils");var Z2=V(j());var Wg=require("react/jsx-runtime"),_g="vuuTableInputCell",o_=()=>(console.warn("onCommit handler has not been provided to InputCell cell renderer"),Promise.resolve(!0)),r_=({column:t,columnMap:e,onCommit:n=o_,row:o})=>{let r=e[t.name],{align:i="left",clientSideEditValidationCheck:s,valueFormatter:l}=t,{warningMessage:a,...u}=yD({initialValue:l(o[r]),onCommit:n,clientSideEditValidationCheck:s}),c=a&&i==="left"?(0,Wg.jsx)("span",{className:`${_g}-icon`,"data-icon":"error"}):void 0,d=a&&i==="right"?(0,Wg.jsx)("span",{className:`${_g}-icon`,"data-icon":"error"}):void 0;return(0,Wg.jsx)(Un,{...u,className:(0,Z2.default)(_g,{[`${_g}-error`]:a!==void 0}),endAdornment:c,startAdornment:d})};(0,Y2.registerComponent)("input-cell",r_,"cell-renderer",{});var eH=require("@vuu-ui/vuu-utils"),tH=require("react");var nH=require("react/jsx-runtime"),i_=(0,tH.memo)(function({column:e,columnMap:n,row:o}){let r=n[e.name],{initialValue:i}=Pf(e,o[r]);return(0,nH.jsx)("span",{children:i==null?void 0:i.label})},hs);(0,eH.registerComponent)("lookup-cell",i_,"cell-renderer",{});var gs=require("@vuu-ui/vuu-utils"),rH=V(j()),Kg=require("react");var iH=require("react/jsx-runtime"),oH="vuuTableToggleCell",s_=({name:t,type:e})=>{if((0,gs.isTypeDescriptor)(e)&&(0,gs.isValueListRenderer)(e.renderer))return e.renderer.values;throw Error(`useLookupValues column ${t} has not been configured with a values list`)},l_=(0,Kg.memo)(function({column:e,columnMap:n,onCommit:o=nu,row:r}){let i=s_(e),s=n[e.name],l=r[s],a=(0,Kg.useCallback)((u,c)=>o(c).then(d=>(d===!0&&(0,gs.dispatchCustomEvent)(u.target,"vuu-commit"),d)),[o]);return(0,iH.jsx)(pD,{className:(0,rH.default)(oH,`${oH}-${e.name}`),onCommit:a,value:l,values:i,variant:"cta",children:l})},hs);(0,gs.registerComponent)("toggle-cell",l_,"cell-renderer",{});var sH=require("@vuu-ui/vuu-utils"),Df=require("react"),Ug=(t,e)=>{let n=(0,Df.useRef)(null),[o,r]=oP(t),i=(0,Df.useCallback)(l=>{var a;if(l.key==="ArrowDown")r((u=-1)=>Math.min(e-1,u+1));else if(l.key==="ArrowUp")r((u=-1)=>Math.max(0,u-1));else if(l.key==="Enter"||l.key===" "){let{current:u}=o,c=(a=n.current)==null?void 0:a.querySelector(`[aria-rowindex="${u}"]`);c&&(0,sH.dispatchMouseEvent)(c,"click")}},[o,e,r]),s=(0,Df.useCallback)(l=>{r(l)},[r]);return{highlightedIndexRef:o,onHighlight:s,onKeyDown:i,tableRef:n}};var jg=require("react");var lH=require("@vuu-ui/vuu-utils");var Gg=require("react/jsx-runtime"),a_="vuuSearchCell",u_=({column:t,columnMap:e,row:n})=>{let o=e[t.name],r=n[o];return(0,Gg.jsxs)("div",{className:a_,tabIndex:-1,children:[(0,Gg.jsx)("span",{"data-icon":"draggable"}),r]})};(0,lH.registerComponent)("search-cell",u_,"cell-renderer",{serverDataType:"private"});var ys=require("react");var c_=(t,e)=>n=>t.map(({name:o})=>n[e[o]]).join(" "),aH=({columnMap:t,columns:e,dataSource:n,defaultIsOpen:o,isOpen:r,itemToString:i=c_(e,t),onOpenChange:s,onSelect:l,searchColumns:a})=>{let[u,c]=(0,ys.useState)(""),[d,f]=_a({controlled:r,default:o!=null?o:!1,name:"useDropdownList"}),{highlightedIndexRef:p,onKeyDown:g,tableRef:y}=Ug(-1,n.size),m=(0,ys.useMemo)(()=>a.map(C=>`${C} starts "__VALUE__"`).join(" or "),[a]),h=(0,ys.useCallback)((C,w)=>{f(C),s==null||s(C,w)},[s,f]),v=(0,ys.useCallback)(C=>{let{value:w}=C.target;if(c(w),w&&w.trim().length){let E=m.replaceAll("__VALUE__",w);n.filter={filter:E}}else n.filter={filter:""};f(!0)},[m,n,f]),x=(0,ys.useCallback)(C=>{let w=i(C);c(w),l(C),h==null||h(!1,"select")},[h,i,l]),b={inputProps:{autoComplete:"off",onKeyDown:g},onChange:v},S={onSelect:x};return{highlightedIndex:p.current,inputProps:b,isOpen:d,onOpenChange:h,tableHandlers:S,tableRef:y,value:u}};var Yu=require("react/jsx-runtime"),d_="vuuInstrumentPicker",Zve=(0,jg.forwardRef)(function({TableProps:{dataSource:e,...n},className:o,columnMap:r,disabled:i,id:s,itemToString:l,onOpenChange:a,onSelect:u,schema:c,searchColumns:d,width:f,...p},g){let y=ke(s),{highlightedIndex:m,inputProps:h,isOpen:v,onOpenChange:x,tableHandlers:b,tableRef:S,value:C}=aH({columnMap:r,columns:n.config.columns,dataSource:e,itemToString:l,onOpenChange:a,onSelect:u,searchColumns:d}),w=(0,jg.useMemo)(()=>(0,Yu.jsx)("span",{"data-icon":"chevron-down"}),[]),E={...n,config:{...n.config,zebraStripes:!1}};return(0,Yu.jsxs)(Ua,{...p,fullWidth:!0,id:y,isOpen:v,onOpenChange:x,openOnFocus:!0,placement:"below-full-width",ref:g,width:f,children:[(0,Yu.jsx)(Un,{...h,disabled:i,endAdornment:w,value:C}),(0,Yu.jsx)(Bg,{rowHeight:25,renderBufferSize:100,...E,...b,className:`${d_}-list`,height:200,highlightedIndex:m,dataSource:e,navigationStyle:"row",ref:S,showColumnHeaders:!1})]})});var pH=V(j()),mH=require("react");var uH=require("@vuu-ui/vuu-utils");var qg=require("react/jsx-runtime"),f_="vuuSearchCell",p_=({column:t,columnMap:e,row:n})=>{let o=e[t.name],r=n[o];return(0,qg.jsxs)("div",{className:f_,tabIndex:-1,children:[(0,qg.jsx)("span",{"data-icon":"draggable"}),r]})};(0,uH.registerComponent)("search-cell",p_,"cell-renderer",{serverDataType:"private"});var cH=require("@vuu-ui/vuu-data");var bs=require("react"),dH=({dataSource:t,searchColumns:e=["description"],table:n})=>{let[o,r]=(0,bs.useState)(t),{loadSession:i,saveSession:s}=Hm(),[l,a]=(0,bs.useState)({searchText:"",filter:""}),u=(0,bs.useMemo)(()=>e.map(d=>`${d} starts "__VALUE__"`).join(" or "),[e]);(0,bs.useMemo)(()=>{if(t===void 0)if(n){let d=`instrument-search-${n.module}-${n.table}`,f=i==null?void 0:i(d);f?r(f):rS(n).then(p=>{let g=new cH.RemoteDataSource({columns:p.columns.map(y=>y.name),table:p.table});r(g),s==null||s(g,d)})}else throw Error("useInstrumentSearch, if dataSource ismnot provided as prop, Vuu table must be provided")},[t,i,s,n]);let c=(0,bs.useCallback)(d=>{let{value:f}=d.target,p=u.replaceAll("__VALUE__",f);a({searchText:f,filter:p}),o&&(o.filter={filter:p})},[u,o]);return{dataSource:o,onChange:c,searchState:l}};var Vl=require("react/jsx-runtime"),iS="vuuInstrumentSearch",m_={columns:[{name:"bbg",hidden:!0},{name:"description",width:200,type:{name:"string",renderer:{name:"search-cell"}}}],rowSeparators:!0},h_=(0,Vl.jsx)("span",{"data-icon":"search"}),g_=({TableProps:t,autoFocus:e=!1,className:n,dataSource:o,placeHolder:r,searchColumns:i,table:s,...l})=>{var m;let{dataSource:a,onChange:u,searchState:c}=dH({dataSource:o,searchColumns:i,table:s}),{highlightedIndexRef:d,onHighlight:f,onKeyDown:p,tableRef:g}=Ug(-1,(m=a==null?void 0:a.size)!=null?m:0),y=(0,mH.useCallback)(h=>{setTimeout(()=>{var v;(v=h==null?void 0:h.querySelector("input"))==null||v.focus()},100)},[]);return(0,Vl.jsxs)("div",{...l,className:(0,pH.default)(iS,n),children:[(0,Vl.jsx)("div",{className:`${iS}-inputField`,children:(0,Vl.jsx)(Un,{inputProps:{onKeyDown:p},endAdornment:h_,placeholder:r,ref:e?y:null,value:c.searchText,onChange:u})}),a?(0,Vl.jsx)(Bg,{disableFocus:!0,id:"instrument-search",rowHeight:25,config:m_,highlightedIndex:d.current,renderBufferSize:100,...t,className:`${iS}-list`,dataSource:a,navigationStyle:"row",onHighlight:f,ref:g,showColumnHeaders:!1}):null]})},fH;(fH=nt)==null||fH("InstrumentSearch",g_,"view");var Zu=require("@vuu-ui/vuu-utils"),ec=require("react"),hH=V(j());var Qg=require("react/jsx-runtime"),y_="vuuPriceTicker",b_=t=>(0,Zu.numericFormatter)({type:{name:"number",formatting:{decimals:t,zeroPad:!0}}}),v_=[void 0,void 0],x_=(0,ec.memo)(({className:t,decimals:e=2,price:n,showArrow:o,...r})=>{let i=(0,ec.useRef)(v_),[s,l]=i.current,a=(0,ec.useMemo)(()=>b_(e),[e]),u=(0,Zu.isValidNumber)(s)?(0,Zu.getMovingValueDirection)(n,l,s,e):"";return i.current=[n,u],(0,Qg.jsxs)("div",{...r,className:(0,hH.default)(y_,t,u),children:[a(n),o?(0,Qg.jsx)("span",{"data-icon":"price-arrow"}):null]})});x_.displayName="PriceTicker";var Yg=V(j()),nc=V(require("react"));var MH=require("@vuu-ui/vuu-utils"),rn=require("react");var gH=t=>typeof t=="object"&&t!==null&&"tabIndex"in t&&typeof t.tabIndex=="number",yH=t=>({label:"Close",location:"tab",action:"close-tab",options:t}),bH=t=>({label:"Rename",location:"tab",action:"rename-tab",options:t});var vH=require("@vuu-ui/vuu-utils"),xH=(t,e)=>{if(t){let n=t.querySelector(`[data-index]:has(${e})`);return(0,vH.getElementDataIndex)(n)}return-1},sS=t=>xH(t,'[aria-selected="true"]'),CH=t=>xH(t,".vuuEditableLabel-editing");var tc=require("@vuu-ui/vuu-utils"),ci=require("react"),wH=(t,e,n="horizontal")=>{let o=(0,ci.useRef)(!1),r=(0,ci.useCallback)(()=>{o.current=!0},[]),i=(0,ci.useCallback)(()=>{o.current=!1},[]),s=(0,ci.useCallback)(()=>{var a,u;(a=t.current)==null||a.style.setProperty("--tab-thumb-transition","none"),(u=t.current)==null||u.removeEventListener("transitionend",s)},[t]),l=(0,ci.useRef)(-1);return(0,ci.useMemo)(()=>{var c,d;let a=0,u=0;if(l.current!==-1){let f=(c=t.current)==null?void 0:c.querySelector(".vuuTab-selected"),p=(d=t.current)==null?void 0:d.querySelector(`[data-index="${e}"] .vuuTab`),{positionProp:g,sizeProp:y}=tc.MEASURES[n];if(f&&p&&!o.current){let{[g]:m,[y]:h}=f.getBoundingClientRect(),{[g]:v}=p.getBoundingClientRect();if((0,tc.isValidNumber)(m)&&(0,tc.isValidNumber)(v)&&(0,tc.isValidNumber)(h)){a=m-v,u=h;let b=Math.abs(a/(n==="horizontal"?1100:700));requestAnimationFrame(()=>{var S,C,w,E;(S=t.current)==null||S.style.setProperty("--tab-thumb-offset","0px"),(C=t.current)==null||C.style.setProperty("--tab-thumb-size","100%"),(w=t.current)==null||w.style.setProperty("--tab-thumb-transition",`all ${b}s ease`),(E=t.current)==null||E.addEventListener("transitionend",s)})}}}return l.current=e,o.current?{containerStyle:{"--tab-thumb-offset":"0px","--tab-thumb-size":"100%"},resumeAnimation:i,suspendAnimation:r}:{containerStyle:{"--tab-thumb-offset":`${a}px`,"--tab-thumb-size":u?`${u}px`:void 0},resumeAnimation:i,suspendAnimation:r}},[e,t,n,s,i,r])};var Xg=require("@vuu-ui/vuu-utils"),Nt=require("react"),gn=require("@vuu-ui/vuu-utils");var EH={horizontal:{[gn.Home]:"start",[gn.End]:"end",[gn.ArrowLeft]:"bwd",[gn.ArrowRight]:"fwd"},vertical:{[gn.Home]:"start",[gn.End]:"end",[gn.ArrowUp]:"bwd",[gn.ArrowDown]:"fwd"}},C_=(t,e="horizontal")=>EH[e][t]!==void 0,w_=t=>t===gn.ArrowDown;function SH(t,e,n){return e==="start"?0:e==="end"?t-1:e==="bwd"?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var S_=t=>t!==null&&!t.classList.contains("wrapped"),Jg=(t,e)=>t?t.querySelector(`[data-index="${e}"]`):null,TH=({containerRef:t,defaultHighlightedIdx:e=-1,highlightedIdx:n,keyBoardActivation:o,orientation:r,selectedIndex:i=0})=>{let s=o==="manual",l=(0,Nt.useRef)(!1),a=(0,Nt.useRef)(-1),[u,c]=(0,Nt.useState)(!1),[,d]=(0,Nt.useState)({}),[f,p]=Le({controlled:n,default:e,name:"UseKeyboardNavigation"}),g=(0,Nt.useCallback)(k=>{p(a.current=k)},[p]),y=(0,Nt.useRef)(!1),m=(0,Nt.useCallback)((k,I=!1,A,H=70)=>{g(k),A===!0&&!y.current&&(y.current=!0);let R=()=>{let O=Jg(t.current,k);if(O){let P=(0,Xg.getFocusableElement)(O);P==null||P.focus()}};I?R():setTimeout(R,H)},[t,g]),h=k=>{if(a.current===-1&&k.target.tabIndex!==-1){let I=CH(t.current);I!==-1?requestAnimationFrame(()=>{g(I)}):setTimeout(()=>{a.current===-1&&i!==null&&g(i)},200)}},v=(0,Nt.useCallback)(()=>{var k,I;return(I=(k=t.current)==null?void 0:k.querySelectorAll("[data-index]").length)!=null?I:0},[t]),x=(0,Nt.useCallback)((k="fwd",I)=>{let A=v(),R=SH(A,k,typeof I=="number"?I:A),O=k==="start"?"fwd":k==="end"?"bwd":k;for(;(O==="fwd"&&R<A||O==="bwd"&&R>0)&&!S_(Jg(t.current,R));){let P=SH(A,O,R);if(P===R)break;R=P}return R},[t,v]),b=(0,Nt.useCallback)((k,I=!1)=>{let A=EH[r][k.key],H=x(A,f);H!==f?s&&m(H,!0):I&&d({})},[f,s,x,m,r]),S=(0,Nt.useCallback)(()=>{let k=Jg(t.current,f);return k?k.querySelector(".vuuPopupMenu")!=null:!1},[t,f]),C=(0,Nt.useCallback)(()=>{let k=Jg(t.current,f),I=k==null?void 0:k.querySelector(".vuuPopupMenu");return I&&(0,Xg.dispatchMouseEvent)(I,"click"),!1},[t,f]),w=(0,Nt.useCallback)(k=>{v()>0&&C_(k.key,r)?(k.preventDefault(),y.current?b(k):(y.current=!0,b(k,!0))):w_(k.key)&&S()&&C()},[C,v,S,b,r]),E=(k,I)=>{g(I)},T=(0,Nt.useCallback)(()=>{u||(c(!0),l.current?l.current=!1:y.current=!0)},[u]),M=(0,Nt.useCallback)(()=>{u||(l.current=!0),y.current=!1},[u]);return{containerProps:{onBlur:k=>{let I=k.target.closest(".vuuTabstrip"),A=k.relatedTarget;I&&!(I!=null&&I.contains(A))&&(g(-1),c(!1))},onMouseDownCapture:M,onFocus:T,onMouseLeave:()=>{y.current=!0,g(-1),l.current=!1}},focusVisible:y.current?f:-1,focusIsWithinComponent:u,highlightedIdx:f,focusTab:m,onClick:E,onFocus:h,onKeyDown:w,setHighlightedIdx:g}};var Rf=require("react"),E_=["Enter"," "],T_=t=>t&&t.matches('[class*="vuuTab "]'),kH=({defaultSelected:t,highlightedIdx:e,onSelectionChange:n,selected:o})=>{let[r,i,s]=Le({controlled:o,default:t!=null?t:0,name:"Tabstrip",state:"value"}),l=(0,Rf.useCallback)(d=>E_.includes(d.key),[]),a=(0,Rf.useCallback)(d=>{i(d),n==null||n(d)},[n,i]),u=(0,Rf.useCallback)(d=>{let f=d.target;l(d)&&e!==r&&T_(f)&&(d.stopPropagation(),d.preventDefault(),a(e))},[l,e,r,a]),c=(0,Rf.useCallback)((d,f)=>{f!==r&&a(f)},[a,r]);return{activateTab:a,isControlled:s,onClick:c,onKeyDown:u,selected:r}};var k_=new Set(["Enter"," "]),M_=t=>k_.has(t),I_=(t,e)=>t?t.querySelector(`[data-index="${e}"]`):null,IH=({activeTabIndex:t,allowDragDrop:e,animateSelectionThumb:n,containerRef:o,onActiveChange:r,onAddTab:i,onCloseTab:s,onExitEditMode:l,onMoveTab:a,orientation:u,keyBoardActivation:c})=>{let d=(0,rn.useRef)(t),{focusTab:f,highlightedIdx:p,onClick:g,onKeyDown:y,setHighlightedIdx:m,...h}=TH({containerRef:o,keyBoardActivation:c,orientation:u,selectedIndex:d.current}),{activateTab:v,onClick:x,onKeyDown:b,selected:S}=kH({highlightedIdx:p,onSelectionChange:r,selected:t});d.current=S;let{containerStyle:C,resumeAnimation:w,suspendAnimation:E}=wH(o,n?S:-1,u),T=(0,rn.useCallback)((K,G)=>{let{current:se}=d;console.log(`useTabstrip handleDrop ${K} - ${G} ${se}`),a==null||a(K,G);let Y=-1;G!==-1&&(se===K?Y=G:K>se&&G<=se?Y=se+1:K<se&&G>=se&&(Y=se-1),Y!==-1&&(E(),v(Y),requestAnimationFrame(w)),f(G,!1,!1,350))},[f,a,w,v,E]),{onMouseDown:M,...L}=cr({allowDragDrop:e,containerRef:o,draggableClassName:`tabstrip-${u}`,onDrop:T,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"}),k=(0,rn.useCallback)((K,G,se,Y)=>{console.log(`handleExitEditMode ${K} ${G} ${se} ${Y}`),l==null||l(K,G,se,Y),se||f(Y,!1,!0)},[f,l]),I=(0,rn.useCallback)((K,G)=>{g(K,G),x(K,G)},[g,x]),A=(0,rn.useCallback)((K=p)=>{let G=I_(o.current,K);if(G)return G.querySelector(".vuuEditableLabel")},[o,p]),H=(0,rn.useCallback)((K=p)=>{let G=A(K);return G?G.classList.contains("vuuEditableLabel-editing"):!1},[A,p]),R=(0,rn.useCallback)((K=p)=>{let G=A(K);G&&(0,MH.dispatchMouseEvent)(G,"dblclick")},[A,p]),O=(0,rn.useCallback)(K=>{y(K),K.defaultPrevented||b(K),!K.defaultPrevented&&M_(K.key)&&R()},[R,y,b]),P=(0,rn.useCallback)(K=>{let G=sS(o.current),se=G>K?G-1:G===K?0:G;return E(),s==null||s(K,se),setTimeout(()=>{w()},200),!0},[o,s,w,E]),N=(0,rn.useCallback)(K=>(R(K),!0),[R]),D=(0,rn.useCallback)(K=>{if(gH(K.options))switch(K.menuId){case"close-tab":return P(K.options.tabIndex);case"rename-tab":return N(K.options.tabIndex);default:console.log(`tab menu action ${K.menuId}`)}return!1},[P,N]),B=(0,rn.useCallback)(()=>{H()?m(p):f(p)},[p,f,m,H]),F=(0,rn.useCallback)(K=>{let G=parseInt(K.index);isNaN(G)||v(G)},[v]),$={onFocus:h.onFocus,onKeyDown:O},Q=(0,rn.useCallback)(()=>{i==null||i(),requestAnimationFrame(()=>{let K=sS(o.current);K!==-1&&f(K)})},[o,f,i]),J={onClick:I,onKeyDown:O,onExitEditMode:k,onMenuAction:D,onMenuClose:B,onMouseDown:M};return{activeTabIndex:S,containerStyle:C,focusVisible:h.focusVisible,containerProps:{...h.containerProps,onSwitchWrappedItemIntoView:F},navigationProps:$,onClickAddTab:Q,tabProps:J,...L}};var oc=require("react/jsx-runtime"),PH=require("react"),lS="vuuTabstrip",aS=({activeTabIndex:t,allowAddTab:e,allowCloseTab:n,allowDragDrop:o=!1,allowRenameTab:r=!1,animateSelectionThumb:i=!1,children:s,className:l,id:a,keyBoardActivation:u="manual",location:c,onActiveChange:d,onAddTab:f,onCloseTab:p,onExitEditMode:g,onMoveTab:y,orientation:m="horizontal",showTabMenuButton:h,style:v,tabClassName:x,...b})=>{let S=(0,nc.useRef)(null),{activeTabIndex:C,focusVisible:w,containerStyle:E,draggedItemIndex:T,onClickAddTab:M,tabProps:L,...k}=IH({activeTabIndex:t,allowDragDrop:o,animateSelectionThumb:i,containerRef:S,keyBoardActivation:u,onActiveChange:d,onAddTab:f,onCloseTab:p,onExitEditMode:g,onMoveTab:y,orientation:m}),I=ke(a),A=(0,Yg.default)(lS,`${lS}-${m}`,l),H=v||E?{...v,...E}:void 0,R=(0,nc.useMemo)(()=>Ws(s).map((O,P)=>{let{id:N=`${I}-tab-${P}`,className:D,closeable:B=n,editable:F=r,location:$,showMenuButton:Q=h}=O.props,J=P===C;return nc.default.cloneElement(O,{...L,...k.navigationProps,className:(0,Yg.default)(D,x),closeable:B,"data-overflow-priority":J?"1":void 0,dragging:T===P,editable:F,focusVisible:w===P,id:N,index:P,key:P,location:(0,Yg.default)(c,$),selected:J,showMenuButton:Q,tabIndex:J?0:-1})}).concat(e?(0,PH.createElement)(jt,{...k.navigationProps,"aria-label":"Create Tab",className:`${lS}-addTabButton`,"data-icon":"add","data-overflow-priority":"1",key:"addButton",onClick:M,variant:"secondary",tabIndex:-1}):[]),[s,e,k.navigationProps,M,I,n,r,h,C,L,x,T,w,c]);return(0,oc.jsxs)(oc.Fragment,{children:[(0,oc.jsx)(Kd,{...b,...k.containerProps,className:A,height:29,id:I,orientation:m,overflowIcon:"more-horiz",ref:S,style:H,children:R}),k.draggable]})};var HH=V(j()),_l=require("react");var DH=require("react"),RH=V(j());var AH=require("react/jsx-runtime"),P_="vuuTabMenu",LH=({allowClose:t,allowRename:e,controlledComponentId:n,controlledComponentTitle:o,location:r,onMenuAction:i,onMenuClose:s,index:l})=>{let[a,u]=(0,DH.useMemo)(()=>[(c,d)=>{let f=[];return e&&f.push(bH(d)),t&&f.push(yH(d)),f},{controlledComponentId:n,controlledComponentTitle:o,tabIndex:l}],[t,e,n,l]);return(0,AH.jsx)(Ha,{className:P_,menuBuilder:a,menuActionHandler:i,menuLocation:(0,RH.default)("tab",r),menuOptions:u,onMenuClose:s,tabIndex:-1})};var $l=require("react/jsx-runtime"),zl="vuuTab",NH=()=>{},uS=(0,_l.forwardRef)(function({ariaControls:e,children:n,className:o,closeable:r=!1,dragging:i,editable:s=!1,editing:l,focusVisible:a,index:u=-1,label:c,location:d,onClick:f,onClose:p,onEnterEditMode:g=NH,onExitEditMode:y=NH,onFocus:m,onKeyUp:h,onMenuAction:v,onMenuClose:x,orientation:b,selected:S,showMenuButton:C=r||s||!!d,tabIndex:w,...E},T){if(C&&typeof v!="function")throw Error("Tab onMenuAction must be provided if showMenuButton is set");let M=(0,_l.useRef)(null),L=(0,_l.useRef)(null),k=Oe(T,M),I=(0,_l.useCallback)(P=>{l||(P.preventDefault(),f==null||f(P,u))},[l,u,f]),A=(P="",N="",D=!0)=>y(P,N,D,u),H=P=>{switch(P.key){case"Backspace":case"Delete":r&&(P.stopPropagation(),p&&p(u));break;default:h&&h(P,u)}},R=()=>s?(0,$l.jsx)(_d,{editing:l,defaultValue:c,onEnterEditMode:g,onExitEditMode:A,ref:L},c):c,O=P=>{if(L.current){let D=L.current.querySelector(".vuuEditableLabel-input");D==null||D.focus()}m==null||m(P)};return(0,$l.jsxs)("div",{...E,"aria-controls":e,"aria-selected":S,className:(0,HH.default)(zl,o,{[`${zl}-closeable`]:r,"vuuDraggable-dragAway":i,[`${zl}-editing`]:l,[`${zl}-selected`]:S||void 0,[`${zl}-vertical`]:b==="vertical",vuuFocusVisible:a}),onClick:I,onFocus:O,onKeyUp:H,ref:k,role:"tab",tabIndex:w,children:[(0,$l.jsx)("div",{className:`${zl}-main`,children:(0,$l.jsx)("span",{className:`${zl}-text`,"data-text":s?void 0:c,children:n!=null?n:R()})}),C?(0,$l.jsx)(LH,{allowClose:r,allowRename:s,controlledComponentId:e,controlledComponentTitle:c,location:d,onMenuAction:v,onMenuClose:x,index:u}):null]})});var oy=V(j()),ry=require("react");function D_(t){var e;if(t){let n=t.dataset.idx;if(n)return parseInt(n,10);if(n=(e=t.ariaPosInSet)!=null?e:"-1")return parseInt(n,10)-1}}var cS=t=>t.closest("[data-idx],[aria-posinset]");var OH=t=>D_(cS(t));var rc=require("react"),R_=new Set(["/","-","."]),L_=t=>R_.has(t),FH=(t,e)=>e.startsWith(t)&&L_(e[t.length]),BH=(t,e="root",{collapsibleHeaders:n=void 0,defaultExpanded:o=!1,revealSelected:r=!1}={})=>{let i=(f,p,g)=>{if(f.childNodes)return f.childNodes.length;if(f.header){let y=g+1,m=0;for(;y<p.length&&!p[y].header;)m++,y++;return m}else return 0},s=(0,rc.useCallback)(f=>Array.isArray(r)?r.some(p=>FH(f,p)):o,[o,r]),l=(0,rc.useCallback)((f,p,g=1,y="",m=[],h=[])=>{let v=0;return f.forEach((x,b,S)=>{var A;let C=x.header&&n,w=x.childNodes&&n===!1,E=!x.childNodes||x.childNodes.length===0,T=w||E&&!C,M=y?`${y}.${b}`:`${b}`,L=(A=x.id)!=null?A:`${e}-${M}`,k=T?void 0:s(L),I={...x,childNodes:void 0,id:L,count:!w&&k===void 0?0:i(x,S,b),expanded:k,index:p.index,level:g};if(m.push(I),h.push(f[b]),v+=1,p.index+=1,x.childNodes){let[H,R]=l(x.childNodes,p,g+1,M,[],h);I.childNodes=R,(k===!0||w)&&(v+=H)}}),[v,m,h]},[n,e,s]),[a,u,c]=(0,rc.useMemo)(()=>l(t,{index:0}),[l,t]),d=(0,rc.useCallback)((f,p=u)=>{let g=p.find(y=>{var m;return y.id===f||((m=y==null?void 0:y.childNodes)==null?void 0:m.length)&&FH(y.id,f)});if((g==null?void 0:g.id)===f)return c[g.index];if(g)return d(f,g.childNodes)},[c,u]);return[a,u,d]};var vs=require("react");var VH="single",A_="checkbox",N_="multi",H_="extended",O_=["Enter"," "],zH={},F_=t=>t.expanded!==void 0,$H=t=>t&&t!=="none",_H=({defaultSelected:t,highlightedIdx:e,treeNodes:n,onChange:o,selected:r,selection:i=VH,selectionKeys:s=O_})=>{let l=i===VH,a=i===N_||i.startsWith(A_),u=i===H_,c=(0,vs.useRef)(-1),d=(0,vs.useCallback)(b=>s.includes(b.key),[s]),[f,p]=Le({controlled:r,default:t!=null?t:[],name:"selected"}),g=(0,vs.useCallback)((b,S,C,w,E=!1)=>{let{current:T}=c,M=f==null?void 0:f.includes(C),k=l||u&&!E&&(!w||T===-1),I=a||u&&E&&!w,A=[];if(k&&M)A=[];else if(k)A=[C];else if(I&&M)A=f.filter(H=>H!==C);else if(I)A=f.concat(C);else if(u){let[H,R]=S>T?[T,S]:[S,T];A=f.slice();for(let O=H;O<=R;O++){let{id:P}=n[O];f.includes(P)||A.push(P)}}p(A),o&&o(b,A)},[u,n,a,o,f,p,l]),y=(0,vs.useCallback)(b=>{if(~e&&d(b)){b.preventDefault();let S=n[e];g(b,e,S.id,!1,b.ctrlKey||b.metaKey),u&&(c.current=e)}},[u,e,n,d,g]),m=(0,vs.useCallback)((b,S)=>{if(u&&b.shiftKey){let C=n[S];g(b,S,C.id,!0)}},[u,n,g]),h=i==="none"?zH:{onKeyDown:y,onKeyboardNavigation:m},v=(0,vs.useCallback)(b=>{if(e!==-1){let S=n[e];F_(S)||(b.preventDefault(),b.stopPropagation(),g(b,e,S.id,b.shiftKey,b.ctrlKey||b.metaKey),u&&(c.current=e))}},[u,e,n,g]);return{listHandlers:h,listItemHandlers:i==="none"?zH:{onClick:v},selected:f,setSelected:p}};var Fn=require("react");var B_=["height","scrollHeight"],WH=(t,e,n=!1)=>{let o=(0,Fn.useRef)(0),r=(0,Fn.useRef)(!1),i=(0,Fn.useRef)(0),s=(0,Fn.useRef)(0),l=(0,Fn.useCallback)(c=>{let d=c.ariaExpanded?c.firstChild:c,f=n?30:0,p=d.offsetTop,g=d.offsetHeight,y=o.current+f,m=y+i.current-f;(p+g>m||p<y)&&(o.current=p+g>m?o.current+(p+g)-m:p-f,r.current=!0,t.current&&(t.current.scrollTop=o.current),setTimeout(()=>{r.current=!1}))},[t,n]),a=(0,Fn.useCallback)(c=>{o.current=c.target.scrollTop},[]);(0,Fn.useEffect)(()=>{let{current:c}=t;return c&&c.addEventListener("scroll",a),()=>{c&&c.removeEventListener("scroll",a)}},[t,a]),(0,Fn.useLayoutEffect)(()=>{if(e!==-1&&s.current>i.current&&t.current){let c=t.current.querySelector(`
855
+ -\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,vC),g7={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},z0=null;function y7(){var t;if(z0==null&&typeof document<"u"&&document.body){let e=document.body.style;z0=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return z0||!1}var Uh=le.define({combine(t){let e=es(t,{render:null,specialChars:h7,addSpecialChars:null});return(e.replaceTabs=!y7())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,vC)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,vC)),e}});function PC(t={}){return[Uh.of(t),b7()]}var sL=null;function b7(){return sL||(sL=Nn.fromClass(class{constructor(t){this.view=t,this.decorations=Pt.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(Uh)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new bC({regexp:t.specialChars,decoration:(e,n,o)=>{let{doc:r}=n.state,i=Jt(e[0],0);if(i==9){let s=r.lineAt(o),l=n.state.tabSize,a=xl(s.text,l,o-s.from);return Pt.replace({widget:new CC((l-a%l)*this.view.defaultCharacterWidth)})}return this.decorationCache[i]||(this.decorationCache[i]=Pt.replace({widget:new xC(t,i)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(Uh);t.startState.facet(Uh)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}var v7="\u2022";function x7(t){return t>=32?v7:t==10?"\u2424":String.fromCharCode(9216+t)}var xC=class extends oi{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=x7(this.code),o=e.state.phrase("Control character")+" "+(g7[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,o,n);if(r)return r;let i=document.createElement("span");return i.textContent=n,i.title=o,i.setAttribute("aria-label",o),i.className="cm-specialChar",i}ignoreEvent(){return!1}},CC=class extends oi{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};var zh="-10000px",wC=class{constructor(e,n,o){this.facet=n,this.createTooltipView=o,this.input=e.state.facet(n),this.tooltips=this.input.filter(r=>r),this.tooltipViews=this.tooltips.map(o)}update(e){var n;let o=e.state.facet(this.facet),r=o.filter(s=>s);if(o===this.input){for(let s of this.tooltipViews)s.update&&s.update(e);return!1}let i=[];for(let s=0;s<r.length;s++){let l=r[s],a=-1;if(l){for(let u=0;u<this.tooltips.length;u++){let c=this.tooltips[u];c&&c.create==l.create&&(a=u)}if(a<0)i[s]=this.createTooltipView(l);else{let u=i[s]=this.tooltipViews[a];u.update&&u.update(e)}}}for(let s of this.tooltipViews)i.indexOf(s)<0&&(s.dom.remove(),(n=s.destroy)===null||n===void 0||n.call(s));return this.input=o,this.tooltips=r,this.tooltipViews=i,!0}};function C7(t){let{win:e}=t;return{top:0,left:0,bottom:e.innerHeight,right:e.innerWidth}}var $0=le.define({combine:t=>{var e,n,o;return{position:te.ios?"absolute":((e=t.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((n=t.find(r=>r.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((o=t.find(r=>r.tooltipSpace))===null||o===void 0?void 0:o.tooltipSpace)||C7}}}),lL=new WeakMap,eA=Nn.fromClass(class{constructor(t){this.view=t,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet($0);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new wC(t,DC,n=>this.createTooltip(n)),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t);e&&this.observeIntersection();let n=e||t.geometryChanged,o=t.state.facet($0);if(o.position!=this.position){this.position=o.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;n=!0}if(o.parent!=this.parent){this.parent&&this.container.remove(),this.parent=o.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(t){let e=t.create(this.view);if(e.dom.classList.add("cm-tooltip"),t.arrow&&!e.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let n=document.createElement("div");n.className="cm-tooltip-arrow",e.dom.appendChild(n)}return e.dom.style.position=this.position,e.dom.style.top=zh,this.container.appendChild(e.dom),e.mount&&e.mount(this.view),e}destroy(){var t,e;this.view.win.removeEventListener("resize",this.measureSoon);for(let n of this.manager.tooltipViews)n.dom.remove(),(t=n.destroy)===null||t===void 0||t.call(n);(e=this.intersectionObserver)===null||e===void 0||e.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=this.view.dom.getBoundingClientRect();return{editor:t,parent:this.parent?this.container.getBoundingClientRect():t,pos:this.manager.tooltips.map((e,n)=>{let o=this.manager.tooltipViews[n];return o.getCoords?o.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet($0).tooltipSpace(this.view)}}writeMeasure(t){var e;let{editor:n,space:o}=t,r=[];for(let i=0;i<this.manager.tooltips.length;i++){let s=this.manager.tooltips[i],l=this.manager.tooltipViews[i],{dom:a}=l,u=t.pos[i],c=t.size[i];if(!u||u.bottom<=Math.max(n.top,o.top)||u.top>=Math.min(n.bottom,o.bottom)||u.right<Math.max(n.left,o.left)-.1||u.left>Math.min(n.right,o.right)+.1){a.style.top=zh;continue}let d=s.arrow?l.dom.querySelector(".cm-tooltip-arrow"):null,f=d?7:0,p=c.right-c.left,g=(e=lL.get(l))!==null&&e!==void 0?e:c.bottom-c.top,y=l.offset||S7,m=this.view.textDirection==Ze.LTR,h=c.width>o.right-o.left?m?o.left:o.right-c.width:m?Math.min(u.left-(d?14:0)+y.x,o.right-p):Math.max(o.left,u.left-p+(d?14:0)-y.x),v=!!s.above;!s.strictSide&&(v?u.top-(c.bottom-c.top)-y.y<o.top:u.bottom+(c.bottom-c.top)+y.y>o.bottom)&&v==o.bottom-u.bottom>u.top-o.top&&(v=!v);let x=(v?u.top-o.top:o.bottom-u.bottom)-f;if(x<g&&l.resize!==!1){if(x<this.view.defaultLineHeight){a.style.top=zh;continue}lL.set(l,g),a.style.height=(g=x)+"px"}else a.style.height&&(a.style.height="");let b=v?u.top-g-f-y.y:u.bottom+f+y.y,S=h+p;if(l.overlap!==!0)for(let C of r)C.left<S&&C.right>h&&C.top<b+g&&C.bottom>b&&(b=v?C.top-g-2-f:C.bottom+f+2);this.position=="absolute"?(a.style.top=b-t.parent.top+"px",a.style.left=h-t.parent.left+"px"):(a.style.top=b+"px",a.style.left=h+"px"),d&&(d.style.left=`${u.left+(m?y.x:-y.x)-(h+14-7)}px`),l.overlap!==!0&&r.push({left:h,top:b,right:S,bottom:b+g}),a.classList.toggle("cm-tooltip-above",v),a.classList.toggle("cm-tooltip-below",!v),l.positioned&&l.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=zh}},{eventHandlers:{scroll(){this.maybeMeasure()}}}),w7=ae.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),S7={x:0,y:0},DC=le.define({enables:[eA,w7]});function RC(t,e){let n=t.plugin(eA);if(!n)return null;let o=n.manager.tooltips.indexOf(e);return o<0?null:n.manager.tooltipViews[o]}var ri=class extends Wo{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};ri.prototype.elementClass="";ri.prototype.toDOM=void 0;ri.prototype.mapMode=Qt.TrackBefore;ri.prototype.startSide=ri.prototype.endSide=-1;ri.prototype.point=!0;var E7=0,uf=class{constructor(e,n){this.from=e,this.to=n}},me=class{constructor(e={}){this.id=E7++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Lt.match(e)),n=>{let o=e(n);return o===void 0?null:[this,o]}}};me.closedBy=new me({deserialize:t=>t.split(" ")});me.openedBy=new me({deserialize:t=>t.split(" ")});me.group=new me({deserialize:t=>t.split(" ")});me.contextHash=new me({perNode:!0});me.lookAhead=new me({perNode:!0});me.mounted=new me({perNode:!0});var T7=Object.create(null),Lt=class{constructor(e,n,o,r=0){this.name=e,this.props=n,this.id=o,this.flags=r}static define(e){let n=e.props&&e.props.length?Object.create(null):T7,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new Lt(e.name||"",n,e.id,o);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(r)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[i[0].id]=i[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let n=this.prop(me.group);return n?n.indexOf(e)>-1:!1}return this.id==e}static match(e){let n=Object.create(null);for(let o in e)for(let r of o.split(" "))n[r]=e[o];return o=>{for(let r=o.prop(me.group),i=-1;i<(r?r.length:0);i++){let s=n[i<0?o.name:r[i]];if(s)return s}}}};Lt.none=new Lt("",Object.create(null),0,8);var kl=class{constructor(e){this.types=e;for(let n=0;n<e.length;n++)if(e[n].id!=n)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let n=[];for(let o of this.types){let r=null;for(let i of e){let s=i(o);s&&(r||(r=Object.assign({},o.props)),r[s[0].id]=s[1])}n.push(r?new Lt(o.name,r,o.id,o.flags):o)}return new kl(n)}},ig=new WeakMap,tA=new WeakMap,bt;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays"})(bt||(bt={}));var Ge=class{constructor(e,n,o,r,i){if(this.type=e,this.children=n,this.positions=o,this.length=r,this.props=null,i&&i.length){this.props=Object.create(null);for(let[s,l]of i)this.props[typeof s=="number"?s:s.id]=l}}toString(){let e=this.prop(me.mounted);if(e&&!e.overlay)return e.tree.toString();let n="";for(let o of this.children){let r=o.toString();r&&(n&&(n+=","),n+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(n.length?"("+n+")":""):n}cursor(e=0){return new Tu(this.topNode,e)}cursorAt(e,n=0,o=0){let r=ig.get(this)||this.topNode,i=new Tu(r);return i.moveTo(e,n),ig.set(this,i._tree),i}get topNode(){return new Uo(this,0,0,null)}resolve(e,n=0){let o=Eu(ig.get(this)||this.topNode,e,n,!1);return ig.set(this,o),o}resolveInner(e,n=0){let o=Eu(tA.get(this)||this.topNode,e,n,!0);return tA.set(this,o),o}iterate(e){let{enter:n,leave:o,from:r=0,to:i=this.length}=e,s=e.mode||0,l=(s&bt.IncludeAnonymous)>0;for(let a=this.cursor(s|bt.IncludeAnonymous);;){let u=!1;if(a.from<=i&&a.to>=r&&(!l&&a.type.isAnonymous||n(a)!==!1)){if(a.firstChild())continue;u=!0}for(;u&&o&&(l||!a.type.isAnonymous)&&o(a),!a.nextSibling();){if(!a.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let n in this.props)e.push([+n,this.props[n]]);return e}balance(e={}){return this.children.length<=8?this:HC(Lt.none,this.children,this.positions,0,this.children.length,0,this.length,(n,o,r)=>new Ge(this.type,n,o,r,this.propValues),e.makeTree||((n,o,r)=>new Ge(Lt.none,n,o,r)))}static build(e){return k7(e)}};Ge.empty=new Ge(Lt.none,[],[],0);var cf=class{constructor(e,n){this.buffer=e,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new cf(this.buffer,this.index)}},ii=class{constructor(e,n,o){this.buffer=e,this.length=n,this.set=o}get type(){return Lt.none}toString(){let e=[];for(let n=0;n<this.buffer.length;)e.push(this.childString(n)),n=this.buffer[n+3];return e.join(",")}childString(e){let n=this.buffer[e],o=this.buffer[e+3],r=this.set.types[n],i=r.name;if(/\W/.test(i)&&!r.isError&&(i=JSON.stringify(i)),e+=4,o==e)return i;let s=[];for(;e<o;)s.push(this.childString(e)),e=this.buffer[e+3];return i+"("+s.join(",")+")"}findChild(e,n,o,r,i){let{buffer:s}=this,l=-1;for(let a=e;a!=n&&!(oA(i,r,s[a+1],s[a+2])&&(l=a,o>0));a=s[a+3]);return l}slice(e,n,o){let r=this.buffer,i=new Uint16Array(n-e),s=0;for(let l=e,a=0;l<n;){i[a++]=r[l++],i[a++]=r[l++]-o;let u=i[a++]=r[l++]-o;i[a++]=r[l++]-e,s=Math.max(s,u)}return new ii(i,s,this.set)}};function oA(t,e,n,o){switch(t){case-2:return n<e;case-1:return o>=e&&n<e;case 0:return n<e&&o>e;case 1:return n<=e&&o>e;case 2:return o>e;case 4:return!0}}function rA(t,e){let n=t.childBefore(e);for(;n;){let o=n.lastChild;if(!o||o.to!=n.to)break;o.type.isError&&o.from==o.to?(t=n,n=o.prevSibling):n=o}return t}function Eu(t,e,n,o){for(var r;t.from==t.to||(n<1?t.from>=e:t.from>e)||(n>-1?t.to<=e:t.to<e);){let s=!o&&t instanceof Uo&&t.index<0?null:t.parent;if(!s)return t;t=s}let i=o?0:bt.IgnoreOverlays;if(o)for(let s=t,l=s.parent;l;s=l,l=s.parent)s instanceof Uo&&s.index<0&&((r=l.enter(e,n,i))===null||r===void 0?void 0:r.from)!=s.from&&(t=l);for(;;){let s=t.enter(e,n,i);if(!s)return t;t=s}}var Uo=class{constructor(e,n,o,r){this._tree=e,this.from=n,this.index=o,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,n,o,r,i=0){for(let s=this;;){for(let{children:l,positions:a}=s._tree,u=n>0?l.length:-1;e!=u;e+=n){let c=l[e],d=a[e]+s.from;if(oA(r,o,d,d+c.length)){if(c instanceof ii){if(i&bt.ExcludeBuffers)continue;let f=c.findChild(0,c.buffer.length,n,o-d,r);if(f>-1)return new vr(new LC(s,c,e,d),null,f)}else if(i&bt.IncludeAnonymous||!c.type.isAnonymous||NC(c)){let f;if(!(i&bt.IgnoreMounts)&&c.props&&(f=c.prop(me.mounted))&&!f.overlay)return new Uo(f.tree,d,e,s);let p=new Uo(c,d,e,s);return i&bt.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(n<0?c.children.length-1:0,n,o,r)}}}if(i&bt.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+n:e=n<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,n,o=0){let r;if(!(o&bt.IgnoreOverlays)&&(r=this._tree.prop(me.mounted))&&r.overlay){let i=e-this.from;for(let{from:s,to:l}of r.overlay)if((n>0?s<=i:s<i)&&(n<0?l>=i:l>i))return new Uo(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,n,o)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}cursor(e=0){return new Tu(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,n=0){return Eu(this,e,n,!1)}resolveInner(e,n=0){return Eu(this,e,n,!0)}enterUnfinishedNodesBefore(e){return rA(this,e)}getChild(e,n=null,o=null){let r=lg(this,e,n,o);return r.length?r[0]:null}getChildren(e,n=null,o=null){return lg(this,e,n,o)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return ag(this,e)}};function lg(t,e,n,o){let r=t.cursor(),i=[];if(!r.firstChild())return i;if(n!=null){for(;!r.type.is(n);)if(!r.nextSibling())return i}for(;;){if(o!=null&&r.type.is(o))return i;if(r.type.is(e)&&i.push(r.node),!r.nextSibling())return o==null?i:[]}}function ag(t,e,n=e.length-1){for(let o=t.parent;n>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(e[n]&&e[n]!=o.name)return!1;n--}}return!0}var LC=class{constructor(e,n,o,r){this.parent=e,this.buffer=n,this.index=o,this.start=r}},vr=class{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,n,o){this.context=e,this._parent=n,this.index=o,this.type=e.buffer.set.types[e.buffer.buffer[o]]}child(e,n,o){let{buffer:r}=this.context,i=r.findChild(this.index+4,r.buffer[this.index+3],e,n-this.context.start,o);return i<0?null:new vr(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,n,o=0){if(o&bt.ExcludeBuffers)return null;let{buffer:r}=this.context,i=r.findChild(this.index+4,r.buffer[this.index+3],n>0?1:-1,e-this.context.start,n);return i<0?null:new vr(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,n=e.buffer[this.index+3];return n<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new vr(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new vr(this.context,this._parent,e.findChild(n,this.index,-1,0,4))}cursor(e=0){return new Tu(this,e)}get tree(){return null}toTree(){let e=[],n=[],{buffer:o}=this.context,r=this.index+4,i=o.buffer[this.index+3];if(i>r){let s=o.buffer[this.index+1];e.push(o.slice(r,i,s)),n.push(0)}return new Ge(this.type,e,n,this.to-this.from)}resolve(e,n=0){return Eu(this,e,n,!1)}resolveInner(e,n=0){return Eu(this,e,n,!0)}enterUnfinishedNodesBefore(e){return rA(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,n=null,o=null){let r=lg(this,e,n,o);return r.length?r[0]:null}getChildren(e,n=null,o=null){return lg(this,e,n,o)}get node(){return this}matchContext(e){return ag(this,e)}},Tu=class{get name(){return this.type.name}constructor(e,n=0){if(this.mode=n,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Uo)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let o=e._parent;o;o=o._parent)this.stack.unshift(o.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,n){this.index=e;let{start:o,buffer:r}=this.buffer;return this.type=n||r.set.types[r.buffer[e]],this.from=o+r.buffer[e+1],this.to=o+r.buffer[e+2],!0}yield(e){return e?e instanceof Uo?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,n,o){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,n,o,this.mode));let{buffer:r}=this.buffer,i=r.findChild(this.index+4,r.buffer[this.index+3],e,n-this.buffer.start,o);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,n,o=this.mode){return this.buffer?o&bt.ExcludeBuffers?!1:this.enterChild(1,e,n):this.yield(this._tree.enter(e,n,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&bt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&bt.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:n}=this.buffer,o=this.stack.length-1;if(e<0){let r=o<0?0:this.stack[o]+4;if(this.index!=r)return this.yieldBuf(n.findChild(r,this.index,-1,0,4))}else{let r=n.buffer[this.index+3];if(r<(o<0?n.buffer.length:n.buffer[this.stack[o]+3]))return this.yieldBuf(r)}return o<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let n,o,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let i=0;i<this.index;i++)if(r.buffer.buffer[i+3]<this.index)return!1;({index:n,parent:o}=r)}else({index:n,_parent:o}=this._tree);for(;o;{index:n,_parent:o}=o)if(n>-1)for(let i=n+e,s=e<0?-1:o._tree.children.length;i!=s;i+=e){let l=o._tree.children[i];if(this.mode&bt.IncludeAnonymous||l instanceof ii||!l.type.isAnonymous||NC(l))return!1}return!0}move(e,n){if(n&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,n=0){for(;(this.from==this.to||(n<1?this.from>=e:this.from>e)||(n>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,n););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,n=null,o=0;if(e&&e.context==this.buffer)e:for(let r=this.index,i=this.stack.length;i>=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;n=s,o=i+1;break e}r=this.stack[--i]}for(let r=o;r<this.stack.length;r++)n=new vr(this.buffer,n,this.stack[r]);return this.bufferNode=new vr(this.buffer,n,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,n){for(let o=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){o++;continue}this.type.isAnonymous||(r=!0)}for(;r&&n&&n(this),r=this.type.isAnonymous,!this.nextSibling();){if(!o)return;this.parent(),o--,r=!0}}}matchContext(e){if(!this.buffer)return ag(this.node,e);let{buffer:n}=this.buffer,{types:o}=n.set;for(let r=e.length-1,i=this.stack.length-1;r>=0;i--){if(i<0)return ag(this.node,e,r);let s=o[n.buffer[this.stack[i]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function NC(t){return t.children.some(e=>e instanceof ii||!e.type.isAnonymous||NC(e))}function k7(t){var e;let{buffer:n,nodeSet:o,maxBufferLength:r=1024,reused:i=[],minRepeatType:s=o.types.length}=t,l=Array.isArray(n)?new cf(n,n.length):n,a=o.types,u=0,c=0;function d(b,S,C,w,E){let{id:T,start:M,end:L,size:k}=l,I=c;for(;k<0;)if(l.next(),k==-1){let P=i[T];C.push(P),w.push(M-b);return}else if(k==-3){u=T;return}else if(k==-4){c=T;return}else throw new RangeError(`Unrecognized record size: ${k}`);let A=a[T],H,R,O=M-b;if(L-M<=r&&(R=y(l.pos-S,E))){let P=new Uint16Array(R.size-R.skip),N=l.pos-R.size,D=P.length;for(;l.pos>N;)D=m(R.start,P,D);H=new ii(P,L-R.start,o),O=R.start-b}else{let P=l.pos-k;l.next();let N=[],D=[],B=T>=s?T:-1,F=0,$=L;for(;l.pos>P;)B>=0&&l.id==B&&l.size>=0?(l.end<=$-r&&(p(N,D,M,F,l.end,$,B,I),F=N.length,$=l.end),l.next()):d(M,P,N,D,B);if(B>=0&&F>0&&F<N.length&&p(N,D,M,F,M,$,B,I),N.reverse(),D.reverse(),B>-1&&F>0){let Q=f(A);H=HC(A,N,D,0,N.length,0,L-M,Q,Q)}else H=g(A,N,D,L-M,I-L)}C.push(H),w.push(O)}function f(b){return(S,C,w)=>{let E=0,T=S.length-1,M,L;if(T>=0&&(M=S[T])instanceof Ge){if(!T&&M.type==b&&M.length==w)return M;(L=M.prop(me.lookAhead))&&(E=C[T]+M.length+L)}return g(b,S,C,w,E)}}function p(b,S,C,w,E,T,M,L){let k=[],I=[];for(;b.length>w;)k.push(b.pop()),I.push(S.pop()+C-E);b.push(g(o.types[M],k,I,T-E,L-T)),S.push(E-C)}function g(b,S,C,w,E=0,T){if(u){let M=[me.contextHash,u];T=T?[M].concat(T):[M]}if(E>25){let M=[me.lookAhead,E];T=T?[M].concat(T):[M]}return new Ge(b,S,C,w,T)}function y(b,S){let C=l.fork(),w=0,E=0,T=0,M=C.end-r,L={size:0,start:0,skip:0};e:for(let k=C.pos-b;C.pos>k;){let I=C.size;if(C.id==S&&I>=0){L.size=w,L.start=E,L.skip=T,T+=4,w+=4,C.next();continue}let A=C.pos-I;if(I<0||A<k||C.start<M)break;let H=C.id>=s?4:0,R=C.start;for(C.next();C.pos>A;){if(C.size<0)if(C.size==-3)H+=4;else break e;else C.id>=s&&(H+=4);C.next()}E=R,w+=I,T+=H}return(S<0||w==b)&&(L.size=w,L.start=E,L.skip=T),L.size>4?L:void 0}function m(b,S,C){let{id:w,start:E,end:T,size:M}=l;if(l.next(),M>=0&&w<s){let L=C;if(M>4){let k=l.pos-(M-4);for(;l.pos>k;)C=m(b,S,C)}S[--C]=L,S[--C]=T-b,S[--C]=E-b,S[--C]=w}else M==-3?u=w:M==-4&&(c=w);return C}let h=[],v=[];for(;l.pos>0;)d(t.start||0,t.bufferStart||0,h,v,-1);let x=(e=t.length)!==null&&e!==void 0?e:h.length?v[0]+h[0].length:0;return new Ge(a[t.topID],h.reverse(),v.reverse(),x)}var nA=new WeakMap;function sg(t,e){if(!t.isAnonymous||e instanceof ii||e.type!=t)return 1;let n=nA.get(e);if(n==null){n=1;for(let o of e.children){if(o.type!=t||!(o instanceof Ge)){n=1;break}n+=sg(t,o)}nA.set(e,n)}return n}function HC(t,e,n,o,r,i,s,l,a){let u=0;for(let g=o;g<r;g++)u+=sg(t,e[g]);let c=Math.ceil(u*1.5/8),d=[],f=[];function p(g,y,m,h,v){for(let x=m;x<h;){let b=x,S=y[x],C=sg(t,g[x]);for(x++;x<h;x++){let w=sg(t,g[x]);if(C+w>=c)break;C+=w}if(x==b+1){if(C>c){let w=g[b];p(w.children,w.positions,0,w.children.length,y[b]+v);continue}d.push(g[b])}else{let w=y[x-1]+g[x-1].length-S;d.push(HC(t,g,y,b,x,S,w,null,a))}f.push(S+v-i)}}return p(e,n,o,r,0),(l||a)(d,f,s)}var xr=class{constructor(e,n,o,r,i=!1,s=!1){this.from=e,this.to=n,this.tree=o,this.offset=r,this.open=(i?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,n=[],o=!1){let r=[new xr(0,e.length,e,0,!1,o)];for(let i of n)i.to>e.length&&r.push(i);return r}static applyChanges(e,n,o=128){if(!n.length)return e;let r=[],i=1,s=e.length?e[0]:null;for(let l=0,a=0,u=0;;l++){let c=l<n.length?n[l]:null,d=c?c.fromA:1e9;if(d-a>=o)for(;s&&s.from<d;){let f=s;if(a>=f.from||d<=f.to||u){let p=Math.max(f.from,a)-u,g=Math.min(f.to,d)-u;f=p>=g?null:new xr(p,g,f.tree,f.offset+u,l>0,!!c)}if(f&&r.push(f),s.to>d)break;s=i<e.length?e[i++]:null}if(!c)break;a=c.toA,u=c.toA-c.toB}return r}},ku=class{startParse(e,n,o){return typeof e=="string"&&(e=new AC(e)),o=o?o.length?o.map(r=>new uf(r.from,r.to)):[new uf(0,0)]:[new uf(0,e.length)],this.createParse(e,n||[],o)}parse(e,n,o){let r=this.startParse(e,n,o);for(;;){let i=r.advance();if(i)return i}}},AC=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,n){return this.string.slice(e,n)}};var Xfe=new me({perNode:!0});var M7=0,So=class{constructor(e,n,o){this.set=e,this.base=n,this.modified=o,this.id=M7++}static define(e){if(e!=null&&e.base)throw new Error("Can not derive from a modified tag");let n=new So([],null,[]);if(n.set.push(n),e)for(let o of e.set)n.set.push(o);return n}static defineModifier(){let e=new Mu;return n=>n.modified.indexOf(e)>-1?n:Mu.get(n.base||n,n.modified.concat(e).sort((o,r)=>o.id-r.id))}},I7=0,Mu=class{constructor(){this.instances=[],this.id=I7++}static get(e,n){if(!n.length)return e;let o=n[0].instances.find(l=>l.base==e&&P7(n,l.modified));if(o)return o;let r=[],i=new So(r,e,n);for(let l of n)l.instances.push(i);let s=D7(n);for(let l of e.set)if(!l.modified.length)for(let a of s)r.push(Mu.get(l,a));return i}};function P7(t,e){return t.length==e.length&&t.every((n,o)=>n==e[o])}function D7(t){let e=[[]];for(let n=0;n<t.length;n++)for(let o=0,r=e.length;o<r;o++)e.push(e[o].concat(t[n]));return e.sort((n,o)=>o.length-n.length)}function Il(t){let e=Object.create(null);for(let n in t){let o=t[n];Array.isArray(o)||(o=[o]);for(let r of n.split(" "))if(r){let i=[],s=2,l=r;for(let d=0;;){if(l=="..."&&d>0&&d+3==r.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!f)throw new RangeError("Invalid path: "+r);if(i.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),d+=f[0].length,d==r.length)break;let p=r[d++];if(d==r.length&&p=="!"){s=0;break}if(p!="/")throw new RangeError("Invalid path: "+r);l=r.slice(d)}let a=i.length-1,u=i[a];if(!u)throw new RangeError("Invalid path: "+r);let c=new Iu(o,s,a>0?i.slice(0,a):null);e[u]=c.sort(e[u])}}return lA.add(e)}var lA=new me,Iu=class{constructor(e,n,o,r){this.tags=e,this.mode=n,this.context=o,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Iu.empty=new Iu([],2,null);function VC(t,e){let n=Object.create(null);for(let i of t)if(!Array.isArray(i.tag))n[i.tag.id]=i.class;else for(let s of i.tag)n[s.id]=i.class;let{scope:o,all:r=null}=e||{};return{style:i=>{let s=r;for(let l of i)for(let a of l.set){let u=n[a.id];if(u){s=s?s+" "+u:u;break}}return s},scope:o}}function R7(t,e){let n=null;for(let o of t){let r=o.style(e);r&&(n=n?n+" "+r:r)}return n}function aA(t,e,n,o=0,r=t.length){let i=new FC(o,Array.isArray(e)?e:[e],n);i.highlightRange(t.cursor(),o,r,"",i.highlighters),i.flush(r)}var FC=class{constructor(e,n,o){this.at=e,this.highlighters=n,this.span=o,this.class=""}startSpan(e,n){n!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=n)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,n,o,r,i){let{type:s,from:l,to:a}=e;if(l>=o||a<=n)return;s.isTop&&(i=this.highlighters.filter(p=>!p.scope||p.scope(s)));let u=r,c=L7(e)||Iu.empty,d=R7(i,c.tags);if(d&&(u&&(u+=" "),u+=d,c.mode==1&&(r+=(r?" ":"")+d)),this.startSpan(Math.max(n,l),u),c.opaque)return;let f=e.tree&&e.tree.prop(me.mounted);if(f&&f.overlay){let p=e.node.enter(f.overlay[0].from+l,1),g=this.highlighters.filter(m=>!m.scope||m.scope(f.tree.type)),y=e.firstChild();for(let m=0,h=l;;m++){let v=m<f.overlay.length?f.overlay[m]:null,x=v?v.from+l:a,b=Math.max(n,h),S=Math.min(o,x);if(b<S&&y)for(;e.from<S&&(this.highlightRange(e,b,S,r,i),this.startSpan(Math.min(S,e.to),u),!(e.to>=x||!e.nextSibling())););if(!v||x>o)break;h=v.to+l,h>n&&(this.highlightRange(p.cursor(),Math.max(n,v.from+l),Math.min(o,h),"",g),this.startSpan(Math.min(o,h),u))}y&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=n)){if(e.from>=o)break;this.highlightRange(e,n,o,r,i),this.startSpan(Math.min(o,e.to),u)}while(e.nextSibling());e.parent()}}};function L7(t){let e=t.type.prop(lA);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}var q=So.define,ug=q(),is=q(),iA=q(is),sA=q(is),ss=q(),cg=q(ss),OC=q(ss),Sr=q(),Ml=q(Sr),Cr=q(),wr=q(),BC=q(),df=q(BC),dg=q(),W={comment:ug,lineComment:q(ug),blockComment:q(ug),docComment:q(ug),name:is,variableName:q(is),typeName:iA,tagName:q(iA),propertyName:sA,attributeName:q(sA),className:q(is),labelName:q(is),namespace:q(is),macroName:q(is),literal:ss,string:cg,docString:q(cg),character:q(cg),attributeValue:q(cg),number:OC,integer:q(OC),float:q(OC),bool:q(ss),regexp:q(ss),escape:q(ss),color:q(ss),url:q(ss),keyword:Cr,self:q(Cr),null:q(Cr),atom:q(Cr),unit:q(Cr),modifier:q(Cr),operatorKeyword:q(Cr),controlKeyword:q(Cr),definitionKeyword:q(Cr),moduleKeyword:q(Cr),operator:wr,derefOperator:q(wr),arithmeticOperator:q(wr),logicOperator:q(wr),bitwiseOperator:q(wr),compareOperator:q(wr),updateOperator:q(wr),definitionOperator:q(wr),typeOperator:q(wr),controlOperator:q(wr),punctuation:BC,separator:q(BC),bracket:df,angleBracket:q(df),squareBracket:q(df),paren:q(df),brace:q(df),content:Sr,heading:Ml,heading1:q(Ml),heading2:q(Ml),heading3:q(Ml),heading4:q(Ml),heading5:q(Ml),heading6:q(Ml),contentSeparator:q(Sr),list:q(Sr),quote:q(Sr),emphasis:q(Sr),strong:q(Sr),link:q(Sr),monospace:q(Sr),strikethrough:q(Sr),inserted:q(),deleted:q(),changed:q(),invalid:q(),meta:dg,documentMeta:q(dg),annotation:q(dg),processingInstruction:q(dg),definition:So.defineModifier(),constant:So.defineModifier(),function:So.defineModifier(),standard:So.defineModifier(),local:So.defineModifier(),special:So.defineModifier()},epe=VC([{tag:W.link,class:"tok-link"},{tag:W.heading,class:"tok-heading"},{tag:W.emphasis,class:"tok-emphasis"},{tag:W.strong,class:"tok-strong"},{tag:W.keyword,class:"tok-keyword"},{tag:W.atom,class:"tok-atom"},{tag:W.bool,class:"tok-bool"},{tag:W.url,class:"tok-url"},{tag:W.labelName,class:"tok-labelName"},{tag:W.inserted,class:"tok-inserted"},{tag:W.deleted,class:"tok-deleted"},{tag:W.literal,class:"tok-literal"},{tag:W.string,class:"tok-string"},{tag:W.number,class:"tok-number"},{tag:[W.regexp,W.escape,W.special(W.string)],class:"tok-string2"},{tag:W.variableName,class:"tok-variableName"},{tag:W.local(W.variableName),class:"tok-variableName tok-local"},{tag:W.definition(W.variableName),class:"tok-variableName tok-definition"},{tag:W.special(W.variableName),class:"tok-variableName2"},{tag:W.definition(W.propertyName),class:"tok-propertyName tok-definition"},{tag:W.typeName,class:"tok-typeName"},{tag:W.namespace,class:"tok-namespace"},{tag:W.className,class:"tok-className"},{tag:W.macroName,class:"tok-macroName"},{tag:W.propertyName,class:"tok-propertyName"},{tag:W.operator,class:"tok-operator"},{tag:W.comment,class:"tok-comment"},{tag:W.meta,class:"tok-meta"},{tag:W.invalid,class:"tok-invalid"},{tag:W.punctuation,class:"tok-punctuation"}]);var zC,Pu=new me;function A7(t){return le.define({combine:t?e=>e.concat(t):void 0})}var N7=new me,Hn=class{constructor(e,n,o=[],r=""){this.data=e,this.name=r,ye.prototype.hasOwnProperty("tree")||Object.defineProperty(ye.prototype,"tree",{get(){return Dt(this)}}),this.parser=n,this.extension=[Ru.of(this),ye.languageData.of((i,s,l)=>{let a=uA(i,s,l),u=a.type.prop(Pu);if(!u)return[];let c=i.facet(u),d=a.type.prop(N7);if(d){let f=a.resolve(s-a.from,l);for(let p of d)if(p.test(f,i)){let g=i.facet(p.facet);return p.type=="replace"?g:g.concat(c)}}return c})].concat(o)}isActiveAt(e,n,o=-1){return uA(e,n,o).type.prop(Pu)==this.data}findRegions(e){let n=e.facet(Ru);if((n==null?void 0:n.data)==this.data)return[{from:0,to:e.doc.length}];if(!n||!n.allowsNesting)return[];let o=[],r=(i,s)=>{if(i.prop(Pu)==this.data){o.push({from:s,to:s+i.length});return}let l=i.prop(me.mounted);if(l){if(l.tree.prop(Pu)==this.data){if(l.overlay)for(let a of l.overlay)o.push({from:a.from+s,to:a.to+s});else o.push({from:s,to:s+i.length});return}else if(l.overlay){let a=o.length;if(r(l.tree,l.overlay[0].from+s),o.length>a)return}}for(let a=0;a<i.children.length;a++){let u=i.children[a];u instanceof Ge&&r(u,i.positions[a]+s)}};return r(Dt(e),0),o}get allowsNesting(){return!0}};Hn.setState=De.define();function uA(t,e,n){let o=t.facet(Ru),r=Dt(t).topNode;if(!o||o.allowsNesting)for(let i=r;i;i=i.enter(e,n,bt.ExcludeBuffers))i.type.isTop&&(r=i);return r}var Er=class extends Hn{constructor(e,n,o){super(e,n,[],o),this.parser=n}static define(e){let n=A7(e.languageData);return new Er(n,e.parser.configure({props:[Pu.add(o=>o.isTop?n:void 0)]}),e.name)}configure(e,n){return new Er(this.data,this.parser.configure(e),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function Dt(t){let e=t.field(Hn.state,!1);return e?e.tree:Ge.empty}function fg(t,e,n=50){var o;let r=(o=t.field(Hn.state,!1))===null||o===void 0?void 0:o.context;if(!r)return null;let i=r.viewport;r.updateViewport({from:0,to:e});let s=r.isDone(e)||r.work(n,e)?r.tree:null;return r.updateViewport(i),s}var KC=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,n){let o=this.cursorPos-this.string.length;return e<o||n>=this.cursorPos?this.doc.sliceString(e,n):this.string.slice(e-o,n-o)}},ff=null,Du=class{constructor(e,n,o=[],r,i,s,l,a){this.parser=e,this.state=n,this.fragments=o,this.tree=r,this.treeLen=i,this.viewport=s,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,n,o){return new Du(e,n,[],Ge.empty,0,o,[],null)}startParse(){return this.parser.startParse(new KC(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=Ge.empty&&this.isDone(n!=null?n:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var o;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n<this.state.doc.length&&this.parse.stopAt(n);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(xr.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(o=this.parse.stoppedAt)!==null&&o!==void 0?o:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(n!=null?n:this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,n;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=e,this.tree=n,this.fragments=this.withoutTempSkipped(xr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let n=ff;ff=this;try{return e()}finally{ff=n}}withoutTempSkipped(e){for(let n;n=this.tempSkipped.pop();)e=cA(e,n.from,n.to);return e}changes(e,n){let{fragments:o,tree:r,treeLen:i,viewport:s,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((u,c,d,f)=>a.push({fromA:u,toA:c,fromB:d,toB:f})),o=xr.applyChanges(o,a),r=Ge.empty,i=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){l=[];for(let u of this.skipped){let c=e.mapPos(u.from,1),d=e.mapPos(u.to,-1);c<d&&l.push({from:c,to:d})}}}return new Du(this.parser,n,o,r,i,s,l,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let n=this.skipped.length;for(let o=0;o<this.skipped.length;o++){let{from:r,to:i}=this.skipped[o];r<e.to&&i>e.from&&(this.fragments=cA(this.fragments,r,i),this.skipped.splice(o--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,n){this.skipped.push({from:e,to:n})}static getSkippingParser(e){return new class extends ku{createParse(n,o,r){let i=r[0].from,s=r[r.length-1].to;return{parsedPos:i,advance(){let a=ff;if(a){for(let u of r)a.tempSkipped.push(u);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=s,new Ge(Lt.none,[],[],s-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let n=this.fragments;return this.treeLen>=e&&n.length&&n[0].from==0&&n[0].to>=e}static get(){return ff}};function cA(t,e,n){return xr.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}var ls=class{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(e.changes,e.state),o=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,o)||n.takeTree(),new ls(n)}static init(e){let n=Math.min(3e3,e.doc.length),o=Du.create(e.facet(Ru).parser,e,{from:0,to:n});return o.work(20,n)||o.takeTree(),new ls(o)}};Hn.state=Yt.define({create:ls.init,update(t,e){for(let n of e.effects)if(n.is(Hn.setState))return n.value;return e.startState.facet(Ru)!=e.state.facet(Ru)?ls.init(e.state):t.apply(e)}});var pA=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(pA=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:500-100})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});var $C=typeof navigator<"u"&&(!((zC=navigator.scheduling)===null||zC===void 0)&&zC.isInputPending)?()=>navigator.scheduling.isInputPending():null,H7=Nn.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let n=this.view.state.field(Hn.state).context;(n.updateViewport(e.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:e}=this.view,n=e.field(Hn.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=pA(this.work))}work(e){this.working=null;let n=Date.now();if(this.chunkEnd<n&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=n+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:o,viewport:{to:r}}=this.view,i=o.field(Hn.state);if(i.tree==i.context.tree&&i.context.isDone(r+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!$C?Math.max(25,e.timeRemaining()-5):1e9),l=i.context.treeLen<r&&o.doc.length>r+1e3,a=i.context.work(()=>$C&&$C()||Date.now()>s,r+(l?0:1e5));this.chunkBudget-=Date.now()-n,(a||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:Hn.setState.of(new ls(i.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(n=>Zn(this.view.state,n)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Ru=le.define({combine(t){return t.length?t[0]:null},enables:t=>[Hn.state,H7,ae.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]}),Lu=class{constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}};var O7=le.define(),mf=le.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(n=>n!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function hf(t){let e=t.facet(mf);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function gf(t,e){let n="",o=t.tabSize,r=t.facet(mf)[0];if(r==" "){for(;e>=o;)n+=" ",e-=o;r=" "}for(let i=0;i<e;i++)n+=r;return n}function QC(t,e){t instanceof ye&&(t=new Pl(t));for(let o of t.state.facet(O7)){let r=o(t,e);if(r!==void 0)return r}let n=Dt(t.state);return n?B7(t,n,e):null}var Pl=class{constructor(e,n={}){this.state=e,this.options=n,this.unit=hf(e)}lineAt(e,n=1){let o=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:i}=this.options;return r!=null&&r>=o.from&&r<=o.to?i&&r==e?{text:"",from:e}:(n<0?r<e:r<=e)?{text:o.text.slice(r-o.from),from:r}:{text:o.text.slice(0,r-o.from),from:o.from}:o}textAfterPos(e,n=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:o,from:r}=this.lineAt(e,n);return o.slice(e-r,Math.min(o.length,e+100-r))}column(e,n=1){let{text:o,from:r}=this.lineAt(e,n),i=this.countColumn(o,e-r),s=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return s>-1&&(i+=s-this.countColumn(o,o.search(/\S|$/))),i}countColumn(e,n=e.length){return xl(e,this.state.tabSize,n)}lineIndent(e,n=1){let{text:o,from:r}=this.lineAt(e,n),i=this.options.overrideIndentation;if(i){let s=i(r);if(s>-1)return s}return this.countColumn(o,o.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},F7=new me;function B7(t,e,n){return mA(e.resolveInner(n).enterUnfinishedNodesBefore(n),n,t)}function V7(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function z7(t){let e=t.type.prop(F7);if(e)return e;let n=t.firstChild,o;if(n&&(o=n.type.prop(me.closedBy))){let r=t.lastChild,i=r&&o.indexOf(r.name)>-1;return s=>K7(s,!0,1,void 0,i&&!V7(s)?r.from:void 0)}return t.parent==null?$7:null}function mA(t,e,n){for(;t;t=t.parent){let o=z7(t);if(o)return o(pf.create(n,e,t))}return null}function $7(){return 0}var pf=class extends Pl{constructor(e,n,o){super(e.state,e.options),this.base=e,this.pos=n,this.node=o}static create(e,n,o){return new pf(e,n,o)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let n=this.state.doc.lineAt(e.from);for(;;){let o=e.resolve(n.from);for(;o.parent&&o.parent.from==o.from;)o=o.parent;if(_7(o,e))break;n=this.state.doc.lineAt(o.from)}return this.lineIndent(n.from)}continue(){let e=this.node.parent;return e?mA(e,this.pos,this.base):0}};function _7(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function W7(t){let e=t.node,n=e.childAfter(e.from),o=e.lastChild;if(!n)return null;let r=t.options.simulateBreak,i=t.state.doc.lineAt(n.from),s=r==null||r<=i.from?i.to:Math.min(i.to,r);for(let l=n.to;;){let a=e.childAfter(l);if(!a||a==o)return null;if(!a.type.isSkipped)return a.from<s?n:null;l=a.to}}function K7(t,e,n,o,r){let i=t.textAfter,s=i.match(/^\s*/)[0].length,l=o&&i.slice(s,s+o.length)==o||r==t.pos+s,a=e?W7(t):null;return a?l?t.column(a.from):t.column(a.to):t.baseIndent+(l?0:t.unit*n)}var Go=class{constructor(e,n){this.specs=e;let o;function r(l){let a=xo.newName();return(o||(o=Object.create(null)))["."+a]=l,a}let i=typeof n.all=="string"?n.all:n.all?r(n.all):void 0,s=n.scope;this.scope=s instanceof Hn?l=>l.prop(Pu)==s.data:s?l=>l==s:void 0,this.style=VC(e.map(l=>({tag:l.tag,class:l.class||r(Object.assign({},l,{tag:null}))})),{all:i}).style,this.module=o?new xo(o):null,this.themeType=n.themeType}static define(e,n){return new Go(e,n||{})}},UC=le.define(),hA=le.define({combine(t){return t.length?[t[0]]:null}});function _C(t){let e=t.facet(UC);return e.length?e:t.facet(hA)}function Dl(t,e){let n=[U7],o;return t instanceof Go&&(t.module&&n.push(ae.styleModule.of(t.module)),o=t.themeType),e!=null&&e.fallback?n.push(hA.of(t)):o?n.push(UC.computeN([ae.darkTheme],r=>r.facet(ae.darkTheme)==(o=="dark")?[t]:[])):n.push(UC.of(t)),n}var GC=class{constructor(e){this.markCache=Object.create(null),this.tree=Dt(e.state),this.decorations=this.buildDeco(e,_C(e.state))}update(e){let n=Dt(e.state),o=_C(e.state),r=o!=_C(e.startState);n.length<e.view.viewport.to&&!r&&n.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(n!=this.tree||e.viewportChanged||r)&&(this.tree=n,this.decorations=this.buildDeco(e.view,o))}buildDeco(e,n){if(!n||!this.tree.length)return Pt.none;let o=new hr;for(let{from:r,to:i}of e.visibleRanges)aA(this.tree,n,(s,l,a)=>{o.add(s,l,this.markCache[a]||(this.markCache[a]=Pt.mark({class:a})))},r,i);return o.finish()}},U7=Zi.high(Nn.fromClass(GC,{decorations:t=>t.decorations})),JC=Go.define([{tag:W.meta,color:"#404740"},{tag:W.link,textDecoration:"underline"},{tag:W.heading,textDecoration:"underline",fontWeight:"bold"},{tag:W.emphasis,fontStyle:"italic"},{tag:W.strong,fontWeight:"bold"},{tag:W.strikethrough,textDecoration:"line-through"},{tag:W.keyword,color:"#708"},{tag:[W.atom,W.bool,W.url,W.contentSeparator,W.labelName],color:"#219"},{tag:[W.literal,W.inserted],color:"#164"},{tag:[W.string,W.deleted],color:"#a11"},{tag:[W.regexp,W.escape,W.special(W.string)],color:"#e40"},{tag:W.definition(W.variableName),color:"#00f"},{tag:W.local(W.variableName),color:"#30a"},{tag:[W.typeName,W.namespace],color:"#085"},{tag:W.className,color:"#167"},{tag:[W.special(W.variableName),W.macroName],color:"#256"},{tag:W.definition(W.propertyName),color:"#00c"},{tag:W.comment,color:"#940"},{tag:W.invalid,color:"#f00"}]);var G7=1e4,j7="()[]{}";var q7=new me;function jC(t,e,n){let o=t.prop(e<0?me.openedBy:me.closedBy);if(o)return o;if(t.name.length==1){let r=n.indexOf(t.name);if(r>-1&&r%2==(e<0?1:0))return[n[r+e]]}return null}function qC(t){let e=t.type.prop(q7);return e?e(t.node):t}function Rl(t,e,n,o={}){let r=o.maxScanDistance||G7,i=o.brackets||j7,s=Dt(t),l=s.resolveInner(e,n);for(let a=l;a;a=a.parent){let u=jC(a.type,n,i);if(u&&a.from<a.to){let c=qC(a);if(c&&(n>0?e>=c.from&&e<c.to:e>c.from&&e<=c.to))return Q7(t,e,n,a,c,u,i)}}return J7(t,e,n,s,l.type,r,i)}function Q7(t,e,n,o,r,i,s){let l=o.parent,a={from:r.from,to:r.to},u=0,c=l==null?void 0:l.cursor();if(c&&(n<0?c.childBefore(o.from):c.childAfter(o.to)))do if(n<0?c.to<=o.from:c.from>=o.to){if(u==0&&i.indexOf(c.type.name)>-1&&c.from<c.to){let d=qC(c);return{start:a,end:d?{from:d.from,to:d.to}:void 0,matched:!0}}else if(jC(c.type,n,s))u++;else if(jC(c.type,-n,s)){if(u==0){let d=qC(c);return{start:a,end:d&&d.from<d.to?{from:d.from,to:d.to}:void 0,matched:!1}}u--}}while(n<0?c.prevSibling():c.nextSibling());return{start:a,matched:!1}}function J7(t,e,n,o,r,i,s){let l=n<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),a=s.indexOf(l);if(a<0||a%2==0!=n>0)return null;let u={from:n<0?e-1:e,to:n>0?e+1:e},c=t.doc.iterRange(e,n>0?t.doc.length:0),d=0;for(let f=0;!c.next().done&&f<=i;){let p=c.value;n<0&&(f+=p.length);let g=e+f*n;for(let y=n>0?0:p.length-1,m=n>0?p.length:-1;y!=m;y+=n){let h=s.indexOf(p[y]);if(!(h<0||o.resolveInner(g+y,1).type!=r))if(h%2==0==n>0)d++;else{if(d==1)return{start:u,end:{from:g+y,to:g+y+1},matched:h>>1==a>>1};d--}}n>0&&(f+=p.length)}return c.done?{start:u,matched:!1}:null}var X7=Object.create(null),dA=[Lt.none];var fA=[],Y7=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Y7[t]=Z7(X7,e);function WC(t,e){fA.indexOf(t)>-1||(fA.push(t),console.warn(e))}function Z7(t,e){let n=null;for(let i of e.split(".")){let s=t[i]||W[i];s?typeof s=="function"?n?n=s(n):WC(i,`Modifier ${i} used at start of tag`):n?WC(i,`Tag ${i} used as modifier`):n=s:WC(i,`Unknown highlighting tag ${i}`)}if(!n)return 0;let o=e.replace(/ /g,"_"),r=Lt.define({id:dA.length,name:o,props:[Il({[o]:n})]});return dA.push(r),r.id}var mg=class{constructor(e,n,o){this.state=e,this.pos=n,this.explicit=o,this.abortListeners=[]}tokenBefore(e){let n=Dt(this.state).resolveInner(this.pos,-1);for(;n&&e.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(e){let n=this.state.doc.lineAt(this.pos),o=Math.max(n.from,this.pos-250),r=n.text.slice(o-n.from,this.pos-n.from),i=r.search(TA(e,!1));return i<0?null:{from:o+i,to:this.pos,text:r.slice(i)}}get aborted(){return this.abortListeners==null}addEventListener(e,n){e=="abort"&&this.abortListeners&&this.abortListeners.push(n)}};function gA(t){let e=Object.keys(t).join(""),n=/\w/.test(e);return n&&(e=e.replace(/\w/g,"")),`[${n?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function eV(t){let e=Object.create(null),n=Object.create(null);for(let{label:r}of t){e[r[0]]=!0;for(let i=1;i<r.length;i++)n[r[i]]=!0}let o=gA(e)+gA(n)+"*$";return[new RegExp("^"+o),new RegExp(o)]}function tV(t){let e=t.map(r=>typeof r=="string"?{label:r}:r),[n,o]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:eV(e);return r=>{let i=r.matchBefore(o);return i||r.explicit?{from:i?i.from:r.pos,options:e,validFor:n}:null}}var hg=class{constructor(e,n,o,r){this.completion=e,this.source=n,this.match=o,this.score=r}};function us(t){return t.selection.main.from}function TA(t,e){var n;let{source:o}=t,r=e&&o[0]!="^",i=o[o.length-1]!="$";return!r&&!i?t:new RegExp(`${r?"^":""}(?:${o})${i?"$":""}`,(n=t.flags)!==null&&n!==void 0?n:t.ignoreCase?"i":"")}var nV=Ln.define();function oV(t,e,n,o){let{main:r}=t.selection,i=n-r.from,s=o-r.from;return Object.assign(Object.assign({},t.changeByRange(l=>l!=r&&n!=o&&t.sliceDoc(l.from+i,l.from+s)!=t.sliceDoc(n,o)?{range:l}:{changes:{from:l.from+i,to:o==r.from?l.to:l.from+s,insert:e},range:z.cursor(l.from+i+e.length)})),{userEvent:"input.complete"})}var yA=new WeakMap;function rV(t){if(!Array.isArray(t))return t;let e=yA.get(t);return e||yA.set(t,e=tV(t)),e}var nw=De.define(),yf=De.define(),YC=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n<e.length;){let o=Jt(e,n),r=vo(o);this.chars.push(o);let i=e.slice(n,n+r),s=i.toUpperCase();this.folded.push(Jt(s==i?i.toLowerCase():s,0)),n+=r}this.astral=e.length!=this.chars.length}ret(e,n){return this.score=e,this.matched=n,!0}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return!1;let{chars:n,folded:o,any:r,precise:i,byWord:s}=this;if(n.length==1){let v=Jt(e,0),x=vo(v),b=x==e.length?0:-100;if(v!=n[0])if(v==o[0])b+=-200;else return!1;return this.ret(b,[0,x])}let l=e.indexOf(this.pattern);if(l==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let a=n.length,u=0;if(l<0){for(let v=0,x=Math.min(e.length,200);v<x&&u<a;){let b=Jt(e,v);(b==n[u]||b==o[u])&&(r[u++]=v),v+=vo(b)}if(u<a)return!1}let c=0,d=0,f=!1,p=0,g=-1,y=-1,m=/[a-z]/.test(e),h=!0;for(let v=0,x=Math.min(e.length,200),b=0;v<x&&d<a;){let S=Jt(e,v);l<0&&(c<a&&S==n[c]&&(i[c++]=v),p<a&&(S==n[p]||S==o[p]?(p==0&&(g=v),y=v+1,p++):p=0));let C,w=S<255?S>=48&&S<=57||S>=97&&S<=122?2:S>=65&&S<=90?1:0:(C=D0(S))!=C.toLowerCase()?1:C!=C.toUpperCase()?2:0;(!v||w==1&&m||b==0&&w!=0)&&(n[d]==S||o[d]==S&&(f=!0)?s[d++]=v:s.length&&(h=!1)),b=w,v+=vo(S)}return d==a&&s[0]==0&&h?this.result(-100+(f?-200:0),s,e):p==a&&g==0?this.ret(-200-e.length+(y==e.length?0:-100),[0,y]):l>-1?this.ret(-700-e.length,[l,l+this.pattern.length]):p==a?this.ret(-200+-700-e.length,[g,y]):d==a?this.result(-100+(f?-200:0)+-700+(h?0:-1100),s,e):n.length==2?!1:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,n,o){let r=[],i=0;for(let s of n){let l=s+(this.astral?vo(Jt(o,s)):1);i&&r[i-1]==s?r[i-1]=l:(r[i++]=s,r[i++]=l)}return this.ret(e-o.length,r)}},On=le.define({combine(t){return es(t,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:iV,compareCompletions:(e,n)=>e.label.localeCompare(n.label),interactionDelay:75},{defaultKeymap:(e,n)=>e&&n,closeOnBlur:(e,n)=>e&&n,icons:(e,n)=>e&&n,tooltipClass:(e,n)=>o=>bA(e(o),n(o)),optionClass:(e,n)=>o=>bA(e(o),n(o)),addToOptions:(e,n)=>e.concat(n)})}});function bA(t,e){return t?e?t+" "+e:t:e}function iV(t,e,n,o,r){let i=t.textDirection==Ze.RTL,s=i,l=!1,a="top",u,c,d=e.left-r.left,f=r.right-e.right,p=o.right-o.left,g=o.bottom-o.top;if(s&&d<Math.min(p,f)?s=!1:!s&&f<Math.min(p,d)&&(s=!0),p<=(s?d:f))u=Math.max(r.top,Math.min(n.top,r.bottom-g))-e.top,c=Math.min(400,s?d:f);else{l=!0,c=Math.min(400,(i?e.right:r.right-e.left)-30);let y=r.bottom-e.bottom;y>=g||y>e.top?u=n.bottom-e.top:(a="bottom",u=e.bottom-n.top)}return{style:`${a}: ${u}px; max-width: ${c}px`,class:"cm-completionInfo-"+(l?i?"left-narrow":"right-narrow":s?"left":"right")}}function sV(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(n){let o=document.createElement("div");return o.classList.add("cm-completionIcon"),n.type&&o.classList.add(...n.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),o.setAttribute("aria-hidden","true"),o},position:20}),e.push({render(n,o,r){let i=document.createElement("span");i.className="cm-completionLabel";let s=n.displayLabel||n.label,l=0;for(let a=0;a<r.length;){let u=r[a++],c=r[a++];u>l&&i.appendChild(document.createTextNode(s.slice(l,u)));let d=i.appendChild(document.createElement("span"));d.appendChild(document.createTextNode(s.slice(u,c))),d.className="cm-completionMatchedText",l=c}return l<s.length&&i.appendChild(document.createTextNode(s.slice(l))),i},position:50},{render(n){if(!n.detail)return null;let o=document.createElement("span");return o.className="cm-completionDetail",o.textContent=n.detail,o},position:80}),e.sort((n,o)=>n.position-o.position).map(n=>n.render)}function vA(t,e,n){if(t<=n)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let r=Math.floor(e/n);return{from:r*n,to:(r+1)*n}}let o=Math.floor((t-e)/n);return{from:t-(o+1)*n,to:t-o*n}}var ZC=class{constructor(e,n,o){this.view=e,this.stateField=n,this.applyCompletion=o,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:a=>this.placeInfo(a),key:this},this.space=null,this.currentClass="";let r=e.state.field(n),{options:i,selected:s}=r.open,l=e.state.facet(On);this.optionContent=sV(l),this.optionClass=l.optionClass,this.tooltipClass=l.tooltipClass,this.range=vA(i.length,s,l.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",a=>{for(let u=a.target,c;u&&u!=this.dom;u=u.parentNode)if(u.nodeName=="LI"&&(c=/-(\d+)$/.exec(u.id))&&+c[1]<i.length){this.applyCompletion(e,i[+c[1]]),a.preventDefault();return}}),this.dom.addEventListener("focusout",a=>{let u=e.state.field(this.stateField,!1);u&&u.tooltip&&e.state.facet(On).closeOnBlur&&a.relatedTarget!=e.contentDOM&&e.dispatch({effects:yf.of(null)})}),this.list=this.dom.appendChild(this.createListBox(i,r.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}mount(){this.updateSel()}update(e){var n,o,r;let i=e.state.field(this.stateField),s=e.startState.field(this.stateField);this.updateTooltipClass(e.state),i!=s&&(this.updateSel(),((n=i.open)===null||n===void 0?void 0:n.disabled)!=((o=s.open)===null||o===void 0?void 0:o.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!(!((r=i.open)===null||r===void 0)&&r.disabled)))}updateTooltipClass(e){let n=this.tooltipClass(e);if(n!=this.currentClass){for(let o of this.currentClass.split(" "))o&&this.dom.classList.remove(o);for(let o of n.split(" "))o&&this.dom.classList.add(o);this.currentClass=n}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),n=e.open;if((n.selected>-1&&n.selected<this.range.from||n.selected>=this.range.to)&&(this.range=vA(n.options.length,n.selected,this.view.state.facet(On).maxRenderedOptions),this.list.remove(),this.list=this.dom.appendChild(this.createListBox(n.options,e.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})),this.updateSelectedOption(n.selected)){this.destroyInfo();let{completion:o}=n.options[n.selected],{info:r}=o;if(!r)return;let i=typeof r=="string"?document.createTextNode(r):r(o);if(!i)return;"then"in i?i.then(s=>{s&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(s,o)}).catch(s=>Zn(this.view.state,s,"completion info")):this.addInfoPane(i,o)}}addInfoPane(e,n){this.destroyInfo();let o=this.info=document.createElement("div");if(o.className="cm-tooltip cm-completionInfo",e.nodeType!=null)o.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:i}=e;o.appendChild(r),this.infoDestroy=i||null}this.dom.appendChild(o),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let n=null;for(let o=this.list.firstChild,r=this.range.from;o;o=o.nextSibling,r++)o.nodeName!="LI"||!o.id?r--:r==e?o.hasAttribute("aria-selected")||(o.setAttribute("aria-selected","true"),n=o):o.hasAttribute("aria-selected")&&o.removeAttribute("aria-selected");return n&&aV(this.list,n),n}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let n=this.dom.getBoundingClientRect(),o=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),i=this.space;if(!i){let s=this.dom.ownerDocument.defaultView||window;i={left:0,top:0,right:s.innerWidth,bottom:s.innerHeight}}return r.top>Math.min(i.bottom,n.bottom)-10||r.bottom<Math.max(i.top,n.top)+10?null:this.view.state.facet(On).positionInfo(this.view,n,r,o,i)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,n,o){let r=document.createElement("ul");r.id=n,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions"));let i=null;for(let s=o.from;s<o.to;s++){let{completion:l,match:a}=e[s],{section:u}=l;if(u){let f=typeof u=="string"?u:u.name;if(f!=i&&(s>o.from||o.from==0))if(i=f,typeof u!="string"&&u.header)r.appendChild(u.header(u));else{let p=r.appendChild(document.createElement("completion-section"));p.textContent=f}}let c=r.appendChild(document.createElement("li"));c.id=n+"-"+s,c.setAttribute("role","option");let d=this.optionClass(l);d&&(c.className=d);for(let f of this.optionContent){let p=f(l,this.view.state,a);p&&c.appendChild(p)}}return o.from&&r.classList.add("cm-completionListIncompleteTop"),o.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function lV(t,e){return n=>new ZC(n,t,e)}function aV(t,e){let n=t.getBoundingClientRect(),o=e.getBoundingClientRect();o.top<n.top?t.scrollTop-=n.top-o.top:o.bottom>n.bottom&&(t.scrollTop+=o.bottom-n.bottom)}function xA(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function uV(t,e){let n=[],o=null,r=a=>{n.push(a);let{section:u}=a.completion;if(u){o||(o=[]);let c=typeof u=="string"?u:u.name;o.some(d=>d.name==c)||o.push(typeof u=="string"?{name:c}:u)}};for(let a of t)if(a.hasResult()){let u=a.result.getMatch;if(a.result.filter===!1)for(let c of a.result.options)r(new hg(c,a.source,u?u(c):[],1e9-n.length));else{let c=new YC(e.sliceDoc(a.from,a.to));for(let d of a.result.options)if(c.match(d.label)){let f=d.displayLabel?u?u(d,c.matched):[]:c.matched;r(new hg(d,a.source,f,c.score+(d.boost||0)))}}}if(o){let a=Object.create(null),u=0,c=(d,f)=>{var p,g;return((p=d.rank)!==null&&p!==void 0?p:1e9)-((g=f.rank)!==null&&g!==void 0?g:1e9)||(d.name<f.name?-1:1)};for(let d of o.sort(c))u-=1e5,a[d.name]=u;for(let d of n){let{section:f}=d.completion;f&&(d.score+=a[typeof f=="string"?f:f.name])}}let i=[],s=null,l=e.facet(On).compareCompletions;for(let a of n.sort((u,c)=>c.score-u.score||l(u.completion,c.completion))){let u=a.completion;!s||s.label!=u.label||s.detail!=u.detail||s.type!=null&&u.type!=null&&s.type!=u.type||s.apply!=u.apply||s.boost!=u.boost?i.push(a):xA(a.completion)>xA(s)&&(i[i.length-1]=a),s=a.completion}return i}var as=class{constructor(e,n,o,r,i,s){this.options=e,this.attrs=n,this.tooltip=o,this.timestamp=r,this.selected=i,this.disabled=s}setSelected(e,n){return e==this.selected||e>=this.options.length?this:new as(this.options,CA(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,o,r,i){let s=uV(e,n);if(!s.length)return r&&e.some(a=>a.state==1)?new as(r.options,r.attrs,r.tooltip,r.timestamp,r.selected,!0):null;let l=n.facet(On).selectOnOpen?0:-1;if(r&&r.selected!=l&&r.selected!=-1){let a=r.options[r.selected].completion;for(let u=0;u<s.length;u++)if(s[u].completion==a){l=u;break}}return new as(s,CA(o,l),{pos:e.reduce((a,u)=>u.hasResult()?Math.min(a,u.from):a,1e8),create:lV(eo,IA),above:i.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new as(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}},Au=class{constructor(e,n,o){this.active=e,this.id=n,this.open=o}static start(){return new Au(fV,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,o=n.facet(On),i=(o.override||n.languageDataAt("autocomplete",us(n)).map(rV)).map(l=>(this.active.find(u=>u.source==l)||new Zt(l,this.active.some(u=>u.state!=0)?1:0)).update(e,o));i.length==this.active.length&&i.every((l,a)=>l==this.active[a])&&(i=this.active);let s=this.open;s&&e.docChanged&&(s=s.map(e.changes)),e.selection||i.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!cV(i,this.active)?s=as.build(i,n,this.id,s,o):s&&s.disabled&&!i.some(l=>l.state==1)&&(s=null),!s&&i.every(l=>l.state!=1)&&i.some(l=>l.hasResult())&&(i=i.map(l=>l.hasResult()?new Zt(l.source,0):l));for(let l of e.effects)l.is(MA)&&(s=s&&s.setSelected(l.value,this.id));return i==this.active&&s==this.open?this:new Au(i,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:dV}};function cV(t,e){if(t==e)return!0;for(let n=0,o=0;;){for(;n<t.length&&!t[n].hasResult;)n++;for(;o<e.length&&!e[o].hasResult;)o++;let r=n==t.length,i=o==e.length;if(r||i)return r==i;if(t[n++].result!=e[o++].result)return!1}}var dV={"aria-autocomplete":"list"};function CA(t,e){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(n["aria-activedescendant"]=t+"-"+e),n}var fV=[];function ew(t){return t.isUserEvent("input.type")?"input":t.isUserEvent("delete.backward")?"delete":null}var Zt=class{constructor(e,n,o=-1){this.source=e,this.state=n,this.explicitPos=o}hasResult(){return!1}update(e,n){let o=ew(e),r=this;o?r=r.handleUserEvent(e,o,n):e.docChanged?r=r.handleChange(e):e.selection&&r.state!=0&&(r=new Zt(r.source,0));for(let i of e.effects)if(i.is(nw))r=new Zt(r.source,1,i.value?us(e.state):-1);else if(i.is(yf))r=new Zt(r.source,0);else if(i.is(kA))for(let s of i.value)s.source==r.source&&(r=s);return r}handleUserEvent(e,n,o){return n=="delete"||!o.activateOnTyping?this.map(e.changes):new Zt(this.source,1)}handleChange(e){return e.changes.touchesRange(us(e.startState))?new Zt(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new Zt(this.source,this.state,e.mapPos(this.explicitPos))}},cs=class extends Zt{constructor(e,n,o,r,i){super(e,2,n),this.result=o,this.from=r,this.to=i}hasResult(){return!0}handleUserEvent(e,n,o){var r;let i=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),l=us(e.state);if((this.explicitPos<0?l<=i:l<this.from)||l>s||n=="delete"&&us(e.startState)==this.from)return new Zt(this.source,n=="input"&&o.activateOnTyping?1:0);let a=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos),u;return pV(this.result.validFor,e.state,i,s)?new cs(this.source,a,this.result,i,s):this.result.update&&(u=this.result.update(this.result,i,s,new mg(e.state,l,a>=0)))?new cs(this.source,a,u,u.from,(r=u.to)!==null&&r!==void 0?r:us(e.state)):new Zt(this.source,1,a)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new Zt(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new cs(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}};function pV(t,e,n,o){if(!t)return!1;let r=e.sliceDoc(n,o);return typeof t=="function"?t(r,n,o,e):TA(t,!0).test(r)}var kA=De.define({map(t,e){return t.map(n=>n.map(e))}}),MA=De.define(),eo=Yt.define({create(){return Au.start()},update(t,e){return t.update(e)},provide:t=>[DC.from(t,e=>e.tooltip),ae.contentAttributes.from(t,e=>e.attrs)]});function IA(t,e){let n=e.completion.apply||e.completion.label,o=t.state.field(eo).active.find(r=>r.source==e.source);return o instanceof cs?(typeof n=="string"?t.dispatch(Object.assign(Object.assign({},oV(t.state,n,o.from,o.to)),{annotations:nV.of(e.completion)})):n(t,e.completion,o.from,o.to),!0):!1}function pg(t,e="option"){return n=>{let o=n.state.field(eo,!1);if(!o||!o.open||o.open.disabled||Date.now()-o.open.timestamp<n.state.facet(On).interactionDelay)return!1;let r=1,i;e=="page"&&(i=RC(n,o.open.tooltip))&&(r=Math.max(2,Math.floor(i.dom.offsetHeight/i.dom.querySelector("li").offsetHeight)-1));let{length:s}=o.open.options,l=o.open.selected>-1?o.open.selected+r*(t?1:-1):t?0:s-1;return l<0?l=e=="page"?0:s-1:l>=s&&(l=e=="page"?s-1:0),n.dispatch({effects:MA.of(l)}),!0}}var mV=t=>{let e=t.state.field(eo,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(On).interactionDelay?!1:IA(t,e.open.options[e.open.selected])},Nu=t=>t.state.field(eo,!1)?(t.dispatch({effects:nw.of(!0)}),!0):!1,hV=t=>{let e=t.state.field(eo,!1);return!e||!e.active.some(n=>n.state!=0)?!1:(t.dispatch({effects:yf.of(null)}),!0)},tw=class{constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}},wA=50,gV=50,yV=1e3,bV=Nn.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let e of t.state.field(eo).active)e.state==1&&this.startQuery(e)}update(t){let e=t.state.field(eo);if(!t.selectionSet&&!t.docChanged&&t.startState.field(eo)==e)return;let n=t.transactions.some(o=>(o.selection||o.docChanged)&&!ew(o));for(let o=0;o<this.running.length;o++){let r=this.running[o];if(n||r.updates.length+t.transactions.length>gV&&Date.now()-r.time>yV){for(let i of r.context.abortListeners)try{i()}catch(s){Zn(this.view.state,s)}r.context.abortListeners=null,this.running.splice(o--,1)}else r.updates.push(...t.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=e.active.some(o=>o.state==1&&!this.running.some(r=>r.active.source==o.source))?setTimeout(()=>this.startUpdate(),wA):-1,this.composing!=0)for(let o of t.transactions)ew(o)=="input"?this.composing=2:this.composing==2&&o.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:t}=this.view,e=t.field(eo);for(let n of e.active)n.state==1&&!this.running.some(o=>o.active.source==n.source)&&this.startQuery(n)}startQuery(t){let{state:e}=this.view,n=us(e),o=new mg(e,n,t.explicitPos==n),r=new tw(t,o);this.running.push(r),Promise.resolve(t.source(o)).then(i=>{r.context.aborted||(r.done=i||null,this.scheduleAccept())},i=>{this.view.dispatch({effects:yf.of(null)}),Zn(this.view.state,i)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),wA))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(On);for(let o=0;o<this.running.length;o++){let r=this.running[o];if(r.done===void 0)continue;if(this.running.splice(o--,1),r.done){let s=new cs(r.active.source,r.active.explicitPos,r.done,r.done.from,(t=r.done.to)!==null&&t!==void 0?t:us(r.updates.length?r.updates[0].startState:this.view.state));for(let l of r.updates)s=s.update(l,n);if(s.hasResult()){e.push(s);continue}}let i=this.view.state.field(eo).active.find(s=>s.source==r.active.source);if(i&&i.state==1)if(r.done==null){let s=new Zt(r.active.source,0);for(let l of r.updates)s=s.update(l,n);s.state!=1&&e.push(s)}else this.startQuery(i)}e.length&&this.view.dispatch({effects:kA.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(eo,!1);if(e&&e.tooltip&&this.view.state.facet(On).closeOnBlur){let n=e.open&&RC(this.view,e.open.tooltip);(!n||!n.dom.contains(t.relatedTarget))&&this.view.dispatch({effects:yf.of(null)})}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:nw.of(!1)}),20),this.composing=0}}}),vV=ae.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});var gg={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Ll=De.define({map(t,e){let n=e.mapPos(t,-1,Qt.TrackAfter);return n==null?void 0:n}}),ow=new class extends Wo{};ow.startSide=1;ow.endSide=-1;var PA=Yt.define({create(){return Fe.empty},update(t,e){if(e.selection){let n=e.state.doc.lineAt(e.selection.main.head).from,o=e.startState.doc.lineAt(e.startState.selection.main.head).from;n!=e.changes.mapPos(o,-1)&&(t=Fe.empty)}t=t.map(e.changes);for(let n of e.effects)n.is(Ll)&&(t=t.update({add:[ow.range(n.value,n.value+1)]}));return t}});function rw(){return[SV,PA]}var XC="()[]{}<>";function xV(t){for(let e=0;e<XC.length;e+=2)if(XC.charCodeAt(e)==t)return XC.charAt(e+1);return D0(t<128?t:t+1)}function CV(t,e){return t.languageDataAt("closeBrackets",e)[0]||gg}var wV=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),SV=ae.inputHandler.of((t,e,n,o)=>{if((wV?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let r=t.state.selection.main;if(o.length>2||o.length==2&&vo(Jt(o,0))==1||e!=r.from||n!=r.to)return!1;let i=EV(t.state,o);return i?(t.dispatch(i),!0):!1});function EV(t,e){let n=CV(t,t.selection.main.head),o=n.brackets||gg.brackets;for(let r of o){let i=xV(Jt(r,0));if(e==r)return i==r?MV(t,r,o.indexOf(r+r+r)>-1,n):TV(t,r,i,n.before||gg.before);if(e==i&&DA(t,t.selection.main.from))return kV(t,r,i)}return null}function DA(t,e){let n=!1;return t.field(PA).between(0,t.doc.length,o=>{o==e&&(n=!0)}),n}function iw(t,e){let n=t.sliceString(e,e+2);return n.slice(0,vo(Jt(n,0)))}function TV(t,e,n,o){let r=null,i=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:n,from:s.to}],effects:Ll.of(s.to+e.length),range:z.range(s.anchor+e.length,s.head+e.length)};let l=iw(t.doc,s.head);return!l||/\s/.test(l)||o.indexOf(l)>-1?{changes:{insert:e+n,from:s.head},effects:Ll.of(s.head+e.length),range:z.cursor(s.head+e.length)}:{range:r=s}});return r?null:t.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function kV(t,e,n){let o=null,r=t.changeByRange(i=>i.empty&&iw(t.doc,i.head)==n?{changes:{from:i.head,to:i.head+n.length,insert:n},range:z.cursor(i.head+n.length)}:o={range:i});return o?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function MV(t,e,n,o){let r=o.stringPrefixes||gg.stringPrefixes,i=null,s=t.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:e,from:l.to}],effects:Ll.of(l.to+e.length),range:z.range(l.anchor+e.length,l.head+e.length)};let a=l.head,u=iw(t.doc,a),c;if(u==e){if(SA(t,a))return{changes:{insert:e+e,from:a},effects:Ll.of(a+e.length),range:z.cursor(a+e.length)};if(DA(t,a)){let f=n&&t.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+f.length,insert:f},range:z.cursor(a+f.length)}}}else{if(n&&t.sliceDoc(a-2*e.length,a)==e+e&&(c=EA(t,a-2*e.length,r))>-1&&SA(t,c))return{changes:{insert:e+e+e+e,from:a},effects:Ll.of(a+e.length),range:z.cursor(a+e.length)};if(t.charCategorizer(a)(u)!=pn.Word&&EA(t,a,r)>-1&&!IV(t,a,e,r))return{changes:{insert:e+e,from:a},effects:Ll.of(a+e.length),range:z.cursor(a+e.length)}}return{range:i=l}});return i?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function SA(t,e){let n=Dt(t).resolveInner(e+1);return n.parent&&n.from==e}function IV(t,e,n,o){let r=Dt(t).resolveInner(e,-1),i=o.reduce((s,l)=>Math.max(s,l.length),0);for(let s=0;s<5;s++){let l=t.sliceDoc(r.from,Math.min(r.to,r.from+n.length+i)),a=l.indexOf(n);if(!a||a>-1&&o.indexOf(l.slice(0,a))>-1){let c=r.firstChild;for(;c&&c.from==r.from&&c.to-c.from>n.length+a;){if(t.sliceDoc(c.to-n.length,c.to)==n)return!1;c=c.firstChild}return!0}let u=r.to==e&&r.parent;if(!u)break;r=u}return!1}function EA(t,e,n){let o=t.charCategorizer(e);if(o(t.sliceDoc(e-1,e))!=pn.Word)return e;for(let r of n){let i=e-r.length;if(t.sliceDoc(i,e)==r&&o(t.sliceDoc(i-1,i))!=pn.Word)return i}return-1}function yg(t={}){return[eo,On.of(t),bV,DV,vV]}var PV=[{key:"Ctrl-Space",run:Nu},{key:"Escape",run:hV},{key:"ArrowDown",run:pg(!0)},{key:"ArrowUp",run:pg(!1)},{key:"PageDown",run:pg(!0,"page")},{key:"PageUp",run:pg(!1,"page")},{key:"Enter",run:mV}],DV=Zi.highest(br.computeN([On],t=>t.facet(On).defaultKeymap?[PV]:[]));var RV=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),o=fw(t.state,n.from);return o.line?LV(t):o.block?NV(t):!1};function dw(t,e){return({state:n,dispatch:o})=>{if(n.readOnly)return!1;let r=t(e,n);return r?(o(n.update(r)),!0):!1}}var LV=dw(FV,0);var AV=dw(BA,0);var NV=dw((t,e)=>BA(t,e,OV(e)),0);function fw(t,e){let n=t.languageDataAt("commentTokens",e);return n.length?n[0]:{}}var bf=50;function HV(t,{open:e,close:n},o,r){let i=t.sliceDoc(o-bf,o),s=t.sliceDoc(r,r+bf),l=/\s*$/.exec(i)[0].length,a=/^\s*/.exec(s)[0].length,u=i.length-l;if(i.slice(u-e.length,u)==e&&s.slice(a,a+n.length)==n)return{open:{pos:o-l,margin:l&&1},close:{pos:r+a,margin:a&&1}};let c,d;r-o<=2*bf?c=d=t.sliceDoc(o,r):(c=t.sliceDoc(o,o+bf),d=t.sliceDoc(r-bf,r));let f=/^\s*/.exec(c)[0].length,p=/\s*$/.exec(d)[0].length,g=d.length-p-n.length;return c.slice(f,f+e.length)==e&&d.slice(g,g+n.length)==n?{open:{pos:o+f+e.length,margin:/\s/.test(c.charAt(f+e.length))?1:0},close:{pos:r-p-n.length,margin:/\s/.test(d.charAt(g-1))?1:0}}:null}function OV(t){let e=[];for(let n of t.selection.ranges){let o=t.doc.lineAt(n.from),r=n.to<=o.to?o:t.doc.lineAt(n.to),i=e.length-1;i>=0&&e[i].to>o.from?e[i].to=r.to:e.push({from:o.from+/^\s*/.exec(o.text)[0].length,to:r.to})}return e}function BA(t,e,n=e.selection.ranges){let o=n.map(i=>fw(e,i.from).block);if(!o.every(i=>i))return null;let r=n.map((i,s)=>HV(e,o[s],i.from,i.to));if(t!=2&&!r.every(i=>i))return{changes:e.changes(n.map((i,s)=>r[s]?[]:[{from:i.from,insert:o[s].open+" "},{from:i.to,insert:" "+o[s].close}]))};if(t!=1&&r.some(i=>i)){let i=[];for(let s=0,l;s<r.length;s++)if(l=r[s]){let a=o[s],{open:u,close:c}=l;i.push({from:u.pos-a.open.length,to:u.pos+u.margin},{from:c.pos-c.margin,to:c.pos+a.close.length})}return{changes:i}}return null}function FV(t,e,n=e.selection.ranges){let o=[],r=-1;for(let{from:i,to:s}of n){let l=o.length,a=1e9,u=fw(e,i).line;if(u){for(let c=i;c<=s;){let d=e.doc.lineAt(c);if(d.from>r&&(i==s||s>d.from)){r=d.from;let f=/^\s*/.exec(d.text)[0].length,p=f==d.length,g=d.text.slice(f,f+u.length)==u?f:-1;f<d.text.length&&f<a&&(a=f),o.push({line:d,comment:g,token:u,indent:f,empty:p,single:!1})}c=d.to+1}if(a<1e9)for(let c=l;c<o.length;c++)o[c].indent<o[c].line.text.length&&(o[c].indent=a);o.length==l+1&&(o[l].single=!0)}}if(t!=2&&o.some(i=>i.comment<0&&(!i.empty||i.single))){let i=[];for(let{line:l,token:a,indent:u,empty:c,single:d}of o)(d||!c)&&i.push({from:l.from+u,insert:a+" "});let s=e.changes(i);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&o.some(i=>i.comment>=0)){let i=[];for(let{line:s,comment:l,token:a}of o)if(l>=0){let u=s.from+l,c=u+a.length;s.text[c-s.from]==" "&&c++,i.push({from:u,to:c})}return{changes:i}}return null}var lw=Ln.define(),BV=Ln.define(),VV=le.define(),VA=le.define({combine(t){return es(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,n)=>(o,r)=>e(o,r)||n(o,r)})}});function zV(t){let e=0;return t.iterChangedRanges((n,o)=>e=o),e}var zA=Yt.define({create(){return To.empty},update(t,e){let n=e.state.facet(VA),o=e.annotation(lw);if(o){let a=e.docChanged?z.single(zV(e.changes)):void 0,u=en.fromTransaction(e,a),c=o.side,d=c==0?t.undone:t.done;return u?d=vg(d,d.length,n.minDepth,u):d=WA(d,e.startState.selection),new To(c==0?o.rest:d,c==0?d:o.rest)}let r=e.annotation(BV);if((r=="full"||r=="before")&&(t=t.isolate()),e.annotation(Xe.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let i=en.fromTransaction(e),s=e.annotation(Xe.time),l=e.annotation(Xe.userEvent);return i?t=t.addChanges(i,s,l,n,e):e.selection&&(t=t.addSelection(e.startState.selection,s,l,n.newGroupDelay)),(r=="full"||r=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new To(t.done.map(en.fromJSON),t.undone.map(en.fromJSON))}});function pw(t={}){return[zA,VA.of(t),ae.domEventHandlers({beforeinput(e,n){let o=e.inputType=="historyUndo"?$A:e.inputType=="historyRedo"?aw:null;return o?(e.preventDefault(),o(n)):!1}})]}function xg(t,e){return function({state:n,dispatch:o}){if(!e&&n.readOnly)return!1;let r=n.field(zA,!1);if(!r)return!1;let i=r.pop(t,n,e);return i?(o(i),!0):!1}}var $A=xg(0,!1),aw=xg(1,!1),$V=xg(0,!0),_V=xg(1,!0);var en=class{constructor(e,n,o,r,i){this.changes=e,this.effects=n,this.mapped=o,this.startSelection=r,this.selectionsAfter=i}setSelAfter(e){return new en(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,n,o;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(o=this.startSelection)===null||o===void 0?void 0:o.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new en(e.changes&&Je.fromJSON(e.changes),[],e.mapped&&Xn.fromJSON(e.mapped),e.startSelection&&z.fromJSON(e.startSelection),e.selectionsAfter.map(z.fromJSON))}static fromTransaction(e,n){let o=Eo;for(let r of e.startState.facet(VV)){let i=r(e);i.length&&(o=o.concat(i))}return!o.length&&e.changes.empty?null:new en(e.changes.invert(e.startState.doc),o,void 0,n||e.startState.selection,Eo)}static selection(e){return new en(void 0,Eo,void 0,void 0,e)}};function vg(t,e,n,o){let r=e+1>n+20?e-n-1:0,i=t.slice(r,e);return i.push(o),i}function WV(t,e){let n=[],o=!1;return t.iterChangedRanges((r,i)=>n.push(r,i)),e.iterChangedRanges((r,i,s,l)=>{for(let a=0;a<n.length;){let u=n[a++],c=n[a++];l>=u&&s<=c&&(o=!0)}}),o}function KV(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,o)=>n.empty!=e.ranges[o].empty).length===0}function _A(t,e){return t.length?e.length?t.concat(e):t:e}var Eo=[],UV=200;function WA(t,e){if(t.length){let n=t[t.length-1],o=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-UV));return o.length&&o[o.length-1].eq(e)?t:(o.push(e),vg(t,t.length-1,1e9,n.setSelAfter(o)))}else return[en.selection([e])]}function GV(t){let e=t[t.length-1],n=t.slice();return n[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),n}function sw(t,e){if(!t.length)return t;let n=t.length,o=Eo;for(;n;){let r=jV(t[n-1],e,o);if(r.changes&&!r.changes.empty||r.effects.length){let i=t.slice(0,n);return i[n-1]=r,i}else e=r.mapped,n--,o=r.selectionsAfter}return o.length?[en.selection(o)]:Eo}function jV(t,e,n){let o=_A(t.selectionsAfter.length?t.selectionsAfter.map(l=>l.map(e)):Eo,n);if(!t.changes)return en.selection(o);let r=t.changes.map(e),i=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(i):i;return new en(r,De.mapEffects(t.effects,e),s,t.startSelection.map(i),o)}var qV=/^(input\.type|delete)($|\.)/,To=class{constructor(e,n,o=0,r=void 0){this.done=e,this.undone=n,this.prevTime=o,this.prevUserEvent=r}isolate(){return this.prevTime?new To(this.done,this.undone):this}addChanges(e,n,o,r,i){let s=this.done,l=s[s.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!o||qV.test(o))&&(!l.selectionsAfter.length&&n-this.prevTime<r.newGroupDelay&&r.joinToEvent(i,WV(l.changes,e.changes))||o=="input.type.compose")?s=vg(s,s.length-1,r.minDepth,new en(e.changes.compose(l.changes),_A(e.effects,l.effects),l.mapped,l.startSelection,Eo)):s=vg(s,s.length,r.minDepth,e),new To(s,Eo,n,o)}addSelection(e,n,o,r){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:Eo;return i.length>0&&n-this.prevTime<r&&o==this.prevUserEvent&&o&&/^select($|\.)/.test(o)&&KV(i[i.length-1],e)?this:new To(WA(this.done,e),this.undone,n,o)}addMapping(e){return new To(sw(this.done,e),sw(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,n,o){let r=e==0?this.done:this.undone;if(r.length==0)return null;let i=r[r.length-1];if(o&&i.selectionsAfter.length)return n.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:lw.of({side:e,rest:GV(r)}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let s=r.length==1?Eo:r.slice(0,r.length-1);return i.mapped&&(s=sw(s,i.mapped)),n.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:lw.of({side:e,rest:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};To.empty=new To(Eo,Eo);var mw=[{key:"Mod-z",run:$A,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:aw,preventDefault:!0},{linux:"Ctrl-Shift-z",run:aw,preventDefault:!0},{key:"Mod-u",run:$V,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:_V,preventDefault:!0}];function Hu(t,e){return z.create(t.ranges.map(e),t.mainIndex)}function Tr(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function jo({state:t,dispatch:e},n){let o=Hu(t.selection,n);return o.eq(t.selection)?!1:(e(Tr(t,o)),!0)}function Cg(t,e){return z.cursor(e?t.to:t.from)}function KA(t,e){return jo(t,n=>n.empty?t.moveByChar(n,e):Cg(n,e))}function tn(t){return t.textDirectionAt(t.state.selection.main.head)==Ze.LTR}var UA=t=>KA(t,!tn(t)),GA=t=>KA(t,tn(t));function jA(t,e){return jo(t,n=>n.empty?t.moveByGroup(n,e):Cg(n,e))}var QV=t=>jA(t,!tn(t)),JV=t=>jA(t,tn(t));function XV(t,e,n){if(e.type.prop(n))return!0;let o=e.to-e.from;return o&&(o>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function wg(t,e,n){let o=Dt(t).resolveInner(e.head),r=n?me.closedBy:me.openedBy;for(let a=e.head;;){let u=n?o.childAfter(a):o.childBefore(a);if(!u)break;XV(t,u,r)?o=u:a=n?u.to:u.from}let i=o.type.prop(r),s,l;return i&&(s=n?Rl(t,o.from,1):Rl(t,o.to,-1))&&s.matched?l=n?s.end.to:s.end.from:l=n?o.to:o.from,z.cursor(l,n?-1:1)}var YV=t=>jo(t,e=>wg(t.state,e,!tn(t))),ZV=t=>jo(t,e=>wg(t.state,e,tn(t)));function qA(t,e){return jo(t,n=>{if(!n.empty)return Cg(n,e);let o=t.moveVertically(n,e);return o.head!=n.head?o:t.moveToLineBoundary(n,e)})}var QA=t=>qA(t,!1),JA=t=>qA(t,!0);function XA(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,n=0,o=0,r;if(e){for(let i of t.state.facet(ae.scrollMargins)){let s=i(t);s!=null&&s.top&&(n=Math.max(s==null?void 0:s.top,n)),s!=null&&s.bottom&&(o=Math.max(s==null?void 0:s.bottom,o))}r=t.scrollDOM.clientHeight-n-o}else r=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:o,selfScroll:e,height:Math.max(t.defaultLineHeight,r-5)}}function YA(t,e){let n=XA(t),{state:o}=t,r=Hu(o.selection,s=>s.empty?t.moveVertically(s,e,n.height):Cg(s,e));if(r.eq(o.selection))return!1;let i;if(n.selfScroll){let s=t.coordsAtPos(o.selection.main.head),l=t.scrollDOM.getBoundingClientRect(),a=l.top+n.marginTop,u=l.bottom-n.marginBottom;s&&s.top>a&&s.bottom<u&&(i=ae.scrollIntoView(r.main.head,{y:"start",yMargin:s.top-a}))}return t.dispatch(Tr(o,r),{effects:i}),!0}var RA=t=>YA(t,!1),uw=t=>YA(t,!0);function ds(t,e,n){let o=t.lineBlockAt(e.head),r=t.moveToLineBoundary(e,n);if(r.head==e.head&&r.head!=(n?o.to:o.from)&&(r=t.moveToLineBoundary(e,n,!1)),!n&&r.head==o.from&&o.length){let i=/^\s*/.exec(t.state.sliceDoc(o.from,Math.min(o.from+100,o.to)))[0].length;i&&e.head!=o.from+i&&(r=z.cursor(o.from+i))}return r}var ez=t=>jo(t,e=>ds(t,e,!0)),tz=t=>jo(t,e=>ds(t,e,!1)),nz=t=>jo(t,e=>ds(t,e,!tn(t))),oz=t=>jo(t,e=>ds(t,e,tn(t))),rz=t=>jo(t,e=>z.cursor(t.lineBlockAt(e.head).from,1)),iz=t=>jo(t,e=>z.cursor(t.lineBlockAt(e.head).to,-1));function sz(t,e,n){let o=!1,r=Hu(t.selection,i=>{let s=Rl(t,i.head,-1)||Rl(t,i.head,1)||i.head>0&&Rl(t,i.head-1,1)||i.head<t.doc.length&&Rl(t,i.head+1,-1);if(!s||!s.end)return i;o=!0;let l=s.start.from==i.head?s.end.to:s.end.from;return n?z.range(i.anchor,l):z.cursor(l)});return o?(e(Tr(t,r)),!0):!1}var lz=({state:t,dispatch:e})=>sz(t,e,!1);function ko(t,e){let n=Hu(t.state.selection,o=>{let r=e(o);return z.range(o.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return n.eq(t.state.selection)?!1:(t.dispatch(Tr(t.state,n)),!0)}function ZA(t,e){return ko(t,n=>t.moveByChar(n,e))}var eN=t=>ZA(t,!tn(t)),tN=t=>ZA(t,tn(t));function nN(t,e){return ko(t,n=>t.moveByGroup(n,e))}var az=t=>nN(t,!tn(t)),uz=t=>nN(t,tn(t));var cz=t=>ko(t,e=>wg(t.state,e,!tn(t))),dz=t=>ko(t,e=>wg(t.state,e,tn(t)));function oN(t,e){return ko(t,n=>t.moveVertically(n,e))}var rN=t=>oN(t,!1),iN=t=>oN(t,!0);function sN(t,e){return ko(t,n=>t.moveVertically(n,e,XA(t).height))}var LA=t=>sN(t,!1),AA=t=>sN(t,!0),fz=t=>ko(t,e=>ds(t,e,!0)),pz=t=>ko(t,e=>ds(t,e,!1)),mz=t=>ko(t,e=>ds(t,e,!tn(t))),hz=t=>ko(t,e=>ds(t,e,tn(t))),gz=t=>ko(t,e=>z.cursor(t.lineBlockAt(e.head).from)),yz=t=>ko(t,e=>z.cursor(t.lineBlockAt(e.head).to)),NA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:0})),!0),HA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:t.doc.length})),!0),OA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:t.selection.main.anchor,head:0})),!0),FA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),bz=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),vz=({state:t,dispatch:e})=>{let n=Eg(t).map(({from:o,to:r})=>z.range(o,Math.min(r+1,t.doc.length)));return e(t.update({selection:z.create(n),userEvent:"select"})),!0},xz=({state:t,dispatch:e})=>{let n=Hu(t.selection,o=>{var r;let i=Dt(t).resolveInner(o.head,1);for(;!(i.from<o.from&&i.to>=o.to||i.to>o.to&&i.from<=o.from||!(!((r=i.parent)===null||r===void 0)&&r.parent));)i=i.parent;return z.range(i.to,i.from)});return e(Tr(t,n)),!0},Cz=({state:t,dispatch:e})=>{let n=t.selection,o=null;return n.ranges.length>1?o=z.create([n.main]):n.main.empty||(o=z.create([z.cursor(n.main.head)])),o?(e(Tr(t,o)),!0):!1};function Sg(t,e){if(t.state.readOnly)return!1;let n="delete.selection",{state:o}=t,r=o.changeByRange(i=>{let{from:s,to:l}=i;if(s==l){let a=e(s);a<s?(n="delete.backward",a=bg(t,a,!1)):a>s&&(n="delete.forward",a=bg(t,a,!0)),s=Math.min(s,a),l=Math.max(l,a)}else s=bg(t,s,!1),l=bg(t,l,!0);return s==l?{range:i}:{changes:{from:s,to:l},range:z.cursor(s)}});return r.changes.empty?!1:(t.dispatch(o.update(r,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?ae.announce.of(o.phrase("Selection deleted")):void 0})),!0)}function bg(t,e,n){if(t instanceof ae)for(let o of t.state.facet(ae.atomicRanges).map(r=>r(t)))o.between(e,e,(r,i)=>{r<e&&i>e&&(e=n?i:r)});return e}var lN=(t,e)=>Sg(t,n=>{let{state:o}=t,r=o.doc.lineAt(n),i,s;if(!e&&n>r.from&&n<r.from+200&&!/[^ \t]/.test(i=r.text.slice(0,n-r.from))){if(i[i.length-1]==" ")return n-1;let l=xl(i,o.tabSize),a=l%hf(o)||hf(o);for(let u=0;u<a&&i[i.length-1-u]==" ";u++)n--;s=n}else s=Xt(r.text,n-r.from,e,e)+r.from,s==n&&r.number!=(e?o.doc.lines:1)&&(s+=e?1:-1);return s}),cw=t=>lN(t,!1),aN=t=>lN(t,!0),uN=(t,e)=>Sg(t,n=>{let o=n,{state:r}=t,i=r.doc.lineAt(o),s=r.charCategorizer(o);for(let l=null;;){if(o==(e?i.to:i.from)){o==n&&i.number!=(e?r.doc.lines:1)&&(o+=e?1:-1);break}let a=Xt(i.text,o-i.from,e)+i.from,u=i.text.slice(Math.min(o,a)-i.from,Math.max(o,a)-i.from),c=s(u);if(l!=null&&c!=l)break;(u!=" "||o!=n)&&(l=c),o=a}return o}),cN=t=>uN(t,!1),wz=t=>uN(t,!0),dN=t=>Sg(t,e=>{let n=t.lineBlockAt(e).to;return e<n?n:Math.min(t.state.doc.length,e+1)}),Sz=t=>Sg(t,e=>{let n=t.lineBlockAt(e).from;return e>n?n:Math.max(0,e-1)});var Ez=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(o=>({changes:{from:o.from,to:o.to,insert:Ce.of(["",""])},range:z.cursor(o.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},Tz=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(o=>{if(!o.empty||o.from==0||o.from==t.doc.length)return{range:o};let r=o.from,i=t.doc.lineAt(r),s=r==i.from?r-1:Xt(i.text,r-i.from,!1)+i.from,l=r==i.to?r+1:Xt(i.text,r-i.from,!0)+i.from;return{changes:{from:s,to:l,insert:t.doc.slice(r,l).append(t.doc.slice(s,r))},range:z.cursor(l)}});return n.changes.empty?!1:(e(t.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Eg(t){let e=[],n=-1;for(let o of t.selection.ranges){let r=t.doc.lineAt(o.from),i=t.doc.lineAt(o.to);if(!o.empty&&o.to==i.from&&(i=t.doc.lineAt(o.to-1)),n>=r.number){let s=e[e.length-1];s.to=i.to,s.ranges.push(o)}else e.push({from:r.from,to:i.to,ranges:[o]});n=i.number+1}return e}function fN(t,e,n){if(t.readOnly)return!1;let o=[],r=[];for(let i of Eg(t)){if(n?i.to==t.doc.length:i.from==0)continue;let s=t.doc.lineAt(n?i.to+1:i.from-1),l=s.length+1;if(n){o.push({from:i.to,to:s.to},{from:i.from,insert:s.text+t.lineBreak});for(let a of i.ranges)r.push(z.range(Math.min(t.doc.length,a.anchor+l),Math.min(t.doc.length,a.head+l)))}else{o.push({from:s.from,to:i.from},{from:i.to,insert:t.lineBreak+s.text});for(let a of i.ranges)r.push(z.range(a.anchor-l,a.head-l))}}return o.length?(e(t.update({changes:o,scrollIntoView:!0,selection:z.create(r,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}var kz=({state:t,dispatch:e})=>fN(t,e,!1),Mz=({state:t,dispatch:e})=>fN(t,e,!0);function pN(t,e,n){if(t.readOnly)return!1;let o=[];for(let r of Eg(t))n?o.push({from:r.from,insert:t.doc.slice(r.from,r.to)+t.lineBreak}):o.push({from:r.to,insert:t.lineBreak+t.doc.slice(r.from,r.to)});return e(t.update({changes:o,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var Iz=({state:t,dispatch:e})=>pN(t,e,!1),Pz=({state:t,dispatch:e})=>pN(t,e,!0),Dz=t=>{if(t.state.readOnly)return!1;let{state:e}=t,n=e.changes(Eg(e).map(({from:r,to:i})=>(r>0?r--:i<e.doc.length&&i++,{from:r,to:i}))),o=Hu(e.selection,r=>t.moveVertically(r,!0)).map(n);return t.dispatch({changes:n,selection:o,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Rz(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=Dt(t).resolveInner(e),o=n.childBefore(e),r=n.childAfter(e),i;return o&&r&&o.to<=e&&r.from>=e&&(i=o.type.prop(me.closedBy))&&i.indexOf(r.name)>-1&&t.doc.lineAt(o.to).from==t.doc.lineAt(r.from).from?{from:o.to,to:r.from}:null}var Lz=mN(!1),Az=mN(!0);function mN(t){return({state:e,dispatch:n})=>{if(e.readOnly)return!1;let o=e.changeByRange(r=>{let{from:i,to:s}=r,l=e.doc.lineAt(i),a=!t&&i==s&&Rz(e,i);t&&(i=s=(s<=l.to?l:e.doc.lineAt(s)).to);let u=new Pl(e,{simulateBreak:i,simulateDoubleBreak:!!a}),c=QC(u,i);for(c==null&&(c=/^\s*/.exec(e.doc.lineAt(i).text)[0].length);s<l.to&&/\s/.test(l.text[s-l.from]);)s++;a?{from:i,to:s}=a:i>l.from&&i<l.from+100&&!/\S/.test(l.text.slice(0,i))&&(i=l.from);let d=["",gf(e,c)];return a&&d.push(gf(e,u.lineIndent(l.from,-1))),{changes:{from:i,to:s,insert:Ce.of(d)},range:z.cursor(i+1+d[1].length)}});return n(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function hw(t,e){let n=-1;return t.changeByRange(o=>{let r=[];for(let s=o.from;s<=o.to;){let l=t.doc.lineAt(s);l.number>n&&(o.empty||o.to>l.from)&&(e(l,r,o),n=l.number),s=l.to+1}let i=t.changes(r);return{changes:r,range:z.range(i.mapPos(o.anchor,1),i.mapPos(o.head,1))}})}var Nz=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=Object.create(null),o=new Pl(t,{overrideIndentation:i=>{let s=n[i];return s==null?-1:s}}),r=hw(t,(i,s,l)=>{let a=QC(o,i.from);if(a==null)return;/\S/.test(i.text)||(a=0);let u=/^\s*/.exec(i.text)[0],c=gf(t,a);(u!=c||l.from<i.from+u.length)&&(n[i.from]=a,s.push({from:i.from,to:i.from+u.length,insert:c}))});return r.changes.empty||e(t.update(r,{userEvent:"indent"})),!0},Hz=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(hw(t,(n,o)=>{o.push({from:n.from,insert:t.facet(mf)})}),{userEvent:"input.indent"})),!0),Oz=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(hw(t,(n,o)=>{let r=/^\s*/.exec(n.text)[0];if(!r)return;let i=xl(r,t.tabSize),s=0,l=gf(t,Math.max(0,i-hf(t)));for(;s<r.length&&s<l.length&&r.charCodeAt(s)==l.charCodeAt(s);)s++;o.push({from:n.from+s,to:n.from+r.length,insert:l.slice(s)})}),{userEvent:"delete.dedent"})),!0);var Fz=[{key:"Ctrl-b",run:UA,shift:eN,preventDefault:!0},{key:"Ctrl-f",run:GA,shift:tN},{key:"Ctrl-p",run:QA,shift:rN},{key:"Ctrl-n",run:JA,shift:iN},{key:"Ctrl-a",run:rz,shift:gz},{key:"Ctrl-e",run:iz,shift:yz},{key:"Ctrl-d",run:aN},{key:"Ctrl-h",run:cw},{key:"Ctrl-k",run:dN},{key:"Ctrl-Alt-h",run:cN},{key:"Ctrl-o",run:Ez},{key:"Ctrl-t",run:Tz},{key:"Ctrl-v",run:uw}],Bz=[{key:"ArrowLeft",run:UA,shift:eN,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:QV,shift:az,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:nz,shift:mz,preventDefault:!0},{key:"ArrowRight",run:GA,shift:tN,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:JV,shift:uz,preventDefault:!0},{mac:"Cmd-ArrowRight",run:oz,shift:hz,preventDefault:!0},{key:"ArrowUp",run:QA,shift:rN,preventDefault:!0},{mac:"Cmd-ArrowUp",run:NA,shift:OA},{mac:"Ctrl-ArrowUp",run:RA,shift:LA},{key:"ArrowDown",run:JA,shift:iN,preventDefault:!0},{mac:"Cmd-ArrowDown",run:HA,shift:FA},{mac:"Ctrl-ArrowDown",run:uw,shift:AA},{key:"PageUp",run:RA,shift:LA},{key:"PageDown",run:uw,shift:AA},{key:"Home",run:tz,shift:pz,preventDefault:!0},{key:"Mod-Home",run:NA,shift:OA},{key:"End",run:ez,shift:fz,preventDefault:!0},{key:"Mod-End",run:HA,shift:FA},{key:"Enter",run:Lz},{key:"Mod-a",run:bz},{key:"Backspace",run:cw,shift:cw},{key:"Delete",run:aN},{key:"Mod-Backspace",mac:"Alt-Backspace",run:cN},{key:"Mod-Delete",mac:"Alt-Delete",run:wz},{mac:"Mod-Backspace",run:Sz},{mac:"Mod-Delete",run:dN}].concat(Fz.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),Ou=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:YV,shift:cz},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:ZV,shift:dz},{key:"Alt-ArrowUp",run:kz},{key:"Shift-Alt-ArrowUp",run:Iz},{key:"Alt-ArrowDown",run:Mz},{key:"Shift-Alt-ArrowDown",run:Pz},{key:"Escape",run:Cz},{key:"Mod-Enter",run:Az},{key:"Alt-l",mac:"Ctrl-l",run:vz},{key:"Mod-i",run:xz,preventDefault:!0},{key:"Mod-[",run:Oz},{key:"Mod-]",run:Hz},{key:"Mod-Alt-\\",run:Nz},{key:"Shift-Mod-k",run:Dz},{key:"Shift-Mod-\\",run:lz},{key:"Mod-/",run:RV},{key:"Alt-A",run:AV}].concat(Bz);var Vz=[...Ou,...mw],gw=(()=>[PC(),pw(),IC(),rw(),Dl(JC,{fallback:!0}),br.of(Vz)])();var qo=(t,e)=>e.doc.sliceString(t.from,t.to);var hN=t=>{let e=t.prevSibling;return console.log(`prevNode ${e==null?void 0:e.name}`),e},yw=t=>{let e=t.parent;for(;e&&e.name==="\u26A0";)e=e.parent;return e};var zz=require("@vuu-ui/vuu-utils");var bw=[{label:"and",apply:"and ",boost:5},{label:"or",apply:"or ",boost:3}],gN=[{label:"=",boost:10,type:"operator"},{label:"!=",boost:9,type:"operator"}],yN=[...gN,{label:"in",boost:6,type:"operator"},{label:"starts",boost:5,type:"operator"},{label:"ends",boost:4,type:"operator"}],bN=[...gN,{label:">",boost:8,type:"operator"},{label:"<",boost:7,type:"operator"}];var Vw=require("@vuu-ui/vuu-utils"),Mr=require("react");var Bu=class{constructor(e,n,o,r,i,s,l,a,u,c=0,d){this.p=e,this.stack=n,this.state=o,this.reducePos=r,this.pos=i,this.score=s,this.buffer=l,this.bufferBase=a,this.curContext=u,this.lookAhead=c,this.parent=d}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,o=0){let r=e.parser.context;return new Bu(e,[],n,o,o,0,[],0,r?new Tg(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let o=e>>19,r=e&65535,{parser:i}=this.p,s=i.dynamicPrecedence(r);if(s&&(this.score+=s),o==0){this.pushState(i.getGoto(this.state,r,!0),this.reducePos),r<i.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,4,!0),this.reduceContext(r,this.reducePos);return}let l=this.stack.length-(o-1)*3-(e&262144?6:0),a=l?this.stack[l-2]:this.p.ranges[0].from,u=this.reducePos-a;u>=2e3&&!(!((n=this.p.parser.nodeSet.types[r])===null||n===void 0)&&n.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=u));let c=l?this.stack[l-1]:0,d=this.bufferBase+this.buffer.length-c;if(r<i.minRepeatTerm||e&131072){let f=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,a,f,d+4,!0)}if(e&262144)this.state=this.stack[l];else{let f=this.stack[l-3];this.state=i.getGoto(f,r,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(r,a)}storeNode(e,n,o,r=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this,l=this.buffer.length;if(l==0&&s.parent&&(l=s.bufferBase-s.parent.bufferBase,s=s.parent),l>0&&s.buffer[l-4]==0&&s.buffer[l-1]>-1){if(n==o)return;if(s.buffer[l-2]>=n){s.buffer[l-2]=o;return}}}if(!i||this.pos==o)this.buffer.push(e,n,o,r);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0)for(;s>0&&this.buffer[s-2]>o;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,r>4&&(r-=4);this.buffer[s]=e,this.buffer[s+1]=n,this.buffer[s+2]=o,this.buffer[s+3]=r}}shift(e,n,o){let r=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=o,this.shiftContext(n,r),n<=this.p.parser.maxNode&&this.buffer.push(n,r,o,4);else{let i=e,{parser:s}=this.p;(o>this.pos||n<=s.maxNode)&&(this.pos=o,s.stateFlag(i,1)||(this.reducePos=o)),this.pushState(i,r),this.shiftContext(n,r),n<=s.maxNode&&this.buffer.push(n,r,o,4)}}apply(e,n,o){e&65536?this.reduce(e):this.shift(e,n,o)}useNode(e,n){let o=this.p.reused.length-1;(o<0||this.p.reused[o]!=e)&&(this.p.reused.push(e),o++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(n,r),this.buffer.push(o,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(;n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let o=e.buffer.slice(n),r=e.bufferBase+n;for(;e&&r==e.bufferBase;)e=e.parent;return new Bu(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,o,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let o=e<=this.p.parser.maxNode;o&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,o?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new xw(this);;){let o=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(o==0)return!1;if(!(o&65536))return!0;n.reduce(o)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>4<<1||this.stack.length>=120){let r=[];for(let i=0,s;i<n.length;i+=2)(s=n[i+1])!=this.state&&this.p.parser.hasAction(s,e)&&r.push(n[i],s);if(this.stack.length<120)for(let i=0;r.length<4<<1&&i<n.length;i+=2){let s=n[i+1];r.some((l,a)=>a&1&&l==s)||r.push(n[i],s)}n=r}let o=[];for(let r=0;r<n.length&&o.length<4;r+=2){let i=n[r+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(n[r],this.pos),s.score-=200,o.push(s)}return o}forceReduce(){let e=this.p.parser.stateSlot(this.state,5);if(!(e&65536))return!1;let{parser:n}=this.p;if(!n.validAction(this.state,e)){let o=e>>19,r=e&65535,i=this.stack.length-o*3;if(i<0||n.getGoto(this.stack[i],r,!1)<0)return!1;this.storeNode(0,this.reducePos,this.reducePos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let n=0;n<this.stack.length;n+=3)if(this.stack[n]!=e.stack[n])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(n)))}reduceContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(n)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.reducePos,this.reducePos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.reducePos,this.reducePos,-4)}updateContext(e){if(e!=this.curContext.context){let n=new Tg(this.curContext.tracker,e);n.hash!=this.curContext.hash&&this.emitContext(),this.curContext=n}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},Tg=class{constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}},vN;(function(t){t[t.Insert=200]="Insert",t[t.Delete=190]="Delete",t[t.Reduce=100]="Reduce",t[t.MaxNext=4]="MaxNext",t[t.MaxInsertStackDepth=300]="MaxInsertStackDepth",t[t.DampenInsertStackDepth=120]="DampenInsertStackDepth",t[t.MinBigReduction=2e3]="MinBigReduction"})(vN||(vN={}));var xw=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,o=e>>19;o==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(o-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=r}},Vu=class{constructor(e,n,o){this.stack=e,this.pos=n,this.index=o,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new Vu(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Vu(this.stack,this.pos,this.index)}};function vf(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let o=0,r=0;o<t.length;){let i=0;for(;;){let s=t.charCodeAt(o++),l=!1;if(s==126){i=65535;break}s>=92&&s--,s>=34&&s--;let a=s-32;if(a>=46&&(a-=46,l=!0),i+=a,l)break;i*=46}n?n[r++]=i:n=new e(i)}return n}var Fu=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},xN=new Fu,Cw=class{constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=xN,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let o=this.range,r=this.rangeIndex,i=this.pos+e;for(;i<o.from;){if(!r)return null;let s=this.ranges[--r];i-=o.from-s.to,o=s}for(;n<0?i>o.to:i>=o.to;){if(r==this.ranges.length-1)return null;let s=this.ranges[++r];i+=s.from-o.to,o=s}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let n of this.ranges)if(n.to>e)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,o,r;if(n>=0&&n<this.chunk.length)o=this.pos+e,r=this.chunk.charCodeAt(n);else{let i=this.resolveOffset(e,1);if(i==null)return-1;if(o=i,o>=this.chunk2Pos&&o<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(o-this.chunk2Pos);else{let s=this.rangeIndex,l=this.range;for(;l.to<=o;)l=this.ranges[++s];this.chunk2=this.input.chunk(this.chunk2Pos=o),o+this.chunk2.length>l.to&&(this.chunk2=this.chunk2.slice(0,l.to-o)),r=this.chunk2.charCodeAt(0)}}return o>=this.token.lookAhead&&(this.token.lookAhead=o+1),r}acceptToken(e,n=0){let o=n?this.resolveOffset(n,-1):this.pos;if(o==null||o<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=o}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:n}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=n,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),n=this.pos+e.length;this.chunk=n>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=xN,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,n){if(e>=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let o="";for(let r of this.ranges){if(r.from>=n)break;r.to>e&&(o+=this.input.read(Math.max(r.from,e),Math.min(r.to,n)))}return o}},fs=class{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:o}=n.p;MN(this.data,e,n,this.id,o.data,o.tokenPrecTable)}};fs.prototype.contextual=fs.prototype.fallback=fs.prototype.extend=!1;var ww=class{constructor(e,n,o){this.precTable=n,this.elseToken=o,this.data=typeof e=="string"?vf(e):e}token(e,n){let o=e.pos,r=0;for(;MN(this.data,e,n,0,this.data,this.precTable),!(e.token.value>-1);){if(this.elseToken==null)return;if(e.next<0)break;e.advance(),e.reset(e.pos,e.token),r++}r&&(e.reset(o,e.token),e.acceptToken(this.elseToken,r))}};ww.prototype.contextual=fs.prototype.fallback=fs.prototype.extend=!1;function MN(t,e,n,o,r,i){let s=0,l=1<<o,{dialect:a}=n.p.parser;e:for(;l&t[s];){let u=t[s+1];for(let p=s+3;p<u;p+=2)if((t[p+1]&l)>0){let g=t[p];if(a.allows(g)&&(e.token.value==-1||e.token.value==g||_z(g,e.token.value,r,i))){e.acceptToken(g);break}}let c=e.next,d=0,f=t[s+2];if(e.next<0&&f>d&&t[u+f*3-3]==65535&&t[u+f*3-3]==65535){s=t[u+f*3-1];continue e}for(;d<f;){let p=d+f>>1,g=u+p+(p<<1),y=t[g],m=t[g+1]||65536;if(c<y)f=p;else if(c>=m)d=p+1;else{s=t[g+2],e.advance();continue e}}break}}function CN(t,e,n){for(let o=e,r;(r=t[o])!=65535;o++)if(r==n)return o-e;return-1}function _z(t,e,n,o){let r=CN(n,o,e);return r<0||CN(n,o,t)<r}var Qo=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),vw=null,wN;(function(t){t[t.Margin=25]="Margin"})(wN||(wN={}));function SN(t,e,n){let o=t.cursor(bt.IncludeAnonymous);for(o.moveTo(e);;)if(!(n<0?o.childBefore(e):o.childAfter(e)))for(;;){if((n<0?o.to<e:o.from>e)&&!o.type.isError)return n<0?Math.max(0,Math.min(o.to-1,e-25)):Math.min(t.length,Math.max(o.from+1,e+25));if(n<0?o.prevSibling():o.nextSibling())break;if(!o.parent())return n<0?0:t.length}}var Sw=class{constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?SN(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?SN(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let n=this.trees.length-1;if(n<0)return this.nextFragment(),null;let o=this.trees[n],r=this.index[n];if(r==o.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=o.children[r],s=this.start[n]+o.positions[r];if(s>e)return this.nextStart=s,null;if(i instanceof Ge){if(s==e){if(s<this.safeFrom)return null;let l=s+i.length;if(l<=this.safeTo){let a=i.prop(me.lookAhead);if(!a||l+a<this.fragment.to)return i}}this.index[n]++,s+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(s),this.index.push(0))}else this.index[n]++,this.nextStart=s+i.length}}},Ew=class{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(o=>new Fu)}getActions(e){let n=0,o=null,{parser:r}=e.p,{tokenizers:i}=r,s=r.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let u=0;u<i.length;u++){if(!(1<<u&s))continue;let c=i[u],d=this.tokens[u];if(!(o&&!c.fallback)&&((c.contextual||d.start!=e.pos||d.mask!=s||d.context!=l)&&(this.updateCachedToken(d,c,e),d.mask=s,d.context=l),d.lookAhead>d.end+25&&(a=Math.max(d.lookAhead,a)),d.value!=0)){let f=n;if(d.extended>-1&&(n=this.addActions(e,d.extended,d.end,n)),n=this.addActions(e,d.value,d.end,n),!c.extend&&(o=d,n>f))break}}for(;this.actions.length>n;)this.actions.pop();return a&&e.setLookAhead(a),!o&&e.pos==this.stream.end&&(o=new Fu,o.value=e.p.parser.eofTerm,o.start=o.end=e.pos,n=this.addActions(e,o.value,o.end,n)),this.mainToken=o,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new Fu,{pos:o,p:r}=e;return n.start=o,n.end=Math.min(o+1,r.stream.end),n.value=o==r.stream.end?r.parser.eofTerm:0,n}updateCachedToken(e,n,o){let r=this.stream.clipPos(o.pos);if(n.token(this.stream.reset(r,e),o),e.value>-1){let{parser:i}=o.p;for(let s=0;s<i.specialized.length;s++)if(i.specialized[s]==e.value){let l=i.specializers[s](this.stream.read(e.start,e.end),o);if(l>=0&&o.p.parser.dialect.allows(l>>1)){l&1?e.extended=l>>1:e.value=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,n,o,r){for(let i=0;i<r;i+=3)if(this.actions[i]==e)return r;return this.actions[r++]=e,this.actions[r++]=n,this.actions[r++]=o,r}addActions(e,n,o,r){let{state:i}=e,{parser:s}=e.p,{data:l}=s;for(let a=0;a<2;a++)for(let u=s.stateSlot(i,a?2:1);;u+=3){if(l[u]==65535)if(l[u+1]==1)u=si(l,u+2);else{r==0&&l[u+1]==2&&(r=this.putAction(si(l,u+2),n,o,r));break}l[u]==n&&(r=this.putAction(si(l,u+1),n,o,r))}return r}},EN;(function(t){t[t.Distance=5]="Distance",t[t.MaxRemainingPerStep=3]="MaxRemainingPerStep",t[t.MinBufferLengthPrune=500]="MinBufferLengthPrune",t[t.ForceReduceLimit=10]="ForceReduceLimit",t[t.CutDepth=15e3]="CutDepth",t[t.CutTo=9e3]="CutTo",t[t.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",t[t.MaxStackCount=12]="MaxStackCount"})(EN||(EN={}));var Tw=class{constructor(e,n,o,r){this.parser=e,this.input=n,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Cw(n,r),this.tokens=new Ew(e,this.stream),this.topTerm=e.top[1];let{from:i}=r[0];this.stacks=[Bu.start(this,e.top[0],i)],this.fragments=o.length&&this.stream.end-i>e.bufferLength*4?new Sw(o,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,o=this.stacks=[],r,i;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<e.length;s++){let l=e[s];for(;;){if(this.tokens.mainToken=null,l.pos>n)o.push(l);else{if(this.advanceStack(l,o,e))continue;{r||(r=[],i=[]),r.push(l);let a=this.tokens.getMainToken(l);i.push(a.value,a.end)}}break}}if(!o.length){let s=r&&Wz(r);if(s)return this.stackToTree(s);if(this.parser.strict)throw Qo&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&r){let s=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,i,o);if(s)return this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(o.length>s)for(o.sort((l,a)=>a.score-l.score);o.length>s;)o.pop();o.some(l=>l.reducePos>n)&&this.recovering--}else if(o.length>1){e:for(let s=0;s<o.length-1;s++){let l=o[s];for(let a=s+1;a<o.length;a++){let u=o[a];if(l.sameState(u)||l.buffer.length>500&&u.buffer.length>500)if((l.score-u.score||l.buffer.length-u.buffer.length)>0)o.splice(a--,1);else{o.splice(s--,1);continue e}}}o.length>12&&o.splice(12,o.length-12)}this.minStackPos=o[0].pos;for(let s=1;s<o.length;s++)o[s].pos<this.minStackPos&&(this.minStackPos=o[s].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,n,o){let r=e.pos,{parser:i}=this,s=Qo?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let u=e.curContext&&e.curContext.tracker.strict,c=u?e.curContext.hash:0;for(let d=this.fragments.nodeAt(r);d;){let f=this.parser.nodeSet.types[d.type.id]==d.type?i.getGoto(e.state,d.type.id):-1;if(f>-1&&d.length&&(!u||(d.prop(me.contextHash)||0)==c))return e.useNode(d,f),Qo&&console.log(s+this.stackID(e)+` (via reuse of ${i.getName(d.type.id)})`),!0;if(!(d instanceof Ge)||d.children.length==0||d.positions[0]>0)break;let p=d.children[0];if(p instanceof Ge&&d.positions[0]==0)d=p;else break}}let l=i.stateSlot(e.state,4);if(l>0)return e.reduce(l),Qo&&console.log(s+this.stackID(e)+` (via always-reduce ${i.getName(l&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let u=0;u<a.length;){let c=a[u++],d=a[u++],f=a[u++],p=u==a.length||!o,g=p?e:e.split();if(g.apply(c,d,f),Qo&&console.log(s+this.stackID(g)+` (via ${c&65536?`reduce of ${i.getName(c&65535)}`:"shift"} for ${i.getName(d)} @ ${r}${g==e?"":", split"})`),p)return!0;g.pos>r?n.push(g):o.push(g)}return!1}advanceFully(e,n){let o=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>o)return TN(e,n),!0}}runRecovery(e,n,o){let r=null,i=!1;for(let s=0;s<e.length;s++){let l=e[s],a=n[s<<1],u=n[(s<<1)+1],c=Qo?this.stackID(l)+" -> ":"";if(l.deadEnd&&(i||(i=!0,l.restart(),Qo&&console.log(c+this.stackID(l)+" (restarted)"),this.advanceFully(l,o))))continue;let d=l.split(),f=c;for(let p=0;d.forceReduce()&&p<10&&(Qo&&console.log(f+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,o));p++)Qo&&(f=this.stackID(d)+" -> ");for(let p of l.recoverByInsert(a))Qo&&console.log(c+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,o);this.stream.end>l.pos?(u==l.pos&&(u++,a=0),l.recoverByDelete(a,u),Qo&&console.log(c+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),TN(l,o)):(!r||r.score<l.score)&&(r=l)}return r}stackToTree(e){return e.close(),Ge.build({buffer:Vu.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let n=(vw||(vw=new WeakMap)).get(e);return n||vw.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}};function TN(t,e){for(let n=0;n<e.length;n++){let o=e[n];if(o.pos==t.pos&&o.sameState(t)){e[n].score<t.score&&(e[n]=t);return}}e.push(t)}var kw=class{constructor(e,n,o){this.source=e,this.flags=n,this.disabled=o}allows(e){return!this.disabled||this.disabled[e]==0}};var Al=class extends ku{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let l=0;l<e.repeatNodeCount;l++)n.push("");let o=Object.keys(e.topRules).map(l=>e.topRules[l][1]),r=[];for(let l=0;l<n.length;l++)r.push([]);function i(l,a,u){r[l].push([a,a.deserialize(String(u))])}if(e.nodeProps)for(let l of e.nodeProps){let a=l[0];typeof a=="string"&&(a=me[a]);for(let u=1;u<l.length;){let c=l[u++];if(c>=0)i(c,a,l[u++]);else{let d=l[u+-c];for(let f=-c;f>0;f--)i(l[u++],a,d);u++}}}this.nodeSet=new kl(n.map((l,a)=>Lt.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:r[a],top:o.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let s=vf(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;l<this.specializerSpecs.length;l++)this.specialized[l]=this.specializerSpecs[l].term;this.specializers=this.specializerSpecs.map(kN),this.states=vf(e.states,Uint32Array),this.data=vf(e.stateData),this.goto=vf(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(l=>typeof l=="number"?new fs(s,l):l),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,n,o){let r=new Tw(this,e,n,o);for(let i of this.wrappers)r=i(r,e,n,o);return r}getGoto(e,n,o=!1){let r=this.goto;if(n>=r[0])return-1;for(let i=r[n+1];;){let s=r[i++],l=s&1,a=r[i++];if(l&&o)return a;for(let u=i+(s>>1);i<u;i++)if(r[i]==e)return a;if(l)return-1}}hasAction(e,n){let o=this.data;for(let r=0;r<2;r++)for(let i=this.stateSlot(e,r?2:1),s;;i+=3){if((s=o[i])==65535)if(o[i+1]==1)s=o[i=si(o,i+2)];else{if(o[i+1]==2)return si(o,i+2);break}if(s==n||s==0)return si(o,i+1)}return 0}stateSlot(e,n){return this.states[e*6+n]}stateFlag(e,n){return(this.stateSlot(e,0)&n)>0}validAction(e,n){if(n==this.stateSlot(e,4))return!0;for(let o=this.stateSlot(e,1);;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=si(this.data,o+2);else return!1;if(n==si(this.data,o+1))return!0}}nextStates(e){let n=[];for(let o=this.stateSlot(e,1);;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=si(this.data,o+2);else break;if(!(this.data[o+2]&1)){let r=this.data[o+1];n.some((i,s)=>s&1&&i==r)||n.push(this.data[o],r)}}return n}configure(e){let n=Object.assign(Object.create(Al.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let o=this.topRules[e.top];if(!o)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=o}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(o=>{let r=e.tokenizers.find(i=>i.from==o);return r?r.to:o})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((o,r)=>{let i=e.specializers.find(l=>l.from==o.external);if(!i)return o;let s=Object.assign(Object.assign({},o),{external:i.to});return n.specializers[r]=kN(s),s})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),o=n.map(()=>!1);if(e)for(let i of e.split(" ")){let s=n.indexOf(i);s>=0&&(o[s]=!0)}let r=null;for(let i=0;i<n.length;i++)if(!o[i])for(let s=this.dialects[n[i]],l;(l=this.data[s++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[l]=1;return new kw(e,o,r)}static deserialize(e){return new Al(e)}};function si(t,e){return t[e]|t[e+1]<<16}function Wz(t){let e=null;for(let n of t){let o=n.p.stoppedAt;(n.pos==n.p.stream.end||o!=null&&n.pos>o)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.score<n.score)&&(e=n)}return e}function kN(t){if(t.external){let e=t.extend?1:0;return(n,o)=>t.external(n,o)<<1|e}return t.get}var kg=Al.deserialize({version:14,states:"&xOVQPOOO!fQPO'#C^OVQPO'#CcQ!pQPOOO#bQPO'#CkO#gQPO'#CrOOQO'#Cy'#CyO#lQPO,58}OVQPO,59QOVQPO,59QOOQO'#Cn'#CnOVQPO,59XOVQPO,59VOVQPO'#CtOOQO,59^,59^OOQO1G.i1G.iOOQO1G.l1G.lO$bQPO1G.lO%ZQPO1G.sO!pQPO'#CmO%qQQO1G.qO%|QQO'#C{OOQO'#C{'#C{O&wQPO,59`OVQPO,59ZOVQPO,59[OVQPO7+$]OVQPO'#CuO'RQPO1G.zOOQO1G.z1G.zO'ZQQO'#C^O'eQQO1G.sO'{QQO1G.uOOQO1G.v1G.vO(WQPO<<GwO(_QPO,59aOOQO-E6s-E6sOOQO7+$f7+$fOVQPOAN=cO(iQQO1G.lO(yQPOG22}OOQOLD(iLD(iO)QQPO,59QO)QQPO,59QO)QQPO,59X",stateData:")n~OlOS~ORUOSUOTUOUUOWQO`SOnPO~OWgXZQX[QX]QX^QXpQXqQXrQXsQXtQXuQXeQX~OjQXXQX~PnOZWO[WO]XO^XOpYOqYOrYOsYOtYOuYO~OW[O~OW]O~OX_O~P!pO]Yi^YipYiqYirYisYitYiuYieYi~OZWO[WOjYiXYi~P#sOpaiqairaisaitaiuaieai~OZWO[WO]XO^XOjaiXai~P$rOejOvhOwiO~OZmX[mX]mX^mXeoXpmXqmXrmXsmXtmXumXvoXwoX~OXmOekO~P!pOXuOekO~OvQXwQX~PnOZzO[zO]{O^{Ovaiwai~P$rOwiOecivci~OevO~P!pOXiaeia~P!pOZzO[zOvYiwYi~P#sOXyO~P!pORUOSUOTUOUUOWQO`SOnnO~O`UTn~",goto:"$epPPqPPPPqPPqPPPPqP!S!g!r!rPq!w#Y#]PPP#cP$[oUOQWXZ[]hijkvz{|hUOQWXZ]jkvz{|Ve[hi[ZRVgrsxR|cVf[hioTOQWXZ[]hijkvz{|R^TQlgRtlQROQVQS`WzQaXQbZUc[hiQg]Qo|QrjQskQw{RxvQd[QphRqi",nodeNames:"\u26A0 ColumnDefinitionExpression Column Number String True False ParenthesizedExpression OpenBrace CloseBrace ArithmeticExpression Divide Times Plus Minus ConditionalExpression If RelationalExpression RelationalOperator AndCondition OrCondition Comma CallExpression Function ArgList",maxTerm:39,skippedNodes:[0],repeatNodeCount:1,tokenData:".^~RnXY#PYZ#P]^#Ppq#Pqr#brs#mxy$eyz$jz{$o{|$t|}$y}!O%O!O!P%T!P!Q%c!Q![%h!^!_%s!_!`&Q!`!a&V!c!}&d#R#S&d#T#U&u#U#Y&d#Y#Z(Y#Z#]&d#]#^*j#^#c&d#c#d+f#d#h&d#h#i,b#i#o&d~#USl~XY#PYZ#P]^#Ppq#P~#eP!_!`#h~#mOu~~#pWOX#mZ]#m^r#mrs$Ys#O#m#P;'S#m;'S;=`$_<%lO#m~$_OS~~$bP;=`<%l#m~$jOW~~$oOX~~$tO[~~$yO]~~%OOe~~%TO^~~%WP!Q![%Z~%`PR~!Q![%Z~%hOZ~~%mQR~!O!P%Z!Q![%h~%xPr~!_!`%{~&QOt~~&VOp~~&[Pq~!_!`&_~&dOs~P&iSnP!Q![&d!c!}&d#R#S&d#T#o&dR&zUnP!Q![&d!c!}&d#R#S&d#T#b&d#b#c'^#c#o&dR'cUnP!Q![&d!c!}&d#R#S&d#T#W&d#W#X'u#X#o&dR'|SvQnP!Q![&d!c!}&d#R#S&d#T#o&d~(_TnP!Q![&d!c!}&d#R#S&d#T#U(n#U#o&d~(sUnP!Q![&d!c!}&d#R#S&d#T#`&d#`#a)V#a#o&d~)[UnP!Q![&d!c!}&d#R#S&d#T#g&d#g#h)n#h#o&d~)sUnP!Q![&d!c!}&d#R#S&d#T#X&d#X#Y*V#Y#o&d~*^SU~nP!Q![&d!c!}&d#R#S&d#T#o&d~*oUnP!Q![&d!c!}&d#R#S&d#T#Y&d#Y#Z+R#Z#o&d~+YS`~nP!Q![&d!c!}&d#R#S&d#T#o&dR+kUnP!Q![&d!c!}&d#R#S&d#T#f&d#f#g+}#g#o&dR,USwQnP!Q![&d!c!}&d#R#S&d#T#o&d~,gUnP!Q![&d!c!}&d#R#S&d#T#f&d#f#g,y#g#o&d~-OUnP!Q![&d!c!}&d#R#S&d#T#i&d#i#j-b#j#o&d~-gUnP!Q![&d!c!}&d#R#S&d#T#X&d#X#Y-y#Y#o&d~.QST~nP!Q![&d!c!}&d#R#S&d#T#o&d",tokenizers:[0,1],topRules:{ColumnDefinitionExpression:[0,1]},tokenPrec:393});var Kz=Er.define({name:"VuuColumnExpression",parser:kg.configure({props:[Il({Column:W.attributeValue,Function:W.variableName,String:W.string,Or:W.emphasis,Operator:W.operator})]})}),IN=()=>new Lu(Kz);var Mw=class{constructor(e){switch(this.value=e,typeof e){case"boolean":this.type="booleanLiteralExpression";break;case"number":this.type="numericLiteralExpression";break;default:this.type="stringLiteralExpression"}}toJSON(){return{type:this.type,value:this.value}}},Iw=class{constructor(e){this.type="colExpression";this.column=e}toJSON(){return{type:this.type,column:this.column}}},Cf,Hl,Pw=class{constructor(e="unknown"){_n(this,Cf,[{type:"unknown"},{type:"unknown"}]);_n(this,Hl,void 0);this.type="arithmeticExpression";Xo(this,Hl,e)}get op(){return ne(this,Hl)}set op(e){Xo(this,Hl,e)}get expressions(){return ne(this,Cf)}toJSON(){return{type:this.type,op:ne(this,Hl),expressions:ne(this,Cf)}}};Cf=new WeakMap,Hl=new WeakMap;var Wu,Dw=class{constructor(e){_n(this,Wu,[]);this.type="callExpression";this.functionName=e}get expressions(){return ne(this,Wu)}get arguments(){return ne(this,Wu)}toJSON(){return{type:this.type,functionName:this.functionName,arguments:ne(this,Wu).map(e=>{var n;return(n=e.toJSON)==null?void 0:n.call(e)})}}};Wu=new WeakMap;var wf,Ku,$u=class{constructor(){_n(this,wf,[{type:"unknown"},{type:"unknown"}]);_n(this,Ku,"unknown");this.type="relationalExpression"}get op(){return ne(this,Ku)}set op(e){Xo(this,Ku,e)}get expressions(){return ne(this,wf)}toJSON(){return{type:this.type,op:ne(this,Ku),expressions:ne(this,wf)}}};wf=new WeakMap,Ku=new WeakMap;var Sf,Uu,_u=class{constructor(e){_n(this,Sf,[{type:"unknown"},{type:"unknown"}]);_n(this,Uu,void 0);this.type="booleanCondition";Xo(this,Uu,e)}get op(){return ne(this,Uu)}get expressions(){return ne(this,Sf)}toJSON(){return{type:this.type,op:ne(this,Uu),expressions:ne(this,Sf).map(e=>{var n;return(n=e.toJSON)==null?void 0:n.call(e)})}}};Sf=new WeakMap,Uu=new WeakMap;var kr,xf=class{constructor(e){_n(this,kr,void 0);this.type="conditionalExpression";Xo(this,kr,[e?new _u(e):new $u,{type:"unknown"},{type:"unknown"}])}get expressions(){return ne(this,kr)}get condition(){return ne(this,kr)[0]}get truthyExpression(){return ne(this,kr)[1]}set truthyExpression(e){ne(this,kr)[1]=e}get falsyExpression(){return ne(this,kr)[2]}set falsyExpression(e){ne(this,kr)[2]=e}toJSON(){var e,n,o,r,i;return{type:this.type,condition:(n=(e=this.condition).toJSON)==null?void 0:n.call(e),truthyExpression:this.truthyExpression,falsyExpression:(i=(r=(o=this.falsyExpression)==null?void 0:o.toJSON)==null?void 0:r.call(o))!=null?i:this.falsyExpression}}};kr=new WeakMap;var Nl=t=>t.type==="unknown",Mg=t=>t.type==="arithmeticExpression",Uz=t=>t.type==="callExpression",zu=t=>t.type==="conditionalExpression",Gz=t=>t.type==="relationalExpression"||t.type==="booleanCondition";var jz=t=>t.type==="booleanCondition",Lw=t=>(t==null?void 0:t.type)==="relationalExpression";var Mo=t=>{if(Nl(t))return t;if(Lw(t)){let[e,n]=t.expressions;if(nn(e))return Mo(e);if(t.op==="unknown")return t;if(nn(n))return Mo(n)}else if(Gz(t)){let{expressions:e=[]}=t;for(let n of e)if(nn(n))return Mo(n)}else if(zu(t)){let{condition:e,truthyExpression:n,falsyExpression:o}=t;if(nn(e))return Mo(e);if(nn(n))return Mo(n);if(nn(o))return Mo(o)}else if(Mg(t)){let{expressions:e=[]}=t;for(let n of e)if(nn(n))return Mo(n)}},Ig=(t,e,n)=>{let{expressions:o=[]}=t;if(o.includes(e)){let r=o.indexOf(e);return o.splice(r,1,n),!0}else for(let r of o)if(Ig(r,e,n))return!0;return!1},nn=t=>Nl(t)?!0:zu(t)?nn(t.condition)||nn(t.truthyExpression)||nn(t.falsyExpression):Lw(t)||jz(t)?t.op===void 0||t.expressions.some(e=>nn(e)):!1,PN=(t,e)=>{let n=Mo(t);n?n.expressions?n.expressions.push(e):console.warn("don't know how to treat targetExpression"):console.error("no target expression found")},we,Ol,Rw=class{constructor(){_n(this,we,void 0);_n(this,Ol,[])}setCondition(e){if(ne(this,we)===void 0)this.addExpression(new xf(e));else if(zu(ne(this,we))){if(nn(ne(this,we).condition)){let n=e?new _u(e):new $u;this.addExpression(n)}else if(Nl(ne(this,we).truthyExpression))ne(this,we).truthyExpression=new xf(e);else if(nn(ne(this,we).truthyExpression)){let n=e?new _u(e):new $u;this.addExpression(n)}else if(Nl(ne(this,we).falsyExpression))ne(this,we).falsyExpression=new xf(e);else if(nn(ne(this,we).falsyExpression)){let n=e?new _u(e):new $u;this.addExpression(n)}}else console.error("setCondition called unexpectedly")}addExpression(e){if(ne(this,Ol).length>0){let n=ne(this,Ol).at(-1);n==null||n.arguments.push(e)}else if(ne(this,we)===void 0)Xo(this,we,e);else if(Mg(ne(this,we))){let n=Mo(ne(this,we));n&&Nl(n)&&Ig(ne(this,we),n,e)}else if(zu(ne(this,we))&&nn(ne(this,we))){let n=Mo(ne(this,we));n&&Nl(n)?Ig(ne(this,we),n,e):n&&PN(n,e)}}setFunction(e){let n=new Dw(e);this.addExpression(n),ne(this,Ol).push(n)}setColumn(e){this.addExpression(new Iw(e))}setArithmeticOp(e){let n=e,o=ne(this,we);Mg(o)&&(o.op=n)}setRelationalOperator(e){let n=e;if(ne(this,we)&&zu(ne(this,we))){let o=Mo(ne(this,we));Lw(o)?o.op=n:console.error(`no target expression found (op = ${e})`)}}setValue(e){let n=new Mw(e);if(ne(this,we)===void 0)Xo(this,we,n);else if(Mg(ne(this,we)))this.addExpression(n);else if(Uz(ne(this,we)))ne(this,we).arguments.push(n);else if(zu(ne(this,we)))if(nn(ne(this,we))){let o=Mo(ne(this,we));o&&Nl(o)?Ig(ne(this,we),o,n):o&&PN(o,n)}else console.log("what do we do with value, in a complete expression")}closeBrace(){ne(this,Ol).pop()}get expression(){return ne(this,we)}toJSON(){var e;return(e=ne(this,we))==null?void 0:e.toJSON()}};we=new WeakMap,Ol=new WeakMap;var DN=(t,e)=>{let n=new Rw,o=t.cursor();do{let{name:r,from:i,to:s}=o;switch(r){case"AndCondition":n.setCondition("and");break;case"OrCondition":n.setCondition("or");break;case"RelationalExpression":n.setCondition();break;case"ArithmeticExpression":n.addExpression(new Pw);break;case"Column":{let l=e.substring(i,s);n.setColumn(l)}break;case"Function":{let l=e.substring(i,s);n.setFunction(l)}break;case"Times":case"Divide":case"Plus":case"Minus":{let l=e.substring(i,s);n.setArithmeticOp(l)}break;case"RelationalOperator":{let l=e.substring(i,s);n.setRelationalOperator(l)}break;case"False":case"True":{let l=e.substring(i,s);n.setValue(l==="true")}break;case"String":n.setValue(e.substring(i+1,s-1));break;case"Number":n.setValue(parseFloat(e.substring(i,s)));break;case"CloseBrace":n.closeBrace();break;default:}}while(o.next());return n.toJSON()};var qz=kg.configure({strict:!0}),RN=["Number","String"],Aw=[...RN,"AndCondition","ArithmeticExpression","BooleanOperator","RelationalOperatorOperator","CallExpression","CloseBrace","Column","Comma","ConditionalExpression","Divide","Equal","If","Minus","OpenBrace","OrCondition","ParenthesizedExpression","Plus","RelationalExpression","RelationalOperator","Times"],LN=t=>{try{return qz.parse(t),!0}catch{return!1}},Nw=t=>{let{lastChild:e}=t;for(;e&&!Aw.includes(e.name);)e=e.prevSibling,console.log(e==null?void 0:e.name);return e},AN=t=>{if((t==null?void 0:t.name)==="RelationalExpression"){let{firstChild:e}=t,n=Nw(t);if((e==null?void 0:e.name)==="Column"&&typeof(n==null?void 0:n.name)=="string"&&RN.includes(n.name))return!0}return!1};var Qz=Go.define([{tag:W.attributeValue,color:"var(--vuuFilterEditor-variableColor);font-weight: bold"},{tag:W.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:W.comment,color:"green",fontStyle:"italic"}]),NN=Dl(Qz);var HN=ae.theme({"&":{border:"solid 1px var(--salt-container-primary-borderColor)",color:"var(--vuuFilterEditor-color)",backgroundColor:"var(--vuuFilterEditor-background)"},".cm-content":{caretColor:"var(--vuuFilterEditor-cursorColor)"},"&.cm-focused .cm-cursor":{borderLeftColor:"var(--vuuFilterEditor-cursorColor)"},"&.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-scroller":{fontFamily:"var(--vuuFilterEditor-fontFamily)"},".cm-completionLabel":{color:"var(--vuu-color-gray-50)"},".cm-completionMatchedText":{color:"var(--vuu-color-gray-80)",fontWeight:700,textDecoration:"none"},".cm-tooltip":{background:"var(--vuuFilterEditor-tooltipBackground)",border:"var(--vuuFilterEditor-tooltipBorder)",borderRadius:"4px",boxShadow:"var(--vuuFilterEditor-tooltipElevation)","&.cm-tooltip-autocomplete > ul":{fontFamily:"var(--vuuFilterEditor-fontFamily)",fontSize:"var(--vuuFilterEditor-fontSize)",maxHeight:"240px"},"&.cm-tooltip-autocomplete > ul > li":{height:"var(--vuuFilterEditor-suggestion-height)",padding:"0 3px",lineHeight:"var(--vuuFilterEditor-suggestion-height)"},"&.cm-tooltip-autocomplete li[aria-selected]":{background:"var(--vuuFilterEditor-suggestion-selectedBackground)",color:"var(--vuuFilterEditor-suggestion-selectedColor)"},"&.cm-tooltip-autocomplete li .cm-completionDetail":{color:"var(--vuuFilterEditor-suggestion-detailColor)"}}},{dark:!1});var Fw=require("react");var Jz=(t,e)=>e?t.map(n=>{var o;return{...n,apply:typeof n.apply=="function"?n.apply:`${e}${(o=n.apply)!=null?o:n.label}`}}):t,Xz=t=>t===void 0?!1:["Times","Divide","Plus","Minus"].includes(t.name),Ef=t=>({apply:()=>{t==null||t()},label:"Done",boost:10}),Gu=(t,e)=>{var r;let{lastChild:n}=t,{pos:o}=e;for(;n;)if(n.from<o&&Aw.includes(n.name)){if(n.name==="ParenthesizedExpression"){let s=(r=n.firstChild)==null?void 0:r.nextSibling;s&&(n=s)}return n}else n=n.prevSibling},ON=(t,e)=>{var n;if(t.name==="ArgList"){let o=t.prevSibling;if(o)return qo(o,e)}else if(t.name==="OpenBrace"){let o=(n=t.parent)==null?void 0:n.prevSibling;if((o==null?void 0:o.name)==="Function")return qo(o,e)}},FN=(t,e)=>{if(t.name==="RelationalExpression"){let n=Nw(t);if((n==null?void 0:n.name)==="RelationalOperator")return qo(n,e)}else{let n=t.prevSibling;if((n==null?void 0:n.name)==="RelationalOperator")return qo(n,e)}},Bw=(t,e)=>{var n;if(t.name==="RelationalExpression"){if(((n=t.firstChild)==null?void 0:n.name)==="Column")return qo(t.firstChild,e)}else{let o=t.prevSibling;if((o==null?void 0:o.name)==="Column")return qo(o,e);if((o==null?void 0:o.name)==="RelationalOperator")return Bw(o,e)}},Hw=async(t,e,n,o={})=>{let r=await e.getSuggestions(n,o),{startsWith:i=""}=o;return{from:t.pos-i.length,options:r}},Ow=(t,e,n,o,r)=>{let i=Gu(t,e);switch(i==null?void 0:i.name){case"If":return Hw(e,n,"expression",{prefix:"( "});case"OpenBrace":return Hw(e,n,"expression");case"Condition":return Hw(e,n,"expression",{prefix:", "});case"CloseBrace":if(o){let s=[Ef(r)];return{from:e.pos,options:s}}}},Yz=(t,e)=>{let n=[Ef(e)];return{from:t.pos,options:n}},BN=(t,e)=>{let n=(0,Fw.useCallback)(async(o,r,i={})=>{let s=await t.getSuggestions(r,i),{startsWith:l=""}=i;return{from:o.pos-l.length,options:s}},[t]);return(0,Fw.useCallback)(async o=>{var d,f;let{state:r,pos:i}=o,s=(d=o.matchBefore(/\w*/))!=null?d:{from:0,to:0,text:void 0},a=Dt(r).resolveInner(i,-1),u=r.doc.toString(),c=LN(u);switch(a.name){case"If":return n(o,"expression",{prefix:"( "});case"Condition":{let p=Gu(a,o);if((p==null?void 0:p.name)==="Column"){let g=hN(p);if((g==null?void 0:g.name)!=="RelationalOperator")return n(o,"condition-operator",{columnName:qo(p,r)})}else if((p==null?void 0:p.name)==="RelationalOperator")return n(o,"expression")}break;case"ConditionalExpression":return Ow(a,o,t);case"RelationalExpression":{if(AN(a))return{from:o.pos,options:bw.concat({label:", <truthy expression>, <falsy expression>",apply:", "})};{let p=FN(a,r),g=Bw(a,r);if(p)return n(o,"expression");{let y=await t.getSuggestions("condition-operator",{columnName:g});return{from:o.pos,options:y}}}}break;case"RelationalOperator":return n(o,"expression");case"String":{let p=FN(a,r),g=Bw(a,r),{from:y,to:m}=a;if(m-y===2&&o.pos===y+1){if(g&&p)return n(o,"columnValue",{columnName:g,operator:p,startsWith:s.text})}else if(m-y>2&&o.pos===m)return n(o,"expression",{prefix:", "})}break;case"ArithmeticExpression":{let p=Gu(a,o);if((p==null?void 0:p.name)==="Column")return n(o,"expression");if(Xz(p)){let g=p.name;return n(o,"column",{operator:g})}}break;case"OpenBrace":{let p=ON(a,r);return n(o,"expression",{functionName:p})}break;case"ArgList":{let p=ON(a,r),g=Gu(a,o),y=(g==null?void 0:g.name)==="OpenBrace"||(g==null?void 0:g.name)==="Comma"?void 0:",",m=await t.getSuggestions("expression",{functionName:p});return m=y?Jz(m,", "):m,(g==null?void 0:g.name)!=="OpenBrace"&&(g==null?void 0:g.name)!=="Comma"&&(m=[{apply:") ",boost:10,label:"Done - no more arguments"}].concat(m)),{from:o.pos,options:m}}case"Equal":if(u.trim()==="=")return n(o,"expression");break;case"ParenthesizedExpression":case"ColumnDefinitionExpression":if(o.pos===0)return n(o,"expression");{let p=Gu(a,o);if((p==null?void 0:p.name)==="Column"){if(c){let g=[Ef(e.current)],y=qo(p,r),m=await t.getSuggestions("operator",{columnName:y});return{from:o.pos,options:g.concat(m)}}}else if((p==null?void 0:p.name)==="CallExpression"){if(c)return{from:o.pos,options:[Ef(e.current)]}}else if((p==null?void 0:p.name)==="ArithmeticExpression"){if(c){let g=[Ef(e.current)],y=Gu(p,o);if((y==null?void 0:y.name)==="Column"){let m=qo(y,r),h=await t.getSuggestions("operator",{columnName:m});g=g.concat(h)}return{from:o.pos,options:g}}}else if((p==null?void 0:p.name)==="ConditionalExpression")return Ow(p,o,t,c,e.current);break}case"Column":if(await t.isPartialMatch("expression",void 0,s.text))return n(o,"expression",{startsWith:s.text});break;case"Comma":{let p=yw(a);if((p==null?void 0:p.name)==="ConditionalExpression")return n(o,"expression")}break;case"CloseBrace":{let p=yw(a);if((p==null?void 0:p.name)==="ConditionalExpression")return Ow(p,o,t,c,e.current);if((p==null?void 0:p.name)==="ArgList"&&c)return Yz(o,e.current)}break;default:((f=a==null?void 0:a.prevSibling)==null?void 0:f.name)==="FilterClause"&&console.log("looks like we ight be a or|and operator")}},[n,e,t])};var Pg=t=>{if(t.current==null)throw Error("EditorView not defined");return t.current},Zz=()=>"vuuSuggestion",e$=()=>console.log("noooop"),t$=t=>"expressionType"in t,n$=t=>{if(t$(t)){let e=(0,Vw.createEl)("div","expression-type-container"),n=(0,Vw.createEl)("span","expression-type",t.expressionType);return e.appendChild(n),e}else return null},VN=({onChange:t,onSubmitExpression:e,source:n,suggestionProvider:o})=>{let r=(0,Mr.useRef)(null),i=(0,Mr.useRef)(e$),s=(0,Mr.useRef)(),l=BN(o,i),[a,u,c]=(0,Mr.useMemo)(()=>{let f=()=>{let h=Pg(s),v=h.state.doc.toString(),x=fg(h.state,h.state.doc.length,5e3);if(x){let b=DN(x,v);return[v,b]}else return["",void 0]},p=()=>{Pg(s).setState(m())},g=()=>{let[h,v]=f();e==null||e(h,v)},y=h=>br.of([{key:h,run(){return Nu(Pg(s)),!0}}]),m=()=>ye.create({doc:n,extensions:[gw,yg({addToOptions:[{render:n$,position:70}],override:[l],optionClass:Zz}),IN(),br.of(Ou),y("ArrowDown"),ae.updateListener.of(h=>{let v=Pg(s);if(h.docChanged){Nu(v);let x=v.state.doc.toString();t==null||t(x)}}),ye.transactionFilter.of(h=>h.newDoc.lines>1?[]:h),HN,NN]});return i.current=()=>{g()},[m,p,g]},[l,t,e,n]);(0,Mr.useEffect)(()=>{if(!r.current)throw Error("editor not in dom");return s.current=new ae({state:a(),parent:r.current}),()=>{var f;(f=s.current)==null||f.destroy()}},[l,a]);let d=(0,Mr.useCallback)(()=>{c()},[c]);return{editorRef:r,clearInput:u,onBlur:d}};var _N=require("react/jsx-runtime"),o$="vuuColumnExpressionInput",$N=(0,zN.memo)(({onChange:t,onSubmitExpression:e,source:n="",suggestionProvider:o})=>{let{editorRef:r,onBlur:i}=VN({onChange:t,onSubmitExpression:e,source:n,suggestionProvider:o});return(0,_N.jsx)("div",{className:`${o$}`,onBlur:i,ref:r})},(t,e)=>t.source===e.source);$N.displayName="ColumnExpressionInput";var UN=require("@vuu-ui/vuu-utils"),GN=require("react");var WN=[{accepts:["boolean"],description:"Applies boolean and operator across supplied parameters to returns a single boolean result",example:{expression:'and(ccy="EUR",quantity=0)',result:"true | false"},name:"and",params:{description:"( boolean, [ boolean* ] )"},type:"boolean"},{accepts:"string",description:"Returns multiple string values as a single joined string. Arguments may be string literal values, string columns or other string expressions. Non string arguments may also be included, these will be converted to strings.",example:{expression:'concatenate("example", "-test")',result:'"example-test"'},name:"concatenate",params:{description:"( string, string, [ string* ] )"},type:"string"},{accepts:["string","string"],description:"Tests a string value to determine whether it contains a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> contains one or more occurrences of <target subscring>",example:{expression:'contains("Royal Bank of Scotland", "bank")',result:"true"},name:"contains",params:{description:"( string )"},type:"boolean"},{accepts:["string","number"],description:"Returns the leftmost <number> characters from <string>. First argument may be a string literal, string column or other string expression.",example:{expression:'left("USD Benchmark Report", 3)',result:'"USD"'},name:"left",params:{count:2,description:"( string, number )"},type:"string"},{accepts:"string",description:"Returns the number of characters in <string>. Argument may be a string literal, string column or other string expression.",example:{expression:'len("example")',result:"7"},name:"len",params:{description:"(string)"},type:"number"},{accepts:"string",description:"Convert a string value to lowercase. Argument may be a string column or other string expression.",example:{expression:'lower("examPLE")',result:'"example"'},name:"lower",params:{description:"( string )"},type:"string"},{accepts:["boolean"],description:"Applies boolean or operator across supplied parameters to returns a single boolean result",example:{expression:'or(status="cancelled",quantity=0)',result:"true | false"},name:"or",params:{description:"( boolean, [ boolean* ] )"},type:"boolean"},{accepts:"string",description:"Convert a string value to uppercase. Argument may be a string column or other string expression.",example:{expression:'upper("example")',result:'"EXAMPLE"'},name:"upper",params:{description:"( string )"},type:"string"},{accepts:["string","number"],description:"Returns the rightmost <number> characters from <string>. First argument may be a string literal, string column or other string expression.",example:{expression:"blah",result:"blah"},name:"right",params:{description:"( string )"},type:"string"},{accepts:["string","string","string"],description:"Replace characters within a string. Accepts three arguments: source text, text to replace and replacement text. Returns a copy of <source text> with any occurrences of <text to replace> replaced by <replacement text>",example:{expression:"blah",result:"blah"},name:"replace",params:{description:"( string )"},type:"string"},{accepts:"number",description:"Converts a number to a string.",example:{expression:"blah",result:"blah"},name:"text",params:{description:"( string )"},type:"string"},{accepts:"string",description:"Tests a string value to determine whether it starts with a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> starts with <target subscring>.",example:{expression:"blah",result:"blah"},name:"starts",params:{description:"( string )"},type:"boolean"},{accepts:"string",description:"Tests a string value to determine whether it ends with a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> ends with <target subscring>.",example:{expression:"blah",result:"blah"},name:"ends",params:{description:"( string )"},type:"boolean"},{accepts:"number",description:"blah",example:{expression:"blah",result:"blah"},name:"min",params:{description:"( string )"},type:"number"},{accepts:"number",description:"blah",example:{expression:"blah",result:"blah"},name:"max",params:{description:"( string )"},type:"number"},{accepts:"number",description:"blah",example:{expression:"blah",result:"blah"},name:"sum",params:{description:"( string )"},type:"number"},{accepts:"number",description:"blah",example:{expression:"blah",result:"blah"},name:"round",params:{description:"( string )"},type:"number"},{accepts:"any",description:"blah",example:{expression:"blah",result:"blah"},name:"or",params:{description:"( string )"},type:"boolean"},{accepts:"any",description:"blah",example:{expression:"blah",result:"blah"},name:"and",params:{description:"( string )"},type:"boolean"},{accepts:"any",description:"Return one of two possible result values, depending on the evaluation of a filter expression. If <filterExpression> resolves to true, result is <expression1>, otherwise <expression2>. ",example:{expression:"blah",result:"blah"},name:"if",params:{description:"( filterExpression, expression1, expression 2)"},type:"variable"}];var Ir=require("@vuu-ui/vuu-utils"),KN=({name:t,description:e,example:n,params:o,type:r})=>{let i=(0,Ir.createEl)("div","vuuFunctionDoc"),s=(0,Ir.createEl)("div","function-heading"),l=(0,Ir.createEl)("span","function-name",t),a=(0,Ir.createEl)("span","param-list",o.description),u=(0,Ir.createEl)("span","function-type",r);s.appendChild(l),s.appendChild(a),s.appendChild(u);let c=(0,Ir.createEl)("p",void 0,e);if(i.appendChild(s),i.appendChild(c),n){let d=(0,Ir.createEl)("div","example-container"),f=(0,Ir.createEl)("div","example-expression",n.expression),p=(0,Ir.createEl)("div","example-result",n.result);d.appendChild(f),i.appendChild(d),i.appendChild(p)}return i};var i$=t=>({apply:`${t.name}( `,boost:2,expressionType:t.type,info:()=>KN(t),label:t.name,type:"function"});var Yme=WN.map(i$);var Dg=require("@vuu-ui/vuu-utils"),$w=require("react");var qN=require("react/jsx-runtime");var Rg=require("@vuu-ui/vuu-utils");var l$=V(j(),1),XN=require("react");var s$=require("@vuu-ui/vuu-utils"),QN=require("react"),JN=require("react/jsx-runtime");var YN=require("react/jsx-runtime");var a$=V(j(),1),ZN=require("@vuu-ui/vuu-utils");var e2=require("react/jsx-runtime");var li=require("@vuu-ui/vuu-utils"),kf=require("react"),Vhe=[{description:"Default formatter for columns with data type integer",label:"Default Renderer (int, long)",name:"default-int"},...(0,li.getRegisteredCellRenderers)("int")],zhe=[{description:"Default formatter for columns with data type double",label:"Default Renderer (double)",name:"default-double"},...(0,li.getRegisteredCellRenderers)("double")],$he=[{description:"Default formatter for columns with data type string",label:"Default Renderer (string)",name:"default-string"},...(0,li.getRegisteredCellRenderers)("string")];var t2=require("react/jsx-runtime");var n2=require("react"),c$=V(j(),1);var o2=require("react/jsx-runtime");var age=new Intl.NumberFormat;var Lg=require("@vuu-ui/vuu-utils"),Kw=require("react");var r2=require("react/jsx-runtime");var i2=require("@vuu-ui/vuu-utils"),Io=require("react"),s2=({availableColumns:t,onAvailableColumnsChange:e,onConfigChange:n,onCreateCalculatedColumn:o,onDataSourceConfigChange:r,tableConfig:i})=>{let s=Mn(),l=(0,Io.useRef)(),[a,u]=(0,Io.useState)(t),c=(0,Io.useCallback)((m,h,v)=>{s({type:"set-props",path:"#context-panel",props:{expanded:!0,content:{type:m,props:v},title:h}})},[s]),d=(0,Io.useCallback)(()=>{requestAnimationFrame(()=>{var m;(m=l.current)==null||m.call(l)})},[]),f=(0,Io.useCallback)(m=>{let h=a.concat({name:m.name,serverDataType:(0,i2.getCalculatedColumnType)(m)});u(h),e==null||e(h),requestAnimationFrame(()=>{var v;(v=l.current)==null||v.call(l)}),o(m)},[a,e,o]),p=(0,Io.useCallback)(m=>{c("ColumnSettings","Column Settings",{column:m.column,onCancelCreateColumn:d,onConfigChange:n,onCreateCalculatedColumn:f,tableConfig:i,vuuTable:m.vuuTable})},[d,f,n,c,i]),g=(0,Io.useCallback)(()=>{p({column:{name:"::",serverDataType:"string"},type:"columnSettings",vuuTable:{module:"SIMUL",table:"instruments"}})},[p]),y=(0,Io.useCallback)(m=>{let h=i.columns.find(v=>v.name===m);h&&p({type:"columnSettings",column:h,vuuTable:{module:"SIMUL",table:"instruments"}})},[p,i.columns]);return l.current=(0,Io.useCallback)(()=>{c("TableSettings","DataGrid Settings",{availableColumns:a!=null?a:i.columns.map(({name:m,serverDataType:h})=>({name:m,serverDataType:h})),onAddCalculatedColumn:g,onConfigChange:n,onDataSourceConfigChange:r,onNavigateToColumn:y,tableConfig:i})},[a,g,y,n,r,c,i]),{showColumnSettingsPanel:p,showTableSettingsPanel:l.current}};var on=require("@vuu-ui/vuu-utils"),Ee=require("react");var l2=require("@vuu-ui/vuu-utils"),a2=t=>(e,n)=>{let o=[];return t===void 0||(e==="header"||e==="column-menu")&&(o.push(...d$(n,t)),o.push(...m$(n,t)),o.push(...f$(n,t)),o.push(...p$(n)),o.push({action:"column-settings",icon:"cog",label:"Column Settings",options:n}),o.push({action:"table-settings",icon:"cog",label:"DataGrid Settings",options:n})),o};function d$(t,{sort:{sortDefs:e}}){let{column:n}=t,o=[];if(n===void 0)return o;let r=e.length>0;return n.sorted==="A"?o.push({label:"Reverse Sort (DSC)",action:"sort-dsc",options:t}):n.sorted==="D"?o.push({label:"Reverse Sort (ASC)",action:"sort-asc",options:t}):typeof n.sorted=="number"?(n.sorted>0?o.push({label:"Reverse Sort (DSC)",action:"sort-add-dsc",options:t}):o.push({label:"Reverse Sort (ASC)",action:"sort-add-asc",options:t}),r&&Math.abs(n.sorted)<e.length&&o.push({label:"Remove from sort",action:"sort-remove",options:t}),o.push({label:"New Sort",children:[{label:"Ascending",action:"sort-asc",options:t},{label:"Descending",action:"sort-dsc",options:t}]})):r?(o.push({label:"Add to sort",children:[{label:"Ascending",action:"sort-add-asc",options:t},{label:"Descending",action:"sort-add-dsc",options:t}]}),o.push({label:"New Sort",children:[{label:"Ascending",action:"sort-asc",options:t},{label:"Descending",action:"sort-dsc",options:t}]})):o.push({label:"Sort",children:[{label:"Ascending",action:"sort-asc",options:t},{label:"Descending",action:"sort-dsc",options:t}]}),o}function f$(t,e){let{column:n}=t;if(n===void 0||e.groupBy.length===0)return[];let{name:o,label:r=o}=n;return[{label:`Aggregate ${r}`,children:[{label:"Count",action:"agg-count",options:t},{label:"Distinct",action:"agg-distinct",options:t}].concat((0,l2.isNumericColumn)(n)?[{label:"Sum",action:"agg-sum",options:t},{label:"Avg",action:"agg-avg",options:t},{label:"High",action:"agg-high",options:t},{label:"Low",action:"agg-low",options:t}]:[])}]}var Qw=(t,e)=>({label:`Pin ${e}`,action:`column-pin-${e}`,options:t}),Gw=t=>Qw(t,"left"),jw=t=>Qw(t,"floating"),qw=t=>Qw(t,"right");function p$(t){let{column:e}=t;if(e===void 0)return[];let{pin:n}=e,o=[{label:"Hide column",action:"column-hide",options:t},{label:"Remove column",action:"column-remove",options:t}];return n===void 0?o.push({label:"Pin column",children:[Gw(t),jw(t),qw(t)]}):n==="left"?o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[jw(t),qw(t)]}):n==="right"?o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Gw(t),jw(t)]}):n==="floating"&&o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Gw(t),qw(t)]}),o}function m$(t,{groupBy:e}){let{column:n}=t,o=[];if(n===void 0)return o;let{name:r,label:i=r}=n;return e.length===0?o.push({label:`Group by ${i}`,action:"group",options:t}):o.push({label:`Add ${i} to group by`,action:"group-add",options:t}),o}var u2=require("@vuu-ui/vuu-utils"),At=require("@vuu-ui/vuu-utils"),h$=(t,e)=>{if(t.filterStruct&&e){let[n,o]=(0,u2.removeColumnFromFilter)(e,t.filterStruct);return{filter:o,filterStruct:n}}else return t},{Average:g$,Count:y$,Distinct:b$,High:v$,Low:x$,Sum:C$}=At.AggregationType,c2=({dataSource:t,onPersistentColumnOperation:e})=>o=>{let r=o.options;if(r.column&&t){let{column:i}=r;switch(o.menuId){case"sort-asc":return t.sort=(0,At.setSortColumn)(t.sort,i,"A"),!0;case"sort-dsc":return t.sort=(0,At.setSortColumn)(t.sort,i,"D"),!0;case"sort-add-asc":return t.sort=(0,At.addSortColumn)(t.sort,i,"A"),!0;case"sort-add-dsc":return t.sort=(0,At.addSortColumn)(t.sort,i,"D"),!0;case"group":return t.groupBy=(0,At.addGroupColumn)(t.groupBy,i),!0;case"group-add":return t.groupBy=(0,At.addGroupColumn)(t.groupBy,i),!0;case"column-hide":return e({type:"hideColumns",columns:[i]}),!0;case"column-remove":return t.columns=t.columns.filter(s=>s!==i.name),!0;case"filter-remove-column":return t.filter=h$(t.filter,i),!0;case"remove-filters":return t.filter={filter:""},!0;case"agg-avg":return t.aggregations=(0,At.setAggregations)(t.aggregations,i,g$),!0;case"agg-high":return t.aggregations=(0,At.setAggregations)(t.aggregations,i,v$),!0;case"agg-low":return t.aggregations=(0,At.setAggregations)(t.aggregations,i,x$),!0;case"agg-count":return t.aggregations=(0,At.setAggregations)(t.aggregations,i,y$),!0;case"agg-distinct":return t.aggregations=(0,At.setAggregations)(t.aggregations,i,b$),!0;case"agg-sum":return t.aggregations=(0,At.setAggregations)(t.aggregations,i,C$),!0;case"column-pin-floating":return e({type:"pinColumn",column:i,pin:"floating"}),!0;case"column-pin-left":return e({type:"pinColumn",column:i,pin:"left"}),!0;case"column-pin-right":return e({type:"pinColumn",column:i,pin:"right"}),!0;case"column-unpin":return e({type:"pinColumn",column:i,pin:void 0}),!0;case"column-settings":return e({type:"columnSettings",column:i}),!0;case"table-settings":return e({type:"tableSettings"}),!0;default:}}return!1};var Uw=(t,e)=>{switch(e.type){case"col-size":return{...t,columns:t.columns.map(n=>n.name===e.column.name?{...n,width:e.width}:n)};case"column-prop":return{...t,columns:t.columns.map(n=>n.name===e.column.name?{...n,[e.property]:e.value}:n)};default:return t}};var m2=require("@vuu-ui/vuu-utils"),ps=require("react");var Jw=t=>`.vuuTable-col-headers .vuuTableHeaderCell:nth-child(${t})`,Xw=(t,e)=>`.vuuTable-body > [aria-rowindex='${t}'] > [role='cell']:nth-child(${e+1})`,d2=(t,[e,n])=>{var i;let o=e===-1?Jw(n):Xw(e,n),r=(i=t.current)==null?void 0:i.querySelector(o);return w$(r)&&r.querySelector("button")||r},w$=t=>t.classList.contains("vuuTableCell-editable"),f2=t=>t.querySelector(".vuuTableInputCell")!==null;function S$(t){if(t){let e=t.ariaRowIndex;if(e!==null)return parseInt(e,10)}return-1}var E$=t=>t.closest('[role="row"]'),p2=t=>S$(E$(t));var h2=({navigate:t})=>{let e=(0,ps.useCallback)(()=>{t()},[t]),n=(0,ps.useCallback)(a=>{let u=a.target,c=u.matches("input")?u:u.querySelector("input");c&&(c.focus(),c.select())},[]),o=(0,ps.useCallback)(a=>{let c=a.target.querySelector("input");c&&(c.focus(),c.select())},[]),r=(0,ps.useCallback)(a=>{let u=a.target;f2(u)&&((0,m2.isCharacterKey)(a.key)?n(a):a.key==="Enter"&&o(a))},[n,o]),i=(0,ps.useCallback)(a=>{let u=a.target;(u.matches("input")||u.querySelector("input"))&&(n(a),a.stopPropagation())},[n]),s=(0,ps.useCallback)(a=>{a.target.removeEventListener("vuu-commit",e,!0)},[e]),l=(0,ps.useCallback)(a=>{a.target.addEventListener("vuu-commit",e,!0)},[e]);return{onBlur:s,onDoubleClick:i,onFocus:l,onKeyDown:r}};var g2=require("@vuu-ui/vuu-data"),Fl=require("@vuu-ui/vuu-utils"),$t=require("react");var ju=require("@vuu-ui/vuu-utils"),{SELECTED:Yw}=ju.metadataKeys,Ag=class{constructor({from:e,to:n}){this.rowCount=0;this.setRowCount=e=>{e<this.data.length&&(this.data.length=e),this.rowCount=e};this.range=new ju.WindowRange(e,n),this.data=new Array(Math.max(0,n-e)),this.rowCount=0}add(e){let[n]=e;if(this.isWithinRange(n)){let o=n-this.range.from;if(this.data[o]=e,e[Yw]){let r=this.data[o-1];(0,ju.isRowSelectedLast)(r)&&(this.data[o-1]=r.slice(),this.data[o-1][Yw]-=4)}}}getAtIndex(e){return this.range.isWithin(e)&&this.data[e-this.range.from]!=null?this.data[e-this.range.from]:void 0}isWithinRange(e){return this.range.isWithin(e)}setRange({from:e,to:n}){if(e!==this.range.from||n!==this.range.to){let[o,r]=this.range.overlap(e,n),i=new Array(Math.max(0,n-e));for(let s=o;s<r;s++){let l=this.getAtIndex(s);if(l){let a=s-e;i[a]=l}}this.data=i,this.range.from=e,this.range.to=n}}getSelectedRows(){return this.data.filter(e=>e[Yw]!==0)}};var y2=({dataSource:t,onFeatureInvocation:e,onSizeChange:n,onSubscribed:o,range:r=Fl.NULL_RANGE,renderBufferSize:i=0})=>{let[,s]=(0,$t.useState)(null),l=(0,$t.useRef)([]),a=(0,$t.useRef)(!0),u=(0,$t.useRef)(!1),c=(0,$t.useRef)(Fl.NULL_RANGE),d=(0,$t.useMemo)(()=>new Ag((0,Fl.getFullRange)(r,i)),[]),f=(0,$t.useCallback)(m=>{for(let h of m)d.add(h);l.current=d.data,a.current?s({}):console.log("ignore update as we're not mounted")},[d]),p=(0,$t.useCallback)(m=>{m.type==="subscribed"?o==null||o(m):m.type==="viewport-update"?(typeof m.size=="number"&&(n==null||n(m.size),d.setRowCount(m.size)),m.rows?f(m.rows):typeof m.size=="number"&&(l.current=d.data,u.current=!0)):(0,g2.isVuuFeatureInvocation)(m)?e==null||e(m):console.log(`useDataSource unexpected message ${m.type}`)},[d,e,n,o,f]),g=(0,$t.useCallback)(()=>d.getSelectedRows(),[d]);(0,$t.useEffect)(()=>{var m;return a.current=!0,(m=t.resume)==null||m.call(t),()=>{var h;a.current=!1,(h=t.suspend)==null||h.call(t)}},[t]),(0,$t.useEffect)(()=>{var m;t.status==="disabled"?(m=t.enable)==null||m.call(t,p):t==null||t.subscribe({range:(0,Fl.getFullRange)(r,i)},p)},[t,p,r,i]);let y=(0,$t.useCallback)(m=>{let h=(0,Fl.getFullRange)(m,i);d.setRange(h),t.range=c.current=h,t.emit("range",m)},[t,d,i]);return{data:l.current,dataRef:l,getSelectedRows:g,range:c.current,setRange:y}};var Ng=require("react"),b2=t=>{let e=(0,Ng.useRef)(t);return(0,Ng.useMemo)(()=>e.current,[])};var st=require("react");var C2=new Set(["Home","End","PageUp","PageDown","ArrowDown","ArrowUp"]),eS=new Set(C2);eS.add("ArrowLeft");eS.add("ArrowRight");var T$=(t,e)=>{switch(e){case"cell":return eS.has(t);case"row":return C2.has(t);default:return!1}},k$=["Home","End","PageUp","PageDown"],v2=t=>k$.includes(t),M$=[-1,-1],Zw=[void 0,void 0],w2=(t,e=t.closest(".vuuTable-contentContainer"))=>{if(e){let n=e==null?void 0:e.getBoundingClientRect(),o=t.getBoundingClientRect();if(o)return o.bottom>n.bottom?["down",o.bottom-n.bottom]:o.top<n.top?["up",o.top-n.top]:Zw;throw Error("Whats going on, row not found")}else throw Error("Whats going on, scrollbar container not found")},I$=t=>{var n;let e=t.closest(".vuuTable-contentContainer");if(e){let o=t.closest(".vuuTableRow");if(o){let r=w2(o,e);if(r!==Zw)return r;let i=e==null?void 0:e.getBoundingClientRect(),s=(n=t.closest(".vuuTableCell"))==null?void 0:n.getBoundingClientRect();if(s){if(s.right>i.right)return["right",s.right+6-i.right];if(s.left<i.left)return["left",s.left-i.left]}else throw Error("Whats going on, cell not found")}}return Zw};function x2(t,[e,n],o,r){return t==="ArrowUp"?e>-1?[e-1,n]:[e,n]:t==="ArrowDown"?e===-1?[0,n]:e===r-1?[e,n]:[e+1,n]:t==="ArrowRight"?n<o?[e,n+1]:[e,n]:t==="ArrowLeft"?n>1?[e,n-1]:[e,n]:[e,n]}var S2=({columnCount:t=0,containerRef:e,disableFocus:n=!1,defaultHighlightedIndex:o,disableHighlightOnFocus:r,highlightedIndex:i,navigationStyle:s,requestScroll:l,onHighlight:a,rowCount:u=0,viewportRowCount:c})=>{var O;let d=(0,st.useRef)([-1,-1]),f=(0,st.useRef)(),p=(0,st.useRef)([-1,0]),g=(0,st.useRef)(),[y,m]=Le({controlled:i,default:o,name:"UseKeyboardNavigation"});g.current=y;let h=(0,st.useCallback)((P,N=!1)=>{a==null||a(P),m(P)},[a,m]),v=P=>P==null?void 0:P.closest("[role='columnHeader'],[role='cell']"),x=P=>{var N,D;if(P.role==="columnHeader")return[-1,parseInt((N=P.dataset.idx)!=null?N:"-1",10)];{let B=P.closest("[role='row']");if(B){let F=parseInt((D=B.ariaRowIndex)!=null?D:"-1",10),$=Array.from(B.childNodes).indexOf(P);return[F,$]}}return M$},b=(0,st.useCallback)(P=>{var N;if(e.current){let D=d2(e,P);if(D){D!==f.current&&((N=f.current)==null||N.removeAttribute("tabindex"),f.current=D,D.setAttribute("tabindex","0"));let[B,F]=I$(D);B&&F&&(l==null||l({type:"scroll-distance",distance:F,direction:B})),console.log("activeCell focus"),D.focus({preventScroll:!0})}}},[e,l]),S=(0,st.useCallback)((P,N,D=!1)=>{let B=[P,N];p.current=B,s==="row"?m(P):b(B),D&&(d.current=B)},[b,s,m]),C=(0,st.useCallback)((P,[N,D])=>new Promise(B=>{let F=N;switch(P){case"PageDown":F=Math.min(u-1,N+c),l==null||l({type:"scroll-page",direction:"down"});break;case"PageUp":F=Math.max(0,N-c),l==null||l({type:"scroll-page",direction:"up"});break;case"Home":F=0,l==null||l({type:"scroll-end",direction:"home"});break;case"End":F=u-1,l==null||l({type:"scroll-end",direction:"end"});break}setTimeout(()=>{B([F,D])},90)}),[l,u,c]),w=(0,st.useCallback)(()=>{var P;if(r!==!0&&(P=e.current)!=null&&P.contains(document.activeElement)){let N=v(document.activeElement);N&&(d.current=x(N),s==="row"&&m(d.current[0]))}},[r,e,s,m]),E=(0,st.useCallback)(async P=>{let[N,D]=v2(P)?await C(P,p.current):x2(P,p.current,t,u),[B,F]=p.current;(N!==B||D!==F)&&S(N,D,!0)},[t,C,u,S]),T=(0,st.useCallback)(P=>{let{current:N}=e,D=N==null?void 0:N.querySelector(`[aria-rowindex="${P}"]`);if(D){let[B,F]=w2(D);B&&F&&(l==null||l({type:"scroll-distance",distance:F,direction:B}))}},[e,l]),M=(0,st.useCallback)(async P=>{let{current:N}=g,[D]=v2(P)?await C(P,[N!=null?N:-1,0]):x2(P,[N!=null?N:-1,0],t,u);D!==N&&(h(D),T(D))},[t,C,u,T,h]);(0,st.useEffect)(()=>{i!==void 0&&i!==-1&&T(i)},[i,T]);let L=(0,st.useCallback)(P=>{u>0&&T$(P.key,s)&&(P.preventDefault(),P.stopPropagation(),s==="row"?M(P.key):E(P.key))},[u,s,M,E]),k=(0,st.useCallback)(P=>{let N=P.target,D=v(N);if(D){let[B,F]=x(D);S(B,F)}},[S]),I=(0,st.useCallback)(()=>{h(-1)},[h]),A=(0,st.useCallback)(P=>{let N=p2(P.target);N!==-1&&N!==g.current&&h(N)},[h]),H=(0,st.useCallback)(()=>{E("ArrowDown")},[E]),R=((O=e.current)==null?void 0:O.firstChild)!=null;return(0,st.useEffect)(()=>{if(R&&f.current===void 0&&!n){let{current:P}=e,N=(P==null?void 0:P.querySelector(Jw(0)))||(P==null?void 0:P.querySelector(Xw(0,0)));N&&(N.setAttribute("tabindex","0"),f.current=N)}},[e,n,R]),{highlightedIndexRef:g,navigate:H,onClick:k,onFocus:w,onKeyDown:L,onMouseLeave:s==="row"?I:void 0,onMouseMove:s==="row"?A:void 0}};var Pr=require("@vuu-ui/vuu-utils"),Bl=require("react"),{IDX:P$}=Pr.metadataKeys,D$=[],R$=["Enter"," "],E2=({highlightedIndexRef:t,selectionKeys:e=R$,selectionModel:n,onSelect:o,onSelectionChange:r})=>{let i=(0,Bl.useRef)(-1),s=(0,Bl.useRef)(D$),l=(0,Bl.useCallback)(c=>e.includes(c.key),[e]),a=(0,Bl.useCallback)((c,d,f)=>{let{[P$]:p}=c,{current:g}=i,{current:y}=s,h=((0,Pr.isRowSelected)(c)?Pr.deselectItem:Pr.selectItem)(n,y,p,d,f,g);s.current=h,i.current=p,o==null||o(c),r==null||r(h)},[o,r,n]);return{onKeyDown:(0,Bl.useCallback)(c=>{if(l(c)){let{current:d}=t;if(d!==void 0&&d!==-1){let f=c.target.querySelector(`[aria-rowindex="${d}"]`);f&&(0,Pr.dispatchMouseEvent)(f,"click")}}},[t,l]),onRowClick:a}};var T2=require("@vuu-ui/vuu-utils"),k2=require("react"),L$=[],M2=({columns:t,data:e,dataSource:n,getSelectedRows:o})=>{let[r]=Na();return(0,k2.useCallback)(s=>{var c;let l=s.target,a=l==null?void 0:l.closest("div[role='cell']"),u=l==null?void 0:l.closest("div[role='row']");if(a&&u){let{selectedRowsCount:d}=n,f=(0,T2.buildColumnMap)(t),p=parseInt((c=u.ariaRowIndex)!=null?c:"-1"),g=Array.from(u.childNodes).indexOf(a),y=e.find(([h])=>h===p),m=t[g];r(s,"grid",{columnMap:f,columnName:m,row:y,selectedRows:d===0?L$:o(),viewport:n.viewport})}},[t,e,n,o,r])};var he=require("@vuu-ui/vuu-utils");var I2=require("react"),{info:tS}=(0,he.logger)("useTableModel"),A$=100,N$=he.metadataKeys.count,H$=({serverDataType:t})=>t===void 0,P2=(t,e)=>{let n=e==null?void 0:e.columns.find(({name:o})=>o===t.name);return n?n.serverDataType:t.serverDataType},O$=["int","long","double"],D2=t=>t===void 0?void 0:O$.includes(t)?"right":"left",R2=t=>t.type==="columnSettings",L2=t=>t.type==="tableSettings",F$=(t,e)=>{switch(tS==null||tS(`TableModelReducer ${e.type}`),e.type){case"init":return N2(e);case"moveColumn":return V$(t,e);case"resizeColumn":return _$(t,e);case"setTableSchema":return W$(t,e);case"hideColumns":return z$(t,e);case"showColumns":return $$(t,e);case"pinColumn":return K$(t,e);case"updateColumnProp":return qu(t,e);case"tableConfig":return O2(t,e);default:return console.log(`unhandled action ${e.type}`),t}},A2=(t,e)=>{let[n,o]=(0,I2.useReducer)(F$,{tableConfig:t,dataSource:e},N2),{columns:r,headings:i,tableConfig:s,...l}=n;return{columns:r,dispatchColumnAction:o,headings:i,tableAttributes:l,tableConfig:s}};function N2({dataSource:t,tableConfig:e}){let{columns:n,...o}=e;console.log(JSON.stringify(o,null,2));let{config:r,tableSchema:i}=t,s=n.filter((0,he.subscribedOnly)(r==null?void 0:r.columns)).map(H2(o,i)),l=s.some(he.isPinned)?(0,he.sortPinnedColumns)(s):s,a={columns:l,headings:(0,he.getTableHeadings)(l),tableConfig:e,...o};if(r){let{columns:u,...c}=r;a=O2(a,{type:"tableConfig",...c})}return a}var B$=(t,e)=>e==="uppercase"?t.toUpperCase():e==="capitalize"?t[0].toUpperCase()+t.slice(1).toLowerCase():t,H2=(t,e)=>(n,o)=>{let{columnDefaultWidth:r=A$,columnFormatHeader:i}=t,s=P2(n,e),{align:l=D2(s),key:a,name:u,label:c=(0,he.getColumnLabel)(n),width:d=r,...f}=n,p={...f,align:l,CellRenderer:(0,he.getCellRenderer)(n),HeaderCellLabelRenderer:(0,he.getCellRenderer)(n,"col-label"),HeaderCellContentRenderer:(0,he.getCellRenderer)(n,"col-content"),clientSideEditValidationCheck:(0,he.hasValidationRules)(n.type)?gD(n.type.renderer.rules):void 0,label:B$(c,i),key:a!=null?a:o+N$,name:u,originalIdx:o,serverDataType:s,valueFormatter:(0,he.getValueFormatter)(n,s),width:d};return(0,he.isGroupColumn)(p)&&(p.columns=p.columns.map(g=>H2(t)(g,g.key))),p};function V$(t,{column:e,moveBy:n}){let{columns:o}=t;if(typeof n=="number"){let r=o.indexOf(e),i=o.slice(),[s]=i.splice(r,1);return i.splice(r+n,0,s),{...t,columns:i}}return t}function z$(t,{columns:e}){return e.some(n=>n.hidden!==!0)?e.reduce((n,o)=>o.hidden!==!0?qu(n,{type:"updateColumnProp",column:o,hidden:!0}):n,t):t}function $$(t,{columns:e}){return e.some(n=>n.hidden)?e.reduce((n,o)=>o.hidden?qu(n,{type:"updateColumnProp",column:o,hidden:!1}):n,t):t}function _$(t,{column:e,phase:n,width:o}){let r="updateColumnProp",i=n!=="end";switch(n){case"begin":return qu(t,{type:r,column:e,resizing:i});case"end":return qu(t,{type:r,column:e,resizing:i,width:o});case"resize":return qu(t,{type:r,column:e,width:o});default:throw Error(`useTableModel.resizeColumn, invalid resizePhase ${n}`)}}function W$(t,{tableSchema:e}){let{columns:n}=t;if(n.some(H$)){let o=n.map(r=>{var s;let i=P2(r,e);return{...r,align:(s=r.align)!=null?s:D2(i),serverDataType:i}});return{...t,columns:o}}else return t}function K$(t,e){let{columns:n}=t,{column:o,pin:r}=e,i=n.find(s=>s.name===o.name);return i?(n=(0,he.replaceColumn)(n,{...i,pin:r}),n=(0,he.sortPinnedColumns)(n),{...t,columns:n}):t}function qu(t,e){let{columns:n,tableConfig:o}=t,{align:r,column:i,hidden:s,label:l,resizing:a,width:u}=e,c=n.find(d=>d.name===i.name);if(c&&((r==="left"||r==="right")&&(n=(0,he.replaceColumn)(n,{...c,align:r})),typeof l=="string"&&(n=(0,he.replaceColumn)(n,{...c,label:l})),typeof a=="boolean"&&(n=(0,he.replaceColumn)(n,{...c,resizing:a})),typeof s=="boolean"&&(n=(0,he.replaceColumn)(n,{...c,hidden:s})),typeof u=="number")){n=(0,he.replaceColumn)(n,{...c,width:u});let d=o.columns.find(f=>f.name===i.name);d&&(o={...o,columns:(0,he.replaceColumn)(o.columns,{...d,width:u})})}return{...t,columns:n,tableConfig:o}}function O2(t,{confirmed:e,filter:n,groupBy:o,sort:r}){let i=o!==void 0,s=typeof(n==null?void 0:n.filter)=="string",l=r&&r.sortDefs.length>0,a=t;return i&&(a={...t,columns:(0,he.applyGroupByToColumns)(a.columns,o,e)}),l&&(a={...t,columns:(0,he.applySortToColumns)(a.columns,r)}),s?a={...t,columns:(0,he.applyFilterToColumns)(a.columns,n)}:a.columns.some(he.isFilteredColumn)&&(a={...t,columns:(0,he.stripFilterFromColumns)(a.columns)}),a}var hn=require("react"),F2=t=>{let{scrollLeft:e,scrollTop:n}=t,{clientHeight:o,clientWidth:r,scrollHeight:i,scrollWidth:s}=t,l=e/(s-r),a=n/(i-o);return[l,a]},B2=({onAttach:t,onDetach:e})=>{let n=(0,hn.useRef)(null);return(0,hn.useCallback)(r=>{if(r)n.current=r,t==null||t(r);else if(n.current){let{current:i}=n;n.current=r,e==null||e(i)}},[t,e])},V2=({maxScrollLeft:t,maxScrollTop:e,onHorizontalScroll:n,onVerticalScroll:o,rowHeight:r,viewportRowCount:i})=>{let s=(0,hn.useRef)(!1),l=(0,hn.useRef)({scrollTop:0,scrollLeft:0}),a=(0,hn.useRef)(null),u=(0,hn.useRef)(null),c=(0,hn.useCallback)(()=>{let{current:x}=u,{current:b}=a,{current:S}=s;if(S)s.current=!1;else if(x&&b){let[C,w]=F2(b),E=Math.round(C*t),T=Math.round(w*e);x.scrollTo({left:E,top:T,behavior:"auto"})}},[t,e]),d=(0,hn.useCallback)(()=>{let{current:x}=u,{current:b}=a,{current:S}=l;if(x&&b){let{scrollLeft:C,scrollTop:w}=x,[E,T]=F2(x);s.current=!0,b.scrollLeft=Math.round(E*t),b.scrollTop=Math.round(T*e),S.scrollTop!==w&&(S.scrollTop=w,o==null||o(w,T)),S.scrollLeft!==C&&(S.scrollLeft=C,n==null||n(C))}},[t,e,n,o]),f=(0,hn.useCallback)(x=>{a.current=x,x.addEventListener("scroll",c,{passive:!0})},[c]),p=(0,hn.useCallback)(x=>{a.current=null,x.removeEventListener("scroll",c)},[c]),g=(0,hn.useCallback)(x=>{u.current=x,x.addEventListener("scroll",d,{passive:!0})},[d]),y=(0,hn.useCallback)(x=>{u.current=null,x.removeEventListener("scroll",d)},[d]),m=B2({onAttach:g,onDetach:y}),h=B2({onAttach:f,onDetach:p}),v=(0,hn.useCallback)(x=>{let{current:b}=u;if(b){let{scrollLeft:S,scrollTop:C}=b;if(s.current=!1,x.type==="scroll-distance"){let w=S,E=C;x.direction==="up"||x.direction==="down"?E=Math.min(Math.max(0,C+x.distance),e):w=Math.min(Math.max(0,S+x.distance),t),b.scrollTo({top:E,left:w,behavior:"smooth"})}else if(x.type==="scroll-page"){let{direction:w}=x,E=i*(w==="down"?r:-r),T=Math.min(Math.max(0,C+E),e);b.scrollTo({top:T,left:S,behavior:"auto"})}else if(x.type==="scroll-end"){let{direction:w}=x,E=w==="end"?e:0;b.scrollTo({top:E,left:b.scrollLeft,behavior:"auto"})}}},[t,e,r,i]);return{scrollbarContainerRef:h,contentContainerRef:m,requestScroll:v}};var ai=require("react"),Hg=require("@vuu-ui/vuu-utils"),U$=15e5,G$={contentHeight:0,contentWidth:0,getRowAtPosition:()=>-1,getRowOffset:()=>-1,horizontalScrollbarHeight:0,maxScrollContainerScrollHorizontal:0,maxScrollContainerScrollVertical:0,pinnedWidthLeft:0,pinnedWidthRight:0,rowCount:0,setPctScrollTop:()=>{},totalHeaderHeight:0,verticalScrollbarWidth:0,viewportBodyHeight:0},j$=t=>{let e=0,n=0,o=0;for(let r of t){let{hidden:i,pin:s,width:l}=r,a=i?0:l;s==="left"?e+=a:s==="right"?n+=a:o+=a}return{pinnedWidthLeft:e+4,pinnedWidthRight:n+4,unpinnedWidth:o}},z2=({columns:t,headerHeight:e,headings:n,rowCount:o,rowHeight:r,size:i})=>{let s=(0,ai.useRef)(0),a=Math.min(o,U$)*r,c=o*r-a,{pinnedWidthLeft:d,pinnedWidthRight:f,unpinnedWidth:p}=(0,ai.useMemo)(()=>j$(t),[t]),[g,y]=(0,ai.useMemo)(()=>(0,Hg.actualRowPositioning)(r),[r]),[m,h]=(0,ai.useMemo)(()=>c?(0,Hg.virtualRowPositioning)(r,c,s):[g,y],[y,g,c,r]),v=(0,ai.useCallback)(x=>{s.current=x},[]);return(0,ai.useMemo)(()=>{var x;if(i){let b=n.length,S=15,C=d+p+f,w=C>i.width?S:0,E=e*(1+b),T=a-(((x=i==null?void 0:i.height)!=null?x:0)-w)+E,M=C-i.width+d,L=(i.height-e)/r,k=Number.isInteger(L)?L+1:Math.ceil(L),I=i.height-E,A=a>I?S:0;return{contentHeight:a,getRowAtPosition:h,getRowOffset:m,horizontalScrollbarHeight:w,maxScrollContainerScrollHorizontal:M,maxScrollContainerScrollVertical:T,pinnedWidthLeft:d,pinnedWidthRight:f,rowCount:k,contentWidth:C,setPctScrollTop:v,totalHeaderHeight:E,verticalScrollbarWidth:A,viewportBodyHeight:I}}else return G$},[i,n.length,d,p,f,a,e,r,h,m,v])};var Qu=require("react"),$2=({columns:t,getRowAtPosition:e,setRange:n,viewportMeasurements:o})=>{let r=(0,Qu.useRef)(0),{contentWidth:i,rowCount:s}=o,l=(0,Qu.useCallback)(a=>{let u=e(a);u!==r.current&&(r.current=u,n({from:u,to:u+s}))},[e,n,s]);return(0,Qu.useEffect)(()=>{let{current:a}=r,u={from:a,to:a+s};n(u)},[n,s]),{onVerticalScroll:l}};var Og=t=>t,{KEY:q$,IS_EXPANDED:_2,IS_LEAF:W2}=on.metadataKeys,Q$={draggable:void 0,onMouseDown:void 0},J$=()=>Q$,X$=(t,e)=>({...t,columns:t.columns.concat(e)}),K2=({allowDragDrop:t=!1,availableColumns:e,config:n,containerRef:o,dataSource:r,disableFocus:i,headerHeight:s=25,highlightedIndex:l,id:a,navigationStyle:u="cell",onAvailableColumnsChange:c,onConfigChange:d,onDragStart:f,onDrop:p,onFeatureInvocation:g,onHighlight:y,onRowClick:m,onSelect:h,onSelectionChange:v,renderBufferSize:x=0,rowHeight:b=20,selectionModel:S,size:C})=>{let[w,E]=(0,Ee.useState)(r.size);if(r===void 0)throw Error("no data source provided to Vuu Table");let T=t?cr:J$,M=(0,Ee.useMemo)(()=>a2(r),[r]),L=(0,Ee.useCallback)(_=>{E(_)},[]),{columns:k,dispatchColumnAction:I,headings:A,tableAttributes:H,tableConfig:R}=A2(n,r);kn(()=>{I({type:"init",dataSource:r,tableConfig:R})},[R,r,I]);let O=(0,Ee.useCallback)(_=>{I({type:"init",tableConfig:_,dataSource:r}),d==null||d(Og(_))},[r,I,d]),[P,N]=(0,Ee.useState)(),[D,B]=(0,Ee.useMemo)(()=>{let _=(ue,Me)=>{let Ct=(0,on.updateColumn)(k,ue,{width:Me});N(Ct)};return[P!=null?P:k,_]},[k,P]),F=(0,Ee.useMemo)(()=>(0,on.buildColumnMap)(r.columns),[r.columns]),{getRowAtPosition:$,getRowOffset:Q,setPctScrollTop:J,...K}=z2({columns:D,headerHeight:s,headings:A,rowCount:w,rowHeight:b,size:C}),G=b2({from:0,to:K.rowCount}),se=(0,Ee.useCallback)(({tableSchema:_})=>{_?I({type:"setTableSchema",tableSchema:_}):console.log("subscription message with no schema")},[I]),{data:Y,dataRef:Re,getSelectedRows:ge,range:Te,setRange:be}=y2({dataSource:r,onFeatureInvocation:g,renderBufferSize:x,onSizeChange:L,onSubscribed:se,range:G}),$e=(0,Ee.useCallback)(_=>{console.log("settings changed"),I({type:"init",tableConfig:_,dataSource:r}),d==null||d(Og(_))},[r,I,d]),lt=(0,Ee.useCallback)(_=>{r.config={...r.config,..._}},[r]);(0,Ee.useEffect)(()=>{r.on("config",(_,ue)=>{I({type:"tableConfig",..._,confirmed:ue})})},[r,I]);let Be=(0,Ee.useCallback)(_=>{r.columns=r.columns.concat(_.name),O(X$(R,_))},[r,R,O]),Se=(0,Ee.useCallback)(_=>{let{columns:ue}=_,Me=ue.map(ht=>ht.name),Ct={...R,columns:R.columns.map(ht=>Me.includes(ht.name)?{...ht,hidden:!0}:ht)};O(Ct)},[R,O]),Ve=(0,Ee.useCallback)(_=>{O({...R,columns:(0,on.updateColumn)(R.columns,{..._.column,pin:_.pin})})},[R,O]),{showColumnSettingsPanel:et,showTableSettingsPanel:vn}=s2({availableColumns:e!=null?e:R.columns.map(({name:_,serverDataType:ue="string"})=>({name:_,serverDataType:ue})),onAvailableColumnsChange:c,onConfigChange:$e,onCreateCalculatedColumn:Be,onDataSourceConfigChange:lt,tableConfig:R}),Ae=(0,Ee.useCallback)(_=>{if(R2(_))et(_);else if(L2(_))vn();else switch(_.type){case"hideColumns":return Se(_);case"pinColumn":return Ve(_);default:I(_)}},[I,Se,Ve,et,vn]),ee=c2({dataSource:r,onPersistentColumnOperation:Ae}),re=(0,Ee.useCallback)((_,ue=!1,Me)=>{r&&(r.sort=(0,on.applySort)(r.sort,_,ue,Me))},[r]),ce=(0,Ee.useCallback)((_,ue,Me)=>{let Ct=D.find(ht=>ht.name===ue);if(Ct)_==="resize"?(0,on.isValidNumber)(Me)&&B(ue,Me):_==="end"?(0,on.isValidNumber)(Me)&&(I({type:"resizeColumn",phase:_,column:Ct,width:Me}),N(void 0),d==null||d(Og(Uw(R,{type:"col-size",column:Ct,width:Me})))):(N(void 0),I({type:"resizeColumn",phase:_,column:Ct,width:Me}));else throw Error(`useDataTable.handleColumnResize, column ${ue} not found`)},[D,R,I,d,B]),fe=(0,Ee.useCallback)((_,ue)=>{let Me=(0,on.isJsonGroup)(ue,_),Ct=_[q$];if(_[_2]){if(r.closeTreeNode(Ct,!0),Me){let ht=D.indexOf(ue);r.getRowsAtDepth(ht+1).some(Lo=>Lo[_2]||Lo[W2])||I({type:"hideColumns",columns:D.slice(ht+2)})}}else if(r.openTreeNode(Ct),Me){let ht=r.getChildRows(Ct),Ro=D.indexOf(ue)+1,Lo=[D[Ro]];ht.some(Yl=>Yl[W2])&&Lo.push(D[Ro+1]),Lo.some(Yl=>Yl.hidden)&&I({type:"showColumns",columns:Lo})}},[D,r,I]),{onVerticalScroll:oe}=$2({columns:D,getRowAtPosition:$,setRange:be,viewportMeasurements:K}),pe=(0,Ee.useCallback)(_=>{oe(_)},[oe]),{requestScroll:ve,...Ne}=V2({maxScrollLeft:K.maxScrollContainerScrollHorizontal,maxScrollTop:K.maxScrollContainerScrollVertical,rowHeight:b,onVerticalScroll:pe,viewportRowCount:K.rowCount}),{highlightedIndexRef:at,navigate:X,onFocus:ie,onKeyDown:xt,...xn}=S2({columnCount:D.filter(_=>_.hidden!==!0).length,containerRef:o,disableFocus:i,highlightedIndex:l,navigationStyle:u,requestScroll:ve,rowCount:r==null?void 0:r.size,onHighlight:y,viewportRange:Te,viewportRowCount:K.rowCount}),{onBlur:Cn,onDoubleClick:zn,onKeyDown:Jl,onFocus:mi}=h2({navigate:X}),Xl=(0,Ee.useCallback)(_=>{ie(),_.defaultPrevented||mi(_)},[mi,ie]),Kf=M2({columns:D,data:Y,dataSource:r,getSelectedRows:ge}),My=(0,Ee.useCallback)(_=>{r.groupBy=_.map(ue=>ue.name)},[r]),Iy=(0,Ee.useCallback)(_=>{(0,on.isGroupColumn)(_)?r.groupBy=[]:r&&r.groupBy.includes(_.name)&&(r.groupBy=r.groupBy.filter(ue=>ue!==_.name))},[r]),Uf=(0,Ee.useCallback)(_=>{r.select(_),v==null||v(_)},[r,v]),{onKeyDown:Gf,onRowClick:vc}=E2({highlightedIndexRef:at,onSelect:h,onSelectionChange:Uf,selectionModel:S}),Py=(0,Ee.useCallback)(_=>{xt(_),_.defaultPrevented||Jl(_),_.defaultPrevented||Gf(_)},[xt,Jl,Gf]),Dy=(0,Ee.useCallback)((_,ue,Me)=>{vc(_,ue,Me),m==null||m(_)},[m,vc]);kn(()=>{I({type:"init",tableConfig:n,dataSource:r})},[n,r,I]);let Ry=(0,Ee.useCallback)(_=>{let ue={...R,columns:_};I({type:"init",tableConfig:ue,dataSource:r}),d==null||d(Og(ue))},[r,I,d,R]),jf=(0,Ee.useCallback)(_=>{p==null||p(_)},[p]),qf=(0,Ee.useCallback)(async(_,ue,Me)=>r.applyEdit(_,ue,Me),[r]),$n=(0,Ee.useCallback)(_=>{let{initialDragElement:ue}=_,Me=ue.ariaRowIndex;if(Me){let Ct=parseInt(Me),ht=Re.current.find(Ro=>Ro[0]===Ct);ht&&_.setPayload(ht)}f==null||f(_)},[Re,f]),{onMouseDown:tt,draggable:sn}=T({allowDragDrop:t,containerRef:o,draggableClassName:"vuuTable",id:a,onDragStart:$n,onDrop:jf,orientation:"vertical",itemQuery:".vuuTableRow"});return{...xn,draggableRow:sn,onBlur:Cn,onDoubleClick:zn,onFocus:Xl,onKeyDown:Py,onMouseDown:tt,columnMap:F,columns:D,data:Y,handleContextMenuAction:ee,headings:A,highlightedIndex:at.current,menuBuilder:M,onContextMenu:Kf,onDataEdited:qf,onMoveColumn:Ry,onMoveGroupColumn:My,onRemoveGroupColumn:Iy,onRowClick:Dy,onSortColumn:re,onResizeColumn:ce,onToggleGroup:fe,scrollProps:Ne,tableAttributes:H,tableConfig:R,viewportMeasurements:K}};var Fg=require("@vuu-ui/vuu-utils"),G2=V(j());var Mf=require("@vuu-ui/vuu-utils"),If=require("react"),U2=({columns:t,onMoveColumn:e,onSortColumn:n,tableConfig:o})=>{let r=(0,If.useRef)(null),i=(0,If.useCallback)((c,d)=>{let f=t[c],p=(0,Mf.moveColumnTo)(t,f,d),g=({name:v})=>x=>x.name===v,y=p.findIndex(g(f)),m=p[y+1],h=m?o.columns.findIndex(g(m)):-1;e((0,Mf.moveColumnTo)(o.columns,f,h))},[t,e,o.columns]),s=(0,If.useCallback)(c=>{var m;let f=c.target.closest(".vuuTableHeaderCell"),p=parseInt((m=f==null?void 0:f.dataset.index)!=null?m:"-1"),g=(0,Mf.visibleColumnAtIndex)(t,p),y=c.shiftKey;g&&n(g,y)},[t,n]),{onMouseDown:l,draggable:a,...u}=cr({allowDragDrop:!0,containerRef:r,draggableClassName:"vuuTable",onDrop:i,orientation:"horizontal",itemQuery:".vuuTableHeaderCell"});return{containerRef:r,draggableColumn:a,draggedColumnIndex:u.draggedItemIndex,onClick:s,onMouseDown:l}};var ms=require("react/jsx-runtime"),j2=({classBase:t="vuuTable",columns:e,headings:n,onMoveColumn:o,onMoveGroupColumn:r,onRemoveGroupColumn:i,onResizeColumn:s,onSortColumn:l,tableConfig:a,tableId:u})=>{let{containerRef:c,draggableColumn:d,draggedColumnIndex:f,onClick:p,onMouseDown:g}=U2({columns:e,onMoveColumn:o,onSortColumn:l,tableConfig:a});return(0,ms.jsxs)("div",{className:`${t}-col-headings`,ref:c,children:[n.map((y,m)=>(0,ms.jsx)("div",{className:"vuuTable-heading",children:y.map(({label:h,width:v},x)=>(0,ms.jsx)("div",{className:"vuuTable-headingCell",style:{width:v},children:h},x))},m)),(0,ms.jsxs)("div",{className:`${t}-col-headers`,role:"row",children:[e.filter(Fg.isNotHidden).map((y,m)=>(0,Fg.isGroupColumn)(y)?(0,ms.jsx)(p0,{column:y,"data-index":m,onMoveColumn:r,onRemoveColumn:i,onResize:s},y.name):(0,ms.jsx)(VD,{className:(0,G2.default)({"vuuDraggable-dragAway":m===f}),column:y,"data-index":m,id:`${u}-col-${m}`,onClick:p,onMouseDown:g,onResize:s},y.name)),d]})]})};var Po=require("react/jsx-runtime"),ui="vuuTable",{IDX:q2,RENDER_IDX:Y$}=Q2.metadataKeys,Z$=({Row:t=y0,allowDragDrop:e,availableColumns:n,config:o,containerRef:r,dataSource:i,disableFocus:s=!1,highlightedIndex:l,id:a,navigationStyle:u="cell",onAvailableColumnsChange:c,onConfigChange:d,onDragStart:f,onDrop:p,onFeatureInvocation:g,onHighlight:y,onRowClick:m,onSelect:h,onSelectionChange:v,renderBufferSize:x=0,rowHeight:b=20,selectionModel:S="extended",showColumnHeaders:C=!0,headerHeight:w=C?25:0,size:E})=>{let T=ke(a),{columnMap:M,columns:L,data:k,draggableRow:I,handleContextMenuAction:A,headings:H,highlightedIndex:R,onDataEdited:O,onMoveColumn:P,onMoveGroupColumn:N,onRemoveGroupColumn:D,onResizeColumn:B,onRowClick:F,onSortColumn:$,onToggleGroup:Q,menuBuilder:J,scrollProps:K,tableAttributes:G,tableConfig:se,viewportMeasurements:Y,...Re}=K2({allowDragDrop:e,availableColumns:n,config:o,containerRef:r,dataSource:i,disableFocus:s,headerHeight:w,highlightedIndex:l,id:T,navigationStyle:u,onAvailableColumnsChange:c,onConfigChange:d,onDragStart:f,onDrop:p,onFeatureInvocation:g,onHighlight:y,onRowClick:m,onSelect:h,onSelectionChange:v,renderBufferSize:x,rowHeight:b,selectionModel:S,size:E}),ge=(0,nS.default)(`${ui}-contentContainer`,{[`${ui}-colLines`]:G.columnSeparators,[`${ui}-rowLines`]:G.rowSeparators,[`${ui}-zebra`]:G.zebraStripes}),Te={"--content-height":`${Y.contentHeight}px`,"--content-width":`${Y.contentWidth}px`,"--horizontal-scrollbar-height":`${Y.horizontalScrollbarHeight}px`,"--pinned-width-left":`${Y.pinnedWidthLeft}px`,"--pinned-width-right":`${Y.pinnedWidthRight}px`,"--header-height":`${w}px`,"--row-height":`${b}px`,"--total-header-height":`${Y.totalHeaderHeight}px`,"--vertical-scrollbar-width":`${Y.verticalScrollbarWidth}px`,"--viewport-body-height":`${Y.viewportBodyHeight}px`};return(0,Po.jsxs)(Sx,{menuActionHandler:A,menuBuilder:J,children:[(0,Po.jsx)("div",{className:`${ui}-scrollbarContainer`,ref:K.scrollbarContainerRef,style:Te,children:(0,Po.jsx)("div",{className:`${ui}-scrollbarContent`})}),(0,Po.jsx)("div",{className:ge,ref:K.contentContainerRef,style:Te,children:(0,Po.jsxs)("div",{...Re,className:`${ui}-table`,tabIndex:s?void 0:-1,children:[C?(0,Po.jsx)(j2,{columns:L,headings:H,onMoveColumn:P,onMoveGroupColumn:N,onRemoveGroupColumn:D,onResizeColumn:B,onSortColumn:$,tableConfig:se,tableId:T}):null,(0,Po.jsx)("div",{className:`${ui}-body`,children:k.map(be=>(0,Po.jsx)(t,{columnMap:M,columns:L,highlighted:R===be[q2],onClick:F,onDataEdited:O,row:be,offset:b*be[q2]+Y.totalHeaderHeight,onToggleGroup:Q,zebraStripes:G.zebraStripes},be[Y$]))})]})}),I]})},Bg=(0,Ju.forwardRef)(function({Row:e,allowDragDrop:n,availableColumns:o,className:r,config:i,dataSource:s,disableFocus:l,highlightedIndex:a,id:u,navigationStyle:c,onAvailableColumnsChange:d,onConfigChange:f,onDragStart:p,onDrop:g,onFeatureInvocation:y,onHighlight:m,onRowClick:h,onSelect:v,onSelectionChange:x,renderBufferSize:b,rowHeight:S,selectionModel:C,showColumnHeaders:w,headerHeight:E,style:T,...M},L){let k=(0,Ju.useRef)(null),[I,A]=(0,Ju.useState)();return(0,Po.jsx)(sh,{...M,className:(0,nS.default)(ui,r),id:u,onResize:A,ref:Oe(k,L),children:I?(0,Po.jsx)(Z$,{Row:e,allowDragDrop:n,availableColumns:o,config:i,containerRef:k,dataSource:s,disableFocus:l,headerHeight:E,highlightedIndex:a,id:u,navigationStyle:c,onAvailableColumnsChange:d,onConfigChange:f,onDragStart:p,onDrop:g,onFeatureInvocation:y,onHighlight:m,onRowClick:h,onSelect:v,onSelectionChange:x,renderBufferSize:b,rowHeight:S,selectionModel:C,showColumnHeaders:w,size:I}):null})});var Vg=require("react");var hs=(t,e)=>t.column===e.column&&t.row[t.columnMap[t.column.name]]===e.row[e.columnMap[e.column.name]];var zg=require("@vuu-ui/vuu-utils"),oS=require("react/jsx-runtime"),J2=(0,Vg.memo)(({column:t,columnMap:e,onCommit:n=nu,row:o})=>{let r=e[t.name],i=o[r],s=(0,Vg.useCallback)(l=>async a=>{let u=await n(l);return u===!0&&(0,zg.dispatchCustomEvent)(a.target,"vuu-commit"),u},[n]);return t.editable?(0,oS.jsx)(tx,{checked:i,onClick:s(!i)}):(0,oS.jsx)(Vd,{checked:i,disabled:!0})},hs);J2.displayName="CheckboxCell";(0,zg.registerComponent)("checkbox-cell",J2,"cell-renderer",{serverDataType:"boolean"});var $g=require("@vuu-ui/vuu-utils"),Xu=require("react");var X2=require("react/jsx-runtime"),e_="vuuTableDropdownCell",t_=["Enter"," "],n_=(0,Xu.memo)(function({column:e,columnMap:n,onCommit:o=nu,row:r}){let i=n[e.name],{initialValue:s,values:l}=Pf(e,r[i]),[a,u]=(0,Xu.useState)(null),c=(0,Xu.useCallback)((d,f)=>{f&&(u(f),o(f.value).then(p=>{p===!0&&d&&(0,$g.dispatchCustomEvent)(d.target,"vuu-commit")}))},[o]);return(0,X2.jsx)(eu,{className:e_,onSelectionChange:c,openKeys:t_,selected:a!=null?a:s,source:l,width:e.width-17})},hs);(0,$g.registerComponent)("dropdown-cell",n_,"cell-renderer",{});var Y2=require("@vuu-ui/vuu-utils");var Z2=V(j());var Wg=require("react/jsx-runtime"),_g="vuuTableInputCell",o_=()=>(console.warn("onCommit handler has not been provided to InputCell cell renderer"),Promise.resolve(!0)),r_=({column:t,columnMap:e,onCommit:n=o_,row:o})=>{let r=e[t.name],{align:i="left",clientSideEditValidationCheck:s,valueFormatter:l}=t,{warningMessage:a,...u}=yD({initialValue:l(o[r]),onCommit:n,clientSideEditValidationCheck:s}),c=a&&i==="left"?(0,Wg.jsx)("span",{className:`${_g}-icon`,"data-icon":"error"}):void 0,d=a&&i==="right"?(0,Wg.jsx)("span",{className:`${_g}-icon`,"data-icon":"error"}):void 0;return(0,Wg.jsx)(Un,{...u,className:(0,Z2.default)(_g,{[`${_g}-error`]:a!==void 0}),endAdornment:c,startAdornment:d})};(0,Y2.registerComponent)("input-cell",r_,"cell-renderer",{});var eH=require("@vuu-ui/vuu-utils"),tH=require("react");var nH=require("react/jsx-runtime"),i_=(0,tH.memo)(function({column:e,columnMap:n,row:o}){let r=n[e.name],{initialValue:i}=Pf(e,o[r]);return(0,nH.jsx)("span",{children:i==null?void 0:i.label})},hs);(0,eH.registerComponent)("lookup-cell",i_,"cell-renderer",{});var gs=require("@vuu-ui/vuu-utils"),rH=V(j()),Kg=require("react");var iH=require("react/jsx-runtime"),oH="vuuTableToggleCell",s_=({name:t,type:e})=>{if((0,gs.isTypeDescriptor)(e)&&(0,gs.isValueListRenderer)(e.renderer))return e.renderer.values;throw Error(`useLookupValues column ${t} has not been configured with a values list`)},l_=(0,Kg.memo)(function({column:e,columnMap:n,onCommit:o=nu,row:r}){let i=s_(e),s=n[e.name],l=r[s],a=(0,Kg.useCallback)((u,c)=>o(c).then(d=>(d===!0&&(0,gs.dispatchCustomEvent)(u.target,"vuu-commit"),d)),[o]);return(0,iH.jsx)(pD,{className:(0,rH.default)(oH,`${oH}-${e.name}`),onCommit:a,value:l,values:i,variant:"cta",children:l})},hs);(0,gs.registerComponent)("toggle-cell",l_,"cell-renderer",{});var sH=require("@vuu-ui/vuu-utils"),Df=require("react"),Ug=(t,e)=>{let n=(0,Df.useRef)(null),[o,r]=oP(t),i=(0,Df.useCallback)(l=>{var a;if(l.key==="ArrowDown")r((u=-1)=>Math.min(e-1,u+1));else if(l.key==="ArrowUp")r((u=-1)=>Math.max(0,u-1));else if(l.key==="Enter"||l.key===" "){let{current:u}=o,c=(a=n.current)==null?void 0:a.querySelector(`[aria-rowindex="${u}"]`);c&&(0,sH.dispatchMouseEvent)(c,"click")}},[o,e,r]),s=(0,Df.useCallback)(l=>{r(l)},[r]);return{highlightedIndexRef:o,onHighlight:s,onKeyDown:i,tableRef:n}};var jg=require("react");var lH=require("@vuu-ui/vuu-utils");var Gg=require("react/jsx-runtime"),a_="vuuSearchCell",u_=({column:t,columnMap:e,row:n})=>{let o=e[t.name],r=n[o];return(0,Gg.jsxs)("div",{className:a_,tabIndex:-1,children:[(0,Gg.jsx)("span",{"data-icon":"draggable"}),r]})};(0,lH.registerComponent)("search-cell",u_,"cell-renderer",{serverDataType:"private"});var ys=require("react");var c_=(t,e)=>n=>t.map(({name:o})=>n[e[o]]).join(" "),aH=({columnMap:t,columns:e,dataSource:n,defaultIsOpen:o,isOpen:r,itemToString:i=c_(e,t),onOpenChange:s,onSelect:l,searchColumns:a})=>{let[u,c]=(0,ys.useState)(""),[d,f]=_a({controlled:r,default:o!=null?o:!1,name:"useDropdownList"}),{highlightedIndexRef:p,onKeyDown:g,tableRef:y}=Ug(-1,n.size),m=(0,ys.useMemo)(()=>a.map(C=>`${C} starts "__VALUE__"`).join(" or "),[a]),h=(0,ys.useCallback)((C,w)=>{f(C),s==null||s(C,w)},[s,f]),v=(0,ys.useCallback)(C=>{let{value:w}=C.target;if(c(w),w&&w.trim().length){let E=m.replaceAll("__VALUE__",w);n.filter={filter:E}}else n.filter={filter:""};f(!0)},[m,n,f]),x=(0,ys.useCallback)(C=>{let w=i(C);c(w),l(C),h==null||h(!1,"select")},[h,i,l]),b={inputProps:{autoComplete:"off",onKeyDown:g},onChange:v},S={onSelect:x};return{highlightedIndex:p.current,inputProps:b,isOpen:d,onOpenChange:h,tableHandlers:S,tableRef:y,value:u}};var Yu=require("react/jsx-runtime"),d_="vuuInstrumentPicker",exe=(0,jg.forwardRef)(function({TableProps:{dataSource:e,...n},className:o,columnMap:r,disabled:i,id:s,itemToString:l,onOpenChange:a,onSelect:u,schema:c,searchColumns:d,width:f,...p},g){let y=ke(s),{highlightedIndex:m,inputProps:h,isOpen:v,onOpenChange:x,tableHandlers:b,tableRef:S,value:C}=aH({columnMap:r,columns:n.config.columns,dataSource:e,itemToString:l,onOpenChange:a,onSelect:u,searchColumns:d}),w=(0,jg.useMemo)(()=>(0,Yu.jsx)("span",{"data-icon":"chevron-down"}),[]),E={...n,config:{...n.config,zebraStripes:!1}};return(0,Yu.jsxs)(Ua,{...p,fullWidth:!0,id:y,isOpen:v,onOpenChange:x,openOnFocus:!0,placement:"below-full-width",ref:g,width:f,children:[(0,Yu.jsx)(Un,{...h,disabled:i,endAdornment:w,value:C}),(0,Yu.jsx)(Bg,{rowHeight:25,renderBufferSize:100,...E,...b,className:`${d_}-list`,height:200,highlightedIndex:m,dataSource:e,navigationStyle:"row",ref:S,showColumnHeaders:!1})]})});var pH=V(j()),mH=require("react");var uH=require("@vuu-ui/vuu-utils");var qg=require("react/jsx-runtime"),f_="vuuSearchCell",p_=({column:t,columnMap:e,row:n})=>{let o=e[t.name],r=n[o];return(0,qg.jsxs)("div",{className:f_,tabIndex:-1,children:[(0,qg.jsx)("span",{"data-icon":"draggable"}),r]})};(0,uH.registerComponent)("search-cell",p_,"cell-renderer",{serverDataType:"private"});var cH=require("@vuu-ui/vuu-data");var bs=require("react"),dH=({dataSource:t,searchColumns:e=["description"],table:n})=>{let[o,r]=(0,bs.useState)(t),{loadSession:i,saveSession:s}=Hm(),[l,a]=(0,bs.useState)({searchText:"",filter:""}),u=(0,bs.useMemo)(()=>e.map(d=>`${d} starts "__VALUE__"`).join(" or "),[e]);(0,bs.useMemo)(()=>{if(t===void 0)if(n){let d=`instrument-search-${n.module}-${n.table}`,f=i==null?void 0:i(d);f?r(f):rS(n).then(p=>{let g=new cH.RemoteDataSource({columns:p.columns.map(y=>y.name),table:p.table});r(g),s==null||s(g,d)})}else throw Error("useInstrumentSearch, if dataSource ismnot provided as prop, Vuu table must be provided")},[t,i,s,n]);let c=(0,bs.useCallback)(d=>{let{value:f}=d.target,p=u.replaceAll("__VALUE__",f);a({searchText:f,filter:p}),o&&(o.filter={filter:p})},[u,o]);return{dataSource:o,onChange:c,searchState:l}};var Vl=require("react/jsx-runtime"),iS="vuuInstrumentSearch",m_={columns:[{name:"bbg",hidden:!0},{name:"description",width:200,type:{name:"string",renderer:{name:"search-cell"}}}],rowSeparators:!0},h_=(0,Vl.jsx)("span",{"data-icon":"search"}),g_=({TableProps:t,autoFocus:e=!1,className:n,dataSource:o,placeHolder:r,searchColumns:i,table:s,...l})=>{var m;let{dataSource:a,onChange:u,searchState:c}=dH({dataSource:o,searchColumns:i,table:s}),{highlightedIndexRef:d,onHighlight:f,onKeyDown:p,tableRef:g}=Ug(-1,(m=a==null?void 0:a.size)!=null?m:0),y=(0,mH.useCallback)(h=>{setTimeout(()=>{var v;(v=h==null?void 0:h.querySelector("input"))==null||v.focus()},100)},[]);return(0,Vl.jsxs)("div",{...l,className:(0,pH.default)(iS,n),children:[(0,Vl.jsx)("div",{className:`${iS}-inputField`,children:(0,Vl.jsx)(Un,{inputProps:{onKeyDown:p},endAdornment:h_,placeholder:r,ref:e?y:null,value:c.searchText,onChange:u})}),a?(0,Vl.jsx)(Bg,{disableFocus:!0,id:"instrument-search",rowHeight:25,config:m_,highlightedIndex:d.current,renderBufferSize:100,...t,className:`${iS}-list`,dataSource:a,navigationStyle:"row",onHighlight:f,ref:g,showColumnHeaders:!1}):null]})},fH;(fH=nt)==null||fH("InstrumentSearch",g_,"view");var Zu=require("@vuu-ui/vuu-utils"),ec=require("react"),hH=V(j());var Qg=require("react/jsx-runtime"),y_="vuuPriceTicker",b_=t=>(0,Zu.numericFormatter)({type:{name:"number",formatting:{decimals:t,zeroPad:!0}}}),v_=[void 0,void 0],x_=(0,ec.memo)(({className:t,decimals:e=2,price:n,showArrow:o,...r})=>{let i=(0,ec.useRef)(v_),[s,l]=i.current,a=(0,ec.useMemo)(()=>b_(e),[e]),u=(0,Zu.isValidNumber)(s)?(0,Zu.getMovingValueDirection)(n,l,s,e):"";return i.current=[n,u],(0,Qg.jsxs)("div",{...r,className:(0,hH.default)(y_,t,u),children:[a(n),o?(0,Qg.jsx)("span",{"data-icon":"price-arrow"}):null]})});x_.displayName="PriceTicker";var Yg=V(j()),nc=V(require("react"));var MH=require("@vuu-ui/vuu-utils"),rn=require("react");var gH=t=>typeof t=="object"&&t!==null&&"tabIndex"in t&&typeof t.tabIndex=="number",yH=t=>({label:"Close",location:"tab",action:"close-tab",options:t}),bH=t=>({label:"Rename",location:"tab",action:"rename-tab",options:t});var vH=require("@vuu-ui/vuu-utils"),xH=(t,e)=>{if(t){let n=t.querySelector(`[data-index]:has(${e})`);return(0,vH.getElementDataIndex)(n)}return-1},sS=t=>xH(t,'[aria-selected="true"]'),CH=t=>xH(t,".vuuEditableLabel-editing");var tc=require("@vuu-ui/vuu-utils"),ci=require("react"),wH=(t,e,n="horizontal")=>{let o=(0,ci.useRef)(!1),r=(0,ci.useCallback)(()=>{o.current=!0},[]),i=(0,ci.useCallback)(()=>{o.current=!1},[]),s=(0,ci.useCallback)(()=>{var a,u;(a=t.current)==null||a.style.setProperty("--tab-thumb-transition","none"),(u=t.current)==null||u.removeEventListener("transitionend",s)},[t]),l=(0,ci.useRef)(-1);return(0,ci.useMemo)(()=>{var c,d;let a=0,u=0;if(l.current!==-1){let f=(c=t.current)==null?void 0:c.querySelector(".vuuTab-selected"),p=(d=t.current)==null?void 0:d.querySelector(`[data-index="${e}"] .vuuTab`),{positionProp:g,sizeProp:y}=tc.MEASURES[n];if(f&&p&&!o.current){let{[g]:m,[y]:h}=f.getBoundingClientRect(),{[g]:v}=p.getBoundingClientRect();if((0,tc.isValidNumber)(m)&&(0,tc.isValidNumber)(v)&&(0,tc.isValidNumber)(h)){a=m-v,u=h;let b=Math.abs(a/(n==="horizontal"?1100:700));requestAnimationFrame(()=>{var S,C,w,E;(S=t.current)==null||S.style.setProperty("--tab-thumb-offset","0px"),(C=t.current)==null||C.style.setProperty("--tab-thumb-size","100%"),(w=t.current)==null||w.style.setProperty("--tab-thumb-transition",`all ${b}s ease`),(E=t.current)==null||E.addEventListener("transitionend",s)})}}}return l.current=e,o.current?{containerStyle:{"--tab-thumb-offset":"0px","--tab-thumb-size":"100%"},resumeAnimation:i,suspendAnimation:r}:{containerStyle:{"--tab-thumb-offset":`${a}px`,"--tab-thumb-size":u?`${u}px`:void 0},resumeAnimation:i,suspendAnimation:r}},[e,t,n,s,i,r])};var Xg=require("@vuu-ui/vuu-utils"),Nt=require("react"),gn=require("@vuu-ui/vuu-utils");var EH={horizontal:{[gn.Home]:"start",[gn.End]:"end",[gn.ArrowLeft]:"bwd",[gn.ArrowRight]:"fwd"},vertical:{[gn.Home]:"start",[gn.End]:"end",[gn.ArrowUp]:"bwd",[gn.ArrowDown]:"fwd"}},C_=(t,e="horizontal")=>EH[e][t]!==void 0,w_=t=>t===gn.ArrowDown;function SH(t,e,n){return e==="start"?0:e==="end"?t-1:e==="bwd"?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var S_=t=>t!==null&&!t.classList.contains("wrapped"),Jg=(t,e)=>t?t.querySelector(`[data-index="${e}"]`):null,TH=({containerRef:t,defaultHighlightedIdx:e=-1,highlightedIdx:n,keyBoardActivation:o,orientation:r,selectedIndex:i=0})=>{let s=o==="manual",l=(0,Nt.useRef)(!1),a=(0,Nt.useRef)(-1),[u,c]=(0,Nt.useState)(!1),[,d]=(0,Nt.useState)({}),[f,p]=Le({controlled:n,default:e,name:"UseKeyboardNavigation"}),g=(0,Nt.useCallback)(k=>{p(a.current=k)},[p]),y=(0,Nt.useRef)(!1),m=(0,Nt.useCallback)((k,I=!1,A,H=70)=>{g(k),A===!0&&!y.current&&(y.current=!0);let R=()=>{let O=Jg(t.current,k);if(O){let P=(0,Xg.getFocusableElement)(O);P==null||P.focus()}};I?R():setTimeout(R,H)},[t,g]),h=k=>{if(a.current===-1&&k.target.tabIndex!==-1){let I=CH(t.current);I!==-1?requestAnimationFrame(()=>{g(I)}):setTimeout(()=>{a.current===-1&&i!==null&&g(i)},200)}},v=(0,Nt.useCallback)(()=>{var k,I;return(I=(k=t.current)==null?void 0:k.querySelectorAll("[data-index]").length)!=null?I:0},[t]),x=(0,Nt.useCallback)((k="fwd",I)=>{let A=v(),R=SH(A,k,typeof I=="number"?I:A),O=k==="start"?"fwd":k==="end"?"bwd":k;for(;(O==="fwd"&&R<A||O==="bwd"&&R>0)&&!S_(Jg(t.current,R));){let P=SH(A,O,R);if(P===R)break;R=P}return R},[t,v]),b=(0,Nt.useCallback)((k,I=!1)=>{let A=EH[r][k.key],H=x(A,f);H!==f?s&&m(H,!0):I&&d({})},[f,s,x,m,r]),S=(0,Nt.useCallback)(()=>{let k=Jg(t.current,f);return k?k.querySelector(".vuuPopupMenu")!=null:!1},[t,f]),C=(0,Nt.useCallback)(()=>{let k=Jg(t.current,f),I=k==null?void 0:k.querySelector(".vuuPopupMenu");return I&&(0,Xg.dispatchMouseEvent)(I,"click"),!1},[t,f]),w=(0,Nt.useCallback)(k=>{v()>0&&C_(k.key,r)?(k.preventDefault(),y.current?b(k):(y.current=!0,b(k,!0))):w_(k.key)&&S()&&C()},[C,v,S,b,r]),E=(k,I)=>{g(I)},T=(0,Nt.useCallback)(()=>{u||(c(!0),l.current?l.current=!1:y.current=!0)},[u]),M=(0,Nt.useCallback)(()=>{u||(l.current=!0),y.current=!1},[u]);return{containerProps:{onBlur:k=>{let I=k.target.closest(".vuuTabstrip"),A=k.relatedTarget;I&&!(I!=null&&I.contains(A))&&(g(-1),c(!1))},onMouseDownCapture:M,onFocus:T,onMouseLeave:()=>{y.current=!0,g(-1),l.current=!1}},focusVisible:y.current?f:-1,focusIsWithinComponent:u,highlightedIdx:f,focusTab:m,onClick:E,onFocus:h,onKeyDown:w,setHighlightedIdx:g}};var Rf=require("react"),E_=["Enter"," "],T_=t=>t&&t.matches('[class*="vuuTab "]'),kH=({defaultSelected:t,highlightedIdx:e,onSelectionChange:n,selected:o})=>{let[r,i,s]=Le({controlled:o,default:t!=null?t:0,name:"Tabstrip",state:"value"}),l=(0,Rf.useCallback)(d=>E_.includes(d.key),[]),a=(0,Rf.useCallback)(d=>{i(d),n==null||n(d)},[n,i]),u=(0,Rf.useCallback)(d=>{let f=d.target;l(d)&&e!==r&&T_(f)&&(d.stopPropagation(),d.preventDefault(),a(e))},[l,e,r,a]),c=(0,Rf.useCallback)((d,f)=>{f!==r&&a(f)},[a,r]);return{activateTab:a,isControlled:s,onClick:c,onKeyDown:u,selected:r}};var k_=new Set(["Enter"," "]),M_=t=>k_.has(t),I_=(t,e)=>t?t.querySelector(`[data-index="${e}"]`):null,IH=({activeTabIndex:t,allowDragDrop:e,animateSelectionThumb:n,containerRef:o,onActiveChange:r,onAddTab:i,onCloseTab:s,onExitEditMode:l,onMoveTab:a,orientation:u,keyBoardActivation:c})=>{let d=(0,rn.useRef)(t),{focusTab:f,highlightedIdx:p,onClick:g,onKeyDown:y,setHighlightedIdx:m,...h}=TH({containerRef:o,keyBoardActivation:c,orientation:u,selectedIndex:d.current}),{activateTab:v,onClick:x,onKeyDown:b,selected:S}=kH({highlightedIdx:p,onSelectionChange:r,selected:t});d.current=S;let{containerStyle:C,resumeAnimation:w,suspendAnimation:E}=wH(o,n?S:-1,u),T=(0,rn.useCallback)((K,G)=>{let{current:se}=d;console.log(`useTabstrip handleDrop ${K} - ${G} ${se}`),a==null||a(K,G);let Y=-1;G!==-1&&(se===K?Y=G:K>se&&G<=se?Y=se+1:K<se&&G>=se&&(Y=se-1),Y!==-1&&(E(),v(Y),requestAnimationFrame(w)),f(G,!1,!1,350))},[f,a,w,v,E]),{onMouseDown:M,...L}=cr({allowDragDrop:e,containerRef:o,draggableClassName:`tabstrip-${u}`,onDrop:T,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"}),k=(0,rn.useCallback)((K,G,se,Y)=>{console.log(`handleExitEditMode ${K} ${G} ${se} ${Y}`),l==null||l(K,G,se,Y),se||f(Y,!1,!0)},[f,l]),I=(0,rn.useCallback)((K,G)=>{g(K,G),x(K,G)},[g,x]),A=(0,rn.useCallback)((K=p)=>{let G=I_(o.current,K);if(G)return G.querySelector(".vuuEditableLabel")},[o,p]),H=(0,rn.useCallback)((K=p)=>{let G=A(K);return G?G.classList.contains("vuuEditableLabel-editing"):!1},[A,p]),R=(0,rn.useCallback)((K=p)=>{let G=A(K);G&&(0,MH.dispatchMouseEvent)(G,"dblclick")},[A,p]),O=(0,rn.useCallback)(K=>{y(K),K.defaultPrevented||b(K),!K.defaultPrevented&&M_(K.key)&&R()},[R,y,b]),P=(0,rn.useCallback)(K=>{let G=sS(o.current),se=G>K?G-1:G===K?0:G;return E(),s==null||s(K,se),setTimeout(()=>{w()},200),!0},[o,s,w,E]),N=(0,rn.useCallback)(K=>(R(K),!0),[R]),D=(0,rn.useCallback)(K=>{if(gH(K.options))switch(K.menuId){case"close-tab":return P(K.options.tabIndex);case"rename-tab":return N(K.options.tabIndex);default:console.log(`tab menu action ${K.menuId}`)}return!1},[P,N]),B=(0,rn.useCallback)(()=>{H()?m(p):f(p)},[p,f,m,H]),F=(0,rn.useCallback)(K=>{let G=parseInt(K.index);isNaN(G)||v(G)},[v]),$={onFocus:h.onFocus,onKeyDown:O},Q=(0,rn.useCallback)(()=>{i==null||i(),requestAnimationFrame(()=>{let K=sS(o.current);K!==-1&&f(K)})},[o,f,i]),J={onClick:I,onKeyDown:O,onExitEditMode:k,onMenuAction:D,onMenuClose:B,onMouseDown:M};return{activeTabIndex:S,containerStyle:C,focusVisible:h.focusVisible,containerProps:{...h.containerProps,onSwitchWrappedItemIntoView:F},navigationProps:$,onClickAddTab:Q,tabProps:J,...L}};var oc=require("react/jsx-runtime"),PH=require("react"),lS="vuuTabstrip",aS=({activeTabIndex:t,allowAddTab:e,allowCloseTab:n,allowDragDrop:o=!1,allowRenameTab:r=!1,animateSelectionThumb:i=!1,children:s,className:l,id:a,keyBoardActivation:u="manual",location:c,onActiveChange:d,onAddTab:f,onCloseTab:p,onExitEditMode:g,onMoveTab:y,orientation:m="horizontal",showTabMenuButton:h,style:v,tabClassName:x,...b})=>{let S=(0,nc.useRef)(null),{activeTabIndex:C,focusVisible:w,containerStyle:E,draggedItemIndex:T,onClickAddTab:M,tabProps:L,...k}=IH({activeTabIndex:t,allowDragDrop:o,animateSelectionThumb:i,containerRef:S,keyBoardActivation:u,onActiveChange:d,onAddTab:f,onCloseTab:p,onExitEditMode:g,onMoveTab:y,orientation:m}),I=ke(a),A=(0,Yg.default)(lS,`${lS}-${m}`,l),H=v||E?{...v,...E}:void 0,R=(0,nc.useMemo)(()=>Ws(s).map((O,P)=>{let{id:N=`${I}-tab-${P}`,className:D,closeable:B=n,editable:F=r,location:$,showMenuButton:Q=h}=O.props,J=P===C;return nc.default.cloneElement(O,{...L,...k.navigationProps,className:(0,Yg.default)(D,x),closeable:B,"data-overflow-priority":J?"1":void 0,dragging:T===P,editable:F,focusVisible:w===P,id:N,index:P,key:P,location:(0,Yg.default)(c,$),selected:J,showMenuButton:Q,tabIndex:J?0:-1})}).concat(e?(0,PH.createElement)(jt,{...k.navigationProps,"aria-label":"Create Tab",className:`${lS}-addTabButton`,"data-icon":"add","data-overflow-priority":"1",key:"addButton",onClick:M,variant:"secondary",tabIndex:-1}):[]),[s,e,k.navigationProps,M,I,n,r,h,C,L,x,T,w,c]);return(0,oc.jsxs)(oc.Fragment,{children:[(0,oc.jsx)(Kd,{...b,...k.containerProps,className:A,height:29,id:I,orientation:m,overflowIcon:"more-horiz",ref:S,style:H,children:R}),k.draggable]})};var HH=V(j()),_l=require("react");var DH=require("react"),RH=V(j());var AH=require("react/jsx-runtime"),P_="vuuTabMenu",LH=({allowClose:t,allowRename:e,controlledComponentId:n,controlledComponentTitle:o,location:r,onMenuAction:i,onMenuClose:s,index:l})=>{let[a,u]=(0,DH.useMemo)(()=>[(c,d)=>{let f=[];return e&&f.push(bH(d)),t&&f.push(yH(d)),f},{controlledComponentId:n,controlledComponentTitle:o,tabIndex:l}],[t,e,n,l]);return(0,AH.jsx)(Ha,{className:P_,menuBuilder:a,menuActionHandler:i,menuLocation:(0,RH.default)("tab",r),menuOptions:u,onMenuClose:s,tabIndex:-1})};var $l=require("react/jsx-runtime"),zl="vuuTab",NH=()=>{},uS=(0,_l.forwardRef)(function({ariaControls:e,children:n,className:o,closeable:r=!1,dragging:i,editable:s=!1,editing:l,focusVisible:a,index:u=-1,label:c,location:d,onClick:f,onClose:p,onEnterEditMode:g=NH,onExitEditMode:y=NH,onFocus:m,onKeyUp:h,onMenuAction:v,onMenuClose:x,orientation:b,selected:S,showMenuButton:C=r||s||!!d,tabIndex:w,...E},T){if(C&&typeof v!="function")throw Error("Tab onMenuAction must be provided if showMenuButton is set");let M=(0,_l.useRef)(null),L=(0,_l.useRef)(null),k=Oe(T,M),I=(0,_l.useCallback)(P=>{l||(P.preventDefault(),f==null||f(P,u))},[l,u,f]),A=(P="",N="",D=!0)=>y(P,N,D,u),H=P=>{switch(P.key){case"Backspace":case"Delete":r&&(P.stopPropagation(),p&&p(u));break;default:h&&h(P,u)}},R=()=>s?(0,$l.jsx)(_d,{editing:l,defaultValue:c,onEnterEditMode:g,onExitEditMode:A,ref:L},c):c,O=P=>{if(L.current){let D=L.current.querySelector(".vuuEditableLabel-input");D==null||D.focus()}m==null||m(P)};return(0,$l.jsxs)("div",{...E,"aria-controls":e,"aria-selected":S,className:(0,HH.default)(zl,o,{[`${zl}-closeable`]:r,"vuuDraggable-dragAway":i,[`${zl}-editing`]:l,[`${zl}-selected`]:S||void 0,[`${zl}-vertical`]:b==="vertical",vuuFocusVisible:a}),onClick:I,onFocus:O,onKeyUp:H,ref:k,role:"tab",tabIndex:w,children:[(0,$l.jsx)("div",{className:`${zl}-main`,children:(0,$l.jsx)("span",{className:`${zl}-text`,"data-text":s?void 0:c,children:n!=null?n:R()})}),C?(0,$l.jsx)(LH,{allowClose:r,allowRename:s,controlledComponentId:e,controlledComponentTitle:c,location:d,onMenuAction:v,onMenuClose:x,index:u}):null]})});var oy=V(j()),ry=require("react");function D_(t){var e;if(t){let n=t.dataset.idx;if(n)return parseInt(n,10);if(n=(e=t.ariaPosInSet)!=null?e:"-1")return parseInt(n,10)-1}}var cS=t=>t.closest("[data-idx],[aria-posinset]");var OH=t=>D_(cS(t));var rc=require("react"),R_=new Set(["/","-","."]),L_=t=>R_.has(t),FH=(t,e)=>e.startsWith(t)&&L_(e[t.length]),BH=(t,e="root",{collapsibleHeaders:n=void 0,defaultExpanded:o=!1,revealSelected:r=!1}={})=>{let i=(f,p,g)=>{if(f.childNodes)return f.childNodes.length;if(f.header){let y=g+1,m=0;for(;y<p.length&&!p[y].header;)m++,y++;return m}else return 0},s=(0,rc.useCallback)(f=>Array.isArray(r)?r.some(p=>FH(f,p)):o,[o,r]),l=(0,rc.useCallback)((f,p,g=1,y="",m=[],h=[])=>{let v=0;return f.forEach((x,b,S)=>{var A;let C=x.header&&n,w=x.childNodes&&n===!1,E=!x.childNodes||x.childNodes.length===0,T=w||E&&!C,M=y?`${y}.${b}`:`${b}`,L=(A=x.id)!=null?A:`${e}-${M}`,k=T?void 0:s(L),I={...x,childNodes:void 0,id:L,count:!w&&k===void 0?0:i(x,S,b),expanded:k,index:p.index,level:g};if(m.push(I),h.push(f[b]),v+=1,p.index+=1,x.childNodes){let[H,R]=l(x.childNodes,p,g+1,M,[],h);I.childNodes=R,(k===!0||w)&&(v+=H)}}),[v,m,h]},[n,e,s]),[a,u,c]=(0,rc.useMemo)(()=>l(t,{index:0}),[l,t]),d=(0,rc.useCallback)((f,p=u)=>{let g=p.find(y=>{var m;return y.id===f||((m=y==null?void 0:y.childNodes)==null?void 0:m.length)&&FH(y.id,f)});if((g==null?void 0:g.id)===f)return c[g.index];if(g)return d(f,g.childNodes)},[c,u]);return[a,u,d]};var vs=require("react");var VH="single",A_="checkbox",N_="multi",H_="extended",O_=["Enter"," "],zH={},F_=t=>t.expanded!==void 0,$H=t=>t&&t!=="none",_H=({defaultSelected:t,highlightedIdx:e,treeNodes:n,onChange:o,selected:r,selection:i=VH,selectionKeys:s=O_})=>{let l=i===VH,a=i===N_||i.startsWith(A_),u=i===H_,c=(0,vs.useRef)(-1),d=(0,vs.useCallback)(b=>s.includes(b.key),[s]),[f,p]=Le({controlled:r,default:t!=null?t:[],name:"selected"}),g=(0,vs.useCallback)((b,S,C,w,E=!1)=>{let{current:T}=c,M=f==null?void 0:f.includes(C),k=l||u&&!E&&(!w||T===-1),I=a||u&&E&&!w,A=[];if(k&&M)A=[];else if(k)A=[C];else if(I&&M)A=f.filter(H=>H!==C);else if(I)A=f.concat(C);else if(u){let[H,R]=S>T?[T,S]:[S,T];A=f.slice();for(let O=H;O<=R;O++){let{id:P}=n[O];f.includes(P)||A.push(P)}}p(A),o&&o(b,A)},[u,n,a,o,f,p,l]),y=(0,vs.useCallback)(b=>{if(~e&&d(b)){b.preventDefault();let S=n[e];g(b,e,S.id,!1,b.ctrlKey||b.metaKey),u&&(c.current=e)}},[u,e,n,d,g]),m=(0,vs.useCallback)((b,S)=>{if(u&&b.shiftKey){let C=n[S];g(b,S,C.id,!0)}},[u,n,g]),h=i==="none"?zH:{onKeyDown:y,onKeyboardNavigation:m},v=(0,vs.useCallback)(b=>{if(e!==-1){let S=n[e];F_(S)||(b.preventDefault(),b.stopPropagation(),g(b,e,S.id,b.shiftKey,b.ctrlKey||b.metaKey),u&&(c.current=e))}},[u,e,n,g]);return{listHandlers:h,listItemHandlers:i==="none"?zH:{onClick:v},selected:f,setSelected:p}};var Fn=require("react");var B_=["height","scrollHeight"],WH=(t,e,n=!1)=>{let o=(0,Fn.useRef)(0),r=(0,Fn.useRef)(!1),i=(0,Fn.useRef)(0),s=(0,Fn.useRef)(0),l=(0,Fn.useCallback)(c=>{let d=c.ariaExpanded?c.firstChild:c,f=n?30:0,p=d.offsetTop,g=d.offsetHeight,y=o.current+f,m=y+i.current-f;(p+g>m||p<y)&&(o.current=p+g>m?o.current+(p+g)-m:p-f,r.current=!0,t.current&&(t.current.scrollTop=o.current),setTimeout(()=>{r.current=!1}))},[t,n]),a=(0,Fn.useCallback)(c=>{o.current=c.target.scrollTop},[]);(0,Fn.useEffect)(()=>{let{current:c}=t;return c&&c.addEventListener("scroll",a),()=>{c&&c.removeEventListener("scroll",a)}},[t,a]),(0,Fn.useLayoutEffect)(()=>{if(e!==-1&&s.current>i.current&&t.current){let c=t.current.querySelector(`
856
856
  [data-idx='${e}'],
857
857
  [aria-posinset='${e+1}']
858
- `);c===null?console.log("[useViewportTracking], is this virtualised ? we're going to have to know rowHeight"):l(c)}},[e,t,l]),(0,Fn.useEffect)(()=>{},[n]);let u=(0,Fn.useCallback)(({height:c,scrollHeight:d})=>{i.current=c,s.current=d},[]);return Ur(t,B_,u,!0),r};var Lf=require("react");var Do=require("react");var KH=({id:t})=>{let e=t.lastIndexOf("-");if(e!==-1){let o=t.slice(e+1).split(".");return o.length===1?null:(o.pop(),`${t.slice(0,e)}-${o.join(".")}`)}else if((e=t.lastIndexOf("/"))!==-1)return t.slice(0,e)},UH=t=>t.childNodes!==void 0;var dS=t=>t.header===!0,V_=new Set([".","/"]),GH=(t,e)=>e.startsWith(t.id)?V_.has(e.charAt(t.id.length)):!1,Wl=(t,e)=>{for(let n of t){if(n.id===e)return n;if(GH(n,e))return Wl(n.childNodes,e)}},Zg=(t,e)=>{let n=typeof e=="string"?e:e.id;for(let o=0;o<t.length;o++)if(t[o].id===n)return o},ey=(t,e,n)=>{let o;return t.map(i=>i.id===e?{...i,...n}:GH(i,e)?(o=ey(i.childNodes,e,n),{...i,childNodes:o}):i)};function z_(t,...e){let n=new Set(t);for(let o of e)for(let r of o)n.add(r);return n}var fS="ArrowUp",jH="ArrowDown",ic="ArrowLeft";var qH="ArrowRight",ty="Enter";var $_="Delete",__=new Set([ty,$_]),W_=new Set(["Tab"]),K_=new Set(["ArrowRight","ArrowLeft"]),QH=new Set(["Home","End","ArrowDown","ArrowUp"]),JH=new Set(["Home","End","ArrowRight","ArrowLeft"]),U_=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),eCe=z_(__,JH,QH,K_,U_,W_);var XH=({key:t},e="vertical")=>(e==="vertical"?QH:JH).has(t);function YH(t,e,n){return e===fS||e===ic?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var G_=t=>!t.header&&!t.childNodes,j_=t=>G_(t)||t.expanded!==void 0,ZH=({defaultHighlightedIdx:t=-1,highlightedIdx:e,treeNodes:n,onHighlight:o,onKeyboardNavigation:r,selected:i=[]})=>{let{bwd:s,fwd:l}=(0,Do.useMemo)(()=>({bwd:fS,fwd:jH}),[]),[a,u,c]=Le({controlled:e,default:t,name:"highlightedIdx"}),d=(0,Do.useCallback)(b=>{o==null||o(b),u(b)},[o,u]),f=(0,Do.useCallback)((b=l,S=b===l?-1:n.length)=>{let C=YH(n.length,b,S);for(;C!==-1&&(b===l&&C<n.length||b===s&&C>0)&&!j_(n[C]);)C=YH(n.length,b,C);return C},[s,l,n]),p=(0,Do.useRef)(!0),g=(0,Do.useRef)(!1),y=b=>g.current=b,m=(0,Do.useCallback)(()=>{if(g.current)g.current=!1;else if(i.length>0){let b=Wl(n,i[0]);if(b){let S=Zg(n,b);d(S)}}else d(f())},[n,f,i,d]),h=(0,Do.useCallback)(b=>{let S=f(b.key,a);S!==a&&(d(S),r==null||r(b,S))},[a,f,r,d]),v=(0,Do.useCallback)(b=>{n.length>0&&XH(b,"vertical")&&(b.preventDefault(),b.stopPropagation(),p.current=!0,h(b))},[n,h]),x=(0,Do.useMemo)(()=>({onBlur:()=>{d(-1)},onFocus:m,onKeyDown:v,onMouseDownCapture:()=>{p.current=!1,y(!0)},onMouseMove:()=>{p.current&&(p.current=!1)},onMouseLeave:()=>{p.current=!0,y(!1),d(-1)}}),[m,v,d]);return{focusVisible:p.current?a:-1,controlledHighlighting:c,highlightedIdx:a,hiliteItemAtIndex:d,keyBoardNavigation:p,listProps:x,setIgnoreFocus:y}};var sc=require("react");var ny=(t,e=[],n={value:0})=>{let o=!1;for(let r of t)o&&!dS(r)||(e[n.value]=r,n.value+=1,o=!1,dS(r)&&r.expanded===!1?o=!0:UH(r)&&pS(r)&&ny(r.childNodes,e,n));return e},eO=t=>{let e=(0,sc.useRef)(t),n=(0,sc.useRef)(t),o=(0,sc.useRef)(ny(t)),[,r]=(0,sc.useState)({});t!==e.current&&(e.current=t,n.current=t,o.current=ny(t));let i=s=>{n.current=s,o.current=ny(s),r({})};return{data:n.current,indexPositions:o.current,setData:i}};var di=require("react");var q_={},Q_=t=>t&&t.hasAttribute("aria-expanded"),tO=({collapsibleHeaders:t,highlightedIdx:e,treeNodes:n,setVisibleData:o,source:r})=>{let i=(0,di.useRef)(r),s=(0,di.useRef)(i.current),l=(0,di.useCallback)(g=>{o(s.current=g)},[o]),a=(0,di.useCallback)((g,{id:y})=>ey(g,y,{expanded:!0}),[]),u=(0,di.useCallback)((g,{id:y})=>ey(g,y,{expanded:!1}),[]),c=(0,di.useCallback)(g=>{if(g.key===qH||g.key===ty){let y=n[e];y&&y.expanded===!1&&(g.preventDefault(),l(a(s.current,y)))}if(g.key===ic||g.key===ty){let y=n[e];y&&y.expanded&&(g.preventDefault(),l(u(s.current,y)))}},[u,a,e,n,l]),d=t?{onKeyDown:c}:q_,p={onClick:(0,di.useCallback)(g=>{let y=cS(g.target);if(Q_(y)){g.stopPropagation(),g.preventDefault();let m=Wl(r,y.id);(m==null?void 0:m.expanded)===!1?l(a(r,m)):(m==null?void 0:m.expanded)===!0&&l(u(r,m))}},[u,a,l,r])};return{listHandlers:d,listItemHandlers:p}};var nO=require("react");var oO=({highlightedIdx:t,hiliteItemAtIndex:e,indexPositions:n,source:o})=>({listHandlers:{onKeyDown:(0,nO.useCallback)(s=>{if(s.key===ic){let l=n[t],a=KH(l);if(a){s.preventDefault();let u=Wl(o,a);if(u){let c=Zg(n,u);c!==void 0&&e(c)}}}},[t,e,n,o])}});var J_=[],rO=({defaultSelected:t,sourceWithIds:e,onChange:n,onHighlight:o,selected:r,selection:i})=>{let s=(0,Lf.useRef)(J_),l=eO(e),a=(x,b)=>{var S,C;(C=(S=f.listHandlers).onKeyboardNavigation)==null||C.call(S,x,b)},{highlightedIdx:u,...c}=ZH({treeNodes:l.indexPositions,onHighlight:o,onKeyboardNavigation:a,selected:s.current}),d=tO({collapsibleHeaders:!0,highlightedIdx:u,treeNodes:l.indexPositions,setVisibleData:l.setData,source:l.data}),f=_H({defaultSelected:t,highlightedIdx:u,treeNodes:l.indexPositions,onChange:n,selected:r,selection:i}),p=oO({source:l.data,highlightedIdx:u,hiliteItemAtIndex:c.hiliteItemAtIndex,indexPositions:l.indexPositions}),g=(0,Lf.useCallback)(x=>{var b,S,C;(b=d.listItemHandlers)==null||b.onClick(x),x.defaultPrevented||(C=(S=f.listItemHandlers)==null?void 0:S.onClick)==null||C.call(S,x)},[d,f]),y=(0,Lf.useCallback)(x=>{var b,S,C,w,E,T,M,L;(S=(b=c.listProps).onKeyDown)==null||S.call(b,x),x.defaultPrevented||(w=(C=f.listHandlers).onKeyDown)==null||w.call(C,x),x.defaultPrevented||(T=(E=d.listHandlers).onKeyDown)==null||T.call(E,x),x.defaultPrevented||(L=(M=p.listHandlers).onKeyDown)==null||L.call(M,x)},[d.listHandlers,c.listProps,f.listHandlers,p.listHandlers]),m=()=>{var x;return u===void 0||u===-1||(x=l.indexPositions[u])==null?void 0:x.id};s.current=f.selected;let h={"aria-activedescendant":m(),onBlur:c.listProps.onBlur,onFocus:c.listProps.onFocus,onKeyDown:y,onMouseDownCapture:c.listProps.onMouseDownCapture,onMouseLeave:c.listProps.onMouseLeave,onMouseMove:c.listProps.onMouseMove},v={onClick:g};return{focusVisible:c.focusVisible,highlightedIdx:u,hiliteItemAtIndex:c.hiliteItemAtIndex,listProps:h,listItemHandlers:v,selected:f.selected,visibleData:l.data}};var to=require("react/jsx-runtime"),sO=require("react"),xs="vuuTree",pS=t=>t.expanded===!0,iO=({children:t,idx:e,...n})=>(0,to.jsx)("li",{...n,children:t}),X_=(0,ry.forwardRef)(function({allowDragDrop:e,className:n,defaultSelected:o,groupSelection:r="none",id:i,onHighlight:s,onSelectionChange:l,revealSelected:a,selected:u,selection:c="single",source:d,...f},p){var R;let g=_s(i),y=(0,ry.useRef)(null),[,m,h]=BH(d,g,{revealSelected:a?(R=u!=null?u:o)!=null?R:!1:void 0}),v=(O,P)=>{if(l){let N=P.map(D=>h(D)).filter(D=>D!==void 0);l(N)}},{focusVisible:x,highlightedIdx:b,hiliteItemAtIndex:S,listProps:C,listItemHandlers:w,selected:E,visibleData:T}=rO({defaultSelected:o,groupSelection:r,onChange:v,onHighlight:s,selected:u,selection:c,sourceWithIds:m});WH(y,b);let L={...{onMouseEnter:O=>{let P=O.target,N=OH(P);S(N)}},...w,role:"treeitem"},k=$H(r);function I(O,P,N){O.push((0,to.jsxs)(iO,{...L,...Y_(P,N,b,E,x),children:[P.icon?(0,to.jsx)("span",{className:`${xs}Node-icon`,"data-icon":P.icon}):null,(0,to.jsx)("span",{children:P.label})]})),N.value+=1}function A(O,P,N,D,B){let{value:F}=N;N.value+=1,O.push((0,sO.createElement)(iO,{...w,"aria-expanded":P.expanded,"aria-level":P.level,"aria-selected":E.includes(D)||void 0,className:(0,oy.default)(`${xs}Node`,{focusVisible:x===F,[`${xs}Node-toggle`]:!k}),"data-idx":F,"data-highlighted":F===b||void 0,"data-selectable":!0,id:D,key:`header-${F}`},k?(0,to.jsxs)("div",{className:`${xs}Node-label`,children:[(0,to.jsx)("span",{className:`${xs}Node-toggle`}),B]}):(0,to.jsxs)("div",{className:`${xs}Node-label`,children:[P.icon?(0,to.jsx)("span",{className:`${xs}Node-icon`,"data-icon":P.icon}):null,(0,to.jsx)("span",{children:B})]}),(0,to.jsx)("ul",{role:"group",children:pS(P)?H(P.childNodes,N):""})))}function H(O,P={value:0}){if((O==null?void 0:O.length)>0){let N=[];for(let D of O)D.childNodes?A(N,D,P,D.id,D.label):I(N,D,P);return N}}return(0,to.jsx)("ul",{...f,...C,className:(0,oy.default)(xs,n),id:`Tree-${g}`,ref:Oe(y,p),role:"tree",tabIndex:0,children:H(T)})}),Y_=(t,e,n,o,r,i)=>({id:t.id,key:t.id,"aria-level":t.level,"aria-selected":o.includes(t.id)||void 0,"data-idx":e.value,"data-highlighted":e.value===n||void 0,className:(0,oy.default)("vuuTreeNode",i,{focusVisible:r===e.value})});X_.displayName="Tree";var lO=require("@vuu-ui/vuu-utils");var aO=V(j()),lc=require("react");var Cs=require("react/jsx-runtime"),mS="vuuInput",eW={autoComplete:"off"},ph=(0,lc.forwardRef)(function({className:e,errorMessage:n,id:o,onCommit:r,onKeyDown:i,type:s,...l},a){let u=ke(o),{anchorProps:c,tooltipProps:d}=Px({id:u,tooltipContent:n}),f=(0,lc.useCallback)((m,h)=>{if(s==="number"){let v=parseFloat(h);if((0,lO.isValidNumber)(v))r(m,v);else throw Error("Invalid value")}else s==="boolean"?r(m,!!h):r(m,h)},[r,s]),p=(0,lc.useCallback)(m=>{if(m.key==="Enter"){m.preventDefault(),m.stopPropagation();let{value:h}=m.target;f(m,h)}i==null||i(m)},[f,i]),g=(0,lc.useCallback)(m=>{let{value:h}=m.target;f(m,h)},[f]),y=n?(0,Cs.jsx)("span",{...c,className:`${mS}-errorIcon`,"data-icon":"error"}):void 0;return(0,Cs.jsxs)(Cs.Fragment,{children:[(0,Cs.jsx)(Un,{...l,endAdornment:y,id:u,inputProps:{...eW,...l.inputProps},className:(0,aO.default)(mS,e,{[`${mS}-errror`]:n}),onBlur:g,ref:a,onKeyDown:p}),d?(0,Cs.jsx)(Ix,{...d,status:"error"}):null]})});var ly=V(j()),Ss=require("react");var ws=require("react");var iy=(t,e,n,o)=>{var m;let{loadSessionState:r,purgeSessionState:i,purgeState:s,saveSessionState:l}=Va(),[a,u]=(0,ws.useState)((m=r(t,"contributions"))!=null?m:[]),c=Mn(),d=(0,ws.useCallback)((h,v)=>{let x=a.concat([{location:h,content:v}]);l(t,"contributions",x),u(x)},[a,t,l]),f=(0,ws.useCallback)(()=>{i(t,"contributions"),u([])},[t,i]),p=(0,ws.useCallback)(()=>{let h=r(t,"data-source");h&&h.unsubscribe(),i(t),s(t),c({type:"remove",path:n})},[c,t,r,i,s,n]),g=(0,ws.useCallback)(async(h,v,x)=>{var S;h.stopPropagation();let b=(S=e.current)==null?void 0:S.getBoundingClientRect();return new Promise((C,w)=>{c({type:"drag-start",evt:h,path:v===void 0?n:`${n}.${v}`,dragRect:b,preDragActivity:x,dropTargets:o,resolveDragStart:C,rejectDragStart:w})})},[e,c,n,o]);return[(0,ws.useCallback)(async(h,v)=>{var b;let{type:x}=h;switch(x){case"maximize":case"minimize":case"restore":return c({type:x,path:(b=h.path)!=null?b:n});case"remove":return p();case"mousedown":return g(v,h.index,h.preDragActivity);case"add-toolbar-contribution":return d(h.location,h.content);case"remove-toolbar-contribution":return f();case"query":return c({type:x,path:h.path,query:h.query});default:return}},[c,n,p,g,d,f]),a]};var fO=V(j()),yn=V(require("react"));var Jo=require("react");var uO=({id:t,rootRef:e,path:n,dropTargets:o,title:r})=>{let i=Mn(),{loadState:s,loadSessionState:l,purgeState:a,saveState:u,saveSessionState:c}=Va(),[d,f]=iy(t,e,n,o),p=(0,Jo.useMemo)(()=>{var C;return(C=s("view-title"))!=null?C:r},[s,r]),g=(0,Jo.useCallback)(C=>{n&&i({type:"set-title",path:n,title:C})},[i,n]),y=(0,Jo.useMemo)(()=>s(t),[t,s]),m=(0,Jo.useCallback)(C=>s(t,C),[t,s]),h=(0,Jo.useCallback)(C=>{a(t,C),i({type:"save"})},[t,i,a]),v=(0,Jo.useCallback)((C,w)=>{u(t,w,C),i({type:"save"})},[t,i,u]),x=(0,Jo.useCallback)(C=>l(t,C),[t,l]),b=(0,Jo.useCallback)((C,w)=>c(t,w,C),[t,c]),S=(0,Jo.useCallback)(({type:C,...w})=>{let{[C]:E}=w;v(E,C)},[v]);return{contributions:f,dispatchViewAction:d,load:m,loadSession:x,onConfigChange:S,onEditTitle:g,purge:h,restoredState:y,save:v,saveSession:b,title:p}};var ac=require("react"),tW=[],cO=({mainRef:t,resize:e="responsive",rootRef:n})=>{let o=e==="defer",r=(0,ac.useRef)({}),i=(0,ac.useRef)(),s=(0,ac.useCallback)(()=>{t.current&&(t.current.style.height=r.current.height+"px",t.current.style.width=r.current.width+"px"),i.current=void 0},[t]),l=(0,ac.useCallback)(({height:a,width:u})=>{r.current.height=a,r.current.width=u,i.current!==null&&clearTimeout(i.current),i.current=window.setTimeout(s,40)},[s]);Vm(n,o?PI:tW,l,o)};var Af=V(require("react")),nW={dispatch:null},sy=Af.default.createContext(nW),dO=()=>{var e;let t=(0,Af.useContext)(sy);return(e=t==null?void 0:t.dispatch)!=null?e:null},Hm=()=>(0,Af.useContext)(sy);var uc=require("react/jsx-runtime"),Nf="vuuView",oW=(t,e)=>t&&e?{...t,...e}:t||e,pO=(0,yn.forwardRef)(function(e,n){let{Header:o=mO,children:r,className:i,collapsed:s,closeable:l,"data-path":a,"data-resizeable":u,dropTargets:c,expanded:d,flexFill:f,id:p,header:g,orientation:y="horizontal",path:m=a,resize:h="responsive",resizeable:v=u,tearOut:x,style:b={},title:S,...C}=e,w=ke(p),E=(0,yn.useRef)(null),T=(0,yn.useRef)(null),[M,L]=(0,yn.useState)(),{contributions:k,dispatchViewAction:I,load:A,loadSession:H,onConfigChange:R,onEditTitle:O,purge:P,restoredState:N,save:D,saveSession:B,title:F}=uO({id:w,rootRef:E,path:m,dropTargets:c,title:S});cO({mainRef:T,resize:h,rootRef:E});let $=(0,yn.useCallback)(G=>{L(G)},[]),Q=()=>yn.default.isValidElement(r)&&(N||M)?yn.default.cloneElement(r,oW(N,M)):r,J=(0,yn.useMemo)(()=>({dispatch:I,id:w,path:m,title:F,load:A,loadSession:H,onConfigChange:R,purge:P,save:D,saveSession:B,setComponentProps:$}),[I,w,A,H,R,m,P,D,B,$,F]),K=typeof g=="object"?g:{};return(0,uc.jsx)("div",{...C,className:(0,fO.default)(Nf,i,{[`${Nf}-collapsed`]:s,[`${Nf}-expanded`]:d,[`${Nf}-resize-defer`]:h==="defer"}),"data-resizeable":v,id:w,ref:Oe(n,E),style:b,tabIndex:-1,children:(0,uc.jsxs)(sy.Provider,{value:J,children:[g?(0,uc.jsx)(o,{...K,collapsed:s,contributions:k,expanded:d,closeable:l,onEditTitle:O,orientation:y,tearOut:x,title:F}):null,(0,uc.jsx)("div",{className:`${Nf}-main`,ref:T,children:Q()})]})})});pO.displayName="View";var Wi=yn.default.memo(pO);Wi.displayName="View";nt("View",Wi,"view");var cc=require("react/jsx-runtime"),hS="vuuHeader",mO=({className:t,contributions:e,collapsed:n,closeable:o,onEditTitle:r,orientation:i="horizontal",style:s,title:l="Untitled"})=>{let a=(0,Ss.useRef)(null),[u,c]=(0,Ss.useState)(l),[d,f]=(0,Ss.useState)(!1),p=dO(),g=M=>p==null?void 0:p({type:"remove"},M),y=()=>{var M;(M=a.current)==null||M.focus()},m=M=>{M.stopPropagation()},v=(0,ly.default)(hS,t,`${hS}-${n||i}`),x=()=>{f(!0)},b=M=>{M.key==="Enter"&&f(!0)},S=(M="",L="",k=!0,I=!1)=>{var A;f(!1),I?c(M):L!==M&&(c(L),r==null||r(L)),k===!1&&((A=a.current)==null||A.focus())},C=M=>{p==null||p({type:"mousedown"},M)},w=[],E=[],T=[];return e==null||e.forEach((M,L)=>{switch(M.location){case"pre-title":w.push((0,Ss.cloneElement)(M.content,{key:L}));break;default:E.push((0,Ss.cloneElement)(M.content,{key:L}))}}),l&&w.push((0,cc.jsx)(_d,{className:`${hS}-title`,editing:d,value:u,onChange:c,onMouseDownCapture:y,onEnterEditMode:x,onExitEditMode:S,onKeyDown:b,ref:a,tabIndex:0},"title")),o&&T.push((0,cc.jsx)(jt,{"data-icon":"close",onClick:g,onMouseDown:m,variant:"secondary"},"close")),E.length>0&&w.push((0,cc.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:E},"contributions")),T.length>0&&w.push((0,cc.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:T},"actions")),(0,cc.jsx)("div",{className:(0,ly.default)("vuuToolbarProxy",v),style:s,onMouseDown:C,children:w})};var ay={layout:{type:"Stack",id:"main-tabs",props:{className:"vuuShell-mainTabs",TabstripProps:{allowAddTab:!0,allowCloseTab:!0,allowRenameTab:!0,animateSelectionThumb:!1,location:"main-tab",tabClassName:"MainTab"},preserve:!0,active:0},children:[{props:{id:"tab1",title:"Tab 1",className:"vuuShell-Placeholder"},type:"Placeholder"}]}};var bW=V(j(),1),vW=require("react");var hO=require("react");var gS=require("react/jsx-runtime");var yO=require("@vuu-ui/vuu-utils");var yS=V(j(),1),no=require("react");var bS=require("react/jsx-runtime"),gO="vuuExpandoCombobox",rW={},Hf=(0,no.forwardRef)(function({className:e,InputProps:n=rW,ListProps:o,onInputChange:r,onSelectionChange:i,selectionStrategy:s,style:l,value:a="",...u},c){let[d,f]=(0,no.useState)(a),{itemToString:p=yO.itemToString}=u,g=(0,no.useRef)(a),y=(0,no.useCallback)(C=>{let[w,...E]=C;return E.length?`${p(w)} + ${E.length}`:p(w)},[p]),m=(0,no.useCallback)(C=>{let{value:w}=C.target;f(w),r==null||r(C)},[r]),h=(0,no.useCallback)(C=>{f(C)},[]),[v,x]=(0,no.useMemo)(()=>{let{inputProps:C,...w}=n;return[{...w,className:`${gO}-Input`,endAdornment:null,inputProps:{...C,autoComplete:"off",onInput:m}},{...o,className:(0,yS.default)("vuuMenuList",o==null?void 0:o.className),"data-mode":"light",displayedItemCount:10,itemHeight:22,maxWidth:300,minWidth:80,width:"content-width"}]},[n,m,o]),b=(0,no.useCallback)((C,w)=>{Array.isArray(w)?i==null||i(null,w):w&&(f(p(w)),i==null||i(null,w))},[p,i]),S={minWidth:"fit-content"};return(0,bS.jsx)("div",{className:(0,yS.default)(gO,e),"data-text":d,ref:c,style:l,children:(0,bS.jsx)(a0,{...u,PopupProps:S,defaultValue:g.current,fullWidth:!0,ListProps:x,InputProps:v,itemsToString:y,onSelectionChange:b,onSetSelectedText:h,selectionStrategy:s})})});var uW=V(j(),1),cW=require("react");var Kl=require("react");var uy=require("@vuu-ui/vuu-utils"),bO=require("react/jsx-runtime"),iW=(0,Kl.forwardRef)(function({InputProps:e,className:n,column:o,onInputComplete:r,value:i},s){let[l,a]=(0,Kl.useState)((0,uy.isValidNumber)(i)?i.toString():""),u=(0,Kl.useCallback)(d=>{let{value:f}=d.target,p=parseFloat(f);(0,uy.isValidNumber)(p)&&console.log("its valid"),a(f)},[]),c=(0,Kl.useCallback)(d=>{if(d.key==="Enter"){let{value:f}=d.target,p=parseFloat(f);(0,uy.isValidNumber)(p)&&r(p)}},[r]);return(0,bO.jsx)(fh,{...e,className:n,value:l,ref:s,onChange:u,onKeyDown:c})});var vO=require("@vuu-ui/vuu-utils");var bn=require("react");var Of=require("react/jsx-runtime"),sW=["Enter"," "],xO=["No matching data"],lW=(0,bn.forwardRef)(function({InputProps:e={},className:n,column:o,"data-field":r,onDeselect:i,onInputComplete:s,operator:l,suggestionProvider:a=Tf,table:u,value:c},d){let[f,p]=(0,bn.useState)(c!=null?c:""),[g,y]=(0,bn.useState)([]),m=a(),h=(0,bn.useCallback)((C,w)=>s(w),[s]),v=(0,bn.useCallback)((C,w)=>{w.length===1?s(w[0]):w.length>1&&s(w)},[s]);(0,bn.useEffect)(()=>{},[o]),(0,bn.useEffect)(()=>{if(u){let C=f?[u,o.name,f]:[u,o.name];m(C).then(w=>{w.length===0&&f?y(xO):y(w)}).catch(w=>{console.error("Error getting suggestions",w)})}},[u,o,f,m]);let x=(0,bn.useCallback)(C=>{let{value:w}=C.target;p(w)},[]),b=(0,bn.useMemo)(()=>{if(l==="starts"||l==="ends"){let{inputProps:C,...w}=e;return{...w,inputProps:{...C,onKeyDown:E=>{var T;E.key==="Enter"&&f!==""?(E.stopPropagation(),E.preventDefault(),s(f)):(T=C==null?void 0:C.onKeyDown)==null||T.call(C,E)}}}}else return e},[e,s,l,f]);return(0,bn.useCallback)(()=>{if(g.length===0)return null;switch(l){case"in":return(0,Of.jsx)(Hf,{InputProps:b,className:n,"data-field":r,initialHighlightedIndex:0,source:g,onInputChange:x,onSelectionChange:v,ref:d,selectionStrategy:"multiple",selectionKeys:sW,value:c});case"starts":return(0,Of.jsx)(Hf,{InputProps:b,ListProps:{className:"vuuIllustrationsOnly",disabled:!0},allowFreeText:!0,className:n,"data-field":r,initialHighlightedIndex:0,disableFilter:g===xO&&(f==null?void 0:f.length)>0,source:g,onInputChange:x,onSelectionChange:h,ref:d,value:c});case"ends":return(0,Of.jsx)(fh,{...b,className:n,"data-field":r,value:f,ref:d,onChange:x});default:return(0,Of.jsx)(Hf,{InputProps:b,allowBackspaceClearsSelection:!0,className:n,"data-field":r,initialHighlightedIndex:0,source:g,title:"value",onInputChange:x,onDeselect:i,onSelectionChange:h,ref:d,value:c})}},[l,b,n,r,g,x,v,d,c,f,i,h])()});var vS=require("@vuu-ui/vuu-utils"),aW=require("@vuu-ui/vuu-data"),Ff=require("react");var CO=require("react/jsx-runtime");var SO=require("@vuu-ui/vuu-utils"),hW=V(j(),1),EO=require("react");var dW=require("react"),fW=V(j(),1);var pW=require("react/jsx-runtime");var Es=require("@vuu-ui/vuu-utils");var cy=require("@vuu-ui/vuu-utils"),wO=require("react/jsx-runtime");var TO=require("react/jsx-runtime");var CS=require("@vuu-ui/vuu-utils"),Bf=require("react");var gW=require("react");var kO=require("react");var yW=require("react/jsx-runtime");var MO=require("react/jsx-runtime"),xW=require("react");var kW=require("@vuu-ui/vuu-filter-parser"),MW=V(j(),1),wS=require("react");var IO=require("@vuu-ui/vuu-filter-parser"),rTe=Er.define({name:"VuuFilterQuery",parser:IO.parser.configure({props:[Il({Identifier:W.variableName,String:W.string,Or:W.emphasis,Operator:W.operator})]})});var wW=Go.define([{tag:W.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:W.comment,color:"green",fontStyle:"italic"}]),SW=Dl(wW);var EW=ae.theme({"&":{color:"var(--vuuFilterEditor-color)",backgroundColor:"var(--vuuFilterEditor-background)",fontSize:"var(--vuuFilterEditor-fontSize)"},".cm-content":{caretColor:"var(--vuuFilterEditor-cursorColor)",padding:0},".cm-line":{lineHeight:"var(--vuuFilterEditor-lineHeight)"},"&.cm-focused .cm-cursor":{borderLeftColor:"var(--vuuFilterEditor-cursorColor)"},"&.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-scroller":{fontFamily:"var(--vuuFilterEditor-fontFamily)"},".cm-tooltip":{background:"var(--vuuFilterEditor-tooltipBackground)",border:"var(--vuuFilterEditor-tooltipBorder)",borderRadius:"4px",boxShadow:"var(--vuuFilterEditor-tooltipElevation)","&.cm-tooltip-autocomplete > ul":{fontFamily:"var(--vuuFilterEditor-fontFamily)",fontSize:"var(--vuuFilterEditor-fontSize)",maxHeight:"240px"},"&.cm-tooltip-autocomplete > ul > li":{alignItems:"center",display:"flex",height:"var(--vuuFilterEditor-suggestion-height)",padding:"0 3px",lineHeight:"var(--vuuFilterEditor-suggestion-height)"},"&.cm-tooltip-autocomplete li[aria-selected]":{background:"var(--vuuFilterEditor-suggestion-selectedBackground)",color:"var(--vuuFilterEditor-suggestion-selectedColor)"}},".cm-completionIcon":{height:"18px",flex:"0 0 16px"},".cm-completionLabel":{flex:"1 1 auto"},".cm-completionIcon-filter":{position:"relative","&:after":{background:"var(--salt-text-secondary-foreground)",content:"''","-webkit-mask":"var(--svg-filter) center center/13px 13px","-webkit-mask-repeat":"no-repeat",position:"absolute",height:"18px",left:"0px",top:"0px",width:"16px"}}},{dark:!1});var TW=require("react");var PO=require("react/jsx-runtime");var DO=require("react");var IW=require("@vuu-ui/vuu-utils");var dy=t=>{let e=localStorage.getItem(t);return e?JSON.parse(e):void 0};var fy=(t,e)=>{try{return localStorage.setItem(t,JSON.stringify(e)),e}catch{return}};var py=require("@vuu-ui/vuu-utils");var RO="layouts/metadata",LO="layouts/layouts",dc,SS=class{constructor(e){_n(this,dc,"api/vui");e&&Xo(this,dc,e)}createLayout(e,n){return new Promise(o=>{Promise.all([this.loadLayouts(),this.loadMetadata()]).then(([r,i])=>{let s=(0,py.getUniqueId)(),l={...e,id:s,created:(0,py.formatDate)("dd.mm.yyyy")(new Date)};this.saveLayoutsWithMetadata([...r,{id:s,json:n}],[...i,l]),o(l)})})}updateLayout(e,n,o){return new Promise((r,i)=>{this.validateIds(e).then(()=>Promise.all([this.loadLayouts(),this.loadMetadata()])).then(([s,l])=>{let a=s.map(c=>c.id===e?{...c,json:o}:c),u=l.map(c=>c.id===e?{...c,...n}:c);this.saveLayoutsWithMetadata(a,u),r()}).catch(s=>i(s))})}deleteLayout(e){return new Promise((n,o)=>{this.validateIds(e).then(()=>Promise.all([this.loadLayouts(),this.loadMetadata()])).then(([r,i])=>{let s=r.filter(a=>a.id!==e),l=i.filter(a=>a.id!==e);this.saveLayoutsWithMetadata(s,l),n()}).catch(r=>o(r))})}loadLayout(e){return new Promise((n,o)=>{this.validateId(e,"layout").then(()=>this.loadLayouts()).then(r=>{let i=r.find(s=>s.id===e);i?n(i.json):o(new Error(`no layout found matching id ${e}`))}).catch(r=>o(r))})}loadMetadata(){return new Promise(e=>{let n=dy(RO);e(n||[])})}loadApplicationJSON(){return new Promise(e=>{let n=dy(ne(this,dc));e(n||ay)})}saveApplicationJSON(e){return new Promise((n,o)=>{fy(ne(this,dc),e)?n():o(new Error("Application Json failed to save"))})}loadLayouts(){return new Promise(e=>{let n=dy(LO);e(n||[])})}saveLayoutsWithMetadata(e,n){fy(LO,e),fy(RO,n)}async validateIds(e){return Promise.all([this.validateId(e,"metadata").catch(n=>n.message),this.validateId(e,"layout").catch(n=>n.message)]).then(n=>{let o=n.filter(r=>r!==void 0).join("; ");if(o)throw new Error(o)})}validateId(e,n){return new Promise((o,r)=>{(n==="metadata"?this.loadMetadata:this.loadLayouts)().then(s=>{switch(s.filter(a=>a.id===e).length){case 1:{o();break}case 0:{r(new Error(`No ${n} with ID ${e}`));break}default:r(new Error(`Non-unique ${n} with ID ${e}`))}})})}};dc=new WeakMap;var AO=require("react"),PW=require("react/jsx-runtime");var BO=require("react");var fi=require("@vuu-ui/vuu-utils"),Dr=require("react");var Gl=require("react");var Ul=new Map,HO=(t,e,n)=>{switch(n){case"height":return e.height;case"clientHeight":return Math.floor(t.clientHeight);case"clientWidth":return Math.floor(t.clientWidth);case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(Math.floor(t.scrollHeight));case"scrollWidth":return Math.ceil(Math.floor(t.scrollWidth));case"width":return e.width;default:return 0}},NO=new ResizeObserver(t=>{for(let e of t){let{target:n,borderBoxSize:o,contentBoxSize:r}=e,i=Ul.get(n);if(i){let[{blockSize:s,inlineSize:l}]=o,[{blockSize:a,inlineSize:u}]=r,{onResize:c,measurements:d}=i,f=!1;for(let[p,g]of Object.entries(d)){let y=HO(n,{height:s,width:l,contentHeight:a,contentWidth:u},p);y!==g&&(f=!0,d[p]=y)}f&&c&&c(d)}}});function OO(t,e,n,o=!1){let r=(0,Gl.useRef)(e),i=(0,Gl.useCallback)(s=>{let{width:l,height:a}=s.getBoundingClientRect(),{clientWidth:u,clientHeight:c}=s,d=Math.floor(a),f=Math.floor(l);return r.current.reduce((p,g)=>(p[g]=HO(s,{width:f,height:d,contentHeight:c,contentWidth:u},g),p),{})},[]);(0,Gl.useEffect)(()=>{let s=t.current;async function l(){Ul.set(s,{measurements:{}});let a=Ul.get(s);if(a){let u=i(s);a.measurements=u,NO.observe(s),o&&n(u)}else console.log("%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation","font-weight:bold; color:red;")}return s&&(Ul.has(s)&&console.log("useResizeObserver attemping to observe same element twice",{target:s}),l()),()=>{s&&Ul.has(s)&&(NO.unobserve(s),Ul.delete(s))}},[i,t]),(0,Gl.useEffect)(()=>{let s=t.current,l=Ul.get(s);if(l){if(r.current!==e){r.current=e;let a=i(s);l.measurements=a}l.onResize=n}},[e,i,t,n])}var DW=["clientHeight","clientWidth"],RW=["clientWidth"],LW=["clientHeight"],AW=[],my=t=>Number.isFinite(t),NW={height:"100%",width:"auto"},HW=(t,e)=>(0,fi.isValidNumber)(t)&&(0,fi.isValidNumber)(e)?{height:`${t}px`,width:`${e}px`}:typeof t=="string"||typeof e=="string"?{height:t!=null?t:"100%",width:e!=null?e:"auto"}:NW,OW=(t,e)=>{if((0,fi.isValidNumber)(t)&&(0,fi.isValidNumber)(e))return{height:t,width:e}},FO=({defaultHeight:t=0,defaultWidth:e=0,height:n,onResize:o,width:r})=>{let i=(0,Dr.useRef)(null),[s,l]=(0,Dr.useState)({css:HW(n,r),inner:OW(n,r),outer:{height:n!=null?n:"100%",width:r!=null?r:"auto"}}),a=typeof n=="number",u=typeof r=="number",c=a&&u?AW:a?RW:u?LW:DW;(0,Dr.useMemo)(()=>{l(f=>{let{inner:p,outer:g}=f;if((0,fi.isValidNumber)(n)&&(0,fi.isValidNumber)(r)&&p&&g){let{height:y,width:m}=p,{height:h,width:v}=g;if(h!==n||v!==r){let x=(0,fi.isValidNumber)(h)?h-y:0,b=(0,fi.isValidNumber)(v)?v-m:0;return{...f,outer:{height:n,width:r},inner:{height:n-x,width:r-b}}}}return f})},[n,r]);let d=(0,Dr.useCallback)(({clientWidth:f,clientHeight:p})=>{let{css:g,inner:y,outer:m}=s,h=s;a&&my(f)&&Math.floor(f)!==(y==null?void 0:y.width)?h={css:g,outer:m,inner:{width:Math.floor(f)||e,height:n}}:u&&my(p)&&Math.floor(p)!==(y==null?void 0:y.height)?h={css:g,outer:m,inner:{height:Math.floor(p)||t,width:r}}:my(p)&&my(f)&&(f!==(y==null?void 0:y.width)||p!==(y==null?void 0:y.height))&&(h={css:g,outer:m,inner:{width:Math.floor(f)||e,height:Math.floor(p)||t}}),h!==s&&l(h)},[t,e,a,u,n,s,r]);return(0,Dr.useEffect)(()=>{s.inner&&(o==null||o(s.inner))},[o,s.inner]),OO(i,c,d,!0),{containerRef:i,cssSize:s.css,outerSize:s.outer,innerSize:s.inner}};var TS=V(j());var kS=require("react/jsx-runtime"),ES="vuuMeasuredContainer",sh=(0,BO.forwardRef)(function({children:e,className:n,height:o,onResize:r,style:i,width:s,...l},a){let{containerRef:u,...c}=FO({height:o,onResize:r,width:s}),{cssSize:d,innerSize:f}=c,p=f===void 0,g=()=>p?{"--measured-css-height":`${d.height}`,"--measured-css-width":`${d.width}`}:{...i,"--measured-css-height":`${d.height}`,"--measured-css-width":`${d.width}`,"--measured-px-height":`${f==null?void 0:f.height}px`,"--measured-px-width":`${f==null?void 0:f.width}px`},y=Oe(u,a);return p?(0,kS.jsx)("div",{...l,className:(0,TS.default)(ES,`${ES}-ummeasured`),style:g(),ref:u}):(0,kS.jsx)("div",{...l,className:(0,TS.default)(ES,n),ref:y,style:g(),children:e})});var zf=V(j()),yy=V(require("react"));var gy=require("@vuu-ui/vuu-utils"),Bn=require("react");var MS=require("@vuu-ui/vuu-utils"),FW=".vuuOverflowContainer-item:not(.wrapped)",YP=t=>t!==null&&t.dataset.index==="overflow"&&t.parentElement!==null&&t.parentElement.classList.contains("vuuOverflowContainer-wrapContainer-overflowed"),BW=t=>t.sort((e,n)=>{let{dataset:{index:o="?"}}=e,{dataset:{index:r="?"}}=n,i=e.classList.contains("wrapped"),s=n.classList.contains("wrapped"),l=o==="overflow",a=r==="overflow";return i&&!s?1:!i&&s?-1:l?1:a?-1:parseInt(o)>parseInt(r)?1:-1}),IS=[],Vf=(t,e="horizontal")=>{let n=[],o=[],r=-1,i=!1,s=BW(Array.from(t.children)),l=e==="vertical"?"top":"left";for(let a of s){let u=a,{dataset:{index:c="?",label:d="?",overflowPriority:f="0"}}=u,{[l]:p}=u.getBoundingClientRect();p<=r?(c==="overflow"?o.push(n.pop()):o.push({index:c,label:d,overflowPriority:f}),i=!0):i?o.push({index:c,label:d,overflowPriority:f}):n.push({index:c,label:d,overflowPriority:f}),r=p}return[n,o]},VO=(t,e,n)=>{let o=!1,r=n?`${n}-overflowed`:"overflow";e.find(({index:i})=>i==="overflow")&&e.length===1&&(o=!0);for(let i of t.children){let{dataset:{index:s="?"}}=i;e.length===0||o?t.classList.remove(r):t.classList.add(r),s!=="overflow"&&e.find(l=>l.index===s)?i.classList.add("wrapped"):i.classList.remove("wrapped")}},VW=(t,{overflowPriority:e})=>Math.max(t,parseInt(e)),zW=(t,{overflowPriority:e})=>Math.min(t,parseInt(e)),zO=t=>{var e;return t.length>1&&((e=t.at(-1))==null?void 0:e.index)==="overflow"},$W=t=>{let[e]=t;for(let n=1;n<t.length;n++){let o=t[n];parseInt(o.overflowPriority)>parseInt(e.overflowPriority)&&(e=o)}return e},$O=(t,e)=>{var r;let n=t.reduce(zW,Number.MAX_SAFE_INTEGER);return e.reduce(VW,0)>n?!0:e.length>1&&((r=e.at(-1))==null?void 0:r.index)==="overflow"},_O=(t,e)=>new Promise(n=>{requestAnimationFrame(()=>{let[,o]=Vf(t);KW(e,o).forEach(i=>_W(t,i)),n(o)})}),WO=(t,e,n)=>new Promise(o=>{requestAnimationFrame(()=>{let[,r]=Vf(t),i=$W(r);if(i){let[s,l]=PS(t,i);o([s,l])}else o([e,n])})}),_W=(t,e)=>{let n=(0,MS.getElementByDataIndex)(t,e.index);if(n)n.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${e.index} not found`)},WW=t=>Array.from(t.querySelectorAll(".wrapped")),KW=(t,e)=>{let n=[];for(let o of e)t.find(({index:r})=>r===o.index)||n.push(o);return n},UW=(t,e)=>{WW(t).forEach(o=>{let{dataset:{index:r="?"}}=o;e.find(i=>i.index===r)||o.classList.remove("wrapped")})},KO=t=>t.querySelector('[data-index="overflow"]'),GW=t=>t.querySelector(".wrapped"),hy=t=>parseInt(getComputedStyle(t).getPropertyValue("width")),UO=(t,e)=>{let{right:n}=t.getBoundingClientRect(),o=parseInt(getComputedStyle(t).getPropertyValue("padding-right")),{right:r}=e.getBoundingClientRect();return n-o-r},GO=t=>{let e=KO(t),n=UO(t,e),o=hy(e),r=GW(t);return hy(r)<=n+o?(t.classList.remove("overflowed"),r.classList.remove("wrapped"),!0):!1},jW=(t,e)=>{let{dataset:{index:n="0",overflowPriority:o="0"}}=t,{dataset:{index:r="0",overflowPriority:i="0"}}=e;return o>i?-1:o<i?1:parseInt(n)-parseInt(r)},qW=t=>Array.from(t.querySelectorAll(FW)).sort(jW),PS=(t,e)=>{let n=qW(t),o=(0,MS.getElementByDataIndex)(t,e.index,!0),r=-1,i=n.at(r),s=hy(i),l=hy(o),a=KO(t),u=UO(t,a)+s;if(u>=l)QW(o,i);else{let{left:f}=i.getBoundingClientRect(),p=u,g=[i];for(;u<l;){r-=1,i=n.at(r),g.push(i);let{left:y}=i.getBoundingClientRect(),m=f-y;u=p+m}o==null||o.classList.remove("wrapped"),g.forEach(y=>{y.classList.add("wrapped")})}let[c,d]=Vf(t);return UW(t,d),[c,d]},QW=(t,e)=>{if(!t||!e)throw Error("switchWrapOnElements, element undefined");t.classList.remove("wrapped"),e.classList.add("wrapped")};var jO=({allowDragDrop:t=!1,itemCount:e,onMoveItem:n,onSwitchWrappedItemIntoView:o,orientation:r="horizontal"})=>{let[i,s]=(0,Bn.useState)(null),l=(0,Bn.useRef)(IS),a=(0,Bn.useRef)(null),u=(0,Bn.useCallback)(x=>{var b;a.current&&((b=a.current.querySelector(".vuuOverflowContainer-OverflowIndicator button"))==null||b.setAttribute("tabindex",x))},[]),c=(0,Bn.useCallback)(async()=>{if(i){let[x,b]=Vf(i,r);for(VO(i,b,"vuuOverflowContainer-wrapContainer"),zO(b)&&(b=await _O(i,b));$O(x,b);)[x,b]=await WO(i,x,b);b.length===1&&GO(i)&&(b=IS),l.current.length===0&&b.length>0?u("0"):l.current.length>0&&b.length===0&&u("-1"),l.current=b}},[i,r,u]),d=x=>typeof x=="object"&&x!==null&&"overflowItem"in x,[f,p]=(0,Bn.useMemo)(()=>[()=>{let{current:x}=l;return x.map(b=>({label:b.label,action:`activate-item-${b.index}`,options:{overflowItem:b}}))},({options:x})=>{if(i&&d(x)){let[,b]=PS(i,x.overflowItem);l.current=b,o==null||o(x.overflowItem)}return!0}],[i,o]),g=(0,Bn.useMemo)(()=>{let{sizeProp:x}=gy.MEASURES[r],b=0;return new ResizeObserver(S=>{for(let C of S){let{[x]:w}=C.contentRect,E=Math.round(w);(0,gy.isValidNumber)(E)&&b!==E&&(b=E,c())}})},[c,r]);kn(()=>{c()},[c,e]),(0,Bn.useMemo)(()=>{i&&g.observe(i)},[i,g]);let y=(0,Bn.useCallback)(x=>{s(a.current=x)},[]),m=(0,Bn.useCallback)((x,b)=>{n==null||n(x,b)},[n]),{onMouseDown:h,...v}=cr({allowDragDrop:t,containerRef:a,draggableClassName:"vuuOverflowContainer",onDrop:m,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"});return{menuActionHandler:p,menuBuilder:f,onItemMouseDown:h,rootRef:y,...v}};var Ts=require("react/jsx-runtime"),fc="vuuOverflowContainer",qO=yy.default.memo(({PopupMenuProps:t,allowDragDrop:e,children:n,className:o,height:r,id:i,onMoveItem:s,onSwitchWrappedItemIntoView:l,orientation:a="horizontal",overflowIcon:u,overflowPosition:c="end"})=>{let d=Ws(n),{draggable:f,draggedItemIndex:p,menuActionHandler:g,menuBuilder:y,onItemMouseDown:m,rootRef:h}=jO({allowDragDrop:e,itemCount:d.length,onMoveItem:s,onSwitchWrappedItemIntoView:l,orientation:a}),x={"--overflow-container-height":`${a==="vertical"?"100%":`${r}px`}`},b=(0,zf.default)(`${fc}-wrapContainer`,o,{[`${fc}-horizontal`]:a==="horizontal",[`${fc}-vertical`]:a==="vertical"}),S=d.map((w,E)=>{let{"data-align":T,"data-overflow-priority":M="0",id:L=`${i}-${E}`,label:k=`Item ${E+1}`}=w.props;return(0,Ts.jsx)("div",{className:(0,zf.default)(`${fc}-item`,{"vuuDraggable-dragAway":p===E}),"data-index":E,"data-align":T,"data-label":k,"data-overflow-priority":M,id:`${L}-wrapper`,onMouseDown:m,children:w},E)}),C=(0,Ts.jsx)("div",{className:`${fc}-OverflowIndicator`,"data-index":"overflow",children:(0,Ts.jsx)(Ha,{...t,icon:u,menuBuilder:y,menuActionHandler:g,tabIndex:-1})},"overflow");return S.push(C),(0,Ts.jsxs)("div",{className:b,ref:h,style:x,children:[S,f]})});qO.displayName="OverflowContainer.InnerContainer";var Kd=(0,yy.forwardRef)(function({PopupMenuProps:e,allowDragDrop:n=!1,children:o,className:r,height:i=44,id:s,onMoveItem:l,onSwitchWrappedItemIntoView:a,orientation:u,overflowIcon:c,overflowPosition:d,...f},p){let g=ke(s);return(0,Ts.jsx)("div",{...f,className:(0,zf.default)((0,zf.default)(r,fc)),id:g,ref:p,children:(0,Ts.jsx)(qO,{PopupMenuProps:e,allowDragDrop:n,height:i,id:g,orientation:u,overflowIcon:c,overflowPosition:d,onMoveItem:l,onSwitchWrappedItemIntoView:a,children:o})})});var QO=require("@vuu-ui/vuu-utils");var DS=V(j()),vy=require("react");var by=require("react/jsx-runtime"),JW=t=>{let e=t.cloneNode(!0);return e.id="",delete e.dataset.idx,e},RS=(0,vy.memo)(({className:t,children:e,idx:n,resizeable:o,header:r,closeable:i,...s})=>(0,by.jsx)(Gi,{className:(0,DS.default)("vuuPaletteItem",t),"data-draggable":!0,"data-icon":"draggable",...s}));RS.displayName="PaletteItem";var JO=({ListProps:t,ViewProps:e,children:n,className:o,itemHeight:r=41,orientation:i="horizontal",...s})=>{let l=Mn(),a="vuuPalette";function u(c){var M,L;let f=c.target.closest(".vuuPaletteItem"),p=parseInt((L=(M=f.dataset)==null?void 0:M.index)!=null?L:"-1"),{props:{caption:g,children:y,template:m,...h}}=n[p],{ViewProps:v}=y.props,{height:x,left:b,top:S,width:C}=f.getBoundingClientRect(),w=(0,QO.uuid)(),T=m?y:(0,by.jsx)(Wi,{...e,...{id:w,key:w},...h,...v,title:h.label,children:y});l({dragRect:{left:b,top:S,right:b+C,bottom:S+150,width:C,height:x},dragElement:JW(f),evt:c.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,DriftHomeIfNoDropTarget:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:T,type:"drag-start"})}return(0,by.jsx)(qr,{...t,...s,className:(0,DS.default)(a,o,`${a}-${i}`),itemHeight:r,selected:null,children:n.map((c,d)=>c.type===RS?(0,vy.cloneElement)(c,{key:d,onMouseDown:u}):c)})};nt("Palette",JO,"view");var AS=V(j()),Rr=V(require("react"));var pc=require("react/jsx-runtime"),LS="vuuTabs",XW=()=>{},YW=t=>{let e=[];return Rr.default.Children.forEach(t,n=>{Rr.default.isValidElement(n)?e.push(n):console.warn("Stack has unexpected child element type")}),e},ZW={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},xy=(0,Rr.forwardRef)(function({TabstripProps:e=ZW,active:n=0,children:o,className:r,getTabIcon:i=XW,getTabLabel:s=Rd,id:l,keyBoardActivation:a="manual",onAddTab:u,onMoveTab:c,onTabClose:d,onTabEdit:f,onTabSelectionChanged:p,showTabs:g="top",style:y},m){var k;let h=ke(l),v=(0,Rr.useRef)([]),{allowCloseTab:x,allowRenameTab:b,className:S}=e,C=(0,Rr.useCallback)((I,A,H,R)=>{f==null||f(R,A)},[f]),w=()=>{var I;return Rr.default.isValidElement(o)?o:Array.isArray(o)&&(I=o[n])!=null?I:null},E=()=>YW(o).map((I,A)=>{let{closeable:H=x,id:R=`${h}-${A}`,"data-tab-location":O}=I.props,P=s(I,A,v.current);return v.current.push(P),(0,pc.jsx)(uS,{ariaControls:R,"data-icon":i(I,A),id:`${R}-tab`,index:A,label:P,location:O,closeable:H,editable:b},R)}),T=w(),M=g==="left"||g==="right",L=M?"vertical":"horizontal";return(0,pc.jsxs)("div",{className:(0,AS.default)(LS,r,{[`${LS}-horizontal`]:M}),style:y,id:h,ref:m,children:[g?(0,pc.jsx)(aS,{...e,activeTabIndex:(k=e==null?void 0:e.activeTabIndex)!=null?k:T===null?-1:n,allowDragDrop:e.allowDragDrop!==!1,animateSelectionThumb:!0,className:(0,AS.default)("vuuTabHeader",S),keyBoardActivation:a,onActiveChange:p,onAddTab:u,onCloseTab:d,onExitEditMode:C,onMoveTab:c,orientation:L,children:E()}):null,(0,pc.jsx)("div",{"aria-labelledby":`${h}-${n}`,className:`${LS}-tabPanel`,role:"tabpanel",children:T})]})});xy.displayName="Stack";var ks=V(require("react"));var NS=require("react/jsx-runtime"),eK=()=>(0,NS.jsx)(Fa,{resizeable:!0,style:{flexGrow:1,flexShrink:0,flexBasis:0}}),XO=t=>{var S;let e=(0,ks.useRef)(null),n=Mn(),{loadState:o}=Va(),{createNewChild:r,id:i,onTabSelectionChanged:s,path:l,...a}=t,{children:u}=t,c=_s(i),[d]=iy(c,e,l),f=EI(),p=(S=r!=null?r:f)!=null?S:eK,g=C=>{l&&(n({type:"switch-tab",id:c,path:l,nextIdx:C}),s==null||s(C))},y=(0,ks.useCallback)(C=>{if(Array.isArray(u)){let{props:{"data-path":w,path:E=w}}=u[C];n({type:"remove",path:E})}},[u,n]),m=(0,ks.useCallback)(()=>{if(l){let C=ks.default.Children.count(u),w=p(C);n({type:"add",path:l,component:w})}},[u,p,n,l]),h=(0,ks.useCallback)((C,w)=>{l&&n({fromIndex:C,toIndex:w,path:l,type:"move-child"})},[n,l]);return(0,NS.jsx)(xy,{...a,id:c,getTabLabel:(C,w,E)=>{let{id:T,title:M}=C.props;return o(T,"view-title")||M||Rd(C,w,E)},onMouseDown:async(C,w)=>{let E;await d({type:"mousedown",index:w,preDragActivity:async()=>new Promise(L=>{console.log("preDragActivity: Ok, gonna release the drag"),E=L})},C)&&(E==null||E(void 0))},onMoveTab:h,onAddTab:m,onTabClose:y,onTabEdit:(C,w)=>{n({type:"set-title",path:`${l}.${C}`,title:w})},onTabSelectionChanged:g,ref:e})};XO.displayName="Stack";nt("Stack",XO,"container");var rK=V(j()),OS=V(require("react"));var oK=require("@vuu-ui/vuu-utils"),ZO=require("react");var Cy=require("@vuu-ui/vuu-utils"),HS=require("react"),Vn=require("@vuu-ui/vuu-utils");var tK=require("@vuu-ui/vuu-utils");var cIe={horizontal:{[Vn.Home]:"start",[Vn.End]:"end",[Vn.ArrowLeft]:"bwd",[Vn.ArrowRight]:"fwd"},vertical:{[Vn.Home]:"start",[Vn.End]:"end",[Vn.ArrowUp]:"bwd",[Vn.ArrowDown]:"fwd"}};var YO=require("@vuu-ui/vuu-utils");var nK=require("react");var iK=require("react/jsx-runtime");var eF=V(require("react"));var tF=require("react/jsx-runtime");var nF=require("react/jsx-runtime");var wy="(\\d+)(?:px)?",sK=`^(?:${wy}(?:\\s${wy}(?:\\s${wy}(?:\\s${wy})?)?)?)$`,ePe=new RegExp(sK);var lK=V(require("react")),aK=V(j());var uK=require("react/jsx-runtime");var Sy=require("react");var cK=require("react"),oF=require("react/jsx-runtime");var dK=V(j());var rF=require("react/jsx-runtime");var fK=require("@vuu-ui/vuu-utils");var iF=require("react/jsx-runtime");var FS=V(require("react")),hK=V(j());var BS=require("react/jsx-runtime");var gK=require("react"),yK=V(j()),bK=require("react/jsx-runtime");var ql=V(require("react"));var sF=V(require("react")),jl=require("react/jsx-runtime"),Ey=class extends sF.default.Component{constructor(e){super(e),this.state={errorMessage:null}}static getDerivedStateFromError(e){return{errorMessage:e.message}}componentDidCatch(e,n){console.log(`error creating component at ${this.props.url}`),console.log(e,n)}render(){return this.state.errorMessage?(0,jl.jsxs)(jl.Fragment,{children:[(0,jl.jsx)("h1",{children:"An error occured while creating component."}),(0,jl.jsx)("p",{children:this.state.errorMessage})]}):this.props.children}};var aF=require("react/jsx-runtime"),lF=()=>(0,aF.jsx)("div",{className:"hwLoader"});var uF=async t=>{let e=new CSSStyleSheet;return fetch(t).then(n=>n.text()).then(n=>e.replace(n))};var $f=require("react/jsx-runtime"),Ty=new Map,vK=t=>{(0,ql.useEffect)(()=>()=>{Ty.delete(t)},[t]),Ty.has(t)||Ty.set(t,ql.default.lazy(()=>import(t)));let e=Ty.get(t);if(e)return e;throw Error(`Unable to load Lazy Feature at url ${t}`)};function xK({url:t,css:e,ComponentProps:n,...o}){e&&uF(e).then(i=>{document.adoptedStyleSheets=[...document.adoptedStyleSheets,i]});let r=vK(t);return(0,$f.jsx)(Ey,{url:t,children:(0,$f.jsx)(ql.Suspense,{fallback:(0,$f.jsx)(lF,{}),children:(0,$f.jsx)(r,{...o,...n})})})}var VS=ql.default.memo(xK);VS.displayName="Feature";nt("Feature",VS,"view");var cF=require("react");var CK=require("@vuu-ui/vuu-utils");var dF=require("react/jsx-runtime"),wK="saveLayoutPanel",ODe=`${wK}-formField`;var Ql=V(require("react"));var EK=require("react/jsx-runtime");var QDe=Ql.default.createContext({getApplicationSettings:()=>{},layoutMetadata:[],saveLayout:()=>{},applicationJson:ay,saveApplicationLayout:()=>{},saveApplicationSettings:()=>{},loadLayoutById:()=>{}});var zS=require("react/jsx-runtime");var fF=require("react"),vt=require("react/jsx-runtime"),pF=(0,fF.memo)(()=>(0,vt.jsxs)("svg",{width:"44",height:"45",viewBox:"0 0 44 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,vt.jsxs)("g",{clipPath:"url(#clip0_217_6990)",children:[(0,vt.jsx)("path",{d:"M39.8642 15.5509L35.9196 7.58974L34.3369 6.85464L24.6235 22.0825L39.1628 30.618L42.3152 25.6347L39.8642 15.5509Z",fill:"url(#paint0_linear_217_6990)"}),(0,vt.jsx)("path",{d:"M42.6246 24.8716C41.9199 25.9157 40.9625 26.824 39.767 27.4905C38.424 28.2396 36.9563 28.597 35.5081 28.597C32.7541 28.597 30.0715 27.3094 28.4466 24.9855L15.772 3.90967L15.7655 3.9206C13.3615 0.137431 8.25372 -1.13143 4.24754 1.10507C0.178173 3.37435 -1.20852 8.39359 1.14854 12.3125L18.3445 40.9095C19.1108 42.1846 20.1816 43.1834 21.4144 43.8764C21.4241 43.8826 21.4338 43.8889 21.4435 43.8951C21.4484 43.8982 21.4549 43.9013 21.4597 43.9045C22.0332 44.2228 22.6423 44.471 23.2725 44.6536C23.3194 44.6677 23.368 44.6817 23.415 44.6942C23.6418 44.7551 23.8702 44.8097 24.1019 44.8534C24.1456 44.8612 24.1894 44.8659 24.2331 44.8737C24.4194 44.9049 24.6073 44.9314 24.7952 44.9501C24.8698 44.9579 24.9443 44.9658 25.0188 44.9704C25.2342 44.9876 25.4497 44.9985 25.6668 45.0001C25.6781 45.0001 25.6895 45.0001 25.6992 45.0001C25.7024 45.0001 25.704 45.0001 25.7073 45.0001C25.7105 45.0001 25.7121 45.0001 25.7154 45.0001C25.9503 45.0001 26.1868 44.9876 26.4217 44.9689C26.4751 44.9642 26.5286 44.9595 26.5837 44.9533C26.8137 44.9299 27.0438 44.9002 27.2738 44.8596C27.277 44.8596 27.2803 44.8596 27.2835 44.8596C27.5362 44.8144 27.7889 44.7551 28.0384 44.6864C28.0546 44.6817 28.0692 44.677 28.0854 44.6723C28.4483 44.5709 28.8063 44.4445 29.1594 44.2931C29.1659 44.29 29.174 44.2868 29.1805 44.2837C29.4494 44.1682 29.7151 44.0418 29.9759 43.8967C30.24 43.75 30.491 43.5908 30.7308 43.4206C30.9398 43.2739 31.1407 43.1179 31.3367 42.9524C31.5748 42.7495 31.8 42.5373 32.009 42.3141C32.1661 42.1471 32.3168 41.9723 32.4609 41.7913C32.5079 41.732 32.5517 41.6711 32.5954 41.6118C32.6942 41.4807 32.7882 41.3465 32.8789 41.2091C32.9259 41.1373 32.9728 41.0671 33.0182 40.9953C33.036 40.9672 33.0555 40.9407 33.0717 40.9126L42.7153 24.8763H42.6214L42.6246 24.8716Z",fill:"url(#paint1_linear_217_6990)"}),(0,vt.jsx)("path",{d:"M42.8402 16.4218L42.1112 15.2232L38.9636 9.58433L37.504 7.19644C37.2286 6.56123 36.579 6.11331 35.8176 6.11331C34.8083 6.11331 33.9919 6.90147 33.9919 7.87223C33.9919 8.20154 34.0907 8.50432 34.2543 8.76808L34.2349 8.78056L39.9048 18.0808C40.5884 19.2186 40.7715 20.5437 40.4199 21.8141C40.0684 23.0845 39.226 24.1458 38.045 24.806C37.2675 25.2398 36.3846 25.4693 35.4936 25.4693C33.6727 25.4693 31.9766 24.5281 31.0662 23.0143L22.9161 9.63271H22.9323L19.4899 3.90958L19.4834 3.92051C19.4235 3.8253 19.3538 3.73947 19.2907 3.64738L19.1935 3.48663C19.1935 3.48663 19.1854 3.49131 19.1821 3.49443C17.5654 1.27666 14.9799 0.0390178 12.3118 0.00936427V0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.961 26.8255 41.9168 25.9156 42.6231 24.8731H42.717L42.6846 24.9261C43.1366 24.2347 43.4833 23.4731 43.7068 22.6615C44.2916 20.5452 43.9871 18.3352 42.8369 16.4234L42.8402 16.4218Z",fill:"#F37880"}),(0,vt.jsxs)("g",{opacity:"0.86",children:[(0,vt.jsx)("path",{d:"M34.2332 8.78212L39.9031 18.0824C40.5868 19.2202 40.7698 20.5452 40.4183 21.8156C40.2044 22.5897 39.8059 23.2858 39.2616 23.8617C39.9744 23.2343 40.4879 22.4243 40.7423 21.5035C41.0938 20.2331 40.9107 18.908 40.2271 17.7703L34.5572 8.46998L34.5767 8.4575C34.413 8.19374 34.3142 7.89096 34.3142 7.56165C34.3142 7.15586 34.4584 6.78285 34.6982 6.48476C34.2672 6.80626 33.9902 7.30881 33.9902 7.87379C33.9902 8.2031 34.0891 8.50588 34.2527 8.76964L34.2332 8.78212Z",fill:"white"}),(0,vt.jsx)("path",{d:"M42.6917 24.9169L42.6863 24.9256C42.6863 24.9256 42.6899 24.9187 42.6935 24.9152C42.6935 24.9152 42.6935 24.9152 42.6935 24.9169H42.6917Z",fill:"white"}),(0,vt.jsx)("path",{d:"M40.0911 27.1798C38.7481 27.9289 37.2804 28.2863 35.8322 28.2863C33.0782 28.2863 30.3955 26.9988 28.7707 24.6749L16.0961 3.59744L16.0896 3.60837C14.9281 1.78077 13.1364 0.543128 11.1422 0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.4815 27.0924 41.1084 26.6055 41.6511 26.0561C41.1862 26.479 40.6662 26.8583 40.0894 27.1798H40.0911Z",fill:"white"})]})]}),(0,vt.jsxs)("defs",{children:[(0,vt.jsxs)("linearGradient",{id:"paint0_linear_217_6990",x1:"24.6235",y1:"18.7363",x2:"42.3152",y2:"18.7363",gradientUnits:"userSpaceOnUse",children:[(0,vt.jsx)("stop",{stopColor:"#4906A5"}),(0,vt.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,vt.jsxs)("linearGradient",{id:"paint1_linear_217_6990",x1:"-2.35794e-05",y1:"22.5009",x2:"42.7186",y2:"22.5009",gradientUnits:"userSpaceOnUse",children:[(0,vt.jsx)("stop",{stopColor:"#7C06A5"}),(0,vt.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,vt.jsx)("clipPath",{id:"clip0_217_6990",children:(0,vt.jsx)("rect",{width:"44",height:"45",fill:"white"})})]})]}));pF.displayName="VuuLogo";var DK=V(j());var bF=require("react");var mF=require("react/jsx-runtime");var pi=require("react"),hF=V(j()),yF=require("react/jsx-runtime"),TK="medium",kK="salt-theme",MK="light",$S=(0,pi.createContext)({density:"high",theme:"vuu",themeMode:"light"}),IK=["vuu","vuu-density-high","light"],js=t=>{let e=(0,pi.useContext)($S);return t?[t.themeClass,t.densityClass,t.dataMode]:e?[`${e.theme}-theme`,`${e.theme}-density-${e.density}`,e.themeMode]:IK},PK=(t,e,n,o)=>{var r;return(0,pi.isValidElement)(t)?(0,pi.cloneElement)(t,{className:(0,hF.default)((r=t.props)==null?void 0:r.className,`${e}-theme`,`${e}-density-${o}`),"data-mode":n}):(console.warn(`
858
+ `);c===null?console.log("[useViewportTracking], is this virtualised ? we're going to have to know rowHeight"):l(c)}},[e,t,l]),(0,Fn.useEffect)(()=>{},[n]);let u=(0,Fn.useCallback)(({height:c,scrollHeight:d})=>{i.current=c,s.current=d},[]);return Ur(t,B_,u,!0),r};var Lf=require("react");var Do=require("react");var KH=({id:t})=>{let e=t.lastIndexOf("-");if(e!==-1){let o=t.slice(e+1).split(".");return o.length===1?null:(o.pop(),`${t.slice(0,e)}-${o.join(".")}`)}else if((e=t.lastIndexOf("/"))!==-1)return t.slice(0,e)},UH=t=>t.childNodes!==void 0;var dS=t=>t.header===!0,V_=new Set([".","/"]),GH=(t,e)=>e.startsWith(t.id)?V_.has(e.charAt(t.id.length)):!1,Wl=(t,e)=>{for(let n of t){if(n.id===e)return n;if(GH(n,e))return Wl(n.childNodes,e)}},Zg=(t,e)=>{let n=typeof e=="string"?e:e.id;for(let o=0;o<t.length;o++)if(t[o].id===n)return o},ey=(t,e,n)=>{let o;return t.map(i=>i.id===e?{...i,...n}:GH(i,e)?(o=ey(i.childNodes,e,n),{...i,childNodes:o}):i)};function z_(t,...e){let n=new Set(t);for(let o of e)for(let r of o)n.add(r);return n}var fS="ArrowUp",jH="ArrowDown",ic="ArrowLeft";var qH="ArrowRight",ty="Enter";var $_="Delete",__=new Set([ty,$_]),W_=new Set(["Tab"]),K_=new Set(["ArrowRight","ArrowLeft"]),QH=new Set(["Home","End","ArrowDown","ArrowUp"]),JH=new Set(["Home","End","ArrowRight","ArrowLeft"]),U_=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),tCe=z_(__,JH,QH,K_,U_,W_);var XH=({key:t},e="vertical")=>(e==="vertical"?QH:JH).has(t);function YH(t,e,n){return e===fS||e===ic?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var G_=t=>!t.header&&!t.childNodes,j_=t=>G_(t)||t.expanded!==void 0,ZH=({defaultHighlightedIdx:t=-1,highlightedIdx:e,treeNodes:n,onHighlight:o,onKeyboardNavigation:r,selected:i=[]})=>{let{bwd:s,fwd:l}=(0,Do.useMemo)(()=>({bwd:fS,fwd:jH}),[]),[a,u,c]=Le({controlled:e,default:t,name:"highlightedIdx"}),d=(0,Do.useCallback)(b=>{o==null||o(b),u(b)},[o,u]),f=(0,Do.useCallback)((b=l,S=b===l?-1:n.length)=>{let C=YH(n.length,b,S);for(;C!==-1&&(b===l&&C<n.length||b===s&&C>0)&&!j_(n[C]);)C=YH(n.length,b,C);return C},[s,l,n]),p=(0,Do.useRef)(!0),g=(0,Do.useRef)(!1),y=b=>g.current=b,m=(0,Do.useCallback)(()=>{if(g.current)g.current=!1;else if(i.length>0){let b=Wl(n,i[0]);if(b){let S=Zg(n,b);d(S)}}else d(f())},[n,f,i,d]),h=(0,Do.useCallback)(b=>{let S=f(b.key,a);S!==a&&(d(S),r==null||r(b,S))},[a,f,r,d]),v=(0,Do.useCallback)(b=>{n.length>0&&XH(b,"vertical")&&(b.preventDefault(),b.stopPropagation(),p.current=!0,h(b))},[n,h]),x=(0,Do.useMemo)(()=>({onBlur:()=>{d(-1)},onFocus:m,onKeyDown:v,onMouseDownCapture:()=>{p.current=!1,y(!0)},onMouseMove:()=>{p.current&&(p.current=!1)},onMouseLeave:()=>{p.current=!0,y(!1),d(-1)}}),[m,v,d]);return{focusVisible:p.current?a:-1,controlledHighlighting:c,highlightedIdx:a,hiliteItemAtIndex:d,keyBoardNavigation:p,listProps:x,setIgnoreFocus:y}};var sc=require("react");var ny=(t,e=[],n={value:0})=>{let o=!1;for(let r of t)o&&!dS(r)||(e[n.value]=r,n.value+=1,o=!1,dS(r)&&r.expanded===!1?o=!0:UH(r)&&pS(r)&&ny(r.childNodes,e,n));return e},eO=t=>{let e=(0,sc.useRef)(t),n=(0,sc.useRef)(t),o=(0,sc.useRef)(ny(t)),[,r]=(0,sc.useState)({});t!==e.current&&(e.current=t,n.current=t,o.current=ny(t));let i=s=>{n.current=s,o.current=ny(s),r({})};return{data:n.current,indexPositions:o.current,setData:i}};var di=require("react");var q_={},Q_=t=>t&&t.hasAttribute("aria-expanded"),tO=({collapsibleHeaders:t,highlightedIdx:e,treeNodes:n,setVisibleData:o,source:r})=>{let i=(0,di.useRef)(r),s=(0,di.useRef)(i.current),l=(0,di.useCallback)(g=>{o(s.current=g)},[o]),a=(0,di.useCallback)((g,{id:y})=>ey(g,y,{expanded:!0}),[]),u=(0,di.useCallback)((g,{id:y})=>ey(g,y,{expanded:!1}),[]),c=(0,di.useCallback)(g=>{if(g.key===qH||g.key===ty){let y=n[e];y&&y.expanded===!1&&(g.preventDefault(),l(a(s.current,y)))}if(g.key===ic||g.key===ty){let y=n[e];y&&y.expanded&&(g.preventDefault(),l(u(s.current,y)))}},[u,a,e,n,l]),d=t?{onKeyDown:c}:q_,p={onClick:(0,di.useCallback)(g=>{let y=cS(g.target);if(Q_(y)){g.stopPropagation(),g.preventDefault();let m=Wl(r,y.id);(m==null?void 0:m.expanded)===!1?l(a(r,m)):(m==null?void 0:m.expanded)===!0&&l(u(r,m))}},[u,a,l,r])};return{listHandlers:d,listItemHandlers:p}};var nO=require("react");var oO=({highlightedIdx:t,hiliteItemAtIndex:e,indexPositions:n,source:o})=>({listHandlers:{onKeyDown:(0,nO.useCallback)(s=>{if(s.key===ic){let l=n[t],a=KH(l);if(a){s.preventDefault();let u=Wl(o,a);if(u){let c=Zg(n,u);c!==void 0&&e(c)}}}},[t,e,n,o])}});var J_=[],rO=({defaultSelected:t,sourceWithIds:e,onChange:n,onHighlight:o,selected:r,selection:i})=>{let s=(0,Lf.useRef)(J_),l=eO(e),a=(x,b)=>{var S,C;(C=(S=f.listHandlers).onKeyboardNavigation)==null||C.call(S,x,b)},{highlightedIdx:u,...c}=ZH({treeNodes:l.indexPositions,onHighlight:o,onKeyboardNavigation:a,selected:s.current}),d=tO({collapsibleHeaders:!0,highlightedIdx:u,treeNodes:l.indexPositions,setVisibleData:l.setData,source:l.data}),f=_H({defaultSelected:t,highlightedIdx:u,treeNodes:l.indexPositions,onChange:n,selected:r,selection:i}),p=oO({source:l.data,highlightedIdx:u,hiliteItemAtIndex:c.hiliteItemAtIndex,indexPositions:l.indexPositions}),g=(0,Lf.useCallback)(x=>{var b,S,C;(b=d.listItemHandlers)==null||b.onClick(x),x.defaultPrevented||(C=(S=f.listItemHandlers)==null?void 0:S.onClick)==null||C.call(S,x)},[d,f]),y=(0,Lf.useCallback)(x=>{var b,S,C,w,E,T,M,L;(S=(b=c.listProps).onKeyDown)==null||S.call(b,x),x.defaultPrevented||(w=(C=f.listHandlers).onKeyDown)==null||w.call(C,x),x.defaultPrevented||(T=(E=d.listHandlers).onKeyDown)==null||T.call(E,x),x.defaultPrevented||(L=(M=p.listHandlers).onKeyDown)==null||L.call(M,x)},[d.listHandlers,c.listProps,f.listHandlers,p.listHandlers]),m=()=>{var x;return u===void 0||u===-1||(x=l.indexPositions[u])==null?void 0:x.id};s.current=f.selected;let h={"aria-activedescendant":m(),onBlur:c.listProps.onBlur,onFocus:c.listProps.onFocus,onKeyDown:y,onMouseDownCapture:c.listProps.onMouseDownCapture,onMouseLeave:c.listProps.onMouseLeave,onMouseMove:c.listProps.onMouseMove},v={onClick:g};return{focusVisible:c.focusVisible,highlightedIdx:u,hiliteItemAtIndex:c.hiliteItemAtIndex,listProps:h,listItemHandlers:v,selected:f.selected,visibleData:l.data}};var to=require("react/jsx-runtime"),sO=require("react"),xs="vuuTree",pS=t=>t.expanded===!0,iO=({children:t,idx:e,...n})=>(0,to.jsx)("li",{...n,children:t}),X_=(0,ry.forwardRef)(function({allowDragDrop:e,className:n,defaultSelected:o,groupSelection:r="none",id:i,onHighlight:s,onSelectionChange:l,revealSelected:a,selected:u,selection:c="single",source:d,...f},p){var R;let g=_s(i),y=(0,ry.useRef)(null),[,m,h]=BH(d,g,{revealSelected:a?(R=u!=null?u:o)!=null?R:!1:void 0}),v=(O,P)=>{if(l){let N=P.map(D=>h(D)).filter(D=>D!==void 0);l(N)}},{focusVisible:x,highlightedIdx:b,hiliteItemAtIndex:S,listProps:C,listItemHandlers:w,selected:E,visibleData:T}=rO({defaultSelected:o,groupSelection:r,onChange:v,onHighlight:s,selected:u,selection:c,sourceWithIds:m});WH(y,b);let L={...{onMouseEnter:O=>{let P=O.target,N=OH(P);S(N)}},...w,role:"treeitem"},k=$H(r);function I(O,P,N){O.push((0,to.jsxs)(iO,{...L,...Y_(P,N,b,E,x),children:[P.icon?(0,to.jsx)("span",{className:`${xs}Node-icon`,"data-icon":P.icon}):null,(0,to.jsx)("span",{children:P.label})]})),N.value+=1}function A(O,P,N,D,B){let{value:F}=N;N.value+=1,O.push((0,sO.createElement)(iO,{...w,"aria-expanded":P.expanded,"aria-level":P.level,"aria-selected":E.includes(D)||void 0,className:(0,oy.default)(`${xs}Node`,{focusVisible:x===F,[`${xs}Node-toggle`]:!k}),"data-idx":F,"data-highlighted":F===b||void 0,"data-selectable":!0,id:D,key:`header-${F}`},k?(0,to.jsxs)("div",{className:`${xs}Node-label`,children:[(0,to.jsx)("span",{className:`${xs}Node-toggle`}),B]}):(0,to.jsxs)("div",{className:`${xs}Node-label`,children:[P.icon?(0,to.jsx)("span",{className:`${xs}Node-icon`,"data-icon":P.icon}):null,(0,to.jsx)("span",{children:B})]}),(0,to.jsx)("ul",{role:"group",children:pS(P)?H(P.childNodes,N):""})))}function H(O,P={value:0}){if((O==null?void 0:O.length)>0){let N=[];for(let D of O)D.childNodes?A(N,D,P,D.id,D.label):I(N,D,P);return N}}return(0,to.jsx)("ul",{...f,...C,className:(0,oy.default)(xs,n),id:`Tree-${g}`,ref:Oe(y,p),role:"tree",tabIndex:0,children:H(T)})}),Y_=(t,e,n,o,r,i)=>({id:t.id,key:t.id,"aria-level":t.level,"aria-selected":o.includes(t.id)||void 0,"data-idx":e.value,"data-highlighted":e.value===n||void 0,className:(0,oy.default)("vuuTreeNode",i,{focusVisible:r===e.value})});X_.displayName="Tree";var lO=require("@vuu-ui/vuu-utils");var aO=V(j()),lc=require("react");var Cs=require("react/jsx-runtime"),mS="vuuInput",eW={autoComplete:"off"},ph=(0,lc.forwardRef)(function({className:e,errorMessage:n,id:o,onCommit:r,onKeyDown:i,type:s,...l},a){let u=ke(o),{anchorProps:c,tooltipProps:d}=Px({id:u,tooltipContent:n}),f=(0,lc.useCallback)((m,h)=>{if(s==="number"){let v=parseFloat(h);if((0,lO.isValidNumber)(v))r(m,v);else throw Error("Invalid value")}else s==="boolean"?r(m,!!h):r(m,h)},[r,s]),p=(0,lc.useCallback)(m=>{if(m.key==="Enter"){m.preventDefault(),m.stopPropagation();let{value:h}=m.target;f(m,h)}i==null||i(m)},[f,i]),g=(0,lc.useCallback)(m=>{let{value:h}=m.target;f(m,h)},[f]),y=n?(0,Cs.jsx)("span",{...c,className:`${mS}-errorIcon`,"data-icon":"error"}):void 0;return(0,Cs.jsxs)(Cs.Fragment,{children:[(0,Cs.jsx)(Un,{...l,endAdornment:y,id:u,inputProps:{...eW,...l.inputProps},className:(0,aO.default)(mS,e,{[`${mS}-errror`]:n}),onBlur:g,ref:a,onKeyDown:p}),d?(0,Cs.jsx)(Ix,{...d,status:"error"}):null]})});var ly=V(j()),Ss=require("react");var ws=require("react");var iy=(t,e,n,o)=>{var m;let{loadSessionState:r,purgeSessionState:i,purgeState:s,saveSessionState:l}=Va(),[a,u]=(0,ws.useState)((m=r(t,"contributions"))!=null?m:[]),c=Mn(),d=(0,ws.useCallback)((h,v)=>{let x=a.concat([{location:h,content:v}]);l(t,"contributions",x),u(x)},[a,t,l]),f=(0,ws.useCallback)(()=>{i(t,"contributions"),u([])},[t,i]),p=(0,ws.useCallback)(()=>{let h=r(t,"data-source");h&&h.unsubscribe(),i(t),s(t),c({type:"remove",path:n})},[c,t,r,i,s,n]),g=(0,ws.useCallback)(async(h,v,x)=>{var S;h.stopPropagation();let b=(S=e.current)==null?void 0:S.getBoundingClientRect();return new Promise((C,w)=>{c({type:"drag-start",evt:h,path:v===void 0?n:`${n}.${v}`,dragRect:b,preDragActivity:x,dropTargets:o,resolveDragStart:C,rejectDragStart:w})})},[e,c,n,o]);return[(0,ws.useCallback)(async(h,v)=>{var b;let{type:x}=h;switch(x){case"maximize":case"minimize":case"restore":return c({type:x,path:(b=h.path)!=null?b:n});case"remove":return p();case"mousedown":return g(v,h.index,h.preDragActivity);case"add-toolbar-contribution":return d(h.location,h.content);case"remove-toolbar-contribution":return f();case"query":return c({type:x,path:h.path,query:h.query});default:return}},[c,n,p,g,d,f]),a]};var fO=V(j()),yn=V(require("react"));var Jo=require("react");var uO=({id:t,rootRef:e,path:n,dropTargets:o,title:r})=>{let i=Mn(),{loadState:s,loadSessionState:l,purgeState:a,saveState:u,saveSessionState:c}=Va(),[d,f]=iy(t,e,n,o),p=(0,Jo.useMemo)(()=>{var C;return(C=s("view-title"))!=null?C:r},[s,r]),g=(0,Jo.useCallback)(C=>{n&&i({type:"set-title",path:n,title:C})},[i,n]),y=(0,Jo.useMemo)(()=>s(t),[t,s]),m=(0,Jo.useCallback)(C=>s(t,C),[t,s]),h=(0,Jo.useCallback)(C=>{a(t,C),i({type:"save"})},[t,i,a]),v=(0,Jo.useCallback)((C,w)=>{u(t,w,C),i({type:"save"})},[t,i,u]),x=(0,Jo.useCallback)(C=>l(t,C),[t,l]),b=(0,Jo.useCallback)((C,w)=>c(t,w,C),[t,c]),S=(0,Jo.useCallback)(({type:C,...w})=>{let{[C]:E}=w;v(E,C)},[v]);return{contributions:f,dispatchViewAction:d,load:m,loadSession:x,onConfigChange:S,onEditTitle:g,purge:h,restoredState:y,save:v,saveSession:b,title:p}};var ac=require("react"),tW=[],cO=({mainRef:t,resize:e="responsive",rootRef:n})=>{let o=e==="defer",r=(0,ac.useRef)({}),i=(0,ac.useRef)(),s=(0,ac.useCallback)(()=>{t.current&&(t.current.style.height=r.current.height+"px",t.current.style.width=r.current.width+"px"),i.current=void 0},[t]),l=(0,ac.useCallback)(({height:a,width:u})=>{r.current.height=a,r.current.width=u,i.current!==null&&clearTimeout(i.current),i.current=window.setTimeout(s,40)},[s]);Vm(n,o?PI:tW,l,o)};var Af=V(require("react")),nW={dispatch:null},sy=Af.default.createContext(nW),dO=()=>{var e;let t=(0,Af.useContext)(sy);return(e=t==null?void 0:t.dispatch)!=null?e:null},Hm=()=>(0,Af.useContext)(sy);var uc=require("react/jsx-runtime"),Nf="vuuView",oW=(t,e)=>t&&e?{...t,...e}:t||e,pO=(0,yn.forwardRef)(function(e,n){let{Header:o=mO,children:r,className:i,collapsed:s,closeable:l,"data-path":a,"data-resizeable":u,dropTargets:c,expanded:d,flexFill:f,id:p,header:g,orientation:y="horizontal",path:m=a,resize:h="responsive",resizeable:v=u,tearOut:x,style:b={},title:S,...C}=e,w=ke(p),E=(0,yn.useRef)(null),T=(0,yn.useRef)(null),[M,L]=(0,yn.useState)(),{contributions:k,dispatchViewAction:I,load:A,loadSession:H,onConfigChange:R,onEditTitle:O,purge:P,restoredState:N,save:D,saveSession:B,title:F}=uO({id:w,rootRef:E,path:m,dropTargets:c,title:S});cO({mainRef:T,resize:h,rootRef:E});let $=(0,yn.useCallback)(G=>{L(G)},[]),Q=()=>yn.default.isValidElement(r)&&(N||M)?yn.default.cloneElement(r,oW(N,M)):r,J=(0,yn.useMemo)(()=>({dispatch:I,id:w,path:m,title:F,load:A,loadSession:H,onConfigChange:R,purge:P,save:D,saveSession:B,setComponentProps:$}),[I,w,A,H,R,m,P,D,B,$,F]),K=typeof g=="object"?g:{};return(0,uc.jsx)("div",{...C,className:(0,fO.default)(Nf,i,{[`${Nf}-collapsed`]:s,[`${Nf}-expanded`]:d,[`${Nf}-resize-defer`]:h==="defer"}),"data-resizeable":v,id:w,ref:Oe(n,E),style:b,tabIndex:-1,children:(0,uc.jsxs)(sy.Provider,{value:J,children:[g?(0,uc.jsx)(o,{...K,collapsed:s,contributions:k,expanded:d,closeable:l,onEditTitle:O,orientation:y,tearOut:x,title:F}):null,(0,uc.jsx)("div",{className:`${Nf}-main`,ref:T,children:Q()})]})})});pO.displayName="View";var Wi=yn.default.memo(pO);Wi.displayName="View";nt("View",Wi,"view");var cc=require("react/jsx-runtime"),hS="vuuHeader",mO=({className:t,contributions:e,collapsed:n,closeable:o,onEditTitle:r,orientation:i="horizontal",style:s,title:l="Untitled"})=>{let a=(0,Ss.useRef)(null),[u,c]=(0,Ss.useState)(l),[d,f]=(0,Ss.useState)(!1),p=dO(),g=M=>p==null?void 0:p({type:"remove"},M),y=()=>{var M;(M=a.current)==null||M.focus()},m=M=>{M.stopPropagation()},v=(0,ly.default)(hS,t,`${hS}-${n||i}`),x=()=>{f(!0)},b=M=>{M.key==="Enter"&&f(!0)},S=(M="",L="",k=!0,I=!1)=>{var A;f(!1),I?c(M):L!==M&&(c(L),r==null||r(L)),k===!1&&((A=a.current)==null||A.focus())},C=M=>{p==null||p({type:"mousedown"},M)},w=[],E=[],T=[];return e==null||e.forEach((M,L)=>{switch(M.location){case"pre-title":w.push((0,Ss.cloneElement)(M.content,{key:L}));break;default:E.push((0,Ss.cloneElement)(M.content,{key:L}))}}),l&&w.push((0,cc.jsx)(_d,{className:`${hS}-title`,editing:d,value:u,onChange:c,onMouseDownCapture:y,onEnterEditMode:x,onExitEditMode:S,onKeyDown:b,ref:a,tabIndex:0},"title")),o&&T.push((0,cc.jsx)(jt,{"data-icon":"close",onClick:g,onMouseDown:m,variant:"secondary"},"close")),E.length>0&&w.push((0,cc.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:E},"contributions")),T.length>0&&w.push((0,cc.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:T},"actions")),(0,cc.jsx)("div",{className:(0,ly.default)("vuuToolbarProxy",v),style:s,onMouseDown:C,children:w})};var ay={layout:{type:"Stack",id:"main-tabs",props:{className:"vuuShell-mainTabs",TabstripProps:{allowAddTab:!0,allowCloseTab:!0,allowRenameTab:!0,animateSelectionThumb:!1,location:"main-tab",tabClassName:"MainTab"},preserve:!0,active:0},children:[{props:{id:"tab1",title:"Tab 1",className:"vuuShell-Placeholder"},type:"Placeholder"}]}};var bW=V(j(),1),vW=require("react");var hO=require("react");var gS=require("react/jsx-runtime");var yO=require("@vuu-ui/vuu-utils");var yS=V(j(),1),no=require("react");var bS=require("react/jsx-runtime"),gO="vuuExpandoCombobox",rW={},Hf=(0,no.forwardRef)(function({className:e,InputProps:n=rW,ListProps:o,onInputChange:r,onSelectionChange:i,selectionStrategy:s,style:l,value:a="",...u},c){let[d,f]=(0,no.useState)(a),{itemToString:p=yO.itemToString}=u,g=(0,no.useRef)(a),y=(0,no.useCallback)(C=>{let[w,...E]=C;return E.length?`${p(w)} + ${E.length}`:p(w)},[p]),m=(0,no.useCallback)(C=>{let{value:w}=C.target;f(w),r==null||r(C)},[r]),h=(0,no.useCallback)(C=>{f(C)},[]),[v,x]=(0,no.useMemo)(()=>{let{inputProps:C,...w}=n;return[{...w,className:`${gO}-Input`,endAdornment:null,inputProps:{...C,autoComplete:"off",onInput:m}},{...o,className:(0,yS.default)("vuuMenuList",o==null?void 0:o.className),"data-mode":"light",displayedItemCount:10,itemHeight:22,maxWidth:300,minWidth:80,width:"content-width"}]},[n,m,o]),b=(0,no.useCallback)((C,w)=>{Array.isArray(w)?i==null||i(null,w):w&&(f(p(w)),i==null||i(null,w))},[p,i]),S={minWidth:"fit-content"};return(0,bS.jsx)("div",{className:(0,yS.default)(gO,e),"data-text":d,ref:c,style:l,children:(0,bS.jsx)(a0,{...u,PopupProps:S,defaultValue:g.current,fullWidth:!0,ListProps:x,InputProps:v,itemsToString:y,onSelectionChange:b,onSetSelectedText:h,selectionStrategy:s})})});var uW=V(j(),1),cW=require("react");var Kl=require("react");var uy=require("@vuu-ui/vuu-utils"),bO=require("react/jsx-runtime"),iW=(0,Kl.forwardRef)(function({InputProps:e,className:n,column:o,onInputComplete:r,value:i},s){let[l,a]=(0,Kl.useState)((0,uy.isValidNumber)(i)?i.toString():""),u=(0,Kl.useCallback)(d=>{let{value:f}=d.target,p=parseFloat(f);(0,uy.isValidNumber)(p)&&console.log("its valid"),a(f)},[]),c=(0,Kl.useCallback)(d=>{if(d.key==="Enter"){let{value:f}=d.target,p=parseFloat(f);(0,uy.isValidNumber)(p)&&r(p)}},[r]);return(0,bO.jsx)(fh,{...e,className:n,value:l,ref:s,onChange:u,onKeyDown:c})});var vO=require("@vuu-ui/vuu-utils");var bn=require("react");var Of=require("react/jsx-runtime"),sW=["Enter"," "],xO=["No matching data"],lW=(0,bn.forwardRef)(function({InputProps:e={},className:n,column:o,"data-field":r,onDeselect:i,onInputComplete:s,operator:l,suggestionProvider:a=Tf,table:u,value:c},d){let[f,p]=(0,bn.useState)(c!=null?c:""),[g,y]=(0,bn.useState)([]),m=a(),h=(0,bn.useCallback)((C,w)=>s(w),[s]),v=(0,bn.useCallback)((C,w)=>{w.length===1?s(w[0]):w.length>1&&s(w)},[s]);(0,bn.useEffect)(()=>{},[o]),(0,bn.useEffect)(()=>{if(u){let C=f?[u,o.name,f]:[u,o.name];m(C).then(w=>{w.length===0&&f?y(xO):y(w)}).catch(w=>{console.error("Error getting suggestions",w)})}},[u,o,f,m]);let x=(0,bn.useCallback)(C=>{let{value:w}=C.target;p(w)},[]),b=(0,bn.useMemo)(()=>{if(l==="starts"||l==="ends"){let{inputProps:C,...w}=e;return{...w,inputProps:{...C,onKeyDown:E=>{var T;E.key==="Enter"&&f!==""?(E.stopPropagation(),E.preventDefault(),s(f)):(T=C==null?void 0:C.onKeyDown)==null||T.call(C,E)}}}}else return e},[e,s,l,f]);return(0,bn.useCallback)(()=>{if(g.length===0)return null;switch(l){case"in":return(0,Of.jsx)(Hf,{InputProps:b,className:n,"data-field":r,initialHighlightedIndex:0,source:g,onInputChange:x,onSelectionChange:v,ref:d,selectionStrategy:"multiple",selectionKeys:sW,value:c});case"starts":return(0,Of.jsx)(Hf,{InputProps:b,ListProps:{className:"vuuIllustrationsOnly",disabled:!0},allowFreeText:!0,className:n,"data-field":r,initialHighlightedIndex:0,disableFilter:g===xO&&(f==null?void 0:f.length)>0,source:g,onInputChange:x,onSelectionChange:h,ref:d,value:c});case"ends":return(0,Of.jsx)(fh,{...b,className:n,"data-field":r,value:f,ref:d,onChange:x});default:return(0,Of.jsx)(Hf,{InputProps:b,allowBackspaceClearsSelection:!0,className:n,"data-field":r,initialHighlightedIndex:0,source:g,title:"value",onInputChange:x,onDeselect:i,onSelectionChange:h,ref:d,value:c})}},[l,b,n,r,g,x,v,d,c,f,i,h])()});var vS=require("@vuu-ui/vuu-utils"),aW=require("@vuu-ui/vuu-data"),Ff=require("react");var CO=require("react/jsx-runtime");var SO=require("@vuu-ui/vuu-utils"),hW=V(j(),1),EO=require("react");var dW=require("react"),fW=V(j(),1);var pW=require("react/jsx-runtime");var Es=require("@vuu-ui/vuu-utils");var cy=require("@vuu-ui/vuu-utils"),wO=require("react/jsx-runtime");var TO=require("react/jsx-runtime");var CS=require("@vuu-ui/vuu-utils"),Bf=require("react");var gW=require("react");var kO=require("react");var yW=require("react/jsx-runtime");var MO=require("react/jsx-runtime"),xW=require("react");var kW=require("@vuu-ui/vuu-filter-parser"),MW=V(j(),1),wS=require("react");var IO=require("@vuu-ui/vuu-filter-parser"),iTe=Er.define({name:"VuuFilterQuery",parser:IO.parser.configure({props:[Il({Identifier:W.variableName,String:W.string,Or:W.emphasis,Operator:W.operator})]})});var wW=Go.define([{tag:W.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:W.comment,color:"green",fontStyle:"italic"}]),SW=Dl(wW);var EW=ae.theme({"&":{color:"var(--vuuFilterEditor-color)",backgroundColor:"var(--vuuFilterEditor-background)",fontSize:"var(--vuuFilterEditor-fontSize)"},".cm-content":{caretColor:"var(--vuuFilterEditor-cursorColor)",padding:0},".cm-line":{lineHeight:"var(--vuuFilterEditor-lineHeight)"},"&.cm-focused .cm-cursor":{borderLeftColor:"var(--vuuFilterEditor-cursorColor)"},"&.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-scroller":{fontFamily:"var(--vuuFilterEditor-fontFamily)"},".cm-tooltip":{background:"var(--vuuFilterEditor-tooltipBackground)",border:"var(--vuuFilterEditor-tooltipBorder)",borderRadius:"4px",boxShadow:"var(--vuuFilterEditor-tooltipElevation)","&.cm-tooltip-autocomplete > ul":{fontFamily:"var(--vuuFilterEditor-fontFamily)",fontSize:"var(--vuuFilterEditor-fontSize)",maxHeight:"240px"},"&.cm-tooltip-autocomplete > ul > li":{alignItems:"center",display:"flex",height:"var(--vuuFilterEditor-suggestion-height)",padding:"0 3px",lineHeight:"var(--vuuFilterEditor-suggestion-height)"},"&.cm-tooltip-autocomplete li[aria-selected]":{background:"var(--vuuFilterEditor-suggestion-selectedBackground)",color:"var(--vuuFilterEditor-suggestion-selectedColor)"}},".cm-completionIcon":{height:"18px",flex:"0 0 16px"},".cm-completionLabel":{flex:"1 1 auto"},".cm-completionIcon-filter":{position:"relative","&:after":{background:"var(--salt-text-secondary-foreground)",content:"''","-webkit-mask":"var(--svg-filter) center center/13px 13px","-webkit-mask-repeat":"no-repeat",position:"absolute",height:"18px",left:"0px",top:"0px",width:"16px"}}},{dark:!1});var TW=require("react");var PO=require("react/jsx-runtime");var DO=require("react");var IW=require("@vuu-ui/vuu-utils");var dy=t=>{let e=localStorage.getItem(t);return e?JSON.parse(e):void 0};var fy=(t,e)=>{try{return localStorage.setItem(t,JSON.stringify(e)),e}catch{return}};var py=require("@vuu-ui/vuu-utils");var RO="layouts/metadata",LO="layouts/layouts",dc,SS=class{constructor(e){_n(this,dc,"api/vui");e&&Xo(this,dc,e)}createLayout(e,n){return new Promise(o=>{Promise.all([this.loadLayouts(),this.loadMetadata()]).then(([r,i])=>{let s=(0,py.getUniqueId)(),l={...e,id:s,created:(0,py.formatDate)("dd.mm.yyyy")(new Date)};this.saveLayoutsWithMetadata([...r,{id:s,json:n}],[...i,l]),o(l)})})}updateLayout(e,n,o){return new Promise((r,i)=>{this.validateIds(e).then(()=>Promise.all([this.loadLayouts(),this.loadMetadata()])).then(([s,l])=>{let a=s.map(c=>c.id===e?{...c,json:o}:c),u=l.map(c=>c.id===e?{...c,...n}:c);this.saveLayoutsWithMetadata(a,u),r()}).catch(s=>i(s))})}deleteLayout(e){return new Promise((n,o)=>{this.validateIds(e).then(()=>Promise.all([this.loadLayouts(),this.loadMetadata()])).then(([r,i])=>{let s=r.filter(a=>a.id!==e),l=i.filter(a=>a.id!==e);this.saveLayoutsWithMetadata(s,l),n()}).catch(r=>o(r))})}loadLayout(e){return new Promise((n,o)=>{this.validateId(e,"layout").then(()=>this.loadLayouts()).then(r=>{let i=r.find(s=>s.id===e);i?n(i.json):o(new Error(`no layout found matching id ${e}`))}).catch(r=>o(r))})}loadMetadata(){return new Promise(e=>{let n=dy(RO);e(n||[])})}loadApplicationJSON(){return new Promise(e=>{let n=dy(ne(this,dc));e(n||ay)})}saveApplicationJSON(e){return new Promise((n,o)=>{fy(ne(this,dc),e)?n():o(new Error("Application Json failed to save"))})}loadLayouts(){return new Promise(e=>{let n=dy(LO);e(n||[])})}saveLayoutsWithMetadata(e,n){fy(LO,e),fy(RO,n)}async validateIds(e){return Promise.all([this.validateId(e,"metadata").catch(n=>n.message),this.validateId(e,"layout").catch(n=>n.message)]).then(n=>{let o=n.filter(r=>r!==void 0).join("; ");if(o)throw new Error(o)})}validateId(e,n){return new Promise((o,r)=>{(n==="metadata"?this.loadMetadata:this.loadLayouts)().then(s=>{switch(s.filter(a=>a.id===e).length){case 1:{o();break}case 0:{r(new Error(`No ${n} with ID ${e}`));break}default:r(new Error(`Non-unique ${n} with ID ${e}`))}})})}};dc=new WeakMap;var AO=require("react"),PW=require("react/jsx-runtime");var BO=require("react");var fi=require("@vuu-ui/vuu-utils"),Dr=require("react");var Gl=require("react");var Ul=new Map,HO=(t,e,n)=>{switch(n){case"height":return e.height;case"clientHeight":return Math.floor(t.clientHeight);case"clientWidth":return Math.floor(t.clientWidth);case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(Math.floor(t.scrollHeight));case"scrollWidth":return Math.ceil(Math.floor(t.scrollWidth));case"width":return e.width;default:return 0}},NO=new ResizeObserver(t=>{for(let e of t){let{target:n,borderBoxSize:o,contentBoxSize:r}=e,i=Ul.get(n);if(i){let[{blockSize:s,inlineSize:l}]=o,[{blockSize:a,inlineSize:u}]=r,{onResize:c,measurements:d}=i,f=!1;for(let[p,g]of Object.entries(d)){let y=HO(n,{height:s,width:l,contentHeight:a,contentWidth:u},p);y!==g&&(f=!0,d[p]=y)}f&&c&&c(d)}}});function OO(t,e,n,o=!1){let r=(0,Gl.useRef)(e),i=(0,Gl.useCallback)(s=>{let{width:l,height:a}=s.getBoundingClientRect(),{clientWidth:u,clientHeight:c}=s,d=Math.floor(a),f=Math.floor(l);return r.current.reduce((p,g)=>(p[g]=HO(s,{width:f,height:d,contentHeight:c,contentWidth:u},g),p),{})},[]);(0,Gl.useEffect)(()=>{let s=t.current;async function l(){Ul.set(s,{measurements:{}});let a=Ul.get(s);if(a){let u=i(s);a.measurements=u,NO.observe(s),o&&n(u)}else console.log("%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation","font-weight:bold; color:red;")}return s&&(Ul.has(s)&&console.log("useResizeObserver attemping to observe same element twice",{target:s}),l()),()=>{s&&Ul.has(s)&&(NO.unobserve(s),Ul.delete(s))}},[i,t]),(0,Gl.useEffect)(()=>{let s=t.current,l=Ul.get(s);if(l){if(r.current!==e){r.current=e;let a=i(s);l.measurements=a}l.onResize=n}},[e,i,t,n])}var DW=["clientHeight","clientWidth"],RW=["clientWidth"],LW=["clientHeight"],AW=[],my=t=>Number.isFinite(t),NW={height:"100%",width:"auto"},HW=(t,e)=>(0,fi.isValidNumber)(t)&&(0,fi.isValidNumber)(e)?{height:`${t}px`,width:`${e}px`}:typeof t=="string"||typeof e=="string"?{height:t!=null?t:"100%",width:e!=null?e:"auto"}:NW,OW=(t,e)=>{if((0,fi.isValidNumber)(t)&&(0,fi.isValidNumber)(e))return{height:t,width:e}},FO=({defaultHeight:t=0,defaultWidth:e=0,height:n,onResize:o,width:r})=>{let i=(0,Dr.useRef)(null),[s,l]=(0,Dr.useState)({css:HW(n,r),inner:OW(n,r),outer:{height:n!=null?n:"100%",width:r!=null?r:"auto"}}),a=typeof n=="number",u=typeof r=="number",c=a&&u?AW:a?RW:u?LW:DW;(0,Dr.useMemo)(()=>{l(f=>{let{inner:p,outer:g}=f;if((0,fi.isValidNumber)(n)&&(0,fi.isValidNumber)(r)&&p&&g){let{height:y,width:m}=p,{height:h,width:v}=g;if(h!==n||v!==r){let x=(0,fi.isValidNumber)(h)?h-y:0,b=(0,fi.isValidNumber)(v)?v-m:0;return{...f,outer:{height:n,width:r},inner:{height:n-x,width:r-b}}}}return f})},[n,r]);let d=(0,Dr.useCallback)(({clientWidth:f,clientHeight:p})=>{let{css:g,inner:y,outer:m}=s,h=s;a&&my(f)&&Math.floor(f)!==(y==null?void 0:y.width)?h={css:g,outer:m,inner:{width:Math.floor(f)||e,height:n}}:u&&my(p)&&Math.floor(p)!==(y==null?void 0:y.height)?h={css:g,outer:m,inner:{height:Math.floor(p)||t,width:r}}:my(p)&&my(f)&&(f!==(y==null?void 0:y.width)||p!==(y==null?void 0:y.height))&&(h={css:g,outer:m,inner:{width:Math.floor(f)||e,height:Math.floor(p)||t}}),h!==s&&l(h)},[t,e,a,u,n,s,r]);return(0,Dr.useEffect)(()=>{s.inner&&(o==null||o(s.inner))},[o,s.inner]),OO(i,c,d,!0),{containerRef:i,cssSize:s.css,outerSize:s.outer,innerSize:s.inner}};var TS=V(j());var kS=require("react/jsx-runtime"),ES="vuuMeasuredContainer",sh=(0,BO.forwardRef)(function({children:e,className:n,height:o,onResize:r,style:i,width:s,...l},a){let{containerRef:u,...c}=FO({height:o,onResize:r,width:s}),{cssSize:d,innerSize:f}=c,p=f===void 0,g=()=>p?{"--measured-css-height":`${d.height}`,"--measured-css-width":`${d.width}`}:{...i,"--measured-css-height":`${d.height}`,"--measured-css-width":`${d.width}`,"--measured-px-height":`${f==null?void 0:f.height}px`,"--measured-px-width":`${f==null?void 0:f.width}px`},y=Oe(u,a);return p?(0,kS.jsx)("div",{...l,className:(0,TS.default)(ES,`${ES}-ummeasured`),style:g(),ref:u}):(0,kS.jsx)("div",{...l,className:(0,TS.default)(ES,n),ref:y,style:g(),children:e})});var zf=V(j()),yy=V(require("react"));var gy=require("@vuu-ui/vuu-utils"),Bn=require("react");var MS=require("@vuu-ui/vuu-utils"),FW=".vuuOverflowContainer-item:not(.wrapped)",YP=t=>t!==null&&t.dataset.index==="overflow"&&t.parentElement!==null&&t.parentElement.classList.contains("vuuOverflowContainer-wrapContainer-overflowed"),BW=t=>t.sort((e,n)=>{let{dataset:{index:o="?"}}=e,{dataset:{index:r="?"}}=n,i=e.classList.contains("wrapped"),s=n.classList.contains("wrapped"),l=o==="overflow",a=r==="overflow";return i&&!s?1:!i&&s?-1:l?1:a?-1:parseInt(o)>parseInt(r)?1:-1}),IS=[],Vf=(t,e="horizontal")=>{let n=[],o=[],r=-1,i=!1,s=BW(Array.from(t.children)),l=e==="vertical"?"top":"left";for(let a of s){let u=a,{dataset:{index:c="?",label:d="?",overflowPriority:f="0"}}=u,{[l]:p}=u.getBoundingClientRect();p<=r?(c==="overflow"?o.push(n.pop()):o.push({index:c,label:d,overflowPriority:f}),i=!0):i?o.push({index:c,label:d,overflowPriority:f}):n.push({index:c,label:d,overflowPriority:f}),r=p}return[n,o]},VO=(t,e,n)=>{let o=!1,r=n?`${n}-overflowed`:"overflow";e.find(({index:i})=>i==="overflow")&&e.length===1&&(o=!0);for(let i of t.children){let{dataset:{index:s="?"}}=i;e.length===0||o?t.classList.remove(r):t.classList.add(r),s!=="overflow"&&e.find(l=>l.index===s)?i.classList.add("wrapped"):i.classList.remove("wrapped")}},VW=(t,{overflowPriority:e})=>Math.max(t,parseInt(e)),zW=(t,{overflowPriority:e})=>Math.min(t,parseInt(e)),zO=t=>{var e;return t.length>1&&((e=t.at(-1))==null?void 0:e.index)==="overflow"},$W=t=>{let[e]=t;for(let n=1;n<t.length;n++){let o=t[n];parseInt(o.overflowPriority)>parseInt(e.overflowPriority)&&(e=o)}return e},$O=(t,e)=>{var r;let n=t.reduce(zW,Number.MAX_SAFE_INTEGER);return e.reduce(VW,0)>n?!0:e.length>1&&((r=e.at(-1))==null?void 0:r.index)==="overflow"},_O=(t,e)=>new Promise(n=>{requestAnimationFrame(()=>{let[,o]=Vf(t);KW(e,o).forEach(i=>_W(t,i)),n(o)})}),WO=(t,e,n)=>new Promise(o=>{requestAnimationFrame(()=>{let[,r]=Vf(t),i=$W(r);if(i){let[s,l]=PS(t,i);o([s,l])}else o([e,n])})}),_W=(t,e)=>{let n=(0,MS.getElementByDataIndex)(t,e.index);if(n)n.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${e.index} not found`)},WW=t=>Array.from(t.querySelectorAll(".wrapped")),KW=(t,e)=>{let n=[];for(let o of e)t.find(({index:r})=>r===o.index)||n.push(o);return n},UW=(t,e)=>{WW(t).forEach(o=>{let{dataset:{index:r="?"}}=o;e.find(i=>i.index===r)||o.classList.remove("wrapped")})},KO=t=>t.querySelector('[data-index="overflow"]'),GW=t=>t.querySelector(".wrapped"),hy=t=>parseInt(getComputedStyle(t).getPropertyValue("width")),UO=(t,e)=>{let{right:n}=t.getBoundingClientRect(),o=parseInt(getComputedStyle(t).getPropertyValue("padding-right")),{right:r}=e.getBoundingClientRect();return n-o-r},GO=t=>{let e=KO(t),n=UO(t,e),o=hy(e),r=GW(t);return hy(r)<=n+o?(t.classList.remove("overflowed"),r.classList.remove("wrapped"),!0):!1},jW=(t,e)=>{let{dataset:{index:n="0",overflowPriority:o="0"}}=t,{dataset:{index:r="0",overflowPriority:i="0"}}=e;return o>i?-1:o<i?1:parseInt(n)-parseInt(r)},qW=t=>Array.from(t.querySelectorAll(FW)).sort(jW),PS=(t,e)=>{let n=qW(t),o=(0,MS.getElementByDataIndex)(t,e.index,!0),r=-1,i=n.at(r),s=hy(i),l=hy(o),a=KO(t),u=UO(t,a)+s;if(u>=l)QW(o,i);else{let{left:f}=i.getBoundingClientRect(),p=u,g=[i];for(;u<l;){r-=1,i=n.at(r),g.push(i);let{left:y}=i.getBoundingClientRect(),m=f-y;u=p+m}o==null||o.classList.remove("wrapped"),g.forEach(y=>{y.classList.add("wrapped")})}let[c,d]=Vf(t);return UW(t,d),[c,d]},QW=(t,e)=>{if(!t||!e)throw Error("switchWrapOnElements, element undefined");t.classList.remove("wrapped"),e.classList.add("wrapped")};var jO=({allowDragDrop:t=!1,itemCount:e,onMoveItem:n,onSwitchWrappedItemIntoView:o,orientation:r="horizontal"})=>{let[i,s]=(0,Bn.useState)(null),l=(0,Bn.useRef)(IS),a=(0,Bn.useRef)(null),u=(0,Bn.useCallback)(x=>{var b;a.current&&((b=a.current.querySelector(".vuuOverflowContainer-OverflowIndicator button"))==null||b.setAttribute("tabindex",x))},[]),c=(0,Bn.useCallback)(async()=>{if(i){let[x,b]=Vf(i,r);for(VO(i,b,"vuuOverflowContainer-wrapContainer"),zO(b)&&(b=await _O(i,b));$O(x,b);)[x,b]=await WO(i,x,b);b.length===1&&GO(i)&&(b=IS),l.current.length===0&&b.length>0?u("0"):l.current.length>0&&b.length===0&&u("-1"),l.current=b}},[i,r,u]),d=x=>typeof x=="object"&&x!==null&&"overflowItem"in x,[f,p]=(0,Bn.useMemo)(()=>[()=>{let{current:x}=l;return x.map(b=>({label:b.label,action:`activate-item-${b.index}`,options:{overflowItem:b}}))},({options:x})=>{if(i&&d(x)){let[,b]=PS(i,x.overflowItem);l.current=b,o==null||o(x.overflowItem)}return!0}],[i,o]),g=(0,Bn.useMemo)(()=>{let{sizeProp:x}=gy.MEASURES[r],b=0;return new ResizeObserver(S=>{for(let C of S){let{[x]:w}=C.contentRect,E=Math.round(w);(0,gy.isValidNumber)(E)&&b!==E&&(b=E,c())}})},[c,r]);kn(()=>{c()},[c,e]),(0,Bn.useMemo)(()=>{i&&g.observe(i)},[i,g]);let y=(0,Bn.useCallback)(x=>{s(a.current=x)},[]),m=(0,Bn.useCallback)((x,b)=>{n==null||n(x,b)},[n]),{onMouseDown:h,...v}=cr({allowDragDrop:t,containerRef:a,draggableClassName:"vuuOverflowContainer",onDrop:m,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"});return{menuActionHandler:p,menuBuilder:f,onItemMouseDown:h,rootRef:y,...v}};var Ts=require("react/jsx-runtime"),fc="vuuOverflowContainer",qO=yy.default.memo(({PopupMenuProps:t,allowDragDrop:e,children:n,className:o,height:r,id:i,onMoveItem:s,onSwitchWrappedItemIntoView:l,orientation:a="horizontal",overflowIcon:u,overflowPosition:c="end"})=>{let d=Ws(n),{draggable:f,draggedItemIndex:p,menuActionHandler:g,menuBuilder:y,onItemMouseDown:m,rootRef:h}=jO({allowDragDrop:e,itemCount:d.length,onMoveItem:s,onSwitchWrappedItemIntoView:l,orientation:a}),x={"--overflow-container-height":`${a==="vertical"?"100%":`${r}px`}`},b=(0,zf.default)(`${fc}-wrapContainer`,o,{[`${fc}-horizontal`]:a==="horizontal",[`${fc}-vertical`]:a==="vertical"}),S=d.map((w,E)=>{let{"data-align":T,"data-overflow-priority":M="0",id:L=`${i}-${E}`,label:k=`Item ${E+1}`}=w.props;return(0,Ts.jsx)("div",{className:(0,zf.default)(`${fc}-item`,{"vuuDraggable-dragAway":p===E}),"data-index":E,"data-align":T,"data-label":k,"data-overflow-priority":M,id:`${L}-wrapper`,onMouseDown:m,children:w},E)}),C=(0,Ts.jsx)("div",{className:`${fc}-OverflowIndicator`,"data-index":"overflow",children:(0,Ts.jsx)(Ha,{...t,icon:u,menuBuilder:y,menuActionHandler:g,tabIndex:-1})},"overflow");return S.push(C),(0,Ts.jsxs)("div",{className:b,ref:h,style:x,children:[S,f]})});qO.displayName="OverflowContainer.InnerContainer";var Kd=(0,yy.forwardRef)(function({PopupMenuProps:e,allowDragDrop:n=!1,children:o,className:r,height:i=44,id:s,onMoveItem:l,onSwitchWrappedItemIntoView:a,orientation:u,overflowIcon:c,overflowPosition:d,...f},p){let g=ke(s);return(0,Ts.jsx)("div",{...f,className:(0,zf.default)((0,zf.default)(r,fc)),id:g,ref:p,children:(0,Ts.jsx)(qO,{PopupMenuProps:e,allowDragDrop:n,height:i,id:g,orientation:u,overflowIcon:c,overflowPosition:d,onMoveItem:l,onSwitchWrappedItemIntoView:a,children:o})})});var QO=require("@vuu-ui/vuu-utils");var DS=V(j()),vy=require("react");var by=require("react/jsx-runtime"),JW=t=>{let e=t.cloneNode(!0);return e.id="",delete e.dataset.idx,e},RS=(0,vy.memo)(({className:t,children:e,idx:n,resizeable:o,header:r,closeable:i,...s})=>(0,by.jsx)(Gi,{className:(0,DS.default)("vuuPaletteItem",t),"data-draggable":!0,"data-icon":"draggable",...s}));RS.displayName="PaletteItem";var JO=({ListProps:t,ViewProps:e,children:n,className:o,itemHeight:r=41,orientation:i="horizontal",...s})=>{let l=Mn(),a="vuuPalette";function u(c){var M,L;let f=c.target.closest(".vuuPaletteItem"),p=parseInt((L=(M=f.dataset)==null?void 0:M.index)!=null?L:"-1"),{props:{caption:g,children:y,template:m,...h}}=n[p],{ViewProps:v}=y.props,{height:x,left:b,top:S,width:C}=f.getBoundingClientRect(),w=(0,QO.uuid)(),T=m?y:(0,by.jsx)(Wi,{...e,...{id:w,key:w},...h,...v,title:h.label,children:y});l({dragRect:{left:b,top:S,right:b+C,bottom:S+150,width:C,height:x},dragElement:JW(f),evt:c.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,DriftHomeIfNoDropTarget:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:T,type:"drag-start"})}return(0,by.jsx)(qr,{...t,...s,className:(0,DS.default)(a,o,`${a}-${i}`),itemHeight:r,selected:null,children:n.map((c,d)=>c.type===RS?(0,vy.cloneElement)(c,{key:d,onMouseDown:u}):c)})};nt("Palette",JO,"view");var AS=V(j()),Rr=V(require("react"));var pc=require("react/jsx-runtime"),LS="vuuTabs",XW=()=>{},YW=t=>{let e=[];return Rr.default.Children.forEach(t,n=>{Rr.default.isValidElement(n)?e.push(n):console.warn("Stack has unexpected child element type")}),e},ZW={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},xy=(0,Rr.forwardRef)(function({TabstripProps:e=ZW,active:n=0,children:o,className:r,getTabIcon:i=XW,getTabLabel:s=Rd,id:l,keyBoardActivation:a="manual",onAddTab:u,onMoveTab:c,onTabClose:d,onTabEdit:f,onTabSelectionChanged:p,showTabs:g="top",style:y},m){var k;let h=ke(l),v=(0,Rr.useRef)([]),{allowCloseTab:x,allowRenameTab:b,className:S}=e,C=(0,Rr.useCallback)((I,A,H,R)=>{f==null||f(R,A)},[f]),w=()=>{var I;return Rr.default.isValidElement(o)?o:Array.isArray(o)&&(I=o[n])!=null?I:null},E=()=>YW(o).map((I,A)=>{let{closeable:H=x,id:R=`${h}-${A}`,"data-tab-location":O}=I.props,P=s(I,A,v.current);return v.current.push(P),(0,pc.jsx)(uS,{ariaControls:R,"data-icon":i(I,A),id:`${R}-tab`,index:A,label:P,location:O,closeable:H,editable:b},R)}),T=w(),M=g==="left"||g==="right",L=M?"vertical":"horizontal";return(0,pc.jsxs)("div",{className:(0,AS.default)(LS,r,{[`${LS}-horizontal`]:M}),style:y,id:h,ref:m,children:[g?(0,pc.jsx)(aS,{...e,activeTabIndex:(k=e==null?void 0:e.activeTabIndex)!=null?k:T===null?-1:n,allowDragDrop:e.allowDragDrop!==!1,animateSelectionThumb:!0,className:(0,AS.default)("vuuTabHeader",S),keyBoardActivation:a,onActiveChange:p,onAddTab:u,onCloseTab:d,onExitEditMode:C,onMoveTab:c,orientation:L,children:E()}):null,(0,pc.jsx)("div",{"aria-labelledby":`${h}-${n}`,className:`${LS}-tabPanel`,role:"tabpanel",children:T})]})});xy.displayName="Stack";var ks=V(require("react"));var NS=require("react/jsx-runtime"),eK=()=>(0,NS.jsx)(Fa,{resizeable:!0,style:{flexGrow:1,flexShrink:0,flexBasis:0}}),XO=t=>{var S;let e=(0,ks.useRef)(null),n=Mn(),{loadState:o}=Va(),{createNewChild:r,id:i,onTabSelectionChanged:s,path:l,...a}=t,{children:u}=t,c=_s(i),[d]=iy(c,e,l),f=EI(),p=(S=r!=null?r:f)!=null?S:eK,g=C=>{l&&(n({type:"switch-tab",id:c,path:l,nextIdx:C}),s==null||s(C))},y=(0,ks.useCallback)(C=>{if(Array.isArray(u)){let{props:{"data-path":w,path:E=w}}=u[C];n({type:"remove",path:E})}},[u,n]),m=(0,ks.useCallback)(()=>{if(l){let C=ks.default.Children.count(u),w=p(C);n({type:"add",path:l,component:w})}},[u,p,n,l]),h=(0,ks.useCallback)((C,w)=>{l&&n({fromIndex:C,toIndex:w,path:l,type:"move-child"})},[n,l]);return(0,NS.jsx)(xy,{...a,id:c,getTabLabel:(C,w,E)=>{let{id:T,title:M}=C.props;return o(T,"view-title")||M||Rd(C,w,E)},onMouseDown:async(C,w)=>{let E;await d({type:"mousedown",index:w,preDragActivity:async()=>new Promise(L=>{console.log("preDragActivity: Ok, gonna release the drag"),E=L})},C)&&(E==null||E(void 0))},onMoveTab:h,onAddTab:m,onTabClose:y,onTabEdit:(C,w)=>{n({type:"set-title",path:`${l}.${C}`,title:w})},onTabSelectionChanged:g,ref:e})};XO.displayName="Stack";nt("Stack",XO,"container");var rK=V(j()),OS=V(require("react"));var oK=require("@vuu-ui/vuu-utils"),ZO=require("react");var Cy=require("@vuu-ui/vuu-utils"),HS=require("react"),Vn=require("@vuu-ui/vuu-utils");var tK=require("@vuu-ui/vuu-utils");var dIe={horizontal:{[Vn.Home]:"start",[Vn.End]:"end",[Vn.ArrowLeft]:"bwd",[Vn.ArrowRight]:"fwd"},vertical:{[Vn.Home]:"start",[Vn.End]:"end",[Vn.ArrowUp]:"bwd",[Vn.ArrowDown]:"fwd"}};var YO=require("@vuu-ui/vuu-utils");var nK=require("react");var iK=require("react/jsx-runtime");var eF=V(require("react"));var tF=require("react/jsx-runtime");var nF=require("react/jsx-runtime");var wy="(\\d+)(?:px)?",sK=`^(?:${wy}(?:\\s${wy}(?:\\s${wy}(?:\\s${wy})?)?)?)$`,tPe=new RegExp(sK);var lK=V(require("react")),aK=V(j());var uK=require("react/jsx-runtime");var Sy=require("react");var cK=require("react"),oF=require("react/jsx-runtime");var dK=V(j());var rF=require("react/jsx-runtime");var fK=require("@vuu-ui/vuu-utils");var iF=require("react/jsx-runtime");var FS=V(require("react")),hK=V(j());var BS=require("react/jsx-runtime");var gK=require("react"),yK=V(j()),bK=require("react/jsx-runtime");var ql=V(require("react"));var sF=V(require("react")),jl=require("react/jsx-runtime"),Ey=class extends sF.default.Component{constructor(e){super(e),this.state={errorMessage:null}}static getDerivedStateFromError(e){return{errorMessage:e.message}}componentDidCatch(e,n){console.log(`error creating component at ${this.props.url}`),console.log(e,n)}render(){return this.state.errorMessage?(0,jl.jsxs)(jl.Fragment,{children:[(0,jl.jsx)("h1",{children:"An error occured while creating component."}),(0,jl.jsx)("p",{children:this.state.errorMessage})]}):this.props.children}};var aF=require("react/jsx-runtime"),lF=()=>(0,aF.jsx)("div",{className:"hwLoader"});var uF=async t=>{let e=new CSSStyleSheet;return fetch(t).then(n=>n.text()).then(n=>e.replace(n))};var $f=require("react/jsx-runtime"),Ty=new Map,vK=t=>{(0,ql.useEffect)(()=>()=>{Ty.delete(t)},[t]),Ty.has(t)||Ty.set(t,ql.default.lazy(()=>import(t)));let e=Ty.get(t);if(e)return e;throw Error(`Unable to load Lazy Feature at url ${t}`)};function xK({url:t,css:e,ComponentProps:n,...o}){e&&uF(e).then(i=>{document.adoptedStyleSheets=[...document.adoptedStyleSheets,i]});let r=vK(t);return(0,$f.jsx)(Ey,{url:t,children:(0,$f.jsx)(ql.Suspense,{fallback:(0,$f.jsx)(lF,{}),children:(0,$f.jsx)(r,{...o,...n})})})}var VS=ql.default.memo(xK);VS.displayName="Feature";nt("Feature",VS,"view");var cF=require("react");var CK=require("@vuu-ui/vuu-utils");var dF=require("react/jsx-runtime"),wK="saveLayoutPanel",FDe=`${wK}-formField`;var Ql=V(require("react"));var EK=require("react/jsx-runtime");var JDe=Ql.default.createContext({getApplicationSettings:()=>{},layoutMetadata:[],saveLayout:()=>{},applicationJson:ay,saveApplicationLayout:()=>{},saveApplicationSettings:()=>{},loadLayoutById:()=>{}});var zS=require("react/jsx-runtime");var fF=require("react"),vt=require("react/jsx-runtime"),pF=(0,fF.memo)(()=>(0,vt.jsxs)("svg",{width:"44",height:"45",viewBox:"0 0 44 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,vt.jsxs)("g",{clipPath:"url(#clip0_217_6990)",children:[(0,vt.jsx)("path",{d:"M39.8642 15.5509L35.9196 7.58974L34.3369 6.85464L24.6235 22.0825L39.1628 30.618L42.3152 25.6347L39.8642 15.5509Z",fill:"url(#paint0_linear_217_6990)"}),(0,vt.jsx)("path",{d:"M42.6246 24.8716C41.9199 25.9157 40.9625 26.824 39.767 27.4905C38.424 28.2396 36.9563 28.597 35.5081 28.597C32.7541 28.597 30.0715 27.3094 28.4466 24.9855L15.772 3.90967L15.7655 3.9206C13.3615 0.137431 8.25372 -1.13143 4.24754 1.10507C0.178173 3.37435 -1.20852 8.39359 1.14854 12.3125L18.3445 40.9095C19.1108 42.1846 20.1816 43.1834 21.4144 43.8764C21.4241 43.8826 21.4338 43.8889 21.4435 43.8951C21.4484 43.8982 21.4549 43.9013 21.4597 43.9045C22.0332 44.2228 22.6423 44.471 23.2725 44.6536C23.3194 44.6677 23.368 44.6817 23.415 44.6942C23.6418 44.7551 23.8702 44.8097 24.1019 44.8534C24.1456 44.8612 24.1894 44.8659 24.2331 44.8737C24.4194 44.9049 24.6073 44.9314 24.7952 44.9501C24.8698 44.9579 24.9443 44.9658 25.0188 44.9704C25.2342 44.9876 25.4497 44.9985 25.6668 45.0001C25.6781 45.0001 25.6895 45.0001 25.6992 45.0001C25.7024 45.0001 25.704 45.0001 25.7073 45.0001C25.7105 45.0001 25.7121 45.0001 25.7154 45.0001C25.9503 45.0001 26.1868 44.9876 26.4217 44.9689C26.4751 44.9642 26.5286 44.9595 26.5837 44.9533C26.8137 44.9299 27.0438 44.9002 27.2738 44.8596C27.277 44.8596 27.2803 44.8596 27.2835 44.8596C27.5362 44.8144 27.7889 44.7551 28.0384 44.6864C28.0546 44.6817 28.0692 44.677 28.0854 44.6723C28.4483 44.5709 28.8063 44.4445 29.1594 44.2931C29.1659 44.29 29.174 44.2868 29.1805 44.2837C29.4494 44.1682 29.7151 44.0418 29.9759 43.8967C30.24 43.75 30.491 43.5908 30.7308 43.4206C30.9398 43.2739 31.1407 43.1179 31.3367 42.9524C31.5748 42.7495 31.8 42.5373 32.009 42.3141C32.1661 42.1471 32.3168 41.9723 32.4609 41.7913C32.5079 41.732 32.5517 41.6711 32.5954 41.6118C32.6942 41.4807 32.7882 41.3465 32.8789 41.2091C32.9259 41.1373 32.9728 41.0671 33.0182 40.9953C33.036 40.9672 33.0555 40.9407 33.0717 40.9126L42.7153 24.8763H42.6214L42.6246 24.8716Z",fill:"url(#paint1_linear_217_6990)"}),(0,vt.jsx)("path",{d:"M42.8402 16.4218L42.1112 15.2232L38.9636 9.58433L37.504 7.19644C37.2286 6.56123 36.579 6.11331 35.8176 6.11331C34.8083 6.11331 33.9919 6.90147 33.9919 7.87223C33.9919 8.20154 34.0907 8.50432 34.2543 8.76808L34.2349 8.78056L39.9048 18.0808C40.5884 19.2186 40.7715 20.5437 40.4199 21.8141C40.0684 23.0845 39.226 24.1458 38.045 24.806C37.2675 25.2398 36.3846 25.4693 35.4936 25.4693C33.6727 25.4693 31.9766 24.5281 31.0662 23.0143L22.9161 9.63271H22.9323L19.4899 3.90958L19.4834 3.92051C19.4235 3.8253 19.3538 3.73947 19.2907 3.64738L19.1935 3.48663C19.1935 3.48663 19.1854 3.49131 19.1821 3.49443C17.5654 1.27666 14.9799 0.0390178 12.3118 0.00936427V0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.961 26.8255 41.9168 25.9156 42.6231 24.8731H42.717L42.6846 24.9261C43.1366 24.2347 43.4833 23.4731 43.7068 22.6615C44.2916 20.5452 43.9871 18.3352 42.8369 16.4234L42.8402 16.4218Z",fill:"#F37880"}),(0,vt.jsxs)("g",{opacity:"0.86",children:[(0,vt.jsx)("path",{d:"M34.2332 8.78212L39.9031 18.0824C40.5868 19.2202 40.7698 20.5452 40.4183 21.8156C40.2044 22.5897 39.8059 23.2858 39.2616 23.8617C39.9744 23.2343 40.4879 22.4243 40.7423 21.5035C41.0938 20.2331 40.9107 18.908 40.2271 17.7703L34.5572 8.46998L34.5767 8.4575C34.413 8.19374 34.3142 7.89096 34.3142 7.56165C34.3142 7.15586 34.4584 6.78285 34.6982 6.48476C34.2672 6.80626 33.9902 7.30881 33.9902 7.87379C33.9902 8.2031 34.0891 8.50588 34.2527 8.76964L34.2332 8.78212Z",fill:"white"}),(0,vt.jsx)("path",{d:"M42.6917 24.9169L42.6863 24.9256C42.6863 24.9256 42.6899 24.9187 42.6935 24.9152C42.6935 24.9152 42.6935 24.9152 42.6935 24.9169H42.6917Z",fill:"white"}),(0,vt.jsx)("path",{d:"M40.0911 27.1798C38.7481 27.9289 37.2804 28.2863 35.8322 28.2863C33.0782 28.2863 30.3955 26.9988 28.7707 24.6749L16.0961 3.59744L16.0896 3.60837C14.9281 1.78077 13.1364 0.543128 11.1422 0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.4815 27.0924 41.1084 26.6055 41.6511 26.0561C41.1862 26.479 40.6662 26.8583 40.0894 27.1798H40.0911Z",fill:"white"})]})]}),(0,vt.jsxs)("defs",{children:[(0,vt.jsxs)("linearGradient",{id:"paint0_linear_217_6990",x1:"24.6235",y1:"18.7363",x2:"42.3152",y2:"18.7363",gradientUnits:"userSpaceOnUse",children:[(0,vt.jsx)("stop",{stopColor:"#4906A5"}),(0,vt.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,vt.jsxs)("linearGradient",{id:"paint1_linear_217_6990",x1:"-2.35794e-05",y1:"22.5009",x2:"42.7186",y2:"22.5009",gradientUnits:"userSpaceOnUse",children:[(0,vt.jsx)("stop",{stopColor:"#7C06A5"}),(0,vt.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,vt.jsx)("clipPath",{id:"clip0_217_6990",children:(0,vt.jsx)("rect",{width:"44",height:"45",fill:"white"})})]})]}));pF.displayName="VuuLogo";var DK=V(j());var bF=require("react");var mF=require("react/jsx-runtime");var pi=require("react"),hF=V(j()),yF=require("react/jsx-runtime"),TK="medium",kK="salt-theme",MK="light",$S=(0,pi.createContext)({density:"high",theme:"vuu",themeMode:"light"}),IK=["vuu","vuu-density-high","light"],js=t=>{let e=(0,pi.useContext)($S);return t?[t.themeClass,t.densityClass,t.dataMode]:e?[`${e.theme}-theme`,`${e.theme}-density-${e.density}`,e.themeMode]:IK},PK=(t,e,n,o)=>{var r;return(0,pi.isValidElement)(t)?(0,pi.cloneElement)(t,{className:(0,hF.default)((r=t.props)==null?void 0:r.className,`${e}-theme`,`${e}-density-${o}`),"data-mode":n}):(console.warn(`
859
859
  ThemeProvider can only apply CSS classes for theming to a single nested child element of the ThemeProvider.
860
- Wrap elements with a single container`),t)},gF=({applyThemeClasses:t=!1,children:e,theme:n,themeMode:o,density:r})=>{var f,p,g;let{density:i,themeMode:s,theme:l}=(0,pi.useContext)($S),a=(f=r!=null?r:i)!=null?f:TK,u=(p=o!=null?o:s)!=null?p:MK,c=(g=n!=null?n:l)!=null?g:kK,d=t?PK(e,c,u,a):e;return(0,yF.jsx)($S.Provider,{value:{themeMode:u,density:a,theme:c},children:d})};gF.displayName="ThemeProvider";var vF=require("react/jsx-runtime");var _f=require("react"),RK=V(j());var _S=require("@vuu-ui/vuu-data"),WS=require("@vuu-ui/vuu-utils");var xF=require("react/jsx-runtime");var OK=require("@vuu-ui/vuu-data");var TF=require("@vuu-ui/vuu-utils"),FK=V(j()),US=require("react");var LK=V(j()),CF=require("react");var wF=require("react/jsx-runtime");var AK=require("react"),NK=V(j());var HK=require("react/jsx-runtime");var SF=require("react/jsx-runtime");var KS=require("react"),EF=require("react/jsx-runtime");var kF=require("react/jsx-runtime"),{error:eAe}=(0,TF.logger)("Shell");var ky=require("react"),zK=require("react/jsx-runtime"),BK={},VK=(0,ky.createContext)(BK);var MF=()=>(0,ky.useContext)(VK);var $K=V(j());var _K=require("react");var IF=require("react/jsx-runtime");var mc=require("@vuu-ui/vuu-utils"),Wf=require("react"),PF=[],DF=new Map,WK=({labelColumn:t,table:e,valueColumn:n})=>{let o=`${e.module}:${e.table}`,r=DF.get(o);if(r)return r;{let i=new Promise(s=>{let l=[n,t],a=(0,mc.buildColumnMap)(l),u=new LF.RemoteDataSource({bufferSize:0,table:e});u.subscribe({columns:l,range:{from:0,to:100}},c=>{if(c.type==="viewport-update"&&c.rows){let d=c.rows.map(f=>({value:f[a[n]],label:f[a[t]]}));s(d),u.unsubscribe()}})});return DF.set(o,i),i}},RF=(t,e)=>{var n;return e===void 0?null:(n=t.find(o=>o.value===e))!=null?n:null},KK=({name:t,type:e})=>{if((0,mc.isTypeDescriptor)(e)&&(0,mc.isLookupRenderer)(e.renderer))return e.renderer.lookup;throw Error(`useLookupValues column ${t} is not configured to use lookup values`)},Pf=(t,e)=>{let n=KK(t),{getLookupValues:o}=MF(),r=(0,Wf.useMemo)(()=>{var u;let a=(u=o==null?void 0:o(n.table))!=null?u:PF;return{initialValue:RF(a,e),values:a}},[o,e,n.table]),[{initialValue:i,values:s},l]=(0,Wf.useState)(r);return(0,Wf.useMemo)(()=>{s===PF&&WK(n).then(a=>l({initialValue:RF(a,e),values:a}))},[s,n,e]),{initialValue:i,values:s}};var hc=require("react"),GS=require("@vuu-ui/vuu-data"),UK=()=>{let[t,e]=(0,hc.useState)("disconnected"),n=(0,hc.useCallback)(({status:o})=>{e(o)},[]);return(0,hc.useEffect)(()=>(GS.ConnectionManager.on("connection-status",n),()=>{GS.ConnectionManager.removeListener("connection-status",n)}),[n]),t};var gc=require("react"),jS=require("@vuu-ui/vuu-data"),GK=()=>{let[t,e]=(0,gc.useState)(0),n=(0,gc.useCallback)(({messages:o})=>{e(o.messagesLength)},[]);return(0,gc.useEffect)(()=>(jS.ConnectionManager.on("connection-metrics",n),()=>{jS.ConnectionManager.removeListener("connection-metrics",n)}),[n]),t};var NF=require("react"),HF=require("@vuu-ui/vuu-data"),AF={type:"RPC_CALL",service:"TypeAheadRpcHandler"},zw=(t,e,n="",o=[])=>n!==""&&!o.includes(n.toLowerCase())?[t,e,n]:[t,e],Tf=()=>(0,NF.useCallback)(async t=>{let e=t.length===2?{method:"getUniqueFieldValues",params:t,...AF}:{method:"getUniqueFieldValuesStartingWith",params:t,...AF};return(0,HF.makeRpcCall)(e)},[]);var qS=require("@vuu-ui/vuu-filter-parser"),yc=require("@vuu-ui/vuu-utils"),QS=require("react"),jK="addRowsFromInstruments",{KEY:OF}=yc.metadataKeys,qK={},QK=t=>"rpcName"in t,JK=t=>"menus"in t,XK=t=>t.name==="ROOT",FF=t=>t.context==="cell",YK=t=>t.context==="row",ZK=t=>t.context==="selected-rows",eU=(t,e,n=0)=>{switch(t){case"grid":return e==="selected-rows"?n>0:!0;case"header":return e==="grid";default:return!1}},tU=(t,e,n,o,r)=>{if(t==="cell"||t==="row")return(0,qS.getFilterPredicate)(r,o)(e);if(t==="selected-rows"){if(n.length===0)return!1;{let i=(0,qS.getFilterPredicate)(r,o);return n.every(i)}}return!0},nU=t=>{let{rpcName:e}=t;return FF(t)?{field:t.field,rowKey:t.rowKey,rpcName:e,value:t.value,type:"VIEW_PORT_MENU_CELL_RPC"}:YK(t)?{rowKey:t.rowKey,row:t.row,rpcName:e,type:"VIEW_PORT_MENU_ROW_RPC"}:ZK(t)?{rpcName:e,type:"VIEW_PORT_MENUS_SELECT_RPC"}:{rpcName:e,type:"VIEW_PORT_MENU_TABLE_RPC"}},oU=t=>["grid","header","filter"].includes(t),rU=({filter:t})=>typeof t=="string"&&t.length>0,iU=(t,e)=>{switch(t.context){case"cell":return{...t,field:e.columnName,rowKey:e.row[OF],value:e.row[e.columnMap[e.columnName]]};case"row":return{...t,row:(0,yc.getRowRecord)(e.row,e.columnMap),rowKey:e.row[OF]};default:return t}},BF=(t,e,n)=>{var o;return JK(t)?t.menus.some(r=>BF(r,e,n)):eU(e,t.context,(o=n.selectedRows)==null?void 0:o.length)?e==="grid"&&rU(t)?tU(t.context,n.row,n.selectedRows,t.filter,n.columnMap):FF(t)&&t.field!=="*"?t.field===n.columnName:!0:!1},VF=(t,e,n)=>{if(BF(t,e,n)){if(QK(t))return{label:t.name,action:"MENU_RPC_CALL",options:iU(t,n)};{let o=t.menus.map(r=>VF(r,e,n)).filter(r=>r!==void 0);if(o.length>0)return{label:t.name,children:o}}}},sU=({clientSideMenuActionHandler:t,dataSource:e,menuActionConfig:n=qK,onRpcResponse:o})=>{let r=(0,QS.useCallback)((s,l)=>{let{links:a,menu:u}=e,{visualLink:c}=n,d=[];if(s==="grid"&&a&&!c&&a.forEach(f=>{let{link:p,label:g}=f,y=g||p.toTable;d.push({label:`Link to ${y}`,action:"link-table",options:f})}),u&&oU(s)){let f=VF(u,s,l);XK(u)&&(0,yc.isGroupMenuItemDescriptor)(f)?d.push(...f.children):f&&d.push(f)}return d},[e,n]),i=(0,QS.useCallback)(({menuId:s,options:l})=>{if(t!=null&&t(s,l))return!0;if(s==="MENU_RPC_CALL"){let a=nU(l);return e.menuRpcCall(a).then(u=>{o&&u&&o&&o(u)}),!0}else{if(s==="link-table")return e.visualLink=l,!0;console.log(`useViewServer handleMenuAction, can't handle action type ${s}`)}return!1},[t,e,o]);return{buildViewserverMenuOptions:r,handleMenuAction:i}};var JS=require("@vuu-ui/vuu-data"),bc=require("react"),lU=()=>{let[t,e]=(0,bc.useState)(),n=(0,bc.useCallback)(o=>{let r=new Map;return o.forEach(i=>{r.set(i.table.table,i)}),r},[]);return(0,bc.useEffect)(()=>{async function o(){console.log("GET TABLE LIST");let r=await(0,JS.getServerAPI)(),{tables:i}=await r.getTableList(),s=n(await Promise.all(i.map(l=>r.getTableSchema(l))));e(s)}o()},[n]),t},rS=t=>(0,JS.getServerAPI)().then(e=>e.getTableSchema(t));
860
+ Wrap elements with a single container`),t)},gF=({applyThemeClasses:t=!1,children:e,theme:n,themeMode:o,density:r})=>{var f,p,g;let{density:i,themeMode:s,theme:l}=(0,pi.useContext)($S),a=(f=r!=null?r:i)!=null?f:TK,u=(p=o!=null?o:s)!=null?p:MK,c=(g=n!=null?n:l)!=null?g:kK,d=t?PK(e,c,u,a):e;return(0,yF.jsx)($S.Provider,{value:{themeMode:u,density:a,theme:c},children:d})};gF.displayName="ThemeProvider";var vF=require("react/jsx-runtime");var _f=require("react"),RK=V(j());var _S=require("@vuu-ui/vuu-data"),WS=require("@vuu-ui/vuu-utils");var xF=require("react/jsx-runtime");var OK=require("@vuu-ui/vuu-data");var TF=require("@vuu-ui/vuu-utils"),FK=V(j()),US=require("react");var LK=V(j()),CF=require("react");var wF=require("react/jsx-runtime");var AK=require("react"),NK=V(j());var HK=require("react/jsx-runtime");var SF=require("react/jsx-runtime");var KS=require("react"),EF=require("react/jsx-runtime");var kF=require("react/jsx-runtime"),{error:tAe}=(0,TF.logger)("Shell");var ky=require("react"),zK=require("react/jsx-runtime"),BK={},VK=(0,ky.createContext)(BK);var MF=()=>(0,ky.useContext)(VK);var $K=V(j());var _K=require("react");var IF=require("react/jsx-runtime");var mc=require("@vuu-ui/vuu-utils"),Wf=require("react"),PF=[],DF=new Map,WK=({labelColumn:t,table:e,valueColumn:n})=>{let o=`${e.module}:${e.table}`,r=DF.get(o);if(r)return r;{let i=new Promise(s=>{let l=[n,t],a=(0,mc.buildColumnMap)(l),u=new LF.RemoteDataSource({bufferSize:0,table:e});u.subscribe({columns:l,range:{from:0,to:100}},c=>{if(c.type==="viewport-update"&&c.rows){let d=c.rows.map(f=>({value:f[a[n]],label:f[a[t]]}));s(d),u.unsubscribe()}})});return DF.set(o,i),i}},RF=(t,e)=>{var n;return e===void 0?null:(n=t.find(o=>o.value===e))!=null?n:null},KK=({name:t,type:e})=>{if((0,mc.isTypeDescriptor)(e)&&(0,mc.isLookupRenderer)(e.renderer))return e.renderer.lookup;throw Error(`useLookupValues column ${t} is not configured to use lookup values`)},Pf=(t,e)=>{let n=KK(t),{getLookupValues:o}=MF(),r=(0,Wf.useMemo)(()=>{var u;let a=(u=o==null?void 0:o(n.table))!=null?u:PF;return{initialValue:RF(a,e),values:a}},[o,e,n.table]),[{initialValue:i,values:s},l]=(0,Wf.useState)(r);return(0,Wf.useMemo)(()=>{s===PF&&WK(n).then(a=>l({initialValue:RF(a,e),values:a}))},[s,n,e]),{initialValue:i,values:s}};var hc=require("react"),GS=require("@vuu-ui/vuu-data"),UK=()=>{let[t,e]=(0,hc.useState)("disconnected"),n=(0,hc.useCallback)(({status:o})=>{e(o)},[]);return(0,hc.useEffect)(()=>(GS.ConnectionManager.on("connection-status",n),()=>{GS.ConnectionManager.removeListener("connection-status",n)}),[n]),t};var gc=require("react"),jS=require("@vuu-ui/vuu-data"),GK=()=>{let[t,e]=(0,gc.useState)(0),n=(0,gc.useCallback)(({messages:o})=>{e(o.messagesLength)},[]);return(0,gc.useEffect)(()=>(jS.ConnectionManager.on("connection-metrics",n),()=>{jS.ConnectionManager.removeListener("connection-metrics",n)}),[n]),t};var NF=require("react"),HF=require("@vuu-ui/vuu-data"),AF={type:"RPC_CALL",service:"TypeAheadRpcHandler"},zw=(t,e,n="",o=[])=>n!==""&&!o.includes(n.toLowerCase())?[t,e,n]:[t,e],Tf=()=>(0,NF.useCallback)(async t=>{let e=t.length===2?{method:"getUniqueFieldValues",params:t,...AF}:{method:"getUniqueFieldValuesStartingWith",params:t,...AF};return(0,HF.makeRpcCall)(e)},[]);var qS=require("@vuu-ui/vuu-filter-parser"),yc=require("@vuu-ui/vuu-utils"),QS=require("react"),jK="addRowsFromInstruments",{KEY:OF}=yc.metadataKeys,qK={},QK=t=>"rpcName"in t,JK=t=>"menus"in t,XK=t=>t.name==="ROOT",FF=t=>t.context==="cell",YK=t=>t.context==="row",ZK=t=>t.context==="selected-rows",eU=(t,e,n=0)=>{switch(t){case"grid":return e==="selected-rows"?n>0:!0;case"header":return e==="grid";default:return!1}},tU=(t,e,n,o,r)=>{if(t==="cell"||t==="row")return(0,qS.getFilterPredicate)(r,o)(e);if(t==="selected-rows"){if(n.length===0)return!1;{let i=(0,qS.getFilterPredicate)(r,o);return n.every(i)}}return!0},nU=t=>{let{rpcName:e}=t;return FF(t)?{field:t.field,rowKey:t.rowKey,rpcName:e,value:t.value,type:"VIEW_PORT_MENU_CELL_RPC"}:YK(t)?{rowKey:t.rowKey,row:t.row,rpcName:e,type:"VIEW_PORT_MENU_ROW_RPC"}:ZK(t)?{rpcName:e,type:"VIEW_PORT_MENUS_SELECT_RPC"}:{rpcName:e,type:"VIEW_PORT_MENU_TABLE_RPC"}},oU=t=>["grid","header","filter"].includes(t),rU=({filter:t})=>typeof t=="string"&&t.length>0,iU=(t,e)=>{switch(t.context){case"cell":return{...t,field:e.columnName,rowKey:e.row[OF],value:e.row[e.columnMap[e.columnName]]};case"row":return{...t,row:(0,yc.getRowRecord)(e.row,e.columnMap),rowKey:e.row[OF]};default:return t}},BF=(t,e,n)=>{var o;return JK(t)?t.menus.some(r=>BF(r,e,n)):eU(e,t.context,(o=n.selectedRows)==null?void 0:o.length)?e==="grid"&&rU(t)?tU(t.context,n.row,n.selectedRows,t.filter,n.columnMap):FF(t)&&t.field!=="*"?t.field===n.columnName:!0:!1},VF=(t,e,n)=>{if(BF(t,e,n)){if(QK(t))return{label:t.name,action:"MENU_RPC_CALL",options:iU(t,n)};{let o=t.menus.map(r=>VF(r,e,n)).filter(r=>r!==void 0);if(o.length>0)return{label:t.name,children:o}}}},sU=({clientSideMenuActionHandler:t,dataSource:e,menuActionConfig:n=qK,onRpcResponse:o})=>{let r=(0,QS.useCallback)((s,l)=>{let{links:a,menu:u}=e,{visualLink:c}=n,d=[];if(s==="grid"&&a&&!c&&a.forEach(f=>{let{link:p,label:g}=f,y=g||p.toTable;d.push({label:`Link to ${y}`,action:"link-table",options:f})}),u&&oU(s)){let f=VF(u,s,l);XK(u)&&(0,yc.isGroupMenuItemDescriptor)(f)?d.push(...f.children):f&&d.push(f)}return d},[e,n]),i=(0,QS.useCallback)(({menuId:s,options:l})=>{if(t!=null&&t(s,l))return!0;if(s==="MENU_RPC_CALL"){let a=nU(l);return e.menuRpcCall(a).then(u=>{o&&u&&o&&o(u)}),!0}else{if(s==="link-table")return e.visualLink=l,!0;console.log(`useViewServer handleMenuAction, can't handle action type ${s}`)}return!1},[t,e,o]);return{buildViewserverMenuOptions:r,handleMenuAction:i}};var JS=require("@vuu-ui/vuu-data"),bc=require("react"),lU=()=>{let[t,e]=(0,bc.useState)(),n=(0,bc.useCallback)(o=>{let r=new Map;return o.forEach(i=>{r.set(i.table.table,i)}),r},[]);return(0,bc.useEffect)(()=>{async function o(){console.log("GET TABLE LIST");let r=await(0,JS.getServerAPI)(),{tables:i}=await r.getTableList(),s=n(await Promise.all(i.map(l=>r.getTableSchema(l))));e(s)}o()},[n]),t},rS=t=>(0,JS.getServerAPI)().then(e=>e.getTableSchema(t));
861
861
  /*! Bundled license information:
862
862
 
863
863
  classnames/index.js: