@vuu-ui/vuu-data-react 0.8.13 → 0.8.14

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;c5()}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=WM(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"),Ge.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=Px;if(Ed!==null)this.drawTarget(Ed);else if(Px=e.nextDropTarget!=null,e.pos.tab?d5(e):Bo&&Lm(),this.drawTarget(e,n),Px){let[i,s,l]=$M(e);{let a=(0,GM.jsx)(_M,{dropTarget:e,onHover:s5,orientation:l});Ge.showPopup({left:i,top:s,component:a})}}else Ge.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=WM(y),h=document.getElementById("hw-drop-outline-animate");h==null||h.setAttribute("to",m),h==null||h.beginElement(),this.currentPath=m;let b=document.getElementById("hw-drop-guides");b==null||b.setAttribute("d",u5(f))}}},KM="transition:margin-left .4s ease-out;margin-left: 63px",UM="transition:margin-left .4s ease-out;margin-left: 0px";function d5(t){var l,a;let{AFTER:e,BEFORE:n}=mx,{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=KM,Bo&&(Bo.style.cssText=UM),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=KM,Bo=s}}else Lm()}function Lm(){Bo&&(Bo.style.cssText=UM,Bo=null)}var DY=new Td;var qM=V(j()),QM=require("react");var XM=require("react/jsx-runtime"),Md=(0,QM.forwardRef)(function({children:e,className:n,dropTarget:o,resizeable:r,...i},s){let l=(0,qM.default)("DraggableLayout",n);return(0,XM.jsx)("div",{className:l,ref:s,...i,children:e})}),JM="DraggableLayout";Md.displayName=JM;et(JM,Md,"container");var dI=V(j()),fI=require("react");var uI=require("@vuu-ui/vuu-utils"),lt=V(require("react"));var ZM=V(j());var Nm=require("react");var Ur=require("react/jsx-runtime"),Am="vuuLayoutStartPanel",YM=t=>{let{dispatch:e,path:n}=Om(),[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,Ur.jsxs)("div",{...t,className:Am,children:[o==="initial"?(0,Ur.jsxs)(Ur.Fragment,{children:[(0,Ur.jsx)("header",{className:`${Am}-title`,children:"Start by adding a table"}),(0,Ur.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,Ur.jsx)(jt,{className:`${Am}-addButton`,"data-icon":"add",variant:"cta"})]})};var Xs=require("react/jsx-runtime"),f5="vuuPlaceholder",p5=({showStartMenu:t=!0})=>(0,Xs.jsx)(Xs.Fragment,{children:t?(0,Xs.jsx)(YM,{}):null}),Ha=({className:t,showStartMenu:e,...n})=>{let o=(0,ZM.default)(f5,t);return(0,Xs.jsx)(Ui,{...n,className:o,"data-placeholder":!0,resizeable:!0,children:(0,Xs.jsx)(p5,{showStartMenu:e})})};Ha.displayName="Placeholder";et("Placeholder",Ha);var eI=V(j()),fn=V(require("react"));var Dx=require("react/jsx-runtime"),Hm="vuuSplitter",tI=fn.default.memo(function({column:e,index:n,onDrag:o,onDragEnd:r,onDragStart:i,style:s}){let l=(0,fn.useRef)(),a=(0,fn.useRef)(null),u=(0,fn.useRef)(0),[c,d]=(0,fn.useState)(!1),f=(0,fn.useCallback)(({key:C,shiftKey:S})=>{let E=S?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,fn.useCallback)(C=>{let{key:S}=C;(e&&(S==="ArrowUp"||S==="ArrowDown")||!e&&(S==="ArrowLeft"||S==="ArrowRight"))&&(i(n),f(C),g.current=f)},[e,f,n,i]),g=(0,fn.useRef)(p),y=C=>g.current(C),m=(0,fn.useCallback)(C=>{l.current=!0;let S=C[e?"clientY":"clientX"],E=S-u.current;S&&S!==u.current&&o(n,E),u.current=S},[e,n,o]),h=(0,fn.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]),b=(0,fn.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()},v=()=>{g.current=p},w=(0,eI.default)(Hm,{[`${Hm}-active`]:c,[`${Hm}-column`]:e});return(0,Dx.jsx)("div",{className:w,"data-splitter":!0,ref:a,role:"separator",style:s,onBlur:v,onClick:x,onKeyDown:y,onMouseDown:b,tabIndex:0,children:(0,Dx.jsx)("div",{className:`${Hm}-grab-zone`})})});var m5=require("@vuu-ui/vuu-utils"),h5=V(require("react"));var oI={},nI="auto";var Fa=t=>{let{style:{width:e=nI,height:n=nI}=oI}=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 rI(t){let{style:{flex:e,flexGrow:n,flexShrink:o,flexBasis:r}=oI}=t.props;return typeof e=="number"||r===0&&n===1&&o===1?!0:typeof r!="number"}var g5={},Id=1,Pd=2,y5=t=>typeof t.intrinsicSize=="number",b5=(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=Fa(o))!=null?a:g5,l=rI(o);return n?{index:r,flexOpen:l,intrinsicSize:s,resizeable:i,...b5(n,o)}:{index:r,flexOpen:l,intrinsicSize:s,resizeable:i}}),iI=t=>{let e=t.length,n=t.every(y5),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},sI=(t,e)=>{let n=x5(t,e),o=C5(t,e),r=n!==-1&&o!==-1?[n,o]:void 0,i=v5(t,r);return[r,i]};function v5(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 x5(t,e){let n=e,o=!1;for(;n>=1&&!o;)n=n-1,o=lI(t,n);return n}function C5(t,e){let n=e,o=!1,r=t.length;for(;n<r-1&&!o;)n=n+1,o=lI(t,n);return n===r?-1:n}function lI(t,e){let{placeholder:n,splitter:o,resizeable:r,intrinsicSize:i}=t[e];return!!(!o&&!i&&(n||r))}var w5=t=>!t.splitter&&!t.placeholder,cI=({children:t,onSplitterMoved:e,style:n})=>{let o=(0,lt.useRef)(null),r=(0,lt.useRef)(),i=(0,lt.useRef)(),s=(0,lt.useRef)([]),[,l]=(0,lt.useState)({}),a=m=>{i.current=m,l({})},u=(n==null?void 0:n.flexDirection)==="column",c=u?"height":"width",d=(0,lt.useMemo)(()=>Array.isArray(t)?t:lt.default.isValidElement(t)?[t]:[],[t]),f=(0,lt.useCallback)(m=>{let{current:h}=r;if(h){let[b,x]=sI(h,m);b&&(b.forEach(v=>{var C;let w=(C=o.current)==null?void 0:C.childNodes[v];if(w){let{size:S,minSize:E}=k5(w,c);h[v].currentSize=S,h[v].minSize=E}}),x&&x.forEach(v=>{var C;let w=(C=o.current)==null?void 0:C.childNodes[v];if(w){let{[c]:S}=w.getBoundingClientRect();h[v].flexBasis=S}}))}},[c]),p=(0,lt.useCallback)((m,h)=>{i.current&&r.current&&a(E5(i.current,r.current,h,c))},[c]),g=(0,lt.useCallback)(()=>{let m=r.current;m&&(e==null||e(m.filter(w5))),m==null||m.forEach(h=>{h.currentSize=void 0,h.flexBasis=void 0,h.flexOpen=!1})},[e]),y=(0,lt.useCallback)(m=>lt.default.createElement(tI,{column:u,index:m,key:`splitter-${m}`,onDrag:p,onDragEnd:g,onDragStart:f}),[p,g,f,u]);return(0,lt.useMemo)(()=>{let[m,h]=S5(d,c,y,s.current);r.current=h,i.current=m},[d,y,c]),{content:i.current||[],rootRef:o}};function S5(t,e,n,o){let r=Fm(t,e),i=iI(r),s=[],l=[];for(let a=0;a<t.length;a++){let u=t[a];if(a===0&&i[a]&Pd&&(s.push(aI(a)),l.push({placeholder:!0,shim:!0})),u.key==null){let c=o[a]||(o[a]=(0,uI.getUniqueId)());s.push(lt.default.cloneElement(u,{key:c}))}else s.push(u);l.push(r[a]),a>0&&i[a]&Pd?(s.push(aI(a)),l.push({placeholder:!0})):i[a]&Id&&(s.push(n(s.length)),l.push({splitter:!0}))}return[s,l]}function E5(t,e,n,o){return T5(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?lt.default.cloneElement(i,{style:{...i.props.style,flexBasis:p,[o]:"auto"}}):i}else return i}):t}function T5(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 aI(t){return lt.default.createElement(Ha,{shim:t===0,key:`placeholder-${t}`})}function k5(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 mI=require("react/jsx-runtime"),Lx="hwFlexbox",pI=(0,fI.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:b,rootRef:x}=cI({children:r,onSplitterMoved:d,style:m}),v=(0,dI.default)(Lx,s,{[`${Lx}-column`]:i,[`${Lx}-row`]:p,"flex-fill":l,"full-page":u});return(0,mI.jsx)("div",{...h,className:v,"data-resizeable":f||void 0,id:c,ref:Le(x,n),style:{...m,gap:a,"--spacing":g},children:b})});pI.displayName="Flexbox";var Dd=pI;var wI=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 V5=V(require("react"));var P5=require("@vuu-ui/vuu-utils"),D5=V(require("react"));var M5=require("@vuu-ui/vuu-utils"),gI=V(require("react"));var Ys=require("react"),po=new Map,mo=new Map;var Ba=()=>{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 A5=require("react");var L5=V(require("react"));var N5=V(require("react"));var O5=V(require("react"));var H5=require("@vuu-ui/vuu-utils"),F5=V(require("react"));var vI=require("react"),z5=t=>console.log(`dispatch ${t.type}, have you forgotten to provide a LayoutProvider ?`),Ox=(0,vI.createContext)({dispatchLayoutProvider:z5,version:-1});var xI=require("react");var $5=require("react/jsx-runtime");var Mn=()=>{let{dispatchLayoutProvider:t}=(0,Zs.useContext)(Ox);return t},CI=()=>{let{createNewChild:t}=(0,Zs.useContext)(Ox);return t};var EI=require("react/jsx-runtime"),SI=function(e){let{path:n}=e,o=Mn(),r=(0,wI.useCallback)(i=>{o({type:Bm.SPLITTER_RESIZE,path:n,sizes:i})},[o,n]);return(0,EI.jsx)(Dd,{...e,onSplitterMoved:r})};SI.displayName="Flexbox";et("Flexbox",SI,"container");var LI=V(j()),$m=require("react");var Vo=require("react");var tl=require("react"),kI=["height","width"];var el=new WeakMap,MI=(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}},TI=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=MI(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]=MI(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,TI.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)&&(TI.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 _5(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 W5=([,t],[,e])=>e-t,Fx=t=>Object.entries(t).sort(W5).map(([e,n],o,r)=>[e,n,o<r.length-1?r[o+1][1]:9999]),Hx=null,K5=(t="salt")=>{let{xs:e,sm:n,md:o,lg:r,xl:i}=_5(t);return Fx({xs:e,sm:n,md:o,lg:r,xl:i})},II=t=>(Hx===null&&(Hx=K5(t)),Hx);var U5=[],PI=({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?Fx(t):II()),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"]:U5,({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 G5="data-collapsible",vne={[G5]:!0,"data-pad-start":!0,"data-pad-end":!0};var DI=require("@vuu-ui/vuu-utils"),jn=require("react");var j5=["xs","sm","md","lg","xl"],q5=12,RI=({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:q5,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,j5),g=[],y=[];for(let m=0;m<d.length;m++){let h=d[m],{style:{flex:b,...x}}=h.props;g.push((0,jn.cloneElement)(h,{key:(0,DI.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 AI=require("react/jsx-runtime"),zm="hwFluidGrid",Bx=(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:b,...x}=e,v=(0,$m.useMemo)(()=>Ws(r),[r]),{cols:w,content:C,rootRef:S}=RI({children:v,cols:s,style:b}),E=PI({breakPoints:o},S),T=(0,LI.default)(zm,l,{[`${zm}-column`]:i,[`${zm}-row`]:g,[`${zm}-show-grid`]:y,"flex-fill":a,"full-page":c}),M={...b,"--spacing":m,"--grid-col-count":w,"--grid-gap":u};return(0,AI.jsx)("div",{...x,className:T,"data-breakpoint":E,"data-cols":w,"data-resizeable":p||void 0,id:d,ref:Le(S,n),style:M,children:C})});Bx.displayName="FluidGrid";var OI=require("react/jsx-runtime"),NI=function(e){return(0,OI.jsx)(Bx,{...e})};NI.displayName="FluidGrid";et("FluidGrid",NI,"container");var eu=require("react");var Va=require("react"),BI=require("react/jsx-runtime"),HI=(0,Va.createContext)(void 0);function _m({children:t,collectionHook:e,...n}){return(0,BI.jsx)(HI.Provider,{value:e,children:Object.keys(n).length>0?(0,Va.cloneElement)(t,n):t})}function FI(){let t=(0,Va.useContext)(HI);if(t)return t}var Q5=t=>Object.prototype.toString.call(t)==="[object Object]";function In(t){return typeof t=="string"?t:Q5(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 Te=require("react");var za=require("react");var VI=t=>null;var zI=t=>null;var Vx=(t,e)=>t!==null&&Object.prototype.hasOwnProperty.call(t,e),zx=t=>Vx(t,"header"),$I=t=>Vx(t,"childNodes"),Ld=(t,e)=>t&&Object.prototype.hasOwnProperty.call(t.props,e),_I=t=>{if((0,za.isValidElement)(t)){if(Ld(t,"disabled"))return t.props.disabled===!0}else if(Vx(t,"disabled"))return t.disabled===!0;return!1},WI=t=>(0,za.isValidElement)(t)&&Ld(t,"focusable")?t.props.focusable:!0,KI=(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},J5=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},UI=t=>t.type===zI||Ld(t,"data-header"),GI=t=>t.type===VI||Ld(t,"data-group"),X5=t=>Ld(t,"selectable")?t.props.selectable===!0:!GI(t)&&!UI(t),Y5=t=>{if(GI(t)){let{props:{children:e}}=t;if(typeof e!="string")return _x(e)}},Z5=(t,e)=>{let n=[];return za.Children.forEach(t,o=>{(0,za.isValidElement)(o)&&n.push(e(o))}),n},$x=(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:$x(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")},_x=t=>{if(t)return Z5(t,e=>{let{"data-id":n,disabled:o,id:r=n,"data-expanded":i,expanded:s=i}=e.props;return{childNodes:Y5(e),disabled:o,expanded:s,header:UI(e),id:r,label:J5(e),selectable:X5(e),value:e}})},e8=new Set(["/","-","."]),t8=t=>e8.has(t),Wx=(t,e)=>e.startsWith(t)&&t8(e[t.length]),n8=new Set([".","/"]);function o8(t,e){return e.startsWith(t)?n8.has(e.charAt(t.length)):!1}function Wm(t,e,n){let o;return t.map(i=>i.id===e?{...i,...n}:o8(i.id,e)&&i.childNodes?(o=Wm(i.childNodes,e,n),{...i,childNodes:o}):i)}var r8=/[.*+?^${}()|[\]\\]/g;function Km(t){return t.replace(r8,"\\$&")}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 i8=t=>t&&t.replace(/^\s+/g,""),Kx=t=>new RegExp(`(${Km(i8(t))})`,"gi"),jI=(t="",e=Kx)=>(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,s8)]);let u=(0,ho.useCallback)(c=>{r||s(c)},[r]);return[l,u,r]}function s8(t,e){return(0,ho.isValidElement)(e)?null:e}var l8={},Gi=({children:t,id:e,options:n=l8,source:o})=>{var H;let{getItemId:r}=n,[,i]=(0,Te.useState)(null),s=FI(),l=(0,Te.useRef)([]),a=(0,Te.useRef)([]),u=(0,Te.useMemo)(()=>[],[]),c=(0,Te.useRef)((H=n.filterPattern)!=null?H:""),{getFilterRegex:d=Kx,noChildrenLabel:f,itemToString:p=In}=n,g=(0,Te.useCallback)(()=>n.defaultExpanded||!1,[n.defaultExpanded]),y=(0,Te.useCallback)((k,L,D=1,B="",F=[],U=[],re=[])=>(k.forEach((Y,_,J)=>{var Ne,Oe;let le=Y.header&&n.collapsibleHeaders,X=Y.childNodes&&n.collapsibleHeaders===!1,Pe=!Y.childNodes||Y.childNodes.length===0,pe=X||Pe&&!le,Ce=B?`${B}.${_}`:`item-${_}`,me=(Ne=Y.id)!=null?Ne:r?r(_):`${e}-${Ce}`,We=pe?void 0:(Oe=Y.expanded)!=null?Oe:g(),Ue={...Y,childNodes:void 0,count:!X&&We===void 0?0:KI(Y,J,_),description:Y.description,disabled:_I(Y.value),focusable:WI(Y.value)?void 0:!1,id:me,index:L.value,expanded:We,level:D};if(F.push(Ue),U.push(Ue),re.push(k[_].value),L.value+=1,Y.childNodes){let[Ye]=y(Y.childNodes,L,D+1,Ce,[],U,re);Ue.childNodes=Ye}}),[F,re,U]),[n.collapsibleHeaders,r,e,g]),m=(0,Te.useCallback)(()=>c.current?jI(c.current,d):null,[d]),h=(0,Te.useCallback)((k,L=m(),D=[],B={value:0})=>{let F=!1;for(let U of k)F&&!zx(U)||(U.value!==null&&(L===null||L(p(U.value)))&&(D[B.value]=U,B.value+=1),F=!1,zx(U)&&U.expanded===!1?F=!0:$I(U)&&U.expanded!==!1&&U.childNodes&&h(U.childNodes,L,D,B));return D},[m,p]),b=(0,Te.useMemo)(()=>s?u:$x(o,{itemToString:p,noChildrenLabel:f})||_x(t)||[],[s,u,o,p,f,t]),[x,v,w]=(0,Te.useMemo)(()=>s?[u,u,u]:y(b,{value:0}),[u,y,s,b]);a.current=w,(0,Te.useMemo)(()=>s?u:l.current=h(x),[u,h,x,s]);let C=(0,Te.useRef)(x),S=(0,Te.useCallback)((k="")=>{typeof k=="string"&&(c.current=k,l.current=h(x),i({}))},[x,h]),E=(0,Te.useCallback)((k,L=x)=>{let D=L.find(B=>{var F;return B.id===k||((F=B==null?void 0:B.childNodes)==null?void 0:F.length)&&Wx(B.id,k)});if((D==null?void 0:D.id)===k)return v==null?void 0:v[D.index];if(D)return E(k,D.childNodes);throw Error(`useCollectionData itemById, id ${k} not found `)},[v,x]),T=(0,Te.useCallback)((k,L=x)=>{let D=L.find(F=>{var U;return F.id===k||((U=F==null?void 0:F.childNodes)==null?void 0:U.length)&&Wx(F.id,k)}),B=D?l.current.indexOf(D):-1;if(B!==-1)return B;throw Error(`useCollectionData indexOfItemById, id ${k} not found `)},[x]),M=(0,Te.useCallback)(k=>{let L=a.current.find(D=>(0,Te.isValidElement)(D.value)?D.label===k:D.value===k);if(L)return L;throw Error("useCollectionData toCollectionItem, item not found ")},[]),O=(0,Te.useCallback)(k=>{if(k===null)return null;if(Array.isArray(k)){let L=[];for(let D of k){let B=M(D);L.push(B)}return L}else if(k!==void 0)return M(k)},[M]),I=(0,Te.useCallback)(k=>{if(k===void 0)return;let L=O(k);return Array.isArray(L)?L.map(D=>D.id):L?[L.id]:[]},[O]),P=(0,Te.useCallback)(k=>{let L=D=>{let B=a.current.find(F=>(0,Te.isValidElement)(F.value)?F.label===D:F.value!==null&&p(F.value)===D);if(B)return B};if(k===null)return null;if(Array.isArray(k)){let D=[];for(let B of k){let F=L(B);F&&D.push(F)}return D}else if(k!==void 0)return L(k)},[p]),A=(0,Te.useCallback)(k=>{for(let L of C.current)if(k===L.value)return L.id;throw Error("useCollectionData itemToId, item not found")},[]),N=(0,Te.useCallback)(k=>{C.current=Wm(C.current,k.id,{expanded:!1}),l.current=h(C.current),i({})},[h]),R=(0,Te.useCallback)(k=>{C.current=Wm(C.current,k.id,{expanded:!0}),l.current=h(C.current),i({})},[h]);return s||{collapseGroupItem:N,data:l.current,expandGroupItem:R,setFilterPattern:S,indexOfItemById:T,itemById:E,itemToId:A,toCollectionItem:M,itemToCollectionItem:O,itemToCollectionItemId:I,stringToCollectionItem:P}};var ji=require("react");var QI=["width"],JI=["height"],nl=new Map,XI=(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 qI=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=XI(n,{height:s,width:l,contentHeight:a,contentWidth:u},p);y!==g&&(f=!0,d[p]=y)}f&&c&&c(d)}}});function Gr(t,e,n,o=!1){let r=(0,ji.useRef)(e),i=t.current,s=(0,ji.useCallback)(l=>{let{width:a,height:u}=l.getBoundingClientRect(),{clientWidth:c,clientHeight:d}=l;return r.current.reduce((f,p)=>(f[p]=XI(l,{width:a,height:u,contentHeight:d,contentWidth:c},p),f),{})},[]);(0,ji.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,qI.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)&&(qI.unobserve(i),nl.delete(i))}},[s,i]),(0,ji.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 YI=t=>t===void 0||t==="default"||t==="deselectable",_a=t=>t==="multiple"||(t==null?void 0:t.startsWith("extended"))===!0,Ux=t=>t==="none";var jr=t=>t!==void 0&&t.length>0,ZI=t=>t[0];var Wa=require("react"),a8=t=>typeof t!="function",eP=t=>{let[e,n]=(0,Wa.useState)(t),o=(0,Wa.useRef)(e),r=(0,Wa.useCallback)(i=>{if(a8(i))o.current=i,n(i);else{let{current:s}=o;o.current=i(s),n(o.current)}},[]);return[o,r]};var Gx=V(j());var qr=require("react");var qn=require("react");var Nd=require("react"),u8=[],tP=({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())}]:u8;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 c8=[],nP=({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)(H=>{g.current=H},[]),[m,h]=Me({controlled:r,default:!!t,name:"useDropdown",state:"isOpen"}),[b,x]=(0,qn.useState)({width:(R=c!=null?c:f)!=null?R:0}),v=(0,qn.useCallback)(()=>{h(!0),i==null||i(!0)},[i,h]),w=(0,qn.useCallback)(H=>{h(!1),i==null||i(!1,H)},[i,h]);tP({popperRef:g,rootRef:d,isOpen:m,onClose:w});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]),S=(0,qn.useCallback)(H=>{if(["Enter"," "].indexOf(H.key)===-1){let k=!m;h(k),i==null||i(k)}},[m,h,i]),E=(0,qn.useCallback)(H=>{H.key==="Escape"&&m?(H.key==="Escape"&&(H.stopPropagation(),H.preventDefault()),w(H.key)):l.includes(H.key)&&!m?(H.preventDefault(),v()):s==null||s(H)},[w,m,s,l,v]),T=(0,qn.useCallback)(H=>{var k;m&&((k=g.current)!=null&&k.contains(H.relatedTarget)||w("blur"))},[w,m]),M=n!=null?n:!1;Gr(d,M?QI:c8,x,M);let I=`${o}-dropdown`,P={"aria-expanded":m,"aria-owns":m?I:void 0,id:`${o}-control`,onClick:e||a?void 0:S,onFocus:C,role:"listbox",onBlur:T,onKeyDown:e?void 0:E,style:{width:M?void 0:f}},A={id:I,width:b.width},N=Le(y,u.ref);return{componentProps:A,popupComponentRef:N,isOpen:m,label:"Dropdown Button",triggerProps:P}};var Od=require("react/jsx-runtime"),Gm="vuuDropdown",Ka=(0,qr.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},b){let x=(0,qr.useRef)(null),v=(0,Gx.default)(Gm,r,{[`${Gm}-fullWidth`]:l,[`${Gm}-disabled`]:s}),[w,C]=qr.Children.toArray(o),S=Ie(a),{componentProps:E,isOpen:T,popupComponentRef:M,triggerProps:O}=nP({ariaLabelledBy:n,defaultIsOpen:i,disabled:s,fullWidth:l,id:S,isOpen:u,onOpenChange:d,onKeyDown:c,openKeys:f,openOnFocus:p,popupComponent:C,popupWidth:y,rootRef:x,width:m}),I=()=>{let{id:N,role:R,...H}=O,{id:k=N,role:L=R,...D}=w.props;return(0,qr.cloneElement)(w,Ad(D,{...H,id:k,role:L}))},P=()=>{let{id:N,width:R,...H}=E,{className:k,id:L=N,width:D,...B}=C.props;return(0,qr.cloneElement)(C,{...B,...H,className:(0,Gx.default)(k,`${Gm}-popup-component`),id:L,ref:M,width:g.endsWith("full-width")?"auto":D!=null?D:R})},A=Le(x,b);return(0,Od.jsxs)("div",{...h,className:v,id:a,ref:A,children:[I(),T&&(0,Od.jsx)(Fo,{children:(0,Od.jsx)(Js,{...e,anchorElement:x,placement:g,children:P()})})]})});var oP=V(j()),rP=require("react");var Ua=require("react/jsx-runtime"),Hd="vuuDropdownButton",iP=(0,rP.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,Ua.jsx)(jt,{className:(0,oP.default)(Hd,{[`${Hd}-fullWidth`]:a},n),disabled:o,variant:"secondary",...f,ref:p,children:(0,Ua.jsxs)("div",{className:`${Hd}-content`,children:[(0,Ua.jsx)("span",{"aria-hidden":e?"true":void 0,...d,className:`${Hd}-buttonLabel`,id:l,role:"option",children:s}),(0,Ua.jsx)("span",{className:`${Hd}-buttonIcon`,"data-icon":r,"aria-hidden":"true"})]})})});var Jr=require("react");function d8(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",sP="ArrowLeft",lP="ArrowRight",jx="Enter";var qx="Home",jm="End",Qx="PageUp",qm="PageDown",aP=" ",f8=new Set(["Enter","Delete"," "]),p8=new Set(["Tab"]),m8=new Set(["ArrowRight","ArrowLeft"]),uP=new Set([qx,jm,Qx,qm,Bd,Fd]),h8=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),g8=d8(f8,uP,m8,h8,p8),Qm=t=>g8.has(t.key)?!1:t.key.length===1&&!t.ctrlKey&&!t.metaKey&&!t.altKey,cP=({key:t})=>uP.has(t);var Jx=require("react");var y8={},b8=t=>Array.isArray(t.childNodes),v8=t=>!0,x8=t=>t.closest("[data-toggle],[aria-expanded]").dataset.toggle==="true",dP=({collapsibleHeaders:t,collectionHook:e,highlightedIdx:n,onToggle:o})=>{let r=(0,Jx.useCallback)(l=>{if(l.key===lP||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===sP||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,Jx.useCallback)(l=>{console.log(`useCollapsibleGroups idx=${n}`);let a=e.data[n];console.log(l.target,l.currentTarget),a&&b8(a)&&(!v8(a)||x8(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:y8};function C8(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 w8=t=>t.closest("[data-index],[aria-posinset]");var fP=t=>C8(w8(t));var Jm=require("react"),S8={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:S8,[r,n])};var pn=require("react");var ol=require("@vuu-ui/vuu-utils"),Yx=-2;function pP(t,e,n){return e===Fd||e===jm?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var Xx=t=>{var n;let e=Array.isArray(t)?ZI(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},E8=(t,e,n,o)=>t===jm?o:t===qx?-1:e!==-1?e:n,T8=(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}},k8=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)})})},M8=t=>t!==void 0,mP=(t,e)=>{let n=(0,ol.getElementByDataIndex)(t,e);return M8(n)},hP=({containerRef:t,defaultHighlightedIndex:e=-1,disableHighlightOnFocus:n,highlightedIndex:o,itemCount:r,onHighlight:i,onKeyboardNavigation:s,restoreLastFocus:l,selected:a,viewportItemCount:u})=>{let c=(0,pn.useRef)(-1),[,d]=(0,pn.useState)({}),[f,p,g]=Me({controlled:o,default:e,name:"UseKeyboardNavigation"}),y=(0,pn.useCallback)((T,M=!1)=>{i==null||i(T),p(T),M&&(c.current=T)},[i,p]),m=(0,pn.useCallback)(async(T,M)=>{let O=(0,ol.getElementByDataIndex)(t.current,M,!0),I;if(O){let{current:P}=t;O&&P&&(I=T===qm?T8(P,O,r,M):await k8(P,O,M))}return I!=null?I:M},[t,r]),h=(0,pn.useCallback)((T=Bd,M=T===Bd?-1:r)=>{if(r===0)return-1;{let O=T==="End",I=T==="Home",P=O||I||M===-1?-1:Xx(a),A=E8(T,M,P,r),N=pP(r,T,A),{current:R}=t;if(N===0&&T===Fd&&R&&!mP(R,0))return M;for(;((T===Bd||I)&&N<r||(T===Fd||O)&&N>0)&&R&&!mP(R,N);)N=pP(r,T,N);return N}},[t,r,a]),b=(0,pn.useRef)(!1),x=(0,pn.useRef)(!1),v=T=>x.current=T,w=(0,pn.useCallback)(()=>{if(x.current)x.current=!1;else if(b.current=!0,r===0)y(Yx);else if(f!==-1)d({});else if(l)if(c.current!==-1)y(c.current);else{let T=Xx(a);y(T!==-1?T:0)}else if(jr(a)){let T=Xx(a);y(T)}else n!==!0&&y(h())},[n,f,r,h,l,a,y]),C=(0,pn.useCallback)(async T=>{let M=T.key===qm||T.key===Qx?await m(T.key,f):h(T.key,f);M!==f&&y(M,!0),s==null||s(T,M)},[f,h,m,s,y]),S=(0,pn.useCallback)(T=>{r>0&&cP(T)?(T.preventDefault(),T.stopPropagation(),b.current=!0,C(T)):Qm(T)&&(b.current=!0)},[r,C]),E=(0,pn.useMemo)(()=>({onBlur:T=>{let M=T.target.closest(".vuuList"),O=T.relatedTarget;M&&!(M!=null&&M.contains(O))&&(b.current=!1,p(-1),l||(c.current=-1))},onFocus:w,onKeyDown:S,onMouseDownCapture:()=>{b.current=!1,v(!0)},onMouseMove:()=>{b.current&&(b.current=!1)},onMouseLeave:()=>{b.current=!1,v(!1),y(-1)}}),[w,S,l,p,y]);return{focusVisible:b.current?f:-1,controlledHighlighting:g,highlightedIndex:f,setHighlightedIndex:y,keyboardNavigation:b,containerProps:E,setIgnoreFocus:v}};var zo=require("@vuu-ui/vuu-utils"),go=require("react");var I8=["Enter"," "];var gP=({containerRef:t,defaultSelected:e,disableSelection:n=!1,highlightedIndex:o,itemQuery:r,onClick:i,onSelect:s,onSelectionChange:l,selected:a,selectionStrategy:u,selectionKeys:c=I8,tabToSelect:d})=>{let f=u==="deselectable",p=u==="multiple",g=u==="extended",y=(0,go.useRef)(-1),m=(0,go.useCallback)(I=>c.includes(I.key),[c]),[h,b]=$a({controlled:a,default:e!=null?e:[],name:"UseSelection",state:"selected"}),x=(0,go.useCallback)(I=>h.includes(I),[h]),v=(0,go.useCallback)(I=>x(I)?[]:[I],[x]),w=(0,go.useCallback)(I=>{let P=x(I)?h.filter(A=>A!==I):h.concat(I);return P.sort(),P},[x,h]),C=(0,go.useCallback)((I,P)=>{let A=P?h:[],[N]=h.slice(-1),R=N?(0,zo.getElementDataIndex)(document.getElementById(N)):0,H=Math.min(I,R),k=Math.max(I,R),L=t.current,B=Array.from(L.querySelectorAll(r)).slice(H,k+1).map(U=>U.id),F=[...new Set([...A,...B])];return F.sort(),F},[t,r,h]),S=(0,go.useCallback)((I,P,A,N)=>{let{current:R}=t,{id:H}=(0,zo.getElementByDataIndex)(R,P,!0),k;p?k=w(H):g?N&&!A?k=w(H):A?k=C(P,N):k=[H]:f?k=v(H):k=[H],k!==h&&b(k),s==null||s(I,H),k!==h&&l&&l(I,k)},[t,p,g,f,h,s,w,C,v,b,l]),E=(0,go.useCallback)(I=>{let{current:P}=t,A=(0,zo.getElementByDataIndex)(P,o);(0,zo.isSelectableElement)(A)&&(m(I)||d&&I.key==="Tab")&&(I.key!=="Tab"&&I.preventDefault(),S(I,o,!1,I.ctrlKey||I.metaKey),g&&(y.current=o))},[o,t,m,d,S,g]),T=(0,go.useCallback)((I,P)=>{if(g&&I.shiftKey){let{current:A}=t,N=(0,zo.getElementByDataIndex)(A,P);(0,zo.isSelectableElement)(N)&&S(I,P,!0)}},[g,t,S]),M=(0,go.useCallback)(I=>{let{current:P}=t,A=(0,zo.getElementByDataIndex)(P,o);!n&&(0,zo.isSelectableElement)(A)&&(I.preventDefault(),I.stopPropagation(),S(I,o,I.shiftKey,I.ctrlKey||I.metaKey),g&&(y.current=o)),i==null||i(I)},[t,o,n,i,S,g]);return{listHandlers:Ux(u)?{onClick:i}:{onClick:M,onKeyDown:E,onKeyboardNavigation:T},selected:h,setSelected:b}};var rl=require("react");var yP=({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===aP)&&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 bP=["height"],P8=["height","scrollHeight"],D8=[],vP={containerOnly:[P8,D8],withContent:[bP,bP]},R8=t=>t?vP.containerOnly:vP.withContent,xP={current:null},L8=(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}}},CP=({containerRef:t,contentRef:e=xP,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:b}=s.current,x=h.ariaExpanded&&h.firstChild?h.firstChild:h,v=r?36:0,w=L8(x,m),C=x.offsetHeight,{scrollTop:S}=t.current,E=S+v,T=E+b-v;if(w+C>T||w<E){let M=w+C>T?S+(w+C)-T:w-v;l(M)}}}},[t,e,l,r]);yd(()=>{let{height:y,contentHeight:m}=s.current,h=o[n];if(m>y&&h){let[b]=o,[x]=o.slice(-1);h===b?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]=R8(e===xP);return Gr(t,p,d,!0),Gr(e,g,f,!0),{isScrolling:i,scrollIntoView:c}};var Ga=require("react/jsx-runtime"),A8=rt("saltHighlighter"),wP=t=>{let{matchPattern:e,text:n=""}=t,o=typeof e=="string"?new RegExp(`(${Km(e)})`,"gi"):e;return o===void 0?(0,Ga.jsx)(Ga.Fragment,{children:n}):(0,Ga.jsx)("span",{children:n.split(o).map((r,i)=>r.match(o)?(0,Ga.jsx)("strong",{className:A8("highlight"),children:r},`${i}-${r}`):r)})};var Zx=require("react"),e0=V(j());var EP=V(require("react")),TP=V(j());var SP="vuuCheckboxIcon",Vd=({checked:t=!1,disabled:e=!1,...n})=>EP.default.createElement("span",{...n,className:(0,TP.default)(SP,{[`${SP}-checked-${e?"disabled":"enabled"}`]:t})});var il=require("react/jsx-runtime"),zd="vuuListItem",Ym=(0,Zx.forwardRef)(function({height:e,...n},o){return(0,il.jsx)("div",{...n,"aria-hidden":!0,className:(0,e0.default)(zd,`${zd}-proxy`),ref:o,style:{height:e}})}),qi=(0,Zx.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,e0.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)(wP,{matchPattern:l,text:a||e})]})});var ih=V(j()),Dn=require("react");var fr=require("react");var ja=require("react");var kP=require("@vuu-ui/vuu-utils"),MP=require("react");var F8=require("react/jsx-runtime"),N8={isDragSource:void 0,isDropTarget:void 0,register:()=>{}},O8=()=>console.log("have you forgotten to provide a DragDrop Provider ?"),H8=(0,ja.createContext)({registerDragDropParty:O8});var IP=t=>{var s,l;let{dragSources:e,dropTargets:n,onDragOut:o,onEndOfDragOperation:r,registerDragDropParty:i}=(0,ja.useContext)(H8);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 N8};var jP=require("@vuu-ui/vuu-utils"),ye=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 PP=V(j()),sl=require("react");var eh=require("react/jsx-runtime"),B8=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=Le(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,PP.default)("vuuDraggable",...B8(e)),ref:c,onTransitionEnd:r,style:i})})})}),t0=t=>{let e=document.createElement("div");return e.className="vuuDraggable-spacer",t&&e.addEventListener("transitionend",()=>{t.current=!1}),e},DP=()=>{let t=document.createElement("div");return t.className="vuuDraggable-dropIndicatorPosition",t},RP=t=>{let e=document.createElement("div");return e.className="vuuDraggable-dropIndicator",t&&e.addEventListener("transitionend",()=>{t.current=!1}),e};var V8=["left","right"],z8=["top","bottom"],nh=":not(.wrapped)",LP=':not([aria-hidden="true"])',AP=t=>{let e=t.cloneNode(!0);return e.removeAttribute("id"),e.dataset.index="-1",e},$8=(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"?V8:z8,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]},_8={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=>_8[t],NP=(t,e)=>{let n=t.find(o=>o.id===e);if(n)return n},OP=(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]=$8(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},Qa=(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},n0=(t,e)=>{let n=Qa(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=Qa(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 HP(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 FP=(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},BP=(t,e)=>{let{SCROLL_SIZE:n,CLIENT_SIZE:o}=Pn(e),{[n]:r,[o]:i}=t;return r>i};var Qi=require("react");var VP=({containerRef:t,onScrollingStopped:e,orientation:n="vertical"})=>{let o=(0,Qi.useRef)(null),r=(0,Qi.useRef)(!1),i=(0,Qi.useRef)(0),s=(0,Qi.useRef)("fwd"),l=(0,Qi.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,Qi.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]:b}=f,x=u==="fwd"?h-b-m:m,v=Math.min(x,d);u==="fwd"?(s.current="fwd",f[p]=i.current=m+v):(s.current="bwd",f[p]=i.current=m-v),v===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 Ja=require("react"),zP=({selected:t,viewportRange:e})=>{let n=(0,Ja.useRef)();n.current=e;let o=(0,Ja.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,Ja.useCallback)(()=>{},[]),i=(0,Ja.useCallback)(()=>{},[]);return{beginDrag:o,drag:r,drop:i}};var at=require("react");var $d=require("react");var $P=()=>{let t=(0,$d.useMemo)(()=>DP(),[]),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 WP=require("react/jsx-runtime"),W8=':not([data-overflowed="true"])',K8=':not([aria-hidden="true"])',_P=({onDrop:t,orientation:e="horizontal",containerRef:n,itemQuery:o="*",selected:r,viewportRange:i})=>{let s=(0,at.useRef)(),l=(0,at.useRef)(null),a=(0,at.useRef)(null),u=(0,at.useRef)(""),c=(0,at.useRef)(!1),d=(0,at.useRef)(-1),f=(0,at.useRef)([]),p=(0,at.useRef)(!1),[g,y]=(0,at.useState)(!1),[m,h]=(0,at.useState)(),{clearSpacer:b,positionDropIndicator:x}=$P(),v=(0,at.useRef)(),w=`:is(${o}${W8}${K8},[data-overflow-indicator])`,C=N=>f.current.findIndex(R=>R.id===N.id),S=(N,R,H)=>{N.start+=R,N.mid+=R,N.end+=R,typeof H=="number"&&(N.currentIndex+=H)},E=(0,at.useRef)();E.current=i;let T=(0,at.useCallback)(()=>{b()},[b]),M=(0,at.useCallback)((N,R,H)=>{let{current:k}=n,{current:L}=v;if(k&&L){f.current=qa(k,e,w,E.current);let{size:D}=L,F=d.current+D/2,{current:U}=f,re=ll(U,F,D,"fwd");re&&x(H&&N==="fwd"?U[U.length-1]:re,"start")}},[n,x,w,e]),O=(0,at.useCallback)(N=>{N.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&&N){let{SCROLL_SIZE:H,CLIENT_SIZE:k}=Pn(e),{id:L}=N,{[H]:D,[k]:B}=R;c.current=D>B;let F=f.current=qa(R,e,w,i),U=NP(F,L);if(U&&R){let re=C(U);OP(F,re),v.current=U;let{current:Y}=E;if(Y!=null&&Y.atEnd)for(let me=0;me<F.length;me++)S(F[me],U.size);for(let me=re;me<F.length;me++)S(F[me],-U.size,-1);let[_,J]=U.isLast?[F[F.length-1],"end"]:[F[re],"start"];a.current=_,u.current=J;let le=x(_,J),{top:X,left:Pe,width:pe}=le.getBoundingClientRect(),Ce={top:U.isLast?Y!=null&&Y.atEnd&&!Y.atStart?X+U.size-2:X-2:X-U.size-2,left:Pe,width:pe,height:2};h((0,WP.jsx)(th,{wrapperClassName:"dropIndicatorContainer",style:Ce,ref:l,element:RP()}))}}},[r,n,e,w,i,x]),I=(0,at.useCallback)((N,R)=>{let{current:H}=a,{current:k}=v;if(k&&n.current){let L=e==="horizontal"?"left":"top";d.current=N;let{current:D}=f,B=ll(D,N,k.size,R);if(B&&B.index!==(H==null?void 0:H.index)){if(B.isOverflowIndicator)y(p.current=!0);else if(l.current){if(C(B)===D.length-1){let U=D[D.length-1],Y=x(U,"start").getBoundingClientRect();l.current.style[L]=`${Y.top}px`}else{let re=x(B,"start").getBoundingClientRect();l.current.style[L]=`${re.top}px`}y(p.current=!1)}a.current=B,s.current=R}}},[n,e,x]),P=(0,at.useCallback)(()=>{b();let{current:N}=v,{current:R}=a,{current:H}=u,{current:k}=E;if(N&&k&&R){let{index:L}=N,D=H==="start",{index:B,currentIndex:F}=R;a.current=null,s.current=void 0,p.current?t(L,-1,{fromIndex:L,toIndex:-1}):L<B?t(L,D?F:F+1,{fromIndex:L,toIndex:D?F:F+1}):t(L,D?B:B+1,{fromIndex:L,toIndex:D?B:B+1}),h(void 0)}y(!1)},[b,t]),A=(0,at.useCallback)(()=>{},[]);return{beginDrag:O,drag:I,drop:P,dropIndicator:m,handleScrollStart:T,handleScrollStop:M,releaseDrag:A,revealOverflowedItems:g}};var Tt=require("react");var $o=require("react");var KP=(t="horizontal")=>{let e=(0,$o.useRef)(0),n=(0,$o.useRef)(!1),o=(0,$o.useMemo)(()=>[t0(n),t0()],[]),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"&&n0(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"&&n0(u,p)},[r,s,i,t,o]);return{displaceItem:l,displaceLastItem:a,clearSpacers:i}};var o0=require("@vuu-ui/vuu-utils");var UP=({onDrop:t,orientation:e="horizontal",containerRef:n,itemQuery:o="*",selected:r,viewportRange:i})=>{let s=(0,Tt.useRef)(),l=(0,Tt.useRef)(!1),a=(0,Tt.useRef)(-1),u=(0,Tt.useRef)([]),c=(0,Tt.useRef)(!1),[d,f]=(0,Tt.useState)(!1),{clearSpacers:p,displaceItem:g,displaceLastItem:y}=KP(e),m=(0,Tt.useRef)(),h=`:is(${o}${nh}${LP},.vuuOverflowContainer-OverflowIndicator)`,b=I=>u.current.findIndex(P=>P.id===I.id),x=(0,Tt.useRef)();x.current=i;let v=(0,Tt.useCallback)(()=>{p()},[p]),w=(0,Tt.useCallback)((I,P,A)=>{let{current:N}=n,{current:R}=m;if(N&&R){u.current=qa(N,e,h,x.current),I==="fwd"?u.current.push(R):u.current.unshift(R);let{size:H}=R,L=a.current+H/2,{current:D}=u,B=ll(D,L,H,"fwd");if(B){let U=b(B),re=D[U];A&&I==="fwd"?y(D,D[D.length-1],H,!1,"static"):g(D,re,H,!0,"static")}}},[n,g,y,h,e]),C=(0,Tt.useCallback)(I=>{I.ariaSelected&&Array.isArray(r)&&r.length>1&&console.log("its a selected element, and we have a multi select");let{current:P}=n;if(P&&I){let A=P.contains(I),{SCROLL_SIZE:N,CLIENT_SIZE:R}=Pn(e),{id:H}=I,{[N]:k,[R]:L}=P;l.current=k>L;let D=u.current=qa(P,e,h,i,H);if(console.log({dropTargets:D}),A){let B=Qa(D),F=D[B];F&&P&&(m.current=F,(F.isLast?y:g)(D,F,F.size,!1,"static"))}else{let{top:B,height:F}=I.getBoundingClientRect(),U=ll(D,B,F,"fwd"),re=D.indexOf(U),{start:Y,end:_,mid:J}=U,le=m.current={end:_,mid:J,start:Y,isDraggedItem:!0,isExternal:!0,size:F},X=D.indexOf(U);D.splice(X,0,le);for(let pe=re+1;pe<D.length;pe++){let Ce=D[pe];Ce.mid+=F,Ce.end+=F,Ce.start+=F}(U.isLast?y:g)(D,U,U.size,!0,"static")}}},[n,g,y,h,e,r,i]),[S,E]=(0,Tt.useMemo)(()=>{let I=!1;return[N=>{if(!I){I=!0;let R=N.element.querySelector(".vuuPopupMenu");R&&(0,o0.dispatchMouseEvent)(R,"click")}},N=>{if(I){I=!1;let R=N.element.querySelector(".vuuPopupMenu");R&&(0,o0.dispatchMouseEvent)(R,"click")}}]},[]),T=(0,Tt.useCallback)((I,P)=>{let{current:A}=m;if(A&&n.current){a.current=I;let{current:N}=u,R=ll(N,I,A.size,P);if(R&&!R.isDraggedItem)if(R.isOverflowIndicator)f(c.current=!0),S(R);else{let{size:H}=A;(b(R)===N.length-1?y:g)(N,R,H,!0,P);let D=N.at(-1);E(D),f(c.current=!1)}s.current=P}},[n,g,y,E,S]),M=(0,Tt.useCallback)(()=>{var N;p();let{current:I}=u,P=Qa(I),A=I[P];if(A)if(s.current=void 0,c.current)t(A.index,-1,{fromIndex:A.index,toIndex:-1,isExternal:A.isExternal});else{let R=Qa(I,!0);t(A.index,R,{fromIndex:A.index,toIndex:R,isExternal:A.isExternal})}if(f(!1),n.current){let R=(N=n.current)==null?void 0:N.scrollTop;P<I.length&&(n.current.scrollTop=R)}},[p,n,t]),O=(0,Tt.useCallback)(()=>{p(!0)},[p]);return{beginDrag:C,drag:T,drop:M,handleScrollStart:v,handleScrollStop:w,releaseDrag:O,revealOverflowedItems:d}};var qP=require("react/jsx-runtime"),U8={beginDrag:()=>{},drag:()=>{},draggableRef:{current:null},drop:()=>{},isDragging:!1,isScrolling:!1,handleScrollStart:()=>{},handleScrollStop:()=>{},revealOverflowedItems:!1},GP={start:0,end:1e3,contraStart:0,contraEnd:1e3},G8=()=>U8,j8=3,q8=(t,e)=>t.closest(e),Q8=(t,e)=>{let n=`:is(${e}${nh},.vuuOverflowContainer-OverflowIndicator)`,r=Array.from(t.querySelectorAll(n)).pop();return[r,QP(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,ye.useRef)({start:0,end:0,contraStart:0,contraEnd:0}),[f,p]=(0,ye.useState)({draggable:void 0,draggedItemIndex:-1,isDragging:!1}),g=(0,ye.useRef)(null),y=(0,ye.useRef)(null),m=(0,ye.useRef)(!1),h=(0,ye.useRef)({x:0,y:0}),b=(0,ye.useRef)({x:0,y:0}),x=(0,ye.useRef)(null),v=(0,ye.useRef)(null),w=(0,ye.useRef)(-1),C=(0,ye.useRef)(-1),S=(0,ye.useRef)(),{isDragSource:E,isDropTarget:T,onDragOut:M,onEndOfDragOperation:O,register:I}=IP(r),P=(0,ye.useRef)(),A=(0,ye.useRef)(),N=(0,ye.useCallback)(()=>{let{current:te}=P,{current:oe}=A;te&&oe&&(document.addEventListener("mousemove",te,!1),document.addEventListener("mouseup",oe,!1))},[]),R=(0,ye.useCallback)(()=>{let{current:te}=P,{current:oe}=A;te&&oe&&(document.removeEventListener("mousemove",te,!1),document.removeEventListener("mouseup",oe,!1))},[]),H=(0,ye.useCallback)((te,oe)=>{let{current:ce}=e;if(ce){let[he,z]=Q8(ce,i),{CONTRA:Q,CONTRA_END:we,DIMENSION:He,END:yt,START:$t}=Pn(u),dt=oe[He],{[$t]:bt,[yt]:xn}=he.getBoundingClientRect();d.current.start=te[$t],d.current.end=z?Math.max(bt,te.right-dt):m.current?te[$t]+te[He]-dt:xn-dt,d.current.contraStart=te[Q],d.current.contraEnd=te[we]}},[e,i,u]),k=(0,ye.useCallback)(()=>{var he;let{current:te}=x;x.current=null;let{current:oe}=C,ce=(he=e.current)==null?void 0:he.querySelector(`${i}[data-index="${oe}"]`);ce&&ce.classList.remove("vuuDropTarget-settling"),C.current=-1,a==null||a(oe),p(z=>({...z,draggable:void 0})),te&&(0,jP.dispatchCustomEvent)(te,"vuu-dropped")},[e,i,a]),L=(0,ye.useCallback)(te=>{if(v.current&&g.current){let{mouseOffset:oe}=g.current,{POS:ce,SCROLL_POS:he,SCROLL_SIZE:z,CLIENT_SIZE:Q}=Pn(u),{[he]:we,[z]:He,[Q]:yt}=v.current,$t=He-yt,dt=we<$t,bt=d.current.end,xn=we>0&&te-oe[ce]<=d.current.start,Cn=dt&&te-oe[ce]>=bt;return xn?"bwd":Cn?"fwd":""}},[v,u]),D=t===!0||t==="natural-movement"?UP:t==="drop-indicator"?_P:t==="drag-copy"?zP:G8,B=(0,ye.useCallback)((te,oe,ce)=>{var he;(he=S.current)==null||he.call(S,te,oe,ce)},[]),{isScrolling:F,startScrolling:U,stopScrolling:re}=VP({containerRef:v,onScrollingStopped:B,orientation:u}),Y=(0,ye.useCallback)((te,oe,ce)=>{var he;w.current=oe,ce.isExternal?l==null||l(te,oe,{...ce,payload:(he=g.current)==null?void 0:he.payload}):l==null||l(te,oe,ce),C.current=oe,r&&(O==null||O(r)),g.current=null},[r,l,O]),{beginDrag:_,drag:J,drop:le,handleScrollStart:X,handleScrollStop:Pe,releaseDrag:pe,...Ce}=D({...c,containerRef:e,isDragSource:E,isDropTarget:T,itemQuery:i,onDrop:Y,orientation:u});S.current=Pe;let me=(0,ye.useCallback)((te,oe)=>{let{CONTRA_POS:ce}=Pn(u),he=h.current[ce],z=E?Math.abs(he-oe):0;if(t===!0&&!E&&!T)return!1;let Q=T===!1||z-te>5;if(g.current&&Q)return M!=null&&M(r,g.current)&&(R(),pe==null||pe(),g.current=null),d.current=GP,!0},[t,r,E,T,M,u,pe,R]),We=(0,ye.useCallback)(te=>{let{CLIENT_POS:oe,CONTRA_CLIENT_POS:ce,POS:he}=Pn(u),{clientX:z,clientY:Q}=te,{[oe]:we,[ce]:He}=te,yt=h.current[he],$t=Math.abs(yt-we),{current:dt}=g;if(!me($t,He)&&(h.current.x=z,h.current.y=Q,dt)){let{draggableElement:bt,mouseOffset:xn}=dt;if(d.current===GP&&bt){let Cn=h.current.x-xn.x,zn=h.current.y-xn.y;bt.style.top=`${zn}px`,bt.style.left=`${Cn}px`}else if($t>0&&bt){let Cn=yt<we?"fwd":"bwd",zn=L(we),Jl=h.current[he]-xn[he];if(zn&&m.current&&!F.current?(X==null||X(),U(zn,1)):!zn&&F.current&&re(),!F.current){let gi=Math.round(Math.max(d.current.start,Math.min(d.current.end,Jl))),Xl=u==="horizontal"?"left":"top";bt.style[Xl]=`${gi}px`,J(gi,Cn)}}}},[J,me,L,X,F,u,U,re]),Ue=(0,ye.useCallback)(()=>{R(),g.current&&(x.current=g.current.draggableElement),le(),p(te=>({...te,draggedItemIndex:-1,isDragging:!1}))},[le,R]);P.current=We,A.current=Ue;let Ne=(0,ye.useCallback)(te=>{g.current=te;let{draggableElement:oe,mouseOffset:ce}=te,{current:he}=e;if(he&&oe){let z=he.getBoundingClientRect(),Q=oe.getBoundingClientRect();return H(z,Q),h.current.x=Q.left+ce.x,h.current.y=Q.top+ce.y,_(oe),N(),!0}else return!1},[N,_,e,H]),Oe=(0,ye.useCallback)(te=>{let{target:oe}=te,ce=q8(oe,i),{current:he}=e;if(he&&ce){let z=FP(he,i);m.current=BP(z,u),v.current=z;let Q=he.getBoundingClientRect(),we=ce.getBoundingClientRect(),He=g.current=new Zm(te,ce);H(Q,we),_(ce);let{dataset:{index:yt="-1"}}=ce;p({isDragging:!0,draggable:(0,qP.jsx)(th,{element:AP(ce),onDropped:k,onTransitionEnd:k,ref:He.setDraggable,style:HP(we,Q),wrapperClassName:n}),draggedItemIndex:parseInt(yt)}),s==null||s(He),N()}},[N,_,e,n,i,s,u,H,k]),Ye=(0,ye.useCallback)(te=>{let{CLIENT_POS:oe,POS:ce}=Pn(u),{[oe]:he}=te;Math.abs(he-b.current[ce])>j8&&e.current&&(y.current&&(window.clearTimeout(y.current),y.current=null),document.removeEventListener("mousemove",Ye),document.removeEventListener("mouseup",At,!1),Oe(te))},[e,_,u]),At=(0,ye.useCallback)(()=>{y.current&&(window.clearTimeout(y.current),y.current=null),document.removeEventListener("mousemove",Ye,!1),document.removeEventListener("mouseup",At,!1)},[Ye]),sn=(0,ye.useCallback)(te=>{let{current:oe}=e;if(te.stopPropagation(),oe&&!te.defaultPrevented){let{clientX:ce,clientY:he}=te;h.current.x=b.current.x=ce,h.current.y=b.current.y=he,document.addEventListener("mousemove",Ye,!1),document.addEventListener("mouseup",At,!1),te.persist(),y.current=window.setTimeout(()=>{document.removeEventListener("mousemove",Ye,!1),document.removeEventListener("mouseup",At,!1),Oe(te.nativeEvent)},500)}},[e,Oe,Ye,At]),{current:De}=x;return(0,ye.useLayoutEffect)(()=>{if(De&&e.current){let te=w.current,oe=e.current.querySelector(`${i}[data-index="${te}"]`);oe&&(oe.classList.add("vuuDropTarget-settling"),requestAnimationFrame(()=>{let{top:ce,left:he}=oe.getBoundingClientRect(),z=getComputedStyle(De),Q=parseInt(z.getPropertyValue("left")),we=parseInt(z.getPropertyValue("top"));Q!==he||we!==ce?(De.classList.add("vuuDraggable-settling"),De.style.top=`${ce}px`,De.style.left=`${he}px`):k()}))}},[e,i,De,k]),(0,ye.useEffect)(()=>{r&&(E||T)&&I(r,t==="drop-only"?!1:Ne,l)},[t,r,E,T,l,I,Ne]),{...Ce,...f,isScrolling:F,onMouseDown:t&&t!=="drop-only"?sn:void 0}};var dr=require("react");var JP=({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)=>{jr(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(jr(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 Ji=({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:b,onKeyboardNavigation:x,onKeyDown:v,onMoveListItem:w,onSelect:C,onSelectionChange:S,restoreLastFocus:E,scrollContainerRef:T,selected:M,selectionStrategy:O,selectionKeys:I,stickyHeaders:P,tabToSelect:A,viewportRange:N})=>{let R=(0,fr.useRef)(M||s),H=(z,Q)=>{var we,He;(He=(we=X.listHandlers).onKeyboardNavigation)==null||He.call(we,z,Q),x==null||x(z,Q)},k=(0,fr.useCallback)((z,Q)=>{C&&Q!==null&&C(z,n.itemById(Q))},[n,C]),L=(0,fr.useMemo)(()=>{var z,Q;return T||{current:(Q=(z=o.current)==null?void 0:z.querySelector(".vuuList-scrollContainer"))!=null?Q:null}},[o,T]),D=(0,fr.useCallback)((z,Q)=>{if(S){if(YI(O)){let[we]=Q;S(z,n.itemById(we))}else if(_a(O)){let we=Q.map(He=>n.itemById(He));S(z,we)}}},[n,S,O]),{highlightedIndex:B,containerProps:{onKeyDown:F,onMouseMove:U,...re},setHighlightedIndex:Y,..._}=hP({containerRef:L,defaultHighlightedIndex:i,disableHighlightOnFocus:u,highlightedIndex:d,itemCount:n.data.length,label:p,onHighlight:b,onKeyboardNavigation:H,restoreLastFocus:E,selected:R.current,viewportItemCount:10}),J=dP({collapsibleHeaders:e,highlightedIdx:B,collectionHook:n}),le=(0,fr.useCallback)(z=>{Y(-1),m==null||m(z)},[m,Y]),X=gP({containerRef:o,defaultSelected:s,highlightedIndex:B,itemQuery:".vuuListItem",label:`${p}:useList`,onClick:y,onSelect:k,onSelectionChange:D,selected:M,selectionStrategy:O,selectionKeys:I,tabToSelect:A}),{handleDrop:Pe,onDropSettle:pe}=JP({dataHook:n,onDrop:h,onMoveListItem:w,selected:X.selected,setHighlightedIndex:Y,setSelected:X.setSelected}),{setSelected:Ce}=X;kn(()=>{jr(R.current)&&Ce([])},[M,n.data,Ce]);let{onMouseDown:me,isDragging:We,isScrolling:Ue,...Ne}=cr({allowDragDrop:t,draggableClassName:"list-item",orientation:"vertical",containerRef:o,id:f,itemQuery:".vuuListItem",onDragStart:le,onDrop:Pe,onDropSettle:pe,viewportRange:N}),{onKeyDown:Oe}=yP({disableTypeToSelect:c,highlightedIdx:B,highlightItemAtIndex:Y,typeToNavigate:!0,items:n.data}),Ye=(0,fr.useCallback)(z=>{var Q,we,He;z.defaultPrevented||Oe==null||Oe(z),F(z),z.defaultPrevented||(we=(Q=X.listHandlers).onKeyDown)==null||we.call(Q,z),z.defaultPrevented||(He=J==null?void 0:J.onKeyDown)==null||He.call(J,z),z.defaultPrevented||v==null||v(z)},[J,F,v,X.listHandlers,Oe]),{isScrolling:At,scrollIntoView:sn}=CP({containerRef:L,contentRef:r,highlightedIdx:B,indexPositions:n.data,stickyHeaders:P}),De=At.current||Ue.current,te=(0,fr.useCallback)(z=>{if(!De&&!l&&!We){U();let Q=fP(z.target);if(Q!==-1&&Q!==B){let we=n.data[Q];!we||we.disabled?Y(-1):Y(Q)}}},[We,De,l,Y,U,B,n.data]),oe=()=>{var z;return B===void 0||B===-1||a||(z=n.data[B])==null?void 0:z.id};R.current=X.selected;let ce={"aria-activedescendant":oe(),onBlur:re.onBlur,onFocus:re.onFocus,onKeyDown:Ye,onMouseDown:me,onMouseDownCapture:re.onMouseDownCapture,onMouseLeave:re.onMouseLeave},he=g||{onClick:X.listHandlers.onClick,onMouseMove:te};return{focusVisible:_.focusVisible,controlledHighlighting:_.controlledHighlighting,highlightedIndex:B,keyboardNavigation:_.keyboardNavigation,listHandlers:he,listItemHeaderHandlers:J,listControlProps:ce,scrollIntoView:sn,selected:X.selected,setHighlightedIndex:Y,setIgnoreFocus:_.setIgnoreFocus,setSelected:X.setSelected,...Ne}};var pr=require("react");var J8=(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=J8(o,m,r);if(n!==void 0)return[h,void 0];let b=Math.min(t,o)||t;return typeof e=="function"?y+=Array(b).fill(0).reduce((v,w,C)=>v+e(C)+r,0)-r:y+=b*Number(m)+(b-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 Gr(c,JI,p,!0),{computedListHeight:f,contentHeight:d,listClientHeight:s==null?void 0:s.height,listItemHeight:l,rowHeightProxyRef:g}};var mr=require("react"),XP=(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)(()=>XP(l.current,t,e,o+n),[t,e,o,n]),[u,c]=(0,mr.useState)(a);return yd(()=>{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=XP(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"),YP=require("react"),X8="No data to display",Xi="vuuList",Qr=(0,Dn.forwardRef)(function({ListItem:e=qi,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:b,id:x,itemGapSize:v=0,itemHeight:w,itemTextHighlightPattern:C,itemToString:S=In,listHandlers:E,maxHeight:T,maxWidth:M,minHeight:O,minWidth:I,onClick:P,onDragStart:A,onDrop:N,onMoveListItem:R,onSelect:H,onSelectionChange:k,onHighlight:L,restoreLastFocus:D,selected:B,selectionStrategy:F,checkable:U=F==="multiple",scrollingApiRef:re,selectionKeys:Y,showEmptyMessage:_=!1,source:J,style:le,stickyHeaders:X,tabIndex:Pe=0,tabToSelect:pe,...Ce},me){var jf,qf;let We=Ie(x),Ue=(0,Dn.useRef)(null),Ne=(0,Dn.useRef)(null),Oe=(0,Dn.useRef)(null),[Ye,At]=(0,Dn.useState)(),sn=(0,Dn.useCallback)($n=>{At($n)},[]),De=Gi({id:We,label:"List",source:J,children:r,options:{collapsibleHeaders:s,getItemId:m,itemToString:S}}),{listClientHeight:te,computedListHeight:oe,listItemHeight:ce,rowHeightProxyRef:he}=oh({displayedItemCount:f,getItemHeight:y,height:h,itemCount:De.data.length,itemGapSize:v,itemHeight:w,rootRef:Ue,size:Ye}),{onVerticalScroll:z,viewportRange:Q}=rh({containerSize:(qf=(jf=te!=null?te:oe)!=null?jf:Ye==null?void 0:Ye.height)!=null?qf:0,itemCount:De.data.length,itemGapSize:v,itemSize:ce}),{draggable:we,draggedItemIndex:He,dropIndicator:yt,focusVisible:$t,highlightedIndex:dt,listControlProps:bt,listHandlers:xn,listItemHeaderHandlers:Cn,scrollIntoView:zn,selected:Jl}=Ji({allowDragDrop:o,collapsibleHeaders:s,collectionHook:De,containerRef:Ue,contentRef:Oe,defaultHighlightedIndex:l,defaultSelected:De.itemToCollectionItemId(a),disabled:u,disableTypeToSelect:d,highlightedIndex:b,id:We,label:"List",listHandlers:E,onClick:P,onDragStart:A,onDrop:N,onMoveListItem:R,onSelect:H,onSelectionChange:k,onHighlight:L,restoreLastFocus:D,scrollContainerRef:Ne,selected:De.itemToCollectionItemId(B),selectionStrategy:F,selectionKeys:Y,stickyHeaders:X,tabToSelect:pe,viewportRange:Q});Xm({collectionHook:De,forwardedRef:re,scrollableRef:Ue,scrollIntoView:zn});let gi=g!=null?g:$t,Xl=function(Ze,ln,W,ae){let Se=(0,YP.createElement)(e,{...Cn,className:(0,ih.default)(`${Xi}Header`,{focusVisible:s&&gi===Ze.value}),"aria-expanded":ae,"data-index":s?Ze.value:void 0,"data-highlighted":Ze.value===dt||void 0,"data-sticky":X,"data-selectable":!1,id:ln,itemHeight:Kf(Ze.value),key:`header-${Ze.value}`,label:W});return Ze.value+=1,Se},Kf=y===void 0?()=>w:y;function ky($n,Ze,ln){var Lo,Yl;let{disabled:W,value:ae,id:Se,label:vt}=Ze,ft=(0,Dn.isValidElement)(ae),Ro={className:(0,ih.default)((Lo=ae==null?void 0:ae.props)==null?void 0:Lo.className,{vuuHighlighted:ln.value===dt,vuuFocusVisible:gi===ln.value,["vuuDraggable-dragAway"]:He===ln.value}),disabled:W||u,id:Se,item:ft?void 0:(Yl=Ze==null?void 0:Ze.value)!=null?Yl:void 0,itemHeight:Kf(ln.value),itemTextHighlightPattern:C,key:Se,"data-index":ln.value,label:vt,role:"option",selected:Um(Jl,Ze),showCheckbox:U};$n.push(ft?(0,Dn.cloneElement)(ae,Ro):(0,Qn.jsx)(e,{...Ro})),ln.value+=1}let My=function(Ze,ln,W){let{count:ae=0,id:Se,expanded:vt,label:ft=""}=ln[W.value],Ro=Xl(W,Se,ft,vt),Lo=vt!==!1?[Ro].concat(Uf(ln,W,W.value+ae)||[]):Ro;Ze.push((0,Qn.jsx)("div",{role:"group",children:Lo},Se))},Uf=($n,Ze={value:0},ln=$n.length)=>{let W=[];for(;Ze.value<ln;){let ae=$n[Ze.value];ae.header?W.push(Xl(Ze,ae.id,ae.label,ae.expanded===!1)):ae.childNodes?My(W,$n,Ze):ky(W,ae,Ze)}return W};function Gf(){return p||_?(0,Qn.jsx)("span",{className:`${Xi}-empty-message`,children:p!=null?p:X8}):null}let bc=De.data.length===0,Iy=()=>{if(bc)Gf();else{let $n=De.data;return Uf($n)}},Py="auto",Dy={"--list-borderWidth":"var(--vuuList-borderWidth, var(--salt-size-border, 0))","--list-item-gap":v?`${v}px`:void 0,"--computed-list-height":oe===void 0?void 0:`${oe}px`,minWidth:I,minHeight:O,maxWidth:M,maxHeight:T};return(0,Qn.jsxs)(sh,{"aria-multiselectable":F==="multiple"||F==="extended"||F==="extended-multi-range"||void 0,...Ce,...xn,...bt,className:(0,ih.default)(Xi,i,{[`${Xi}-collapsible`]:s,[`${Xi}-contentSized`]:oe!==void 0,[`${Xi}-empty`]:bc,vuuFocusVisible:dt===Yx}),height:oe!=null?oe:h,id:`${We}`,onResize:sn,ref:Le(Ue,me),role:"listbox",onScroll:z,style:{...le,...Dy},tabIndex:u||c?void 0:Pe,children:[(0,Qn.jsx)(Ym,{ref:he,height:w}),De.data.length===0&&n!==void 0?(0,Qn.jsx)(Qn.Fragment,{children:(0,Qn.jsx)(n,{})}):(0,Qn.jsx)("div",{className:`${Xi}-viewport`,ref:Ne,children:(0,Qn.jsxs)("div",{className:`${Xi}-scrollingContentContainer`,ref:Oe,style:{height:Py},children:[Iy(),yt,we]})})]})});function ZP(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=ZP(t[e]))&&(o&&(o+=" "),o+=n);else for(e in t)t[e]&&(o&&(o+=" "),o+=e);return o}function r0(){for(var t,e,n=0,o="";n<arguments.length;)(t=arguments[n++])&&(e=ZP(t))&&(o&&(o+=" "),o+=e);return o}var ul=require("react");var tD=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 Y8=([t],[e])=>t-e,eD=5,nD=({data:t,listItemGapSize:e=0,listItemHeight:n,viewportRange:o})=>{let r=(0,tD.useMemo)(()=>new lh(0,1),[]),i=n+e,s=Math.max(0,o.from-eD),l=Math.min(t.length,o.to+eD);return r.reset(s,l),t.slice(s,l).map((u,c)=>[r.keyFor(c+s),(c+s)*i,c+s+1,u]).sort(Y8)};var al=require("react/jsx-runtime"),Z8="No data to display",ah=rt("saltList"),e9=(0,ul.memo)(qi),Lle=(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:b,itemTextHighlightPattern:x,itemToString:v,maxHeight:w,maxWidth:C,minHeight:S,minWidth:E,onDragStart:T,onDrop:M,onSelect:O,onSelectionChange:I,onViewportScroll:P,onHighlight:A,restoreLastFocus:N,selected:R,selectionStrategy:H,scrollingApiRef:k,selectionKeys:L,showEmptyMessage:D=!1,source:B,style:F,stickyHeaders:U,tabToSelect:re,width:Y,..._},J){let le=Br(m),X=(0,ul.useRef)(null),Pe=(0,ul.useRef)(null),pe=Gi({id:le,label:"List",source:B,children:n,options:{collapsibleHeaders:r,getItemId:p,itemToString:v}}),{contentHeight:Ce,listItemHeight:me,listHeight:We}=oh({borderless:e,displayedItemCount:c,height:g,itemCount:pe.data.length,itemGapSize:h,itemHeight:b,rootRef:X,rowHeightRef:Pe}),{focusVisible:Ue,highlightedIndex:Ne,listControlProps:Oe,listHandlers:Ye,scrollIntoView:At,selected:sn}=Ji({collapsibleHeaders:r,collectionHook:pe,containerRef:X,defaultHighlightedIndex:i,defaultSelected:pe.itemToCollectionItemId(s),disabled:l,disableTypeToSelect:u,highlightedIndex:y,label:le,onSelect:O,onSelectionChange:I,onHighlight:A,restoreLastFocus:N,selected:pe.itemToCollectionItemId(R),selectionStrategy:H,selectionKeys:L,stickyHeaders:U,tabToSelect:re}),{onVerticalScroll:De,viewportRange:te}=rh({containerSize:typeof We=="number"?We:0,itemCount:pe.data.length,itemGapSize:h,itemSize:me});console.log({viewPortRange:te});let oe=nD({data:pe.data,listItemGapSize:h,listItemHeight:me,viewportRange:te});Xm({collectionHook:pe,forwardedRef:k,scrollableRef:X,scrollIntoView:At});function ce(He,yt,$t){let[dt,bt,xn,Cn]=yt,zn=xn-1;He.push((0,al.jsx)(e9,{"aria-setsize":pe.data.length,"aria-posinset":xn,className:r0(o,{saltHighlighted:zn===Ne,saltFocusVisible:Ue===zn}),"data-idx":zn,item:Cn,label:Cn.label,"data-offset":bt,role:"option",selected:Um(sn,Cn),id:Cn.id,translate3d:bt},dt)),$t.value+=1}function he(He,yt={value:0},$t=He.length){let dt=[];for(;yt.value<$t;){let bt=He[yt.value];ce(dt,bt,yt)}return dt}function z(){return d||D?(0,al.jsx)("span",{className:ah("empty-message"),children:d!=null?d:Z8}):null}let Q=()=>{if(oe.length)return he(oe);z()},we={"--list-item-gap":h?`${h}px`:void 0,minWidth:E,minHeight:S,width:Y!=null?Y:"100%",height:g!=null?g:"100%",maxWidth:C!=null?C:Y,maxHeight:w!=null?w:We};return(0,al.jsx)("div",{..._,...Ye,...Oe,className:r0(ah(),o,ah("virtualized")),id:`${le}`,ref:Le(X,J),role:"listbox",onScroll:De,style:{...F,...we},tabIndex:l||a?void 0:0,children:(0,al.jsxs)("div",{className:ah("scrollingContentContainer"),style:{height:Ce},children:[(0,al.jsx)(Ym,{ref:Pe}),Q()]})})});var t9=V(j());var n9=require("react/jsx-runtime");var Xa=require("react");var oD=({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=_a(p),[y,m]=Me({controlled:i,default:n!=null?n:!1,name:"useDropdownList"}),h=(0,Xa.useCallback)((C,S)=>{g||(m(!1),u==null||u(!1)),(Array.isArray(S)||S)&&(c==null||c(C,S))},[g,u,c,m]),b=(0,Xa.useCallback)((C,S)=>{g||(m(!1),u==null||u(!1)),d==null||d(C,S)},[g,u,d,m]),x=Ji({collectionHook:t,defaultHighlightedIndex:(e!=null?e:r===void 0)?0:void 0,defaultSelected:o,label:"DropDown",onSelectionChange:h,onSelect:b,containerRef:l,highlightedIndex:r,onHighlight:a,selected:f,selectionStrategy:p,tabToSelect:!g}),v=(0,Xa.useCallback)(C=>{m(C),u==null||u(C)},[u,m]),w=(0,Xa.useMemo)(()=>{if(Array.isArray(x.selected)){let C=x.selected.map(S=>t.itemById(S));if(C.length===0)return;if(C.length===1){let[S]=C;return S===null?void 0:s(S)}else return`${C.length} items selected`}},[t,s,x.selected]);return{isOpen:y,onOpenChange:v,triggerLabel:w,...x}};var Ya=require("react/jsx-runtime"),Za=(0,Jr.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,...b},x){let v=Ie(i),w=(0,Jr.useRef)(null),C=(0,Jr.useRef)(null),S=Le(w,x),E=Gi({id:v,source:p,children:n,options:{itemToString:l}}),{highlightedIndex:T,triggerLabel:M,listHandlers:O,listControlProps:I,selected:P,...A}=oD({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}),N=(0,Jr.useCallback)(H=>Array.isArray(H)?H.map(L=>E.itemById(L)):E.itemById(H),[E]),R=()=>{let H={"aria-activedescendant":A.isOpen?I==null?void 0:I["aria-activedescendant"]:void 0,"aria-label":e};if(g){let k=g.props;return(0,Jr.cloneElement)(g,Ad(k,{...A.isOpen?I:{},...H}))}else return(0,Ya.jsx)(iP,{label:M,...A.isOpen?I:{},...H})};return(0,Ya.jsx)(_m,{collectionHook:E,children:(0,Ya.jsxs)(Ka,{...b,id:v,isOpen:A.isOpen,onOpenChange:A.onOpenChange,placement:(m==null?void 0:m.width)===void 0?"below-full-width":"below",ref:S,width:h,children:[R(),(0,Ya.jsx)(Qr,{ListItem:y,itemToString:l,...m,highlightedIndex:T,listHandlers:O,onSelectionChange:u,onSelect:c,ref:C,selected:P===void 0?void 0:N(P),selectionStrategy:f})]})})});var ut=require("react");var o9=["Enter"],rD=({allowFreeText:t,ariaLabel:e,collectionHook:n,defaultIsOpen:o,defaultSelected:r,defaultValue:i,onBlur:s,onFocus:l,onChange:a,onSelect:u,id:c,initialHighlightedIndex:d=-1,isOpen:f,itemCount:p,itemsToString:g,itemToString:y=In,listRef:m,onOpenChange:h,onSelectionChange:b,onSetSelectedText:x,selected:v,selectionStrategy:w,value:C,InputProps:S={onBlur:s,onFocus:l,onChange:a,onSelect:u}})=>{let E=_a(w),{setFilterPattern:T}=n,M=(0,ut.useRef)(null),O=(0,ut.useRef)(E?[]:null),I=(0,ut.useRef)(!0),[P,A]=Me({controlled:f,default:o!=null?o:!1,name:"useDropdownList"}),[N,R]=Me({controlled:void 0,default:i!=null?i:C,name:"ComboBox",state:"value"}),[H,k]=(0,ut.useState)(!0),L=(0,ut.useCallback)(z=>{var Q;Array.isArray(z)?console.log("TODO multi selection"):z==null&&((Q=M.current)==null||Q.call(M,-1))},[]),D=(0,ut.useCallback)((z,Q=!0)=>{R(z),Q&&T(z===""?void 0:z)},[T,R]),B=(0,ut.useCallback)(z=>{let Q=t&&N!=null?N:"";return Array.isArray(z)?z.length===1?Q=y(z[0]):z.length>1&&(Q=(g==null?void 0:g(z))||""):z&&(Q=y(z)),Q!==N?(D(Q,!E),x==null||x(Q),!0):!1},[t,E,y,g,x,D,N]),F=(0,ut.useCallback)(()=>{let{current:z}=O;B(z)&&z&&(Array.isArray(z)||z)&&(b==null||b(null,z))},[b,B]),U=(0,ut.useCallback)(()=>{if(t){let z=N==null?void 0:N.trim(),{current:Q}=O;if(z){if(p===0&&z)return E?b==null||b(null,[z]):b==null||b(null,z),O.current=null,!0;Q&&!E&&Q&&!Array.isArray(Q)&&y(Q)}}return!1},[t,N,p,E,b,y]),re=(0,ut.useCallback)((z,Q)=>{z&&E&&D("",!1),A(z),h==null||h(z),!z&&Q!=="Escape"&&(U()||F())},[F,E,h,U,A,D]),Y=(0,ut.useCallback)((z,Q)=>{O.current=Q,E||re(!1,"select")},[re,E]),_=(0,ut.useCallback)(()=>{k(!1)},[]),{focusVisible:J,setHighlightedIndex:le,highlightedIndex:X,listControlProps:Pe,listHandlers:pe,selected:Ce}=Ji({collectionHook:n,containerRef:m,defaultHighlightedIndex:d,defaultSelected:n.itemToCollectionItemId(r),disableAriaActiveDescendant:H,disableHighlightOnFocus:!0,disableTypeToSelect:!0,onKeyboardNavigation:_,onSelectionChange:Y,selected:n.itemToCollectionItemId(v),selectionKeys:o9,selectionStrategy:w,tabToSelect:!E});M.current=le;let{onClick:me}=pe,We=(0,ut.useCallback)(z=>{var Q;(Q=document.getElementById(`${c}-input`))==null||Q.focus(),me==null||me(z)},[c,me]),Ue=(0,ut.useCallback)(z=>{let Q=z.target.value;R(Q),Q&&Q.trim().length?T(Q):T(void 0),A(!0)},[T,A,R]),{onFocus:Ne=l}=S,{onFocus:Oe}=Pe,Ye=(0,ut.useCallback)(z=>{k(!1),Oe==null||Oe(z),Ne==null||Ne(z)},[Ne,Oe]),At=(0,ut.useCallback)(z=>{let Q=z.relatedTarget;return(Q==null?void 0:Q.id)===`${c}-list`},[c]),{onBlur:sn=s}=S,{onBlur:De}=Pe,te=(0,ut.useCallback)(z=>{At(z)||(De==null||De(z),sn==null||sn(z),k(!0),I.current=!0)},[At,De,sn]),{onSelect:oe}=S,ce=(0,ut.useCallback)(z=>{I.current?I.current=!1:k(!0),oe==null||oe(z)},[oe]);kn(()=>{jr(Ce)?L(Ce):le(d)},[L,p,d,Ce,le,A]);let he={...S.inputProps,"aria-label":e,autoComplete:"off"};return{focusVisible:J,highlightedIndex:X,isOpen:P,onOpenChange:re,inputProps:{...S,id:`${c}-input`,inputProps:he,onChange:Ue,onSelect:ce,role:"combobox",value:N},listControlProps:{...Pe,onBlur:te,onFocus:Ye},listHandlers:{...pe,onClick:We},selected:O.current}};var iD=V(j());var lD=require("react/jsx-runtime"),r9="vuuChevronIcon",sD=t=>{let{direction:e,...n}=t;return(0,lD.jsx)("span",{...n,className:(0,iD.default)(r9,e)})};var cl=require("react/jsx-runtime"),i0=(0,eu.forwardRef)(function({InputProps:e,ListProps:n,PopupProps:o,ListItem:r,"aria-label":i,allowFreeText:s,children:l,defaultIsOpen:a,defaultSelected:u,defaultValue:c,disabled:d,onBlur:f,onFocus:p,onChange:g,onSelect:y,onSetSelectedText:m,getFilterRegex:h,id:b,initialHighlightedIndex:x=-1,isOpen:v,itemToString:w=In,itemsToString:C,onOpenChange:S,onSelectionChange:E,selected:T,selectionStrategy:M,source:O,value:I,width:P=180,...A},N){let R=Ie(b),H=(0,eu.useRef)(null),k=me=>Array.isArray(me)&&me.length>0?me[0]:void 0,D=((me,We)=>{let Ue=me?k(me):We?k(We):void 0;return Ue?w(Ue):""})(T,u),B=Gi({id:R,source:O,children:l,options:{filterPattern:D,getFilterRegex:h,itemToString:w}}),{focusVisible:F,highlightedIndex:U,inputProps:{endAdornment:re,...Y},isOpen:_,listHandlers:J,listControlProps:le,onOpenChange:X,selected:Pe}=rD({InputProps:e,allowFreeText:s,ariaLabel:i,collectionHook:B,defaultIsOpen:a,defaultSelected:u,defaultValue:c,disabled:d,initialHighlightedIndex:x,itemCount:B.data.length,label:A.title,listRef:H,onBlur:f,onFocus:p,onChange:g,onSelect:y,id:R,isOpen:v,itemToString:w,itemsToString:C,onOpenChange:S,onSelectionChange:E,onSetSelectedText:m,selected:T,selectionStrategy:M,value:D}),pe=(0,eu.useCallback)(()=>{_?X(!1,"toggle"):X(!0)},[_,X]);return(0,cl.jsx)(_m,{collectionHook:B,children:(0,cl.jsxs)(Ka,{...A,PopupProps:o,id:R,isOpen:_,onOpenChange:X,openOnFocus:!0,ref:N,width:P,children:[(0,cl.jsx)(Un,{...Y,disabled:d,...le,endAdornment:re===null?null:(0,cl.jsx)(sD,{direction:_?"up":"down",onClick:pe})}),(0,cl.jsx)(Qr,{...n,ListItem:r,defaultSelected:void 0,focusVisible:F,highlightedIndex:U,itemTextHighlightPattern:String(Y.value)||void 0,id:`${R}-list`,listHandlers:J,onSelectionChange:E,ref:H,selected:Pe,selectionStrategy:M,tabIndex:-1})]})})});var uD=V(j()),uh=require("react"),dD=require("react/jsx-runtime"),aD="vuuCycleStateButton",i9=(t,e)=>{let n=e.indexOf(t.toUpperCase());return n===e.length-1?e[0]:e[n+1]},cD=(0,uh.forwardRef)(function({className:e,onCommit:n,value:o="",values:r,...i},s){let l=(0,uh.useCallback)(a=>{let u=i9(o,r);n(a,u).then(c=>{c!==!0&&console.error(c)})},[n,o,r]);return(0,dD.jsx)(jt,{...i,className:(0,uD.default)(aD,e,`${aD}-${o.toLowerCase()}`),onClick:l,ref:s,children:o})});var fD=require("@vuu-ui/vuu-utils"),pD=t=>e=>s9(t,e);function s9(t,e){let n;for(let o of t){let r=(0,fD.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 s0=require("@vuu-ui/vuu-utils"),yo=require("react"),tu=()=>(console.warn("onCommit handler has not been provided to InputCell cell renderer"),Promise.resolve(!0)),mD=({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,s0.dispatchCustomEvent)(y,"vuu-commit")):i(h)}))}else(0,s0.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 hD=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]=Me({controlled:a,default:o!=null?o:"",name:"EditableLabel",state:"value"}),[y,m]=Me({controlled:r,default:n!=null?n:!1,name:"EditableLabel",state:"editing"}),h=(0,_o.useCallback)(M=>{m(f.current=M)},[m]),b=(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]),v=({cancelEdit:M=!1,allowDeactivation:O=!1}={})=>{h(!1);let I=b.current;I!==p&&(M?g(I):b.current=p),l&&l(I,p,O,M)},w=M=>{let{value:O}=M.target;g(O),i&&i(O)},C=()=>{x()},S=()=>{f.current&&v({allowDeactivation:!0})},E=M=>{y&&M.key==="Enter"?(M.stopPropagation(),v()):M.key==="ArrowRight"||M.key==="ArrowLeft"?M.stopPropagation():M.key==="Escape"&&v({cancelEdit:!0})},T=(0,hD.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:S,onChange:w,onKeyDown:E,inputRef:d,style:{padding:0},textAlign:"left",variant:"secondary"}):(0,dh.jsx)("span",{className:`${ch}-label`,children:p})})});var gD=V(j()),yD=require("react");var a0=require("react/jsx-runtime"),l0="vuuExpandoInput",l9=()=>{},fh=(0,yD.forwardRef)(function({className:e,errorMessage:n,value:o,inputProps:r,onCommit:i=l9,...s},l){return(0,a0.jsx)("div",{className:(0,gD.default)(l0,e,{[`${l0}-error`]:n}),"data-text":o,children:(0,a0.jsx)(ph,{...s,errorMessage:n,inputProps:{...r,className:`${l0}-input`},onCommit:i,ref:l,style:{padding:0},textAlign:"left",value:o,variant:"secondary"})})});var bD=require("react/jsx-runtime");var vD=require("react/jsx-runtime");var DD=V(j()),su=require("react");var nu=require("react");var CD=require("react/jsx-runtime"),xD=()=>{},a9="vuuColumnResizerNext",mh=({onDrag:t,onDragEnd:e=xD,onDragStart:n=xD})=>{let o=(0,nu.useRef)(0),r=(0,nu.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,nu.useCallback)(l=>{window.removeEventListener("mouseup",i),window.removeEventListener("mousemove",r),e(l)},[e,r]),s=(0,nu.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,CD.jsx)("div",{className:a9,onMouseDown:s})};var Yi=require("react"),hh=({column:t,onResize:e,rootRef:n})=>{let o=(0,Yi.useRef)(0),[r,i]=(0,Yi.useState)(!1),{name:s}=t,l=(0,Yi.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,Yi.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,Yi.useCallback)(()=>{e&&(e("end",s,o.current),setTimeout(()=>{i(!1)},80))},[s,e]);return{isResizing:r,onDrag:a,onDragStart:l,onDragEnd:u}};var wD=require("@vuu-ui/vuu-utils"),SD=V(j()),ED=require("react"),Zi=(t,e,n)=>(0,ED.useMemo)(()=>{let o=(0,SD.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,wD.getColumnStyle)(t);return{className:o,style:r}},[t,e,n]);var kD=V(j()),MD=require("react");var gh=require("react/jsx-runtime"),TD="vuuColumnHeaderPill",ou=({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,MD.useCallback)(l=>{l.preventDefault(),l.stopPropagation(),o==null||o(n)},[n,o]);return(0,gh.jsxs)("div",{...i,className:(0,kD.default)(TD,e),children:[t,r?(0,gh.jsx)("span",{className:`${TD}-removeButton`,role:"button","data-icon":"cross",onClick:s}):null]})};var ru=require("react/jsx-runtime"),ID=({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,ru.jsxs)(ou,{...e,column:t,children:[(0,ru.jsx)("span",{className:"vuuGroupColumnPill-label",children:n}),r!==void 0?(0,ru.jsx)("span",{"data-icon":r}):null,typeof o=="number"?(0,ru.jsx)("span",{className:"vuuSortPosition",children:Math.abs(o)}):null]})};var Wd=require("react/jsx-runtime"),PD=({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)(ou,{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 iu=require("react/jsx-runtime"),RD=require("react"),u0="vuuTableGroupHeaderCell",u9=(t,e)=>t===e?t:e,c0=({column:t,className:e,onMoveColumn:n,onRemoveColumn:o,onResize:r,...i})=>{let s=(0,su.useRef)(null),{isResizing:l,...a}=hh({column:t,onResize:r,rootRef:s}),[u,c]=(0,su.useState)(t.columns),{className:d,style:f}=Zi(t,u0,!0),p=u.length>1?{removable:!0,onRemove:o}:void 0,g=(0,su.useCallback)((y,m)=>{c(h=>{let b=h.slice(),[x]=b.splice(y,1);if(m===-1){let v=b.concat(x);return n==null||n(v),v}else return b.splice(m,0,x),n==null||n(b),b})},[n]);return kn(()=>{c(y=>u9(y,t.columns))},[t.columns]),(0,iu.jsxs)("div",{...i,className:(0,DD.default)(d,e,{[`${u0}-pending`]:t.groupConfirmed===!1}),ref:s,role:"columnheader",style:f,children:[(0,iu.jsx)(Kd,{allowDragDrop:!0,className:`${u0}-inner`,height:24,onMoveItem:g,overflowPosition:"start",children:u.map(y=>(0,RD.createElement)(ID,{...p,column:y,key:y.key}))}),(0,iu.jsx)(ou,{column:t,removable:!0,onRemove:o}),t.resizeable!==!1?(0,iu.jsx)(mh,{...a}):null]})};var bh=require("react");var LD=V(j()),dl=require("react");var ND=require("react/jsx-runtime"),c9=t=>{if(t){let{bottom:e,left:n}=t.getBoundingClientRect();return{x:n,y:e+6}}},AD=({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:c9(o.current)}})},[e,l,s]);return(0,ND.jsx)("span",{...n,className:(0,LD.default)("vuuTable-columnMenu",t,{"vuuTable-columnMenu-open":r}),"data-icon":"more-vert",onClick:a,ref:o})};var OD=V(j());var Xr=require("react/jsx-runtime"),yh="vuuTableHeaderCell",HD=({className:t,column:e,onClick:n,onResize:o,...r})=>{var b;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}=Zi(e,yh,!0),p=(0,Xr.jsx)(AD,{column:e}),g=s?(0,Xr.jsx)(s,{className:`${yh}-label`,column:e}):(0,Xr.jsx)("div",{className:`${yh}-label`,children:(b=e.label)!=null?b:e.name}),y=i?[(0,Xr.jsx)(i,{column:e},"content")]:[],m=(0,Xr.jsx)(PD,{column:e}),h=e.align==="right"?[m,g].concat(y).concat(p):[p,g,m].concat(y);return(0,Xr.jsxs)("div",{...r,className:(0,OD.default)(d,t,{[`${yh}-resizing`]:a}),onClick:c,ref:l,role:"columnheader",style:f,children:[...h,e.resizeable!==!1?(0,Xr.jsx)(mh,{...u}):null]})};var GN=require("@vuu-ui/vuu-utils");var Zw=V(j()),Qu=require("react");var Jn=require("@vuu-ui/vuu-utils"),_D=V(j()),Ud=require("react");var FD=require("@vuu-ui/vuu-utils"),d0=require("react");var f0=require("react/jsx-runtime"),d9="vuuTableCell",BD=({column:t,columnMap:e,onClick:n,onDataEdited:o,row:r})=>{let{className:i,style:s}=Zi(t,d9),{CellRenderer:l,name:a,valueFormatter:u}=t,c=e[a],d=(0,d0.useCallback)(p=>{if(o){let g=p;return(0,FD.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,d0.useCallback)(p=>{n==null||n(p,t)},[t,n]);return(0,f0.jsx)("div",{className:i,onClick:n?f:void 0,role:"cell",style:s,children:l?(0,f0.jsx)(l,{column:t,columnMap:e,onCommit:d,row:r}):u(r[c])})};var vh=require("@vuu-ui/vuu-utils"),VD=require("react");var zD=V(j());var lu=require("react/jsx-runtime"),{IS_LEAF:f9}=vh.metadataKeys,p0="vuuTableGroupCell",$D=({column:t,onClick:e,row:n})=>{let{columns:o}=t,[r,i]=(0,vh.getGroupValueAndOffset)(o,n),{className:s,style:l}=Zi(t,p0),a=(0,VD.useCallback)(d=>{e==null||e(d,t)},[t,e]),u=n[f9],c=Array(i).fill(0).map((d,f)=>(0,lu.jsx)("span",{className:`${p0}-spacer`},f));return(0,lu.jsxs)("div",{className:(0,zD.default)(s,"vuuTableCell"),role:"cell",style:l,onClick:u?void 0:a,children:[c,u?null:(0,lu.jsx)("span",{className:`${p0}-toggle`,"data-icon":"triangle-right"}),(0,lu.jsx)("span",{children:r})]})};var xh=require("react/jsx-runtime"),WD=require("react"),{IDX:p9,IS_EXPANDED:m9,SELECTED:h9}=Jn.metadataKeys,Yr="vuuTableRow",m0=(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{[p9]:d,[m9]:f,[h9]:p}=r,g=(0,Ud.useCallback)(w=>{let C=w.shiftKey,S=w.ctrlKey||w.metaKey;s==null||s(r,C,S)},[s,r]),{True:y,First:m,Last:h}=Jn.RowSelected,b=(0,_D.default)(Yr,t,{[`${Yr}-even`]:u&&d%2===0,[`${Yr}-expanded`]:f,[`${Yr}-highlighted`]:o,[`${Yr}-selected`]:p&y,[`${Yr}-selectedStart`]:p&m,[`${Yr}-selectedEnd`]:p&h}),x={transform:`translate3d(0px, ${i}px, 0px)`},v=(0,Ud.useCallback)((w,C)=>{((0,Jn.isGroupColumn)(C)||(0,Jn.isJsonGroup)(C,r))&&(w.stopPropagation(),a==null||a(r,C))},[a,r]);return(0,WD.createElement)("div",{...c,"aria-rowindex":r[0],key:`row-${r[0]}`,role:"row",className:b,onClick:g,style:x},(0,xh.jsx)("span",{className:`${Yr}-selectionDecorator vuuStickyLeft`}),n.filter(Jn.isNotHidden).map(w=>{let C=(0,Jn.isGroupColumn)(w),S=(0,Jn.isJsonColumn)(w);return(0,xh.jsx)(C?$D:BD,{column:w,columnMap:e,onClick:C||S?v:void 0,onDataEdited:l,row:r},w.key)}),(0,xh.jsx)("span",{className:`${Yr}-selectionDecorator vuuStickyRight`}))});m0.displayName="Row";var KD=require("@vuu-ui/vuu-utils"),g9=t=>typeof t=="string",y9=(t,e)=>g9(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,KD.registerComponent)("vuu-case",y9,"data-edit-validator",{});var UD=require("@vuu-ui/vuu-utils"),b9=t=>typeof t=="string",v9="value does not match expected pattern",x9=(t,e)=>{if(typeof t.value!="string")throw Error("Pattern validation rule must provide pattern");if(b9(e)){if(e==="")return!0;{let{message:n=v9}=t;return new RegExp(t.value).test(e)||n}}else return"value must be a string"};(0,UD.registerComponent)("vuu-pattern",x9,"data-edit-validator",{});var Zr=require("@vuu-ui/vuu-utils"),GD=V(j(),1);var fl=require("react/jsx-runtime"),Gd="vuuProgressCell",C9=({column:t,columnMap:e,row:n})=>{let{type:o}=t,r=n[t.key],i=!1,s=0;if((0,Zr.isTypeDescriptor)(o)&&(0,Zr.isColumnTypeRenderer)(o.renderer)){let{associatedField:a}=o.renderer;if(a){let u=n[e[a]];if(typeof(0,Zr.isValidNumber)(r)&&(0,Zr.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,GD.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,Zr.registerComponent)("vuu.progress",C9,"cell-renderer",{description:"Progress formatter",label:"Progress formatter",serverDataType:["long","int","double"]});var Rn=require("@vuu-ui/vuu-utils"),qD=V(j(),1);var pl=require("@vuu-ui/vuu-utils"),Ch=require("react"),w9=[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||w9,{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"),S9=String.fromCharCode(11014),E9=String.fromCharCode(11015),{KEY:T9}=Rn.metadataKeys,jd="vuuBackgroundCell",au={ArrowOnly:"arrow",BackgroundOnly:"bg-only",ArrowBackground:"arrow-bg"},k9=t=>(0,Rn.isTypeDescriptor)(t)&&t.renderer&&"flashStyle"in t.renderer?t.renderer.flashStyle:au.BackgroundOnly,M9=({column:t,columnMap:e,row:n})=>{let{name:o,type:r,valueFormatter:i}=t,s=e[o],l=n[s],a=k9(r),u=jD(n[T9],l,t),c=a===au.ArrowOnly||a===au.ArrowBackground?u===Rn.UP1||u===Rn.UP2?S9:u===Rn.DOWN1||u===Rn.DOWN2?E9:null:null,d=u?" "+u:"",f=(0,qD.default)(jd,d,{[`${jd}-backgroundOnly`]:a===au.BackgroundOnly,[`${jd}-arrowOnly`]:a===au.ArrowOnly,[`${jd}-arrowBackground`]:a===au.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",M9,"cell-renderer",{description:"Change background color of cell when value changes",configEditor:"BackgroundCellConfigurationEditor",label:"Background Flash",serverDataType:["long","int","double"]});var QD=require("@vuu-ui/vuu-utils");var Sh=require("react"),qd=require("react/jsx-runtime"),I9="vuuBackgroundCellConfiguration",h0=[{label:"Background Only",value:"bg-only"},{label:"Background and Arrow",value:"arrow-bg"},{label:"Arrow Only",value:"arrow"}],[JD]=h0,P9=t=>{let{flashStyle:e}=t.type.renderer;return h0.find(n=>n.value===e)||JD},D9=({column:t,onChangeRendering:e})=>{let[n,o]=(0,Sh.useState)(P9(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:JD.value})},[t.type,e]);return(0,qd.jsxs)(ox,{children:[(0,qd.jsx)(ix,{children:"Flash Style"}),(0,qd.jsx)(Za,{className:`${I9}-flashStyle`,onSelectionChange:r,selected:n,source:h0,width:"100%"})]})};(0,QD.registerConfigurationEditor)("BackgroundCellConfigurationEditor",D9);var R9=V(j(),1),L9=require("react");var A9=require("@vuu-ui/vuu-utils"),XD=require("react/jsx-runtime");var zw=require("@vuu-ui/vuu-utils");var i$=V(j(),1);var Vw=require("@vuu-ui/vuu-utils");var K2=require("react");var F2=require("react");var be=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]?be.empty:e.length<=32?new je(e):bo.from(je.split(e,[]))}},je=class extends be{constructor(e,n=N9(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 y0(r,l,o,s);r=l+1,o++}}decompose(e,n,o,r){let i=e<=0&&n>=this.length?this:new je(YD(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 je(l,s.length+i.length));else{let a=l.length>>1;o.push(new je(l.slice(0,a)),new je(l.slice(a)))}}else o.push(i)}replace(e,n,o){if(!(o instanceof je))return super.replace(e,n,o);let r=kh(this.text,kh(o.text,YD(this.text,0,e)),n),i=this.length+o.length-(n-e);return r.length<=32?new je(r,i):bo.from(je.split(r,[]),i)}sliceString(e,n=this.length,o=`
846
+ `)),""):String(t)}var Te=require("react");var za=require("react");var VI=t=>null;var zI=t=>null;var Vx=(t,e)=>t!==null&&Object.prototype.hasOwnProperty.call(t,e),zx=t=>Vx(t,"header"),$I=t=>Vx(t,"childNodes"),Ld=(t,e)=>t&&Object.prototype.hasOwnProperty.call(t.props,e),_I=t=>{if((0,za.isValidElement)(t)){if(Ld(t,"disabled"))return t.props.disabled===!0}else if(Vx(t,"disabled"))return t.disabled===!0;return!1},WI=t=>(0,za.isValidElement)(t)&&Ld(t,"focusable")?t.props.focusable:!0,KI=(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},J5=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},UI=t=>t.type===zI||Ld(t,"data-header"),GI=t=>t.type===VI||Ld(t,"data-group"),X5=t=>Ld(t,"selectable")?t.props.selectable===!0:!GI(t)&&!UI(t),Y5=t=>{if(GI(t)){let{props:{children:e}}=t;if(typeof e!="string")return _x(e)}},Z5=(t,e)=>{let n=[];return za.Children.forEach(t,o=>{(0,za.isValidElement)(o)&&n.push(e(o))}),n},$x=(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:$x(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")},_x=t=>{if(t)return Z5(t,e=>{let{"data-id":n,disabled:o,id:r=n,"data-expanded":i,expanded:s=i}=e.props;return{childNodes:Y5(e),disabled:o,expanded:s,header:UI(e),id:r,label:J5(e),selectable:X5(e),value:e}})},e8=new Set(["/","-","."]),t8=t=>e8.has(t),Wx=(t,e)=>e.startsWith(t)&&t8(e[t.length]),n8=new Set([".","/"]);function o8(t,e){return e.startsWith(t)?n8.has(e.charAt(t.length)):!1}function Wm(t,e,n){let o;return t.map(i=>i.id===e?{...i,...n}:o8(i.id,e)&&i.childNodes?(o=Wm(i.childNodes,e,n),{...i,childNodes:o}):i)}var r8=/[.*+?^${}()|[\]\\]/g;function Km(t){return t.replace(r8,"\\$&")}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 i8=t=>t&&t.replace(/^\s+/g,""),Kx=t=>new RegExp(`(${Km(i8(t))})`,"gi"),jI=(t="",e=Kx)=>(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,s8)]);let u=(0,ho.useCallback)(c=>{r||s(c)},[r]);return[l,u,r]}function s8(t,e){return(0,ho.isValidElement)(e)?null:e}var l8={},Gi=({children:t,id:e,options:n=l8,source:o})=>{var H;let{getItemId:r}=n,[,i]=(0,Te.useState)(null),s=FI(),l=(0,Te.useRef)([]),a=(0,Te.useRef)([]),u=(0,Te.useMemo)(()=>[],[]),c=(0,Te.useRef)((H=n.filterPattern)!=null?H:""),{getFilterRegex:d=Kx,noChildrenLabel:f,itemToString:p=In}=n,g=(0,Te.useCallback)(()=>n.defaultExpanded||!1,[n.defaultExpanded]),y=(0,Te.useCallback)((k,L,D=1,B="",F=[],U=[],re=[])=>(k.forEach((Y,_,J)=>{var Ne,Oe;let le=Y.header&&n.collapsibleHeaders,X=Y.childNodes&&n.collapsibleHeaders===!1,Pe=!Y.childNodes||Y.childNodes.length===0,pe=X||Pe&&!le,Ce=B?`${B}.${_}`:`item-${_}`,me=(Ne=Y.id)!=null?Ne:r?r(_):`${e}-${Ce}`,We=pe?void 0:(Oe=Y.expanded)!=null?Oe:g(),Ue={...Y,childNodes:void 0,count:!X&&We===void 0?0:KI(Y,J,_),description:Y.description,disabled:_I(Y.value),focusable:WI(Y.value)?void 0:!1,id:me,index:L.value,expanded:We,level:D};if(F.push(Ue),U.push(Ue),re.push(k[_].value),L.value+=1,Y.childNodes){let[Ye]=y(Y.childNodes,L,D+1,Ce,[],U,re);Ue.childNodes=Ye}}),[F,re,U]),[n.collapsibleHeaders,r,e,g]),m=(0,Te.useCallback)(()=>c.current?jI(c.current,d):null,[d]),h=(0,Te.useCallback)((k,L=m(),D=[],B={value:0})=>{let F=!1;for(let U of k)F&&!zx(U)||(U.value!==null&&(L===null||L(p(U.value)))&&(D[B.value]=U,B.value+=1),F=!1,zx(U)&&U.expanded===!1?F=!0:$I(U)&&U.expanded!==!1&&U.childNodes&&h(U.childNodes,L,D,B));return D},[m,p]),b=(0,Te.useMemo)(()=>s?u:$x(o,{itemToString:p,noChildrenLabel:f})||_x(t)||[],[s,u,o,p,f,t]),[x,v,w]=(0,Te.useMemo)(()=>s?[u,u,u]:y(b,{value:0}),[u,y,s,b]);a.current=w,(0,Te.useMemo)(()=>s?u:l.current=h(x),[u,h,x,s]);let C=(0,Te.useRef)(x),S=(0,Te.useCallback)((k="")=>{typeof k=="string"&&(c.current=k,l.current=h(x),i({}))},[x,h]),E=(0,Te.useCallback)((k,L=x)=>{let D=L.find(B=>{var F;return B.id===k||((F=B==null?void 0:B.childNodes)==null?void 0:F.length)&&Wx(B.id,k)});if((D==null?void 0:D.id)===k)return v==null?void 0:v[D.index];if(D)return E(k,D.childNodes);throw Error(`useCollectionData itemById, id ${k} not found `)},[v,x]),T=(0,Te.useCallback)((k,L=x)=>{let D=L.find(F=>{var U;return F.id===k||((U=F==null?void 0:F.childNodes)==null?void 0:U.length)&&Wx(F.id,k)}),B=D?l.current.indexOf(D):-1;if(B!==-1)return B;throw Error(`useCollectionData indexOfItemById, id ${k} not found `)},[x]),M=(0,Te.useCallback)(k=>{let L=a.current.find(D=>(0,Te.isValidElement)(D.value)?D.label===k:D.value===k);if(L)return L;throw Error("useCollectionData toCollectionItem, item not found ")},[]),O=(0,Te.useCallback)(k=>{if(k===null)return null;if(Array.isArray(k)){let L=[];for(let D of k){let B=M(D);L.push(B)}return L}else if(k!==void 0)return M(k)},[M]),I=(0,Te.useCallback)(k=>{if(k===void 0)return;let L=O(k);return Array.isArray(L)?L.map(D=>D.id):L?[L.id]:[]},[O]),P=(0,Te.useCallback)(k=>{let L=D=>{let B=a.current.find(F=>(0,Te.isValidElement)(F.value)?F.label===D:F.value!==null&&p(F.value)===D);if(B)return B};if(k===null)return null;if(Array.isArray(k)){let D=[];for(let B of k){let F=L(B);F&&D.push(F)}return D}else if(k!==void 0)return L(k)},[p]),A=(0,Te.useCallback)(k=>{for(let L of C.current)if(k===L.value)return L.id;throw Error("useCollectionData itemToId, item not found")},[]),N=(0,Te.useCallback)(k=>{C.current=Wm(C.current,k.id,{expanded:!1}),l.current=h(C.current),i({})},[h]),R=(0,Te.useCallback)(k=>{C.current=Wm(C.current,k.id,{expanded:!0}),l.current=h(C.current),i({})},[h]);return s||{collapseGroupItem:N,data:l.current,expandGroupItem:R,setFilterPattern:S,indexOfItemById:T,itemById:E,itemToId:A,toCollectionItem:M,itemToCollectionItem:O,itemToCollectionItemId:I,stringToCollectionItem:P}};var ji=require("react");var QI=["width"],JI=["height"],nl=new Map,XI=(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 qI=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=XI(n,{height:s,width:l,contentHeight:a,contentWidth:u},p);y!==g&&(f=!0,d[p]=y)}f&&c&&c(d)}}});function Gr(t,e,n,o=!1){let r=(0,ji.useRef)(e),i=t.current,s=(0,ji.useCallback)(l=>{let{width:a,height:u}=l.getBoundingClientRect(),{clientWidth:c,clientHeight:d}=l;return r.current.reduce((f,p)=>(f[p]=XI(l,{width:a,height:u,contentHeight:d,contentWidth:c},p),f),{})},[]);(0,ji.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,qI.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)&&(qI.unobserve(i),nl.delete(i))}},[s,i]),(0,ji.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 YI=t=>t===void 0||t==="default"||t==="deselectable",_a=t=>t==="multiple"||(t==null?void 0:t.startsWith("extended"))===!0,Ux=t=>t==="none";var jr=t=>t!==void 0&&t.length>0,ZI=t=>t[0];var Wa=require("react"),a8=t=>typeof t!="function",eP=t=>{let[e,n]=(0,Wa.useState)(t),o=(0,Wa.useRef)(e),r=(0,Wa.useCallback)(i=>{if(a8(i))o.current=i,n(i);else{let{current:s}=o;o.current=i(s),n(o.current)}},[]);return[o,r]};var Gx=V(j());var qr=require("react");var qn=require("react");var Nd=require("react"),u8=[],tP=({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())}]:u8;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 c8=[],nP=({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)(H=>{g.current=H},[]),[m,h]=Me({controlled:r,default:!!t,name:"useDropdown",state:"isOpen"}),[b,x]=(0,qn.useState)({width:(R=c!=null?c:f)!=null?R:0}),v=(0,qn.useCallback)(()=>{h(!0),i==null||i(!0)},[i,h]),w=(0,qn.useCallback)(H=>{h(!1),i==null||i(!1,H)},[i,h]);tP({popperRef:g,rootRef:d,isOpen:m,onClose:w});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]),S=(0,qn.useCallback)(H=>{if(["Enter"," "].indexOf(H.key)===-1){let k=!m;h(k),i==null||i(k)}},[m,h,i]),E=(0,qn.useCallback)(H=>{H.key==="Escape"&&m?(H.key==="Escape"&&(H.stopPropagation(),H.preventDefault()),w(H.key)):l.includes(H.key)&&!m?(H.preventDefault(),v()):s==null||s(H)},[w,m,s,l,v]),T=(0,qn.useCallback)(H=>{var k;m&&((k=g.current)!=null&&k.contains(H.relatedTarget)||w("blur"))},[w,m]),M=n!=null?n:!1;Gr(d,M?QI:c8,x,M);let I=`${o}-dropdown`,P={"aria-expanded":m,"aria-owns":m?I:void 0,id:`${o}-control`,onClick:e||a?void 0:S,onFocus:C,role:"listbox",onBlur:T,onKeyDown:e?void 0:E,style:{width:M?void 0:f}},A={id:I,width:b.width},N=Le(y,u.ref);return{componentProps:A,popupComponentRef:N,isOpen:m,label:"Dropdown Button",triggerProps:P}};var Od=require("react/jsx-runtime"),Gm="vuuDropdown",Ka=(0,qr.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},b){let x=(0,qr.useRef)(null),v=(0,Gx.default)(Gm,r,{[`${Gm}-fullWidth`]:l,[`${Gm}-disabled`]:s}),[w,C]=qr.Children.toArray(o),S=Ie(a),{componentProps:E,isOpen:T,popupComponentRef:M,triggerProps:O}=nP({ariaLabelledBy:n,defaultIsOpen:i,disabled:s,fullWidth:l,id:S,isOpen:u,onOpenChange:d,onKeyDown:c,openKeys:f,openOnFocus:p,popupComponent:C,popupWidth:y,rootRef:x,width:m}),I=()=>{let{id:N,role:R,...H}=O,{id:k=N,role:L=R,...D}=w.props;return(0,qr.cloneElement)(w,Ad(D,{...H,id:k,role:L}))},P=()=>{let{id:N,width:R,...H}=E,{className:k,id:L=N,width:D,...B}=C.props;return(0,qr.cloneElement)(C,{...B,...H,className:(0,Gx.default)(k,`${Gm}-popup-component`),id:L,ref:M,width:g.endsWith("full-width")?"auto":D!=null?D:R})},A=Le(x,b);return(0,Od.jsxs)("div",{...h,className:v,id:a,ref:A,children:[I(),T&&(0,Od.jsx)(Fo,{children:(0,Od.jsx)(Js,{...e,anchorElement:x,placement:g,children:P()})})]})});var oP=V(j()),rP=require("react");var Ua=require("react/jsx-runtime"),Hd="vuuDropdownButton",iP=(0,rP.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,Ua.jsx)(jt,{className:(0,oP.default)(Hd,{[`${Hd}-fullWidth`]:a},n),disabled:o,variant:"secondary",...f,ref:p,children:(0,Ua.jsxs)("div",{className:`${Hd}-content`,children:[(0,Ua.jsx)("span",{"aria-hidden":e?"true":void 0,...d,className:`${Hd}-buttonLabel`,id:l,role:"option",children:s}),(0,Ua.jsx)("span",{className:`${Hd}-buttonIcon`,"data-icon":r,"aria-hidden":"true"})]})})});var Jr=require("react");function d8(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",sP="ArrowLeft",lP="ArrowRight",jx="Enter";var qx="Home",jm="End",Qx="PageUp",qm="PageDown",aP=" ",f8=new Set(["Enter","Delete"," "]),p8=new Set(["Tab"]),m8=new Set(["ArrowRight","ArrowLeft"]),uP=new Set([qx,jm,Qx,qm,Bd,Fd]),h8=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),g8=d8(f8,uP,m8,h8,p8),Qm=t=>g8.has(t.key)?!1:t.key.length===1&&!t.ctrlKey&&!t.metaKey&&!t.altKey,cP=({key:t})=>uP.has(t);var Jx=require("react");var y8={},b8=t=>Array.isArray(t.childNodes),v8=t=>!0,x8=t=>t.closest("[data-toggle],[aria-expanded]").dataset.toggle==="true",dP=({collapsibleHeaders:t,collectionHook:e,highlightedIdx:n,onToggle:o})=>{let r=(0,Jx.useCallback)(l=>{if(l.key===lP||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===sP||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,Jx.useCallback)(l=>{console.log(`useCollapsibleGroups idx=${n}`);let a=e.data[n];console.log(l.target,l.currentTarget),a&&b8(a)&&(!v8(a)||x8(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:y8};function C8(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 w8=t=>t.closest("[data-index],[aria-posinset]");var fP=t=>C8(w8(t));var Jm=require("react"),S8={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:S8,[r,n])};var pn=require("react");var ol=require("@vuu-ui/vuu-utils"),Yx=-2;function pP(t,e,n){return e===Fd||e===jm?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var Xx=t=>{var n;let e=Array.isArray(t)?ZI(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},E8=(t,e,n,o)=>t===jm?o:t===qx?-1:e!==-1?e:n,T8=(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}},k8=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)})})},M8=t=>t!==void 0,mP=(t,e)=>{let n=(0,ol.getElementByDataIndex)(t,e);return M8(n)},hP=({containerRef:t,defaultHighlightedIndex:e=-1,disableHighlightOnFocus:n,highlightedIndex:o,itemCount:r,onHighlight:i,onKeyboardNavigation:s,restoreLastFocus:l,selected:a,viewportItemCount:u})=>{let c=(0,pn.useRef)(-1),[,d]=(0,pn.useState)({}),[f,p,g]=Me({controlled:o,default:e,name:"UseKeyboardNavigation"}),y=(0,pn.useCallback)((T,M=!1)=>{i==null||i(T),p(T),M&&(c.current=T)},[i,p]),m=(0,pn.useCallback)(async(T,M)=>{let O=(0,ol.getElementByDataIndex)(t.current,M,!0),I;if(O){let{current:P}=t;O&&P&&(I=T===qm?T8(P,O,r,M):await k8(P,O,M))}return I!=null?I:M},[t,r]),h=(0,pn.useCallback)((T=Bd,M=T===Bd?-1:r)=>{if(r===0)return-1;{let O=T==="End",I=T==="Home",P=O||I||M===-1?-1:Xx(a),A=E8(T,M,P,r),N=pP(r,T,A),{current:R}=t;if(N===0&&T===Fd&&R&&!mP(R,0))return M;for(;((T===Bd||I)&&N<r||(T===Fd||O)&&N>0)&&R&&!mP(R,N);)N=pP(r,T,N);return N}},[t,r,a]),b=(0,pn.useRef)(!1),x=(0,pn.useRef)(!1),v=T=>x.current=T,w=(0,pn.useCallback)(()=>{if(x.current)x.current=!1;else if(b.current=!0,r===0)y(Yx);else if(f!==-1)d({});else if(l)if(c.current!==-1)y(c.current);else{let T=Xx(a);y(T!==-1?T:0)}else if(jr(a)){let T=Xx(a);y(T)}else n!==!0&&y(h())},[n,f,r,h,l,a,y]),C=(0,pn.useCallback)(async T=>{let M=T.key===qm||T.key===Qx?await m(T.key,f):h(T.key,f);M!==f&&y(M,!0),s==null||s(T,M)},[f,h,m,s,y]),S=(0,pn.useCallback)(T=>{r>0&&cP(T)?(T.preventDefault(),T.stopPropagation(),b.current=!0,C(T)):Qm(T)&&(b.current=!0)},[r,C]),E=(0,pn.useMemo)(()=>({onBlur:T=>{let M=T.target.closest(".vuuList"),O=T.relatedTarget;M&&!(M!=null&&M.contains(O))&&(b.current=!1,p(-1),l||(c.current=-1))},onFocus:w,onKeyDown:S,onMouseDownCapture:()=>{b.current=!1,v(!0)},onMouseMove:()=>{b.current&&(b.current=!1)},onMouseLeave:()=>{b.current=!1,v(!1),y(-1)}}),[w,S,l,p,y]);return{focusVisible:b.current?f:-1,controlledHighlighting:g,highlightedIndex:f,setHighlightedIndex:y,keyboardNavigation:b,containerProps:E,setIgnoreFocus:v}};var zo=require("@vuu-ui/vuu-utils"),go=require("react");var I8=["Enter"," "];var gP=({containerRef:t,defaultSelected:e,disableSelection:n=!1,highlightedIndex:o,itemQuery:r,onClick:i,onSelect:s,onSelectionChange:l,selected:a,selectionStrategy:u,selectionKeys:c=I8,tabToSelect:d})=>{let f=u==="deselectable",p=u==="multiple",g=u==="extended",y=(0,go.useRef)(-1),m=(0,go.useCallback)(I=>c.includes(I.key),[c]),[h,b]=$a({controlled:a,default:e!=null?e:[],name:"UseSelection",state:"selected"}),x=(0,go.useCallback)(I=>h.includes(I),[h]),v=(0,go.useCallback)(I=>x(I)?[]:[I],[x]),w=(0,go.useCallback)(I=>{let P=x(I)?h.filter(A=>A!==I):h.concat(I);return P.sort(),P},[x,h]),C=(0,go.useCallback)((I,P)=>{let A=P?h:[],[N]=h.slice(-1),R=N?(0,zo.getElementDataIndex)(document.getElementById(N)):0,H=Math.min(I,R),k=Math.max(I,R),L=t.current,B=Array.from(L.querySelectorAll(r)).slice(H,k+1).map(U=>U.id),F=[...new Set([...A,...B])];return F.sort(),F},[t,r,h]),S=(0,go.useCallback)((I,P,A,N)=>{let{current:R}=t,{id:H}=(0,zo.getElementByDataIndex)(R,P,!0),k;p?k=w(H):g?N&&!A?k=w(H):A?k=C(P,N):k=[H]:f?k=v(H):k=[H],k!==h&&b(k),s==null||s(I,H),k!==h&&l&&l(I,k)},[t,p,g,f,h,s,w,C,v,b,l]),E=(0,go.useCallback)(I=>{let{current:P}=t,A=(0,zo.getElementByDataIndex)(P,o);(0,zo.isSelectableElement)(A)&&(m(I)||d&&I.key==="Tab")&&(I.key!=="Tab"&&I.preventDefault(),S(I,o,!1,I.ctrlKey||I.metaKey),g&&(y.current=o))},[o,t,m,d,S,g]),T=(0,go.useCallback)((I,P)=>{if(g&&I.shiftKey){let{current:A}=t,N=(0,zo.getElementByDataIndex)(A,P);(0,zo.isSelectableElement)(N)&&S(I,P,!0)}},[g,t,S]),M=(0,go.useCallback)(I=>{let{current:P}=t,A=(0,zo.getElementByDataIndex)(P,o);!n&&(0,zo.isSelectableElement)(A)&&(I.preventDefault(),I.stopPropagation(),S(I,o,I.shiftKey,I.ctrlKey||I.metaKey),g&&(y.current=o)),i==null||i(I)},[t,o,n,i,S,g]);return{listHandlers:Ux(u)?{onClick:i}:{onClick:M,onKeyDown:E,onKeyboardNavigation:T},selected:h,setSelected:b}};var rl=require("react");var yP=({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===aP)&&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 bP=["height"],P8=["height","scrollHeight"],D8=[],vP={containerOnly:[P8,D8],withContent:[bP,bP]},R8=t=>t?vP.containerOnly:vP.withContent,xP={current:null},L8=(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}}},CP=({containerRef:t,contentRef:e=xP,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:b}=s.current,x=h.ariaExpanded&&h.firstChild?h.firstChild:h,v=r?36:0,w=L8(x,m),C=x.offsetHeight,{scrollTop:S}=t.current,E=S+v,T=E+b-v;if(w+C>T||w<E){let M=w+C>T?S+(w+C)-T:w-v;l(M)}}}},[t,e,l,r]);yd(()=>{let{height:y,contentHeight:m}=s.current,h=o[n];if(m>y&&h){let[b]=o,[x]=o.slice(-1);h===b?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]=R8(e===xP);return Gr(t,p,d,!0),Gr(e,g,f,!0),{isScrolling:i,scrollIntoView:c}};var Ga=require("react/jsx-runtime"),A8=rt("saltHighlighter"),wP=t=>{let{matchPattern:e,text:n=""}=t,o=typeof e=="string"?new RegExp(`(${Km(e)})`,"gi"):e;return o===void 0?(0,Ga.jsx)(Ga.Fragment,{children:n}):(0,Ga.jsx)("span",{children:n.split(o).map((r,i)=>r.match(o)?(0,Ga.jsx)("strong",{className:A8("highlight"),children:r},`${i}-${r}`):r)})};var Zx=require("react"),e0=V(j());var EP=V(j());var TP=require("react/jsx-runtime"),SP="vuuCheckboxIcon",Vd=({checked:t=!1,disabled:e=!1,...n})=>(0,TP.jsx)("span",{...n,className:(0,EP.default)(SP,{[`${SP}-checked-${e?"disabled":"enabled"}`]:t})});var il=require("react/jsx-runtime"),zd="vuuListItem",Ym=(0,Zx.forwardRef)(function({height:e,...n},o){return(0,il.jsx)("div",{...n,"aria-hidden":!0,className:(0,e0.default)(zd,`${zd}-proxy`),ref:o,style:{height:e}})}),qi=(0,Zx.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,e0.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)(wP,{matchPattern:l,text:a||e})]})});var ih=V(j()),Dn=require("react");var fr=require("react");var ja=require("react");var kP=require("@vuu-ui/vuu-utils"),MP=require("react");var F8=require("react/jsx-runtime"),N8={isDragSource:void 0,isDropTarget:void 0,register:()=>{}},O8=()=>console.log("have you forgotten to provide a DragDrop Provider ?"),H8=(0,ja.createContext)({registerDragDropParty:O8});var IP=t=>{var s,l;let{dragSources:e,dropTargets:n,onDragOut:o,onEndOfDragOperation:r,registerDragDropParty:i}=(0,ja.useContext)(H8);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 N8};var jP=require("@vuu-ui/vuu-utils"),ye=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 PP=V(j()),sl=require("react");var eh=require("react/jsx-runtime"),B8=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=Le(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,PP.default)("vuuDraggable",...B8(e)),ref:c,onTransitionEnd:r,style:i})})})}),t0=t=>{let e=document.createElement("div");return e.className="vuuDraggable-spacer",t&&e.addEventListener("transitionend",()=>{t.current=!1}),e},DP=()=>{let t=document.createElement("div");return t.className="vuuDraggable-dropIndicatorPosition",t},RP=t=>{let e=document.createElement("div");return e.className="vuuDraggable-dropIndicator",t&&e.addEventListener("transitionend",()=>{t.current=!1}),e};var V8=["left","right"],z8=["top","bottom"],nh=":not(.wrapped)",LP=':not([aria-hidden="true"])',AP=t=>{let e=t.cloneNode(!0);return e.removeAttribute("id"),e.dataset.index="-1",e},$8=(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"?V8:z8,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]},_8={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=>_8[t],NP=(t,e)=>{let n=t.find(o=>o.id===e);if(n)return n},OP=(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]=$8(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},Qa=(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},n0=(t,e)=>{let n=Qa(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=Qa(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 HP(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 FP=(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},BP=(t,e)=>{let{SCROLL_SIZE:n,CLIENT_SIZE:o}=Pn(e),{[n]:r,[o]:i}=t;return r>i};var Qi=require("react");var VP=({containerRef:t,onScrollingStopped:e,orientation:n="vertical"})=>{let o=(0,Qi.useRef)(null),r=(0,Qi.useRef)(!1),i=(0,Qi.useRef)(0),s=(0,Qi.useRef)("fwd"),l=(0,Qi.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,Qi.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]:b}=f,x=u==="fwd"?h-b-m:m,v=Math.min(x,d);u==="fwd"?(s.current="fwd",f[p]=i.current=m+v):(s.current="bwd",f[p]=i.current=m-v),v===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 Ja=require("react"),zP=({selected:t,viewportRange:e})=>{let n=(0,Ja.useRef)();n.current=e;let o=(0,Ja.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,Ja.useCallback)(()=>{},[]),i=(0,Ja.useCallback)(()=>{},[]);return{beginDrag:o,drag:r,drop:i}};var at=require("react");var $d=require("react");var $P=()=>{let t=(0,$d.useMemo)(()=>DP(),[]),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 WP=require("react/jsx-runtime"),W8=':not([data-overflowed="true"])',K8=':not([aria-hidden="true"])',_P=({onDrop:t,orientation:e="horizontal",containerRef:n,itemQuery:o="*",selected:r,viewportRange:i})=>{let s=(0,at.useRef)(),l=(0,at.useRef)(null),a=(0,at.useRef)(null),u=(0,at.useRef)(""),c=(0,at.useRef)(!1),d=(0,at.useRef)(-1),f=(0,at.useRef)([]),p=(0,at.useRef)(!1),[g,y]=(0,at.useState)(!1),[m,h]=(0,at.useState)(),{clearSpacer:b,positionDropIndicator:x}=$P(),v=(0,at.useRef)(),w=`:is(${o}${W8}${K8},[data-overflow-indicator])`,C=N=>f.current.findIndex(R=>R.id===N.id),S=(N,R,H)=>{N.start+=R,N.mid+=R,N.end+=R,typeof H=="number"&&(N.currentIndex+=H)},E=(0,at.useRef)();E.current=i;let T=(0,at.useCallback)(()=>{b()},[b]),M=(0,at.useCallback)((N,R,H)=>{let{current:k}=n,{current:L}=v;if(k&&L){f.current=qa(k,e,w,E.current);let{size:D}=L,F=d.current+D/2,{current:U}=f,re=ll(U,F,D,"fwd");re&&x(H&&N==="fwd"?U[U.length-1]:re,"start")}},[n,x,w,e]),O=(0,at.useCallback)(N=>{N.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&&N){let{SCROLL_SIZE:H,CLIENT_SIZE:k}=Pn(e),{id:L}=N,{[H]:D,[k]:B}=R;c.current=D>B;let F=f.current=qa(R,e,w,i),U=NP(F,L);if(U&&R){let re=C(U);OP(F,re),v.current=U;let{current:Y}=E;if(Y!=null&&Y.atEnd)for(let me=0;me<F.length;me++)S(F[me],U.size);for(let me=re;me<F.length;me++)S(F[me],-U.size,-1);let[_,J]=U.isLast?[F[F.length-1],"end"]:[F[re],"start"];a.current=_,u.current=J;let le=x(_,J),{top:X,left:Pe,width:pe}=le.getBoundingClientRect(),Ce={top:U.isLast?Y!=null&&Y.atEnd&&!Y.atStart?X+U.size-2:X-2:X-U.size-2,left:Pe,width:pe,height:2};h((0,WP.jsx)(th,{wrapperClassName:"dropIndicatorContainer",style:Ce,ref:l,element:RP()}))}}},[r,n,e,w,i,x]),I=(0,at.useCallback)((N,R)=>{let{current:H}=a,{current:k}=v;if(k&&n.current){let L=e==="horizontal"?"left":"top";d.current=N;let{current:D}=f,B=ll(D,N,k.size,R);if(B&&B.index!==(H==null?void 0:H.index)){if(B.isOverflowIndicator)y(p.current=!0);else if(l.current){if(C(B)===D.length-1){let U=D[D.length-1],Y=x(U,"start").getBoundingClientRect();l.current.style[L]=`${Y.top}px`}else{let re=x(B,"start").getBoundingClientRect();l.current.style[L]=`${re.top}px`}y(p.current=!1)}a.current=B,s.current=R}}},[n,e,x]),P=(0,at.useCallback)(()=>{b();let{current:N}=v,{current:R}=a,{current:H}=u,{current:k}=E;if(N&&k&&R){let{index:L}=N,D=H==="start",{index:B,currentIndex:F}=R;a.current=null,s.current=void 0,p.current?t(L,-1,{fromIndex:L,toIndex:-1}):L<B?t(L,D?F:F+1,{fromIndex:L,toIndex:D?F:F+1}):t(L,D?B:B+1,{fromIndex:L,toIndex:D?B:B+1}),h(void 0)}y(!1)},[b,t]),A=(0,at.useCallback)(()=>{},[]);return{beginDrag:O,drag:I,drop:P,dropIndicator:m,handleScrollStart:T,handleScrollStop:M,releaseDrag:A,revealOverflowedItems:g}};var Tt=require("react");var $o=require("react");var KP=(t="horizontal")=>{let e=(0,$o.useRef)(0),n=(0,$o.useRef)(!1),o=(0,$o.useMemo)(()=>[t0(n),t0()],[]),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"&&n0(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"&&n0(u,p)},[r,s,i,t,o]);return{displaceItem:l,displaceLastItem:a,clearSpacers:i}};var o0=require("@vuu-ui/vuu-utils");var UP=({onDrop:t,orientation:e="horizontal",containerRef:n,itemQuery:o="*",selected:r,viewportRange:i})=>{let s=(0,Tt.useRef)(),l=(0,Tt.useRef)(!1),a=(0,Tt.useRef)(-1),u=(0,Tt.useRef)([]),c=(0,Tt.useRef)(!1),[d,f]=(0,Tt.useState)(!1),{clearSpacers:p,displaceItem:g,displaceLastItem:y}=KP(e),m=(0,Tt.useRef)(),h=`:is(${o}${nh}${LP},.vuuOverflowContainer-OverflowIndicator)`,b=I=>u.current.findIndex(P=>P.id===I.id),x=(0,Tt.useRef)();x.current=i;let v=(0,Tt.useCallback)(()=>{p()},[p]),w=(0,Tt.useCallback)((I,P,A)=>{let{current:N}=n,{current:R}=m;if(N&&R){u.current=qa(N,e,h,x.current),I==="fwd"?u.current.push(R):u.current.unshift(R);let{size:H}=R,L=a.current+H/2,{current:D}=u,B=ll(D,L,H,"fwd");if(B){let U=b(B),re=D[U];A&&I==="fwd"?y(D,D[D.length-1],H,!1,"static"):g(D,re,H,!0,"static")}}},[n,g,y,h,e]),C=(0,Tt.useCallback)(I=>{I.ariaSelected&&Array.isArray(r)&&r.length>1&&console.log("its a selected element, and we have a multi select");let{current:P}=n;if(P&&I){let A=P.contains(I),{SCROLL_SIZE:N,CLIENT_SIZE:R}=Pn(e),{id:H}=I,{[N]:k,[R]:L}=P;l.current=k>L;let D=u.current=qa(P,e,h,i,H);if(console.log({dropTargets:D}),A){let B=Qa(D),F=D[B];F&&P&&(m.current=F,(F.isLast?y:g)(D,F,F.size,!1,"static"))}else{let{top:B,height:F}=I.getBoundingClientRect(),U=ll(D,B,F,"fwd"),re=D.indexOf(U),{start:Y,end:_,mid:J}=U,le=m.current={end:_,mid:J,start:Y,isDraggedItem:!0,isExternal:!0,size:F},X=D.indexOf(U);D.splice(X,0,le);for(let pe=re+1;pe<D.length;pe++){let Ce=D[pe];Ce.mid+=F,Ce.end+=F,Ce.start+=F}(U.isLast?y:g)(D,U,U.size,!0,"static")}}},[n,g,y,h,e,r,i]),[S,E]=(0,Tt.useMemo)(()=>{let I=!1;return[N=>{if(!I){I=!0;let R=N.element.querySelector(".vuuPopupMenu");R&&(0,o0.dispatchMouseEvent)(R,"click")}},N=>{if(I){I=!1;let R=N.element.querySelector(".vuuPopupMenu");R&&(0,o0.dispatchMouseEvent)(R,"click")}}]},[]),T=(0,Tt.useCallback)((I,P)=>{let{current:A}=m;if(A&&n.current){a.current=I;let{current:N}=u,R=ll(N,I,A.size,P);if(R&&!R.isDraggedItem)if(R.isOverflowIndicator)f(c.current=!0),S(R);else{let{size:H}=A;(b(R)===N.length-1?y:g)(N,R,H,!0,P);let D=N.at(-1);E(D),f(c.current=!1)}s.current=P}},[n,g,y,E,S]),M=(0,Tt.useCallback)(()=>{var N;p();let{current:I}=u,P=Qa(I),A=I[P];if(A)if(s.current=void 0,c.current)t(A.index,-1,{fromIndex:A.index,toIndex:-1,isExternal:A.isExternal});else{let R=Qa(I,!0);t(A.index,R,{fromIndex:A.index,toIndex:R,isExternal:A.isExternal})}if(f(!1),n.current){let R=(N=n.current)==null?void 0:N.scrollTop;P<I.length&&(n.current.scrollTop=R)}},[p,n,t]),O=(0,Tt.useCallback)(()=>{p(!0)},[p]);return{beginDrag:C,drag:T,drop:M,handleScrollStart:v,handleScrollStop:w,releaseDrag:O,revealOverflowedItems:d}};var qP=require("react/jsx-runtime"),U8={beginDrag:()=>{},drag:()=>{},draggableRef:{current:null},drop:()=>{},isDragging:!1,isScrolling:!1,handleScrollStart:()=>{},handleScrollStop:()=>{},revealOverflowedItems:!1},GP={start:0,end:1e3,contraStart:0,contraEnd:1e3},G8=()=>U8,j8=3,q8=(t,e)=>t.closest(e),Q8=(t,e)=>{let n=`:is(${e}${nh},.vuuOverflowContainer-OverflowIndicator)`,r=Array.from(t.querySelectorAll(n)).pop();return[r,QP(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,ye.useRef)({start:0,end:0,contraStart:0,contraEnd:0}),[f,p]=(0,ye.useState)({draggable:void 0,draggedItemIndex:-1,isDragging:!1}),g=(0,ye.useRef)(null),y=(0,ye.useRef)(null),m=(0,ye.useRef)(!1),h=(0,ye.useRef)({x:0,y:0}),b=(0,ye.useRef)({x:0,y:0}),x=(0,ye.useRef)(null),v=(0,ye.useRef)(null),w=(0,ye.useRef)(-1),C=(0,ye.useRef)(-1),S=(0,ye.useRef)(),{isDragSource:E,isDropTarget:T,onDragOut:M,onEndOfDragOperation:O,register:I}=IP(r),P=(0,ye.useRef)(),A=(0,ye.useRef)(),N=(0,ye.useCallback)(()=>{let{current:te}=P,{current:oe}=A;te&&oe&&(document.addEventListener("mousemove",te,!1),document.addEventListener("mouseup",oe,!1))},[]),R=(0,ye.useCallback)(()=>{let{current:te}=P,{current:oe}=A;te&&oe&&(document.removeEventListener("mousemove",te,!1),document.removeEventListener("mouseup",oe,!1))},[]),H=(0,ye.useCallback)((te,oe)=>{let{current:ce}=e;if(ce){let[he,z]=Q8(ce,i),{CONTRA:Q,CONTRA_END:we,DIMENSION:He,END:yt,START:$t}=Pn(u),dt=oe[He],{[$t]:bt,[yt]:xn}=he.getBoundingClientRect();d.current.start=te[$t],d.current.end=z?Math.max(bt,te.right-dt):m.current?te[$t]+te[He]-dt:xn-dt,d.current.contraStart=te[Q],d.current.contraEnd=te[we]}},[e,i,u]),k=(0,ye.useCallback)(()=>{var he;let{current:te}=x;x.current=null;let{current:oe}=C,ce=(he=e.current)==null?void 0:he.querySelector(`${i}[data-index="${oe}"]`);ce&&ce.classList.remove("vuuDropTarget-settling"),C.current=-1,a==null||a(oe),p(z=>({...z,draggable:void 0})),te&&(0,jP.dispatchCustomEvent)(te,"vuu-dropped")},[e,i,a]),L=(0,ye.useCallback)(te=>{if(v.current&&g.current){let{mouseOffset:oe}=g.current,{POS:ce,SCROLL_POS:he,SCROLL_SIZE:z,CLIENT_SIZE:Q}=Pn(u),{[he]:we,[z]:He,[Q]:yt}=v.current,$t=He-yt,dt=we<$t,bt=d.current.end,xn=we>0&&te-oe[ce]<=d.current.start,Cn=dt&&te-oe[ce]>=bt;return xn?"bwd":Cn?"fwd":""}},[v,u]),D=t===!0||t==="natural-movement"?UP:t==="drop-indicator"?_P:t==="drag-copy"?zP:G8,B=(0,ye.useCallback)((te,oe,ce)=>{var he;(he=S.current)==null||he.call(S,te,oe,ce)},[]),{isScrolling:F,startScrolling:U,stopScrolling:re}=VP({containerRef:v,onScrollingStopped:B,orientation:u}),Y=(0,ye.useCallback)((te,oe,ce)=>{var he;w.current=oe,ce.isExternal?l==null||l(te,oe,{...ce,payload:(he=g.current)==null?void 0:he.payload}):l==null||l(te,oe,ce),C.current=oe,r&&(O==null||O(r)),g.current=null},[r,l,O]),{beginDrag:_,drag:J,drop:le,handleScrollStart:X,handleScrollStop:Pe,releaseDrag:pe,...Ce}=D({...c,containerRef:e,isDragSource:E,isDropTarget:T,itemQuery:i,onDrop:Y,orientation:u});S.current=Pe;let me=(0,ye.useCallback)((te,oe)=>{let{CONTRA_POS:ce}=Pn(u),he=h.current[ce],z=E?Math.abs(he-oe):0;if(t===!0&&!E&&!T)return!1;let Q=T===!1||z-te>5;if(g.current&&Q)return M!=null&&M(r,g.current)&&(R(),pe==null||pe(),g.current=null),d.current=GP,!0},[t,r,E,T,M,u,pe,R]),We=(0,ye.useCallback)(te=>{let{CLIENT_POS:oe,CONTRA_CLIENT_POS:ce,POS:he}=Pn(u),{clientX:z,clientY:Q}=te,{[oe]:we,[ce]:He}=te,yt=h.current[he],$t=Math.abs(yt-we),{current:dt}=g;if(!me($t,He)&&(h.current.x=z,h.current.y=Q,dt)){let{draggableElement:bt,mouseOffset:xn}=dt;if(d.current===GP&&bt){let Cn=h.current.x-xn.x,zn=h.current.y-xn.y;bt.style.top=`${zn}px`,bt.style.left=`${Cn}px`}else if($t>0&&bt){let Cn=yt<we?"fwd":"bwd",zn=L(we),Jl=h.current[he]-xn[he];if(zn&&m.current&&!F.current?(X==null||X(),U(zn,1)):!zn&&F.current&&re(),!F.current){let gi=Math.round(Math.max(d.current.start,Math.min(d.current.end,Jl))),Xl=u==="horizontal"?"left":"top";bt.style[Xl]=`${gi}px`,J(gi,Cn)}}}},[J,me,L,X,F,u,U,re]),Ue=(0,ye.useCallback)(()=>{R(),g.current&&(x.current=g.current.draggableElement),le(),p(te=>({...te,draggedItemIndex:-1,isDragging:!1}))},[le,R]);P.current=We,A.current=Ue;let Ne=(0,ye.useCallback)(te=>{g.current=te;let{draggableElement:oe,mouseOffset:ce}=te,{current:he}=e;if(he&&oe){let z=he.getBoundingClientRect(),Q=oe.getBoundingClientRect();return H(z,Q),h.current.x=Q.left+ce.x,h.current.y=Q.top+ce.y,_(oe),N(),!0}else return!1},[N,_,e,H]),Oe=(0,ye.useCallback)(te=>{let{target:oe}=te,ce=q8(oe,i),{current:he}=e;if(he&&ce){let z=FP(he,i);m.current=BP(z,u),v.current=z;let Q=he.getBoundingClientRect(),we=ce.getBoundingClientRect(),He=g.current=new Zm(te,ce);H(Q,we),_(ce);let{dataset:{index:yt="-1"}}=ce;p({isDragging:!0,draggable:(0,qP.jsx)(th,{element:AP(ce),onDropped:k,onTransitionEnd:k,ref:He.setDraggable,style:HP(we,Q),wrapperClassName:n}),draggedItemIndex:parseInt(yt)}),s==null||s(He),N()}},[N,_,e,n,i,s,u,H,k]),Ye=(0,ye.useCallback)(te=>{let{CLIENT_POS:oe,POS:ce}=Pn(u),{[oe]:he}=te;Math.abs(he-b.current[ce])>j8&&e.current&&(y.current&&(window.clearTimeout(y.current),y.current=null),document.removeEventListener("mousemove",Ye),document.removeEventListener("mouseup",At,!1),Oe(te))},[e,_,u]),At=(0,ye.useCallback)(()=>{y.current&&(window.clearTimeout(y.current),y.current=null),document.removeEventListener("mousemove",Ye,!1),document.removeEventListener("mouseup",At,!1)},[Ye]),sn=(0,ye.useCallback)(te=>{let{current:oe}=e;if(te.stopPropagation(),oe&&!te.defaultPrevented){let{clientX:ce,clientY:he}=te;h.current.x=b.current.x=ce,h.current.y=b.current.y=he,document.addEventListener("mousemove",Ye,!1),document.addEventListener("mouseup",At,!1),te.persist(),y.current=window.setTimeout(()=>{document.removeEventListener("mousemove",Ye,!1),document.removeEventListener("mouseup",At,!1),Oe(te.nativeEvent)},500)}},[e,Oe,Ye,At]),{current:De}=x;return(0,ye.useLayoutEffect)(()=>{if(De&&e.current){let te=w.current,oe=e.current.querySelector(`${i}[data-index="${te}"]`);oe&&(oe.classList.add("vuuDropTarget-settling"),requestAnimationFrame(()=>{let{top:ce,left:he}=oe.getBoundingClientRect(),z=getComputedStyle(De),Q=parseInt(z.getPropertyValue("left")),we=parseInt(z.getPropertyValue("top"));Q!==he||we!==ce?(De.classList.add("vuuDraggable-settling"),De.style.top=`${ce}px`,De.style.left=`${he}px`):k()}))}},[e,i,De,k]),(0,ye.useEffect)(()=>{r&&(E||T)&&I(r,t==="drop-only"?!1:Ne,l)},[t,r,E,T,l,I,Ne]),{...Ce,...f,isScrolling:F,onMouseDown:t&&t!=="drop-only"?sn:void 0}};var dr=require("react");var JP=({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)=>{jr(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(jr(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 Ji=({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:b,onKeyboardNavigation:x,onKeyDown:v,onMoveListItem:w,onSelect:C,onSelectionChange:S,restoreLastFocus:E,scrollContainerRef:T,selected:M,selectionStrategy:O,selectionKeys:I,stickyHeaders:P,tabToSelect:A,viewportRange:N})=>{let R=(0,fr.useRef)(M||s),H=(z,Q)=>{var we,He;(He=(we=X.listHandlers).onKeyboardNavigation)==null||He.call(we,z,Q),x==null||x(z,Q)},k=(0,fr.useCallback)((z,Q)=>{C&&Q!==null&&C(z,n.itemById(Q))},[n,C]),L=(0,fr.useMemo)(()=>{var z,Q;return T||{current:(Q=(z=o.current)==null?void 0:z.querySelector(".vuuList-scrollContainer"))!=null?Q:null}},[o,T]),D=(0,fr.useCallback)((z,Q)=>{if(S){if(YI(O)){let[we]=Q;S(z,n.itemById(we))}else if(_a(O)){let we=Q.map(He=>n.itemById(He));S(z,we)}}},[n,S,O]),{highlightedIndex:B,containerProps:{onKeyDown:F,onMouseMove:U,...re},setHighlightedIndex:Y,..._}=hP({containerRef:L,defaultHighlightedIndex:i,disableHighlightOnFocus:u,highlightedIndex:d,itemCount:n.data.length,label:p,onHighlight:b,onKeyboardNavigation:H,restoreLastFocus:E,selected:R.current,viewportItemCount:10}),J=dP({collapsibleHeaders:e,highlightedIdx:B,collectionHook:n}),le=(0,fr.useCallback)(z=>{Y(-1),m==null||m(z)},[m,Y]),X=gP({containerRef:o,defaultSelected:s,highlightedIndex:B,itemQuery:".vuuListItem",label:`${p}:useList`,onClick:y,onSelect:k,onSelectionChange:D,selected:M,selectionStrategy:O,selectionKeys:I,tabToSelect:A}),{handleDrop:Pe,onDropSettle:pe}=JP({dataHook:n,onDrop:h,onMoveListItem:w,selected:X.selected,setHighlightedIndex:Y,setSelected:X.setSelected}),{setSelected:Ce}=X;kn(()=>{jr(R.current)&&Ce([])},[M,n.data,Ce]);let{onMouseDown:me,isDragging:We,isScrolling:Ue,...Ne}=cr({allowDragDrop:t,draggableClassName:"list-item",orientation:"vertical",containerRef:o,id:f,itemQuery:".vuuListItem",onDragStart:le,onDrop:Pe,onDropSettle:pe,viewportRange:N}),{onKeyDown:Oe}=yP({disableTypeToSelect:c,highlightedIdx:B,highlightItemAtIndex:Y,typeToNavigate:!0,items:n.data}),Ye=(0,fr.useCallback)(z=>{var Q,we,He;z.defaultPrevented||Oe==null||Oe(z),F(z),z.defaultPrevented||(we=(Q=X.listHandlers).onKeyDown)==null||we.call(Q,z),z.defaultPrevented||(He=J==null?void 0:J.onKeyDown)==null||He.call(J,z),z.defaultPrevented||v==null||v(z)},[J,F,v,X.listHandlers,Oe]),{isScrolling:At,scrollIntoView:sn}=CP({containerRef:L,contentRef:r,highlightedIdx:B,indexPositions:n.data,stickyHeaders:P}),De=At.current||Ue.current,te=(0,fr.useCallback)(z=>{if(!De&&!l&&!We){U();let Q=fP(z.target);if(Q!==-1&&Q!==B){let we=n.data[Q];!we||we.disabled?Y(-1):Y(Q)}}},[We,De,l,Y,U,B,n.data]),oe=()=>{var z;return B===void 0||B===-1||a||(z=n.data[B])==null?void 0:z.id};R.current=X.selected;let ce={"aria-activedescendant":oe(),onBlur:re.onBlur,onFocus:re.onFocus,onKeyDown:Ye,onMouseDown:me,onMouseDownCapture:re.onMouseDownCapture,onMouseLeave:re.onMouseLeave},he=g||{onClick:X.listHandlers.onClick,onMouseMove:te};return{focusVisible:_.focusVisible,controlledHighlighting:_.controlledHighlighting,highlightedIndex:B,keyboardNavigation:_.keyboardNavigation,listHandlers:he,listItemHeaderHandlers:J,listControlProps:ce,scrollIntoView:sn,selected:X.selected,setHighlightedIndex:Y,setIgnoreFocus:_.setIgnoreFocus,setSelected:X.setSelected,...Ne}};var pr=require("react");var J8=(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=J8(o,m,r);if(n!==void 0)return[h,void 0];let b=Math.min(t,o)||t;return typeof e=="function"?y+=Array(b).fill(0).reduce((v,w,C)=>v+e(C)+r,0)-r:y+=b*Number(m)+(b-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 Gr(c,JI,p,!0),{computedListHeight:f,contentHeight:d,listClientHeight:s==null?void 0:s.height,listItemHeight:l,rowHeightProxyRef:g}};var mr=require("react"),XP=(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)(()=>XP(l.current,t,e,o+n),[t,e,o,n]),[u,c]=(0,mr.useState)(a);return yd(()=>{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=XP(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"),YP=require("react"),X8="No data to display",Xi="vuuList",Qr=(0,Dn.forwardRef)(function({ListItem:e=qi,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:b,id:x,itemGapSize:v=0,itemHeight:w,itemTextHighlightPattern:C,itemToString:S=In,listHandlers:E,maxHeight:T,maxWidth:M,minHeight:O,minWidth:I,onClick:P,onDragStart:A,onDrop:N,onMoveListItem:R,onSelect:H,onSelectionChange:k,onHighlight:L,restoreLastFocus:D,selected:B,selectionStrategy:F,checkable:U=F==="multiple",scrollingApiRef:re,selectionKeys:Y,showEmptyMessage:_=!1,source:J,style:le,stickyHeaders:X,tabIndex:Pe=0,tabToSelect:pe,...Ce},me){var jf,qf;let We=Ie(x),Ue=(0,Dn.useRef)(null),Ne=(0,Dn.useRef)(null),Oe=(0,Dn.useRef)(null),[Ye,At]=(0,Dn.useState)(),sn=(0,Dn.useCallback)($n=>{At($n)},[]),De=Gi({id:We,label:"List",source:J,children:r,options:{collapsibleHeaders:s,getItemId:m,itemToString:S}}),{listClientHeight:te,computedListHeight:oe,listItemHeight:ce,rowHeightProxyRef:he}=oh({displayedItemCount:f,getItemHeight:y,height:h,itemCount:De.data.length,itemGapSize:v,itemHeight:w,rootRef:Ue,size:Ye}),{onVerticalScroll:z,viewportRange:Q}=rh({containerSize:(qf=(jf=te!=null?te:oe)!=null?jf:Ye==null?void 0:Ye.height)!=null?qf:0,itemCount:De.data.length,itemGapSize:v,itemSize:ce}),{draggable:we,draggedItemIndex:He,dropIndicator:yt,focusVisible:$t,highlightedIndex:dt,listControlProps:bt,listHandlers:xn,listItemHeaderHandlers:Cn,scrollIntoView:zn,selected:Jl}=Ji({allowDragDrop:o,collapsibleHeaders:s,collectionHook:De,containerRef:Ue,contentRef:Oe,defaultHighlightedIndex:l,defaultSelected:De.itemToCollectionItemId(a),disabled:u,disableTypeToSelect:d,highlightedIndex:b,id:We,label:"List",listHandlers:E,onClick:P,onDragStart:A,onDrop:N,onMoveListItem:R,onSelect:H,onSelectionChange:k,onHighlight:L,restoreLastFocus:D,scrollContainerRef:Ne,selected:De.itemToCollectionItemId(B),selectionStrategy:F,selectionKeys:Y,stickyHeaders:X,tabToSelect:pe,viewportRange:Q});Xm({collectionHook:De,forwardedRef:re,scrollableRef:Ue,scrollIntoView:zn});let gi=g!=null?g:$t,Xl=function(Ze,ln,W,ae){let Se=(0,YP.createElement)(e,{...Cn,className:(0,ih.default)(`${Xi}Header`,{focusVisible:s&&gi===Ze.value}),"aria-expanded":ae,"data-index":s?Ze.value:void 0,"data-highlighted":Ze.value===dt||void 0,"data-sticky":X,"data-selectable":!1,id:ln,itemHeight:Kf(Ze.value),key:`header-${Ze.value}`,label:W});return Ze.value+=1,Se},Kf=y===void 0?()=>w:y;function ky($n,Ze,ln){var Lo,Yl;let{disabled:W,value:ae,id:Se,label:vt}=Ze,ft=(0,Dn.isValidElement)(ae),Ro={className:(0,ih.default)((Lo=ae==null?void 0:ae.props)==null?void 0:Lo.className,{vuuHighlighted:ln.value===dt,vuuFocusVisible:gi===ln.value,["vuuDraggable-dragAway"]:He===ln.value}),disabled:W||u,id:Se,item:ft?void 0:(Yl=Ze==null?void 0:Ze.value)!=null?Yl:void 0,itemHeight:Kf(ln.value),itemTextHighlightPattern:C,key:Se,"data-index":ln.value,label:vt,role:"option",selected:Um(Jl,Ze),showCheckbox:U};$n.push(ft?(0,Dn.cloneElement)(ae,Ro):(0,Qn.jsx)(e,{...Ro})),ln.value+=1}let My=function(Ze,ln,W){let{count:ae=0,id:Se,expanded:vt,label:ft=""}=ln[W.value],Ro=Xl(W,Se,ft,vt),Lo=vt!==!1?[Ro].concat(Uf(ln,W,W.value+ae)||[]):Ro;Ze.push((0,Qn.jsx)("div",{role:"group",children:Lo},Se))},Uf=($n,Ze={value:0},ln=$n.length)=>{let W=[];for(;Ze.value<ln;){let ae=$n[Ze.value];ae.header?W.push(Xl(Ze,ae.id,ae.label,ae.expanded===!1)):ae.childNodes?My(W,$n,Ze):ky(W,ae,Ze)}return W};function Gf(){return p||_?(0,Qn.jsx)("span",{className:`${Xi}-empty-message`,children:p!=null?p:X8}):null}let bc=De.data.length===0,Iy=()=>{if(bc)Gf();else{let $n=De.data;return Uf($n)}},Py="auto",Dy={"--list-borderWidth":"var(--vuuList-borderWidth, var(--salt-size-border, 0))","--list-item-gap":v?`${v}px`:void 0,"--computed-list-height":oe===void 0?void 0:`${oe}px`,minWidth:I,minHeight:O,maxWidth:M,maxHeight:T};return(0,Qn.jsxs)(sh,{"aria-multiselectable":F==="multiple"||F==="extended"||F==="extended-multi-range"||void 0,...Ce,...xn,...bt,className:(0,ih.default)(Xi,i,{[`${Xi}-collapsible`]:s,[`${Xi}-contentSized`]:oe!==void 0,[`${Xi}-empty`]:bc,vuuFocusVisible:dt===Yx}),height:oe!=null?oe:h,id:`${We}`,onResize:sn,ref:Le(Ue,me),role:"listbox",onScroll:z,style:{...le,...Dy},tabIndex:u||c?void 0:Pe,children:[(0,Qn.jsx)(Ym,{ref:he,height:w}),De.data.length===0&&n!==void 0?(0,Qn.jsx)(Qn.Fragment,{children:(0,Qn.jsx)(n,{})}):(0,Qn.jsx)("div",{className:`${Xi}-viewport`,ref:Ne,children:(0,Qn.jsxs)("div",{className:`${Xi}-scrollingContentContainer`,ref:Oe,style:{height:Py},children:[Iy(),yt,we]})})]})});function ZP(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=ZP(t[e]))&&(o&&(o+=" "),o+=n);else for(e in t)t[e]&&(o&&(o+=" "),o+=e);return o}function r0(){for(var t,e,n=0,o="";n<arguments.length;)(t=arguments[n++])&&(e=ZP(t))&&(o&&(o+=" "),o+=e);return o}var ul=require("react");var tD=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 Y8=([t],[e])=>t-e,eD=5,nD=({data:t,listItemGapSize:e=0,listItemHeight:n,viewportRange:o})=>{let r=(0,tD.useMemo)(()=>new lh(0,1),[]),i=n+e,s=Math.max(0,o.from-eD),l=Math.min(t.length,o.to+eD);return r.reset(s,l),t.slice(s,l).map((u,c)=>[r.keyFor(c+s),(c+s)*i,c+s+1,u]).sort(Y8)};var al=require("react/jsx-runtime"),Z8="No data to display",ah=rt("saltList"),e9=(0,ul.memo)(qi),Rle=(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:b,itemTextHighlightPattern:x,itemToString:v,maxHeight:w,maxWidth:C,minHeight:S,minWidth:E,onDragStart:T,onDrop:M,onSelect:O,onSelectionChange:I,onViewportScroll:P,onHighlight:A,restoreLastFocus:N,selected:R,selectionStrategy:H,scrollingApiRef:k,selectionKeys:L,showEmptyMessage:D=!1,source:B,style:F,stickyHeaders:U,tabToSelect:re,width:Y,..._},J){let le=Br(m),X=(0,ul.useRef)(null),Pe=(0,ul.useRef)(null),pe=Gi({id:le,label:"List",source:B,children:n,options:{collapsibleHeaders:r,getItemId:p,itemToString:v}}),{contentHeight:Ce,listItemHeight:me,listHeight:We}=oh({borderless:e,displayedItemCount:c,height:g,itemCount:pe.data.length,itemGapSize:h,itemHeight:b,rootRef:X,rowHeightRef:Pe}),{focusVisible:Ue,highlightedIndex:Ne,listControlProps:Oe,listHandlers:Ye,scrollIntoView:At,selected:sn}=Ji({collapsibleHeaders:r,collectionHook:pe,containerRef:X,defaultHighlightedIndex:i,defaultSelected:pe.itemToCollectionItemId(s),disabled:l,disableTypeToSelect:u,highlightedIndex:y,label:le,onSelect:O,onSelectionChange:I,onHighlight:A,restoreLastFocus:N,selected:pe.itemToCollectionItemId(R),selectionStrategy:H,selectionKeys:L,stickyHeaders:U,tabToSelect:re}),{onVerticalScroll:De,viewportRange:te}=rh({containerSize:typeof We=="number"?We:0,itemCount:pe.data.length,itemGapSize:h,itemSize:me});console.log({viewPortRange:te});let oe=nD({data:pe.data,listItemGapSize:h,listItemHeight:me,viewportRange:te});Xm({collectionHook:pe,forwardedRef:k,scrollableRef:X,scrollIntoView:At});function ce(He,yt,$t){let[dt,bt,xn,Cn]=yt,zn=xn-1;He.push((0,al.jsx)(e9,{"aria-setsize":pe.data.length,"aria-posinset":xn,className:r0(o,{saltHighlighted:zn===Ne,saltFocusVisible:Ue===zn}),"data-idx":zn,item:Cn,label:Cn.label,"data-offset":bt,role:"option",selected:Um(sn,Cn),id:Cn.id,translate3d:bt},dt)),$t.value+=1}function he(He,yt={value:0},$t=He.length){let dt=[];for(;yt.value<$t;){let bt=He[yt.value];ce(dt,bt,yt)}return dt}function z(){return d||D?(0,al.jsx)("span",{className:ah("empty-message"),children:d!=null?d:Z8}):null}let Q=()=>{if(oe.length)return he(oe);z()},we={"--list-item-gap":h?`${h}px`:void 0,minWidth:E,minHeight:S,width:Y!=null?Y:"100%",height:g!=null?g:"100%",maxWidth:C!=null?C:Y,maxHeight:w!=null?w:We};return(0,al.jsx)("div",{..._,...Ye,...Oe,className:r0(ah(),o,ah("virtualized")),id:`${le}`,ref:Le(X,J),role:"listbox",onScroll:De,style:{...F,...we},tabIndex:l||a?void 0:0,children:(0,al.jsxs)("div",{className:ah("scrollingContentContainer"),style:{height:Ce},children:[(0,al.jsx)(Ym,{ref:Pe}),Q()]})})});var t9=V(j());var n9=require("react/jsx-runtime");var Xa=require("react");var oD=({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=_a(p),[y,m]=Me({controlled:i,default:n!=null?n:!1,name:"useDropdownList"}),h=(0,Xa.useCallback)((C,S)=>{g||(m(!1),u==null||u(!1)),(Array.isArray(S)||S)&&(c==null||c(C,S))},[g,u,c,m]),b=(0,Xa.useCallback)((C,S)=>{g||(m(!1),u==null||u(!1)),d==null||d(C,S)},[g,u,d,m]),x=Ji({collectionHook:t,defaultHighlightedIndex:(e!=null?e:r===void 0)?0:void 0,defaultSelected:o,label:"DropDown",onSelectionChange:h,onSelect:b,containerRef:l,highlightedIndex:r,onHighlight:a,selected:f,selectionStrategy:p,tabToSelect:!g}),v=(0,Xa.useCallback)(C=>{m(C),u==null||u(C)},[u,m]),w=(0,Xa.useMemo)(()=>{if(Array.isArray(x.selected)){let C=x.selected.map(S=>t.itemById(S));if(C.length===0)return;if(C.length===1){let[S]=C;return S===null?void 0:s(S)}else return`${C.length} items selected`}},[t,s,x.selected]);return{isOpen:y,onOpenChange:v,triggerLabel:w,...x}};var Ya=require("react/jsx-runtime"),Za=(0,Jr.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,...b},x){let v=Ie(i),w=(0,Jr.useRef)(null),C=(0,Jr.useRef)(null),S=Le(w,x),E=Gi({id:v,source:p,children:n,options:{itemToString:l}}),{highlightedIndex:T,triggerLabel:M,listHandlers:O,listControlProps:I,selected:P,...A}=oD({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}),N=(0,Jr.useCallback)(H=>Array.isArray(H)?H.map(L=>E.itemById(L)):E.itemById(H),[E]),R=()=>{let H={"aria-activedescendant":A.isOpen?I==null?void 0:I["aria-activedescendant"]:void 0,"aria-label":e};if(g){let k=g.props;return(0,Jr.cloneElement)(g,Ad(k,{...A.isOpen?I:{},...H}))}else return(0,Ya.jsx)(iP,{label:M,...A.isOpen?I:{},...H})};return(0,Ya.jsx)(_m,{collectionHook:E,children:(0,Ya.jsxs)(Ka,{...b,id:v,isOpen:A.isOpen,onOpenChange:A.onOpenChange,placement:(m==null?void 0:m.width)===void 0?"below-full-width":"below",ref:S,width:h,children:[R(),(0,Ya.jsx)(Qr,{ListItem:y,itemToString:l,...m,highlightedIndex:T,listHandlers:O,onSelectionChange:u,onSelect:c,ref:C,selected:P===void 0?void 0:N(P),selectionStrategy:f})]})})});var ut=require("react");var o9=["Enter"],rD=({allowFreeText:t,ariaLabel:e,collectionHook:n,defaultIsOpen:o,defaultSelected:r,defaultValue:i,onBlur:s,onFocus:l,onChange:a,onSelect:u,id:c,initialHighlightedIndex:d=-1,isOpen:f,itemCount:p,itemsToString:g,itemToString:y=In,listRef:m,onOpenChange:h,onSelectionChange:b,onSetSelectedText:x,selected:v,selectionStrategy:w,value:C,InputProps:S={onBlur:s,onFocus:l,onChange:a,onSelect:u}})=>{let E=_a(w),{setFilterPattern:T}=n,M=(0,ut.useRef)(null),O=(0,ut.useRef)(E?[]:null),I=(0,ut.useRef)(!0),[P,A]=Me({controlled:f,default:o!=null?o:!1,name:"useDropdownList"}),[N,R]=Me({controlled:void 0,default:i!=null?i:C,name:"ComboBox",state:"value"}),[H,k]=(0,ut.useState)(!0),L=(0,ut.useCallback)(z=>{var Q;Array.isArray(z)?console.log("TODO multi selection"):z==null&&((Q=M.current)==null||Q.call(M,-1))},[]),D=(0,ut.useCallback)((z,Q=!0)=>{R(z),Q&&T(z===""?void 0:z)},[T,R]),B=(0,ut.useCallback)(z=>{let Q=t&&N!=null?N:"";return Array.isArray(z)?z.length===1?Q=y(z[0]):z.length>1&&(Q=(g==null?void 0:g(z))||""):z&&(Q=y(z)),Q!==N?(D(Q,!E),x==null||x(Q),!0):!1},[t,E,y,g,x,D,N]),F=(0,ut.useCallback)(()=>{let{current:z}=O;B(z)&&z&&(Array.isArray(z)||z)&&(b==null||b(null,z))},[b,B]),U=(0,ut.useCallback)(()=>{if(t){let z=N==null?void 0:N.trim(),{current:Q}=O;if(z){if(p===0&&z)return E?b==null||b(null,[z]):b==null||b(null,z),O.current=null,!0;Q&&!E&&Q&&!Array.isArray(Q)&&y(Q)}}return!1},[t,N,p,E,b,y]),re=(0,ut.useCallback)((z,Q)=>{z&&E&&D("",!1),A(z),h==null||h(z),!z&&Q!=="Escape"&&(U()||F())},[F,E,h,U,A,D]),Y=(0,ut.useCallback)((z,Q)=>{O.current=Q,E||re(!1,"select")},[re,E]),_=(0,ut.useCallback)(()=>{k(!1)},[]),{focusVisible:J,setHighlightedIndex:le,highlightedIndex:X,listControlProps:Pe,listHandlers:pe,selected:Ce}=Ji({collectionHook:n,containerRef:m,defaultHighlightedIndex:d,defaultSelected:n.itemToCollectionItemId(r),disableAriaActiveDescendant:H,disableHighlightOnFocus:!0,disableTypeToSelect:!0,onKeyboardNavigation:_,onSelectionChange:Y,selected:n.itemToCollectionItemId(v),selectionKeys:o9,selectionStrategy:w,tabToSelect:!E});M.current=le;let{onClick:me}=pe,We=(0,ut.useCallback)(z=>{var Q;(Q=document.getElementById(`${c}-input`))==null||Q.focus(),me==null||me(z)},[c,me]),Ue=(0,ut.useCallback)(z=>{let Q=z.target.value;R(Q),Q&&Q.trim().length?T(Q):T(void 0),A(!0)},[T,A,R]),{onFocus:Ne=l}=S,{onFocus:Oe}=Pe,Ye=(0,ut.useCallback)(z=>{k(!1),Oe==null||Oe(z),Ne==null||Ne(z)},[Ne,Oe]),At=(0,ut.useCallback)(z=>{let Q=z.relatedTarget;return(Q==null?void 0:Q.id)===`${c}-list`},[c]),{onBlur:sn=s}=S,{onBlur:De}=Pe,te=(0,ut.useCallback)(z=>{At(z)||(De==null||De(z),sn==null||sn(z),k(!0),I.current=!0)},[At,De,sn]),{onSelect:oe}=S,ce=(0,ut.useCallback)(z=>{I.current?I.current=!1:k(!0),oe==null||oe(z)},[oe]);kn(()=>{jr(Ce)?L(Ce):le(d)},[L,p,d,Ce,le,A]);let he={...S.inputProps,"aria-label":e,autoComplete:"off"};return{focusVisible:J,highlightedIndex:X,isOpen:P,onOpenChange:re,inputProps:{...S,id:`${c}-input`,inputProps:he,onChange:Ue,onSelect:ce,role:"combobox",value:N},listControlProps:{...Pe,onBlur:te,onFocus:Ye},listHandlers:{...pe,onClick:We},selected:O.current}};var iD=V(j());var lD=require("react/jsx-runtime"),r9="vuuChevronIcon",sD=t=>{let{direction:e,...n}=t;return(0,lD.jsx)("span",{...n,className:(0,iD.default)(r9,e)})};var cl=require("react/jsx-runtime"),i0=(0,eu.forwardRef)(function({InputProps:e,ListProps:n,PopupProps:o,ListItem:r,"aria-label":i,allowFreeText:s,children:l,defaultIsOpen:a,defaultSelected:u,defaultValue:c,disabled:d,onBlur:f,onFocus:p,onChange:g,onSelect:y,onSetSelectedText:m,getFilterRegex:h,id:b,initialHighlightedIndex:x=-1,isOpen:v,itemToString:w=In,itemsToString:C,onOpenChange:S,onSelectionChange:E,selected:T,selectionStrategy:M,source:O,value:I,width:P=180,...A},N){let R=Ie(b),H=(0,eu.useRef)(null),k=me=>Array.isArray(me)&&me.length>0?me[0]:void 0,D=((me,We)=>{let Ue=me?k(me):We?k(We):void 0;return Ue?w(Ue):""})(T,u),B=Gi({id:R,source:O,children:l,options:{filterPattern:D,getFilterRegex:h,itemToString:w}}),{focusVisible:F,highlightedIndex:U,inputProps:{endAdornment:re,...Y},isOpen:_,listHandlers:J,listControlProps:le,onOpenChange:X,selected:Pe}=rD({InputProps:e,allowFreeText:s,ariaLabel:i,collectionHook:B,defaultIsOpen:a,defaultSelected:u,defaultValue:c,disabled:d,initialHighlightedIndex:x,itemCount:B.data.length,label:A.title,listRef:H,onBlur:f,onFocus:p,onChange:g,onSelect:y,id:R,isOpen:v,itemToString:w,itemsToString:C,onOpenChange:S,onSelectionChange:E,onSetSelectedText:m,selected:T,selectionStrategy:M,value:D}),pe=(0,eu.useCallback)(()=>{_?X(!1,"toggle"):X(!0)},[_,X]);return(0,cl.jsx)(_m,{collectionHook:B,children:(0,cl.jsxs)(Ka,{...A,PopupProps:o,id:R,isOpen:_,onOpenChange:X,openOnFocus:!0,ref:N,width:P,children:[(0,cl.jsx)(Un,{...Y,disabled:d,...le,endAdornment:re===null?null:(0,cl.jsx)(sD,{direction:_?"up":"down",onClick:pe})}),(0,cl.jsx)(Qr,{...n,ListItem:r,defaultSelected:void 0,focusVisible:F,highlightedIndex:U,itemTextHighlightPattern:String(Y.value)||void 0,id:`${R}-list`,listHandlers:J,onSelectionChange:E,ref:H,selected:Pe,selectionStrategy:M,tabIndex:-1})]})})});var uD=V(j()),uh=require("react"),dD=require("react/jsx-runtime"),aD="vuuCycleStateButton",i9=(t,e)=>{let n=e.indexOf(t.toUpperCase());return n===e.length-1?e[0]:e[n+1]},cD=(0,uh.forwardRef)(function({className:e,onCommit:n,value:o="",values:r,...i},s){let l=(0,uh.useCallback)(a=>{let u=i9(o,r);n(a,u).then(c=>{c!==!0&&console.error(c)})},[n,o,r]);return(0,dD.jsx)(jt,{...i,className:(0,uD.default)(aD,e,`${aD}-${o.toLowerCase()}`),onClick:l,ref:s,children:o})});var fD=require("@vuu-ui/vuu-utils"),pD=t=>e=>s9(t,e);function s9(t,e){let n;for(let o of t){let r=(0,fD.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 s0=require("@vuu-ui/vuu-utils"),yo=require("react"),tu=()=>(console.warn("onCommit handler has not been provided to InputCell cell renderer"),Promise.resolve(!0)),mD=({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,s0.dispatchCustomEvent)(y,"vuu-commit")):i(h)}))}else(0,s0.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 hD=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]=Me({controlled:a,default:o!=null?o:"",name:"EditableLabel",state:"value"}),[y,m]=Me({controlled:r,default:n!=null?n:!1,name:"EditableLabel",state:"editing"}),h=(0,_o.useCallback)(M=>{m(f.current=M)},[m]),b=(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]),v=({cancelEdit:M=!1,allowDeactivation:O=!1}={})=>{h(!1);let I=b.current;I!==p&&(M?g(I):b.current=p),l&&l(I,p,O,M)},w=M=>{let{value:O}=M.target;g(O),i&&i(O)},C=()=>{x()},S=()=>{f.current&&v({allowDeactivation:!0})},E=M=>{y&&M.key==="Enter"?(M.stopPropagation(),v()):M.key==="ArrowRight"||M.key==="ArrowLeft"?M.stopPropagation():M.key==="Escape"&&v({cancelEdit:!0})},T=(0,hD.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:S,onChange:w,onKeyDown:E,inputRef:d,style:{padding:0},textAlign:"left",variant:"secondary"}):(0,dh.jsx)("span",{className:`${ch}-label`,children:p})})});var gD=V(j()),yD=require("react");var a0=require("react/jsx-runtime"),l0="vuuExpandoInput",l9=()=>{},fh=(0,yD.forwardRef)(function({className:e,errorMessage:n,value:o,inputProps:r,onCommit:i=l9,...s},l){return(0,a0.jsx)("div",{className:(0,gD.default)(l0,e,{[`${l0}-error`]:n}),"data-text":o,children:(0,a0.jsx)(ph,{...s,errorMessage:n,inputProps:{...r,className:`${l0}-input`},onCommit:i,ref:l,style:{padding:0},textAlign:"left",value:o,variant:"secondary"})})});var bD=require("react/jsx-runtime");var vD=require("react/jsx-runtime");var DD=V(j()),su=require("react");var nu=require("react");var CD=require("react/jsx-runtime"),xD=()=>{},a9="vuuColumnResizerNext",mh=({onDrag:t,onDragEnd:e=xD,onDragStart:n=xD})=>{let o=(0,nu.useRef)(0),r=(0,nu.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,nu.useCallback)(l=>{window.removeEventListener("mouseup",i),window.removeEventListener("mousemove",r),e(l)},[e,r]),s=(0,nu.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,CD.jsx)("div",{className:a9,onMouseDown:s})};var Yi=require("react"),hh=({column:t,onResize:e,rootRef:n})=>{let o=(0,Yi.useRef)(0),[r,i]=(0,Yi.useState)(!1),{name:s}=t,l=(0,Yi.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,Yi.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,Yi.useCallback)(()=>{e&&(e("end",s,o.current),setTimeout(()=>{i(!1)},80))},[s,e]);return{isResizing:r,onDrag:a,onDragStart:l,onDragEnd:u}};var wD=require("@vuu-ui/vuu-utils"),SD=V(j()),ED=require("react"),Zi=(t,e,n)=>(0,ED.useMemo)(()=>{let o=(0,SD.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,wD.getColumnStyle)(t);return{className:o,style:r}},[t,e,n]);var kD=V(j()),MD=require("react");var gh=require("react/jsx-runtime"),TD="vuuColumnHeaderPill",ou=({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,MD.useCallback)(l=>{l.preventDefault(),l.stopPropagation(),o==null||o(n)},[n,o]);return(0,gh.jsxs)("div",{...i,className:(0,kD.default)(TD,e),children:[t,r?(0,gh.jsx)("span",{className:`${TD}-removeButton`,role:"button","data-icon":"cross",onClick:s}):null]})};var ru=require("react/jsx-runtime"),ID=({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,ru.jsxs)(ou,{...e,column:t,children:[(0,ru.jsx)("span",{className:"vuuGroupColumnPill-label",children:n}),r!==void 0?(0,ru.jsx)("span",{"data-icon":r}):null,typeof o=="number"?(0,ru.jsx)("span",{className:"vuuSortPosition",children:Math.abs(o)}):null]})};var Wd=require("react/jsx-runtime"),PD=({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)(ou,{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 iu=require("react/jsx-runtime"),RD=require("react"),u0="vuuTableGroupHeaderCell",u9=(t,e)=>t===e?t:e,c0=({column:t,className:e,onMoveColumn:n,onRemoveColumn:o,onResize:r,...i})=>{let s=(0,su.useRef)(null),{isResizing:l,...a}=hh({column:t,onResize:r,rootRef:s}),[u,c]=(0,su.useState)(t.columns),{className:d,style:f}=Zi(t,u0,!0),p=u.length>1?{removable:!0,onRemove:o}:void 0,g=(0,su.useCallback)((y,m)=>{c(h=>{let b=h.slice(),[x]=b.splice(y,1);if(m===-1){let v=b.concat(x);return n==null||n(v),v}else return b.splice(m,0,x),n==null||n(b),b})},[n]);return kn(()=>{c(y=>u9(y,t.columns))},[t.columns]),(0,iu.jsxs)("div",{...i,className:(0,DD.default)(d,e,{[`${u0}-pending`]:t.groupConfirmed===!1}),ref:s,role:"columnheader",style:f,children:[(0,iu.jsx)(Kd,{allowDragDrop:!0,className:`${u0}-inner`,height:24,onMoveItem:g,overflowPosition:"start",children:u.map(y=>(0,RD.createElement)(ID,{...p,column:y,key:y.key}))}),(0,iu.jsx)(ou,{column:t,removable:!0,onRemove:o}),t.resizeable!==!1?(0,iu.jsx)(mh,{...a}):null]})};var bh=require("react");var LD=V(j()),dl=require("react");var ND=require("react/jsx-runtime"),c9=t=>{if(t){let{bottom:e,left:n}=t.getBoundingClientRect();return{x:n,y:e+6}}},AD=({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:c9(o.current)}})},[e,l,s]);return(0,ND.jsx)("span",{...n,className:(0,LD.default)("vuuTable-columnMenu",t,{"vuuTable-columnMenu-open":r}),"data-icon":"more-vert",onClick:a,ref:o})};var OD=V(j());var Xr=require("react/jsx-runtime"),yh="vuuTableHeaderCell",HD=({className:t,column:e,onClick:n,onResize:o,...r})=>{var b;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}=Zi(e,yh,!0),p=(0,Xr.jsx)(AD,{column:e}),g=s?(0,Xr.jsx)(s,{className:`${yh}-label`,column:e}):(0,Xr.jsx)("div",{className:`${yh}-label`,children:(b=e.label)!=null?b:e.name}),y=i?[(0,Xr.jsx)(i,{column:e},"content")]:[],m=(0,Xr.jsx)(PD,{column:e}),h=e.align==="right"?[m,g].concat(y).concat(p):[p,g,m].concat(y);return(0,Xr.jsxs)("div",{...r,className:(0,OD.default)(d,t,{[`${yh}-resizing`]:a}),onClick:c,ref:l,role:"columnheader",style:f,children:[...h,e.resizeable!==!1?(0,Xr.jsx)(mh,{...u}):null]})};var GN=require("@vuu-ui/vuu-utils");var Zw=V(j()),Qu=require("react");var Jn=require("@vuu-ui/vuu-utils"),_D=V(j()),Ud=require("react");var FD=require("@vuu-ui/vuu-utils"),d0=require("react");var f0=require("react/jsx-runtime"),d9="vuuTableCell",BD=({column:t,columnMap:e,onClick:n,onDataEdited:o,row:r})=>{let{className:i,style:s}=Zi(t,d9),{CellRenderer:l,name:a,valueFormatter:u}=t,c=e[a],d=(0,d0.useCallback)(p=>{if(o){let g=p;return(0,FD.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,d0.useCallback)(p=>{n==null||n(p,t)},[t,n]);return(0,f0.jsx)("div",{className:i,onClick:n?f:void 0,role:"cell",style:s,children:l?(0,f0.jsx)(l,{column:t,columnMap:e,onCommit:d,row:r}):u(r[c])})};var vh=require("@vuu-ui/vuu-utils"),VD=require("react");var zD=V(j());var lu=require("react/jsx-runtime"),{IS_LEAF:f9}=vh.metadataKeys,p0="vuuTableGroupCell",$D=({column:t,onClick:e,row:n})=>{let{columns:o}=t,[r,i]=(0,vh.getGroupValueAndOffset)(o,n),{className:s,style:l}=Zi(t,p0),a=(0,VD.useCallback)(d=>{e==null||e(d,t)},[t,e]),u=n[f9],c=Array(i).fill(0).map((d,f)=>(0,lu.jsx)("span",{className:`${p0}-spacer`},f));return(0,lu.jsxs)("div",{className:(0,zD.default)(s,"vuuTableCell"),role:"cell",style:l,onClick:u?void 0:a,children:[c,u?null:(0,lu.jsx)("span",{className:`${p0}-toggle`,"data-icon":"triangle-right"}),(0,lu.jsx)("span",{children:r})]})};var xh=require("react/jsx-runtime"),WD=require("react"),{IDX:p9,IS_EXPANDED:m9,SELECTED:h9}=Jn.metadataKeys,Yr="vuuTableRow",m0=(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{[p9]:d,[m9]:f,[h9]:p}=r,g=(0,Ud.useCallback)(w=>{let C=w.shiftKey,S=w.ctrlKey||w.metaKey;s==null||s(r,C,S)},[s,r]),{True:y,First:m,Last:h}=Jn.RowSelected,b=(0,_D.default)(Yr,t,{[`${Yr}-even`]:u&&d%2===0,[`${Yr}-expanded`]:f,[`${Yr}-highlighted`]:o,[`${Yr}-selected`]:p&y,[`${Yr}-selectedStart`]:p&m,[`${Yr}-selectedEnd`]:p&h}),x={transform:`translate3d(0px, ${i}px, 0px)`},v=(0,Ud.useCallback)((w,C)=>{((0,Jn.isGroupColumn)(C)||(0,Jn.isJsonGroup)(C,r))&&(w.stopPropagation(),a==null||a(r,C))},[a,r]);return(0,WD.createElement)("div",{...c,"aria-rowindex":r[0],key:`row-${r[0]}`,role:"row",className:b,onClick:g,style:x},(0,xh.jsx)("span",{className:`${Yr}-selectionDecorator vuuStickyLeft`}),n.filter(Jn.isNotHidden).map(w=>{let C=(0,Jn.isGroupColumn)(w),S=(0,Jn.isJsonColumn)(w);return(0,xh.jsx)(C?$D:BD,{column:w,columnMap:e,onClick:C||S?v:void 0,onDataEdited:l,row:r},w.key)}),(0,xh.jsx)("span",{className:`${Yr}-selectionDecorator vuuStickyRight`}))});m0.displayName="Row";var KD=require("@vuu-ui/vuu-utils"),g9=t=>typeof t=="string",y9=(t,e)=>g9(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,KD.registerComponent)("vuu-case",y9,"data-edit-validator",{});var UD=require("@vuu-ui/vuu-utils"),b9=t=>typeof t=="string",v9="value does not match expected pattern",x9=(t,e)=>{if(typeof t.value!="string")throw Error("Pattern validation rule must provide pattern");if(b9(e)){if(e==="")return!0;{let{message:n=v9}=t;return new RegExp(t.value).test(e)||n}}else return"value must be a string"};(0,UD.registerComponent)("vuu-pattern",x9,"data-edit-validator",{});var Zr=require("@vuu-ui/vuu-utils"),GD=V(j(),1);var fl=require("react/jsx-runtime"),Gd="vuuProgressCell",C9=({column:t,columnMap:e,row:n})=>{let{type:o}=t,r=n[t.key],i=!1,s=0;if((0,Zr.isTypeDescriptor)(o)&&(0,Zr.isColumnTypeRenderer)(o.renderer)){let{associatedField:a}=o.renderer;if(a){let u=n[e[a]];if(typeof(0,Zr.isValidNumber)(r)&&(0,Zr.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,GD.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,Zr.registerComponent)("vuu.progress",C9,"cell-renderer",{description:"Progress formatter",label:"Progress formatter",serverDataType:["long","int","double"]});var Rn=require("@vuu-ui/vuu-utils"),qD=V(j(),1);var pl=require("@vuu-ui/vuu-utils"),Ch=require("react"),w9=[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||w9,{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"),S9=String.fromCharCode(11014),E9=String.fromCharCode(11015),{KEY:T9}=Rn.metadataKeys,jd="vuuBackgroundCell",au={ArrowOnly:"arrow",BackgroundOnly:"bg-only",ArrowBackground:"arrow-bg"},k9=t=>(0,Rn.isTypeDescriptor)(t)&&t.renderer&&"flashStyle"in t.renderer?t.renderer.flashStyle:au.BackgroundOnly,M9=({column:t,columnMap:e,row:n})=>{let{name:o,type:r,valueFormatter:i}=t,s=e[o],l=n[s],a=k9(r),u=jD(n[T9],l,t),c=a===au.ArrowOnly||a===au.ArrowBackground?u===Rn.UP1||u===Rn.UP2?S9:u===Rn.DOWN1||u===Rn.DOWN2?E9:null:null,d=u?" "+u:"",f=(0,qD.default)(jd,d,{[`${jd}-backgroundOnly`]:a===au.BackgroundOnly,[`${jd}-arrowOnly`]:a===au.ArrowOnly,[`${jd}-arrowBackground`]:a===au.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",M9,"cell-renderer",{description:"Change background color of cell when value changes",configEditor:"BackgroundCellConfigurationEditor",label:"Background Flash",serverDataType:["long","int","double"]});var QD=require("@vuu-ui/vuu-utils");var Sh=require("react"),qd=require("react/jsx-runtime"),I9="vuuBackgroundCellConfiguration",h0=[{label:"Background Only",value:"bg-only"},{label:"Background and Arrow",value:"arrow-bg"},{label:"Arrow Only",value:"arrow"}],[JD]=h0,P9=t=>{let{flashStyle:e}=t.type.renderer;return h0.find(n=>n.value===e)||JD},D9=({column:t,onChangeRendering:e})=>{let[n,o]=(0,Sh.useState)(P9(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:JD.value})},[t.type,e]);return(0,qd.jsxs)(ox,{children:[(0,qd.jsx)(ix,{children:"Flash Style"}),(0,qd.jsx)(Za,{className:`${I9}-flashStyle`,onSelectionChange:r,selected:n,source:h0,width:"100%"})]})};(0,QD.registerConfigurationEditor)("BackgroundCellConfigurationEditor",D9);var R9=V(j(),1),L9=require("react");var A9=require("@vuu-ui/vuu-utils"),XD=require("react/jsx-runtime");var zw=require("@vuu-ui/vuu-utils");var i$=V(j(),1);var Vw=require("@vuu-ui/vuu-utils");var K2=require("react");var F2=require("react");var be=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]?be.empty:e.length<=32?new je(e):bo.from(je.split(e,[]))}},je=class extends be{constructor(e,n=N9(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 y0(r,l,o,s);r=l+1,o++}}decompose(e,n,o,r){let i=e<=0&&n>=this.length?this:new je(YD(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 je(l,s.length+i.length));else{let a=l.length>>1;o.push(new je(l.slice(0,a)),new je(l.slice(a)))}}else o.push(i)}replace(e,n,o){if(!(o instanceof je))return super.replace(e,n,o);let r=kh(this.text,kh(o.text,YD(this.text,0,e)),n),i=this.length+o.length-(n-e);return r.length<=32?new je(r,i):bo.from(je.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 je(o,r)),o=[],r=-1);return r>-1&&n.push(new je(o,r)),n}},bo=class extends be{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 je(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 je&&a&&(g=c[c.length-1])instanceof je&&p.lines+g.lines<=32?(a+=p.lines,u+=p.length+1,c[c.length-1]=new je(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)}};be.empty=new je([""],0);function N9(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 YD(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 je?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 je?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 je){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 je?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"&&(be.prototype[Symbol.iterator]=function(){return this.iter()},gl.prototype[Symbol.iterator]=Mh.prototype[Symbol.iterator]=Ih.prototype[Symbol.iterator]=function(){return this});var y0=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}},uu="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<uu.length;t++)uu[t]+=uu[t-1];function O9(t){for(let e=1;e<uu.length;e+=2)if(uu[e]>t)return uu[e-1]<=t;return!1}function ZD(t){return t>=127462&&t<=127487}var eR=8205;function Xt(t,e,n=!0,o=!0){return(n?sR:H9)(t,e,o)}function sR(t,e,n){if(e==t.length)return e;e&&lR(t.charCodeAt(e))&&aR(t.charCodeAt(e-1))&&e--;let o=Jt(t,e);for(e+=vo(o);e<t.length;){let r=Jt(t,e);if(o==eR||r==eR||n&&O9(r))e+=vo(r),o=r;else if(ZD(r)){let i=0,s=e-2;for(;s>=0&&ZD(Jt(t,s));)i++,s-=2;if(i%2==0)break;e+=2}else break}return e}function H9(t,e,n){for(;e>0;){let o=sR(t,e-2,n);if(o<e)return o;e--}return 0}function lR(t){return t>=56320&&t<57344}function aR(t){return t>=55296&&t<56320}function Jt(t,e){let n=t.charCodeAt(e);if(!aR(n)||e+1==t.length)return n;let o=t.charCodeAt(e+1);return lR(o)?(n-55296<<10)+(o-56320)+65536:n}function M0(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 b0=/\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){v0(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:uR(this,e)}mapDesc(e,n=!1){return e.empty?this:x0(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)}},qe=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 v0(this,(n,o,r,i,s)=>e=e.replace(r,r+(o-n),s),!1),e}mapDesc(e,n=!1){return x0(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(be.empty);o.push(s?e.slice(i,i+s):be.empty)}i+=s}return new qe(n,o)}compose(e){return this.empty?e:e.empty?this:uR(this,e,!0)}map(e,n=!1){return e.empty?this:x0(this,e,n,!0)}iterChanges(e,n=!1){v0(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&&es(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 qe(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 qe(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 qe){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"?be.of(p.split(o||b0)):p:be.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),es(i,r,g),s=f}}return u(e),a(!l),l}static empty(e){return new qe(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(be.empty);o[r]=be.of(i.slice(1)),n.push(i[0],o[r].length)}}}return new qe(n,o)}static createSet(e,n){return new qe(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 es(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(be.empty);t.push(n)}}function v0(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=be.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 x0(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&&es(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&&es(i,r,s.text),a=s.i,s.forward(s.len-c)}else{if(s.done&&l.done)return i?qe.createSet(r,i):Xn.create(r);throw new Error("Mismatched change set lengths")}}function uR(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?qe.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&&es(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&&es(r,o,s.text)}else s.ins==-1?(qt(o,i.off?0:i.len,a,l),r&&es(r,o,i.textBit(a))):(qt(o,i.off?0:i.len,s.off?0:s.ins,l),r&&!s.off&&es(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?be.empty:e[n]}textBit(e){let{inserted:n}=this.set,o=this.i-2>>1;return o>=n.length&&!e?be.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)}},ei=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 ei(o,r,this.flags)}extend(e,n=e){if(e<=this.anchor&&n>=this.anchor)return $.range(e,n);let o=Math.abs(e-this.anchor)>Math.abs(n-this.anchor)?e:n;return $.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 $.range(e.anchor,e.head)}static create(e,n,o){return new ei(e,n,o)}},$=class{constructor(e,n){this.ranges=e,this.mainIndex=n}map(e,n=-1){return e.empty?this:$.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 $([this.main],0)}addRange(e,n=!0){return $.create([e].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(e,n=this.mainIndex){let o=this.ranges.slice();return o[n]=e,$.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 $(e.ranges.map(n=>ei.fromJSON(n)),e.main)}static single(e,n=e){return new $([$.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 $.normalized(e.slice(),n);o=i.to}return new $(e,n)}static cursor(e,n=0,o,r){return ei.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?ei.create(n,e,24|i):ei.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?$.range(a,l):$.range(l,a))}}return new $(e,n)}};function cR(t,e){for(let n of t.ranges)if(n.to>e)throw new RangeError("Selection points outside of document")}var I0=0,ie=class{constructor(e,n,o,r,i){this.combine=e,this.compareInput=n,this.compare=o,this.isStatic=r,this.id=I0++,this.default=e([]),this.extensions=typeof i=="function"?i(this):i}static define(e={}){return new ie(e.combine||(n=>n),e.compareInput||((n,o)=>n===o),e.compare||(e.combine?(n,o)=>n===o:P0),!!e.static,e.enables)}of(e){return new cu([],this,0,e)}compute(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new cu(e,this,1,n)}computeN(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new cu(e,this,2,n)}from(e,n){return n||(n=o=>o),this.compute([e],o=>n(o.field(e)))}};function P0(t,e){return t==e||t.length==e.length&&t.every((n,o)=>n===e[o])}var cu=class{constructor(e,n,o,r){this.dependencies=e,this.facet=n,this.type=o,this.value=r,this.id=I0++}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)||C0(d,c)){let p=o(d);if(l?!tR(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 ie?f.facet(m)===d.facet(m):m instanceof Yt?f.field(m,!1)==d.field(m,!1):!0)||(l?tR(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 tR(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 C0(t,e){let n=!1;for(let o of e)Jd(t,o)&1&&(n=!0);return n}function F9(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(!C0(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=C0(a,o),d=u.config.facets[e.id],f=u.facet(e);if(d&&!c&&P0(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 nR=ie.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(I0++,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(nR).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,nR.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 ts={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}},fu=class{of(e){return new Xd(this,e)}reconfigure(e){return fu.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}},pu=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 B9(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,P0(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=>F9(m,g,p))}}let d=u.map(f=>f(l));return new pu(e,s,d,l,a,i)}};function B9(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 cu)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 dR=ie.define(),fR=ie.define({combine:t=>t.some(e=>e),static:!0}),pR=ie.define({combine:t=>t.length?t[0]:void 0,static:!0}),mR=ie.define(),hR=ie.define(),gR=ie.define(),yR=ie.define({combine:t=>t.length?t[0]:!1}),Ln=class{constructor(e,n){this.type=e,this.value=n}static define(){return new mu}},mu=class{of(e){return new Ln(this,e)}},w0=class{constructor(e){this.map=e}of(e){return new ke(this,e)}},ke=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 ke(this.type,n)}is(e){return this.type==e}static define(e={}){return new w0(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}};ke.reconfigure=ke.define();ke.appendConfig=ke.define();var Qe=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&&cR(o,n.newLength),i.some(l=>l.type==Qe.time)||(this.annotations=i.concat(Qe.time.of(Date.now())))}static create(e,n,o,r,i,s){return new Qe(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(Qe.userEvent);return!!(n&&(n==e||n.length>e.length&&n.slice(0,e.length)==e&&n[e.length]=="."))}};Qe.time=Ln.define();Qe.userEvent=Ln.define();Qe.addToHistory=Ln.define();Qe.remote=Ln.define();function V9(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 bR(t,e,n){var o;let r,i,s;return n?(r=e.changes,i=qe.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:ke.mapEffects(t.effects,r).concat(ke.mapEffects(e.effects,i)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function S0(t,e,n){let o=e.selection,r=du(e.annotations);return e.userEvent&&(r=r.concat(Qe.userEvent.of(e.userEvent))),{changes:e.changes instanceof qe?e.changes:qe.of(e.changes||[],n,t.facet(pR)),selection:o&&(o instanceof $?o:$.single(o.anchor,o.head)),effects:du(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function vR(t,e,n){let o=S0(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=bR(o,S0(t,e[i],s?o.changes.newLength:t.doc.length),s)}let r=Qe.create(t,o.changes,o.selection,o.effects,o.annotations,o.scrollIntoView);return $9(n?z9(r):r)}function z9(t){let e=t.startState,n=!0;for(let r of e.facet(mR)){let i=r(t);if(i===!1){n=!1;break}Array.isArray(i)&&(n=n===!0?i:V9(n,i))}if(n!==!0){let r,i;if(n===!1)i=t.changes.invertedDesc,r=qe.empty(e.doc.length);else{let s=t.changes.filter(n);r=s.changes,i=s.filtered.mapDesc(s.changes).invertedDesc}t=Qe.create(e,r,t.selection&&t.selection.map(i),ke.mapEffects(t.effects,i),t.annotations,t.scrollIntoView)}let o=e.facet(hR);for(let r=o.length-1;r>=0;r--){let i=o[r](t);i instanceof Qe?t=i:Array.isArray(i)&&i.length==1&&i[0]instanceof Qe?t=i[0]:t=vR(e,du(i),!1)}return t}function $9(t){let e=t.startState,n=e.facet(gR),o=t;for(let r=n.length-1;r>=0;r--){let i=n[r](t);i&&Object.keys(i).length&&(o=bR(o,S0(e,i,t.changes.newLength),!0))}return o==t?t:Qe.create(e,t.changes,t.selection,o.effects,o.annotations,o.scrollIntoView)}var _9=[];function du(t){return t==null?_9:Array.isArray(t)?t:[t]}var mn=function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t}(mn||(mn={})),W9=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,E0;try{E0=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function K9(t){if(E0)return E0.test(t);for(let e=0;e<t.length;e++){let n=t[e];if(/\w/.test(n)||n>"\x80"&&(n.toUpperCase()!=n.toLowerCase()||W9.test(n)))return!0}return!1}function U9(t){return e=>{if(!/\S/.test(e))return mn.Space;if(K9(e))return mn.Word;for(let n=0;n<t.length;n++)if(e.indexOf(t[n])>-1)return mn.Word;return mn.Other}}var ge=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 vR(this,e,!0)}applyTransaction(e){let n=this.config,{base:o,compartments:r}=n;for(let s of e.effects)s.is(fu.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(ke.reconfigure)?(n=null,o=s.value):s.is(ke.appendConfig)&&(n=null,o=du(o).concat(s.value));let i;n?i=e.startState.values.slice():(n=pu.resolve(o,r,this),i=new ge(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(l,a)=>a.reconfigure(l,this),null).values),new ge(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:$.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=du(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=ke.mapEffects(s,c).concat(ke.mapEffects(du(a.effects),d))}return{changes:r,selection:$.create(i,n.mainIndex),effects:s}}changes(e=[]){return e instanceof qe?e:qe.of(e,this.doc.length,this.facet(ge.lineSeparator))}toText(e){return be.of(e.split(this.facet(ge.lineSeparator)||b0))}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 ge.create({doc:e.doc,selection:$.fromJSON(e.selection),extensions:n.extensions?r.concat([n.extensions]):r})}static create(e={}){let n=pu.resolve(e.extensions||[],new Map),o=e.doc instanceof be?e.doc:be.of((e.doc||"").split(n.staticFacet(ge.lineSeparator)||b0)),r=e.selection?e.selection instanceof $?e.selection:$.single(e.selection.anchor,e.selection.head):$.single(0);return cR(r,o.length),n.staticFacet(fR)||(r=r.asSingle()),new ge(n,o,r,n.dynamicSlots.map(()=>null),(i,s)=>s.create(i),null)}get tabSize(){return this.facet(ge.tabSize)}get lineBreak(){return this.facet(ge.lineSeparator)||`
@@ -852,12 +852,12 @@ label.saltText small,
852
852
  `;this.styleTag.textContent=i}}};var ti={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:"'"},hu={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},j9=typeof navigator<"u"&&/Mac/.test(navigator.platform),q9=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(pt=0;pt<10;pt++)ti[48+pt]=ti[96+pt]=String(pt);var pt;for(pt=1;pt<=24;pt++)ti[pt+111]="F"+pt;var pt;for(pt=65;pt<=90;pt++)ti[pt]=String.fromCharCode(pt+32),hu[pt]=String.fromCharCode(pt);var pt;for(Lh in ti)hu.hasOwnProperty(Lh)||(hu[Lh]=ti[Lh]);var Lh;function ER(t){var e=j9&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||q9&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",n=!e&&t.key||(t.shiftKey?hu:ti)[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 V0(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function Q9(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 V0(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?TR(t,e,n,o,-1)||TR(t,e,n,o,1):!1}function qh(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function TR(t,e,n,o,r){for(;;){if(t==n&&e==o)return!0;if(e==(r<0?0:is(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?is(t):0}else return!1}}function is(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function xC(t,e){let n=e?t.left:t.right;return{left:n,right:n,top:t.top,bottom:t.bottom}}function J9(t){return{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function X9(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=J9(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 b=c.scrollTop;c.scrollTop+=y,h=c.scrollTop-b}if(g){let b=c.scrollLeft;c.scrollLeft+=g,m=c.scrollLeft-b}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 Y9(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 z0=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?is(n):0),o,Math.min(e.focusOffset,o?is(o):0))}set(e,n,o,r){this.anchorNode=e,this.anchorOffset=n,this.focusNode=o,this.focusOffset=r}},gu=null;function iL(t){if(t.setActive)return t.setActive();if(gu)return t.focus(gu);let e=[];for(let n=t;n&&(e.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(t.focus(gu==null?{get preventScroll(){return gu={preventScroll:!0},!0}}:void 0),!gu){gu=!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 kR;function wl(t,e,n=e){let o=kR||(kR=document.createRange());return o.setEnd(t,n),o.setStart(t,e),o}function vu(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 Z9(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function sL(t){for(;t.attributes.length;)t.removeAttributeNode(t.attributes[0])}function e6(t,e){let n=e.focusNode,o=e.focusOffset;if(!n||e.anchorNode!=n||e.anchorOffset!=o)return!1;for(o=Math.min(o,is(n));;)if(o){if(n.nodeType!=1)return!1;let r=n.childNodes[o-1];r.contentEditable=="false"?o--:(n=r,o=is(n))}else{if(n==t)return!0;o=qh(n),n=n.parentNode}}function lL(t){return t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}var Bt=class{constructor(e,n,o=!0){this.node=e,this.offset=n,this.precise=o}static before(e,n){return new Bt(e.parentNode,qh(e),n)}static after(e,n){return new Bt(e.parentNode,qh(e)+1,n)}},CC=[],Re=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=Re.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=MR(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=MR(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=is(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&&!Re.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=CC){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}};Re.prototype.breakAfter=0;function MR(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 aL(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 uL(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,aL(t,u,c,l,a,o,0,r,i)}var yu="\uFFFF",Jh=class{constructor(e,n){this.points=e,this.text="",this.lineSeparator=n.facet(ge.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=yu}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=Re.get(r),a=Re.get(s);(l&&a?l.breakAfter:(l?l.breakAfter:IR(r))||IR(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=Re.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 IR(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:""},$0=typeof document<"u"?document:{documentElement:{style:{}}},_0=/Edge\/(\d+)/.exec(Yn.userAgent),cL=/MSIE \d/.test(Yn.userAgent),W0=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Yn.userAgent),og=!!(cL||W0||_0),PR=!og&&/gecko\/(\d+)/i.test(Yn.userAgent),A0=!og&&/Chrome\/(\d+)/.exec(Yn.userAgent),DR="webkitFontSmoothing"in $0.documentElement.style,dL=!og&&/Apple Computer/.test(Yn.vendor),RR=dL&&(/Mobile\/\w+/.test(Yn.userAgent)||Yn.maxTouchPoints>2),ee={mac:RR||/Mac/.test(Yn.platform),windows:/Win/.test(Yn.platform),linux:/Linux|X11/.test(Yn.platform),ie:og,ie_version:cL?$0.documentMode||6:W0?+W0[1]:_0?+_0[1]:0,gecko:PR,gecko_version:PR?+(/Firefox\/(\d+)/.exec(Yn.userAgent)||[0,0])[1]:0,chrome:!!A0,chrome_version:A0?+A0[1]:0,ios:RR,android:/Android\b/.test(Yn.userAgent),webkit:DR,safari:dL,webkit_version:DR?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:$0.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},t6=256,wo=class extends Re{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>t6||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 Bt(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 n6(this.dom,e,n)}},Ko=class extends Re{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(sL(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:(uL(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 fL(this,e)}coordsAt(e,n){return mL(this,e,n)}};function n6(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?ee.chrome||ee.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 ee.safari&&!s&&a.width==0&&(a=Array.prototype.find.call(l,u=>u.width)||a),s?xC(a,s<0):a||null}var ni=class extends Re{constructor(e,n,o){super(),this.widget=e,this.length=n,this.side=o,this.prevWidget=null}static create(e,n,o){return new ni(e,n,o)}split(e){let n=ni.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 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)}become(e){return e instanceof ni&&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 be.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):be.empty}domAtPos(e){return(this.length?e==0:this.side>0)?Bt.before(this.dom):Bt.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 xC(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)}},ss=class extends Re{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof ss&&e.side==this.side}split(){return new ss(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?Bt.before(this.dom):Bt.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return be.empty}get isHidden(){return!0}};wo.prototype.children=ni.prototype.children=ss.prototype.children=CC;function fL(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 Bt(n,0)}function pL(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)?pL(o,e.children[0],n-1):(r.push(e),e.setParent(t)),t.length+=e.length}function mL(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):o6(t)}function o6(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let n=rf(e);return n[n.length-1]||null}function K0(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 LR=Object.create(null);function wC(t,e,n){if(t==e)return!0;t||(t=LR),e||(e=LR);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 U0(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 r6(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 ri=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){}},ct=function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t}(ct||(ct={})),Mt=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}=hL(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 Ae.of(e,n)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Mt.none=Ae.empty;var Sl=class extends Mt{constructor(e){let{start:n,end:o}=hL(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))&&wC(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 Mt{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof El&&this.spec.class==e.spec.class&&wC(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 Mt{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?ct.WidgetRange:this.startSide<=0?ct.WidgetBefore:ct.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof yr&&i6(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 hL(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 i6(t,e){return t==e||!!(t&&e&&t.compare(e))}function G0(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 Ft=class extends Re{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 Ft))return!1;this.dom||o.transferDOM(this)}return r&&this.setDeco(o?o.attrs:null),uL(this,e,n,o?o.children:[],i,s),!0}split(e){let n=new Ft;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){wC(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,n){pL(this,e,n)}addLineDeco(e){let n=e.spec.attributes,o=e.spec.class;n&&(this.attrs=K0(n,this.attrs||{})),o&&(this.attrs=K0({class:o},this.attrs||{}))}domAtPos(e){return fL(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,n){var o;this.dom?this.flags&4&&(sL(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&&(U0(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&&Re.get(r)instanceof Ko;)r=r.lastChild;if(!r||!this.length||r.nodeName!="BR"&&((o=Re.get(r))===null||o===void 0?void 0:o.isEditable)==!1&&(!ee.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=mL(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 ct.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 Ft)return i;if(s>n)break}r=s+i.breakAfter}return null}},oi=class extends Re{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 oi)||!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?Bt.before(this.dom):Bt.after(this.dom,e==this.length)}split(e){let n=this.length-e;this.length=e;let o=new oi(this.widget,n,this.type);return o.breakAfter=this.breakAfter,o}get children(){return CC}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):be.empty}domBoundsAround(){return null}become(e){return e instanceof oi&&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 oi&&e.type==ct.WidgetBefore)}getLine(){return this.curLine||(this.content.push(this.curLine=new Ft),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(Ah(new ss(-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==ct.WidgetAfter&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new oi(o.widget||new Yh("div"),l,a))}else{let a=ni.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 ss(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=Ae.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 ri{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}},gL=ie.define(),yL=ie.define(),bL=ie.define(),vL=ie.define(),j0=ie.define(),xL=ie.define(),CL=ie.define(),wL=ie.define({combine:t=>t.some(e=>e)}),SL=ie.define({combine:t=>t.some(e=>e)}),xu=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 xu(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}},AR=ke.define({map:(t,e)=>t.map(e)});function Zn(t,e,n){let o=t.facet(vL);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=ie.define({combine:t=>t.length?t[0]:!0}),s6=0,Zd=ie.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(s6++,e,o,s=>{let l=[Zd.of(s)];return i&&l.push(sf.of(a=>{let u=a.plugin(s);return u?i(u):Mt.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}},EL=ie.define(),SC=ie.define(),sf=ie.define(),EC=ie.define(),TL=ie.define();function kL(t){let e=0,n=0,o=0,r=0;for(let i of t.state.facet(TL)){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=ie.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}}},Cu=class{constructor(e,n,o){this.view=e,this.state=n,this.transactions=o,this.flags=0,this.startState=e.state,this.changes=qe.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 Cu(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}},Xe=function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t}(Xe||(Xe={})),q0=Xe.LTR,l6=Xe.RTL;function ML(t){let e=[];for(let n=0;n<t.length;n++)e.push(1<<+t[n]);return e}var a6=ML("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),u6=ML("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Q0=Object.create(null),gr=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),n=t.charCodeAt(1);Q0[e]=n,Q0[n]=-e}function c6(t){return t<=247?a6[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?u6[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8203?256:64336<=t&&t<=65023?4:t==8204?256:1}var d6=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,rs=class{constructor(e,n,o){this.from=e,this.to=n,this.level=o}get dir(){return this.level%2?l6:q0}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}},Je=[];function f6(t,e){let n=t.length,o=e==q0?1:2,r=e==q0?2:1;if(!t||o==1&&!d6.test(t))return IL(n);for(let s=0,l=o,a=o;s<n;s++){let u=c6(t.charCodeAt(s));u==512?u=l:u==8&&a==4&&(u=16),Je[s]=u==4?2:u,u&7&&(a=u),l=u}for(let s=0,l=o,a=o;s<n;s++){let u=Je[s];if(u==128)s<n-1&&l==Je[s+1]&&l&24?u=Je[s]=l:Je[s]=256;else if(u==64){let c=s+1;for(;c<n&&Je[c]==64;)c++;let d=s&&l==8||c<n&&Je[c]==8?a==1?1:8:256;for(let f=s;f<c;f++)Je[f]=d;s=c-1}else u==8&&a==1&&(Je[s]=1);l=u,u&7&&(a=u)}for(let s=0,l=0,a=0,u,c,d;s<n;s++)if(c=Q0[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&&(Je[s]=Je[gr[f]]=g),l=f;break}}else{if(gr.length==189)break;gr[l++]=s,gr[l++]=u,gr[l++]=a}else if((d=Je[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(Je[s]==256){let l=s+1;for(;l<n&&Je[l]==256;)l++;let a=(s?Je[s-1]:o)==1,u=(l<n?Je[l]:o)==1,c=a==u?a?1:2:o;for(let d=s;d<l;d++)Je[d]=c;s=l-1}let i=[];if(o==1)for(let s=0;s<n;){let l=s,a=Je[s++]!=1;for(;s<n&&a==(Je[s]!=1);)s++;if(a)for(let u=s;u>l;){let c=u,d=Je[--u]!=2;for(;u>l&&d==(Je[u-1]!=2);)u--;i.push(new rs(u,c,d?2:1))}else i.push(new rs(l,s,0))}else for(let s=0;s<n;){let l=s,a=Je[s++]==2;for(;s<n&&a==(Je[s]==2);)s++;i.push(new rs(l,s,a?1:2))}return i}function IL(t){return[new rs(0,t,0)]}var PL="";function p6(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=rs.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(PL=t.text.slice(Math.min(s,c),Math.max(s,c)),c!=a.side(r,n))return $.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?$.cursor(r?t.to:t.from,r?-1:1,n):d&&d.level<a.level?$.cursor(d.side(!r,n)+t.from,r?1:-1,d.level):$.cursor(c+t.from,r?-1:1,a.level)}var Zh=class extends Re{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 Ft],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:h6(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,(ee.ie||ee.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let r=this.decorations,i=this.updateDeco(),s=y6(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=ee.chrome||ee.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 oi&&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 v=Cl.build(this.view.state.doc,c,o.range.fromB,this.decorations,this.dynamicDecorationMap),w=Cl.build(this.view.state.doc,o.range.toB,d,this.decorations,this.dynamicDecorationMap);p=v.breakAtStart,g=v.openStart,y=w.openEnd;let C=this.compositionView(o);w.breakAtStart?C.breakAfter=1:w.content.length&&C.merge(C.length,C.length,w.content[0],!1,w.openStart,0)&&(C.breakAfter=w.content[0].breakAfter,w.content.shift()),v.content.length&&C.merge(0,0,v.content[v.content.length-1],!0,0,v.openEnd)&&v.content.pop(),f=v.content.concat(C).concat(w.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:b,off:x}=i.findPos(a,-1);aL(this,b,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 Ft;return o.append(n,0),o}fixCompositionDOM(e){let n=(i,s)=>{s.flags|=8,this.markedForComposition.add(s);let l=Re.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(ee.gecko&&l.empty&&!this.hasComposition&&m6(a)){let d=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(d,a.node.childNodes[a.offset]||null)),a=u=new Bt(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(()=>{ee.android&&ee.chrome&&this.dom.contains(c.focusNode)&&b6(c.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let d=Gh(this.view.root);if(d)if(l.empty){if(ee.gecko){let f=g6(a.node,a.offset);if(f&&f!=3){let p=RL(a.node,a.offset,f==1?1:-1);p&&(a=new Bt(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 Bt(c.anchorNode,c.anchorOffset),this.impreciseHead=u.precise?null:new Bt(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=Ft.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=Re.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 Ft)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!=ct.WidgetBefore&&i.type!=ct.WidgetAfter&&(!r||n==2||this.children[r-1].breakAfter||this.children[r-1].type==ct.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 Ft))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==Xe.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"?Xe.RTL:Xe.LTR}measureTextSize(){for(let i of this.children)if(i instanceof Ft){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(Mt.replace({widget:new eg(l),block:!0,inclusive:!0,isBlockGap:!0}).range(o,s))}if(!i)break;o=i.to+1}return Mt.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=kL(this.view),s={left:o.left-i.left,top:o.top-i.top,right:o.right+i.right,bottom:o.bottom+i.bottom};X9(this.view.scrollDOM,s,n.head<n.anchor?-1:1,e.x,e.y,e.xMargin,e.yMargin,this.view.textDirection==Xe.LTR)}};function m6(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 ri{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 DL(t){let e=t.observer.selectionRange,n=e.focusNode&&RL(e.focusNode,e.focusOffset,0);if(!n)return null;let o=Re.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=Re.get(u)){r=i=c.posAtEnd+s;break e}let d=new Jh([],t.state);if(d.readNode(u),d.text.indexOf(yu)>-1)return null;s+=d.text.length}if(l=l.parentNode,!l)return null;let a=Re.get(l);if(a){r=i=a.posAtStart+s;break}}return{from:r,to:i,node:n}}function h6(t,e){let n=DL(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=Re.get(f);if(p instanceof Ko)c.push({node:f,deco:p.mark});else{if(p instanceof Ft||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:r6(f),tagName:f.tagName.toLowerCase()})});else return null}}}function RL(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=is(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 g6(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 J0=class{constructor(){this.changes=[]}compareRange(e,n){G0(e,n,this.changes)}comparePoint(e,n){G0(e,n,this.changes)}};function y6(t,e,n){let o=new J0;return Ae.compare(t,e,n,o),o.changes}function b6(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 v6(t,e,n=1){let o=t.charCategorizer(e),r=t.doc.lineAt(e),i=e-r.from;if(r.length==0)return $.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 $.range(s+r.from,l+r.from)}function x6(t,e){return e.left>t?e.left-t:Math.max(0,t-e.right)}function C6(t,e){return e.top>t?e.top-t:Math.max(0,t-e.bottom)}function N0(t,e){return t.top<e.bottom-1&&t.bottom>e.top+1}function NR(t,e){return e<t.top?{top:e,left:t.left,right:t.right,bottom:t.bottom}:t}function OR(t,e){return e>t.bottom?{top:t.top,left:t.left,right:t.right,bottom:e}:t}function X0(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&&N0(r,h)&&(h=NR(OR(h,r.bottom),r.top));let b=x6(e,h),x=C6(n,h);if(b==0&&x==0)return g.nodeType==3?HR(g,e,n):X0(g,e,n);if(!o||s>x||s==x&&i>b){o=g,r=h,i=b,s=x;let v=x?n<h.top?-1:1:b?e<h.left?-1:1:0;l=!v||(v>0?m<y.length-1:m>0)}b==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&&N0(c,h)?c=OR(c,h.bottom):d&&N0(d,h)&&(d=NR(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 HR(o,f,n);if(l&&o.contentEditable!="false")return X0(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 HR(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((ee.chrome||ee.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 LL(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 v=t.viewState.heightOracle.textHeight/2,w=!1;a=t.elementAtHeight(f),a.type!=ct.Text;)for(;f=o>0?a.bottom+v:a.top-v,!(f>=0&&f<=u);){if(w)return n?null:0;w=!0,o=-o}d=l+f;let p=a.from;if(p<t.viewport.from)return t.viewport.from==0?0:n?null:FR(t,s,a,c,d);if(p>t.viewport.to)return t.viewport.to==t.state.doc.length?t.state.doc.length:n?null:FR(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,b=-1;if(m&&((r=t.docView.nearest(m))===null||r===void 0?void 0:r.isEditable)!=!1){if(g.caretPositionFromPoint){let v=g.caretPositionFromPoint(c,d);v&&({offsetNode:h,offset:b}=v)}else if(g.caretRangeFromPoint){let v=g.caretRangeFromPoint(c,d);v&&({startContainer:h,startOffset:b}=v,(!t.contentDOM.contains(h)||ee.safari&&w6(h,b,c)||ee.chrome&&S6(h,b,c))&&(h=void 0))}}if(!h||!t.docView.dom.contains(h)){let v=Ft.find(t.docView,p);if(!v)return f>a.top+a.height/2?a.to:a.from;({node:h,offset:b}=X0(v.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 v=x.dom.getBoundingClientRect();return e.y<v.top||e.y<=v.bottom&&e.x<=(v.left+v.right)/2?x.posAtStart:x.posAtEnd}else return x.localPosFromDOM(h,b)+x.posAtStart}function FR(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+xR(s,i,t.state.tabSize)}function w6(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 S6(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 Y0(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==ct.Text))return o}return n}function E6(t,e,n,o){let r=Y0(t,e.head),i=!o||r.type!=ct.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==Xe.LTR)?s.right-1:s.left+1,y:(i.top+i.bottom)/2});if(a!=null)return $.cursor(a,n?-1:1)}return $.cursor(n?r.to:r.from,n?-1:1)}function BR(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=p6(r,i,s,l,n),c=PL;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=$.cursor(n?r.from:r.to)}if(a){if(!a(c))return l}else{if(!o)return u;a=o(c)}l=u}}function T6(t,e,n){let o=t.state.charCategorizer(e),r=o(n);return i=>{let s=o(i);return r==mn.Space&&(r=s),r==s}}function k6(t,e,n,o){let r=e.head,i=n?1:-1;if(r==(n?t.state.doc.length:0))return $.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=LL(t,{x:d,y:g},!1,i);if(g<a.top||g>a.bottom||(i<0?y<r:y>r))return $.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 O0(t,e,n){let o=_h(t.state.facet(EC).map(r=>r(t)),n.from,e.head>n.from?-1:1);return o==n.from?n:$.cursor(o,o<n.from?1:-1)}var Z0=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 mt){let r=mt[o];e.contentDOM.addEventListener(o,i=>{VR(e,i)&&n(r,i)},tC[o]),this.registeredEvents.push(o)}e.scrollDOM.addEventListener("mousedown",o=>{if(o.target==e.scrollDOM&&o.clientY>e.contentDOM.getBoundingClientRect().bottom&&(n(mt.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(mt.drop,o)}),ee.chrome&&ee.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,ee.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=>{VR(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&&NL.indexOf(n.keyCode)<0&&(e.inputState.lastEscPress=0),ee.android&&ee.chrome&&!n.synthetic&&(n.keyCode==13||n.keyCode==8))return e.observer.delayAndroidKey(n.key,n.keyCode),!0;let o;return ee.ios&&!n.synthetic&&!n.altKey&&!n.metaKey&&((o=AL.find(r=>r.keyCode==n.keyCode))&&!n.ctrlKey||M6.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,vu(e.contentDOM,n.key,n.keyCode)):!1}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:ee.safari&&!ee.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()}},AL=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],M6="dthko",NL=[16,17,18,20,91,92,224,225],Nh=6;function Oh(t){return Math.max(0,t)*.7+8}function I6(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}var eC=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=Y9(e.contentDOM),this.atoms=e.state.facet(EC).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(ge.allowMultipleSelections)&&P6(e,n),this.dragging=R6(e,n)&&BL(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&&I6(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=kL(this.view);e.clientX-s.left<=i.left+Nh?o=-Oh(i.left-e.clientX):e.clientX+s.right>=i.right-Nh&&(o=Oh(e.clientX-i.right)),e.clientY-s.top<=i.top+Nh?r=-Oh(i.top-e.clientY):e.clientY+s.bottom>=i.bottom-Nh&&(r=Oh(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=$.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=$.range(r.from==r.anchor?s:l,r.from==r.head?s:l))}i&&(n||(n=e.ranges.slice()),n[o]=i)}return n?$.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 P6(t,e){let n=t.state.facet(gL);return n.length?n[0](e):ee.mac?e.metaKey:e.ctrlKey}function D6(t,e){let n=t.state.facet(yL);return n.length?n[0](e):ee.mac?!e.altKey:!e.ctrlKey}function R6(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 VR(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=Re.get(n))&&o.ignoreEvent(e))return!1;return!0}var mt=Object.create(null),tC=Object.create(null),OL=ee.ie&&ee.ie_version<15||ee.ios&&ee.webkit_version<604;function L6(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(),HL(t,n.value)},50)}function HL(t,e){let{state:n}=t,o,r=1,i=n.toText(e),s=i.lines==n.selection.ranges.length;if(nC!=null&&n.selection.ranges.every(a=>a.empty)&&nC==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:$.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:$.cursor(a.from+u.length)}}):o=n.replaceSelection(i);t.dispatch(o,{userEvent:"input.paste",scrollIntoView:!0})}mt.keydown=(t,e)=>{t.inputState.setSelectionOrigin("select"),e.keyCode==27&&(t.inputState.lastEscPress=Date.now())};mt.touchstart=(t,e)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")};mt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};tC.touchstart=tC.touchmove={passive:!0};mt.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return;let n=null;for(let o of t.state.facet(bL))if(n=o(t,e),n)break;if(!n&&e.button==0&&(n=O6(t,e)),n){let o=!t.hasFocus;t.inputState.startMouseSelection(new eC(t,e,n,o)),o&&t.observer.ignore(()=>iL(t.contentDOM)),t.inputState.mouseSelection&&t.inputState.mouseSelection.start(e)}};function zR(t,e,n,o){if(o==1)return $.cursor(e,n);if(o==2)return v6(t.state,e,n);{let r=Ft.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++,$.range(s,l)}}var FL=(t,e)=>t>=e.top&&t<=e.bottom,$R=(t,e,n)=>FL(e,n)&&t>=n.left&&t<=n.right;function A6(t,e,n,o){let r=Ft.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&&$R(n,o,s))return-1;let l=r.coordsAt(i,1);return l&&$R(n,o,l)?1:s&&FL(o,s)?-1:1}function _R(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:n,bias:A6(t,n,e.clientX,e.clientY)}}var N6=ee.ie&&ee.ie_version<=11,WR=null,KR=0,UR=0;function BL(t){if(!N6)return t.detail;let e=WR,n=UR;return WR=t,UR=Date.now(),KR=!e||n>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(KR+1)%3:1}function O6(t,e){let n=_R(t,e),o=BL(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=_R(t,i),u,c=zR(t,a.pos,a.bias,o);if(n.pos!=a.pos&&!s){let d=zR(t,n.pos,n.bias,o),f=Math.min(d.from,c.from),p=Math.max(d.to,c.to);c=f<c.from?$.range(f,p):$.range(p,f)}return s?r.replaceRange(r.main.extend(c.from,c.to)):l&&o==1&&r.ranges.length>1&&(u=H6(r,a.pos))?u:l?r.addRange(c):$.create([c])}}}function H6(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 $.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}mt.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 GR(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&&D6(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"})}mt.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&&GR(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 GR(t,e,e.dataTransfer.getData("Text"),!0)};mt.paste=(t,e)=>{if(t.state.readOnly)return e.preventDefault();t.observer.flush();let n=OL?null:e.clipboardData;n?(HL(t,n.getData("text/plain")||n.getData("text/uri-text")),e.preventDefault()):L6(t)};function F6(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 B6(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 nC=null;mt.copy=mt.cut=(t,e)=>{let{text:n,ranges:o,linewise:r}=B6(t.state);if(!n&&!r)return;nC=r?n:null;let i=OL?null:e.clipboardData;i?(e.preventDefault(),i.clearData(),i.setData("text/plain",n)):F6(t,n),e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:o,scrollIntoView:!0,userEvent:"delete.cut"})};var VL=Ln.define();function zL(t,e){let n=[];for(let o of t.facet(CL)){let r=o(t,e);r&&n.push(r)}return n?t.update({effects:n,annotations:VL.of(!0)}):null}function $L(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let n=zL(t.state,e);n?t.dispatch(n):t.update([])}},10)}mt.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),$L(t)};mt.blur=t=>{t.observer.clearSelectionRange(),$L(t)};mt.compositionstart=mt.compositionupdate=t=>{t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0)};mt.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,ee.chrome&&ee.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50)};mt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};mt.beforeinput=(t,e)=>{var n;let o;if(ee.chrome&&ee.android&&(o=AL.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"],oC=class{constructor(e){this.lineWrapping=e,this.doc=be.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}},rC=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"?ct.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)}},$e=function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t}($e||($e={})),Wh=.001,Vt=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 Vt.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,$e.ByPosNoHeight,o.setDoc(n),0,0),p=f.to>=u?f:i.lineAt(u,$e.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,$e.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 hn(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 iC(Vt.of(e.slice(0,n)),s,Vt.of(e.slice(o)))}};Vt.prototype.size=1;var tg=class extends Vt{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})`}},hn=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 hn||r instanceof kt&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof kt?r=new hn(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):Vt.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:""})`}},kt=class extends Vt{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==$e.ByHeight)return this.blockAt(e,o,r,i);if(n==$e.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 kt?o[o.length-1]=new kt(i.length+r):o.push(null,new kt(r-1))}if(e>0){let i=o[0];i instanceof kt?o[0]=new kt(e+i.length):o.unshift(new kt(e-1),null)}return Vt.of(o)}decomposeLeft(e,n){n.push(new kt(e-1),null)}decomposeRight(e,n){n.push(null,new kt(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 kt(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 hn(c,d);f.outdated=!1,s.push(f),l+=c+1}l<=i&&s.push(null,new kt(i-l).updateHeight(e,l));let u=Vt.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})`}},iC=class extends Vt{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==$e.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==$e.ByPosNoHeight?$e.ByPosNoHeight:$e.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,$e.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&&qR(i,s-1),n<this.length){let l=i.length;this.decomposeRight(n,i),qR(i,l)}return Vt.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?Vt.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 qR(t,e){let n,o;t[e]==null&&(n=t[e-1])instanceof kt&&(o=t[e+1])instanceof kt&&t.splice(e-1,3,new kt(n.length+1+o.length))}var V6=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 hn?r.length+=o-this.pos:(o>this.pos||!this.isCovered)&&this.nodes.push(new hn(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>=V6)&&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 hn(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,n){let o=new kt(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 hn)return e;let n=new hn(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==ct.WidgetAfter&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,o!=ct.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 hn)&&!this.isCovered?this.nodes.push(new hn(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 hn&&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 Ae.spans(n,o,r,i,0),i.finish(o)}};function z6(t,e,n){let o=new sC;return Ae.compare(t,e,n,o,0),o.changes}var sC=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,n,o,r){(e<n||o&&o.heightRelevant||r&&r.heightRelevant)&&G0(e,n,this.changes,5)}};function $6(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 _6(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 Mt.replace({widget:new lC(this.size,e)}).range(this.from,this.to)}},lC=class extends ri{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=QR,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Xe.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let n=e.facet(SC).some(o=>typeof o!="function"&&o.class=="cm-lineWrapping");this.heightOracle=new oC(n),this.stateDeco=e.facet(sf).filter(o=>typeof o!="function"),this.heightMap=Vt.empty().applyChanges(this.stateDeco,be.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=Mt.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 bu(i,s))}}this.viewports=e.sort((o,r)=>o.from-r.from),this.scaler=this.heightMap.height<=7e6?QR:new aC(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,z6(o,this.stateDeco,e?e.changes:qe.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(SL)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let n=e.contentDOM,o=window.getComputedStyle(n),r=this.heightOracle,i=o.whiteSpace;this.defaultTextDirection=o.direction=="rtl"?Xe.RTL:Xe.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=lL(e.scrollDOM);let p=(this.printing?_6:$6)(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:v,charWidth:w,textHeight:C}=e.docView.measureTextSize();s=v>0&&r.refresh(i,v,w,C,h/w,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 v of this.viewports){let w=v.from==this.viewport.from?x:e.docView.measureVisibleLineHeights(v);this.heightMap=(s?Vt.empty().applyChanges(this.stateDeco,be.empty,this.heightOracle,[new An(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,s,new rC(v.from,w))}r.heightChanged&&(u|=2)}let b=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return b&&(this.viewport=this.getViewport(c,this.scrollTarget)),this.updateForViewport(),(u&2||b)&&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 bu(r.lineAt(s-o*1e3,$e.ByHeight,i,0,0).from,r.lineAt(l+(1-o)*1e3,$e.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,$e.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 bu(r.lineAt(f-1e3/2,$e.ByHeight,i,0,0).from,r.lineAt(f+c+1e3/2,$e.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 bu(this.heightMap.lineAt(o,$e.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,$e.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,$e.ByPos,this.heightOracle,0,0),{bottom:i}=this.heightMap.lineAt(n,$e.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!=Xe.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=K6(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($.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=W6(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),b=((this.visibleBottom-this.visibleTop)/2+g)/u.height;y=h-b,m=h+b}else y=(this.visibleTop-u.top-g)/u.height,m=(this.visibleBottom-u.top+g)/u.height;f=Hh(c,y),p=Hh(c,m)}else{let g=c.total*this.heightOracle.charWidth,y=r*this.heightOracle.charWidth,m,h;if(d!=null){let b=Fh(c,d),x=((this.pixelViewport.right-this.pixelViewport.left)/2+y)/g;m=b-x,h=b+x}else m=(this.pixelViewport.left-y)/g,h=(this.pixelViewport.right+y)/g;f=Hh(c,m),p=Hh(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=Mt.set(e.map(n=>n.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let n=[];Ae.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,$e.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return tf(this.heightMap.lineAt(this.scaler.fromDOM(e),$e.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}},bu=class{constructor(e,n){this.from=e,this.to=n}};function W6(t,e,n){let o=[],r=t,i=0;return Ae.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 Hh({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 K6(t,e){for(let n of t)if(e(n))return n}var QR={toDOM(t){return t},fromDOM(t){return t},scale:1},aC=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,$e.ByPos,e,0,0).top,c=n.lineAt(a,$e.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=ie.define({combine:t=>t.join(" ")}),uC=ie.define({combine:t=>t.indexOf(!0)>-1}),cC=xo.newName(),_L=xo.newName(),WL=xo.newName(),KL={"&light":"."+_L,"&dark":"."+WL};function dC(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 U6=dC("."+cC,{"&":{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"}},KL),fC=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?[]:j6(e),a=new Jh(l,e.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=q6(l,this.bounds.from)}else{let l=e.observer.selectionRange,a=i&&i.node==l.focusNode&&i.offset==l.focusOffset||!V0(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||!V0(e.contentDOM,l.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset);this.newSel=$.single(u,a)}}};function UL(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||ee.android&&e.text.length<l-s)&&(a=r.to,u="end");let c=G6(t.state.doc.sliceString(s,l,yu),e.text,a-s,u);c&&(ee.chrome&&i==13&&c.toB==c.from+2&&e.text.slice(c.from,c.toB)==yu+yu&&c.toB--,n={from:s+c.from,to:s+c.toA,insert:be.of(e.text.slice(c.from,c.toB).split(yu))})}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))}:(ee.mac||ee.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=$.single(o.main.anchor-1,o.main.head-1)),n={from:r.from,to:r.to,insert:be.of([" "])}):ee.chrome&&n&&n.from==n.to&&n.from==r.head&&n.insert.toString()==`
854
854
  `&&t.lineWrapping&&(o&&(o=$.single(o.main.anchor-1,o.main.head-1)),n={from:r.from,to:r.to,insert:be.of([" "])}),n){let s=t.state;if(ee.ios&&t.inputState.flushIOSKey(t)||ee.android&&(n.from==r.from&&n.to==r.to&&n.insert.length==1&&n.insert.lines==2&&vu(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)&&vu(t.contentDOM,"Backspace",8)||n.from==r.from&&n.to==r.to+1&&n.insert.length==0&&vu(t.contentDOM,"Delete",46)))return!0;let l=n.insert.toString();if(t.state.facet(xL).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=DL(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,b=h-f.length;if(m.to-m.from!=y||t.state.sliceDoc(b,h)!=f||p&&m.to>=p.from&&m.from<=p.to)return{range:m};let x=s.changes({from:b,to:h,insert:n.insert}),v=m.to-r.to;return{changes:x,range:d?$.range(Math.max(0,d.anchor+v),Math.max(0,d.head+v)):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 G6(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 j6(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 q6(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?$.single(n+e,o+e):null}var Q6={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},H0=ee.ie&&ee.ie_version<=11,pC=class{constructor(e){this.view=e,this.active=!1,this.selectionRange=new z0,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);(ee.ie&&ee.ie_version<=11||ee.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()}),H0&&(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}(ee.ie&&ee.ie_version<=11||ee.android&&ee.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=ee.safari&&e.root.nodeType==11&&Q9(this.dom.ownerDocument)==this.dom&&J6(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&&e6(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,Q6),H0&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),H0&&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&&vu(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 fC(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=UL(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=JR(n,e.previousSibling||e.target.previousSibling,-1),r=JR(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 JR(t,e,n){for(;e;){let o=Re.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 J6(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 se=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||Z9(e.parent)||document,this.viewState=new ng(e.state||ge.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 pC(this),this.inputState=new Z0(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 Qe?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(VL))?(this.inputState.notifiedFocused=s,l=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,a=zL(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(ge.phrases)!=this.state.facet(ge.phrases))return this.setState(i);r=Cu.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 xu(p.empty?p:$.cursor(p.head,p.head>p.anchor?-1:1))}for(let p of f.effects)p.is(AR)&&(d=p.value)}this.viewState.update(r,d),this.bidiCache=wu.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&&!UL(this,c)&&u.force&&vu(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(lL(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),XR}}),d=Cu.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]!=XR)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 cC+" "+(this.state.facet(uC)?WL:_L)+" "+this.state.facet(Bh)}updateAttrs(){let e=YR(this,EL,{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:`${ee.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),YR(this,SC,n);let o=this.observer.ignore(()=>{let r=U0(this.contentDOM,this.contentAttrs,n),i=U0(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(se.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(U6).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 O0(this,e,BR(this,e,n,o))}moveByGroup(e,n){return O0(this,e,BR(this,e,n,o=>T6(this,e.head,o)))}moveToLineBoundary(e,n,o=!0){return E6(this,e,n,o)}moveVertically(e,n,o){return O0(this,e,k6(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(),LL(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[rs.find(i,e-r.from,-1,n)];return xC(o,s.dir==Xe.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(wL)||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>X6)return IL(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=f6(e.text,n);return this.bidiCache.push(new wu(e.from,e.to,n,o)),o}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||ee.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{iL(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 AR.of(new xu(typeof e=="number"?$.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(dC(`.${o}`,e))];return n&&n.dark&&r.push(uC.of(!0)),r}static baseTheme(e){return ts.lowest(ef.of(dC("."+cC,e,KL)))}static findFromDOM(e){var n;let o=e.querySelector(".cm-content"),r=o&&Re.get(o)||Re.get(e);return((n=r==null?void 0:r.rootView)===null||n===void 0?void 0:n.view)||null}};se.styleModule=ef;se.inputHandler=xL;se.focusChangeEffect=CL;se.perLineTextDirection=wL;se.exceptionSink=vL;se.updateListener=j0;se.editable=rg;se.mouseSelectionStyle=bL;se.dragMovesSelection=yL;se.clickAddsSelectionRange=gL;se.decorations=sf;se.atomicRanges=EC;se.scrollMargins=TL;se.darkTheme=uC;se.contentAttributes=SC;se.editorAttributes=EL;se.lineWrapping=se.contentAttributes.of({class:"cm-lineWrapping"});se.announce=ke.define();var X6=4096,XR={},wu=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:Xe.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 wu(n.mapPos(s.from,1),n.mapPos(s.to,-1),s.dir,s.order))}return o}};function YR(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&&K0(s,n)}return n}var Y6=ee.mac?"mac":ee.windows?"win":ee.linux?"linux":"key";function Z6(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 e7=ts.default(se.domEventHandlers({keydown(t,e){return r7(t7(e.state),t,e,"editor")}})),br=ie.define({enables:e7}),ZR=new WeakMap;function t7(t){let e=t.facet(br),n=ZR.get(e);return n||ZR.set(e,n=o7(e.reduce((o,r)=>o.concat(r),[]))),n}var os=null,n7=4e3;function o7(t,e=Y6){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=>Z6(h,e));for(let h=1;h<g.length;h++){let b=g.slice(0,h).join(" ");r(b,!0),p[b]||(p[b]={preventDefault:!0,stopPropagation:!1,run:[x=>{let v=os={view:x,prefix:b,scope:s};return setTimeout(()=>{os==v&&(os=null)},n7),!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 r7(t,e,n,o){let r=ER(e),i=Jt(r,0),s=vo(i)==r.length&&r!=" ",l="",a=!1,u=!1,c=!1;os&&os.view==n&&os.scope==o&&(l=os.prefix+" ",NL.indexOf(e.keyCode)<0&&(u=!0,os=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)&&!(ee.windows&&e.ctrlKey&&e.altKey)&&(g=ti[e.keyCode])&&g!=r?(f(p[l+Vh(g,e,!0)])||e.shiftKey&&(y=hu[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=GL(e);return[new Tl(n,r.left-i.left,r.top-i.top,null,r.bottom-r.top)]}else return i7(e,n,o)}};function GL(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Xe.LTR?e.left:e.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,top:e.top-t.scrollDOM.scrollTop}}function eL(t,e,n){let o=$.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:ct.Text}}function i7(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==Xe.LTR,s=t.contentDOM,l=s.getBoundingClientRect(),a=GL(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=Y0(t,o),g=Y0(t,r),y=p.type==ct.Text?p:null,m=g.type==ct.Text?g:null;if(y&&(t.lineWrapping||p.widgetLineBreaks)&&(y=eL(t,o,y)),m&&(t.lineWrapping||g.widgetLineBreaks)&&(m=eL(t,r,m)),y&&m&&y.from==m.from)return b(x(n.from,n.to,y));{let w=y?x(n.from,null,y):v(p,!1),C=m?x(null,n.to,m):v(g,!0),S=[];return(y||p).to<(m||g).from-(y&&m?1:0)||p.widgetLineBreaks>1&&w.bottom+t.defaultLineHeight/2<C.top?S.push(h(d,w.bottom,f,C.top)):w.bottom<C.top&&t.elementAtHeight((w.bottom+C.top)/2).type==ct.Text&&(w.bottom=C.top=(w.bottom+C.top)/2),b(w).concat(S).concat(b(C))}function h(w,C,S,E){return new Tl(e,w-a.left,C-a.top-.01,S-w,E-C+.01)}function b({top:w,bottom:C,horizontal:S}){let E=[];for(let T=0;T<S.length;T+=2)E.push(h(S[T],w,S[T+1],C));return E}function x(w,C,S){let E=1e9,T=-1e9,M=[];function O(A,N,R,H,k){let L=t.coordsAtPos(A,A==S.to?-2:2),D=t.coordsAtPos(R,R==S.from?2:-2);!L||!D||(E=Math.min(L.top,D.top,E),T=Math.max(L.bottom,D.bottom,T),k==Xe.LTR?M.push(i&&N?d:L.left,i&&H?f:D.right):M.push(!i&&H?d:D.left,!i&&N?f:L.right))}let I=w!=null?w:S.from,P=C!=null?C:S.to;for(let A of t.visibleRanges)if(A.to>I&&A.from<P)for(let N=Math.max(A.from,I),R=Math.min(A.to,P);;){let H=t.state.doc.lineAt(N);for(let k of t.bidiSpans(H)){let L=k.from+H.from,D=k.to+H.from;if(L>=R)break;D>N&&O(Math.max(L,N),w==null&&L<=I,Math.min(D,R),C==null&&D>=P,k.dir)}if(N=H.to+1,N>=R)break}return M.length==0&&O(I,w==null,P,C==null,t.textDirection),{top:E,bottom:T,horizontal:M}}function v(w,C){let S=l.top+(C?w.top:w.bottom);return{top:S,bottom:S,horizontal:[]}}}function s7(t,e){return t.constructor==e.constructor&&t.eq(e)}var mC=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)=>!s7(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=ie.define();function jL(t){return[Nn.define(e=>new mC(e,t)),Kh.of(t)]}var qL=!ee.ios,af=ie.define({combine(t){return ns(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,n)=>Math.min(e,n),drawRangeCursor:(e,n)=>e||n})}});function TC(t={}){return[af.of(t),l7,a7,u7,SL.of(!0)]}function QL(t){return t.startState.facet(af)!=t.state.facet(af)}var l7=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||qL:n.drawRangeCursor){let s=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",l=r.empty?r:$.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=QL(t);return n&&tL(t.state,e),t.docChanged||t.selectionSet||n},mount(t,e){tL(e.state,t)},class:"cm-cursorLayer"});function tL(t,e){e.style.animationDuration=t.facet(af).cursorBlinkRate+"ms"}var a7=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||QL(t)},class:"cm-selectionLayer"}),JL={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};qL&&(JL[".cm-line"].caretColor="transparent !important");var u7=ts.highest(se.theme(JL));function nL(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 c7(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 hC=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 c7(e,this.maxLength))nL(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 nL(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}},gC=/x/.unicode!=null?"gu":"g",d7=new RegExp(`[\0-\b
855
- -\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,gC),f7={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"},F0=null;function p7(){var t;if(F0==null&&typeof document<"u"&&document.body){let e=document.body.style;F0=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return F0||!1}var Uh=ie.define({combine(t){let e=ns(t,{render:null,specialChars:d7,addSpecialChars:null});return(e.replaceTabs=!p7())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,gC)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,gC)),e}});function kC(t={}){return[Uh.of(t),m7()]}var oL=null;function m7(){return oL||(oL=Nn.fromClass(class{constructor(t){this.view=t,this.decorations=Mt.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(Uh)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new hC({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 Mt.replace({widget:new bC((l-a%l)*this.view.defaultCharacterWidth)})}return this.decorationCache[i]||(this.decorationCache[i]=Mt.replace({widget:new yC(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 h7="\u2022";function g7(t){return t>=32?h7:t==10?"\u2424":String.fromCharCode(9216+t)}var yC=class extends ri{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=g7(this.code),o=e.state.phrase("Control character")+" "+(f7[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}},bC=class extends ri{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",vC=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 y7(t){let{win:e}=t;return{top:0,left:0,bottom:e.innerHeight,right:e.innerWidth}}var B0=ie.define({combine:t=>{var e,n,o;return{position:ee.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)||y7}}}),rL=new WeakMap,XL=Nn.fromClass(class{constructor(t){this.view=t,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(B0);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 vC(t,MC,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(B0);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(B0).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=rL.get(l))!==null&&e!==void 0?e:c.bottom-c.top,y=l.offset||v7,m=this.view.textDirection==Xe.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),b=!!s.above;!s.strictSide&&(b?u.top-(c.bottom-c.top)-y.y<o.top:u.bottom+(c.bottom-c.top)+y.y>o.bottom)&&b==o.bottom-u.bottom>u.top-o.top&&(b=!b);let x=(b?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}rL.set(l,g),a.style.height=(g=x)+"px"}else a.style.height&&(a.style.height="");let v=b?u.top-g-f-y.y:u.bottom+f+y.y,w=h+p;if(l.overlap!==!0)for(let C of r)C.left<w&&C.right>h&&C.top<v+g&&C.bottom>v&&(v=b?C.top-g-2-f:C.bottom+f+2);this.position=="absolute"?(a.style.top=v-t.parent.top+"px",a.style.left=h-t.parent.left+"px"):(a.style.top=v+"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:v,right:w,bottom:v+g}),a.classList.toggle("cm-tooltip-above",b),a.classList.toggle("cm-tooltip-below",!b),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()}}}),b7=se.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"}}}),v7={x:0,y:0},MC=ie.define({enables:[XL,b7]});function IC(t,e){let n=t.plugin(XL);if(!n)return null;let o=n.manager.tooltips.indexOf(e);return o<0?null:n.manager.tooltipViews[o]}var ii=class extends Wo{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};ii.prototype.elementClass="";ii.prototype.toDOM=void 0;ii.prototype.mapMode=Qt.TrackBefore;ii.prototype.startSide=ii.prototype.endSide=-1;ii.prototype.point=!0;var x7=0,uf=class{constructor(e,n){this.from=e,this.to=n}},de=class{constructor(e={}){this.id=x7++,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=Dt.match(e)),n=>{let o=e(n);return o===void 0?null:[this,o]}}};de.closedBy=new de({deserialize:t=>t.split(" ")});de.openedBy=new de({deserialize:t=>t.split(" ")});de.group=new de({deserialize:t=>t.split(" ")});de.contextHash=new de({perNode:!0});de.lookAhead=new de({perNode:!0});de.mounted=new de({perNode:!0});var C7=Object.create(null),Dt=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):C7,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new Dt(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(de.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(de.group),i=-1;i<(r?r.length:0);i++){let s=n[i<0?o.name:r[i]];if(s)return s}}}};Dt.none=new Dt("",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 Dt(o.name,r,o.id,o.flags):o)}return new kl(n)}},ig=new WeakMap,YL=new WeakMap,ht;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays"})(ht||(ht={}));var _e=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(de.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 Eu(this.topNode,e)}cursorAt(e,n=0,o=0){let r=ig.get(this)||this.topNode,i=new Eu(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=Su(ig.get(this)||this.topNode,e,n,!1);return ig.set(this,o),o}resolveInner(e,n=0){let o=Su(YL.get(this)||this.topNode,e,n,!0);return YL.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&ht.IncludeAnonymous)>0;for(let a=this.cursor(s|ht.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:LC(Dt.none,this.children,this.positions,0,this.children.length,0,this.length,(n,o,r)=>new _e(this.type,n,o,r,this.propValues),e.makeTree||((n,o,r)=>new _e(Dt.none,n,o,r)))}static build(e){return w7(e)}};_e.empty=new _e(Dt.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)}},si=class{constructor(e,n,o){this.buffer=e,this.length=n,this.set=o}get type(){return Dt.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&&!(eA(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 si(i,s,this.set)}};function eA(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 tA(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 Su(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:ht.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(eA(r,o,d,d+c.length)){if(c instanceof si){if(i&ht.ExcludeBuffers)continue;let f=c.findChild(0,c.buffer.length,n,o-d,r);if(f>-1)return new vr(new PC(s,c,e,d),null,f)}else if(i&ht.IncludeAnonymous||!c.type.isAnonymous||RC(c)){let f;if(!(i&ht.IgnoreMounts)&&c.props&&(f=c.prop(de.mounted))&&!f.overlay)return new Uo(f.tree,d,e,s);let p=new Uo(c,d,e,s);return i&ht.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(n<0?c.children.length-1:0,n,o,r)}}}if(i&ht.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&ht.IgnoreOverlays)&&(r=this._tree.prop(de.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 Eu(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,n=0){return Su(this,e,n,!1)}resolveInner(e,n=0){return Su(this,e,n,!0)}enterUnfinishedNodesBefore(e){return tA(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 PC=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&ht.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 Eu(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 _e(this.type,e,n,this.to-this.from)}resolve(e,n=0){return Su(this,e,n,!1)}resolveInner(e,n=0){return Su(this,e,n,!0)}enterUnfinishedNodesBefore(e){return tA(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)}},Eu=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&ht.ExcludeBuffers?!1:this.enterChild(1,e,n):this.yield(this._tree.enter(e,n,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ht.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ht.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&ht.IncludeAnonymous||l instanceof si||!l.type.isAnonymous||RC(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 RC(t){return t.children.some(e=>e instanceof si||!e.type.isAnonymous||RC(e))}function w7(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(v,w,C,S,E){let{id:T,start:M,end:O,size:I}=l,P=c;for(;I<0;)if(l.next(),I==-1){let k=i[T];C.push(k),S.push(M-v);return}else if(I==-3){u=T;return}else if(I==-4){c=T;return}else throw new RangeError(`Unrecognized record size: ${I}`);let A=a[T],N,R,H=M-v;if(O-M<=r&&(R=y(l.pos-w,E))){let k=new Uint16Array(R.size-R.skip),L=l.pos-R.size,D=k.length;for(;l.pos>L;)D=m(R.start,k,D);N=new si(k,O-R.start,o),H=R.start-v}else{let k=l.pos-I;l.next();let L=[],D=[],B=T>=s?T:-1,F=0,U=O;for(;l.pos>k;)B>=0&&l.id==B&&l.size>=0?(l.end<=U-r&&(p(L,D,M,F,l.end,U,B,P),F=L.length,U=l.end),l.next()):d(M,k,L,D,B);if(B>=0&&F>0&&F<L.length&&p(L,D,M,F,M,U,B,P),L.reverse(),D.reverse(),B>-1&&F>0){let re=f(A);N=LC(A,L,D,0,L.length,0,O-M,re,re)}else N=g(A,L,D,O-M,P-O)}C.push(N),S.push(H)}function f(v){return(w,C,S)=>{let E=0,T=w.length-1,M,O;if(T>=0&&(M=w[T])instanceof _e){if(!T&&M.type==v&&M.length==S)return M;(O=M.prop(de.lookAhead))&&(E=C[T]+M.length+O)}return g(v,w,C,S,E)}}function p(v,w,C,S,E,T,M,O){let I=[],P=[];for(;v.length>S;)I.push(v.pop()),P.push(w.pop()+C-E);v.push(g(o.types[M],I,P,T-E,O-T)),w.push(E-C)}function g(v,w,C,S,E=0,T){if(u){let M=[de.contextHash,u];T=T?[M].concat(T):[M]}if(E>25){let M=[de.lookAhead,E];T=T?[M].concat(T):[M]}return new _e(v,w,C,S,T)}function y(v,w){let C=l.fork(),S=0,E=0,T=0,M=C.end-r,O={size:0,start:0,skip:0};e:for(let I=C.pos-v;C.pos>I;){let P=C.size;if(C.id==w&&P>=0){O.size=S,O.start=E,O.skip=T,T+=4,S+=4,C.next();continue}let A=C.pos-P;if(P<0||A<I||C.start<M)break;let N=C.id>=s?4:0,R=C.start;for(C.next();C.pos>A;){if(C.size<0)if(C.size==-3)N+=4;else break e;else C.id>=s&&(N+=4);C.next()}E=R,S+=P,T+=N}return(w<0||S==v)&&(O.size=S,O.start=E,O.skip=T),O.size>4?O:void 0}function m(v,w,C){let{id:S,start:E,end:T,size:M}=l;if(l.next(),M>=0&&S<s){let O=C;if(M>4){let I=l.pos-(M-4);for(;l.pos>I;)C=m(v,w,C)}w[--C]=O,w[--C]=T-v,w[--C]=E-v,w[--C]=S}else M==-3?u=S:M==-4&&(c=S);return C}let h=[],b=[];for(;l.pos>0;)d(t.start||0,t.bufferStart||0,h,b,-1);let x=(e=t.length)!==null&&e!==void 0?e:h.length?b[0]+h[0].length:0;return new _e(a[t.topID],h.reverse(),b.reverse(),x)}var ZL=new WeakMap;function sg(t,e){if(!t.isAnonymous||e instanceof si||e.type!=t)return 1;let n=ZL.get(e);if(n==null){n=1;for(let o of e.children){if(o.type!=t||!(o instanceof _e)){n=1;break}n+=sg(t,o)}ZL.set(e,n)}return n}function LC(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,b){for(let x=m;x<h;){let v=x,w=y[x],C=sg(t,g[x]);for(x++;x<h;x++){let S=sg(t,g[x]);if(C+S>=c)break;C+=S}if(x==v+1){if(C>c){let S=g[v];p(S.children,S.positions,0,S.children.length,y[v]+b);continue}d.push(g[v])}else{let S=y[x-1]+g[x-1].length-w;d.push(LC(t,g,y,v,x,w,S,null,a))}f.push(w+b-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}},Tu=class{startParse(e,n,o){return typeof e=="string"&&(e=new DC(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}}},DC=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 Kfe=new de({perNode:!0});var S7=0,So=class{constructor(e,n,o){this.set=e,this.base=n,this.modified=o,this.id=S7++}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 ku;return n=>n.modified.indexOf(e)>-1?n:ku.get(n.base||n,n.modified.concat(e).sort((o,r)=>o.id-r.id))}},E7=0,ku=class{constructor(){this.instances=[],this.id=E7++}static get(e,n){if(!n.length)return e;let o=n[0].instances.find(l=>l.base==e&&T7(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=k7(n);for(let l of e.set)if(!l.modified.length)for(let a of s)r.push(ku.get(l,a));return i}};function T7(t,e){return t.length==e.length&&t.every((n,o)=>n==e[o])}function k7(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 Mu(o,s,a>0?i.slice(0,a):null);e[u]=c.sort(e[u])}}return rA.add(e)}var rA=new de,Mu=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}};Mu.empty=new Mu([],2,null);function HC(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 M7(t,e){let n=null;for(let o of t){let r=o.style(e);r&&(n=n?n+" "+r:r)}return n}function iA(t,e,n,o=0,r=t.length){let i=new NC(o,Array.isArray(e)?e:[e],n);i.highlightRange(t.cursor(),o,r,"",i.highlighters),i.flush(r)}var NC=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=I7(e)||Mu.empty,d=M7(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(de.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 b=m<f.overlay.length?f.overlay[m]:null,x=b?b.from+l:a,v=Math.max(n,h),w=Math.min(o,x);if(v<w&&y)for(;e.from<w&&(this.highlightRange(e,v,w,r,i),this.startSpan(Math.min(w,e.to),u),!(e.to>=x||!e.nextSibling())););if(!b||x>o)break;h=b.to+l,h>n&&(this.highlightRange(p.cursor(),Math.max(n,b.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 I7(t){let e=t.type.prop(rA);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}var q=So.define,ug=q(),ls=q(),nA=q(ls),oA=q(ls),as=q(),cg=q(as),AC=q(as),Sr=q(),Ml=q(Sr),Cr=q(),wr=q(),OC=q(),df=q(OC),dg=q(),K={comment:ug,lineComment:q(ug),blockComment:q(ug),docComment:q(ug),name:ls,variableName:q(ls),typeName:nA,tagName:q(nA),propertyName:oA,attributeName:q(oA),className:q(ls),labelName:q(ls),namespace:q(ls),macroName:q(ls),literal:as,string:cg,docString:q(cg),character:q(cg),attributeValue:q(cg),number:AC,integer:q(AC),float:q(AC),bool:q(as),regexp:q(as),escape:q(as),color:q(as),url:q(as),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:OC,separator:q(OC),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()},jfe=HC([{tag:K.link,class:"tok-link"},{tag:K.heading,class:"tok-heading"},{tag:K.emphasis,class:"tok-emphasis"},{tag:K.strong,class:"tok-strong"},{tag:K.keyword,class:"tok-keyword"},{tag:K.atom,class:"tok-atom"},{tag:K.bool,class:"tok-bool"},{tag:K.url,class:"tok-url"},{tag:K.labelName,class:"tok-labelName"},{tag:K.inserted,class:"tok-inserted"},{tag:K.deleted,class:"tok-deleted"},{tag:K.literal,class:"tok-literal"},{tag:K.string,class:"tok-string"},{tag:K.number,class:"tok-number"},{tag:[K.regexp,K.escape,K.special(K.string)],class:"tok-string2"},{tag:K.variableName,class:"tok-variableName"},{tag:K.local(K.variableName),class:"tok-variableName tok-local"},{tag:K.definition(K.variableName),class:"tok-variableName tok-definition"},{tag:K.special(K.variableName),class:"tok-variableName2"},{tag:K.definition(K.propertyName),class:"tok-propertyName tok-definition"},{tag:K.typeName,class:"tok-typeName"},{tag:K.namespace,class:"tok-namespace"},{tag:K.className,class:"tok-className"},{tag:K.macroName,class:"tok-macroName"},{tag:K.propertyName,class:"tok-propertyName"},{tag:K.operator,class:"tok-operator"},{tag:K.comment,class:"tok-comment"},{tag:K.meta,class:"tok-meta"},{tag:K.invalid,class:"tok-invalid"},{tag:K.punctuation,class:"tok-punctuation"}]);var FC,Iu=new de;function P7(t){return ie.define({combine:t?e=>e.concat(t):void 0})}var D7=new de,On=class{constructor(e,n,o=[],r=""){this.data=e,this.name=r,ge.prototype.hasOwnProperty("tree")||Object.defineProperty(ge.prototype,"tree",{get(){return It(this)}}),this.parser=n,this.extension=[Du.of(this),ge.languageData.of((i,s,l)=>{let a=sA(i,s,l),u=a.type.prop(Iu);if(!u)return[];let c=i.facet(u),d=a.type.prop(D7);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 sA(e,n,o).type.prop(Iu)==this.data}findRegions(e){let n=e.facet(Du);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(Iu)==this.data){o.push({from:s,to:s+i.length});return}let l=i.prop(de.mounted);if(l){if(l.tree.prop(Iu)==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 _e&&r(u,i.positions[a]+s)}};return r(It(e),0),o}get allowsNesting(){return!0}};On.setState=ke.define();function sA(t,e,n){let o=t.facet(Du),r=It(t).topNode;if(!o||o.allowsNesting)for(let i=r;i;i=i.enter(e,n,ht.ExcludeBuffers))i.type.isTop&&(r=i);return r}var Er=class extends On{constructor(e,n,o){super(e,n,[],o),this.parser=n}static define(e){let n=P7(e.languageData);return new Er(n,e.parser.configure({props:[Iu.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 It(t){let e=t.field(On.state,!1);return e?e.tree:_e.empty}function fg(t,e,n=50){var o;let r=(o=t.field(On.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 $C=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,Pu=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 Pu(e,n,[],_e.empty,0,o,[],null)}startParse(){return this.parser.startParse(new $C(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=_e.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=lA(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=_e.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 Pu(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=lA(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 Tu{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 _e(Dt.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 lA(t,e,n){return xr.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}var us=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 us(n)}static init(e){let n=Math.min(3e3,e.doc.length),o=Pu.create(e.facet(Du).parser,e,{from:0,to:n});return o.work(20,n)||o.takeTree(),new us(o)}};On.state=Yt.define({create:us.init,update(t,e){for(let n of e.effects)if(n.is(On.setState))return n.value;return e.startState.facet(Du)!=e.state.facet(Du)?us.init(e.state):t.apply(e)}});var cA=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(cA=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:500-100})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});var BC=typeof navigator<"u"&&(!((FC=navigator.scheduling)===null||FC===void 0)&&FC.isInputPending)?()=>navigator.scheduling.isInputPending():null,R7=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(On.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(On.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=cA(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(On.state);if(i.tree==i.context.tree&&i.context.isDone(r+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!BC?Math.max(25,e.timeRemaining()-5):1e9),l=i.context.treeLen<r&&o.doc.length>r+1e3,a=i.context.work(()=>BC&&BC()||Date.now()>s,r+(l?0:1e5));this.chunkBudget-=Date.now()-n,(a||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:On.setState.of(new us(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()}}}),Du=ie.define({combine(t){return t.length?t[0]:null},enables:t=>[On.state,R7,se.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]}),Ru=class{constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}};var L7=ie.define(),mf=ie.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 GC(t,e){t instanceof ge&&(t=new Pl(t));for(let o of t.state.facet(L7)){let r=o(t,e);if(r!==void 0)return r}let n=It(t.state);return n?N7(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}},A7=new de;function N7(t,e,n){return dA(e.resolveInner(n).enterUnfinishedNodesBefore(n),n,t)}function O7(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function H7(t){let e=t.type.prop(A7);if(e)return e;let n=t.firstChild,o;if(n&&(o=n.type.prop(de.closedBy))){let r=t.lastChild,i=r&&o.indexOf(r.name)>-1;return s=>z7(s,!0,1,void 0,i&&!O7(s)?r.from:void 0)}return t.parent==null?F7:null}function dA(t,e,n){for(;t;t=t.parent){let o=H7(t);if(o)return o(pf.create(n,e,t))}return null}function F7(){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(B7(o,e))break;n=this.state.doc.lineAt(o.from)}return this.lineIndent(n.from)}continue(){let e=this.node.parent;return e?dA(e,this.pos,this.base):0}};function B7(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function V7(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 z7(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?V7(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 On?l=>l.prop(Iu)==s.data:s?l=>l==s:void 0,this.style=HC(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||{})}},_C=ie.define(),fA=ie.define({combine(t){return t.length?[t[0]]:null}});function VC(t){let e=t.facet(_C);return e.length?e:t.facet(fA)}function Dl(t,e){let n=[$7],o;return t instanceof Go&&(t.module&&n.push(se.styleModule.of(t.module)),o=t.themeType),e!=null&&e.fallback?n.push(fA.of(t)):o?n.push(_C.computeN([se.darkTheme],r=>r.facet(se.darkTheme)==(o=="dark")?[t]:[])):n.push(_C.of(t)),n}var WC=class{constructor(e){this.markCache=Object.create(null),this.tree=It(e.state),this.decorations=this.buildDeco(e,VC(e.state))}update(e){let n=It(e.state),o=VC(e.state),r=o!=VC(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 Mt.none;let o=new hr;for(let{from:r,to:i}of e.visibleRanges)iA(this.tree,n,(s,l,a)=>{o.add(s,l,this.markCache[a]||(this.markCache[a]=Mt.mark({class:a})))},r,i);return o.finish()}},$7=ts.high(Nn.fromClass(WC,{decorations:t=>t.decorations})),jC=Go.define([{tag:K.meta,color:"#404740"},{tag:K.link,textDecoration:"underline"},{tag:K.heading,textDecoration:"underline",fontWeight:"bold"},{tag:K.emphasis,fontStyle:"italic"},{tag:K.strong,fontWeight:"bold"},{tag:K.strikethrough,textDecoration:"line-through"},{tag:K.keyword,color:"#708"},{tag:[K.atom,K.bool,K.url,K.contentSeparator,K.labelName],color:"#219"},{tag:[K.literal,K.inserted],color:"#164"},{tag:[K.string,K.deleted],color:"#a11"},{tag:[K.regexp,K.escape,K.special(K.string)],color:"#e40"},{tag:K.definition(K.variableName),color:"#00f"},{tag:K.local(K.variableName),color:"#30a"},{tag:[K.typeName,K.namespace],color:"#085"},{tag:K.className,color:"#167"},{tag:[K.special(K.variableName),K.macroName],color:"#256"},{tag:K.definition(K.propertyName),color:"#00c"},{tag:K.comment,color:"#940"},{tag:K.invalid,color:"#f00"}]);var _7=1e4,W7="()[]{}";var K7=new de;function KC(t,e,n){let o=t.prop(e<0?de.openedBy:de.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 UC(t){let e=t.type.prop(K7);return e?e(t.node):t}function Rl(t,e,n,o={}){let r=o.maxScanDistance||_7,i=o.brackets||W7,s=It(t),l=s.resolveInner(e,n);for(let a=l;a;a=a.parent){let u=KC(a.type,n,i);if(u&&a.from<a.to){let c=UC(a);if(c&&(n>0?e>=c.from&&e<c.to:e>c.from&&e<=c.to))return U7(t,e,n,a,c,u,i)}}return G7(t,e,n,s,l.type,r,i)}function U7(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=UC(c);return{start:a,end:d?{from:d.from,to:d.to}:void 0,matched:!0}}else if(KC(c.type,n,s))u++;else if(KC(c.type,-n,s)){if(u==0){let d=UC(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 G7(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 j7=Object.create(null),aA=[Dt.none];var uA=[],q7=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"]])q7[t]=Q7(j7,e);function zC(t,e){uA.indexOf(t)>-1||(uA.push(t),console.warn(e))}function Q7(t,e){let n=null;for(let i of e.split(".")){let s=t[i]||K[i];s?typeof s=="function"?n?n=s(n):zC(i,`Modifier ${i} used at start of tag`):n?zC(i,`Tag ${i} used as modifier`):n=s:zC(i,`Unknown highlighting tag ${i}`)}if(!n)return 0;let o=e.replace(/ /g,"_"),r=Dt.define({id:aA.length,name:o,props:[Il({[o]:n})]});return aA.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=It(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(wA(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 pA(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 J7(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=pA(e)+pA(n)+"*$";return[new RegExp("^"+o),new RegExp(o)]}function X7(t){let e=t.map(r=>typeof r=="string"?{label:r}:r),[n,o]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:J7(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 ds(t){return t.selection.main.from}function wA(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 Y7=Ln.define();function Z7(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:$.cursor(l.from+i+e.length)})),{userEvent:"input.complete"})}var mA=new WeakMap;function eV(t){if(!Array.isArray(t))return t;let e=mA.get(t);return e||mA.set(t,e=X7(t)),e}var ZC=ke.define(),yf=ke.define(),QC=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 b=Jt(e,0),x=vo(b),v=x==e.length?0:-100;if(b!=n[0])if(b==o[0])v+=-200;else return!1;return this.ret(v,[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 b=0,x=Math.min(e.length,200);b<x&&u<a;){let v=Jt(e,b);(v==n[u]||v==o[u])&&(r[u++]=b),b+=vo(v)}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 b=0,x=Math.min(e.length,200),v=0;b<x&&d<a;){let w=Jt(e,b);l<0&&(c<a&&w==n[c]&&(i[c++]=b),p<a&&(w==n[p]||w==o[p]?(p==0&&(g=b),y=b+1,p++):p=0));let C,S=w<255?w>=48&&w<=57||w>=97&&w<=122?2:w>=65&&w<=90?1:0:(C=M0(w))!=C.toLowerCase()?1:C!=C.toUpperCase()?2:0;(!b||S==1&&m||v==0&&S!=0)&&(n[d]==w||o[d]==w&&(f=!0)?s[d++]=b:s.length&&(h=!1)),v=S,b+=vo(w)}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)}},Hn=ie.define({combine(t){return ns(t,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:tV,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=>hA(e(o),n(o)),optionClass:(e,n)=>o=>hA(e(o),n(o)),addToOptions:(e,n)=>e.concat(n)})}});function hA(t,e){return t?e?t+" "+e:t:e}function tV(t,e,n,o,r){let i=t.textDirection==Xe.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 nV(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 gA(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 JC=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(Hn);this.optionContent=nV(l),this.optionClass=l.optionClass,this.tooltipClass=l.tooltipClass,this.range=gA(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(Hn).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=gA(n.options.length,n.selected,this.view.state.facet(Hn).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&&rV(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(Hn).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 oV(t,e){return n=>new JC(n,t,e)}function rV(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 yA(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function iV(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 QC(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(Hn).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):yA(a.completion)>yA(s)&&(i[i.length-1]=a),s=a.completion}return i}var cs=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 cs(this.options,bA(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,o,r,i){let s=iV(e,n);if(!s.length)return r&&e.some(a=>a.state==1)?new cs(r.options,r.attrs,r.tooltip,r.timestamp,r.selected,!0):null;let l=n.facet(Hn).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 cs(s,bA(o,l),{pos:e.reduce((a,u)=>u.hasResult()?Math.min(a,u.from):a,1e8),create:oV(eo,TA),above:i.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new cs(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}},Lu=class{constructor(e,n,o){this.active=e,this.id=n,this.open=o}static start(){return new Lu(aV,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,o=n.facet(Hn),i=(o.override||n.languageDataAt("autocomplete",ds(n)).map(eV)).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))||!sV(i,this.active)?s=cs.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(EA)&&(s=s&&s.setSelected(l.value,this.id));return i==this.active&&s==this.open?this:new Lu(i,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:lV}};function sV(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 lV={"aria-autocomplete":"list"};function bA(t,e){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(n["aria-activedescendant"]=t+"-"+e),n}var aV=[];function XC(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=XC(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(ZC))r=new Zt(r.source,1,i.value?ds(e.state):-1);else if(i.is(yf))r=new Zt(r.source,0);else if(i.is(SA))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(ds(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))}},fs=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=ds(e.state);if((this.explicitPos<0?l<=i:l<this.from)||l>s||n=="delete"&&ds(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 uV(this.result.validFor,e.state,i,s)?new fs(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 fs(this.source,a,u,u.from,(r=u.to)!==null&&r!==void 0?r:ds(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 fs(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}};function uV(t,e,n,o){if(!t)return!1;let r=e.sliceDoc(n,o);return typeof t=="function"?t(r,n,o,e):wA(t,!0).test(r)}var SA=ke.define({map(t,e){return t.map(n=>n.map(e))}}),EA=ke.define(),eo=Yt.define({create(){return Lu.start()},update(t,e){return t.update(e)},provide:t=>[MC.from(t,e=>e.tooltip),se.contentAttributes.from(t,e=>e.attrs)]});function TA(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 fs?(typeof n=="string"?t.dispatch(Object.assign(Object.assign({},Z7(t.state,n,o.from,o.to)),{annotations:Y7.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(Hn).interactionDelay)return!1;let r=1,i;e=="page"&&(i=IC(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:EA.of(l)}),!0}}var cV=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(Hn).interactionDelay?!1:TA(t,e.open.options[e.open.selected])},Au=t=>t.state.field(eo,!1)?(t.dispatch({effects:ZC.of(!0)}),!0):!1,dV=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)},YC=class{constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}},vA=50,fV=50,pV=1e3,mV=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)&&!XC(o));for(let o=0;o<this.running.length;o++){let r=this.running[o];if(n||r.updates.length+t.transactions.length>fV&&Date.now()-r.time>pV){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(),vA):-1,this.composing!=0)for(let o of t.transactions)XC(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=ds(e),o=new mg(e,n,t.explicitPos==n),r=new YC(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(),vA))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(Hn);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 fs(r.active.source,r.active.explicitPos,r.done,r.done.from,(t=r.done.to)!==null&&t!==void 0?t:ds(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:SA.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(eo,!1);if(e&&e.tooltip&&this.view.state.facet(Hn).closeOnBlur){let n=e.open&&IC(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:ZC.of(!1)}),20),this.composing=0}}}),hV=se.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=ke.define({map(t,e){let n=e.mapPos(t,-1,Qt.TrackAfter);return n==null?void 0:n}}),ew=new class extends Wo{};ew.startSide=1;ew.endSide=-1;var kA=Yt.define({create(){return Ae.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=Ae.empty)}t=t.map(e.changes);for(let n of e.effects)n.is(Ll)&&(t=t.update({add:[ew.range(n.value,n.value+1)]}));return t}});function tw(){return[vV,kA]}var qC="()[]{}<>";function gV(t){for(let e=0;e<qC.length;e+=2)if(qC.charCodeAt(e)==t)return qC.charAt(e+1);return M0(t<128?t:t+1)}function yV(t,e){return t.languageDataAt("closeBrackets",e)[0]||gg}var bV=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),vV=se.inputHandler.of((t,e,n,o)=>{if((bV?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=xV(t.state,o);return i?(t.dispatch(i),!0):!1});function xV(t,e){let n=yV(t,t.selection.main.head),o=n.brackets||gg.brackets;for(let r of o){let i=gV(Jt(r,0));if(e==r)return i==r?SV(t,r,o.indexOf(r+r+r)>-1,n):CV(t,r,i,n.before||gg.before);if(e==i&&MA(t,t.selection.main.from))return wV(t,r,i)}return null}function MA(t,e){let n=!1;return t.field(kA).between(0,t.doc.length,o=>{o==e&&(n=!0)}),n}function nw(t,e){let n=t.sliceString(e,e+2);return n.slice(0,vo(Jt(n,0)))}function CV(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:$.range(s.anchor+e.length,s.head+e.length)};let l=nw(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:$.cursor(s.head+e.length)}:{range:r=s}});return r?null:t.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function wV(t,e,n){let o=null,r=t.changeByRange(i=>i.empty&&nw(t.doc,i.head)==n?{changes:{from:i.head,to:i.head+n.length,insert:n},range:$.cursor(i.head+n.length)}:o={range:i});return o?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function SV(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:$.range(l.anchor+e.length,l.head+e.length)};let a=l.head,u=nw(t.doc,a),c;if(u==e){if(xA(t,a))return{changes:{insert:e+e,from:a},effects:Ll.of(a+e.length),range:$.cursor(a+e.length)};if(MA(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:$.cursor(a+f.length)}}}else{if(n&&t.sliceDoc(a-2*e.length,a)==e+e&&(c=CA(t,a-2*e.length,r))>-1&&xA(t,c))return{changes:{insert:e+e+e+e,from:a},effects:Ll.of(a+e.length),range:$.cursor(a+e.length)};if(t.charCategorizer(a)(u)!=mn.Word&&CA(t,a,r)>-1&&!EV(t,a,e,r))return{changes:{insert:e+e,from:a},effects:Ll.of(a+e.length),range:$.cursor(a+e.length)}}return{range:i=l}});return i?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function xA(t,e){let n=It(t).resolveInner(e+1);return n.parent&&n.from==e}function EV(t,e,n,o){let r=It(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 CA(t,e,n){let o=t.charCategorizer(e);if(o(t.sliceDoc(e-1,e))!=mn.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))!=mn.Word)return i}return-1}function yg(t={}){return[eo,Hn.of(t),mV,kV,hV]}var TV=[{key:"Ctrl-Space",run:Au},{key:"Escape",run:dV},{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:cV}],kV=ts.highest(br.computeN([Hn],t=>t.facet(Hn).defaultKeymap?[TV]:[]));var MV=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),o=uw(t.state,n.from);return o.line?IV(t):o.block?DV(t):!1};function aw(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 IV=aw(AV,0);var PV=aw(OA,0);var DV=aw((t,e)=>OA(t,e,LV(e)),0);function uw(t,e){let n=t.languageDataAt("commentTokens",e);return n.length?n[0]:{}}var bf=50;function RV(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 LV(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 OA(t,e,n=e.selection.ranges){let o=n.map(i=>uw(e,i.from).block);if(!o.every(i=>i))return null;let r=n.map((i,s)=>RV(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 AV(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=uw(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 rw=Ln.define(),NV=Ln.define(),OV=ie.define(),HA=ie.define({combine(t){return ns(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 HV(t){let e=0;return t.iterChangedRanges((n,o)=>e=o),e}var FA=Yt.define({create(){return To.empty},update(t,e){let n=e.state.facet(HA),o=e.annotation(rw);if(o){let a=e.docChanged?$.single(HV(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=zA(d,e.startState.selection),new To(c==0?o.rest:d,c==0?d:o.rest)}let r=e.annotation(NV);if((r=="full"||r=="before")&&(t=t.isolate()),e.annotation(Qe.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let i=en.fromTransaction(e),s=e.annotation(Qe.time),l=e.annotation(Qe.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 cw(t={}){return[FA,HA.of(t),se.domEventHandlers({beforeinput(e,n){let o=e.inputType=="historyUndo"?BA:e.inputType=="historyRedo"?iw: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(FA,!1);if(!r)return!1;let i=r.pop(t,n,e);return i?(o(i),!0):!1}}var BA=xg(0,!1),iw=xg(1,!1),FV=xg(0,!0),BV=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&&qe.fromJSON(e.changes),[],e.mapped&&Xn.fromJSON(e.mapped),e.startSelection&&$.fromJSON(e.startSelection),e.selectionsAfter.map($.fromJSON))}static fromTransaction(e,n){let o=Eo;for(let r of e.startState.facet(OV)){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 VV(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 zV(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,o)=>n.empty!=e.ranges[o].empty).length===0}function VA(t,e){return t.length?e.length?t.concat(e):t:e}var Eo=[],$V=200;function zA(t,e){if(t.length){let n=t[t.length-1],o=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-$V));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 _V(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 ow(t,e){if(!t.length)return t;let n=t.length,o=Eo;for(;n;){let r=WV(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 WV(t,e,n){let o=VA(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,ke.mapEffects(t.effects,e),s,t.startSelection.map(i),o)}var KV=/^(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||KV.test(o))&&(!l.selectionsAfter.length&&n-this.prevTime<r.newGroupDelay&&r.joinToEvent(i,VV(l.changes,e.changes))||o=="input.type.compose")?s=vg(s,s.length-1,r.minDepth,new en(e.changes.compose(l.changes),VA(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)&&zV(i[i.length-1],e)?this:new To(zA(this.done,e),this.undone,n,o)}addMapping(e){return new To(ow(this.done,e),ow(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:rw.of({side:e,rest:_V(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=ow(s,i.mapped)),n.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:rw.of({side:e,rest:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};To.empty=new To(Eo,Eo);var dw=[{key:"Mod-z",run:BA,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:iw,preventDefault:!0},{linux:"Ctrl-Shift-z",run:iw,preventDefault:!0},{key:"Mod-u",run:FV,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:BV,preventDefault:!0}];function Nu(t,e){return $.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=Nu(t.selection,n);return o.eq(t.selection)?!1:(e(Tr(t,o)),!0)}function Cg(t,e){return $.cursor(e?t.to:t.from)}function $A(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)==Xe.LTR}var _A=t=>$A(t,!tn(t)),WA=t=>$A(t,tn(t));function KA(t,e){return jo(t,n=>n.empty?t.moveByGroup(n,e):Cg(n,e))}var UV=t=>KA(t,!tn(t)),GV=t=>KA(t,tn(t));function jV(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=It(t).resolveInner(e.head),r=n?de.closedBy:de.openedBy;for(let a=e.head;;){let u=n?o.childAfter(a):o.childBefore(a);if(!u)break;jV(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,$.cursor(l,n?-1:1)}var qV=t=>jo(t,e=>wg(t.state,e,!tn(t))),QV=t=>jo(t,e=>wg(t.state,e,tn(t)));function UA(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 GA=t=>UA(t,!1),jA=t=>UA(t,!0);function qA(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,n=0,o=0,r;if(e){for(let i of t.state.facet(se.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 QA(t,e){let n=qA(t),{state:o}=t,r=Nu(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=se.scrollIntoView(r.main.head,{y:"start",yMargin:s.top-a}))}return t.dispatch(Tr(o,r),{effects:i}),!0}var IA=t=>QA(t,!1),sw=t=>QA(t,!0);function ps(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=$.cursor(o.from+i))}return r}var JV=t=>jo(t,e=>ps(t,e,!0)),XV=t=>jo(t,e=>ps(t,e,!1)),YV=t=>jo(t,e=>ps(t,e,!tn(t))),ZV=t=>jo(t,e=>ps(t,e,tn(t))),ez=t=>jo(t,e=>$.cursor(t.lineBlockAt(e.head).from,1)),tz=t=>jo(t,e=>$.cursor(t.lineBlockAt(e.head).to,-1));function nz(t,e,n){let o=!1,r=Nu(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?$.range(i.anchor,l):$.cursor(l)});return o?(e(Tr(t,r)),!0):!1}var oz=({state:t,dispatch:e})=>nz(t,e,!1);function ko(t,e){let n=Nu(t.state.selection,o=>{let r=e(o);return $.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 JA(t,e){return ko(t,n=>t.moveByChar(n,e))}var XA=t=>JA(t,!tn(t)),YA=t=>JA(t,tn(t));function ZA(t,e){return ko(t,n=>t.moveByGroup(n,e))}var rz=t=>ZA(t,!tn(t)),iz=t=>ZA(t,tn(t));var sz=t=>ko(t,e=>wg(t.state,e,!tn(t))),lz=t=>ko(t,e=>wg(t.state,e,tn(t)));function e2(t,e){return ko(t,n=>t.moveVertically(n,e))}var t2=t=>e2(t,!1),n2=t=>e2(t,!0);function o2(t,e){return ko(t,n=>t.moveVertically(n,e,qA(t).height))}var PA=t=>o2(t,!1),DA=t=>o2(t,!0),az=t=>ko(t,e=>ps(t,e,!0)),uz=t=>ko(t,e=>ps(t,e,!1)),cz=t=>ko(t,e=>ps(t,e,!tn(t))),dz=t=>ko(t,e=>ps(t,e,tn(t))),fz=t=>ko(t,e=>$.cursor(t.lineBlockAt(e.head).from)),pz=t=>ko(t,e=>$.cursor(t.lineBlockAt(e.head).to)),RA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:0})),!0),LA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:t.doc.length})),!0),AA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:t.selection.main.anchor,head:0})),!0),NA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),mz=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),hz=({state:t,dispatch:e})=>{let n=Eg(t).map(({from:o,to:r})=>$.range(o,Math.min(r+1,t.doc.length)));return e(t.update({selection:$.create(n),userEvent:"select"})),!0},gz=({state:t,dispatch:e})=>{let n=Nu(t.selection,o=>{var r;let i=It(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 $.range(i.to,i.from)});return e(Tr(t,n)),!0},yz=({state:t,dispatch:e})=>{let n=t.selection,o=null;return n.ranges.length>1?o=$.create([n.main]):n.main.empty||(o=$.create([$.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:$.cursor(s)}});return r.changes.empty?!1:(t.dispatch(o.update(r,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?se.announce.of(o.phrase("Selection deleted")):void 0})),!0)}function bg(t,e,n){if(t instanceof se)for(let o of t.state.facet(se.atomicRanges).map(r=>r(t)))o.between(e,e,(r,i)=>{r<e&&i>e&&(e=n?i:r)});return e}var r2=(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}),lw=t=>r2(t,!1),i2=t=>r2(t,!0),s2=(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}),l2=t=>s2(t,!1),bz=t=>s2(t,!0),a2=t=>Sg(t,e=>{let n=t.lineBlockAt(e).to;return e<n?n:Math.min(t.state.doc.length,e+1)}),vz=t=>Sg(t,e=>{let n=t.lineBlockAt(e).from;return e>n?n:Math.max(0,e-1)});var xz=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(o=>({changes:{from:o.from,to:o.to,insert:be.of(["",""])},range:$.cursor(o.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},Cz=({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:$.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 u2(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($.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($.range(a.anchor-l,a.head-l))}}return o.length?(e(t.update({changes:o,scrollIntoView:!0,selection:$.create(r,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}var wz=({state:t,dispatch:e})=>u2(t,e,!1),Sz=({state:t,dispatch:e})=>u2(t,e,!0);function c2(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 Ez=({state:t,dispatch:e})=>c2(t,e,!1),Tz=({state:t,dispatch:e})=>c2(t,e,!0),kz=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=Nu(e.selection,r=>t.moveVertically(r,!0)).map(n);return t.dispatch({changes:n,selection:o,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Mz(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=It(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(de.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 Iz=d2(!1),Pz=d2(!0);function d2(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&&Mz(e,i);t&&(i=s=(s<=l.to?l:e.doc.lineAt(s)).to);let u=new Pl(e,{simulateBreak:i,simulateDoubleBreak:!!a}),c=GC(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:be.of(d)},range:$.cursor(i+1+d[1].length)}});return n(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function fw(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:$.range(i.mapPos(o.anchor,1),i.mapPos(o.head,1))}})}var Dz=({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=fw(t,(i,s,l)=>{let a=GC(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},Rz=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(fw(t,(n,o)=>{o.push({from:n.from,insert:t.facet(mf)})}),{userEvent:"input.indent"})),!0),Lz=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(fw(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 Az=[{key:"Ctrl-b",run:_A,shift:XA,preventDefault:!0},{key:"Ctrl-f",run:WA,shift:YA},{key:"Ctrl-p",run:GA,shift:t2},{key:"Ctrl-n",run:jA,shift:n2},{key:"Ctrl-a",run:ez,shift:fz},{key:"Ctrl-e",run:tz,shift:pz},{key:"Ctrl-d",run:i2},{key:"Ctrl-h",run:lw},{key:"Ctrl-k",run:a2},{key:"Ctrl-Alt-h",run:l2},{key:"Ctrl-o",run:xz},{key:"Ctrl-t",run:Cz},{key:"Ctrl-v",run:sw}],Nz=[{key:"ArrowLeft",run:_A,shift:XA,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:UV,shift:rz,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:YV,shift:cz,preventDefault:!0},{key:"ArrowRight",run:WA,shift:YA,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:GV,shift:iz,preventDefault:!0},{mac:"Cmd-ArrowRight",run:ZV,shift:dz,preventDefault:!0},{key:"ArrowUp",run:GA,shift:t2,preventDefault:!0},{mac:"Cmd-ArrowUp",run:RA,shift:AA},{mac:"Ctrl-ArrowUp",run:IA,shift:PA},{key:"ArrowDown",run:jA,shift:n2,preventDefault:!0},{mac:"Cmd-ArrowDown",run:LA,shift:NA},{mac:"Ctrl-ArrowDown",run:sw,shift:DA},{key:"PageUp",run:IA,shift:PA},{key:"PageDown",run:sw,shift:DA},{key:"Home",run:XV,shift:uz,preventDefault:!0},{key:"Mod-Home",run:RA,shift:AA},{key:"End",run:JV,shift:az,preventDefault:!0},{key:"Mod-End",run:LA,shift:NA},{key:"Enter",run:Iz},{key:"Mod-a",run:mz},{key:"Backspace",run:lw,shift:lw},{key:"Delete",run:i2},{key:"Mod-Backspace",mac:"Alt-Backspace",run:l2},{key:"Mod-Delete",mac:"Alt-Delete",run:bz},{mac:"Mod-Backspace",run:vz},{mac:"Mod-Delete",run:a2}].concat(Az.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),Ou=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:qV,shift:sz},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:QV,shift:lz},{key:"Alt-ArrowUp",run:wz},{key:"Shift-Alt-ArrowUp",run:Ez},{key:"Alt-ArrowDown",run:Sz},{key:"Shift-Alt-ArrowDown",run:Tz},{key:"Escape",run:yz},{key:"Mod-Enter",run:Pz},{key:"Alt-l",mac:"Ctrl-l",run:hz},{key:"Mod-i",run:gz,preventDefault:!0},{key:"Mod-[",run:Lz},{key:"Mod-]",run:Rz},{key:"Mod-Alt-\\",run:Dz},{key:"Shift-Mod-k",run:kz},{key:"Shift-Mod-\\",run:oz},{key:"Mod-/",run:MV},{key:"Alt-A",run:PV}].concat(Nz);var Oz=[...Ou,...dw],pw=(()=>[kC(),cw(),TC(),tw(),Dl(jC,{fallback:!0}),br.of(Oz)])();var qo=(t,e)=>e.doc.sliceString(t.from,t.to);var f2=t=>{let e=t.prevSibling;return console.log(`prevNode ${e==null?void 0:e.name}`),e},mw=t=>{let e=t.parent;for(;e&&e.name==="\u26A0";)e=e.parent;return e};var Hz=require("@vuu-ui/vuu-utils");var hw=[{label:"and",apply:"and ",boost:5},{label:"or",apply:"or ",boost:3}],p2=[{label:"=",boost:10,type:"operator"},{label:"!=",boost:9,type:"operator"}],m2=[...p2,{label:"in",boost:6,type:"operator"},{label:"starts",boost:5,type:"operator"},{label:"ends",boost:4,type:"operator"}],h2=[...p2,{label:">",boost:8,type:"operator"},{label:"<",boost:7,type:"operator"}];var Hw=require("@vuu-ui/vuu-utils"),Mr=require("react");var Fu=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 Fu(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 Fu(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 yw(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}},g2;(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"})(g2||(g2={}));var yw=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}},Bu=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 Bu(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 Bu(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 Hu=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},y2=new Hu,bw=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=y2,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=y2,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}},ms=class{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:o}=n.p;E2(this.data,e,n,this.id,o.data,o.tokenPrecTable)}};ms.prototype.contextual=ms.prototype.fallback=ms.prototype.extend=!1;var vw=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(;E2(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))}};vw.prototype.contextual=ms.prototype.fallback=ms.prototype.extend=!1;function E2(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||Bz(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 b2(t,e,n){for(let o=e,r;(r=t[o])!=65535;o++)if(r==n)return o-e;return-1}function Bz(t,e,n,o){let r=b2(n,o,e);return r<0||b2(n,o,t)<r}var Qo=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),gw=null,v2;(function(t){t[t.Margin=25]="Margin"})(v2||(v2={}));function x2(t,e,n){let o=t.cursor(ht.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 xw=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?x2(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?x2(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 _e){if(s==e){if(s<this.safeFrom)return null;let l=s+i.length;if(l<=this.safeTo){let a=i.prop(de.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}}},Cw=class{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(o=>new Hu)}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 Hu,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 Hu,{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=li(l,u+2);else{r==0&&l[u+1]==2&&(r=this.putAction(li(l,u+2),n,o,r));break}l[u]==n&&(r=this.putAction(li(l,u+1),n,o,r))}return r}},C2;(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"})(C2||(C2={}));var ww=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 bw(n,r),this.tokens=new Cw(e,this.stream),this.topTerm=e.top[1];let{from:i}=r[0];this.stacks=[Fu.start(this,e.top[0],i)],this.fragments=o.length&&this.stream.end-i>e.bufferLength*4?new xw(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&&Vz(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(de.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 _e)||d.children.length==0||d.positions[0]>0)break;let p=d.children[0];if(p instanceof _e&&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 w2(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)})`),w2(l,o)):(!r||r.score<l.score)&&(r=l)}return r}stackToTree(e){return e.close(),_e.build({buffer:Bu.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=(gw||(gw=new WeakMap)).get(e);return n||gw.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}};function w2(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 Sw=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 Tu{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=de[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)=>Dt.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(S2),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 ms(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 ww(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=li(o,i+2)];else{if(o[i+1]==2)return li(o,i+2);break}if(s==n||s==0)return li(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=li(this.data,o+2);else return!1;if(n==li(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=li(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]=S2(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 Sw(e,o,r)}static deserialize(e){return new Al(e)}};function li(t,e){return t[e]|t[e+1]<<16}function Vz(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 S2(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 zz=Er.define({name:"VuuColumnExpression",parser:kg.configure({props:[Il({Column:K.attributeValue,Function:K.variableName,String:K.string,Or:K.emphasis,Operator:K.operator})]})}),T2=()=>new Ru(zz);var Ew=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}}},Tw=class{constructor(e){this.type="colExpression";this.column=e}toJSON(){return{type:this.type,column:this.column}}},Cf,Ol,kw=class{constructor(e="unknown"){_n(this,Cf,[{type:"unknown"},{type:"unknown"}]);_n(this,Ol,void 0);this.type="arithmeticExpression";Xo(this,Ol,e)}get op(){return ne(this,Ol)}set op(e){Xo(this,Ol,e)}get expressions(){return ne(this,Cf)}toJSON(){return{type:this.type,op:ne(this,Ol),expressions:ne(this,Cf)}}};Cf=new WeakMap,Ol=new WeakMap;var _u,Mw=class{constructor(e){_n(this,_u,[]);this.type="callExpression";this.functionName=e}get expressions(){return ne(this,_u)}get arguments(){return ne(this,_u)}toJSON(){return{type:this.type,functionName:this.functionName,arguments:ne(this,_u).map(e=>{var n;return(n=e.toJSON)==null?void 0:n.call(e)})}}};_u=new WeakMap;var wf,Wu,zu=class{constructor(){_n(this,wf,[{type:"unknown"},{type:"unknown"}]);_n(this,Wu,"unknown");this.type="relationalExpression"}get op(){return ne(this,Wu)}set op(e){Xo(this,Wu,e)}get expressions(){return ne(this,wf)}toJSON(){return{type:this.type,op:ne(this,Wu),expressions:ne(this,wf)}}};wf=new WeakMap,Wu=new WeakMap;var Sf,Ku,$u=class{constructor(e){_n(this,Sf,[{type:"unknown"},{type:"unknown"}]);_n(this,Ku,void 0);this.type="booleanCondition";Xo(this,Ku,e)}get op(){return ne(this,Ku)}get expressions(){return ne(this,Sf)}toJSON(){return{type:this.type,op:ne(this,Ku),expressions:ne(this,Sf).map(e=>{var n;return(n=e.toJSON)==null?void 0:n.call(e)})}}};Sf=new WeakMap,Ku=new WeakMap;var kr,xf=class{constructor(e){_n(this,kr,void 0);this.type="conditionalExpression";Xo(this,kr,[e?new $u(e):new zu,{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",$z=t=>t.type==="callExpression",Vu=t=>t.type==="conditionalExpression",_z=t=>t.type==="relationalExpression"||t.type==="booleanCondition";var Wz=t=>t.type==="booleanCondition",Pw=t=>(t==null?void 0:t.type)==="relationalExpression";var Mo=t=>{if(Nl(t))return t;if(Pw(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(_z(t)){let{expressions:e=[]}=t;for(let n of e)if(nn(n))return Mo(n)}else if(Vu(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:Vu(t)?nn(t.condition)||nn(t.truthyExpression)||nn(t.falsyExpression):Pw(t)||Wz(t)?t.op===void 0||t.expressions.some(e=>nn(e)):!1,k2=(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")},ve,Hl,Iw=class{constructor(){_n(this,ve,void 0);_n(this,Hl,[])}setCondition(e){if(ne(this,ve)===void 0)this.addExpression(new xf(e));else if(Vu(ne(this,ve))){if(nn(ne(this,ve).condition)){let n=e?new $u(e):new zu;this.addExpression(n)}else if(Nl(ne(this,ve).truthyExpression))ne(this,ve).truthyExpression=new xf(e);else if(nn(ne(this,ve).truthyExpression)){let n=e?new $u(e):new zu;this.addExpression(n)}else if(Nl(ne(this,ve).falsyExpression))ne(this,ve).falsyExpression=new xf(e);else if(nn(ne(this,ve).falsyExpression)){let n=e?new $u(e):new zu;this.addExpression(n)}}else console.error("setCondition called unexpectedly")}addExpression(e){if(ne(this,Hl).length>0){let n=ne(this,Hl).at(-1);n==null||n.arguments.push(e)}else if(ne(this,ve)===void 0)Xo(this,ve,e);else if(Mg(ne(this,ve))){let n=Mo(ne(this,ve));n&&Nl(n)&&Ig(ne(this,ve),n,e)}else if(Vu(ne(this,ve))&&nn(ne(this,ve))){let n=Mo(ne(this,ve));n&&Nl(n)?Ig(ne(this,ve),n,e):n&&k2(n,e)}}setFunction(e){let n=new Mw(e);this.addExpression(n),ne(this,Hl).push(n)}setColumn(e){this.addExpression(new Tw(e))}setArithmeticOp(e){let n=e,o=ne(this,ve);Mg(o)&&(o.op=n)}setRelationalOperator(e){let n=e;if(ne(this,ve)&&Vu(ne(this,ve))){let o=Mo(ne(this,ve));Pw(o)?o.op=n:console.error(`no target expression found (op = ${e})`)}}setValue(e){let n=new Ew(e);if(ne(this,ve)===void 0)Xo(this,ve,n);else if(Mg(ne(this,ve)))this.addExpression(n);else if($z(ne(this,ve)))ne(this,ve).arguments.push(n);else if(Vu(ne(this,ve)))if(nn(ne(this,ve))){let o=Mo(ne(this,ve));o&&Nl(o)?Ig(ne(this,ve),o,n):o&&k2(o,n)}else console.log("what do we do with value, in a complete expression")}closeBrace(){ne(this,Hl).pop()}get expression(){return ne(this,ve)}toJSON(){var e;return(e=ne(this,ve))==null?void 0:e.toJSON()}};ve=new WeakMap,Hl=new WeakMap;var M2=(t,e)=>{let n=new Iw,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 kw);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 Kz=kg.configure({strict:!0}),I2=["Number","String"],Dw=[...I2,"AndCondition","ArithmeticExpression","BooleanOperator","RelationalOperatorOperator","CallExpression","CloseBrace","Column","Comma","ConditionalExpression","Divide","Equal","If","Minus","OpenBrace","OrCondition","ParenthesizedExpression","Plus","RelationalExpression","RelationalOperator","Times"],P2=t=>{try{return Kz.parse(t),!0}catch{return!1}},Rw=t=>{let{lastChild:e}=t;for(;e&&!Dw.includes(e.name);)e=e.prevSibling,console.log(e==null?void 0:e.name);return e},D2=t=>{if((t==null?void 0:t.name)==="RelationalExpression"){let{firstChild:e}=t,n=Rw(t);if((e==null?void 0:e.name)==="Column"&&typeof(n==null?void 0:n.name)=="string"&&I2.includes(n.name))return!0}return!1};var Uz=Go.define([{tag:K.attributeValue,color:"var(--vuuFilterEditor-variableColor);font-weight: bold"},{tag:K.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:K.comment,color:"green",fontStyle:"italic"}]),R2=Dl(Uz);var L2=se.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 Nw=require("react");var Gz=(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,jz=t=>t===void 0?!1:["Times","Divide","Plus","Minus"].includes(t.name),Ef=t=>({apply:()=>{t==null||t()},label:"Done",boost:10}),Uu=(t,e)=>{var r;let{lastChild:n}=t,{pos:o}=e;for(;n;)if(n.from<o&&Dw.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},A2=(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)}},N2=(t,e)=>{if(t.name==="RelationalExpression"){let n=Rw(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)}},Ow=(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 Ow(o,e)}},Lw=async(t,e,n,o={})=>{let r=await e.getSuggestions(n,o),{startsWith:i=""}=o;return{from:t.pos-i.length,options:r}},Aw=(t,e,n,o,r)=>{let i=Uu(t,e);switch(i==null?void 0:i.name){case"If":return Lw(e,n,"expression",{prefix:"( "});case"OpenBrace":return Lw(e,n,"expression");case"Condition":return Lw(e,n,"expression",{prefix:", "});case"CloseBrace":if(o){let s=[Ef(r)];return{from:e.pos,options:s}}}},qz=(t,e)=>{let n=[Ef(e)];return{from:t.pos,options:n}},O2=(t,e)=>{let n=(0,Nw.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,Nw.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=It(r).resolveInner(i,-1),u=r.doc.toString(),c=P2(u);switch(a.name){case"If":return n(o,"expression",{prefix:"( "});case"Condition":{let p=Uu(a,o);if((p==null?void 0:p.name)==="Column"){let g=f2(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 Aw(a,o,t);case"RelationalExpression":{if(D2(a))return{from:o.pos,options:hw.concat({label:", <truthy expression>, <falsy expression>",apply:", "})};{let p=N2(a,r),g=Ow(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=N2(a,r),g=Ow(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=Uu(a,o);if((p==null?void 0:p.name)==="Column")return n(o,"expression");if(jz(p)){let g=p.name;return n(o,"column",{operator:g})}}break;case"OpenBrace":{let p=A2(a,r);return n(o,"expression",{functionName:p})}break;case"ArgList":{let p=A2(a,r),g=Uu(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?Gz(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=Uu(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=Uu(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 Aw(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=mw(a);if((p==null?void 0:p.name)==="ConditionalExpression")return n(o,"expression")}break;case"CloseBrace":{let p=mw(a);if((p==null?void 0:p.name)==="ConditionalExpression")return Aw(p,o,t,c,e.current);if((p==null?void 0:p.name)==="ArgList"&&c)return qz(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},Qz=()=>"vuuSuggestion",Jz=()=>console.log("noooop"),Xz=t=>"expressionType"in t,Yz=t=>{if(Xz(t)){let e=(0,Hw.createEl)("div","expression-type-container"),n=(0,Hw.createEl)("span","expression-type",t.expressionType);return e.appendChild(n),e}else return null},H2=({onChange:t,onSubmitExpression:e,source:n,suggestionProvider:o})=>{let r=(0,Mr.useRef)(null),i=(0,Mr.useRef)(Jz),s=(0,Mr.useRef)(),l=O2(o,i),[a,u,c]=(0,Mr.useMemo)(()=>{let f=()=>{let h=Pg(s),b=h.state.doc.toString(),x=fg(h.state,h.state.doc.length,5e3);if(x){let v=M2(x,b);return[b,v]}else return["",void 0]},p=()=>{Pg(s).setState(m())},g=()=>{let[h,b]=f();e==null||e(h,b)},y=h=>br.of([{key:h,run(){return Au(Pg(s)),!0}}]),m=()=>ge.create({doc:n,extensions:[pw,yg({addToOptions:[{render:Yz,position:70}],override:[l],optionClass:Qz}),T2(),br.of(Ou),y("ArrowDown"),se.updateListener.of(h=>{let b=Pg(s);if(h.docChanged){Au(b);let x=b.state.doc.toString();t==null||t(x)}}),ge.transactionFilter.of(h=>h.newDoc.lines>1?[]:h),L2,R2]});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 se({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 V2=require("react/jsx-runtime"),Zz="vuuColumnExpressionInput",B2=(0,F2.memo)(({onChange:t,onSubmitExpression:e,source:n="",suggestionProvider:o})=>{let{editorRef:r,onBlur:i}=H2({onChange:t,onSubmitExpression:e,source:n,suggestionProvider:o});return(0,V2.jsx)("div",{className:`${Zz}`,onBlur:i,ref:r})},(t,e)=>t.source===e.source);B2.displayName="ColumnExpressionInput";var _2=require("@vuu-ui/vuu-utils"),W2=require("react");var z2=[{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"),$2=({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 t$=t=>({apply:`${t.name}( `,boost:2,expressionType:t.type,info:()=>$2(t),label:t.name,type:"function"});var Ume=z2.map(t$);var Dg=require("@vuu-ui/vuu-utils"),Bw=require("react");var U2=require("react/jsx-runtime");var Rg=require("@vuu-ui/vuu-utils");var o$=V(j(),1),q2=require("react");var n$=require("@vuu-ui/vuu-utils"),G2=require("react"),j2=require("react/jsx-runtime");var Q2=require("react/jsx-runtime");var r$=V(j(),1),J2=require("@vuu-ui/vuu-utils");var X2=require("react/jsx-runtime");var ai=require("@vuu-ui/vuu-utils"),kf=require("react"),Lhe=[{description:"Default formatter for columns with data type integer",label:"Default Renderer (int, long)",name:"default-int"},...(0,ai.getRegisteredCellRenderers)("int")],Ahe=[{description:"Default formatter for columns with data type double",label:"Default Renderer (double)",name:"default-double"},...(0,ai.getRegisteredCellRenderers)("double")],Nhe=[{description:"Default formatter for columns with data type string",label:"Default Renderer (string)",name:"default-string"},...(0,ai.getRegisteredCellRenderers)("string")];var Y2=require("react/jsx-runtime");var Z2=require("react"),s$=V(j(),1);var eN=require("react/jsx-runtime");var tge=new Intl.NumberFormat;var Lg=require("@vuu-ui/vuu-utils"),$w=require("react");var tN=require("react/jsx-runtime");var nN=require("@vuu-ui/vuu-utils"),Io=require("react"),oN=({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,b)=>{s({type:"set-props",path:"#context-panel",props:{expanded:!0,content:{type:m,props:b},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,nN.getCalculatedColumnType)(m)});u(h),e==null||e(h),requestAnimationFrame(()=>{var b;(b=l.current)==null||b.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(b=>b.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"),xe=require("react");var rN=require("@vuu-ui/vuu-utils"),iN=t=>(e,n)=>{let o=[];if(t===void 0)return o;if(e==="header"||e==="column-menu")o.push(...l$(n,t)),o.push(...c$(n,t)),o.push(...a$(n,t)),o.push(...u$(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});else if(e==="filter"){let{column:r,filter:i}=n,s=(i==null?void 0:i.column)===(r==null?void 0:r.name);o.push({label:"Edit filter",action:"filter-edit",options:n}),o.push({label:"Remove filter",action:"filter-remove-column",options:n}),r&&!s&&o.push({label:"Remove all filters",action:"remove-filters",options:n})}return o};function l$(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 a$(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,rN.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 Gw=(t,e)=>({label:`Pin ${e}`,action:`column-pin-${e}`,options:t}),Ww=t=>Gw(t,"left"),Kw=t=>Gw(t,"floating"),Uw=t=>Gw(t,"right");function u$(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:[Ww(t),Kw(t),Uw(t)]}):n==="left"?o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Kw(t),Uw(t)]}):n==="right"?o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Ww(t),Kw(t)]}):n==="floating"&&o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Ww(t),Uw(t)]}),o}function c$(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 sN=require("@vuu-ui/vuu-utils"),Rt=require("@vuu-ui/vuu-utils"),d$=(t,e)=>{if(t.filterStruct&&e){let[n,o]=(0,sN.removeColumnFromFilter)(e,t.filterStruct);return{filter:o,filterStruct:n}}else return t},{Average:f$,Count:p$,Distinct:m$,High:h$,Low:g$,Sum:y$}=Rt.AggregationType,lN=({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,Rt.setSortColumn)(t.sort,i,"A"),!0;case"sort-dsc":return t.sort=(0,Rt.setSortColumn)(t.sort,i,"D"),!0;case"sort-add-asc":return t.sort=(0,Rt.addSortColumn)(t.sort,i,"A"),!0;case"sort-add-dsc":return t.sort=(0,Rt.addSortColumn)(t.sort,i,"D"),!0;case"group":return t.groupBy=(0,Rt.addGroupColumn)(t.groupBy,i),!0;case"group-add":return t.groupBy=(0,Rt.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=d$(t.filter,i),!0;case"remove-filters":return t.filter={filter:""},!0;case"agg-avg":return t.aggregations=(0,Rt.setAggregations)(t.aggregations,i,f$),!0;case"agg-high":return t.aggregations=(0,Rt.setAggregations)(t.aggregations,i,h$),!0;case"agg-low":return t.aggregations=(0,Rt.setAggregations)(t.aggregations,i,g$),!0;case"agg-count":return t.aggregations=(0,Rt.setAggregations)(t.aggregations,i,p$),!0;case"agg-distinct":return t.aggregations=(0,Rt.setAggregations)(t.aggregations,i,m$),!0;case"agg-sum":return t.aggregations=(0,Rt.setAggregations)(t.aggregations,i,y$),!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 _w=(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 dN=require("@vuu-ui/vuu-utils"),hs=require("react");var jw=t=>`.vuuTable-col-headers .vuuTableHeaderCell:nth-child(${t})`,qw=(t,e)=>`.vuuTable-body > [aria-rowindex='${t}'] > [role='cell']:nth-child(${e+1})`,aN=(t,[e,n])=>{var i;let o=e===-1?jw(n):qw(e,n),r=(i=t.current)==null?void 0:i.querySelector(o);return b$(r)&&r.querySelector("button")||r},b$=t=>t.classList.contains("vuuTableCell-editable"),uN=t=>t.querySelector(".vuuTableInputCell")!==null;function v$(t){if(t){let e=t.ariaRowIndex;if(e!==null)return parseInt(e,10)}return-1}var x$=t=>t.closest('[role="row"]'),cN=t=>v$(x$(t));var fN=({navigate:t})=>{let e=(0,hs.useCallback)(()=>{t()},[t]),n=(0,hs.useCallback)(a=>{let u=a.target,c=u.matches("input")?u:u.querySelector("input");c&&(c.focus(),c.select())},[]),o=(0,hs.useCallback)(a=>{let c=a.target.querySelector("input");c&&(c.focus(),c.select())},[]),r=(0,hs.useCallback)(a=>{let u=a.target;uN(u)&&((0,dN.isCharacterKey)(a.key)?n(a):a.key==="Enter"&&o(a))},[n,o]),i=(0,hs.useCallback)(a=>{let u=a.target;(u.matches("input")||u.querySelector("input"))&&(n(a),a.stopPropagation())},[n]),s=(0,hs.useCallback)(a=>{a.target.removeEventListener("vuu-commit",e,!0)},[e]),l=(0,hs.useCallback)(a=>{a.target.addEventListener("vuu-commit",e,!0)},[e]);return{onBlur:s,onDoubleClick:i,onFocus:l,onKeyDown:r}};var pN=require("@vuu-ui/vuu-data"),Fl=require("@vuu-ui/vuu-utils"),zt=require("react");var Gu=require("@vuu-ui/vuu-utils"),{SELECTED:Qw}=Gu.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 Gu.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[Qw]){let r=this.data[o-1];(0,Gu.isRowSelectedLast)(r)&&(this.data[o-1]=r.slice(),this.data[o-1][Qw]-=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[Qw]!==0)}};var mN=({dataSource:t,onFeatureInvocation:e,onSizeChange:n,onSubscribed:o,range:r=Fl.NULL_RANGE,renderBufferSize:i=0})=>{let[,s]=(0,zt.useState)(null),l=(0,zt.useRef)([]),a=(0,zt.useRef)(!0),u=(0,zt.useRef)(!1),c=(0,zt.useRef)(Fl.NULL_RANGE),d=(0,zt.useMemo)(()=>new Ag((0,Fl.getFullRange)(r,i)),[]),f=(0,zt.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,zt.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,pN.isVuuFeatureInvocation)(m)?e==null||e(m):console.log(`useDataSource unexpected message ${m.type}`)},[d,e,n,o,f]),g=(0,zt.useCallback)(()=>d.getSelectedRows(),[d]);(0,zt.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,zt.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,zt.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"),hN=t=>{let e=(0,Ng.useRef)(t);return(0,Ng.useMemo)(()=>e.current,[])};var ot=require("react");var bN=new Set(["Home","End","PageUp","PageDown","ArrowDown","ArrowUp"]),Xw=new Set(bN);Xw.add("ArrowLeft");Xw.add("ArrowRight");var C$=(t,e)=>{switch(e){case"cell":return Xw.has(t);case"row":return bN.has(t);default:return!1}},w$=["Home","End","PageUp","PageDown"],gN=t=>w$.includes(t),S$=[-1,-1],Jw=[void 0,void 0],vN=(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]:Jw;throw Error("Whats going on, row not found")}else throw Error("Whats going on, scrollbar container not found")},E$=t=>{var n;let e=t.closest(".vuuTable-contentContainer");if(e){let o=t.closest(".vuuTableRow");if(o){let r=vN(o,e);if(r!==Jw)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 Jw};function yN(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 xN=({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 H;let d=(0,ot.useRef)([-1,-1]),f=(0,ot.useRef)(),p=(0,ot.useRef)([-1,0]),g=(0,ot.useRef)(),[y,m]=Me({controlled:i,default:o,name:"UseKeyboardNavigation"});g.current=y;let h=(0,ot.useCallback)((k,L=!1)=>{a==null||a(k),m(k)},[a,m]),b=k=>k==null?void 0:k.closest("[role='columnHeader'],[role='cell']"),x=k=>{var L,D;if(k.role==="columnHeader")return[-1,parseInt((L=k.dataset.idx)!=null?L:"-1",10)];{let B=k.closest("[role='row']");if(B){let F=parseInt((D=B.ariaRowIndex)!=null?D:"-1",10),U=Array.from(B.childNodes).indexOf(k);return[F,U]}}return S$},v=(0,ot.useCallback)(k=>{var L;if(e.current){let D=aN(e,k);if(D){D!==f.current&&((L=f.current)==null||L.removeAttribute("tabindex"),f.current=D,D.setAttribute("tabindex","0"));let[B,F]=E$(D);B&&F&&(l==null||l({type:"scroll-distance",distance:F,direction:B})),console.log("activeCell focus"),D.focus({preventScroll:!0})}}},[e,l]),w=(0,ot.useCallback)((k,L,D=!1)=>{let B=[k,L];p.current=B,s==="row"?m(k):v(B),D&&(d.current=B)},[v,s,m]),C=(0,ot.useCallback)((k,[L,D])=>new Promise(B=>{let F=L;switch(k){case"PageDown":F=Math.min(u-1,L+c),l==null||l({type:"scroll-page",direction:"down"});break;case"PageUp":F=Math.max(0,L-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]),S=(0,ot.useCallback)(()=>{var k;if(r!==!0&&(k=e.current)!=null&&k.contains(document.activeElement)){let L=b(document.activeElement);L&&(d.current=x(L),s==="row"&&m(d.current[0]))}},[r,e,s,m]),E=(0,ot.useCallback)(async k=>{let[L,D]=gN(k)?await C(k,p.current):yN(k,p.current,t,u),[B,F]=p.current;(L!==B||D!==F)&&w(L,D,!0)},[t,C,u,w]),T=(0,ot.useCallback)(k=>{let{current:L}=e,D=L==null?void 0:L.querySelector(`[aria-rowindex="${k}"]`);if(D){let[B,F]=vN(D);B&&F&&(l==null||l({type:"scroll-distance",distance:F,direction:B}))}},[e,l]),M=(0,ot.useCallback)(async k=>{let{current:L}=g,[D]=gN(k)?await C(k,[L!=null?L:-1,0]):yN(k,[L!=null?L:-1,0],t,u);D!==L&&(h(D),T(D))},[t,C,u,T,h]);(0,ot.useEffect)(()=>{i!==void 0&&i!==-1&&T(i)},[i,T]);let O=(0,ot.useCallback)(k=>{u>0&&C$(k.key,s)&&(k.preventDefault(),k.stopPropagation(),s==="row"?M(k.key):E(k.key))},[u,s,M,E]),I=(0,ot.useCallback)(k=>{let L=k.target,D=b(L);if(D){let[B,F]=x(D);w(B,F)}},[w]),P=(0,ot.useCallback)(()=>{h(-1)},[h]),A=(0,ot.useCallback)(k=>{let L=cN(k.target);L!==-1&&L!==g.current&&h(L)},[h]),N=(0,ot.useCallback)(()=>{E("ArrowDown")},[E]),R=((H=e.current)==null?void 0:H.firstChild)!=null;return(0,ot.useEffect)(()=>{if(R&&f.current===void 0&&!n){let{current:k}=e,L=(k==null?void 0:k.querySelector(jw(0)))||(k==null?void 0:k.querySelector(qw(0,0)));L&&(L.setAttribute("tabindex","0"),f.current=L)}},[e,n,R]),{highlightedIndexRef:g,navigate:N,onClick:I,onFocus:S,onKeyDown:O,onMouseLeave:s==="row"?P:void 0,onMouseMove:s==="row"?A:void 0}};var Pr=require("@vuu-ui/vuu-utils"),Bl=require("react"),{IDX:T$}=Pr.metadataKeys,k$=[],M$=["Enter"," "],CN=({highlightedIndexRef:t,selectionKeys:e=M$,selectionModel:n,onSelect:o,onSelectionChange:r})=>{let i=(0,Bl.useRef)(-1),s=(0,Bl.useRef)(k$),l=(0,Bl.useCallback)(c=>e.includes(c.key),[e]),a=(0,Bl.useCallback)((c,d,f)=>{let{[T$]: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 wN=require("@vuu-ui/vuu-utils"),SN=require("react"),I$=[],EN=({columns:t,data:e,dataSource:n,getSelectedRows:o})=>{let[r]=Na();return(0,SN.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,wN.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?I$:o(),viewport:n.viewport})}},[t,e,n,o,r])};var fe=require("@vuu-ui/vuu-utils");var TN=require("react"),{info:Yw}=(0,fe.logger)("useTableModel"),P$=100,D$=fe.metadataKeys.count,R$=({serverDataType:t})=>t===void 0,kN=(t,e)=>{let n=e==null?void 0:e.columns.find(({name:o})=>o===t.name);return n?n.serverDataType:t.serverDataType},L$=["int","long","double"],MN=t=>t===void 0?void 0:L$.includes(t)?"right":"left",IN=t=>t.type==="columnSettings",PN=t=>t.type==="tableSettings",A$=(t,e)=>{switch(Yw==null||Yw(`TableModelReducer ${e.type}`),e.type){case"init":return RN(e);case"moveColumn":return O$(t,e);case"resizeColumn":return B$(t,e);case"setTableSchema":return V$(t,e);case"hideColumns":return H$(t,e);case"showColumns":return F$(t,e);case"pinColumn":return z$(t,e);case"updateColumnProp":return ju(t,e);case"tableConfig":return AN(t,e);default:return console.log(`unhandled action ${e.type}`),t}},DN=(t,e)=>{let[n,o]=(0,TN.useReducer)(A$,{tableConfig:t,dataSource:e},RN),{columns:r,headings:i,tableConfig:s,...l}=n;return{columns:r,dispatchColumnAction:o,headings:i,tableAttributes:l,tableConfig:s}};function RN({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,fe.subscribedOnly)(r==null?void 0:r.columns)).map(LN(o,i)),l=s.some(fe.isPinned)?(0,fe.sortPinnedColumns)(s):s,a={columns:l,headings:(0,fe.getTableHeadings)(l),tableConfig:e,...o};if(r){let{columns:u,...c}=r;a=AN(a,{type:"tableConfig",...c})}return a}var N$=(t,e)=>e==="uppercase"?t.toUpperCase():e==="capitalize"?t[0].toUpperCase()+t.slice(1).toLowerCase():t,LN=(t,e)=>(n,o)=>{let{columnDefaultWidth:r=P$,columnFormatHeader:i}=t,s=kN(n,e),{align:l=MN(s),key:a,name:u,label:c=(0,fe.getColumnLabel)(n),width:d=r,...f}=n,p={...f,align:l,CellRenderer:(0,fe.getCellRenderer)(n),HeaderCellLabelRenderer:(0,fe.getCellRenderer)(n,"col-label"),HeaderCellContentRenderer:(0,fe.getCellRenderer)(n,"col-content"),clientSideEditValidationCheck:(0,fe.hasValidationRules)(n.type)?pD(n.type.renderer.rules):void 0,label:N$(c,i),key:a!=null?a:o+D$,name:u,originalIdx:o,serverDataType:s,valueFormatter:(0,fe.getValueFormatter)(n,s),width:d};return(0,fe.isGroupColumn)(p)&&(p.columns=p.columns.map(g=>LN(t)(g,g.key))),p};function O$(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 H$(t,{columns:e}){return e.some(n=>n.hidden!==!0)?e.reduce((n,o)=>o.hidden!==!0?ju(n,{type:"updateColumnProp",column:o,hidden:!0}):n,t):t}function F$(t,{columns:e}){return e.some(n=>n.hidden)?e.reduce((n,o)=>o.hidden?ju(n,{type:"updateColumnProp",column:o,hidden:!1}):n,t):t}function B$(t,{column:e,phase:n,width:o}){let r="updateColumnProp",i=n!=="end";switch(n){case"begin":return ju(t,{type:r,column:e,resizing:i});case"end":return ju(t,{type:r,column:e,resizing:i,width:o});case"resize":return ju(t,{type:r,column:e,width:o});default:throw Error(`useTableModel.resizeColumn, invalid resizePhase ${n}`)}}function V$(t,{tableSchema:e}){let{columns:n}=t;if(n.some(R$)){let o=n.map(r=>{var s;let i=kN(r,e);return{...r,align:(s=r.align)!=null?s:MN(i),serverDataType:i}});return{...t,columns:o}}else return t}function z$(t,e){let{columns:n}=t,{column:o,pin:r}=e,i=n.find(s=>s.name===o.name);return i?(n=(0,fe.replaceColumn)(n,{...i,pin:r}),n=(0,fe.sortPinnedColumns)(n),{...t,columns:n}):t}function ju(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,fe.replaceColumn)(n,{...c,align:r})),typeof l=="string"&&(n=(0,fe.replaceColumn)(n,{...c,label:l})),typeof a=="boolean"&&(n=(0,fe.replaceColumn)(n,{...c,resizing:a})),typeof s=="boolean"&&(n=(0,fe.replaceColumn)(n,{...c,hidden:s})),typeof u=="number")){n=(0,fe.replaceColumn)(n,{...c,width:u});let d=o.columns.find(f=>f.name===i.name);d&&(o={...o,columns:(0,fe.replaceColumn)(o.columns,{...d,width:u})})}return{...t,columns:n,tableConfig:o}}function AN(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,fe.applyGroupByToColumns)(a.columns,o,e)}),l&&(a={...t,columns:(0,fe.applySortToColumns)(a.columns,r)}),s?a={...t,columns:(0,fe.applyFilterToColumns)(a.columns,n)}:a.columns.some(fe.isFilteredColumn)&&(a={...t,columns:(0,fe.stripFilterFromColumns)(a.columns)}),a}var gn=require("react"),NN=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]},ON=({onAttach:t,onDetach:e})=>{let n=(0,gn.useRef)(null);return(0,gn.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])},HN=({maxScrollLeft:t,maxScrollTop:e,onHorizontalScroll:n,onVerticalScroll:o,rowHeight:r,viewportRowCount:i})=>{let s=(0,gn.useRef)(!1),l=(0,gn.useRef)({scrollTop:0,scrollLeft:0}),a=(0,gn.useRef)(null),u=(0,gn.useRef)(null),c=(0,gn.useCallback)(()=>{let{current:x}=u,{current:v}=a,{current:w}=s;if(w)s.current=!1;else if(x&&v){let[C,S]=NN(v),E=Math.round(C*t),T=Math.round(S*e);x.scrollTo({left:E,top:T,behavior:"auto"})}},[t,e]),d=(0,gn.useCallback)(()=>{let{current:x}=u,{current:v}=a,{current:w}=l;if(x&&v){let{scrollLeft:C,scrollTop:S}=x,[E,T]=NN(x);s.current=!0,v.scrollLeft=Math.round(E*t),v.scrollTop=Math.round(T*e),w.scrollTop!==S&&(w.scrollTop=S,o==null||o(S,T)),w.scrollLeft!==C&&(w.scrollLeft=C,n==null||n(C))}},[t,e,n,o]),f=(0,gn.useCallback)(x=>{a.current=x,x.addEventListener("scroll",c,{passive:!0})},[c]),p=(0,gn.useCallback)(x=>{a.current=null,x.removeEventListener("scroll",c)},[c]),g=(0,gn.useCallback)(x=>{u.current=x,x.addEventListener("scroll",d,{passive:!0})},[d]),y=(0,gn.useCallback)(x=>{u.current=null,x.removeEventListener("scroll",d)},[d]),m=ON({onAttach:g,onDetach:y}),h=ON({onAttach:f,onDetach:p}),b=(0,gn.useCallback)(x=>{let{current:v}=u;if(v){let{scrollLeft:w,scrollTop:C}=v;if(s.current=!1,x.type==="scroll-distance"){let S=w,E=C;x.direction==="up"||x.direction==="down"?E=Math.min(Math.max(0,C+x.distance),e):S=Math.min(Math.max(0,w+x.distance),t),v.scrollTo({top:E,left:S,behavior:"smooth"})}else if(x.type==="scroll-page"){let{direction:S}=x,E=i*(S==="down"?r:-r),T=Math.min(Math.max(0,C+E),e);v.scrollTo({top:T,left:w,behavior:"auto"})}else if(x.type==="scroll-end"){let{direction:S}=x,E=S==="end"?e:0;v.scrollTo({top:E,left:v.scrollLeft,behavior:"auto"})}}},[t,e,r,i]);return{scrollbarContainerRef:h,contentContainerRef:m,requestScroll:b}};var ui=require("react"),Og=require("@vuu-ui/vuu-utils"),$$=15e5,_$={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},W$=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}},FN=({columns:t,headerHeight:e,headings:n,rowCount:o,rowHeight:r,size:i})=>{let s=(0,ui.useRef)(0),a=Math.min(o,$$)*r,c=o*r-a,{pinnedWidthLeft:d,pinnedWidthRight:f,unpinnedWidth:p}=(0,ui.useMemo)(()=>W$(t),[t]),[g,y]=(0,ui.useMemo)(()=>(0,Og.actualRowPositioning)(r),[r]),[m,h]=(0,ui.useMemo)(()=>c?(0,Og.virtualRowPositioning)(r,c,s):[g,y],[y,g,c,r]),b=(0,ui.useCallback)(x=>{s.current=x},[]);return(0,ui.useMemo)(()=>{var x;if(i){let v=n.length,w=15,C=d+p+f,S=C>i.width?w:0,E=e*(1+v),T=a-(((x=i==null?void 0:i.height)!=null?x:0)-S)+E,M=C-i.width+d,O=(i.height-e)/r,I=Number.isInteger(O)?O+1:Math.ceil(O),P=i.height-E,A=a>P?w:0;return{contentHeight:a,getRowAtPosition:h,getRowOffset:m,horizontalScrollbarHeight:S,maxScrollContainerScrollHorizontal:M,maxScrollContainerScrollVertical:T,pinnedWidthLeft:d,pinnedWidthRight:f,rowCount:I,contentWidth:C,setPctScrollTop:b,totalHeaderHeight:E,verticalScrollbarWidth:A,viewportBodyHeight:P}}else return _$},[i,n.length,d,p,f,a,e,r,h,m,b])};var qu=require("react"),BN=({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 Hg=t=>t,{KEY:K$,IS_EXPANDED:VN,IS_LEAF:zN}=on.metadataKeys,U$={draggable:void 0,onMouseDown:void 0},G$=()=>U$,j$=(t,e)=>({...t,columns:t.columns.concat(e)}),$N=({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:b,renderBufferSize:x=0,rowHeight:v=20,selectionModel:w,size:C})=>{let[S,E]=(0,xe.useState)(r.size);if(r===void 0)throw Error("no data source provided to Vuu Table");let T=t?cr:G$,M=(0,xe.useMemo)(()=>iN(r),[r]),O=(0,xe.useCallback)(W=>{E(W)},[]),{columns:I,dispatchColumnAction:P,headings:A,tableAttributes:N,tableConfig:R}=DN(n,r);kn(()=>{P({type:"init",dataSource:r,tableConfig:R})},[R,r,P]);let H=(0,xe.useCallback)(W=>{P({type:"init",tableConfig:W,dataSource:r}),d==null||d(Hg(W))},[r,P,d]),[k,L]=(0,xe.useState)(),[D,B]=(0,xe.useMemo)(()=>{let W=(ae,Se)=>{let vt=(0,on.updateColumn)(I,ae,{width:Se});L(vt)};return[k!=null?k:I,W]},[I,k]),F=(0,xe.useMemo)(()=>(0,on.buildColumnMap)(r.columns),[r.columns]),{getRowAtPosition:U,getRowOffset:re,setPctScrollTop:Y,..._}=FN({columns:D,headerHeight:s,headings:A,rowCount:S,rowHeight:v,size:C}),J=hN({from:0,to:_.rowCount}),le=(0,xe.useCallback)(({tableSchema:W})=>{W?P({type:"setTableSchema",tableSchema:W}):console.log("subscription message with no schema")},[P]),{data:X,dataRef:Pe,getSelectedRows:pe,range:Ce,setRange:me}=mN({dataSource:r,onFeatureInvocation:g,renderBufferSize:x,onSizeChange:O,onSubscribed:le,range:J}),We=(0,xe.useCallback)(W=>{console.log("settings changed"),P({type:"init",tableConfig:W,dataSource:r}),d==null||d(Hg(W))},[r,P,d]),Ue=(0,xe.useCallback)(W=>{r.config={...r.config,...W}},[r]);(0,xe.useEffect)(()=>{r.on("config",(W,ae)=>{P({type:"tableConfig",...W,confirmed:ae})})},[r,P]);let Ne=(0,xe.useCallback)(W=>{r.columns=r.columns.concat(W.name),H(j$(R,W))},[r,R,H]),Oe=(0,xe.useCallback)(W=>{let{columns:ae}=W,Se=ae.map(ft=>ft.name),vt={...R,columns:R.columns.map(ft=>Se.includes(ft.name)?{...ft,hidden:!0}:ft)};H(vt)},[R,H]),Ye=(0,xe.useCallback)(W=>{H({...R,columns:(0,on.updateColumn)(R.columns,{...W.column,pin:W.pin})})},[R,H]),{showColumnSettingsPanel:At,showTableSettingsPanel:sn}=oN({availableColumns:e!=null?e:R.columns.map(({name:W,serverDataType:ae="string"})=>({name:W,serverDataType:ae})),onAvailableColumnsChange:c,onConfigChange:We,onCreateCalculatedColumn:Ne,onDataSourceConfigChange:Ue,tableConfig:R}),De=(0,xe.useCallback)(W=>{if(IN(W))At(W);else if(PN(W))sn();else switch(W.type){case"hideColumns":return Oe(W);case"pinColumn":return Ye(W);default:P(W)}},[P,Oe,Ye,At,sn]),te=lN({dataSource:r,onPersistentColumnOperation:De}),oe=(0,xe.useCallback)((W,ae=!1,Se)=>{r&&(r.sort=(0,on.applySort)(r.sort,W,ae,Se))},[r]),ce=(0,xe.useCallback)((W,ae,Se)=>{let vt=D.find(ft=>ft.name===ae);if(vt)W==="resize"?(0,on.isValidNumber)(Se)&&B(ae,Se):W==="end"?(0,on.isValidNumber)(Se)&&(P({type:"resizeColumn",phase:W,column:vt,width:Se}),L(void 0),d==null||d(Hg(_w(R,{type:"col-size",column:vt,width:Se})))):(L(void 0),P({type:"resizeColumn",phase:W,column:vt,width:Se}));else throw Error(`useDataTable.handleColumnResize, column ${ae} not found`)},[D,R,P,d,B]),he=(0,xe.useCallback)((W,ae)=>{let Se=(0,on.isJsonGroup)(ae,W),vt=W[K$];if(W[VN]){if(r.closeTreeNode(vt,!0),Se){let ft=D.indexOf(ae);r.getRowsAtDepth(ft+1).some(Lo=>Lo[VN]||Lo[zN])||P({type:"hideColumns",columns:D.slice(ft+2)})}}else if(r.openTreeNode(vt),Se){let ft=r.getChildRows(vt),Ro=D.indexOf(ae)+1,Lo=[D[Ro]];ft.some(Yl=>Yl[zN])&&Lo.push(D[Ro+1]),Lo.some(Yl=>Yl.hidden)&&P({type:"showColumns",columns:Lo})}},[D,r,P]),{onVerticalScroll:z}=BN({columns:D,getRowAtPosition:U,setRange:me,viewportMeasurements:_}),Q=(0,xe.useCallback)(W=>{z(W)},[z]),{requestScroll:we,...He}=HN({maxScrollLeft:_.maxScrollContainerScrollHorizontal,maxScrollTop:_.maxScrollContainerScrollVertical,rowHeight:v,onVerticalScroll:Q,viewportRowCount:_.rowCount}),{highlightedIndexRef:yt,navigate:$t,onFocus:dt,onKeyDown:bt,...xn}=xN({columnCount:D.filter(W=>W.hidden!==!0).length,containerRef:o,disableFocus:i,highlightedIndex:l,navigationStyle:u,requestScroll:we,rowCount:r==null?void 0:r.size,onHighlight:y,viewportRange:Ce,viewportRowCount:_.rowCount}),{onBlur:Cn,onDoubleClick:zn,onKeyDown:Jl,onFocus:gi}=fN({navigate:$t}),Xl=(0,xe.useCallback)(W=>{dt(),W.defaultPrevented||gi(W)},[gi,dt]),Kf=EN({columns:D,data:X,dataSource:r,getSelectedRows:pe}),ky=(0,xe.useCallback)(W=>{r.groupBy=W.map(ae=>ae.name)},[r]),My=(0,xe.useCallback)(W=>{(0,on.isGroupColumn)(W)?r.groupBy=[]:r&&r.groupBy.includes(W.name)&&(r.groupBy=r.groupBy.filter(ae=>ae!==W.name))},[r]),Uf=(0,xe.useCallback)(W=>{r.select(W),b==null||b(W)},[r,b]),{onKeyDown:Gf,onRowClick:bc}=CN({highlightedIndexRef:yt,onSelect:h,onSelectionChange:Uf,selectionModel:w}),Iy=(0,xe.useCallback)(W=>{bt(W),W.defaultPrevented||Jl(W),W.defaultPrevented||Gf(W)},[bt,Jl,Gf]),Py=(0,xe.useCallback)((W,ae,Se)=>{bc(W,ae,Se),m==null||m(W)},[m,bc]);kn(()=>{P({type:"init",tableConfig:n,dataSource:r})},[n,r,P]);let Dy=(0,xe.useCallback)(W=>{let ae={...R,columns:W};P({type:"init",tableConfig:ae,dataSource:r}),d==null||d(Hg(ae))},[r,P,d,R]),jf=(0,xe.useCallback)(W=>{p==null||p(W)},[p]),qf=(0,xe.useCallback)(async(W,ae,Se)=>r.applyEdit(W,ae,Se),[r]),$n=(0,xe.useCallback)(W=>{let{initialDragElement:ae}=W,Se=ae.ariaRowIndex;if(Se){let vt=parseInt(Se),ft=Pe.current.find(Ro=>Ro[0]===vt);ft&&W.setPayload(ft)}f==null||f(W)},[Pe,f]),{onMouseDown:Ze,draggable:ln}=T({allowDragDrop:t,containerRef:o,draggableClassName:"vuuTable",id:a,onDragStart:$n,onDrop:jf,orientation:"vertical",itemQuery:".vuuTableRow"});return{...xn,draggableRow:ln,onBlur:Cn,onDoubleClick:zn,onFocus:Xl,onKeyDown:Iy,onMouseDown:Ze,columnMap:F,columns:D,data:X,handleContextMenuAction:te,headings:A,highlightedIndex:yt.current,menuBuilder:M,onContextMenu:Kf,onDataEdited:qf,onMoveColumn:Dy,onMoveGroupColumn:ky,onRemoveGroupColumn:My,onRowClick:Py,onSortColumn:oe,onResizeColumn:ce,onToggleGroup:he,scrollProps:He,tableAttributes:N,tableConfig:R,viewportMeasurements:_}};var Fg=require("@vuu-ui/vuu-utils"),WN=V(j());var Mf=require("@vuu-ui/vuu-utils"),If=require("react"),_N=({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:b})=>x=>x.name===b,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 gs=require("react/jsx-runtime"),KN=({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}=_N({columns:e,onMoveColumn:o,onSortColumn:l,tableConfig:a});return(0,gs.jsxs)("div",{className:`${t}-col-headings`,ref:c,children:[n.map((y,m)=>(0,gs.jsx)("div",{className:"vuuTable-heading",children:y.map(({label:h,width:b},x)=>(0,gs.jsx)("div",{className:"vuuTable-headingCell",style:{width:b},children:h},x))},m)),(0,gs.jsxs)("div",{className:`${t}-col-headers`,role:"row",children:[e.filter(Fg.isNotHidden).map((y,m)=>(0,Fg.isGroupColumn)(y)?(0,gs.jsx)(c0,{column:y,"data-index":m,onMoveColumn:r,onRemoveColumn:i,onResize:s},y.name):(0,gs.jsx)(HD,{className:(0,WN.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"),ci="vuuTable",{IDX:UN,RENDER_IDX:q$}=GN.metadataKeys,Q$=({Row:t=m0,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:b,renderBufferSize:x=0,rowHeight:v=20,selectionModel:w="extended",showColumnHeaders:C=!0,headerHeight:S=C?25:0,size:E})=>{let T=Ie(a),{columnMap:M,columns:O,data:I,draggableRow:P,handleContextMenuAction:A,headings:N,highlightedIndex:R,onDataEdited:H,onMoveColumn:k,onMoveGroupColumn:L,onRemoveGroupColumn:D,onResizeColumn:B,onRowClick:F,onSortColumn:U,onToggleGroup:re,menuBuilder:Y,scrollProps:_,tableAttributes:J,tableConfig:le,viewportMeasurements:X,...Pe}=$N({allowDragDrop:e,availableColumns:n,config:o,containerRef:r,dataSource:i,disableFocus:s,headerHeight:S,highlightedIndex:l,id:T,navigationStyle:u,onAvailableColumnsChange:c,onConfigChange:d,onDragStart:f,onDrop:p,onFeatureInvocation:g,onHighlight:y,onRowClick:m,onSelect:h,onSelectionChange:b,renderBufferSize:x,rowHeight:v,selectionModel:w,size:E}),pe=(0,Zw.default)(`${ci}-contentContainer`,{[`${ci}-colLines`]:J.columnSeparators,[`${ci}-rowLines`]:J.rowSeparators,[`${ci}-zebra`]:J.zebraStripes}),Ce={"--content-height":`${X.contentHeight}px`,"--content-width":`${X.contentWidth}px`,"--horizontal-scrollbar-height":`${X.horizontalScrollbarHeight}px`,"--pinned-width-left":`${X.pinnedWidthLeft}px`,"--pinned-width-right":`${X.pinnedWidthRight}px`,"--header-height":`${S}px`,"--row-height":`${v}px`,"--total-header-height":`${X.totalHeaderHeight}px`,"--vertical-scrollbar-width":`${X.verticalScrollbarWidth}px`,"--viewport-body-height":`${X.viewportBodyHeight}px`};return(0,Po.jsxs)(wx,{menuActionHandler:A,menuBuilder:Y,children:[(0,Po.jsx)("div",{className:`${ci}-scrollbarContainer`,ref:_.scrollbarContainerRef,style:Ce,children:(0,Po.jsx)("div",{className:`${ci}-scrollbarContent`})}),(0,Po.jsx)("div",{className:pe,ref:_.contentContainerRef,style:Ce,children:(0,Po.jsxs)("div",{...Pe,className:`${ci}-table`,tabIndex:s?void 0:-1,children:[C?(0,Po.jsx)(KN,{columns:O,headings:N,onMoveColumn:k,onMoveGroupColumn:L,onRemoveGroupColumn:D,onResizeColumn:B,onSortColumn:U,tableConfig:le,tableId:T}):null,(0,Po.jsx)("div",{className:`${ci}-body`,children:I.map(me=>(0,Po.jsx)(t,{columnMap:M,columns:O,highlighted:R===me[UN],onClick:F,onDataEdited:H,row:me,offset:v*me[UN]+X.totalHeaderHeight,onToggleGroup:re,zebraStripes:J.zebraStripes},me[q$]))})]})}),P]})},Bg=(0,Qu.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:b,onSelectionChange:x,renderBufferSize:v,rowHeight:w,selectionModel:C,showColumnHeaders:S,headerHeight:E,style:T,...M},O){let I=(0,Qu.useRef)(null),[P,A]=(0,Qu.useState)();return(0,Po.jsx)(sh,{...M,className:(0,Zw.default)(ci,r),id:u,onResize:A,ref:Le(I,O),children:P?(0,Po.jsx)(Q$,{Row:e,allowDragDrop:n,availableColumns:o,config:i,containerRef:I,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:b,onSelectionChange:x,renderBufferSize:v,rowHeight:w,selectionModel:C,showColumnHeaders:S,size:P}):null})});var Vg=require("react");var ys=(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"),eS=require("react/jsx-runtime"),jN=(0,Vg.memo)(({column:t,columnMap:e,onCommit:n=tu,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,eS.jsx)(ex,{checked:i,onClick:s(!i)}):(0,eS.jsx)(Vd,{checked:i,disabled:!0})},ys);jN.displayName="CheckboxCell";(0,zg.registerComponent)("checkbox-cell",jN,"cell-renderer",{serverDataType:"boolean"});var $g=require("@vuu-ui/vuu-utils"),Ju=require("react");var qN=require("react/jsx-runtime"),J$="vuuTableDropdownCell",X$=["Enter"," "],Y$=(0,Ju.memo)(function({column:e,columnMap:n,onCommit:o=tu,row:r}){let i=n[e.name],{initialValue:s,values:l}=Pf(e,r[i]),[a,u]=(0,Ju.useState)(null),c=(0,Ju.useCallback)((d,f)=>{f&&(u(f),o(f.value).then(p=>{p===!0&&d&&(0,$g.dispatchCustomEvent)(d.target,"vuu-commit")}))},[o]);return(0,qN.jsx)(Za,{className:J$,onSelectionChange:c,openKeys:X$,selected:a!=null?a:s,source:l,width:e.width-17})},ys);(0,$g.registerComponent)("dropdown-cell",Y$,"cell-renderer",{});var QN=require("@vuu-ui/vuu-utils");var JN=V(j());var Wg=require("react/jsx-runtime"),_g="vuuTableInputCell",Z$=()=>(console.warn("onCommit handler has not been provided to InputCell cell renderer"),Promise.resolve(!0)),e_=({column:t,columnMap:e,onCommit:n=Z$,row:o})=>{let r=e[t.name],{align:i="left",clientSideEditValidationCheck:s,valueFormatter:l}=t,{warningMessage:a,...u}=mD({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,JN.default)(_g,{[`${_g}-error`]:a!==void 0}),endAdornment:c,startAdornment:d})};(0,QN.registerComponent)("input-cell",e_,"cell-renderer",{});var XN=require("@vuu-ui/vuu-utils"),YN=require("react");var ZN=require("react/jsx-runtime"),t_=(0,YN.memo)(function({column:e,columnMap:n,row:o}){let r=n[e.name],{initialValue:i}=Pf(e,o[r]);return(0,ZN.jsx)("span",{children:i==null?void 0:i.label})},ys);(0,XN.registerComponent)("lookup-cell",t_,"cell-renderer",{});var bs=require("@vuu-ui/vuu-utils"),tO=V(j()),Kg=require("react");var nO=require("react/jsx-runtime"),eO="vuuTableToggleCell",n_=({name:t,type:e})=>{if((0,bs.isTypeDescriptor)(e)&&(0,bs.isValueListRenderer)(e.renderer))return e.renderer.values;throw Error(`useLookupValues column ${t} has not been configured with a values list`)},o_=(0,Kg.memo)(function({column:e,columnMap:n,onCommit:o=tu,row:r}){let i=n_(e),s=n[e.name],l=r[s],a=(0,Kg.useCallback)((u,c)=>o(c).then(d=>(d===!0&&(0,bs.dispatchCustomEvent)(u.target,"vuu-commit"),d)),[o]);return(0,nO.jsx)(cD,{className:(0,tO.default)(eO,`${eO}-${e.name}`),onCommit:a,value:l,values:i,variant:"cta",children:l})},ys);(0,bs.registerComponent)("toggle-cell",o_,"cell-renderer",{});var oO=require("@vuu-ui/vuu-utils"),Df=require("react"),Ug=(t,e)=>{let n=(0,Df.useRef)(null),[o,r]=eP(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,oO.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 rO=require("@vuu-ui/vuu-utils");var Gg=require("react/jsx-runtime"),r_="vuuSearchCell",i_=({column:t,columnMap:e,row:n})=>{let o=e[t.name],r=n[o];return(0,Gg.jsxs)("div",{className:r_,tabIndex:-1,children:[(0,Gg.jsx)("span",{"data-icon":"draggable"}),r]})};(0,rO.registerComponent)("search-cell",i_,"cell-renderer",{serverDataType:"private"});var vs=require("react");var s_=(t,e)=>n=>t.map(({name:o})=>n[e[o]]).join(" "),iO=({columnMap:t,columns:e,dataSource:n,defaultIsOpen:o,isOpen:r,itemToString:i=s_(e,t),onOpenChange:s,onSelect:l,searchColumns:a})=>{let[u,c]=(0,vs.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,vs.useMemo)(()=>a.map(C=>`${C} starts "__VALUE__"`).join(" or "),[a]),h=(0,vs.useCallback)((C,S)=>{f(C),s==null||s(C,S)},[s,f]),b=(0,vs.useCallback)(C=>{let{value:S}=C.target;if(c(S),S&&S.trim().length){let E=m.replaceAll("__VALUE__",S);n.filter={filter:E}}else n.filter={filter:""};f(!0)},[m,n,f]),x=(0,vs.useCallback)(C=>{let S=i(C);c(S),l(C),h==null||h(!1,"select")},[h,i,l]),v={inputProps:{autoComplete:"off",onKeyDown:g},onChange:b},w={onSelect:x};return{highlightedIndex:p.current,inputProps:v,isOpen:d,onOpenChange:h,tableHandlers:w,tableRef:y,value:u}};var Xu=require("react/jsx-runtime"),l_="vuuInstrumentPicker",jve=(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=Ie(s),{highlightedIndex:m,inputProps:h,isOpen:b,onOpenChange:x,tableHandlers:v,tableRef:w,value:C}=iO({columnMap:r,columns:n.config.columns,dataSource:e,itemToString:l,onOpenChange:a,onSelect:u,searchColumns:d}),S=(0,jg.useMemo)(()=>(0,Xu.jsx)("span",{"data-icon":"chevron-down"}),[]),E={...n,config:{...n.config,zebraStripes:!1}};return(0,Xu.jsxs)(Ka,{...p,fullWidth:!0,id:y,isOpen:b,onOpenChange:x,openOnFocus:!0,placement:"below-full-width",ref:g,width:f,children:[(0,Xu.jsx)(Un,{...h,disabled:i,endAdornment:S,value:C}),(0,Xu.jsx)(Bg,{rowHeight:25,renderBufferSize:100,...E,...v,className:`${l_}-list`,height:200,highlightedIndex:m,dataSource:e,navigationStyle:"row",ref:w,showColumnHeaders:!1})]})});var cO=V(j()),dO=require("react");var sO=require("@vuu-ui/vuu-utils");var qg=require("react/jsx-runtime"),a_="vuuSearchCell",u_=({column:t,columnMap:e,row:n})=>{let o=e[t.name],r=n[o];return(0,qg.jsxs)("div",{className:a_,tabIndex:-1,children:[(0,qg.jsx)("span",{"data-icon":"draggable"}),r]})};(0,sO.registerComponent)("search-cell",u_,"cell-renderer",{serverDataType:"private"});var lO=require("@vuu-ui/vuu-data");var xs=require("react"),aO=({dataSource:t,searchColumns:e=["description"],table:n})=>{let[o,r]=(0,xs.useState)(t),{loadSession:i,saveSession:s}=Om(),[l,a]=(0,xs.useState)({searchText:"",filter:""}),u=(0,xs.useMemo)(()=>e.map(d=>`${d} starts "__VALUE__"`).join(" or "),[e]);(0,xs.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):tS(n).then(p=>{let g=new lO.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,xs.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"),nS="vuuInstrumentSearch",c_={columns:[{name:"bbg",hidden:!0},{name:"description",width:200,type:{name:"string",renderer:{name:"search-cell"}}}],rowSeparators:!0},d_=(0,Vl.jsx)("span",{"data-icon":"search"}),f_=({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}=aO({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,dO.useCallback)(h=>{setTimeout(()=>{var b;(b=h==null?void 0:h.querySelector("input"))==null||b.focus()},100)},[]);return(0,Vl.jsxs)("div",{...l,className:(0,cO.default)(nS,n),children:[(0,Vl.jsx)("div",{className:`${nS}-inputField`,children:(0,Vl.jsx)(Un,{inputProps:{onKeyDown:p},endAdornment:d_,placeholder:r,ref:e?y:null,value:c.searchText,onChange:u})}),a?(0,Vl.jsx)(Bg,{disableFocus:!0,id:"instrument-search",rowHeight:25,config:c_,highlightedIndex:d.current,renderBufferSize:100,...t,className:`${nS}-list`,dataSource:a,navigationStyle:"row",onHighlight:f,ref:g,showColumnHeaders:!1}):null]})},uO;(uO=et)==null||uO("InstrumentSearch",f_,"view");var Yu=require("@vuu-ui/vuu-utils"),Zu=require("react"),fO=V(j());var Qg=require("react/jsx-runtime"),p_="vuuPriceTicker",m_=t=>(0,Yu.numericFormatter)({type:{name:"number",formatting:{decimals:t,zeroPad:!0}}}),h_=[void 0,void 0],g_=(0,Zu.memo)(({className:t,decimals:e=2,price:n,showArrow:o,...r})=>{let i=(0,Zu.useRef)(h_),[s,l]=i.current,a=(0,Zu.useMemo)(()=>m_(e),[e]),u=(0,Yu.isValidNumber)(s)?(0,Yu.getMovingValueDirection)(n,l,s,e):"";return i.current=[n,u],(0,Qg.jsxs)("div",{...r,className:(0,fO.default)(p_,t,u),children:[a(n),o?(0,Qg.jsx)("span",{"data-icon":"price-arrow"}):null]})});g_.displayName="PriceTicker";var Yg=V(j()),tc=V(require("react"));var EO=require("@vuu-ui/vuu-utils"),rn=require("react");var pO=t=>typeof t=="object"&&t!==null&&"tabIndex"in t&&typeof t.tabIndex=="number",mO=t=>({label:"Close",location:"tab",action:"close-tab",options:t}),hO=t=>({label:"Rename",location:"tab",action:"rename-tab",options:t});var gO=require("@vuu-ui/vuu-utils"),yO=(t,e)=>{if(t){let n=t.querySelector(`[data-index]:has(${e})`);return(0,gO.getElementDataIndex)(n)}return-1},oS=t=>yO(t,'[aria-selected="true"]'),bO=t=>yO(t,".vuuEditableLabel-editing");var ec=require("@vuu-ui/vuu-utils"),di=require("react"),vO=(t,e,n="horizontal")=>{let o=(0,di.useRef)(!1),r=(0,di.useCallback)(()=>{o.current=!0},[]),i=(0,di.useCallback)(()=>{o.current=!1},[]),s=(0,di.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,di.useRef)(-1);return(0,di.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}=ec.MEASURES[n];if(f&&p&&!o.current){let{[g]:m,[y]:h}=f.getBoundingClientRect(),{[g]:b}=p.getBoundingClientRect();if((0,ec.isValidNumber)(m)&&(0,ec.isValidNumber)(b)&&(0,ec.isValidNumber)(h)){a=m-b,u=h;let v=Math.abs(a/(n==="horizontal"?1100:700));requestAnimationFrame(()=>{var w,C,S,E;(w=t.current)==null||w.style.setProperty("--tab-thumb-offset","0px"),(C=t.current)==null||C.style.setProperty("--tab-thumb-size","100%"),(S=t.current)==null||S.style.setProperty("--tab-thumb-transition",`all ${v}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"),Lt=require("react"),yn=require("@vuu-ui/vuu-utils");var CO={horizontal:{[yn.Home]:"start",[yn.End]:"end",[yn.ArrowLeft]:"bwd",[yn.ArrowRight]:"fwd"},vertical:{[yn.Home]:"start",[yn.End]:"end",[yn.ArrowUp]:"bwd",[yn.ArrowDown]:"fwd"}},y_=(t,e="horizontal")=>CO[e][t]!==void 0,b_=t=>t===yn.ArrowDown;function xO(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 v_=t=>t!==null&&!t.classList.contains("wrapped"),Jg=(t,e)=>t?t.querySelector(`[data-index="${e}"]`):null,wO=({containerRef:t,defaultHighlightedIdx:e=-1,highlightedIdx:n,keyBoardActivation:o,orientation:r,selectedIndex:i=0})=>{let s=o==="manual",l=(0,Lt.useRef)(!1),a=(0,Lt.useRef)(-1),[u,c]=(0,Lt.useState)(!1),[,d]=(0,Lt.useState)({}),[f,p]=Me({controlled:n,default:e,name:"UseKeyboardNavigation"}),g=(0,Lt.useCallback)(I=>{p(a.current=I)},[p]),y=(0,Lt.useRef)(!1),m=(0,Lt.useCallback)((I,P=!1,A,N=70)=>{g(I),A===!0&&!y.current&&(y.current=!0);let R=()=>{let H=Jg(t.current,I);if(H){let k=(0,Xg.getFocusableElement)(H);k==null||k.focus()}};P?R():setTimeout(R,N)},[t,g]),h=I=>{if(a.current===-1&&I.target.tabIndex!==-1){let P=bO(t.current);P!==-1?requestAnimationFrame(()=>{g(P)}):setTimeout(()=>{a.current===-1&&i!==null&&g(i)},200)}},b=(0,Lt.useCallback)(()=>{var I,P;return(P=(I=t.current)==null?void 0:I.querySelectorAll("[data-index]").length)!=null?P:0},[t]),x=(0,Lt.useCallback)((I="fwd",P)=>{let A=b(),R=xO(A,I,typeof P=="number"?P:A),H=I==="start"?"fwd":I==="end"?"bwd":I;for(;(H==="fwd"&&R<A||H==="bwd"&&R>0)&&!v_(Jg(t.current,R));){let k=xO(A,H,R);if(k===R)break;R=k}return R},[t,b]),v=(0,Lt.useCallback)((I,P=!1)=>{let A=CO[r][I.key],N=x(A,f);N!==f?s&&m(N,!0):P&&d({})},[f,s,x,m,r]),w=(0,Lt.useCallback)(()=>{let I=Jg(t.current,f);return I?I.querySelector(".vuuPopupMenu")!=null:!1},[t,f]),C=(0,Lt.useCallback)(()=>{let I=Jg(t.current,f),P=I==null?void 0:I.querySelector(".vuuPopupMenu");return P&&(0,Xg.dispatchMouseEvent)(P,"click"),!1},[t,f]),S=(0,Lt.useCallback)(I=>{b()>0&&y_(I.key,r)?(I.preventDefault(),y.current?v(I):(y.current=!0,v(I,!0))):b_(I.key)&&w()&&C()},[C,b,w,v,r]),E=(I,P)=>{g(P)},T=(0,Lt.useCallback)(()=>{u||(c(!0),l.current?l.current=!1:y.current=!0)},[u]),M=(0,Lt.useCallback)(()=>{u||(l.current=!0),y.current=!1},[u]);return{containerProps:{onBlur:I=>{let P=I.target.closest(".vuuTabstrip"),A=I.relatedTarget;P&&!(P!=null&&P.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:S,setHighlightedIdx:g}};var Rf=require("react"),x_=["Enter"," "],C_=t=>t&&t.matches('[class*="vuuTab "]'),SO=({defaultSelected:t,highlightedIdx:e,onSelectionChange:n,selected:o})=>{let[r,i,s]=Me({controlled:o,default:t!=null?t:0,name:"Tabstrip",state:"value"}),l=(0,Rf.useCallback)(d=>x_.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&&C_(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 w_=new Set(["Enter"," "]),S_=t=>w_.has(t),E_=(t,e)=>t?t.querySelector(`[data-index="${e}"]`):null,TO=({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}=wO({containerRef:o,keyBoardActivation:c,orientation:u,selectedIndex:d.current}),{activateTab:b,onClick:x,onKeyDown:v,selected:w}=SO({highlightedIdx:p,onSelectionChange:r,selected:t});d.current=w;let{containerStyle:C,resumeAnimation:S,suspendAnimation:E}=vO(o,n?w:-1,u),T=(0,rn.useCallback)((_,J)=>{let{current:le}=d;console.log(`useTabstrip handleDrop ${_} - ${J} ${le}`),a==null||a(_,J);let X=-1;J!==-1&&(le===_?X=J:_>le&&J<=le?X=le+1:_<le&&J>=le&&(X=le-1),X!==-1&&(E(),b(X),requestAnimationFrame(S)),f(J,!1,!1,350))},[f,a,S,b,E]),{onMouseDown:M,...O}=cr({allowDragDrop:e,containerRef:o,draggableClassName:`tabstrip-${u}`,onDrop:T,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"}),I=(0,rn.useCallback)((_,J,le,X)=>{console.log(`handleExitEditMode ${_} ${J} ${le} ${X}`),l==null||l(_,J,le,X),le||f(X,!1,!0)},[f,l]),P=(0,rn.useCallback)((_,J)=>{g(_,J),x(_,J)},[g,x]),A=(0,rn.useCallback)((_=p)=>{let J=E_(o.current,_);if(J)return J.querySelector(".vuuEditableLabel")},[o,p]),N=(0,rn.useCallback)((_=p)=>{let J=A(_);return J?J.classList.contains("vuuEditableLabel-editing"):!1},[A,p]),R=(0,rn.useCallback)((_=p)=>{let J=A(_);J&&(0,EO.dispatchMouseEvent)(J,"dblclick")},[A,p]),H=(0,rn.useCallback)(_=>{y(_),_.defaultPrevented||v(_),!_.defaultPrevented&&S_(_.key)&&R()},[R,y,v]),k=(0,rn.useCallback)(_=>{let J=oS(o.current),le=J>_?J-1:J===_?0:J;return E(),s==null||s(_,le),setTimeout(()=>{S()},200),!0},[o,s,S,E]),L=(0,rn.useCallback)(_=>(R(_),!0),[R]),D=(0,rn.useCallback)(_=>{if(pO(_.options))switch(_.menuId){case"close-tab":return k(_.options.tabIndex);case"rename-tab":return L(_.options.tabIndex);default:console.log(`tab menu action ${_.menuId}`)}return!1},[k,L]),B=(0,rn.useCallback)(()=>{N()?m(p):f(p)},[p,f,m,N]),F=(0,rn.useCallback)(_=>{let J=parseInt(_.index);isNaN(J)||b(J)},[b]),U={onFocus:h.onFocus,onKeyDown:H},re=(0,rn.useCallback)(()=>{i==null||i(),requestAnimationFrame(()=>{let _=oS(o.current);_!==-1&&f(_)})},[o,f,i]),Y={onClick:P,onKeyDown:H,onExitEditMode:I,onMenuAction:D,onMenuClose:B,onMouseDown:M};return{activeTabIndex:w,containerStyle:C,focusVisible:h.focusVisible,containerProps:{...h.containerProps,onSwitchWrappedItemIntoView:F},navigationProps:U,onClickAddTab:re,tabProps:Y,...O}};var nc=require("react/jsx-runtime"),kO=require("react"),rS="vuuTabstrip",iS=({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:b,tabClassName:x,...v})=>{let w=(0,tc.useRef)(null),{activeTabIndex:C,focusVisible:S,containerStyle:E,draggedItemIndex:T,onClickAddTab:M,tabProps:O,...I}=TO({activeTabIndex:t,allowDragDrop:o,animateSelectionThumb:i,containerRef:w,keyBoardActivation:u,onActiveChange:d,onAddTab:f,onCloseTab:p,onExitEditMode:g,onMoveTab:y,orientation:m}),P=Ie(a),A=(0,Yg.default)(rS,`${rS}-${m}`,l),N=b||E?{...b,...E}:void 0,R=(0,tc.useMemo)(()=>Ws(s).map((H,k)=>{let{id:L=`${P}-tab-${k}`,className:D,closeable:B=n,editable:F=r,location:U,showMenuButton:re=h}=H.props,Y=k===C;return tc.default.cloneElement(H,{...O,...I.navigationProps,className:(0,Yg.default)(D,x),closeable:B,"data-overflow-priority":Y?"1":void 0,dragging:T===k,editable:F,focusVisible:S===k,id:L,index:k,key:k,location:(0,Yg.default)(c,U),selected:Y,showMenuButton:re,tabIndex:Y?0:-1})}).concat(e?(0,kO.createElement)(jt,{...I.navigationProps,"aria-label":"Create Tab",className:`${rS}-addTabButton`,"data-icon":"add","data-overflow-priority":"1",key:"addButton",onClick:M,variant:"secondary",tabIndex:-1}):[]),[s,e,I.navigationProps,M,P,n,r,h,C,O,x,T,S,c]);return(0,nc.jsxs)(nc.Fragment,{children:[(0,nc.jsx)(Kd,{...v,...I.containerProps,className:A,height:29,id:P,orientation:m,overflowIcon:"more-horiz",ref:w,style:N,children:R}),I.draggable]})};var LO=V(j()),_l=require("react");var MO=require("react"),IO=V(j());var DO=require("react/jsx-runtime"),T_="vuuTabMenu",PO=({allowClose:t,allowRename:e,controlledComponentId:n,controlledComponentTitle:o,location:r,onMenuAction:i,onMenuClose:s,index:l})=>{let[a,u]=(0,MO.useMemo)(()=>[(c,d)=>{let f=[];return e&&f.push(hO(d)),t&&f.push(mO(d)),f},{controlledComponentId:n,controlledComponentTitle:o,tabIndex:l}],[t,e,n,l]);return(0,DO.jsx)(Sd,{className:T_,menuBuilder:a,menuActionHandler:i,menuLocation:(0,IO.default)("tab",r),menuOptions:u,onMenuClose:s,tabIndex:-1})};var $l=require("react/jsx-runtime"),zl="vuuTab",RO=()=>{},sS=(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=RO,onExitEditMode:y=RO,onFocus:m,onKeyUp:h,onMenuAction:b,onMenuClose:x,orientation:v,selected:w,showMenuButton:C=r||s||!!d,tabIndex:S,...E},T){if(C&&typeof b!="function")throw Error("Tab onMenuAction must be provided if showMenuButton is set");let M=(0,_l.useRef)(null),O=(0,_l.useRef)(null),I=Le(T,M),P=(0,_l.useCallback)(k=>{l||(k.preventDefault(),f==null||f(k,u))},[l,u,f]),A=(k="",L="",D=!0)=>y(k,L,D,u),N=k=>{switch(k.key){case"Backspace":case"Delete":r&&(k.stopPropagation(),p&&p(u));break;default:h&&h(k,u)}},R=()=>s?(0,$l.jsx)(_d,{editing:l,defaultValue:c,onEnterEditMode:g,onExitEditMode:A,ref:O},c):c,H=k=>{if(O.current){let D=O.current.querySelector(".vuuEditableLabel-input");D==null||D.focus()}m==null||m(k)};return(0,$l.jsxs)("div",{...E,"aria-controls":e,"aria-selected":w,className:(0,LO.default)(zl,o,{[`${zl}-closeable`]:r,"vuuDraggable-dragAway":i,[`${zl}-editing`]:l,[`${zl}-selected`]:w||void 0,[`${zl}-vertical`]:v==="vertical",vuuFocusVisible:a}),onClick:P,onFocus:H,onKeyUp:N,ref:I,role:"tab",tabIndex:S,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)(PO,{allowClose:r,allowRename:s,controlledComponentId:e,controlledComponentTitle:c,location:d,onMenuAction:b,onMenuClose:x,index:u}):null]})});var oy=V(j()),ry=require("react");function k_(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 lS=t=>t.closest("[data-idx],[aria-posinset]");var AO=t=>k_(lS(t));var oc=require("react"),M_=new Set(["/","-","."]),I_=t=>M_.has(t),NO=(t,e)=>e.startsWith(t)&&I_(e[t.length]),OO=(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,oc.useCallback)(f=>Array.isArray(r)?r.some(p=>NO(f,p)):o,[o,r]),l=(0,oc.useCallback)((f,p,g=1,y="",m=[],h=[])=>{let b=0;return f.forEach((x,v,w)=>{var A;let C=x.header&&n,S=x.childNodes&&n===!1,E=!x.childNodes||x.childNodes.length===0,T=S||E&&!C,M=y?`${y}.${v}`:`${v}`,O=(A=x.id)!=null?A:`${e}-${M}`,I=T?void 0:s(O),P={...x,childNodes:void 0,id:O,count:!S&&I===void 0?0:i(x,w,v),expanded:I,index:p.index,level:g};if(m.push(P),h.push(f[v]),b+=1,p.index+=1,x.childNodes){let[N,R]=l(x.childNodes,p,g+1,M,[],h);P.childNodes=R,(I===!0||S)&&(b+=N)}}),[b,m,h]},[n,e,s]),[a,u,c]=(0,oc.useMemo)(()=>l(t,{index:0}),[l,t]),d=(0,oc.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)&&NO(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 Cs=require("react");var HO="single",P_="checkbox",D_="multi",R_="extended",L_=["Enter"," "],FO={},A_=t=>t.expanded!==void 0,BO=t=>t&&t!=="none",VO=({defaultSelected:t,highlightedIdx:e,treeNodes:n,onChange:o,selected:r,selection:i=HO,selectionKeys:s=L_})=>{let l=i===HO,a=i===D_||i.startsWith(P_),u=i===R_,c=(0,Cs.useRef)(-1),d=(0,Cs.useCallback)(v=>s.includes(v.key),[s]),[f,p]=Me({controlled:r,default:t!=null?t:[],name:"selected"}),g=(0,Cs.useCallback)((v,w,C,S,E=!1)=>{let{current:T}=c,M=f==null?void 0:f.includes(C),I=l||u&&!E&&(!S||T===-1),P=a||u&&E&&!S,A=[];if(I&&M)A=[];else if(I)A=[C];else if(P&&M)A=f.filter(N=>N!==C);else if(P)A=f.concat(C);else if(u){let[N,R]=w>T?[T,w]:[w,T];A=f.slice();for(let H=N;H<=R;H++){let{id:k}=n[H];f.includes(k)||A.push(k)}}p(A),o&&o(v,A)},[u,n,a,o,f,p,l]),y=(0,Cs.useCallback)(v=>{if(~e&&d(v)){v.preventDefault();let w=n[e];g(v,e,w.id,!1,v.ctrlKey||v.metaKey),u&&(c.current=e)}},[u,e,n,d,g]),m=(0,Cs.useCallback)((v,w)=>{if(u&&v.shiftKey){let C=n[w];g(v,w,C.id,!0)}},[u,n,g]),h=i==="none"?FO:{onKeyDown:y,onKeyboardNavigation:m},b=(0,Cs.useCallback)(v=>{if(e!==-1){let w=n[e];A_(w)||(v.preventDefault(),v.stopPropagation(),g(v,e,w.id,v.shiftKey,v.ctrlKey||v.metaKey),u&&(c.current=e))}},[u,e,n,g]);return{listHandlers:h,listItemHandlers:i==="none"?FO:{onClick:b},selected:f,setSelected:p}};var Fn=require("react");var N_=["height","scrollHeight"],zO=(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]`,gC),f7={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"},F0=null;function p7(){var t;if(F0==null&&typeof document<"u"&&document.body){let e=document.body.style;F0=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return F0||!1}var Uh=ie.define({combine(t){let e=ns(t,{render:null,specialChars:d7,addSpecialChars:null});return(e.replaceTabs=!p7())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,gC)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,gC)),e}});function kC(t={}){return[Uh.of(t),m7()]}var oL=null;function m7(){return oL||(oL=Nn.fromClass(class{constructor(t){this.view=t,this.decorations=Mt.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(Uh)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new hC({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 Mt.replace({widget:new bC((l-a%l)*this.view.defaultCharacterWidth)})}return this.decorationCache[i]||(this.decorationCache[i]=Mt.replace({widget:new yC(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 h7="\u2022";function g7(t){return t>=32?h7:t==10?"\u2424":String.fromCharCode(9216+t)}var yC=class extends ri{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=g7(this.code),o=e.state.phrase("Control character")+" "+(f7[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}},bC=class extends ri{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",vC=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 y7(t){let{win:e}=t;return{top:0,left:0,bottom:e.innerHeight,right:e.innerWidth}}var B0=ie.define({combine:t=>{var e,n,o;return{position:ee.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)||y7}}}),rL=new WeakMap,XL=Nn.fromClass(class{constructor(t){this.view=t,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(B0);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 vC(t,MC,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(B0);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(B0).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=rL.get(l))!==null&&e!==void 0?e:c.bottom-c.top,y=l.offset||v7,m=this.view.textDirection==Xe.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),b=!!s.above;!s.strictSide&&(b?u.top-(c.bottom-c.top)-y.y<o.top:u.bottom+(c.bottom-c.top)+y.y>o.bottom)&&b==o.bottom-u.bottom>u.top-o.top&&(b=!b);let x=(b?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}rL.set(l,g),a.style.height=(g=x)+"px"}else a.style.height&&(a.style.height="");let v=b?u.top-g-f-y.y:u.bottom+f+y.y,w=h+p;if(l.overlap!==!0)for(let C of r)C.left<w&&C.right>h&&C.top<v+g&&C.bottom>v&&(v=b?C.top-g-2-f:C.bottom+f+2);this.position=="absolute"?(a.style.top=v-t.parent.top+"px",a.style.left=h-t.parent.left+"px"):(a.style.top=v+"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:v,right:w,bottom:v+g}),a.classList.toggle("cm-tooltip-above",b),a.classList.toggle("cm-tooltip-below",!b),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()}}}),b7=se.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"}}}),v7={x:0,y:0},MC=ie.define({enables:[XL,b7]});function IC(t,e){let n=t.plugin(XL);if(!n)return null;let o=n.manager.tooltips.indexOf(e);return o<0?null:n.manager.tooltipViews[o]}var ii=class extends Wo{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};ii.prototype.elementClass="";ii.prototype.toDOM=void 0;ii.prototype.mapMode=Qt.TrackBefore;ii.prototype.startSide=ii.prototype.endSide=-1;ii.prototype.point=!0;var x7=0,uf=class{constructor(e,n){this.from=e,this.to=n}},de=class{constructor(e={}){this.id=x7++,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=Dt.match(e)),n=>{let o=e(n);return o===void 0?null:[this,o]}}};de.closedBy=new de({deserialize:t=>t.split(" ")});de.openedBy=new de({deserialize:t=>t.split(" ")});de.group=new de({deserialize:t=>t.split(" ")});de.contextHash=new de({perNode:!0});de.lookAhead=new de({perNode:!0});de.mounted=new de({perNode:!0});var C7=Object.create(null),Dt=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):C7,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new Dt(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(de.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(de.group),i=-1;i<(r?r.length:0);i++){let s=n[i<0?o.name:r[i]];if(s)return s}}}};Dt.none=new Dt("",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 Dt(o.name,r,o.id,o.flags):o)}return new kl(n)}},ig=new WeakMap,YL=new WeakMap,ht;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays"})(ht||(ht={}));var _e=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(de.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 Eu(this.topNode,e)}cursorAt(e,n=0,o=0){let r=ig.get(this)||this.topNode,i=new Eu(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=Su(ig.get(this)||this.topNode,e,n,!1);return ig.set(this,o),o}resolveInner(e,n=0){let o=Su(YL.get(this)||this.topNode,e,n,!0);return YL.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&ht.IncludeAnonymous)>0;for(let a=this.cursor(s|ht.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:LC(Dt.none,this.children,this.positions,0,this.children.length,0,this.length,(n,o,r)=>new _e(this.type,n,o,r,this.propValues),e.makeTree||((n,o,r)=>new _e(Dt.none,n,o,r)))}static build(e){return w7(e)}};_e.empty=new _e(Dt.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)}},si=class{constructor(e,n,o){this.buffer=e,this.length=n,this.set=o}get type(){return Dt.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&&!(eA(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 si(i,s,this.set)}};function eA(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 tA(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 Su(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:ht.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(eA(r,o,d,d+c.length)){if(c instanceof si){if(i&ht.ExcludeBuffers)continue;let f=c.findChild(0,c.buffer.length,n,o-d,r);if(f>-1)return new vr(new PC(s,c,e,d),null,f)}else if(i&ht.IncludeAnonymous||!c.type.isAnonymous||RC(c)){let f;if(!(i&ht.IgnoreMounts)&&c.props&&(f=c.prop(de.mounted))&&!f.overlay)return new Uo(f.tree,d,e,s);let p=new Uo(c,d,e,s);return i&ht.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(n<0?c.children.length-1:0,n,o,r)}}}if(i&ht.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&ht.IgnoreOverlays)&&(r=this._tree.prop(de.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 Eu(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,n=0){return Su(this,e,n,!1)}resolveInner(e,n=0){return Su(this,e,n,!0)}enterUnfinishedNodesBefore(e){return tA(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 PC=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&ht.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 Eu(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 _e(this.type,e,n,this.to-this.from)}resolve(e,n=0){return Su(this,e,n,!1)}resolveInner(e,n=0){return Su(this,e,n,!0)}enterUnfinishedNodesBefore(e){return tA(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)}},Eu=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&ht.ExcludeBuffers?!1:this.enterChild(1,e,n):this.yield(this._tree.enter(e,n,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ht.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ht.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&ht.IncludeAnonymous||l instanceof si||!l.type.isAnonymous||RC(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 RC(t){return t.children.some(e=>e instanceof si||!e.type.isAnonymous||RC(e))}function w7(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(v,w,C,S,E){let{id:T,start:M,end:O,size:I}=l,P=c;for(;I<0;)if(l.next(),I==-1){let k=i[T];C.push(k),S.push(M-v);return}else if(I==-3){u=T;return}else if(I==-4){c=T;return}else throw new RangeError(`Unrecognized record size: ${I}`);let A=a[T],N,R,H=M-v;if(O-M<=r&&(R=y(l.pos-w,E))){let k=new Uint16Array(R.size-R.skip),L=l.pos-R.size,D=k.length;for(;l.pos>L;)D=m(R.start,k,D);N=new si(k,O-R.start,o),H=R.start-v}else{let k=l.pos-I;l.next();let L=[],D=[],B=T>=s?T:-1,F=0,U=O;for(;l.pos>k;)B>=0&&l.id==B&&l.size>=0?(l.end<=U-r&&(p(L,D,M,F,l.end,U,B,P),F=L.length,U=l.end),l.next()):d(M,k,L,D,B);if(B>=0&&F>0&&F<L.length&&p(L,D,M,F,M,U,B,P),L.reverse(),D.reverse(),B>-1&&F>0){let re=f(A);N=LC(A,L,D,0,L.length,0,O-M,re,re)}else N=g(A,L,D,O-M,P-O)}C.push(N),S.push(H)}function f(v){return(w,C,S)=>{let E=0,T=w.length-1,M,O;if(T>=0&&(M=w[T])instanceof _e){if(!T&&M.type==v&&M.length==S)return M;(O=M.prop(de.lookAhead))&&(E=C[T]+M.length+O)}return g(v,w,C,S,E)}}function p(v,w,C,S,E,T,M,O){let I=[],P=[];for(;v.length>S;)I.push(v.pop()),P.push(w.pop()+C-E);v.push(g(o.types[M],I,P,T-E,O-T)),w.push(E-C)}function g(v,w,C,S,E=0,T){if(u){let M=[de.contextHash,u];T=T?[M].concat(T):[M]}if(E>25){let M=[de.lookAhead,E];T=T?[M].concat(T):[M]}return new _e(v,w,C,S,T)}function y(v,w){let C=l.fork(),S=0,E=0,T=0,M=C.end-r,O={size:0,start:0,skip:0};e:for(let I=C.pos-v;C.pos>I;){let P=C.size;if(C.id==w&&P>=0){O.size=S,O.start=E,O.skip=T,T+=4,S+=4,C.next();continue}let A=C.pos-P;if(P<0||A<I||C.start<M)break;let N=C.id>=s?4:0,R=C.start;for(C.next();C.pos>A;){if(C.size<0)if(C.size==-3)N+=4;else break e;else C.id>=s&&(N+=4);C.next()}E=R,S+=P,T+=N}return(w<0||S==v)&&(O.size=S,O.start=E,O.skip=T),O.size>4?O:void 0}function m(v,w,C){let{id:S,start:E,end:T,size:M}=l;if(l.next(),M>=0&&S<s){let O=C;if(M>4){let I=l.pos-(M-4);for(;l.pos>I;)C=m(v,w,C)}w[--C]=O,w[--C]=T-v,w[--C]=E-v,w[--C]=S}else M==-3?u=S:M==-4&&(c=S);return C}let h=[],b=[];for(;l.pos>0;)d(t.start||0,t.bufferStart||0,h,b,-1);let x=(e=t.length)!==null&&e!==void 0?e:h.length?b[0]+h[0].length:0;return new _e(a[t.topID],h.reverse(),b.reverse(),x)}var ZL=new WeakMap;function sg(t,e){if(!t.isAnonymous||e instanceof si||e.type!=t)return 1;let n=ZL.get(e);if(n==null){n=1;for(let o of e.children){if(o.type!=t||!(o instanceof _e)){n=1;break}n+=sg(t,o)}ZL.set(e,n)}return n}function LC(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,b){for(let x=m;x<h;){let v=x,w=y[x],C=sg(t,g[x]);for(x++;x<h;x++){let S=sg(t,g[x]);if(C+S>=c)break;C+=S}if(x==v+1){if(C>c){let S=g[v];p(S.children,S.positions,0,S.children.length,y[v]+b);continue}d.push(g[v])}else{let S=y[x-1]+g[x-1].length-w;d.push(LC(t,g,y,v,x,w,S,null,a))}f.push(w+b-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}},Tu=class{startParse(e,n,o){return typeof e=="string"&&(e=new DC(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}}},DC=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 Wfe=new de({perNode:!0});var S7=0,So=class{constructor(e,n,o){this.set=e,this.base=n,this.modified=o,this.id=S7++}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 ku;return n=>n.modified.indexOf(e)>-1?n:ku.get(n.base||n,n.modified.concat(e).sort((o,r)=>o.id-r.id))}},E7=0,ku=class{constructor(){this.instances=[],this.id=E7++}static get(e,n){if(!n.length)return e;let o=n[0].instances.find(l=>l.base==e&&T7(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=k7(n);for(let l of e.set)if(!l.modified.length)for(let a of s)r.push(ku.get(l,a));return i}};function T7(t,e){return t.length==e.length&&t.every((n,o)=>n==e[o])}function k7(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 Mu(o,s,a>0?i.slice(0,a):null);e[u]=c.sort(e[u])}}return rA.add(e)}var rA=new de,Mu=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}};Mu.empty=new Mu([],2,null);function HC(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 M7(t,e){let n=null;for(let o of t){let r=o.style(e);r&&(n=n?n+" "+r:r)}return n}function iA(t,e,n,o=0,r=t.length){let i=new NC(o,Array.isArray(e)?e:[e],n);i.highlightRange(t.cursor(),o,r,"",i.highlighters),i.flush(r)}var NC=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=I7(e)||Mu.empty,d=M7(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(de.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 b=m<f.overlay.length?f.overlay[m]:null,x=b?b.from+l:a,v=Math.max(n,h),w=Math.min(o,x);if(v<w&&y)for(;e.from<w&&(this.highlightRange(e,v,w,r,i),this.startSpan(Math.min(w,e.to),u),!(e.to>=x||!e.nextSibling())););if(!b||x>o)break;h=b.to+l,h>n&&(this.highlightRange(p.cursor(),Math.max(n,b.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 I7(t){let e=t.type.prop(rA);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}var q=So.define,ug=q(),ls=q(),nA=q(ls),oA=q(ls),as=q(),cg=q(as),AC=q(as),Sr=q(),Ml=q(Sr),Cr=q(),wr=q(),OC=q(),df=q(OC),dg=q(),K={comment:ug,lineComment:q(ug),blockComment:q(ug),docComment:q(ug),name:ls,variableName:q(ls),typeName:nA,tagName:q(nA),propertyName:oA,attributeName:q(oA),className:q(ls),labelName:q(ls),namespace:q(ls),macroName:q(ls),literal:as,string:cg,docString:q(cg),character:q(cg),attributeValue:q(cg),number:AC,integer:q(AC),float:q(AC),bool:q(as),regexp:q(as),escape:q(as),color:q(as),url:q(as),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:OC,separator:q(OC),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()},Gfe=HC([{tag:K.link,class:"tok-link"},{tag:K.heading,class:"tok-heading"},{tag:K.emphasis,class:"tok-emphasis"},{tag:K.strong,class:"tok-strong"},{tag:K.keyword,class:"tok-keyword"},{tag:K.atom,class:"tok-atom"},{tag:K.bool,class:"tok-bool"},{tag:K.url,class:"tok-url"},{tag:K.labelName,class:"tok-labelName"},{tag:K.inserted,class:"tok-inserted"},{tag:K.deleted,class:"tok-deleted"},{tag:K.literal,class:"tok-literal"},{tag:K.string,class:"tok-string"},{tag:K.number,class:"tok-number"},{tag:[K.regexp,K.escape,K.special(K.string)],class:"tok-string2"},{tag:K.variableName,class:"tok-variableName"},{tag:K.local(K.variableName),class:"tok-variableName tok-local"},{tag:K.definition(K.variableName),class:"tok-variableName tok-definition"},{tag:K.special(K.variableName),class:"tok-variableName2"},{tag:K.definition(K.propertyName),class:"tok-propertyName tok-definition"},{tag:K.typeName,class:"tok-typeName"},{tag:K.namespace,class:"tok-namespace"},{tag:K.className,class:"tok-className"},{tag:K.macroName,class:"tok-macroName"},{tag:K.propertyName,class:"tok-propertyName"},{tag:K.operator,class:"tok-operator"},{tag:K.comment,class:"tok-comment"},{tag:K.meta,class:"tok-meta"},{tag:K.invalid,class:"tok-invalid"},{tag:K.punctuation,class:"tok-punctuation"}]);var FC,Iu=new de;function P7(t){return ie.define({combine:t?e=>e.concat(t):void 0})}var D7=new de,On=class{constructor(e,n,o=[],r=""){this.data=e,this.name=r,ge.prototype.hasOwnProperty("tree")||Object.defineProperty(ge.prototype,"tree",{get(){return It(this)}}),this.parser=n,this.extension=[Du.of(this),ge.languageData.of((i,s,l)=>{let a=sA(i,s,l),u=a.type.prop(Iu);if(!u)return[];let c=i.facet(u),d=a.type.prop(D7);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 sA(e,n,o).type.prop(Iu)==this.data}findRegions(e){let n=e.facet(Du);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(Iu)==this.data){o.push({from:s,to:s+i.length});return}let l=i.prop(de.mounted);if(l){if(l.tree.prop(Iu)==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 _e&&r(u,i.positions[a]+s)}};return r(It(e),0),o}get allowsNesting(){return!0}};On.setState=ke.define();function sA(t,e,n){let o=t.facet(Du),r=It(t).topNode;if(!o||o.allowsNesting)for(let i=r;i;i=i.enter(e,n,ht.ExcludeBuffers))i.type.isTop&&(r=i);return r}var Er=class extends On{constructor(e,n,o){super(e,n,[],o),this.parser=n}static define(e){let n=P7(e.languageData);return new Er(n,e.parser.configure({props:[Iu.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 It(t){let e=t.field(On.state,!1);return e?e.tree:_e.empty}function fg(t,e,n=50){var o;let r=(o=t.field(On.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 $C=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,Pu=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 Pu(e,n,[],_e.empty,0,o,[],null)}startParse(){return this.parser.startParse(new $C(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=_e.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=lA(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=_e.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 Pu(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=lA(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 Tu{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 _e(Dt.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 lA(t,e,n){return xr.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}var us=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 us(n)}static init(e){let n=Math.min(3e3,e.doc.length),o=Pu.create(e.facet(Du).parser,e,{from:0,to:n});return o.work(20,n)||o.takeTree(),new us(o)}};On.state=Yt.define({create:us.init,update(t,e){for(let n of e.effects)if(n.is(On.setState))return n.value;return e.startState.facet(Du)!=e.state.facet(Du)?us.init(e.state):t.apply(e)}});var cA=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(cA=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:500-100})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});var BC=typeof navigator<"u"&&(!((FC=navigator.scheduling)===null||FC===void 0)&&FC.isInputPending)?()=>navigator.scheduling.isInputPending():null,R7=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(On.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(On.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=cA(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(On.state);if(i.tree==i.context.tree&&i.context.isDone(r+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!BC?Math.max(25,e.timeRemaining()-5):1e9),l=i.context.treeLen<r&&o.doc.length>r+1e3,a=i.context.work(()=>BC&&BC()||Date.now()>s,r+(l?0:1e5));this.chunkBudget-=Date.now()-n,(a||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:On.setState.of(new us(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()}}}),Du=ie.define({combine(t){return t.length?t[0]:null},enables:t=>[On.state,R7,se.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]}),Ru=class{constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}};var L7=ie.define(),mf=ie.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 GC(t,e){t instanceof ge&&(t=new Pl(t));for(let o of t.state.facet(L7)){let r=o(t,e);if(r!==void 0)return r}let n=It(t.state);return n?N7(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}},A7=new de;function N7(t,e,n){return dA(e.resolveInner(n).enterUnfinishedNodesBefore(n),n,t)}function O7(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function H7(t){let e=t.type.prop(A7);if(e)return e;let n=t.firstChild,o;if(n&&(o=n.type.prop(de.closedBy))){let r=t.lastChild,i=r&&o.indexOf(r.name)>-1;return s=>z7(s,!0,1,void 0,i&&!O7(s)?r.from:void 0)}return t.parent==null?F7:null}function dA(t,e,n){for(;t;t=t.parent){let o=H7(t);if(o)return o(pf.create(n,e,t))}return null}function F7(){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(B7(o,e))break;n=this.state.doc.lineAt(o.from)}return this.lineIndent(n.from)}continue(){let e=this.node.parent;return e?dA(e,this.pos,this.base):0}};function B7(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function V7(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 z7(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?V7(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 On?l=>l.prop(Iu)==s.data:s?l=>l==s:void 0,this.style=HC(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||{})}},_C=ie.define(),fA=ie.define({combine(t){return t.length?[t[0]]:null}});function VC(t){let e=t.facet(_C);return e.length?e:t.facet(fA)}function Dl(t,e){let n=[$7],o;return t instanceof Go&&(t.module&&n.push(se.styleModule.of(t.module)),o=t.themeType),e!=null&&e.fallback?n.push(fA.of(t)):o?n.push(_C.computeN([se.darkTheme],r=>r.facet(se.darkTheme)==(o=="dark")?[t]:[])):n.push(_C.of(t)),n}var WC=class{constructor(e){this.markCache=Object.create(null),this.tree=It(e.state),this.decorations=this.buildDeco(e,VC(e.state))}update(e){let n=It(e.state),o=VC(e.state),r=o!=VC(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 Mt.none;let o=new hr;for(let{from:r,to:i}of e.visibleRanges)iA(this.tree,n,(s,l,a)=>{o.add(s,l,this.markCache[a]||(this.markCache[a]=Mt.mark({class:a})))},r,i);return o.finish()}},$7=ts.high(Nn.fromClass(WC,{decorations:t=>t.decorations})),jC=Go.define([{tag:K.meta,color:"#404740"},{tag:K.link,textDecoration:"underline"},{tag:K.heading,textDecoration:"underline",fontWeight:"bold"},{tag:K.emphasis,fontStyle:"italic"},{tag:K.strong,fontWeight:"bold"},{tag:K.strikethrough,textDecoration:"line-through"},{tag:K.keyword,color:"#708"},{tag:[K.atom,K.bool,K.url,K.contentSeparator,K.labelName],color:"#219"},{tag:[K.literal,K.inserted],color:"#164"},{tag:[K.string,K.deleted],color:"#a11"},{tag:[K.regexp,K.escape,K.special(K.string)],color:"#e40"},{tag:K.definition(K.variableName),color:"#00f"},{tag:K.local(K.variableName),color:"#30a"},{tag:[K.typeName,K.namespace],color:"#085"},{tag:K.className,color:"#167"},{tag:[K.special(K.variableName),K.macroName],color:"#256"},{tag:K.definition(K.propertyName),color:"#00c"},{tag:K.comment,color:"#940"},{tag:K.invalid,color:"#f00"}]);var _7=1e4,W7="()[]{}";var K7=new de;function KC(t,e,n){let o=t.prop(e<0?de.openedBy:de.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 UC(t){let e=t.type.prop(K7);return e?e(t.node):t}function Rl(t,e,n,o={}){let r=o.maxScanDistance||_7,i=o.brackets||W7,s=It(t),l=s.resolveInner(e,n);for(let a=l;a;a=a.parent){let u=KC(a.type,n,i);if(u&&a.from<a.to){let c=UC(a);if(c&&(n>0?e>=c.from&&e<c.to:e>c.from&&e<=c.to))return U7(t,e,n,a,c,u,i)}}return G7(t,e,n,s,l.type,r,i)}function U7(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=UC(c);return{start:a,end:d?{from:d.from,to:d.to}:void 0,matched:!0}}else if(KC(c.type,n,s))u++;else if(KC(c.type,-n,s)){if(u==0){let d=UC(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 G7(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 j7=Object.create(null),aA=[Dt.none];var uA=[],q7=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"]])q7[t]=Q7(j7,e);function zC(t,e){uA.indexOf(t)>-1||(uA.push(t),console.warn(e))}function Q7(t,e){let n=null;for(let i of e.split(".")){let s=t[i]||K[i];s?typeof s=="function"?n?n=s(n):zC(i,`Modifier ${i} used at start of tag`):n?zC(i,`Tag ${i} used as modifier`):n=s:zC(i,`Unknown highlighting tag ${i}`)}if(!n)return 0;let o=e.replace(/ /g,"_"),r=Dt.define({id:aA.length,name:o,props:[Il({[o]:n})]});return aA.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=It(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(wA(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 pA(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 J7(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=pA(e)+pA(n)+"*$";return[new RegExp("^"+o),new RegExp(o)]}function X7(t){let e=t.map(r=>typeof r=="string"?{label:r}:r),[n,o]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:J7(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 ds(t){return t.selection.main.from}function wA(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 Y7=Ln.define();function Z7(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:$.cursor(l.from+i+e.length)})),{userEvent:"input.complete"})}var mA=new WeakMap;function eV(t){if(!Array.isArray(t))return t;let e=mA.get(t);return e||mA.set(t,e=X7(t)),e}var ZC=ke.define(),yf=ke.define(),QC=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 b=Jt(e,0),x=vo(b),v=x==e.length?0:-100;if(b!=n[0])if(b==o[0])v+=-200;else return!1;return this.ret(v,[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 b=0,x=Math.min(e.length,200);b<x&&u<a;){let v=Jt(e,b);(v==n[u]||v==o[u])&&(r[u++]=b),b+=vo(v)}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 b=0,x=Math.min(e.length,200),v=0;b<x&&d<a;){let w=Jt(e,b);l<0&&(c<a&&w==n[c]&&(i[c++]=b),p<a&&(w==n[p]||w==o[p]?(p==0&&(g=b),y=b+1,p++):p=0));let C,S=w<255?w>=48&&w<=57||w>=97&&w<=122?2:w>=65&&w<=90?1:0:(C=M0(w))!=C.toLowerCase()?1:C!=C.toUpperCase()?2:0;(!b||S==1&&m||v==0&&S!=0)&&(n[d]==w||o[d]==w&&(f=!0)?s[d++]=b:s.length&&(h=!1)),v=S,b+=vo(w)}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)}},Hn=ie.define({combine(t){return ns(t,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:tV,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=>hA(e(o),n(o)),optionClass:(e,n)=>o=>hA(e(o),n(o)),addToOptions:(e,n)=>e.concat(n)})}});function hA(t,e){return t?e?t+" "+e:t:e}function tV(t,e,n,o,r){let i=t.textDirection==Xe.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 nV(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 gA(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 JC=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(Hn);this.optionContent=nV(l),this.optionClass=l.optionClass,this.tooltipClass=l.tooltipClass,this.range=gA(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(Hn).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=gA(n.options.length,n.selected,this.view.state.facet(Hn).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&&rV(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(Hn).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 oV(t,e){return n=>new JC(n,t,e)}function rV(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 yA(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function iV(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 QC(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(Hn).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):yA(a.completion)>yA(s)&&(i[i.length-1]=a),s=a.completion}return i}var cs=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 cs(this.options,bA(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,o,r,i){let s=iV(e,n);if(!s.length)return r&&e.some(a=>a.state==1)?new cs(r.options,r.attrs,r.tooltip,r.timestamp,r.selected,!0):null;let l=n.facet(Hn).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 cs(s,bA(o,l),{pos:e.reduce((a,u)=>u.hasResult()?Math.min(a,u.from):a,1e8),create:oV(eo,TA),above:i.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new cs(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}},Lu=class{constructor(e,n,o){this.active=e,this.id=n,this.open=o}static start(){return new Lu(aV,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,o=n.facet(Hn),i=(o.override||n.languageDataAt("autocomplete",ds(n)).map(eV)).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))||!sV(i,this.active)?s=cs.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(EA)&&(s=s&&s.setSelected(l.value,this.id));return i==this.active&&s==this.open?this:new Lu(i,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:lV}};function sV(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 lV={"aria-autocomplete":"list"};function bA(t,e){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(n["aria-activedescendant"]=t+"-"+e),n}var aV=[];function XC(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=XC(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(ZC))r=new Zt(r.source,1,i.value?ds(e.state):-1);else if(i.is(yf))r=new Zt(r.source,0);else if(i.is(SA))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(ds(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))}},fs=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=ds(e.state);if((this.explicitPos<0?l<=i:l<this.from)||l>s||n=="delete"&&ds(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 uV(this.result.validFor,e.state,i,s)?new fs(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 fs(this.source,a,u,u.from,(r=u.to)!==null&&r!==void 0?r:ds(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 fs(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}};function uV(t,e,n,o){if(!t)return!1;let r=e.sliceDoc(n,o);return typeof t=="function"?t(r,n,o,e):wA(t,!0).test(r)}var SA=ke.define({map(t,e){return t.map(n=>n.map(e))}}),EA=ke.define(),eo=Yt.define({create(){return Lu.start()},update(t,e){return t.update(e)},provide:t=>[MC.from(t,e=>e.tooltip),se.contentAttributes.from(t,e=>e.attrs)]});function TA(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 fs?(typeof n=="string"?t.dispatch(Object.assign(Object.assign({},Z7(t.state,n,o.from,o.to)),{annotations:Y7.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(Hn).interactionDelay)return!1;let r=1,i;e=="page"&&(i=IC(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:EA.of(l)}),!0}}var cV=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(Hn).interactionDelay?!1:TA(t,e.open.options[e.open.selected])},Au=t=>t.state.field(eo,!1)?(t.dispatch({effects:ZC.of(!0)}),!0):!1,dV=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)},YC=class{constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}},vA=50,fV=50,pV=1e3,mV=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)&&!XC(o));for(let o=0;o<this.running.length;o++){let r=this.running[o];if(n||r.updates.length+t.transactions.length>fV&&Date.now()-r.time>pV){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(),vA):-1,this.composing!=0)for(let o of t.transactions)XC(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=ds(e),o=new mg(e,n,t.explicitPos==n),r=new YC(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(),vA))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(Hn);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 fs(r.active.source,r.active.explicitPos,r.done,r.done.from,(t=r.done.to)!==null&&t!==void 0?t:ds(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:SA.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(eo,!1);if(e&&e.tooltip&&this.view.state.facet(Hn).closeOnBlur){let n=e.open&&IC(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:ZC.of(!1)}),20),this.composing=0}}}),hV=se.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=ke.define({map(t,e){let n=e.mapPos(t,-1,Qt.TrackAfter);return n==null?void 0:n}}),ew=new class extends Wo{};ew.startSide=1;ew.endSide=-1;var kA=Yt.define({create(){return Ae.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=Ae.empty)}t=t.map(e.changes);for(let n of e.effects)n.is(Ll)&&(t=t.update({add:[ew.range(n.value,n.value+1)]}));return t}});function tw(){return[vV,kA]}var qC="()[]{}<>";function gV(t){for(let e=0;e<qC.length;e+=2)if(qC.charCodeAt(e)==t)return qC.charAt(e+1);return M0(t<128?t:t+1)}function yV(t,e){return t.languageDataAt("closeBrackets",e)[0]||gg}var bV=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),vV=se.inputHandler.of((t,e,n,o)=>{if((bV?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=xV(t.state,o);return i?(t.dispatch(i),!0):!1});function xV(t,e){let n=yV(t,t.selection.main.head),o=n.brackets||gg.brackets;for(let r of o){let i=gV(Jt(r,0));if(e==r)return i==r?SV(t,r,o.indexOf(r+r+r)>-1,n):CV(t,r,i,n.before||gg.before);if(e==i&&MA(t,t.selection.main.from))return wV(t,r,i)}return null}function MA(t,e){let n=!1;return t.field(kA).between(0,t.doc.length,o=>{o==e&&(n=!0)}),n}function nw(t,e){let n=t.sliceString(e,e+2);return n.slice(0,vo(Jt(n,0)))}function CV(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:$.range(s.anchor+e.length,s.head+e.length)};let l=nw(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:$.cursor(s.head+e.length)}:{range:r=s}});return r?null:t.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function wV(t,e,n){let o=null,r=t.changeByRange(i=>i.empty&&nw(t.doc,i.head)==n?{changes:{from:i.head,to:i.head+n.length,insert:n},range:$.cursor(i.head+n.length)}:o={range:i});return o?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function SV(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:$.range(l.anchor+e.length,l.head+e.length)};let a=l.head,u=nw(t.doc,a),c;if(u==e){if(xA(t,a))return{changes:{insert:e+e,from:a},effects:Ll.of(a+e.length),range:$.cursor(a+e.length)};if(MA(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:$.cursor(a+f.length)}}}else{if(n&&t.sliceDoc(a-2*e.length,a)==e+e&&(c=CA(t,a-2*e.length,r))>-1&&xA(t,c))return{changes:{insert:e+e+e+e,from:a},effects:Ll.of(a+e.length),range:$.cursor(a+e.length)};if(t.charCategorizer(a)(u)!=mn.Word&&CA(t,a,r)>-1&&!EV(t,a,e,r))return{changes:{insert:e+e,from:a},effects:Ll.of(a+e.length),range:$.cursor(a+e.length)}}return{range:i=l}});return i?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function xA(t,e){let n=It(t).resolveInner(e+1);return n.parent&&n.from==e}function EV(t,e,n,o){let r=It(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 CA(t,e,n){let o=t.charCategorizer(e);if(o(t.sliceDoc(e-1,e))!=mn.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))!=mn.Word)return i}return-1}function yg(t={}){return[eo,Hn.of(t),mV,kV,hV]}var TV=[{key:"Ctrl-Space",run:Au},{key:"Escape",run:dV},{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:cV}],kV=ts.highest(br.computeN([Hn],t=>t.facet(Hn).defaultKeymap?[TV]:[]));var MV=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),o=uw(t.state,n.from);return o.line?IV(t):o.block?DV(t):!1};function aw(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 IV=aw(AV,0);var PV=aw(OA,0);var DV=aw((t,e)=>OA(t,e,LV(e)),0);function uw(t,e){let n=t.languageDataAt("commentTokens",e);return n.length?n[0]:{}}var bf=50;function RV(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 LV(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 OA(t,e,n=e.selection.ranges){let o=n.map(i=>uw(e,i.from).block);if(!o.every(i=>i))return null;let r=n.map((i,s)=>RV(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 AV(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=uw(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 rw=Ln.define(),NV=Ln.define(),OV=ie.define(),HA=ie.define({combine(t){return ns(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 HV(t){let e=0;return t.iterChangedRanges((n,o)=>e=o),e}var FA=Yt.define({create(){return To.empty},update(t,e){let n=e.state.facet(HA),o=e.annotation(rw);if(o){let a=e.docChanged?$.single(HV(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=zA(d,e.startState.selection),new To(c==0?o.rest:d,c==0?d:o.rest)}let r=e.annotation(NV);if((r=="full"||r=="before")&&(t=t.isolate()),e.annotation(Qe.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let i=en.fromTransaction(e),s=e.annotation(Qe.time),l=e.annotation(Qe.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 cw(t={}){return[FA,HA.of(t),se.domEventHandlers({beforeinput(e,n){let o=e.inputType=="historyUndo"?BA:e.inputType=="historyRedo"?iw: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(FA,!1);if(!r)return!1;let i=r.pop(t,n,e);return i?(o(i),!0):!1}}var BA=xg(0,!1),iw=xg(1,!1),FV=xg(0,!0),BV=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&&qe.fromJSON(e.changes),[],e.mapped&&Xn.fromJSON(e.mapped),e.startSelection&&$.fromJSON(e.startSelection),e.selectionsAfter.map($.fromJSON))}static fromTransaction(e,n){let o=Eo;for(let r of e.startState.facet(OV)){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 VV(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 zV(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,o)=>n.empty!=e.ranges[o].empty).length===0}function VA(t,e){return t.length?e.length?t.concat(e):t:e}var Eo=[],$V=200;function zA(t,e){if(t.length){let n=t[t.length-1],o=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-$V));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 _V(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 ow(t,e){if(!t.length)return t;let n=t.length,o=Eo;for(;n;){let r=WV(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 WV(t,e,n){let o=VA(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,ke.mapEffects(t.effects,e),s,t.startSelection.map(i),o)}var KV=/^(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||KV.test(o))&&(!l.selectionsAfter.length&&n-this.prevTime<r.newGroupDelay&&r.joinToEvent(i,VV(l.changes,e.changes))||o=="input.type.compose")?s=vg(s,s.length-1,r.minDepth,new en(e.changes.compose(l.changes),VA(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)&&zV(i[i.length-1],e)?this:new To(zA(this.done,e),this.undone,n,o)}addMapping(e){return new To(ow(this.done,e),ow(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:rw.of({side:e,rest:_V(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=ow(s,i.mapped)),n.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:rw.of({side:e,rest:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};To.empty=new To(Eo,Eo);var dw=[{key:"Mod-z",run:BA,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:iw,preventDefault:!0},{linux:"Ctrl-Shift-z",run:iw,preventDefault:!0},{key:"Mod-u",run:FV,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:BV,preventDefault:!0}];function Nu(t,e){return $.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=Nu(t.selection,n);return o.eq(t.selection)?!1:(e(Tr(t,o)),!0)}function Cg(t,e){return $.cursor(e?t.to:t.from)}function $A(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)==Xe.LTR}var _A=t=>$A(t,!tn(t)),WA=t=>$A(t,tn(t));function KA(t,e){return jo(t,n=>n.empty?t.moveByGroup(n,e):Cg(n,e))}var UV=t=>KA(t,!tn(t)),GV=t=>KA(t,tn(t));function jV(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=It(t).resolveInner(e.head),r=n?de.closedBy:de.openedBy;for(let a=e.head;;){let u=n?o.childAfter(a):o.childBefore(a);if(!u)break;jV(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,$.cursor(l,n?-1:1)}var qV=t=>jo(t,e=>wg(t.state,e,!tn(t))),QV=t=>jo(t,e=>wg(t.state,e,tn(t)));function UA(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 GA=t=>UA(t,!1),jA=t=>UA(t,!0);function qA(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,n=0,o=0,r;if(e){for(let i of t.state.facet(se.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 QA(t,e){let n=qA(t),{state:o}=t,r=Nu(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=se.scrollIntoView(r.main.head,{y:"start",yMargin:s.top-a}))}return t.dispatch(Tr(o,r),{effects:i}),!0}var IA=t=>QA(t,!1),sw=t=>QA(t,!0);function ps(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=$.cursor(o.from+i))}return r}var JV=t=>jo(t,e=>ps(t,e,!0)),XV=t=>jo(t,e=>ps(t,e,!1)),YV=t=>jo(t,e=>ps(t,e,!tn(t))),ZV=t=>jo(t,e=>ps(t,e,tn(t))),ez=t=>jo(t,e=>$.cursor(t.lineBlockAt(e.head).from,1)),tz=t=>jo(t,e=>$.cursor(t.lineBlockAt(e.head).to,-1));function nz(t,e,n){let o=!1,r=Nu(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?$.range(i.anchor,l):$.cursor(l)});return o?(e(Tr(t,r)),!0):!1}var oz=({state:t,dispatch:e})=>nz(t,e,!1);function ko(t,e){let n=Nu(t.state.selection,o=>{let r=e(o);return $.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 JA(t,e){return ko(t,n=>t.moveByChar(n,e))}var XA=t=>JA(t,!tn(t)),YA=t=>JA(t,tn(t));function ZA(t,e){return ko(t,n=>t.moveByGroup(n,e))}var rz=t=>ZA(t,!tn(t)),iz=t=>ZA(t,tn(t));var sz=t=>ko(t,e=>wg(t.state,e,!tn(t))),lz=t=>ko(t,e=>wg(t.state,e,tn(t)));function e2(t,e){return ko(t,n=>t.moveVertically(n,e))}var t2=t=>e2(t,!1),n2=t=>e2(t,!0);function o2(t,e){return ko(t,n=>t.moveVertically(n,e,qA(t).height))}var PA=t=>o2(t,!1),DA=t=>o2(t,!0),az=t=>ko(t,e=>ps(t,e,!0)),uz=t=>ko(t,e=>ps(t,e,!1)),cz=t=>ko(t,e=>ps(t,e,!tn(t))),dz=t=>ko(t,e=>ps(t,e,tn(t))),fz=t=>ko(t,e=>$.cursor(t.lineBlockAt(e.head).from)),pz=t=>ko(t,e=>$.cursor(t.lineBlockAt(e.head).to)),RA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:0})),!0),LA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:t.doc.length})),!0),AA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:t.selection.main.anchor,head:0})),!0),NA=({state:t,dispatch:e})=>(e(Tr(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),mz=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),hz=({state:t,dispatch:e})=>{let n=Eg(t).map(({from:o,to:r})=>$.range(o,Math.min(r+1,t.doc.length)));return e(t.update({selection:$.create(n),userEvent:"select"})),!0},gz=({state:t,dispatch:e})=>{let n=Nu(t.selection,o=>{var r;let i=It(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 $.range(i.to,i.from)});return e(Tr(t,n)),!0},yz=({state:t,dispatch:e})=>{let n=t.selection,o=null;return n.ranges.length>1?o=$.create([n.main]):n.main.empty||(o=$.create([$.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:$.cursor(s)}});return r.changes.empty?!1:(t.dispatch(o.update(r,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?se.announce.of(o.phrase("Selection deleted")):void 0})),!0)}function bg(t,e,n){if(t instanceof se)for(let o of t.state.facet(se.atomicRanges).map(r=>r(t)))o.between(e,e,(r,i)=>{r<e&&i>e&&(e=n?i:r)});return e}var r2=(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}),lw=t=>r2(t,!1),i2=t=>r2(t,!0),s2=(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}),l2=t=>s2(t,!1),bz=t=>s2(t,!0),a2=t=>Sg(t,e=>{let n=t.lineBlockAt(e).to;return e<n?n:Math.min(t.state.doc.length,e+1)}),vz=t=>Sg(t,e=>{let n=t.lineBlockAt(e).from;return e>n?n:Math.max(0,e-1)});var xz=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(o=>({changes:{from:o.from,to:o.to,insert:be.of(["",""])},range:$.cursor(o.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},Cz=({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:$.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 u2(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($.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($.range(a.anchor-l,a.head-l))}}return o.length?(e(t.update({changes:o,scrollIntoView:!0,selection:$.create(r,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}var wz=({state:t,dispatch:e})=>u2(t,e,!1),Sz=({state:t,dispatch:e})=>u2(t,e,!0);function c2(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 Ez=({state:t,dispatch:e})=>c2(t,e,!1),Tz=({state:t,dispatch:e})=>c2(t,e,!0),kz=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=Nu(e.selection,r=>t.moveVertically(r,!0)).map(n);return t.dispatch({changes:n,selection:o,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Mz(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=It(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(de.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 Iz=d2(!1),Pz=d2(!0);function d2(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&&Mz(e,i);t&&(i=s=(s<=l.to?l:e.doc.lineAt(s)).to);let u=new Pl(e,{simulateBreak:i,simulateDoubleBreak:!!a}),c=GC(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:be.of(d)},range:$.cursor(i+1+d[1].length)}});return n(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function fw(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:$.range(i.mapPos(o.anchor,1),i.mapPos(o.head,1))}})}var Dz=({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=fw(t,(i,s,l)=>{let a=GC(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},Rz=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(fw(t,(n,o)=>{o.push({from:n.from,insert:t.facet(mf)})}),{userEvent:"input.indent"})),!0),Lz=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(fw(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 Az=[{key:"Ctrl-b",run:_A,shift:XA,preventDefault:!0},{key:"Ctrl-f",run:WA,shift:YA},{key:"Ctrl-p",run:GA,shift:t2},{key:"Ctrl-n",run:jA,shift:n2},{key:"Ctrl-a",run:ez,shift:fz},{key:"Ctrl-e",run:tz,shift:pz},{key:"Ctrl-d",run:i2},{key:"Ctrl-h",run:lw},{key:"Ctrl-k",run:a2},{key:"Ctrl-Alt-h",run:l2},{key:"Ctrl-o",run:xz},{key:"Ctrl-t",run:Cz},{key:"Ctrl-v",run:sw}],Nz=[{key:"ArrowLeft",run:_A,shift:XA,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:UV,shift:rz,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:YV,shift:cz,preventDefault:!0},{key:"ArrowRight",run:WA,shift:YA,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:GV,shift:iz,preventDefault:!0},{mac:"Cmd-ArrowRight",run:ZV,shift:dz,preventDefault:!0},{key:"ArrowUp",run:GA,shift:t2,preventDefault:!0},{mac:"Cmd-ArrowUp",run:RA,shift:AA},{mac:"Ctrl-ArrowUp",run:IA,shift:PA},{key:"ArrowDown",run:jA,shift:n2,preventDefault:!0},{mac:"Cmd-ArrowDown",run:LA,shift:NA},{mac:"Ctrl-ArrowDown",run:sw,shift:DA},{key:"PageUp",run:IA,shift:PA},{key:"PageDown",run:sw,shift:DA},{key:"Home",run:XV,shift:uz,preventDefault:!0},{key:"Mod-Home",run:RA,shift:AA},{key:"End",run:JV,shift:az,preventDefault:!0},{key:"Mod-End",run:LA,shift:NA},{key:"Enter",run:Iz},{key:"Mod-a",run:mz},{key:"Backspace",run:lw,shift:lw},{key:"Delete",run:i2},{key:"Mod-Backspace",mac:"Alt-Backspace",run:l2},{key:"Mod-Delete",mac:"Alt-Delete",run:bz},{mac:"Mod-Backspace",run:vz},{mac:"Mod-Delete",run:a2}].concat(Az.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),Ou=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:qV,shift:sz},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:QV,shift:lz},{key:"Alt-ArrowUp",run:wz},{key:"Shift-Alt-ArrowUp",run:Ez},{key:"Alt-ArrowDown",run:Sz},{key:"Shift-Alt-ArrowDown",run:Tz},{key:"Escape",run:yz},{key:"Mod-Enter",run:Pz},{key:"Alt-l",mac:"Ctrl-l",run:hz},{key:"Mod-i",run:gz,preventDefault:!0},{key:"Mod-[",run:Lz},{key:"Mod-]",run:Rz},{key:"Mod-Alt-\\",run:Dz},{key:"Shift-Mod-k",run:kz},{key:"Shift-Mod-\\",run:oz},{key:"Mod-/",run:MV},{key:"Alt-A",run:PV}].concat(Nz);var Oz=[...Ou,...dw],pw=(()=>[kC(),cw(),TC(),tw(),Dl(jC,{fallback:!0}),br.of(Oz)])();var qo=(t,e)=>e.doc.sliceString(t.from,t.to);var f2=t=>{let e=t.prevSibling;return console.log(`prevNode ${e==null?void 0:e.name}`),e},mw=t=>{let e=t.parent;for(;e&&e.name==="\u26A0";)e=e.parent;return e};var Hz=require("@vuu-ui/vuu-utils");var hw=[{label:"and",apply:"and ",boost:5},{label:"or",apply:"or ",boost:3}],p2=[{label:"=",boost:10,type:"operator"},{label:"!=",boost:9,type:"operator"}],m2=[...p2,{label:"in",boost:6,type:"operator"},{label:"starts",boost:5,type:"operator"},{label:"ends",boost:4,type:"operator"}],h2=[...p2,{label:">",boost:8,type:"operator"},{label:"<",boost:7,type:"operator"}];var Hw=require("@vuu-ui/vuu-utils"),Mr=require("react");var Fu=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 Fu(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 Fu(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 yw(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}},g2;(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"})(g2||(g2={}));var yw=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}},Bu=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 Bu(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 Bu(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 Hu=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},y2=new Hu,bw=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=y2,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=y2,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}},ms=class{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:o}=n.p;E2(this.data,e,n,this.id,o.data,o.tokenPrecTable)}};ms.prototype.contextual=ms.prototype.fallback=ms.prototype.extend=!1;var vw=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(;E2(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))}};vw.prototype.contextual=ms.prototype.fallback=ms.prototype.extend=!1;function E2(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||Bz(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 b2(t,e,n){for(let o=e,r;(r=t[o])!=65535;o++)if(r==n)return o-e;return-1}function Bz(t,e,n,o){let r=b2(n,o,e);return r<0||b2(n,o,t)<r}var Qo=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),gw=null,v2;(function(t){t[t.Margin=25]="Margin"})(v2||(v2={}));function x2(t,e,n){let o=t.cursor(ht.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 xw=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?x2(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?x2(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 _e){if(s==e){if(s<this.safeFrom)return null;let l=s+i.length;if(l<=this.safeTo){let a=i.prop(de.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}}},Cw=class{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(o=>new Hu)}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 Hu,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 Hu,{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=li(l,u+2);else{r==0&&l[u+1]==2&&(r=this.putAction(li(l,u+2),n,o,r));break}l[u]==n&&(r=this.putAction(li(l,u+1),n,o,r))}return r}},C2;(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"})(C2||(C2={}));var ww=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 bw(n,r),this.tokens=new Cw(e,this.stream),this.topTerm=e.top[1];let{from:i}=r[0];this.stacks=[Fu.start(this,e.top[0],i)],this.fragments=o.length&&this.stream.end-i>e.bufferLength*4?new xw(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&&Vz(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(de.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 _e)||d.children.length==0||d.positions[0]>0)break;let p=d.children[0];if(p instanceof _e&&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 w2(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)})`),w2(l,o)):(!r||r.score<l.score)&&(r=l)}return r}stackToTree(e){return e.close(),_e.build({buffer:Bu.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=(gw||(gw=new WeakMap)).get(e);return n||gw.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}};function w2(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 Sw=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 Tu{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=de[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)=>Dt.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(S2),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 ms(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 ww(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=li(o,i+2)];else{if(o[i+1]==2)return li(o,i+2);break}if(s==n||s==0)return li(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=li(this.data,o+2);else return!1;if(n==li(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=li(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]=S2(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 Sw(e,o,r)}static deserialize(e){return new Al(e)}};function li(t,e){return t[e]|t[e+1]<<16}function Vz(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 S2(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 zz=Er.define({name:"VuuColumnExpression",parser:kg.configure({props:[Il({Column:K.attributeValue,Function:K.variableName,String:K.string,Or:K.emphasis,Operator:K.operator})]})}),T2=()=>new Ru(zz);var Ew=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}}},Tw=class{constructor(e){this.type="colExpression";this.column=e}toJSON(){return{type:this.type,column:this.column}}},Cf,Ol,kw=class{constructor(e="unknown"){_n(this,Cf,[{type:"unknown"},{type:"unknown"}]);_n(this,Ol,void 0);this.type="arithmeticExpression";Xo(this,Ol,e)}get op(){return ne(this,Ol)}set op(e){Xo(this,Ol,e)}get expressions(){return ne(this,Cf)}toJSON(){return{type:this.type,op:ne(this,Ol),expressions:ne(this,Cf)}}};Cf=new WeakMap,Ol=new WeakMap;var _u,Mw=class{constructor(e){_n(this,_u,[]);this.type="callExpression";this.functionName=e}get expressions(){return ne(this,_u)}get arguments(){return ne(this,_u)}toJSON(){return{type:this.type,functionName:this.functionName,arguments:ne(this,_u).map(e=>{var n;return(n=e.toJSON)==null?void 0:n.call(e)})}}};_u=new WeakMap;var wf,Wu,zu=class{constructor(){_n(this,wf,[{type:"unknown"},{type:"unknown"}]);_n(this,Wu,"unknown");this.type="relationalExpression"}get op(){return ne(this,Wu)}set op(e){Xo(this,Wu,e)}get expressions(){return ne(this,wf)}toJSON(){return{type:this.type,op:ne(this,Wu),expressions:ne(this,wf)}}};wf=new WeakMap,Wu=new WeakMap;var Sf,Ku,$u=class{constructor(e){_n(this,Sf,[{type:"unknown"},{type:"unknown"}]);_n(this,Ku,void 0);this.type="booleanCondition";Xo(this,Ku,e)}get op(){return ne(this,Ku)}get expressions(){return ne(this,Sf)}toJSON(){return{type:this.type,op:ne(this,Ku),expressions:ne(this,Sf).map(e=>{var n;return(n=e.toJSON)==null?void 0:n.call(e)})}}};Sf=new WeakMap,Ku=new WeakMap;var kr,xf=class{constructor(e){_n(this,kr,void 0);this.type="conditionalExpression";Xo(this,kr,[e?new $u(e):new zu,{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",$z=t=>t.type==="callExpression",Vu=t=>t.type==="conditionalExpression",_z=t=>t.type==="relationalExpression"||t.type==="booleanCondition";var Wz=t=>t.type==="booleanCondition",Pw=t=>(t==null?void 0:t.type)==="relationalExpression";var Mo=t=>{if(Nl(t))return t;if(Pw(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(_z(t)){let{expressions:e=[]}=t;for(let n of e)if(nn(n))return Mo(n)}else if(Vu(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:Vu(t)?nn(t.condition)||nn(t.truthyExpression)||nn(t.falsyExpression):Pw(t)||Wz(t)?t.op===void 0||t.expressions.some(e=>nn(e)):!1,k2=(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")},ve,Hl,Iw=class{constructor(){_n(this,ve,void 0);_n(this,Hl,[])}setCondition(e){if(ne(this,ve)===void 0)this.addExpression(new xf(e));else if(Vu(ne(this,ve))){if(nn(ne(this,ve).condition)){let n=e?new $u(e):new zu;this.addExpression(n)}else if(Nl(ne(this,ve).truthyExpression))ne(this,ve).truthyExpression=new xf(e);else if(nn(ne(this,ve).truthyExpression)){let n=e?new $u(e):new zu;this.addExpression(n)}else if(Nl(ne(this,ve).falsyExpression))ne(this,ve).falsyExpression=new xf(e);else if(nn(ne(this,ve).falsyExpression)){let n=e?new $u(e):new zu;this.addExpression(n)}}else console.error("setCondition called unexpectedly")}addExpression(e){if(ne(this,Hl).length>0){let n=ne(this,Hl).at(-1);n==null||n.arguments.push(e)}else if(ne(this,ve)===void 0)Xo(this,ve,e);else if(Mg(ne(this,ve))){let n=Mo(ne(this,ve));n&&Nl(n)&&Ig(ne(this,ve),n,e)}else if(Vu(ne(this,ve))&&nn(ne(this,ve))){let n=Mo(ne(this,ve));n&&Nl(n)?Ig(ne(this,ve),n,e):n&&k2(n,e)}}setFunction(e){let n=new Mw(e);this.addExpression(n),ne(this,Hl).push(n)}setColumn(e){this.addExpression(new Tw(e))}setArithmeticOp(e){let n=e,o=ne(this,ve);Mg(o)&&(o.op=n)}setRelationalOperator(e){let n=e;if(ne(this,ve)&&Vu(ne(this,ve))){let o=Mo(ne(this,ve));Pw(o)?o.op=n:console.error(`no target expression found (op = ${e})`)}}setValue(e){let n=new Ew(e);if(ne(this,ve)===void 0)Xo(this,ve,n);else if(Mg(ne(this,ve)))this.addExpression(n);else if($z(ne(this,ve)))ne(this,ve).arguments.push(n);else if(Vu(ne(this,ve)))if(nn(ne(this,ve))){let o=Mo(ne(this,ve));o&&Nl(o)?Ig(ne(this,ve),o,n):o&&k2(o,n)}else console.log("what do we do with value, in a complete expression")}closeBrace(){ne(this,Hl).pop()}get expression(){return ne(this,ve)}toJSON(){var e;return(e=ne(this,ve))==null?void 0:e.toJSON()}};ve=new WeakMap,Hl=new WeakMap;var M2=(t,e)=>{let n=new Iw,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 kw);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 Kz=kg.configure({strict:!0}),I2=["Number","String"],Dw=[...I2,"AndCondition","ArithmeticExpression","BooleanOperator","RelationalOperatorOperator","CallExpression","CloseBrace","Column","Comma","ConditionalExpression","Divide","Equal","If","Minus","OpenBrace","OrCondition","ParenthesizedExpression","Plus","RelationalExpression","RelationalOperator","Times"],P2=t=>{try{return Kz.parse(t),!0}catch{return!1}},Rw=t=>{let{lastChild:e}=t;for(;e&&!Dw.includes(e.name);)e=e.prevSibling,console.log(e==null?void 0:e.name);return e},D2=t=>{if((t==null?void 0:t.name)==="RelationalExpression"){let{firstChild:e}=t,n=Rw(t);if((e==null?void 0:e.name)==="Column"&&typeof(n==null?void 0:n.name)=="string"&&I2.includes(n.name))return!0}return!1};var Uz=Go.define([{tag:K.attributeValue,color:"var(--vuuFilterEditor-variableColor);font-weight: bold"},{tag:K.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:K.comment,color:"green",fontStyle:"italic"}]),R2=Dl(Uz);var L2=se.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 Nw=require("react");var Gz=(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,jz=t=>t===void 0?!1:["Times","Divide","Plus","Minus"].includes(t.name),Ef=t=>({apply:()=>{t==null||t()},label:"Done",boost:10}),Uu=(t,e)=>{var r;let{lastChild:n}=t,{pos:o}=e;for(;n;)if(n.from<o&&Dw.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},A2=(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)}},N2=(t,e)=>{if(t.name==="RelationalExpression"){let n=Rw(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)}},Ow=(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 Ow(o,e)}},Lw=async(t,e,n,o={})=>{let r=await e.getSuggestions(n,o),{startsWith:i=""}=o;return{from:t.pos-i.length,options:r}},Aw=(t,e,n,o,r)=>{let i=Uu(t,e);switch(i==null?void 0:i.name){case"If":return Lw(e,n,"expression",{prefix:"( "});case"OpenBrace":return Lw(e,n,"expression");case"Condition":return Lw(e,n,"expression",{prefix:", "});case"CloseBrace":if(o){let s=[Ef(r)];return{from:e.pos,options:s}}}},qz=(t,e)=>{let n=[Ef(e)];return{from:t.pos,options:n}},O2=(t,e)=>{let n=(0,Nw.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,Nw.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=It(r).resolveInner(i,-1),u=r.doc.toString(),c=P2(u);switch(a.name){case"If":return n(o,"expression",{prefix:"( "});case"Condition":{let p=Uu(a,o);if((p==null?void 0:p.name)==="Column"){let g=f2(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 Aw(a,o,t);case"RelationalExpression":{if(D2(a))return{from:o.pos,options:hw.concat({label:", <truthy expression>, <falsy expression>",apply:", "})};{let p=N2(a,r),g=Ow(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=N2(a,r),g=Ow(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=Uu(a,o);if((p==null?void 0:p.name)==="Column")return n(o,"expression");if(jz(p)){let g=p.name;return n(o,"column",{operator:g})}}break;case"OpenBrace":{let p=A2(a,r);return n(o,"expression",{functionName:p})}break;case"ArgList":{let p=A2(a,r),g=Uu(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?Gz(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=Uu(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=Uu(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 Aw(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=mw(a);if((p==null?void 0:p.name)==="ConditionalExpression")return n(o,"expression")}break;case"CloseBrace":{let p=mw(a);if((p==null?void 0:p.name)==="ConditionalExpression")return Aw(p,o,t,c,e.current);if((p==null?void 0:p.name)==="ArgList"&&c)return qz(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},Qz=()=>"vuuSuggestion",Jz=()=>console.log("noooop"),Xz=t=>"expressionType"in t,Yz=t=>{if(Xz(t)){let e=(0,Hw.createEl)("div","expression-type-container"),n=(0,Hw.createEl)("span","expression-type",t.expressionType);return e.appendChild(n),e}else return null},H2=({onChange:t,onSubmitExpression:e,source:n,suggestionProvider:o})=>{let r=(0,Mr.useRef)(null),i=(0,Mr.useRef)(Jz),s=(0,Mr.useRef)(),l=O2(o,i),[a,u,c]=(0,Mr.useMemo)(()=>{let f=()=>{let h=Pg(s),b=h.state.doc.toString(),x=fg(h.state,h.state.doc.length,5e3);if(x){let v=M2(x,b);return[b,v]}else return["",void 0]},p=()=>{Pg(s).setState(m())},g=()=>{let[h,b]=f();e==null||e(h,b)},y=h=>br.of([{key:h,run(){return Au(Pg(s)),!0}}]),m=()=>ge.create({doc:n,extensions:[pw,yg({addToOptions:[{render:Yz,position:70}],override:[l],optionClass:Qz}),T2(),br.of(Ou),y("ArrowDown"),se.updateListener.of(h=>{let b=Pg(s);if(h.docChanged){Au(b);let x=b.state.doc.toString();t==null||t(x)}}),ge.transactionFilter.of(h=>h.newDoc.lines>1?[]:h),L2,R2]});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 se({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 V2=require("react/jsx-runtime"),Zz="vuuColumnExpressionInput",B2=(0,F2.memo)(({onChange:t,onSubmitExpression:e,source:n="",suggestionProvider:o})=>{let{editorRef:r,onBlur:i}=H2({onChange:t,onSubmitExpression:e,source:n,suggestionProvider:o});return(0,V2.jsx)("div",{className:`${Zz}`,onBlur:i,ref:r})},(t,e)=>t.source===e.source);B2.displayName="ColumnExpressionInput";var _2=require("@vuu-ui/vuu-utils"),W2=require("react");var z2=[{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"),$2=({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 t$=t=>({apply:`${t.name}( `,boost:2,expressionType:t.type,info:()=>$2(t),label:t.name,type:"function"});var Kme=z2.map(t$);var Dg=require("@vuu-ui/vuu-utils"),Bw=require("react");var U2=require("react/jsx-runtime");var Rg=require("@vuu-ui/vuu-utils");var o$=V(j(),1),q2=require("react");var n$=require("@vuu-ui/vuu-utils"),G2=require("react"),j2=require("react/jsx-runtime");var Q2=require("react/jsx-runtime");var r$=V(j(),1),J2=require("@vuu-ui/vuu-utils");var X2=require("react/jsx-runtime");var ai=require("@vuu-ui/vuu-utils"),kf=require("react"),Rhe=[{description:"Default formatter for columns with data type integer",label:"Default Renderer (int, long)",name:"default-int"},...(0,ai.getRegisteredCellRenderers)("int")],Lhe=[{description:"Default formatter for columns with data type double",label:"Default Renderer (double)",name:"default-double"},...(0,ai.getRegisteredCellRenderers)("double")],Ahe=[{description:"Default formatter for columns with data type string",label:"Default Renderer (string)",name:"default-string"},...(0,ai.getRegisteredCellRenderers)("string")];var Y2=require("react/jsx-runtime");var Z2=require("react"),s$=V(j(),1);var eN=require("react/jsx-runtime");var ege=new Intl.NumberFormat;var Lg=require("@vuu-ui/vuu-utils"),$w=require("react");var tN=require("react/jsx-runtime");var nN=require("@vuu-ui/vuu-utils"),Io=require("react"),oN=({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,b)=>{s({type:"set-props",path:"#context-panel",props:{expanded:!0,content:{type:m,props:b},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,nN.getCalculatedColumnType)(m)});u(h),e==null||e(h),requestAnimationFrame(()=>{var b;(b=l.current)==null||b.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(b=>b.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"),xe=require("react");var rN=require("@vuu-ui/vuu-utils"),iN=t=>(e,n)=>{let o=[];if(t===void 0)return o;if(e==="header"||e==="column-menu")o.push(...l$(n,t)),o.push(...c$(n,t)),o.push(...a$(n,t)),o.push(...u$(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});else if(e==="filter"){let{column:r,filter:i}=n,s=(i==null?void 0:i.column)===(r==null?void 0:r.name);o.push({label:"Edit filter",action:"filter-edit",options:n}),o.push({label:"Remove filter",action:"filter-remove-column",options:n}),r&&!s&&o.push({label:"Remove all filters",action:"remove-filters",options:n})}return o};function l$(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 a$(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,rN.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 Gw=(t,e)=>({label:`Pin ${e}`,action:`column-pin-${e}`,options:t}),Ww=t=>Gw(t,"left"),Kw=t=>Gw(t,"floating"),Uw=t=>Gw(t,"right");function u$(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:[Ww(t),Kw(t),Uw(t)]}):n==="left"?o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Kw(t),Uw(t)]}):n==="right"?o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Ww(t),Kw(t)]}):n==="floating"&&o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Ww(t),Uw(t)]}),o}function c$(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 sN=require("@vuu-ui/vuu-utils"),Rt=require("@vuu-ui/vuu-utils"),d$=(t,e)=>{if(t.filterStruct&&e){let[n,o]=(0,sN.removeColumnFromFilter)(e,t.filterStruct);return{filter:o,filterStruct:n}}else return t},{Average:f$,Count:p$,Distinct:m$,High:h$,Low:g$,Sum:y$}=Rt.AggregationType,lN=({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,Rt.setSortColumn)(t.sort,i,"A"),!0;case"sort-dsc":return t.sort=(0,Rt.setSortColumn)(t.sort,i,"D"),!0;case"sort-add-asc":return t.sort=(0,Rt.addSortColumn)(t.sort,i,"A"),!0;case"sort-add-dsc":return t.sort=(0,Rt.addSortColumn)(t.sort,i,"D"),!0;case"group":return t.groupBy=(0,Rt.addGroupColumn)(t.groupBy,i),!0;case"group-add":return t.groupBy=(0,Rt.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=d$(t.filter,i),!0;case"remove-filters":return t.filter={filter:""},!0;case"agg-avg":return t.aggregations=(0,Rt.setAggregations)(t.aggregations,i,f$),!0;case"agg-high":return t.aggregations=(0,Rt.setAggregations)(t.aggregations,i,h$),!0;case"agg-low":return t.aggregations=(0,Rt.setAggregations)(t.aggregations,i,g$),!0;case"agg-count":return t.aggregations=(0,Rt.setAggregations)(t.aggregations,i,p$),!0;case"agg-distinct":return t.aggregations=(0,Rt.setAggregations)(t.aggregations,i,m$),!0;case"agg-sum":return t.aggregations=(0,Rt.setAggregations)(t.aggregations,i,y$),!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 _w=(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 dN=require("@vuu-ui/vuu-utils"),hs=require("react");var jw=t=>`.vuuTable-col-headers .vuuTableHeaderCell:nth-child(${t})`,qw=(t,e)=>`.vuuTable-body > [aria-rowindex='${t}'] > [role='cell']:nth-child(${e+1})`,aN=(t,[e,n])=>{var i;let o=e===-1?jw(n):qw(e,n),r=(i=t.current)==null?void 0:i.querySelector(o);return b$(r)&&r.querySelector("button")||r},b$=t=>t.classList.contains("vuuTableCell-editable"),uN=t=>t.querySelector(".vuuTableInputCell")!==null;function v$(t){if(t){let e=t.ariaRowIndex;if(e!==null)return parseInt(e,10)}return-1}var x$=t=>t.closest('[role="row"]'),cN=t=>v$(x$(t));var fN=({navigate:t})=>{let e=(0,hs.useCallback)(()=>{t()},[t]),n=(0,hs.useCallback)(a=>{let u=a.target,c=u.matches("input")?u:u.querySelector("input");c&&(c.focus(),c.select())},[]),o=(0,hs.useCallback)(a=>{let c=a.target.querySelector("input");c&&(c.focus(),c.select())},[]),r=(0,hs.useCallback)(a=>{let u=a.target;uN(u)&&((0,dN.isCharacterKey)(a.key)?n(a):a.key==="Enter"&&o(a))},[n,o]),i=(0,hs.useCallback)(a=>{let u=a.target;(u.matches("input")||u.querySelector("input"))&&(n(a),a.stopPropagation())},[n]),s=(0,hs.useCallback)(a=>{a.target.removeEventListener("vuu-commit",e,!0)},[e]),l=(0,hs.useCallback)(a=>{a.target.addEventListener("vuu-commit",e,!0)},[e]);return{onBlur:s,onDoubleClick:i,onFocus:l,onKeyDown:r}};var pN=require("@vuu-ui/vuu-data"),Fl=require("@vuu-ui/vuu-utils"),zt=require("react");var Gu=require("@vuu-ui/vuu-utils"),{SELECTED:Qw}=Gu.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 Gu.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[Qw]){let r=this.data[o-1];(0,Gu.isRowSelectedLast)(r)&&(this.data[o-1]=r.slice(),this.data[o-1][Qw]-=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[Qw]!==0)}};var mN=({dataSource:t,onFeatureInvocation:e,onSizeChange:n,onSubscribed:o,range:r=Fl.NULL_RANGE,renderBufferSize:i=0})=>{let[,s]=(0,zt.useState)(null),l=(0,zt.useRef)([]),a=(0,zt.useRef)(!0),u=(0,zt.useRef)(!1),c=(0,zt.useRef)(Fl.NULL_RANGE),d=(0,zt.useMemo)(()=>new Ag((0,Fl.getFullRange)(r,i)),[]),f=(0,zt.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,zt.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,pN.isVuuFeatureInvocation)(m)?e==null||e(m):console.log(`useDataSource unexpected message ${m.type}`)},[d,e,n,o,f]),g=(0,zt.useCallback)(()=>d.getSelectedRows(),[d]);(0,zt.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,zt.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,zt.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"),hN=t=>{let e=(0,Ng.useRef)(t);return(0,Ng.useMemo)(()=>e.current,[])};var ot=require("react");var bN=new Set(["Home","End","PageUp","PageDown","ArrowDown","ArrowUp"]),Xw=new Set(bN);Xw.add("ArrowLeft");Xw.add("ArrowRight");var C$=(t,e)=>{switch(e){case"cell":return Xw.has(t);case"row":return bN.has(t);default:return!1}},w$=["Home","End","PageUp","PageDown"],gN=t=>w$.includes(t),S$=[-1,-1],Jw=[void 0,void 0],vN=(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]:Jw;throw Error("Whats going on, row not found")}else throw Error("Whats going on, scrollbar container not found")},E$=t=>{var n;let e=t.closest(".vuuTable-contentContainer");if(e){let o=t.closest(".vuuTableRow");if(o){let r=vN(o,e);if(r!==Jw)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 Jw};function yN(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 xN=({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 H;let d=(0,ot.useRef)([-1,-1]),f=(0,ot.useRef)(),p=(0,ot.useRef)([-1,0]),g=(0,ot.useRef)(),[y,m]=Me({controlled:i,default:o,name:"UseKeyboardNavigation"});g.current=y;let h=(0,ot.useCallback)((k,L=!1)=>{a==null||a(k),m(k)},[a,m]),b=k=>k==null?void 0:k.closest("[role='columnHeader'],[role='cell']"),x=k=>{var L,D;if(k.role==="columnHeader")return[-1,parseInt((L=k.dataset.idx)!=null?L:"-1",10)];{let B=k.closest("[role='row']");if(B){let F=parseInt((D=B.ariaRowIndex)!=null?D:"-1",10),U=Array.from(B.childNodes).indexOf(k);return[F,U]}}return S$},v=(0,ot.useCallback)(k=>{var L;if(e.current){let D=aN(e,k);if(D){D!==f.current&&((L=f.current)==null||L.removeAttribute("tabindex"),f.current=D,D.setAttribute("tabindex","0"));let[B,F]=E$(D);B&&F&&(l==null||l({type:"scroll-distance",distance:F,direction:B})),console.log("activeCell focus"),D.focus({preventScroll:!0})}}},[e,l]),w=(0,ot.useCallback)((k,L,D=!1)=>{let B=[k,L];p.current=B,s==="row"?m(k):v(B),D&&(d.current=B)},[v,s,m]),C=(0,ot.useCallback)((k,[L,D])=>new Promise(B=>{let F=L;switch(k){case"PageDown":F=Math.min(u-1,L+c),l==null||l({type:"scroll-page",direction:"down"});break;case"PageUp":F=Math.max(0,L-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]),S=(0,ot.useCallback)(()=>{var k;if(r!==!0&&(k=e.current)!=null&&k.contains(document.activeElement)){let L=b(document.activeElement);L&&(d.current=x(L),s==="row"&&m(d.current[0]))}},[r,e,s,m]),E=(0,ot.useCallback)(async k=>{let[L,D]=gN(k)?await C(k,p.current):yN(k,p.current,t,u),[B,F]=p.current;(L!==B||D!==F)&&w(L,D,!0)},[t,C,u,w]),T=(0,ot.useCallback)(k=>{let{current:L}=e,D=L==null?void 0:L.querySelector(`[aria-rowindex="${k}"]`);if(D){let[B,F]=vN(D);B&&F&&(l==null||l({type:"scroll-distance",distance:F,direction:B}))}},[e,l]),M=(0,ot.useCallback)(async k=>{let{current:L}=g,[D]=gN(k)?await C(k,[L!=null?L:-1,0]):yN(k,[L!=null?L:-1,0],t,u);D!==L&&(h(D),T(D))},[t,C,u,T,h]);(0,ot.useEffect)(()=>{i!==void 0&&i!==-1&&T(i)},[i,T]);let O=(0,ot.useCallback)(k=>{u>0&&C$(k.key,s)&&(k.preventDefault(),k.stopPropagation(),s==="row"?M(k.key):E(k.key))},[u,s,M,E]),I=(0,ot.useCallback)(k=>{let L=k.target,D=b(L);if(D){let[B,F]=x(D);w(B,F)}},[w]),P=(0,ot.useCallback)(()=>{h(-1)},[h]),A=(0,ot.useCallback)(k=>{let L=cN(k.target);L!==-1&&L!==g.current&&h(L)},[h]),N=(0,ot.useCallback)(()=>{E("ArrowDown")},[E]),R=((H=e.current)==null?void 0:H.firstChild)!=null;return(0,ot.useEffect)(()=>{if(R&&f.current===void 0&&!n){let{current:k}=e,L=(k==null?void 0:k.querySelector(jw(0)))||(k==null?void 0:k.querySelector(qw(0,0)));L&&(L.setAttribute("tabindex","0"),f.current=L)}},[e,n,R]),{highlightedIndexRef:g,navigate:N,onClick:I,onFocus:S,onKeyDown:O,onMouseLeave:s==="row"?P:void 0,onMouseMove:s==="row"?A:void 0}};var Pr=require("@vuu-ui/vuu-utils"),Bl=require("react"),{IDX:T$}=Pr.metadataKeys,k$=[],M$=["Enter"," "],CN=({highlightedIndexRef:t,selectionKeys:e=M$,selectionModel:n,onSelect:o,onSelectionChange:r})=>{let i=(0,Bl.useRef)(-1),s=(0,Bl.useRef)(k$),l=(0,Bl.useCallback)(c=>e.includes(c.key),[e]),a=(0,Bl.useCallback)((c,d,f)=>{let{[T$]: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 wN=require("@vuu-ui/vuu-utils"),SN=require("react"),I$=[],EN=({columns:t,data:e,dataSource:n,getSelectedRows:o})=>{let[r]=Na();return(0,SN.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,wN.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?I$:o(),viewport:n.viewport})}},[t,e,n,o,r])};var fe=require("@vuu-ui/vuu-utils");var TN=require("react"),{info:Yw}=(0,fe.logger)("useTableModel"),P$=100,D$=fe.metadataKeys.count,R$=({serverDataType:t})=>t===void 0,kN=(t,e)=>{let n=e==null?void 0:e.columns.find(({name:o})=>o===t.name);return n?n.serverDataType:t.serverDataType},L$=["int","long","double"],MN=t=>t===void 0?void 0:L$.includes(t)?"right":"left",IN=t=>t.type==="columnSettings",PN=t=>t.type==="tableSettings",A$=(t,e)=>{switch(Yw==null||Yw(`TableModelReducer ${e.type}`),e.type){case"init":return RN(e);case"moveColumn":return O$(t,e);case"resizeColumn":return B$(t,e);case"setTableSchema":return V$(t,e);case"hideColumns":return H$(t,e);case"showColumns":return F$(t,e);case"pinColumn":return z$(t,e);case"updateColumnProp":return ju(t,e);case"tableConfig":return AN(t,e);default:return console.log(`unhandled action ${e.type}`),t}},DN=(t,e)=>{let[n,o]=(0,TN.useReducer)(A$,{tableConfig:t,dataSource:e},RN),{columns:r,headings:i,tableConfig:s,...l}=n;return{columns:r,dispatchColumnAction:o,headings:i,tableAttributes:l,tableConfig:s}};function RN({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,fe.subscribedOnly)(r==null?void 0:r.columns)).map(LN(o,i)),l=s.some(fe.isPinned)?(0,fe.sortPinnedColumns)(s):s,a={columns:l,headings:(0,fe.getTableHeadings)(l),tableConfig:e,...o};if(r){let{columns:u,...c}=r;a=AN(a,{type:"tableConfig",...c})}return a}var N$=(t,e)=>e==="uppercase"?t.toUpperCase():e==="capitalize"?t[0].toUpperCase()+t.slice(1).toLowerCase():t,LN=(t,e)=>(n,o)=>{let{columnDefaultWidth:r=P$,columnFormatHeader:i}=t,s=kN(n,e),{align:l=MN(s),key:a,name:u,label:c=(0,fe.getColumnLabel)(n),width:d=r,...f}=n,p={...f,align:l,CellRenderer:(0,fe.getCellRenderer)(n),HeaderCellLabelRenderer:(0,fe.getCellRenderer)(n,"col-label"),HeaderCellContentRenderer:(0,fe.getCellRenderer)(n,"col-content"),clientSideEditValidationCheck:(0,fe.hasValidationRules)(n.type)?pD(n.type.renderer.rules):void 0,label:N$(c,i),key:a!=null?a:o+D$,name:u,originalIdx:o,serverDataType:s,valueFormatter:(0,fe.getValueFormatter)(n,s),width:d};return(0,fe.isGroupColumn)(p)&&(p.columns=p.columns.map(g=>LN(t)(g,g.key))),p};function O$(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 H$(t,{columns:e}){return e.some(n=>n.hidden!==!0)?e.reduce((n,o)=>o.hidden!==!0?ju(n,{type:"updateColumnProp",column:o,hidden:!0}):n,t):t}function F$(t,{columns:e}){return e.some(n=>n.hidden)?e.reduce((n,o)=>o.hidden?ju(n,{type:"updateColumnProp",column:o,hidden:!1}):n,t):t}function B$(t,{column:e,phase:n,width:o}){let r="updateColumnProp",i=n!=="end";switch(n){case"begin":return ju(t,{type:r,column:e,resizing:i});case"end":return ju(t,{type:r,column:e,resizing:i,width:o});case"resize":return ju(t,{type:r,column:e,width:o});default:throw Error(`useTableModel.resizeColumn, invalid resizePhase ${n}`)}}function V$(t,{tableSchema:e}){let{columns:n}=t;if(n.some(R$)){let o=n.map(r=>{var s;let i=kN(r,e);return{...r,align:(s=r.align)!=null?s:MN(i),serverDataType:i}});return{...t,columns:o}}else return t}function z$(t,e){let{columns:n}=t,{column:o,pin:r}=e,i=n.find(s=>s.name===o.name);return i?(n=(0,fe.replaceColumn)(n,{...i,pin:r}),n=(0,fe.sortPinnedColumns)(n),{...t,columns:n}):t}function ju(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,fe.replaceColumn)(n,{...c,align:r})),typeof l=="string"&&(n=(0,fe.replaceColumn)(n,{...c,label:l})),typeof a=="boolean"&&(n=(0,fe.replaceColumn)(n,{...c,resizing:a})),typeof s=="boolean"&&(n=(0,fe.replaceColumn)(n,{...c,hidden:s})),typeof u=="number")){n=(0,fe.replaceColumn)(n,{...c,width:u});let d=o.columns.find(f=>f.name===i.name);d&&(o={...o,columns:(0,fe.replaceColumn)(o.columns,{...d,width:u})})}return{...t,columns:n,tableConfig:o}}function AN(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,fe.applyGroupByToColumns)(a.columns,o,e)}),l&&(a={...t,columns:(0,fe.applySortToColumns)(a.columns,r)}),s?a={...t,columns:(0,fe.applyFilterToColumns)(a.columns,n)}:a.columns.some(fe.isFilteredColumn)&&(a={...t,columns:(0,fe.stripFilterFromColumns)(a.columns)}),a}var gn=require("react"),NN=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]},ON=({onAttach:t,onDetach:e})=>{let n=(0,gn.useRef)(null);return(0,gn.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])},HN=({maxScrollLeft:t,maxScrollTop:e,onHorizontalScroll:n,onVerticalScroll:o,rowHeight:r,viewportRowCount:i})=>{let s=(0,gn.useRef)(!1),l=(0,gn.useRef)({scrollTop:0,scrollLeft:0}),a=(0,gn.useRef)(null),u=(0,gn.useRef)(null),c=(0,gn.useCallback)(()=>{let{current:x}=u,{current:v}=a,{current:w}=s;if(w)s.current=!1;else if(x&&v){let[C,S]=NN(v),E=Math.round(C*t),T=Math.round(S*e);x.scrollTo({left:E,top:T,behavior:"auto"})}},[t,e]),d=(0,gn.useCallback)(()=>{let{current:x}=u,{current:v}=a,{current:w}=l;if(x&&v){let{scrollLeft:C,scrollTop:S}=x,[E,T]=NN(x);s.current=!0,v.scrollLeft=Math.round(E*t),v.scrollTop=Math.round(T*e),w.scrollTop!==S&&(w.scrollTop=S,o==null||o(S,T)),w.scrollLeft!==C&&(w.scrollLeft=C,n==null||n(C))}},[t,e,n,o]),f=(0,gn.useCallback)(x=>{a.current=x,x.addEventListener("scroll",c,{passive:!0})},[c]),p=(0,gn.useCallback)(x=>{a.current=null,x.removeEventListener("scroll",c)},[c]),g=(0,gn.useCallback)(x=>{u.current=x,x.addEventListener("scroll",d,{passive:!0})},[d]),y=(0,gn.useCallback)(x=>{u.current=null,x.removeEventListener("scroll",d)},[d]),m=ON({onAttach:g,onDetach:y}),h=ON({onAttach:f,onDetach:p}),b=(0,gn.useCallback)(x=>{let{current:v}=u;if(v){let{scrollLeft:w,scrollTop:C}=v;if(s.current=!1,x.type==="scroll-distance"){let S=w,E=C;x.direction==="up"||x.direction==="down"?E=Math.min(Math.max(0,C+x.distance),e):S=Math.min(Math.max(0,w+x.distance),t),v.scrollTo({top:E,left:S,behavior:"smooth"})}else if(x.type==="scroll-page"){let{direction:S}=x,E=i*(S==="down"?r:-r),T=Math.min(Math.max(0,C+E),e);v.scrollTo({top:T,left:w,behavior:"auto"})}else if(x.type==="scroll-end"){let{direction:S}=x,E=S==="end"?e:0;v.scrollTo({top:E,left:v.scrollLeft,behavior:"auto"})}}},[t,e,r,i]);return{scrollbarContainerRef:h,contentContainerRef:m,requestScroll:b}};var ui=require("react"),Og=require("@vuu-ui/vuu-utils"),$$=15e5,_$={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},W$=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}},FN=({columns:t,headerHeight:e,headings:n,rowCount:o,rowHeight:r,size:i})=>{let s=(0,ui.useRef)(0),a=Math.min(o,$$)*r,c=o*r-a,{pinnedWidthLeft:d,pinnedWidthRight:f,unpinnedWidth:p}=(0,ui.useMemo)(()=>W$(t),[t]),[g,y]=(0,ui.useMemo)(()=>(0,Og.actualRowPositioning)(r),[r]),[m,h]=(0,ui.useMemo)(()=>c?(0,Og.virtualRowPositioning)(r,c,s):[g,y],[y,g,c,r]),b=(0,ui.useCallback)(x=>{s.current=x},[]);return(0,ui.useMemo)(()=>{var x;if(i){let v=n.length,w=15,C=d+p+f,S=C>i.width?w:0,E=e*(1+v),T=a-(((x=i==null?void 0:i.height)!=null?x:0)-S)+E,M=C-i.width+d,O=(i.height-e)/r,I=Number.isInteger(O)?O+1:Math.ceil(O),P=i.height-E,A=a>P?w:0;return{contentHeight:a,getRowAtPosition:h,getRowOffset:m,horizontalScrollbarHeight:S,maxScrollContainerScrollHorizontal:M,maxScrollContainerScrollVertical:T,pinnedWidthLeft:d,pinnedWidthRight:f,rowCount:I,contentWidth:C,setPctScrollTop:b,totalHeaderHeight:E,verticalScrollbarWidth:A,viewportBodyHeight:P}}else return _$},[i,n.length,d,p,f,a,e,r,h,m,b])};var qu=require("react"),BN=({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 Hg=t=>t,{KEY:K$,IS_EXPANDED:VN,IS_LEAF:zN}=on.metadataKeys,U$={draggable:void 0,onMouseDown:void 0},G$=()=>U$,j$=(t,e)=>({...t,columns:t.columns.concat(e)}),$N=({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:b,renderBufferSize:x=0,rowHeight:v=20,selectionModel:w,size:C})=>{let[S,E]=(0,xe.useState)(r.size);if(r===void 0)throw Error("no data source provided to Vuu Table");let T=t?cr:G$,M=(0,xe.useMemo)(()=>iN(r),[r]),O=(0,xe.useCallback)(W=>{E(W)},[]),{columns:I,dispatchColumnAction:P,headings:A,tableAttributes:N,tableConfig:R}=DN(n,r);kn(()=>{P({type:"init",dataSource:r,tableConfig:R})},[R,r,P]);let H=(0,xe.useCallback)(W=>{P({type:"init",tableConfig:W,dataSource:r}),d==null||d(Hg(W))},[r,P,d]),[k,L]=(0,xe.useState)(),[D,B]=(0,xe.useMemo)(()=>{let W=(ae,Se)=>{let vt=(0,on.updateColumn)(I,ae,{width:Se});L(vt)};return[k!=null?k:I,W]},[I,k]),F=(0,xe.useMemo)(()=>(0,on.buildColumnMap)(r.columns),[r.columns]),{getRowAtPosition:U,getRowOffset:re,setPctScrollTop:Y,..._}=FN({columns:D,headerHeight:s,headings:A,rowCount:S,rowHeight:v,size:C}),J=hN({from:0,to:_.rowCount}),le=(0,xe.useCallback)(({tableSchema:W})=>{W?P({type:"setTableSchema",tableSchema:W}):console.log("subscription message with no schema")},[P]),{data:X,dataRef:Pe,getSelectedRows:pe,range:Ce,setRange:me}=mN({dataSource:r,onFeatureInvocation:g,renderBufferSize:x,onSizeChange:O,onSubscribed:le,range:J}),We=(0,xe.useCallback)(W=>{console.log("settings changed"),P({type:"init",tableConfig:W,dataSource:r}),d==null||d(Hg(W))},[r,P,d]),Ue=(0,xe.useCallback)(W=>{r.config={...r.config,...W}},[r]);(0,xe.useEffect)(()=>{r.on("config",(W,ae)=>{P({type:"tableConfig",...W,confirmed:ae})})},[r,P]);let Ne=(0,xe.useCallback)(W=>{r.columns=r.columns.concat(W.name),H(j$(R,W))},[r,R,H]),Oe=(0,xe.useCallback)(W=>{let{columns:ae}=W,Se=ae.map(ft=>ft.name),vt={...R,columns:R.columns.map(ft=>Se.includes(ft.name)?{...ft,hidden:!0}:ft)};H(vt)},[R,H]),Ye=(0,xe.useCallback)(W=>{H({...R,columns:(0,on.updateColumn)(R.columns,{...W.column,pin:W.pin})})},[R,H]),{showColumnSettingsPanel:At,showTableSettingsPanel:sn}=oN({availableColumns:e!=null?e:R.columns.map(({name:W,serverDataType:ae="string"})=>({name:W,serverDataType:ae})),onAvailableColumnsChange:c,onConfigChange:We,onCreateCalculatedColumn:Ne,onDataSourceConfigChange:Ue,tableConfig:R}),De=(0,xe.useCallback)(W=>{if(IN(W))At(W);else if(PN(W))sn();else switch(W.type){case"hideColumns":return Oe(W);case"pinColumn":return Ye(W);default:P(W)}},[P,Oe,Ye,At,sn]),te=lN({dataSource:r,onPersistentColumnOperation:De}),oe=(0,xe.useCallback)((W,ae=!1,Se)=>{r&&(r.sort=(0,on.applySort)(r.sort,W,ae,Se))},[r]),ce=(0,xe.useCallback)((W,ae,Se)=>{let vt=D.find(ft=>ft.name===ae);if(vt)W==="resize"?(0,on.isValidNumber)(Se)&&B(ae,Se):W==="end"?(0,on.isValidNumber)(Se)&&(P({type:"resizeColumn",phase:W,column:vt,width:Se}),L(void 0),d==null||d(Hg(_w(R,{type:"col-size",column:vt,width:Se})))):(L(void 0),P({type:"resizeColumn",phase:W,column:vt,width:Se}));else throw Error(`useDataTable.handleColumnResize, column ${ae} not found`)},[D,R,P,d,B]),he=(0,xe.useCallback)((W,ae)=>{let Se=(0,on.isJsonGroup)(ae,W),vt=W[K$];if(W[VN]){if(r.closeTreeNode(vt,!0),Se){let ft=D.indexOf(ae);r.getRowsAtDepth(ft+1).some(Lo=>Lo[VN]||Lo[zN])||P({type:"hideColumns",columns:D.slice(ft+2)})}}else if(r.openTreeNode(vt),Se){let ft=r.getChildRows(vt),Ro=D.indexOf(ae)+1,Lo=[D[Ro]];ft.some(Yl=>Yl[zN])&&Lo.push(D[Ro+1]),Lo.some(Yl=>Yl.hidden)&&P({type:"showColumns",columns:Lo})}},[D,r,P]),{onVerticalScroll:z}=BN({columns:D,getRowAtPosition:U,setRange:me,viewportMeasurements:_}),Q=(0,xe.useCallback)(W=>{z(W)},[z]),{requestScroll:we,...He}=HN({maxScrollLeft:_.maxScrollContainerScrollHorizontal,maxScrollTop:_.maxScrollContainerScrollVertical,rowHeight:v,onVerticalScroll:Q,viewportRowCount:_.rowCount}),{highlightedIndexRef:yt,navigate:$t,onFocus:dt,onKeyDown:bt,...xn}=xN({columnCount:D.filter(W=>W.hidden!==!0).length,containerRef:o,disableFocus:i,highlightedIndex:l,navigationStyle:u,requestScroll:we,rowCount:r==null?void 0:r.size,onHighlight:y,viewportRange:Ce,viewportRowCount:_.rowCount}),{onBlur:Cn,onDoubleClick:zn,onKeyDown:Jl,onFocus:gi}=fN({navigate:$t}),Xl=(0,xe.useCallback)(W=>{dt(),W.defaultPrevented||gi(W)},[gi,dt]),Kf=EN({columns:D,data:X,dataSource:r,getSelectedRows:pe}),ky=(0,xe.useCallback)(W=>{r.groupBy=W.map(ae=>ae.name)},[r]),My=(0,xe.useCallback)(W=>{(0,on.isGroupColumn)(W)?r.groupBy=[]:r&&r.groupBy.includes(W.name)&&(r.groupBy=r.groupBy.filter(ae=>ae!==W.name))},[r]),Uf=(0,xe.useCallback)(W=>{r.select(W),b==null||b(W)},[r,b]),{onKeyDown:Gf,onRowClick:bc}=CN({highlightedIndexRef:yt,onSelect:h,onSelectionChange:Uf,selectionModel:w}),Iy=(0,xe.useCallback)(W=>{bt(W),W.defaultPrevented||Jl(W),W.defaultPrevented||Gf(W)},[bt,Jl,Gf]),Py=(0,xe.useCallback)((W,ae,Se)=>{bc(W,ae,Se),m==null||m(W)},[m,bc]);kn(()=>{P({type:"init",tableConfig:n,dataSource:r})},[n,r,P]);let Dy=(0,xe.useCallback)(W=>{let ae={...R,columns:W};P({type:"init",tableConfig:ae,dataSource:r}),d==null||d(Hg(ae))},[r,P,d,R]),jf=(0,xe.useCallback)(W=>{p==null||p(W)},[p]),qf=(0,xe.useCallback)(async(W,ae,Se)=>r.applyEdit(W,ae,Se),[r]),$n=(0,xe.useCallback)(W=>{let{initialDragElement:ae}=W,Se=ae.ariaRowIndex;if(Se){let vt=parseInt(Se),ft=Pe.current.find(Ro=>Ro[0]===vt);ft&&W.setPayload(ft)}f==null||f(W)},[Pe,f]),{onMouseDown:Ze,draggable:ln}=T({allowDragDrop:t,containerRef:o,draggableClassName:"vuuTable",id:a,onDragStart:$n,onDrop:jf,orientation:"vertical",itemQuery:".vuuTableRow"});return{...xn,draggableRow:ln,onBlur:Cn,onDoubleClick:zn,onFocus:Xl,onKeyDown:Iy,onMouseDown:Ze,columnMap:F,columns:D,data:X,handleContextMenuAction:te,headings:A,highlightedIndex:yt.current,menuBuilder:M,onContextMenu:Kf,onDataEdited:qf,onMoveColumn:Dy,onMoveGroupColumn:ky,onRemoveGroupColumn:My,onRowClick:Py,onSortColumn:oe,onResizeColumn:ce,onToggleGroup:he,scrollProps:He,tableAttributes:N,tableConfig:R,viewportMeasurements:_}};var Fg=require("@vuu-ui/vuu-utils"),WN=V(j());var Mf=require("@vuu-ui/vuu-utils"),If=require("react"),_N=({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:b})=>x=>x.name===b,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 gs=require("react/jsx-runtime"),KN=({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}=_N({columns:e,onMoveColumn:o,onSortColumn:l,tableConfig:a});return(0,gs.jsxs)("div",{className:`${t}-col-headings`,ref:c,children:[n.map((y,m)=>(0,gs.jsx)("div",{className:"vuuTable-heading",children:y.map(({label:h,width:b},x)=>(0,gs.jsx)("div",{className:"vuuTable-headingCell",style:{width:b},children:h},x))},m)),(0,gs.jsxs)("div",{className:`${t}-col-headers`,role:"row",children:[e.filter(Fg.isNotHidden).map((y,m)=>(0,Fg.isGroupColumn)(y)?(0,gs.jsx)(c0,{column:y,"data-index":m,onMoveColumn:r,onRemoveColumn:i,onResize:s},y.name):(0,gs.jsx)(HD,{className:(0,WN.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"),ci="vuuTable",{IDX:UN,RENDER_IDX:q$}=GN.metadataKeys,Q$=({Row:t=m0,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:b,renderBufferSize:x=0,rowHeight:v=20,selectionModel:w="extended",showColumnHeaders:C=!0,headerHeight:S=C?25:0,size:E})=>{let T=Ie(a),{columnMap:M,columns:O,data:I,draggableRow:P,handleContextMenuAction:A,headings:N,highlightedIndex:R,onDataEdited:H,onMoveColumn:k,onMoveGroupColumn:L,onRemoveGroupColumn:D,onResizeColumn:B,onRowClick:F,onSortColumn:U,onToggleGroup:re,menuBuilder:Y,scrollProps:_,tableAttributes:J,tableConfig:le,viewportMeasurements:X,...Pe}=$N({allowDragDrop:e,availableColumns:n,config:o,containerRef:r,dataSource:i,disableFocus:s,headerHeight:S,highlightedIndex:l,id:T,navigationStyle:u,onAvailableColumnsChange:c,onConfigChange:d,onDragStart:f,onDrop:p,onFeatureInvocation:g,onHighlight:y,onRowClick:m,onSelect:h,onSelectionChange:b,renderBufferSize:x,rowHeight:v,selectionModel:w,size:E}),pe=(0,Zw.default)(`${ci}-contentContainer`,{[`${ci}-colLines`]:J.columnSeparators,[`${ci}-rowLines`]:J.rowSeparators,[`${ci}-zebra`]:J.zebraStripes}),Ce={"--content-height":`${X.contentHeight}px`,"--content-width":`${X.contentWidth}px`,"--horizontal-scrollbar-height":`${X.horizontalScrollbarHeight}px`,"--pinned-width-left":`${X.pinnedWidthLeft}px`,"--pinned-width-right":`${X.pinnedWidthRight}px`,"--header-height":`${S}px`,"--row-height":`${v}px`,"--total-header-height":`${X.totalHeaderHeight}px`,"--vertical-scrollbar-width":`${X.verticalScrollbarWidth}px`,"--viewport-body-height":`${X.viewportBodyHeight}px`};return(0,Po.jsxs)(wx,{menuActionHandler:A,menuBuilder:Y,children:[(0,Po.jsx)("div",{className:`${ci}-scrollbarContainer`,ref:_.scrollbarContainerRef,style:Ce,children:(0,Po.jsx)("div",{className:`${ci}-scrollbarContent`})}),(0,Po.jsx)("div",{className:pe,ref:_.contentContainerRef,style:Ce,children:(0,Po.jsxs)("div",{...Pe,className:`${ci}-table`,tabIndex:s?void 0:-1,children:[C?(0,Po.jsx)(KN,{columns:O,headings:N,onMoveColumn:k,onMoveGroupColumn:L,onRemoveGroupColumn:D,onResizeColumn:B,onSortColumn:U,tableConfig:le,tableId:T}):null,(0,Po.jsx)("div",{className:`${ci}-body`,children:I.map(me=>(0,Po.jsx)(t,{columnMap:M,columns:O,highlighted:R===me[UN],onClick:F,onDataEdited:H,row:me,offset:v*me[UN]+X.totalHeaderHeight,onToggleGroup:re,zebraStripes:J.zebraStripes},me[q$]))})]})}),P]})},Bg=(0,Qu.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:b,onSelectionChange:x,renderBufferSize:v,rowHeight:w,selectionModel:C,showColumnHeaders:S,headerHeight:E,style:T,...M},O){let I=(0,Qu.useRef)(null),[P,A]=(0,Qu.useState)();return(0,Po.jsx)(sh,{...M,className:(0,Zw.default)(ci,r),id:u,onResize:A,ref:Le(I,O),children:P?(0,Po.jsx)(Q$,{Row:e,allowDragDrop:n,availableColumns:o,config:i,containerRef:I,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:b,onSelectionChange:x,renderBufferSize:v,rowHeight:w,selectionModel:C,showColumnHeaders:S,size:P}):null})});var Vg=require("react");var ys=(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"),eS=require("react/jsx-runtime"),jN=(0,Vg.memo)(({column:t,columnMap:e,onCommit:n=tu,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,eS.jsx)(ex,{checked:i,onClick:s(!i)}):(0,eS.jsx)(Vd,{checked:i,disabled:!0})},ys);jN.displayName="CheckboxCell";(0,zg.registerComponent)("checkbox-cell",jN,"cell-renderer",{serverDataType:"boolean"});var $g=require("@vuu-ui/vuu-utils"),Ju=require("react");var qN=require("react/jsx-runtime"),J$="vuuTableDropdownCell",X$=["Enter"," "],Y$=(0,Ju.memo)(function({column:e,columnMap:n,onCommit:o=tu,row:r}){let i=n[e.name],{initialValue:s,values:l}=Pf(e,r[i]),[a,u]=(0,Ju.useState)(null),c=(0,Ju.useCallback)((d,f)=>{f&&(u(f),o(f.value).then(p=>{p===!0&&d&&(0,$g.dispatchCustomEvent)(d.target,"vuu-commit")}))},[o]);return(0,qN.jsx)(Za,{className:J$,onSelectionChange:c,openKeys:X$,selected:a!=null?a:s,source:l,width:e.width-17})},ys);(0,$g.registerComponent)("dropdown-cell",Y$,"cell-renderer",{});var QN=require("@vuu-ui/vuu-utils");var JN=V(j());var Wg=require("react/jsx-runtime"),_g="vuuTableInputCell",Z$=()=>(console.warn("onCommit handler has not been provided to InputCell cell renderer"),Promise.resolve(!0)),e_=({column:t,columnMap:e,onCommit:n=Z$,row:o})=>{let r=e[t.name],{align:i="left",clientSideEditValidationCheck:s,valueFormatter:l}=t,{warningMessage:a,...u}=mD({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,JN.default)(_g,{[`${_g}-error`]:a!==void 0}),endAdornment:c,startAdornment:d})};(0,QN.registerComponent)("input-cell",e_,"cell-renderer",{});var XN=require("@vuu-ui/vuu-utils"),YN=require("react");var ZN=require("react/jsx-runtime"),t_=(0,YN.memo)(function({column:e,columnMap:n,row:o}){let r=n[e.name],{initialValue:i}=Pf(e,o[r]);return(0,ZN.jsx)("span",{children:i==null?void 0:i.label})},ys);(0,XN.registerComponent)("lookup-cell",t_,"cell-renderer",{});var bs=require("@vuu-ui/vuu-utils"),tO=V(j()),Kg=require("react");var nO=require("react/jsx-runtime"),eO="vuuTableToggleCell",n_=({name:t,type:e})=>{if((0,bs.isTypeDescriptor)(e)&&(0,bs.isValueListRenderer)(e.renderer))return e.renderer.values;throw Error(`useLookupValues column ${t} has not been configured with a values list`)},o_=(0,Kg.memo)(function({column:e,columnMap:n,onCommit:o=tu,row:r}){let i=n_(e),s=n[e.name],l=r[s],a=(0,Kg.useCallback)((u,c)=>o(c).then(d=>(d===!0&&(0,bs.dispatchCustomEvent)(u.target,"vuu-commit"),d)),[o]);return(0,nO.jsx)(cD,{className:(0,tO.default)(eO,`${eO}-${e.name}`),onCommit:a,value:l,values:i,variant:"cta",children:l})},ys);(0,bs.registerComponent)("toggle-cell",o_,"cell-renderer",{});var oO=require("@vuu-ui/vuu-utils"),Df=require("react"),Ug=(t,e)=>{let n=(0,Df.useRef)(null),[o,r]=eP(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,oO.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 rO=require("@vuu-ui/vuu-utils");var Gg=require("react/jsx-runtime"),r_="vuuSearchCell",i_=({column:t,columnMap:e,row:n})=>{let o=e[t.name],r=n[o];return(0,Gg.jsxs)("div",{className:r_,tabIndex:-1,children:[(0,Gg.jsx)("span",{"data-icon":"draggable"}),r]})};(0,rO.registerComponent)("search-cell",i_,"cell-renderer",{serverDataType:"private"});var vs=require("react");var s_=(t,e)=>n=>t.map(({name:o})=>n[e[o]]).join(" "),iO=({columnMap:t,columns:e,dataSource:n,defaultIsOpen:o,isOpen:r,itemToString:i=s_(e,t),onOpenChange:s,onSelect:l,searchColumns:a})=>{let[u,c]=(0,vs.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,vs.useMemo)(()=>a.map(C=>`${C} starts "__VALUE__"`).join(" or "),[a]),h=(0,vs.useCallback)((C,S)=>{f(C),s==null||s(C,S)},[s,f]),b=(0,vs.useCallback)(C=>{let{value:S}=C.target;if(c(S),S&&S.trim().length){let E=m.replaceAll("__VALUE__",S);n.filter={filter:E}}else n.filter={filter:""};f(!0)},[m,n,f]),x=(0,vs.useCallback)(C=>{let S=i(C);c(S),l(C),h==null||h(!1,"select")},[h,i,l]),v={inputProps:{autoComplete:"off",onKeyDown:g},onChange:b},w={onSelect:x};return{highlightedIndex:p.current,inputProps:v,isOpen:d,onOpenChange:h,tableHandlers:w,tableRef:y,value:u}};var Xu=require("react/jsx-runtime"),l_="vuuInstrumentPicker",Gve=(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=Ie(s),{highlightedIndex:m,inputProps:h,isOpen:b,onOpenChange:x,tableHandlers:v,tableRef:w,value:C}=iO({columnMap:r,columns:n.config.columns,dataSource:e,itemToString:l,onOpenChange:a,onSelect:u,searchColumns:d}),S=(0,jg.useMemo)(()=>(0,Xu.jsx)("span",{"data-icon":"chevron-down"}),[]),E={...n,config:{...n.config,zebraStripes:!1}};return(0,Xu.jsxs)(Ka,{...p,fullWidth:!0,id:y,isOpen:b,onOpenChange:x,openOnFocus:!0,placement:"below-full-width",ref:g,width:f,children:[(0,Xu.jsx)(Un,{...h,disabled:i,endAdornment:S,value:C}),(0,Xu.jsx)(Bg,{rowHeight:25,renderBufferSize:100,...E,...v,className:`${l_}-list`,height:200,highlightedIndex:m,dataSource:e,navigationStyle:"row",ref:w,showColumnHeaders:!1})]})});var cO=V(j()),dO=require("react");var sO=require("@vuu-ui/vuu-utils");var qg=require("react/jsx-runtime"),a_="vuuSearchCell",u_=({column:t,columnMap:e,row:n})=>{let o=e[t.name],r=n[o];return(0,qg.jsxs)("div",{className:a_,tabIndex:-1,children:[(0,qg.jsx)("span",{"data-icon":"draggable"}),r]})};(0,sO.registerComponent)("search-cell",u_,"cell-renderer",{serverDataType:"private"});var lO=require("@vuu-ui/vuu-data");var xs=require("react"),aO=({dataSource:t,searchColumns:e=["description"],table:n})=>{let[o,r]=(0,xs.useState)(t),{loadSession:i,saveSession:s}=Om(),[l,a]=(0,xs.useState)({searchText:"",filter:""}),u=(0,xs.useMemo)(()=>e.map(d=>`${d} starts "__VALUE__"`).join(" or "),[e]);(0,xs.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):tS(n).then(p=>{let g=new lO.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,xs.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"),nS="vuuInstrumentSearch",c_={columns:[{name:"bbg",hidden:!0},{name:"description",width:200,type:{name:"string",renderer:{name:"search-cell"}}}],rowSeparators:!0},d_=(0,Vl.jsx)("span",{"data-icon":"search"}),f_=({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}=aO({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,dO.useCallback)(h=>{setTimeout(()=>{var b;(b=h==null?void 0:h.querySelector("input"))==null||b.focus()},100)},[]);return(0,Vl.jsxs)("div",{...l,className:(0,cO.default)(nS,n),children:[(0,Vl.jsx)("div",{className:`${nS}-inputField`,children:(0,Vl.jsx)(Un,{inputProps:{onKeyDown:p},endAdornment:d_,placeholder:r,ref:e?y:null,value:c.searchText,onChange:u})}),a?(0,Vl.jsx)(Bg,{disableFocus:!0,id:"instrument-search",rowHeight:25,config:c_,highlightedIndex:d.current,renderBufferSize:100,...t,className:`${nS}-list`,dataSource:a,navigationStyle:"row",onHighlight:f,ref:g,showColumnHeaders:!1}):null]})},uO;(uO=et)==null||uO("InstrumentSearch",f_,"view");var Yu=require("@vuu-ui/vuu-utils"),Zu=require("react"),fO=V(j());var Qg=require("react/jsx-runtime"),p_="vuuPriceTicker",m_=t=>(0,Yu.numericFormatter)({type:{name:"number",formatting:{decimals:t,zeroPad:!0}}}),h_=[void 0,void 0],g_=(0,Zu.memo)(({className:t,decimals:e=2,price:n,showArrow:o,...r})=>{let i=(0,Zu.useRef)(h_),[s,l]=i.current,a=(0,Zu.useMemo)(()=>m_(e),[e]),u=(0,Yu.isValidNumber)(s)?(0,Yu.getMovingValueDirection)(n,l,s,e):"";return i.current=[n,u],(0,Qg.jsxs)("div",{...r,className:(0,fO.default)(p_,t,u),children:[a(n),o?(0,Qg.jsx)("span",{"data-icon":"price-arrow"}):null]})});g_.displayName="PriceTicker";var Yg=V(j()),tc=V(require("react"));var EO=require("@vuu-ui/vuu-utils"),rn=require("react");var pO=t=>typeof t=="object"&&t!==null&&"tabIndex"in t&&typeof t.tabIndex=="number",mO=t=>({label:"Close",location:"tab",action:"close-tab",options:t}),hO=t=>({label:"Rename",location:"tab",action:"rename-tab",options:t});var gO=require("@vuu-ui/vuu-utils"),yO=(t,e)=>{if(t){let n=t.querySelector(`[data-index]:has(${e})`);return(0,gO.getElementDataIndex)(n)}return-1},oS=t=>yO(t,'[aria-selected="true"]'),bO=t=>yO(t,".vuuEditableLabel-editing");var ec=require("@vuu-ui/vuu-utils"),di=require("react"),vO=(t,e,n="horizontal")=>{let o=(0,di.useRef)(!1),r=(0,di.useCallback)(()=>{o.current=!0},[]),i=(0,di.useCallback)(()=>{o.current=!1},[]),s=(0,di.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,di.useRef)(-1);return(0,di.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}=ec.MEASURES[n];if(f&&p&&!o.current){let{[g]:m,[y]:h}=f.getBoundingClientRect(),{[g]:b}=p.getBoundingClientRect();if((0,ec.isValidNumber)(m)&&(0,ec.isValidNumber)(b)&&(0,ec.isValidNumber)(h)){a=m-b,u=h;let v=Math.abs(a/(n==="horizontal"?1100:700));requestAnimationFrame(()=>{var w,C,S,E;(w=t.current)==null||w.style.setProperty("--tab-thumb-offset","0px"),(C=t.current)==null||C.style.setProperty("--tab-thumb-size","100%"),(S=t.current)==null||S.style.setProperty("--tab-thumb-transition",`all ${v}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"),Lt=require("react"),yn=require("@vuu-ui/vuu-utils");var CO={horizontal:{[yn.Home]:"start",[yn.End]:"end",[yn.ArrowLeft]:"bwd",[yn.ArrowRight]:"fwd"},vertical:{[yn.Home]:"start",[yn.End]:"end",[yn.ArrowUp]:"bwd",[yn.ArrowDown]:"fwd"}},y_=(t,e="horizontal")=>CO[e][t]!==void 0,b_=t=>t===yn.ArrowDown;function xO(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 v_=t=>t!==null&&!t.classList.contains("wrapped"),Jg=(t,e)=>t?t.querySelector(`[data-index="${e}"]`):null,wO=({containerRef:t,defaultHighlightedIdx:e=-1,highlightedIdx:n,keyBoardActivation:o,orientation:r,selectedIndex:i=0})=>{let s=o==="manual",l=(0,Lt.useRef)(!1),a=(0,Lt.useRef)(-1),[u,c]=(0,Lt.useState)(!1),[,d]=(0,Lt.useState)({}),[f,p]=Me({controlled:n,default:e,name:"UseKeyboardNavigation"}),g=(0,Lt.useCallback)(I=>{p(a.current=I)},[p]),y=(0,Lt.useRef)(!1),m=(0,Lt.useCallback)((I,P=!1,A,N=70)=>{g(I),A===!0&&!y.current&&(y.current=!0);let R=()=>{let H=Jg(t.current,I);if(H){let k=(0,Xg.getFocusableElement)(H);k==null||k.focus()}};P?R():setTimeout(R,N)},[t,g]),h=I=>{if(a.current===-1&&I.target.tabIndex!==-1){let P=bO(t.current);P!==-1?requestAnimationFrame(()=>{g(P)}):setTimeout(()=>{a.current===-1&&i!==null&&g(i)},200)}},b=(0,Lt.useCallback)(()=>{var I,P;return(P=(I=t.current)==null?void 0:I.querySelectorAll("[data-index]").length)!=null?P:0},[t]),x=(0,Lt.useCallback)((I="fwd",P)=>{let A=b(),R=xO(A,I,typeof P=="number"?P:A),H=I==="start"?"fwd":I==="end"?"bwd":I;for(;(H==="fwd"&&R<A||H==="bwd"&&R>0)&&!v_(Jg(t.current,R));){let k=xO(A,H,R);if(k===R)break;R=k}return R},[t,b]),v=(0,Lt.useCallback)((I,P=!1)=>{let A=CO[r][I.key],N=x(A,f);N!==f?s&&m(N,!0):P&&d({})},[f,s,x,m,r]),w=(0,Lt.useCallback)(()=>{let I=Jg(t.current,f);return I?I.querySelector(".vuuPopupMenu")!=null:!1},[t,f]),C=(0,Lt.useCallback)(()=>{let I=Jg(t.current,f),P=I==null?void 0:I.querySelector(".vuuPopupMenu");return P&&(0,Xg.dispatchMouseEvent)(P,"click"),!1},[t,f]),S=(0,Lt.useCallback)(I=>{b()>0&&y_(I.key,r)?(I.preventDefault(),y.current?v(I):(y.current=!0,v(I,!0))):b_(I.key)&&w()&&C()},[C,b,w,v,r]),E=(I,P)=>{g(P)},T=(0,Lt.useCallback)(()=>{u||(c(!0),l.current?l.current=!1:y.current=!0)},[u]),M=(0,Lt.useCallback)(()=>{u||(l.current=!0),y.current=!1},[u]);return{containerProps:{onBlur:I=>{let P=I.target.closest(".vuuTabstrip"),A=I.relatedTarget;P&&!(P!=null&&P.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:S,setHighlightedIdx:g}};var Rf=require("react"),x_=["Enter"," "],C_=t=>t&&t.matches('[class*="vuuTab "]'),SO=({defaultSelected:t,highlightedIdx:e,onSelectionChange:n,selected:o})=>{let[r,i,s]=Me({controlled:o,default:t!=null?t:0,name:"Tabstrip",state:"value"}),l=(0,Rf.useCallback)(d=>x_.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&&C_(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 w_=new Set(["Enter"," "]),S_=t=>w_.has(t),E_=(t,e)=>t?t.querySelector(`[data-index="${e}"]`):null,TO=({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}=wO({containerRef:o,keyBoardActivation:c,orientation:u,selectedIndex:d.current}),{activateTab:b,onClick:x,onKeyDown:v,selected:w}=SO({highlightedIdx:p,onSelectionChange:r,selected:t});d.current=w;let{containerStyle:C,resumeAnimation:S,suspendAnimation:E}=vO(o,n?w:-1,u),T=(0,rn.useCallback)((_,J)=>{let{current:le}=d;console.log(`useTabstrip handleDrop ${_} - ${J} ${le}`),a==null||a(_,J);let X=-1;J!==-1&&(le===_?X=J:_>le&&J<=le?X=le+1:_<le&&J>=le&&(X=le-1),X!==-1&&(E(),b(X),requestAnimationFrame(S)),f(J,!1,!1,350))},[f,a,S,b,E]),{onMouseDown:M,...O}=cr({allowDragDrop:e,containerRef:o,draggableClassName:`tabstrip-${u}`,onDrop:T,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"}),I=(0,rn.useCallback)((_,J,le,X)=>{console.log(`handleExitEditMode ${_} ${J} ${le} ${X}`),l==null||l(_,J,le,X),le||f(X,!1,!0)},[f,l]),P=(0,rn.useCallback)((_,J)=>{g(_,J),x(_,J)},[g,x]),A=(0,rn.useCallback)((_=p)=>{let J=E_(o.current,_);if(J)return J.querySelector(".vuuEditableLabel")},[o,p]),N=(0,rn.useCallback)((_=p)=>{let J=A(_);return J?J.classList.contains("vuuEditableLabel-editing"):!1},[A,p]),R=(0,rn.useCallback)((_=p)=>{let J=A(_);J&&(0,EO.dispatchMouseEvent)(J,"dblclick")},[A,p]),H=(0,rn.useCallback)(_=>{y(_),_.defaultPrevented||v(_),!_.defaultPrevented&&S_(_.key)&&R()},[R,y,v]),k=(0,rn.useCallback)(_=>{let J=oS(o.current),le=J>_?J-1:J===_?0:J;return E(),s==null||s(_,le),setTimeout(()=>{S()},200),!0},[o,s,S,E]),L=(0,rn.useCallback)(_=>(R(_),!0),[R]),D=(0,rn.useCallback)(_=>{if(pO(_.options))switch(_.menuId){case"close-tab":return k(_.options.tabIndex);case"rename-tab":return L(_.options.tabIndex);default:console.log(`tab menu action ${_.menuId}`)}return!1},[k,L]),B=(0,rn.useCallback)(()=>{N()?m(p):f(p)},[p,f,m,N]),F=(0,rn.useCallback)(_=>{let J=parseInt(_.index);isNaN(J)||b(J)},[b]),U={onFocus:h.onFocus,onKeyDown:H},re=(0,rn.useCallback)(()=>{i==null||i(),requestAnimationFrame(()=>{let _=oS(o.current);_!==-1&&f(_)})},[o,f,i]),Y={onClick:P,onKeyDown:H,onExitEditMode:I,onMenuAction:D,onMenuClose:B,onMouseDown:M};return{activeTabIndex:w,containerStyle:C,focusVisible:h.focusVisible,containerProps:{...h.containerProps,onSwitchWrappedItemIntoView:F},navigationProps:U,onClickAddTab:re,tabProps:Y,...O}};var nc=require("react/jsx-runtime"),kO=require("react"),rS="vuuTabstrip",iS=({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:b,tabClassName:x,...v})=>{let w=(0,tc.useRef)(null),{activeTabIndex:C,focusVisible:S,containerStyle:E,draggedItemIndex:T,onClickAddTab:M,tabProps:O,...I}=TO({activeTabIndex:t,allowDragDrop:o,animateSelectionThumb:i,containerRef:w,keyBoardActivation:u,onActiveChange:d,onAddTab:f,onCloseTab:p,onExitEditMode:g,onMoveTab:y,orientation:m}),P=Ie(a),A=(0,Yg.default)(rS,`${rS}-${m}`,l),N=b||E?{...b,...E}:void 0,R=(0,tc.useMemo)(()=>Ws(s).map((H,k)=>{let{id:L=`${P}-tab-${k}`,className:D,closeable:B=n,editable:F=r,location:U,showMenuButton:re=h}=H.props,Y=k===C;return tc.default.cloneElement(H,{...O,...I.navigationProps,className:(0,Yg.default)(D,x),closeable:B,"data-overflow-priority":Y?"1":void 0,dragging:T===k,editable:F,focusVisible:S===k,id:L,index:k,key:k,location:(0,Yg.default)(c,U),selected:Y,showMenuButton:re,tabIndex:Y?0:-1})}).concat(e?(0,kO.createElement)(jt,{...I.navigationProps,"aria-label":"Create Tab",className:`${rS}-addTabButton`,"data-icon":"add","data-overflow-priority":"1",key:"addButton",onClick:M,variant:"secondary",tabIndex:-1}):[]),[s,e,I.navigationProps,M,P,n,r,h,C,O,x,T,S,c]);return(0,nc.jsxs)(nc.Fragment,{children:[(0,nc.jsx)(Kd,{...v,...I.containerProps,className:A,height:29,id:P,orientation:m,overflowIcon:"more-horiz",ref:w,style:N,children:R}),I.draggable]})};var LO=V(j()),_l=require("react");var MO=require("react"),IO=V(j());var DO=require("react/jsx-runtime"),T_="vuuTabMenu",PO=({allowClose:t,allowRename:e,controlledComponentId:n,controlledComponentTitle:o,location:r,onMenuAction:i,onMenuClose:s,index:l})=>{let[a,u]=(0,MO.useMemo)(()=>[(c,d)=>{let f=[];return e&&f.push(hO(d)),t&&f.push(mO(d)),f},{controlledComponentId:n,controlledComponentTitle:o,tabIndex:l}],[t,e,n,l]);return(0,DO.jsx)(Sd,{className:T_,menuBuilder:a,menuActionHandler:i,menuLocation:(0,IO.default)("tab",r),menuOptions:u,onMenuClose:s,tabIndex:-1})};var $l=require("react/jsx-runtime"),zl="vuuTab",RO=()=>{},sS=(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=RO,onExitEditMode:y=RO,onFocus:m,onKeyUp:h,onMenuAction:b,onMenuClose:x,orientation:v,selected:w,showMenuButton:C=r||s||!!d,tabIndex:S,...E},T){if(C&&typeof b!="function")throw Error("Tab onMenuAction must be provided if showMenuButton is set");let M=(0,_l.useRef)(null),O=(0,_l.useRef)(null),I=Le(T,M),P=(0,_l.useCallback)(k=>{l||(k.preventDefault(),f==null||f(k,u))},[l,u,f]),A=(k="",L="",D=!0)=>y(k,L,D,u),N=k=>{switch(k.key){case"Backspace":case"Delete":r&&(k.stopPropagation(),p&&p(u));break;default:h&&h(k,u)}},R=()=>s?(0,$l.jsx)(_d,{editing:l,defaultValue:c,onEnterEditMode:g,onExitEditMode:A,ref:O},c):c,H=k=>{if(O.current){let D=O.current.querySelector(".vuuEditableLabel-input");D==null||D.focus()}m==null||m(k)};return(0,$l.jsxs)("div",{...E,"aria-controls":e,"aria-selected":w,className:(0,LO.default)(zl,o,{[`${zl}-closeable`]:r,"vuuDraggable-dragAway":i,[`${zl}-editing`]:l,[`${zl}-selected`]:w||void 0,[`${zl}-vertical`]:v==="vertical",vuuFocusVisible:a}),onClick:P,onFocus:H,onKeyUp:N,ref:I,role:"tab",tabIndex:S,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)(PO,{allowClose:r,allowRename:s,controlledComponentId:e,controlledComponentTitle:c,location:d,onMenuAction:b,onMenuClose:x,index:u}):null]})});var oy=V(j()),ry=require("react");function k_(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 lS=t=>t.closest("[data-idx],[aria-posinset]");var AO=t=>k_(lS(t));var oc=require("react"),M_=new Set(["/","-","."]),I_=t=>M_.has(t),NO=(t,e)=>e.startsWith(t)&&I_(e[t.length]),OO=(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,oc.useCallback)(f=>Array.isArray(r)?r.some(p=>NO(f,p)):o,[o,r]),l=(0,oc.useCallback)((f,p,g=1,y="",m=[],h=[])=>{let b=0;return f.forEach((x,v,w)=>{var A;let C=x.header&&n,S=x.childNodes&&n===!1,E=!x.childNodes||x.childNodes.length===0,T=S||E&&!C,M=y?`${y}.${v}`:`${v}`,O=(A=x.id)!=null?A:`${e}-${M}`,I=T?void 0:s(O),P={...x,childNodes:void 0,id:O,count:!S&&I===void 0?0:i(x,w,v),expanded:I,index:p.index,level:g};if(m.push(P),h.push(f[v]),b+=1,p.index+=1,x.childNodes){let[N,R]=l(x.childNodes,p,g+1,M,[],h);P.childNodes=R,(I===!0||S)&&(b+=N)}}),[b,m,h]},[n,e,s]),[a,u,c]=(0,oc.useMemo)(()=>l(t,{index:0}),[l,t]),d=(0,oc.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)&&NO(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 Cs=require("react");var HO="single",P_="checkbox",D_="multi",R_="extended",L_=["Enter"," "],FO={},A_=t=>t.expanded!==void 0,BO=t=>t&&t!=="none",VO=({defaultSelected:t,highlightedIdx:e,treeNodes:n,onChange:o,selected:r,selection:i=HO,selectionKeys:s=L_})=>{let l=i===HO,a=i===D_||i.startsWith(P_),u=i===R_,c=(0,Cs.useRef)(-1),d=(0,Cs.useCallback)(v=>s.includes(v.key),[s]),[f,p]=Me({controlled:r,default:t!=null?t:[],name:"selected"}),g=(0,Cs.useCallback)((v,w,C,S,E=!1)=>{let{current:T}=c,M=f==null?void 0:f.includes(C),I=l||u&&!E&&(!S||T===-1),P=a||u&&E&&!S,A=[];if(I&&M)A=[];else if(I)A=[C];else if(P&&M)A=f.filter(N=>N!==C);else if(P)A=f.concat(C);else if(u){let[N,R]=w>T?[T,w]:[w,T];A=f.slice();for(let H=N;H<=R;H++){let{id:k}=n[H];f.includes(k)||A.push(k)}}p(A),o&&o(v,A)},[u,n,a,o,f,p,l]),y=(0,Cs.useCallback)(v=>{if(~e&&d(v)){v.preventDefault();let w=n[e];g(v,e,w.id,!1,v.ctrlKey||v.metaKey),u&&(c.current=e)}},[u,e,n,d,g]),m=(0,Cs.useCallback)((v,w)=>{if(u&&v.shiftKey){let C=n[w];g(v,w,C.id,!0)}},[u,n,g]),h=i==="none"?FO:{onKeyDown:y,onKeyboardNavigation:m},b=(0,Cs.useCallback)(v=>{if(e!==-1){let w=n[e];A_(w)||(v.preventDefault(),v.stopPropagation(),g(v,e,w.id,v.shiftKey,v.ctrlKey||v.metaKey),u&&(c.current=e))}},[u,e,n,g]);return{listHandlers:h,listItemHandlers:i==="none"?FO:{onClick:b},selected:f,setSelected:p}};var Fn=require("react");var N_=["height","scrollHeight"],zO=(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 Gr(t,N_,u,!0),r};var Lf=require("react");var Do=require("react");var $O=({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)},_O=t=>t.childNodes!==void 0;var aS=t=>t.header===!0,O_=new Set([".","/"]),WO=(t,e)=>e.startsWith(t.id)?O_.has(e.charAt(t.id.length)):!1,Wl=(t,e)=>{for(let n of t){if(n.id===e)return n;if(WO(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}:WO(i,e)?(o=ey(i.childNodes,e,n),{...i,childNodes:o}):i)};function H_(t,...e){let n=new Set(t);for(let o of e)for(let r of o)n.add(r);return n}var uS="ArrowUp",KO="ArrowDown",rc="ArrowLeft";var UO="ArrowRight",ty="Enter";var F_="Delete",B_=new Set([ty,F_]),V_=new Set(["Tab"]),z_=new Set(["ArrowRight","ArrowLeft"]),GO=new Set(["Home","End","ArrowDown","ArrowUp"]),jO=new Set(["Home","End","ArrowRight","ArrowLeft"]),$_=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),q0e=H_(B_,jO,GO,z_,$_,V_);var qO=({key:t},e="vertical")=>(e==="vertical"?GO:jO).has(t);function QO(t,e,n){return e===uS||e===rc?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var __=t=>!t.header&&!t.childNodes,W_=t=>__(t)||t.expanded!==void 0,JO=({defaultHighlightedIdx:t=-1,highlightedIdx:e,treeNodes:n,onHighlight:o,onKeyboardNavigation:r,selected:i=[]})=>{let{bwd:s,fwd:l}=(0,Do.useMemo)(()=>({bwd:uS,fwd:KO}),[]),[a,u,c]=Me({controlled:e,default:t,name:"highlightedIdx"}),d=(0,Do.useCallback)(v=>{o==null||o(v),u(v)},[o,u]),f=(0,Do.useCallback)((v=l,w=v===l?-1:n.length)=>{let C=QO(n.length,v,w);for(;C!==-1&&(v===l&&C<n.length||v===s&&C>0)&&!W_(n[C]);)C=QO(n.length,v,C);return C},[s,l,n]),p=(0,Do.useRef)(!0),g=(0,Do.useRef)(!1),y=v=>g.current=v,m=(0,Do.useCallback)(()=>{if(g.current)g.current=!1;else if(i.length>0){let v=Wl(n,i[0]);if(v){let w=Zg(n,v);d(w)}}else d(f())},[n,f,i,d]),h=(0,Do.useCallback)(v=>{let w=f(v.key,a);w!==a&&(d(w),r==null||r(v,w))},[a,f,r,d]),b=(0,Do.useCallback)(v=>{n.length>0&&qO(v,"vertical")&&(v.preventDefault(),v.stopPropagation(),p.current=!0,h(v))},[n,h]),x=(0,Do.useMemo)(()=>({onBlur:()=>{d(-1)},onFocus:m,onKeyDown:b,onMouseDownCapture:()=>{p.current=!1,y(!0)},onMouseMove:()=>{p.current&&(p.current=!1)},onMouseLeave:()=>{p.current=!0,y(!1),d(-1)}}),[m,b,d]);return{focusVisible:p.current?a:-1,controlledHighlighting:c,highlightedIdx:a,hiliteItemAtIndex:d,keyBoardNavigation:p,listProps:x,setIgnoreFocus:y}};var ic=require("react");var ny=(t,e=[],n={value:0})=>{let o=!1;for(let r of t)o&&!aS(r)||(e[n.value]=r,n.value+=1,o=!1,aS(r)&&r.expanded===!1?o=!0:_O(r)&&cS(r)&&ny(r.childNodes,e,n));return e},XO=t=>{let e=(0,ic.useRef)(t),n=(0,ic.useRef)(t),o=(0,ic.useRef)(ny(t)),[,r]=(0,ic.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 fi=require("react");var K_={},U_=t=>t&&t.hasAttribute("aria-expanded"),YO=({collapsibleHeaders:t,highlightedIdx:e,treeNodes:n,setVisibleData:o,source:r})=>{let i=(0,fi.useRef)(r),s=(0,fi.useRef)(i.current),l=(0,fi.useCallback)(g=>{o(s.current=g)},[o]),a=(0,fi.useCallback)((g,{id:y})=>ey(g,y,{expanded:!0}),[]),u=(0,fi.useCallback)((g,{id:y})=>ey(g,y,{expanded:!1}),[]),c=(0,fi.useCallback)(g=>{if(g.key===UO||g.key===ty){let y=n[e];y&&y.expanded===!1&&(g.preventDefault(),l(a(s.current,y)))}if(g.key===rc||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}:K_,p={onClick:(0,fi.useCallback)(g=>{let y=lS(g.target);if(U_(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 ZO=require("react");var eH=({highlightedIdx:t,hiliteItemAtIndex:e,indexPositions:n,source:o})=>({listHandlers:{onKeyDown:(0,ZO.useCallback)(s=>{if(s.key===rc){let l=n[t],a=$O(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 G_=[],tH=({defaultSelected:t,sourceWithIds:e,onChange:n,onHighlight:o,selected:r,selection:i})=>{let s=(0,Lf.useRef)(G_),l=XO(e),a=(x,v)=>{var w,C;(C=(w=f.listHandlers).onKeyboardNavigation)==null||C.call(w,x,v)},{highlightedIdx:u,...c}=JO({treeNodes:l.indexPositions,onHighlight:o,onKeyboardNavigation:a,selected:s.current}),d=YO({collapsibleHeaders:!0,highlightedIdx:u,treeNodes:l.indexPositions,setVisibleData:l.setData,source:l.data}),f=VO({defaultSelected:t,highlightedIdx:u,treeNodes:l.indexPositions,onChange:n,selected:r,selection:i}),p=eH({source:l.data,highlightedIdx:u,hiliteItemAtIndex:c.hiliteItemAtIndex,indexPositions:l.indexPositions}),g=(0,Lf.useCallback)(x=>{var v,w,C;(v=d.listItemHandlers)==null||v.onClick(x),x.defaultPrevented||(C=(w=f.listItemHandlers)==null?void 0:w.onClick)==null||C.call(w,x)},[d,f]),y=(0,Lf.useCallback)(x=>{var v,w,C,S,E,T,M,O;(w=(v=c.listProps).onKeyDown)==null||w.call(v,x),x.defaultPrevented||(S=(C=f.listHandlers).onKeyDown)==null||S.call(C,x),x.defaultPrevented||(T=(E=d.listHandlers).onKeyDown)==null||T.call(E,x),x.defaultPrevented||(O=(M=p.listHandlers).onKeyDown)==null||O.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},b={onClick:g};return{focusVisible:c.focusVisible,highlightedIdx:u,hiliteItemAtIndex:c.hiliteItemAtIndex,listProps:h,listItemHandlers:b,selected:f.selected,visibleData:l.data}};var to=require("react/jsx-runtime"),oH=require("react"),ws="vuuTree",cS=t=>t.expanded===!0,nH=({children:t,idx:e,...n})=>(0,to.jsx)("li",{...n,children:t}),j_=(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=Br(i),y=(0,ry.useRef)(null),[,m,h]=OO(d,g,{revealSelected:a?(R=u!=null?u:o)!=null?R:!1:void 0}),b=(H,k)=>{if(l){let L=k.map(D=>h(D)).filter(D=>D!==void 0);l(L)}},{focusVisible:x,highlightedIdx:v,hiliteItemAtIndex:w,listProps:C,listItemHandlers:S,selected:E,visibleData:T}=tH({defaultSelected:o,groupSelection:r,onChange:b,onHighlight:s,selected:u,selection:c,sourceWithIds:m});zO(y,v);let O={...{onMouseEnter:H=>{let k=H.target,L=AO(k);w(L)}},...S,role:"treeitem"},I=BO(r);function P(H,k,L){H.push((0,to.jsxs)(nH,{...O,...q_(k,L,v,E,x),children:[k.icon?(0,to.jsx)("span",{className:`${ws}Node-icon`,"data-icon":k.icon}):null,(0,to.jsx)("span",{children:k.label})]})),L.value+=1}function A(H,k,L,D,B){let{value:F}=L;L.value+=1,H.push((0,oH.createElement)(nH,{...S,"aria-expanded":k.expanded,"aria-level":k.level,"aria-selected":E.includes(D)||void 0,className:(0,oy.default)(`${ws}Node`,{focusVisible:x===F,[`${ws}Node-toggle`]:!I}),"data-idx":F,"data-highlighted":F===v||void 0,"data-selectable":!0,id:D,key:`header-${F}`},I?(0,to.jsxs)("div",{className:`${ws}Node-label`,children:[(0,to.jsx)("span",{className:`${ws}Node-toggle`}),B]}):(0,to.jsxs)("div",{className:`${ws}Node-label`,children:[k.icon?(0,to.jsx)("span",{className:`${ws}Node-icon`,"data-icon":k.icon}):null,(0,to.jsx)("span",{children:B})]}),(0,to.jsx)("ul",{role:"group",children:cS(k)?N(k.childNodes,L):""})))}function N(H,k={value:0}){if((H==null?void 0:H.length)>0){let L=[];for(let D of H)D.childNodes?A(L,D,k,D.id,D.label):P(L,D,k);return L}}return(0,to.jsx)("ul",{...f,...C,className:(0,oy.default)(ws,n),id:`Tree-${g}`,ref:Le(y,p),role:"tree",tabIndex:0,children:N(T)})}),q_=(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})});j_.displayName="Tree";var rH=require("@vuu-ui/vuu-utils");var iH=V(j()),sc=require("react");var Ss=require("react/jsx-runtime"),dS="vuuInput",J_={autoComplete:"off"},ph=(0,sc.forwardRef)(function({className:e,errorMessage:n,id:o,onCommit:r,onKeyDown:i,type:s,...l},a){let u=Ie(o),{anchorProps:c,tooltipProps:d}=BM({id:u,tooltipContent:n}),f=(0,sc.useCallback)((m,h)=>{if(s==="number"){let b=parseFloat(h);if((0,rH.isValidNumber)(b))r(m,b);else throw Error("Invalid value")}else s==="boolean"?r(m,!!h):r(m,h)},[r,s]),p=(0,sc.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,sc.useCallback)(m=>{let{value:h}=m.target;f(m,h)},[f]),y=n?(0,Ss.jsx)("span",{...c,className:`${dS}-errorIcon`,"data-icon":"error"}):void 0;return(0,Ss.jsxs)(Ss.Fragment,{children:[(0,Ss.jsx)(Un,{...l,endAdornment:y,id:u,inputProps:{...J_,...l.inputProps},className:(0,iH.default)(dS,e,{[`${dS}-errror`]:n}),onBlur:g,ref:a,onKeyDown:p}),d?(0,Ss.jsx)(FM,{...d,status:"error"}):null]})});var ly=V(j()),Ts=require("react");var Es=require("react");var iy=(t,e,n,o)=>{var m;let{loadSessionState:r,purgeSessionState:i,purgeState:s,saveSessionState:l}=Ba(),[a,u]=(0,Es.useState)((m=r(t,"contributions"))!=null?m:[]),c=Mn(),d=(0,Es.useCallback)((h,b)=>{let x=a.concat([{location:h,content:b}]);l(t,"contributions",x),u(x)},[a,t,l]),f=(0,Es.useCallback)(()=>{i(t,"contributions"),u([])},[t,i]),p=(0,Es.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,Es.useCallback)(async(h,b,x)=>{var w;h.stopPropagation();let v=(w=e.current)==null?void 0:w.getBoundingClientRect();return new Promise((C,S)=>{c({type:"drag-start",evt:h,path:b===void 0?n:`${n}.${b}`,dragRect:v,preDragActivity:x,dropTargets:o,resolveDragStart:C,rejectDragStart:S})})},[e,c,n,o]);return[(0,Es.useCallback)(async(h,b)=>{var v;let{type:x}=h;switch(x){case"maximize":case"minimize":case"restore":return c({type:x,path:(v=h.path)!=null?v:n});case"remove":return p();case"mousedown":return g(b,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 uH=V(j()),bn=V(require("react"));var Jo=require("react");var sH=({id:t,rootRef:e,path:n,dropTargets:o,title:r})=>{let i=Mn(),{loadState:s,loadSessionState:l,purgeState:a,saveState:u,saveSessionState:c}=Ba(),[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]),b=(0,Jo.useCallback)((C,S)=>{u(t,S,C),i({type:"save"})},[t,i,u]),x=(0,Jo.useCallback)(C=>l(t,C),[t,l]),v=(0,Jo.useCallback)((C,S)=>c(t,S,C),[t,c]),w=(0,Jo.useCallback)(({type:C,...S})=>{let{[C]:E}=S;b(E,C)},[b]);return{contributions:f,dispatchViewAction:d,load:m,loadSession:x,onConfigChange:w,onEditTitle:g,purge:h,restoredState:y,save:b,saveSession:v,title:p}};var lc=require("react"),X_=[],lH=({mainRef:t,resize:e="responsive",rootRef:n})=>{let o=e==="defer",r=(0,lc.useRef)({}),i=(0,lc.useRef)(),s=(0,lc.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,lc.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?kI:X_,l,o)};var Af=V(require("react")),Y_={dispatch:null},sy=Af.default.createContext(Y_),aH=()=>{var e;let t=(0,Af.useContext)(sy);return(e=t==null?void 0:t.dispatch)!=null?e:null},Om=()=>(0,Af.useContext)(sy);var ac=require("react/jsx-runtime"),Nf="vuuView",Z_=(t,e)=>t&&e?{...t,...e}:t||e,cH=(0,bn.forwardRef)(function(e,n){let{Header:o=dH,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:b=u,tearOut:x,style:v={},title:w,...C}=e,S=Br(p),E=(0,bn.useRef)(null),T=(0,bn.useRef)(null),[M,O]=(0,bn.useState)(),{contributions:I,dispatchViewAction:P,load:A,loadSession:N,onConfigChange:R,onEditTitle:H,purge:k,restoredState:L,save:D,saveSession:B,title:F}=sH({id:S,rootRef:E,path:m,dropTargets:c,title:w});lH({mainRef:T,resize:h,rootRef:E});let U=(0,bn.useCallback)(J=>{O(J)},[]),re=()=>bn.default.isValidElement(r)&&(L||M)?bn.default.cloneElement(r,Z_(L,M)):r,Y=(0,bn.useMemo)(()=>({dispatch:P,id:S,path:m,title:F,load:A,loadSession:N,onConfigChange:R,purge:k,save:D,saveSession:B,setComponentProps:U}),[P,S,A,N,R,m,k,D,B,U,F]),_=typeof g=="object"?g:{};return(0,ac.jsx)("div",{...C,className:(0,uH.default)(Nf,i,{[`${Nf}-collapsed`]:s,[`${Nf}-expanded`]:d,[`${Nf}-resize-defer`]:h==="defer"}),"data-resizeable":b,id:S,ref:Le(n,E),style:v,tabIndex:-1,children:(0,ac.jsxs)(sy.Provider,{value:Y,children:[g?(0,ac.jsx)(o,{..._,collapsed:s,contributions:I,expanded:d,closeable:l,onEditTitle:H,orientation:y,tearOut:x,title:F}):null,(0,ac.jsx)("div",{className:`${Nf}-main`,ref:T,children:re()})]})})});cH.displayName="View";var Ui=bn.default.memo(cH);Ui.displayName="View";et("View",Ui,"view");var uc=require("react/jsx-runtime"),fS="vuuHeader",dH=({className:t,contributions:e,collapsed:n,closeable:o,onEditTitle:r,orientation:i="horizontal",style:s,title:l="Untitled"})=>{let a=(0,Ts.useRef)(null),[u,c]=(0,Ts.useState)(l),[d,f]=(0,Ts.useState)(!1),p=aH(),g=M=>p==null?void 0:p({type:"remove"},M),y=()=>{var M;(M=a.current)==null||M.focus()},m=M=>{M.stopPropagation()},b=(0,ly.default)(fS,t,`${fS}-${n||i}`),x=()=>{f(!0)},v=M=>{M.key==="Enter"&&f(!0)},w=(M="",O="",I=!0,P=!1)=>{var A;f(!1),P?c(M):O!==M&&(c(O),r==null||r(O)),I===!1&&((A=a.current)==null||A.focus())},C=M=>{p==null||p({type:"mousedown"},M)},S=[],E=[],T=[];return e==null||e.forEach((M,O)=>{switch(M.location){case"pre-title":S.push((0,Ts.cloneElement)(M.content,{key:O}));break;default:E.push((0,Ts.cloneElement)(M.content,{key:O}))}}),l&&S.push((0,uc.jsx)(_d,{className:`${fS}-title`,editing:d,value:u,onChange:c,onMouseDownCapture:y,onEnterEditMode:x,onExitEditMode:w,onKeyDown:v,ref:a,tabIndex:0},"title")),o&&T.push((0,uc.jsx)(jt,{"data-icon":"close",onClick:g,onMouseDown:m,variant:"secondary"},"close")),E.length>0&&S.push((0,uc.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:E},"contributions")),T.length>0&&S.push((0,uc.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:T},"actions")),(0,uc.jsx)("div",{className:(0,ly.default)("vuuToolbarProxy",b),style:s,onMouseDown:C,children:S})};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 fW=V(j(),1),pW=require("react");var fH=require("react");var pS=require("react/jsx-runtime");var mH=require("@vuu-ui/vuu-utils");var mS=V(j(),1),no=require("react");var hS=require("react/jsx-runtime"),pH="vuuExpandoCombobox",eW={},Of=(0,no.forwardRef)(function({className:e,InputProps:n=eW,ListProps:o,onInputChange:r,onSelectionChange:i,selectionStrategy:s,style:l,value:a="",...u},c){var C;let[d,f]=(0,no.useState)(a),{itemToString:p=mH.itemToString}=u,g=(0,no.useRef)(a),y=(0,no.useCallback)(S=>{let[E,...T]=S;return T.length?`${p(E)} + ${T.length}`:p(E)},[p]),m=(0,no.useCallback)(S=>{let{value:E}=S.target;console.log(`onInputChange ${E}`),f(E),r==null||r(S)},[r]),h=(0,no.useCallback)(S=>{f(S)},[]),[b,x]=(0,no.useMemo)(()=>{let{inputProps:S,...E}=n;return[{...E,className:`${pH}-Input`,endAdornment:null,inputProps:{...S,autoComplete:"off",onInput:m}},{...o,className:(0,mS.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]),v=(0,no.useCallback)((S,E)=>{Array.isArray(E)?i==null||i(null,E):E&&(f(p(E)),i==null||i(null,E))},[p,i]),w={minWidth:"fit-content"};return((C=u.source)==null?void 0:C.length)===0?null:(0,hS.jsx)("div",{className:(0,mS.default)(pH,e),"data-text":d,ref:c,style:l,children:(0,hS.jsx)(i0,{...u,PopupProps:w,defaultValue:g.current,fullWidth:!0,ListProps:x,InputProps:b,itemsToString:y,onSelectionChange:v,onSetSelectedText:h,selectionStrategy:s})})});var rW=V(j(),1),iW=require("react");var Kl=require("react");var uy=require("@vuu-ui/vuu-utils"),hH=require("react/jsx-runtime"),tW=(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,hH.jsx)(fh,{...e,className:n,value:l,ref:s,onChange:u,onKeyDown:c})});var gH=require("@vuu-ui/vuu-utils");var vn=require("react");var Hf=require("react/jsx-runtime"),nW=(0,vn.forwardRef)(function({InputProps:e={},className:n,column:o,onInputComplete:r,operator:i,suggestionProvider:s=Tf,table:l,value:a},u){let[c,d]=(0,vn.useState)(a!=null?a:""),[f,p]=(0,vn.useState)([]),g=s(),y=(0,vn.useCallback)((v,w)=>r(w),[r]),m=(0,vn.useCallback)((v,w)=>{w.length===1?r(w[0]):w.length>1&&r(w)},[r]);(0,vn.useEffect)(()=>{},[o]),(0,vn.useEffect)(()=>{if(l){let v=c?[l,o.name,c]:[l,o.name];g(v).then(w=>{p(w)}).catch(w=>{console.error("Error getting suggestions",w)})}},[l,o,c,g]);let h=(0,vn.useCallback)(v=>{let{value:w}=v.target;d(w)},[]),b=(0,vn.useMemo)(()=>{if(i==="starts"||i==="ends"){let{inputProps:v,...w}=e;return{...w,inputProps:{...v,onKeyDown:C=>{var S;C.key==="Enter"&&c!==""?(C.stopPropagation(),C.preventDefault(),r(c)):(S=v==null?void 0:v.onKeyDown)==null||S.call(v,C)}}}}else return e},[e,r,i,c]);return(0,vn.useCallback)(()=>{switch(i){case"in":return(0,Hf.jsx)(Of,{InputProps:b,className:n,initialHighlightedIndex:0,source:f,onInputChange:h,onSelectionChange:m,ref:u,selectionStrategy:"multiple",value:a});case"starts":return(0,Hf.jsx)(Of,{InputProps:b,ListProps:{className:"vuuIllustrationsOnly",disabled:!0},allowFreeText:!0,className:n,initialHighlightedIndex:0,source:f,onInputChange:h,onSelectionChange:y,ref:u,value:a});case"ends":return(0,Hf.jsx)(fh,{...b,className:n,value:c,ref:u,onChange:h});default:return(0,Hf.jsx)(Of,{InputProps:b,className:n,initialHighlightedIndex:0,source:f,title:"value",onInputChange:h,onSelectionChange:y,ref:u,value:a})}},[i,b,n,f,h,m,u,a,y,c])()});var gS=require("@vuu-ui/vuu-utils"),oW=require("@vuu-ui/vuu-data"),Ff=require("react");var yH=require("react/jsx-runtime");var bH=require("@vuu-ui/vuu-utils"),cW=V(j(),1),vH=require("react");var sW=require("react"),lW=V(j(),1);var aW=require("react/jsx-runtime");var pi=require("@vuu-ui/vuu-utils");var xH=require("react/jsx-runtime");var CH=require("@vuu-ui/vuu-utils"),Bf=require("react");var dW=require("react");var wH=require("react/jsx-runtime"),mW=require("react");var xW=require("@vuu-ui/vuu-filter-parser"),CW=V(j(),1),yS=require("react");var SH=require("@vuu-ui/vuu-filter-parser"),LEe=Er.define({name:"VuuFilterQuery",parser:SH.parser.configure({props:[Il({Identifier:K.variableName,String:K.string,Or:K.emphasis,Operator:K.operator})]})});var gW=Go.define([{tag:K.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:K.comment,color:"green",fontStyle:"italic"}]),yW=Dl(gW);var bW=se.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 vW=require("react");var EH=require("react/jsx-runtime");var TH=require("react");var wW=require("@vuu-ui/vuu-utils");var cy=t=>{let e=localStorage.getItem(t);return e?JSON.parse(e):void 0};var dy=(t,e)=>{try{return localStorage.setItem(t,JSON.stringify(e)),e}catch{return}};var fy=require("@vuu-ui/vuu-utils");var kH="layouts/metadata",MH="layouts/layouts",cc,bS=class{constructor(e){_n(this,cc,"api/vui");e&&Xo(this,cc,e)}createLayout(e,n){return new Promise(o=>{Promise.all([this.loadLayouts(),this.loadMetadata()]).then(([r,i])=>{let s=(0,fy.getUniqueId)(),l={...e,id:s,created:(0,fy.formatDate)(new Date,"dd.mm.yyyy")};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=cy(kH);e(n||[])})}loadApplicationJSON(){return new Promise(e=>{let n=cy(ne(this,cc));e(n||ay)})}saveApplicationJSON(e){return new Promise((n,o)=>{dy(ne(this,cc),e)?n():o(new Error("Application Json failed to save"))})}loadLayouts(){return new Promise(e=>{let n=cy(MH);e(n||[])})}saveLayoutsWithMetadata(e,n){dy(MH,e),dy(kH,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}`))}})})}};cc=new WeakMap;var IH=require("react"),SW=require("react/jsx-runtime");var NH=require("react");var mi=require("@vuu-ui/vuu-utils"),Dr=require("react");var Gl=require("react");var Ul=new Map,RH=(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}},DH=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=RH(n,{height:s,width:l,contentHeight:a,contentWidth:u},p);y!==g&&(f=!0,d[p]=y)}f&&c&&c(d)}}});function LH(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]=RH(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,DH.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)&&(DH.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 EW=["clientHeight","clientWidth"],TW=["clientWidth"],kW=["clientHeight"],MW=[],py=t=>Number.isFinite(t),IW={height:"100%",width:"auto"},PW=(t,e)=>(0,mi.isValidNumber)(t)&&(0,mi.isValidNumber)(e)?{height:`${t}px`,width:`${e}px`}:typeof t=="string"||typeof e=="string"?{height:t!=null?t:"100%",width:e!=null?e:"auto"}:IW,DW=(t,e)=>{if((0,mi.isValidNumber)(t)&&(0,mi.isValidNumber)(e))return{height:t,width:e}},AH=({defaultHeight:t=0,defaultWidth:e=0,height:n,onResize:o,width:r})=>{let i=(0,Dr.useRef)(null),[s,l]=(0,Dr.useState)({css:PW(n,r),inner:DW(n,r),outer:{height:n!=null?n:"100%",width:r!=null?r:"auto"}}),a=typeof n=="number",u=typeof r=="number",c=a&&u?MW:a?TW:u?kW:EW;(0,Dr.useMemo)(()=>{l(f=>{let{inner:p,outer:g}=f;if((0,mi.isValidNumber)(n)&&(0,mi.isValidNumber)(r)&&p&&g){let{height:y,width:m}=p,{height:h,width:b}=g;if(h!==n||b!==r){let x=(0,mi.isValidNumber)(h)?h-y:0,v=(0,mi.isValidNumber)(b)?b-m:0;return{...f,outer:{height:n,width:r},inner:{height:n-x,width:r-v}}}}return f})},[n,r]);let d=(0,Dr.useCallback)(({clientWidth:f,clientHeight:p})=>{let{css:g,inner:y,outer:m}=s,h=s;a&&py(f)&&Math.floor(f)!==(y==null?void 0:y.width)?h={css:g,outer:m,inner:{width:Math.floor(f)||e,height:n}}:u&&py(p)&&Math.floor(p)!==(y==null?void 0:y.height)?h={css:g,outer:m,inner:{height:Math.floor(p)||t,width:r}}:py(p)&&py(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]),LH(i,c,d,!0),{containerRef:i,cssSize:s.css,outerSize:s.outer,innerSize:s.inner}};var xS=V(j());var CS=require("react/jsx-runtime"),vS="vuuMeasuredContainer",sh=(0,NH.forwardRef)(function({children:e,className:n,height:o,onResize:r,style:i,width:s,...l},a){let{containerRef:u,...c}=AH({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=Le(u,a);return p?(0,CS.jsx)("div",{...l,className:(0,xS.default)(vS,`${vS}-ummeasured`),style:g(),ref:u}):(0,CS.jsx)("div",{...l,className:(0,xS.default)(vS,n),ref:y,style:g(),children:e})});var zf=V(j()),gy=V(require("react"));var hy=require("@vuu-ui/vuu-utils"),Bn=require("react");var wS=require("@vuu-ui/vuu-utils"),RW=".vuuOverflowContainer-item:not(.wrapped)",QP=t=>t!==null&&t.dataset.index==="overflow"&&t.parentElement!==null&&t.parentElement.classList.contains("vuuOverflowContainer-wrapContainer-overflowed"),LW=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}),SS=[],Vf=(t,e="horizontal")=>{let n=[],o=[],r=-1,i=!1,s=LW(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]},OH=(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")}},AW=(t,{overflowPriority:e})=>Math.max(t,parseInt(e)),NW=(t,{overflowPriority:e})=>Math.min(t,parseInt(e)),HH=t=>{var e;return t.length>1&&((e=t.at(-1))==null?void 0:e.index)==="overflow"},OW=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},FH=(t,e)=>{var r;let n=t.reduce(NW,Number.MAX_SAFE_INTEGER);return e.reduce(AW,0)>n?!0:e.length>1&&((r=e.at(-1))==null?void 0:r.index)==="overflow"},BH=(t,e)=>new Promise(n=>{requestAnimationFrame(()=>{let[,o]=Vf(t);BW(e,o).forEach(i=>HW(t,i)),n(o)})}),VH=(t,e,n)=>new Promise(o=>{requestAnimationFrame(()=>{let[,r]=Vf(t),i=OW(r);if(i){let[s,l]=ES(t,i);o([s,l])}else o([e,n])})}),HW=(t,e)=>{let n=(0,wS.getElementByDataIndex)(t,e.index);if(n)n.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${e.index} not found`)},FW=t=>Array.from(t.querySelectorAll(".wrapped")),BW=(t,e)=>{let n=[];for(let o of e)t.find(({index:r})=>r===o.index)||n.push(o);return n},VW=(t,e)=>{FW(t).forEach(o=>{let{dataset:{index:r="?"}}=o;e.find(i=>i.index===r)||o.classList.remove("wrapped")})},zH=t=>t.querySelector('[data-index="overflow"]'),zW=t=>t.querySelector(".wrapped"),my=t=>parseInt(getComputedStyle(t).getPropertyValue("width")),$H=(t,e)=>{let{right:n}=t.getBoundingClientRect(),o=parseInt(getComputedStyle(t).getPropertyValue("padding-right")),{right:r}=e.getBoundingClientRect();return n-o-r},_H=t=>{let e=zH(t),n=$H(t,e),o=my(e),r=zW(t);return my(r)<=n+o?(t.classList.remove("overflowed"),r.classList.remove("wrapped"),!0):!1},$W=(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)},_W=t=>Array.from(t.querySelectorAll(RW)).sort($W),ES=(t,e)=>{let n=_W(t),o=(0,wS.getElementByDataIndex)(t,e.index,!0),r=-1,i=n.at(r),s=my(i),l=my(o),a=zH(t),u=$H(t,a)+s;if(u>=l)WW(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 VW(t,d),[c,d]},WW=(t,e)=>{if(!t||!e)throw Error("switchWrapOnElements, element undefined");t.classList.remove("wrapped"),e.classList.add("wrapped")};var WH=({allowDragDrop:t=!1,itemCount:e,onMoveItem:n,onSwitchWrappedItemIntoView:o,orientation:r="horizontal"})=>{let[i,s]=(0,Bn.useState)(null),l=(0,Bn.useRef)(SS),a=(0,Bn.useRef)(null),u=(0,Bn.useCallback)(x=>{var v;a.current&&((v=a.current.querySelector(".vuuOverflowContainer-OverflowIndicator button"))==null||v.setAttribute("tabindex",x))},[]),c=(0,Bn.useCallback)(async()=>{if(i){let[x,v]=Vf(i,r);for(OH(i,v,"vuuOverflowContainer-wrapContainer"),HH(v)&&(v=await BH(i,v));FH(x,v);)[x,v]=await VH(i,x,v);v.length===1&&_H(i)&&(v=SS),l.current.length===0&&v.length>0?u("0"):l.current.length>0&&v.length===0&&u("-1"),l.current=v}},[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(v=>({label:v.label,action:`activate-item-${v.index}`,options:{overflowItem:v}}))},({options:x})=>{if(i&&d(x)){let[,v]=ES(i,x.overflowItem);l.current=v,o==null||o(x.overflowItem)}return!0}],[i,o]),g=(0,Bn.useMemo)(()=>{let{sizeProp:x}=hy.MEASURES[r],v=0;return new ResizeObserver(w=>{for(let C of w){let{[x]:S}=C.contentRect,E=Math.round(S);(0,hy.isValidNumber)(E)&&v!==E&&(v=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,v)=>{n==null||n(x,v)},[n]),{onMouseDown:h,...b}=cr({allowDragDrop:t,containerRef:a,draggableClassName:"vuuOverflowContainer",onDrop:m,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"});return{menuActionHandler:p,menuBuilder:f,onItemMouseDown:h,rootRef:y,...b}};var ks=require("react/jsx-runtime"),dc="vuuOverflowContainer",KH=gy.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}=WH({allowDragDrop:e,itemCount:d.length,onMoveItem:s,onSwitchWrappedItemIntoView:l,orientation:a}),x={"--overflow-container-height":`${a==="vertical"?"100%":`${r}px`}`},v=(0,zf.default)(`${dc}-wrapContainer`,o,{[`${dc}-horizontal`]:a==="horizontal",[`${dc}-vertical`]:a==="vertical"}),w=d.map((S,E)=>{let{"data-align":T,"data-overflow-priority":M="0",id:O=`${i}-${E}`,label:I=`Item ${E+1}`}=S.props;return(0,ks.jsx)("div",{className:(0,zf.default)(`${dc}-item`,{"vuuDraggable-dragAway":p===E}),"data-index":E,"data-align":T,"data-label":I,"data-overflow-priority":M,id:`${O}-wrapper`,onMouseDown:m,children:S},E)}),C=(0,ks.jsx)("div",{className:`${dc}-OverflowIndicator`,"data-index":"overflow",children:(0,ks.jsx)(Sd,{...t,icon:u,menuBuilder:y,menuActionHandler:g,tabIndex:-1})},"overflow");return w.push(C),(0,ks.jsxs)("div",{className:v,ref:h,style:x,children:[w,f]})});KH.displayName="OverflowContainer.InnerContainer";var Kd=(0,gy.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=Ie(s);return(0,ks.jsx)("div",{...f,className:(0,zf.default)((0,zf.default)(r,dc)),id:g,ref:p,children:(0,ks.jsx)(KH,{PopupMenuProps:e,allowDragDrop:n,height:i,id:g,orientation:u,overflowIcon:c,overflowPosition:d,onMoveItem:l,onSwitchWrappedItemIntoView:a,children:o})})});var UH=require("@vuu-ui/vuu-utils");var TS=V(j()),by=require("react");var yy=require("react/jsx-runtime"),KW=t=>{let e=t.cloneNode(!0);return e.id="",delete e.dataset.idx,e},kS=(0,by.memo)(({className:t,children:e,idx:n,resizeable:o,header:r,closeable:i,...s})=>(0,yy.jsx)(qi,{className:(0,TS.default)("vuuPaletteItem",t),"data-draggable":!0,"data-icon":"draggable",...s}));kS.displayName="PaletteItem";var GH=({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,O;let f=c.target.closest(".vuuPaletteItem"),p=parseInt((O=(M=f.dataset)==null?void 0:M.index)!=null?O:"-1"),{props:{caption:g,children:y,template:m,...h}}=n[p],{ViewProps:b}=y.props,{height:x,left:v,top:w,width:C}=f.getBoundingClientRect(),S=(0,UH.uuid)(),T=m?y:(0,yy.jsx)(Ui,{...e,...{id:S,key:S},...h,...b,title:h.label,children:y});l({dragRect:{left:v,top:w,right:v+C,bottom:w+150,width:C,height:x},dragElement:KW(f),evt:c.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,DriftHomeIfNoDropTarget:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:T,type:"drag-start"})}return(0,yy.jsx)(Qr,{...t,...s,className:(0,TS.default)(a,o,`${a}-${i}`),itemHeight:r,selected:null,children:n.map((c,d)=>c.type===kS?(0,by.cloneElement)(c,{key:d,onMouseDown:u}):c)})};et("Palette",GH,"view");var IS=V(j()),Rr=V(require("react"));var fc=require("react/jsx-runtime"),MS="Tabs",UW=()=>{},GW=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},jW={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},vy=(0,Rr.forwardRef)(function({TabstripProps:e=jW,active:n=0,children:o,className:r,getTabIcon:i=UW,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 I;let h=Ie(l),b=(0,Rr.useRef)([]),{allowCloseTab:x,allowRenameTab:v,className:w}=e,C=(0,Rr.useCallback)((P,A,N,R)=>{f==null||f(R,A)},[f]),S=()=>{var P;return Rr.default.isValidElement(o)?o:Array.isArray(o)&&(P=o[n])!=null?P:null},E=()=>GW(o).map((P,A)=>{let{closeable:N=x,id:R=`${h}-${A}`,"data-tab-location":H}=P.props,k=s(P,A,b.current);return b.current.push(k),(0,fc.jsx)(sS,{ariaControls:R,"data-icon":i(P,A),id:`${R}-tab`,index:A,label:k,location:H,closeable:N,editable:v},R)}),T=S(),M=g==="left"||g==="right",O=M?"vertical":"horizontal";return(0,fc.jsxs)("div",{className:(0,IS.default)(MS,r,{[`${MS}-horizontal`]:M}),style:y,id:h,ref:m,children:[g?(0,fc.jsx)(iS,{...e,activeTabIndex:(I=e==null?void 0:e.activeTabIndex)!=null?I:T===null?-1:n,allowDragDrop:e.allowDragDrop!==!1,animateSelectionThumb:!0,className:(0,IS.default)("vuuTabHeader",w),keyBoardActivation:a,onActiveChange:p,onAddTab:u,onCloseTab:d,onExitEditMode:C,onMoveTab:c,orientation:O,children:E()}):null,(0,fc.jsx)("div",{"aria-labelledby":`${h}-${n}`,className:`${MS}-tabPanel`,role:"tabpanel",children:T})]})});vy.displayName="Stack";var Ms=V(require("react"));var PS=require("react/jsx-runtime"),qW=()=>(0,PS.jsx)(Ha,{resizeable:!0,style:{flexGrow:1,flexShrink:0,flexBasis:0}}),jH=t=>{var w;let e=(0,Ms.useRef)(null),n=Mn(),{loadState:o}=Ba(),{createNewChild:r,id:i,onTabSelectionChanged:s,path:l,...a}=t,{children:u}=t,c=Br(i),[d]=iy(c,e,l),f=CI(),p=(w=r!=null?r:f)!=null?w:qW,g=C=>{l&&(n({type:"switch-tab",id:c,path:l,nextIdx:C}),s==null||s(C))},y=(0,Ms.useCallback)(C=>{if(Array.isArray(u)){let{props:{"data-path":S,path:E=S}}=u[C];n({type:"remove",path:E})}},[u,n]),m=(0,Ms.useCallback)(()=>{if(l){let C=Ms.default.Children.count(u),S=p(C);n({type:"add",path:l,component:S})}},[u,p,n,l]),h=(0,Ms.useCallback)((C,S)=>{l&&n({fromIndex:C,toIndex:S,path:l,type:"move-child"})},[n,l]);return(0,PS.jsx)(vy,{...a,id:c,getTabLabel:(C,S,E)=>{let{id:T,title:M}=C.props;return o(T,"view-title")||M||Rd(C,S,E)},onMouseDown:async(C,S)=>{let E;await d({type:"mousedown",index:S,preDragActivity:async()=>new Promise(O=>{console.log("preDragActivity: Ok, gonna release the drag"),E=O})},C)&&(E==null||E(void 0))},onMoveTab:h,onAddTab:m,onTabClose:y,onTabEdit:(C,S)=>{n({type:"set-title",path:`${l}.${C}`,title:S})},onTabSelectionChanged:g,ref:e})};jH.displayName="Stack";et("Stack",jH,"container");var YW=V(j()),RS=V(require("react"));var XW=require("@vuu-ui/vuu-utils"),QH=require("react");var xy=require("@vuu-ui/vuu-utils"),DS=require("react"),Vn=require("@vuu-ui/vuu-utils");var QW=require("@vuu-ui/vuu-utils");var BMe={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 qH=require("@vuu-ui/vuu-utils");var JW=require("react");var ZW=require("react/jsx-runtime");var JH=V(require("react"));var XH=require("react/jsx-runtime");var YH=require("react/jsx-runtime");var Cy="(\\d+)(?:px)?",eK=`^(?:${Cy}(?:\\s${Cy}(?:\\s${Cy}(?:\\s${Cy})?)?)?)$`,IIe=new RegExp(eK);var tK=V(require("react")),nK=V(j());var oK=require("react/jsx-runtime");var wy=require("react");var rK=require("react"),ZH=require("react/jsx-runtime");var iK=V(j());var eF=require("react/jsx-runtime");var sK=require("@vuu-ui/vuu-utils");var tF=require("react/jsx-runtime");var LS=V(require("react")),uK=V(j());var AS=require("react/jsx-runtime");var cK=require("react"),dK=V(j()),fK=require("react/jsx-runtime");var ql=V(require("react"));var nF=V(require("react")),jl=require("react/jsx-runtime"),Sy=class extends nF.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 rF=require("react/jsx-runtime"),oF=()=>(0,rF.jsx)("div",{className:"hwLoader"});var iF=async t=>{let e=new CSSStyleSheet;return fetch(t).then(n=>n.text()).then(n=>e.replace(n))};var $f=require("react/jsx-runtime"),Ey=new Map,pK=t=>{(0,ql.useEffect)(()=>()=>{Ey.delete(t)},[t]),Ey.has(t)||Ey.set(t,ql.default.lazy(()=>import(t)));let e=Ey.get(t);if(e)return e;throw Error(`Unable to load Lazy Feature at url ${t}`)};function mK({url:t,css:e,ComponentProps:n,...o}){e&&iF(e).then(i=>{document.adoptedStyleSheets=[...document.adoptedStyleSheets,i]});let r=pK(t);return(0,$f.jsx)(Sy,{url:t,children:(0,$f.jsx)(ql.Suspense,{fallback:(0,$f.jsx)(oF,{}),children:(0,$f.jsx)(r,{...o,...n})})})}var NS=ql.default.memo(mK);NS.displayName="Feature";et("Feature",NS,"view");var sF=require("react");var hK=require("@vuu-ui/vuu-utils");var lF=require("react/jsx-runtime"),gK="saveLayoutPanel",cDe=`${gK}-formField`;var Ql=V(require("react"));var bK=require("react/jsx-runtime");var wDe=Ql.default.createContext({layoutMetadata:[],saveLayout:()=>{},applicationJson:ay,saveApplicationLayout:()=>{},saveApplicationSettings:()=>{},loadLayoutById:()=>{}});var OS=require("react/jsx-runtime");var aF=require("react"),gt=require("react/jsx-runtime"),uF=(0,aF.memo)(()=>(0,gt.jsxs)("svg",{width:"44",height:"45",viewBox:"0 0 44 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,gt.jsxs)("g",{clipPath:"url(#clip0_217_6990)",children:[(0,gt.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,gt.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,gt.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,gt.jsxs)("g",{opacity:"0.86",children:[(0,gt.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,gt.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,gt.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,gt.jsxs)("defs",{children:[(0,gt.jsxs)("linearGradient",{id:"paint0_linear_217_6990",x1:"24.6235",y1:"18.7363",x2:"42.3152",y2:"18.7363",gradientUnits:"userSpaceOnUse",children:[(0,gt.jsx)("stop",{stopColor:"#4906A5"}),(0,gt.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,gt.jsxs)("linearGradient",{id:"paint1_linear_217_6990",x1:"-2.35794e-05",y1:"22.5009",x2:"42.7186",y2:"22.5009",gradientUnits:"userSpaceOnUse",children:[(0,gt.jsx)("stop",{stopColor:"#7C06A5"}),(0,gt.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,gt.jsx)("clipPath",{id:"clip0_217_6990",children:(0,gt.jsx)("rect",{width:"44",height:"45",fill:"white"})})]})]}));uF.displayName="VuuLogo";var EK=V(j());var mF=require("react");var cF=require("react/jsx-runtime");var hi=require("react"),dF=V(j()),pF=require("react/jsx-runtime"),vK="medium",xK="salt-theme",CK="light",HS=(0,hi.createContext)({density:"high",theme:"vuu",themeMode:"light"}),wK=["vuu","vuu-density-high","light"],js=t=>{let e=(0,hi.useContext)(HS);return t?[t.themeClass,t.densityClass,t.dataMode]:e?[`${e.theme}-theme`,`${e.theme}-density-${e.density}`,e.themeMode]:wK},SK=(t,e,n,o)=>{var r;return(0,hi.isValidElement)(t)?(0,hi.cloneElement)(t,{className:(0,dF.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 Gr(t,N_,u,!0),r};var Lf=require("react");var Do=require("react");var $O=({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)},_O=t=>t.childNodes!==void 0;var aS=t=>t.header===!0,O_=new Set([".","/"]),WO=(t,e)=>e.startsWith(t.id)?O_.has(e.charAt(t.id.length)):!1,Wl=(t,e)=>{for(let n of t){if(n.id===e)return n;if(WO(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}:WO(i,e)?(o=ey(i.childNodes,e,n),{...i,childNodes:o}):i)};function H_(t,...e){let n=new Set(t);for(let o of e)for(let r of o)n.add(r);return n}var uS="ArrowUp",KO="ArrowDown",rc="ArrowLeft";var UO="ArrowRight",ty="Enter";var F_="Delete",B_=new Set([ty,F_]),V_=new Set(["Tab"]),z_=new Set(["ArrowRight","ArrowLeft"]),GO=new Set(["Home","End","ArrowDown","ArrowUp"]),jO=new Set(["Home","End","ArrowRight","ArrowLeft"]),$_=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),j0e=H_(B_,jO,GO,z_,$_,V_);var qO=({key:t},e="vertical")=>(e==="vertical"?GO:jO).has(t);function QO(t,e,n){return e===uS||e===rc?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var __=t=>!t.header&&!t.childNodes,W_=t=>__(t)||t.expanded!==void 0,JO=({defaultHighlightedIdx:t=-1,highlightedIdx:e,treeNodes:n,onHighlight:o,onKeyboardNavigation:r,selected:i=[]})=>{let{bwd:s,fwd:l}=(0,Do.useMemo)(()=>({bwd:uS,fwd:KO}),[]),[a,u,c]=Me({controlled:e,default:t,name:"highlightedIdx"}),d=(0,Do.useCallback)(v=>{o==null||o(v),u(v)},[o,u]),f=(0,Do.useCallback)((v=l,w=v===l?-1:n.length)=>{let C=QO(n.length,v,w);for(;C!==-1&&(v===l&&C<n.length||v===s&&C>0)&&!W_(n[C]);)C=QO(n.length,v,C);return C},[s,l,n]),p=(0,Do.useRef)(!0),g=(0,Do.useRef)(!1),y=v=>g.current=v,m=(0,Do.useCallback)(()=>{if(g.current)g.current=!1;else if(i.length>0){let v=Wl(n,i[0]);if(v){let w=Zg(n,v);d(w)}}else d(f())},[n,f,i,d]),h=(0,Do.useCallback)(v=>{let w=f(v.key,a);w!==a&&(d(w),r==null||r(v,w))},[a,f,r,d]),b=(0,Do.useCallback)(v=>{n.length>0&&qO(v,"vertical")&&(v.preventDefault(),v.stopPropagation(),p.current=!0,h(v))},[n,h]),x=(0,Do.useMemo)(()=>({onBlur:()=>{d(-1)},onFocus:m,onKeyDown:b,onMouseDownCapture:()=>{p.current=!1,y(!0)},onMouseMove:()=>{p.current&&(p.current=!1)},onMouseLeave:()=>{p.current=!0,y(!1),d(-1)}}),[m,b,d]);return{focusVisible:p.current?a:-1,controlledHighlighting:c,highlightedIdx:a,hiliteItemAtIndex:d,keyBoardNavigation:p,listProps:x,setIgnoreFocus:y}};var ic=require("react");var ny=(t,e=[],n={value:0})=>{let o=!1;for(let r of t)o&&!aS(r)||(e[n.value]=r,n.value+=1,o=!1,aS(r)&&r.expanded===!1?o=!0:_O(r)&&cS(r)&&ny(r.childNodes,e,n));return e},XO=t=>{let e=(0,ic.useRef)(t),n=(0,ic.useRef)(t),o=(0,ic.useRef)(ny(t)),[,r]=(0,ic.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 fi=require("react");var K_={},U_=t=>t&&t.hasAttribute("aria-expanded"),YO=({collapsibleHeaders:t,highlightedIdx:e,treeNodes:n,setVisibleData:o,source:r})=>{let i=(0,fi.useRef)(r),s=(0,fi.useRef)(i.current),l=(0,fi.useCallback)(g=>{o(s.current=g)},[o]),a=(0,fi.useCallback)((g,{id:y})=>ey(g,y,{expanded:!0}),[]),u=(0,fi.useCallback)((g,{id:y})=>ey(g,y,{expanded:!1}),[]),c=(0,fi.useCallback)(g=>{if(g.key===UO||g.key===ty){let y=n[e];y&&y.expanded===!1&&(g.preventDefault(),l(a(s.current,y)))}if(g.key===rc||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}:K_,p={onClick:(0,fi.useCallback)(g=>{let y=lS(g.target);if(U_(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 ZO=require("react");var eH=({highlightedIdx:t,hiliteItemAtIndex:e,indexPositions:n,source:o})=>({listHandlers:{onKeyDown:(0,ZO.useCallback)(s=>{if(s.key===rc){let l=n[t],a=$O(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 G_=[],tH=({defaultSelected:t,sourceWithIds:e,onChange:n,onHighlight:o,selected:r,selection:i})=>{let s=(0,Lf.useRef)(G_),l=XO(e),a=(x,v)=>{var w,C;(C=(w=f.listHandlers).onKeyboardNavigation)==null||C.call(w,x,v)},{highlightedIdx:u,...c}=JO({treeNodes:l.indexPositions,onHighlight:o,onKeyboardNavigation:a,selected:s.current}),d=YO({collapsibleHeaders:!0,highlightedIdx:u,treeNodes:l.indexPositions,setVisibleData:l.setData,source:l.data}),f=VO({defaultSelected:t,highlightedIdx:u,treeNodes:l.indexPositions,onChange:n,selected:r,selection:i}),p=eH({source:l.data,highlightedIdx:u,hiliteItemAtIndex:c.hiliteItemAtIndex,indexPositions:l.indexPositions}),g=(0,Lf.useCallback)(x=>{var v,w,C;(v=d.listItemHandlers)==null||v.onClick(x),x.defaultPrevented||(C=(w=f.listItemHandlers)==null?void 0:w.onClick)==null||C.call(w,x)},[d,f]),y=(0,Lf.useCallback)(x=>{var v,w,C,S,E,T,M,O;(w=(v=c.listProps).onKeyDown)==null||w.call(v,x),x.defaultPrevented||(S=(C=f.listHandlers).onKeyDown)==null||S.call(C,x),x.defaultPrevented||(T=(E=d.listHandlers).onKeyDown)==null||T.call(E,x),x.defaultPrevented||(O=(M=p.listHandlers).onKeyDown)==null||O.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},b={onClick:g};return{focusVisible:c.focusVisible,highlightedIdx:u,hiliteItemAtIndex:c.hiliteItemAtIndex,listProps:h,listItemHandlers:b,selected:f.selected,visibleData:l.data}};var to=require("react/jsx-runtime"),oH=require("react"),ws="vuuTree",cS=t=>t.expanded===!0,nH=({children:t,idx:e,...n})=>(0,to.jsx)("li",{...n,children:t}),j_=(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=Br(i),y=(0,ry.useRef)(null),[,m,h]=OO(d,g,{revealSelected:a?(R=u!=null?u:o)!=null?R:!1:void 0}),b=(H,k)=>{if(l){let L=k.map(D=>h(D)).filter(D=>D!==void 0);l(L)}},{focusVisible:x,highlightedIdx:v,hiliteItemAtIndex:w,listProps:C,listItemHandlers:S,selected:E,visibleData:T}=tH({defaultSelected:o,groupSelection:r,onChange:b,onHighlight:s,selected:u,selection:c,sourceWithIds:m});zO(y,v);let O={...{onMouseEnter:H=>{let k=H.target,L=AO(k);w(L)}},...S,role:"treeitem"},I=BO(r);function P(H,k,L){H.push((0,to.jsxs)(nH,{...O,...q_(k,L,v,E,x),children:[k.icon?(0,to.jsx)("span",{className:`${ws}Node-icon`,"data-icon":k.icon}):null,(0,to.jsx)("span",{children:k.label})]})),L.value+=1}function A(H,k,L,D,B){let{value:F}=L;L.value+=1,H.push((0,oH.createElement)(nH,{...S,"aria-expanded":k.expanded,"aria-level":k.level,"aria-selected":E.includes(D)||void 0,className:(0,oy.default)(`${ws}Node`,{focusVisible:x===F,[`${ws}Node-toggle`]:!I}),"data-idx":F,"data-highlighted":F===v||void 0,"data-selectable":!0,id:D,key:`header-${F}`},I?(0,to.jsxs)("div",{className:`${ws}Node-label`,children:[(0,to.jsx)("span",{className:`${ws}Node-toggle`}),B]}):(0,to.jsxs)("div",{className:`${ws}Node-label`,children:[k.icon?(0,to.jsx)("span",{className:`${ws}Node-icon`,"data-icon":k.icon}):null,(0,to.jsx)("span",{children:B})]}),(0,to.jsx)("ul",{role:"group",children:cS(k)?N(k.childNodes,L):""})))}function N(H,k={value:0}){if((H==null?void 0:H.length)>0){let L=[];for(let D of H)D.childNodes?A(L,D,k,D.id,D.label):P(L,D,k);return L}}return(0,to.jsx)("ul",{...f,...C,className:(0,oy.default)(ws,n),id:`Tree-${g}`,ref:Le(y,p),role:"tree",tabIndex:0,children:N(T)})}),q_=(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})});j_.displayName="Tree";var rH=require("@vuu-ui/vuu-utils");var iH=V(j()),sc=require("react");var Ss=require("react/jsx-runtime"),dS="vuuInput",J_={autoComplete:"off"},ph=(0,sc.forwardRef)(function({className:e,errorMessage:n,id:o,onCommit:r,onKeyDown:i,type:s,...l},a){let u=Ie(o),{anchorProps:c,tooltipProps:d}=BM({id:u,tooltipContent:n}),f=(0,sc.useCallback)((m,h)=>{if(s==="number"){let b=parseFloat(h);if((0,rH.isValidNumber)(b))r(m,b);else throw Error("Invalid value")}else s==="boolean"?r(m,!!h):r(m,h)},[r,s]),p=(0,sc.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,sc.useCallback)(m=>{let{value:h}=m.target;f(m,h)},[f]),y=n?(0,Ss.jsx)("span",{...c,className:`${dS}-errorIcon`,"data-icon":"error"}):void 0;return(0,Ss.jsxs)(Ss.Fragment,{children:[(0,Ss.jsx)(Un,{...l,endAdornment:y,id:u,inputProps:{...J_,...l.inputProps},className:(0,iH.default)(dS,e,{[`${dS}-errror`]:n}),onBlur:g,ref:a,onKeyDown:p}),d?(0,Ss.jsx)(FM,{...d,status:"error"}):null]})});var ly=V(j()),Ts=require("react");var Es=require("react");var iy=(t,e,n,o)=>{var m;let{loadSessionState:r,purgeSessionState:i,purgeState:s,saveSessionState:l}=Ba(),[a,u]=(0,Es.useState)((m=r(t,"contributions"))!=null?m:[]),c=Mn(),d=(0,Es.useCallback)((h,b)=>{let x=a.concat([{location:h,content:b}]);l(t,"contributions",x),u(x)},[a,t,l]),f=(0,Es.useCallback)(()=>{i(t,"contributions"),u([])},[t,i]),p=(0,Es.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,Es.useCallback)(async(h,b,x)=>{var w;h.stopPropagation();let v=(w=e.current)==null?void 0:w.getBoundingClientRect();return new Promise((C,S)=>{c({type:"drag-start",evt:h,path:b===void 0?n:`${n}.${b}`,dragRect:v,preDragActivity:x,dropTargets:o,resolveDragStart:C,rejectDragStart:S})})},[e,c,n,o]);return[(0,Es.useCallback)(async(h,b)=>{var v;let{type:x}=h;switch(x){case"maximize":case"minimize":case"restore":return c({type:x,path:(v=h.path)!=null?v:n});case"remove":return p();case"mousedown":return g(b,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 uH=V(j()),bn=V(require("react"));var Jo=require("react");var sH=({id:t,rootRef:e,path:n,dropTargets:o,title:r})=>{let i=Mn(),{loadState:s,loadSessionState:l,purgeState:a,saveState:u,saveSessionState:c}=Ba(),[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]),b=(0,Jo.useCallback)((C,S)=>{u(t,S,C),i({type:"save"})},[t,i,u]),x=(0,Jo.useCallback)(C=>l(t,C),[t,l]),v=(0,Jo.useCallback)((C,S)=>c(t,S,C),[t,c]),w=(0,Jo.useCallback)(({type:C,...S})=>{let{[C]:E}=S;b(E,C)},[b]);return{contributions:f,dispatchViewAction:d,load:m,loadSession:x,onConfigChange:w,onEditTitle:g,purge:h,restoredState:y,save:b,saveSession:v,title:p}};var lc=require("react"),X_=[],lH=({mainRef:t,resize:e="responsive",rootRef:n})=>{let o=e==="defer",r=(0,lc.useRef)({}),i=(0,lc.useRef)(),s=(0,lc.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,lc.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?kI:X_,l,o)};var Af=V(require("react")),Y_={dispatch:null},sy=Af.default.createContext(Y_),aH=()=>{var e;let t=(0,Af.useContext)(sy);return(e=t==null?void 0:t.dispatch)!=null?e:null},Om=()=>(0,Af.useContext)(sy);var ac=require("react/jsx-runtime"),Nf="vuuView",Z_=(t,e)=>t&&e?{...t,...e}:t||e,cH=(0,bn.forwardRef)(function(e,n){let{Header:o=dH,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:b=u,tearOut:x,style:v={},title:w,...C}=e,S=Br(p),E=(0,bn.useRef)(null),T=(0,bn.useRef)(null),[M,O]=(0,bn.useState)(),{contributions:I,dispatchViewAction:P,load:A,loadSession:N,onConfigChange:R,onEditTitle:H,purge:k,restoredState:L,save:D,saveSession:B,title:F}=sH({id:S,rootRef:E,path:m,dropTargets:c,title:w});lH({mainRef:T,resize:h,rootRef:E});let U=(0,bn.useCallback)(J=>{O(J)},[]),re=()=>bn.default.isValidElement(r)&&(L||M)?bn.default.cloneElement(r,Z_(L,M)):r,Y=(0,bn.useMemo)(()=>({dispatch:P,id:S,path:m,title:F,load:A,loadSession:N,onConfigChange:R,purge:k,save:D,saveSession:B,setComponentProps:U}),[P,S,A,N,R,m,k,D,B,U,F]),_=typeof g=="object"?g:{};return(0,ac.jsx)("div",{...C,className:(0,uH.default)(Nf,i,{[`${Nf}-collapsed`]:s,[`${Nf}-expanded`]:d,[`${Nf}-resize-defer`]:h==="defer"}),"data-resizeable":b,id:S,ref:Le(n,E),style:v,tabIndex:-1,children:(0,ac.jsxs)(sy.Provider,{value:Y,children:[g?(0,ac.jsx)(o,{..._,collapsed:s,contributions:I,expanded:d,closeable:l,onEditTitle:H,orientation:y,tearOut:x,title:F}):null,(0,ac.jsx)("div",{className:`${Nf}-main`,ref:T,children:re()})]})})});cH.displayName="View";var Ui=bn.default.memo(cH);Ui.displayName="View";et("View",Ui,"view");var uc=require("react/jsx-runtime"),fS="vuuHeader",dH=({className:t,contributions:e,collapsed:n,closeable:o,onEditTitle:r,orientation:i="horizontal",style:s,title:l="Untitled"})=>{let a=(0,Ts.useRef)(null),[u,c]=(0,Ts.useState)(l),[d,f]=(0,Ts.useState)(!1),p=aH(),g=M=>p==null?void 0:p({type:"remove"},M),y=()=>{var M;(M=a.current)==null||M.focus()},m=M=>{M.stopPropagation()},b=(0,ly.default)(fS,t,`${fS}-${n||i}`),x=()=>{f(!0)},v=M=>{M.key==="Enter"&&f(!0)},w=(M="",O="",I=!0,P=!1)=>{var A;f(!1),P?c(M):O!==M&&(c(O),r==null||r(O)),I===!1&&((A=a.current)==null||A.focus())},C=M=>{p==null||p({type:"mousedown"},M)},S=[],E=[],T=[];return e==null||e.forEach((M,O)=>{switch(M.location){case"pre-title":S.push((0,Ts.cloneElement)(M.content,{key:O}));break;default:E.push((0,Ts.cloneElement)(M.content,{key:O}))}}),l&&S.push((0,uc.jsx)(_d,{className:`${fS}-title`,editing:d,value:u,onChange:c,onMouseDownCapture:y,onEnterEditMode:x,onExitEditMode:w,onKeyDown:v,ref:a,tabIndex:0},"title")),o&&T.push((0,uc.jsx)(jt,{"data-icon":"close",onClick:g,onMouseDown:m,variant:"secondary"},"close")),E.length>0&&S.push((0,uc.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:E},"contributions")),T.length>0&&S.push((0,uc.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:T},"actions")),(0,uc.jsx)("div",{className:(0,ly.default)("vuuToolbarProxy",b),style:s,onMouseDown:C,children:S})};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 fW=V(j(),1),pW=require("react");var fH=require("react");var pS=require("react/jsx-runtime");var mH=require("@vuu-ui/vuu-utils");var mS=V(j(),1),no=require("react");var hS=require("react/jsx-runtime"),pH="vuuExpandoCombobox",eW={},Of=(0,no.forwardRef)(function({className:e,InputProps:n=eW,ListProps:o,onInputChange:r,onSelectionChange:i,selectionStrategy:s,style:l,value:a="",...u},c){var C;let[d,f]=(0,no.useState)(a),{itemToString:p=mH.itemToString}=u,g=(0,no.useRef)(a),y=(0,no.useCallback)(S=>{let[E,...T]=S;return T.length?`${p(E)} + ${T.length}`:p(E)},[p]),m=(0,no.useCallback)(S=>{let{value:E}=S.target;console.log(`onInputChange ${E}`),f(E),r==null||r(S)},[r]),h=(0,no.useCallback)(S=>{f(S)},[]),[b,x]=(0,no.useMemo)(()=>{let{inputProps:S,...E}=n;return[{...E,className:`${pH}-Input`,endAdornment:null,inputProps:{...S,autoComplete:"off",onInput:m}},{...o,className:(0,mS.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]),v=(0,no.useCallback)((S,E)=>{Array.isArray(E)?i==null||i(null,E):E&&(f(p(E)),i==null||i(null,E))},[p,i]),w={minWidth:"fit-content"};return((C=u.source)==null?void 0:C.length)===0?null:(0,hS.jsx)("div",{className:(0,mS.default)(pH,e),"data-text":d,ref:c,style:l,children:(0,hS.jsx)(i0,{...u,PopupProps:w,defaultValue:g.current,fullWidth:!0,ListProps:x,InputProps:b,itemsToString:y,onSelectionChange:v,onSetSelectedText:h,selectionStrategy:s})})});var rW=V(j(),1),iW=require("react");var Kl=require("react");var uy=require("@vuu-ui/vuu-utils"),hH=require("react/jsx-runtime"),tW=(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,hH.jsx)(fh,{...e,className:n,value:l,ref:s,onChange:u,onKeyDown:c})});var gH=require("@vuu-ui/vuu-utils");var vn=require("react");var Hf=require("react/jsx-runtime"),nW=(0,vn.forwardRef)(function({InputProps:e={},className:n,column:o,onInputComplete:r,operator:i,suggestionProvider:s=Tf,table:l,value:a},u){let[c,d]=(0,vn.useState)(a!=null?a:""),[f,p]=(0,vn.useState)([]),g=s(),y=(0,vn.useCallback)((v,w)=>r(w),[r]),m=(0,vn.useCallback)((v,w)=>{w.length===1?r(w[0]):w.length>1&&r(w)},[r]);(0,vn.useEffect)(()=>{},[o]),(0,vn.useEffect)(()=>{if(l){let v=c?[l,o.name,c]:[l,o.name];g(v).then(w=>{p(w)}).catch(w=>{console.error("Error getting suggestions",w)})}},[l,o,c,g]);let h=(0,vn.useCallback)(v=>{let{value:w}=v.target;d(w)},[]),b=(0,vn.useMemo)(()=>{if(i==="starts"||i==="ends"){let{inputProps:v,...w}=e;return{...w,inputProps:{...v,onKeyDown:C=>{var S;C.key==="Enter"&&c!==""?(C.stopPropagation(),C.preventDefault(),r(c)):(S=v==null?void 0:v.onKeyDown)==null||S.call(v,C)}}}}else return e},[e,r,i,c]);return(0,vn.useCallback)(()=>{switch(i){case"in":return(0,Hf.jsx)(Of,{InputProps:b,className:n,initialHighlightedIndex:0,source:f,onInputChange:h,onSelectionChange:m,ref:u,selectionStrategy:"multiple",value:a});case"starts":return(0,Hf.jsx)(Of,{InputProps:b,ListProps:{className:"vuuIllustrationsOnly",disabled:!0},allowFreeText:!0,className:n,initialHighlightedIndex:0,source:f,onInputChange:h,onSelectionChange:y,ref:u,value:a});case"ends":return(0,Hf.jsx)(fh,{...b,className:n,value:c,ref:u,onChange:h});default:return(0,Hf.jsx)(Of,{InputProps:b,className:n,initialHighlightedIndex:0,source:f,title:"value",onInputChange:h,onSelectionChange:y,ref:u,value:a})}},[i,b,n,f,h,m,u,a,y,c])()});var gS=require("@vuu-ui/vuu-utils"),oW=require("@vuu-ui/vuu-data"),Ff=require("react");var yH=require("react/jsx-runtime");var bH=require("@vuu-ui/vuu-utils"),cW=V(j(),1),vH=require("react");var sW=require("react"),lW=V(j(),1);var aW=require("react/jsx-runtime");var pi=require("@vuu-ui/vuu-utils");var xH=require("react/jsx-runtime");var CH=require("@vuu-ui/vuu-utils"),Bf=require("react");var dW=require("react");var wH=require("react/jsx-runtime"),mW=require("react");var xW=require("@vuu-ui/vuu-filter-parser"),CW=V(j(),1),yS=require("react");var SH=require("@vuu-ui/vuu-filter-parser"),REe=Er.define({name:"VuuFilterQuery",parser:SH.parser.configure({props:[Il({Identifier:K.variableName,String:K.string,Or:K.emphasis,Operator:K.operator})]})});var gW=Go.define([{tag:K.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:K.comment,color:"green",fontStyle:"italic"}]),yW=Dl(gW);var bW=se.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 vW=require("react");var EH=require("react/jsx-runtime");var TH=require("react");var wW=require("@vuu-ui/vuu-utils");var cy=t=>{let e=localStorage.getItem(t);return e?JSON.parse(e):void 0};var dy=(t,e)=>{try{return localStorage.setItem(t,JSON.stringify(e)),e}catch{return}};var fy=require("@vuu-ui/vuu-utils");var kH="layouts/metadata",MH="layouts/layouts",cc,bS=class{constructor(e){_n(this,cc,"api/vui");e&&Xo(this,cc,e)}createLayout(e,n){return new Promise(o=>{Promise.all([this.loadLayouts(),this.loadMetadata()]).then(([r,i])=>{let s=(0,fy.getUniqueId)(),l={...e,id:s,created:(0,fy.formatDate)(new Date,"dd.mm.yyyy")};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=cy(kH);e(n||[])})}loadApplicationJSON(){return new Promise(e=>{let n=cy(ne(this,cc));e(n||ay)})}saveApplicationJSON(e){return new Promise((n,o)=>{dy(ne(this,cc),e)?n():o(new Error("Application Json failed to save"))})}loadLayouts(){return new Promise(e=>{let n=cy(MH);e(n||[])})}saveLayoutsWithMetadata(e,n){dy(MH,e),dy(kH,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}`))}})})}};cc=new WeakMap;var IH=require("react"),SW=require("react/jsx-runtime");var NH=require("react");var mi=require("@vuu-ui/vuu-utils"),Dr=require("react");var Gl=require("react");var Ul=new Map,RH=(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}},DH=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=RH(n,{height:s,width:l,contentHeight:a,contentWidth:u},p);y!==g&&(f=!0,d[p]=y)}f&&c&&c(d)}}});function LH(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]=RH(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,DH.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)&&(DH.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 EW=["clientHeight","clientWidth"],TW=["clientWidth"],kW=["clientHeight"],MW=[],py=t=>Number.isFinite(t),IW={height:"100%",width:"auto"},PW=(t,e)=>(0,mi.isValidNumber)(t)&&(0,mi.isValidNumber)(e)?{height:`${t}px`,width:`${e}px`}:typeof t=="string"||typeof e=="string"?{height:t!=null?t:"100%",width:e!=null?e:"auto"}:IW,DW=(t,e)=>{if((0,mi.isValidNumber)(t)&&(0,mi.isValidNumber)(e))return{height:t,width:e}},AH=({defaultHeight:t=0,defaultWidth:e=0,height:n,onResize:o,width:r})=>{let i=(0,Dr.useRef)(null),[s,l]=(0,Dr.useState)({css:PW(n,r),inner:DW(n,r),outer:{height:n!=null?n:"100%",width:r!=null?r:"auto"}}),a=typeof n=="number",u=typeof r=="number",c=a&&u?MW:a?TW:u?kW:EW;(0,Dr.useMemo)(()=>{l(f=>{let{inner:p,outer:g}=f;if((0,mi.isValidNumber)(n)&&(0,mi.isValidNumber)(r)&&p&&g){let{height:y,width:m}=p,{height:h,width:b}=g;if(h!==n||b!==r){let x=(0,mi.isValidNumber)(h)?h-y:0,v=(0,mi.isValidNumber)(b)?b-m:0;return{...f,outer:{height:n,width:r},inner:{height:n-x,width:r-v}}}}return f})},[n,r]);let d=(0,Dr.useCallback)(({clientWidth:f,clientHeight:p})=>{let{css:g,inner:y,outer:m}=s,h=s;a&&py(f)&&Math.floor(f)!==(y==null?void 0:y.width)?h={css:g,outer:m,inner:{width:Math.floor(f)||e,height:n}}:u&&py(p)&&Math.floor(p)!==(y==null?void 0:y.height)?h={css:g,outer:m,inner:{height:Math.floor(p)||t,width:r}}:py(p)&&py(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]),LH(i,c,d,!0),{containerRef:i,cssSize:s.css,outerSize:s.outer,innerSize:s.inner}};var xS=V(j());var CS=require("react/jsx-runtime"),vS="vuuMeasuredContainer",sh=(0,NH.forwardRef)(function({children:e,className:n,height:o,onResize:r,style:i,width:s,...l},a){let{containerRef:u,...c}=AH({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=Le(u,a);return p?(0,CS.jsx)("div",{...l,className:(0,xS.default)(vS,`${vS}-ummeasured`),style:g(),ref:u}):(0,CS.jsx)("div",{...l,className:(0,xS.default)(vS,n),ref:y,style:g(),children:e})});var zf=V(j()),gy=V(require("react"));var hy=require("@vuu-ui/vuu-utils"),Bn=require("react");var wS=require("@vuu-ui/vuu-utils"),RW=".vuuOverflowContainer-item:not(.wrapped)",QP=t=>t!==null&&t.dataset.index==="overflow"&&t.parentElement!==null&&t.parentElement.classList.contains("vuuOverflowContainer-wrapContainer-overflowed"),LW=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}),SS=[],Vf=(t,e="horizontal")=>{let n=[],o=[],r=-1,i=!1,s=LW(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]},OH=(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")}},AW=(t,{overflowPriority:e})=>Math.max(t,parseInt(e)),NW=(t,{overflowPriority:e})=>Math.min(t,parseInt(e)),HH=t=>{var e;return t.length>1&&((e=t.at(-1))==null?void 0:e.index)==="overflow"},OW=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},FH=(t,e)=>{var r;let n=t.reduce(NW,Number.MAX_SAFE_INTEGER);return e.reduce(AW,0)>n?!0:e.length>1&&((r=e.at(-1))==null?void 0:r.index)==="overflow"},BH=(t,e)=>new Promise(n=>{requestAnimationFrame(()=>{let[,o]=Vf(t);BW(e,o).forEach(i=>HW(t,i)),n(o)})}),VH=(t,e,n)=>new Promise(o=>{requestAnimationFrame(()=>{let[,r]=Vf(t),i=OW(r);if(i){let[s,l]=ES(t,i);o([s,l])}else o([e,n])})}),HW=(t,e)=>{let n=(0,wS.getElementByDataIndex)(t,e.index);if(n)n.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${e.index} not found`)},FW=t=>Array.from(t.querySelectorAll(".wrapped")),BW=(t,e)=>{let n=[];for(let o of e)t.find(({index:r})=>r===o.index)||n.push(o);return n},VW=(t,e)=>{FW(t).forEach(o=>{let{dataset:{index:r="?"}}=o;e.find(i=>i.index===r)||o.classList.remove("wrapped")})},zH=t=>t.querySelector('[data-index="overflow"]'),zW=t=>t.querySelector(".wrapped"),my=t=>parseInt(getComputedStyle(t).getPropertyValue("width")),$H=(t,e)=>{let{right:n}=t.getBoundingClientRect(),o=parseInt(getComputedStyle(t).getPropertyValue("padding-right")),{right:r}=e.getBoundingClientRect();return n-o-r},_H=t=>{let e=zH(t),n=$H(t,e),o=my(e),r=zW(t);return my(r)<=n+o?(t.classList.remove("overflowed"),r.classList.remove("wrapped"),!0):!1},$W=(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)},_W=t=>Array.from(t.querySelectorAll(RW)).sort($W),ES=(t,e)=>{let n=_W(t),o=(0,wS.getElementByDataIndex)(t,e.index,!0),r=-1,i=n.at(r),s=my(i),l=my(o),a=zH(t),u=$H(t,a)+s;if(u>=l)WW(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 VW(t,d),[c,d]},WW=(t,e)=>{if(!t||!e)throw Error("switchWrapOnElements, element undefined");t.classList.remove("wrapped"),e.classList.add("wrapped")};var WH=({allowDragDrop:t=!1,itemCount:e,onMoveItem:n,onSwitchWrappedItemIntoView:o,orientation:r="horizontal"})=>{let[i,s]=(0,Bn.useState)(null),l=(0,Bn.useRef)(SS),a=(0,Bn.useRef)(null),u=(0,Bn.useCallback)(x=>{var v;a.current&&((v=a.current.querySelector(".vuuOverflowContainer-OverflowIndicator button"))==null||v.setAttribute("tabindex",x))},[]),c=(0,Bn.useCallback)(async()=>{if(i){let[x,v]=Vf(i,r);for(OH(i,v,"vuuOverflowContainer-wrapContainer"),HH(v)&&(v=await BH(i,v));FH(x,v);)[x,v]=await VH(i,x,v);v.length===1&&_H(i)&&(v=SS),l.current.length===0&&v.length>0?u("0"):l.current.length>0&&v.length===0&&u("-1"),l.current=v}},[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(v=>({label:v.label,action:`activate-item-${v.index}`,options:{overflowItem:v}}))},({options:x})=>{if(i&&d(x)){let[,v]=ES(i,x.overflowItem);l.current=v,o==null||o(x.overflowItem)}return!0}],[i,o]),g=(0,Bn.useMemo)(()=>{let{sizeProp:x}=hy.MEASURES[r],v=0;return new ResizeObserver(w=>{for(let C of w){let{[x]:S}=C.contentRect,E=Math.round(S);(0,hy.isValidNumber)(E)&&v!==E&&(v=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,v)=>{n==null||n(x,v)},[n]),{onMouseDown:h,...b}=cr({allowDragDrop:t,containerRef:a,draggableClassName:"vuuOverflowContainer",onDrop:m,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"});return{menuActionHandler:p,menuBuilder:f,onItemMouseDown:h,rootRef:y,...b}};var ks=require("react/jsx-runtime"),dc="vuuOverflowContainer",KH=gy.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}=WH({allowDragDrop:e,itemCount:d.length,onMoveItem:s,onSwitchWrappedItemIntoView:l,orientation:a}),x={"--overflow-container-height":`${a==="vertical"?"100%":`${r}px`}`},v=(0,zf.default)(`${dc}-wrapContainer`,o,{[`${dc}-horizontal`]:a==="horizontal",[`${dc}-vertical`]:a==="vertical"}),w=d.map((S,E)=>{let{"data-align":T,"data-overflow-priority":M="0",id:O=`${i}-${E}`,label:I=`Item ${E+1}`}=S.props;return(0,ks.jsx)("div",{className:(0,zf.default)(`${dc}-item`,{"vuuDraggable-dragAway":p===E}),"data-index":E,"data-align":T,"data-label":I,"data-overflow-priority":M,id:`${O}-wrapper`,onMouseDown:m,children:S},E)}),C=(0,ks.jsx)("div",{className:`${dc}-OverflowIndicator`,"data-index":"overflow",children:(0,ks.jsx)(Sd,{...t,icon:u,menuBuilder:y,menuActionHandler:g,tabIndex:-1})},"overflow");return w.push(C),(0,ks.jsxs)("div",{className:v,ref:h,style:x,children:[w,f]})});KH.displayName="OverflowContainer.InnerContainer";var Kd=(0,gy.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=Ie(s);return(0,ks.jsx)("div",{...f,className:(0,zf.default)((0,zf.default)(r,dc)),id:g,ref:p,children:(0,ks.jsx)(KH,{PopupMenuProps:e,allowDragDrop:n,height:i,id:g,orientation:u,overflowIcon:c,overflowPosition:d,onMoveItem:l,onSwitchWrappedItemIntoView:a,children:o})})});var UH=require("@vuu-ui/vuu-utils");var TS=V(j()),by=require("react");var yy=require("react/jsx-runtime"),KW=t=>{let e=t.cloneNode(!0);return e.id="",delete e.dataset.idx,e},kS=(0,by.memo)(({className:t,children:e,idx:n,resizeable:o,header:r,closeable:i,...s})=>(0,yy.jsx)(qi,{className:(0,TS.default)("vuuPaletteItem",t),"data-draggable":!0,"data-icon":"draggable",...s}));kS.displayName="PaletteItem";var GH=({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,O;let f=c.target.closest(".vuuPaletteItem"),p=parseInt((O=(M=f.dataset)==null?void 0:M.index)!=null?O:"-1"),{props:{caption:g,children:y,template:m,...h}}=n[p],{ViewProps:b}=y.props,{height:x,left:v,top:w,width:C}=f.getBoundingClientRect(),S=(0,UH.uuid)(),T=m?y:(0,yy.jsx)(Ui,{...e,...{id:S,key:S},...h,...b,title:h.label,children:y});l({dragRect:{left:v,top:w,right:v+C,bottom:w+150,width:C,height:x},dragElement:KW(f),evt:c.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,DriftHomeIfNoDropTarget:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:T,type:"drag-start"})}return(0,yy.jsx)(Qr,{...t,...s,className:(0,TS.default)(a,o,`${a}-${i}`),itemHeight:r,selected:null,children:n.map((c,d)=>c.type===kS?(0,by.cloneElement)(c,{key:d,onMouseDown:u}):c)})};et("Palette",GH,"view");var IS=V(j()),Rr=V(require("react"));var fc=require("react/jsx-runtime"),MS="Tabs",UW=()=>{},GW=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},jW={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},vy=(0,Rr.forwardRef)(function({TabstripProps:e=jW,active:n=0,children:o,className:r,getTabIcon:i=UW,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 I;let h=Ie(l),b=(0,Rr.useRef)([]),{allowCloseTab:x,allowRenameTab:v,className:w}=e,C=(0,Rr.useCallback)((P,A,N,R)=>{f==null||f(R,A)},[f]),S=()=>{var P;return Rr.default.isValidElement(o)?o:Array.isArray(o)&&(P=o[n])!=null?P:null},E=()=>GW(o).map((P,A)=>{let{closeable:N=x,id:R=`${h}-${A}`,"data-tab-location":H}=P.props,k=s(P,A,b.current);return b.current.push(k),(0,fc.jsx)(sS,{ariaControls:R,"data-icon":i(P,A),id:`${R}-tab`,index:A,label:k,location:H,closeable:N,editable:v},R)}),T=S(),M=g==="left"||g==="right",O=M?"vertical":"horizontal";return(0,fc.jsxs)("div",{className:(0,IS.default)(MS,r,{[`${MS}-horizontal`]:M}),style:y,id:h,ref:m,children:[g?(0,fc.jsx)(iS,{...e,activeTabIndex:(I=e==null?void 0:e.activeTabIndex)!=null?I:T===null?-1:n,allowDragDrop:e.allowDragDrop!==!1,animateSelectionThumb:!0,className:(0,IS.default)("vuuTabHeader",w),keyBoardActivation:a,onActiveChange:p,onAddTab:u,onCloseTab:d,onExitEditMode:C,onMoveTab:c,orientation:O,children:E()}):null,(0,fc.jsx)("div",{"aria-labelledby":`${h}-${n}`,className:`${MS}-tabPanel`,role:"tabpanel",children:T})]})});vy.displayName="Stack";var Ms=V(require("react"));var PS=require("react/jsx-runtime"),qW=()=>(0,PS.jsx)(Ha,{resizeable:!0,style:{flexGrow:1,flexShrink:0,flexBasis:0}}),jH=t=>{var w;let e=(0,Ms.useRef)(null),n=Mn(),{loadState:o}=Ba(),{createNewChild:r,id:i,onTabSelectionChanged:s,path:l,...a}=t,{children:u}=t,c=Br(i),[d]=iy(c,e,l),f=CI(),p=(w=r!=null?r:f)!=null?w:qW,g=C=>{l&&(n({type:"switch-tab",id:c,path:l,nextIdx:C}),s==null||s(C))},y=(0,Ms.useCallback)(C=>{if(Array.isArray(u)){let{props:{"data-path":S,path:E=S}}=u[C];n({type:"remove",path:E})}},[u,n]),m=(0,Ms.useCallback)(()=>{if(l){let C=Ms.default.Children.count(u),S=p(C);n({type:"add",path:l,component:S})}},[u,p,n,l]),h=(0,Ms.useCallback)((C,S)=>{l&&n({fromIndex:C,toIndex:S,path:l,type:"move-child"})},[n,l]);return(0,PS.jsx)(vy,{...a,id:c,getTabLabel:(C,S,E)=>{let{id:T,title:M}=C.props;return o(T,"view-title")||M||Rd(C,S,E)},onMouseDown:async(C,S)=>{let E;await d({type:"mousedown",index:S,preDragActivity:async()=>new Promise(O=>{console.log("preDragActivity: Ok, gonna release the drag"),E=O})},C)&&(E==null||E(void 0))},onMoveTab:h,onAddTab:m,onTabClose:y,onTabEdit:(C,S)=>{n({type:"set-title",path:`${l}.${C}`,title:S})},onTabSelectionChanged:g,ref:e})};jH.displayName="Stack";et("Stack",jH,"container");var YW=V(j()),RS=V(require("react"));var XW=require("@vuu-ui/vuu-utils"),QH=require("react");var xy=require("@vuu-ui/vuu-utils"),DS=require("react"),Vn=require("@vuu-ui/vuu-utils");var QW=require("@vuu-ui/vuu-utils");var FMe={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 qH=require("@vuu-ui/vuu-utils");var JW=require("react");var ZW=require("react/jsx-runtime");var JH=V(require("react"));var XH=require("react/jsx-runtime");var YH=require("react/jsx-runtime");var Cy="(\\d+)(?:px)?",eK=`^(?:${Cy}(?:\\s${Cy}(?:\\s${Cy}(?:\\s${Cy})?)?)?)$`,MIe=new RegExp(eK);var tK=V(require("react")),nK=V(j());var oK=require("react/jsx-runtime");var wy=require("react");var rK=require("react"),ZH=require("react/jsx-runtime");var iK=V(j());var eF=require("react/jsx-runtime");var sK=require("@vuu-ui/vuu-utils");var tF=require("react/jsx-runtime");var LS=V(require("react")),uK=V(j());var AS=require("react/jsx-runtime");var cK=require("react"),dK=V(j()),fK=require("react/jsx-runtime");var ql=V(require("react"));var nF=V(require("react")),jl=require("react/jsx-runtime"),Sy=class extends nF.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 rF=require("react/jsx-runtime"),oF=()=>(0,rF.jsx)("div",{className:"hwLoader"});var iF=async t=>{let e=new CSSStyleSheet;return fetch(t).then(n=>n.text()).then(n=>e.replace(n))};var $f=require("react/jsx-runtime"),Ey=new Map,pK=t=>{(0,ql.useEffect)(()=>()=>{Ey.delete(t)},[t]),Ey.has(t)||Ey.set(t,ql.default.lazy(()=>import(t)));let e=Ey.get(t);if(e)return e;throw Error(`Unable to load Lazy Feature at url ${t}`)};function mK({url:t,css:e,ComponentProps:n,...o}){e&&iF(e).then(i=>{document.adoptedStyleSheets=[...document.adoptedStyleSheets,i]});let r=pK(t);return(0,$f.jsx)(Sy,{url:t,children:(0,$f.jsx)(ql.Suspense,{fallback:(0,$f.jsx)(oF,{}),children:(0,$f.jsx)(r,{...o,...n})})})}var NS=ql.default.memo(mK);NS.displayName="Feature";et("Feature",NS,"view");var sF=require("react");var hK=require("@vuu-ui/vuu-utils");var lF=require("react/jsx-runtime"),gK="saveLayoutPanel",uDe=`${gK}-formField`;var Ql=V(require("react"));var bK=require("react/jsx-runtime");var CDe=Ql.default.createContext({layoutMetadata:[],saveLayout:()=>{},applicationJson:ay,saveApplicationLayout:()=>{},saveApplicationSettings:()=>{},loadLayoutById:()=>{}});var OS=require("react/jsx-runtime");var aF=require("react"),gt=require("react/jsx-runtime"),uF=(0,aF.memo)(()=>(0,gt.jsxs)("svg",{width:"44",height:"45",viewBox:"0 0 44 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,gt.jsxs)("g",{clipPath:"url(#clip0_217_6990)",children:[(0,gt.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,gt.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,gt.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,gt.jsxs)("g",{opacity:"0.86",children:[(0,gt.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,gt.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,gt.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,gt.jsxs)("defs",{children:[(0,gt.jsxs)("linearGradient",{id:"paint0_linear_217_6990",x1:"24.6235",y1:"18.7363",x2:"42.3152",y2:"18.7363",gradientUnits:"userSpaceOnUse",children:[(0,gt.jsx)("stop",{stopColor:"#4906A5"}),(0,gt.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,gt.jsxs)("linearGradient",{id:"paint1_linear_217_6990",x1:"-2.35794e-05",y1:"22.5009",x2:"42.7186",y2:"22.5009",gradientUnits:"userSpaceOnUse",children:[(0,gt.jsx)("stop",{stopColor:"#7C06A5"}),(0,gt.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,gt.jsx)("clipPath",{id:"clip0_217_6990",children:(0,gt.jsx)("rect",{width:"44",height:"45",fill:"white"})})]})]}));uF.displayName="VuuLogo";var EK=V(j());var mF=require("react");var cF=require("react/jsx-runtime");var hi=require("react"),dF=V(j()),pF=require("react/jsx-runtime"),vK="medium",xK="salt-theme",CK="light",HS=(0,hi.createContext)({density:"high",theme:"vuu",themeMode:"light"}),wK=["vuu","vuu-density-high","light"],js=t=>{let e=(0,hi.useContext)(HS);return t?[t.themeClass,t.densityClass,t.dataMode]:e?[`${e.theme}-theme`,`${e.theme}-density-${e.density}`,e.themeMode]:wK},SK=(t,e,n,o)=>{var r;return(0,hi.isValidElement)(t)?(0,hi.cloneElement)(t,{className:(0,dF.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)},fF=({applyThemeClasses:t=!1,children:e,theme:n,themeMode:o,density:r})=>{var f,p,g;let{density:i,themeMode:s,theme:l}=(0,hi.useContext)(HS),a=(f=r!=null?r:i)!=null?f:vK,u=(p=o!=null?o:s)!=null?p:CK,c=(g=n!=null?n:l)!=null?g:xK,d=t?SK(e,c,u,a):e;return(0,pF.jsx)(HS.Provider,{value:{themeMode:u,density:a,theme:c},children:d})};fF.displayName="ThemeProvider";var hF=require("react/jsx-runtime");var _f=require("react"),TK=V(j());var FS=require("@vuu-ui/vuu-data"),BS=require("@vuu-ui/vuu-utils");var gF=require("react/jsx-runtime");var DK=require("@vuu-ui/vuu-data");var CF=require("@vuu-ui/vuu-utils"),RK=V(j()),zS=require("react");var kK=V(j()),yF=require("react");var bF=require("react/jsx-runtime");var MK=require("react"),IK=V(j());var PK=require("react/jsx-runtime");var vF=require("react/jsx-runtime");var VS=require("react"),xF=require("react/jsx-runtime");var wF=require("react/jsx-runtime"),{error:MLe}=(0,CF.logger)("Shell");var Ty=require("react"),NK=require("react/jsx-runtime"),LK={},AK=(0,Ty.createContext)(LK);var SF=()=>(0,Ty.useContext)(AK);var OK=V(j());var HK=require("react");var EF=require("react/jsx-runtime");var pc=require("@vuu-ui/vuu-utils"),Wf=require("react"),TF=[],kF=new Map,FK=({labelColumn:t,table:e,valueColumn:n})=>{let o=`${e.module}:${e.table}`,r=kF.get(o);if(r)return r;{let i=new Promise(s=>{let l=[n,t],a=(0,pc.buildColumnMap)(l),u=new IF.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 kF.set(o,i),i}},MF=(t,e)=>{var n;return e===void 0?null:(n=t.find(o=>o.value===e))!=null?n:null},BK=({name:t,type:e})=>{if((0,pc.isTypeDescriptor)(e)&&(0,pc.isLookupRenderer)(e.renderer))return e.renderer.lookup;throw Error(`useLookupValues column ${t} is not configured to use lookup values`)},Pf=(t,e)=>{let n=BK(t),{getLookupValues:o}=SF(),r=(0,Wf.useMemo)(()=>{var u;let a=(u=o==null?void 0:o(n.table))!=null?u:TF;return{initialValue:MF(a,e),values:a}},[o,e,n.table]),[{initialValue:i,values:s},l]=(0,Wf.useState)(r);return(0,Wf.useMemo)(()=>{s===TF&&FK(n).then(a=>l({initialValue:MF(a,e),values:a}))},[s,n,e]),{initialValue:i,values:s}};var mc=require("react"),$S=require("@vuu-ui/vuu-data"),VK=()=>{let[t,e]=(0,mc.useState)("disconnected"),n=(0,mc.useCallback)(({status:o})=>{e(o)},[]);return(0,mc.useEffect)(()=>($S.ConnectionManager.on("connection-status",n),()=>{$S.ConnectionManager.removeListener("connection-status",n)}),[n]),t};var hc=require("react"),_S=require("@vuu-ui/vuu-data"),zK=()=>{let[t,e]=(0,hc.useState)(0),n=(0,hc.useCallback)(({messages:o})=>{e(o.messagesLength)},[]);return(0,hc.useEffect)(()=>(_S.ConnectionManager.on("connection-metrics",n),()=>{_S.ConnectionManager.removeListener("connection-metrics",n)}),[n]),t};var DF=require("react"),RF=require("@vuu-ui/vuu-data"),PF={type:"RPC_CALL",service:"TypeAheadRpcHandler"},Fw=(t,e,n="",o=[])=>n!==""&&!o.includes(n.toLowerCase())?[t,e,n]:[t,e],Tf=()=>(0,DF.useCallback)(async t=>{let e=t.length===2?{method:"getUniqueFieldValues",params:t,...PF}:{method:"getUniqueFieldValuesStartingWith",params:t,...PF};return(0,RF.makeRpcCall)(e)},[]);var WS=require("@vuu-ui/vuu-filter-parser"),gc=require("@vuu-ui/vuu-utils"),KS=require("react"),$K="addRowsFromInstruments",{KEY:LF}=gc.metadataKeys,_K={},WK=t=>"rpcName"in t,KK=t=>"menus"in t,UK=t=>t.name==="ROOT",AF=t=>t.context==="cell",GK=t=>t.context==="row",jK=t=>t.context==="selected-rows",qK=(t,e,n=0)=>{switch(t){case"grid":return e==="selected-rows"?n>0:!0;case"header":return e==="grid";default:return!1}},QK=(t,e,n,o,r)=>{if(t==="cell"||t==="row")return(0,WS.getFilterPredicate)(r,o)(e);if(t==="selected-rows"){if(n.length===0)return!1;{let i=(0,WS.getFilterPredicate)(r,o);return n.every(i)}}return!0},JK=t=>{let{rpcName:e}=t;return AF(t)?{field:t.field,rowKey:t.rowKey,rpcName:e,value:t.value,type:"VIEW_PORT_MENU_CELL_RPC"}:GK(t)?{rowKey:t.rowKey,row:t.row,rpcName:e,type:"VIEW_PORT_MENU_ROW_RPC"}:jK(t)?{rpcName:e,type:"VIEW_PORT_MENUS_SELECT_RPC"}:{rpcName:e,type:"VIEW_PORT_MENU_TABLE_RPC"}},XK=t=>["grid","header","filter"].includes(t),YK=({filter:t})=>typeof t=="string"&&t.length>0,ZK=(t,e)=>{switch(t.context){case"cell":return{...t,field:e.columnName,rowKey:e.row[LF],value:e.row[e.columnMap[e.columnName]]};case"row":return{...t,row:(0,gc.getRowRecord)(e.row,e.columnMap),rowKey:e.row[LF]};default:return t}},NF=(t,e,n)=>{var o;return KK(t)?t.menus.some(r=>NF(r,e,n)):qK(e,t.context,(o=n.selectedRows)==null?void 0:o.length)?e==="grid"&&YK(t)?QK(t.context,n.row,n.selectedRows,t.filter,n.columnMap):AF(t)&&t.field!=="*"?t.field===n.columnName:!0:!1},OF=(t,e,n)=>{if(NF(t,e,n)){if(WK(t))return{label:t.name,action:"MENU_RPC_CALL",options:ZK(t,n)};{let o=t.menus.map(r=>OF(r,e,n)).filter(r=>r!==void 0);if(o.length>0)return{label:t.name,children:o}}}},eU=({clientSideMenuActionHandler:t,dataSource:e,menuActionConfig:n=_K,onRpcResponse:o})=>{let r=(0,KS.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&&XK(s)){let f=OF(u,s,l);UK(u)&&(0,gc.isGroupMenuItemDescriptor)(f)?d.push(...f.children):f&&d.push(f)}return d},[e,n]),i=(0,KS.useCallback)(({menuId:s,options:l})=>{if(t!=null&&t(s,l))return!0;if(s==="MENU_RPC_CALL"){let a=JK(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 US=require("@vuu-ui/vuu-data"),yc=require("react"),tU=()=>{let[t,e]=(0,yc.useState)(),n=(0,yc.useCallback)(o=>{let r=new Map;return o.forEach(i=>{r.set(i.table.table,i)}),r},[]);return(0,yc.useEffect)(()=>{async function o(){console.log("GET TABLE LIST");let r=await(0,US.getServerAPI)(),{tables:i}=await r.getTableList(),s=n(await Promise.all(i.map(l=>r.getTableSchema(l))));e(s)}o()},[n]),t},tS=t=>(0,US.getServerAPI)().then(e=>e.getTableSchema(t));
860
+ Wrap elements with a single container`),t)},fF=({applyThemeClasses:t=!1,children:e,theme:n,themeMode:o,density:r})=>{var f,p,g;let{density:i,themeMode:s,theme:l}=(0,hi.useContext)(HS),a=(f=r!=null?r:i)!=null?f:vK,u=(p=o!=null?o:s)!=null?p:CK,c=(g=n!=null?n:l)!=null?g:xK,d=t?SK(e,c,u,a):e;return(0,pF.jsx)(HS.Provider,{value:{themeMode:u,density:a,theme:c},children:d})};fF.displayName="ThemeProvider";var hF=require("react/jsx-runtime");var _f=require("react"),TK=V(j());var FS=require("@vuu-ui/vuu-data"),BS=require("@vuu-ui/vuu-utils");var gF=require("react/jsx-runtime");var DK=require("@vuu-ui/vuu-data");var CF=require("@vuu-ui/vuu-utils"),RK=V(j()),zS=require("react");var kK=V(j()),yF=require("react");var bF=require("react/jsx-runtime");var MK=require("react"),IK=V(j());var PK=require("react/jsx-runtime");var vF=require("react/jsx-runtime");var VS=require("react"),xF=require("react/jsx-runtime");var wF=require("react/jsx-runtime"),{error:kLe}=(0,CF.logger)("Shell");var Ty=require("react"),NK=require("react/jsx-runtime"),LK={},AK=(0,Ty.createContext)(LK);var SF=()=>(0,Ty.useContext)(AK);var OK=V(j());var HK=require("react");var EF=require("react/jsx-runtime");var pc=require("@vuu-ui/vuu-utils"),Wf=require("react"),TF=[],kF=new Map,FK=({labelColumn:t,table:e,valueColumn:n})=>{let o=`${e.module}:${e.table}`,r=kF.get(o);if(r)return r;{let i=new Promise(s=>{let l=[n,t],a=(0,pc.buildColumnMap)(l),u=new IF.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 kF.set(o,i),i}},MF=(t,e)=>{var n;return e===void 0?null:(n=t.find(o=>o.value===e))!=null?n:null},BK=({name:t,type:e})=>{if((0,pc.isTypeDescriptor)(e)&&(0,pc.isLookupRenderer)(e.renderer))return e.renderer.lookup;throw Error(`useLookupValues column ${t} is not configured to use lookup values`)},Pf=(t,e)=>{let n=BK(t),{getLookupValues:o}=SF(),r=(0,Wf.useMemo)(()=>{var u;let a=(u=o==null?void 0:o(n.table))!=null?u:TF;return{initialValue:MF(a,e),values:a}},[o,e,n.table]),[{initialValue:i,values:s},l]=(0,Wf.useState)(r);return(0,Wf.useMemo)(()=>{s===TF&&FK(n).then(a=>l({initialValue:MF(a,e),values:a}))},[s,n,e]),{initialValue:i,values:s}};var mc=require("react"),$S=require("@vuu-ui/vuu-data"),VK=()=>{let[t,e]=(0,mc.useState)("disconnected"),n=(0,mc.useCallback)(({status:o})=>{e(o)},[]);return(0,mc.useEffect)(()=>($S.ConnectionManager.on("connection-status",n),()=>{$S.ConnectionManager.removeListener("connection-status",n)}),[n]),t};var hc=require("react"),_S=require("@vuu-ui/vuu-data"),zK=()=>{let[t,e]=(0,hc.useState)(0),n=(0,hc.useCallback)(({messages:o})=>{e(o.messagesLength)},[]);return(0,hc.useEffect)(()=>(_S.ConnectionManager.on("connection-metrics",n),()=>{_S.ConnectionManager.removeListener("connection-metrics",n)}),[n]),t};var DF=require("react"),RF=require("@vuu-ui/vuu-data"),PF={type:"RPC_CALL",service:"TypeAheadRpcHandler"},Fw=(t,e,n="",o=[])=>n!==""&&!o.includes(n.toLowerCase())?[t,e,n]:[t,e],Tf=()=>(0,DF.useCallback)(async t=>{let e=t.length===2?{method:"getUniqueFieldValues",params:t,...PF}:{method:"getUniqueFieldValuesStartingWith",params:t,...PF};return(0,RF.makeRpcCall)(e)},[]);var WS=require("@vuu-ui/vuu-filter-parser"),gc=require("@vuu-ui/vuu-utils"),KS=require("react"),$K="addRowsFromInstruments",{KEY:LF}=gc.metadataKeys,_K={},WK=t=>"rpcName"in t,KK=t=>"menus"in t,UK=t=>t.name==="ROOT",AF=t=>t.context==="cell",GK=t=>t.context==="row",jK=t=>t.context==="selected-rows",qK=(t,e,n=0)=>{switch(t){case"grid":return e==="selected-rows"?n>0:!0;case"header":return e==="grid";default:return!1}},QK=(t,e,n,o,r)=>{if(t==="cell"||t==="row")return(0,WS.getFilterPredicate)(r,o)(e);if(t==="selected-rows"){if(n.length===0)return!1;{let i=(0,WS.getFilterPredicate)(r,o);return n.every(i)}}return!0},JK=t=>{let{rpcName:e}=t;return AF(t)?{field:t.field,rowKey:t.rowKey,rpcName:e,value:t.value,type:"VIEW_PORT_MENU_CELL_RPC"}:GK(t)?{rowKey:t.rowKey,row:t.row,rpcName:e,type:"VIEW_PORT_MENU_ROW_RPC"}:jK(t)?{rpcName:e,type:"VIEW_PORT_MENUS_SELECT_RPC"}:{rpcName:e,type:"VIEW_PORT_MENU_TABLE_RPC"}},XK=t=>["grid","header","filter"].includes(t),YK=({filter:t})=>typeof t=="string"&&t.length>0,ZK=(t,e)=>{switch(t.context){case"cell":return{...t,field:e.columnName,rowKey:e.row[LF],value:e.row[e.columnMap[e.columnName]]};case"row":return{...t,row:(0,gc.getRowRecord)(e.row,e.columnMap),rowKey:e.row[LF]};default:return t}},NF=(t,e,n)=>{var o;return KK(t)?t.menus.some(r=>NF(r,e,n)):qK(e,t.context,(o=n.selectedRows)==null?void 0:o.length)?e==="grid"&&YK(t)?QK(t.context,n.row,n.selectedRows,t.filter,n.columnMap):AF(t)&&t.field!=="*"?t.field===n.columnName:!0:!1},OF=(t,e,n)=>{if(NF(t,e,n)){if(WK(t))return{label:t.name,action:"MENU_RPC_CALL",options:ZK(t,n)};{let o=t.menus.map(r=>OF(r,e,n)).filter(r=>r!==void 0);if(o.length>0)return{label:t.name,children:o}}}},eU=({clientSideMenuActionHandler:t,dataSource:e,menuActionConfig:n=_K,onRpcResponse:o})=>{let r=(0,KS.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&&XK(s)){let f=OF(u,s,l);UK(u)&&(0,gc.isGroupMenuItemDescriptor)(f)?d.push(...f.children):f&&d.push(f)}return d},[e,n]),i=(0,KS.useCallback)(({menuId:s,options:l})=>{if(t!=null&&t(s,l))return!0;if(s==="MENU_RPC_CALL"){let a=JK(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 US=require("@vuu-ui/vuu-data"),yc=require("react"),tU=()=>{let[t,e]=(0,yc.useState)(),n=(0,yc.useCallback)(o=>{let r=new Map;return o.forEach(i=>{r.set(i.table.table,i)}),r},[]);return(0,yc.useEffect)(()=>{async function o(){console.log("GET TABLE LIST");let r=await(0,US.getServerAPI)(),{tables:i}=await r.getTableList(),s=n(await Promise.all(i.map(l=>r.getTableSchema(l))));e(s)}o()},[n]),t},tS=t=>(0,US.getServerAPI)().then(e=>e.getTableSchema(t));
861
861
  /*! Bundled license information:
862
862
 
863
863
  classnames/index.js: