@vuu-ui/vuu-table 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.
- package/cjs/index.js +14 -4
- package/cjs/index.js.map +4 -4
- package/esm/index.js +14 -4
- package/esm/index.js.map +4 -4
- package/index.css +1 -1
- package/index.css.map +3 -3
- package/package.json +5 -5
- package/types/index.d.ts +2 -1
- package/types/table/Table.d.ts +1 -1
- package/types/table/dataTableTypes.d.ts +33 -5
- package/types/table/index.d.ts +1 -1
- package/types/table/useTableModel.d.ts +2 -2
- package/types/table/useVirtualViewport.d.ts +1 -1
- package/types/table-next/Row.d.ts +7 -5
- package/types/table-next/TableNext.d.ts +1 -1
- package/types/table-next/cell-renderers/dropdown-cell/DropdownCell.d.ts +4 -0
- package/types/table-next/cell-renderers/dropdown-cell/index.d.ts +1 -0
- package/types/table-next/cell-renderers/index.d.ts +2 -0
- package/types/table-next/cell-renderers/input-cell/InputCell.d.ts +4 -0
- package/types/table-next/cell-renderers/input-cell/index.d.ts +1 -0
- package/types/table-next/column-header-pill/ColumnHeaderPill.d.ts +9 -0
- package/types/table-next/column-header-pill/GroupColumnPill.d.ts +8 -0
- package/types/table-next/column-header-pill/SortIndicator.d.ts +7 -0
- package/types/table-next/column-header-pill/index.d.ts +3 -0
- package/types/table-next/column-menu/index.d.ts +1 -0
- package/types/table-next/column-resizing/useTableColumnResize.d.ts +3 -4
- package/types/table-next/context-menu/useTableContextMenu.d.ts +5 -0
- package/types/table-next/header-cell/GroupHeaderCell.d.ts +9 -0
- package/types/table-next/header-cell/GroupHeaderCellNext.d.ts +9 -0
- package/types/table-next/{HeaderCell.d.ts → header-cell/HeaderCell.d.ts} +2 -3
- package/types/table-next/header-cell/index.d.ts +3 -0
- package/types/table-next/index.d.ts +3 -0
- package/types/table-next/moving-window.d.ts +14 -0
- package/types/table-next/table-cell/TableCell.d.ts +4 -0
- package/types/table-next/table-cell/TableGroupCell.d.ts +4 -0
- package/types/table-next/table-cell/index.d.ts +2 -0
- package/types/table-next/table-config.d.ts +1 -1
- package/types/table-next/table-dom-utils.d.ts +7 -0
- package/types/table-next/useCellEditing.d.ts +7 -0
- package/types/table-next/useDataSource.d.ts +11 -4
- package/types/table-next/useKeyboardNavigation.d.ts +27 -0
- package/types/table-next/useMeasuredContainer.d.ts +30 -0
- package/types/table-next/useResizeObserver.d.ts +15 -0
- package/types/table-next/useTableContextMenu.d.ts +8 -0
- package/types/table-next/useTableModel.d.ts +35 -8
- package/types/table-next/useTableNext.d.ts +39 -25
- package/types/table-next/useTableScroll.d.ts +8 -2
- package/types/{table → table-next}/useTableViewport.d.ts +2 -2
- package/types/table-next/TableCell.d.ts +0 -9
- package/types/table-next/TableGroupCell.d.ts +0 -9
- /package/types/table-next/{ColumnMenu.d.ts → column-menu/ColumnMenu.d.ts} +0 -0
package/cjs/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Dm=Object.create;var yr=Object.defineProperty;var Mm=Object.getOwnPropertyDescriptor;var Im=Object.getOwnPropertyNames;var Pm=Object.getPrototypeOf,Lm=Object.prototype.hasOwnProperty;var km=(t,e)=>{for(var n in e)yr(t,n,{get:e[n],enumerable:!0})},xl=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Im(e))!Lm.call(t,r)&&r!==n&&yr(t,r,{get:()=>e[r],enumerable:!(o=Mm(e,r))||o.enumerable});return t};var _=(t,e,n)=>(n=t!=null?Dm(Pm(t)):{},xl(e||!t||!t.__esModule?yr(n,"default",{value:t,enumerable:!0}):n,t)),Hm=t=>xl(yr({},"__esModule",{value:!0}),t);var Cl=(t,e,n)=>{if(!e.has(t))throw TypeError("Cannot "+n)};var yt=(t,e,n)=>(Cl(t,e,"read from private field"),n?n.call(t):e.get(t)),vl=(t,e,n)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,n)},zs=(t,e,n,o)=>(Cl(t,e,"write to private field"),o?o.call(t,n):e.set(t,n),n);var zy={};km(zy,{ColumnResizer:()=>Io,Table:()=>dy,TableNext:()=>Cm,buildContextMenuDescriptors:()=>Po,isShowColumnSettings:()=>jb,isShowTableSettings:()=>Yb,updateTableConfig:()=>Hs,useMeasuredContainer:()=>cr,useSelection:()=>dr,useTableColumnResize:()=>nr,useTableContextMenu:()=>Lo,useTableModel:()=>ml,useTableViewport:()=>pr});module.exports=Hm(zy);var Hn=require("react");var Sl=require("react/jsx-runtime"),Tl=()=>{},Am="vuuColumnResizer",Io=({onDrag:t,onDragEnd:e=Tl,onDragStart:n=Tl})=>{let o=(0,Hn.useRef)(0),r=(0,Hn.useCallback)(l=>{l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault();let a=Math.round(l.clientX),c=a-o.current;o.current=a,c!==0&&t(l,c)},[t]),s=(0,Hn.useCallback)(l=>{window.removeEventListener("mouseup",s),window.removeEventListener("mousemove",r),e(l)},[e,r]),i=(0,Hn.useCallback)(l=>{n(l),o.current=Math.round(l.clientX),window.addEventListener("mouseup",s),window.addEventListener("mousemove",r),l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault()},[n,r,s]);return(0,Sl.jsx)("div",{className:Am,"data-align":"end",onMouseDown:i})};var wl=require("@vuu-ui/vuu-utils"),Po=t=>(e,n)=>{let o=[];if(t===void 0)return o;if(e==="header"||e==="column-menu")o.push(...Om(n,t)),o.push(...Fm(n,t)),o.push(...Nm(n,t)),o.push(...zm(n)),o.push({action:"column-settings",icon:"cog",label:"Column Settings",options:n}),o.push({action:"table-settings",icon:"cog",label:"DataGrid Settings",options:n});else if(e==="filter"){let{column:r,filter:s}=n,i=(s==null?void 0:s.column)===(r==null?void 0:r.name);o.push({label:"Edit filter",action:"filter-edit",options:n}),o.push({label:"Remove filter",action:"filter-remove-column",options:n}),r&&!i&&o.push({label:"Remove all filters",action:"remove-filters",options:n})}return o};function Om(t,{sort:{sortDefs:e}}){let{column:n}=t,o=[];if(n===void 0)return o;let r=e.length>0;return n.sorted==="A"?o.push({label:"Reverse Sort (DSC)",action:"sort-dsc",options:t}):n.sorted==="D"?o.push({label:"Reverse Sort (ASC)",action:"sort-asc",options:t}):typeof n.sorted=="number"?(n.sorted>0?o.push({label:"Reverse Sort (DSC)",action:"sort-add-dsc",options:t}):o.push({label:"Reverse Sort (ASC)",action:"sort-add-asc",options:t}),r&&Math.abs(n.sorted)<e.length&&o.push({label:"Remove from sort",action:"sort-remove",options:t}),o.push({label:"New Sort",children:[{label:"Ascending",action:"sort-asc",options:t},{label:"Descending",action:"sort-dsc",options:t}]})):r?(o.push({label:"Add to sort",children:[{label:"Ascending",action:"sort-add-asc",options:t},{label:"Descending",action:"sort-add-dsc",options:t}]}),o.push({label:"New Sort",children:[{label:"Ascending",action:"sort-asc",options:t},{label:"Descending",action:"sort-dsc",options:t}]})):o.push({label:"Sort",children:[{label:"Ascending",action:"sort-asc",options:t},{label:"Descending",action:"sort-dsc",options:t}]}),o}function Nm(t,e){let{column:n}=t;if(n===void 0||e.groupBy.length===0)return[];let{name:o,label:r=o}=n;return[{label:`Aggregate ${r}`,children:[{label:"Count",action:"agg-count",options:t},{label:"Distinct",action:"agg-distinct",options:t}].concat((0,wl.isNumericColumn)(n)?[{label:"Sum",action:"agg-sum",options:t},{label:"Avg",action:"agg-avg",options:t},{label:"High",action:"agg-high",options:t},{label:"Low",action:"agg-low",options:t}]:[])}]}var Bs=(t,e)=>({label:`Pin ${e}`,action:`column-pin-${e}`,options:t}),Fs=t=>Bs(t,"left"),Vs=t=>Bs(t,"floating"),$s=t=>Bs(t,"right");function zm(t){let{column:e}=t;if(e===void 0)return[];let{pin:n}=e,o=[{label:"Hide column",action:"column-hide",options:t},{label:"Remove column",action:"column-remove",options:t}];return n===void 0?o.push({label:"Pin column",children:[Fs(t),Vs(t),$s(t)]}):n==="left"?o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Vs(t),$s(t)]}):n==="right"?o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Fs(t),Vs(t)]}):n==="floating"&&o.push({label:"Unpin column",action:"column-unpin",options:t},{label:"Pin column",children:[Fs(t),$s(t)]}),o}function Fm(t,{groupBy:e}){let{column:n}=t,o=[];if(n===void 0)return o;let{name:r,label:s=r}=n;return e.length===0?o.push({label:`Group by ${s}`,action:"group",options:t}):o.push({label:`Add ${s} to group by`,action:"group-add",options:t}),o}var El=require("@vuu-ui/vuu-utils"),we=require("@vuu-ui/vuu-utils"),Vm=(t,e)=>{if(t.filterStruct&&e){let[n,o]=(0,El.removeColumnFromFilter)(e,t.filterStruct);return{filter:o,filterStruct:n}}else return t},{Average:$m,Count:Bm,Distinct:Km,High:Wm,Low:_m,Sum:Gm}=we.AggregationType,Lo=({dataSource:t,onPersistentColumnOperation:e})=>o=>{let r=o.options;if(r.column&&t){let{column:s}=r;switch(o.menuId){case"sort-asc":return t.sort=(0,we.setSortColumn)(t.sort,s,"A"),!0;case"sort-dsc":return t.sort=(0,we.setSortColumn)(t.sort,s,"D"),!0;case"sort-add-asc":return t.sort=(0,we.addSortColumn)(t.sort,s,"A"),!0;case"sort-add-dsc":return t.sort=(0,we.addSortColumn)(t.sort,s,"D"),!0;case"group":return t.groupBy=(0,we.addGroupColumn)(t.groupBy,s),!0;case"group-add":return t.groupBy=(0,we.addGroupColumn)(t.groupBy,s),!0;case"column-hide":return e({type:"hideColumns",columns:[s]}),!0;case"column-remove":return t.columns=t.columns.filter(i=>i!==s.name),!0;case"filter-remove-column":return t.filter=Vm(t.filter,s),!0;case"remove-filters":return t.filter={filter:""},!0;case"agg-avg":return t.aggregations=(0,we.setAggregations)(t.aggregations,s,$m),!0;case"agg-high":return t.aggregations=(0,we.setAggregations)(t.aggregations,s,Wm),!0;case"agg-low":return t.aggregations=(0,we.setAggregations)(t.aggregations,s,_m),!0;case"agg-count":return t.aggregations=(0,we.setAggregations)(t.aggregations,s,Bm),!0;case"agg-distinct":return t.aggregations=(0,we.setAggregations)(t.aggregations,s,Km),!0;case"agg-sum":return t.aggregations=(0,we.setAggregations)(t.aggregations,s,Gm),!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 Ap=require("@vuu-ui/vuu-popups"),Ms=require("@salt-ds/core");var rt=require("@vuu-ui/vuu-utils"),co=require("react");var mt=require("@vuu-ui/vuu-utils"),Ld=_(require("classnames")),er=require("react");var gs=require("@vuu-ui/vuu-utils");var An=require("react"),jm=require("react/jsx-runtime"),Um={isDragSource:!1,isDropTarget:!1,register:()=>{}},Xm=()=>console.log("have you forgotten to provide a DragDrop Provider ?"),Qm=(0,An.createContext)({registerDragDropParty:Xm});var Rl=t=>{var r,s;let{dragSources:e,dropTargets:n,registerDragDropParty:o}=(0,An.useContext)(Qm);if(t){let i=(r=e==null?void 0:e.has(t))!=null?r:!1,l=(s=n==null?void 0:n.has(t))!=null?s:!1;return{isDragSource:i,isDropTarget:l,register:o}}else return Um};var Ee=require("react");var it=require("react");var Ym=["left","right"],Zm=["top","bottom"],xr=":not(.wrapped)",Dl=':not([aria-hidden="true"])',Ml=t=>{let e=t.cloneNode(!0);return e.removeAttribute("id"),e.dataset.index="-1",e},qm=(t,e="width",n=!1)=>{let o=e==="width"?"left":"top",{[e]:r,[o]:s}=t.getBoundingClientRect(),{padEnd:i=!1,padStart:l=!1}=t.dataset,a=getComputedStyle(t),[c,u]=e==="width"?Ym:Zm,d=l&&!n?0:parseInt(a.getPropertyValue(`margin-${c}`),10),p=i&&!n?0:parseInt(a.getPropertyValue(`margin-${u}`),10),m=r;if(parseInt(a.getPropertyValue("flex-shrink"),10)>0){let h=parseInt(a.getPropertyValue("flex-basis"),10);!isNaN(h)&&h>0&&(m=h)}return[s,d+m+p]},Jm={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"}},qe=t=>Jm[t],Il=(t,e)=>{let n=t.find(o=>o.id===e);if(n)return n},Pl=(t,e)=>{t.splice(e,1);for(let n=e;n<t.length;n++)t[n].currentIndex-=1},On=(t,e,n,o,r)=>{var d;let s=[],{DIMENSION:i}=qe(e),l=Array.from(n?t.querySelectorAll(n):t.children),a=l.length,c=typeof(o==null?void 0:o.from)=="number"?o.atEnd?Math.max(0,o.from-1):o.from:0,u=typeof(o==null?void 0:o.to)=="number"?Math.min(o.to+2,a-1):a-1;for(let p=c;p<=u;p++){let m=l[p],[f,h]=qm(m,i),g=p===a-1,y=m.id,v=parseInt((d=m.dataset.index)!=null?d:"-1");s.push({currentIndex:p,dataIndex:isNaN(v)?-1:v,id:y,index:p,isDraggedItem:r===y,isLast:g,isOverflowIndicator:m.dataset.index==="overflow",element:m,start:f,end:f+h,size:h,mid:f+h/2})}return s},Nn=(t,e=!1)=>{let n=t.findIndex(r=>r.isDraggedItem),{index:o}=t[n];if(e){let r=t.filter(i=>!i.isDraggedItem).reduce((i,l)=>Math.min(i,l.index),Number.MAX_SAFE_INTEGER);if(r>0&&!(o===0&&r===1))return r+n}return n},Ks=(t,e)=>{let n=Nn(t),o=e==="fwd"?n+1:n-1;if(o<0||o>=t.length)throw Error("switchDropTargetPosition index out of range");let r=t.at(n),s=t.at(o),i=s.size-r.size;if(e==="fwd"){let l=s.start+i,a=s.end,c={...r,start:l,mid:Math.floor(l+(a-l)/2),end:a},u=r.start,d=r.end+i,p={...s,start:u,mid:Math.floor(u+(d-u)/2),end:d};t.splice(n,2,p,c)}else{let l=s.start,a=s.end-i,c={...r,start:l,mid:Math.floor(l+(a-l)/2),end:a},u=r.start-i,d=r.end,p={...s,start:u,mid:Math.floor(u+(d-u)/2),end:d};t.splice(o,2,c,p)}},zn=(t,e,n)=>{let o=t.length,r=Nn(t),s=t[r];if(n==="fwd"){let i=Math.round(e+s.size);for(let l=o-1;l>=0;l--){let a=t[l];if(i>a.mid)return l<r?s:a}}else{let i=Math.round(e);for(let l=0;l<o;l++){let a=t[l];if(i<a.mid)return l>r?s:a}}throw Error("no dropTraget identified")};function Ll(t,e){let{height:n,left:o,top:r,width:s}=t,{height:i,width:l}=e;return{height:Math.min(n,i),left:o,top:r,width:Math.min(s,l)}}var kl=(t,e,n)=>{if(e===n)return t;{let o=t.slice(),[r]=o.splice(e,1);if(n===-1)return o.concat(r);{let s=(n>e,0);return o.splice(n+s,0,r),o}}};var Hl=require("@salt-ds/core"),Al=_(require("classnames")),Cr=require("react"),Ol=require("@vuu-ui/vuu-popups");var Ws=require("react/jsx-runtime"),ef=t=>t.split(" ").map(e=>`vuuDraggable-${e}`),vr=(0,Cr.forwardRef)(function({wrapperClassName:e,element:n,onTransitionEnd:o,style:r,scale:s=1},i){let l=(0,Cr.useCallback)(c=>{c&&(c.innerHTML="",c.appendChild(n),s!==1&&(c.style.transform=`scale(${s},${s})`))},[n,s]),a=(0,Hl.useForkRef)(i,l);return(0,Ws.jsx)(Ol.Portal,{children:(0,Ws.jsx)("div",{className:(0,Al.default)("vuuDraggable",...ef(e)),ref:a,onTransitionEnd:o,style:r})})}),_s=t=>{let e=document.createElement("div");return e.className="vuuDraggable-spacer",t&&e.addEventListener("transitionend",()=>{t.current=!1}),e},Nl=()=>{let t=document.createElement("div");return t.className="vuuDraggable-dropIndicatorPosition",t},zl=t=>{let e=document.createElement("div");return e.className="vuuDraggable-dropIndicator",t&&e.addEventListener("transitionend",()=>{t.current=!1}),e};var Fl=()=>{let t=(0,it.useRef)(0),e=(0,it.useRef)(!1),n=(0,it.useMemo)(()=>[_s(e),_s()],[]),o=(0,it.useCallback)(()=>n.forEach(a=>a.remove()),[n]),r=(0,it.useCallback)((a,c="width")=>{let[u,d]=n;t.current=requestAnimationFrame(()=>{e.current=!0,u.style.cssText=`${c}: 0px`,d.style.cssText=`${c}: ${a}px`,n[0]=d,n[1]=u})},[n]),s=(0,it.useCallback)(()=>{t.current&&(cancelAnimationFrame(t.current),t.current=0)},[]),i=(0,it.useCallback)((a,c,u,d=!1,p="static",m="horizontal")=>{if(c){let f=m==="horizontal"?"width":"height",[h,g]=n;if(s(),d)e.current?(o(),h.style.cssText=`${f}: ${u}px`,g.style.cssText=`${f}: 0px`,p==="fwd"?(c.element.before(h),c.element.after(g)):(c.element.after(h),c.element.before(g))):p==="fwd"?c.element.after(g):c.element.before(g),r(u,f);else if(p==="static")h.style.cssText=`${f}: ${u}px`,c.element.before(h);else throw Error("useDragDisplacers currently only supports noTransition for static displacement");p!=="static"&&Ks(a,p)}},[r,s,o,n]),l=(0,it.useCallback)((a,c,u,d=!1,p="static",m="horizontal")=>{let f=m==="horizontal"?"width":"height",[h,g]=n;s(),d?(e.current?(o(),h.style.cssText=`${f}: ${u}px`,g.style.cssText=`${f}: 0px`,c.element.before(h),c.element.after(g)):p==="fwd"?c.element.after(g):c.element.before(g),r(u,f)):(h.style.cssText=`${f}: ${u}px`,c.element.after(h)),p!=="static"&&Ks(a,p)},[r,s,o,n]);return{displaceItem:i,displaceLastItem:l,clearSpacers:o}};var Vl=({draggableRef:t,onDrop:e,orientation:n="horizontal",containerRef:o,itemQuery:r="*",selected:s,viewportRange:i})=>{let l=(0,Ee.useRef)(),a=(0,Ee.useRef)(!1),c=(0,Ee.useRef)(-1),u=(0,Ee.useRef)([]),d=(0,Ee.useRef)(!1),[p,m]=(0,Ee.useState)(!1),{clearSpacers:f,displaceItem:h,displaceLastItem:g}=Fl(),y=(0,Ee.useRef)(),v=`:is(${r}${xr}${Dl},.vuuOverflowContainer-OverflowIndicator)`,C=S=>u.current.findIndex(D=>D.id===S.id),b=(0,Ee.useRef)();b.current=i;let T=(0,Ee.useCallback)(()=>{f()},[f]),x=(0,Ee.useCallback)((S,D,L)=>{let{current:A}=o,{current:H}=y;if(A&&H){u.current=On(A,n,v,b.current),S==="fwd"?u.current.push(H):u.current.unshift(H);let{size:P}=H,N=c.current+P/2,{current:O}=u,F=zn(O,N,"fwd");if(F){let U=C(F),W=O[U];L&&S==="fwd"?g(O,O[O.length-1],P,!1,"static",n):h(O,W,P,!0,"static",n)}}},[o,h,g,v,n]),w=(0,Ee.useCallback)(S=>{let L=S.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:A}=o;if(A&&L){let{SCROLL_SIZE:H,CLIENT_SIZE:P}=qe(n),{id:k}=L,{[H]:N,[P]:O}=A;a.current=N>O;let F=u.current=On(A,n,v,i,k),$=Nn(F),U=F[$];if(U&&A){y.current=U;let W=U.isLast?g:h;console.log({indexOfDraggedItem:$,draggedItem:U}),W(F,U,U.size,!1,"static",n)}}},[o,h,g,v,r,n,s,i]),[R,M]=(0,Ee.useMemo)(()=>{let S=!1;return[A=>{if(!S){S=!0;let H=A.element.querySelector(".vuuPopupMenu");if(H){let P=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});H.dispatchEvent(P)}}},A=>{if(S){S=!1;let H=A.element.querySelector(".vuuPopupMenu");if(H){let P=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});H.dispatchEvent(P)}}}]},[]),E=(0,Ee.useCallback)((S,D)=>{let{current:L}=y;if(L&&t.current&&o.current){c.current=S;let{current:A}=u,H=zn(A,S,D);if(H&&!H.isDraggedItem)if(H.isOverflowIndicator)m(d.current=!0),R(H);else{let{size:P}=L;(C(H)===A.length-1?g:h)(A,H,P,!0,D,n);let O=A.at(-1);M(O),m(d.current=!1)}l.current=D}},[o,h,g,t,M,n,R]),I=(0,Ee.useCallback)(()=>{var A;f();let{current:S}=u,D=Nn(S),L=S[D];if(L)if(l.current=void 0,d.current)e(L.index,-1);else{let H=Nn(S,!0);e(L.index,H)}if(m(!1),o.current){let H=(A=o.current)==null?void 0:A.scrollTop;D<S.length&&(o.current.scrollTop=H)}},[f,o,e]);return{beginDrag:w,drag:E,drop:I,handleScrollStart:T,handleScrollStop:x,revealOverflowedItems:p}};var xe=require("react");var ko=require("react");var $l=()=>{let t=(0,ko.useMemo)(()=>Nl(),[]),e=(0,ko.useCallback)(()=>t.remove(),[t]);return{positionDropIndicator:(0,ko.useCallback)((o,r="end")=>(r==="end"?o.element.after(t):o.element.before(t),t),[t]),clearSpacer:e}};var Kl=require("react/jsx-runtime"),tf=':not([data-overflowed="true"])',nf=':not([aria-hidden="true"])',Bl=({draggableRef:t,onDrop:e,orientation:n="horizontal",containerRef:o,itemQuery:r="*",selected:s,viewportRange:i})=>{let l=(0,xe.useRef)(),a=(0,xe.useRef)(null),c=(0,xe.useRef)(null),u=(0,xe.useRef)(""),d=(0,xe.useRef)(!1),p=(0,xe.useRef)(-1),m=(0,xe.useRef)([]),f=(0,xe.useRef)(!1),[h,g]=(0,xe.useState)(!1),[y,v]=(0,xe.useState)(),{clearSpacer:C,positionDropIndicator:b}=$l(),T=(0,xe.useRef)(),x=`:is(${r}${tf}${nf},[data-overflow-indicator])`,w=A=>m.current.findIndex(H=>H.id===A.id),R=(A,H,P)=>{A.start+=H,A.mid+=H,A.end+=H,typeof P=="number"&&(A.currentIndex+=P)},M=(0,xe.useRef)();M.current=i;let E=(0,xe.useCallback)(()=>{C()},[C]),I=(0,xe.useCallback)((A,H,P)=>{let{current:k}=o,{current:N}=T;if(k&&N){m.current=On(k,n,x,M.current);let{size:O}=N,$=p.current+O/2,{current:U}=m,W=zn(U,$,"fwd");W&&b(P&&A==="fwd"?U[U.length-1]:W,"start")}},[o,b,x,n]),S=(0,xe.useCallback)(A=>{let P=A.target.closest(r);P.ariaSelected&&Array.isArray(s)&&s.length>1&&console.log("its a selected element, and we have a multi select");let{current:k}=o;if(k&&P){let{SCROLL_SIZE:N,CLIENT_SIZE:O}=qe(n),{id:F}=P,{[N]:$,[O]:U}=k;d.current=$>U;let W=m.current=On(k,n,x,i),Z=Il(W,F);if(Z&&k){let V=w(Z);Pl(W,V),T.current=Z;let{current:z}=M;if(z!=null&&z.atEnd)for(let J=0;J<W.length;J++)R(W[J],Z.size);for(let J=V;J<W.length;J++)R(W[J],-Z.size,-1);let[K,G]=Z.isLast?[W[W.length-1],"end"]:[W[V],"start"];c.current=K,u.current=G;let se=b(K,G),{top:X,left:Y,width:q}=se.getBoundingClientRect(),ne={top:Z.isLast?z!=null&&z.atEnd&&!z.atStart?X+Z.size-2:X-2:X-Z.size-2,left:Y,width:q,height:2};v((0,Kl.jsx)(vr,{wrapperClassName:"dropIndicatorContainer",style:ne,ref:a,element:zl()}))}}},[r,s,o,n,x,i,b]),D=(0,xe.useCallback)((A,H)=>{let{current:P}=c,{current:k}=T;if(k&&t.current&&o.current){let N=n==="horizontal"?"left":"top";p.current=A;let{current:O}=m,F=zn(O,A,H);if(F&&F.index!==(P==null?void 0:P.index)){if(F.isOverflowIndicator)g(f.current=!0);else if(a.current){if(w(F)===O.length-1){let U=O[O.length-1],Z=b(U,"start").getBoundingClientRect();a.current.style[N]=`${Z.top}px`}else{let W=b(F,"start").getBoundingClientRect();a.current.style[N]=`${W.top}px`}g(f.current=!1)}c.current=F,l.current=H}}},[t,o,n,b]),L=(0,xe.useCallback)(()=>{C();let{current:A}=T,{current:H}=c,{current:P}=u,{current:k}=M;if(A&&k&&H){let{index:N}=A,O=P==="start",{index:F,currentIndex:$}=H;c.current=null,l.current=void 0,f.current?e(N,-1):N<F?e(N,O?$:$+1):e(N,O?F:F+1),v(void 0)}g(!1)},[C,e]);return{beginDrag:S,drag:D,drop:L,dropIndicator:y,handleScrollStart:E,handleScrollStop:I,revealOverflowedItems:h}};var ae=require("react");var Vt=require("react");var Wl=({containerRef:t,onScrollingStopped:e,orientation:n="vertical"})=>{let o=(0,Vt.useRef)(null),r=(0,Vt.useRef)(!1),s=(0,Vt.useRef)(0),i=(0,Vt.useRef)("fwd"),l=(0,Vt.useCallback)((c=!1)=>{console.log("[useAutoScroll] stopScrolling"),o.current!==null&&(clearTimeout(o.current),o.current=null),r.current=!1,e==null||e(i.current,s.current,c)},[e]),a=(0,Vt.useCallback)((c,u,d=30)=>{let{current:p}=t;if(p){let{SCROLL_POS:m,SCROLL_SIZE:f,CLIENT_SIZE:h}=qe(n),{[m]:g,[f]:y,[h]:v}=p,C=c==="fwd"?y-v-g:g,b=Math.min(C,d);c==="fwd"?(i.current="fwd",p[m]=s.current=g+b):(i.current="bwd",p[m]=s.current=g-b),b===C?l(!0):(r.current=!0,o.current=window.setTimeout(()=>{a(c,u,d)},100))}},[t,n,l]);return{isScrolling:r,startScrolling:a,stopScrolling:l}};var Gl=require("react/jsx-runtime"),of={beginDrag:()=>{},drag:()=>{},draggableRef:{current:null},drop:()=>{},isDragging:!1,isScrolling:!1,handleScrollStart:()=>{},handleScrollStop:()=>{},revealOverflowedItems:!1},_l={start:0,end:1e3,contraStart:0,contraEnd:1e3},rf=()=>of,sf=3,lf=(t,e)=>t.closest(e),af=t=>t.dataset.index==="overflow"&&t.parentElement!==null&&t.parentElement.classList.contains("overflowed"),cf=(t,e)=>{let n=`:is(${e}${xr},.vuuOverflowContainer-OverflowIndicator)`,r=Array.from(t.querySelectorAll(n)).pop();return[r,af(r)]},Fn=({allowDragDrop:t,containerRef:e,draggableClassName:n,itemQuery:o="*",onDragStart:r,onDrop:s,onDropSettle:i,orientation:l,...a})=>{let c=(0,ae.useRef)({start:0,end:0,contraStart:0,contraEnd:0}),[u,d]=(0,ae.useState)({draggable:void 0,draggedItemIndex:-1,isDragging:!1}),p=(0,ae.useRef)(null),m=(0,ae.useRef)(),f=(0,ae.useRef)(null),h=(0,ae.useRef)(!1),g=(0,ae.useRef)({x:0,y:0}),y=(0,ae.useRef)({x:0,y:0}),v=(0,ae.useRef)({x:0,y:0}),C=(0,ae.useRef)(null),b=(0,ae.useRef)(-1),T=(0,ae.useRef)(-1),x=(0,ae.useRef)(),{isDragSource:w,isDropTarget:R,register:M}=Rl(a.id);a.id&&(w||R)&&M(a.id);let E=(0,ae.useCallback)(()=>{var q;let{current:X}=T,Y=(q=e.current)==null?void 0:q.querySelector(`${o}[data-index="${X}"]`);Y&&Y.classList.remove("vuuDropTarget-settling"),T.current=-1,i==null||i(X),d(ne=>({...ne,draggable:void 0}))},[e,o,i]),I=(0,ae.useCallback)(X=>{if(e.current){let{POS:Y,SCROLL_POS:q,SCROLL_SIZE:ne,CLIENT_SIZE:J}=qe(l),{[q]:B,[ne]:te,[J]:ue}=e.current,ie=te-ue,pe=B<ie,be=c.current.end,fe=B>0&&X-g.current[Y]<=c.current.start,Te=pe&&X-g.current[Y]>=be;return fe?"bwd":Te?"fwd":""}},[e,l]),S=t===!0||t==="natural-movement"?Vl:t==="drop-indicator"?Bl:rf,D=(0,ae.useCallback)((X,Y,q)=>{var ne;(ne=x.current)==null||ne.call(x,X,Y,q)},[]),{isScrolling:L,startScrolling:A,stopScrolling:H}=Wl({containerRef:e,onScrollingStopped:D,orientation:l}),P=(0,ae.useCallback)((X,Y)=>{b.current=Y,s==null||s(X,Y),T.current=Y},[s]),{beginDrag:k,drag:N,drop:O,handleScrollStart:F,handleScrollStop:$,...U}=S({...a,containerRef:e,draggableRef:p,isDragSource:w,isDropTarget:R,itemQuery:o,onDrop:P,orientation:l});x.current=$;let W=(0,ae.useCallback)(X=>{let{CLIENT_POS:Y,CONTRA_CLIENT_POS:q,CONTRA_POS:ne,POS:J}=qe(l),{clientX:B,clientY:te}=X,{[Y]:ue,[q]:ie}=X,pe=y.current[J],be=y.current[ne],fe=Math.abs(pe-ue);if((w?Math.abs(be-ie):0)-fe>5&&(c.current=_l),y.current.x=B,y.current.y=te,c.current===_l&&p.current){let Q=y.current.x-g.current.x,j=y.current.y-g.current.y;p.current.style.top=`${j}px`,p.current.style.left=`${Q}px`}else if(fe>0&&p.current){let Q=pe<ue?"fwd":"bwd",j=I(ue),oe=y.current[J]-g.current[J];if(j&&h.current&&!L.current?(F(),A(j,1)):!j&&L.current&&H(),!L.current){let le=Math.round(Math.max(c.current.start,Math.min(c.current.end,oe))),Se=l==="horizontal"?"left":"top";p.current.style[Se]=`${le}px`,N(le,Q)}}},[N,p,I,F,w,L,l,A,H]),Z=(0,ae.useCallback)(()=>{document.removeEventListener("mousemove",W,!1),document.removeEventListener("mouseup",Z,!1),C.current=p.current,O(),d(X=>({...X,draggedItemIndex:-1,isDragging:!1})),m.current=void 0},[W,p,O]),V=(0,ae.useCallback)(X=>{let{clientX:Y,clientY:q,target:ne}=X,J=lf(ne,o),{current:B}=e;if(B&&J){let{CONTRA:te,CONTRA_END:ue,DIMENSION:ie,END:pe,SCROLL_SIZE:be,CLIENT_SIZE:fe,START:Te}=qe(l);m.current=J;let{[be]:Q,[fe]:j}=B;h.current=Q>j;let[oe,le]=cf(B,o),Se=B.getBoundingClientRect(),Ye=J.getBoundingClientRect(),Ze=Ye[ie],{[Te]:Ft,[pe]:rn}=oe.getBoundingClientRect();g.current.x=Y-Ye.left,g.current.y=q-Ye.top,c.current.start=Se[Te],c.current.end=le?Math.max(Ft,Se.right-Ze):h.current?Se[Te]+Se[ie]-Ze:rn-Ze,c.current.contraStart=Se[te],c.current.contraEnd=Se[ue],k(X);let{dataset:{index:Rt="-1"}}=J;d({isDragging:!0,draggable:(0,Gl.jsx)(vr,{element:Ml(J),onTransitionEnd:E,ref:p,style:Ll(Ye,Se),wrapperClassName:n}),draggedItemIndex:parseInt(Rt)}),r==null||r(),document.addEventListener("mousemove",W,!1),document.addEventListener("mouseup",Z,!1)}},[k,e,W,Z,n,p,o,r,l,E]),z=(0,ae.useCallback)(X=>{let{CLIENT_POS:Y,POS:q}=qe(l),{[Y]:ne}=X;Math.abs(ne-v.current[q])>sf&&e.current&&(f.current&&(window.clearTimeout(f.current),f.current=null),document.removeEventListener("mousemove",z),document.removeEventListener("mouseup",K,!1),V(X))},[e,k,l]),K=(0,ae.useCallback)(()=>{f.current&&(window.clearTimeout(f.current),f.current=null),document.removeEventListener("mousemove",z,!1),document.removeEventListener("mouseup",K,!1)},[z]),G=(0,ae.useCallback)(X=>{let{current:Y}=e;if(Y&&!X.defaultPrevented){let{clientX:q,clientY:ne}=X;y.current.x=v.current.x=q,y.current.y=v.current.y=ne,document.addEventListener("mousemove",z,!1),document.addEventListener("mouseup",K,!1),X.persist(),f.current=window.setTimeout(()=>{document.removeEventListener("mousemove",z,!1),document.removeEventListener("mouseup",K,!1),V(X.nativeEvent)},500)}},[e,V,z,K]),{current:se}=C;return(0,ae.useLayoutEffect)(()=>{if(se&&e.current){let X=b.current,Y=e.current.querySelector(`${o}[data-index="${X}"]`);Y?(Y.classList.add("vuuDropTarget-settling"),requestAnimationFrame(()=>{let{top:q,left:ne}=Y.getBoundingClientRect(),{top:J,left:B}=se.getBoundingClientRect();B!==ne||J!==q?(se.classList.add("vuuDraggable-settling"),se.style.top=`${q}px`,se.style.left=`${ne}px`):E()})):console.log(`dont have the dropped item (at ${X})`),C.current=null}},[e,o,se,E]),{...U,...u,isScrolling:L,onMouseDown:t?G:void 0}};var Ul=_(require("classnames")),lt=require("react"),Ho=require("@salt-ds/core");var Us=require("react/jsx-runtime"),Gs="vuuEditableLabel",Vn=(0,lt.forwardRef)(function({className:e,defaultEditing:n,defaultValue:o,editing:r,onChange:s,onEnterEditMode:i,onExitEditMode:l,value:a,...c},u){let d=(0,lt.useRef)(null),p=(0,lt.useRef)(!1),[m,f]=(0,Ho.useControlled)({controlled:a,default:o!=null?o:"",name:"EditableLabel",state:"value"}),[h,g]=(0,Ho.useControlled)({controlled:r,default:n!=null?n:!1,name:"EditableLabel",state:"editing"}),y=(0,lt.useCallback)(E=>{g(p.current=E)},[]),v=(0,lt.useRef)(m);(0,lt.useLayoutEffect)(()=>{h&&d.current!==null&&(d.current.select(),d.current.focus())},[h,d]);let C=(0,lt.useCallback)(()=>{y(!0),i&&i()},[i,y]),b=({cancelEdit:E=!1,allowDeactivation:I=!1}={})=>{y(!1);let S=v.current;S!==m&&(E?f(S):v.current=m),l&&l(S,m,I,E)},T=E=>{let{value:I}=E.target;f(I),s&&s(I)},x=()=>{C()},w=()=>{p.current&&b({allowDeactivation:!0})},R=E=>{h&&E.key==="Enter"?(E.stopPropagation(),b()):E.key==="ArrowRight"||E.key==="ArrowLeft"?E.stopPropagation():E.key==="Escape"&&b({cancelEdit:!0})},M=(0,Ul.default)(Gs,e,{[`${Gs}-editing`]:h});return(0,Us.jsx)("div",{...c,className:M,onDoubleClick:x,"data-text":m,ref:u,children:h?(0,Us.jsx)(Ho.Input,{inputProps:{className:`${Gs}-input`},value:m,onBlur:w,onChange:T,onKeyDown:R,inputRef:d,style:{padding:0},textAlign:"left",variant:"secondary"}):m})});var Xl=require("@salt-ds/core");var uf=/[.*+?^${}()|[\]\\]/g;function Tr(t){return t.replace(uf,"\\$&")}var $n=require("react/jsx-runtime"),df=(0,Xl.makePrefixer)("saltHighlighter"),Ql=t=>{let{matchPattern:e,text:n=""}=t,o=typeof e=="string"?new RegExp(`(${Tr(e)})`,"gi"):e;return o===void 0?(0,$n.jsx)($n.Fragment,{children:n}):(0,$n.jsx)("span",{children:n.split(o).map((r,s)=>r.match(o)?(0,$n.jsx)("strong",{className:df("highlight"),children:r},`${s}-${r}`):r)})};var Xs=require("react"),Qs=_(require("classnames"));var Yl=_(require("classnames"));var ql=require("react/jsx-runtime"),jl="vuuCheckboxIcon",Zl=({checked:t=!1,...e})=>(0,ql.jsx)("span",{...e,className:(0,Yl.default)(jl,{[`${jl}-checked`]:t})});var ln=require("react/jsx-runtime"),Ao="vuuListItem",Sr=(0,Xs.forwardRef)(function(e,n){return(0,ln.jsx)("div",{"aria-hidden":!0,className:(0,Qs.default)(Ao,`${Ao}-proxy`),ref:n})}),wr=(0,Xs.forwardRef)(function({children:e,className:n,disabled:o,tabIndex:r,item:s,itemHeight:i,itemTextHighlightPattern:l,label:a,selectable:c,selected:u,showCheckbox:d,style:p,...m},f){let h=(0,Qs.default)(Ao,n,{vuuDisabled:o,[`${Ao}-checkbox`]:d}),g=i!==void 0?{...p,height:i}:p;return(0,ln.jsxs)("div",{className:h,...m,"aria-disabled":o||void 0,"aria-selected":u||void 0,ref:f,style:g,children:[d&&(0,ln.jsx)(Zl,{"aria-hidden":!0,checked:u}),e&&typeof e!="string"?e:l==null?(0,ln.jsx)("span",{className:`${Ao}-textWrapper`,children:a||e}):(0,ln.jsx)(Ql,{matchPattern:l,text:a||e})]})});var Zs=require("@vuu-ui/vuu-utils"),na=_(require("classnames"));var pf={},mf={},Er={};function Re(t,e,n="component"){Er[t]=e,n==="container"?pf[t]=!0:n==="view"&&(mf[t]=!0)}var Oo=require("@salt-ds/core"),js=_(require("classnames")),ea=require("react");var Bt=require("react/jsx-runtime"),$t="vuuDrawer",Jl=t=>typeof t=="string"?t:t+"px",ff=(t,e,n)=>{let o=e!==void 0,r=n!==void 0;if(!(!t&&!r&&!o))return!r&&!o?t:{...t,"--drawer-size":o?Jl(e):void 0,"--drawer-peek-size":r?Jl(n):void 0}},ta=({children:t,className:e,clickToOpen:n,defaultOpen:o,sizeOpen:r,sizeClosed:s,style:i,open:l,position:a="left",inline:c,onClick:u,peekaboo:d=!1,toggleButton:p,...m})=>{let[f,h]=(0,Oo.useControlled)({controlled:l,default:o!=null?o:!1,name:"Drawer",state:"open"}),g=(0,js.default)($t,e,`${$t}-${a}`,{[`${$t}-open`]:f,[`${$t}-inline`]:c,[`${$t}-over`]:!c,[`${$t}-peekaboo`]:d}),y=(0,ea.useCallback)(()=>{h(!f)},[f,h]),v=ff(i,r,s),C=n?y:u,b=()=>(0,Bt.jsx)("div",{className:(0,js.default)("vuuToggleButton-container"),children:f?(0,Bt.jsx)(Oo.Button,{"aria-label":"close",onClick:y,"data-icon":"close",variant:"secondary"}):(0,Bt.jsx)(Oo.Button,{"aria-label":"open",onClick:y,"data-icon":"close",variant:"secondary"})});return(0,Bt.jsxs)("div",{...m,className:g,onClick:C,style:v,children:[p=="start"?b():null,(0,Bt.jsx)("div",{className:`${$t}-liner`,children:(0,Bt.jsx)("div",{className:`${$t}-content`,children:t})}),p=="end"?b():null]})};ta.displayName="Drawer";var Ys=ta;var Rr=require("react/jsx-runtime"),hf=t=>t.type===Ys,gf=({props:{position:t="left"}})=>t.match(/top|bottom/),oa=t=>{let{children:e,className:n,id:o,style:r}=t,s="vuuDockLayout",[i,l]=(0,Zs.partition)(e,hf),[a,c]=(0,Zs.partition)(i,gf),u=a.length===0?"horizontal":c.length===0?"vertical":"both",d=(0,na.default)(s,n,`${s}-${u}`);return(0,Rr.jsxs)("div",{className:d,id:o,style:r,children:[i,(0,Rr.jsx)("div",{className:`${s}-content`,children:l})]})};oa.displayName="DockLayout";Re("DockLayout",oa,"container");var ra=require("react");var sa=require("react/jsx-runtime"),qs=(0,ra.forwardRef)(function({resizeable:e,...n},o){return(0,sa.jsx)("div",{...n,className:"Component",ref:o})});qs.displayName="Component";var Js=qs;Re("Component",qs);var ia=_(require("react"));var bf={},Mt=(t,e)=>{var o;let n=He(t);return(o=n[e])!=null?o:n[`data-${e}`]},He=t=>(t==null?void 0:t.props)||t||bf;var at=require("react"),yf=[],xf=0,Bn=t=>{let e=Array.isArray(t),n=e?t.length:at.Children.count(t);return e&&t.every(at.isValidElement)?t:n===1&&!e&&(0,at.isValidElement)(t)?[t]:n>1?t:yf},Dr=(t,e)=>{let n=(0,at.useRef)(!1);(0,at.useLayoutEffect)(()=>{n.current?t():n.current=!0},e)},Kn=t=>(0,at.useMemo)(()=>t!=null?t:`vuu-${++xf}`,[t]);var ti={north:1,east:2,south:4,west:8,header:16,centre:32,absolute:64},ni={AFTER:"after",BEFORE:"before"},Kt=Object.freeze({North:an("north"),East:an("east"),South:an("south"),West:an("west"),Header:an("header"),Centre:an("centre"),Absolute:an("absolute")});function an(t){return Object.freeze({offset:t==="north"||t==="west"?0:t==="south"||t==="east"?1:NaN,valueOf:function(){return ti[t]},toString:function(){return t},North:t==="north",South:t==="south",East:t==="east",West:t==="west",Header:t==="header",Centre:t==="centre",NorthOrSouth:t==="north"||t==="south",EastOrWest:t==="east"||t==="west",NorthOrWest:t==="north"||t==="west",SouthOrEast:t==="east"||t==="south",Absolute:t==="absolute"})}var cv=Kt.North,uv=Kt.South,dv=Kt.East,pv=Kt.West,mv=Kt.Header,fv=Kt.Centre;var{north:vf,south:Tf,east:Sf,west:wf}=ti,Sv=Sf+wf,wv=vf+Tf;var Mr=require("@vuu-ui/vuu-popups");var la=_(require("classnames"));var ri=require("react/jsx-runtime");function aa(t,e=0,n=0){let{pos:o,clientRect:r}=t,s=20;return o.position.West?[r.left-n+s,o.y-e,"left"]:o.position.South?[o.x-n,r.bottom-e-s,"bottom"]:o.position.East?[r.right-n-s,o.y-e,"right"]:[o.x-n,r.top-e+s,"top"]}var oi="vuuDropMenu",ca=({className:t,dropTarget:e,onHover:n,orientation:o})=>{let r=e.toArray();return(0,ri.jsx)("div",{className:(0,la.default)(oi,t,`${oi}-${o}`),onMouseLeave:()=>n(null),children:r.map((s,i)=>(0,ri.jsx)("div",{className:`${oi}-item`,"data-icon":i===0?"column-2A":"column-2B",onMouseEnter:()=>n(s)},i))})};var ma=require("react/jsx-runtime"),si=!1,No=null,ct=null,Ef=t=>No=t,Rf=([t,e])=>`M${t},${e}`,Df=([t,e])=>`L${t},${e}`,ua=([t,...e])=>`${Rf(t)} ${e.map(Df)}Z`,Mf=t=>{if(t){let[e,n,o,r,s,i,l,a]=t;return`M${e},${n} L${o},${r} M${s},${i} L${l},${a}`}else return""};function If(){if(document.getElementById("hw-drag-canvas")===null){let t=document.getElementById("root"),e=document.createElement("div");e.id="hw-drag-canvas",e.innerHTML=`
|
|
1
|
+
"use strict";var bE=Object.create;var za=Object.defineProperty;var yE=Object.getOwnPropertyDescriptor;var xE=Object.getOwnPropertyNames;var vE=Object.getPrototypeOf,CE=Object.prototype.hasOwnProperty;var wE=(r,e)=>{for(var t in e)za(r,t,{get:e[t],enumerable:!0})},Lm=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of xE(e))!CE.call(r,o)&&o!==t&&za(r,o,{get:()=>e[o],enumerable:!(n=yE(e,o))||n.enumerable});return r};var W=(r,e,t)=>(t=r!=null?bE(vE(r)):{},Lm(e||!r||!r.__esModule?za(t,"default",{value:r,enumerable:!0}):t,r)),SE=r=>Lm(za({},"__esModule",{value:!0}),r);var Om=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var j=(r,e,t)=>(Om(r,e,"read from private field"),t?t.call(r):e.get(r)),qt=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Pn=(r,e,t,n)=>(Om(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t);var JO={};wE(JO,{ColumnResizer:()=>cl,GroupHeaderCellNext:()=>ea,Table:()=>LP,TableNext:()=>Fc,buildContextMenuDescriptors:()=>ul,isShowColumnSettings:()=>bP,isShowTableSettings:()=>yP,updateTableConfig:()=>Oa,useMeasuredContainer:()=>gd,useSelection:()=>Ql,useTableColumnResize:()=>zl,useTableContextMenu:()=>fl,useTableModel:()=>bd,useTableViewport:()=>jl});module.exports=SE(JO);var Ls=require("react");var Nm=require("react/jsx-runtime"),Hm=()=>{},TE="vuuColumnResizer",cl=({onDrag:r,onDragEnd:e=Hm,onDragStart:t=Hm})=>{let n=(0,Ls.useRef)(0),o=(0,Ls.useCallback)(l=>{l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault();let a=Math.round(l.clientX),c=a-n.current;n.current=a,c!==0&&r(l,c)},[r]),s=(0,Ls.useCallback)(l=>{window.removeEventListener("mouseup",s),window.removeEventListener("mousemove",o),e(l)},[e,o]),i=(0,Ls.useCallback)(l=>{t(l),n.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,Nm.jsx)("div",{className:TE,"data-align":"end",onMouseDown:i})};var Bm=require("@vuu-ui/vuu-utils"),ul=r=>(e,t)=>{let n=[];if(r===void 0)return n;if(e==="header"||e==="column-menu")n.push(...EE(t,r)),n.push(...ME(t,r)),n.push(...kE(t,r)),n.push(...DE(t)),n.push({action:"column-settings",icon:"cog",label:"Column Settings",options:t}),n.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);n.push({label:"Edit filter",action:"filter-edit",options:t}),n.push({label:"Remove filter",action:"filter-remove-column",options:t}),o&&!i&&n.push({label:"Remove all filters",action:"remove-filters",options:t})}return n};function EE(r,{sort:{sortDefs:e}}){let{column:t}=r,n=[];if(t===void 0)return n;let o=e.length>0;return t.sorted==="A"?n.push({label:"Reverse Sort (DSC)",action:"sort-dsc",options:r}):t.sorted==="D"?n.push({label:"Reverse Sort (ASC)",action:"sort-asc",options:r}):typeof t.sorted=="number"?(t.sorted>0?n.push({label:"Reverse Sort (DSC)",action:"sort-add-dsc",options:r}):n.push({label:"Reverse Sort (ASC)",action:"sort-add-asc",options:r}),o&&Math.abs(t.sorted)<e.length&&n.push({label:"Remove from sort",action:"sort-remove",options:r}),n.push({label:"New Sort",children:[{label:"Ascending",action:"sort-asc",options:r},{label:"Descending",action:"sort-dsc",options:r}]})):o?(n.push({label:"Add to sort",children:[{label:"Ascending",action:"sort-add-asc",options:r},{label:"Descending",action:"sort-add-dsc",options:r}]}),n.push({label:"New Sort",children:[{label:"Ascending",action:"sort-asc",options:r},{label:"Descending",action:"sort-dsc",options:r}]})):n.push({label:"Sort",children:[{label:"Ascending",action:"sort-asc",options:r},{label:"Descending",action:"sort-dsc",options:r}]}),n}function kE(r,e){let{column:t}=r;if(t===void 0||e.groupBy.length===0)return[];let{name:n,label:o=n}=t;return[{label:`Aggregate ${o}`,children:[{label:"Count",action:"agg-count",options:r},{label:"Distinct",action:"agg-distinct",options:r}].concat((0,Bm.isNumericColumn)(t)?[{label:"Sum",action:"agg-sum",options:r},{label:"Avg",action:"agg-avg",options:r},{label:"High",action:"agg-high",options:r},{label:"Low",action:"agg-low",options:r}]:[])}]}var Df=(r,e)=>({label:`Pin ${e}`,action:`column-pin-${e}`,options:r}),Tf=r=>Df(r,"left"),Ef=r=>Df(r,"floating"),kf=r=>Df(r,"right");function DE(r){let{column:e}=r;if(e===void 0)return[];let{pin:t}=e,n=[{label:"Hide column",action:"column-hide",options:r},{label:"Remove column",action:"column-remove",options:r}];return t===void 0?n.push({label:"Pin column",children:[Tf(r),Ef(r),kf(r)]}):t==="left"?n.push({label:"Unpin column",action:"column-unpin",options:r},{label:"Pin column",children:[Ef(r),kf(r)]}):t==="right"?n.push({label:"Unpin column",action:"column-unpin",options:r},{label:"Pin column",children:[Tf(r),Ef(r)]}):t==="floating"&&n.push({label:"Unpin column",action:"column-unpin",options:r},{label:"Pin column",children:[Tf(r),kf(r)]}),n}function ME(r,{groupBy:e}){let{column:t}=r,n=[];if(t===void 0)return n;let{name:o,label:s=o}=t;return e.length===0?n.push({label:`Group by ${s}`,action:"group",options:r}):n.push({label:`Add ${s} to group by`,action:"group-add",options:r}),n}var Fm=require("@vuu-ui/vuu-utils"),ct=require("@vuu-ui/vuu-utils"),RE=(r,e)=>{if(r.filterStruct&&e){let[t,n]=(0,Fm.removeColumnFromFilter)(e,r.filterStruct);return{filter:n,filterStruct:t}}else return r},{Average:PE,Count:IE,Distinct:AE,High:LE,Low:OE,Sum:HE}=ct.AggregationType,fl=({dataSource:r,onPersistentColumnOperation:e})=>n=>{let o=n.options;if(o.column&&r){let{column:s}=o;switch(n.menuId){case"sort-asc":return r.sort=(0,ct.setSortColumn)(r.sort,s,"A"),!0;case"sort-dsc":return r.sort=(0,ct.setSortColumn)(r.sort,s,"D"),!0;case"sort-add-asc":return r.sort=(0,ct.addSortColumn)(r.sort,s,"A"),!0;case"sort-add-dsc":return r.sort=(0,ct.addSortColumn)(r.sort,s,"D"),!0;case"group":return r.groupBy=(0,ct.addGroupColumn)(r.groupBy,s),!0;case"group-add":return r.groupBy=(0,ct.addGroupColumn)(r.groupBy,s),!0;case"column-hide":return e({type:"hideColumns",columns:[s]}),!0;case"column-remove":return r.columns=r.columns.filter(i=>i!==s.name),!0;case"filter-remove-column":return r.filter=RE(r.filter,s),!0;case"remove-filters":return r.filter={filter:""},!0;case"agg-avg":return r.aggregations=(0,ct.setAggregations)(r.aggregations,s,PE),!0;case"agg-high":return r.aggregations=(0,ct.setAggregations)(r.aggregations,s,LE),!0;case"agg-low":return r.aggregations=(0,ct.setAggregations)(r.aggregations,s,OE),!0;case"agg-count":return r.aggregations=(0,ct.setAggregations)(r.aggregations,s,IE),!0;case"agg-distinct":return r.aggregations=(0,ct.setAggregations)(r.aggregations,s,AE),!0;case"agg-sum":return r.aggregations=(0,ct.setAggregations)(r.aggregations,s,HE),!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 S0=require("@vuu-ui/vuu-popups"),iu=require("@salt-ds/core");var gn=require("@vuu-ui/vuu-utils"),hi=require("react");var tn=require("@vuu-ui/vuu-utils"),wv=W(require("classnames")),Bl=require("react");var qc=require("@vuu-ui/vuu-utils");var Pf=require("@vuu-ui/vuu-utils"),Km=W(require("classnames"));var NE={},BE={},Va={};function et(r,e,t="component"){Va[r]=e,t==="container"?NE[r]=!0:t==="view"&&(BE[r]=!0)}var hl=require("@salt-ds/core"),Mf=W(require("classnames")),Vm=require("react");var Wr=require("react/jsx-runtime"),Kr="vuuDrawer",zm=r=>typeof r=="string"?r:r+"px",FE=(r,e,t)=>{let n=e!==void 0,o=t!==void 0;if(!(!r&&!o&&!n))return!o&&!n?r:{...r,"--drawer-size":n?zm(e):void 0,"--drawer-peek-size":o?zm(t):void 0}},$m=({children:r,className:e,clickToOpen:t,defaultOpen:n,sizeOpen:o,sizeClosed:s,style:i,open:l,position:a="left",inline:c,onClick:u,peekaboo:f=!1,toggleButton:h,...d})=>{let[p,m]=(0,hl.useControlled)({controlled:l,default:n!=null?n:!1,name:"Drawer",state:"open"}),g=(0,Mf.default)(Kr,e,`${Kr}-${a}`,{[`${Kr}-open`]:p,[`${Kr}-inline`]:c,[`${Kr}-over`]:!c,[`${Kr}-peekaboo`]:f}),y=(0,Vm.useCallback)(()=>{m(!p)},[p,m]),C=FE(i,o,s),v=t?y:u,x=()=>(0,Wr.jsx)("div",{className:(0,Mf.default)("vuuToggleButton-container"),children:p?(0,Wr.jsx)(hl.Button,{"aria-label":"close",onClick:y,"data-icon":"close",variant:"secondary"}):(0,Wr.jsx)(hl.Button,{"aria-label":"open",onClick:y,"data-icon":"close",variant:"secondary"})});return(0,Wr.jsxs)("div",{...d,className:g,onClick:v,style:C,children:[h=="start"?x():null,(0,Wr.jsx)("div",{className:`${Kr}-liner`,children:(0,Wr.jsx)("div",{className:`${Kr}-content`,children:r})}),h=="end"?x():null]})};$m.displayName="Drawer";var Rf=$m;var $a=require("react/jsx-runtime"),zE=r=>r.type===Rf,VE=({props:{position:r="left"}})=>r.match(/top|bottom/),Wm=r=>{let{children:e,className:t,id:n,style:o}=r,s="vuuDockLayout",[i,l]=(0,Pf.partition)(e,zE),[a,c]=(0,Pf.partition)(i,VE),u=a.length===0?"horizontal":c.length===0?"vertical":"both",f=(0,Km.default)(s,t,`${s}-${u}`);return(0,$a.jsxs)("div",{className:f,id:n,style:o,children:[i,(0,$a.jsx)("div",{className:`${s}-content`,children:l})]})};Wm.displayName="DockLayout";et("DockLayout",Wm,"container");var Um=require("react");var _m=require("react/jsx-runtime"),If=(0,Um.forwardRef)(function({resizeable:e,...t},n){return(0,_m.jsx)("div",{...t,className:"Component",ref:n})});If.displayName="Component";var Af=If;et("Component",If);var Gm=W(require("react"));var $E={},qn=(r,e)=>{var n;let t=Mt(r);return(n=t[e])!=null?n:t[`data-${e}`]},Mt=r=>(r==null?void 0:r.props)||r||$E;var In=require("react"),KE=[],WE=0,ko=r=>{let e=Array.isArray(r),t=e?r.length:In.Children.count(r);return e&&r.every(In.isValidElement)?r:t===1&&!e&&(0,In.isValidElement)(r)?[r]:t>1?r:KE},An=(r,e)=>{let t=(0,In.useRef)(!1);(0,In.useLayoutEffect)(()=>{t.current?r():t.current=!0},e)},ft=r=>(0,In.useMemo)(()=>r!=null?r:`vuu-${++WE}`,[r]);var UE=require("@vuu-ui/vuu-utils");var Of={north:1,east:2,south:4,west:8,header:16,centre:32,absolute:64},Hf={AFTER:"after",BEFORE:"before"},Mo=Object.freeze({North:Do("north"),East:Do("east"),South:Do("south"),West:Do("west"),Header:Do("header"),Centre:Do("centre"),Absolute:Do("absolute")});function Do(r){return Object.freeze({offset:r==="north"||r==="west"?0:r==="south"||r==="east"?1:NaN,valueOf:function(){return Of[r]},toString:function(){return r},North:r==="north",South:r==="south",East:r==="east",West:r==="west",Header:r==="header",Centre:r==="centre",NorthOrSouth:r==="north"||r==="south",EastOrWest:r==="east"||r==="west",NorthOrWest:r==="north"||r==="west",SouthOrEast:r==="east"||r==="south",Absolute:r==="absolute"})}var nN=Mo.North,rN=Mo.South,oN=Mo.East,sN=Mo.West,iN=Mo.Header,lN=Mo.Centre;var{north:GE,south:QE,east:jE,west:qE}=Of,gN=jE+qE,bN=GE+QE;var Ka=require("@vuu-ui/vuu-popups");var Qm=W(require("classnames"));var Bf=require("react/jsx-runtime");function jm(r,e=0,t=0){let{pos:n,clientRect:o}=r,s=20;return n.position.West?[o.left-t+s,n.y-e,"left"]:n.position.South?[n.x-t,o.bottom-e-s,"bottom"]:n.position.East?[o.right-t-s,n.y-e,"right"]:[n.x-t,o.top-e+s,"top"]}var Nf="vuuDropMenu",qm=({className:r,dropTarget:e,onHover:t,orientation:n})=>{let o=e.toArray();return(0,Bf.jsx)("div",{className:(0,Qm.default)(Nf,r,`${Nf}-${n}`),onMouseLeave:()=>t(null),children:o.map((s,i)=>(0,Bf.jsx)("div",{className:`${Nf}-item`,"data-icon":i===0?"column-2A":"column-2B",onMouseEnter:()=>t(s)},i))})};var Zm=require("react/jsx-runtime"),Ff=!1,dl=null,Ln=null,XE=r=>dl=r,YE=([r,e])=>`M${r},${e}`,JE=([r,e])=>`L${r},${e}`,Xm=([r,...e])=>`${YE(r)} ${e.map(JE)}Z`,ZE=r=>{if(r){let[e,t,n,o,s,i,l,a]=r;return`M${e},${t} L${n},${o} M${s},${i} L${l},${a}`}else return""};function ek(){if(document.getElementById("hw-drag-canvas")===null){let r=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,9 +14,19 @@
|
|
|
14
14
|
/>
|
|
15
15
|
</path>
|
|
16
16
|
</svg>
|
|
17
|
-
`,document.body.insertBefore(e,t)}}var zo=class{constructor(){this.currentPath=null;this.tabMode=null;If()}prepare(e,n="full-view"){document.body.classList.add("drawing"),this.currentPath=null,this.tabMode=n;let o=this.getPoints(0,0,0,0),r=ua(o),s=document.getElementById("vuu-drop-outline");s==null||s.setAttribute("d",r),this.currentPath=r}clear(){No=null,Ir(),document.body.classList.remove("drawing"),Mr.PopupService.hidePopup()}get hoverDropTarget(){return No}getPoints(e,n,o,r,s=0,i=0,l=0){let a=this.tabMode==="tab-only";if(i===0)return[[e,n+l],[e,n+l],[e,n],[e+i,n],[e+i,n],[e+o,n],[e+o,n+r],[e,n+r]];if(a){let c=s;return[[c,n],[c,n],[c+i,n],[c+i,n],[c+i,n+l],[c+i,n+l],[c,n+l],[c,n+l]]}else return s===0?[[e,n+l],[e,n+l],[e,n],[e+i,n],[e+i,n+l],[e+o,n+l],[e+o,n+r],[e,n+r]]:[[e,n+l],[e+s,n+l],[e+s,n],[e+s,n],[e+s,n+l],[e+o,n+l],[e+o,n+r],[e,n+r]]}draw(e,n){let r=si;if(No!==null)this.drawTarget(No);else if(si=e.nextDropTarget!=null,e.pos.tab?Pf(e):ct&&Ir(),this.drawTarget(e,n),si){let[s,i,l]=aa(e);{let a=(0,ma.jsx)(ca,{dropTarget:e,onHover:Ef,orientation:l});Mr.PopupService.showPopup({left:s,top:i,component:a})}}else Mr.PopupService.hidePopup()}drawTarget(e,n){let r=e.getTargetDropOutline(6,n);if(r){let{l:s,t:i,r:l,b:a,tabLeft:c,tabWidth:u,tabHeight:d,guideLines:p}=r,m=l-s,f=a-i;if(this.currentPath){let C=document.getElementById("vuu-drop-outline");C==null||C.setAttribute("d",this.currentPath)}let h=this.getPoints(s,i,m,f,c,u,d),g=ua(h),y=document.getElementById("hw-drop-outline-animate");y==null||y.setAttribute("to",g),y==null||y.beginElement(),this.currentPath=g;let v=document.getElementById("hw-drop-guides");v==null||v.setAttribute("d",Mf(p))}}},da="transition:margin-left .4s ease-out;margin-left: 63px",pa="transition:margin-left .4s ease-out;margin-left: 0px";function Pf(t){var l,a;let{AFTER:e,BEFORE:n}=ni,{clientRect:{Stack:o},pos:{tab:r}}=t,{id:s}=t.component.props,i=null;if(o&&r&&r.positionRelativeToTab!==e){let c=r.positionRelativeToTab===n?1:2,u=`:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${r.index+c})`;i=(l=document.getElementById(s))==null?void 0:l.querySelector(u),i?(ct===null||ct!==i)&&(i.style.cssText=da,ct&&(ct.style.cssText=pa),ct=i):Ir()}else if((r==null?void 0:r.positionRelativeToTab)===n){if(ct===null){let c=".vuuHeader-title";i=(a=document.getElementById(s))==null?void 0:a.querySelector(c),i.style.cssText=da,ct=i}}else Ir()}function Ir(){ct&&(ct.style.cssText=pa,ct=null)}var Uv=new zo;var ha=_(require("classnames")),ga=require("react");var xa=require("react/jsx-runtime"),ba=(0,ga.forwardRef)(function({children:e,className:n,dropTarget:o,resizeable:r,...s},i){let l=(0,ha.default)("DraggableLayout",n);return(0,xa.jsx)("div",{className:l,ref:i,...s,children:e})}),ya="DraggableLayout";ba.displayName=ya;Re(ya,ba,"container");var Aa=require("@salt-ds/core"),Oa=_(require("classnames")),Na=require("react");var ka=require("@vuu-ui/vuu-utils"),ge=_(require("react"));var va=_(require("classnames"));var Ta=require("react/jsx-runtime"),Ca="vuuPlaceholder",Pr=({className:t,closeable:e,flexFill:n,resizeable:o,shim:r,...s})=>(0,Ta.jsx)("div",{className:(0,va.default)(Ca,t,{[`${Ca}-shim`]:r}),...s,"data-placeholder":!0,"data-resizeable":!0});Pr.displayName="Placeholder";Re("Placeholder",Pr);var Sa=_(require("classnames")),Ae=_(require("react"));var ii=require("react/jsx-runtime"),wa=Ae.default.memo(function({column:e,index:n,onDrag:o,onDragEnd:r,onDragStart:s,style:i}){let l=(0,Ae.useRef)(),a=(0,Ae.useRef)(null),c=(0,Ae.useRef)(0),[u,d]=(0,Ae.useState)(!1),p=(0,Ae.useCallback)(({key:x,shiftKey:w})=>{let R=w?10:1;e&&x==="ArrowDown"?o(n,R):e&&x==="ArrowUp"||!e&&x==="ArrowLeft"?o(n,-R):!e&&x==="ArrowRight"&&o(n,R)},[e,n,o]),m=(0,Ae.useCallback)(x=>{let{key:w}=x;(e&&(w==="ArrowUp"||w==="ArrowDown")||!e&&(w==="ArrowLeft"||w==="ArrowRIght"))&&(s(n),p(x),f.current=p)},[e,p,n,s]),f=(0,Ae.useRef)(m),h=x=>f.current(x),g=(0,Ae.useCallback)(x=>{l.current=!0;let w=x[e?"clientY":"clientX"],R=w-c.current;w&&w!==c.current&&o(n,R),c.current=w},[e,n,o]),y=(0,Ae.useCallback)(()=>{var x;window.removeEventListener("mousemove",g,!1),window.removeEventListener("mouseup",y,!1),r(),d(!1),(x=a.current)==null||x.focus()},[g,r,d]),v=(0,Ae.useCallback)(x=>{c.current=e?x.clientY:x.clientX,s(n),window.addEventListener("mousemove",g,!1),window.addEventListener("mouseup",y,!1),x.preventDefault(),d(!0)},[e,g,y,n,s,d]),C=()=>{var x;l.current?l.current=!1:(x=a.current)==null||x.focus()},b=()=>{f.current=m},T=(0,Sa.default)("Splitter","focusable",{active:u,column:e});return(0,ii.jsx)("div",{className:T,"data-splitter":!0,ref:a,role:"separator",style:i,onBlur:b,onClick:C,onKeyDown:h,onMouseDown:v,tabIndex:0,children:(0,ii.jsx)("div",{className:"grab-zone"})})});var Lf=require("@vuu-ui/vuu-utils"),kf=_(require("react"));var Ra={},Ea="auto";var Wn=t=>{let{style:{width:e=Ea,height:n=Ea}=Ra}=t.props,o=typeof n=="number",r=typeof e=="number";return o&&r?{height:n,width:e}:o?{height:n}:r?{width:e}:void 0};function Da(t){let{style:{flex:e,flexGrow:n,flexShrink:o,flexBasis:r}=Ra}=t.props;return typeof e=="number"||r===0&&n===1&&o===1?!0:typeof r!="number"}var Hf={},Vo=1,$o=2,Af=t=>typeof t.intrinsicSize=="number",Of=(t,e)=>{let n={};return t.forEach(o=>{n[o]=Mt(e,o)}),n},Lr=(t,e,n)=>t.map((o,r)=>{var a;let s=Mt(o,"resizeable"),{[e]:i}=(a=Wn(o))!=null?a:Hf,l=Da(o);return n?{index:r,flexOpen:l,intrinsicSize:i,resizeable:s,...Of(n,o)}:{index:r,flexOpen:l,intrinsicSize:i,resizeable:s}}),Ma=t=>{let e=t.length,n=t.every(Af),o=Array(e).fill(0);if(n&&e>0&&(o[0]=$o,o[e-1]=$o),e<2)return o;for(let r=0,s=0;r<e-1;r++)t[r].resizeable&&!s&&(s=Vo),o[r]+=s;for(let r=e-1;r>0&&(o[r]&Vo&&(o[r]-=Vo),!t[r].resizeable);r--);return o},Ia=(t,e)=>{let n=zf(t,e),o=Ff(t,e),r=n!==-1&&o!==-1?[n,o]:void 0,s=Nf(t,r);return[r,s]};function Nf(t,e){if(e){let n=[];for(let o=0;o<t.length;o++)t[o].flexOpen&&!e.includes(o)&&n.push(o);return n}}function zf(t,e){let n=e,o=!1;for(;n>=1&&!o;)n=n-1,o=Pa(t,n);return n}function Ff(t,e){let n=e,o=!1,r=t.length;for(;n<r-1&&!o;)n=n+1,o=Pa(t,n);return n===r?-1:n}function Pa(t,e){let{placeholder:n,splitter:o,resizeable:r,intrinsicSize:s}=t[e];return!!(!o&&!s&&(n||r))}var Vf=t=>!t.splitter&&!t.placeholder,Ha=({children:t,onSplitterMoved:e,style:n})=>{let o=(0,ge.useRef)(null),r=(0,ge.useRef)(),s=(0,ge.useRef)(),i=(0,ge.useRef)([]),[,l]=(0,ge.useState)({}),a=g=>{s.current=g,l({})},c=(n==null?void 0:n.flexDirection)==="column",u=c?"height":"width",d=(0,ge.useMemo)(()=>Array.isArray(t)?t:ge.default.isValidElement(t)?[t]:[],[t]),p=(0,ge.useCallback)(g=>{let{current:y}=r;if(y){let[v,C]=Ia(y,g);v&&(v.forEach(b=>{var x;let T=(x=o.current)==null?void 0:x.childNodes[b];if(T){let{size:w,minSize:R}=Wf(T,u);y[b].currentSize=w,y[b].minSize=R}}),C&&C.forEach(b=>{var x;let T=(x=o.current)==null?void 0:x.childNodes[b];if(T){let{[u]:w}=T.getBoundingClientRect();y[b].flexBasis=w}}))}},[u]),m=(0,ge.useCallback)((g,y)=>{s.current&&r.current&&a(Bf(s.current,r.current,y,u))},[u]),f=(0,ge.useCallback)(()=>{let g=r.current;g&&(e==null||e(g.filter(Vf))),g==null||g.forEach(y=>{y.currentSize=void 0,y.flexBasis=void 0,y.flexOpen=!1})},[e]),h=(0,ge.useCallback)(g=>ge.default.createElement(wa,{column:c,index:g,key:`splitter-${g}`,onDrag:m,onDragEnd:f,onDragStart:p}),[m,f,p,c]);return(0,ge.useMemo)(()=>{let[g,y]=$f(d,u,h,i.current);r.current=y,s.current=g},[d,h,u]),{content:s.current||[],rootRef:o}};function $f(t,e,n,o){let r=Lr(t,e),s=Ma(r),i=[],l=[];for(let a=0;a<t.length;a++){let c=t[a];if(a===0&&s[a]&$o&&(i.push(La(a)),l.push({placeholder:!0,shim:!0})),c.key==null){let u=o[a]||(o[a]=(0,ka.getUniqueId)());i.push(ge.default.cloneElement(c,{key:u}))}else i.push(c);l.push(r[a]),a>0&&s[a]&$o?(i.push(La(a)),l.push({placeholder:!0})):s[a]&Vo&&(i.push(n(i.length)),l.push({splitter:!0}))}return[i,l]}function Bf(t,e,n,o){return Kf(e,n)?t.map((s,i)=>{let l=e[i],{currentSize:a,flexOpen:c,flexBasis:u}=l,d=a!==void 0;if(d||c){let{flexBasis:p}=s.props.style||{},m=d?l.currentSize:u;return m!==p?ge.default.cloneElement(s,{style:{...s.props.style,flexBasis:m,[o]:"auto"}}):s}else return s}):t}function Kf(t,e){let n=[];t.forEach((u,d)=>{u.currentSize!==void 0&&n.push(d)});let o=e<0?n[0]:n[1],{currentSize:r=0,minSize:s=0}=t[o];if(r===s)return!1;if(Math.abs(e)>r-s){let u=e<0?-1:1;e=Math.max(0,r-s)*u}let i=t[n[0]],{currentSize:l=0}=i;i.currentSize=l+e;let a=t[n[1]],{currentSize:c=0}=a;return a.currentSize=c-e,!0}function La(t){return ge.default.createElement(Pr,{shim:t===0,key:`placeholder-${t}`})}function Wf(t,e){let{[e]:n}=t.getBoundingClientRect(),r=getComputedStyle(t).getPropertyValue(`min-${e}`),s=r.endsWith("px")?parseInt(r,10):0;return{size:n,minSize:s}}var Fa=require("react/jsx-runtime"),ai="hwFlexbox",za=(0,Na.forwardRef)(function(e,n){let{breakPoints:o,children:r,column:s,className:i,flexFill:l,gap:a,fullPage:c,id:u,onSplitterMoved:d,resizeable:p,row:m,spacing:f,splitterSize:h,style:g,...y}=e,{content:v,rootRef:C}=Ha({children:r,onSplitterMoved:d,style:g}),b=(0,Oa.default)(ai,i,{[`${ai}-column`]:s,[`${ai}-row`]:m,"flex-fill":l,"full-page":c});return(0,Fa.jsx)("div",{...y,className:b,"data-resizeable":p||void 0,id:u,ref:(0,Aa.useForkRef)(C,n),style:{...g,gap:a,"--spacing":f},children:v})});za.displayName="Flexbox";var ci=za;var _a=require("react");var kr={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 Gn=require("react");var oh=_(require("react"));var Uf=require("@vuu-ui/vuu-utils"),Xf=_(require("react"));var _f=require("@vuu-ui/vuu-utils"),Va=_(require("react"));var cn=require("react"),Je=new Map,et=new Map;var _n=()=>{let t=(0,cn.useCallback)((i,l)=>{let a=et.get(i);if(a)return l!==void 0&&a[l]!==void 0?a[l]:l!==void 0?void 0:a},[]),e=(0,cn.useCallback)((i,l,a)=>{if(l===void 0)et.set(i,a);else if(et.has(i)){let c=et.get(i);et.set(i,{...c,[l]:a})}else et.set(i,{[l]:a})},[]),n=(0,cn.useCallback)((i,l)=>{if(et.has(i)){if(l===void 0)et.delete(i);else if(et.get(i)[l]){let{[l]:c,...u}=et.get(i);Object.keys(u).length>0?et.set(i,u):et.delete(i)}}},[]),o=(0,cn.useCallback)((i,l)=>{let a=Je.get(i);if(a)return l!==void 0?a[l]:a},[]),r=(0,cn.useCallback)((i,l,a)=>{if(l===void 0)Je.set(i,a);else if(Je.has(i)){let c=Je.get(i);Je.set(i,{...c,[l]:a})}else Je.set(i,{[l]:a})},[]),s=(0,cn.useCallback)((i,l)=>{if(Je.has(i)){if(l===void 0)Je.delete(i);else if(Je.get(i)[l]){let{[l]:c,...u}=Je.get(i);Object.keys(u).length>0?Je.set(i,u):Je.delete(i)}}},[]);return{loadSessionState:t,loadState:o,saveSessionState:e,saveState:r,purgeState:s,purgeSessionState:n}};var Yf=require("react");var jf=_(require("react"));var qf=_(require("react"));var Jf=_(require("react"));var eh=require("@vuu-ui/vuu-utils"),th=_(require("react"));var Ba=require("react"),rh=t=>console.log(`dispatch ${t.type}, have you forgotten to provide a LayoutProvider ?`),Ka=(0,Ba.createContext)({dispatchLayoutProvider:rh,version:-1});var Wa=require("react");var sh=require("react/jsx-runtime");var tt=()=>{let{dispatchLayoutProvider:t}=(0,Gn.useContext)(Ka);return t};var Ua=require("react/jsx-runtime"),Ga=function(e){let{path:n}=e,o=tt(),r=(0,_a.useCallback)(s=>{o({type:kr.SPLITTER_RESIZE,path:n,sizes:s})},[o,n]);return(0,Ua.jsx)(ci,{...e,onSplitterMoved:r})};Ga.displayName="Flexbox";Re("Flexbox",Ga,"container");var ec=require("@salt-ds/core"),tc=_(require("classnames")),Or=require("react");var ut=require("react");var dn=require("react"),Qa=["height","width"];var un=new WeakMap,ja=(t,e,n)=>{switch(n){case"height":return e.height;case"scrollHeight":return t.scrollHeight;case"scrollWidth":return t.scrollWidth;case"width":return e.width;default:return 0}},Xa=new ResizeObserver(t=>{for(let e of t){let{target:n,contentRect:o}=e,r=un.get(n);if(r){let{onResize:s,measurements:i}=r,l=!1;for(let[a,c]of Object.entries(i)){let u=ja(n,o,a);u!==c&&(l=!0,i[a]=u)}l&&s&&s(i)}}});function Hr(t,e,n,o=!1){console.log("resizeObserver container",{ref:t.current});let r=(0,dn.useRef)(e),s=(0,dn.useCallback)(i=>{let l=i.getBoundingClientRect();return r.current.reduce((a,c)=>(a[c]=ja(i,l,c),a),{})},[]);(0,dn.useLayoutEffect)(()=>{let i=t.current,l=!1;async function a(){un.set(i,{measurements:{}}),l=!1;let{fonts:c}=document;if(c&&await c.ready,!l){let u=un.get(i);if(u){let d=s(i);u.measurements=d,Xa.observe(i),o&&n(d)}}}if(i){if(un.has(i))throw Error("useResizeObserver attemping to observe same element twice");a()}return()=>{i&&un.has(i)&&(Xa.unobserve(i),un.delete(i),l=!0)}},[t,s,o,n]),(0,dn.useLayoutEffect)(()=>{let i=t.current,l=un.get(i);if(l){if(r.current!==e){r.current=e;let a=s(i);l.measurements=a}l.onResize=n}},[e,s,t,n])}function ih(t,e){let n=document.body.querySelector(`.${t}`),o={get:function(r,s){let i=r.getPropertyValue(`--${t}-breakpoint-${s}`);return i?parseInt(i):void 0}};return n?new Proxy(getComputedStyle(n),o):e!=null?e:{}}var lh=([,t],[,e])=>e-t,mi=t=>Object.entries(t).sort(lh).map(([e,n],o,r)=>[e,n,o<r.length-1?r[o+1][1]:9999]),pi=null,ah=(t="salt")=>{let{xs:e,sm:n,md:o,lg:r,xl:s}=ih(t);return mi({xs:e,sm:n,md:o,lg:r,xl:s})},Ya=t=>(pi===null&&(pi=ah(t)),pi);var ch=[],Za=({breakPoints:t,smallerThan:e},n)=>{let[o,r]=(0,ut.useState)(e?!1:"lg"),s=(0,ut.useRef)(document.body),i=(0,ut.useRef)(t?mi(t):Ya()),l=(0,ut.useRef)("lg"),a=(0,ut.useCallback)(u=>{if(i.current){for(let[d,p]of i.current)if(u>=p)return d}},[i]),c=(0,ut.useCallback)(u=>{if(e){let d=i.current.find(([p])=>p===e);if(d){let[,,p]=d;return u<p}}else return a(u);return u},[e,a]);return Hr(n||s,i.current?["width"]:ch,({width:u})=>{let d=c(u);d!==l.current&&(l.current=d,r(d))},!0),(0,ut.useEffect)(()=>{let u=n||s;if(u.current){let d=l.current;if(i.current){let{clientWidth:p}=u.current,m=c(p);l.current=m,m!==d&&r(m)}}},[r,c,n]),o};var uh="data-collapsible",dE={[uh]:!0,"data-pad-start":!0,"data-pad-end":!0};var qa=require("@vuu-ui/vuu-utils"),Xe=require("react");var dh=["xs","sm","md","lg","xl"],ph=12,Ja=({children:t,cols:e,style:n})=>{let o=(0,Xe.useRef)(null),r=(0,Xe.useRef)(null),s=(0,Xe.useRef)(),i=e!=null?e:ph,a=(n==null?void 0:n.flexDirection)==="column"?"height":"width",c=(0,Xe.useMemo)(()=>Array.isArray(t)?t:(0,Xe.isValidElement)(t)?[t]:[],[t]),u=(0,Xe.useCallback)((d,p)=>{let m=Lr(d,p,dh),f=[],h=[];for(let g=0;g<d.length;g++){let y=d[g],{style:{flex:v,...C}}=y.props;f.push((0,Xe.cloneElement)(y,{key:(0,qa.getUniqueId)(),style:{...C,"--parent-col-count":i}})),h.push(m[g])}return[f,h]},[i]);return(0,Xe.useMemo)(()=>{let[d,p]=u(c,a);r.current=p,s.current=d},[u,c,a]),{cols:i,content:s.current,rootRef:o}};var nc=require("react/jsx-runtime"),Ar="hwFluidGrid",fi=(0,Or.forwardRef)(function(e,n){let{breakPoints:o,children:r,column:s,cols:i=12,className:l,flexFill:a,gap:c=3,fullPage:u,id:d,onSplitterMoved:p,resizeable:m,row:f,showGrid:h,spacing:g,splitterSize:y,style:v,...C}=e,b=(0,Or.useMemo)(()=>Bn(r),[r]),{cols:T,content:x,rootRef:w}=Ja({children:b,cols:i,style:v}),R=Za({breakPoints:o},w),M=(0,tc.default)(Ar,l,{[`${Ar}-column`]:s,[`${Ar}-row`]:f,[`${Ar}-show-grid`]:h,"flex-fill":a,"full-page":u}),E={...v,"--spacing":g,"--grid-col-count":T,"--grid-gap":c};return(0,nc.jsx)("div",{...C,className:M,"data-breakpoint":R,"data-cols":T,"data-resizeable":m||void 0,id:d,ref:(0,ec.useForkRef)(w,n),style:E,children:x})});fi.displayName="FluidGrid";var rc=require("react/jsx-runtime"),oc=function(e){return(0,rc.jsx)(fi,{...e})};oc.displayName="FluidGrid";Re("FluidGrid",oc,"container");var dc=require("@salt-ds/core"),Vr=_(require("classnames")),_t=_(require("react"));var Wt=require("react");var Nr=(t,e,n,o)=>{var g;let{loadSessionState:r,purgeSessionState:s,purgeState:i,saveSessionState:l}=_n(),[a,c]=(0,Wt.useState)((g=r(t,"contributions"))!=null?g:[]),u=tt(),d=(0,Wt.useCallback)((y,v)=>{let C=a.concat([{location:y,content:v}]);l(t,"contributions",C),c(C)},[a,t,l]),p=(0,Wt.useCallback)(()=>{s(t,"contributions"),c([])},[t,s]),m=(0,Wt.useCallback)(()=>{let y=r(t,"data-source");y&&y.unsubscribe(),s(t),i(t),u({type:"remove",path:n})},[u,t,r,s,i,n]),f=(0,Wt.useCallback)(async(y,v,C)=>{var T;y.stopPropagation();let b=(T=e.current)==null?void 0:T.getBoundingClientRect();return new Promise((x,w)=>{u({type:"drag-start",evt:y,path:v===void 0?n:`${n}.${v}`,dragRect:b,preDragActivity:C,dropTargets:o,resolveDragStart:x,rejectDragStart:w})})},[e,u,n,o]);return[(0,Wt.useCallback)(async(y,v)=>{var b;let{type:C}=y;switch(C){case"maximize":case"minimize":case"restore":return u({type:C,path:(b=y.path)!=null?b:n});case"remove":return m();case"mousedown":return f(v,y.index,y.preDragActivity);case"add-toolbar-contribution":return d(y.location,y.content);case"remove-toolbar-contribution":return p();default:return}},[u,n,m,f,d,p]),a]};var Fr=require("@salt-ds/core"),ac=_(require("classnames")),Oe=_(require("react"));var dt=require("react");var sc=({id:t,rootRef:e,path:n,dropTargets:o,title:r})=>{let s=tt(),{loadState:i,loadSessionState:l,purgeState:a,saveState:c,saveSessionState:u}=_n(),[d,p]=Nr(t,e,n,o),m=(0,dt.useMemo)(()=>{var x;return(x=i("view-title"))!=null?x:r},[i,r]),f=(0,dt.useCallback)(x=>{n&&s({type:"set-title",path:n,title:x})},[s,n]),h=(0,dt.useMemo)(()=>i(t),[t,i]),g=(0,dt.useCallback)(x=>i(t,x),[t,i]),y=(0,dt.useCallback)(x=>{a(t,x),s({type:"save"})},[t,s,a]),v=(0,dt.useCallback)((x,w)=>{c(t,w,x),s({type:"save"})},[t,s,c]),C=(0,dt.useCallback)(x=>l(t,x),[t,l]),b=(0,dt.useCallback)((x,w)=>u(t,w,x),[t,u]),T=(0,dt.useCallback)(({type:x,...w})=>{let{[x]:R}=w;v(R,x)},[v]);return{contributions:p,dispatchViewAction:d,load:g,loadSession:C,onConfigChange:T,onEditTitle:f,purge:y,restoredState:h,save:v,saveSession:b,title:m}};var Un=require("react"),mh=[],ic=({mainRef:t,resize:e="responsive",rootRef:n})=>{let o=e==="defer",r=(0,Un.useRef)({}),s=(0,Un.useRef)(),i=(0,Un.useCallback)(()=>{t.current&&(t.current.style.height=r.current.height+"px",t.current.style.width=r.current.width+"px"),s.current=void 0},[t]),l=(0,Un.useCallback)(({height:a,width:c})=>{r.current.height=a,r.current.width=c,s.current!==null&&clearTimeout(s.current),s.current=window.setTimeout(i,40)},[i]);Hr(n,o?Qa:mh,l,o)};var zr=_(require("react")),fh={dispatch:null},hi=zr.default.createContext(fh),lc=()=>{var e;let t=(0,zr.useContext)(hi);return(e=t==null?void 0:t.dispatch)!=null?e:null};var Xn=require("react/jsx-runtime"),Bo="vuuView",hh=(t,e)=>t&&e?{...t,...e}:t||e,cc=(0,Oe.forwardRef)(function(e,n){let{Header:o=uc,children:r,className:s,collapsed:i,closeable:l,"data-path":a,"data-resizeable":c,dropTargets:u,expanded:d,flexFill:p,id:m,header:f,orientation:h="horizontal",path:g=a,resize:y="responsive",resizeable:v=c,tearOut:C,style:b={},title:T,...x}=e,w=(0,Fr.useIdMemo)(m),R=(0,Oe.useRef)(null),M=(0,Oe.useRef)(null),[E,I]=(0,Oe.useState)(),{contributions:S,dispatchViewAction:D,load:L,loadSession:A,onConfigChange:H,onEditTitle:P,purge:k,restoredState:N,save:O,saveSession:F,title:$}=sc({id:w,rootRef:R,path:g,dropTargets:u,title:T});ic({mainRef:M,resize:y,rootRef:R});let U=(0,Oe.useCallback)(z=>{I(z)},[]),W=()=>Oe.default.isValidElement(r)&&(N||E)?Oe.default.cloneElement(r,hh(N,E)):r,Z=(0,Oe.useMemo)(()=>({dispatch:D,id:w,path:g,title:$,load:L,loadSession:A,onConfigChange:H,purge:k,save:O,saveSession:F,setComponentProps:U}),[D,w,L,A,H,g,k,O,F,U,$]),V=typeof f=="object"?f:{};return(0,Xn.jsx)("div",{...x,className:(0,ac.default)(Bo,s,{[`${Bo}-collapsed`]:i,[`${Bo}-expanded`]:d,[`${Bo}-resize-defer`]:y==="defer"}),"data-resizeable":v,id:w,ref:(0,Fr.useForkRef)(n,R),style:b,tabIndex:-1,children:(0,Xn.jsxs)(hi.Provider,{value:Z,children:[f?(0,Xn.jsx)(o,{...V,collapsed:i,contributions:S,expanded:d,closeable:l,onEditTitle:P,orientation:h,tearOut:C,title:$}):null,(0,Xn.jsx)("div",{className:`${Bo}-main`,ref:M,children:W()})]})})});cc.displayName="View";var Qn=Oe.default.memo(cc);Qn.displayName="View";Re("View",Qn,"view");var jn=require("react/jsx-runtime"),uc=({className:t,contributions:e,collapsed:n,closeable:o,onEditTitle:r,orientation:s="horizontal",style:i,title:l="Untitled"})=>{let a=(0,_t.useRef)(null),[c,u]=(0,_t.useState)(l),[d,p]=(0,_t.useState)(!1),m=lc(),f=I=>m==null?void 0:m({type:"remove"},I),h="vuuHeader",g=()=>{var I;(I=a.current)==null||I.focus()},y=I=>{I.stopPropagation()},C=(0,Vr.default)(h,t,`${h}-${n||s}`),b=()=>{p(!0)},T=I=>{I.key==="Enter"&&p(!0)},x=(I="",S="",D=!0,L=!1)=>{var A;p(!1),L?u(I):S!==I&&(u(S),r==null||r(S)),D===!1&&((A=a.current)==null||A.focus())},w=I=>{m==null||m({type:"mousedown"},I)},R=[],M=[],E=[];return e==null||e.forEach((I,S)=>{switch(I.location){case"pre-title":R.push(_t.default.cloneElement(I.content,{key:S}));break;default:M.push(_t.default.cloneElement(I.content,{key:S}))}}),l&&R.push((0,jn.jsx)(Vn,{editing:d,value:c,onChange:u,onMouseDownCapture:g,onEnterEditMode:b,onExitEditMode:x,onKeyDown:T,ref:a,tabIndex:0},"title")),o&&E.push((0,jn.jsx)(dc.Button,{"data-icon":"close",onClick:f,onMouseDown:y,variant:"secondary"},"close")),M.length>0&&R.push((0,jn.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:M},"contributions")),E.length>0&&R.push((0,jn.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:E},"actions")),(0,jn.jsx)("div",{className:(0,Vr.default)("vuuToolbarProxy",C),style:i,onMouseDown:w,children:R})};var Tc=require("@vuu-ui/vuu-popups"),Wo=_(require("classnames")),Kr=_(require("react"));var Br=require("@vuu-ui/vuu-utils"),pt=require("react");var gh=".vuuOverflowContainer-item:not(.wrapped)",bh=t=>t.sort((e,n)=>{let{dataset:{index:o="?"}}=e,{dataset:{index:r="?"}}=n,s=e.classList.contains("wrapped"),i=n.classList.contains("wrapped"),l=o==="overflow",a=r==="overflow";return s&&!i?1:!s&&i?-1:l?1:a?-1:parseInt(o)>parseInt(r)?1:-1}),gi=[],Ko=(t,e="horizontal")=>{let n=[],o=[],r=-1,s=!1,i=bh(Array.from(t.children)),l=e==="vertical"?"top":"left";for(let a of i){let c=a,{dataset:{index:u="?",label:d="?",overflowPriority:p="0"}}=c,{[l]:m}=c.getBoundingClientRect();m<=r?(u==="overflow"?o.push(n.pop()):o.push({index:u,label:d,overflowPriority:p}),s=!0):s?o.push({index:u,label:d,overflowPriority:p}):n.push({index:u,label:d,overflowPriority:p}),r=m}return[n,o]},pc=(t,e)=>{let n=!1;e.find(({index:o})=>o==="overflow")&&e.length===1&&(n=!0);for(let o of t.children){let{dataset:{index:r="?"}}=o;e.length===0||n?t.classList.remove("overflowed"):t.classList.add("overflowed"),r!=="overflow"&&e.find(s=>s.index===r)?o.classList.add("wrapped"):o.classList.remove("wrapped")}},yh=(t,{overflowPriority:e})=>Math.max(t,parseInt(e)),xh=(t,{overflowPriority:e})=>Math.min(t,parseInt(e)),mc=t=>{var e;return t.length>1&&((e=t.at(-1))==null?void 0:e.index)==="overflow"},Ch=t=>{let[e]=t;for(let n=1;n<t.length;n++){let o=t[n];parseInt(o.overflowPriority)>parseInt(e.overflowPriority)&&(e=o)}return e},fc=(t,e)=>{var r;let n=t.reduce(xh,Number.MAX_SAFE_INTEGER);return e.reduce(yh,0)>n?!0:e.length>1&&((r=e.at(-1))==null?void 0:r.index)==="overflow"},hc=(t,e)=>new Promise(n=>{requestAnimationFrame(()=>{let[,o]=Ko(t);Sh(e,o).forEach(s=>vh(t,s)),n(o)})}),gc=(t,e,n)=>new Promise(o=>{requestAnimationFrame(()=>{let[,r]=Ko(t),s=Ch(r);if(s){let[i,l]=bi(t,s);o([i,l])}else o([e,n])})}),bc=(t,e)=>t.querySelector(`[data-index="${e.index}"]`),vh=(t,e)=>{let n=bc(t,e);if(n)n.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${e.index} not found`)},Th=t=>Array.from(t.querySelectorAll(".wrapped")),Sh=(t,e)=>{let n=[];for(let o of e)t.find(({index:r})=>r===o.index)||n.push(o);return n},wh=(t,e)=>{Th(t).forEach(o=>{let{dataset:{index:r="?"}}=o;e.find(s=>s.index===r)||o.classList.remove("wrapped")})},yc=t=>t.querySelector('[data-index="overflow"]'),Eh=t=>t.querySelector(".wrapped"),$r=t=>parseInt(getComputedStyle(t).getPropertyValue("width")),xc=(t,e)=>{let{right:n}=t.getBoundingClientRect(),o=parseInt(getComputedStyle(t).getPropertyValue("padding-right")),{right:r}=e.getBoundingClientRect();return n-o-r},Cc=t=>{let e=yc(t),n=xc(t,e),o=$r(e),r=Eh(t);return $r(r)<=n+o?(t.classList.remove("overflowed"),r.classList.remove("wrapped"),!0):!1},Rh=(t,e)=>{let{dataset:{index:n="0",overflowPriority:o="0"}}=t,{dataset:{index:r="0",overflowPriority:s="0"}}=e;return o>s?-1:o<s?1:parseInt(n)-parseInt(r)},Dh=t=>Array.from(t.querySelectorAll(gh)).sort(Rh),bi=(t,e)=>{let n=Dh(t),o=bc(t,e),r=-1,s=n.at(r),i=$r(s),l=$r(o),a=yc(t),c=xc(t,a)+i;if(c>=l)Mh(o,s);else{let{left:p}=s.getBoundingClientRect(),m=c,f=[s];for(;c<l;){r-=1,s=n.at(r),f.push(s);let{left:h}=s.getBoundingClientRect(),g=p-h;c=m+g}o==null||o.classList.remove("wrapped"),f.forEach(h=>{h.classList.add("wrapped")})}let[u,d]=Ko(t);return wh(t,d),[u,d]},Mh=(t,e)=>{if(!t||!e)throw Error("switchWrapOnElements, element undefined");t.classList.remove("wrapped"),e.classList.add("wrapped")};var vc=({itemCount:t,onSwitchWrappedItemIntoView:e,orientation:n="horizontal"})=>{let[o,r]=(0,pt.useState)(null),s=(0,pt.useRef)(gi),i=(0,pt.useCallback)(async()=>{if(o){let[p,m]=Ko(o,n);for(pc(o,m),mc(m)&&(m=await hc(o,m));fc(p,m);)[p,m]=await gc(o,p,m);m.length===1&&Cc(o)&&(m=gi),s.current=m}},[o,n]),l=p=>typeof p=="object"&&p!==null&&"overflowItem"in p,[a,c]=(0,pt.useMemo)(()=>[()=>{let{current:p}=s;return p.map(m=>({label:m.label,action:`activate-item-${m.index}`,options:{overflowItem:m}}))},({options:p})=>{if(o&&l(p)){let[,m]=bi(o,p.overflowItem);s.current=m,e==null||e(p.overflowItem)}return!0}],[o,e]),u=(0,pt.useMemo)(()=>{let{sizeProp:p}=Br.MEASURES[n],m=0;return new ResizeObserver(f=>{for(let h of f){let{[p]:g}=h.contentRect;(0,Br.isValidNumber)(g)&&m!==g&&(m=g,i())}})},[i,n]);Dr(()=>{i()},[i,t]),(0,pt.useMemo)(()=>{o&&u.observe(o)},[o,u]);let d=(0,pt.useCallback)(p=>{r(p)},[]);return{menuActionHandler:c,menuBuilder:a,rootRef:d}};var Gt=require("react/jsx-runtime"),Yn="vuuOverflowContainer",Sc=Kr.default.memo(({children:t,className:e,height:n,onSwitchWrappedItemIntoView:o,orientation:r="horizontal",overflowIcon:s})=>{let i=Bn(t),{menuActionHandler:l,menuBuilder:a,rootRef:c}=vc({itemCount:i.length,onSwitchWrappedItemIntoView:o,orientation:r}),d={"--overflow-container-height":`${r==="vertical"?"100%":`${n}px`}`},p=(0,Wo.default)(`${Yn}-wrapContainer`,e,{[`${Yn}-horizontal`]:r==="horizontal",[`${Yn}-vertical`]:r==="vertical"});return(0,Gt.jsxs)("div",{className:p,ref:c,style:d,children:[i.map((m,f)=>{let{"data-overflow-priority":h="0",id:g,label:y=`Item ${f+1}`}=m.props;return(0,Gt.jsx)("div",{className:(0,Wo.default)(`${Yn}-item`),"data-index":f,"data-label":y,"data-overflow-priority":h,id:`${g}-wrapper`,children:m},f)}),(0,Gt.jsx)("div",{className:`${Yn}-OverflowIndicator`,"data-index":"overflow",children:(0,Gt.jsx)(Tc.PopupMenu,{icon:s,menuBuilder:a,menuActionHandler:l})})]})});Sc.displayName="OverflowContainer.InnerContainer";var wc=(0,Kr.forwardRef)(function({children:e,className:n,height:o=44,onSwitchWrappedItemIntoView:r,orientation:s,overflowIcon:i,...l},a){return(0,Gt.jsx)("div",{...l,className:(0,Wo.default)((0,Wo.default)(Yn,n)),ref:a,children:(0,Gt.jsx)(Sc,{height:o,orientation:s,overflowIcon:i,onSwitchWrappedItemIntoView:r,children:e})})});var Ec=require("@vuu-ui/vuu-utils"),_r=require("@salt-ds/lab"),yi=_(require("classnames")),Gr=require("react");var Wr=require("react/jsx-runtime"),Ih=t=>{let e=t.cloneNode(!0);return e.id="",delete e.dataset.idx,e},Rc=(0,Gr.memo)(({className:t,children:e,idx:n,resizeable:o,header:r,closeable:s,...i})=>(0,Wr.jsx)(_r.ListItem,{className:(0,yi.default)("vuuPaletteItem",t),"data-draggable":!0,...i}));Rc.displayName="PaletteItem";var Ph=({children:t,className:e,orientation:n="horizontal",ViewProps:o,...r})=>{let s=tt(),i="vuuPalette";function l(a){var w;let u=a.target.closest(".vuuPaletteItem"),d=parseInt((w=u.dataset.idx)!=null?w:"-1");d!==-1&&console.log({children:t,idx:d,listItemElement:u});let{props:{caption:p,children:m,template:f,...h}}=t[d],{height:g,left:y,top:v,width:C}=u.getBoundingClientRect(),b=(0,Ec.uuid)(),x=f?m:(0,Wr.jsx)(Qn,{...o,...{id:b,key:b},...h,title:h.label,children:m});s({dragRect:{left:y,top:v,right:y+C,bottom:v+150,width:C,height:g},dragElement:Ih(u),evt:a.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:x,type:"drag-start"})}return(0,Wr.jsx)(_r.List,{...r,borderless:!0,className:(0,yi.default)(i,e,`${i}-${n}`),maxHeight:800,selected:null,children:t.map((a,c)=>a.type===Rc?(0,Gr.cloneElement)(a,{key:c,onMouseDown:l}):a)})};Re("Palette",Ph,"view");var Mc=_(require("classnames")),Ut=_(require("react"));var _o=require("react/jsx-runtime"),Dc="Tabs",Lh=()=>{},kh=(t,e)=>{var n,o;return(o=(n=t.props)==null?void 0:n.title)!=null?o:`Tab ${e+1}`},Hh=t=>{let e=[];return Ut.default.Children.forEach(t,n=>{Ut.default.isValidElement(n)?e.push(n):console.warn("Stack has unexpected child element type")}),e},Ah={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},xi=(0,Ut.forwardRef)(function({active:e=0,children:n,className:o,getTabIcon:r=Lh,getTabLabel:s=kh,id:i,keyBoardActivation:l="manual",onAddTab:a,onMoveTab:c,onTabClose:u,onTabEdit:d,onTabSelectionChanged:p,showTabs:m="top",style:f,TabstripProps:h=Ah},g){var E;let y=Kn(i),{allowCloseTab:v,allowRenameTab:C}=h,b=(0,Ut.useCallback)((I,S,D,L)=>{d==null||d(L,S)},[d]),T=()=>{var I;return Ut.default.isValidElement(n)?n:Array.isArray(n)&&(I=n[e])!=null?I:null},x=()=>Hh(n).map((I,S)=>{let D=`${y}-${S}`,{closeable:L=v,id:A}=I.props;return(0,_o.jsx)(Pc,{ariaControls:`${D}-tab`,"data-icon":r(I,S),id:D,index:S,label:s(I,S),closeable:L,editable:C},A!=null?A:S)}),w=T(),R=m==="left"||m==="right",M=R?"vertical":"horizontal";return(0,_o.jsxs)("div",{className:(0,Mc.default)(Dc,o,{[`${Dc}-horizontal`]:R}),style:f,id:y,ref:g,children:[m?(0,_o.jsx)(Ic,{...h,activeTabIndex:(E=h==null?void 0:h.activeTabIndex)!=null?E:w===null?-1:e,allowDragDrop:h.allowDragDrop!==!1,animateSelectionThumb:!0,className:"vuuTabHeader",keyBoardActivation:l,onActiveChange:p,onAddTab:a,onCloseTab:u,onExitEditMode:b,onMoveTab:c,orientation:M,children:x()}):null,w]})});xi.displayName="Stack";var Lc=require("@salt-ds/core"),Xt=_(require("react"));var Ur=require("react/jsx-runtime"),Oh=t=>(0,Ur.jsx)(Qn,{resizeable:!0,title:`Tab ${t}`,style:{flexGrow:1,flexShrink:0,flexBasis:0},header:!0,closeable:!0,children:(0,Ur.jsx)(Js,{style:{flex:1}})}),kc=t=>{let e=(0,Xt.useRef)(null),n=tt(),{loadState:o}=_n(),{createNewChild:r=Oh,id:s,onTabSelectionChanged:i,path:l,...a}=t,{children:c}=t,u=(0,Lc.useIdMemo)(s),[d]=Nr(u,e,l),p=C=>{l&&(n({type:"switch-tab",path:l,nextIdx:C}),i==null||i(C))},m=(0,Xt.useCallback)(C=>{if(Array.isArray(c)){let{props:{"data-path":b,path:T=b}}=c[C];n({type:"remove",path:T})}},[c,n]),f=(0,Xt.useCallback)(()=>{if(l){let C=Xt.default.Children.count(c),b=r(C);n({type:"add",path:l,component:b})}},[c,r,n,l]),h=(0,Xt.useCallback)((C,b)=>{l&&n({fromIndex:C,toIndex:b,path:l,type:"move-child"})},[n,l]);return(0,Ur.jsx)(xi,{...a,id:u,getTabLabel:(C,b)=>{let{id:T,title:x}=C.props;return o(T,"view-title")||x||`Tab ${b+1}`},onMouseDown:async(C,b)=>{let T;await d({type:"mousedown",index:b,preDragActivity:async()=>new Promise(R=>{console.log("preDragActivity: Ok, gonna release the drag"),T=R})},C)&&(T==null||T(void 0))},onMoveTab:h,onAddTab:f,onTabClose:m,onTabEdit:(C,b)=>{n({type:"set-title",path:`${l}.${C}`,title:b})},onTabSelectionChanged:p,ref:e})};kc.displayName="Stack";Re("Stack",kc,"container");var Hc=_(require("react"));var Ac=require("react/jsx-runtime");var Oc=require("@salt-ds/core"),Nc=require("react/jsx-runtime");var Xr="(\\d+)(?:px)?",Nh=`^(?:${Xr}(?:\\s${Xr}(?:\\s${Xr}(?:\\s${Xr})?)?)?)$`,_D=new RegExp(Nh);var zh=_(require("react")),Fh=_(require("classnames"));var Vh=require("react/jsx-runtime");var Su=require("@salt-ds/core"),ss=_(require("classnames")),vt=require("react");var Go=require("react"),Kh=require("react/jsx-runtime"),Bh=(0,Go.createContext)(void 0);function zc(){let t=(0,Go.useContext)(Bh);if(t)return t}var Wh=t=>Object.prototype.toString.call(t)==="[object Object]";function Zn(t){return typeof t=="string"?t:Wh(t)?Object.prototype.hasOwnProperty.call(t,"label")?String(t.label):(console.warn(["itemToString: you've likely forgotten to set the label prop on the item object.","You can also provide your own `itemToString` implementation."].join(`
|
|
18
|
-
`)),""):String(t)}function _h(t,...e){let n=new Set(t);for(let o of e)for(let r of o)n.add(r);return n}var Uo="ArrowUp",Xo="ArrowDown",Fc="ArrowLeft",Vc="ArrowRight",Ci="Enter";var Qr="Home",Qo="End",vi="PageUp",jr="PageDown",$c=" ";var Gh=new Set(["Enter","Delete"," "]),Uh=new Set(["Tab"]),Xh=new Set(["ArrowRight","ArrowLeft"]),Bc=new Set([Qr,Qo,vi,jr,Xo,Uo]),Qh=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),jh=_h(Gh,Bc,Xh,Qh,Uh),Yr=t=>jh.has(t.key)?!1:t.key.length===1&&!t.ctrlKey&&!t.metaKey&&!t.altKey,Kc=({key:t})=>Bc.has(t);var Ti=require("react");var Yh={},Zh=t=>Array.isArray(t.childNodes),qh=t=>!0,Jh=t=>t.closest("[data-toggle],[aria-expanded]").dataset.toggle==="true",Wc=({collapsibleHeaders:t,collectionHook:e,highlightedIdx:n,onToggle:o})=>{let r=(0,Ti.useCallback)(l=>{if(l.key===Vc||l.key===Ci){let a=e.data[n];a&&a.expanded===!1&&a.value&&(l.preventDefault(),e.expandGroupItem(a),o==null||o(a.value))}if(l.key===Fc||l.key===Ci){let a=e.data[n];a&&a.expanded&&a.value&&(l.preventDefault(),e.collapseGroupItem(a),o==null||o(a.value))}},[e.collapseGroupItem,e.data,e.expandGroupItem,n]),i={onClick:(0,Ti.useCallback)(l=>{console.log(`useCollapsibleGroups idx=${n}`);let a=e.data[n];console.log(l.target,l.currentTarget),a&&Zh(a)&&(!qh(a)||Jh(l.target))&&(l.stopPropagation(),l.preventDefault(),a.expanded===!1&&a.value?(e.expandGroupItem(a),o==null||o(a.value)):a.expanded===!0&&a.value&&(e.collapseGroupItem(a),o==null||o(a.value)))},[e.collapseGroupItem,e.data,e.expandGroupItem,n]),onKeyDown:r};return t?i:Yh};function eg(t){if(t){let e=t.dataset.idx;if(e)return parseInt(e,10);if(e=t.ariaPosInSet)return parseInt(e,10)-1}return-1}var tg=t=>t.closest("[data-idx],[aria-posinset]");var _c=t=>eg(tg(t));var Gc=t=>t==="none",qn=t=>Array.isArray(t)?t.length>0:t!=null,Uc=t=>Array.isArray(t)?t[0]:t;var ce=require("react");var Jn=require("react");var Xc=t=>null;var Qc=t=>null;var Si=(t,e)=>t!==null&&Object.prototype.hasOwnProperty.call(t,e),wi=t=>Si(t,"header"),jc=t=>Si(t,"childNodes"),jo=(t,e)=>t&&Object.prototype.hasOwnProperty.call(t.props,e),Yc=t=>{if((0,Jn.isValidElement)(t)){if(jo(t,"disabled"))return t.props.disabled===!0}else if(Si(t,"disabled"))return t.disabled===!0;return!1},Zc=t=>(0,Jn.isValidElement)(t)&&jo(t,"focusable")?t.props.focusable:!0,qc=(t,e,n)=>{if(t.childNodes)return t.childNodes.length;if(t.header){let o=n+1,r=0;for(;o<e.length&&!e[o].header;)r++,o++;return r}else return 0},ng=t=>{if(typeof t.props.children=="string")return t.props.children;if(t.props.title)return t.props.title;if(t.props.label)return t.props.label},Jc=t=>t.type===Qc||jo(t,"data-header"),eu=t=>t.type===Xc||jo(t,"data-group"),og=t=>jo(t,"selectable")?t.props.selectable===!0:!eu(t)&&!Jc(t),rg=t=>{if(eu(t)){let{props:{children:e}}=t;if(typeof e!="string")return Ri(e)}},sg=(t,e)=>{let n=[];return Jn.Children.forEach(t,o=>{(0,Jn.isValidElement)(o)&&n.push(e(o))}),n},Ei=(t,e)=>{if(Array.isArray(t))return t.length===0&&(e!=null&&e.noChildrenLabel)?[{label:e.noChildrenLabel,value:null}]:t.map((n,o)=>{var r,s;return{childNodes:Ei(n.childNodes,e),description:n.description,expanded:n.expanded,value:n,label:(s=(r=e==null?void 0:e.itemToString)==null?void 0:r.call(e,n))!=null?s:Zn(n)}});if(t)throw Error("list-child-items expects source to be an array")},Ri=t=>{if(t)return sg(t,e=>{let{"data-id":n,disabled:o,id:r=n,"data-expanded":s,expanded:i=s}=e.props;return{childNodes:rg(e),disabled:o,expanded:i,header:Jc(e),id:r,label:ng(e),selectable:og(e),value:e}})},ig=new Set(["/","-","."]),lg=t=>ig.has(t),tu=(t,e)=>e.startsWith(t)&&lg(e[t.length]),ag=new Set([".","/"]);function cg(t,e){return e.startsWith(t)?ag.has(e.charAt(t.length)):!1}function Zr(t,e,n){let o;return t.map(s=>s.id===e?{...s,...n}:cg(s.id,e)&&s.childNodes?(o=Zr(s.childNodes,e,n),{...s,childNodes:o}):s)}var ug=t=>t&&t.replace(/^\s+/g,""),Di=t=>new RegExp(`(${Tr(ug(t))})`,"gi"),nu=(t="",e=Di)=>(n="")=>!!n.length&&!!t.length&&n.match(e(t))!==null;function qr(t,e){return Array.isArray(t)?t.includes(e):t===e}var dg={},Jr=({children:t,id:e,label:n="",options:o=dg,source:r})=>{var H;let{getItemId:s}=o,[,i]=(0,ce.useState)(null),l=zc(),a=(0,ce.useRef)([]),c=(0,ce.useRef)([]),u=(0,ce.useMemo)(()=>[],[]),d=(0,ce.useRef)((H=o.filterPattern)!=null?H:""),{getFilterRegex:p=Di,noChildrenLabel:m,itemToString:f=Zn}=o,h=(0,ce.useCallback)(P=>o.defaultExpanded||!1,[o.defaultExpanded]),g=(0,ce.useCallback)((P,k,N=1,O="",F=[],$=[],U=[])=>(P.forEach((W,Z,V)=>{var J,B;let z=W.header&&o.collapsibleHeaders,K=W.childNodes&&o.collapsibleHeaders===!1,G=!W.childNodes||W.childNodes.length===0,se=K||G&&!z,X=O?`${O}.${Z}`:`item-${Z}`,Y=(J=W.id)!=null?J:s?s(Z):`${e}-${X}`,q=se?void 0:(B=W.expanded)!=null?B:h(Y),ne={...W,childNodes:void 0,count:!K&&q===void 0?0:qc(W,V,Z),description:W.description,disabled:Yc(W.value),focusable:Zc(W.value)?void 0:!1,id:Y,index:k.value,expanded:q,level:N};if(F.push(ne),$.push(ne),U.push(P[Z].value),k.value+=1,W.childNodes){let[te]=g(W.childNodes,k,N+1,X,[],$,U);ne.childNodes=te}}),[F,U,$]),[o.collapsibleHeaders,s,e,h]),y=(0,ce.useCallback)(()=>d.current?nu(d.current,p):null,[p]),v=(0,ce.useCallback)((P,k=y(),N=[],O={value:0})=>{let F=!1;for(let $ of P)F&&!wi($)||($.value!==null&&(k===null||k(f($.value)))&&(N[O.value]=$,O.value+=1),F=!1,wi($)&&$.expanded===!1?F=!0:jc($)&&$.expanded!==!1&&$.childNodes&&v($.childNodes,k,N,O));return N},[y,f]),C=(0,ce.useMemo)(()=>l?u:Ei(r,{itemToString:f,noChildrenLabel:m})||Ri(t)||[],[l,u,r,f,m,t]),[b,T,x]=(0,ce.useMemo)(()=>l?[u,u,u]:g(C,{value:0}),[u,g,l,C]);c.current=x,(0,ce.useMemo)(()=>l?u:a.current=v(b),[u,v,b,l]);let w=(0,ce.useRef)(b),R=(0,ce.useCallback)((P="")=>{typeof P=="string"&&(d.current=P,a.current=v(b),i({}))},[b,v]),M=(0,ce.useCallback)((P,k=b)=>{let N=k.find(O=>{var F;return O.id===P||((F=O==null?void 0:O.childNodes)==null?void 0:F.length)&&tu(O.id,P)});if((N==null?void 0:N.id)===P)return T==null?void 0:T[N.index];if(N)return M(P,N.childNodes);throw Error(`useCollectionData itemById, id ${P} not found `)},[T,b]),E=(0,ce.useCallback)(P=>{let k=c.current.find(N=>(0,ce.isValidElement)(N.value)?N.label===P:N.value===P);if(k)return k;throw Error("useCollectionData toCollectionItem, item not found ")},[]),I=(0,ce.useCallback)(P=>{if(P===null)return null;if(Array.isArray(P)){let k=[];for(let N of P){let O=E(N);k.push(O)}return k}else if(P!==void 0)return E(P)},[E]),S=(0,ce.useCallback)(P=>{let k=N=>{let O=c.current.find(F=>(0,ce.isValidElement)(F.value)?F.label===N:F.value!==null&&f(F.value)===N);if(O)return O};if(P===null)return null;if(Array.isArray(P)){let N=[];for(let O of P){let F=k(O);F&&N.push(F)}return N}else if(P!==void 0)return k(P)},[f]),D=(0,ce.useCallback)(P=>{for(let k of w.current)if(P===k.value)return k.id;throw Error("useCollectionData itemToId, item not found")},[]),L=(0,ce.useCallback)(P=>{w.current=Zr(w.current,P.id,{expanded:!1}),a.current=v(w.current),i({})},[v]),A=(0,ce.useCallback)(P=>{w.current=Zr(w.current,P.id,{expanded:!0}),a.current=v(w.current),i({})},[v]);return l||{collapseGroupItem:L,data:a.current,expandGroupItem:A,setFilterPattern:R,itemById:M,itemToId:D,toCollectionItem:E,itemToCollectionItem:I,stringToCollectionItem:S}};var es=require("react"),pg={scrollToIndex:t=>{},scrollToItem:t=>{},scrollTo:t=>{}},ts=({collectionHook:t,forwardedRef:e,scrollableRef:n,scrollIntoView:o})=>{let r=(0,es.useMemo)(()=>({scrollToIndex:s=>{let i=t.data[s];i&&(o==null||o(i))},scrollToItem:s=>{let i=t.toCollectionItem(s);i&&(o==null||o(i))},scrollTo:s=>{n!=null&&n.current&&(n.current.scrollTop=s)}}),[t.data,t.toCollectionItem,o]);(0,es.useImperativeHandle)(e,()=>n.current?r:pg,[r])};var su=require("@salt-ds/core"),Ne=require("react");var Ii=-2;function ou(t,e,n){return e===Uo||e===Qo?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var Mi=(t,e)=>{let n=Uc(e);return n?t.indexOf(n):-1},mg=(t,e,n,o)=>t===Qo?o:t===Qr?-1:e!==-1?e:n,iu=t=>{let e=document.getElementById(t.id);if(e)return e.getBoundingClientRect();throw Error(`useKeyboardNavigation.getItemRect no element found for item #${t==null?void 0:t.id}`)},fg=(t,e,n,o)=>{let{top:r}=e.getBoundingClientRect(),{scrollTop:s,clientHeight:i,scrollHeight:l}=t,a=n.length-1,c=Math.min(s+i,l-i);if(c!==s&&o<a){t.scrollTo(0,c);let u=o,d;do u+=1,d=iu(n[u]);while(d.top<r&&u<a);return u}},hg=async(t,e,n,o)=>{let{top:r}=e.getBoundingClientRect(),{scrollTop:s,clientHeight:i}=t,l=Math.max(s-i,0);if(l!==s&&o>0)return t.scrollTo(0,l),new Promise(a=>{requestAnimationFrame(()=>{let c=o,u;do c-=1,u=iu(n[c]);while(u.top>r&&c>0);a(c)})})},gg=t=>!t.header&&!t.childNodes,ru=t=>gg(t)||t.expanded!==void 0,lu=({containerRef:t,defaultHighlightedIndex:e=-1,disableHighlightOnFocus:n,highlightedIndex:o,indexPositions:r,onHighlight:s,onKeyboardNavigation:i,restoreLastFocus:l,selected:a})=>{let c=(0,Ne.useRef)(-1),[,u]=(0,Ne.useState)({}),[d,p,m]=(0,su.useControlled)({controlled:o,default:e,name:"UseKeyboardNavigation"}),f=(0,Ne.useCallback)((R,M=!1)=>{s==null||s(R),p(R),M&&(c.current=R)},[s,p]),h=(0,Ne.useCallback)(async(R,M)=>{let{id:E}=r[M],I;if(E){let S=document.getElementById(E),{current:D}=t;S&&D&&(I=R.key===jr?fg(D,S,r,M):await hg(D,S,r,M))}return I!=null?I:M},[t,r]),g=(0,Ne.useCallback)((R=Xo,M=R===Xo?-1:r.length)=>{if(r.length===0)return-1;{let E=Mi(r,a),I=mg(R,M,E,r.length),S=ou(r.length,R,I);if(S===0&&R===Uo&&!ru(r[0]))return M;for(;((R===Xo||R===Qr)&&S<r.length||(R===Uo||R===Qo)&&S>0)&&!ru(r[S]);)S=ou(r.length,R,S);return S}},[r,a]),y=(0,Ne.useRef)(!1),v=(0,Ne.useRef)(!1),C=R=>v.current=R,b=(0,Ne.useCallback)(R=>{if(v.current)v.current=!1;else if(y.current=!0,r.length===0)f(Ii);else if(d!==-1)u({});else if(l)if(c.current!==-1)f(c.current);else{let M=Mi(r,a);f(M!==-1?M:0)}else if(qn(a)){let M=Mi(r,a);f(M)}else n!==!0&&f(g())},[n,d,r,g,l,a,f]),T=(0,Ne.useCallback)(async R=>{let M=R.key===jr||R.key===vi?await h(R,d):g(R.key,d);M!==d&&f(M,!0),i==null||i(R,M)},[d,g,h,i,f]),x=(0,Ne.useCallback)(R=>{r.length>0&&Kc(R)?(R.preventDefault(),R.stopPropagation(),y.current=!0,T(R)):Yr(R)&&(y.current=!0)},[r,T]),w=(0,Ne.useMemo)(()=>({onBlur:R=>{let M=R.target.closest(".saltList"),E=R.relatedTarget;M&&!(M!=null&&M.contains(E))&&(y.current=!1,p(-1),l||(c.current=-1))},onFocus:b,onKeyDown:x,onMouseDownCapture:()=>{y.current=!1,C(!0)},onMouseMove:()=>{y.current&&(y.current=!1)},onMouseLeave:()=>{y.current=!1,C(!1),f(-1)}}),[b,x,l,p,f]);return{focusVisible:y.current?d:-1,controlledHighlighting:m,highlightedIndex:d,setHighlightedIndex:f,keyboardNavigation:y,listProps:w,setIgnoreFocus:C}};var cu=require("@salt-ds/core"),Be=require("react");var bg={},yg=["Enter"," "],Pi=t=>t&&t.disabled!==!0&&t.selectable!==!1,au=(t,e)=>{var n,o;return((n=t.index)!=null?n:0)-((o=e.index)!=null?o:0)};var uu=({defaultSelected:t,disableSelection:e=!1,highlightedIdx:n,indexPositions:o,onSelect:r,onSelectionChange:s,selected:i,selectionStrategy:l,selectionKeys:a=yg,tabToSelect:c})=>{let u=l==="deselectable",d=l==="multiple",p=l==="extended",m=(0,Be.useRef)(-1),f=(0,Be.useCallback)(S=>a.includes(S.key),[a]),h=(0,Be.useCallback)(()=>d||p?[]:null,[d,p]),[g,y]=(0,cu.useControlled)({controlled:i,default:t!=null?t:h(),name:"UseSelection",state:"selected"}),v=(0,Be.useCallback)(S=>Array.isArray(g)?g.includes(S):g===S,[g]),C=(0,Be.useCallback)(S=>S,[]),b=(0,Be.useCallback)(S=>v(S)?null:S,[v]),T=(0,Be.useCallback)(S=>{let D=v(S)?g.filter(L=>L!==S):g.concat(S);return D.sort(au),D},[v,g]),x=(0,Be.useCallback)((S,D)=>{let L=D?g:[],[A]=g.slice(-1),H=A?o.indexOf(A):0,P=Math.min(S,H),k=Math.max(S,H),N=o.slice(P,k+1),O=[...new Set([...L,...N])];return O.sort(au),O},[o,g]),w=(0,Be.useCallback)((S,D,L,A,H)=>{let P;d?P=T(L):p?H&&!A?P=T(L):A?P=x(D,H):P=[L]:u?P=b(L):P=C(L),P!==g&&y(P),r==null||r(S,L),P!==g&&s&&s(S,P)},[d,p,u,g,r,T,x,b,C,y,s]),R=(0,Be.useCallback)(S=>{let D=o[n];Pi(D)&&(f(S)||c&&S.key==="Tab")&&(S.key!=="Tab"&&S.preventDefault(),w(S,n,D,!1,S.ctrlKey||S.metaKey),p&&(m.current=n))},[o,n,f,c,w,p]),M=(0,Be.useCallback)((S,D)=>{if(p&&S.shiftKey){let L=o[D];Pi(L)&&w(S,D,L,!0)}},[p,o,w]),E=(0,Be.useCallback)(S=>{let D=o[n];!e&&Pi(D)&&(S.preventDefault(),S.stopPropagation(),w(S,n,D,S.shiftKey,S.ctrlKey||S.metaKey),p&&(m.current=n))},[e,p,n,o,w]);return{listHandlers:Gc(l)?bg:{onClick:E,onKeyDown:R,onKeyboardNavigation:M},selected:g,setSelected:y}};var pn=require("react");var du=({disableTypeToSelect:t,highlightedIdx:e,highlightItemAtIndex:n,typeToNavigate:o,items:r,applyIncrementalSearch:s=!0})=>{let i=(0,pn.useRef)(null),l=(0,pn.useRef)(""),a=(0,pn.useRef)(-1),c=(0,pn.useCallback)(d=>{if(d||!s){let p=new RegExp(`^${l.current}`,"i"),m=r.findIndex(({label:f},h)=>h>a.current&&p.test(f));m===-1&&(m=r.findIndex(({label:f},h)=>h<=a.current&&p.test(f))),m!==-1&&n(m)}else l.current="",i.current=null,a.current=-1},[s,n,r]),u=(0,pn.useCallback)(d=>{let p=a.current!==-1;(Yr(d)||p&&d.key===$c)&&o&&(d.preventDefault(),d.stopPropagation(),(a.current===-1||d.key===l.current)&&(a.current=e),i.current!==null&&(clearTimeout(i.current),i.current=null),d.key!==l.current&&(l.current+=d.key),s&&c(!0),i.current=window.setTimeout(()=>{c()},100))},[o,s,e,c]);return{onKeyDown:t?void 0:u}};var xt=require("react");var fn=require("react");var mu=["height"],mn=new Map,fu=(t,e,n)=>{switch(n){case"height":return e.height;case"clientHeight":return t.clientHeight;case"clientWidth":return t.clientWidth;case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(t.scrollHeight);case"scrollWidth":return Math.ceil(t.scrollWidth);case"width":return e.width;default:return 0}};var pu=new ResizeObserver(t=>{for(let e of t){let{target:n,borderBoxSize:o,contentBoxSize:r}=e,s=mn.get(n);if(s){let[{blockSize:i,inlineSize:l}]=o,[{blockSize:a,inlineSize:c}]=r,{onResize:u,measurements:d}=s,p=!1;for(let[m,f]of Object.entries(d)){let h=fu(n,{height:i,width:l,contentHeight:a,contentWidth:c},m);h!==f&&(p=!0,d[m]=h)}p&&u&&u(d)}}});function hn(t,e,n,o=!1){let r=(0,fn.useRef)(e),s=(0,fn.useCallback)(i=>{let{width:l,height:a}=i.getBoundingClientRect(),{clientWidth:c,clientHeight:u}=i;return r.current.reduce((d,p)=>(d[p]=fu(i,{width:l,height:a,contentHeight:u,contentWidth:c},p),d),{})},[]);(0,fn.useEffect)(()=>{let i=t.current;async function l(){mn.set(i,{measurements:{}}),await document.fonts.ready;let a=mn.get(i);if(a){let c=s(i);a.measurements=c,pu.observe(i),o&&n(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(mn.has(i))throw Error("useResizeObserver attemping to observe same element twice");l()}return()=>{i&&mn.has(i)&&(pu.unobserve(i),mn.delete(i))}},[s,t]),(0,fn.useEffect)(()=>{let i=t.current,l=mn.get(i);if(l){if(r.current!==e){r.current=e;let a=s(i);l.measurements=a}l.onResize=n}},[e,s,t,n])}var yu=require("@salt-ds/core"),hu=["height"],xg=["height","scrollHeight"],Cg=[],gu={containerOnly:[xg,Cg],withContent:[hu,hu]},vg=t=>t?gu.containerOnly:gu.withContent,bu={current:null},Tg=(t,e)=>{let{transform:n="none"}=getComputedStyle(t);if(n.startsWith("matrix")){let o=n.lastIndexOf(",");return parseInt(n.slice(o+1))}else{let o=t.offsetParent;if(o===e||e===null)return t.offsetTop;{let r=t.offsetTop;for(;o!==null&&o!==e;)r+=o.offsetTop,o=o.offsetParent;return r}}},xu=({containerRef:t,contentRef:e=bu,highlightedIdx:n=-1,indexPositions:o,stickyHeaders:r=!1})=>{let s=(0,xt.useRef)(!1),i=(0,xt.useRef)({height:0,contentHeight:0}),l=(0,xt.useCallback)(h=>{s.current=!0,t.current&&(t.current.scrollTop=h),setTimeout(()=>{s.current=!1})},[]),a=(0,xt.useCallback)(()=>l(0),[l]),c=(0,xt.useCallback)(()=>{l(i.current.contentHeight-i.current.height)},[l]),u=(0,xt.useCallback)(h=>{let g=e.current||t.current;if(h.id){let y=document.getElementById(h.id);if(y&&t.current){let{height:v}=i.current,C=y.ariaExpanded&&y.firstChild?y.firstChild:y,b=r?36:0,T=Tg(C,g),x=C.offsetHeight,{scrollTop:w}=t.current,R=w+b,M=R+v-b;if(T+x>M||T<R){let E=T+x>M?w+(T+x)-M:T-b;l(E)}}}},[t,e,l,r]);(0,yu.useIsomorphicLayoutEffect)(()=>{let{height:h,contentHeight:g}=i.current,y=o[n];if(g>h&&y){let[v]=o,[C]=o.slice(-1);y===v?a():y===C?c():u(o[n])}},[n,o,u,c,a]);let d=(0,xt.useCallback)(({height:h,scrollHeight:g})=>{typeof h=="number"&&(i.current.height=h),typeof g=="number"&&(i.current.contentHeight=g)},[]),p=(0,xt.useCallback)(({height:h})=>{typeof h=="number"&&(i.current.contentHeight=h)},[]),[m,f]=vg(e===bu);return hn(t,m,d,!0),hn(e,f,p,!0),{isScrolling:s,scrollIntoView:u}};var Ce=require("react");var ns=({allowDragDrop:t=!1,collapsibleHeaders:e,collectionHook:n,containerRef:o,contentRef:r,defaultHighlightedIndex:s,defaultSelected:i,disabled:l,disableAriaActiveDescendant:a,disableHighlightOnFocus:c,disableTypeToSelect:u,highlightedIndex:d,id:p,label:m="",listHandlers:f,onHighlight:h,onKeyboardNavigation:g,onKeyDown:y,onMoveListItem:v,onSelect:C,onSelectionChange:b,restoreLastFocus:T,selected:x,selectionStrategy:w,selectionKeys:R,stickyHeaders:M,tabToSelect:E,viewportRange:I})=>{let S=(0,Ce.useRef)(null),D=(0,Ce.useRef)(x||i),L=(Q,j)=>{var oe,le;(le=(oe=Z.listHandlers).onKeyboardNavigation)==null||le.call(oe,Q,j),g==null||g(Q,j)},A=(0,Ce.useCallback)((Q,j)=>{C&&((0,Ce.isValidElement)(j.value)?C(Q,j.label):j.value!==null&&C(Q,j.value))},[C]),H=(0,Ce.useCallback)((Q,j)=>{b&&b(Q,Array.isArray(j)?j.map(oe=>(0,Ce.isValidElement)(oe.value)?oe.label:oe.value):j&&((0,Ce.isValidElement)(j.value)?j.label:j.value))},[b]),{highlightedIndex:P,listProps:{onKeyDown:k,onMouseMove:N,...O},setHighlightedIndex:F,...$}=lu({containerRef:o,defaultHighlightedIndex:s,disableHighlightOnFocus:c,highlightedIndex:d,indexPositions:n.data,label:m,onHighlight:h,onKeyboardNavigation:L,restoreLastFocus:T,selected:D.current}),U=Wc({collapsibleHeaders:e,highlightedIdx:P,collectionHook:n}),W=(0,Ce.useCallback)(()=>{F(-1)},[F]),Z=uu({defaultSelected:i,highlightedIdx:P,indexPositions:n.data,label:m,onSelect:A,onSelectionChange:H,selected:x,selectionStrategy:w,selectionKeys:R,tabToSelect:E}),V=(0,Ce.useCallback)((Q,j,oe)=>{let le=n.data.indexOf(Q);return le===j?oe:le<Math.min(j,oe)||le>Math.max(j,oe)?le:j<le?le-1:le+1},[n.data]),z=(0,Ce.useCallback)((Q,j,oe)=>Array.isArray(Q)?Q.map(le=>V(le,j,oe)):V(Q,j,oe),[V]),K=(0,Ce.useCallback)((Q,j)=>{qn(Z.selected)&&(S.current=z(Z.selected,Q,j)),v==null||v(Q,j),F(-1)},[Z.selected,v,F,z]),G=(0,Ce.useCallback)(Q=>{F(Q)},[F]),{setSelected:se}=Z;(0,Ce.useEffect)(()=>{let{current:Q}=S;if(qn(Q)){let j=Array.isArray(Q)?Q.map(oe=>n.data[oe]):n.data[Q];se(j)}},[n.data,se]),(0,Ce.useEffect)(()=>{qn(D.current)&&se(Array.isArray(D.current)?[]:null)},[se,n.data]);let{onMouseDown:X,isDragging:Y,isScrolling:q,...ne}=Fn({allowDragDrop:t,draggableClassName:"list-item",orientation:"vertical",containerRef:o,id:p,itemQuery:".vuuListItem",onDragStart:W,onDrop:K,onDropSettle:G,viewportRange:I}),{onKeyDown:J}=du({disableTypeToSelect:u,highlightedIdx:P,highlightItemAtIndex:F,typeToNavigate:!0,items:n.data}),B=(0,Ce.useCallback)(Q=>{var j,oe,le;Q.defaultPrevented||J==null||J(Q),k(Q),Q.defaultPrevented||(oe=(j=Z.listHandlers).onKeyDown)==null||oe.call(j,Q),Q.defaultPrevented||(le=U==null?void 0:U.onKeyDown)==null||le.call(U,Q),Q.defaultPrevented||y==null||y(Q)},[U,k,y,Z.listHandlers,J]),{isScrolling:te,scrollIntoView:ue}=xu({containerRef:o,contentRef:r,highlightedIdx:P,indexPositions:n.data,stickyHeaders:M}),ie=te.current||q.current,pe=(0,Ce.useCallback)(Q=>{if(!ie&&!l&&!Y){N();let j=_c(Q.target);if(j!==-1&&j!==P){let oe=n.data[j];!oe||oe.disabled?F(-1):F(j)}}},[Y,ie,l,F,N,P,n.data]),be=()=>{var Q;return P===void 0||P===-1||a||(Q=n.data[P])==null?void 0:Q.id};D.current=Z.selected;let fe={"aria-activedescendant":be(),onBlur:O.onBlur,onFocus:O.onFocus,onKeyDown:B,onMouseDown:X,onMouseDownCapture:O.onMouseDownCapture,onMouseLeave:O.onMouseLeave},Te=f||{onClick:Z.listHandlers.onClick,onMouseMove:pe};return{focusVisible:$.focusVisible,controlledHighlighting:$.controlledHighlighting,highlightedIndex:P,keyboardNavigation:$.keyboardNavigation,listHandlers:Te,listItemHeaderHandlers:U,listControlProps:fe,scrollIntoView:ue,selected:Z.selected,setHighlightedIndex:F,setIgnoreFocus:$.setIgnoreFocus,setSelected:Z.setSelected,...ne}};var Cu=require("@salt-ds/core"),gn=require("react");var Sg=(t,e,n=0)=>t===0?0:n===0?t*e:t-1*(e+n)+e,os=({borderless:t,displayedItemCount:e,getItemHeight:n,height:o,itemCount:r,itemGapSize:s,itemHeight:i,rootRef:l,rowHeightRef:a})=>{let[c,u]=(0,gn.useState)(36),[d,p]=(0,gn.useState)(),[m,f]=(0,gn.useMemo)(()=>{let g=t?0:2,y=i!=null?i:c,v=Sg(r,y,s);if(o!==void 0&&typeof o=="number"||typeof o=="string")return[v,o];let C=Math.min(e,r)||e;return typeof n=="function"?g+=Array(C).fill(0).reduce((T,x,w)=>T+n(w)+s,0)-s:g+=C*Number(y)+(C-1)*s,[v,g,d]},[t,d,e,n,o,r,s,i,c]);(0,Cu.useIsomorphicLayoutEffect)(()=>{if(l.current){let{clientHeight:g}=l.current;p(g)}},[l]);let h=(0,gn.useCallback)(({height:g})=>{typeof g=="number"&&u(g)},[]);return hn(a,mu,h,!0),{contentHeight:m,listClientHeight:d,listItemHeight:c,listHeight:f}};var Tu=require("@salt-ds/core"),Ct=require("react"),vu=(t,e,n,o)=>{let r=Math.ceil(e/o),s=Math.floor(t/o),i=Math.ceil(s+r-1);return{atStart:s===0,atEnd:i===n-1,from:s,to:i}},rs=({containerSize:t,itemCount:e,itemGapSize:n=0,itemSize:o,onViewportScroll:r})=>{let s=(0,Ct.useRef)(0),i=(0,Ct.useRef)(0),l=(0,Ct.useRef)(0),a=(0,Ct.useMemo)(()=>vu(l.current,t,e,o+n),[t,e,o,n]),[c,u]=(0,Ct.useState)(a);return(0,Tu.useIsomorphicLayoutEffect)(()=>{u(a)},[a]),{onVerticalScroll:(0,Ct.useCallback)(p=>{let m=p.target.scrollTop;if(m!==l.current){l.current=m;let f=o+n,h=vu(m,t,e,f);(h.from!==s.current||h.to!==i.current)&&(s.current=h.from,i.current=h.to,r==null||r(h.from,h.to),u(h))}},[o,n,t,e,r]),viewportRange:c}};var nt=require("react/jsx-runtime"),wu=require("react"),wg="No data to display",Yo="vuuList",vP=(0,vt.forwardRef)(function({ListItem:e=wr,ListPlaceholder:n,allowDragDrop:o,borderless:r,children:s,className:i,collapsibleHeaders:l=!1,defaultHighlightedIndex:a,defaultSelected:c,disabled:u=!1,disableFocus:d=!1,disableTypeToSelect:p,displayedItemCount:m=10,emptyMessage:f,focusVisible:h,getItemHeight:g,getItemId:y,height:v,highlightedIndex:C,id:b,itemGapSize:T=0,itemHeight:x,itemTextHighlightPattern:w,itemToString:R=Zn,listHandlers:M,maxHeight:E,maxWidth:I,minHeight:S,minWidth:D,onMoveListItem:L,onSelect:A,onSelectionChange:H,onHighlight:P,restoreLastFocus:k,selected:N,selectionStrategy:O,checkable:F=O==="multiple",scrollingApiRef:$,selectionKeys:U,showEmptyMessage:W=!1,source:Z,style:V,stickyHeaders:z,tabToSelect:K,width:G,...se},X){let Y=Kn(b),q=(0,vt.useRef)(null),ne=(0,vt.useRef)(null),J=(0,vt.useRef)(null),B=Jr({id:Y,label:"List",source:Z,children:s,options:{collapsibleHeaders:l,getItemId:y,itemToString:R}}),{listClientHeight:te,listHeight:ue,listItemHeight:ie}=os({borderless:r,displayedItemCount:m,getItemHeight:g,height:v,itemCount:B.data.length,itemGapSize:T,itemHeight:x,rootRef:q,rowHeightRef:J}),{onVerticalScroll:pe,viewportRange:be}=rs({containerSize:te!=null?te:typeof ue=="number"?ue:0,itemCount:B.data.length,itemGapSize:T,itemSize:ie}),{draggable:fe,draggedItemIndex:Te,dropIndicator:Q,focusVisible:j,highlightedIndex:oe,listControlProps:le,listHandlers:Se,listItemHeaderHandlers:Ye,scrollIntoView:Ze,selected:Ft}=ns({allowDragDrop:o,collapsibleHeaders:l,collectionHook:B,containerRef:q,contentRef:ne,defaultHighlightedIndex:a,defaultSelected:B.itemToCollectionItem(c),disabled:u,disableTypeToSelect:p,highlightedIndex:C,id:Y,label:Y,listHandlers:M,onMoveListItem:L,onSelect:A,onSelectionChange:H,onHighlight:P,restoreLastFocus:k,selected:B.itemToCollectionItem(N),selectionStrategy:O,selectionKeys:U,stickyHeaders:z,tabToSelect:K,viewportRange:be});ts({collectionHook:B,forwardedRef:$,scrollableRef:q,scrollIntoView:Ze});let rn=h!=null?h:j,Rt=function(ye,$e,Ue,Pe){let sn=(0,wu.createElement)(e,{...Ye,className:(0,ss.default)(`${Yo}Header`,{focusVisible:l&&rn===ye.value}),"aria-expanded":Pe,"data-idx":l?ye.value:void 0,"data-index":l?ye.value:void 0,"data-highlighted":ye.value===oe||void 0,"data-sticky":z,"data-selectable":!1,id:$e,key:`header-${ye.value}`,label:Ue});return ye.value+=1,sn},Do=g===void 0?()=>x:g;function vm(Dt,ye,$e){var br,yl;let{disabled:Ue,value:Pe,id:sn,label:hr}=ye,gr=(0,vt.isValidElement)(Pe),Mo={className:(0,ss.default)((br=Pe==null?void 0:Pe.props)==null?void 0:br.className,{vuuHighlighted:$e.value===oe,vuuFocusVisible:rn===$e.value,["vuuDraggable-dragAway"]:Te===$e.value}),disabled:Ue||u,id:sn,item:gr?void 0:(yl=ye==null?void 0:ye.value)!=null?yl:void 0,itemHeight:Do($e.value),itemTextHighlightPattern:w,key:sn,"data-idx":$e.value,"data-index":$e.value,label:hr,role:"option",selected:qr(Ft,ye),showCheckbox:F};Dt.push(gr?(0,vt.cloneElement)(Pe,Mo):(0,nt.jsx)(e,{...Mo})),$e.value+=1}let Tm=function(ye,$e,Ue){let{count:Pe=0,id:sn,expanded:hr,label:gr=""}=$e[Ue.value],Mo=Rt(Ue,sn,gr,hr),br=hr!==!1?[Mo].concat(bl($e,Ue,Ue.value+Pe)||[]):Mo;ye.push((0,nt.jsx)("div",{role:"group",children:br},sn))},bl=(Dt,ye={value:0},$e=Dt.length)=>{let Ue=[];for(;ye.value<$e;){let Pe=Dt[ye.value];Pe.header?Ue.push(Rt(ye,Pe.id,Pe.label,Pe.expanded===!1)):Pe.childNodes?Tm(Ue,Dt,ye):vm(Ue,Pe,ye)}return Ue};function Sm(){return f||W?(0,nt.jsx)("span",{className:`${Yo}-empty-message`,children:f!=null?f:wg}):null}let wm=()=>{if(B.data.length){let Dt=B.data;return bl(Dt)}else Sm()},Em="auto",Rm={"--list-item-gap":T?`${T}px`:void 0,minWidth:D,minHeight:S,width:G!=null?G:"100%",height:v!=null?v:"100%",maxWidth:I!=null?I:G,maxHeight:E!=null?E:ue};return(0,nt.jsxs)("div",{"aria-multiselectable":O==="multiple"||O==="extended"||O==="extended-multi-range"||void 0,...se,...Se,...le,className:(0,ss.default)(Yo,i,{[`${Yo}-collapsible`]:l,vuuFocusVisible:oe===Ii}),id:`${Y}`,ref:(0,Su.useForkRef)(q,X),role:"listbox",onScroll:pe,style:{...V,...Rm},tabIndex:u||d?void 0:0,children:[(0,nt.jsx)(Sr,{ref:J}),B.data.length===0&&n!==void 0?(0,nt.jsx)(nt.Fragment,{children:(0,nt.jsx)(n,{})}):(0,nt.jsxs)("div",{className:`${Yo}-scrollingContentContainer`,ref:ne,style:{height:Em},children:[wm(),Q,fe]})]})});var eo=require("@salt-ds/core");function Eu(t){var e,n,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e<t.length;e++)t[e]&&(n=Eu(t[e]))&&(o&&(o+=" "),o+=n);else for(e in t)t[e]&&(o&&(o+=" "),o+=e);return o}function Li(){for(var t,e,n=0,o="";n<arguments.length;)(t=arguments[n++])&&(e=Eu(t))&&(o&&(o+=" "),o+=e);return o}var yn=require("react");var Du=require("react");var is=class{constructor(e=0,n=0){this.keys=new Map,this.free=[],this.nextKeyValue=0,this.reset(e,n)}next(){return this.free.length?this.free.pop():this.nextKeyValue++}reset(e,n){this.keys.forEach((r,s)=>{(s<e||s>=n)&&(this.free.push(r),this.keys.delete(s))});let o=n-e;this.keys.size+this.free.length>o&&(this.free.length=o-this.keys.size);for(let r=e;r<n;r++)if(!this.keys.has(r)){let s=this.next();this.keys.set(r,s)}}keyFor(e){return this.keys.get(e)}};var Eg=([t],[e])=>t-e,Ru=5,Mu=({data:t,listItemGapSize:e=0,listItemHeight:n,viewportRange:o})=>{let r=(0,Du.useMemo)(()=>new is(0,1),[]),s=n+e,i=Math.max(0,o.from-Ru),l=Math.min(t.length,o.to+Ru);return r.reset(i,l),t.slice(i,l).map((c,u)=>[r.keyFor(u+i),(u+i)*s,u+i+1,c]).sort(Eg)};var bn=require("react/jsx-runtime"),Rg="No data to display",ls=(0,eo.makePrefixer)("saltList"),Dg=(0,yn.memo)(wr),$P=(0,yn.forwardRef)(function({borderless:e,children:n,className:o,collapsibleHeaders:r=!1,defaultHighlightedIndex:s,defaultSelected:i,disabled:l=!1,disableFocus:a=!1,disableTypeToSelect:c,displayedItemCount:u=10,emptyMessage:d,getItemHeight:p,getItemId:m,height:f,highlightedIndex:h,id:g,itemGapSize:y=0,itemHeight:v,itemTextHighlightPattern:C,itemToString:b,maxHeight:T,maxWidth:x,minHeight:w,minWidth:R,onSelect:M,onSelectionChange:E,onViewportScroll:I,onHighlight:S,restoreLastFocus:D,selected:L,selectionStrategy:A,scrollingApiRef:H,selectionKeys:P,showEmptyMessage:k=!1,source:N,style:O,stickyHeaders:F,tabToSelect:$,width:U,...W},Z){let V=(0,eo.useIdMemo)(g),z=(0,yn.useRef)(null),K=(0,yn.useRef)(null),G=Jr({id:V,label:"List",source:N,children:n,options:{collapsibleHeaders:r,getItemId:m,itemToString:b}}),{contentHeight:se,listItemHeight:X,listHeight:Y}=os({borderless:e,displayedItemCount:u,height:f,itemCount:G.data.length,itemGapSize:y,itemHeight:v,rootRef:z,rowHeightRef:K}),{focusVisible:q,highlightedIndex:ne,listControlProps:J,listHandlers:B,scrollIntoView:te,selected:ue}=ns({collapsibleHeaders:r,collectionHook:G,containerRef:z,defaultHighlightedIndex:s,defaultSelected:G.itemToCollectionItem(i),disabled:l,disableTypeToSelect:c,highlightedIndex:h,label:V,onSelect:M,onSelectionChange:E,onHighlight:S,restoreLastFocus:D,selected:G.itemToCollectionItem(L),selectionStrategy:A,selectionKeys:P,stickyHeaders:F,tabToSelect:$}),{onVerticalScroll:ie,viewportRange:pe}=rs({containerSize:typeof Y=="number"?Y:0,itemCount:G.data.length,itemGapSize:y,itemSize:X});console.log({viewPortRange:pe});let be=Mu({data:G.data,listItemGapSize:y,listItemHeight:X,viewportRange:pe});ts({collectionHook:G,forwardedRef:H,scrollableRef:z,scrollIntoView:te});function fe(le,Se,Ye){let[Ze,Ft,rn,Rt]=Se,Do=rn-1;le.push((0,bn.jsx)(Dg,{"aria-setsize":G.data.length,"aria-posinset":rn,className:Li(o,{saltHighlighted:Do===ne,saltFocusVisible:q===Do}),"data-idx":Do,item:Rt,label:Rt.label,"data-offset":Ft,role:"option",selected:qr(ue,Rt),id:Rt.id,translate3d:Ft},Ze)),Ye.value+=1}function Te(le,Se={value:0},Ye=le.length){let Ze=[];for(;Se.value<Ye;){let Ft=le[Se.value];fe(Ze,Ft,Se)}return Ze}function Q(){return d||k?(0,bn.jsx)("span",{className:ls("empty-message"),children:d!=null?d:Rg}):null}let j=()=>{if(be.length)return Te(be);Q()},oe={"--list-item-gap":y?`${y}px`:void 0,minWidth:R,minHeight:w,width:U!=null?U:"100%",height:f!=null?f:"100%",maxWidth:x!=null?x:U,maxHeight:T!=null?T:Y};return(0,bn.jsx)("div",{...W,...B,...J,className:Li(ls(),o,ls("virtualized")),id:`${V}`,ref:(0,eo.useForkRef)(z,Z),role:"listbox",onScroll:ie,style:{...O,...oe},tabIndex:l||a?void 0:0,children:(0,bn.jsxs)("div",{className:ls("scrollingContentContainer"),style:{height:se},children:[(0,bn.jsx)(Sr,{ref:K}),j()]})})});var Wu=require("@salt-ds/core"),_u=_(require("classnames")),no=_(require("react"));var Le=require("react");var Iu=t=>typeof t=="object"&&t!==null&&"tabIndex"in t&&typeof t.tabIndex=="number",Pu=t=>({label:"Close",location:"tab",action:"close-tab",options:t}),Lu=t=>({label:"Rename",location:"tab",action:"rename-tab",options:t});var Mg=t=>{if(t){let e=parseInt(t.dataset.index||"");if(!isNaN(e))return e}return-1},ku=(t,e)=>{if(t){let n=t.querySelector(`[data-index]:has(${e})`);return Mg(n)}return-1},ki=t=>ku(t,'[aria-selected="true"]'),Hu=t=>ku(t,".vuuEditableLabel-editing");var to=require("@vuu-ui/vuu-utils"),Pt=require("react"),Au=(t,e,n="horizontal")=>{let o=(0,Pt.useRef)(!1),r=(0,Pt.useCallback)(()=>{o.current=!0},[]),s=(0,Pt.useCallback)(()=>{o.current=!1},[]),i=(0,Pt.useCallback)(()=>{var a,c;(a=t.current)==null||a.style.setProperty("--tab-thumb-transition","none"),(c=t.current)==null||c.removeEventListener("transitionend",i)},[t]),l=(0,Pt.useRef)(-1);return(0,Pt.useMemo)(()=>{var u,d;let a=0,c=0;if(l.current!==-1){let p=(u=t.current)==null?void 0:u.querySelector(".vuuTab-selected"),m=(d=t.current)==null?void 0:d.querySelector(`[data-index="${e}"] .vuuTab`),{positionProp:f,sizeProp:h}=to.MEASURES[n];if(p&&m&&!o.current){let{[f]:g,[h]:y}=p.getBoundingClientRect(),{[f]:v}=m.getBoundingClientRect();if((0,to.isValidNumber)(g)&&(0,to.isValidNumber)(v)&&(0,to.isValidNumber)(y)){console.log({orientation:n,positionProp:f,oldPosition:g,newPosition:v}),a=g-v,c=y;let b=Math.abs(a/(n==="horizontal"?1100:700));requestAnimationFrame(()=>{var T,x,w,R;(T=t.current)==null||T.style.setProperty("--tab-thumb-offset","0px"),(x=t.current)==null||x.style.setProperty("--tab-thumb-size","100%"),(w=t.current)==null||w.style.setProperty("--tab-thumb-transition",`all ${b}s ease`),(R=t.current)==null||R.addEventListener("transitionend",i)})}}}return l.current=e,o.current?{containerStyle:{"--tab-thumb-offset":"0px","--tab-thumb-size":"100%"},resumeAnimation:s,suspendAnimation:r}:{containerStyle:{"--tab-thumb-offset":`${a}px`,"--tab-thumb-size":c?`${c}px`:void 0},resumeAnimation:s,suspendAnimation:r}},[e,t,n,i,s,r])};var Nu=require("@salt-ds/core"),zu=require("@vuu-ui/vuu-utils"),De=require("react"),ze=require("@vuu-ui/vuu-utils");var Fu={horizontal:{[ze.Home]:"start",[ze.End]:"end",[ze.ArrowLeft]:"bwd",[ze.ArrowRight]:"fwd"},vertical:{[ze.Home]:"start",[ze.End]:"end",[ze.ArrowUp]:"bwd",[ze.ArrowDown]:"fwd"}},Ig=(t,e="horizontal")=>Fu[e][t]!==void 0,Pg=t=>t===ze.ArrowDown;function Ou(t,e,n){return e==="start"?0:e==="end"?t-1:e==="bwd"?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var Lg=t=>t!==null&&!t.classList.contains("wrapped"),as=(t,e)=>t?t.querySelector(`[data-index="${e}"]`):null,Vu=({containerRef:t,defaultHighlightedIdx:e=-1,highlightedIdx:n,keyBoardActivation:o,orientation:r,selectedIndex:s=0})=>{let i=o==="manual",l=(0,De.useRef)(!1),a=(0,De.useRef)(-1),[c,u]=(0,De.useState)(!1),[,d]=(0,De.useState)({}),[p,m]=(0,Nu.useControlled)({controlled:n,default:e,name:"UseKeyboardNavigation"}),f=(0,De.useCallback)(S=>{m(a.current=S)},[m]),h=(0,De.useRef)(!1),g=(0,De.useCallback)((S,D=!1,L,A=70)=>{f(S),L===!0&&!h.current&&(h.current=!0);let H=()=>{let P=as(t.current,S);if(P){let k=(0,zu.getFocusableElement)(P);k==null||k.focus()}};D?H():setTimeout(H,A)},[t,f]),y=S=>{if(a.current===-1&&S.target.tabIndex!==-1){let D=Hu(t.current);D!==-1?requestAnimationFrame(()=>{f(D)}):setTimeout(()=>{a.current===-1&&s!==null&&f(s)},200)}},v=(0,De.useCallback)(()=>{var S,D;return(D=(S=t.current)==null?void 0:S.querySelectorAll("[data-index]").length)!=null?D:0},[t]),C=(0,De.useCallback)((S="fwd",D)=>{let L=v(),H=Ou(L,S,typeof D=="number"?D:L),P=S==="start"?"fwd":S==="end"?"bwd":S;for(;(P==="fwd"&&H<L||P==="bwd"&&H>0)&&!Lg(as(t.current,H));){let k=Ou(L,P,H);if(k===H)break;H=k}return H},[t,v]),b=(0,De.useCallback)((S,D=!1)=>{let L=Fu[r][S.key],A=C(L,p);A!==p?i&&g(A,!0):D&&d({})},[p,i,C,g,r]),T=(0,De.useCallback)(()=>{let S=as(t.current,p);return S?S.querySelector(".vuuPopupMenu")!=null:!1},[t,p]),x=(0,De.useCallback)(()=>{let S=as(t.current,p),D=S==null?void 0:S.querySelector(".vuuPopupMenu");if(D){let L=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});D.dispatchEvent(L)}return!1},[t,p]),w=(0,De.useCallback)(S=>{v()>0&&Ig(S.key,r)?(S.preventDefault(),h.current?b(S):(h.current=!0,b(S,!0))):Pg(S.key)&&T()&&x()},[x,v,T,b,r]),R=(S,D)=>{f(D)},M=(0,De.useCallback)(()=>{c||(u(!0),l.current?l.current=!1:h.current=!0)},[c]),E=(0,De.useCallback)(()=>{c||(l.current=!0),h.current=!1},[c]);return{containerProps:{onBlur:S=>{let D=S.target.closest(".vuuTabstrip"),L=S.relatedTarget;D&&!(D!=null&&D.contains(L))&&(f(-1),u(!1))},onMouseDownCapture:E,onFocus:M,onMouseLeave:()=>{h.current=!0,f(-1),l.current=!1}},focusVisible:h.current?p:-1,focusIsWithinComponent:c,highlightedIdx:p,focusTab:g,onClick:R,onFocus:y,onKeyDown:w,setHighlightedIdx:f}};var $u=require("@salt-ds/core"),Zo=require("react"),kg=["Enter"," "],Hg=t=>t&&t.matches('[class*="vuuTab "]'),Bu=({defaultSelected:t,highlightedIdx:e,onSelectionChange:n,selected:o})=>{let[r,s,i]=(0,$u.useControlled)({controlled:o,default:t!=null?t:0,name:"Tabstrip",state:"value"}),l=(0,Zo.useCallback)(d=>kg.includes(d.key),[]),a=(0,Zo.useCallback)(d=>{s(d),n==null||n(d)},[n,s]),c=(0,Zo.useCallback)(d=>{let p=d.target;l(d)&&e!==r&&Hg(p)&&(d.stopPropagation(),d.preventDefault(),a(e))},[l,e,r,a]),u=(0,Zo.useCallback)((d,p)=>{p!==r&&a(p)},[a,r]);return{activateTab:a,isControlled:i,onClick:u,onKeyDown:c,selected:r}};var Ag=new Set(["Enter"," "]),Og=t=>Ag.has(t),Ng=(t,e)=>t?t.querySelector(`[data-index="${e}"]`):null,Ku=({activeTabIndex:t,allowDragDrop:e,animateSelectionThumb:n,containerRef:o,onActiveChange:r,onAddTab:s,onCloseTab:i,onExitEditMode:l,onMoveTab:a,orientation:c,keyBoardActivation:u})=>{let d=(0,Le.useRef)(t),{focusTab:p,highlightedIdx:m,onClick:f,onKeyDown:h,setHighlightedIdx:g,...y}=Vu({containerRef:o,keyBoardActivation:u,orientation:c,selectedIndex:d.current}),{activateTab:v,onClick:C,onKeyDown:b,selected:T}=Bu({highlightedIdx:m,onSelectionChange:r,selected:t});d.current=T;let{containerStyle:x,resumeAnimation:w,suspendAnimation:R}=Au(o,n?T:-1,c),M=(0,Le.useCallback)((V,z)=>{let{current:K}=d;console.log(`useTabstrip handleDrop ${V} - ${z} ${K}`),a==null||a(V,z);let G=-1;z!==-1&&(K===V?G=z:V>K&&z<=K?G=K+1:V<K&&z>=K&&(G=K-1),G!==-1&&(R(),v(G),requestAnimationFrame(w)),p(z,!1,!1,350))},[p,a,w,v,R]),{onMouseDown:E,...I}=Fn({allowDragDrop:e,containerRef:o,draggableClassName:`tabstrip-${c}`,onDrop:M,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"}),S=(0,Le.useCallback)((V,z,K,G)=>{console.log(`handleExitEditMode ${V} ${z} ${K} ${G}`),l==null||l(V,z,K,G),K||p(G,!1,!0)},[p,l]),D=(0,Le.useCallback)((V,z)=>{f(V,z),C(V,z)},[f,C]),L=(0,Le.useCallback)((V=m)=>{let z=Ng(o.current,V);if(z)return z.querySelector(".vuuEditableLabel")},[o,m]),A=(0,Le.useCallback)((V=m)=>{let z=L(V);return z?z.classList.contains("vuuEditableLabel-editing"):!1},[L,m]),H=(0,Le.useCallback)((V=m)=>{let z=L(V);if(z){let K=new MouseEvent("dblclick",{view:window,bubbles:!0,cancelable:!0});z.dispatchEvent(K)}},[L,m]),P=(0,Le.useCallback)(V=>{h(V),V.defaultPrevented||b(V),!V.defaultPrevented&&Og(V.key)&&H()},[H,h,b]),k=(0,Le.useCallback)(V=>{let z=ki(o.current),K=z>V?z-1:z===V?0:z;return R(),i==null||i(V,K),setTimeout(()=>{w()},200),!0},[o,i,w,R]),N=(0,Le.useCallback)(V=>(H(V),!0),[H]),O=(0,Le.useCallback)(V=>{if(Iu(V.options))switch(V.menuId){case"close-tab":return k(V.options.tabIndex);case"rename-tab":return N(V.options.tabIndex);default:console.log(`tab menu action ${V.menuId}`)}return!1},[k,N]),F=(0,Le.useCallback)(()=>{A()?g(m):p(m)},[m,p,g,A]),$=(0,Le.useCallback)(V=>{let z=parseInt(V.index);isNaN(z)||v(z)},[v]),U={onFocus:y.onFocus,onKeyDown:P},W=(0,Le.useCallback)(()=>{s==null||s(),requestAnimationFrame(()=>{let V=ki(o.current);V!==-1&&p(V)})},[o,p,s]),Z={onClick:D,onKeyDown:P,onExitEditMode:S,onMenuAction:O,onMenuClose:F,onMouseDown:E};return{activeTabIndex:T,containerStyle:x,focusVisible:y.focusVisible,containerProps:{...y.containerProps,onSwitchWrappedItemIntoView:$},navigationProps:U,onClickAddTab:W,tabProps:Z,...I}};var oo=require("react/jsx-runtime"),Gu=require("react"),Hi="vuuTabstrip",Ic=({activeTabIndex:t,allowAddTab:e,allowCloseTab:n,allowDragDrop:o=!1,allowRenameTab:r=!1,animateSelectionThumb:s=!1,children:i,className:l,id:a,keyBoardActivation:c="manual",location:u,onActiveChange:d,onAddTab:p,onCloseTab:m,onExitEditMode:f,onMoveTab:h,orientation:g="horizontal",showTabMenuButton:y,style:v,...C})=>{let b=(0,no.useRef)(null),{activeTabIndex:T,focusVisible:x,containerStyle:w,draggedItemIndex:R,onClickAddTab:M,tabProps:E,...I}=Ku({activeTabIndex:t,allowDragDrop:o,animateSelectionThumb:s,containerRef:b,keyBoardActivation:c,onActiveChange:d,onAddTab:p,onCloseTab:m,onExitEditMode:f,onMoveTab:h,orientation:g}),S=Kn(a),D=(0,_u.default)(Hi,`${Hi}-${g}`,l),L=v||w?{...v,...w}:void 0,A=(0,no.useMemo)(()=>Bn(i).map((H,P)=>{let{id:k=`${S}-tab-${P}`,closeable:N=n,editable:O=r,showMenuButton:F=y}=H.props,$=P===T;return no.default.cloneElement(H,{...E,...I.navigationProps,closeable:N,"data-overflow-priority":$?"1":void 0,dragging:R===P,editable:O,focusVisible:x===P,id:k,index:P,key:P,location:u,selected:$,showMenuButton:F,tabIndex:$?0:-1})}).concat(e?(0,Gu.createElement)(Wu.Button,{...I.navigationProps,"aria-label":"Create Tab",className:`${Hi}-addTabButton`,"data-icon":"add","data-overflow-priority":"1",key:"addButton",onClick:M,variant:"secondary",tabIndex:-1}):[]),[T,e,n,r,i,x,S,u,M,y,E,R,I.navigationProps]);return(0,oo.jsxs)(oo.Fragment,{children:[(0,oo.jsx)(wc,{...C,...I.containerProps,className:D,height:28,id:S,orientation:g,overflowIcon:"more-horiz",ref:b,style:L,children:A}),I.draggable]})};var qu=require("@salt-ds/core"),Ju=_(require("classnames")),vn=require("react");var Uu=require("@vuu-ui/vuu-popups"),Xu=require("react"),Qu=_(require("classnames"));var Yu=require("react/jsx-runtime"),zg="vuuTabMenu",ju=({allowClose:t,allowRename:e,location:n,onMenuAction:o,onMenuClose:r,index:s})=>{let[i,l]=(0,Xu.useMemo)(()=>[(a,c)=>{let u=[];return e&&u.push(Lu(c)),t&&u.push(Pu(c)),u},{tabIndex:s}],[t,e,s]);return(0,Yu.jsx)(Uu.PopupMenu,{className:zg,menuBuilder:i,menuActionHandler:o,menuLocation:(0,Qu.default)("tab",n),menuOptions:l,onMenuClose:r,tabIndex:-1})};var Cn=require("react/jsx-runtime"),xn="vuuTab",Zu=()=>{},Pc=(0,vn.forwardRef)(function({ariaControls:e,children:n,className:o,closeable:r=!1,dragging:s,editable:i=!1,editing:l,focusVisible:a,index:c=-1,label:u,location:d,onClick:p,onClose:m,onEnterEditMode:f=Zu,onExitEditMode:h=Zu,onFocus:g,onKeyUp:y,onMenuAction:v,onMenuClose:C,orientation:b,selected:T,showMenuButton:x=r||i,tabIndex:w,...R},M){if(x&&typeof v!="function")throw Error("Tab onMenuAction must be provided if showMenuButton is set");let E=(0,vn.useRef)(null),I=(0,vn.useRef)(null),S=(0,qu.useForkRef)(M,E),D=(0,vn.useCallback)(k=>{l||(k.preventDefault(),p==null||p(k,c))},[l,c,p]),L=(k="",N="",O=!0)=>h(k,N,O,c),A=k=>{switch(k.key){case"Backspace":case"Delete":r&&(k.stopPropagation(),m&&m(c));break;default:y&&y(k,c)}},H=()=>i?(0,Cn.jsx)(Vn,{editing:l,defaultValue:u,onEnterEditMode:f,onExitEditMode:L,ref:I},u):u,P=k=>{if(I.current){let O=I.current.querySelector(".vuuEditableLabel-input");O==null||O.focus()}g==null||g(k)};return(0,Cn.jsxs)("div",{...R,"aria-controls":e,"aria-selected":T,className:(0,Ju.default)(xn,{[`${xn}-closeable`]:r,"vuuDraggable-dragAway":s,[`${xn}-editing`]:l,[`${xn}-selected`]:T||void 0,[`${xn}-vertical`]:b==="vertical",vuuFocusVisible:a}),onClick:D,onFocus:P,onKeyUp:A,ref:S,role:"tab",tabIndex:w,children:[(0,Cn.jsx)("div",{className:`${xn}-main`,children:(0,Cn.jsx)("span",{className:`${xn}-text`,"data-text":i?void 0:u,children:n!=null?n:H()})}),x?(0,Cn.jsx)(ju,{allowClose:r,allowRename:i,location:d,onMenuAction:v,onMenuClose:C,index:c}):null]})});var fs=require("@salt-ds/core"),ms=_(require("classnames")),hs=require("react");function Fg(t){var e;if(t){let n=t.dataset.idx;if(n)return parseInt(n,10);if(n=(e=t.ariaPosInSet)!=null?e:"-1")return parseInt(n,10)-1}}var Ai=t=>t.closest("[data-idx],[aria-posinset]");var ed=t=>Fg(Ai(t));var ro=require("react"),Vg=new Set(["/","-","."]),$g=t=>Vg.has(t),td=(t,e)=>e.startsWith(t)&&$g(e[t.length]),nd=(t,e="root",{collapsibleHeaders:n=void 0,defaultExpanded:o=!1,revealSelected:r=!1}={})=>{let s=(p,m,f)=>{if(p.childNodes)return p.childNodes.length;if(p.header){let h=f+1,g=0;for(;h<m.length&&!m[h].header;)g++,h++;return g}else return 0},i=(0,ro.useCallback)(p=>Array.isArray(r)?r.some(m=>td(p,m)):o,[o,r]),l=(0,ro.useCallback)((p,m,f=1,h="",g=[],y=[])=>{let v=0;return p.forEach((C,b,T)=>{var L;let x=C.header&&n,w=C.childNodes&&n===!1,R=!C.childNodes||C.childNodes.length===0,M=w||R&&!x,E=h?`${h}.${b}`:`${b}`,I=(L=C.id)!=null?L:`${e}-${E}`,S=M?void 0:i(I),D={...C,childNodes:void 0,id:I,count:!w&&S===void 0?0:s(C,T,b),expanded:S,index:m.index,level:f};if(g.push(D),y.push(p[b]),v+=1,m.index+=1,C.childNodes){let[A,H]=l(C.childNodes,m,f+1,E,[],y);D.childNodes=H,(S===!0||w)&&(v+=A)}}),[v,g,y]},[n,e,i]),[a,c,u]=(0,ro.useMemo)(()=>l(t,{index:0}),[l,t]),d=(0,ro.useCallback)((p,m=c)=>{let f=m.find(h=>{var g;return h.id===p||((g=h==null?void 0:h.childNodes)==null?void 0:g.length)&&td(h.id,p)});if((f==null?void 0:f.id)===p)return u[f.index];if(f)return d(p,f.childNodes)},[u,c]);return[a,c,d]};var Qt=require("react"),sd=require("@salt-ds/core"),od="single",Bg="checkbox",Kg="multi",Wg="extended",_g=["Enter"," "],rd={},Gg=t=>t.expanded!==void 0,id=t=>t&&t!=="none",ld=({defaultSelected:t,highlightedIdx:e,treeNodes:n,onChange:o,selected:r,selection:s=od,selectionKeys:i=_g})=>{let l=s===od,a=s===Kg||s.startsWith(Bg),c=s===Wg,u=(0,Qt.useRef)(-1),d=(0,Qt.useCallback)(b=>i.includes(b.key),[i]),[p,m]=(0,sd.useControlled)({controlled:r,default:t!=null?t:[],name:"selected"}),f=(0,Qt.useCallback)((b,T,x,w,R=!1)=>{let{current:M}=u,E=p==null?void 0:p.includes(x),S=l||c&&!R&&(!w||M===-1),D=a||c&&R&&!w,L=[];if(S&&E)L=[];else if(S)L=[x];else if(D&&E)L=p.filter(A=>A!==x);else if(D)L=p.concat(x);else if(c){let[A,H]=T>M?[M,T]:[T,M];L=p.slice();for(let P=A;P<=H;P++){let{id:k}=n[P];p.includes(k)||L.push(k)}}m(L),o&&o(b,L)},[c,n,a,o,p,m,l]),h=(0,Qt.useCallback)(b=>{if(~e&&d(b)){b.preventDefault();let T=n[e];f(b,e,T.id,!1,b.ctrlKey||b.metaKey),c&&(u.current=e)}},[c,e,n,d,f]),g=(0,Qt.useCallback)((b,T)=>{if(c&&b.shiftKey){let x=n[T];f(b,T,x.id,!0)}},[c,n,f]),y=s==="none"?rd:{onKeyDown:h,onKeyboardNavigation:g},v=(0,Qt.useCallback)(b=>{if(e!==-1){let T=n[e];Gg(T)||(b.preventDefault(),b.stopPropagation(),f(b,e,T.id,b.shiftKey,b.ctrlKey||b.metaKey),c&&(u.current=e))}},[c,e,n,f]);return{listHandlers:y,listItemHandlers:s==="none"?rd:{onClick:v},selected:p,setSelected:m}};var Ke=require("react");var Ug=["height","scrollHeight"],ad=(t,e,n=!1)=>{let o=(0,Ke.useRef)(0),r=(0,Ke.useRef)(!1),s=(0,Ke.useRef)(0),i=(0,Ke.useRef)(0),l=(0,Ke.useCallback)(u=>{let d=u.ariaExpanded?u.firstChild:u,p=n?30:0,m=d.offsetTop,f=d.offsetHeight,h=o.current+p,g=h+s.current-p;(m+f>g||m<h)&&(o.current=m+f>g?o.current+(m+f)-g:m-p,r.current=!0,t.current&&(t.current.scrollTop=o.current),setTimeout(()=>{r.current=!1}))},[t,n]),a=(0,Ke.useCallback)(u=>{o.current=u.target.scrollTop},[]);(0,Ke.useEffect)(()=>{let{current:u}=t;return u&&u.addEventListener("scroll",a),()=>{u&&u.removeEventListener("scroll",a)}},[t,a]),(0,Ke.useLayoutEffect)(()=>{if(e!==-1&&i.current>s.current&&t.current){let u=t.current.querySelector(`
|
|
17
|
+
`,document.body.insertBefore(e,r)}}var pl=class{constructor(){this.currentPath=null;this.tabMode=null;ek()}prepare(e,t="full-view"){document.body.classList.add("drawing"),this.currentPath=null,this.tabMode=t;let n=this.getPoints(0,0,0,0),o=Xm(n),s=document.getElementById("vuu-drop-outline");s==null||s.setAttribute("d",o),this.currentPath=o}clear(){dl=null,Wa(),document.body.classList.remove("drawing"),Ka.PopupService.hidePopup()}get hoverDropTarget(){return dl}getPoints(e,t,n,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+n,t],[e+n,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+n,t+l],[e+n,t+o],[e,t+o]]:[[e,t+l],[e+s,t+l],[e+s,t],[e+s,t],[e+s,t+l],[e+n,t+l],[e+n,t+o],[e,t+o]]}draw(e,t){let o=Ff;if(dl!==null)this.drawTarget(dl);else if(Ff=e.nextDropTarget!=null,e.pos.tab?tk(e):Ln&&Wa(),this.drawTarget(e,t),Ff){let[s,i,l]=jm(e);{let a=(0,Zm.jsx)(qm,{dropTarget:e,onHover:XE,orientation:l});Ka.PopupService.showPopup({left:s,top:i,component:a})}}else Ka.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:f,guideLines:h}=o,d=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,d,p,c,u,f),g=Xm(m),y=document.getElementById("hw-drop-outline-animate");y==null||y.setAttribute("to",g),y==null||y.beginElement(),this.currentPath=g;let C=document.getElementById("hw-drop-guides");C==null||C.setAttribute("d",ZE(h))}}},Ym="transition:margin-left .4s ease-out;margin-left: 63px",Jm="transition:margin-left .4s ease-out;margin-left: 0px";function tk(r){var l,a;let{AFTER:e,BEFORE:t}=Hf,{clientRect:{Stack:n},pos:{tab:o}}=r,{id:s}=r.component.props,i=null;if(n&&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?(Ln===null||Ln!==i)&&(i.style.cssText=Ym,Ln&&(Ln.style.cssText=Jm),Ln=i):Wa()}else if((o==null?void 0:o.positionRelativeToTab)===t){if(Ln===null){let c=".vuuHeader-title";i=(a=document.getElementById(s))==null?void 0:a.querySelector(c),i.style.cssText=Ym,Ln=i}}else Wa()}function Wa(){Ln&&(Ln.style.cssText=Jm,Ln=null)}var VN=new pl;var tg=W(require("classnames")),ng=require("react");var sg=require("react/jsx-runtime"),rg=(0,ng.forwardRef)(function({children:e,className:t,dropTarget:n,resizeable:o,...s},i){let l=(0,tg.default)("DraggableLayout",t);return(0,sg.jsx)("div",{className:l,ref:i,...s,children:e})}),og="DraggableLayout";rg.displayName=og;et(og,rg,"container");var vg=require("@salt-ds/core"),Cg=W(require("classnames")),wg=require("react");var yg=require("@vuu-ui/vuu-utils"),je=W(require("react"));var lg=W(require("classnames"));var ag=require("react/jsx-runtime"),ig="vuuPlaceholder",Ua=({className:r,closeable:e,flexFill:t,resizeable:n,shim:o,...s})=>(0,ag.jsx)("div",{className:(0,lg.default)(ig,r,{[`${ig}-shim`]:o}),...s,"data-placeholder":!0,"data-resizeable":!0});Ua.displayName="Placeholder";et("Placeholder",Ua);var cg=W(require("classnames")),Rt=W(require("react"));var zf=require("react/jsx-runtime"),_a="vuuSplitter",ug=Rt.default.memo(function({column:e,index:t,onDrag:n,onDragEnd:o,onDragStart:s,style:i}){let l=(0,Rt.useRef)(),a=(0,Rt.useRef)(null),c=(0,Rt.useRef)(0),[u,f]=(0,Rt.useState)(!1),h=(0,Rt.useCallback)(({key:b,shiftKey:w})=>{let k=w?10:1;e&&b==="ArrowDown"?n(t,k):e&&b==="ArrowUp"||!e&&b==="ArrowLeft"?n(t,-k):!e&&b==="ArrowRight"&&n(t,k)},[e,t,n]),d=(0,Rt.useCallback)(b=>{let{key:w}=b;(e&&(w==="ArrowUp"||w==="ArrowDown")||!e&&(w==="ArrowLeft"||w==="ArrowRight"))&&(s(t),h(b),p.current=h)},[e,h,t,s]),p=(0,Rt.useRef)(d),m=b=>p.current(b),g=(0,Rt.useCallback)(b=>{l.current=!0;let w=b[e?"clientY":"clientX"],k=w-c.current;w&&w!==c.current&&n(t,k),c.current=w},[e,t,n]),y=(0,Rt.useCallback)(()=>{var b;window.removeEventListener("mousemove",g,!1),window.removeEventListener("mouseup",y,!1),o(),f(!1),(b=a.current)==null||b.focus()},[g,o,f]),C=(0,Rt.useCallback)(b=>{c.current=e?b.clientY:b.clientX,s(t),window.addEventListener("mousemove",g,!1),window.addEventListener("mouseup",y,!1),b.preventDefault(),f(!0)},[e,g,y,t,s,f]),v=()=>{var b;l.current?l.current=!1:(b=a.current)==null||b.focus()},x=()=>{p.current=d},S=(0,cg.default)(_a,{[`${_a}-active`]:u,[`${_a}-column`]:e});return(0,zf.jsx)("div",{className:S,"data-splitter":!0,ref:a,role:"separator",style:i,onBlur:x,onClick:v,onKeyDown:m,onMouseDown:C,tabIndex:0,children:(0,zf.jsx)("div",{className:`${_a}-grab-zone`})})});var nk=require("@vuu-ui/vuu-utils"),rk=W(require("react"));var hg={},fg="auto";var Os=r=>{let{style:{width:e=fg,height:t=fg}=hg}=r.props,n=typeof t=="number",o=typeof e=="number";return n&&o?{height:t,width:e}:n?{height:t}:o?{width:e}:void 0};function dg(r){let{style:{flex:e,flexGrow:t,flexShrink:n,flexBasis:o}=hg}=r.props;return typeof e=="number"||o===0&&t===1&&n===1?!0:typeof o!="number"}var ok={},gl=1,bl=2,sk=r=>typeof r.intrinsicSize=="number",ik=(r,e)=>{let t={};return r.forEach(n=>{t[n]=qn(e,n)}),t},Ga=(r,e,t)=>r.map((n,o)=>{var a;let s=qn(n,"resizeable"),{[e]:i}=(a=Os(n))!=null?a:ok,l=dg(n);return t?{index:o,flexOpen:l,intrinsicSize:i,resizeable:s,...ik(t,n)}:{index:o,flexOpen:l,intrinsicSize:i,resizeable:s}}),pg=r=>{let e=r.length,t=r.every(sk),n=Array(e).fill(0);if(t&&e>0&&(n[0]=bl,n[e-1]=bl),e<2)return n;for(let o=0,s=0;o<e-1;o++)r[o].resizeable&&!s&&(s=gl),n[o]+=s;for(let o=e-1;o>0&&(n[o]&gl&&(n[o]-=gl),!r[o].resizeable);o--);return n},mg=(r,e)=>{let t=ak(r,e),n=ck(r,e),o=t!==-1&&n!==-1?[t,n]:void 0,s=lk(r,o);return[o,s]};function lk(r,e){if(e){let t=[];for(let n=0;n<r.length;n++)r[n].flexOpen&&!e.includes(n)&&t.push(n);return t}}function ak(r,e){let t=e,n=!1;for(;t>=1&&!n;)t=t-1,n=gg(r,t);return t}function ck(r,e){let t=e,n=!1,o=r.length;for(;t<o-1&&!n;)t=t+1,n=gg(r,t);return t===o?-1:t}function gg(r,e){let{placeholder:t,splitter:n,resizeable:o,intrinsicSize:s}=r[e];return!!(!n&&!s&&(t||o))}var uk=r=>!r.splitter&&!r.placeholder,xg=({children:r,onSplitterMoved:e,style:t})=>{let n=(0,je.useRef)(null),o=(0,je.useRef)(),s=(0,je.useRef)(),i=(0,je.useRef)([]),[,l]=(0,je.useState)({}),a=g=>{s.current=g,l({})},c=(t==null?void 0:t.flexDirection)==="column",u=c?"height":"width",f=(0,je.useMemo)(()=>Array.isArray(r)?r:je.default.isValidElement(r)?[r]:[],[r]),h=(0,je.useCallback)(g=>{let{current:y}=o;if(y){let[C,v]=mg(y,g);C&&(C.forEach(x=>{var b;let S=(b=n.current)==null?void 0:b.childNodes[x];if(S){let{size:w,minSize:k}=pk(S,u);y[x].currentSize=w,y[x].minSize=k}}),v&&v.forEach(x=>{var b;let S=(b=n.current)==null?void 0:b.childNodes[x];if(S){let{[u]:w}=S.getBoundingClientRect();y[x].flexBasis=w}}))}},[u]),d=(0,je.useCallback)((g,y)=>{s.current&&o.current&&a(hk(s.current,o.current,y,u))},[u]),p=(0,je.useCallback)(()=>{let g=o.current;g&&(e==null||e(g.filter(uk))),g==null||g.forEach(y=>{y.currentSize=void 0,y.flexBasis=void 0,y.flexOpen=!1})},[e]),m=(0,je.useCallback)(g=>je.default.createElement(ug,{column:c,index:g,key:`splitter-${g}`,onDrag:d,onDragEnd:p,onDragStart:h}),[d,p,h,c]);return(0,je.useMemo)(()=>{let[g,y]=fk(f,u,m,i.current);o.current=y,s.current=g},[f,m,u]),{content:s.current||[],rootRef:n}};function fk(r,e,t,n){let o=Ga(r,e),s=pg(o),i=[],l=[];for(let a=0;a<r.length;a++){let c=r[a];if(a===0&&s[a]&bl&&(i.push(bg(a)),l.push({placeholder:!0,shim:!0})),c.key==null){let u=n[a]||(n[a]=(0,yg.getUniqueId)());i.push(je.default.cloneElement(c,{key:u}))}else i.push(c);l.push(o[a]),a>0&&s[a]&bl?(i.push(bg(a)),l.push({placeholder:!0})):s[a]&gl&&(i.push(t(i.length)),l.push({splitter:!0}))}return[i,l]}function hk(r,e,t,n){return dk(e,t)?r.map((s,i)=>{let l=e[i],{currentSize:a,flexOpen:c,flexBasis:u}=l,f=a!==void 0;if(f||c){let{flexBasis:h}=s.props.style||{},d=f?l.currentSize:u;return d!==h?je.default.cloneElement(s,{style:{...s.props.style,flexBasis:d,[n]:"auto"}}):s}else return s}):r}function dk(r,e){let t=[];r.forEach((u,f)=>{u.currentSize!==void 0&&t.push(f)});let n=e<0?t[0]:t[1],{currentSize:o=0,minSize:s=0}=r[n];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=r[t[0]],{currentSize:l=0}=i;i.currentSize=l+e;let a=r[t[1]],{currentSize:c=0}=a;return a.currentSize=c-e,!0}function bg(r){return je.default.createElement(Ua,{shim:r===0,key:`placeholder-${r}`})}function pk(r,e){let{[e]:t}=r.getBoundingClientRect(),o=getComputedStyle(r).getPropertyValue(`min-${e}`),s=o.endsWith("px")?parseInt(o,10):0;return{size:t,minSize:s}}var Tg=require("react/jsx-runtime"),$f="hwFlexbox",Sg=(0,wg.forwardRef)(function(e,t){let{breakPoints:n,children:o,column:s,className:i,flexFill:l,gap:a,fullPage:c,id:u,onSplitterMoved:f,resizeable:h,row:d,spacing:p,splitterSize:m,style:g,...y}=e,{content:C,rootRef:v}=xg({children:o,onSplitterMoved:f,style:g}),x=(0,Cg.default)($f,i,{[`${$f}-column`]:s,[`${$f}-row`]:d,"flex-fill":l,"full-page":c});return(0,Tg.jsx)("div",{...y,className:x,"data-resizeable":h||void 0,id:u,ref:(0,vg.useForkRef)(v,t),style:{...g,gap:a,"--spacing":p},children:C})});Sg.displayName="Flexbox";var Kf=Sg;var Pg=require("react");var Qa={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 Po=require("react");var Mk=W(require("react"));var bk=require("@vuu-ui/vuu-utils"),yk=W(require("react"));var mk=require("@vuu-ui/vuu-utils"),Eg=W(require("react"));var Ro=require("react"),cn=new Map,un=new Map;var Hs=()=>{let r=(0,Ro.useCallback)((i,l)=>{let a=un.get(i);if(a)return l!==void 0&&a[l]!==void 0?a[l]:l!==void 0?void 0:a},[]),e=(0,Ro.useCallback)((i,l,a)=>{if(l===void 0)un.set(i,a);else if(un.has(i)){let c=un.get(i);un.set(i,{...c,[l]:a})}else un.set(i,{[l]:a})},[]),t=(0,Ro.useCallback)((i,l)=>{if(un.has(i)){if(l===void 0)un.delete(i);else if(un.get(i)[l]){let{[l]:c,...u}=un.get(i);Object.keys(u).length>0?un.set(i,u):un.delete(i)}}},[]),n=(0,Ro.useCallback)((i,l)=>{let a=cn.get(i);if(a)return l!==void 0?a[l]:a},[]),o=(0,Ro.useCallback)((i,l,a)=>{if(l===void 0)cn.set(i,a);else if(cn.has(i)){let c=cn.get(i);cn.set(i,{...c,[l]:a})}else cn.set(i,{[l]:a})},[]),s=(0,Ro.useCallback)((i,l)=>{if(cn.has(i)){if(l===void 0)cn.delete(i);else if(cn.get(i)[l]){let{[l]:c,...u}=cn.get(i);Object.keys(u).length>0?cn.set(i,u):cn.delete(i)}}},[]);return{loadSessionState:r,loadState:n,saveSessionState:e,saveState:o,purgeState:s,purgeSessionState:t}};var Ck=require("react");var vk=W(require("react"));var Sk=W(require("react"));var Tk=W(require("react"));var Ek=require("@vuu-ui/vuu-utils"),kk=W(require("react"));var Dg=require("react"),Rk=r=>console.log(`dispatch ${r.type}, have you forgotten to provide a LayoutProvider ?`),_f=(0,Dg.createContext)({dispatchLayoutProvider:Rk,version:-1});var Mg=require("react");var Pk=require("react/jsx-runtime");var fn=()=>{let{dispatchLayoutProvider:r}=(0,Po.useContext)(_f);return r},Rg=()=>{let{createNewChild:r}=(0,Po.useContext)(_f);return r};var Ag=require("react/jsx-runtime"),Ig=function(e){let{path:t}=e,n=fn(),o=(0,Pg.useCallback)(s=>{n({type:Qa.SPLITTER_RESIZE,path:t,sizes:s})},[n,t]);return(0,Ag.jsx)(Kf,{...e,onSplitterMoved:o})};Ig.displayName="Flexbox";et("Flexbox",Ig,"container");var Vg=require("@salt-ds/core"),$g=W(require("classnames")),Xa=require("react");var On=require("react");var Ao=require("react"),Og=["height","width"];var Io=new WeakMap,Hg=(r,e,t)=>{switch(t){case"height":return e.height;case"scrollHeight":return r.scrollHeight;case"scrollWidth":return r.scrollWidth;case"width":return e.width;default:return 0}},Lg=new ResizeObserver(r=>{for(let e of r){let{target:t,contentRect:n}=e,o=Io.get(t);if(o){let{onResize:s,measurements:i}=o,l=!1;for(let[a,c]of Object.entries(i)){let u=Hg(t,n,a);u!==c&&(l=!0,i[a]=u)}l&&s&&s(i)}}});function ja(r,e,t,n=!1){let o=(0,Ao.useRef)(e),s=(0,Ao.useCallback)(i=>{let l=i.getBoundingClientRect();return o.current.reduce((a,c)=>(a[c]=Hg(i,l,c),a),{})},[]);(0,Ao.useLayoutEffect)(()=>{let i=r.current,l=!1;async function a(){Io.set(i,{measurements:{}}),l=!1;let{fonts:c}=document;if(c&&await c.ready,!l){let u=Io.get(i);if(u){let f=s(i);u.measurements=f,Lg.observe(i),n&&t(f)}}}if(i){if(Io.has(i))throw Error("useResizeObserver attemping to observe same element twice");a()}return()=>{i&&Io.has(i)&&(Lg.unobserve(i),Io.delete(i),l=!0)}},[r,s,n,t]),(0,Ao.useLayoutEffect)(()=>{let i=r.current,l=Io.get(i);if(l){if(o.current!==e){o.current=e;let a=s(i);l.measurements=a}l.onResize=t}},[e,s,r,t])}function Ik(r,e){let t=document.body.querySelector(`.${r}`),n={get:function(o,s){let i=o.getPropertyValue(`--${r}-breakpoint-${s}`);return i?parseInt(i):void 0}};return t?new Proxy(getComputedStyle(t),n):e!=null?e:{}}var Ak=([,r],[,e])=>e-r,Qf=r=>Object.entries(r).sort(Ak).map(([e,t],n,o)=>[e,t,n<o.length-1?o[n+1][1]:9999]),Gf=null,Lk=(r="salt")=>{let{xs:e,sm:t,md:n,lg:o,xl:s}=Ik(r);return Qf({xs:e,sm:t,md:n,lg:o,xl:s})},Ng=r=>(Gf===null&&(Gf=Lk(r)),Gf);var Ok=[],Bg=({breakPoints:r,smallerThan:e},t)=>{let[n,o]=(0,On.useState)(e?!1:"lg"),s=(0,On.useRef)(document.body),i=(0,On.useRef)(r?Qf(r):Ng()),l=(0,On.useRef)("lg"),a=(0,On.useCallback)(u=>{if(i.current){for(let[f,h]of i.current)if(u>=h)return f}},[i]),c=(0,On.useCallback)(u=>{if(e){let f=i.current.find(([h])=>h===e);if(f){let[,,h]=f;return u<h}}else return a(u);return u},[e,a]);return ja(t||s,i.current?["width"]:Ok,({width:u})=>{let f=c(u);f!==l.current&&(l.current=f,o(f))},!0),(0,On.useEffect)(()=>{let u=t||s;if(u.current){let f=l.current;if(i.current){let{clientWidth:h}=u.current,d=c(h);l.current=d,d!==f&&o(d)}}},[o,c,t]),n};var Hk="data-collapsible",gz={[Hk]:!0,"data-pad-start":!0,"data-pad-end":!0};var Fg=require("@vuu-ui/vuu-utils"),Xt=require("react");var Nk=["xs","sm","md","lg","xl"],Bk=12,zg=({children:r,cols:e,style:t})=>{let n=(0,Xt.useRef)(null),o=(0,Xt.useRef)(null),s=(0,Xt.useRef)(),i=e!=null?e:Bk,a=(t==null?void 0:t.flexDirection)==="column"?"height":"width",c=(0,Xt.useMemo)(()=>Array.isArray(r)?r:(0,Xt.isValidElement)(r)?[r]:[],[r]),u=(0,Xt.useCallback)((f,h)=>{let d=Ga(f,h,Nk),p=[],m=[];for(let g=0;g<f.length;g++){let y=f[g],{style:{flex:C,...v}}=y.props;p.push((0,Xt.cloneElement)(y,{key:(0,Fg.getUniqueId)(),style:{...v,"--parent-col-count":i}})),m.push(d[g])}return[p,m]},[i]);return(0,Xt.useMemo)(()=>{let[f,h]=u(c,a);o.current=h,s.current=f},[u,c,a]),{cols:i,content:s.current,rootRef:n}};var Kg=require("react/jsx-runtime"),qa="hwFluidGrid",jf=(0,Xa.forwardRef)(function(e,t){let{breakPoints:n,children:o,column:s,cols:i=12,className:l,flexFill:a,gap:c=3,fullPage:u,id:f,onSplitterMoved:h,resizeable:d,row:p,showGrid:m,spacing:g,splitterSize:y,style:C,...v}=e,x=(0,Xa.useMemo)(()=>ko(o),[o]),{cols:S,content:b,rootRef:w}=zg({children:x,cols:i,style:C}),k=Bg({breakPoints:n},w),D=(0,$g.default)(qa,l,{[`${qa}-column`]:s,[`${qa}-row`]:p,[`${qa}-show-grid`]:m,"flex-fill":a,"full-page":u}),T={...C,"--spacing":g,"--grid-col-count":S,"--grid-gap":c};return(0,Kg.jsx)("div",{...v,className:D,"data-breakpoint":k,"data-cols":S,"data-resizeable":d||void 0,id:f,ref:(0,Vg.useForkRef)(w,t),style:T,children:b})});jf.displayName="FluidGrid";var Ug=require("react/jsx-runtime"),Wg=function(e){return(0,Ug.jsx)(jf,{...e})};Wg.displayName="FluidGrid";et("FluidGrid",Wg,"container");var Yg=require("@salt-ds/core"),ec=W(require("classnames")),_r=require("react");var Ur=require("react");var Ya=(r,e,t,n)=>{var g;let{loadSessionState:o,purgeSessionState:s,purgeState:i,saveSessionState:l}=Hs(),[a,c]=(0,Ur.useState)((g=o(r,"contributions"))!=null?g:[]),u=fn(),f=(0,Ur.useCallback)((y,C)=>{let v=a.concat([{location:y,content:C}]);l(r,"contributions",v),c(v)},[a,r,l]),h=(0,Ur.useCallback)(()=>{s(r,"contributions"),c([])},[r,s]),d=(0,Ur.useCallback)(()=>{let y=o(r,"data-source");y&&y.unsubscribe(),s(r),i(r),u({type:"remove",path:t})},[u,r,o,s,i,t]),p=(0,Ur.useCallback)(async(y,C,v)=>{var S;y.stopPropagation();let x=(S=e.current)==null?void 0:S.getBoundingClientRect();return new Promise((b,w)=>{u({type:"drag-start",evt:y,path:C===void 0?t:`${t}.${C}`,dragRect:x,preDragActivity:v,dropTargets:n,resolveDragStart:b,rejectDragStart:w})})},[e,u,t,n]);return[(0,Ur.useCallback)(async(y,C)=>{var x;let{type:v}=y;switch(v){case"maximize":case"minimize":case"restore":return u({type:v,path:(x=y.path)!=null?x:t});case"remove":return d();case"mousedown":return p(C,y.index,y.preDragActivity);case"add-toolbar-contribution":return f(y.location,y.content);case"remove-toolbar-contribution":return h();default:return}},[u,t,d,p,f,h]),a]};var Za=require("@salt-ds/core"),jg=W(require("classnames")),Pt=W(require("react"));var Hn=require("react");var _g=({id:r,rootRef:e,path:t,dropTargets:n,title:o})=>{let s=fn(),{loadState:i,loadSessionState:l,purgeState:a,saveState:c,saveSessionState:u}=Hs(),[f,h]=Ya(r,e,t,n),d=(0,Hn.useMemo)(()=>{var b;return(b=i("view-title"))!=null?b:o},[i,o]),p=(0,Hn.useCallback)(b=>{t&&s({type:"set-title",path:t,title:b})},[s,t]),m=(0,Hn.useMemo)(()=>i(r),[r,i]),g=(0,Hn.useCallback)(b=>i(r,b),[r,i]),y=(0,Hn.useCallback)(b=>{a(r,b),s({type:"save"})},[r,s,a]),C=(0,Hn.useCallback)((b,w)=>{c(r,w,b),s({type:"save"})},[r,s,c]),v=(0,Hn.useCallback)(b=>l(r,b),[r,l]),x=(0,Hn.useCallback)((b,w)=>u(r,w,b),[r,u]),S=(0,Hn.useCallback)(({type:b,...w})=>{let{[b]:k}=w;C(k,b)},[C]);return{contributions:h,dispatchViewAction:f,load:g,loadSession:v,onConfigChange:S,onEditTitle:p,purge:y,restoredState:m,save:C,saveSession:x,title:d}};var Ns=require("react"),Fk=[],Gg=({mainRef:r,resize:e="responsive",rootRef:t})=>{let n=e==="defer",o=(0,Ns.useRef)({}),s=(0,Ns.useRef)(),i=(0,Ns.useCallback)(()=>{r.current&&(r.current.style.height=o.current.height+"px",r.current.style.width=o.current.width+"px"),s.current=void 0},[r]),l=(0,Ns.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]);ja(t,n?Og:Fk,l,n)};var Ja=W(require("react")),zk={dispatch:null},qf=Ja.default.createContext(zk),Qg=()=>{var e;let r=(0,Ja.useContext)(qf);return(e=r==null?void 0:r.dispatch)!=null?e:null};var Bs=require("react/jsx-runtime"),yl="vuuView",Vk=(r,e)=>r&&e?{...r,...e}:r||e,qg=(0,Pt.forwardRef)(function(e,t){let{Header:n=Xg,children:o,className:s,collapsed:i,closeable:l,"data-path":a,"data-resizeable":c,dropTargets:u,expanded:f,flexFill:h,id:d,header:p,orientation:m="horizontal",path:g=a,resize:y="responsive",resizeable:C=c,tearOut:v,style:x={},title:S,...b}=e,w=(0,Za.useIdMemo)(d),k=(0,Pt.useRef)(null),D=(0,Pt.useRef)(null),[T,M]=(0,Pt.useState)(),{contributions:E,dispatchViewAction:R,load:A,loadSession:O,onConfigChange:L,onEditTitle:P,purge:I,restoredState:B,save:H,saveSession:z,title:V}=_g({id:w,rootRef:k,path:g,dropTargets:u,title:S});Gg({mainRef:D,resize:y,rootRef:k});let Q=(0,Pt.useCallback)(J=>{M(J)},[]),q=()=>Pt.default.isValidElement(o)&&(B||T)?Pt.default.cloneElement(o,Vk(B,T)):o,Y=(0,Pt.useMemo)(()=>({dispatch:R,id:w,path:g,title:V,load:A,loadSession:O,onConfigChange:L,purge:I,save:H,saveSession:z,setComponentProps:Q}),[R,w,A,O,L,g,I,H,z,Q,V]),_=typeof p=="object"?p:{};return(0,Bs.jsx)("div",{...b,className:(0,jg.default)(yl,s,{[`${yl}-collapsed`]:i,[`${yl}-expanded`]:f,[`${yl}-resize-defer`]:y==="defer"}),"data-resizeable":C,id:w,ref:(0,Za.useForkRef)(t,k),style:x,tabIndex:-1,children:(0,Bs.jsxs)(qf.Provider,{value:Y,children:[p?(0,Bs.jsx)(n,{..._,collapsed:i,contributions:E,expanded:f,closeable:l,onEditTitle:P,orientation:m,tearOut:v,title:V}):null,(0,Bs.jsx)("div",{className:`${yl}-main`,ref:D,children:q()})]})})});qg.displayName="View";var Fs=Pt.default.memo(qg);Fs.displayName="View";et("View",Fs,"view");var zs=require("react/jsx-runtime"),Xf="vuuHeader",Xg=({className:r,contributions:e,collapsed:t,closeable:n,onEditTitle:o,orientation:s="horizontal",style:i,title:l="Untitled"})=>{let a=(0,_r.useRef)(null),[c,u]=(0,_r.useState)(l),[f,h]=(0,_r.useState)(!1),d=Qg(),p=T=>d==null?void 0:d({type:"remove"},T),m=()=>{var T;(T=a.current)==null||T.focus()},g=T=>{T.stopPropagation()},C=(0,ec.default)(Xf,r,`${Xf}-${t||s}`),v=()=>{h(!0)},x=T=>{T.key==="Enter"&&h(!0)},S=(T="",M="",E=!0,R=!1)=>{var A;h(!1),R?u(T):M!==T&&(u(M),o==null||o(M)),E===!1&&((A=a.current)==null||A.focus())},b=T=>{d==null||d({type:"mousedown"},T)},w=[],k=[],D=[];return e==null||e.forEach((T,M)=>{switch(T.location){case"pre-title":w.push((0,_r.cloneElement)(T.content,{key:M}));break;default:k.push((0,_r.cloneElement)(T.content,{key:M}))}}),l&&w.push((0,zs.jsx)(Vs,{className:`${Xf}-title`,editing:f,value:c,onChange:u,onMouseDownCapture:m,onEnterEditMode:v,onExitEditMode:S,onKeyDown:x,ref:a,tabIndex:0},"title")),n&&D.push((0,zs.jsx)(Yg.Button,{"data-icon":"close",onClick:p,onMouseDown:g,variant:"secondary"},"close")),k.length>0&&w.push((0,zs.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:k},"contributions")),D.length>0&&w.push((0,zs.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:D},"actions")),(0,zs.jsx)("div",{className:(0,ec.default)("vuuToolbarProxy",C),style:i,onMouseDown:b,children:w})};var nb=require("react");var yr=require("@vuu-ui/vuu-utils"),Xn=require("react");var Oo=require("react");var Lo=new Map,Zg=(r,e,t)=>{switch(t){case"height":return e.height;case"clientHeight":return r.clientHeight;case"clientWidth":return r.clientWidth;case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(r.scrollHeight);case"scrollWidth":return Math.ceil(r.scrollWidth);case"width":return e.width;default:return 0}},Jg=new ResizeObserver(r=>{for(let e of r){let{target:t,borderBoxSize:n,contentBoxSize:o}=e,s=Lo.get(t);if(s){let[{blockSize:i,inlineSize:l}]=n,[{blockSize:a,inlineSize:c}]=o,{onResize:u,measurements:f}=s,h=!1;for(let[d,p]of Object.entries(f)){let m=Zg(t,{height:i,width:l,contentHeight:a,contentWidth:c},d);m!==p&&(h=!0,f[d]=m)}h&&u&&u(f)}}});function eb(r,e,t,n=!1){let o=(0,Oo.useRef)(e),s=(0,Oo.useCallback)(i=>{let{width:l,height:a}=i.getBoundingClientRect(),{clientWidth:c,clientHeight:u}=i;return o.current.reduce((f,h)=>(f[h]=Zg(i,{width:l,height:a,contentHeight:u,contentWidth:c},h),f),{})},[]);(0,Oo.useEffect)(()=>{let i=r.current;async function l(){Lo.set(i,{measurements:{}});let a=Lo.get(i);if(a){let c=s(i);a.measurements=c,Jg.observe(i),n&&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&&(Lo.has(i)&&console.log("useResizeObserver attemping to observe same element twice",{target:i}),l()),()=>{i&&Lo.has(i)&&(Jg.unobserve(i),Lo.delete(i))}},[s,r]),(0,Oo.useEffect)(()=>{let i=r.current,l=Lo.get(i);if(l){if(o.current!==e){o.current=e;let a=s(i);l.measurements=a}l.onResize=t}},[e,s,r,t])}var $k=["clientHeight","clientWidth"],Kk=["clientWidth"],Wk=["clientHeight"],Uk=[],tc=r=>Number.isFinite(r),_k={height:"100%",width:"100%"},Gk=(r,e)=>(0,yr.isValidNumber)(r)&&(0,yr.isValidNumber)(e)?{height:`${r}px`,width:`${e}px`}:typeof r=="string"&&typeof e=="string"?{height:r,width:e}:_k,Qk=(r,e)=>{if((0,yr.isValidNumber)(r)&&(0,yr.isValidNumber)(e))return{height:r,width:e}},tb=({defaultHeight:r=0,defaultWidth:e=0,height:t,onResize:n,width:o})=>{let s=(0,Xn.useRef)(null),[i,l]=(0,Xn.useState)({css:Gk(t,o),inner:Qk(t,o),outer:{height:t!=null?t:"100%",width:o!=null?o:"100%"}}),a=typeof t=="number",c=typeof o=="number",u=a&&c?Uk:a?Kk:c?Wk:$k;(0,Xn.useMemo)(()=>{l(h=>{let{inner:d,outer:p}=h;if((0,yr.isValidNumber)(t)&&(0,yr.isValidNumber)(o)&&d&&p){let{height:m,width:g}=d,{height:y,width:C}=p;if(y!==t||C!==o){let v=(0,yr.isValidNumber)(y)?y-m:0,x=(0,yr.isValidNumber)(C)?C-g:0;return{...h,outer:{height:t,width:o},inner:{height:t-v,width:o-x}}}}return h})},[t,o]);let f=(0,Xn.useCallback)(({clientWidth:h,clientHeight:d})=>{let{css:p,inner:m,outer:g}=i,y=i;a&&tc(h)&&h!==(m==null?void 0:m.width)?y={css:p,outer:g,inner:{width:Math.floor(h)||e,height:t}}:c&&tc(d)&&d!==(m==null?void 0:m.height)?y={css:p,outer:g,inner:{height:Math.floor(d)||r,width:o}}:tc(d)&&tc(h)&&(h!==(m==null?void 0:m.width)||d!==(m==null?void 0:m.height))&&(y={css:p,outer:g,inner:{width:Math.floor(h)||e,height:Math.floor(d)||r}}),y!==i&&l(y)},[r,e,a,c,t,i,o]);return(0,Xn.useEffect)(()=>{i.inner&&(n==null||n(i.inner))},[n,i.inner]),eb(s,u,f,!0),{containerRef:s,cssSize:i.css,outerSize:i.outer,innerSize:i.inner}};var rb=require("@salt-ds/core"),Jf=W(require("classnames"));var Zf=require("react/jsx-runtime"),Yf="vuuMeasuredContainer",nc=(0,nb.forwardRef)(function({children:e,className:t,height:n,onResize:o,style:s,width:i,...l},a){let{containerRef:c,...u}=tb({height:n,onResize:o,width:i}),{cssSize:f,innerSize:h}=u,d=h===void 0,p=()=>d?{"--measured-css-height":`${f.height}`,"--measured-css-width":`${f.width}`}:{...s,"--measured-css-height":`${f.height}`,"--measured-css-width":`${f.width}`,"--measured-px-height":`${h==null?void 0:h.height}px`,"--measured-px-width":`${h==null?void 0:h.width}px`},m=(0,rb.useForkRef)(c,a);return d?(0,Zf.jsx)("div",{...l,className:(0,Jf.default)(Yf,`${Yf}-ummeasured`),style:p(),ref:c}):(0,Zf.jsx)("div",{...l,className:(0,Jf.default)(Yf,t),ref:m,style:p(),children:e})});var db=require("@vuu-ui/vuu-popups");var vl=W(require("classnames")),Ks=W(require("react"));var oc=require("@vuu-ui/vuu-utils"),Yt=require("react");var eh=require("@vuu-ui/vuu-utils"),jk=".vuuOverflowContainer-item:not(.wrapped)",qk=r=>r.sort((e,t)=>{let{dataset:{index:n="?"}}=e,{dataset:{index:o="?"}}=t,s=e.classList.contains("wrapped"),i=t.classList.contains("wrapped"),l=n==="overflow",a=o==="overflow";return s&&!i?1:!s&&i?-1:l?1:a?-1:parseInt(n)>parseInt(o)?1:-1}),th=[],xl=(r,e="horizontal")=>{let t=[],n=[],o=-1,s=!1,i=qk(Array.from(r.children)),l=e==="vertical"?"top":"left";for(let a of i){let c=a,{dataset:{index:u="?",label:f="?",overflowPriority:h="0"}}=c,{[l]:d}=c.getBoundingClientRect();d<=o?(u==="overflow"?n.push(t.pop()):n.push({index:u,label:f,overflowPriority:h}),s=!0):s?n.push({index:u,label:f,overflowPriority:h}):t.push({index:u,label:f,overflowPriority:h}),o=d}return[t,n]},ob=(r,e)=>{let t=!1;e.find(({index:n})=>n==="overflow")&&e.length===1&&(t=!0);for(let n of r.children){let{dataset:{index:o="?"}}=n;e.length===0||t?r.classList.remove("overflowed"):r.classList.add("overflowed"),o!=="overflow"&&e.find(s=>s.index===o)?n.classList.add("wrapped"):n.classList.remove("wrapped")}},Xk=(r,{overflowPriority:e})=>Math.max(r,parseInt(e)),Yk=(r,{overflowPriority:e})=>Math.min(r,parseInt(e)),sb=r=>{var e;return r.length>1&&((e=r.at(-1))==null?void 0:e.index)==="overflow"},Jk=r=>{let[e]=r;for(let t=1;t<r.length;t++){let n=r[t];parseInt(n.overflowPriority)>parseInt(e.overflowPriority)&&(e=n)}return e},ib=(r,e)=>{var o;let t=r.reduce(Yk,Number.MAX_SAFE_INTEGER);return e.reduce(Xk,0)>t?!0:e.length>1&&((o=e.at(-1))==null?void 0:o.index)==="overflow"},lb=(r,e)=>new Promise(t=>{requestAnimationFrame(()=>{let[,n]=xl(r);tD(e,n).forEach(s=>Zk(r,s)),t(n)})}),ab=(r,e,t)=>new Promise(n=>{requestAnimationFrame(()=>{let[,o]=xl(r),s=Jk(o);if(s){let[i,l]=nh(r,s);n([i,l])}else n([e,t])})}),Zk=(r,e)=>{let t=(0,eh.getElementByDataIndex)(r,e.index);if(t)t.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${e.index} not found`)},eD=r=>Array.from(r.querySelectorAll(".wrapped")),tD=(r,e)=>{let t=[];for(let n of e)r.find(({index:o})=>o===n.index)||t.push(n);return t},nD=(r,e)=>{eD(r).forEach(n=>{let{dataset:{index:o="?"}}=n;e.find(s=>s.index===o)||n.classList.remove("wrapped")})},cb=r=>r.querySelector('[data-index="overflow"]'),rD=r=>r.querySelector(".wrapped"),rc=r=>parseInt(getComputedStyle(r).getPropertyValue("width")),ub=(r,e)=>{let{right:t}=r.getBoundingClientRect(),n=parseInt(getComputedStyle(r).getPropertyValue("padding-right")),{right:o}=e.getBoundingClientRect();return t-n-o},fb=r=>{let e=cb(r),t=ub(r,e),n=rc(e),o=rD(r);return rc(o)<=t+n?(r.classList.remove("overflowed"),o.classList.remove("wrapped"),!0):!1},oD=(r,e)=>{let{dataset:{index:t="0",overflowPriority:n="0"}}=r,{dataset:{index:o="0",overflowPriority:s="0"}}=e;return n>s?-1:n<s?1:parseInt(t)-parseInt(o)},sD=r=>Array.from(r.querySelectorAll(jk)).sort(oD),nh=(r,e)=>{let t=sD(r),n=(0,eh.getElementByDataIndex)(r,e.index,!0),o=-1,s=t.at(o),i=rc(s),l=rc(n),a=cb(r),c=ub(r,a)+i;if(c>=l)iD(n,s);else{let{left:h}=s.getBoundingClientRect(),d=c,p=[s];for(;c<l;){o-=1,s=t.at(o),p.push(s);let{left:m}=s.getBoundingClientRect(),g=h-m;c=d+g}n==null||n.classList.remove("wrapped"),p.forEach(m=>{m.classList.add("wrapped")})}let[u,f]=xl(r);return nD(r,f),[u,f]},iD=(r,e)=>{if(!r||!e)throw Error("switchWrapOnElements, element undefined");r.classList.remove("wrapped"),e.classList.add("wrapped")};var hb=({allowDragDrop:r=!1,itemCount:e,onMoveItem:t,onSwitchWrappedItemIntoView:n,orientation:o="horizontal"})=>{let[s,i]=(0,Yt.useState)(null),l=(0,Yt.useRef)(th),a=(0,Yt.useRef)(null),c=(0,Yt.useCallback)(async()=>{if(s){let[C,v]=xl(s,o);for(ob(s,v),sb(v)&&(v=await lb(s,v));ib(C,v);)[C,v]=await ab(s,C,v);v.length===1&&fb(s)&&(v=th),l.current=v}},[s,o]),u=C=>typeof C=="object"&&C!==null&&"overflowItem"in C,[f,h]=(0,Yt.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]=nh(s,C.overflowItem);l.current=v,n==null||n(C.overflowItem)}return!0}],[s,n]),d=(0,Yt.useMemo)(()=>{let{sizeProp:C}=oc.MEASURES[o],v=0;return new ResizeObserver(x=>{for(let S of x){let{[C]:b}=S.contentRect,w=Math.round(b);(0,oc.isValidNumber)(w)&&v!==w&&(v=w,c())}})},[c,o]);An(()=>{c()},[c,e]),(0,Yt.useMemo)(()=>{s&&d.observe(s)},[s,d]);let p=(0,Yt.useCallback)(C=>{i(a.current=C)},[]),m=(0,Yt.useCallback)((C,v)=>{t==null||t(C,v)},[t]),{onMouseDown:g,...y}=Yn({allowDragDrop:r,containerRef:a,draggableClassName:"vuuOverflowContainer",onDrop:m,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"});return{menuActionHandler:h,menuBuilder:f,onItemMouseDown:g,rootRef:p,...y}};var Gr=require("react/jsx-runtime"),$s="vuuOverflowContainer",pb=Ks.default.memo(({allowDragDrop:r,children:e,className:t,height:n,id:o,onMoveItem:s,onSwitchWrappedItemIntoView:i,orientation:l="horizontal",overflowIcon:a,overflowPosition:c="end"})=>{let u=ko(e),{draggable:f,draggedItemIndex:h,menuActionHandler:d,menuBuilder:p,onItemMouseDown:m,rootRef:g}=hb({allowDragDrop:r,itemCount:u.length,onMoveItem:s,onSwitchWrappedItemIntoView:i,orientation:l});console.log(`Overflow container WRAPPER ${Ks.default.Children.count(e)} children`);let C={"--overflow-container-height":`${l==="vertical"?"100%":`${n}px`}`},v=(0,vl.default)(`${$s}-wrapContainer`,t,{[`${$s}-horizontal`]:l==="horizontal",[`${$s}-vertical`]:l==="vertical"}),x=u.map((b,w)=>{let{"data-align":k,"data-overflow-priority":D="0",id:T=`${o}-${w}`,label:M=`Item ${w+1}`}=b.props;return(0,Gr.jsx)("div",{className:(0,vl.default)(`${$s}-item`,{"vuuDraggable-dragAway":h===w}),"data-index":w,"data-align":k,"data-label":M,"data-overflow-priority":D,id:`${T}-wrapper`,onMouseDown:m,children:b},w)}),S=(0,Gr.jsx)("div",{className:`${$s}-OverflowIndicator`,"data-index":"overflow",children:(0,Gr.jsx)(db.PopupMenu,{icon:a,menuBuilder:p,menuActionHandler:d})},"overflow");return x.push(S),(0,Gr.jsxs)("div",{className:v,ref:g,style:C,children:[x,f]})});pb.displayName="OverflowContainer.InnerContainer";var Cl=(0,Ks.forwardRef)(function({allowDragDrop:e=!1,children:t,className:n,height:o=44,id:s,onMoveItem:i,onSwitchWrappedItemIntoView:l,orientation:a,overflowIcon:c,overflowPosition:u,...f},h){let d=ft(s);return console.log(`Overflow container ${Ks.default.Children.count(t)} children`),(0,Gr.jsx)("div",{...f,className:(0,vl.default)((0,vl.default)($s,n)),id:d,ref:h,children:(0,Gr.jsx)(pb,{allowDragDrop:e,height:o,id:d,orientation:a,overflowIcon:c,overflowPosition:u,onMoveItem:i,onSwitchWrappedItemIntoView:l,children:t})})});var mb=require("@vuu-ui/vuu-utils");var rh=W(require("classnames")),ic=require("react");var sc=require("react/jsx-runtime"),lD=r=>{let e=r.cloneNode(!0);return e.id="",delete e.dataset.idx,e},gb=(0,ic.memo)(({className:r,children:e,idx:t,resizeable:n,header:o,closeable:s,...i})=>(0,sc.jsx)(Ho,{className:(0,rh.default)("vuuPaletteItem",r),"data-draggable":!0,"data-icon":"draggable",...i}));gb.displayName="PaletteItem";var aD=({children:r,className:e,itemHeight:t=41,orientation:n="horizontal",ViewProps:o,...s})=>{let i=fn(),l="vuuPalette";function a(c){var k,D;let f=c.target.closest(".vuuPaletteItem"),h=parseInt((D=(k=f.dataset)==null?void 0:k.index)!=null?D:"-1"),{props:{caption:d,children:p,template:m,...g}}=r[h],{height:y,left:C,top:v,width:x}=f.getBoundingClientRect(),S=(0,mb.uuid)(),w=m?p:(0,sc.jsx)(Fs,{...o,...{id:S,key:S},...g,title:g.label,children:p});i({dragRect:{left:C,top:v,right:C+x,bottom:v+150,width:x,height:y},dragElement:lD(f),evt:c.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,DriftHomeIfNoDropTarget:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:w,type:"drag-start"})}return(0,sc.jsx)(No,{...s,className:(0,rh.default)(l,e,`${l}-${n}`),itemHeight:t,selected:null,children:r.map((c,u)=>c.type===gb?(0,ic.cloneElement)(c,{key:u,onMouseDown:a}):c)})};et("Palette",aD,"view");var oh=W(require("classnames")),Qr=W(require("react"));var wl=require("react/jsx-runtime"),bb="Tabs",cD=()=>{},uD=(r,e)=>{var t,n,o,s;return(s=(o=(t=r.props)==null?void 0:t.title)!=null?o:(n=r.props)==null?void 0:n["data-tab-title"])!=null?s:`Tab ${e+1}`},fD=r=>{let e=[];return Qr.default.Children.forEach(r,t=>{Qr.default.isValidElement(t)?e.push(t):console.warn("Stack has unexpected child element type")}),e},hD={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},sh=(0,Qr.forwardRef)(function({active:e=0,children:t,className:n,getTabIcon:o=cD,getTabLabel:s=uD,id:i,keyBoardActivation:l="manual",onAddTab:a,onMoveTab:c,onTabClose:u,onTabEdit:f,onTabSelectionChanged:h,showTabs:d="top",style:p,TabstripProps:m=hD},g){var M;let y=ft(i),{allowCloseTab:C,allowRenameTab:v,className:x}=m,S=(0,Qr.useCallback)((E,R,A,O)=>{f==null||f(O,R)},[f]),b=()=>{var E;return Qr.default.isValidElement(t)?t:Array.isArray(t)&&(E=t[e])!=null?E:null},w=()=>fD(t).map((E,R)=>{let{closeable:A=C,id:O=`${y}-${R}`,"data-tab-location":L}=E.props;return(0,wl.jsx)(xb,{ariaControls:O,"data-icon":o(E,R),id:`${O}-tab`,index:R,label:s(E,R),location:L,closeable:A,editable:v},O)}),k=b(),D=d==="left"||d==="right",T=D?"vertical":"horizontal";return(0,wl.jsxs)("div",{className:(0,oh.default)(bb,n,{[`${bb}-horizontal`]:D}),style:p,id:y,ref:g,children:[d?(0,wl.jsx)(yb,{...m,activeTabIndex:(M=m==null?void 0:m.activeTabIndex)!=null?M:k===null?-1:e,allowDragDrop:m.allowDragDrop!==!1,animateSelectionThumb:!0,className:(0,oh.default)("vuuTabHeader",x),keyBoardActivation:l,onActiveChange:h,onAddTab:a,onCloseTab:u,onExitEditMode:S,onMoveTab:c,orientation:T,children:w()}):null,k]})});sh.displayName="Stack";var vb=require("@salt-ds/core"),jr=W(require("react"));var lc=require("react/jsx-runtime"),dD=r=>(0,lc.jsx)(Fs,{resizeable:!0,title:`Tab ${r}`,style:{flexGrow:1,flexShrink:0,flexBasis:0},header:!0,closeable:!0,children:(0,lc.jsx)(Af,{style:{flex:1}})}),Cb=r=>{var S;let e=(0,jr.useRef)(null),t=fn(),{loadState:n}=Hs(),{createNewChild:o,id:s,onTabSelectionChanged:i,path:l,...a}=r,{children:c}=r,u=(0,vb.useIdMemo)(s),[f]=Ya(u,e,l),h=Rg(),d=(S=o!=null?o:h)!=null?S:dD,p=b=>{l&&(t({type:"switch-tab",id:u,path:l,nextIdx:b}),i==null||i(b))},m=(0,jr.useCallback)(b=>{if(Array.isArray(c)){let{props:{"data-path":w,path:k=w}}=c[b];t({type:"remove",path:k})}},[c,t]),g=(0,jr.useCallback)(()=>{if(l){let b=jr.default.Children.count(c),w=d(b);t({type:"add",path:l,component:w})}},[c,d,t,l]),y=(0,jr.useCallback)((b,w)=>{l&&t({fromIndex:b,toIndex:w,path:l,type:"move-child"})},[t,l]);return(0,lc.jsx)(sh,{...a,id:u,getTabLabel:(b,w)=>{let{id:k,title:D}=b.props;return n(k,"view-title")||D||`Tab ${w+1}`},onMouseDown:async(b,w)=>{let k;await f({type:"mousedown",index:w,preDragActivity:async()=>new Promise(M=>{console.log("preDragActivity: Ok, gonna release the drag"),k=M})},b)&&(k==null||k(void 0))},onMoveTab:y,onAddTab:g,onTabClose:m,onTabEdit:(b,w)=>{t({type:"set-title",path:`${l}.${b}`,title:w})},onTabSelectionChanged:p,ref:e})};Cb.displayName="Stack";et("Stack",Cb,"container");var yD=W(require("classnames")),ch=W(require("react"));var bD=require("@vuu-ui/vuu-utils"),Tb=require("react");var mD=require("@salt-ds/core"),wb=require("@vuu-ui/vuu-utils"),ih=require("react"),zt=require("@vuu-ui/vuu-utils");var pD=require("@vuu-ui/vuu-utils");var gK={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"}};var Sb=require("@vuu-ui/vuu-utils");var gD=require("react");var xD=require("react/jsx-runtime");var Eb=W(require("react"));var kb=require("react/jsx-runtime");var Db=require("@salt-ds/core"),Mb=require("react/jsx-runtime");var ac="(\\d+)(?:px)?",vD=`^(?:${ac}(?:\\s${ac}(?:\\s${ac}(?:\\s${ac})?)?)?)$`,iW=new RegExp(vD);var CD=W(require("react")),wD=W(require("classnames"));var SD=require("react/jsx-runtime");var ox=require("@salt-ds/core"),Zs=require("react");var Ws=require("react"),Ib=require("react/jsx-runtime"),Rb=(0,Ws.createContext)(void 0);function cc({children:r,collectionHook:e,...t}){return(0,Ib.jsx)(Rb.Provider,{value:e,children:Object.keys(t).length>0?(0,Ws.cloneElement)(r,t):r})}function Pb(){let r=(0,Ws.useContext)(Rb);if(r)return r}var ED=r=>Object.prototype.toString.call(r)==="[object Object]";function hn(r){return typeof r=="string"?r:ED(r)?Object.prototype.hasOwnProperty.call(r,"label")?String(r.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(r)}var qr=require("react");var Lb=["width"],Ob=["height"],Bo=new Map,Hb=(r,e,t)=>{switch(t){case"height":return e.height;case"clientHeight":return r.clientHeight;case"clientWidth":return r.clientWidth;case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(r.scrollHeight);case"scrollWidth":return Math.ceil(r.scrollWidth);case"width":return e.width;default:return 0}};var Ab=new ResizeObserver(r=>{for(let e of r){let{target:t,borderBoxSize:n,contentBoxSize:o}=e,s=Bo.get(t);if(s){let[{blockSize:i,inlineSize:l}]=n,[{blockSize:a,inlineSize:c}]=o,{onResize:u,measurements:f}=s,h=!1;for(let[d,p]of Object.entries(f)){let m=Hb(t,{height:i,width:l,contentHeight:a,contentWidth:c},d);m!==p&&(h=!0,f[d]=m)}h&&u&&u(f)}}});function xr(r,e,t,n=!1){let o=(0,qr.useRef)(e),s=r.current,i=(0,qr.useCallback)(l=>{let{width:a,height:c}=l.getBoundingClientRect(),{clientWidth:u,clientHeight:f}=l;return o.current.reduce((h,d)=>(h[d]=Hb(l,{width:a,height:c,contentHeight:f,contentWidth:u},d),h),{})},[]);(0,qr.useLayoutEffect)(()=>{async function l(){Bo.set(s,{measurements:{}}),await document.fonts.ready;let a=Bo.get(s);if(a){let c=i(s);a.measurements=c,Ab.observe(s),n&&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&&(Bo.has(s)&&console.log("useResizeObserver attemping to observe same element twice",{target:s}),l()),()=>{s&&Bo.has(s)&&(Ab.unobserve(s),Bo.delete(s))}},[i,s]),(0,qr.useEffect)(()=>{let l=r.current,a=Bo.get(l);if(a){if(o.current!==e){o.current=e;let c=i(l);a.measurements=c}a.onResize=t}},[e,i,r,t])}var lh=r=>r==="none";var Xr=r=>Array.isArray(r)?r.length>0:r!=null,Nb=r=>Array.isArray(r)?r[0]:r;var ke=require("react");var Us=require("react");var Bb=r=>null;var Fb=r=>null;var uh=(r,e)=>r!==null&&Object.prototype.hasOwnProperty.call(r,e),fh=r=>uh(r,"header"),zb=r=>uh(r,"childNodes"),Tl=(r,e)=>r&&Object.prototype.hasOwnProperty.call(r.props,e),Vb=r=>{if((0,Us.isValidElement)(r)){if(Tl(r,"disabled"))return r.props.disabled===!0}else if(uh(r,"disabled"))return r.disabled===!0;return!1},$b=r=>(0,Us.isValidElement)(r)&&Tl(r,"focusable")?r.props.focusable:!0,Kb=(r,e,t)=>{if(r.childNodes)return r.childNodes.length;if(r.header){let n=t+1,o=0;for(;n<e.length&&!e[n].header;)o++,n++;return o}else return 0},kD=r=>{if(typeof r.props.children=="string")return r.props.children;if(r.props.title)return r.props.title;if(r.props.label)return r.props.label},Wb=r=>r.type===Fb||Tl(r,"data-header"),Ub=r=>r.type===Bb||Tl(r,"data-group"),DD=r=>Tl(r,"selectable")?r.props.selectable===!0:!Ub(r)&&!Wb(r),MD=r=>{if(Ub(r)){let{props:{children:e}}=r;if(typeof e!="string")return dh(e)}},RD=(r,e)=>{let t=[];return Us.Children.forEach(r,n=>{(0,Us.isValidElement)(n)&&t.push(e(n))}),t},hh=(r,e)=>{if(Array.isArray(r))return r.length===0&&(e!=null&&e.noChildrenLabel)?[{label:e.noChildrenLabel,value:null}]:r.map((t,n)=>{var o,s;return{childNodes:hh(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:hn(t)}});if(r)throw Error("list-child-items expects source to be an array")},dh=r=>{if(r)return RD(r,e=>{let{"data-id":t,disabled:n,id:o=t,"data-expanded":s,expanded:i=s}=e.props;return{childNodes:MD(e),disabled:n,expanded:i,header:Wb(e),id:o,label:kD(e),selectable:DD(e),value:e}})},PD=new Set(["/","-","."]),ID=r=>PD.has(r),_b=(r,e)=>e.startsWith(r)&&ID(e[r.length]),AD=new Set([".","/"]);function LD(r,e){return e.startsWith(r)?AD.has(e.charAt(r.length)):!1}function uc(r,e,t){let n;return r.map(s=>s.id===e?{...s,...t}:LD(s.id,e)&&s.childNodes?(n=uc(s.childNodes,e,t),{...s,childNodes:n}):s)}var OD=/[.*+?^${}()|[\]\\]/g;function fc(r){return r.replace(OD,"\\$&")}var Sl=(r,e)=>Object.keys(r).reduce((n,o)=>{let s=r[o],i=e[o];return typeof s=="function"&&typeof i=="function"&&(n[o]=(...l)=>{s(...l),i(...l)}),n},{...e});var HD=r=>r&&r.replace(/^\s+/g,""),ph=r=>new RegExp(`(${fc(HD(r))})`,"gi"),Gb=(r="",e=ph)=>(t="")=>!!t.length&&!!r.length&&t.match(e(r))!==null;function hc(r,e){return Array.isArray(r)?r.includes(e.id):r===e.id}var dn=require("react");function ah({controlled:r,default:e,name:t,state:n="value"}){let{current:o}=(0,dn.useRef)(r!==void 0),[s,i]=(0,dn.useState)(e),l=r!==void 0?r:s,{current:a}=(0,dn.useRef)(e);(0,dn.useEffect)(()=>{},[n,t,r]),(0,dn.useEffect)(()=>{},[JSON.stringify(e,ND)]);let c=(0,dn.useCallback)(u=>{o||i(u)},[o]);return[l,c,o]}function ND(r,e){return(0,dn.isValidElement)(e)?null:e}var BD={},Yr=({children:r,id:e,options:t=BD,source:n})=>{var L;let{getItemId:o}=t,[,s]=(0,ke.useState)(null),i=Pb(),l=(0,ke.useRef)([]),a=(0,ke.useRef)([]),c=(0,ke.useMemo)(()=>[],[]),u=(0,ke.useRef)((L=t.filterPattern)!=null?L:""),{getFilterRegex:f=ph,noChildrenLabel:h,itemToString:d=hn}=t,p=(0,ke.useCallback)(()=>t.defaultExpanded||!1,[t.defaultExpanded]),m=(0,ke.useCallback)((P,I,B=1,H="",z=[],V=[],Q=[])=>(P.forEach((q,Y,_)=>{var Je,ne;let J=q.header&&t.collapsibleHeaders,he=q.childNodes&&t.collapsibleHeaders===!1,le=!q.childNodes||q.childNodes.length===0,Fe=he||le&&!J,Ce=H?`${H}.${Y}`:`item-${Y}`,Le=(Je=q.id)!=null?Je:o?o(Y):`${e}-${Ce}`,De=Fe?void 0:(ne=q.expanded)!=null?ne:p(),Pe={...q,childNodes:void 0,count:!he&&De===void 0?0:Kb(q,_,Y),description:q.description,disabled:Vb(q.value),focusable:$b(q.value)?void 0:!1,id:Le,index:I.value,expanded:De,level:B};if(z.push(Pe),V.push(Pe),Q.push(P[Y].value),I.value+=1,q.childNodes){let[me]=m(q.childNodes,I,B+1,Ce,[],V,Q);Pe.childNodes=me}}),[z,Q,V]),[t.collapsibleHeaders,o,e,p]),g=(0,ke.useCallback)(()=>u.current?Gb(u.current,f):null,[f]),y=(0,ke.useCallback)((P,I=g(),B=[],H={value:0})=>{let z=!1;for(let V of P)z&&!fh(V)||(V.value!==null&&(I===null||I(d(V.value)))&&(B[H.value]=V,H.value+=1),z=!1,fh(V)&&V.expanded===!1?z=!0:zb(V)&&V.expanded!==!1&&V.childNodes&&y(V.childNodes,I,B,H));return B},[g,d]),C=(0,ke.useMemo)(()=>i?c:hh(n,{itemToString:d,noChildrenLabel:h})||dh(r)||[],[i,c,n,d,h,r]),[v,x,S]=(0,ke.useMemo)(()=>i?[c,c,c]:m(C,{value:0}),[c,m,i,C]);a.current=S,(0,ke.useMemo)(()=>i?c:l.current=y(v),[c,y,v,i]);let b=(0,ke.useRef)(v),w=(0,ke.useCallback)((P="")=>{typeof P=="string"&&(u.current=P,l.current=y(v),s({}))},[v,y]),k=(0,ke.useCallback)((P,I=v)=>{let B=I.find(H=>{var z;return H.id===P||((z=H==null?void 0:H.childNodes)==null?void 0:z.length)&&_b(H.id,P)});if((B==null?void 0:B.id)===P)return x==null?void 0:x[B.index];if(B)return k(P,B.childNodes);throw Error(`useCollectionData itemById, id ${P} not found `)},[x,v]),D=(0,ke.useCallback)(P=>{let I=a.current.find(B=>(0,ke.isValidElement)(B.value)?B.label===P:B.value===P);if(I)return I;throw Error("useCollectionData toCollectionItem, item not found ")},[]),T=(0,ke.useCallback)(P=>{if(P===null)return null;if(Array.isArray(P)){let I=[];for(let B of P){let H=D(B);I.push(H)}return I}else if(P!==void 0)return D(P)},[D]),M=(0,ke.useCallback)(P=>{if(P===void 0)return;let I=T(P);return Array.isArray(I)?I.map(B=>B.id):I?I.id:null},[T]),E=(0,ke.useCallback)(P=>{let I=B=>{let H=a.current.find(z=>(0,ke.isValidElement)(z.value)?z.label===B:z.value!==null&&d(z.value)===B);if(H)return H};if(P===null)return null;if(Array.isArray(P)){let B=[];for(let H of P){let z=I(H);z&&B.push(z)}return B}else if(P!==void 0)return I(P)},[d]),R=(0,ke.useCallback)(P=>{for(let I of b.current)if(P===I.value)return I.id;throw Error("useCollectionData itemToId, item not found")},[]),A=(0,ke.useCallback)(P=>{b.current=uc(b.current,P.id,{expanded:!1}),l.current=y(b.current),s({})},[y]),O=(0,ke.useCallback)(P=>{b.current=uc(b.current,P.id,{expanded:!0}),l.current=y(b.current),s({})},[y]);return i||{collapseGroupItem:A,data:l.current,expandGroupItem:O,setFilterPattern:w,itemById:k,itemToId:R,toCollectionItem:D,itemToCollectionItem:T,itemToCollectionItemId:M,stringToCollectionItem:E}};var mh=W(require("classnames")),qb=require("@salt-ds/core"),vr=require("react");var dc=require("@salt-ds/core"),pn=require("react");var El=require("react"),FD=[],Qb=({popperRef:r,rootRef:e,isOpen:t,onClose:n})=>{let o=(0,El.useRef)(t);(0,El.useEffect)(()=>{o.current=t},[t]),(0,El.useEffect)(()=>{let[s,i]=t?[l=>{var c,u;let a=l.target;!((c=r.current)!=null&&c.contains(a))&&!((u=e.current)!=null&&u.contains(a))&&n()},l=>{l.key==="Escape"&&o.current&&(n(),l.stopPropagation())}]:FD;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,n,r,e])};var zD=[],jb=({defaultIsOpen:r,disabled:e,fullWidth:t,id:n,isOpen:o,onOpenChange:s,onKeyDown:i,openKeys:l=["Enter","ArrowDown"," "],openOnFocus:a,popupComponent:c,popupWidth:u,rootRef:f,width:h})=>{var O;let d=(0,pn.useRef)(null),p=(0,pn.useRef)(null),m=(0,pn.useCallback)(L=>{p.current=L},[]),[g,y]=(0,dc.useControlled)({controlled:o,default:!!r,name:"useDropdown",state:"isOpen"}),[C,v]=(0,pn.useState)({width:(O=u!=null?u:h)!=null?O:0}),x=(0,pn.useCallback)(()=>{y(!0),s==null||s(!0)},[s,y]),S=(0,pn.useCallback)(()=>{y(!1),s==null||s(!1)},[s,y]);Qb({popperRef:p,rootRef:f,isOpen:g,onClose:S});let b=(0,pn.useCallback)(()=>{e||a&&(y(!0),s==null||s(!0),d.current=window.setTimeout(()=>{d.current=null},1e3))},[e,s,a,y]),w=(0,pn.useCallback)(L=>{if(["Enter"," "].indexOf(L.key)===-1){let P=!g;y(P),s==null||s(P)}},[g,y,s]),k=(0,pn.useCallback)(L=>{(L.key==="Tab"||L.key==="Escape")&&g?(L.key==="Escape"&&(L.stopPropagation(),L.preventDefault()),S()):l.includes(L.key)&&!g?(L.preventDefault(),x()):i==null||i(L)},[S,g,i,l,x]),D=t!=null?t:!1;xr(f,D?Lb:zD,v,D);let M=`${n}-dropdown`,E={"aria-expanded":g,"aria-owns":g?M:void 0,id:`${n}-control`,onClick:e||a?void 0:w,onFocus:b,role:"listbox",onKeyDown:e?void 0:k,style:{width:D?void 0:h}},R={id:M,width:C.width},A=(0,dc.useForkRef)(m,p);return{componentProps:R,popupComponentRef:A,isOpen:g,label:"Dropdown Button",triggerProps:E}};var mc=require("@vuu-ui/vuu-popups");var kl=require("react/jsx-runtime"),pc="vuuDropdown",gc=(0,vr.forwardRef)(function({"aria-labelledby":e,children:t,className:n,defaultIsOpen:o,disabled:s,fullWidth:i,id:l,isOpen:a,onKeyDown:c,onOpenChange:u,openKeys:f,openOnFocus:h,placement:d="below",popupWidth:p,width:m,...g},y){let C=(0,vr.useRef)(null),v=(0,mh.default)(pc,n,{[`${pc}-fullWidth`]:i,[`${pc}-disabled`]:s}),[x,S]=vr.Children.toArray(t),b=ft(l),{componentProps:w,isOpen:k,popupComponentRef:D,triggerProps:T}=jb({ariaLabelledBy:e,defaultIsOpen:o,disabled:s,fullWidth:i,id:b,isOpen:a,onOpenChange:u,onKeyDown:c,openKeys:f,openOnFocus:h,popupComponent:S,popupWidth:p,rootRef:C,width:m}),M=()=>{let{id:A,role:O,...L}=T,{id:P=A,role:I=O,...B}=x.props;return(0,vr.cloneElement)(x,Sl(B,{...L,id:P,role:I}))},E=()=>{let{id:A,width:O,...L}=w,{className:P,id:I=A,width:B,...H}=S.props;return(0,vr.cloneElement)(S,{...H,...L,className:(0,mh.default)(P,`${pc}-popup-component`),id:I,ref:D,width:B!=null?B:O})},R=(0,qb.useForkRef)(C,y);return(0,kl.jsxs)("div",{...g,className:v,id:l,ref:R,children:[M(),k&&(0,kl.jsx)(mc.Portal,{children:(0,kl.jsx)(mc.PopupComponent,{anchorElement:C,placement:d,children:E()})})]})});var Xb=require("@salt-ds/core"),Yb=W(require("classnames")),Jb=require("react");var _s=require("react/jsx-runtime"),Dl="vuuDropdownButton",Zb=(0,Jb.forwardRef)(function({ariaHideOptionRole:e,className:t,disabled:n,icon:o="chevron-down",isOpen:s,label:i,labelId:l,fullWidth:a,posInSet:c,setSize:u,labelAriaAttributes:f,...h},d){return(0,_s.jsx)(Xb.Button,{className:(0,Yb.default)(Dl,{[`${Dl}-fullWidth`]:a},t),disabled:n,variant:"secondary",...h,ref:d,children:(0,_s.jsxs)("div",{className:`${Dl}-content`,children:[(0,_s.jsx)("span",{"aria-hidden":e?"true":void 0,...f,className:`${Dl}-buttonLabel`,id:l,role:"option",children:i}),(0,_s.jsx)("span",{className:`${Dl}-buttonIcon`,"data-icon":o,"aria-hidden":"true"})]})})});var Zy=require("@salt-ds/core"),Cr=require("react");function VD(r,...e){let t=new Set(r);for(let n of e)for(let o of n)t.add(o);return t}var Ml="ArrowUp",Rl="ArrowDown",ey="ArrowLeft",ty="ArrowRight",gh="Enter";var bc="Home",Pl="End",bh="PageUp",yc="PageDown",ny=" ",$D=new Set(["Enter","Delete"," "]),KD=new Set(["Tab"]),WD=new Set(["ArrowRight","ArrowLeft"]),ry=new Set([bc,Pl,bh,yc,Rl,Ml]),UD=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),_D=VD($D,ry,WD,UD,KD),xc=r=>_D.has(r.key)?!1:r.key.length===1&&!r.ctrlKey&&!r.metaKey&&!r.altKey,oy=({key:r})=>ry.has(r);var yh=require("react");var GD={},QD=r=>Array.isArray(r.childNodes),jD=r=>!0,qD=r=>r.closest("[data-toggle],[aria-expanded]").dataset.toggle==="true",sy=({collapsibleHeaders:r,collectionHook:e,highlightedIdx:t,onToggle:n})=>{let o=(0,yh.useCallback)(l=>{if(l.key===ty||l.key===gh){let a=e.data[t];a&&a.expanded===!1&&a.value&&(l.preventDefault(),e.expandGroupItem(a),n==null||n(a.value))}if(l.key===ey||l.key===gh){let a=e.data[t];a&&a.expanded&&a.value&&(l.preventDefault(),e.collapseGroupItem(a),n==null||n(a.value))}},[e.collapseGroupItem,e.data,e.expandGroupItem,t]),i={onClick:(0,yh.useCallback)(l=>{console.log(`useCollapsibleGroups idx=${t}`);let a=e.data[t];console.log(l.target,l.currentTarget),a&&QD(a)&&(!jD(a)||qD(l.target))&&(l.stopPropagation(),l.preventDefault(),a.expanded===!1&&a.value?(e.expandGroupItem(a),n==null||n(a.value)):a.expanded===!0&&a.value&&(e.collapseGroupItem(a),n==null||n(a.value)))},[e.collapseGroupItem,e.data,e.expandGroupItem,t]),onKeyDown:o};return r?i:GD};function XD(r){if(r){let e=r.dataset.index;if(e)return parseInt(e,10);if(e=r.ariaPosInSet)return parseInt(e,10)-1}return-1}var YD=r=>r.closest("[data-index],[aria-posinset]");var iy=r=>XD(YD(r));var vc=require("react"),JD={scrollToIndex:()=>{},scrollToItem:()=>{},scrollTo:()=>{}},Cc=({collectionHook:r,forwardedRef:e,scrollableRef:t,scrollIntoView:n})=>{let o=(0,vc.useMemo)(()=>({scrollToIndex:s=>{let i=r.data[s];i&&(n==null||n(i))},scrollToItem:s=>{let i=r.toCollectionItem(s);i&&(n==null||n(i))},scrollTo:s=>{t!=null&&t.current&&(t.current.scrollTop=s)}}),[r,n,t]);(0,vc.useImperativeHandle)(e,()=>t.current?o:JD,[o,t])};var cy=require("@salt-ds/core"),It=require("react");var wc=require("@vuu-ui/vuu-utils"),vh=-2;function ly(r,e,t){return e===Ml||e===Pl?t>0?t-1:t:t===null?0:t===r-1?t:t+1}var xh=(r,e)=>{let t=Nb(e);return t?r.indexOf(t):-1},ZD=(r,e,t,n)=>r===Pl?n:r===bc?-1:e!==-1?e:t,eM=(r,e,t,n)=>{let{top:o}=e.getBoundingClientRect(),{scrollTop:s,clientHeight:i,scrollHeight:l}=r,a=t-1,c=Math.min(s+i,l-i);if(c!==s&&n<a){r.scrollTo(0,c);let u=n,f;do u+=1,f=(0,wc.getElementByDataIndex)(r,u,!0).getBoundingClientRect();while(f.top<o&&u<a);return u}},tM=async(r,e,t)=>{let{top:n}=e.getBoundingClientRect(),{scrollTop:o,clientHeight:s}=r,i=Math.max(o-s,0);if(i!==o&&t>0)return r.scrollTo(0,i),new Promise(l=>{requestAnimationFrame(()=>{let a=t,c;do a-=1,c=(0,wc.getElementByDataIndex)(r,a,!0).getBoundingClientRect();while(c.top>n&&a>0);l(a)})})},nM=r=>!r.header&&!r.childNodes,ay=r=>nM(r)||r.expanded!==void 0,uy=({containerRef:r,defaultHighlightedIndex:e=-1,disableHighlightOnFocus:t,highlightedIndex:n,indexPositions:o,itemCount:s,onHighlight:i,onKeyboardNavigation:l,restoreLastFocus:a,selected:c,viewportItemCount:u})=>{let f=(0,It.useRef)(-1),[,h]=(0,It.useState)({}),[d,p,m]=(0,cy.useControlled)({controlled:n,default:e,name:"UseKeyboardNavigation"}),g=(0,It.useCallback)((T,M=!1)=>{i==null||i(T),p(T),M&&(f.current=T)},[i,p]),y=(0,It.useCallback)(async(T,M)=>{let E=(0,wc.getElementByDataIndex)(r.current,M,!0),R;if(E){let{current:A}=r;E&&A&&(R=T===yc?eM(A,E,s,M):await tM(A,E,M))}return R!=null?R:M},[r,s]),C=(0,It.useCallback)((T=Rl,M=T===Rl?-1:s)=>{if(s===0)return-1;{let E=xh(o,c),R=ZD(T,M,E,s),A=ly(s,T,R);if(A===0&&T===Ml&&!ay(o[0]))return M;for(;((T===Rl||T===bc)&&A<s||(T===Ml||T===Pl)&&A>0)&&!ay(o[A]);)A=ly(s,T,A);return A}},[o,s,c]),v=(0,It.useRef)(!1),x=(0,It.useRef)(!1),S=T=>x.current=T,b=(0,It.useCallback)(()=>{if(x.current)x.current=!1;else if(v.current=!0,o.length===0)g(vh);else if(d!==-1)h({});else if(a)if(f.current!==-1)g(f.current);else{let T=xh(o,c);g(T!==-1?T:0)}else if(Xr(c)){let T=xh(o,c);g(T)}else t!==!0&&g(C())},[t,d,o,C,a,c,g]),w=(0,It.useCallback)(async T=>{let M=T.key===yc||T.key===bh?await y(T.key,d):C(T.key,d);M!==d&&g(M,!0),l==null||l(T,M)},[d,C,y,l,g]),k=(0,It.useCallback)(T=>{s>0&&oy(T)?(T.preventDefault(),T.stopPropagation(),v.current=!0,w(T)):xc(T)&&(v.current=!0)},[s,w]),D=(0,It.useMemo)(()=>({onBlur:T=>{let M=T.target.closest(".vuuList"),E=T.relatedTarget;M&&!(M!=null&&M.contains(E))&&(v.current=!1,p(-1),a||(f.current=-1))},onFocus:b,onKeyDown:k,onMouseDownCapture:()=>{v.current=!1,S(!0)},onMouseMove:()=>{v.current&&(v.current=!1)},onMouseLeave:()=>{v.current=!1,S(!1),g(-1)}}),[b,k,a,p,g]);return{focusVisible:v.current?d:-1,controlledHighlighting:m,highlightedIndex:d,setHighlightedIndex:g,keyboardNavigation:v,containerProps:D,setIgnoreFocus:S}};var Nn=require("@vuu-ui/vuu-utils"),Jt=require("react");var rM={},oM=["Enter"," "];var fy=({containerRef:r,defaultSelected:e,disableSelection:t=!1,highlightedIdx:n,itemQuery:o,onSelect:s,onSelectionChange:i,selected:l,selectionStrategy:a,selectionKeys:c=oM,tabToSelect:u})=>{let f=a==="deselectable",h=a==="multiple",d=a==="extended",p=(0,Jt.useRef)(-1),m=(0,Jt.useCallback)(E=>c.includes(E.key),[c]),g=(0,Jt.useCallback)(()=>h||d?[]:null,[h,d]),[y,C]=ah({controlled:l,default:e!=null?e:g(),name:"UseSelection",state:"selected"}),v=(0,Jt.useCallback)(E=>Array.isArray(y)?y.includes(E):y===E,[y]),x=(0,Jt.useCallback)(E=>v(E)?null:E,[v]),S=(0,Jt.useCallback)(E=>{let R=v(E)?y.filter(A=>A!==E):y.concat(E);return R.sort(),R},[v,y]),b=(0,Jt.useCallback)((E,R)=>{let A=R?y:[],[O]=y.slice(-1),L=O?(0,Nn.getElementDataIndex)(document.getElementById(O)):0,P=Math.min(E,L),I=Math.max(E,L),B=r.current,z=Array.from(B.querySelectorAll(o)).slice(P,I+1).map(Q=>Q.id),V=[...new Set([...A,...z])];return V.sort(),V},[r,o,y]),w=(0,Jt.useCallback)((E,R,A,O)=>{let{current:L}=r,{id:P}=(0,Nn.getElementByDataIndex)(L,R,!0),I;h?I=S(P):d?O&&!A?I=S(P):A?I=b(R,O):I=[P]:f?I=x(P):I=P,I!==y&&C(I),s==null||s(E,P),I!==y&&i&&i(E,I)},[r,h,d,f,y,s,S,b,x,C,i]),k=(0,Jt.useCallback)(E=>{let{current:R}=r,A=(0,Nn.getElementByDataIndex)(R,n);(0,Nn.isSelectableElement)(A)&&(m(E)||u&&E.key==="Tab")&&(E.key!=="Tab"&&E.preventDefault(),w(E,n,!1,E.ctrlKey||E.metaKey),d&&(p.current=n))},[n,r,m,u,w,d]),D=(0,Jt.useCallback)((E,R)=>{if(d&&E.shiftKey){let{current:A}=r,O=(0,Nn.getElementByDataIndex)(A,R);(0,Nn.isSelectableElement)(O)&&w(E,R,!0)}},[d,r,w]),T=(0,Jt.useCallback)(E=>{let{current:R}=r,A=(0,Nn.getElementByDataIndex)(R,n);!t&&(0,Nn.isSelectableElement)(A)&&(E.preventDefault(),E.stopPropagation(),w(E,n,E.shiftKey,E.ctrlKey||E.metaKey),d&&(p.current=n))},[r,n,t,w,d]);return{listHandlers:lh(a)?rM:{onClick:T,onKeyDown:k,onKeyboardNavigation:D},selected:y,setSelected:C}};var Fo=require("react");var hy=({disableTypeToSelect:r,highlightedIdx:e,highlightItemAtIndex:t,typeToNavigate:n,items:o,applyIncrementalSearch:s=!0})=>{let i=(0,Fo.useRef)(null),l=(0,Fo.useRef)(""),a=(0,Fo.useRef)(-1),c=(0,Fo.useCallback)(f=>{if(f||!s){let h=new RegExp(`^${l.current}`,"i"),d=o.findIndex(({label:p},m)=>m>a.current&&h.test(p));d===-1&&(d=o.findIndex(({label:p},m)=>m<=a.current&&h.test(p))),d!==-1&&t(d)}else l.current="",i.current=null,a.current=-1},[s,t,o]),u=(0,Fo.useCallback)(f=>{let h=a.current!==-1;(xc(f)||h&&f.key===ny)&&n&&(f.preventDefault(),f.stopPropagation(),(a.current===-1||f.key===l.current)&&(a.current=e),i.current!==null&&(clearTimeout(i.current),i.current=null),f.key!==l.current&&(l.current+=f.key),s&&c(!0),i.current=window.setTimeout(()=>{c()},100))},[n,s,e,c]);return{onKeyDown:r?void 0:u}};var Jn=require("react");var gy=require("@salt-ds/core"),dy=["height"],sM=["height","scrollHeight"],iM=[],py={containerOnly:[sM,iM],withContent:[dy,dy]},lM=r=>r?py.containerOnly:py.withContent,my={current:null},aM=(r,e)=>{let{transform:t="none"}=getComputedStyle(r);if(t.startsWith("matrix")){let n=t.lastIndexOf(",");return parseInt(t.slice(n+1))}else{let n=r.offsetParent;if(n===e||e===null)return r.offsetTop;{let o=r.offsetTop;for(;n!==null&&n!==e;)o+=n.offsetTop,n=n.offsetParent;return o}}},by=({containerRef:r,contentRef:e=my,highlightedIdx:t=-1,indexPositions:n,stickyHeaders:o=!1})=>{let s=(0,Jn.useRef)(!1),i=(0,Jn.useRef)({height:0,contentHeight:0}),l=(0,Jn.useCallback)(m=>{s.current=!0,r.current&&(r.current.scrollTop=m),setTimeout(()=>{s.current=!1})},[]),a=(0,Jn.useCallback)(()=>l(0),[l]),c=(0,Jn.useCallback)(()=>{l(i.current.contentHeight-i.current.height)},[l]),u=(0,Jn.useCallback)(m=>{let g=e.current||r.current;if(m.id){let y=document.getElementById(m.id);if(y&&r.current){let{height:C}=i.current,v=y.ariaExpanded&&y.firstChild?y.firstChild:y,x=o?36:0,S=aM(v,g),b=v.offsetHeight,{scrollTop:w}=r.current,k=w+x,D=k+C-x;if(S+b>D||S<k){let T=S+b>D?w+(S+b)-D:S-x;l(T)}}}},[r,e,l,o]);(0,gy.useIsomorphicLayoutEffect)(()=>{let{height:m,contentHeight:g}=i.current,y=n[t];if(g>m&&y){let[C]=n,[v]=n.slice(-1);y===C?a():y===v?c():u(n[t])}},[t,n,u,c,a]);let f=(0,Jn.useCallback)(({height:m,scrollHeight:g})=>{typeof m=="number"&&(i.current.height=m),typeof g=="number"&&(i.current.contentHeight=g)},[]),h=(0,Jn.useCallback)(({height:m})=>{typeof m=="number"&&(i.current.contentHeight=m)},[]),[d,p]=lM(e===my);return xr(r,d,f,!0),xr(e,p,h,!0),{isScrolling:s,scrollIntoView:u}};var yy=require("@salt-ds/core");var Gs=require("react/jsx-runtime"),cM=(0,yy.makePrefixer)("saltHighlighter"),xy=r=>{let{matchPattern:e,text:t=""}=r,n=typeof e=="string"?new RegExp(`(${fc(e)})`,"gi"):e;return n===void 0?(0,Gs.jsx)(Gs.Fragment,{children:t}):(0,Gs.jsx)("span",{children:t.split(n).map((o,s)=>o.match(n)?(0,Gs.jsx)("strong",{className:cM("highlight"),children:o},`${s}-${o}`):o)})};var wh=require("react"),Sh=W(require("classnames"));var Cy=W(require("react")),wy=W(require("classnames"));var vy="vuuCheckboxIcon",Ch=({checked:r=!1,...e})=>Cy.default.createElement("span",{...e,className:(0,wy.default)(vy,{[`${vy}-checked`]:r})});var zo=require("react/jsx-runtime"),Il="vuuListItem",Sc=(0,wh.forwardRef)(function({height:e,...t},n){return(0,zo.jsx)("div",{...t,"aria-hidden":!0,className:(0,Sh.default)(Il,`${Il}-proxy`),ref:n,style:{height:e}})}),Ho=(0,wh.forwardRef)(function({children:e,className:t,disabled:n,tabIndex:o,item:s,itemHeight:i,itemTextHighlightPattern:l,label:a,selectable:c,selected:u,showCheckbox:f,style:h,...d},p){let m=(0,Sh.default)(Il,t,{vuuDisabled:n,[`${Il}-checkbox`]:f}),g=i!==void 0?{...h,height:i}:h;return(0,zo.jsxs)("div",{className:m,...d,"aria-disabled":n||void 0,"aria-selected":u||void 0,ref:p,style:g,children:[f&&(0,zo.jsx)(Ch,{"aria-hidden":!0,checked:u}),e&&typeof e!="string"?e:l==null?(0,zo.jsx)("span",{className:`${Il}-textWrapper`,children:a||e}):(0,zo.jsx)(xy,{matchPattern:l,text:a||e})]})});var _y=require("@salt-ds/core"),Pc=W(require("classnames")),$t=require("react");var ht=require("react");var Qs=require("react");var uM=require("@vuu-ui/vuu-utils"),Sy=require("react");var pM=require("react/jsx-runtime"),fM={isDragSource:!1,isDropTarget:!1,register:()=>{}},hM=()=>console.log("have you forgotten to provide a DragDrop Provider ?"),dM=(0,Qs.createContext)({registerDragDropParty:hM});var Ty=r=>{var i,l;let{dragSources:e,dropTargets:t,onDragOut:n,onEndOfDragOperation:o,registerDragDropParty:s}=(0,Qs.useContext)(dM);if(r){let a=(i=e==null?void 0:e.has(r))!=null?i:!1,c=(l=t==null?void 0:t.has(r))!=null?l:!1;return{isDragSource:a,isDropTarget:c,onDragOut:n,onEndOfDragOperation:o,register:s}}else return fM};var Tc=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:n,clientY:o}=e,s=t.getBoundingClientRect();return{x:n-s.left,y:o-s.top}}};var st=require("react");var Bn=require("react");var mM=["left","right"],gM=["top","bottom"],Ec=":not(.wrapped)",Ey=':not([aria-hidden="true"])',ky=r=>{let e=r.cloneNode(!0);return e.removeAttribute("id"),e.dataset.index="-1",e},bM=(r,e="width",t=!1)=>{let n=e==="width"?"left":"top",{[e]:o,[n]:s}=r.getBoundingClientRect(),{padEnd:i=!1,padStart:l=!1}=r.dataset,a=getComputedStyle(r),[c,u]=e==="width"?mM:gM,f=l&&!t?0:parseInt(a.getPropertyValue(`margin-${c}`),10),h=i&&!t?0:parseInt(a.getPropertyValue(`margin-${u}`),10),d=o;if(parseInt(a.getPropertyValue("flex-shrink"),10)>0){let m=parseInt(a.getPropertyValue("flex-basis"),10);!isNaN(m)&&m>0&&(d=m)}return[s,f+d+h]},yM={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"}},Vt=r=>yM[r],Dy=(r,e)=>{let t=r.find(n=>n.id===e);if(t)return t},My=(r,e)=>{r.splice(e,1);for(let t=e;t<r.length;t++)r[t].currentIndex-=1},js=(r,e,t,n,o)=>{let s=[],{DIMENSION:i}=Vt(e),l=Array.from(t?r.querySelectorAll(t):r.children),a=l.length,c=typeof(n==null?void 0:n.from)=="number"?n.atEnd?Math.max(0,n.from-1):n.from:0,u=typeof(n==null?void 0:n.to)=="number"?Math.min(n.to+2,a-1):a-1;for(let f=c;f<=u;f++){let h=l[f],[d,p]=bM(h,i),m=f===a-1,g=h.id;s.push({currentIndex:f,id:g,index:f,isDraggedItem:o===g,isLast:m,isOverflowIndicator:h.dataset.index==="overflow",element:h,start:d,end:d+p,size:p,mid:d+p/2})}return s},qs=(r,e=!1)=>{let t=r.findIndex(n=>n.isDraggedItem);if(e){let{index:n}=r[t],o=r.filter(i=>!i.isDraggedItem).reduce((i,l)=>Math.min(i,l.index),Number.MAX_SAFE_INTEGER);if(o>0&&!(n===0&&o===1))return o+t}return t},Th=(r,e)=>{let t=qs(r),n=e==="fwd"?t+1:t-1;if(n<0||n>=r.length)throw Error("switchDropTargetPosition index out of range");let o=r.at(t),s=r.at(n),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,f=o.end+i,h={...s,start:u,mid:Math.floor(u+(f-u)/2),end:f};r.splice(t,2,h,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,f=o.end,h={...s,start:u,mid:Math.floor(u+(f-u)/2),end:f};r.splice(n,2,c,h)}},Vo=(r,e,t,n)=>{let o=r.length,s=qs(r),i=r[s];if(n==="fwd"){let l=Math.round(e+t);for(let a=o-1;a>=0;a--){let c=r[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=r[a];if(l<c.mid)return a>s?i:c}}throw Error("no dropTraget identified")};function Ry(r,e){let{height:t,left:n,top:o,width:s}=r,{height:i,width:l}=e;return{height:Math.min(t,i),left:n,top:o,width:Math.min(s,l)}}var Eh=r=>r.map((e,t)=>{var n;return`
|
|
19
|
+
${e.isDraggedItem?"*":" "}[${t}] width : ${Math.floor(e.size)} ${Math.floor(e.start)} - ${Math.floor(e.end)} (mid ${Math.floor(e.mid)}) ${(n=e.element)==null?void 0:n.textContent} `}).join("");var Py=require("@salt-ds/core"),Iy=W(require("classnames")),kc=require("react"),Ay=require("@vuu-ui/vuu-popups");var kh=require("react/jsx-runtime"),xM=r=>r.split(" ").map(e=>`vuuDraggable-${e}`),Dc=(0,kc.forwardRef)(function({wrapperClassName:e,element:t,onTransitionEnd:n,style:o,scale:s=1},i){let l=(0,kc.useCallback)(c=>{c&&(c.innerHTML="",c.appendChild(t),s!==1&&(c.style.transform=`scale(${s},${s})`))},[t,s]),a=(0,Py.useForkRef)(i,l);return(0,kh.jsx)(Ay.PortalDeprecated,{children:(0,kh.jsx)("div",{className:(0,Iy.default)("vuuDraggable",...xM(e)),ref:a,onTransitionEnd:n,style:o})})}),Dh=r=>{let e=document.createElement("div");return e.className="vuuDraggable-spacer",r&&e.addEventListener("transitionend",()=>{r.current=!1}),e},Ly=()=>{let r=document.createElement("div");return r.className="vuuDraggable-dropIndicatorPosition",r},Oy=r=>{let e=document.createElement("div");return e.className="vuuDraggable-dropIndicator",r&&e.addEventListener("transitionend",()=>{r.current=!1}),e};var Hy=(r="horizontal")=>{let e=(0,Bn.useRef)(0),t=(0,Bn.useRef)(!1),n=(0,Bn.useMemo)(()=>[Dh(t),Dh()],[]),o=(0,Bn.useCallback)((c,u="width")=>{let[f,h]=n;e.current=requestAnimationFrame(()=>{t.current=!0,f.style.cssText=`${u}: 0px`,h.style.cssText=`${u}: ${c}px`,n[0]=h,n[1]=f})},[n]),s=(0,Bn.useCallback)((c=!1)=>{if(c===!0){let[u]=n,f=()=>{u.removeEventListener("transitionend",f),s()},h=r==="horizontal"?"width":"height";u.addEventListener("transitionend",f),o(0,h)}else n.forEach(u=>u.remove())},[o,r,n]),i=(0,Bn.useCallback)(()=>{e.current&&(cancelAnimationFrame(e.current),e.current=0)},[]),l=(0,Bn.useCallback)((c,u,f,h=!1,d="static")=>{if(u){let p=r==="horizontal"?"width":"height",[m,g]=n;if(i(),h)t.current?(s(),m.style.cssText=`${p}: ${f}px`,g.style.cssText=`${p}: 0px`,d==="fwd"?(u.element.before(m),u.element.after(g)):(u.element.after(m),u.element.before(g))):d==="fwd"?u.element.after(g):u.element.before(g),o(f,p);else if(d==="static")m.style.cssText=`${p}: ${f}px`,u.element.before(m);else throw Error("useDragDisplacers currently only supports noTransition for static displacement");d!=="static"&&Th(c,d)}},[o,i,s,r,n]),a=(0,Bn.useCallback)((c,u,f,h=!1,d="static")=>{let p=r==="horizontal"?"width":"height",[m,g]=n;i(),h?(t.current?(s(),m.style.cssText=`${p}: ${f}px`,g.style.cssText=`${p}: 0px`,u.element.before(m),u.element.after(g)):d==="fwd"?u.element.after(g):u.element.before(g),o(f,p)):(m.style.cssText=`${p}: ${f}px`,u.element.after(m)),d!=="static"&&Th(c,d)},[o,i,s,r,n]);return{displaceItem:l,displaceLastItem:a,clearSpacers:s}};var Mh=require("@vuu-ui/vuu-utils");var Ny=({onDrop:r,orientation:e="horizontal",containerRef:t,itemQuery:n="*",selected:o,viewportRange:s})=>{let i=(0,st.useRef)(),l=(0,st.useRef)(!1),a=(0,st.useRef)(-1),c=(0,st.useRef)([]),u=(0,st.useRef)(!1),[f,h]=(0,st.useState)(!1),{clearSpacers:d,displaceItem:p,displaceLastItem:m}=Hy(e),g=(0,st.useRef)(),y=`:is(${n}${Ec}${Ey},.vuuOverflowContainer-OverflowIndicator)`,C=E=>c.current.findIndex(R=>R.id===E.id),v=(0,st.useRef)();v.current=s;let x=(0,st.useCallback)(()=>{d()},[d]),S=(0,st.useCallback)((E,R,A)=>{let{current:O}=t,{current:L}=g;if(O&&L){c.current=js(O,e,y,v.current),E==="fwd"?c.current.push(L):c.current.unshift(L);let{size:P}=L,B=a.current+P/2,{current:H}=c,z=Vo(H,B,P,"fwd");if(z){let Q=C(z),q=H[Q];A&&E==="fwd"?m(H,H[H.length-1],P,!1,"static"):p(H,q,P,!0,"static")}}},[t,p,m,y,e]),b=(0,st.useCallback)(E=>{E.ariaSelected&&Array.isArray(o)&&o.length>1&&console.log("its a selected element, and we have a multi select");let{current:R}=t;if(R&&E){let A=R.contains(E),{SCROLL_SIZE:O,CLIENT_SIZE:L}=Vt(e),{id:P}=E,{[O]:I,[L]:B}=R;l.current=I>B;let H=c.current=js(R,e,y,s,P);if(A){console.log(Eh(H));let z=qs(H),V=H[z];V&&R&&(g.current=V,(V.isLast?m:p)(H,V,V.size,!1,"static"))}else{let{top:z,height:V}=E.getBoundingClientRect(),Q=Vo(H,z,V,"fwd"),q=H.indexOf(Q),{start:Y,end:_,mid:J}=Q;console.log(`nextDropTarget ${Q.element.textContent}`);let he=g.current={end:_,mid:J,start:Y,isDraggedItem:!0,isExternal:!0,size:V},le=H.indexOf(Q);console.log({indexOfDropTarget:le}),H.splice(le,0,he);for(let Ce=q+1;Ce<H.length;Ce++){let Le=H[Ce];Le.mid+=V,Le.end+=V,Le.start+=V}console.log(Eh(H)),(Q.isLast?m:p)(H,Q,Q.size,!0,"static")}}},[t,p,m,y,e,o,s]),[w,k]=(0,st.useMemo)(()=>{let E=!1;return[O=>{if(!E){E=!0;let L=O.element.querySelector(".vuuPopupMenu");L&&(0,Mh.dispatchMouseEvent)(L,"click")}},O=>{if(E){E=!1;let L=O.element.querySelector(".vuuPopupMenu");L&&(0,Mh.dispatchMouseEvent)(L,"click")}}]},[]),D=(0,st.useCallback)((E,R)=>{let{current:A}=g;if(A&&t.current){a.current=E;let{current:O}=c,L=Vo(O,E,A.size,R);if(L&&!L.isDraggedItem)if(L.isOverflowIndicator)h(u.current=!0),w(L);else{let{size:P}=A;(C(L)===O.length-1?m:p)(O,L,P,!0,R);let H=O.at(-1);k(H),h(u.current=!1)}i.current=R}},[t,p,m,k,w]),T=(0,st.useCallback)(()=>{var O;d();let{current:E}=c,R=qs(E),A=E[R];if(A)if(i.current=void 0,u.current)r(A.index,-1,{fromIndex:A.index,toIndex:-1,isExternal:A.isExternal});else{let L=qs(E,!0);r(A.index,L,{fromIndex:A.index,toIndex:L,isExternal:A.isExternal})}if(h(!1),t.current){let L=(O=t.current)==null?void 0:O.scrollTop;R<E.length&&(t.current.scrollTop=L)}},[d,t,r]),M=(0,st.useCallback)(()=>{d(!0)},[d]);return{beginDrag:b,drag:D,drop:T,handleScrollStart:x,handleScrollStop:S,releaseDrag:M,revealOverflowedItems:f}};var qe=require("react");var Al=require("react");var By=()=>{let r=(0,Al.useMemo)(()=>Ly(),[]),e=(0,Al.useCallback)(()=>r.remove(),[r]);return{positionDropIndicator:(0,Al.useCallback)((n,o="end")=>(o==="end"?n.element.after(r):n.element.before(r),r),[r]),clearSpacer:e}};var zy=require("react/jsx-runtime"),vM=':not([data-overflowed="true"])',CM=':not([aria-hidden="true"])',Fy=({onDrop:r,orientation:e="horizontal",containerRef:t,itemQuery:n="*",selected:o,viewportRange:s})=>{let i=(0,qe.useRef)(),l=(0,qe.useRef)(null),a=(0,qe.useRef)(null),c=(0,qe.useRef)(""),u=(0,qe.useRef)(!1),f=(0,qe.useRef)(-1),h=(0,qe.useRef)([]),d=(0,qe.useRef)(!1),[p,m]=(0,qe.useState)(!1),[g,y]=(0,qe.useState)(),{clearSpacer:C,positionDropIndicator:v}=By(),x=(0,qe.useRef)(),S=`:is(${n}${vM}${CM},[data-overflow-indicator])`,b=O=>h.current.findIndex(L=>L.id===O.id),w=(O,L,P)=>{O.start+=L,O.mid+=L,O.end+=L,typeof P=="number"&&(O.currentIndex+=P)},k=(0,qe.useRef)();k.current=s;let D=(0,qe.useCallback)(()=>{C()},[C]),T=(0,qe.useCallback)((O,L,P)=>{let{current:I}=t,{current:B}=x;if(I&&B){h.current=js(I,e,S,k.current);let{size:H}=B,V=f.current+H/2,{current:Q}=h,q=Vo(Q,V,H,"fwd");q&&v(P&&O==="fwd"?Q[Q.length-1]:q,"start")}},[t,v,S,e]),M=(0,qe.useCallback)(O=>{O.ariaSelected&&Array.isArray(o)&&o.length>1&&console.log("its a selected element, and we have a multi select");let{current:L}=t;if(L&&O){let{SCROLL_SIZE:P,CLIENT_SIZE:I}=Vt(e),{id:B}=O,{[P]:H,[I]:z}=L;u.current=H>z;let V=h.current=js(L,e,S,s),Q=Dy(V,B);if(Q&&L){let q=b(Q);My(V,q),x.current=Q;let{current:Y}=k;if(Y!=null&&Y.atEnd)for(let De=0;De<V.length;De++)w(V[De],Q.size);for(let De=q;De<V.length;De++)w(V[De],-Q.size,-1);let[_,J]=Q.isLast?[V[V.length-1],"end"]:[V[q],"start"];a.current=_,c.current=J;let he=v(_,J),{top:le,left:Fe,width:Ce}=he.getBoundingClientRect(),Le={top:Q.isLast?Y!=null&&Y.atEnd&&!Y.atStart?le+Q.size-2:le-2:le-Q.size-2,left:Fe,width:Ce,height:2};y((0,zy.jsx)(Dc,{wrapperClassName:"dropIndicatorContainer",style:Le,ref:l,element:Oy()}))}}},[o,t,e,S,s,v]),E=(0,qe.useCallback)((O,L)=>{let{current:P}=a,{current:I}=x;if(I&&t.current){let B=e==="horizontal"?"left":"top";f.current=O;let{current:H}=h,z=Vo(H,O,I.size,L);if(z&&z.index!==(P==null?void 0:P.index)){if(z.isOverflowIndicator)m(d.current=!0);else if(l.current){if(b(z)===H.length-1){let Q=H[H.length-1],Y=v(Q,"start").getBoundingClientRect();l.current.style[B]=`${Y.top}px`}else{let q=v(z,"start").getBoundingClientRect();l.current.style[B]=`${q.top}px`}m(d.current=!1)}a.current=z,i.current=L}}},[t,e,v]),R=(0,qe.useCallback)(()=>{C();let{current:O}=x,{current:L}=a,{current:P}=c,{current:I}=k;if(O&&I&&L){let{index:B}=O,H=P==="start",{index:z,currentIndex:V}=L;a.current=null,i.current=void 0,d.current?r(B,-1,{fromIndex:B,toIndex:-1}):B<z?r(B,H?V:V+1,{fromIndex:B,toIndex:H?V:V+1}):r(B,H?z:z+1,{fromIndex:B,toIndex:H?z:z+1}),y(void 0)}m(!1)},[C,r]),A=(0,qe.useCallback)(()=>{},[]);return{beginDrag:M,drag:E,drop:R,dropIndicator:g,handleScrollStart:D,handleScrollStop:T,releaseDrag:A,revealOverflowedItems:p}};var ye=require("react");var Jr=require("react");var Vy=({containerRef:r,onScrollingStopped:e,orientation:t="vertical"})=>{let n=(0,Jr.useRef)(null),o=(0,Jr.useRef)(!1),s=(0,Jr.useRef)(0),i=(0,Jr.useRef)("fwd"),l=(0,Jr.useCallback)((c=!1)=>{console.log("[useAutoScroll] stopScrolling"),n.current!==null&&(clearTimeout(n.current),n.current=null),o.current=!1,e==null||e(i.current,s.current,c)},[e]),a=(0,Jr.useCallback)((c,u,f=30)=>{let{current:h}=r;if(h){let{SCROLL_POS:d,SCROLL_SIZE:p,CLIENT_SIZE:m}=Vt(t),{[d]:g,[p]:y,[m]:C}=h,v=c==="fwd"?y-C-g:g,x=Math.min(v,f);c==="fwd"?(i.current="fwd",h[d]=s.current=g+x):(i.current="bwd",h[d]=s.current=g-x),x===v?l(!0):(o.current=!0,n.current=window.setTimeout(()=>{a(c,u,f)},100))}},[r,t,l]);return{isScrolling:o,startScrolling:a,stopScrolling:l}};var Ky=require("react/jsx-runtime"),wM={beginDrag:()=>{},drag:()=>{},draggableRef:{current:null},drop:()=>{},isDragging:!1,isScrolling:!1,handleScrollStart:()=>{},handleScrollStop:()=>{},revealOverflowedItems:!1},$y={start:0,end:1e3,contraStart:0,contraEnd:1e3},SM=()=>wM,TM=3,EM=(r,e)=>r.closest(e),kM=r=>r.dataset.index==="overflow"&&r.parentElement!==null&&r.parentElement.classList.contains("overflowed"),DM=(r,e)=>{let t=`:is(${e}${Ec},.vuuOverflowContainer-OverflowIndicator)`,o=Array.from(r.querySelectorAll(t)).pop();return[o,kM(o)]},Yn=({allowDragDrop:r,containerRef:e,draggableClassName:t,getDragPayload:n,id:o,itemQuery:s="*",onDragStart:i,onDrop:l,onDropSettle:a,orientation:c,...u})=>{let f=(0,ye.useRef)({start:0,end:0,contraStart:0,contraEnd:0}),[h,d]=(0,ye.useState)({draggable:void 0,draggedItemIndex:-1,isDragging:!1}),p=(0,ye.useRef)(null),m=(0,ye.useRef)(null),g=(0,ye.useRef)(!1),y=(0,ye.useRef)({x:0,y:0}),C=(0,ye.useRef)({x:0,y:0}),v=(0,ye.useRef)(null),x=(0,ye.useRef)(-1),S=(0,ye.useRef)(-1),b=(0,ye.useRef)(),{isDragSource:w,isDropTarget:k,onDragOut:D,onEndOfDragOperation:T,register:M}=Ty(o),E=(0,ye.useRef)(),R=(0,ye.useRef)(),A=(0,ye.useCallback)(()=>{let{current:G}=E,{current:Z}=R;G&&Z&&(document.addEventListener("mousemove",G,!1),document.addEventListener("mouseup",Z,!1))},[]),O=(0,ye.useCallback)(()=>{let{current:G}=E,{current:Z}=R;G&&Z&&(document.removeEventListener("mousemove",G,!1),document.removeEventListener("mouseup",Z,!1))},[]),L=(0,ye.useCallback)((G,Z)=>{let{current:re}=e;if(re){let[fe,Ee]=DM(re,s),{CONTRA:ze,CONTRA_END:we,DIMENSION:X,END:te,START:oe}=Vt(c),de=Z[X],{[oe]:_e,[te]:at}=fe.getBoundingClientRect();f.current.start=G[oe],f.current.end=Ee?Math.max(_e,G.right-de):g.current?G[oe]+G[X]-de:at-de,f.current.contraStart=G[ze],f.current.contraEnd=G[we]}},[e,s,c]),P=(0,ye.useCallback)(()=>{var re;let{current:G}=S,Z=(re=e.current)==null?void 0:re.querySelector(`${s}[data-index="${G}"]`);Z&&Z.classList.remove("vuuDropTarget-settling"),S.current=-1,a==null||a(G),d(fe=>({...fe,draggable:void 0}))},[e,s,a]),I=(0,ye.useCallback)(G=>{if(e.current&&p.current){let{mouseOffset:Z}=p.current,{POS:re,SCROLL_POS:fe,SCROLL_SIZE:Ee,CLIENT_SIZE:ze}=Vt(c),{[fe]:we,[Ee]:X,[ze]:te}=e.current,oe=X-te,de=we<oe,_e=f.current.end,at=we>0&&G-Z[re]<=f.current.start,N=de&&G-Z[re]>=_e;return at?"bwd":N?"fwd":""}},[e,c]),B=r===!0||r==="natural-movement"?Ny:r==="drop-indicator"?Fy:SM,H=(0,ye.useCallback)((G,Z,re)=>{var fe;(fe=b.current)==null||fe.call(b,G,Z,re)},[]),{isScrolling:z,startScrolling:V,stopScrolling:Q}=Vy({containerRef:e,onScrollingStopped:H,orientation:c}),q=(0,ye.useCallback)((G,Z,re)=>{var fe;x.current=Z,re.isExternal?l==null||l(G,Z,{...re,payload:(fe=p.current)==null?void 0:fe.payload}):l==null||l(G,Z,re),S.current=Z,o&&(T==null||T(o)),p.current=null},[o,l,T]),{beginDrag:Y,drag:_,drop:J,handleScrollStart:he,handleScrollStop:le,releaseDrag:Fe,...Ce}=B({...u,containerRef:e,isDragSource:w,isDropTarget:k,itemQuery:s,onDrop:q,orientation:c});b.current=le;let Le=(0,ye.useCallback)((G,Z)=>{let{CONTRA_POS:re}=Vt(c),fe=y.current[re],Ee=w?Math.abs(fe-Z):0;if(p.current&&Ee-G>5)return D!=null&&D(o,p.current)&&(O(),Fe==null||Fe(),p.current=null),f.current=$y,!0},[o,w,D,c,Fe,O]),De=(0,ye.useCallback)(G=>{let{CLIENT_POS:Z,CONTRA_CLIENT_POS:re,POS:fe}=Vt(c),{clientX:Ee,clientY:ze}=G,{[Z]:we,[re]:X}=G,te=y.current[fe],oe=Math.abs(te-we),{current:de}=p;if(Le(oe,X)){console.log("drag handed over to provider");return}if(y.current.x=Ee,y.current.y=ze,de){let{draggableElement:_e,mouseOffset:at}=de;if(f.current===$y&&_e){let N=y.current.x-at.x,K=y.current.y-at.y;_e.style.top=`${K}px`,_e.style.left=`${N}px`}else if(oe>0&&_e){let N=te<we?"fwd":"bwd",K=I(we),ue=y.current[fe]-at[fe];if(K&&g.current&&!z.current?(he(),V(K,1)):!K&&z.current&&Q(),!z.current){let Oe=Math.round(Math.max(f.current.start,Math.min(f.current.end,ue))),Ft=c==="horizontal"?"left":"top";_e.style[Ft]=`${Oe}px`,_(Oe,N)}}}},[_,I,he,o,w,z,D,c,V,Q]),Pe=(0,ye.useCallback)(()=>{O(),p.current&&(v.current=p.current.draggableElement),J(),d(G=>({...G,draggedItemIndex:-1,isDragging:!1}))},[J,O]);E.current=De,R.current=Pe;let Je=(0,ye.useCallback)(G=>{p.current=G;let{draggableElement:Z,mouseOffset:re,initialDragElement:fe}=G,{current:Ee}=e;if(console.log({container:Ee,draggableElement:Z,initialDragElement:fe}),Ee&&Z){let ze=Ee.getBoundingClientRect(),we=Z.getBoundingClientRect();return L(ze,we),y.current.x=we.left+re.x,y.current.y=we.top+re.y,Y(Z),A(),!0}else return!1},[A,Y,e,L]),ne=(0,ye.useCallback)(G=>{let{target:Z}=G,re=EM(Z,s),{current:fe}=e;if(fe&&re){let{SCROLL_SIZE:Ee,CLIENT_SIZE:ze}=Vt(c),{[Ee]:we,[ze]:X}=fe;g.current=we>X;let te=fe.getBoundingClientRect(),oe=re.getBoundingClientRect(),de=p.current=new Tc(G,re);L(te,oe),Y(re);let{dataset:{index:_e="-1"}}=re;d({isDragging:!0,draggable:(0,Ky.jsx)(Dc,{element:ky(re),onTransitionEnd:P,ref:de.setDraggable,style:Ry(oe,te),wrapperClassName:t}),draggedItemIndex:parseInt(_e)}),i==null||i(de),A()}},[A,Y,e,t,s,i,c,L,P]),me=(0,ye.useCallback)(G=>{let{CLIENT_POS:Z,POS:re}=Vt(c),{[Z]:fe}=G;Math.abs(fe-C.current[re])>TM&&e.current&&(m.current&&(window.clearTimeout(m.current),m.current=null),document.removeEventListener("mousemove",me),document.removeEventListener("mouseup",Ie,!1),ne(G))},[e,Y,c]),Ie=(0,ye.useCallback)(()=>{m.current&&(window.clearTimeout(m.current),m.current=null),document.removeEventListener("mousemove",me,!1),document.removeEventListener("mouseup",Ie,!1)},[me]),ae=(0,ye.useCallback)(G=>{let{current:Z}=e;if(G.stopPropagation(),Z&&!G.defaultPrevented){let{clientX:re,clientY:fe}=G;y.current.x=C.current.x=re,y.current.y=C.current.y=fe,document.addEventListener("mousemove",me,!1),document.addEventListener("mouseup",Ie,!1),G.persist(),m.current=window.setTimeout(()=>{document.removeEventListener("mousemove",me,!1),document.removeEventListener("mouseup",Ie,!1),ne(G.nativeEvent)},500)}},[e,ne,me,Ie]),{current:Me}=v;return(0,ye.useLayoutEffect)(()=>{if(Me&&e.current){let G=x.current,Z=e.current.querySelector(`${s}[data-index="${G}"]`);Z?(Z.classList.add("vuuDropTarget-settling"),requestAnimationFrame(()=>{let{top:re,left:fe}=Z.getBoundingClientRect(),{top:Ee,left:ze}=Me.getBoundingClientRect();ze!==fe||Ee!==re?(Me.classList.add("vuuDraggable-settling"),Me.style.top=`${re}px`,Me.style.left=`${fe}px`):P()})):console.log(`dont have the dropped item (at ${G})`),v.current=null}},[e,s,Me,P]),(0,ye.useEffect)(()=>{o&&(w||k)&&M(o,Je)},[o,w,k,M,Je]),{...Ce,...h,isScrolling:z,onMouseDown:r?ae:void 0}};var Zr=({allowDragDrop:r=!1,collapsibleHeaders:e,collectionHook:t,containerRef:n,contentRef:o,defaultHighlightedIndex:s,defaultSelected:i,disabled:l,disableAriaActiveDescendant:a,disableHighlightOnFocus:c,disableTypeToSelect:u,highlightedIndex:f,id:h,label:d="",listHandlers:p,onDragStart:m,onDrop:g,onHighlight:y,onKeyboardNavigation:C,onKeyDown:v,onMoveListItem:x,onSelect:S,onSelectionChange:b,restoreLastFocus:w,scrollContainerRef:k,selected:D,selectionStrategy:T,selectionKeys:M,stickyHeaders:E,tabToSelect:R,viewportRange:A})=>{let O=(0,ht.useRef)(null),L=(0,ht.useRef)(D||i),P=(X,te)=>{var oe,de;(de=(oe=le.listHandlers).onKeyboardNavigation)==null||de.call(oe,X,te),C==null||C(X,te)},I=(0,ht.useCallback)((X,te)=>{S&&te!==null&&S(X,t.itemById(te))},[t,S]),B=(0,ht.useMemo)(()=>{var X,te;return k||{current:(te=(X=n.current)==null?void 0:X.querySelector(".vuuList-scrollContainer"))!=null?te:null}},[]),H=(0,ht.useCallback)((X,te)=>{if(b){if(Array.isArray(te)){let oe=te.map(de=>t.itemById(de));b(X,oe)}else if(te){let oe=t.itemById(te);b(X,oe)}}},[t,b]),{highlightedIndex:z,containerProps:{onKeyDown:V,onMouseMove:Q,...q},setHighlightedIndex:Y,..._}=uy({containerRef:B,defaultHighlightedIndex:s,disableHighlightOnFocus:c,highlightedIndex:f,indexPositions:t.data,itemCount:t.data.length,label:d,onHighlight:y,onKeyboardNavigation:P,restoreLastFocus:w,selected:L.current,viewportItemCount:10}),J=sy({collapsibleHeaders:e,highlightedIdx:z,collectionHook:t}),he=(0,ht.useCallback)(X=>{Y(-1),m==null||m(X)},[m,Y]),le=fy({containerRef:n,defaultSelected:i,highlightedIdx:z,itemQuery:".vuuListItem",label:`${d}:useList`,onSelect:I,onSelectionChange:H,selected:D,selectionStrategy:T,selectionKeys:M,tabToSelect:R}),Fe=(0,ht.useCallback)((X,te,oe)=>{let de=t.data.indexOf(X);return de===te?oe:de<Math.min(te,oe)||de>Math.max(te,oe)?de:te<de?de-1:de+1},[t.data]),Ce=(0,ht.useCallback)((X,te,oe)=>Array.isArray(X)?X.map(de=>Fe(de,te,oe)):Fe(X,te,oe),[Fe]),Le=(0,ht.useCallback)((X,te,oe)=>{Xr(le.selected)&&(O.current=Ce(le.selected,X,te)),oe.isExternal?g==null||g(X,te,oe):x==null||x(X,te),Y(-1)},[le.selected,Y,Ce,g,x]),De=(0,ht.useCallback)(X=>{Y(X)},[Y]),{setSelected:Pe}=le;(0,ht.useEffect)(()=>{let{current:X}=O;if(Xr(X)){let te=Array.isArray(X)?X.map(oe=>t.data[oe]):t.data[X];O.current=null,Pe(te)}},[t.data,Pe]),An(()=>{Xr(L.current)&&Pe(Array.isArray(L.current)?[]:null)},[Pe,t.data]);let{onMouseDown:Je,isDragging:ne,isScrolling:me,...Ie}=Yn({allowDragDrop:r,draggableClassName:"list-item",orientation:"vertical",containerRef:n,id:h,itemQuery:".vuuListItem",onDragStart:he,onDrop:Le,onDropSettle:De,viewportRange:A}),{onKeyDown:ae}=hy({disableTypeToSelect:u,highlightedIdx:z,highlightItemAtIndex:Y,typeToNavigate:!0,items:t.data}),Me=(0,ht.useCallback)(X=>{var te,oe,de;X.defaultPrevented||ae==null||ae(X),V(X),X.defaultPrevented||(oe=(te=le.listHandlers).onKeyDown)==null||oe.call(te,X),X.defaultPrevented||(de=J==null?void 0:J.onKeyDown)==null||de.call(J,X),X.defaultPrevented||v==null||v(X)},[J,V,v,le.listHandlers,ae]),{isScrolling:G,scrollIntoView:Z}=by({containerRef:B,contentRef:o,highlightedIdx:z,indexPositions:t.data,stickyHeaders:E}),re=G.current||me.current,fe=(0,ht.useCallback)(X=>{if(!re&&!l&&!ne){Q();let te=iy(X.target);if(te!==-1&&te!==z){let oe=t.data[te];!oe||oe.disabled?Y(-1):Y(te)}}},[ne,re,l,Y,Q,z,t.data]),Ee=()=>{var X;return z===void 0||z===-1||a||(X=t.data[z])==null?void 0:X.id};L.current=le.selected;let ze={"aria-activedescendant":Ee(),onBlur:q.onBlur,onFocus:q.onFocus,onKeyDown:Me,onMouseDown:Je,onMouseDownCapture:q.onMouseDownCapture,onMouseLeave:q.onMouseLeave},we=p||{onClick:le.listHandlers.onClick,onMouseMove:fe};return{focusVisible:_.focusVisible,controlledHighlighting:_.controlledHighlighting,highlightedIndex:z,keyboardNavigation:_.keyboardNavigation,listHandlers:we,listItemHeaderHandlers:J,listControlProps:ze,scrollIntoView:Z,selected:le.selected,setHighlightedIndex:Y,setIgnoreFocus:_.setIgnoreFocus,setSelected:le.setSelected,...Ie}};var Zn=require("react");var MM=(r,e,t=0)=>r===0?0:t===0?r*e:r-1*(e+t)+e,Mc=({displayedItemCount:r,getItemHeight:e,height:t,itemCount:n,itemGapSize:o,itemHeight:s=36,size:i})=>{let[l,a]=(0,Zn.useState)(s),[,c]=(0,Zn.useState)({}),u=(0,Zn.useRef)(null),[f,h]=(0,Zn.useMemo)(()=>{let m=0,g=l!=null?l:s,y=MM(n,g,o);if(console.log(`contentHeight ${y}`),t!==void 0)return[y,void 0];let C=Math.min(r,n)||r;return typeof e=="function"?m+=Array(C).fill(0).reduce((x,S,b)=>x+e(b)+o,0)-o:m+=C*Number(g)+(C-1)*o,[y,m]},[r,e,t,n,o,s,l]),d=(0,Zn.useCallback)(({height:m})=>{typeof m=="number"&&a(m)},[]),p=(0,Zn.useCallback)(m=>{u.current=m,c({})},[]);return xr(u,Ob,d,!0),{computedListHeight:h,contentHeight:f,listClientHeight:i==null?void 0:i.height,listItemHeight:l,rowHeightProxyRef:p}};var Uy=require("@salt-ds/core"),er=require("react"),Wy=(r,e,t,n)=>{let o=Math.ceil(e/n),s=Math.floor(r/n),i=Math.ceil(s+o-1);return{atStart:s===0,atEnd:i===t-1,from:s,to:i}},Rc=({containerSize:r,itemCount:e,itemGapSize:t=0,itemSize:n,onViewportScroll:o})=>{let s=(0,er.useRef)(0),i=(0,er.useRef)(0),l=(0,er.useRef)(0),a=(0,er.useMemo)(()=>Wy(l.current,r,e,n+t),[r,e,n,t]),[c,u]=(0,er.useState)(a);return(0,Uy.useIsomorphicLayoutEffect)(()=>{u(a)},[a]),{onVerticalScroll:(0,er.useCallback)(h=>{let d=h.target.scrollTop;if(d!==l.current){l.current=d;let p=n+t,m=Wy(d,r,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))}},[n,t,r,e,o]),viewportRange:c}};var Zt=require("react/jsx-runtime"),Gy=require("react"),RM="No data to display",$o="vuuList",No=(0,$t.forwardRef)(function({ListItem:e=Ho,ListPlaceholder:t,allowDragDrop:n,children:o,className:s,collapsibleHeaders:i=!1,defaultHighlightedIndex:l,defaultSelected:a,disabled:c=!1,disableFocus:u=!1,disableTypeToSelect:f,displayedItemCount:h=10,emptyMessage:d,focusVisible:p,getItemHeight:m,getItemId:g,height:y,highlightedIndex:C,id:v,itemGapSize:x=0,itemHeight:S,itemTextHighlightPattern:b,itemToString:w=hn,listHandlers:k,maxHeight:D,maxWidth:T,minHeight:M,minWidth:E,onDragStart:R,onDrop:A,onMoveListItem:O,onSelect:L,onSelectionChange:P,onHighlight:I,restoreLastFocus:B,selected:H,selectionStrategy:z,checkable:V=z==="multiple",scrollingApiRef:Q,selectionKeys:q,showEmptyMessage:Y=!1,source:_,style:J,stickyHeaders:he,tabToSelect:le,...Fe},Ce){var Pm,Im;let Le=ft(v),De=(0,$t.useRef)(null),Pe=(0,$t.useRef)(null),Je=(0,$t.useRef)(null),[ne,me]=(0,$t.useState)(),Ie=(0,$t.useCallback)(Rn=>{me(Rn)},[]),ae=Yr({id:Le,label:"List",source:_,children:o,options:{collapsibleHeaders:i,getItemId:g,itemToString:w}}),{listClientHeight:Me,computedListHeight:G,listItemHeight:Z,rowHeightProxyRef:re}=Mc({displayedItemCount:h,getItemHeight:m,height:y,itemCount:ae.data.length,itemGapSize:x,itemHeight:S,rootRef:De,size:ne}),{onVerticalScroll:fe,viewportRange:Ee}=Rc({containerSize:(Im=(Pm=Me!=null?Me:G)!=null?Pm:ne==null?void 0:ne.height)!=null?Im:0,itemCount:ae.data.length,itemGapSize:x,itemSize:Z}),{draggable:ze,draggedItemIndex:we,dropIndicator:X,focusVisible:te,highlightedIndex:oe,listControlProps:de,listHandlers:_e,listItemHeaderHandlers:at,scrollIntoView:N,selected:K}=Zr({allowDragDrop:n,collapsibleHeaders:i,collectionHook:ae,containerRef:De,contentRef:Je,defaultHighlightedIndex:l,defaultSelected:ae.itemToCollectionItemId(a),disabled:c,disableTypeToSelect:f,highlightedIndex:C,id:Le,label:"List",listHandlers:k,onDragStart:R,onDrop:A,onMoveListItem:O,onSelect:L,onSelectionChange:P,onHighlight:I,restoreLastFocus:B,scrollContainerRef:Pe,selected:ae.itemToCollectionItemId(H),selectionStrategy:z,selectionKeys:q,stickyHeaders:he,tabToSelect:le,viewportRange:Ee});Cc({collectionHook:ae,forwardedRef:Q,scrollableRef:De,scrollIntoView:N});let ue=p!=null?p:te,Oe=function(Ze,Qt,jt,yt){let Eo=(0,Gy.createElement)(e,{...at,className:(0,Pc.default)(`${$o}Header`,{focusVisible:i&&ue===Ze.value}),"aria-expanded":yt,"data-idx":i?Ze.value:void 0,"data-index":i?Ze.value:void 0,"data-highlighted":Ze.value===oe||void 0,"data-sticky":he,"data-selectable":!1,id:Qt,key:`header-${Ze.value}`,label:jt});return Ze.value+=1,Eo},Ft=m===void 0?()=>S:m;function To(Rn,Ze,Qt){var Fa,Am;let{disabled:jt,value:yt,id:Eo,label:Na}=Ze,Ba=(0,$t.isValidElement)(yt),al={className:(0,Pc.default)((Fa=yt==null?void 0:yt.props)==null?void 0:Fa.className,{vuuHighlighted:Qt.value===oe,vuuFocusVisible:ue===Qt.value,["vuuDraggable-dragAway"]:we===Qt.value}),disabled:jt||c,id:Eo,item:Ba?void 0:(Am=Ze==null?void 0:Ze.value)!=null?Am:void 0,itemHeight:Ft(Qt.value),itemTextHighlightPattern:b,key:Eo,"data-index":Qt.value,label:Na,role:"option",selected:hc(K,Ze),showCheckbox:V};Rn.push(Ba?(0,$t.cloneElement)(yt,al):(0,Zt.jsx)(e,{...al})),Qt.value+=1}let Mn=function(Ze,Qt,jt){let{count:yt=0,id:Eo,expanded:Na,label:Ba=""}=Qt[jt.value],al=Oe(jt,Eo,Ba,Na),Fa=Na!==!1?[al].concat(As(Qt,jt,jt.value+yt)||[]):al;Ze.push((0,Zt.jsx)("div",{role:"group",children:Fa},Eo))},As=(Rn,Ze={value:0},Qt=Rn.length)=>{let jt=[];for(;Ze.value<Qt;){let yt=Rn[Ze.value];yt.header?jt.push(Oe(Ze,yt.id,yt.label,yt.expanded===!1)):yt.childNodes?Mn(jt,Rn,Ze):To(jt,yt,Ze)}return jt};function dE(){return d||Y?(0,Zt.jsx)("span",{className:`${$o}-empty-message`,children:d!=null?d:RM}):null}let pE=()=>{if(ae.data.length){let Rn=ae.data;return As(Rn)}else dE()},mE="auto",gE={"--list-borderWidth":"var(--vuuList-borderWidth, var(--salt-size-border, 0))","--list-item-gap":x?`${x}px`:void 0,"--computed-list-height":G===void 0?void 0:`${G}px`,minWidth:E,minHeight:M,maxWidth:T,maxHeight:D};return(0,Zt.jsxs)(nc,{"aria-multiselectable":z==="multiple"||z==="extended"||z==="extended-multi-range"||void 0,...Fe,..._e,...de,className:(0,Pc.default)($o,s,{[`${$o}-collapsible`]:i,[`${$o}-contentSized`]:G!==void 0,vuuFocusVisible:oe===vh}),height:G!=null?G:y,id:`${Le}`,onResize:Ie,ref:(0,_y.useForkRef)(De,Ce),role:"listbox",onScroll:fe,style:{...J,...gE},tabIndex:c||u?void 0:0,children:[(0,Zt.jsx)(Sc,{ref:re,height:S}),ae.data.length===0&&t!==void 0?(0,Zt.jsx)(Zt.Fragment,{children:(0,Zt.jsx)(t,{})}):(0,Zt.jsx)("div",{className:`${$o}-viewport`,ref:Pe,children:(0,Zt.jsxs)("div",{className:`${$o}-scrollingContentContainer`,ref:Je,style:{height:mE},children:[pE(),X,ze]})})]})});var Xs=require("@salt-ds/core");function Qy(r){var e,t,n="";if(typeof r=="string"||typeof r=="number")n+=r;else if(typeof r=="object")if(Array.isArray(r))for(e=0;e<r.length;e++)r[e]&&(t=Qy(r[e]))&&(n&&(n+=" "),n+=t);else for(e in r)r[e]&&(n&&(n+=" "),n+=e);return n}function Rh(){for(var r,e,t=0,n="";t<arguments.length;)(r=arguments[t++])&&(e=Qy(r))&&(n&&(n+=" "),n+=e);return n}var Wo=require("react");var qy=require("react");var Ic=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 n=t-e;this.keys.size+this.free.length>n&&(this.free.length=n-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 PM=([r],[e])=>r-e,jy=5,Xy=({data:r,listItemGapSize:e=0,listItemHeight:t,viewportRange:n})=>{let o=(0,qy.useMemo)(()=>new Ic(0,1),[]),s=t+e,i=Math.max(0,n.from-jy),l=Math.min(r.length,n.to+jy);return o.reset(i,l),r.slice(i,l).map((c,u)=>[o.keyFor(u+i),(u+i)*s,u+i+1,c]).sort(PM)};var Ko=require("react/jsx-runtime"),IM="No data to display",Ac=(0,Xs.makePrefixer)("saltList"),AM=(0,Wo.memo)(Ho),r_=(0,Wo.forwardRef)(function({borderless:e,children:t,className:n,collapsibleHeaders:o=!1,defaultHighlightedIndex:s,defaultSelected:i,disabled:l=!1,disableFocus:a=!1,disableTypeToSelect:c,displayedItemCount:u=10,emptyMessage:f,getItemHeight:h,getItemId:d,height:p,highlightedIndex:m,id:g,itemGapSize:y=0,itemHeight:C,itemTextHighlightPattern:v,itemToString:x,maxHeight:S,maxWidth:b,minHeight:w,minWidth:k,onDragStart:D,onDrop:T,onSelect:M,onSelectionChange:E,onViewportScroll:R,onHighlight:A,restoreLastFocus:O,selected:L,selectionStrategy:P,scrollingApiRef:I,selectionKeys:B,showEmptyMessage:H=!1,source:z,style:V,stickyHeaders:Q,tabToSelect:q,width:Y,..._},J){let he=(0,Xs.useIdMemo)(g),le=(0,Wo.useRef)(null),Fe=(0,Wo.useRef)(null),Ce=Yr({id:he,label:"List",source:z,children:t,options:{collapsibleHeaders:o,getItemId:d,itemToString:x}}),{contentHeight:Le,listItemHeight:De,listHeight:Pe}=Mc({borderless:e,displayedItemCount:u,height:p,itemCount:Ce.data.length,itemGapSize:y,itemHeight:C,rootRef:le,rowHeightRef:Fe}),{focusVisible:Je,highlightedIndex:ne,listControlProps:me,listHandlers:Ie,scrollIntoView:ae,selected:Me}=Zr({collapsibleHeaders:o,collectionHook:Ce,containerRef:le,defaultHighlightedIndex:s,defaultSelected:Ce.itemToCollectionItem(i),disabled:l,disableTypeToSelect:c,highlightedIndex:m,label:he,onSelect:M,onSelectionChange:E,onHighlight:A,restoreLastFocus:O,selected:Ce.itemToCollectionItem(L),selectionStrategy:P,selectionKeys:B,stickyHeaders:Q,tabToSelect:q}),{onVerticalScroll:G,viewportRange:Z}=Rc({containerSize:typeof Pe=="number"?Pe:0,itemCount:Ce.data.length,itemGapSize:y,itemSize:De});console.log({viewPortRange:Z});let re=Xy({data:Ce.data,listItemGapSize:y,listItemHeight:De,viewportRange:Z});Cc({collectionHook:Ce,forwardedRef:I,scrollableRef:le,scrollIntoView:ae});function fe(te,oe,de){let[_e,at,N,K]=oe,ue=N-1;te.push((0,Ko.jsx)(AM,{"aria-setsize":Ce.data.length,"aria-posinset":N,className:Rh(n,{saltHighlighted:ue===ne,saltFocusVisible:Je===ue}),"data-idx":ue,item:K,label:K.label,"data-offset":at,role:"option",selected:hc(Me,K),id:K.id,translate3d:at},_e)),de.value+=1}function Ee(te,oe={value:0},de=te.length){let _e=[];for(;oe.value<de;){let at=te[oe.value];fe(_e,at,oe)}return _e}function ze(){return f||H?(0,Ko.jsx)("span",{className:Ac("empty-message"),children:f!=null?f:IM}):null}let we=()=>{if(re.length)return Ee(re);ze()},X={"--list-item-gap":y?`${y}px`:void 0,minWidth:k,minHeight:w,width:Y!=null?Y:"100%",height:p!=null?p:"100%",maxWidth:b!=null?b:Y,maxHeight:S!=null?S:Pe};return(0,Ko.jsx)("div",{..._,...Ie,...me,className:Rh(Ac(),n,Ac("virtualized")),id:`${he}`,ref:(0,Xs.useForkRef)(le,J),role:"listbox",onScroll:G,style:{...V,...X},tabIndex:l||a?void 0:0,children:(0,Ko.jsxs)("div",{className:Ac("scrollingContentContainer"),style:{height:Le},children:[(0,Ko.jsx)(Sc,{ref:Fe}),we()]})})});var LM=W(require("classnames"));var OM=require("react/jsx-runtime");var Yy=require("@salt-ds/core"),Ys=require("react");var Jy=({collectionHook:r,defaultHighlightedIndex:e,defaultIsOpen:t,defaultSelected:n,highlightedIndex:o,isOpen:s,itemToString:i=hn,listRef:l,onHighlight:a,onOpenChange:c,onSelectionChange:u,onSelect:f,selected:h,selectionStrategy:d})=>{let p=d==="multiple"||d==="extended",[m,g]=(0,Yy.useControlled)({controlled:s,default:t!=null?t:!1,name:"useDropdownList"}),y=(0,Ys.useCallback)((b,w)=>{p||(g(!1),c==null||c(!1)),u==null||u(b,w)},[p,c,u,g]),C=(0,Ys.useCallback)((b,w)=>{p||(g(!1),c==null||c(!1)),f==null||f(b,w)},[p,c,f,g]),v=Zr({collectionHook:r,defaultHighlightedIndex:(e!=null?e:o===void 0)?0:void 0,defaultSelected:n,label:"DropDown",onSelectionChange:y,onSelect:C,containerRef:l,highlightedIndex:o,onHighlight:a,selected:h,selectionStrategy:d,tabToSelect:!p}),x=(0,Ys.useCallback)(b=>{g(b),c==null||c(b)},[c,g]),S=(0,Ys.useMemo)(()=>{if(p&&Array.isArray(v.selected)){let b=v.selected.map(w=>r.itemById(w));if(b.length===0)return;if(b.length===1){let[w]=b;return w===null?void 0:i(w)}else return`${b.length} items selected`}else{let b=v.selected;return b==null?void 0:i(r.itemById(b))}},[r,p,i,v.selected]);return{isOpen:m,onOpenChange:x,triggerLabel:S,...v}};var Js=require("react/jsx-runtime"),Lc=(0,Cr.forwardRef)(function({"aria-label":e,children:t,defaultIsOpen:n,defaultSelected:o,id:s,isOpen:i,itemToString:l=hn,onOpenChange:a,onSelectionChange:c,onSelect:u,selected:f,selectionStrategy:h,source:d,triggerComponent:p,ListItem:m,ListProps:g,width:y=180,...C},v){let x=ft(s),S=(0,Cr.useRef)(null),b=(0,Cr.useRef)(null),w=(0,Zy.useForkRef)(S,v),k=Yr({id:x,source:d,children:t,options:{itemToString:l}}),{highlightedIndex:D,triggerLabel:T,listHandlers:M,listControlProps:E,selected:R,...A}=Jy({collectionHook:k,defaultHighlightedIndex:g==null?void 0:g.defaultHighlightedIndex,defaultIsOpen:n,defaultSelected:k.itemToCollectionItemId(o),highlightedIndex:g==null?void 0:g.highlightedIndex,isOpen:i,itemToString:l,label:"Dropdown",listRef:b,onHighlight:g==null?void 0:g.onHighlight,onOpenChange:a,onSelectionChange:c,onSelect:u,selected:k.itemToCollectionItemId(f),selectionStrategy:h}),O=(0,Cr.useCallback)(P=>{if(Array.isArray(P))return P.map(I=>k.itemById(I));if(P)return k.itemById(P)},[k]),L=()=>{let P={"aria-activedescendant":A.isOpen?E==null?void 0:E["aria-activedescendant"]:void 0,"aria-label":e};if(p){let I=p.props;return(0,Cr.cloneElement)(p,Sl(I,{...A.isOpen?E:{},...P}))}else return(0,Js.jsx)(Zb,{label:T,...A.isOpen?E:{},...P})};return(0,Js.jsx)(cc,{collectionHook:k,children:(0,Js.jsxs)(gc,{...C,id:x,isOpen:A.isOpen,onOpenChange:A.onOpenChange,placement:(g==null?void 0:g.width)===void 0?"below-full-width":"below",ref:w,width:y,children:[L(),(0,Js.jsx)(No,{ListItem:m,itemToString:l,...g,highlightedIndex:D,listHandlers:M,onSelectionChange:c,onSelect:u,ref:b,selected:O(R),selectionStrategy:h})]})})});var Ph=require("@salt-ds/core");var He=require("react");var HM=["Enter"],ex=({allowFreeText:r,ariaLabel:e,collectionHook:t,defaultIsOpen:n,defaultValue:o,onBlur:s,onFocus:i,onChange:l,onSelect:a,id:c,initialHighlightedIndex:u=-1,isOpen:f,itemToString:h=hn,listRef:d,onOpenChange:p,onSelectionChange:m,selectionStrategy:g,stringToItem:y,value:C,InputProps:v={onBlur:s,onFocus:i,onChange:l,onSelect:a}})=>{var at;let x=g==="multiple"||g==="extended",S=(at=t.stringToCollectionItem(C!=null?C:o))!=null?at:null,{data:b,itemToCollectionItem:w,setFilterPattern:k,stringToCollectionItem:D}=t,T=(0,He.useRef)(null),M=(0,He.useRef)(null),E=(0,He.useRef)(!0),R=(0,He.useRef)(S),[A,O]=(0,Ph.useControlled)({controlled:f,default:n!=null?n:!1,name:"useDropdownList"}),[L,P]=(0,Ph.useControlled)({controlled:void 0,default:o!=null?o:"",name:"ComboBox",state:"value"}),I=(0,He.useCallback)(N=>Array.isArray(N)?N.map(K=>K.value):N&&N.value,[]),[B,H]=(0,He.useState)(!0),[z,V]=(0,He.useState)(!1),Q=(0,He.useCallback)((N=R.current)=>{var K,ue;if(Array.isArray(N))console.log("TODO multi selection");else if(N==null)(K=T.current)==null||K.call(T,-1);else{let Oe=b.indexOf(N);(ue=T.current)==null||ue.call(T,Oe)}},[b]),q=(0,He.useCallback)(N=>{P(N),k(N===""?void 0:N)},[k,P]),Y=(0,He.useCallback)((N=R.current)=>{var ue;let K="";Array.isArray(N)?console.log("TODO multi selection"):N!=null&&N.value!==null&&(K=h(N.value)),q(K),K===""?(ue=T.current)==null||ue.call(T,-1):Q(N)},[Q,h,q]),_=(0,He.useCallback)((N,K)=>{x||O(!1),R.current=K,Y(K),m==null||m(N,I(K!=null?K:null))},[I,x,m,Y,O]),J=(0,He.useCallback)((N,K)=>{if(!x){let ue=w(K);_(N,ue)}},[_,x,w]),he=(0,He.useCallback)(N=>{if(!r&&N.key==="Enter"&&z){let[K]=b;_(N,K)}},[r,_,b,z]),le=(0,He.useCallback)(N=>{N.key==="Escape"?r?q(""):Y():N.key==="Tab"&&(r||Y()),he(N)},[r,he,Y,q]),Fe=(0,He.useCallback)(()=>{H(!1)},[]),{focusVisible:Ce,setHighlightedIndex:Le,highlightedIndex:De,listControlProps:Pe,listHandlers:Je,selected:ne,setSelected:me}=Zr({collectionHook:t,containerRef:d,defaultHighlightedIndex:u,disableAriaActiveDescendant:B,disableHighlightOnFocus:!0,disableTypeToSelect:!0,label:"useComboBox",onKeyboardNavigation:Fe,onKeyDown:le,onSelectionChange:J,selected:R.current,selectionKeys:HM,selectionStrategy:g,tabToSelect:!x});T.current=Le,M.current=me;let Ie=(0,He.useCallback)(N=>{O(N),N||V(!1),p==null||p(N)},[p,O]),{onClick:ae}=Je,Me=(0,He.useCallback)(N=>{var K;(K=document.getElementById(`${c}-input`))==null||K.focus(),ae==null||ae(N)},[c,ae]),G=(0,He.useCallback)(N=>{let K=N.target.value;P(K),K&&K.trim().length?k(K):(k(void 0),R.current=null,m==null||m(N,null)),O(!0),V(K.length>0&&!r)},[r,m,k,O,P]),{onFocus:Z=i}=v,{onFocus:re}=Pe,fe=(0,He.useCallback)(N=>{H(!1),re==null||re(N),Z==null||Z(N)},[Z,re]),Ee=(0,He.useCallback)(N=>{let K=N.relatedTarget;return(K==null?void 0:K.id)===`${c}-list`},[c]),ze=(0,He.useCallback)(N=>{var ue;let K=L.trim();if(K){let Oe=D(K);Oe?Array.isArray(Oe)||Oe!==ne&&((ue=M.current)==null||ue.call(M,Oe),m==null||m(N,Oe.value)):y&&y(K)&&console.log("we have a new item")}},[m,ne,y,D,L]),{onBlur:we=s}=v,{onBlur:X}=Pe,te=(0,He.useCallback)(N=>{Ee(N)||(X==null||X(N),we==null||we(N),r?ze(N):Y(),H(!0),E.current=!0,O(!1))},[Ee,X,we,r,O,ze,Y]),{onSelect:oe}=v,de=(0,He.useCallback)(N=>{E.current?E.current=!1:H(!0),oe==null||oe(N)},[oe]);An(()=>{Xr(ne)?Q():Le(u),b.length===0&&O(!1)},[Q,b.length,u,ne,Le,O]);let _e={...v.inputProps,"aria-label":e};return{focusVisible:Ce,highlightedIndex:De,isOpen:A,onOpenChange:Ie,inputProps:{...v,id:`${c}-input`,inputProps:_e,onChange:G,onSelect:de,role:"combobox",value:L},listControlProps:{...Pe,onBlur:te,onFocus:fe},listHandlers:{...Je,onClick:Me},selected:ne}};var tx=W(require("classnames"));var rx=require("react/jsx-runtime"),NM="vuuChevronIcon",nx=r=>{let{direction:e,...t}=r;return(0,rx.jsx)("span",{...t,className:(0,tx.default)(NM,e)})};var Uo=require("react/jsx-runtime"),LG=(0,Zs.forwardRef)(function({InputProps:e,ListProps:t,ListItem:n,"aria-label":o,allowFreeText:s,children:i,defaultIsOpen:l,defaultValue:a,disabled:c,onBlur:u,onFocus:f,onChange:h,onSelect:d,getFilterRegex:p,id:m,initialHighlightedIndex:g=-1,isOpen:y,itemToString:C,onOpenChange:v,onSelectionChange:x,selectionStrategy:S,source:b,stringToItem:w,value:k,width:D=180,...T},M){let E=ft(m),R=(0,Zs.useRef)(null),A=Yr({id:E,source:b,children:i,options:{filterPattern:k!=null?k:a,getFilterRegex:p,itemToString:C}}),{focusVisible:O,highlightedIndex:L,inputProps:{endAdornment:P,...I},isOpen:B,listHandlers:H,listControlProps:z,onOpenChange:V,selected:Q}=ex({InputProps:e,allowFreeText:s,ariaLabel:o,collectionHook:A,defaultIsOpen:l,defaultValue:a,disabled:c,initialHighlightedIndex:g,listRef:R,onBlur:u,onFocus:f,onChange:h,onSelect:d,id:E,isOpen:y,itemToString:C,label:"ComboBox",onOpenChange:v,onSelectionChange:x,selectionStrategy:S,stringToItem:w,value:k}),q=(0,Zs.useCallback)(_=>Array.isArray(_)?_.map(J=>J.value):_&&_.value,[]);return(0,Uo.jsx)(cc,{collectionHook:A,children:(0,Uo.jsxs)(gc,{...T,fullWidth:!0,id:E,isOpen:B,onOpenChange:V,openOnFocus:!0,ref:M,width:D,children:[(0,Uo.jsx)(ox.Input,{...I,disabled:c,...z,endAdornment:P===null?null:(0,Uo.jsx)(nx,{direction:B?"up":"down",onClick:()=>{V(!B)}})}),(0,Uo.jsx)(No,{...t,ListItem:n,focusVisible:O,highlightedIndex:L,itemTextHighlightPattern:String(I.value)||void 0,id:`${E}-list`,listHandlers:H,onSelectionChange:x,ref:R,selected:q(Q),selectionStrategy:S})]})})});var sx=require("@vuu-ui/vuu-utils"),ix=r=>e=>BM(r,e);function BM(r,e){console.log(`apply rules to ${e}`);let t;for(let n of r){let o=(0,sx.getEditRuleValidator)(n.name);if(o){let s=o(n,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 '${n.name}'`)}return console.log(t),t}var Fn=require("react"),lx=r=>{let e=new Event("vuu-commit");r.dispatchEvent(e)},ax=({clientSideEditValidationCheck:r,initialValue:e,onCommit:t})=>{let[n,o]=(0,Fn.useState)(),[s,i]=(0,Fn.useState)(e),l=(0,Fn.useRef)(e),a=(0,Fn.useRef)(!1),c=(0,Fn.useRef)(!1),u=(0,Fn.useCallback)(()=>{console.log("blur")},[]),f=(0,Fn.useCallback)(d=>{if(d.key==="Enter")if(d.stopPropagation(),a.current){c.current=!0;let p=r==null?void 0:r(s);p?o(p):(o(void 0),t(s)&&(a.current=!1,lx(d.target)))}else lx(d.target),c.current=!1;else d.key==="ArrowRight"||d.key==="ArrowLeft"||d.key==="ArrowUp"||d.key==="ArrowDown"?d.stopPropagation():d.key==="Escape"&&a.current&&(a.current=!1,o(void 0),i(l.current))},[r,t,s]),h=(0,Fn.useCallback)(d=>{let{value:p}=d.target;if(a.current=p!==l.current,i(p),console.log(`value changes to ${p} message ${n}`),c.current){let m=r==null?void 0:r(p);console.log({warningMessage:m}),m!==n&&m!==!1&&o(m)}},[r,n]);return{onBlur:u,onChange:h,onKeyDown:f,value:s,warningMessage:n}};var cx=W(require("classnames")),zn=require("react"),Ll=require("@salt-ds/core");var Hc=require("react/jsx-runtime"),Oc="vuuEditableLabel",Vs=(0,zn.forwardRef)(function({className:e,defaultEditing:t,defaultValue:n,editing:o,onChange:s,onEnterEditMode:i,onExitEditMode:l,value:a,...c},u){let f=(0,zn.useRef)(null),h=(0,zn.useRef)(!1),[d,p]=(0,Ll.useControlled)({controlled:a,default:n!=null?n:"",name:"EditableLabel",state:"value"}),[m,g]=(0,Ll.useControlled)({controlled:o,default:t!=null?t:!1,name:"EditableLabel",state:"editing"}),y=(0,zn.useCallback)(T=>{g(h.current=T)},[g]),C=(0,zn.useRef)(d);(0,zn.useLayoutEffect)(()=>{m&&f.current!==null&&(f.current.select(),f.current.focus())},[m,f]);let v=(0,zn.useCallback)(()=>{y(!0),i&&i()},[i,y]),x=({cancelEdit:T=!1,allowDeactivation:M=!1}={})=>{y(!1);let E=C.current;E!==d&&(T?p(E):C.current=d),l&&l(E,d,M,T)},S=T=>{let{value:M}=T.target;p(M),s&&s(M)},b=()=>{v()},w=()=>{h.current&&x({allowDeactivation:!0})},k=T=>{m&&T.key==="Enter"?(T.stopPropagation(),x()):T.key==="ArrowRight"||T.key==="ArrowLeft"?T.stopPropagation():T.key==="Escape"&&x({cancelEdit:!0})},D=(0,cx.default)(Oc,e,{[`${Oc}-editing`]:m});return(0,Hc.jsx)("div",{...c,className:D,onDoubleClick:b,"data-text":d,ref:u,children:m?(0,Hc.jsx)(Ll.Input,{inputProps:{className:`${Oc}-input`,spellCheck:!1},value:d,onBlur:w,onChange:S,onKeyDown:k,inputRef:f,style:{padding:0},textAlign:"left",variant:"secondary"}):(0,Hc.jsx)("span",{className:`${Oc}-label`,children:d})})});var fx=require("@salt-ds/core"),hx=W(require("classnames")),dx=require("react");var Ih=require("react/jsx-runtime"),ux="vuuExpandoInput",i8=(0,dx.forwardRef)(function({className:e,value:t,inputProps:n,...o},s){return(0,Ih.jsx)("div",{className:(0,hx.default)(ux,e),"data-text":t,children:(0,Ih.jsx)(fx.Input,{...o,inputProps:{...n,className:`${ux}-input`},ref:s,style:{padding:0},textAlign:"left",value:t,variant:"secondary"})})});var px=require("react/jsx-runtime");var mx=require("react/jsx-runtime");var ei=require("@salt-ds/core"),bx=W(require("classnames")),Bc=require("react");var gx=require("@vuu-ui/vuu-utils");var Nc=require("react/jsx-runtime"),FM="vuuSearchCell",zM=({column:r,columnMap:e,row:t})=>{let n=e[r.name],o=t[n];return(0,Nc.jsxs)("div",{className:FM,tabIndex:-1,children:[(0,Nc.jsx)("span",{"data-icon":"draggable"}),o]})};console.log("register SearchCell");(0,gx.registerComponent)("search-cell",zM,"cell-renderer",{serverDataType:"private"});var eo=require("react/jsx-runtime"),Ah="vuuInstrumentSearch",VM={columns:[{name:"bbg",hidden:!0},{name:"description",width:200,type:{name:"string",renderer:{name:"search-cell"}}}],rowSeparators:!0},$M=(0,eo.jsx)("span",{"data-icon":"search"}),KM=({TableProps:r,className:e,dataSource:t,searchColumn:n="description",...o})=>{let[s,i]=(0,Bc.useState)({searchText:"",filter:""}),l=(0,Bc.useCallback)(a=>{let{value:c}=a.target,u=`name starts "${c}"`;i({searchText:c,filter:u}),t.filter={filter:u,filterStruct:{op:"starts",column:n,value:c}}},[t,n]);return(0,eo.jsxs)("div",{...o,className:(0,bx.default)(Ah,e),children:[(0,eo.jsxs)(ei.FormField,{className:`${Ah}-inputField`,children:[(0,eo.jsx)(ei.FormFieldLabel,{}),(0,eo.jsx)(ei.Input,{endAdornment:$M,value:s.searchText,onChange:l})]}),(0,eo.jsx)(Fc,{rowHeight:25,config:VM,renderBufferSize:100,...r,className:`${Ah}-list`,dataSource:t,showColumnHeaders:!1})]})};et("InstrumentSearch",KM,"view");var ti=require("@vuu-ui/vuu-utils"),ni=require("react"),yx=W(require("classnames"));var zc=require("react/jsx-runtime"),WM="vuuPriceTicker",UM=r=>(0,ti.numericFormatter)({type:{name:"number",formatting:{decimals:r,zeroPad:!0}}}),_M=[void 0,void 0],GM=(0,ni.memo)(({className:r,decimals:e=2,price:t,showArrow:n,...o})=>{let s=(0,ni.useRef)(_M),[i,l]=s.current,a=(0,ni.useMemo)(()=>UM(e),[e]),c=(0,ti.isValidNumber)(i)?(0,ti.getMovingValueDirection)(t,l,i,e):"";return s.current=[t,c],(0,zc.jsxs)("div",{...o,className:(0,yx.default)(WM,r,c),children:[a(t),n?(0,zc.jsx)("span",{"data-icon":"price-arrow"}):null]})});GM.displayName="PriceTicker";var Ox=require("@salt-ds/core"),Hh=W(require("classnames")),oi=W(require("react"));var Ax=require("@vuu-ui/vuu-utils"),xt=require("react");var xx=r=>typeof r=="object"&&r!==null&&"tabIndex"in r&&typeof r.tabIndex=="number",vx=r=>({label:"Close",location:"tab",action:"close-tab",options:r}),Cx=r=>({label:"Rename",location:"tab",action:"rename-tab",options:r});var wx=require("@vuu-ui/vuu-utils"),Sx=(r,e)=>{if(r){let t=r.querySelector(`[data-index]:has(${e})`);return(0,wx.getElementDataIndex)(t)}return-1},Lh=r=>Sx(r,'[aria-selected="true"]'),Tx=r=>Sx(r,".vuuEditableLabel-editing");var ri=require("@vuu-ui/vuu-utils"),wr=require("react"),Ex=(r,e,t="horizontal")=>{let n=(0,wr.useRef)(!1),o=(0,wr.useCallback)(()=>{n.current=!0},[]),s=(0,wr.useCallback)(()=>{n.current=!1},[]),i=(0,wr.useCallback)(()=>{var a,c;(a=r.current)==null||a.style.setProperty("--tab-thumb-transition","none"),(c=r.current)==null||c.removeEventListener("transitionend",i)},[r]),l=(0,wr.useRef)(-1);return(0,wr.useMemo)(()=>{var u,f;let a=0,c=0;if(l.current!==-1){let h=(u=r.current)==null?void 0:u.querySelector(".vuuTab-selected"),d=(f=r.current)==null?void 0:f.querySelector(`[data-index="${e}"] .vuuTab`),{positionProp:p,sizeProp:m}=ri.MEASURES[t];if(h&&d&&!n.current){let{[p]:g,[m]:y}=h.getBoundingClientRect(),{[p]:C}=d.getBoundingClientRect();if((0,ri.isValidNumber)(g)&&(0,ri.isValidNumber)(C)&&(0,ri.isValidNumber)(y)){console.log({orientation:t,positionProp:p,oldPosition:g,newPosition:C}),a=g-C,c=y;let x=Math.abs(a/(t==="horizontal"?1100:700));requestAnimationFrame(()=>{var S,b,w,k;(S=r.current)==null||S.style.setProperty("--tab-thumb-offset","0px"),(b=r.current)==null||b.style.setProperty("--tab-thumb-size","100%"),(w=r.current)==null||w.style.setProperty("--tab-thumb-transition",`all ${x}s ease`),(k=r.current)==null||k.addEventListener("transitionend",i)})}}}return l.current=e,n.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,r,t,i,s,o])};var Dx=require("@salt-ds/core"),$c=require("@vuu-ui/vuu-utils"),ut=require("react"),At=require("@vuu-ui/vuu-utils");var Mx={horizontal:{[At.Home]:"start",[At.End]:"end",[At.ArrowLeft]:"bwd",[At.ArrowRight]:"fwd"},vertical:{[At.Home]:"start",[At.End]:"end",[At.ArrowUp]:"bwd",[At.ArrowDown]:"fwd"}},QM=(r,e="horizontal")=>Mx[e][r]!==void 0,jM=r=>r===At.ArrowDown;function kx(r,e,t){return e==="start"?0:e==="end"?r-1:e==="bwd"?t>0?t-1:t:t===null?0:t===r-1?t:t+1}var qM=r=>r!==null&&!r.classList.contains("wrapped"),Vc=(r,e)=>r?r.querySelector(`[data-index="${e}"]`):null,Rx=({containerRef:r,defaultHighlightedIdx:e=-1,highlightedIdx:t,keyBoardActivation:n,orientation:o,selectedIndex:s=0})=>{let i=n==="manual",l=(0,ut.useRef)(!1),a=(0,ut.useRef)(-1),[c,u]=(0,ut.useState)(!1),[,f]=(0,ut.useState)({}),[h,d]=(0,Dx.useControlled)({controlled:t,default:e,name:"UseKeyboardNavigation"}),p=(0,ut.useCallback)(E=>{d(a.current=E)},[d]),m=(0,ut.useRef)(!1),g=(0,ut.useCallback)((E,R=!1,A,O=70)=>{p(E),A===!0&&!m.current&&(m.current=!0);let L=()=>{let P=Vc(r.current,E);if(P){let I=(0,$c.getFocusableElement)(P);I==null||I.focus()}};R?L():setTimeout(L,O)},[r,p]),y=E=>{if(a.current===-1&&E.target.tabIndex!==-1){let R=Tx(r.current);R!==-1?requestAnimationFrame(()=>{p(R)}):setTimeout(()=>{a.current===-1&&s!==null&&p(s)},200)}},C=(0,ut.useCallback)(()=>{var E,R;return(R=(E=r.current)==null?void 0:E.querySelectorAll("[data-index]").length)!=null?R:0},[r]),v=(0,ut.useCallback)((E="fwd",R)=>{let A=C(),L=kx(A,E,typeof R=="number"?R:A),P=E==="start"?"fwd":E==="end"?"bwd":E;for(;(P==="fwd"&&L<A||P==="bwd"&&L>0)&&!qM(Vc(r.current,L));){let I=kx(A,P,L);if(I===L)break;L=I}return L},[r,C]),x=(0,ut.useCallback)((E,R=!1)=>{let A=Mx[o][E.key],O=v(A,h);O!==h?i&&g(O,!0):R&&f({})},[h,i,v,g,o]),S=(0,ut.useCallback)(()=>{let E=Vc(r.current,h);return E?E.querySelector(".vuuPopupMenu")!=null:!1},[r,h]),b=(0,ut.useCallback)(()=>{let E=Vc(r.current,h),R=E==null?void 0:E.querySelector(".vuuPopupMenu");return R&&(0,$c.dispatchMouseEvent)(R,"click"),!1},[r,h]),w=(0,ut.useCallback)(E=>{C()>0&&QM(E.key,o)?(E.preventDefault(),m.current?x(E):(m.current=!0,x(E,!0))):jM(E.key)&&S()&&b()},[b,C,S,x,o]),k=(E,R)=>{p(R)},D=(0,ut.useCallback)(()=>{c||(u(!0),l.current?l.current=!1:m.current=!0)},[c]),T=(0,ut.useCallback)(()=>{c||(l.current=!0),m.current=!1},[c]);return{containerProps:{onBlur:E=>{let R=E.target.closest(".vuuTabstrip"),A=E.relatedTarget;R&&!(R!=null&&R.contains(A))&&(p(-1),u(!1))},onMouseDownCapture:T,onFocus:D,onMouseLeave:()=>{m.current=!0,p(-1),l.current=!1}},focusVisible:m.current?h:-1,focusIsWithinComponent:c,highlightedIdx:h,focusTab:g,onClick:k,onFocus:y,onKeyDown:w,setHighlightedIdx:p}};var Px=require("@salt-ds/core"),Ol=require("react"),XM=["Enter"," "],YM=r=>r&&r.matches('[class*="vuuTab "]'),Ix=({defaultSelected:r,highlightedIdx:e,onSelectionChange:t,selected:n})=>{let[o,s,i]=(0,Px.useControlled)({controlled:n,default:r!=null?r:0,name:"Tabstrip",state:"value"}),l=(0,Ol.useCallback)(f=>XM.includes(f.key),[]),a=(0,Ol.useCallback)(f=>{s(f),t==null||t(f)},[t,s]),c=(0,Ol.useCallback)(f=>{let h=f.target;l(f)&&e!==o&&YM(h)&&(f.stopPropagation(),f.preventDefault(),a(e))},[l,e,o,a]),u=(0,Ol.useCallback)((f,h)=>{h!==o&&a(h)},[a,o]);return{activateTab:a,isControlled:i,onClick:u,onKeyDown:c,selected:o}};var JM=new Set(["Enter"," "]),ZM=r=>JM.has(r),eR=(r,e)=>r?r.querySelector(`[data-index="${e}"]`):null,Lx=({activeTabIndex:r,allowDragDrop:e,animateSelectionThumb:t,containerRef:n,onActiveChange:o,onAddTab:s,onCloseTab:i,onExitEditMode:l,onMoveTab:a,orientation:c,keyBoardActivation:u})=>{let f=(0,xt.useRef)(r),{focusTab:h,highlightedIdx:d,onClick:p,onKeyDown:m,setHighlightedIdx:g,...y}=Rx({containerRef:n,keyBoardActivation:u,orientation:c,selectedIndex:f.current}),{activateTab:C,onClick:v,onKeyDown:x,selected:S}=Ix({highlightedIdx:d,onSelectionChange:o,selected:r});f.current=S;let{containerStyle:b,resumeAnimation:w,suspendAnimation:k}=Ex(n,t?S:-1,c),D=(0,xt.useCallback)((_,J)=>{let{current:he}=f;console.log(`useTabstrip handleDrop ${_} - ${J} ${he}`),a==null||a(_,J);let le=-1;J!==-1&&(he===_?le=J:_>he&&J<=he?le=he+1:_<he&&J>=he&&(le=he-1),le!==-1&&(k(),C(le),requestAnimationFrame(w)),h(J,!1,!1,350))},[h,a,w,C,k]),{onMouseDown:T,...M}=Yn({allowDragDrop:e,containerRef:n,draggableClassName:`tabstrip-${c}`,onDrop:D,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"}),E=(0,xt.useCallback)((_,J,he,le)=>{console.log(`handleExitEditMode ${_} ${J} ${he} ${le}`),l==null||l(_,J,he,le),he||h(le,!1,!0)},[h,l]),R=(0,xt.useCallback)((_,J)=>{p(_,J),v(_,J)},[p,v]),A=(0,xt.useCallback)((_=d)=>{let J=eR(n.current,_);if(J)return J.querySelector(".vuuEditableLabel")},[n,d]),O=(0,xt.useCallback)((_=d)=>{let J=A(_);return J?J.classList.contains("vuuEditableLabel-editing"):!1},[A,d]),L=(0,xt.useCallback)((_=d)=>{let J=A(_);J&&(0,Ax.dispatchMouseEvent)(J,"dblclick")},[A,d]),P=(0,xt.useCallback)(_=>{m(_),_.defaultPrevented||x(_),!_.defaultPrevented&&ZM(_.key)&&L()},[L,m,x]),I=(0,xt.useCallback)(_=>{let J=Lh(n.current),he=J>_?J-1:J===_?0:J;return k(),i==null||i(_,he),setTimeout(()=>{w()},200),!0},[n,i,w,k]),B=(0,xt.useCallback)(_=>(L(_),!0),[L]),H=(0,xt.useCallback)(_=>{if(xx(_.options))switch(_.menuId){case"close-tab":return I(_.options.tabIndex);case"rename-tab":return B(_.options.tabIndex);default:console.log(`tab menu action ${_.menuId}`)}return!1},[I,B]),z=(0,xt.useCallback)(()=>{O()?g(d):h(d)},[d,h,g,O]),V=(0,xt.useCallback)(_=>{let J=parseInt(_.index);isNaN(J)||C(J)},[C]),Q={onFocus:y.onFocus,onKeyDown:P},q=(0,xt.useCallback)(()=>{s==null||s(),requestAnimationFrame(()=>{let _=Lh(n.current);_!==-1&&h(_)})},[n,h,s]),Y={onClick:R,onKeyDown:P,onExitEditMode:E,onMenuAction:H,onMenuClose:z,onMouseDown:T};return{activeTabIndex:S,containerStyle:b,focusVisible:y.focusVisible,containerProps:{...y.containerProps,onSwitchWrappedItemIntoView:V},navigationProps:Q,onClickAddTab:q,tabProps:Y,...M}};var si=require("react/jsx-runtime"),Hx=require("react"),Oh="vuuTabstrip",yb=({activeTabIndex:r,allowAddTab:e,allowCloseTab:t,allowDragDrop:n=!1,allowRenameTab:o=!1,animateSelectionThumb:s=!1,children:i,className:l,id:a,keyBoardActivation:c="manual",location:u,onActiveChange:f,onAddTab:h,onCloseTab:d,onExitEditMode:p,onMoveTab:m,orientation:g="horizontal",showTabMenuButton:y,style:C,...v})=>{let x=(0,oi.useRef)(null),{activeTabIndex:S,focusVisible:b,containerStyle:w,draggedItemIndex:k,onClickAddTab:D,tabProps:T,...M}=Lx({activeTabIndex:r,allowDragDrop:n,animateSelectionThumb:s,containerRef:x,keyBoardActivation:c,onActiveChange:f,onAddTab:h,onCloseTab:d,onExitEditMode:p,onMoveTab:m,orientation:g}),E=ft(a),R=(0,Hh.default)(Oh,`${Oh}-${g}`,l),A=C||w?{...C,...w}:void 0,O=(0,oi.useMemo)(()=>ko(i).map((L,P)=>{let{id:I=`${E}-tab-${P}`,closeable:B=t,editable:H=o,location:z,showMenuButton:V=y}=L.props,Q=P===S;return oi.default.cloneElement(L,{...T,...M.navigationProps,closeable:B,"data-overflow-priority":Q?"1":void 0,dragging:k===P,editable:H,focusVisible:b===P,id:I,index:P,key:P,location:(0,Hh.default)(u,z),selected:Q,showMenuButton:V,tabIndex:Q?0:-1})}).concat(e?(0,Hx.createElement)(Ox.Button,{...M.navigationProps,"aria-label":"Create Tab",className:`${Oh}-addTabButton`,"data-icon":"add","data-overflow-priority":"1",key:"addButton",onClick:D,variant:"secondary",tabIndex:-1}):[]),[S,e,t,o,i,b,E,u,D,y,T,k,M.navigationProps]);return(0,si.jsxs)(si.Fragment,{children:[(0,si.jsx)(Cl,{...v,...M.containerProps,className:R,height:28,id:E,orientation:g,overflowIcon:"more-horiz",ref:x,style:A,children:O}),M.draggable]})};var Kx=require("@salt-ds/core"),Wx=W(require("classnames")),Qo=require("react");var Nx=require("@vuu-ui/vuu-popups"),Bx=require("react"),Fx=W(require("classnames"));var Vx=require("react/jsx-runtime"),tR="vuuTabMenu",zx=({allowClose:r,allowRename:e,controlledComponentId:t,location:n,onMenuAction:o,onMenuClose:s,index:i})=>{let[l,a]=(0,Bx.useMemo)(()=>[(c,u)=>{let f=[];return e&&f.push(Cx(u)),r&&f.push(vx(u)),f},{controlledComponentId:t,tabIndex:i}],[r,e,t,i]);return(0,Vx.jsx)(Nx.PopupMenu,{className:tR,menuBuilder:l,menuActionHandler:o,menuLocation:(0,Fx.default)("tab",n),menuOptions:a,onMenuClose:s,tabIndex:-1})};var Go=require("react/jsx-runtime"),_o="vuuTab",$x=()=>{},xb=(0,Qo.forwardRef)(function({ariaControls:e,children:t,className:n,closeable:o=!1,dragging:s,editable:i=!1,editing:l,focusVisible:a,index:c=-1,label:u,location:f,onClick:h,onClose:d,onEnterEditMode:p=$x,onExitEditMode:m=$x,onFocus:g,onKeyUp:y,onMenuAction:C,onMenuClose:v,orientation:x,selected:S,showMenuButton:b=o||i||!!f,tabIndex:w,...k},D){if(b&&typeof C!="function")throw Error("Tab onMenuAction must be provided if showMenuButton is set");let T=(0,Qo.useRef)(null),M=(0,Qo.useRef)(null),E=(0,Kx.useForkRef)(D,T),R=(0,Qo.useCallback)(I=>{l||(I.preventDefault(),h==null||h(I,c))},[l,c,h]),A=(I="",B="",H=!0)=>m(I,B,H,c),O=I=>{switch(I.key){case"Backspace":case"Delete":o&&(I.stopPropagation(),d&&d(c));break;default:y&&y(I,c)}},L=()=>i?(0,Go.jsx)(Vs,{editing:l,defaultValue:u,onEnterEditMode:p,onExitEditMode:A,ref:M},u):u,P=I=>{if(M.current){let H=M.current.querySelector(".vuuEditableLabel-input");H==null||H.focus()}g==null||g(I)};return(0,Go.jsxs)("div",{...k,"aria-controls":e,"aria-selected":S,className:(0,Wx.default)(_o,{[`${_o}-closeable`]:o,"vuuDraggable-dragAway":s,[`${_o}-editing`]:l,[`${_o}-selected`]:S||void 0,[`${_o}-vertical`]:x==="vertical",vuuFocusVisible:a}),onClick:R,onFocus:P,onKeyUp:O,ref:E,role:"tab",tabIndex:w,children:[(0,Go.jsx)("div",{className:`${_o}-main`,children:(0,Go.jsx)("span",{className:`${_o}-text`,"data-text":i?void 0:u,children:t!=null?t:L()})}),b?(0,Go.jsx)(zx,{allowClose:o,allowRename:i,controlledComponentId:e,location:f,onMenuAction:C,onMenuClose:v,index:c}):null]})});var Qc=require("@salt-ds/core"),Gc=W(require("classnames")),jc=require("react");function nR(r){var e;if(r){let t=r.dataset.idx;if(t)return parseInt(t,10);if(t=(e=r.ariaPosInSet)!=null?e:"-1")return parseInt(t,10)-1}}var Nh=r=>r.closest("[data-idx],[aria-posinset]");var Ux=r=>nR(Nh(r));var ii=require("react"),rR=new Set(["/","-","."]),oR=r=>rR.has(r),_x=(r,e)=>e.startsWith(r)&&oR(e[r.length]),Gx=(r,e="root",{collapsibleHeaders:t=void 0,defaultExpanded:n=!1,revealSelected:o=!1}={})=>{let s=(h,d,p)=>{if(h.childNodes)return h.childNodes.length;if(h.header){let m=p+1,g=0;for(;m<d.length&&!d[m].header;)g++,m++;return g}else return 0},i=(0,ii.useCallback)(h=>Array.isArray(o)?o.some(d=>_x(h,d)):n,[n,o]),l=(0,ii.useCallback)((h,d,p=1,m="",g=[],y=[])=>{let C=0;return h.forEach((v,x,S)=>{var A;let b=v.header&&t,w=v.childNodes&&t===!1,k=!v.childNodes||v.childNodes.length===0,D=w||k&&!b,T=m?`${m}.${x}`:`${x}`,M=(A=v.id)!=null?A:`${e}-${T}`,E=D?void 0:i(M),R={...v,childNodes:void 0,id:M,count:!w&&E===void 0?0:s(v,S,x),expanded:E,index:d.index,level:p};if(g.push(R),y.push(h[x]),C+=1,d.index+=1,v.childNodes){let[O,L]=l(v.childNodes,d,p+1,T,[],y);R.childNodes=L,(E===!0||w)&&(C+=O)}}),[C,g,y]},[t,e,i]),[a,c,u]=(0,ii.useMemo)(()=>l(r,{index:0}),[l,r]),f=(0,ii.useCallback)((h,d=c)=>{let p=d.find(m=>{var g;return m.id===h||((g=m==null?void 0:m.childNodes)==null?void 0:g.length)&&_x(m.id,h)});if((p==null?void 0:p.id)===h)return u[p.index];if(p)return f(h,p.childNodes)},[u,c]);return[a,c,f]};var to=require("react"),qx=require("@salt-ds/core"),Qx="single",sR="checkbox",iR="multi",lR="extended",aR=["Enter"," "],jx={},cR=r=>r.expanded!==void 0,Xx=r=>r&&r!=="none",Yx=({defaultSelected:r,highlightedIdx:e,treeNodes:t,onChange:n,selected:o,selection:s=Qx,selectionKeys:i=aR})=>{let l=s===Qx,a=s===iR||s.startsWith(sR),c=s===lR,u=(0,to.useRef)(-1),f=(0,to.useCallback)(x=>i.includes(x.key),[i]),[h,d]=(0,qx.useControlled)({controlled:o,default:r!=null?r:[],name:"selected"}),p=(0,to.useCallback)((x,S,b,w,k=!1)=>{let{current:D}=u,T=h==null?void 0:h.includes(b),E=l||c&&!k&&(!w||D===-1),R=a||c&&k&&!w,A=[];if(E&&T)A=[];else if(E)A=[b];else if(R&&T)A=h.filter(O=>O!==b);else if(R)A=h.concat(b);else if(c){let[O,L]=S>D?[D,S]:[S,D];A=h.slice();for(let P=O;P<=L;P++){let{id:I}=t[P];h.includes(I)||A.push(I)}}d(A),n&&n(x,A)},[c,t,a,n,h,d,l]),m=(0,to.useCallback)(x=>{if(~e&&f(x)){x.preventDefault();let S=t[e];p(x,e,S.id,!1,x.ctrlKey||x.metaKey),c&&(u.current=e)}},[c,e,t,f,p]),g=(0,to.useCallback)((x,S)=>{if(c&&x.shiftKey){let b=t[S];p(x,S,b.id,!0)}},[c,t,p]),y=s==="none"?jx:{onKeyDown:m,onKeyboardNavigation:g},C=(0,to.useCallback)(x=>{if(e!==-1){let S=t[e];cR(S)||(x.preventDefault(),x.stopPropagation(),p(x,e,S.id,x.shiftKey,x.ctrlKey||x.metaKey),c&&(u.current=e))}},[c,e,t,p]);return{listHandlers:y,listItemHandlers:s==="none"?jx:{onClick:C},selected:h,setSelected:d}};var Kt=require("react");var uR=["height","scrollHeight"],Jx=(r,e,t=!1)=>{let n=(0,Kt.useRef)(0),o=(0,Kt.useRef)(!1),s=(0,Kt.useRef)(0),i=(0,Kt.useRef)(0),l=(0,Kt.useCallback)(u=>{let f=u.ariaExpanded?u.firstChild:u,h=t?30:0,d=f.offsetTop,p=f.offsetHeight,m=n.current+h,g=m+s.current-h;(d+p>g||d<m)&&(n.current=d+p>g?n.current+(d+p)-g:d-h,o.current=!0,r.current&&(r.current.scrollTop=n.current),setTimeout(()=>{o.current=!1}))},[r,t]),a=(0,Kt.useCallback)(u=>{n.current=u.target.scrollTop},[]);(0,Kt.useEffect)(()=>{let{current:u}=r;return u&&u.addEventListener("scroll",a),()=>{u&&u.removeEventListener("scroll",a)}},[r,a]),(0,Kt.useLayoutEffect)(()=>{if(e!==-1&&i.current>s.current&&r.current){let u=r.current.querySelector(`
|
|
19
20
|
[data-idx='${e}'],
|
|
20
21
|
[aria-posinset='${e+1}']
|
|
21
|
-
`);u===null?console.log("[useViewportTracking], is this virtualised ? we're going to have to know rowHeight"):l(u)}},[e,t,l]),(0,Ke.useEffect)(()=>{},[n]);let c=(0,Ke.useCallback)(({height:u,scrollHeight:d})=>{s.current=u,i.current=d},[]);return hn(t,Ug,c,!0),r};var qo=require("react");var ot=require("react");var cd=({id:t})=>{let e=t.lastIndexOf("-");if(e!==-1){let o=t.slice(e+1).split(".");return o.length===1?null:(o.pop(),`${t.slice(0,e)}-${o.join(".")}`)}else if((e=t.lastIndexOf("/"))!==-1)return t.slice(0,e)},ud=t=>t.childNodes!==void 0;var Oi=t=>t.header===!0,Xg=new Set([".","/"]),dd=(t,e)=>e.startsWith(t.id)?Xg.has(e.charAt(t.id.length)):!1,Tn=(t,e)=>{for(let n of t){if(n.id===e)return n;if(dd(n,e))return Tn(n.childNodes,e)}},cs=(t,e)=>{let n=typeof e=="string"?e:e.id;for(let o=0;o<t.length;o++)if(t[o].id===n)return o},us=(t,e,n)=>{let o;return t.map(s=>s.id===e?{...s,...n}:dd(s,e)?(o=us(s.childNodes,e,n),{...s,childNodes:o}):s)};var yd=require("@salt-ds/core");function Qg(t,...e){let n=new Set(t);for(let o of e)for(let r of o)n.add(r);return n}var Ni="ArrowUp",pd="ArrowDown",so="ArrowLeft";var md="ArrowRight",ds="Enter";var jg="Delete",Yg=new Set([ds,jg]),Zg=new Set(["Tab"]),qg=new Set(["ArrowRight","ArrowLeft"]),fd=new Set(["Home","End","ArrowDown","ArrowUp"]),hd=new Set(["Home","End","ArrowRight","ArrowLeft"]),Jg=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),uk=Qg(Yg,hd,fd,qg,Jg,Zg);var gd=({key:t},e="vertical")=>(e==="vertical"?fd:hd).has(t);function bd(t,e,n){return e===Ni||e===so?n>0?n-1:n:n===null?0:n===t-1?n:n+1}var eb=t=>!t.header&&!t.childNodes,tb=t=>eb(t)||t.expanded!==void 0,xd=({defaultHighlightedIdx:t=-1,highlightedIdx:e,treeNodes:n,onHighlight:o,onKeyboardNavigation:r,selected:s=[]})=>{let{bwd:i,fwd:l}=(0,ot.useMemo)(()=>({bwd:Ni,fwd:pd}),[]),[a,c,u]=(0,yd.useControlled)({controlled:e,default:t,name:"highlightedIdx"}),d=(0,ot.useCallback)(b=>{o==null||o(b),c(b)},[o,c]),p=(0,ot.useCallback)((b=l,T=b===l?-1:n.length)=>{let x=bd(n.length,b,T);for(;x!==-1&&(b===l&&x<n.length||b===i&&x>0)&&!tb(n[x]);)x=bd(n.length,b,x);return x},[i,l,n]),m=(0,ot.useRef)(!0),f=(0,ot.useRef)(!1),h=b=>f.current=b,g=(0,ot.useCallback)(()=>{if(f.current)f.current=!1;else if(s.length>0){let b=Tn(n,s[0]);if(b){let T=cs(n,b);d(T)}}else d(p())},[n,p,s,d]),y=(0,ot.useCallback)(b=>{let T=p(b.key,a);T!==a&&(d(T),r==null||r(b,T))},[a,p,r,d]),v=(0,ot.useCallback)(b=>{n.length>0&&gd(b,"vertical")&&(b.preventDefault(),b.stopPropagation(),m.current=!0,y(b))},[n,y]),C=(0,ot.useMemo)(()=>({onBlur:()=>{d(-1)},onFocus:g,onKeyDown:v,onMouseDownCapture:()=>{m.current=!1,h(!0)},onMouseMove:()=>{m.current&&(m.current=!1)},onMouseLeave:()=>{m.current=!0,h(!1),d(-1)}}),[g,v,d]);return{focusVisible:m.current?a:-1,controlledHighlighting:u,highlightedIdx:a,hiliteItemAtIndex:d,keyBoardNavigation:m,listProps:C,setIgnoreFocus:h}};var io=require("react");var ps=(t,e=[],n={value:0})=>{let o=!1;for(let r of t)o&&!Oi(r)||(e[n.value]=r,n.value+=1,o=!1,Oi(r)&&r.expanded===!1?o=!0:ud(r)&&zi(r)&&ps(r.childNodes,e,n));return e},Cd=t=>{let e=(0,io.useRef)(t),n=(0,io.useRef)(t),o=(0,io.useRef)(ps(t)),[,r]=(0,io.useState)({});t!==e.current&&(e.current=t,n.current=t,o.current=ps(t));let s=i=>{n.current=i,o.current=ps(i),r({})};return{data:n.current,indexPositions:o.current,setData:s}};var Lt=require("react");var nb={},ob=t=>t&&t.hasAttribute("aria-expanded"),vd=({collapsibleHeaders:t,highlightedIdx:e,treeNodes:n,setVisibleData:o,source:r})=>{let s=(0,Lt.useRef)(r),i=(0,Lt.useRef)(s.current),l=(0,Lt.useCallback)(f=>{o(i.current=f)},[o]),a=(0,Lt.useCallback)((f,{id:h})=>us(f,h,{expanded:!0}),[]),c=(0,Lt.useCallback)((f,{id:h})=>us(f,h,{expanded:!1}),[]),u=(0,Lt.useCallback)(f=>{if(f.key===md||f.key===ds){let h=n[e];h&&h.expanded===!1&&(f.preventDefault(),l(a(i.current,h)))}if(f.key===so||f.key===ds){let h=n[e];h&&h.expanded&&(f.preventDefault(),l(c(i.current,h)))}},[c,a,e,n,l]),d=t?{onKeyDown:u}:nb,m={onClick:(0,Lt.useCallback)(f=>{let h=Ai(f.target);if(ob(h)){f.stopPropagation(),f.preventDefault();let g=Tn(r,h.id);(g==null?void 0:g.expanded)===!1?l(a(r,g)):(g==null?void 0:g.expanded)===!0&&l(c(r,g))}},[c,a,l,r])};return{listHandlers:d,listItemHandlers:m}};var Td=require("react");var Sd=({highlightedIdx:t,hiliteItemAtIndex:e,indexPositions:n,source:o})=>({listHandlers:{onKeyDown:(0,Td.useCallback)(i=>{if(i.key===so){let l=n[t],a=cd(l);if(a){i.preventDefault();let c=Tn(o,a);if(c){let u=cs(n,c);u!==void 0&&e(u)}}}},[t,e,n,o])}});var rb=[],wd=({defaultSelected:t,sourceWithIds:e,onChange:n,onHighlight:o,selected:r,selection:s})=>{let i=(0,qo.useRef)(rb),l=Cd(e),a=(C,b)=>{var T,x;(x=(T=p.listHandlers).onKeyboardNavigation)==null||x.call(T,C,b)},{highlightedIdx:c,...u}=xd({treeNodes:l.indexPositions,onHighlight:o,onKeyboardNavigation:a,selected:i.current}),d=vd({collapsibleHeaders:!0,highlightedIdx:c,treeNodes:l.indexPositions,setVisibleData:l.setData,source:l.data}),p=ld({defaultSelected:t,highlightedIdx:c,treeNodes:l.indexPositions,onChange:n,selected:r,selection:s}),m=Sd({source:l.data,highlightedIdx:c,hiliteItemAtIndex:u.hiliteItemAtIndex,indexPositions:l.indexPositions}),f=(0,qo.useCallback)(C=>{var b,T,x;(b=d.listItemHandlers)==null||b.onClick(C),C.defaultPrevented||(x=(T=p.listItemHandlers)==null?void 0:T.onClick)==null||x.call(T,C)},[d,p]),h=(0,qo.useCallback)(C=>{var b,T,x,w,R,M,E,I;(T=(b=u.listProps).onKeyDown)==null||T.call(b,C),C.defaultPrevented||(w=(x=p.listHandlers).onKeyDown)==null||w.call(x,C),C.defaultPrevented||(M=(R=d.listHandlers).onKeyDown)==null||M.call(R,C),C.defaultPrevented||(I=(E=m.listHandlers).onKeyDown)==null||I.call(E,C)},[d.listHandlers,u.listProps,p.listHandlers,m.listHandlers]),g=()=>{var C;return c===void 0||c===-1||(C=l.indexPositions[c])==null?void 0:C.id};i.current=p.selected;let y={"aria-activedescendant":g(),onBlur:u.listProps.onBlur,onFocus:u.listProps.onFocus,onKeyDown:h,onMouseDownCapture:u.listProps.onMouseDownCapture,onMouseLeave:u.listProps.onMouseLeave,onMouseMove:u.listProps.onMouseMove},v={onClick:f};return{focusVisible:u.focusVisible,highlightedIdx:c,hiliteItemAtIndex:u.hiliteItemAtIndex,listProps:y,listItemHandlers:v,selected:p.selected,visibleData:l.data}};var Qe=require("react/jsx-runtime"),Rd=require("react"),jt="vuuTree",zi=t=>t.expanded===!0,Ed=({children:t,idx:e,...n})=>(0,Qe.jsx)("li",{...n,children:t}),sb=(0,hs.forwardRef)(function({allowDragDrop:e,className:n,defaultSelected:o,groupSelection:r="none",id:s,onHighlight:i,onSelectionChange:l,revealSelected:a,selected:c,selection:u="single",source:d,...p},m){var H;let f=(0,fs.useIdMemo)(s),h=(0,hs.useRef)(null),[,g,y]=nd(d,f,{revealSelected:a?(H=c!=null?c:o)!=null?H:!1:void 0}),v=(P,k)=>{if(l){let N=k.map(O=>y(O)).filter(O=>O!==void 0);l(N)}},{focusVisible:C,highlightedIdx:b,hiliteItemAtIndex:T,listProps:x,listItemHandlers:w,selected:R,visibleData:M}=wd({defaultSelected:o,groupSelection:r,onChange:v,onHighlight:i,selected:c,selection:u,sourceWithIds:g});ad(h,b);let I={...{onMouseEnter:P=>{let k=P.target,N=ed(k);T(N)}},...w,role:"treeitem"},S=id(r);function D(P,k,N){P.push((0,Qe.jsxs)(Ed,{...I,...ib(k,N,b,R,C),children:[k.icon?(0,Qe.jsx)("span",{className:`${jt}Node-icon`,"data-icon":k.icon}):null,(0,Qe.jsx)("span",{children:k.label})]})),N.value+=1}function L(P,k,N,O,F){let{value:$}=N;N.value+=1,P.push((0,Rd.createElement)(Ed,{...w,"aria-expanded":k.expanded,"aria-level":k.level,"aria-selected":R.includes(O)||void 0,className:(0,ms.default)(`${jt}Node`,{focusVisible:C===$,[`${jt}Node-toggle`]:!S}),"data-idx":$,"data-highlighted":$===b||void 0,"data-selectable":!0,id:O,key:`header-${$}`},S?(0,Qe.jsxs)("div",{className:`${jt}Node-label`,children:[(0,Qe.jsx)("span",{className:`${jt}Node-toggle`}),F]}):(0,Qe.jsxs)("div",{className:`${jt}Node-label`,children:[k.icon?(0,Qe.jsx)("span",{className:`${jt}Node-icon`,"data-icon":k.icon}):null,(0,Qe.jsx)("span",{children:F})]}),(0,Qe.jsx)("ul",{role:"group",children:zi(k)?A(k.childNodes,N):""})))}function A(P,k={value:0}){if((P==null?void 0:P.length)>0){let N=[];for(let O of P)O.childNodes?L(N,O,k,O.id,O.label):D(N,O,k);return N}}return(0,Qe.jsx)("ul",{...p,...x,className:(0,ms.default)(jt,n),id:`Tree-${f}`,ref:(0,fs.useForkRef)(h,m),role:"tree",tabIndex:0,children:A(M)})}),ib=(t,e,n,o,r,s)=>({id:t.id,key:t.id,"aria-level":t.level,"aria-selected":o.includes(t.id)||void 0,"data-idx":e.value,"data-highlighted":e.value===n||void 0,className:(0,ms.default)("vuuTreeNode",s,{focusVisible:r===e.value})});sb.displayName="Tree";var Md=_(require("classnames")),kt=require("react");var Jo=require("react/jsx-runtime"),{KEY:Dd}=gs.metadataKeys,Fi=(0,kt.memo)(({className:t,column:e,columnMap:n,onClick:o,row:r})=>{let s=(0,kt.useRef)(null),{align:i,CellRenderer:l,key:a,pin:c,editable:u,resizing:d,valueFormatter:p}=e,[m,f]=(0,kt.useState)(!1),h=p(r[a]),[g,y]=(0,kt.useState)(h),v=()=>{var M;(M=s.current)==null||M.focus()},C=M=>{M.key==="Enter"&&f(!0)},b=(0,kt.useCallback)(M=>{o==null||o(M,e)},[e,o]),T=()=>{f(!0)},x=(M="",E="",I=!0,S=!1)=>{var D;f(!1),S?y(M):E!==M&&y(E),I===!1&&((D=s.current)==null||D.focus())},w=(0,Md.default)(t,{vuuAlignRight:i==="right",vuuPinFloating:c==="floating",vuuPinLeft:c==="left",vuuPinRight:c==="right","vuuTableCell-resizing":d})||void 0,R=(0,gs.getColumnStyle)(e);return u?(0,Jo.jsx)("div",{className:w,"data-editable":!0,role:"cell",style:R,onKeyDown:C,children:(0,Jo.jsx)(Vn,{editing:m,value:g,onChange:y,onMouseDownCapture:v,onEnterEditMode:T,onExitEditMode:x,onKeyDown:C,ref:s,tabIndex:0},"title")}):(0,Jo.jsx)("div",{className:w,role:"cell",style:R,onClick:b,children:l?(0,Jo.jsx)(l,{column:e,columnMap:n,row:r}):h})},lb);Fi.displayName="TableCell";function lb(t,e){return t.column===e.column&&t.onClick===e.onClick&&t.row[Dd]===e.row[Dd]&&t.row[t.column.key]===e.row[e.column.key]}var ao=require("@vuu-ui/vuu-utils"),Id=require("react");var lo=require("react/jsx-runtime"),{IS_LEAF:ab}=ao.metadataKeys,Pd=({column:t,onClick:e,row:n})=>{let{columns:o}=t,[r,s]=(0,ao.getGroupValueAndOffset)(o,n),i=(0,Id.useCallback)(u=>{e==null||e(u,t)},[t,e]),l=(0,ao.getColumnStyle)(t),a=n[ab],c=Array(s).fill(0).map((u,d)=>(0,lo.jsx)("span",{className:"vuuTableGroupCell-spacer"},d));return(0,lo.jsxs)("div",{className:"vuuTableGroupCell vuuPinLeft",onClick:a?void 0:i,role:"cell",style:l,children:[c,a?null:(0,lo.jsx)("span",{className:"vuuTableGroupCell-toggle","data-icon":"triangle-right"}),(0,lo.jsx)("span",{children:r})]})};var tr=require("react/jsx-runtime"),{IDX:cb,IS_EXPANDED:ub,SELECTED:db}=mt.metadataKeys,bs="vuuTableRow",kd=(0,er.memo)(function({columnMap:e,columns:n,offset:o,onClick:r,onToggleGroup:s,virtualColSpan:i=0,row:l}){let{[cb]:a,[ub]:c,[db]:u}=l,d=(0,Ld.default)(bs,{[`${bs}-even`]:a%2===0,[`${bs}-expanded`]:c,[`${bs}-preSelected`]:u===2}),p=(0,er.useCallback)(f=>{let h=f.shiftKey,g=f.ctrlKey||f.metaKey;r==null||r(l,h,g)},[r,l]),m=(0,er.useCallback)((f,h)=>{((0,mt.isGroupColumn)(h)||(0,mt.isJsonGroup)(h,l))&&(f.stopPropagation(),s==null||s(l,h))},[s,l]);return(0,tr.jsxs)("div",{"aria-selected":u===1?!0:void 0,"aria-rowindex":a,className:d,onClick:p,role:"row",style:{transform:`translate3d(0px, ${o}px, 0px)`},children:[i>0?(0,tr.jsx)("div",{role:"cell",style:{width:i}}):null,n.filter(mt.notHidden).map(f=>{let h=(0,mt.isGroupColumn)(f),g=(0,mt.isJsonColumn)(f);return(0,tr.jsx)(h?Pd:Fi,{column:f,columnMap:e,onClick:h||g?m:void 0,row:l},f.name)})]})});var Vi=_(require("classnames")),Ad=require("react");var Sn=require("react"),nr=({column:t,onResize:e,rootRef:n})=>{let o=(0,Sn.useRef)(0),r=(0,Sn.useRef)(!1),{name:s}=t,i=(0,Sn.useCallback)(()=>{if(e&&n.current){console.log("handleResizeStart");let{width:c}=n.current.getBoundingClientRect();o.current=Math.round(c),r.current=!0,e==null||e("begin",s)}},[s,e,n]),l=(0,Sn.useCallback)((c,u)=>{if(n.current&&e){let{width:d}=n.current.getBoundingClientRect(),p=Math.round(d)+u;p!==o.current&&p>0&&(e("resize",s,p),o.current=p)}},[s,e,n]),a=(0,Sn.useCallback)(()=>{e&&(e("end",s,o.current),setTimeout(()=>{r.current=!1},100))},[s,e]);return{isResizing:r.current,onDrag:l,onDragStart:i,onDragEnd:a}};var ft=require("react/jsx-runtime"),Yt="vuuTable-groupHeaderCell",Hd=({column:t,onClick:e,...n})=>(0,ft.jsx)("span",{...n,className:`${Yt}-close`,"data-icon":"close-circle",onClick:()=>e==null?void 0:e(t)}),pb=t=>{let{children:e,column:n,className:o}=t;return(0,ft.jsxs)("div",{className:(0,Vi.default)(`${Yt}-col`,o),role:"columnheader",children:[(0,ft.jsx)("span",{className:`${Yt}-label`,children:n.name}),e]})},Od=({column:t,className:e,onRemoveColumn:n,onResize:o,...r})=>{let s=(0,Ad.useRef)(null),{isResizing:i,...l}=nr({column:t,onResize:o,rootRef:s}),a=(0,Vi.default)(Yt,e,{vuuPinLeft:t.pin==="left",[`${Yt}-right`]:t.align==="right",[`${Yt}-resizing`]:t.resizing,[`${Yt}-pending`]:t.groupConfirmed===!1}),{columns:c}=t;return(0,ft.jsx)("div",{className:a,ref:s,...r,children:(0,ft.jsxs)("div",{className:`${Yt}-inner`,children:[c.map(u=>(0,ft.jsx)(pb,{column:u,children:c.length>1?(0,ft.jsx)(Hd,{column:u,onClick:n}):null},u.key)),(0,ft.jsx)(Hd,{"data-align":"end",onClick:n}),t.resizeable!==!1?(0,ft.jsx)(Io,{...l}):null]})})};var Kd=_(require("classnames")),En=require("react");var $i=_(require("classnames"));var wn=require("react/jsx-runtime"),Nd="vuuSortIndicator",ys=({sorted:t})=>{if(!t)return null;let e=typeof t=="number"?t<0?"dsc":"asc":t==="A"?"asc":"dsc";return typeof t=="number"?(0,wn.jsxs)("div",{className:(0,$i.default)(Nd,"multi-col",e),children:[(0,wn.jsx)("span",{"data-icon":`sorted-${e}`}),(0,wn.jsx)("span",{className:"vuuSortPosition",children:Math.abs(t)})]}):(0,wn.jsx)("div",{className:(0,$i.default)(Nd,"single-col"),children:(0,wn.jsx)("span",{"data-icon":`sorted-${e}`})})};var Wd=require("@vuu-ui/vuu-popups");var zd=require("@vuu-ui/vuu-popups"),Fd=_(require("classnames")),Vd=require("react");var Bd=require("react/jsx-runtime");var $d=({column:t,filter:e})=>{let[n]=(0,zd.useContextMenu)(),o=(0,Vd.useCallback)(r=>{r.stopPropagation(),n(r,"filter",{column:t,filter:e})},[t,e,n]);return t.filter?(0,Bd.jsx)("div",{className:(0,Fd.default)("vuuFilterIndicator"),"data-icon":"filter",onClick:o}):null};var Zt=require("react/jsx-runtime"),or="vuuTable-headerCell",_d=({column:t,className:e,onClick:n,onDragStart:o,onResize:r,...s})=>{let i=(0,En.useRef)(null),{isResizing:l,...a}=nr({column:t,onResize:r,rootRef:i}),[c]=(0,Wd.useContextMenu)(),u=(0,En.useRef)(null),d=g=>{c(g,"header",{column:t})},p=(0,En.useCallback)(g=>!l&&(n==null?void 0:n(g)),[l,n]),m=(0,En.useCallback)(g=>{u.current=window.setTimeout(()=>{o==null||o(g),u.current=null},500)},[o]),f=(0,En.useCallback)(()=>{u.current!==null&&(window.clearTimeout(u.current),u.current=null)},[]),h=(0,Kd.default)(or,e,{vuuPinFloating:t.pin==="floating",vuuPinLeft:t.pin==="left",vuuPinRight:t.pin==="right",vuuEndPin:t.endPin,[`${or}-resizing`]:t.resizing,[`${or}-right`]:t.align==="right"});return(0,Zt.jsx)("div",{className:h,...s,onClick:p,onContextMenu:d,onMouseDown:m,onMouseUp:f,ref:i,children:(0,Zt.jsxs)("div",{className:`${or}-inner`,children:[(0,Zt.jsx)($d,{column:t}),(0,Zt.jsx)("div",{className:`${or}-label`,children:t.label}),(0,Zt.jsx)(ys,{sorted:t.sorted}),t.resizeable!==!1?(0,Zt.jsx)(Io,{...a}):null]})})};var ht=require("react/jsx-runtime"),Bi="vuuTable",{RENDER_IDX:mb}=rt.metadataKeys,Gd=({columns:t,columnsWithinViewport:e,data:n,getRowOffset:o,headings:r,onColumnResize:s,onHeaderCellDragStart:i,onContextMenu:l,onRemoveColumnFromGroupBy:a,onRowClick:c,onSort:u,onToggleGroup:d,tableId:p,virtualColSpan:m=0,rowCount:f})=>{let h=(0,co.useCallback)(C=>{i==null||i(C)},[i]),g=(0,co.useMemo)(()=>t.filter(rt.notHidden),[t]),y=(0,co.useMemo)(()=>(0,rt.buildColumnMap)(t),[t]),v=(0,co.useCallback)(C=>{var M;let T=C.target.closest(".vuuTable-headerCell"),x=parseInt((M=T==null?void 0:T.dataset.idx)!=null?M:"-1"),w=(0,rt.visibleColumnAtIndex)(t,x),R=C.shiftKey;w&&u(w,R)},[t,u]);return(0,ht.jsxs)("div",{"aria-rowcount":f,className:`${Bi}-table`,role:"table",children:[(0,ht.jsxs)("div",{className:`${Bi}-headers`,role:"rowGroup",children:[r.map((C,b)=>(0,ht.jsx)("div",{className:"vuuTable-heading",children:C.map(({label:T,width:x},w)=>(0,ht.jsx)("div",{className:"vuuTable-headingCell",style:{width:x},children:T},w))},b)),(0,ht.jsx)("div",{role:"row",children:g.map((C,b)=>{let T=(0,rt.getColumnStyle)(C);return(0,rt.isGroupColumn)(C)?(0,ht.jsx)(Od,{column:C,"data-idx":b,onRemoveColumn:a,onResize:s,role:"columnHeader",style:T},b):(0,ht.jsx)(_d,{column:C,"data-idx":b,id:`${p}-${b}`,onClick:v,onDragStart:h,onResize:s,role:"columnHeader",style:T},b)})})]}),(0,ht.jsx)("div",{className:`${Bi}-body`,onContextMenu:l,role:"rowGroup",children:n==null?void 0:n.map(C=>(0,ht.jsx)(kd,{columnMap:y,columns:e,offset:o(C),onClick:c,virtualColSpan:m,onToggleGroup:d,row:C},C[mb]))})]})};var kp=require("@vuu-ui/vuu-popups"),wt=require("@vuu-ui/vuu-utils"),me=require("react");var xs=require("@vuu-ui/vuu-utils"),rr=require("react"),{SELECTED:mH}=xs.metadataKeys;var Ki=require("react"),fb=require("@vuu-ui/vuu-data");var Wi=require("react"),hb=require("@vuu-ui/vuu-data");var gb=require("react"),bb=require("@vuu-ui/vuu-data");var yb=0,sr=class{constructor(e,n){this.from=e,this.to=n}},de=class{constructor(e={}){this.id=yb++,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=We.match(e)),n=>{let o=e(n);return o===void 0?null:[this,o]}}};de.closedBy=new de({deserialize:t=>t.split(" ")});de.openedBy=new de({deserialize:t=>t.split(" ")});de.group=new de({deserialize:t=>t.split(" ")});de.contextHash=new de({perNode:!0});de.lookAhead=new de({perNode:!0});de.mounted=new de({perNode:!0});var xb=Object.create(null),We=class{constructor(e,n,o,r=0){this.name=e,this.props=n,this.id=o,this.flags=r}static define(e){let n=e.props&&e.props.length?Object.create(null):xb,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new We(e.name||"",n,e.id,o);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let n=this.prop(de.group);return n?n.indexOf(e)>-1:!1}return this.id==e}static match(e){let n=Object.create(null);for(let o in e)for(let r of o.split(" "))n[r]=e[o];return o=>{for(let r=o.prop(de.group),s=-1;s<(r?r.length:0);s++){let i=n[s<0?o.name:r[s]];if(i)return i}}}};We.none=new We("",Object.create(null),0,8);var uo=class{constructor(e){this.types=e;for(let n=0;n<e.length;n++)if(e[n].id!=n)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let n=[];for(let o of this.types){let r=null;for(let s of e){let i=s(o);i&&(r||(r=Object.assign({},o.props)),r[i[0].id]=i[1])}n.push(r?new We(o.name,r,o.id,o.flags):o)}return new uo(n)}},Cs=new WeakMap,Ud=new WeakMap,Me;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays"})(Me||(Me={}));var Ie=class{constructor(e,n,o,r,s){if(this.type=e,this.children=n,this.positions=o,this.length=r,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(de.mounted);if(e&&!e.overlay)return e.tree.toString();let n="";for(let o of this.children){let r=o.toString();r&&(n&&(n+=","),n+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(n.length?"("+n+")":""):n}cursor(e=0){return new mo(this.topNode,e)}cursorAt(e,n=0,o=0){let r=Cs.get(this)||this.topNode,s=new mo(r);return s.moveTo(e,n),Cs.set(this,s._tree),s}get topNode(){return new gt(this,0,0,null)}resolve(e,n=0){let o=po(Cs.get(this)||this.topNode,e,n,!1);return Cs.set(this,o),o}resolveInner(e,n=0){let o=po(Ud.get(this)||this.topNode,e,n,!0);return Ud.set(this,o),o}iterate(e){let{enter:n,leave:o,from:r=0,to:s=this.length}=e,i=e.mode||0,l=(i&Me.IncludeAnonymous)>0;for(let a=this.cursor(i|Me.IncludeAnonymous);;){let c=!1;if(a.from<=s&&a.to>=r&&(!l&&a.type.isAnonymous||n(a)!==!1)){if(a.firstChild())continue;c=!0}for(;c&&o&&(l||!a.type.isAnonymous)&&o(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 n in this.props)e.push([+n,this.props[n]]);return e}balance(e={}){return this.children.length<=8?this:Xi(We.none,this.children,this.positions,0,this.children.length,0,this.length,(n,o,r)=>new Ie(this.type,n,o,r,this.propValues),e.makeTree||((n,o,r)=>new Ie(We.none,n,o,r)))}static build(e){return Cb(e)}};Ie.empty=new Ie(We.none,[],[],0);var ir=class{constructor(e,n){this.buffer=e,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new ir(this.buffer,this.index)}},Ht=class{constructor(e,n,o){this.buffer=e,this.length=n,this.set=o}get type(){return We.none}toString(){let e=[];for(let n=0;n<this.buffer.length;)e.push(this.childString(n)),n=this.buffer[n+3];return e.join(",")}childString(e){let n=this.buffer[e],o=this.buffer[e+3],r=this.set.types[n],s=r.name;if(/\W/.test(s)&&!r.isError&&(s=JSON.stringify(s)),e+=4,o==e)return s;let i=[];for(;e<o;)i.push(this.childString(e)),e=this.buffer[e+3];return s+"("+i.join(",")+")"}findChild(e,n,o,r,s){let{buffer:i}=this,l=-1;for(let a=e;a!=n&&!(Qd(s,r,i[a+1],i[a+2])&&(l=a,o>0));a=i[a+3]);return l}slice(e,n,o){let r=this.buffer,s=new Uint16Array(n-e),i=0;for(let l=e,a=0;l<n;){s[a++]=r[l++],s[a++]=r[l++]-o;let c=s[a++]=r[l++]-o;s[a++]=r[l++]-e,i=Math.max(i,c)}return new Ht(s,i,this.set)}};function Qd(t,e,n,o){switch(t){case-2:return n<e;case-1:return o>=e&&n<e;case 0:return n<e&&o>e;case 1:return n<=e&&o>e;case 2:return o>e;case 4:return!0}}function jd(t,e){let n=t.childBefore(e);for(;n;){let o=n.lastChild;if(!o||o.to!=n.to)break;o.type.isError&&o.from==o.to?(t=n,n=o.prevSibling):n=o}return t}function po(t,e,n,o){for(var r;t.from==t.to||(n<1?t.from>=e:t.from>e)||(n>-1?t.to<=e:t.to<e);){let i=!o&&t instanceof gt&&t.index<0?null:t.parent;if(!i)return t;t=i}let s=o?0:Me.IgnoreOverlays;if(o)for(let i=t,l=i.parent;l;i=l,l=i.parent)i instanceof gt&&i.index<0&&((r=l.enter(e,n,s))===null||r===void 0?void 0:r.from)!=i.from&&(t=l);for(;;){let i=t.enter(e,n,s);if(!i)return t;t=i}}var gt=class{constructor(e,n,o,r){this._tree=e,this.from=n,this.index=o,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,n,o,r,s=0){for(let i=this;;){for(let{children:l,positions:a}=i._tree,c=n>0?l.length:-1;e!=c;e+=n){let u=l[e],d=a[e]+i.from;if(Qd(r,o,d,d+u.length)){if(u instanceof Ht){if(s&Me.ExcludeBuffers)continue;let p=u.findChild(0,u.buffer.length,n,o-d,r);if(p>-1)return new Tt(new _i(i,u,e,d),null,p)}else if(s&Me.IncludeAnonymous||!u.type.isAnonymous||Ui(u)){let p;if(!(s&Me.IgnoreMounts)&&u.props&&(p=u.prop(de.mounted))&&!p.overlay)return new gt(p.tree,d,e,i);let m=new gt(u,d,e,i);return s&Me.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(n<0?u.children.length-1:0,n,o,r)}}}if(s&Me.IncludeAnonymous||!i.type.isAnonymous||(i.index>=0?e=i.index+n:e=n<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,n,o=0){let r;if(!(o&Me.IgnoreOverlays)&&(r=this._tree.prop(de.mounted))&&r.overlay){let s=e-this.from;for(let{from:i,to:l}of r.overlay)if((n>0?i<=s:i<s)&&(n<0?l>=s:l>s))return new gt(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,n,o)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}cursor(e=0){return new mo(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,n=0){return po(this,e,n,!1)}resolveInner(e,n=0){return po(this,e,n,!0)}enterUnfinishedNodesBefore(e){return jd(this,e)}getChild(e,n=null,o=null){let r=Ts(this,e,n,o);return r.length?r[0]:null}getChildren(e,n=null,o=null){return Ts(this,e,n,o)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return Ss(this,e)}};function Ts(t,e,n,o){let r=t.cursor(),s=[];if(!r.firstChild())return s;if(n!=null){for(;!r.type.is(n);)if(!r.nextSibling())return s}for(;;){if(o!=null&&r.type.is(o))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return o==null?s:[]}}function Ss(t,e,n=e.length-1){for(let o=t.parent;n>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(e[n]&&e[n]!=o.name)return!1;n--}}return!0}var _i=class{constructor(e,n,o,r){this.parent=e,this.buffer=n,this.index=o,this.start=r}},Tt=class{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,n,o){this.context=e,this._parent=n,this.index=o,this.type=e.buffer.set.types[e.buffer.buffer[o]]}child(e,n,o){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,n-this.context.start,o);return s<0?null:new Tt(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,n,o=0){if(o&Me.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],n>0?1:-1,e-this.context.start,n);return s<0?null:new Tt(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,n=e.buffer[this.index+3];return n<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Tt(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new Tt(this.context,this._parent,e.findChild(n,this.index,-1,0,4))}cursor(e=0){return new mo(this,e)}get tree(){return null}toTree(){let e=[],n=[],{buffer:o}=this.context,r=this.index+4,s=o.buffer[this.index+3];if(s>r){let i=o.buffer[this.index+1];e.push(o.slice(r,s,i)),n.push(0)}return new Ie(this.type,e,n,this.to-this.from)}resolve(e,n=0){return po(this,e,n,!1)}resolveInner(e,n=0){return po(this,e,n,!0)}enterUnfinishedNodesBefore(e){return jd(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,n=null,o=null){let r=Ts(this,e,n,o);return r.length?r[0]:null}getChildren(e,n=null,o=null){return Ts(this,e,n,o)}get node(){return this}matchContext(e){return Ss(this,e)}},mo=class{get name(){return this.type.name}constructor(e,n=0){if(this.mode=n,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof gt)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let o=e._parent;o;o=o._parent)this.stack.unshift(o.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,n){this.index=e;let{start:o,buffer:r}=this.buffer;return this.type=n||r.set.types[r.buffer[e]],this.from=o+r.buffer[e+1],this.to=o+r.buffer[e+2],!0}yield(e){return e?e instanceof gt?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,n,o){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,n,o,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,n-this.buffer.start,o);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,n,o=this.mode){return this.buffer?o&Me.ExcludeBuffers?!1:this.enterChild(1,e,n):this.yield(this._tree.enter(e,n,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Me.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Me.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:n}=this.buffer,o=this.stack.length-1;if(e<0){let r=o<0?0:this.stack[o]+4;if(this.index!=r)return this.yieldBuf(n.findChild(r,this.index,-1,0,4))}else{let r=n.buffer[this.index+3];if(r<(o<0?n.buffer.length:n.buffer[this.stack[o]+3]))return this.yieldBuf(r)}return o<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let n,o,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(r.buffer.buffer[s+3]<this.index)return!1;({index:n,parent:o}=r)}else({index:n,_parent:o}=this._tree);for(;o;{index:n,_parent:o}=o)if(n>-1)for(let s=n+e,i=e<0?-1:o._tree.children.length;s!=i;s+=e){let l=o._tree.children[s];if(this.mode&Me.IncludeAnonymous||l instanceof Ht||!l.type.isAnonymous||Ui(l))return!1}return!0}move(e,n){if(n&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,n=0){for(;(this.from==this.to||(n<1?this.from>=e:this.from>e)||(n>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,n););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,n=null,o=0;if(e&&e.context==this.buffer)e:for(let r=this.index,s=this.stack.length;s>=0;){for(let i=e;i;i=i._parent)if(i.index==r){if(r==this.index)return i;n=i,o=s+1;break e}r=this.stack[--s]}for(let r=o;r<this.stack.length;r++)n=new Tt(this.buffer,n,this.stack[r]);return this.bufferNode=new Tt(this.buffer,n,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,n){for(let o=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){o++;continue}this.type.isAnonymous||(r=!0)}for(;r&&n&&n(this),r=this.type.isAnonymous,!this.nextSibling();){if(!o)return;this.parent(),o--,r=!0}}}matchContext(e){if(!this.buffer)return Ss(this.node,e);let{buffer:n}=this.buffer,{types:o}=n.set;for(let r=e.length-1,s=this.stack.length-1;r>=0;s--){if(s<0)return Ss(this.node,e,r);let i=o[n.buffer[this.stack[s]]];if(!i.isAnonymous){if(e[r]&&e[r]!=i.name)return!1;r--}}return!0}};function Ui(t){return t.children.some(e=>e instanceof Ht||!e.type.isAnonymous||Ui(e))}function Cb(t){var e;let{buffer:n,nodeSet:o,maxBufferLength:r=1024,reused:s=[],minRepeatType:i=o.types.length}=t,l=Array.isArray(n)?new ir(n,n.length):n,a=o.types,c=0,u=0;function d(b,T,x,w,R){let{id:M,start:E,end:I,size:S}=l,D=u;for(;S<0;)if(l.next(),S==-1){let k=s[M];x.push(k),w.push(E-b);return}else if(S==-3){c=M;return}else if(S==-4){u=M;return}else throw new RangeError(`Unrecognized record size: ${S}`);let L=a[M],A,H,P=E-b;if(I-E<=r&&(H=h(l.pos-T,R))){let k=new Uint16Array(H.size-H.skip),N=l.pos-H.size,O=k.length;for(;l.pos>N;)O=g(H.start,k,O);A=new Ht(k,I-H.start,o),P=H.start-b}else{let k=l.pos-S;l.next();let N=[],O=[],F=M>=i?M:-1,$=0,U=I;for(;l.pos>k;)F>=0&&l.id==F&&l.size>=0?(l.end<=U-r&&(m(N,O,E,$,l.end,U,F,D),$=N.length,U=l.end),l.next()):d(E,k,N,O,F);if(F>=0&&$>0&&$<N.length&&m(N,O,E,$,E,U,F,D),N.reverse(),O.reverse(),F>-1&&$>0){let W=p(L);A=Xi(L,N,O,0,N.length,0,I-E,W,W)}else A=f(L,N,O,I-E,D-I)}x.push(A),w.push(P)}function p(b){return(T,x,w)=>{let R=0,M=T.length-1,E,I;if(M>=0&&(E=T[M])instanceof Ie){if(!M&&E.type==b&&E.length==w)return E;(I=E.prop(de.lookAhead))&&(R=x[M]+E.length+I)}return f(b,T,x,w,R)}}function m(b,T,x,w,R,M,E,I){let S=[],D=[];for(;b.length>w;)S.push(b.pop()),D.push(T.pop()+x-R);b.push(f(o.types[E],S,D,M-R,I-M)),T.push(R-x)}function f(b,T,x,w,R=0,M){if(c){let E=[de.contextHash,c];M=M?[E].concat(M):[E]}if(R>25){let E=[de.lookAhead,R];M=M?[E].concat(M):[E]}return new Ie(b,T,x,w,M)}function h(b,T){let x=l.fork(),w=0,R=0,M=0,E=x.end-r,I={size:0,start:0,skip:0};e:for(let S=x.pos-b;x.pos>S;){let D=x.size;if(x.id==T&&D>=0){I.size=w,I.start=R,I.skip=M,M+=4,w+=4,x.next();continue}let L=x.pos-D;if(D<0||L<S||x.start<E)break;let A=x.id>=i?4:0,H=x.start;for(x.next();x.pos>L;){if(x.size<0)if(x.size==-3)A+=4;else break e;else x.id>=i&&(A+=4);x.next()}R=H,w+=D,M+=A}return(T<0||w==b)&&(I.size=w,I.start=R,I.skip=M),I.size>4?I:void 0}function g(b,T,x){let{id:w,start:R,end:M,size:E}=l;if(l.next(),E>=0&&w<i){let I=x;if(E>4){let S=l.pos-(E-4);for(;l.pos>S;)x=g(b,T,x)}T[--x]=I,T[--x]=M-b,T[--x]=R-b,T[--x]=w}else E==-3?c=w:E==-4&&(u=w);return x}let y=[],v=[];for(;l.pos>0;)d(t.start||0,t.bufferStart||0,y,v,-1);let C=(e=t.length)!==null&&e!==void 0?e:y.length?v[0]+y[0].length:0;return new Ie(a[t.topID],y.reverse(),v.reverse(),C)}var Xd=new WeakMap;function vs(t,e){if(!t.isAnonymous||e instanceof Ht||e.type!=t)return 1;let n=Xd.get(e);if(n==null){n=1;for(let o of e.children){if(o.type!=t||!(o instanceof Ie)){n=1;break}n+=vs(t,o)}Xd.set(e,n)}return n}function Xi(t,e,n,o,r,s,i,l,a){let c=0;for(let f=o;f<r;f++)c+=vs(t,e[f]);let u=Math.ceil(c*1.5/8),d=[],p=[];function m(f,h,g,y,v){for(let C=g;C<y;){let b=C,T=h[C],x=vs(t,f[C]);for(C++;C<y;C++){let w=vs(t,f[C]);if(x+w>=u)break;x+=w}if(C==b+1){if(x>u){let w=f[b];m(w.children,w.positions,0,w.children.length,h[b]+v);continue}d.push(f[b])}else{let w=h[C-1]+f[C-1].length-T;d.push(Xi(t,f,h,b,C,T,w,null,a))}p.push(T+v-s)}}return m(e,n,o,r,0),(l||a)(d,p,i)}var ws=class{startParse(e,n,o){return typeof e=="string"&&(e=new Gi(e)),o=o?o.length?o.map(r=>new sr(r.from,r.to)):[new sr(0,0)]:[new sr(0,e.length)],this.createParse(e,n||[],o)}parse(e,n,o){let r=this.startParse(e,n,o);for(;;){let s=r.advance();if(s)return s}}},Gi=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,n){return this.string.slice(e,n)}};var xH=new de({perNode:!0});var ho=class{constructor(e,n,o,r,s,i,l,a,c,u=0,d){this.p=e,this.stack=n,this.state=o,this.reducePos=r,this.pos=s,this.score=i,this.buffer=l,this.bufferBase=a,this.curContext=c,this.lookAhead=u,this.parent=d}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,o=0){let r=e.parser.context;return new ho(e,[],n,o,o,0,[],0,r?new Es(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let o=e>>19,r=e&65535,{parser:s}=this.p,i=s.dynamicPrecedence(r);if(i&&(this.score+=i),o==0){this.pushState(s.getGoto(this.state,r,!0),this.reducePos),r<s.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,4,!0),this.reduceContext(r,this.reducePos);return}let l=this.stack.length-(o-1)*3-(e&262144?6:0),a=l?this.stack[l-2]:this.p.ranges[0].from,c=this.reducePos-a;c>=2e3&&!(!((n=this.p.parser.nodeSet.types[r])===null||n===void 0)&&n.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,d=this.bufferBase+this.buffer.length-u;if(r<s.minRepeatTerm||e&131072){let p=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,a,p,d+4,!0)}if(e&262144)this.state=this.stack[l];else{let p=this.stack[l-3];this.state=s.getGoto(p,r,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(r,a)}storeNode(e,n,o,r=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(n==o)return;if(i.buffer[l-2]>=n){i.buffer[l-2]=o;return}}}if(!s||this.pos==o)this.buffer.push(e,n,o,r);else{let i=this.buffer.length;if(i>0&&this.buffer[i-4]!=0)for(;i>0&&this.buffer[i-2]>o;)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,r>4&&(r-=4);this.buffer[i]=e,this.buffer[i+1]=n,this.buffer[i+2]=o,this.buffer[i+3]=r}}shift(e,n,o){let r=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=o,this.shiftContext(n,r),n<=this.p.parser.maxNode&&this.buffer.push(n,r,o,4);else{let s=e,{parser:i}=this.p;(o>this.pos||n<=i.maxNode)&&(this.pos=o,i.stateFlag(s,1)||(this.reducePos=o)),this.pushState(s,r),this.shiftContext(n,r),n<=i.maxNode&&this.buffer.push(n,r,o,4)}}apply(e,n,o){e&65536?this.reduce(e):this.shift(e,n,o)}useNode(e,n){let o=this.p.reused.length-1;(o<0||this.p.reused[o]!=e)&&(this.p.reused.push(e),o++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(n,r),this.buffer.push(o,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(;n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let o=e.buffer.slice(n),r=e.bufferBase+n;for(;e&&r==e.bufferBase;)e=e.parent;return new ho(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,o,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let o=e<=this.p.parser.maxNode;o&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,o?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new ji(this);;){let o=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(o==0)return!1;if(!(o&65536))return!0;n.reduce(o)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>4<<1||this.stack.length>=120){let r=[];for(let s=0,i;s<n.length;s+=2)(i=n[s+1])!=this.state&&this.p.parser.hasAction(i,e)&&r.push(n[s],i);if(this.stack.length<120)for(let s=0;r.length<4<<1&&s<n.length;s+=2){let i=n[s+1];r.some((l,a)=>a&1&&l==i)||r.push(n[s],i)}n=r}let o=[];for(let r=0;r<n.length&&o.length<4;r+=2){let s=n[r+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(n[r],this.pos),i.score-=200,o.push(i)}return o}forceReduce(){let{parser:e}=this.p,n=e.stateSlot(this.state,5);if(!(n&65536))return!1;if(!e.validAction(this.state,n)){let o=n>>19,r=n&65535,s=this.stack.length-o*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let i=this.findForcedReduction();if(i==null)return!1;n=i}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:e}=this.p,n=[],o=(r,s)=>{if(!n.includes(r))return n.push(r),e.allActions(r,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=o(i,s+1);if(l!=null)return l}})};return o(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 n=0;n<this.stack.length;n+=3)if(this.stack[n]!=e.stack[n])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(n)))}reduceContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(n)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.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 n=new Es(this.curContext.tracker,e);n.hash!=this.curContext.hash&&this.emitContext(),this.curContext=n}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},Es=class{constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}},Yd;(function(t){t[t.Insert=200]="Insert",t[t.Delete=190]="Delete",t[t.Reduce=100]="Reduce",t[t.MaxNext=4]="MaxNext",t[t.MaxInsertStackDepth=300]="MaxInsertStackDepth",t[t.DampenInsertStackDepth=120]="DampenInsertStackDepth",t[t.MinBigReduction=2e3]="MinBigReduction"})(Yd||(Yd={}));var ji=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,o=e>>19;o==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(o-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=r}},go=class{constructor(e,n,o){this.stack=e,this.pos=n,this.index=o,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new go(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new go(this.stack,this.pos,this.index)}};function lr(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let o=0,r=0;o<t.length;){let s=0;for(;;){let i=t.charCodeAt(o++),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}n?n[r++]=s:n=new e(s)}return n}var fo=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Zd=new fo,Yi=class{constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Zd,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let o=this.range,r=this.rangeIndex,s=this.pos+e;for(;s<o.from;){if(!r)return null;let i=this.ranges[--r];s-=o.from-i.to,o=i}for(;n<0?s>o.to:s>=o.to;){if(r==this.ranges.length-1)return null;let i=this.ranges[++r];s+=i.from-o.to,o=i}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let n of this.ranges)if(n.to>e)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,o,r;if(n>=0&&n<this.chunk.length)o=this.pos+e,r=this.chunk.charCodeAt(n);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(o=s,o>=this.chunk2Pos&&o<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(o-this.chunk2Pos);else{let i=this.rangeIndex,l=this.range;for(;l.to<=o;)l=this.ranges[++i];this.chunk2=this.input.chunk(this.chunk2Pos=o),o+this.chunk2.length>l.to&&(this.chunk2=this.chunk2.slice(0,l.to-o)),r=this.chunk2.charCodeAt(0)}}return o>=this.token.lookAhead&&(this.token.lookAhead=o+1),r}acceptToken(e,n=0){let o=n?this.resolveOffset(n,-1):this.pos;if(o==null||o<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=o}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:n}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=n,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),n=this.pos+e.length;this.chunk=n>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=Zd,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,n){if(e>=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let o="";for(let r of this.ranges){if(r.from>=n)break;r.to>e&&(o+=this.input.read(Math.max(r.from,e),Math.min(r.to,n)))}return o}},qt=class{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:o}=n.p;rp(this.data,e,n,this.id,o.data,o.tokenPrecTable)}};qt.prototype.contextual=qt.prototype.fallback=qt.prototype.extend=!1;var Zi=class{constructor(e,n,o){this.precTable=n,this.elseToken=o,this.data=typeof e=="string"?lr(e):e}token(e,n){let o=e.pos,r=0;for(;;){let s=e.next<0,i=e.resolveOffset(1,1);if(rp(this.data,e,n,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,i==null)break;e.reset(i,e.token)}r&&(e.reset(o,e.token),e.acceptToken(this.elseToken,r))}};Zi.prototype.contextual=qt.prototype.fallback=qt.prototype.extend=!1;function rp(t,e,n,o,r,s){let i=0,l=1<<o,{dialect:a}=n.p.parser;e:for(;l&t[i];){let c=t[i+1];for(let m=i+3;m<c;m+=2)if((t[m+1]&l)>0){let f=t[m];if(a.allows(f)&&(e.token.value==-1||e.token.value==f||Tb(f,e.token.value,r,s))){e.acceptToken(f);break}}let u=e.next,d=0,p=t[i+2];if(e.next<0&&p>d&&t[c+p*3-3]==65535&&t[c+p*3-3]==65535){i=t[c+p*3-1];continue e}for(;d<p;){let m=d+p>>1,f=c+m+(m<<1),h=t[f],g=t[f+1]||65536;if(u<h)p=m;else if(u>=g)d=m+1;else{i=t[f+2],e.advance();continue e}}break}}function qd(t,e,n){for(let o=e,r;(r=t[o])!=65535;o++)if(r==n)return o-e;return-1}function Tb(t,e,n,o){let r=qd(n,o,e);return r<0||qd(n,o,t)<r}var bt=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),Qi=null,Jd;(function(t){t[t.Margin=25]="Margin"})(Jd||(Jd={}));function ep(t,e,n){let o=t.cursor(Me.IncludeAnonymous);for(o.moveTo(e);;)if(!(n<0?o.childBefore(e):o.childAfter(e)))for(;;){if((n<0?o.to<e:o.from>e)&&!o.type.isError)return n<0?Math.max(0,Math.min(o.to-1,e-25)):Math.min(t.length,Math.max(o.from+1,e+25));if(n<0?o.prevSibling():o.nextSibling())break;if(!o.parent())return n<0?0:t.length}}var qi=class{constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ep(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ep(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let n=this.trees.length-1;if(n<0)return this.nextFragment(),null;let o=this.trees[n],r=this.index[n];if(r==o.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=o.children[r],i=this.start[n]+o.positions[r];if(i>e)return this.nextStart=i,null;if(s instanceof Ie){if(i==e){if(i<this.safeFrom)return null;let l=i+s.length;if(l<=this.safeTo){let a=s.prop(de.lookAhead);if(!a||l+a<this.fragment.to)return s}}this.index[n]++,i+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(i),this.index.push(0))}else this.index[n]++,this.nextStart=i+s.length}}},Ji=class{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(o=>new fo)}getActions(e){let n=0,o=null,{parser:r}=e.p,{tokenizers:s}=r,i=r.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],d=this.tokens[c];if(!(o&&!u.fallback)&&((u.contextual||d.start!=e.pos||d.mask!=i||d.context!=l)&&(this.updateCachedToken(d,u,e),d.mask=i,d.context=l),d.lookAhead>d.end+25&&(a=Math.max(d.lookAhead,a)),d.value!=0)){let p=n;if(d.extended>-1&&(n=this.addActions(e,d.extended,d.end,n)),n=this.addActions(e,d.value,d.end,n),!u.extend&&(o=d,n>p))break}}for(;this.actions.length>n;)this.actions.pop();return a&&e.setLookAhead(a),!o&&e.pos==this.stream.end&&(o=new fo,o.value=e.p.parser.eofTerm,o.start=o.end=e.pos,n=this.addActions(e,o.value,o.end,n)),this.mainToken=o,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new fo,{pos:o,p:r}=e;return n.start=o,n.end=Math.min(o+1,r.stream.end),n.value=o==r.stream.end?r.parser.eofTerm:0,n}updateCachedToken(e,n,o){let r=this.stream.clipPos(o.pos);if(n.token(this.stream.reset(r,e),o),e.value>-1){let{parser:s}=o.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),o);if(l>=0&&o.p.parser.dialect.allows(l>>1)){l&1?e.extended=l>>1:e.value=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,n,o,r){for(let s=0;s<r;s+=3)if(this.actions[s]==e)return r;return this.actions[r++]=e,this.actions[r++]=n,this.actions[r++]=o,r}addActions(e,n,o,r){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=At(l,c+2);else{r==0&&l[c+1]==2&&(r=this.putAction(At(l,c+2),n,o,r));break}l[c]==n&&(r=this.putAction(At(l,c+1),n,o,r))}return r}},tp;(function(t){t[t.Distance=5]="Distance",t[t.MaxRemainingPerStep=3]="MaxRemainingPerStep",t[t.MinBufferLengthPrune=500]="MinBufferLengthPrune",t[t.ForceReduceLimit=10]="ForceReduceLimit",t[t.CutDepth=15e3]="CutDepth",t[t.CutTo=9e3]="CutTo",t[t.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",t[t.MaxStackCount=12]="MaxStackCount"})(tp||(tp={}));var el=class{constructor(e,n,o,r){this.parser=e,this.input=n,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Yi(n,r),this.tokens=new Ji(e,this.stream),this.topTerm=e.top[1];let{from:s}=r[0];this.stacks=[ho.start(this,e.top[0],s)],this.fragments=o.length&&this.stream.end-s>e.bufferLength*4?new qi(o,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,o=this.stacks=[],r,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>n)o.push(l);else{if(this.advanceStack(l,o,e))continue;{r||(r=[],s=[]),r.push(l);let a=this.tokens.getMainToken(l);s.push(a.value,a.end)}}break}}if(!o.length){let i=r&&Sb(r);if(i)return this.stackToTree(i);if(this.parser.strict)throw bt&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&r){let i=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,o);if(i)return this.stackToTree(i.forceAll())}if(this.recovering){let i=this.recovering==1?1:this.recovering*3;if(o.length>i)for(o.sort((l,a)=>a.score-l.score);o.length>i;)o.pop();o.some(l=>l.reducePos>n)&&this.recovering--}else if(o.length>1){e:for(let i=0;i<o.length-1;i++){let l=o[i];for(let a=i+1;a<o.length;a++){let c=o[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)o.splice(a--,1);else{o.splice(i--,1);continue e}}}o.length>12&&o.splice(12,o.length-12)}this.minStackPos=o[0].pos;for(let i=1;i<o.length;i++)o[i].pos<this.minStackPos&&(this.minStackPos=o[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,n,o){let r=e.pos,{parser:s}=this,i=bt?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&r>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 d=this.fragments.nodeAt(r);d;){let p=this.parser.nodeSet.types[d.type.id]==d.type?s.getGoto(e.state,d.type.id):-1;if(p>-1&&d.length&&(!c||(d.prop(de.contextHash)||0)==u))return e.useNode(d,p),bt&&console.log(i+this.stackID(e)+` (via reuse of ${s.getName(d.type.id)})`),!0;if(!(d instanceof Ie)||d.children.length==0||d.positions[0]>0)break;let m=d.children[0];if(m instanceof Ie&&d.positions[0]==0)d=m;else break}}let l=s.stateSlot(e.state,4);if(l>0)return e.reduce(l),bt&&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++],d=a[c++],p=a[c++],m=c==a.length||!o,f=m?e:e.split();if(f.apply(u,d,p),bt&&console.log(i+this.stackID(f)+` (via ${u&65536?`reduce of ${s.getName(u&65535)}`:"shift"} for ${s.getName(d)} @ ${r}${f==e?"":", split"})`),m)return!0;f.pos>r?n.push(f):o.push(f)}return!1}advanceFully(e,n){let o=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>o)return np(e,n),!0}}runRecovery(e,n,o){let r=null,s=!1;for(let i=0;i<e.length;i++){let l=e[i],a=n[i<<1],c=n[(i<<1)+1],u=bt?this.stackID(l)+" -> ":"";if(l.deadEnd&&(s||(s=!0,l.restart(),bt&&console.log(u+this.stackID(l)+" (restarted)"),this.advanceFully(l,o))))continue;let d=l.split(),p=u;for(let m=0;d.forceReduce()&&m<10&&(bt&&console.log(p+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,o));m++)bt&&(p=this.stackID(d)+" -> ");for(let m of l.recoverByInsert(a))bt&&console.log(u+this.stackID(m)+" (via recover-insert)"),this.advanceFully(m,o);this.stream.end>l.pos?(c==l.pos&&(c++,a=0),l.recoverByDelete(a,c),bt&&console.log(u+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),np(l,o)):(!r||r.score<l.score)&&(r=l)}return r}stackToTree(e){return e.close(),Ie.build({buffer:go.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let n=(Qi||(Qi=new WeakMap)).get(e);return n||Qi.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}};function np(t,e){for(let n=0;n<e.length;n++){let o=e[n];if(o.pos==t.pos&&o.sameState(t)){e[n].score<t.score&&(e[n]=t);return}}e.push(t)}var tl=class{constructor(e,n,o){this.source=e,this.flags=n,this.disabled=o}allows(e){return!this.disabled||this.disabled[e]==0}};var Rn=class extends ws{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let l=0;l<e.repeatNodeCount;l++)n.push("");let o=Object.keys(e.topRules).map(l=>e.topRules[l][1]),r=[];for(let l=0;l<n.length;l++)r.push([]);function s(l,a,c){r[l].push([a,a.deserialize(String(c))])}if(e.nodeProps)for(let l of e.nodeProps){let a=l[0];typeof a=="string"&&(a=de[a]);for(let c=1;c<l.length;){let u=l[c++];if(u>=0)s(u,a,l[c++]);else{let d=l[c+-u];for(let p=-u;p>0;p--)s(l[c++],a,d);c++}}}this.nodeSet=new uo(n.map((l,a)=>We.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:r[a],top:o.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let i=lr(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(op),this.states=lr(e.states,Uint32Array),this.data=lr(e.stateData),this.goto=lr(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(l=>typeof l=="number"?new qt(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,n,o){let r=new el(this,e,n,o);for(let s of this.wrappers)r=s(r,e,n,o);return r}getGoto(e,n,o=!1){let r=this.goto;if(n>=r[0])return-1;for(let s=r[n+1];;){let i=r[s++],l=i&1,a=r[s++];if(l&&o)return a;for(let c=s+(i>>1);s<c;s++)if(r[s]==e)return a;if(l)return-1}}hasAction(e,n){let o=this.data;for(let r=0;r<2;r++)for(let s=this.stateSlot(e,r?2:1),i;;s+=3){if((i=o[s])==65535)if(o[s+1]==1)i=o[s=At(o,s+2)];else{if(o[s+1]==2)return At(o,s+2);break}if(i==n||i==0)return At(o,s+1)}return 0}stateSlot(e,n){return this.states[e*6+n]}stateFlag(e,n){return(this.stateSlot(e,0)&n)>0}validAction(e,n){return!!this.allActions(e,o=>o==n?!0:null)}allActions(e,n){let o=this.stateSlot(e,4),r=o?n(o):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=At(this.data,s+2);else break;r=n(At(this.data,s+1))}return r}nextStates(e){let n=[];for(let o=this.stateSlot(e,1);;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=At(this.data,o+2);else break;if(!(this.data[o+2]&1)){let r=this.data[o+1];n.some((s,i)=>i&1&&s==r)||n.push(this.data[o],r)}}return n}configure(e){let n=Object.assign(Object.create(Rn.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let o=this.topRules[e.top];if(!o)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=o}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(o=>{let r=e.tokenizers.find(s=>s.from==o);return r?r.to:o})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((o,r)=>{let s=e.specializers.find(l=>l.from==o.external);if(!s)return o;let i=Object.assign(Object.assign({},o),{external:s.to});return n.specializers[r]=op(i),i})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),o=n.map(()=>!1);if(e)for(let s of e.split(" ")){let i=n.indexOf(s);i>=0&&(o[i]=!0)}let r=null;for(let s=0;s<n.length;s++)if(!o[s])for(let i=this.dialects[n[s]],l;(l=this.data[i++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[l]=1;return new tl(e,o,r)}static deserialize(e){return new Rn(e)}};function At(t,e){return t[e]|t[e+1]<<16}function Sb(t){let e=null;for(let n of t){let o=n.p.stoppedAt;(n.pos==n.p.stream.end||o!=null&&n.pos>o)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.score<n.score)&&(e=n)}return e}function op(t){if(t.external){let e=t.extend?1:0;return(n,o)=>t.external(n,o)<<1|e}return t.get}var nl=Rn.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 St=require("@vuu-ui/vuu-utils");var _e,sp=class{constructor(){vl(this,_e,void 0)}setFilterCombinatorOp(e,n=yt(this,_e)){(0,St.isMultiClauseFilter)(n)&&n.op===e||zs(this,_e,{op:e,filters:[yt(this,_e)]})}add(e){if(yt(this,_e)===void 0)zs(this,_e,e);else if((0,St.isMultiClauseFilter)(yt(this,_e)))yt(this,_e).filters.push(e);else throw Error("Invalid filter passed to FilterExpression")}setColumn(e,n=yt(this,_e)){if((0,St.isMultiClauseFilter)(n)){let o=n.filters.at(-1);o&&this.setColumn(e,o)}else n&&(n.column=e)}setOp(e,n=yt(this,_e)){if((0,St.isMultiClauseFilter)(n)){let o=n.filters.at(-1);o&&this.setOp(e,o)}else n&&(n.op=e)}setValue(e,n=yt(this,_e)){var o;if((0,St.isMultiClauseFilter)(n)){let r=n.filters.at(-1);r&&this.setValue(e,r)}else(0,St.isMultiValueFilter)(n)?((o=n.values)!=null||(n.values=[]),n.values.push(e)):(0,St.isSingleValueFilter)(n)&&(n.value=e)}toJSON(e=yt(this,_e)){return this.name?{...e,name:this.name}:e}};_e=new WeakMap;var IH=nl.configure({strict:!0});var Rs=require("@vuu-ui/vuu-utils"),Rb=require("react");var{KEY:BH}=Rs.metadataKeys;var Db=t=>t.type==="vuu-links";var Mb=t=>t.type==="vuu-menu",ip=t=>Mb(t)||Db(t),lp=t=>t.type==="vuu-link-created"||t.type==="vuu-link-removed";var ol=require("react"),Ib=require("@vuu-ui/vuu-data");var Jt=require("@vuu-ui/vuu-utils"),he=require("react"),{SELECTED:ar}=Jt.metadataKeys;function ap({dataSource:t,onConfigChange:e,onFeatureEnabled:n,onFeatureInvocation:o,onSizeChange:r,onSubscribed:s,range:i={from:0,to:0},renderBufferSize:l=0,viewportRowCount:a}){let[,c]=(0,he.useState)(null),u=(0,he.useRef)(!0),d=(0,he.useRef)(!1),p=(0,he.useRef)({from:0,to:0}),m=(0,he.useRef)(null),f=(0,he.useRef)([]),h=(0,he.useMemo)(()=>new rl((0,Jt.getFullRange)(i)),[]),g=(0,he.useCallback)(x=>{for(let w of x)h.add(w);f.current=h.data,d.current=!0},[h]),y=(0,he.useCallback)(x=>{x.type==="subscribed"?s==null||s(x):x.type==="viewport-update"?(typeof x.size=="number"&&(r==null||r(x.size),h.setRowCount(x.size)),x.rows?g(x.rows):typeof x.size=="number"&&(f.current=h.data,d.current=!0)):ip(x)?n==null||n(x):lp(x)?o==null||o(x):console.log(`useDataSource unexpected message ${x.type}`)},[h,n,o,r,s,g]);(0,he.useEffect)(()=>()=>{m.current&&(cancelAnimationFrame(m.current),m.current=null),u.current=!1},[]);let v=(0,he.useCallback)(()=>{u.current&&(d.current&&(c({}),d.current=!1),m.current=requestAnimationFrame(v))},[c]);(0,he.useEffect)(()=>{m.current=requestAnimationFrame(v)},[v]);let C=(0,he.useCallback)(x=>{let{from:w}=t.range,R={from:w,to:w+x},M=(0,Jt.getFullRange)(R,l);h.setRange(M),t.range=p.current=M,t.emit("range",R)},[t,h,l]),b=(0,he.useCallback)(x=>{let w=(0,Jt.getFullRange)(x,l);h.setRange(w),t.range=p.current=w,t.emit("range",x)},[t,h,l]),T=(0,he.useCallback)(()=>h.getSelectedRows(),[h]);return(0,he.useEffect)(()=>{t==null||t.subscribe({range:p.current},y)},[t,y,e]),(0,he.useEffect)(()=>{C(a)},[C,a]),{data:f.current,getSelectedRows:T,range:p.current,setRange:b,dataSource:t}}var rl=class{constructor({from:e,to:n}){this.rowCount=0;this.setRowCount=e=>{e<this.data.length&&(this.data.length=e),this.rowCount=e};this.range=new Jt.WindowRange(e,n),this.data=new Array(n-e),this.rowCount=0}add(e){var o;let[n]=e;if(this.isWithinRange(n)){let r=n-this.range.from;this.data[r]=e;let s=e[ar],i=(o=this.data[r-1])==null?void 0:o[ar];i===0&&s?this.data[r-1][ar]=2:i===2&&!s&&(this.data[r-1][ar]=0)}}getAtIndex(e){return this.range.isWithin(e)&&this.data[e-this.range.from]!=null?this.data[e-this.range.from]:void 0}isWithinRange(e){return this.range.isWithin(e)}setRange({from:e,to:n}){if(e!==this.range.from||n!==this.range.to){let[o,r]=this.range.overlap(e,n),s=new Array(Math.max(0,n-e));for(let i=o;i<r;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=n}}getSelectedRows(){return this.data.filter(e=>e[ar]===1)}};var bo=require("react"),cp=({onDrop:t})=>{let e=(0,bo.useRef)(),n=(0,bo.useRef)(null),o=(0,bo.useCallback)(()=>{console.log("handleDropSettle"),e.current=void 0,n.current=null},[]),{draggable:r,draggedItemIndex:s,onMouseDown:i}=Fn({allowDragDrop:!0,draggableClassName:"vuuTable-headerCell",orientation:"horizontal",containerRef:n,itemQuery:".vuuTable-headerCell",onDrop:t,onDropSettle:o}),l=(0,bo.useCallback)(a=>{let{clientX:c,clientY:u}=a;console.log("useDraggableColumn handleHeaderCellDragStart means mouseDown fired on a column in RowBasedTable");let p=a.target.closest(".vuuTable-headerCell");n.current=p==null?void 0:p.closest("[role='row']");let{dataset:{idx:m="-1"}}=p;e.current={clientX:c,clientY:u,idx:m},i==null||i(a)},[i]);return{draggable:r,draggedItemIndex:s,onHeaderCellDragStart:l}};var fp=require("@vuu-ui/vuu-utils"),ve=require("react");function Pb(t,...e){let n=new Set(t);for(let o of e)for(let r of o)n.add(r);return n}var sl="ArrowUp",il="ArrowDown",ll="ArrowLeft",al="ArrowRight";var cl="Home",ul="End",dl="PageUp",pl="PageDown";var Lb=new Set(["Enter","Delete"," "]),kb=new Set(["Tab"]),Hb=new Set(["ArrowRight","ArrowLeft"]),up=new Set([cl,ul,dl,pl,il,ll,al,sl]),Ab=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),sA=Pb(Lb,up,Hb,Ab,kb);var Ob=["Home","End","PageUp","PageDown"],dp=t=>Ob.includes(t),pp=t=>up.has(t);var mp=t=>`.vuuTable-headers .vuuTable-headerCell:nth-child(${t+1})`,Nb=(t,e)=>`.vuuTable-body > [aria-rowindex='${t}'] > [role='cell']:nth-child(${e+1})`,zb=[-1,-1];function Fb(t,[e,n],o,r){return t===sl?e>-1?[e-1,n]:[e,n]:t===il?e===-1?[0,n]:e===r-1?[e,n]:[e+1,n]:t===al?n<o-1?[e,n+1]:[e,n]:t===ll?n>0?[e,n-1]:[e,n]:[e,n]}var hp=({columnCount:t=0,containerRef:e,disableHighlightOnFocus:n,data:o,requestScroll:r,rowCount:s=0,viewportRange:i})=>{var M;let{from:l,to:a}=i,c=(0,ve.useRef)([-1,-1]),u=(0,ve.useRef)(),d=(0,ve.useRef)([-1,0]),p=(0,ve.useCallback)(([E,I])=>{var D;let S=E===-1?mp(I):Nb(E,I);return(D=e.current)==null?void 0:D.querySelector(S)},[e]),m=E=>E==null?void 0:E.closest("[role='columnHeader'],[role='cell']"),f=E=>{var I,S;if(E.role==="columnHeader")return[-1,parseInt((I=E.dataset.idx)!=null?I:"-1",10)];{let D=E.closest("[role='row']");if(D){let L=parseInt((S=D.ariaRowIndex)!=null?S:"-1",10),A=Array.from(D.childNodes).indexOf(E);return[L,A]}}return zb},h=(0,ve.useCallback)(E=>{var I;if(e.current){let S=p(E);S?(S!==u.current&&((I=u.current)==null||I.setAttribute("tabindex",""),u.current=S,S.setAttribute("tabindex","0")),S.focus()):(0,fp.withinRange)(E[0],i)||(u.current=void 0,r==null||r({type:"scroll-page",direction:"up"}))}},[e,p,r,i]),g=(0,ve.useCallback)((E,I,S=!1)=>{let D=[E,I];d.current=D,h(D),S&&(c.current=D)},[h]),y=(0,ve.useCallback)(()=>{var E;(E=u.current)==null||E.setAttribute("tabindex",""),u.current=void 0},[]),v=(0,ve.useCallback)(async(E,I)=>{switch(E){case pl:r==null||r({type:"scroll-page",direction:"down"});break;case dl:r==null||r({type:"scroll-page",direction:"up"});break;case cl:r==null||r({type:"scroll-end",direction:"home"});break;case ul:r==null||r({type:"scroll-end",direction:"end"});break}return I},[r]),C=(0,ve.useCallback)(()=>{var E;if(n!==!0&&(E=e.current)!=null&&E.contains(document.activeElement)){let I=m(document.activeElement);I&&(c.current=f(I))}},[n,e]),b=(0,ve.useCallback)(async E=>{let[I,S]=dp(E)?await v(E,d.current):Fb(E,d.current,t,s),[D,L]=d.current;(I!==D||S!==L)&&g(I,S,!0)},[t,v,s,g]),T=(0,ve.useCallback)(E=>{o.length>0&&pp(E.key)&&(E.preventDefault(),E.stopPropagation(),b(E.key))},[o,b]),x=(0,ve.useCallback)(E=>{let I=E.target,S=m(I);if(S){let[D,L]=f(S);g(D,L)}},[g]),w=(0,ve.useMemo)(()=>({onClick:x,onFocus:C,onKeyDown:T}),[x,C,T]);(0,ve.useLayoutEffect)(()=>{let{current:E}=d,I=E[0]>=l&&E[0]<=a;u.current&&!I?y():!u.current&&I&&h(E)},[h,l,a,y]);let R=((M=e.current)==null?void 0:M.firstChild)!=null;return(0,ve.useEffect)(()=>{var E;if(R&&u.current===void 0){let I=(E=e.current)==null?void 0:E.querySelector(mp(0));I&&(I.setAttribute("tabindex","0"),u.current=I)}},[e,R]),w};var Ot=require("@vuu-ui/vuu-utils"),en=require("react");var Mn=require("react");var Dn=new Map,bp=(t,e,n)=>{switch(n){case"height":return e.height;case"clientHeight":return t.clientHeight;case"clientWidth":return t.clientWidth;case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(t.scrollHeight);case"scrollWidth":return Math.ceil(t.scrollWidth);case"width":return e.width;default:return 0}},gp=new ResizeObserver(t=>{for(let e of t){let{target:n,borderBoxSize:o,contentBoxSize:r}=e,s=Dn.get(n);if(s){let[{blockSize:i,inlineSize:l}]=o,[{blockSize:a,inlineSize:c}]=r,{onResize:u,measurements:d}=s,p=!1;for(let[m,f]of Object.entries(d)){let h=bp(n,{height:i,width:l,contentHeight:a,contentWidth:c},m);h!==f&&(p=!0,d[m]=h)}p&&u&&u(d)}}});function yp(t,e,n,o=!1){let r=(0,Mn.useRef)(e),s=(0,Mn.useCallback)(i=>{let{width:l,height:a}=i.getBoundingClientRect(),{clientWidth:c,clientHeight:u}=i;return r.current.reduce((d,p)=>(d[p]=bp(i,{width:l,height:a,contentHeight:u,contentWidth:c},p),d),{})},[]);(0,Mn.useEffect)(()=>{let i=t.current;async function l(){Dn.set(i,{measurements:{}}),await document.fonts.ready;let a=Dn.get(i);if(a){let c=s(i);a.measurements=c,gp.observe(i),o&&n(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(Dn.has(i))throw Error("useResizeObserver attemping to observe same element twice");l()}return()=>{i&&Dn.has(i)&&(gp.unobserve(i),Dn.delete(i))}},[s,t]),(0,Mn.useEffect)(()=>{let i=t.current,l=Dn.get(i);if(l){if(r.current!==e){r.current=e;let a=s(i);l.measurements=a}l.onResize=n}},[e,s,t,n])}var Vb=["clientHeight","clientWidth"],xp=t=>Number.isFinite(t),$b={height:"100%",width:"100%"},Bb=(t,e)=>(0,Ot.isValidNumber)(t)&&(0,Ot.isValidNumber)(e)?{height:`${t}px`,width:`${e}px`}:$b,Kb=(t,e)=>{if((0,Ot.isValidNumber)(t)&&(0,Ot.isValidNumber)(e))return{height:t,width:e}},cr=({defaultHeight:t=0,defaultWidth:e=0,height:n,width:o})=>{let r=(0,en.useRef)(null),[s,i]=(0,en.useState)({css:Bb(n,o),inner:Kb(n,o),outer:{height:n!=null?n:"100%",width:o!=null?o:"100%"}});(0,en.useMemo)(()=>{i(a=>{let{inner:c,outer:u}=a;if((0,Ot.isValidNumber)(n)&&(0,Ot.isValidNumber)(o)&&c&&u){let{height:d,width:p}=c,{height:m,width:f}=u;if(m!==n||f!==o){let h=(0,Ot.isValidNumber)(m)?m-d:0,g=(0,Ot.isValidNumber)(f)?f-p:0;return{...a,outer:{height:n,width:o},inner:{height:n-h,width:o-g}}}}return a})},[n,o]);let l=(0,en.useCallback)(({clientWidth:a,clientHeight:c})=>{i(u=>{let{css:d,inner:p,outer:m}=u;return xp(c)&&xp(a)&&(a!==(p==null?void 0:p.width)||c!==(p==null?void 0:p.height))?{css:d,outer:m,inner:{width:Math.floor(a)||e,height:Math.floor(c)||t}}:u})},[t,e]);return yp(r,Vb,l,!0),{containerRef:r,cssSize:s.css,outerSize:s.outer,innerSize:s.inner}};var tn=require("@vuu-ui/vuu-utils"),ur=require("react"),{IDX:Wb}=tn.metadataKeys,_b=[],dr=({selectionModel:t,onSelectionChange:e})=>{let n=(0,ur.useRef)(-1),o=(0,ur.useRef)(_b);return(0,ur.useCallback)((s,i,l)=>{let{[Wb]:a}=s,{current:c}=n,{current:u}=o,p=((0,tn.isRowSelected)(s)?tn.deselectItem:tn.selectItem)(t,u,a,i,l,c);o.current=p,n.current=a,e&&e(p)},[e,t])};var ee=require("@vuu-ui/vuu-utils"),Cp=require("react"),Gb=100,vp=ee.metadataKeys.count,Ub=({serverDataType:t})=>t===void 0,Xb=t=>{var e;if((0,ee.isTypeDescriptor)(t.type))return(0,ee.getCellRenderer)((e=t.type)==null?void 0:e.renderer)},Tp=(t,e)=>{if(t.serverDataType)return t.serverDataType;if(e){let n=e.columns.find(o=>o.name===t.name);if(n)return n.serverDataType}return"string"},Qb=["int","long","double"],Sp=t=>t===void 0?void 0:Qb.includes(t)?"right":"left",jb=t=>t.type==="columnSettings",Yb=t=>t.type==="tableSettings",Zb=(t,e)=>{switch(e.type){case"init":return wp(e);case"moveColumn":return Jb(t,e);case"resizeColumn":return ny(t,e);case"setTableSchema":return oy(t,e);case"hideColumns":return ey(t,e);case"showColumns":return ty(t,e);case"pinColumn":return ry(t,e);case"updateColumnProp":return yo(t,e);case"tableConfig":return Ep(t,e);default:return console.log(`unhandled action ${e.type}`),t}},ml=(t,e)=>{let[n,o]=(0,Cp.useReducer)(Zb,{tableConfig:t,dataSourceConfig:e},wp);return{columns:n.columns,dispatchColumnAction:o,headings:n.headings}};function wp({dataSourceConfig:t,tableConfig:e}){let n=e.columns.map(fl(e)),o=n.some(ee.isPinned)?(0,ee.sortPinnedColumns)(n):n,r={columns:o,headings:(0,ee.getTableHeadings)(o)};if(t){let{columns:s,...i}=t;return Ep(r,{type:"tableConfig",...i})}else return r}var qb=(t,e)=>e==="uppercase"?t.toUpperCase():e==="capitalize"?t[0].toUpperCase()+t.slice(1).toLowerCase():t,fl=t=>(e,n)=>{let o=Tp(e,t.tableSchema),{columnDefaultWidth:r=Gb,columnFormatHeader:s}=t,{align:i=Sp(o),key:l,name:a,label:c=a,width:u=r,...d}=e,p={...d,align:i,CellRenderer:Xb(e),label:qb(c,s),key:l!=null?l:n+vp,name:a,originalIdx:n,serverDataType:o,valueFormatter:(0,ee.getValueFormatter)(e),width:u};return(0,ee.isGroupColumn)(p)&&(p.columns=p.columns.map(m=>fl(t)(m,m.key))),p};function Jb(t,{column:e,moveBy:n,moveTo:o}){let{columns:r}=t;if(typeof n=="number"){let s=r.indexOf(e),i=r.slice(),[l]=i.splice(s,1);return i.splice(s+n,0,l),{...t,columns:i}}else if(typeof o=="number")return{...t,columns:(0,ee.moveItem)(r,e,o)};return t}function ey(t,{columns:e}){return e.some(n=>n.hidden!==!0)?e.reduce((n,o)=>o.hidden!==!0?yo(n,{type:"updateColumnProp",column:o,hidden:!0}):n,t):t}function ty(t,{columns:e}){return e.some(n=>n.hidden)?e.reduce((n,o)=>o.hidden?yo(n,{type:"updateColumnProp",column:o,hidden:!1}):n,t):t}function ny(t,{column:e,phase:n,width:o}){let r="updateColumnProp",s=n!=="end";switch(n){case"begin":return yo(t,{type:r,column:e,resizing:s});case"end":return yo(t,{type:r,column:e,resizing:s,width:o});case"resize":return yo(t,{type:r,column:e,width:o});default:throw Error(`useTableModel.resizeColumn, invalid resizePhase ${n}`)}}function oy(t,{tableSchema:e}){let{columns:n}=t;if(n.some(Ub)){let o=n.map(r=>{var i;let s=Tp(r,e);return{...r,align:(i=r.align)!=null?i:Sp(s),serverDataType:s}});return{...t,columns:o,tableSchema:e}}else return{...t,tableSchema:e}}function ry(t,e){let{columns:n}=t,{column:o,pin:r}=e;return n=(0,ee.updateColumn)(n,o.name,{pin:r}),n=(0,ee.sortPinnedColumns)(n),console.log({withPins:n}),{...t,columns:n}}function yo(t,e){let{columns:n}=t,{align:o,column:r,hidden:s,label:i,resizing:l,width:a}=e,c={};return(o==="left"||o==="right")&&(c.align=o),typeof i=="string"&&(c.label=i),typeof l=="boolean"&&(c.resizing=l),typeof s=="boolean"&&(c.hidden=s),typeof a=="number"&&(c.width=a),n=(0,ee.updateColumn)(n,r.name,c),{...t,columns:n}}function Ep(t,{columns:e,confirmed:n,filter:o,groupBy:r,sort:s}){let i=e&&e.length>0,l=r!==void 0,a=typeof(o==null?void 0:o.filter)=="string",c=s&&s.sortDefs.length>0,u=t;return i&&(u={...t,columns:e.map((d,p)=>{let m=(0,ee.getColumnName)(d),f=p+vp,h=(0,ee.findColumn)(u.columns,m);return h?h.key===f?h:{...h,key:f}:fl(t)({name:d},p)})}),l&&(u={...t,columns:(0,ee.applyGroupByToColumns)(u.columns,r,n)}),c&&(u={...t,columns:(0,ee.applySortToColumns)(u.columns,s)}),a?u={...t,columns:(0,ee.applyFilterToColumns)(u.columns,o)}:u.columns.some(ee.isFilteredColumn)&&(u={...t,columns:(0,ee.stripFilterFromColumns)(u.columns)}),u}var Fe=require("react"),Rp=t=>{let{scrollLeft:e,scrollTop:n}=t,{clientHeight:o,clientWidth:r,scrollHeight:s,scrollWidth:i}=t,l=e/(i-r),a=n/(s-o);return[l,a]},sy=t=>{let{clientHeight:e,clientWidth:n,scrollHeight:o,scrollWidth:r}=t;return[r-n,o-e]},Dp=({onAttach:t,onDetach:e})=>{let n=(0,Fe.useRef)(null);return(0,Fe.useCallback)(r=>{if(r)n.current=r,t==null||t(r);else if(n.current){let{current:s}=n;n.current=r,e==null||e(s)}},[t,e])},Mp=({onHorizontalScroll:t,onVerticalScroll:e,viewport:n})=>{let o=(0,Fe.useRef)(!1),r=(0,Fe.useRef)({scrollTop:0,scrollLeft:0}),s=(0,Fe.useRef)(null),i=(0,Fe.useRef)(null),{maxScrollContainerScrollHorizontal:l,maxScrollContainerScrollVertical:a}=n,c=(0,Fe.useCallback)(()=>{let{current:v}=i,{current:C}=s,{current:b}=o;if(b)o.current=!1;else if(v&&C){let[T,x]=Rp(C),[w,R]=sy(v),M=Math.round(T*w),E=Math.round(x*R);console.log(`pctScrollTop ${x}, maxScrollTop ${R} rootScrollTop ${E}`),v.scrollTo({left:M,top:E,behavior:"auto"})}},[]),u=(0,Fe.useCallback)(()=>{let{current:v}=i,{current:C}=s,{current:b}=r;if(v&&C){let{scrollLeft:T,scrollTop:x}=v,[w,R]=Rp(v);o.current=!0,C.scrollLeft=Math.round(w*l),C.scrollTop=Math.round(R*a),b.scrollTop!==x&&(b.scrollTop=x,e==null||e(x,R)),b.scrollLeft!==T&&(b.scrollLeft=T,t==null||t(T))}},[l,a,t,e]),d=(0,Fe.useCallback)(v=>{s.current=v,v.addEventListener("scroll",c,{passive:!0})},[c]),p=(0,Fe.useCallback)(v=>{s.current=null,v.removeEventListener("scroll",c)},[c]),m=(0,Fe.useCallback)(v=>{i.current=v,v.addEventListener("scroll",u,{passive:!0})},[u]),f=(0,Fe.useCallback)(v=>{i.current=null,v.removeEventListener("scroll",u)},[u]),h=Dp({onAttach:m,onDetach:f}),g=Dp({onAttach:d,onDetach:p}),y=(0,Fe.useCallback)(v=>{let{current:C}=i;if(C){if(o.current=!1,v.type==="scroll-page"){let{clientHeight:b,scrollLeft:T,scrollTop:x}=C,{direction:w}=v,R=w==="down"?b:-b,M=Math.min(Math.max(0,x+R),a);C.scrollTo({top:M,left:T,behavior:"auto"})}else if(v.type==="scroll-end"){let{direction:b}=v,T=b==="end"?a:0;C.scrollTo({top:T,left:C.scrollLeft,behavior:"auto"})}}},[a]);return{scrollbarContainerRef:g,contentContainerRef:h,requestScroll:y}};var Nt=require("react"),Ds=require("@vuu-ui/vuu-utils"),iy=15e5,ly={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},ay=t=>{let e=0,n=0,o=0;for(let r of t){let{hidden:s,pin:i,width:l}=r,a=s?0:l;i==="left"?e+=a:i==="right"?n+=a:o+=a}return{pinnedWidthLeft:e+4,pinnedWidthRight:n+4,unpinnedWidth:o}},pr=({columns:t,headerHeight:e,headings:n,rowCount:o,rowHeight:r,size:s})=>{let i=(0,Nt.useRef)(0),a=Math.min(o,iy)*r,u=o*r-a,{pinnedWidthLeft:d,pinnedWidthRight:p,unpinnedWidth:m}=(0,Nt.useMemo)(()=>ay(t),[t]),[f,h]=(0,Nt.useMemo)(()=>(0,Ds.actualRowPositioning)(r),[r]),[g,y]=(0,Nt.useMemo)(()=>u?(0,Ds.virtualRowPositioning)(r,u,i):[f,h],[h,f,u,r]),v=(0,Nt.useCallback)(C=>{i.current=C},[]);return(0,Nt.useMemo)(()=>{var C;if(s){let b=n.length,T=15,x=d+m+p,w=x>s.width?T:0,R=e*(1+b),M=a-(((C=s==null?void 0:s.height)!=null?C:0)-w)+R,E=x-s.width+d,I=(s.height-e)/r,S=Number.isInteger(I)?I+1:Math.ceil(I),D=s.height-R,L=a>D?T:0;return{contentHeight:a,getRowAtPosition:y,getRowOffset:g,horizontalScrollbarHeight:w,maxScrollContainerScrollHorizontal:E,maxScrollContainerScrollVertical:M,pinnedWidthLeft:d,pinnedWidthRight:p,rowCount:S,contentWidth:x,setPctScrollTop:v,totalHeaderHeight:R,verticalScrollbarWidth:L,viewportBodyHeight:D}}else return ly},[s,n.length,d,m,p,a,e,r,y,g,v])};var mr=require("@vuu-ui/vuu-utils"),je=require("react"),Ip=({columns:t,getRowAtPosition:e,setRange:n,viewportMeasurements:o})=>{let r=(0,je.useRef)(-1),{rowCount:s,contentWidth:i,maxScrollContainerScrollHorizontal:l}=o,a=i-l,c=(0,je.useRef)(0),[u,d]=(0,je.useMemo)(()=>(0,mr.getColumnsInViewport)(t,c.current,c.current+a),[a,t]),p=(0,je.useRef)(d);(0,je.useEffect)(()=>{f(u)},[u]);let[m,f]=(0,je.useState)(u),h=(0,je.useCallback)(y=>{c.current=y;let[v,C]=(0,mr.getColumnsInViewport)(t,y,y+a);(0,mr.itemsChanged)(m,v)&&(p.current=C,f(v))},[a,t,m]),g=(0,je.useCallback)(y=>{let v=e(y);v!==r.current&&(r.current=v,n({from:v,to:v+s}))},[e,n,s]);return{columnsWithinViewport:m,onHorizontalScroll:h,onVerticalScroll:g,virtualColSpan:p.current}};var cy=[],{KEY:uy,IS_EXPANDED:Pp,IS_LEAF:Lp}=wt.metadataKeys,Hp=({config:t,dataSource:e,headerHeight:n,onConfigChange:o,onFeatureEnabled:r,onFeatureInvocation:s,onSelectionChange:i,renderBufferSize:l=0,rowHeight:a,selectionModel:c,...u})=>{var ne,J;let[d,p]=(0,me.useState)(e.size),m=(0,me.useRef)(!1),f=(0,me.useRef)();if(f.current=e,e===void 0)throw Error("no data source provided to Vuu Table");let h=cr(u),g=(0,me.useCallback)(B=>{p(B)},[]),{columns:y,dispatchColumnAction:v,headings:C}=ml(t,e.config),{getRowAtPosition:b,getRowOffset:T,setPctScrollTop:x,...w}=pr({columns:y,headerHeight:n,headings:C,rowCount:d,rowHeight:a,size:h.innerSize}),R=(0,me.useCallback)(({tableSchema:B})=>{B?(m.current=!0,v({type:"setTableSchema",tableSchema:B})):console.log("usbscription message with no schema")},[v]),M=(0,me.useCallback)(B=>{e.select(B),i==null||i(B)},[e,i]),E=dr({onSelectionChange:M,selectionModel:c}),{data:I,getSelectedRows:S,range:D,setRange:L}=ap({dataSource:e,onFeatureEnabled:r,onFeatureInvocation:s,onSubscribed:R,onSizeChange:g,renderBufferSize:l,viewportRowCount:w.rowCount}),A=(0,me.useRef)();A.current=I;let H=(0,me.useCallback)(B=>{m.current=!0,console.log("onPersistentColumnOperation, dispatchColumnAction",{action:B}),v(B)},[v]),P=Lo({dataSource:e,onPersistentColumnOperation:H}),k=(0,me.useCallback)((B,te=!1,ue)=>{e&&(e.sort=(0,wt.applySort)(e.sort,B,te,ue))},[e]),N=(0,me.useCallback)((B,te,ue)=>{let ie=y.find(pe=>pe.name===te);if(ie)B==="end"&&(m.current=!0),v({type:"resizeColumn",phase:B,column:ie,width:ue});else throw Error(`useDataTable.handleColumnResize, column ${te} not found`)},[y,v]),O=(0,me.useCallback)((B,te)=>{let ue=(0,wt.isJsonGroup)(te,B),ie=B[uy];if(B[Pp]){if(e.closeTreeNode(ie,!0),ue){let pe=y.indexOf(te);e.getRowsAtDepth(pe+1).some(fe=>fe[Pp]||fe[Lp])||v({type:"hideColumns",columns:y.slice(pe+2)})}}else if(e.openTreeNode(ie),ue){let pe=e.getChildRows(ie),be=y.indexOf(te)+1,fe=[y[be]];pe.some(Te=>Te[Lp])&&fe.push(y[be+1]),fe.some(Te=>Te.hidden)&&v({type:"showColumns",columns:fe})}},[y,e,v]),{onVerticalScroll:F,onHorizontalScroll:$,columnsWithinViewport:U,virtualColSpan:W}=Ip({columns:y,getRowAtPosition:b,setRange:L,viewportMeasurements:w}),Z=(0,me.useCallback)((B,te)=>{x(te),F(B)},[F,x]),{requestScroll:V,...z}=Mp({onHorizontalScroll:$,onVerticalScroll:Z,viewport:w,viewportHeight:((J=(ne=h.innerSize)==null?void 0:ne.height)!=null?J:0)-n}),K=hp({columnCount:y.length,containerRef:h.containerRef,data:I,requestScroll:V,rowCount:e==null?void 0:e.size,viewportRange:D}),G=(0,me.useCallback)(B=>{B?e&&e.groupBy.includes(B.name)&&(e.groupBy=e.groupBy.filter(te=>te!==B.name)):e.groupBy=[]},[e]),se=(0,me.useCallback)((B,te)=>{let ue=e.columns[B],ie=(0,wt.moveItem)(e.columns,ue,te);ie!==e.columns&&(e.columns=ie,v({type:"tableConfig",columns:ie}))},[e,v]),X=cp({onDrop:se});(0,me.useEffect)(()=>{f.current&&(m.current=!0,v({type:"init",tableConfig:t,dataSourceConfig:f.current.config}))},[t,v]),(0,me.useEffect)(()=>{e.on("config",(B,te)=>{m.current=!0,v({type:"tableConfig",...B,confirmed:te})})},[e,v]),(0,me.useMemo)(()=>{m.current&&(o==null||o({...t,columns:y}),m.current=!1)},[y,t,o]);let[Y]=(0,kp.useContextMenu)(),q=(0,me.useCallback)(B=>{var fe;let{current:te}=A,{current:ue}=f,ie=B.target,pe=ie==null?void 0:ie.closest("div[role='cell']"),be=ie==null?void 0:ie.closest(".vuuTableRow");if(pe&&be&&te&&ue){let{columns:Te,selectedRowsCount:Q}=ue,j=(0,wt.buildColumnMap)(Te),oe=parseInt((fe=be.ariaRowIndex)!=null?fe:"-1"),le=Array.from(be.childNodes).indexOf(pe),Se=te.find(([Ze])=>Ze===oe),Ye=Te[le];Y(B,"grid",{columnMap:j,columnName:Ye,row:Se,selectedRows:Q===0?cy:S(),viewport:e==null?void 0:e.viewport})}},[e==null?void 0:e.viewport,S,Y]);return{columns:y,columnsWithinViewport:U,containerMeasurements:h,containerProps:K,data:I,dispatchColumnAction:v,getRowOffset:T,handleContextMenuAction:P,headings:C,onColumnResize:N,onContextMenu:q,onRemoveColumnFromGroupBy:G,onRowClick:E,onSort:k,onToggleGroup:O,virtualColSpan:W,scrollProps:z,rowCount:d,viewportMeasurements:w,...X}};var Op=_(require("classnames"));var Np=require("@vuu-ui/vuu-utils"),zt=require("react/jsx-runtime"),In="vuuTable",dy=({allowConfigEditing:t=!1,className:e,config:n,dataSource:o,headerHeight:r=25,height:s,id:i,onConfigChange:l,onFeatureEnabled:a,onFeatureInvocation:c,onSelectionChange:u,onShowConfigEditor:d,renderBufferSize:p=0,rowHeight:m=20,selectionModel:f="extended",style:h,width:g,zebraStripes:y=!1,...v})=>{let C=(0,Ms.useIdMemo)(i),{containerMeasurements:{containerRef:b,innerSize:T,outerSize:x},containerProps:w,dispatchColumnAction:R,draggable:M,draggedItemIndex:E,handleContextMenuAction:I,scrollProps:S,viewportMeasurements:D,...L}=Hp({config:n,dataSource:o,renderBufferSize:p,headerHeight:r,height:s,onConfigChange:l,onFeatureEnabled:a,onFeatureInvocation:c,onSelectionChange:u,rowHeight:m,selectionModel:f,width:g}),A={...x,"--content-height":`${D.contentHeight}px`,"--horizontal-scrollbar-height":`${D.horizontalScrollbarHeight}px`,"--content-width":`${D.contentWidth}px`,"--pinned-width-left":`${D.pinnedWidthLeft}px`,"--pinned-width-right":`${D.pinnedWidthRight}px`,"--header-height":`${r}px`,"--row-height":`${m}px`,"--table-height":`${T==null?void 0:T.height}px`,"--table-width":`${T==null?void 0:T.width}px`,"--total-header-height":`${D.totalHeaderHeight}px`,"--vertical-scrollbar-width":`${D.verticalScrollbarWidth}px`,"--viewport-body-height":`${D.viewportBodyHeight}px`},H=(0,Op.default)(In,e,{[`${In}-zebra`]:y,[`${In}-loading`]:(0,Np.isDataLoading)(L.columns)});return(0,zt.jsx)(Ap.ContextMenuProvider,{menuActionHandler:I,menuBuilder:Po(o),children:(0,zt.jsxs)("div",{...v,...w,className:H,id:C,ref:b,style:A,tabIndex:-1,children:[T?(0,zt.jsx)("div",{className:`${In}-scrollbarContainer`,ref:S.scrollbarContainerRef,children:(0,zt.jsx)("div",{className:`${In}-scrollbarContent`})}):null,T?(0,zt.jsxs)("div",{className:`${In}-contentContainer`,ref:S.contentContainerRef,children:[(0,zt.jsx)(Gd,{...L,headerHeight:r,tableId:C}),M]}):null,t&&T?(0,zt.jsx)(Ms.Button,{className:`${In}-settings`,"data-icon":"settings",onClick:d,variant:"secondary"}):null]})})};var zp=_(require("classnames")),Co=require("@vuu-ui/vuu-utils");var xo=require("react/jsx-runtime"),fr="vuuJsonCell",{IS_EXPANDED:py,KEY:my}=Co.metadataKeys,fy=t=>{let e=t.lastIndexOf("|");return e===-1?"":t.slice(e+1)},hy=({column:t,row:e})=>{let{key:n}=t,o=e[n],r=!1;(0,Co.isJsonAttribute)(o)&&(o=o.slice(0,-1),r=!0);let s=fy(e[my]),i=(0,zp.default)({[`${fr}-name`]:s===o,[`${fr}-value`]:s!==o,[`${fr}-group`]:r});if(r){let l=e[py]?"minus-box":"plus-box";return(0,xo.jsxs)("span",{className:i,children:[(0,xo.jsx)("span",{className:`${fr}-value`,children:o}),(0,xo.jsx)("span",{className:`${fr}-toggle`,"data-icon":l})]})}else return o?(0,xo.jsx)("span",{className:i,children:o}):null};(0,Co.registerComponent)("json",hy,"cell-renderer",{});var xm=require("@vuu-ui/vuu-popups"),Ns=require("@vuu-ui/vuu-utils");var Is=require("react");var Fp=require("@vuu-ui/vuu-utils"),Vp=_(require("classnames")),$p=require("react"),vo=(t,e,n)=>(0,$p.useMemo)(()=>{let o=(0,Vp.default)(e,{vuuPinFloating:t.pin==="floating",vuuPinLeft:t.pin==="left",vuuPinRight:t.pin==="right",vuuEndPin:n&&t.endPin,[`${e}-resizing`]:t.resizing,[`${e}-right`]:t.align==="right"}),r=(0,Fp.getColumnStyle)(t);return{className:o,style:r}},[t,e,n]);var Bp=require("@vuu-ui/vuu-popups"),Kp=_(require("classnames")),Pn=require("react");var _p=require("react/jsx-runtime"),gy=t=>{if(t){let{bottom:e,left:n}=t.getBoundingClientRect();return{x:n,y:e+6}}},Wp=({className:t,column:e,...n})=>{let o=(0,Pn.useRef)(null),[r,s]=(0,Pn.useState)(!1),[i]=(0,Bp.useContextMenu)(),l=(0,Pn.useCallback)(()=>{s(!1)},[]),a=(0,Pn.useCallback)(c=>{s(!0),i(c,"column-menu",{column:e,ContextMenuProps:{onClose:l,position:gy(o.current)}})},[e,l,i]);return(0,_p.jsx)("span",{...n,className:(0,Kp.default)("vuuTable-columnMenu",t,{"vuuTable-columnMenu-open":r}),"data-icon":"more-vert",onClick:a,ref:o})};var To=require("react");var Xp=require("react/jsx-runtime"),Gp=()=>{},by="vuuColumnResizer",Up=({onDrag:t,onDragEnd:e=Gp,onDragStart:n=Gp})=>{let o=(0,To.useRef)(0),r=(0,To.useCallback)(l=>{l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault();let a=Math.round(l.clientX),c=a-o.current;o.current=a,c!==0&&t(l,c)},[t]),s=(0,To.useCallback)(l=>{window.removeEventListener("mouseup",s),window.removeEventListener("mousemove",r),e(l)},[e,r]),i=(0,To.useCallback)(l=>{n(l),o.current=Math.round(l.clientX),window.addEventListener("mouseup",s),window.addEventListener("mousemove",r),l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault()},[n,r,s]);return(0,Xp.jsx)("div",{className:by,"data-align":"end",onMouseDown:i})};var Ln=require("react"),Qp=({column:t,onResize:e,rootRef:n})=>{let o=(0,Ln.useRef)(0),r=(0,Ln.useRef)(!1),{name:s}=t,i=(0,Ln.useCallback)(()=>{if(e&&n.current){console.log("handleResizeStart");let{width:c}=n.current.getBoundingClientRect();o.current=Math.round(c),r.current=!0,e==null||e("begin",s)}},[s,e,n]),l=(0,Ln.useCallback)((c,u)=>{if(n.current&&e){let{width:d}=n.current.getBoundingClientRect(),p=Math.round(d)+u;p!==o.current&&p>0&&(e("resize",s,p),o.current=p)}},[s,e,n]),a=(0,Ln.useCallback)(()=>{e&&(e("end",s,o.current),setTimeout(()=>{r.current=!1},100))},[s,e]);return{isResizing:r.current,onDrag:l,onDragStart:i,onDragEnd:a}};var kn=require("react/jsx-runtime"),jp=({classBase:t,column:e,onClick:n,onResize:o,idx:r})=>{let s=(0,Is.useRef)(null),{isResizing:i,...l}=Qp({column:e,onResize:o,rootRef:s}),a=`${t}-col-header`,c=(0,Is.useCallback)(p=>!i&&(n==null?void 0:n(p)),[i,n]),{className:u,style:d}=vo(e,a,!0);return(0,kn.jsxs)("div",{className:u,"data-idx":r,onClick:c,ref:s,role:"cell",style:d,children:[(0,kn.jsx)(Wp,{column:e}),(0,kn.jsx)("div",{className:`${a}-label`,children:e.name}),(0,kn.jsx)(ys,{sorted:e.sorted}),e.resizeable!==!1?(0,kn.jsx)(Up,{...l}):null]})};var on=require("@vuu-ui/vuu-utils"),em=_(require("classnames")),ks=require("react");var Zp=require("react/jsx-runtime"),Yp=({column:t,row:e})=>{let{className:n,style:o}=vo(t,"vuuTableNextCell");return(0,Zp.jsx)("div",{className:n,role:"cell",style:o,children:e[t.key]})};var Ps=require("@vuu-ui/vuu-utils"),qp=require("react");var So=require("react/jsx-runtime"),{IS_LEAF:yy}=Ps.metadataKeys,Jp=({column:t,onClick:e,row:n})=>{let{columns:o}=t,[r,s]=(0,Ps.getGroupValueAndOffset)(o,n),{className:i,style:l}=vo(t,"vuuTable2-groupCell"),a=(0,qp.useCallback)(d=>{e==null||e(d,t)},[t,e]),c=n[yy],u=Array(s).fill(0).map((d,p)=>(0,So.jsx)("span",{className:"vuuTable2-groupCell-spacer"},p));return(0,So.jsxs)("div",{className:i,role:"cell",style:l,onClick:c?void 0:a,children:[u,c?null:(0,So.jsx)("span",{className:"vuuTable2-groupCell-toggle","data-icon":"vuu-triangle-right"}),(0,So.jsx)("span",{children:r})]})};var Ls=require("react/jsx-runtime"),tm=require("react"),{IDX:xy,IS_EXPANDED:Cy,SELECTED:vy}=on.metadataKeys,nn="vuuTableNextRow",hl=(0,ks.memo)(({className:t,columnMap:e,columns:n,row:o,offset:r,onClick:s,onToggleGroup:i,...l})=>{let{[xy]:a,[Cy]:c,[vy]:u}=o,d=(0,ks.useCallback)(y=>{let v=y.shiftKey,C=y.ctrlKey||y.metaKey;s==null||s(o,v,C)},[s,o]),{True:p,First:m,Last:f}=on.RowSelected,h=(0,em.default)(nn,t,{[`${nn}-even`]:a%2===0,[`${nn}-expanded`]:c,[`${nn}-selected`]:u&p,[`${nn}-selectedStart`]:u&m,[`${nn}-selectedEnd`]:u&f}),g=typeof r=="number"?{transform:`translate3d(0px, ${r}px, 0px)`}:void 0;return(0,tm.createElement)("div",{...l,key:`row-${o[0]}`,role:"row",className:h,onClick:d,style:g},(0,Ls.jsx)("span",{className:`${nn}-selectionDecorator vuuStickyLeft`}),n.filter(on.notHidden).map(y=>{let C=(0,on.isGroupColumn)(y)?Jp:Yp;return(0,Ls.jsx)(C,{column:y,row:o},y.key)}),(0,Ls.jsx)("span",{className:`${nn}-selectionDecorator vuuStickyRight`}))});hl.displayName="Row";var bm=require("@vuu-ui/vuu-popups"),st=require("@vuu-ui/vuu-utils"),ke=require("react");var Hs=(t,e)=>{switch(e.type){case"col-size":return{...t,columns:t.columns.map(n=>n.name===e.column.name?{...n,width:e.width}:n)};case"column-prop":return{...t,columns:t.columns.map(n=>n.name===e.column.name?{...n,[e.property]:e.value}:n)};default:return t}};var wo=require("react"),nm=({dataSource:t,initialRange:e})=>{let[n,o]=(0,wo.useState)([]);(0,wo.useMemo)(()=>{t==null||t.subscribe({range:e},s=>{s.type==="viewport-update"&&s.rows&&o(s.rows)})},[t,e]);let r=(0,wo.useCallback)(s=>{t.range=s},[t]);return{data:n,setRange:r}};var As=require("react"),om=t=>{let e=(0,As.useRef)(t);return(0,As.useMemo)(()=>e.current,[])};var re=require("@vuu-ui/vuu-utils"),rm=require("react"),{info:gl}=(0,re.logger)("useTableModel"),Ty=100,sm=re.metadataKeys.count,Sy=({serverDataType:t})=>t===void 0,wy=t=>{var e;if((0,re.isTypeDescriptor)(t.type))return(0,re.getCellRenderer)((e=t.type)==null?void 0:e.renderer)},Ey=(t,e)=>{var o;let n=e.columns.find(({name:r})=>r===t.name);return n?n.serverDataType:(o=t.serverDataType)!=null?o:"string"},Ry=["int","long","double"],im=t=>t===void 0?void 0:Ry.includes(t)?"right":"left",lm=t=>t.type==="columnSettings",am=t=>t.type==="tableSettings",Dy=(t,e)=>{switch(gl==null||gl(`GridModelReducer ${e.type}`),e.type){case"init":return um(e);case"moveColumn":return Iy(t,e);case"resizeColumn":return ky(t,e);case"setTableSchema":return Hy(t,e);case"hideColumns":return Py(t,e);case"showColumns":return Ly(t,e);case"pinColumn":return Ay(t,e);case"updateColumnProp":return Ro(t,e);case"tableConfig":return pm(t,e);default:return console.log(`unhandled action ${e.type}`),t}},cm=(t,e)=>{let[n,o]=(0,rm.useReducer)(Dy,{tableConfig:t,dataSourceConfig:e},um);return{columns:n.columns,dispatchColumnAction:o,headings:n.headings}};function um({dataSourceConfig:t,tableConfig:e}){let n=e.columns.map(dm(e)),o=n.some(re.isPinned)?(0,re.sortPinnedColumns)(n):n,r={columns:o,headings:(0,re.getTableHeadings)(o)};if(t){let{columns:s,...i}=t;return pm(r,{type:"tableConfig",...i})}else return r}var My=(t,e)=>e==="uppercase"?t.toUpperCase():e==="capitalize"?t[0].toUpperCase()+t.slice(1).toLowerCase():t,dm=t=>(e,n)=>{let{columnDefaultWidth:o=Ty,columnFormatHeader:r}=t,{align:s=im(e.serverDataType),key:i,name:l,label:a=l,width:c=o,...u}=e,d={...u,align:s,CellRenderer:wy(e),label:My(a,r),key:i!=null?i:n+sm,name:l,originalIdx:n,valueFormatter:(0,re.getValueFormatter)(e),width:c};return(0,re.isGroupColumn)(d)&&(d.columns=d.columns.map(p=>dm(t)(p,p.key))),d};function Iy(t,{column:e,moveBy:n,moveTo:o}){let{columns:r}=t;if(typeof n=="number"){let s=r.indexOf(e),i=r.slice(),[l]=i.splice(s,1);return i.splice(s+n,0,l),{...t,columns:i}}else if(typeof o=="number"){let s=r.indexOf(e);return{...t,columns:kl(r,s,o)}}return t}function Py(t,{columns:e}){return e.some(n=>n.hidden!==!0)?e.reduce((n,o)=>o.hidden!==!0?Ro(n,{type:"updateColumnProp",column:o,hidden:!0}):n,t):t}function Ly(t,{columns:e}){return e.some(n=>n.hidden)?e.reduce((n,o)=>o.hidden?Ro(n,{type:"updateColumnProp",column:o,hidden:!1}):n,t):t}function ky(t,{column:e,phase:n,width:o}){let r="updateColumnProp",s=n!=="end";switch(n){case"begin":return Ro(t,{type:r,column:e,resizing:s});case"end":return Ro(t,{type:r,column:e,resizing:s,width:o});case"resize":return Ro(t,{type:r,column:e,width:o});default:throw Error(`useTableModel.resizeColumn, invalid resizePhase ${n}`)}}function Hy(t,{tableSchema:e}){let{columns:n}=t;if(n.some(Sy)){let o=n.map(r=>{var i;let s=Ey(r,e);return{...r,align:(i=r.align)!=null?i:im(s),serverDataType:s}});return{...t,columns:o}}else return t}function Ay(t,e){let{columns:n}=t,{column:o,pin:r}=e,s=n.find(i=>i.name===o.name);return s?(n=Eo(n,{...s,pin:r}),n=(0,re.sortPinnedColumns)(n),{...t,columns:n}):t}function Ro(t,e){let{columns:n}=t,{align:o,column:r,hidden:s,label:i,resizing:l,width:a}=e,c=n.find(u=>u.name===r.name);return c&&((o==="left"||o==="right")&&(n=Eo(n,{...c,align:o})),typeof i=="string"&&(n=Eo(n,{...c,label:i})),typeof l=="boolean"&&(n=Eo(n,{...c,resizing:l})),typeof s=="boolean"&&(n=Eo(n,{...c,hidden:s})),typeof a=="number"&&(n=Eo(n,{...c,width:a}))),{...t,columns:n}}function pm(t,{columns:e,confirmed:n,filter:o,groupBy:r,sort:s}){let i=e&&e.length>0,l=r!==void 0,a=typeof(o==null?void 0:o.filter)=="string",c=s&&s.sortDefs.length>0,u=t;return i&&(u={...t,columns:e.map((d,p)=>{let m=(0,re.getColumnName)(d),f=p+sm,h=(0,re.findColumn)(u.columns,m);if(h)return h.key===f?h:{...h,key:f};throw Error(`useTableModel column ${d} not found`)})}),l&&(u={...t,columns:(0,re.applyGroupByToColumns)(u.columns,r,n)}),c&&(u={...t,columns:(0,re.applySortToColumns)(u.columns,s)}),a?u={...t,columns:(0,re.applyFilterToColumns)(u.columns,o)}:u.columns.some(re.isFilteredColumn)&&(u={...t,columns:(0,re.stripFilterFromColumns)(u.columns)}),u}function Eo(t,e){return t.map(n=>n.name===e.name?e:n)}var Ve=require("react"),mm=t=>{let{scrollLeft:e,scrollTop:n}=t,{clientHeight:o,clientWidth:r,scrollHeight:s,scrollWidth:i}=t,l=e/(i-r),a=n/(s-o);return[l,a]},fm=({onAttach:t,onDetach:e})=>{let n=(0,Ve.useRef)(null);return(0,Ve.useCallback)(r=>{if(r)n.current=r,t==null||t(r);else if(n.current){let{current:s}=n;n.current=r,e==null||e(s)}},[t,e])},hm=({maxScrollLeft:t,maxScrollTop:e,onHorizontalScroll:n,onVerticalScroll:o})=>{let r=(0,Ve.useRef)(!1),s=(0,Ve.useRef)({scrollTop:0,scrollLeft:0}),i=(0,Ve.useRef)(null),l=(0,Ve.useRef)(null),a=(0,Ve.useCallback)(()=>{let{current:y}=l,{current:v}=i,{current:C}=r;if(C)r.current=!1;else if(y&&v){let[b,T]=mm(v),x=Math.round(b*t),w=Math.round(T*e);y.scrollTo({left:x,top:w,behavior:"auto"})}},[t,e]),c=(0,Ve.useCallback)(()=>{let{current:y}=l,{current:v}=i,{current:C}=s;if(y&&v){let{scrollLeft:b,scrollTop:T}=y,[x,w]=mm(y);r.current=!0,v.scrollLeft=Math.round(x*t),v.scrollTop=Math.round(w*e),C.scrollTop!==T&&(C.scrollTop=T,o==null||o(T,w)),C.scrollLeft!==b&&(C.scrollLeft=b,n==null||n(b))}},[t,e,n,o]),u=(0,Ve.useCallback)(y=>{i.current=y,y.addEventListener("scroll",a,{passive:!0})},[a]),d=(0,Ve.useCallback)(y=>{i.current=null,y.removeEventListener("scroll",a)},[a]),p=(0,Ve.useCallback)(y=>{l.current=y,y.addEventListener("scroll",c,{passive:!0})},[c]),m=(0,Ve.useCallback)(y=>{l.current=null,y.removeEventListener("scroll",c)},[c]),f=fm({onAttach:p,onDetach:m}),h=fm({onAttach:u,onDetach:d}),g=(0,Ve.useCallback)(y=>{let{current:v}=l;if(v){if(r.current=!1,y.type==="scroll-page"){let{clientHeight:C,scrollLeft:b,scrollTop:T}=v,{direction:x}=y,w=x==="down"?C:-C,R=Math.min(Math.max(0,T+w),e);v.scrollTo({top:R,left:b,behavior:"auto"})}else if(y.type==="scroll-end"){let{direction:C}=y,b=C==="end"?e:0;v.scrollTo({top:b,left:v.scrollLeft,behavior:"auto"})}}},[]);return{scrollbarContainerRef:h,contentContainerRef:f,requestScroll:g}};var Os=require("react"),gm=({columns:t,getRowAtPosition:e,setRange:n,viewportMeasurements:o})=>{let r=(0,Os.useRef)(-1),{contentWidth:s,rowCount:i}=o;return{onVerticalScroll:(0,Os.useCallback)(a=>{let c=e(a);c!==r.current&&(r.current=c,n({from:c,to:c+i}))},[e,n,i])}};var ym=({config:t,dataSource:e,headerHeight:n,onConfigChange:o,onFeatureEnabled:r,onFeatureInvocation:s,onSelectionChange:i,rowHeight:l,selectionModel:a,...c})=>{let[u]=(0,ke.useState)(e.size),d=tt();if(e===void 0)throw Error("no data source provided to Vuu Table");let p=(0,ke.useMemo)(()=>Po(e),[e]),{containerRef:m,...f}=cr(c),{columns:h,dispatchColumnAction:g,headings:y}=cm(t,e.config);Dr(()=>{g({type:"init",dataSourceConfig:e.config,tableConfig:t})},[t,e.config,g]);let[v,C]=(0,ke.useState)(),[b,T]=(0,ke.useMemo)(()=>{let z=(K,G)=>{let se=(0,st.updateColumn)(h,K,{width:G});C(se)};return[v!=null?v:h,z]},[h,v]),x=(0,ke.useMemo)(()=>(0,st.buildColumnMap)(t.columns.map(z=>z.name)),[t.columns]),{getRowAtPosition:w,getRowOffset:R,setPctScrollTop:M,...E}=pr({columns:b,headerHeight:n,headings:y,rowCount:u,rowHeight:l,size:f.innerSize}),I=om({from:0,to:E.rowCount+1}),{data:S,setRange:D}=nm({dataSource:e,initialRange:I});(0,ke.useMemo)(()=>{let{range:{from:z,to:K}}=e;E.rowCount!==K-1-z&&(e.range={from:z,to:z+E.rowCount+1})},[e,E.rowCount]);let L=(0,ke.useCallback)(z=>{lm(z)?d({type:"set-props",path:"#context-panel",props:{expanded:!0,context:"column-settings",column:z.column,title:"Column Settings"}}):am(z)?d({type:"set-props",path:"#context-panel",props:{expanded:!0,content:{type:"TableSettings",props:{availableColumns:t.columns.map(({name:K,serverDataType:G})=>({name:K,serverDataType:G})),onConfigChange:o,tableConfig:t}},title:"DataGrid Settings"}}):g(z)},[t,g,d,o]),A=Lo({dataSource:e,onPersistentColumnOperation:L}),{onVerticalScroll:H}=gm({columns:b,getRowAtPosition:w,setRange:D,viewportMeasurements:E}),P=(0,ke.useCallback)(z=>{H(z)},[H]),{requestScroll:k,...N}=hm({maxScrollLeft:E.maxScrollContainerScrollHorizontal,maxScrollTop:E.maxScrollContainerScrollVertical,onVerticalScroll:P}),[O]=(0,bm.useContextMenu)(),F=(0,ke.useCallback)(z=>{let K=z.target,G=K==null?void 0:K.closest("div[role='cell']"),se=K==null?void 0:K.closest("div[role='row']");if(G&&se){let X=(0,st.buildColumnMap)(b),Y=Array.from(se.childNodes).indexOf(G),q=b[Y];O(z,"grid",{columnMap:X,columnName:q})}},[b,O]),$=(0,ke.useCallback)((z,K=!1,G)=>{e&&(e.sort=(0,st.applySort)(e.sort,z,K,G))},[e]),U=(0,ke.useCallback)(z=>{var q;let G=z.target.closest(".TableNext-col-header"),se=parseInt((q=G==null?void 0:G.dataset.idx)!=null?q:"-1"),X=(0,st.visibleColumnAtIndex)(b,se),Y=z.shiftKey;X&&$(X,Y)},[b,$]),W=(0,ke.useCallback)(z=>{e.select(z),i==null||i(z)},[e,i]),Z=dr({onSelectionChange:W,selectionModel:a}),V=(0,ke.useCallback)((z,K,G)=>{let se=b.find(X=>X.name===K);if(se)z==="resize"?(0,st.isValidNumber)(G)&&T(K,G):z==="end"?(0,st.isValidNumber)(G)&&(o==null||o(Hs(t,{type:"col-size",column:se,width:G}))):(C(void 0),g({type:"resizeColumn",phase:z,column:se,width:G}));else throw Error(`useDataTable.handleColumnResize, column ${K} not found`)},[b,t,g,o,T]);return{columnMap:x,columns:b,containerRef:m,containerMeasurements:f,data:S,handleContextMenuAction:A,menuBuilder:p,onContextMenu:F,onHeaderClick:U,onHeaderResize:V,onRowClick:Z,scrollProps:N,viewportMeasurements:E}};var Ge=require("react/jsx-runtime"),Et="vuuTableNext",{IDX:Oy,RENDER_IDX:Ny}=Ns.metadataKeys,Cm=({className:t,config:e,dataSource:n,headerHeight:o=25,height:r,id:s,onConfigChange:i,onFeatureEnabled:l,onFeatureInvocation:a,onSelectionChange:c,onShowConfigEditor:u,renderBufferSize:d=0,rowHeight:p=20,selectionModel:m="extended",style:f,width:h,...g})=>{let{columnMap:y,columns:v,containerMeasurements:{cssSize:C,innerSize:b},containerRef:T,data:x,handleContextMenuAction:w,onHeaderClick:R,onHeaderResize:M,onRowClick:E,menuBuilder:I,scrollProps:S,viewportMeasurements:D,...L}=ym({config:e,dataSource:n,renderBufferSize:d,headerHeight:o,height:r,onConfigChange:i,onFeatureEnabled:l,onFeatureInvocation:a,onSelectionChange:c,rowHeight:p,selectionModel:m,width:h}),A=b===void 0,H=()=>A?{"--table-css-height":`${C.height}`,"--table-css-width":`${C.width}`}:{...f,"--content-height":`${D.contentHeight}px`,"--horizontal-scrollbar-height":`${D.horizontalScrollbarHeight}px`,"--content-width":`${D.contentWidth}px`,"--pinned-width-left":`${D.pinnedWidthLeft}px`,"--pinned-width-right":`${D.pinnedWidthRight}px`,"--header-height":`${o}px`,"--row-height":`${p}px`,"--table-css-height":`${C==null?void 0:C.height}`,"--table-css-width":`${C==null?void 0:C.width}`,"--table-height":`${b==null?void 0:b.height}px`,"--table-width":`${b==null?void 0:b.width}px`,"--total-header-height":`${D.totalHeaderHeight}px`,"--vertical-scrollbar-width":`${D.verticalScrollbarWidth}px`,"--viewport-body-height":`${D.viewportBodyHeight}px`};return(0,Ge.jsx)(xm.ContextMenuProvider,{menuActionHandler:w,menuBuilder:I,children:A?(0,Ge.jsx)("div",{...g,className:Et,style:H(),ref:T}):(0,Ge.jsxs)("div",{...g,className:Et,style:H(),ref:T,children:[(0,Ge.jsx)("div",{className:`${Et}-scrollbarContainer`,ref:S.scrollbarContainerRef,children:(0,Ge.jsx)("div",{className:`${Et}-scrollbarContent`})}),(0,Ge.jsx)("div",{className:`${Et}-contentContainer`,ref:S.contentContainerRef,children:(0,Ge.jsxs)("div",{...L,className:`${Et}-table`,children:[(0,Ge.jsx)("div",{className:`${Et}-col-headings`,children:(0,Ge.jsx)("div",{className:`${Et}-col-headers`,role:"row",children:v.filter(Ns.notHidden).map((P,k)=>(0,Ge.jsx)(jp,{classBase:Et,column:P,idx:k,onClick:R,onResize:M},P.name))})}),(0,Ge.jsx)("div",{className:`${Et}-body`,children:x.map(P=>(0,Ge.jsx)(hl,{columnMap:y,columns:v,onClick:E,row:P,offset:p*P[Oy]+o},P[Ny]))})]})})]})})};
|
|
22
|
+
`);u===null?console.log("[useViewportTracking], is this virtualised ? we're going to have to know rowHeight"):l(u)}},[e,r,l]),(0,Kt.useEffect)(()=>{},[t]);let c=(0,Kt.useCallback)(({height:u,scrollHeight:f})=>{s.current=u,i.current=f},[]);return xr(r,uR,c,!0),o};var Hl=require("react");var mn=require("react");var Zx=({id:r})=>{let e=r.lastIndexOf("-");if(e!==-1){let n=r.slice(e+1).split(".");return n.length===1?null:(n.pop(),`${r.slice(0,e)}-${n.join(".")}`)}else if((e=r.lastIndexOf("/"))!==-1)return r.slice(0,e)},ev=r=>r.childNodes!==void 0;var Bh=r=>r.header===!0,fR=new Set([".","/"]),tv=(r,e)=>e.startsWith(r.id)?fR.has(e.charAt(r.id.length)):!1,jo=(r,e)=>{for(let t of r){if(t.id===e)return t;if(tv(t,e))return jo(t.childNodes,e)}},Kc=(r,e)=>{let t=typeof e=="string"?e:e.id;for(let n=0;n<r.length;n++)if(r[n].id===t)return n},Wc=(r,e,t)=>{let n;return r.map(s=>s.id===e?{...s,...t}:tv(s,e)?(n=Wc(s.childNodes,e,t),{...s,childNodes:n}):s)};var av=require("@salt-ds/core");function hR(r,...e){let t=new Set(r);for(let n of e)for(let o of n)t.add(o);return t}var Fh="ArrowUp",nv="ArrowDown",li="ArrowLeft";var rv="ArrowRight",Uc="Enter";var dR="Delete",pR=new Set([Uc,dR]),mR=new Set(["Tab"]),gR=new Set(["ArrowRight","ArrowLeft"]),ov=new Set(["Home","End","ArrowDown","ArrowUp"]),sv=new Set(["Home","End","ArrowRight","ArrowLeft"]),bR=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),a9=hR(pR,sv,ov,gR,bR,mR);var iv=({key:r},e="vertical")=>(e==="vertical"?ov:sv).has(r);function lv(r,e,t){return e===Fh||e===li?t>0?t-1:t:t===null?0:t===r-1?t:t+1}var yR=r=>!r.header&&!r.childNodes,xR=r=>yR(r)||r.expanded!==void 0,cv=({defaultHighlightedIdx:r=-1,highlightedIdx:e,treeNodes:t,onHighlight:n,onKeyboardNavigation:o,selected:s=[]})=>{let{bwd:i,fwd:l}=(0,mn.useMemo)(()=>({bwd:Fh,fwd:nv}),[]),[a,c,u]=(0,av.useControlled)({controlled:e,default:r,name:"highlightedIdx"}),f=(0,mn.useCallback)(x=>{n==null||n(x),c(x)},[n,c]),h=(0,mn.useCallback)((x=l,S=x===l?-1:t.length)=>{let b=lv(t.length,x,S);for(;b!==-1&&(x===l&&b<t.length||x===i&&b>0)&&!xR(t[b]);)b=lv(t.length,x,b);return b},[i,l,t]),d=(0,mn.useRef)(!0),p=(0,mn.useRef)(!1),m=x=>p.current=x,g=(0,mn.useCallback)(()=>{if(p.current)p.current=!1;else if(s.length>0){let x=jo(t,s[0]);if(x){let S=Kc(t,x);f(S)}}else f(h())},[t,h,s,f]),y=(0,mn.useCallback)(x=>{let S=h(x.key,a);S!==a&&(f(S),o==null||o(x,S))},[a,h,o,f]),C=(0,mn.useCallback)(x=>{t.length>0&&iv(x,"vertical")&&(x.preventDefault(),x.stopPropagation(),d.current=!0,y(x))},[t,y]),v=(0,mn.useMemo)(()=>({onBlur:()=>{f(-1)},onFocus:g,onKeyDown:C,onMouseDownCapture:()=>{d.current=!1,m(!0)},onMouseMove:()=>{d.current&&(d.current=!1)},onMouseLeave:()=>{d.current=!0,m(!1),f(-1)}}),[g,C,f]);return{focusVisible:d.current?a:-1,controlledHighlighting:u,highlightedIdx:a,hiliteItemAtIndex:f,keyBoardNavigation:d,listProps:v,setIgnoreFocus:m}};var ai=require("react");var _c=(r,e=[],t={value:0})=>{let n=!1;for(let o of r)n&&!Bh(o)||(e[t.value]=o,t.value+=1,n=!1,Bh(o)&&o.expanded===!1?n=!0:ev(o)&&zh(o)&&_c(o.childNodes,e,t));return e},uv=r=>{let e=(0,ai.useRef)(r),t=(0,ai.useRef)(r),n=(0,ai.useRef)(_c(r)),[,o]=(0,ai.useState)({});r!==e.current&&(e.current=r,t.current=r,n.current=_c(r));let s=i=>{t.current=i,n.current=_c(i),o({})};return{data:t.current,indexPositions:n.current,setData:s}};var Sr=require("react");var vR={},CR=r=>r&&r.hasAttribute("aria-expanded"),fv=({collapsibleHeaders:r,highlightedIdx:e,treeNodes:t,setVisibleData:n,source:o})=>{let s=(0,Sr.useRef)(o),i=(0,Sr.useRef)(s.current),l=(0,Sr.useCallback)(p=>{n(i.current=p)},[n]),a=(0,Sr.useCallback)((p,{id:m})=>Wc(p,m,{expanded:!0}),[]),c=(0,Sr.useCallback)((p,{id:m})=>Wc(p,m,{expanded:!1}),[]),u=(0,Sr.useCallback)(p=>{if(p.key===rv||p.key===Uc){let m=t[e];m&&m.expanded===!1&&(p.preventDefault(),l(a(i.current,m)))}if(p.key===li||p.key===Uc){let m=t[e];m&&m.expanded&&(p.preventDefault(),l(c(i.current,m)))}},[c,a,e,t,l]),f=r?{onKeyDown:u}:vR,d={onClick:(0,Sr.useCallback)(p=>{let m=Nh(p.target);if(CR(m)){p.stopPropagation(),p.preventDefault();let g=jo(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:f,listItemHandlers:d}};var hv=require("react");var dv=({highlightedIdx:r,hiliteItemAtIndex:e,indexPositions:t,source:n})=>({listHandlers:{onKeyDown:(0,hv.useCallback)(i=>{if(i.key===li){let l=t[r],a=Zx(l);if(a){i.preventDefault();let c=jo(n,a);if(c){let u=Kc(t,c);u!==void 0&&e(u)}}}},[r,e,t,n])}});var wR=[],pv=({defaultSelected:r,sourceWithIds:e,onChange:t,onHighlight:n,selected:o,selection:s})=>{let i=(0,Hl.useRef)(wR),l=uv(e),a=(v,x)=>{var S,b;(b=(S=h.listHandlers).onKeyboardNavigation)==null||b.call(S,v,x)},{highlightedIdx:c,...u}=cv({treeNodes:l.indexPositions,onHighlight:n,onKeyboardNavigation:a,selected:i.current}),f=fv({collapsibleHeaders:!0,highlightedIdx:c,treeNodes:l.indexPositions,setVisibleData:l.setData,source:l.data}),h=Yx({defaultSelected:r,highlightedIdx:c,treeNodes:l.indexPositions,onChange:t,selected:o,selection:s}),d=dv({source:l.data,highlightedIdx:c,hiliteItemAtIndex:u.hiliteItemAtIndex,indexPositions:l.indexPositions}),p=(0,Hl.useCallback)(v=>{var x,S,b;(x=f.listItemHandlers)==null||x.onClick(v),v.defaultPrevented||(b=(S=h.listItemHandlers)==null?void 0:S.onClick)==null||b.call(S,v)},[f,h]),m=(0,Hl.useCallback)(v=>{var x,S,b,w,k,D,T,M;(S=(x=u.listProps).onKeyDown)==null||S.call(x,v),v.defaultPrevented||(w=(b=h.listHandlers).onKeyDown)==null||w.call(b,v),v.defaultPrevented||(D=(k=f.listHandlers).onKeyDown)==null||D.call(k,v),v.defaultPrevented||(M=(T=d.listHandlers).onKeyDown)==null||M.call(T,v)},[f.listHandlers,u.listProps,h.listHandlers,d.listHandlers]),g=()=>{var v;return c===void 0||c===-1||(v=l.indexPositions[c])==null?void 0:v.id};i.current=h.selected;let y={"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:y,listItemHandlers:C,selected:h.selected,visibleData:l.data}};var en=require("react/jsx-runtime"),gv=require("react"),no="vuuTree",zh=r=>r.expanded===!0,mv=({children:r,idx:e,...t})=>(0,en.jsx)("li",{...t,children:r}),SR=(0,jc.forwardRef)(function({allowDragDrop:e,className:t,defaultSelected:n,groupSelection:o="none",id:s,onHighlight:i,onSelectionChange:l,revealSelected:a,selected:c,selection:u="single",source:f,...h},d){var L;let p=(0,Qc.useIdMemo)(s),m=(0,jc.useRef)(null),[,g,y]=Gx(f,p,{revealSelected:a?(L=c!=null?c:n)!=null?L:!1:void 0}),C=(P,I)=>{if(l){let B=I.map(H=>y(H)).filter(H=>H!==void 0);l(B)}},{focusVisible:v,highlightedIdx:x,hiliteItemAtIndex:S,listProps:b,listItemHandlers:w,selected:k,visibleData:D}=pv({defaultSelected:n,groupSelection:o,onChange:C,onHighlight:i,selected:c,selection:u,sourceWithIds:g});Jx(m,x);let M={...{onMouseEnter:P=>{let I=P.target,B=Ux(I);S(B)}},...w,role:"treeitem"},E=Xx(o);function R(P,I,B){P.push((0,en.jsxs)(mv,{...M,...TR(I,B,x,k,v),children:[I.icon?(0,en.jsx)("span",{className:`${no}Node-icon`,"data-icon":I.icon}):null,(0,en.jsx)("span",{children:I.label})]})),B.value+=1}function A(P,I,B,H,z){let{value:V}=B;B.value+=1,P.push((0,gv.createElement)(mv,{...w,"aria-expanded":I.expanded,"aria-level":I.level,"aria-selected":k.includes(H)||void 0,className:(0,Gc.default)(`${no}Node`,{focusVisible:v===V,[`${no}Node-toggle`]:!E}),"data-idx":V,"data-highlighted":V===x||void 0,"data-selectable":!0,id:H,key:`header-${V}`},E?(0,en.jsxs)("div",{className:`${no}Node-label`,children:[(0,en.jsx)("span",{className:`${no}Node-toggle`}),z]}):(0,en.jsxs)("div",{className:`${no}Node-label`,children:[I.icon?(0,en.jsx)("span",{className:`${no}Node-icon`,"data-icon":I.icon}):null,(0,en.jsx)("span",{children:z})]}),(0,en.jsx)("ul",{role:"group",children:zh(I)?O(I.childNodes,B):""})))}function O(P,I={value:0}){if((P==null?void 0:P.length)>0){let B=[];for(let H of P)H.childNodes?A(B,H,I,H.id,H.label):R(B,H,I);return B}}return(0,en.jsx)("ul",{...h,...b,className:(0,Gc.default)(no,t),id:`Tree-${p}`,ref:(0,Qc.useForkRef)(m,d),role:"tree",tabIndex:0,children:O(D)})}),TR=(r,e,t,n,o,s)=>({id:r.id,key:r.id,"aria-level":r.level,"aria-selected":n.includes(r.id)||void 0,"data-idx":e.value,"data-highlighted":e.value===t||void 0,className:(0,Gc.default)("vuuTreeNode",s,{focusVisible:o===e.value})});SR.displayName="Tree";var ER=require("@salt-ds/core"),kR=W(require("classnames")),DR=require("react"),MR=require("react/jsx-runtime");var yv=W(require("classnames")),Tr=require("react");var Nl=require("react/jsx-runtime"),{KEY:bv}=qc.metadataKeys,Vh=(0,Tr.memo)(({className:r,column:e,columnMap:t,onClick:n,row:o})=>{let s=(0,Tr.useRef)(null),{align:i,CellRenderer:l,key:a,pin:c,editable:u,resizing:f,valueFormatter:h}=e,[d,p]=(0,Tr.useState)(!1),m=h(o[a]),[g,y]=(0,Tr.useState)(m),C=()=>{var D;(D=s.current)==null||D.focus()},v=D=>{D.key==="Enter"&&p(!0)},x=(0,Tr.useCallback)(D=>{n==null||n(D,e)},[e,n]),S=()=>{p(!0)},b=(D="",T="",M=!0,E=!1)=>{var R;p(!1),E?y(D):T!==D&&y(T),M===!1&&((R=s.current)==null||R.focus())},w=(0,yv.default)(r,{vuuAlignRight:i==="right",vuuPinFloating:c==="floating",vuuPinLeft:c==="left",vuuPinRight:c==="right","vuuTableCell-resizing":f})||void 0,k=(0,qc.getColumnStyle)(e);return u?(0,Nl.jsx)("div",{className:w,"data-editable":!0,role:"cell",style:k,onKeyDown:v,children:(0,Nl.jsx)(Vs,{editing:d,value:g,onChange:y,onMouseDownCapture:C,onEnterEditMode:S,onExitEditMode:b,onKeyDown:v,ref:s,tabIndex:0},"title")}):(0,Nl.jsx)("div",{className:w,role:"cell",style:k,onClick:x,children:l?(0,Nl.jsx)(l,{column:e,columnMap:t,row:o}):m})},RR);Vh.displayName="TableCell";function RR(r,e){return r.column===e.column&&r.onClick===e.onClick&&r.row[bv]===e.row[bv]&&r.row[r.column.key]===e.row[e.column.key]}var ui=require("@vuu-ui/vuu-utils"),xv=require("react");var ci=require("react/jsx-runtime"),{IS_LEAF:PR}=ui.metadataKeys,vv=({column:r,onClick:e,row:t})=>{let{columns:n}=r,[o,s]=(0,ui.getGroupValueAndOffset)(n,t),i=(0,xv.useCallback)(u=>{e==null||e(u,r)},[r,e]),l=(0,ui.getColumnStyle)(r),a=t[PR],c=Array(s).fill(0).map((u,f)=>(0,ci.jsx)("span",{className:"vuuTableGroupCell-spacer"},f));return(0,ci.jsxs)("div",{className:"vuuTableGroupCell vuuPinLeft",onClick:a?void 0:i,role:"cell",style:l,children:[c,a?null:(0,ci.jsx)("span",{className:"vuuTableGroupCell-toggle","data-icon":"triangle-right"}),(0,ci.jsx)("span",{children:o})]})};var Fl=require("react/jsx-runtime"),{IDX:IR,IS_EXPANDED:AR,SELECTED:LR}=tn.metadataKeys,{True:Cv,First:OR,Last:HR}=tn.RowSelected,fi="vuuTableRow",Sv=(0,Bl.memo)(function({columnMap:e,columns:t,offset:n,onClick:o,onToggleGroup:s,virtualColSpan:i=0,row:l}){let{[IR]:a,[AR]:c,[LR]:u}=l,f=(0,wv.default)(fi,{[`${fi}-even`]:a%2===0,[`${fi}-expanded`]:c,[`${fi}-selected`]:u&Cv,[`${fi}-selectedStart`]:u&OR,[`${fi}-selectedEnd`]:u&HR}),h=(0,Bl.useCallback)(p=>{let m=p.shiftKey,g=p.ctrlKey||p.metaKey;o==null||o(l,m,g)},[o,l]),d=(0,Bl.useCallback)((p,m)=>{((0,tn.isGroupColumn)(m)||(0,tn.isJsonGroup)(m,l))&&(p.stopPropagation(),s==null||s(l,m))},[s,l]);return(0,Fl.jsxs)("div",{"aria-selected":u&Cv?!0:void 0,"aria-rowindex":a,className:f,onClick:h,role:"row",style:{transform:`translate3d(0px, ${n}px, 0px)`},children:[i>0?(0,Fl.jsx)("div",{role:"cell",style:{width:i}}):null,t.filter(tn.notHidden).map(p=>{let m=(0,tn.isGroupColumn)(p),g=(0,tn.isJsonColumn)(p);return(0,Fl.jsx)(m?vv:Vh,{column:p,columnMap:e,onClick:m||g?d:void 0,row:l},p.name)})]})});var $h=W(require("classnames")),Ev=require("react");var qo=require("react"),zl=({column:r,onResize:e,rootRef:t})=>{let n=(0,qo.useRef)(0),o=(0,qo.useRef)(!1),{name:s}=r,i=(0,qo.useCallback)(()=>{if(e&&t.current){console.log("handleResizeStart");let{width:c}=t.current.getBoundingClientRect();n.current=Math.round(c),o.current=!0,e==null||e("begin",s)}},[s,e,t]),l=(0,qo.useCallback)((c,u)=>{if(t.current&&e){let{width:f}=t.current.getBoundingClientRect(),h=Math.round(f)+u;h!==n.current&&h>0&&(e("resize",s,h),n.current=h)}},[s,e,t]),a=(0,qo.useCallback)(()=>{e&&(e("end",s,n.current),setTimeout(()=>{o.current=!1},100))},[s,e]);return{isResizing:o.current,onDrag:l,onDragStart:i,onDragEnd:a}};var Vn=require("react/jsx-runtime"),ro="vuuTable-groupHeaderCell",Tv=({column:r,onClick:e,...t})=>(0,Vn.jsx)("span",{...t,className:`${ro}-close`,"data-icon":"close-circle",onClick:()=>e==null?void 0:e(r)}),NR=r=>{let{children:e,column:t,className:n}=r;return(0,Vn.jsxs)("div",{className:(0,$h.default)(`${ro}-col`,n),role:"columnheader",children:[(0,Vn.jsx)("span",{className:`${ro}-label`,children:t.name}),e]})},kv=({column:r,className:e,onRemoveColumn:t,onResize:n,...o})=>{let s=(0,Ev.useRef)(null),{isResizing:i,...l}=zl({column:r,onResize:n,rootRef:s}),a=(0,$h.default)(ro,e,{vuuPinLeft:r.pin==="left",[`${ro}-right`]:r.align==="right",[`${ro}-resizing`]:r.resizing,[`${ro}-pending`]:r.groupConfirmed===!1}),{columns:c}=r;return(0,Vn.jsx)("div",{className:a,ref:s,...o,children:(0,Vn.jsxs)("div",{className:`${ro}-inner`,children:[c.map(u=>(0,Vn.jsx)(NR,{column:u,children:c.length>1?(0,Vn.jsx)(Tv,{column:u,onClick:t}):null},u.key)),(0,Vn.jsx)(Tv,{"data-align":"end",onClick:t}),r.resizeable!==!1?(0,Vn.jsx)(cl,{...l}):null]})})};var Ov=W(require("classnames")),Yo=require("react");var Kh=W(require("classnames"));var Xo=require("react/jsx-runtime"),Dv="vuuSortIndicator",Mv=({sorted:r})=>{if(!r)return null;let e=typeof r=="number"?r<0?"dsc":"asc":r==="A"?"asc":"dsc";return typeof r=="number"?(0,Xo.jsxs)("div",{className:(0,Kh.default)(Dv,"multi-col",e),children:[(0,Xo.jsx)("span",{"data-icon":`sorted-${e}`}),(0,Xo.jsx)("span",{className:"vuuSortPosition",children:Math.abs(r)})]}):(0,Xo.jsx)("div",{className:(0,Kh.default)(Dv,"single-col"),children:(0,Xo.jsx)("span",{"data-icon":`sorted-${e}`})})};var Hv=require("@vuu-ui/vuu-popups");var Rv=require("@vuu-ui/vuu-popups"),Pv=W(require("classnames")),Iv=require("react");var Lv=require("react/jsx-runtime");var Av=({column:r,filter:e})=>{let[t]=(0,Rv.useContextMenu)(),n=(0,Iv.useCallback)(o=>{o.stopPropagation(),t(o,"filter",{column:r,filter:e})},[r,e,t]);return r.filter?(0,Lv.jsx)("div",{className:(0,Pv.default)("vuuFilterIndicator"),"data-icon":"filter",onClick:n}):null};var oo=require("react/jsx-runtime"),Vl="vuuTable-headerCell",Nv=({column:r,className:e,onClick:t,onDragStart:n,onResize:o,...s})=>{let i=(0,Yo.useRef)(null),{isResizing:l,...a}=zl({column:r,onResize:o,rootRef:i}),[c]=(0,Hv.useContextMenu)(),u=(0,Yo.useRef)(null),f=g=>{c(g,"header",{column:r})},h=(0,Yo.useCallback)(g=>!l&&(t==null?void 0:t(g)),[l,t]),d=(0,Yo.useCallback)(g=>{u.current=window.setTimeout(()=>{n==null||n(g),u.current=null},500)},[n]),p=(0,Yo.useCallback)(()=>{u.current!==null&&(window.clearTimeout(u.current),u.current=null)},[]),m=(0,Ov.default)(Vl,e,{vuuPinFloating:r.pin==="floating",vuuPinLeft:r.pin==="left",vuuPinRight:r.pin==="right",vuuEndPin:r.endPin,[`${Vl}-resizing`]:r.resizing,[`${Vl}-right`]:r.align==="right"});return(0,oo.jsx)("div",{className:m,...s,onClick:h,onContextMenu:f,onMouseDown:d,onMouseUp:p,ref:i,children:(0,oo.jsxs)("div",{className:`${Vl}-inner`,children:[(0,oo.jsx)(Av,{column:r}),(0,oo.jsx)("div",{className:`${Vl}-label`,children:r.label}),(0,oo.jsx)(Mv,{sorted:r.sorted}),r.resizeable!==!1?(0,oo.jsx)(cl,{...a}):null]})})};var $n=require("react/jsx-runtime"),Wh="vuuTable",{RENDER_IDX:BR}=gn.metadataKeys,Bv=({columns:r,columnsWithinViewport:e,data:t,getRowOffset:n,headings:o,onColumnResize:s,onHeaderCellDragStart:i,onContextMenu:l,onRemoveColumnFromGroupBy:a,onRowClick:c,onSort:u,onToggleGroup:f,tableId:h,virtualColSpan:d=0,rowCount:p})=>{let m=(0,hi.useCallback)(v=>{i==null||i(v)},[i]),g=(0,hi.useMemo)(()=>r.filter(gn.notHidden),[r]),y=(0,hi.useMemo)(()=>(0,gn.buildColumnMap)(r),[r]),C=(0,hi.useCallback)(v=>{var D;let S=v.target.closest(".vuuTable-headerCell"),b=parseInt((D=S==null?void 0:S.dataset.idx)!=null?D:"-1"),w=(0,gn.visibleColumnAtIndex)(r,b),k=v.shiftKey;w&&u(w,k)},[r,u]);return(0,$n.jsxs)("div",{"aria-rowcount":p,className:`${Wh}-table`,role:"table",children:[(0,$n.jsxs)("div",{className:`${Wh}-headers`,role:"rowGroup",children:[o.map((v,x)=>(0,$n.jsx)("div",{className:"vuuTable-heading",children:v.map(({label:S,width:b},w)=>(0,$n.jsx)("div",{className:"vuuTable-headingCell",style:{width:b},children:S},w))},x)),(0,$n.jsx)("div",{role:"row",children:g.map((v,x)=>{let S=(0,gn.getColumnStyle)(v);return(0,gn.isGroupColumn)(v)?(0,$n.jsx)(kv,{column:v,"data-idx":x,onRemoveColumn:a,onResize:s,role:"columnHeader",style:S},x):(0,$n.jsx)(Nv,{column:v,"data-idx":x,id:`${h}-${x}`,onClick:C,onDragStart:m,onResize:s,role:"columnHeader",style:S},x)})})]}),(0,$n.jsx)("div",{className:`${Wh}-body`,onContextMenu:l,role:"rowGroup",children:t==null?void 0:t.map(v=>(0,$n.jsx)(Sv,{columnMap:y,columns:e,offset:n(v),onClick:c,virtualColSpan:d,onToggleGroup:f,row:v},v[BR]))})]})};var C0=require("@vuu-ui/vuu-popups"),or=require("@vuu-ui/vuu-utils"),Ve=require("react");var Xc=require("@vuu-ui/vuu-utils"),$l=require("react"),{SELECTED:Mj}=Xc.metadataKeys;var Uh=require("react"),FR=require("@vuu-ui/vuu-data");var _h=require("react"),zR=require("@vuu-ui/vuu-data");var VR=require("react"),$R=require("@vuu-ui/vuu-data");var KR=0,Kl=class{constructor(e,t){this.from=e,this.to=t}},ie=class{constructor(e={}){this.id=KR++,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=tt.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};ie.closedBy=new ie({deserialize:r=>r.split(" ")});ie.openedBy=new ie({deserialize:r=>r.split(" ")});ie.group=new ie({deserialize:r=>r.split(" ")});ie.contextHash=new ie({perNode:!0});ie.lookAhead=new ie({perNode:!0});ie.mounted=new ie({perNode:!0});var WR=Object.create(null),tt=class{constructor(e,t,n,o=0){this.name=e,this.props=t,this.id=n,this.flags=o}static define(e){let t=e.props&&e.props.length?Object.create(null):WR,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),o=new tt(e.name||"",t,e.id,n);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(ie.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let o of n.split(" "))t[o]=e[n];return n=>{for(let o=n.prop(ie.group),s=-1;s<(o?o.length:0);s++){let i=t[s<0?n.name:o[s]];if(i)return i}}}};tt.none=new tt("",Object.create(null),0,8);var Er=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 n of this.types){let o=null;for(let s of e){let i=s(n);i&&(o||(o=Object.assign({},n.props)),o[i[0].id]=i[1])}t.push(o?new tt(n.name,o,n.id,n.flags):n)}return new Er(t)}},Yc=new WeakMap,Fv=new WeakMap,Ge;(function(r){r[r.ExcludeBuffers=1]="ExcludeBuffers",r[r.IncludeAnonymous=2]="IncludeAnonymous",r[r.IgnoreMounts=4]="IgnoreMounts",r[r.IgnoreOverlays=8]="IgnoreOverlays"})(Ge||(Ge={}));var Se=class{constructor(e,t,n,o,s){if(this.type=e,this.children=t,this.positions=n,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(ie.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let n of this.children){let o=n.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 pi(this.topNode,e)}cursorAt(e,t=0,n=0){let o=Yc.get(this)||this.topNode,s=new pi(o);return s.moveTo(e,t),Yc.set(this,s._tree),s}get topNode(){return new Kn(this,0,0,null)}resolve(e,t=0){let n=di(Yc.get(this)||this.topNode,e,t,!1);return Yc.set(this,n),n}resolveInner(e,t=0){let n=di(Fv.get(this)||this.topNode,e,t,!0);return Fv.set(this,n),n}iterate(e){let{enter:t,leave:n,from:o=0,to:s=this.length}=e,i=e.mode||0,l=(i&Ge.IncludeAnonymous)>0;for(let a=this.cursor(i|Ge.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&&n&&(l||!a.type.isAnonymous)&&n(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:qh(tt.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,o)=>new Se(this.type,t,n,o,this.propValues),e.makeTree||((t,n,o)=>new Se(tt.none,t,n,o)))}static build(e){return UR(e)}};Se.empty=new Se(tt.none,[],[],0);var Wl=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 Wl(this.buffer,this.index)}},kr=class{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return tt.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],n=this.buffer[e+3],o=this.set.types[t],s=o.name;if(/\W/.test(s)&&!o.isError&&(s=JSON.stringify(s)),e+=4,n==e)return s;let i=[];for(;e<n;)i.push(this.childString(e)),e=this.buffer[e+3];return s+"("+i.join(",")+")"}findChild(e,t,n,o,s){let{buffer:i}=this,l=-1;for(let a=e;a!=t&&!(Vv(s,o,i[a+1],i[a+2])&&(l=a,n>0));a=i[a+3]);return l}slice(e,t,n){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++]-n;let c=s[a++]=o[l++]-n;s[a++]=o[l++]-e,i=Math.max(i,c)}return new kr(s,i,this.set)}};function Vv(r,e,t,n){switch(r){case-2:return t<e;case-1:return n>=e&&t<e;case 0:return t<e&&n>e;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function $v(r,e){let t=r.childBefore(e);for(;t;){let n=t.lastChild;if(!n||n.to!=t.to)break;n.type.isError&&n.from==n.to?(r=t,t=n.prevSibling):t=n}return r}function di(r,e,t,n){for(var o;r.from==r.to||(t<1?r.from>=e:r.from>e)||(t>-1?r.to<=e:r.to<e);){let i=!n&&r instanceof Kn&&r.index<0?null:r.parent;if(!i)return r;r=i}let s=n?0:Ge.IgnoreOverlays;if(n)for(let i=r,l=i.parent;l;i=l,l=i.parent)i instanceof Kn&&i.index<0&&((o=l.enter(e,t,s))===null||o===void 0?void 0:o.from)!=i.from&&(r=l);for(;;){let i=r.enter(e,t,s);if(!i)return r;r=i}}var Kn=class{constructor(e,t,n,o){this._tree=e,this.from=t,this.index=n,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,n,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],f=a[e]+i.from;if(Vv(o,n,f,f+u.length)){if(u instanceof kr){if(s&Ge.ExcludeBuffers)continue;let h=u.findChild(0,u.buffer.length,t,n-f,o);if(h>-1)return new tr(new Gh(i,u,e,f),null,h)}else if(s&Ge.IncludeAnonymous||!u.type.isAnonymous||jh(u)){let h;if(!(s&Ge.IgnoreMounts)&&u.props&&(h=u.prop(ie.mounted))&&!h.overlay)return new Kn(h.tree,f,e,i);let d=new Kn(u,f,e,i);return s&Ge.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(t<0?u.children.length-1:0,t,n,o)}}}if(s&Ge.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,n=0){let o;if(!(n&Ge.IgnoreOverlays)&&(o=this._tree.prop(ie.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 Kn(o.tree,o.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}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 pi(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return di(this,e,t,!1)}resolveInner(e,t=0){return di(this,e,t,!0)}enterUnfinishedNodesBefore(e){return $v(this,e)}getChild(e,t=null,n=null){let o=Zc(this,e,t,n);return o.length?o[0]:null}getChildren(e,t=null,n=null){return Zc(this,e,t,n)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return eu(this,e)}};function Zc(r,e,t,n){let o=r.cursor(),s=[];if(!o.firstChild())return s;if(t!=null){for(;!o.type.is(t);)if(!o.nextSibling())return s}for(;;){if(n!=null&&o.type.is(n))return s;if(o.type.is(e)&&s.push(o.node),!o.nextSibling())return n==null?s:[]}}function eu(r,e,t=e.length-1){for(let n=r.parent;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var Gh=class{constructor(e,t,n,o){this.parent=e,this.buffer=t,this.index=n,this.start=o}},tr=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,n){this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:o}=this.context,s=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new tr(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,n=0){if(n&Ge.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 tr(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 tr(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 tr(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new pi(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,o=this.index+4,s=n.buffer[this.index+3];if(s>o){let i=n.buffer[this.index+1];e.push(n.slice(o,s,i)),t.push(0)}return new Se(this.type,e,t,this.to-this.from)}resolve(e,t=0){return di(this,e,t,!1)}resolveInner(e,t=0){return di(this,e,t,!0)}enterUnfinishedNodesBefore(e){return $v(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,n=null){let o=Zc(this,e,t,n);return o.length?o[0]:null}getChildren(e,t=null,n=null){return Zc(this,e,t,n)}get node(){return this}matchContext(e){return eu(this,e)}},pi=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 Kn)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.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:n,buffer:o}=this.buffer;return this.type=t||o.set.types[o.buffer[e]],this.from=n+o.buffer[e+1],this.to=n+o.buffer[e+2],!0}yield(e){return e?e instanceof Kn?(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,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:o}=this.buffer,s=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.buffer.start,n);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,n=this.mode){return this.buffer?n&Ge.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ge.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ge.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,n=this.stack.length-1;if(e<0){let o=n<0?0:this.stack[n]+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<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(o)}return n<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,n,{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:n}=o)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let s=t+e,i=e<0?-1:n._tree.children.length;s!=i;s+=e){let l=n._tree.children[s];if(this.mode&Ge.IncludeAnonymous||l instanceof kr||!l.type.isAnonymous||jh(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,n=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,n=s+1;break e}o=this.stack[--s]}for(let o=n;o<this.stack.length;o++)t=new tr(this.buffer,t,this.stack[o]);return this.bufferNode=new tr(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let o=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(o=!0)}for(;o&&t&&t(this),o=this.type.isAnonymous,!this.nextSibling();){if(!n)return;this.parent(),n--,o=!0}}}matchContext(e){if(!this.buffer)return eu(this.node,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let o=e.length-1,s=this.stack.length-1;o>=0;s--){if(s<0)return eu(this.node,e,o);let i=n[t.buffer[this.stack[s]]];if(!i.isAnonymous){if(e[o]&&e[o]!=i.name)return!1;o--}}return!0}};function jh(r){return r.children.some(e=>e instanceof kr||!e.type.isAnonymous||jh(e))}function UR(r){var e;let{buffer:t,nodeSet:n,maxBufferLength:o=1024,reused:s=[],minRepeatType:i=n.types.length}=r,l=Array.isArray(t)?new Wl(t,t.length):t,a=n.types,c=0,u=0;function f(x,S,b,w,k){let{id:D,start:T,end:M,size:E}=l,R=u;for(;E<0;)if(l.next(),E==-1){let I=s[D];b.push(I),w.push(T-x);return}else if(E==-3){c=D;return}else if(E==-4){u=D;return}else throw new RangeError(`Unrecognized record size: ${E}`);let A=a[D],O,L,P=T-x;if(M-T<=o&&(L=m(l.pos-S,k))){let I=new Uint16Array(L.size-L.skip),B=l.pos-L.size,H=I.length;for(;l.pos>B;)H=g(L.start,I,H);O=new kr(I,M-L.start,n),P=L.start-x}else{let I=l.pos-E;l.next();let B=[],H=[],z=D>=i?D:-1,V=0,Q=M;for(;l.pos>I;)z>=0&&l.id==z&&l.size>=0?(l.end<=Q-o&&(d(B,H,T,V,l.end,Q,z,R),V=B.length,Q=l.end),l.next()):f(T,I,B,H,z);if(z>=0&&V>0&&V<B.length&&d(B,H,T,V,T,Q,z,R),B.reverse(),H.reverse(),z>-1&&V>0){let q=h(A);O=qh(A,B,H,0,B.length,0,M-T,q,q)}else O=p(A,B,H,M-T,R-M)}b.push(O),w.push(P)}function h(x){return(S,b,w)=>{let k=0,D=S.length-1,T,M;if(D>=0&&(T=S[D])instanceof Se){if(!D&&T.type==x&&T.length==w)return T;(M=T.prop(ie.lookAhead))&&(k=b[D]+T.length+M)}return p(x,S,b,w,k)}}function d(x,S,b,w,k,D,T,M){let E=[],R=[];for(;x.length>w;)E.push(x.pop()),R.push(S.pop()+b-k);x.push(p(n.types[T],E,R,D-k,M-D)),S.push(k-b)}function p(x,S,b,w,k=0,D){if(c){let T=[ie.contextHash,c];D=D?[T].concat(D):[T]}if(k>25){let T=[ie.lookAhead,k];D=D?[T].concat(D):[T]}return new Se(x,S,b,w,D)}function m(x,S){let b=l.fork(),w=0,k=0,D=0,T=b.end-o,M={size:0,start:0,skip:0};e:for(let E=b.pos-x;b.pos>E;){let R=b.size;if(b.id==S&&R>=0){M.size=w,M.start=k,M.skip=D,D+=4,w+=4,b.next();continue}let A=b.pos-R;if(R<0||A<E||b.start<T)break;let O=b.id>=i?4:0,L=b.start;for(b.next();b.pos>A;){if(b.size<0)if(b.size==-3)O+=4;else break e;else b.id>=i&&(O+=4);b.next()}k=L,w+=R,D+=O}return(S<0||w==x)&&(M.size=w,M.start=k,M.skip=D),M.size>4?M:void 0}function g(x,S,b){let{id:w,start:k,end:D,size:T}=l;if(l.next(),T>=0&&w<i){let M=b;if(T>4){let E=l.pos-(T-4);for(;l.pos>E;)b=g(x,S,b)}S[--b]=M,S[--b]=D-x,S[--b]=k-x,S[--b]=w}else T==-3?c=w:T==-4&&(u=w);return b}let y=[],C=[];for(;l.pos>0;)f(r.start||0,r.bufferStart||0,y,C,-1);let v=(e=r.length)!==null&&e!==void 0?e:y.length?C[0]+y[0].length:0;return new Se(a[r.topID],y.reverse(),C.reverse(),v)}var zv=new WeakMap;function Jc(r,e){if(!r.isAnonymous||e instanceof kr||e.type!=r)return 1;let t=zv.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=r||!(n instanceof Se)){t=1;break}t+=Jc(r,n)}zv.set(e,t)}return t}function qh(r,e,t,n,o,s,i,l,a){let c=0;for(let p=n;p<o;p++)c+=Jc(r,e[p]);let u=Math.ceil(c*1.5/8),f=[],h=[];function d(p,m,g,y,C){for(let v=g;v<y;){let x=v,S=m[v],b=Jc(r,p[v]);for(v++;v<y;v++){let w=Jc(r,p[v]);if(b+w>=u)break;b+=w}if(v==x+1){if(b>u){let w=p[x];d(w.children,w.positions,0,w.children.length,m[x]+C);continue}f.push(p[x])}else{let w=m[v-1]+p[v-1].length-S;f.push(qh(r,p,m,x,v,S,w,null,a))}h.push(S+C-s)}}return d(e,t,n,o,0),(l||a)(f,h,i)}var nr=class{constructor(e,t,n,o,s=!1,i=!1){this.from=e,this.to=t,this.tree=n,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=[],n=!1){let o=[new nr(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&o.push(s);return o}static applyChanges(e,t,n=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,f=u?u.fromA:1e9;if(f-a>=n)for(;i&&i.from<f;){let h=i;if(a>=h.from||f<=h.to||c){let d=Math.max(h.from,a)-c,p=Math.min(h.to,f)-c;h=d>=p?null:new nr(d,p,h.tree,h.offset+c,l>0,!!u)}if(h&&o.push(h),i.to>f)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,n){return typeof e=="string"&&(e=new Qh(e)),n=n?n.length?n.map(o=>new Kl(o.from,o.to)):[new Kl(0,0)]:[new Kl(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let o=this.startParse(e,t,n);for(;;){let s=o.advance();if(s)return s}}},Qh=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 Oj=new ie({perNode:!0});var gi=class{constructor(e,t,n,o,s,i,l,a,c,u=0,f){this.p=e,this.stack=t,this.state=n,this.reducePos=o,this.pos=s,this.score=i,this.buffer=l,this.bufferBase=a,this.curContext=c,this.lookAhead=u,this.parent=f}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let o=e.parser.context;return new gi(e,[],t,n,n,0,[],0,o?new tu(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 n=e>>19,o=e&65535,{parser:s}=this.p,i=s.dynamicPrecedence(o);if(i&&(this.score+=i),n==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-(n-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,f=this.bufferBase+this.buffer.length-u;if(o<s.minRepeatTerm||e&131072){let h=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(o,a,h,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let h=this.stack[l-3];this.state=s.getGoto(h,o,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(o,a)}storeNode(e,t,n,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==n)return;if(i.buffer[l-2]>=t){i.buffer[l-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,o);else{let i=this.buffer.length;if(i>0&&this.buffer[i-4]!=0)for(;i>0&&this.buffer[i-2]>n;)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]=n,this.buffer[i+3]=o}}shift(e,t,n){let o=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=n,this.shiftContext(t,o),t<=this.p.parser.maxNode&&this.buffer.push(t,o,n,4);else{let s=e,{parser:i}=this.p;(n>this.pos||t<=i.maxNode)&&(this.pos=n,i.stateFlag(s,1)||(this.reducePos=n)),this.pushState(s,o),this.shiftContext(t,o),t<=i.maxNode&&this.buffer.push(t,o,n,4)}}apply(e,t,n){e&65536?this.reduce(e):this.shift(e,t,n)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(t,o),this.buffer.push(n,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 n=e.buffer.slice(t),o=e.bufferBase+t;for(;e&&o==e.bufferBase;)e=e.parent;return new gi(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Yh(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if(!(n&65536))return!0;t.reduce(n)}}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 n=[];for(let o=0;o<t.length&&n.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,n.push(i)}return n}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let n=t>>19,o=t&65535,s=this.stack.length-n*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=[],n=(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=n(i,s+1);if(l!=null)return l}})};return n(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 tu(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()}},tu=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},Kv;(function(r){r[r.Insert=200]="Insert",r[r.Delete=190]="Delete",r[r.Reduce=100]="Reduce",r[r.MaxNext=4]="MaxNext",r[r.MaxInsertStackDepth=300]="MaxInsertStackDepth",r[r.DampenInsertStackDepth=120]="DampenInsertStackDepth",r[r.MinBigReduction=2e3]="MinBigReduction"})(Kv||(Kv={}));var Yh=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,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let o=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=o}},bi=class{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,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 Ul(r,e=Uint16Array){if(typeof r!="string")return r;let t=null;for(let n=0,o=0;n<r.length;){let s=0;for(;;){let i=r.charCodeAt(n++),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 mi=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Wv=new mi,Jh=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=Wv,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 n=this.range,o=this.rangeIndex,s=this.pos+e;for(;s<n.from;){if(!o)return null;let i=this.ranges[--o];s-=n.from-i.to,n=i}for(;t<0?s>n.to:s>=n.to;){if(o==this.ranges.length-1)return null;let i=this.ranges[++o];s+=i.from-n.to,n=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,n,o;if(t>=0&&t<this.chunk.length)n=this.pos+e,o=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(n=s,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)o=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let i=this.rangeIndex,l=this.range;for(;l.to<=n;)l=this.ranges[++i];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>l.to&&(this.chunk2=this.chunk2.slice(0,l.to-n)),o=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),o}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}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=Wv,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 n="";for(let o of this.ranges){if(o.from>=t)break;o.to>e&&(n+=this.input.read(Math.max(o.from,e),Math.min(o.to,t)))}return n}},io=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;Xv(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};io.prototype.contextual=io.prototype.fallback=io.prototype.extend=!1;var Zh=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?Ul(e):e}token(e,t){let n=e.pos,o=0;for(;;){let s=e.next<0,i=e.resolveOffset(1,1);if(Xv(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(n,e.token),e.acceptToken(this.elseToken,o))}};Zh.prototype.contextual=io.prototype.fallback=io.prototype.extend=!1;function Xv(r,e,t,n,o,s){let i=0,l=1<<n,{dialect:a}=t.p.parser;e:for(;l&r[i];){let c=r[i+1];for(let d=i+3;d<c;d+=2)if((r[d+1]&l)>0){let p=r[d];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||_R(p,e.token.value,o,s))){e.acceptToken(p);break}}let u=e.next,f=0,h=r[i+2];if(e.next<0&&h>f&&r[c+h*3-3]==65535&&r[c+h*3-3]==65535){i=r[c+h*3-1];continue e}for(;f<h;){let d=f+h>>1,p=c+d+(d<<1),m=r[p],g=r[p+1]||65536;if(u<m)h=d;else if(u>=g)f=d+1;else{i=r[p+2],e.advance();continue e}}break}}function Uv(r,e,t){for(let n=e,o;(o=r[n])!=65535;n++)if(o==t)return n-e;return-1}function _R(r,e,t,n){let o=Uv(t,n,e);return o<0||Uv(t,n,r)<o}var Wn=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),Xh=null,_v;(function(r){r[r.Margin=25]="Margin"})(_v||(_v={}));function Gv(r,e,t){let n=r.cursor(Ge.IncludeAnonymous);for(n.moveTo(e);;)if(!(t<0?n.childBefore(e):n.childAfter(e)))for(;;){if((t<0?n.to<e:n.from>e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(r.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:r.length}}var ed=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?Gv(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Gv(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 n=this.trees[t],o=this.index[t];if(o==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=n.children[o],i=this.start[t]+n.positions[o];if(i>e)return this.nextStart=i,null;if(s instanceof Se){if(i==e){if(i<this.safeFrom)return null;let l=i+s.length;if(l<=this.safeTo){let a=s.prop(ie.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}}},td=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new mi)}getActions(e){let t=0,n=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],f=this.tokens[c];if(!(n&&!u.fallback)&&((u.contextual||f.start!=e.pos||f.mask!=i||f.context!=l)&&(this.updateCachedToken(f,u,e),f.mask=i,f.context=l),f.lookAhead>f.end+25&&(a=Math.max(f.lookAhead,a)),f.value!=0)){let h=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!u.extend&&(n=f,t>h))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!n&&e.pos==this.stream.end&&(n=new mi,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new mi,{pos:n,p:o}=e;return t.start=n,t.end=Math.min(n+1,o.stream.end),t.value=n==o.stream.end?o.parser.eofTerm:0,t}updateCachedToken(e,t,n){let o=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(o,e),n),e.value>-1){let{parser:s}=n.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),n);if(l>=0&&n.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,n,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++]=n,o}addActions(e,t,n,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=Dr(l,c+2);else{o==0&&l[c+1]==2&&(o=this.putAction(Dr(l,c+2),t,n,o));break}l[c]==t&&(o=this.putAction(Dr(l,c+1),t,n,o))}return o}},Qv;(function(r){r[r.Distance=5]="Distance",r[r.MaxRemainingPerStep=3]="MaxRemainingPerStep",r[r.MinBufferLengthPrune=500]="MinBufferLengthPrune",r[r.ForceReduceLimit=10]="ForceReduceLimit",r[r.CutDepth=15e3]="CutDepth",r[r.CutTo=9e3]="CutTo",r[r.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",r[r.MaxStackCount=12]="MaxStackCount"})(Qv||(Qv={}));var nd=class{constructor(e,t,n,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 Jh(t,o),this.tokens=new td(e,this.stream),this.topTerm=e.top[1];let{from:s}=o[0];this.stacks=[gi.start(this,e.top[0],s)],this.fragments=n.length&&this.stream.end-s>e.bufferLength*4?new ed(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=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)n.push(l);else{if(this.advanceStack(l,n,e))continue;{o||(o=[],s=[]),o.push(l);let a=this.tokens.getMainToken(l);s.push(a.value,a.end)}}break}}if(!n.length){let i=o&&GR(o);if(i)return this.stackToTree(i);if(this.parser.strict)throw Wn&&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,n);if(i)return this.stackToTree(i.forceAll())}if(this.recovering){let i=this.recovering==1?1:this.recovering*3;if(n.length>i)for(n.sort((l,a)=>a.score-l.score);n.length>i;)n.pop();n.some(l=>l.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let i=0;i<n.length-1;i++){let l=n[i];for(let a=i+1;a<n.length;a++){let c=n[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)n.splice(a--,1);else{n.splice(i--,1);continue e}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let i=1;i<n.length;i++)n[i].pos<this.minStackPos&&(this.minStackPos=n[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,n){let o=e.pos,{parser:s}=this,i=Wn?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 f=this.fragments.nodeAt(o);f;){let h=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(h>-1&&f.length&&(!c||(f.prop(ie.contextHash)||0)==u))return e.useNode(f,h),Wn&&console.log(i+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof Se)||f.children.length==0||f.positions[0]>0)break;let d=f.children[0];if(d instanceof Se&&f.positions[0]==0)f=d;else break}}let l=s.stateSlot(e.state,4);if(l>0)return e.reduce(l),Wn&&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++],f=a[c++],h=a[c++],d=c==a.length||!n,p=d?e:e.split();if(p.apply(u,f,h),Wn&&console.log(i+this.stackID(p)+` (via ${u&65536?`reduce of ${s.getName(u&65535)}`:"shift"} for ${s.getName(f)} @ ${o}${p==e?"":", split"})`),d)return!0;p.pos>o?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return jv(e,t),!0}}runRecovery(e,t,n){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=Wn?this.stackID(l)+" -> ":"";if(l.deadEnd&&(s||(s=!0,l.restart(),Wn&&console.log(u+this.stackID(l)+" (restarted)"),this.advanceFully(l,n))))continue;let f=l.split(),h=u;for(let d=0;f.forceReduce()&&d<10&&(Wn&&console.log(h+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));d++)Wn&&(h=this.stackID(f)+" -> ");for(let d of l.recoverByInsert(a))Wn&&console.log(u+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,n);this.stream.end>l.pos?(c==l.pos&&(c++,a=0),l.recoverByDelete(a,c),Wn&&console.log(u+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),jv(l,n)):(!o||o.score<l.score)&&(o=l)}return o}stackToTree(e){return e.close(),Se.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=(Xh||(Xh=new WeakMap)).get(e);return t||Xh.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function jv(r,e){for(let t=0;t<e.length;t++){let n=e[t];if(n.pos==r.pos&&n.sameState(r)){e[t].score<r.score&&(e[t]=r);return}}e.push(r)}var rd=class{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}};var Jo=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 n=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=ie[a]);for(let c=1;c<l.length;){let u=l[c++];if(u>=0)s(u,a,l[c++]);else{let f=l[c+-u];for(let h=-u;h>0;h--)s(l[c++],a,f);c++}}}this.nodeSet=new Er(t.map((l,a)=>tt.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:o[a],top:n.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=Ul(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(qv),this.states=Ul(e.states,Uint32Array),this.data=Ul(e.stateData),this.goto=Ul(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(l=>typeof l=="number"?new io(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,n){let o=new nd(this,e,t,n);for(let s of this.wrappers)o=s(o,e,t,n);return o}getGoto(e,t,n=!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&&n)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 n=this.data;for(let o=0;o<2;o++)for(let s=this.stateSlot(e,o?2:1),i;;s+=3){if((i=n[s])==65535)if(n[s+1]==1)i=n[s=Dr(n,s+2)];else{if(n[s+1]==2)return Dr(n,s+2);break}if(i==t||i==0)return Dr(n,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,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),o=n?t(n):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=Dr(this.data,s+2);else break;o=t(Dr(this.data,s+1))}return o}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Dr(this.data,n+2);else break;if(!(this.data[n+2]&1)){let o=this.data[n+1];t.some((s,i)=>i&1&&s==o)||t.push(this.data[n],o)}}return t}configure(e){let t=Object.assign(Object.create(Jo.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let o=e.tokenizers.find(s=>s.from==n);return o?o.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,o)=>{let s=e.specializers.find(l=>l.from==n.external);if(!s)return n;let i=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[o]=qv(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),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let i=t.indexOf(s);i>=0&&(n[i]=!0)}let o=null;for(let s=0;s<t.length;s++)if(!n[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 rd(e,n,o)}static deserialize(e){return new Jo(e)}};function Dr(r,e){return r[e]|r[e+1]<<16}function GR(r){let e=null;for(let t of r){let n=t.p.stoppedAt;(t.pos==t.p.stream.end||n!=null&&t.pos>n)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function qv(r){if(r.external){let e=r.extend?1:0;return(t,n)=>r.external(t,n)<<1|e}return r.get}var sd=Jo.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 rr=require("@vuu-ui/vuu-utils");var Wt,Yv=class{constructor(){qt(this,Wt,void 0)}setFilterCombinatorOp(e,t=j(this,Wt)){(0,rr.isMultiClauseFilter)(t)&&t.op===e||Pn(this,Wt,{op:e,filters:[j(this,Wt)]})}add(e){if(j(this,Wt)===void 0)Pn(this,Wt,e);else if((0,rr.isMultiClauseFilter)(j(this,Wt)))j(this,Wt).filters.push(e);else throw Error("Invalid filter passed to FilterExpression")}setColumn(e,t=j(this,Wt)){if((0,rr.isMultiClauseFilter)(t)){let n=t.filters.at(-1);n&&this.setColumn(e,n)}else t&&(t.column=e)}setOp(e,t=j(this,Wt)){if((0,rr.isMultiClauseFilter)(t)){let n=t.filters.at(-1);n&&this.setOp(e,n)}else t&&(t.op=e)}setValue(e,t=j(this,Wt)){var n;if((0,rr.isMultiClauseFilter)(t)){let o=t.filters.at(-1);o&&this.setValue(e,o)}else(0,rr.isMultiValueFilter)(t)?((n=t.values)!=null||(t.values=[]),t.values.push(e)):(0,rr.isSingleValueFilter)(t)&&(t.value=e)}toJSON(e=j(this,Wt)){return this.name?{...e,name:this.name}:e}};Wt=new WeakMap;var Uj=sd.configure({strict:!0});var nu=require("@vuu-ui/vuu-utils"),qR=require("react");var{KEY:nq}=nu.metadataKeys;var XR=r=>r.type==="vuu-links";var YR=r=>r.type==="vuu-menu",ru=r=>YR(r)||XR(r),ou=r=>r.type==="vuu-link-created"||r.type==="vuu-link-removed";var id=require("react"),JR=require("@vuu-ui/vuu-data");var lo=require("@vuu-ui/vuu-utils"),Qe=require("react"),{SELECTED:_l}=lo.metadataKeys;function Jv({dataSource:r,onConfigChange:e,onFeatureEnabled:t,onFeatureInvocation:n,onSizeChange:o,onSubscribed:s,range:i={from:0,to:0},renderBufferSize:l=0,viewportRowCount:a}){let[,c]=(0,Qe.useState)(null),u=(0,Qe.useRef)(!0),f=(0,Qe.useRef)(!1),h=(0,Qe.useRef)({from:0,to:0}),d=(0,Qe.useRef)(null),p=(0,Qe.useRef)([]),m=(0,Qe.useMemo)(()=>new ld((0,lo.getFullRange)(i)),[]),g=(0,Qe.useCallback)(b=>{for(let w of b)m.add(w);p.current=m.data,f.current=!0},[m]),y=(0,Qe.useCallback)(b=>{b.type==="subscribed"?s==null||s(b):b.type==="viewport-update"?(typeof b.size=="number"&&(o==null||o(b.size),m.setRowCount(b.size)),b.rows?g(b.rows):typeof b.size=="number"&&(p.current=m.data,f.current=!0)):ru(b)?t==null||t(b):ou(b)?n==null||n(b):console.log(`useDataSource unexpected message ${b.type}`)},[m,t,n,o,s,g]);(0,Qe.useEffect)(()=>()=>{d.current&&(cancelAnimationFrame(d.current),d.current=null),u.current=!1},[]);let C=(0,Qe.useCallback)(()=>{u.current&&(f.current&&(c({}),f.current=!1),d.current=requestAnimationFrame(C))},[c]);(0,Qe.useEffect)(()=>{d.current=requestAnimationFrame(C)},[C]);let v=(0,Qe.useCallback)(b=>{let{from:w}=r.range,k={from:w,to:w+b},D=(0,lo.getFullRange)(k,l);m.setRange(D),r.range=h.current=D,r.emit("range",k)},[r,m,l]),x=(0,Qe.useCallback)(b=>{let w=(0,lo.getFullRange)(b,l);m.setRange(w),r.range=h.current=w,r.emit("range",b)},[r,m,l]),S=(0,Qe.useCallback)(()=>m.getSelectedRows(),[m]);return(0,Qe.useEffect)(()=>{r==null||r.subscribe({range:h.current},y)},[r,y,e]),(0,Qe.useEffect)(()=>{console.log(`adjust range as rowCount chnaged ${a}`),v(a)},[v,a]),{data:p.current,getSelectedRows:S,range:h.current,setRange:x,dataSource:r}}var ld=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 lo.WindowRange(e,t),this.data=new Array(t-e),this.rowCount=0}add(e){var n;let[t]=e;if(this.isWithinRange(t)){let o=t-this.range.from;this.data[o]=e;let s=e[_l],i=(n=this.data[o-1])==null?void 0:n[_l];i===0&&s?this.data[o-1][_l]=2:i===2&&!s&&(this.data[o-1][_l]=0)}}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[n,o]=this.range.overlap(e,t),s=new Array(Math.max(0,t-e));for(let i=n;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[_l]===1)}};var yi=require("react"),Zv=({onDrop:r})=>{let e=(0,yi.useRef)(),t=(0,yi.useRef)(null),n=(0,yi.useCallback)(()=>{console.log("handleDropSettle"),e.current=void 0,t.current=null},[]),{draggable:o,draggedItemIndex:s,onMouseDown:i}=Yn({allowDragDrop:!0,draggableClassName:"vuuTable-headerCell",orientation:"horizontal",containerRef:t,itemQuery:".vuuTable-headerCell",onDrop:r,onDropSettle:n}),l=(0,yi.useCallback)(a=>{let{clientX:c,clientY:u}=a;console.log("useDraggableColumn handleHeaderCellDragStart means mouseDown fired on a column in RowBasedTable");let h=a.target.closest(".vuuTable-headerCell");t.current=h==null?void 0:h.closest("[role='row']");let{dataset:{idx:d="-1"}}=h;e.current={clientX:c,clientY:u,idx:d},i==null||i(a)},[i]);return{draggable:o,draggedItemIndex:s,onHeaderCellDragStart:l}};var o0=require("@vuu-ui/vuu-utils"),nt=require("react");function ZR(r,...e){let t=new Set(r);for(let n of e)for(let o of n)t.add(o);return t}var ad="ArrowUp",cd="ArrowDown",ud="ArrowLeft",fd="ArrowRight";var hd="Home",dd="End",pd="PageUp",md="PageDown";var eP=new Set(["Enter","Delete"," "]),tP=new Set(["Tab"]),nP=new Set(["ArrowRight","ArrowLeft"]),e0=new Set([hd,dd,pd,md,cd,ud,fd,ad]),rP=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),vq=ZR(eP,e0,nP,rP,tP);var oP=["Home","End","PageUp","PageDown"],t0=r=>oP.includes(r),n0=r=>e0.has(r);var r0=r=>`.vuuTable-headers .vuuTable-headerCell:nth-child(${r+1})`,sP=(r,e)=>`.vuuTable-body > [aria-rowindex='${r}'] > [role='cell']:nth-child(${e+1})`,iP=[-1,-1];function lP(r,[e,t],n,o){return r===ad?e>-1?[e-1,t]:[e,t]:r===cd?e===-1?[0,t]:e===o-1?[e,t]:[e+1,t]:r===fd?t<n-1?[e,t+1]:[e,t]:r===ud?t>0?[e,t-1]:[e,t]:[e,t]}var s0=({columnCount:r=0,containerRef:e,disableHighlightOnFocus:t,data:n,requestScroll:o,rowCount:s=0,viewportRange:i})=>{var D;let{from:l,to:a}=i,c=(0,nt.useRef)([-1,-1]),u=(0,nt.useRef)(),f=(0,nt.useRef)([-1,0]),h=(0,nt.useCallback)(([T,M])=>{var R;let E=T===-1?r0(M):sP(T,M);return(R=e.current)==null?void 0:R.querySelector(E)},[e]),d=T=>T==null?void 0:T.closest("[role='columnHeader'],[role='cell']"),p=T=>{var M,E;if(T.role==="columnHeader")return[-1,parseInt((M=T.dataset.idx)!=null?M:"-1",10)];{let R=T.closest("[role='row']");if(R){let A=parseInt((E=R.ariaRowIndex)!=null?E:"-1",10),O=Array.from(R.childNodes).indexOf(T);return[A,O]}}return iP},m=(0,nt.useCallback)(T=>{var M;if(e.current){let E=h(T);E?(E!==u.current&&((M=u.current)==null||M.setAttribute("tabindex",""),u.current=E,E.setAttribute("tabindex","0")),E.focus()):(0,o0.withinRange)(T[0],i)||(u.current=void 0,o==null||o({type:"scroll-page",direction:"up"}))}},[e,h,o,i]),g=(0,nt.useCallback)((T,M,E=!1)=>{let R=[T,M];f.current=R,m(R),E&&(c.current=R)},[m]),y=(0,nt.useCallback)(()=>{var T;(T=u.current)==null||T.setAttribute("tabindex",""),u.current=void 0},[]),C=(0,nt.useCallback)(async(T,M)=>{switch(T){case md:o==null||o({type:"scroll-page",direction:"down"});break;case pd:o==null||o({type:"scroll-page",direction:"up"});break;case hd:o==null||o({type:"scroll-end",direction:"home"});break;case dd:o==null||o({type:"scroll-end",direction:"end"});break}return M},[o]),v=(0,nt.useCallback)(()=>{var T;if(t!==!0&&(T=e.current)!=null&&T.contains(document.activeElement)){let M=d(document.activeElement);M&&(c.current=p(M))}},[t,e]),x=(0,nt.useCallback)(async T=>{let[M,E]=t0(T)?await C(T,f.current):lP(T,f.current,r,s),[R,A]=f.current;(M!==R||E!==A)&&g(M,E,!0)},[r,C,s,g]),S=(0,nt.useCallback)(T=>{n.length>0&&n0(T.key)&&(T.preventDefault(),T.stopPropagation(),x(T.key))},[n,x]),b=(0,nt.useCallback)(T=>{let M=T.target,E=d(M);if(E){let[R,A]=p(E);g(R,A)}},[g]),w=(0,nt.useMemo)(()=>({onClick:b,onFocus:v,onKeyDown:S}),[b,v,S]);(0,nt.useLayoutEffect)(()=>{let{current:T}=f,M=T[0]>=l&&T[0]<=a;u.current&&!M?y():!u.current&&M&&m(T)},[m,l,a,y]);let k=((D=e.current)==null?void 0:D.firstChild)!=null;return(0,nt.useEffect)(()=>{var T;if(k&&u.current===void 0){let M=(T=e.current)==null?void 0:T.querySelector(r0(0));M&&(M.setAttribute("tabindex","0"),u.current=M)}},[e,k]),w};var Mr=require("@vuu-ui/vuu-utils"),ao=require("react");var es=require("react");var Zo=new Map,l0=(r,e,t)=>{switch(t){case"height":return e.height;case"clientHeight":return r.clientHeight;case"clientWidth":return r.clientWidth;case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(r.scrollHeight);case"scrollWidth":return Math.ceil(r.scrollWidth);case"width":return e.width;default:return 0}},i0=new ResizeObserver(r=>{for(let e of r){let{target:t,borderBoxSize:n,contentBoxSize:o}=e,s=Zo.get(t);if(s){let[{blockSize:i,inlineSize:l}]=n,[{blockSize:a,inlineSize:c}]=o,{onResize:u,measurements:f}=s,h=!1;for(let[d,p]of Object.entries(f)){let m=l0(t,{height:i,width:l,contentHeight:a,contentWidth:c},d);m!==p&&(h=!0,f[d]=m)}h&&u&&u(f)}}});function a0(r,e,t,n=!1){let o=(0,es.useRef)(e),s=(0,es.useCallback)(i=>{let{width:l,height:a}=i.getBoundingClientRect(),{clientWidth:c,clientHeight:u}=i;return o.current.reduce((f,h)=>(f[h]=l0(i,{width:l,height:a,contentHeight:u,contentWidth:c},h),f),{})},[]);(0,es.useEffect)(()=>{let i=r.current;async function l(){Zo.set(i,{measurements:{}}),await document.fonts.ready;let a=Zo.get(i);if(a){let c=s(i);a.measurements=c,i0.observe(i),n&&t(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(Zo.has(i))throw Error("useResizeObserver attemping to observe same element twice");l()}return()=>{i&&Zo.has(i)&&(i0.unobserve(i),Zo.delete(i))}},[s,r]),(0,es.useEffect)(()=>{let i=r.current,l=Zo.get(i);if(l){if(o.current!==e){o.current=e;let a=s(i);l.measurements=a}l.onResize=t}},[e,s,r,t])}var aP=["clientHeight","clientWidth"],c0=r=>Number.isFinite(r),cP={height:"100%",width:"100%"},uP=(r,e)=>(0,Mr.isValidNumber)(r)&&(0,Mr.isValidNumber)(e)?{height:`${r}px`,width:`${e}px`}:cP,fP=(r,e)=>{if((0,Mr.isValidNumber)(r)&&(0,Mr.isValidNumber)(e))return{height:r,width:e}},gd=({defaultHeight:r=0,defaultWidth:e=0,height:t,width:n})=>{let o=(0,ao.useRef)(null),[s,i]=(0,ao.useState)({css:uP(t,n),inner:fP(t,n),outer:{height:t!=null?t:"100%",width:n!=null?n:"100%"}});(0,ao.useMemo)(()=>{i(a=>{let{inner:c,outer:u}=a;if((0,Mr.isValidNumber)(t)&&(0,Mr.isValidNumber)(n)&&c&&u){let{height:f,width:h}=c,{height:d,width:p}=u;if(d!==t||p!==n){let m=(0,Mr.isValidNumber)(d)?d-f:0,g=(0,Mr.isValidNumber)(p)?p-h:0;return{...a,outer:{height:t,width:n},inner:{height:t-m,width:n-g}}}}return a})},[t,n]);let l=(0,ao.useCallback)(({clientWidth:a,clientHeight:c})=>{i(u=>{let{css:f,inner:h,outer:d}=u;return c0(c)&&c0(a)&&(a!==(h==null?void 0:h.width)||c!==(h==null?void 0:h.height))?{css:f,outer:d,inner:{width:Math.floor(a)||e,height:Math.floor(c)||r}}:u})},[r,e]);return a0(o,aP,l,!0),{containerRef:o,cssSize:s.css,outerSize:s.outer,innerSize:s.inner}};var co=require("@vuu-ui/vuu-utils"),Gl=require("react"),{IDX:hP}=co.metadataKeys,dP=[],Ql=({selectionModel:r,onSelectionChange:e})=>{let t=(0,Gl.useRef)(-1),n=(0,Gl.useRef)(dP);return(0,Gl.useCallback)((s,i,l)=>{let{[hP]:a}=s,{current:c}=t,{current:u}=n,h=((0,co.isRowSelected)(s)?co.deselectItem:co.selectItem)(r,u,a,i,l,c);n.current=h,t.current=a,e&&e(h)},[e,r])};var pe=require("@vuu-ui/vuu-utils"),u0=require("react"),pP=100,f0=pe.metadataKeys.count,mP=({serverDataType:r})=>r===void 0,gP=r=>{var e;if((0,pe.isTypeDescriptor)(r.type))return(0,pe.getCellRenderer)((e=r.type)==null?void 0:e.renderer)},h0=(r,e)=>{if(r.serverDataType)return r.serverDataType;if(e){let t=e.columns.find(n=>n.name===r.name);if(t)return t.serverDataType}return"string"},bP=r=>r.type==="columnSettings",yP=r=>r.type==="tableSettings",xP=(r,e)=>{switch(e.type){case"init":return d0(e);case"moveColumn":return CP(r,e);case"resizeColumn":return TP(r,e);case"setTableSchema":return EP(r,e);case"hideColumns":return wP(r,e);case"showColumns":return SP(r,e);case"pinColumn":return kP(r,e);case"updateColumnProp":return xi(r,e);case"tableConfig":return p0(r,e);default:return console.log(`unhandled action ${e.type}`),r}},bd=(r,e)=>{let[t,n]=(0,u0.useReducer)(xP,{tableConfig:r,dataSourceConfig:e},d0);return{columns:t.columns,dispatchColumnAction:n,headings:t.headings}};function d0({dataSourceConfig:r,tableConfig:e}){let t=e.columns.map(yd(e)),n=t.some(pe.isPinned)?(0,pe.sortPinnedColumns)(t):t,o={columns:n,headings:(0,pe.getTableHeadings)(n)};if(r){let{columns:s,...i}=r;return p0(o,{type:"tableConfig",...i})}else return o}var vP=(r,e)=>e==="uppercase"?r.toUpperCase():e==="capitalize"?r[0].toUpperCase()+r.slice(1).toLowerCase():r,yd=r=>(e,t)=>{let n=h0(e,r.tableSchema),{columnDefaultWidth:o=pP,columnFormatHeader:s}=r,{align:i=(0,pe.getDefaultAlignment)(n),key:l,name:a,label:c=a,width:u=o,...f}=e,h={...f,align:i,CellRenderer:gP(e),label:vP(c,s),key:l!=null?l:t+f0,name:a,originalIdx:t,serverDataType:n,valueFormatter:(0,pe.getValueFormatter)(e),width:u};return(0,pe.isGroupColumn)(h)&&(h.columns=h.columns.map(d=>yd(r)(d,d.key))),h};function CP(r,{column:e,moveBy:t,moveTo:n}){let{columns:o}=r;if(typeof t=="number"){let s=o.indexOf(e),i=o.slice(),[l]=i.splice(s,1);return i.splice(s+t,0,l),{...r,columns:i}}else if(typeof n=="number")return{...r,columns:(0,pe.moveItemDeprecated)(o,e,n)};return r}function wP(r,{columns:e}){return e.some(t=>t.hidden!==!0)?e.reduce((t,n)=>n.hidden!==!0?xi(t,{type:"updateColumnProp",column:n,hidden:!0}):t,r):r}function SP(r,{columns:e}){return e.some(t=>t.hidden)?e.reduce((t,n)=>n.hidden?xi(t,{type:"updateColumnProp",column:n,hidden:!1}):t,r):r}function TP(r,{column:e,phase:t,width:n}){let o="updateColumnProp",s=t!=="end";switch(t){case"begin":return xi(r,{type:o,column:e,resizing:s});case"end":return xi(r,{type:o,column:e,resizing:s,width:n});case"resize":return xi(r,{type:o,column:e,width:n});default:throw Error(`useTableModel.resizeColumn, invalid resizePhase ${t}`)}}function EP(r,{tableSchema:e}){let{columns:t}=r;if(t.some(mP)){let n=t.map(o=>{var i;let s=h0(o,e);return{...o,align:(i=o.align)!=null?i:(0,pe.getDefaultAlignment)(s),serverDataType:s}});return{...r,columns:n,tableSchema:e}}else return{...r,tableSchema:e}}function kP(r,e){let{columns:t}=r,{column:n,pin:o}=e;return t=(0,pe.updateColumn)(t,n.name,{pin:o}),t=(0,pe.sortPinnedColumns)(t),console.log({withPins:t}),{...r,columns:t}}function xi(r,e){let{columns:t}=r,{align:n,column:o,hidden:s,label:i,resizing:l,width:a}=e,c={};return(n==="left"||n==="right")&&(c.align=n),typeof i=="string"&&(c.label=i),typeof l=="boolean"&&(c.resizing=l),typeof s=="boolean"&&(c.hidden=s),typeof a=="number"&&(c.width=a),t=(0,pe.updateColumn)(t,o.name,c),{...r,columns:t}}function p0(r,{columns:e,confirmed:t,filter:n,groupBy:o,sort:s}){let i=e&&e.length>0,l=o!==void 0,a=typeof(n==null?void 0:n.filter)=="string",c=s&&s.sortDefs.length>0,u=r;return i&&(u={...r,columns:e.map((f,h)=>{let d=(0,pe.getColumnName)(f),p=h+f0,m=(0,pe.findColumn)(u.columns,d);return m?m.key===p?m:{...m,key:p}:yd(r)({name:f},h)})}),l&&(u={...r,columns:(0,pe.applyGroupByToColumns)(u.columns,o,t)}),c&&(u={...r,columns:(0,pe.applySortToColumns)(u.columns,s)}),a?u={...r,columns:(0,pe.applyFilterToColumns)(u.columns,n)}:u.columns.some(pe.isFilteredColumn)&&(u={...r,columns:(0,pe.stripFilterFromColumns)(u.columns)}),u}var Lt=require("react"),m0=r=>{let{scrollLeft:e,scrollTop:t}=r,{clientHeight:n,clientWidth:o,scrollHeight:s,scrollWidth:i}=r,l=e/(i-o),a=t/(s-n);return[l,a]},DP=r=>{let{clientHeight:e,clientWidth:t,scrollHeight:n,scrollWidth:o}=r;return[o-t,n-e]},g0=({onAttach:r,onDetach:e})=>{let t=(0,Lt.useRef)(null);return(0,Lt.useCallback)(o=>{if(o)t.current=o,r==null||r(o);else if(t.current){let{current:s}=t;t.current=o,e==null||e(s)}},[r,e])},b0=({onHorizontalScroll:r,onVerticalScroll:e,viewport:t})=>{let n=(0,Lt.useRef)(!1),o=(0,Lt.useRef)({scrollTop:0,scrollLeft:0}),s=(0,Lt.useRef)(null),i=(0,Lt.useRef)(null),{maxScrollContainerScrollHorizontal:l,maxScrollContainerScrollVertical:a}=t,c=(0,Lt.useCallback)(()=>{let{current:C}=i,{current:v}=s,{current:x}=n;if(x)n.current=!1;else if(C&&v){let[S,b]=m0(v),[w,k]=DP(C),D=Math.round(S*w),T=Math.round(b*k);console.log(`pctScrollTop ${b}, maxScrollTop ${k} rootScrollTop ${T}`),C.scrollTo({left:D,top:T,behavior:"auto"})}},[]),u=(0,Lt.useCallback)(()=>{let{current:C}=i,{current:v}=s,{current:x}=o;if(C&&v){let{scrollLeft:S,scrollTop:b}=C,[w,k]=m0(C);n.current=!0,v.scrollLeft=Math.round(w*l),v.scrollTop=Math.round(k*a),x.scrollTop!==b&&(x.scrollTop=b,e==null||e(b,k)),x.scrollLeft!==S&&(x.scrollLeft=S,r==null||r(S))}},[l,a,r,e]),f=(0,Lt.useCallback)(C=>{s.current=C,C.addEventListener("scroll",c,{passive:!0})},[c]),h=(0,Lt.useCallback)(C=>{s.current=null,C.removeEventListener("scroll",c)},[c]),d=(0,Lt.useCallback)(C=>{i.current=C,C.addEventListener("scroll",u,{passive:!0})},[u]),p=(0,Lt.useCallback)(C=>{i.current=null,C.removeEventListener("scroll",u)},[u]),m=g0({onAttach:d,onDetach:p}),g=g0({onAttach:f,onDetach:h}),y=(0,Lt.useCallback)(C=>{let{current:v}=i;if(v){if(n.current=!1,C.type==="scroll-page"){let{clientHeight:x,scrollLeft:S,scrollTop:b}=v,{direction:w}=C,k=w==="down"?x:-x,D=Math.min(Math.max(0,b+k),a);v.scrollTo({top:D,left:S,behavior:"auto"})}else if(C.type==="scroll-end"){let{direction:x}=C,S=x==="end"?a:0;v.scrollTo({top:S,left:v.scrollLeft,behavior:"auto"})}}},[a]);return{scrollbarContainerRef:g,contentContainerRef:m,requestScroll:y}};var Rr=require("react"),su=require("@vuu-ui/vuu-utils"),MP=15e5,RP={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},PP=r=>{let e=0,t=0,n=0;for(let o of r){let{hidden:s,pin:i,width:l}=o,a=s?0:l;i==="left"?e+=a:i==="right"?t+=a:n+=a}return{pinnedWidthLeft:e+4,pinnedWidthRight:t+4,unpinnedWidth:n}},jl=({columns:r,headerHeight:e,headings:t,rowCount:n,rowHeight:o,size:s})=>{let i=(0,Rr.useRef)(0),a=Math.min(n,MP)*o,u=n*o-a,{pinnedWidthLeft:f,pinnedWidthRight:h,unpinnedWidth:d}=(0,Rr.useMemo)(()=>PP(r),[r]),[p,m]=(0,Rr.useMemo)(()=>(0,su.actualRowPositioning)(o),[o]),[g,y]=(0,Rr.useMemo)(()=>u?(0,su.virtualRowPositioning)(o,u,i):[p,m],[m,p,u,o]),C=(0,Rr.useCallback)(v=>{i.current=v},[]);return(0,Rr.useMemo)(()=>{var v;if(s){let x=t.length,S=15,b=f+d+h,w=b>s.width?S:0,k=e*(1+x),D=a-(((v=s==null?void 0:s.height)!=null?v:0)-w)+k,T=b-s.width+f,M=(s.height-e)/o,E=Number.isInteger(M)?M+1:Math.ceil(M),R=s.height-k,A=a>R?S:0;return{contentHeight:a,getRowAtPosition:y,getRowOffset:g,horizontalScrollbarHeight:w,maxScrollContainerScrollHorizontal:T,maxScrollContainerScrollVertical:D,pinnedWidthLeft:f,pinnedWidthRight:h,rowCount:E,contentWidth:b,setPctScrollTop:C,totalHeaderHeight:k,verticalScrollbarWidth:A,viewportBodyHeight:R}}else return RP},[s,t.length,f,d,h,a,e,o,y,g,C])};var ql=require("@vuu-ui/vuu-utils"),nn=require("react"),y0=({columns:r,getRowAtPosition:e,setRange:t,viewportMeasurements:n})=>{let o=(0,nn.useRef)(-1),{rowCount:s,contentWidth:i,maxScrollContainerScrollHorizontal:l}=n,a=i-l,c=(0,nn.useRef)(0),[u,f]=(0,nn.useMemo)(()=>(0,ql.getColumnsInViewport)(r,c.current,c.current+a),[a,r]),h=(0,nn.useRef)(f);(0,nn.useEffect)(()=>{p(u)},[u]);let[d,p]=(0,nn.useState)(u),m=(0,nn.useCallback)(y=>{c.current=y;let[C,v]=(0,ql.getColumnsInViewport)(r,y,y+a);(0,ql.itemsChanged)(d,C)&&(h.current=v,p(C))},[a,r,d]),g=(0,nn.useCallback)(y=>{let C=e(y);C!==o.current&&(o.current=C,console.log("setRange from handleVerticalScroll"),t({from:C,to:C+s}))},[e,t,s]);return{columnsWithinViewport:d,onHorizontalScroll:m,onVerticalScroll:g,virtualColSpan:h.current}};var IP=[],{KEY:AP,IS_EXPANDED:x0,IS_LEAF:v0}=or.metadataKeys,w0=({config:r,dataSource:e,headerHeight:t,onConfigChange:n,onFeatureEnabled:o,onFeatureInvocation:s,onSelectionChange:i,renderBufferSize:l=0,rowHeight:a,selectionModel:c,...u})=>{var Pe,Je;let[f,h]=(0,Ve.useState)(e.size),d=(0,Ve.useRef)(!1),p=(0,Ve.useRef)();if(p.current=e,e===void 0)throw Error("no data source provided to Vuu Table");let m=gd(u),g=(0,Ve.useCallback)(ne=>{h(ne)},[]),{columns:y,dispatchColumnAction:C,headings:v}=bd(r,e.config),{getRowAtPosition:x,getRowOffset:S,setPctScrollTop:b,...w}=jl({columns:y,headerHeight:t,headings:v,rowCount:f,rowHeight:a,size:m.innerSize});console.log(`rowCount from viewportMeasurements ${w.rowCount}`);let k=(0,Ve.useCallback)(({tableSchema:ne})=>{ne?(d.current=!0,C({type:"setTableSchema",tableSchema:ne})):console.log("usbscription message with no schema")},[C]),D=(0,Ve.useCallback)(ne=>{e.select(ne),i==null||i(ne)},[e,i]),T=Ql({onSelectionChange:D,selectionModel:c}),{data:M,getSelectedRows:E,range:R,setRange:A}=Jv({dataSource:e,onFeatureEnabled:o,onFeatureInvocation:s,onSubscribed:k,onSizeChange:g,renderBufferSize:l,viewportRowCount:w.rowCount}),O=(0,Ve.useRef)();O.current=M;let L=(0,Ve.useCallback)(ne=>{d.current=!0,console.log("onPersistentColumnOperation, dispatchColumnAction",{action:ne}),C(ne)},[C]),P=fl({dataSource:e,onPersistentColumnOperation:L}),I=(0,Ve.useCallback)((ne,me=!1,Ie)=>{e&&(e.sort=(0,or.applySort)(e.sort,ne,me,Ie))},[e]),B=(0,Ve.useCallback)((ne,me,Ie)=>{let ae=y.find(Me=>Me.name===me);if(ae)ne==="end"&&(d.current=!0),C({type:"resizeColumn",phase:ne,column:ae,width:Ie});else throw Error(`useDataTable.handleColumnResize, column ${me} not found`)},[y,C]),H=(0,Ve.useCallback)((ne,me)=>{let Ie=(0,or.isJsonGroup)(me,ne),ae=ne[AP];if(ne[x0]){if(e.closeTreeNode(ae,!0),Ie){let Me=y.indexOf(me);e.getRowsAtDepth(Me+1).some(Z=>Z[x0]||Z[v0])||C({type:"hideColumns",columns:y.slice(Me+2)})}}else if(e.openTreeNode(ae),Ie){let Me=e.getChildRows(ae),G=y.indexOf(me)+1,Z=[y[G]];Me.some(re=>re[v0])&&Z.push(y[G+1]),Z.some(re=>re.hidden)&&C({type:"showColumns",columns:Z})}},[y,e,C]),{onVerticalScroll:z,onHorizontalScroll:V,columnsWithinViewport:Q,virtualColSpan:q}=y0({columns:y,getRowAtPosition:x,setRange:A,viewportMeasurements:w}),Y=(0,Ve.useCallback)((ne,me)=>{b(me),z(ne)},[z,b]),{requestScroll:_,...J}=b0({onHorizontalScroll:V,onVerticalScroll:Y,viewport:w,viewportHeight:((Je=(Pe=m.innerSize)==null?void 0:Pe.height)!=null?Je:0)-t}),he=s0({columnCount:y.length,containerRef:m.containerRef,data:M,requestScroll:_,rowCount:e==null?void 0:e.size,viewportRange:R}),le=(0,Ve.useCallback)(ne=>{ne?e&&e.groupBy.includes(ne.name)&&(e.groupBy=e.groupBy.filter(me=>me!==ne.name)):e.groupBy=[]},[e]),Fe=(0,Ve.useCallback)((ne,me)=>{let Ie=e.columns[ne],ae=(0,or.moveItemDeprecated)(e.columns,Ie,me);ae!==e.columns&&(e.columns=ae,C({type:"tableConfig",columns:ae}))},[e,C]),Ce=Zv({onDrop:Fe});(0,Ve.useEffect)(()=>{p.current&&(d.current=!0,C({type:"init",tableConfig:r,dataSourceConfig:p.current.config}))},[r,C]),(0,Ve.useEffect)(()=>{e.on("config",(ne,me)=>{d.current=!0,C({type:"tableConfig",...ne,confirmed:me})})},[e,C]),(0,Ve.useMemo)(()=>{d.current&&(n==null||n({...r,columns:y}),d.current=!1)},[y,r,n]);let[Le]=(0,C0.useContextMenu)(),De=(0,Ve.useCallback)(ne=>{var Z;let{current:me}=O,{current:Ie}=p,ae=ne.target,Me=ae==null?void 0:ae.closest("div[role='cell']"),G=ae==null?void 0:ae.closest(".vuuTableRow");if(Me&&G&&me&&Ie){let{columns:re,selectedRowsCount:fe}=Ie,Ee=(0,or.buildColumnMap)(re),ze=parseInt((Z=G.ariaRowIndex)!=null?Z:"-1"),we=Array.from(G.childNodes).indexOf(Me),X=me.find(([oe])=>oe===ze),te=re[we];Le(ne,"grid",{columnMap:Ee,columnName:te,row:X,selectedRows:fe===0?IP:E(),viewport:e==null?void 0:e.viewport})}},[e==null?void 0:e.viewport,E,Le]);return{columns:y,columnsWithinViewport:Q,containerMeasurements:m,containerProps:he,data:M,dispatchColumnAction:C,getRowOffset:S,handleContextMenuAction:P,headings:v,onColumnResize:B,onContextMenu:De,onRemoveColumnFromGroupBy:le,onRowClick:T,onSort:I,onToggleGroup:H,virtualColSpan:q,scrollProps:J,rowCount:f,viewportMeasurements:w,...Ce}};var T0=W(require("classnames"));var E0=require("@vuu-ui/vuu-utils"),Pr=require("react/jsx-runtime"),ts="vuuTable",LP=({allowConfigEditing:r=!1,className:e,config:t,dataSource:n,headerHeight:o=25,height:s,id:i,onConfigChange:l,onFeatureEnabled:a,onFeatureInvocation:c,onSelectionChange:u,onShowConfigEditor:f,renderBufferSize:h=0,rowHeight:d=20,selectionModel:p="extended",style:m,width:g,...y})=>{let C=(0,iu.useIdMemo)(i),{containerMeasurements:{containerRef:v,innerSize:x,outerSize:S},containerProps:b,dispatchColumnAction:w,draggable:k,draggedItemIndex:D,handleContextMenuAction:T,scrollProps:M,viewportMeasurements:E,...R}=w0({config:t,dataSource:n,renderBufferSize:h,headerHeight:o,height:s,onConfigChange:l,onFeatureEnabled:a,onFeatureInvocation:c,onSelectionChange:u,rowHeight:d,selectionModel:p,width:g}),A={...S,"--content-height":`${E.contentHeight}px`,"--horizontal-scrollbar-height":`${E.horizontalScrollbarHeight}px`,"--content-width":`${E.contentWidth}px`,"--pinned-width-left":`${E.pinnedWidthLeft}px`,"--pinned-width-right":`${E.pinnedWidthRight}px`,"--header-height":`${o}px`,"--row-height":`${d}px`,"--table-height":`${x==null?void 0:x.height}px`,"--table-width":`${x==null?void 0:x.width}px`,"--total-header-height":`${E.totalHeaderHeight}px`,"--vertical-scrollbar-width":`${E.verticalScrollbarWidth}px`,"--viewport-body-height":`${E.viewportBodyHeight}px`},O=(0,T0.default)(ts,e,{[`${ts}-zebra`]:t.zebraStripes,[`${ts}-loading`]:(0,E0.isDataLoading)(R.columns)});return(0,Pr.jsx)(S0.ContextMenuProvider,{menuActionHandler:T,menuBuilder:ul(n),children:(0,Pr.jsxs)("div",{...y,...b,className:O,id:C,ref:v,style:A,tabIndex:-1,children:[x?(0,Pr.jsx)("div",{className:`${ts}-scrollbarContainer`,ref:M.scrollbarContainerRef,children:(0,Pr.jsx)("div",{className:`${ts}-scrollbarContent`})}):null,x?(0,Pr.jsxs)("div",{className:`${ts}-contentContainer`,ref:M.contentContainerRef,children:[(0,Pr.jsx)(Bv,{...R,headerHeight:o,tableId:C}),k]}):null,r&&x?(0,Pr.jsx)(iu.Button,{className:`${ts}-settings`,"data-icon":"settings",onClick:f,variant:"secondary"}):null]})})};var k0=W(require("classnames")),Ci=require("@vuu-ui/vuu-utils");var vi=require("react/jsx-runtime"),Xl="vuuJsonCell",{IS_EXPANDED:OP,KEY:HP}=Ci.metadataKeys,NP=r=>{let e=r.lastIndexOf("|");return e===-1?"":r.slice(e+1)},BP=({column:r,row:e})=>{let{key:t}=r,n=e[t],o=!1;(0,Ci.isJsonAttribute)(n)&&(n=n.slice(0,-1),o=!0);let s=NP(e[HP]),i=(0,k0.default)({[`${Xl}-name`]:s===n,[`${Xl}-value`]:s!==n,[`${Xl}-group`]:o});if(o){let l=e[OP]?"minus-box":"plus-box";return(0,vi.jsxs)("span",{className:i,children:[(0,vi.jsx)("span",{className:`${Xl}-value`,children:n}),(0,vi.jsx)("span",{className:`${Xl}-toggle`,"data-icon":l})]})}else return n?(0,vi.jsx)("span",{className:i,children:n}):null};(0,Ci.registerComponent)("json",BP,"cell-renderer",{description:"JSON formatter",label:"JSON formatter",serverDataType:"json"});var zP=W(require("classnames")),VP=require("react");var wi=require("react");var M0=require("react/jsx-runtime"),D0=()=>{},FP="vuuColumnResizerNext",Yl=({onDrag:r,onDragEnd:e=D0,onDragStart:t=D0})=>{let n=(0,wi.useRef)(0),o=(0,wi.useCallback)(l=>{l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault();let a=Math.round(l.clientX),c=a-n.current;n.current=a,c!==0&&r(l,c)},[r]),s=(0,wi.useCallback)(l=>{window.removeEventListener("mouseup",s),window.removeEventListener("mousemove",o),e(l)},[e,o]),i=(0,wi.useCallback)(l=>{t(l),n.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,M0.jsx)("div",{className:FP,onMouseDown:i})};var uo=require("react"),Jl=({column:r,onResize:e,rootRef:t})=>{let n=(0,uo.useRef)(0),[o,s]=(0,uo.useState)(!1),{name:i}=r,l=(0,uo.useCallback)(()=>{if(console.log("onResizeStart"),e&&t.current){console.log("handleResizeStart");let{width:u}=t.current.getBoundingClientRect();n.current=Math.round(u),s(!0),e==null||e("begin",i)}},[i,e,t]),a=(0,uo.useCallback)((u,f)=>{if(t.current&&e){let{width:h}=t.current.getBoundingClientRect(),d=Math.round(h)+f;d!==n.current&&d>0&&(e("resize",i,d),n.current=d)}},[i,e,t]),c=(0,uo.useCallback)(()=>{e&&(e("end",i,n.current),setTimeout(()=>{s(!1)},80))},[i,e]);return{isResizing:o,onDrag:a,onDragStart:l,onDragEnd:c}};var R0=require("@vuu-ui/vuu-utils"),P0=W(require("classnames")),I0=require("react"),Ir=(r,e,t)=>(0,I0.useMemo)(()=>{let n=(0,P0.default)(e,{vuuPinFloating:r.pin==="floating",vuuPinLeft:r.pin==="left",vuuPinRight:r.pin==="right",vuuEndPin:t&&r.endPin,[`${e}-editable`]:r.editable,[`${e}-right`]:r.align==="right"}),o=(0,R0.getColumnStyle)(r);return{className:n,style:o}},[r,e,t]);var L0=W(require("classnames")),O0=require("react");var lu=require("react/jsx-runtime"),A0="vuuColumnHeaderPill",ns=({children:r,className:e,column:t,onRemove:n,removable:o,...s})=>{if(o&&typeof n!="function")throw Error("ColumnHeaderPill onRemove prop must be provided if Pill is removable");let i=(0,O0.useCallback)(l=>{l.preventDefault(),l.stopPropagation(),n==null||n(t)},[t,n]);return(0,lu.jsxs)("div",{...s,className:(0,L0.default)(A0,e),children:[r,o?(0,lu.jsx)("span",{className:`${A0}-removeButton`,role:"button","data-icon":"cross",onClick:i}):null]})};var Si=require("react/jsx-runtime"),xd=({column:r,...e})=>{let{name:t,sorted:n}=r,o=typeof n=="number"?n<0?"arrow-down":"arrow-up":n==="A"?"arrow-up":n==="D"?"arrow-down":void 0;return(0,Si.jsxs)(ns,{...e,column:r,children:[(0,Si.jsx)("span",{className:"vuuGroupColumnPill-label",children:t}),o!==void 0?(0,Si.jsx)("span",{"data-icon":o}):null,typeof n=="number"?(0,Si.jsx)("span",{className:"vuuSortPosition",children:Math.abs(n)}):null]})};var Zl=require("react/jsx-runtime"),H0=({column:r})=>{if(!r.sorted)return null;let e=typeof r.sorted=="number"?r.sorted<0?"arrow-down":"arrow-up":r.sorted==="A"?"arrow-up":"arrow-down";return(0,Zl.jsxs)(ns,{column:r,children:[(0,Zl.jsx)("span",{"data-icon":e}),typeof r.sorted=="number"?(0,Zl.jsx)("span",{className:"vuuSortPosition",children:Math.abs(r.sorted)}):null]})};var N0=require("react/jsx-runtime"),$P=require("react");var B0=W(require("classnames")),Ei=require("react");var Ti=require("react/jsx-runtime"),F0=require("react"),vd="vuuTableNextGroupHeaderCell",KP=(r,e)=>r===e?r:e,ea=({column:r,className:e,onRemoveColumn:t,onResize:n,...o})=>{let s=(0,Ei.useRef)(null),{isResizing:i,...l}=Jl({column:r,onResize:n,rootRef:s}),[a,c]=(0,Ei.useState)(r.columns),{className:u,style:f}=Ir(r,vd,!0),h=a.length>1?{removable:!0,onRemove:t}:void 0,d=(0,Ei.useCallback)((p,m)=>{c(g=>{let y=g.slice(),[C]=y.splice(p,1);return m===-1?y.concat(C):(y.splice(m,0,C),y)})},[]);return An(()=>{c(p=>KP(p,r.columns))},[r.columns]),(0,Ti.jsxs)("div",{...o,className:(0,B0.default)(u,"vuuTableNextHeaderCell",e,{[`${vd}-pending`]:r.groupConfirmed===!1}),ref:s,role:"columnheader",style:f,children:[(0,Ti.jsx)(Cl,{allowDragDrop:!0,className:`${vd}-inner`,height:24,onMoveItem:d,overflowPosition:"start",children:a.map(p=>(0,F0.createElement)(xd,{...h,column:p,key:p.key}))}),(0,Ti.jsx)(ns,{column:r,removable:!0,onRemove:t}),r.resizeable!==!1?(0,Ti.jsx)(Yl,{...l}):null]})};var au=require("react");var z0=require("@vuu-ui/vuu-popups"),V0=W(require("classnames")),rs=require("react");var K0=require("react/jsx-runtime"),WP=r=>{if(r){let{bottom:e,left:t}=r.getBoundingClientRect();return{x:t,y:e+6}}},$0=({className:r,column:e,...t})=>{let n=(0,rs.useRef)(null),[o,s]=(0,rs.useState)(!1),[i]=(0,z0.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:WP(n.current)}})},[e,l,i]);return(0,K0.jsx)("span",{...t,className:(0,V0.default)("vuuTable-columnMenu",r,{"vuuTable-columnMenu-open":o}),"data-icon":"more-vert",onClick:a,ref:n})};var W0=W(require("classnames"));var os=require("react/jsx-runtime"),Cd="vuuTableNextHeaderCell",U0=({className:r,column:e,onClick:t,onResize:n,...o})=>{var m;let s=(0,au.useRef)(null),{isResizing:i,...l}=Jl({column:e,onResize:n,rootRef:s}),a=(0,au.useCallback)(g=>{console.log(`click isResizing ${i}`),!i&&(t==null||t(g))},[i,t]),{className:c,style:u}=Ir(e,Cd,!0),f=(0,os.jsx)($0,{column:e}),h=(0,os.jsx)("div",{className:`${Cd}-label`,children:(m=e.label)!=null?m:e.name}),d=(0,os.jsx)(H0,{column:e}),p=e.align==="right"?[d,h,f]:[f,h,d];return(0,os.jsxs)("div",{...o,className:(0,W0.default)(c,r,{[`${Cd}-resizing`]:i}),onClick:a,ref:s,role:"columnheader",style:u,children:[...p,e.resizeable!==!1?(0,os.jsx)(Yl,{...l}):null]})};var lE=require("@vuu-ui/vuu-popups"),il=require("@vuu-ui/vuu-utils"),Mm=W(require("classnames")),aE=require("react");var rn=require("@vuu-ui/vuu-utils"),Y0=W(require("classnames")),ta=require("react");var _0=require("@vuu-ui/vuu-utils"),G0=require("react");var wd=require("react/jsx-runtime"),{IDX:UP}=_0.metadataKeys,_P="vuuTableNextCell",Q0=({column:r,columnMap:e,onDataEdited:t,row:n})=>{let{className:o,style:s}=Ir(r,_P),{CellRenderer:i,name:l,valueFormatter:a}=r,c=e[l],u=(0,G0.useCallback)(f=>(t==null||t(n[UP],l,f),!0),[l,t,n]);return(0,wd.jsx)("div",{className:o,role:"cell",style:s,children:i?(0,wd.jsx)(i,{column:r,columnMap:e,onCommit:u,row:n}):a(n[c])})};var cu=require("@vuu-ui/vuu-utils"),j0=require("react");var q0=W(require("classnames"));var ki=require("react/jsx-runtime"),{IS_LEAF:GP}=cu.metadataKeys,Sd="vuuTableNextGroupCell",X0=({column:r,onClick:e,row:t})=>{let{columns:n}=r,[o,s]=(0,cu.getGroupValueAndOffset)(n,t),{className:i,style:l}=Ir(r,Sd),a=(0,j0.useCallback)(f=>{e==null||e(f,r)},[r,e]),c=t[GP],u=Array(s).fill(0).map((f,h)=>(0,ki.jsx)("span",{className:`${Sd}-spacer`},h));return(0,ki.jsxs)("div",{className:(0,q0.default)(i,"vuuTableNextCell"),role:"cell",style:l,onClick:c?void 0:a,children:[u,c?null:(0,ki.jsx)("span",{className:`${Sd}-toggle`,"data-icon":"triangle-right"}),(0,ki.jsx)("span",{children:o})]})};var uu=require("react/jsx-runtime"),J0=require("react"),{IDX:QP,IS_EXPANDED:jP,SELECTED:qP}=rn.metadataKeys,fo="vuuTableNextRow",Td=(0,ta.memo)(({className:r,columnMap:e,columns:t,row:n,offset:o,onClick:s,onDataEdited:i,onToggleGroup:l,zebraStripes:a=!1,...c})=>{let{[QP]:u,[jP]:f,[qP]:h}=n,d=(0,ta.useCallback)(x=>{let S=x.shiftKey,b=x.ctrlKey||x.metaKey;s==null||s(n,S,b)},[s,n]),{True:p,First:m,Last:g}=rn.RowSelected,y=(0,Y0.default)(fo,r,{[`${fo}-even`]:a&&u%2===0,[`${fo}-expanded`]:f,[`${fo}-selected`]:h&p,[`${fo}-selectedStart`]:h&m,[`${fo}-selectedEnd`]:h&g}),C={transform:`translate3d(0px, ${o}px, 0px)`},v=(0,ta.useCallback)((x,S)=>{((0,rn.isGroupColumn)(S)||(0,rn.isJsonGroup)(S,n))&&(x.stopPropagation(),l==null||l(n,S))},[l,n]);return(0,J0.createElement)("div",{...c,"aria-rowindex":n[0],key:`row-${n[0]}`,role:"row",className:y,onClick:d,style:C},(0,uu.jsx)("span",{className:`${fo}-selectionDecorator vuuStickyLeft`}),t.filter(rn.notHidden).map(x=>{let S=(0,rn.isGroupColumn)(x),b=(0,rn.isJsonColumn)(x);return(0,uu.jsx)(S?X0:Q0,{column:x,columnMap:e,onClick:S||b?v:void 0,onDataEdited:i,row:n},x.key)}),(0,uu.jsx)("span",{className:`${fo}-selectionDecorator vuuStickyRight`}))});Td.displayName="Row";var Z0=require("@vuu-ui/vuu-utils"),XP=r=>typeof r=="string",YP=(r,e)=>XP(e)?e===""?!0:r.value==="lower"&&e.toLowerCase()!==e?"value must be all lowercase":r.value==="upper"&&e.toUpperCase()!==e?"value must be all uppercase":!0:"value must be a string";(0,Z0.registerComponent)("vuu-case",YP,"data-edit-validator",{});var eC=require("@vuu-ui/vuu-utils"),JP=r=>typeof r=="string",ZP="value does not match expected pattern",e1=(r,e)=>{if(typeof r.value!="string")throw Error("Pattern validation rule must provide pattern");if(JP(e)){if(e==="")return!0;{let{message:t=ZP}=r;return new RegExp(r.value).test(e)||t}}else return"value must be a string"};(0,eC.registerComponent)("vuu-pattern",e1,"data-edit-validator",{});var Ut=require("@vuu-ui/vuu-utils"),nC=W(require("classnames"),1);var ss=require("@vuu-ui/vuu-utils"),fu=require("react"),t1=[void 0,void 0,void 0,void 0];function tC(r,e,t){var f;let n=(0,fu.useRef)(),[o,s,i,l]=n.current||t1,{type:a}=t,c=(0,ss.isTypeDescriptor)(a)?(f=a.formatting)==null?void 0:f.decimals:void 0,u=r===o&&(0,ss.isValidNumber)(e)&&(0,ss.isValidNumber)(s)&&t===i?(0,ss.getMovingValueDirection)(e,l,s,c):"";return(0,fu.useEffect)(()=>{n.current=[r,e,t,u]}),u}var du=require("react/jsx-runtime"),n1=String.fromCharCode(11014),r1=String.fromCharCode(11015),{KEY:o1}=Ut.metadataKeys,hu="vuuBackgroundCellDeprecated",na={ArrowOnly:"arrow",BackgroundOnly:"bg-only",ArrowBackground:"arrow-bg"},s1=r=>(0,Ut.isTypeDescriptor)(r)&&r.renderer&&"flashStyle"in r.renderer?r.renderer.flashStyle:na.BackgroundOnly,i1=({column:r,row:e})=>{let{key:t,type:n,valueFormatter:o}=r,s=e[t],i=s1(n),l=tC(e[o1],s,r),a=i===na.ArrowOnly||i===na.ArrowBackground?l===Ut.UP1||l===Ut.UP2?n1:l===Ut.DOWN1||l===Ut.DOWN2?r1:null:null,c=l?" "+l:"",u=(0,nC.default)(hu,c,{[`${hu}-arrowOnly`]:i===na.ArrowOnly,[`${hu}-arrowBackground`]:i===na.ArrowBackground});return(0,du.jsxs)("div",{className:u,tabIndex:-1,children:[(0,du.jsx)("div",{className:`${hu}-flasher`,children:a}),o(e[r.key])]})};(0,Ut.registerComponent)("background",i1,"cell-renderer",{description:"Background Cell renderer for VuuTable",label:"Background Cell (deprecated)",serverDataType:["long","int","double"]});var Ar=require("@vuu-ui/vuu-utils"),rC=W(require("classnames"),1);var is=require("react/jsx-runtime"),ra="vuuProgressCell",l1=({column:r,columnMap:e,row:t})=>{let{type:n}=r,o=t[r.key],s=!1,i=0;if((0,Ar.isTypeDescriptor)(n)&&(0,Ar.isColumnTypeRenderer)(n.renderer)){let{associatedField:a}=n.renderer;if(a){let c=t[e[a]];if(typeof(0,Ar.isValidNumber)(o)&&(0,Ar.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 f=parseFloat(c);Number.isFinite(f)&&(i=Math.min(Math.round(u/f*100),100),s=isFinite(i))}}}else throw Error("ProgressCell associatedField is required to render")}let l=(0,rC.default)(ra,{});return(0,is.jsxs)("div",{className:l,tabIndex:-1,children:[s?(0,is.jsxs)("span",{className:`${ra}-track`,children:[(0,is.jsx)("span",{className:`${ra}-bg`}),(0,is.jsx)("span",{className:`${ra}-bar`,style:{"--progress-bar-pct":`-${100-i}%`}})]}):null,(0,is.jsx)("span",{className:`${ra}-text`,children:`${i} %`})]})};(0,Ar.registerComponent)("vuu.progress",l1,"cell-renderer",{description:"Progress formatter",label:"Progress formatter",serverDataType:["long","int","double"]});var _t=require("@vuu-ui/vuu-utils"),sC=W(require("classnames"),1);var ls=require("@vuu-ui/vuu-utils"),pu=require("react"),a1=[void 0,void 0,void 0,void 0];function oC(r,e,t){var f;let n=(0,pu.useRef)(),[o,s,i,l]=n.current||a1,{type:a}=t,c=(0,ls.isTypeDescriptor)(a)?(f=a.formatting)==null?void 0:f.decimals:void 0,u=r===o&&(0,ls.isValidNumber)(e)&&(0,ls.isValidNumber)(s)&&t===i?(0,ls.getMovingValueDirection)(e,l,s,c):"";return(0,pu.useEffect)(()=>{n.current=[r,e,t,u]}),u}var gu=require("react/jsx-runtime"),c1=String.fromCharCode(11014),u1=String.fromCharCode(11015),{KEY:f1}=_t.metadataKeys,mu="vuuBackgroundCell",oa={ArrowOnly:"arrow",BackgroundOnly:"bg-only",ArrowBackground:"arrow-bg"},h1=r=>(0,_t.isTypeDescriptor)(r)&&r.renderer&&"flashStyle"in r.renderer?r.renderer.flashStyle:oa.BackgroundOnly,d1=({column:r,row:e})=>{let{key:t,type:n,valueFormatter:o}=r,s=e[t],i=h1(n),l=oC(e[f1],s,r),a=i===oa.ArrowOnly||i===oa.ArrowBackground?l===_t.UP1||l===_t.UP2?c1:l===_t.DOWN1||l===_t.DOWN2?u1:null:null,c=l?" "+l:"",u=(0,sC.default)(mu,c,{[`${mu}-arrowOnly`]:i===oa.ArrowOnly,[`${mu}-arrowBackground`]:i===oa.ArrowBackground});return(0,gu.jsxs)("div",{className:u,tabIndex:-1,children:[(0,gu.jsx)("div",{className:`${mu}-flasher`,children:a}),o(e[r.key])]})};console.log("register BackgroundCellNext");(0,_t.registerComponent)("background-next",d1,"cell-renderer",{description:"Change background color of cell when value changes",label:"Background Flash",serverDataType:["long","int","double"]});var p1=require("@salt-ds/core"),m1=require("@salt-ds/lab"),g1=W(require("classnames"),1),b1=require("react");var iC=require("react/jsx-runtime");var MT=require("@vuu-ui/vuu-utils"),La=require("@salt-ds/core");var cC=require("@salt-ds/core"),v1=W(require("classnames"),1),C1=require("react");var Ed=require("@salt-ds/core"),y1=require("@salt-ds/lab"),x1=require("@vuu-ui/vuu-utils"),lC=require("react"),aC=require("react/jsx-runtime");var uC=require("react/jsx-runtime");var Lr=require("@vuu-ui/vuu-utils"),bu=require("react");var CJ=[{description:"Default formatter for columns with data type double",label:"Default Renderer (data type double)",name:"default-double"},...(0,Lr.getRegisteredCellRenderers)("double")];var Sm=require("@vuu-ui/vuu-utils"),gf=require("@salt-ds/core"),kT=require("react");var ge=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,n){let o=[];return this.decompose(0,e,o,2),n.length&&n.decompose(0,n.length,o,3),this.decompose(t,this.length,o,1),bn.from(o,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let n=[];return this.decompose(e,t,n,0),bn.from(n,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),n=this.length-this.scanIdentical(e,-1),o=new us(this),s=new us(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>=n)return!0}}iter(e=1){return new us(this,e)}iterRange(e,t=this.length){return new Cu(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let o=this.line(e).from;n=this.iterRange(o,Math.max(o,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new wu(n)}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]?ge.empty:e.length<=32?new $e(e):bn.from($e.split(e,[]))}},$e=class extends ge{constructor(e,t=w1(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,o){for(let s=0;;s++){let i=this.text[s],l=o+i.length;if((t?n:l)>=e)return new Dd(o,l,n,i);o=l+1,n++}}decompose(e,t,n,o){let s=e<=0&&t>=this.length?this:new $e(fC(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(o&1){let i=n.pop(),l=vu(s.text,i.text.slice(),0,s.length);if(l.length<=32)n.push(new $e(l,i.length+s.length));else{let a=l.length>>1;n.push(new $e(l.slice(0,a)),new $e(l.slice(a)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof $e))return super.replace(e,t,n);let o=vu(this.text,vu(n.text,fC(this.text,0,e)),t),s=this.length+n.length-(t-e);return o.length<=32?new $e(o,s):bn.from($e.split(o,[]),s)}sliceString(e,t=this.length,n=`
|
|
23
|
+
`){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+=n),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 n=[],o=-1;for(let s of e)n.push(s),o+=s.length+1,n.length==32&&(t.push(new $e(n,o)),n=[],o=-1);return o>-1&&t.push(new $e(n,o)),t}},bn=class extends ge{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,o){for(let s=0;;s++){let i=this.children[s],l=o+i.length,a=n+i.lines-1;if((t?a:l)>=e)return i.lineInner(e,t,n,o);o=l+1,n=a+1}}decompose(e,t,n,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?n.push(l):l.decompose(e-i,t-i,n,c)}i=a+1}}replace(e,t,n){if(n.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,n),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 bn(u,this.length-(t-e)+n.length)}return super.replace(s,l,a)}s=l+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=`
|
|
24
|
+
`){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+=n),e<a&&t>i&&(o+=l.sliceString(e-i,t-i,n)),i=a+1}return o}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof bn))return 0;let n=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 n;let a=this.children[o],c=e.children[s];if(a!=c)return n+a.scanIdentical(c,t);n+=a.length+1}}static from(e,t=e.reduce((n,o)=>n+o.length+1,-1)){let n=0;for(let d of e)n+=d.lines;if(n<32){let d=[];for(let p of e)p.flatten(d);return new $e(d,t)}let o=Math.max(32,n>>5),s=o<<1,i=o>>1,l=[],a=0,c=-1,u=[];function f(d){let p;if(d.lines>s&&d instanceof bn)for(let m of d.children)f(m);else d.lines>i&&(a>i||!a)?(h(),l.push(d)):d instanceof $e&&a&&(p=u[u.length-1])instanceof $e&&d.lines+p.lines<=32?(a+=d.lines,c+=d.length+1,u[u.length-1]=new $e(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>o&&h(),a+=d.lines,c+=d.length+1,u.push(d))}function h(){a!=0&&(l.push(u.length==1?u[0]:bn.from(u,c)),c=-1,a=u.length=0)}for(let d of e)f(d);return h(),l.length==1?l[0]:new bn(l,t)}};ge.empty=new $e([""],0);function w1(r){let e=-1;for(let t of r)e+=t.length+1;return e}function vu(r,e,t=0,n=1e9){for(let o=0,s=0,i=!0;s<r.length&&o<=n;s++){let l=r[s],a=o+l.length;a>=t&&(a>n&&(l=l.slice(0,n-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 fC(r,e,t){return vu(r,[""],e,t)}var us=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 $e?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,o=this.nodes[n],s=this.offsets[n],i=s>>1,l=o instanceof $e?o.text.length:o.children.length;if(i==(t>0?l:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`
|
|
25
|
+
`,this;e--}else if(o instanceof $e){let a=o.text[i+(t<0?-1:0)];if(this.offsets[n]+=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[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof $e?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)}},Cu=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new us(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}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 n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:o}=this.cursor.next(e);return this.pos+=(o.length+e)*t,this.value=o.length<=n?o:t<0?o.slice(o.length-n):o.slice(0,n),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!=""}},wu=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:o}=this.inner.next(e);return t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=o,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(ge.prototype[Symbol.iterator]=function(){return this.iter()},us.prototype[Symbol.iterator]=Cu.prototype[Symbol.iterator]=wu.prototype[Symbol.iterator]=function(){return this});var Dd=class{constructor(e,t,n,o){this.from=e,this.to=t,this.number=n,this.text=o}get length(){return this.to-this.from}},Di="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(r=>r?parseInt(r,36):1);for(let r=1;r<Di.length;r++)Di[r]+=Di[r-1];function S1(r){for(let e=1;e<Di.length;e+=2)if(Di[e]>r)return Di[e-1]<=r;return!1}function hC(r){return r>=127462&&r<=127487}var dC=8205;function wt(r,e,t=!0,n=!0){return(t?xC:T1)(r,e,n)}function xC(r,e,t){if(e==r.length)return e;e&&vC(r.charCodeAt(e))&&CC(r.charCodeAt(e-1))&&e--;let n=sr(r,e);for(e+=fs(n);e<r.length;){let o=sr(r,e);if(n==dC||o==dC||t&&S1(o))e+=fs(o),n=o;else if(hC(o)){let s=0,i=e-2;for(;i>=0&&hC(sr(r,i));)s++,i-=2;if(s%2==0)break;e+=2}else break}return e}function T1(r,e,t){for(;e>0;){let n=xC(r,e-2,t);if(n<e)return n;e--}return 0}function vC(r){return r>=56320&&r<57344}function CC(r){return r>=55296&&r<56320}function sr(r,e){let t=r.charCodeAt(e);if(!CC(t)||e+1==r.length)return t;let n=r.charCodeAt(e+1);return vC(n)?(t-55296<<10)+(n-56320)+65536:t}function wC(r){return r<=65535?String.fromCharCode(r):(r-=65536,String.fromCharCode((r>>10)+55296,(r&1023)+56320))}function fs(r){return r<65536?1:2}var Md=/\r\n?|\n/,Ct=function(r){return r[r.Simple=0]="Simple",r[r.TrackDel=1]="TrackDel",r[r.TrackBefore=2]="TrackBefore",r[r.TrackAfter=3]="TrackAfter",r}(Ct||(Ct={})),on=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 n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,o=0;t<this.sections.length;){let s=this.sections[t++],i=this.sections[t++];i<0?(e(n,o,s),o+=s):o+=i,n+=s}}iterChangedRanges(e,t=!1){Rd(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],o=this.sections[t++];o<0?e.push(n,o):e.push(o,n)}return new on(e)}composeDesc(e){return this.empty?e:e.empty?this:SC(this,e)}mapDesc(e,t=!1){return e.empty?this:Pd(this,e,t)}mapPos(e,t=-1,n=Ct.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(n!=Ct.Simple&&c>=e&&(n==Ct.TrackDel&&o<e&&c>e||n==Ct.TrackBefore&&o<e||n==Ct.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 n=0,o=0;n<this.sections.length&&o<=t;){let s=this.sections[n++],i=this.sections[n++],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 n=this.sections[t++],o=this.sections[t++];e+=(e?" ":"")+n+(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 on(e)}static create(e){return new on(e)}},Ke=class extends on{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 Rd(this,(t,n,o,s,i)=>e=e.replace(o,o+(n-t),i),!1),e}mapDesc(e,t=!1){return Pd(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];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(;n.length<a;)n.push(ge.empty);n.push(i?e.slice(s,s+i):ge.empty)}s+=i}return new Ke(t,n)}compose(e){return this.empty?e:e.empty?this:SC(this,e,!0)}map(e,t=!1){return e.empty?this:Pd(this,e,t,!0)}iterChanges(e,t=!1){Rd(this,e,t)}get desc(){return on.create(this.sections)}filter(e){let t=[],n=[],o=[],s=new hs(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);vt(o,u,-1);let f=s.ins==-1?-1:s.off==0?s.ins:0;vt(t,u,f),f>0&&ho(n,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);vt(t,u,-1),vt(o,u,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(u),l+=u}}return{changes:new Ke(t,n),filtered:on.create(o)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],o=this.sections[t+1];o<0?e.push(n):o==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,n){let o=[],s=[],i=0,l=null;function a(u=!1){if(!u&&!o.length)return;i<t&&vt(o,t-i,-1);let f=new Ke(o,s);l=l?l.compose(f.map(l)):f,o=[],s=[],i=0}function c(u){if(Array.isArray(u))for(let f of u)c(f);else if(u instanceof Ke){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:f,to:h=f,insert:d}=u;if(f>h||f<0||h>t)throw new RangeError(`Invalid change range ${f} to ${h} (in doc of length ${t})`);let p=d?typeof d=="string"?ge.of(d.split(n||Md)):d:ge.empty,m=p.length;if(f==h&&m==0)return;f<i&&a(),f>i&&vt(o,f-i,-1),vt(o,h-f,m),ho(s,o,p),i=h}}return c(e),a(!l),l}static empty(e){return new Ke(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];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(;n.length<o;)n.push(ge.empty);n[o]=ge.of(s.slice(1)),t.push(s[0],n[o].length)}}}return new Ke(t,n)}static createSet(e,t){return new Ke(e,t)}};function vt(r,e,t,n=!1){if(e==0&&t<=0)return;let o=r.length-2;o>=0&&t<=0&&t==r[o+1]?r[o]+=e:e==0&&r[o]==0?r[o+1]+=t:n?(r[o]+=e,r[o+1]+=t):r.push(e,t)}function ho(r,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n<r.length)r[r.length-1]=r[r.length-1].append(t);else{for(;r.length<n;)r.push(ge.empty);r.push(t)}}function Rd(r,e,t){let n=r.inserted;for(let o=0,s=0,i=0;i<r.sections.length;){let l=r.sections[i++],a=r.sections[i++];if(a<0)o+=l,s+=l;else{let c=o,u=s,f=ge.empty;for(;c+=l,u+=a,a&&n&&(f=f.append(n[i-2>>1])),!(t||i==r.sections.length||r.sections[i+1]<0);)l=r.sections[i++],a=r.sections[i++];e(o,c,s,u,f),o=c,s=u}}}function Pd(r,e,t,n=!1){let o=[],s=n?[]:null,i=new hs(r),l=new hs(e);for(let a=-1;;)if(i.ins==-1&&l.ins==-1){let c=Math.min(i.len,l.len);vt(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(vt(o,l.ins,-1);c;){let u=Math.min(i.len,c);i.ins>=0&&a<i.i&&i.len<=u&&(vt(o,0,i.ins),s&&ho(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 f=Math.min(u,l.len);c+=f,u-=f,l.forward(f)}else if(l.ins==0&&l.len<u)u-=l.len,l.next();else break;vt(o,c,a<i.i?i.ins:0),s&&a<i.i&&ho(s,o,i.text),a=i.i,i.forward(i.len-u)}else{if(i.done&&l.done)return s?Ke.createSet(o,s):on.create(o);throw new Error("Mismatched change set lengths")}}function SC(r,e,t=!1){let n=[],o=t?[]:null,s=new hs(r),i=new hs(e);for(let l=!1;;){if(s.done&&i.done)return o?Ke.createSet(n,o):on.create(n);if(s.ins==0)vt(n,s.len,0,l),s.next();else if(i.len==0&&!i.done)vt(n,0,i.ins,l),o&&ho(o,n,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=n.length;if(s.ins==-1){let u=i.ins==-1?-1:i.off?0:i.ins;vt(n,a,u,l),o&&u&&ho(o,n,i.text)}else i.ins==-1?(vt(n,s.off?0:s.len,a,l),o&&ho(o,n,s.textBit(a))):(vt(n,s.off?0:s.len,i.off?0:i.ins,l),o&&!i.off&&ho(o,n,i.text));l=(s.ins>a||i.ins>=0&&i.len>a)&&(l||n.length>c),s.forward2(a),i.forward(a)}}}}var hs=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?ge.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?ge.empty:t[n].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)}},Or=class{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}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 n,o;return this.empty?n=o=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),o=e.mapPos(this.to,-1)),n==this.from&&o==this.to?this:new Or(n,o,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return F.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return F.range(this.anchor,n)}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,n){return new Or(e,t,n)}},F=class{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:F.create(this.ranges.map(n=>n.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 n=this.ranges.slice();return n[t]=e,F.create(n,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=>Or.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 n=0,o=0;o<e.length;o++){let s=e[o];if(s.empty?s.from<=n:s.from<n)return F.normalized(e.slice(),t);n=s.to}return new F(e,t)}static cursor(e,t=0,n,o){return Or.create(e,e,(t==0?0:t<0?4:8)|(n==null?3:Math.min(2,n))|(o!=null?o:33554431)<<5)}static range(e,t,n,o){let s=(n!=null?n:33554431)<<5|(o==null?3:Math.min(2,o));return t<e?Or.create(t,e,24|s):Or.create(e,t,(t>e?4:0)|s)}static normalized(e,t=0){let n=e[t];e.sort((o,s)=>o.from-s.from),t=e.indexOf(n);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 TC(r,e){for(let t of r.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Bd=0,se=class{constructor(e,t,n,o,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=o,this.id=Bd++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}static define(e={}){return new se(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:Fd),!!e.static,e.enables)}of(e){return new Mi([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Mi(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Mi(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function Fd(r,e){return r==e||r.length==e.length&&r.every((t,n)=>t===e[n])}var Mi=class{constructor(e,t,n,o){this.dependencies=e,this.facet=t,this.type=n,this.value=o,this.id=Bd++}dynamicSlot(e){var t;let n=this.value,o=this.facet.compareInput,s=this.id,i=e[s]>>1,l=this.type==2,a=!1,c=!1,u=[];for(let f of this.dependencies)f=="doc"?a=!0:f=="selection"?c=!0:((t=e[f.id])!==null&&t!==void 0?t:1)&1||u.push(e[f.id]);return{create(f){return f.values[i]=n(f),1},update(f,h){if(a&&h.docChanged||c&&(h.docChanged||h.selection)||Id(f,u)){let d=n(f);if(l?!pC(d,f.values[i],o):!o(d,f.values[i]))return f.values[i]=d,1}return 0},reconfigure:(f,h)=>{let d,p=h.config.address[s];if(p!=null){let m=Tu(h,p);if(this.dependencies.every(g=>g instanceof se?h.facet(g)===f.facet(g):g instanceof Ht?h.field(g,!1)==f.field(g,!1):!0)||(l?pC(d=n(f),m,o):o(d=n(f),m)))return f.values[i]=m,0}else d=n(f);return f.values[i]=d,1}}}};function pC(r,e,t){if(r.length!=e.length)return!1;for(let n=0;n<r.length;n++)if(!t(r[n],e[n]))return!1;return!0}function Id(r,e){let t=!1;for(let n of e)ia(r,n)&1&&(t=!0);return t}function E1(r,e,t){let n=t.map(a=>r[a.id]),o=t.map(a=>a.type),s=n.filter(a=>!(a&1)),i=r[e.id]>>1;function l(a){let c=[];for(let u=0;u<n.length;u++){let f=Tu(a,n[u]);if(o[u]==2)for(let h of f)c.push(h);else c.push(f)}return e.combine(c)}return{create(a){for(let c of n)ia(a,c);return a.values[i]=l(a),1},update(a,c){if(!Id(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=Id(a,n),f=c.config.facets[e.id],h=c.facet(e);if(f&&!u&&Fd(t,f))return a.values[i]=h,0;let d=l(a);return e.compare(d,h)?(a.values[i]=h,0):(a.values[i]=d,1)}}}var mC=se.define({static:!0}),Ht=class{constructor(e,t,n,o,s){this.id=e,this.createF=t,this.updateF=n,this.compareF=o,this.spec=s,this.provides=void 0}static define(e){let t=new Ht(Bd++,e.create,e.update,e.compare||((n,o)=>n===o),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(mC).find(n=>n.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,o)=>{let s=n.values[t],i=this.updateF(s,o);return this.compareF(s,i)?0:(n.values[t]=i,1)},reconfigure:(n,o)=>o.config.address[this.id]!=null?(n.values[t]=o.field(this),0):(n.values[t]=this.create(n),1)}}init(e){return[this,mC.of({field:this,create:e})]}get extension(){return this}},as={lowest:4,low:3,default:2,high:1,highest:0};function sa(r){return e=>new Su(e,r)}var ms={highest:sa(as.highest),high:sa(as.high),default:sa(as.default),low:sa(as.low),lowest:sa(as.lowest)},Su=class{constructor(e,t){this.inner=e,this.prec=t}},Pi=class{of(e){return new la(this,e)}reconfigure(e){return Pi.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},la=class{constructor(e,t){this.compartment=e,this.inner=t}},Ii=class{constructor(e,t,n,o,s,i){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=o,this.staticValues=s,this.facets=i,this.statusTemplate=[];this.statusTemplate.length<n.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,n){let o=[],s=Object.create(null),i=new Map;for(let h of k1(e,t,i))h instanceof Ht?o.push(h):(s[h.facet.id]||(s[h.facet.id]=[])).push(h);let l=Object.create(null),a=[],c=[];for(let h of o)l[h.id]=c.length<<1,c.push(d=>h.slot(d));let u=n==null?void 0:n.config.facets;for(let h in s){let d=s[h],p=d[0].facet,m=u&&u[h]||[];if(d.every(g=>g.type==0))if(l[p.id]=a.length<<1|1,Fd(m,d))a.push(n.facet(p));else{let g=p.combine(d.map(y=>y.value));a.push(n&&p.compare(g,n.facet(p))?n.facet(p):g)}else{for(let g of d)g.type==0?(l[g.id]=a.length<<1|1,a.push(g.value)):(l[g.id]=c.length<<1,c.push(y=>g.dynamicSlot(y)));l[p.id]=c.length<<1,c.push(g=>E1(g,p,d))}}let f=c.map(h=>h(l));return new Ii(e,i,f,l,a,s)}};function k1(r,e,t){let n=[[],[],[],[],[]],o=new Map;function s(i,l){let a=o.get(i);if(a!=null){if(a<=l)return;let c=n[a].indexOf(i);c>-1&&n[a].splice(c,1),i instanceof la&&t.delete(i.compartment)}if(o.set(i,l),Array.isArray(i))for(let c of i)s(c,l);else if(i instanceof la){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 Su)s(i.inner,i.prec);else if(i instanceof Ht)n[l].push(i),i.provides&&s(i.provides,l);else if(i instanceof Mi)n[l].push(i),i.facet.extensions&&s(i.facet.extensions,as.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(r,as.default),n.reduce((i,l)=>i.concat(l))}function ia(r,e){if(e&1)return 2;let t=e>>1,n=r.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;r.status[t]=4;let o=r.computeSlot(r,r.config.dynamicSlots[t]);return r.status[t]=2|o}function Tu(r,e){return e&1?r.config.staticValues[e>>1]:r.values[e>>1]}var EC=se.define(),kC=se.define({combine:r=>r.some(e=>e),static:!0}),DC=se.define({combine:r=>r.length?r[0]:void 0,static:!0}),MC=se.define(),RC=se.define(),PC=se.define(),IC=se.define({combine:r=>r.length?r[0]:!1}),sn=class{constructor(e,t){this.type=e,this.value=t}static define(){return new aa}},aa=class{of(e){return new sn(this,e)}},Ad=class{constructor(e){this.map=e}of(e){return new Ne(this,e)}},Ne=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 Ne(this.type,t)}is(e){return this.type==e}static define(e={}){return new Ad(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let o of e){let s=o.map(t);s&&n.push(s)}return n}};Ne.reconfigure=Ne.define();Ne.appendConfig=Ne.define();var We=class{constructor(e,t,n,o,s,i){this.startState=e,this.changes=t,this.selection=n,this.effects=o,this.annotations=s,this.scrollIntoView=i,this._doc=null,this._state=null,n&&TC(n,t.newLength),s.some(l=>l.type==We.time)||(this.annotations=s.concat(We.time.of(Date.now())))}static create(e,t,n,o,s,i){return new We(e,t,n,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(We.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};We.time=sn.define();We.userEvent=sn.define();We.addToHistory=sn.define();We.remote=sn.define();function D1(r,e){let t=[];for(let n=0,o=0;;){let s,i;if(n<r.length&&(o==e.length||e[o]>=r[n]))s=r[n++],i=r[n++];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 AC(r,e,t){var n;let o,s,i;return t?(o=e.changes,s=Ke.empty(e.changes.length),i=r.changes.compose(e.changes)):(o=e.changes.map(r.changes),s=r.changes.mapDesc(e.changes,!0),i=r.changes.compose(o)),{changes:i,selection:e.selection?e.selection.map(s):(n=r.selection)===null||n===void 0?void 0:n.map(o),effects:Ne.mapEffects(r.effects,o).concat(Ne.mapEffects(e.effects,s)),annotations:r.annotations.length?r.annotations.concat(e.annotations):e.annotations,scrollIntoView:r.scrollIntoView||e.scrollIntoView}}function Ld(r,e,t){let n=e.selection,o=Ri(e.annotations);return e.userEvent&&(o=o.concat(We.userEvent.of(e.userEvent))),{changes:e.changes instanceof Ke?e.changes:Ke.of(e.changes||[],t,r.facet(DC)),selection:n&&(n instanceof F?n:F.single(n.anchor,n.head)),effects:Ri(e.effects),annotations:o,scrollIntoView:!!e.scrollIntoView}}function LC(r,e,t){let n=Ld(r,e.length?e[0]:{},r.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;n=AC(n,Ld(r,e[s],i?n.changes.newLength:r.doc.length),i)}let o=We.create(r,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return R1(t?M1(o):o)}function M1(r){let e=r.startState,t=!0;for(let o of e.facet(MC)){let s=o(r);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:D1(t,s))}if(t!==!0){let o,s;if(t===!1)s=r.changes.invertedDesc,o=Ke.empty(e.doc.length);else{let i=r.changes.filter(t);o=i.changes,s=i.filtered.mapDesc(i.changes).invertedDesc}r=We.create(e,o,r.selection&&r.selection.map(s),Ne.mapEffects(r.effects,s),r.annotations,r.scrollIntoView)}let n=e.facet(RC);for(let o=n.length-1;o>=0;o--){let s=n[o](r);s instanceof We?r=s:Array.isArray(s)&&s.length==1&&s[0]instanceof We?r=s[0]:r=LC(e,Ri(s),!1)}return r}function R1(r){let e=r.startState,t=e.facet(PC),n=r;for(let o=t.length-1;o>=0;o--){let s=t[o](r);s&&Object.keys(s).length&&(n=AC(n,Ld(e,s,r.changes.newLength),!0))}return n==r?r:We.create(e,r.changes,r.selection,n.effects,n.annotations,n.scrollIntoView)}var P1=[];function Ri(r){return r==null?P1:Array.isArray(r)?r:[r]}var Ot=function(r){return r[r.Word=0]="Word",r[r.Space=1]="Space",r[r.Other=2]="Other",r}(Ot||(Ot={})),I1=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Od;try{Od=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function A1(r){if(Od)return Od.test(r);for(let e=0;e<r.length;e++){let t=r[e];if(/\w/.test(t)||t>"\x80"&&(t.toUpperCase()!=t.toLowerCase()||I1.test(t)))return!0}return!1}function L1(r){return e=>{if(!/\S/.test(e))return Ot.Space;if(A1(e))return Ot.Word;for(let t=0;t<r.length;t++)if(e.indexOf(r[t])>-1)return Ot.Word;return Ot.Other}}var ve=class{constructor(e,t,n,o,s,i){this.config=e,this.doc=t,this.selection=n,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++)ia(this,l<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw new RangeError("Field is not present in this state");return}return ia(this,n),Tu(this,n)}update(...e){return LC(this,e,!0)}applyTransaction(e){let t=this.config,{base:n,compartments:o}=t;for(let i of e.effects)i.is(Pi.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(Ne.reconfigure)?(t=null,n=i.value):i.is(Ne.appendConfig)&&(t=null,n=Ri(n).concat(i.value));let s;t?s=e.startState.values.slice():(t=Ii.resolve(n,o,this),s=new ve(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,a)=>a.reconfigure(l,this),null).values),new ve(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,n=e(t.ranges[0]),o=this.changes(n.changes),s=[n.range],i=Ri(n.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 h=0;h<l;h++)s[h]=s[h].map(u);let f=o.mapDesc(c,!0);s.push(a.range.map(f)),o=o.compose(u),i=Ne.mapEffects(i,u).concat(Ne.mapEffects(Ri(a.effects),f))}return{changes:o,selection:F.create(s,t.mainIndex),effects:i}}changes(e=[]){return e instanceof Ke?e:Ke.of(e,this.doc.length,this.facet(ve.lineSeparator))}toText(e){return ge.of(e.split(this.facet(ve.lineSeparator)||Md))}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:(ia(this,t),Tu(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let o=e[n];o instanceof Ht&&this.config.address[o.id]!=null&&(t[n]=o.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(e,t={},n){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let o=[];if(n){for(let s in n)if(Object.prototype.hasOwnProperty.call(e,s)){let i=n[s],l=e[s];o.push(i.init(a=>i.spec.fromJSON(l,a)))}}return ve.create({doc:e.doc,selection:F.fromJSON(e.selection),extensions:t.extensions?o.concat([t.extensions]):o})}static create(e={}){let t=Ii.resolve(e.extensions||[],new Map),n=e.doc instanceof ge?e.doc:ge.of((e.doc||"").split(t.staticFacet(ve.lineSeparator)||Md)),o=e.selection?e.selection instanceof F?e.selection:F.single(e.selection.anchor,e.selection.head):F.single(0);return TC(o,n.length),t.staticFacet(kC)||(o=o.asSingle()),new ve(t,n,o,t.dynamicSlots.map(()=>null),(s,i)=>i.create(s),null)}get tabSize(){return this.facet(ve.tabSize)}get lineBreak(){return this.facet(ve.lineSeparator)||`
|
|
26
|
+
`}get readOnly(){return this.facet(IC)}phrase(e,...t){for(let n of this.facet(ve.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,o)=>{if(o=="$")return"$";let s=+(o||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let o=[];for(let s of this.facet(EC))for(let i of s(this,t,n))Object.prototype.hasOwnProperty.call(i,e)&&o.push(i[e]);return o}charCategorizer(e){return L1(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:o}=this.doc.lineAt(e),s=this.charCategorizer(e),i=e-n,l=e-n;for(;i>0;){let a=wt(t,i,!1);if(s(t.slice(a,i))!=Ot.Word)break;i=a}for(;l<o;){let a=wt(t,l);if(s(t.slice(l,a))!=Ot.Word)break;l=a}return i==l?null:F.range(i+n,l+n)}};ve.allowMultipleSelections=kC;ve.tabSize=se.define({combine:r=>r.length?r[0]:4});ve.lineSeparator=DC;ve.readOnly=IC;ve.phrases=se.define({compare(r,e){let t=Object.keys(r),n=Object.keys(e);return t.length==n.length&&t.every(o=>r[o]==e[o])}});ve.languageData=EC;ve.changeFilter=MC;ve.transactionFilter=RC;ve.transactionExtender=PC;Pi.reconfigure=Ne.define();function gs(r,e,t={}){let n={};for(let o of r)for(let s of Object.keys(o)){let i=o[s],l=n[s];if(l===void 0)n[s]=i;else if(!(l===i||i===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](l,i);else throw new Error("Config merge conflict for field "+s)}for(let o in e)n[o]===void 0&&(n[o]=e[o]);return n}var Un=class{eq(e){return this==e}range(e,t=e){return ds.create(e,t,this)}};Un.prototype.startSide=Un.prototype.endSide=0;Un.prototype.point=!1;Un.prototype.mapMode=Ct.TrackDel;var ds=class{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new ds(e,t,n)}};function Hd(r,e){return r.from-e.from||r.value.startSide-e.value.startSide}var ca=class{constructor(e,t,n,o){this.from=e,this.to=t,this.value=n,this.maxPoint=o}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,o=0){let s=n?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||(n?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,n,o){for(let s=this.findIndex(t,-1e9,!0),i=this.findIndex(n,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 n=[],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,f=this.to[a]+e,h,d;if(u==f){let p=t.mapPos(u,c.startSide,c.mapMode);if(p==null||(h=d=p,c.startSide!=c.endSide&&(d=t.mapPos(u,c.endSide),d<h)))continue}else if(h=t.mapPos(u,c.startSide),d=t.mapPos(f,c.endSide),h>d||h==d&&c.startSide>0&&c.endSide<=0)continue;(d-h||c.endSide-c.startSide)<0||(i<0&&(i=h),c.point&&(l=Math.max(l,d-h)),n.push(c),o.push(h-i),s.push(d-i))}return{mapped:n.length?new ca(o,s,n,l):null,pos:i}}},Ae=class{constructor(e,t,n,o){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=o}static create(e,t,n,o){return new Ae(e,t,n,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:n=!1,filterFrom:o=0,filterTo:s=this.length}=e,i=e.filter;if(t.length==0&&!i)return this;if(n&&(t=t.slice().sort(Hd)),this.isEmpty)return t.length?Ae.of(t):this;let l=new Eu(this,null,-1).goto(0),a=0,c=[],u=new ir;for(;l.value||a<t.length;)if(a<t.length&&(l.from-t[a].from||l.startSide-t[a].value.startSide)>=0){let f=t[a++];u.addInner(f.from,f.to,f.value)||c.push(f)}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(ds.create(l.from,l.to,l.value))),l.next());return u.finishInner(this.nextLayer.isEmpty&&!c.length?Ae.empty:this.nextLayer.update({add:c,filter:i,filterFrom:o,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],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),n.push(e.mapPos(l));else if(c===!0){let{mapped:u,pos:f}=a.map(l,e);u&&(o=Math.max(o,u.maxPoint),t.push(u),n.push(f))}}let s=this.nextLayer.map(e);return t.length==0?s:new Ae(n,t,s||Ae.empty,o)}between(e,t,n){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,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return ps.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return ps.from(e).goto(t)}static compare(e,t,n,o,s=-1){let i=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),a=gC(i,l,n),c=new cs(i,a,s),u=new cs(l,a,s);n.iterGaps((f,h,d)=>bC(c,f,u,h,d,o)),n.empty&&n.length==0&&bC(c,0,u,0,0,o)}static eq(e,t,n=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=gC(s,i),a=new cs(s,l,0).goto(n),c=new cs(i,l,0).goto(n);for(;;){if(a.to!=c.to||!Nd(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,n,o,s=-1){let i=new cs(e,null,s).goto(t),l=t,a=i.openStart;for(;;){let c=Math.min(i.to,n);if(i.point){let u=i.activeForPoint(i.to),f=i.pointFrom<t?u.length+1:Math.min(u.length,a);o.point(l,c,i.point,u,f,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>n)return a+(i.point&&i.to>n?1:0);l=i.to,i.next()}}static of(e,t=!1){let n=new ir;for(let o of e instanceof ds?[e]:t?O1(e):e)n.add(o.from,o.to,o.value);return n.finish()}};Ae.empty=new Ae([],[],null,-1);function O1(r){if(r.length>1)for(let e=r[0],t=1;t<r.length;t++){let n=r[t];if(Hd(e,n)>0)return r.slice().sort(Hd);e=n}return r}Ae.empty.nextLayer=Ae.empty;var ir=class{finishChunk(e){this.chunks.push(new ca(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,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new ir)).add(e,t,n)}addInner(e,t,n){let o=e-this.lastTo||n.startSide-this.last.endSide;if(o<=0&&(e-this.lastFrom||n.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=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.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 n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(Ae.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=Ae.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function gC(r,e,t){let n=new Map;for(let s of r)for(let i=0;i<s.chunk.length;i++)s.chunk[i].maxPoint<=0&&n.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=n.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 Eu=class{constructor(e,t,n,o=0){this.layer=e,this.skip=t,this.minPoint=n,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,n){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++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let o=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!n||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],n=e+t.from[this.rangeIndex];if(this.from=n,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}},ps=class{constructor(e){this.heap=e}static from(e,t=null,n=-1){let o=[];for(let s=0;s<e.length;s++)for(let i=e[s];!i.isEmpty;i=i.nextLayer)i.maxPoint>=n&&o.push(new Eu(i,t,n,s));return o.length==1?o[0]:new ps(o)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)kd(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)kd(this.heap,n);(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(),kd(this.heap,0)}}};function kd(r,e){for(let t=r[e];;){let n=(e<<1)+1;if(n>=r.length)break;let o=r[n];if(n+1<r.length&&o.compare(r[n+1])>=0&&(o=r[n+1],n++),t.compare(o)<0)break;r[n]=t,r[e]=o,e=n}}var cs=class{constructor(e,t,n){this.minPoint=n,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=ps.from(e,t,n)}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){yu(this.active,e),yu(this.activeTo,e),yu(this.activeRank,e),this.minActive=yC(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:o,rank:s}=this.cursor;for(;t<this.activeRank.length&&this.activeRank[t]<=s;)t++;xu(this.active,t,n),xu(this.activeTo,t,o),xu(this.activeRank,t,s),e&&xu(e,t,this.cursor.from),this.minActive=yC(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=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),n&&yu(n,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(n),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(n){this.openStart=0;for(let o=n.length-1;o>=0&&n[o]<e;o--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function bC(r,e,t,n,o,s){r.goto(e),t.goto(n);let i=n+o,l=n,a=n-e;for(;;){let c=r.to+a-t.to||r.endSide-t.endSide,u=c<0?r.to+a:t.to,f=Math.min(u,i);if(r.point||t.point?r.point&&t.point&&(r.point==t.point||r.point.eq(t.point))&&Nd(r.activeForPoint(r.to),t.activeForPoint(t.to))||s.comparePoint(l,f,r.point,t.point):f>l&&!Nd(r.active,t.active)&&s.compareRange(l,f,r.active,t.active),u>i)break;l=u,c<=0&&r.next(),c>=0&&t.next()}}function Nd(r,e){if(r.length!=e.length)return!1;for(let t=0;t<r.length;t++)if(r[t]!=e[t]&&!r[t].eq(e[t]))return!1;return!0}function yu(r,e){for(let t=e,n=r.length-1;t<n;t++)r[t]=r[t+1];r.pop()}function xu(r,e,t){for(let n=r.length-1;n>=e;n--)r[n+1]=r[n];r[e]=t}function yC(r,e){let t=-1,n=1e9;for(let o=0;o<e.length;o++)(e[o]-n||r[o].endSide-r[t].endSide)<0&&(t=o,n=e[o]);return t}function bs(r,e,t=r.length){let n=0;for(let o=0;o<t;)r.charCodeAt(o)==9?(n+=e-n%e,o++):(n++,o=wt(r,o));return n}function OC(r,e,t,n){for(let o=0,s=0;;){if(s>=e)return o;if(o==r.length)break;s+=r.charCodeAt(o)==9?t-s%t:1,o=wt(r,o)}return n===!0?-1:r.length}var zd="\u037C",HC=typeof Symbol>"u"?"__"+zd:Symbol.for(zd),Vd=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),NC=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},yn=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function o(i){return/^@/.test(i)?[i]:i.split(/,\s*/)}function s(i,l,a,c){let u=[],f=/^@(\w+)\b/.exec(i[0]),h=f&&f[1]=="keyframes";if(f&&l==null)return a.push(i[0]+";");for(let d in l){let p=l[d];if(/&/.test(d))s(d.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(!f)throw new RangeError("The value of a property ("+d+") should be a primitive value.");s(o(d),p,u,h)}else p!=null&&u.push(d.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(u.length||h)&&a.push((n&&!f&&!c?i.map(n):i).join(", ")+" {"+u.join(" ")+"}")}for(let i in e)s(o(i),e[i],this.rules)}getRules(){return this.rules.join(`
|
|
27
|
+
`)}static newName(){let e=NC[HC]||1;return NC[HC]=e+1,zd+e.toString(36)}static mount(e,t){(e[Vd]||new $d(e)).mount(Array.isArray(t)?t:[t])}},BC=new Map,$d=class{constructor(e){let t=e.ownerDocument||e,n=t.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let o=BC.get(t);if(o)return e.adoptedStyleSheets=[o.sheet,...e.adoptedStyleSheets],e[Vd]=o;this.sheet=new n.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],BC.set(t,this)}else{this.styleTag=t.createElement("style");let o=e.head||e;o.insertBefore(this.styleTag,o.firstChild)}this.modules=[],e[Vd]=this}mount(e){let t=this.sheet,n=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],n++)}else{for(;o<l;)n+=this.modules[o++].rules.length;n+=i.rules.length,o++}}if(!t){let s="";for(let i=0;i<this.modules.length;i++)s+=this.modules[i].getRules()+`
|
|
28
|
+
`;this.styleTag.textContent=s}}};var Hr={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:"'"},Ai={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},H1=typeof navigator<"u"&&/Mac/.test(navigator.platform),N1=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(rt=0;rt<10;rt++)Hr[48+rt]=Hr[96+rt]=String(rt);var rt;for(rt=1;rt<=24;rt++)Hr[rt+111]="F"+rt;var rt;for(rt=65;rt<=90;rt++)Hr[rt]=String.fromCharCode(rt+32),Ai[rt]=String.fromCharCode(rt);var rt;for(ku in Hr)Ai.hasOwnProperty(ku)||(Ai[ku]=Hr[ku]);var ku;function FC(r){var e=H1&&r.metaKey&&r.shiftKey&&!r.ctrlKey&&!r.altKey||N1&&r.shiftKey&&r.key&&r.key.length==1||r.key=="Unidentified",t=!e&&r.key||(r.shiftKey?Ai:Hr)[r.keyCode]||r.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 zu(r){let e;return r.nodeType==11?e=r.getSelection?r:r.ownerDocument:e=r,e.getSelection()}function Qd(r,e){return e?r==e||r.contains(e.nodeType!=1?e.parentNode:e):!1}function B1(r){let e=r.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function Ou(r,e){if(!e.anchorNode)return!1;try{return Qd(r,e.anchorNode)}catch{return!1}}function ma(r){return r.nodeType==3?xs(r,0,r.nodeValue.length).getClientRects():r.nodeType==1?r.getClientRects():[]}function Vu(r,e,t,n){return t?zC(r,e,t,n,-1)||zC(r,e,t,n,1):!1}function $u(r){for(var e=0;;e++)if(r=r.previousSibling,!r)return e}function zC(r,e,t,n,o){for(;;){if(r==t&&e==n)return!0;if(e==(o<0?0:go(r))){if(r.nodeName=="DIV")return!1;let s=r.parentNode;if(!s||s.nodeType!=1)return!1;e=$u(r)+(o<0?0:1),r=s}else if(r.nodeType==1){if(r=r.childNodes[e+(o<0?-1:0)],r.nodeType==1&&r.contentEditable=="false")return!1;e=o<0?go(r):0}else return!1}}function go(r){return r.nodeType==3?r.nodeValue.length:r.childNodes.length}function Dp(r,e){let t=e?r.left:r.right;return{left:t,right:t,top:r.top,bottom:r.bottom}}function F1(r){return{left:0,right:r.innerWidth,top:0,bottom:r.innerHeight}}function z1(r,e,t,n,o,s,i,l){let a=r.ownerDocument,c=a.defaultView||window;for(let u=r,f=!1;u&&!f;)if(u.nodeType==1){let h,d=u==a.body;if(d)h=F1(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(f=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let g=u.getBoundingClientRect();h={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<h.top?(m=-(h.top-e.top+i),t>0&&e.bottom>h.bottom+m&&(m=e.bottom-h.bottom+m+i)):e.bottom>h.bottom&&(m=e.bottom-h.bottom+i,t<0&&e.top-m<h.top&&(m=-(h.top+m-e.top+i)));else{let g=e.bottom-e.top,y=h.bottom-h.top;m=(o=="center"&&g<=y?e.top+g/2-y/2:o=="start"||o=="center"&&t<0?e.top-i:e.bottom-y+i)-h.top}if(n=="nearest"?e.left<h.left?(p=-(h.left-e.left+s),t>0&&e.right>h.right+p&&(p=e.right-h.right+p+s)):e.right>h.right&&(p=e.right-h.right+s,t<0&&e.left<h.left+p&&(p=-(h.left+p-e.left+s))):p=(n=="center"?e.left+(e.right-e.left)/2-(h.right-h.left)/2:n=="start"==l?e.left-s:e.right-(h.right-h.left)+s)-h.left,p||m)if(d)c.scrollBy(p,m);else{let g=0,y=0;if(m){let C=u.scrollTop;u.scrollTop+=m,y=u.scrollTop-C}if(p){let C=u.scrollLeft;u.scrollLeft+=p,g=u.scrollLeft-C}e={left:e.left-g,top:e.top-y,right:e.right-g,bottom:e.bottom-y},g&&Math.abs(g-p)<1&&(n="nearest"),y&&Math.abs(y-m)<1&&(o="nearest")}if(d)break;u=u.assignedSlot||u.parentNode}else if(u.nodeType==11)u=u.host;else break}function V1(r){let e=r.ownerDocument;for(let t=r.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 jd=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:n}=e;this.set(t,Math.min(e.anchorOffset,t?go(t):0),n,Math.min(e.focusOffset,n?go(n):0))}set(e,t,n,o){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=o}},Li=null;function yw(r){if(r.setActive)return r.setActive();if(Li)return r.focus(Li);let e=[];for(let t=r;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(r.focus(Li==null?{get preventScroll(){return Li={preventScroll:!0},!0}}:void 0),!Li){Li=!1;for(let t=0;t<e.length;){let n=e[t++],o=e[t++],s=e[t++];n.scrollTop!=o&&(n.scrollTop=o),n.scrollLeft!=s&&(n.scrollLeft=s)}}}var VC;function xs(r,e,t=e){let n=VC||(VC=document.createRange());return n.setEnd(r,t),n.setStart(r,e),n}function Ni(r,e,t){let n={key:e,code:e,keyCode:t,which:t,cancelable:!0},o=new KeyboardEvent("keydown",n);o.synthetic=!0,r.dispatchEvent(o);let s=new KeyboardEvent("keyup",n);return s.synthetic=!0,r.dispatchEvent(s),o.defaultPrevented||s.defaultPrevented}function $1(r){for(;r;){if(r&&(r.nodeType==9||r.nodeType==11&&r.host))return r;r=r.assignedSlot||r.parentNode}return null}function xw(r){for(;r.attributes.length;)r.removeAttributeNode(r.attributes[0])}function K1(r,e){let t=e.focusNode,n=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=n)return!1;for(n=Math.min(n,go(t));;)if(n){if(t.nodeType!=1)return!1;let o=t.childNodes[n-1];o.contentEditable=="false"?n--:(t=o,n=go(t))}else{if(t==r)return!0;n=$u(t),t=t.parentNode}}function vw(r){return r.scrollTop>Math.max(1,r.scrollHeight-r.clientHeight-4)}var pt=class{constructor(e,t,n=!0){this.node=e,this.offset=t,this.precise=n}static before(e,t){return new pt(e.parentNode,$u(e),t)}static after(e,t){return new pt(e.parentNode,$u(e)+1,t)}},Mp=[],Re=class{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(this.flags&2){let n=this.dom,o=null,s;for(let i of this.children){if(i.flags&7){if(!i.dom&&(s=o?o.nextSibling:n.firstChild)){let l=Re.get(s);(!l||!l.parent&&l.canReuseDOM(i))&&i.reuseDOM(s)}i.sync(e,t),i.flags&=-8}if(s=o?o.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&s!=i.dom&&(t.written=!0),i.dom.parentNode==n)for(;s&&s!=i.dom;)s=$C(s);else n.insertBefore(i.dom,s);o=i.dom}for(s=o?o.nextSibling:n.firstChild,s&&t&&t.node==n&&(t.written=!0);s;)s=$C(s)}else if(this.flags&1)for(let n of this.children)n.flags&7&&(n.sync(e,t),n.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let n;if(e==this.dom)n=this.dom.childNodes[t];else{let o=go(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?n=e:n=e.nextSibling}if(n==this.dom.firstChild)return 0;for(;n&&!Re.get(n);)n=n.nextSibling;if(!n)return this.length;for(let o=0,s=0;;o++){let i=this.children[o];if(i.dom==n)return s;s+=i.length+i.breakAfter}}domBoundsAround(e,t,n=0){let o=-1,s=-1,i=-1,l=-1;for(let a=0,c=n,u=n;a<this.children.length;a++){let f=this.children[a],h=c+f.length;if(c<e&&h>t)return f.domBoundsAround(e,t,c);if(h>=e&&o==-1&&(o=a,s=c),c>t&&f.dom.parentNode==this.dom){i=a,l=u;break}u=h,c=h+f.breakAfter}return{from:s,to:l<0?n+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,n=Mp){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,...n);for(let o=0;o<n.length;o++)n[o].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new Ku(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,n,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}};Re.prototype.breakAfter=0;function $C(r){let e=r.nextSibling;return r.parentNode.removeChild(r),e}var Ku=class{constructor(e,t,n){this.children=e,this.pos=t,this.i=n,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 n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}};function Cw(r,e,t,n,o,s,i,l,a){let{children:c}=r,u=c.length?c[e]:null,f=s.length?s[s.length-1]:null,h=f?f.breakAfter:i;if(!(e==n&&u&&!i&&!h&&s.length<2&&u.merge(t,o,s.length?f:null,t==0,l,a))){if(n<c.length){let d=c[n];d&&o<d.length?(e==n&&(d=d.split(o),o=0),!h&&f&&d.merge(0,o,f,!0,0,a)?s[s.length-1]=d:(o&&d.merge(0,o,null,!1,0,a),s.push(d))):d!=null&&d.breakAfter&&(f?f.breakAfter=1:i=1),n++}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<n&&s.length;)if(c[n-1].become(s[s.length-1]))n--,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&&n<c.length&&!c[e-1].breakAfter&&c[n].merge(0,0,c[e-1],!1,l,a)&&e--,(e<n||s.length)&&r.replaceChildren(e,n,s)}}function ww(r,e,t,n,o,s){let i=r.childCursor(),{i:l,off:a}=i.findPos(t,1),{i:c,off:u}=i.findPos(e,-1),f=e-t;for(let h of n)f+=h.length;r.length+=f,Cw(r,c,u,l,a,n,0,o,s)}var Oi="\uFFFF",Wu=class{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(ve.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Oi}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let o=e;;){this.findPointBefore(n,o);let s=this.text.length;this.readNode(o);let i=o.nextSibling;if(i==t)break;let l=Re.get(o),a=Re.get(i);(l&&a?l.breakAfter:(l?l.breakAfter:KC(o))||KC(i)&&(o.nodeName!="BR"||o.cmIgnore)&&this.text.length>s)&&this.lineBreak(),o=i}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,o=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,i=1,l;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),i=this.lineSeparator.length):(l=o.exec(t))&&(s=l.index,i=l[0].length),this.append(t.slice(n,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);n=s+i}}readNode(e){if(e.cmIgnore)return;let t=Re.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let o=n.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 n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+Math.min(t,n.offset))}};function KC(r){return r.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(r.nodeName)}var Uu=class{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}},ln=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},qd=typeof document<"u"?document:{documentElement:{style:{}}},Xd=/Edge\/(\d+)/.exec(ln.userAgent),Sw=/MSIE \d/.test(ln.userAgent),Yd=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ln.userAgent),Xu=!!(Sw||Yd||Xd),WC=!Xu&&/gecko\/(\d+)/i.test(ln.userAgent),Kd=!Xu&&/Chrome\/(\d+)/.exec(ln.userAgent),UC="webkitFontSmoothing"in qd.documentElement.style,Tw=!Xu&&/Apple Computer/.test(ln.vendor),_C=Tw&&(/Mobile\/\w+/.test(ln.userAgent)||ln.maxTouchPoints>2),ee={mac:_C||/Mac/.test(ln.platform),windows:/Win/.test(ln.platform),linux:/Linux|X11/.test(ln.platform),ie:Xu,ie_version:Sw?qd.documentMode||6:Yd?+Yd[1]:Xd?+Xd[1]:0,gecko:WC,gecko_version:WC?+(/Firefox\/(\d+)/.exec(ln.userAgent)||[0,0])[1]:0,chrome:!!Kd,chrome_version:Kd?+Kd[1]:0,ios:_C,android:/Android\b/.test(ln.userAgent),webkit:UC,safari:Tw,webkit_version:UC?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:qd.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},W1=256,vn=class extends Re{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,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,n){return this.flags&8||n&&(!(n instanceof vn)||this.length-(t-e)+n.length>W1||n.flags&8)?!1:(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new vn(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 pt(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return U1(this.dom,e,t)}},_n=class extends Re{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let o of t)o.setParent(this)}setAttrs(e){if(xw(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,n,o,s,i){return n&&(!(n instanceof _n&&n.mark.eq(this.mark))||e&&s<=0||t<this.length&&i<=0)?!1:(ww(this,e,t,n?n.children:[],s-1,i-1),this.markDirty(),!0)}split(e){let t=[],n=0,o=-1,s=0;for(let l of this.children){let a=n+l.length;a>e&&t.push(n<e?l.split(e-n):l),o<0&&n>=e&&(o=s),n=a,s++}let i=this.length-e;return this.length=e,o>-1&&(this.children.length=o,this.markDirty()),new _n(this.mark,t,i)}domAtPos(e){return Ew(this,e)}coordsAt(e,t){return Dw(this,e,t)}};function U1(r,e,t){let n=r.nodeValue.length;e>n&&(e=n);let o=e,s=e,i=0;e==0&&t<0||e==n&&t>=0?ee.chrome||ee.gecko||(e?(o--,i=1):s<n&&(s++,i=-1)):t<0?o--:s<n&&s++;let l=xs(r,o,s).getClientRects();if(!l.length)return null;let a=l[(i?i<0:t>=0)?0:l.length-1];return ee.safari&&!i&&a.width==0&&(a=Array.prototype.find.call(l,c=>c.width)||a),i?Dp(a,i<0):a||null}var Nr=class extends Re{constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}static create(e,t,n){return new Nr(e,t,n)}split(e){let t=Nr.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,n,o,s,i){return n&&(!(n instanceof Nr)||!this.widget.compare(n.widget)||e>0&&s<=0||t<this.length&&i<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}become(e){return e instanceof Nr&&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 ge.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,n=t&&t.state.doc,o=this.posAtStart;return n?n.slice(o,o+this.length):ge.empty}domAtPos(e){return(this.length?e==0:this.side>0)?pt.before(this.dom):pt.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;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 Dp(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)}},bo=class extends Re{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof bo&&e.side==this.side}split(){return new bo(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?pt.before(this.dom):pt.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return ge.empty}get isHidden(){return!0}};vn.prototype.children=Nr.prototype.children=bo.prototype.children=Mp;function Ew(r,e){let t=r.dom,{children:n}=r,o=0;for(let s=0;o<n.length;o++){let i=n[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=n[s-1];if(i.dom.parentNode==t)return i.domAtPos(i.length)}for(let s=o;s<n.length;s++){let i=n[s];if(i.dom.parentNode==t)return i.domAtPos(0)}return new pt(t,0)}function kw(r,e,t){let n,{children:o}=r;t>0&&e instanceof _n&&o.length&&(n=o[o.length-1])instanceof _n&&n.mark.eq(e.mark)?kw(n,e.children[0],t-1):(o.push(e),e.setParent(r)),r.length+=e.length}function Dw(r,e,t){let n=null,o=-1,s=null,i=-1;function l(c,u){for(let f=0,h=0;f<c.children.length&&h<=u;f++){let d=c.children[f],p=h+d.length;p>=u&&(d.children.length?l(d,u-h):(!s||s.isHidden&&t>0)&&(p>u||h==p&&d.getSide()>0)?(s=d,i=u-h):(h<u||h==p&&d.getSide()<0&&!d.isHidden)&&(n=d,o=u-h)),h=p}}l(r,e);let a=(t<0?n:s)||n||s;return a?a.coordsAt(Math.max(0,a==n?o:i),t):_1(r)}function _1(r){let e=r.dom.lastChild;if(!e)return r.dom.getBoundingClientRect();let t=ma(e);return t[t.length-1]||null}function Jd(r,e){for(let t in r)t=="class"&&e.class?e.class+=" "+r.class:t=="style"&&e.style?e.style+=";"+r.style:e[t]=r[t];return e}var GC=Object.create(null);function Rp(r,e,t){if(r==e)return!0;r||(r=GC),e||(e=GC);let n=Object.keys(r),o=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=o.length-(t&&o.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(o.indexOf(s)==-1||r[s]!==e[s]))return!1;return!0}function Zd(r,e,t){let n=null;if(e)for(let o in e)t&&o in t||r.removeAttribute(n=o);if(t)for(let o in t)e&&e[o]==t[o]||r.setAttribute(n=o,t[o]);return!!n}function G1(r){let e=Object.create(null);for(let t=0;t<r.attributes.length;t++){let n=r.attributes[t];e[n.name]=n.value}return e}var Fr=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,n){return null}get isHidden(){return!1}destroy(e){}},Ye=function(r){return r[r.Text=0]="Text",r[r.WidgetBefore=1]="WidgetBefore",r[r.WidgetAfter=2]="WidgetAfter",r[r.WidgetRange=3]="WidgetRange",r}(Ye||(Ye={})),lt=class extends Un{constructor(e,t,n,o){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=o}get heightRelevant(){return!1}static mark(e){return new vs(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return t+=n&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new cr(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,o;if(e.isBlockGap)n=-5e8,o=4e8;else{let{start:s,end:i}=Mw(e,t);n=(s?t?-3e8:-1:5e8)-1,o=(i?t?2e8:1:-6e8)+1}return new cr(e,n,o,t,e.widget||null,!0)}static line(e){return new Cs(e)}static set(e,t=!1){return Ae.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};lt.none=Ae.empty;var vs=class extends lt{constructor(e){let{start:t,end:n}=Mw(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof vs&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((n=e.attrs)===null||n===void 0?void 0:n.class))&&Rp(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)}};vs.prototype.point=!1;var Cs=class extends lt{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Cs&&this.spec.class==e.spec.class&&Rp(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)}};Cs.prototype.mapMode=Ct.TrackBefore;Cs.prototype.point=!0;var cr=class extends lt{constructor(e,t,n,o,s,i){super(t,n,s,e),this.block=o,this.isReplace=i,this.mapMode=o?t<=0?Ct.TrackBefore:Ct.TrackAfter:Ct.TrackDel}get type(){return this.startSide<this.endSide?Ye.WidgetRange:this.startSide<=0?Ye.WidgetBefore:Ye.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof cr&&Q1(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)}};cr.prototype.point=!0;function Mw(r,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=r;return t==null&&(t=r.inclusive),n==null&&(n=r.inclusive),{start:t!=null?t:e,end:n!=null?n:e}}function Q1(r,e){return r==e||!!(r&&e&&r.compare(e))}function ep(r,e,t,n=0){let o=t.length-1;o>=0&&t[o]+n>=r?t[o]=Math.max(t[o],e):t.push(r,e)}var dt=class extends Re{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,o,s,i){if(n){if(!(n instanceof dt))return!1;this.dom||n.transferDOM(this)}return o&&this.setDeco(n?n.attrs:null),ww(this,e,t,n?n.children:[],s,i),!0}split(e){let t=new dt;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i:n,off:o}=this.childPos(e);o&&(t.append(this.children[n].split(o),0),this.children[n].merge(o,this.children[n].length,null,!1,0,0),n++);for(let s=n;s<this.children.length;s++)t.append(this.children[s],0);for(;n>0&&this.children[n-1].length==0;)this.children[--n].destroy();return this.children.length=n,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){Rp(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){kw(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=Jd(t,this.attrs||{})),n&&(this.attrs=Jd({class:n},this.attrs||{}))}domAtPos(e){return Ew(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?this.flags&4&&(xw(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&&(Zd(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&&Re.get(o)instanceof _n;)o=o.lastChild;if(!o||!this.length||o.nodeName!="BR"&&((n=Re.get(o))===null||n===void 0?void 0:n.isEditable)==!1&&(!ee.ios||!this.children.some(s=>s instanceof vn))){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 n of this.children){if(!(n instanceof vn)||/[^ -~]/.test(n.text))return null;let o=ma(n.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 n=Dw(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:o}=this.parent.view.viewState,s=n.bottom-n.top;if(Math.abs(s-o.lineHeight)<2&&o.textHeight<s){let i=(s-o.textHeight)/2;return{top:n.top+i,bottom:n.bottom-i,left:n.left,right:n.left}}}return n}become(e){return!1}get type(){return Ye.Text}static find(e,t){for(let n=0,o=0;n<e.children.length;n++){let s=e.children[n],i=o+s.length;if(i>=t){if(s instanceof dt)return s;if(i>t)break}o=i+s.breakAfter}return null}},Br=class extends Re{constructor(e,t,n){super(),this.widget=e,this.length=t,this.type=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,o,s,i){return n&&(!(n instanceof Br)||!this.widget.compare(n.widget)||e>0&&s<=0||t<this.length&&i<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}domAtPos(e){return e==0?pt.before(this.dom):pt.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let n=new Br(this.widget,t,this.type);return n.breakAfter=this.breakAfter,n}get children(){return Mp}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):ge.empty}domBoundsAround(){return null}become(e){return e instanceof Br&&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)}},ys=class{constructor(e,t,n,o){this.doc=e,this.pos=t,this.end=n,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 Br&&e.type==Ye.WidgetBefore)}getLine(){return this.curLine||(this.content.push(this.curLine=new dt),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(Du(new bo(-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,n){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-n)),this.getLine().append(Du(new vn(this.text.slice(this.textOff,this.textOff+o)),t),n),this.atCursorPos=!0,this.textOff+=o,e-=o,n=0}}span(e,t,n,o){this.buildText(t-e,n,o),this.pos=t,this.openStart<0&&(this.openStart=o)}point(e,t,n,o,s,i){if(this.disallowBlockEffectsFor[i]&&n instanceof cr){if(n.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(n instanceof cr)if(n.block){let{type:a}=n;a==Ye.WidgetAfter&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Br(n.widget||new _u("div"),l,a))}else{let a=Nr.create(n.widget||new _u("span"),l,l?0:n.startSide),c=this.atCursorPos&&!a.isEditable&&s<=o.length&&(e<t||n.startSide>0),u=!a.isEditable&&(e<t||s>o.length||n.startSide<=0),f=this.getLine();this.pendingBuffer==2&&!c&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(o),c&&(f.append(Du(new bo(1),o),s),s=o.length+Math.max(0,s-o.length)),f.append(Du(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(n);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,n,o,s){let i=new ys(e,t,n,s);return i.openEnd=Ae.spans(o,t,n,i),i.openStart<0&&(i.openStart=i.openEnd),i.finish(i.openEnd),i}};function Du(r,e){for(let t of e)r=new _n(t,[r],r.length);return r}var _u=class extends Fr{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}},Rw=se.define(),Pw=se.define(),Iw=se.define(),Aw=se.define(),tp=se.define(),Lw=se.define(),Ow=se.define(),Hw=se.define({combine:r=>r.some(e=>e)}),Nw=se.define({combine:r=>r.some(e=>e)}),Bi=class{constructor(e,t="nearest",n="nearest",o=5,s=5){this.range=e,this.y=t,this.x=n,this.yMargin=o,this.xMargin=s}map(e){return e.empty?this:new Bi(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}},QC=Ne.define({map:(r,e)=>r.map(e)});function ar(r,e,t){let n=r.facet(Aw);n.length?n[0](e):window.onerror?window.onerror(String(e),t,void 0,void 0,e):t?console.error(t+":",e):console.error(e)}var Yu=se.define({combine:r=>r.length?r[0]:!0}),j1=0,ua=se.define(),Cn=class{constructor(e,t,n,o){this.id=e,this.create=t,this.domEventHandlers=n,this.extension=o(this)}static define(e,t){let{eventHandlers:n,provide:o,decorations:s}=t||{};return new Cn(j1++,e,n,i=>{let l=[ua.of(i)];return s&&l.push(ga.of(a=>{let c=a.plugin(i);return c?s(c):lt.none})),o&&l.push(o(i)),l})}static fromClass(e,t){return Cn.define(n=>new e(n),t)}},da=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(n){if(ar(t.state,n,"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){ar(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(n){ar(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Bw=se.define(),Pp=se.define(),ga=se.define(),Ip=se.define(),Fw=se.define();function zw(r){let e=0,t=0,n=0,o=0;for(let s of r.state.facet(Fw)){let i=s(r);i&&(i.left!=null&&(e=Math.max(e,i.left)),i.right!=null&&(t=Math.max(t,i.right)),i.top!=null&&(n=Math.max(n,i.top)),i.bottom!=null&&(o=Math.max(o,i.bottom)))}return{left:e,right:t,top:n,bottom:o}}var fa=se.define(),Gt=class{constructor(e,t,n,o){this.fromA=e,this.toA=t,this.fromB=n,this.toB=o}join(e){return new Gt(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,n=this;for(;t>0;t--){let o=e[t-1];if(!(o.fromA>n.toA)){if(o.toA<n.fromA)break;n=n.join(o),e.splice(t-1,1)}}return e.splice(t,0,n),e}static extendWithRanges(e,t){if(t.length==0)return e;let n=[];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 f=t[s],h=t[s+1],d=Math.max(l,f),p=Math.min(u,h);if(d<=p&&new Gt(d+c,p+c,d,p).addToSet(n),h>u)break;s+=2}if(!a)return n;new Gt(a.fromA,a.toA,a.fromB,a.toB).addToSet(n),i=a.toA,l=a.toB}}},Fi=class{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=Ke.empty(this.startState.doc.length);for(let s of n)this.changes=this.changes.compose(s.changes);let o=[];this.changes.iterChangedRanges((s,i,l,a)=>o.push(new Gt(s,i,l,a))),this.changedRanges=o}static create(e,t,n){return new Fi(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&10)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},Xe=function(r){return r[r.LTR=0]="LTR",r[r.RTL=1]="RTL",r}(Xe||(Xe={})),np=Xe.LTR,q1=Xe.RTL;function Vw(r){let e=[];for(let t=0;t<r.length;t++)e.push(1<<+r[t]);return e}var X1=Vw("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Y1=Vw("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),rp=Object.create(null),lr=[];for(let r of["()","[]","{}"]){let e=r.charCodeAt(0),t=r.charCodeAt(1);rp[e]=t,rp[t]=-e}function J1(r){return r<=247?X1[r]:1424<=r&&r<=1524?2:1536<=r&&r<=1785?Y1[r-1536]:1774<=r&&r<=2220?4:8192<=r&&r<=8203?256:64336<=r&&r<=65023?4:r==8204?256:1}var Z1=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,mo=class{constructor(e,t,n){this.from=e,this.to=t,this.level=n}get dir(){return this.level%2?q1:np}side(e,t){return this.dir==t==e?this.to:this.from}static find(e,t,n,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==n)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 eI(r,e){let t=r.length,n=e==np?1:2,o=e==np?2:1;if(!r||n==1&&!Z1.test(r))return $w(t);for(let i=0,l=n,a=n;i<t;i++){let c=J1(r.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=n,a=n;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 f=i&&l==8||u<t&&Ue[u]==8?a==1?1:8:256;for(let h=i;h<u;h++)Ue[h]=f;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,f;i<t;i++)if(u=rp[c=r.charCodeAt(i)])if(u<0){for(let h=l-3;h>=0;h-=3)if(lr[h+1]==-u){let d=lr[h+2],p=d&2?n:d&4?d&1?o:n:0;p&&(Ue[i]=Ue[lr[h]]=p),l=h;break}}else{if(lr.length==189)break;lr[l++]=i,lr[l++]=c,lr[l++]=a}else if((f=Ue[i])==2||f==1){let h=f==n;a=h?0:1;for(let d=l-3;d>=0;d-=3){let p=lr[d+2];if(p&2)break;if(h)lr[d+2]|=2;else{if(p&4)break;lr[d+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]:n)==1,c=(l<t?Ue[l]:n)==1,u=a==c?a?1:2:n;for(let f=i;f<l;f++)Ue[f]=u;i=l-1}let s=[];if(n==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,f=Ue[--c]!=2;for(;c>l&&f==(Ue[c-1]!=2);)c--;s.push(new mo(c,u,f?2:1))}else s.push(new mo(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 mo(l,i,a?1:2))}return s}function $w(r){return[new mo(0,r,0)]}var Kw="";function tI(r,e,t,n,o){var s;let i=n.head-r.from,l=-1;if(i==0){if(!o||!r.length)return null;e[0].level!=t&&(i=e[0].side(!1,t),l=0)}else if(i==r.length){if(o)return null;let h=e[e.length-1];h.level!=t&&(i=h.side(!0,t),l=e.length-1)}l<0&&(l=mo.find(e,i,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.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=wt(r.text,i,c);if(Kw=r.text.slice(Math.min(i,u),Math.max(i,u)),u!=a.side(o,t))return F.cursor(u+r.from,c?-1:1,a.level);let f=l==(o?e.length-1:0)?null:e[l+(o?1:-1)];return!f&&a.level!=t?F.cursor(o?r.to:r.from,o?-1:1,t):f&&f.level<a.level?F.cursor(f.side(!o,t)+r.from,o?1:-1,f.level):F.cursor(u+r.from,o?-1:1,a.level)}var Gu=class extends Re{constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[],this.hasComposition=null,this.markedForComposition=new Set,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new dt],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Gt(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 n=this.view.inputState.composing<0?null:rI(this.view,e.changes);if(this.hasComposition){this.markedForComposition.clear();let{from:l,to:a}=this.hasComposition;t=new Gt(l,a,e.changes.mapPos(l,-1),e.changes.mapPos(a,1)).addToSet(t.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(ee.ie||ee.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,s=this.updateDeco(),i=sI(o,s,e.changes);return t=Gt.extendWithRanges(t,i),!(this.flags&7)&&t.length==0?!1:(this.updateInner(t,e.startState.doc.length,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);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=ee.chrome||ee.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 Br&&i.widget instanceof Qu&&s.push(i.dom);o.updateGaps(s)}updateChildren(e,t,n){let o=n?n.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:f}=l,h,d,p,m;if(n&&n.range.fromB<f&&n.range.toB>u){let x=ys.build(this.view.state.doc,u,n.range.fromB,this.decorations,this.dynamicDecorationMap),S=ys.build(this.view.state.doc,n.range.toB,f,this.decorations,this.dynamicDecorationMap);d=x.breakAtStart,p=x.openStart,m=S.openEnd;let b=this.compositionView(n);S.breakAtStart?b.breakAfter=1:S.content.length&&b.merge(b.length,b.length,S.content[0],!1,S.openStart,0)&&(b.breakAfter=S.content[0].breakAfter,S.content.shift()),x.content.length&&b.merge(0,0,x.content[x.content.length-1],!0,0,x.openEnd)&&x.content.pop(),h=x.content.concat(b).concat(S.content)}else({content:h,breakAtStart:d,openStart:p,openEnd:m}=ys.build(this.view.state.doc,u,f,this.decorations,this.dynamicDecorationMap));let{i:g,off:y}=s.findPos(c,1),{i:C,off:v}=s.findPos(a,-1);Cw(this,C,v,g,y,h,d,p,m)}n&&this.fixCompositionDOM(n)}compositionView(e){let t=new vn(e.text.nodeValue);t.flags|=8;for(let{deco:o}of e.marks)t=new _n(o,[t],t.length);let n=new dt;return n.append(t,0),n}fixCompositionDOM(e){let t=(s,i)=>{i.flags|=8,this.markedForComposition.add(i);let l=Re.get(s);l!=i&&(l&&(l.dom=null),i.setDOM(s))},n=this.childPos(e.range.fromB,1),o=this.children[n.i];t(e.line,o);for(let s=e.marks.length-1;s>=-1;s--)n=o.childPos(n.off,1),o=o.children[n.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 n=this.view.root.activeElement,o=n==this.dom,s=!o&&Ou(this.dom,this.view.observer.selectionRange)&&!(n&&this.dom.contains(n));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(ee.gecko&&l.empty&&!this.hasComposition&&nI(a)){let f=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(f,a.node.childNodes[a.offset]||null)),a=c=new pt(f,0),i=!0}let u=this.view.observer.selectionRange;(i||!u.focusNode||!Vu(a.node,a.offset,u.anchorNode,u.anchorOffset)||!Vu(c.node,c.offset,u.focusNode,u.focusOffset))&&(this.view.observer.ignore(()=>{ee.android&&ee.chrome&&this.dom.contains(u.focusNode)&&iI(u.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let f=zu(this.view.root);if(f)if(l.empty){if(ee.gecko){let h=oI(a.node,a.offset);if(h&&h!=3){let d=Uw(a.node,a.offset,h==1?1:-1);d&&(a=new pt(d,h==1?0:d.nodeValue.length))}}f.collapse(a.node,a.offset),l.bidiLevel!=null&&u.cursorBidiLevel!=null&&(u.cursorBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(a.node,a.offset);try{f.extend(c.node,c.offset)}catch{}}else{let h=document.createRange();l.anchor>l.head&&([a,c]=[c,a]),h.setEnd(c.node,c.offset),h.setStart(a.node,a.offset),f.removeAllRanges(),f.addRange(h)}s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(a,c)),this.impreciseAnchor=a.precise?null:new pt(u.anchorNode,u.anchorOffset),this.impreciseHead=c.precise?null:new pt(u.focusNode,u.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=zu(e.root),{anchorNode:o,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let i=dt.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);n.collapse(u.node,u.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&n.collapse(o,s)}nearest(e){for(let t=e;t;){let n=Re.get(t);if(n&&n.rootView==this)return n;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let o=this.children[t];if(n<o.length||o instanceof dt)break;t++,n=0}return this.children[t].domAtPos(n)}coordsAt(e,t){for(let n=this.length,o=this.children.length-1;;o--){let s=this.children[o],i=n-s.breakAfter-s.length;if(e>i||e==i&&s.type!=Ye.WidgetBefore&&s.type!=Ye.WidgetAfter&&(!o||t==2||this.children[o-1].breakAfter||this.children[o-1].type==Ye.WidgetBefore&&t>-2))return s.coordsAt(e-i,t);n=i}}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),o=this.children[t];if(!(o instanceof dt))return null;for(;o.children.length;){let{i:l,off:a}=o.childPos(n,1);for(;;l++){if(l==o.children.length)return null;if((o=o.children[l]).length)break}n=a}if(!(o instanceof vn))return null;let s=wt(o.text,n);if(s==n)return null;let i=xs(o.dom,n,s).getClientRects();return!i.length||i[0].top>=i[0].bottom?null:i[0]}measureVisibleLineHeights(e){let t=[],{from:n,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==Xe.LTR;for(let c=0,u=0;u<this.children.length;u++){let f=this.children[u],h=c+f.length;if(h>o)break;if(c>=n){let d=f.dom.getBoundingClientRect();if(t.push(d.height),i){let p=f.dom.lastChild,m=p?ma(p):[];if(m.length){let g=m[m.length-1],y=a?g.right-d.left:d.right-g.left;y>l&&(l=y,this.minWidth=s,this.minWidthFrom=c,this.minWidthTo=h)}}}c=h+f.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?Xe.RTL:Xe.LTR}measureTextSize(){for(let s of this.children)if(s instanceof dt){let i=s.measureTextSize();if(i)return i}let e=document.createElement("div"),t,n,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=ma(e.firstChild)[0];t=e.getBoundingClientRect().height,n=s?s.width/27:7,o=s?s.height:t,e.remove()}),{lineHeight:t,charWidth:n,textHeight:o}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Ku(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,o=0;;o++){let s=o==t.viewports.length?null:t.viewports[o],i=s?s.from-1:this.length;if(i>n){let l=t.lineBlockAt(i).bottom-t.lineBlockAt(n).top;e.push(lt.replace({widget:new Qu(l),block:!0,inclusive:!0,isBlockGap:!0}).range(n,i))}if(!s)break;n=s.to+1}return lt.set(e)}updateDeco(){let e=this.view.state.facet(ga).map((t,n)=>(this.dynamicDecorationMap[n]=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,n=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),o;if(!n)return;!t.empty&&(o=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,o.left),top:Math.min(n.top,o.top),right:Math.max(n.right,o.right),bottom:Math.max(n.bottom,o.bottom)});let s=zw(this.view),i={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom};z1(this.view.scrollDOM,i,t.head<t.anchor?-1:1,e.x,e.y,e.xMargin,e.yMargin,this.view.textDirection==Xe.LTR)}};function nI(r){return r.node.nodeType==1&&r.node.firstChild&&(r.offset==0||r.node.childNodes[r.offset-1].contentEditable=="false")&&(r.offset==r.node.childNodes.length||r.node.childNodes[r.offset].contentEditable=="false")}var Qu=class extends Fr{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 Ww(r){let e=r.observer.selectionRange,t=e.focusNode&&Uw(e.focusNode,e.focusOffset,0);if(!t)return null;let n=Re.get(t),o,s;if(n instanceof vn)o=n.posAtStart,s=o+n.length;else e:for(let i=0,l=t;;){for(let c=l.previousSibling,u;c;c=c.previousSibling){if(u=Re.get(c)){o=s=u.posAtEnd+i;break e}let f=new Wu([],r.state);if(f.readNode(c),f.text.indexOf(Oi)>-1)return null;i+=f.text.length}if(l=l.parentNode,!l)return null;let a=Re.get(l);if(a){o=s=a.posAtStart+i;break}}return{from:o,to:s,node:t}}function rI(r,e){let t=Ww(r);if(!t)return null;let{from:n,to:o,node:s}=t,i=e.mapPos(n,-1),l=e.mapPos(o,1),a=s.nodeValue;if(/[\n\r]/.test(a))return null;if(l-i!=a.length){let h=e.mapPos(n,1),d=e.mapPos(o,-1);if(d-h==a.length)i=h,l=d;else if(r.state.doc.sliceString(l-a.length,l)==a)i=l-a.length;else if(r.state.doc.sliceString(i,i+a.length)==a)l=i+a.length;else return null}let{main:c}=r.state.selection;if(r.state.doc.sliceString(i,l)!=a||i>c.head||l<c.head)return null;let u=[],f=new Gt(n,o,i,l);for(let h=s.parentNode;;h=h.parentNode){let d=Re.get(h);if(d instanceof _n)u.push({node:h,deco:d.mark});else{if(d instanceof dt||h.nodeName=="DIV"&&h.parentNode==r.contentDOM)return{range:f,text:s,marks:u,line:h};if(h!=r.contentDOM)u.push({node:h,deco:new vs({inclusive:!0,attributes:G1(h),tagName:h.tagName.toLowerCase()})});else return null}}}function Uw(r,e,t){if(t<=0)for(let n=r,o=e;;){if(n.nodeType==3)return n;if(n.nodeType==1&&o>0)n=n.childNodes[o-1],o=go(n);else break}if(t>=0)for(let n=r,o=e;;){if(n.nodeType==3)return n;if(n.nodeType==1&&o<n.childNodes.length&&t>=0)n=n.childNodes[o],o=0;else break}return null}function oI(r,e){return r.nodeType!=1?0:(e&&r.childNodes[e-1].contentEditable=="false"?1:0)|(e<r.childNodes.length&&r.childNodes[e].contentEditable=="false"?2:0)}var op=class{constructor(){this.changes=[]}compareRange(e,t){ep(e,t,this.changes)}comparePoint(e,t){ep(e,t,this.changes)}};function sI(r,e,t){let n=new op;return Ae.compare(r,e,t,n),n.changes}function iI(r,e){for(let t=r;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function lI(r,e,t=1){let n=r.charCategorizer(e),o=r.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=wt(o.text,s,!1):l=wt(o.text,s);let a=n(o.text.slice(i,l));for(;i>0;){let c=wt(o.text,i,!1);if(n(o.text.slice(c,i))!=a)break;i=c}for(;l<o.length;){let c=wt(o.text,l);if(n(o.text.slice(l,c))!=a)break;l=c}return F.range(i+o.from,l+o.from)}function aI(r,e){return e.left>r?e.left-r:Math.max(0,r-e.right)}function cI(r,e){return e.top>r?e.top-r:Math.max(0,r-e.bottom)}function Wd(r,e){return r.top<e.bottom-1&&r.bottom>e.top+1}function jC(r,e){return e<r.top?{top:e,left:r.left,right:r.right,bottom:r.bottom}:r}function qC(r,e){return e>r.bottom?{top:r.top,left:r.left,right:r.right,bottom:e}:r}function sp(r,e,t){let n,o,s,i,l=!1,a,c,u,f;for(let p=r.firstChild;p;p=p.nextSibling){let m=ma(p);for(let g=0;g<m.length;g++){let y=m[g];o&&Wd(o,y)&&(y=jC(qC(y,o.bottom),o.top));let C=aI(e,y),v=cI(t,y);if(C==0&&v==0)return p.nodeType==3?XC(p,e,t):sp(p,e,t);if(!n||i>v||i==v&&s>C){n=p,o=y,s=C,i=v;let x=v?t<y.top?-1:1:C?e<y.left?-1:1:0;l=!x||(x>0?g<m.length-1:g>0)}C==0?t>y.bottom&&(!u||u.bottom<y.bottom)?(a=p,u=y):t<y.top&&(!f||f.top>y.top)&&(c=p,f=y):u&&Wd(u,y)?u=qC(u,y.bottom):f&&Wd(f,y)&&(f=jC(f,y.top))}}if(u&&u.bottom>=t?(n=a,o=u):f&&f.top<=t&&(n=c,o=f),!n)return{node:r,offset:0};let h=Math.max(o.left,Math.min(o.right,e));if(n.nodeType==3)return XC(n,h,t);if(l&&n.contentEditable!="false")return sp(n,h,t);let d=Array.prototype.indexOf.call(r.childNodes,n)+(e>=(o.left+o.right)/2?1:0);return{node:r,offset:d}}function XC(r,e,t){let n=r.nodeValue.length,o=-1,s=1e9,i=0;for(let l=0;l<n;l++){let a=xs(r,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 f=(u.top>t?u.top-t:t-u.bottom)-1;if(u.left-1<=e&&u.right+1>=e&&f<s){let h=e>=(u.left+u.right)/2,d=h;if((ee.chrome||ee.gecko)&&xs(r,l).getBoundingClientRect().left==u.right&&(d=!h),f<=0)return{node:r,offset:l+(d?1:0)};o=l+(d?1:0),s=f}}}return{node:r,offset:o>-1?o:i>0?r.nodeValue.length:0}}function _w(r,e,t,n=-1){var o,s;let i=r.contentDOM.getBoundingClientRect(),l=i.top+r.viewState.paddingTop,a,{docHeight:c}=r.viewState,{x:u,y:f}=e,h=f-l;if(h<0)return 0;if(h>c)return r.state.doc.length;for(let x=r.viewState.heightOracle.textHeight/2,S=!1;a=r.elementAtHeight(h),a.type!=Ye.Text;)for(;h=n>0?a.bottom+x:a.top-x,!(h>=0&&h<=c);){if(S)return t?null:0;S=!0,n=-n}f=l+h;let d=a.from;if(d<r.viewport.from)return r.viewport.from==0?0:t?null:YC(r,i,a,u,f);if(d>r.viewport.to)return r.viewport.to==r.state.doc.length?r.state.doc.length:t?null:YC(r,i,a,u,f);let p=r.dom.ownerDocument,m=r.root.elementFromPoint?r.root:p,g=m.elementFromPoint(u,f);g&&!r.contentDOM.contains(g)&&(g=null),g||(u=Math.max(i.left+1,Math.min(i.right-1,u)),g=m.elementFromPoint(u,f),g&&!r.contentDOM.contains(g)&&(g=null));let y,C=-1;if(g&&((o=r.docView.nearest(g))===null||o===void 0?void 0:o.isEditable)!=!1){if(p.caretPositionFromPoint){let x=p.caretPositionFromPoint(u,f);x&&({offsetNode:y,offset:C}=x)}else if(p.caretRangeFromPoint){let x=p.caretRangeFromPoint(u,f);x&&({startContainer:y,startOffset:C}=x,(!r.contentDOM.contains(y)||ee.safari&&uI(y,C,u)||ee.chrome&&fI(y,C,u))&&(y=void 0))}}if(!y||!r.docView.dom.contains(y)){let x=dt.find(r.docView,d);if(!x)return h>a.top+a.height/2?a.to:a.from;({node:y,offset:C}=sp(x.dom,u,f))}let v=r.docView.nearest(y);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(y,C)+v.posAtStart}function YC(r,e,t,n,o){let s=Math.round((n-e.left)*r.defaultCharacterWidth);if(r.lineWrapping&&t.height>r.defaultLineHeight*1.5){let l=r.viewState.heightOracle.textHeight,a=Math.floor((o-t.top-(r.defaultLineHeight-l)*.5)/l);s+=a*r.viewState.heightOracle.lineLength}let i=r.state.sliceDoc(t.from,t.to);return t.from+OC(i,s,r.state.tabSize)}function uI(r,e,t){let n;if(r.nodeType!=3||e!=(n=r.nodeValue.length))return!1;for(let o=r.nextSibling;o;o=o.nextSibling)if(o.nodeType!=1||o.nodeName!="BR")return!1;return xs(r,n-1,n).getBoundingClientRect().left>t}function fI(r,e,t){if(e!=0)return!1;for(let o=r;;){let s=o.parentNode;if(!s||s.nodeType!=1||s.firstChild!=o)return!1;if(s.classList.contains("cm-line"))break;o=s}let n=r.nodeType==1?r.getBoundingClientRect():xs(r,0,Math.max(r.nodeValue.length,1)).getBoundingClientRect();return t-n.left>5}function ip(r,e){let t=r.lineBlockAt(e);if(Array.isArray(t.type)){for(let n of t.type)if(n.to>e||n.to==e&&(n.to==t.to||n.type==Ye.Text))return n}return t}function hI(r,e,t,n){let o=ip(r,e.head),s=!n||o.type!=Ye.Text||!(r.lineWrapping||o.widgetLineBreaks)?null:r.coordsAtPos(e.assoc<0&&e.head>o.from?e.head-1:e.head);if(s){let i=r.dom.getBoundingClientRect(),l=r.textDirectionAt(o.from),a=r.posAtCoords({x:t==(l==Xe.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 JC(r,e,t,n){let o=r.state.doc.lineAt(e.head),s=r.bidiSpans(o),i=r.textDirectionAt(o.from);for(let l=e,a=null;;){let c=tI(o,s,i,l,t),u=Kw;if(!c){if(o.number==(t?r.state.doc.lines:1))return l;u=`
|
|
29
|
+
`,o=r.state.doc.line(o.number+(t?1:-1)),s=r.bidiSpans(o),c=F.cursor(t?o.from:o.to)}if(a){if(!a(u))return l}else{if(!n)return c;a=n(u)}l=c}}function dI(r,e,t){let n=r.state.charCategorizer(e),o=n(t);return s=>{let i=n(s);return o==Ot.Space&&(o=i),o==i}}function pI(r,e,t,n){let o=e.head,s=t?1:-1;if(o==(t?r.state.doc.length:0))return F.cursor(o,e.assoc);let i=e.goalColumn,l,a=r.contentDOM.getBoundingClientRect(),c=r.coordsAtPos(o),u=r.documentTop;if(c)i==null&&(i=c.left-a.left),l=s<0?c.top:c.bottom;else{let d=r.viewState.lineBlockAt(o);i==null&&(i=Math.min(a.right-a.left,r.defaultCharacterWidth*(o-d.from))),l=(s<0?d.top:d.bottom)+u}let f=a.left+i,h=n!=null?n:r.viewState.heightOracle.textHeight>>1;for(let d=0;;d+=10){let p=l+(h+d)*s,m=_w(r,{x:f,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 Hu(r,e,t){for(;;){let n=0;for(let o of r)o.between(e-1,e+1,(s,i,l)=>{if(e>s&&e<i){let a=n||t||(e-s<i-e?-1:1);e=a<0?s:i,n=a}});if(!n)return e}}function Ud(r,e,t){let n=Hu(r.state.facet(Ip).map(o=>o(r)),t.from,e.head>t.from?-1:1);return n==t.from?t:F.cursor(n,n<t.from?1:-1)}var lp=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=(n,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():n(e,o))};for(let n in ot){let o=ot[n];e.contentDOM.addEventListener(n,s=>{ZC(e,s)&&t(o,s)},cp[n]),this.registeredEvents.push(n)}e.scrollDOM.addEventListener("mousedown",n=>{if(n.target==e.scrollDOM&&n.clientY>e.contentDOM.getBoundingClientRect().bottom&&(t(ot.mousedown,n),!n.defaultPrevented&&n.button==2)){let o=e.contentDOM.style.minHeight;e.contentDOM.style.minHeight="100%",setTimeout(()=>e.contentDOM.style.minHeight=o,200)}}),e.scrollDOM.addEventListener("drop",n=>{n.target==e.scrollDOM&&n.clientY>e.contentDOM.getBoundingClientRect().bottom&&t(ot.drop,n)}),ee.chrome&&ee.chrome_version==102&&e.scrollDOM.addEventListener("wheel",()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout(()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=e.hasFocus,ee.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,t){var n;let o;this.customHandlers=[];for(let s of t)if(o=(n=s.update(e).spec)===null||n===void 0?void 0:n.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=>{ZC(e,l)&&this.runCustomHandlers(i,e,l)&&l.preventDefault()}))}}runCustomHandlers(e,t,n){for(let o of this.customHandlers){let s=o.handlers[e];if(s)try{if(s.call(o.plugin,n,t)||n.defaultPrevented)return!0}catch(i){ar(t.state,i)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let n of this.customHandlers){let o=n.handlers.scroll;if(o)try{o.call(n.plugin,t,e)}catch(s){ar(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&&Qw.indexOf(t.keyCode)<0&&(e.inputState.lastEscPress=0),ee.android&&ee.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return e.observer.delayAndroidKey(t.key,t.keyCode),!0;let n;return ee.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&((n=Gw.find(o=>o.keyCode==t.keyCode))&&!t.ctrlKey||mI.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(this.pendingIOSKey=n||t,setTimeout(()=>this.flushIOSKey(e),250),!0):!1}flushIOSKey(e){let t=this.pendingIOSKey;return t?(this.pendingIOSKey=void 0,Ni(e.contentDOM,t.key,t.keyCode)):!1}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:ee.safari&&!ee.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}mustFlushObserver(e){return e.type=="keydown"&&e.keyCode!=229}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}},Gw=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],mI="dthko",Qw=[16,17,18,20,91,92,224,225],Mu=6;function Ru(r){return Math.max(0,r)*.7+8}function gI(r,e){return Math.max(Math.abs(r.clientX-e.clientX),Math.abs(r.clientY-e.clientY))}var ap=class{constructor(e,t,n,o){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=o,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=V1(e.contentDOM),this.atoms=e.state.facet(Ip).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(ve.allowMultipleSelections)&&bI(e,t),this.dragging=xI(e,t)&&Yw(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&&gI(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let n=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=zw(this.view);e.clientX-i.left<=s.left+Mu?n=-Ru(s.left-e.clientX):e.clientX+i.right>=s.right-Mu&&(n=Ru(e.clientX-s.right)),e.clientY-i.top<=s.top+Mu?o=-Ru(s.top-e.clientY):e.clientY+i.bottom>=s.bottom-Mu&&(o=Ru(e.clientY-s.bottom)),this.setScrollSpeed(n,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 n=0;n<e.ranges.length;n++){let o=e.ranges[n],s=null;if(o.empty){let i=Hu(this.atoms,o.from,0);i!=o.from&&(s=F.cursor(i,-1))}else{let i=Hu(this.atoms,o.from,-1),l=Hu(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[n]=s)}return t?F.create(t,e.mainIndex):e}select(e){let{view:t}=this,n=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection)||n.main.assoc!=t.state.selection.main.assoc&&this.dragging===!1)&&this.view.dispatch({selection:n,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 bI(r,e){let t=r.state.facet(Rw);return t.length?t[0](e):ee.mac?e.metaKey:e.ctrlKey}function yI(r,e){let t=r.state.facet(Pw);return t.length?t[0](e):ee.mac?!e.altKey:!e.ctrlKey}function xI(r,e){let{main:t}=r.state.selection;if(t.empty)return!1;let n=zu(r.root);if(!n||n.rangeCount==0)return!0;let o=n.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 ZC(r,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=r.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=Re.get(t))&&n.ignoreEvent(e))return!1;return!0}var ot=Object.create(null),cp=Object.create(null),jw=ee.ie&&ee.ie_version<15||ee.ios&&ee.webkit_version<604;function vI(r){let e=r.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{r.focus(),t.remove(),qw(r,t.value)},50)}function qw(r,e){let{state:t}=r,n,o=1,s=t.toText(e),i=s.lines==t.selection.ranges.length;if(up!=null&&t.selection.ranges.every(a=>a.empty)&&up==s.toString()){let a=-1;n=t.changeByRange(c=>{let u=t.doc.lineAt(c.from);if(u.from==a)return{range:c};a=u.from;let f=t.toText((i?s.line(o++).text:e)+t.lineBreak);return{changes:{from:u.from,insert:f},range:F.cursor(c.from+f.length)}})}else i?n=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)}}):n=t.replaceSelection(s);r.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}ot.keydown=(r,e)=>{r.inputState.setSelectionOrigin("select"),e.keyCode==27&&(r.inputState.lastEscPress=Date.now())};ot.touchstart=(r,e)=>{r.inputState.lastTouchTime=Date.now(),r.inputState.setSelectionOrigin("select.pointer")};ot.touchmove=r=>{r.inputState.setSelectionOrigin("select.pointer")};cp.touchstart=cp.touchmove={passive:!0};ot.mousedown=(r,e)=>{if(r.observer.flush(),r.inputState.lastTouchTime>Date.now()-2e3)return;let t=null;for(let n of r.state.facet(Iw))if(t=n(r,e),t)break;if(!t&&e.button==0&&(t=SI(r,e)),t){let n=!r.hasFocus;r.inputState.startMouseSelection(new ap(r,e,t,n)),n&&r.observer.ignore(()=>yw(r.contentDOM)),r.inputState.mouseSelection&&r.inputState.mouseSelection.start(e)}};function ew(r,e,t,n){if(n==1)return F.cursor(e,t);if(n==2)return lI(r.state,e,t);{let o=dt.find(r.docView,e),s=r.state.doc.lineAt(o?o.posAtEnd:e),i=o?o.posAtStart:s.from,l=o?o.posAtEnd:s.to;return l<r.state.doc.length&&l==s.to&&l++,F.range(i,l)}}var Xw=(r,e)=>r>=e.top&&r<=e.bottom,tw=(r,e,t)=>Xw(e,t)&&r>=t.left&&r<=t.right;function CI(r,e,t,n){let o=dt.find(r.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&&tw(t,n,i))return-1;let l=o.coordsAt(s,1);return l&&tw(t,n,l)?1:i&&Xw(n,i)?-1:1}function nw(r,e){let t=r.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:CI(r,t,e.clientX,e.clientY)}}var wI=ee.ie&&ee.ie_version<=11,rw=null,ow=0,sw=0;function Yw(r){if(!wI)return r.detail;let e=rw,t=sw;return rw=r,sw=Date.now(),ow=!e||t>Date.now()-400&&Math.abs(e.clientX-r.clientX)<2&&Math.abs(e.clientY-r.clientY)<2?(ow+1)%3:1}function SI(r,e){let t=nw(r,e),n=Yw(e),o=r.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=nw(r,s),c,u=ew(r,a.pos,a.bias,n);if(t.pos!=a.pos&&!i){let f=ew(r,t.pos,t.bias,n),h=Math.min(f.from,u.from),d=Math.max(f.to,u.to);u=h<u.from?F.range(h,d):F.range(d,h)}return i?o.replaceRange(o.main.extend(u.from,u.to)):l&&n==1&&o.ranges.length>1&&(c=TI(o,a.pos))?c:l?o.addRange(u):F.create([u])}}}function TI(r,e){for(let t=0;t<r.ranges.length;t++){let{from:n,to:o}=r.ranges[t];if(n<=e&&o>=e)return F.create(r.ranges.slice(0,t).concat(r.ranges.slice(t+1)),r.mainIndex==t?0:r.mainIndex-(r.mainIndex>t?1:0))}return null}ot.dragstart=(r,e)=>{let{selection:{main:t}}=r.state,{mouseSelection:n}=r.inputState;n&&(n.dragging=t),e.dataTransfer&&(e.dataTransfer.setData("Text",r.state.sliceDoc(t.from,t.to)),e.dataTransfer.effectAllowed="copyMove")};function iw(r,e,t,n){if(!t)return;let o=r.posAtCoords({x:e.clientX,y:e.clientY},!1);e.preventDefault();let{mouseSelection:s}=r.inputState,i=n&&s&&s.dragging&&yI(r,e)?{from:s.dragging.from,to:s.dragging.to}:null,l={from:o,insert:t},a=r.state.changes(i?[i,l]:l);r.focus(),r.dispatch({changes:a,selection:{anchor:a.mapPos(o,-1),head:a.mapPos(o,1)},userEvent:i?"move.drop":"input.drop"})}ot.drop=(r,e)=>{if(!e.dataTransfer)return;if(r.state.readOnly)return e.preventDefault();let t=e.dataTransfer.files;if(t&&t.length){e.preventDefault();let n=Array(t.length),o=0,s=()=>{++o==t.length&&iw(r,e,n.filter(i=>i!=null).join(r.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)||(n[i]=l.result),s()},l.readAsText(t[i])}}else iw(r,e,e.dataTransfer.getData("Text"),!0)};ot.paste=(r,e)=>{if(r.state.readOnly)return e.preventDefault();r.observer.flush();let t=jw?null:e.clipboardData;t?(qw(r,t.getData("text/plain")||t.getData("text/uri-text")),e.preventDefault()):vI(r)};function EI(r,e){let t=r.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),r.focus()},50)}function kI(r){let e=[],t=[],n=!1;for(let o of r.selection.ranges)o.empty||(e.push(r.sliceDoc(o.from,o.to)),t.push(o));if(!e.length){let o=-1;for(let{from:s}of r.selection.ranges){let i=r.doc.lineAt(s);i.number>o&&(e.push(i.text),t.push({from:i.from,to:Math.min(r.doc.length,i.to+1)})),o=i.number}n=!0}return{text:e.join(r.lineBreak),ranges:t,linewise:n}}var up=null;ot.copy=ot.cut=(r,e)=>{let{text:t,ranges:n,linewise:o}=kI(r.state);if(!t&&!o)return;up=o?t:null;let s=jw?null:e.clipboardData;s?(e.preventDefault(),s.clearData(),s.setData("text/plain",t)):EI(r,t),e.type=="cut"&&!r.state.readOnly&&r.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"})};var Jw=sn.define();function Zw(r,e){let t=[];for(let n of r.facet(Ow)){let o=n(r,e);o&&t.push(o)}return t?r.update({effects:t,annotations:Jw.of(!0)}):null}function eS(r){setTimeout(()=>{let e=r.hasFocus;if(e!=r.inputState.notifiedFocused){let t=Zw(r.state,e);t?r.dispatch(t):r.update([])}},10)}ot.focus=r=>{r.inputState.lastFocusTime=Date.now(),!r.scrollDOM.scrollTop&&(r.inputState.lastScrollTop||r.inputState.lastScrollLeft)&&(r.scrollDOM.scrollTop=r.inputState.lastScrollTop,r.scrollDOM.scrollLeft=r.inputState.lastScrollLeft),eS(r)};ot.blur=r=>{r.observer.clearSelectionRange(),eS(r)};ot.compositionstart=ot.compositionupdate=r=>{r.inputState.compositionFirstChange==null&&(r.inputState.compositionFirstChange=!0),r.inputState.composing<0&&(r.inputState.composing=0)};ot.compositionend=r=>{r.inputState.composing=-1,r.inputState.compositionEndedAt=Date.now(),r.inputState.compositionPendingKey=!0,r.inputState.compositionPendingChange=r.observer.pendingRecords().length>0,r.inputState.compositionFirstChange=null,ee.chrome&&ee.android?r.observer.flushSoon():r.inputState.compositionPendingChange?Promise.resolve().then(()=>r.observer.flush()):setTimeout(()=>{r.inputState.composing<0&&r.docView.hasComposition&&r.update([])},50)};ot.contextmenu=r=>{r.inputState.lastContextMenu=Date.now()};ot.beforeinput=(r,e)=>{var t;let n;if(ee.chrome&&ee.android&&(n=Gw.find(o=>o.inputType==e.inputType))&&(r.observer.delayAndroidKey(n.key,n.keyCode),n.key=="Backspace"||n.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&&r.hasFocus&&(r.contentDOM.blur(),r.focus())},100)}};var lw=["pre-wrap","normal","pre-line","break-spaces"],fp=class{constructor(e){this.lineWrapping=e,this.doc=ge.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}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 lw.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n<e.length;n++){let o=e[n];o<0?n++:this.heightSamples[Math.floor(o*10)]||(t=!0,this.heightSamples[Math.floor(o*10)]=!0)}return t}refresh(e,t,n,o,s,i){let l=lw.indexOf(e)>-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=t,this.charWidth=n,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}},hp=class{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}},xn=class{constructor(e,t,n,o,s){this.from=e,this.length=t,this.top=n,this.height=o,this._content=s}get type(){return typeof this._content=="number"?Ye.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 cr?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 xn(this.from,this.length+e.length,this.top,this.height+e.height,t)}},Be=function(r){return r[r.ByPos=0]="ByPos",r[r.ByHeight=1]="ByHeight",r[r.ByPosNoHeight=2]="ByPosNoHeight",r}(Be||(Be={})),Nu=.001,mt=class{constructor(e,t,n=2){this.length=e,this.height=t,this.flags=n}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)>Nu&&(e.heightChanged=!0),this.height=t)}replace(e,t,n){return mt.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,o){let s=this,i=n.doc;for(let l=o.length-1;l>=0;l--){let{fromA:a,toA:c,fromB:u,toB:f}=o[l],h=s.lineAt(a,Be.ByPosNoHeight,n.setDoc(t),0,0),d=h.to>=c?h:s.lineAt(c,Be.ByPosNoHeight,n,0,0);for(f+=d.to-c,c=d.to;l>0&&h.from<=o[l-1].toA;)a=o[l-1].fromA,u=o[l-1].fromB,l--,a<h.from&&(h=s.lineAt(a,Be.ByPosNoHeight,n,0,0));u+=h.from-a,a=h.from;let p=ba.build(n.setDoc(i),e,u,f);s=s.replace(a,c,p)}return s.updateHeight(n,0)}static empty(){return new Nt(0,0)}static of(e){if(e.length==1)return e[0];let t=0,n=e.length,o=0,s=0;for(;;)if(t==n)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),n+=1+l.break,o-=l.size}else if(s>o*2){let l=e[n];l.break?e.splice(n,1,l.left,null,l.right):e.splice(n,1,l.left,l.right),n+=2+l.break,s-=l.size}else break;else if(o<s){let l=e[t++];l&&(o+=l.size)}else{let l=e[--n];l&&(s+=l.size)}let i=0;return e[t-1]==null?(i=1,t--):e[t]==null&&(i=1,n++),new dp(mt.of(e.slice(0,t)),i,mt.of(e.slice(n)))}};mt.prototype.size=1;var ju=class extends mt{constructor(e,t,n){super(e,t),this.deco=n}blockAt(e,t,n,o){return new xn(o,this.length,n,this.height,this.deco||0)}lineAt(e,t,n,o,s){return this.blockAt(0,n,o,s)}forEachLine(e,t,n,o,s,i){e<=s+this.length&&t>=s&&i(this.blockAt(0,n,o,s))}updateHeight(e,t=0,n=!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})`}},Nt=class extends ju{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,o){return new xn(o,this.length,n,this.height,this.breaks)}replace(e,t,n){let o=n[0];return n.length==1&&(o instanceof Nt||o instanceof it&&o.flags&4)&&Math.abs(this.length-o.length)<10?(o instanceof it?o=new Nt(o.length,this.height):o.height=this.height,this.outdated||(o.outdated=!1),o):mt.of(n)}updateHeight(e,t=0,n=!1,o){return o&&o.from<=t&&o.more?this.setHeight(e,o.heights[o.index++]):(n||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},it=class extends mt{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,o=e.doc.lineAt(t+this.length).number,s=o-n+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:n,lastLine:o,perLine:i,perChar:l}}blockAt(e,t,n,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-n)/this.height))*this.length),u=t.doc.lineAt(c),f=l+u.length*a,h=Math.max(n,e-f/2);return new xn(u.from,u.length,h,f,0)}else{let c=Math.max(0,Math.min(i-s,Math.floor((e-n)/l))),{from:u,length:f}=t.doc.line(s+c);return new xn(u,f,n+l*c,l,0)}}lineAt(e,t,n,o,s){if(t==Be.ByHeight)return this.blockAt(e,n,o,s);if(t==Be.ByPosNoHeight){let{from:d,to:p}=n.doc.lineAt(e);return new xn(d,p-d,0,0,0)}let{firstLine:i,perLine:l,perChar:a}=this.heightMetrics(n,s),c=n.doc.lineAt(e),u=l+c.length*a,f=c.number-i,h=o+l*f+a*(c.from-s-f);return new xn(c.from,c.length,Math.max(o,Math.min(h,o+this.height-u)),u,0)}forEachLine(e,t,n,o,s,i){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:l,perLine:a,perChar:c}=this.heightMetrics(n,s);for(let u=e,f=o;u<=t;){let h=n.doc.lineAt(u);if(u==e){let p=h.number-l;f+=a*p+c*(e-s-p)}let d=a+c*h.length;i(new xn(h.from,h.length,f,d,0)),f+=d,u=h.to+1}}replace(e,t,n){let o=this.length-t;if(o>0){let s=n[n.length-1];s instanceof it?n[n.length-1]=new it(s.length+o):n.push(null,new it(o-1))}if(e>0){let s=n[0];s instanceof it?n[0]=new it(e+s.length):n.unshift(new it(e-1),null)}return mt.of(n)}decomposeLeft(e,t){t.push(new it(e-1),null)}decomposeRight(e,t){t.push(null,new it(this.length-e-1))}updateHeight(e,t=0,n=!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 it(o.from-t-1).updateHeight(e,t));l<=s&&o.more;){let u=e.doc.lineAt(l).length;i.length&&i.push(null);let f=o.heights[o.index++];a==-1?a=f:Math.abs(f-a)>=Nu&&(a=-2);let h=new Nt(u,f);h.outdated=!1,i.push(h),l+=u+1}l<=s&&i.push(null,new it(s-l).updateHeight(e,l));let c=mt.of(i);return(a<0||Math.abs(c.height-this.height)>=Nu||Math.abs(a-this.heightMetrics(e,t).perLine)>=Nu)&&(e.heightChanged=!0),c}else(n||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},dp=class extends mt{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,o){let s=n+this.left.height;return e<s?this.left.blockAt(e,t,n,o):this.right.blockAt(e,t,s,o+this.left.length+this.break)}lineAt(e,t,n,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,n,o,s):this.right.lineAt(e,t,n,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,n,i,l)):this.left.lineAt(l,u,n,o,s).join(c)}forEachLine(e,t,n,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,n,o,s,i),t>=a&&this.right.forEachLine(e,t,n,l,a,i);else{let c=this.lineAt(a,Be.ByPos,n,o,s);e<c.from&&this.left.forEachLine(e,c.from-1,n,o,s,i),c.to>=e&&c.from<=t&&i(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,l,a,i)}}replace(e,t,n){let o=this.left.length+this.break;if(t<o)return this.balanced(this.left.replace(e,t,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-o,t-o,n));let s=[];e>0&&this.decomposeLeft(e,s);let i=s.length;for(let l of n)s.push(l);if(e>0&&aw(s,i-1),t<this.length){let l=s.length;this.decomposeRight(t,s),aw(s,l)}return mt.of(s)}decomposeLeft(e,t){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(n++,e>=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,o=n+this.break;if(e>=o)return this.right.decomposeRight(e-o,t);e<n&&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?mt.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,n=!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,n,o):s.updateHeight(e,t,n),o&&o.from<=l+i.length&&o.more?a=i=i.updateHeight(e,l,n,o):i.updateHeight(e,l,n),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 aw(r,e){let t,n;r[e]==null&&(t=r[e-1])instanceof it&&(n=r[e+1])instanceof it&&r.splice(e-1,3,new it(t.length+1+n.length))}var DI=5,ba=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 n=Math.min(t,this.lineEnd),o=this.nodes[this.nodes.length-1];o instanceof Nt?o.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new Nt(n-this.pos,-1)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e<t||n.heightRelevant){let o=n.widget?n.widget.estimatedHeight:0,s=n.widget?n.widget.lineBreaks:0;o<0&&(o=this.oracle.lineHeight);let i=t-e;n.block?this.addBlock(new ju(i,o,n)):(i||s||o>=DI)&&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 Nt(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new it(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Nt)return e;let t=new Nt(0,-1);return this.nodes.push(t),t}addBlock(e){var t;this.enterLine();let n=(t=e.deco)===null||t===void 0?void 0:t.type;n==Ye.WidgetAfter&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,n!=Ye.WidgetBefore&&(this.covering=e)}addLineDeco(e,t,n){let o=this.ensureLine();o.length+=n,o.collapsed+=n,o.widgetHeight=Math.max(o.widgetHeight,e),o.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof Nt)&&!this.isCovered?this.nodes.push(new Nt(0,-1)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let n=e;for(let o of this.nodes)o instanceof Nt&&o.updateHeight(this.oracle,n),n+=o?o.length:1;return this.nodes}static build(e,t,n,o){let s=new ba(n,e);return Ae.spans(t,n,o,s,0),s.finish(n)}};function MI(r,e,t){let n=new pp;return Ae.compare(r,e,t,n,0),n.changes}var pp=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,n,o){(e<t||n&&n.heightRelevant||o&&o.heightRelevant)&&ep(e,t,this.changes,5)}};function RI(r,e){let t=r.getBoundingClientRect(),n=r.ownerDocument,o=n.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=r.parentNode;c&&c!=n.body;)if(c.nodeType==1){let u=c,f=window.getComputedStyle(u);if((u.scrollHeight>u.clientHeight||u.scrollWidth>u.clientWidth)&&f.overflow!="visible"){let h=u.getBoundingClientRect();s=Math.max(s,h.left),i=Math.min(i,h.right),l=Math.max(l,h.top),a=c==r.parentNode?h.bottom:Math.min(a,h.bottom)}c=f.position=="absolute"||f.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 PI(r,e){let t=r.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var pa=class{constructor(e,t,n){this.from=e,this.to=t,this.size=n}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let o=e[n],s=t[n];if(o.from!=s.from||o.to!=s.to||o.size!=s.size)return!1}return!0}draw(e){return lt.replace({widget:new mp(this.size,e)}).range(this.from,this.to)}},mp=class extends Fr{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}},qu=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=cw,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Xe.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(Pp).some(n=>typeof n!="function"&&n.class=="cm-lineWrapping");this.heightOracle=new fp(t),this.stateDeco=e.facet(ga).filter(n=>typeof n!="function"),this.heightMap=mt.empty().applyChanges(this.stateDeco,ge.empty,this.heightOracle.setDoc(e.doc),[new Gt(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=lt.set(this.lineGaps.map(n=>n.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let o=n?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 Hi(s,i))}}this.viewports=e.sort((n,o)=>n.from-o.from),this.scaler=this.heightMap.height<=7e6?cw:new gp(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:ha(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(ga).filter(u=>typeof u!="function");let o=e.changedRanges,s=Gt.extendWithRanges(o,MI(n,this.stateDeco,e?e.changes:Ke.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(Nw)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),o=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?Xe.RTL:Xe.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,f=parseInt(n.paddingTop)||0,h=parseInt(n.paddingBottom)||0;(this.paddingTop!=f||this.paddingBottom!=h)&&(this.paddingTop=f,this.paddingBottom=h,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=vw(e.scrollDOM);let d=(this.printing?PI:RI)(t,this.paddingTop),p=d.top-this.pixelViewport.top,m=d.bottom-this.pixelViewport.bottom;this.pixelViewport=d;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 y=l.width;if((this.contentDOMWidth!=y||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(y-this.contentDOMWidth)>o.charWidth){let{lineHeight:x,charWidth:S,textHeight:b}=e.docView.measureTextSize();i=x>0&&o.refresh(s,x,S,b,y/S,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 S=x.from==this.viewport.from?v:e.docView.measureVisibleLineHeights(x);this.heightMap=(i?mt.empty().applyChanges(this.stateDeco,ge.empty,this.heightOracle,[new Gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(o,0,i,new hp(x.from,S))}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 n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),o=this.heightMap,s=this.heightOracle,{visibleTop:i,visibleBottom:l}=this,a=new Hi(o.lineAt(i-n*1e3,Be.ByHeight,s,0,0).from,o.lineAt(l+(1-n)*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),f=o.lineAt(c,Be.ByPos,s,0,0),h;t.y=="center"?h=(f.top+f.bottom)/2-u/2:t.y=="start"||t.y=="nearest"&&c<a.from?h=f.top:h=f.bottom-u,a=new Hi(o.lineAt(h-1e3/2,Be.ByHeight,s,0,0).from,o.lineAt(h+u+1e3/2,Be.ByHeight,s,0,0).to)}}return a}mapViewport(e,t){let n=t.mapPos(e.from,-1),o=t.mapPos(e.to,1);return new Hi(this.heightMap.lineAt(n,Be.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(o,Be.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},n=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(-n,250)))&&(t==this.state.doc.length||s>=l+Math.max(10,Math.min(n,250)))&&o>i-2*1e3&&s<l+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let n=[];for(let o of e)t.touchesRange(o.from,o.to)||n.push(new pa(t.mapPos(o.from),t.mapPos(o.to),o.size));return n}ensureLineGaps(e,t){let n=this.heightOracle.lineWrapping,o=n?1e4:2e3,s=o>>1,i=o<<1;if(this.defaultTextDirection!=Xe.LTR&&!n)return[];let l=[],a=(c,u,f,h)=>{if(u-c<s)return;let d=this.state.selection.main,p=[d.from];d.empty||p.push(d.to);for(let g of p)if(g>c&&g<u){a(c,g-10,f,h),a(g+10,u,f,h);return}let m=AI(e,g=>g.from>=f.from&&g.to<=f.to&&Math.abs(g.from-c)<s&&Math.abs(g.to-u)<s&&!p.some(y=>g.from<y&&g.to>y));if(!m){if(u<f.to&&t&&n&&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 pa(c,u,this.gapSize(f,c,u,h))}l.push(m)};for(let c of this.viewportLines){if(c.length<i)continue;let u=II(c.from,c.to,this.stateDeco);if(u.total<i)continue;let f=this.scrollTarget?this.scrollTarget.range.head:null,h,d;if(n){let p=o/this.heightOracle.lineLength*this.heightOracle.lineHeight,m,g;if(f!=null){let y=Iu(u,f),C=((this.visibleBottom-this.visibleTop)/2+p)/c.height;m=y-C,g=y+C}else m=(this.visibleTop-c.top-p)/c.height,g=(this.visibleBottom-c.top+p)/c.height;h=Pu(u,m),d=Pu(u,g)}else{let p=u.total*this.heightOracle.charWidth,m=o*this.heightOracle.charWidth,g,y;if(f!=null){let C=Iu(u,f),v=((this.pixelViewport.right-this.pixelViewport.left)/2+m)/p;g=C-v,y=C+v}else g=(this.pixelViewport.left-m)/p,y=(this.pixelViewport.right+m)/p;h=Pu(u,g),d=Pu(u,y)}h>c.from&&a(c.from,h,c,u),d<c.to&&a(d,c.to,c,u)}return l}gapSize(e,t,n,o){let s=Iu(o,n)-Iu(o,t);return this.heightOracle.lineWrapping?e.height*s:o.total*this.heightOracle.charWidth*s}updateLineGaps(e){pa.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=lt.set(e.map(t=>t.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];Ae.spans(e,this.viewport.from,this.viewport.to,{span(o,s){t.push({from:o,to:s})},point(){}},20);let n=t.length!=this.visibleRanges.length||this.visibleRanges.some((o,s)=>o.from!=t[s].from||o.to!=t[s].to);return this.visibleRanges=t,n?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||ha(this.heightMap.lineAt(e,Be.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return ha(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 ha(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}},Hi=class{constructor(e,t){this.from=e,this.to=t}};function II(r,e,t){let n=[],o=r,s=0;return Ae.spans(t,r,e,{span(){},point(i,l){i>o&&(n.push({from:o,to:i}),s+=i-o),o=l}},20),o<e&&(n.push({from:o,to:e}),s+=e-o),{total:s,ranges:n}}function Pu({total:r,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let n=Math.floor(r*t);for(let o=0;;o++){let{from:s,to:i}=e[o],l=i-s;if(n<=l)return s+n;n-=l}}function Iu(r,e){let t=0;for(let{from:n,to:o}of r.ranges){if(e<=o){t+=e-n;break}t+=o-n}return t/r.total}function AI(r,e){for(let t of r)if(e(t))return t}var cw={toDOM(r){return r},fromDOM(r){return r},scale:1},gp=class{constructor(e,t,n){let o=0,s=0,i=0;this.viewports=n.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,n=0,o=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return o+(e-n)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);n=s.bottom,o=s.domBottom}}fromDOM(e){for(let t=0,n=0,o=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return n+(e-o)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);n=s.bottom,o=s.domBottom}}};function ha(r,e){if(e.scale==1)return r;let t=e.toDOM(r.top),n=e.toDOM(r.bottom);return new xn(r.from,r.length,t,n-t,Array.isArray(r._content)?r._content.map(o=>ha(o,e)):r._content)}var Au=se.define({combine:r=>r.join(" ")}),bp=se.define({combine:r=>r.indexOf(!0)>-1}),yp=yn.newName(),tS=yn.newName(),nS=yn.newName(),rS={"&light":"."+tS,"&dark":"."+nS};function xp(r,e,t){return new yn(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,o=>{if(o=="&")return r;if(!t||!t[o])throw new RangeError(`Unsupported selector: ${o}`);return t[o]}):r+" "+n}})}var LI=xp("."+yp,{"&":{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"}},rS),vp=class{constructor(e,t,n,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,n,0))){let l=s||i?[]:HI(e),a=new Wu(l,e.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=NI(l,this.bounds.from)}else{let l=e.observer.selectionRange,a=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!Qd(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||!Qd(e.contentDOM,l.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset);this.newSel=F.single(c,a)}}};function oS(r,e){let t,{newSel:n}=e,o=r.state.selection.main,s=r.inputState.lastKeyTime>Date.now()-100?r.inputState.lastKeyCode:-1;if(e.bounds){let{from:i,to:l}=e.bounds,a=o.from,c=null;(s===8||ee.android&&e.text.length<l-i)&&(a=o.to,c="end");let u=OI(r.state.doc.sliceString(i,l,Oi),e.text,a-i,c);u&&(ee.chrome&&s==13&&u.toB==u.from+2&&e.text.slice(u.from,u.toB)==Oi+Oi&&u.toB--,t={from:i+u.from,to:i+u.toA,insert:ge.of(e.text.slice(u.from,u.toB).split(Oi))})}else n&&(!r.hasFocus&&r.state.facet(Yu)||n.main.eq(o))&&(n=null);if(!t&&!n)return!1;if(!t&&e.typeOver&&!o.empty&&n&&n.main.empty?t={from:o.from,to:o.to,insert:r.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:r.state.doc.slice(o.from,t.from).append(t.insert).append(r.state.doc.slice(t.to,o.to))}:(ee.mac||ee.android)&&t&&t.from==t.to&&t.from==o.head-1&&/^\. ?$/.test(t.insert.toString())&&r.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=F.single(n.main.anchor-1,n.main.head-1)),t={from:o.from,to:o.to,insert:ge.of([" "])}):ee.chrome&&t&&t.from==t.to&&t.from==o.head&&t.insert.toString()==`
|
|
30
|
+
`&&r.lineWrapping&&(n&&(n=F.single(n.main.anchor-1,n.main.head-1)),t={from:o.from,to:o.to,insert:ge.of([" "])}),t){let i=r.state;if(ee.ios&&r.inputState.flushIOSKey(r)||ee.android&&(t.from==o.from&&t.to==o.to&&t.insert.length==1&&t.insert.lines==2&&Ni(r.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)&&Ni(r.contentDOM,"Backspace",8)||t.from==o.from&&t.to==o.to+1&&t.insert.length==0&&Ni(r.contentDOM,"Delete",46)))return!0;let l=t.insert.toString();if(r.state.facet(Lw).some(u=>u(r,t.from,t.to,l)))return!0;r.inputState.composing>=0&&r.inputState.composing++;let a;if(t.from>=o.from&&t.to<=o.to&&t.to-t.from>=(o.to-o.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&r.inputState.composing<0){let u=o.from<t.from?i.sliceDoc(o.from,t.from):"",f=o.to>t.to?i.sliceDoc(t.to,o.to):"";a=i.replaceSelection(r.state.toText(u+t.insert.sliceString(0,void 0,r.state.lineBreak)+f))}else{let u=i.changes(t),f=n&&n.main.to<=u.newLength?n.main:void 0;if(i.selection.ranges.length>1&&r.inputState.composing>=0&&t.to<=o.to&&t.to>=o.to-10){let h=r.state.sliceDoc(t.from,t.to),d=Ww(r)||r.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:f||g.map(u)};let y=g.to-p,C=y-h.length;if(g.to-g.from!=m||r.state.sliceDoc(C,y)!=h||d&&g.to>=d.from&&g.from<=d.to)return{range:g};let v=i.changes({from:C,to:y,insert:t.insert}),x=g.to-o.to;return{changes:v,range:f?F.range(Math.max(0,f.anchor+x),Math.max(0,f.head+x)):g.map(v)}})}else a={changes:u,selection:f&&i.selection.replaceRange(f)}}let c="input.type";return(r.composing||r.inputState.compositionPendingChange&&r.inputState.compositionEndedAt>Date.now()-50)&&(r.inputState.compositionPendingChange=!1,c+=".compose",r.inputState.compositionFirstChange&&(c+=".start",r.inputState.compositionFirstChange=!1)),r.dispatch(a,{scrollIntoView:!0,userEvent:c}),!0}else if(n&&!n.main.eq(o)){let i=!1,l="select";return r.inputState.lastSelectionTime>Date.now()-50&&(r.inputState.lastSelectionOrigin=="select"&&(i=!0),l=r.inputState.lastSelectionOrigin),r.dispatch({selection:n,scrollIntoView:i,userEvent:l}),!0}else return!1}function OI(r,e,t,n){let o=Math.min(r.length,e.length),s=0;for(;s<o&&r.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==o&&r.length==e.length)return null;let i=r.length,l=e.length;for(;i>0&&l>0&&r.charCodeAt(i-1)==e.charCodeAt(l-1);)i--,l--;if(n=="end"){let a=Math.max(0,s-Math.min(i,l));t-=i+a-s}if(i<s&&r.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 HI(r){let e=[];if(r.root.activeElement!=r.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:o,focusOffset:s}=r.observer.selectionRange;return t&&(e.push(new Uu(t,n)),(o!=t||s!=n)&&e.push(new Uu(o,s))),e}function NI(r,e){if(r.length==0)return null;let t=r[0].pos,n=r.length==2?r[1].pos:t;return t>-1&&n>-1?F.single(t+e,n+e):null}var BI={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},_d=ee.ie&&ee.ie_version<=11,Cp=class{constructor(e){this.view=e,this.active=!1,this.selectionRange=new jd,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 n of t)this.queue.push(n);(ee.ie&&ee.ie_version<=11||ee.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),_d&&(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,n)=>t!=e[n]))){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:n}=this,o=this.selectionRange;if(n.state.facet(Yu)?n.root.activeElement!=this.dom:!Ou(n.dom,o))return;let s=o.anchorNode&&n.docView.nearest(o.anchorNode);if(s&&s.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(ee.ie&&ee.ie_version<=11||ee.android&&ee.chrome)&&!n.state.selection.main.empty&&o.focusNode&&Vu(o.focusNode,o.focusOffset,o.anchorNode,o.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=ee.safari&&e.root.nodeType==11&&B1(this.dom.ownerDocument)==this.dom&&FI(this.view)||zu(e.root);if(!t||this.selectionRange.eq(t))return!1;let n=Ou(this.dom,t);return n&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&K1(this.dom,t)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(t),n&&(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 n=this.dom;n;)if(n.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);for(let n of this.scrollTargets=t)n.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,BI),_d&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),_d&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var n;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&&Ni(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||!!(!((n=this.delayedAndroidKey)===null||n===void 0)&&n.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,n=-1,o=!1;for(let s of e){let i=this.readMutation(s);i&&(i.typeOver&&(o=!0),t==-1?{from:t,to:n}=i:(t=Math.min(i.from,t),n=Math.max(i.to,n)))}return{from:t,to:n,typeOver:o}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),o=this.selectionChanged&&Ou(this.dom,this.selectionRange);return e<0&&!o?null:(e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new vp(this.view,e,t,n))}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return!1;let n=this.view.state,o=oS(this.view,t);return this.view.state==n&&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 n=uw(t,e.previousSibling||e.target.previousSibling,-1),o=uw(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):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,n,o;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.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 uw(r,e,t){for(;e;){let n=Re.get(e);if(n&&n.parent==r)return n;let o=e.parentNode;e=o!=r.dom?o:t>0?e.nextSibling:e.previousSibling}return null}function FI(r){let e=null;function t(a){a.preventDefault(),a.stopImmediatePropagation(),e=a.getTargetRanges()[0]}if(r.contentDOM.addEventListener("beforeinput",t,!0),r.dom.ownerDocument.execCommand("indent"),r.contentDOM.removeEventListener("beforeinput",t,!0),!e)return null;let n=e.startContainer,o=e.startOffset,s=e.endContainer,i=e.endOffset,l=r.docView.domAtPos(r.state.selection.main.anchor);return Vu(l.node,l.offset,s,i)&&([n,o,s,i]=[s,i,n,o]),{anchorNode:n,anchorOffset:o,focusNode:s,focusOffset:i}}var ce=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||$1(e.parent)||document,this.viewState=new qu(e.state||ve.create(e)),this.plugins=this.state.facet(ua).map(t=>new da(t));for(let t of this.plugins)t.update(this);this.observer=new Cp(this),this.inputState=new lp(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new Gu(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 We?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,n=!1,o,s=this.state;for(let h of e){if(h.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=h.state}if(this.destroyed){this.viewState.state=s;return}let i=this.hasFocus,l=0,a=null;e.some(h=>h.annotation(Jw))?(this.inputState.notifiedFocused=i,l=1):i!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=i,a=Zw(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(ve.phrases)!=this.state.facet(ve.phrases))return this.setState(s);o=Fi.create(this,s,e),o.flags|=l;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let h of e){if(f&&(f=f.map(h.changes)),h.scrollIntoView){let{main:d}=h.state.selection;f=new Bi(d.empty?d:F.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of h.effects)d.is(QC)&&(f=d.value)}this.viewState.update(o,f),this.bidiCache=zi.update(this.bidiCache,o.changes),o.empty||(this.updatePlugins(o),this.inputState.update(o)),t=this.docView.update(o),this.state.facet(fa)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(h=>h.isUserEvent("select.pointer")))}finally{this.updateState=0}if(o.startState.facet(Au)!=o.state.facet(Au)&&(this.viewState.mustMeasureContent=!0),(t||n||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!o.empty)for(let h of this.state.facet(tp))h(o);(a||u)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),u&&!oS(this,u)&&c.force&&Ni(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 n of this.plugins)n.destroy(this);this.viewState=new qu(e),this.plugins=e.facet(ua).map(n=>new da(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView=new Gu(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(ua),n=e.state.facet(ua);if(t!=n){let o=[];for(let s of n){let i=t.indexOf(s);if(i<0)o.push(new da(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,n=this.scrollDOM,{scrollTop:o}=n,{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(vw(n))s=-1,i=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(o);s=d.from,i=d.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(d=>{try{return d.read(this)}catch(p){return ar(this.state,p),fw}}),f=Fi.create(this,this.state,[]),h=!1;f.flags|=a,t?t.flags|=a:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),h=this.docView.update(f));for(let d=0;d<c.length;d++)if(u[d]!=fw)try{let p=c[d];p.write&&p.write(u[d],this)}catch(p){ar(this.state,p)}if(h&&this.docView.updateSelection(!0),!f.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=n.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(tp))l(t)}get themeClasses(){return yp+" "+(this.state.facet(bp)?nS:tS)+" "+this.state.facet(Au)}updateAttrs(){let e=hw(this,Bw,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Yu)?"true":"false",class:"cm-content",style:`${ee.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),hw(this,Pp,t);let n=this.observer.ignore(()=>{let o=Zd(this.contentDOM,this.contentAttrs,t),s=Zd(this.dom,this.editorAttrs,e);return o||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let o of n.effects)if(o.is(ce.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(fa),yn.mount(this.root,this.styleModules.concat(LI).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(n=>n.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,n){return Ud(this,e,JC(this,e,t,n))}moveByGroup(e,t){return Ud(this,e,JC(this,e,t,n=>dI(this,e.head,n)))}moveToLineBoundary(e,t,n=!0){return hI(this,e,t,n)}moveVertically(e,t,n){return Ud(this,e,pI(this,e,t,n))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),_w(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let o=this.state.doc.lineAt(e),s=this.bidiSpans(o),i=s[mo.find(s,e-o.from,-1,t)];return Dp(n,i.dir==Xe.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(Hw)||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>zI)return $w(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 n=eI(e.text,t);return this.bidiCache.push(new zi(e.from,e.to,t,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||ee.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{yw(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 QC.of(new Bi(typeof e=="number"?F.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}static domEventHandlers(e){return Cn.define(()=>({}),{eventHandlers:e})}static theme(e,t){let n=yn.newName(),o=[Au.of(n),fa.of(xp(`.${n}`,e))];return t&&t.dark&&o.push(bp.of(!0)),o}static baseTheme(e){return ms.lowest(fa.of(xp("."+yp,e,rS)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),o=n&&Re.get(n)||Re.get(e);return((t=o==null?void 0:o.rootView)===null||t===void 0?void 0:t.view)||null}};ce.styleModule=fa;ce.inputHandler=Lw;ce.focusChangeEffect=Ow;ce.perLineTextDirection=Hw;ce.exceptionSink=Aw;ce.updateListener=tp;ce.editable=Yu;ce.mouseSelectionStyle=Iw;ce.dragMovesSelection=Pw;ce.clickAddsSelectionRange=Rw;ce.decorations=ga;ce.atomicRanges=Ip;ce.scrollMargins=Fw;ce.darkTheme=bp;ce.contentAttributes=Pp;ce.editorAttributes=Bw;ce.lineWrapping=ce.contentAttributes.of({class:"cm-lineWrapping"});ce.announce=Ne.define();var zI=4096,fw={},zi=class{constructor(e,t,n,o){this.from=e,this.to=t,this.dir=n,this.order=o}static update(e,t){if(t.empty)return e;let n=[],o=e.length?e[e.length-1].dir:Xe.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)&&n.push(new zi(t.mapPos(i.from,1),t.mapPos(i.to,-1),i.dir,i.order))}return n}};function hw(r,e,t){for(let n=r.state.facet(e),o=n.length-1;o>=0;o--){let s=n[o],i=typeof s=="function"?s(r):s;i&&Jd(i,t)}return t}var VI=ee.mac?"mac":ee.windows?"win":ee.linux?"linux":"key";function $I(r,e){let t=r.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");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&&(n="Alt-"+n),s&&(n="Ctrl-"+n),l&&(n="Meta-"+n),i&&(n="Shift-"+n),n}function Lu(r,e,t){return e.altKey&&(r="Alt-"+r),e.ctrlKey&&(r="Ctrl-"+r),e.metaKey&&(r="Meta-"+r),t!==!1&&e.shiftKey&&(r="Shift-"+r),r}var KI=ms.default(ce.domEventHandlers({keydown(r,e){return GI(WI(e.state),r,e,"editor")}})),Vi=se.define({enables:KI}),dw=new WeakMap;function WI(r){let e=r.facet(Vi),t=dw.get(e);return t||dw.set(e,t=_I(e.reduce((n,o)=>n.concat(o),[]))),t}var po=null,UI=4e3;function _I(r,e=VI){let t=Object.create(null),n=Object.create(null),o=(i,l)=>{let a=n[i];if(a==null)n[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 f,h;let d=t[i]||(t[i]=Object.create(null)),p=l.split(/ (?!$)/).map(y=>$I(y,e));for(let y=1;y<p.length;y++){let C=p.slice(0,y).join(" ");o(C,!0),d[C]||(d[C]={preventDefault:!0,stopPropagation:!1,run:[v=>{let x=po={view:v,prefix:C,scope:i};return setTimeout(()=>{po==x&&(po=null)},UI),!0}]})}let m=p.join(" ");o(m,!1);let g=d[m]||(d[m]={preventDefault:!1,stopPropagation:!1,run:((h=(f=d._any)===null||f===void 0?void 0:f.run)===null||h===void 0?void 0:h.slice())||[]});a&&g.run.push(a),c&&(g.preventDefault=!0),u&&(g.stopPropagation=!0)};for(let i of r){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 f in u)u[f].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 GI(r,e,t,n){let o=FC(e),s=sr(o,0),i=fs(s)==o.length&&o!=" ",l="",a=!1,c=!1,u=!1;po&&po.view==t&&po.scope==n&&(l=po.prefix+" ",Qw.indexOf(e.keyCode)<0&&(c=!0,po=null));let f=new Set,h=g=>{if(g){for(let y of g.run)if(!f.has(y)&&(f.add(y),y(t,e)))return g.stopPropagation&&(u=!0),!0;g.preventDefault&&(g.stopPropagation&&(u=!0),c=!0)}return!1},d=r[n],p,m;return d&&(h(d[l+Lu(o,e,!i)])?a=!0:i&&(e.altKey||e.metaKey||e.ctrlKey)&&!(ee.windows&&e.ctrlKey&&e.altKey)&&(p=Hr[e.keyCode])&&p!=o?(h(d[l+Lu(p,e,!0)])||e.shiftKey&&(m=Ai[e.keyCode])!=o&&m!=p&&h(d[l+Lu(m,e,!1)]))&&(a=!0):i&&e.shiftKey&&h(d[l+Lu(o,e,!0)])&&(a=!0),!a&&h(d._any)&&(a=!0)),c&&(a=!0),a&&u&&e.stopPropagation(),a}var ws=class{constructor(e,t,n,o,s){this.className=e,this.left=t,this.top=n,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,n){if(n.empty){let o=e.coordsAtPos(n.head,n.assoc||1);if(!o)return[];let s=sS(e);return[new ws(t,o.left-s.left,o.top-s.top,null,o.bottom-o.top)]}else return QI(e,t,n)}};function sS(r){let e=r.scrollDOM.getBoundingClientRect();return{left:(r.textDirection==Xe.LTR?e.left:e.right-r.scrollDOM.clientWidth)-r.scrollDOM.scrollLeft,top:e.top-r.scrollDOM.scrollTop}}function pw(r,e,t){let n=F.cursor(e);return{from:Math.max(t.from,r.moveToLineBoundary(n,!1,!0).from),to:Math.min(t.to,r.moveToLineBoundary(n,!0,!0).from),type:Ye.Text}}function QI(r,e,t){if(t.to<=r.viewport.from||t.from>=r.viewport.to)return[];let n=Math.max(t.from,r.viewport.from),o=Math.min(t.to,r.viewport.to),s=r.textDirection==Xe.LTR,i=r.contentDOM,l=i.getBoundingClientRect(),a=sS(r),c=i.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),f=l.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),h=l.right-(u?parseInt(u.paddingRight):0),d=ip(r,n),p=ip(r,o),m=d.type==Ye.Text?d:null,g=p.type==Ye.Text?p:null;if(m&&(r.lineWrapping||d.widgetLineBreaks)&&(m=pw(r,n,m)),g&&(r.lineWrapping||p.widgetLineBreaks)&&(g=pw(r,o,g)),m&&g&&m.from==g.from)return C(v(t.from,t.to,m));{let S=m?v(t.from,null,m):x(d,!1),b=g?v(null,t.to,g):x(p,!0),w=[];return(m||d).to<(g||p).from-(m&&g?1:0)||d.widgetLineBreaks>1&&S.bottom+r.defaultLineHeight/2<b.top?w.push(y(f,S.bottom,h,b.top)):S.bottom<b.top&&r.elementAtHeight((S.bottom+b.top)/2).type==Ye.Text&&(S.bottom=b.top=(S.bottom+b.top)/2),C(S).concat(w).concat(C(b))}function y(S,b,w,k){return new ws(e,S-a.left,b-a.top-.01,w-S,k-b+.01)}function C({top:S,bottom:b,horizontal:w}){let k=[];for(let D=0;D<w.length;D+=2)k.push(y(w[D],S,w[D+1],b));return k}function v(S,b,w){let k=1e9,D=-1e9,T=[];function M(A,O,L,P,I){let B=r.coordsAtPos(A,A==w.to?-2:2),H=r.coordsAtPos(L,L==w.from?2:-2);!B||!H||(k=Math.min(B.top,H.top,k),D=Math.max(B.bottom,H.bottom,D),I==Xe.LTR?T.push(s&&O?f:B.left,s&&P?h:H.right):T.push(!s&&P?f:H.left,!s&&O?h:B.right))}let E=S!=null?S:w.from,R=b!=null?b:w.to;for(let A of r.visibleRanges)if(A.to>E&&A.from<R)for(let O=Math.max(A.from,E),L=Math.min(A.to,R);;){let P=r.state.doc.lineAt(O);for(let I of r.bidiSpans(P)){let B=I.from+P.from,H=I.to+P.from;if(B>=L)break;H>O&&M(Math.max(B,O),S==null&&B<=E,Math.min(H,L),b==null&&H>=R,I.dir)}if(O=P.to+1,O>=L)break}return T.length==0&&M(E,S==null,R,b==null,r.textDirection),{top:k,bottom:D,horizontal:T}}function x(S,b){let w=l.top+(b?S.top:S.bottom);return{top:w,bottom:w,horizontal:[]}}}function jI(r,e){return r.constructor==e.constructor&&r.eq(e)}var wp=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(Bu)!=e.state.facet(Bu)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(Bu);for(;t<n.length&&n[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,n)=>!jI(t,this.drawn[n]))){let t=this.dom.firstChild,n=0;for(let o of e)o.update&&t&&o.constructor&&this.drawn[n].constructor&&o.update(t,this.drawn[n])?(t=t.nextSibling,n++):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()}},Bu=se.define();function iS(r){return[Cn.define(e=>new wp(e,r)),Bu.of(r)]}var lS=!ee.ios,ya=se.define({combine(r){return gs(r,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function Ap(r={}){return[ya.of(r),qI,XI,YI,Nw.of(!0)]}function aS(r){return r.startState.facet(ya)!=r.state.facet(ya)}var qI=iS({above:!0,markers(r){let{state:e}=r,t=e.facet(ya),n=[];for(let o of e.selection.ranges){let s=o==e.selection.main;if(o.empty?!s||lS: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 ws.forRange(r,i,l))n.push(a)}}return n},update(r,e){r.transactions.some(n=>n.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=aS(r);return t&&mw(r.state,e),r.docChanged||r.selectionSet||t},mount(r,e){mw(e.state,r)},class:"cm-cursorLayer"});function mw(r,e){e.style.animationDuration=r.facet(ya).cursorBlinkRate+"ms"}var XI=iS({above:!1,markers(r){return r.state.selection.ranges.map(e=>e.empty?[]:ws.forRange(r,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(r,e){return r.docChanged||r.selectionSet||r.viewportChanged||aS(r)},class:"cm-selectionLayer"}),cS={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};lS&&(cS[".cm-line"].caretColor="transparent !important");var YI=ms.highest(ce.theme(cS));function gw(r,e,t,n,o){e.lastIndex=0;for(let s=r.iterRange(t,n),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 JI(r,e){let t=r.visibleRanges;if(t.length==1&&t[0].from==r.viewport.from&&t[0].to==r.viewport.to)return t;let n=[];for(let{from:o,to:s}of t)o=Math.max(r.state.doc.lineAt(o).from,o-e),s=Math.min(r.state.doc.lineAt(s).to,s+e),n.length&&n[n.length-1].to>=o?n[n.length-1].to=s:n.push({from:o,to:s});return n}var Sp=class{constructor(e){let{regexp:t,decoration:n,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 n=="function")this.addMatch=(l,a,c,u)=>{let f=n(l,a,c);f&&u(c,c+l[0].length,f)};else if(n)this.addMatch=(l,a,c,u)=>u(c,c+l[0].length,n);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=i}createDeco(e){let t=new ir,n=t.add.bind(t);for(let{from:o,to:s}of JI(e,this.maxLength))gw(e.state.doc,this.regexp,o,s,(i,l)=>this.addMatch(l,e,i,n));return t.finish()}updateDeco(e,t){let n=1e9,o=-1;return e.docChanged&&e.changes.iterChanges((s,i,l,a)=>{a>e.view.viewport.from&&l<e.view.viewport.to&&(n=Math.min(l,n),o=Math.max(a,o))}),e.viewportChanged||o-n>1e3?this.createDeco(e.view):o>-1?this.updateRange(e.view,t.map(e.changes),n,o):t}updateRange(e,t,n,o){for(let s of e.visibleRanges){let i=Math.max(s.from,n),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),f=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])){f=l;break}}let h=[],d,p=(m,g,y)=>h.push(y.range(m,g));if(a==c)for(this.regexp.lastIndex=u-a.from;(d=this.regexp.exec(a.text))&&d.index<f-a.from;)this.addMatch(d,e,d.index+a.from,p);else gw(e.state.doc,this.regexp,u,f,(m,g)=>this.addMatch(g,e,m,p));t=t.update({filterFrom:u,filterTo:f,filter:(m,g)=>m<u||g>f,add:h})}}return t}},Tp=/x/.unicode!=null?"gu":"g",ZI=new RegExp(`[\0-\b
|
|
31
|
+
-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,Tp),eA={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"},Gd=null;function tA(){var r;if(Gd==null&&typeof document<"u"&&document.body){let e=document.body.style;Gd=((r=e.tabSize)!==null&&r!==void 0?r:e.MozTabSize)!=null}return Gd||!1}var Fu=se.define({combine(r){let e=gs(r,{render:null,specialChars:ZI,addSpecialChars:null});return(e.replaceTabs=!tA())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Tp)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Tp)),e}});function Lp(r={}){return[Fu.of(r),nA()]}var bw=null;function nA(){return bw||(bw=Cn.fromClass(class{constructor(r){this.view=r,this.decorations=lt.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(r.state.facet(Fu)),this.decorations=this.decorator.createDeco(r)}makeDecorator(r){return new Sp({regexp:r.specialChars,decoration:(e,t,n)=>{let{doc:o}=t.state,s=sr(e[0],0);if(s==9){let i=o.lineAt(n),l=t.state.tabSize,a=bs(i.text,l,n-i.from);return lt.replace({widget:new kp((l-a%l)*this.view.defaultCharacterWidth)})}return this.decorationCache[s]||(this.decorationCache[s]=lt.replace({widget:new Ep(r,s)}))},boundary:r.replaceTabs?void 0:/[^]/})}update(r){let e=r.state.facet(Fu);r.startState.facet(Fu)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(r.view)):this.decorations=this.decorator.updateDeco(r,this.decorations)}},{decorations:r=>r.decorations}))}var rA="\u2022";function oA(r){return r>=32?rA:r==10?"\u2424":String.fromCharCode(9216+r)}var Ep=class extends Fr{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=oA(this.code),n=e.state.phrase("Control character")+" "+(eA[this.code]||"0x"+this.code.toString(16)),o=this.options.render&&this.options.render(this.code,n,t);if(o)return o;let s=document.createElement("span");return s.textContent=t,s.title=n,s.setAttribute("aria-label",n),s.className="cm-specialChar",s}ignoreEvent(){return!1}},kp=class extends Fr{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 RJ=ce.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 zr=class extends Un{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};zr.prototype.elementClass="";zr.prototype.toDOM=void 0;zr.prototype.mapMode=Ct.TrackBefore;zr.prototype.startSide=zr.prototype.endSide=-1;zr.prototype.point=!0;var sA=0,wn=class{constructor(e,t,n){this.set=e,this.base=t,this.modified=n,this.id=sA++}static define(e){if(e!=null&&e.base)throw new Error("Can not derive from a modified tag");let t=new wn([],null,[]);if(t.set.push(t),e)for(let n of e.set)t.set.push(n);return t}static defineModifier(){let e=new $i;return t=>t.modified.indexOf(e)>-1?t:$i.get(t.base||t,t.modified.concat(e).sort((n,o)=>n.id-o.id))}},iA=0,$i=class{constructor(){this.instances=[],this.id=iA++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(l=>l.base==e&&lA(t,l.modified));if(n)return n;let o=[],s=new wn(o,e,t);for(let l of t)l.instances.push(s);let i=aA(t);for(let l of e.set)if(!l.modified.length)for(let a of i)o.push($i.get(l,a));return s}};function lA(r,e){return r.length==e.length&&r.every((t,n)=>t==e[n])}function aA(r){let e=[[]];for(let t=0;t<r.length;t++)for(let n=0,o=e.length;n<o;n++)e.push(e[n].concat(r[t]));return e.sort((t,n)=>n.length-t.length)}function va(r){let e=Object.create(null);for(let t in r){let n=r[t];Array.isArray(n)||(n=[n]);for(let o of t.split(" "))if(o){let s=[],i=2,l=o;for(let f=0;;){if(l=="..."&&f>0&&f+3==o.length){i=1;break}let h=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!h)throw new RangeError("Invalid path: "+o);if(s.push(h[0]=="*"?"":h[0][0]=='"'?JSON.parse(h[0]):h[0]),f+=h[0].length,f==o.length)break;let d=o[f++];if(f==o.length&&d=="!"){i=0;break}if(d!="/")throw new RangeError("Invalid path: "+o);l=o.slice(f)}let a=s.length-1,c=s[a];if(!c)throw new RangeError("Invalid path: "+o);let u=new Ki(n,i,a>0?s.slice(0,a):null);e[c]=u.sort(e[c])}}return hS.add(e)}var hS=new ie,Ki=class{constructor(e,t,n,o){this.tags=e,this.mode=t,this.context=n,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}};Ki.empty=new Ki([],2,null);function Bp(r,e){let t=Object.create(null);for(let s of r)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:n,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:n}}function cA(r,e){let t=null;for(let n of r){let o=n.style(e);o&&(t=t?t+" "+o:o)}return t}function dS(r,e,t,n=0,o=r.length){let s=new Hp(n,Array.isArray(e)?e:[e],t);s.highlightRange(r.cursor(),n,o,"",s.highlighters),s.flush(o)}var Hp=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,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,n,o,s){let{type:i,from:l,to:a}=e;if(l>=n||a<=t)return;i.isTop&&(s=this.highlighters.filter(d=>!d.scope||d.scope(i)));let c=o,u=uA(e)||Ki.empty,f=cA(s,u.tags);if(f&&(c&&(c+=" "),c+=f,u.mode==1&&(o+=(o?" ":"")+f)),this.startSpan(Math.max(t,l),c),u.opaque)return;let h=e.tree&&e.tree.prop(ie.mounted);if(h&&h.overlay){let d=e.node.enter(h.overlay[0].from+l,1),p=this.highlighters.filter(g=>!g.scope||g.scope(h.tree.type)),m=e.firstChild();for(let g=0,y=l;;g++){let C=g<h.overlay.length?h.overlay[g]:null,v=C?C.from+l:a,x=Math.max(t,y),S=Math.min(n,v);if(x<S&&m)for(;e.from<S&&(this.highlightRange(e,x,S,o,s),this.startSpan(Math.min(S,e.to),c),!(e.to>=v||!e.nextSibling())););if(!C||v>n)break;y=C.to+l,y>t&&(this.highlightRange(d.cursor(),Math.max(t,C.from+l),Math.min(n,y),"",p),this.startSpan(Math.min(n,y),c))}m&&e.parent()}else if(e.firstChild()){h&&(o="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,o,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function uA(r){let e=r.type.prop(hS);for(;e&&e.context&&!r.matchContext(e.context);)e=e.next;return e||null}var U=wn.define,Ju=U(),yo=U(),uS=U(yo),fS=U(yo),xo=U(),Zu=U(xo),Op=U(xo),hr=U(),Ss=U(hr),ur=U(),fr=U(),Np=U(),xa=U(Np),ef=U(),$={comment:Ju,lineComment:U(Ju),blockComment:U(Ju),docComment:U(Ju),name:yo,variableName:U(yo),typeName:uS,tagName:U(uS),propertyName:fS,attributeName:U(fS),className:U(yo),labelName:U(yo),namespace:U(yo),macroName:U(yo),literal:xo,string:Zu,docString:U(Zu),character:U(Zu),attributeValue:U(Zu),number:Op,integer:U(Op),float:U(Op),bool:U(xo),regexp:U(xo),escape:U(xo),color:U(xo),url:U(xo),keyword:ur,self:U(ur),null:U(ur),atom:U(ur),unit:U(ur),modifier:U(ur),operatorKeyword:U(ur),controlKeyword:U(ur),definitionKeyword:U(ur),moduleKeyword:U(ur),operator:fr,derefOperator:U(fr),arithmeticOperator:U(fr),logicOperator:U(fr),bitwiseOperator:U(fr),compareOperator:U(fr),updateOperator:U(fr),definitionOperator:U(fr),typeOperator:U(fr),controlOperator:U(fr),punctuation:Np,separator:U(Np),bracket:xa,angleBracket:U(xa),squareBracket:U(xa),paren:U(xa),brace:U(xa),content:hr,heading:Ss,heading1:U(Ss),heading2:U(Ss),heading3:U(Ss),heading4:U(Ss),heading5:U(Ss),heading6:U(Ss),contentSeparator:U(hr),list:U(hr),quote:U(hr),emphasis:U(hr),strong:U(hr),link:U(hr),monospace:U(hr),strikethrough:U(hr),inserted:U(),deleted:U(),changed:U(),invalid:U(),meta:ef,documentMeta:U(ef),annotation:U(ef),processingInstruction:U(ef),definition:wn.defineModifier(),constant:wn.defineModifier(),function:wn.defineModifier(),standard:wn.defineModifier(),local:wn.defineModifier(),special:wn.defineModifier()},LJ=Bp([{tag:$.link,class:"tok-link"},{tag:$.heading,class:"tok-heading"},{tag:$.emphasis,class:"tok-emphasis"},{tag:$.strong,class:"tok-strong"},{tag:$.keyword,class:"tok-keyword"},{tag:$.atom,class:"tok-atom"},{tag:$.bool,class:"tok-bool"},{tag:$.url,class:"tok-url"},{tag:$.labelName,class:"tok-labelName"},{tag:$.inserted,class:"tok-inserted"},{tag:$.deleted,class:"tok-deleted"},{tag:$.literal,class:"tok-literal"},{tag:$.string,class:"tok-string"},{tag:$.number,class:"tok-number"},{tag:[$.regexp,$.escape,$.special($.string)],class:"tok-string2"},{tag:$.variableName,class:"tok-variableName"},{tag:$.local($.variableName),class:"tok-variableName tok-local"},{tag:$.definition($.variableName),class:"tok-variableName tok-definition"},{tag:$.special($.variableName),class:"tok-variableName2"},{tag:$.definition($.propertyName),class:"tok-propertyName tok-definition"},{tag:$.typeName,class:"tok-typeName"},{tag:$.namespace,class:"tok-namespace"},{tag:$.className,class:"tok-className"},{tag:$.macroName,class:"tok-macroName"},{tag:$.propertyName,class:"tok-propertyName"},{tag:$.operator,class:"tok-operator"},{tag:$.comment,class:"tok-comment"},{tag:$.meta,class:"tok-meta"},{tag:$.invalid,class:"tok-invalid"},{tag:$.punctuation,class:"tok-punctuation"}]);var Fp,Wi=new ie;function fA(r){return se.define({combine:r?e=>e.concat(r):void 0})}var hA=new ie,an=class{constructor(e,t,n=[],o=""){this.data=e,this.name=o,ve.prototype.hasOwnProperty("tree")||Object.defineProperty(ve.prototype,"tree",{get(){return St(this)}}),this.parser=t,this.extension=[_i.of(this),ve.languageData.of((s,i,l)=>{let a=pS(s,i,l),c=a.type.prop(Wi);if(!c)return[];let u=s.facet(c),f=a.type.prop(hA);if(f){let h=a.resolve(i-a.from,l);for(let d of f)if(d.test(h,s)){let p=s.facet(d.facet);return d.type=="replace"?p:p.concat(u)}}return u})].concat(n)}isActiveAt(e,t,n=-1){return pS(e,t,n).type.prop(Wi)==this.data}findRegions(e){let t=e.facet(_i);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],o=(s,i)=>{if(s.prop(Wi)==this.data){n.push({from:i,to:i+s.length});return}let l=s.prop(ie.mounted);if(l){if(l.tree.prop(Wi)==this.data){if(l.overlay)for(let a of l.overlay)n.push({from:a.from+i,to:a.to+i});else n.push({from:i,to:i+s.length});return}else if(l.overlay){let a=n.length;if(o(l.tree,l.overlay[0].from+i),n.length>a)return}}for(let a=0;a<s.children.length;a++){let c=s.children[a];c instanceof Se&&o(c,s.positions[a]+i)}};return o(St(e),0),n}get allowsNesting(){return!0}};an.setState=Ne.define();function pS(r,e,t){let n=r.facet(_i),o=St(r).topNode;if(!n||n.allowsNesting)for(let s=o;s;s=s.enter(e,t,Ge.ExcludeBuffers))s.type.isTop&&(o=s);return o}var vo=class extends an{constructor(e,t,n){super(e,t,[],n),this.parser=t}static define(e){let t=fA(e.languageData);return new vo(t,e.parser.configure({props:[Wi.add(n=>n.isTop?t:void 0)]}),e.name)}configure(e,t){return new vo(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function St(r){let e=r.field(an.state,!1);return e?e.tree:Se.empty}var Kp=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 n=this.cursorPos-this.string.length;return e<n||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},Ca=null,Ui=class{constructor(e,t,n=[],o,s,i,l,a){this.parser=e,this.state=t,this.fragments=n,this.tree=o,this.treeLen=s,this.viewport=i,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new Ui(e,t,[],Se.empty,0,n,[],null)}startParse(){return this.parser.startParse(new Kp(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Se.empty&&this.isDone(t!=null?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;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(nr.addTree(o,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(n=this.parse.stoppedAt)!==null&&n!==void 0?n: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(nr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Ca;Ca=this;try{return e()}finally{Ca=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=mS(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:o,treeLen:s,viewport:i,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((c,u,f,h)=>a.push({fromA:c,toA:u,fromB:f,toB:h})),n=nr.applyChanges(n,a),o=Se.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),f=e.mapPos(c.to,-1);u<f&&l.push({from:u,to:f})}}}return new Ui(this.parser,t,n,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 n=0;n<this.skipped.length;n++){let{from:o,to:s}=this.skipped[n];o<e.to&&s>e.from&&(this.fragments=mS(this.fragments,o,s),this.skipped.splice(n--,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,n,o){let s=o[0].from,i=o[o.length-1].to;return{parsedPos:s,advance(){let a=Ca;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 Se(tt.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 Ca}};function mS(r,e,t){return nr.applyChanges(r,[{fromA:e,toA:t,fromB:e,toB:t}])}var Co=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),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new Co(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=Ui.create(e.facet(_i).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new Co(n)}};an.state=Ht.define({create:Co.init,update(r,e){for(let t of e.effects)if(t.is(an.setState))return t.value;return e.startState.facet(_i)!=e.state.facet(_i)?Co.init(e.state):r.apply(e)}});var yS=r=>{let e=setTimeout(()=>r(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(yS=r=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(r,{timeout:500-100})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var zp=typeof navigator<"u"&&(!((Fp=navigator.scheduling)===null||Fp===void 0)&&Fp.isInputPending)?()=>navigator.scheduling.isInputPending():null,dA=Cn.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(an.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(an.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=yS(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:n,viewport:{to:o}}=this.view,s=n.field(an.state);if(s.tree==s.context.tree&&s.context.isDone(o+1e5))return;let i=Date.now()+Math.min(this.chunkBudget,100,e&&!zp?Math.max(25,e.timeRemaining()-5):1e9),l=s.context.treeLen<o&&n.doc.length>o+1e3,a=s.context.work(()=>zp&&zp()||Date.now()>i,o+(l?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:an.setState.of(new Co(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=>ar(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()}}}),_i=se.define({combine(r){return r.length?r[0]:null},enables:r=>[an.state,dA,ce.contentAttributes.compute([r],e=>{let t=e.facet(r);return t&&t.name?{"data-language":t.name}:{}})]});var pA=se.define(),Sa=se.define({combine:r=>{if(!r.length)return" ";let e=r[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(r[0]));return e}});function Ta(r){let e=r.facet(Sa);return e.charCodeAt(0)==9?r.tabSize*e.length:e.length}function Ea(r,e){let t="",n=r.tabSize,o=r.facet(Sa)[0];if(o==" "){for(;e>=n;)t+=" ",e-=n;o=" "}for(let s=0;s<e;s++)t+=o;return t}function Qp(r,e){r instanceof ve&&(r=new Ts(r));for(let n of r.state.facet(pA)){let o=n(r,e);if(o!==void 0)return o}let t=St(r.state);return t?gA(r,t,e):null}var Ts=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=Ta(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:o,simulateDoubleBreak:s}=this.options;return o!=null&&o>=n.from&&o<=n.to?s&&o==e?{text:"",from:e}:(t<0?o<e:o<=e)?{text:n.text.slice(o-n.from),from:o}:{text:n.text.slice(0,o-n.from),from:n.from}:n}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:o}=this.lineAt(e,t);return n.slice(e-o,Math.min(n.length,e+100-o))}column(e,t=1){let{text:n,from:o}=this.lineAt(e,t),s=this.countColumn(n,e-o),i=this.options.overrideIndentation?this.options.overrideIndentation(o):-1;return i>-1&&(s+=i-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return bs(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:o}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let i=s(o);if(i>-1)return i}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},mA=new ie;function gA(r,e,t){return xS(e.resolveInner(t).enterUnfinishedNodesBefore(t),t,r)}function bA(r){return r.pos==r.options.simulateBreak&&r.options.simulateDoubleBreak}function yA(r){let e=r.type.prop(mA);if(e)return e;let t=r.firstChild,n;if(t&&(n=t.type.prop(ie.closedBy))){let o=r.lastChild,s=o&&n.indexOf(o.name)>-1;return i=>wA(i,!0,1,void 0,s&&!bA(i)?o.from:void 0)}return r.parent==null?xA:null}function xS(r,e,t){for(;r;r=r.parent){let n=yA(r);if(n)return n(wa.create(t,e,r))}return null}function xA(){return 0}var wa=class extends Ts{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.node=n}static create(e,t,n){return new wa(e,t,n)}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 n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(vA(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){let e=this.node.parent;return e?xS(e,this.pos,this.base):0}};function vA(r,e){for(let t=e;t;t=t.parent)if(r==t)return!0;return!1}function CA(r){let e=r.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let o=r.options.simulateBreak,s=r.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==n)return null;if(!a.type.isSkipped)return a.from<i?t:null;l=a.to}}function wA(r,e,t,n,o){let s=r.textAfter,i=s.match(/^\s*/)[0].length,l=n&&s.slice(i,i+n.length)==n||o==r.pos+i,a=e?CA(r):null;return a?l?r.column(a.from):r.column(a.to):r.baseIndent+(l?0:r.unit*t)}var Vr=class{constructor(e,t){this.specs=e;let n;function o(l){let a=yn.newName();return(n||(n=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 an?l=>l.prop(Wi)==i.data:i?l=>l==i:void 0,this.style=Bp(e.map(l=>({tag:l.tag,class:l.class||o(Object.assign({},l,{tag:null}))})),{all:s}).style,this.module=n?new yn(n):null,this.themeType=t.themeType}static define(e,t){return new Vr(e,t||{})}},Wp=se.define(),vS=se.define({combine(r){return r.length?[r[0]]:null}});function Vp(r){let e=r.facet(Wp);return e.length?e:r.facet(vS)}function ka(r,e){let t=[SA],n;return r instanceof Vr&&(r.module&&t.push(ce.styleModule.of(r.module)),n=r.themeType),e!=null&&e.fallback?t.push(vS.of(r)):n?t.push(Wp.computeN([ce.darkTheme],o=>o.facet(ce.darkTheme)==(n=="dark")?[r]:[])):t.push(Wp.of(r)),t}var Up=class{constructor(e){this.markCache=Object.create(null),this.tree=St(e.state),this.decorations=this.buildDeco(e,Vp(e.state))}update(e){let t=St(e.state),n=Vp(e.state),o=n!=Vp(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,n))}buildDeco(e,t){if(!t||!this.tree.length)return lt.none;let n=new ir;for(let{from:o,to:s}of e.visibleRanges)dS(this.tree,t,(i,l,a)=>{n.add(i,l,this.markCache[a]||(this.markCache[a]=lt.mark({class:a})))},o,s);return n.finish()}},SA=ms.high(Cn.fromClass(Up,{decorations:r=>r.decorations})),jp=Vr.define([{tag:$.meta,color:"#404740"},{tag:$.link,textDecoration:"underline"},{tag:$.heading,textDecoration:"underline",fontWeight:"bold"},{tag:$.emphasis,fontStyle:"italic"},{tag:$.strong,fontWeight:"bold"},{tag:$.strikethrough,textDecoration:"line-through"},{tag:$.keyword,color:"#708"},{tag:[$.atom,$.bool,$.url,$.contentSeparator,$.labelName],color:"#219"},{tag:[$.literal,$.inserted],color:"#164"},{tag:[$.string,$.deleted],color:"#a11"},{tag:[$.regexp,$.escape,$.special($.string)],color:"#e40"},{tag:$.definition($.variableName),color:"#00f"},{tag:$.local($.variableName),color:"#30a"},{tag:[$.typeName,$.namespace],color:"#085"},{tag:$.className,color:"#167"},{tag:[$.special($.variableName),$.macroName],color:"#256"},{tag:$.definition($.propertyName),color:"#00c"},{tag:$.comment,color:"#940"},{tag:$.invalid,color:"#f00"}]);var TA=1e4,EA="()[]{}";var kA=new ie;function _p(r,e,t){let n=r.prop(e<0?ie.openedBy:ie.closedBy);if(n)return n;if(r.name.length==1){let o=t.indexOf(r.name);if(o>-1&&o%2==(e<0?1:0))return[t[o+e]]}return null}function Gp(r){let e=r.type.prop(kA);return e?e(r.node):r}function Es(r,e,t,n={}){let o=n.maxScanDistance||TA,s=n.brackets||EA,i=St(r),l=i.resolveInner(e,t);for(let a=l;a;a=a.parent){let c=_p(a.type,t,s);if(c&&a.from<a.to){let u=Gp(a);if(u&&(t>0?e>=u.from&&e<u.to:e>u.from&&e<=u.to))return DA(r,e,t,a,u,c,s)}}return MA(r,e,t,i,l.type,o,s)}function DA(r,e,t,n,o,s,i){let l=n.parent,a={from:o.from,to:o.to},c=0,u=l==null?void 0:l.cursor();if(u&&(t<0?u.childBefore(n.from):u.childAfter(n.to)))do if(t<0?u.to<=n.from:u.from>=n.to){if(c==0&&s.indexOf(u.type.name)>-1&&u.from<u.to){let f=Gp(u);return{start:a,end:f?{from:f.from,to:f.to}:void 0,matched:!0}}else if(_p(u.type,t,i))c++;else if(_p(u.type,-t,i)){if(c==0){let f=Gp(u);return{start:a,end:f&&f.from<f.to?{from:f.from,to:f.to}:void 0,matched:!1}}c--}}while(t<0?u.prevSibling():u.nextSibling());return{start:a,matched:!1}}function MA(r,e,t,n,o,s,i){let l=t<0?r.sliceDoc(e-1,e):r.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=r.doc.iterRange(e,t>0?r.doc.length:0),f=0;for(let h=0;!u.next().done&&h<=s;){let d=u.value;t<0&&(h+=d.length);let p=e+h*t;for(let m=t>0?0:d.length-1,g=t>0?d.length:-1;m!=g;m+=t){let y=i.indexOf(d[m]);if(!(y<0||n.resolveInner(p+m,1).type!=o))if(y%2==0==t>0)f++;else{if(f==1)return{start:c,end:{from:p+m,to:p+m+1},matched:y>>1==a>>1};f--}}t>0&&(h+=d.length)}return u.done?{start:c,matched:!1}:null}var RA=Object.create(null),gS=[tt.none];var bS=[],PA=Object.create(null);for(let[r,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"]])PA[r]=IA(RA,e);function $p(r,e){bS.indexOf(r)>-1||(bS.push(r),console.warn(e))}function IA(r,e){let t=null;for(let s of e.split(".")){let i=r[s]||$[s];i?typeof i=="function"?t?t=i(t):$p(s,`Modifier ${s} used at start of tag`):t?$p(s,`Tag ${s} used as modifier`):t=i:$p(s,`Unknown highlighting tag ${s}`)}if(!t)return 0;let n=e.replace(/ /g,"_"),o=tt.define({id:gS.length,name:n,props:[va({[n]:t})]});return gS.push(o),o.id}var tf={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},ks=Ne.define({map(r,e){let t=e.mapPos(r,-1,Ct.TrackAfter);return t==null?void 0:t}}),Xp=new class extends Un{};Xp.startSide=1;Xp.endSide=-1;var SS=Ht.define({create(){return Ae.empty},update(r,e){if(e.selection){let t=e.state.doc.lineAt(e.selection.main.head).from,n=e.startState.doc.lineAt(e.startState.selection.main.head).from;t!=e.changes.mapPos(n,-1)&&(r=Ae.empty)}r=r.map(e.changes);for(let t of e.effects)t.is(ks)&&(r=r.update({add:[Xp.range(t.value,t.value+1)]}));return r}});function Yp(){return[HA,SS]}var qp="()[]{}<>";function AA(r){for(let e=0;e<qp.length;e+=2)if(qp.charCodeAt(e)==r)return qp.charAt(e+1);return wC(r<128?r:r+1)}function LA(r,e){return r.languageDataAt("closeBrackets",e)[0]||tf}var OA=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),HA=ce.inputHandler.of((r,e,t,n)=>{if((OA?r.composing:r.compositionStarted)||r.state.readOnly)return!1;let o=r.state.selection.main;if(n.length>2||n.length==2&&fs(sr(n,0))==1||e!=o.from||t!=o.to)return!1;let s=NA(r.state,n);return s?(r.dispatch(s),!0):!1});function NA(r,e){let t=LA(r,r.selection.main.head),n=t.brackets||tf.brackets;for(let o of n){let s=AA(sr(o,0));if(e==o)return s==o?zA(r,o,n.indexOf(o+o+o)>-1,t):BA(r,o,s,t.before||tf.before);if(e==s&&TS(r,r.selection.main.from))return FA(r,o,s)}return null}function TS(r,e){let t=!1;return r.field(SS).between(0,r.doc.length,n=>{n==e&&(t=!0)}),t}function Jp(r,e){let t=r.sliceString(e,e+2);return t.slice(0,fs(sr(t,0)))}function BA(r,e,t,n){let o=null,s=r.changeByRange(i=>{if(!i.empty)return{changes:[{insert:e,from:i.from},{insert:t,from:i.to}],effects:ks.of(i.to+e.length),range:F.range(i.anchor+e.length,i.head+e.length)};let l=Jp(r.doc,i.head);return!l||/\s/.test(l)||n.indexOf(l)>-1?{changes:{insert:e+t,from:i.head},effects:ks.of(i.head+e.length),range:F.cursor(i.head+e.length)}:{range:o=i}});return o?null:r.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function FA(r,e,t){let n=null,o=r.changeByRange(s=>s.empty&&Jp(r.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:F.cursor(s.head+t.length)}:n={range:s});return n?null:r.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function zA(r,e,t,n){let o=n.stringPrefixes||tf.stringPrefixes,s=null,i=r.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:e,from:l.to}],effects:ks.of(l.to+e.length),range:F.range(l.anchor+e.length,l.head+e.length)};let a=l.head,c=Jp(r.doc,a),u;if(c==e){if(CS(r,a))return{changes:{insert:e+e,from:a},effects:ks.of(a+e.length),range:F.cursor(a+e.length)};if(TS(r,a)){let h=t&&r.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+h.length,insert:h},range:F.cursor(a+h.length)}}}else{if(t&&r.sliceDoc(a-2*e.length,a)==e+e&&(u=wS(r,a-2*e.length,o))>-1&&CS(r,u))return{changes:{insert:e+e+e+e,from:a},effects:ks.of(a+e.length),range:F.cursor(a+e.length)};if(r.charCategorizer(a)(c)!=Ot.Word&&wS(r,a,o)>-1&&!VA(r,a,e,o))return{changes:{insert:e+e,from:a},effects:ks.of(a+e.length),range:F.cursor(a+e.length)}}return{range:s=l}});return s?null:r.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function CS(r,e){let t=St(r).resolveInner(e+1);return t.parent&&t.from==e}function VA(r,e,t,n){let o=St(r).resolveInner(e,-1),s=n.reduce((i,l)=>Math.max(i,l.length),0);for(let i=0;i<5;i++){let l=r.sliceDoc(o.from,Math.min(o.to,o.from+t.length+s)),a=l.indexOf(t);if(!a||a>-1&&n.indexOf(l.slice(0,a))>-1){let u=o.firstChild;for(;u&&u.from==o.from&&u.to-u.from>t.length+a;){if(r.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 wS(r,e,t){let n=r.charCategorizer(e);if(n(r.sliceDoc(e-1,e))!=Ot.Word)return e;for(let o of t){let s=e-o.length;if(r.sliceDoc(s,e)==o&&n(r.sliceDoc(s-1,s))!=Ot.Word)return s}return-1}var $A=r=>{let{state:e}=r,t=e.doc.lineAt(e.selection.main.from),n=sm(r.state,t.from);return n.line?KA(r):n.block?UA(r):!1};function om(r,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let o=r(e,t);return o?(n(t.update(o)),!0):!1}}var KA=om(QA,0);var WA=om(AS,0);var UA=om((r,e)=>AS(r,e,GA(e)),0);function sm(r,e){let t=r.languageDataAt("commentTokens",e);return t.length?t[0]:{}}var Da=50;function _A(r,{open:e,close:t},n,o){let s=r.sliceDoc(n-Da,n),i=r.sliceDoc(o,o+Da),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:n-l,margin:l&&1},close:{pos:o+a,margin:a&&1}};let u,f;o-n<=2*Da?u=f=r.sliceDoc(n,o):(u=r.sliceDoc(n,n+Da),f=r.sliceDoc(o-Da,o));let h=/^\s*/.exec(u)[0].length,d=/\s*$/.exec(f)[0].length,p=f.length-d-t.length;return u.slice(h,h+e.length)==e&&f.slice(p,p+t.length)==t?{open:{pos:n+h+e.length,margin:/\s/.test(u.charAt(h+e.length))?1:0},close:{pos:o-d-t.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function GA(r){let e=[];for(let t of r.selection.ranges){let n=r.doc.lineAt(t.from),o=t.to<=n.to?n:r.doc.lineAt(t.to),s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=o.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:o.to})}return e}function AS(r,e,t=e.selection.ranges){let n=t.map(s=>sm(e,s.from).block);if(!n.every(s=>s))return null;let o=t.map((s,i)=>_A(e,n[i],s.from,s.to));if(r!=2&&!o.every(s=>s))return{changes:e.changes(t.map((s,i)=>o[i]?[]:[{from:s.from,insert:n[i].open+" "},{from:s.to,insert:" "+n[i].close}]))};if(r!=1&&o.some(s=>s)){let s=[];for(let i=0,l;i<o.length;i++)if(l=o[i]){let a=n[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 QA(r,e,t=e.selection.ranges){let n=[],o=-1;for(let{from:s,to:i}of t){let l=n.length,a=1e9,c=sm(e,s).line;if(c){for(let u=s;u<=i;){let f=e.doc.lineAt(u);if(f.from>o&&(s==i||i>f.from)){o=f.from;let h=/^\s*/.exec(f.text)[0].length,d=h==f.length,p=f.text.slice(h,h+c.length)==c?h:-1;h<f.text.length&&h<a&&(a=h),n.push({line:f,comment:p,token:c,indent:h,empty:d,single:!1})}u=f.to+1}if(a<1e9)for(let u=l;u<n.length;u++)n[u].indent<n[u].line.text.length&&(n[u].indent=a);n.length==l+1&&(n[l].single=!0)}}if(r!=2&&n.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:l,token:a,indent:c,empty:u,single:f}of n)(f||!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(r!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:i,comment:l,token:a}of n)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 em=sn.define(),jA=sn.define(),qA=se.define(),LS=se.define({combine(r){return gs(r,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,o)=>e(n,o)||t(n,o)})}});function XA(r){let e=0;return r.iterChangedRanges((t,n)=>e=n),e}var OS=Ht.define({create(){return Tn.empty},update(r,e){let t=e.state.facet(LS),n=e.annotation(em);if(n){let a=e.docChanged?F.single(XA(e.changes)):void 0,c=Tt.fromTransaction(e,a),u=n.side,f=u==0?r.undone:r.done;return c?f=rf(f,f.length,t.minDepth,c):f=BS(f,e.startState.selection),new Tn(u==0?n.rest:f,u==0?f:n.rest)}let o=e.annotation(jA);if((o=="full"||o=="before")&&(r=r.isolate()),e.annotation(We.addToHistory)===!1)return e.changes.empty?r:r.addMapping(e.changes.desc);let s=Tt.fromTransaction(e),i=e.annotation(We.time),l=e.annotation(We.userEvent);return s?r=r.addChanges(s,i,l,t,e):e.selection&&(r=r.addSelection(e.startState.selection,i,l,t.newGroupDelay)),(o=="full"||o=="after")&&(r=r.isolate()),r},toJSON(r){return{done:r.done.map(e=>e.toJSON()),undone:r.undone.map(e=>e.toJSON())}},fromJSON(r){return new Tn(r.done.map(Tt.fromJSON),r.undone.map(Tt.fromJSON))}});function im(r={}){return[OS,LS.of(r),ce.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?HS:e.inputType=="historyRedo"?tm:null;return n?(e.preventDefault(),n(t)):!1}})]}function of(r,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let o=t.field(OS,!1);if(!o)return!1;let s=o.pop(r,t,e);return s?(n(s),!0):!1}}var HS=of(0,!1),tm=of(1,!1),YA=of(0,!0),JA=of(1,!0);var Tt=class{constructor(e,t,n,o,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=o,this.selectionsAfter=s}setSelAfter(e){return new Tt(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;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:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(o=>o.toJSON())}}static fromJSON(e){return new Tt(e.changes&&Ke.fromJSON(e.changes),[],e.mapped&&on.fromJSON(e.mapped),e.startSelection&&F.fromJSON(e.startSelection),e.selectionsAfter.map(F.fromJSON))}static fromTransaction(e,t){let n=Sn;for(let o of e.startState.facet(qA)){let s=o(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new Tt(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,Sn)}static selection(e){return new Tt(void 0,Sn,void 0,void 0,e)}};function rf(r,e,t,n){let o=e+1>t+20?e-t-1:0,s=r.slice(o,e);return s.push(n),s}function ZA(r,e){let t=[],n=!1;return r.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&&(n=!0)}}),n}function eL(r,e){return r.ranges.length==e.ranges.length&&r.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function NS(r,e){return r.length?e.length?r.concat(e):r:e}var Sn=[],tL=200;function BS(r,e){if(r.length){let t=r[r.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-tL));return n.length&&n[n.length-1].eq(e)?r:(n.push(e),rf(r,r.length-1,1e9,t.setSelAfter(n)))}else return[Tt.selection([e])]}function nL(r){let e=r[r.length-1],t=r.slice();return t[r.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Zp(r,e){if(!r.length)return r;let t=r.length,n=Sn;for(;t;){let o=rL(r[t-1],e,n);if(o.changes&&!o.changes.empty||o.effects.length){let s=r.slice(0,t);return s[t-1]=o,s}else e=o.mapped,t--,n=o.selectionsAfter}return n.length?[Tt.selection(n)]:Sn}function rL(r,e,t){let n=NS(r.selectionsAfter.length?r.selectionsAfter.map(l=>l.map(e)):Sn,t);if(!r.changes)return Tt.selection(n);let o=r.changes.map(e),s=e.mapDesc(r.changes,!0),i=r.mapped?r.mapped.composeDesc(s):s;return new Tt(o,Ne.mapEffects(r.effects,e),i,r.startSelection.map(s),n)}var oL=/^(input\.type|delete)($|\.)/,Tn=class{constructor(e,t,n=0,o=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=o}isolate(){return this.prevTime?new Tn(this.done,this.undone):this}addChanges(e,t,n,o,s){let i=this.done,l=i[i.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!n||oL.test(n))&&(!l.selectionsAfter.length&&t-this.prevTime<o.newGroupDelay&&o.joinToEvent(s,ZA(l.changes,e.changes))||n=="input.type.compose")?i=rf(i,i.length-1,o.minDepth,new Tt(e.changes.compose(l.changes),NS(e.effects,l.effects),l.mapped,l.startSelection,Sn)):i=rf(i,i.length,o.minDepth,e),new Tn(i,Sn,t,n)}addSelection(e,t,n,o){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:Sn;return s.length>0&&t-this.prevTime<o&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&eL(s[s.length-1],e)?this:new Tn(BS(this.done,e),this.undone,t,n)}addMapping(e){return new Tn(Zp(this.done,e),Zp(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let o=e==0?this.done:this.undone;if(o.length==0)return null;let s=o[o.length-1];if(n&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:em.of({side:e,rest:nL(o)}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let i=o.length==1?Sn:o.slice(0,o.length-1);return s.mapped&&(i=Zp(i,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:em.of({side:e,rest:i}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};Tn.empty=new Tn(Sn,Sn);var lm=[{key:"Mod-z",run:HS,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:tm,preventDefault:!0},{linux:"Ctrl-Shift-z",run:tm,preventDefault:!0},{key:"Mod-u",run:YA,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:JA,preventDefault:!0}];function Gi(r,e){return F.create(r.ranges.map(e),r.mainIndex)}function dr(r,e){return r.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Gn({state:r,dispatch:e},t){let n=Gi(r.selection,t);return n.eq(r.selection)?!1:(e(dr(r,n)),!0)}function sf(r,e){return F.cursor(e?r.to:r.from)}function FS(r,e){return Gn(r,t=>t.empty?r.moveByChar(t,e):sf(t,e))}function Et(r){return r.textDirectionAt(r.state.selection.main.head)==Xe.LTR}var zS=r=>FS(r,!Et(r)),VS=r=>FS(r,Et(r));function $S(r,e){return Gn(r,t=>t.empty?r.moveByGroup(t,e):sf(t,e))}var sL=r=>$S(r,!Et(r)),iL=r=>$S(r,Et(r));function lL(r,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(r.sliceDoc(e.from,e.to)))||e.firstChild}function lf(r,e,t){let n=St(r).resolveInner(e.head),o=t?ie.closedBy:ie.openedBy;for(let a=e.head;;){let c=t?n.childAfter(a):n.childBefore(a);if(!c)break;lL(r,c,o)?n=c:a=t?c.to:c.from}let s=n.type.prop(o),i,l;return s&&(i=t?Es(r,n.from,1):Es(r,n.to,-1))&&i.matched?l=t?i.end.to:i.end.from:l=t?n.to:n.from,F.cursor(l,t?-1:1)}var aL=r=>Gn(r,e=>lf(r.state,e,!Et(r))),cL=r=>Gn(r,e=>lf(r.state,e,Et(r)));function KS(r,e){return Gn(r,t=>{if(!t.empty)return sf(t,e);let n=r.moveVertically(t,e);return n.head!=t.head?n:r.moveToLineBoundary(t,e)})}var WS=r=>KS(r,!1),US=r=>KS(r,!0);function _S(r){let e=r.scrollDOM.clientHeight<r.scrollDOM.scrollHeight-2,t=0,n=0,o;if(e){for(let s of r.state.facet(ce.scrollMargins)){let i=s(r);i!=null&&i.top&&(t=Math.max(i==null?void 0:i.top,t)),i!=null&&i.bottom&&(n=Math.max(i==null?void 0:i.bottom,n))}o=r.scrollDOM.clientHeight-t-n}else o=(r.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:n,selfScroll:e,height:Math.max(r.defaultLineHeight,o-5)}}function GS(r,e){let t=_S(r),{state:n}=r,o=Gi(n.selection,i=>i.empty?r.moveVertically(i,e,t.height):sf(i,e));if(o.eq(n.selection))return!1;let s;if(t.selfScroll){let i=r.coordsAtPos(n.selection.main.head),l=r.scrollDOM.getBoundingClientRect(),a=l.top+t.marginTop,c=l.bottom-t.marginBottom;i&&i.top>a&&i.bottom<c&&(s=ce.scrollIntoView(o.main.head,{y:"start",yMargin:i.top-a}))}return r.dispatch(dr(n,o),{effects:s}),!0}var ES=r=>GS(r,!1),nm=r=>GS(r,!0);function wo(r,e,t){let n=r.lineBlockAt(e.head),o=r.moveToLineBoundary(e,t);if(o.head==e.head&&o.head!=(t?n.to:n.from)&&(o=r.moveToLineBoundary(e,t,!1)),!t&&o.head==n.from&&n.length){let s=/^\s*/.exec(r.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(o=F.cursor(n.from+s))}return o}var uL=r=>Gn(r,e=>wo(r,e,!0)),fL=r=>Gn(r,e=>wo(r,e,!1)),hL=r=>Gn(r,e=>wo(r,e,!Et(r))),dL=r=>Gn(r,e=>wo(r,e,Et(r))),pL=r=>Gn(r,e=>F.cursor(r.lineBlockAt(e.head).from,1)),mL=r=>Gn(r,e=>F.cursor(r.lineBlockAt(e.head).to,-1));function gL(r,e,t){let n=!1,o=Gi(r.selection,s=>{let i=Es(r,s.head,-1)||Es(r,s.head,1)||s.head>0&&Es(r,s.head-1,1)||s.head<r.doc.length&&Es(r,s.head+1,-1);if(!i||!i.end)return s;n=!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 n?(e(dr(r,o)),!0):!1}var bL=({state:r,dispatch:e})=>gL(r,e,!1);function En(r,e){let t=Gi(r.state.selection,n=>{let o=e(n);return F.range(n.anchor,o.head,o.goalColumn,o.bidiLevel||void 0)});return t.eq(r.state.selection)?!1:(r.dispatch(dr(r.state,t)),!0)}function QS(r,e){return En(r,t=>r.moveByChar(t,e))}var jS=r=>QS(r,!Et(r)),qS=r=>QS(r,Et(r));function XS(r,e){return En(r,t=>r.moveByGroup(t,e))}var yL=r=>XS(r,!Et(r)),xL=r=>XS(r,Et(r));var vL=r=>En(r,e=>lf(r.state,e,!Et(r))),CL=r=>En(r,e=>lf(r.state,e,Et(r)));function YS(r,e){return En(r,t=>r.moveVertically(t,e))}var JS=r=>YS(r,!1),ZS=r=>YS(r,!0);function eT(r,e){return En(r,t=>r.moveVertically(t,e,_S(r).height))}var kS=r=>eT(r,!1),DS=r=>eT(r,!0),wL=r=>En(r,e=>wo(r,e,!0)),SL=r=>En(r,e=>wo(r,e,!1)),TL=r=>En(r,e=>wo(r,e,!Et(r))),EL=r=>En(r,e=>wo(r,e,Et(r))),kL=r=>En(r,e=>F.cursor(r.lineBlockAt(e.head).from)),DL=r=>En(r,e=>F.cursor(r.lineBlockAt(e.head).to)),MS=({state:r,dispatch:e})=>(e(dr(r,{anchor:0})),!0),RS=({state:r,dispatch:e})=>(e(dr(r,{anchor:r.doc.length})),!0),PS=({state:r,dispatch:e})=>(e(dr(r,{anchor:r.selection.main.anchor,head:0})),!0),IS=({state:r,dispatch:e})=>(e(dr(r,{anchor:r.selection.main.anchor,head:r.doc.length})),!0),ML=({state:r,dispatch:e})=>(e(r.update({selection:{anchor:0,head:r.doc.length},userEvent:"select"})),!0),RL=({state:r,dispatch:e})=>{let t=cf(r).map(({from:n,to:o})=>F.range(n,Math.min(o+1,r.doc.length)));return e(r.update({selection:F.create(t),userEvent:"select"})),!0},PL=({state:r,dispatch:e})=>{let t=Gi(r.selection,n=>{var o;let s=St(r).resolveInner(n.head,1);for(;!(s.from<n.from&&s.to>=n.to||s.to>n.to&&s.from<=n.from||!(!((o=s.parent)===null||o===void 0)&&o.parent));)s=s.parent;return F.range(s.to,s.from)});return e(dr(r,t)),!0},IL=({state:r,dispatch:e})=>{let t=r.selection,n=null;return t.ranges.length>1?n=F.create([t.main]):t.main.empty||(n=F.create([F.cursor(t.main.head)])),n?(e(dr(r,n)),!0):!1};function af(r,e){if(r.state.readOnly)return!1;let t="delete.selection",{state:n}=r,o=n.changeByRange(s=>{let{from:i,to:l}=s;if(i==l){let a=e(i);a<i?(t="delete.backward",a=nf(r,a,!1)):a>i&&(t="delete.forward",a=nf(r,a,!0)),i=Math.min(i,a),l=Math.max(l,a)}else i=nf(r,i,!1),l=nf(r,l,!0);return i==l?{range:s}:{changes:{from:i,to:l},range:F.cursor(i)}});return o.changes.empty?!1:(r.dispatch(n.update(o,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?ce.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function nf(r,e,t){if(r instanceof ce)for(let n of r.state.facet(ce.atomicRanges).map(o=>o(r)))n.between(e,e,(o,s)=>{o<e&&s>e&&(e=t?s:o)});return e}var tT=(r,e)=>af(r,t=>{let{state:n}=r,o=n.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=bs(s,n.tabSize),a=l%Ta(n)||Ta(n);for(let c=0;c<a&&s[s.length-1-c]==" ";c++)t--;i=t}else i=wt(o.text,t-o.from,e,e)+o.from,i==t&&o.number!=(e?n.doc.lines:1)&&(i+=e?1:-1);return i}),rm=r=>tT(r,!1),nT=r=>tT(r,!0),rT=(r,e)=>af(r,t=>{let n=t,{state:o}=r,s=o.doc.lineAt(n),i=o.charCategorizer(n);for(let l=null;;){if(n==(e?s.to:s.from)){n==t&&s.number!=(e?o.doc.lines:1)&&(n+=e?1:-1);break}let a=wt(s.text,n-s.from,e)+s.from,c=s.text.slice(Math.min(n,a)-s.from,Math.max(n,a)-s.from),u=i(c);if(l!=null&&u!=l)break;(c!=" "||n!=t)&&(l=u),n=a}return n}),oT=r=>rT(r,!1),AL=r=>rT(r,!0),sT=r=>af(r,e=>{let t=r.lineBlockAt(e).to;return e<t?t:Math.min(r.state.doc.length,e+1)}),LL=r=>af(r,e=>{let t=r.lineBlockAt(e).from;return e>t?t:Math.max(0,e-1)});var OL=({state:r,dispatch:e})=>{if(r.readOnly)return!1;let t=r.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:ge.of(["",""])},range:F.cursor(n.from)}));return e(r.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},HL=({state:r,dispatch:e})=>{if(r.readOnly)return!1;let t=r.changeByRange(n=>{if(!n.empty||n.from==0||n.from==r.doc.length)return{range:n};let o=n.from,s=r.doc.lineAt(o),i=o==s.from?o-1:wt(s.text,o-s.from,!1)+s.from,l=o==s.to?o+1:wt(s.text,o-s.from,!0)+s.from;return{changes:{from:i,to:l,insert:r.doc.slice(o,l).append(r.doc.slice(i,o))},range:F.cursor(l)}});return t.changes.empty?!1:(e(r.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function cf(r){let e=[],t=-1;for(let n of r.selection.ranges){let o=r.doc.lineAt(n.from),s=r.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=r.doc.lineAt(n.to-1)),t>=o.number){let i=e[e.length-1];i.to=s.to,i.ranges.push(n)}else e.push({from:o.from,to:s.to,ranges:[n]});t=s.number+1}return e}function iT(r,e,t){if(r.readOnly)return!1;let n=[],o=[];for(let s of cf(r)){if(t?s.to==r.doc.length:s.from==0)continue;let i=r.doc.lineAt(t?s.to+1:s.from-1),l=i.length+1;if(t){n.push({from:s.to,to:i.to},{from:s.from,insert:i.text+r.lineBreak});for(let a of s.ranges)o.push(F.range(Math.min(r.doc.length,a.anchor+l),Math.min(r.doc.length,a.head+l)))}else{n.push({from:i.from,to:s.from},{from:s.to,insert:r.lineBreak+i.text});for(let a of s.ranges)o.push(F.range(a.anchor-l,a.head-l))}}return n.length?(e(r.update({changes:n,scrollIntoView:!0,selection:F.create(o,r.selection.mainIndex),userEvent:"move.line"})),!0):!1}var NL=({state:r,dispatch:e})=>iT(r,e,!1),BL=({state:r,dispatch:e})=>iT(r,e,!0);function lT(r,e,t){if(r.readOnly)return!1;let n=[];for(let o of cf(r))t?n.push({from:o.from,insert:r.doc.slice(o.from,o.to)+r.lineBreak}):n.push({from:o.to,insert:r.lineBreak+r.doc.slice(o.from,o.to)});return e(r.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var FL=({state:r,dispatch:e})=>lT(r,e,!1),zL=({state:r,dispatch:e})=>lT(r,e,!0),VL=r=>{if(r.state.readOnly)return!1;let{state:e}=r,t=e.changes(cf(e).map(({from:o,to:s})=>(o>0?o--:s<e.doc.length&&s++,{from:o,to:s}))),n=Gi(e.selection,o=>r.moveVertically(o,!0)).map(t);return r.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function $L(r,e){if(/\(\)|\[\]|\{\}/.test(r.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=St(r).resolveInner(e),n=t.childBefore(e),o=t.childAfter(e),s;return n&&o&&n.to<=e&&o.from>=e&&(s=n.type.prop(ie.closedBy))&&s.indexOf(o.name)>-1&&r.doc.lineAt(n.to).from==r.doc.lineAt(o.from).from?{from:n.to,to:o.from}:null}var KL=aT(!1),WL=aT(!0);function aT(r){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(o=>{let{from:s,to:i}=o,l=e.doc.lineAt(s),a=!r&&s==i&&$L(e,s);r&&(s=i=(i<=l.to?l:e.doc.lineAt(i)).to);let c=new Ts(e,{simulateBreak:s,simulateDoubleBreak:!!a}),u=Qp(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 f=["",Ea(e,u)];return a&&f.push(Ea(e,c.lineIndent(l.from,-1))),{changes:{from:s,to:i,insert:ge.of(f)},range:F.cursor(s+1+f[1].length)}});return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function am(r,e){let t=-1;return r.changeByRange(n=>{let o=[];for(let i=n.from;i<=n.to;){let l=r.doc.lineAt(i);l.number>t&&(n.empty||n.to>l.from)&&(e(l,o,n),t=l.number),i=l.to+1}let s=r.changes(o);return{changes:o,range:F.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var UL=({state:r,dispatch:e})=>{if(r.readOnly)return!1;let t=Object.create(null),n=new Ts(r,{overrideIndentation:s=>{let i=t[s];return i==null?-1:i}}),o=am(r,(s,i,l)=>{let a=Qp(n,s.from);if(a==null)return;/\S/.test(s.text)||(a=0);let c=/^\s*/.exec(s.text)[0],u=Ea(r,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(r.update(o,{userEvent:"indent"})),!0},_L=({state:r,dispatch:e})=>r.readOnly?!1:(e(r.update(am(r,(t,n)=>{n.push({from:t.from,insert:r.facet(Sa)})}),{userEvent:"input.indent"})),!0),GL=({state:r,dispatch:e})=>r.readOnly?!1:(e(r.update(am(r,(t,n)=>{let o=/^\s*/.exec(t.text)[0];if(!o)return;let s=bs(o,r.tabSize),i=0,l=Ea(r,Math.max(0,s-Ta(r)));for(;i<o.length&&i<l.length&&o.charCodeAt(i)==l.charCodeAt(i);)i++;n.push({from:t.from+i,to:t.from+o.length,insert:l.slice(i)})}),{userEvent:"delete.dedent"})),!0);var QL=[{key:"Ctrl-b",run:zS,shift:jS,preventDefault:!0},{key:"Ctrl-f",run:VS,shift:qS},{key:"Ctrl-p",run:WS,shift:JS},{key:"Ctrl-n",run:US,shift:ZS},{key:"Ctrl-a",run:pL,shift:kL},{key:"Ctrl-e",run:mL,shift:DL},{key:"Ctrl-d",run:nT},{key:"Ctrl-h",run:rm},{key:"Ctrl-k",run:sT},{key:"Ctrl-Alt-h",run:oT},{key:"Ctrl-o",run:OL},{key:"Ctrl-t",run:HL},{key:"Ctrl-v",run:nm}],jL=[{key:"ArrowLeft",run:zS,shift:jS,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:sL,shift:yL,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:hL,shift:TL,preventDefault:!0},{key:"ArrowRight",run:VS,shift:qS,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:iL,shift:xL,preventDefault:!0},{mac:"Cmd-ArrowRight",run:dL,shift:EL,preventDefault:!0},{key:"ArrowUp",run:WS,shift:JS,preventDefault:!0},{mac:"Cmd-ArrowUp",run:MS,shift:PS},{mac:"Ctrl-ArrowUp",run:ES,shift:kS},{key:"ArrowDown",run:US,shift:ZS,preventDefault:!0},{mac:"Cmd-ArrowDown",run:RS,shift:IS},{mac:"Ctrl-ArrowDown",run:nm,shift:DS},{key:"PageUp",run:ES,shift:kS},{key:"PageDown",run:nm,shift:DS},{key:"Home",run:fL,shift:SL,preventDefault:!0},{key:"Mod-Home",run:MS,shift:PS},{key:"End",run:uL,shift:wL,preventDefault:!0},{key:"Mod-End",run:RS,shift:IS},{key:"Enter",run:KL},{key:"Mod-a",run:ML},{key:"Backspace",run:rm,shift:rm},{key:"Delete",run:nT},{key:"Mod-Backspace",mac:"Alt-Backspace",run:oT},{key:"Mod-Delete",mac:"Alt-Delete",run:AL},{mac:"Mod-Backspace",run:LL},{mac:"Mod-Delete",run:sT}].concat(QL.map(r=>({mac:r.key,run:r.run,shift:r.shift}))),uf=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:aL,shift:vL},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:cL,shift:CL},{key:"Alt-ArrowUp",run:NL},{key:"Shift-Alt-ArrowUp",run:FL},{key:"Alt-ArrowDown",run:BL},{key:"Shift-Alt-ArrowDown",run:zL},{key:"Escape",run:IL},{key:"Mod-Enter",run:WL},{key:"Alt-l",mac:"Ctrl-l",run:RL},{key:"Mod-i",run:PL,preventDefault:!0},{key:"Mod-[",run:GL},{key:"Mod-]",run:_L},{key:"Mod-Alt-\\",run:UL},{key:"Shift-Mod-k",run:VL},{key:"Shift-Mod-\\",run:bL},{key:"Mod-/",run:$A},{key:"Alt-A",run:WA}].concat(jL);var qL=[...uf,...lm],XL=(()=>[Lp(),im(),Ap(),Yp(),ka(jp,{fallback:!0}),Vi.of(qL)])();var YL=require("@vuu-ui/vuu-utils");var cT=[{label:"=",boost:10,type:"operator"},{label:"!=",boost:9,type:"operator"}],JL=[...cT,{label:"in",boost:6,type:"operator"},{label:"starts",boost:5,type:"operator"},{label:"ends",boost:4,type:"operator"}],ZL=[...cT,{label:">",boost:8,type:"operator"},{label:"<",boost:7,type:"operator"}];var mO=require("@vuu-ui/vuu-utils"),Cm=require("react");var ji=class{constructor(e,t,n,o,s,i,l,a,c,u=0,f){this.p=e,this.stack=t,this.state=n,this.reducePos=o,this.pos=s,this.score=i,this.buffer=l,this.bufferBase=a,this.curContext=c,this.lookAhead=u,this.parent=f}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let o=e.parser.context;return new ji(e,[],t,n,n,0,[],0,o?new ff(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 n=e>>19,o=e&65535,{parser:s}=this.p,i=s.dynamicPrecedence(o);if(i&&(this.score+=i),n==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-(n-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,f=this.bufferBase+this.buffer.length-u;if(o<s.minRepeatTerm||e&131072){let h=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(o,a,h,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let h=this.stack[l-3];this.state=s.getGoto(h,o,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(o,a)}storeNode(e,t,n,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==n)return;if(i.buffer[l-2]>=t){i.buffer[l-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,o);else{let i=this.buffer.length;if(i>0&&this.buffer[i-4]!=0)for(;i>0&&this.buffer[i-2]>n;)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]=n,this.buffer[i+3]=o}}shift(e,t,n){let o=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=n,this.shiftContext(t,o),t<=this.p.parser.maxNode&&this.buffer.push(t,o,n,4);else{let s=e,{parser:i}=this.p;(n>this.pos||t<=i.maxNode)&&(this.pos=n,i.stateFlag(s,1)||(this.reducePos=n)),this.pushState(s,o),this.shiftContext(t,o),t<=i.maxNode&&this.buffer.push(t,o,n,4)}}apply(e,t,n){e&65536?this.reduce(e):this.shift(e,t,n)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(t,o),this.buffer.push(n,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 n=e.buffer.slice(t),o=e.bufferBase+t;for(;e&&o==e.bufferBase;)e=e.parent;return new ji(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new um(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if(!(n&65536))return!0;t.reduce(n)}}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 n=[];for(let o=0;o<t.length&&n.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,n.push(i)}return n}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 n=e>>19,o=e&65535,s=this.stack.length-n*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 ff(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()}},ff=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},uT;(function(r){r[r.Insert=200]="Insert",r[r.Delete=190]="Delete",r[r.Reduce=100]="Reduce",r[r.MaxNext=4]="MaxNext",r[r.MaxInsertStackDepth=300]="MaxInsertStackDepth",r[r.DampenInsertStackDepth=120]="DampenInsertStackDepth",r[r.MinBigReduction=2e3]="MinBigReduction"})(uT||(uT={}));var um=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,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let o=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=o}},qi=class{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new qi(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 qi(this.stack,this.pos,this.index)}};function Ma(r,e=Uint16Array){if(typeof r!="string")return r;let t=null;for(let n=0,o=0;n<r.length;){let s=0;for(;;){let i=r.charCodeAt(n++),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 Qi=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},fT=new Qi,fm=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=fT,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 n=this.range,o=this.rangeIndex,s=this.pos+e;for(;s<n.from;){if(!o)return null;let i=this.ranges[--o];s-=n.from-i.to,n=i}for(;t<0?s>n.to:s>=n.to;){if(o==this.ranges.length-1)return null;let i=this.ranges[++o];s+=i.from-n.to,n=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,n,o;if(t>=0&&t<this.chunk.length)n=this.pos+e,o=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(n=s,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)o=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let i=this.rangeIndex,l=this.range;for(;l.to<=n;)l=this.ranges[++i];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>l.to&&(this.chunk2=this.chunk2.slice(0,l.to-n)),o=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),o}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}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=fT,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 n="";for(let o of this.ranges){if(o.from>=t)break;o.to>e&&(n+=this.input.read(Math.max(o.from,e),Math.min(o.to,t)))}return n}},So=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;yT(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};So.prototype.contextual=So.prototype.fallback=So.prototype.extend=!1;var hm=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?Ma(e):e}token(e,t){let n=e.pos,o=0;for(;yT(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(n,e.token),e.acceptToken(this.elseToken,o))}};hm.prototype.contextual=So.prototype.fallback=So.prototype.extend=!1;function yT(r,e,t,n,o,s){let i=0,l=1<<n,{dialect:a}=t.p.parser;e:for(;l&r[i];){let c=r[i+1];for(let d=i+3;d<c;d+=2)if((r[d+1]&l)>0){let p=r[d];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||oO(p,e.token.value,o,s))){e.acceptToken(p);break}}let u=e.next,f=0,h=r[i+2];if(e.next<0&&h>f&&r[c+h*3-3]==65535&&r[c+h*3-3]==65535){i=r[c+h*3-1];continue e}for(;f<h;){let d=f+h>>1,p=c+d+(d<<1),m=r[p],g=r[p+1]||65536;if(u<m)h=d;else if(u>=g)f=d+1;else{i=r[p+2],e.advance();continue e}}break}}function hT(r,e,t){for(let n=e,o;(o=r[n])!=65535;n++)if(o==t)return n-e;return-1}function oO(r,e,t,n){let o=hT(t,n,e);return o<0||hT(t,n,r)<o}var Qn=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),cm=null,dT;(function(r){r[r.Margin=25]="Margin"})(dT||(dT={}));function pT(r,e,t){let n=r.cursor(Ge.IncludeAnonymous);for(n.moveTo(e);;)if(!(t<0?n.childBefore(e):n.childAfter(e)))for(;;){if((t<0?n.to<e:n.from>e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(r.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:r.length}}var dm=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?pT(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?pT(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 n=this.trees[t],o=this.index[t];if(o==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=n.children[o],i=this.start[t]+n.positions[o];if(i>e)return this.nextStart=i,null;if(s instanceof Se){if(i==e){if(i<this.safeFrom)return null;let l=i+s.length;if(l<=this.safeTo){let a=s.prop(ie.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}}},pm=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new Qi)}getActions(e){let t=0,n=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],f=this.tokens[c];if(!(n&&!u.fallback)&&((u.contextual||f.start!=e.pos||f.mask!=i||f.context!=l)&&(this.updateCachedToken(f,u,e),f.mask=i,f.context=l),f.lookAhead>f.end+25&&(a=Math.max(f.lookAhead,a)),f.value!=0)){let h=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!u.extend&&(n=f,t>h))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!n&&e.pos==this.stream.end&&(n=new Qi,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Qi,{pos:n,p:o}=e;return t.start=n,t.end=Math.min(n+1,o.stream.end),t.value=n==o.stream.end?o.parser.eofTerm:0,t}updateCachedToken(e,t,n){let o=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(o,e),n),e.value>-1){let{parser:s}=n.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),n);if(l>=0&&n.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,n,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++]=n,o}addActions(e,t,n,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=$r(l,c+2);else{o==0&&l[c+1]==2&&(o=this.putAction($r(l,c+2),t,n,o));break}l[c]==t&&(o=this.putAction($r(l,c+1),t,n,o))}return o}},mT;(function(r){r[r.Distance=5]="Distance",r[r.MaxRemainingPerStep=3]="MaxRemainingPerStep",r[r.MinBufferLengthPrune=500]="MinBufferLengthPrune",r[r.ForceReduceLimit=10]="ForceReduceLimit",r[r.CutDepth=15e3]="CutDepth",r[r.CutTo=9e3]="CutTo",r[r.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",r[r.MaxStackCount=12]="MaxStackCount"})(mT||(mT={}));var mm=class{constructor(e,t,n,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 fm(t,o),this.tokens=new pm(e,this.stream),this.topTerm=e.top[1];let{from:s}=o[0];this.stacks=[ji.start(this,e.top[0],s)],this.fragments=n.length&&this.stream.end-s>e.bufferLength*4?new dm(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=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)n.push(l);else{if(this.advanceStack(l,n,e))continue;{o||(o=[],s=[]),o.push(l);let a=this.tokens.getMainToken(l);s.push(a.value,a.end)}}break}}if(!n.length){let i=o&&sO(o);if(i)return this.stackToTree(i);if(this.parser.strict)throw Qn&&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,n);if(i)return this.stackToTree(i.forceAll())}if(this.recovering){let i=this.recovering==1?1:this.recovering*3;if(n.length>i)for(n.sort((l,a)=>a.score-l.score);n.length>i;)n.pop();n.some(l=>l.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let i=0;i<n.length-1;i++){let l=n[i];for(let a=i+1;a<n.length;a++){let c=n[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)n.splice(a--,1);else{n.splice(i--,1);continue e}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let i=1;i<n.length;i++)n[i].pos<this.minStackPos&&(this.minStackPos=n[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,n){let o=e.pos,{parser:s}=this,i=Qn?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 f=this.fragments.nodeAt(o);f;){let h=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(e.state,f.type.id):-1;if(h>-1&&f.length&&(!c||(f.prop(ie.contextHash)||0)==u))return e.useNode(f,h),Qn&&console.log(i+this.stackID(e)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof Se)||f.children.length==0||f.positions[0]>0)break;let d=f.children[0];if(d instanceof Se&&f.positions[0]==0)f=d;else break}}let l=s.stateSlot(e.state,4);if(l>0)return e.reduce(l),Qn&&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++],f=a[c++],h=a[c++],d=c==a.length||!n,p=d?e:e.split();if(p.apply(u,f,h),Qn&&console.log(i+this.stackID(p)+` (via ${u&65536?`reduce of ${s.getName(u&65535)}`:"shift"} for ${s.getName(f)} @ ${o}${p==e?"":", split"})`),d)return!0;p.pos>o?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return gT(e,t),!0}}runRecovery(e,t,n){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=Qn?this.stackID(l)+" -> ":"";if(l.deadEnd&&(s||(s=!0,l.restart(),Qn&&console.log(u+this.stackID(l)+" (restarted)"),this.advanceFully(l,n))))continue;let f=l.split(),h=u;for(let d=0;f.forceReduce()&&d<10&&(Qn&&console.log(h+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,n));d++)Qn&&(h=this.stackID(f)+" -> ");for(let d of l.recoverByInsert(a))Qn&&console.log(u+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,n);this.stream.end>l.pos?(c==l.pos&&(c++,a=0),l.recoverByDelete(a,c),Qn&&console.log(u+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),gT(l,n)):(!o||o.score<l.score)&&(o=l)}return o}stackToTree(e){return e.close(),Se.build({buffer:qi.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=(cm||(cm=new WeakMap)).get(e);return t||cm.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function gT(r,e){for(let t=0;t<e.length;t++){let n=e[t];if(n.pos==r.pos&&n.sameState(r)){e[t].score<r.score&&(e[t]=r);return}}e.push(r)}var gm=class{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}};var Ds=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 n=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=ie[a]);for(let c=1;c<l.length;){let u=l[c++];if(u>=0)s(u,a,l[c++]);else{let f=l[c+-u];for(let h=-u;h>0;h--)s(l[c++],a,f);c++}}}this.nodeSet=new Er(t.map((l,a)=>tt.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:o[a],top:n.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=Ma(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(bT),this.states=Ma(e.states,Uint32Array),this.data=Ma(e.stateData),this.goto=Ma(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(l=>typeof l=="number"?new So(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,n){let o=new mm(this,e,t,n);for(let s of this.wrappers)o=s(o,e,t,n);return o}getGoto(e,t,n=!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&&n)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 n=this.data;for(let o=0;o<2;o++)for(let s=this.stateSlot(e,o?2:1),i;;s+=3){if((i=n[s])==65535)if(n[s+1]==1)i=n[s=$r(n,s+2)];else{if(n[s+1]==2)return $r(n,s+2);break}if(i==t||i==0)return $r(n,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 n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=$r(this.data,n+2);else return!1;if(t==$r(this.data,n+1))return!0}}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=$r(this.data,n+2);else break;if(!(this.data[n+2]&1)){let o=this.data[n+1];t.some((s,i)=>i&1&&s==o)||t.push(this.data[n],o)}}return t}configure(e){let t=Object.assign(Object.create(Ds.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let o=e.tokenizers.find(s=>s.from==n);return o?o.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,o)=>{let s=e.specializers.find(l=>l.from==n.external);if(!s)return n;let i=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[o]=bT(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),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let i=t.indexOf(s);i>=0&&(n[i]=!0)}let o=null;for(let s=0;s<t.length;s++)if(!n[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 gm(e,n,o)}static deserialize(e){return new Ds(e)}};function $r(r,e){return r[e]|r[e+1]<<16}function sO(r){let e=null;for(let t of r){let n=t.p.stoppedAt;(t.pos==t.p.stream.end||n!=null&&t.pos>n)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function bT(r){if(r.external){let e=r.extend?1:0;return(t,n)=>r.external(t,n)<<1|e}return r.get}var hf=Ds.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 RZ=vo.define({name:"VuuColumnExpression",parser:hf.configure({props:[va({Function:$.variableName,String:$.string,Or:$.emphasis,Operator:$.operator})]})});var bm=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}}},ym=class{constructor(e){this.type="colExpression";this.column=e}toJSON(){return{type:this.type,column:this.column}}},Pa,Rs,xT=class{constructor(e="unknown"){qt(this,Pa,[{type:"unknown"},{type:"unknown"}]);qt(this,Rs,void 0);this.type="arithmeticExpression";Pn(this,Rs,e)}get op(){return j(this,Rs)}set op(e){Pn(this,Rs,e)}get expressions(){return j(this,Pa)}toJSON(){return{type:this.type,op:j(this,Rs),expressions:j(this,Pa)}}};Pa=new WeakMap,Rs=new WeakMap;var Zi,xm=class{constructor(e){qt(this,Zi,[]);this.type="callExpression";this.functionName=e}get expressions(){return j(this,Zi)}get arguments(){return j(this,Zi)}toJSON(){return{type:this.type,functionName:this.functionName,arguments:j(this,Zi).map(e=>{var t;return(t=e.toJSON)==null?void 0:t.call(e)})}}};Zi=new WeakMap;var Ia,el,Yi=class{constructor(){qt(this,Ia,[{type:"unknown"},{type:"unknown"}]);qt(this,el,"unknown");this.type="relationalExpression"}get op(){return j(this,el)}set op(e){Pn(this,el,e)}get expressions(){return j(this,Ia)}toJSON(){return{type:this.type,op:j(this,el),expressions:j(this,Ia)}}};Ia=new WeakMap,el=new WeakMap;var Aa,tl,Ji=class{constructor(e){qt(this,Aa,[{type:"unknown"},{type:"unknown"}]);qt(this,tl,void 0);this.type="booleanCondition";Pn(this,tl,e)}get op(){return j(this,tl)}get expressions(){return j(this,Aa)}toJSON(){return{type:this.type,op:j(this,tl),expressions:j(this,Aa).map(e=>{var t;return(t=e.toJSON)==null?void 0:t.call(e)})}}};Aa=new WeakMap,tl=new WeakMap;var pr,Ra=class{constructor(e){qt(this,pr,void 0);this.type="conditionalExpression";Pn(this,pr,[e?new Ji(e):new Yi,{type:"unknown"},{type:"unknown"}])}get expressions(){return j(this,pr)}get condition(){return j(this,pr)[0]}get truthyExpression(){return j(this,pr)[1]}set truthyExpression(e){j(this,pr)[1]=e}get falsyExpression(){return j(this,pr)[2]}set falsyExpression(e){j(this,pr)[2]=e}toJSON(){var e,t,n,o,s;return{type:this.type,condition:(t=(e=this.condition).toJSON)==null?void 0:t.call(e),truthyExpression:this.truthyExpression,falsyExpression:(s=(o=(n=this.falsyExpression)==null?void 0:n.toJSON)==null?void 0:o.call(n))!=null?s:this.falsyExpression}}};pr=new WeakMap;var Ms=r=>r.type==="unknown",df=r=>r.type==="arithmeticExpression",iO=r=>r.type==="callExpression",Xi=r=>r.type==="conditionalExpression",lO=r=>r.type==="relationalExpression"||r.type==="booleanCondition";var aO=r=>r.type==="booleanCondition",vm=r=>(r==null?void 0:r.type)==="relationalExpression";var kn=r=>{if(Ms(r))return r;if(vm(r)){let[e,t]=r.expressions;if(kt(e))return kn(e);if(r.op==="unknown")return r;if(kt(t))return kn(t)}else if(lO(r)){let{expressions:e=[]}=r;for(let t of e)if(kt(t))return kn(t)}else if(Xi(r)){let{condition:e,truthyExpression:t,falsyExpression:n}=r;if(kt(e))return kn(e);if(kt(t))return kn(t);if(kt(n))return kn(n)}else if(df(r)){let{expressions:e=[]}=r;for(let t of e)if(kt(t))return kn(t)}},pf=(r,e,t)=>{let{expressions:n=[]}=r;if(n.includes(e)){let o=n.indexOf(e);return n.splice(o,1,t),!0}else for(let o of n)if(pf(o,e,t))return!0;return!1},kt=r=>Ms(r)?!0:Xi(r)?kt(r.condition)||kt(r.truthyExpression)||kt(r.falsyExpression):vm(r)||aO(r)?r.op===void 0||r.expressions.some(e=>kt(e)):!1,vT=(r,e)=>{let t=kn(r);t?t.expressions?t.expressions.push(e):console.warn("don't know how to treat targetExpression"):console.error("no target expression found")},be,Ps,CT=class{constructor(){qt(this,be,void 0);qt(this,Ps,[])}setCondition(e){if(j(this,be)===void 0)this.addExpression(new Ra(e));else if(Xi(j(this,be))){if(kt(j(this,be).condition)){let t=e?new Ji(e):new Yi;this.addExpression(t)}else if(Ms(j(this,be).truthyExpression))j(this,be).truthyExpression=new Ra(e);else if(kt(j(this,be).truthyExpression)){let t=e?new Ji(e):new Yi;this.addExpression(t)}else if(Ms(j(this,be).falsyExpression))j(this,be).falsyExpression=new Ra(e);else if(kt(j(this,be).falsyExpression)){let t=e?new Ji(e):new Yi;this.addExpression(t)}}else console.error("setCondition called unexpectedly")}addExpression(e){if(j(this,Ps).length>0){let t=j(this,Ps).at(-1);t==null||t.arguments.push(e)}else if(j(this,be)===void 0)Pn(this,be,e);else if(df(j(this,be))){let t=kn(j(this,be));t&&Ms(t)&&pf(j(this,be),t,e)}else if(Xi(j(this,be))&&kt(j(this,be))){let t=kn(j(this,be));t&&Ms(t)?pf(j(this,be),t,e):t&&vT(t,e)}}setFunction(e){let t=new xm(e);this.addExpression(t),j(this,Ps).push(t)}setColumn(e){this.addExpression(new ym(e))}setArithmeticOp(e){let t=e,n=j(this,be);df(n)&&(n.op=t)}setRelationalOperator(e){let t=e;if(j(this,be)&&Xi(j(this,be))){let n=kn(j(this,be));vm(n)?n.op=t:console.error(`no target expression found (op = ${e})`)}}setValue(e){let t=new bm(e);if(j(this,be)===void 0)Pn(this,be,t);else if(df(j(this,be)))this.addExpression(t);else if(iO(j(this,be)))j(this,be).arguments.push(t);else if(Xi(j(this,be)))if(kt(j(this,be))){let n=kn(j(this,be));n&&Ms(n)?pf(j(this,be),n,t):n&&vT(n,t)}else console.log("what do we do with value, in a complete expression")}closeBrace(){j(this,Ps).pop()}get expression(){return j(this,be)}toJSON(){var e;return(e=j(this,be))==null?void 0:e.toJSON()}};be=new WeakMap,Ps=new WeakMap;var OZ=hf.configure({strict:!0}),cO=["Number","String"],uO=[...cO,"AndCondition","ArithmeticExpression","BooleanOperator","RelationalOperatorOperator","CallExpression","CloseBrace","Column","Comma","ConditionalExpression","Divide","Equal","If","Minus","OpenBrace","OrCondition","ParenthesizedExpression","Plus","RelationalExpression","RelationalOperator","Times"];var fO=Vr.define([{tag:$.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:$.comment,color:"green",fontStyle:"italic"}]),hO=ka(fO);var dO=ce.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 pO=require("react");var gO=require("react/jsx-runtime");var TT=require("@vuu-ui/vuu-utils"),ET=require("react");var wT=[{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 mr=require("@vuu-ui/vuu-utils"),ST=({name:r,description:e,example:t,params:n,type:o})=>{let s=(0,mr.createEl)("div","vuuFunctionDoc"),i=(0,mr.createEl)("div","function-heading"),l=(0,mr.createEl)("span","function-name",r),a=(0,mr.createEl)("span","param-list",n.description),c=(0,mr.createEl)("span","function-type",o);i.appendChild(l),i.appendChild(a),i.appendChild(c);let u=(0,mr.createEl)("p",void 0,e);if(s.appendChild(i),s.appendChild(u),t){let f=(0,mr.createEl)("div","example-container","Example:"),h=(0,mr.createEl)("div","example-expression",t.expression),d=(0,mr.createEl)("div","example-result",t.result);f.appendChild(h),f.appendChild(d),s.appendChild(f)}return s};var bO=r=>({apply:`${r.name}( `,boost:2,expressionType:r.type,info:()=>ST(r),label:r.name,type:"function"});var $ee=wT.map(bO);var mf=require("@vuu-ui/vuu-utils"),wm=require("react");var DT=require("react/jsx-runtime");var RT=require("react/jsx-runtime");var PT=require("react"),yO=W(require("classnames"),1);var IT=require("react/jsx-runtime");var Tte=new Intl.NumberFormat;var nl=require("@salt-ds/core");var bf=require("@vuu-ui/vuu-utils"),Tm=require("react");var AT=require("react/jsx-runtime");var LT=require("@vuu-ui/vuu-utils"),gr=require("react"),OT=({availableColumns:r,onAvailableColumnsChange:e,onConfigChange:t,onCreateCalculatedColumn:n,onDataSourceConfigChange:o,tableConfig:s})=>{let i=fn(),l=(0,gr.useRef)(),[a,c]=(0,gr.useState)(r),u=(0,gr.useCallback)((p,m,g)=>{i({type:"set-props",path:"#context-panel",props:{expanded:!0,content:{type:p,props:g},title:m}})},[i]),f=(0,gr.useCallback)(p=>{let m=a.concat({name:p.name,serverDataType:(0,LT.getCalculatedColumnType)(p)});c(m),e==null||e(m),requestAnimationFrame(()=>{var g;(g=l.current)==null||g.call(l)}),n(p)},[a,e,n]),h=(0,gr.useCallback)(p=>{u("ColumnSettings","Column Settings",{column:p.column,onConfigChange:t,onCreateCalculatedColumn:f,tableConfig:s,vuuTable:p.vuuTable})},[f,t,u,s]),d=(0,gr.useCallback)(()=>{h({column:{name:"::",serverDataType:"string"},type:"columnSettings",vuuTable:{module:"SIMUL",table:"instruments"}})},[h]);return l.current=(0,gr.useCallback)(()=>{u("TableSettings","DataGrid Settings",{availableColumns:a!=null?a:s.columns.map(({name:p,serverDataType:m})=>({name:p,serverDataType:m})),onAddCalculatedColumn:d,onConfigChange:t,onDataSourceConfigChange:o,tableConfig:s})},[a,d,t,o,u,s]),{showColumnSettingsPanel:h,showTableSettingsPanel:l.current}};var gt=require("react");var Em=r=>`.vuuTableNext-col-headers .vuuTableNextHeaderCell:nth-child(${r})`,km=(r,e)=>`.vuuTableNext-body > [aria-rowindex='${r}'] > [role='cell']:nth-child(${e+1})`,HT=(r,[e,t])=>{var s;let n=e===-1?Em(t):km(e,t),o=(s=r.current)==null?void 0:s.querySelector(n);return xO(o)&&o.querySelector("button")||o},xO=r=>r.classList.contains("vuuTableNextCell-editable"),NT=r=>r.querySelector(".vuuTableInputCell")!==null;var vO=new Set(["Home","End","PageUp","PageDown","ArrowDown","ArrowLeft","ArrowRight","ArrowUp"]),CO=r=>vO.has(r),wO=["Home","End","PageUp","PageDown"],SO=r=>wO.includes(r),TO=[-1,-1],EO=[void 0,void 0],kO=r=>{var t,n;let e=(t=r.closest(".vuuTableNext"))==null?void 0:t.querySelector(".vuuTableNext-scrollbarContainer");if(e){let o=e==null?void 0:e.getBoundingClientRect(),s=(n=r.closest(".vuuTableNextCell"))==null?void 0:n.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]:EO;throw Error("Whats going on, cell not found")}else throw Error("Whats going on, scrollbar container not found")};function DO(r,[e,t],n,o){return r==="ArrowUp"?e>-1?[e-1,t]:[e,t]:r==="ArrowDown"?e===-1?[0,t]:e===o-1?[e,t]:[e+1,t]:r==="ArrowRight"?t<n-1?[e,t+1]:[e,t]:r==="ArrowLeft"?t>1?[e,t-1]:[e,t]:[e,t]}var BT=({columnCount:r=0,containerRef:e,disableHighlightOnFocus:t,requestScroll:n,rowCount:o=0,viewportRowCount:s})=>{var S;let i=(0,gt.useRef)([-1,-1]),l=(0,gt.useRef)(),a=(0,gt.useRef)([-1,0]),c=b=>b==null?void 0:b.closest("[role='columnHeader'],[role='cell']"),u=b=>{var w,k;if(b.role==="columnHeader")return[-1,parseInt((w=b.dataset.idx)!=null?w:"-1",10)];{let D=b.closest("[role='row']");if(D){let T=parseInt((k=D.ariaRowIndex)!=null?k:"-1",10),M=Array.from(D.childNodes).indexOf(b);return[T,M]}}return TO},f=(0,gt.useCallback)(b=>{var w;if(e.current){let k=HT(e,b);if(k){k!==l.current&&((w=l.current)==null||w.removeAttribute("tabindex"),l.current=k,k.setAttribute("tabindex","0"));let[D,T]=kO(k);D&&T&&(n==null||n({type:"scroll-distance",distance:T,direction:D})),k.focus()}}},[e,n]),h=(0,gt.useCallback)((b,w,k=!1)=>{let D=[b,w];a.current=D,f(D),k&&(i.current=D)},[f]),d=(0,gt.useCallback)((b,[w,k])=>new Promise(D=>{let T=w;switch(b){case"PageDown":T=Math.min(o-1,w+s),n==null||n({type:"scroll-page",direction:"down"});break;case"PageUp":T=Math.max(0,w-s),n==null||n({type:"scroll-page",direction:"up"});break;case"Home":T=0,n==null||n({type:"scroll-end",direction:"home"});break;case"End":T=o-1,n==null||n({type:"scroll-end",direction:"end"});break}setTimeout(()=>{D([T,k])},90)}),[n,o,s]),p=(0,gt.useCallback)(()=>{var b;if(t!==!0&&(b=e.current)!=null&&b.contains(document.activeElement)){let w=c(document.activeElement);w&&(console.log({focusedCell:w}),i.current=u(w))}},[t,e]),m=(0,gt.useCallback)(async b=>{console.log(`navigate child items ${b}`);let[w,k]=SO(b)?await d(b,a.current):DO(b,a.current,r,o);console.log(`nextRowIdx ${w} nextColIdx ${k}`);let[D,T]=a.current;(w!==D||k!==T)&&h(w,k,!0)},[r,d,o,h]),g=(0,gt.useCallback)(b=>{o>0&&CO(b.key)&&(b.preventDefault(),b.stopPropagation(),m(b.key))},[o,m]),y=(0,gt.useCallback)(b=>{let w=b.target,k=c(w);if(k){let[D,T]=u(k);h(D,T)}},[h]),C=(0,gt.useCallback)(()=>{m("ArrowDown")},[m]),v=(0,gt.useMemo)(()=>({navigate:C,onClick:y,onFocus:p,onKeyDown:g}),[y,p,g,C]),x=((S=e.current)==null?void 0:S.firstChild)!=null;return(0,gt.useEffect)(()=>{if(x&&l.current===void 0){let{current:b}=e,w=(b==null?void 0:b.querySelector(Em(0)))||(b==null?void 0:b.querySelector(km(0,0)));w&&(w.setAttribute("tabindex","0"),l.current=w)}},[e,x]),v};var bt=require("@vuu-ui/vuu-utils"),Te=require("react");var Oa=(r,e)=>{switch(e.type){case"col-size":return{...r,columns:r.columns.map(t=>t.name===e.column.name?{...t,width:e.width}:t)};case"column-prop":return{...r,columns:r.columns.map(t=>t.name===e.column.name?{...t,[e.property]:e.value}:t)};default:return r}};var Is=require("@vuu-ui/vuu-utils"),Dt=require("react");var xf=require("@vuu-ui/vuu-utils"),{SELECTED:MO}=xf.metadataKeys,yf=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 xf.WindowRange(e,t),this.data=new Array(t-e),this.rowCount=0}add(e){let[t]=e;if(this.isWithinRange(t)){let n=t-this.range.from;this.data[n]=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[n,o]=this.range.overlap(e,t),s=new Array(Math.max(0,t-e));for(let i=n;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[MO]===1)}};var FT=({dataSource:r,onFeatureEnabled:e,onFeatureInvocation:t,onSizeChange:n,onSubscribed:o,range:s=Is.NULL_RANGE,renderBufferSize:i=0})=>{let[,l]=(0,Dt.useState)(null),a=(0,Dt.useRef)([]),c=(0,Dt.useRef)(!0),u=(0,Dt.useRef)(!1),f=(0,Dt.useRef)(Is.NULL_RANGE),h=(0,Dt.useMemo)(()=>new yf((0,Is.getFullRange)(s,i)),[]),d=(0,Dt.useCallback)(g=>{for(let y of g)h.add(y);a.current=h.data,c.current&&l({})},[h]),p=(0,Dt.useCallback)(g=>{g.type==="subscribed"?o==null||o(g):g.type==="viewport-update"?(typeof g.size=="number"&&(n==null||n(g.size),h.setRowCount(g.size)),g.rows?d(g.rows):typeof g.size=="number"&&(a.current=h.data,u.current=!0)):ru(g)?e==null||e(g):ou(g)?t==null||t(g):console.log(`useDataSource unexpected message ${g.type}`)},[h,e,t,n,o,d]);(0,Dt.useEffect)(()=>()=>{c.current=!0,c.current=!1},[]),(0,Dt.useEffect)(()=>{r==null||r.subscribe({range:(0,Is.getFullRange)(s,i)},p)},[r,p,s,i]);let m=(0,Dt.useCallback)(g=>{let y=(0,Is.getFullRange)(g,i);h.setRange(y),r.range=f.current=y,r.emit("range",g)},[r,h,i]);return{data:a.current,range:f.current,setRange:m}};var vf=require("react"),zT=r=>{let e=(0,vf.useRef)(r);return(0,vf.useMemo)(()=>e.current,[])};var VT=require("@vuu-ui/vuu-utils"),$T=require("react"),KT=require("@vuu-ui/vuu-popups"),WT=({columns:r,data:e})=>{let[t]=(0,KT.useContextMenu)();return(0,$T.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,VT.buildColumnMap)(r),u=parseInt((a=l.ariaRowIndex)!=null?a:"-1"),f=Array.from(l.childNodes).indexOf(i),h=e.find(([p])=>p===u),d=r[f];t(o,"grid",{columnMap:c,columnName:d,row:h})}},[r,e,t])};var UT=require("@vuu-ui/vuu-utils"),Ha=require("react");var _T=({navigate:r})=>{let e=(0,Ha.useCallback)(()=>{r()},[r]),t=(0,Ha.useCallback)(s=>{let i=s.target,l=i.querySelector("input");l&&(l.focus(),l.select()),i.addEventListener("vuu-commit",e,!0)},[e]),n=(0,Ha.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,Ha.useCallback)(s=>{NT(s.target)&&((0,UT.isCharacterKey)(s.key)?t(s):s.key==="Enter"&&n(s))},[t,n])}};var xe=require("@vuu-ui/vuu-utils");var GT=require("react"),{info:Dm}=(0,xe.logger)("useTableModel"),RO=100,PO=xe.metadataKeys.count,IO=({serverDataType:r})=>r===void 0,AO=r=>{var e;if((0,xe.isTypeDescriptor)(r.type))return(0,xe.getCellRenderer)((e=r.type)==null?void 0:e.renderer)},LO=(r,e)=>{var n;let t=e.columns.find(({name:o})=>o===r.name);return t?t.serverDataType:(n=r.serverDataType)!=null?n:"string"},OO=["int","long","double"],QT=r=>r===void 0?void 0:OO.includes(r)?"right":"left",jT=r=>r.type==="columnSettings",qT=r=>r.type==="tableSettings",HO=(r,e)=>{switch(Dm==null||Dm(`TableModelReducer ${e.type}`),console.log(`TableModelReducer ${e.type}`),e.type){case"init":return console.log({init:e}),YT(e);case"moveColumn":return BO(r,e);case"resizeColumn":return VO(r,e);case"setTableSchema":return $O(r,e);case"hideColumns":return FO(r,e);case"showColumns":return zO(r,e);case"pinColumn":return KO(r,e);case"updateColumnProp":return ol(r,e);case"tableConfig":return ZT(r,e);default:return console.log(`unhandled action ${e.type}`),r}},XT=(r,e)=>{let[t,n]=(0,GT.useReducer)(HO,{tableConfig:r,dataSourceConfig:e},YT),{columns:o,headings:s,tableConfig:i,...l}=t;return{columns:o,dispatchColumnAction:n,headings:s,tableAttributes:l,tableConfig:i}};function YT({dataSourceConfig:r,tableConfig:e}){let{columns:t,...n}=e,o=t.filter((0,xe.subscribedOnly)(r==null?void 0:r.columns)).map(JT(n)),s=o.some(xe.isPinned)?(0,xe.sortPinnedColumns)(o):o,i={columns:s,headings:(0,xe.getTableHeadings)(s),tableConfig:e,...n};if(r){let{columns:l,...a}=r;i=ZT(i,{type:"tableConfig",...a})}return i}var NO=(r,e)=>e==="uppercase"?r.toUpperCase():e==="capitalize"?r[0].toUpperCase()+r.slice(1).toLowerCase():r,JT=r=>(e,t)=>{let{columnDefaultWidth:n=RO,columnFormatHeader:o}=r,{align:s=QT(e.serverDataType),key:i,name:l,label:a=l,width:c=n,...u}=e,f={...u,align:s,CellRenderer:AO(e),clientSideEditValidationCheck:(0,xe.hasValidationRules)(e.type)?ix(e.type.renderer.rules):void 0,label:NO(a,o),key:i!=null?i:t+PO,name:l,originalIdx:t,valueFormatter:(0,xe.getValueFormatter)(e),width:c};return(0,xe.isGroupColumn)(f)&&(f.columns=f.columns.map(h=>JT(r)(h,h.key))),f};function BO(r,{column:e,moveBy:t,moveTo:n}){let{columns:o}=r;if(typeof t=="number"){let s=o.indexOf(e),i=o.slice(),[l]=i.splice(s,1);return i.splice(s+t,0,l),{...r,columns:i}}else if(typeof n=="number"){let s=o.indexOf(e);return{...r,columns:(0,xe.moveItem)(o,s,n)}}return r}function FO(r,{columns:e}){return e.some(t=>t.hidden!==!0)?e.reduce((t,n)=>n.hidden!==!0?ol(t,{type:"updateColumnProp",column:n,hidden:!0}):t,r):r}function zO(r,{columns:e}){return e.some(t=>t.hidden)?e.reduce((t,n)=>n.hidden?ol(t,{type:"updateColumnProp",column:n,hidden:!1}):t,r):r}function VO(r,{column:e,phase:t,width:n}){let o="updateColumnProp",s=t!=="end";switch(t){case"begin":return ol(r,{type:o,column:e,resizing:s});case"end":return ol(r,{type:o,column:e,resizing:s,width:n});case"resize":return ol(r,{type:o,column:e,width:n});default:throw Error(`useTableModel.resizeColumn, invalid resizePhase ${t}`)}}function $O(r,{tableSchema:e}){let{columns:t}=r;if(t.some(IO)){let n=t.map(o=>{var i;let s=LO(o,e);return{...o,align:(i=o.align)!=null?i:QT(s),serverDataType:s}});return{...r,columns:n}}else return r}function KO(r,e){let{columns:t}=r,{column:n,pin:o}=e,s=t.find(i=>i.name===n.name);return s?(t=rl(t,{...s,pin:o}),t=(0,xe.sortPinnedColumns)(t),{...r,columns:t}):r}function ol(r,e){let{columns:t}=r,{align:n,column:o,hidden:s,label:i,resizing:l,width:a}=e,c=t.find(u=>u.name===o.name);return c&&((n==="left"||n==="right")&&(t=rl(t,{...c,align:n})),typeof i=="string"&&(t=rl(t,{...c,label:i})),typeof l=="boolean"&&(t=rl(t,{...c,resizing:l})),typeof s=="boolean"&&(t=rl(t,{...c,hidden:s})),typeof a=="number"&&(t=rl(t,{...c,width:a}))),{...r,columns:t}}function ZT(r,{confirmed:e,filter:t,groupBy:n,sort:o}){let s=n!==void 0,i=typeof(t==null?void 0:t.filter)=="string",l=o&&o.sortDefs.length>0,a=r;return s&&(a={...r,columns:(0,xe.applyGroupByToColumns)(a.columns,n,e)}),l&&(a={...r,columns:(0,xe.applySortToColumns)(a.columns,o)}),i?a={...r,columns:(0,xe.applyFilterToColumns)(a.columns,t)}:a.columns.some(xe.isFilteredColumn)&&(a={...r,columns:(0,xe.stripFilterFromColumns)(a.columns)}),a}function rl(r,e){return r.map(t=>t.name===e.name?e:t)}var Bt=require("react"),eE=r=>{let{scrollLeft:e,scrollTop:t}=r,{clientHeight:n,clientWidth:o,scrollHeight:s,scrollWidth:i}=r,l=e/(i-o),a=t/(s-n);return[l,a]},tE=({onAttach:r,onDetach:e})=>{let t=(0,Bt.useRef)(null);return(0,Bt.useCallback)(o=>{if(o)t.current=o,r==null||r(o);else if(t.current){let{current:s}=t;t.current=o,e==null||e(s)}},[r,e])},nE=({maxScrollLeft:r,maxScrollTop:e,onHorizontalScroll:t,onVerticalScroll:n,rowHeight:o,viewportRowCount:s})=>{let i=(0,Bt.useRef)(!1),l=(0,Bt.useRef)({scrollTop:0,scrollLeft:0}),a=(0,Bt.useRef)(null),c=(0,Bt.useRef)(null),u=(0,Bt.useCallback)(()=>{let{current:v}=c,{current:x}=a,{current:S}=i;if(S)i.current=!1;else if(v&&x){let[b,w]=eE(x),k=Math.round(b*r),D=Math.round(w*e);v.scrollTo({left:k,top:D,behavior:"auto"})}},[r,e]),f=(0,Bt.useCallback)(()=>{let{current:v}=c,{current:x}=a,{current:S}=l;if(v&&x){let{scrollLeft:b,scrollTop:w}=v,[k,D]=eE(v);i.current=!0,x.scrollLeft=Math.round(k*r),x.scrollTop=Math.round(D*e),S.scrollTop!==w&&(S.scrollTop=w,n==null||n(w,D)),S.scrollLeft!==b&&(S.scrollLeft=b,t==null||t(b))}},[r,e,t,n]),h=(0,Bt.useCallback)(v=>{a.current=v,v.addEventListener("scroll",u,{passive:!0})},[u]),d=(0,Bt.useCallback)(v=>{a.current=null,v.removeEventListener("scroll",u)},[u]),p=(0,Bt.useCallback)(v=>{c.current=v,v.addEventListener("scroll",f,{passive:!0})},[f]),m=(0,Bt.useCallback)(v=>{c.current=null,v.removeEventListener("scroll",f)},[f]),g=tE({onAttach:p,onDetach:m}),y=tE({onAttach:h,onDetach:d}),C=(0,Bt.useCallback)(v=>{let{current:x}=c;if(x){let{scrollLeft:S,scrollTop:b}=x;if(i.current=!1,v.type==="scroll-distance"){let w=S,k=b;v.direction==="up"||v.direction==="down"?k=Math.min(Math.max(0,b+v.distance),e):w=Math.min(Math.max(0,S+v.distance),r),x.scrollTo({top:k,left:w,behavior:"auto"})}else if(v.type==="scroll-page"){let{direction:w}=v,k=s*(w==="down"?o:-o),D=Math.min(Math.max(0,b+k),e);x.scrollTo({top:D,left:S,behavior:"auto"})}else if(v.type==="scroll-end"){let{direction:w}=v,k=w==="end"?e:0;x.scrollTo({top:k,left:x.scrollLeft,behavior:"auto"})}}},[r,e,o,s]);return{scrollbarContainerRef:y,contentContainerRef:g,requestScroll:C}};var sl=require("react"),rE=({columns:r,getRowAtPosition:e,setRange:t,viewportMeasurements:n})=>{let o=(0,sl.useRef)(0),{contentWidth:s,rowCount:i}=n,l=(0,sl.useCallback)(a=>{let c=e(a);c!==o.current&&(o.current=c,t({from:c,to:c+i}))},[e,t,i]);return(0,sl.useEffect)(()=>{let{current:a}=o,c={from:a,to:a+i};t(c)},[t,i]),{onVerticalScroll:l}};var{KEY:WO,IS_EXPANDED:oE,IS_LEAF:sE}=bt.metadataKeys,UO=(r,e)=>({...r,columns:r.columns.concat(e)}),iE=({availableColumns:r,config:e,containerRef:t,dataSource:n,headerHeight:o=25,onAvailableColumnsChange:s,onConfigChange:i,onFeatureEnabled:l,onFeatureInvocation:a,onRowClick:c,onSelectionChange:u,renderBufferSize:f=0,rowHeight:h=20,selectionModel:d})=>{let[p,m]=(0,Te.useState)(n.size);if(n===void 0)throw Error("no data source provided to Vuu Table");let[g,y]=(0,Te.useState)(),C=(0,Te.useCallback)(N=>{y(N)},[]),v=(0,Te.useMemo)(()=>ul(n),[n]),x=(0,Te.useCallback)(N=>{m(N)},[]),{columns:S,dispatchColumnAction:b,headings:w,tableAttributes:k,tableConfig:D}=XT(e,n.config);An(()=>{b({type:"init",dataSourceConfig:n.config,tableConfig:D})},[D,n.config,b]);let[T,M]=(0,Te.useState)(),[E,R]=(0,Te.useMemo)(()=>{let N=(K,ue)=>{let Oe=(0,bt.updateColumn)(S,K,{width:ue});M(Oe)};return[T!=null?T:S,N]},[S,T]),A=(0,Te.useMemo)(()=>(0,bt.buildColumnMap)(n.columns),[n.columns]),{getRowAtPosition:O,getRowOffset:L,setPctScrollTop:P,...I}=jl({columns:E,headerHeight:o,headings:w,rowCount:p,rowHeight:h,size:g}),B=zT({from:0,to:I.rowCount}),H=(0,Te.useCallback)(({tableSchema:N})=>{N||console.log("usbscription message with no schema")},[]),{data:z,range:V,setRange:Q}=FT({dataSource:n,onFeatureEnabled:l,onFeatureInvocation:a,renderBufferSize:f,onSizeChange:x,onSubscribed:H,range:B}),q=(0,Te.useCallback)(N=>{console.log("useTableNext handleConfigChanged",{tableConfig:N}),b({type:"init",tableConfig:N,dataSourceConfig:n.config}),i==null||i(N)},[n.config,b,i]),Y=(0,Te.useCallback)(N=>{console.log("config changed",{dataSourceConfig:N}),n.config={...n.config,...N}},[n]),_=(0,Te.useCallback)(N=>{console.log("useTableNext handleCreateCalculatedColumn",{column:N}),n.columns=n.columns.concat(N.name);let K=UO(D,N);b({type:"init",tableConfig:K,dataSourceConfig:n.config}),i==null||i(K)},[n,b,i,D]);(0,Te.useEffect)(()=>{n.on("config",(N,K)=>{b({type:"tableConfig",...N,confirmed:K})})},[n,b]);let{showColumnSettingsPanel:J,showTableSettingsPanel:he}=OT({availableColumns:r!=null?r:D.columns.map(({name:N,serverDataType:K="string"})=>({name:N,serverDataType:K})),onAvailableColumnsChange:s,onConfigChange:q,onCreateCalculatedColumn:_,onDataSourceConfigChange:Y,tableConfig:D}),le=(0,Te.useCallback)(N=>{jT(N)?J(N):qT(N)?he():b(N)},[b,J,he]),Fe=fl({dataSource:n,onPersistentColumnOperation:le}),Ce=(0,Te.useCallback)((N,K=!1,ue)=>{n&&(n.sort=(0,bt.applySort)(n.sort,N,K,ue))},[n]),Le=(0,Te.useCallback)((N,K,ue)=>{let Oe=E.find(Ft=>Ft.name===K);if(Oe)N==="resize"?(0,bt.isValidNumber)(ue)&&R(K,ue):N==="end"?(0,bt.isValidNumber)(ue)&&(b({type:"resizeColumn",phase:N,column:Oe,width:ue}),i==null||i(Oa(D,{type:"col-size",column:Oe,width:ue}))):(M(void 0),b({type:"resizeColumn",phase:N,column:Oe,width:ue}));else throw Error(`useDataTable.handleColumnResize, column ${K} not found`)},[E,D,b,i,R]),De=(0,Te.useCallback)((N,K)=>{let ue=(0,bt.isJsonGroup)(K,N),Oe=N[WO];if(N[oE]){if(n.closeTreeNode(Oe,!0),ue){let Ft=E.indexOf(K);n.getRowsAtDepth(Ft+1).some(Mn=>Mn[oE]||Mn[sE])||b({type:"hideColumns",columns:E.slice(Ft+2)})}}else if(n.openTreeNode(Oe),ue){let Ft=n.getChildRows(Oe),To=E.indexOf(K)+1,Mn=[E[To]];Ft.some(As=>As[sE])&&Mn.push(E[To+1]),Mn.some(As=>As.hidden)&&b({type:"showColumns",columns:Mn})}},[E,n,b]),{onVerticalScroll:Pe}=rE({columns:E,getRowAtPosition:O,setRange:Q,viewportMeasurements:I}),Je=(0,Te.useCallback)(N=>{Pe(N)},[Pe]),{requestScroll:ne,...me}=nE({maxScrollLeft:I.maxScrollContainerScrollHorizontal,maxScrollTop:I.maxScrollContainerScrollVertical,rowHeight:h,onVerticalScroll:Je,viewportRowCount:I.rowCount}),{navigate:Ie,onKeyDown:ae,...Me}=BT({columnCount:E.filter(N=>N.hidden!==!0).length,containerRef:t,requestScroll:ne,rowCount:n==null?void 0:n.size,viewportRange:V,viewportRowCount:I.rowCount}),{onKeyDown:G}=_T({navigate:Ie}),Z=(0,Te.useCallback)(N=>{ae(N),N.defaultPrevented||G(N)},[ae,G]),re=WT({columns:E,data:z}),fe=(0,Te.useCallback)(N=>{var Mn;let ue=N.target.closest(".vuuTableNextHeaderCell"),Oe=parseInt((Mn=ue==null?void 0:ue.dataset.index)!=null?Mn:"-1"),Ft=(0,bt.visibleColumnAtIndex)(E,Oe),To=N.shiftKey;Ft&&Ce(Ft,To)},[E,Ce]),Ee=(0,Te.useCallback)(N=>{(0,bt.isGroupColumn)(N)?n.groupBy=[]:n&&n.groupBy.includes(N.name)&&(n.groupBy=n.groupBy.filter(K=>K!==N.name))},[n]),ze=(0,Te.useCallback)(N=>{n.select(N),u==null||u(N)},[n,u]),we=Ql({onSelectionChange:ze,selectionModel:d}),X=(0,Te.useCallback)((N,K,ue)=>{we(N,K,ue),c==null||c(N)},[c,we]);(0,Te.useEffect)(()=>{n.on("config",(N,K)=>{b({type:"tableConfig",...N,confirmed:K})})},[n,b]);let te=(0,Te.useCallback)((N,K)=>{let ue=E[N];b({type:"moveColumn",column:ue,moveTo:K})},[E,b]),oe=(0,Te.useCallback)((N,K,ue)=>n.applyEdit(N,K,ue),[n]),{onMouseDown:de,..._e}=Yn({allowDragDrop:!0,containerRef:t,draggableClassName:"vuuTableNext",onDrop:te,orientation:"horizontal",itemQuery:".vuuTableNextHeaderCell"});return{...Me,onKeyDown:Z,columnMap:A,columns:E,data:z,handleContextMenuAction:Fe,headerProps:{onClick:fe,onMouseDown:de,onResize:Le},menuBuilder:v,onContextMenu:re,onDataEdited:oe,onRemoveGroupColumn:Ee,onResize:C,onRowClick:X,onToggleGroup:De,scrollProps:me,tableAttributes:k,viewportMeasurements:I,dragDropHook:_e}};var Dn=require("react/jsx-runtime"),Rm=require("react"),jn="vuuTableNext",{IDX:_O,RENDER_IDX:GO}=il.metadataKeys,Fc=({Row:r=Td,availableColumns:e,className:t,config:n,dataSource:o,id:s,onAvailableColumnsChange:i,onConfigChange:l,onFeatureEnabled:a,onFeatureInvocation:c,onRowClick:u,onSelectionChange:f,onShowConfigEditor:h,renderBufferSize:d=0,rowHeight:p=20,selectionModel:m="extended",showColumnHeaders:g=!0,headerHeight:y=g?25:0,style:C,...v})=>{let x=ft(s),S=(0,aE.useRef)(null),{columnMap:b,columns:w,data:k,dragDropHook:D,handleContextMenuAction:T,headerProps:M,onDataEdited:E,onRemoveGroupColumn:R,onResize:A,onRowClick:O,onToggleGroup:L,menuBuilder:P,scrollProps:I,tableAttributes:B,viewportMeasurements:H,...z}=iE({availableColumns:e,config:n,containerRef:S,dataSource:o,headerHeight:y,onAvailableColumnsChange:i,onConfigChange:l,onFeatureEnabled:a,onFeatureInvocation:c,onRowClick:u,onSelectionChange:f,renderBufferSize:d,rowHeight:p,selectionModel:m}),V=()=>({...C,"--content-height":`${H.contentHeight}px`,"--horizontal-scrollbar-height":`${H.horizontalScrollbarHeight}px`,"--content-width":`${H.contentWidth}px`,"--pinned-width-left":`${H.pinnedWidthLeft}px`,"--pinned-width-right":`${H.pinnedWidthRight}px`,"--header-height":`${y}px`,"--row-height":`${p}px`,"--total-header-height":`${H.totalHeaderHeight}px`,"--vertical-scrollbar-width":`${H.verticalScrollbarWidth}px`,"--viewport-body-height":`${H.viewportBodyHeight}px`}),Q=(0,Mm.default)(jn,t,{[`${jn}-colLines`]:B.columnSeparators,[`${jn}-rowLines`]:B.rowSeparators,[`${jn}-zebra`]:B.zebraStripes});return(0,Dn.jsx)(lE.ContextMenuProvider,{menuActionHandler:T,menuBuilder:P,children:(0,Dn.jsxs)(nc,{...v,className:Q,onResize:A,ref:S,style:V(),children:[(0,Dn.jsx)("div",{className:`${jn}-scrollbarContainer`,ref:I.scrollbarContainerRef,children:(0,Dn.jsx)("div",{className:`${jn}-scrollbarContent`})}),(0,Dn.jsx)("div",{className:`${jn}-contentContainer`,ref:I.contentContainerRef,children:(0,Dn.jsxs)("div",{...z,className:`${jn}-table`,tabIndex:-1,children:[g?(0,Dn.jsx)("div",{className:`${jn}-col-headings`,children:(0,Dn.jsxs)("div",{className:`${jn}-col-headers`,role:"row",children:[w.filter(il.notHidden).map((q,Y)=>(0,il.isGroupColumn)(q)?(0,Rm.createElement)(ea,{...M,column:q,"data-index":Y,key:q.name,onRemoveColumn:R}):(0,Rm.createElement)(U0,{...M,className:(0,Mm.default)({"vuuDraggable-dragAway":Y===D.draggedItemIndex}),column:q,"data-index":Y,id:`${x}-col-${Y}`,key:q.name})),D.draggable]})}):null,(0,Dn.jsx)("div",{className:`${jn}-body`,children:k.map(q=>(0,Dn.jsx)(r,{columnMap:b,columns:w,onClick:O,onDataEdited:E,row:q,offset:p*q[_O]+y,onToggleGroup:L,zebraStripes:B.zebraStripes},q[GO]))})]})})]})})};var ll=require("@vuu-ui/vuu-utils");var Cf=require("react"),cE=require("react/jsx-runtime"),QO="vuuTableDropdownCell",jO=["Enter"," "],qO=({column:r,columnMap:e,row:t})=>{var a,c,u;let n=(0,ll.isTypeDescriptor)(r.type)&&(0,ll.isColumnTypeRenderer)((a=r.type)==null?void 0:a.renderer)?(u=(c=r.type)==null?void 0:c.renderer)==null?void 0:u.values:[],o=e[r.name],[s,i]=(0,Cf.useState)(t[o]),l=(0,Cf.useCallback)((f,h)=>{h&&i(h)},[]);return(0,cE.jsx)(Lc,{className:QO,onSelectionChange:l,openKeys:jO,selected:s,source:n,width:r.width-17})};(0,ll.registerComponent)("dropdown-cell",qO,"cell-renderer",{});var uE=require("@vuu-ui/vuu-utils"),fE=require("@salt-ds/core");var hE=W(require("classnames"));var Sf=require("react/jsx-runtime"),wf="vuuTableInputCell",XO=()=>(console.warn("onCommit handler has not been provided to InputCell cell renderer"),!0),YO=({column:r,columnMap:e,onCommit:t=XO,row:n})=>{let o=e[r.name],{align:s="left",clientSideEditValidationCheck:i,valueFormatter:l}=r,{warningMessage:a,...c}=ax({initialValue:l(n[o]),onCommit:t,clientSideEditValidationCheck:i}),u=a&&s==="left"?(0,Sf.jsx)("span",{className:`${wf}-icon`,"data-icon":"error"}):void 0,f=a&&s==="right"?(0,Sf.jsx)("span",{className:`${wf}-icon`,"data-icon":"error"}):void 0;return(0,Sf.jsx)(fE.Input,{...c,className:(0,hE.default)(wf,{[`${wf}-error`]:a!==void 0}),endAdornment:u,startAdornment:f})};(0,uE.registerComponent)("input-cell",YO,"cell-renderer",{});
|
|
22
32
|
//# sourceMappingURL=index.js.map
|