@vuu-ui/vuu-layout 0.8.8 → 0.8.9

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.
Files changed (35) hide show
  1. package/cjs/index.js +18 -8
  2. package/cjs/index.js.map +4 -4
  3. package/esm/index.js +18 -8
  4. package/esm/index.js.map +4 -4
  5. package/index.css +1 -1
  6. package/index.css.map +3 -3
  7. package/package.json +3 -5
  8. package/types/drag-drop/Draggable.d.ts +3 -2
  9. package/types/drag-drop/DropTarget.d.ts +1 -1
  10. package/types/drag-drop/dragDropTypes.d.ts +2 -2
  11. package/types/index.d.ts +2 -1
  12. package/types/layout-provider/LayoutProvider.d.ts +4 -3
  13. package/types/layout-provider/LayoutProviderContext.d.ts +3 -2
  14. package/types/layout-provider/useLayoutDragDrop.d.ts +1 -1
  15. package/types/layout-reducer/flexUtils.d.ts +1 -1
  16. package/types/layout-reducer/layoutTypes.d.ts +7 -0
  17. package/types/layout-reducer/layoutUtils.d.ts +4 -1
  18. package/types/layout-view/ViewContext.d.ts +12 -3
  19. package/types/measured-container/MeasuredContainer.d.ts +9 -0
  20. package/types/measured-container/index.d.ts +2 -0
  21. package/types/measured-container/useMeasuredContainer.d.ts +22 -0
  22. package/types/measured-container/useResizeObserver.d.ts +15 -0
  23. package/types/overflow-container/OverflowContainer.d.ts +3 -0
  24. package/types/overflow-container/overflow-utils.d.ts +1 -1
  25. package/types/overflow-container/useOverflowContainer.d.ts +11 -4
  26. package/types/palette/Palette.d.ts +4 -3
  27. package/types/toolbar/Toolbar.d.ts +11 -0
  28. package/types/toolbar/index.d.ts +1 -0
  29. package/types/toolbar/tabstrip-dom-utils.d.ts +2 -0
  30. package/types/toolbar/useKeyboardNavigation.d.ts +29 -0
  31. package/types/toolbar/useSelection.d.ts +22 -0
  32. package/types/toolbar/useToolbar.d.ts +22 -0
  33. package/types/utils/pathUtils.d.ts +14 -1
  34. package/types/utils/propUtils.d.ts +1 -1
  35. package/types/common-types.d.ts +0 -8
package/cjs/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var ad=Object.create;var In=Object.defineProperty;var ld=Object.getOwnPropertyDescriptor;var cd=Object.getOwnPropertyNames;var ud=Object.getPrototypeOf,dd=Object.prototype.hasOwnProperty;var md=(e,t)=>{for(var o in t)In(e,o,{get:t[o],enumerable:!0})},Ri=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of cd(t))!dd.call(e,r)&&r!==o&&In(e,r,{get:()=>t[r],enumerable:!(n=ld(t,r))||n.enumerable});return e};var X=(e,t,o)=>(o=e!=null?ad(ud(e)):{},Ri(t||!e||!e.__esModule?In(o,"default",{value:e,enumerable:!0}):o,e)),pd=e=>Ri(In({},"__esModule",{value:!0}),e);var Tg={};md(Tg,{Action:()=>Gt,BORDER_STYLES:()=>yg,Component:()=>vn,ComponentRegistry:()=>Tt,ConfigWrapper:()=>fg,DockLayout:()=>Ai,Draggable:()=>Fn,DraggableLayout:()=>ls,Drawer:()=>Sn,DropMenu:()=>rs,DropTarget:()=>bt,Flexbox:()=>Wn,FlexboxLayout:()=>Ms,FluidGrid:()=>Qn,FluidGridLayout:()=>As,Header:()=>ui,HeightOnly:()=>qm,LayoutActionType:()=>Ee,LayoutConfigurator:()=>Ei,LayoutProvider:()=>Ym,LayoutProviderContext:()=>ho,LayoutProviderVersion:()=>jm,LayoutTreeViewer:()=>Ii,MARGIN_STYLES:()=>hg,NO_WRAPPED_ITEMS:()=>Nr,OverflowContainer:()=>ni,PADDING_STYLES:()=>bg,Palette:()=>Uu,PaletteItem:()=>yi,Placeholder:()=>Uo,Stack:()=>$r,StackLayout:()=>xi,View:()=>lo,ViewContext:()=>fn,WidthHeight:()=>Cs,WidthOnly:()=>Jm,XXXnormalizeStyles:()=>Ig,applyLayout:()=>gm,applyLayoutProps:()=>fo,applyOverflowClassToWrappedItems:()=>di,asReactElements:()=>Kt,componentToJson:()=>Ts,computeMenuPosition:()=>ns,containerOf:()=>Fi,correctForWrappedHighPriorityItems:()=>gi,correctForWrappedOverflowIndicator:()=>fi,createFlexbox:()=>Vn,createPlaceHolder:()=>et,expandFlex:()=>Rn,extractResponsiveProps:()=>ap,findTarget:()=>ut,followPath:()=>ge,followPathToComponent:()=>jr,followPathToParent:()=>ct,getChild:()=>Bi,getChildProp:()=>Xr,getElementsMarkedAsWrapped:()=>Fu,getFlexDimensions:()=>ps,getFlexOrIntrinsicStyle:()=>Kn,getFlexStyle:()=>$n,getIntrinsicSize:()=>$e,getManagedDimension:()=>Is,getNonWrappedAndWrappedItems:()=>Ao,getPersistentState:()=>hs,getProp:()=>G,getProps:()=>$,hasPersistentState:()=>bs,hasUnboundedFlexStyle:()=>fs,highPriorityItemsHaveWrappedButShouldNotHave:()=>pi,identifyDropTarget:()=>Pn,isContainer:()=>Se,isLayoutComponent:()=>_r,isResponsiveAttribute:()=>rl,isTabstrip:()=>Nd,isTypeOf:()=>yd,isView:()=>Pi,layoutFromJson:()=>jo,layoutReducer:()=>Rs,layoutToJSON:()=>Ss,markElementAsWrapped:()=>zu,nextLeaf:()=>Ed,nextStep:()=>Ze,overflowIndicatorHasWrappedButShouldNotHave:()=>mi,previousLeaf:()=>Id,processLayoutElement:()=>Gn,registerComponent:()=>fe,removeOverflowIndicatorIfNoLongerNeeded:()=>hi,resetPath:()=>he,resizeObserver:()=>Ps,serializeProps:()=>Ra,setPersistentState:()=>ys,setRef:()=>Sd,sortByScreenOrder:()=>Au,switchWrappedItemIntoView:()=>kr,typeOf:()=>U,unmarkItemsWhichAreNoLongerWrapped:()=>Bu,useBreakpoints:()=>ks,useId:()=>Vt,useLayoutEffectSkipFirst:()=>Yr,useLayoutProviderDispatch:()=>tt,useLayoutProviderVersion:()=>Ja,usePersistentState:()=>Zt,useResizeObserver:()=>Qo,useViewActionDispatcher:()=>mn,useViewContext:()=>qf,useViewDispatch:()=>ci,wrapIntrinsicSizeComponentWithFlexbox:()=>po});module.exports=pd(Tg);var Gr=require("@vuu-ui/vuu-utils"),ki=X(require("classnames"));var Li={},Mi={},Tt={};function Se(e){return Li[e]===!0}function Pi(e){return Mi[e]===!0}var _r=e=>Se(e)||Pi(e);function fe(e,t,o="component"){Tt[e]=t,o==="container"?Li[e]=!0:o==="view"&&(Mi[e]=!0)}var $o=require("@salt-ds/core"),Wr=X(require("classnames")),Hi=require("react");var wt=require("react/jsx-runtime"),vt="vuuDrawer",Ci=e=>typeof e=="string"?e:e+"px",fd=(e,t,o)=>{let n=t!==void 0,r=o!==void 0;if(!(!e&&!r&&!n))return!r&&!n?e:{...e,"--drawer-size":n?Ci(t):void 0,"--drawer-peek-size":r?Ci(o):void 0}},Ni=({children:e,className:t,clickToOpen:o,defaultOpen:n,sizeOpen:r,sizeClosed:s,style:i,open:a,position:l="left",inline:c,onClick:d,peekaboo:m=!1,toggleButton:u,...p})=>{let[f,g]=(0,$o.useControlled)({controlled:a,default:n!=null?n:!1,name:"Drawer",state:"open"}),h=(0,Wr.default)(vt,t,`${vt}-${l}`,{[`${vt}-open`]:f,[`${vt}-inline`]:c,[`${vt}-over`]:!c,[`${vt}-peekaboo`]:m}),b=(0,Hi.useCallback)(()=>{g(!f)},[f,g]),x=fd(i,r,s),I=o?b:d,y=()=>(0,wt.jsx)("div",{className:(0,Wr.default)("vuuToggleButton-container"),children:f?(0,wt.jsx)($o.Button,{"aria-label":"close",onClick:b,"data-icon":"close",variant:"secondary"}):(0,wt.jsx)($o.Button,{"aria-label":"open",onClick:b,"data-icon":"close",variant:"secondary"})});return(0,wt.jsxs)("div",{...p,className:h,onClick:I,style:x,children:[u=="start"?y():null,(0,wt.jsx)("div",{className:`${vt}-liner`,children:(0,wt.jsx)("div",{className:`${vt}-content`,children:e})}),u=="end"?y():null]})};Ni.displayName="Drawer";var Sn=Ni;var Tn=require("react/jsx-runtime"),gd=e=>e.type===Sn,hd=({props:{position:e="left"}})=>e.match(/top|bottom/),Ur=e=>{let{children:t,className:o,id:n,style:r}=e,s="vuuDockLayout",[i,a]=(0,Gr.partition)(t,gd),[l,c]=(0,Gr.partition)(i,hd),d=l.length===0?"horizontal":c.length===0?"vertical":"both",m=(0,ki.default)(s,o,`${s}-${d}`);return(0,Tn.jsxs)("div",{className:m,id:n,style:r,children:[i,(0,Tn.jsx)("div",{className:`${s}-content`,children:a})]})};Ur.displayName="DockLayout";var Ai=Ur;fe("DockLayout",Ur,"container");var Oi=require("react");var zi=require("react/jsx-runtime"),Zr=(0,Oi.forwardRef)(function({resizeable:t,...o},n){return(0,zi.jsx)("div",{...o,className:"Component",ref:n})});Zr.displayName="Component";var vn=Zr;fe("Component",Zr);var Ue=X(require("react"));var bd={},G=(e,t)=>{var n;let o=$(e);return(n=o[t])!=null?n:o[`data-${t}`]},$=e=>(e==null?void 0:e.props)||e||bd,Xr=e=>{let t=$(e);if(t.children){let{children:[o,...n]}=t;return n.length>0&&console.warn(`getChild expected a single child, found ${n.length+1}`),o}};function U(e){var t;if(e){let o=e.type;if(typeof o=="function"||typeof o=="object"){let n=o.displayName||o.name||((t=o.type)==null?void 0:t.name);if(typeof n=="string")return n}if(typeof e.type=="string")return e.type;if(e.constructor)return e.constructor.displayName;throw Error("typeOf unable to determine type of element")}}var yd=(e,t)=>U(e)===t;var xd=e=>{let t=e.lastIndexOf(".");return t===-1?e:e.slice(0,t)};function ct(e,t){let{"data-path":o,path:n=o}=$(e);return t==="0"||t===n?null:ge(e,xd(t),!0)}function ut(e,t){let{children:o,...n}=$(e);if(t(n))return e;if(Ue.default.Children.count(o)>0){let r=Ue.default.isValidElement(o)?[o]:o;for(let s of r){let i=ut(s,t);if(i)return i}}}function Fi(e,t){if(t===e)return null;let{path:o,children:n}=$(e),{idx:r,finalStep:s}=Ze(o,G(t,"path"));return s?e:n===void 0||n[r]===void 0?null:Fi(n[r],t)}var Bi=(e,t)=>{if(Ue.default.isValidElement(e)&&t==0)return e;if(Array.isArray(e))return e[t]};function jr(e,t){let o=t.split("."),n=[e],r=s=>Ue.default.isValidElement(s.props.children)?[s.props.children]:s.props.children;for(let s=0;s<o.length;s++){let i=parseInt(o[s]),a=n[i];if(s===o.length-1)return a;n=r(a)}}var $i=(e,t,o=!0)=>{let{children:n,id:r}=e.props;if(r===t)return e;if(Ue.default.Children.count(n)>0){let s=(0,Ue.isValidElement)(n)?[n]:n;for(let i of s)if((0,Ue.isValidElement)(i)){let a=$i(i,t,!1);if(a)return a}}if(o===!0)throw Error(`pathUtils.findTargetById id #${t} not found in source`)};function ge(e,t,o=!1){if(t.startsWith("#"))return $i(e,t.slice(1),o);let{"data-path":n,path:r=n}=$(e);if(t.indexOf(r)!==0)throw Error(`pathUtils.followPath path ${t} is not within source path ${r}`);let s=t.slice(r.length+1);if(s==="")return e;let i=e,a=s.split(".");for(let l=0;l<a.length;l++){if(Ue.default.Children.count(i.props.children)===0){let c=`element at 0.${a.slice(0,l).join(".")} has no children, so cannot fulfill rest of path ${a.slice(l).join(".")}`;if(o)throw Error(c);console.warn(c);return}if(i=Bi(i.props.children,parseInt(a[l])),i===void 0){let c=`model at 0.${a.slice(0,l).join(".")} has no children that fulfill next step of path ${a.slice(l).join(".")}`;if(o)throw Error(c);console.warn(c)}}return i}function Ed(e,t){let o=ct(e,t),n=t.split(".").map(r=>parseInt(r,10));if(o){let r=n.pop(),{children:s}=o.props;if(s.length-1>r)return wn(s[r+1]);{let i=n.pop(),a=ct(e,G(o,"path"));if(a&&typeof i=="number"&&(n=a.props.path.split(".").map(l=>parseInt(l,10)),a.props.children.length-1>i)){let l=a.props.children[i+1];return Se(U(l))?wn(l):l}}}return wn(e)}function Id(e,t){let o=t.split(".").map(s=>parseInt(s,10)),n=o.pop(),r=ct(e,t);if(r!=null&&typeof n=="number"){let{children:s}=r.props;if(n>0)return Dn(s[n-1]);for(;o.length>1;)if(n=o.pop(),r=ct(e,G(r,"path")),n>0){let i=r.props.children[n-1];return Se(U(i))?Dn(i):i}}return Dn(e)}function wn(e){if(Se(U(e))){let{children:t}=e.props||e;return wn(t[0])}return e}function Dn(e){if(Se(U(e))){let{children:t}=e.props||e;return Dn(t[t.length-1])}return e}function Ze(e,t,o=!1){if(e===t)return{idx:-1,finalStep:!0};let n=`${e}.`;if(!t.startsWith(n))throw Error("pathUtils nextStep has strayed from the path");let r=o?0:1,s=t.replace(n,"").split(".").map(i=>parseInt(i,10));return{idx:s[0],finalStep:s.length===r}}function he(e,t,o){if(G(e,"path")===t)return e;let n=[];Ue.default.Children.forEach(e.props.children,(s,i)=>{G(s,"path")?n.push(he(s,`${t}.${i}`)):n.push(s)});let r=e.props["data-path"]?"data-path":"path";return Ue.default.cloneElement(e,{[r]:t,...o},n)}function Sd(e,t){typeof e=="function"?e(t):e&&(e.current=t)}var Je=require("react"),Td=[],vd=0,Kt=e=>{let t=Array.isArray(e),o=t?e.length:Je.Children.count(e);return t&&e.every(Je.isValidElement)?e:o===1&&!t&&(0,Je.isValidElement)(e)?[e]:o>1?e:Td},Yr=(e,t)=>{let o=(0,Je.useRef)(!1);(0,Je.useLayoutEffect)(()=>{o.current?e():o.current=!0},t)},Vt=e=>(0,Je.useMemo)(()=>e!=null?e:`vuu-${++vd}`,[e]);var Rn=e=>{if(typeof e!="number")throw Error(`"no support yet for flex value ${e}`);return{flexBasis:0,flexGrow:1,flexShrink:1}};var Wt={north:1,east:2,south:4,west:8,header:16,centre:32,absolute:64},Ko={AFTER:"after",BEFORE:"before"},De=Object.freeze({North:_t("north"),East:_t("east"),South:_t("south"),West:_t("west"),Header:_t("header"),Centre:_t("centre"),Absolute:_t("absolute")});function _t(e){return Object.freeze({offset:e==="north"||e==="west"?0:e==="south"||e==="east"?1:NaN,valueOf:function(){return Wt[e]},toString:function(){return e},North:e==="north",South:e==="south",East:e==="east",West:e==="west",Header:e==="header",Centre:e==="centre",NorthOrSouth:e==="north"||e==="south",EastOrWest:e==="east"||e==="west",NorthOrWest:e==="north"||e==="west",SouthOrEast:e==="east"||e==="south",Absolute:e==="absolute"})}var Ki=De.North,Vi=De.South,qr=De.East,Jr=De.West,wd=De.Header,Dd=De.Centre,uo=class{static measure(t,o=[]){let n={};return Md(t,n,o),n}static allBoxesContainingPoint(t,o,n,r,s){return Ui(t,o,n,r,s).reverse()}};function Qr(e,t,o,n=30){let r=o.right-o.left,s=o.bottom-o.top,i=e-o.left,a=t-o.top,l=0;return i<n&&(l+=8),i>r-n&&(l+=2),a<n&&(l+=1),a>s-n&&(l+=4),{pctX:i/r,pctY:a/s,closeToTheEdge:l}}function es(e,t,o,n){let{BEFORE:r,AFTER:s}=Ko,{pctX:i,pctY:a,closeToTheEdge:l}=Qr(e,t,o),c,d;if(n==="row")c=i<.5?Jr:qr;else if(o.header&&Ln(o.header,e,t))if(c=wd,o.Stack){let m=o.Stack.length;if(m===0)d={index:-1,left:o.left,positionRelativeToTab:s,width:0};else{let u=o.Stack.find(({left:p,right:f})=>e>=p&&e<=f);if(u){let p=u.right-u.left;d={index:o.Stack.indexOf(u),left:u.left,positionRelativeToTab:(e-u.left)/p<.5?r:s,width:p}}else d={left:o.Stack[m-1].right,width:0,index:m,positionRelativeToTab:s}}}else if(o.header.titleWidth){let m=o.header.titleWidth;d={index:-1,left:o.left,positionRelativeToTab:(e-o.left)/m<.5?r:s,width:m}}else d={left:o.left,width:0,positionRelativeToTab:r,index:-1};else c=Rd(e,t,o,i,a);return{position:c,x:e,y:t,closeToTheEdge:l,tab:d}}function Rd(e,t,o,n,r){let s=Ld(o,.2);if(Ln(s,e,t))return Dd;switch(`${r<.5?"north":"south"}${n<.5?"west":"east"}`){case"northwest":return n>r?Ki:Jr;case"northeast":return 1-n>r?Ki:qr;case"southeast":return n>r?qr:Vi;case"southwest":return 1-n>r?Jr:Vi;default:}}function Ld({right:e,left:t,top:o,bottom:n},r){let s=(1-r)/2,i=(e-t)*s,a=(n-o)*s;return{left:t+i,top:o+a,right:e-i,bottom:n-a}}function Md(e,t,o){let{id:n,"data-path":r,path:s=r}=$(e),i=U(e);if(n&&s){let[a,l]=Gi(e);_i(e,a,l,t),Se(i)&&Wi(e,t,o)}}function _i(e,t,o,n){let{"data-path":r,path:s=r,header:i}=$(e);n[s]=t;let a=U(e);if(i||a==="Stack"){let l=o.querySelector(".vuuHeader");if(l){let{top:c,left:d,right:m,bottom:u}=l.getBoundingClientRect();if(n[s].header={top:Math.round(c),left:Math.round(d),right:Math.round(m),bottom:Math.round(u)},a==="Stack")n[s].Stack=Array.from(l.querySelectorAll(".saltTab")).map(p=>p.getBoundingClientRect()).map(({left:p,right:f})=>({left:p,right:f}));else{let p=l.querySelector('[class^="vuuHeader-title"]'),{header:f}=n[s];p&&f&&(f.titleWidth=p.clientWidth)}}}return n[s]}function Wi(e,t,o,n=0,r=0,s=0,i=0){let{children:a,"data-path":l,path:c=l,style:d,active:m=0}=$(e),u=U(e),p=u==="Flexbox",f=u==="Stack",g=p&&d.flexDirection==="column",h=p&&d.flexDirection==="row",x=(f?a.filter((y,S)=>S===m):a.filter(Pd)).map(y=>{let[S,E]=Gi(y);return[{...S,top:S.top-s,right:S.right+r,bottom:S.bottom+i,left:S.left-n},E,y]}),I=x.map(([y,S,E],v,D)=>{let P,A,C,T,R,L,H=D.length-1;h?(R=v===0?0:y.left-D[v-1][0].right,L=v===H?0:D[v+1][0].left-y.right,P=v===0||R===0?0:R,A=v===H||L===0?0:L-L/2,y.left-=P,y.right+=A,C=s,T=i):g&&(R=v===0?0:y.top-D[v-1][0].bottom,L=v===H?0:D[v+1][0].top-y.bottom,C=v===0||R===0?0:R,T=v===H||L===0?0:L-L/2,y.top-=C,y.bottom+=T,P=n,A=r);let N=_i(E,y,S,t),w=U(E);return Se(w)&&Wi(E,t,o,P,A,C,T),N});x.length&&(t[c].children=I)}function Pd(e){let{id:t}=$(e),o=document.getElementById(t);return o?o.dataset.dragging!=="true":(console.warn(`BoxModel: no element found with id #${t}`),!1)}function Gi(e){let{id:t}=$(e);if(t===void 0)throw Error("`BoxModel.measureComponentElement, component has no id");let o=document.getElementById(t);if(!o)throw Error("BoxModel.measureComponentElement, no DOM element found for component");let{top:n,left:r,right:s,bottom:i,height:a,width:l}=o.getBoundingClientRect(),c,d=U(e);if(Se(d)){let m=o.scrollHeight;m>a&&(c={id:t,scrollHeight:m,scrollTop:o.scrollTop})}return[{top:Math.round(n),left:Math.round(r),right:Math.round(s),bottom:Math.round(i),height:Math.round(a),width:Math.round(l),scrolling:c},o,e]}function Ui(e,t,o,n,r,s=[]){let{children:i,"data-path":a,path:l=a}=$(e),c=U(e),d=t[l];if(!Ln(d,o,n))return s;if(r&&r.length){if(r.includes(l))s.push(e);else if(!r.some(m=>m.startsWith(l)))return s}else s.push(e);if(!Se(c)||d.header&&Ln(d.header,o,n))return s;d.scrolling&&Cd(d,o,n);for(let m=0;m<i.length;m++){if(c==="Stack"&&e.props.active!==m)continue;let u=Ui(i[m],t,o,n,r);if(u.length)return s.concat(u)}return s}function Ln(e,t,o){if(e)return t>=e.left&&t<e.right&&o>=e.top&&o<e.bottom}function Cd({top:e,bottom:t,scrolling:o},n,r){if(o){let{id:s,scrollTop:i,scrollHeight:a}=o,l=t-e;if(i===0&&t-r<50){let c=a-l;document.getElementById(s).scrollTo({left:0,top:c,behavior:"smooth"}),o.scrollTop=c}else if(i>0&&r-e<50)document.getElementById(s).scrollTo({left:0,top:0,behavior:"smooth"}),o.scrollTop=0;else return!1}else return!1}var Hd=.4,Mn=class{constructor(t,o,n,r,s){this.init(t,o,n,r,s)}init(t,o,n,r,s){let{left:i,top:a}=r,{pctX:l,pctY:c}=Qr(o,n,r),d=Hd,m=l*r.width,u=r.width-m,p=c*r.height,f=r.height-p,g=r.width*d,h=r.height*d,b=1-d,x=m*b,I=p*b,y=u*b,S=f*b;this.intrinsicSize=s,this.constraint={zone:{x:{lo:t.left,hi:t.right},y:{lo:t.top,hi:t.bottom}},pos:{x:{lo:t.left-x,hi:t.right-r.width+y},y:{lo:t.top-I,hi:t.bottom-r.height+S}},mouse:{x:{lo:t.left+g*l,hi:t.right-g*(1-l)},y:{lo:t.top+h*c,hi:t.bottom-h*(1-c)}}},this.x={pos:i,lo:!1,hi:!1,mousePos:o,mousePct:l},this.y={pos:a,lo:!1,hi:!1,mousePos:n,mousePct:c}}outOfBounds(){return this.x.lo||this.x.hi||this.y.lo||this.y.hi}inBounds(){return!this.outOfBounds()}dropX(){return this.dropXY("x")}dropY(){return this.dropXY("y")}hasIntrinsicSize(){var t,o;return((t=this==null?void 0:this.intrinsicSize)==null?void 0:t.height)&&((o=this==null?void 0:this.intrinsicSize)==null?void 0:o.width)}update(t,o){let n=this[t],r=this.constraint.mouse[t],s=this.constraint.pos[t],i=n.pos,a=o-n.mousePos;return a<0?n.lo||(o<r.lo?(n.lo=!0,n.pos=s.lo):n.hi?o<r.hi&&(n.hi=!1,n.pos+=a):n.pos+=a):a>0&&(n.hi||(o>r.hi?(n.hi=!0,n.pos=s.hi):n.lo?o>r.lo&&(n.lo=!1,n.pos+=a):n.pos+=a)),n.mousePos=o,i!==n.pos}dropXY(t){let o=this[t],n=this.constraint.zone[t];return o.lo?Math.max(n.lo,o.mousePos):o.hi?Math.min(o.mousePos,Math.round(n.hi)-1):o.mousePos}};var Nd=e=>e.pos.tab&&U(e.component)==="Stack"&&e.pos.position.Header,{north:kd,south:Ad,east:Od,west:zd}=Wt,Fd=Od+zd,Bd=kd+Ad,bt=class{constructor({component:t,pos:o,clientRect:n,nextDropTarget:r}){this.component=t,this.pos=o,this.clientRect=n,this.nextDropTarget=r,this.active=!1,this.dropRect=void 0}targetTabPos(t){let{left:o,width:n,positionRelativeToTab:r}=t;return r===Ko.BEFORE?o:o+n}getTargetDropOutline(t,o){if(this.pos.tab)return this.getDropTabOutline(t,this.pos.tab);if(o&&o.hasIntrinsicSize())return this.getIntrinsicDropRect(o);{let[n,r,s,i]=this.getDropRectOutline(t,o);return{l:n,t:r,r:s,b:i}}}getDropTabOutline(t,o){var b,x;let{clientRect:{top:n,left:r,right:s,bottom:i,header:a}}=this,l=0,c=Math.round(t/2)+l,d=Math.round(n),m=Math.round(r+c),u=Math.round(s-c),p=Math.round(i-c),f=this.targetTabPos(o),g=60,h=((b=a==null?void 0:a.bottom)!=null?b:0)-((x=a==null?void 0:a.top)!=null?x:0);return{l:m,t:d,r:u,b:p,tabLeft:f,tabWidth:g,tabHeight:h}}getIntrinsicDropRect(t){var g,h,b,x;let{pos:o,clientRect:n}=this,{x:r,y:s}=t,i=(h=(g=t.intrinsicSize)==null?void 0:g.height)!=null?h:0,a=(x=(b=t.intrinsicSize)==null?void 0:b.height)!=null?x:0;i&&i>n.height?(console.log("DropTarget: we're going to blow the gaff"),i=n.height):a&&a>n.width&&(console.log("DropTarget: we're going to blow the gaff"),a=n.width);let l=Math.min(n.right-a,Math.max(n.left,Math.round(o.x-r.mousePct*a))),c=Math.min(n.bottom-i,Math.max(n.top,Math.round(o.y-s.mousePct*i))),[d,m,u,p]=this.dropRect=[l,c,l+a,c+i],f=o.position.EastOrWest?[d,n.top,d,n.bottom,u,n.top,u,n.bottom]:[n.left,m,n.right,m,n.left,p,n.right,p];return{l:d,r:u,t:m,b:p,guideLines:f}}getDropRectOutline(t,o){var x,I,y;let{pos:n,clientRect:r}=this,{width:s,height:i,position:a}=n,{width:l,height:c}=(x=o==null?void 0:o.intrinsicSize)!=null?x:{},d=(I=c!=null?c:i)!=null?I:0,m=(y=l!=null?l:s)!=null?y:0;this.dropRect=void 0;let{top:u,left:p,right:f,bottom:g}=r,h=0,b=Math.round(t/2)+h;switch(a){case De.North:case De.Header:{let S=Math.round((g-u)/2),E=d?Math.min(S,Math.round(d)):S;return m&&p+m<f?[p+b,u+b,p+m-b,u+b+E]:[p+b,u+b,f-b,u+b+E]}case De.West:{let S=Math.round((f-p)/2),E=m?Math.min(S,Math.round(m)):S;return d&&u+d<g?[p+b,u+b,p-b+E,u+d+b]:[p+b,u+b,p-b+E,g-b]}case De.East:{let S=Math.round((f-p)/2),E=m?Math.min(S,Math.round(m)):S;return d&&u+d<g?[f-b-E,u+b,f-b,u+d+b]:[f-b-E,u+b,f-b,g-b]}case De.South:{let S=Math.round((g-u)/2),E=d?Math.min(S,Math.round(d)):S;return m&&p+m<f?[p+b,g-b-E,p+m-b,g-b]:[p+b,g-b-E,f-b,g-b]}case De.Centre:return[p+b,u+b,f-b,g-b];default:return console.warn(`DropTarget does not recognize position ${a}`),null}}activate(){return this.active=!0,this}toArray(){let t=this,o=[t];for(;t=t.nextDropTarget;)o.push(t);return o}static getActiveDropTarget(t){return t===null?null:t!=null&&t.active?t:bt.getActiveDropTarget(t.nextDropTarget)}};function Pn(e,t,o,n,r,s){var l;let i=null,a=uo.allBoxesContainingPoint(o,n,e,t,s);if(a.length){let[c,...d]=a,{"data-path":m,path:u=m,"data-row-placeholder":p}=$(c),f=n[u],h=es(e,t,f,r&&p?"row":void 0),b=n[u],x=([I,...y])=>{var S,E;if((S=h.position)!=null&&S.Header||h.closeToTheEdge){let v=$d(I,h,b,n,e,t);if(v){let[D,P]=v;return new bt({component:I,pos:D,clientRect:P,nextDropTarget:(E=x(y))!=null?E:null})}else if(y.length)return x(y)}};i=new bt({component:c,pos:h,clientRect:f,nextDropTarget:(l=x(d))!=null?l:null}).activate()}return i}function $d(e,{closeToTheEdge:t,position:o},n,r,s,i){if(!e||e.type==="DraggableLayout")return;let a=r[e.props.path],l=t&Wt.north,c=t&Wt.east,d=t&Wt.south,m=t&Wt.west,u=(l||o.Header)&&Math.round(n.top)===Math.round(a.top),p=c&&Math.round(n.right)===Math.round(a.right),f=d&&Math.round(n.bottom)===Math.round(a.bottom),g=m&&Math.round(n.left)===Math.round(a.left);if(u||p||f||g){let{"data-path":h,path:b=h}=e.props,x=r[b],I=es(s,i,x);if((Kd(e)||Zi(e))&&t&Fd)return I.width=120,[I,x];if((Vd(e)||Zi(e))&&(o.Header||t&Bd))return I.height=120,[I,x]}}function Zi(e){return U(e)==="Stack"}function Kd(e){return U(e)==="Flexbox"&&e.props.style.flexDirection==="column"}function Vd(e){return U(e)==="Flexbox"&&e.props.style.flexDirection==="row"}var Cn=require("@vuu-ui/vuu-popups");var Xi=X(require("classnames"));var os=require("react/jsx-runtime");function ns(e,t=0,o=0){let{pos:n,clientRect:r}=e,s=20;return n.position.West?[r.left-o+s,n.y-t,"left"]:n.position.South?[n.x-o,r.bottom-t-s,"bottom"]:n.position.East?[r.right-o-s,n.y-t,"right"]:[n.x-o,r.top-t+s,"top"]}var ts="vuuDropMenu",rs=({className:e,dropTarget:t,onHover:o,orientation:n})=>{let r=t.toArray();return(0,os.jsx)("div",{className:(0,Xi.default)(ts,e,`${ts}-${n}`),onMouseLeave:()=>o(null),children:r.map((s,i)=>(0,os.jsx)("div",{className:`${ts}-item`,"data-icon":i===0?"column-2A":"column-2B",onMouseEnter:()=>o(s)},i))})};var Ji=require("react/jsx-runtime"),ss=!1,Vo=null,Qe=null,_d=e=>Vo=e,Wd=([e,t])=>`M${e},${t}`,Gd=([e,t])=>`L${e},${t}`,ji=([e,...t])=>`${Wd(e)} ${t.map(Gd)}Z`,Ud=e=>{if(e){let[t,o,n,r,s,i,a,l]=e;return`M${t},${o} L${n},${r} M${s},${i} L${a},${l}`}else return""};function Zd(){if(document.getElementById("hw-drag-canvas")===null){let e=document.getElementById("root"),t=document.createElement("div");t.id="hw-drag-canvas",t.innerHTML=`
1
+ "use strict";var Lk=Object.create;var Hc=Object.defineProperty;var Ok=Object.getOwnPropertyDescriptor;var Nk=Object.getOwnPropertyNames;var Hk=Object.getPrototypeOf,Vk=Object.prototype.hasOwnProperty;var Bk=(n,e)=>{for(var t in e)Hc(n,t,{get:e[t],enumerable:!0})},oy=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Nk(e))!Vk.call(n,o)&&o!==t&&Hc(n,o,{get:()=>e[o],enumerable:!(r=Ok(e,o))||r.enumerable});return n};var U=(n,e,t)=>(t=n!=null?Lk(Hk(n)):{},oy(e||!n||!n.__esModule?Hc(t,"default",{value:n,enumerable:!0}):t,n)),Fk=n=>oy(Hc({},"__esModule",{value:!0}),n);var sy=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var R=(n,e,t)=>(sy(n,e,"read from private field"),t?t.call(n):e.get(n)),pe=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},Z=(n,e,t,r)=>(sy(n,e,"write to private field"),r?r.call(n,t):e.set(n,t),t),iy=(n,e,t,r)=>({set _(o){Z(n,e,o,t)},get _(){return R(n,e,r)}});var jF={};Bk(jF,{Action:()=>os,BORDER_STYLES:()=>_F,Component:()=>Fc,ComponentRegistry:()=>uo,ConfigWrapper:()=>FF,DockLayout:()=>py,Draggable:()=>eu,DraggableLayout:()=>Ef,Drawer:()=>Vc,DropMenu:()=>Cf,DropTarget:()=>Vr,Flexbox:()=>lu,FlexboxLayout:()=>qf,FluidGrid:()=>gu,FluidGridLayout:()=>Zf,Header:()=>Ab,HeightOnly:()=>TP,LayoutActionType:()=>yt,LayoutConfigurator:()=>Xb,LayoutProvider:()=>SP,LayoutProviderContext:()=>mi,LayoutProviderVersion:()=>wP,LayoutTreeViewer:()=>Jb,MARGIN_STYLES:()=>$F,MeasuredContainer:()=>Ca,NO_WRAPPED_ITEMS:()=>Qd,OverflowContainer:()=>Es,PADDING_STYLES:()=>WF,Palette:()=>hk,PaletteItem:()=>Gb,Placeholder:()=>sa,Stack:()=>ef,StackLayout:()=>jb,Toolbar:()=>BF,View:()=>si,ViewContext:()=>Dc,WidthHeight:()=>Qf,WidthOnly:()=>EP,XXXnormalizeStyles:()=>GF,applyLayout:()=>zM,applyLayoutProps:()=>di,applyOverflowClassToWrappedItems:()=>Fb,asReactElements:()=>Hr,componentToJson:()=>zf,computeMenuPosition:()=>vf,containerOf:()=>xy,correctForWrappedHighPriorityItems:()=>_b,correctForWrappedOverflowIndicator:()=>Wb,createFlexbox:()=>su,createPlaceHolder:()=>Yn,expandFlex:()=>_c,extractResponsiveProps:()=>OP,findTarget:()=>pr,followPath:()=>it,followPathToComponent:()=>df,followPathToParent:()=>fr,getChild:()=>vy,getChildProp:()=>hf,getElementsMarkedAsWrapped:()=>rk,getFlexDimensions:()=>Pf,getFlexOrIntrinsicStyle:()=>ou,getFlexStyle:()=>ru,getIntrinsicSize:()=>fn,getManagedDimension:()=>Bf,getNonWrappedAndWrappedItems:()=>Ul,getPersistentState:()=>Lf,getProp:()=>ae,getProps:()=>ee,hasPersistentState:()=>Of,hasUnboundedFlexStyle:()=>If,highPriorityItemsHaveWrappedButShouldNotHave:()=>$b,identifyDropTarget:()=>Uc,isApplicationLevelChange:()=>YM,isContainer:()=>Mt,isLayoutComponent:()=>sf,isLayoutLevelChange:()=>ZM,isResponsiveAttribute:()=>Wx,isTabstrip:()=>sM,isTypeOf:()=>Kk,isView:()=>cy,layoutFromJson:()=>fi,layoutReducer:()=>Kf,layoutToJSON:()=>Ff,markElementAsWrapped:()=>nk,nextLeaf:()=>Gk,nextStep:()=>Mn,overflowIndicatorHasWrappedButShouldNotHave:()=>zb,previousLeaf:()=>qk,processLayoutElement:()=>au,registerComponent:()=>Je,removeOverflowIndicatorIfNoLongerNeeded:()=>Kb,resetPath:()=>bt,resizeObserver:()=>jf,resolveJSONPath:()=>yy,resolvePath:()=>Wc,serializeProps:()=>ux,setPersistentState:()=>Nf,setRef:()=>jk,sortByScreenOrder:()=>tk,switchWrappedItemIntoView:()=>Xd,typeOf:()=>ue,unmarkItemsWhichAreNoLongerWrapped:()=>ok,useBreakpoints:()=>Yf,useId:()=>lt,useLayoutCreateNewChild:()=>Uf,useLayoutEffectSkipFirst:()=>Pn,useLayoutProviderDispatch:()=>pn,useLayoutProviderVersion:()=>Hx,useMeasuredContainer:()=>Ob,usePersistentState:()=>is,useResizeObserver:()=>ha,useViewActionDispatcher:()=>Ec,useViewContext:()=>aF,useViewDispatch:()=>Ib,wrapIntrinsicSizeComponentWithFlexbox:()=>hi});module.exports=Fk(jF);var af=require("@vuu-ui/vuu-utils"),fy=U(require("classnames"));var ly={},ay={},uo={};function Mt(n){return ly[n]===!0}function cy(n){return ay[n]===!0}var sf=n=>Mt(n)||cy(n);function Je(n,e,t="component"){uo[n]=e,t==="container"?ly[n]=!0:t==="view"&&(ay[n]=!0)}var Zl=require("@salt-ds/core"),lf=U(require("classnames")),hy=require("react");var fo=require("react/jsx-runtime"),ho="vuuDrawer",uy=n=>typeof n=="string"?n:n+"px",zk=(n,e,t)=>{let r=e!==void 0,o=t!==void 0;if(!(!n&&!o&&!r))return!o&&!r?n:{...n,"--drawer-size":r?uy(e):void 0,"--drawer-peek-size":o?uy(t):void 0}},dy=({children:n,className:e,clickToOpen:t,defaultOpen:r,sizeOpen:o,sizeClosed:s,style:i,open:l,position:a="left",inline:c,onClick:u,peekaboo:h=!1,toggleButton:d,...f})=>{let[p,m]=(0,Zl.useControlled)({controlled:l,default:r!=null?r:!1,name:"Drawer",state:"open"}),g=(0,lf.default)(ho,e,`${ho}-${a}`,{[`${ho}-open`]:p,[`${ho}-inline`]:c,[`${ho}-over`]:!c,[`${ho}-peekaboo`]:h}),b=(0,hy.useCallback)(()=>{m(!p)},[p,m]),C=zk(i,o,s),v=t?b:u,x=()=>(0,fo.jsx)("div",{className:(0,lf.default)("vuuToggleButton-container"),children:p?(0,fo.jsx)(Zl.Button,{"aria-label":"close",onClick:b,"data-icon":"close",variant:"secondary"}):(0,fo.jsx)(Zl.Button,{"aria-label":"open",onClick:b,"data-icon":"close",variant:"secondary"})});return(0,fo.jsxs)("div",{...f,className:g,onClick:v,style:C,children:[d=="start"?x():null,(0,fo.jsx)("div",{className:`${ho}-liner`,children:(0,fo.jsx)("div",{className:`${ho}-content`,children:n})}),d=="end"?x():null]})};dy.displayName="Drawer";var Vc=dy;var Bc=require("react/jsx-runtime"),$k=n=>n.type===Vc,Wk=({props:{position:n="left"}})=>n.match(/top|bottom/),cf=n=>{let{children:e,className:t,id:r,style:o}=n,s="vuuDockLayout",[i,l]=(0,af.partition)(e,$k),[a,c]=(0,af.partition)(i,Wk),u=a.length===0?"horizontal":c.length===0?"vertical":"both",h=(0,fy.default)(s,t,`${s}-${u}`);return(0,Bc.jsxs)("div",{className:h,id:r,style:o,children:[i,(0,Bc.jsx)("div",{className:`${s}-content`,children:l})]})};cf.displayName="DockLayout";var py=cf;Je("DockLayout",cf,"container");var my=require("react");var gy=require("react/jsx-runtime"),uf=(0,my.forwardRef)(function({resizeable:e,...t},r){return(0,gy.jsx)("div",{...t,className:"Component",ref:r})});uf.displayName="Component";var Fc=uf;Je("Component",uf);var kn=U(require("react"));var _k={},ae=(n,e)=>{var r;let t=ee(n);return(r=t[e])!=null?r:t[`data-${e}`]},ee=n=>(n==null?void 0:n.props)||n||_k,hf=n=>{let e=ee(n);if(e.children){let{children:[t,...r]}=e;return r.length>0&&console.warn(`getChild expected a single child, found ${r.length+1}`),t}};function ue(n){var e;if(n){let t=n.type;if(typeof t=="function"||typeof t=="object"){let r=t.displayName||t.name||((e=t.type)==null?void 0:e.name);if(typeof r=="string")return r}if(typeof n.type=="string")return n.type;if(n.constructor)return n.constructor.displayName;throw Error("typeOf unable to determine type of element")}}var Kk=(n,e)=>ue(n)===e;var Uk=n=>{let e=n.lastIndexOf(".");return e===-1?n:n.slice(0,e)},by=n=>kn.default.isValidElement(n.props.children)?[n.props.children]:n.props.children,Wc=(n,e="")=>{let[t,...r]=e.split(".");if(t!=null&&t.startsWith("#")){let o=ff(n,t.slice(1),!0);if(o&&r.length)return Wc(o,r.join("."))}else if(t==="ACTIVE_CHILD"){let{active:o}=ee(n),s=by(n),{path:i}=ee(s[o]);return i}return""},yy=(n,e="")=>{let[t,...r]=e.split(".");if(t!=null&&t.startsWith("#")){let o=Cy(n,t.slice(1),!0);if(o&&r.length)return yy(o,r.join("."))}else if(t==="ACTIVE_CHILD"){let{children:o,props:s}=n,{active:i}=s;if(typeof i=="number"&&(o!=null&&o[i]))return o[i]}};function fr(n,e){let{"data-path":t,path:r=t}=ee(n);return e==="0"||e===r?null:it(n,Uk(e),!0)}function pr(n,e){let{children:t,...r}=ee(n);if(e(r))return n;if(kn.default.Children.count(t)>0){let o=kn.default.isValidElement(t)?[t]:t;for(let s of o){let i=pr(s,e);if(i)return i}}}function xy(n,e){if(e===n)return null;let{path:t,children:r}=ee(n),{idx:o,finalStep:s}=Mn(t,ae(e,"path"));return s?n:r===void 0||r[o]===void 0?null:xy(r[o],e)}var vy=(n,e)=>{if(kn.default.isValidElement(n)&&e==0)return n;if(Array.isArray(n))return n[e]};function df(n,e){let t=e.split("."),r=[n];for(let o=0;o<t.length;o++){let s=parseInt(t[o]),i=r[s];if(o===t.length-1)return i;r=by(i)}}var ff=(n,e,t=!0)=>{let{children:r,id:o}=n.props;if(o===e)return n;if(kn.default.Children.count(r)>0){let s=(0,kn.isValidElement)(r)?[r]:r;for(let i of s)if((0,kn.isValidElement)(i)){let l=ff(i,e,!1);if(l)return l}}if(t===!0)throw Error(`pathUtils.findTargetById id #${e} not found in source`)},Cy=(n,e,t=!0)=>{let{children:r,id:o}=n;if(o===e)return n;if(Array.isArray(r)&&r.length>0){for(let s of r)if(s!==null&&typeof s=="object"){let i=Cy(s,e,!1);if(i)return i}}if(t===!0)throw Error(`pathUtils.findTargetJSONById id #${e} not found in source`)};function it(n,e,t=!1){if(e.startsWith("#"))return ff(n,e.slice(1),t);let{"data-path":r,path:o=r}=ee(n);if(e.indexOf(o)!==0)throw Error(`pathUtils.followPath path ${e} is not within source path ${o}`);let s=e.slice(o.length+1);if(s==="")return n;let i=n,l=s.split(".");for(let a=0;a<l.length;a++){if(kn.default.Children.count(i.props.children)===0){let c=`element at 0.${l.slice(0,a).join(".")} has no children, so cannot fulfill rest of path ${l.slice(a).join(".")}`;if(t)throw Error(c);console.warn(c);return}if(i=vy(i.props.children,parseInt(l[a])),i===void 0){let c=`model at 0.${l.slice(0,a).join(".")} has no children that fulfill next step of path ${l.slice(a).join(".")}`;if(t)throw Error(c);console.warn(c)}}return i}function Gk(n,e){let t=fr(n,e),r=e.split(".").map(o=>parseInt(o,10));if(t){let o=r.pop(),{children:s}=t.props;if(s.length-1>o)return zc(s[o+1]);{let i=r.pop(),l=fr(n,ae(t,"path"));if(l&&typeof i=="number"&&(r=l.props.path.split(".").map(a=>parseInt(a,10)),l.props.children.length-1>i)){let a=l.props.children[i+1];return Mt(ue(a))?zc(a):a}}}return zc(n)}function qk(n,e){let t=e.split(".").map(s=>parseInt(s,10)),r=t.pop(),o=fr(n,e);if(o!=null&&typeof r=="number"){let{children:s}=o.props;if(r>0)return $c(s[r-1]);for(;t.length>1;)if(r=t.pop(),o=fr(n,ae(o,"path")),r>0){let i=o.props.children[r-1];return Mt(ue(i))?$c(i):i}}return $c(n)}function zc(n){if(Mt(ue(n))){let{children:e}=n.props||n;return zc(e[0])}return n}function $c(n){if(Mt(ue(n))){let{children:e}=n.props||n;return $c(e[e.length-1])}return n}function Mn(n,e,t=!1){if(n===e)return{idx:-1,finalStep:!0};let r=`${n}.`;if(!e.startsWith(r))throw Error("pathUtils nextStep has strayed from the path");let o=t?0:1,s=e.replace(r,"").split(".").map(i=>parseInt(i,10));return{idx:s[0],finalStep:s.length===o}}function bt(n,e,t){if(ae(n,"path")===e)return n;let r=[];kn.default.Children.forEach(n.props.children,(s,i)=>{ae(s,"path")?r.push(bt(s,`${e}.${i}`)):r.push(s)});let o=n.props["data-path"]?"data-path":"path";return kn.default.cloneElement(n,{[o]:e,...t},r)}function jk(n,e){typeof n=="function"?n(e):n&&(n.current=e)}var Xn=require("react"),Qk=[],Xk=0,Hr=n=>{let e=Array.isArray(n),t=e?n.length:Xn.Children.count(n);return e&&n.every(Xn.isValidElement)?n:t===1&&!e&&(0,Xn.isValidElement)(n)?[n]:t>1?n:Qk},Pn=(n,e)=>{let t=(0,Xn.useRef)(!1);(0,Xn.useLayoutEffect)(()=>{t.current?n():t.current=!0},e)},lt=n=>(0,Xn.useMemo)(()=>n!=null?n:`vuu-${++Xk}`,[n]);var _c=n=>{if(typeof n!="number")throw Error(`"no support yet for flex value ${n}`);return{flexBasis:0,flexGrow:1,flexShrink:1}};var ea=require("@vuu-ui/vuu-utils");var ts={north:1,east:2,south:4,west:8,header:16,centre:32,absolute:64},ta={AFTER:"after",BEFORE:"before"},dn=Object.freeze({North:es("north"),East:es("east"),South:es("south"),West:es("west"),Header:es("header"),Centre:es("centre"),Absolute:es("absolute")});function es(n){return Object.freeze({offset:n==="north"||n==="west"?0:n==="south"||n==="east"?1:NaN,valueOf:function(){return ts[n]},toString:function(){return n},North:n==="north",South:n==="south",East:n==="east",West:n==="west",Header:n==="header",Centre:n==="centre",NorthOrSouth:n==="north"||n==="south",EastOrWest:n==="east"||n==="west",NorthOrWest:n==="north"||n==="west",SouthOrEast:n==="east"||n==="south",Absolute:n==="absolute"})}var wy=dn.North,Sy=dn.South,pf=dn.East,mf=dn.West,Jk=dn.Header,Yk=dn.Centre,ui=class{static measure(e,t=[]){let r={};return tM(e,r,t),r}static allBoxesContainingPoint(e,t,r,o,s){return Dy(e,t,r,o,s).reverse()}};function gf(n,e,t,r=30){let o=t.right-t.left,s=t.bottom-t.top,i=n-t.left,l=e-t.top,a=0;return i<r&&(a+=8),i>o-r&&(a+=2),l<r&&(a+=1),l>s-r&&(a+=4),{pctX:i/o,pctY:l/s,closeToTheEdge:a}}function bf(n,e,t,r){let{BEFORE:o,AFTER:s}=ta,{pctX:i,pctY:l,closeToTheEdge:a}=gf(n,e,t),c,u;if(r==="row")c=i<.5?mf:pf;else if(t.header&&(0,ea.boxContainsPoint)(t.header,n,e))if(c=Jk,t.Stack){let h=t.Stack.length;if(h===0)u={index:-1,left:t.left,positionRelativeToTab:s,width:0};else{let d=t.Stack.find(({left:f,right:p})=>n>=f&&n<=p);if(d){let f=d.right-d.left;u={index:t.Stack.indexOf(d),left:d.left,positionRelativeToTab:(n-d.left)/f<.5?o:s,width:f}}else u={left:t.Stack[h-1].right,width:0,index:h,positionRelativeToTab:s}}}else if(t.header.titleWidth){let h=t.header.titleWidth;u={index:-1,left:t.left,positionRelativeToTab:(n-t.left)/h<.5?o:s,width:h}}else u={left:t.left,width:0,positionRelativeToTab:o,index:-1};else c=Zk(n,e,t,i,l);return{position:c,x:n,y:e,closeToTheEdge:a,tab:u}}function Zk(n,e,t,r,o){let s=eM(t,.2);if((0,ea.boxContainsPoint)(s,n,e))return Yk;switch(`${o<.5?"north":"south"}${r<.5?"west":"east"}`){case"northwest":return r>o?wy:mf;case"northeast":return 1-r>o?wy:pf;case"southeast":return r>o?pf:Sy;case"southwest":return 1-r>o?mf:Sy;default:}}function eM({right:n,left:e,top:t,bottom:r},o){let s=(1-o)/2,i=(n-e)*s,l=(r-t)*s;return{left:e+i,top:t+l,right:n-i,bottom:r-l}}function tM(n,e,t){let{id:r,"data-path":o,path:s=o}=ee(n),i=ue(n);if(r&&s){let[l,a]=Ry(n);Ty(n,l,a,e),Mt(i)&&Ey(n,e,t)}}function Ty(n,e,t,r){let{"data-path":o,path:s=o,header:i}=ee(n);r[s]=e;let l=ue(n);if(i||l==="Stack"){let a=l==="Stack"?".vuuTabstrip":".vuuHeader",c=t.querySelector(a);if(c){let{top:u,left:h,right:d,bottom:f}=c.getBoundingClientRect();if(r[s].header={top:Math.round(u),left:Math.round(h),right:Math.round(d),bottom:Math.round(f)},l==="Stack")r[s].Stack=Array.from(c.querySelectorAll(".vuuTab")).map(p=>p.getBoundingClientRect()).map(({left:p,right:m})=>({left:p,right:m}));else{let p=c.querySelector('[class^="vuuHeader-title"]'),{header:m}=r[s];p&&m&&(m.titleWidth=p.clientWidth)}}}return r[s]}function Ey(n,e,t,r=0,o=0,s=0,i=0){let{children:l,"data-path":a,path:c=a,style:u,active:h=0}=ee(n),d=ue(n),f=d==="Flexbox",p=d==="Stack",m=f&&u.flexDirection==="column",g=f&&u.flexDirection==="row",C=(p?l.filter((x,w)=>w===h):l.filter(nM)).map(x=>{let[w,y]=Ry(x);return[{...w,top:w.top-s,right:w.right+o,bottom:w.bottom+i,left:w.left-r},y,x]}),v=C.map(([x,w,y],S,D)=>{let k,E,N,T,M,P,L=D.length-1;g?(M=S===0?0:x.left-D[S-1][0].right,P=S===L?0:D[S+1][0].left-x.right,k=S===0||M===0?0:M,E=S===L||P===0?0:P-P/2,x.left-=k,x.right+=E,N=s,T=i):m&&(M=S===0?0:x.top-D[S-1][0].bottom,P=S===L?0:D[S+1][0].top-x.bottom,N=S===0||M===0?0:M,T=S===L||P===0?0:P-P/2,x.top-=N,x.bottom+=T,k=r,E=o);let O=Ty(y,x,w,e),I=ue(y);return Mt(I)&&Ey(y,e,t,k,E,N,T),O});C.length&&(e[c].children=v)}function nM(n){let{id:e}=ee(n),t=document.getElementById(e);return t?t.dataset.dragging!=="true":(console.warn(`BoxModel: no element found with id #${e}`),!1)}function Ry(n){let{id:e}=ee(n);if(e===void 0)throw Error("`BoxModel.measureComponentElement, component has no id");let t=document.getElementById(e);if(!t)throw Error("BoxModel.measureComponentElement, no DOM element found for component");let{top:r,left:o,right:s,bottom:i,height:l,width:a}=t.getBoundingClientRect(),c,u=ue(n);if(Mt(u)){let h=t.scrollHeight;h>l&&(c={id:e,scrollHeight:h,scrollTop:t.scrollTop})}return[{top:Math.round(r),left:Math.round(o),right:Math.round(s),bottom:Math.round(i),height:Math.round(l),width:Math.round(a),scrolling:c},t,n]}function Dy(n,e,t,r,o,s=[]){let{children:i,"data-path":l,path:a=l}=ee(n),c=ue(n),u=e[a];if(!(0,ea.boxContainsPoint)(u,t,r))return s;if(o&&o.length){if(o.includes(a))s.push(n);else if(!o.some(h=>h.startsWith(a)))return s}else s.push(n);if(!Mt(c)||u.header&&(0,ea.boxContainsPoint)(u.header,t,r))return s;u.scrolling&&rM(u,t,r);for(let h=0;h<i.length;h++){if(c==="Stack"&&n.props.active!==h)continue;let d=Dy(i[h],e,t,r,o);if(d.length)return s.concat(d)}return s}function rM({top:n,bottom:e,scrolling:t},r,o){if(t){let{id:s,scrollTop:i,scrollHeight:l}=t,a=e-n;if(i===0&&e-o<50){let c=l-a;document.getElementById(s).scrollTo({left:0,top:c,behavior:"smooth"}),t.scrollTop=c}else if(i>0&&o-n<50)document.getElementById(s).scrollTo({left:0,top:0,behavior:"smooth"}),t.scrollTop=0;else return!1}else return!1}var oM=.4,Kc=class{constructor(e,t,r,o,s){this.init(e,t,r,o,s)}init(e,t,r,o,s){let{left:i,top:l}=o,{pctX:a,pctY:c}=gf(t,r,o),u=oM,h=a*o.width,d=o.width-h,f=c*o.height,p=o.height-f,m=o.width*u,g=o.height*u,b=1-u,C=h*b,v=f*b,x=d*b,w=p*b;this.intrinsicSize=s,this.constraint={zone:{x:{lo:e.left,hi:e.right},y:{lo:e.top,hi:e.bottom}},pos:{x:{lo:e.left-C,hi:e.right-o.width+x},y:{lo:e.top-v,hi:e.bottom-o.height+w}},mouse:{x:{lo:e.left+m*a,hi:e.right-m*(1-a)},y:{lo:e.top+g*c,hi:e.bottom-g*(1-c)}}},this.x={pos:i,lo:!1,hi:!1,mousePos:t,mousePct:a},this.y={pos:l,lo:!1,hi:!1,mousePos:r,mousePct:c}}outOfBounds(){return this.x.lo||this.x.hi||this.y.lo||this.y.hi}inBounds(){return!this.outOfBounds()}dropX(){return this.dropXY("x")}dropY(){return this.dropXY("y")}hasIntrinsicSize(){var e,t;return((e=this==null?void 0:this.intrinsicSize)==null?void 0:e.height)&&((t=this==null?void 0:this.intrinsicSize)==null?void 0:t.width)}update(e,t){let r=this[e],o=this.constraint.mouse[e],s=this.constraint.pos[e],i=r.pos,l=t-r.mousePos;return l<0?r.lo||(t<o.lo?(r.lo=!0,r.pos=s.lo):r.hi?t<o.hi&&(r.hi=!1,r.pos+=l):r.pos+=l):l>0&&(r.hi||(t>o.hi?(r.hi=!0,r.pos=s.hi):r.lo?t>o.lo&&(r.lo=!1,r.pos+=l):r.pos+=l)),r.mousePos=t,i!==r.pos}dropXY(e){let t=this[e],r=this.constraint.zone[e];return t.lo?Math.max(r.lo,t.mousePos):t.hi?Math.min(t.mousePos,Math.round(r.hi)-1):t.mousePos}};var sM=n=>n.pos.tab&&ue(n.component)==="Stack"&&n.pos.position.Header,{north:iM,south:lM,east:aM,west:cM}=ts,uM=aM+cM,hM=iM+lM,Vr=class{constructor({component:e,pos:t,clientRect:r,nextDropTarget:o}){this.component=e,this.pos=t,this.clientRect=r,this.nextDropTarget=o,this.active=!1,this.dropRect=void 0}targetTabPos(e){let{left:t,width:r,positionRelativeToTab:o}=e;return o===ta.BEFORE?t:t+r}getTargetDropOutline(e,t){if(this.pos.tab)return this.getDropTabOutline(e,this.pos.tab);if(t&&t.hasIntrinsicSize())return this.getIntrinsicDropRect(t);{let[r,o,s,i]=this.getDropRectOutline(e,t);return{l:r,t:o,r:s,b:i}}}getDropTabOutline(e,t){var b,C;let{clientRect:{top:r,left:o,right:s,bottom:i,header:l}}=this,a=0,c=Math.round(e/2)+a,u=Math.round(r),h=Math.round(o+c),d=Math.round(s-c),f=Math.round(i-c),p=this.targetTabPos(t),m=60,g=((b=l==null?void 0:l.bottom)!=null?b:0)-((C=l==null?void 0:l.top)!=null?C:0);return{l:h,t:u,r:d,b:f,tabLeft:p,tabWidth:m,tabHeight:g}}getIntrinsicDropRect(e){var m,g,b,C;let{pos:t,clientRect:r}=this,{x:o,y:s}=e,i=(g=(m=e.intrinsicSize)==null?void 0:m.height)!=null?g:0,l=(C=(b=e.intrinsicSize)==null?void 0:b.height)!=null?C:0;i&&i>r.height?(console.log("DropTarget: we're going to blow the gaff"),i=r.height):l&&l>r.width&&(console.log("DropTarget: we're going to blow the gaff"),l=r.width);let a=Math.min(r.right-l,Math.max(r.left,Math.round(t.x-o.mousePct*l))),c=Math.min(r.bottom-i,Math.max(r.top,Math.round(t.y-s.mousePct*i))),[u,h,d,f]=this.dropRect=[a,c,a+l,c+i],p=t.position.EastOrWest?[u,r.top,u,r.bottom,d,r.top,d,r.bottom]:[r.left,h,r.right,h,r.left,f,r.right,f];return{l:u,r:d,t:h,b:f,guideLines:p}}getDropRectOutline(e,t){var C,v,x;let{pos:r,clientRect:o}=this,{width:s,height:i,position:l}=r,{width:a,height:c}=(C=t==null?void 0:t.intrinsicSize)!=null?C:{},u=(v=c!=null?c:i)!=null?v:0,h=(x=a!=null?a:s)!=null?x:0;this.dropRect=void 0;let{top:d,left:f,right:p,bottom:m}=o,g=0,b=Math.round(e/2)+g;switch(l){case dn.North:case dn.Header:{let w=Math.round((m-d)/2),y=u?Math.min(w,Math.round(u)):w;return h&&f+h<p?[f+b,d+b,f+h-b,d+b+y]:[f+b,d+b,p-b,d+b+y]}case dn.West:{let w=Math.round((p-f)/2),y=h?Math.min(w,Math.round(h)):w;return u&&d+u<m?[f+b,d+b,f-b+y,d+u+b]:[f+b,d+b,f-b+y,m-b]}case dn.East:{let w=Math.round((p-f)/2),y=h?Math.min(w,Math.round(h)):w;return u&&d+u<m?[p-b-y,d+b,p-b,d+u+b]:[p-b-y,d+b,p-b,m-b]}case dn.South:{let w=Math.round((m-d)/2),y=u?Math.min(w,Math.round(u)):w;return h&&f+h<p?[f+b,m-b-y,f+h-b,m-b]:[f+b,m-b-y,p-b,m-b]}case dn.Centre:return[f+b,d+b,p-b,m-b];default:return console.warn(`DropTarget does not recognize position ${l}`),null}}activate(){return this.active=!0,this}toArray(){let e=this,t=[e];for(;e=e.nextDropTarget;)t.push(e);return t}static getActiveDropTarget(e){return e===null?null:e!=null&&e.active?e:Vr.getActiveDropTarget(e.nextDropTarget)}};function Uc(n,e,t,r,o,s){var a;let i=null,l=ui.allBoxesContainingPoint(t,r,n,e,s);if(l.length){let[c,...u]=l,{"data-path":h,path:d=h,"data-row-placeholder":f}=ee(c),p=r[d],g=bf(n,e,p,o&&f?"row":void 0),b=r[d],C=([v,...x])=>{var w,y;if((w=g.position)!=null&&w.Header||g.closeToTheEdge){let S=dM(v,g,b,r,n,e);if(S){let[D,k]=S;return new Vr({component:v,pos:D,clientRect:k,nextDropTarget:(y=C(x))!=null?y:null})}else if(x.length)return C(x)}};i=new Vr({component:c,pos:g,clientRect:p,nextDropTarget:(a=C(u))!=null?a:null}).activate()}return i}function dM(n,{closeToTheEdge:e,position:t},r,o,s,i){if(!n||n.type==="DraggableLayout")return;let l=o[n.props.path],a=e&ts.north,c=e&ts.east,u=e&ts.south,h=e&ts.west,d=(a||t.Header)&&Math.round(r.top)===Math.round(l.top),f=c&&Math.round(r.right)===Math.round(l.right),p=u&&Math.round(r.bottom)===Math.round(l.bottom),m=h&&Math.round(r.left)===Math.round(l.left);if(d||f||p||m){let{"data-path":g,path:b=g}=n.props,C=o[b],v=bf(s,i,C);if((fM(n)||ky(n))&&e&uM)return v.width=120,[v,C];if((pM(n)||ky(n))&&(t.Header||e&hM))return v.height=120,[v,C]}}function ky(n){return ue(n)==="Stack"}function fM(n){return ue(n)==="Flexbox"&&n.props.style.flexDirection==="column"}function pM(n){return ue(n)==="Flexbox"&&n.props.style.flexDirection==="row"}var Gc=require("@vuu-ui/vuu-popups");var My=U(require("classnames"));var xf=require("react/jsx-runtime");function vf(n,e=0,t=0){let{pos:r,clientRect:o}=n,s=20;return r.position.West?[o.left-t+s,r.y-e,"left"]:r.position.South?[r.x-t,o.bottom-e-s,"bottom"]:r.position.East?[o.right-t-s,r.y-e,"right"]:[r.x-t,o.top-e+s,"top"]}var yf="vuuDropMenu",Cf=({className:n,dropTarget:e,onHover:t,orientation:r})=>{let o=e.toArray();return(0,xf.jsx)("div",{className:(0,My.default)(yf,n,`${yf}-${r}`),onMouseLeave:()=>t(null),children:o.map((s,i)=>(0,xf.jsx)("div",{className:`${yf}-item`,"data-icon":i===0?"column-2A":"column-2B",onMouseEnter:()=>t(s)},i))})};var Ly=require("react/jsx-runtime"),wf=!1,na=null,Jn=null,mM=n=>na=n,gM=([n,e])=>`M${n},${e}`,bM=([n,e])=>`L${n},${e}`,Py=([n,...e])=>`${gM(n)} ${e.map(bM)}Z`,yM=n=>{if(n){let[e,t,r,o,s,i,l,a]=n;return`M${e},${t} L${r},${o} M${s},${i} L${l},${a}`}else return""};function xM(){if(document.getElementById("hw-drag-canvas")===null){let n=document.getElementById("root"),e=document.createElement("div");e.id="hw-drag-canvas",e.innerHTML=`
2
2
  <svg width="100%" height="100%">
3
3
  <path id="hw-drop-guides" />
4
4
  <path
@@ -14,11 +14,21 @@
14
14
  />
15
15
  </path>
16
16
  </svg>
17
- `,document.body.insertBefore(t,e)}}var _o=class{constructor(){this.currentPath=null;this.tabMode=null;Zd()}prepare(t,o="full-view"){document.body.classList.add("drawing"),this.currentPath=null,this.tabMode=o;let n=this.getPoints(0,0,0,0),r=ji(n),s=document.getElementById("vuu-drop-outline");s==null||s.setAttribute("d",r),this.currentPath=r}clear(){Vo=null,Hn(),document.body.classList.remove("drawing"),Cn.PopupService.hidePopup()}get hoverDropTarget(){return Vo}getPoints(t,o,n,r,s=0,i=0,a=0){let l=this.tabMode==="tab-only";if(i===0)return[[t,o+a],[t,o+a],[t,o],[t+i,o],[t+i,o],[t+n,o],[t+n,o+r],[t,o+r]];if(l){let c=s;return[[c,o],[c,o],[c+i,o],[c+i,o],[c+i,o+a],[c+i,o+a],[c,o+a],[c,o+a]]}else return s===0?[[t,o+a],[t,o+a],[t,o],[t+i,o],[t+i,o+a],[t+n,o+a],[t+n,o+r],[t,o+r]]:[[t,o+a],[t+s,o+a],[t+s,o],[t+s,o],[t+s,o+a],[t+n,o+a],[t+n,o+r],[t,o+r]]}draw(t,o){let r=ss;if(Vo!==null)this.drawTarget(Vo);else if(ss=t.nextDropTarget!=null,t.pos.tab?Xd(t):Qe&&Hn(),this.drawTarget(t,o),ss){let[s,i,a]=ns(t);{let l=(0,Ji.jsx)(rs,{dropTarget:t,onHover:_d,orientation:a});Cn.PopupService.showPopup({left:s,top:i,component:l})}}else Cn.PopupService.hidePopup()}drawTarget(t,o){let r=t.getTargetDropOutline(6,o);if(r){let{l:s,t:i,r:a,b:l,tabLeft:c,tabWidth:d,tabHeight:m,guideLines:u}=r,p=a-s,f=l-i;if(this.currentPath){let I=document.getElementById("vuu-drop-outline");I==null||I.setAttribute("d",this.currentPath)}let g=this.getPoints(s,i,p,f,c,d,m),h=ji(g),b=document.getElementById("hw-drop-outline-animate");b==null||b.setAttribute("to",h),b==null||b.beginElement(),this.currentPath=h;let x=document.getElementById("hw-drop-guides");x==null||x.setAttribute("d",Ud(u))}}},Yi="transition:margin-left .4s ease-out;margin-left: 63px",qi="transition:margin-left .4s ease-out;margin-left: 0px";function Xd(e){var a,l;let{AFTER:t,BEFORE:o}=Ko,{clientRect:{Stack:n},pos:{tab:r}}=e,{id:s}=e.component.props,i=null;if(n&&r&&r.positionRelativeToTab!==t){let c=r.positionRelativeToTab===o?1:2,d=`:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${r.index+c})`;i=(a=document.getElementById(s))==null?void 0:a.querySelector(d),i?(Qe===null||Qe!==i)&&(i.style.cssText=Yi,Qe&&(Qe.style.cssText=qi),Qe=i):Hn()}else if((r==null?void 0:r.positionRelativeToTab)===o){if(Qe===null){let c=".vuuHeader-title";i=(l=document.getElementById(s))==null?void 0:l.querySelector(c),i.style.cssText=Yi,Qe=i}}else Hn()}function Hn(){Qe&&(Qe.style.cssText=qi,Qe=null)}var yt,Wo,Dt,ea,ta,Rt,Nn,mo=null,as,oa,Go,na,is,kn=null,jd=3,An=new _o,Qi=.4;function Yd(e,t){return t?ge(e,t):ut(e,o=>o.dropTarget)}var Fn={handleMousedown(e,t,o={}){yt=t,oa=o,ea=e.clientX,ta=e.clientY,is=o.dragThreshold===void 0?jd:o.dragThreshold,is===0?yt(e,0,0):(window.addEventListener("mousemove",On,!1),window.addEventListener("mouseup",zn,!1),kn=window.setTimeout(()=>{console.log("mousedownTimer fires"),window.removeEventListener("mousemove",On,!1),window.removeEventListener("mouseup",zn,!1),yt==null||yt(e,0,0)},500)),e.preventDefault()},initDrag(e,t,{top:o,left:n,right:r,bottom:s},i,a,l,c){return{drag:Wo,drop:Dt}=a,qd(e,t,{top:o,left:n,right:r,bottom:s},i,l,c)}};function On(e){let n=e.clientX-ea,r=e.clientY-ta;Math.max(Math.abs(n),Math.abs(r))>is&&(window.removeEventListener("mousemove",On,!1),window.removeEventListener("mouseup",zn,!1),yt==null||yt(e,n,r),yt=null)}function zn(){kn&&(window.clearTimeout(kn),kn=null),window.removeEventListener("mousemove",On,!1),window.removeEventListener("mouseup",zn,!1)}function qd(e,t,o,n,r,s){Rt=Yd(e,t);let{"data-path":i,path:a=i}=$(Rt);s&&(as=s.map(u=>ut(e,p=>p.id===u)).map(u=>u.props.path)),Go=uo.measure(Rt,s),console.log({_measurements:Go});let l=Go[a];Nn=new Mn(l,n.x,n.y,o,r);let c=Math.round(Nn.x.mousePct*100),d=Math.round(Nn.y.mousePct*100);return window.addEventListener("mousemove",ra,!1),window.addEventListener("mouseup",sa,!1),na=!1,An.prepare(o,"tab-only"),oa.DoNotTransform?"transform:none":`transform:scale(${Qi},${Qi});transform-origin:${c}% ${d}%;`}function ra(e){let t=e.clientX,o=e.clientY,n=Nn,r=mo,s,i,a;n.update("x",t)&&(i=n.x.pos),n.update("y",o)&&(a=n.y.pos),i===void 0&&a===void 0||Wo==null||Wo(i,a),!(na||Rt===void 0)&&(n.inBounds()?s=Pn(t,o,Rt,Go,n.hasIntrinsicSize(),as):s=Pn(n.dropX(),n.dropY(),Rt,Go),r&&(s==null||s.box!==r.box)&&(mo=null),s&&(An.draw(s,n),mo=s))}function sa(){Jd()}function Jd(){if(mo){let e=An.hoverDropTarget||bt.getActiveDropTarget(mo);Dt==null||Dt(e),mo=null}else Dt==null||Dt({component:Rt,pos:{position:De.Absolute}});Wo=null,Dt=null,Rt=void 0,An.clear(),as=void 0,window.removeEventListener("mousemove",ra,!1),window.removeEventListener("mouseup",sa,!1)}var ia=X(require("classnames")),aa=require("react");var ca=require("react/jsx-runtime"),ls=(0,aa.forwardRef)(function({children:t,className:o,dropTarget:n,resizeable:r,...s},i){let a=(0,ia.default)("DraggableLayout",o);return(0,ca.jsx)("div",{className:a,ref:i,...s,children:t})}),la="DraggableLayout";ls.displayName=la;fe(la,ls,"container");var Sa=require("@salt-ds/core"),Ta=X(require("classnames")),va=require("react");var Ea=require("@vuu-ui/vuu-utils"),ce=X(require("react"));var da=X(require("classnames"));var ma=require("react/jsx-runtime"),ua="vuuPlaceholder",Uo=({className:e,closeable:t,flexFill:o,resizeable:n,shim:r,...s})=>(0,ma.jsx)("div",{className:(0,da.default)(ua,e,{[`${ua}-shim`]:r}),...s,"data-placeholder":!0,"data-resizeable":!0});Uo.displayName="Placeholder";fe("Placeholder",Uo);var pa=X(require("classnames")),Re=X(require("react"));var cs=require("react/jsx-runtime"),fa=Re.default.memo(function({column:t,index:o,onDrag:n,onDragEnd:r,onDragStart:s,style:i}){let a=(0,Re.useRef)(),l=(0,Re.useRef)(null),c=(0,Re.useRef)(0),[d,m]=(0,Re.useState)(!1),u=(0,Re.useCallback)(({key:E,shiftKey:v})=>{let D=v?10:1;t&&E==="ArrowDown"?n(o,D):t&&E==="ArrowUp"||!t&&E==="ArrowLeft"?n(o,-D):!t&&E==="ArrowRight"&&n(o,D)},[t,o,n]),p=(0,Re.useCallback)(E=>{let{key:v}=E;(t&&(v==="ArrowUp"||v==="ArrowDown")||!t&&(v==="ArrowLeft"||v==="ArrowRIght"))&&(s(o),u(E),f.current=u)},[t,u,o,s]),f=(0,Re.useRef)(p),g=E=>f.current(E),h=(0,Re.useCallback)(E=>{a.current=!0;let v=E[t?"clientY":"clientX"],D=v-c.current;v&&v!==c.current&&n(o,D),c.current=v},[t,o,n]),b=(0,Re.useCallback)(()=>{var E;window.removeEventListener("mousemove",h,!1),window.removeEventListener("mouseup",b,!1),r(),m(!1),(E=l.current)==null||E.focus()},[h,r,m]),x=(0,Re.useCallback)(E=>{c.current=t?E.clientY:E.clientX,s(o),window.addEventListener("mousemove",h,!1),window.addEventListener("mouseup",b,!1),E.preventDefault(),m(!0)},[t,h,b,o,s,m]),I=()=>{var E;a.current?a.current=!1:(E=l.current)==null||E.focus()},y=()=>{f.current=p},S=(0,pa.default)("Splitter","focusable",{active:d,column:t});return(0,cs.jsx)("div",{className:S,"data-splitter":!0,ref:l,role:"separator",style:i,onBlur:y,onClick:I,onKeyDown:g,onMouseDown:x,tabIndex:0,children:(0,cs.jsx)("div",{className:"grab-zone"})})});var ds=require("@vuu-ui/vuu-utils"),ms=X(require("react"));var Qd={"data-placeholder":!0,"data-resizeable":!0},Bn={},Lt="auto",us={flexBasis:0,flexGrow:1,flexShrink:1,height:Lt,width:Lt},ga={height:"width",width:"height"},ps=(e="row")=>e==="row"?["width","height","column"]:["height","width","row"],em=e=>typeof e=="string"&&e.endsWith("%"),$e=e=>{let{style:{width:t=Lt,height:o=Lt}=Bn}=e.props,n=typeof o=="number",r=typeof t=="number";return n&&r?{height:o,width:t}:n?{height:o}:r?{width:t}:void 0};function $n(e,t,o){let n=ga[t],{style:{[n]:r=Lt,...s}=Bn}=e.props;return o&&o[t]?{...s,...us,flexBasis:o[t],flexGrow:0,flexShrink:0}:{...s,...us,[n]:r}}function fs(e){let{style:{flex:t,flexGrow:o,flexShrink:n,flexBasis:r}=Bn}=e.props;return typeof t=="number"||r===0&&o===1&&n===1?!0:typeof r!="number"}function Kn(e,t,o){let n=ga[t],{style:{[t]:r=Lt,[n]:s=Lt,...i}=Bn}=e.props;return r!==Lt?em(r)?{flexBasis:0,flexGrow:1,flexShrink:1,[t]:void 0,[n]:s}:{flexBasis:r,flexGrow:0,flexShrink:0,[t]:r,[n]:s}:o&&o[t]?{...i,...us,flexBasis:o[t],flexGrow:0,flexShrink:0}:{...i,[n]:s}}function po(e,t,o,n,r){let s=[],i=0,a;if(n&&r){let d,[m,u,p,f]=r;[d,a]=t==="column"?[u-n.top,n.bottom-f]:[m-n.left,n.right-p],d&&s.push(et(`${o}.${i++}`,d,{flexGrow:0,flexShrink:0}))}else a=!0;let{version:l=0,style:c}=$(e);return s.push(he(e,`${o}.${i++}`,{version:l+1,style:{...c,flexBasis:"auto",flexGrow:0,flexShrink:0}})),a&&s.push(et(`${o}.${i++}`,0,void 0,{[`data-${t}-placeholder`]:!0})),Vn(t,{resizeable:!1,style:{flexBasis:"auto"}},s,o)}var tm=(e,t)=>{if(!t)return e===0?1:0};function Vn(e,t,o,n){let r=(0,ds.uuid)(),{flexFill:s,style:i,resizeable:a=!0}=t,{flexBasis:l=s?void 0:"auto"}=i,c=tm(l,s);return ms.default.createElement(Tt.Flexbox,{id:r,key:r,path:n,flexFill:s,style:{...i,flexDirection:e,flexBasis:l,flexGrow:c,flexShrink:c},resizeable:a},o)}var om={flexGrow:1,flexShrink:1};function et(e,t,o,n){let r=(0,ds.uuid)();return ms.default.createElement("div",{...Qd,...n,"data-path":e,id:r,key:r,style:{...om,...o,flexBasis:t}})}var nm={},Zo=1,Xo=2,rm=e=>typeof e.intrinsicSize=="number",sm=(e,t)=>{let o={};return e.forEach(n=>{o[n]=G(t,n)}),o},_n=(e,t,o)=>e.map((n,r)=>{var l;let s=G(n,"resizeable"),{[t]:i}=(l=$e(n))!=null?l:nm,a=fs(n);return o?{index:r,flexOpen:a,intrinsicSize:i,resizeable:s,...sm(o,n)}:{index:r,flexOpen:a,intrinsicSize:i,resizeable:s}}),ha=e=>{let t=e.length,o=e.every(rm),n=Array(t).fill(0);if(o&&t>0&&(n[0]=Xo,n[t-1]=Xo),t<2)return n;for(let r=0,s=0;r<t-1;r++)e[r].resizeable&&!s&&(s=Zo),n[r]+=s;for(let r=t-1;r>0&&(n[r]&Zo&&(n[r]-=Zo),!e[r].resizeable);r--);return n},ba=(e,t)=>{let o=am(e,t),n=lm(e,t),r=o!==-1&&n!==-1?[o,n]:void 0,s=im(e,r);return[r,s]};function im(e,t){if(t){let o=[];for(let n=0;n<e.length;n++)e[n].flexOpen&&!t.includes(n)&&o.push(n);return o}}function am(e,t){let o=t,n=!1;for(;o>=1&&!n;)o=o-1,n=ya(e,o);return o}function lm(e,t){let o=t,n=!1,r=e.length;for(;o<r-1&&!n;)o=o+1,n=ya(e,o);return o===r?-1:o}function ya(e,t){let{placeholder:o,splitter:n,resizeable:r,intrinsicSize:s}=e[t];return!!(!n&&!s&&(o||r))}var cm=e=>!e.splitter&&!e.placeholder,Ia=({children:e,onSplitterMoved:t,style:o})=>{let n=(0,ce.useRef)(null),r=(0,ce.useRef)(),s=(0,ce.useRef)(),i=(0,ce.useRef)([]),[,a]=(0,ce.useState)({}),l=h=>{s.current=h,a({})},c=(o==null?void 0:o.flexDirection)==="column",d=c?"height":"width",m=(0,ce.useMemo)(()=>Array.isArray(e)?e:ce.default.isValidElement(e)?[e]:[],[e]),u=(0,ce.useCallback)(h=>{let{current:b}=r;if(b){let[x,I]=ba(b,h);x&&(x.forEach(y=>{var E;let S=(E=n.current)==null?void 0:E.childNodes[y];if(S){let{size:v,minSize:D}=pm(S,d);b[y].currentSize=v,b[y].minSize=D}}),I&&I.forEach(y=>{var E;let S=(E=n.current)==null?void 0:E.childNodes[y];if(S){let{[d]:v}=S.getBoundingClientRect();b[y].flexBasis=v}}))}},[d]),p=(0,ce.useCallback)((h,b)=>{s.current&&r.current&&l(dm(s.current,r.current,b,d))},[d]),f=(0,ce.useCallback)(()=>{let h=r.current;h&&(t==null||t(h.filter(cm))),h==null||h.forEach(b=>{b.currentSize=void 0,b.flexBasis=void 0,b.flexOpen=!1})},[t]),g=(0,ce.useCallback)(h=>ce.default.createElement(fa,{column:c,index:h,key:`splitter-${h}`,onDrag:p,onDragEnd:f,onDragStart:u}),[p,f,u,c]);return(0,ce.useMemo)(()=>{let[h,b]=um(m,d,g,i.current);r.current=b,s.current=h},[m,g,d]),{content:s.current||[],rootRef:n}};function um(e,t,o,n){let r=_n(e,t),s=ha(r),i=[],a=[];for(let l=0;l<e.length;l++){let c=e[l];if(l===0&&s[l]&Xo&&(i.push(xa(l)),a.push({placeholder:!0,shim:!0})),c.key==null){let d=n[l]||(n[l]=(0,Ea.getUniqueId)());i.push(ce.default.cloneElement(c,{key:d}))}else i.push(c);a.push(r[l]),l>0&&s[l]&Xo?(i.push(xa(l)),a.push({placeholder:!0})):s[l]&Zo&&(i.push(o(i.length)),a.push({splitter:!0}))}return[i,a]}function dm(e,t,o,n){return mm(t,o)?e.map((s,i)=>{let a=t[i],{currentSize:l,flexOpen:c,flexBasis:d}=a,m=l!==void 0;if(m||c){let{flexBasis:u}=s.props.style||{},p=m?a.currentSize:d;return p!==u?ce.default.cloneElement(s,{style:{...s.props.style,flexBasis:p,[n]:"auto"}}):s}else return s}):e}function mm(e,t){let o=[];e.forEach((d,m)=>{d.currentSize!==void 0&&o.push(m)});let n=t<0?o[0]:o[1],{currentSize:r=0,minSize:s=0}=e[n];if(r===s)return!1;if(Math.abs(t)>r-s){let d=t<0?-1:1;t=Math.max(0,r-s)*d}let i=e[o[0]],{currentSize:a=0}=i;i.currentSize=a+t;let l=e[o[1]],{currentSize:c=0}=l;return l.currentSize=c-t,!0}function xa(e){return ce.default.createElement(Uo,{shim:e===0,key:`placeholder-${e}`})}function pm(e,t){let{[t]:o}=e.getBoundingClientRect(),r=getComputedStyle(e).getPropertyValue(`min-${t}`),s=r.endsWith("px")?parseInt(r,10):0;return{size:o,minSize:s}}var Da=require("react/jsx-runtime"),gs="hwFlexbox",wa=(0,va.forwardRef)(function(t,o){let{breakPoints:n,children:r,column:s,className:i,flexFill:a,gap:l,fullPage:c,id:d,onSplitterMoved:m,resizeable:u,row:p,spacing:f,splitterSize:g,style:h,...b}=t,{content:x,rootRef:I}=Ia({children:r,onSplitterMoved:m,style:h}),y=(0,Ta.default)(gs,i,{[`${gs}-column`]:s,[`${gs}-row`]:p,"flex-fill":a,"full-page":c});return(0,Da.jsx)("div",{...b,className:y,"data-resizeable":u||void 0,id:d,ref:(0,Sa.useForkRef)(I,o),style:{...h,gap:l,"--spacing":f},children:x})});wa.displayName="Flexbox";var Wn=wa;var Qa=require("react");var Gt={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 ke=require("react");var Yn=X(require("react"));var vs=require("@vuu-ui/vuu-utils"),go=X(require("react"));var Es=require("@vuu-ui/vuu-utils"),Mt=X(require("react"));var Ut=require("react"),Le=new Map,Xe=new Map,hs=e=>Le.get(e),bs=e=>Le.has(e),ys=(e,t)=>Le.set(e,t),Zt=()=>{let e=(0,Ut.useCallback)((i,a)=>{let l=Xe.get(i);if(l)return a!==void 0&&l[a]!==void 0?l[a]:a!==void 0?void 0:l},[]),t=(0,Ut.useCallback)((i,a,l)=>{if(a===void 0)Xe.set(i,l);else if(Xe.has(i)){let c=Xe.get(i);Xe.set(i,{...c,[a]:l})}else Xe.set(i,{[a]:l})},[]),o=(0,Ut.useCallback)((i,a)=>{if(Xe.has(i)){if(a===void 0)Xe.delete(i);else if(Xe.get(i)[a]){let{[a]:c,...d}=Xe.get(i);Object.keys(d).length>0?Xe.set(i,d):Xe.delete(i)}}},[]),n=(0,Ut.useCallback)((i,a)=>{let l=Le.get(i);if(l)return a!==void 0?l[a]:l},[]),r=(0,Ut.useCallback)((i,a,l)=>{if(a===void 0)Le.set(i,l);else if(Le.has(i)){let c=Le.get(i);Le.set(i,{...c,[a]:l})}else Le.set(i,{[a]:l})},[]),s=(0,Ut.useCallback)((i,a)=>{if(Le.has(i)){if(a===void 0)Le.delete(i);else if(Le.get(i)[a]){let{[a]:c,...d}=Le.get(i);Object.keys(d).length>0?Le.set(i,d):Le.delete(i)}}},[]);return{loadSessionState:e,loadState:n,saveSessionState:t,saveState:r,purgeState:s,purgeSessionState:o}};var Is=e=>e.flexDirection==="column"?["height","width"]:["width","height"],fm={},fo=(e,t="0")=>{let[o,n]=Un(U(e),e.props,t);return Mt.default.cloneElement(e,o,n)},Gn=(e,t)=>{let o=U(e),[n,r]=Un(o,e.props,"0",void 0,t);return(0,Mt.cloneElement)(e,n,r)},gm=(e,t,o)=>{let[n,r]=Un(e,t,"0",void 0,o);return{...t,...n,type:e,children:r}};function hm(e,t,o="0",n=null,r){var g,h;let{active:s=0,"data-path":i,path:a=i,id:l,style:c}=$(r),d=U(r)===e&&o===a,m=d?l:(g=t.id)!=null?g:(0,Es.uuid)(),u=e==="Stack"?(h=t.active)!=null?h:s:void 0,p=m,f=d?c:ym(e,t,n);return _r(e)?{id:m,key:p,path:o,style:f,type:e,active:u}:{id:m,key:p,style:f,"data-path":o}}function Un(e,t,o,n=null,r){var c,d;let s=hm(e,t,o,n,r);if(t.layout&&!r)return[s,[jo(t.layout,`${o}.0`)]];let i=(d=r==null?void 0:r.children)!=null?d:(c=r==null?void 0:r.props)==null?void 0:c.children,l=t.dropTarget&&i?i:bm(e,t.children,o,i);return[s,l]}function bm(e,t,o="0",n){let r=Array.isArray(t)?t:Mt.default.isValidElement(t)?[t]:[];return Se(e)?r.map((s,i)=>{let a=U(s),l=U(n==null?void 0:n[i]);if(!l||a===l){let[c,d]=Un(a,s.props,`${o}.${i}`,e,n==null?void 0:n[i]);return Mt.default.cloneElement(s,c,d)}return n==null?void 0:n[i]}):t}var ym=(e,t,o)=>{let{style:n=fm}=t;if(e==="Flexbox"&&(n={flexDirection:t.column?"column":"row",...n,display:"flex"}),n.flex){let{flex:r,...s}=n;n={...s,...Rn(typeof r=="number"?r:0)}}else o==="Stack"?n={...n,...Rn(1)}:o==="Flexbox"&&(n.width||n.height)&&n.flexBasis===void 0&&(n={...n,flexBasis:"auto",flexGrow:0,flexShrink:0});return n};function jo({id:e=(0,Es.uuid)(),type:t,children:o,props:n,state:r},s){let i=t.match(/^[a-z]/)?t:Tt[t];if(i===void 0)throw Error(`layoutUtils unable to create component from JSON, unknown type ${t}`);return r&&ys(e,r),Mt.default.createElement(i,{id:e,...n,key:e,path:s},o?o.map((a,l)=>jo(a,`${s}.${l}`)):void 0)}function Ss(e){return Ts(e)}function Ts(e){let t=U(e),{id:o,children:n,type:r,...s}=$(e),i=bs(o)?hs(o):void 0;return{id:o,type:t,props:Ra(s),state:i,children:Mt.default.Children.map(n,Ts)}}function Ra(e){if(e){let{path:t,...o}=e,n={};for(let[r,s]of Object.entries(o))n[r]=xs(s);return n}}function xs(e){if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return e.map(xs);if(typeof e=="object"&&e!==null){let t={};for(let[o,n]of Object.entries(e))t[o]=xs(n);return t}}function La(e,t){var i;let o=e.props.children,n=o.length,{index:r=-1,positionRelativeToTab:s="after"}=t.tab||{};return r===-1||r>=n?[o[n-1],"after"]:[(i=o[r])!=null?i:null,s]}function Zn(e,t,o){let{active:n,children:r=[],path:s}=$(e),i=G(t,"path"),{idx:a,finalStep:l}=Ze(s,i,!0),[c,d]=l?xm(e,r,o):[n,r==null?void 0:r.map((u,p)=>p===a?Zn(u,t,o):u)],m=U(e)==="Stack"?Array.isArray(c)?c[0]:c:n;return go.default.cloneElement(e,{active:m},d)}function xm(e,t,o){let n=G(e,"path"),r=t==null?void 0:t.length,{id:s=(0,vs.uuid)()}=$(o);return r?[r,t.concat(he(o,`${n}.${r}`,{id:s,key:s}))]:[0,[he(o,`${n}.0`,{id:s})]]}function Xn(e,t,o,n,r,s,i){let{active:a,children:l,path:c}=$(e),d=G(t,"path"),{idx:m,finalStep:u}=Ze(c,d),[p,f]=u?Em(e,l,m,o,n,r,s,i):[a,l.map((h,b)=>b===m?Xn(h,t,o,n,r,s,i):h)],g=U(e)==="Stack"?p:a;return go.default.cloneElement(e,{active:g},f)}function Em(e,t,o,n,r,s,i,a){let l=$e(n);return l!=null&&l.width&&(l!=null&&l.height)?Sm(e,t,o,n,r,i,a):Ma(e,t,o,n,r,(s==null?void 0:s.width)||(s==null?void 0:s.height),i)}var Im=(e,t,{top:o,right:n,bottom:r,left:s},[i,a,l,c])=>{if(e==="column"&&t==="before")return a-o;if(e==="column")return r-c;if(e==="row"&&t==="before")return i-s;if(e==="row")return n-l};function Sm(e,t,o,n,r,s,i){let{style:{flexDirection:a}}=$(e),[l,c,d]=ps(a),{[c]:m,[l]:u}=$e(n),p=G(t[o],"path"),f=Im(a,r,s,i),[g,h]=m<s[c]?[po(n,d,p,s,i),u]:[n,void 0],b=f?et(p,f,{flexGrow:0,flexShrink:0}):void 0;return m>s[c]&&(t=t.map(x=>{if(G(x,"placeholder"))return x;{let{[c]:I}=$e(x);return I&&I<m?po(x,d,G(x,"path")):x}})),Ma(e,t,o,g,r,h,s,b)}function Ma(e,t,o,n,r,s,i,a){let l=G(e,"path"),c=0,d=!t||t.length===0?[n]:t.reduce((m,u,p)=>{if(o===p){let[f,g]=Tm(e,u,n,i);r==="before"?a?m.push(a,g,f):m.push(g,f):a?m.push(f,g,a):m.push(f,g),c=m.indexOf(g)}else m.push(u);return m},[]).map((m,u)=>u<c?m:he(m,`${l}.${u}`));return[c,d]}function Tm(e,t,o,n){let r=(0,vs.uuid)(),{version:s=0}=$(o);if(s+=1,U(e)==="Flexbox"){let[i]=Is(e.props.style),a=6,l={[i]:(n[i]-a)/2},c=Kn(t,i,l),d=Kn(o,i,l);return[go.default.cloneElement(t,{style:c}),go.default.cloneElement(o,{id:r,version:s,style:d})]}else{let{style:{left:i,top:a,flex:l,...c}={left:void 0,top:void 0,flex:void 0}}=$(o);return[t,go.default.cloneElement(o,{id:r,version:s,style:c})]}}var Ca=require("react");var Yo=X(require("react"));function Pa(e,{target:t,replacement:o}){return ws(e,t,o)}function ws(e,t,o){let n=G(t,"path"),r=G(t,"resizeable"),{style:s}=$(t),i=fo(Yo.default.cloneElement(o,{resizeable:r,style:{...s,...o.props.style}}),n);return Me(e,t,i)}function Me(e,t,o,n){if(e===t)return o;let{idx:r,finalStep:s}=Ze(G(e,"path"),G(t,"path")),i=e.props.children.slice();return s?n?n===Gt.MINIMIZE?i[r]=vm(e,i[r]):n===Gt.RESTORE&&(i[r]=wm(i[r])):i[r]=o:i[r]=Me(i[r],t,o,n),Yo.default.cloneElement(e,void 0,i)}function vm(e,t){let{style:o}=$(e),{style:n}=$(t),{width:r,height:s,flexBasis:i,flexShrink:a,flexGrow:l,...c}=n,d={width:r,height:s,flexBasis:i,flexShrink:a,flexGrow:l},m={...c,flexBasis:0,flexGrow:0,flexShrink:0},u=o.flexDirection==="row"?"vertical":o.flexDirection==="column"?"horizontal":!1;return u?Yo.default.cloneElement(t,{collapsed:u,restoreStyle:d,style:m}):t}function wm(e){let{style:t,restoreStyle:o}=$(e),{flexBasis:n,flexShrink:r,flexGrow:s,...i}=t,a={...i,...o};return Yo.default.cloneElement(e,{collapsed:!1,style:a,restoreStyle:void 0})}function Ha(e,{fromIndex:t,path:o,toIndex:n}){let r=ge(e,o,!0),{children:s}=$(r),i=Dm(s,t,n),a=(0,Ca.cloneElement)(r,void 0,i);return Me(e,r,a)}function Dm(e,t,o){let n=e.slice(),[r]=n.splice(t,1);return o===-1?n.concat(r):(n.splice(o,0,r),n)}var Ee={ADD:"add",DRAG_START:"drag-start",DRAG_DROP:"drag-drop",LAYOUT_RESIZE:"layout-resize",MAXIMIZE:"maximize",MINIMIZE:"minimize",MOVE_CHILD:"move-child",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_PROP:"set-prop",SET_PROPS:"set-props",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAROUT:"tearout"};var Pt=X(require("react"));function Ds(e,{path:t}){let o=ge(e,t),n=ct(e,t);if(n===null)return e;let{children:r}=$(n);if(r.length>1&&ka(r,t)){let{style:{flexBasis:s,display:i,flexDirection:a,...l}}=$(n),c=G(n,"path"),d=Me(e,n,et(c,s,l));for(;(n=ct(d,c))&&G(n,"path")!=="0";){let{children:m}=$(n);if(ka(m)){c=G(n,"path");let{style:{flexBasis:u,display:p,flexDirection:f,...g}}=$(n);d=Me(e,n,et(c,u,g))}else if(Pm(m))d=za(e,n);else break}return d}return Aa(e,o)}function Aa(e,t){let o=$(e),{children:n,path:r,preserve:s}=o,{active:i}=o,{idx:a,finalStep:l}=Ze(r,G(t,"path")),c=U(e),d=n.slice();if(l){if(d.splice(a,1),i!==void 0&&i>=a&&(i=Math.max(0,i-1)),d.length===1&&!s&&r!=="0"&&c.match(/Flexbox|Stack/))return Rm(e,d[0]);!d.some(Lm)&&d.some(Oa)&&(d=Mm(d))}else d[a]=Aa(d[a],t);return d=d.map((m,u)=>he(m,`${r}.${u}`)),Pt.default.cloneElement(e,{active:i},d)}function Rm(e,t){let o=U(e),{path:n,style:{flexBasis:r,flexGrow:s,flexShrink:i,width:a,height:l}}=$(e),c=he(t,n);if(n==="0")c=Pt.default.cloneElement(c,{style:{...t.props.style,width:a,height:l}});else if(o==="Flexbox"){let d=e.props.style.flexDirection==="column"?"height":"width",{style:{[d]:m,...u}}=c.props;c=Pt.default.cloneElement(c,{flexFill:void 0,style:{...u,flexGrow:s,flexShrink:i,flexBasis:r,width:a,height:l}})}return c}var Lm=e=>e.props.style.flexGrow>0,Oa=e=>{let{width:t,height:o,flexGrow:n}=e.props.style;return n===0&&typeof t!="number"&&typeof o!="number"},Mm=e=>e.map(t=>Oa(t)?Pt.default.cloneElement(t,{style:{...t.props.style,flexGrow:1}}):t),Pm=e=>{if(e&&e.length>0){let t=G(e[0],"placeholder"),o=!1;for(let n=1;n<e.length;n++){if(o=G(e[n],"placeholder"),t&&o)return!0;t=o}}},za=(e,t)=>{let{children:o,path:n}=$(e),{idx:r,finalStep:s}=Ze(n,G(t,"path")),i=o.slice();return s?i[r]=Cm(t):i[r]=za(i[r],t),i=i.map((a,l)=>he(a,`${n}.${l}`)),Pt.default.cloneElement(e,void 0,i)},Cm=e=>{let{children:t}=$(e),o=[],n=[];for(let s=0;s<t.length;s++)G(t[s],"placeholder")?n.push(t[s]):(n.length===1?o.push(n.pop()):n.length>0&&(o.push(Na(n)),n.length=0),o.push(t[s]));n.length===1?o.push(n.pop()):n.length>0&&o.push(Na(n));let r=G(e,"path");return Pt.default.cloneElement(e,void 0,o.map((s,i)=>he(s,`${r}.${i}`)))},Na=([e,...t])=>{let o=G(e,"style"),{flexBasis:n,flexGrow:r,flexShrink:s}=o;for(let{props:{style:i}}of t)n+=i.flexBasis,r=Math.max(r,i.flexGrow),s=Math.max(s,i.flexShrink);return Pt.default.cloneElement(e,{style:{...o,flexBasis:n,flexGrow:r,flexShrink:s}})},ka=(e,t)=>e.every(o=>G(o,"placeholder")||t&&G(o,"path")===t);var jn=X(require("react"));function Fa(e,{path:t,size:o}){let n=ge(e,t,!0),{style:r}=$(n),s={...r,width:o},i=jn.default.cloneElement(n,{style:s});return Me(e,n,i)}function Ba(e,{path:t,sizes:o}){let n=ge(e,t,!0),{children:r,style:s}=$(n),i=s.flexDirection==="column"?"height":"width",a=Hm(r,o,i),l=jn.default.cloneElement(n,void 0,a);return Me(e,n,l)}function Hm(e,t,o){return e.map((n,r)=>{let{style:{[o]:s,flexBasis:i}}=$(n),a=t[r],{currentSize:l,flexBasis:c}=a,m=l!==void 0?a.currentSize:c;return m===void 0||s===m||i===m?n:jn.default.cloneElement(n,{style:Nm(n.props.style,o,m)})})}function Nm(e,t,o){let n=typeof e[t]=="number",{flexShrink:r=1,flexGrow:s=1}=e;return{...e,[t]:n?o:"auto",flexBasis:n?"auto":o,flexShrink:r,flexGrow:s}}var $a=require("@vuu-ui/vuu-utils"),qo=X(require("react"));var Ka=e=>{let[t]=U(e);return t===t.toLowerCase()};function Jo(e,t,o,n,r,s){let{children:i,path:a}=$(e),l=G(t,"path"),{idx:c,finalStep:d}=Ze(a,l),m=d?km(e,i,t,o,n,r,s):i.map((u,p)=>p===c?Jo(u,t,o,n,r,s):u);return qo.default.cloneElement(e,void 0,m)}function km(e,t,o,n,r,s,i){let a=$e(n);if(a!=null&&a.width&&(a!=null&&a.height)){if(s===void 0||i===void 0)throw Error("wrap-layout-element, updateChildren clientRect and dropRect must both be available");return Om(t,o,n,r,s,i)}return Am(e,t,o,n,r)}function Am(e,t,o,n,r){var E;let{version:s=0}=$(n),i=G(o,"path"),{type:a,flexDirection:l,showTabs:c}=_a(r),[d,m,u]=zm(a,o,n,l,r),p=Va(r),f=p?1:0,g={resizeable:!0,style:u,version:s+1},b={[Ka(o)?"data-resizeable":"resizeable"]:!0,style:m},x=a==="Stack"?{showTabs:c}:void 0,I=a==="Flexbox"?{splitterSize:(E=U(e)==="Flexbox"&&e.props.splitterSize)!=null?E:void 0}:void 0,y=(0,$a.uuid)(),S=qo.default.createElement(Tt[a],{active:f,id:y,key:y,path:G(o,"path"),flexFill:G(o,"flexFill"),...I,...x,style:d,resizeable:G(o,"resizeable")},p?[he(o,`${i}.0`,b),fo(qo.default.cloneElement(n,g),`${i}.1`)]:[fo(qo.default.cloneElement(n,g),`${i}.0`),he(o,`${i}.1`,b)]);return t.map(v=>v===o?S:v)}function Om(e,t,o,n,r,s){let{flexDirection:i}=_a(n),a=i==="column"?"row":"column",l=Va(n),[c,d,m,u]=s,[p,f]=i==="column"?[d-r.top,r.bottom-u]:[c-r.left,r.right-m],g=G(t,"path"),h=0,b=Ka(t)?"data-resizeable":"resizeable",x=[];p&&x.push(l?he(t,`${g}.${h++}`,{[b]:!0,style:{flexBasis:p,flexGrow:1,flexShrink:1}}):et(`${g}.${h++}`,p,{flexGrow:0,flexShrink:0})),x.push(po(o,a,`${g}.${h++}`,r,s)),f&&x.push(l?et(`${g}.${h++}`,0):he(t,`${g}.${h++}`,{[b]:!0,style:{flexBasis:0,flexGrow:1,flexShrink:1}}));let I=Vn(i,t.props,x,g);return e.map(y=>y===t?I:y)}function zm(e,t,o,n,r){let s={...t.props.style,flexDirection:n},i=e==="Flexbox"&&n==="column"?"height":"width",a=$n(o,i,r),l=$n(t,i);return[s,l,a]}var Va=e=>{var t;return e.position.SouthOrEast?!0:((t=e==null?void 0:e.tab)==null?void 0:t.positionRelativeToTab)==="before"?!1:!!e.position.Header};function _a(e){return e.position.Header?{type:"Stack",flexDirection:"column",showTabs:!0}:{type:"Flexbox",flexDirection:e.position.EastOrWest?"row":"column"}}var Rs=(e,t)=>{switch(t.type){case Ee.ADD:return Vm(e,t);case Ee.DRAG_DROP:return Km(e,t);case Ee.MAXIMIZE:return $m(e,t);case Ee.REMOVE:return Ds(e,t);case Ee.REPLACE:return Pa(e,t);case Ee.SET_PROP:return Wa(e,t);case Ee.SET_PROPS:return Bm(e,t);case Ee.SET_TITLE:return Wa(e,{type:"set-prop",path:t.path,propName:"title",propValue:t.title});case Ee.SPLITTER_RESIZE:return Ba(e,t);case Ee.LAYOUT_RESIZE:return Fa(e,t);case Ee.SWITCH_TAB:return Fm(e,t);case Ee.MOVE_CHILD:return Ha(e,t);default:return e}},Fm=(e,{path:t,nextIdx:o})=>{let n=ge(e,t,!0),r=Yn.default.cloneElement(n,{active:o});return Me(e,n,r)},Wa=(e,{path:t,propName:o,propValue:n})=>{let r=ge(e,t,!0),s=Yn.default.cloneElement(r,{[o]:n});return Me(e,r,s)},Bm=(e,{path:t,props:o})=>{let n=ge(e,t,!0),r=Yn.default.cloneElement(n,o);return Me(e,n,r)},$m=(e,{path:t,type:o})=>{if(t){let n=ge(e,t,!0);return Me(e,n,n,o)}else return e},Km=(e,t)=>{var f,g;let{draggedReactElement:o,dragInstructions:n,dropTarget:r}=t,s=r.component,{pos:i}=r,a=((f=i==null?void 0:i.position)==null?void 0:f.Header)&&U(s)==="Stack",{id:l,version:c}=$(o),d=$e(o),m;if(a){let[h,b]=La(s,i);h===void 0?m=Zn(e,s,o):m=Xn(e,h,o,b)}else!d&&((g=i==null?void 0:i.position)!=null&&g.Centre)?m=ws(e,s,o):m=_m(e,r,o);if(n.DoNotRemove)return m;let u=ut(m,h=>h.id===l&&h.version===c),p=G(u,"path");return Ds(m,{path:p,type:"remove"})},Vm=(e,{path:t,component:o})=>Zn(e,ge(e,t),o),_m=(e,t,o)=>{let{component:n,pos:r,clientRect:s,dropRect:i}=t,a=G(n,"path");if(a==="0.0")return Jo(e,n,o,r);let l=ct(e,a);if(Ga(r,l)){let c=r.position.SouthOrEast?"after":"before";return Xn(e,n,o,c,r,s,i)}if(!Ga(r,l))return Jo(e,n,o,r,s,i);if(Se(U(l)))return Jo(e,n,o,r);throw Error(`no support right now for position = ${r.position}`)},Ga=(e,t)=>e.position.Centre?Za(t)||Ua(t):e.position.NorthOrSouth?Ua(t):e.position.EastOrWest?Za(t):!1,Ua=e=>U(e)==="Flexbox"&&e.props.style.flexDirection==="column",Za=e=>U(e)==="Flexbox"&&e.props.style.flexDirection!=="column";var Xa=require("react"),Wm=e=>console.log(`dispatch ${e.type}, have you forgotten to provide a LayoutProvider ?`),ho=(0,Xa.createContext)({dispatchLayoutProvider:Wm,version:-1});var xt=require("react");var Gm={},ja=[0,0],Um=(e,t,o)=>{let n=document.createElement("div");n.className="vuuSimpleDraggableWrapper",n.classList.add("vuuSimpleDraggableWrapper","salt-theme","salt-density-medium"),n.dataset.dragging="true";let r=o!=null?o:document.createElement("div");r.id=t,n.appendChild(r),document.body.appendChild(n);let s=`top:${e.top}px;left:${e.left}px;width:${e.width}px;height:${e.height}px;`;return[n,s,e.left,e.top]},Zm=e=>{let{offsetParent:t}=e;if(t===null)return ja;{let{left:o,top:n}=t.getBoundingClientRect();return[o,n]}},Ya=(e,t)=>{let o=(0,xt.useRef)(),n=(0,xt.useRef)(),r=(0,xt.useRef)(),s=(0,xt.useCallback)((c,d)=>{if(n.current&&r.current){let{dragOffsets:[m,u],targetPosition:p}=n.current,f=typeof c=="number"?c-m:p.left,g=typeof d=="number"?d-u:p.top;(f!==p.left||g!==p.top)&&(n.current.targetPosition.left=f,n.current.targetPosition.top=g,r.current.style.top=g+"px",r.current.style.left=f+"px")}},[]),i=(0,xt.useCallback)(c=>{if(n.current){let{dragInstructions:d,payload:m,originalCSS:u}=n.current;t({type:"drag-drop",draggedReactElement:m,dragInstructions:d,dropTarget:c}),console.log("[useLayoutDragDrop]",{dragInstructions:d}),r.current&&(d.RemoveDraggableOnDragEnd?document.body.removeChild(r.current):(r.current.style.cssText=u,delete r.current.dataset.dragging)),o.current=void 0,n.current=void 0,r.current=void 0}},[t]),a=(0,xt.useCallback)(c=>{if(o.current){let{payload:d,dragContainerPath:m,dragElement:u,dragRect:p,instructions:f=Gm,path:g}=o.current,{current:h}=e,b={x:c.clientX,y:c.clientY},x=d!=null?d:ge(h,g,!0),{id:I}=x.props,y=$e(x),S="",E="",v="",D=-1,P=-1,A=ja,C=document.getElementById(I);if(C===null)[C,E,D,P]=Um(p,I,u);else{A=Zm(C);let[T,R]=A,{width:L,height:H,left:N,top:w}=C.getBoundingClientRect();D=N-T,P=w-R,E=`width:${L}px;height:${H}px;left:${D}px;top:${P}px;z-index: 100;background-color:#ccc;opacity: 0.6;`,C.dataset.dragging="true",S=C.style.cssText}v=Fn.initDrag(e.current,m,p,b,{drag:s,drop:i},y),C.style.cssText=E+v,r.current=C,n.current={payload:x,originalCSS:S,dragRect:p,dragOffsets:A,dragInstructions:f,targetPosition:{left:D,top:P}}}},[s,i,e]);return(0,xt.useCallback)(c=>{let{evt:d,...m}=c;console.log("prepare to drag",{options:m}),o.current={...m,dragContainerPath:""},Fn.handleMousedown(d,a,m.instructions)},[a])};var Ls=require("react/jsx-runtime"),qa=e=>e.dropTarget,Xm=e=>["drag-drop","remove","set-title","splitter-resize","switch-tab"].includes(e.type),jm=()=>{let e=Ja();return(0,Ls.jsx)("div",{children:`Context: ${e} `})},Ym=e=>{let{children:t,layout:o,onLayoutChange:n}=e,r=(0,ke.useRef)(void 0),s=(0,ke.useRef)(t),[,i]=(0,ke.useState)(null),a=(0,ke.useCallback)(m=>{if(n){let u=ut(m,qa)||r.current,f=U(u)==="DraggableLayout"?$(u).children[0]:u,g=Ss(f);n(g,"drag-root")}},[n]),l=(0,ke.useCallback)((m,u=!1)=>{let p=Rs(r.current,m);p!==r.current&&(r.current=p,i({}),!u&&Xm(m)&&a(p))},[a]),c=(0,ke.useCallback)(m=>{switch(m.type){case"drag-start":{d(m);break}case"save":{a(r.current);break}default:{l(m);break}}},[l,a]),d=Ya(r,c);return(0,ke.useEffect)(()=>{if(o){let m=ut(r.current,qa),u=Xr(m),p=jo(o,`${m.props.path}.0`),f=u?{type:Ee.REPLACE,target:u,replacement:p}:{type:Ee.ADD,path:m.props.path,component:p};l(f,!0)}},[l,o]),r.current===void 0?r.current=Gn(t):t!==s.current&&(r.current=Gn(t,r.current),s.current=t),(0,Ls.jsx)(ho.Provider,{value:{dispatchLayoutProvider:c,version:0},children:r.current})},tt=()=>{let{dispatchLayoutProvider:e}=(0,ke.useContext)(ho);return e},Ja=()=>{console.log({LayoutProviderContext:ho});let{version:e}=(0,ke.useContext)(ho);return e};var el=require("react/jsx-runtime"),Ms=function(t){let{path:o}=t,n=tt(),r=(0,Qa.useCallback)(s=>{n({type:Gt.SPLITTER_RESIZE,path:o,sizes:s})},[n,o]);return(0,el.jsx)(Wn,{...t,onSplitterMoved:r})};Ms.displayName="Flexbox";fe("Flexbox",Ms,"container");var al=require("@salt-ds/core"),ll=X(require("classnames")),Jn=require("react");var ot=require("react");var jt=require("react"),Cs=["height","width"],qm=["height"],Jm=["width"],Xt=new WeakMap,tl=(e,t,o)=>{switch(o){case"height":return t.height;case"scrollHeight":return e.scrollHeight;case"scrollWidth":return e.scrollWidth;case"width":return t.width;default:return 0}},Ps=new ResizeObserver(e=>{for(let t of e){let{target:o,contentRect:n}=t,r=Xt.get(o);if(r){let{onResize:s,measurements:i}=r,a=!1;for(let[l,c]of Object.entries(i)){let d=tl(o,n,l);d!==c&&(a=!0,i[l]=d)}a&&s&&s(i)}}});function Qo(e,t,o,n=!1){console.log("resizeObserver container",{ref:e.current});let r=(0,jt.useRef)(t),s=(0,jt.useCallback)(i=>{let a=i.getBoundingClientRect();return r.current.reduce((l,c)=>(l[c]=tl(i,a,c),l),{})},[]);(0,jt.useLayoutEffect)(()=>{let i=e.current,a=!1;async function l(){Xt.set(i,{measurements:{}}),a=!1;let{fonts:c}=document;if(c&&await c.ready,!a){let d=Xt.get(i);if(d){let m=s(i);d.measurements=m,Ps.observe(i),n&&o(m)}}}if(i){if(Xt.has(i))throw Error("useResizeObserver attemping to observe same element twice");l()}return()=>{i&&Xt.has(i)&&(Ps.unobserve(i),Xt.delete(i),a=!0)}},[e,s,n,o]),(0,jt.useLayoutEffect)(()=>{let i=e.current,a=Xt.get(i);if(a){if(r.current!==t){r.current=t;let l=s(i);a.measurements=l}a.onResize=o}},[t,s,e,o])}function Qm(e,t){let o=document.body.querySelector(`.${e}`),n={get:function(r,s){let i=r.getPropertyValue(`--${e}-breakpoint-${s}`);return i?parseInt(i):void 0}};return o?new Proxy(getComputedStyle(o),n):t!=null?t:{}}var ep=([,e],[,t])=>t-e,Ns=e=>Object.entries(e).sort(ep).map(([t,o],n,r)=>[t,o,n<r.length-1?r[n+1][1]:9999]),Hs=null,tp=(e="salt")=>{let{xs:t,sm:o,md:n,lg:r,xl:s}=Qm(e);return Ns({xs:t,sm:o,md:n,lg:r,xl:s})},ol=e=>(Hs===null&&(Hs=tp(e)),Hs);var op=[],ks=({breakPoints:e,smallerThan:t},o)=>{let[n,r]=(0,ot.useState)(t?!1:"lg"),s=(0,ot.useRef)(document.body),i=(0,ot.useRef)(e?Ns(e):ol()),a=(0,ot.useRef)("lg"),l=(0,ot.useCallback)(d=>{if(i.current){for(let[m,u]of i.current)if(d>=u)return m}},[i]),c=(0,ot.useCallback)(d=>{if(t){let m=i.current.find(([u])=>u===t);if(m){let[,,u]=m;return d<u}}else return l(d);return d},[t,l]);return Qo(o||s,i.current?["width"]:op,({width:d})=>{let m=c(d);m!==a.current&&(a.current=m,r(m))},!0),(0,ot.useEffect)(()=>{let d=o||s;if(d.current){let m=a.current;if(i.current){let{clientWidth:u}=d.current,p=c(u);a.current=p,p!==m&&r(p)}}},[r,c,o]),n};var nl="data-collapsible",np={[nl]:!0,"data-pad-start":!0,"data-pad-end":!0},rl=e=>{var t;return(t=np[e])!=null?t:!1},rp=e=>e===nl,sp={dynamic:"dynamic",instant:"instant",true:"instant"},ip=e=>{var t;return(t=sp[e])!=null?t:"none"},ap=e=>Object.keys(e).reduce((t,o)=>{let[n,r]=t;if(rl(o)){let s=rp(o)?ip(e[o]):e[o];n[o]=s,r[o]=void 0}return t},[{},{}]);var sl=require("@vuu-ui/vuu-utils"),Ke=require("react");var lp=["xs","sm","md","lg","xl"],cp=12,il=({children:e,cols:t,style:o})=>{let n=(0,Ke.useRef)(null),r=(0,Ke.useRef)(null),s=(0,Ke.useRef)(),i=t!=null?t:cp,l=(o==null?void 0:o.flexDirection)==="column"?"height":"width",c=(0,Ke.useMemo)(()=>Array.isArray(e)?e:(0,Ke.isValidElement)(e)?[e]:[],[e]),d=(0,Ke.useCallback)((m,u)=>{let p=_n(m,u,lp),f=[],g=[];for(let h=0;h<m.length;h++){let b=m[h],{style:{flex:x,...I}}=b.props;f.push((0,Ke.cloneElement)(b,{key:(0,sl.getUniqueId)(),style:{...I,"--parent-col-count":i}})),g.push(p[h])}return[f,g]},[i]);return(0,Ke.useMemo)(()=>{let[m,u]=d(c,l);r.current=u,s.current=m},[d,c,l]),{cols:i,content:s.current,rootRef:n}};var cl=require("react/jsx-runtime"),qn="hwFluidGrid",Qn=(0,Jn.forwardRef)(function(t,o){let{breakPoints:n,children:r,column:s,cols:i=12,className:a,flexFill:l,gap:c=3,fullPage:d,id:m,onSplitterMoved:u,resizeable:p,row:f,showGrid:g,spacing:h,splitterSize:b,style:x,...I}=t,y=(0,Jn.useMemo)(()=>Kt(r),[r]),{cols:S,content:E,rootRef:v}=il({children:y,cols:i,style:x}),D=ks({breakPoints:n},v),P=(0,ll.default)(qn,a,{[`${qn}-column`]:s,[`${qn}-row`]:f,[`${qn}-show-grid`]:g,"flex-fill":l,"full-page":d}),A={...x,"--spacing":h,"--grid-col-count":S,"--grid-gap":c};return(0,cl.jsx)("div",{...I,className:P,"data-breakpoint":D,"data-cols":S,"data-resizeable":p||void 0,id:m,ref:(0,al.useForkRef)(v,o),style:A,children:E})});Qn.displayName="FluidGrid";var ul=require("react/jsx-runtime"),As=function(t){return(0,ul.jsx)(Qn,{...t})};As.displayName="FluidGrid";fe("FluidGrid",As,"container");var bo=require("react"),pp=require("react/jsx-runtime"),up={isDragSource:!1,isDropTarget:!1,register:()=>{}},dp=()=>console.log("have you forgotten to provide a DragDrop Provider ?"),mp=(0,bo.createContext)({registerDragDropParty:dp});var dl=e=>{var r,s;let{dragSources:t,dropTargets:o,registerDragDropParty:n}=(0,bo.useContext)(mp);if(e){let i=(r=t==null?void 0:t.has(e))!=null?r:!1,a=(s=o==null?void 0:o.has(e))!=null?s:!1;return{isDragSource:i,isDropTarget:a,register:n}}else return up};var be=require("react");var nt=require("react");var fp=["left","right"],gp=["top","bottom"],er=":not(.wrapped)",ml=':not([aria-hidden="true"])',pl=e=>{let t=e.cloneNode(!0);return t.removeAttribute("id"),t.dataset.index="-1",t},hp=(e,t="width",o=!1)=>{let n=t==="width"?"left":"top",{[t]:r,[n]:s}=e.getBoundingClientRect(),{padEnd:i=!1,padStart:a=!1}=e.dataset,l=getComputedStyle(e),[c,d]=t==="width"?fp:gp,m=a&&!o?0:parseInt(l.getPropertyValue(`margin-${c}`),10),u=i&&!o?0:parseInt(l.getPropertyValue(`margin-${d}`),10),p=r;if(parseInt(l.getPropertyValue("flex-shrink"),10)>0){let g=parseInt(l.getPropertyValue("flex-basis"),10);!isNaN(g)&&g>0&&(p=g)}return[s,m+p+u]},bp={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"}},je=e=>bp[e],fl=(e,t)=>{let o=e.find(n=>n.id===t);if(o)return o},gl=(e,t)=>{e.splice(t,1);for(let o=t;o<e.length;o++)e[o].currentIndex-=1},yo=(e,t,o,n,r)=>{var m;let s=[],{DIMENSION:i}=je(t),a=Array.from(o?e.querySelectorAll(o):e.children),l=a.length,c=typeof(n==null?void 0:n.from)=="number"?n.atEnd?Math.max(0,n.from-1):n.from:0,d=typeof(n==null?void 0:n.to)=="number"?Math.min(n.to+2,l-1):l-1;for(let u=c;u<=d;u++){let p=a[u],[f,g]=hp(p,i),h=u===l-1,b=p.id,x=parseInt((m=p.dataset.index)!=null?m:"-1");s.push({currentIndex:u,dataIndex:isNaN(x)?-1:x,id:b,index:u,isDraggedItem:r===b,isLast:h,isOverflowIndicator:p.dataset.index==="overflow",element:p,start:f,end:f+g,size:g,mid:f+g/2})}return s},xo=(e,t=!1)=>{let o=e.findIndex(r=>r.isDraggedItem),{index:n}=e[o];if(t){let r=e.filter(i=>!i.isDraggedItem).reduce((i,a)=>Math.min(i,a.index),Number.MAX_SAFE_INTEGER);if(r>0&&!(n===0&&r===1))return r+o}return o},Os=(e,t)=>{let o=xo(e),n=t==="fwd"?o+1:o-1;if(n<0||n>=e.length)throw Error("switchDropTargetPosition index out of range");let r=e.at(o),s=e.at(n),i=s.size-r.size;if(t==="fwd"){let a=s.start+i,l=s.end,c={...r,start:a,mid:Math.floor(a+(l-a)/2),end:l},d=r.start,m=r.end+i,u={...s,start:d,mid:Math.floor(d+(m-d)/2),end:m};e.splice(o,2,u,c)}else{let a=s.start,l=s.end-i,c={...r,start:a,mid:Math.floor(a+(l-a)/2),end:l},d=r.start-i,m=r.end,u={...s,start:d,mid:Math.floor(d+(m-d)/2),end:m};e.splice(n,2,c,u)}},Eo=(e,t,o)=>{let n=e.length,r=xo(e),s=e[r];if(o==="fwd"){let i=Math.round(t+s.size);for(let a=n-1;a>=0;a--){let l=e[a];if(i>l.mid)return a<r?s:l}}else{let i=Math.round(t);for(let a=0;a<n;a++){let l=e[a];if(i<l.mid)return a>r?s:l}}throw Error("no dropTraget identified")};function hl(e,t){let{height:o,left:n,top:r,width:s}=e,{height:i,width:a}=t;return{height:Math.min(o,i),left:n,top:r,width:Math.min(s,a)}}var bl=require("@salt-ds/core"),yl=X(require("classnames")),tr=require("react"),xl=require("@vuu-ui/vuu-popups");var zs=require("react/jsx-runtime"),yp=e=>e.split(" ").map(t=>`vuuDraggable-${t}`),or=(0,tr.forwardRef)(function({wrapperClassName:t,element:o,onTransitionEnd:n,style:r,scale:s=1},i){let a=(0,tr.useCallback)(c=>{c&&(c.innerHTML="",c.appendChild(o),s!==1&&(c.style.transform=`scale(${s},${s})`))},[o,s]),l=(0,bl.useForkRef)(i,a);return(0,zs.jsx)(xl.Portal,{children:(0,zs.jsx)("div",{className:(0,yl.default)("vuuDraggable",...yp(t)),ref:l,onTransitionEnd:n,style:r})})}),Fs=e=>{let t=document.createElement("div");return t.className="vuuDraggable-spacer",e&&t.addEventListener("transitionend",()=>{e.current=!1}),t},El=()=>{let e=document.createElement("div");return e.className="vuuDraggable-dropIndicatorPosition",e},Il=e=>{let t=document.createElement("div");return t.className="vuuDraggable-dropIndicator",e&&t.addEventListener("transitionend",()=>{e.current=!1}),t};var Sl=()=>{let e=(0,nt.useRef)(0),t=(0,nt.useRef)(!1),o=(0,nt.useMemo)(()=>[Fs(t),Fs()],[]),n=(0,nt.useCallback)(()=>o.forEach(l=>l.remove()),[o]),r=(0,nt.useCallback)((l,c="width")=>{let[d,m]=o;e.current=requestAnimationFrame(()=>{t.current=!0,d.style.cssText=`${c}: 0px`,m.style.cssText=`${c}: ${l}px`,o[0]=m,o[1]=d})},[o]),s=(0,nt.useCallback)(()=>{e.current&&(cancelAnimationFrame(e.current),e.current=0)},[]),i=(0,nt.useCallback)((l,c,d,m=!1,u="static",p="horizontal")=>{if(c){let f=p==="horizontal"?"width":"height",[g,h]=o;if(s(),m)t.current?(n(),g.style.cssText=`${f}: ${d}px`,h.style.cssText=`${f}: 0px`,u==="fwd"?(c.element.before(g),c.element.after(h)):(c.element.after(g),c.element.before(h))):u==="fwd"?c.element.after(h):c.element.before(h),r(d,f);else if(u==="static")g.style.cssText=`${f}: ${d}px`,c.element.before(g);else throw Error("useDragDisplacers currently only supports noTransition for static displacement");u!=="static"&&Os(l,u)}},[r,s,n,o]),a=(0,nt.useCallback)((l,c,d,m=!1,u="static",p="horizontal")=>{let f=p==="horizontal"?"width":"height",[g,h]=o;s(),m?(t.current?(n(),g.style.cssText=`${f}: ${d}px`,h.style.cssText=`${f}: 0px`,c.element.before(g),c.element.after(h)):u==="fwd"?c.element.after(h):c.element.before(h),r(d,f)):(g.style.cssText=`${f}: ${d}px`,c.element.after(g)),u!=="static"&&Os(l,u)},[r,s,n,o]);return{displaceItem:i,displaceLastItem:a,clearSpacers:n}};var Tl=({draggableRef:e,onDrop:t,orientation:o="horizontal",containerRef:n,itemQuery:r="*",selected:s,viewportRange:i})=>{let a=(0,be.useRef)(),l=(0,be.useRef)(!1),c=(0,be.useRef)(-1),d=(0,be.useRef)([]),m=(0,be.useRef)(!1),[u,p]=(0,be.useState)(!1),{clearSpacers:f,displaceItem:g,displaceLastItem:h}=Sl(),b=(0,be.useRef)(),x=`:is(${r}${er}${ml},.vuuOverflowContainer-OverflowIndicator)`,I=T=>d.current.findIndex(R=>R.id===T.id),y=(0,be.useRef)();y.current=i;let S=(0,be.useCallback)(()=>{f()},[f]),E=(0,be.useCallback)((T,R,L)=>{let{current:H}=n,{current:N}=b;if(H&&N){d.current=yo(H,o,x,y.current),T==="fwd"?d.current.push(N):d.current.unshift(N);let{size:w}=N,O=c.current+w/2,{current:k}=d,z=Eo(k,O,"fwd");if(z){let Z=I(z),V=k[Z];L&&T==="fwd"?h(k,k[k.length-1],w,!1,"static",o):g(k,V,w,!0,"static",o)}}},[n,g,h,x,o]),v=(0,be.useCallback)(T=>{let L=T.target.closest(r);L.ariaSelected&&Array.isArray(s)&&s.length>1&&console.log("its a selected element, and we have a multi select");let{current:H}=n;if(H&&L){let{SCROLL_SIZE:N,CLIENT_SIZE:w}=je(o),{id:M}=L,{[N]:O,[w]:k}=H;l.current=O>k;let z=d.current=yo(H,o,x,i,M),K=xo(z),Z=z[K];if(Z&&H){b.current=Z;let V=Z.isLast?h:g;console.log({indexOfDraggedItem:K,draggedItem:Z}),V(z,Z,Z.size,!1,"static",o)}}},[n,g,h,x,r,o,s,i]),[D,P]=(0,be.useMemo)(()=>{let T=!1;return[H=>{if(!T){T=!0;let N=H.element.querySelector(".vuuPopupMenu");if(N){let w=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});N.dispatchEvent(w)}}},H=>{if(T){T=!1;let N=H.element.querySelector(".vuuPopupMenu");if(N){let w=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});N.dispatchEvent(w)}}}]},[]),A=(0,be.useCallback)((T,R)=>{let{current:L}=b;if(L&&e.current&&n.current){c.current=T;let{current:H}=d,N=Eo(H,T,R);if(N&&!N.isDraggedItem)if(N.isOverflowIndicator)p(m.current=!0),D(N);else{let{size:w}=L;(I(N)===H.length-1?h:g)(H,N,w,!0,R,o);let k=H.at(-1);P(k),p(m.current=!1)}a.current=R}},[n,g,h,e,P,o,D]),C=(0,be.useCallback)(()=>{var H;f();let{current:T}=d,R=xo(T),L=T[R];if(L)if(a.current=void 0,m.current)t(L.index,-1);else{let N=xo(T,!0);t(L.index,N)}if(p(!1),n.current){let N=(H=n.current)==null?void 0:H.scrollTop;R<T.length&&(n.current.scrollTop=N)}},[f,n,t]);return{beginDrag:v,drag:A,drop:C,handleScrollStart:S,handleScrollStop:E,revealOverflowedItems:u}};var de=require("react");var en=require("react");var vl=()=>{let e=(0,en.useMemo)(()=>El(),[]),t=(0,en.useCallback)(()=>e.remove(),[e]);return{positionDropIndicator:(0,en.useCallback)((n,r="end")=>(r==="end"?n.element.after(e):n.element.before(e),e),[e]),clearSpacer:t}};var Dl=require("react/jsx-runtime"),xp=':not([data-overflowed="true"])',Ep=':not([aria-hidden="true"])',wl=({draggableRef:e,onDrop:t,orientation:o="horizontal",containerRef:n,itemQuery:r="*",selected:s,viewportRange:i})=>{let a=(0,de.useRef)(),l=(0,de.useRef)(null),c=(0,de.useRef)(null),d=(0,de.useRef)(""),m=(0,de.useRef)(!1),u=(0,de.useRef)(-1),p=(0,de.useRef)([]),f=(0,de.useRef)(!1),[g,h]=(0,de.useState)(!1),[b,x]=(0,de.useState)(),{clearSpacer:I,positionDropIndicator:y}=vl(),S=(0,de.useRef)(),E=`:is(${r}${xp}${Ep},[data-overflow-indicator])`,v=H=>p.current.findIndex(N=>N.id===H.id),D=(H,N,w)=>{H.start+=N,H.mid+=N,H.end+=N,typeof w=="number"&&(H.currentIndex+=w)},P=(0,de.useRef)();P.current=i;let A=(0,de.useCallback)(()=>{I()},[I]),C=(0,de.useCallback)((H,N,w)=>{let{current:M}=n,{current:O}=S;if(M&&O){p.current=yo(M,o,E,P.current);let{size:k}=O,K=u.current+k/2,{current:Z}=p,V=Eo(Z,K,"fwd");V&&y(w&&H==="fwd"?Z[Z.length-1]:V,"start")}},[n,y,E,o]),T=(0,de.useCallback)(H=>{let w=H.target.closest(r);w.ariaSelected&&Array.isArray(s)&&s.length>1&&console.log("its a selected element, and we have a multi select");let{current:M}=n;if(M&&w){let{SCROLL_SIZE:O,CLIENT_SIZE:k}=je(o),{id:z}=w,{[O]:K,[k]:Z}=M;m.current=K>Z;let V=p.current=yo(M,o,E,i),Y=fl(V,z);if(Y&&M){let F=v(Y);gl(V,F),S.current=Y;let{current:B}=P;if(B!=null&&B.atEnd)for(let Q=0;Q<V.length;Q++)D(V[Q],Y.size);for(let Q=F;Q<V.length;Q++)D(V[Q],-Y.size,-1);let[J,ee]=Y.isLast?[V[V.length-1],"end"]:[V[F],"start"];c.current=J,d.current=ee;let pe=y(J,ee),{top:j,left:q,width:te}=pe.getBoundingClientRect(),ne={top:Y.isLast?B!=null&&B.atEnd&&!B.atStart?j+Y.size-2:j-2:j-Y.size-2,left:q,width:te,height:2};x((0,Dl.jsx)(or,{wrapperClassName:"dropIndicatorContainer",style:ne,ref:l,element:Il()}))}}},[r,s,n,o,E,i,y]),R=(0,de.useCallback)((H,N)=>{let{current:w}=c,{current:M}=S;if(M&&e.current&&n.current){let O=o==="horizontal"?"left":"top";u.current=H;let{current:k}=p,z=Eo(k,H,N);if(z&&z.index!==(w==null?void 0:w.index)){if(z.isOverflowIndicator)h(f.current=!0);else if(l.current){if(v(z)===k.length-1){let Z=k[k.length-1],Y=y(Z,"start").getBoundingClientRect();l.current.style[O]=`${Y.top}px`}else{let V=y(z,"start").getBoundingClientRect();l.current.style[O]=`${V.top}px`}h(f.current=!1)}c.current=z,a.current=N}}},[e,n,o,y]),L=(0,de.useCallback)(()=>{I();let{current:H}=S,{current:N}=c,{current:w}=d,{current:M}=P;if(H&&M&&N){let{index:O}=H,k=w==="start",{index:z,currentIndex:K}=N;c.current=null,a.current=void 0,f.current?t(O,-1):O<z?t(O,k?K:K+1):t(O,k?z:z+1),x(void 0)}h(!1)},[I,t]);return{beginDrag:T,drag:R,drop:L,dropIndicator:b,handleScrollStart:A,handleScrollStop:C,revealOverflowedItems:g}};var se=require("react");var Ct=require("react");var Rl=({containerRef:e,onScrollingStopped:t,orientation:o="vertical"})=>{let n=(0,Ct.useRef)(null),r=(0,Ct.useRef)(!1),s=(0,Ct.useRef)(0),i=(0,Ct.useRef)("fwd"),a=(0,Ct.useCallback)((c=!1)=>{console.log("[useAutoScroll] stopScrolling"),n.current!==null&&(clearTimeout(n.current),n.current=null),r.current=!1,t==null||t(i.current,s.current,c)},[t]),l=(0,Ct.useCallback)((c,d,m=30)=>{let{current:u}=e;if(u){let{SCROLL_POS:p,SCROLL_SIZE:f,CLIENT_SIZE:g}=je(o),{[p]:h,[f]:b,[g]:x}=u,I=c==="fwd"?b-x-h:h,y=Math.min(I,m);c==="fwd"?(i.current="fwd",u[p]=s.current=h+y):(i.current="bwd",u[p]=s.current=h-y),y===I?a(!0):(r.current=!0,n.current=window.setTimeout(()=>{l(c,d,m)},100))}},[e,o,a]);return{isScrolling:r,startScrolling:l,stopScrolling:a}};var Ml=require("react/jsx-runtime"),Ip={beginDrag:()=>{},drag:()=>{},draggableRef:{current:null},drop:()=>{},isDragging:!1,isScrolling:!1,handleScrollStart:()=>{},handleScrollStop:()=>{},revealOverflowedItems:!1},Ll={start:0,end:1e3,contraStart:0,contraEnd:1e3},Sp=()=>Ip,Tp=3,vp=(e,t)=>e.closest(t),wp=e=>e.dataset.index==="overflow"&&e.parentElement!==null&&e.parentElement.classList.contains("overflowed"),Dp=(e,t)=>{let o=`:is(${t}${er},.vuuOverflowContainer-OverflowIndicator)`,r=Array.from(e.querySelectorAll(o)).pop();return[r,wp(r)]},nr=({allowDragDrop:e,containerRef:t,draggableClassName:o,itemQuery:n="*",onDragStart:r,onDrop:s,onDropSettle:i,orientation:a,...l})=>{let c=(0,se.useRef)({start:0,end:0,contraStart:0,contraEnd:0}),[d,m]=(0,se.useState)({draggable:void 0,draggedItemIndex:-1,isDragging:!1}),u=(0,se.useRef)(null),p=(0,se.useRef)(),f=(0,se.useRef)(null),g=(0,se.useRef)(!1),h=(0,se.useRef)({x:0,y:0}),b=(0,se.useRef)({x:0,y:0}),x=(0,se.useRef)({x:0,y:0}),I=(0,se.useRef)(null),y=(0,se.useRef)(-1),S=(0,se.useRef)(-1),E=(0,se.useRef)(),{isDragSource:v,isDropTarget:D,register:P}=dl(l.id);l.id&&(v||D)&&P(l.id);let A=(0,se.useCallback)(()=>{var te;let{current:j}=S,q=(te=t.current)==null?void 0:te.querySelector(`${n}[data-index="${j}"]`);q&&q.classList.remove("vuuDropTarget-settling"),S.current=-1,i==null||i(j),m(ne=>({...ne,draggable:void 0}))},[t,n,i]),C=(0,se.useCallback)(j=>{if(t.current){let{POS:q,SCROLL_POS:te,SCROLL_SIZE:ne,CLIENT_SIZE:Q}=je(a),{[te]:re,[ne]:ve,[Q]:we}=t.current,ze=ve-we,Fe=re<ze,_e=c.current.end,We=re>0&&j-h.current[q]<=c.current.start,Ge=Fe&&j-h.current[q]>=_e;return We?"bwd":Ge?"fwd":""}},[t,a]),T=e===!0||e==="natural-movement"?Tl:e==="drop-indicator"?wl:Sp,R=(0,se.useCallback)((j,q,te)=>{var ne;(ne=E.current)==null||ne.call(E,j,q,te)},[]),{isScrolling:L,startScrolling:H,stopScrolling:N}=Rl({containerRef:t,onScrollingStopped:R,orientation:a}),w=(0,se.useCallback)((j,q)=>{y.current=q,s==null||s(j,q),S.current=q},[s]),{beginDrag:M,drag:O,drop:k,handleScrollStart:z,handleScrollStop:K,...Z}=T({...l,containerRef:t,draggableRef:u,isDragSource:v,isDropTarget:D,itemQuery:n,onDrop:w,orientation:a});E.current=K;let V=(0,se.useCallback)(j=>{let{CLIENT_POS:q,CONTRA_CLIENT_POS:te,CONTRA_POS:ne,POS:Q}=je(a),{clientX:re,clientY:ve}=j,{[q]:we,[te]:ze}=j,Fe=b.current[Q],_e=b.current[ne],We=Math.abs(Fe-we);if((v?Math.abs(_e-ze):0)-We>5&&(c.current=Ll),b.current.x=re,b.current.y=ve,c.current===Ll&&u.current){let _=b.current.x-h.current.x,W=b.current.y-h.current.y;u.current.style.top=`${W}px`,u.current.style.left=`${_}px`}else if(We>0&&u.current){let _=Fe<we?"fwd":"bwd",W=C(we),oe=b.current[Q]-h.current[Q];if(W&&g.current&&!L.current?(z(),H(W,1)):!W&&L.current&&N(),!L.current){let ae=Math.round(Math.max(c.current.start,Math.min(c.current.end,oe))),xe=a==="horizontal"?"left":"top";u.current.style[xe]=`${ae}px`,O(ae,_)}}},[O,u,C,z,v,L,a,H,N]),Y=(0,se.useCallback)(()=>{document.removeEventListener("mousemove",V,!1),document.removeEventListener("mouseup",Y,!1),I.current=u.current,k(),m(j=>({...j,draggedItemIndex:-1,isDragging:!1})),p.current=void 0},[V,u,k]),F=(0,se.useCallback)(j=>{let{clientX:q,clientY:te,target:ne}=j,Q=vp(ne,n),{current:re}=t;if(re&&Q){let{CONTRA:ve,CONTRA_END:we,DIMENSION:ze,END:Fe,SCROLL_SIZE:_e,CLIENT_SIZE:We,START:Ge}=je(a);p.current=Q;let{[_e]:_,[We]:W}=re;g.current=_>W;let[oe,ae]=Dp(re,n),xe=re.getBoundingClientRect(),at=Q.getBoundingClientRect(),lt=at[ze],{[Ge]:St,[Fe]:Bt}=oe.getBoundingClientRect();h.current.x=q-at.left,h.current.y=te-at.top,c.current.start=xe[Ge],c.current.end=ae?Math.max(St,xe.right-lt):g.current?xe[Ge]+xe[ze]-lt:Bt-lt,c.current.contraStart=xe[ve],c.current.contraEnd=xe[we],M(j);let{dataset:{index:gt="-1"}}=Q;m({isDragging:!0,draggable:(0,Ml.jsx)(or,{element:pl(Q),onTransitionEnd:A,ref:u,style:hl(at,xe),wrapperClassName:o}),draggedItemIndex:parseInt(gt)}),r==null||r(),document.addEventListener("mousemove",V,!1),document.addEventListener("mouseup",Y,!1)}},[M,t,V,Y,o,u,n,r,a,A]),B=(0,se.useCallback)(j=>{let{CLIENT_POS:q,POS:te}=je(a),{[q]:ne}=j;Math.abs(ne-x.current[te])>Tp&&t.current&&(f.current&&(window.clearTimeout(f.current),f.current=null),document.removeEventListener("mousemove",B),document.removeEventListener("mouseup",J,!1),F(j))},[t,M,a]),J=(0,se.useCallback)(()=>{f.current&&(window.clearTimeout(f.current),f.current=null),document.removeEventListener("mousemove",B,!1),document.removeEventListener("mouseup",J,!1)},[B]),ee=(0,se.useCallback)(j=>{let{current:q}=t;if(q&&!j.defaultPrevented){let{clientX:te,clientY:ne}=j;b.current.x=x.current.x=te,b.current.y=x.current.y=ne,document.addEventListener("mousemove",B,!1),document.addEventListener("mouseup",J,!1),j.persist(),f.current=window.setTimeout(()=>{document.removeEventListener("mousemove",B,!1),document.removeEventListener("mouseup",J,!1),F(j.nativeEvent)},500)}},[t,F,B,J]),{current:pe}=I;return(0,se.useLayoutEffect)(()=>{if(pe&&t.current){let j=y.current,q=t.current.querySelector(`${n}[data-index="${j}"]`);q?(q.classList.add("vuuDropTarget-settling"),requestAnimationFrame(()=>{let{top:te,left:ne}=q.getBoundingClientRect(),{top:Q,left:re}=pe.getBoundingClientRect();re!==ne||Q!==te?(pe.classList.add("vuuDraggable-settling"),pe.style.top=`${te}px`,pe.style.left=`${ne}px`):A()})):console.log(`dont have the dropped item (at ${j})`),I.current=null}},[t,n,pe,A]),{...Z,...d,isScrolling:L,onMouseDown:e?ee:void 0}};var Pl=X(require("classnames")),rt=require("react"),tn=require("@salt-ds/core");var $s=require("react/jsx-runtime"),Bs="vuuEditableLabel",rr=(0,rt.forwardRef)(function({className:t,defaultEditing:o,defaultValue:n,editing:r,onChange:s,onEnterEditMode:i,onExitEditMode:a,value:l,...c},d){let m=(0,rt.useRef)(null),u=(0,rt.useRef)(!1),[p,f]=(0,tn.useControlled)({controlled:l,default:n!=null?n:"",name:"EditableLabel",state:"value"}),[g,h]=(0,tn.useControlled)({controlled:r,default:o!=null?o:!1,name:"EditableLabel",state:"editing"}),b=(0,rt.useCallback)(A=>{h(u.current=A)},[]),x=(0,rt.useRef)(p);(0,rt.useLayoutEffect)(()=>{g&&m.current!==null&&(m.current.select(),m.current.focus())},[g,m]);let I=(0,rt.useCallback)(()=>{b(!0),i&&i()},[i,b]),y=({cancelEdit:A=!1,allowDeactivation:C=!1}={})=>{b(!1);let T=x.current;T!==p&&(A?f(T):x.current=p),a&&a(T,p,C,A)},S=A=>{let{value:C}=A.target;f(C),s&&s(C)},E=()=>{I()},v=()=>{u.current&&y({allowDeactivation:!0})},D=A=>{g&&A.key==="Enter"?(A.stopPropagation(),y()):A.key==="ArrowRight"||A.key==="ArrowLeft"?A.stopPropagation():A.key==="Escape"&&y({cancelEdit:!0})},P=(0,Pl.default)(Bs,t,{[`${Bs}-editing`]:g});return(0,$s.jsx)("div",{...c,className:P,onDoubleClick:E,"data-text":p,ref:d,children:g?(0,$s.jsx)(tn.Input,{inputProps:{className:`${Bs}-input`},value:p,onBlur:v,onChange:S,onKeyDown:D,inputRef:m,style:{padding:0},textAlign:"left",variant:"secondary"}):p})});var Cl=require("@salt-ds/core");var Rp=/[.*+?^${}()|[\]\\]/g;function sr(e){return e.replace(Rp,"\\$&")}var Io=require("react/jsx-runtime"),Lp=(0,Cl.makePrefixer)("saltHighlighter"),Hl=e=>{let{matchPattern:t,text:o=""}=e,n=typeof t=="string"?new RegExp(`(${sr(t)})`,"gi"):t;return n===void 0?(0,Io.jsx)(Io.Fragment,{children:o}):(0,Io.jsx)("span",{children:o.split(n).map((r,s)=>r.match(n)?(0,Io.jsx)("strong",{className:Lp("highlight"),children:r},`${s}-${r}`):r)})};var Ks=require("react"),Vs=X(require("classnames"));var kl=X(require("classnames"));var Ol=require("react/jsx-runtime"),Nl="vuuCheckboxIcon",Al=({checked:e=!1,...t})=>(0,Ol.jsx)("span",{...t,className:(0,kl.default)(Nl,{[`${Nl}-checked`]:e})});var Yt=require("react/jsx-runtime"),on="vuuListItem",ir=(0,Ks.forwardRef)(function(t,o){return(0,Yt.jsx)("div",{"aria-hidden":!0,className:(0,Vs.default)(on,`${on}-proxy`),ref:o})}),ar=(0,Ks.forwardRef)(function({children:t,className:o,disabled:n,tabIndex:r,item:s,itemHeight:i,itemTextHighlightPattern:a,label:l,selectable:c,selected:d,showCheckbox:m,style:u,...p},f){let g=(0,Vs.default)(on,o,{vuuDisabled:n,[`${on}-checkbox`]:m}),h=i!==void 0?{...u,height:i}:u;return(0,Yt.jsxs)("div",{className:g,...p,"aria-disabled":n||void 0,"aria-selected":d||void 0,ref:f,style:h,children:[m&&(0,Yt.jsx)(Al,{"aria-hidden":!0,checked:d}),t&&typeof t!="string"?t:a==null?(0,Yt.jsx)("span",{className:`${on}-textWrapper`,children:l||t}):(0,Yt.jsx)(Hl,{matchPattern:a,text:l||t})]})});var Tc=require("@salt-ds/core"),xr=X(require("classnames")),pt=require("react");var nn=require("react"),Pp=require("react/jsx-runtime"),Mp=(0,nn.createContext)(void 0);function zl(){let e=(0,nn.useContext)(Mp);if(e)return e}var Cp=e=>Object.prototype.toString.call(e)==="[object Object]";function So(e){return typeof e=="string"?e:Cp(e)?Object.prototype.hasOwnProperty.call(e,"label")?String(e.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(`
18
- `)),""):String(e)}function Hp(e,...t){let o=new Set(e);for(let n of t)for(let r of n)o.add(r);return o}var rn="ArrowUp",sn="ArrowDown",Fl="ArrowLeft",Bl="ArrowRight",_s="Enter";var lr="Home",an="End",Ws="PageUp",cr="PageDown",$l=" ";var Np=new Set(["Enter","Delete"," "]),kp=new Set(["Tab"]),Ap=new Set(["ArrowRight","ArrowLeft"]),Kl=new Set([lr,an,Ws,cr,sn,rn]),Op=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),zp=Hp(Np,Kl,Ap,Op,kp),ur=e=>zp.has(e.key)?!1:e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey,Vl=({key:e})=>Kl.has(e);var Gs=require("react");var Fp={},Bp=e=>Array.isArray(e.childNodes),$p=e=>!0,Kp=e=>e.closest("[data-toggle],[aria-expanded]").dataset.toggle==="true",_l=({collapsibleHeaders:e,collectionHook:t,highlightedIdx:o,onToggle:n})=>{let r=(0,Gs.useCallback)(a=>{if(a.key===Bl||a.key===_s){let l=t.data[o];l&&l.expanded===!1&&l.value&&(a.preventDefault(),t.expandGroupItem(l),n==null||n(l.value))}if(a.key===Fl||a.key===_s){let l=t.data[o];l&&l.expanded&&l.value&&(a.preventDefault(),t.collapseGroupItem(l),n==null||n(l.value))}},[t.collapseGroupItem,t.data,t.expandGroupItem,o]),i={onClick:(0,Gs.useCallback)(a=>{console.log(`useCollapsibleGroups idx=${o}`);let l=t.data[o];console.log(a.target,a.currentTarget),l&&Bp(l)&&(!$p(l)||Kp(a.target))&&(a.stopPropagation(),a.preventDefault(),l.expanded===!1&&l.value?(t.expandGroupItem(l),n==null||n(l.value)):l.expanded===!0&&l.value&&(t.collapseGroupItem(l),n==null||n(l.value)))},[t.collapseGroupItem,t.data,t.expandGroupItem,o]),onKeyDown:r};return e?i:Fp};function Vp(e){if(e){let t=e.dataset.idx;if(t)return parseInt(t,10);if(t=e.ariaPosInSet)return parseInt(t,10)-1}return-1}var _p=e=>e.closest("[data-idx],[aria-posinset]");var Wl=e=>Vp(_p(e));var Gl=e=>e==="none",To=e=>Array.isArray(e)?e.length>0:e!=null,Ul=e=>Array.isArray(e)?e[0]:e;var ie=require("react");var vo=require("react");var Zl=e=>null;var Xl=e=>null;var Us=(e,t)=>e!==null&&Object.prototype.hasOwnProperty.call(e,t),Zs=e=>Us(e,"header"),jl=e=>Us(e,"childNodes"),ln=(e,t)=>e&&Object.prototype.hasOwnProperty.call(e.props,t),Yl=e=>{if((0,vo.isValidElement)(e)){if(ln(e,"disabled"))return e.props.disabled===!0}else if(Us(e,"disabled"))return e.disabled===!0;return!1},ql=e=>(0,vo.isValidElement)(e)&&ln(e,"focusable")?e.props.focusable:!0,Jl=(e,t,o)=>{if(e.childNodes)return e.childNodes.length;if(e.header){let n=o+1,r=0;for(;n<t.length&&!t[n].header;)r++,n++;return r}else return 0},Wp=e=>{if(typeof e.props.children=="string")return e.props.children;if(e.props.title)return e.props.title;if(e.props.label)return e.props.label},Ql=e=>e.type===Xl||ln(e,"data-header"),ec=e=>e.type===Zl||ln(e,"data-group"),Gp=e=>ln(e,"selectable")?e.props.selectable===!0:!ec(e)&&!Ql(e),Up=e=>{if(ec(e)){let{props:{children:t}}=e;if(typeof t!="string")return js(t)}},Zp=(e,t)=>{let o=[];return vo.Children.forEach(e,n=>{(0,vo.isValidElement)(n)&&o.push(t(n))}),o},Xs=(e,t)=>{if(Array.isArray(e))return e.length===0&&(t!=null&&t.noChildrenLabel)?[{label:t.noChildrenLabel,value:null}]:e.map((o,n)=>{var r,s;return{childNodes:Xs(o.childNodes,t),description:o.description,expanded:o.expanded,value:o,label:(s=(r=t==null?void 0:t.itemToString)==null?void 0:r.call(t,o))!=null?s:So(o)}});if(e)throw Error("list-child-items expects source to be an array")},js=e=>{if(e)return Zp(e,t=>{let{"data-id":o,disabled:n,id:r=o,"data-expanded":s,expanded:i=s}=t.props;return{childNodes:Up(t),disabled:n,expanded:i,header:Ql(t),id:r,label:Wp(t),selectable:Gp(t),value:t}})},Xp=new Set(["/","-","."]),jp=e=>Xp.has(e),tc=(e,t)=>t.startsWith(e)&&jp(t[e.length]),Yp=new Set([".","/"]);function qp(e,t){return t.startsWith(e)?Yp.has(t.charAt(e.length)):!1}function dr(e,t,o){let n;return e.map(s=>s.id===t?{...s,...o}:qp(s.id,t)&&s.childNodes?(n=dr(s.childNodes,t,o),{...s,childNodes:n}):s)}var Jp=e=>e&&e.replace(/^\s+/g,""),Ys=e=>new RegExp(`(${sr(Jp(e))})`,"gi"),oc=(e="",t=Ys)=>(o="")=>!!o.length&&!!e.length&&o.match(t(e))!==null;function mr(e,t){return Array.isArray(e)?e.includes(t):e===t}var Qp={},pr=({children:e,id:t,label:o="",options:n=Qp,source:r})=>{var N;let{getItemId:s}=n,[,i]=(0,ie.useState)(null),a=zl(),l=(0,ie.useRef)([]),c=(0,ie.useRef)([]),d=(0,ie.useMemo)(()=>[],[]),m=(0,ie.useRef)((N=n.filterPattern)!=null?N:""),{getFilterRegex:u=Ys,noChildrenLabel:p,itemToString:f=So}=n,g=(0,ie.useCallback)(w=>n.defaultExpanded||!1,[n.defaultExpanded]),h=(0,ie.useCallback)((w,M,O=1,k="",z=[],K=[],Z=[])=>(w.forEach((V,Y,F)=>{var Q,re;let B=V.header&&n.collapsibleHeaders,J=V.childNodes&&n.collapsibleHeaders===!1,ee=!V.childNodes||V.childNodes.length===0,pe=J||ee&&!B,j=k?`${k}.${Y}`:`item-${Y}`,q=(Q=V.id)!=null?Q:s?s(Y):`${t}-${j}`,te=pe?void 0:(re=V.expanded)!=null?re:g(q),ne={...V,childNodes:void 0,count:!J&&te===void 0?0:Jl(V,F,Y),description:V.description,disabled:Yl(V.value),focusable:ql(V.value)?void 0:!1,id:q,index:M.value,expanded:te,level:O};if(z.push(ne),K.push(ne),Z.push(w[Y].value),M.value+=1,V.childNodes){let[ve]=h(V.childNodes,M,O+1,j,[],K,Z);ne.childNodes=ve}}),[z,Z,K]),[n.collapsibleHeaders,s,t,g]),b=(0,ie.useCallback)(()=>m.current?oc(m.current,u):null,[u]),x=(0,ie.useCallback)((w,M=b(),O=[],k={value:0})=>{let z=!1;for(let K of w)z&&!Zs(K)||(K.value!==null&&(M===null||M(f(K.value)))&&(O[k.value]=K,k.value+=1),z=!1,Zs(K)&&K.expanded===!1?z=!0:jl(K)&&K.expanded!==!1&&K.childNodes&&x(K.childNodes,M,O,k));return O},[b,f]),I=(0,ie.useMemo)(()=>a?d:Xs(r,{itemToString:f,noChildrenLabel:p})||js(e)||[],[a,d,r,f,p,e]),[y,S,E]=(0,ie.useMemo)(()=>a?[d,d,d]:h(I,{value:0}),[d,h,a,I]);c.current=E,(0,ie.useMemo)(()=>a?d:l.current=x(y),[d,x,y,a]);let v=(0,ie.useRef)(y),D=(0,ie.useCallback)((w="")=>{typeof w=="string"&&(m.current=w,l.current=x(y),i({}))},[y,x]),P=(0,ie.useCallback)((w,M=y)=>{let O=M.find(k=>{var z;return k.id===w||((z=k==null?void 0:k.childNodes)==null?void 0:z.length)&&tc(k.id,w)});if((O==null?void 0:O.id)===w)return S==null?void 0:S[O.index];if(O)return P(w,O.childNodes);throw Error(`useCollectionData itemById, id ${w} not found `)},[S,y]),A=(0,ie.useCallback)(w=>{let M=c.current.find(O=>(0,ie.isValidElement)(O.value)?O.label===w:O.value===w);if(M)return M;throw Error("useCollectionData toCollectionItem, item not found ")},[]),C=(0,ie.useCallback)(w=>{if(w===null)return null;if(Array.isArray(w)){let M=[];for(let O of w){let k=A(O);M.push(k)}return M}else if(w!==void 0)return A(w)},[A]),T=(0,ie.useCallback)(w=>{let M=O=>{let k=c.current.find(z=>(0,ie.isValidElement)(z.value)?z.label===O:z.value!==null&&f(z.value)===O);if(k)return k};if(w===null)return null;if(Array.isArray(w)){let O=[];for(let k of w){let z=M(k);z&&O.push(z)}return O}else if(w!==void 0)return M(w)},[f]),R=(0,ie.useCallback)(w=>{for(let M of v.current)if(w===M.value)return M.id;throw Error("useCollectionData itemToId, item not found")},[]),L=(0,ie.useCallback)(w=>{v.current=dr(v.current,w.id,{expanded:!1}),l.current=x(v.current),i({})},[x]),H=(0,ie.useCallback)(w=>{v.current=dr(v.current,w.id,{expanded:!0}),l.current=x(v.current),i({})},[x]);return a||{collapseGroupItem:L,data:l.current,expandGroupItem:H,setFilterPattern:D,itemById:P,itemToId:R,toCollectionItem:A,itemToCollectionItem:C,stringToCollectionItem:T}};var fr=require("react"),ef={scrollToIndex:e=>{},scrollToItem:e=>{},scrollTo:e=>{}},gr=({collectionHook:e,forwardedRef:t,scrollableRef:o,scrollIntoView:n})=>{let r=(0,fr.useMemo)(()=>({scrollToIndex:s=>{let i=e.data[s];i&&(n==null||n(i))},scrollToItem:s=>{let i=e.toCollectionItem(s);i&&(n==null||n(i))},scrollTo:s=>{o!=null&&o.current&&(o.current.scrollTop=s)}}),[e.data,e.toCollectionItem,n]);(0,fr.useImperativeHandle)(t,()=>o.current?r:ef,[r])};var sc=require("@salt-ds/core"),Pe=require("react");var Js=-2;function nc(e,t,o){return t===rn||t===an?o>0?o-1:o:o===null?0:o===e-1?o:o+1}var qs=(e,t)=>{let o=Ul(t);return o?e.indexOf(o):-1},tf=(e,t,o,n)=>e===an?n:e===lr?-1:t!==-1?t:o,ic=e=>{let t=document.getElementById(e.id);if(t)return t.getBoundingClientRect();throw Error(`useKeyboardNavigation.getItemRect no element found for item #${e==null?void 0:e.id}`)},of=(e,t,o,n)=>{let{top:r}=t.getBoundingClientRect(),{scrollTop:s,clientHeight:i,scrollHeight:a}=e,l=o.length-1,c=Math.min(s+i,a-i);if(c!==s&&n<l){e.scrollTo(0,c);let d=n,m;do d+=1,m=ic(o[d]);while(m.top<r&&d<l);return d}},nf=async(e,t,o,n)=>{let{top:r}=t.getBoundingClientRect(),{scrollTop:s,clientHeight:i}=e,a=Math.max(s-i,0);if(a!==s&&n>0)return e.scrollTo(0,a),new Promise(l=>{requestAnimationFrame(()=>{let c=n,d;do c-=1,d=ic(o[c]);while(d.top>r&&c>0);l(c)})})},rf=e=>!e.header&&!e.childNodes,rc=e=>rf(e)||e.expanded!==void 0,ac=({containerRef:e,defaultHighlightedIndex:t=-1,disableHighlightOnFocus:o,highlightedIndex:n,indexPositions:r,onHighlight:s,onKeyboardNavigation:i,restoreLastFocus:a,selected:l})=>{let c=(0,Pe.useRef)(-1),[,d]=(0,Pe.useState)({}),[m,u,p]=(0,sc.useControlled)({controlled:n,default:t,name:"UseKeyboardNavigation"}),f=(0,Pe.useCallback)((D,P=!1)=>{s==null||s(D),u(D),P&&(c.current=D)},[s,u]),g=(0,Pe.useCallback)(async(D,P)=>{let{id:A}=r[P],C;if(A){let T=document.getElementById(A),{current:R}=e;T&&R&&(C=D.key===cr?of(R,T,r,P):await nf(R,T,r,P))}return C!=null?C:P},[e,r]),h=(0,Pe.useCallback)((D=sn,P=D===sn?-1:r.length)=>{if(r.length===0)return-1;{let A=qs(r,l),C=tf(D,P,A,r.length),T=nc(r.length,D,C);if(T===0&&D===rn&&!rc(r[0]))return P;for(;((D===sn||D===lr)&&T<r.length||(D===rn||D===an)&&T>0)&&!rc(r[T]);)T=nc(r.length,D,T);return T}},[r,l]),b=(0,Pe.useRef)(!1),x=(0,Pe.useRef)(!1),I=D=>x.current=D,y=(0,Pe.useCallback)(D=>{if(x.current)x.current=!1;else if(b.current=!0,r.length===0)f(Js);else if(m!==-1)d({});else if(a)if(c.current!==-1)f(c.current);else{let P=qs(r,l);f(P!==-1?P:0)}else if(To(l)){let P=qs(r,l);f(P)}else o!==!0&&f(h())},[o,m,r,h,a,l,f]),S=(0,Pe.useCallback)(async D=>{let P=D.key===cr||D.key===Ws?await g(D,m):h(D.key,m);P!==m&&f(P,!0),i==null||i(D,P)},[m,h,g,i,f]),E=(0,Pe.useCallback)(D=>{r.length>0&&Vl(D)?(D.preventDefault(),D.stopPropagation(),b.current=!0,S(D)):ur(D)&&(b.current=!0)},[r,S]),v=(0,Pe.useMemo)(()=>({onBlur:D=>{let P=D.target.closest(".saltList"),A=D.relatedTarget;P&&!(P!=null&&P.contains(A))&&(b.current=!1,u(-1),a||(c.current=-1))},onFocus:y,onKeyDown:E,onMouseDownCapture:()=>{b.current=!1,I(!0)},onMouseMove:()=>{b.current&&(b.current=!1)},onMouseLeave:()=>{b.current=!1,I(!1),f(-1)}}),[y,E,a,u,f]);return{focusVisible:b.current?m:-1,controlledHighlighting:p,highlightedIndex:m,setHighlightedIndex:f,keyboardNavigation:b,listProps:v,setIgnoreFocus:I}};var cc=require("@salt-ds/core"),Ae=require("react");var sf={},af=["Enter"," "],Qs=e=>e&&e.disabled!==!0&&e.selectable!==!1,lc=(e,t)=>{var o,n;return((o=e.index)!=null?o:0)-((n=t.index)!=null?n:0)};var uc=({defaultSelected:e,disableSelection:t=!1,highlightedIdx:o,indexPositions:n,onSelect:r,onSelectionChange:s,selected:i,selectionStrategy:a,selectionKeys:l=af,tabToSelect:c})=>{let d=a==="deselectable",m=a==="multiple",u=a==="extended",p=(0,Ae.useRef)(-1),f=(0,Ae.useCallback)(T=>l.includes(T.key),[l]),g=(0,Ae.useCallback)(()=>m||u?[]:null,[m,u]),[h,b]=(0,cc.useControlled)({controlled:i,default:e!=null?e:g(),name:"UseSelection",state:"selected"}),x=(0,Ae.useCallback)(T=>Array.isArray(h)?h.includes(T):h===T,[h]),I=(0,Ae.useCallback)(T=>T,[]),y=(0,Ae.useCallback)(T=>x(T)?null:T,[x]),S=(0,Ae.useCallback)(T=>{let R=x(T)?h.filter(L=>L!==T):h.concat(T);return R.sort(lc),R},[x,h]),E=(0,Ae.useCallback)((T,R)=>{let L=R?h:[],[H]=h.slice(-1),N=H?n.indexOf(H):0,w=Math.min(T,N),M=Math.max(T,N),O=n.slice(w,M+1),k=[...new Set([...L,...O])];return k.sort(lc),k},[n,h]),v=(0,Ae.useCallback)((T,R,L,H,N)=>{let w;m?w=S(L):u?N&&!H?w=S(L):H?w=E(R,N):w=[L]:d?w=y(L):w=I(L),w!==h&&b(w),r==null||r(T,L),w!==h&&s&&s(T,w)},[m,u,d,h,r,S,E,y,I,b,s]),D=(0,Ae.useCallback)(T=>{let R=n[o];Qs(R)&&(f(T)||c&&T.key==="Tab")&&(T.key!=="Tab"&&T.preventDefault(),v(T,o,R,!1,T.ctrlKey||T.metaKey),u&&(p.current=o))},[n,o,f,c,v,u]),P=(0,Ae.useCallback)((T,R)=>{if(u&&T.shiftKey){let L=n[R];Qs(L)&&v(T,R,L,!0)}},[u,n,v]),A=(0,Ae.useCallback)(T=>{let R=n[o];!t&&Qs(R)&&(T.preventDefault(),T.stopPropagation(),v(T,o,R,T.shiftKey,T.ctrlKey||T.metaKey),u&&(p.current=o))},[t,u,o,n,v]);return{listHandlers:Gl(a)?sf:{onClick:A,onKeyDown:D,onKeyboardNavigation:P},selected:h,setSelected:b}};var qt=require("react");var dc=({disableTypeToSelect:e,highlightedIdx:t,highlightItemAtIndex:o,typeToNavigate:n,items:r,applyIncrementalSearch:s=!0})=>{let i=(0,qt.useRef)(null),a=(0,qt.useRef)(""),l=(0,qt.useRef)(-1),c=(0,qt.useCallback)(m=>{if(m||!s){let u=new RegExp(`^${a.current}`,"i"),p=r.findIndex(({label:f},g)=>g>l.current&&u.test(f));p===-1&&(p=r.findIndex(({label:f},g)=>g<=l.current&&u.test(f))),p!==-1&&o(p)}else a.current="",i.current=null,l.current=-1},[s,o,r]),d=(0,qt.useCallback)(m=>{let u=l.current!==-1;(ur(m)||u&&m.key===$l)&&n&&(m.preventDefault(),m.stopPropagation(),(l.current===-1||m.key===a.current)&&(l.current=t),i.current!==null&&(clearTimeout(i.current),i.current=null),m.key!==a.current&&(a.current+=m.key),s&&c(!0),i.current=window.setTimeout(()=>{c()},100))},[n,s,t,c]);return{onKeyDown:e?void 0:d}};var dt=require("react");var Qt=require("react");var pc=["height"],Jt=new Map,fc=(e,t,o)=>{switch(o){case"height":return t.height;case"clientHeight":return e.clientHeight;case"clientWidth":return e.clientWidth;case"contentHeight":return t.contentHeight;case"contentWidth":return t.contentWidth;case"scrollHeight":return Math.ceil(e.scrollHeight);case"scrollWidth":return Math.ceil(e.scrollWidth);case"width":return t.width;default:return 0}};var mc=new ResizeObserver(e=>{for(let t of e){let{target:o,borderBoxSize:n,contentBoxSize:r}=t,s=Jt.get(o);if(s){let[{blockSize:i,inlineSize:a}]=n,[{blockSize:l,inlineSize:c}]=r,{onResize:d,measurements:m}=s,u=!1;for(let[p,f]of Object.entries(m)){let g=fc(o,{height:i,width:a,contentHeight:l,contentWidth:c},p);g!==f&&(u=!0,m[p]=g)}u&&d&&d(m)}}});function eo(e,t,o,n=!1){let r=(0,Qt.useRef)(t),s=(0,Qt.useCallback)(i=>{let{width:a,height:l}=i.getBoundingClientRect(),{clientWidth:c,clientHeight:d}=i;return r.current.reduce((m,u)=>(m[u]=fc(i,{width:a,height:l,contentHeight:d,contentWidth:c},u),m),{})},[]);(0,Qt.useEffect)(()=>{let i=e.current;async function a(){Jt.set(i,{measurements:{}}),await document.fonts.ready;let l=Jt.get(i);if(l){let c=s(i);l.measurements=c,mc.observe(i),n&&o(c)}else console.log("%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation","font-weight:bold; color:red;")}if(i){if(Jt.has(i))throw Error("useResizeObserver attemping to observe same element twice");a()}return()=>{i&&Jt.has(i)&&(mc.unobserve(i),Jt.delete(i))}},[s,e]),(0,Qt.useEffect)(()=>{let i=e.current,a=Jt.get(i);if(a){if(r.current!==t){r.current=t;let l=s(i);a.measurements=l}a.onResize=o}},[t,s,e,o])}var yc=require("@salt-ds/core"),gc=["height"],lf=["height","scrollHeight"],cf=[],hc={containerOnly:[lf,cf],withContent:[gc,gc]},uf=e=>e?hc.containerOnly:hc.withContent,bc={current:null},df=(e,t)=>{let{transform:o="none"}=getComputedStyle(e);if(o.startsWith("matrix")){let n=o.lastIndexOf(",");return parseInt(o.slice(n+1))}else{let n=e.offsetParent;if(n===t||t===null)return e.offsetTop;{let r=e.offsetTop;for(;n!==null&&n!==t;)r+=n.offsetTop,n=n.offsetParent;return r}}},xc=({containerRef:e,contentRef:t=bc,highlightedIdx:o=-1,indexPositions:n,stickyHeaders:r=!1})=>{let s=(0,dt.useRef)(!1),i=(0,dt.useRef)({height:0,contentHeight:0}),a=(0,dt.useCallback)(g=>{s.current=!0,e.current&&(e.current.scrollTop=g),setTimeout(()=>{s.current=!1})},[]),l=(0,dt.useCallback)(()=>a(0),[a]),c=(0,dt.useCallback)(()=>{a(i.current.contentHeight-i.current.height)},[a]),d=(0,dt.useCallback)(g=>{let h=t.current||e.current;if(g.id){let b=document.getElementById(g.id);if(b&&e.current){let{height:x}=i.current,I=b.ariaExpanded&&b.firstChild?b.firstChild:b,y=r?36:0,S=df(I,h),E=I.offsetHeight,{scrollTop:v}=e.current,D=v+y,P=D+x-y;if(S+E>P||S<D){let A=S+E>P?v+(S+E)-P:S-y;a(A)}}}},[e,t,a,r]);(0,yc.useIsomorphicLayoutEffect)(()=>{let{height:g,contentHeight:h}=i.current,b=n[o];if(h>g&&b){let[x]=n,[I]=n.slice(-1);b===x?l():b===I?c():d(n[o])}},[o,n,d,c,l]);let m=(0,dt.useCallback)(({height:g,scrollHeight:h})=>{typeof g=="number"&&(i.current.height=g),typeof h=="number"&&(i.current.contentHeight=h)},[]),u=(0,dt.useCallback)(({height:g})=>{typeof g=="number"&&(i.current.contentHeight=g)},[]),[p,f]=uf(t===bc);return eo(e,p,m,!0),eo(t,f,u,!0),{isScrolling:s,scrollIntoView:d}};var me=require("react");var hr=({allowDragDrop:e=!1,collapsibleHeaders:t,collectionHook:o,containerRef:n,contentRef:r,defaultHighlightedIndex:s,defaultSelected:i,disabled:a,disableAriaActiveDescendant:l,disableHighlightOnFocus:c,disableTypeToSelect:d,highlightedIndex:m,id:u,label:p="",listHandlers:f,onHighlight:g,onKeyboardNavigation:h,onKeyDown:b,onMoveListItem:x,onSelect:I,onSelectionChange:y,restoreLastFocus:S,selected:E,selectionStrategy:v,selectionKeys:D,stickyHeaders:P,tabToSelect:A,viewportRange:C})=>{let T=(0,me.useRef)(null),R=(0,me.useRef)(E||i),L=(_,W)=>{var oe,ae;(ae=(oe=Y.listHandlers).onKeyboardNavigation)==null||ae.call(oe,_,W),h==null||h(_,W)},H=(0,me.useCallback)((_,W)=>{I&&((0,me.isValidElement)(W.value)?I(_,W.label):W.value!==null&&I(_,W.value))},[I]),N=(0,me.useCallback)((_,W)=>{y&&y(_,Array.isArray(W)?W.map(oe=>(0,me.isValidElement)(oe.value)?oe.label:oe.value):W&&((0,me.isValidElement)(W.value)?W.label:W.value))},[y]),{highlightedIndex:w,listProps:{onKeyDown:M,onMouseMove:O,...k},setHighlightedIndex:z,...K}=ac({containerRef:n,defaultHighlightedIndex:s,disableHighlightOnFocus:c,highlightedIndex:m,indexPositions:o.data,label:p,onHighlight:g,onKeyboardNavigation:L,restoreLastFocus:S,selected:R.current}),Z=_l({collapsibleHeaders:t,highlightedIdx:w,collectionHook:o}),V=(0,me.useCallback)(()=>{z(-1)},[z]),Y=uc({defaultSelected:i,highlightedIdx:w,indexPositions:o.data,label:p,onSelect:H,onSelectionChange:N,selected:E,selectionStrategy:v,selectionKeys:D,tabToSelect:A}),F=(0,me.useCallback)((_,W,oe)=>{let ae=o.data.indexOf(_);return ae===W?oe:ae<Math.min(W,oe)||ae>Math.max(W,oe)?ae:W<ae?ae-1:ae+1},[o.data]),B=(0,me.useCallback)((_,W,oe)=>Array.isArray(_)?_.map(ae=>F(ae,W,oe)):F(_,W,oe),[F]),J=(0,me.useCallback)((_,W)=>{To(Y.selected)&&(T.current=B(Y.selected,_,W)),x==null||x(_,W),z(-1)},[Y.selected,x,z,B]),ee=(0,me.useCallback)(_=>{z(_)},[z]),{setSelected:pe}=Y;(0,me.useEffect)(()=>{let{current:_}=T;if(To(_)){let W=Array.isArray(_)?_.map(oe=>o.data[oe]):o.data[_];pe(W)}},[o.data,pe]),(0,me.useEffect)(()=>{To(R.current)&&pe(Array.isArray(R.current)?[]:null)},[pe,o.data]);let{onMouseDown:j,isDragging:q,isScrolling:te,...ne}=nr({allowDragDrop:e,draggableClassName:"list-item",orientation:"vertical",containerRef:n,id:u,itemQuery:".vuuListItem",onDragStart:V,onDrop:J,onDropSettle:ee,viewportRange:C}),{onKeyDown:Q}=dc({disableTypeToSelect:d,highlightedIdx:w,highlightItemAtIndex:z,typeToNavigate:!0,items:o.data}),re=(0,me.useCallback)(_=>{var W,oe,ae;_.defaultPrevented||Q==null||Q(_),M(_),_.defaultPrevented||(oe=(W=Y.listHandlers).onKeyDown)==null||oe.call(W,_),_.defaultPrevented||(ae=Z==null?void 0:Z.onKeyDown)==null||ae.call(Z,_),_.defaultPrevented||b==null||b(_)},[Z,M,b,Y.listHandlers,Q]),{isScrolling:ve,scrollIntoView:we}=xc({containerRef:n,contentRef:r,highlightedIdx:w,indexPositions:o.data,stickyHeaders:P}),ze=ve.current||te.current,Fe=(0,me.useCallback)(_=>{if(!ze&&!a&&!q){O();let W=Wl(_.target);if(W!==-1&&W!==w){let oe=o.data[W];!oe||oe.disabled?z(-1):z(W)}}},[q,ze,a,z,O,w,o.data]),_e=()=>{var _;return w===void 0||w===-1||l||(_=o.data[w])==null?void 0:_.id};R.current=Y.selected;let We={"aria-activedescendant":_e(),onBlur:k.onBlur,onFocus:k.onFocus,onKeyDown:re,onMouseDown:j,onMouseDownCapture:k.onMouseDownCapture,onMouseLeave:k.onMouseLeave},Ge=f||{onClick:Y.listHandlers.onClick,onMouseMove:Fe};return{focusVisible:K.focusVisible,controlledHighlighting:K.controlledHighlighting,highlightedIndex:w,keyboardNavigation:K.keyboardNavigation,listHandlers:Ge,listItemHeaderHandlers:Z,listControlProps:We,scrollIntoView:we,selected:Y.selected,setHighlightedIndex:z,setIgnoreFocus:K.setIgnoreFocus,setSelected:Y.setSelected,...ne}};var Ec=require("@salt-ds/core"),to=require("react");var mf=(e,t,o=0)=>e===0?0:o===0?e*t:e-1*(t+o)+t,br=({borderless:e,displayedItemCount:t,getItemHeight:o,height:n,itemCount:r,itemGapSize:s,itemHeight:i,rootRef:a,rowHeightRef:l})=>{let[c,d]=(0,to.useState)(36),[m,u]=(0,to.useState)(),[p,f]=(0,to.useMemo)(()=>{let h=e?0:2,b=i!=null?i:c,x=mf(r,b,s);if(n!==void 0&&typeof n=="number"||typeof n=="string")return[x,n];let I=Math.min(t,r)||t;return typeof o=="function"?h+=Array(I).fill(0).reduce((S,E,v)=>S+o(v)+s,0)-s:h+=I*Number(b)+(I-1)*s,[x,h,m]},[e,m,t,o,n,r,s,i,c]);(0,Ec.useIsomorphicLayoutEffect)(()=>{if(a.current){let{clientHeight:h}=a.current;u(h)}},[a]);let g=(0,to.useCallback)(({height:h})=>{typeof h=="number"&&d(h)},[]);return eo(l,pc,g,!0),{contentHeight:p,listClientHeight:m,listItemHeight:c,listHeight:f}};var Sc=require("@salt-ds/core"),mt=require("react"),Ic=(e,t,o,n)=>{let r=Math.ceil(t/n),s=Math.floor(e/n),i=Math.ceil(s+r-1);return{atStart:s===0,atEnd:i===o-1,from:s,to:i}},yr=({containerSize:e,itemCount:t,itemGapSize:o=0,itemSize:n,onViewportScroll:r})=>{let s=(0,mt.useRef)(0),i=(0,mt.useRef)(0),a=(0,mt.useRef)(0),l=(0,mt.useMemo)(()=>Ic(a.current,e,t,n+o),[e,t,n,o]),[c,d]=(0,mt.useState)(l);return(0,Sc.useIsomorphicLayoutEffect)(()=>{d(l)},[l]),{onVerticalScroll:(0,mt.useCallback)(u=>{let p=u.target.scrollTop;if(p!==a.current){a.current=p;let f=n+o,g=Ic(p,e,t,f);(g.from!==s.current||g.to!==i.current)&&(s.current=g.from,i.current=g.to,r==null||r(g.from,g.to),d(g))}},[n,o,e,t,r]),viewportRange:c}};var Ye=require("react/jsx-runtime"),vc=require("react"),pf="No data to display",cn="vuuList",vT=(0,pt.forwardRef)(function({ListItem:t=ar,ListPlaceholder:o,allowDragDrop:n,borderless:r,children:s,className:i,collapsibleHeaders:a=!1,defaultHighlightedIndex:l,defaultSelected:c,disabled:d=!1,disableFocus:m=!1,disableTypeToSelect:u,displayedItemCount:p=10,emptyMessage:f,focusVisible:g,getItemHeight:h,getItemId:b,height:x,highlightedIndex:I,id:y,itemGapSize:S=0,itemHeight:E,itemTextHighlightPattern:v,itemToString:D=So,listHandlers:P,maxHeight:A,maxWidth:C,minHeight:T,minWidth:R,onMoveListItem:L,onSelect:H,onSelectionChange:N,onHighlight:w,restoreLastFocus:M,selected:O,selectionStrategy:k,checkable:z=k==="multiple",scrollingApiRef:K,selectionKeys:Z,showEmptyMessage:V=!1,source:Y,style:F,stickyHeaders:B,tabToSelect:J,width:ee,...pe},j){let q=Vt(y),te=(0,pt.useRef)(null),ne=(0,pt.useRef)(null),Q=(0,pt.useRef)(null),re=pr({id:q,label:"List",source:Y,children:s,options:{collapsibleHeaders:a,getItemId:b,itemToString:D}}),{listClientHeight:ve,listHeight:we,listItemHeight:ze}=br({borderless:r,displayedItemCount:p,getItemHeight:h,height:x,itemCount:re.data.length,itemGapSize:S,itemHeight:E,rootRef:te,rowHeightRef:Q}),{onVerticalScroll:Fe,viewportRange:_e}=yr({containerSize:ve!=null?ve:typeof we=="number"?we:0,itemCount:re.data.length,itemGapSize:S,itemSize:ze}),{draggable:We,draggedItemIndex:Ge,dropIndicator:_,focusVisible:W,highlightedIndex:oe,listControlProps:ae,listHandlers:xe,listItemHeaderHandlers:at,scrollIntoView:lt,selected:St}=hr({allowDragDrop:n,collapsibleHeaders:a,collectionHook:re,containerRef:te,contentRef:ne,defaultHighlightedIndex:l,defaultSelected:re.itemToCollectionItem(c),disabled:d,disableTypeToSelect:u,highlightedIndex:I,id:q,label:q,listHandlers:P,onMoveListItem:L,onSelect:H,onSelectionChange:N,onHighlight:w,restoreLastFocus:M,selected:re.itemToCollectionItem(O),selectionStrategy:k,selectionKeys:Z,stickyHeaders:B,tabToSelect:J,viewportRange:_e});gr({collectionHook:re,forwardedRef:K,scrollableRef:te,scrollIntoView:lt});let Bt=g!=null?g:W,gt=function(ue,Ne,Be,Ie){let $t=(0,vc.createElement)(t,{...at,className:(0,xr.default)(`${cn}Header`,{focusVisible:a&&Bt===ue.value}),"aria-expanded":Ie,"data-idx":a?ue.value:void 0,"data-index":a?ue.value:void 0,"data-highlighted":ue.value===oe||void 0,"data-sticky":B,"data-selectable":!1,id:Ne,key:`header-${ue.value}`,label:Be});return ue.value+=1,$t},Fo=h===void 0?()=>E:h;function td(ht,ue,Ne){var En,Di;let{disabled:Be,value:Ie,id:$t,label:yn}=ue,xn=(0,pt.isValidElement)(Ie),Bo={className:(0,xr.default)((En=Ie==null?void 0:Ie.props)==null?void 0:En.className,{vuuHighlighted:Ne.value===oe,vuuFocusVisible:Bt===Ne.value,["vuuDraggable-dragAway"]:Ge===Ne.value}),disabled:Be||d,id:$t,item:xn?void 0:(Di=ue==null?void 0:ue.value)!=null?Di:void 0,itemHeight:Fo(Ne.value),itemTextHighlightPattern:v,key:$t,"data-idx":Ne.value,"data-index":Ne.value,label:yn,role:"option",selected:mr(St,ue),showCheckbox:z};ht.push(xn?(0,pt.cloneElement)(Ie,Bo):(0,Ye.jsx)(t,{...Bo})),Ne.value+=1}let od=function(ue,Ne,Be){let{count:Ie=0,id:$t,expanded:yn,label:xn=""}=Ne[Be.value],Bo=gt(Be,$t,xn,yn),En=yn!==!1?[Bo].concat(wi(Ne,Be,Be.value+Ie)||[]):Bo;ue.push((0,Ye.jsx)("div",{role:"group",children:En},$t))},wi=(ht,ue={value:0},Ne=ht.length)=>{let Be=[];for(;ue.value<Ne;){let Ie=ht[ue.value];Ie.header?Be.push(gt(ue,Ie.id,Ie.label,Ie.expanded===!1)):Ie.childNodes?od(Be,ht,ue):td(Be,Ie,ue)}return Be};function nd(){return f||V?(0,Ye.jsx)("span",{className:`${cn}-empty-message`,children:f!=null?f:pf}):null}let rd=()=>{if(re.data.length){let ht=re.data;return wi(ht)}else nd()},sd="auto",id={"--list-item-gap":S?`${S}px`:void 0,minWidth:R,minHeight:T,width:ee!=null?ee:"100%",height:x!=null?x:"100%",maxWidth:C!=null?C:ee,maxHeight:A!=null?A:we};return(0,Ye.jsxs)("div",{"aria-multiselectable":k==="multiple"||k==="extended"||k==="extended-multi-range"||void 0,...pe,...xe,...ae,className:(0,xr.default)(cn,i,{[`${cn}-collapsible`]:a,vuuFocusVisible:oe===Js}),id:`${q}`,ref:(0,Tc.useForkRef)(te,j),role:"listbox",onScroll:Fe,style:{...F,...id},tabIndex:d||m?void 0:0,children:[(0,Ye.jsx)(ir,{ref:Q}),re.data.length===0&&o!==void 0?(0,Ye.jsx)(Ye.Fragment,{children:(0,Ye.jsx)(o,{})}):(0,Ye.jsxs)("div",{className:`${cn}-scrollingContentContainer`,ref:ne,style:{height:sd},children:[rd(),_,We]})]})});var wo=require("@salt-ds/core");function wc(e){var t,o,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(o=wc(e[t]))&&(n&&(n+=" "),n+=o);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function ei(){for(var e,t,o=0,n="";o<arguments.length;)(e=arguments[o++])&&(t=wc(e))&&(n&&(n+=" "),n+=t);return n}var no=require("react");var Rc=require("react");var Er=class{constructor(t=0,o=0){this.keys=new Map,this.free=[],this.nextKeyValue=0,this.reset(t,o)}next(){return this.free.length?this.free.pop():this.nextKeyValue++}reset(t,o){this.keys.forEach((r,s)=>{(s<t||s>=o)&&(this.free.push(r),this.keys.delete(s))});let n=o-t;this.keys.size+this.free.length>n&&(this.free.length=n-this.keys.size);for(let r=t;r<o;r++)if(!this.keys.has(r)){let s=this.next();this.keys.set(r,s)}}keyFor(t){return this.keys.get(t)}};var ff=([e],[t])=>e-t,Dc=5,Lc=({data:e,listItemGapSize:t=0,listItemHeight:o,viewportRange:n})=>{let r=(0,Rc.useMemo)(()=>new Er(0,1),[]),s=o+t,i=Math.max(0,n.from-Dc),a=Math.min(e.length,n.to+Dc);return r.reset(i,a),e.slice(i,a).map((c,d)=>[r.keyFor(d+i),(d+i)*s,d+i+1,c]).sort(ff)};var oo=require("react/jsx-runtime"),gf="No data to display",Ir=(0,wo.makePrefixer)("saltList"),hf=(0,no.memo)(ar),_T=(0,no.forwardRef)(function({borderless:t,children:o,className:n,collapsibleHeaders:r=!1,defaultHighlightedIndex:s,defaultSelected:i,disabled:a=!1,disableFocus:l=!1,disableTypeToSelect:c,displayedItemCount:d=10,emptyMessage:m,getItemHeight:u,getItemId:p,height:f,highlightedIndex:g,id:h,itemGapSize:b=0,itemHeight:x,itemTextHighlightPattern:I,itemToString:y,maxHeight:S,maxWidth:E,minHeight:v,minWidth:D,onSelect:P,onSelectionChange:A,onViewportScroll:C,onHighlight:T,restoreLastFocus:R,selected:L,selectionStrategy:H,scrollingApiRef:N,selectionKeys:w,showEmptyMessage:M=!1,source:O,style:k,stickyHeaders:z,tabToSelect:K,width:Z,...V},Y){let F=(0,wo.useIdMemo)(h),B=(0,no.useRef)(null),J=(0,no.useRef)(null),ee=pr({id:F,label:"List",source:O,children:o,options:{collapsibleHeaders:r,getItemId:p,itemToString:y}}),{contentHeight:pe,listItemHeight:j,listHeight:q}=br({borderless:t,displayedItemCount:d,height:f,itemCount:ee.data.length,itemGapSize:b,itemHeight:x,rootRef:B,rowHeightRef:J}),{focusVisible:te,highlightedIndex:ne,listControlProps:Q,listHandlers:re,scrollIntoView:ve,selected:we}=hr({collapsibleHeaders:r,collectionHook:ee,containerRef:B,defaultHighlightedIndex:s,defaultSelected:ee.itemToCollectionItem(i),disabled:a,disableTypeToSelect:c,highlightedIndex:g,label:F,onSelect:P,onSelectionChange:A,onHighlight:T,restoreLastFocus:R,selected:ee.itemToCollectionItem(L),selectionStrategy:H,selectionKeys:w,stickyHeaders:z,tabToSelect:K}),{onVerticalScroll:ze,viewportRange:Fe}=yr({containerSize:typeof q=="number"?q:0,itemCount:ee.data.length,itemGapSize:b,itemSize:j});console.log({viewPortRange:Fe});let _e=Lc({data:ee.data,listItemGapSize:b,listItemHeight:j,viewportRange:Fe});gr({collectionHook:ee,forwardedRef:N,scrollableRef:B,scrollIntoView:ve});function We(ae,xe,at){let[lt,St,Bt,gt]=xe,Fo=Bt-1;ae.push((0,oo.jsx)(hf,{"aria-setsize":ee.data.length,"aria-posinset":Bt,className:ei(n,{saltHighlighted:Fo===ne,saltFocusVisible:te===Fo}),"data-idx":Fo,item:gt,label:gt.label,"data-offset":St,role:"option",selected:mr(we,gt),id:gt.id,translate3d:St},lt)),at.value+=1}function Ge(ae,xe={value:0},at=ae.length){let lt=[];for(;xe.value<at;){let St=ae[xe.value];We(lt,St,xe)}return lt}function _(){return m||M?(0,oo.jsx)("span",{className:Ir("empty-message"),children:m!=null?m:gf}):null}let W=()=>{if(_e.length)return Ge(_e);_()},oe={"--list-item-gap":b?`${b}px`:void 0,minWidth:D,minHeight:v,width:Z!=null?Z:"100%",height:f!=null?f:"100%",maxWidth:E!=null?E:Z,maxHeight:S!=null?S:q};return(0,oo.jsx)("div",{...V,...re,...Q,className:ei(Ir(),n,Ir("virtualized")),id:`${F}`,ref:(0,wo.useForkRef)(B,Y),role:"listbox",onScroll:ze,style:{...k,...oe},tabIndex:a||l?void 0:0,children:(0,oo.jsxs)("div",{className:Ir("scrollingContentContainer"),style:{height:pe},children:[(0,oo.jsx)(ir,{ref:J}),W()]})})});var _c=require("@salt-ds/core"),Wc=X(require("classnames")),Ro=X(require("react"));var Te=require("react");var Mc=e=>typeof e=="object"&&e!==null&&"tabIndex"in e&&typeof e.tabIndex=="number",Pc=e=>({label:"Close",location:"tab",action:"close-tab",options:e}),Cc=e=>({label:"Rename",location:"tab",action:"rename-tab",options:e});var bf=e=>{if(e){let t=parseInt(e.dataset.index||"");if(!isNaN(t))return t}return-1},Hc=(e,t)=>{if(e){let o=e.querySelector(`[data-index]:has(${t})`);return bf(o)}return-1},ti=e=>Hc(e,'[aria-selected="true"]'),Nc=e=>Hc(e,".vuuEditableLabel-editing");var Do=require("@vuu-ui/vuu-utils"),Et=require("react"),kc=(e,t,o="horizontal")=>{let n=(0,Et.useRef)(!1),r=(0,Et.useCallback)(()=>{n.current=!0},[]),s=(0,Et.useCallback)(()=>{n.current=!1},[]),i=(0,Et.useCallback)(()=>{var l,c;(l=e.current)==null||l.style.setProperty("--tab-thumb-transition","none"),(c=e.current)==null||c.removeEventListener("transitionend",i)},[e]),a=(0,Et.useRef)(-1);return(0,Et.useMemo)(()=>{var d,m;let l=0,c=0;if(a.current!==-1){let u=(d=e.current)==null?void 0:d.querySelector(".vuuTab-selected"),p=(m=e.current)==null?void 0:m.querySelector(`[data-index="${t}"] .vuuTab`),{positionProp:f,sizeProp:g}=Do.MEASURES[o];if(u&&p&&!n.current){let{[f]:h,[g]:b}=u.getBoundingClientRect(),{[f]:x}=p.getBoundingClientRect();if((0,Do.isValidNumber)(h)&&(0,Do.isValidNumber)(x)&&(0,Do.isValidNumber)(b)){console.log({orientation:o,positionProp:f,oldPosition:h,newPosition:x}),l=h-x,c=b;let y=Math.abs(l/(o==="horizontal"?1100:700));requestAnimationFrame(()=>{var S,E,v,D;(S=e.current)==null||S.style.setProperty("--tab-thumb-offset","0px"),(E=e.current)==null||E.style.setProperty("--tab-thumb-size","100%"),(v=e.current)==null||v.style.setProperty("--tab-thumb-transition",`all ${y}s ease`),(D=e.current)==null||D.addEventListener("transitionend",i)})}}}return a.current=t,n.current?{containerStyle:{"--tab-thumb-offset":"0px","--tab-thumb-size":"100%"},resumeAnimation:s,suspendAnimation:r}:{containerStyle:{"--tab-thumb-offset":`${l}px`,"--tab-thumb-size":c?`${c}px`:void 0},resumeAnimation:s,suspendAnimation:r}},[t,e,o,i,s,r])};var Oc=require("@salt-ds/core"),zc=require("@vuu-ui/vuu-utils"),ye=require("react"),Ce=require("@vuu-ui/vuu-utils");var Fc={horizontal:{[Ce.Home]:"start",[Ce.End]:"end",[Ce.ArrowLeft]:"bwd",[Ce.ArrowRight]:"fwd"},vertical:{[Ce.Home]:"start",[Ce.End]:"end",[Ce.ArrowUp]:"bwd",[Ce.ArrowDown]:"fwd"}},yf=(e,t="horizontal")=>Fc[t][e]!==void 0,xf=e=>e===Ce.ArrowDown;function Ac(e,t,o){return t==="start"?0:t==="end"?e-1:t==="bwd"?o>0?o-1:o:o===null?0:o===e-1?o:o+1}var Ef=e=>e!==null&&!e.classList.contains("wrapped"),Sr=(e,t)=>e?e.querySelector(`[data-index="${t}"]`):null,Bc=({containerRef:e,defaultHighlightedIdx:t=-1,highlightedIdx:o,keyBoardActivation:n,orientation:r,selectedIndex:s=0})=>{let i=n==="manual",a=(0,ye.useRef)(!1),l=(0,ye.useRef)(-1),[c,d]=(0,ye.useState)(!1),[,m]=(0,ye.useState)({}),[u,p]=(0,Oc.useControlled)({controlled:o,default:t,name:"UseKeyboardNavigation"}),f=(0,ye.useCallback)(T=>{p(l.current=T)},[p]),g=(0,ye.useRef)(!1),h=(0,ye.useCallback)((T,R=!1,L,H=70)=>{f(T),L===!0&&!g.current&&(g.current=!0);let N=()=>{let w=Sr(e.current,T);if(w){let M=(0,zc.getFocusableElement)(w);M==null||M.focus()}};R?N():setTimeout(N,H)},[e,f]),b=T=>{if(l.current===-1&&T.target.tabIndex!==-1){let R=Nc(e.current);R!==-1?requestAnimationFrame(()=>{f(R)}):setTimeout(()=>{l.current===-1&&s!==null&&f(s)},200)}},x=(0,ye.useCallback)(()=>{var T,R;return(R=(T=e.current)==null?void 0:T.querySelectorAll("[data-index]").length)!=null?R:0},[e]),I=(0,ye.useCallback)((T="fwd",R)=>{let L=x(),N=Ac(L,T,typeof R=="number"?R:L),w=T==="start"?"fwd":T==="end"?"bwd":T;for(;(w==="fwd"&&N<L||w==="bwd"&&N>0)&&!Ef(Sr(e.current,N));){let M=Ac(L,w,N);if(M===N)break;N=M}return N},[e,x]),y=(0,ye.useCallback)((T,R=!1)=>{let L=Fc[r][T.key],H=I(L,u);H!==u?i&&h(H,!0):R&&m({})},[u,i,I,h,r]),S=(0,ye.useCallback)(()=>{let T=Sr(e.current,u);return T?T.querySelector(".vuuPopupMenu")!=null:!1},[e,u]),E=(0,ye.useCallback)(()=>{let T=Sr(e.current,u),R=T==null?void 0:T.querySelector(".vuuPopupMenu");if(R){let L=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});R.dispatchEvent(L)}return!1},[e,u]),v=(0,ye.useCallback)(T=>{x()>0&&yf(T.key,r)?(T.preventDefault(),g.current?y(T):(g.current=!0,y(T,!0))):xf(T.key)&&S()&&E()},[E,x,S,y,r]),D=(T,R)=>{f(R)},P=(0,ye.useCallback)(()=>{c||(d(!0),a.current?a.current=!1:g.current=!0)},[c]),A=(0,ye.useCallback)(()=>{c||(a.current=!0),g.current=!1},[c]);return{containerProps:{onBlur:T=>{let R=T.target.closest(".vuuTabstrip"),L=T.relatedTarget;R&&!(R!=null&&R.contains(L))&&(f(-1),d(!1))},onMouseDownCapture:A,onFocus:P,onMouseLeave:()=>{g.current=!0,f(-1),a.current=!1}},focusVisible:g.current?u:-1,focusIsWithinComponent:c,highlightedIdx:u,focusTab:h,onClick:D,onFocus:b,onKeyDown:v,setHighlightedIdx:f}};var $c=require("@salt-ds/core"),un=require("react"),If=["Enter"," "],Sf=e=>e&&e.matches('[class*="vuuTab "]'),Kc=({defaultSelected:e,highlightedIdx:t,onSelectionChange:o,selected:n})=>{let[r,s,i]=(0,$c.useControlled)({controlled:n,default:e!=null?e:0,name:"Tabstrip",state:"value"}),a=(0,un.useCallback)(m=>If.includes(m.key),[]),l=(0,un.useCallback)(m=>{s(m),o==null||o(m)},[o,s]),c=(0,un.useCallback)(m=>{let u=m.target;a(m)&&t!==r&&Sf(u)&&(m.stopPropagation(),m.preventDefault(),l(t))},[a,t,r,l]),d=(0,un.useCallback)((m,u)=>{u!==r&&l(u)},[l,r]);return{activateTab:l,isControlled:i,onClick:d,onKeyDown:c,selected:r}};var Tf=new Set(["Enter"," "]),vf=e=>Tf.has(e),wf=(e,t)=>e?e.querySelector(`[data-index="${t}"]`):null,Vc=({activeTabIndex:e,allowDragDrop:t,animateSelectionThumb:o,containerRef:n,onActiveChange:r,onAddTab:s,onCloseTab:i,onExitEditMode:a,onMoveTab:l,orientation:c,keyBoardActivation:d})=>{let m=(0,Te.useRef)(e),{focusTab:u,highlightedIdx:p,onClick:f,onKeyDown:g,setHighlightedIdx:h,...b}=Bc({containerRef:n,keyBoardActivation:d,orientation:c,selectedIndex:m.current}),{activateTab:x,onClick:I,onKeyDown:y,selected:S}=Kc({highlightedIdx:p,onSelectionChange:r,selected:e});m.current=S;let{containerStyle:E,resumeAnimation:v,suspendAnimation:D}=kc(n,o?S:-1,c),P=(0,Te.useCallback)((F,B)=>{let{current:J}=m;console.log(`useTabstrip handleDrop ${F} - ${B} ${J}`),l==null||l(F,B);let ee=-1;B!==-1&&(J===F?ee=B:F>J&&B<=J?ee=J+1:F<J&&B>=J&&(ee=J-1),ee!==-1&&(D(),x(ee),requestAnimationFrame(v)),u(B,!1,!1,350))},[u,l,v,x,D]),{onMouseDown:A,...C}=nr({allowDragDrop:t,containerRef:n,draggableClassName:`tabstrip-${c}`,onDrop:P,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"}),T=(0,Te.useCallback)((F,B,J,ee)=>{console.log(`handleExitEditMode ${F} ${B} ${J} ${ee}`),a==null||a(F,B,J,ee),J||u(ee,!1,!0)},[u,a]),R=(0,Te.useCallback)((F,B)=>{f(F,B),I(F,B)},[f,I]),L=(0,Te.useCallback)((F=p)=>{let B=wf(n.current,F);if(B)return B.querySelector(".vuuEditableLabel")},[n,p]),H=(0,Te.useCallback)((F=p)=>{let B=L(F);return B?B.classList.contains("vuuEditableLabel-editing"):!1},[L,p]),N=(0,Te.useCallback)((F=p)=>{let B=L(F);if(B){let J=new MouseEvent("dblclick",{view:window,bubbles:!0,cancelable:!0});B.dispatchEvent(J)}},[L,p]),w=(0,Te.useCallback)(F=>{g(F),F.defaultPrevented||y(F),!F.defaultPrevented&&vf(F.key)&&N()},[N,g,y]),M=(0,Te.useCallback)(F=>{let B=ti(n.current),J=B>F?B-1:B===F?0:B;return D(),i==null||i(F,J),setTimeout(()=>{v()},200),!0},[n,i,v,D]),O=(0,Te.useCallback)(F=>(N(F),!0),[N]),k=(0,Te.useCallback)(F=>{if(Mc(F.options))switch(F.menuId){case"close-tab":return M(F.options.tabIndex);case"rename-tab":return O(F.options.tabIndex);default:console.log(`tab menu action ${F.menuId}`)}return!1},[M,O]),z=(0,Te.useCallback)(()=>{H()?h(p):u(p)},[p,u,h,H]),K=(0,Te.useCallback)(F=>{let B=parseInt(F.index);isNaN(B)||x(B)},[x]),Z={onFocus:b.onFocus,onKeyDown:w},V=(0,Te.useCallback)(()=>{s==null||s(),requestAnimationFrame(()=>{let F=ti(n.current);F!==-1&&u(F)})},[n,u,s]),Y={onClick:R,onKeyDown:w,onExitEditMode:T,onMenuAction:k,onMenuClose:z,onMouseDown:A};return{activeTabIndex:S,containerStyle:E,focusVisible:b.focusVisible,containerProps:{...b.containerProps,onSwitchWrappedItemIntoView:K},navigationProps:Z,onClickAddTab:V,tabProps:Y,...C}};var Lo=require("react/jsx-runtime"),Uc=require("react"),oi="vuuTabstrip",Gc=({activeTabIndex:e,allowAddTab:t,allowCloseTab:o,allowDragDrop:n=!1,allowRenameTab:r=!1,animateSelectionThumb:s=!1,children:i,className:a,id:l,keyBoardActivation:c="manual",location:d,onActiveChange:m,onAddTab:u,onCloseTab:p,onExitEditMode:f,onMoveTab:g,orientation:h="horizontal",showTabMenuButton:b,style:x,...I})=>{let y=(0,Ro.useRef)(null),{activeTabIndex:S,focusVisible:E,containerStyle:v,draggedItemIndex:D,onClickAddTab:P,tabProps:A,...C}=Vc({activeTabIndex:e,allowDragDrop:n,animateSelectionThumb:s,containerRef:y,keyBoardActivation:c,onActiveChange:m,onAddTab:u,onCloseTab:p,onExitEditMode:f,onMoveTab:g,orientation:h}),T=Vt(l),R=(0,Wc.default)(oi,`${oi}-${h}`,a),L=x||v?{...x,...v}:void 0,H=(0,Ro.useMemo)(()=>Kt(i).map((N,w)=>{let{id:M=`${T}-tab-${w}`,closeable:O=o,editable:k=r,showMenuButton:z=b}=N.props,K=w===S;return Ro.default.cloneElement(N,{...A,...C.navigationProps,closeable:O,"data-overflow-priority":K?"1":void 0,dragging:D===w,editable:k,focusVisible:E===w,id:M,index:w,key:w,location:d,selected:K,showMenuButton:z,tabIndex:K?0:-1})}).concat(t?(0,Uc.createElement)(_c.Button,{...C.navigationProps,"aria-label":"Create Tab",className:`${oi}-addTabButton`,"data-icon":"add","data-overflow-priority":"1",key:"addButton",onClick:P,variant:"secondary",tabIndex:-1}):[]),[S,t,o,r,i,E,T,d,P,b,A,D,C.navigationProps]);return(0,Lo.jsxs)(Lo.Fragment,{children:[(0,Lo.jsx)(ni,{...I,...C.containerProps,className:R,height:28,id:T,orientation:h,overflowIcon:"more-horiz",ref:y,style:L,children:H}),C.draggable]})};var Qc=require("@salt-ds/core"),eu=X(require("classnames")),io=require("react");var Zc=require("@vuu-ui/vuu-popups"),Xc=require("react"),jc=X(require("classnames"));var qc=require("react/jsx-runtime"),Df="vuuTabMenu",Yc=({allowClose:e,allowRename:t,location:o,onMenuAction:n,onMenuClose:r,index:s})=>{let[i,a]=(0,Xc.useMemo)(()=>[(l,c)=>{let d=[];return t&&d.push(Cc(c)),e&&d.push(Pc(c)),d},{tabIndex:s}],[e,t,s]);return(0,qc.jsx)(Zc.PopupMenu,{className:Df,menuBuilder:i,menuActionHandler:n,menuLocation:(0,jc.default)("tab",o),menuOptions:a,onMenuClose:r,tabIndex:-1})};var so=require("react/jsx-runtime"),ro="vuuTab",Jc=()=>{},tu=(0,io.forwardRef)(function({ariaControls:t,children:o,className:n,closeable:r=!1,dragging:s,editable:i=!1,editing:a,focusVisible:l,index:c=-1,label:d,location:m,onClick:u,onClose:p,onEnterEditMode:f=Jc,onExitEditMode:g=Jc,onFocus:h,onKeyUp:b,onMenuAction:x,onMenuClose:I,orientation:y,selected:S,showMenuButton:E=r||i,tabIndex:v,...D},P){if(E&&typeof x!="function")throw Error("Tab onMenuAction must be provided if showMenuButton is set");let A=(0,io.useRef)(null),C=(0,io.useRef)(null),T=(0,Qc.useForkRef)(P,A),R=(0,io.useCallback)(M=>{a||(M.preventDefault(),u==null||u(M,c))},[a,c,u]),L=(M="",O="",k=!0)=>g(M,O,k,c),H=M=>{switch(M.key){case"Backspace":case"Delete":r&&(M.stopPropagation(),p&&p(c));break;default:b&&b(M,c)}},N=()=>i?(0,so.jsx)(rr,{editing:a,defaultValue:d,onEnterEditMode:f,onExitEditMode:L,ref:C},d):d,w=M=>{if(C.current){let k=C.current.querySelector(".vuuEditableLabel-input");k==null||k.focus()}h==null||h(M)};return(0,so.jsxs)("div",{...D,"aria-controls":t,"aria-selected":S,className:(0,eu.default)(ro,{[`${ro}-closeable`]:r,"vuuDraggable-dragAway":s,[`${ro}-editing`]:a,[`${ro}-selected`]:S||void 0,[`${ro}-vertical`]:y==="vertical",vuuFocusVisible:l}),onClick:R,onFocus:w,onKeyUp:H,ref:T,role:"tab",tabIndex:v,children:[(0,so.jsx)("div",{className:`${ro}-main`,children:(0,so.jsx)("span",{className:`${ro}-text`,"data-text":i?void 0:d,children:o!=null?o:N()})}),E?(0,so.jsx)(Yc,{allowClose:r,allowRename:i,location:m,onMenuAction:x,onMenuClose:I,index:c}):null]})});var Lr=require("@salt-ds/core"),Rr=X(require("classnames")),Mr=require("react");function Rf(e){var t;if(e){let o=e.dataset.idx;if(o)return parseInt(o,10);if(o=(t=e.ariaPosInSet)!=null?t:"-1")return parseInt(o,10)-1}}var ri=e=>e.closest("[data-idx],[aria-posinset]");var ou=e=>Rf(ri(e));var Mo=require("react"),Lf=new Set(["/","-","."]),Mf=e=>Lf.has(e),nu=(e,t)=>t.startsWith(e)&&Mf(t[e.length]),ru=(e,t="root",{collapsibleHeaders:o=void 0,defaultExpanded:n=!1,revealSelected:r=!1}={})=>{let s=(u,p,f)=>{if(u.childNodes)return u.childNodes.length;if(u.header){let g=f+1,h=0;for(;g<p.length&&!p[g].header;)h++,g++;return h}else return 0},i=(0,Mo.useCallback)(u=>Array.isArray(r)?r.some(p=>nu(u,p)):n,[n,r]),a=(0,Mo.useCallback)((u,p,f=1,g="",h=[],b=[])=>{let x=0;return u.forEach((I,y,S)=>{var L;let E=I.header&&o,v=I.childNodes&&o===!1,D=!I.childNodes||I.childNodes.length===0,P=v||D&&!E,A=g?`${g}.${y}`:`${y}`,C=(L=I.id)!=null?L:`${t}-${A}`,T=P?void 0:i(C),R={...I,childNodes:void 0,id:C,count:!v&&T===void 0?0:s(I,S,y),expanded:T,index:p.index,level:f};if(h.push(R),b.push(u[y]),x+=1,p.index+=1,I.childNodes){let[H,N]=a(I.childNodes,p,f+1,A,[],b);R.childNodes=N,(T===!0||v)&&(x+=H)}}),[x,h,b]},[o,t,i]),[l,c,d]=(0,Mo.useMemo)(()=>a(e,{index:0}),[a,e]),m=(0,Mo.useCallback)((u,p=c)=>{let f=p.find(g=>{var h;return g.id===u||((h=g==null?void 0:g.childNodes)==null?void 0:h.length)&&nu(g.id,u)});if((f==null?void 0:f.id)===u)return d[f.index];if(f)return m(u,f.childNodes)},[d,c]);return[l,c,m]};var Ht=require("react"),au=require("@salt-ds/core"),su="single",Pf="checkbox",Cf="multi",Hf="extended",Nf=["Enter"," "],iu={},kf=e=>e.expanded!==void 0,lu=e=>e&&e!=="none",cu=({defaultSelected:e,highlightedIdx:t,treeNodes:o,onChange:n,selected:r,selection:s=su,selectionKeys:i=Nf})=>{let a=s===su,l=s===Cf||s.startsWith(Pf),c=s===Hf,d=(0,Ht.useRef)(-1),m=(0,Ht.useCallback)(y=>i.includes(y.key),[i]),[u,p]=(0,au.useControlled)({controlled:r,default:e!=null?e:[],name:"selected"}),f=(0,Ht.useCallback)((y,S,E,v,D=!1)=>{let{current:P}=d,A=u==null?void 0:u.includes(E),T=a||c&&!D&&(!v||P===-1),R=l||c&&D&&!v,L=[];if(T&&A)L=[];else if(T)L=[E];else if(R&&A)L=u.filter(H=>H!==E);else if(R)L=u.concat(E);else if(c){let[H,N]=S>P?[P,S]:[S,P];L=u.slice();for(let w=H;w<=N;w++){let{id:M}=o[w];u.includes(M)||L.push(M)}}p(L),n&&n(y,L)},[c,o,l,n,u,p,a]),g=(0,Ht.useCallback)(y=>{if(~t&&m(y)){y.preventDefault();let S=o[t];f(y,t,S.id,!1,y.ctrlKey||y.metaKey),c&&(d.current=t)}},[c,t,o,m,f]),h=(0,Ht.useCallback)((y,S)=>{if(c&&y.shiftKey){let E=o[S];f(y,S,E.id,!0)}},[c,o,f]),b=s==="none"?iu:{onKeyDown:g,onKeyboardNavigation:h},x=(0,Ht.useCallback)(y=>{if(t!==-1){let S=o[t];kf(S)||(y.preventDefault(),y.stopPropagation(),f(y,t,S.id,y.shiftKey,y.ctrlKey||y.metaKey),c&&(d.current=t))}},[c,t,o,f]);return{listHandlers:b,listItemHandlers:s==="none"?iu:{onClick:x},selected:u,setSelected:p}};var Oe=require("react");var Af=["height","scrollHeight"],uu=(e,t,o=!1)=>{let n=(0,Oe.useRef)(0),r=(0,Oe.useRef)(!1),s=(0,Oe.useRef)(0),i=(0,Oe.useRef)(0),a=(0,Oe.useCallback)(d=>{let m=d.ariaExpanded?d.firstChild:d,u=o?30:0,p=m.offsetTop,f=m.offsetHeight,g=n.current+u,h=g+s.current-u;(p+f>h||p<g)&&(n.current=p+f>h?n.current+(p+f)-h:p-u,r.current=!0,e.current&&(e.current.scrollTop=n.current),setTimeout(()=>{r.current=!1}))},[e,o]),l=(0,Oe.useCallback)(d=>{n.current=d.target.scrollTop},[]);(0,Oe.useEffect)(()=>{let{current:d}=e;return d&&d.addEventListener("scroll",l),()=>{d&&d.removeEventListener("scroll",l)}},[e,l]),(0,Oe.useLayoutEffect)(()=>{if(t!==-1&&i.current>s.current&&e.current){let d=e.current.querySelector(`
19
- [data-idx='${t}'],
20
- [aria-posinset='${t+1}']
21
- `);d===null?console.log("[useViewportTracking], is this virtualised ? we're going to have to know rowHeight"):a(d)}},[t,e,a]),(0,Oe.useEffect)(()=>{},[o]);let c=(0,Oe.useCallback)(({height:d,scrollHeight:m})=>{s.current=d,i.current=m},[]);return eo(e,Af,c,!0),r};var dn=require("react");var qe=require("react");var du=({id:e})=>{let t=e.lastIndexOf("-");if(t!==-1){let n=e.slice(t+1).split(".");return n.length===1?null:(n.pop(),`${e.slice(0,t)}-${n.join(".")}`)}else if((t=e.lastIndexOf("/"))!==-1)return e.slice(0,t)},mu=e=>e.childNodes!==void 0;var si=e=>e.header===!0,Of=new Set([".","/"]),pu=(e,t)=>t.startsWith(e.id)?Of.has(t.charAt(e.id.length)):!1,ao=(e,t)=>{for(let o of e){if(o.id===t)return o;if(pu(o,t))return ao(o.childNodes,t)}},Tr=(e,t)=>{let o=typeof t=="string"?t:t.id;for(let n=0;n<e.length;n++)if(e[n].id===o)return n},vr=(e,t,o)=>{let n;return e.map(s=>s.id===t?{...s,...o}:pu(s,t)?(n=vr(s.childNodes,t,o),{...s,childNodes:n}):s)};var Eu=require("@salt-ds/core");function zf(e,...t){let o=new Set(e);for(let n of t)for(let r of n)o.add(r);return o}var ii="ArrowUp",fu="ArrowDown",Po="ArrowLeft";var gu="ArrowRight",wr="Enter";var Ff="Delete",Bf=new Set([wr,Ff]),$f=new Set(["Tab"]),Kf=new Set(["ArrowRight","ArrowLeft"]),hu=new Set(["Home","End","ArrowDown","ArrowUp"]),bu=new Set(["Home","End","ArrowRight","ArrowLeft"]),Vf=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),pw=zf(Bf,bu,hu,Kf,Vf,$f);var yu=({key:e},t="vertical")=>(t==="vertical"?hu:bu).has(e);function xu(e,t,o){return t===ii||t===Po?o>0?o-1:o:o===null?0:o===e-1?o:o+1}var _f=e=>!e.header&&!e.childNodes,Wf=e=>_f(e)||e.expanded!==void 0,Iu=({defaultHighlightedIdx:e=-1,highlightedIdx:t,treeNodes:o,onHighlight:n,onKeyboardNavigation:r,selected:s=[]})=>{let{bwd:i,fwd:a}=(0,qe.useMemo)(()=>({bwd:ii,fwd:fu}),[]),[l,c,d]=(0,Eu.useControlled)({controlled:t,default:e,name:"highlightedIdx"}),m=(0,qe.useCallback)(y=>{n==null||n(y),c(y)},[n,c]),u=(0,qe.useCallback)((y=a,S=y===a?-1:o.length)=>{let E=xu(o.length,y,S);for(;E!==-1&&(y===a&&E<o.length||y===i&&E>0)&&!Wf(o[E]);)E=xu(o.length,y,E);return E},[i,a,o]),p=(0,qe.useRef)(!0),f=(0,qe.useRef)(!1),g=y=>f.current=y,h=(0,qe.useCallback)(()=>{if(f.current)f.current=!1;else if(s.length>0){let y=ao(o,s[0]);if(y){let S=Tr(o,y);m(S)}}else m(u())},[o,u,s,m]),b=(0,qe.useCallback)(y=>{let S=u(y.key,l);S!==l&&(m(S),r==null||r(y,S))},[l,u,r,m]),x=(0,qe.useCallback)(y=>{o.length>0&&yu(y,"vertical")&&(y.preventDefault(),y.stopPropagation(),p.current=!0,b(y))},[o,b]),I=(0,qe.useMemo)(()=>({onBlur:()=>{m(-1)},onFocus:h,onKeyDown:x,onMouseDownCapture:()=>{p.current=!1,g(!0)},onMouseMove:()=>{p.current&&(p.current=!1)},onMouseLeave:()=>{p.current=!0,g(!1),m(-1)}}),[h,x,m]);return{focusVisible:p.current?l:-1,controlledHighlighting:d,highlightedIdx:l,hiliteItemAtIndex:m,keyBoardNavigation:p,listProps:I,setIgnoreFocus:g}};var Co=require("react");var Dr=(e,t=[],o={value:0})=>{let n=!1;for(let r of e)n&&!si(r)||(t[o.value]=r,o.value+=1,n=!1,si(r)&&r.expanded===!1?n=!0:mu(r)&&ai(r)&&Dr(r.childNodes,t,o));return t},Su=e=>{let t=(0,Co.useRef)(e),o=(0,Co.useRef)(e),n=(0,Co.useRef)(Dr(e)),[,r]=(0,Co.useState)({});e!==t.current&&(t.current=e,o.current=e,n.current=Dr(e));let s=i=>{o.current=i,n.current=Dr(i),r({})};return{data:o.current,indexPositions:n.current,setData:s}};var It=require("react");var Gf={},Uf=e=>e&&e.hasAttribute("aria-expanded"),Tu=({collapsibleHeaders:e,highlightedIdx:t,treeNodes:o,setVisibleData:n,source:r})=>{let s=(0,It.useRef)(r),i=(0,It.useRef)(s.current),a=(0,It.useCallback)(f=>{n(i.current=f)},[n]),l=(0,It.useCallback)((f,{id:g})=>vr(f,g,{expanded:!0}),[]),c=(0,It.useCallback)((f,{id:g})=>vr(f,g,{expanded:!1}),[]),d=(0,It.useCallback)(f=>{if(f.key===gu||f.key===wr){let g=o[t];g&&g.expanded===!1&&(f.preventDefault(),a(l(i.current,g)))}if(f.key===Po||f.key===wr){let g=o[t];g&&g.expanded&&(f.preventDefault(),a(c(i.current,g)))}},[c,l,t,o,a]),m=e?{onKeyDown:d}:Gf,p={onClick:(0,It.useCallback)(f=>{let g=ri(f.target);if(Uf(g)){f.stopPropagation(),f.preventDefault();let h=ao(r,g.id);(h==null?void 0:h.expanded)===!1?a(l(r,h)):(h==null?void 0:h.expanded)===!0&&a(c(r,h))}},[c,l,a,r])};return{listHandlers:m,listItemHandlers:p}};var vu=require("react");var wu=({highlightedIdx:e,hiliteItemAtIndex:t,indexPositions:o,source:n})=>({listHandlers:{onKeyDown:(0,vu.useCallback)(i=>{if(i.key===Po){let a=o[e],l=du(a);if(l){i.preventDefault();let c=ao(n,l);if(c){let d=Tr(o,c);d!==void 0&&t(d)}}}},[e,t,o,n])}});var Zf=[],Du=({defaultSelected:e,sourceWithIds:t,onChange:o,onHighlight:n,selected:r,selection:s})=>{let i=(0,dn.useRef)(Zf),a=Su(t),l=(I,y)=>{var S,E;(E=(S=u.listHandlers).onKeyboardNavigation)==null||E.call(S,I,y)},{highlightedIdx:c,...d}=Iu({treeNodes:a.indexPositions,onHighlight:n,onKeyboardNavigation:l,selected:i.current}),m=Tu({collapsibleHeaders:!0,highlightedIdx:c,treeNodes:a.indexPositions,setVisibleData:a.setData,source:a.data}),u=cu({defaultSelected:e,highlightedIdx:c,treeNodes:a.indexPositions,onChange:o,selected:r,selection:s}),p=wu({source:a.data,highlightedIdx:c,hiliteItemAtIndex:d.hiliteItemAtIndex,indexPositions:a.indexPositions}),f=(0,dn.useCallback)(I=>{var y,S,E;(y=m.listItemHandlers)==null||y.onClick(I),I.defaultPrevented||(E=(S=u.listItemHandlers)==null?void 0:S.onClick)==null||E.call(S,I)},[m,u]),g=(0,dn.useCallback)(I=>{var y,S,E,v,D,P,A,C;(S=(y=d.listProps).onKeyDown)==null||S.call(y,I),I.defaultPrevented||(v=(E=u.listHandlers).onKeyDown)==null||v.call(E,I),I.defaultPrevented||(P=(D=m.listHandlers).onKeyDown)==null||P.call(D,I),I.defaultPrevented||(C=(A=p.listHandlers).onKeyDown)==null||C.call(A,I)},[m.listHandlers,d.listProps,u.listHandlers,p.listHandlers]),h=()=>{var I;return c===void 0||c===-1||(I=a.indexPositions[c])==null?void 0:I.id};i.current=u.selected;let b={"aria-activedescendant":h(),onBlur:d.listProps.onBlur,onFocus:d.listProps.onFocus,onKeyDown:g,onMouseDownCapture:d.listProps.onMouseDownCapture,onMouseLeave:d.listProps.onMouseLeave,onMouseMove:d.listProps.onMouseMove},x={onClick:f};return{focusVisible:d.focusVisible,highlightedIdx:c,hiliteItemAtIndex:d.hiliteItemAtIndex,listProps:b,listItemHandlers:x,selected:u.selected,visibleData:a.data}};var Ve=require("react/jsx-runtime"),Mu=require("react"),Nt="vuuTree",ai=e=>e.expanded===!0,Ru=({children:e,idx:t,...o})=>(0,Ve.jsx)("li",{...o,children:e}),Lu=(0,Mr.forwardRef)(function({allowDragDrop:t,className:o,defaultSelected:n,groupSelection:r="none",id:s,onHighlight:i,onSelectionChange:a,revealSelected:l,selected:c,selection:d="single",source:m,...u},p){var N;let f=(0,Lr.useIdMemo)(s),g=(0,Mr.useRef)(null),[,h,b]=ru(m,f,{revealSelected:l?(N=c!=null?c:n)!=null?N:!1:void 0}),x=(w,M)=>{if(a){let O=M.map(k=>b(k)).filter(k=>k!==void 0);a(O)}},{focusVisible:I,highlightedIdx:y,hiliteItemAtIndex:S,listProps:E,listItemHandlers:v,selected:D,visibleData:P}=Du({defaultSelected:n,groupSelection:r,onChange:x,onHighlight:i,selected:c,selection:d,sourceWithIds:h});uu(g,y);let C={...{onMouseEnter:w=>{let M=w.target,O=ou(M);S(O)}},...v,role:"treeitem"},T=lu(r);function R(w,M,O){w.push((0,Ve.jsxs)(Ru,{...C,...Xf(M,O,y,D,I),children:[M.icon?(0,Ve.jsx)("span",{className:`${Nt}Node-icon`,"data-icon":M.icon}):null,(0,Ve.jsx)("span",{children:M.label})]})),O.value+=1}function L(w,M,O,k,z){let{value:K}=O;O.value+=1,w.push((0,Mu.createElement)(Ru,{...v,"aria-expanded":M.expanded,"aria-level":M.level,"aria-selected":D.includes(k)||void 0,className:(0,Rr.default)(`${Nt}Node`,{focusVisible:I===K,[`${Nt}Node-toggle`]:!T}),"data-idx":K,"data-highlighted":K===y||void 0,"data-selectable":!0,id:k,key:`header-${K}`},T?(0,Ve.jsxs)("div",{className:`${Nt}Node-label`,children:[(0,Ve.jsx)("span",{className:`${Nt}Node-toggle`}),z]}):(0,Ve.jsxs)("div",{className:`${Nt}Node-label`,children:[M.icon?(0,Ve.jsx)("span",{className:`${Nt}Node-icon`,"data-icon":M.icon}):null,(0,Ve.jsx)("span",{children:z})]}),(0,Ve.jsx)("ul",{role:"group",children:ai(M)?H(M.childNodes,O):""})))}function H(w,M={value:0}){if((w==null?void 0:w.length)>0){let O=[];for(let k of w)k.childNodes?L(O,k,M,k.id,k.label):R(O,k,M);return O}}return(0,Ve.jsx)("ul",{...u,...E,className:(0,Rr.default)(Nt,o),id:`Tree-${f}`,ref:(0,Lr.useForkRef)(g,p),role:"tree",tabIndex:0,children:H(P)})}),Xf=(e,t,o,n,r,s)=>({id:e.id,key:e.id,"aria-level":e.level,"aria-selected":n.includes(e.id)||void 0,"data-idx":t.value,"data-highlighted":t.value===o||void 0,className:(0,Rr.default)("vuuTreeNode",s,{focusVisible:r===t.value})});Lu.displayName="Tree";var li=Lu;var ku=require("@salt-ds/core"),Cr=X(require("classnames")),At=X(require("react"));var kt=require("react");var mn=(e,t,o,n)=>{var h;let{loadSessionState:r,purgeSessionState:s,purgeState:i,saveSessionState:a}=Zt(),[l,c]=(0,kt.useState)((h=r(e,"contributions"))!=null?h:[]),d=tt(),m=(0,kt.useCallback)((b,x)=>{let I=l.concat([{location:b,content:x}]);a(e,"contributions",I),c(I)},[l,e,a]),u=(0,kt.useCallback)(()=>{s(e,"contributions"),c([])},[e,s]),p=(0,kt.useCallback)(()=>{let b=r(e,"data-source");b&&b.unsubscribe(),s(e),i(e),d({type:"remove",path:o})},[d,e,r,s,i,o]),f=(0,kt.useCallback)(async(b,x,I)=>{var S;b.stopPropagation();let y=(S=t.current)==null?void 0:S.getBoundingClientRect();return new Promise((E,v)=>{d({type:"drag-start",evt:b,path:x===void 0?o:`${o}.${x}`,dragRect:y,preDragActivity:I,dropTargets:n,resolveDragStart:E,rejectDragStart:v})})},[t,d,o,n]);return[(0,kt.useCallback)(async(b,x)=>{var y;let{type:I}=b;switch(I){case"maximize":case"minimize":case"restore":return d({type:I,path:(y=b.path)!=null?y:o});case"remove":return p();case"mousedown":return f(x,b.index,b.preDragActivity);case"add-toolbar-contribution":return m(b.location,b.content);case"remove-toolbar-contribution":return u();default:return}},[d,o,p,f,m,u]),l]};var Pr=require("@salt-ds/core"),Hu=X(require("classnames")),He=X(require("react"));var st=require("react");var Pu=({id:e,rootRef:t,path:o,dropTargets:n,title:r})=>{let s=tt(),{loadState:i,loadSessionState:a,purgeState:l,saveState:c,saveSessionState:d}=Zt(),[m,u]=mn(e,t,o,n),p=(0,st.useMemo)(()=>{var E;return(E=i("view-title"))!=null?E:r},[i,r]),f=(0,st.useCallback)(E=>{o&&s({type:"set-title",path:o,title:E})},[s,o]),g=(0,st.useMemo)(()=>i(e),[e,i]),h=(0,st.useCallback)(E=>i(e,E),[e,i]),b=(0,st.useCallback)(E=>{l(e,E),s({type:"save"})},[e,s,l]),x=(0,st.useCallback)((E,v)=>{c(e,v,E),s({type:"save"})},[e,s,c]),I=(0,st.useCallback)(E=>a(e,E),[e,a]),y=(0,st.useCallback)((E,v)=>d(e,v,E),[e,d]),S=(0,st.useCallback)(({type:E,...v})=>{let{[E]:D}=v;x(D,E)},[x]);return{contributions:u,dispatchViewAction:m,load:h,loadSession:I,onConfigChange:S,onEditTitle:f,purge:b,restoredState:g,save:x,saveSession:y,title:p}};var Ho=require("react"),jf=[],Cu=({mainRef:e,resize:t="responsive",rootRef:o})=>{let n=t==="defer",r=(0,Ho.useRef)({}),s=(0,Ho.useRef)(),i=(0,Ho.useCallback)(()=>{e.current&&(e.current.style.height=r.current.height+"px",e.current.style.width=r.current.width+"px"),s.current=void 0},[e]),a=(0,Ho.useCallback)(({height:l,width:c})=>{r.current.height=l,r.current.width=c,s.current!==null&&clearTimeout(s.current),s.current=window.setTimeout(i,40)},[i]);Qo(o,n?Cs:jf,a,n)};var pn=X(require("react")),Yf={dispatch:null},fn=pn.default.createContext(Yf),ci=()=>{var t;let e=(0,pn.useContext)(fn);return(t=e==null?void 0:e.dispatch)!=null?t:null},qf=()=>(0,pn.useContext)(fn);var No=require("react/jsx-runtime"),gn="vuuView",Jf=(e,t)=>e&&t?{...e,...t}:e||t,Nu=(0,He.forwardRef)(function(t,o){let{Header:n=ui,children:r,className:s,collapsed:i,closeable:a,"data-path":l,"data-resizeable":c,dropTargets:d,expanded:m,flexFill:u,id:p,header:f,orientation:g="horizontal",path:h=l,resize:b="responsive",resizeable:x=c,tearOut:I,style:y={},title:S,...E}=t,v=(0,Pr.useIdMemo)(p),D=(0,He.useRef)(null),P=(0,He.useRef)(null),[A,C]=(0,He.useState)(),{contributions:T,dispatchViewAction:R,load:L,loadSession:H,onConfigChange:N,onEditTitle:w,purge:M,restoredState:O,save:k,saveSession:z,title:K}=Pu({id:v,rootRef:D,path:h,dropTargets:d,title:S});Cu({mainRef:P,resize:b,rootRef:D});let Z=(0,He.useCallback)(B=>{C(B)},[]),V=()=>He.default.isValidElement(r)&&(O||A)?He.default.cloneElement(r,Jf(O,A)):r,Y=(0,He.useMemo)(()=>({dispatch:R,id:v,path:h,title:K,load:L,loadSession:H,onConfigChange:N,purge:M,save:k,saveSession:z,setComponentProps:Z}),[R,v,L,H,N,h,M,k,z,Z,K]),F=typeof f=="object"?f:{};return(0,No.jsx)("div",{...E,className:(0,Hu.default)(gn,s,{[`${gn}-collapsed`]:i,[`${gn}-expanded`]:m,[`${gn}-resize-defer`]:b==="defer"}),"data-resizeable":x,id:v,ref:(0,Pr.useForkRef)(o,D),style:y,tabIndex:-1,children:(0,No.jsxs)(fn.Provider,{value:Y,children:[f?(0,No.jsx)(n,{...F,collapsed:i,contributions:T,expanded:m,closeable:a,onEditTitle:w,orientation:g,tearOut:I,title:K}):null,(0,No.jsx)("div",{className:`${gn}-main`,ref:P,children:V()})]})})});Nu.displayName="View";var lo=He.default.memo(Nu);lo.displayName="View";fe("View",lo,"view");var ko=require("react/jsx-runtime"),ui=({className:e,contributions:t,collapsed:o,closeable:n,onEditTitle:r,orientation:s="horizontal",style:i,title:a="Untitled"})=>{let l=(0,At.useRef)(null),[c,d]=(0,At.useState)(a),[m,u]=(0,At.useState)(!1),p=ci(),f=C=>p==null?void 0:p({type:"remove"},C),g="vuuHeader",h=()=>{var C;(C=l.current)==null||C.focus()},b=C=>{C.stopPropagation()},I=(0,Cr.default)(g,e,`${g}-${o||s}`),y=()=>{u(!0)},S=C=>{C.key==="Enter"&&u(!0)},E=(C="",T="",R=!0,L=!1)=>{var H;u(!1),L?d(C):T!==C&&(d(T),r==null||r(T)),R===!1&&((H=l.current)==null||H.focus())},v=C=>{p==null||p({type:"mousedown"},C)},D=[],P=[],A=[];return t==null||t.forEach((C,T)=>{switch(C.location){case"pre-title":D.push(At.default.cloneElement(C.content,{key:T}));break;default:P.push(At.default.cloneElement(C.content,{key:T}))}}),a&&D.push((0,ko.jsx)(rr,{editing:m,value:c,onChange:d,onMouseDownCapture:h,onEnterEditMode:y,onExitEditMode:E,onKeyDown:S,ref:l,tabIndex:0},"title")),n&&A.push((0,ko.jsx)(ku.Button,{"data-icon":"close",onClick:f,onMouseDown:b,variant:"secondary"},"close")),P.length>0&&D.push((0,ko.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:P},"contributions")),A.length>0&&D.push((0,ko.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:A},"actions")),(0,ko.jsx)("div",{className:(0,Cr.default)("vuuToolbarProxy",I),style:i,onMouseDown:v,children:D})};var _u=require("@vuu-ui/vuu-popups"),hn=X(require("classnames")),Or=X(require("react"));var Ar=require("@vuu-ui/vuu-utils"),it=require("react");var Qf=".vuuOverflowContainer-item:not(.wrapped)",Au=e=>e.sort((t,o)=>{let{dataset:{index:n="?"}}=t,{dataset:{index:r="?"}}=o,s=t.classList.contains("wrapped"),i=o.classList.contains("wrapped"),a=n==="overflow",l=r==="overflow";return s&&!i?1:!s&&i?-1:a?1:l?-1:parseInt(n)>parseInt(r)?1:-1}),Nr=[],Ao=(e,t="horizontal")=>{let o=[],n=[],r=-1,s=!1,i=Au(Array.from(e.children)),a=t==="vertical"?"top":"left";for(let l of i){let c=l,{dataset:{index:d="?",label:m="?",overflowPriority:u="0"}}=c,{[a]:p}=c.getBoundingClientRect();p<=r?(d==="overflow"?n.push(o.pop()):n.push({index:d,label:m,overflowPriority:u}),s=!0):s?n.push({index:d,label:m,overflowPriority:u}):o.push({index:d,label:m,overflowPriority:u}),r=p}return[o,n]},di=(e,t)=>{let o=!1;t.find(({index:n})=>n==="overflow")&&t.length===1&&(o=!0);for(let n of e.children){let{dataset:{index:r="?"}}=n;t.length===0||o?e.classList.remove("overflowed"):e.classList.add("overflowed"),r!=="overflow"&&t.find(s=>s.index===r)?n.classList.add("wrapped"):n.classList.remove("wrapped")}},eg=(e,{overflowPriority:t})=>Math.max(e,parseInt(t)),tg=(e,{overflowPriority:t})=>Math.min(e,parseInt(t)),mi=e=>{var t;return e.length>1&&((t=e.at(-1))==null?void 0:t.index)==="overflow"},og=e=>{let[t]=e;for(let o=1;o<e.length;o++){let n=e[o];parseInt(n.overflowPriority)>parseInt(t.overflowPriority)&&(t=n)}return t},pi=(e,t)=>{var r;let o=e.reduce(tg,Number.MAX_SAFE_INTEGER);return t.reduce(eg,0)>o?!0:t.length>1&&((r=t.at(-1))==null?void 0:r.index)==="overflow"},fi=(e,t)=>new Promise(o=>{requestAnimationFrame(()=>{let[,n]=Ao(e);ng(t,n).forEach(s=>zu(e,s)),o(n)})}),gi=(e,t,o)=>new Promise(n=>{requestAnimationFrame(()=>{let[,r]=Ao(e),s=og(r);if(s){let[i,a]=kr(e,s);n([i,a])}else n([t,o])})}),Ou=(e,t)=>e.querySelector(`[data-index="${t.index}"]`),zu=(e,t)=>{let o=Ou(e,t);if(o)o.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${t.index} not found`)},Fu=e=>Array.from(e.querySelectorAll(".wrapped")),ng=(e,t)=>{let o=[];for(let n of t)e.find(({index:r})=>r===n.index)||o.push(n);return o},Bu=(e,t)=>{Fu(e).forEach(n=>{let{dataset:{index:r="?"}}=n;t.find(s=>s.index===r)||n.classList.remove("wrapped")})},$u=e=>e.querySelector('[data-index="overflow"]'),rg=e=>e.querySelector(".wrapped"),Hr=e=>parseInt(getComputedStyle(e).getPropertyValue("width")),Ku=(e,t)=>{let{right:o}=e.getBoundingClientRect(),n=parseInt(getComputedStyle(e).getPropertyValue("padding-right")),{right:r}=t.getBoundingClientRect();return o-n-r},hi=e=>{let t=$u(e),o=Ku(e,t),n=Hr(t),r=rg(e);return Hr(r)<=o+n?(e.classList.remove("overflowed"),r.classList.remove("wrapped"),!0):!1},sg=(e,t)=>{let{dataset:{index:o="0",overflowPriority:n="0"}}=e,{dataset:{index:r="0",overflowPriority:s="0"}}=t;return n>s?-1:n<s?1:parseInt(o)-parseInt(r)},ig=e=>Array.from(e.querySelectorAll(Qf)).sort(sg),kr=(e,t)=>{let o=ig(e),n=Ou(e,t),r=-1,s=o.at(r),i=Hr(s),a=Hr(n),l=$u(e),c=Ku(e,l)+i;if(c>=a)ag(n,s);else{let{left:u}=s.getBoundingClientRect(),p=c,f=[s];for(;c<a;){r-=1,s=o.at(r),f.push(s);let{left:g}=s.getBoundingClientRect(),h=u-g;c=p+h}n==null||n.classList.remove("wrapped"),f.forEach(g=>{g.classList.add("wrapped")})}let[d,m]=Ao(e);return Bu(e,m),[d,m]},ag=(e,t)=>{if(!e||!t)throw Error("switchWrapOnElements, element undefined");e.classList.remove("wrapped"),t.classList.add("wrapped")};var Vu=({itemCount:e,onSwitchWrappedItemIntoView:t,orientation:o="horizontal"})=>{let[n,r]=(0,it.useState)(null),s=(0,it.useRef)(Nr),i=(0,it.useCallback)(async()=>{if(n){let[u,p]=Ao(n,o);for(di(n,p),mi(p)&&(p=await fi(n,p));pi(u,p);)[u,p]=await gi(n,u,p);p.length===1&&hi(n)&&(p=Nr),s.current=p}},[n,o]),a=u=>typeof u=="object"&&u!==null&&"overflowItem"in u,[l,c]=(0,it.useMemo)(()=>[()=>{let{current:u}=s;return u.map(p=>({label:p.label,action:`activate-item-${p.index}`,options:{overflowItem:p}}))},({options:u})=>{if(n&&a(u)){let[,p]=kr(n,u.overflowItem);s.current=p,t==null||t(u.overflowItem)}return!0}],[n,t]),d=(0,it.useMemo)(()=>{let{sizeProp:u}=Ar.MEASURES[o],p=0;return new ResizeObserver(f=>{for(let g of f){let{[u]:h}=g.contentRect;(0,Ar.isValidNumber)(h)&&p!==h&&(p=h,i())}})},[i,o]);Yr(()=>{i()},[i,e]),(0,it.useMemo)(()=>{n&&d.observe(n)},[n,d]);let m=(0,it.useCallback)(u=>{r(u)},[]);return{menuActionHandler:c,menuBuilder:l,rootRef:m}};var Ot=require("react/jsx-runtime"),Oo="vuuOverflowContainer",Wu=Or.default.memo(({children:e,className:t,height:o,onSwitchWrappedItemIntoView:n,orientation:r="horizontal",overflowIcon:s})=>{let i=Kt(e),{menuActionHandler:a,menuBuilder:l,rootRef:c}=Vu({itemCount:i.length,onSwitchWrappedItemIntoView:n,orientation:r}),m={"--overflow-container-height":`${r==="vertical"?"100%":`${o}px`}`},u=(0,hn.default)(`${Oo}-wrapContainer`,t,{[`${Oo}-horizontal`]:r==="horizontal",[`${Oo}-vertical`]:r==="vertical"});return(0,Ot.jsxs)("div",{className:u,ref:c,style:m,children:[i.map((p,f)=>{let{"data-overflow-priority":g="0",id:h,label:b=`Item ${f+1}`}=p.props;return(0,Ot.jsx)("div",{className:(0,hn.default)(`${Oo}-item`),"data-index":f,"data-label":b,"data-overflow-priority":g,id:`${h}-wrapper`,children:p},f)}),(0,Ot.jsx)("div",{className:`${Oo}-OverflowIndicator`,"data-index":"overflow",children:(0,Ot.jsx)(_u.PopupMenu,{icon:s,menuBuilder:l,menuActionHandler:a})})]})});Wu.displayName="OverflowContainer.InnerContainer";var ni=(0,Or.forwardRef)(function({children:t,className:o,height:n=44,onSwitchWrappedItemIntoView:r,orientation:s,overflowIcon:i,...a},l){return(0,Ot.jsx)("div",{...a,className:(0,hn.default)((0,hn.default)(Oo,o)),ref:l,children:(0,Ot.jsx)(Wu,{height:n,orientation:s,overflowIcon:i,onSwitchWrappedItemIntoView:r,children:t})})});var Gu=require("@vuu-ui/vuu-utils"),Fr=require("@salt-ds/lab"),bi=X(require("classnames")),Br=require("react");var zr=require("react/jsx-runtime"),lg=e=>{let t=e.cloneNode(!0);return t.id="",delete t.dataset.idx,t},yi=(0,Br.memo)(({className:e,children:t,idx:o,resizeable:n,header:r,closeable:s,...i})=>(0,zr.jsx)(Fr.ListItem,{className:(0,bi.default)("vuuPaletteItem",e),"data-draggable":!0,...i}));yi.displayName="PaletteItem";var Uu=({children:e,className:t,orientation:o="horizontal",ViewProps:n,...r})=>{let s=tt(),i="vuuPalette";function a(l){var v;let d=l.target.closest(".vuuPaletteItem"),m=parseInt((v=d.dataset.idx)!=null?v:"-1");m!==-1&&console.log({children:e,idx:m,listItemElement:d});let{props:{caption:u,children:p,template:f,...g}}=e[m],{height:h,left:b,top:x,width:I}=d.getBoundingClientRect(),y=(0,Gu.uuid)(),E=f?p:(0,zr.jsx)(lo,{...n,...{id:y,key:y},...g,title:g.label,children:p});s({dragRect:{left:b,top:x,right:b+I,bottom:x+150,width:I,height:h},dragElement:lg(d),evt:l.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:E,type:"drag-start"})}return(0,zr.jsx)(Fr.List,{...r,borderless:!0,className:(0,bi.default)(i,t,`${i}-${o}`),maxHeight:800,selected:null,children:e.map((l,c)=>l.type===yi?(0,Br.cloneElement)(l,{key:c,onMouseDown:a}):l)})};fe("Palette",Uu,"view");var Xu=X(require("classnames")),zt=X(require("react"));var bn=require("react/jsx-runtime"),Zu="Tabs",cg=()=>{},ug=(e,t)=>{var o,n;return(n=(o=e.props)==null?void 0:o.title)!=null?n:`Tab ${t+1}`},dg=e=>{let t=[];return zt.default.Children.forEach(e,o=>{zt.default.isValidElement(o)?t.push(o):console.warn("Stack has unexpected child element type")}),t},mg={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},$r=(0,zt.forwardRef)(function({active:t=0,children:o,className:n,getTabIcon:r=cg,getTabLabel:s=ug,id:i,keyBoardActivation:a="manual",onAddTab:l,onMoveTab:c,onTabClose:d,onTabEdit:m,onTabSelectionChanged:u,showTabs:p="top",style:f,TabstripProps:g=mg},h){var A;let b=Vt(i),{allowCloseTab:x,allowRenameTab:I}=g,y=(0,zt.useCallback)((C,T,R,L)=>{m==null||m(L,T)},[m]),S=()=>{var C;return zt.default.isValidElement(o)?o:Array.isArray(o)&&(C=o[t])!=null?C:null},E=()=>dg(o).map((C,T)=>{let R=`${b}-${T}`,{closeable:L=x,id:H}=C.props;return(0,bn.jsx)(tu,{ariaControls:`${R}-tab`,"data-icon":r(C,T),id:R,index:T,label:s(C,T),closeable:L,editable:I},H!=null?H:T)}),v=S(),D=p==="left"||p==="right",P=D?"vertical":"horizontal";return(0,bn.jsxs)("div",{className:(0,Xu.default)(Zu,n,{[`${Zu}-horizontal`]:D}),style:f,id:b,ref:h,children:[p?(0,bn.jsx)(Gc,{...g,activeTabIndex:(A=g==null?void 0:g.activeTabIndex)!=null?A:v===null?-1:t,allowDragDrop:g.allowDragDrop!==!1,animateSelectionThumb:!0,className:"vuuTabHeader",keyBoardActivation:a,onActiveChange:u,onAddTab:l,onCloseTab:d,onExitEditMode:y,onMoveTab:c,orientation:P,children:E()}):null,v]})});$r.displayName="Stack";var ju=require("@salt-ds/core"),Ft=X(require("react"));var Kr=require("react/jsx-runtime"),pg=e=>(0,Kr.jsx)(lo,{resizeable:!0,title:`Tab ${e}`,style:{flexGrow:1,flexShrink:0,flexBasis:0},header:!0,closeable:!0,children:(0,Kr.jsx)(vn,{style:{flex:1}})}),xi=e=>{let t=(0,Ft.useRef)(null),o=tt(),{loadState:n}=Zt(),{createNewChild:r=pg,id:s,onTabSelectionChanged:i,path:a,...l}=e,{children:c}=e,d=(0,ju.useIdMemo)(s),[m]=mn(d,t,a),u=I=>{a&&(o({type:"switch-tab",path:a,nextIdx:I}),i==null||i(I))},p=(0,Ft.useCallback)(I=>{if(Array.isArray(c)){let{props:{"data-path":y,path:S=y}}=c[I];o({type:"remove",path:S})}},[c,o]),f=(0,Ft.useCallback)(()=>{if(a){let I=Ft.default.Children.count(c),y=r(I);o({type:"add",path:a,component:y})}},[c,r,o,a]),g=(0,Ft.useCallback)((I,y)=>{a&&o({fromIndex:I,toIndex:y,path:a,type:"move-child"})},[o,a]);return(0,Kr.jsx)($r,{...l,id:d,getTabLabel:(I,y)=>{let{id:S,title:E}=I.props;return n(S,"view-title")||E||`Tab ${y+1}`},onMouseDown:async(I,y)=>{let S;await m({type:"mousedown",index:y,preDragActivity:async()=>new Promise(D=>{console.log("preDragActivity: Ok, gonna release the drag"),S=D})},I)&&(S==null||S(void 0))},onMoveTab:g,onAddTab:f,onTabClose:p,onTabEdit:(I,y)=>{o({type:"set-title",path:`${a}.${I}`,title:y})},onTabSelectionChanged:u,ref:t})};xi.displayName="Stack";fe("Stack",xi,"container");var zo=X(require("react"));var co=require("react/jsx-runtime"),fg=({children:e})=>{let[o,n]=(0,zo.useState)(e),[r,s]=(0,zo.useState)(e),i=l=>{let c=jr(o,l);s(c)},a=(l,c)=>{console.log(`change ${l} -> ${c}`);let d=zo.default.cloneElement(r,{style:{...r.props.style,[l]:c}});s(d),n(zo.default.cloneElement(o,{},d))};return(0,co.jsxs)("div",{"data-design-mode":`${!1}`,children:[o,(0,co.jsx)("br",{}),(0,co.jsxs)("div",{style:{display:"flex"},children:[(0,co.jsx)(Ei,{height:300,managedStyle:r.props.style,width:300,onChange:a,style:void 0}),(0,co.jsx)(Ii,{layout:o,onSelect:i,style:{width:300,height:300,backgroundColor:"#ccc"}})]})]})};var ft=require("@salt-ds/core"),le=require("react/jsx-runtime"),Ti={},gg={margin:{top:"marginTop",right:"marginRight",bottom:"marginBottom",left:"marginLeft"},border:{top:"borderTopWidth",right:"borderRightWidth",bottom:"borderBottomWidth",left:"borderLeftWidth"},padding:{top:"paddingTop",right:"paddingRight",bottom:"paddingBottom",left:"paddingLeft"}},Si=({feature:e,children:t,style:o,onChange:n})=>(0,le.jsxs)("div",{className:`LayoutBox layout-${e} layout-outer`,children:[(0,le.jsxs)("div",{className:"layout-top",children:[(0,le.jsx)("span",{className:"layout-title",children:e}),(0,le.jsx)(ft.FormField,{className:"layout-input",style:{width:30},children:(0,le.jsx)(ft.Input,{value:o.top,onChange:(r,s)=>n(e,"top",s)})})]}),(0,le.jsxs)("div",{className:"layout-inner",children:[(0,le.jsx)("div",{className:"layout-left",children:(0,le.jsx)(ft.FormField,{className:"layout-input",style:{width:30},children:(0,le.jsx)(ft.Input,{value:o.left,onChange:(r,s)=>n(e,"left",s)})})}),t,(0,le.jsx)("div",{className:"layout-right",children:(0,le.jsx)(ft.FormField,{className:"layout-input",style:{width:30},children:(0,le.jsx)(ft.Input,{value:o.right,onChange:(r,s)=>n(e,"right",s)})})})]}),(0,le.jsx)("div",{className:"layout-bottom",children:(0,le.jsx)(ft.FormField,{className:"layout-input",style:{width:30},children:(0,le.jsx)(ft.Input,{value:o.bottom,onChange:(r,s)=>n(e,"bottom",s)})})})]}),hg={margin:!0,marginTop:!0,marginRight:!0,marginBottom:!0,marginLeft:!0},bg={padding:!0,paddingTop:!0,paddingRight:!0,paddingBottom:!0,paddingLeft:!0},yg={border:!0,borderColor:!0,borderWidth:!0,borderTopWidth:!0,borderRightWidth:!0,borderBottomWidth:!0,borderLeftWidth:!0},Vr="(\\d+)(?:px)?",xg=`^(?:${Vr}(?:\\s${Vr}(?:\\s${Vr}(?:\\s${Vr})?)?)?)$`,Yu=new RegExp(xg),Eg=/^(?:(\d+)(?:px)\ssolid\s([a-zA-Z,0-9().]+))$/,Ei=({height:e,managedStyle:t,onChange:o,style:n,width:r})=>{let s=qu(t),i=(I,y,S)=>{let E=parseInt(S||"0",10),v=gg[I][y];o(v,E)},{marginTop:a=0,marginRight:l=0,marginBottom:c=0,marginLeft:d=0}=s,{borderTopWidth:m=0,borderRightWidth:u=0,borderBottomWidth:p=0,borderLeftWidth:f=0}=s,{paddingTop:g=0,paddingRight:h=0,paddingBottom:b=0,paddingLeft:x=0}=s;return(0,le.jsx)("div",{className:"LayoutConfigurator",style:{width:r,height:e,...n},children:(0,le.jsx)(Si,{feature:"margin",style:{top:a,right:l,bottom:c,left:d},onChange:i,children:(0,le.jsx)(Si,{feature:"border",style:{top:m,right:u,bottom:p,left:f},onChange:i,children:(0,le.jsx)(Si,{feature:"padding",style:{top:g,right:h,bottom:b,left:x},onChange:i,children:(0,le.jsx)("div",{className:"layout-content"})})})})})};function Ig(e=Ti,t=Ti){let{margin:o,marginTop:n,marginRight:r,marginBottom:s,marginLeft:i,padding:a,paddingTop:l,paddingRight:c,paddingBottom:d,paddingLeft:m,...u}=e;if(typeof o=="number")u.marginTop=u.marginRight=u.marginBottom=u.marginLeft=o;else if(typeof o=="string"){let p=Yu.exec(o);if(p===null)console.error(`Invalid css value for margin '${o}'`);else{let[,f,g,h,b]=p,x=f&&g&&h;x&&b?(u.marginTop=parseInt(f,10),u.marginRight=parseInt(g,10),u.marginBottom=parseInt(h,10),u.marginLeft=parseInt(b,10)):x?(u.marginTop=parseInt(f,10),u.marginRight=u.marginLeft=parseInt(g,10),u.marginBottom=parseInt(h,10)):f&&g?(u.marginTop=u.marginBottom=parseInt(f,10),u.marginRight=u.marginLeft=parseInt(g,10)):u.marginTop=u.marginRight=u.marginBottom=u.marginLeft=parseInt(f,10)}}if(typeof n=="number"&&(u.marginTop=n),typeof r=="number"&&(u.marginRight=r),typeof s=="number"&&(u.marginBottom=s),typeof i=="number"&&(u.marginLeft=i),typeof a=="number")u.paddingTop=u.paddingRight=u.paddingBottom=u.paddingLeft=a;else if(typeof a=="string"){let p=Yu.exec(a);if(p===null)console.error(`Invalid css value for padding '${a}'`);else{let[,f,g,h,b]=p,x=f&&g&&h;x&&b?(u.paddingTop=parseInt(f,10),u.paddingRight=parseInt(g,10),u.paddingBottom=parseInt(h,10),u.paddingLeft=parseInt(b,10)):x?(u.paddingTop=parseInt(f,10),u.paddingRight=u.paddingLeft=parseInt(g,10),u.paddingBottom=parseInt(h,10)):f&&g?(u.paddingTop=u.paddingBottom=parseInt(f,10),u.paddingRight=u.paddingLeft=parseInt(g,10)):u.paddingTop=u.paddingRight=u.paddingBottom=u.paddinggLeft=parseInt(f,10)}}return typeof l=="number"&&(u.paddingTop=l),typeof c=="number"&&(u.paddingRight=c),typeof d=="number"&&(u.paddingBottom=d),typeof m=="number"&&(u.paddingLeft=m),qu(u,t)}function qu(e=Ti){let t={...e},o,{border:n,borderWidth:r,borderTopWidth:s,borderRightWidth:i,borderBottomWidth:a,borderLeftWidth:l,borderColor:c,margin:d,marginTop:m,marginRight:u,marginBottom:p,marginLeft:f,padding:g,paddingTop:h,paddingRight:b,paddingBottom:x,paddingLeft:I,...y}=t,S={},E={};if(typeof d=="number"&&(t.marginTop=t.marginRight=t.marginBottom=t.marginLeft=d,S={marginTop:d,marginRight:d,marginBottom:d,marginLeft:d}),typeof g=="number"&&(t.paddingTop=t.paddingRight=t.paddingBottom=t.paddingLeft=g,E={paddingTop:g,paddingRight:g,paddingBottom:g,paddingLeft:g}),n||r||s||i||a||l){typeof n=="string"&&(o=Eg.exec(n))&&([,r,c]=o,r=parseInt(r,10)),r&&(s=s===void 0?r:s,i=i===void 0?r:i,a=a===void 0?r:a,l=l===void 0?r:l),c=c||"black";let v=`
22
- ${c} ${l||0}px ${s||0}px 0 0 inset,
23
- ${c} ${-i||0}px ${-a||0}px 0 0 inset`;return{...y,...S,...E,borderTopWidth:s,borderRightWidth:i,borderBottomWidth:a,borderLeftWidth:l,borderColor:c,borderStyle:"solid",boxShadow:v}}else return t}var Ju=X(require("react")),Qu=X(require("classnames"));var vi=require("react/jsx-runtime"),Sg="hwLayoutTreeViewer",ed=(e,t="0")=>({label:U(e),path:t,childNodes:Ju.default.Children.map(e.props.children,(o,n)=>ed(o,t?`${t}.${n}`:`${n}`))}),Ii=({layout:e,onSelect:t,style:o})=>{let n=[ed(e)],r=(s,[{path:i}])=>{t(i)};return(0,vi.jsx)("div",{className:(0,Qu.default)(Sg),style:o,children:(0,vi.jsx)(li,{source:n,groupSelection:"single",onSelectionChange:r})})};
17
+ `,document.body.insertBefore(e,n)}}var ra=class{constructor(){this.currentPath=null;this.tabMode=null;xM()}prepare(e,t="full-view"){document.body.classList.add("drawing"),this.currentPath=null,this.tabMode=t;let r=this.getPoints(0,0,0,0),o=Py(r),s=document.getElementById("vuu-drop-outline");s==null||s.setAttribute("d",o),this.currentPath=o}clear(){na=null,qc(),document.body.classList.remove("drawing"),Gc.PopupService.hidePopup()}get hoverDropTarget(){return na}getPoints(e,t,r,o,s=0,i=0,l=0){let a=this.tabMode==="tab-only";if(i===0)return[[e,t+l],[e,t+l],[e,t],[e+i,t],[e+i,t],[e+r,t],[e+r,t+o],[e,t+o]];if(a){let c=s;return[[c,t],[c,t],[c+i,t],[c+i,t],[c+i,t+l],[c+i,t+l],[c,t+l],[c,t+l]]}else return s===0?[[e,t+l],[e,t+l],[e,t],[e+i,t],[e+i,t+l],[e+r,t+l],[e+r,t+o],[e,t+o]]:[[e,t+l],[e+s,t+l],[e+s,t],[e+s,t],[e+s,t+l],[e+r,t+l],[e+r,t+o],[e,t+o]]}draw(e,t){let o=wf;if(na!==null)this.drawTarget(na);else if(wf=e.nextDropTarget!=null,e.pos.tab?vM(e):Jn&&qc(),this.drawTarget(e,t),wf){let[s,i,l]=vf(e);{let a=(0,Ly.jsx)(Cf,{dropTarget:e,onHover:mM,orientation:l});Gc.PopupService.showPopup({left:s,top:i,component:a})}}else Gc.PopupService.hidePopup()}drawTarget(e,t){let o=e.getTargetDropOutline(6,t);if(o){let{l:s,t:i,r:l,b:a,tabLeft:c,tabWidth:u,tabHeight:h,guideLines:d}=o,f=l-s,p=a-i;if(this.currentPath){let v=document.getElementById("vuu-drop-outline");v==null||v.setAttribute("d",this.currentPath)}let m=this.getPoints(s,i,f,p,c,u,h),g=Py(m),b=document.getElementById("hw-drop-outline-animate");b==null||b.setAttribute("to",g),b==null||b.beginElement(),this.currentPath=g;let C=document.getElementById("hw-drop-guides");C==null||C.setAttribute("d",yM(d))}}},Iy="transition:margin-left .4s ease-out;margin-left: 63px",Ay="transition:margin-left .4s ease-out;margin-left: 0px";function vM(n){var l,a;let{AFTER:e,BEFORE:t}=ta,{clientRect:{Stack:r},pos:{tab:o}}=n,{id:s}=n.component.props,i=null;if(r&&o&&o.positionRelativeToTab!==e){let c=o.positionRelativeToTab===t?1:2,u=`:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${o.index+c})`;i=(l=document.getElementById(s))==null?void 0:l.querySelector(u),i?(Jn===null||Jn!==i)&&(i.style.cssText=Iy,Jn&&(Jn.style.cssText=Ay),Jn=i):qc()}else if((o==null?void 0:o.positionRelativeToTab)===t){if(Jn===null){let c=".vuuHeader-title";i=(a=document.getElementById(s))==null?void 0:a.querySelector(c),i.style.cssText=Iy,Jn=i}}else qc()}function qc(){Jn&&(Jn.style.cssText=Ay,Jn=null)}var Br,oa,po,Ny,Hy,ns,jc,rs=null,Tf,Vy,Xc,By,Sf,Qc=null,CM=3,Jc=new ra,Oy=.4;function wM(n,e){return e?it(n,e):pr(n,t=>t.dropTarget)}var eu={handleMousedown(n,e,t={}){Br=e,Vy=t,Ny=n.clientX,Hy=n.clientY,Sf=t.dragThreshold===void 0?CM:t.dragThreshold,Sf===0?Br(n,0,0):(window.addEventListener("mousemove",Yc,!1),window.addEventListener("mouseup",Zc,!1),Qc=window.setTimeout(()=>{window.removeEventListener("mousemove",Yc,!1),window.removeEventListener("mouseup",Zc,!1),Br==null||Br(n,0,0)},500)),n.preventDefault()},initDrag(n,e,{top:t,left:r,right:o,bottom:s},i,l,a,c){return{drag:oa,drop:po}=l,SM(n,e,{top:t,left:r,right:o,bottom:s},i,a,c)}};function Yc(n){let r=n.clientX-Ny,o=n.clientY-Hy;Math.max(Math.abs(r),Math.abs(o))>Sf&&(window.removeEventListener("mousemove",Yc,!1),window.removeEventListener("mouseup",Zc,!1),Br==null||Br(n,r,o),Br=null)}function Zc(){Qc&&(window.clearTimeout(Qc),Qc=null),window.removeEventListener("mousemove",Yc,!1),window.removeEventListener("mouseup",Zc,!1)}function SM(n,e,t,r,o,s){ns=wM(n,e);let{"data-path":i,path:l=i}=ee(ns);s&&(Tf=s.map(d=>pr(n,f=>f.id===d)).map(d=>d.props.path)),Xc=ui.measure(ns,s);let a=Xc[l];jc=new Kc(a,r.x,r.y,t,o);let c=Math.round(jc.x.mousePct*100),u=Math.round(jc.y.mousePct*100);return window.addEventListener("mousemove",Fy,!1),window.addEventListener("mouseup",$y,!1),window.addEventListener("keydown",zy,!1),By=!1,Jc.prepare(t,"tab-only"),Vy.DoNotTransform?"transform:none":`transform:scale(${Oy},${Oy});transform-origin:${c}% ${u}%;`}function Fy(n){let e=n.clientX,t=n.clientY,r=jc,o=rs,s,i,l;r.update("x",e)&&(i=r.x.pos),r.update("y",t)&&(l=r.y.pos),i===void 0&&l===void 0||oa==null||oa(i,l),!(By||ns===void 0)&&(r.inBounds()?s=Uc(e,t,ns,Xc,r.hasIntrinsicSize(),Tf):s=Uc(r.dropX(),r.dropY(),ns,Xc),o&&(s==null||s.box!==o.box)&&(rs=null),s&&(Jc.draw(s,r),rs=s))}function zy(n){n.key==="Escape"&&(rs=null,Wy())}function $y(){Wy()}function Wy(){if(rs){let n=Jc.hoverDropTarget||Vr.getActiveDropTarget(rs);po==null||po(n),rs=null}else po==null||po();oa=null,po=null,ns=void 0,Jc.clear(),Tf=void 0,window.removeEventListener("mousemove",Fy,!1),window.removeEventListener("mouseup",$y,!1),window.removeEventListener("keydown",zy,!1)}var _y=U(require("classnames")),Ky=require("react");var Gy=require("react/jsx-runtime"),Ef=(0,Ky.forwardRef)(function({children:e,className:t,dropTarget:r,resizeable:o,...s},i){let l=(0,_y.default)("DraggableLayout",t);return(0,Gy.jsx)("div",{className:l,ref:i,...s,children:e})}),Uy="DraggableLayout";Ef.displayName=Uy;Je(Uy,Ef,"container");var sx=require("@salt-ds/core"),ix=U(require("classnames")),lx=require("react");var rx=require("@vuu-ui/vuu-utils"),Ye=U(require("react"));var jy=U(require("classnames"));var Qy=require("react/jsx-runtime"),qy="vuuPlaceholder",sa=({className:n,closeable:e,flexFill:t,resizeable:r,shim:o,...s})=>(0,Qy.jsx)("div",{className:(0,jy.default)(qy,n,{[`${qy}-shim`]:o}),...s,"data-placeholder":!0,"data-resizeable":!0});sa.displayName="Placeholder";Je("Placeholder",sa);var Xy=U(require("classnames")),$t=U(require("react"));var Rf=require("react/jsx-runtime"),tu="vuuSplitter",Jy=$t.default.memo(function({column:e,index:t,onDrag:r,onDragEnd:o,onDragStart:s,style:i}){let l=(0,$t.useRef)(),a=(0,$t.useRef)(null),c=(0,$t.useRef)(0),[u,h]=(0,$t.useState)(!1),d=(0,$t.useCallback)(({key:y,shiftKey:S})=>{let D=S?10:1;e&&y==="ArrowDown"?r(t,D):e&&y==="ArrowUp"||!e&&y==="ArrowLeft"?r(t,-D):!e&&y==="ArrowRight"&&r(t,D)},[e,t,r]),f=(0,$t.useCallback)(y=>{let{key:S}=y;(e&&(S==="ArrowUp"||S==="ArrowDown")||!e&&(S==="ArrowLeft"||S==="ArrowRight"))&&(s(t),d(y),p.current=d)},[e,d,t,s]),p=(0,$t.useRef)(f),m=y=>p.current(y),g=(0,$t.useCallback)(y=>{l.current=!0;let S=y[e?"clientY":"clientX"],D=S-c.current;S&&S!==c.current&&r(t,D),c.current=S},[e,t,r]),b=(0,$t.useCallback)(()=>{var y;window.removeEventListener("mousemove",g,!1),window.removeEventListener("mouseup",b,!1),o(),h(!1),(y=a.current)==null||y.focus()},[g,o,h]),C=(0,$t.useCallback)(y=>{c.current=e?y.clientY:y.clientX,s(t),window.addEventListener("mousemove",g,!1),window.addEventListener("mouseup",b,!1),y.preventDefault(),h(!0)},[e,g,b,t,s,h]),v=()=>{var y;l.current?l.current=!1:(y=a.current)==null||y.focus()},x=()=>{p.current=f},w=(0,Xy.default)(tu,{[`${tu}-active`]:u,[`${tu}-column`]:e});return(0,Rf.jsx)("div",{className:w,"data-splitter":!0,ref:a,role:"separator",style:i,onBlur:x,onClick:v,onKeyDown:m,onMouseDown:C,tabIndex:0,children:(0,Rf.jsx)("div",{className:`${tu}-grab-zone`})})});var kf=require("@vuu-ui/vuu-utils"),Mf=U(require("react"));var TM={"data-placeholder":!0,"data-resizeable":!0},nu={},mo="auto",Df={flexBasis:0,flexGrow:1,flexShrink:1,height:mo,width:mo},Yy={height:"width",width:"height"},Pf=(n="row")=>n==="row"?["width","height","column"]:["height","width","row"],EM=n=>typeof n=="string"&&n.endsWith("%"),fn=n=>{let{style:{width:e=mo,height:t=mo}=nu}=n.props,r=typeof t=="number",o=typeof e=="number";return r&&o?{height:t,width:e}:r?{height:t}:o?{width:e}:void 0};function ru(n,e,t){let r=Yy[e],{style:{[r]:o=mo,...s}=nu}=n.props;return t&&t[e]?{...s,...Df,flexBasis:t[e],flexGrow:0,flexShrink:0}:{...s,...Df,[r]:o}}function If(n){let{style:{flex:e,flexGrow:t,flexShrink:r,flexBasis:o}=nu}=n.props;return typeof e=="number"||o===0&&t===1&&r===1?!0:typeof o!="number"}function ou(n,e,t){let r=Yy[e],{style:{[e]:o=mo,[r]:s=mo,...i}=nu}=n.props;return o!==mo?EM(o)?{flexBasis:0,flexGrow:1,flexShrink:1,[e]:void 0,[r]:s}:{flexBasis:o,flexGrow:0,flexShrink:0,[e]:o,[r]:s}:t&&t[e]?{...i,...Df,flexBasis:t[e],flexGrow:0,flexShrink:0}:{...i,[r]:s}}function hi(n,e,t,r,o){let s=[],i=0,l;if(r&&o){let u,[h,d,f,p]=o;[u,l]=e==="column"?[d-r.top,r.bottom-p]:[h-r.left,r.right-f],u&&s.push(Yn(`${t}.${i++}`,u,{flexGrow:0,flexShrink:0}))}else l=!0;let{version:a=0,style:c}=ee(n);return s.push(bt(n,`${t}.${i++}`,{version:a+1,style:{...c,flexBasis:"auto",flexGrow:0,flexShrink:0}})),l&&s.push(Yn(`${t}.${i++}`,0,void 0,{[`data-${e}-placeholder`]:!0})),su(e,{resizeable:!1,style:{flexBasis:"auto"}},s,t)}var RM=(n,e)=>{if(!e)return n===0?1:0};function su(n,e,t,r){let o=(0,kf.uuid)(),{flexFill:s,style:i,resizeable:l=!0}=e,{flexBasis:a=s?void 0:"auto"}=i,c=RM(a,s);return Mf.default.createElement(uo.Flexbox,{id:o,key:o,path:r,flexFill:s,style:{...i,flexDirection:n,flexBasis:a,flexGrow:c,flexShrink:c},resizeable:l},t)}var DM={flexGrow:1,flexShrink:1};function Yn(n,e,t,r){let o=(0,kf.uuid)();return Mf.default.createElement("div",{...TM,...r,"data-path":n,id:o,key:o,style:{...DM,...t,flexBasis:e}})}var kM={},ia=1,la=2,MM=n=>typeof n.intrinsicSize=="number",PM=(n,e)=>{let t={};return n.forEach(r=>{t[r]=ae(e,r)}),t},iu=(n,e,t)=>n.map((r,o)=>{var a;let s=ae(r,"resizeable"),{[e]:i}=(a=fn(r))!=null?a:kM,l=If(r);return t?{index:o,flexOpen:l,intrinsicSize:i,resizeable:s,...PM(t,r)}:{index:o,flexOpen:l,intrinsicSize:i,resizeable:s}}),Zy=n=>{let e=n.length,t=n.every(MM),r=Array(e).fill(0);if(t&&e>0&&(r[0]=la,r[e-1]=la),e<2)return r;for(let o=0,s=0;o<e-1;o++)n[o].resizeable&&!s&&(s=ia),r[o]+=s;for(let o=e-1;o>0&&(r[o]&ia&&(r[o]-=ia),!n[o].resizeable);o--);return r},ex=(n,e)=>{let t=AM(n,e),r=LM(n,e),o=t!==-1&&r!==-1?[t,r]:void 0,s=IM(n,o);return[o,s]};function IM(n,e){if(e){let t=[];for(let r=0;r<n.length;r++)n[r].flexOpen&&!e.includes(r)&&t.push(r);return t}}function AM(n,e){let t=e,r=!1;for(;t>=1&&!r;)t=t-1,r=tx(n,t);return t}function LM(n,e){let t=e,r=!1,o=n.length;for(;t<o-1&&!r;)t=t+1,r=tx(n,t);return t===o?-1:t}function tx(n,e){let{placeholder:t,splitter:r,resizeable:o,intrinsicSize:s}=n[e];return!!(!r&&!s&&(t||o))}var OM=n=>!n.splitter&&!n.placeholder,ox=({children:n,onSplitterMoved:e,style:t})=>{let r=(0,Ye.useRef)(null),o=(0,Ye.useRef)(),s=(0,Ye.useRef)(),i=(0,Ye.useRef)([]),[,l]=(0,Ye.useState)({}),a=g=>{s.current=g,l({})},c=(t==null?void 0:t.flexDirection)==="column",u=c?"height":"width",h=(0,Ye.useMemo)(()=>Array.isArray(n)?n:Ye.default.isValidElement(n)?[n]:[],[n]),d=(0,Ye.useCallback)(g=>{let{current:b}=o;if(b){let[C,v]=ex(b,g);C&&(C.forEach(x=>{var y;let w=(y=r.current)==null?void 0:y.childNodes[x];if(w){let{size:S,minSize:D}=BM(w,u);b[x].currentSize=S,b[x].minSize=D}}),v&&v.forEach(x=>{var y;let w=(y=r.current)==null?void 0:y.childNodes[x];if(w){let{[u]:S}=w.getBoundingClientRect();b[x].flexBasis=S}}))}},[u]),f=(0,Ye.useCallback)((g,b)=>{s.current&&o.current&&a(HM(s.current,o.current,b,u))},[u]),p=(0,Ye.useCallback)(()=>{let g=o.current;g&&(e==null||e(g.filter(OM))),g==null||g.forEach(b=>{b.currentSize=void 0,b.flexBasis=void 0,b.flexOpen=!1})},[e]),m=(0,Ye.useCallback)(g=>Ye.default.createElement(Jy,{column:c,index:g,key:`splitter-${g}`,onDrag:f,onDragEnd:p,onDragStart:d}),[f,p,d,c]);return(0,Ye.useMemo)(()=>{let[g,b]=NM(h,u,m,i.current);o.current=b,s.current=g},[h,m,u]),{content:s.current||[],rootRef:r}};function NM(n,e,t,r){let o=iu(n,e),s=Zy(o),i=[],l=[];for(let a=0;a<n.length;a++){let c=n[a];if(a===0&&s[a]&la&&(i.push(nx(a)),l.push({placeholder:!0,shim:!0})),c.key==null){let u=r[a]||(r[a]=(0,rx.getUniqueId)());i.push(Ye.default.cloneElement(c,{key:u}))}else i.push(c);l.push(o[a]),a>0&&s[a]&la?(i.push(nx(a)),l.push({placeholder:!0})):s[a]&ia&&(i.push(t(i.length)),l.push({splitter:!0}))}return[i,l]}function HM(n,e,t,r){return VM(e,t)?n.map((s,i)=>{let l=e[i],{currentSize:a,flexOpen:c,flexBasis:u}=l,h=a!==void 0;if(h||c){let{flexBasis:d}=s.props.style||{},f=h?l.currentSize:u;return f!==d?Ye.default.cloneElement(s,{style:{...s.props.style,flexBasis:f,[r]:"auto"}}):s}else return s}):n}function VM(n,e){let t=[];n.forEach((u,h)=>{u.currentSize!==void 0&&t.push(h)});let r=e<0?t[0]:t[1],{currentSize:o=0,minSize:s=0}=n[r];if(o===s)return!1;if(Math.abs(e)>o-s){let u=e<0?-1:1;e=Math.max(0,o-s)*u}let i=n[t[0]],{currentSize:l=0}=i;i.currentSize=l+e;let a=n[t[1]],{currentSize:c=0}=a;return a.currentSize=c-e,!0}function nx(n){return Ye.default.createElement(sa,{shim:n===0,key:`placeholder-${n}`})}function BM(n,e){let{[e]:t}=n.getBoundingClientRect(),o=getComputedStyle(n).getPropertyValue(`min-${e}`),s=o.endsWith("px")?parseInt(o,10):0;return{size:t,minSize:s}}var cx=require("react/jsx-runtime"),Af="hwFlexbox",ax=(0,lx.forwardRef)(function(e,t){let{breakPoints:r,children:o,column:s,className:i,flexFill:l,gap:a,fullPage:c,id:u,onSplitterMoved:h,resizeable:d,row:f,spacing:p,splitterSize:m,style:g,...b}=e,{content:C,rootRef:v}=ox({children:o,onSplitterMoved:h,style:g}),x=(0,ix.default)(Af,i,{[`${Af}-column`]:s,[`${Af}-row`]:f,"flex-fill":l,"full-page":c});return(0,cx.jsx)("div",{...b,className:x,"data-resizeable":d||void 0,id:u,ref:(0,sx.useForkRef)(v,t),style:{...g,gap:a,"--spacing":p},children:C})});ax.displayName="Flexbox";var lu=ax;var Vx=require("react");var os={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 Kt=require("react");var fu=U(require("react"));var $f=require("@vuu-ui/vuu-utils"),pi=U(require("react"));var Vf=require("@vuu-ui/vuu-utils"),go=U(require("react"));var ss=require("react"),Wt=new Map,In=new Map,Lf=n=>Wt.get(n),Of=n=>Wt.has(n),Nf=(n,e)=>Wt.set(n,e),is=()=>{let n=(0,ss.useCallback)((i,l)=>{let a=In.get(i);if(a)return l!==void 0&&a[l]!==void 0?a[l]:l!==void 0?void 0:a},[]),e=(0,ss.useCallback)((i,l,a)=>{if(l===void 0)In.set(i,a);else if(In.has(i)){let c=In.get(i);In.set(i,{...c,[l]:a})}else In.set(i,{[l]:a})},[]),t=(0,ss.useCallback)((i,l)=>{if(In.has(i)){if(l===void 0)In.delete(i);else if(In.get(i)[l]){let{[l]:c,...u}=In.get(i);Object.keys(u).length>0?In.set(i,u):In.delete(i)}}},[]),r=(0,ss.useCallback)((i,l)=>{let a=Wt.get(i);if(a)return l!==void 0?a[l]:a},[]),o=(0,ss.useCallback)((i,l,a)=>{if(l===void 0)Wt.set(i,a);else if(Wt.has(i)){let c=Wt.get(i);Wt.set(i,{...c,[l]:a})}else Wt.set(i,{[l]:a})},[]),s=(0,ss.useCallback)((i,l)=>{if(Wt.has(i)){if(l===void 0)Wt.delete(i);else if(Wt.get(i)[l]){let{[l]:c,...u}=Wt.get(i);Object.keys(u).length>0?Wt.set(i,u):Wt.delete(i)}}},[]);return{loadSessionState:n,loadState:r,saveSessionState:e,saveState:o,purgeState:s,purgeSessionState:t}};var Bf=n=>n.flexDirection==="column"?["height","width"]:["width","height"],FM={},di=(n,e="0")=>{let[t,r]=cu(ue(n),n.props,e);return go.default.cloneElement(n,t,r)},au=(n,e)=>{let t=ue(n),[r,o]=cu(t,n.props,"0",void 0,e);return(0,go.cloneElement)(n,r,o)},zM=(n,e,t)=>{let[r,o]=cu(n,e,"0",void 0,t);return{...e,...r,type:n,children:o}};function $M(n,e,t="0",r=null,o){var m,g;let{active:s=0,"data-path":i,path:l=i,id:a,style:c}=ee(o),u=ue(o)===n&&t===l,h=u?a:(m=e.id)!=null?m:(0,Vf.uuid)(),d=n==="Stack"?(g=e.active)!=null?g:s:void 0,f=h,p=u?c:_M(n,e,r);return sf(n)?{id:h,key:f,path:t,style:p,type:n,active:d}:{id:h,key:f,style:p,"data-path":t}}function cu(n,e,t,r=null,o){var c,u;let s=$M(n,e,t,r,o);if(e.layout&&!o)return[s,[fi(e.layout,`${t}.0`)]];let i=(u=o==null?void 0:o.children)!=null?u:(c=o==null?void 0:o.props)==null?void 0:c.children,a=e.dropTarget&&i?i:WM(n,e.children,t,i);return[s,a]}function WM(n,e,t="0",r){let o=Array.isArray(e)?e:go.default.isValidElement(e)?[e]:[];return Mt(n)?o.map((s,i)=>{let l=ue(s),a=ue(r==null?void 0:r[i]);if(!a||l===a){let[c,u]=cu(l,s.props,`${t}.${i}`,n,r==null?void 0:r[i]);return go.default.cloneElement(s,c,u)}return r==null?void 0:r[i]}):e}var _M=(n,e,t)=>{let{style:r=FM}=e;if(n==="Flexbox"&&(r={flexDirection:e.column?"column":"row",...r,display:"flex"}),r.flex){let{flex:o,...s}=r;r={...s,..._c(typeof o=="number"?o:0)}}else t==="Stack"?r={...r,..._c(1)}:t==="Flexbox"&&(r.width||r.height)&&r.flexBasis===void 0&&(r={...r,flexBasis:"auto",flexGrow:0,flexShrink:0});return r};function fi({id:n=(0,Vf.uuid)(),type:e,children:t,props:r,state:o},s){let i=e.match(/^[a-z]/)?e:uo[e];if(i===void 0)throw Error(`layoutUtils unable to create component from JSON, unknown type ${e}`);return o&&Nf(n,o),go.default.createElement(i,{id:n,...r,key:n,path:s},t?t.map((l,a)=>fi(l,`${s}.${a}`)):void 0)}function Ff(n){return zf(n)}function zf(n){let e=ue(n),{id:t,children:r,type:o,...s}=ee(n),i=Of(t)?Lf(t):void 0;return{id:t,type:e,props:ux(s),state:i,children:go.default.Children.map(r,zf)}}function ux(n){if(n){let{path:e,...t}=n,r={};for(let[o,s]of Object.entries(t))r[o]=Hf(s);return r}}function Hf(n){if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")return n;if(Array.isArray(n))return n.map(Hf);if(typeof n=="object"&&n!==null){let e={};for(let[t,r]of Object.entries(n))e[t]=Hf(r);return e}}function hx(n,e){var i;let t=n.props.children,r=t.length,{index:o=-1,positionRelativeToTab:s="after"}=e.tab||{};return o===-1||o>=r?[t[r-1],"after"]:[(i=t[o])!=null?i:null,s]}function uu(n,e,t){let{active:r,children:o=[],path:s}=ee(n),i=ae(e,"path"),{idx:l,finalStep:a}=Mn(s,i,!0),[c,u]=a?KM(n,o,t):[r,o==null?void 0:o.map((d,f)=>f===l?uu(d,e,t):d)],h=ue(n)==="Stack"?Array.isArray(c)?c[0]:c:r;return pi.default.cloneElement(n,{active:h},u)}function KM(n,e,t){let r=ae(n,"path"),o=e==null?void 0:e.length,{id:s=(0,$f.uuid)()}=ee(t);return o?[o,e.concat(bt(t,`${r}.${o}`,{id:s,key:s}))]:[0,[bt(t,`${r}.0`,{id:s})]]}function hu(n,e,t,r,o,s,i){let{active:l,children:a,path:c}=ee(n),u=ae(e,"path"),{idx:h,finalStep:d}=Mn(c,u),[f,p]=d?UM(n,a,h,t,r,o,s,i):[l,a.map((g,b)=>b===h?hu(g,e,t,r,o,s,i):g)],m=ue(n)==="Stack"?f:l;return pi.default.cloneElement(n,{active:m},p)}function UM(n,e,t,r,o,s,i,l){let a=fn(r);return a!=null&&a.width&&(a!=null&&a.height)?qM(n,e,t,r,o,i,l):dx(n,e,t,r,o,(s==null?void 0:s.width)||(s==null?void 0:s.height),i)}var GM=(n,e,{top:t,right:r,bottom:o,left:s},[i,l,a,c])=>{if(n==="column"&&e==="before")return l-t;if(n==="column")return o-c;if(n==="row"&&e==="before")return i-s;if(n==="row")return r-a};function qM(n,e,t,r,o,s,i){let{style:{flexDirection:l}}=ee(n),[a,c,u]=Pf(l),{[c]:h,[a]:d}=fn(r),f=ae(e[t],"path"),p=GM(l,o,s,i),[m,g]=h<s[c]?[hi(r,u,f,s,i),d]:[r,void 0],b=p?Yn(f,p,{flexGrow:0,flexShrink:0}):void 0;return h>s[c]&&(e=e.map(C=>{if(ae(C,"placeholder"))return C;{let{[c]:v}=fn(C);return v&&v<h?hi(C,u,ae(C,"path")):C}})),dx(n,e,t,m,o,g,s,b)}function dx(n,e,t,r,o,s,i,l){let a=ae(n,"path"),c=0,u=!e||e.length===0?[r]:e.reduce((h,d,f)=>{if(t===f){let[p,m]=jM(n,d,r,i);o==="before"?l?h.push(l,m,p):h.push(m,p):l?h.push(p,m,l):h.push(p,m),c=h.indexOf(m)}else h.push(d);return h},[]).map((h,d)=>d<c?h:bt(h,`${a}.${d}`));return[c,u]}function jM(n,e,t,r){let o=(0,$f.uuid)(),{version:s=0}=ee(t);if(s+=1,ue(n)==="Flexbox"){let[i]=Bf(n.props.style),l=6,a={[i]:(r[i]-l)/2},c=ou(e,i,a),u=ou(t,i,a);return[pi.default.cloneElement(e,{style:c}),pi.default.cloneElement(t,{id:o,version:s,style:u})]}else{let{style:{left:i,top:l,flex:a,...c}={left:void 0,top:void 0,flex:void 0}}=ee(t);return[e,pi.default.cloneElement(t,{id:o,version:s,style:c})]}}var px=require("react");var aa=U(require("react"));function fx(n,{target:e,replacement:t}){return Wf(n,e,t)}function Wf(n,e,t){let r=ae(e,"path"),o=ae(e,"resizeable"),{style:s}=ee(e),i=di(aa.default.cloneElement(t,{resizeable:o,style:{...s,...t.props.style}}),r);return _t(n,e,i)}function _t(n,e,t,r){if(n===e)return t;let{idx:o,finalStep:s}=Mn(ae(n,"path"),ae(e,"path")),i=n.props.children.slice();return s?r?r===os.MINIMIZE?i[o]=QM(n,i[o]):r===os.RESTORE&&(i[o]=XM(i[o])):i[o]=t:i[o]=_t(i[o],e,t,r),aa.default.cloneElement(n,void 0,i)}function QM(n,e){let{style:t}=ee(n),{style:r}=ee(e),{width:o,height:s,flexBasis:i,flexShrink:l,flexGrow:a,...c}=r,u={width:o,height:s,flexBasis:i,flexShrink:l,flexGrow:a},h={...c,flexBasis:0,flexGrow:0,flexShrink:0},d=t.flexDirection==="row"?"vertical":t.flexDirection==="column"?"horizontal":!1;return d?aa.default.cloneElement(e,{collapsed:d,restoreStyle:u,style:h}):e}function XM(n){let{style:e,restoreStyle:t}=ee(n),{flexBasis:r,flexShrink:o,flexGrow:s,...i}=e,l={...i,...t};return aa.default.cloneElement(n,{collapsed:!1,style:l,restoreStyle:void 0})}function mx(n,{fromIndex:e,path:t,toIndex:r}){let o=it(n,t,!0),{children:s}=ee(o),i=JM(s,e,r),l=(0,px.cloneElement)(o,void 0,i);return _t(n,o,l)}function JM(n,e,t){let r=n.slice(),[o]=r.splice(e,1);return t===-1?r.concat(o):(r.splice(t,0,o),r)}var yt={ADD:"add",DRAG_START:"drag-start",DRAG_DROP:"drag-drop",LAYOUT_RESIZE:"layout-resize",MAXIMIZE:"maximize",MINIMIZE:"minimize",MOVE_CHILD:"move-child",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_PROP:"set-prop",SET_PROPS:"set-props",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAROUT:"tearout"},YM=n=>["switch-active-layout","open-layout","close-layout","rename-layout"].includes(n),ZM=n=>["switch-active-tab","edit-feature-title","save-feature-props","remove-component","resize-component","drag-drop-operation"].includes(n);var bo=U(require("react"));function _f(n,{path:e}){let t=it(n,e),r=fr(n,e);if(r===null)return n;let{children:o}=ee(r);if(o.length>1&&bx(o,e)){let{style:{flexBasis:s,display:i,flexDirection:l,...a}}=ee(r),c=ae(r,"path"),u=_t(n,r,Yn(c,s,a));for(;(r=fr(u,c))&&ae(r,"path")!=="0";){let{children:h}=ee(r);if(bx(h)){c=ae(r,"path");let{style:{flexBasis:d,display:f,flexDirection:p,...m}}=ee(r);u=_t(n,r,Yn(c,d,m))}else if(rP(h))u=vx(n,r);else break}return u}return yx(n,t)}function yx(n,e){let t=ee(n),{children:r,path:o,preserve:s}=t,{active:i}=t,{idx:l,finalStep:a}=Mn(o,ae(e,"path")),c=ue(n),u=r.slice();if(a){if(u.splice(l,1),i!==void 0&&i>=l&&(i=Math.max(0,i-1)),u.length===1&&!s&&o!=="0"&&c.match(/Flexbox|Stack/))return eP(n,u[0]);!u.some(tP)&&u.some(xx)&&(u=nP(u))}else u[l]=yx(u[l],e);return u=u.map((h,d)=>bt(h,`${o}.${d}`)),bo.default.cloneElement(n,{active:i},u)}function eP(n,e){let t=ue(n),{path:r,style:{flexBasis:o,flexGrow:s,flexShrink:i,width:l,height:a}}=ee(n),c=bt(e,r);if(r==="0")c=bo.default.cloneElement(c,{style:{...e.props.style,width:l,height:a}});else if(t==="Flexbox"){let u=n.props.style.flexDirection==="column"?"height":"width",{style:{[u]:h,...d}}=c.props;c=bo.default.cloneElement(c,{flexFill:void 0,style:{...d,flexGrow:s,flexShrink:i,flexBasis:o,width:l,height:a}})}return c}var tP=n=>n.props.style.flexGrow>0,xx=n=>{let{width:e,height:t,flexGrow:r}=n.props.style;return r===0&&typeof e!="number"&&typeof t!="number"},nP=n=>n.map(e=>xx(e)?bo.default.cloneElement(e,{style:{...e.props.style,flexGrow:1}}):e),rP=n=>{if(n&&n.length>0){let e=ae(n[0],"placeholder"),t=!1;for(let r=1;r<n.length;r++){if(t=ae(n[r],"placeholder"),e&&t)return!0;e=t}}},vx=(n,e)=>{let{children:t,path:r}=ee(n),{idx:o,finalStep:s}=Mn(r,ae(e,"path")),i=t.slice();return s?i[o]=oP(e):i[o]=vx(i[o],e),i=i.map((l,a)=>bt(l,`${r}.${a}`)),bo.default.cloneElement(n,void 0,i)},oP=n=>{let{children:e}=ee(n),t=[],r=[];for(let s=0;s<e.length;s++)ae(e[s],"placeholder")?r.push(e[s]):(r.length===1?t.push(r.pop()):r.length>0&&(t.push(gx(r)),r.length=0),t.push(e[s]));r.length===1?t.push(r.pop()):r.length>0&&t.push(gx(r));let o=ae(n,"path");return bo.default.cloneElement(n,void 0,t.map((s,i)=>bt(s,`${o}.${i}`)))},gx=([n,...e])=>{let t=ae(n,"style"),{flexBasis:r,flexGrow:o,flexShrink:s}=t;for(let{props:{style:i}}of e)r+=i.flexBasis,o=Math.max(o,i.flexGrow),s=Math.max(s,i.flexShrink);return bo.default.cloneElement(n,{style:{...t,flexBasis:r,flexGrow:o,flexShrink:s}})},bx=(n,e)=>n.every(t=>ae(t,"placeholder")||e&&ae(t,"path")===e);var du=U(require("react"));function Cx(n,{path:e,size:t}){let r=it(n,e,!0),{style:o}=ee(r),s={...o,width:t},i=du.default.cloneElement(r,{style:s});return _t(n,r,i)}function wx(n,{path:e,sizes:t}){let r=it(n,e,!0),{children:o,style:s}=ee(r),i=s.flexDirection==="column"?"height":"width",l=sP(o,t,i),a=du.default.cloneElement(r,void 0,l);return _t(n,r,a)}function sP(n,e,t){return n.map((r,o)=>{let{style:{[t]:s,flexBasis:i}}=ee(r),l=e[o],{currentSize:a,flexBasis:c}=l,h=a!==void 0?l.currentSize:c;return h===void 0||s===h||i===h?r:du.default.cloneElement(r,{style:iP(r.props.style,t,h)})})}function iP(n,e,t){let r=typeof n[e]=="number",{flexShrink:o=1,flexGrow:s=1}=n;return{...n,[e]:r?t:"auto",flexBasis:r?"auto":t,flexShrink:o,flexGrow:s}}var Sx=require("@vuu-ui/vuu-utils"),ca=U(require("react"));var Tx=n=>{let[e]=ue(n);return e===e.toLowerCase()};function ua(n,e,t,r,o,s){let{children:i,path:l}=ee(n),a=ae(e,"path"),{idx:c,finalStep:u}=Mn(l,a),h=u?lP(n,i,e,t,r,o,s):i.map((d,f)=>f===c?ua(d,e,t,r,o,s):d);return ca.default.cloneElement(n,void 0,h)}function lP(n,e,t,r,o,s,i){let l=fn(r);if(l!=null&&l.width&&(l!=null&&l.height)){if(s===void 0||i===void 0)throw Error("wrap-layout-element, updateChildren clientRect and dropRect must both be available");return cP(e,t,r,o,s,i)}return aP(n,e,t,r,o)}function aP(n,e,t,r,o){var y;let{version:s=0}=ee(r),i=ae(t,"path"),{type:l,flexDirection:a,showTabs:c}=Rx(o),[u,h,d]=uP(l,t,r,a,o),f=Ex(o),p=f?1:0,m={resizeable:!0,style:d,version:s+1},b={[Tx(t)?"data-resizeable":"resizeable"]:!0,style:h},C=l==="Stack"?{showTabs:c}:void 0,v=l==="Flexbox"?{splitterSize:(y=ue(n)==="Flexbox"&&n.props.splitterSize)!=null?y:void 0}:void 0,x=(0,Sx.uuid)(),w=ca.default.createElement(uo[l],{active:p,id:x,key:x,path:ae(t,"path"),flexFill:ae(t,"flexFill"),...v,...C,style:u,resizeable:ae(t,"resizeable")},f?[bt(t,`${i}.0`,b),di(ca.default.cloneElement(r,m),`${i}.1`)]:[di(ca.default.cloneElement(r,m),`${i}.0`),bt(t,`${i}.1`,b)]);return e.map(S=>S===t?w:S)}function cP(n,e,t,r,o,s){let{flexDirection:i}=Rx(r),l=i==="column"?"row":"column",a=Ex(r),[c,u,h,d]=s,[f,p]=i==="column"?[u-o.top,o.bottom-d]:[c-o.left,o.right-h],m=ae(e,"path"),g=0,b=Tx(e)?"data-resizeable":"resizeable",C=[];f&&C.push(a?bt(e,`${m}.${g++}`,{[b]:!0,style:{flexBasis:f,flexGrow:1,flexShrink:1}}):Yn(`${m}.${g++}`,f,{flexGrow:0,flexShrink:0})),C.push(hi(t,l,`${m}.${g++}`,o,s)),p&&C.push(a?Yn(`${m}.${g++}`,0):bt(e,`${m}.${g++}`,{[b]:!0,style:{flexBasis:0,flexGrow:1,flexShrink:1}}));let v=su(i,e.props,C,m);return n.map(x=>x===e?v:x)}function uP(n,e,t,r,o){let s={...e.props.style,flexDirection:r},i=n==="Flexbox"&&r==="column"?"height":"width",l=ru(t,i,o),a=ru(e,i);return[s,a,l]}var Ex=n=>{var e;return n.position.SouthOrEast?!0:((e=n==null?void 0:n.tab)==null?void 0:e.positionRelativeToTab)==="before"?!1:!!n.position.Header};function Rx(n){return n.position.Header?{type:"Stack",flexDirection:"column",showTabs:!0}:{type:"Flexbox",flexDirection:n.position.EastOrWest?"row":"column"}}var Kf=(n,e)=>{switch(e.type){case yt.ADD:return mP(n,e);case yt.DRAG_DROP:return pP(n,e);case yt.MAXIMIZE:return fP(n,e);case yt.REMOVE:return _f(n,e);case yt.REPLACE:return fx(n,e);case yt.SET_PROP:return Dx(n,e);case yt.SET_PROPS:return dP(n,e);case yt.SET_TITLE:return Dx(n,{type:"set-prop",path:e.path,propName:"title",propValue:e.title});case yt.SPLITTER_RESIZE:return wx(n,e);case yt.LAYOUT_RESIZE:return Cx(n,e);case yt.SWITCH_TAB:return hP(n,e);case yt.MOVE_CHILD:return mx(n,e);default:return n}},hP=(n,{path:e,nextIdx:t})=>{let r=it(n,e,!0),o=fu.default.cloneElement(r,{active:t});return _t(n,r,o)},Dx=(n,{path:e,propName:t,propValue:r})=>{let o=it(n,e,!0),s=fu.default.cloneElement(o,{[t]:r});return _t(n,o,s)},dP=(n,{path:e,props:t})=>{let r=it(n,e,!0),o=fu.default.cloneElement(r,t);return _t(n,r,o)},fP=(n,{path:e,type:t})=>{if(e){let r=it(n,e,!0);return _t(n,r,r,t)}else return n},pP=(n,e)=>{var p,m;let{draggedReactElement:t,dragInstructions:r,dropTarget:o}=e,s=o.component,{pos:i}=o,l=((p=i==null?void 0:i.position)==null?void 0:p.Header)&&ue(s)==="Stack",{id:a,version:c}=ee(t),u=fn(t),h;if(l){let[g,b]=hx(s,i);g===void 0?h=uu(n,s,t):h=hu(n,g,t,b)}else!u&&((m=i==null?void 0:i.position)!=null&&m.Centre)?h=Wf(n,s,t):h=gP(n,o,t);if(r.DoNotRemove)return h;let d=pr(h,g=>g.id===a&&g.version===c),f=ae(d,"path");return _f(h,{path:f,type:"remove"})},mP=(n,{path:e,component:t})=>uu(n,it(n,e),t),gP=(n,e,t)=>{let{component:r,pos:o,clientRect:s,dropRect:i}=e,l=ae(r,"path");if(l==="0.0")return ua(n,r,t,o);let a=fr(n,l);if(kx(o,a)){let c=o.position.SouthOrEast?"after":"before";return hu(n,r,t,c,o,s,i)}if(!kx(o,a))return ua(n,r,t,o,s,i);if(Mt(ue(a)))return ua(n,r,t,o);throw Error(`no support right now for position = ${o.position}`)},kx=(n,e)=>n.position.Centre?Px(e)||Mx(e):n.position.NorthOrSouth?Mx(e):n.position.EastOrWest?Px(e):!1,Mx=n=>ue(n)==="Flexbox"&&n.props.style.flexDirection==="column",Px=n=>ue(n)==="Flexbox"&&n.props.style.flexDirection!=="column";var Ix=require("react"),bP=n=>console.log(`dispatch ${n.type}, have you forgotten to provide a LayoutProvider ?`),mi=(0,Ix.createContext)({dispatchLayoutProvider:bP,version:-1});var Fr=require("react");var yP={},Ax=[0,0],xP=(n,e,t)=>{let r=document.createElement("div");r.className="vuuSimpleDraggableWrapper",r.classList.add("vuuSimpleDraggableWrapper","salt-theme","salt-density-medium"),r.dataset.dragging="true";let o=t!=null?t:document.createElement("div");o.id=e,r.appendChild(o),document.body.appendChild(r);let s=`top:${n.top}px;left:${n.left}px;width:${n.width}px;height:${n.height}px;`;return[r,s,n.left,n.top]},vP=n=>{let{offsetParent:e}=n;if(e===null)return Ax;{let{left:t,top:r}=e.getBoundingClientRect();return[t,r]}},Lx=(n,e,t)=>{let r=(0,Fr.useRef)(),o=(0,Fr.useRef)(),s=(0,Fr.useRef)(),i=(0,Fr.useCallback)((u,h)=>{if(o.current&&s.current){let{dragOffsets:[d,f],targetPosition:p}=o.current,m=typeof u=="number"?u-d:p.left,g=typeof h=="number"?h-f:p.top;(m!==p.left||g!==p.top)&&(o.current.targetPosition.left=m,o.current.targetPosition.top=g,s.current.style.top=g+"px",s.current.style.left=m+"px")}},[]),l=(0,Fr.useCallback)(u=>{if(o.current){let{dragInstructions:h,payload:d,originalCSS:f}=o.current;u&&e({type:"drag-drop",draggedReactElement:d,dragInstructions:h,dropTarget:u}),s.current&&(!u&&h.DriftHomeIfNoDropTarget?(console.log("drift back to start"),document.body.removeChild(s.current)):h.RemoveDraggableOnDragEnd?document.body.removeChild(s.current):(s.current.style.cssText=f,delete s.current.dataset.dragging)),r.current=void 0,o.current=void 0,s.current=void 0}},[e]),a=(0,Fr.useCallback)(u=>{if(r.current){let{payload:h,dragContainerPath:d,dragElement:f,dragRect:p,instructions:m=yP,path:g}=r.current,{current:b}=n,C={x:u.clientX,y:u.clientY},v=h!=null?h:it(b,g,!0),{id:x}=v.props,w=fn(v),y="",S="",D="",k=-1,E=-1,N=Ax,T=document.getElementById(x);if(T===null)[T,S,k,E]=xP(p,x,f);else{N=vP(T);let[M,P]=N,{width:L,height:O,left:I,top:A}=T.getBoundingClientRect();k=I-M,E=A-P,S=`width:${L}px;height:${O}px;left:${k}px;top:${E}px;z-index: 100;background-color:#ccc;opacity: 0.6;`,T.dataset.dragging="true",y=T.style.cssText}D=eu.initDrag(n.current,d,p,C,{drag:i,drop:l},w),T.style.cssText=S+D,s.current=T,o.current={payload:v,originalCSS:y,dragRect:p,dragOffsets:N,dragInstructions:m,targetPosition:{left:k,top:E}}}},[i,l,n]);return(0,Fr.useCallback)(u=>{let{evt:h,...d}=u;r.current={...d,dragContainerPath:Wc(n.current,t)},eu.handleMousedown(h,a,d.instructions)},[a,t,n])};var Gf=require("react/jsx-runtime"),Ox=n=>n.dropTarget,CP=n=>["drag-drop","remove","set-title","splitter-resize","switch-tab"].includes(n.type),Nx=n=>{switch(n.type){case"switch-tab":return n.id==="main-tabs"?"switch-active-layout":"switch-active-tab";case"save":return"save-feature-props";case"drag-drop":return"drag-drop-operation";case"remove":return"remove-component";case"splitter-resize":return"resize-component";case"set-title":return"edit-feature-title";default:throw Error("unknown layout action")}},wP=()=>{let n=Hx();return(0,Gf.jsx)("div",{children:`Context: ${n} `})},SP=n=>{let{children:e,createNewChild:t,pathToDropTarget:r,layout:o,onLayoutChange:s}=n,i=(0,Kt.useRef)(void 0),l=(0,Kt.useRef)(e),[,a]=(0,Kt.useState)(null),c=(0,Kt.useCallback)((f,p)=>{if(console.log(`serialize state ${p}`),s){let m=pr(f,Ox)||i.current,b=ue(m)==="DraggableLayout"?ee(m).children[0]:m,C=Ff(b);s(C,p)}},[s]),u=(0,Kt.useCallback)((f,p=!1)=>{let m=Kf(i.current,f);m!==i.current&&(i.current=m,a({}),!p&&CP(f)&&c(m,Nx(f)))},[a,c]),h=(0,Kt.useCallback)(f=>{switch(f.type){case"drag-start":{d(f);break}case"save":{c(i.current,Nx(f));break}default:{u(f);break}}},[u,c]),d=Lx(i,h,r);return(0,Kt.useEffect)(()=>{if(o){let f=pr(i.current,Ox);if(f){let p=hf(f),m=fi(o,`${f.props.path}.0`),g=p?{type:yt.REPLACE,target:p,replacement:m}:{type:yt.ADD,path:f.props.path,component:m};u(g,!0)}else if(o.id===ae(i.current,"id")){let p=fi(o,"0"),m={type:yt.REPLACE,target:i.current,replacement:p};u(m,!0)}}},[u,o]),i.current===void 0?i.current=au(e):e!==l.current&&(i.current=au(e,i.current),l.current=e),(0,Gf.jsx)(mi.Provider,{value:{createNewChild:t,dispatchLayoutProvider:h,version:0},children:i.current})},pn=()=>{let{dispatchLayoutProvider:n}=(0,Kt.useContext)(mi);return n},Uf=()=>{let{createNewChild:n}=(0,Kt.useContext)(mi);return n},Hx=()=>{let{version:n}=(0,Kt.useContext)(mi);return n};var Bx=require("react/jsx-runtime"),qf=function(e){let{path:t}=e,r=pn(),o=(0,Vx.useCallback)(s=>{r({type:os.SPLITTER_RESIZE,path:t,sizes:s})},[r,t]);return(0,Bx.jsx)(lu,{...e,onSplitterMoved:o})};qf.displayName="Flexbox";Je("Flexbox",qf,"container");var Ux=require("@salt-ds/core"),Gx=U(require("classnames")),mu=require("react");var Zn=require("react");var as=require("react"),Qf=["height","width"],TP=["height"],EP=["width"],ls=new WeakMap,Fx=(n,e,t)=>{switch(t){case"height":return e.height;case"scrollHeight":return n.scrollHeight;case"scrollWidth":return n.scrollWidth;case"width":return e.width;default:return 0}},jf=new ResizeObserver(n=>{for(let e of n){let{target:t,contentRect:r}=e,o=ls.get(t);if(o){let{onResize:s,measurements:i}=o,l=!1;for(let[a,c]of Object.entries(i)){let u=Fx(t,r,a);u!==c&&(l=!0,i[a]=u)}l&&s&&s(i)}}});function ha(n,e,t,r=!1){let o=(0,as.useRef)(e),s=(0,as.useCallback)(i=>{let l=i.getBoundingClientRect();return o.current.reduce((a,c)=>(a[c]=Fx(i,l,c),a),{})},[]);(0,as.useLayoutEffect)(()=>{let i=n.current,l=!1;async function a(){ls.set(i,{measurements:{}}),l=!1;let{fonts:c}=document;if(c&&await c.ready,!l){let u=ls.get(i);if(u){let h=s(i);u.measurements=h,jf.observe(i),r&&t(h)}}}if(i){if(ls.has(i))throw Error("useResizeObserver attemping to observe same element twice");a()}return()=>{i&&ls.has(i)&&(jf.unobserve(i),ls.delete(i),l=!0)}},[n,s,r,t]),(0,as.useLayoutEffect)(()=>{let i=n.current,l=ls.get(i);if(l){if(o.current!==e){o.current=e;let a=s(i);l.measurements=a}l.onResize=t}},[e,s,n,t])}function RP(n,e){let t=document.body.querySelector(`.${n}`),r={get:function(o,s){let i=o.getPropertyValue(`--${n}-breakpoint-${s}`);return i?parseInt(i):void 0}};return t?new Proxy(getComputedStyle(t),r):e!=null?e:{}}var DP=([,n],[,e])=>e-n,Jf=n=>Object.entries(n).sort(DP).map(([e,t],r,o)=>[e,t,r<o.length-1?o[r+1][1]:9999]),Xf=null,kP=(n="salt")=>{let{xs:e,sm:t,md:r,lg:o,xl:s}=RP(n);return Jf({xs:e,sm:t,md:r,lg:o,xl:s})},zx=n=>(Xf===null&&(Xf=kP(n)),Xf);var MP=[],Yf=({breakPoints:n,smallerThan:e},t)=>{let[r,o]=(0,Zn.useState)(e?!1:"lg"),s=(0,Zn.useRef)(document.body),i=(0,Zn.useRef)(n?Jf(n):zx()),l=(0,Zn.useRef)("lg"),a=(0,Zn.useCallback)(u=>{if(i.current){for(let[h,d]of i.current)if(u>=d)return h}},[i]),c=(0,Zn.useCallback)(u=>{if(e){let h=i.current.find(([d])=>d===e);if(h){let[,,d]=h;return u<d}}else return a(u);return u},[e,a]);return ha(t||s,i.current?["width"]:MP,({width:u})=>{let h=c(u);h!==l.current&&(l.current=h,o(h))},!0),(0,Zn.useEffect)(()=>{let u=t||s;if(u.current){let h=l.current;if(i.current){let{clientWidth:d}=u.current,f=c(d);l.current=f,f!==h&&o(f)}}},[o,c,t]),r};var $x="data-collapsible",PP={[$x]:!0,"data-pad-start":!0,"data-pad-end":!0},Wx=n=>{var e;return(e=PP[n])!=null?e:!1},IP=n=>n===$x,AP={dynamic:"dynamic",instant:"instant",true:"instant"},LP=n=>{var e;return(e=AP[n])!=null?e:"none"},OP=n=>Object.keys(n).reduce((e,t)=>{let[r,o]=e;if(Wx(t)){let s=IP(t)?LP(n[t]):n[t];r[t]=s,o[t]=void 0}return e},[{},{}]);var _x=require("@vuu-ui/vuu-utils"),mn=require("react");var NP=["xs","sm","md","lg","xl"],HP=12,Kx=({children:n,cols:e,style:t})=>{let r=(0,mn.useRef)(null),o=(0,mn.useRef)(null),s=(0,mn.useRef)(),i=e!=null?e:HP,a=(t==null?void 0:t.flexDirection)==="column"?"height":"width",c=(0,mn.useMemo)(()=>Array.isArray(n)?n:(0,mn.isValidElement)(n)?[n]:[],[n]),u=(0,mn.useCallback)((h,d)=>{let f=iu(h,d,NP),p=[],m=[];for(let g=0;g<h.length;g++){let b=h[g],{style:{flex:C,...v}}=b.props;p.push((0,mn.cloneElement)(b,{key:(0,_x.getUniqueId)(),style:{...v,"--parent-col-count":i}})),m.push(f[g])}return[p,m]},[i]);return(0,mn.useMemo)(()=>{let[h,d]=u(c,a);o.current=d,s.current=h},[u,c,a]),{cols:i,content:s.current,rootRef:r}};var qx=require("react/jsx-runtime"),pu="hwFluidGrid",gu=(0,mu.forwardRef)(function(e,t){let{breakPoints:r,children:o,column:s,cols:i=12,className:l,flexFill:a,gap:c=3,fullPage:u,id:h,onSplitterMoved:d,resizeable:f,row:p,showGrid:m,spacing:g,splitterSize:b,style:C,...v}=e,x=(0,mu.useMemo)(()=>Hr(o),[o]),{cols:w,content:y,rootRef:S}=Kx({children:x,cols:i,style:C}),D=Yf({breakPoints:r},S),k=(0,Gx.default)(pu,l,{[`${pu}-column`]:s,[`${pu}-row`]:p,[`${pu}-show-grid`]:m,"flex-fill":a,"full-page":u}),E={...C,"--spacing":g,"--grid-col-count":w,"--grid-gap":c};return(0,qx.jsx)("div",{...v,className:k,"data-breakpoint":D,"data-cols":w,"data-resizeable":f||void 0,id:h,ref:(0,Ux.useForkRef)(S,t),style:E,children:y})});gu.displayName="FluidGrid";var jx=require("react/jsx-runtime"),Zf=function(e){return(0,jx.jsx)(gu,{...e})};Zf.displayName="FluidGrid";Je("FluidGrid",Zf,"container");var EC=require("@salt-ds/core"),Di=require("react");var gi=require("react"),Jx=require("react/jsx-runtime"),Qx=(0,gi.createContext)(void 0);function bu({children:n,collectionHook:e,...t}){return(0,Jx.jsx)(Qx.Provider,{value:e,children:Object.keys(t).length>0?(0,gi.cloneElement)(n,t):n})}function Xx(){let n=(0,gi.useContext)(Qx);if(n)return n}var VP=n=>Object.prototype.toString.call(n)==="[object Object]";function An(n){return typeof n=="string"?n:VP(n)?Object.prototype.hasOwnProperty.call(n,"label")?String(n.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(`
18
+ `)),""):String(n)}var yo=require("react");var Zx=["width"],ev=["height"],cs=new Map,tv=(n,e,t)=>{switch(t){case"height":return e.height;case"clientHeight":return n.clientHeight;case"clientWidth":return n.clientWidth;case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(n.scrollHeight);case"scrollWidth":return Math.ceil(n.scrollWidth);case"width":return e.width;default:return 0}};var Yx=new ResizeObserver(n=>{for(let e of n){let{target:t,borderBoxSize:r,contentBoxSize:o}=e,s=cs.get(t);if(s){let[{blockSize:i,inlineSize:l}]=r,[{blockSize:a,inlineSize:c}]=o,{onResize:u,measurements:h}=s,d=!1;for(let[f,p]of Object.entries(h)){let m=tv(t,{height:i,width:l,contentHeight:a,contentWidth:c},f);m!==p&&(d=!0,h[f]=m)}d&&u&&u(h)}}});function zr(n,e,t,r=!1){let o=(0,yo.useRef)(e),s=n.current,i=(0,yo.useCallback)(l=>{let{width:a,height:c}=l.getBoundingClientRect(),{clientWidth:u,clientHeight:h}=l;return o.current.reduce((d,f)=>(d[f]=tv(l,{width:a,height:c,contentHeight:h,contentWidth:u},f),d),{})},[]);(0,yo.useLayoutEffect)(()=>{async function l(){cs.set(s,{measurements:{}}),await document.fonts.ready;let a=cs.get(s);if(a){let c=i(s);a.measurements=c,Yx.observe(s),r&&t(c)}else console.log("%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation","font-weight:bold; color:red;")}return s&&(cs.has(s)&&console.log("useResizeObserver attemping to observe same element twice",{target:s}),l()),()=>{s&&cs.has(s)&&(Yx.unobserve(s),cs.delete(s))}},[i,s]),(0,yo.useEffect)(()=>{let l=n.current,a=cs.get(l);if(a){if(o.current!==e){o.current=e;let c=i(l);a.measurements=c}a.onResize=t}},[e,i,n,t])}var yu=n=>n==="none",nv=(n,e=!1)=>n==="multiple"||n==="multiple-special-key"&&e,ep=n=>n!=="none"&&n!=="default",xo=n=>Array.isArray(n)?n.length>0:n!=null,rv=n=>Array.isArray(n)?n[0]:n;var De=require("react");var bi=require("react");var ov=n=>null;var sv=n=>null;var tp=(n,e)=>n!==null&&Object.prototype.hasOwnProperty.call(n,e),np=n=>tp(n,"header"),iv=n=>tp(n,"childNodes"),da=(n,e)=>n&&Object.prototype.hasOwnProperty.call(n.props,e),lv=n=>{if((0,bi.isValidElement)(n)){if(da(n,"disabled"))return n.props.disabled===!0}else if(tp(n,"disabled"))return n.disabled===!0;return!1},av=n=>(0,bi.isValidElement)(n)&&da(n,"focusable")?n.props.focusable:!0,cv=(n,e,t)=>{if(n.childNodes)return n.childNodes.length;if(n.header){let r=t+1,o=0;for(;r<e.length&&!e[r].header;)o++,r++;return o}else return 0},BP=n=>{if(typeof n.props.children=="string")return n.props.children;if(n.props.title)return n.props.title;if(n.props.label)return n.props.label},uv=n=>n.type===sv||da(n,"data-header"),hv=n=>n.type===ov||da(n,"data-group"),FP=n=>da(n,"selectable")?n.props.selectable===!0:!hv(n)&&!uv(n),zP=n=>{if(hv(n)){let{props:{children:e}}=n;if(typeof e!="string")return op(e)}},$P=(n,e)=>{let t=[];return bi.Children.forEach(n,r=>{(0,bi.isValidElement)(r)&&t.push(e(r))}),t},rp=(n,e)=>{if(Array.isArray(n))return n.length===0&&(e!=null&&e.noChildrenLabel)?[{label:e.noChildrenLabel,value:null}]:n.map((t,r)=>{var o,s;return{childNodes:rp(t.childNodes,e),description:t.description,expanded:t.expanded,value:t,label:(s=(o=e==null?void 0:e.itemToString)==null?void 0:o.call(e,t))!=null?s:An(t)}});if(n)throw Error("list-child-items expects source to be an array")},op=n=>{if(n)return $P(n,e=>{let{"data-id":t,disabled:r,id:o=t,"data-expanded":s,expanded:i=s}=e.props;return{childNodes:zP(e),disabled:r,expanded:i,header:uv(e),id:o,label:BP(e),selectable:FP(e),value:e}})},WP=new Set(["/","-","."]),_P=n=>WP.has(n),dv=(n,e)=>e.startsWith(n)&&_P(e[n.length]),KP=new Set([".","/"]);function UP(n,e){return e.startsWith(n)?KP.has(e.charAt(n.length)):!1}function xu(n,e,t){let r;return n.map(s=>s.id===e?{...s,...t}:UP(s.id,e)&&s.childNodes?(r=xu(s.childNodes,e,t),{...s,childNodes:r}):s)}var GP=/[.*+?^${}()|[\]\\]/g;function vu(n){return n.replace(GP,"\\$&")}var yi=(n,e)=>Object.keys(n).reduce((r,o)=>{let s=n[o],i=e[o];return typeof s=="function"&&typeof i=="function"&&(r[o]=(...l)=>{s(...l),i(...l)}),r},{...e});var qP=n=>n&&n.replace(/^\s+/g,""),sp=n=>new RegExp(`(${vu(qP(n))})`,"gi"),fv=(n="",e=sp)=>(t="")=>!!t.length&&!!n.length&&t.match(e(n))!==null;function Cu(n,e){return Array.isArray(n)?n.includes(e.id):n===e.id}var Ln=require("react");function wu({controlled:n,default:e,name:t,state:r="value"}){let{current:o}=(0,Ln.useRef)(n!==void 0),[s,i]=(0,Ln.useState)(e),l=n!==void 0?n:s,{current:a}=(0,Ln.useRef)(e);(0,Ln.useEffect)(()=>{},[r,t,n]),(0,Ln.useEffect)(()=>{},[JSON.stringify(e,jP)]);let c=(0,Ln.useCallback)(u=>{o||i(u)},[o]);return[l,c,o]}function jP(n,e){return(0,Ln.isValidElement)(e)?null:e}var QP={},vo=({children:n,id:e,options:t=QP,source:r})=>{var O;let{getItemId:o}=t,[,s]=(0,De.useState)(null),i=Xx(),l=(0,De.useRef)([]),a=(0,De.useRef)([]),c=(0,De.useMemo)(()=>[],[]),u=(0,De.useRef)((O=t.filterPattern)!=null?O:""),{getFilterRegex:h=sp,noChildrenLabel:d,itemToString:f=An}=t,p=(0,De.useCallback)(()=>t.defaultExpanded||!1,[t.defaultExpanded]),m=(0,De.useCallback)((I,A,H=1,V="",z=[],$=[],q=[])=>(I.forEach((Q,J,G)=>{var Ct,ze;let Y=Q.header&&t.collapsibleHeaders,ge=Q.childNodes&&t.collapsibleHeaders===!1,de=!Q.childNodes||Q.childNodes.length===0,Ge=ge||de&&!Y,Re=V?`${V}.${J}`:`item-${J}`,$e=(Ct=Q.id)!=null?Ct:o?o(J):`${e}-${Re}`,Ae=Ge?void 0:(ze=Q.expanded)!=null?ze:p(),Fe={...Q,childNodes:void 0,count:!ge&&Ae===void 0?0:cv(Q,G,J),description:Q.description,disabled:lv(Q.value),focusable:av(Q.value)?void 0:!1,id:$e,index:A.value,expanded:Ae,level:H};if(z.push(Fe),$.push(Fe),q.push(I[J].value),A.value+=1,Q.childNodes){let[pt]=m(Q.childNodes,A,H+1,Re,[],$,q);Fe.childNodes=pt}}),[z,q,$]),[t.collapsibleHeaders,o,e,p]),g=(0,De.useCallback)(()=>u.current?fv(u.current,h):null,[h]),b=(0,De.useCallback)((I,A=g(),H=[],V={value:0})=>{let z=!1;for(let $ of I)z&&!np($)||($.value!==null&&(A===null||A(f($.value)))&&(H[V.value]=$,V.value+=1),z=!1,np($)&&$.expanded===!1?z=!0:iv($)&&$.expanded!==!1&&$.childNodes&&b($.childNodes,A,H,V));return H},[g,f]),C=(0,De.useMemo)(()=>i?c:rp(r,{itemToString:f,noChildrenLabel:d})||op(n)||[],[i,c,r,f,d,n]),[v,x,w]=(0,De.useMemo)(()=>i?[c,c,c]:m(C,{value:0}),[c,m,i,C]);a.current=w,(0,De.useMemo)(()=>i?c:l.current=b(v),[c,b,v,i]);let y=(0,De.useRef)(v),S=(0,De.useCallback)((I="")=>{typeof I=="string"&&(u.current=I,l.current=b(v),s({}))},[v,b]),D=(0,De.useCallback)((I,A=v)=>{let H=A.find(V=>{var z;return V.id===I||((z=V==null?void 0:V.childNodes)==null?void 0:z.length)&&dv(V.id,I)});if((H==null?void 0:H.id)===I)return x==null?void 0:x[H.index];if(H)return D(I,H.childNodes);throw Error(`useCollectionData itemById, id ${I} not found `)},[x,v]),k=(0,De.useCallback)(I=>{let A=a.current.find(H=>(0,De.isValidElement)(H.value)?H.label===I:H.value===I);if(A)return A;throw Error("useCollectionData toCollectionItem, item not found ")},[]),E=(0,De.useCallback)(I=>{if(I===null)return null;if(Array.isArray(I)){let A=[];for(let H of I){let V=k(H);A.push(V)}return A}else if(I!==void 0)return k(I)},[k]),N=(0,De.useCallback)(I=>{if(I===void 0)return;let A=E(I);return Array.isArray(A)?A.map(H=>H.id):A?A.id:null},[E]),T=(0,De.useCallback)(I=>{let A=H=>{let V=a.current.find(z=>(0,De.isValidElement)(z.value)?z.label===H:z.value!==null&&f(z.value)===H);if(V)return V};if(I===null)return null;if(Array.isArray(I)){let H=[];for(let V of I){let z=A(V);z&&H.push(z)}return H}else if(I!==void 0)return A(I)},[f]),M=(0,De.useCallback)(I=>{for(let A of y.current)if(I===A.value)return A.id;throw Error("useCollectionData itemToId, item not found")},[]),P=(0,De.useCallback)(I=>{y.current=xu(y.current,I.id,{expanded:!1}),l.current=b(y.current),s({})},[b]),L=(0,De.useCallback)(I=>{y.current=xu(y.current,I.id,{expanded:!0}),l.current=b(y.current),s({})},[b]);return i||{collapseGroupItem:P,data:l.current,expandGroupItem:L,setFilterPattern:S,itemById:D,itemToId:M,toCollectionItem:k,itemToCollectionItem:E,itemToCollectionItemId:N,stringToCollectionItem:T}};var ip=U(require("classnames")),gv=require("@salt-ds/core"),$r=require("react");var Su=require("@salt-ds/core"),On=require("react");var fa=require("react"),XP=[],pv=({popperRef:n,rootRef:e,isOpen:t,onClose:r})=>{let o=(0,fa.useRef)(t);(0,fa.useEffect)(()=>{o.current=t},[t]),(0,fa.useEffect)(()=>{let[s,i]=t?[l=>{var c,u;let a=l.target;!((c=n.current)!=null&&c.contains(a))&&!((u=e.current)!=null&&u.contains(a))&&r()},l=>{l.key==="Escape"&&o.current&&(r(),l.stopPropagation())}]:XP;return s&&i&&(document.body.addEventListener("mousedown",s,!0),document.body.addEventListener("keydown",i,!0)),()=>{s&&i&&(document.body.removeEventListener("mousedown",s,!0),document.body.removeEventListener("keydown",i,!0))}},[t,r,n,e])};var JP=[],mv=({defaultIsOpen:n,disabled:e,fullWidth:t,id:r,isOpen:o,onOpenChange:s,onKeyDown:i,openKeys:l=["Enter","ArrowDown"," "],openOnFocus:a,popupComponent:c,popupWidth:u,rootRef:h,width:d})=>{var L;let f=(0,On.useRef)(null),p=(0,On.useRef)(null),m=(0,On.useCallback)(O=>{p.current=O},[]),[g,b]=(0,Su.useControlled)({controlled:o,default:!!n,name:"useDropdown",state:"isOpen"}),[C,v]=(0,On.useState)({width:(L=u!=null?u:d)!=null?L:0}),x=(0,On.useCallback)(()=>{b(!0),s==null||s(!0)},[s,b]),w=(0,On.useCallback)(()=>{b(!1),s==null||s(!1)},[s,b]);pv({popperRef:p,rootRef:h,isOpen:g,onClose:w});let y=(0,On.useCallback)(()=>{e||a&&(b(!0),s==null||s(!0),f.current=window.setTimeout(()=>{f.current=null},1e3))},[e,s,a,b]),S=(0,On.useCallback)(O=>{if(["Enter"," "].indexOf(O.key)===-1){let I=!g;b(I),s==null||s(I)}},[g,b,s]),D=(0,On.useCallback)(O=>{(O.key==="Tab"||O.key==="Escape")&&g?(O.key==="Escape"&&(O.stopPropagation(),O.preventDefault()),w()):l.includes(O.key)&&!g?(O.preventDefault(),x()):i==null||i(O)},[w,g,i,l,x]),k=t!=null?t:!1;zr(h,k?Zx:JP,v,k);let N=`${r}-dropdown`,T={"aria-expanded":g,"aria-owns":g?N:void 0,id:`${r}-control`,onClick:e||a?void 0:S,onFocus:y,role:"listbox",onKeyDown:e?void 0:D,style:{width:k?void 0:d}},M={id:N,width:C.width},P=(0,Su.useForkRef)(m,p);return{componentProps:M,popupComponentRef:P,isOpen:g,label:"Dropdown Button",triggerProps:T}};var Eu=require("@vuu-ui/vuu-popups");var pa=require("react/jsx-runtime"),Tu="vuuDropdown",Ru=(0,$r.forwardRef)(function({"aria-labelledby":e,children:t,className:r,defaultIsOpen:o,disabled:s,fullWidth:i,id:l,isOpen:a,onKeyDown:c,onOpenChange:u,openKeys:h,openOnFocus:d,placement:f="below",popupWidth:p,width:m,...g},b){let C=(0,$r.useRef)(null),v=(0,ip.default)(Tu,r,{[`${Tu}-fullWidth`]:i,[`${Tu}-disabled`]:s}),[x,w]=$r.Children.toArray(t),y=lt(l),{componentProps:S,isOpen:D,popupComponentRef:k,triggerProps:E}=mv({ariaLabelledBy:e,defaultIsOpen:o,disabled:s,fullWidth:i,id:y,isOpen:a,onOpenChange:u,onKeyDown:c,openKeys:h,openOnFocus:d,popupComponent:w,popupWidth:p,rootRef:C,width:m}),N=()=>{let{id:P,role:L,...O}=E,{id:I=P,role:A=L,...H}=x.props;return(0,$r.cloneElement)(x,yi(H,{...O,id:I,role:A}))},T=()=>{let{id:P,width:L,...O}=S,{className:I,id:A=P,width:H,...V}=w.props;return(0,$r.cloneElement)(w,{...V,...O,className:(0,ip.default)(I,`${Tu}-popup-component`),id:A,ref:k,width:H!=null?H:L})},M=(0,gv.useForkRef)(C,b);return(0,pa.jsxs)("div",{...g,className:v,id:l,ref:M,children:[N(),D&&(0,pa.jsx)(Eu.Portal,{children:(0,pa.jsx)(Eu.PopupComponent,{anchorElement:C,placement:f,children:T()})})]})});var bv=require("@salt-ds/core"),yv=U(require("classnames")),xv=require("react");var xi=require("react/jsx-runtime"),ma="vuuDropdownButton",vv=(0,xv.forwardRef)(function({ariaHideOptionRole:e,className:t,disabled:r,icon:o="chevron-down",isOpen:s,label:i,labelId:l,fullWidth:a,posInSet:c,setSize:u,labelAriaAttributes:h,...d},f){return(0,xi.jsx)(bv.Button,{className:(0,yv.default)(ma,{[`${ma}-fullWidth`]:a},t),disabled:r,variant:"secondary",...d,ref:f,children:(0,xi.jsxs)("div",{className:`${ma}-content`,children:[(0,xi.jsx)("span",{"aria-hidden":e?"true":void 0,...h,className:`${ma}-buttonLabel`,id:l,role:"option",children:i}),(0,xi.jsx)("span",{className:`${ma}-buttonIcon`,"data-icon":o,"aria-hidden":"true"})]})})});var vC=require("@salt-ds/core"),_r=require("react");function YP(n,...e){let t=new Set(n);for(let r of e)for(let o of r)t.add(o);return t}var ga="ArrowUp",ba="ArrowDown",Cv="ArrowLeft",wv="ArrowRight",lp="Enter";var Du="Home",ya="End",ap="PageUp",ku="PageDown",Sv=" ",ZP=new Set(["Enter","Delete"," "]),eI=new Set(["Tab"]),tI=new Set(["ArrowRight","ArrowLeft"]),Tv=new Set([Du,ya,ap,ku,ba,ga]),nI=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),rI=YP(ZP,Tv,tI,nI,eI),Mu=n=>rI.has(n.key)?!1:n.key.length===1&&!n.ctrlKey&&!n.metaKey&&!n.altKey,Ev=({key:n})=>Tv.has(n);var cp=require("react");var oI={},sI=n=>Array.isArray(n.childNodes),iI=n=>!0,lI=n=>n.closest("[data-toggle],[aria-expanded]").dataset.toggle==="true",Rv=({collapsibleHeaders:n,collectionHook:e,highlightedIdx:t,onToggle:r})=>{let o=(0,cp.useCallback)(l=>{if(l.key===wv||l.key===lp){let a=e.data[t];a&&a.expanded===!1&&a.value&&(l.preventDefault(),e.expandGroupItem(a),r==null||r(a.value))}if(l.key===Cv||l.key===lp){let a=e.data[t];a&&a.expanded&&a.value&&(l.preventDefault(),e.collapseGroupItem(a),r==null||r(a.value))}},[e.collapseGroupItem,e.data,e.expandGroupItem,t]),i={onClick:(0,cp.useCallback)(l=>{console.log(`useCollapsibleGroups idx=${t}`);let a=e.data[t];console.log(l.target,l.currentTarget),a&&sI(a)&&(!iI(a)||lI(l.target))&&(l.stopPropagation(),l.preventDefault(),a.expanded===!1&&a.value?(e.expandGroupItem(a),r==null||r(a.value)):a.expanded===!0&&a.value&&(e.collapseGroupItem(a),r==null||r(a.value)))},[e.collapseGroupItem,e.data,e.expandGroupItem,t]),onKeyDown:o};return n?i:oI};function aI(n){if(n){let e=n.dataset.index;if(e)return parseInt(e,10);if(e=n.ariaPosInSet)return parseInt(e,10)-1}return-1}var cI=n=>n.closest("[data-index],[aria-posinset]");var Dv=n=>aI(cI(n));var Pu=require("react"),uI={scrollToIndex:()=>{},scrollToItem:()=>{},scrollTo:()=>{}},Iu=({collectionHook:n,forwardedRef:e,scrollableRef:t,scrollIntoView:r})=>{let o=(0,Pu.useMemo)(()=>({scrollToIndex:s=>{let i=n.data[s];i&&(r==null||r(i))},scrollToItem:s=>{let i=n.toCollectionItem(s);i&&(r==null||r(i))},scrollTo:s=>{t!=null&&t.current&&(t.current.scrollTop=s)}}),[n,r,t]);(0,Pu.useImperativeHandle)(e,()=>t.current?o:uI,[o,t])};var Pv=require("@salt-ds/core"),Ut=require("react");var Au=require("@vuu-ui/vuu-utils"),hp=-2;function kv(n,e,t){return e===ga||e===ya?t>0?t-1:t:t===null?0:t===n-1?t:t+1}var up=(n,e)=>{let t=rv(e);return t?n.indexOf(t):-1},hI=(n,e,t,r)=>n===ya?r:n===Du?-1:e!==-1?e:t,dI=(n,e,t,r)=>{let{top:o}=e.getBoundingClientRect(),{scrollTop:s,clientHeight:i,scrollHeight:l}=n,a=t-1,c=Math.min(s+i,l-i);if(c!==s&&r<a){n.scrollTo(0,c);let u=r,h;do u+=1,h=(0,Au.getElementByDataIndex)(n,u,!0).getBoundingClientRect();while(h.top<o&&u<a);return u}},fI=async(n,e,t)=>{let{top:r}=e.getBoundingClientRect(),{scrollTop:o,clientHeight:s}=n,i=Math.max(o-s,0);if(i!==o&&t>0)return n.scrollTo(0,i),new Promise(l=>{requestAnimationFrame(()=>{let a=t,c;do a-=1,c=(0,Au.getElementByDataIndex)(n,a,!0).getBoundingClientRect();while(c.top>r&&a>0);l(a)})})},pI=n=>!n.header&&!n.childNodes,Mv=n=>pI(n)||n.expanded!==void 0,Iv=({containerRef:n,defaultHighlightedIndex:e=-1,disableHighlightOnFocus:t,highlightedIndex:r,indexPositions:o,itemCount:s,onHighlight:i,onKeyboardNavigation:l,restoreLastFocus:a,selected:c,viewportItemCount:u})=>{let h=(0,Ut.useRef)(-1),[,d]=(0,Ut.useState)({}),[f,p,m]=(0,Pv.useControlled)({controlled:r,default:e,name:"UseKeyboardNavigation"}),g=(0,Ut.useCallback)((E,N=!1)=>{i==null||i(E),p(E),N&&(h.current=E)},[i,p]),b=(0,Ut.useCallback)(async(E,N)=>{let T=(0,Au.getElementByDataIndex)(n.current,N,!0),M;if(T){let{current:P}=n;T&&P&&(M=E===ku?dI(P,T,s,N):await fI(P,T,N))}return M!=null?M:N},[n,s]),C=(0,Ut.useCallback)((E=ba,N=E===ba?-1:s)=>{if(s===0)return-1;{let T=up(o,c),M=hI(E,N,T,s),P=kv(s,E,M);if(P===0&&E===ga&&!Mv(o[0]))return N;for(;((E===ba||E===Du)&&P<s||(E===ga||E===ya)&&P>0)&&!Mv(o[P]);)P=kv(s,E,P);return P}},[o,s,c]),v=(0,Ut.useRef)(!1),x=(0,Ut.useRef)(!1),w=E=>x.current=E,y=(0,Ut.useCallback)(()=>{if(x.current)x.current=!1;else if(v.current=!0,o.length===0)g(hp);else if(f!==-1)d({});else if(a)if(h.current!==-1)g(h.current);else{let E=up(o,c);g(E!==-1?E:0)}else if(xo(c)){let E=up(o,c);g(E)}else t!==!0&&g(C())},[t,f,o,C,a,c,g]),S=(0,Ut.useCallback)(async E=>{let N=E.key===ku||E.key===ap?await b(E.key,f):C(E.key,f);N!==f&&g(N,!0),l==null||l(E,N)},[f,C,b,l,g]),D=(0,Ut.useCallback)(E=>{s>0&&Ev(E)?(E.preventDefault(),E.stopPropagation(),v.current=!0,S(E)):Mu(E)&&(v.current=!0)},[s,S]),k=(0,Ut.useMemo)(()=>({onBlur:E=>{let N=E.target.closest(".vuuList"),T=E.relatedTarget;N&&!(N!=null&&N.contains(T))&&(v.current=!1,p(-1),a||(h.current=-1))},onFocus:y,onKeyDown:D,onMouseDownCapture:()=>{v.current=!1,w(!0)},onMouseMove:()=>{v.current&&(v.current=!1)},onMouseLeave:()=>{v.current=!1,w(!1),g(-1)}}),[y,D,a,p,g]);return{focusVisible:v.current?f:-1,controlledHighlighting:m,highlightedIndex:f,setHighlightedIndex:g,keyboardNavigation:v,containerProps:k,setIgnoreFocus:w}};var er=require("@vuu-ui/vuu-utils"),gn=require("react");var mI={},gI=["Enter"," "];var Av=({containerRef:n,defaultSelected:e,disableSelection:t=!1,highlightedIdx:r,itemQuery:o,onSelect:s,onSelectionChange:i,selected:l,selectionStrategy:a,selectionKeys:c=gI,tabToSelect:u})=>{let h=a==="deselectable",d=a==="multiple",f=a==="extended",p=(0,gn.useRef)(-1),m=(0,gn.useCallback)(T=>c.includes(T.key),[c]),g=(0,gn.useCallback)(()=>d||f?[]:null,[d,f]),[b,C]=wu({controlled:l,default:e!=null?e:g(),name:"UseSelection",state:"selected"}),v=(0,gn.useCallback)(T=>Array.isArray(b)?b.includes(T):b===T,[b]),x=(0,gn.useCallback)(T=>v(T)?null:T,[v]),w=(0,gn.useCallback)(T=>{let M=v(T)?b.filter(P=>P!==T):b.concat(T);return M.sort(),M},[v,b]),y=(0,gn.useCallback)((T,M)=>{let P=M?b:[],[L]=b.slice(-1),O=L?(0,er.getElementDataIndex)(document.getElementById(L)):0,I=Math.min(T,O),A=Math.max(T,O),H=n.current,z=Array.from(H.querySelectorAll(o)).slice(I,A+1).map(q=>q.id),$=[...new Set([...P,...z])];return $.sort(),$},[n,o,b]),S=(0,gn.useCallback)((T,M,P,L)=>{let{current:O}=n,{id:I}=(0,er.getElementByDataIndex)(O,M,!0),A;d?A=w(I):f?L&&!P?A=w(I):P?A=y(M,L):A=[I]:h?A=x(I):A=I,A!==b&&C(A),s==null||s(T,I),A!==b&&i&&i(T,A)},[n,d,f,h,b,s,w,y,x,C,i]),D=(0,gn.useCallback)(T=>{let{current:M}=n,P=(0,er.getElementByDataIndex)(M,r);(0,er.isSelectableElement)(P)&&(m(T)||u&&T.key==="Tab")&&(T.key!=="Tab"&&T.preventDefault(),S(T,r,!1,T.ctrlKey||T.metaKey),f&&(p.current=r))},[r,n,m,u,S,f]),k=(0,gn.useCallback)((T,M)=>{if(f&&T.shiftKey){let{current:P}=n,L=(0,er.getElementByDataIndex)(P,M);(0,er.isSelectableElement)(L)&&S(T,M,!0)}},[f,n,S]),E=(0,gn.useCallback)(T=>{let{current:M}=n,P=(0,er.getElementByDataIndex)(M,r);!t&&(0,er.isSelectableElement)(P)&&(T.preventDefault(),T.stopPropagation(),S(T,r,T.shiftKey,T.ctrlKey||T.metaKey),f&&(p.current=r))},[n,r,t,S,f]);return{listHandlers:yu(a)?mI:{onClick:E,onKeyDown:D,onKeyboardNavigation:k},selected:b,setSelected:C}};var us=require("react");var Lv=({disableTypeToSelect:n,highlightedIdx:e,highlightItemAtIndex:t,typeToNavigate:r,items:o,applyIncrementalSearch:s=!0})=>{let i=(0,us.useRef)(null),l=(0,us.useRef)(""),a=(0,us.useRef)(-1),c=(0,us.useCallback)(h=>{if(h||!s){let d=new RegExp(`^${l.current}`,"i"),f=o.findIndex(({label:p},m)=>m>a.current&&d.test(p));f===-1&&(f=o.findIndex(({label:p},m)=>m<=a.current&&d.test(p))),f!==-1&&t(f)}else l.current="",i.current=null,a.current=-1},[s,t,o]),u=(0,us.useCallback)(h=>{let d=a.current!==-1;(Mu(h)||d&&h.key===Sv)&&r&&(h.preventDefault(),h.stopPropagation(),(a.current===-1||h.key===l.current)&&(a.current=e),i.current!==null&&(clearTimeout(i.current),i.current=null),h.key!==l.current&&(l.current+=h.key),s&&c(!0),i.current=window.setTimeout(()=>{c()},100))},[r,s,e,c]);return{onKeyDown:n?void 0:u}};var mr=require("react");var Vv=require("@salt-ds/core"),Ov=["height"],bI=["height","scrollHeight"],yI=[],Nv={containerOnly:[bI,yI],withContent:[Ov,Ov]},xI=n=>n?Nv.containerOnly:Nv.withContent,Hv={current:null},vI=(n,e)=>{let{transform:t="none"}=getComputedStyle(n);if(t.startsWith("matrix")){let r=t.lastIndexOf(",");return parseInt(t.slice(r+1))}else{let r=n.offsetParent;if(r===e||e===null)return n.offsetTop;{let o=n.offsetTop;for(;r!==null&&r!==e;)o+=r.offsetTop,r=r.offsetParent;return o}}},Bv=({containerRef:n,contentRef:e=Hv,highlightedIdx:t=-1,indexPositions:r,stickyHeaders:o=!1})=>{let s=(0,mr.useRef)(!1),i=(0,mr.useRef)({height:0,contentHeight:0}),l=(0,mr.useCallback)(m=>{s.current=!0,n.current&&(n.current.scrollTop=m),setTimeout(()=>{s.current=!1})},[]),a=(0,mr.useCallback)(()=>l(0),[l]),c=(0,mr.useCallback)(()=>{l(i.current.contentHeight-i.current.height)},[l]),u=(0,mr.useCallback)(m=>{let g=e.current||n.current;if(m.id){let b=document.getElementById(m.id);if(b&&n.current){let{height:C}=i.current,v=b.ariaExpanded&&b.firstChild?b.firstChild:b,x=o?36:0,w=vI(v,g),y=v.offsetHeight,{scrollTop:S}=n.current,D=S+x,k=D+C-x;if(w+y>k||w<D){let E=w+y>k?S+(w+y)-k:w-x;l(E)}}}},[n,e,l,o]);(0,Vv.useIsomorphicLayoutEffect)(()=>{let{height:m,contentHeight:g}=i.current,b=r[t];if(g>m&&b){let[C]=r,[v]=r.slice(-1);b===C?a():b===v?c():u(r[t])}},[t,r,u,c,a]);let h=(0,mr.useCallback)(({height:m,scrollHeight:g})=>{typeof m=="number"&&(i.current.height=m),typeof g=="number"&&(i.current.contentHeight=g)},[]),d=(0,mr.useCallback)(({height:m})=>{typeof m=="number"&&(i.current.contentHeight=m)},[]),[f,p]=xI(e===Hv);return zr(n,f,h,!0),zr(e,p,d,!0),{isScrolling:s,scrollIntoView:u}};var Fv=require("@salt-ds/core");var vi=require("react/jsx-runtime"),CI=(0,Fv.makePrefixer)("saltHighlighter"),zv=n=>{let{matchPattern:e,text:t=""}=n,r=typeof e=="string"?new RegExp(`(${vu(e)})`,"gi"):e;return r===void 0?(0,vi.jsx)(vi.Fragment,{children:t}):(0,vi.jsx)("span",{children:t.split(r).map((o,s)=>o.match(r)?(0,vi.jsx)("strong",{className:CI("highlight"),children:o},`${s}-${o}`):o)})};var fp=require("react"),pp=U(require("classnames"));var Wv=U(require("classnames"));var _v=require("react/jsx-runtime"),$v="vuuCheckboxIcon",dp=({checked:n=!1,...e})=>(0,_v.jsx)("span",{...e,className:(0,Wv.default)($v,{[`${$v}-checked`]:n})});var hs=require("react/jsx-runtime"),xa="vuuListItem",Lu=(0,fp.forwardRef)(function({height:e,...t},r){return(0,hs.jsx)("div",{...t,"aria-hidden":!0,className:(0,pp.default)(xa,`${xa}-proxy`),ref:r,style:{height:e}})}),ds=(0,fp.forwardRef)(function({children:e,className:t,disabled:r,tabIndex:o,item:s,itemHeight:i,itemTextHighlightPattern:l,label:a,selectable:c,selected:u,showCheckbox:h,style:d,...f},p){let m=(0,pp.default)(xa,t,{vuuDisabled:r,[`${xa}-checkbox`]:h}),g=i!==void 0?{...d,height:i}:d;return(0,hs.jsxs)("div",{className:m,...f,"aria-disabled":r||void 0,"aria-selected":u||void 0,ref:p,style:g,children:[h&&(0,hs.jsx)(dp,{"aria-hidden":!0,checked:u}),e&&typeof e!="string"?e:l==null?(0,hs.jsx)("span",{className:`${xa}-textWrapper`,children:a||e}):(0,hs.jsx)(zv,{matchPattern:l,text:a||e})]})});var dC=require("@salt-ds/core"),zu=U(require("classnames")),nn=require("react");var wt=require("react");var Ci=require("react");var wI=require("@vuu-ui/vuu-utils"),Kv=require("react");var RI=require("react/jsx-runtime"),SI={isDragSource:!1,isDropTarget:!1,register:()=>{}},TI=()=>console.log("have you forgotten to provide a DragDrop Provider ?"),EI=(0,Ci.createContext)({registerDragDropParty:TI});var Uv=n=>{var i,l;let{dragSources:e,dropTargets:t,onDragOut:r,onEndOfDragOperation:o,registerDragDropParty:s}=(0,Ci.useContext)(EI);if(n){let a=(i=e==null?void 0:e.has(n))!=null?i:!1,c=(l=t==null?void 0:t.has(n))!=null?l:!1;return{isDragSource:a,isDropTarget:c,onDragOut:r,onEndOfDragOperation:o,register:s}}else return SI};var Ou=class{constructor(e,t){this.draggableElement=null;this.payload=null;this.setDraggable=e=>{this.draggableElement=e};this.initialDragElement=t,this.mouseOffset=this.getMouseOffset(e,t)}setPayload(e){this.payload=e}getMouseOffset(e,t){let{clientX:r,clientY:o}=e,s=t.getBoundingClientRect();return{x:r-s.left,y:o-s.top}}};var at=require("react");var tr=require("react");var DI=["left","right"],kI=["top","bottom"],Nu=":not(.wrapped)",Gv=':not([aria-hidden="true"])',qv=n=>{let e=n.cloneNode(!0);return e.removeAttribute("id"),e.dataset.index="-1",e},MI=(n,e="width",t=!1)=>{let r=e==="width"?"left":"top",{[e]:o,[r]:s}=n.getBoundingClientRect(),{padEnd:i=!1,padStart:l=!1}=n.dataset,a=getComputedStyle(n),[c,u]=e==="width"?DI:kI,h=l&&!t?0:parseInt(a.getPropertyValue(`margin-${c}`),10),d=i&&!t?0:parseInt(a.getPropertyValue(`margin-${u}`),10),f=o;if(parseInt(a.getPropertyValue("flex-shrink"),10)>0){let m=parseInt(a.getPropertyValue("flex-basis"),10);!isNaN(m)&&m>0&&(f=m)}return[s,h+f+d]},PI={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"}},tn=n=>PI[n],jv=(n,e)=>{let t=n.find(r=>r.id===e);if(t)return t},Qv=(n,e)=>{n.splice(e,1);for(let t=e;t<n.length;t++)n[t].currentIndex-=1},wi=(n,e,t,r,o)=>{let s=[],{DIMENSION:i}=tn(e),l=Array.from(t?n.querySelectorAll(t):n.children),a=l.length,c=typeof(r==null?void 0:r.from)=="number"?r.atEnd?Math.max(0,r.from-1):r.from:0,u=typeof(r==null?void 0:r.to)=="number"?Math.min(r.to+2,a-1):a-1;for(let h=c;h<=u;h++){let d=l[h],[f,p]=MI(d,i),m=h===a-1,g=d.id;s.push({currentIndex:h,id:g,index:h,isDraggedItem:o===g,isLast:m,isOverflowIndicator:d.dataset.index==="overflow",element:d,start:f,end:f+p,size:p,mid:f+p/2})}return s},Si=(n,e=!1)=>{let t=n.findIndex(r=>r.isDraggedItem);if(e){let{index:r}=n[t],o=n.filter(i=>!i.isDraggedItem).reduce((i,l)=>Math.min(i,l.index),Number.MAX_SAFE_INTEGER);if(o>0&&!(r===0&&o===1))return o+t}return t},mp=(n,e)=>{let t=Si(n),r=e==="fwd"?t+1:t-1;if(r<0||r>=n.length)throw Error("switchDropTargetPosition index out of range");let o=n.at(t),s=n.at(r),i=s.size-o.size;if(e==="fwd"){let l=s.start+i,a=s.end,c={...o,start:l,mid:Math.floor(l+(a-l)/2),end:a},u=o.start,h=o.end+i,d={...s,start:u,mid:Math.floor(u+(h-u)/2),end:h};n.splice(t,2,d,c)}else{let l=s.start,a=s.end-i,c={...o,start:l,mid:Math.floor(l+(a-l)/2),end:a},u=o.start-i,h=o.end,d={...s,start:u,mid:Math.floor(u+(h-u)/2),end:h};n.splice(r,2,c,d)}},fs=(n,e,t,r)=>{let o=n.length,s=Si(n),i=n[s];if(r==="fwd"){let l=Math.round(e+t);for(let a=o-1;a>=0;a--){let c=n[a];if(l>c.mid)return i&&a<s?i:c}}else{let l=Math.round(e);for(let a=0;a<o;a++){let c=n[a];if(l<c.mid)return a>s?i:c}}throw Error("no dropTraget identified")};function Xv(n,e){let{height:t,left:r,top:o,width:s}=n,{height:i,width:l}=e;return{height:Math.min(t,i),left:r,top:o,width:Math.min(s,l)}}var gp=n=>n.map((e,t)=>{var r;return`
19
+ ${e.isDraggedItem?"*":" "}[${t}] width : ${Math.floor(e.size)} ${Math.floor(e.start)} - ${Math.floor(e.end)} (mid ${Math.floor(e.mid)}) ${(r=e.element)==null?void 0:r.textContent} `}).join("");var Jv=require("@salt-ds/core"),Yv=U(require("classnames")),Hu=require("react"),Zv=require("@vuu-ui/vuu-popups");var bp=require("react/jsx-runtime"),II=n=>n.split(" ").map(e=>`vuuDraggable-${e}`),Vu=(0,Hu.forwardRef)(function({wrapperClassName:e,element:t,onTransitionEnd:r,style:o,scale:s=1},i){let l=(0,Hu.useCallback)(c=>{c&&(c.innerHTML="",c.appendChild(t),s!==1&&(c.style.transform=`scale(${s},${s})`))},[t,s]),a=(0,Jv.useForkRef)(i,l);return(0,bp.jsx)(Zv.PortalDeprecated,{children:(0,bp.jsx)("div",{className:(0,Yv.default)("vuuDraggable",...II(e)),ref:a,onTransitionEnd:r,style:o})})}),yp=n=>{let e=document.createElement("div");return e.className="vuuDraggable-spacer",n&&e.addEventListener("transitionend",()=>{n.current=!1}),e},eC=()=>{let n=document.createElement("div");return n.className="vuuDraggable-dropIndicatorPosition",n},tC=n=>{let e=document.createElement("div");return e.className="vuuDraggable-dropIndicator",n&&e.addEventListener("transitionend",()=>{n.current=!1}),e};var nC=(n="horizontal")=>{let e=(0,tr.useRef)(0),t=(0,tr.useRef)(!1),r=(0,tr.useMemo)(()=>[yp(t),yp()],[]),o=(0,tr.useCallback)((c,u="width")=>{let[h,d]=r;e.current=requestAnimationFrame(()=>{t.current=!0,h.style.cssText=`${u}: 0px`,d.style.cssText=`${u}: ${c}px`,r[0]=d,r[1]=h})},[r]),s=(0,tr.useCallback)((c=!1)=>{if(c===!0){let[u]=r,h=()=>{u.removeEventListener("transitionend",h),s()},d=n==="horizontal"?"width":"height";u.addEventListener("transitionend",h),o(0,d)}else r.forEach(u=>u.remove())},[o,n,r]),i=(0,tr.useCallback)(()=>{e.current&&(cancelAnimationFrame(e.current),e.current=0)},[]),l=(0,tr.useCallback)((c,u,h,d=!1,f="static")=>{if(u){let p=n==="horizontal"?"width":"height",[m,g]=r;if(i(),d)t.current?(s(),m.style.cssText=`${p}: ${h}px`,g.style.cssText=`${p}: 0px`,f==="fwd"?(u.element.before(m),u.element.after(g)):(u.element.after(m),u.element.before(g))):f==="fwd"?u.element.after(g):u.element.before(g),o(h,p);else if(f==="static")m.style.cssText=`${p}: ${h}px`,u.element.before(m);else throw Error("useDragDisplacers currently only supports noTransition for static displacement");f!=="static"&&mp(c,f)}},[o,i,s,n,r]),a=(0,tr.useCallback)((c,u,h,d=!1,f="static")=>{let p=n==="horizontal"?"width":"height",[m,g]=r;i(),d?(t.current?(s(),m.style.cssText=`${p}: ${h}px`,g.style.cssText=`${p}: 0px`,u.element.before(m),u.element.after(g)):f==="fwd"?u.element.after(g):u.element.before(g),o(h,p)):(m.style.cssText=`${p}: ${h}px`,u.element.after(m)),f!=="static"&&mp(c,f)},[o,i,s,n,r]);return{displaceItem:l,displaceLastItem:a,clearSpacers:s}};var xp=require("@vuu-ui/vuu-utils");var rC=({onDrop:n,orientation:e="horizontal",containerRef:t,itemQuery:r="*",selected:o,viewportRange:s})=>{let i=(0,at.useRef)(),l=(0,at.useRef)(!1),a=(0,at.useRef)(-1),c=(0,at.useRef)([]),u=(0,at.useRef)(!1),[h,d]=(0,at.useState)(!1),{clearSpacers:f,displaceItem:p,displaceLastItem:m}=nC(e),g=(0,at.useRef)(),b=`:is(${r}${Nu}${Gv},.vuuOverflowContainer-OverflowIndicator)`,C=T=>c.current.findIndex(M=>M.id===T.id),v=(0,at.useRef)();v.current=s;let x=(0,at.useCallback)(()=>{f()},[f]),w=(0,at.useCallback)((T,M,P)=>{let{current:L}=t,{current:O}=g;if(L&&O){c.current=wi(L,e,b,v.current),T==="fwd"?c.current.push(O):c.current.unshift(O);let{size:I}=O,H=a.current+I/2,{current:V}=c,z=fs(V,H,I,"fwd");if(z){let q=C(z),Q=V[q];P&&T==="fwd"?m(V,V[V.length-1],I,!1,"static"):p(V,Q,I,!0,"static")}}},[t,p,m,b,e]),y=(0,at.useCallback)(T=>{T.ariaSelected&&Array.isArray(o)&&o.length>1&&console.log("its a selected element, and we have a multi select");let{current:M}=t;if(M&&T){let P=M.contains(T),{SCROLL_SIZE:L,CLIENT_SIZE:O}=tn(e),{id:I}=T,{[L]:A,[O]:H}=M;l.current=A>H;let V=c.current=wi(M,e,b,s,I);if(P){console.log(gp(V));let z=Si(V),$=V[z];$&&M&&(g.current=$,($.isLast?m:p)(V,$,$.size,!1,"static"))}else{let{top:z,height:$}=T.getBoundingClientRect(),q=fs(V,z,$,"fwd"),Q=V.indexOf(q),{start:J,end:G,mid:Y}=q;console.log(`nextDropTarget ${q.element.textContent}`);let ge=g.current={end:G,mid:Y,start:J,isDraggedItem:!0,isExternal:!0,size:$},de=V.indexOf(q);console.log({indexOfDropTarget:de}),V.splice(de,0,ge);for(let Re=Q+1;Re<V.length;Re++){let $e=V[Re];$e.mid+=$,$e.end+=$,$e.start+=$}console.log(gp(V)),(q.isLast?m:p)(V,q,q.size,!0,"static")}}},[t,p,m,b,e,o,s]),[S,D]=(0,at.useMemo)(()=>{let T=!1;return[L=>{if(!T){T=!0;let O=L.element.querySelector(".vuuPopupMenu");O&&(0,xp.dispatchMouseEvent)(O,"click")}},L=>{if(T){T=!1;let O=L.element.querySelector(".vuuPopupMenu");O&&(0,xp.dispatchMouseEvent)(O,"click")}}]},[]),k=(0,at.useCallback)((T,M)=>{let{current:P}=g;if(P&&t.current){a.current=T;let{current:L}=c,O=fs(L,T,P.size,M);if(O&&!O.isDraggedItem)if(O.isOverflowIndicator)d(u.current=!0),S(O);else{let{size:I}=P;(C(O)===L.length-1?m:p)(L,O,I,!0,M);let V=L.at(-1);D(V),d(u.current=!1)}i.current=M}},[t,p,m,D,S]),E=(0,at.useCallback)(()=>{var L;f();let{current:T}=c,M=Si(T),P=T[M];if(P)if(i.current=void 0,u.current)n(P.index,-1,{fromIndex:P.index,toIndex:-1,isExternal:P.isExternal});else{let O=Si(T,!0);n(P.index,O,{fromIndex:P.index,toIndex:O,isExternal:P.isExternal})}if(d(!1),t.current){let O=(L=t.current)==null?void 0:L.scrollTop;M<T.length&&(t.current.scrollTop=O)}},[f,t,n]),N=(0,at.useCallback)(()=>{f(!0)},[f]);return{beginDrag:y,drag:k,drop:E,handleScrollStart:x,handleScrollStop:w,releaseDrag:N,revealOverflowedItems:h}};var Ze=require("react");var va=require("react");var oC=()=>{let n=(0,va.useMemo)(()=>eC(),[]),e=(0,va.useCallback)(()=>n.remove(),[n]);return{positionDropIndicator:(0,va.useCallback)((r,o="end")=>(o==="end"?r.element.after(n):r.element.before(n),n),[n]),clearSpacer:e}};var iC=require("react/jsx-runtime"),AI=':not([data-overflowed="true"])',LI=':not([aria-hidden="true"])',sC=({onDrop:n,orientation:e="horizontal",containerRef:t,itemQuery:r="*",selected:o,viewportRange:s})=>{let i=(0,Ze.useRef)(),l=(0,Ze.useRef)(null),a=(0,Ze.useRef)(null),c=(0,Ze.useRef)(""),u=(0,Ze.useRef)(!1),h=(0,Ze.useRef)(-1),d=(0,Ze.useRef)([]),f=(0,Ze.useRef)(!1),[p,m]=(0,Ze.useState)(!1),[g,b]=(0,Ze.useState)(),{clearSpacer:C,positionDropIndicator:v}=oC(),x=(0,Ze.useRef)(),w=`:is(${r}${AI}${LI},[data-overflow-indicator])`,y=L=>d.current.findIndex(O=>O.id===L.id),S=(L,O,I)=>{L.start+=O,L.mid+=O,L.end+=O,typeof I=="number"&&(L.currentIndex+=I)},D=(0,Ze.useRef)();D.current=s;let k=(0,Ze.useCallback)(()=>{C()},[C]),E=(0,Ze.useCallback)((L,O,I)=>{let{current:A}=t,{current:H}=x;if(A&&H){d.current=wi(A,e,w,D.current);let{size:V}=H,$=h.current+V/2,{current:q}=d,Q=fs(q,$,V,"fwd");Q&&v(I&&L==="fwd"?q[q.length-1]:Q,"start")}},[t,v,w,e]),N=(0,Ze.useCallback)(L=>{L.ariaSelected&&Array.isArray(o)&&o.length>1&&console.log("its a selected element, and we have a multi select");let{current:O}=t;if(O&&L){let{SCROLL_SIZE:I,CLIENT_SIZE:A}=tn(e),{id:H}=L,{[I]:V,[A]:z}=O;u.current=V>z;let $=d.current=wi(O,e,w,s),q=jv($,H);if(q&&O){let Q=y(q);Qv($,Q),x.current=q;let{current:J}=D;if(J!=null&&J.atEnd)for(let Ae=0;Ae<$.length;Ae++)S($[Ae],q.size);for(let Ae=Q;Ae<$.length;Ae++)S($[Ae],-q.size,-1);let[G,Y]=q.isLast?[$[$.length-1],"end"]:[$[Q],"start"];a.current=G,c.current=Y;let ge=v(G,Y),{top:de,left:Ge,width:Re}=ge.getBoundingClientRect(),$e={top:q.isLast?J!=null&&J.atEnd&&!J.atStart?de+q.size-2:de-2:de-q.size-2,left:Ge,width:Re,height:2};b((0,iC.jsx)(Vu,{wrapperClassName:"dropIndicatorContainer",style:$e,ref:l,element:tC()}))}}},[o,t,e,w,s,v]),T=(0,Ze.useCallback)((L,O)=>{let{current:I}=a,{current:A}=x;if(A&&t.current){let H=e==="horizontal"?"left":"top";h.current=L;let{current:V}=d,z=fs(V,L,A.size,O);if(z&&z.index!==(I==null?void 0:I.index)){if(z.isOverflowIndicator)m(f.current=!0);else if(l.current){if(y(z)===V.length-1){let q=V[V.length-1],J=v(q,"start").getBoundingClientRect();l.current.style[H]=`${J.top}px`}else{let Q=v(z,"start").getBoundingClientRect();l.current.style[H]=`${Q.top}px`}m(f.current=!1)}a.current=z,i.current=O}}},[t,e,v]),M=(0,Ze.useCallback)(()=>{C();let{current:L}=x,{current:O}=a,{current:I}=c,{current:A}=D;if(L&&A&&O){let{index:H}=L,V=I==="start",{index:z,currentIndex:$}=O;a.current=null,i.current=void 0,f.current?n(H,-1,{fromIndex:H,toIndex:-1}):H<z?n(H,V?$:$+1,{fromIndex:H,toIndex:V?$:$+1}):n(H,V?z:z+1,{fromIndex:H,toIndex:V?z:z+1}),b(void 0)}m(!1)},[C,n]),P=(0,Ze.useCallback)(()=>{},[]);return{beginDrag:N,drag:T,drop:M,dropIndicator:g,handleScrollStart:k,handleScrollStop:E,releaseDrag:P,revealOverflowedItems:p}};var Ce=require("react");var Co=require("react");var lC=({containerRef:n,onScrollingStopped:e,orientation:t="vertical"})=>{let r=(0,Co.useRef)(null),o=(0,Co.useRef)(!1),s=(0,Co.useRef)(0),i=(0,Co.useRef)("fwd"),l=(0,Co.useCallback)((c=!1)=>{console.log("[useAutoScroll] stopScrolling"),r.current!==null&&(clearTimeout(r.current),r.current=null),o.current=!1,e==null||e(i.current,s.current,c)},[e]),a=(0,Co.useCallback)((c,u,h=30)=>{let{current:d}=n;if(d){let{SCROLL_POS:f,SCROLL_SIZE:p,CLIENT_SIZE:m}=tn(t),{[f]:g,[p]:b,[m]:C}=d,v=c==="fwd"?b-C-g:g,x=Math.min(v,h);c==="fwd"?(i.current="fwd",d[f]=s.current=g+x):(i.current="bwd",d[f]=s.current=g-x),x===v?l(!0):(o.current=!0,r.current=window.setTimeout(()=>{a(c,u,h)},100))}},[n,t,l]);return{isScrolling:o,startScrolling:a,stopScrolling:l}};var cC=require("react/jsx-runtime"),OI={beginDrag:()=>{},drag:()=>{},draggableRef:{current:null},drop:()=>{},isDragging:!1,isScrolling:!1,handleScrollStart:()=>{},handleScrollStop:()=>{},revealOverflowedItems:!1},aC={start:0,end:1e3,contraStart:0,contraEnd:1e3},NI=()=>OI,HI=3,VI=(n,e)=>n.closest(e),BI=n=>n.dataset.index==="overflow"&&n.parentElement!==null&&n.parentElement.classList.contains("overflowed"),FI=(n,e)=>{let t=`:is(${e}${Nu},.vuuOverflowContainer-OverflowIndicator)`,o=Array.from(n.querySelectorAll(t)).pop();return[o,BI(o)]},Wr=({allowDragDrop:n,containerRef:e,draggableClassName:t,getDragPayload:r,id:o,itemQuery:s="*",onDragStart:i,onDrop:l,onDropSettle:a,orientation:c,...u})=>{let h=(0,Ce.useRef)({start:0,end:0,contraStart:0,contraEnd:0}),[d,f]=(0,Ce.useState)({draggable:void 0,draggedItemIndex:-1,isDragging:!1}),p=(0,Ce.useRef)(null),m=(0,Ce.useRef)(null),g=(0,Ce.useRef)(!1),b=(0,Ce.useRef)({x:0,y:0}),C=(0,Ce.useRef)({x:0,y:0}),v=(0,Ce.useRef)(null),x=(0,Ce.useRef)(-1),w=(0,Ce.useRef)(-1),y=(0,Ce.useRef)(),{isDragSource:S,isDropTarget:D,onDragOut:k,onEndOfDragOperation:E,register:N}=Uv(o),T=(0,Ce.useRef)(),M=(0,Ce.useRef)(),P=(0,Ce.useCallback)(()=>{let{current:j}=T,{current:re}=M;j&&re&&(document.addEventListener("mousemove",j,!1),document.addEventListener("mouseup",re,!1))},[]),L=(0,Ce.useCallback)(()=>{let{current:j}=T,{current:re}=M;j&&re&&(document.removeEventListener("mousemove",j,!1),document.removeEventListener("mouseup",re,!1))},[]),O=(0,Ce.useCallback)((j,re)=>{let{current:se}=e;if(se){let[me,Pe]=FI(se,s),{CONTRA:qe,CONTRA_END:ke,DIMENSION:X,END:ne,START:oe}=tn(c),be=re[X],{[oe]:je,[ne]:gt}=me.getBoundingClientRect();h.current.start=j[oe],h.current.end=Pe?Math.max(je,j.right-be):g.current?j[oe]+j[X]-be:gt-be,h.current.contraStart=j[qe],h.current.contraEnd=j[ke]}},[e,s,c]),I=(0,Ce.useCallback)(()=>{var se;let{current:j}=w,re=(se=e.current)==null?void 0:se.querySelector(`${s}[data-index="${j}"]`);re&&re.classList.remove("vuuDropTarget-settling"),w.current=-1,a==null||a(j),f(me=>({...me,draggable:void 0}))},[e,s,a]),A=(0,Ce.useCallback)(j=>{if(e.current&&p.current){let{mouseOffset:re}=p.current,{POS:se,SCROLL_POS:me,SCROLL_SIZE:Pe,CLIENT_SIZE:qe}=tn(c),{[me]:ke,[Pe]:X,[qe]:ne}=e.current,oe=X-ne,be=ke<oe,je=h.current.end,gt=ke>0&&j-re[se]<=h.current.start,B=be&&j-re[se]>=je;return gt?"bwd":B?"fwd":""}},[e,c]),H=n===!0||n==="natural-movement"?rC:n==="drop-indicator"?sC:NI,V=(0,Ce.useCallback)((j,re,se)=>{var me;(me=y.current)==null||me.call(y,j,re,se)},[]),{isScrolling:z,startScrolling:$,stopScrolling:q}=lC({containerRef:e,onScrollingStopped:V,orientation:c}),Q=(0,Ce.useCallback)((j,re,se)=>{var me;x.current=re,se.isExternal?l==null||l(j,re,{...se,payload:(me=p.current)==null?void 0:me.payload}):l==null||l(j,re,se),w.current=re,o&&(E==null||E(o)),p.current=null},[o,l,E]),{beginDrag:J,drag:G,drop:Y,handleScrollStart:ge,handleScrollStop:de,releaseDrag:Ge,...Re}=H({...u,containerRef:e,isDragSource:S,isDropTarget:D,itemQuery:s,onDrop:Q,orientation:c});y.current=de;let $e=(0,Ce.useCallback)((j,re)=>{let{CONTRA_POS:se}=tn(c),me=b.current[se],Pe=S?Math.abs(me-re):0;if(p.current&&Pe-j>5)return k!=null&&k(o,p.current)&&(L(),Ge==null||Ge(),p.current=null),h.current=aC,!0},[o,S,k,c,Ge,L]),Ae=(0,Ce.useCallback)(j=>{let{CLIENT_POS:re,CONTRA_CLIENT_POS:se,POS:me}=tn(c),{clientX:Pe,clientY:qe}=j,{[re]:ke,[se]:X}=j,ne=b.current[me],oe=Math.abs(ne-ke),{current:be}=p;if($e(oe,X)){console.log("drag handed over to provider");return}if(b.current.x=Pe,b.current.y=qe,be){let{draggableElement:je,mouseOffset:gt}=be;if(h.current===aC&&je){let B=b.current.x-gt.x,_=b.current.y-gt.y;je.style.top=`${_}px`,je.style.left=`${B}px`}else if(oe>0&&je){let B=ne<ke?"fwd":"bwd",_=A(ke),fe=b.current[me]-gt[me];if(_&&g.current&&!z.current?(ge(),$(_,1)):!_&&z.current&&q(),!z.current){let Oe=Math.round(Math.max(h.current.start,Math.min(h.current.end,fe))),en=c==="horizontal"?"left":"top";je.style[en]=`${Oe}px`,G(Oe,B)}}}},[G,A,ge,o,S,z,k,c,$,q]),Fe=(0,Ce.useCallback)(()=>{L(),p.current&&(v.current=p.current.draggableElement),Y(),f(j=>({...j,draggedItemIndex:-1,isDragging:!1}))},[Y,L]);T.current=Ae,M.current=Fe;let Ct=(0,Ce.useCallback)(j=>{p.current=j;let{draggableElement:re,mouseOffset:se,initialDragElement:me}=j,{current:Pe}=e;if(console.log({container:Pe,draggableElement:re,initialDragElement:me}),Pe&&re){let qe=Pe.getBoundingClientRect(),ke=re.getBoundingClientRect();return O(qe,ke),b.current.x=ke.left+se.x,b.current.y=ke.top+se.y,J(re),P(),!0}else return!1},[P,J,e,O]),ze=(0,Ce.useCallback)(j=>{let{target:re}=j,se=VI(re,s),{current:me}=e;if(me&&se){let{SCROLL_SIZE:Pe,CLIENT_SIZE:qe}=tn(c),{[Pe]:ke,[qe]:X}=me;g.current=ke>X;let ne=me.getBoundingClientRect(),oe=se.getBoundingClientRect(),be=p.current=new Ou(j,se);O(ne,oe),J(se);let{dataset:{index:je="-1"}}=se;f({isDragging:!0,draggable:(0,cC.jsx)(Vu,{element:qv(se),onTransitionEnd:I,ref:be.setDraggable,style:Xv(oe,ne),wrapperClassName:t}),draggedItemIndex:parseInt(je)}),i==null||i(be),P()}},[P,J,e,t,s,i,c,O,I]),pt=(0,Ce.useCallback)(j=>{let{CLIENT_POS:re,POS:se}=tn(c),{[re]:me}=j;Math.abs(me-C.current[se])>HI&&e.current&&(m.current&&(window.clearTimeout(m.current),m.current=null),document.removeEventListener("mousemove",pt),document.removeEventListener("mouseup",zt,!1),ze(j))},[e,J,c]),zt=(0,Ce.useCallback)(()=>{m.current&&(window.clearTimeout(m.current),m.current=null),document.removeEventListener("mousemove",pt,!1),document.removeEventListener("mouseup",zt,!1)},[pt]),Le=(0,Ce.useCallback)(j=>{let{current:re}=e;if(j.stopPropagation(),re&&!j.defaultPrevented){let{clientX:se,clientY:me}=j;b.current.x=C.current.x=se,b.current.y=C.current.y=me,document.addEventListener("mousemove",pt,!1),document.addEventListener("mouseup",zt,!1),j.persist(),m.current=window.setTimeout(()=>{document.removeEventListener("mousemove",pt,!1),document.removeEventListener("mouseup",zt,!1),ze(j.nativeEvent)},500)}},[e,ze,pt,zt]),{current:mt}=v;return(0,Ce.useLayoutEffect)(()=>{if(mt&&e.current){let j=x.current,re=e.current.querySelector(`${s}[data-index="${j}"]`);re?(re.classList.add("vuuDropTarget-settling"),requestAnimationFrame(()=>{let{top:se,left:me}=re.getBoundingClientRect(),{top:Pe,left:qe}=mt.getBoundingClientRect();qe!==me||Pe!==se?(mt.classList.add("vuuDraggable-settling"),mt.style.top=`${se}px`,mt.style.left=`${me}px`):I()})):console.log(`dont have the dropped item (at ${j})`),v.current=null}},[e,s,mt,I]),(0,Ce.useEffect)(()=>{o&&(S||D)&&N(o,Ct)},[o,S,D,N,Ct]),{...Re,...d,isScrolling:z,onMouseDown:n?Le:void 0}};var wo=({allowDragDrop:n=!1,collapsibleHeaders:e,collectionHook:t,containerRef:r,contentRef:o,defaultHighlightedIndex:s,defaultSelected:i,disabled:l,disableAriaActiveDescendant:a,disableHighlightOnFocus:c,disableTypeToSelect:u,highlightedIndex:h,id:d,label:f="",listHandlers:p,onDragStart:m,onDrop:g,onHighlight:b,onKeyboardNavigation:C,onKeyDown:v,onMoveListItem:x,onSelect:w,onSelectionChange:y,restoreLastFocus:S,scrollContainerRef:D,selected:k,selectionStrategy:E,selectionKeys:N,stickyHeaders:T,tabToSelect:M,viewportRange:P})=>{let L=(0,wt.useRef)(null),O=(0,wt.useRef)(k||i),I=(X,ne)=>{var oe,be;(be=(oe=de.listHandlers).onKeyboardNavigation)==null||be.call(oe,X,ne),C==null||C(X,ne)},A=(0,wt.useCallback)((X,ne)=>{w&&ne!==null&&w(X,t.itemById(ne))},[t,w]),H=(0,wt.useMemo)(()=>{var X,ne;return D||{current:(ne=(X=r.current)==null?void 0:X.querySelector(".vuuList-scrollContainer"))!=null?ne:null}},[]),V=(0,wt.useCallback)((X,ne)=>{if(y){if(Array.isArray(ne)){let oe=ne.map(be=>t.itemById(be));y(X,oe)}else if(ne){let oe=t.itemById(ne);y(X,oe)}}},[t,y]),{highlightedIndex:z,containerProps:{onKeyDown:$,onMouseMove:q,...Q},setHighlightedIndex:J,...G}=Iv({containerRef:H,defaultHighlightedIndex:s,disableHighlightOnFocus:c,highlightedIndex:h,indexPositions:t.data,itemCount:t.data.length,label:f,onHighlight:b,onKeyboardNavigation:I,restoreLastFocus:S,selected:O.current,viewportItemCount:10}),Y=Rv({collapsibleHeaders:e,highlightedIdx:z,collectionHook:t}),ge=(0,wt.useCallback)(X=>{J(-1),m==null||m(X)},[m,J]),de=Av({containerRef:r,defaultSelected:i,highlightedIdx:z,itemQuery:".vuuListItem",label:`${f}:useList`,onSelect:A,onSelectionChange:V,selected:k,selectionStrategy:E,selectionKeys:N,tabToSelect:M}),Ge=(0,wt.useCallback)((X,ne,oe)=>{let be=t.data.indexOf(X);return be===ne?oe:be<Math.min(ne,oe)||be>Math.max(ne,oe)?be:ne<be?be-1:be+1},[t.data]),Re=(0,wt.useCallback)((X,ne,oe)=>Array.isArray(X)?X.map(be=>Ge(be,ne,oe)):Ge(X,ne,oe),[Ge]),$e=(0,wt.useCallback)((X,ne,oe)=>{xo(de.selected)&&(L.current=Re(de.selected,X,ne)),oe.isExternal?g==null||g(X,ne,oe):x==null||x(X,ne),J(-1)},[de.selected,J,Re,g,x]),Ae=(0,wt.useCallback)(X=>{J(X)},[J]),{setSelected:Fe}=de;(0,wt.useEffect)(()=>{let{current:X}=L;if(xo(X)){let ne=Array.isArray(X)?X.map(oe=>t.data[oe]):t.data[X];L.current=null,Fe(ne)}},[t.data,Fe]),Pn(()=>{xo(O.current)&&Fe(Array.isArray(O.current)?[]:null)},[Fe,t.data]);let{onMouseDown:Ct,isDragging:ze,isScrolling:pt,...zt}=Wr({allowDragDrop:n,draggableClassName:"list-item",orientation:"vertical",containerRef:r,id:d,itemQuery:".vuuListItem",onDragStart:ge,onDrop:$e,onDropSettle:Ae,viewportRange:P}),{onKeyDown:Le}=Lv({disableTypeToSelect:u,highlightedIdx:z,highlightItemAtIndex:J,typeToNavigate:!0,items:t.data}),mt=(0,wt.useCallback)(X=>{var ne,oe,be;X.defaultPrevented||Le==null||Le(X),$(X),X.defaultPrevented||(oe=(ne=de.listHandlers).onKeyDown)==null||oe.call(ne,X),X.defaultPrevented||(be=Y==null?void 0:Y.onKeyDown)==null||be.call(Y,X),X.defaultPrevented||v==null||v(X)},[Y,$,v,de.listHandlers,Le]),{isScrolling:j,scrollIntoView:re}=Bv({containerRef:H,contentRef:o,highlightedIdx:z,indexPositions:t.data,stickyHeaders:T}),se=j.current||pt.current,me=(0,wt.useCallback)(X=>{if(!se&&!l&&!ze){q();let ne=Dv(X.target);if(ne!==-1&&ne!==z){let oe=t.data[ne];!oe||oe.disabled?J(-1):J(ne)}}},[ze,se,l,J,q,z,t.data]),Pe=()=>{var X;return z===void 0||z===-1||a||(X=t.data[z])==null?void 0:X.id};O.current=de.selected;let qe={"aria-activedescendant":Pe(),onBlur:Q.onBlur,onFocus:Q.onFocus,onKeyDown:mt,onMouseDown:Ct,onMouseDownCapture:Q.onMouseDownCapture,onMouseLeave:Q.onMouseLeave},ke=p||{onClick:de.listHandlers.onClick,onMouseMove:me};return{focusVisible:G.focusVisible,controlledHighlighting:G.controlledHighlighting,highlightedIndex:z,keyboardNavigation:G.keyboardNavigation,listHandlers:ke,listItemHeaderHandlers:Y,listControlProps:qe,scrollIntoView:re,selected:de.selected,setHighlightedIndex:J,setIgnoreFocus:G.setIgnoreFocus,setSelected:de.setSelected,...zt}};var gr=require("react");var zI=(n,e,t=0)=>n===0?0:t===0?n*e:n-1*(e+t)+e,Bu=({displayedItemCount:n,getItemHeight:e,height:t,itemCount:r,itemGapSize:o,itemHeight:s=36,size:i})=>{let[l,a]=(0,gr.useState)(s),[,c]=(0,gr.useState)({}),u=(0,gr.useRef)(null),[h,d]=(0,gr.useMemo)(()=>{let m=0,g=l!=null?l:s,b=zI(r,g,o);if(console.log(`contentHeight ${b}`),t!==void 0)return[b,void 0];let C=Math.min(n,r)||n;return typeof e=="function"?m+=Array(C).fill(0).reduce((x,w,y)=>x+e(y)+o,0)-o:m+=C*Number(g)+(C-1)*o,[b,m]},[n,e,t,r,o,s,l]),f=(0,gr.useCallback)(({height:m})=>{typeof m=="number"&&a(m)},[]),p=(0,gr.useCallback)(m=>{u.current=m,c({})},[]);return zr(u,ev,f,!0),{computedListHeight:d,contentHeight:h,listClientHeight:i==null?void 0:i.height,listItemHeight:l,rowHeightProxyRef:p}};var hC=require("@salt-ds/core"),br=require("react"),uC=(n,e,t,r)=>{let o=Math.ceil(e/r),s=Math.floor(n/r),i=Math.ceil(s+o-1);return{atStart:s===0,atEnd:i===t-1,from:s,to:i}},Fu=({containerSize:n,itemCount:e,itemGapSize:t=0,itemSize:r,onViewportScroll:o})=>{let s=(0,br.useRef)(0),i=(0,br.useRef)(0),l=(0,br.useRef)(0),a=(0,br.useMemo)(()=>uC(l.current,n,e,r+t),[n,e,r,t]),[c,u]=(0,br.useState)(a);return(0,hC.useIsomorphicLayoutEffect)(()=>{u(a)},[a]),{onVerticalScroll:(0,br.useCallback)(d=>{let f=d.target.scrollTop;if(f!==l.current){l.current=f;let p=r+t,m=uC(f,n,e,p);(m.from!==s.current||m.to!==i.current)&&(s.current=m.from,i.current=m.to,o==null||o(m.from,m.to),u(m))}},[r,t,n,e,o]),viewportRange:c}};var bn=require("react/jsx-runtime"),fC=require("react"),$I="No data to display",ps="vuuList",ms=(0,nn.forwardRef)(function({ListItem:e=ds,ListPlaceholder:t,allowDragDrop:r,children:o,className:s,collapsibleHeaders:i=!1,defaultHighlightedIndex:l,defaultSelected:a,disabled:c=!1,disableFocus:u=!1,disableTypeToSelect:h,displayedItemCount:d=10,emptyMessage:f,focusVisible:p,getItemHeight:m,getItemId:g,height:b,highlightedIndex:C,id:v,itemGapSize:x=0,itemHeight:w,itemTextHighlightPattern:y,itemToString:S=An,listHandlers:D,maxHeight:k,maxWidth:E,minHeight:N,minWidth:T,onDragStart:M,onDrop:P,onMoveListItem:L,onSelect:O,onSelectionChange:I,onHighlight:A,restoreLastFocus:H,selected:V,selectionStrategy:z,checkable:$=z==="multiple",scrollingApiRef:q,selectionKeys:Q,showEmptyMessage:J=!1,source:G,style:Y,stickyHeaders:ge,tabToSelect:de,...Ge},Re){var ty,ny;let $e=lt(v),Ae=(0,nn.useRef)(null),Fe=(0,nn.useRef)(null),Ct=(0,nn.useRef)(null),[ze,pt]=(0,nn.useState)(),zt=(0,nn.useCallback)(Qn=>{pt(Qn)},[]),Le=vo({id:$e,label:"List",source:G,children:o,options:{collapsibleHeaders:i,getItemId:g,itemToString:S}}),{listClientHeight:mt,computedListHeight:j,listItemHeight:re,rowHeightProxyRef:se}=Bu({displayedItemCount:d,getItemHeight:m,height:b,itemCount:Le.data.length,itemGapSize:x,itemHeight:w,rootRef:Ae,size:ze}),{onVerticalScroll:me,viewportRange:Pe}=Fu({containerSize:(ny=(ty=mt!=null?mt:j)!=null?ty:ze==null?void 0:ze.height)!=null?ny:0,itemCount:Le.data.length,itemGapSize:x,itemSize:re}),{draggable:qe,draggedItemIndex:ke,dropIndicator:X,focusVisible:ne,highlightedIndex:oe,listControlProps:be,listHandlers:je,listItemHeaderHandlers:gt,scrollIntoView:B,selected:_}=wo({allowDragDrop:r,collapsibleHeaders:i,collectionHook:Le,containerRef:Ae,contentRef:Ct,defaultHighlightedIndex:l,defaultSelected:Le.itemToCollectionItemId(a),disabled:c,disableTypeToSelect:h,highlightedIndex:C,id:$e,label:"List",listHandlers:D,onDragStart:M,onDrop:P,onMoveListItem:L,onSelect:O,onSelectionChange:I,onHighlight:A,restoreLastFocus:H,scrollContainerRef:Fe,selected:Le.itemToCollectionItemId(V),selectionStrategy:z,selectionKeys:Q,stickyHeaders:ge,tabToSelect:de,viewportRange:Pe});Iu({collectionHook:Le,forwardedRef:q,scrollableRef:Ae,scrollIntoView:B});let fe=p!=null?p:ne,Oe=function(nt,un,hn,kt){let Zo=(0,fC.createElement)(e,{...gt,className:(0,zu.default)(`${ps}Header`,{focusVisible:i&&fe===nt.value}),"aria-expanded":kt,"data-idx":i?nt.value:void 0,"data-index":i?nt.value:void 0,"data-highlighted":nt.value===oe||void 0,"data-sticky":ge,"data-selectable":!1,id:un,key:`header-${nt.value}`,label:hn});return nt.value+=1,Zo},en=m===void 0?()=>w:m;function Yo(Qn,nt,un){var Nc,ry;let{disabled:hn,value:kt,id:Zo,label:Lc}=nt,Oc=(0,nn.isValidElement)(kt),Yl={className:(0,zu.default)((Nc=kt==null?void 0:kt.props)==null?void 0:Nc.className,{vuuHighlighted:un.value===oe,vuuFocusVisible:fe===un.value,["vuuDraggable-dragAway"]:ke===un.value}),disabled:hn||c,id:Zo,item:Oc?void 0:(ry=nt==null?void 0:nt.value)!=null?ry:void 0,itemHeight:en(un.value),itemTextHighlightPattern:y,key:Zo,"data-index":un.value,label:Lc,role:"option",selected:Cu(_,nt),showCheckbox:$};Qn.push(Oc?(0,nn.cloneElement)(kt,Yl):(0,bn.jsx)(e,{...Yl})),un.value+=1}let jn=function(nt,un,hn){let{count:kt=0,id:Zo,expanded:Lc,label:Oc=""}=un[hn.value],Yl=Oe(hn,Zo,Oc,Lc),Nc=Lc!==!1?[Yl].concat(ci(un,hn,hn.value+kt)||[]):Yl;nt.push((0,bn.jsx)("div",{role:"group",children:Nc},Zo))},ci=(Qn,nt={value:0},un=Qn.length)=>{let hn=[];for(;nt.value<un;){let kt=Qn[nt.value];kt.header?hn.push(Oe(nt,kt.id,kt.label,kt.expanded===!1)):kt.childNodes?jn(hn,Qn,nt):Yo(hn,kt,nt)}return hn};function Mk(){return f||J?(0,bn.jsx)("span",{className:`${ps}-empty-message`,children:f!=null?f:$I}):null}let Pk=()=>{if(Le.data.length){let Qn=Le.data;return ci(Qn)}else Mk()},Ik="auto",Ak={"--list-borderWidth":"var(--vuuList-borderWidth, var(--salt-size-border, 0))","--list-item-gap":x?`${x}px`:void 0,"--computed-list-height":j===void 0?void 0:`${j}px`,minWidth:T,minHeight:N,maxWidth:E,maxHeight:k};return(0,bn.jsxs)(Ca,{"aria-multiselectable":z==="multiple"||z==="extended"||z==="extended-multi-range"||void 0,...Ge,...je,...be,className:(0,zu.default)(ps,s,{[`${ps}-collapsible`]:i,[`${ps}-contentSized`]:j!==void 0,vuuFocusVisible:oe===hp}),height:j!=null?j:b,id:`${$e}`,onResize:zt,ref:(0,dC.useForkRef)(Ae,Re),role:"listbox",onScroll:me,style:{...Y,...Ak},tabIndex:c||u?void 0:0,children:[(0,bn.jsx)(Lu,{ref:se,height:w}),Le.data.length===0&&t!==void 0?(0,bn.jsx)(bn.Fragment,{children:(0,bn.jsx)(t,{})}):(0,bn.jsx)("div",{className:`${ps}-viewport`,ref:Fe,children:(0,bn.jsxs)("div",{className:`${ps}-scrollingContentContainer`,ref:Ct,style:{height:Ik},children:[Pk(),X,qe]})})]})});var Ti=require("@salt-ds/core");function pC(n){var e,t,r="";if(typeof n=="string"||typeof n=="number")r+=n;else if(typeof n=="object")if(Array.isArray(n))for(e=0;e<n.length;e++)n[e]&&(t=pC(n[e]))&&(r&&(r+=" "),r+=t);else for(e in n)n[e]&&(r&&(r+=" "),r+=e);return r}function vp(){for(var n,e,t=0,r="";t<arguments.length;)(n=arguments[t++])&&(e=pC(n))&&(r&&(r+=" "),r+=e);return r}var bs=require("react");var gC=require("react");var $u=class{constructor(e=0,t=0){this.keys=new Map,this.free=[],this.nextKeyValue=0,this.reset(e,t)}next(){return this.free.length?this.free.pop():this.nextKeyValue++}reset(e,t){this.keys.forEach((o,s)=>{(s<e||s>=t)&&(this.free.push(o),this.keys.delete(s))});let r=t-e;this.keys.size+this.free.length>r&&(this.free.length=r-this.keys.size);for(let o=e;o<t;o++)if(!this.keys.has(o)){let s=this.next();this.keys.set(o,s)}}keyFor(e){return this.keys.get(e)}};var WI=([n],[e])=>n-e,mC=5,bC=({data:n,listItemGapSize:e=0,listItemHeight:t,viewportRange:r})=>{let o=(0,gC.useMemo)(()=>new $u(0,1),[]),s=t+e,i=Math.max(0,r.from-mC),l=Math.min(n.length,r.to+mC);return o.reset(i,l),n.slice(i,l).map((c,u)=>[o.keyFor(u+i),(u+i)*s,u+i+1,c]).sort(WI)};var gs=require("react/jsx-runtime"),_I="No data to display",Wu=(0,Ti.makePrefixer)("saltList"),KI=(0,bs.memo)(ds),n5=(0,bs.forwardRef)(function({borderless:e,children:t,className:r,collapsibleHeaders:o=!1,defaultHighlightedIndex:s,defaultSelected:i,disabled:l=!1,disableFocus:a=!1,disableTypeToSelect:c,displayedItemCount:u=10,emptyMessage:h,getItemHeight:d,getItemId:f,height:p,highlightedIndex:m,id:g,itemGapSize:b=0,itemHeight:C,itemTextHighlightPattern:v,itemToString:x,maxHeight:w,maxWidth:y,minHeight:S,minWidth:D,onDragStart:k,onDrop:E,onSelect:N,onSelectionChange:T,onViewportScroll:M,onHighlight:P,restoreLastFocus:L,selected:O,selectionStrategy:I,scrollingApiRef:A,selectionKeys:H,showEmptyMessage:V=!1,source:z,style:$,stickyHeaders:q,tabToSelect:Q,width:J,...G},Y){let ge=(0,Ti.useIdMemo)(g),de=(0,bs.useRef)(null),Ge=(0,bs.useRef)(null),Re=vo({id:ge,label:"List",source:z,children:t,options:{collapsibleHeaders:o,getItemId:f,itemToString:x}}),{contentHeight:$e,listItemHeight:Ae,listHeight:Fe}=Bu({borderless:e,displayedItemCount:u,height:p,itemCount:Re.data.length,itemGapSize:b,itemHeight:C,rootRef:de,rowHeightRef:Ge}),{focusVisible:Ct,highlightedIndex:ze,listControlProps:pt,listHandlers:zt,scrollIntoView:Le,selected:mt}=wo({collapsibleHeaders:o,collectionHook:Re,containerRef:de,defaultHighlightedIndex:s,defaultSelected:Re.itemToCollectionItem(i),disabled:l,disableTypeToSelect:c,highlightedIndex:m,label:ge,onSelect:N,onSelectionChange:T,onHighlight:P,restoreLastFocus:L,selected:Re.itemToCollectionItem(O),selectionStrategy:I,selectionKeys:H,stickyHeaders:q,tabToSelect:Q}),{onVerticalScroll:j,viewportRange:re}=Fu({containerSize:typeof Fe=="number"?Fe:0,itemCount:Re.data.length,itemGapSize:b,itemSize:Ae});console.log({viewPortRange:re});let se=bC({data:Re.data,listItemGapSize:b,listItemHeight:Ae,viewportRange:re});Iu({collectionHook:Re,forwardedRef:A,scrollableRef:de,scrollIntoView:Le});function me(ne,oe,be){let[je,gt,B,_]=oe,fe=B-1;ne.push((0,gs.jsx)(KI,{"aria-setsize":Re.data.length,"aria-posinset":B,className:vp(r,{saltHighlighted:fe===ze,saltFocusVisible:Ct===fe}),"data-idx":fe,item:_,label:_.label,"data-offset":gt,role:"option",selected:Cu(mt,_),id:_.id,translate3d:gt},je)),be.value+=1}function Pe(ne,oe={value:0},be=ne.length){let je=[];for(;oe.value<be;){let gt=ne[oe.value];me(je,gt,oe)}return je}function qe(){return h||V?(0,gs.jsx)("span",{className:Wu("empty-message"),children:h!=null?h:_I}):null}let ke=()=>{if(se.length)return Pe(se);qe()},X={"--list-item-gap":b?`${b}px`:void 0,minWidth:D,minHeight:S,width:J!=null?J:"100%",height:p!=null?p:"100%",maxWidth:y!=null?y:J,maxHeight:w!=null?w:Fe};return(0,gs.jsx)("div",{...G,...zt,...pt,className:vp(Wu(),r,Wu("virtualized")),id:`${ge}`,ref:(0,Ti.useForkRef)(de,Y),role:"listbox",onScroll:j,style:{...$,...X},tabIndex:l||a?void 0:0,children:(0,gs.jsxs)("div",{className:Wu("scrollingContentContainer"),style:{height:$e},children:[(0,gs.jsx)(Lu,{ref:Ge}),ke()]})})});var UI=U(require("classnames"));var GI=require("react/jsx-runtime");var yC=require("@salt-ds/core"),Ei=require("react");var xC=({collectionHook:n,defaultHighlightedIndex:e,defaultIsOpen:t,defaultSelected:r,highlightedIndex:o,isOpen:s,itemToString:i=An,listRef:l,onHighlight:a,onOpenChange:c,onSelectionChange:u,onSelect:h,selected:d,selectionStrategy:f})=>{let p=f==="multiple"||f==="extended",[m,g]=(0,yC.useControlled)({controlled:s,default:t!=null?t:!1,name:"useDropdownList"}),b=(0,Ei.useCallback)((y,S)=>{p||(g(!1),c==null||c(!1)),u==null||u(y,S)},[p,c,u,g]),C=(0,Ei.useCallback)((y,S)=>{p||(g(!1),c==null||c(!1)),h==null||h(y,S)},[p,c,h,g]),v=wo({collectionHook:n,defaultHighlightedIndex:(e!=null?e:o===void 0)?0:void 0,defaultSelected:r,label:"DropDown",onSelectionChange:b,onSelect:C,containerRef:l,highlightedIndex:o,onHighlight:a,selected:d,selectionStrategy:f,tabToSelect:!p}),x=(0,Ei.useCallback)(y=>{g(y),c==null||c(y)},[c,g]),w=(0,Ei.useMemo)(()=>{if(p&&Array.isArray(v.selected)){let y=v.selected.map(S=>n.itemById(S));if(y.length===0)return;if(y.length===1){let[S]=y;return S===null?void 0:i(S)}else return`${y.length} items selected`}else{let y=v.selected;return y==null?void 0:i(n.itemById(y))}},[n,p,i,v.selected]);return{isOpen:m,onOpenChange:x,triggerLabel:w,...v}};var Ri=require("react/jsx-runtime"),_u=(0,_r.forwardRef)(function({"aria-label":e,children:t,defaultIsOpen:r,defaultSelected:o,id:s,isOpen:i,itemToString:l=An,onOpenChange:a,onSelectionChange:c,onSelect:u,selected:h,selectionStrategy:d,source:f,triggerComponent:p,ListItem:m,ListProps:g,width:b=180,...C},v){let x=lt(s),w=(0,_r.useRef)(null),y=(0,_r.useRef)(null),S=(0,vC.useForkRef)(w,v),D=vo({id:x,source:f,children:t,options:{itemToString:l}}),{highlightedIndex:k,triggerLabel:E,listHandlers:N,listControlProps:T,selected:M,...P}=xC({collectionHook:D,defaultHighlightedIndex:g==null?void 0:g.defaultHighlightedIndex,defaultIsOpen:r,defaultSelected:D.itemToCollectionItemId(o),highlightedIndex:g==null?void 0:g.highlightedIndex,isOpen:i,itemToString:l,label:"Dropdown",listRef:y,onHighlight:g==null?void 0:g.onHighlight,onOpenChange:a,onSelectionChange:c,onSelect:u,selected:D.itemToCollectionItemId(h),selectionStrategy:d}),L=(0,_r.useCallback)(I=>{if(Array.isArray(I))return I.map(A=>D.itemById(A));if(I)return D.itemById(I)},[D]),O=()=>{let I={"aria-activedescendant":P.isOpen?T==null?void 0:T["aria-activedescendant"]:void 0,"aria-label":e};if(p){let A=p.props;return(0,_r.cloneElement)(p,yi(A,{...P.isOpen?T:{},...I}))}else return(0,Ri.jsx)(vv,{label:E,...P.isOpen?T:{},...I})};return(0,Ri.jsx)(bu,{collectionHook:D,children:(0,Ri.jsxs)(Ru,{...C,id:x,isOpen:P.isOpen,onOpenChange:P.onOpenChange,placement:(g==null?void 0:g.width)===void 0?"below-full-width":"below",ref:S,width:b,children:[O(),(0,Ri.jsx)(ms,{ListItem:m,itemToString:l,...g,highlightedIndex:k,listHandlers:N,onSelectionChange:c,onSelect:u,ref:y,selected:L(M),selectionStrategy:d})]})})});var Cp=require("@salt-ds/core");var Ne=require("react");var qI=["Enter"],CC=({allowFreeText:n,ariaLabel:e,collectionHook:t,defaultIsOpen:r,defaultValue:o,onBlur:s,onFocus:i,onChange:l,onSelect:a,id:c,initialHighlightedIndex:u=-1,isOpen:h,itemToString:d=An,listRef:f,onOpenChange:p,onSelectionChange:m,selectionStrategy:g,stringToItem:b,value:C,InputProps:v={onBlur:s,onFocus:i,onChange:l,onSelect:a}})=>{var gt;let x=g==="multiple"||g==="extended",w=(gt=t.stringToCollectionItem(C!=null?C:o))!=null?gt:null,{data:y,itemToCollectionItem:S,setFilterPattern:D,stringToCollectionItem:k}=t,E=(0,Ne.useRef)(null),N=(0,Ne.useRef)(null),T=(0,Ne.useRef)(!0),M=(0,Ne.useRef)(w),[P,L]=(0,Cp.useControlled)({controlled:h,default:r!=null?r:!1,name:"useDropdownList"}),[O,I]=(0,Cp.useControlled)({controlled:void 0,default:o!=null?o:"",name:"ComboBox",state:"value"}),A=(0,Ne.useCallback)(B=>Array.isArray(B)?B.map(_=>_.value):B&&B.value,[]),[H,V]=(0,Ne.useState)(!0),[z,$]=(0,Ne.useState)(!1),q=(0,Ne.useCallback)((B=M.current)=>{var _,fe;if(Array.isArray(B))console.log("TODO multi selection");else if(B==null)(_=E.current)==null||_.call(E,-1);else{let Oe=y.indexOf(B);(fe=E.current)==null||fe.call(E,Oe)}},[y]),Q=(0,Ne.useCallback)(B=>{I(B),D(B===""?void 0:B)},[D,I]),J=(0,Ne.useCallback)((B=M.current)=>{var fe;let _="";Array.isArray(B)?console.log("TODO multi selection"):B!=null&&B.value!==null&&(_=d(B.value)),Q(_),_===""?(fe=E.current)==null||fe.call(E,-1):q(B)},[q,d,Q]),G=(0,Ne.useCallback)((B,_)=>{x||L(!1),M.current=_,J(_),m==null||m(B,A(_!=null?_:null))},[A,x,m,J,L]),Y=(0,Ne.useCallback)((B,_)=>{if(!x){let fe=S(_);G(B,fe)}},[G,x,S]),ge=(0,Ne.useCallback)(B=>{if(!n&&B.key==="Enter"&&z){let[_]=y;G(B,_)}},[n,G,y,z]),de=(0,Ne.useCallback)(B=>{B.key==="Escape"?n?Q(""):J():B.key==="Tab"&&(n||J()),ge(B)},[n,ge,J,Q]),Ge=(0,Ne.useCallback)(()=>{V(!1)},[]),{focusVisible:Re,setHighlightedIndex:$e,highlightedIndex:Ae,listControlProps:Fe,listHandlers:Ct,selected:ze,setSelected:pt}=wo({collectionHook:t,containerRef:f,defaultHighlightedIndex:u,disableAriaActiveDescendant:H,disableHighlightOnFocus:!0,disableTypeToSelect:!0,label:"useComboBox",onKeyboardNavigation:Ge,onKeyDown:de,onSelectionChange:Y,selected:M.current,selectionKeys:qI,selectionStrategy:g,tabToSelect:!x});E.current=$e,N.current=pt;let zt=(0,Ne.useCallback)(B=>{L(B),B||$(!1),p==null||p(B)},[p,L]),{onClick:Le}=Ct,mt=(0,Ne.useCallback)(B=>{var _;(_=document.getElementById(`${c}-input`))==null||_.focus(),Le==null||Le(B)},[c,Le]),j=(0,Ne.useCallback)(B=>{let _=B.target.value;I(_),_&&_.trim().length?D(_):(D(void 0),M.current=null,m==null||m(B,null)),L(!0),$(_.length>0&&!n)},[n,m,D,L,I]),{onFocus:re=i}=v,{onFocus:se}=Fe,me=(0,Ne.useCallback)(B=>{V(!1),se==null||se(B),re==null||re(B)},[re,se]),Pe=(0,Ne.useCallback)(B=>{let _=B.relatedTarget;return(_==null?void 0:_.id)===`${c}-list`},[c]),qe=(0,Ne.useCallback)(B=>{var fe;let _=O.trim();if(_){let Oe=k(_);Oe?Array.isArray(Oe)||Oe!==ze&&((fe=N.current)==null||fe.call(N,Oe),m==null||m(B,Oe.value)):b&&b(_)&&console.log("we have a new item")}},[m,ze,b,k,O]),{onBlur:ke=s}=v,{onBlur:X}=Fe,ne=(0,Ne.useCallback)(B=>{Pe(B)||(X==null||X(B),ke==null||ke(B),n?qe(B):J(),V(!0),T.current=!0,L(!1))},[Pe,X,ke,n,L,qe,J]),{onSelect:oe}=v,be=(0,Ne.useCallback)(B=>{T.current?T.current=!1:V(!0),oe==null||oe(B)},[oe]);Pn(()=>{xo(ze)?q():$e(u),y.length===0&&L(!1)},[q,y.length,u,ze,$e,L]);let je={...v.inputProps,"aria-label":e};return{focusVisible:Re,highlightedIndex:Ae,isOpen:P,onOpenChange:zt,inputProps:{...v,id:`${c}-input`,inputProps:je,onChange:j,onSelect:be,role:"combobox",value:O},listControlProps:{...Fe,onBlur:ne,onFocus:me},listHandlers:{...Ct,onClick:mt},selected:ze}};var wC=U(require("classnames"));var TC=require("react/jsx-runtime"),jI="vuuChevronIcon",SC=n=>{let{direction:e,...t}=n;return(0,TC.jsx)("span",{...t,className:(0,wC.default)(jI,e)})};var ys=require("react/jsx-runtime"),A4=(0,Di.forwardRef)(function({InputProps:e,ListProps:t,ListItem:r,"aria-label":o,allowFreeText:s,children:i,defaultIsOpen:l,defaultValue:a,disabled:c,onBlur:u,onFocus:h,onChange:d,onSelect:f,getFilterRegex:p,id:m,initialHighlightedIndex:g=-1,isOpen:b,itemToString:C,onOpenChange:v,onSelectionChange:x,selectionStrategy:w,source:y,stringToItem:S,value:D,width:k=180,...E},N){let T=lt(m),M=(0,Di.useRef)(null),P=vo({id:T,source:y,children:i,options:{filterPattern:D!=null?D:a,getFilterRegex:p,itemToString:C}}),{focusVisible:L,highlightedIndex:O,inputProps:{endAdornment:I,...A},isOpen:H,listHandlers:V,listControlProps:z,onOpenChange:$,selected:q}=CC({InputProps:e,allowFreeText:s,ariaLabel:o,collectionHook:P,defaultIsOpen:l,defaultValue:a,disabled:c,initialHighlightedIndex:g,listRef:M,onBlur:u,onFocus:h,onChange:d,onSelect:f,id:T,isOpen:b,itemToString:C,label:"ComboBox",onOpenChange:v,onSelectionChange:x,selectionStrategy:w,stringToItem:S,value:D}),Q=(0,Di.useCallback)(G=>Array.isArray(G)?G.map(Y=>Y.value):G&&G.value,[]);return(0,ys.jsx)(bu,{collectionHook:P,children:(0,ys.jsxs)(Ru,{...E,fullWidth:!0,id:T,isOpen:H,onOpenChange:$,openOnFocus:!0,ref:N,width:k,children:[(0,ys.jsx)(EC.Input,{...A,disabled:c,...z,endAdornment:I===null?null:(0,ys.jsx)(SC,{direction:H?"up":"down",onClick:()=>{$(!H)}})}),(0,ys.jsx)(ms,{...t,ListItem:r,focusVisible:L,highlightedIndex:O,itemTextHighlightPattern:String(A.value)||void 0,id:`${T}-list`,listHandlers:V,onSelectionChange:x,ref:M,selected:Q(q),selectionStrategy:w})]})})});var RC=require("@vuu-ui/vuu-utils"),DC=n=>e=>QI(n,e);function QI(n,e){console.log(`apply rules to ${e}`);let t;for(let r of n){let o=(0,RC.getEditRuleValidator)(r.name);if(o){let s=o(r,e);switch(s){case!0:break;case!1:t===void 0&&(t=!1);break;default:t===void 0||t===!1?t=s:t+=`::${s}`}}else throw Error(`editable-utils applyRules, no validator registered for rule '${r.name}'`)}return console.log(t),t}var nr=require("react"),kC=n=>{let e=new Event("vuu-commit");n.dispatchEvent(e)},MC=({clientSideEditValidationCheck:n,initialValue:e,onCommit:t})=>{let[r,o]=(0,nr.useState)(),[s,i]=(0,nr.useState)(e),l=(0,nr.useRef)(e),a=(0,nr.useRef)(!1),c=(0,nr.useRef)(!1),u=(0,nr.useCallback)(()=>{console.log("blur")},[]),h=(0,nr.useCallback)(f=>{if(f.key==="Enter")if(f.stopPropagation(),a.current){c.current=!0;let p=n==null?void 0:n(s);p?o(p):(o(void 0),t(s)&&(a.current=!1,kC(f.target)))}else kC(f.target),c.current=!1;else f.key==="ArrowRight"||f.key==="ArrowLeft"||f.key==="ArrowUp"||f.key==="ArrowDown"?f.stopPropagation():f.key==="Escape"&&a.current&&(a.current=!1,o(void 0),i(l.current))},[n,t,s]),d=(0,nr.useCallback)(f=>{let{value:p}=f.target;if(a.current=p!==l.current,i(p),console.log(`value changes to ${p} message ${r}`),c.current){let m=n==null?void 0:n(p);console.log({warningMessage:m}),m!==r&&m!==!1&&o(m)}},[n,r]);return{onBlur:u,onChange:d,onKeyDown:h,value:s,warningMessage:r}};var PC=U(require("classnames")),rr=require("react"),wa=require("@salt-ds/core");var Uu=require("react/jsx-runtime"),Ku="vuuEditableLabel",ki=(0,rr.forwardRef)(function({className:e,defaultEditing:t,defaultValue:r,editing:o,onChange:s,onEnterEditMode:i,onExitEditMode:l,value:a,...c},u){let h=(0,rr.useRef)(null),d=(0,rr.useRef)(!1),[f,p]=(0,wa.useControlled)({controlled:a,default:r!=null?r:"",name:"EditableLabel",state:"value"}),[m,g]=(0,wa.useControlled)({controlled:o,default:t!=null?t:!1,name:"EditableLabel",state:"editing"}),b=(0,rr.useCallback)(E=>{g(d.current=E)},[g]),C=(0,rr.useRef)(f);(0,rr.useLayoutEffect)(()=>{m&&h.current!==null&&(h.current.select(),h.current.focus())},[m,h]);let v=(0,rr.useCallback)(()=>{b(!0),i&&i()},[i,b]),x=({cancelEdit:E=!1,allowDeactivation:N=!1}={})=>{b(!1);let T=C.current;T!==f&&(E?p(T):C.current=f),l&&l(T,f,N,E)},w=E=>{let{value:N}=E.target;p(N),s&&s(N)},y=()=>{v()},S=()=>{d.current&&x({allowDeactivation:!0})},D=E=>{m&&E.key==="Enter"?(E.stopPropagation(),x()):E.key==="ArrowRight"||E.key==="ArrowLeft"?E.stopPropagation():E.key==="Escape"&&x({cancelEdit:!0})},k=(0,PC.default)(Ku,e,{[`${Ku}-editing`]:m});return(0,Uu.jsx)("div",{...c,className:k,onDoubleClick:y,"data-text":f,ref:u,children:m?(0,Uu.jsx)(wa.Input,{inputProps:{className:`${Ku}-input`,spellCheck:!1},value:f,onBlur:S,onChange:w,onKeyDown:D,inputRef:h,style:{padding:0},textAlign:"left",variant:"secondary"}):(0,Uu.jsx)("span",{className:`${Ku}-label`,children:f})})});var AC=require("@salt-ds/core"),LC=U(require("classnames")),OC=require("react");var wp=require("react/jsx-runtime"),IC="vuuExpandoInput",sq=(0,OC.forwardRef)(function({className:e,value:t,inputProps:r,...o},s){return(0,wp.jsx)("div",{className:(0,LC.default)(IC,e),"data-text":t,children:(0,wp.jsx)(AC.Input,{...o,inputProps:{...r,className:`${IC}-input`},ref:s,style:{padding:0},textAlign:"left",value:t,variant:"secondary"})})});var NC=require("react/jsx-runtime");var HC=require("react/jsx-runtime");var VC=require("react");var XI=require("react/jsx-runtime");var BC=require("@vuu-ui/vuu-utils"),Rp=n=>(e,t)=>{let r=[];if(n===void 0)return r;if(e==="header"||e==="column-menu")r.push(...JI(t,n)),r.push(...e1(t,n)),r.push(...YI(t,n)),r.push(...ZI(t)),r.push({action:"column-settings",icon:"cog",label:"Column Settings",options:t}),r.push({action:"table-settings",icon:"cog",label:"DataGrid Settings",options:t});else if(e==="filter"){let{column:o,filter:s}=t,i=(s==null?void 0:s.column)===(o==null?void 0:o.name);r.push({label:"Edit filter",action:"filter-edit",options:t}),r.push({label:"Remove filter",action:"filter-remove-column",options:t}),o&&!i&&r.push({label:"Remove all filters",action:"remove-filters",options:t})}return r};function JI(n,{sort:{sortDefs:e}}){let{column:t}=n,r=[];if(t===void 0)return r;let o=e.length>0;return t.sorted==="A"?r.push({label:"Reverse Sort (DSC)",action:"sort-dsc",options:n}):t.sorted==="D"?r.push({label:"Reverse Sort (ASC)",action:"sort-asc",options:n}):typeof t.sorted=="number"?(t.sorted>0?r.push({label:"Reverse Sort (DSC)",action:"sort-add-dsc",options:n}):r.push({label:"Reverse Sort (ASC)",action:"sort-add-asc",options:n}),o&&Math.abs(t.sorted)<e.length&&r.push({label:"Remove from sort",action:"sort-remove",options:n}),r.push({label:"New Sort",children:[{label:"Ascending",action:"sort-asc",options:n},{label:"Descending",action:"sort-dsc",options:n}]})):o?(r.push({label:"Add to sort",children:[{label:"Ascending",action:"sort-add-asc",options:n},{label:"Descending",action:"sort-add-dsc",options:n}]}),r.push({label:"New Sort",children:[{label:"Ascending",action:"sort-asc",options:n},{label:"Descending",action:"sort-dsc",options:n}]})):r.push({label:"Sort",children:[{label:"Ascending",action:"sort-asc",options:n},{label:"Descending",action:"sort-dsc",options:n}]}),r}function YI(n,e){let{column:t}=n;if(t===void 0||e.groupBy.length===0)return[];let{name:r,label:o=r}=t;return[{label:`Aggregate ${o}`,children:[{label:"Count",action:"agg-count",options:n},{label:"Distinct",action:"agg-distinct",options:n}].concat((0,BC.isNumericColumn)(t)?[{label:"Sum",action:"agg-sum",options:n},{label:"Avg",action:"agg-avg",options:n},{label:"High",action:"agg-high",options:n},{label:"Low",action:"agg-low",options:n}]:[])}]}var Dp=(n,e)=>({label:`Pin ${e}`,action:`column-pin-${e}`,options:n}),Sp=n=>Dp(n,"left"),Tp=n=>Dp(n,"floating"),Ep=n=>Dp(n,"right");function ZI(n){let{column:e}=n;if(e===void 0)return[];let{pin:t}=e,r=[{label:"Hide column",action:"column-hide",options:n},{label:"Remove column",action:"column-remove",options:n}];return t===void 0?r.push({label:"Pin column",children:[Sp(n),Tp(n),Ep(n)]}):t==="left"?r.push({label:"Unpin column",action:"column-unpin",options:n},{label:"Pin column",children:[Tp(n),Ep(n)]}):t==="right"?r.push({label:"Unpin column",action:"column-unpin",options:n},{label:"Pin column",children:[Sp(n),Tp(n)]}):t==="floating"&&r.push({label:"Unpin column",action:"column-unpin",options:n},{label:"Pin column",children:[Sp(n),Ep(n)]}),r}function e1(n,{groupBy:e}){let{column:t}=n,r=[];if(t===void 0)return r;let{name:o,label:s=o}=t;return e.length===0?r.push({label:`Group by ${s}`,action:"group",options:n}):r.push({label:`Add ${s} to group by`,action:"group-add",options:n}),r}var FC=require("@vuu-ui/vuu-utils"),xt=require("@vuu-ui/vuu-utils"),t1=(n,e)=>{if(n.filterStruct&&e){let[t,r]=(0,FC.removeColumnFromFilter)(e,n.filterStruct);return{filter:r,filterStruct:t}}else return n},{Average:n1,Count:r1,Distinct:o1,High:s1,Low:i1,Sum:l1}=xt.AggregationType,kp=({dataSource:n,onPersistentColumnOperation:e})=>r=>{let o=r.options;if(o.column&&n){let{column:s}=o;switch(r.menuId){case"sort-asc":return n.sort=(0,xt.setSortColumn)(n.sort,s,"A"),!0;case"sort-dsc":return n.sort=(0,xt.setSortColumn)(n.sort,s,"D"),!0;case"sort-add-asc":return n.sort=(0,xt.addSortColumn)(n.sort,s,"A"),!0;case"sort-add-dsc":return n.sort=(0,xt.addSortColumn)(n.sort,s,"D"),!0;case"group":return n.groupBy=(0,xt.addGroupColumn)(n.groupBy,s),!0;case"group-add":return n.groupBy=(0,xt.addGroupColumn)(n.groupBy,s),!0;case"column-hide":return e({type:"hideColumns",columns:[s]}),!0;case"column-remove":return n.columns=n.columns.filter(i=>i!==s.name),!0;case"filter-remove-column":return n.filter=t1(n.filter,s),!0;case"remove-filters":return n.filter={filter:""},!0;case"agg-avg":return n.aggregations=(0,xt.setAggregations)(n.aggregations,s,n1),!0;case"agg-high":return n.aggregations=(0,xt.setAggregations)(n.aggregations,s,s1),!0;case"agg-low":return n.aggregations=(0,xt.setAggregations)(n.aggregations,s,i1),!0;case"agg-count":return n.aggregations=(0,xt.setAggregations)(n.aggregations,s,r1),!0;case"agg-distinct":return n.aggregations=(0,xt.setAggregations)(n.aggregations,s,o1),!0;case"agg-sum":return n.aggregations=(0,xt.setAggregations)(n.aggregations,s,l1),!0;case"column-pin-floating":return e({type:"pinColumn",column:s,pin:"floating"}),!0;case"column-pin-left":return e({type:"pinColumn",column:s,pin:"left"}),!0;case"column-pin-right":return e({type:"pinColumn",column:s,pin:"right"}),!0;case"column-unpin":return e({type:"pinColumn",column:s,pin:void 0}),!0;case"column-settings":return e({type:"columnSettings",column:s}),!0;case"table-settings":return e({type:"tableSettings"}),!0;default:}}return!1};var JA=require("@vuu-ui/vuu-popups"),Yw=require("@salt-ds/core");var xs=require("@vuu-ui/vuu-utils"),JC=require("react");var yn=require("@vuu-ui/vuu-utils"),UC=U(require("classnames")),Ta=require("react");var Gu=require("@vuu-ui/vuu-utils");var $C=U(require("classnames")),Kr=require("react");var Sa=require("react/jsx-runtime"),{KEY:zC}=Gu.metadataKeys,Mp=(0,Kr.memo)(({className:n,column:e,columnMap:t,onClick:r,row:o})=>{let s=(0,Kr.useRef)(null),{align:i,CellRenderer:l,key:a,pin:c,editable:u,resizing:h,valueFormatter:d}=e,[f,p]=(0,Kr.useState)(!1),m=d(o[a]),[g,b]=(0,Kr.useState)(m),C=()=>{var k;(k=s.current)==null||k.focus()},v=k=>{k.key==="Enter"&&p(!0)},x=(0,Kr.useCallback)(k=>{r==null||r(k,e)},[e,r]),w=()=>{p(!0)},y=(k="",E="",N=!0,T=!1)=>{var M;p(!1),T?b(k):E!==k&&b(E),N===!1&&((M=s.current)==null||M.focus())},S=(0,$C.default)(n,{vuuAlignRight:i==="right",vuuPinFloating:c==="floating",vuuPinLeft:c==="left",vuuPinRight:c==="right","vuuTableCell-resizing":h})||void 0,D=(0,Gu.getColumnStyle)(e);return u?(0,Sa.jsx)("div",{className:S,"data-editable":!0,role:"cell",style:D,onKeyDown:v,children:(0,Sa.jsx)(ki,{editing:f,value:g,onChange:b,onMouseDownCapture:C,onEnterEditMode:w,onExitEditMode:y,onKeyDown:v,ref:s,tabIndex:0},"title")}):(0,Sa.jsx)("div",{className:S,role:"cell",style:D,onClick:x,children:l?(0,Sa.jsx)(l,{column:e,columnMap:t,row:o}):m})},a1);Mp.displayName="TableCell";function a1(n,e){return n.column===e.column&&n.onClick===e.onClick&&n.row[zC]===e.row[zC]&&n.row[n.column.key]===e.row[e.column.key]}var Pi=require("@vuu-ui/vuu-utils"),WC=require("react");var Mi=require("react/jsx-runtime"),{IS_LEAF:c1}=Pi.metadataKeys,_C=({column:n,onClick:e,row:t})=>{let{columns:r}=n,[o,s]=(0,Pi.getGroupValueAndOffset)(r,t),i=(0,WC.useCallback)(u=>{e==null||e(u,n)},[n,e]),l=(0,Pi.getColumnStyle)(n),a=t[c1],c=Array(s).fill(0).map((u,h)=>(0,Mi.jsx)("span",{className:"vuuTableGroupCell-spacer"},h));return(0,Mi.jsxs)("div",{className:"vuuTableGroupCell vuuPinLeft",onClick:a?void 0:i,role:"cell",style:l,children:[c,a?null:(0,Mi.jsx)("span",{className:"vuuTableGroupCell-toggle","data-icon":"triangle-right"}),(0,Mi.jsx)("span",{children:o})]})};var Ea=require("react/jsx-runtime"),{IDX:u1,IS_EXPANDED:h1,SELECTED:d1}=yn.metadataKeys,{True:KC,First:f1,Last:p1}=yn.RowSelected,Ii="vuuTableRow",m1=(0,Ta.memo)(function({columnMap:e,columns:t,offset:r,onClick:o,onToggleGroup:s,virtualColSpan:i=0,row:l}){let{[u1]:a,[h1]:c,[d1]:u}=l,h=(0,UC.default)(Ii,{[`${Ii}-even`]:a%2===0,[`${Ii}-expanded`]:c,[`${Ii}-selected`]:u&KC,[`${Ii}-selectedStart`]:u&f1,[`${Ii}-selectedEnd`]:u&p1}),d=(0,Ta.useCallback)(p=>{let m=p.shiftKey,g=p.ctrlKey||p.metaKey;o==null||o(l,m,g)},[o,l]),f=(0,Ta.useCallback)((p,m)=>{((0,yn.isGroupColumn)(m)||(0,yn.isJsonGroup)(m,l))&&(p.stopPropagation(),s==null||s(l,m))},[s,l]);return(0,Ea.jsxs)("div",{"aria-selected":u&KC?!0:void 0,"aria-rowindex":a,className:h,onClick:d,role:"row",style:{transform:`translate3d(0px, ${r}px, 0px)`},children:[i>0?(0,Ea.jsx)("div",{role:"cell",style:{width:i}}):null,t.filter(yn.notHidden).map(p=>{let m=(0,yn.isGroupColumn)(p),g=(0,yn.isJsonColumn)(p);return(0,Ea.jsx)(m?_C:Mp,{column:p,columnMap:e,onClick:m||g?f:void 0,row:l},p.name)})]})});var y1=U(require("classnames")),x1=require("react");var GC=require("react");var qC=require("react/jsx-runtime");var E1=U(require("classnames")),QC=require("react");var v1=U(require("classnames"));var jC=require("react/jsx-runtime");var R1=require("@vuu-ui/vuu-popups");var C1=require("@vuu-ui/vuu-popups"),w1=U(require("classnames")),S1=require("react");var T1=require("react/jsx-runtime");var XC=require("react/jsx-runtime");var YC=require("react/jsx-runtime");var{RENDER_IDX:B8}=xs.metadataKeys;var XA=require("@vuu-ui/vuu-popups"),Ki=require("@vuu-ui/vuu-utils"),Ba=require("react");var qu=require("@vuu-ui/vuu-utils"),Ra=require("react"),{SELECTED:z8}=qu.metadataKeys;var nm=require("react");var Li=require("@vuu-ui/vuu-utils");var Da=(n,e)=>n===e?!0:n===void 0&&e===void 0,D1=({filter:n},{filter:e})=>n===void 0&&(e==null?void 0:e.filter)===""||e===void 0&&(n==null?void 0:n.filter)==="",k1=(n,e)=>{var t,r;return D1(n,e)?!1:((t=n.filter)==null?void 0:t.filter)!==((r=e.filter)==null?void 0:r.filter)},M1=({sort:n},{sort:e})=>n===void 0&&(e==null?void 0:e.sortDefs.length)===0||e===void 0&&(n==null?void 0:n.sortDefs.length)===0,P1=(n,e)=>{let{sort:t}=n,{sort:r}=e;return Da(t,r)||M1(n,e)?!1:t===void 0||r===void 0||(t==null?void 0:t.sortDefs.length)!==(r==null?void 0:r.sortDefs.length)?!0:t.sortDefs.some(({column:o,sortType:s},i)=>o!==r.sortDefs[i].column||s!==r.sortDefs[i].sortType)},ZC=n=>n!==void 0&&n.groupBy!==void 0&&n.groupBy.length>0,ew=n=>(n==null?void 0:n.filter)!==void 0&&n.filter.filter.length>0,tw=n=>{var e;return(n==null?void 0:n.sort)!==void 0&&Array.isArray((e=n.sort)==null?void 0:e.sortDefs)&&n.sort.sortDefs.length>0},I1=({groupBy:n},{groupBy:e})=>n===void 0&&(e==null?void 0:e.length)===0||e===void 0&&(n==null?void 0:n.length)===0,Pp=(n,e)=>{let{groupBy:t}=n,{groupBy:r}=e;return Da(t,r)||I1(n,e)?!1:t===void 0||r===void 0||(t==null?void 0:t.length)!==(r==null?void 0:r.length)?!0:t.some((o,s)=>o!==(r==null?void 0:r[s]))},A1=({columns:n},{columns:e})=>n===void 0&&(e==null?void 0:e.length)===0||e===void 0&&(n==null?void 0:n.length)===0,L1=(n,e)=>{let{columns:t}=n,{columns:r}=e;return Da(t,r)||A1(n,e)?!1:t===void 0||r===void 0||(t==null?void 0:t.length)!==(r==null?void 0:r.length)?!0:t.some((o,s)=>o!==(r==null?void 0:r[s]))},O1=({aggregations:n},{aggregations:e})=>n===void 0&&(e==null?void 0:e.length)===0||e===void 0&&(n==null?void 0:n.length)===0,N1=(n,e)=>{let{aggregations:t}=n,{aggregations:r}=e;return Da(t,r)||O1(n,e)?!1:t===void 0||r===void 0||t.length!==r.length?!0:t.some(({column:o,aggType:s},i)=>o!==r[i].column||s!==r[i].aggType)},H1=()=>!1,ju=(n,e)=>Da(n,e)?!1:n===void 0||e===void 0?!0:L1(n,e)||k1(n,e)||P1(n,e)||Pp(n,e)||N1(n,e)||H1(n,e),V1=["config","aggregate","viewport-update","columns","debounce-begin","disabled","enabled","filter","groupBy","vuu-link-created","vuu-link-removed","vuu-links","vuu-menu","sort","subscribed"],nw=n=>{let e=n.type;return V1.includes(e)},rw=n=>["config","aggregate","columns","filter","groupBy","sort"].includes(n.type),B1={filter:""},F1={sortDefs:[]},Qu={aggregations:[],columns:[],filter:B1,groupBy:[],sort:F1},Xu=n=>{if(n.aggregations&&n.columns&&n.filter&&n.groupBy&&n.sort)return n;{let{aggregations:e=[],columns:t=[],filter:r={filter:""},groupBy:o=[],sort:s={sortDefs:[]},visualLink:i}=n;return{aggregations:e,columns:t,filter:r,groupBy:o,sort:s,visualLink:i}}};var ow="GET_TABLE_LIST",sw="GET_TABLE_META";var Ip=n=>n.type==="connection-status",iw=n=>n.type==="connection-metrics",lw=n=>typeof n.result<"u",aw=n=>n.type==="TABLE_META_RESP";var cw='\nvar me=(s,e,t)=>{if(!e.has(s))throw TypeError("Cannot "+t)};var d=(s,e,t)=>(me(s,e,"read from private field"),t?t.call(s):e.get(s)),F=(s,e,t)=>{if(e.has(s))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(s):e.set(s,t)},he=(s,e,t,n)=>(me(s,e,"write to private field"),n?n.call(s,t):e.set(s,t),t);function be(s,e,t=[],n=[]){for(let r=0,o=s.length;r<o;r++)(e(s[r],r)?t:n).push(s[r]);return[t,n]}var x={IDX:0,RENDER_IDX:1,IS_LEAF:2,IS_EXPANDED:3,DEPTH:4,COUNT:5,KEY:6,SELECTED:7,count:8,PARENT_IDX:"parent_idx",IDX_POINTER:"idx_pointer",FILTER_COUNT:"filter_count",NEXT_FILTER_IDX:"next_filter_idx"};var{DEPTH:tn,IS_LEAF:nn}=x;var Ce=s=>{var e,t;if(((e=globalThis.document)==null?void 0:e.cookie)!==void 0)return(t=globalThis.document.cookie.split("; ").find(n=>n.startsWith(`${s}=`)))==null?void 0:t.split("=")[1]};function Y({from:s,to:e},t=0,n=Number.MAX_SAFE_INTEGER){if(t===0)return n<s?{from:0,to:0}:{from:s,to:Math.min(e,n)};if(s===0)return{from:s,to:Math.min(e+t,n)};{let r=e-s,o=Math.round(t/2),a=s-o<0,u=n-(e+o)<0;return a&&u?{from:0,to:n}:a?{from:0,to:r+t}:u?{from:Math.max(0,n-(r+t)),to:n}:{from:s-o,to:e+o}}}var lt=(s,{from:e,to:t})=>s>=e&&s<t;var v=class{constructor(e,t){this.from=e,this.to=t}isWithin(e){return lt(e,this)}overlap(e,t){return e>=this.to||t<this.from?[0,0]:[Math.max(e,this.from),Math.min(t,this.to)]}copy(){return new v(this.from,this.to)}};var{KEY:cn}=x;var ct=["error","warn","info","debug"],pt=s=>typeof s=="string"&&ct.includes(s),dt="error",N=()=>{},gt="error",{loggingLevel:W=gt}=ft(),w=s=>{let e=W==="debug",t=e||W==="info",n=t||W==="warn",r=n||W==="error",o=t?p=>console.info(`[${s}] ${p}`):N,a=n?p=>console.warn(`[${s}] ${p}`):N,u=e?p=>console.debug(`[${s}] ${p}`):N;return{errorEnabled:r,error:r?p=>console.error(`[${s}] ${p}`):N}};function ft(){return typeof loggingSettings<"u"?loggingSettings:{loggingLevel:mt()}}function mt(){let s=Ce("vuu-logging-level");return pt(s)?s:dt}var{debug:ht,debugEnabled:bt}=w("range-monitor"),$=class{constructor(e){this.source=e;this.range={from:0,to:0};this.timestamp=0}isSet(){return this.timestamp!==0}set({from:e,to:t}){let{timestamp:n}=this;if(this.range.from=e,this.range.to=t,this.timestamp=performance.now(),n)bt&&ht(`<${this.source}> [${e}-${t}], ${(this.timestamp-n).toFixed(0)} ms elapsed`);else return 0}};function ye(s){return Array.isArray(s)}function Ct(s){return!Array.isArray(s)}var S,Se=class{constructor(){F(this,S,new Map)}addListener(e,t){let n=d(this,S).get(e);n?ye(n)?n.push(t):Ct(n)&&d(this,S).set(e,[n,t]):d(this,S).set(e,t)}removeListener(e,t){if(!d(this,S).has(e))return;let n=d(this,S).get(e),r=-1;if(n===t)d(this,S).delete(e);else if(Array.isArray(n)){for(let o=length;o-- >0;)if(n[o]===t){r=o;break}if(r<0)return;n.length===1?(n.length=0,d(this,S).delete(e)):n.splice(r,1)}}removeAllListeners(e){e&&d(this,S).has(e)?d(this,S).delete(e):e===void 0&&d(this,S).clear()}emit(e,...t){if(d(this,S)){let n=d(this,S).get(e);n&&this.invokeHandler(n,t)}}once(e,t){let n=(...r)=>{this.removeListener(e,n),t(...r)};this.on(e,n)}on(e,t){this.addListener(e,t)}invokeHandler(e,t){if(ye(e))e.slice().forEach(n=>this.invokeHandler(n,t));else switch(t.length){case 0:e();break;case 1:e(t[0]);break;case 2:e(t[0],t[1]);break;default:e.call(null,...t)}}};S=new WeakMap;var q=String.fromCharCode(8200),m=String.fromCharCode(8199);var Rn={DIGIT:m,TWO_DIGITS:m+m,THREE_DIGITS:m+m+m,FULL_PADDING:[null,q+m,q+m+m,q+m+m+m,q+m+m+m+m]};var wn=m+m+m+m+m+m+m+m+m;var{COUNT:qn}=x;var B=class{constructor(e){this.keys=new Map,this.free=[],this.nextKeyValue=0,this.reset(e)}next(){return this.free.length>0?this.free.pop():this.nextKeyValue++}reset({from:e,to:t}){this.keys.forEach((r,o)=>{(o<e||o>=t)&&(this.free.push(r),this.keys.delete(o))});let n=t-e;this.keys.size+this.free.length>n&&(this.free.length=Math.max(0,n-this.keys.size));for(let r=e;r<t;r++)if(!this.keys.has(r)){let o=this.next();this.keys.set(r,o)}this.nextKeyValue>this.keys.size&&(this.nextKeyValue=this.keys.size)}keyFor(e){let t=this.keys.get(e);if(t===void 0)throw console.log(`key not found\n keys: ${this.toDebugString()}\n free : ${this.free.join(",")} \n `),Error(`KeySet, no key found for rowIndex ${e}`);return t}toDebugString(){return Array.from(this.keys.entries()).map((e,t)=>`${e}=>${t}`).join(",")}};var{IDX:Yn}=x;var{SELECTED:Qn}=x,I={False:0,True:1,First:2,Last:4};var yt=(s,e)=>e>=s[0]&&e<=s[1],St=I.True+I.First+I.Last,Tt=I.True+I.First,Rt=I.True+I.Last,Z=(s,e)=>{for(let t of s)if(typeof t=="number"){if(t===e)return St}else if(yt(t,e))return e===t[0]?Tt:e===t[1]?Rt:I.True;return I.False};var Te=s=>{if(s.every(t=>typeof t=="number"))return s;let e=[];for(let t of s)if(typeof t=="number")e.push(t);else for(let n=t[0];n<=t[1];n++)e.push(n);return e};var wt=(()=>{let s=0,e=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(s+=1,`u${e()}${s}`)})();var{debug:Os,debugEnabled:ks,error:Ee,info:V,infoEnabled:It,warn:_}=w("websocket-connection"),Ve="ws",vt=s=>s.startsWith(Ve+"://")||s.startsWith(Ve+"s://"),Ie={},ee=Symbol("setWebsocket"),A=Symbol("connectionCallback");async function ve(s,e,t,n=10,r=5){return Ie[s]={status:"connecting",connect:{allowed:r,remaining:r},reconnect:{allowed:n,remaining:n}},ne(s,e,t)}async function Q(s){ne(s.url,s.protocol,s[A],s)}async function ne(s,e,t,n){let{status:r,connect:o,reconnect:a}=Ie[s],u=r==="connecting"?o:a;try{t({type:"connection-status",status:"connecting"});let c=typeof n<"u",p=await _t(s,e);console.info("%c\u26A1 %cconnected","font-size: 24px;color: green;font-weight: bold;","color:green; font-size: 14px;"),n!==void 0&&n[ee](p);let i=n!=null?n:new te(p,s,e,t),l=c?"reconnected":"connection-open-awaiting-session";return t({type:"connection-status",status:l}),i.status=l,u.remaining=u.allowed,i}catch{let p=--u.remaining>0;if(t({type:"connection-status",status:"disconnected",reason:"failed to connect",retry:p}),p)return Dt(s,e,t,n,2e3);throw Error("Failed to establish connection")}}var Dt=(s,e,t,n,r)=>new Promise(o=>{setTimeout(()=>{o(ne(s,e,t,n))},r)}),_t=(s,e)=>new Promise((t,n)=>{let r=vt(s)?s:`wss://${s}`;It&&e!==void 0&&V(`WebSocket Protocol ${e==null?void 0:e.toString()}`);let o=new WebSocket(r,e);o.onopen=()=>t(o),o.onerror=a=>n(a)}),Me=()=>{_==null||_("Connection cannot be closed, socket not yet opened")},xe=s=>{_==null||_(`Message cannot be sent, socket closed ${s.body.type}`)},Pt=s=>{try{return JSON.parse(s)}catch{throw Error(`Error parsing JSON response from server ${s}`)}},te=class{constructor(e,t,n,r){this.close=Me;this.requiresLogin=!0;this.send=xe;this.status="ready";this.messagesCount=0;this.connectionMetricsInterval=null;this.handleWebsocketMessage=e=>{let t=Pt(e.data);this.messagesCount+=1,this[A](t)};this.url=t,this.protocol=n,this[A]=r,this[ee](e)}reconnect(){Q(this)}[(A,ee)](e){let t=this[A];e.onmessage=o=>{this.status="connected",e.onmessage=this.handleWebsocketMessage,this.handleWebsocketMessage(o)},this.connectionMetricsInterval=setInterval(()=>{t({type:"connection-metrics",messagesLength:this.messagesCount}),this.messagesCount=0},2e3),e.onerror=()=>{Ee("\u26A1 connection error"),t({type:"connection-status",status:"disconnected",reason:"error"}),this.connectionMetricsInterval&&(clearInterval(this.connectionMetricsInterval),this.connectionMetricsInterval=null),this.status==="connection-open-awaiting-session"?Ee("Websocket connection lost before Vuu session established, check websocket configuration"):this.status!=="closed"&&(Q(this),this.send=r)},e.onclose=()=>{V==null||V("\u26A1 connection close"),t({type:"connection-status",status:"disconnected",reason:"close"}),this.connectionMetricsInterval&&(clearInterval(this.connectionMetricsInterval),this.connectionMetricsInterval=null),this.status!=="closed"&&(Q(this),this.send=r)};let n=o=>{e.send(JSON.stringify(o))},r=o=>{V==null||V(`TODO queue message until websocket reconnected ${o.body.type}`)};this.send=n,this.close=()=>{this.status="closed",e.close(),this.close=Me,this.send=xe,V==null||V("close websocket")}}};var Lt=["VIEW_PORT_MENUS_SELECT_RPC","VIEW_PORT_MENU_TABLE_RPC","VIEW_PORT_MENU_ROW_RPC","VIEW_PORT_MENU_CELL_RPC","VP_EDIT_CELL_RPC","VP_EDIT_ROW_RPC","VP_EDIT_ADD_ROW_RPC","VP_EDIT_DELETE_CELL_RPC","VP_EDIT_DELETE_ROW_RPC","VP_EDIT_SUBMIT_FORM_RPC"],De=s=>Lt.includes(s.type),re=({requestId:s,...e})=>[s,e],_e=s=>{let e=s.at(0);if(e.updateType==="SIZE"){if(s.length===1)return s;e=s.at(1)}let t=s.at(-1);return[e,t]},Pe=s=>{let e={};for(let t of s)(e[t.viewPortId]||(e[t.viewPortId]=[])).push(t);return e};var se=({columns:s,dataTypes:e,key:t,table:n})=>({table:n,columns:s.map((r,o)=>({name:r,serverDataType:e[o]})),key:t});var Le=s=>s.type==="connection-status",Oe=s=>s.type==="connection-metrics";var ke=s=>"viewport"in s,Ae=s=>s.type==="VIEW_PORT_MENU_RESP"&&s.action!==null&&G(s.action.table),G=s=>s!==null&&typeof s=="object"&&"table"in s&&"module"in s?s.table.startsWith("session"):!1;var Ue="CHANGE_VP_SUCCESS",Fe="CHANGE_VP_RANGE_SUCCESS",Ne="CLOSE_TREE_NODE",We="CLOSE_TREE_SUCCESS";var $e="CREATE_VP",qe="CREATE_VP_SUCCESS",Be="DISABLE_VP",Ge="DISABLE_VP_SUCCESS";var Ke="ENABLE_VP",He="ENABLE_VP_SUCCESS";var oe="GET_VP_VISUAL_LINKS",je="GET_VIEW_PORT_MENUS";var ze="HB",Je="HB_RESP",Ye="LOGIN",Ze="LOGIN_SUCCESS",Xe="OPEN_TREE_NODE",Qe="OPEN_TREE_SUCCESS";var et="REMOVE_VP";var ie="RPC_RESP";var tt="SET_SELECTION_SUCCESS",ae="TABLE_META_RESP",ue="TABLE_LIST_RESP",nt="TABLE_ROW";var st=s=>{switch(s){case"TypeAheadRpcHandler":return"TYPEAHEAD";default:return"SIMUL"}};var ot=[],T=w("array-backed-moving-window"),h,K=class{constructor({from:e,to:t},{from:n,to:r},o){F(this,h,void 0);this.setRowCount=e=>{var t;if((t=T.info)==null||t.call(T,`setRowCount ${e}`),e<this.internalData.length&&(this.internalData.length=e),e<this.rowCount){this.rowsWithinRange=0;let n=Math.min(e,this.clientRange.to);for(let r=this.clientRange.from;r<n;r++){let o=r-d(this,h).from;this.internalData[o]!==void 0&&(this.rowsWithinRange+=1)}}this.rowCount=e};this.bufferBreakout=(e,t)=>{let n=this.bufferSize*.25;return d(this,h).to-t<n?!0:d(this,h).from>0&&e-d(this,h).from<n};this.bufferSize=o,this.clientRange=new v(e,t),he(this,h,new v(n,r)),this.internalData=new Array(o),this.rowsWithinRange=0,this.rowCount=0}get range(){return d(this,h)}get hasAllRowsWithinRange(){return this.rowsWithinRange===this.clientRange.to-this.clientRange.from||this.rowCount>0&&this.clientRange.from+this.rowsWithinRange===this.rowCount}outOfRange(e,t){let{from:n,to:r}=this.range;if(t<n||e>=r)return!0}setAtIndex(e){let{rowIndex:t}=e,n=this.isWithinClientRange(t);if(n||this.isWithinRange(t)){let r=t-d(this,h).from;!this.internalData[r]&&n&&(this.rowsWithinRange+=1),this.internalData[r]=e}return n}getAtIndex(e){return d(this,h).isWithin(e)&&this.internalData[e-d(this,h).from]!=null?this.internalData[e-d(this,h).from]:void 0}isWithinRange(e){return d(this,h).isWithin(e)}isWithinClientRange(e){return this.clientRange.isWithin(e)}setClientRange(e,t){var p;(p=T.debug)==null||p.call(T,`setClientRange ${e} - ${t}`);let n=this.clientRange.from,r=Math.min(this.clientRange.to,this.rowCount);if(e===n&&t===r)return[!1,ot];let o=this.clientRange.copy();this.clientRange.from=e,this.clientRange.to=t,this.rowsWithinRange=0;for(let i=e;i<t;i++){let l=i-d(this,h).from;this.internalData[l]&&(this.rowsWithinRange+=1)}let a=ot,u=d(this,h).from;if(this.hasAllRowsWithinRange)if(t>o.to){let i=Math.max(e,o.to);a=this.internalData.slice(i-u,t-u)}else{let i=Math.min(o.from,t);a=this.internalData.slice(e-u,i-u)}return[this.bufferBreakout(e,t),a]}setRange(e,t){var n,r;if(e!==d(this,h).from||t!==d(this,h).to){(n=T.debug)==null||n.call(T,`setRange ${e} - ${t}`);let[o,a]=d(this,h).overlap(e,t),u=new Array(t-e);this.rowsWithinRange=0;for(let c=o;c<a;c++){let p=this.getAtIndex(c);if(p){let i=c-e;u[i]=p,this.isWithinClientRange(c)&&(this.rowsWithinRange+=1)}}this.internalData=u,d(this,h).from=e,d(this,h).to=t}else(r=T.debug)==null||r.call(T,`setRange ${e} - ${t} IGNORED because not changed`)}get data(){return this.internalData}getData(){var u;let{from:e,to:t}=d(this,h),{from:n,to:r}=this.clientRange,o=Math.max(0,n-e),a=Math.min(t-e,t,r-e,(u=this.rowCount)!=null?u:t);return this.internalData.slice(o,a)}clear(){var e;(e=T.debug)==null||e.call(T,"clear"),this.internalData.length=0,this.rowsWithinRange=0,this.setRowCount(0)}getCurrentDataRange(){let e=this.internalData,t=e.length,[n]=this.internalData,r=this.internalData[t-1];if(n&&r)return[n.rowIndex,r.rowIndex];for(let o=0;o<t;o++)if(e[o]!==void 0){n=e[o];break}for(let o=t-1;o>=0;o--)if(e[o]!==void 0){r=e[o];break}return n&&r?[n.rowIndex,r.rowIndex]:[-1,-1]}};h=new WeakMap;var Ot=[],{debug:b,debugEnabled:H,error:kt,info:g,infoEnabled:At,warn:P}=w("viewport"),Ut=({rowKey:s,updateType:e})=>e==="U"&&!s.startsWith("$root"),j=[void 0,void 0],Ft={count:0,mode:void 0,size:0,ts:0},z=class{constructor({aggregations:e,bufferSize:t=50,columns:n,filter:r,groupBy:o=[],table:a,range:u,sort:c,title:p,viewport:i,visualLink:l},f){this.batchMode=!0;this.hasUpdates=!1;this.pendingUpdates=[];this.pendingOperations=new Map;this.pendingRangeRequests=[];this.rowCountChanged=!1;this.selectedRows=[];this.tableSchema=null;this.useBatchMode=!0;this.lastUpdateStatus=Ft;this.updateThrottleTimer=void 0;this.rangeMonitor=new $("ViewPort");this.disabled=!1;this.isTree=!1;this.status="";this.suspended=!1;this.suspendTimer=null;this.setLastSizeOnlyUpdateSize=e=>{this.lastUpdateStatus.size=e};this.setLastUpdate=e=>{let{ts:t,mode:n}=this.lastUpdateStatus,r=0;if(n===e){let o=Date.now();console.log(`read data now ${o}`),this.lastUpdateStatus.count+=1,this.lastUpdateStatus.ts=o,r=t===0?0:o-t}else this.lastUpdateStatus.count=1,this.lastUpdateStatus.ts=0,r=0;return this.lastUpdateStatus.mode=e,r};this.rangeRequestAlreadyPending=e=>{let{bufferSize:t}=this,n=t*.25,{from:r}=e;for(let{from:o,to:a}of this.pendingRangeRequests)if(r>=o&&r<a){if(e.to+n<=a)return!0;r=a}return!1};this.sendThrottledSizeMessage=()=>{this.updateThrottleTimer=void 0,this.lastUpdateStatus.count=3,this.postMessageToClient({clientViewportId:this.clientViewportId,mode:"size-only",size:this.lastUpdateStatus.size,type:"viewport-update"})};this.shouldThrottleMessage=e=>{let t=this.setLastUpdate(e);return console.log(`elapsed time = ${t}`),e==="size-only"&&t>0&&t<500&&this.lastUpdateStatus.count>3};this.throttleMessage=e=>this.shouldThrottleMessage(e)?(console.log("throttling updates setTimeout to 2000"),this.updateThrottleTimer===void 0&&(this.updateThrottleTimer=setTimeout(this.sendThrottledSizeMessage,2e3)),!0):(this.updateThrottleTimer!==void 0&&(clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=void 0),!1);this.getNewRowCount=()=>{if(this.rowCountChanged&&this.dataWindow)return this.rowCountChanged=!1,this.dataWindow.rowCount};this.aggregations=e,this.bufferSize=t,this.clientRange=u,this.clientViewportId=i,this.columns=n,this.filter=r,this.groupBy=o,this.keys=new B(u),this.pendingLinkedParent=l,this.table=a,this.sort=c,this.title=p,At&&(g==null||g(`constructor #${i} ${a.table} bufferSize=${t}`)),this.dataWindow=new K(this.clientRange,u,this.bufferSize),this.postMessageToClient=f}get hasUpdatesToProcess(){return this.suspended?!1:this.rowCountChanged||this.hasUpdates}get size(){var e;return(e=this.dataWindow.rowCount)!=null?e:0}subscribe(){let{filter:e}=this.filter;return this.status=this.status==="subscribed"?"resubscribing":"subscribing",{type:$e,table:this.table,range:Y(this.clientRange,this.bufferSize),aggregations:this.aggregations,columns:this.columns,sort:this.sort,groupBy:this.groupBy,filterSpec:{filter:e}}}handleSubscribed({viewPortId:e,aggregations:t,columns:n,filterSpec:r,range:o,sort:a,groupBy:u}){return this.serverViewportId=e,this.status="subscribed",this.aggregations=t,this.columns=n,this.groupBy=u,this.isTree=u&&u.length>0,this.dataWindow.setRange(o.from,o.to),{aggregations:t,type:"subscribed",clientViewportId:this.clientViewportId,columns:n,filter:r,groupBy:u,range:o,sort:a,tableSchema:this.tableSchema}}awaitOperation(e,t){this.pendingOperations.set(e,t)}completeOperation(e,...t){var u;let{clientViewportId:n,pendingOperations:r}=this,o=r.get(e);if(!o){kt("no matching operation found to complete");return}let{type:a}=o;if(g==null||g(`completeOperation ${a}`),r.delete(e),a==="CHANGE_VP_RANGE"){let[c,p]=t;(u=this.dataWindow)==null||u.setRange(c,p);for(let i=this.pendingRangeRequests.length-1;i>=0;i--){let l=this.pendingRangeRequests[i];if(l.requestId===e){l.acked=!0;break}else P==null||P("range requests sent faster than they are being ACKed")}}else if(a==="config"){let{aggregations:c,columns:p,filter:i,groupBy:l,sort:f}=o.data;return this.aggregations=c,this.columns=p,this.filter=i,this.groupBy=l,this.sort=f,l.length>0?this.isTree=!0:this.isTree&&(this.isTree=!1),b==null||b(`config change confirmed, isTree : ${this.isTree}`),{clientViewportId:n,type:a,config:o.data}}else{if(a==="groupBy")return this.isTree=o.data.length>0,this.groupBy=o.data,b==null||b(`groupBy change confirmed, isTree : ${this.isTree}`),{clientViewportId:n,type:a,groupBy:o.data};if(a==="columns")return this.columns=o.data,{clientViewportId:n,type:a,columns:o.data};if(a==="filter")return this.filter=o.data,{clientViewportId:n,type:a,filter:o.data};if(a==="aggregate")return this.aggregations=o.data,{clientViewportId:n,type:"aggregate",aggregations:this.aggregations};if(a==="sort")return this.sort=o.data,{clientViewportId:n,type:a,sort:this.sort};if(a!=="selection"){if(a==="disable")return this.disabled=!0,{type:"disabled",clientViewportId:n};if(a==="enable")return this.disabled=!1,{type:"enabled",clientViewportId:n};if(a==="CREATE_VISUAL_LINK"){let[c,p,i]=t;return this.linkedParent={colName:c,parentViewportId:p,parentColName:i},this.pendingLinkedParent=void 0,{type:"vuu-link-created",clientViewportId:n,colName:c,parentViewportId:p,parentColName:i}}else if(a==="REMOVE_VISUAL_LINK")return this.linkedParent=void 0,{type:"vuu-link-removed",clientViewportId:n}}}}rangeRequest(e,t){H&&this.rangeMonitor.set(t);let n="CHANGE_VP_RANGE";if(this.dataWindow){let[r,o]=this.dataWindow.setClientRange(t.from,t.to),a,u=this.dataWindow.rowCount||void 0,c=r&&!this.rangeRequestAlreadyPending(t)?{type:n,viewPortId:this.serverViewportId,...Y(t,this.bufferSize,u)}:null;if(c){H&&(b==null||b(`create CHANGE_VP_RANGE: [${c.from} - ${c.to}]`)),this.awaitOperation(e,{type:n});let i=this.pendingRangeRequests.at(-1);if(i)if(i.acked)console.warn("Range Request before previous request is filled");else{let{from:l,to:f}=i;this.dataWindow.outOfRange(l,f)?a={clientViewportId:this.clientViewportId,type:"debounce-begin"}:P==null||P("Range Request before previous request is acked")}this.pendingRangeRequests.push({...c,requestId:e}),this.useBatchMode&&(this.batchMode=!0)}else o.length>0&&(this.batchMode=!1);this.keys.reset(this.dataWindow.clientRange);let p=this.isTree?ce:le;return o.length?[c,o.map(i=>p(i,this.keys,this.selectedRows))]:a?[c,void 0,a]:[c]}else return[null]}setLinks(e){return this.links=e,[{type:"vuu-links",links:e,clientViewportId:this.clientViewportId},this.pendingLinkedParent]}setMenu(e){return{type:"vuu-menu",menu:e,clientViewportId:this.clientViewportId}}setTableSchema(e){this.tableSchema=e}openTreeNode(e,t){return this.useBatchMode&&(this.batchMode=!0),{type:Xe,vpId:this.serverViewportId,treeKey:t.key}}closeTreeNode(e,t){return this.useBatchMode&&(this.batchMode=!0),{type:Ne,vpId:this.serverViewportId,treeKey:t.key}}createLink(e,t,n,r){let o={type:"CREATE_VISUAL_LINK",parentVpId:n,childVpId:this.serverViewportId,parentColumnName:r,childColumnName:t};return this.awaitOperation(e,o),this.useBatchMode&&(this.batchMode=!0),o}removeLink(e){let t={type:"REMOVE_VISUAL_LINK",childVpId:this.serverViewportId};return this.awaitOperation(e,t),t}suspend(){this.suspended=!0,g==null||g("suspend")}resume(){return this.suspended=!1,H&&(b==null||b(`resume: ${this.currentData()}`)),this.currentData()}currentData(){let e=[];if(this.dataWindow){let t=this.dataWindow.getData(),{keys:n}=this,r=this.isTree?ce:le;for(let o of t)o&&e.push(r(o,n,this.selectedRows))}return e}enable(e){return this.awaitOperation(e,{type:"enable"}),g==null||g(`enable: ${this.serverViewportId}`),{type:Ke,viewPortId:this.serverViewportId}}disable(e){return this.awaitOperation(e,{type:"disable"}),g==null||g(`disable: ${this.serverViewportId}`),this.suspended=!1,{type:Be,viewPortId:this.serverViewportId}}columnRequest(e,t){return this.awaitOperation(e,{type:"columns",data:t}),b==null||b(`columnRequest: ${t}`),this.createRequest({columns:t})}filterRequest(e,t){this.awaitOperation(e,{type:"filter",data:t}),this.useBatchMode&&(this.batchMode=!0);let{filter:n}=t;return g==null||g(`filterRequest: ${n}`),this.createRequest({filterSpec:{filter:n}})}setConfig(e,t){this.awaitOperation(e,{type:"config",data:t});let{filter:n,...r}=t;return this.useBatchMode&&(this.batchMode=!0),H?b==null||b(`setConfig ${JSON.stringify(t)}`):g==null||g("setConfig"),this.createRequest({...r,filterSpec:typeof(n==null?void 0:n.filter)=="string"?{filter:n.filter}:{filter:""}},!0)}aggregateRequest(e,t){return this.awaitOperation(e,{type:"aggregate",data:t}),g==null||g(`aggregateRequest: ${t}`),this.createRequest({aggregations:t})}sortRequest(e,t){return this.awaitOperation(e,{type:"sort",data:t}),g==null||g(`sortRequest: ${JSON.stringify(t.sortDefs)}`),this.createRequest({sort:t})}groupByRequest(e,t=Ot){var n;return this.awaitOperation(e,{type:"groupBy",data:t}),this.useBatchMode&&(this.batchMode=!0),this.isTree||(n=this.dataWindow)==null||n.clear(),this.createRequest({groupBy:t})}selectRequest(e,t){return this.selectedRows=t,this.awaitOperation(e,{type:"selection",data:t}),g==null||g(`selectRequest: ${t}`),{type:"SET_SELECTION",vpId:this.serverViewportId,selection:Te(t)}}removePendingRangeRequest(e,t){for(let n=this.pendingRangeRequests.length-1;n>=0;n--){let{from:r,to:o}=this.pendingRangeRequests[n],a=!0;if(e>=r&&e<o||t>r&&t<o){a||console.warn("removePendingRangeRequest TABLE_ROWS are not for latest request"),this.pendingRangeRequests.splice(n,1);break}else a=!1}}updateRows(e){var r,o,a;let[t,n]=_e(e);if(t&&n&&this.removePendingRangeRequest(t.rowIndex,n.rowIndex),e.length===1)if(t.vpSize===0&&this.disabled){b==null||b(`ignore a SIZE=0 message on disabled viewport (${e.length} rows)`);return}else t.updateType==="SIZE"&&this.setLastSizeOnlyUpdateSize(t.vpSize);for(let u of e)this.isTree&&Ut(u)||((u.updateType==="SIZE"||((r=this.dataWindow)==null?void 0:r.rowCount)!==u.vpSize)&&((o=this.dataWindow)==null||o.setRowCount(u.vpSize),this.rowCountChanged=!0),u.updateType==="U"&&(a=this.dataWindow)!=null&&a.setAtIndex(u)&&(this.hasUpdates=!0,this.batchMode||this.pendingUpdates.push(u)))}getClientRows(){let e,t="size-only";if(!this.hasUpdates&&!this.rowCountChanged)return j;if(this.hasUpdates){let{keys:n,selectedRows:r}=this,o=this.isTree?ce:le;if(this.updateThrottleTimer&&(self.clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=void 0),this.pendingUpdates.length>0){e=[],t="update";for(let a of this.pendingUpdates)e.push(o(a,n,r));this.pendingUpdates.length=0}else{let a=this.dataWindow.getData();if(this.dataWindow.hasAllRowsWithinRange){e=[],t="batch";for(let u of a)e.push(o(u,n,r));this.batchMode=!1}}this.hasUpdates=!1}return this.throttleMessage(t)?j:[e,t]}createRequest(e,t=!1){return t?{type:"CHANGE_VP",viewPortId:this.serverViewportId,...e}:{type:"CHANGE_VP",viewPortId:this.serverViewportId,aggregations:this.aggregations,columns:this.columns,sort:this.sort,groupBy:this.groupBy,filterSpec:{filter:this.filter.filter},...e}}},le=({rowIndex:s,rowKey:e,sel:t,data:n},r,o)=>[s,r.keyFor(s),!0,!1,0,0,e,t?Z(o,s):0].concat(n),ce=({rowIndex:s,rowKey:e,sel:t,data:n},r,o)=>{let[a,u,,c,,p,...i]=n;return[s,r.keyFor(s),c,u,a,p,e,t?Z(o,s):0].concat(i)};var it=1;var{debug:E,debugEnabled:L,error:O,info:y,infoEnabled:Nt,warn:k}=w("server-proxy"),C=()=>`${it++}`,Wt={},$t=s=>s.disabled!==!0&&s.suspended!==!0,qt={type:"NO_ACTION"},Bt=(s,e,t)=>s.map(n=>n.parentVpId===e?{...n,label:t}:n);function Gt(s,e){return s.map(t=>{let{parentVpId:n}=t,r=e.get(n);if(r)return{...t,parentClientVpId:r.clientViewportId,label:r.title};throw Error("addLabelsToLinks viewport not found")})}var J=class{constructor(e,t){this.authToken="";this.user="user";this.pendingTableMetaRequests=new Map;this.pendingRequests=new Map;this.queuedRequests=[];this.cachedTableSchemas=new Map;this.connection=e,this.postMessageToClient=t,this.viewports=new Map,this.mapClientToServerViewport=new Map}async reconnect(){await this.login(this.authToken);let[e,t]=be(Array.from(this.viewports.values()),$t);this.viewports.clear(),this.mapClientToServerViewport.clear();let n=r=>{r.forEach(o=>{let{clientViewportId:a}=o;this.viewports.set(a,o),this.sendMessageToServer(o.subscribe(),a)})};n(e),setTimeout(()=>{n(t)},2e3)}async login(e,t="user"){if(e)return this.authToken=e,this.user=t,new Promise((n,r)=>{this.sendMessageToServer({type:Ye,token:this.authToken,user:t},""),this.pendingLogin={resolve:n,reject:r}});this.authToken===""&&O("login, cannot login until auth token has been obtained")}subscribe(e){if(this.mapClientToServerViewport.has(e.viewport))O(`spurious subscribe call ${e.viewport}`);else{if(!this.hasSchemaForTable(e.table)&&!G(e.table)){y==null||y(`subscribe to ${e.table.table}, no metadata yet, request metadata`);let n=C();this.sendMessageToServer({type:"GET_TABLE_META",table:e.table},n),this.pendingTableMetaRequests.set(n,e.viewport)}let t=new z(e,this.postMessageToClient);this.viewports.set(e.viewport,t),this.sendIfReady(t.subscribe(),e.viewport,this.sessionId!=="")}}unsubscribe(e){let t=this.mapClientToServerViewport.get(e);t?(y==null||y(`Unsubscribe Message (Client to Server):\n ${t}`),this.sendMessageToServer({type:et,viewPortId:t})):O(`failed to unsubscribe client viewport ${e}, viewport not found`)}getViewportForClient(e,t=!0){let n=this.mapClientToServerViewport.get(e);if(n){let r=this.viewports.get(n);if(r)return r;if(t)throw Error(`Viewport not found for client viewport ${e}`);return null}else{if(this.viewports.has(e))return this.viewports.get(e);if(t)throw Error(`Viewport server id not found for client viewport ${e}`);return null}}setViewRange(e,t){let n=C(),[r,o,a]=e.rangeRequest(n,t.range);y==null||y(`setViewRange ${t.range.from} - ${t.range.to}`),r&&this.sendIfReady(r,n,e.status==="subscribed"),o?(y==null||y(`setViewRange ${o.length} rows returned from cache`),this.postMessageToClient({mode:"batch",type:"viewport-update",clientViewportId:e.clientViewportId,rows:o})):a&&this.postMessageToClient(a)}setConfig(e,t){let n=C(),r=e.setConfig(n,t.config);this.sendIfReady(r,n,e.status==="subscribed")}aggregate(e,t){let n=C(),r=e.aggregateRequest(n,t.aggregations);this.sendIfReady(r,n,e.status==="subscribed")}sort(e,t){let n=C(),r=e.sortRequest(n,t.sort);this.sendIfReady(r,n,e.status==="subscribed")}groupBy(e,t){let n=C(),r=e.groupByRequest(n,t.groupBy);this.sendIfReady(r,n,e.status==="subscribed")}filter(e,t){let n=C(),{filter:r}=t,o=e.filterRequest(n,r);this.sendIfReady(o,n,e.status==="subscribed")}setColumns(e,t){let n=C(),{columns:r}=t,o=e.columnRequest(n,r);this.sendIfReady(o,n,e.status==="subscribed")}setTitle(e,t){e&&(e.title=t.title,this.updateTitleOnVisualLinks(e))}select(e,t){let n=C(),{selected:r}=t,o=e.selectRequest(n,r);this.sendIfReady(o,n,e.status==="subscribed")}disableViewport(e){let t=C(),n=e.disable(t);this.sendIfReady(n,t,e.status==="subscribed")}enableViewport(e){if(e.disabled){let t=C(),n=e.enable(t);this.sendIfReady(n,t,e.status==="subscribed")}}suspendViewport(e){e.suspend(),e.suspendTimer=setTimeout(()=>{y==null||y("suspendTimer expired, escalate suspend to disable"),this.disableViewport(e)},3e3)}resumeViewport(e){e.suspendTimer&&(E==null||E("clear suspend timer"),clearTimeout(e.suspendTimer),e.suspendTimer=null);let t=e.resume();this.postMessageToClient({clientViewportId:e.clientViewportId,mode:"batch",rows:t,type:"viewport-update"})}openTreeNode(e,t){if(e.serverViewportId){let n=C();this.sendIfReady(e.openTreeNode(n,t),n,e.status==="subscribed")}}closeTreeNode(e,t){if(e.serverViewportId){let n=C();this.sendIfReady(e.closeTreeNode(n,t),n,e.status==="subscribed")}}createLink(e,t){let{parentClientVpId:n,parentColumnName:r,childColumnName:o}=t,a=C(),u=this.mapClientToServerViewport.get(n);if(u){let c=e.createLink(a,o,u,r);this.sendMessageToServer(c,a)}else O("ServerProxy unable to create link, viewport not found")}removeLink(e){let t=C(),n=e.removeLink(t);this.sendMessageToServer(n,t)}updateTitleOnVisualLinks(e){var r;let{serverViewportId:t,title:n}=e;for(let o of this.viewports.values())if(o!==e&&o.links&&t&&n&&(r=o.links)!=null&&r.some(a=>a.parentVpId===t)){let[a]=o.setLinks(Bt(o.links,t,n));this.postMessageToClient(a)}}removeViewportFromVisualLinks(e){var t;for(let n of this.viewports.values())if((t=n.links)!=null&&t.some(({parentVpId:r})=>r===e)){let[r]=n.setLinks(n.links.filter(({parentVpId:o})=>o!==e));this.postMessageToClient(r)}}menuRpcCall(e){let t=this.getViewportForClient(e.vpId,!1);if(t!=null&&t.serverViewportId){let[n,r]=re(e);this.sendMessageToServer({...r,vpId:t.serverViewportId},n)}}rpcCall(e){let[t,n]=re(e),r=st(n.service);this.sendMessageToServer(n,t,{module:r})}handleMessageFromClient(e){if(E==null||E(`handleMessageFromClient: ${e.type}`),ke(e))if(e.type==="disable"){let t=this.getViewportForClient(e.viewport,!1);return t!==null?this.disableViewport(t):void 0}else{let t=this.getViewportForClient(e.viewport);switch(e.type){case"setViewRange":return this.setViewRange(t,e);case"config":return this.setConfig(t,e);case"aggregate":return this.aggregate(t,e);case"sort":return this.sort(t,e);case"groupBy":return this.groupBy(t,e);case"filter":return this.filter(t,e);case"select":return this.select(t,e);case"suspend":return this.suspendViewport(t);case"resume":return this.resumeViewport(t);case"enable":return this.enableViewport(t);case"openTreeNode":return this.openTreeNode(t,e);case"closeTreeNode":return this.closeTreeNode(t,e);case"createLink":return this.createLink(t,e);case"removeLink":return this.removeLink(t);case"setColumns":return this.setColumns(t,e);case"setTitle":return this.setTitle(t,e);default:}}else{if(De(e))return this.menuRpcCall(e);{let{type:t,requestId:n}=e;switch(t){case"GET_TABLE_LIST":return this.sendMessageToServer({type:t},n);case"GET_TABLE_META":return this.sendMessageToServer({type:t,table:e.table},n);case"RPC_CALL":return this.rpcCall(e);default:}}}O(`Vuu ServerProxy Unexpected message from client ${JSON.stringify(e)}`)}awaitResponseToMessage(e){return new Promise((t,n)=>{let r=C();this.sendMessageToServer(e,r),this.pendingRequests.set(r,{reject:n,resolve:t})})}sendIfReady(e,t,n=!0){return n?this.sendMessageToServer(e,t):this.queuedRequests.push(e),n}sendMessageToServer(e,t=`${it++}`,n=Wt){let{module:r="CORE"}=n;this.authToken&&this.connection.send({requestId:t,sessionId:this.sessionId,token:this.authToken,user:this.user,module:r,body:e})}handleMessageFromServer(e){var u;let{body:t,requestId:n,sessionId:r}=e,o=this.pendingRequests.get(n);if(o){let{resolve:i}=o;this.pendingRequests.delete(n),i(t);return}let{viewports:a}=this;switch(t.type){case ze:this.sendMessageToServer({type:Je,ts:+new Date},"NA");break;case Ze:if(r)this.sessionId=r,(u=this.pendingLogin)==null||u.resolve(r),this.pendingLogin=void 0;else throw Error("LOGIN_SUCCESS did not provide sessionId");break;case qe:{let i=a.get(n);if(i){let{status:l}=i,{viewPortId:f}=t;n!==f&&(a.delete(n),a.set(f,i)),this.mapClientToServerViewport.set(n,f);let R=i.handleSubscribed(t);R&&(this.postMessageToClient(R),L&&E(`post DataSourceSubscribedMessage to client: ${JSON.stringify(R)}`)),i.disabled&&this.disableViewport(i),l==="subscribing"&&!G(i.table)&&(this.sendMessageToServer({type:oe,vpId:f}),this.sendMessageToServer({type:je,vpId:f}),Array.from(a.entries()).filter(([M,{disabled:U}])=>M!==f&&!U).forEach(([M])=>{this.sendMessageToServer({type:oe,vpId:M})}))}}break;case"REMOVE_VP_SUCCESS":{let i=this.viewports.get(t.viewPortId);i&&(this.mapClientToServerViewport.delete(i.clientViewportId),a.delete(t.viewPortId),this.removeViewportFromVisualLinks(t.viewPortId))}break;case tt:{let i=this.viewports.get(t.vpId);i&&i.completeOperation(n)}break;case Ue:case Ge:if(a.has(t.viewPortId)){let i=this.viewports.get(t.viewPortId);if(i){let l=i.completeOperation(n);l!==void 0&&(this.postMessageToClient(l),L&&E(`postMessageToClient ${JSON.stringify(l)}`))}}break;case He:{let i=this.viewports.get(t.viewPortId);if(i){let l=i.completeOperation(n);if(l){this.postMessageToClient(l);let f=i.currentData();L&&E(`Enable Response (ServerProxy to Client): ${JSON.stringify(l)}`),i.size===0?L&&E("Viewport Enabled but size 0, resend to server"):(this.postMessageToClient({clientViewportId:i.clientViewportId,mode:"batch",rows:f,size:i.size,type:"viewport-update"}),L&&E(`Enable Response (ServerProxy to Client): send size ${i.size} ${f.length} rows from cache`))}}}break;case nt:{let i=Pe(t.rows);for(let[l,f]of Object.entries(i)){let R=a.get(l);R?R.updateRows(f):k==null||k(`TABLE_ROW message received for non registered viewport ${l}`)}this.processUpdates()}break;case Fe:{let i=this.viewports.get(t.viewPortId);if(i){let{from:l,to:f}=t;i.completeOperation(n,l,f)}}break;case Qe:case We:break;case"CREATE_VISUAL_LINK_SUCCESS":{let i=this.viewports.get(t.childVpId),l=this.viewports.get(t.parentVpId);if(i&&l){let{childColumnName:f,parentColumnName:R}=t,M=i.completeOperation(n,f,l.clientViewportId,R);M&&this.postMessageToClient(M)}}break;case"REMOVE_VISUAL_LINK_SUCCESS":{let i=this.viewports.get(t.childVpId);if(i){let l=i.completeOperation(n);l&&this.postMessageToClient(l)}}break;case ue:this.postMessageToClient({type:ue,tables:t.tables,requestId:n});break;case ae:{let i=this.cacheTableMeta(t),l=this.pendingTableMetaRequests.get(n);if(l){this.pendingTableMetaRequests.delete(n);let f=this.viewports.get(l);f?f.setTableSchema(i):k==null||k("Message has come back AFTER CREATE_VP_SUCCESS, what do we do now")}else this.postMessageToClient({type:ae,tableSchema:i,requestId:n})}break;case"VP_VISUAL_LINKS_RESP":{let i=this.getActiveLinks(t.links),l=this.viewports.get(t.vpId);if(i.length&&l){let f=Gt(i,this.viewports),[R,M]=l.setLinks(f);if(this.postMessageToClient(R),M){let{link:U,parentClientVpId:at}=M,ge=C(),fe=this.mapClientToServerViewport.get(at);if(fe){let ut=l.createLink(ge,U.fromColumn,fe,U.toColumn);this.sendMessageToServer(ut,ge)}}}}break;case"VIEW_PORT_MENUS_RESP":if(t.menu.name){let i=this.viewports.get(t.vpId);if(i){let l=i.setMenu(t.menu);this.postMessageToClient(l)}}break;case"VP_EDIT_RPC_RESPONSE":this.postMessageToClient({action:t.action,requestId:n,rpcName:t.rpcName,type:"VP_EDIT_RPC_RESPONSE"});break;case"VP_EDIT_RPC_REJECT":this.viewports.get(t.vpId)&&this.postMessageToClient({requestId:n,type:"VP_EDIT_RPC_REJECT",error:t.error});break;case"VIEW_PORT_MENU_RESP":if(Ae(t)){let{action:i,rpcName:l}=t;this.awaitResponseToMessage({type:"GET_TABLE_META",table:i.table}).then(f=>{let R=se(f);this.postMessageToClient({rpcName:l,type:"VIEW_PORT_MENU_RESP",action:{...i,tableSchema:R},tableAlreadyOpen:this.isTableOpen(i.table),requestId:n})})}else{let{action:i}=t;this.postMessageToClient({type:"VIEW_PORT_MENU_RESP",action:i||qt,tableAlreadyOpen:i!==null&&this.isTableOpen(i.table),requestId:n})}break;case ie:{let{method:i,result:l}=t;this.postMessageToClient({type:ie,method:i,result:l,requestId:n})}break;case"ERROR":O(t.msg);break;default:Nt&&y(`handleMessageFromServer ${t.type}.`)}}hasSchemaForTable(e){return this.cachedTableSchemas.has(`${e.module}:${e.table}`)}cacheTableMeta(e){let{module:t,table:n}=e.table,r=`${t}:${n}`,o=this.cachedTableSchemas.get(r);return o||(o=se(e),this.cachedTableSchemas.set(r,o)),o}isTableOpen(e){if(e){let t=e.table;for(let n of this.viewports.values())if(!n.suspended&&n.table.table===t)return!0}}getActiveLinks(e){return e.filter(t=>{let n=this.viewports.get(t.parentVpId);return n&&!n.suspended})}processUpdates(){this.viewports.forEach(e=>{var t;if(e.hasUpdatesToProcess){let n=e.getClientRows();if(n!==j){let[r,o]=n,a=e.getNewRowCount();(a!==void 0||r&&r.length>0)&&(L&&E(`postMessageToClient #${e.clientViewportId} viewport-update ${o}, ${(t=r==null?void 0:r.length)!=null?t:"no"} rows, size ${a}`),o&&this.postMessageToClient({clientViewportId:e.clientViewportId,mode:o,rows:r,size:a,type:"viewport-update"}))}}})}};var D,{info:pe,infoEnabled:de}=w("worker");async function Kt(s,e,t,n,r,o,a){let u=await ve(s,e,c=>{Oe(c)?postMessage({type:"connection-metrics",messages:c}):Le(c)?(r(c),c.status==="reconnected"&&D.reconnect()):D.handleMessageFromServer(c)},o,a);D=new J(u,c=>Ht(c)),u.requiresLogin&&await D.login(t,n)}function Ht(s){postMessage(s)}var jt=async({data:s})=>{switch(s.type){case"connect":await Kt(s.url,s.protocol,s.token,s.username,postMessage,s.retryLimitDisconnect,s.retryLimitStartup),postMessage({type:"connected"});break;case"subscribe":de&&pe(`client subscribe: ${JSON.stringify(s)}`),D.subscribe(s);break;case"unsubscribe":de&&pe(`client unsubscribe: ${JSON.stringify(s)}`),D.unsubscribe(s.viewport);break;default:de&&pe(`client message: ${JSON.stringify(s)}`),D.handleMessageFromClient(s)}};self.addEventListener("message",jt);postMessage({type:"ready"});\n\n';var $1=new Blob([(0,Li.getLoggingConfigForWorker)()+cw],{type:"text/javascript"}),W1=URL.createObjectURL($1),Ai,Ap,Lp=[],_1,K1,U1=new Promise((n,e)=>{_1=n,K1=e}),Hp=()=>U1,Ju=new Map,Yu=new Map,G1=async({handleConnectionStatusChange:n,protocol:e,retryLimitDisconnect:t,retryLimitStartup:r,token:o="",username:s,url:i})=>o===""&&Ap===void 0?new Promise(l=>{Lp.push({resolve:l})}):Ap||(Ap=new Promise(l=>{let a=new Worker(W1),c=window.setTimeout(()=>{console.error("timed out waiting for worker to load")},1e3);a.onmessage=u=>{let{data:h}=u;if(h.type==="ready")window.clearTimeout(c),a.postMessage({protocol:e,retryLimitDisconnect:t,retryLimitStartup:r,token:o,type:"connect",url:i,username:s});else if(h.type==="connected"){a.onmessage=uw,l(a);for(let d of Lp)d.resolve(a);Lp.length=0}else Ip(h)?n({data:h}):console.warn("ConnectionManager: Unexpected message from the worker")}}));function uw({data:n}){if(nw(n)){let e=Ju.get(n.clientViewportId);e?e.postMessageToClientDataSource(n):console.error(`[ConnectionManager] ${n.type} message received, viewport not found`)}else if(Ip(n))Zu.emit("connection-status",n);else if(iw(n))Zu.emit("connection-metrics",n);else{let e=n.requestId;if(Yu.has(e)){let{resolve:t}=Yu.get(e);Yu.delete(e);let{type:r,requestId:o,...s}=n;lw(n)?t(n.result):n.type==="VP_EDIT_RPC_RESPONSE"||n.type==="VP_EDIT_RPC_REJECT"?t(n):aw(n)?t(n.tableSchema):t(s)}else console.warn("%cConnectionManager Unexpected message from the worker","color:red;font-weight:bold;")}}var Op=n=>{let e=(0,Li.uuid)();return Ai.postMessage({requestId:e,...n}),new Promise((t,r)=>{Yu.set(e,{resolve:t,reject:r})})},q1={subscribe:(n,e)=>{Ju.set(n.viewport,{status:"subscribing",request:n,postMessageToClientDataSource:e}),Ai.postMessage({type:"subscribe",...n})},unsubscribe:n=>{Ai.postMessage({type:"unsubscribe",viewport:n})},send:n=>{Ai.postMessage(n)},destroy:n=>{n&&Ju.has(n)&&Ju.delete(n)},rpcCall:async n=>Op(n),getTableList:async()=>Op({type:ow}),getTableSchema:async n=>Op({type:sw,table:n})},Np=class extends Li.EventEmitter{async connect({url:e,authToken:t,username:r,protocol:o,retryLimitDisconnect:s,retryLimitStartup:i}){return Ai=await G1({protocol:o,url:e,token:t,username:r,retryLimitDisconnect:s,retryLimitStartup:i,handleConnectionStatusChange:uw}),q1}destroy(){Ai.terminate()}},Zu=new Np;var j1=0,ka=class{constructor(e,t){this.from=e,this.to=t}},ce=class{constructor(e={}){this.id=j1++,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=rt.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}};ce.closedBy=new ce({deserialize:n=>n.split(" ")});ce.openedBy=new ce({deserialize:n=>n.split(" ")});ce.group=new ce({deserialize:n=>n.split(" ")});ce.contextHash=new ce({perNode:!0});ce.lookAhead=new ce({perNode:!0});ce.mounted=new ce({perNode:!0});var Q1=Object.create(null),rt=class{constructor(e,t,r,o=0){this.name=e,this.props=t,this.id=r,this.flags=o}static define(e){let t=e.props&&e.props.length?Object.create(null):Q1,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),o=new rt(e.name||"",t,e.id,r);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(o)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return o}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 t=this.prop(ce.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let o of r.split(" "))t[o]=e[r];return r=>{for(let o=r.prop(ce.group),s=-1;s<(o?o.length:0);s++){let i=t[s<0?r.name:o[s]];if(i)return i}}}};rt.none=new rt("",Object.create(null),0,8);var Ur=class{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let o=null;for(let s of e){let i=s(r);i&&(o||(o=Object.assign({},r.props)),o[i[0].id]=i[1])}t.push(o?new rt(r.name,o,r.id,r.flags):r)}return new Ur(t)}},eh=new WeakMap,hw=new WeakMap,Qe;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays"})(Qe||(Qe={}));var Te=class{constructor(e,t,r,o,s){if(this.type=e,this.children=t,this.positions=r,this.length=o,this.props=null,s&&s.length){this.props=Object.create(null);for(let[i,l]of s)this.props[typeof i=="number"?i:i.id]=l}}toString(){let e=this.prop(ce.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let r of this.children){let o=r.toString();o&&(t&&(t+=","),t+=o)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new Ni(this.topNode,e)}cursorAt(e,t=0,r=0){let o=eh.get(this)||this.topNode,s=new Ni(o);return s.moveTo(e,t),eh.set(this,s._tree),s}get topNode(){return new or(this,0,0,null)}resolve(e,t=0){let r=Oi(eh.get(this)||this.topNode,e,t,!1);return eh.set(this,r),r}resolveInner(e,t=0){let r=Oi(hw.get(this)||this.topNode,e,t,!0);return hw.set(this,r),r}iterate(e){let{enter:t,leave:r,from:o=0,to:s=this.length}=e,i=e.mode||0,l=(i&Qe.IncludeAnonymous)>0;for(let a=this.cursor(i|Qe.IncludeAnonymous);;){let c=!1;if(a.from<=s&&a.to>=o&&(!l&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;c=!0}for(;c&&r&&(l||!a.type.isAnonymous)&&r(a),!a.nextSibling();){if(!a.parent())return;c=!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 t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:zp(rt.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,o)=>new Te(this.type,t,r,o,this.propValues),e.makeTree||((t,r,o)=>new Te(rt.none,t,r,o)))}static build(e){return X1(e)}};Te.empty=new Te(rt.none,[],[],0);var Ma=class{constructor(e,t){this.buffer=e,this.index=t}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 Ma(this.buffer,this.index)}},Gr=class{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return rt.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],o=this.set.types[t],s=o.name;if(/\W/.test(s)&&!o.isError&&(s=JSON.stringify(s)),e+=4,r==e)return s;let i=[];for(;e<r;)i.push(this.childString(e)),e=this.buffer[e+3];return s+"("+i.join(",")+")"}findChild(e,t,r,o,s){let{buffer:i}=this,l=-1;for(let a=e;a!=t&&!(fw(s,o,i[a+1],i[a+2])&&(l=a,r>0));a=i[a+3]);return l}slice(e,t,r){let o=this.buffer,s=new Uint16Array(t-e),i=0;for(let l=e,a=0;l<t;){s[a++]=o[l++],s[a++]=o[l++]-r;let c=s[a++]=o[l++]-r;s[a++]=o[l++]-e,i=Math.max(i,c)}return new Gr(s,i,this.set)}};function fw(n,e,t,r){switch(n){case-2:return t<e;case-1:return r>=e&&t<e;case 0:return t<e&&r>e;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function pw(n,e){let t=n.childBefore(e);for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(n=t,t=r.prevSibling):t=r}return n}function Oi(n,e,t,r){for(var o;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let i=!r&&n instanceof or&&n.index<0?null:n.parent;if(!i)return n;n=i}let s=r?0:Qe.IgnoreOverlays;if(r)for(let i=n,l=i.parent;l;i=l,l=i.parent)i instanceof or&&i.index<0&&((o=l.enter(e,t,s))===null||o===void 0?void 0:o.from)!=i.from&&(n=l);for(;;){let i=n.enter(e,t,s);if(!i)return n;n=i}}var or=class{constructor(e,t,r,o){this._tree=e,this.from=t,this.index=r,this._parent=o}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,o,s=0){for(let i=this;;){for(let{children:l,positions:a}=i._tree,c=t>0?l.length:-1;e!=c;e+=t){let u=l[e],h=a[e]+i.from;if(fw(o,r,h,h+u.length)){if(u instanceof Gr){if(s&Qe.ExcludeBuffers)continue;let d=u.findChild(0,u.buffer.length,t,r-h,o);if(d>-1)return new yr(new Vp(i,u,e,h),null,d)}else if(s&Qe.IncludeAnonymous||!u.type.isAnonymous||Fp(u)){let d;if(!(s&Qe.IgnoreMounts)&&u.props&&(d=u.prop(ce.mounted))&&!d.overlay)return new or(d.tree,h,e,i);let f=new or(u,h,e,i);return s&Qe.IncludeAnonymous||!f.type.isAnonymous?f:f.nextChild(t<0?u.children.length-1:0,t,r,o)}}}if(s&Qe.IncludeAnonymous||!i.type.isAnonymous||(i.index>=0?e=i.index+t:e=t<0?-1:i._parent._tree.children.length,i=i._parent,!i))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,t,r=0){let o;if(!(r&Qe.IgnoreOverlays)&&(o=this._tree.prop(ce.mounted))&&o.overlay){let s=e-this.from;for(let{from:i,to:l}of o.overlay)if((t>0?i<=s:i<s)&&(t<0?l>=s:l>s))return new or(o.tree,o.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}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 Ni(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return Oi(this,e,t,!1)}resolveInner(e,t=0){return Oi(this,e,t,!0)}enterUnfinishedNodesBefore(e){return pw(this,e)}getChild(e,t=null,r=null){let o=nh(this,e,t,r);return o.length?o[0]:null}getChildren(e,t=null,r=null){return nh(this,e,t,r)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return rh(this,e)}};function nh(n,e,t,r){let o=n.cursor(),s=[];if(!o.firstChild())return s;if(t!=null){for(;!o.type.is(t);)if(!o.nextSibling())return s}for(;;){if(r!=null&&o.type.is(r))return s;if(o.type.is(e)&&s.push(o.node),!o.nextSibling())return r==null?s:[]}}function rh(n,e,t=e.length-1){for(let r=n.parent;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}var Vp=class{constructor(e,t,r,o){this.parent=e,this.buffer=t,this.index=r,this.start=o}},yr=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,t,r){this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:o}=this.context,s=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.context.start,r);return s<0?null:new yr(this.context,this,s)}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,t,r=0){if(r&Qe.ExcludeBuffers)return null;let{buffer:o}=this.context,s=o.findChild(this.index+4,o.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new yr(this.context,this,s)}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,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new yr(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new yr(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new Ni(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,o=this.index+4,s=r.buffer[this.index+3];if(s>o){let i=r.buffer[this.index+1];e.push(r.slice(o,s,i)),t.push(0)}return new Te(this.type,e,t,this.to-this.from)}resolve(e,t=0){return Oi(this,e,t,!1)}resolveInner(e,t=0){return Oi(this,e,t,!0)}enterUnfinishedNodesBefore(e){return pw(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,r=null){let o=nh(this,e,t,r);return o.length?o[0]:null}getChildren(e,t=null,r=null){return nh(this,e,t,r)}get node(){return this}matchContext(e){return rh(this,e)}},Ni=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof or)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.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,t){this.index=e;let{start:r,buffer:o}=this.buffer;return this.type=t||o.set.types[o.buffer[e]],this.from=r+o.buffer[e+1],this.to=r+o.buffer[e+2],!0}yield(e){return e?e instanceof or?(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,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:o}=this.buffer,s=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.buffer.start,r);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}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,t,r=this.mode){return this.buffer?r&Qe.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Qe.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Qe.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:t}=this.buffer,r=this.stack.length-1;if(e<0){let o=r<0?0:this.stack[r]+4;if(this.index!=o)return this.yieldBuf(t.findChild(o,this.index,-1,0,4))}else{let o=t.buffer[this.index+3];if(o<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(o)}return r<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 t,r,{buffer:o}=this;if(o){if(e>0){if(this.index<o.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(o.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:r}=o)}else({index:t,_parent:r}=this._tree);for(;r;{index:t,_parent:r}=r)if(t>-1)for(let s=t+e,i=e<0?-1:r._tree.children.length;s!=i;s+=e){let l=r._tree.children[s];if(this.mode&Qe.IncludeAnonymous||l instanceof Gr||!l.type.isAnonymous||Fp(l))return!1}return!0}move(e,t){if(t&&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,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let o=this.index,s=this.stack.length;s>=0;){for(let i=e;i;i=i._parent)if(i.index==o){if(o==this.index)return i;t=i,r=s+1;break e}o=this.stack[--s]}for(let o=r;o<this.stack.length;o++)t=new yr(this.buffer,t,this.stack[o]);return this.bufferNode=new yr(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let o=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(o=!0)}for(;o&&t&&t(this),o=this.type.isAnonymous,!this.nextSibling();){if(!r)return;this.parent(),r--,o=!0}}}matchContext(e){if(!this.buffer)return rh(this.node,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let o=e.length-1,s=this.stack.length-1;o>=0;s--){if(s<0)return rh(this.node,e,o);let i=r[t.buffer[this.stack[s]]];if(!i.isAnonymous){if(e[o]&&e[o]!=i.name)return!1;o--}}return!0}};function Fp(n){return n.children.some(e=>e instanceof Gr||!e.type.isAnonymous||Fp(e))}function X1(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:o=1024,reused:s=[],minRepeatType:i=r.types.length}=n,l=Array.isArray(t)?new Ma(t,t.length):t,a=r.types,c=0,u=0;function h(x,w,y,S,D){let{id:k,start:E,end:N,size:T}=l,M=u;for(;T<0;)if(l.next(),T==-1){let A=s[k];y.push(A),S.push(E-x);return}else if(T==-3){c=k;return}else if(T==-4){u=k;return}else throw new RangeError(`Unrecognized record size: ${T}`);let P=a[k],L,O,I=E-x;if(N-E<=o&&(O=m(l.pos-w,D))){let A=new Uint16Array(O.size-O.skip),H=l.pos-O.size,V=A.length;for(;l.pos>H;)V=g(O.start,A,V);L=new Gr(A,N-O.start,r),I=O.start-x}else{let A=l.pos-T;l.next();let H=[],V=[],z=k>=i?k:-1,$=0,q=N;for(;l.pos>A;)z>=0&&l.id==z&&l.size>=0?(l.end<=q-o&&(f(H,V,E,$,l.end,q,z,M),$=H.length,q=l.end),l.next()):h(E,A,H,V,z);if(z>=0&&$>0&&$<H.length&&f(H,V,E,$,E,q,z,M),H.reverse(),V.reverse(),z>-1&&$>0){let Q=d(P);L=zp(P,H,V,0,H.length,0,N-E,Q,Q)}else L=p(P,H,V,N-E,M-N)}y.push(L),S.push(I)}function d(x){return(w,y,S)=>{let D=0,k=w.length-1,E,N;if(k>=0&&(E=w[k])instanceof Te){if(!k&&E.type==x&&E.length==S)return E;(N=E.prop(ce.lookAhead))&&(D=y[k]+E.length+N)}return p(x,w,y,S,D)}}function f(x,w,y,S,D,k,E,N){let T=[],M=[];for(;x.length>S;)T.push(x.pop()),M.push(w.pop()+y-D);x.push(p(r.types[E],T,M,k-D,N-k)),w.push(D-y)}function p(x,w,y,S,D=0,k){if(c){let E=[ce.contextHash,c];k=k?[E].concat(k):[E]}if(D>25){let E=[ce.lookAhead,D];k=k?[E].concat(k):[E]}return new Te(x,w,y,S,k)}function m(x,w){let y=l.fork(),S=0,D=0,k=0,E=y.end-o,N={size:0,start:0,skip:0};e:for(let T=y.pos-x;y.pos>T;){let M=y.size;if(y.id==w&&M>=0){N.size=S,N.start=D,N.skip=k,k+=4,S+=4,y.next();continue}let P=y.pos-M;if(M<0||P<T||y.start<E)break;let L=y.id>=i?4:0,O=y.start;for(y.next();y.pos>P;){if(y.size<0)if(y.size==-3)L+=4;else break e;else y.id>=i&&(L+=4);y.next()}D=O,S+=M,k+=L}return(w<0||S==x)&&(N.size=S,N.start=D,N.skip=k),N.size>4?N:void 0}function g(x,w,y){let{id:S,start:D,end:k,size:E}=l;if(l.next(),E>=0&&S<i){let N=y;if(E>4){let T=l.pos-(E-4);for(;l.pos>T;)y=g(x,w,y)}w[--y]=N,w[--y]=k-x,w[--y]=D-x,w[--y]=S}else E==-3?c=S:E==-4&&(u=S);return y}let b=[],C=[];for(;l.pos>0;)h(n.start||0,n.bufferStart||0,b,C,-1);let v=(e=n.length)!==null&&e!==void 0?e:b.length?C[0]+b[0].length:0;return new Te(a[n.topID],b.reverse(),C.reverse(),v)}var dw=new WeakMap;function th(n,e){if(!n.isAnonymous||e instanceof Gr||e.type!=n)return 1;let t=dw.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof Te)){t=1;break}t+=th(n,r)}dw.set(e,t)}return t}function zp(n,e,t,r,o,s,i,l,a){let c=0;for(let p=r;p<o;p++)c+=th(n,e[p]);let u=Math.ceil(c*1.5/8),h=[],d=[];function f(p,m,g,b,C){for(let v=g;v<b;){let x=v,w=m[v],y=th(n,p[v]);for(v++;v<b;v++){let S=th(n,p[v]);if(y+S>=u)break;y+=S}if(v==x+1){if(y>u){let S=p[x];f(S.children,S.positions,0,S.children.length,m[x]+C);continue}h.push(p[x])}else{let S=m[v-1]+p[v-1].length-w;h.push(zp(n,p,m,x,v,w,S,null,a))}d.push(w+C-s)}}return f(e,t,r,o,0),(l||a)(h,d,i)}var xr=class{constructor(e,t,r,o,s=!1,i=!1){this.from=e,this.to=t,this.tree=r,this.offset=o,this.open=(s?1:0)|(i?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=!1){let o=[new xr(0,e.length,e,0,!1,r)];for(let s of t)s.to>e.length&&o.push(s);return o}static applyChanges(e,t,r=128){if(!t.length)return e;let o=[],s=1,i=e.length?e[0]:null;for(let l=0,a=0,c=0;;l++){let u=l<t.length?t[l]:null,h=u?u.fromA:1e9;if(h-a>=r)for(;i&&i.from<h;){let d=i;if(a>=d.from||h<=d.to||c){let f=Math.max(d.from,a)-c,p=Math.min(d.to,h)-c;d=f>=p?null:new xr(f,p,d.tree,d.offset+c,l>0,!!u)}if(d&&o.push(d),i.to>h)break;i=s<e.length?e[s++]:null}if(!u)break;a=u.toA,c=u.toA-u.toB}return o}},So=class{startParse(e,t,r){return typeof e=="string"&&(e=new Bp(e)),r=r?r.length?r.map(o=>new ka(o.from,o.to)):[new ka(0,0)]:[new ka(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let o=this.startParse(e,t,r);for(;;){let s=o.advance();if(s)return s}}},Bp=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,t){return this.string.slice(e,t)}};var ij=new ce({perNode:!0});var Vi=class{constructor(e,t,r,o,s,i,l,a,c,u=0,h){this.p=e,this.stack=t,this.state=r,this.reducePos=o,this.pos=s,this.score=i,this.buffer=l,this.bufferBase=a,this.curContext=c,this.lookAhead=u,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let o=e.parser.context;return new Vi(e,[],t,r,r,0,[],0,o?new oh(o,o.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,o=e&65535,{parser:s}=this.p,i=s.dynamicPrecedence(o);if(i&&(this.score+=i),r==0){this.pushState(s.getGoto(this.state,o,!0),this.reducePos),o<s.minRepeatTerm&&this.storeNode(o,this.reducePos,this.reducePos,4,!0),this.reduceContext(o,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),a=l?this.stack[l-2]:this.p.ranges[0].from,c=this.reducePos-a;c>=2e3&&!(!((t=this.p.parser.nodeSet.types[o])===null||t===void 0)&&t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=c));let u=l?this.stack[l-1]:0,h=this.bufferBase+this.buffer.length-u;if(o<s.minRepeatTerm||e&131072){let d=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(o,a,d,h+4,!0)}if(e&262144)this.state=this.stack[l];else{let d=this.stack[l-3];this.state=s.getGoto(d,o,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(o,a)}storeNode(e,t,r,o=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let i=this,l=this.buffer.length;if(l==0&&i.parent&&(l=i.bufferBase-i.parent.bufferBase,i=i.parent),l>0&&i.buffer[l-4]==0&&i.buffer[l-1]>-1){if(t==r)return;if(i.buffer[l-2]>=t){i.buffer[l-2]=r;return}}}if(!s||this.pos==r)this.buffer.push(e,t,r,o);else{let i=this.buffer.length;if(i>0&&this.buffer[i-4]!=0)for(;i>0&&this.buffer[i-2]>r;)this.buffer[i]=this.buffer[i-4],this.buffer[i+1]=this.buffer[i-3],this.buffer[i+2]=this.buffer[i-2],this.buffer[i+3]=this.buffer[i-1],i-=4,o>4&&(o-=4);this.buffer[i]=e,this.buffer[i+1]=t,this.buffer[i+2]=r,this.buffer[i+3]=o}}shift(e,t,r){let o=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,o),t<=this.p.parser.maxNode&&this.buffer.push(t,o,r,4);else{let s=e,{parser:i}=this.p;(r>this.pos||t<=i.maxNode)&&(this.pos=r,i.stateFlag(s,1)||(this.reducePos=r)),this.pushState(s,o),this.shiftContext(t,o),t<=i.maxNode&&this.buffer.push(t,o,r,4)}}apply(e,t,r){e&65536?this.reduce(e):this.shift(e,t,r)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(t,o),this.buffer.push(r,o,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,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),o=e.bufferBase+t;for(;e&&o==e.bufferBase;)e=e.parent;return new Vi(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Wp(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if(!(r&65536))return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>4<<1||this.stack.length>=120){let o=[];for(let s=0,i;s<t.length;s+=2)(i=t[s+1])!=this.state&&this.p.parser.hasAction(i,e)&&o.push(t[s],i);if(this.stack.length<120)for(let s=0;o.length<4<<1&&s<t.length;s+=2){let i=t[s+1];o.some((l,a)=>a&1&&l==i)||o.push(t[s],i)}t=o}let r=[];for(let o=0;o<t.length&&r.length<4;o+=2){let s=t[o+1];if(s==this.state)continue;let i=this.split();i.pushState(s,this.pos),i.storeNode(0,i.pos,i.pos,4,!0),i.shiftContext(t[o],this.pos),i.score-=200,r.push(i)}return r}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let r=t>>19,o=t&65535,s=this.stack.length-r*3;if(s<0||e.getGoto(this.stack[s],o,!1)<0){let i=this.findForcedReduction();if(i==null)return!1;t=i}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(o,s)=>{if(!t.includes(o))return t.push(o),e.allActions(o,i=>{if(!(i&393216))if(i&65536){let l=(i>>19)-s;if(l>1){let a=i&65535,c=this.stack.length-l*3;if(c>=0&&e.getGoto(this.stack[c],a,!1)>=0)return l<<19|65536|a}}else{let l=r(i,s+1);if(l!=null)return l}})};return r(this.state,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 t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new oh(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},oh=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},mw;(function(n){n[n.Insert=200]="Insert",n[n.Delete=190]="Delete",n[n.Reduce=100]="Reduce",n[n.MaxNext=4]="MaxNext",n[n.MaxInsertStackDepth=300]="MaxInsertStackDepth",n[n.DampenInsertStackDepth=120]="DampenInsertStackDepth",n[n.MinBigReduction=2e3]="MinBigReduction"})(mw||(mw={}));var Wp=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let o=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=o}},Bi=class{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Bi(e,t,t-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 Bi(this.stack,this.pos,this.index)}};function Pa(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let r=0,o=0;r<n.length;){let s=0;for(;;){let i=n.charCodeAt(r++),l=!1;if(i==126){s=65535;break}i>=92&&i--,i>=34&&i--;let a=i-32;if(a>=46&&(a-=46,l=!0),s+=a,l)break;s*=46}t?t[o++]=s:t=new e(s)}return t}var Hi=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},gw=new Hi,_p=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=gw,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,o=this.rangeIndex,s=this.pos+e;for(;s<r.from;){if(!o)return null;let i=this.ranges[--o];s-=r.from-i.to,r=i}for(;t<0?s>r.to:s>=r.to;){if(o==this.ranges.length-1)return null;let i=this.ranges[++o];s+=i.from-r.to,r=i}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,o;if(t>=0&&t<this.chunk.length)r=this.pos+e,o=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(r=s,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)o=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let i=this.rangeIndex,l=this.range;for(;l.to<=r;)l=this.ranges[++i];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>l.to&&(this.chunk2=this.chunk2.slice(0,l.to-r)),o=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),o}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>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,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=gw,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,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let o of this.ranges){if(o.from>=t)break;o.to>e&&(r+=this.input.read(Math.max(o.from,e),Math.min(o.to,t)))}return r}},To=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;Sw(this.data,e,t,this.id,r.data,r.tokenPrecTable)}};To.prototype.contextual=To.prototype.fallback=To.prototype.extend=!1;var Kp=class{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data=typeof e=="string"?Pa(e):e}token(e,t){let r=e.pos,o=0;for(;;){let s=e.next<0,i=e.resolveOffset(1,1);if(Sw(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||o++,i==null)break;e.reset(i,e.token)}o&&(e.reset(r,e.token),e.acceptToken(this.elseToken,o))}};Kp.prototype.contextual=To.prototype.fallback=To.prototype.extend=!1;function Sw(n,e,t,r,o,s){let i=0,l=1<<r,{dialect:a}=t.p.parser;e:for(;l&n[i];){let c=n[i+1];for(let f=i+3;f<c;f+=2)if((n[f+1]&l)>0){let p=n[f];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||J1(p,e.token.value,o,s))){e.acceptToken(p);break}}let u=e.next,h=0,d=n[i+2];if(e.next<0&&d>h&&n[c+d*3-3]==65535&&n[c+d*3-3]==65535){i=n[c+d*3-1];continue e}for(;h<d;){let f=h+d>>1,p=c+f+(f<<1),m=n[p],g=n[p+1]||65536;if(u<m)d=f;else if(u>=g)h=f+1;else{i=n[p+2],e.advance();continue e}}break}}function bw(n,e,t){for(let r=e,o;(o=n[r])!=65535;r++)if(o==t)return r-e;return-1}function J1(n,e,t,r){let o=bw(t,r,e);return o<0||bw(t,r,n)<o}var sr=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),$p=null,yw;(function(n){n[n.Margin=25]="Margin"})(yw||(yw={}));function xw(n,e,t){let r=n.cursor(Qe.IncludeAnonymous);for(r.moveTo(e);;)if(!(t<0?r.childBefore(e):r.childAfter(e)))for(;;){if((t<0?r.to<e:r.from>e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(n.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:n.length}}var Up=class{constructor(e,t){this.fragments=e,this.nodeSet=t,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?xw(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?xw(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 t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let r=this.trees[t],o=this.index[t];if(o==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=r.children[o],i=this.start[t]+r.positions[o];if(i>e)return this.nextStart=i,null;if(s instanceof Te){if(i==e){if(i<this.safeFrom)return null;let l=i+s.length;if(l<=this.safeTo){let a=s.prop(ce.lookAhead);if(!a||l+a<this.fragment.to)return s}}this.index[t]++,i+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(i),this.index.push(0))}else this.index[t]++,this.nextStart=i+s.length}}},Gp=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Hi)}getActions(e){let t=0,r=null,{parser:o}=e.p,{tokenizers:s}=o,i=o.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let c=0;c<s.length;c++){if(!(1<<c&i))continue;let u=s[c],h=this.tokens[c];if(!(r&&!u.fallback)&&((u.contextual||h.start!=e.pos||h.mask!=i||h.context!=l)&&(this.updateCachedToken(h,u,e),h.mask=i,h.context=l),h.lookAhead>h.end+25&&(a=Math.max(h.lookAhead,a)),h.value!=0)){let d=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!u.extend&&(r=h,t>d))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!r&&e.pos==this.stream.end&&(r=new Hi,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Hi,{pos:r,p:o}=e;return t.start=r,t.end=Math.min(r+1,o.stream.end),t.value=r==o.stream.end?o.parser.eofTerm:0,t}updateCachedToken(e,t,r){let o=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(o,e),r),e.value>-1){let{parser:s}=r.p;for(let i=0;i<s.specialized.length;i++)if(s.specialized[i]==e.value){let l=s.specializers[i](this.stream.read(e.start,e.end),r);if(l>=0&&r.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(o+1)}putAction(e,t,r,o){for(let s=0;s<o;s+=3)if(this.actions[s]==e)return o;return this.actions[o++]=e,this.actions[o++]=t,this.actions[o++]=r,o}addActions(e,t,r,o){let{state:s}=e,{parser:i}=e.p,{data:l}=i;for(let a=0;a<2;a++)for(let c=i.stateSlot(s,a?2:1);;c+=3){if(l[c]==65535)if(l[c+1]==1)c=qr(l,c+2);else{o==0&&l[c+1]==2&&(o=this.putAction(qr(l,c+2),t,r,o));break}l[c]==t&&(o=this.putAction(qr(l,c+1),t,r,o))}return o}},vw;(function(n){n[n.Distance=5]="Distance",n[n.MaxRemainingPerStep=3]="MaxRemainingPerStep",n[n.MinBufferLengthPrune=500]="MinBufferLengthPrune",n[n.ForceReduceLimit=10]="ForceReduceLimit",n[n.CutDepth=15e3]="CutDepth",n[n.CutTo=9e3]="CutTo",n[n.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",n[n.MaxStackCount=12]="MaxStackCount"})(vw||(vw={}));var qp=class{constructor(e,t,r,o){this.parser=e,this.input=t,this.ranges=o,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 _p(t,o),this.tokens=new Gp(e,this.stream),this.topTerm=e.top[1];let{from:s}=o[0];this.stacks=[Vi.start(this,e.top[0],s)],this.fragments=r.length&&this.stream.end-s>e.bufferLength*4?new Up(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],o,s;if(this.bigReductionCount>300&&e.length==1){let[i]=e;for(;i.forceReduce()&&i.stack.length&&i.stack[i.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let i=0;i<e.length;i++){let l=e[i];for(;;){if(this.tokens.mainToken=null,l.pos>t)r.push(l);else{if(this.advanceStack(l,r,e))continue;{o||(o=[],s=[]),o.push(l);let a=this.tokens.getMainToken(l);s.push(a.value,a.end)}}break}}if(!r.length){let i=o&&Y1(o);if(i)return this.stackToTree(i);if(this.parser.strict)throw sr&&o&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&o){let i=this.stoppedAt!=null&&o[0].pos>this.stoppedAt?o[0]:this.runRecovery(o,s,r);if(i)return this.stackToTree(i.forceAll())}if(this.recovering){let i=this.recovering==1?1:this.recovering*3;if(r.length>i)for(r.sort((l,a)=>a.score-l.score);r.length>i;)r.pop();r.some(l=>l.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let i=0;i<r.length-1;i++){let l=r[i];for(let a=i+1;a<r.length;a++){let c=r[a];if(l.sameState(c)||l.buffer.length>500&&c.buffer.length>500)if((l.score-c.score||l.buffer.length-c.buffer.length)>0)r.splice(a--,1);else{r.splice(i--,1);continue e}}}r.length>12&&r.splice(12,r.length-12)}this.minStackPos=r[0].pos;for(let i=1;i<r.length;i++)r[i].pos<this.minStackPos&&(this.minStackPos=r[i].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,t,r){let o=e.pos,{parser:s}=this,i=sr?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&o>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,u=c?e.curContext.hash:0;for(let h=this.fragments.nodeAt(o);h;){let d=this.parser.nodeSet.types[h.type.id]==h.type?s.getGoto(e.state,h.type.id):-1;if(d>-1&&h.length&&(!c||(h.prop(ce.contextHash)||0)==u))return e.useNode(h,d),sr&&console.log(i+this.stackID(e)+` (via reuse of ${s.getName(h.type.id)})`),!0;if(!(h instanceof Te)||h.children.length==0||h.positions[0]>0)break;let f=h.children[0];if(f instanceof Te&&h.positions[0]==0)h=f;else break}}let l=s.stateSlot(e.state,4);if(l>0)return e.reduce(l),sr&&console.log(i+this.stackID(e)+` (via always-reduce ${s.getName(l&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let c=0;c<a.length;){let u=a[c++],h=a[c++],d=a[c++],f=c==a.length||!r,p=f?e:e.split();if(p.apply(u,h,d),sr&&console.log(i+this.stackID(p)+` (via ${u&65536?`reduce of ${s.getName(u&65535)}`:"shift"} for ${s.getName(h)} @ ${o}${p==e?"":", split"})`),f)return!0;p.pos>o?t.push(p):r.push(p)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return Cw(e,t),!0}}runRecovery(e,t,r){let o=null,s=!1;for(let i=0;i<e.length;i++){let l=e[i],a=t[i<<1],c=t[(i<<1)+1],u=sr?this.stackID(l)+" -> ":"";if(l.deadEnd&&(s||(s=!0,l.restart(),sr&&console.log(u+this.stackID(l)+" (restarted)"),this.advanceFully(l,r))))continue;let h=l.split(),d=u;for(let f=0;h.forceReduce()&&f<10&&(sr&&console.log(d+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,r));f++)sr&&(d=this.stackID(h)+" -> ");for(let f of l.recoverByInsert(a))sr&&console.log(u+this.stackID(f)+" (via recover-insert)"),this.advanceFully(f,r);this.stream.end>l.pos?(c==l.pos&&(c++,a=0),l.recoverByDelete(a,c),sr&&console.log(u+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),Cw(l,r)):(!o||o.score<l.score)&&(o=l)}return o}stackToTree(e){return e.close(),Te.build({buffer:Bi.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 t=($p||($p=new WeakMap)).get(e);return t||$p.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function Cw(n,e){for(let t=0;t<e.length;t++){let r=e[t];if(r.pos==n.pos&&r.sameState(n)){e[t].score<n.score&&(e[t]=n);return}}e.push(n)}var jp=class{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}};var vs=class extends So{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let l=0;l<e.repeatNodeCount;l++)t.push("");let r=Object.keys(e.topRules).map(l=>e.topRules[l][1]),o=[];for(let l=0;l<t.length;l++)o.push([]);function s(l,a,c){o[l].push([a,a.deserialize(String(c))])}if(e.nodeProps)for(let l of e.nodeProps){let a=l[0];typeof a=="string"&&(a=ce[a]);for(let c=1;c<l.length;){let u=l[c++];if(u>=0)s(u,a,l[c++]);else{let h=l[c+-u];for(let d=-u;d>0;d--)s(l[c++],a,h);c++}}}this.nodeSet=new Ur(t.map((l,a)=>rt.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:o[a],top:r.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 i=Pa(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(ww),this.states=Pa(e.states,Uint32Array),this.data=Pa(e.stateData),this.goto=Pa(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(l=>typeof l=="number"?new To(i,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,t,r){let o=new qp(this,e,t,r);for(let s of this.wrappers)o=s(o,e,t,r);return o}getGoto(e,t,r=!1){let o=this.goto;if(t>=o[0])return-1;for(let s=o[t+1];;){let i=o[s++],l=i&1,a=o[s++];if(l&&r)return a;for(let c=s+(i>>1);s<c;s++)if(o[s]==e)return a;if(l)return-1}}hasAction(e,t){let r=this.data;for(let o=0;o<2;o++)for(let s=this.stateSlot(e,o?2:1),i;;s+=3){if((i=r[s])==65535)if(r[s+1]==1)i=r[s=qr(r,s+2)];else{if(r[s+1]==2)return qr(r,s+2);break}if(i==t||i==0)return qr(r,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,r=>r==t?!0:null)}allActions(e,t){let r=this.stateSlot(e,4),o=r?t(r):void 0;for(let s=this.stateSlot(e,1);o==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=qr(this.data,s+2);else break;o=t(qr(this.data,s+1))}return o}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=qr(this.data,r+2);else break;if(!(this.data[r+2]&1)){let o=this.data[r+1];t.some((s,i)=>i&1&&s==o)||t.push(this.data[r],o)}}return t}configure(e){let t=Object.assign(Object.create(vs.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let o=e.tokenizers.find(s=>s.from==r);return o?o.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,o)=>{let s=e.specializers.find(l=>l.from==r.external);if(!s)return r;let i=Object.assign(Object.assign({},r),{external:s.to});return t.specializers[o]=ww(i),i})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}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 t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let s of e.split(" ")){let i=t.indexOf(s);i>=0&&(r[i]=!0)}let o=null;for(let s=0;s<t.length;s++)if(!r[s])for(let i=this.dialects[t[s]],l;(l=this.data[i++])!=65535;)(o||(o=new Uint8Array(this.maxTerm+1)))[l]=1;return new jp(e,r,o)}static deserialize(e){return new vs(e)}};function qr(n,e){return n[e]|n[e+1]<<16}function Y1(n){let e=null;for(let t of n){let r=t.p.stoppedAt;(t.pos==t.p.stream.end||r!=null&&t.pos>r)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function ww(n){if(n.external){let e=n.extend?1:0;return(t,r)=>n.external(t,r)<<1|e}return n.get}var Xp=vs.deserialize({version:14,states:"%QOVQPOOOOQO'#C_'#C_O_QQO'#C^OOQO'#DO'#DOOvQQO'#C|OOQO'#DR'#DROVQPO'#CuOOQO'#C}'#C}QOQPOOOOQO'#C`'#C`O!UQQO,58xO!dQPO,59VOVQPO,59]OVQPO,59_O!iQPO,59hO!nQQO,59aOOQO'#DQ'#DQOOQO1G.d1G.dO!UQQO1G.qO!yQQO1G.wOOQO1G.y1G.yOOQO'#Cw'#CwOOQO1G/S1G/SOOQO1G.{1G.{O#[QPO'#CnO#dQPO7+$]O!UQQO'#CxO#iQPO,59YOOQO<<Gw<<GwOOQO,59d,59dOOQO-E6v-E6v",stateData:"#q~OoOS~OsPOvUO~OTXOUXOVXOWXOXXOYXO`ZO~Of[Oh]Oj^OmpX~OZ`O[`O]`O^`O~OabO~OseO~Of[Oh]OwgO~Oh]Ofeijeimeiwei~OcjOdbX~OdlO~OcjOdba~O",goto:"#YvPPw}!TPPPPPPPPPPwPP!WPP!ZP!ZP!aP!g!jPPP!p!s!aP#P!aXROU[]XQOU[]RYQRibXTOU[]XVOU[]Rf^QkhRnkRWOQSOQ_UQc[Rd]QaYQhbRmj",nodeNames:"\u26A0 Filter ColumnValueExpression Column Operator Eq NotEq Gt Lt Starts Ends Number String True False ColumnSetExpression In LBrack Values Comma RBrack AndExpression And OrExpression Or ParenthesizedExpression As FilterName",maxTerm:39,skippedNodes:[0],repeatNodeCount:1,tokenData:"6p~RnXY#PYZ#P]^#Ppq#Pqr#brs#mxy$eyz$j|}$o!O!P$t!Q![%S!^!_%_!_!`%d!`!a%i!c!}%n!}#O&V#P#Q&[#R#S%n#T#U&a#U#X%n#X#Y(w#Y#Z+]#Z#]%n#]#^.]#^#c%n#c#d/e#d#g%n#g#h0m#h#i4[#i#o%n~#USo~XY#PYZ#P]^#Ppq#P~#eP!_!`#h~#mOU~~#pWOX#mZ]#m^r#mrs$Ys#O#m#P;'S#m;'S;=`$_<%lO#m~$_O[~~$bP;=`<%l#m~$jOv~~$oOw~~$tOc~~$wP!Q![$z~%PPZ~!Q![$z~%XQZ~!O!P$t!Q![%S~%dOW~~%iOT~~%nOV~P%sUsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%n~&[Oa~~&aOd~R&fYsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#b%n#b#c'U#c#g%n#g#h(^#h#o%nR'ZWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#W%n#W#X's#X#o%nR'zUfQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR(eUjQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR(|WsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#b%n#b#c)f#c#o%nR)kWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#W%n#W#X*T#X#o%nR*YWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#g%n#g#h*r#h#o%nR*yUYQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR+bVsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#U+w#U#o%nR+|WsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#`%n#`#a,f#a#o%nR,kWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#g%n#g#h-T#h#o%nR-YWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#X%n#X#Y-r#Y#o%nR-yU^QsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR.bWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#b%n#b#c.z#c#o%nR/RU`QsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR/jWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#f%n#f#g0S#g#o%nR0ZUhQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR0rWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#h%n#h#i1[#i#o%nR1aVsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#U1v#U#o%nR1{WsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#f%n#f#g2e#g#o%nR2jWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#h%n#h#i3S#i#o%nR3XWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#g%n#g#h3q#h#o%nR3xUXQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR4aWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#f%n#f#g4y#g#o%nR5OWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#i%n#i#j5h#j#o%nR5mWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#X%n#X#Y6V#Y#o%nR6^U]QsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%n",tokenizers:[0,1],topRules:{Filter:[0,1]},tokenPrec:0});var vr=require("@vuu-ui/vuu-utils");var rn,Jp=class{constructor(){pe(this,rn,void 0)}setFilterCombinatorOp(e,t=R(this,rn)){(0,vr.isMultiClauseFilter)(t)&&t.op===e||Z(this,rn,{op:e,filters:[R(this,rn)]})}add(e){if(R(this,rn)===void 0)Z(this,rn,e);else if((0,vr.isMultiClauseFilter)(R(this,rn)))R(this,rn).filters.push(e);else throw Error("Invalid filter passed to FilterExpression")}setColumn(e,t=R(this,rn)){if((0,vr.isMultiClauseFilter)(t)){let r=t.filters.at(-1);r&&this.setColumn(e,r)}else t&&(t.column=e)}setOp(e,t=R(this,rn)){if((0,vr.isMultiClauseFilter)(t)){let r=t.filters.at(-1);r&&this.setOp(e,r)}else t&&(t.op=e)}setValue(e,t=R(this,rn)){var r;if((0,vr.isMultiClauseFilter)(t)){let o=t.filters.at(-1);o&&this.setValue(e,o)}else(0,vr.isMultiValueFilter)(t)?((r=t.values)!=null||(t.values=[]),t.values.push(e)):(0,vr.isSingleValueFilter)(t)&&(t.value=e)}toJSON(e=R(this,rn)){return this.name?{...e,name:this.name}:e}};rn=new WeakMap;var Yp=(n,e)=>{let t=new Jp,r=n.cursor();do{let{name:o,from:s,to:i}=r;switch(o){case"ColumnValueExpression":t.add({});break;case"ColumnSetExpression":t.add({op:"in"});break;case"Or":case"And":t.setFilterCombinatorOp(e.substring(s,i));break;case"Column":t.setColumn(e.substring(s,i));break;case"Operator":t.setOp(e.substring(s,i));break;case"String":t.setValue(e.substring(s+1,i-1));break;case"Number":t.setValue(parseFloat(e.substring(s,i)));break;case"True":t.setValue(!0);break;case"False":t.setValue(!1);break;case"FilterName":t.name=e.substring(s,i);break;default:}}while(r.next());return t.toJSON()};var Z1=Xp.configure({strict:!0}),Cs=n=>{let e=Z1.parse(n);return Yp(e,n)};function sh(n,e){switch(e.op){case"in":return eA(n,e);case"=":return tA(n,e);case">":return nA(n,e);case">=":return rA(n,e);case"<":return oA(n,e);case"<=":return sA(n,e);case"starts":return iA(n,e);case"and":return lA(n,e);case"or":return aA(n,e);default:return console.log(`unrecognized filter type ${e.op}`),()=>!0}}var eA=(n,e)=>t=>e.values.indexOf(t[n[e.column]])!==-1,tA=(n,e)=>t=>t[n[e.column]]===e.value,nA=(n,e)=>t=>t[n[e.column]]>e.value,rA=(n,e)=>t=>t[n[e.column]]>=e.value,oA=(n,e)=>t=>t[n[e.column]]<e.value,sA=(n,e)=>t=>t[n[e.column]]<=e.value,iA=(n,e)=>{let t=e.value;if(typeof t!="string")throw Error("string filter applied to value of wrong type");return r=>{let o=r[n[e.column]];if(typeof o!="string")throw Error("string filter applied to value of wrong type");return o.toLowerCase().startsWith(t.toLowerCase())}},lA=(n,e)=>{let t=e.filters.map(r=>sh(n,r));return r=>t.every(o=>o(r))};function aA(n,e){let t=e.filters.map(r=>sh(n,r));return r=>t.some(o=>o(r))}var He=require("@vuu-ui/vuu-utils");var Tw=(n,e,t,r,o,s)=>{let i=ws(o,n),l=n[n.length-1].aggType,a=t.map(c=>o[c]);switch(l){case 1:return Rw(s,r,o,n,e,a);case 2:return cA(s,r,o,n,e,a);case 3:return Ew(s,o,n,e,a);case 4:return hA(s,r,o,n,e,a);case 5:return dA(s,r,o,n,e,a);case 6:return uA(s,r,o,n,e,a)}};function Ew(n,e,t,r,o){let s={},i=ws(e,t);function l(a){if(Array.isArray(a))return a.length;{let c=0;for(let u in a)c+=1+l(a[u]);return c}}for(let a in n){let c=l(n[a]);s[a]=c}for(let a=0;a<r.length;a++)for(let c in s)r[a][o[0]]===c&&(r[a][i]=s[c]);return console.log("!!!! targetData",r),console.log("!!!! counts",s),s}function ws(n,e){console.log("!!!! aggregation length",e.length);let t=e[e.length-1].column;return n[t]}function Rw(n,e,t,r,o,s){let i={},l=ws(t,r);function a(c,u,h){if(Array.isArray(c)){let d=0;for(let f of c)d+=Number(u[f][h]);return d}else{let d=0;for(let f in c)d+=a(c[f],u,h);return d}}for(let c in n){console.log(c);let u=Number(a(n[c],e,l));i[c]=u}for(let c=0;c<o.length;c++)for(let u in i)o[c][s[0]]===u&&(o[c][l]=i[u]);return console.log("!!!! targetData",o),console.log("!!!! sums",i),i}function cA(n,e,t,r,o,s){let i={},l=ws(t,r),a=Ew(n,t,r,o,s),c=Rw(n,e,t,r,o,s);for(let u in a){let h=0;h=c[u]/a[u],i[u]=h}for(let u=0;u<o.length;u++)for(let h in i)o[u][s[0]]===h&&(o[u][l]=i[h]);return console.log("!!!! targetData",o),console.log("!!!! averages",i),i}function ih(n,e,t){let r=[];if(Array.isArray(n))for(let o of n)r.push(e[o][t]);else for(let o in n)r.push(...ih(n[o],e,t));return r}function uA(n,e,t,r,o,s){let i={},l=ws(t,r);for(let a in n){let c=ih(n[a],e,l),u=[...new Set(c)];i[a]=u}for(let a=0;a<o.length;a++)for(let c in i)o[a][s[0]]===c&&(o[a][l]=i[c]);return i}function hA(n,e,t,r,o,s){let i={},l=ws(t,r);for(let a in n){let c=ih(n[a],e,l),u=Math.max(...c);i[a]=u}for(let a=0;a<o.length;a++)for(let c in i)o[a][s[0]]===c&&(o[a][l]=i[c]);return i}function dA(n,e,t,r,o,s){let i={},l=ws(t,r);for(let a in n){let c=ih(n[a],e,l),u=Math.min(...c);i[a]=u}for(let a=0;a<o.length;a++)for(let c in i)o[a][s[0]]===c&&(o[a][l]=i[c]);return i}var Dw=require("@vuu-ui/vuu-utils"),{DEPTH:Zp,IS_EXPANDED:kw,KEY:em}=Dw.metadataKeys,Mw=(n,e)=>{let t=[];for(let r=0,o=0,s=!1,i=e.length;r<i;r++){let l=e[r],{[Zp]:a,[em]:c}=l;if(c===n){let u=l.slice();for(u[kw]=!1,t.push(u),o+=1,s=!0;r<i-1&&e[r+1][Zp]>a;)r+=1}else if(s){let u=l.slice();u[0]=o,u[1]=o,t.push(u),o+=1}else t.push(l),o+=1}return t},tm=(n,e,t,r,o,s)=>{let i=t.map(l=>r[l]);return Pw(o,i,n,e,void 0,void 0,void 0,s)},Pw=(n,e,t,r=[],o="$root",s=1,i=[],l)=>{let a=Object.keys(n).sort();for(let c of a){let u=i.length,h=`${o}|${c}`,d=[u,u,!1,!1,s,0,h,0];d[e[s-1]]=c,i.push(d),t.includes(h)&&(d[kw]=!0,Array.isArray(n[c])?fA(i,n[c],r,h,s+1):Pw(n[c],e,t,r,h,s+1,i,l))}for(let c in i)for(let u in i)if(i[c][2]===!1&&l[u]!=null&&i[c][e[0]]===l[u][e[0]]){i[c]=i[c].splice(0,8).concat(l[u].slice(8,l[u].length));break}return i},fA=(n,e,t,r,o)=>{for(let s of e){let i=n.length,l=t[s].slice();l[0]=i,l[1]=i,l[Zp]=o,l[em]=`${r}|${l[em]}`,n.push(l)}},Iw=(n,e,t)=>{let r=e.map(i=>t[i]),o=mA(n,r);return[pA(o,r),o]},pA=(n,e)=>{let r=[],o=0,s=Object.keys(n).sort();for(let i of s){let l=[o,o,!1,!1,1,0,`$root|${i}`,0];l[e[0]]=i,r.push(l),o+=1}return r};function mA(n,e){let t={},r=e.length,o=r-1;for(let s=0,i=n.length;s<i;s++){let l=n[s],a=t,c,u;for(let h=0;h<r;h++){let d=e[h];u=l[d].toString(),c=a[u],c&&h===o?c.push(s):c?a=c:!c&&h<o?a=a[u]={}:c||(a[u]=[s])}}return console.log("!! groups",t),t}var gA=(n,e,[t,r])=>{let o=r==="D"?e[t]:n[t],s=r==="D"?n[t]:e[t];return o===s?0:s===null||o>s?1:-1},bA=n=>n.length===1?yA(n):n.length===2?xA(n):vA(n),yA=([[n,e]])=>(t,r)=>{let o=e==="D"?r[n]:t[n],s=e==="D"?t[n]:r[n];return o>s?1:s>o?-1:0},xA=([[n,e],[t,r]])=>(o,s)=>{let i=e==="D"?s[n]:o[n],l=e==="D"?o[n]:s[n],a=r==="D"?s[t]:o[t],c=r==="D"?o[t]:s[t];return i>l?1:l>i?-1:a>c?1:c>a?-1:0},vA=(n,e=gA)=>(t,r)=>{for(let o of n){let s=e(t,r,o);if(s!==0)return s}return 0},Aw=(n,{sortDefs:e},t)=>{let r=e.map(({column:s,sortType:i})=>[t[s],i]),o=bA(r);return n.slice().sort(o)};var{debug:Nn}=(0,He.logger)("ArrayDataSource"),{RENDER_IDX:CA,SELECTED:wA}=He.metadataKeys,SA=(n,e)=>[e,e,!0,!1,1,0,n[0].toString(),0,...n],TA=n=>({columns:n.map(({name:t,serverDataType:r="string"})=>({name:t,serverDataType:r})),key:n[0].name,table:{module:"",table:"Array"}}),EA=(n,e,t)=>{let[r]=n,o=n.slice();return o[CA]=e.keyFor(r),o[wA]=(0,He.getSelectionStatus)(t,r),o},Ia,ir,ye,Pt,ct,lh,Aa,Fi,Lw=class extends He.EventEmitter{constructor({aggregations:t,columnDescriptors:r,data:o,filter:s,groupBy:i,rangeChangeRowset:l="delta",sort:a,title:c,viewport:u}){super();this.status="initialising";this.disabled=!1;this.selectedRows=[];this.suspended=!1;this.lastRangeServed={from:0,to:0};this.openTreeNodes=[];pe(this,Ia,[]);pe(this,ir,void 0);pe(this,ye,Qu);pe(this,Pt,void 0);pe(this,ct,He.NULL_RANGE);pe(this,lh,0);pe(this,Aa,0);pe(this,Fi,void 0);this.keys=new He.KeySet(R(this,ct));this.processedData=void 0;if(!o||!r)throw Error("ArrayDataSource constructor called without data or without columnDescriptors");this.columnDescriptors=r,Z(this,Ia,r.map(h=>h.name)),Z(this,ir,(0,He.buildColumnMap)(R(this,Ia))),this.rangeChangeRowset=l,this.tableSchema=TA(r),Z(this,Pt,o.map(SA)),this.viewport=u||(0,He.uuid)(),Z(this,Aa,o.length),Z(this,Fi,c),this.config={...R(this,ye),aggregations:t||R(this,ye).aggregations,columns:r.map(h=>h.name),filter:s||R(this,ye).filter,groupBy:i||R(this,ye).groupBy,sort:a||R(this,ye).sort},Nn==null||Nn(`columnMap: ${JSON.stringify(R(this,ir))}`)}async subscribe({viewport:t=(u=>(u=this.viewport)!=null?u:(0,He.uuid)())(),columns:r,aggregations:o,range:s,sort:i,groupBy:l,filter:a},c){var h;this.clientCallback=c,this.viewport=t,this.status="subscribed",this.lastRangeServed={from:0,to:0},o||r||a||l||i?(s&&Z(this,ct,s),this.config={...R(this,ye),aggregations:o||R(this,ye).aggregations,columns:r||R(this,ye).columns,filter:a||R(this,ye).filter,groupBy:l||R(this,ye).groupBy,sort:i||R(this,ye).sort}):((h=this.clientCallback)==null||h.call(this,{...R(this,ye),type:"subscribed",clientViewportId:this.viewport,range:R(this,ct),tableSchema:this.tableSchema}),this.clientCallback({clientViewportId:this.viewport,mode:"size-only",type:"viewport-update",size:R(this,Pt).length}),s?this.range=s:R(this,ct)!==He.NULL_RANGE&&this.sendRowsToClient())}unsubscribe(){console.log("unsubscribe noop")}suspend(){return console.log("noop"),this}resume(){return console.log("resume noop"),this}disable(){return console.log("disable noop"),this}enable(){return console.log("enable noop"),this}select(t){Nn==null||Nn(`select ${JSON.stringify(t)}`),this.selectedRows=t,this.setRange((0,He.resetRange)(R(this,ct)),!0)}openTreeNode(t){this.openTreeNodes.push(t),this.processedData=tm(this.openTreeNodes,R(this,Pt),R(this,ye).groupBy,R(this,ir),this.groupMap,this.processedData),this.setRange((0,He.resetRange)(R(this,ct)),!0)}closeTreeNode(t){this.openTreeNodes=this.openTreeNodes.filter(r=>r!==t),this.processedData&&(this.processedData=Mw(t,this.processedData),this.setRange((0,He.resetRange)(R(this,ct)),!0))}get data(){return R(this,Pt)}get currentData(){var t;return(t=this.processedData)!=null?t:R(this,Pt)}get config(){return R(this,ye)}set config(t){var r;if(ju(R(this,ye),t)){if(t){let o=R(this,ye),s=(r=t==null?void 0:t.filter)!=null&&r.filter&&(t==null?void 0:t.filter.filterStruct)===void 0?{...t,filter:{filter:t.filter.filter,filterStruct:Cs(t.filter.filter)}}:t;Z(this,ye,Xu(s));let i;if(ew(t)){let{filter:l,filterStruct:a=Cs(l)}=t.filter;if(a){let c=sh(R(this,ir),a);i=R(this,Pt).filter(c)}else throw Error("filter must include filterStruct")}if(tw(t)&&(i=Aw(i!=null?i:R(this,Pt),t.sort,R(this,ir))),this.openTreeNodes.length>0&&Pp(o,t)&&(R(this,ye).groupBy.length===0?this.openTreeNodes.length=0:console.log("adjust the openTReeNodes groupBy changed ",{originalGroupBy:o.groupBy,newGroupBy:s.groupBy})),ZC(t)){let[l,a]=Iw(i!=null?i:R(this,Pt),t.groupBy,R(this,ir));this.groupMap=a,i=l,this.openTreeNodes.length>0&&(i=tm(this.openTreeNodes,R(this,Pt),R(this,ye).groupBy,R(this,ir),this.groupMap,i))}this.processedData=i==null?void 0:i.map((l,a)=>{let c=l.slice();return c[0]=a,c[1]=a,c})}this.setRange((0,He.resetRange)(R(this,ct)),!0),this.emit("config",R(this,ye))}}get selectedRowsCount(){return R(this,lh)}get size(){return R(this,Aa)}get range(){return R(this,ct)}set range(t){(t.from!==R(this,ct).from||t.to!==R(this,ct).to)&&this.setRange(t)}setRange(t,r=!1){Z(this,ct,t),this.keys.reset(t),this.sendRowsToClient(r)}sendRowsToClient(t=!1){var i,l;let r=this.rangeChangeRowset==="delta"&&!t?(0,He.rangeNewItems)(this.lastRangeServed,R(this,ct)):R(this,ct),o=(i=this.processedData)!=null?i:R(this,Pt),s=o.slice(r.from,r.to).map(a=>EA(a,this.keys,this.selectedRows));(l=this.clientCallback)==null||l.call(this,{clientViewportId:this.viewport,mode:"batch",rows:s,size:o.length,type:"viewport-update"}),this.lastRangeServed=R(this,ct)}get columns(){return R(this,ye).columns}set columns(t){this.config={...R(this,ye),columns:t}}get aggregations(){return R(this,ye).aggregations}set aggregations(t){var s;Z(this,ye,{...R(this,ye),aggregations:t});let r=(s=this.processedData)!=null?s:R(this,Pt),o=R(this,Pt);Tw(t,r,R(this,ye).groupBy,o,R(this,ir),this.groupMap),this.setRange((0,He.resetRange)(R(this,ct)),!0),this.emit("config",R(this,ye))}get sort(){return R(this,ye).sort}set sort(t){console.log("set sort",{sort:t}),Nn==null||Nn(`sort ${JSON.stringify(t)}`),this.config={...R(this,ye),sort:t}}get filter(){return R(this,ye).filter}set filter(t){Nn==null||Nn(`filter ${JSON.stringify(t)}`),this.config={...R(this,ye),filter:t}}get groupBy(){return R(this,ye).groupBy}set groupBy(t){this.config={...R(this,ye),groupBy:t}}get title(){return R(this,Fi)}set title(t){Z(this,Fi,t)}get _clientCallback(){return this.clientCallback}createLink({parentVpId:t,link:{fromColumn:r,toColumn:o}}){console.log("create link",{parentVpId:t,fromColumn:r,toColumn:o})}removeLink(){console.log("remove link")}findRow(t){let r=R(this,Pt)[t];if(r)return r;throw`no row found for key ${t}`}updateRow(t,r,o){let s=this.findRow(parseInt(t));console.log({row:s,colName:r,value:o})}applyEdit(t,r,o){return console.log(`ArrayDataSource applyEdit ${t} ${r} ${o}`),!0}async menuRpcCall(t){return new Promise(r=>{let{type:o}=t;switch(o){case"VP_EDIT_CELL_RPC":{let{rowKey:s,field:i,value:l}=t;try{this.updateRow(s,i,l),r(void 0)}catch(a){r({error:String(a),type:"VP_EDIT_RPC_REJECT"})}}break;default:r(void 0)}})}};Ia=new WeakMap,ir=new WeakMap,ye=new WeakMap,Pt=new WeakMap,ct=new WeakMap,lh=new WeakMap,Aa=new WeakMap,Fi=new WeakMap;var xn=require("@vuu-ui/vuu-utils");var RA={columns:[],key:"",table:{module:"",table:""}},{DEPTH:zi,IDX:Ow,IS_EXPANDED:DA,IS_LEAF:kA,KEY:Fw,SELECTED:Nw}=xn.metadataKeys,Hw=(n,e)=>{let[t]=n,r=n.slice();return r[1]=e.keyFor(t),r},Eo,Ro,on,Do,ko,Cr,ah,ch,Mo,$i,Vw=class extends xn.EventEmitter{constructor({aggregations:t,data:r,filter:o,groupBy:s,sort:i,title:l,viewport:a}){super();this.status="initialising";this.expandedRows=new Set;this.visibleRows=[];pe(this,Eo,[]);pe(this,Ro,[]);pe(this,on,void 0);pe(this,Do,{filter:""});pe(this,ko,[]);pe(this,Cr,{from:0,to:0});pe(this,ah,0);pe(this,ch,0);pe(this,Mo,{sortDefs:[]});pe(this,$i,void 0);this.keys=new xn.KeySet(R(this,Cr));if(!r)throw Error("JsonDataSource constructor called without data");[this.columnDescriptors,iy(this,on)._]=(0,xn.jsonToDataSourceRows)(r),this.visibleRows=R(this,on).filter(c=>c[zi]===0).map((c,u)=>[u,u].concat(c.slice(2))),this.viewport=a||(0,xn.uuid)(),t&&Z(this,Eo,t),this.columnDescriptors&&Z(this,Ro,this.columnDescriptors.map(c=>c.name)),o&&Z(this,Do,o),s&&Z(this,ko,s),i&&Z(this,Mo,i),Z(this,$i,l)}async subscribe({viewport:t=(u=>(u=this.viewport)!=null?u:(0,xn.uuid)())(),columns:r,aggregations:o,range:s,sort:i,groupBy:l,filter:a},c){var h;this.clientCallback=c,console.log(`subscribe range ${s==null?void 0:s.from} ${s==null?void 0:s.to}`),o&&Z(this,Eo,o),r&&Z(this,Ro,r),a&&Z(this,Do,a),l&&Z(this,ko,l),s&&Z(this,Cr,s),i&&Z(this,Mo,i),this.status==="initialising"&&(this.viewport=t,this.status="subscribed",(h=this.clientCallback)==null||h.call(this,{aggregations:R(this,Eo),type:"subscribed",clientViewportId:this.viewport,columns:R(this,Ro),filter:R(this,Do),groupBy:R(this,ko),range:R(this,Cr),sort:R(this,Mo),tableSchema:RA}),this.clientCallback({clientViewportId:this.viewport,mode:"size-only",type:"viewport-update",size:this.visibleRows.length}))}unsubscribe(){console.log("noop")}suspend(){return console.log("noop"),this}resume(){return console.log("noop"),this}disable(){return console.log("noop"),this}enable(){return console.log("noop"),this}select(t){var o;let r=[];for(let s of R(this,on)){let{[Ow]:i,[Nw]:l}=s,a=l===1,c=(0,xn.isSelected)(t,i);if(c!==a){let u=s.slice();u[Nw]=c?1:0,R(this,on)[i]=u,r.push(u)}}r.length>0&&((o=this.clientCallback)==null||o.call(this,{clientViewportId:this.viewport,mode:"update",type:"viewport-update",rows:r}))}openTreeNode(t){var s;this.expandedRows.add(t),this.visibleRows=Bw(R(this,on),this.expandedRows);let{from:r,to:o}=R(this,Cr);(s=this.clientCallback)==null||s.call(this,{clientViewportId:this.viewport,mode:"batch",rows:this.visibleRows.slice(r,o).map(i=>Hw(i,this.keys)),size:this.visibleRows.length,type:"viewport-update"}),console.log(this.expandedRows)}closeTreeNode(t,r=!1){if(this.expandedRows.delete(t),r)for(let o of this.expandedRows.keys())o.startsWith(t)&&this.expandedRows.delete(o);this.visibleRows=Bw(R(this,on),this.expandedRows),this.sendRowsToClient()}get config(){}get selectedRowsCount(){return R(this,ah)}get size(){return R(this,ch)}get range(){return R(this,Cr)}set range(t){Z(this,Cr,t),this.keys.reset(t),requestAnimationFrame(()=>{this.sendRowsToClient()})}sendRowsToClient(){var o;let{from:t,to:r}=R(this,Cr);(o=this.clientCallback)==null||o.call(this,{clientViewportId:this.viewport,mode:"batch",rows:this.visibleRows.slice(t,r).map(s=>Hw(s,this.keys)),size:this.visibleRows.length,type:"viewport-update"})}get columns(){return R(this,Ro)}set columns(t){Z(this,Ro,t),console.log(`ArrayDataSource setColumns ${t.join(",")}`)}get aggregations(){return R(this,Eo)}set aggregations(t){Z(this,Eo,t)}get sort(){return R(this,Mo)}set sort(t){Z(this,Mo,t)}get filter(){return R(this,Do)}set filter(t){Z(this,Do,t),console.log(`RemoteDataSource ${JSON.stringify(t)}`)}get groupBy(){return R(this,ko)}set groupBy(t){Z(this,ko,t)}get title(){return R(this,$i)}set title(t){Z(this,$i,t)}createLink({parentVpId:t,link:{fromColumn:r,toColumn:o}}){console.log("create link",{parentVpId:t,fromColumn:r,toColumn:o})}removeLink(){console.log("remove link")}async menuRpcCall(t){console.log("rmenuRpcCall",{rpcRequest:t})}applyEdit(t,r,o){return console.log(`ArrayDataSource applyEdit ${t} ${r} ${o}`),!0}getChildRows(t){let r=R(this,on).find(s=>s[Fw]===t);if(r){let{[Ow]:s,[zi]:i}=r,l=s+1,a=[];do{let{[zi]:c}=R(this,on)[l];if(c===i+1)a.push(R(this,on)[l]);else if(c<=i)break;l+=1}while(l<R(this,on).length);return a}else console.warn(`JsonDataSource getChildRows row not found for key ${t}`);let o=t.split("|").slice(1);return console.log({sections:o,parentRow:r}),[]}getRowsAtDepth(t,r=!0){return(r?this.visibleRows:R(this,on)).filter(s=>s[zi]===t)}};Eo=new WeakMap,Ro=new WeakMap,on=new WeakMap,Do=new WeakMap,ko=new WeakMap,Cr=new WeakMap,ah=new WeakMap,ch=new WeakMap,Mo=new WeakMap,$i=new WeakMap;function Bw(n,e){let t=[],r={value:0};for(let o=0;o<n.length;o++){let s=n[o],{[zi]:i,[Fw]:l,[kA]:a}=s,c=e.has(l);if(t.push(MA(s,r,c)),!a&&!c)do o+=1;while(o<n.length-1&&n[o+1][zi]>i)}return t}var MA=(n,e,t)=>{let r=n.slice();return r[0]=e.value,r[1]=e.value,t&&(r[DA]=!0),e.value+=1,r};var vn=require("@vuu-ui/vuu-utils");var{info:Gt}=(0,vn.logger)("RemoteDataSource"),ie,uh,Wi,jr,La,_i,Ss,zw=class extends vn.EventEmitter{constructor({bufferSize:t=100,aggregations:r,columns:o,filter:s,groupBy:i,sort:l,table:a,title:c,viewport:u,visualLink:h}){super();this.server=null;this.status="initialising";pe(this,ie,Qu);pe(this,uh,[]);pe(this,Wi,"throttle");pe(this,jr,{from:0,to:0});pe(this,La,0);pe(this,_i,0);pe(this,Ss,void 0);this.handleMessageFromServer=t=>{var r,o;if(t.type==="subscribed")this.status="subscribed",(r=this.clientCallback)==null||r.call(this,t);else if(t.type==="disabled")this.status="disabled";else if(t.type==="enabled")this.status="enabled";else{if(rw(t))return;t.type==="debounce-begin"?this.optimize="debounce":(t.type==="viewport-update"&&t.size!==void 0&&t.size!==R(this,_i)&&(Z(this,_i,t.size),this.emit("resize",t.size)),this.configChangePending&&this.setConfigPending(),(o=this.clientCallback)==null||o.call(this,t),this.optimize==="debounce"&&this.revertDebounce())}};this.revertDebounce=(0,vn.debounce)(()=>{this.optimize="throttle"},100);this.rawRangeRequest=t=>{this.viewport&&this.server&&this.server.send({viewport:this.viewport,type:"setViewRange",range:t})};this.debounceRangeRequest=(0,vn.debounce)(t=>{this.viewport&&this.server&&this.server.send({viewport:this.viewport,type:"setViewRange",range:t})},50);this.throttleRangeRequest=(0,vn.throttle)(t=>{this.viewport&&this.server&&this.server.send({viewport:this.viewport,type:"setViewRange",range:t})},80);if(!a)throw Error("RemoteDataSource constructor called without table");this.bufferSize=t,this.table=a,this.viewport=u,Z(this,ie,{...R(this,ie),aggregations:r||R(this,ie).aggregations,columns:o||R(this,ie).columns,filter:s||R(this,ie).filter,groupBy:i||R(this,ie).groupBy,sort:l||R(this,ie).sort,visualLink:h||R(this,ie).visualLink}),Z(this,Ss,c),this.rangeRequest=this.throttleRangeRequest}async subscribe({viewport:t=(u=>(u=this.viewport)!=null?u:(0,vn.uuid)())(),columns:r,aggregations:o,range:s,sort:i,groupBy:l,filter:a},c){var d;if(this.clientCallback=c,(o||r||a||l||i)&&Z(this,ie,{...R(this,ie),aggregations:o||R(this,ie).aggregations,columns:r||R(this,ie).columns,filter:a||R(this,ie).filter,groupBy:l||R(this,ie).groupBy,sort:i||R(this,ie).sort}),s&&Z(this,jr,s),this.status!=="initialising")return;this.status="subscribing",this.viewport=t,this.server=await Hp();let{bufferSize:h}=this;(d=this.server)==null||d.subscribe({...R(this,ie),bufferSize:h,viewport:t,table:this.table,range:R(this,jr),title:R(this,Ss)},this.handleMessageFromServer)}unsubscribe(){var t,r;Gt==null||Gt(`unsubscribe #${this.viewport}`),this.viewport&&((t=this.server)==null||t.unsubscribe(this.viewport)),(r=this.server)==null||r.destroy(this.viewport),this.removeAllListeners()}suspend(){var t;return Gt==null||Gt(`suspend #${this.viewport}, current status ${this.status}`),this.viewport&&(this.status="suspended",(t=this.server)==null||t.send({type:"suspend",viewport:this.viewport})),this}resume(){var t;return Gt==null||Gt(`resume #${this.viewport}, current status ${this.status}`),this.viewport&&(this.status==="disabled"||this.status==="disabling"?this.enable():this.status==="suspended"&&((t=this.server)==null||t.send({type:"resume",viewport:this.viewport}),this.status="subscribed")),this}disable(){var t;return Gt==null||Gt(`disable #${this.viewport}, current status ${this.status}`),this.viewport&&(this.status="disabling",(t=this.server)==null||t.send({viewport:this.viewport,type:"disable"})),this}enable(){var t;return Gt==null||Gt(`enable #${this.viewport}, current status ${this.status}`),this.viewport&&(this.status==="disabled"||this.status==="disabling")&&(this.status="enabling",(t=this.server)==null||t.send({viewport:this.viewport,type:"enable"})),this}select(t){var r;Z(this,La,t.length),this.viewport&&((r=this.server)==null||r.send({viewport:this.viewport,type:"select",selected:t}))}openTreeNode(t){var r;this.viewport&&((r=this.server)==null||r.send({viewport:this.viewport,type:"openTreeNode",key:t}))}closeTreeNode(t){var r;this.viewport&&((r=this.server)==null||r.send({viewport:this.viewport,type:"closeTreeNode",key:t}))}get optimize(){return R(this,Wi)}set optimize(t){if(t!==R(this,Wi)){switch(Z(this,Wi,t),t){case"none":this.rangeRequest=this.rawRangeRequest;break;case"debounce":this.rangeRequest=this.debounceRangeRequest;break;case"throttle":this.rangeRequest=this.throttleRangeRequest;break}this.emit("optimize",t)}}get selectedRowsCount(){return R(this,La)}get size(){return R(this,_i)}get range(){return R(this,jr)}set range(t){(t.from!==R(this,jr).from||t.to!==R(this,jr).to)&&(Z(this,jr,t),this.rangeRequest(t))}get config(){return R(this,ie)}set config(t){var r,o;if(ju(R(this,ie),t)&&t){let s=(r=t==null?void 0:t.filter)!=null&&r.filter&&(t==null?void 0:t.filter.filterStruct)===void 0?{...t,filter:{filter:t.filter.filter,filterStruct:Cs(t.filter.filter)}}:t;Z(this,ie,Xu(s)),R(this,ie)&&this.viewport&&this.server&&t&&((o=this.server)==null||o.send({viewport:this.viewport,type:"config",config:R(this,ie)})),this.emit("config",R(this,ie))}}get columns(){return R(this,ie).columns}set columns(t){if(Z(this,ie,{...R(this,ie),columns:t}),this.viewport){let r={viewport:this.viewport,type:"setColumns",columns:t};this.server&&this.server.send(r)}this.emit("config",R(this,ie))}get aggregations(){return R(this,ie).aggregations}set aggregations(t){var r;Z(this,ie,{...R(this,ie),aggregations:t}),this.viewport&&((r=this.server)==null||r.send({viewport:this.viewport,type:"aggregate",aggregations:t})),this.emit("config",R(this,ie))}get sort(){return R(this,ie).sort}set sort(t){if(Z(this,ie,{...R(this,ie),sort:t}),this.viewport){let r={viewport:this.viewport,type:"sort",sort:t};this.server&&this.server.send(r)}this.emit("config",R(this,ie))}get filter(){return R(this,ie).filter}set filter(t){if(Z(this,ie,{...R(this,ie),filter:t}),this.viewport){let r={viewport:this.viewport,type:"filter",filter:t};this.server&&this.server.send(r)}this.emit("config",R(this,ie))}get groupBy(){return R(this,ie).groupBy}set groupBy(t){var r;if((0,vn.itemsOrOrderChanged)(this.groupBy,t)){let o=R(this,uh).length>0;if(Z(this,ie,{...R(this,ie),groupBy:t}),this.viewport){let s={viewport:this.viewport,type:"groupBy",groupBy:R(this,ie).groupBy};this.server&&this.server.send(s)}!o&&t.length>0&&this.viewport&&((r=this.clientCallback)==null||r.call(this,{clientViewportId:this.viewport,mode:"batch",type:"viewport-update",size:0,rows:[]})),this.emit("config",R(this,ie)),this.setConfigPending({groupBy:t})}}get title(){return R(this,Ss)}set title(t){var r;Z(this,Ss,t),this.viewport&&t&&((r=this.server)==null||r.send({type:"setTitle",title:t,viewport:this.viewport}))}get visualLink(){return R(this,ie).visualLink}set visualLink(t){var r,o;if(Z(this,ie,{...R(this,ie),visualLink:t}),t){let{parentClientVpId:s,link:{fromColumn:i,toColumn:l}}=t;this.viewport&&((r=this.server)==null||r.send({viewport:this.viewport,type:"createLink",parentClientVpId:s,parentColumnName:l,childColumnName:i}))}else this.viewport&&((o=this.server)==null||o.send({type:"removeLink",viewport:this.viewport}));this.emit("config",R(this,ie))}setConfigPending(t){let r=this.configChangePending;this.configChangePending=t,t!==void 0?this.emit("config",t,!1):this.emit("config",r,!0)}async menuRpcCall(t){var r;if(this.viewport)return(r=this.server)==null?void 0:r.rpcCall({vpId:this.viewport,...t})}applyEdit(t,r,o){return console.log(`ArrayDataSource applyEdit ${t} ${r} ${o}`),!0}};ie=new WeakMap,uh=new WeakMap,Wi=new WeakMap,jr=new WeakMap,La=new WeakMap,_i=new WeakMap,Ss=new WeakMap;var rm=require("react");var PA=require("react");var hh=require("@vuu-ui/vuu-utils"),IA=require("react");var{KEY:M6}=hh.metadataKeys;var AA=n=>n.type==="vuu-links";var LA=n=>n.type==="vuu-menu",om=n=>LA(n)||AA(n),sm=n=>n.type==="vuu-link-created"||n.type==="vuu-link-removed";var im=require("react");var dh=require("@vuu-ui/vuu-utils"),Oa=require("react"),{SELECTED:K6}=dh.metadataKeys;var $w=require("react");var zA=require("@vuu-ui/vuu-utils"),Na=require("react");function OA(n,...e){let t=new Set(n);for(let r of e)for(let o of r)t.add(o);return t}var Ww="ArrowUp",_w="ArrowDown",Kw="ArrowLeft",Uw="ArrowRight";var Gw="Home",qw="End",jw="PageUp",Qw="PageDown";var NA=new Set(["Enter","Delete"," "]),HA=new Set(["Tab"]),VA=new Set(["ArrowRight","ArrowLeft"]),BA=new Set([Gw,qw,jw,Qw,_w,Kw,Uw,Ww]),FA=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),Q6=OA(NA,BA,VA,FA,HA);var _A=require("@vuu-ui/vuu-utils"),fh=require("react");var lm=require("react");var $A=new Map,WA=(n,e,t)=>{switch(t){case"height":return e.height;case"clientHeight":return n.clientHeight;case"clientWidth":return n.clientWidth;case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(n.scrollHeight);case"scrollWidth":return Math.ceil(n.scrollWidth);case"width":return e.width;default:return 0}},l9=new ResizeObserver(n=>{for(let e of n){let{target:t,borderBoxSize:r,contentBoxSize:o}=e,s=$A.get(t);if(s){let[{blockSize:i,inlineSize:l}]=r,[{blockSize:a,inlineSize:c}]=o,{onResize:u,measurements:h}=s,d=!1;for(let[f,p]of Object.entries(h)){let m=WA(t,{height:i,width:l,contentHeight:a,contentWidth:c},f);m!==p&&(d=!0,h[f]=m)}d&&u&&u(h)}}});var Po=require("@vuu-ui/vuu-utils"),Ha=require("react"),{IDX:KA}=Po.metadataKeys,UA=[],am=({selectionModel:n,onSelectionChange:e})=>{let t=(0,Ha.useRef)(-1),r=(0,Ha.useRef)(UA);return(0,Ha.useCallback)((s,i,l)=>{let{[KA]:a}=s,{current:c}=t,{current:u}=r,d=((0,Po.isRowSelected)(s)?Po.deselectItem:Po.selectItem)(n,u,a,i,l,c);r.current=d,t.current=a,e&&e(d)},[e,n])};var ut=require("@vuu-ui/vuu-utils"),GA=require("react");var g9=ut.metadataKeys.count;var Xw=require("react");var Qr=require("react"),ph=require("@vuu-ui/vuu-utils"),qA=15e5,jA={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},QA=n=>{let e=0,t=0,r=0;for(let o of n){let{hidden:s,pin:i,width:l}=o,a=s?0:l;i==="left"?e+=a:i==="right"?t+=a:r+=a}return{pinnedWidthLeft:e+4,pinnedWidthRight:t+4,unpinnedWidth:r}},cm=({columns:n,headerHeight:e,headings:t,rowCount:r,rowHeight:o,size:s})=>{let i=(0,Qr.useRef)(0),a=Math.min(r,qA)*o,u=r*o-a,{pinnedWidthLeft:h,pinnedWidthRight:d,unpinnedWidth:f}=(0,Qr.useMemo)(()=>QA(n),[n]),[p,m]=(0,Qr.useMemo)(()=>(0,ph.actualRowPositioning)(o),[o]),[g,b]=(0,Qr.useMemo)(()=>u?(0,ph.virtualRowPositioning)(o,u,i):[p,m],[m,p,u,o]),C=(0,Qr.useCallback)(v=>{i.current=v},[]);return(0,Qr.useMemo)(()=>{var v;if(s){let x=t.length,w=15,y=h+f+d,S=y>s.width?w:0,D=e*(1+x),k=a-(((v=s==null?void 0:s.height)!=null?v:0)-S)+D,E=y-s.width+h,N=(s.height-e)/o,T=Number.isInteger(N)?N+1:Math.ceil(N),M=s.height-D,P=a>M?w:0;return{contentHeight:a,getRowAtPosition:b,getRowOffset:g,horizontalScrollbarHeight:S,maxScrollContainerScrollHorizontal:E,maxScrollContainerScrollVertical:k,pinnedWidthLeft:h,pinnedWidthRight:d,rowCount:T,contentWidth:y,setPctScrollTop:C,totalHeaderHeight:D,verticalScrollbarWidth:P,viewportBodyHeight:M}}else return jA},[s,t.length,h,f,d,a,e,o,b,g,C])};var Jw=require("@vuu-ui/vuu-utils"),Va=require("react");var{KEY:U9,IS_EXPANDED:G9,IS_LEAF:q9}=Ki.metadataKeys;var YA=U(require("classnames"));var ZA=require("@vuu-ui/vuu-utils"),Zw=require("react/jsx-runtime");var eS=U(require("classnames")),Gi=require("@vuu-ui/vuu-utils");var Ui=require("react/jsx-runtime"),Fa="vuuJsonCell",{IS_EXPANDED:eL,KEY:tL}=Gi.metadataKeys,nL=n=>{let e=n.lastIndexOf("|");return e===-1?"":n.slice(e+1)},rL=({column:n,row:e})=>{let{key:t}=n,r=e[t],o=!1;(0,Gi.isJsonAttribute)(r)&&(r=r.slice(0,-1),o=!0);let s=nL(e[tL]),i=(0,eS.default)({[`${Fa}-name`]:s===r,[`${Fa}-value`]:s!==r,[`${Fa}-group`]:o});if(o){let l=e[eL]?"minus-box":"plus-box";return(0,Ui.jsxs)("span",{className:i,children:[(0,Ui.jsx)("span",{className:`${Fa}-value`,children:r}),(0,Ui.jsx)("span",{className:`${Fa}-toggle`,"data-icon":l})]})}else return r?(0,Ui.jsx)("span",{className:i,children:r}):null};(0,Gi.registerComponent)("json",rL,"cell-renderer",{description:"JSON formatter",label:"JSON formatter",serverDataType:"json"});var sL=U(require("classnames")),iL=require("react");var qi=require("react");var nS=require("react/jsx-runtime"),tS=()=>{},oL="vuuColumnResizerNext",za=({onDrag:n,onDragEnd:e=tS,onDragStart:t=tS})=>{let r=(0,qi.useRef)(0),o=(0,qi.useCallback)(l=>{l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault();let a=Math.round(l.clientX),c=a-r.current;r.current=a,c!==0&&n(l,c)},[n]),s=(0,qi.useCallback)(l=>{window.removeEventListener("mouseup",s),window.removeEventListener("mousemove",o),e(l)},[e,o]),i=(0,qi.useCallback)(l=>{t(l),r.current=Math.round(l.clientX),window.addEventListener("mouseup",s),window.addEventListener("mousemove",o),l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault()},[t,o,s]);return(0,nS.jsx)("div",{className:oL,onMouseDown:i})};var Io=require("react"),$a=({column:n,onResize:e,rootRef:t})=>{let r=(0,Io.useRef)(0),[o,s]=(0,Io.useState)(!1),{name:i}=n,l=(0,Io.useCallback)(()=>{if(console.log("onResizeStart"),e&&t.current){console.log("handleResizeStart");let{width:u}=t.current.getBoundingClientRect();r.current=Math.round(u),s(!0),e==null||e("begin",i)}},[i,e,t]),a=(0,Io.useCallback)((u,h)=>{if(t.current&&e){let{width:d}=t.current.getBoundingClientRect(),f=Math.round(d)+h;f!==r.current&&f>0&&(e("resize",i,f),r.current=f)}},[i,e,t]),c=(0,Io.useCallback)(()=>{e&&(e("end",i,r.current),setTimeout(()=>{s(!1)},80))},[i,e]);return{isResizing:o,onDrag:a,onDragStart:l,onDragEnd:c}};var rS=require("@vuu-ui/vuu-utils"),oS=U(require("classnames")),sS=require("react"),Xr=(n,e,t)=>(0,sS.useMemo)(()=>{let r=(0,oS.default)(e,{vuuPinFloating:n.pin==="floating",vuuPinLeft:n.pin==="left",vuuPinRight:n.pin==="right",vuuEndPin:t&&n.endPin,[`${e}-editable`]:n.editable,[`${e}-right`]:n.align==="right"}),o=(0,rS.getColumnStyle)(n);return{className:r,style:o}},[n,e,t]);var lS=U(require("classnames")),aS=require("react");var mh=require("react/jsx-runtime"),iS="vuuColumnHeaderPill",Ts=({children:n,className:e,column:t,onRemove:r,removable:o,...s})=>{if(o&&typeof r!="function")throw Error("ColumnHeaderPill onRemove prop must be provided if Pill is removable");let i=(0,aS.useCallback)(l=>{l.preventDefault(),l.stopPropagation(),r==null||r(t)},[t,r]);return(0,mh.jsxs)("div",{...s,className:(0,lS.default)(iS,e),children:[n,o?(0,mh.jsx)("span",{className:`${iS}-removeButton`,role:"button","data-icon":"cross",onClick:i}):null]})};var ji=require("react/jsx-runtime"),um=({column:n,...e})=>{let{name:t,sorted:r}=n,o=typeof r=="number"?r<0?"arrow-down":"arrow-up":r==="A"?"arrow-up":r==="D"?"arrow-down":void 0;return(0,ji.jsxs)(Ts,{...e,column:n,children:[(0,ji.jsx)("span",{className:"vuuGroupColumnPill-label",children:t}),o!==void 0?(0,ji.jsx)("span",{"data-icon":o}):null,typeof r=="number"?(0,ji.jsx)("span",{className:"vuuSortPosition",children:Math.abs(r)}):null]})};var Wa=require("react/jsx-runtime"),cS=({column:n})=>{if(!n.sorted)return null;let e=typeof n.sorted=="number"?n.sorted<0?"arrow-down":"arrow-up":n.sorted==="A"?"arrow-up":"arrow-down";return(0,Wa.jsxs)(Ts,{column:n,children:[(0,Wa.jsx)("span",{"data-icon":e}),typeof n.sorted=="number"?(0,Wa.jsx)("span",{className:"vuuSortPosition",children:Math.abs(n.sorted)}):null]})};var uS=require("react/jsx-runtime"),lL=require("react");var hS=U(require("classnames")),Xi=require("react");var Qi=require("react/jsx-runtime"),dS=require("react"),hm="vuuTableNextGroupHeaderCell",aL=(n,e)=>n===e?n:e,gh=({column:n,className:e,onRemoveColumn:t,onResize:r,...o})=>{let s=(0,Xi.useRef)(null),{isResizing:i,...l}=$a({column:n,onResize:r,rootRef:s}),[a,c]=(0,Xi.useState)(n.columns),{className:u,style:h}=Xr(n,hm,!0),d=a.length>1?{removable:!0,onRemove:t}:void 0,f=(0,Xi.useCallback)((p,m)=>{c(g=>{let b=g.slice(),[C]=b.splice(p,1);return m===-1?b.concat(C):(b.splice(m,0,C),b)})},[]);return Pn(()=>{c(p=>aL(p,n.columns))},[n.columns]),(0,Qi.jsxs)("div",{...o,className:(0,hS.default)(u,"vuuTableNextHeaderCell",e,{[`${hm}-pending`]:n.groupConfirmed===!1}),ref:s,role:"columnheader",style:h,children:[(0,Qi.jsx)(Es,{allowDragDrop:!0,className:`${hm}-inner`,height:24,onMoveItem:f,overflowPosition:"start",children:a.map(p=>(0,dS.createElement)(um,{...d,column:p,key:p.key}))}),(0,Qi.jsx)(Ts,{column:n,removable:!0,onRemove:t}),n.resizeable!==!1?(0,Qi.jsx)(za,{...l}):null]})};var bh=require("react");var fS=require("@vuu-ui/vuu-popups"),pS=U(require("classnames")),Rs=require("react");var gS=require("react/jsx-runtime"),cL=n=>{if(n){let{bottom:e,left:t}=n.getBoundingClientRect();return{x:t,y:e+6}}},mS=({className:n,column:e,...t})=>{let r=(0,Rs.useRef)(null),[o,s]=(0,Rs.useState)(!1),[i]=(0,fS.useContextMenu)(),l=(0,Rs.useCallback)(()=>{s(!1)},[]),a=(0,Rs.useCallback)(c=>{s(!0),i(c,"column-menu",{column:e,ContextMenuProps:{className:"vuuColumnMenuList",onClose:l,position:cL(r.current)}})},[e,l,i]);return(0,gS.jsx)("span",{...t,className:(0,pS.default)("vuuTable-columnMenu",n,{"vuuTable-columnMenu-open":o}),"data-icon":"more-vert",onClick:a,ref:r})};var bS=U(require("classnames"));var Ds=require("react/jsx-runtime"),dm="vuuTableNextHeaderCell",yS=({className:n,column:e,onClick:t,onResize:r,...o})=>{var m;let s=(0,bh.useRef)(null),{isResizing:i,...l}=$a({column:e,onResize:r,rootRef:s}),a=(0,bh.useCallback)(g=>{console.log(`click isResizing ${i}`),!i&&(t==null||t(g))},[i,t]),{className:c,style:u}=Xr(e,dm,!0),h=(0,Ds.jsx)(mS,{column:e}),d=(0,Ds.jsx)("div",{className:`${dm}-label`,children:(m=e.label)!=null?m:e.name}),f=(0,Ds.jsx)(cS,{column:e}),p=e.align==="right"?[f,d,h]:[h,d,f];return(0,Ds.jsxs)("div",{...o,className:(0,bS.default)(c,n,{[`${dm}-resizing`]:i}),onClick:a,ref:s,role:"columnheader",style:u,children:[...p,e.resizeable!==!1?(0,Ds.jsx)(za,{...l}):null]})};var NR=require("@vuu-ui/vuu-popups"),Il=require("@vuu-ui/vuu-utils"),xb=U(require("classnames")),HR=require("react");var Cn=require("@vuu-ui/vuu-utils"),ES=U(require("classnames")),_a=require("react");var xS=require("@vuu-ui/vuu-utils"),vS=require("react");var fm=require("react/jsx-runtime"),{IDX:uL}=xS.metadataKeys,hL="vuuTableNextCell",CS=({column:n,columnMap:e,onDataEdited:t,row:r})=>{let{className:o,style:s}=Xr(n,hL),{CellRenderer:i,name:l,valueFormatter:a}=n,c=e[l],u=(0,vS.useCallback)(h=>(t==null||t(r[uL],l,h),!0),[l,t,r]);return(0,fm.jsx)("div",{className:o,role:"cell",style:s,children:i?(0,fm.jsx)(i,{column:n,columnMap:e,onCommit:u,row:r}):a(r[c])})};var yh=require("@vuu-ui/vuu-utils"),wS=require("react");var SS=U(require("classnames"));var Ji=require("react/jsx-runtime"),{IS_LEAF:dL}=yh.metadataKeys,pm="vuuTableNextGroupCell",TS=({column:n,onClick:e,row:t})=>{let{columns:r}=n,[o,s]=(0,yh.getGroupValueAndOffset)(r,t),{className:i,style:l}=Xr(n,pm),a=(0,wS.useCallback)(h=>{e==null||e(h,n)},[n,e]),c=t[dL],u=Array(s).fill(0).map((h,d)=>(0,Ji.jsx)("span",{className:`${pm}-spacer`},d));return(0,Ji.jsxs)("div",{className:(0,SS.default)(i,"vuuTableNextCell"),role:"cell",style:l,onClick:c?void 0:a,children:[u,c?null:(0,Ji.jsx)("span",{className:`${pm}-toggle`,"data-icon":"triangle-right"}),(0,Ji.jsx)("span",{children:o})]})};var xh=require("react/jsx-runtime"),RS=require("react"),{IDX:fL,IS_EXPANDED:pL,SELECTED:mL}=Cn.metadataKeys,Ao="vuuTableNextRow",mm=(0,_a.memo)(({className:n,columnMap:e,columns:t,row:r,offset:o,onClick:s,onDataEdited:i,onToggleGroup:l,zebraStripes:a=!1,...c})=>{let{[fL]:u,[pL]:h,[mL]:d}=r,f=(0,_a.useCallback)(x=>{let w=x.shiftKey,y=x.ctrlKey||x.metaKey;s==null||s(r,w,y)},[s,r]),{True:p,First:m,Last:g}=Cn.RowSelected,b=(0,ES.default)(Ao,n,{[`${Ao}-even`]:a&&u%2===0,[`${Ao}-expanded`]:h,[`${Ao}-selected`]:d&p,[`${Ao}-selectedStart`]:d&m,[`${Ao}-selectedEnd`]:d&g}),C={transform:`translate3d(0px, ${o}px, 0px)`},v=(0,_a.useCallback)((x,w)=>{((0,Cn.isGroupColumn)(w)||(0,Cn.isJsonGroup)(w,r))&&(x.stopPropagation(),l==null||l(r,w))},[l,r]);return(0,RS.createElement)("div",{...c,"aria-rowindex":r[0],key:`row-${r[0]}`,role:"row",className:b,onClick:f,style:C},(0,xh.jsx)("span",{className:`${Ao}-selectionDecorator vuuStickyLeft`}),t.filter(Cn.notHidden).map(x=>{let w=(0,Cn.isGroupColumn)(x),y=(0,Cn.isJsonColumn)(x);return(0,xh.jsx)(w?TS:CS,{column:x,columnMap:e,onClick:w||y?v:void 0,onDataEdited:i,row:r},x.key)}),(0,xh.jsx)("span",{className:`${Ao}-selectionDecorator vuuStickyRight`}))});mm.displayName="Row";var DS=require("@vuu-ui/vuu-utils"),gL=n=>typeof n=="string",bL=(n,e)=>gL(e)?e===""?!0:n.value==="lower"&&e.toLowerCase()!==e?"value must be all lowercase":n.value==="upper"&&e.toUpperCase()!==e?"value must be all uppercase":!0:"value must be a string";(0,DS.registerComponent)("vuu-case",bL,"data-edit-validator",{});var kS=require("@vuu-ui/vuu-utils"),yL=n=>typeof n=="string",xL="value does not match expected pattern",vL=(n,e)=>{if(typeof n.value!="string")throw Error("Pattern validation rule must provide pattern");if(yL(e)){if(e==="")return!0;{let{message:t=xL}=n;return new RegExp(n.value).test(e)||t}}else return"value must be a string"};(0,kS.registerComponent)("vuu-pattern",vL,"data-edit-validator",{});var sn=require("@vuu-ui/vuu-utils"),PS=U(require("classnames"),1);var ks=require("@vuu-ui/vuu-utils"),vh=require("react"),CL=[void 0,void 0,void 0,void 0];function MS(n,e,t){var h;let r=(0,vh.useRef)(),[o,s,i,l]=r.current||CL,{type:a}=t,c=(0,ks.isTypeDescriptor)(a)?(h=a.formatting)==null?void 0:h.decimals:void 0,u=n===o&&(0,ks.isValidNumber)(e)&&(0,ks.isValidNumber)(s)&&t===i?(0,ks.getMovingValueDirection)(e,l,s,c):"";return(0,vh.useEffect)(()=>{r.current=[n,e,t,u]}),u}var wh=require("react/jsx-runtime"),wL=String.fromCharCode(11014),SL=String.fromCharCode(11015),{KEY:TL}=sn.metadataKeys,Ch="vuuBackgroundCellDeprecated",Ka={ArrowOnly:"arrow",BackgroundOnly:"bg-only",ArrowBackground:"arrow-bg"},EL=n=>(0,sn.isTypeDescriptor)(n)&&n.renderer&&"flashStyle"in n.renderer?n.renderer.flashStyle:Ka.BackgroundOnly,RL=({column:n,row:e})=>{let{key:t,type:r,valueFormatter:o}=n,s=e[t],i=EL(r),l=MS(e[TL],s,n),a=i===Ka.ArrowOnly||i===Ka.ArrowBackground?l===sn.UP1||l===sn.UP2?wL:l===sn.DOWN1||l===sn.DOWN2?SL:null:null,c=l?" "+l:"",u=(0,PS.default)(Ch,c,{[`${Ch}-arrowOnly`]:i===Ka.ArrowOnly,[`${Ch}-arrowBackground`]:i===Ka.ArrowBackground});return(0,wh.jsxs)("div",{className:u,tabIndex:-1,children:[(0,wh.jsx)("div",{className:`${Ch}-flasher`,children:a}),o(e[n.key])]})};(0,sn.registerComponent)("background",RL,"cell-renderer",{description:"Background Cell renderer for VuuTable",label:"Background Cell (deprecated)",serverDataType:["long","int","double"]});var Jr=require("@vuu-ui/vuu-utils"),IS=U(require("classnames"),1);var Ms=require("react/jsx-runtime"),Ua="vuuProgressCell",DL=({column:n,columnMap:e,row:t})=>{let{type:r}=n,o=t[n.key],s=!1,i=0;if((0,Jr.isTypeDescriptor)(r)&&(0,Jr.isColumnTypeRenderer)(r.renderer)){let{associatedField:a}=r.renderer;if(a){let c=t[e[a]];if(typeof(0,Jr.isValidNumber)(o)&&(0,Jr.isValidNumber)(c))i=Math.min(Math.round(o/c*100),100),i=Math.min(Math.round(o/c*100),100),s=isFinite(i);else{let u=parseFloat(o);if(Number.isFinite(u)){let h=parseFloat(c);Number.isFinite(h)&&(i=Math.min(Math.round(u/h*100),100),s=isFinite(i))}}}else throw Error("ProgressCell associatedField is required to render")}let l=(0,IS.default)(Ua,{});return(0,Ms.jsxs)("div",{className:l,tabIndex:-1,children:[s?(0,Ms.jsxs)("span",{className:`${Ua}-track`,children:[(0,Ms.jsx)("span",{className:`${Ua}-bg`}),(0,Ms.jsx)("span",{className:`${Ua}-bar`,style:{"--progress-bar-pct":`-${100-i}%`}})]}):null,(0,Ms.jsx)("span",{className:`${Ua}-text`,children:`${i} %`})]})};(0,Jr.registerComponent)("vuu.progress",DL,"cell-renderer",{description:"Progress formatter",label:"Progress formatter",serverDataType:["long","int","double"]});var ln=require("@vuu-ui/vuu-utils"),LS=U(require("classnames"),1);var Ps=require("@vuu-ui/vuu-utils"),Sh=require("react"),kL=[void 0,void 0,void 0,void 0];function AS(n,e,t){var h;let r=(0,Sh.useRef)(),[o,s,i,l]=r.current||kL,{type:a}=t,c=(0,Ps.isTypeDescriptor)(a)?(h=a.formatting)==null?void 0:h.decimals:void 0,u=n===o&&(0,Ps.isValidNumber)(e)&&(0,Ps.isValidNumber)(s)&&t===i?(0,Ps.getMovingValueDirection)(e,l,s,c):"";return(0,Sh.useEffect)(()=>{r.current=[n,e,t,u]}),u}var Eh=require("react/jsx-runtime"),ML=String.fromCharCode(11014),PL=String.fromCharCode(11015),{KEY:IL}=ln.metadataKeys,Th="vuuBackgroundCell",Ga={ArrowOnly:"arrow",BackgroundOnly:"bg-only",ArrowBackground:"arrow-bg"},AL=n=>(0,ln.isTypeDescriptor)(n)&&n.renderer&&"flashStyle"in n.renderer?n.renderer.flashStyle:Ga.BackgroundOnly,LL=({column:n,row:e})=>{let{key:t,type:r,valueFormatter:o}=n,s=e[t],i=AL(r),l=AS(e[IL],s,n),a=i===Ga.ArrowOnly||i===Ga.ArrowBackground?l===ln.UP1||l===ln.UP2?ML:l===ln.DOWN1||l===ln.DOWN2?PL:null:null,c=l?" "+l:"",u=(0,LS.default)(Th,c,{[`${Th}-arrowOnly`]:i===Ga.ArrowOnly,[`${Th}-arrowBackground`]:i===Ga.ArrowBackground});return(0,Eh.jsxs)("div",{className:u,tabIndex:-1,children:[(0,Eh.jsx)("div",{className:`${Th}-flasher`,children:a}),o(e[n.key])]})};console.log("register BackgroundCellNext");(0,ln.registerComponent)("background-next",LL,"cell-renderer",{description:"Change background color of cell when value changes",label:"Background Flash",serverDataType:["long","int","double"]});var OL=require("@salt-ds/core");var NL=U(require("classnames"),1),HL=require("react");var OS=require("react/jsx-runtime");var nR=require("@vuu-ui/vuu-utils"),Cc=require("@salt-ds/core");var VS=require("@salt-ds/core"),BL=U(require("classnames"),1),FL=require("react");var gm=require("@salt-ds/core");var VL=require("@vuu-ui/vuu-utils"),NS=require("react"),HS=require("react/jsx-runtime");var BS=require("react/jsx-runtime");var Yr=require("@vuu-ui/vuu-utils"),Rh=require("react");var fY=[{description:"Default formatter for columns with data type double",label:"Default Renderer (data type double)",name:"default-double"},...(0,Yr.getRegisteredCellRenderers)("double")];var pb=require("@vuu-ui/vuu-utils"),Td=require("@salt-ds/core"),eR=require("react");var xe=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,t,r){let o=[];return this.decompose(0,e,o,2),r.length&&r.decompose(0,r.length,o,3),this.decompose(t,this.length,o,1),Hn.from(o,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let r=[];return this.decompose(e,t,r,0),Hn.from(r,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),o=new Ls(this),s=new Ls(e);for(let i=t,l=t;;){if(o.next(i),s.next(i),i=0,o.lineBreak!=s.lineBreak||o.done!=s.done||o.value!=s.value)return!1;if(l+=o.value.length,o.done||l>=r)return!0}}iter(e=1){return new Ls(this,e)}iterRange(e,t=this.length){return new Ph(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let o=this.line(e).from;r=this.iterRange(o,Math.max(o,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Ih(r)}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]?xe.empty:e.length<=32?new We(e):Hn.from(We.split(e,[]))}},We=class extends xe{constructor(e,t=zL(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,r,o){for(let s=0;;s++){let i=this.text[s],l=o+i.length;if((t?r:l)>=e)return new ym(o,l,r,i);o=l+1,r++}}decompose(e,t,r,o){let s=e<=0&&t>=this.length?this:new We(FS(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(o&1){let i=r.pop(),l=Mh(s.text,i.text.slice(),0,s.length);if(l.length<=32)r.push(new We(l,i.length+s.length));else{let a=l.length>>1;r.push(new We(l.slice(0,a)),new We(l.slice(a)))}}else r.push(s)}replace(e,t,r){if(!(r instanceof We))return super.replace(e,t,r);let o=Mh(this.text,Mh(r.text,FS(this.text,0,e)),t),s=this.length+r.length-(t-e);return o.length<=32?new We(o,s):Hn.from(We.split(o,[]),s)}sliceString(e,t=this.length,r=`
20
+ `){let o="";for(let s=0,i=0;s<=t&&i<this.text.length;i++){let l=this.text[i],a=s+l.length;s>e&&i&&(o+=r),e<a&&t>s&&(o+=l.slice(Math.max(0,e-s),t-s)),s=a+1}return o}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],o=-1;for(let s of e)r.push(s),o+=s.length+1,r.length==32&&(t.push(new We(r,o)),r=[],o=-1);return o>-1&&t.push(new We(r,o)),t}},Hn=class extends xe{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,o){for(let s=0;;s++){let i=this.children[s],l=o+i.length,a=r+i.lines-1;if((t?a:l)>=e)return i.lineInner(e,t,r,o);o=l+1,r=a+1}}decompose(e,t,r,o){for(let s=0,i=0;i<=t&&s<this.children.length;s++){let l=this.children[s],a=i+l.length;if(e<=a&&t>=i){let c=o&((i<=e?1:0)|(a>=t?2:0));i>=e&&a<=t&&!c?r.push(l):l.decompose(e-i,t-i,r,c)}i=a+1}}replace(e,t,r){if(r.lines<this.lines)for(let o=0,s=0;o<this.children.length;o++){let i=this.children[o],l=s+i.length;if(e>=s&&t<=l){let a=i.replace(e-s,t-s,r),c=this.lines-i.lines+a.lines;if(a.lines<c>>5-1&&a.lines>c>>5+1){let u=this.children.slice();return u[o]=a,new Hn(u,this.length-(t-e)+r.length)}return super.replace(s,l,a)}s=l+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=`
21
+ `){let o="";for(let s=0,i=0;s<this.children.length&&i<=t;s++){let l=this.children[s],a=i+l.length;i>e&&s&&(o+=r),e<a&&t>i&&(o+=l.sliceString(e-i,t-i,r)),i=a+1}return o}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Hn))return 0;let r=0,[o,s,i,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;o+=t,s+=t){if(o==i||s==l)return r;let a=this.children[o],c=e.children[s];if(a!=c)return r+a.scanIdentical(c,t);r+=a.length+1}}static from(e,t=e.reduce((r,o)=>r+o.length+1,-1)){let r=0;for(let f of e)r+=f.lines;if(r<32){let f=[];for(let p of e)p.flatten(f);return new We(f,t)}let o=Math.max(32,r>>5),s=o<<1,i=o>>1,l=[],a=0,c=-1,u=[];function h(f){let p;if(f.lines>s&&f instanceof Hn)for(let m of f.children)h(m);else f.lines>i&&(a>i||!a)?(d(),l.push(f)):f instanceof We&&a&&(p=u[u.length-1])instanceof We&&f.lines+p.lines<=32?(a+=f.lines,c+=f.length+1,u[u.length-1]=new We(p.text.concat(f.text),p.length+1+f.length)):(a+f.lines>o&&d(),a+=f.lines,c+=f.length+1,u.push(f))}function d(){a!=0&&(l.push(u.length==1?u[0]:Hn.from(u,c)),c=-1,a=u.length=0)}for(let f of e)h(f);return d(),l.length==1?l[0]:new Hn(l,t)}};xe.empty=new We([""],0);function zL(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Mh(n,e,t=0,r=1e9){for(let o=0,s=0,i=!0;s<n.length&&o<=r;s++){let l=n[s],a=o+l.length;a>=t&&(a>r&&(l=l.slice(0,r-o)),o<t&&(l=l.slice(t-o)),i?(e[e.length-1]+=l,i=!1):e.push(l)),o=a+1}return e}function FS(n,e,t){return Mh(n,[""],e,t)}var Ls=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof We?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,o=this.nodes[r],s=this.offsets[r],i=s>>1,l=o instanceof We?o.text.length:o.children.length;if(i==(t>0?l:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=`
22
+ `,this;e--}else if(o instanceof We){let a=o.text[i+(t<0?-1:0)];if(this.offsets[r]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=o.children[i+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof We?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)}},Ph=class{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new Ls(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:o}=this.cursor.next(e);return this.pos+=(o.length+e)*t,this.value=o.length<=r?o:t<0?o.slice(o.length-r):o.slice(0,r),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:t,lineBreak:r,value:o}=this.inner.next(e);return t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=o,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(xe.prototype[Symbol.iterator]=function(){return this.iter()},Ls.prototype[Symbol.iterator]=Ph.prototype[Symbol.iterator]=Ih.prototype[Symbol.iterator]=function(){return this});var ym=class{constructor(e,t,r,o){this.from=e,this.to=t,this.number=r,this.text=o}get length(){return this.to-this.from}},Yi="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(n=>n?parseInt(n,36):1);for(let n=1;n<Yi.length;n++)Yi[n]+=Yi[n-1];function $L(n){for(let e=1;e<Yi.length;e+=2)if(Yi[e]>n)return Yi[e-1]<=n;return!1}function zS(n){return n>=127462&&n<=127487}var $S=8205;function Lt(n,e,t=!0,r=!0){return(t?qS:WL)(n,e,r)}function qS(n,e,t){if(e==n.length)return e;e&&jS(n.charCodeAt(e))&&QS(n.charCodeAt(e-1))&&e--;let r=wr(n,e);for(e+=Os(r);e<n.length;){let o=wr(n,e);if(r==$S||o==$S||t&&$L(o))e+=Os(o),r=o;else if(zS(o)){let s=0,i=e-2;for(;i>=0&&zS(wr(n,i));)s++,i-=2;if(s%2==0)break;e+=2}else break}return e}function WL(n,e,t){for(;e>0;){let r=qS(n,e-2,t);if(r<e)return r;e--}return 0}function jS(n){return n>=56320&&n<57344}function QS(n){return n>=55296&&n<56320}function wr(n,e){let t=n.charCodeAt(e);if(!QS(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return jS(r)?(t-55296<<10)+(r-56320)+65536:t}function XS(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Os(n){return n<65536?1:2}var xm=/\r\n?|\n/,At=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(At||(At={})),wn=class{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t+1];e+=r<0?this.sections[t]:r}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,r=0,o=0;t<this.sections.length;){let s=this.sections[t++],i=this.sections[t++];i<0?(e(r,o,s),o+=s):o+=i,r+=s}}iterChangedRanges(e,t=!1){vm(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let r=this.sections[t++],o=this.sections[t++];o<0?e.push(r,o):e.push(o,r)}return new wn(e)}composeDesc(e){return this.empty?e:e.empty?this:JS(this,e)}mapDesc(e,t=!1){return e.empty?this:Cm(this,e,t)}mapPos(e,t=-1,r=At.Simple){let o=0,s=0;for(let i=0;i<this.sections.length;){let l=this.sections[i++],a=this.sections[i++],c=o+l;if(a<0){if(c>e)return s+(e-o);s+=l}else{if(r!=At.Simple&&c>=e&&(r==At.TrackDel&&o<e&&c>e||r==At.TrackBefore&&o<e||r==At.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!l)return e==o||t<0?s:s+a;s+=a}o=c}if(e>o)throw new RangeError(`Position ${e} is out of range for changeset of length ${o}`);return s}touchesRange(e,t=e){for(let r=0,o=0;r<this.sections.length&&o<=t;){let s=this.sections[r++],i=this.sections[r++],l=o+s;if(i>=0&&o<=t&&l>=e)return o<e&&l>t?"cover":!0;o=l}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let r=this.sections[t++],o=this.sections[t++];e+=(e?" ":"")+r+(o>=0?":"+o:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new wn(e)}static create(e){return new wn(e)}},_e=class extends wn{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return vm(this,(t,r,o,s,i)=>e=e.replace(o,o+(r-t),i),!1),e}mapDesc(e,t=!1){return Cm(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let o=0,s=0;o<t.length;o+=2){let i=t[o],l=t[o+1];if(l>=0){t[o]=l,t[o+1]=i;let a=o>>1;for(;r.length<a;)r.push(xe.empty);r.push(i?e.slice(s,s+i):xe.empty)}s+=i}return new _e(t,r)}compose(e){return this.empty?e:e.empty?this:JS(this,e,!0)}map(e,t=!1){return e.empty?this:Cm(this,e,t,!0)}iterChanges(e,t=!1){vm(this,e,t)}get desc(){return wn.create(this.sections)}filter(e){let t=[],r=[],o=[],s=new Ns(this);e:for(let i=0,l=0;;){let a=i==e.length?1e9:e[i++];for(;l<a||l==a&&s.len==0;){if(s.done)break e;let u=Math.min(s.len,a-l);It(o,u,-1);let h=s.ins==-1?-1:s.off==0?s.ins:0;It(t,u,h),h>0&&Lo(r,t,s.text),s.forward(u),l+=u}let c=e[i++];for(;l<c;){if(s.done)break e;let u=Math.min(s.len,c-l);It(t,u,-1),It(o,u,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(u),l+=u}}return{changes:new _e(t,r),filtered:wn.create(o)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t],o=this.sections[t+1];o<0?e.push(r):o==0?e.push([r]):e.push([r].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,r){let o=[],s=[],i=0,l=null;function a(u=!1){if(!u&&!o.length)return;i<t&&It(o,t-i,-1);let h=new _e(o,s);l=l?l.compose(h.map(l)):h,o=[],s=[],i=0}function c(u){if(Array.isArray(u))for(let h of u)c(h);else if(u instanceof _e){if(u.length!=t)throw new RangeError(`Mismatched change set length (got ${u.length}, expected ${t})`);a(),l=l?l.compose(u.map(l)):u}else{let{from:h,to:d=h,insert:f}=u;if(h>d||h<0||d>t)throw new RangeError(`Invalid change range ${h} to ${d} (in doc of length ${t})`);let p=f?typeof f=="string"?xe.of(f.split(r||xm)):f:xe.empty,m=p.length;if(h==d&&m==0)return;h<i&&a(),h>i&&It(o,h-i,-1),It(o,d-h,m),Lo(s,o,p),i=d}}return c(e),a(!l),l}static empty(e){return new _e(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let o=0;o<e.length;o++){let s=e[o];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((i,l)=>l&&typeof i!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;r.length<o;)r.push(xe.empty);r[o]=xe.of(s.slice(1)),t.push(s[0],r[o].length)}}}return new _e(t,r)}static createSet(e,t){return new _e(e,t)}};function It(n,e,t,r=!1){if(e==0&&t<=0)return;let o=n.length-2;o>=0&&t<=0&&t==n[o+1]?n[o]+=e:e==0&&n[o]==0?n[o+1]+=t:r?(n[o]+=e,n[o+1]+=t):n.push(e,t)}function Lo(n,e,t){if(t.length==0)return;let r=e.length-2>>1;if(r<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<r;)n.push(xe.empty);n.push(t)}}function vm(n,e,t){let r=n.inserted;for(let o=0,s=0,i=0;i<n.sections.length;){let l=n.sections[i++],a=n.sections[i++];if(a<0)o+=l,s+=l;else{let c=o,u=s,h=xe.empty;for(;c+=l,u+=a,a&&r&&(h=h.append(r[i-2>>1])),!(t||i==n.sections.length||n.sections[i+1]<0);)l=n.sections[i++],a=n.sections[i++];e(o,c,s,u,h),o=c,s=u}}}function Cm(n,e,t,r=!1){let o=[],s=r?[]:null,i=new Ns(n),l=new Ns(e);for(let a=-1;;)if(i.ins==-1&&l.ins==-1){let c=Math.min(i.len,l.len);It(o,c,-1),i.forward(c),l.forward(c)}else if(l.ins>=0&&(i.ins<0||a==i.i||i.off==0&&(l.len<i.len||l.len==i.len&&!t))){let c=l.len;for(It(o,l.ins,-1);c;){let u=Math.min(i.len,c);i.ins>=0&&a<i.i&&i.len<=u&&(It(o,0,i.ins),s&&Lo(s,o,i.text),a=i.i),i.forward(u),c-=u}l.next()}else if(i.ins>=0){let c=0,u=i.len;for(;u;)if(l.ins==-1){let h=Math.min(u,l.len);c+=h,u-=h,l.forward(h)}else if(l.ins==0&&l.len<u)u-=l.len,l.next();else break;It(o,c,a<i.i?i.ins:0),s&&a<i.i&&Lo(s,o,i.text),a=i.i,i.forward(i.len-u)}else{if(i.done&&l.done)return s?_e.createSet(o,s):wn.create(o);throw new Error("Mismatched change set lengths")}}function JS(n,e,t=!1){let r=[],o=t?[]:null,s=new Ns(n),i=new Ns(e);for(let l=!1;;){if(s.done&&i.done)return o?_e.createSet(r,o):wn.create(r);if(s.ins==0)It(r,s.len,0,l),s.next();else if(i.len==0&&!i.done)It(r,0,i.ins,l),o&&Lo(o,r,i.text),i.next();else{if(s.done||i.done)throw new Error("Mismatched change set lengths");{let a=Math.min(s.len2,i.len),c=r.length;if(s.ins==-1){let u=i.ins==-1?-1:i.off?0:i.ins;It(r,a,u,l),o&&u&&Lo(o,r,i.text)}else i.ins==-1?(It(r,s.off?0:s.len,a,l),o&&Lo(o,r,s.textBit(a))):(It(r,s.off?0:s.len,i.off?0:i.ins,l),o&&!i.off&&Lo(o,r,i.text));l=(s.ins>a||i.ins>=0&&i.len>a)&&(l||r.length>c),s.forward2(a),i.forward(a)}}}}var Ns=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,t=this.i-2>>1;return t>=e.length?xe.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?xe.empty:t[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},Zr=class{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}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,t=-1){let r,o;return this.empty?r=o=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),o=e.mapPos(this.to,-1)),r==this.from&&o==this.to?this:new Zr(r,o,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return F.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return F.range(this.anchor,r)}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 F.range(e.anchor,e.head)}static create(e,t,r){return new Zr(e,t,r)}},F=class{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:F.create(this.ranges.map(r=>r.map(e,t)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;t<this.ranges.length;t++)if(!this.ranges[t].eq(e.ranges[t]))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new F([this.main],0)}addRange(e,t=!0){return F.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,F.create(r,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 F(e.ranges.map(t=>Zr.fromJSON(t)),e.main)}static single(e,t=e){return new F([F.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,o=0;o<e.length;o++){let s=e[o];if(s.empty?s.from<=r:s.from<r)return F.normalized(e.slice(),t);r=s.to}return new F(e,t)}static cursor(e,t=0,r,o){return Zr.create(e,e,(t==0?0:t<0?4:8)|(r==null?3:Math.min(2,r))|(o!=null?o:33554431)<<5)}static range(e,t,r,o){let s=(r!=null?r:33554431)<<5|(o==null?3:Math.min(2,o));return t<e?Zr.create(t,e,24|s):Zr.create(e,t,(t>e?4:0)|s)}static normalized(e,t=0){let r=e[t];e.sort((o,s)=>o.from-s.from),t=e.indexOf(r);for(let o=1;o<e.length;o++){let s=e[o],i=e[o-1];if(s.empty?s.from<=i.to:s.from<i.to){let l=i.from,a=Math.max(s.to,i.to);o<=t&&t--,e.splice(--o,2,s.anchor>s.head?F.range(a,l):F.range(l,a))}}return new F(e,t)}};function YS(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var km=0,le=class{constructor(e,t,r,o,s){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=o,this.id=km++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}static define(e={}){return new le(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:Mm),!!e.static,e.enables)}of(e){return new Zi([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Zi(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Zi(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}};function Mm(n,e){return n==e||n.length==e.length&&n.every((t,r)=>t===e[r])}var Zi=class{constructor(e,t,r,o){this.dependencies=e,this.facet=t,this.type=r,this.value=o,this.id=km++}dynamicSlot(e){var t;let r=this.value,o=this.facet.compareInput,s=this.id,i=e[s]>>1,l=this.type==2,a=!1,c=!1,u=[];for(let h of this.dependencies)h=="doc"?a=!0:h=="selection"?c=!0:((t=e[h.id])!==null&&t!==void 0?t:1)&1||u.push(e[h.id]);return{create(h){return h.values[i]=r(h),1},update(h,d){if(a&&d.docChanged||c&&(d.docChanged||d.selection)||wm(h,u)){let f=r(h);if(l?!WS(f,h.values[i],o):!o(f,h.values[i]))return h.values[i]=f,1}return 0},reconfigure:(h,d)=>{let f,p=d.config.address[s];if(p!=null){let m=Lh(d,p);if(this.dependencies.every(g=>g instanceof le?d.facet(g)===h.facet(g):g instanceof jt?d.field(g,!1)==h.field(g,!1):!0)||(l?WS(f=r(h),m,o):o(f=r(h),m)))return h.values[i]=m,0}else f=r(h);return h.values[i]=f,1}}}};function WS(n,e,t){if(n.length!=e.length)return!1;for(let r=0;r<n.length;r++)if(!t(n[r],e[r]))return!1;return!0}function wm(n,e){let t=!1;for(let r of e)ja(n,r)&1&&(t=!0);return t}function _L(n,e,t){let r=t.map(a=>n[a.id]),o=t.map(a=>a.type),s=r.filter(a=>!(a&1)),i=n[e.id]>>1;function l(a){let c=[];for(let u=0;u<r.length;u++){let h=Lh(a,r[u]);if(o[u]==2)for(let d of h)c.push(d);else c.push(h)}return e.combine(c)}return{create(a){for(let c of r)ja(a,c);return a.values[i]=l(a),1},update(a,c){if(!wm(a,s))return 0;let u=l(a);return e.compare(u,a.values[i])?0:(a.values[i]=u,1)},reconfigure(a,c){let u=wm(a,r),h=c.config.facets[e.id],d=c.facet(e);if(h&&!u&&Mm(t,h))return a.values[i]=d,0;let f=l(a);return e.compare(f,d)?(a.values[i]=d,0):(a.values[i]=f,1)}}}var _S=le.define({static:!0}),jt=class{constructor(e,t,r,o,s){this.id=e,this.createF=t,this.updateF=r,this.compareF=o,this.spec=s,this.provides=void 0}static define(e){let t=new jt(km++,e.create,e.update,e.compare||((r,o)=>r===o),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(_S).find(r=>r.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:r=>(r.values[t]=this.create(r),1),update:(r,o)=>{let s=r.values[t],i=this.updateF(s,o);return this.compareF(s,i)?0:(r.values[t]=i,1)},reconfigure:(r,o)=>o.config.address[this.id]!=null?(r.values[t]=o.field(this),0):(r.values[t]=this.create(r),1)}}init(e){return[this,_S.of({field:this,create:e})]}get extension(){return this}},Is={lowest:4,low:3,default:2,high:1,highest:0};function qa(n){return e=>new Ah(e,n)}var Bs={highest:qa(Is.highest),high:qa(Is.high),default:qa(Is.default),low:qa(Is.low),lowest:qa(Is.lowest)},Ah=class{constructor(e,t){this.inner=e,this.prec=t}},tl=class{of(e){return new Qa(this,e)}reconfigure(e){return tl.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Qa=class{constructor(e,t){this.compartment=e,this.inner=t}},nl=class{constructor(e,t,r,o,s,i){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=o,this.staticValues=s,this.facets=i,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,r){let o=[],s=Object.create(null),i=new Map;for(let d of KL(e,t,i))d instanceof jt?o.push(d):(s[d.facet.id]||(s[d.facet.id]=[])).push(d);let l=Object.create(null),a=[],c=[];for(let d of o)l[d.id]=c.length<<1,c.push(f=>d.slot(f));let u=r==null?void 0:r.config.facets;for(let d in s){let f=s[d],p=f[0].facet,m=u&&u[d]||[];if(f.every(g=>g.type==0))if(l[p.id]=a.length<<1|1,Mm(m,f))a.push(r.facet(p));else{let g=p.combine(f.map(b=>b.value));a.push(r&&p.compare(g,r.facet(p))?r.facet(p):g)}else{for(let g of f)g.type==0?(l[g.id]=a.length<<1|1,a.push(g.value)):(l[g.id]=c.length<<1,c.push(b=>g.dynamicSlot(b)));l[p.id]=c.length<<1,c.push(g=>_L(g,p,f))}}let h=c.map(d=>d(l));return new nl(e,i,h,l,a,s)}};function KL(n,e,t){let r=[[],[],[],[],[]],o=new Map;function s(i,l){let a=o.get(i);if(a!=null){if(a<=l)return;let c=r[a].indexOf(i);c>-1&&r[a].splice(c,1),i instanceof Qa&&t.delete(i.compartment)}if(o.set(i,l),Array.isArray(i))for(let c of i)s(c,l);else if(i instanceof Qa){if(t.has(i.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(i.compartment)||i.inner;t.set(i.compartment,c),s(c,l)}else if(i instanceof Ah)s(i.inner,i.prec);else if(i instanceof jt)r[l].push(i),i.provides&&s(i.provides,l);else if(i instanceof Zi)r[l].push(i),i.facet.extensions&&s(i.facet.extensions,Is.default);else{let c=i.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${i}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,l)}}return s(n,Is.default),r.reduce((i,l)=>i.concat(l))}function ja(n,e){if(e&1)return 2;let t=e>>1,r=n.status[t];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;n.status[t]=4;let o=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|o}function Lh(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}var ZS=le.define(),e0=le.define({combine:n=>n.some(e=>e),static:!0}),t0=le.define({combine:n=>n.length?n[0]:void 0,static:!0}),n0=le.define(),r0=le.define(),o0=le.define(),s0=le.define({combine:n=>n.length?n[0]:!1}),Sn=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Xa}},Xa=class{of(e){return new Sn(this,e)}},Sm=class{constructor(e){this.map=e}of(e){return new Ve(this,e)}},Ve=class{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new Ve(this.type,t)}is(e){return this.type==e}static define(e={}){return new Sm(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let o of e){let s=o.map(t);s&&r.push(s)}return r}};Ve.reconfigure=Ve.define();Ve.appendConfig=Ve.define();var Ke=class{constructor(e,t,r,o,s,i){this.startState=e,this.changes=t,this.selection=r,this.effects=o,this.annotations=s,this.scrollIntoView=i,this._doc=null,this._state=null,r&&YS(r,t.newLength),s.some(l=>l.type==Ke.time)||(this.annotations=s.concat(Ke.time.of(Date.now())))}static create(e,t,r,o,s,i){return new Ke(e,t,r,o,s,i)}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 t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(Ke.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};Ke.time=Sn.define();Ke.userEvent=Sn.define();Ke.addToHistory=Sn.define();Ke.remote=Sn.define();function UL(n,e){let t=[];for(let r=0,o=0;;){let s,i;if(r<n.length&&(o==e.length||e[o]>=n[r]))s=n[r++],i=n[r++];else if(o<e.length)s=e[o++],i=e[o++];else return t;!t.length||t[t.length-1]<s?t.push(s,i):t[t.length-1]<i&&(t[t.length-1]=i)}}function i0(n,e,t){var r;let o,s,i;return t?(o=e.changes,s=_e.empty(e.changes.length),i=n.changes.compose(e.changes)):(o=e.changes.map(n.changes),s=n.changes.mapDesc(e.changes,!0),i=n.changes.compose(o)),{changes:i,selection:e.selection?e.selection.map(s):(r=n.selection)===null||r===void 0?void 0:r.map(o),effects:Ve.mapEffects(n.effects,o).concat(Ve.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function Tm(n,e,t){let r=e.selection,o=el(e.annotations);return e.userEvent&&(o=o.concat(Ke.userEvent.of(e.userEvent))),{changes:e.changes instanceof _e?e.changes:_e.of(e.changes||[],t,n.facet(t0)),selection:r&&(r instanceof F?r:F.single(r.anchor,r.head)),effects:el(e.effects),annotations:o,scrollIntoView:!!e.scrollIntoView}}function l0(n,e,t){let r=Tm(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let i=!!e[s].sequential;r=i0(r,Tm(n,e[s],i?r.changes.newLength:n.doc.length),i)}let o=Ke.create(n,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return qL(t?GL(o):o)}function GL(n){let e=n.startState,t=!0;for(let o of e.facet(n0)){let s=o(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:UL(t,s))}if(t!==!0){let o,s;if(t===!1)s=n.changes.invertedDesc,o=_e.empty(e.doc.length);else{let i=n.changes.filter(t);o=i.changes,s=i.filtered.mapDesc(i.changes).invertedDesc}n=Ke.create(e,o,n.selection&&n.selection.map(s),Ve.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let r=e.facet(r0);for(let o=r.length-1;o>=0;o--){let s=r[o](n);s instanceof Ke?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof Ke?n=s[0]:n=l0(e,el(s),!1)}return n}function qL(n){let e=n.startState,t=e.facet(o0),r=n;for(let o=t.length-1;o>=0;o--){let s=t[o](n);s&&Object.keys(s).length&&(r=i0(r,Tm(e,s,n.changes.newLength),!0))}return r==n?n:Ke.create(e,n.changes,n.selection,r.effects,r.annotations,r.scrollIntoView)}var jL=[];function el(n){return n==null?jL:Array.isArray(n)?n:[n]}var qt=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(qt||(qt={})),QL=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Em;try{Em=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function XL(n){if(Em)return Em.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>"\x80"&&(t.toUpperCase()!=t.toLowerCase()||QL.test(t)))return!0}return!1}function JL(n){return e=>{if(!/\S/.test(e))return qt.Space;if(XL(e))return qt.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return qt.Word;return qt.Other}}var Se=class{constructor(e,t,r,o,s,i){this.config=e,this.doc=t,this.selection=r,this.values=o,this.status=e.statusTemplate.slice(),this.computeSlot=s,i&&(i._state=this);for(let l=0;l<this.config.dynamicSlots.length;l++)ja(this,l<<1);this.computeSlot=null}field(e,t=!0){let r=this.config.address[e.id];if(r==null){if(t)throw new RangeError("Field is not present in this state");return}return ja(this,r),Lh(this,r)}update(...e){return l0(this,e,!0)}applyTransaction(e){let t=this.config,{base:r,compartments:o}=t;for(let i of e.effects)i.is(tl.reconfigure)?(t&&(o=new Map,t.compartments.forEach((l,a)=>o.set(a,l)),t=null),o.set(i.value.compartment,i.value.extension)):i.is(Ve.reconfigure)?(t=null,r=i.value):i.is(Ve.appendConfig)&&(t=null,r=el(r).concat(i.value));let s;t?s=e.startState.values.slice():(t=nl.resolve(r,o,this),s=new Se(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,a)=>a.reconfigure(l,this),null).values),new Se(t,e.newDoc,e.newSelection,s,(i,l)=>l.update(i,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:F.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),o=this.changes(r.changes),s=[r.range],i=el(r.effects);for(let l=1;l<t.ranges.length;l++){let a=e(t.ranges[l]),c=this.changes(a.changes),u=c.map(o);for(let d=0;d<l;d++)s[d]=s[d].map(u);let h=o.mapDesc(c,!0);s.push(a.range.map(h)),o=o.compose(u),i=Ve.mapEffects(i,u).concat(Ve.mapEffects(el(a.effects),h))}return{changes:o,selection:F.create(s,t.mainIndex),effects:i}}changes(e=[]){return e instanceof _e?e:_e.of(e,this.doc.length,this.facet(Se.lineSeparator))}toText(e){return xe.of(e.split(this.facet(Se.lineSeparator)||xm))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(ja(this,t),Lh(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let o=e[r];o instanceof jt&&this.config.address[o.id]!=null&&(t[r]=o.spec.toJSON(this.field(e[r]),this))}return t}static fromJSON(e,t={},r){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let o=[];if(r){for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)){let i=r[s],l=e[s];o.push(i.init(a=>i.spec.fromJSON(l,a)))}}return Se.create({doc:e.doc,selection:F.fromJSON(e.selection),extensions:t.extensions?o.concat([t.extensions]):o})}static create(e={}){let t=nl.resolve(e.extensions||[],new Map),r=e.doc instanceof xe?e.doc:xe.of((e.doc||"").split(t.staticFacet(Se.lineSeparator)||xm)),o=e.selection?e.selection instanceof F?e.selection:F.single(e.selection.anchor,e.selection.head):F.single(0);return YS(o,r.length),t.staticFacet(e0)||(o=o.asSingle()),new Se(t,r,o,t.dynamicSlots.map(()=>null),(s,i)=>i.create(s),null)}get tabSize(){return this.facet(Se.tabSize)}get lineBreak(){return this.facet(Se.lineSeparator)||`
23
+ `}get readOnly(){return this.facet(s0)}phrase(e,...t){for(let r of this.facet(Se.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(r,o)=>{if(o=="$")return"$";let s=+(o||1);return!s||s>t.length?r:t[s-1]})),e}languageDataAt(e,t,r=-1){let o=[];for(let s of this.facet(ZS))for(let i of s(this,t,r))Object.prototype.hasOwnProperty.call(i,e)&&o.push(i[e]);return o}charCategorizer(e){return JL(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:r,length:o}=this.doc.lineAt(e),s=this.charCategorizer(e),i=e-r,l=e-r;for(;i>0;){let a=Lt(t,i,!1);if(s(t.slice(a,i))!=qt.Word)break;i=a}for(;l<o;){let a=Lt(t,l);if(s(t.slice(l,a))!=qt.Word)break;l=a}return i==l?null:F.range(i+r,l+r)}};Se.allowMultipleSelections=e0;Se.tabSize=le.define({combine:n=>n.length?n[0]:4});Se.lineSeparator=t0;Se.readOnly=s0;Se.phrases=le.define({compare(n,e){let t=Object.keys(n),r=Object.keys(e);return t.length==r.length&&t.every(o=>n[o]==e[o])}});Se.languageData=ZS;Se.changeFilter=n0;Se.transactionFilter=r0;Se.transactionExtender=o0;tl.reconfigure=Ve.define();function Fs(n,e,t={}){let r={};for(let o of n)for(let s of Object.keys(o)){let i=o[s],l=r[s];if(l===void 0)r[s]=i;else if(!(l===i||i===void 0))if(Object.hasOwnProperty.call(t,s))r[s]=t[s](l,i);else throw new Error("Config merge conflict for field "+s)}for(let o in e)r[o]===void 0&&(r[o]=e[o]);return r}var lr=class{eq(e){return this==e}range(e,t=e){return Hs.create(e,t,this)}};lr.prototype.startSide=lr.prototype.endSide=0;lr.prototype.point=!1;lr.prototype.mapMode=At.TrackDel;var Hs=class{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new Hs(e,t,r)}};function Rm(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}var Ja=class{constructor(e,t,r,o){this.from=e,this.to=t,this.value=r,this.maxPoint=o}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,o=0){let s=r?this.to:this.from;for(let i=o,l=s.length;;){if(i==l)return i;let a=i+l>>1,c=s[a]-e||(r?this.value[a].endSide:this.value[a].startSide)-t;if(a==i)return c>=0?i:l;c>=0?l=a:i=a+1}}between(e,t,r,o){for(let s=this.findIndex(t,-1e9,!0),i=this.findIndex(r,1e9,!1,s);s<i;s++)if(o(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let r=[],o=[],s=[],i=-1,l=-1;for(let a=0;a<this.value.length;a++){let c=this.value[a],u=this.from[a]+e,h=this.to[a]+e,d,f;if(u==h){let p=t.mapPos(u,c.startSide,c.mapMode);if(p==null||(d=f=p,c.startSide!=c.endSide&&(f=t.mapPos(u,c.endSide),f<d)))continue}else if(d=t.mapPos(u,c.startSide),f=t.mapPos(h,c.endSide),d>f||d==f&&c.startSide>0&&c.endSide<=0)continue;(f-d||c.endSide-c.startSide)<0||(i<0&&(i=d),c.point&&(l=Math.max(l,f-d)),r.push(c),o.push(d-i),s.push(f-i))}return{mapped:r.length?new Ja(o,s,r,l):null,pos:i}}},Ie=class{constructor(e,t,r,o){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=o}static create(e,t,r,o){return new Ie(e,t,r,o)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:r=!1,filterFrom:o=0,filterTo:s=this.length}=e,i=e.filter;if(t.length==0&&!i)return this;if(r&&(t=t.slice().sort(Rm)),this.isEmpty)return t.length?Ie.of(t):this;let l=new Oh(this,null,-1).goto(0),a=0,c=[],u=new Sr;for(;l.value||a<t.length;)if(a<t.length&&(l.from-t[a].from||l.startSide-t[a].value.startSide)>=0){let h=t[a++];u.addInner(h.from,h.to,h.value)||c.push(h)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(l.chunkIndex)<t[a].from)&&(!i||o>this.chunkEnd(l.chunkIndex)||s<this.chunkPos[l.chunkIndex])&&u.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!i||o>l.to||s<l.from||i(l.from,l.to,l.value))&&(u.addInner(l.from,l.to,l.value)||c.push(Hs.create(l.from,l.to,l.value))),l.next());return u.finishInner(this.nextLayer.isEmpty&&!c.length?Ie.empty:this.nextLayer.update({add:c,filter:i,filterFrom:o,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],r=[],o=-1;for(let i=0;i<this.chunk.length;i++){let l=this.chunkPos[i],a=this.chunk[i],c=e.touchesRange(l,l+a.length);if(c===!1)o=Math.max(o,a.maxPoint),t.push(a),r.push(e.mapPos(l));else if(c===!0){let{mapped:u,pos:h}=a.map(l,e);u&&(o=Math.max(o,u.maxPoint),t.push(u),r.push(h))}}let s=this.nextLayer.map(e);return t.length==0?s:new Ie(r,t,s||Ie.empty,o)}between(e,t,r){if(!this.isEmpty){for(let o=0;o<this.chunk.length;o++){let s=this.chunkPos[o],i=this.chunk[o];if(t>=s&&e<=s+i.length&&i.between(s,e-s,t-s,r)===!1)return}this.nextLayer.between(e,t,r)}}iter(e=0){return Vs.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Vs.from(e).goto(t)}static compare(e,t,r,o,s=-1){let i=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),l=t.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),a=KS(i,l,r),c=new As(i,a,s),u=new As(l,a,s);r.iterGaps((h,d,f)=>US(c,h,u,d,f,o)),r.empty&&r.length==0&&US(c,0,u,0,0,o)}static eq(e,t,r=0,o){o==null&&(o=1e9-1);let s=e.filter(u=>!u.isEmpty&&t.indexOf(u)<0),i=t.filter(u=>!u.isEmpty&&e.indexOf(u)<0);if(s.length!=i.length)return!1;if(!s.length)return!0;let l=KS(s,i),a=new As(s,l,0).goto(r),c=new As(i,l,0).goto(r);for(;;){if(a.to!=c.to||!Dm(a.active,c.active)||a.point&&(!c.point||!a.point.eq(c.point)))return!1;if(a.to>o)return!0;a.next(),c.next()}}static spans(e,t,r,o,s=-1){let i=new As(e,null,s).goto(t),l=t,a=i.openStart;for(;;){let c=Math.min(i.to,r);if(i.point){let u=i.activeForPoint(i.to),h=i.pointFrom<t?u.length+1:Math.min(u.length,a);o.point(l,c,i.point,u,h,i.pointRank),a=Math.min(i.openEnd(c),u.length)}else c>l&&(o.span(l,c,i.active,a),a=i.openEnd(c));if(i.to>r)return a+(i.point&&i.to>r?1:0);l=i.to,i.next()}}static of(e,t=!1){let r=new Sr;for(let o of e instanceof Hs?[e]:t?YL(e):e)r.add(o.from,o.to,o.value);return r.finish()}};Ie.empty=new Ie([],[],null,-1);function YL(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let r=n[t];if(Rm(e,r)>0)return n.slice().sort(Rm);e=r}return n}Ie.empty.nextLayer=Ie.empty;var Sr=class{finishChunk(e){this.chunks.push(new Ja(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new Sr)).add(e,t,r)}addInner(e,t,r){let o=e-this.lastTo||r.startSide-this.last.endSide;if(o<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return o<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(Ie.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=Ie.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function KS(n,e,t){let r=new Map;for(let s of n)for(let i=0;i<s.chunk.length;i++)s.chunk[i].maxPoint<=0&&r.set(s.chunk[i],s.chunkPos[i]);let o=new Set;for(let s of e)for(let i=0;i<s.chunk.length;i++){let l=r.get(s.chunk[i]);l!=null&&(t?t.mapPos(l):l)==s.chunkPos[i]&&!(t!=null&&t.touchesRange(l,l+s.chunk[i].length))&&o.add(s.chunk[i])}return o}var Oh=class{constructor(e,t,r,o=0){this.layer=e,this.skip=t,this.minPoint=r,this.rank=o}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,r){for(;this.chunkIndex<this.layer.chunk.length;){let o=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(o)||this.layer.chunkEnd(this.chunkIndex)<e||o.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let o=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!r||this.rangeIndex<o)&&this.setRangeIndex(o)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],r=e+t.from[this.rangeIndex];if(this.from=r,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},Vs=class{constructor(e){this.heap=e}static from(e,t=null,r=-1){let o=[];for(let s=0;s<e.length;s++)for(let i=e[s];!i.isEmpty;i=i.nextLayer)i.maxPoint>=r&&o.push(new Oh(i,t,r,s));return o.length==1?o[0]:new Vs(o)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let r=this.heap.length>>1;r>=0;r--)bm(this.heap,r);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let r=this.heap.length>>1;r>=0;r--)bm(this.heap,r);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),bm(this.heap,0)}}};function bm(n,e){for(let t=n[e];;){let r=(e<<1)+1;if(r>=n.length)break;let o=n[r];if(r+1<n.length&&o.compare(n[r+1])>=0&&(o=n[r+1],r++),t.compare(o)<0)break;n[r]=t,n[e]=o,e=r}}var As=class{constructor(e,t,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Vs.from(e,t,r)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Dh(this.active,e),Dh(this.activeTo,e),Dh(this.activeRank,e),this.minActive=GS(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:o,rank:s}=this.cursor;for(;t<this.activeRank.length&&this.activeRank[t]<=s;)t++;kh(this.active,t,r),kh(this.activeTo,t,o),kh(this.activeRank,t,s),e&&kh(e,t,this.cursor.from),this.minActive=GS(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let o=this.minActive;if(o>-1&&(this.activeTo[o]-this.cursor.from||this.active[o].endSide-this.cursor.startSide)<0){if(this.activeTo[o]>e){this.to=this.activeTo[o],this.endSide=this.active[o].endSide;break}this.removeActive(o),r&&Dh(r,o)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(r),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(r){this.openStart=0;for(let o=r.length-1;o>=0&&r[o]<e;o--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let r=this.active.length-1;r>=0&&!(this.activeRank[r]<this.pointRank);r--)(this.activeTo[r]>e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}};function US(n,e,t,r,o,s){n.goto(e),t.goto(r);let i=r+o,l=r,a=r-e;for(;;){let c=n.to+a-t.to||n.endSide-t.endSide,u=c<0?n.to+a:t.to,h=Math.min(u,i);if(n.point||t.point?n.point&&t.point&&(n.point==t.point||n.point.eq(t.point))&&Dm(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(l,h,n.point,t.point):h>l&&!Dm(n.active,t.active)&&s.compareRange(l,h,n.active,t.active),u>i)break;l=u,c<=0&&n.next(),c>=0&&t.next()}}function Dm(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!n[t].eq(e[t]))return!1;return!0}function Dh(n,e){for(let t=e,r=n.length-1;t<r;t++)n[t]=n[t+1];n.pop()}function kh(n,e,t){for(let r=n.length-1;r>=e;r--)n[r+1]=n[r];n[e]=t}function GS(n,e){let t=-1,r=1e9;for(let o=0;o<e.length;o++)(e[o]-r||n[o].endSide-n[t].endSide)<0&&(t=o,r=e[o]);return t}function zs(n,e,t=n.length){let r=0;for(let o=0;o<t;)n.charCodeAt(o)==9?(r+=e-r%e,o++):(r++,o=Lt(n,o));return r}function a0(n,e,t,r){for(let o=0,s=0;;){if(s>=e)return o;if(o==n.length)break;s+=n.charCodeAt(o)==9?t-s%t:1,o=Lt(n,o)}return r===!0?-1:n.length}var Pm="\u037C",c0=typeof Symbol>"u"?"__"+Pm:Symbol.for(Pm),Im=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),u0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Vn=class{constructor(e,t){this.rules=[];let{finish:r}=t||{};function o(i){return/^@/.test(i)?[i]:i.split(/,\s*/)}function s(i,l,a,c){let u=[],h=/^@(\w+)\b/.exec(i[0]),d=h&&h[1]=="keyframes";if(h&&l==null)return a.push(i[0]+";");for(let f in l){let p=l[f];if(/&/.test(f))s(f.split(/,\s*/).map(m=>i.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,a);else if(p&&typeof p=="object"){if(!h)throw new RangeError("The value of a property ("+f+") should be a primitive value.");s(o(f),p,u,d)}else p!=null&&u.push(f.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(u.length||d)&&a.push((r&&!h&&!c?i.map(r):i).join(", ")+" {"+u.join(" ")+"}")}for(let i in e)s(o(i),e[i],this.rules)}getRules(){return this.rules.join(`
24
+ `)}static newName(){let e=u0[c0]||1;return u0[c0]=e+1,Pm+e.toString(36)}static mount(e,t){(e[Im]||new Am(e)).mount(Array.isArray(t)?t:[t])}},h0=new Map,Am=class{constructor(e){let t=e.ownerDocument||e,r=t.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let o=h0.get(t);if(o)return e.adoptedStyleSheets=[o.sheet,...e.adoptedStyleSheets],e[Im]=o;this.sheet=new r.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],h0.set(t,this)}else{this.styleTag=t.createElement("style");let o=e.head||e;o.insertBefore(this.styleTag,o.firstChild)}this.modules=[],e[Im]=this}mount(e){let t=this.sheet,r=0,o=0;for(let s=0;s<e.length;s++){let i=e[s],l=this.modules.indexOf(i);if(l<o&&l>-1&&(this.modules.splice(l,1),o--,l=-1),l==-1){if(this.modules.splice(o++,0,i),t)for(let a=0;a<i.rules.length;a++)t.insertRule(i.rules[a],r++)}else{for(;o<l;)r+=this.modules[o++].rules.length;r+=i.rules.length,o++}}if(!t){let s="";for(let i=0;i<this.modules.length;i++)s+=this.modules[i].getRules()+`
25
+ `;this.styleTag.textContent=s}}};var eo={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:"'"},rl={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},ZL=typeof navigator<"u"&&/Mac/.test(navigator.platform),eO=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(ot=0;ot<10;ot++)eo[48+ot]=eo[96+ot]=String(ot);var ot;for(ot=1;ot<=24;ot++)eo[ot+111]="F"+ot;var ot;for(ot=65;ot<=90;ot++)eo[ot]=String.fromCharCode(ot+32),rl[ot]=String.fromCharCode(ot);var ot;for(Nh in eo)rl.hasOwnProperty(Nh)||(rl[Nh]=eo[Nh]);var Nh;function d0(n){var e=ZL&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||eO&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?rl:eo)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function jh(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Bm(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function tO(n){let e=n.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function _h(n,e){if(!e.anchorNode)return!1;try{return Bm(n,e.anchorNode)}catch{return!1}}function rc(n){return n.nodeType==3?Ws(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Qh(n,e,t,r){return t?f0(n,e,t,r,-1)||f0(n,e,t,r,1):!1}function Xh(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function f0(n,e,t,r,o){for(;;){if(n==t&&e==r)return!0;if(e==(o<0?0:Ho(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||s.nodeType!=1)return!1;e=Xh(n)+(o<0?0:1),n=s}else if(n.nodeType==1){if(n=n.childNodes[e+(o<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=o<0?Ho(n):0}else return!1}}function Ho(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function yg(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function nO(n){return{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function rO(n,e,t,r,o,s,i,l){let a=n.ownerDocument,c=a.defaultView||window;for(let u=n,h=!1;u&&!h;)if(u.nodeType==1){let d,f=u==a.body;if(f)d=nO(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(h=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let g=u.getBoundingClientRect();d={left:g.left,right:g.left+u.clientWidth,top:g.top,bottom:g.top+u.clientHeight}}let p=0,m=0;if(o=="nearest")e.top<d.top?(m=-(d.top-e.top+i),t>0&&e.bottom>d.bottom+m&&(m=e.bottom-d.bottom+m+i)):e.bottom>d.bottom&&(m=e.bottom-d.bottom+i,t<0&&e.top-m<d.top&&(m=-(d.top+m-e.top+i)));else{let g=e.bottom-e.top,b=d.bottom-d.top;m=(o=="center"&&g<=b?e.top+g/2-b/2:o=="start"||o=="center"&&t<0?e.top-i:e.bottom-b+i)-d.top}if(r=="nearest"?e.left<d.left?(p=-(d.left-e.left+s),t>0&&e.right>d.right+p&&(p=e.right-d.right+p+s)):e.right>d.right&&(p=e.right-d.right+s,t<0&&e.left<d.left+p&&(p=-(d.left+p-e.left+s))):p=(r=="center"?e.left+(e.right-e.left)/2-(d.right-d.left)/2:r=="start"==l?e.left-s:e.right-(d.right-d.left)+s)-d.left,p||m)if(f)c.scrollBy(p,m);else{let g=0,b=0;if(m){let C=u.scrollTop;u.scrollTop+=m,b=u.scrollTop-C}if(p){let C=u.scrollLeft;u.scrollLeft+=p,g=u.scrollLeft-C}e={left:e.left-g,top:e.top-b,right:e.right-g,bottom:e.bottom-b},g&&Math.abs(g-p)<1&&(r="nearest"),b&&Math.abs(b-m)<1&&(o="nearest")}if(f)break;u=u.assignedSlot||u.parentNode}else if(u.nodeType==11)u=u.host;else break}function oO(n){let e=n.ownerDocument;for(let t=n.parentNode;t&&t!=e.body;)if(t.nodeType==1){if(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth)return t;t=t.assignedSlot||t.parentNode}else if(t.nodeType==11)t=t.host;else break;return null}var Fm=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:t,focusNode:r}=e;this.set(t,Math.min(e.anchorOffset,t?Ho(t):0),r,Math.min(e.focusOffset,r?Ho(r):0))}set(e,t,r,o){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=o}},ol=null;function G0(n){if(n.setActive)return n.setActive();if(ol)return n.focus(ol);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(ol==null?{get preventScroll(){return ol={preventScroll:!0},!0}}:void 0),!ol){ol=!1;for(let t=0;t<e.length;){let r=e[t++],o=e[t++],s=e[t++];r.scrollTop!=o&&(r.scrollTop=o),r.scrollLeft!=s&&(r.scrollLeft=s)}}}var p0;function Ws(n,e,t=e){let r=p0||(p0=document.createRange());return r.setEnd(n,t),r.setStart(n,e),r}function ll(n,e,t){let r={key:e,code:e,keyCode:t,which:t,cancelable:!0},o=new KeyboardEvent("keydown",r);o.synthetic=!0,n.dispatchEvent(o);let s=new KeyboardEvent("keyup",r);return s.synthetic=!0,n.dispatchEvent(s),o.defaultPrevented||s.defaultPrevented}function sO(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function q0(n){for(;n.attributes.length;)n.removeAttributeNode(n.attributes[0])}function iO(n,e){let t=e.focusNode,r=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=r)return!1;for(r=Math.min(r,Ho(t));;)if(r){if(t.nodeType!=1)return!1;let o=t.childNodes[r-1];o.contentEditable=="false"?r--:(t=o,r=Ho(t))}else{if(t==n)return!0;r=Xh(t),t=t.parentNode}}function j0(n){return n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}var Tt=class{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new Tt(e.parentNode,Xh(e),t)}static after(e,t){return new Tt(e.parentNode,Xh(e)+1,t)}},xg=[],Me=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 t=this.posAtStart;for(let r of this.children){if(r==e)return t;t+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(this.flags&2){let r=this.dom,o=null,s;for(let i of this.children){if(i.flags&7){if(!i.dom&&(s=o?o.nextSibling:r.firstChild)){let l=Me.get(s);(!l||!l.parent&&l.canReuseDOM(i))&&i.reuseDOM(s)}i.sync(e,t),i.flags&=-8}if(s=o?o.nextSibling:r.firstChild,t&&!t.written&&t.node==r&&s!=i.dom&&(t.written=!0),i.dom.parentNode==r)for(;s&&s!=i.dom;)s=m0(s);else r.insertBefore(i.dom,s);o=i.dom}for(s=o?o.nextSibling:r.firstChild,s&&t&&t.node==r&&(t.written=!0);s;)s=m0(s)}else if(this.flags&1)for(let r of this.children)r.flags&7&&(r.sync(e,t),r.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let r;if(e==this.dom)r=this.dom.childNodes[t];else{let o=Ho(e)==0?0:t==0?-1:1;for(;;){let s=e.parentNode;if(s==this.dom)break;o==0&&s.firstChild!=s.lastChild&&(e==s.firstChild?o=-1:o=1),e=s}o<0?r=e:r=e.nextSibling}if(r==this.dom.firstChild)return 0;for(;r&&!Me.get(r);)r=r.nextSibling;if(!r)return this.length;for(let o=0,s=0;;o++){let i=this.children[o];if(i.dom==r)return s;s+=i.length+i.breakAfter}}domBoundsAround(e,t,r=0){let o=-1,s=-1,i=-1,l=-1;for(let a=0,c=r,u=r;a<this.children.length;a++){let h=this.children[a],d=c+h.length;if(c<e&&d>t)return h.domBoundsAround(e,t,c);if(d>=e&&o==-1&&(o=a,s=c),c>t&&h.dom.parentNode==this.dom){i=a,l=u;break}u=d,c=d+h.breakAfter}return{from:s,to:l<0?r+this.length:l,startDOM:(o?this.children[o-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:i<this.children.length&&i>=0?this.children[i].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.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 t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,r=xg){this.markDirty();for(let o=e;o<t;o++){let s=this.children[o];s.parent==this&&s.destroy()}this.children.splice(e,t-e,...r);for(let o=0;o<r.length;o++)r[o].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new Jh(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}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,t,r,o,s,i){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}};Me.prototype.breakAfter=0;function m0(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}var Jh=class{constructor(e,t,r){this.children=e,this.pos=t,this.i=r,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let r=this.children[--this.i];this.pos-=r.length+r.breakAfter}}};function Q0(n,e,t,r,o,s,i,l,a){let{children:c}=n,u=c.length?c[e]:null,h=s.length?s[s.length-1]:null,d=h?h.breakAfter:i;if(!(e==r&&u&&!i&&!d&&s.length<2&&u.merge(t,o,s.length?h:null,t==0,l,a))){if(r<c.length){let f=c[r];f&&o<f.length?(e==r&&(f=f.split(o),o=0),!d&&h&&f.merge(0,o,h,!0,0,a)?s[s.length-1]=f:(o&&f.merge(0,o,null,!1,0,a),s.push(f))):f!=null&&f.breakAfter&&(h?h.breakAfter=1:i=1),r++}for(u&&(u.breakAfter=i,t>0&&(!i&&s.length&&u.merge(t,u.length,s[0],!1,l,0)?u.breakAfter=s.shift().breakAfter:(t<u.length||u.children.length&&u.children[u.children.length-1].length==0)&&u.merge(t,u.length,null,!1,l,0),e++));e<r&&s.length;)if(c[r-1].become(s[s.length-1]))r--,s.pop(),a=s.length?0:l;else if(c[e].become(s[0]))e++,s.shift(),l=s.length?0:a;else break;!s.length&&e&&r<c.length&&!c[e-1].breakAfter&&c[r].merge(0,0,c[e-1],!1,l,a)&&e--,(e<r||s.length)&&n.replaceChildren(e,r,s)}}function X0(n,e,t,r,o,s){let i=n.childCursor(),{i:l,off:a}=i.findPos(t,1),{i:c,off:u}=i.findPos(e,-1),h=e-t;for(let d of r)h+=d.length;n.length+=h,Q0(n,c,u,l,a,r,0,o,s)}var sl="\uFFFF",Yh=class{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(Se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=sl}readRange(e,t){if(!e)return this;let r=e.parentNode;for(let o=e;;){this.findPointBefore(r,o);let s=this.text.length;this.readNode(o);let i=o.nextSibling;if(i==t)break;let l=Me.get(o),a=Me.get(i);(l&&a?l.breakAfter:(l?l.breakAfter:g0(o))||g0(i)&&(o.nodeName!="BR"||o.cmIgnore)&&this.text.length>s)&&this.lineBreak(),o=i}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,o=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,i=1,l;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,r),i=this.lineSeparator.length):(l=o.exec(t))&&(s=l.index,i=l[0].length),this.append(t.slice(r,s<0?t.length:s)),s<0)break;if(this.lineBreak(),i>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=i-1);r=s+i}}readNode(e){if(e.cmIgnore)return;let t=Me.get(e),r=t&&t.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let o=r.iter();!o.next().done;)o.lineBreak?this.lineBreak():this.append(o.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,t){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+Math.min(t,r.offset))}};function g0(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}var Zh=class{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}},Tn=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},zm=typeof document<"u"?document:{documentElement:{style:{}}},$m=/Edge\/(\d+)/.exec(Tn.userAgent),J0=/MSIE \d/.test(Tn.userAgent),Wm=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Tn.userAgent),sd=!!(J0||Wm||$m),b0=!sd&&/gecko\/(\d+)/i.test(Tn.userAgent),Lm=!sd&&/Chrome\/(\d+)/.exec(Tn.userAgent),y0="webkitFontSmoothing"in zm.documentElement.style,Y0=!sd&&/Apple Computer/.test(Tn.vendor),x0=Y0&&(/Mobile\/\w+/.test(Tn.userAgent)||Tn.maxTouchPoints>2),te={mac:x0||/Mac/.test(Tn.platform),windows:/Win/.test(Tn.platform),linux:/Linux|X11/.test(Tn.platform),ie:sd,ie_version:J0?zm.documentMode||6:Wm?+Wm[1]:$m?+$m[1]:0,gecko:b0,gecko_version:b0?+(/Firefox\/(\d+)/.exec(Tn.userAgent)||[0,0])[1]:0,chrome:!!Lm,chrome_version:Lm?+Lm[1]:0,ios:x0,android:/Android\b/.test(Tn.userAgent),webkit:y0,safari:Y0,webkit_version:y0?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:zm.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},lO=256,Fn=class extends Me{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,r){return this.flags&8||r&&(!(r instanceof Fn)||this.length-(t-e)+r.length>lO||r.flags&8)?!1:(this.text=this.text.slice(0,e)+(r?r.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new Fn(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Tt(this.dom,e)}domBoundsAround(e,t,r){return{from:r,to:r+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return aO(this.dom,e,t)}},ar=class extends Me{constructor(e,t=[],r=0){super(),this.mark=e,this.children=t,this.length=r;for(let o of t)o.setParent(this)}setAttrs(e){if(q0(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);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,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,r,o,s,i){return r&&(!(r instanceof ar&&r.mark.eq(this.mark))||e&&s<=0||t<this.length&&i<=0)?!1:(X0(this,e,t,r?r.children:[],s-1,i-1),this.markDirty(),!0)}split(e){let t=[],r=0,o=-1,s=0;for(let l of this.children){let a=r+l.length;a>e&&t.push(r<e?l.split(e-r):l),o<0&&r>=e&&(o=s),r=a,s++}let i=this.length-e;return this.length=e,o>-1&&(this.children.length=o,this.markDirty()),new ar(this.mark,t,i)}domAtPos(e){return Z0(this,e)}coordsAt(e,t){return tT(this,e,t)}};function aO(n,e,t){let r=n.nodeValue.length;e>r&&(e=r);let o=e,s=e,i=0;e==0&&t<0||e==r&&t>=0?te.chrome||te.gecko||(e?(o--,i=1):s<r&&(s++,i=-1)):t<0?o--:s<r&&s++;let l=Ws(n,o,s).getClientRects();if(!l.length)return null;let a=l[(i?i<0:t>=0)?0:l.length-1];return te.safari&&!i&&a.width==0&&(a=Array.prototype.find.call(l,c=>c.width)||a),i?yg(a,i<0):a||null}var to=class extends Me{constructor(e,t,r){super(),this.widget=e,this.length=t,this.side=r,this.prevWidget=null}static create(e,t,r){return new to(e,t,r)}split(e){let t=to.create(this.widget,this.length-e,this.side);return this.length-=e,t}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,t,r,o,s,i){return r&&(!(r instanceof to)||!this.widget.compare(r.widget)||e>0&&s<=0||t<this.length&&i<=0)?!1:(this.length=e+(r?r.length:0)+(this.length-t),!0)}become(e){return e instanceof to&&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 xe.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,r=t&&t.state.doc,o=this.posAtStart;return r?r.slice(o,o+this.length):xe.empty}domAtPos(e){return(this.length?e==0:this.side>0)?Tt.before(this.dom):Tt.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;let o=this.dom.getClientRects(),s=null;if(!o.length)return null;let i=this.side?this.side<0:e>0;for(let l=i?o.length-1:0;s=o[l],!(e>0?l==0:l==o.length-1||s.top<s.bottom);l+=i?-1:1);return yg(s,!i)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},Vo=class extends Me{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof Vo&&e.side==this.side}split(){return new Vo(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?Tt.before(this.dom):Tt.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return xe.empty}get isHidden(){return!0}};Fn.prototype.children=to.prototype.children=Vo.prototype.children=xg;function Z0(n,e){let t=n.dom,{children:r}=n,o=0;for(let s=0;o<r.length;o++){let i=r[o],l=s+i.length;if(!(l==s&&i.getSide()<=0)){if(e>s&&e<l&&i.dom.parentNode==t)return i.domAtPos(e-s);if(e<=s)break;s=l}}for(let s=o;s>0;s--){let i=r[s-1];if(i.dom.parentNode==t)return i.domAtPos(i.length)}for(let s=o;s<r.length;s++){let i=r[s];if(i.dom.parentNode==t)return i.domAtPos(0)}return new Tt(t,0)}function eT(n,e,t){let r,{children:o}=n;t>0&&e instanceof ar&&o.length&&(r=o[o.length-1])instanceof ar&&r.mark.eq(e.mark)?eT(r,e.children[0],t-1):(o.push(e),e.setParent(n)),n.length+=e.length}function tT(n,e,t){let r=null,o=-1,s=null,i=-1;function l(c,u){for(let h=0,d=0;h<c.children.length&&d<=u;h++){let f=c.children[h],p=d+f.length;p>=u&&(f.children.length?l(f,u-d):(!s||s.isHidden&&t>0)&&(p>u||d==p&&f.getSide()>0)?(s=f,i=u-d):(d<u||d==p&&f.getSide()<0&&!f.isHidden)&&(r=f,o=u-d)),d=p}}l(n,e);let a=(t<0?r:s)||r||s;return a?a.coordsAt(Math.max(0,a==r?o:i),t):cO(n)}function cO(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=rc(e);return t[t.length-1]||null}function _m(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}var v0=Object.create(null);function vg(n,e,t){if(n==e)return!0;n||(n=v0),e||(e=v0);let r=Object.keys(n),o=Object.keys(e);if(r.length-(t&&r.indexOf(t)>-1?1:0)!=o.length-(t&&o.indexOf(t)>-1?1:0))return!1;for(let s of r)if(s!=t&&(o.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function Km(n,e,t){let r=null;if(e)for(let o in e)t&&o in t||n.removeAttribute(r=o);if(t)for(let o in t)e&&e[o]==t[o]||n.setAttribute(r=o,t[o]);return!!r}function uO(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];e[r.name]=r.value}return e}var ro=class{eq(e){return!1}updateDOM(e,t){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,t,r){return null}get isHidden(){return!1}destroy(e){}},tt=function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n}(tt||(tt={})),dt=class extends lr{constructor(e,t,r,o){super(),this.startSide=e,this.endSide=t,this.widget=r,this.spec=o}get heightRelevant(){return!1}static mark(e){return new _s(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return t+=r&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new Rr(e,t,t,r,e.widget||null,!1)}static replace(e){let t=!!e.block,r,o;if(e.isBlockGap)r=-5e8,o=4e8;else{let{start:s,end:i}=nT(e,t);r=(s?t?-3e8:-1:5e8)-1,o=(i?t?2e8:1:-6e8)+1}return new Rr(e,r,o,t,e.widget||null,!0)}static line(e){return new Ks(e)}static set(e,t=!1){return Ie.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};dt.none=Ie.empty;var _s=class extends dt{constructor(e){let{start:t,end:r}=nT(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,r;return this==e||e instanceof _s&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((r=e.attrs)===null||r===void 0?void 0:r.class))&&vg(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};_s.prototype.point=!1;var Ks=class extends dt{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Ks&&this.spec.class==e.spec.class&&vg(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};Ks.prototype.mapMode=At.TrackBefore;Ks.prototype.point=!0;var Rr=class extends dt{constructor(e,t,r,o,s,i){super(t,r,s,e),this.block=o,this.isReplace=i,this.mapMode=o?t<=0?At.TrackBefore:At.TrackAfter:At.TrackDel}get type(){return this.startSide<this.endSide?tt.WidgetRange:this.startSide<=0?tt.WidgetBefore:tt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Rr&&hO(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};Rr.prototype.point=!0;function nT(n,e=!1){let{inclusiveStart:t,inclusiveEnd:r}=n;return t==null&&(t=n.inclusive),r==null&&(r=n.inclusive),{start:t!=null?t:e,end:r!=null?r:e}}function hO(n,e){return n==e||!!(n&&e&&n.compare(e))}function Um(n,e,t,r=0){let o=t.length-1;o>=0&&t[o]+r>=n?t[o]=Math.max(t[o],e):t.push(n,e)}var St=class extends Me{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,r,o,s,i){if(r){if(!(r instanceof St))return!1;this.dom||r.transferDOM(this)}return o&&this.setDeco(r?r.attrs:null),X0(this,e,t,r?r.children:[],s,i),!0}split(e){let t=new St;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i:r,off:o}=this.childPos(e);o&&(t.append(this.children[r].split(o),0),this.children[r].merge(o,this.children[r].length,null,!1,0,0),r++);for(let s=r;s<this.children.length;s++)t.append(this.children[s],0);for(;r>0&&this.children[r-1].length==0;)this.children[--r].destroy();return this.children.length=r,this.markDirty(),this.length=e,t}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){vg(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){eT(this,e,t)}addLineDeco(e){let t=e.spec.attributes,r=e.spec.class;t&&(this.attrs=_m(t,this.attrs||{})),r&&(this.attrs=_m({class:r},this.attrs||{}))}domAtPos(e){return Z0(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var r;this.dom?this.flags&4&&(q0(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&&(Km(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let o=this.dom.lastChild;for(;o&&Me.get(o)instanceof ar;)o=o.lastChild;if(!o||!this.length||o.nodeName!="BR"&&((r=Me.get(o))===null||r===void 0?void 0:r.isEditable)==!1&&(!te.ios||!this.children.some(s=>s instanceof Fn))){let s=document.createElement("BR");s.cmIgnore=!0,this.dom.appendChild(s)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let r of this.children){if(!(r instanceof Fn)||/[^ -~]/.test(r.text))return null;let o=rc(r.dom);if(o.length!=1)return null;e+=o[0].width,t=o[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let r=tT(this,e,t);if(!this.children.length&&r&&this.parent){let{heightOracle:o}=this.parent.view.viewState,s=r.bottom-r.top;if(Math.abs(s-o.lineHeight)<2&&o.textHeight<s){let i=(s-o.textHeight)/2;return{top:r.top+i,bottom:r.bottom-i,left:r.left,right:r.left}}}return r}become(e){return!1}get type(){return tt.Text}static find(e,t){for(let r=0,o=0;r<e.children.length;r++){let s=e.children[r],i=o+s.length;if(i>=t){if(s instanceof St)return s;if(i>t)break}o=i+s.breakAfter}return null}},no=class extends Me{constructor(e,t,r){super(),this.widget=e,this.length=t,this.type=r,this.breakAfter=0,this.prevWidget=null}merge(e,t,r,o,s,i){return r&&(!(r instanceof no)||!this.widget.compare(r.widget)||e>0&&s<=0||t<this.length&&i<=0)?!1:(this.length=e+(r?r.length:0)+(this.length-t),!0)}domAtPos(e){return e==0?Tt.before(this.dom):Tt.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let r=new no(this.widget,t,this.type);return r.breakAfter=this.breakAfter,r}get children(){return xg}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):xe.empty}domBoundsAround(){return null}become(e){return e instanceof no&&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,t){return this.widget.coordsAt(this.dom,e,t)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},$s=class{constructor(e,t,r,o){this.doc=e,this.pos=t,this.end=r,this.disallowBlockEffectsFor=o,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=t}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 no&&e.type==tt.WidgetBefore)}getLine(){return this.curLine||(this.content.push(this.curLine=new St),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(Hh(new Vo(-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,t,r){for(;e>0;){if(this.textOff==this.text.length){let{value:s,lineBreak:i,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(i){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=s,this.textOff=0}let o=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-r)),this.getLine().append(Hh(new Fn(this.text.slice(this.textOff,this.textOff+o)),t),r),this.atCursorPos=!0,this.textOff+=o,e-=o,r=0}}span(e,t,r,o){this.buildText(t-e,r,o),this.pos=t,this.openStart<0&&(this.openStart=o)}point(e,t,r,o,s,i){if(this.disallowBlockEffectsFor[i]&&r instanceof Rr){if(r.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let l=t-e;if(r instanceof Rr)if(r.block){let{type:a}=r;a==tt.WidgetAfter&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new no(r.widget||new ed("div"),l,a))}else{let a=to.create(r.widget||new ed("span"),l,l?0:r.startSide),c=this.atCursorPos&&!a.isEditable&&s<=o.length&&(e<t||r.startSide>0),u=!a.isEditable&&(e<t||s>o.length||r.startSide<=0),h=this.getLine();this.pendingBuffer==2&&!c&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(o),c&&(h.append(Hh(new Vo(1),o),s),s=o.length+Math.max(0,s-o.length)),h.append(Hh(a,o),s),this.atCursorPos=u,this.pendingBuffer=u?e<t||s>o.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=o.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(r);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=t),this.openStart<0&&(this.openStart=s)}static build(e,t,r,o,s){let i=new $s(e,t,r,s);return i.openEnd=Ie.spans(o,t,r,i),i.openStart<0&&(i.openStart=i.openEnd),i.finish(i.openEnd),i}};function Hh(n,e){for(let t of e)n=new ar(t,[n],n.length);return n}var ed=class extends ro{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}},rT=le.define(),oT=le.define(),sT=le.define(),iT=le.define(),Gm=le.define(),lT=le.define(),aT=le.define(),cT=le.define({combine:n=>n.some(e=>e)}),uT=le.define({combine:n=>n.some(e=>e)}),al=class{constructor(e,t="nearest",r="nearest",o=5,s=5){this.range=e,this.y=t,this.x=r,this.yMargin=o,this.xMargin=s}map(e){return e.empty?this:new al(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}},C0=Ve.define({map:(n,e)=>n.map(e)});function Er(n,e,t){let r=n.facet(iT);r.length?r[0](e):window.onerror?window.onerror(String(e),t,void 0,void 0,e):t?console.error(t+":",e):console.error(e)}var id=le.define({combine:n=>n.length?n[0]:!0}),dO=0,Ya=le.define(),zn=class{constructor(e,t,r,o){this.id=e,this.create=t,this.domEventHandlers=r,this.extension=o(this)}static define(e,t){let{eventHandlers:r,provide:o,decorations:s}=t||{};return new zn(dO++,e,r,i=>{let l=[Ya.of(i)];return s&&l.push(oc.of(a=>{let c=a.plugin(i);return c?s(c):dt.none})),o&&l.push(o(i)),l})}static fromClass(e,t){return zn.define(r=>new e(r),t)}},tc=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(r){if(Er(t.state,r,"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(t){Er(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(r){Er(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},hT=le.define(),Cg=le.define(),oc=le.define(),wg=le.define(),dT=le.define();function fT(n){let e=0,t=0,r=0,o=0;for(let s of n.state.facet(dT)){let i=s(n);i&&(i.left!=null&&(e=Math.max(e,i.left)),i.right!=null&&(t=Math.max(t,i.right)),i.top!=null&&(r=Math.max(r,i.top)),i.bottom!=null&&(o=Math.max(o,i.bottom)))}return{left:e,right:t,top:r,bottom:o}}var Za=le.define(),an=class{constructor(e,t,r,o){this.fromA=e,this.toA=t,this.fromB=r,this.toB=o}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 t=e.length,r=this;for(;t>0;t--){let o=e[t-1];if(!(o.fromA>r.toA)){if(o.toA<r.fromA)break;r=r.join(o),e.splice(t-1,1)}}return e.splice(t,0,r),e}static extendWithRanges(e,t){if(t.length==0)return e;let r=[];for(let o=0,s=0,i=0,l=0;;o++){let a=o==e.length?null:e[o],c=i-l,u=a?a.fromB:1e9;for(;s<t.length&&t[s]<u;){let h=t[s],d=t[s+1],f=Math.max(l,h),p=Math.min(u,d);if(f<=p&&new an(f+c,p+c,f,p).addToSet(r),d>u)break;s+=2}if(!a)return r;new an(a.fromA,a.toA,a.fromB,a.toB).addToSet(r),i=a.toA,l=a.toB}}},cl=class{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=_e.empty(this.startState.doc.length);for(let s of r)this.changes=this.changes.compose(s.changes);let o=[];this.changes.iterChangedRanges((s,i,l,a)=>o.push(new an(s,i,l,a))),this.changedRanges=o}static create(e,t,r){return new cl(e,t,r)}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}},et=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(et||(et={})),qm=et.LTR,fO=et.RTL;function pT(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}var pO=pT("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),mO=pT("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),jm=Object.create(null),Tr=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);jm[e]=t,jm[t]=-e}function gO(n){return n<=247?pO[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?mO[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8203?256:64336<=n&&n<=65023?4:n==8204?256:1}var bO=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,No=class{constructor(e,t,r){this.from=e,this.to=t,this.level=r}get dir(){return this.level%2?fO:qm}side(e,t){return this.dir==t==e?this.to:this.from}static find(e,t,r,o){let s=-1;for(let i=0;i<e.length;i++){let l=e[i];if(l.from<=t&&l.to>=t){if(l.level==r)return i;(s<0||(o!=0?o<0?l.from<t:l.to>t:e[s].level>l.level))&&(s=i)}}if(s<0)throw new RangeError("Index out of range");return s}},Ue=[];function yO(n,e){let t=n.length,r=e==qm?1:2,o=e==qm?2:1;if(!n||r==1&&!bO.test(n))return mT(t);for(let i=0,l=r,a=r;i<t;i++){let c=gO(n.charCodeAt(i));c==512?c=l:c==8&&a==4&&(c=16),Ue[i]=c==4?2:c,c&7&&(a=c),l=c}for(let i=0,l=r,a=r;i<t;i++){let c=Ue[i];if(c==128)i<t-1&&l==Ue[i+1]&&l&24?c=Ue[i]=l:Ue[i]=256;else if(c==64){let u=i+1;for(;u<t&&Ue[u]==64;)u++;let h=i&&l==8||u<t&&Ue[u]==8?a==1?1:8:256;for(let d=i;d<u;d++)Ue[d]=h;i=u-1}else c==8&&a==1&&(Ue[i]=1);l=c,c&7&&(a=c)}for(let i=0,l=0,a=0,c,u,h;i<t;i++)if(u=jm[c=n.charCodeAt(i)])if(u<0){for(let d=l-3;d>=0;d-=3)if(Tr[d+1]==-u){let f=Tr[d+2],p=f&2?r:f&4?f&1?o:r:0;p&&(Ue[i]=Ue[Tr[d]]=p),l=d;break}}else{if(Tr.length==189)break;Tr[l++]=i,Tr[l++]=c,Tr[l++]=a}else if((h=Ue[i])==2||h==1){let d=h==r;a=d?0:1;for(let f=l-3;f>=0;f-=3){let p=Tr[f+2];if(p&2)break;if(d)Tr[f+2]|=2;else{if(p&4)break;Tr[f+2]|=4}}}for(let i=0;i<t;i++)if(Ue[i]==256){let l=i+1;for(;l<t&&Ue[l]==256;)l++;let a=(i?Ue[i-1]:r)==1,c=(l<t?Ue[l]:r)==1,u=a==c?a?1:2:r;for(let h=i;h<l;h++)Ue[h]=u;i=l-1}let s=[];if(r==1)for(let i=0;i<t;){let l=i,a=Ue[i++]!=1;for(;i<t&&a==(Ue[i]!=1);)i++;if(a)for(let c=i;c>l;){let u=c,h=Ue[--c]!=2;for(;c>l&&h==(Ue[c-1]!=2);)c--;s.push(new No(c,u,h?2:1))}else s.push(new No(l,i,0))}else for(let i=0;i<t;){let l=i,a=Ue[i++]==2;for(;i<t&&a==(Ue[i]==2);)i++;s.push(new No(l,i,a?1:2))}return s}function mT(n){return[new No(0,n,0)]}var gT="";function xO(n,e,t,r,o){var s;let i=r.head-n.from,l=-1;if(i==0){if(!o||!n.length)return null;e[0].level!=t&&(i=e[0].side(!1,t),l=0)}else if(i==n.length){if(o)return null;let d=e[e.length-1];d.level!=t&&(i=d.side(!0,t),l=e.length-1)}l<0&&(l=No.find(e,i,(s=r.bidiLevel)!==null&&s!==void 0?s:-1,r.assoc));let a=e[l];i==a.side(o,t)&&(a=e[l+=o?1:-1],i=a.side(!o,t));let c=o==(a.dir==t),u=Lt(n.text,i,c);if(gT=n.text.slice(Math.min(i,u),Math.max(i,u)),u!=a.side(o,t))return F.cursor(u+n.from,c?-1:1,a.level);let h=l==(o?e.length-1:0)?null:e[l+(o?1:-1)];return!h&&a.level!=t?F.cursor(o?n.to:n.from,o?-1:1,t):h&&h.level<a.level?F.cursor(h.side(!o,t)+n.from,o?1:-1,h.level):F.cursor(u+n.from,o?-1:1,a.level)}var td=class extends Me{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 St],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 t=e.changedRanges;this.minWidth>0&&t.length&&(t.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 r=this.view.inputState.composing<0?null:CO(this.view,e.changes);if(this.hasComposition){this.markedForComposition.clear();let{from:l,to:a}=this.hasComposition;t=new an(l,a,e.changes.mapPos(l,-1),e.changes.mapPos(a,1)).addToSet(t.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(te.ie||te.chrome)&&!r&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,s=this.updateDeco(),i=SO(o,s,e.changes);return t=an.extendWithRanges(t,i),!(this.flags&7)&&t.length==0?!1:(this.updateInner(t,e.startState.doc.length,r),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,r){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,r);let{observer:o}=this.view;o.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let i=te.chrome||te.ios?{node:o.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,i),this.flags&=-8,i&&(i.written||o.selectionRange.focusNode!=i.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(i=>i.flags&=-9);let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let i of this.children)i instanceof no&&i.widget instanceof nd&&s.push(i.dom);o.updateGaps(s)}updateChildren(e,t,r){let o=r?r.range.addToSet(e.slice()):e,s=this.childCursor(t);for(let i=o.length-1;;i--){let l=i>=0?o[i]:null;if(!l)break;let{fromA:a,toA:c,fromB:u,toB:h}=l,d,f,p,m;if(r&&r.range.fromB<h&&r.range.toB>u){let x=$s.build(this.view.state.doc,u,r.range.fromB,this.decorations,this.dynamicDecorationMap),w=$s.build(this.view.state.doc,r.range.toB,h,this.decorations,this.dynamicDecorationMap);f=x.breakAtStart,p=x.openStart,m=w.openEnd;let y=this.compositionView(r);w.breakAtStart?y.breakAfter=1:w.content.length&&y.merge(y.length,y.length,w.content[0],!1,w.openStart,0)&&(y.breakAfter=w.content[0].breakAfter,w.content.shift()),x.content.length&&y.merge(0,0,x.content[x.content.length-1],!0,0,x.openEnd)&&x.content.pop(),d=x.content.concat(y).concat(w.content)}else({content:d,breakAtStart:f,openStart:p,openEnd:m}=$s.build(this.view.state.doc,u,h,this.decorations,this.dynamicDecorationMap));let{i:g,off:b}=s.findPos(c,1),{i:C,off:v}=s.findPos(a,-1);Q0(this,C,v,g,b,d,f,p,m)}r&&this.fixCompositionDOM(r)}compositionView(e){let t=new Fn(e.text.nodeValue);t.flags|=8;for(let{deco:o}of e.marks)t=new ar(o,[t],t.length);let r=new St;return r.append(t,0),r}fixCompositionDOM(e){let t=(s,i)=>{i.flags|=8,this.markedForComposition.add(i);let l=Me.get(s);l!=i&&(l&&(l.dom=null),i.setDOM(s))},r=this.childPos(e.range.fromB,1),o=this.children[r.i];t(e.line,o);for(let s=e.marks.length-1;s>=-1;s--)r=o.childPos(r.off,1),o=o.children[r.i],t(s>=0?e.marks[s].node:e.text,o)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let r=this.view.root.activeElement,o=r==this.dom,s=!o&&_h(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(o||t||s))return;let i=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,a=this.domAtPos(l.anchor),c=l.empty?a:this.domAtPos(l.head);if(te.gecko&&l.empty&&!this.hasComposition&&vO(a)){let h=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(h,a.node.childNodes[a.offset]||null)),a=c=new Tt(h,0),i=!0}let u=this.view.observer.selectionRange;(i||!u.focusNode||!Qh(a.node,a.offset,u.anchorNode,u.anchorOffset)||!Qh(c.node,c.offset,u.focusNode,u.focusOffset))&&(this.view.observer.ignore(()=>{te.android&&te.chrome&&this.dom.contains(u.focusNode)&&TO(u.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let h=jh(this.view.root);if(h)if(l.empty){if(te.gecko){let d=wO(a.node,a.offset);if(d&&d!=3){let f=yT(a.node,a.offset,d==1?1:-1);f&&(a=new Tt(f,d==1?0:f.nodeValue.length))}}h.collapse(a.node,a.offset),l.bidiLevel!=null&&u.cursorBidiLevel!=null&&(u.cursorBidiLevel=l.bidiLevel)}else if(h.extend){h.collapse(a.node,a.offset);try{h.extend(c.node,c.offset)}catch{}}else{let d=document.createRange();l.anchor>l.head&&([a,c]=[c,a]),d.setEnd(c.node,c.offset),d.setStart(a.node,a.offset),h.removeAllRanges(),h.addRange(d)}s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(a,c)),this.impreciseAnchor=a.precise?null:new Tt(u.anchorNode,u.anchorOffset),this.impreciseHead=c.precise?null:new Tt(u.focusNode,u.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=jh(e.root),{anchorNode:o,anchorOffset:s}=e.observer.selectionRange;if(!r||!t.empty||!t.assoc||!r.modify)return;let i=St.find(this,t.head);if(!i)return;let l=i.posAtStart;if(t.head==l||t.head==l+i.length)return;let a=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!a||!c||a.bottom>c.top)return;let u=this.domAtPos(t.head+t.assoc);r.collapse(u.node,u.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&r.collapse(o,s)}nearest(e){for(let t=e;t;){let r=Me.get(t);if(r&&r.rootView==this)return r;t=t.parentNode}return null}posFromDOM(e,t){let r=this.nearest(e);if(!r)throw new RangeError("Trying to find position for a DOM position outside of the document");return r.localPosFromDOM(e,t)+r.posAtStart}domAtPos(e){let{i:t,off:r}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let o=this.children[t];if(r<o.length||o instanceof St)break;t++,r=0}return this.children[t].domAtPos(r)}coordsAt(e,t){for(let r=this.length,o=this.children.length-1;;o--){let s=this.children[o],i=r-s.breakAfter-s.length;if(e>i||e==i&&s.type!=tt.WidgetBefore&&s.type!=tt.WidgetAfter&&(!o||t==2||this.children[o-1].breakAfter||this.children[o-1].type==tt.WidgetBefore&&t>-2))return s.coordsAt(e-i,t);r=i}}coordsForChar(e){let{i:t,off:r}=this.childPos(e,1),o=this.children[t];if(!(o instanceof St))return null;for(;o.children.length;){let{i:l,off:a}=o.childPos(r,1);for(;;l++){if(l==o.children.length)return null;if((o=o.children[l]).length)break}r=a}if(!(o instanceof Fn))return null;let s=Lt(o.text,r);if(s==r)return null;let i=Ws(o.dom,r,s).getClientRects();return!i.length||i[0].top>=i[0].bottom?null:i[0]}measureVisibleLineHeights(e){let t=[],{from:r,to:o}=e,s=this.view.contentDOM.clientWidth,i=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==et.LTR;for(let c=0,u=0;u<this.children.length;u++){let h=this.children[u],d=c+h.length;if(d>o)break;if(c>=r){let f=h.dom.getBoundingClientRect();if(t.push(f.height),i){let p=h.dom.lastChild,m=p?rc(p):[];if(m.length){let g=m[m.length-1],b=a?g.right-f.left:f.right-g.left;b>l&&(l=b,this.minWidth=s,this.minWidthFrom=c,this.minWidthTo=d)}}}c=d+h.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?et.RTL:et.LTR}measureTextSize(){for(let s of this.children)if(s instanceof St){let i=s.measureTextSize();if(i)return i}let e=document.createElement("div"),t,r,o;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 s=rc(e.firstChild)[0];t=e.getBoundingClientRect().height,r=s?s.width/27:7,o=s?s.height:t,e.remove()}),{lineHeight:t,charWidth:r,textHeight:o}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Jh(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,o=0;;o++){let s=o==t.viewports.length?null:t.viewports[o],i=s?s.from-1:this.length;if(i>r){let l=t.lineBlockAt(i).bottom-t.lineBlockAt(r).top;e.push(dt.replace({widget:new nd(l),block:!0,inclusive:!0,isBlockGap:!0}).range(r,i))}if(!s)break;r=s.to+1}return dt.set(e)}updateDeco(){let e=this.view.state.facet(oc).map((t,r)=>(this.dynamicDecorationMap[r]=typeof t=="function")?t(this.view):t);for(let t=e.length;t<e.length+3;t++)this.dynamicDecorationMap[t]=!1;return this.decorations=[...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){let{range:t}=e,r=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),o;if(!r)return;!t.empty&&(o=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(r={left:Math.min(r.left,o.left),top:Math.min(r.top,o.top),right:Math.max(r.right,o.right),bottom:Math.max(r.bottom,o.bottom)});let s=fT(this.view),i={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom};rO(this.view.scrollDOM,i,t.head<t.anchor?-1:1,e.x,e.y,e.xMargin,e.yMargin,this.view.textDirection==et.LTR)}};function vO(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}var nd=class extends ro{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 bT(n){let e=n.observer.selectionRange,t=e.focusNode&&yT(e.focusNode,e.focusOffset,0);if(!t)return null;let r=Me.get(t),o,s;if(r instanceof Fn)o=r.posAtStart,s=o+r.length;else e:for(let i=0,l=t;;){for(let c=l.previousSibling,u;c;c=c.previousSibling){if(u=Me.get(c)){o=s=u.posAtEnd+i;break e}let h=new Yh([],n.state);if(h.readNode(c),h.text.indexOf(sl)>-1)return null;i+=h.text.length}if(l=l.parentNode,!l)return null;let a=Me.get(l);if(a){o=s=a.posAtStart+i;break}}return{from:o,to:s,node:t}}function CO(n,e){let t=bT(n);if(!t)return null;let{from:r,to:o,node:s}=t,i=e.mapPos(r,-1),l=e.mapPos(o,1),a=s.nodeValue;if(/[\n\r]/.test(a))return null;if(l-i!=a.length){let d=e.mapPos(r,1),f=e.mapPos(o,-1);if(f-d==a.length)i=d,l=f;else if(n.state.doc.sliceString(l-a.length,l)==a)i=l-a.length;else if(n.state.doc.sliceString(i,i+a.length)==a)l=i+a.length;else return null}let{main:c}=n.state.selection;if(n.state.doc.sliceString(i,l)!=a||i>c.head||l<c.head)return null;let u=[],h=new an(r,o,i,l);for(let d=s.parentNode;;d=d.parentNode){let f=Me.get(d);if(f instanceof ar)u.push({node:d,deco:f.mark});else{if(f instanceof St||d.nodeName=="DIV"&&d.parentNode==n.contentDOM)return{range:h,text:s,marks:u,line:d};if(d!=n.contentDOM)u.push({node:d,deco:new _s({inclusive:!0,attributes:uO(d),tagName:d.tagName.toLowerCase()})});else return null}}}function yT(n,e,t){if(t<=0)for(let r=n,o=e;;){if(r.nodeType==3)return r;if(r.nodeType==1&&o>0)r=r.childNodes[o-1],o=Ho(r);else break}if(t>=0)for(let r=n,o=e;;){if(r.nodeType==3)return r;if(r.nodeType==1&&o<r.childNodes.length&&t>=0)r=r.childNodes[o],o=0;else break}return null}function wO(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e<n.childNodes.length&&n.childNodes[e].contentEditable=="false"?2:0)}var Qm=class{constructor(){this.changes=[]}compareRange(e,t){Um(e,t,this.changes)}comparePoint(e,t){Um(e,t,this.changes)}};function SO(n,e,t){let r=new Qm;return Ie.compare(n,e,t,r),r.changes}function TO(n,e){for(let t=n;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function EO(n,e,t=1){let r=n.charCategorizer(e),o=n.doc.lineAt(e),s=e-o.from;if(o.length==0)return F.cursor(e);s==0?t=1:s==o.length&&(t=-1);let i=s,l=s;t<0?i=Lt(o.text,s,!1):l=Lt(o.text,s);let a=r(o.text.slice(i,l));for(;i>0;){let c=Lt(o.text,i,!1);if(r(o.text.slice(c,i))!=a)break;i=c}for(;l<o.length;){let c=Lt(o.text,l);if(r(o.text.slice(l,c))!=a)break;l=c}return F.range(i+o.from,l+o.from)}function RO(n,e){return e.left>n?e.left-n:Math.max(0,n-e.right)}function DO(n,e){return e.top>n?e.top-n:Math.max(0,n-e.bottom)}function Om(n,e){return n.top<e.bottom-1&&n.bottom>e.top+1}function w0(n,e){return e<n.top?{top:e,left:n.left,right:n.right,bottom:n.bottom}:n}function S0(n,e){return e>n.bottom?{top:n.top,left:n.left,right:n.right,bottom:e}:n}function Xm(n,e,t){let r,o,s,i,l=!1,a,c,u,h;for(let p=n.firstChild;p;p=p.nextSibling){let m=rc(p);for(let g=0;g<m.length;g++){let b=m[g];o&&Om(o,b)&&(b=w0(S0(b,o.bottom),o.top));let C=RO(e,b),v=DO(t,b);if(C==0&&v==0)return p.nodeType==3?T0(p,e,t):Xm(p,e,t);if(!r||i>v||i==v&&s>C){r=p,o=b,s=C,i=v;let x=v?t<b.top?-1:1:C?e<b.left?-1:1:0;l=!x||(x>0?g<m.length-1:g>0)}C==0?t>b.bottom&&(!u||u.bottom<b.bottom)?(a=p,u=b):t<b.top&&(!h||h.top>b.top)&&(c=p,h=b):u&&Om(u,b)?u=S0(u,b.bottom):h&&Om(h,b)&&(h=w0(h,b.top))}}if(u&&u.bottom>=t?(r=a,o=u):h&&h.top<=t&&(r=c,o=h),!r)return{node:n,offset:0};let d=Math.max(o.left,Math.min(o.right,e));if(r.nodeType==3)return T0(r,d,t);if(l&&r.contentEditable!="false")return Xm(r,d,t);let f=Array.prototype.indexOf.call(n.childNodes,r)+(e>=(o.left+o.right)/2?1:0);return{node:n,offset:f}}function T0(n,e,t){let r=n.nodeValue.length,o=-1,s=1e9,i=0;for(let l=0;l<r;l++){let a=Ws(n,l,l+1).getClientRects();for(let c=0;c<a.length;c++){let u=a[c];if(u.top==u.bottom)continue;i||(i=e-u.left);let h=(u.top>t?u.top-t:t-u.bottom)-1;if(u.left-1<=e&&u.right+1>=e&&h<s){let d=e>=(u.left+u.right)/2,f=d;if((te.chrome||te.gecko)&&Ws(n,l).getBoundingClientRect().left==u.right&&(f=!d),h<=0)return{node:n,offset:l+(f?1:0)};o=l+(f?1:0),s=h}}}return{node:n,offset:o>-1?o:i>0?n.nodeValue.length:0}}function xT(n,e,t,r=-1){var o,s;let i=n.contentDOM.getBoundingClientRect(),l=i.top+n.viewState.paddingTop,a,{docHeight:c}=n.viewState,{x:u,y:h}=e,d=h-l;if(d<0)return 0;if(d>c)return n.state.doc.length;for(let x=n.viewState.heightOracle.textHeight/2,w=!1;a=n.elementAtHeight(d),a.type!=tt.Text;)for(;d=r>0?a.bottom+x:a.top-x,!(d>=0&&d<=c);){if(w)return t?null:0;w=!0,r=-r}h=l+d;let f=a.from;if(f<n.viewport.from)return n.viewport.from==0?0:t?null:E0(n,i,a,u,h);if(f>n.viewport.to)return n.viewport.to==n.state.doc.length?n.state.doc.length:t?null:E0(n,i,a,u,h);let p=n.dom.ownerDocument,m=n.root.elementFromPoint?n.root:p,g=m.elementFromPoint(u,h);g&&!n.contentDOM.contains(g)&&(g=null),g||(u=Math.max(i.left+1,Math.min(i.right-1,u)),g=m.elementFromPoint(u,h),g&&!n.contentDOM.contains(g)&&(g=null));let b,C=-1;if(g&&((o=n.docView.nearest(g))===null||o===void 0?void 0:o.isEditable)!=!1){if(p.caretPositionFromPoint){let x=p.caretPositionFromPoint(u,h);x&&({offsetNode:b,offset:C}=x)}else if(p.caretRangeFromPoint){let x=p.caretRangeFromPoint(u,h);x&&({startContainer:b,startOffset:C}=x,(!n.contentDOM.contains(b)||te.safari&&kO(b,C,u)||te.chrome&&MO(b,C,u))&&(b=void 0))}}if(!b||!n.docView.dom.contains(b)){let x=St.find(n.docView,f);if(!x)return d>a.top+a.height/2?a.to:a.from;({node:b,offset:C}=Xm(x.dom,u,h))}let v=n.docView.nearest(b);if(!v)return null;if(v.isWidget&&((s=v.dom)===null||s===void 0?void 0:s.nodeType)==1){let x=v.dom.getBoundingClientRect();return e.y<x.top||e.y<=x.bottom&&e.x<=(x.left+x.right)/2?v.posAtStart:v.posAtEnd}else return v.localPosFromDOM(b,C)+v.posAtStart}function E0(n,e,t,r,o){let s=Math.round((r-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let l=n.viewState.heightOracle.textHeight,a=Math.floor((o-t.top-(n.defaultLineHeight-l)*.5)/l);s+=a*n.viewState.heightOracle.lineLength}let i=n.state.sliceDoc(t.from,t.to);return t.from+a0(i,s,n.state.tabSize)}function kO(n,e,t){let r;if(n.nodeType!=3||e!=(r=n.nodeValue.length))return!1;for(let o=n.nextSibling;o;o=o.nextSibling)if(o.nodeType!=1||o.nodeName!="BR")return!1;return Ws(n,r-1,r).getBoundingClientRect().left>t}function MO(n,e,t){if(e!=0)return!1;for(let o=n;;){let s=o.parentNode;if(!s||s.nodeType!=1||s.firstChild!=o)return!1;if(s.classList.contains("cm-line"))break;o=s}let r=n.nodeType==1?n.getBoundingClientRect():Ws(n,0,Math.max(n.nodeValue.length,1)).getBoundingClientRect();return t-r.left>5}function Jm(n,e){let t=n.lineBlockAt(e);if(Array.isArray(t.type)){for(let r of t.type)if(r.to>e||r.to==e&&(r.to==t.to||r.type==tt.Text))return r}return t}function PO(n,e,t,r){let o=Jm(n,e.head),s=!r||o.type!=tt.Text||!(n.lineWrapping||o.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>o.from?e.head-1:e.head);if(s){let i=n.dom.getBoundingClientRect(),l=n.textDirectionAt(o.from),a=n.posAtCoords({x:t==(l==et.LTR)?i.right-1:i.left+1,y:(s.top+s.bottom)/2});if(a!=null)return F.cursor(a,t?-1:1)}return F.cursor(t?o.to:o.from,t?-1:1)}function R0(n,e,t,r){let o=n.state.doc.lineAt(e.head),s=n.bidiSpans(o),i=n.textDirectionAt(o.from);for(let l=e,a=null;;){let c=xO(o,s,i,l,t),u=gT;if(!c){if(o.number==(t?n.state.doc.lines:1))return l;u=`
26
+ `,o=n.state.doc.line(o.number+(t?1:-1)),s=n.bidiSpans(o),c=F.cursor(t?o.from:o.to)}if(a){if(!a(u))return l}else{if(!r)return c;a=r(u)}l=c}}function IO(n,e,t){let r=n.state.charCategorizer(e),o=r(t);return s=>{let i=r(s);return o==qt.Space&&(o=i),o==i}}function AO(n,e,t,r){let o=e.head,s=t?1:-1;if(o==(t?n.state.doc.length:0))return F.cursor(o,e.assoc);let i=e.goalColumn,l,a=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(o),u=n.documentTop;if(c)i==null&&(i=c.left-a.left),l=s<0?c.top:c.bottom;else{let f=n.viewState.lineBlockAt(o);i==null&&(i=Math.min(a.right-a.left,n.defaultCharacterWidth*(o-f.from))),l=(s<0?f.top:f.bottom)+u}let h=a.left+i,d=r!=null?r:n.viewState.heightOracle.textHeight>>1;for(let f=0;;f+=10){let p=l+(d+f)*s,m=xT(n,{x:h,y:p},!1,s);if(p<a.top||p>a.bottom||(s<0?m<o:m>o))return F.cursor(m,e.assoc,void 0,i)}}function Kh(n,e,t){for(;;){let r=0;for(let o of n)o.between(e-1,e+1,(s,i,l)=>{if(e>s&&e<i){let a=r||t||(e-s<i-e?-1:1);e=a<0?s:i,r=a}});if(!r)return e}}function Nm(n,e,t){let r=Kh(n.state.facet(wg).map(o=>o(n)),t.from,e.head>t.from?-1:1);return r==t.from?t:F.cursor(r,r<t.from?1:-1)}var Ym=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 t=(r,o)=>{this.ignoreDuringComposition(o)||o.type=="keydown"&&this.keydown(e,o)||(this.mustFlushObserver(o)&&e.observer.forceFlush(),this.runCustomHandlers(o.type,e,o)?o.preventDefault():r(e,o))};for(let r in st){let o=st[r];e.contentDOM.addEventListener(r,s=>{D0(e,s)&&t(o,s)},eg[r]),this.registeredEvents.push(r)}e.scrollDOM.addEventListener("mousedown",r=>{if(r.target==e.scrollDOM&&r.clientY>e.contentDOM.getBoundingClientRect().bottom&&(t(st.mousedown,r),!r.defaultPrevented&&r.button==2)){let o=e.contentDOM.style.minHeight;e.contentDOM.style.minHeight="100%",setTimeout(()=>e.contentDOM.style.minHeight=o,200)}}),e.scrollDOM.addEventListener("drop",r=>{r.target==e.scrollDOM&&r.clientY>e.contentDOM.getBoundingClientRect().bottom&&t(st.drop,r)}),te.chrome&&te.chrome_version==102&&e.scrollDOM.addEventListener("wheel",()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout(()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=e.hasFocus,te.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,t){var r;let o;this.customHandlers=[];for(let s of t)if(o=(r=s.update(e).spec)===null||r===void 0?void 0:r.domEventHandlers){this.customHandlers.push({plugin:s.value,handlers:o});for(let i in o)this.registeredEvents.indexOf(i)<0&&i!="scroll"&&(this.registeredEvents.push(i),e.contentDOM.addEventListener(i,l=>{D0(e,l)&&this.runCustomHandlers(i,e,l)&&l.preventDefault()}))}}runCustomHandlers(e,t,r){for(let o of this.customHandlers){let s=o.handlers[e];if(s)try{if(s.call(o.plugin,r,t)||r.defaultPrevented)return!0}catch(i){Er(t.state,i)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let r of this.customHandlers){let o=r.handlers.scroll;if(o)try{o.call(r.plugin,t,e)}catch(s){Er(e.state,s)}}}keydown(e,t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&Date.now()<this.lastEscPress+2e3)return!0;if(t.keyCode!=27&&CT.indexOf(t.keyCode)<0&&(e.inputState.lastEscPress=0),te.android&&te.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return e.observer.delayAndroidKey(t.key,t.keyCode),!0;let r;return te.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&((r=vT.find(o=>o.keyCode==t.keyCode))&&!t.ctrlKey||LO.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(this.pendingIOSKey=r||t,setTimeout(()=>this.flushIOSKey(e),250),!0):!1}flushIOSKey(e){let t=this.pendingIOSKey;return t?(this.pendingIOSKey=void 0,ll(e.contentDOM,t.key,t.keyCode)):!1}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:te.safari&&!te.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}mustFlushObserver(e){return e.type=="keydown"&&e.keyCode!=229}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}},vT=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],LO="dthko",CT=[16,17,18,20,91,92,224,225],Vh=6;function Bh(n){return Math.max(0,n)*.7+8}function OO(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}var Zm=class{constructor(e,t,r,o){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=o,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=oO(e.contentDOM),this.atoms=e.state.facet(wg).map(i=>i(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(Se.allowMultipleSelections)&&NO(e,t),this.dragging=VO(e,t)&&ET(t)==1?null:!1}start(e){this.dragging===!1&&(e.preventDefault(),this.select(e))}move(e){var t;if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&OO(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let r=0,o=0,s=((t=this.scrollParent)===null||t===void 0?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},i=fT(this.view);e.clientX-i.left<=s.left+Vh?r=-Bh(s.left-e.clientX):e.clientX+i.right>=s.right-Vh&&(r=Bh(e.clientX-s.right)),e.clientY-i.top<=s.top+Vh?o=-Bh(s.top-e.clientY):e.clientY+i.bottom>=s.bottom-Vh&&(o=Bh(e.clientY-s.bottom)),this.setScrollSpeed(r,o)}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,t){this.scrollSpeed={x:e,y:t},e||t?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 t=null;for(let r=0;r<e.ranges.length;r++){let o=e.ranges[r],s=null;if(o.empty){let i=Kh(this.atoms,o.from,0);i!=o.from&&(s=F.cursor(i,-1))}else{let i=Kh(this.atoms,o.from,-1),l=Kh(this.atoms,o.to,1);(i!=o.from||l!=o.to)&&(s=F.range(o.from==o.anchor?i:l,o.from==o.head?i:l))}s&&(t||(t=e.ranges.slice()),t[r]=s)}return t?F.create(t,e.mainIndex):e}select(e){let{view:t}=this,r=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection)||r.main.assoc!=t.state.selection.main.assoc&&this.dragging===!1)&&this.view.dispatch({selection:r,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 NO(n,e){let t=n.state.facet(rT);return t.length?t[0](e):te.mac?e.metaKey:e.ctrlKey}function HO(n,e){let t=n.state.facet(oT);return t.length?t[0](e):te.mac?!e.altKey:!e.ctrlKey}function VO(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let r=jh(n.root);if(!r||r.rangeCount==0)return!0;let o=r.getRangeAt(0).getClientRects();for(let s=0;s<o.length;s++){let i=o[s];if(i.left<=e.clientX&&i.right>=e.clientX&&i.top<=e.clientY&&i.bottom>=e.clientY)return!0}return!1}function D0(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,r;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(r=Me.get(t))&&r.ignoreEvent(e))return!1;return!0}var st=Object.create(null),eg=Object.create(null),wT=te.ie&&te.ie_version<15||te.ios&&te.webkit_version<604;function BO(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),ST(n,t.value)},50)}function ST(n,e){let{state:t}=n,r,o=1,s=t.toText(e),i=s.lines==t.selection.ranges.length;if(tg!=null&&t.selection.ranges.every(a=>a.empty)&&tg==s.toString()){let a=-1;r=t.changeByRange(c=>{let u=t.doc.lineAt(c.from);if(u.from==a)return{range:c};a=u.from;let h=t.toText((i?s.line(o++).text:e)+t.lineBreak);return{changes:{from:u.from,insert:h},range:F.cursor(c.from+h.length)}})}else i?r=t.changeByRange(a=>{let c=s.line(o++);return{changes:{from:a.from,to:a.to,insert:c.text},range:F.cursor(a.from+c.length)}}):r=t.replaceSelection(s);n.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}st.keydown=(n,e)=>{n.inputState.setSelectionOrigin("select"),e.keyCode==27&&(n.inputState.lastEscPress=Date.now())};st.touchstart=(n,e)=>{n.inputState.lastTouchTime=Date.now(),n.inputState.setSelectionOrigin("select.pointer")};st.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};eg.touchstart=eg.touchmove={passive:!0};st.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return;let t=null;for(let r of n.state.facet(sT))if(t=r(n,e),t)break;if(!t&&e.button==0&&(t=$O(n,e)),t){let r=!n.hasFocus;n.inputState.startMouseSelection(new Zm(n,e,t,r)),r&&n.observer.ignore(()=>G0(n.contentDOM)),n.inputState.mouseSelection&&n.inputState.mouseSelection.start(e)}};function k0(n,e,t,r){if(r==1)return F.cursor(e,t);if(r==2)return EO(n.state,e,t);{let o=St.find(n.docView,e),s=n.state.doc.lineAt(o?o.posAtEnd:e),i=o?o.posAtStart:s.from,l=o?o.posAtEnd:s.to;return l<n.state.doc.length&&l==s.to&&l++,F.range(i,l)}}var TT=(n,e)=>n>=e.top&&n<=e.bottom,M0=(n,e,t)=>TT(e,t)&&n>=t.left&&n<=t.right;function FO(n,e,t,r){let o=St.find(n.docView,e);if(!o)return 1;let s=e-o.posAtStart;if(s==0)return 1;if(s==o.length)return-1;let i=o.coordsAt(s,-1);if(i&&M0(t,r,i))return-1;let l=o.coordsAt(s,1);return l&&M0(t,r,l)?1:i&&TT(r,i)?-1:1}function P0(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:FO(n,t,e.clientX,e.clientY)}}var zO=te.ie&&te.ie_version<=11,I0=null,A0=0,L0=0;function ET(n){if(!zO)return n.detail;let e=I0,t=L0;return I0=n,L0=Date.now(),A0=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(A0+1)%3:1}function $O(n,e){let t=P0(n,e),r=ET(e),o=n.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),o=o.map(s.changes))},get(s,i,l){let a=P0(n,s),c,u=k0(n,a.pos,a.bias,r);if(t.pos!=a.pos&&!i){let h=k0(n,t.pos,t.bias,r),d=Math.min(h.from,u.from),f=Math.max(h.to,u.to);u=d<u.from?F.range(d,f):F.range(f,d)}return i?o.replaceRange(o.main.extend(u.from,u.to)):l&&r==1&&o.ranges.length>1&&(c=WO(o,a.pos))?c:l?o.addRange(u):F.create([u])}}}function WO(n,e){for(let t=0;t<n.ranges.length;t++){let{from:r,to:o}=n.ranges[t];if(r<=e&&o>=e)return F.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}st.dragstart=(n,e)=>{let{selection:{main:t}}=n.state,{mouseSelection:r}=n.inputState;r&&(r.dragging=t),e.dataTransfer&&(e.dataTransfer.setData("Text",n.state.sliceDoc(t.from,t.to)),e.dataTransfer.effectAllowed="copyMove")};function O0(n,e,t,r){if(!t)return;let o=n.posAtCoords({x:e.clientX,y:e.clientY},!1);e.preventDefault();let{mouseSelection:s}=n.inputState,i=r&&s&&s.dragging&&HO(n,e)?{from:s.dragging.from,to:s.dragging.to}:null,l={from:o,insert:t},a=n.state.changes(i?[i,l]:l);n.focus(),n.dispatch({changes:a,selection:{anchor:a.mapPos(o,-1),head:a.mapPos(o,1)},userEvent:i?"move.drop":"input.drop"})}st.drop=(n,e)=>{if(!e.dataTransfer)return;if(n.state.readOnly)return e.preventDefault();let t=e.dataTransfer.files;if(t&&t.length){e.preventDefault();let r=Array(t.length),o=0,s=()=>{++o==t.length&&O0(n,e,r.filter(i=>i!=null).join(n.state.lineBreak),!1)};for(let i=0;i<t.length;i++){let l=new FileReader;l.onerror=s,l.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(l.result)||(r[i]=l.result),s()},l.readAsText(t[i])}}else O0(n,e,e.dataTransfer.getData("Text"),!0)};st.paste=(n,e)=>{if(n.state.readOnly)return e.preventDefault();n.observer.flush();let t=wT?null:e.clipboardData;t?(ST(n,t.getData("text/plain")||t.getData("text/uri-text")),e.preventDefault()):BO(n)};function _O(n,e){let t=n.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),n.focus()},50)}function KO(n){let e=[],t=[],r=!1;for(let o of n.selection.ranges)o.empty||(e.push(n.sliceDoc(o.from,o.to)),t.push(o));if(!e.length){let o=-1;for(let{from:s}of n.selection.ranges){let i=n.doc.lineAt(s);i.number>o&&(e.push(i.text),t.push({from:i.from,to:Math.min(n.doc.length,i.to+1)})),o=i.number}r=!0}return{text:e.join(n.lineBreak),ranges:t,linewise:r}}var tg=null;st.copy=st.cut=(n,e)=>{let{text:t,ranges:r,linewise:o}=KO(n.state);if(!t&&!o)return;tg=o?t:null;let s=wT?null:e.clipboardData;s?(e.preventDefault(),s.clearData(),s.setData("text/plain",t)):_O(n,t),e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"})};var RT=Sn.define();function DT(n,e){let t=[];for(let r of n.facet(aT)){let o=r(n,e);o&&t.push(o)}return t?n.update({effects:t,annotations:RT.of(!0)}):null}function kT(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=DT(n.state,e);t?n.dispatch(t):n.update([])}},10)}st.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),kT(n)};st.blur=n=>{n.observer.clearSelectionRange(),kT(n)};st.compositionstart=st.compositionupdate=n=>{n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0)};st.compositionend=n=>{n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,te.chrome&&te.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50)};st.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};st.beforeinput=(n,e)=>{var t;let r;if(te.chrome&&te.android&&(r=vT.find(o=>o.inputType==e.inputType))&&(n.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let o=((t=window.visualViewport)===null||t===void 0?void 0:t.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>o+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}};var N0=["pre-wrap","normal","pre-line","break-spaces"],ng=class{constructor(e){this.lineWrapping=e,this.doc=xe.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}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 N0.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r<e.length;r++){let o=e[r];o<0?r++:this.heightSamples[Math.floor(o*10)]||(t=!0,this.heightSamples[Math.floor(o*10)]=!0)}return t}refresh(e,t,r,o,s,i){let l=N0.indexOf(e)>-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=t,this.charWidth=r,this.textHeight=o,this.lineLength=s,a){this.heightSamples={};for(let c=0;c<i.length;c++){let u=i[c];u<0?c++:this.heightSamples[Math.floor(u*10)]=!0}}return a}},rg=class{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}},Bn=class{constructor(e,t,r,o,s){this.from=e,this.length=t,this.top=r,this.height=o,this._content=s}get type(){return typeof this._content=="number"?tt.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 Rr?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Bn(this.from,this.length+e.length,this.top,this.height+e.height,t)}},Be=function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n}(Be||(Be={})),Uh=.001,Et=class{constructor(e,t,r=2){this.length=e,this.height=t,this.flags=r}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>Uh&&(e.heightChanged=!0),this.height=t)}replace(e,t,r){return Et.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,o){let s=this,i=r.doc;for(let l=o.length-1;l>=0;l--){let{fromA:a,toA:c,fromB:u,toB:h}=o[l],d=s.lineAt(a,Be.ByPosNoHeight,r.setDoc(t),0,0),f=d.to>=c?d:s.lineAt(c,Be.ByPosNoHeight,r,0,0);for(h+=f.to-c,c=f.to;l>0&&d.from<=o[l-1].toA;)a=o[l-1].fromA,u=o[l-1].fromB,l--,a<d.from&&(d=s.lineAt(a,Be.ByPosNoHeight,r,0,0));u+=d.from-a,a=d.from;let p=sc.build(r.setDoc(i),e,u,h);s=s.replace(a,c,p)}return s.updateHeight(r,0)}static empty(){return new Qt(0,0)}static of(e){if(e.length==1)return e[0];let t=0,r=e.length,o=0,s=0;for(;;)if(t==r)if(o>s*2){let l=e[t-1];l.break?e.splice(--t,1,l.left,null,l.right):e.splice(--t,1,l.left,l.right),r+=1+l.break,o-=l.size}else if(s>o*2){let l=e[r];l.break?e.splice(r,1,l.left,null,l.right):e.splice(r,1,l.left,l.right),r+=2+l.break,s-=l.size}else break;else if(o<s){let l=e[t++];l&&(o+=l.size)}else{let l=e[--r];l&&(s+=l.size)}let i=0;return e[t-1]==null?(i=1,t--):e[t]==null&&(i=1,r++),new og(Et.of(e.slice(0,t)),i,Et.of(e.slice(r)))}};Et.prototype.size=1;var rd=class extends Et{constructor(e,t,r){super(e,t),this.deco=r}blockAt(e,t,r,o){return new Bn(o,this.length,r,this.height,this.deco||0)}lineAt(e,t,r,o,s){return this.blockAt(0,r,o,s)}forEachLine(e,t,r,o,s,i){e<=s+this.length&&t>=s&&i(this.blockAt(0,r,o,s))}updateHeight(e,t=0,r=!1,o){return o&&o.from<=t&&o.more&&this.setHeight(e,o.heights[o.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},Qt=class extends rd{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,r,o){return new Bn(o,this.length,r,this.height,this.breaks)}replace(e,t,r){let o=r[0];return r.length==1&&(o instanceof Qt||o instanceof ht&&o.flags&4)&&Math.abs(this.length-o.length)<10?(o instanceof ht?o=new Qt(o.length,this.height):o.height=this.height,this.outdated||(o.outdated=!1),o):Et.of(r)}updateHeight(e,t=0,r=!1,o){return o&&o.from<=t&&o.more?this.setHeight(e,o.heights[o.index++]):(r||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:""})`}},ht=class extends Et{constructor(e){super(e,0)}heightMetrics(e,t){let r=e.doc.lineAt(t).number,o=e.doc.lineAt(t+this.length).number,s=o-r+1,i,l=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*s);i=a/s,this.length>s+1&&(l=(this.height-a)/(this.length-s-1))}else i=this.height/s;return{firstLine:r,lastLine:o,perLine:i,perChar:l}}blockAt(e,t,r,o){let{firstLine:s,lastLine:i,perLine:l,perChar:a}=this.heightMetrics(t,o);if(t.lineWrapping){let c=o+Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length),u=t.doc.lineAt(c),h=l+u.length*a,d=Math.max(r,e-h/2);return new Bn(u.from,u.length,d,h,0)}else{let c=Math.max(0,Math.min(i-s,Math.floor((e-r)/l))),{from:u,length:h}=t.doc.line(s+c);return new Bn(u,h,r+l*c,l,0)}}lineAt(e,t,r,o,s){if(t==Be.ByHeight)return this.blockAt(e,r,o,s);if(t==Be.ByPosNoHeight){let{from:f,to:p}=r.doc.lineAt(e);return new Bn(f,p-f,0,0,0)}let{firstLine:i,perLine:l,perChar:a}=this.heightMetrics(r,s),c=r.doc.lineAt(e),u=l+c.length*a,h=c.number-i,d=o+l*h+a*(c.from-s-h);return new Bn(c.from,c.length,Math.max(o,Math.min(d,o+this.height-u)),u,0)}forEachLine(e,t,r,o,s,i){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:l,perLine:a,perChar:c}=this.heightMetrics(r,s);for(let u=e,h=o;u<=t;){let d=r.doc.lineAt(u);if(u==e){let p=d.number-l;h+=a*p+c*(e-s-p)}let f=a+c*d.length;i(new Bn(d.from,d.length,h,f,0)),h+=f,u=d.to+1}}replace(e,t,r){let o=this.length-t;if(o>0){let s=r[r.length-1];s instanceof ht?r[r.length-1]=new ht(s.length+o):r.push(null,new ht(o-1))}if(e>0){let s=r[0];s instanceof ht?r[0]=new ht(e+s.length):r.unshift(new ht(e-1),null)}return Et.of(r)}decomposeLeft(e,t){t.push(new ht(e-1),null)}decomposeRight(e,t){t.push(null,new ht(this.length-e-1))}updateHeight(e,t=0,r=!1,o){let s=t+this.length;if(o&&o.from<=t+this.length&&o.more){let i=[],l=Math.max(t,o.from),a=-1;for(o.from>t&&i.push(new ht(o.from-t-1).updateHeight(e,t));l<=s&&o.more;){let u=e.doc.lineAt(l).length;i.length&&i.push(null);let h=o.heights[o.index++];a==-1?a=h:Math.abs(h-a)>=Uh&&(a=-2);let d=new Qt(u,h);d.outdated=!1,i.push(d),l+=u+1}l<=s&&i.push(null,new ht(s-l).updateHeight(e,l));let c=Et.of(i);return(a<0||Math.abs(c.height-this.height)>=Uh||Math.abs(a-this.heightMetrics(e,t).perLine)>=Uh)&&(e.heightChanged=!0),c}else(r||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},og=class extends Et{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,t,r,o){let s=r+this.left.height;return e<s?this.left.blockAt(e,t,r,o):this.right.blockAt(e,t,s,o+this.left.length+this.break)}lineAt(e,t,r,o,s){let i=o+this.left.height,l=s+this.left.length+this.break,a=t==Be.ByHeight?e<i:e<l,c=a?this.left.lineAt(e,t,r,o,s):this.right.lineAt(e,t,r,i,l);if(this.break||(a?c.to<l:c.from>l))return c;let u=t==Be.ByPosNoHeight?Be.ByPosNoHeight:Be.ByPos;return a?c.join(this.right.lineAt(l,u,r,i,l)):this.left.lineAt(l,u,r,o,s).join(c)}forEachLine(e,t,r,o,s,i){let l=o+this.left.height,a=s+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,t,r,o,s,i),t>=a&&this.right.forEachLine(e,t,r,l,a,i);else{let c=this.lineAt(a,Be.ByPos,r,o,s);e<c.from&&this.left.forEachLine(e,c.from-1,r,o,s,i),c.to>=e&&c.from<=t&&i(c),t>c.to&&this.right.forEachLine(c.to+1,t,r,l,a,i)}}replace(e,t,r){let o=this.left.length+this.break;if(t<o)return this.balanced(this.left.replace(e,t,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-o,t-o,r));let s=[];e>0&&this.decomposeLeft(e,s);let i=s.length;for(let l of r)s.push(l);if(e>0&&H0(s,i-1),t<this.length){let l=s.length;this.decomposeRight(t,s),H0(s,l)}return Et.of(s)}decomposeLeft(e,t){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(r++,e>=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,o=r+this.break;if(e>=o)return this.right.decomposeRight(e-o,t);e<r&&this.left.decomposeRight(e,t),this.break&&e<o&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Et.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,r=!1,o){let{left:s,right:i}=this,l=t+s.length+this.break,a=null;return o&&o.from<=t+s.length&&o.more?a=s=s.updateHeight(e,t,r,o):s.updateHeight(e,t,r),o&&o.from<=l+i.length&&o.more?a=i=i.updateHeight(e,l,r,o):i.updateHeight(e,l,r),a?this.balanced(s,i):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function H0(n,e){let t,r;n[e]==null&&(t=n[e-1])instanceof ht&&(r=n[e+1])instanceof ht&&n.splice(e-1,3,new ht(t.length+1+r.length))}var UO=5,sc=class{constructor(e,t){this.pos=e,this.oracle=t,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,t){if(this.lineStart>-1){let r=Math.min(t,this.lineEnd),o=this.nodes[this.nodes.length-1];o instanceof Qt?o.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new Qt(r-this.pos,-1)),this.writtenTo=r,t>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e<t||r.heightRelevant){let o=r.widget?r.widget.estimatedHeight:0,s=r.widget?r.widget.lineBreaks:0;o<0&&(o=this.oracle.lineHeight);let i=t-e;r.block?this.addBlock(new rd(i,o,r)):(i||s||o>=UO)&&this.addLineDeco(o,s,i)}else t>e&&this.span(e,t);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:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,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 Qt(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let r=new ht(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Qt)return e;let t=new Qt(0,-1);return this.nodes.push(t),t}addBlock(e){var t;this.enterLine();let r=(t=e.deco)===null||t===void 0?void 0:t.type;r==tt.WidgetAfter&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,r!=tt.WidgetBefore&&(this.covering=e)}addLineDeco(e,t,r){let o=this.ensureLine();o.length+=r,o.collapsed+=r,o.widgetHeight=Math.max(o.widgetHeight,e),o.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof Qt)&&!this.isCovered?this.nodes.push(new Qt(0,-1)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let r=e;for(let o of this.nodes)o instanceof Qt&&o.updateHeight(this.oracle,r),r+=o?o.length:1;return this.nodes}static build(e,t,r,o){let s=new sc(r,e);return Ie.spans(t,r,o,s,0),s.finish(r)}};function GO(n,e,t){let r=new sg;return Ie.compare(n,e,t,r,0),r.changes}var sg=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,o){(e<t||r&&r.heightRelevant||o&&o.heightRelevant)&&Um(e,t,this.changes,5)}};function qO(n,e){let t=n.getBoundingClientRect(),r=n.ownerDocument,o=r.defaultView||window,s=Math.max(0,t.left),i=Math.min(o.innerWidth,t.right),l=Math.max(0,t.top),a=Math.min(o.innerHeight,t.bottom);for(let c=n.parentNode;c&&c!=r.body;)if(c.nodeType==1){let u=c,h=window.getComputedStyle(u);if((u.scrollHeight>u.clientHeight||u.scrollWidth>u.clientWidth)&&h.overflow!="visible"){let d=u.getBoundingClientRect();s=Math.max(s,d.left),i=Math.min(i,d.right),l=Math.max(l,d.top),a=c==n.parentNode?d.bottom:Math.min(a,d.bottom)}c=h.position=="absolute"||h.position=="fixed"?u.offsetParent:u.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,i)-t.left,top:l-(t.top+e),bottom:Math.max(l,a)-(t.top+e)}}function jO(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var nc=class{constructor(e,t,r){this.from=e,this.to=t,this.size=r}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++){let o=e[r],s=t[r];if(o.from!=s.from||o.to!=s.to||o.size!=s.size)return!1}return!0}draw(e){return dt.replace({widget:new ig(this.size,e)}).range(this.from,this.to)}},ig=class extends ro{constructor(e,t){super(),this.size=e,this.vertical=t}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}},od=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=V0,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=et.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(Cg).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new ng(t),this.stateDeco=e.facet(oc).filter(r=>typeof r!="function"),this.heightMap=Et.empty().applyChanges(this.stateDeco,xe.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=dt.set(this.lineGaps.map(r=>r.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let o=r?t.head:t.anchor;if(!e.some(({from:s,to:i})=>o>=s&&o<=i)){let{from:s,to:i}=this.lineBlockAt(o);e.push(new il(s,i))}}this.viewports=e.sort((r,o)=>r.from-o.from),this.scaler=this.heightMap.height<=7e6?V0:new lg(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:ec(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(oc).filter(u=>typeof u!="function");let o=e.changedRanges,s=an.extendWithRanges(o,GO(r,this.stateDeco,e?e.changes:_e.empty(this.state.doc.length))),i=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),s),this.heightMap.height!=i&&(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=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<a.from||t.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let c=!e.changes.empty||e.flags&2||a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,this.updateForViewport(),c&&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(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(uT)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),o=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?et.RTL:et.LTR;let i=this.heightOracle.mustRefreshForWrapping(s),l=t.getBoundingClientRect(),a=i||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let c=0,u=0,h=parseInt(r.paddingTop)||0,d=parseInt(r.paddingBottom)||0;(this.paddingTop!=h||this.paddingBottom!=d)&&(this.paddingTop=h,this.paddingBottom=d,c|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(o.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=8),this.scrollTop!=e.scrollDOM.scrollTop&&(this.scrollAnchorHeight=-1,this.scrollTop=e.scrollDOM.scrollTop),this.scrolledToBottom=j0(e.scrollDOM);let f=(this.printing?jO:qO)(t,this.paddingTop),p=f.top-this.pixelViewport.top,m=f.bottom-this.pixelViewport.bottom;this.pixelViewport=f;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(a=!0)),!this.inView&&!this.scrollTarget)return 0;let b=l.width;if((this.contentDOMWidth!=b||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=e.scrollDOM.clientHeight,c|=8),a){let v=e.docView.measureVisibleLineHeights(this.viewport);if(o.mustRefreshForHeights(v)&&(i=!0),i||o.lineWrapping&&Math.abs(b-this.contentDOMWidth)>o.charWidth){let{lineHeight:x,charWidth:w,textHeight:y}=e.docView.measureTextSize();i=x>0&&o.refresh(s,x,w,y,b/w,v),i&&(e.docView.minWidth=0,c|=8)}p>0&&m>0?u=Math.max(p,m):p<0&&m<0&&(u=Math.min(p,m)),o.heightChanged=!1;for(let x of this.viewports){let w=x.from==this.viewport.from?v:e.docView.measureVisibleLineHeights(x);this.heightMap=(i?Et.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle,[new an(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(o,0,i,new rg(x.from,w))}o.heightChanged&&(c|=2)}let C=!this.viewportIsAppropriate(this.viewport,u)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return C&&(this.viewport=this.getViewport(u,this.scrollTarget)),this.updateForViewport(),(c&2||C)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>2e3<<1)&&this.updateLineGaps(this.ensureLineGaps(i?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),o=this.heightMap,s=this.heightOracle,{visibleTop:i,visibleBottom:l}=this,a=new il(o.lineAt(i-r*1e3,Be.ByHeight,s,0,0).from,o.lineAt(l+(1-r)*1e3,Be.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(c<a.from||c>a.to){let u=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=o.lineAt(c,Be.ByPos,s,0,0),d;t.y=="center"?d=(h.top+h.bottom)/2-u/2:t.y=="start"||t.y=="nearest"&&c<a.from?d=h.top:d=h.bottom-u,a=new il(o.lineAt(d-1e3/2,Be.ByHeight,s,0,0).from,o.lineAt(d+u+1e3/2,Be.ByHeight,s,0,0).to)}}return a}mapViewport(e,t){let r=t.mapPos(e.from,-1),o=t.mapPos(e.to,1);return new il(this.heightMap.lineAt(r,Be.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(o,Be.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},r=0){if(!this.inView)return!0;let{top:o}=this.heightMap.lineAt(e,Be.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,Be.ByPos,this.heightOracle,0,0),{visibleTop:i,visibleBottom:l}=this;return(e==0||o<=i-Math.max(10,Math.min(-r,250)))&&(t==this.state.doc.length||s>=l+Math.max(10,Math.min(r,250)))&&o>i-2*1e3&&s<l+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let r=[];for(let o of e)t.touchesRange(o.from,o.to)||r.push(new nc(t.mapPos(o.from),t.mapPos(o.to),o.size));return r}ensureLineGaps(e,t){let r=this.heightOracle.lineWrapping,o=r?1e4:2e3,s=o>>1,i=o<<1;if(this.defaultTextDirection!=et.LTR&&!r)return[];let l=[],a=(c,u,h,d)=>{if(u-c<s)return;let f=this.state.selection.main,p=[f.from];f.empty||p.push(f.to);for(let g of p)if(g>c&&g<u){a(c,g-10,h,d),a(g+10,u,h,d);return}let m=XO(e,g=>g.from>=h.from&&g.to<=h.to&&Math.abs(g.from-c)<s&&Math.abs(g.to-u)<s&&!p.some(b=>g.from<b&&g.to>b));if(!m){if(u<h.to&&t&&r&&t.visibleRanges.some(g=>g.from<=u&&g.to>=u)){let g=t.moveToLineBoundary(F.cursor(u),!1,!0).head;g>c&&(u=g)}m=new nc(c,u,this.gapSize(h,c,u,d))}l.push(m)};for(let c of this.viewportLines){if(c.length<i)continue;let u=QO(c.from,c.to,this.stateDeco);if(u.total<i)continue;let h=this.scrollTarget?this.scrollTarget.range.head:null,d,f;if(r){let p=o/this.heightOracle.lineLength*this.heightOracle.lineHeight,m,g;if(h!=null){let b=zh(u,h),C=((this.visibleBottom-this.visibleTop)/2+p)/c.height;m=b-C,g=b+C}else m=(this.visibleTop-c.top-p)/c.height,g=(this.visibleBottom-c.top+p)/c.height;d=Fh(u,m),f=Fh(u,g)}else{let p=u.total*this.heightOracle.charWidth,m=o*this.heightOracle.charWidth,g,b;if(h!=null){let C=zh(u,h),v=((this.pixelViewport.right-this.pixelViewport.left)/2+m)/p;g=C-v,b=C+v}else g=(this.pixelViewport.left-m)/p,b=(this.pixelViewport.right+m)/p;d=Fh(u,g),f=Fh(u,b)}d>c.from&&a(c.from,d,c,u),f<c.to&&a(f,c.to,c,u)}return l}gapSize(e,t,r,o){let s=zh(o,r)-zh(o,t);return this.heightOracle.lineWrapping?e.height*s:o.total*this.heightOracle.charWidth*s}updateLineGaps(e){nc.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=dt.set(e.map(t=>t.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];Ie.spans(e,this.viewport.from,this.viewport.to,{span(o,s){t.push({from:o,to:s})},point(){}},20);let r=t.length!=this.visibleRanges.length||this.visibleRanges.some((o,s)=>o.from!=t[s].from||o.to!=t[s].to);return this.visibleRanges=t,r?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||ec(this.heightMap.lineAt(e,Be.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return ec(this.heightMap.lineAt(this.scaler.fromDOM(e),Be.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return ec(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}},il=class{constructor(e,t){this.from=e,this.to=t}};function QO(n,e,t){let r=[],o=n,s=0;return Ie.spans(t,n,e,{span(){},point(i,l){i>o&&(r.push({from:o,to:i}),s+=i-o),o=l}},20),o<e&&(r.push({from:o,to:e}),s+=e-o),{total:s,ranges:r}}function Fh({total:n,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let r=Math.floor(n*t);for(let o=0;;o++){let{from:s,to:i}=e[o],l=i-s;if(r<=l)return s+r;r-=l}}function zh(n,e){let t=0;for(let{from:r,to:o}of n.ranges){if(e<=o){t+=e-r;break}t+=o-r}return t/n.total}function XO(n,e){for(let t of n)if(e(t))return t}var V0={toDOM(n){return n},fromDOM(n){return n},scale:1},lg=class{constructor(e,t,r){let o=0,s=0,i=0;this.viewports=r.map(({from:l,to:a})=>{let c=t.lineAt(l,Be.ByPos,e,0,0).top,u=t.lineAt(a,Be.ByPos,e,0,0).bottom;return o+=u-c,{from:l,to:a,top:c,bottom:u,domTop:0,domBottom:0}}),this.scale=(7e6-o)/(t.height-o);for(let l of this.viewports)l.domTop=i+(l.top-s)*this.scale,i=l.domBottom=l.domTop+(l.bottom-l.top),s=l.bottom}toDOM(e){for(let t=0,r=0,o=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return o+(e-r)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);r=s.bottom,o=s.domBottom}}fromDOM(e){for(let t=0,r=0,o=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return r+(e-o)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);r=s.bottom,o=s.domBottom}}};function ec(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),r=e.toDOM(n.bottom);return new Bn(n.from,n.length,t,r-t,Array.isArray(n._content)?n._content.map(o=>ec(o,e)):n._content)}var $h=le.define({combine:n=>n.join(" ")}),ag=le.define({combine:n=>n.indexOf(!0)>-1}),cg=Vn.newName(),MT=Vn.newName(),PT=Vn.newName(),IT={"&light":"."+MT,"&dark":"."+PT};function ug(n,e,t){return new Vn(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,o=>{if(o=="&")return n;if(!t||!t[o])throw new RangeError(`Unsupported selector: ${o}`);return t[o]}):n+" "+r}})}var JO=ug("."+cg,{"&":{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"}},IT),hg=class{constructor(e,t,r,o){this.typeOver=o,this.bounds=null,this.text="";let{impreciseHead:s,impreciseAnchor:i}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,r,0))){let l=s||i?[]:ZO(e),a=new Yh(l,e.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=eN(l,this.bounds.from)}else{let l=e.observer.selectionRange,a=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!Bm(e.contentDOM,l.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),c=i&&i.node==l.anchorNode&&i.offset==l.anchorOffset||!Bm(e.contentDOM,l.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset);this.newSel=F.single(c,a)}}};function AT(n,e){let t,{newSel:r}=e,o=n.state.selection.main,s=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:i,to:l}=e.bounds,a=o.from,c=null;(s===8||te.android&&e.text.length<l-i)&&(a=o.to,c="end");let u=YO(n.state.doc.sliceString(i,l,sl),e.text,a-i,c);u&&(te.chrome&&s==13&&u.toB==u.from+2&&e.text.slice(u.from,u.toB)==sl+sl&&u.toB--,t={from:i+u.from,to:i+u.toA,insert:xe.of(e.text.slice(u.from,u.toB).split(sl))})}else r&&(!n.hasFocus&&n.state.facet(id)||r.main.eq(o))&&(r=null);if(!t&&!r)return!1;if(!t&&e.typeOver&&!o.empty&&r&&r.main.empty?t={from:o.from,to:o.to,insert:n.state.doc.slice(o.from,o.to)}:t&&t.from>=o.from&&t.to<=o.to&&(t.from!=o.from||t.to!=o.to)&&o.to-o.from-(t.to-t.from)<=4?t={from:o.from,to:o.to,insert:n.state.doc.slice(o.from,t.from).append(t.insert).append(n.state.doc.slice(t.to,o.to))}:(te.mac||te.android)&&t&&t.from==t.to&&t.from==o.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(r&&t.insert.length==2&&(r=F.single(r.main.anchor-1,r.main.head-1)),t={from:o.from,to:o.to,insert:xe.of([" "])}):te.chrome&&t&&t.from==t.to&&t.from==o.head&&t.insert.toString()==`
27
+ `&&n.lineWrapping&&(r&&(r=F.single(r.main.anchor-1,r.main.head-1)),t={from:o.from,to:o.to,insert:xe.of([" "])}),t){let i=n.state;if(te.ios&&n.inputState.flushIOSKey(n)||te.android&&(t.from==o.from&&t.to==o.to&&t.insert.length==1&&t.insert.lines==2&&ll(n.contentDOM,"Enter",13)||(t.from==o.from-1&&t.to==o.to&&t.insert.length==0||s==8&&t.insert.length<t.to-t.from)&&ll(n.contentDOM,"Backspace",8)||t.from==o.from&&t.to==o.to+1&&t.insert.length==0&&ll(n.contentDOM,"Delete",46)))return!0;let l=t.insert.toString();if(n.state.facet(lT).some(u=>u(n,t.from,t.to,l)))return!0;n.inputState.composing>=0&&n.inputState.composing++;let a;if(t.from>=o.from&&t.to<=o.to&&t.to-t.from>=(o.to-o.from)/3&&(!r||r.main.empty&&r.main.from==t.from+t.insert.length)&&n.inputState.composing<0){let u=o.from<t.from?i.sliceDoc(o.from,t.from):"",h=o.to>t.to?i.sliceDoc(t.to,o.to):"";a=i.replaceSelection(n.state.toText(u+t.insert.sliceString(0,void 0,n.state.lineBreak)+h))}else{let u=i.changes(t),h=r&&r.main.to<=u.newLength?r.main:void 0;if(i.selection.ranges.length>1&&n.inputState.composing>=0&&t.to<=o.to&&t.to>=o.to-10){let d=n.state.sliceDoc(t.from,t.to),f=bT(n)||n.state.doc.lineAt(o.head),p=o.to-t.to,m=o.to-o.from;a=i.changeByRange(g=>{if(g.from==o.from&&g.to==o.to)return{changes:u,range:h||g.map(u)};let b=g.to-p,C=b-d.length;if(g.to-g.from!=m||n.state.sliceDoc(C,b)!=d||f&&g.to>=f.from&&g.from<=f.to)return{range:g};let v=i.changes({from:C,to:b,insert:t.insert}),x=g.to-o.to;return{changes:v,range:h?F.range(Math.max(0,h.anchor+x),Math.max(0,h.head+x)):g.map(v)}})}else a={changes:u,selection:h&&i.selection.replaceRange(h)}}let c="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,c+=".compose",n.inputState.compositionFirstChange&&(c+=".start",n.inputState.compositionFirstChange=!1)),n.dispatch(a,{scrollIntoView:!0,userEvent:c}),!0}else if(r&&!r.main.eq(o)){let i=!1,l="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(i=!0),l=n.inputState.lastSelectionOrigin),n.dispatch({selection:r,scrollIntoView:i,userEvent:l}),!0}else return!1}function YO(n,e,t,r){let o=Math.min(n.length,e.length),s=0;for(;s<o&&n.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==o&&n.length==e.length)return null;let i=n.length,l=e.length;for(;i>0&&l>0&&n.charCodeAt(i-1)==e.charCodeAt(l-1);)i--,l--;if(r=="end"){let a=Math.max(0,s-Math.min(i,l));t-=i+a-s}if(i<s&&n.length<e.length){let a=t<=s&&t>=i?s-t:0;s-=a,l=s+(l-i),i=s}else if(l<s){let a=t<=s&&t>=l?s-t:0;s-=a,i=s+(i-l),l=s}return{from:s,toA:i,toB:l}}function ZO(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:o,focusOffset:s}=n.observer.selectionRange;return t&&(e.push(new Zh(t,r)),(o!=t||s!=r)&&e.push(new Zh(o,s))),e}function eN(n,e){if(n.length==0)return null;let t=n[0].pos,r=n.length==2?n[1].pos:t;return t>-1&&r>-1?F.single(t+e,r+e):null}var tN={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Hm=te.ie&&te.ie_version<=11,dg=class{constructor(e){this.view=e,this.active=!1,this.selectionRange=new Fm,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(t=>{for(let r of t)this.queue.push(r);(te.ie&&te.ie_version<=11||te.ios&&e.composing)&&t.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),Hm&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.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 t;((t=this.view.docView)===null||t===void 0?void 0:t.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(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.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(t=>{t.length>0&&t[t.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((t,r)=>t!=e[r]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,o=this.selectionRange;if(r.state.facet(id)?r.root.activeElement!=this.dom:!_h(r.dom,o))return;let s=o.anchorNode&&r.docView.nearest(o.anchorNode);if(s&&s.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(te.ie&&te.ie_version<=11||te.android&&te.chrome)&&!r.state.selection.main.empty&&o.focusNode&&Qh(o.focusNode,o.focusOffset,o.anchorNode,o.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=te.safari&&e.root.nodeType==11&&tO(this.dom.ownerDocument)==this.dom&&nN(this.view)||jh(e.root);if(!t||this.selectionRange.eq(t))return!1;let r=_h(this.dom,t);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&iO(this.dom,t)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(t),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let r=this.dom;r;)if(r.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);for(let r of this.scrollTargets=t)r.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,tN),Hm&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Hm&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var r;if(!this.delayedAndroidKey){let o=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&ll(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(o)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((r=this.delayedAndroidKey)===null||r===void 0)&&r.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 t=-1,r=-1,o=!1;for(let s of e){let i=this.readMutation(s);i&&(i.typeOver&&(o=!0),t==-1?{from:t,to:r}=i:(t=Math.min(i.from,t),r=Math.max(i.to,r)))}return{from:t,to:r,typeOver:o}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),o=this.selectionChanged&&_h(this.dom,this.selectionRange);return e<0&&!o?null:(e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new hg(this.view,e,t,r))}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return!1;let r=this.view.state,o=AT(this.view,t);return this.view.state==r&&this.view.update([]),o}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let r=B0(t,e.previousSibling||e.target.previousSibling,-1),o=B0(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:o?t.posBefore(o):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.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,t,r,o;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect(),(o=this.resizeContent)===null||o===void 0||o.disconnect();for(let s of this.scrollTargets)s.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 B0(n,e,t){for(;e;){let r=Me.get(e);if(r&&r.parent==n)return r;let o=e.parentNode;e=o!=n.dom?o:t>0?e.nextSibling:e.previousSibling}return null}function nN(n){let e=null;function t(a){a.preventDefault(),a.stopImmediatePropagation(),e=a.getTargetRanges()[0]}if(n.contentDOM.addEventListener("beforeinput",t,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",t,!0),!e)return null;let r=e.startContainer,o=e.startOffset,s=e.endContainer,i=e.endOffset,l=n.docView.domAtPos(n.state.selection.main.anchor);return Qh(l.node,l.offset,s,i)&&([r,o,s,i]=[s,i,r,o]),{anchorNode:r,anchorOffset:o,focusNode:s,focusOffset:i}}var he=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||(t=>this.update([t])),this.dispatch=this.dispatch.bind(this),this._root=e.root||sO(e.parent)||document,this.viewState=new od(e.state||Se.create(e)),this.plugins=this.state.facet(Ya).map(t=>new tc(t));for(let t of this.plugins)t.update(this);this.observer=new dg(this),this.inputState=new Ym(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new td(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 t=e.length==1&&e[0]instanceof Ke?e[0]:this.state.update(...e);this._dispatch(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,r=!1,o,s=this.state;for(let d of e){if(d.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=d.state}if(this.destroyed){this.viewState.state=s;return}let i=this.hasFocus,l=0,a=null;e.some(d=>d.annotation(RT))?(this.inputState.notifiedFocused=i,l=1):i!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=i,a=DT(s,i),a||(l=1));let c=this.observer.delayedAndroidKey,u=null;if(c?(this.observer.clearDelayedAndroidKey(),u=this.observer.readChange(),(u&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(u=null)):this.observer.clear(),s.facet(Se.phrases)!=this.state.facet(Se.phrases))return this.setState(s);o=cl.create(this,s,e),o.flags|=l;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let d of e){if(h&&(h=h.map(d.changes)),d.scrollIntoView){let{main:f}=d.state.selection;h=new al(f.empty?f:F.cursor(f.head,f.head>f.anchor?-1:1))}for(let f of d.effects)f.is(C0)&&(h=f.value)}this.viewState.update(o,h),this.bidiCache=ul.update(this.bidiCache,o.changes),o.empty||(this.updatePlugins(o),this.inputState.update(o)),t=this.docView.update(o),this.state.facet(Za)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(d=>d.isUserEvent("select.pointer")))}finally{this.updateState=0}if(o.startState.facet($h)!=o.state.facet($h)&&(this.viewState.mustMeasureContent=!0),(t||r||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!o.empty)for(let d of this.state.facet(Gm))d(o);(a||u)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),u&&!AT(this,u)&&c.force&&ll(this.contentDOM,c.key,c.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 t=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new od(e),this.plugins=e.facet(Ya).map(r=>new tc(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView=new td(this),this.inputState.ensureHandlers(this,this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Ya),r=e.state.facet(Ya);if(t!=r){let o=[];for(let s of r){let i=t.indexOf(s);if(i<0)o.push(new tc(s));else{let l=this.plugins[i];l.mustUpdate=e,o.push(l)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=o,this.pluginMap.clear(),this.inputState.ensureHandlers(this,this.plugins)}else for(let o of this.plugins)o.mustUpdate=e;for(let o=0;o<this.plugins.length;o++)this.plugins[o].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 t=null,r=this.scrollDOM,{scrollTop:o}=r,{scrollAnchorPos:s,scrollAnchorHeight:i}=this.viewState;o!=this.viewState.scrollTop&&(i=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(i<0)if(j0(r))s=-1,i=this.viewState.heightMap.height;else{let f=this.viewState.scrollAnchorAt(o);s=f.from,i=f.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 c=[];a&4||([this.measureRequests,c]=[c,this.measureRequests]);let u=c.map(f=>{try{return f.read(this)}catch(p){return Er(this.state,p),F0}}),h=cl.create(this,this.state,[]),d=!1;h.flags|=a,t?t.flags|=a:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),d=this.docView.update(h));for(let f=0;f<c.length;f++)if(u[f]!=F0)try{let p=c[f];p.write&&p.write(u[f],this)}catch(p){Er(this.state,p)}if(d&&this.docView.updateSelection(!0),!h.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 p=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-i;if(p>1||p<-1){o=r.scrollTop=o+p,i=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let l of this.state.facet(Gm))l(t)}get themeClasses(){return cg+" "+(this.state.facet(ag)?PT:MT)+" "+this.state.facet($h)}updateAttrs(){let e=z0(this,hT,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(id)?"true":"false",class:"cm-content",style:`${te.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),z0(this,Cg,t);let r=this.observer.ignore(()=>{let o=Km(this.contentDOM,this.contentAttrs,t),s=Km(this.dom,this.editorAttrs,e);return o||s});return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let o of r.effects)if(o.is(he.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=o.value}}mountStyles(){this.styleModules=this.state.facet(Za),Vn.mount(this.root,this.styleModules.concat(JO).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 t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find(r=>r.spec==e)||null),t&&t.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,t,r){return Nm(this,e,R0(this,e,t,r))}moveByGroup(e,t){return Nm(this,e,R0(this,e,t,r=>IO(this,e.head,r)))}moveToLineBoundary(e,t,r=!0){return PO(this,e,t,r)}moveVertically(e,t,r){return Nm(this,e,AO(this,e,t,r))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),xT(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.docView.coordsAt(e,t);if(!r||r.left==r.right)return r;let o=this.state.doc.lineAt(e),s=this.bidiSpans(o),i=s[No.find(s,e-o.from,-1,t)];return yg(r,i.dir==et.LTR==t>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(cT)||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>rN)return mT(e.length);let t=this.textDirectionAt(e.from);for(let o of this.bidiCache)if(o.from==e.from&&o.dir==t)return o.order;let r=yO(e.text,t);return this.bidiCache.push(new ul(e.from,e.to,t,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||te.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{G0(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,t={}){return C0.of(new al(typeof e=="number"?F.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}static domEventHandlers(e){return zn.define(()=>({}),{eventHandlers:e})}static theme(e,t){let r=Vn.newName(),o=[$h.of(r),Za.of(ug(`.${r}`,e))];return t&&t.dark&&o.push(ag.of(!0)),o}static baseTheme(e){return Bs.lowest(Za.of(ug("."+cg,e,IT)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),o=r&&Me.get(r)||Me.get(e);return((t=o==null?void 0:o.rootView)===null||t===void 0?void 0:t.view)||null}};he.styleModule=Za;he.inputHandler=lT;he.focusChangeEffect=aT;he.perLineTextDirection=cT;he.exceptionSink=iT;he.updateListener=Gm;he.editable=id;he.mouseSelectionStyle=sT;he.dragMovesSelection=oT;he.clickAddsSelectionRange=rT;he.decorations=oc;he.atomicRanges=wg;he.scrollMargins=dT;he.darkTheme=ag;he.contentAttributes=Cg;he.editorAttributes=hT;he.lineWrapping=he.contentAttributes.of({class:"cm-lineWrapping"});he.announce=Ve.define();var rN=4096,F0={},ul=class{constructor(e,t,r,o){this.from=e,this.to=t,this.dir=r,this.order=o}static update(e,t){if(t.empty)return e;let r=[],o=e.length?e[e.length-1].dir:et.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let i=e[s];i.dir==o&&!t.touchesRange(i.from,i.to)&&r.push(new ul(t.mapPos(i.from,1),t.mapPos(i.to,-1),i.dir,i.order))}return r}};function z0(n,e,t){for(let r=n.state.facet(e),o=r.length-1;o>=0;o--){let s=r[o],i=typeof s=="function"?s(n):s;i&&_m(i,t)}return t}var oN=te.mac?"mac":te.windows?"win":te.linux?"linux":"key";function sN(n,e){let t=n.split(/-(?!$)/),r=t[t.length-1];r=="Space"&&(r=" ");let o,s,i,l;for(let a=0;a<t.length-1;++a){let c=t[a];if(/^(cmd|meta|m)$/i.test(c))l=!0;else if(/^a(lt)?$/i.test(c))o=!0;else if(/^(c|ctrl|control)$/i.test(c))s=!0;else if(/^s(hift)?$/i.test(c))i=!0;else if(/^mod$/i.test(c))e=="mac"?l=!0:s=!0;else throw new Error("Unrecognized modifier name: "+c)}return o&&(r="Alt-"+r),s&&(r="Ctrl-"+r),l&&(r="Meta-"+r),i&&(r="Shift-"+r),r}function Wh(n,e,t){return e.altKey&&(n="Alt-"+n),e.ctrlKey&&(n="Ctrl-"+n),e.metaKey&&(n="Meta-"+n),t!==!1&&e.shiftKey&&(n="Shift-"+n),n}var iN=Bs.default(he.domEventHandlers({keydown(n,e){return uN(lN(e.state),n,e,"editor")}})),hl=le.define({enables:iN}),$0=new WeakMap;function lN(n){let e=n.facet(hl),t=$0.get(e);return t||$0.set(e,t=cN(e.reduce((r,o)=>r.concat(o),[]))),t}var Oo=null,aN=4e3;function cN(n,e=oN){let t=Object.create(null),r=Object.create(null),o=(i,l)=>{let a=r[i];if(a==null)r[i]=l;else if(a!=l)throw new Error("Key binding "+i+" is used both as a regular binding and as a multi-stroke prefix")},s=(i,l,a,c,u)=>{var h,d;let f=t[i]||(t[i]=Object.create(null)),p=l.split(/ (?!$)/).map(b=>sN(b,e));for(let b=1;b<p.length;b++){let C=p.slice(0,b).join(" ");o(C,!0),f[C]||(f[C]={preventDefault:!0,stopPropagation:!1,run:[v=>{let x=Oo={view:v,prefix:C,scope:i};return setTimeout(()=>{Oo==x&&(Oo=null)},aN),!0}]})}let m=p.join(" ");o(m,!1);let g=f[m]||(f[m]={preventDefault:!1,stopPropagation:!1,run:((d=(h=f._any)===null||h===void 0?void 0:h.run)===null||d===void 0?void 0:d.slice())||[]});a&&g.run.push(a),c&&(g.preventDefault=!0),u&&(g.stopPropagation=!0)};for(let i of n){let l=i.scope?i.scope.split(" "):["editor"];if(i.any)for(let c of l){let u=t[c]||(t[c]=Object.create(null));u._any||(u._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let h in u)u[h].run.push(i.any)}let a=i[e]||i.key;if(a)for(let c of l)s(c,a,i.run,i.preventDefault,i.stopPropagation),i.shift&&s(c,"Shift-"+a,i.shift,i.preventDefault,i.stopPropagation)}return t}function uN(n,e,t,r){let o=d0(e),s=wr(o,0),i=Os(s)==o.length&&o!=" ",l="",a=!1,c=!1,u=!1;Oo&&Oo.view==t&&Oo.scope==r&&(l=Oo.prefix+" ",CT.indexOf(e.keyCode)<0&&(c=!0,Oo=null));let h=new Set,d=g=>{if(g){for(let b of g.run)if(!h.has(b)&&(h.add(b),b(t,e)))return g.stopPropagation&&(u=!0),!0;g.preventDefault&&(g.stopPropagation&&(u=!0),c=!0)}return!1},f=n[r],p,m;return f&&(d(f[l+Wh(o,e,!i)])?a=!0:i&&(e.altKey||e.metaKey||e.ctrlKey)&&!(te.windows&&e.ctrlKey&&e.altKey)&&(p=eo[e.keyCode])&&p!=o?(d(f[l+Wh(p,e,!0)])||e.shiftKey&&(m=rl[e.keyCode])!=o&&m!=p&&d(f[l+Wh(m,e,!1)]))&&(a=!0):i&&e.shiftKey&&d(f[l+Wh(o,e,!0)])&&(a=!0),!a&&d(f._any)&&(a=!0)),c&&(a=!0),a&&u&&e.stopPropagation(),a}var Us=class{constructor(e,t,r,o,s){this.className=e,this.left=t,this.top=r,this.width=o,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.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,t,r){if(r.empty){let o=e.coordsAtPos(r.head,r.assoc||1);if(!o)return[];let s=LT(e);return[new Us(t,o.left-s.left,o.top-s.top,null,o.bottom-o.top)]}else return hN(e,t,r)}};function LT(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==et.LTR?e.left:e.right-n.scrollDOM.clientWidth)-n.scrollDOM.scrollLeft,top:e.top-n.scrollDOM.scrollTop}}function W0(n,e,t){let r=F.cursor(e);return{from:Math.max(t.from,n.moveToLineBoundary(r,!1,!0).from),to:Math.min(t.to,n.moveToLineBoundary(r,!0,!0).from),type:tt.Text}}function hN(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let r=Math.max(t.from,n.viewport.from),o=Math.min(t.to,n.viewport.to),s=n.textDirection==et.LTR,i=n.contentDOM,l=i.getBoundingClientRect(),a=LT(n),c=i.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),h=l.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),d=l.right-(u?parseInt(u.paddingRight):0),f=Jm(n,r),p=Jm(n,o),m=f.type==tt.Text?f:null,g=p.type==tt.Text?p:null;if(m&&(n.lineWrapping||f.widgetLineBreaks)&&(m=W0(n,r,m)),g&&(n.lineWrapping||p.widgetLineBreaks)&&(g=W0(n,o,g)),m&&g&&m.from==g.from)return C(v(t.from,t.to,m));{let w=m?v(t.from,null,m):x(f,!1),y=g?v(null,t.to,g):x(p,!0),S=[];return(m||f).to<(g||p).from-(m&&g?1:0)||f.widgetLineBreaks>1&&w.bottom+n.defaultLineHeight/2<y.top?S.push(b(h,w.bottom,d,y.top)):w.bottom<y.top&&n.elementAtHeight((w.bottom+y.top)/2).type==tt.Text&&(w.bottom=y.top=(w.bottom+y.top)/2),C(w).concat(S).concat(C(y))}function b(w,y,S,D){return new Us(e,w-a.left,y-a.top-.01,S-w,D-y+.01)}function C({top:w,bottom:y,horizontal:S}){let D=[];for(let k=0;k<S.length;k+=2)D.push(b(S[k],w,S[k+1],y));return D}function v(w,y,S){let D=1e9,k=-1e9,E=[];function N(P,L,O,I,A){let H=n.coordsAtPos(P,P==S.to?-2:2),V=n.coordsAtPos(O,O==S.from?2:-2);!H||!V||(D=Math.min(H.top,V.top,D),k=Math.max(H.bottom,V.bottom,k),A==et.LTR?E.push(s&&L?h:H.left,s&&I?d:V.right):E.push(!s&&I?h:V.left,!s&&L?d:H.right))}let T=w!=null?w:S.from,M=y!=null?y:S.to;for(let P of n.visibleRanges)if(P.to>T&&P.from<M)for(let L=Math.max(P.from,T),O=Math.min(P.to,M);;){let I=n.state.doc.lineAt(L);for(let A of n.bidiSpans(I)){let H=A.from+I.from,V=A.to+I.from;if(H>=O)break;V>L&&N(Math.max(H,L),w==null&&H<=T,Math.min(V,O),y==null&&V>=M,A.dir)}if(L=I.to+1,L>=O)break}return E.length==0&&N(T,w==null,M,y==null,n.textDirection),{top:D,bottom:k,horizontal:E}}function x(w,y){let S=l.top+(y?w.top:w.bottom);return{top:S,bottom:S,horizontal:[]}}}function dN(n,e){return n.constructor==e.constructor&&n.eq(e)}var fg=class{constructor(e,t){this.view=e,this.layer=t,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"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Gh)!=e.state.facet(Gh)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}setOrder(e){let t=0,r=e.facet(Gh);for(;t<r.length&&r[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}draw(e){if(e.length!=this.drawn.length||e.some((t,r)=>!dN(t,this.drawn[r]))){let t=this.dom.firstChild,r=0;for(let o of e)o.update&&t&&o.constructor&&this.drawn[r].constructor&&o.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(o.draw(),t);for(;t;){let o=t.nextSibling;t.remove(),t=o}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},Gh=le.define();function OT(n){return[zn.define(e=>new fg(e,n)),Gh.of(n)]}var NT=!te.ios,ic=le.define({combine(n){return Fs(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function Sg(n={}){return[ic.of(n),fN,pN,mN,uT.of(!0)]}function HT(n){return n.startState.facet(ic)!=n.state.facet(ic)}var fN=OT({above:!0,markers(n){let{state:e}=n,t=e.facet(ic),r=[];for(let o of e.selection.ranges){let s=o==e.selection.main;if(o.empty?!s||NT:t.drawRangeCursor){let i=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",l=o.empty?o:F.cursor(o.head,o.head>o.anchor?-1:1);for(let a of Us.forRange(n,i,l))r.push(a)}}return r},update(n,e){n.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=HT(n);return t&&_0(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){_0(e.state,n)},class:"cm-cursorLayer"});function _0(n,e){e.style.animationDuration=n.facet(ic).cursorBlinkRate+"ms"}var pN=OT({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:Us.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||HT(n)},class:"cm-selectionLayer"}),VT={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};NT&&(VT[".cm-line"].caretColor="transparent !important");var mN=Bs.highest(he.theme(VT));function K0(n,e,t,r,o){e.lastIndex=0;for(let s=n.iterRange(t,r),i=t,l;!s.next().done;i+=s.value.length)if(!s.lineBreak)for(;l=e.exec(s.value);)o(i+l.index,l)}function gN(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let r=[];for(let{from:o,to:s}of t)o=Math.max(n.state.doc.lineAt(o).from,o-e),s=Math.min(n.state.doc.lineAt(s).to,s+e),r.length&&r[r.length-1].to>=o?r[r.length-1].to=s:r.push({from:o,to:s});return r}var pg=class{constructor(e){let{regexp:t,decoration:r,decorate:o,boundary:s,maxLength:i=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,o)this.addMatch=(l,a,c,u)=>o(u,c,c+l[0].length,l,a);else if(typeof r=="function")this.addMatch=(l,a,c,u)=>{let h=r(l,a,c);h&&u(c,c+l[0].length,h)};else if(r)this.addMatch=(l,a,c,u)=>u(c,c+l[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=i}createDeco(e){let t=new Sr,r=t.add.bind(t);for(let{from:o,to:s}of gN(e,this.maxLength))K0(e.state.doc,this.regexp,o,s,(i,l)=>this.addMatch(l,e,i,r));return t.finish()}updateDeco(e,t){let r=1e9,o=-1;return e.docChanged&&e.changes.iterChanges((s,i,l,a)=>{a>e.view.viewport.from&&l<e.view.viewport.to&&(r=Math.min(l,r),o=Math.max(a,o))}),e.viewportChanged||o-r>1e3?this.createDeco(e.view):o>-1?this.updateRange(e.view,t.map(e.changes),r,o):t}updateRange(e,t,r,o){for(let s of e.visibleRanges){let i=Math.max(s.from,r),l=Math.min(s.to,o);if(l>i){let a=e.state.doc.lineAt(i),c=a.to<l?e.state.doc.lineAt(l):a,u=Math.max(s.from,a.from),h=Math.min(s.to,c.to);if(this.boundary){for(;i>a.from;i--)if(this.boundary.test(a.text[i-1-a.from])){u=i;break}for(;l<c.to;l++)if(this.boundary.test(c.text[l-c.from])){h=l;break}}let d=[],f,p=(m,g,b)=>d.push(b.range(m,g));if(a==c)for(this.regexp.lastIndex=u-a.from;(f=this.regexp.exec(a.text))&&f.index<h-a.from;)this.addMatch(f,e,f.index+a.from,p);else K0(e.state.doc,this.regexp,u,h,(m,g)=>this.addMatch(g,e,m,p));t=t.update({filterFrom:u,filterTo:h,filter:(m,g)=>m<u||g>h,add:d})}}return t}},mg=/x/.unicode!=null?"gu":"g",bN=new RegExp(`[\0-\b
28
+ -\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,mg),yN={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"},Vm=null;function xN(){var n;if(Vm==null&&typeof document<"u"&&document.body){let e=document.body.style;Vm=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return Vm||!1}var qh=le.define({combine(n){let e=Fs(n,{render:null,specialChars:bN,addSpecialChars:null});return(e.replaceTabs=!xN())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,mg)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,mg)),e}});function Tg(n={}){return[qh.of(n),vN()]}var U0=null;function vN(){return U0||(U0=zn.fromClass(class{constructor(n){this.view=n,this.decorations=dt.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(qh)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new pg({regexp:n.specialChars,decoration:(e,t,r)=>{let{doc:o}=t.state,s=wr(e[0],0);if(s==9){let i=o.lineAt(r),l=t.state.tabSize,a=zs(i.text,l,r-i.from);return dt.replace({widget:new bg((l-a%l)*this.view.defaultCharacterWidth)})}return this.decorationCache[s]||(this.decorationCache[s]=dt.replace({widget:new gg(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(qh);n.startState.facet(qh)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}var CN="\u2022";function wN(n){return n>=32?CN:n==10?"\u2424":String.fromCharCode(9216+n)}var gg=class extends ro{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=wN(this.code),r=e.state.phrase("Control character")+" "+(yN[this.code]||"0x"+this.code.toString(16)),o=this.options.render&&this.options.render(this.code,r,t);if(o)return o;let s=document.createElement("span");return s.textContent=t,s.title=r,s.setAttribute("aria-label",r),s.className="cm-specialChar",s}ignoreEvent(){return!1}},bg=class extends ro{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 CY=he.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"}}});var oo=class extends lr{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};oo.prototype.elementClass="";oo.prototype.toDOM=void 0;oo.prototype.mapMode=At.TrackBefore;oo.prototype.startSide=oo.prototype.endSide=-1;oo.prototype.point=!0;var SN=0,$n=class{constructor(e,t,r){this.set=e,this.base=t,this.modified=r,this.id=SN++}static define(e){if(e!=null&&e.base)throw new Error("Can not derive from a modified tag");let t=new $n([],null,[]);if(t.set.push(t),e)for(let r of e.set)t.set.push(r);return t}static defineModifier(){let e=new dl;return t=>t.modified.indexOf(e)>-1?t:dl.get(t.base||t,t.modified.concat(e).sort((r,o)=>r.id-o.id))}},TN=0,dl=class{constructor(){this.instances=[],this.id=TN++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(l=>l.base==e&&EN(t,l.modified));if(r)return r;let o=[],s=new $n(o,e,t);for(let l of t)l.instances.push(s);let i=RN(t);for(let l of e.set)if(!l.modified.length)for(let a of i)o.push(dl.get(l,a));return s}};function EN(n,e){return n.length==e.length&&n.every((t,r)=>t==e[r])}function RN(n){let e=[[]];for(let t=0;t<n.length;t++)for(let r=0,o=e.length;r<o;r++)e.push(e[r].concat(n[t]));return e.sort((t,r)=>r.length-t.length)}function ac(n){let e=Object.create(null);for(let t in n){let r=n[t];Array.isArray(r)||(r=[r]);for(let o of t.split(" "))if(o){let s=[],i=2,l=o;for(let h=0;;){if(l=="..."&&h>0&&h+3==o.length){i=1;break}let d=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!d)throw new RangeError("Invalid path: "+o);if(s.push(d[0]=="*"?"":d[0][0]=='"'?JSON.parse(d[0]):d[0]),h+=d[0].length,h==o.length)break;let f=o[h++];if(h==o.length&&f=="!"){i=0;break}if(f!="/")throw new RangeError("Invalid path: "+o);l=o.slice(h)}let a=s.length-1,c=s[a];if(!c)throw new RangeError("Invalid path: "+o);let u=new fl(r,i,a>0?s.slice(0,a):null);e[c]=u.sort(e[c])}}return zT.add(e)}var zT=new ce,fl=class{constructor(e,t,r,o){this.tags=e,this.mode=t,this.context=r,this.next=o}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}};fl.empty=new fl([],2,null);function kg(n,e){let t=Object.create(null);for(let s of n)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let i of s.tag)t[i.id]=s.class;let{scope:r,all:o=null}=e||{};return{style:s=>{let i=o;for(let l of s)for(let a of l.set){let c=t[a.id];if(c){i=i?i+" "+c:c;break}}return i},scope:r}}function DN(n,e){let t=null;for(let r of n){let o=r.style(e);o&&(t=t?t+" "+o:o)}return t}function $T(n,e,t,r=0,o=n.length){let s=new Rg(r,Array.isArray(e)?e:[e],t);s.highlightRange(n.cursor(),r,o,"",s.highlighters),s.flush(o)}var Rg=class{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,o,s){let{type:i,from:l,to:a}=e;if(l>=r||a<=t)return;i.isTop&&(s=this.highlighters.filter(f=>!f.scope||f.scope(i)));let c=o,u=kN(e)||fl.empty,h=DN(s,u.tags);if(h&&(c&&(c+=" "),c+=h,u.mode==1&&(o+=(o?" ":"")+h)),this.startSpan(Math.max(t,l),c),u.opaque)return;let d=e.tree&&e.tree.prop(ce.mounted);if(d&&d.overlay){let f=e.node.enter(d.overlay[0].from+l,1),p=this.highlighters.filter(g=>!g.scope||g.scope(d.tree.type)),m=e.firstChild();for(let g=0,b=l;;g++){let C=g<d.overlay.length?d.overlay[g]:null,v=C?C.from+l:a,x=Math.max(t,b),w=Math.min(r,v);if(x<w&&m)for(;e.from<w&&(this.highlightRange(e,x,w,o,s),this.startSpan(Math.min(w,e.to),c),!(e.to>=v||!e.nextSibling())););if(!C||v>r)break;b=C.to+l,b>t&&(this.highlightRange(f.cursor(),Math.max(t,C.from+l),Math.min(r,b),"",p),this.startSpan(Math.min(r,b),c))}m&&e.parent()}else if(e.firstChild()){d&&(o="");do if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,o,s),this.startSpan(Math.min(r,e.to),c)}while(e.nextSibling());e.parent()}}};function kN(n){let e=n.type.prop(zT);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}var K=$n.define,ld=K(),Bo=K(),BT=K(Bo),FT=K(Bo),Fo=K(),ad=K(Fo),Eg=K(Fo),Mr=K(),Gs=K(Mr),Dr=K(),kr=K(),Dg=K(),lc=K(Dg),cd=K(),W={comment:ld,lineComment:K(ld),blockComment:K(ld),docComment:K(ld),name:Bo,variableName:K(Bo),typeName:BT,tagName:K(BT),propertyName:FT,attributeName:K(FT),className:K(Bo),labelName:K(Bo),namespace:K(Bo),macroName:K(Bo),literal:Fo,string:ad,docString:K(ad),character:K(ad),attributeValue:K(ad),number:Eg,integer:K(Eg),float:K(Eg),bool:K(Fo),regexp:K(Fo),escape:K(Fo),color:K(Fo),url:K(Fo),keyword:Dr,self:K(Dr),null:K(Dr),atom:K(Dr),unit:K(Dr),modifier:K(Dr),operatorKeyword:K(Dr),controlKeyword:K(Dr),definitionKeyword:K(Dr),moduleKeyword:K(Dr),operator:kr,derefOperator:K(kr),arithmeticOperator:K(kr),logicOperator:K(kr),bitwiseOperator:K(kr),compareOperator:K(kr),updateOperator:K(kr),definitionOperator:K(kr),typeOperator:K(kr),controlOperator:K(kr),punctuation:Dg,separator:K(Dg),bracket:lc,angleBracket:K(lc),squareBracket:K(lc),paren:K(lc),brace:K(lc),content:Mr,heading:Gs,heading1:K(Gs),heading2:K(Gs),heading3:K(Gs),heading4:K(Gs),heading5:K(Gs),heading6:K(Gs),contentSeparator:K(Mr),list:K(Mr),quote:K(Mr),emphasis:K(Mr),strong:K(Mr),link:K(Mr),monospace:K(Mr),strikethrough:K(Mr),inserted:K(),deleted:K(),changed:K(),invalid:K(),meta:cd,documentMeta:K(cd),annotation:K(cd),processingInstruction:K(cd),definition:$n.defineModifier(),constant:$n.defineModifier(),function:$n.defineModifier(),standard:$n.defineModifier(),local:$n.defineModifier(),special:$n.defineModifier()},EY=kg([{tag:W.link,class:"tok-link"},{tag:W.heading,class:"tok-heading"},{tag:W.emphasis,class:"tok-emphasis"},{tag:W.strong,class:"tok-strong"},{tag:W.keyword,class:"tok-keyword"},{tag:W.atom,class:"tok-atom"},{tag:W.bool,class:"tok-bool"},{tag:W.url,class:"tok-url"},{tag:W.labelName,class:"tok-labelName"},{tag:W.inserted,class:"tok-inserted"},{tag:W.deleted,class:"tok-deleted"},{tag:W.literal,class:"tok-literal"},{tag:W.string,class:"tok-string"},{tag:W.number,class:"tok-number"},{tag:[W.regexp,W.escape,W.special(W.string)],class:"tok-string2"},{tag:W.variableName,class:"tok-variableName"},{tag:W.local(W.variableName),class:"tok-variableName tok-local"},{tag:W.definition(W.variableName),class:"tok-variableName tok-definition"},{tag:W.special(W.variableName),class:"tok-variableName2"},{tag:W.definition(W.propertyName),class:"tok-propertyName tok-definition"},{tag:W.typeName,class:"tok-typeName"},{tag:W.namespace,class:"tok-namespace"},{tag:W.className,class:"tok-className"},{tag:W.macroName,class:"tok-macroName"},{tag:W.propertyName,class:"tok-propertyName"},{tag:W.operator,class:"tok-operator"},{tag:W.comment,class:"tok-comment"},{tag:W.meta,class:"tok-meta"},{tag:W.invalid,class:"tok-invalid"},{tag:W.punctuation,class:"tok-punctuation"}]);var Mg,pl=new ce;function MN(n){return le.define({combine:n?e=>e.concat(n):void 0})}var PN=new ce,En=class{constructor(e,t,r=[],o=""){this.data=e,this.name=o,Se.prototype.hasOwnProperty("tree")||Object.defineProperty(Se.prototype,"tree",{get(){return Ot(this)}}),this.parser=t,this.extension=[gl.of(this),Se.languageData.of((s,i,l)=>{let a=WT(s,i,l),c=a.type.prop(pl);if(!c)return[];let u=s.facet(c),h=a.type.prop(PN);if(h){let d=a.resolve(i-a.from,l);for(let f of h)if(f.test(d,s)){let p=s.facet(f.facet);return f.type=="replace"?p:p.concat(u)}}return u})].concat(r)}isActiveAt(e,t,r=-1){return WT(e,t,r).type.prop(pl)==this.data}findRegions(e){let t=e.facet(gl);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],o=(s,i)=>{if(s.prop(pl)==this.data){r.push({from:i,to:i+s.length});return}let l=s.prop(ce.mounted);if(l){if(l.tree.prop(pl)==this.data){if(l.overlay)for(let a of l.overlay)r.push({from:a.from+i,to:a.to+i});else r.push({from:i,to:i+s.length});return}else if(l.overlay){let a=r.length;if(o(l.tree,l.overlay[0].from+i),r.length>a)return}}for(let a=0;a<s.children.length;a++){let c=s.children[a];c instanceof Te&&o(c,s.positions[a]+i)}};return o(Ot(e),0),r}get allowsNesting(){return!0}};En.setState=Ve.define();function WT(n,e,t){let r=n.facet(gl),o=Ot(n).topNode;if(!r||r.allowsNesting)for(let s=o;s;s=s.enter(e,t,Qe.ExcludeBuffers))s.type.isTop&&(o=s);return o}var zo=class extends En{constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=MN(e.languageData);return new zo(t,e.parser.configure({props:[pl.add(r=>r.isTop?t:void 0)]}),e.name)}configure(e,t){return new zo(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function Ot(n){let e=n.field(En.state,!1);return e?e.tree:Te.empty}var Lg=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,t){let r=this.cursorPos-this.string.length;return e<r||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}},cc=null,ml=class{constructor(e,t,r=[],o,s,i,l,a){this.parser=e,this.state=t,this.fragments=r,this.tree=o,this.treeLen=s,this.viewport=i,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new ml(e,t,[],Te.empty,0,r,[],null)}startParse(){return this.parser.startParse(new Lg(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Te.empty&&this.isDone(t!=null?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let o=Date.now()+e;e=()=>Date.now()>o}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let o=this.parse.advance();if(o)if(this.fragments=this.withoutTempSkipped(xr.addTree(o,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=o,this.parse=null,this.treeLen<(t!=null?t:this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(xr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=cc;cc=this;try{return e()}finally{cc=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=_T(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:o,treeLen:s,viewport:i,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((c,u,h,d)=>a.push({fromA:c,toA:u,fromB:h,toB:d})),r=xr.applyChanges(r,a),o=Te.empty,s=0,i={from:e.mapPos(i.from,-1),to:e.mapPos(i.to,1)},this.skipped.length){l=[];for(let c of this.skipped){let u=e.mapPos(c.from,1),h=e.mapPos(c.to,-1);u<h&&l.push({from:u,to:h})}}}return new ml(this.parser,t,r,o,s,i,l,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:o,to:s}=this.skipped[r];o<e.to&&s>e.from&&(this.fragments=_T(this.fragments,o,s),this.skipped.splice(r--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends So{createParse(t,r,o){let s=o[0].from,i=o[o.length-1].to;return{parsedPos:s,advance(){let a=cc;if(a){for(let c of o)a.tempSkipped.push(c);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=i,new Te(rt.none,[],[],i-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return cc}};function _T(n,e,t){return xr.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}var $o=class{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new $o(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=ml.create(e.facet(gl).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new $o(r)}};En.state=jt.define({create:$o.init,update(n,e){for(let t of e.effects)if(t.is(En.setState))return t.value;return e.startState.facet(gl)!=e.state.facet(gl)?$o.init(e.state):n.apply(e)}});var GT=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(GT=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:500-100})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var Pg=typeof navigator<"u"&&(!((Mg=navigator.scheduling)===null||Mg===void 0)&&Mg.isInputPending)?()=>navigator.scheduling.isInputPending():null,IN=zn.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 t=this.view.state.field(En.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(En.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=GT(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:o}}=this.view,s=r.field(En.state);if(s.tree==s.context.tree&&s.context.isDone(o+1e5))return;let i=Date.now()+Math.min(this.chunkBudget,100,e&&!Pg?Math.max(25,e.timeRemaining()-5):1e9),l=s.context.treeLen<o&&r.doc.length>o+1e3,a=s.context.work(()=>Pg&&Pg()||Date.now()>i,o+(l?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:En.setState.of(new $o(s.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Er(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),gl=le.define({combine(n){return n.length?n[0]:null},enables:n=>[En.state,IN,he.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});var AN=le.define(),hc=le.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function dc(n){let e=n.facet(hc);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function fc(n,e){let t="",r=n.tabSize,o=n.facet(hc)[0];if(o==" "){for(;e>=r;)t+=" ",e-=r;o=" "}for(let s=0;s<e;s++)t+=o;return t}function Bg(n,e){n instanceof Se&&(n=new qs(n));for(let r of n.state.facet(AN)){let o=r(n,e);if(o!==void 0)return o}let t=Ot(n.state);return t?ON(n,t,e):null}var qs=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=dc(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:o,simulateDoubleBreak:s}=this.options;return o!=null&&o>=r.from&&o<=r.to?s&&o==e?{text:"",from:e}:(t<0?o<e:o<=e)?{text:r.text.slice(o-r.from),from:o}:{text:r.text.slice(0,o-r.from),from:r.from}:r}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:o}=this.lineAt(e,t);return r.slice(e-o,Math.min(r.length,e+100-o))}column(e,t=1){let{text:r,from:o}=this.lineAt(e,t),s=this.countColumn(r,e-o),i=this.options.overrideIndentation?this.options.overrideIndentation(o):-1;return i>-1&&(s+=i-this.countColumn(r,r.search(/\S|$/))),s}countColumn(e,t=e.length){return zs(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:o}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let i=s(o);if(i>-1)return i}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},LN=new ce;function ON(n,e,t){return qT(e.resolveInner(t).enterUnfinishedNodesBefore(t),t,n)}function NN(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function HN(n){let e=n.type.prop(LN);if(e)return e;let t=n.firstChild,r;if(t&&(r=t.type.prop(ce.closedBy))){let o=n.lastChild,s=o&&r.indexOf(o.name)>-1;return i=>zN(i,!0,1,void 0,s&&!NN(i)?o.from:void 0)}return n.parent==null?VN:null}function qT(n,e,t){for(;n;n=n.parent){let r=HN(n);if(r)return r(uc.create(t,e,n))}return null}function VN(){return 0}var uc=class extends qs{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.node=r}static create(e,t,r){return new uc(e,t,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(BN(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){let e=this.node.parent;return e?qT(e,this.pos,this.base):0}};function BN(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function FN(n){let e=n.node,t=e.childAfter(e.from),r=e.lastChild;if(!t)return null;let o=n.options.simulateBreak,s=n.state.doc.lineAt(t.from),i=o==null||o<=s.from?s.to:Math.min(s.to,o);for(let l=t.to;;){let a=e.childAfter(l);if(!a||a==r)return null;if(!a.type.isSkipped)return a.from<i?t:null;l=a.to}}function zN(n,e,t,r,o){let s=n.textAfter,i=s.match(/^\s*/)[0].length,l=r&&s.slice(i,i+r.length)==r||o==n.pos+i,a=e?FN(n):null;return a?l?n.column(a.from):n.column(a.to):n.baseIndent+(l?0:n.unit*t)}var so=class{constructor(e,t){this.specs=e;let r;function o(l){let a=Vn.newName();return(r||(r=Object.create(null)))["."+a]=l,a}let s=typeof t.all=="string"?t.all:t.all?o(t.all):void 0,i=t.scope;this.scope=i instanceof En?l=>l.prop(pl)==i.data:i?l=>l==i:void 0,this.style=kg(e.map(l=>({tag:l.tag,class:l.class||o(Object.assign({},l,{tag:null}))})),{all:s}).style,this.module=r?new Vn(r):null,this.themeType=t.themeType}static define(e,t){return new so(e,t||{})}},Og=le.define(),jT=le.define({combine(n){return n.length?[n[0]]:null}});function Ig(n){let e=n.facet(Og);return e.length?e:n.facet(jT)}function pc(n,e){let t=[$N],r;return n instanceof so&&(n.module&&t.push(he.styleModule.of(n.module)),r=n.themeType),e!=null&&e.fallback?t.push(jT.of(n)):r?t.push(Og.computeN([he.darkTheme],o=>o.facet(he.darkTheme)==(r=="dark")?[n]:[])):t.push(Og.of(n)),t}var Ng=class{constructor(e){this.markCache=Object.create(null),this.tree=Ot(e.state),this.decorations=this.buildDeco(e,Ig(e.state))}update(e){let t=Ot(e.state),r=Ig(e.state),o=r!=Ig(e.startState);t.length<e.view.viewport.to&&!o&&t.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(t!=this.tree||e.viewportChanged||o)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r))}buildDeco(e,t){if(!t||!this.tree.length)return dt.none;let r=new Sr;for(let{from:o,to:s}of e.visibleRanges)$T(this.tree,t,(i,l,a)=>{r.add(i,l,this.markCache[a]||(this.markCache[a]=dt.mark({class:a})))},o,s);return r.finish()}},$N=Bs.high(zn.fromClass(Ng,{decorations:n=>n.decorations})),Fg=so.define([{tag:W.meta,color:"#404740"},{tag:W.link,textDecoration:"underline"},{tag:W.heading,textDecoration:"underline",fontWeight:"bold"},{tag:W.emphasis,fontStyle:"italic"},{tag:W.strong,fontWeight:"bold"},{tag:W.strikethrough,textDecoration:"line-through"},{tag:W.keyword,color:"#708"},{tag:[W.atom,W.bool,W.url,W.contentSeparator,W.labelName],color:"#219"},{tag:[W.literal,W.inserted],color:"#164"},{tag:[W.string,W.deleted],color:"#a11"},{tag:[W.regexp,W.escape,W.special(W.string)],color:"#e40"},{tag:W.definition(W.variableName),color:"#00f"},{tag:W.local(W.variableName),color:"#30a"},{tag:[W.typeName,W.namespace],color:"#085"},{tag:W.className,color:"#167"},{tag:[W.special(W.variableName),W.macroName],color:"#256"},{tag:W.definition(W.propertyName),color:"#00c"},{tag:W.comment,color:"#940"},{tag:W.invalid,color:"#f00"}]);var WN=1e4,_N="()[]{}";var KN=new ce;function Hg(n,e,t){let r=n.prop(e<0?ce.openedBy:ce.closedBy);if(r)return r;if(n.name.length==1){let o=t.indexOf(n.name);if(o>-1&&o%2==(e<0?1:0))return[t[o+e]]}return null}function Vg(n){let e=n.type.prop(KN);return e?e(n.node):n}function js(n,e,t,r={}){let o=r.maxScanDistance||WN,s=r.brackets||_N,i=Ot(n),l=i.resolveInner(e,t);for(let a=l;a;a=a.parent){let c=Hg(a.type,t,s);if(c&&a.from<a.to){let u=Vg(a);if(u&&(t>0?e>=u.from&&e<u.to:e>u.from&&e<=u.to))return UN(n,e,t,a,u,c,s)}}return GN(n,e,t,i,l.type,o,s)}function UN(n,e,t,r,o,s,i){let l=r.parent,a={from:o.from,to:o.to},c=0,u=l==null?void 0:l.cursor();if(u&&(t<0?u.childBefore(r.from):u.childAfter(r.to)))do if(t<0?u.to<=r.from:u.from>=r.to){if(c==0&&s.indexOf(u.type.name)>-1&&u.from<u.to){let h=Vg(u);return{start:a,end:h?{from:h.from,to:h.to}:void 0,matched:!0}}else if(Hg(u.type,t,i))c++;else if(Hg(u.type,-t,i)){if(c==0){let h=Vg(u);return{start:a,end:h&&h.from<h.to?{from:h.from,to:h.to}:void 0,matched:!1}}c--}}while(t<0?u.prevSibling():u.nextSibling());return{start:a,matched:!1}}function GN(n,e,t,r,o,s,i){let l=t<0?n.sliceDoc(e-1,e):n.sliceDoc(e,e+1),a=i.indexOf(l);if(a<0||a%2==0!=t>0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},u=n.doc.iterRange(e,t>0?n.doc.length:0),h=0;for(let d=0;!u.next().done&&d<=s;){let f=u.value;t<0&&(d+=f.length);let p=e+d*t;for(let m=t>0?0:f.length-1,g=t>0?f.length:-1;m!=g;m+=t){let b=i.indexOf(f[m]);if(!(b<0||r.resolveInner(p+m,1).type!=o))if(b%2==0==t>0)h++;else{if(h==1)return{start:c,end:{from:p+m,to:p+m+1},matched:b>>1==a>>1};h--}}t>0&&(d+=f.length)}return u.done?{start:c,matched:!1}:null}var qN=Object.create(null),KT=[rt.none];var UT=[],jN=Object.create(null);for(let[n,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"]])jN[n]=QN(qN,e);function Ag(n,e){UT.indexOf(n)>-1||(UT.push(n),console.warn(e))}function QN(n,e){let t=null;for(let s of e.split(".")){let i=n[s]||W[s];i?typeof i=="function"?t?t=i(t):Ag(s,`Modifier ${s} used at start of tag`):t?Ag(s,`Tag ${s} used as modifier`):t=i:Ag(s,`Unknown highlighting tag ${s}`)}if(!t)return 0;let r=e.replace(/ /g,"_"),o=rt.define({id:KT.length,name:r,props:[ac({[r]:t})]});return KT.push(o),o.id}var ud={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Qs=Ve.define({map(n,e){let t=e.mapPos(n,-1,At.TrackAfter);return t==null?void 0:t}}),$g=new class extends lr{};$g.startSide=1;$g.endSide=-1;var JT=jt.define({create(){return Ie.empty},update(n,e){if(e.selection){let t=e.state.doc.lineAt(e.selection.main.head).from,r=e.startState.doc.lineAt(e.startState.selection.main.head).from;t!=e.changes.mapPos(r,-1)&&(n=Ie.empty)}n=n.map(e.changes);for(let t of e.effects)t.is(Qs)&&(n=n.update({add:[$g.range(t.value,t.value+1)]}));return n}});function Wg(){return[ZN,JT]}var zg="()[]{}<>";function XN(n){for(let e=0;e<zg.length;e+=2)if(zg.charCodeAt(e)==n)return zg.charAt(e+1);return XS(n<128?n:n+1)}function JN(n,e){return n.languageDataAt("closeBrackets",e)[0]||ud}var YN=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),ZN=he.inputHandler.of((n,e,t,r)=>{if((YN?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let o=n.state.selection.main;if(r.length>2||r.length==2&&Os(wr(r,0))==1||e!=o.from||t!=o.to)return!1;let s=eH(n.state,r);return s?(n.dispatch(s),!0):!1});function eH(n,e){let t=JN(n,n.selection.main.head),r=t.brackets||ud.brackets;for(let o of r){let s=XN(wr(o,0));if(e==o)return s==o?rH(n,o,r.indexOf(o+o+o)>-1,t):tH(n,o,s,t.before||ud.before);if(e==s&&YT(n,n.selection.main.from))return nH(n,o,s)}return null}function YT(n,e){let t=!1;return n.field(JT).between(0,n.doc.length,r=>{r==e&&(t=!0)}),t}function _g(n,e){let t=n.sliceString(e,e+2);return t.slice(0,Os(wr(t,0)))}function tH(n,e,t,r){let o=null,s=n.changeByRange(i=>{if(!i.empty)return{changes:[{insert:e,from:i.from},{insert:t,from:i.to}],effects:Qs.of(i.to+e.length),range:F.range(i.anchor+e.length,i.head+e.length)};let l=_g(n.doc,i.head);return!l||/\s/.test(l)||r.indexOf(l)>-1?{changes:{insert:e+t,from:i.head},effects:Qs.of(i.head+e.length),range:F.cursor(i.head+e.length)}:{range:o=i}});return o?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function nH(n,e,t){let r=null,o=n.changeByRange(s=>s.empty&&_g(n.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:F.cursor(s.head+t.length)}:r={range:s});return r?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function rH(n,e,t,r){let o=r.stringPrefixes||ud.stringPrefixes,s=null,i=n.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:e,from:l.to}],effects:Qs.of(l.to+e.length),range:F.range(l.anchor+e.length,l.head+e.length)};let a=l.head,c=_g(n.doc,a),u;if(c==e){if(QT(n,a))return{changes:{insert:e+e,from:a},effects:Qs.of(a+e.length),range:F.cursor(a+e.length)};if(YT(n,a)){let d=t&&n.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+d.length,insert:d},range:F.cursor(a+d.length)}}}else{if(t&&n.sliceDoc(a-2*e.length,a)==e+e&&(u=XT(n,a-2*e.length,o))>-1&&QT(n,u))return{changes:{insert:e+e+e+e,from:a},effects:Qs.of(a+e.length),range:F.cursor(a+e.length)};if(n.charCategorizer(a)(c)!=qt.Word&&XT(n,a,o)>-1&&!oH(n,a,e,o))return{changes:{insert:e+e,from:a},effects:Qs.of(a+e.length),range:F.cursor(a+e.length)}}return{range:s=l}});return s?null:n.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function QT(n,e){let t=Ot(n).resolveInner(e+1);return t.parent&&t.from==e}function oH(n,e,t,r){let o=Ot(n).resolveInner(e,-1),s=r.reduce((i,l)=>Math.max(i,l.length),0);for(let i=0;i<5;i++){let l=n.sliceDoc(o.from,Math.min(o.to,o.from+t.length+s)),a=l.indexOf(t);if(!a||a>-1&&r.indexOf(l.slice(0,a))>-1){let u=o.firstChild;for(;u&&u.from==o.from&&u.to-u.from>t.length+a;){if(n.sliceDoc(u.to-t.length,u.to)==t)return!1;u=u.firstChild}return!0}let c=o.to==e&&o.parent;if(!c)break;o=c}return!1}function XT(n,e,t){let r=n.charCategorizer(e);if(r(n.sliceDoc(e-1,e))!=qt.Word)return e;for(let o of t){let s=e-o.length;if(n.sliceDoc(s,e)==o&&r(n.sliceDoc(s-1,s))!=qt.Word)return s}return-1}var sH=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),r=Xg(n.state,t.from);return r.line?iH(n):r.block?aH(n):!1};function Qg(n,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let o=n(e,t);return o?(r(t.update(o)),!0):!1}}var iH=Qg(hH,0);var lH=Qg(iE,0);var aH=Qg((n,e)=>iE(n,e,uH(e)),0);function Xg(n,e){let t=n.languageDataAt("commentTokens",e);return t.length?t[0]:{}}var mc=50;function cH(n,{open:e,close:t},r,o){let s=n.sliceDoc(r-mc,r),i=n.sliceDoc(o,o+mc),l=/\s*$/.exec(s)[0].length,a=/^\s*/.exec(i)[0].length,c=s.length-l;if(s.slice(c-e.length,c)==e&&i.slice(a,a+t.length)==t)return{open:{pos:r-l,margin:l&&1},close:{pos:o+a,margin:a&&1}};let u,h;o-r<=2*mc?u=h=n.sliceDoc(r,o):(u=n.sliceDoc(r,r+mc),h=n.sliceDoc(o-mc,o));let d=/^\s*/.exec(u)[0].length,f=/\s*$/.exec(h)[0].length,p=h.length-f-t.length;return u.slice(d,d+e.length)==e&&h.slice(p,p+t.length)==t?{open:{pos:r+d+e.length,margin:/\s/.test(u.charAt(d+e.length))?1:0},close:{pos:o-f-t.length,margin:/\s/.test(h.charAt(p-1))?1:0}}:null}function uH(n){let e=[];for(let t of n.selection.ranges){let r=n.doc.lineAt(t.from),o=t.to<=r.to?r:n.doc.lineAt(t.to),s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=o.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:o.to})}return e}function iE(n,e,t=e.selection.ranges){let r=t.map(s=>Xg(e,s.from).block);if(!r.every(s=>s))return null;let o=t.map((s,i)=>cH(e,r[i],s.from,s.to));if(n!=2&&!o.every(s=>s))return{changes:e.changes(t.map((s,i)=>o[i]?[]:[{from:s.from,insert:r[i].open+" "},{from:s.to,insert:" "+r[i].close}]))};if(n!=1&&o.some(s=>s)){let s=[];for(let i=0,l;i<o.length;i++)if(l=o[i]){let a=r[i],{open:c,close:u}=l;s.push({from:c.pos-a.open.length,to:c.pos+c.margin},{from:u.pos-u.margin,to:u.pos+a.close.length})}return{changes:s}}return null}function hH(n,e,t=e.selection.ranges){let r=[],o=-1;for(let{from:s,to:i}of t){let l=r.length,a=1e9,c=Xg(e,s).line;if(c){for(let u=s;u<=i;){let h=e.doc.lineAt(u);if(h.from>o&&(s==i||i>h.from)){o=h.from;let d=/^\s*/.exec(h.text)[0].length,f=d==h.length,p=h.text.slice(d,d+c.length)==c?d:-1;d<h.text.length&&d<a&&(a=d),r.push({line:h,comment:p,token:c,indent:d,empty:f,single:!1})}u=h.to+1}if(a<1e9)for(let u=l;u<r.length;u++)r[u].indent<r[u].line.text.length&&(r[u].indent=a);r.length==l+1&&(r[l].single=!0)}}if(n!=2&&r.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:l,token:a,indent:c,empty:u,single:h}of r)(h||!u)&&s.push({from:l.from+c,insert:a+" "});let i=e.changes(s);return{changes:i,selection:e.selection.map(i,1)}}else if(n!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:i,comment:l,token:a}of r)if(l>=0){let c=i.from+l,u=c+a.length;i.text[u-i.from]==" "&&u++,s.push({from:c,to:u})}return{changes:s}}return null}var Ug=Sn.define(),dH=Sn.define(),fH=le.define(),lE=le.define({combine(n){return Fs(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,o)=>e(r,o)||t(r,o)})}});function pH(n){let e=0;return n.iterChangedRanges((t,r)=>e=r),e}var aE=jt.define({create(){return _n.empty},update(n,e){let t=e.state.facet(lE),r=e.annotation(Ug);if(r){let a=e.docChanged?F.single(pH(e.changes)):void 0,c=Nt.fromTransaction(e,a),u=r.side,h=u==0?n.undone:n.done;return c?h=dd(h,h.length,t.minDepth,c):h=hE(h,e.startState.selection),new _n(u==0?r.rest:h,u==0?h:r.rest)}let o=e.annotation(dH);if((o=="full"||o=="before")&&(n=n.isolate()),e.annotation(Ke.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let s=Nt.fromTransaction(e),i=e.annotation(Ke.time),l=e.annotation(Ke.userEvent);return s?n=n.addChanges(s,i,l,t,e):e.selection&&(n=n.addSelection(e.startState.selection,i,l,t.newGroupDelay)),(o=="full"||o=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new _n(n.done.map(Nt.fromJSON),n.undone.map(Nt.fromJSON))}});function Jg(n={}){return[aE,lE.of(n),he.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?cE:e.inputType=="historyRedo"?Gg:null;return r?(e.preventDefault(),r(t)):!1}})]}function fd(n,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let o=t.field(aE,!1);if(!o)return!1;let s=o.pop(n,t,e);return s?(r(s),!0):!1}}var cE=fd(0,!1),Gg=fd(1,!1),mH=fd(0,!0),gH=fd(1,!0);var Nt=class{constructor(e,t,r,o,s){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=o,this.selectionsAfter=s}setSelAfter(e){return new Nt(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(o=>o.toJSON())}}static fromJSON(e){return new Nt(e.changes&&_e.fromJSON(e.changes),[],e.mapped&&wn.fromJSON(e.mapped),e.startSelection&&F.fromJSON(e.startSelection),e.selectionsAfter.map(F.fromJSON))}static fromTransaction(e,t){let r=Wn;for(let o of e.startState.facet(fH)){let s=o(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new Nt(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,Wn)}static selection(e){return new Nt(void 0,Wn,void 0,void 0,e)}};function dd(n,e,t,r){let o=e+1>t+20?e-t-1:0,s=n.slice(o,e);return s.push(r),s}function bH(n,e){let t=[],r=!1;return n.iterChangedRanges((o,s)=>t.push(o,s)),e.iterChangedRanges((o,s,i,l)=>{for(let a=0;a<t.length;){let c=t[a++],u=t[a++];l>=c&&i<=u&&(r=!0)}}),r}function yH(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function uE(n,e){return n.length?e.length?n.concat(e):n:e}var Wn=[],xH=200;function hE(n,e){if(n.length){let t=n[n.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-xH));return r.length&&r[r.length-1].eq(e)?n:(r.push(e),dd(n,n.length-1,1e9,t.setSelAfter(r)))}else return[Nt.selection([e])]}function vH(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Kg(n,e){if(!n.length)return n;let t=n.length,r=Wn;for(;t;){let o=CH(n[t-1],e,r);if(o.changes&&!o.changes.empty||o.effects.length){let s=n.slice(0,t);return s[t-1]=o,s}else e=o.mapped,t--,r=o.selectionsAfter}return r.length?[Nt.selection(r)]:Wn}function CH(n,e,t){let r=uE(n.selectionsAfter.length?n.selectionsAfter.map(l=>l.map(e)):Wn,t);if(!n.changes)return Nt.selection(r);let o=n.changes.map(e),s=e.mapDesc(n.changes,!0),i=n.mapped?n.mapped.composeDesc(s):s;return new Nt(o,Ve.mapEffects(n.effects,e),i,n.startSelection.map(s),r)}var wH=/^(input\.type|delete)($|\.)/,_n=class{constructor(e,t,r=0,o=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=o}isolate(){return this.prevTime?new _n(this.done,this.undone):this}addChanges(e,t,r,o,s){let i=this.done,l=i[i.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!r||wH.test(r))&&(!l.selectionsAfter.length&&t-this.prevTime<o.newGroupDelay&&o.joinToEvent(s,bH(l.changes,e.changes))||r=="input.type.compose")?i=dd(i,i.length-1,o.minDepth,new Nt(e.changes.compose(l.changes),uE(e.effects,l.effects),l.mapped,l.startSelection,Wn)):i=dd(i,i.length,o.minDepth,e),new _n(i,Wn,t,r)}addSelection(e,t,r,o){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:Wn;return s.length>0&&t-this.prevTime<o&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&yH(s[s.length-1],e)?this:new _n(hE(this.done,e),this.undone,t,r)}addMapping(e){return new _n(Kg(this.done,e),Kg(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,r){let o=e==0?this.done:this.undone;if(o.length==0)return null;let s=o[o.length-1];if(r&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:Ug.of({side:e,rest:vH(o)}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let i=o.length==1?Wn:o.slice(0,o.length-1);return s.mapped&&(i=Kg(i,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Ug.of({side:e,rest:i}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};_n.empty=new _n(Wn,Wn);var Yg=[{key:"Mod-z",run:cE,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Gg,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Gg,preventDefault:!0},{key:"Mod-u",run:mH,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:gH,preventDefault:!0}];function bl(n,e){return F.create(n.ranges.map(e),n.mainIndex)}function Pr(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function cr({state:n,dispatch:e},t){let r=bl(n.selection,t);return r.eq(n.selection)?!1:(e(Pr(n,r)),!0)}function pd(n,e){return F.cursor(e?n.to:n.from)}function dE(n,e){return cr(n,t=>t.empty?n.moveByChar(t,e):pd(t,e))}function Ht(n){return n.textDirectionAt(n.state.selection.main.head)==et.LTR}var fE=n=>dE(n,!Ht(n)),pE=n=>dE(n,Ht(n));function mE(n,e){return cr(n,t=>t.empty?n.moveByGroup(t,e):pd(t,e))}var SH=n=>mE(n,!Ht(n)),TH=n=>mE(n,Ht(n));function EH(n,e,t){if(e.type.prop(t))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function md(n,e,t){let r=Ot(n).resolveInner(e.head),o=t?ce.closedBy:ce.openedBy;for(let a=e.head;;){let c=t?r.childAfter(a):r.childBefore(a);if(!c)break;EH(n,c,o)?r=c:a=t?c.to:c.from}let s=r.type.prop(o),i,l;return s&&(i=t?js(n,r.from,1):js(n,r.to,-1))&&i.matched?l=t?i.end.to:i.end.from:l=t?r.to:r.from,F.cursor(l,t?-1:1)}var RH=n=>cr(n,e=>md(n.state,e,!Ht(n))),DH=n=>cr(n,e=>md(n.state,e,Ht(n)));function gE(n,e){return cr(n,t=>{if(!t.empty)return pd(t,e);let r=n.moveVertically(t,e);return r.head!=t.head?r:n.moveToLineBoundary(t,e)})}var bE=n=>gE(n,!1),yE=n=>gE(n,!0);function xE(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,r=0,o;if(e){for(let s of n.state.facet(he.scrollMargins)){let i=s(n);i!=null&&i.top&&(t=Math.max(i==null?void 0:i.top,t)),i!=null&&i.bottom&&(r=Math.max(i==null?void 0:i.bottom,r))}o=n.scrollDOM.clientHeight-t-r}else o=(n.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:r,selfScroll:e,height:Math.max(n.defaultLineHeight,o-5)}}function vE(n,e){let t=xE(n),{state:r}=n,o=bl(r.selection,i=>i.empty?n.moveVertically(i,e,t.height):pd(i,e));if(o.eq(r.selection))return!1;let s;if(t.selfScroll){let i=n.coordsAtPos(r.selection.main.head),l=n.scrollDOM.getBoundingClientRect(),a=l.top+t.marginTop,c=l.bottom-t.marginBottom;i&&i.top>a&&i.bottom<c&&(s=he.scrollIntoView(o.main.head,{y:"start",yMargin:i.top-a}))}return n.dispatch(Pr(r,o),{effects:s}),!0}var ZT=n=>vE(n,!1),qg=n=>vE(n,!0);function Wo(n,e,t){let r=n.lineBlockAt(e.head),o=n.moveToLineBoundary(e,t);if(o.head==e.head&&o.head!=(t?r.to:r.from)&&(o=n.moveToLineBoundary(e,t,!1)),!t&&o.head==r.from&&r.length){let s=/^\s*/.exec(n.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;s&&e.head!=r.from+s&&(o=F.cursor(r.from+s))}return o}var kH=n=>cr(n,e=>Wo(n,e,!0)),MH=n=>cr(n,e=>Wo(n,e,!1)),PH=n=>cr(n,e=>Wo(n,e,!Ht(n))),IH=n=>cr(n,e=>Wo(n,e,Ht(n))),AH=n=>cr(n,e=>F.cursor(n.lineBlockAt(e.head).from,1)),LH=n=>cr(n,e=>F.cursor(n.lineBlockAt(e.head).to,-1));function OH(n,e,t){let r=!1,o=bl(n.selection,s=>{let i=js(n,s.head,-1)||js(n,s.head,1)||s.head>0&&js(n,s.head-1,1)||s.head<n.doc.length&&js(n,s.head+1,-1);if(!i||!i.end)return s;r=!0;let l=i.start.from==s.head?i.end.to:i.end.from;return t?F.range(s.anchor,l):F.cursor(l)});return r?(e(Pr(n,o)),!0):!1}var NH=({state:n,dispatch:e})=>OH(n,e,!1);function Kn(n,e){let t=bl(n.state.selection,r=>{let o=e(r);return F.range(r.anchor,o.head,o.goalColumn,o.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch(Pr(n.state,t)),!0)}function CE(n,e){return Kn(n,t=>n.moveByChar(t,e))}var wE=n=>CE(n,!Ht(n)),SE=n=>CE(n,Ht(n));function TE(n,e){return Kn(n,t=>n.moveByGroup(t,e))}var HH=n=>TE(n,!Ht(n)),VH=n=>TE(n,Ht(n));var BH=n=>Kn(n,e=>md(n.state,e,!Ht(n))),FH=n=>Kn(n,e=>md(n.state,e,Ht(n)));function EE(n,e){return Kn(n,t=>n.moveVertically(t,e))}var RE=n=>EE(n,!1),DE=n=>EE(n,!0);function kE(n,e){return Kn(n,t=>n.moveVertically(t,e,xE(n).height))}var eE=n=>kE(n,!1),tE=n=>kE(n,!0),zH=n=>Kn(n,e=>Wo(n,e,!0)),$H=n=>Kn(n,e=>Wo(n,e,!1)),WH=n=>Kn(n,e=>Wo(n,e,!Ht(n))),_H=n=>Kn(n,e=>Wo(n,e,Ht(n))),KH=n=>Kn(n,e=>F.cursor(n.lineBlockAt(e.head).from)),UH=n=>Kn(n,e=>F.cursor(n.lineBlockAt(e.head).to)),nE=({state:n,dispatch:e})=>(e(Pr(n,{anchor:0})),!0),rE=({state:n,dispatch:e})=>(e(Pr(n,{anchor:n.doc.length})),!0),oE=({state:n,dispatch:e})=>(e(Pr(n,{anchor:n.selection.main.anchor,head:0})),!0),sE=({state:n,dispatch:e})=>(e(Pr(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),GH=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),qH=({state:n,dispatch:e})=>{let t=bd(n).map(({from:r,to:o})=>F.range(r,Math.min(o+1,n.doc.length)));return e(n.update({selection:F.create(t),userEvent:"select"})),!0},jH=({state:n,dispatch:e})=>{let t=bl(n.selection,r=>{var o;let s=Ot(n).resolveInner(r.head,1);for(;!(s.from<r.from&&s.to>=r.to||s.to>r.to&&s.from<=r.from||!(!((o=s.parent)===null||o===void 0)&&o.parent));)s=s.parent;return F.range(s.to,s.from)});return e(Pr(n,t)),!0},QH=({state:n,dispatch:e})=>{let t=n.selection,r=null;return t.ranges.length>1?r=F.create([t.main]):t.main.empty||(r=F.create([F.cursor(t.main.head)])),r?(e(Pr(n,r)),!0):!1};function gd(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:r}=n,o=r.changeByRange(s=>{let{from:i,to:l}=s;if(i==l){let a=e(i);a<i?(t="delete.backward",a=hd(n,a,!1)):a>i&&(t="delete.forward",a=hd(n,a,!0)),i=Math.min(i,a),l=Math.max(l,a)}else i=hd(n,i,!1),l=hd(n,l,!0);return i==l?{range:s}:{changes:{from:i,to:l},range:F.cursor(i)}});return o.changes.empty?!1:(n.dispatch(r.update(o,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?he.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function hd(n,e,t){if(n instanceof he)for(let r of n.state.facet(he.atomicRanges).map(o=>o(n)))r.between(e,e,(o,s)=>{o<e&&s>e&&(e=t?s:o)});return e}var ME=(n,e)=>gd(n,t=>{let{state:r}=n,o=r.doc.lineAt(t),s,i;if(!e&&t>o.from&&t<o.from+200&&!/[^ \t]/.test(s=o.text.slice(0,t-o.from))){if(s[s.length-1]==" ")return t-1;let l=zs(s,r.tabSize),a=l%dc(r)||dc(r);for(let c=0;c<a&&s[s.length-1-c]==" ";c++)t--;i=t}else i=Lt(o.text,t-o.from,e,e)+o.from,i==t&&o.number!=(e?r.doc.lines:1)&&(i+=e?1:-1);return i}),jg=n=>ME(n,!1),PE=n=>ME(n,!0),IE=(n,e)=>gd(n,t=>{let r=t,{state:o}=n,s=o.doc.lineAt(r),i=o.charCategorizer(r);for(let l=null;;){if(r==(e?s.to:s.from)){r==t&&s.number!=(e?o.doc.lines:1)&&(r+=e?1:-1);break}let a=Lt(s.text,r-s.from,e)+s.from,c=s.text.slice(Math.min(r,a)-s.from,Math.max(r,a)-s.from),u=i(c);if(l!=null&&u!=l)break;(c!=" "||r!=t)&&(l=u),r=a}return r}),AE=n=>IE(n,!1),XH=n=>IE(n,!0),LE=n=>gd(n,e=>{let t=n.lineBlockAt(e).to;return e<t?t:Math.min(n.state.doc.length,e+1)}),JH=n=>gd(n,e=>{let t=n.lineBlockAt(e).from;return e>t?t:Math.max(0,e-1)});var YH=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:xe.of(["",""])},range:F.cursor(r.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},ZH=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>{if(!r.empty||r.from==0||r.from==n.doc.length)return{range:r};let o=r.from,s=n.doc.lineAt(o),i=o==s.from?o-1:Lt(s.text,o-s.from,!1)+s.from,l=o==s.to?o+1:Lt(s.text,o-s.from,!0)+s.from;return{changes:{from:i,to:l,insert:n.doc.slice(o,l).append(n.doc.slice(i,o))},range:F.cursor(l)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function bd(n){let e=[],t=-1;for(let r of n.selection.ranges){let o=n.doc.lineAt(r.from),s=n.doc.lineAt(r.to);if(!r.empty&&r.to==s.from&&(s=n.doc.lineAt(r.to-1)),t>=o.number){let i=e[e.length-1];i.to=s.to,i.ranges.push(r)}else e.push({from:o.from,to:s.to,ranges:[r]});t=s.number+1}return e}function OE(n,e,t){if(n.readOnly)return!1;let r=[],o=[];for(let s of bd(n)){if(t?s.to==n.doc.length:s.from==0)continue;let i=n.doc.lineAt(t?s.to+1:s.from-1),l=i.length+1;if(t){r.push({from:s.to,to:i.to},{from:s.from,insert:i.text+n.lineBreak});for(let a of s.ranges)o.push(F.range(Math.min(n.doc.length,a.anchor+l),Math.min(n.doc.length,a.head+l)))}else{r.push({from:i.from,to:s.from},{from:s.to,insert:n.lineBreak+i.text});for(let a of s.ranges)o.push(F.range(a.anchor-l,a.head-l))}}return r.length?(e(n.update({changes:r,scrollIntoView:!0,selection:F.create(o,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}var eV=({state:n,dispatch:e})=>OE(n,e,!1),tV=({state:n,dispatch:e})=>OE(n,e,!0);function NE(n,e,t){if(n.readOnly)return!1;let r=[];for(let o of bd(n))t?r.push({from:o.from,insert:n.doc.slice(o.from,o.to)+n.lineBreak}):r.push({from:o.to,insert:n.lineBreak+n.doc.slice(o.from,o.to)});return e(n.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var nV=({state:n,dispatch:e})=>NE(n,e,!1),rV=({state:n,dispatch:e})=>NE(n,e,!0),oV=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(bd(e).map(({from:o,to:s})=>(o>0?o--:s<e.doc.length&&s++,{from:o,to:s}))),r=bl(e.selection,o=>n.moveVertically(o,!0)).map(t);return n.dispatch({changes:t,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function sV(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=Ot(n).resolveInner(e),r=t.childBefore(e),o=t.childAfter(e),s;return r&&o&&r.to<=e&&o.from>=e&&(s=r.type.prop(ce.closedBy))&&s.indexOf(o.name)>-1&&n.doc.lineAt(r.to).from==n.doc.lineAt(o.from).from?{from:r.to,to:o.from}:null}var iV=HE(!1),lV=HE(!0);function HE(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange(o=>{let{from:s,to:i}=o,l=e.doc.lineAt(s),a=!n&&s==i&&sV(e,s);n&&(s=i=(i<=l.to?l:e.doc.lineAt(i)).to);let c=new qs(e,{simulateBreak:s,simulateDoubleBreak:!!a}),u=Bg(c,s);for(u==null&&(u=/^\s*/.exec(e.doc.lineAt(s).text)[0].length);i<l.to&&/\s/.test(l.text[i-l.from]);)i++;a?{from:s,to:i}=a:s>l.from&&s<l.from+100&&!/\S/.test(l.text.slice(0,s))&&(s=l.from);let h=["",fc(e,u)];return a&&h.push(fc(e,c.lineIndent(l.from,-1))),{changes:{from:s,to:i,insert:xe.of(h)},range:F.cursor(s+1+h[1].length)}});return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Zg(n,e){let t=-1;return n.changeByRange(r=>{let o=[];for(let i=r.from;i<=r.to;){let l=n.doc.lineAt(i);l.number>t&&(r.empty||r.to>l.from)&&(e(l,o,r),t=l.number),i=l.to+1}let s=n.changes(o);return{changes:o,range:F.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}var aV=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),r=new qs(n,{overrideIndentation:s=>{let i=t[s];return i==null?-1:i}}),o=Zg(n,(s,i,l)=>{let a=Bg(r,s.from);if(a==null)return;/\S/.test(s.text)||(a=0);let c=/^\s*/.exec(s.text)[0],u=fc(n,a);(c!=u||l.from<s.from+c.length)&&(t[s.from]=a,i.push({from:s.from,to:s.from+c.length,insert:u}))});return o.changes.empty||e(n.update(o,{userEvent:"indent"})),!0},cV=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Zg(n,(t,r)=>{r.push({from:t.from,insert:n.facet(hc)})}),{userEvent:"input.indent"})),!0),uV=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Zg(n,(t,r)=>{let o=/^\s*/.exec(t.text)[0];if(!o)return;let s=zs(o,n.tabSize),i=0,l=fc(n,Math.max(0,s-dc(n)));for(;i<o.length&&i<l.length&&o.charCodeAt(i)==l.charCodeAt(i);)i++;r.push({from:t.from+i,to:t.from+o.length,insert:l.slice(i)})}),{userEvent:"delete.dedent"})),!0);var hV=[{key:"Ctrl-b",run:fE,shift:wE,preventDefault:!0},{key:"Ctrl-f",run:pE,shift:SE},{key:"Ctrl-p",run:bE,shift:RE},{key:"Ctrl-n",run:yE,shift:DE},{key:"Ctrl-a",run:AH,shift:KH},{key:"Ctrl-e",run:LH,shift:UH},{key:"Ctrl-d",run:PE},{key:"Ctrl-h",run:jg},{key:"Ctrl-k",run:LE},{key:"Ctrl-Alt-h",run:AE},{key:"Ctrl-o",run:YH},{key:"Ctrl-t",run:ZH},{key:"Ctrl-v",run:qg}],dV=[{key:"ArrowLeft",run:fE,shift:wE,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:SH,shift:HH,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:PH,shift:WH,preventDefault:!0},{key:"ArrowRight",run:pE,shift:SE,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:TH,shift:VH,preventDefault:!0},{mac:"Cmd-ArrowRight",run:IH,shift:_H,preventDefault:!0},{key:"ArrowUp",run:bE,shift:RE,preventDefault:!0},{mac:"Cmd-ArrowUp",run:nE,shift:oE},{mac:"Ctrl-ArrowUp",run:ZT,shift:eE},{key:"ArrowDown",run:yE,shift:DE,preventDefault:!0},{mac:"Cmd-ArrowDown",run:rE,shift:sE},{mac:"Ctrl-ArrowDown",run:qg,shift:tE},{key:"PageUp",run:ZT,shift:eE},{key:"PageDown",run:qg,shift:tE},{key:"Home",run:MH,shift:$H,preventDefault:!0},{key:"Mod-Home",run:nE,shift:oE},{key:"End",run:kH,shift:zH,preventDefault:!0},{key:"Mod-End",run:rE,shift:sE},{key:"Enter",run:iV},{key:"Mod-a",run:GH},{key:"Backspace",run:jg,shift:jg},{key:"Delete",run:PE},{key:"Mod-Backspace",mac:"Alt-Backspace",run:AE},{key:"Mod-Delete",mac:"Alt-Delete",run:XH},{mac:"Mod-Backspace",run:JH},{mac:"Mod-Delete",run:LE}].concat(hV.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),yd=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:RH,shift:BH},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:DH,shift:FH},{key:"Alt-ArrowUp",run:eV},{key:"Shift-Alt-ArrowUp",run:nV},{key:"Alt-ArrowDown",run:tV},{key:"Shift-Alt-ArrowDown",run:rV},{key:"Escape",run:QH},{key:"Mod-Enter",run:lV},{key:"Alt-l",mac:"Ctrl-l",run:qH},{key:"Mod-i",run:jH,preventDefault:!0},{key:"Mod-[",run:uV},{key:"Mod-]",run:cV},{key:"Mod-Alt-\\",run:aV},{key:"Shift-Mod-k",run:oV},{key:"Shift-Mod-\\",run:NH},{key:"Mod-/",run:sH},{key:"Alt-A",run:lH}].concat(dV);var fV=[...yd,...Yg],pV=(()=>[Tg(),Jg(),Sg(),Wg(),pc(Fg,{fallback:!0}),hl.of(fV)])();var mV=require("@vuu-ui/vuu-utils");var VE=[{label:"=",boost:10,type:"operator"},{label:"!=",boost:9,type:"operator"}],gV=[...VE,{label:"in",boost:6,type:"operator"},{label:"starts",boost:5,type:"operator"},{label:"ends",boost:4,type:"operator"}],bV=[...VE,{label:">",boost:8,type:"operator"},{label:"<",boost:7,type:"operator"}];var LV=require("@vuu-ui/vuu-utils"),db=require("react");var xl=class{constructor(e,t,r,o,s,i,l,a,c,u=0,h){this.p=e,this.stack=t,this.state=r,this.reducePos=o,this.pos=s,this.score=i,this.buffer=l,this.bufferBase=a,this.curContext=c,this.lookAhead=u,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let o=e.parser.context;return new xl(e,[],t,r,r,0,[],0,o?new xd(o,o.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,o=e&65535,{parser:s}=this.p,i=s.dynamicPrecedence(o);if(i&&(this.score+=i),r==0){this.pushState(s.getGoto(this.state,o,!0),this.reducePos),o<s.minRepeatTerm&&this.storeNode(o,this.reducePos,this.reducePos,4,!0),this.reduceContext(o,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),a=l?this.stack[l-2]:this.p.ranges[0].from,c=this.reducePos-a;c>=2e3&&!(!((t=this.p.parser.nodeSet.types[o])===null||t===void 0)&&t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=c));let u=l?this.stack[l-1]:0,h=this.bufferBase+this.buffer.length-u;if(o<s.minRepeatTerm||e&131072){let d=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(o,a,d,h+4,!0)}if(e&262144)this.state=this.stack[l];else{let d=this.stack[l-3];this.state=s.getGoto(d,o,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(o,a)}storeNode(e,t,r,o=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let i=this,l=this.buffer.length;if(l==0&&i.parent&&(l=i.bufferBase-i.parent.bufferBase,i=i.parent),l>0&&i.buffer[l-4]==0&&i.buffer[l-1]>-1){if(t==r)return;if(i.buffer[l-2]>=t){i.buffer[l-2]=r;return}}}if(!s||this.pos==r)this.buffer.push(e,t,r,o);else{let i=this.buffer.length;if(i>0&&this.buffer[i-4]!=0)for(;i>0&&this.buffer[i-2]>r;)this.buffer[i]=this.buffer[i-4],this.buffer[i+1]=this.buffer[i-3],this.buffer[i+2]=this.buffer[i-2],this.buffer[i+3]=this.buffer[i-1],i-=4,o>4&&(o-=4);this.buffer[i]=e,this.buffer[i+1]=t,this.buffer[i+2]=r,this.buffer[i+3]=o}}shift(e,t,r){let o=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,o),t<=this.p.parser.maxNode&&this.buffer.push(t,o,r,4);else{let s=e,{parser:i}=this.p;(r>this.pos||t<=i.maxNode)&&(this.pos=r,i.stateFlag(s,1)||(this.reducePos=r)),this.pushState(s,o),this.shiftContext(t,o),t<=i.maxNode&&this.buffer.push(t,o,r,4)}}apply(e,t,r){e&65536?this.reduce(e):this.shift(e,t,r)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(t,o),this.buffer.push(r,o,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,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),o=e.bufferBase+t;for(;e&&o==e.bufferBase;)e=e.parent;return new xl(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new tb(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if(!(r&65536))return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>4<<1||this.stack.length>=120){let o=[];for(let s=0,i;s<t.length;s+=2)(i=t[s+1])!=this.state&&this.p.parser.hasAction(i,e)&&o.push(t[s],i);if(this.stack.length<120)for(let s=0;o.length<4<<1&&s<t.length;s+=2){let i=t[s+1];o.some((l,a)=>a&1&&l==i)||o.push(t[s],i)}t=o}let r=[];for(let o=0;o<t.length&&r.length<4;o+=2){let s=t[o+1];if(s==this.state)continue;let i=this.split();i.pushState(s,this.pos),i.storeNode(0,i.pos,i.pos,4,!0),i.shiftContext(t[o],this.pos),i.score-=200,r.push(i)}return r}forceReduce(){let e=this.p.parser.stateSlot(this.state,5);if(!(e&65536))return!1;let{parser:t}=this.p;if(!t.validAction(this.state,e)){let r=e>>19,o=e&65535,s=this.stack.length-r*3;if(s<0||t.getGoto(this.stack[s],o,!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 t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}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 t=new xd(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},xd=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},BE;(function(n){n[n.Insert=200]="Insert",n[n.Delete=190]="Delete",n[n.Reduce=100]="Reduce",n[n.MaxNext=4]="MaxNext",n[n.MaxInsertStackDepth=300]="MaxInsertStackDepth",n[n.DampenInsertStackDepth=120]="DampenInsertStackDepth",n[n.MinBigReduction=2e3]="MinBigReduction"})(BE||(BE={}));var tb=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let o=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=o}},vl=class{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new vl(e,t,t-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 vl(this.stack,this.pos,this.index)}};function gc(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let r=0,o=0;r<n.length;){let s=0;for(;;){let i=n.charCodeAt(r++),l=!1;if(i==126){s=65535;break}i>=92&&i--,i>=34&&i--;let a=i-32;if(a>=46&&(a-=46,l=!0),s+=a,l)break;s*=46}t?t[o++]=s:t=new e(s)}return t}var yl=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},FE=new yl,nb=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=FE,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,o=this.rangeIndex,s=this.pos+e;for(;s<r.from;){if(!o)return null;let i=this.ranges[--o];s-=r.from-i.to,r=i}for(;t<0?s>r.to:s>=r.to;){if(o==this.ranges.length-1)return null;let i=this.ranges[++o];s+=i.from-r.to,r=i}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,o;if(t>=0&&t<this.chunk.length)r=this.pos+e,o=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(r=s,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)o=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let i=this.rangeIndex,l=this.range;for(;l.to<=r;)l=this.ranges[++i];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>l.to&&(this.chunk2=this.chunk2.slice(0,l.to-r)),o=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),o}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>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,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=FE,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,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let o of this.ranges){if(o.from>=t)break;o.to>e&&(r+=this.input.read(Math.max(o.from,e),Math.min(o.to,t)))}return r}},_o=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;GE(this.data,e,t,this.id,r.data,r.tokenPrecTable)}};_o.prototype.contextual=_o.prototype.fallback=_o.prototype.extend=!1;var rb=class{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data=typeof e=="string"?gc(e):e}token(e,t){let r=e.pos,o=0;for(;GE(this.data,e,t,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),o++}o&&(e.reset(r,e.token),e.acceptToken(this.elseToken,o))}};rb.prototype.contextual=_o.prototype.fallback=_o.prototype.extend=!1;function GE(n,e,t,r,o,s){let i=0,l=1<<r,{dialect:a}=t.p.parser;e:for(;l&n[i];){let c=n[i+1];for(let f=i+3;f<c;f+=2)if((n[f+1]&l)>0){let p=n[f];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||wV(p,e.token.value,o,s))){e.acceptToken(p);break}}let u=e.next,h=0,d=n[i+2];if(e.next<0&&d>h&&n[c+d*3-3]==65535&&n[c+d*3-3]==65535){i=n[c+d*3-1];continue e}for(;h<d;){let f=h+d>>1,p=c+f+(f<<1),m=n[p],g=n[p+1]||65536;if(u<m)d=f;else if(u>=g)h=f+1;else{i=n[p+2],e.advance();continue e}}break}}function zE(n,e,t){for(let r=e,o;(o=n[r])!=65535;r++)if(o==t)return r-e;return-1}function wV(n,e,t,r){let o=zE(t,r,e);return o<0||zE(t,r,n)<o}var ur=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),eb=null,$E;(function(n){n[n.Margin=25]="Margin"})($E||($E={}));function WE(n,e,t){let r=n.cursor(Qe.IncludeAnonymous);for(r.moveTo(e);;)if(!(t<0?r.childBefore(e):r.childAfter(e)))for(;;){if((t<0?r.to<e:r.from>e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(n.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:n.length}}var ob=class{constructor(e,t){this.fragments=e,this.nodeSet=t,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?WE(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?WE(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 t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let r=this.trees[t],o=this.index[t];if(o==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=r.children[o],i=this.start[t]+r.positions[o];if(i>e)return this.nextStart=i,null;if(s instanceof Te){if(i==e){if(i<this.safeFrom)return null;let l=i+s.length;if(l<=this.safeTo){let a=s.prop(ce.lookAhead);if(!a||l+a<this.fragment.to)return s}}this.index[t]++,i+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(i),this.index.push(0))}else this.index[t]++,this.nextStart=i+s.length}}},sb=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new yl)}getActions(e){let t=0,r=null,{parser:o}=e.p,{tokenizers:s}=o,i=o.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let c=0;c<s.length;c++){if(!(1<<c&i))continue;let u=s[c],h=this.tokens[c];if(!(r&&!u.fallback)&&((u.contextual||h.start!=e.pos||h.mask!=i||h.context!=l)&&(this.updateCachedToken(h,u,e),h.mask=i,h.context=l),h.lookAhead>h.end+25&&(a=Math.max(h.lookAhead,a)),h.value!=0)){let d=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!u.extend&&(r=h,t>d))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!r&&e.pos==this.stream.end&&(r=new yl,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new yl,{pos:r,p:o}=e;return t.start=r,t.end=Math.min(r+1,o.stream.end),t.value=r==o.stream.end?o.parser.eofTerm:0,t}updateCachedToken(e,t,r){let o=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(o,e),r),e.value>-1){let{parser:s}=r.p;for(let i=0;i<s.specialized.length;i++)if(s.specialized[i]==e.value){let l=s.specializers[i](this.stream.read(e.start,e.end),r);if(l>=0&&r.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(o+1)}putAction(e,t,r,o){for(let s=0;s<o;s+=3)if(this.actions[s]==e)return o;return this.actions[o++]=e,this.actions[o++]=t,this.actions[o++]=r,o}addActions(e,t,r,o){let{state:s}=e,{parser:i}=e.p,{data:l}=i;for(let a=0;a<2;a++)for(let c=i.stateSlot(s,a?2:1);;c+=3){if(l[c]==65535)if(l[c+1]==1)c=io(l,c+2);else{o==0&&l[c+1]==2&&(o=this.putAction(io(l,c+2),t,r,o));break}l[c]==t&&(o=this.putAction(io(l,c+1),t,r,o))}return o}},_E;(function(n){n[n.Distance=5]="Distance",n[n.MaxRemainingPerStep=3]="MaxRemainingPerStep",n[n.MinBufferLengthPrune=500]="MinBufferLengthPrune",n[n.ForceReduceLimit=10]="ForceReduceLimit",n[n.CutDepth=15e3]="CutDepth",n[n.CutTo=9e3]="CutTo",n[n.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",n[n.MaxStackCount=12]="MaxStackCount"})(_E||(_E={}));var ib=class{constructor(e,t,r,o){this.parser=e,this.input=t,this.ranges=o,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 nb(t,o),this.tokens=new sb(e,this.stream),this.topTerm=e.top[1];let{from:s}=o[0];this.stacks=[xl.start(this,e.top[0],s)],this.fragments=r.length&&this.stream.end-s>e.bufferLength*4?new ob(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],o,s;if(this.bigReductionCount>300&&e.length==1){let[i]=e;for(;i.forceReduce()&&i.stack.length&&i.stack[i.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let i=0;i<e.length;i++){let l=e[i];for(;;){if(this.tokens.mainToken=null,l.pos>t)r.push(l);else{if(this.advanceStack(l,r,e))continue;{o||(o=[],s=[]),o.push(l);let a=this.tokens.getMainToken(l);s.push(a.value,a.end)}}break}}if(!r.length){let i=o&&SV(o);if(i)return this.stackToTree(i);if(this.parser.strict)throw ur&&o&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&o){let i=this.stoppedAt!=null&&o[0].pos>this.stoppedAt?o[0]:this.runRecovery(o,s,r);if(i)return this.stackToTree(i.forceAll())}if(this.recovering){let i=this.recovering==1?1:this.recovering*3;if(r.length>i)for(r.sort((l,a)=>a.score-l.score);r.length>i;)r.pop();r.some(l=>l.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let i=0;i<r.length-1;i++){let l=r[i];for(let a=i+1;a<r.length;a++){let c=r[a];if(l.sameState(c)||l.buffer.length>500&&c.buffer.length>500)if((l.score-c.score||l.buffer.length-c.buffer.length)>0)r.splice(a--,1);else{r.splice(i--,1);continue e}}}r.length>12&&r.splice(12,r.length-12)}this.minStackPos=r[0].pos;for(let i=1;i<r.length;i++)r[i].pos<this.minStackPos&&(this.minStackPos=r[i].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,t,r){let o=e.pos,{parser:s}=this,i=ur?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&o>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,u=c?e.curContext.hash:0;for(let h=this.fragments.nodeAt(o);h;){let d=this.parser.nodeSet.types[h.type.id]==h.type?s.getGoto(e.state,h.type.id):-1;if(d>-1&&h.length&&(!c||(h.prop(ce.contextHash)||0)==u))return e.useNode(h,d),ur&&console.log(i+this.stackID(e)+` (via reuse of ${s.getName(h.type.id)})`),!0;if(!(h instanceof Te)||h.children.length==0||h.positions[0]>0)break;let f=h.children[0];if(f instanceof Te&&h.positions[0]==0)h=f;else break}}let l=s.stateSlot(e.state,4);if(l>0)return e.reduce(l),ur&&console.log(i+this.stackID(e)+` (via always-reduce ${s.getName(l&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let c=0;c<a.length;){let u=a[c++],h=a[c++],d=a[c++],f=c==a.length||!r,p=f?e:e.split();if(p.apply(u,h,d),ur&&console.log(i+this.stackID(p)+` (via ${u&65536?`reduce of ${s.getName(u&65535)}`:"shift"} for ${s.getName(h)} @ ${o}${p==e?"":", split"})`),f)return!0;p.pos>o?t.push(p):r.push(p)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return KE(e,t),!0}}runRecovery(e,t,r){let o=null,s=!1;for(let i=0;i<e.length;i++){let l=e[i],a=t[i<<1],c=t[(i<<1)+1],u=ur?this.stackID(l)+" -> ":"";if(l.deadEnd&&(s||(s=!0,l.restart(),ur&&console.log(u+this.stackID(l)+" (restarted)"),this.advanceFully(l,r))))continue;let h=l.split(),d=u;for(let f=0;h.forceReduce()&&f<10&&(ur&&console.log(d+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,r));f++)ur&&(d=this.stackID(h)+" -> ");for(let f of l.recoverByInsert(a))ur&&console.log(u+this.stackID(f)+" (via recover-insert)"),this.advanceFully(f,r);this.stream.end>l.pos?(c==l.pos&&(c++,a=0),l.recoverByDelete(a,c),ur&&console.log(u+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),KE(l,r)):(!o||o.score<l.score)&&(o=l)}return o}stackToTree(e){return e.close(),Te.build({buffer:vl.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 t=(eb||(eb=new WeakMap)).get(e);return t||eb.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function KE(n,e){for(let t=0;t<e.length;t++){let r=e[t];if(r.pos==n.pos&&r.sameState(n)){e[t].score<n.score&&(e[t]=n);return}}e.push(n)}var lb=class{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}};var Xs=class extends So{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let l=0;l<e.repeatNodeCount;l++)t.push("");let r=Object.keys(e.topRules).map(l=>e.topRules[l][1]),o=[];for(let l=0;l<t.length;l++)o.push([]);function s(l,a,c){o[l].push([a,a.deserialize(String(c))])}if(e.nodeProps)for(let l of e.nodeProps){let a=l[0];typeof a=="string"&&(a=ce[a]);for(let c=1;c<l.length;){let u=l[c++];if(u>=0)s(u,a,l[c++]);else{let h=l[c+-u];for(let d=-u;d>0;d--)s(l[c++],a,h);c++}}}this.nodeSet=new Ur(t.map((l,a)=>rt.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:o[a],top:r.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 i=gc(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(UE),this.states=gc(e.states,Uint32Array),this.data=gc(e.stateData),this.goto=gc(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(l=>typeof l=="number"?new _o(i,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,t,r){let o=new ib(this,e,t,r);for(let s of this.wrappers)o=s(o,e,t,r);return o}getGoto(e,t,r=!1){let o=this.goto;if(t>=o[0])return-1;for(let s=o[t+1];;){let i=o[s++],l=i&1,a=o[s++];if(l&&r)return a;for(let c=s+(i>>1);s<c;s++)if(o[s]==e)return a;if(l)return-1}}hasAction(e,t){let r=this.data;for(let o=0;o<2;o++)for(let s=this.stateSlot(e,o?2:1),i;;s+=3){if((i=r[s])==65535)if(r[s+1]==1)i=r[s=io(r,s+2)];else{if(r[s+1]==2)return io(r,s+2);break}if(i==t||i==0)return io(r,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){if(t==this.stateSlot(e,4))return!0;for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=io(this.data,r+2);else return!1;if(t==io(this.data,r+1))return!0}}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=io(this.data,r+2);else break;if(!(this.data[r+2]&1)){let o=this.data[r+1];t.some((s,i)=>i&1&&s==o)||t.push(this.data[r],o)}}return t}configure(e){let t=Object.assign(Object.create(Xs.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let o=e.tokenizers.find(s=>s.from==r);return o?o.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,o)=>{let s=e.specializers.find(l=>l.from==r.external);if(!s)return r;let i=Object.assign(Object.assign({},r),{external:s.to});return t.specializers[o]=UE(i),i})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}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 t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let s of e.split(" ")){let i=t.indexOf(s);i>=0&&(r[i]=!0)}let o=null;for(let s=0;s<t.length;s++)if(!r[s])for(let i=this.dialects[t[s]],l;(l=this.data[i++])!=65535;)(o||(o=new Uint8Array(this.maxTerm+1)))[l]=1;return new lb(e,r,o)}static deserialize(e){return new Xs(e)}};function io(n,e){return n[e]|n[e+1]<<16}function SV(n){let e=null;for(let t of n){let r=t.p.stoppedAt;(t.pos==t.p.stream.end||r!=null&&t.pos>r)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function UE(n){if(n.external){let e=n.extend?1:0;return(t,r)=>n.external(t,r)<<1|e}return n.get}var vd=Xs.deserialize({version:14,states:"&fOVQPOOO!SQPO'#C^OVQPO'#CcQ!pQPOOO#OQPO'#CkO#TQPO'#CrOOQO'#Cy'#CyO#YQPO,58}OVQPO,59QOVQPO,59QOVQPO,59VOVQPO'#CtOOQO,59^,59^OOQO1G.i1G.iOOQO1G.l1G.lO#kQPO1G.lO$fQPO'#CmO%WQQO1G.qOOQO'#C{'#C{O%cQPO,59`OOQO'#Cn'#CnO%wQPO,59XOVQPO,59ZOVQPO,59[OVQPO7+$]OVQPO'#CuO&`QPO1G.zOOQO1G.z1G.zO&hQQO'#C^O&rQQO1G.sO'ZQQO1G.uOOQO1G.v1G.vO'fQPO<<GwO'wQPO,59aOOQO-E6s-E6sOOQO7+$f7+$fOVQPOAN=cO(]QQO1G.lO(tQPOG22}OOQOLD(iLD(iO%wQPO,59QO%wQPO,59Q",stateData:")[~OlOS~ORUOSUOTUOUUOWQO`SOnPO~OWgXZQX[QX]QX^QXeQX~OjQXXQXpQXqQXrQXsQXtQXuQX~PnOZWO[WO]XO^XO~OWYO~OWZO~OX]OZWO[WO]XO^XO~OZWO[WO]Yi^YijYiXYipYiqYirYisYitYiuYieYi~OZWO[WO]XO^XOpdOqdOrdOsdOtdOudO~OehOvfOwgO~OXkOZWO[WO]XO^XOeiO~ORUOSUOTUOUUOWQO`SOnlO~OXsOeiO~OvQXwQX~PnOZxO[xO]yO^yOeaivaiwai~OwgOecivci~OZWO[WO]XO^XOetO~OZWO[WO]XO^XOXiaeia~OZxO[xO]Yi^YieYivYiwYi~OXwOZWO[WO]XO^XO~O`UTn~",goto:"#spPPqPPPPqPPqPPPPqP!R!W!R!RPq!Z!k!nPPP!tP#jmUOQWXYZefghitxyVbYfgRe`mTOQWXYZefghitxyR[TQjcRrjQROQVQS^WxQ_XU`YfgQcZQmeQphQqiQuyRvtQaYQnfRog",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:375});var C7=zo.define({name:"VuuColumnExpression",parser:vd.configure({props:[ac({Function:W.variableName,String:W.string,Or:W.emphasis,Operator:W.operator})]})});var ab=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}}},cb=class{constructor(e){this.type="colExpression";this.column=e}toJSON(){return{type:this.type,column:this.column}}},yc,Ys,qE=class{constructor(e="unknown"){pe(this,yc,[{type:"unknown"},{type:"unknown"}]);pe(this,Ys,void 0);this.type="arithmeticExpression";Z(this,Ys,e)}get op(){return R(this,Ys)}set op(e){Z(this,Ys,e)}get expressions(){return R(this,yc)}toJSON(){return{type:this.type,op:R(this,Ys),expressions:R(this,yc)}}};yc=new WeakMap,Ys=new WeakMap;var Tl,ub=class{constructor(e){pe(this,Tl,[]);this.type="callExpression";this.functionName=e}get expressions(){return R(this,Tl)}get arguments(){return R(this,Tl)}toJSON(){return{type:this.type,functionName:this.functionName,arguments:R(this,Tl).map(e=>{var t;return(t=e.toJSON)==null?void 0:t.call(e)})}}};Tl=new WeakMap;var xc,El,wl=class{constructor(){pe(this,xc,[{type:"unknown"},{type:"unknown"}]);pe(this,El,"unknown");this.type="relationalExpression"}get op(){return R(this,El)}set op(e){Z(this,El,e)}get expressions(){return R(this,xc)}toJSON(){return{type:this.type,op:R(this,El),expressions:R(this,xc)}}};xc=new WeakMap,El=new WeakMap;var vc,Rl,Sl=class{constructor(e){pe(this,vc,[{type:"unknown"},{type:"unknown"}]);pe(this,Rl,void 0);this.type="booleanCondition";Z(this,Rl,e)}get op(){return R(this,Rl)}get expressions(){return R(this,vc)}toJSON(){return{type:this.type,op:R(this,Rl),expressions:R(this,vc).map(e=>{var t;return(t=e.toJSON)==null?void 0:t.call(e)})}}};vc=new WeakMap,Rl=new WeakMap;var Ir,bc=class{constructor(e){pe(this,Ir,void 0);this.type="conditionalExpression";Z(this,Ir,[e?new Sl(e):new wl,{type:"unknown"},{type:"unknown"}])}get expressions(){return R(this,Ir)}get condition(){return R(this,Ir)[0]}get truthyExpression(){return R(this,Ir)[1]}set truthyExpression(e){R(this,Ir)[1]=e}get falsyExpression(){return R(this,Ir)[2]}set falsyExpression(e){R(this,Ir)[2]=e}toJSON(){var e,t,r,o,s;return{type:this.type,condition:(t=(e=this.condition).toJSON)==null?void 0:t.call(e),truthyExpression:this.truthyExpression,falsyExpression:(s=(o=(r=this.falsyExpression)==null?void 0:r.toJSON)==null?void 0:o.call(r))!=null?s:this.falsyExpression}}};Ir=new WeakMap;var Js=n=>n.type==="unknown",Cd=n=>n.type==="arithmeticExpression",TV=n=>n.type==="callExpression",Cl=n=>n.type==="conditionalExpression",EV=n=>n.type==="relationalExpression"||n.type==="booleanCondition";var RV=n=>n.type==="booleanCondition",hb=n=>(n==null?void 0:n.type)==="relationalExpression";var Un=n=>{if(Js(n))return n;if(hb(n)){let[e,t]=n.expressions;if(Vt(e))return Un(e);if(n.op==="unknown")return n;if(Vt(t))return Un(t)}else if(EV(n)){let{expressions:e=[]}=n;for(let t of e)if(Vt(t))return Un(t)}else if(Cl(n)){let{condition:e,truthyExpression:t,falsyExpression:r}=n;if(Vt(e))return Un(e);if(Vt(t))return Un(t);if(Vt(r))return Un(r)}else if(Cd(n)){let{expressions:e=[]}=n;for(let t of e)if(Vt(t))return Un(t)}},wd=(n,e,t)=>{let{expressions:r=[]}=n;if(r.includes(e)){let o=r.indexOf(e);return r.splice(o,1,t),!0}else for(let o of r)if(wd(o,e,t))return!0;return!1},Vt=n=>Js(n)?!0:Cl(n)?Vt(n.condition)||Vt(n.truthyExpression)||Vt(n.falsyExpression):hb(n)||RV(n)?n.op===void 0||n.expressions.some(e=>Vt(e)):!1,jE=(n,e)=>{let t=Un(n);t?t.expressions?t.expressions.push(e):console.warn("don't know how to treat targetExpression"):console.error("no target expression found")},ve,Zs,QE=class{constructor(){pe(this,ve,void 0);pe(this,Zs,[])}setCondition(e){if(R(this,ve)===void 0)this.addExpression(new bc(e));else if(Cl(R(this,ve))){if(Vt(R(this,ve).condition)){let t=e?new Sl(e):new wl;this.addExpression(t)}else if(Js(R(this,ve).truthyExpression))R(this,ve).truthyExpression=new bc(e);else if(Vt(R(this,ve).truthyExpression)){let t=e?new Sl(e):new wl;this.addExpression(t)}else if(Js(R(this,ve).falsyExpression))R(this,ve).falsyExpression=new bc(e);else if(Vt(R(this,ve).falsyExpression)){let t=e?new Sl(e):new wl;this.addExpression(t)}}else console.error("setCondition called unexpectedly")}addExpression(e){if(R(this,Zs).length>0){let t=R(this,Zs).at(-1);t==null||t.arguments.push(e)}else if(R(this,ve)===void 0)Z(this,ve,e);else if(Cd(R(this,ve))){let t=Un(R(this,ve));t&&Js(t)&&wd(R(this,ve),t,e)}else if(Cl(R(this,ve))&&Vt(R(this,ve))){let t=Un(R(this,ve));t&&Js(t)?wd(R(this,ve),t,e):t&&jE(t,e)}}setFunction(e){let t=new ub(e);this.addExpression(t),R(this,Zs).push(t)}setColumn(e){this.addExpression(new cb(e))}setArithmeticOp(e){let t=e,r=R(this,ve);Cd(r)&&(r.op=t)}setRelationalOperator(e){let t=e;if(R(this,ve)&&Cl(R(this,ve))){let r=Un(R(this,ve));hb(r)?r.op=t:console.error(`no target expression found (op = ${e})`)}}setValue(e){let t=new ab(e);if(R(this,ve)===void 0)Z(this,ve,t);else if(Cd(R(this,ve)))this.addExpression(t);else if(TV(R(this,ve)))R(this,ve).arguments.push(t);else if(Cl(R(this,ve)))if(Vt(R(this,ve))){let r=Un(R(this,ve));r&&Js(r)?wd(R(this,ve),r,t):r&&jE(r,t)}else console.log("what do we do with value, in a complete expression")}closeBrace(){R(this,Zs).pop()}get expression(){return R(this,ve)}toJSON(){var e;return(e=R(this,ve))==null?void 0:e.toJSON()}};ve=new WeakMap,Zs=new WeakMap;var R7=vd.configure({strict:!0}),DV=["Number","String"],kV=[...DV,"AndCondition","ArithmeticExpression","BooleanOperator","RelationalOperatorOperator","CallExpression","CloseBrace","Column","Comma","ConditionalExpression","Divide","Equal","If","Minus","OpenBrace","OrCondition","ParenthesizedExpression","Plus","RelationalExpression","RelationalOperator","Times"];var MV=so.define([{tag:W.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:W.comment,color:"green",fontStyle:"italic"}]),PV=pc(MV);var IV=he.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-tooltip":{background:"var(--vuuFilterEditor-tooltipBackground)",border:"var(--vuuFilterEditor-tooltipBorder)",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 AV=require("react");var OV=require("react/jsx-runtime");var YE=require("@vuu-ui/vuu-utils"),ZE=require("react");var XE=[{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:"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 Ar=require("@vuu-ui/vuu-utils"),JE=({name:n,description:e,example:t,params:r,type:o})=>{let s=(0,Ar.createEl)("div","vuuFunctionDoc"),i=(0,Ar.createEl)("div","function-heading"),l=(0,Ar.createEl)("span","function-name",n),a=(0,Ar.createEl)("span","param-list",r.description),c=(0,Ar.createEl)("span","function-type",o);i.appendChild(l),i.appendChild(a),i.appendChild(c);let u=(0,Ar.createEl)("p",void 0,e);if(s.appendChild(i),s.appendChild(u),t){let h=(0,Ar.createEl)("div","example-container","Example:"),d=(0,Ar.createEl)("div","example-expression",t.expression),f=(0,Ar.createEl)("div","example-result",t.result);h.appendChild(d),h.appendChild(f),s.appendChild(h)}return s};var NV=n=>({apply:`${n.name}( `,boost:2,expressionType:n.type,info:()=>JE(n),label:n.name,type:"function"});var LZ=XE.map(NV);var Sd=require("@vuu-ui/vuu-utils"),fb=require("react");var tR=require("react/jsx-runtime");var rR=require("react/jsx-runtime");var oR=require("react"),HV=U(require("classnames"),1);var sR=require("react/jsx-runtime");var gee=new Intl.NumberFormat;var Dl=require("@salt-ds/core");var Ed=require("@vuu-ui/vuu-utils"),mb=require("react");var iR=require("react/jsx-runtime");var lR=require("@vuu-ui/vuu-utils"),Lr=require("react"),aR=({availableColumns:n,onAvailableColumnsChange:e,onConfigChange:t,onCreateCalculatedColumn:r,onDataSourceConfigChange:o,tableConfig:s})=>{let i=pn(),l=(0,Lr.useRef)(),[a,c]=(0,Lr.useState)(n),u=(0,Lr.useCallback)((p,m,g)=>{i({type:"set-props",path:"#context-panel",props:{expanded:!0,content:{type:p,props:g},title:m}})},[i]),h=(0,Lr.useCallback)(p=>{let m=a.concat({name:p.name,serverDataType:(0,lR.getCalculatedColumnType)(p)});c(m),e==null||e(m),requestAnimationFrame(()=>{var g;(g=l.current)==null||g.call(l)}),r(p)},[a,e,r]),d=(0,Lr.useCallback)(p=>{u("ColumnSettings","Column Settings",{column:p.column,onConfigChange:t,onCreateCalculatedColumn:h,tableConfig:s,vuuTable:p.vuuTable})},[h,t,u,s]),f=(0,Lr.useCallback)(()=>{d({column:{name:"::",serverDataType:"string"},type:"columnSettings",vuuTable:{module:"SIMUL",table:"instruments"}})},[d]);return l.current=(0,Lr.useCallback)(()=>{u("TableSettings","DataGrid Settings",{availableColumns:a!=null?a:s.columns.map(({name:p,serverDataType:m})=>({name:p,serverDataType:m})),onAddCalculatedColumn:f,onConfigChange:t,onDataSourceConfigChange:o,tableConfig:s})},[a,f,t,o,u,s]),{showColumnSettingsPanel:d,showTableSettingsPanel:l.current}};var Rt=require("react");var gb=n=>`.vuuTableNext-col-headers .vuuTableNextHeaderCell:nth-child(${n})`,bb=(n,e)=>`.vuuTableNext-body > [aria-rowindex='${n}'] > [role='cell']:nth-child(${e+1})`,cR=(n,[e,t])=>{var s;let r=e===-1?gb(t):bb(e,t),o=(s=n.current)==null?void 0:s.querySelector(r);return VV(o)&&o.querySelector("button")||o},VV=n=>n.classList.contains("vuuTableNextCell-editable"),uR=n=>n.querySelector(".vuuTableInputCell")!==null;var BV=new Set(["Home","End","PageUp","PageDown","ArrowDown","ArrowLeft","ArrowRight","ArrowUp"]),FV=n=>BV.has(n),zV=["Home","End","PageUp","PageDown"],$V=n=>zV.includes(n),WV=[-1,-1],_V=[void 0,void 0],KV=n=>{var t,r;let e=(t=n.closest(".vuuTableNext"))==null?void 0:t.querySelector(".vuuTableNext-scrollbarContainer");if(e){let o=e==null?void 0:e.getBoundingClientRect(),s=(r=n.closest(".vuuTableNextCell"))==null?void 0:r.getBoundingClientRect();if(s)return s.bottom>o.bottom?["down",s.bottom-o.bottom]:s.top<o.top?["up",s.top-o.top]:s.right<o.right?["right",s.right-o.right]:s.left<o.left?["left",s.left-o.left]:_V;throw Error("Whats going on, cell not found")}else throw Error("Whats going on, scrollbar container not found")};function UV(n,[e,t],r,o){return n==="ArrowUp"?e>-1?[e-1,t]:[e,t]:n==="ArrowDown"?e===-1?[0,t]:e===o-1?[e,t]:[e+1,t]:n==="ArrowRight"?t<r-1?[e,t+1]:[e,t]:n==="ArrowLeft"?t>1?[e,t-1]:[e,t]:[e,t]}var hR=({columnCount:n=0,containerRef:e,disableHighlightOnFocus:t,requestScroll:r,rowCount:o=0,viewportRowCount:s})=>{var w;let i=(0,Rt.useRef)([-1,-1]),l=(0,Rt.useRef)(),a=(0,Rt.useRef)([-1,0]),c=y=>y==null?void 0:y.closest("[role='columnHeader'],[role='cell']"),u=y=>{var S,D;if(y.role==="columnHeader")return[-1,parseInt((S=y.dataset.idx)!=null?S:"-1",10)];{let k=y.closest("[role='row']");if(k){let E=parseInt((D=k.ariaRowIndex)!=null?D:"-1",10),N=Array.from(k.childNodes).indexOf(y);return[E,N]}}return WV},h=(0,Rt.useCallback)(y=>{var S;if(e.current){let D=cR(e,y);if(D){D!==l.current&&((S=l.current)==null||S.removeAttribute("tabindex"),l.current=D,D.setAttribute("tabindex","0"));let[k,E]=KV(D);k&&E&&(r==null||r({type:"scroll-distance",distance:E,direction:k})),D.focus()}}},[e,r]),d=(0,Rt.useCallback)((y,S,D=!1)=>{let k=[y,S];a.current=k,h(k),D&&(i.current=k)},[h]),f=(0,Rt.useCallback)((y,[S,D])=>new Promise(k=>{let E=S;switch(y){case"PageDown":E=Math.min(o-1,S+s),r==null||r({type:"scroll-page",direction:"down"});break;case"PageUp":E=Math.max(0,S-s),r==null||r({type:"scroll-page",direction:"up"});break;case"Home":E=0,r==null||r({type:"scroll-end",direction:"home"});break;case"End":E=o-1,r==null||r({type:"scroll-end",direction:"end"});break}setTimeout(()=>{k([E,D])},90)}),[r,o,s]),p=(0,Rt.useCallback)(()=>{var y;if(t!==!0&&(y=e.current)!=null&&y.contains(document.activeElement)){let S=c(document.activeElement);S&&(console.log({focusedCell:S}),i.current=u(S))}},[t,e]),m=(0,Rt.useCallback)(async y=>{console.log(`navigate child items ${y}`);let[S,D]=$V(y)?await f(y,a.current):UV(y,a.current,n,o);console.log(`nextRowIdx ${S} nextColIdx ${D}`);let[k,E]=a.current;(S!==k||D!==E)&&d(S,D,!0)},[n,f,o,d]),g=(0,Rt.useCallback)(y=>{o>0&&FV(y.key)&&(y.preventDefault(),y.stopPropagation(),m(y.key))},[o,m]),b=(0,Rt.useCallback)(y=>{let S=y.target,D=c(S);if(D){let[k,E]=u(D);d(k,E)}},[d]),C=(0,Rt.useCallback)(()=>{m("ArrowDown")},[m]),v=(0,Rt.useMemo)(()=>({navigate:C,onClick:b,onFocus:p,onKeyDown:g}),[b,p,g,C]),x=((w=e.current)==null?void 0:w.firstChild)!=null;return(0,Rt.useEffect)(()=>{if(x&&l.current===void 0){let{current:y}=e,S=(y==null?void 0:y.querySelector(gb(0)))||(y==null?void 0:y.querySelector(bb(0,0)));S&&(S.setAttribute("tabindex","0"),l.current=S)}},[e,x]),v};var Dt=require("@vuu-ui/vuu-utils"),Ee=require("react");var Rd=(n,e)=>{switch(e.type){case"col-size":return{...n,columns:n.columns.map(t=>t.name===e.column.name?{...t,width:e.width}:t)};case"column-prop":return{...n,columns:n.columns.map(t=>t.name===e.column.name?{...t,[e.property]:e.value}:t)};default:return n}};var ei=require("@vuu-ui/vuu-utils"),Bt=require("react");var kd=require("@vuu-ui/vuu-utils"),{SELECTED:GV}=kd.metadataKeys,Dd=class{constructor({from:e,to:t}){this.rowCount=0;this.setRowCount=e=>{e<this.data.length&&(this.data.length=e),this.rowCount=e};this.range=new kd.WindowRange(e,t),this.data=new Array(t-e),this.rowCount=0}add(e){let[t]=e;if(this.isWithinRange(t)){let r=t-this.range.from;this.data[r]=e}}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:t}){if(e!==this.range.from||t!==this.range.to){let[r,o]=this.range.overlap(e,t),s=new Array(Math.max(0,t-e));for(let i=r;i<o;i++){let l=this.getAtIndex(i);if(l){let a=i-e;s[a]=l}}this.data=s,this.range.from=e,this.range.to=t}}getSelectedRows(){return this.data.filter(e=>e[GV]===1)}};var dR=({dataSource:n,onFeatureEnabled:e,onFeatureInvocation:t,onSizeChange:r,onSubscribed:o,range:s=ei.NULL_RANGE,renderBufferSize:i=0})=>{let[,l]=(0,Bt.useState)(null),a=(0,Bt.useRef)([]),c=(0,Bt.useRef)(!0),u=(0,Bt.useRef)(!1),h=(0,Bt.useRef)(ei.NULL_RANGE),d=(0,Bt.useMemo)(()=>new Dd((0,ei.getFullRange)(s,i)),[]),f=(0,Bt.useCallback)(g=>{for(let b of g)d.add(b);a.current=d.data,c.current&&l({})},[d]),p=(0,Bt.useCallback)(g=>{g.type==="subscribed"?o==null||o(g):g.type==="viewport-update"?(typeof g.size=="number"&&(r==null||r(g.size),d.setRowCount(g.size)),g.rows?f(g.rows):typeof g.size=="number"&&(a.current=d.data,u.current=!0)):om(g)?e==null||e(g):sm(g)?t==null||t(g):console.log(`useDataSource unexpected message ${g.type}`)},[d,e,t,r,o,f]);(0,Bt.useEffect)(()=>()=>{c.current=!0,c.current=!1},[]),(0,Bt.useEffect)(()=>{n==null||n.subscribe({range:(0,ei.getFullRange)(s,i)},p)},[n,p,s,i]);let m=(0,Bt.useCallback)(g=>{let b=(0,ei.getFullRange)(g,i);d.setRange(b),n.range=h.current=b,n.emit("range",g)},[n,d,i]);return{data:a.current,range:h.current,setRange:m}};var Md=require("react"),fR=n=>{let e=(0,Md.useRef)(n);return(0,Md.useMemo)(()=>e.current,[])};var pR=require("@vuu-ui/vuu-utils"),mR=require("react"),gR=require("@vuu-ui/vuu-popups"),bR=({columns:n,data:e})=>{let[t]=(0,gR.useContextMenu)();return(0,mR.useCallback)(o=>{var a;let s=o.target,i=s==null?void 0:s.closest("div[role='cell']"),l=s==null?void 0:s.closest("div[role='row']");if(i&&l){let c=(0,pR.buildColumnMap)(n),u=parseInt((a=l.ariaRowIndex)!=null?a:"-1"),h=Array.from(l.childNodes).indexOf(i),d=e.find(([p])=>p===u),f=n[h];t(o,"grid",{columnMap:c,columnName:f,row:d})}},[n,e,t])};var yR=require("@vuu-ui/vuu-utils"),wc=require("react");var xR=({navigate:n})=>{let e=(0,wc.useCallback)(()=>{n()},[n]),t=(0,wc.useCallback)(s=>{let i=s.target,l=i.querySelector("input");l&&(l.focus(),l.select()),i.addEventListener("vuu-commit",e,!0)},[e]),r=(0,wc.useCallback)(s=>{let i=s.target,l=i.querySelector("input");l&&(l.focus(),l.select()),i.addEventListener("vuu-commit",e,!0)},[e]);return{onKeyDown:(0,wc.useCallback)(s=>{uR(s.target)&&((0,yR.isCharacterKey)(s.key)?t(s):s.key==="Enter"&&r(s))},[t,r])}};var we=require("@vuu-ui/vuu-utils");var vR=require("react"),{info:yb}=(0,we.logger)("useTableModel"),qV=100,jV=we.metadataKeys.count,QV=({serverDataType:n})=>n===void 0,XV=n=>{var e;if((0,we.isTypeDescriptor)(n.type))return(0,we.getCellRenderer)((e=n.type)==null?void 0:e.renderer)},JV=(n,e)=>{var r;let t=e.columns.find(({name:o})=>o===n.name);return t?t.serverDataType:(r=n.serverDataType)!=null?r:"string"},YV=["int","long","double"],CR=n=>n===void 0?void 0:YV.includes(n)?"right":"left",wR=n=>n.type==="columnSettings",SR=n=>n.type==="tableSettings",ZV=(n,e)=>{switch(yb==null||yb(`TableModelReducer ${e.type}`),console.log(`TableModelReducer ${e.type}`),e.type){case"init":return console.log({init:e}),ER(e);case"moveColumn":return tB(n,e);case"resizeColumn":return oB(n,e);case"setTableSchema":return sB(n,e);case"hideColumns":return nB(n,e);case"showColumns":return rB(n,e);case"pinColumn":return iB(n,e);case"updateColumnProp":return Ml(n,e);case"tableConfig":return DR(n,e);default:return console.log(`unhandled action ${e.type}`),n}},TR=(n,e)=>{let[t,r]=(0,vR.useReducer)(ZV,{tableConfig:n,dataSourceConfig:e},ER),{columns:o,headings:s,tableConfig:i,...l}=t;return{columns:o,dispatchColumnAction:r,headings:s,tableAttributes:l,tableConfig:i}};function ER({dataSourceConfig:n,tableConfig:e}){let{columns:t,...r}=e,o=t.filter((0,we.subscribedOnly)(n==null?void 0:n.columns)).map(RR(r)),s=o.some(we.isPinned)?(0,we.sortPinnedColumns)(o):o,i={columns:s,headings:(0,we.getTableHeadings)(s),tableConfig:e,...r};if(n){let{columns:l,...a}=n;i=DR(i,{type:"tableConfig",...a})}return i}var eB=(n,e)=>e==="uppercase"?n.toUpperCase():e==="capitalize"?n[0].toUpperCase()+n.slice(1).toLowerCase():n,RR=n=>(e,t)=>{let{columnDefaultWidth:r=qV,columnFormatHeader:o}=n,{align:s=CR(e.serverDataType),key:i,name:l,label:a=l,width:c=r,...u}=e,h={...u,align:s,CellRenderer:XV(e),clientSideEditValidationCheck:(0,we.hasValidationRules)(e.type)?DC(e.type.renderer.rules):void 0,label:eB(a,o),key:i!=null?i:t+jV,name:l,originalIdx:t,valueFormatter:(0,we.getValueFormatter)(e),width:c};return(0,we.isGroupColumn)(h)&&(h.columns=h.columns.map(d=>RR(n)(d,d.key))),h};function tB(n,{column:e,moveBy:t,moveTo:r}){let{columns:o}=n;if(typeof t=="number"){let s=o.indexOf(e),i=o.slice(),[l]=i.splice(s,1);return i.splice(s+t,0,l),{...n,columns:i}}else if(typeof r=="number"){let s=o.indexOf(e);return{...n,columns:(0,we.moveItem)(o,s,r)}}return n}function nB(n,{columns:e}){return e.some(t=>t.hidden!==!0)?e.reduce((t,r)=>r.hidden!==!0?Ml(t,{type:"updateColumnProp",column:r,hidden:!0}):t,n):n}function rB(n,{columns:e}){return e.some(t=>t.hidden)?e.reduce((t,r)=>r.hidden?Ml(t,{type:"updateColumnProp",column:r,hidden:!1}):t,n):n}function oB(n,{column:e,phase:t,width:r}){let o="updateColumnProp",s=t!=="end";switch(t){case"begin":return Ml(n,{type:o,column:e,resizing:s});case"end":return Ml(n,{type:o,column:e,resizing:s,width:r});case"resize":return Ml(n,{type:o,column:e,width:r});default:throw Error(`useTableModel.resizeColumn, invalid resizePhase ${t}`)}}function sB(n,{tableSchema:e}){let{columns:t}=n;if(t.some(QV)){let r=t.map(o=>{var i;let s=JV(o,e);return{...o,align:(i=o.align)!=null?i:CR(s),serverDataType:s}});return{...n,columns:r}}else return n}function iB(n,e){let{columns:t}=n,{column:r,pin:o}=e,s=t.find(i=>i.name===r.name);return s?(t=kl(t,{...s,pin:o}),t=(0,we.sortPinnedColumns)(t),{...n,columns:t}):n}function Ml(n,e){let{columns:t}=n,{align:r,column:o,hidden:s,label:i,resizing:l,width:a}=e,c=t.find(u=>u.name===o.name);return c&&((r==="left"||r==="right")&&(t=kl(t,{...c,align:r})),typeof i=="string"&&(t=kl(t,{...c,label:i})),typeof l=="boolean"&&(t=kl(t,{...c,resizing:l})),typeof s=="boolean"&&(t=kl(t,{...c,hidden:s})),typeof a=="number"&&(t=kl(t,{...c,width:a}))),{...n,columns:t}}function DR(n,{confirmed:e,filter:t,groupBy:r,sort:o}){let s=r!==void 0,i=typeof(t==null?void 0:t.filter)=="string",l=o&&o.sortDefs.length>0,a=n;return s&&(a={...n,columns:(0,we.applyGroupByToColumns)(a.columns,r,e)}),l&&(a={...n,columns:(0,we.applySortToColumns)(a.columns,o)}),i?a={...n,columns:(0,we.applyFilterToColumns)(a.columns,t)}:a.columns.some(we.isFilteredColumn)&&(a={...n,columns:(0,we.stripFilterFromColumns)(a.columns)}),a}function kl(n,e){return n.map(t=>t.name===e.name?e:t)}var Xt=require("react"),kR=n=>{let{scrollLeft:e,scrollTop:t}=n,{clientHeight:r,clientWidth:o,scrollHeight:s,scrollWidth:i}=n,l=e/(i-o),a=t/(s-r);return[l,a]},MR=({onAttach:n,onDetach:e})=>{let t=(0,Xt.useRef)(null);return(0,Xt.useCallback)(o=>{if(o)t.current=o,n==null||n(o);else if(t.current){let{current:s}=t;t.current=o,e==null||e(s)}},[n,e])},PR=({maxScrollLeft:n,maxScrollTop:e,onHorizontalScroll:t,onVerticalScroll:r,rowHeight:o,viewportRowCount:s})=>{let i=(0,Xt.useRef)(!1),l=(0,Xt.useRef)({scrollTop:0,scrollLeft:0}),a=(0,Xt.useRef)(null),c=(0,Xt.useRef)(null),u=(0,Xt.useCallback)(()=>{let{current:v}=c,{current:x}=a,{current:w}=i;if(w)i.current=!1;else if(v&&x){let[y,S]=kR(x),D=Math.round(y*n),k=Math.round(S*e);v.scrollTo({left:D,top:k,behavior:"auto"})}},[n,e]),h=(0,Xt.useCallback)(()=>{let{current:v}=c,{current:x}=a,{current:w}=l;if(v&&x){let{scrollLeft:y,scrollTop:S}=v,[D,k]=kR(v);i.current=!0,x.scrollLeft=Math.round(D*n),x.scrollTop=Math.round(k*e),w.scrollTop!==S&&(w.scrollTop=S,r==null||r(S,k)),w.scrollLeft!==y&&(w.scrollLeft=y,t==null||t(y))}},[n,e,t,r]),d=(0,Xt.useCallback)(v=>{a.current=v,v.addEventListener("scroll",u,{passive:!0})},[u]),f=(0,Xt.useCallback)(v=>{a.current=null,v.removeEventListener("scroll",u)},[u]),p=(0,Xt.useCallback)(v=>{c.current=v,v.addEventListener("scroll",h,{passive:!0})},[h]),m=(0,Xt.useCallback)(v=>{c.current=null,v.removeEventListener("scroll",h)},[h]),g=MR({onAttach:p,onDetach:m}),b=MR({onAttach:d,onDetach:f}),C=(0,Xt.useCallback)(v=>{let{current:x}=c;if(x){let{scrollLeft:w,scrollTop:y}=x;if(i.current=!1,v.type==="scroll-distance"){let S=w,D=y;v.direction==="up"||v.direction==="down"?D=Math.min(Math.max(0,y+v.distance),e):S=Math.min(Math.max(0,w+v.distance),n),x.scrollTo({top:D,left:S,behavior:"auto"})}else if(v.type==="scroll-page"){let{direction:S}=v,D=s*(S==="down"?o:-o),k=Math.min(Math.max(0,y+D),e);x.scrollTo({top:k,left:w,behavior:"auto"})}else if(v.type==="scroll-end"){let{direction:S}=v,D=S==="end"?e:0;x.scrollTo({top:D,left:x.scrollLeft,behavior:"auto"})}}},[n,e,o,s]);return{scrollbarContainerRef:b,contentContainerRef:g,requestScroll:C}};var Pl=require("react"),IR=({columns:n,getRowAtPosition:e,setRange:t,viewportMeasurements:r})=>{let o=(0,Pl.useRef)(0),{contentWidth:s,rowCount:i}=r,l=(0,Pl.useCallback)(a=>{let c=e(a);c!==o.current&&(o.current=c,t({from:c,to:c+i}))},[e,t,i]);return(0,Pl.useEffect)(()=>{let{current:a}=o,c={from:a,to:a+i};t(c)},[t,i]),{onVerticalScroll:l}};var{KEY:lB,IS_EXPANDED:AR,IS_LEAF:LR}=Dt.metadataKeys,aB=(n,e)=>({...n,columns:n.columns.concat(e)}),OR=({availableColumns:n,config:e,containerRef:t,dataSource:r,headerHeight:o=25,onAvailableColumnsChange:s,onConfigChange:i,onFeatureEnabled:l,onFeatureInvocation:a,onRowClick:c,onSelectionChange:u,renderBufferSize:h=0,rowHeight:d=20,selectionModel:f})=>{let[p,m]=(0,Ee.useState)(r.size);if(r===void 0)throw Error("no data source provided to Vuu Table");let[g,b]=(0,Ee.useState)(),C=(0,Ee.useCallback)(B=>{b(B)},[]),v=(0,Ee.useMemo)(()=>Rp(r),[r]),x=(0,Ee.useCallback)(B=>{m(B)},[]),{columns:w,dispatchColumnAction:y,headings:S,tableAttributes:D,tableConfig:k}=TR(e,r.config);Pn(()=>{y({type:"init",dataSourceConfig:r.config,tableConfig:k})},[k,r.config,y]);let[E,N]=(0,Ee.useState)(),[T,M]=(0,Ee.useMemo)(()=>{let B=(_,fe)=>{let Oe=(0,Dt.updateColumn)(w,_,{width:fe});N(Oe)};return[E!=null?E:w,B]},[w,E]),P=(0,Ee.useMemo)(()=>(0,Dt.buildColumnMap)(r.columns),[r.columns]),{getRowAtPosition:L,getRowOffset:O,setPctScrollTop:I,...A}=cm({columns:T,headerHeight:o,headings:S,rowCount:p,rowHeight:d,size:g}),H=fR({from:0,to:A.rowCount}),V=(0,Ee.useCallback)(({tableSchema:B})=>{B||console.log("usbscription message with no schema")},[]),{data:z,range:$,setRange:q}=dR({dataSource:r,onFeatureEnabled:l,onFeatureInvocation:a,renderBufferSize:h,onSizeChange:x,onSubscribed:V,range:H}),Q=(0,Ee.useCallback)(B=>{console.log("useTableNext handleConfigChanged",{tableConfig:B}),y({type:"init",tableConfig:B,dataSourceConfig:r.config}),i==null||i(B)},[r.config,y,i]),J=(0,Ee.useCallback)(B=>{console.log("config changed",{dataSourceConfig:B}),r.config={...r.config,...B}},[r]),G=(0,Ee.useCallback)(B=>{console.log("useTableNext handleCreateCalculatedColumn",{column:B}),r.columns=r.columns.concat(B.name);let _=aB(k,B);y({type:"init",tableConfig:_,dataSourceConfig:r.config}),i==null||i(_)},[r,y,i,k]);(0,Ee.useEffect)(()=>{r.on("config",(B,_)=>{y({type:"tableConfig",...B,confirmed:_})})},[r,y]);let{showColumnSettingsPanel:Y,showTableSettingsPanel:ge}=aR({availableColumns:n!=null?n:k.columns.map(({name:B,serverDataType:_="string"})=>({name:B,serverDataType:_})),onAvailableColumnsChange:s,onConfigChange:Q,onCreateCalculatedColumn:G,onDataSourceConfigChange:J,tableConfig:k}),de=(0,Ee.useCallback)(B=>{wR(B)?Y(B):SR(B)?ge():y(B)},[y,Y,ge]),Ge=kp({dataSource:r,onPersistentColumnOperation:de}),Re=(0,Ee.useCallback)((B,_=!1,fe)=>{r&&(r.sort=(0,Dt.applySort)(r.sort,B,_,fe))},[r]),$e=(0,Ee.useCallback)((B,_,fe)=>{let Oe=T.find(en=>en.name===_);if(Oe)B==="resize"?(0,Dt.isValidNumber)(fe)&&M(_,fe):B==="end"?(0,Dt.isValidNumber)(fe)&&(y({type:"resizeColumn",phase:B,column:Oe,width:fe}),i==null||i(Rd(k,{type:"col-size",column:Oe,width:fe}))):(N(void 0),y({type:"resizeColumn",phase:B,column:Oe,width:fe}));else throw Error(`useDataTable.handleColumnResize, column ${_} not found`)},[T,k,y,i,M]),Ae=(0,Ee.useCallback)((B,_)=>{let fe=(0,Dt.isJsonGroup)(_,B),Oe=B[lB];if(B[AR]){if(r.closeTreeNode(Oe,!0),fe){let en=T.indexOf(_);r.getRowsAtDepth(en+1).some(jn=>jn[AR]||jn[LR])||y({type:"hideColumns",columns:T.slice(en+2)})}}else if(r.openTreeNode(Oe),fe){let en=r.getChildRows(Oe),Yo=T.indexOf(_)+1,jn=[T[Yo]];en.some(ci=>ci[LR])&&jn.push(T[Yo+1]),jn.some(ci=>ci.hidden)&&y({type:"showColumns",columns:jn})}},[T,r,y]),{onVerticalScroll:Fe}=IR({columns:T,getRowAtPosition:L,setRange:q,viewportMeasurements:A}),Ct=(0,Ee.useCallback)(B=>{Fe(B)},[Fe]),{requestScroll:ze,...pt}=PR({maxScrollLeft:A.maxScrollContainerScrollHorizontal,maxScrollTop:A.maxScrollContainerScrollVertical,rowHeight:d,onVerticalScroll:Ct,viewportRowCount:A.rowCount}),{navigate:zt,onKeyDown:Le,...mt}=hR({columnCount:T.filter(B=>B.hidden!==!0).length,containerRef:t,requestScroll:ze,rowCount:r==null?void 0:r.size,viewportRange:$,viewportRowCount:A.rowCount}),{onKeyDown:j}=xR({navigate:zt}),re=(0,Ee.useCallback)(B=>{Le(B),B.defaultPrevented||j(B)},[Le,j]),se=bR({columns:T,data:z}),me=(0,Ee.useCallback)(B=>{var jn;let fe=B.target.closest(".vuuTableNextHeaderCell"),Oe=parseInt((jn=fe==null?void 0:fe.dataset.index)!=null?jn:"-1"),en=(0,Dt.visibleColumnAtIndex)(T,Oe),Yo=B.shiftKey;en&&Re(en,Yo)},[T,Re]),Pe=(0,Ee.useCallback)(B=>{(0,Dt.isGroupColumn)(B)?r.groupBy=[]:r&&r.groupBy.includes(B.name)&&(r.groupBy=r.groupBy.filter(_=>_!==B.name))},[r]),qe=(0,Ee.useCallback)(B=>{r.select(B),u==null||u(B)},[r,u]),ke=am({onSelectionChange:qe,selectionModel:f}),X=(0,Ee.useCallback)((B,_,fe)=>{ke(B,_,fe),c==null||c(B)},[c,ke]);(0,Ee.useEffect)(()=>{r.on("config",(B,_)=>{y({type:"tableConfig",...B,confirmed:_})})},[r,y]);let ne=(0,Ee.useCallback)((B,_)=>{let fe=T[B];y({type:"moveColumn",column:fe,moveTo:_})},[T,y]),oe=(0,Ee.useCallback)((B,_,fe)=>r.applyEdit(B,_,fe),[r]),{onMouseDown:be,...je}=Wr({allowDragDrop:!0,containerRef:t,draggableClassName:"vuuTableNext",onDrop:ne,orientation:"horizontal",itemQuery:".vuuTableNextHeaderCell"});return{...mt,onKeyDown:re,columnMap:P,columns:T,data:z,handleContextMenuAction:Ge,headerProps:{onClick:me,onMouseDown:be,onResize:$e},menuBuilder:v,onContextMenu:se,onDataEdited:oe,onRemoveGroupColumn:Pe,onResize:C,onRowClick:X,onToggleGroup:Ae,scrollProps:pt,tableAttributes:D,viewportMeasurements:A,dragDropHook:je}};var Gn=require("react/jsx-runtime"),vb=require("react"),hr="vuuTableNext",{IDX:cB,RENDER_IDX:uB}=Il.metadataKeys,Cb=({Row:n=mm,availableColumns:e,className:t,config:r,dataSource:o,id:s,onAvailableColumnsChange:i,onConfigChange:l,onFeatureEnabled:a,onFeatureInvocation:c,onRowClick:u,onSelectionChange:h,onShowConfigEditor:d,renderBufferSize:f=0,rowHeight:p=20,selectionModel:m="extended",showColumnHeaders:g=!0,headerHeight:b=g?25:0,style:C,...v})=>{let x=lt(s),w=(0,HR.useRef)(null),{columnMap:y,columns:S,data:D,dragDropHook:k,handleContextMenuAction:E,headerProps:N,onDataEdited:T,onRemoveGroupColumn:M,onResize:P,onRowClick:L,onToggleGroup:O,menuBuilder:I,scrollProps:A,tableAttributes:H,viewportMeasurements:V,...z}=OR({availableColumns:e,config:r,containerRef:w,dataSource:o,headerHeight:b,onAvailableColumnsChange:i,onConfigChange:l,onFeatureEnabled:a,onFeatureInvocation:c,onRowClick:u,onSelectionChange:h,renderBufferSize:f,rowHeight:p,selectionModel:m}),$=()=>({...C,"--content-height":`${V.contentHeight}px`,"--horizontal-scrollbar-height":`${V.horizontalScrollbarHeight}px`,"--content-width":`${V.contentWidth}px`,"--pinned-width-left":`${V.pinnedWidthLeft}px`,"--pinned-width-right":`${V.pinnedWidthRight}px`,"--header-height":`${b}px`,"--row-height":`${p}px`,"--total-header-height":`${V.totalHeaderHeight}px`,"--vertical-scrollbar-width":`${V.verticalScrollbarWidth}px`,"--viewport-body-height":`${V.viewportBodyHeight}px`}),q=(0,xb.default)(hr,t,{[`${hr}-colLines`]:H.columnSeparators,[`${hr}-rowLines`]:H.rowSeparators,[`${hr}-zebra`]:H.zebraStripes});return(0,Gn.jsx)(NR.ContextMenuProvider,{menuActionHandler:E,menuBuilder:I,children:(0,Gn.jsxs)(Ca,{...v,className:q,onResize:P,ref:w,style:$(),children:[(0,Gn.jsx)("div",{className:`${hr}-scrollbarContainer`,ref:A.scrollbarContainerRef,children:(0,Gn.jsx)("div",{className:`${hr}-scrollbarContent`})}),(0,Gn.jsx)("div",{className:`${hr}-contentContainer`,ref:A.contentContainerRef,children:(0,Gn.jsxs)("div",{...z,className:`${hr}-table`,tabIndex:-1,children:[g?(0,Gn.jsx)("div",{className:`${hr}-col-headings`,children:(0,Gn.jsxs)("div",{className:`${hr}-col-headers`,role:"row",children:[S.filter(Il.notHidden).map((Q,J)=>(0,Il.isGroupColumn)(Q)?(0,vb.createElement)(gh,{...N,column:Q,"data-index":J,key:Q.name,onRemoveColumn:M}):(0,vb.createElement)(yS,{...N,className:(0,xb.default)({"vuuDraggable-dragAway":J===k.draggedItemIndex}),column:Q,"data-index":J,id:`${x}-col-${J}`,key:Q.name})),k.draggable]})}):null,(0,Gn.jsx)("div",{className:`${hr}-body`,children:D.map(Q=>(0,Gn.jsx)(n,{columnMap:y,columns:S,onClick:L,onDataEdited:T,row:Q,offset:p*Q[cB]+b,onToggleGroup:O,zebraStripes:H.zebraStripes},Q[uB]))})]})})]})})};var Al=require("@vuu-ui/vuu-utils");var Pd=require("react"),VR=require("react/jsx-runtime"),hB="vuuTableDropdownCell",dB=["Enter"," "],fB=({column:n,columnMap:e,row:t})=>{var a,c,u;let r=(0,Al.isTypeDescriptor)(n.type)&&(0,Al.isColumnTypeRenderer)((a=n.type)==null?void 0:a.renderer)?(u=(c=n.type)==null?void 0:c.renderer)==null?void 0:u.values:[],o=e[n.name],[s,i]=(0,Pd.useState)(t[o]),l=(0,Pd.useCallback)((h,d)=>{d&&i(d)},[]);return(0,VR.jsx)(_u,{className:hB,onSelectionChange:l,openKeys:dB,selected:s,source:r,width:n.width-17})};(0,Al.registerComponent)("dropdown-cell",fB,"cell-renderer",{});var BR=require("@vuu-ui/vuu-utils"),FR=require("@salt-ds/core");var zR=U(require("classnames"));var Ad=require("react/jsx-runtime"),Id="vuuTableInputCell",pB=()=>(console.warn("onCommit handler has not been provided to InputCell cell renderer"),!0),mB=({column:n,columnMap:e,onCommit:t=pB,row:r})=>{let o=e[n.name],{align:s="left",clientSideEditValidationCheck:i,valueFormatter:l}=n,{warningMessage:a,...c}=MC({initialValue:l(r[o]),onCommit:t,clientSideEditValidationCheck:i}),u=a&&s==="left"?(0,Ad.jsx)("span",{className:`${Id}-icon`,"data-icon":"error"}):void 0,h=a&&s==="right"?(0,Ad.jsx)("span",{className:`${Id}-icon`,"data-icon":"error"}):void 0;return(0,Ad.jsx)(FR.Input,{...c,className:(0,zR.default)(Id,{[`${Id}-error`]:a!==void 0}),endAdornment:u,startAdornment:h})};(0,BR.registerComponent)("input-cell",mB,"cell-renderer",{});var Ll=require("@salt-ds/core"),WR=U(require("classnames")),Od=require("react");var $R=require("@vuu-ui/vuu-utils");var Ld=require("react/jsx-runtime"),gB="vuuSearchCell",bB=({column:n,columnMap:e,row:t})=>{let r=e[n.name],o=t[r];return(0,Ld.jsxs)("div",{className:gB,tabIndex:-1,children:[(0,Ld.jsx)("span",{"data-icon":"draggable"}),o]})};console.log("register SearchCell");(0,$R.registerComponent)("search-cell",bB,"cell-renderer",{serverDataType:"private"});var Ko=require("react/jsx-runtime"),wb="vuuInstrumentSearch",yB={columns:[{name:"bbg",hidden:!0},{name:"description",width:200,type:{name:"string",renderer:{name:"search-cell"}}}],rowSeparators:!0},xB=(0,Ko.jsx)("span",{"data-icon":"search"}),vB=({TableProps:n,className:e,dataSource:t,searchColumn:r="description",...o})=>{let[s,i]=(0,Od.useState)({searchText:"",filter:""}),l=(0,Od.useCallback)(a=>{let{value:c}=a.target,u=`name starts "${c}"`;i({searchText:c,filter:u}),t.filter={filter:u,filterStruct:{op:"starts",column:r,value:c}}},[t,r]);return(0,Ko.jsxs)("div",{...o,className:(0,WR.default)(wb,e),children:[(0,Ko.jsxs)(Ll.FormField,{className:`${wb}-inputField`,children:[(0,Ko.jsx)(Ll.FormFieldLabel,{}),(0,Ko.jsx)(Ll.Input,{endAdornment:xB,value:s.searchText,onChange:l})]}),(0,Ko.jsx)(Cb,{rowHeight:25,config:yB,renderBufferSize:100,...n,className:`${wb}-list`,dataSource:t,showColumnHeaders:!1})]})};Je("InstrumentSearch",vB,"view");var Ol=require("@vuu-ui/vuu-utils"),Nl=require("react"),_R=U(require("classnames"));var Nd=require("react/jsx-runtime"),CB="vuuPriceTicker",wB=n=>(0,Ol.numericFormatter)({type:{name:"number",formatting:{decimals:n,zeroPad:!0}}}),SB=[void 0,void 0],TB=(0,Nl.memo)(({className:n,decimals:e=2,price:t,showArrow:r,...o})=>{let s=(0,Nl.useRef)(SB),[i,l]=s.current,a=(0,Nl.useMemo)(()=>wB(e),[e]),c=(0,Ol.isValidNumber)(i)?(0,Ol.getMovingValueDirection)(t,l,i,e):"";return s.current=[t,c],(0,Nd.jsxs)("div",{...o,className:(0,_R.default)(CB,n,c),children:[a(t),r?(0,Nd.jsx)("span",{"data-icon":"price-arrow"}):null]})});TB.displayName="PriceTicker";var sD=require("@salt-ds/core"),Eb=U(require("classnames")),Vl=U(require("react"));var rD=require("@vuu-ui/vuu-utils"),Ft=require("react");var KR=n=>typeof n=="object"&&n!==null&&"tabIndex"in n&&typeof n.tabIndex=="number",UR=n=>({label:"Close",location:"tab",action:"close-tab",options:n}),GR=n=>({label:"Rename",location:"tab",action:"rename-tab",options:n});var qR=require("@vuu-ui/vuu-utils"),jR=(n,e)=>{if(n){let t=n.querySelector(`[data-index]:has(${e})`);return(0,qR.getElementDataIndex)(t)}return-1},Sb=n=>jR(n,'[aria-selected="true"]'),QR=n=>jR(n,".vuuEditableLabel-editing");var Hl=require("@vuu-ui/vuu-utils"),lo=require("react"),XR=(n,e,t="horizontal")=>{let r=(0,lo.useRef)(!1),o=(0,lo.useCallback)(()=>{r.current=!0},[]),s=(0,lo.useCallback)(()=>{r.current=!1},[]),i=(0,lo.useCallback)(()=>{var a,c;(a=n.current)==null||a.style.setProperty("--tab-thumb-transition","none"),(c=n.current)==null||c.removeEventListener("transitionend",i)},[n]),l=(0,lo.useRef)(-1);return(0,lo.useMemo)(()=>{var u,h;let a=0,c=0;if(l.current!==-1){let d=(u=n.current)==null?void 0:u.querySelector(".vuuTab-selected"),f=(h=n.current)==null?void 0:h.querySelector(`[data-index="${e}"] .vuuTab`),{positionProp:p,sizeProp:m}=Hl.MEASURES[t];if(d&&f&&!r.current){let{[p]:g,[m]:b}=d.getBoundingClientRect(),{[p]:C}=f.getBoundingClientRect();if((0,Hl.isValidNumber)(g)&&(0,Hl.isValidNumber)(C)&&(0,Hl.isValidNumber)(b)){console.log({orientation:t,positionProp:p,oldPosition:g,newPosition:C}),a=g-C,c=b;let x=Math.abs(a/(t==="horizontal"?1100:700));requestAnimationFrame(()=>{var w,y,S,D;(w=n.current)==null||w.style.setProperty("--tab-thumb-offset","0px"),(y=n.current)==null||y.style.setProperty("--tab-thumb-size","100%"),(S=n.current)==null||S.style.setProperty("--tab-thumb-transition",`all ${x}s ease`),(D=n.current)==null||D.addEventListener("transitionend",i)})}}}return l.current=e,r.current?{containerStyle:{"--tab-thumb-offset":"0px","--tab-thumb-size":"100%"},resumeAnimation:s,suspendAnimation:o}:{containerStyle:{"--tab-thumb-offset":`${a}px`,"--tab-thumb-size":c?`${c}px`:void 0},resumeAnimation:s,suspendAnimation:o}},[e,n,t,i,s,o])};var YR=require("@salt-ds/core"),Vd=require("@vuu-ui/vuu-utils"),vt=require("react"),Jt=require("@vuu-ui/vuu-utils");var ZR={horizontal:{[Jt.Home]:"start",[Jt.End]:"end",[Jt.ArrowLeft]:"bwd",[Jt.ArrowRight]:"fwd"},vertical:{[Jt.Home]:"start",[Jt.End]:"end",[Jt.ArrowUp]:"bwd",[Jt.ArrowDown]:"fwd"}},EB=(n,e="horizontal")=>ZR[e][n]!==void 0,RB=n=>n===Jt.ArrowDown;function JR(n,e,t){return e==="start"?0:e==="end"?n-1:e==="bwd"?t>0?t-1:t:t===null?0:t===n-1?t:t+1}var DB=n=>n!==null&&!n.classList.contains("wrapped"),Hd=(n,e)=>n?n.querySelector(`[data-index="${e}"]`):null,eD=({containerRef:n,defaultHighlightedIdx:e=-1,highlightedIdx:t,keyBoardActivation:r,orientation:o,selectedIndex:s=0})=>{let i=r==="manual",l=(0,vt.useRef)(!1),a=(0,vt.useRef)(-1),[c,u]=(0,vt.useState)(!1),[,h]=(0,vt.useState)({}),[d,f]=(0,YR.useControlled)({controlled:t,default:e,name:"UseKeyboardNavigation"}),p=(0,vt.useCallback)(T=>{f(a.current=T)},[f]),m=(0,vt.useRef)(!1),g=(0,vt.useCallback)((T,M=!1,P,L=70)=>{p(T),P===!0&&!m.current&&(m.current=!0);let O=()=>{let I=Hd(n.current,T);if(I){let A=(0,Vd.getFocusableElement)(I);A==null||A.focus()}};M?O():setTimeout(O,L)},[n,p]),b=T=>{if(a.current===-1&&T.target.tabIndex!==-1){let M=QR(n.current);M!==-1?requestAnimationFrame(()=>{p(M)}):setTimeout(()=>{a.current===-1&&s!==null&&p(s)},200)}},C=(0,vt.useCallback)(()=>{var T,M;return(M=(T=n.current)==null?void 0:T.querySelectorAll("[data-index]").length)!=null?M:0},[n]),v=(0,vt.useCallback)((T="fwd",M)=>{let P=C(),O=JR(P,T,typeof M=="number"?M:P),I=T==="start"?"fwd":T==="end"?"bwd":T;for(;(I==="fwd"&&O<P||I==="bwd"&&O>0)&&!DB(Hd(n.current,O));){let A=JR(P,I,O);if(A===O)break;O=A}return O},[n,C]),x=(0,vt.useCallback)((T,M=!1)=>{let P=ZR[o][T.key],L=v(P,d);L!==d?i&&g(L,!0):M&&h({})},[d,i,v,g,o]),w=(0,vt.useCallback)(()=>{let T=Hd(n.current,d);return T?T.querySelector(".vuuPopupMenu")!=null:!1},[n,d]),y=(0,vt.useCallback)(()=>{let T=Hd(n.current,d),M=T==null?void 0:T.querySelector(".vuuPopupMenu");return M&&(0,Vd.dispatchMouseEvent)(M,"click"),!1},[n,d]),S=(0,vt.useCallback)(T=>{C()>0&&EB(T.key,o)?(T.preventDefault(),m.current?x(T):(m.current=!0,x(T,!0))):RB(T.key)&&w()&&y()},[y,C,w,x,o]),D=(T,M)=>{p(M)},k=(0,vt.useCallback)(()=>{c||(u(!0),l.current?l.current=!1:m.current=!0)},[c]),E=(0,vt.useCallback)(()=>{c||(l.current=!0),m.current=!1},[c]);return{containerProps:{onBlur:T=>{let M=T.target.closest(".vuuTabstrip"),P=T.relatedTarget;M&&!(M!=null&&M.contains(P))&&(p(-1),u(!1))},onMouseDownCapture:E,onFocus:k,onMouseLeave:()=>{m.current=!0,p(-1),l.current=!1}},focusVisible:m.current?d:-1,focusIsWithinComponent:c,highlightedIdx:d,focusTab:g,onClick:D,onFocus:b,onKeyDown:S,setHighlightedIdx:p}};var tD=require("@salt-ds/core"),Sc=require("react"),kB=["Enter"," "],MB=n=>n&&n.matches('[class*="vuuTab "]'),nD=({defaultSelected:n,highlightedIdx:e,onSelectionChange:t,selected:r})=>{let[o,s,i]=(0,tD.useControlled)({controlled:r,default:n!=null?n:0,name:"Tabstrip",state:"value"}),l=(0,Sc.useCallback)(h=>kB.includes(h.key),[]),a=(0,Sc.useCallback)(h=>{s(h),t==null||t(h)},[t,s]),c=(0,Sc.useCallback)(h=>{let d=h.target;l(h)&&e!==o&&MB(d)&&(h.stopPropagation(),h.preventDefault(),a(e))},[l,e,o,a]),u=(0,Sc.useCallback)((h,d)=>{d!==o&&a(d)},[a,o]);return{activateTab:a,isControlled:i,onClick:u,onKeyDown:c,selected:o}};var PB=new Set(["Enter"," "]),IB=n=>PB.has(n),AB=(n,e)=>n?n.querySelector(`[data-index="${e}"]`):null,oD=({activeTabIndex:n,allowDragDrop:e,animateSelectionThumb:t,containerRef:r,onActiveChange:o,onAddTab:s,onCloseTab:i,onExitEditMode:l,onMoveTab:a,orientation:c,keyBoardActivation:u})=>{let h=(0,Ft.useRef)(n),{focusTab:d,highlightedIdx:f,onClick:p,onKeyDown:m,setHighlightedIdx:g,...b}=eD({containerRef:r,keyBoardActivation:u,orientation:c,selectedIndex:h.current}),{activateTab:C,onClick:v,onKeyDown:x,selected:w}=nD({highlightedIdx:f,onSelectionChange:o,selected:n});h.current=w;let{containerStyle:y,resumeAnimation:S,suspendAnimation:D}=XR(r,t?w:-1,c),k=(0,Ft.useCallback)((G,Y)=>{let{current:ge}=h;console.log(`useTabstrip handleDrop ${G} - ${Y} ${ge}`),a==null||a(G,Y);let de=-1;Y!==-1&&(ge===G?de=Y:G>ge&&Y<=ge?de=ge+1:G<ge&&Y>=ge&&(de=ge-1),de!==-1&&(D(),C(de),requestAnimationFrame(S)),d(Y,!1,!1,350))},[d,a,S,C,D]),{onMouseDown:E,...N}=Wr({allowDragDrop:e,containerRef:r,draggableClassName:`tabstrip-${c}`,onDrop:k,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"}),T=(0,Ft.useCallback)((G,Y,ge,de)=>{console.log(`handleExitEditMode ${G} ${Y} ${ge} ${de}`),l==null||l(G,Y,ge,de),ge||d(de,!1,!0)},[d,l]),M=(0,Ft.useCallback)((G,Y)=>{p(G,Y),v(G,Y)},[p,v]),P=(0,Ft.useCallback)((G=f)=>{let Y=AB(r.current,G);if(Y)return Y.querySelector(".vuuEditableLabel")},[r,f]),L=(0,Ft.useCallback)((G=f)=>{let Y=P(G);return Y?Y.classList.contains("vuuEditableLabel-editing"):!1},[P,f]),O=(0,Ft.useCallback)((G=f)=>{let Y=P(G);Y&&(0,rD.dispatchMouseEvent)(Y,"dblclick")},[P,f]),I=(0,Ft.useCallback)(G=>{m(G),G.defaultPrevented||x(G),!G.defaultPrevented&&IB(G.key)&&O()},[O,m,x]),A=(0,Ft.useCallback)(G=>{let Y=Sb(r.current),ge=Y>G?Y-1:Y===G?0:Y;return D(),i==null||i(G,ge),setTimeout(()=>{S()},200),!0},[r,i,S,D]),H=(0,Ft.useCallback)(G=>(O(G),!0),[O]),V=(0,Ft.useCallback)(G=>{if(KR(G.options))switch(G.menuId){case"close-tab":return A(G.options.tabIndex);case"rename-tab":return H(G.options.tabIndex);default:console.log(`tab menu action ${G.menuId}`)}return!1},[A,H]),z=(0,Ft.useCallback)(()=>{L()?g(f):d(f)},[f,d,g,L]),$=(0,Ft.useCallback)(G=>{let Y=parseInt(G.index);isNaN(Y)||C(Y)},[C]),q={onFocus:b.onFocus,onKeyDown:I},Q=(0,Ft.useCallback)(()=>{s==null||s(),requestAnimationFrame(()=>{let G=Sb(r.current);G!==-1&&d(G)})},[r,d,s]),J={onClick:M,onKeyDown:I,onExitEditMode:T,onMenuAction:V,onMenuClose:z,onMouseDown:E};return{activeTabIndex:w,containerStyle:y,focusVisible:b.focusVisible,containerProps:{...b.containerProps,onSwitchWrappedItemIntoView:$},navigationProps:q,onClickAddTab:Q,tabProps:J,...N}};var Bl=require("react/jsx-runtime"),lD=require("react"),Tb="vuuTabstrip",iD=({activeTabIndex:n,allowAddTab:e,allowCloseTab:t,allowDragDrop:r=!1,allowRenameTab:o=!1,animateSelectionThumb:s=!1,children:i,className:l,id:a,keyBoardActivation:c="manual",location:u,onActiveChange:h,onAddTab:d,onCloseTab:f,onExitEditMode:p,onMoveTab:m,orientation:g="horizontal",showTabMenuButton:b,style:C,...v})=>{let x=(0,Vl.useRef)(null),{activeTabIndex:w,focusVisible:y,containerStyle:S,draggedItemIndex:D,onClickAddTab:k,tabProps:E,...N}=oD({activeTabIndex:n,allowDragDrop:r,animateSelectionThumb:s,containerRef:x,keyBoardActivation:c,onActiveChange:h,onAddTab:d,onCloseTab:f,onExitEditMode:p,onMoveTab:m,orientation:g}),T=lt(a),M=(0,Eb.default)(Tb,`${Tb}-${g}`,l),P=C||S?{...C,...S}:void 0,L=(0,Vl.useMemo)(()=>Hr(i).map((O,I)=>{let{id:A=`${T}-tab-${I}`,closeable:H=t,editable:V=o,location:z,showMenuButton:$=b}=O.props,q=I===w;return Vl.default.cloneElement(O,{...E,...N.navigationProps,closeable:H,"data-overflow-priority":q?"1":void 0,dragging:D===I,editable:V,focusVisible:y===I,id:A,index:I,key:I,location:(0,Eb.default)(u,z),selected:q,showMenuButton:$,tabIndex:q?0:-1})}).concat(e?(0,lD.createElement)(sD.Button,{...N.navigationProps,"aria-label":"Create Tab",className:`${Tb}-addTabButton`,"data-icon":"add","data-overflow-priority":"1",key:"addButton",onClick:k,variant:"secondary",tabIndex:-1}):[]),[w,e,t,o,i,y,T,u,k,b,E,D,N.navigationProps]);return(0,Bl.jsxs)(Bl.Fragment,{children:[(0,Bl.jsx)(Es,{...v,...N.containerProps,className:M,height:28,id:T,orientation:g,overflowIcon:"more-horiz",ref:x,style:P,children:L}),N.draggable]})};var pD=require("@salt-ds/core"),mD=U(require("classnames")),ri=require("react");var aD=require("@vuu-ui/vuu-popups"),cD=require("react"),uD=U(require("classnames"));var dD=require("react/jsx-runtime"),LB="vuuTabMenu",hD=({allowClose:n,allowRename:e,controlledComponentId:t,location:r,onMenuAction:o,onMenuClose:s,index:i})=>{let[l,a]=(0,cD.useMemo)(()=>[(c,u)=>{let h=[];return e&&h.push(GR(u)),n&&h.push(UR(u)),h},{controlledComponentId:t,tabIndex:i}],[n,e,t,i]);return(0,dD.jsx)(aD.PopupMenu,{className:LB,menuBuilder:l,menuActionHandler:o,menuLocation:(0,uD.default)("tab",r),menuOptions:a,onMenuClose:s,tabIndex:-1})};var ni=require("react/jsx-runtime"),ti="vuuTab",fD=()=>{},gD=(0,ri.forwardRef)(function({ariaControls:e,children:t,className:r,closeable:o=!1,dragging:s,editable:i=!1,editing:l,focusVisible:a,index:c=-1,label:u,location:h,onClick:d,onClose:f,onEnterEditMode:p=fD,onExitEditMode:m=fD,onFocus:g,onKeyUp:b,onMenuAction:C,onMenuClose:v,orientation:x,selected:w,showMenuButton:y=o||i||!!h,tabIndex:S,...D},k){if(y&&typeof C!="function")throw Error("Tab onMenuAction must be provided if showMenuButton is set");let E=(0,ri.useRef)(null),N=(0,ri.useRef)(null),T=(0,pD.useForkRef)(k,E),M=(0,ri.useCallback)(A=>{l||(A.preventDefault(),d==null||d(A,c))},[l,c,d]),P=(A="",H="",V=!0)=>m(A,H,V,c),L=A=>{switch(A.key){case"Backspace":case"Delete":o&&(A.stopPropagation(),f&&f(c));break;default:b&&b(A,c)}},O=()=>i?(0,ni.jsx)(ki,{editing:l,defaultValue:u,onEnterEditMode:p,onExitEditMode:P,ref:N},u):u,I=A=>{if(N.current){let V=N.current.querySelector(".vuuEditableLabel-input");V==null||V.focus()}g==null||g(A)};return(0,ni.jsxs)("div",{...D,"aria-controls":e,"aria-selected":w,className:(0,mD.default)(ti,{[`${ti}-closeable`]:o,"vuuDraggable-dragAway":s,[`${ti}-editing`]:l,[`${ti}-selected`]:w||void 0,[`${ti}-vertical`]:x==="vertical",vuuFocusVisible:a}),onClick:M,onFocus:I,onKeyUp:L,ref:T,role:"tab",tabIndex:S,children:[(0,ni.jsx)("div",{className:`${ti}-main`,children:(0,ni.jsx)("span",{className:`${ti}-text`,"data-text":i?void 0:u,children:t!=null?t:O()})}),y?(0,ni.jsx)(hD,{allowClose:o,allowRename:i,controlledComponentId:e,location:h,onMenuAction:C,onMenuClose:v,index:c}):null]})});var _d=require("@salt-ds/core"),Wd=U(require("classnames")),Kd=require("react");function OB(n){var e;if(n){let t=n.dataset.idx;if(t)return parseInt(t,10);if(t=(e=n.ariaPosInSet)!=null?e:"-1")return parseInt(t,10)-1}}var Rb=n=>n.closest("[data-idx],[aria-posinset]");var bD=n=>OB(Rb(n));var Fl=require("react"),NB=new Set(["/","-","."]),HB=n=>NB.has(n),yD=(n,e)=>e.startsWith(n)&&HB(e[n.length]),xD=(n,e="root",{collapsibleHeaders:t=void 0,defaultExpanded:r=!1,revealSelected:o=!1}={})=>{let s=(d,f,p)=>{if(d.childNodes)return d.childNodes.length;if(d.header){let m=p+1,g=0;for(;m<f.length&&!f[m].header;)g++,m++;return g}else return 0},i=(0,Fl.useCallback)(d=>Array.isArray(o)?o.some(f=>yD(d,f)):r,[r,o]),l=(0,Fl.useCallback)((d,f,p=1,m="",g=[],b=[])=>{let C=0;return d.forEach((v,x,w)=>{var P;let y=v.header&&t,S=v.childNodes&&t===!1,D=!v.childNodes||v.childNodes.length===0,k=S||D&&!y,E=m?`${m}.${x}`:`${x}`,N=(P=v.id)!=null?P:`${e}-${E}`,T=k?void 0:i(N),M={...v,childNodes:void 0,id:N,count:!S&&T===void 0?0:s(v,w,x),expanded:T,index:f.index,level:p};if(g.push(M),b.push(d[x]),C+=1,f.index+=1,v.childNodes){let[L,O]=l(v.childNodes,f,p+1,E,[],b);M.childNodes=O,(T===!0||S)&&(C+=L)}}),[C,g,b]},[t,e,i]),[a,c,u]=(0,Fl.useMemo)(()=>l(n,{index:0}),[l,n]),h=(0,Fl.useCallback)((d,f=c)=>{let p=f.find(m=>{var g;return m.id===d||((g=m==null?void 0:m.childNodes)==null?void 0:g.length)&&yD(m.id,d)});if((p==null?void 0:p.id)===d)return u[p.index];if(p)return h(d,p.childNodes)},[u,c]);return[a,c,h]};var Uo=require("react"),wD=require("@salt-ds/core"),vD="single",VB="checkbox",BB="multi",FB="extended",zB=["Enter"," "],CD={},$B=n=>n.expanded!==void 0,SD=n=>n&&n!=="none",TD=({defaultSelected:n,highlightedIdx:e,treeNodes:t,onChange:r,selected:o,selection:s=vD,selectionKeys:i=zB})=>{let l=s===vD,a=s===BB||s.startsWith(VB),c=s===FB,u=(0,Uo.useRef)(-1),h=(0,Uo.useCallback)(x=>i.includes(x.key),[i]),[d,f]=(0,wD.useControlled)({controlled:o,default:n!=null?n:[],name:"selected"}),p=(0,Uo.useCallback)((x,w,y,S,D=!1)=>{let{current:k}=u,E=d==null?void 0:d.includes(y),T=l||c&&!D&&(!S||k===-1),M=a||c&&D&&!S,P=[];if(T&&E)P=[];else if(T)P=[y];else if(M&&E)P=d.filter(L=>L!==y);else if(M)P=d.concat(y);else if(c){let[L,O]=w>k?[k,w]:[w,k];P=d.slice();for(let I=L;I<=O;I++){let{id:A}=t[I];d.includes(A)||P.push(A)}}f(P),r&&r(x,P)},[c,t,a,r,d,f,l]),m=(0,Uo.useCallback)(x=>{if(~e&&h(x)){x.preventDefault();let w=t[e];p(x,e,w.id,!1,x.ctrlKey||x.metaKey),c&&(u.current=e)}},[c,e,t,h,p]),g=(0,Uo.useCallback)((x,w)=>{if(c&&x.shiftKey){let y=t[w];p(x,w,y.id,!0)}},[c,t,p]),b=s==="none"?CD:{onKeyDown:m,onKeyboardNavigation:g},C=(0,Uo.useCallback)(x=>{if(e!==-1){let w=t[e];$B(w)||(x.preventDefault(),x.stopPropagation(),p(x,e,w.id,x.shiftKey,x.ctrlKey||x.metaKey),c&&(u.current=e))}},[c,e,t,p]);return{listHandlers:b,listItemHandlers:s==="none"?CD:{onClick:C},selected:d,setSelected:f}};var cn=require("react");var WB=["height","scrollHeight"],ED=(n,e,t=!1)=>{let r=(0,cn.useRef)(0),o=(0,cn.useRef)(!1),s=(0,cn.useRef)(0),i=(0,cn.useRef)(0),l=(0,cn.useCallback)(u=>{let h=u.ariaExpanded?u.firstChild:u,d=t?30:0,f=h.offsetTop,p=h.offsetHeight,m=r.current+d,g=m+s.current-d;(f+p>g||f<m)&&(r.current=f+p>g?r.current+(f+p)-g:f-d,o.current=!0,n.current&&(n.current.scrollTop=r.current),setTimeout(()=>{o.current=!1}))},[n,t]),a=(0,cn.useCallback)(u=>{r.current=u.target.scrollTop},[]);(0,cn.useEffect)(()=>{let{current:u}=n;return u&&u.addEventListener("scroll",a),()=>{u&&u.removeEventListener("scroll",a)}},[n,a]),(0,cn.useLayoutEffect)(()=>{if(e!==-1&&i.current>s.current&&n.current){let u=n.current.querySelector(`
29
+ [data-idx='${e}'],
30
+ [aria-posinset='${e+1}']
31
+ `);u===null?console.log("[useViewportTracking], is this virtualised ? we're going to have to know rowHeight"):l(u)}},[e,n,l]),(0,cn.useEffect)(()=>{},[t]);let c=(0,cn.useCallback)(({height:u,scrollHeight:h})=>{s.current=u,i.current=h},[]);return zr(n,WB,c,!0),o};var Tc=require("react");var qn=require("react");var RD=({id:n})=>{let e=n.lastIndexOf("-");if(e!==-1){let r=n.slice(e+1).split(".");return r.length===1?null:(r.pop(),`${n.slice(0,e)}-${r.join(".")}`)}else if((e=n.lastIndexOf("/"))!==-1)return n.slice(0,e)},DD=n=>n.childNodes!==void 0;var Db=n=>n.header===!0,_B=new Set([".","/"]),kD=(n,e)=>e.startsWith(n.id)?_B.has(e.charAt(n.id.length)):!1,oi=(n,e)=>{for(let t of n){if(t.id===e)return t;if(kD(t,e))return oi(t.childNodes,e)}},Bd=(n,e)=>{let t=typeof e=="string"?e:e.id;for(let r=0;r<n.length;r++)if(n[r].id===t)return r},Fd=(n,e,t)=>{let r;return n.map(s=>s.id===e?{...s,...t}:kD(s,e)?(r=Fd(s.childNodes,e,t),{...s,childNodes:r}):s)};var ND=require("@salt-ds/core");function KB(n,...e){let t=new Set(n);for(let r of e)for(let o of r)t.add(o);return t}var kb="ArrowUp",MD="ArrowDown",zl="ArrowLeft";var PD="ArrowRight",zd="Enter";var UB="Delete",GB=new Set([zd,UB]),qB=new Set(["Tab"]),jB=new Set(["ArrowRight","ArrowLeft"]),ID=new Set(["Home","End","ArrowDown","ArrowUp"]),AD=new Set(["Home","End","ArrowRight","ArrowLeft"]),QB=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),uoe=KB(GB,AD,ID,jB,QB,qB);var LD=({key:n},e="vertical")=>(e==="vertical"?ID:AD).has(n);function OD(n,e,t){return e===kb||e===zl?t>0?t-1:t:t===null?0:t===n-1?t:t+1}var XB=n=>!n.header&&!n.childNodes,JB=n=>XB(n)||n.expanded!==void 0,HD=({defaultHighlightedIdx:n=-1,highlightedIdx:e,treeNodes:t,onHighlight:r,onKeyboardNavigation:o,selected:s=[]})=>{let{bwd:i,fwd:l}=(0,qn.useMemo)(()=>({bwd:kb,fwd:MD}),[]),[a,c,u]=(0,ND.useControlled)({controlled:e,default:n,name:"highlightedIdx"}),h=(0,qn.useCallback)(x=>{r==null||r(x),c(x)},[r,c]),d=(0,qn.useCallback)((x=l,w=x===l?-1:t.length)=>{let y=OD(t.length,x,w);for(;y!==-1&&(x===l&&y<t.length||x===i&&y>0)&&!JB(t[y]);)y=OD(t.length,x,y);return y},[i,l,t]),f=(0,qn.useRef)(!0),p=(0,qn.useRef)(!1),m=x=>p.current=x,g=(0,qn.useCallback)(()=>{if(p.current)p.current=!1;else if(s.length>0){let x=oi(t,s[0]);if(x){let w=Bd(t,x);h(w)}}else h(d())},[t,d,s,h]),b=(0,qn.useCallback)(x=>{let w=d(x.key,a);w!==a&&(h(w),o==null||o(x,w))},[a,d,o,h]),C=(0,qn.useCallback)(x=>{t.length>0&&LD(x,"vertical")&&(x.preventDefault(),x.stopPropagation(),f.current=!0,b(x))},[t,b]),v=(0,qn.useMemo)(()=>({onBlur:()=>{h(-1)},onFocus:g,onKeyDown:C,onMouseDownCapture:()=>{f.current=!1,m(!0)},onMouseMove:()=>{f.current&&(f.current=!1)},onMouseLeave:()=>{f.current=!0,m(!1),h(-1)}}),[g,C,h]);return{focusVisible:f.current?a:-1,controlledHighlighting:u,highlightedIdx:a,hiliteItemAtIndex:h,keyBoardNavigation:f,listProps:v,setIgnoreFocus:m}};var $l=require("react");var $d=(n,e=[],t={value:0})=>{let r=!1;for(let o of n)r&&!Db(o)||(e[t.value]=o,t.value+=1,r=!1,Db(o)&&o.expanded===!1?r=!0:DD(o)&&Mb(o)&&$d(o.childNodes,e,t));return e},VD=n=>{let e=(0,$l.useRef)(n),t=(0,$l.useRef)(n),r=(0,$l.useRef)($d(n)),[,o]=(0,$l.useState)({});n!==e.current&&(e.current=n,t.current=n,r.current=$d(n));let s=i=>{t.current=i,r.current=$d(i),o({})};return{data:t.current,indexPositions:r.current,setData:s}};var ao=require("react");var YB={},ZB=n=>n&&n.hasAttribute("aria-expanded"),BD=({collapsibleHeaders:n,highlightedIdx:e,treeNodes:t,setVisibleData:r,source:o})=>{let s=(0,ao.useRef)(o),i=(0,ao.useRef)(s.current),l=(0,ao.useCallback)(p=>{r(i.current=p)},[r]),a=(0,ao.useCallback)((p,{id:m})=>Fd(p,m,{expanded:!0}),[]),c=(0,ao.useCallback)((p,{id:m})=>Fd(p,m,{expanded:!1}),[]),u=(0,ao.useCallback)(p=>{if(p.key===PD||p.key===zd){let m=t[e];m&&m.expanded===!1&&(p.preventDefault(),l(a(i.current,m)))}if(p.key===zl||p.key===zd){let m=t[e];m&&m.expanded&&(p.preventDefault(),l(c(i.current,m)))}},[c,a,e,t,l]),h=n?{onKeyDown:u}:YB,f={onClick:(0,ao.useCallback)(p=>{let m=Rb(p.target);if(ZB(m)){p.stopPropagation(),p.preventDefault();let g=oi(o,m.id);(g==null?void 0:g.expanded)===!1?l(a(o,g)):(g==null?void 0:g.expanded)===!0&&l(c(o,g))}},[c,a,l,o])};return{listHandlers:h,listItemHandlers:f}};var FD=require("react");var zD=({highlightedIdx:n,hiliteItemAtIndex:e,indexPositions:t,source:r})=>({listHandlers:{onKeyDown:(0,FD.useCallback)(i=>{if(i.key===zl){let l=t[n],a=RD(l);if(a){i.preventDefault();let c=oi(r,a);if(c){let u=Bd(t,c);u!==void 0&&e(u)}}}},[n,e,t,r])}});var eF=[],$D=({defaultSelected:n,sourceWithIds:e,onChange:t,onHighlight:r,selected:o,selection:s})=>{let i=(0,Tc.useRef)(eF),l=VD(e),a=(v,x)=>{var w,y;(y=(w=d.listHandlers).onKeyboardNavigation)==null||y.call(w,v,x)},{highlightedIdx:c,...u}=HD({treeNodes:l.indexPositions,onHighlight:r,onKeyboardNavigation:a,selected:i.current}),h=BD({collapsibleHeaders:!0,highlightedIdx:c,treeNodes:l.indexPositions,setVisibleData:l.setData,source:l.data}),d=TD({defaultSelected:n,highlightedIdx:c,treeNodes:l.indexPositions,onChange:t,selected:o,selection:s}),f=zD({source:l.data,highlightedIdx:c,hiliteItemAtIndex:u.hiliteItemAtIndex,indexPositions:l.indexPositions}),p=(0,Tc.useCallback)(v=>{var x,w,y;(x=h.listItemHandlers)==null||x.onClick(v),v.defaultPrevented||(y=(w=d.listItemHandlers)==null?void 0:w.onClick)==null||y.call(w,v)},[h,d]),m=(0,Tc.useCallback)(v=>{var x,w,y,S,D,k,E,N;(w=(x=u.listProps).onKeyDown)==null||w.call(x,v),v.defaultPrevented||(S=(y=d.listHandlers).onKeyDown)==null||S.call(y,v),v.defaultPrevented||(k=(D=h.listHandlers).onKeyDown)==null||k.call(D,v),v.defaultPrevented||(N=(E=f.listHandlers).onKeyDown)==null||N.call(E,v)},[h.listHandlers,u.listProps,d.listHandlers,f.listHandlers]),g=()=>{var v;return c===void 0||c===-1||(v=l.indexPositions[c])==null?void 0:v.id};i.current=d.selected;let b={"aria-activedescendant":g(),onBlur:u.listProps.onBlur,onFocus:u.listProps.onFocus,onKeyDown:m,onMouseDownCapture:u.listProps.onMouseDownCapture,onMouseLeave:u.listProps.onMouseLeave,onMouseMove:u.listProps.onMouseMove},C={onClick:p};return{focusVisible:u.focusVisible,highlightedIdx:c,hiliteItemAtIndex:u.hiliteItemAtIndex,listProps:b,listItemHandlers:C,selected:d.selected,visibleData:l.data}};var Rn=require("react/jsx-runtime"),KD=require("react"),Go="vuuTree",Mb=n=>n.expanded===!0,WD=({children:n,idx:e,...t})=>(0,Rn.jsx)("li",{...t,children:n}),_D=(0,Kd.forwardRef)(function({allowDragDrop:e,className:t,defaultSelected:r,groupSelection:o="none",id:s,onHighlight:i,onSelectionChange:l,revealSelected:a,selected:c,selection:u="single",source:h,...d},f){var O;let p=(0,_d.useIdMemo)(s),m=(0,Kd.useRef)(null),[,g,b]=xD(h,p,{revealSelected:a?(O=c!=null?c:r)!=null?O:!1:void 0}),C=(I,A)=>{if(l){let H=A.map(V=>b(V)).filter(V=>V!==void 0);l(H)}},{focusVisible:v,highlightedIdx:x,hiliteItemAtIndex:w,listProps:y,listItemHandlers:S,selected:D,visibleData:k}=$D({defaultSelected:r,groupSelection:o,onChange:C,onHighlight:i,selected:c,selection:u,sourceWithIds:g});ED(m,x);let N={...{onMouseEnter:I=>{let A=I.target,H=bD(A);w(H)}},...S,role:"treeitem"},T=SD(o);function M(I,A,H){I.push((0,Rn.jsxs)(WD,{...N,...tF(A,H,x,D,v),children:[A.icon?(0,Rn.jsx)("span",{className:`${Go}Node-icon`,"data-icon":A.icon}):null,(0,Rn.jsx)("span",{children:A.label})]})),H.value+=1}function P(I,A,H,V,z){let{value:$}=H;H.value+=1,I.push((0,KD.createElement)(WD,{...S,"aria-expanded":A.expanded,"aria-level":A.level,"aria-selected":D.includes(V)||void 0,className:(0,Wd.default)(`${Go}Node`,{focusVisible:v===$,[`${Go}Node-toggle`]:!T}),"data-idx":$,"data-highlighted":$===x||void 0,"data-selectable":!0,id:V,key:`header-${$}`},T?(0,Rn.jsxs)("div",{className:`${Go}Node-label`,children:[(0,Rn.jsx)("span",{className:`${Go}Node-toggle`}),z]}):(0,Rn.jsxs)("div",{className:`${Go}Node-label`,children:[A.icon?(0,Rn.jsx)("span",{className:`${Go}Node-icon`,"data-icon":A.icon}):null,(0,Rn.jsx)("span",{children:z})]}),(0,Rn.jsx)("ul",{role:"group",children:Mb(A)?L(A.childNodes,H):""})))}function L(I,A={value:0}){if((I==null?void 0:I.length)>0){let H=[];for(let V of I)V.childNodes?P(H,V,A,V.id,V.label):M(H,V,A);return H}}return(0,Rn.jsx)("ul",{...d,...y,className:(0,Wd.default)(Go,t),id:`Tree-${p}`,ref:(0,_d.useForkRef)(m,f),role:"tree",tabIndex:0,children:L(k)})}),tF=(n,e,t,r,o,s)=>({id:n.id,key:n.id,"aria-level":n.level,"aria-selected":r.includes(n.id)||void 0,"data-idx":e.value,"data-highlighted":e.value===t||void 0,className:(0,Wd.default)("vuuTreeNode",s,{focusVisible:o===e.value})});_D.displayName="Tree";var Pb=_D;var nF=require("@salt-ds/core"),rF=U(require("classnames")),oF=require("react"),sF=require("react/jsx-runtime");var QD=require("@salt-ds/core"),Gd=U(require("classnames")),jo=require("react");var qo=require("react");var Ec=(n,e,t,r)=>{var g;let{loadSessionState:o,purgeSessionState:s,purgeState:i,saveSessionState:l}=is(),[a,c]=(0,qo.useState)((g=o(n,"contributions"))!=null?g:[]),u=pn(),h=(0,qo.useCallback)((b,C)=>{let v=a.concat([{location:b,content:C}]);l(n,"contributions",v),c(v)},[a,n,l]),d=(0,qo.useCallback)(()=>{s(n,"contributions"),c([])},[n,s]),f=(0,qo.useCallback)(()=>{let b=o(n,"data-source");b&&b.unsubscribe(),s(n),i(n),u({type:"remove",path:t})},[u,n,o,s,i,t]),p=(0,qo.useCallback)(async(b,C,v)=>{var w;b.stopPropagation();let x=(w=e.current)==null?void 0:w.getBoundingClientRect();return new Promise((y,S)=>{u({type:"drag-start",evt:b,path:C===void 0?t:`${t}.${C}`,dragRect:x,preDragActivity:v,dropTargets:r,resolveDragStart:y,rejectDragStart:S})})},[e,u,t,r]);return[(0,qo.useCallback)(async(b,C)=>{var x;let{type:v}=b;switch(v){case"maximize":case"minimize":case"restore":return u({type:v,path:(x=b.path)!=null?x:t});case"remove":return f();case"mousedown":return p(C,b.index,b.preDragActivity);case"add-toolbar-contribution":return h(b.location,b.content);case"remove-toolbar-contribution":return d();default:return}},[u,t,f,p,h,d]),a]};var Ud=require("@salt-ds/core"),qD=U(require("classnames")),Yt=U(require("react"));var dr=require("react");var UD=({id:n,rootRef:e,path:t,dropTargets:r,title:o})=>{let s=pn(),{loadState:i,loadSessionState:l,purgeState:a,saveState:c,saveSessionState:u}=is(),[h,d]=Ec(n,e,t,r),f=(0,dr.useMemo)(()=>{var y;return(y=i("view-title"))!=null?y:o},[i,o]),p=(0,dr.useCallback)(y=>{t&&s({type:"set-title",path:t,title:y})},[s,t]),m=(0,dr.useMemo)(()=>i(n),[n,i]),g=(0,dr.useCallback)(y=>i(n,y),[n,i]),b=(0,dr.useCallback)(y=>{a(n,y),s({type:"save"})},[n,s,a]),C=(0,dr.useCallback)((y,S)=>{c(n,S,y),s({type:"save"})},[n,s,c]),v=(0,dr.useCallback)(y=>l(n,y),[n,l]),x=(0,dr.useCallback)((y,S)=>u(n,S,y),[n,u]),w=(0,dr.useCallback)(({type:y,...S})=>{let{[y]:D}=S;C(D,y)},[C]);return{contributions:d,dispatchViewAction:h,load:g,loadSession:v,onConfigChange:w,onEditTitle:p,purge:b,restoredState:m,save:C,saveSession:x,title:f}};var Wl=require("react"),iF=[],GD=({mainRef:n,resize:e="responsive",rootRef:t})=>{let r=e==="defer",o=(0,Wl.useRef)({}),s=(0,Wl.useRef)(),i=(0,Wl.useCallback)(()=>{n.current&&(n.current.style.height=o.current.height+"px",n.current.style.width=o.current.width+"px"),s.current=void 0},[n]),l=(0,Wl.useCallback)(({height:a,width:c})=>{o.current.height=a,o.current.width=c,s.current!==null&&clearTimeout(s.current),s.current=window.setTimeout(i,40)},[i]);ha(t,r?Qf:iF,l,r)};var Rc=U(require("react")),lF={dispatch:null},Dc=Rc.default.createContext(lF),Ib=()=>{var e;let n=(0,Rc.useContext)(Dc);return(e=n==null?void 0:n.dispatch)!=null?e:null},aF=()=>(0,Rc.useContext)(Dc);var _l=require("react/jsx-runtime"),kc="vuuView",cF=(n,e)=>n&&e?{...n,...e}:n||e,jD=(0,Yt.forwardRef)(function(e,t){let{Header:r=Ab,children:o,className:s,collapsed:i,closeable:l,"data-path":a,"data-resizeable":c,dropTargets:u,expanded:h,flexFill:d,id:f,header:p,orientation:m="horizontal",path:g=a,resize:b="responsive",resizeable:C=c,tearOut:v,style:x={},title:w,...y}=e,S=(0,Ud.useIdMemo)(f),D=(0,Yt.useRef)(null),k=(0,Yt.useRef)(null),[E,N]=(0,Yt.useState)(),{contributions:T,dispatchViewAction:M,load:P,loadSession:L,onConfigChange:O,onEditTitle:I,purge:A,restoredState:H,save:V,saveSession:z,title:$}=UD({id:S,rootRef:D,path:g,dropTargets:u,title:w});GD({mainRef:k,resize:b,rootRef:D});let q=(0,Yt.useCallback)(Y=>{N(Y)},[]),Q=()=>Yt.default.isValidElement(o)&&(H||E)?Yt.default.cloneElement(o,cF(H,E)):o,J=(0,Yt.useMemo)(()=>({dispatch:M,id:S,path:g,title:$,load:P,loadSession:L,onConfigChange:O,purge:A,save:V,saveSession:z,setComponentProps:q}),[M,S,P,L,O,g,A,V,z,q,$]),G=typeof p=="object"?p:{};return(0,_l.jsx)("div",{...y,className:(0,qD.default)(kc,s,{[`${kc}-collapsed`]:i,[`${kc}-expanded`]:h,[`${kc}-resize-defer`]:b==="defer"}),"data-resizeable":C,id:S,ref:(0,Ud.useForkRef)(t,D),style:x,tabIndex:-1,children:(0,_l.jsxs)(Dc.Provider,{value:J,children:[p?(0,_l.jsx)(r,{...G,collapsed:i,contributions:T,expanded:h,closeable:l,onEditTitle:I,orientation:m,tearOut:v,title:$}):null,(0,_l.jsx)("div",{className:`${kc}-main`,ref:k,children:Q()})]})})});jD.displayName="View";var si=Yt.default.memo(jD);si.displayName="View";Je("View",si,"view");var Kl=require("react/jsx-runtime"),Lb="vuuHeader",Ab=({className:n,contributions:e,collapsed:t,closeable:r,onEditTitle:o,orientation:s="horizontal",style:i,title:l="Untitled"})=>{let a=(0,jo.useRef)(null),[c,u]=(0,jo.useState)(l),[h,d]=(0,jo.useState)(!1),f=Ib(),p=E=>f==null?void 0:f({type:"remove"},E),m=()=>{var E;(E=a.current)==null||E.focus()},g=E=>{E.stopPropagation()},C=(0,Gd.default)(Lb,n,`${Lb}-${t||s}`),v=()=>{d(!0)},x=E=>{E.key==="Enter"&&d(!0)},w=(E="",N="",T=!0,M=!1)=>{var P;d(!1),M?u(E):N!==E&&(u(N),o==null||o(N)),T===!1&&((P=a.current)==null||P.focus())},y=E=>{f==null||f({type:"mousedown"},E)},S=[],D=[],k=[];return e==null||e.forEach((E,N)=>{switch(E.location){case"pre-title":S.push((0,jo.cloneElement)(E.content,{key:N}));break;default:D.push((0,jo.cloneElement)(E.content,{key:N}))}}),l&&S.push((0,Kl.jsx)(ki,{className:`${Lb}-title`,editing:h,value:c,onChange:u,onMouseDownCapture:m,onEnterEditMode:v,onExitEditMode:w,onKeyDown:x,ref:a,tabIndex:0},"title")),r&&k.push((0,Kl.jsx)(QD.Button,{"data-icon":"close",onClick:p,onMouseDown:g,variant:"secondary"},"close")),D.length>0&&S.push((0,Kl.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:D},"contributions")),k.length>0&&S.push((0,Kl.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:k},"actions")),(0,Kl.jsx)("div",{className:(0,Gd.default)("vuuToolbarProxy",C),style:i,onMouseDown:y,children:S})};var ZD=require("react");var co=require("@vuu-ui/vuu-utils"),Or=require("react");var li=require("react");var ii=new Map,JD=(n,e,t)=>{switch(t){case"height":return e.height;case"clientHeight":return n.clientHeight;case"clientWidth":return n.clientWidth;case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(n.scrollHeight);case"scrollWidth":return Math.ceil(n.scrollWidth);case"width":return e.width;default:return 0}},XD=new ResizeObserver(n=>{for(let e of n){let{target:t,borderBoxSize:r,contentBoxSize:o}=e,s=ii.get(t);if(s){let[{blockSize:i,inlineSize:l}]=r,[{blockSize:a,inlineSize:c}]=o,{onResize:u,measurements:h}=s,d=!1;for(let[f,p]of Object.entries(h)){let m=JD(t,{height:i,width:l,contentHeight:a,contentWidth:c},f);m!==p&&(d=!0,h[f]=m)}d&&u&&u(h)}}});function YD(n,e,t,r=!1){let o=(0,li.useRef)(e),s=(0,li.useCallback)(i=>{let{width:l,height:a}=i.getBoundingClientRect(),{clientWidth:c,clientHeight:u}=i;return o.current.reduce((h,d)=>(h[d]=JD(i,{width:l,height:a,contentHeight:u,contentWidth:c},d),h),{})},[]);(0,li.useEffect)(()=>{let i=n.current;async function l(){ii.set(i,{measurements:{}});let a=ii.get(i);if(a){let c=s(i);a.measurements=c,XD.observe(i),r&&t(c)}else console.log("%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation","font-weight:bold; color:red;")}return i&&(ii.has(i)&&console.log("useResizeObserver attemping to observe same element twice",{target:i}),l()),()=>{i&&ii.has(i)&&(XD.unobserve(i),ii.delete(i))}},[s,n]),(0,li.useEffect)(()=>{let i=n.current,l=ii.get(i);if(l){if(o.current!==e){o.current=e;let a=s(i);l.measurements=a}l.onResize=t}},[e,s,n,t])}var uF=["clientHeight","clientWidth"],hF=["clientWidth"],dF=["clientHeight"],fF=[],qd=n=>Number.isFinite(n),pF={height:"100%",width:"100%"},mF=(n,e)=>(0,co.isValidNumber)(n)&&(0,co.isValidNumber)(e)?{height:`${n}px`,width:`${e}px`}:typeof n=="string"&&typeof e=="string"?{height:n,width:e}:pF,gF=(n,e)=>{if((0,co.isValidNumber)(n)&&(0,co.isValidNumber)(e))return{height:n,width:e}},Ob=({defaultHeight:n=0,defaultWidth:e=0,height:t,onResize:r,width:o})=>{let s=(0,Or.useRef)(null),[i,l]=(0,Or.useState)({css:mF(t,o),inner:gF(t,o),outer:{height:t!=null?t:"100%",width:o!=null?o:"100%"}}),a=typeof t=="number",c=typeof o=="number",u=a&&c?fF:a?hF:c?dF:uF;(0,Or.useMemo)(()=>{l(d=>{let{inner:f,outer:p}=d;if((0,co.isValidNumber)(t)&&(0,co.isValidNumber)(o)&&f&&p){let{height:m,width:g}=f,{height:b,width:C}=p;if(b!==t||C!==o){let v=(0,co.isValidNumber)(b)?b-m:0,x=(0,co.isValidNumber)(C)?C-g:0;return{...d,outer:{height:t,width:o},inner:{height:t-v,width:o-x}}}}return d})},[t,o]);let h=(0,Or.useCallback)(({clientWidth:d,clientHeight:f})=>{let{css:p,inner:m,outer:g}=i,b=i;a&&qd(d)&&d!==(m==null?void 0:m.width)?b={css:p,outer:g,inner:{width:Math.floor(d)||e,height:t}}:c&&qd(f)&&f!==(m==null?void 0:m.height)?b={css:p,outer:g,inner:{height:Math.floor(f)||n,width:o}}:qd(f)&&qd(d)&&(d!==(m==null?void 0:m.width)||f!==(m==null?void 0:m.height))&&(b={css:p,outer:g,inner:{width:Math.floor(d)||e,height:Math.floor(f)||n}}),b!==i&&l(b)},[n,e,a,c,t,i,o]);return(0,Or.useEffect)(()=>{i.inner&&(r==null||r(i.inner))},[r,i.inner]),YD(s,u,h,!0),{containerRef:s,cssSize:i.css,outerSize:i.outer,innerSize:i.inner}};var ek=require("@salt-ds/core"),Hb=U(require("classnames"));var Vb=require("react/jsx-runtime"),Nb="vuuMeasuredContainer",Ca=(0,ZD.forwardRef)(function({children:e,className:t,height:r,onResize:o,style:s,width:i,...l},a){let{containerRef:c,...u}=Ob({height:r,onResize:o,width:i}),{cssSize:h,innerSize:d}=u,f=d===void 0,p=()=>f?{"--measured-css-height":`${h.height}`,"--measured-css-width":`${h.width}`}:{...s,"--measured-css-height":`${h.height}`,"--measured-css-width":`${h.width}`,"--measured-px-height":`${d==null?void 0:d.height}px`,"--measured-px-width":`${d==null?void 0:d.width}px`},m=(0,ek.useForkRef)(c,a);return f?(0,Vb.jsx)("div",{...l,className:(0,Hb.default)(Nb,`${Nb}-ummeasured`),style:p(),ref:c}):(0,Vb.jsx)("div",{...l,className:(0,Hb.default)(Nb,t),ref:m,style:p(),children:e})});var ak=require("@vuu-ui/vuu-popups");var Mc=U(require("classnames")),ql=U(require("react"));var Jd=require("@vuu-ui/vuu-utils"),Dn=require("react");var Bb=require("@vuu-ui/vuu-utils"),bF=".vuuOverflowContainer-item:not(.wrapped)",tk=n=>n.sort((e,t)=>{let{dataset:{index:r="?"}}=e,{dataset:{index:o="?"}}=t,s=e.classList.contains("wrapped"),i=t.classList.contains("wrapped"),l=r==="overflow",a=o==="overflow";return s&&!i?1:!s&&i?-1:l?1:a?-1:parseInt(r)>parseInt(o)?1:-1}),Qd=[],Ul=(n,e="horizontal")=>{let t=[],r=[],o=-1,s=!1,i=tk(Array.from(n.children)),l=e==="vertical"?"top":"left";for(let a of i){let c=a,{dataset:{index:u="?",label:h="?",overflowPriority:d="0"}}=c,{[l]:f}=c.getBoundingClientRect();f<=o?(u==="overflow"?r.push(t.pop()):r.push({index:u,label:h,overflowPriority:d}),s=!0):s?r.push({index:u,label:h,overflowPriority:d}):t.push({index:u,label:h,overflowPriority:d}),o=f}return[t,r]},Fb=(n,e)=>{let t=!1;e.find(({index:r})=>r==="overflow")&&e.length===1&&(t=!0);for(let r of n.children){let{dataset:{index:o="?"}}=r;e.length===0||t?n.classList.remove("overflowed"):n.classList.add("overflowed"),o!=="overflow"&&e.find(s=>s.index===o)?r.classList.add("wrapped"):r.classList.remove("wrapped")}},yF=(n,{overflowPriority:e})=>Math.max(n,parseInt(e)),xF=(n,{overflowPriority:e})=>Math.min(n,parseInt(e)),zb=n=>{var e;return n.length>1&&((e=n.at(-1))==null?void 0:e.index)==="overflow"},vF=n=>{let[e]=n;for(let t=1;t<n.length;t++){let r=n[t];parseInt(r.overflowPriority)>parseInt(e.overflowPriority)&&(e=r)}return e},$b=(n,e)=>{var o;let t=n.reduce(xF,Number.MAX_SAFE_INTEGER);return e.reduce(yF,0)>t?!0:e.length>1&&((o=e.at(-1))==null?void 0:o.index)==="overflow"},Wb=(n,e)=>new Promise(t=>{requestAnimationFrame(()=>{let[,r]=Ul(n);CF(e,r).forEach(s=>nk(n,s)),t(r)})}),_b=(n,e,t)=>new Promise(r=>{requestAnimationFrame(()=>{let[,o]=Ul(n),s=vF(o);if(s){let[i,l]=Xd(n,s);r([i,l])}else r([e,t])})}),nk=(n,e)=>{let t=(0,Bb.getElementByDataIndex)(n,e.index);if(t)t.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${e.index} not found`)},rk=n=>Array.from(n.querySelectorAll(".wrapped")),CF=(n,e)=>{let t=[];for(let r of e)n.find(({index:o})=>o===r.index)||t.push(r);return t},ok=(n,e)=>{rk(n).forEach(r=>{let{dataset:{index:o="?"}}=r;e.find(s=>s.index===o)||r.classList.remove("wrapped")})},sk=n=>n.querySelector('[data-index="overflow"]'),wF=n=>n.querySelector(".wrapped"),jd=n=>parseInt(getComputedStyle(n).getPropertyValue("width")),ik=(n,e)=>{let{right:t}=n.getBoundingClientRect(),r=parseInt(getComputedStyle(n).getPropertyValue("padding-right")),{right:o}=e.getBoundingClientRect();return t-r-o},Kb=n=>{let e=sk(n),t=ik(n,e),r=jd(e),o=wF(n);return jd(o)<=t+r?(n.classList.remove("overflowed"),o.classList.remove("wrapped"),!0):!1},SF=(n,e)=>{let{dataset:{index:t="0",overflowPriority:r="0"}}=n,{dataset:{index:o="0",overflowPriority:s="0"}}=e;return r>s?-1:r<s?1:parseInt(t)-parseInt(o)},TF=n=>Array.from(n.querySelectorAll(bF)).sort(SF),Xd=(n,e)=>{let t=TF(n),r=(0,Bb.getElementByDataIndex)(n,e.index,!0),o=-1,s=t.at(o),i=jd(s),l=jd(r),a=sk(n),c=ik(n,a)+i;if(c>=l)EF(r,s);else{let{left:d}=s.getBoundingClientRect(),f=c,p=[s];for(;c<l;){o-=1,s=t.at(o),p.push(s);let{left:m}=s.getBoundingClientRect(),g=d-m;c=f+g}r==null||r.classList.remove("wrapped"),p.forEach(m=>{m.classList.add("wrapped")})}let[u,h]=Ul(n);return ok(n,h),[u,h]},EF=(n,e)=>{if(!n||!e)throw Error("switchWrapOnElements, element undefined");n.classList.remove("wrapped"),e.classList.add("wrapped")};var lk=({allowDragDrop:n=!1,itemCount:e,onMoveItem:t,onSwitchWrappedItemIntoView:r,orientation:o="horizontal"})=>{let[s,i]=(0,Dn.useState)(null),l=(0,Dn.useRef)(Qd),a=(0,Dn.useRef)(null),c=(0,Dn.useCallback)(async()=>{if(s){let[C,v]=Ul(s,o);for(Fb(s,v),zb(v)&&(v=await Wb(s,v));$b(C,v);)[C,v]=await _b(s,C,v);v.length===1&&Kb(s)&&(v=Qd),l.current=v}},[s,o]),u=C=>typeof C=="object"&&C!==null&&"overflowItem"in C,[h,d]=(0,Dn.useMemo)(()=>[()=>{let{current:C}=l;return C.map(v=>({label:v.label,action:`activate-item-${v.index}`,options:{overflowItem:v}}))},({options:C})=>{if(s&&u(C)){let[,v]=Xd(s,C.overflowItem);l.current=v,r==null||r(C.overflowItem)}return!0}],[s,r]),f=(0,Dn.useMemo)(()=>{let{sizeProp:C}=Jd.MEASURES[o],v=0;return new ResizeObserver(x=>{for(let w of x){let{[C]:y}=w.contentRect,S=Math.round(y);(0,Jd.isValidNumber)(S)&&v!==S&&(v=S,c())}})},[c,o]);Pn(()=>{c()},[c,e]),(0,Dn.useMemo)(()=>{s&&f.observe(s)},[s,f]);let p=(0,Dn.useCallback)(C=>{i(a.current=C)},[]),m=(0,Dn.useCallback)((C,v)=>{t==null||t(C,v)},[t]),{onMouseDown:g,...b}=Wr({allowDragDrop:n,containerRef:a,draggableClassName:"vuuOverflowContainer",onDrop:m,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"});return{menuActionHandler:d,menuBuilder:h,onItemMouseDown:g,rootRef:p,...b}};var Qo=require("react/jsx-runtime"),Gl="vuuOverflowContainer",ck=ql.default.memo(({allowDragDrop:n,children:e,className:t,height:r,id:o,onMoveItem:s,onSwitchWrappedItemIntoView:i,orientation:l="horizontal",overflowIcon:a,overflowPosition:c="end"})=>{let u=Hr(e),{draggable:h,draggedItemIndex:d,menuActionHandler:f,menuBuilder:p,onItemMouseDown:m,rootRef:g}=lk({allowDragDrop:n,itemCount:u.length,onMoveItem:s,onSwitchWrappedItemIntoView:i,orientation:l});console.log(`Overflow container WRAPPER ${ql.default.Children.count(e)} children`);let C={"--overflow-container-height":`${l==="vertical"?"100%":`${r}px`}`},v=(0,Mc.default)(`${Gl}-wrapContainer`,t,{[`${Gl}-horizontal`]:l==="horizontal",[`${Gl}-vertical`]:l==="vertical"}),x=u.map((y,S)=>{let{"data-align":D,"data-overflow-priority":k="0",id:E=`${o}-${S}`,label:N=`Item ${S+1}`}=y.props;return(0,Qo.jsx)("div",{className:(0,Mc.default)(`${Gl}-item`,{"vuuDraggable-dragAway":d===S}),"data-index":S,"data-align":D,"data-label":N,"data-overflow-priority":k,id:`${E}-wrapper`,onMouseDown:m,children:y},S)}),w=(0,Qo.jsx)("div",{className:`${Gl}-OverflowIndicator`,"data-index":"overflow",children:(0,Qo.jsx)(ak.PopupMenu,{icon:a,menuBuilder:p,menuActionHandler:f})},"overflow");return x.push(w),(0,Qo.jsxs)("div",{className:v,ref:g,style:C,children:[x,h]})});ck.displayName="OverflowContainer.InnerContainer";var Es=(0,ql.forwardRef)(function({allowDragDrop:e=!1,children:t,className:r,height:o=44,id:s,onMoveItem:i,onSwitchWrappedItemIntoView:l,orientation:a,overflowIcon:c,overflowPosition:u,...h},d){let f=lt(s);return console.log(`Overflow container ${ql.default.Children.count(t)} children`),(0,Qo.jsx)("div",{...h,className:(0,Mc.default)((0,Mc.default)(Gl,r)),id:f,ref:d,children:(0,Qo.jsx)(ck,{allowDragDrop:e,height:o,id:f,orientation:a,overflowIcon:c,overflowPosition:u,onMoveItem:i,onSwitchWrappedItemIntoView:l,children:t})})});var uk=require("@vuu-ui/vuu-utils");var Ub=U(require("classnames")),Zd=require("react");var Yd=require("react/jsx-runtime"),RF=n=>{let e=n.cloneNode(!0);return e.id="",delete e.dataset.idx,e},Gb=(0,Zd.memo)(({className:n,children:e,idx:t,resizeable:r,header:o,closeable:s,...i})=>(0,Yd.jsx)(ds,{className:(0,Ub.default)("vuuPaletteItem",n),"data-draggable":!0,"data-icon":"draggable",...i}));Gb.displayName="PaletteItem";var hk=({children:n,className:e,itemHeight:t=41,orientation:r="horizontal",ViewProps:o,...s})=>{let i=pn(),l="vuuPalette";function a(c){var D,k;let h=c.target.closest(".vuuPaletteItem"),d=parseInt((k=(D=h.dataset)==null?void 0:D.index)!=null?k:"-1"),{props:{caption:f,children:p,template:m,...g}}=n[d],{height:b,left:C,top:v,width:x}=h.getBoundingClientRect(),w=(0,uk.uuid)(),S=m?p:(0,Yd.jsx)(si,{...o,...{id:w,key:w},...g,title:g.label,children:p});i({dragRect:{left:C,top:v,right:C+x,bottom:v+150,width:x,height:b},dragElement:RF(h),evt:c.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,DriftHomeIfNoDropTarget:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:S,type:"drag-start"})}return(0,Yd.jsx)(ms,{...s,className:(0,Ub.default)(l,e,`${l}-${r}`),itemHeight:t,selected:null,children:n.map((c,u)=>c.type===Gb?(0,Zd.cloneElement)(c,{key:u,onMouseDown:a}):c)})};Je("Palette",hk,"view");var qb=U(require("classnames")),Xo=U(require("react"));var Pc=require("react/jsx-runtime"),dk="Tabs",DF=()=>{},kF=(n,e)=>{var t,r,o,s;return(s=(o=(t=n.props)==null?void 0:t.title)!=null?o:(r=n.props)==null?void 0:r["data-tab-title"])!=null?s:`Tab ${e+1}`},MF=n=>{let e=[];return Xo.default.Children.forEach(n,t=>{Xo.default.isValidElement(t)?e.push(t):console.warn("Stack has unexpected child element type")}),e},PF={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},ef=(0,Xo.forwardRef)(function({active:e=0,children:t,className:r,getTabIcon:o=DF,getTabLabel:s=kF,id:i,keyBoardActivation:l="manual",onAddTab:a,onMoveTab:c,onTabClose:u,onTabEdit:h,onTabSelectionChanged:d,showTabs:f="top",style:p,TabstripProps:m=PF},g){var N;let b=lt(i),{allowCloseTab:C,allowRenameTab:v,className:x}=m,w=(0,Xo.useCallback)((T,M,P,L)=>{h==null||h(L,M)},[h]),y=()=>{var T;return Xo.default.isValidElement(t)?t:Array.isArray(t)&&(T=t[e])!=null?T:null},S=()=>MF(t).map((T,M)=>{let{closeable:P=C,id:L=`${b}-${M}`,"data-tab-location":O}=T.props;return(0,Pc.jsx)(gD,{ariaControls:L,"data-icon":o(T,M),id:`${L}-tab`,index:M,label:s(T,M),location:O,closeable:P,editable:v},L)}),D=y(),k=f==="left"||f==="right",E=k?"vertical":"horizontal";return(0,Pc.jsxs)("div",{className:(0,qb.default)(dk,r,{[`${dk}-horizontal`]:k}),style:p,id:b,ref:g,children:[f?(0,Pc.jsx)(iD,{...m,activeTabIndex:(N=m==null?void 0:m.activeTabIndex)!=null?N:D===null?-1:e,allowDragDrop:m.allowDragDrop!==!1,animateSelectionThumb:!0,className:(0,qb.default)("vuuTabHeader",x),keyBoardActivation:l,onActiveChange:d,onAddTab:a,onCloseTab:u,onExitEditMode:w,onMoveTab:c,orientation:E,children:S()}):null,D]})});ef.displayName="Stack";var fk=require("@salt-ds/core"),Jo=U(require("react"));var tf=require("react/jsx-runtime"),IF=n=>(0,tf.jsx)(si,{resizeable:!0,title:`Tab ${n}`,style:{flexGrow:1,flexShrink:0,flexBasis:0},header:!0,closeable:!0,children:(0,tf.jsx)(Fc,{style:{flex:1}})}),jb=n=>{var w;let e=(0,Jo.useRef)(null),t=pn(),{loadState:r}=is(),{createNewChild:o,id:s,onTabSelectionChanged:i,path:l,...a}=n,{children:c}=n,u=(0,fk.useIdMemo)(s),[h]=Ec(u,e,l),d=Uf(),f=(w=o!=null?o:d)!=null?w:IF,p=y=>{l&&(t({type:"switch-tab",id:u,path:l,nextIdx:y}),i==null||i(y))},m=(0,Jo.useCallback)(y=>{if(Array.isArray(c)){let{props:{"data-path":S,path:D=S}}=c[y];t({type:"remove",path:D})}},[c,t]),g=(0,Jo.useCallback)(()=>{if(l){let y=Jo.default.Children.count(c),S=f(y);t({type:"add",path:l,component:S})}},[c,f,t,l]),b=(0,Jo.useCallback)((y,S)=>{l&&t({fromIndex:y,toIndex:S,path:l,type:"move-child"})},[t,l]);return(0,tf.jsx)(ef,{...a,id:u,getTabLabel:(y,S)=>{let{id:D,title:k}=y.props;return r(D,"view-title")||k||`Tab ${S+1}`},onMouseDown:async(y,S)=>{let D;await h({type:"mousedown",index:S,preDragActivity:async()=>new Promise(N=>{console.log("preDragActivity: Ok, gonna release the drag"),D=N})},y)&&(D==null||D(void 0))},onMoveTab:b,onAddTab:g,onTabClose:m,onTabEdit:(y,S)=>{t({type:"set-title",path:`${l}.${y}`,title:S})},onTabSelectionChanged:p,ref:e})};jb.displayName="Stack";Je("Stack",jb,"container");var rf=U(require("classnames")),Xl=U(require("react"));var Ck=require("@vuu-ui/vuu-utils"),Ql=require("react");var bk=require("@salt-ds/core"),nf=require("@vuu-ui/vuu-utils"),ft=require("react"),Zt=require("@vuu-ui/vuu-utils");var pk=require("@vuu-ui/vuu-utils"),AF=(n,e)=>{if(n){let t=n.querySelector(`[data-index]:has(${e})`);return(0,pk.getElementDataIndex)(t)}return-1};var mk=n=>AF(n,".vuuEditableLabel-editing");var yk={horizontal:{[Zt.Home]:"start",[Zt.End]:"end",[Zt.ArrowLeft]:"bwd",[Zt.ArrowRight]:"fwd"},vertical:{[Zt.Home]:"start",[Zt.End]:"end",[Zt.ArrowUp]:"bwd",[Zt.ArrowDown]:"fwd"}},LF=(n,e="horizontal")=>yk[e][n]!==void 0,OF=n=>n===Zt.ArrowDown;function gk(n,e,t){return e==="start"?0:e==="end"?n-1:e==="bwd"?t>0?t-1:t:t===null?0:t===n-1?t:t+1}var NF=n=>n!==null&&!n.classList.contains("wrapped"),Ic=(n,e)=>n?n.querySelector(`[data-index="${e}"]`):null,xk=({containerRef:n,defaultHighlightedIdx:e=-1,highlightedIdx:t,keyBoardActivation:r,orientation:o,selectedIndex:s=[]})=>{let i=r==="manual",l=(0,ft.useRef)(!1),a=(0,ft.useRef)(-1),[c,u]=(0,ft.useState)(!1),[,h]=(0,ft.useState)({}),[d,f]=(0,bk.useControlled)({controlled:t,default:e,name:"UseKeyboardNavigation"}),p=(0,ft.useCallback)(M=>{f(a.current=M)},[f]),m=(0,ft.useRef)(!1),g=(0,ft.useCallback)((M,P=!1,L,O=70)=>{p(M),L===!0&&!m.current&&(m.current=!0);let I=()=>{let A=Ic(n.current,M);if(A){let H=(0,nf.getFocusableElement)(A);H==null||H.focus()}};P?I():setTimeout(I,O)},[n,p]),b=M=>{if(a.current===-1&&M.target.tabIndex!==-1){let P=mk(n.current);P!==-1?requestAnimationFrame(()=>{p(P)}):setTimeout(()=>{let[L=null]=s;a.current===-1&&L!==null&&p(L)},200)}},C=(0,ft.useCallback)(()=>{var M,P;return(P=(M=n.current)==null?void 0:M.querySelectorAll("[data-index]").length)!=null?P:0},[n]),v=(0,ft.useCallback)((M="fwd",P)=>{let L=C(),I=gk(L,M,typeof P=="number"?P:L),A=M==="start"?"fwd":M==="end"?"bwd":M;for(;(A==="fwd"&&I<L||A==="bwd"&&I>0)&&!NF(Ic(n.current,I));){let H=gk(L,A,I);if(H===I)break;I=H}return I},[n,C]),x=(0,ft.useCallback)((M,P=!1)=>{let L=yk[o][M.key],O=v(L,d);O!==d?i&&g(O,!0):P&&h({})},[d,i,v,g,o]),w=(0,ft.useCallback)(()=>{let M=Ic(n.current,d);return M?M.querySelector(".vuuPopupMenu")!=null:!1},[n,d]),y=(0,ft.useCallback)(()=>{let M=Ic(n.current,d);return M?M.querySelector(".vuuEditableLabel-input")!=null:!1},[n,d]),S=(0,ft.useCallback)(()=>{let M=Ic(n.current,d),P=M==null?void 0:M.querySelector(".vuuPopupMenu");return P&&(0,nf.dispatchMouseEvent)(P,"click"),!1},[n,d]),D=(0,ft.useCallback)(M=>{C()>0&&LF(M.key,o)?(M.preventDefault(),m.current?x(M):(m.current=!0,x(M,!0))):OF(M.key)&&w()&&!y()&&S()},[S,C,w,y,x,o]),k=(M,P)=>{p(P)},E=(0,ft.useCallback)(()=>{c||(u(!0),l.current?l.current=!1:m.current=!0)},[c]),N=(0,ft.useCallback)(()=>{c||(l.current=!0),m.current=!1},[c]);return{containerProps:{onBlur:M=>{let P=M.target.closest(".vuuTabstrip"),L=M.relatedTarget;P&&!(P!=null&&P.contains(L))&&(p(-1),u(!1))},onMouseDownCapture:N,onFocus:E,onMouseLeave:()=>{m.current=!0,p(-1),l.current=!1}},focusVisible:m.current?d:-1,focusIsWithinComponent:c,highlightedIdx:d,focusItem:g,onClick:k,onFocus:b,onKeyDown:D,setHighlightedIdx:p}};var Ac=require("@vuu-ui/vuu-utils");var jl=require("react"),HF=["Enter"," "],VF={},vk=({containerRef:n,defaultSelected:e,highlightedIdx:t,itemQuery:r,onSelectionChange:o,selected:s,selectionStrategy:i})=>{let[l,a,c]=wu({controlled:s,default:e!=null?e:[],name:"useSelection",state:"selected"}),u=(0,jl.useCallback)(g=>HF.includes(g.key),[]),h=(0,jl.useCallback)((g,b=!1)=>{let C=nv(i,b)?l.concat(g):[g];a(C),o==null||o(C)},[o,l,i,a]),d=(0,jl.useCallback)((g,b=!1)=>{let C=i==="deselectable"||i==="multiple-special-key"&&!b?[]:l.filter(v=>v!==g);a(C),o==null||o(C)},[o,l,i,a]),f=(0,jl.useCallback)(g=>{u(g)&&(0,Ac.isSelectableElement)(g.target)&&(l.includes(t)?ep(i)&&(g.stopPropagation(),g.preventDefault(),d(t,g.shiftKey)):(g.stopPropagation(),g.preventDefault(),h(t,g.shiftKey)))},[u,l,t,i,h,d]),p=(0,jl.useCallback)((g,b)=>{let C=(0,Ac.getClosestIndexItem)(g.target);(0,Ac.isSelectableElement)(C)&&(l.includes(b)?ep(i)&&d(b,g.shiftKey):h(b,g.shiftKey))},[d,h,l,i]),m=yu(i)?VF:{onClick:p,onKeyDown:f};return{activateItem:h,itemHandlers:m,isControlled:c,selected:l}};var wk=({activeItemIndex:n,defaultActiveItemIndex:e,containerRef:t,itemQuery:r="vuuToolbarItem",onActiveChange:o,orientation:s,selectionStrategy:i})=>{var y;let l=(0,Ql.useRef)(n),{focusItem:a,highlightedIdx:c,onClick:u,onKeyDown:h,setHighlightedIdx:d,...f}=xk({containerRef:t,keyBoardActivation:"manual",orientation:s,selectedIndex:(y=l.current)!=null?y:[]}),{activateItem:p,itemHandlers:{onClick:m,onKeyDown:g},selected:b}=vk({containerRef:t,defaultSelected:e,highlightedIdx:c,itemQuery:r,onSelectionChange:o,selected:n,selectionStrategy:i});l.current=b;let C=(0,Ql.useCallback)(S=>{var E;let k=S.target.closest("[data-index]");if(k){let N=parseInt((E=k.dataset.index)!=null?E:"-1");N!==-1&&(0,Ck.isValidNumber)(N)&&(u(S,N),m==null||m(S,N))}},[u,m]),v=(0,Ql.useCallback)(S=>{h(S),S.defaultPrevented||g==null||g(S)},[h,g]),x=(0,Ql.useCallback)(S=>{let D=parseInt(S.index);isNaN(D)||p(D)},[p]),w={onClick:C,onFocus:f.onFocus,onKeyDown:v};return{activeItemIndex:b,focusVisible:f.focusVisible,containerProps:{...f.containerProps,onSwitchWrappedItemIntoView:x},itemProps:w}};var Sk=require("react/jsx-runtime"),Qb="vuuToolbar",BF=({activeItemIndex:n,defaultActiveItemIndex:e,children:t,className:r,id:o,onActiveChange:s,orientation:i="horizontal",selectionStrategy:l="none",...a})=>{let c=(0,Xl.useRef)(null),{activeItemIndex:u,focusVisible:h,itemProps:d,...f}=wk({activeItemIndex:n,defaultActiveItemIndex:e,containerRef:c,onActiveChange:s,orientation:i,selectionStrategy:l}),p=lt(o),m=(0,rf.default)(Qb,`${Qb}-${i}`,r),g=(0,Xl.useMemo)(()=>Hr(t).map((b,C)=>{let{id:v=`${p}-tab-${C}`,className:x,...w}=b.props,y=u.includes(C);return Xl.default.cloneElement(b,{...yi(w,d),className:(0,rf.default)("vuuToolbarItem",x,{vuuFocusVisible:h===C}),"data-overflow-priority":y?"1":void 0,id:v,key:C,"aria-selected":y,tabIndex:y?0:-1})}),[u,t,h,p,d]);return(0,Sk.jsx)(Es,{...a,...f.containerProps,className:(0,rf.default)(Qb,m),...a,ref:c,children:g})};var Jl=U(require("react"));var ai=require("react/jsx-runtime"),FF=({children:n})=>{let[t,r]=(0,Jl.useState)(n),[o,s]=(0,Jl.useState)(n),i=a=>{let c=df(t,a);s(c)},l=(a,c)=>{console.log(`change ${a} -> ${c}`);let u=Jl.default.cloneElement(o,{style:{...o.props.style,[a]:c}});s(u),r(Jl.default.cloneElement(t,{},u))};return(0,ai.jsxs)("div",{"data-design-mode":`${!1}`,children:[t,(0,ai.jsx)("br",{}),(0,ai.jsxs)("div",{style:{display:"flex"},children:[(0,ai.jsx)(Xb,{height:300,managedStyle:o.props.style,width:300,onChange:l,style:void 0}),(0,ai.jsx)(Jb,{layout:t,onSelect:i,style:{width:300,height:300,backgroundColor:"#ccc"}})]})]})};var Nr=require("@salt-ds/core"),Xe=require("react/jsx-runtime"),Zb={},zF={margin:{top:"marginTop",right:"marginRight",bottom:"marginBottom",left:"marginLeft"},border:{top:"borderTopWidth",right:"borderRightWidth",bottom:"borderBottomWidth",left:"borderLeftWidth"},padding:{top:"paddingTop",right:"paddingRight",bottom:"paddingBottom",left:"paddingLeft"}},Yb=({feature:n,children:e,style:t,onChange:r})=>(0,Xe.jsxs)("div",{className:`LayoutBox layout-${n} layout-outer`,children:[(0,Xe.jsxs)("div",{className:"layout-top",children:[(0,Xe.jsx)("span",{className:"layout-title",children:n}),(0,Xe.jsx)(Nr.FormField,{className:"layout-input",style:{width:30},children:(0,Xe.jsx)(Nr.Input,{value:t.top,onChange:(o,s)=>r(n,"top",s)})})]}),(0,Xe.jsxs)("div",{className:"layout-inner",children:[(0,Xe.jsx)("div",{className:"layout-left",children:(0,Xe.jsx)(Nr.FormField,{className:"layout-input",style:{width:30},children:(0,Xe.jsx)(Nr.Input,{value:t.left,onChange:(o,s)=>r(n,"left",s)})})}),e,(0,Xe.jsx)("div",{className:"layout-right",children:(0,Xe.jsx)(Nr.FormField,{className:"layout-input",style:{width:30},children:(0,Xe.jsx)(Nr.Input,{value:t.right,onChange:(o,s)=>r(n,"right",s)})})})]}),(0,Xe.jsx)("div",{className:"layout-bottom",children:(0,Xe.jsx)(Nr.FormField,{className:"layout-input",style:{width:30},children:(0,Xe.jsx)(Nr.Input,{value:t.bottom,onChange:(o,s)=>r(n,"bottom",s)})})})]}),$F={margin:!0,marginTop:!0,marginRight:!0,marginBottom:!0,marginLeft:!0},WF={padding:!0,paddingTop:!0,paddingRight:!0,paddingBottom:!0,paddingLeft:!0},_F={border:!0,borderColor:!0,borderWidth:!0,borderTopWidth:!0,borderRightWidth:!0,borderBottomWidth:!0,borderLeftWidth:!0},of="(\\d+)(?:px)?",KF=`^(?:${of}(?:\\s${of}(?:\\s${of}(?:\\s${of})?)?)?)$`,Tk=new RegExp(KF),UF=/^(?:(\d+)(?:px)\ssolid\s([a-zA-Z,0-9().]+))$/,Xb=({height:n,managedStyle:e,onChange:t,style:r,width:o})=>{let s=Ek(e),i=(v,x,w)=>{let y=parseInt(w||"0",10),S=zF[v][x];t(S,y)},{marginTop:l=0,marginRight:a=0,marginBottom:c=0,marginLeft:u=0}=s,{borderTopWidth:h=0,borderRightWidth:d=0,borderBottomWidth:f=0,borderLeftWidth:p=0}=s,{paddingTop:m=0,paddingRight:g=0,paddingBottom:b=0,paddingLeft:C=0}=s;return(0,Xe.jsx)("div",{className:"LayoutConfigurator",style:{width:o,height:n,...r},children:(0,Xe.jsx)(Yb,{feature:"margin",style:{top:l,right:a,bottom:c,left:u},onChange:i,children:(0,Xe.jsx)(Yb,{feature:"border",style:{top:h,right:d,bottom:f,left:p},onChange:i,children:(0,Xe.jsx)(Yb,{feature:"padding",style:{top:m,right:g,bottom:b,left:C},onChange:i,children:(0,Xe.jsx)("div",{className:"layout-content"})})})})})};function GF(n=Zb,e=Zb){let{margin:t,marginTop:r,marginRight:o,marginBottom:s,marginLeft:i,padding:l,paddingTop:a,paddingRight:c,paddingBottom:u,paddingLeft:h,...d}=n;if(typeof t=="number")d.marginTop=d.marginRight=d.marginBottom=d.marginLeft=t;else if(typeof t=="string"){let f=Tk.exec(t);if(f===null)console.error(`Invalid css value for margin '${t}'`);else{let[,p,m,g,b]=f,C=p&&m&&g;C&&b?(d.marginTop=parseInt(p,10),d.marginRight=parseInt(m,10),d.marginBottom=parseInt(g,10),d.marginLeft=parseInt(b,10)):C?(d.marginTop=parseInt(p,10),d.marginRight=d.marginLeft=parseInt(m,10),d.marginBottom=parseInt(g,10)):p&&m?(d.marginTop=d.marginBottom=parseInt(p,10),d.marginRight=d.marginLeft=parseInt(m,10)):d.marginTop=d.marginRight=d.marginBottom=d.marginLeft=parseInt(p,10)}}if(typeof r=="number"&&(d.marginTop=r),typeof o=="number"&&(d.marginRight=o),typeof s=="number"&&(d.marginBottom=s),typeof i=="number"&&(d.marginLeft=i),typeof l=="number")d.paddingTop=d.paddingRight=d.paddingBottom=d.paddingLeft=l;else if(typeof l=="string"){let f=Tk.exec(l);if(f===null)console.error(`Invalid css value for padding '${l}'`);else{let[,p,m,g,b]=f,C=p&&m&&g;C&&b?(d.paddingTop=parseInt(p,10),d.paddingRight=parseInt(m,10),d.paddingBottom=parseInt(g,10),d.paddingLeft=parseInt(b,10)):C?(d.paddingTop=parseInt(p,10),d.paddingRight=d.paddingLeft=parseInt(m,10),d.paddingBottom=parseInt(g,10)):p&&m?(d.paddingTop=d.paddingBottom=parseInt(p,10),d.paddingRight=d.paddingLeft=parseInt(m,10)):d.paddingTop=d.paddingRight=d.paddingBottom=d.paddinggLeft=parseInt(p,10)}}return typeof a=="number"&&(d.paddingTop=a),typeof c=="number"&&(d.paddingRight=c),typeof u=="number"&&(d.paddingBottom=u),typeof h=="number"&&(d.paddingLeft=h),Ek(d,e)}function Ek(n=Zb){let e={...n},t,{border:r,borderWidth:o,borderTopWidth:s,borderRightWidth:i,borderBottomWidth:l,borderLeftWidth:a,borderColor:c,margin:u,marginTop:h,marginRight:d,marginBottom:f,marginLeft:p,padding:m,paddingTop:g,paddingRight:b,paddingBottom:C,paddingLeft:v,...x}=e,w={},y={};if(typeof u=="number"&&(e.marginTop=e.marginRight=e.marginBottom=e.marginLeft=u,w={marginTop:u,marginRight:u,marginBottom:u,marginLeft:u}),typeof m=="number"&&(e.paddingTop=e.paddingRight=e.paddingBottom=e.paddingLeft=m,y={paddingTop:m,paddingRight:m,paddingBottom:m,paddingLeft:m}),r||o||s||i||l||a){typeof r=="string"&&(t=UF.exec(r))&&([,o,c]=t,o=parseInt(o,10)),o&&(s=s===void 0?o:s,i=i===void 0?o:i,l=l===void 0?o:l,a=a===void 0?o:a),c=c||"black";let S=`
32
+ ${c} ${a||0}px ${s||0}px 0 0 inset,
33
+ ${c} ${-i||0}px ${-l||0}px 0 0 inset`;return{...x,...w,...y,borderTopWidth:s,borderRightWidth:i,borderBottomWidth:l,borderLeftWidth:a,borderColor:c,borderStyle:"solid",boxShadow:S}}else return e}var Rk=U(require("react")),Dk=U(require("classnames"));var ey=require("react/jsx-runtime"),qF="hwLayoutTreeViewer",kk=(n,e="0")=>({label:ue(n),path:e,childNodes:Rk.default.Children.map(n.props.children,(t,r)=>kk(t,e?`${e}.${r}`:`${r}`))}),Jb=({layout:n,onSelect:e,style:t})=>{let r=[kk(n)],o=(s,[{path:i}])=>{e(i)};return(0,ey.jsx)("div",{className:(0,Dk.default)(qF),style:t,children:(0,ey.jsx)(Pb,{source:r,groupSelection:"single",onSelectionChange:o})})};
24
34
  //# sourceMappingURL=index.js.map