@vuu-ui/vuu-table 0.8.4 → 0.8.5
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 +17 -1
- package/cjs/index.js.map +4 -4
- package/esm/index.js +17 -1
- package/esm/index.js.map +4 -4
- package/index.css +1 -1
- package/index.css.map +3 -3
- package/package.json +5 -5
- package/LICENSE +0 -201
package/cjs/index.js
CHANGED
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
"use strict";var Zr=Object.create;var ht=Object.defineProperty;var qr=Object.getOwnPropertyDescriptor;var es=Object.getOwnPropertyNames;var ts=Object.getPrototypeOf,ns=Object.prototype.hasOwnProperty;var rs=(r,e)=>{for(var t in e)ht(r,t,{get:e[t],enumerable:!0})},mn=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of es(e))!ns.call(r,s)&&s!==t&&ht(r,s,{get:()=>e[s],enumerable:!(n=qr(e,s))||n.enumerable});return r};var Ce=(r,e,t)=>(t=r!=null?Zr(ts(r)):{},mn(e||!r||!r.__esModule?ht(t,"default",{value:r,enumerable:!0}):t,r)),ss=r=>mn(ht({},"__esModule",{value:!0}),r);var gn=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var ie=(r,e,t)=>(gn(r,e,"read from private field"),t?t.call(r):e.get(r)),bn=(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)},Mt=(r,e,t,n)=>(gn(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t);var Ri={};rs(Ri,{ColumnResizer:()=>Xe,Table:()=>wi,buildContextMenuDescriptors:()=>Tt,isShowSettings:()=>ii,useMeasuredContainer:()=>ln,useSelection:()=>an,useTableColumnResize:()=>qe,useTableContextMenu:()=>Ot,useTableModel:()=>un,useTableViewport:()=>hn});module.exports=ss(Ri);var Ie=require("react");var xn=require("react/jsx-runtime"),Cn=()=>{},is="vuuColumnResizer",Xe=({onDrag:r,onDragEnd:e=Cn,onDragStart:t=Cn})=>{let n=(0,Ie.useRef)(0),s=(0,Ie.useCallback)(l=>{l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault();let a=Math.round(l.clientX),u=a-n.current;n.current=a,u!==0&&r(l,u)},[r]),o=(0,Ie.useCallback)(l=>{window.removeEventListener("mouseup",o),window.removeEventListener("mousemove",s),e(l)},[e,s]),i=(0,Ie.useCallback)(l=>{t(l),n.current=Math.round(l.clientX),window.addEventListener("mouseup",o),window.addEventListener("mousemove",s),l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault()},[t,s,o]);return(0,xn.jsx)("div",{className:is,"data-align":"end",onMouseDown:i})};var wn=require("@vuu-ui/vuu-utils"),Tt=r=>(e,t)=>{let n=[];if(r===void 0)return n;if(e==="header")n.push(...os(t,r)),n.push(...us(t,r)),n.push(...ls(t,r)),n.push(...as(t)),n.push({action:"column-settings",icon:"cog",label:"Column Settings",options:t});else if(e==="filter"){let{column:s,filter:o}=t,i=(o==null?void 0:o.column)===(s==null?void 0:s.name);n.push({label:"Edit filter",action:"filter-edit",options:t}),n.push({label:"Remove filter",action:"filter-remove-column",options:t}),s&&!i&&n.push({label:"Remove all filters",action:"remove-filters",options:t})}return n};function os(r,{sort:{sortDefs:e}}){let{column:t}=r,n=[];if(t===void 0)return n;let s=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}),s&&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}]})):s?(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 ls(r,e){let{column:t}=r;if(t===void 0||e.groupBy.length===0)return[];let{name:n,label:s=n}=t;return[{label:`Aggregate ${s}`,children:[{label:"Count",action:"agg-count",options:r},{label:"Distinct",action:"agg-distinct",options:r}].concat((0,wn.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 Dt=(r,e)=>({label:`Pin ${e}`,action:`column-pin-${e}`,options:r}),Rt=r=>Dt(r,"left"),kt=r=>Dt(r,"floating"),St=r=>Dt(r,"right");function as(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:[Rt(r),kt(r),St(r)]}):t==="left"?n.push({label:"Unpin column",action:"column-unpin",options:r},{label:"Pin column",children:[kt(r),St(r)]}):t==="right"?n.push({label:"Unpin column",action:"column-unpin",options:r},{label:"Pin column",children:[Rt(r),kt(r)]}):t==="floating"&&n.push({label:"Unpin column",action:"column-unpin",options:r},{label:"Pin column",children:[Rt(r),St(r)]}),n}function us(r,{groupBy:e}){let{column:t}=r,n=[];if(t===void 0)return n;let{name:s,label:o=s}=t;return e.length===0?n.push({label:`Group by ${o}`,action:"group",options:r}):n.push({label:`Add ${o} to group by`,action:"group-add",options:r}),n}var yn=require("@vuu-ui/vuu-utils"),N=require("@vuu-ui/vuu-utils"),cs=(r,e)=>{if(r.filterStruct&&e){let[t,n]=(0,yn.removeColumnFromFilter)(e,r.filterStruct);return{filter:n,filterStruct:t}}else return r},{Average:hs,Count:fs,Distinct:ps,High:ds,Low:ms,Sum:gs}=N.AggregationType,Ot=({dataSource:r,onPersistentColumnOperation:e})=>(n,s)=>{let o=s;if(o.column&&r){let{column:i}=o;switch(n){case"sort-asc":return r.sort=(0,N.setSortColumn)(r.sort,i,"A"),!0;case"sort-dsc":return r.sort=(0,N.setSortColumn)(r.sort,i,"D"),!0;case"sort-add-asc":return r.sort=(0,N.addSortColumn)(r.sort,i,"A"),!0;case"sort-add-dsc":return r.sort=(0,N.addSortColumn)(r.sort,i,"D"),!0;case"group":return r.groupBy=(0,N.addGroupColumn)(r.groupBy,i),!0;case"group-add":return r.groupBy=(0,N.addGroupColumn)(r.groupBy,i),!0;case"column-hide":return e({type:"hideColumns",columns:[i]}),!0;case"column-remove":return r.columns=r.columns.filter(l=>l!==i.name),!0;case"filter-remove-column":return r.filter=cs(r.filter,i),!0;case"remove-filters":return r.filter={filter:""},!0;case"agg-avg":return r.aggregations=(0,N.setAggregations)(r.aggregations,i,hs),!0;case"agg-high":return r.aggregations=(0,N.setAggregations)(r.aggregations,i,ds),!0;case"agg-low":return r.aggregations=(0,N.setAggregations)(r.aggregations,i,ms),!0;case"agg-count":return r.aggregations=(0,N.setAggregations)(r.aggregations,i,fs),!0;case"agg-distinct":return r.aggregations=(0,N.setAggregations)(r.aggregations,i,ps),!0;case"agg-sum":return r.aggregations=(0,N.setAggregations)(r.aggregations,i,gs),!0;case"column-pin-floating":return e({type:"pinColumn",column:i,pin:"floating"}),!0;case"column-pin-left":return e({type:"pinColumn",column:i,pin:"left"}),!0;case"column-pin-right":return e({type:"pinColumn",column:i,pin:"right"}),!0;case"column-unpin":return e({type:"pinColumn",column:i,pin:void 0}),!0;case"column-settings":return e({type:"columnSettings",column:i}),!0;default:}}return!1};var Hr=require("@vuu-ui/vuu-popups"),Pt=require("@salt-ds/core");var X=require("@vuu-ui/vuu-utils"),Ne=require("react");var Z=require("@vuu-ui/vuu-utils"),Sn=Ce(require("classnames")),Je=require("react");var ft=require("@vuu-ui/vuu-utils"),Pn=require("@heswell/salt-lab"),Mn=Ce(require("classnames")),he=require("react");var Ye=require("react/jsx-runtime"),{KEY:vn}=ft.metadataKeys,At=(0,he.memo)(({className:r,column:e,columnMap:t,onClick:n,row:s})=>{let o=(0,he.useRef)(null),{align:i,CellRenderer:l,key:a,pin:u,editable:c,resizing:h,valueFormatter:f}=e,[m,g]=(0,he.useState)(!1),C=f(s[a]),[D,R]=(0,he.useState)(C),b=()=>{var M;(M=o.current)==null||M.focus()},x=M=>{M.key==="Enter"&&g(!0)},P=(0,he.useCallback)(M=>{n==null||n(M,e)},[e,n]),w=()=>{g(!0)},p=(M="",d="",v=!0,T=!1)=>{var k;g(!1),T?R(M):d!==M&&R(d),v===!1&&((k=o.current)==null||k.focus())},y=(0,Mn.default)(r,{vuuAlignRight:i==="right",vuuPinFloating:u==="floating",vuuPinLeft:u==="left",vuuPinRight:u==="right","vuuTableCell-resizing":h})||void 0,S=(0,ft.getColumnStyle)(e);return c?(0,Ye.jsx)("div",{className:y,"data-editable":!0,role:"cell",style:S,onKeyDown:x,children:(0,Ye.jsx)(Pn.EditableLabel,{editing:m,value:D,onChange:R,onMouseDownCapture:b,onEnterEditMode:w,onExitEditMode:p,onKeyDown:x,ref:o,tabIndex:0},"title")}):(0,Ye.jsx)("div",{className:y,role:"cell",style:S,onClick:P,children:l?(0,Ye.jsx)(l,{column:e,columnMap:t,row:s}):C})},bs);At.displayName="TableCell";function bs(r,e){return r.column===e.column&&r.onClick===e.onClick&&r.row[vn]===e.row[vn]&&r.row[r.column.key]===e.row[e.column.key]}var Fe=require("@vuu-ui/vuu-utils"),Rn=require("react");var Le=require("react/jsx-runtime"),{IS_LEAF:Cs}=Fe.metadataKeys,kn=({column:r,onClick:e,row:t})=>{let{columns:n}=r,[s,o]=(0,Fe.getGroupValueAndOffset)(n,t),i=(0,Rn.useCallback)(c=>{e==null||e(c,r)},[r,e]),l=(0,Fe.getColumnStyle)(r),a=t[Cs],u=Array(o).fill(0).map((c,h)=>(0,Le.jsx)("span",{className:"vuuTableGroupCell-spacer"},h));return(0,Le.jsxs)("div",{className:"vuuTableGroupCell vuuPinLeft",onClick:a?void 0:i,role:"cell",style:l,children:[u,a?null:(0,Le.jsx)("span",{className:"vuuTableGroupCell-toggle","data-icon":"triangle-right"}),(0,Le.jsx)("span",{children:s})]})};var Ze=require("react/jsx-runtime"),{IDX:xs,IS_EXPANDED:ws,SELECTED:ys}=Z.metadataKeys,pt="vuuTableRow",Tn=(0,Je.memo)(function({columnMap:e,columns:t,offset:n,onClick:s,onToggleGroup:o,virtualColSpan:i=0,row:l}){let{[xs]:a,[ws]:u,[ys]:c}=l,h=(0,Sn.default)(pt,{[`${pt}-even`]:a%2===0,[`${pt}-expanded`]:u,[`${pt}-preSelected`]:c===2}),f=(0,Je.useCallback)(g=>{let C=g.shiftKey,D=g.ctrlKey||g.metaKey;s==null||s(l,C,D)},[s,l]),m=(0,Je.useCallback)((g,C)=>{((0,Z.isGroupColumn)(C)||(0,Z.isJsonGroup)(C,l))&&(g.stopPropagation(),o==null||o(l,C))},[o,l]);return(0,Ze.jsxs)("div",{"aria-selected":c===1?!0:void 0,"aria-rowindex":a,className:h,onClick:f,role:"row",style:{transform:`translate3d(0px, ${n}px, 0px)`},children:[i>0?(0,Ze.jsx)("div",{role:"cell",style:{width:i}}):null,t.filter(Z.notHidden).map(g=>{let C=(0,Z.isGroupColumn)(g),D=(0,Z.isJsonColumn)(g);return(0,Ze.jsx)(C?kn:At,{column:g,columnMap:e,onClick:C||D?m:void 0,row:l},g.name)})]})});var Et=Ce(require("classnames")),On=require("react");var ke=require("react"),qe=({column:r,onResize:e,rootRef:t})=>{let n=(0,ke.useRef)(0),s=(0,ke.useRef)(!1),{name:o}=r,i=(0,ke.useCallback)(()=>{if(e&&t.current){console.log("handleResizeStart");let{width:u}=t.current.getBoundingClientRect();n.current=Math.round(u),s.current=!0,e==null||e("begin",o)}},[o,e,t]),l=(0,ke.useCallback)((u,c)=>{if(t.current&&e){let{width:h}=t.current.getBoundingClientRect(),f=Math.round(h)+c;f!==n.current&&f>0&&(e("resize",o,f),n.current=f)}},[o,e,t]),a=(0,ke.useCallback)(()=>{e&&(e("end",o,n.current),setTimeout(()=>{s.current=!1},100))},[o,e]);return{isResizing:s.current,onDrag:l,onDragStart:i,onDragEnd:a}};var q=require("react/jsx-runtime"),xe="vuuTable-groupHeaderCell",Dn=({column:r,onClick:e,...t})=>(0,q.jsx)("span",{...t,className:`${xe}-close`,"data-icon":"close-circle",onClick:()=>e==null?void 0:e(r)}),vs=r=>{let{children:e,column:t,className:n}=r;return(0,q.jsxs)("div",{className:(0,Et.default)(`${xe}-col`,n),role:"columnheader",children:[(0,q.jsx)("span",{className:`${xe}-label`,children:t.name}),e]})},An=({column:r,className:e,onRemoveColumn:t,onResize:n,...s})=>{let o=(0,On.useRef)(null),{isResizing:i,...l}=qe({column:r,onResize:n,rootRef:o}),a=(0,Et.default)(xe,e,{vuuPinLeft:r.pin==="left",[`${xe}-right`]:r.align==="right",[`${xe}-resizing`]:r.resizing,[`${xe}-pending`]:r.groupConfirmed===!1}),{columns:u}=r;return(0,q.jsx)("div",{className:a,ref:o,...s,children:(0,q.jsxs)("div",{className:`${xe}-inner`,children:[u.map(c=>(0,q.jsx)(vs,{column:c,children:u.length>1?(0,q.jsx)(Dn,{column:c,onClick:t}):null},c.key)),(0,q.jsx)(Dn,{"data-align":"end",onClick:t}),r.resizeable!==!1?(0,q.jsx)(Xe,{...l}):null]})})};var zn=Ce(require("classnames")),Te=require("react");var Ht=Ce(require("classnames"));var Se=require("react/jsx-runtime"),En="vuuSortIndicator",Hn=({sorted:r})=>{if(!r)return null;let e=typeof r=="number"?r<0?"dsc":"asc":r==="A"?"asc":"dsc";return typeof r=="number"?(0,Se.jsxs)("div",{className:(0,Ht.default)(En,"multi-col",e),children:[(0,Se.jsx)("span",{"data-icon":`sorted-${e}`}),(0,Se.jsx)("span",{className:"vuuSortPosition",children:Math.abs(r)})]}):(0,Se.jsx)("div",{className:(0,Ht.default)(En,"single-col"),children:(0,Se.jsx)("span",{"data-icon":`sorted-${e}`})})};var Wn=require("@vuu-ui/vuu-popups");var Vn=require("@vuu-ui/vuu-popups"),In=Ce(require("classnames")),Ln=require("react");var Nn=require("react/jsx-runtime");var Fn=({column:r,filter:e})=>{let t=(0,Vn.useContextMenu)(),n=(0,Ln.useCallback)(s=>{s.stopPropagation(),t(s,"filter",{column:r,filter:e})},[r,e,t]);return r.filter?(0,Nn.jsx)("div",{className:(0,In.default)("vuuFilterIndicator"),"data-icon":"filter",onClick:n}):null};var we=require("react/jsx-runtime"),et="vuuTable-headerCell",Kn=({column:r,className:e,onClick:t,onDragStart:n,onResize:s,...o})=>{let i=(0,Te.useRef)(null),{isResizing:l,...a}=qe({column:r,onResize:s,rootRef:i}),u=(0,Wn.useContextMenu)(),c=(0,Te.useRef)(null),h=D=>{u(D,"header",{column:r})},f=(0,Te.useCallback)(D=>!l&&(t==null?void 0:t(D)),[l,t]),m=(0,Te.useCallback)(D=>{c.current=window.setTimeout(()=>{n==null||n(D),c.current=null},500)},[n]),g=(0,Te.useCallback)(()=>{c.current!==null&&(window.clearTimeout(c.current),c.current=null)},[]),C=(0,zn.default)(et,e,{vuuPinFloating:r.pin==="floating",vuuPinLeft:r.pin==="left",vuuPinRight:r.pin==="right",vuuEndPin:r.endPin,[`${et}-resizing`]:r.resizing,[`${et}-right`]:r.align==="right"});return(0,we.jsx)("div",{className:C,...o,onClick:f,onContextMenu:h,onMouseDown:m,onMouseUp:g,ref:i,children:(0,we.jsxs)("div",{className:`${et}-inner`,children:[(0,we.jsx)(Fn,{column:r}),(0,we.jsx)("div",{className:`${et}-label`,children:r.label}),(0,we.jsx)(Hn,{sorted:r.sorted}),r.resizeable!==!1?(0,we.jsx)(Xe,{...a}):null]})})};var ee=require("react/jsx-runtime"),Vt="vuuTable",{RENDER_IDX:Ps}=X.metadataKeys,Bn=({columns:r,columnsWithinViewport:e,data:t,getRowOffset:n,headings:s,onColumnResize:o,onHeaderCellDragStart:i,onContextMenu:l,onRemoveColumnFromGroupBy:a,onRowClick:u,onSort:c,onToggleGroup:h,tableId:f,virtualColSpan:m=0,rowCount:g})=>{let C=(0,Ne.useCallback)(x=>{i==null||i(x)},[i]),D=(0,Ne.useMemo)(()=>r.filter(X.notHidden),[r]),R=(0,Ne.useMemo)(()=>(0,X.buildColumnMap)(r),[r]),b=(0,Ne.useCallback)(x=>{var M;let w=x.target.closest(".vuuTable-headerCell"),p=parseInt((M=w==null?void 0:w.dataset.idx)!=null?M:"-1"),y=(0,X.visibleColumnAtIndex)(r,p),S=x.shiftKey;y&&c(y,S)},[r,c]);return(0,ee.jsxs)("div",{"aria-rowcount":g,className:`${Vt}-table`,role:"table",children:[(0,ee.jsxs)("div",{className:`${Vt}-headers`,role:"rowGroup",children:[s.map((x,P)=>(0,ee.jsx)("div",{className:"vuuTable-heading",children:x.map(({label:w,width:p},y)=>(0,ee.jsx)("div",{className:"vuuTable-headingCell",style:{width:p},children:w},y))},P)),(0,ee.jsx)("div",{role:"row",children:D.map((x,P)=>{let w=(0,X.getColumnStyle)(x);return(0,X.isGroupColumn)(x)?(0,ee.jsx)(An,{column:x,"data-idx":P,onRemoveColumn:a,onResize:o,role:"columnHeader",style:w},P):(0,ee.jsx)(Kn,{column:x,"data-idx":P,id:`${f}-${P}`,onClick:b,onDragStart:C,onResize:o,role:"columnHeader",style:w},P)})})]}),(0,ee.jsx)("div",{className:`${Vt}-body`,onContextMenu:l,role:"rowGroup",children:t==null?void 0:t.map(x=>(0,ee.jsx)(Tn,{columnMap:R,columns:e,offset:n(x),onClick:u,virtualColSpan:m,onToggleGroup:h,row:x},x[Ps]))})]})};var Ar=require("@vuu-ui/vuu-popups"),ae=require("@vuu-ui/vuu-utils"),H=require("react");var dt=require("@vuu-ui/vuu-utils"),tt=require("react"),{SELECTED:zo}=dt.metadataKeys;var It=require("react"),Ms=require("@vuu-ui/vuu-data");var Lt=require("react"),Rs=require("@vuu-ui/vuu-data");var ks=require("react"),Ss=require("@vuu-ui/vuu-data");var Ts=0,nt=class{constructor(e,t){this.from=e,this.to=t}},E=class{constructor(e={}){this.id=Ts++,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=$.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};E.closedBy=new E({deserialize:r=>r.split(" ")});E.openedBy=new E({deserialize:r=>r.split(" ")});E.group=new E({deserialize:r=>r.split(" ")});E.contextHash=new E({perNode:!0});E.lookAhead=new E({perNode:!0});E.mounted=new E({perNode:!0});var Ds=Object.create(null),$=class{constructor(e,t,n,s=0){this.name=e,this.props=t,this.id=n,this.flags=s}static define(e){let t=e.props&&e.props.length?Object.create(null):Ds,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),s=new $(e.name||"",t,e.id,n);if(e.props){for(let o of e.props)if(Array.isArray(o)||(o=o(s)),o){if(o[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[o[0].id]=o[1]}}return s}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(E.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 s of n.split(" "))t[s]=e[n];return n=>{for(let s=n.prop(E.group),o=-1;o<(s?s.length:0);o++){let i=t[o<0?n.name:s[o]];if(i)return i}}}};$.none=new $("",Object.create(null),0,8);var ze=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 s=null;for(let o of e){let i=o(n);i&&(s||(s=Object.assign({},n.props)),s[i[0].id]=i[1])}t.push(s?new $(n.name,s,n.id,n.flags):n)}return new ze(t)}},mt=new WeakMap,_n=new WeakMap,z;(function(r){r[r.ExcludeBuffers=1]="ExcludeBuffers",r[r.IncludeAnonymous=2]="IncludeAnonymous",r[r.IgnoreMounts=4]="IgnoreMounts",r[r.IgnoreOverlays=8]="IgnoreOverlays"})(z||(z={}));var K=class{constructor(e,t,n,s,o){if(this.type=e,this.children=t,this.positions=n,this.length=s,this.props=null,o&&o.length){this.props=Object.create(null);for(let[i,l]of o)this.props[typeof i=="number"?i:i.id]=l}}toString(){let e=this.prop(E.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let n of this.children){let s=n.toString();s&&(t&&(t+=","),t+=s)}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 Ke(this.topNode,e)}cursorAt(e,t=0,n=0){let s=mt.get(this)||this.topNode,o=new Ke(s);return o.moveTo(e,t),mt.set(this,o._tree),o}get topNode(){return new te(this,0,0,null)}resolve(e,t=0){let n=We(mt.get(this)||this.topNode,e,t,!1);return mt.set(this,n),n}resolveInner(e,t=0){let n=We(_n.get(this)||this.topNode,e,t,!0);return _n.set(this,n),n}iterate(e){let{enter:t,leave:n,from:s=0,to:o=this.length}=e,i=e.mode||0,l=(i&z.IncludeAnonymous)>0;for(let a=this.cursor(i|z.IncludeAnonymous);;){let u=!1;if(a.from<=o&&a.to>=s&&(!l&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;u=!0}for(;u&&n&&(l||!a.type.isAnonymous)&&n(a),!a.nextSibling();){if(!a.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Wt($.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,s)=>new K(this.type,t,n,s,this.propValues),e.makeTree||((t,n,s)=>new K($.none,t,n,s)))}static build(e){return Os(e)}};K.empty=new K($.none,[],[],0);var rt=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 rt(this.buffer,this.index)}},fe=class{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return $.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],s=this.set.types[t],o=s.name;if(/\W/.test(o)&&!s.isError&&(o=JSON.stringify(o)),e+=4,n==e)return o;let i=[];for(;e<n;)i.push(this.childString(e)),e=this.buffer[e+3];return o+"("+i.join(",")+")"}findChild(e,t,n,s,o){let{buffer:i}=this,l=-1;for(let a=e;a!=t&&!(Qn(o,s,i[a+1],i[a+2])&&(l=a,n>0));a=i[a+3]);return l}slice(e,t,n){let s=this.buffer,o=new Uint16Array(t-e),i=0;for(let l=e,a=0;l<t;){o[a++]=s[l++],o[a++]=s[l++]-n;let u=o[a++]=s[l++]-n;o[a++]=s[l++]-e,i=Math.max(i,u)}return new fe(o,i,this.set)}};function Qn(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 Un(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 We(r,e,t,n){for(var s;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 te&&r.index<0?null:r.parent;if(!i)return r;r=i}let o=n?0:z.IgnoreOverlays;if(n)for(let i=r,l=i.parent;l;i=l,l=i.parent)i instanceof te&&i.index<0&&((s=l.enter(e,t,o))===null||s===void 0?void 0:s.from)!=i.from&&(r=l);for(;;){let i=r.enter(e,t,o);if(!i)return r;r=i}}var te=class{constructor(e,t,n,s){this._tree=e,this.from=t,this.index=n,this._parent=s}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,s,o=0){for(let i=this;;){for(let{children:l,positions:a}=i._tree,u=t>0?l.length:-1;e!=u;e+=t){let c=l[e],h=a[e]+i.from;if(Qn(s,n,h,h+c.length)){if(c instanceof fe){if(o&z.ExcludeBuffers)continue;let f=c.findChild(0,c.buffer.length,t,n-h,s);if(f>-1)return new oe(new Ft(i,c,e,h),null,f)}else if(o&z.IncludeAnonymous||!c.type.isAnonymous||zt(c)){let f;if(!(o&z.IgnoreMounts)&&c.props&&(f=c.prop(E.mounted))&&!f.overlay)return new te(f.tree,h,e,i);let m=new te(c,h,e,i);return o&z.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?c.children.length-1:0,t,n,s)}}}if(o&z.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 s;if(!(n&z.IgnoreOverlays)&&(s=this._tree.prop(E.mounted))&&s.overlay){let o=e-this.from;for(let{from:i,to:l}of s.overlay)if((t>0?i<=o:i<o)&&(t<0?l>=o:l>o))return new te(s.tree,s.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 Ke(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return We(this,e,t,!1)}resolveInner(e,t=0){return We(this,e,t,!0)}enterUnfinishedNodesBefore(e){return Un(this,e)}getChild(e,t=null,n=null){let s=bt(this,e,t,n);return s.length?s[0]:null}getChildren(e,t=null,n=null){return bt(this,e,t,n)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return Ct(this,e)}};function bt(r,e,t,n){let s=r.cursor(),o=[];if(!s.firstChild())return o;if(t!=null){for(;!s.type.is(t);)if(!s.nextSibling())return o}for(;;){if(n!=null&&s.type.is(n))return o;if(s.type.is(e)&&o.push(s.node),!s.nextSibling())return n==null?o:[]}}function Ct(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 Ft=class{constructor(e,t,n,s){this.parent=e,this.buffer=t,this.index=n,this.start=s}},oe=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:s}=this.context,o=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.context.start,n);return o<0?null:new oe(this.context,this,o)}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&z.ExcludeBuffers)return null;let{buffer:s}=this.context,o=s.findChild(this.index+4,s.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return o<0?null:new oe(this.context,this,o)}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 oe(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 oe(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new Ke(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,s=this.index+4,o=n.buffer[this.index+3];if(o>s){let i=n.buffer[this.index+1];e.push(n.slice(s,o,i)),t.push(0)}return new K(this.type,e,t,this.to-this.from)}resolve(e,t=0){return We(this,e,t,!1)}resolveInner(e,t=0){return We(this,e,t,!0)}enterUnfinishedNodesBefore(e){return Un(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,n=null){let s=bt(this,e,t,n);return s.length?s[0]:null}getChildren(e,t=null,n=null){return bt(this,e,t,n)}get node(){return this}matchContext(e){return Ct(this,e)}},Ke=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 te)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:s}=this.buffer;return this.type=t||s.set.types[s.buffer[e]],this.from=n+s.buffer[e+1],this.to=n+s.buffer[e+2],!0}yield(e){return e?e instanceof te?(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:s}=this.buffer,o=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.buffer.start,n);return o<0?!1:(this.stack.push(this.index),this.yieldBuf(o))}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&z.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&z.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&z.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 s=n<0?0:this.stack[n]+4;if(this.index!=s)return this.yieldBuf(t.findChild(s,this.index,-1,0,4))}else{let s=t.buffer[this.index+3];if(s<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(s)}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:s}=this;if(s){if(e>0){if(this.index<s.buffer.buffer.length)return!1}else for(let o=0;o<this.index;o++)if(s.buffer.buffer[o+3]<this.index)return!1;({index:t,parent:n}=s)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let o=t+e,i=e<0?-1:n._tree.children.length;o!=i;o+=e){let l=n._tree.children[o];if(this.mode&z.IncludeAnonymous||l instanceof fe||!l.type.isAnonymous||zt(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 s=this.index,o=this.stack.length;o>=0;){for(let i=e;i;i=i._parent)if(i.index==s){if(s==this.index)return i;t=i,n=o+1;break e}s=this.stack[--o]}for(let s=n;s<this.stack.length;s++)t=new oe(this.buffer,t,this.stack[s]);return this.bufferNode=new oe(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let s=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(s=!0)}for(;s&&t&&t(this),s=this.type.isAnonymous,!this.nextSibling();){if(!n)return;this.parent(),n--,s=!0}}}matchContext(e){if(!this.buffer)return Ct(this.node,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let s=e.length-1,o=this.stack.length-1;s>=0;o--){if(o<0)return Ct(this.node,e,s);let i=n[t.buffer[this.stack[o]]];if(!i.isAnonymous){if(e[s]&&e[s]!=i.name)return!1;s--}}return!0}};function zt(r){return r.children.some(e=>e instanceof fe||!e.type.isAnonymous||zt(e))}function Os(r){var e;let{buffer:t,nodeSet:n,maxBufferLength:s=1024,reused:o=[],minRepeatType:i=n.types.length}=r,l=Array.isArray(t)?new rt(t,t.length):t,a=n.types,u=0,c=0;function h(P,w,p,y,S){let{id:M,start:d,end:v,size:T}=l,k=c;for(;T<0;)if(l.next(),T==-1){let re=o[M];p.push(re),y.push(d-P);return}else if(T==-3){u=M;return}else if(T==-4){c=M;return}else throw new RangeError(`Unrecognized record size: ${T}`);let L=a[M],B,U,ut=d-P;if(v-d<=s&&(U=C(l.pos-w,S))){let re=new Uint16Array(U.size-U.skip),G=l.pos-U.size,Y=re.length;for(;l.pos>G;)Y=D(U.start,re,Y);B=new fe(re,v-U.start,n),ut=U.start-P}else{let re=l.pos-T;l.next();let G=[],Y=[],se=M>=i?M:-1,be=0,He=v;for(;l.pos>re;)se>=0&&l.id==se&&l.size>=0?(l.end<=He-s&&(m(G,Y,d,be,l.end,He,se,k),be=G.length,He=l.end),l.next()):h(d,re,G,Y,se);if(se>=0&&be>0&&be<G.length&&m(G,Y,d,be,d,He,se,k),G.reverse(),Y.reverse(),se>-1&&be>0){let ct=f(L);B=Wt(L,G,Y,0,G.length,0,v-d,ct,ct)}else B=g(L,G,Y,v-d,k-v)}p.push(B),y.push(ut)}function f(P){return(w,p,y)=>{let S=0,M=w.length-1,d,v;if(M>=0&&(d=w[M])instanceof K){if(!M&&d.type==P&&d.length==y)return d;(v=d.prop(E.lookAhead))&&(S=p[M]+d.length+v)}return g(P,w,p,y,S)}}function m(P,w,p,y,S,M,d,v){let T=[],k=[];for(;P.length>y;)T.push(P.pop()),k.push(w.pop()+p-S);P.push(g(n.types[d],T,k,M-S,v-M)),w.push(S-p)}function g(P,w,p,y,S=0,M){if(u){let d=[E.contextHash,u];M=M?[d].concat(M):[d]}if(S>25){let d=[E.lookAhead,S];M=M?[d].concat(M):[d]}return new K(P,w,p,y,M)}function C(P,w){let p=l.fork(),y=0,S=0,M=0,d=p.end-s,v={size:0,start:0,skip:0};e:for(let T=p.pos-P;p.pos>T;){let k=p.size;if(p.id==w&&k>=0){v.size=y,v.start=S,v.skip=M,M+=4,y+=4,p.next();continue}let L=p.pos-k;if(k<0||L<T||p.start<d)break;let B=p.id>=i?4:0,U=p.start;for(p.next();p.pos>L;){if(p.size<0)if(p.size==-3)B+=4;else break e;else p.id>=i&&(B+=4);p.next()}S=U,y+=k,M+=B}return(w<0||y==P)&&(v.size=y,v.start=S,v.skip=M),v.size>4?v:void 0}function D(P,w,p){let{id:y,start:S,end:M,size:d}=l;if(l.next(),d>=0&&y<i){let v=p;if(d>4){let T=l.pos-(d-4);for(;l.pos>T;)p=D(P,w,p)}w[--p]=v,w[--p]=M-P,w[--p]=S-P,w[--p]=y}else d==-3?u=y:d==-4&&(c=y);return p}let R=[],b=[];for(;l.pos>0;)h(r.start||0,r.bufferStart||0,R,b,-1);let x=(e=r.length)!==null&&e!==void 0?e:R.length?b[0]+R[0].length:0;return new K(a[r.topID],R.reverse(),b.reverse(),x)}var $n=new WeakMap;function gt(r,e){if(!r.isAnonymous||e instanceof fe||e.type!=r)return 1;let t=$n.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=r||!(n instanceof K)){t=1;break}t+=gt(r,n)}$n.set(e,t)}return t}function Wt(r,e,t,n,s,o,i,l,a){let u=0;for(let g=n;g<s;g++)u+=gt(r,e[g]);let c=Math.ceil(u*1.5/8),h=[],f=[];function m(g,C,D,R,b){for(let x=D;x<R;){let P=x,w=C[x],p=gt(r,g[x]);for(x++;x<R;x++){let y=gt(r,g[x]);if(p+y>=c)break;p+=y}if(x==P+1){if(p>c){let y=g[P];m(y.children,y.positions,0,y.children.length,C[P]+b);continue}h.push(g[P])}else{let y=C[x-1]+g[x-1].length-w;h.push(Wt(r,g,C,P,x,w,y,null,a))}f.push(w+b-o)}}return m(e,t,n,s,0),(l||a)(h,f,i)}var xt=class{startParse(e,t,n){return typeof e=="string"&&(e=new Nt(e)),n=n?n.length?n.map(s=>new nt(s.from,s.to)):[new nt(0,0)]:[new nt(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let s=this.startParse(e,t,n);for(;;){let o=s.advance();if(o)return o}}},Nt=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 Qo=new E({perNode:!0});var _e=class{constructor(e,t,n,s,o,i,l,a,u,c=0,h){this.p=e,this.stack=t,this.state=n,this.reducePos=s,this.pos=o,this.score=i,this.buffer=l,this.bufferBase=a,this.curContext=u,this.lookAhead=c,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let s=e.parser.context;return new _e(e,[],t,n,n,0,[],0,s?new wt(s,s.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,s=e&65535,{parser:o}=this.p,i=o.dynamicPrecedence(s);if(i&&(this.score+=i),n==0){this.pushState(o.getGoto(this.state,s,!0),this.reducePos),s<o.minRepeatTerm&&this.storeNode(s,this.reducePos,this.reducePos,4,!0),this.reduceContext(s,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,u=this.reducePos-a;u>=2e3&&!(!((t=this.p.parser.nodeSet.types[s])===null||t===void 0)&&t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=u));let c=l?this.stack[l-1]:0,h=this.bufferBase+this.buffer.length-c;if(s<o.minRepeatTerm||e&131072){let f=o.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(s,a,f,h+4,!0)}if(e&262144)this.state=this.stack[l];else{let f=this.stack[l-3];this.state=o.getGoto(f,s,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(s,a)}storeNode(e,t,n,s=4,o=!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(!o||this.pos==n)this.buffer.push(e,t,n,s);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,s>4&&(s-=4);this.buffer[i]=e,this.buffer[i+1]=t,this.buffer[i+2]=n,this.buffer[i+3]=s}}shift(e,t,n){let s=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=n,this.shiftContext(t,s),t<=this.p.parser.maxNode&&this.buffer.push(t,s,n,4);else{let o=e,{parser:i}=this.p;(n>this.pos||t<=i.maxNode)&&(this.pos=n,i.stateFlag(o,1)||(this.reducePos=n)),this.pushState(o,s),this.shiftContext(t,s),t<=i.maxNode&&this.buffer.push(t,s,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 s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(t,s),this.buffer.push(n,s,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),s=e.bufferBase+t;for(;e&&s==e.bufferBase;)e=e.parent;return new _e(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,s,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 Bt(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 s=[];for(let o=0,i;o<t.length;o+=2)(i=t[o+1])!=this.state&&this.p.parser.hasAction(i,e)&&s.push(t[o],i);if(this.stack.length<120)for(let o=0;s.length<4<<1&&o<t.length;o+=2){let i=t[o+1];s.some((l,a)=>a&1&&l==i)||s.push(t[o],i)}t=s}let n=[];for(let s=0;s<t.length&&n.length<4;s+=2){let o=t[s+1];if(o==this.state)continue;let i=this.split();i.pushState(o,this.pos),i.storeNode(0,i.pos,i.pos,4,!0),i.shiftContext(t[s],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,s=t&65535,o=this.stack.length-n*3;if(o<0||e.getGoto(this.stack[o],s,!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=(s,o)=>{if(!t.includes(s))return t.push(s),e.allActions(s,i=>{if(!(i&393216))if(i&65536){let l=(i>>19)-o;if(l>1){let a=i&65535,u=this.stack.length-l*3;if(u>=0&&e.getGoto(this.stack[u],a,!1)>=0)return l<<19|65536|a}}else{let l=n(i,o+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 wt(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()}},wt=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},Gn;(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"})(Gn||(Gn={}));var Bt=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 s=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=s}},$e=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 $e(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 $e(this.stack,this.pos,this.index)}};function st(r,e=Uint16Array){if(typeof r!="string")return r;let t=null;for(let n=0,s=0;n<r.length;){let o=0;for(;;){let i=r.charCodeAt(n++),l=!1;if(i==126){o=65535;break}i>=92&&i--,i>=34&&i--;let a=i-32;if(a>=46&&(a-=46,l=!0),o+=a,l)break;o*=46}t?t[s++]=o:t=new e(o)}return t}var Be=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},jn=new Be,_t=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=jn,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,s=this.rangeIndex,o=this.pos+e;for(;o<n.from;){if(!s)return null;let i=this.ranges[--s];o-=n.from-i.to,n=i}for(;t<0?o>n.to:o>=n.to;){if(s==this.ranges.length-1)return null;let i=this.ranges[++s];o+=i.from-n.to,n=i}return o}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,s;if(t>=0&&t<this.chunk.length)n=this.pos+e,s=this.chunk.charCodeAt(t);else{let o=this.resolveOffset(e,1);if(o==null)return-1;if(n=o,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)s=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)),s=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),s}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=jn,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 s of this.ranges){if(s.from>=t)break;s.to>e&&(n+=this.input.read(Math.max(s.from,e),Math.min(s.to,t)))}return n}},ye=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;tr(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};ye.prototype.contextual=ye.prototype.fallback=ye.prototype.extend=!1;var $t=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?st(e):e}token(e,t){let n=e.pos,s=0;for(;;){let o=e.next<0,i=e.resolveOffset(1,1);if(tr(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(o||s++,i==null)break;e.reset(i,e.token)}s&&(e.reset(n,e.token),e.acceptToken(this.elseToken,s))}};$t.prototype.contextual=ye.prototype.fallback=ye.prototype.extend=!1;function tr(r,e,t,n,s,o){let i=0,l=1<<n,{dialect:a}=t.p.parser;e:for(;l&r[i];){let u=r[i+1];for(let m=i+3;m<u;m+=2)if((r[m+1]&l)>0){let g=r[m];if(a.allows(g)&&(e.token.value==-1||e.token.value==g||Es(g,e.token.value,s,o))){e.acceptToken(g);break}}let c=e.next,h=0,f=r[i+2];if(e.next<0&&f>h&&r[u+f*3-3]==65535&&r[u+f*3-3]==65535){i=r[u+f*3-1];continue e}for(;h<f;){let m=h+f>>1,g=u+m+(m<<1),C=r[g],D=r[g+1]||65536;if(c<C)f=m;else if(c>=D)h=m+1;else{i=r[g+2],e.advance();continue e}}break}}function Xn(r,e,t){for(let n=e,s;(s=r[n])!=65535;n++)if(s==t)return n-e;return-1}function Es(r,e,t,n){let s=Xn(t,n,e);return s<0||Xn(t,n,r)<s}var ne=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),Kt=null,Yn;(function(r){r[r.Margin=25]="Margin"})(Yn||(Yn={}));function Jn(r,e,t){let n=r.cursor(z.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 Qt=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?Jn(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Jn(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],s=this.index[t];if(s==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let o=n.children[s],i=this.start[t]+n.positions[s];if(i>e)return this.nextStart=i,null;if(o instanceof K){if(i==e){if(i<this.safeFrom)return null;let l=i+o.length;if(l<=this.safeTo){let a=o.prop(E.lookAhead);if(!a||l+a<this.fragment.to)return o}}this.index[t]++,i+o.length>=Math.max(this.safeFrom,e)&&(this.trees.push(o),this.start.push(i),this.index.push(0))}else this.index[t]++,this.nextStart=i+o.length}}},Ut=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new Be)}getActions(e){let t=0,n=null,{parser:s}=e.p,{tokenizers:o}=s,i=s.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let u=0;u<o.length;u++){if(!(1<<u&i))continue;let c=o[u],h=this.tokens[u];if(!(n&&!c.fallback)&&((c.contextual||h.start!=e.pos||h.mask!=i||h.context!=l)&&(this.updateCachedToken(h,c,e),h.mask=i,h.context=l),h.lookAhead>h.end+25&&(a=Math.max(h.lookAhead,a)),h.value!=0)){let f=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!c.extend&&(n=h,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!n&&e.pos==this.stream.end&&(n=new Be,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 Be,{pos:n,p:s}=e;return t.start=n,t.end=Math.min(n+1,s.stream.end),t.value=n==s.stream.end?s.parser.eofTerm:0,t}updateCachedToken(e,t,n){let s=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(s,e),n),e.value>-1){let{parser:o}=n.p;for(let i=0;i<o.specialized.length;i++)if(o.specialized[i]==e.value){let l=o.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(s+1)}putAction(e,t,n,s){for(let o=0;o<s;o+=3)if(this.actions[o]==e)return s;return this.actions[s++]=e,this.actions[s++]=t,this.actions[s++]=n,s}addActions(e,t,n,s){let{state:o}=e,{parser:i}=e.p,{data:l}=i;for(let a=0;a<2;a++)for(let u=i.stateSlot(o,a?2:1);;u+=3){if(l[u]==65535)if(l[u+1]==1)u=pe(l,u+2);else{s==0&&l[u+1]==2&&(s=this.putAction(pe(l,u+2),t,n,s));break}l[u]==t&&(s=this.putAction(pe(l,u+1),t,n,s))}return s}},Zn;(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"})(Zn||(Zn={}));var Gt=class{constructor(e,t,n,s){this.parser=e,this.input=t,this.ranges=s,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 _t(t,s),this.tokens=new Ut(e,this.stream),this.topTerm=e.top[1];let{from:o}=s[0];this.stacks=[_e.start(this,e.top[0],o)],this.fragments=n.length&&this.stream.end-o>e.bufferLength*4?new Qt(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],s,o;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;{s||(s=[],o=[]),s.push(l);let a=this.tokens.getMainToken(l);o.push(a.value,a.end)}}break}}if(!n.length){let i=s&&Hs(s);if(i)return this.stackToTree(i);if(this.parser.strict)throw ne&&s&&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&&s){let i=this.stoppedAt!=null&&s[0].pos>this.stoppedAt?s[0]:this.runRecovery(s,o,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 u=n[a];if(l.sameState(u)||l.buffer.length>500&&u.buffer.length>500)if((l.score-u.score||l.buffer.length-u.buffer.length)>0)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 s=e.pos,{parser:o}=this,i=ne?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let u=e.curContext&&e.curContext.tracker.strict,c=u?e.curContext.hash:0;for(let h=this.fragments.nodeAt(s);h;){let f=this.parser.nodeSet.types[h.type.id]==h.type?o.getGoto(e.state,h.type.id):-1;if(f>-1&&h.length&&(!u||(h.prop(E.contextHash)||0)==c))return e.useNode(h,f),ne&&console.log(i+this.stackID(e)+` (via reuse of ${o.getName(h.type.id)})`),!0;if(!(h instanceof K)||h.children.length==0||h.positions[0]>0)break;let m=h.children[0];if(m instanceof K&&h.positions[0]==0)h=m;else break}}let l=o.stateSlot(e.state,4);if(l>0)return e.reduce(l),ne&&console.log(i+this.stackID(e)+` (via always-reduce ${o.getName(l&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let u=0;u<a.length;){let c=a[u++],h=a[u++],f=a[u++],m=u==a.length||!n,g=m?e:e.split();if(g.apply(c,h,f),ne&&console.log(i+this.stackID(g)+` (via ${c&65536?`reduce of ${o.getName(c&65535)}`:"shift"} for ${o.getName(h)} @ ${s}${g==e?"":", split"})`),m)return!0;g.pos>s?t.push(g):n.push(g)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return qn(e,t),!0}}runRecovery(e,t,n){let s=null,o=!1;for(let i=0;i<e.length;i++){let l=e[i],a=t[i<<1],u=t[(i<<1)+1],c=ne?this.stackID(l)+" -> ":"";if(l.deadEnd&&(o||(o=!0,l.restart(),ne&&console.log(c+this.stackID(l)+" (restarted)"),this.advanceFully(l,n))))continue;let h=l.split(),f=c;for(let m=0;h.forceReduce()&&m<10&&(ne&&console.log(f+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,n));m++)ne&&(f=this.stackID(h)+" -> ");for(let m of l.recoverByInsert(a))ne&&console.log(c+this.stackID(m)+" (via recover-insert)"),this.advanceFully(m,n);this.stream.end>l.pos?(u==l.pos&&(u++,a=0),l.recoverByDelete(a,u),ne&&console.log(c+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),qn(l,n)):(!s||s.score<l.score)&&(s=l)}return s}stackToTree(e){return e.close(),K.build({buffer:$e.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=(Kt||(Kt=new WeakMap)).get(e);return t||Kt.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function qn(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 jt=class{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}};var De=class extends xt{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]),s=[];for(let l=0;l<t.length;l++)s.push([]);function o(l,a,u){s[l].push([a,a.deserialize(String(u))])}if(e.nodeProps)for(let l of e.nodeProps){let a=l[0];typeof a=="string"&&(a=E[a]);for(let u=1;u<l.length;){let c=l[u++];if(c>=0)o(c,a,l[u++]);else{let h=l[u+-c];for(let f=-c;f>0;f--)o(l[u++],a,h);u++}}}this.nodeSet=new ze(t.map((l,a)=>$.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:s[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=st(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(er),this.states=st(e.states,Uint32Array),this.data=st(e.stateData),this.goto=st(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(l=>typeof l=="number"?new ye(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 s=new Gt(this,e,t,n);for(let o of this.wrappers)s=o(s,e,t,n);return s}getGoto(e,t,n=!1){let s=this.goto;if(t>=s[0])return-1;for(let o=s[t+1];;){let i=s[o++],l=i&1,a=s[o++];if(l&&n)return a;for(let u=o+(i>>1);o<u;o++)if(s[o]==e)return a;if(l)return-1}}hasAction(e,t){let n=this.data;for(let s=0;s<2;s++)for(let o=this.stateSlot(e,s?2:1),i;;o+=3){if((i=n[o])==65535)if(n[o+1]==1)i=n[o=pe(n,o+2)];else{if(n[o+1]==2)return pe(n,o+2);break}if(i==t||i==0)return pe(n,o+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),s=n?t(n):void 0;for(let o=this.stateSlot(e,1);s==null;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=pe(this.data,o+2);else break;s=t(pe(this.data,o+1))}return s}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=pe(this.data,n+2);else break;if(!(this.data[n+2]&1)){let s=this.data[n+1];t.some((o,i)=>i&1&&o==s)||t.push(this.data[n],s)}}return t}configure(e){let t=Object.assign(Object.create(De.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 s=e.tokenizers.find(o=>o.from==n);return s?s.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,s)=>{let o=e.specializers.find(l=>l.from==n.external);if(!o)return n;let i=Object.assign(Object.assign({},n),{external:o.to});return t.specializers[s]=er(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 o of e.split(" ")){let i=t.indexOf(o);i>=0&&(n[i]=!0)}let s=null;for(let o=0;o<t.length;o++)if(!n[o])for(let i=this.dialects[t[o]],l;(l=this.data[i++])!=65535;)(s||(s=new Uint8Array(this.maxTerm+1)))[l]=1;return new jt(e,n,s)}static deserialize(e){return new De(e)}};function pe(r,e){return r[e]|r[e+1]<<16}function Hs(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 er(r){if(r.external){let e=r.extend?1:0;return(t,n)=>r.external(t,n)<<1|e}return r.get}var Xt=De.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 le=require("@vuu-ui/vuu-utils");var Q,nr=class{constructor(){bn(this,Q,void 0)}setFilterCombinatorOp(e,t=ie(this,Q)){(0,le.isMultiClauseFilter)(t)&&t.op===e||Mt(this,Q,{op:e,filters:[ie(this,Q)]})}add(e){if(ie(this,Q)===void 0)Mt(this,Q,e);else if((0,le.isMultiClauseFilter)(ie(this,Q)))ie(this,Q).filters.push(e);else throw Error("Invalid filter passed to FilterExpression")}setColumn(e,t=ie(this,Q)){if((0,le.isMultiClauseFilter)(t)){let n=t.filters.at(-1);n&&this.setColumn(e,n)}else t&&(t.column=e)}setOp(e,t=ie(this,Q)){if((0,le.isMultiClauseFilter)(t)){let n=t.filters.at(-1);n&&this.setOp(e,n)}else t&&(t.op=e)}setValue(e,t=ie(this,Q)){var n;if((0,le.isMultiClauseFilter)(t)){let s=t.filters.at(-1);s&&this.setValue(e,s)}else(0,le.isMultiValueFilter)(t)?((n=t.values)!=null||(t.values=[]),t.values.push(e)):(0,le.isSingleValueFilter)(t)&&(t.value=e)}toJSON(e=ie(this,Q)){return this.name?{...e,name:this.name}:e}};Q=new WeakMap;var tl=Xt.configure({strict:!0});var yt=require("@vuu-ui/vuu-utils"),Ls=require("react");var{KEY:pl}=yt.metadataKeys;var Fs=r=>r.type==="vuu-links";var Ns=r=>r.type==="vuu-menu",rr=r=>Ns(r)||Fs(r),sr=r=>r.type==="vuu-link-created"||r.type==="vuu-link-removed";var Yt=require("react"),zs=require("@vuu-ui/vuu-data");var ve=require("@vuu-ui/vuu-utils"),V=require("react"),{SELECTED:it}=ve.metadataKeys;function ir({dataSource:r,onConfigChange:e,onFeatureEnabled:t,onFeatureInvocation:n,onSizeChange:s,onSubscribed:o,range:i={from:0,to:0},renderBufferSize:l=0,viewportRowCount:a}){let[,u]=(0,V.useState)(null),c=(0,V.useRef)(!0),h=(0,V.useRef)(!1),f=(0,V.useRef)({from:0,to:0}),m=(0,V.useRef)(null),g=(0,V.useRef)([]),C=(0,V.useMemo)(()=>new Jt((0,ve.getFullRange)(i)),[]),D=(0,V.useCallback)(p=>{for(let y of p)C.add(y);g.current=C.data,h.current=!0},[C]),R=(0,V.useCallback)(p=>{p.type==="subscribed"?o==null||o(p):p.type==="viewport-update"?(typeof p.size=="number"&&(s==null||s(p.size),C.setRowCount(p.size)),p.rows?D(p.rows):typeof p.size=="number"&&(g.current=C.data,h.current=!0)):rr(p)?t==null||t(p):sr(p)?n==null||n(p):console.log(`useDataSource unexpected message ${p.type}`)},[C,t,n,s,o,D]);(0,V.useEffect)(()=>()=>{m.current&&(cancelAnimationFrame(m.current),m.current=null),c.current=!1},[]);let b=(0,V.useCallback)(()=>{c.current&&(h.current&&(u({}),h.current=!1),m.current=requestAnimationFrame(b))},[u]);(0,V.useEffect)(()=>{m.current=requestAnimationFrame(b)},[b]);let x=(0,V.useCallback)(p=>{let{from:y}=r.range,S={from:y,to:y+p},M=(0,ve.getFullRange)(S,l);C.setRange(M),r.range=f.current=M,r.emit("range",S)},[r,C,l]),P=(0,V.useCallback)(p=>{let y=(0,ve.getFullRange)(p,l);C.setRange(y),r.range=f.current=y,r.emit("range",p)},[r,C,l]),w=(0,V.useCallback)(()=>C.getSelectedRows(),[C]);return(0,V.useEffect)(()=>{r==null||r.subscribe({range:f.current},R)},[r,R,e]),(0,V.useEffect)(()=>{x(a)},[x,a]),{data:g.current,getSelectedRows:w,range:f.current,setRange:P,dataSource:r}}var Jt=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 ve.WindowRange(e,t),this.data=new Array(t-e),this.rowCount=0}add(e){var n;let[t]=e;if(this.isWithinRange(t)){let s=t-this.range.from;this.data[s]=e;let o=e[it],i=(n=this.data[s-1])==null?void 0:n[it];i===0&&o?this.data[s-1][it]=2:i===2&&!o&&(this.data[s-1][it]=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,s]=this.range.overlap(e,t),o=new Array(Math.max(0,t-e));for(let i=n;i<s;i++){let l=this.getAtIndex(i);if(l){let a=i-e;o[a]=l}}this.data=o,this.range.from=e,this.range.to=t}}getSelectedRows(){return this.data.filter(e=>e[it]===1)}};var or=require("@heswell/salt-lab"),Qe=require("react"),lr=({onDrop:r})=>{let e=(0,Qe.useRef)(),t=(0,Qe.useRef)(null),n=(0,Qe.useCallback)(()=>{console.log("handleDropSettle"),e.current=void 0,t.current=null},[]),{draggable:s,draggedItemIndex:o,onMouseDown:i}=(0,or.useDragDrop)({allowDragDrop:!0,draggableClassName:"vuuTable-headerCell",orientation:"horizontal",containerRef:t,itemQuery:".vuuTable-headerCell",onDrop:r,onDropSettle:n}),l=(0,Qe.useCallback)(a=>{let{clientX:u,clientY:c}=a;console.log("useDraggableColumn handleHeaderCellDragStart means mouseDown fired on a column in RowBasedTable");let f=a.target.closest(".vuuTable-headerCell");t.current=f==null?void 0:f.closest("[role='row']");let{dataset:{idx:m="-1"}}=f;e.current={clientX:u,clientY:c,idx:m},i==null||i(a)},[i]);return{draggable:s,draggedItemIndex:o,onHeaderCellDragStart:l}};var fr=require("@vuu-ui/vuu-utils"),I=require("react");function Ws(r,...e){let t=new Set(r);for(let n of e)for(let s of n)t.add(s);return t}var Zt="ArrowUp",qt="ArrowDown",en="ArrowLeft",tn="ArrowRight";var nn="Home",rn="End",sn="PageUp",on="PageDown";var Ks=new Set(["Enter","Delete"," "]),Bs=new Set(["Tab"]),_s=new Set(["ArrowRight","ArrowLeft"]),ar=new Set([nn,rn,sn,on,qt,en,tn,Zt]),$s=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),Ol=Ws(Ks,ar,_s,$s,Bs);var Qs=["Home","End","PageUp","PageDown"],ur=r=>Qs.includes(r),cr=r=>ar.has(r);var hr=r=>`.vuuTable-headers .vuuTable-headerCell:nth-child(${r+1})`,Us=(r,e)=>`.vuuTable-body > [aria-rowindex='${r}'] > [role='cell']:nth-child(${e+1})`,Gs=[-1,-1];function js(r,[e,t],n,s){return r===Zt?e>-1?[e-1,t]:[e,t]:r===qt?e===-1?[0,t]:e===s-1?[e,t]:[e+1,t]:r===tn?t<n-1?[e,t+1]:[e,t]:r===en?t>0?[e,t-1]:[e,t]:[e,t]}var pr=({columnCount:r=0,containerRef:e,disableHighlightOnFocus:t,data:n,requestScroll:s,rowCount:o=0,viewportRange:i})=>{var M;let{from:l,to:a}=i,u=(0,I.useRef)([-1,-1]),c=(0,I.useRef)(),h=(0,I.useRef)([-1,0]),f=(0,I.useCallback)(([d,v])=>{var k;let T=d===-1?hr(v):Us(d,v);return(k=e.current)==null?void 0:k.querySelector(T)},[e]),m=d=>d==null?void 0:d.closest("[role='columnHeader'],[role='cell']"),g=d=>{var v,T;if(d.role==="columnHeader")return[-1,parseInt((v=d.dataset.idx)!=null?v:"-1",10)];{let k=d.closest("[role='row']");if(k){let L=parseInt((T=k.ariaRowIndex)!=null?T:"-1",10),B=Array.from(k.childNodes).indexOf(d);return[L,B]}}return Gs},C=(0,I.useCallback)(d=>{var v;if(e.current){let T=f(d);T?(T!==c.current&&((v=c.current)==null||v.setAttribute("tabindex",""),c.current=T,T.setAttribute("tabindex","0")),T.focus()):(0,fr.withinRange)(d[0],i)||(c.current=void 0,s==null||s({type:"scroll-page",direction:"up"}))}},[e,f,s,i]),D=(0,I.useCallback)((d,v,T=!1)=>{let k=[d,v];h.current=k,C(k),T&&(u.current=k)},[C]),R=(0,I.useCallback)(()=>{var d;(d=c.current)==null||d.setAttribute("tabindex",""),c.current=void 0},[]),b=(0,I.useCallback)(async(d,v)=>{switch(d){case on:s==null||s({type:"scroll-page",direction:"down"});break;case sn:s==null||s({type:"scroll-page",direction:"up"});break;case nn:s==null||s({type:"scroll-end",direction:"home"});break;case rn:s==null||s({type:"scroll-end",direction:"end"});break}return v},[s]),x=(0,I.useCallback)(()=>{var d;if(t!==!0&&(d=e.current)!=null&&d.contains(document.activeElement)){let v=m(document.activeElement);v&&(u.current=g(v))}},[t,e]),P=(0,I.useCallback)(async d=>{let[v,T]=ur(d)?await b(d,h.current):js(d,h.current,r,o),[k,L]=h.current;(v!==k||T!==L)&&D(v,T,!0)},[r,b,o,D]),w=(0,I.useCallback)(d=>{n.length>0&&cr(d.key)&&(d.preventDefault(),d.stopPropagation(),P(d.key))},[n,P]),p=(0,I.useCallback)(d=>{let v=d.target,T=m(v);if(T){let[k,L]=g(T);D(k,L)}},[D]),y=(0,I.useMemo)(()=>({onClick:p,onFocus:x,onKeyDown:w}),[p,x,w]);(0,I.useLayoutEffect)(()=>{let{current:d}=h,v=d[0]>=l&&d[0]<=a;c.current&&!v?R():!c.current&&v&&C(d)},[C,l,a,R]);let S=((M=e.current)==null?void 0:M.firstChild)!=null;return(0,I.useEffect)(()=>{var d;if(S&&c.current===void 0){let v=(d=e.current)==null?void 0:d.querySelector(hr(0));v&&(v.setAttribute("tabindex","0"),c.current=v)}},[e,S]),y};var de=require("@vuu-ui/vuu-utils"),Pe=require("react");var Ae=require("react");var Oe=new Map,mr=(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}},dr=new ResizeObserver(r=>{for(let e of r){let{target:t,borderBoxSize:n,contentBoxSize:s}=e,o=Oe.get(t);if(o){let[{blockSize:i,inlineSize:l}]=n,[{blockSize:a,inlineSize:u}]=s,{onResize:c,measurements:h}=o,f=!1;for(let[m,g]of Object.entries(h)){let C=mr(t,{height:i,width:l,contentHeight:a,contentWidth:u},m);C!==g&&(f=!0,h[m]=C)}f&&c&&c(h)}}});function gr(r,e,t,n=!1){let s=(0,Ae.useRef)(e),o=(0,Ae.useCallback)(i=>{let{width:l,height:a}=i.getBoundingClientRect(),{clientWidth:u,clientHeight:c}=i;return s.current.reduce((h,f)=>(h[f]=mr(i,{width:l,height:a,contentHeight:c,contentWidth:u},f),h),{})},[]);(0,Ae.useEffect)(()=>{let i=r.current;async function l(){Oe.set(i,{measurements:{}}),await document.fonts.ready;let a=Oe.get(i);if(a){let u=o(i);a.measurements=u,dr.observe(i),n&&t(u)}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(Oe.has(i))throw Error("useResizeObserver attemping to observe same element twice");l()}return()=>{i&&Oe.has(i)&&(dr.unobserve(i),Oe.delete(i))}},[o,r]),(0,Ae.useEffect)(()=>{let i=r.current,l=Oe.get(i);if(l){if(s.current!==e){s.current=e;let a=o(i);l.measurements=a}l.onResize=t}},[e,o,r,t])}var Xs=["clientHeight","clientWidth"],br=r=>Number.isFinite(r),Ys={height:"100%",width:"100%"},Js=(r,e)=>(0,de.isValidNumber)(r)&&(0,de.isValidNumber)(e)?{height:`${r}px`,width:`${e}px`}:Ys,Zs=(r,e)=>{if((0,de.isValidNumber)(r)&&(0,de.isValidNumber)(e))return{height:r,width:e}},ln=({defaultHeight:r=0,defaultWidth:e=0,height:t,width:n})=>{let s=(0,Pe.useRef)(null),[o,i]=(0,Pe.useState)({css:Js(t,n),inner:Zs(t,n),outer:{height:t!=null?t:"100%",width:n!=null?n:"100%"}});(0,Pe.useMemo)(()=>{i(a=>{let{inner:u,outer:c}=a;if((0,de.isValidNumber)(t)&&(0,de.isValidNumber)(n)&&u&&c){let{height:h,width:f}=u,{height:m,width:g}=c;if(m!==t||g!==n){let C=(0,de.isValidNumber)(m)?m-h:0,D=(0,de.isValidNumber)(g)?g-f:0;return{...a,outer:{height:t,width:n},inner:{height:t-C,width:n-D}}}}return a})},[t,n]);let l=(0,Pe.useCallback)(({clientWidth:a,clientHeight:u})=>{i(c=>{let{css:h,inner:f,outer:m}=c;return br(u)&&br(a)&&(a!==(f==null?void 0:f.width)||u!==(f==null?void 0:f.height))?{css:h,outer:m,inner:{width:Math.floor(a)||e,height:Math.floor(u)||r}}:c})},[r,e]);return gr(s,Xs,l,!0),{containerRef:s,cssSize:o.css,outerSize:o.outer,innerSize:o.inner}};var Me=require("@vuu-ui/vuu-utils"),ot=require("react"),{IDX:qs}=Me.metadataKeys,ei=[],an=({selectionModel:r,onSelectionChange:e})=>{let t=(0,ot.useRef)(-1),n=(0,ot.useRef)(ei);return(0,ot.useCallback)((o,i,l)=>{let{[qs]:a}=o,{current:u}=t,{current:c}=n,f=((0,Me.isRowSelected)(o)?Me.deselectItem:Me.selectItem)(r,c,a,i,l,u);n.current=f,t.current=a,e&&e(f)},[e,r])};var Cr=require("@heswell/salt-lab"),O=require("@vuu-ui/vuu-utils"),xr=require("react"),{info:Gl}=(0,O.logger)("useTableModel"),ti=100,wr=O.metadataKeys.count,ni=({serverDataType:r})=>r===void 0,ri=r=>{var e;if((0,O.isTypeDescriptor)(r.type))return(0,O.getCellRenderer)((e=r.type)==null?void 0:e.renderer)},yr=(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"},si=["int","long","double"],vr=r=>r===void 0?void 0:si.includes(r)?"right":"left",ii=r=>r.type==="columnSettings",oi=(r,e)=>{switch(e.type){case"init":return Pr(e);case"moveColumn":return ai(r,e);case"resizeColumn":return hi(r,e);case"setTableSchema":return fi(r,e);case"hideColumns":return ui(r,e);case"showColumns":return ci(r,e);case"pinColumn":return pi(r,e);case"updateColumnProp":return Ue(r,e);case"tableConfig":return Mr(r,e);default:return console.log(`unhandled action ${e.type}`),r}},un=(r,e)=>{let[t,n]=(0,xr.useReducer)(oi,{tableConfig:r,dataSourceConfig:e},Pr);return{columns:t.columns,dispatchColumnAction:n,headings:t.headings}};function Pr({dataSourceConfig:r,tableConfig:e}){let t=e.columns.map(cn(e)),n=t.some(O.isPinned)?(0,O.sortPinnedColumns)(t):t,s={columns:n,headings:(0,O.getTableHeadings)(n)};if(r){let{columns:o,...i}=r;return Mr(s,{type:"tableConfig",...i})}else return s}var li=(r,e)=>e==="uppercase"?r.toUpperCase():e==="capitalize"?r[0].toUpperCase()+r.slice(1).toLowerCase():r,cn=r=>(e,t)=>{let n=yr(e,r.tableSchema),{columnDefaultWidth:s=ti,columnFormatHeader:o}=r,{align:i=vr(n),key:l,name:a,label:u=a,width:c=s,...h}=e,f={...h,align:i,CellRenderer:ri(e),label:li(u,o),key:l!=null?l:t+wr,name:a,originalIdx:t,serverDataType:n,valueFormatter:(0,O.getValueFormatter)(e),width:c};return(0,O.isGroupColumn)(f)&&(f.columns=f.columns.map(m=>cn(r)(m,m.key))),f};function ai(r,{column:e,moveBy:t,moveTo:n}){let{columns:s}=r;if(typeof t=="number"){let o=s.indexOf(e),i=s.slice(),[l]=i.splice(o,1);return i.splice(o+t,0,l),{...r,columns:i}}else if(typeof n=="number"){let o=s.indexOf(e);return{...r,columns:(0,Cr.moveItem)(s,o,n)}}return r}function ui(r,{columns:e}){return e.some(t=>t.hidden!==!0)?e.reduce((t,n)=>n.hidden!==!0?Ue(t,{type:"updateColumnProp",column:n,hidden:!0}):t,r):r}function ci(r,{columns:e}){return e.some(t=>t.hidden)?e.reduce((t,n)=>n.hidden?Ue(t,{type:"updateColumnProp",column:n,hidden:!1}):t,r):r}function hi(r,{column:e,phase:t,width:n}){let s="updateColumnProp",o=t!=="end";switch(t){case"begin":return Ue(r,{type:s,column:e,resizing:o});case"end":return Ue(r,{type:s,column:e,resizing:o,width:n});case"resize":return Ue(r,{type:s,column:e,width:n});default:throw Error(`useTableModel.resizeColumn, invalid resizePhase ${t}`)}}function fi(r,{tableSchema:e}){let{columns:t}=r;if(t.some(ni)){let n=t.map(s=>{var i;let o=yr(s,e);return{...s,align:(i=s.align)!=null?i:vr(o),serverDataType:o}});return{...r,columns:n,tableSchema:e}}else return{...r,tableSchema:e}}function pi(r,e){let{columns:t}=r,{column:n,pin:s}=e;return t=(0,O.updateColumn)(t,n.name,{pin:s}),t=(0,O.sortPinnedColumns)(t),console.log({withPins:t}),{...r,columns:t}}function Ue(r,e){let{columns:t}=r,{align:n,column:s,hidden:o,label:i,resizing:l,width:a}=e,u={};return(n==="left"||n==="right")&&(u.align=n),typeof i=="string"&&(u.label=i),typeof l=="boolean"&&(u.resizing=l),typeof o=="boolean"&&(u.hidden=o),typeof a=="number"&&(u.width=a),t=(0,O.updateColumn)(t,s.name,u),{...r,columns:t}}function Mr(r,{columns:e,confirmed:t,filter:n,groupBy:s,sort:o}){let i=e&&e.length>0,l=s!==void 0,a=typeof(n==null?void 0:n.filter)=="string",u=o&&o.sortDefs.length>0,c=r;return i&&(c={...r,columns:e.map((h,f)=>{let m=(0,O.getColumnName)(h),g=f+wr,C=(0,O.findColumn)(c.columns,m);return C?C.key===g?C:{...C,key:g}:cn(r)({name:h},f)})}),l&&(c={...r,columns:(0,O.applyGroupByToColumns)(c.columns,s,t)}),u&&(c={...r,columns:(0,O.applySortToColumns)(c.columns,o)}),a?c={...r,columns:(0,O.applyFilterToColumns)(c.columns,n)}:c.columns.some(O.isFilteredColumn)&&(c={...r,columns:(0,O.stripFilterFromColumns)(c.columns)}),c}var _=require("react"),Rr=r=>{let{scrollLeft:e,scrollTop:t}=r,{clientHeight:n,clientWidth:s,scrollHeight:o,scrollWidth:i}=r,l=e/(i-s),a=t/(o-n);return[l,a]},di=r=>{let{clientHeight:e,clientWidth:t,scrollHeight:n,scrollWidth:s}=r;return[s-t,n-e]},kr=({onAttach:r,onDetach:e})=>{let t=(0,_.useRef)(null);return(0,_.useCallback)(s=>{if(s)t.current=s,r==null||r(s);else if(t.current){let{current:o}=t;t.current=s,e==null||e(o)}},[r,e])},Sr=({onHorizontalScroll:r,onVerticalScroll:e,viewport:t})=>{let n=(0,_.useRef)(!1),s=(0,_.useRef)({scrollTop:0,scrollLeft:0}),o=(0,_.useRef)(null),i=(0,_.useRef)(null),{maxScrollContainerScrollHorizontal:l,maxScrollContainerScrollVertical:a}=t,u=(0,_.useCallback)(()=>{let{current:b}=i,{current:x}=o,{current:P}=n;if(P)n.current=!1;else if(b&&x){let[w,p]=Rr(x),[y,S]=di(b),M=Math.round(w*y),d=Math.round(p*S);console.log(`pctScrollTop ${p}, maxScrollTop ${S} rootScrollTop ${d}`),b.scrollTo({left:M,top:d,behavior:"auto"})}},[]),c=(0,_.useCallback)(()=>{let{current:b}=i,{current:x}=o,{current:P}=s;if(b&&x){let{scrollLeft:w,scrollTop:p}=b,[y,S]=Rr(b);n.current=!0,x.scrollLeft=Math.round(y*l),x.scrollTop=Math.round(S*a),P.scrollTop!==p&&(P.scrollTop=p,e==null||e(p,S)),P.scrollLeft!==w&&(P.scrollLeft=w,r==null||r(w))}},[l,a,r,e]),h=(0,_.useCallback)(b=>{o.current=b,b.addEventListener("scroll",u,{passive:!0})},[u]),f=(0,_.useCallback)(b=>{o.current=null,b.removeEventListener("scroll",u)},[u]),m=(0,_.useCallback)(b=>{i.current=b,b.addEventListener("scroll",c,{passive:!0})},[c]),g=(0,_.useCallback)(b=>{i.current=null,b.removeEventListener("scroll",c)},[c]),C=kr({onAttach:m,onDetach:g}),D=kr({onAttach:h,onDetach:f}),R=(0,_.useCallback)(b=>{let{current:x}=i;if(x){if(n.current=!1,b.type==="scroll-page"){let{clientHeight:P,scrollLeft:w,scrollTop:p}=x,{direction:y}=b,S=y==="down"?P:-P,M=Math.min(Math.max(0,p+S),a);x.scrollTo({top:M,left:w,behavior:"auto"})}else if(b.type==="scroll-end"){let{direction:P}=b,w=P==="end"?a:0;x.scrollTo({top:w,left:x.scrollLeft,behavior:"auto"})}}},[a]);return{scrollbarContainerRef:D,contentContainerRef:C,requestScroll:R}};var me=require("react"),vt=require("@vuu-ui/vuu-utils"),mi=15e5,gi={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},bi=r=>{let e=0,t=0,n=0;for(let s of r){let{hidden:o,pin:i,width:l}=s,a=o?0:l;i==="left"?e+=a:i==="right"?t+=a:n+=a}return{pinnedWidthLeft:e+4,pinnedWidthRight:t+4,unpinnedWidth:n}},hn=({columns:r,headerHeight:e,headings:t,rowCount:n,rowHeight:s,size:o})=>{let i=(0,me.useRef)(0),a=Math.min(n,mi)*s,c=n*s-a,{pinnedWidthLeft:h,pinnedWidthRight:f,unpinnedWidth:m}=(0,me.useMemo)(()=>bi(r),[r]),[g,C]=(0,me.useMemo)(()=>(0,vt.actualRowPositioning)(s),[s]),[D,R]=(0,me.useMemo)(()=>c?(0,vt.virtualRowPositioning)(s,c,i):[g,C],[C,g,c,s]),b=(0,me.useCallback)(x=>{i.current=x},[]);return(0,me.useMemo)(()=>{var x;if(o){let P=t.length,w=15,p=h+m+f,y=p>o.width?w:0,S=e*(1+P),M=a-(((x=o==null?void 0:o.height)!=null?x:0)-y)+S,d=p-o.width+h,v=(o.height-e)/s,T=Number.isInteger(v)?v+1:Math.ceil(v),k=o.height-S,L=a>k?w:0;return{contentHeight:a,getRowAtPosition:R,getRowOffset:D,horizontalScrollbarHeight:y,maxScrollContainerScrollHorizontal:d,maxScrollContainerScrollVertical:M,pinnedWidthLeft:h,pinnedWidthRight:f,rowCount:T,contentWidth:p,setPctScrollTop:b,totalHeaderHeight:S,verticalScrollbarWidth:L,viewportBodyHeight:k}}else return gi},[o,t.length,h,m,f,a,e,s,R,D,b])};var lt=require("@vuu-ui/vuu-utils"),j=require("react"),Tr=({columns:r,getRowAtPosition:e,setRange:t,viewportMeasurements:n})=>{let s=(0,j.useRef)(-1),{rowCount:o,contentWidth:i,maxScrollContainerScrollHorizontal:l}=n,a=i-l,u=(0,j.useRef)(0),[c,h]=(0,j.useMemo)(()=>(0,lt.getColumnsInViewport)(r,u.current,u.current+a),[a,r]),f=(0,j.useRef)(h);(0,j.useEffect)(()=>{g(c)},[c]);let[m,g]=(0,j.useState)(c),C=(0,j.useCallback)(R=>{u.current=R;let[b,x]=(0,lt.getColumnsInViewport)(r,R,R+a);(0,lt.itemsChanged)(m,b)&&(f.current=x,g(b))},[a,r,m]),D=(0,j.useCallback)(R=>{let b=e(R);b!==s.current&&(s.current=b,t({from:b,to:b+o}))},[e,t,o]);return{columnsWithinViewport:m,onHorizontalScroll:C,onVerticalScroll:D,virtualColSpan:f.current}};var Ci=[],{KEY:xi,IS_EXPANDED:Dr,IS_LEAF:Or}=ae.metadataKeys,Er=({config:r,dataSource:e,headerHeight:t,onConfigChange:n,onFeatureEnabled:s,onFeatureInvocation:o,onSelectionChange:i,renderBufferSize:l=0,rowHeight:a,selectionModel:u,...c})=>{var pn,dn;let[h,f]=(0,H.useState)(e.size),m=(0,H.useRef)(!1),g=(0,H.useRef)();if(g.current=e,e===void 0)throw Error("no data source provided to Vuu Table");let C=ln(c),D=(0,H.useCallback)(A=>{f(A)},[]),{columns:R,dispatchColumnAction:b,headings:x}=un(r,e.config),{getRowAtPosition:P,getRowOffset:w,setPctScrollTop:p,...y}=hn({columns:R,headerHeight:t,headings:x,rowCount:h,rowHeight:a,size:C.innerSize}),S=(0,H.useCallback)(({tableSchema:A})=>{A?(m.current=!0,b({type:"setTableSchema",tableSchema:A})):console.log("usbscription message with no schema")},[b]),M=(0,H.useCallback)(A=>{e.select(A),i==null||i(A)},[e,i]),d=an({onSelectionChange:M,selectionModel:u}),{data:v,getSelectedRows:T,range:k,setRange:L}=ir({dataSource:e,onFeatureEnabled:s,onFeatureInvocation:o,onSubscribed:S,onSizeChange:D,renderBufferSize:l,viewportRowCount:y.rowCount}),B=(0,H.useRef)();B.current=v;let U=(0,H.useCallback)(A=>{m.current=!0,b(A)},[b]),ut=Ot({dataSource:e,onPersistentColumnOperation:U}),re=(0,H.useCallback)((A,F=!1,J)=>{e&&(e.sort=(0,ae.applySort)(e.sort,A,F,J))},[e]),G=(0,H.useCallback)((A,F,J)=>{let W=R.find(ue=>ue.name===F);if(W)A==="end"&&(m.current=!0),b({type:"resizeColumn",phase:A,column:W,width:J});else throw Error(`useDataTable.handleColumnResize, column ${F} not found`)},[R,b]),Y=(0,H.useCallback)((A,F)=>{let J=(0,ae.isJsonGroup)(F,A),W=A[xi];if(A[Dr]){if(e.closeTreeNode(W,!0),J){let ue=R.indexOf(F);e.getRowsAtDepth(ue+1).some(ce=>ce[Dr]||ce[Or])||b({type:"hideColumns",columns:R.slice(ue+2)})}}else if(e.openTreeNode(W),J){let ue=e.getChildRows(W),Re=R.indexOf(F)+1,ce=[R[Re]];ue.some(Ve=>Ve[Or])&&ce.push(R[Re+1]),ce.some(Ve=>Ve.hidden)&&b({type:"showColumns",columns:ce})}},[R,e,b]),{onVerticalScroll:se,onHorizontalScroll:be,columnsWithinViewport:He,virtualColSpan:ct}=Tr({columns:R,getRowAtPosition:P,setRange:L,viewportMeasurements:y}),Fr=(0,H.useCallback)((A,F)=>{p(F),se(A)},[se,p]),{requestScroll:Nr,...zr}=Sr({onHorizontalScroll:be,onVerticalScroll:Fr,viewport:y,viewportHeight:((dn=(pn=C.innerSize)==null?void 0:pn.height)!=null?dn:0)-t}),Wr=pr({columnCount:R.length,containerRef:C.containerRef,data:v,requestScroll:Nr,rowCount:e==null?void 0:e.size,viewportRange:k}),Kr=(0,H.useCallback)(A=>{A?e&&e.groupBy.includes(A.name)&&(e.groupBy=e.groupBy.filter(F=>F!==A.name)):e.groupBy=[]},[e]),Br=(0,H.useCallback)((A,F)=>{let J=e.columns[A],W=(0,ae.moveItem)(e.columns,J,F);W!==e.columns&&(e.columns=W,b({type:"tableConfig",columns:W}))},[e,b]),_r=lr({onDrop:Br});(0,H.useEffect)(()=>{g.current&&(m.current=!0,b({type:"init",tableConfig:r,dataSourceConfig:g.current.config}))},[r,b]),(0,H.useEffect)(()=>{e.on("config",(A,F)=>{m.current=!0,b({type:"tableConfig",...A,confirmed:F})})},[e,b]),(0,H.useMemo)(()=>{m.current&&(n==null||n({...r,columns:R}),m.current=!1)},[R,r,n]);let fn=(0,Ar.useContextMenu)(),$r=(0,H.useCallback)(A=>{var ce;let{current:F}=B,{current:J}=g,W=A.target,ue=W==null?void 0:W.closest("div[role='cell']"),Re=W==null?void 0:W.closest(".vuuTableRow");if(ue&&Re&&F&&J){let{columns:Ve,selectedRowsCount:Qr}=J,Ur=(0,ae.buildColumnMap)(Ve),Gr=parseInt((ce=Re.ariaRowIndex)!=null?ce:"-1"),jr=Array.from(Re.childNodes).indexOf(ue),Xr=F.find(([Jr])=>Jr===Gr),Yr=Ve[jr];fn(A,"grid",{columnMap:Ur,columnName:Yr,row:Xr,selectedRows:Qr===0?Ci:T(),viewport:e==null?void 0:e.viewport})}},[e==null?void 0:e.viewport,T,fn]);return{columns:R,columnsWithinViewport:He,containerMeasurements:C,containerProps:Wr,data:v,dispatchColumnAction:b,getRowOffset:w,handleContextMenuAction:ut,headings:x,onColumnResize:G,onContextMenu:$r,onRemoveColumnFromGroupBy:Kr,onRowClick:d,onSort:re,onToggleGroup:Y,virtualColSpan:ct,scrollProps:zr,rowCount:h,viewportMeasurements:y,..._r}};var Vr=Ce(require("classnames"));var Ir=require("@vuu-ui/vuu-utils"),ge=require("react/jsx-runtime"),Ee="vuuTable",wi=({allowConfigEditing:r=!1,className:e,config:t,dataSource:n,headerHeight:s=25,height:o,id:i,onConfigChange:l,onFeatureEnabled:a,onFeatureInvocation:u,onSelectionChange:c,onShowConfigEditor:h,renderBufferSize:f=0,rowHeight:m=20,selectionModel:g="extended",style:C,width:D,zebraStripes:R=!1,...b})=>{let x=(0,Pt.useIdMemo)(i),{containerMeasurements:{containerRef:P,innerSize:w,outerSize:p},containerProps:y,dispatchColumnAction:S,draggable:M,draggedItemIndex:d,handleContextMenuAction:v,scrollProps:T,viewportMeasurements:k,...L}=Er({config:t,dataSource:n,renderBufferSize:f,headerHeight:s,height:o,onConfigChange:l,onFeatureEnabled:a,onFeatureInvocation:u,onSelectionChange:c,rowHeight:m,selectionModel:g,width:D}),B={...p,"--content-height":`${k.contentHeight}px`,"--horizontal-scrollbar-height":`${k.horizontalScrollbarHeight}px`,"--content-width":`${k.contentWidth}px`,"--pinned-width-left":`${k.pinnedWidthLeft}px`,"--pinned-width-right":`${k.pinnedWidthRight}px`,"--header-height":`${s}px`,"--row-height":`${m}px`,"--table-height":`${w==null?void 0:w.height}px`,"--table-width":`${w==null?void 0:w.width}px`,"--total-header-height":`${k.totalHeaderHeight}px`,"--vertical-scrollbar-width":`${k.verticalScrollbarWidth}px`,"--viewport-body-height":`${k.viewportBodyHeight}px`},U=(0,Vr.default)(Ee,e,{[`${Ee}-zebra`]:R,[`${Ee}-loading`]:(0,Ir.isDataLoading)(L.columns)});return(0,ge.jsx)(Hr.ContextMenuProvider,{menuActionHandler:v,menuBuilder:Tt(n),children:(0,ge.jsxs)("div",{...b,...y,className:U,id:x,ref:P,style:B,tabIndex:-1,children:[w?(0,ge.jsx)("div",{className:`${Ee}-scrollbarContainer`,ref:T.scrollbarContainerRef,children:(0,ge.jsx)("div",{className:`${Ee}-scrollbarContent`})}):null,w?(0,ge.jsxs)("div",{className:`${Ee}-contentContainer`,ref:T.contentContainerRef,children:[(0,ge.jsx)(Bn,{...L,headerHeight:s,tableId:x}),M]}):null,r&&w?(0,ge.jsx)(Pt.Button,{className:`${Ee}-settings`,"data-icon":"settings",onClick:h,variant:"secondary"}):null]})})};var Lr=Ce(require("classnames")),je=require("@vuu-ui/vuu-utils");var Ge=require("react/jsx-runtime"),at="vuuJsonCell",{IS_EXPANDED:yi,KEY:vi}=je.metadataKeys,Pi=r=>{let e=r.lastIndexOf("|");return e===-1?"":r.slice(e+1)},Mi=({column:r,row:e})=>{let{key:t}=r,n=e[t],s=!1;(0,je.isJsonAttribute)(n)&&(n=n.slice(0,-1),s=!0);let o=Pi(e[vi]),i=(0,Lr.default)({[`${at}-name`]:o===n,[`${at}-value`]:o!==n,[`${at}-group`]:s});if(s){let l=e[yi]?"minus-box":"plus-box";return(0,Ge.jsxs)("span",{className:i,children:[(0,Ge.jsx)("span",{className:`${at}-value`,children:n}),(0,Ge.jsx)("span",{className:`${at}-toggle`,"data-icon":l})]})}else return n?(0,Ge.jsx)("span",{className:i,children:n}):null};(0,je.registerComponent)("json",Mi,"cell-renderer",{});
|
|
1
|
+
"use strict";var oc=Object.create;var Gn=Object.defineProperty;var sc=Object.getOwnPropertyDescriptor;var ic=Object.getOwnPropertyNames;var ac=Object.getPrototypeOf,lc=Object.prototype.hasOwnProperty;var cc=(n,e)=>{for(var t in e)Gn(n,t,{get:e[t],enumerable:!0})},es=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ic(e))!lc.call(n,o)&&o!==t&&Gn(n,o,{get:()=>e[o],enumerable:!(r=sc(e,o))||r.enumerable});return n};var z=(n,e,t)=>(t=n!=null?oc(ac(n)):{},es(e||!n||!n.__esModule?Gn(t,"default",{value:n,enumerable:!0}):t,n)),uc=n=>es(Gn({},"__esModule",{value:!0}),n);var ts=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var Ze=(n,e,t)=>(ts(n,e,"read from private field"),t?t.call(n):e.get(n)),ns=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},Ir=(n,e,t,r)=>(ts(n,e,"write to private field"),r?r.call(n,t):e.set(n,t),t);var zf={};cc(zf,{ColumnResizer:()=>xn,Table:()=>If,buildContextMenuDescriptors:()=>Nr,isShowSettings:()=>bf,useMeasuredContainer:()=>Zo,useSelection:()=>Yo,useTableColumnResize:()=>Hn,useTableContextMenu:()=>Fr,useTableModel:()=>jo,useTableViewport:()=>Jo});module.exports=uc(zf);var Kt=require("react");var os=require("react/jsx-runtime"),rs=()=>{},pc="vuuColumnResizer",xn=({onDrag:n,onDragEnd:e=rs,onDragStart:t=rs})=>{let r=(0,Kt.useRef)(0),o=(0,Kt.useCallback)(a=>{a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault();let l=Math.round(a.clientX),c=l-r.current;r.current=l,c!==0&&n(a,c)},[n]),s=(0,Kt.useCallback)(a=>{window.removeEventListener("mouseup",s),window.removeEventListener("mousemove",o),e(a)},[e,o]),i=(0,Kt.useCallback)(a=>{t(a),r.current=Math.round(a.clientX),window.addEventListener("mouseup",s),window.addEventListener("mousemove",o),a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault()},[t,o,s]);return(0,os.jsx)("div",{className:pc,"data-align":"end",onMouseDown:i})};var ss=require("@vuu-ui/vuu-utils"),Nr=n=>(e,t)=>{let r=[];if(n===void 0)return r;if(e==="header")r.push(...fc(t,n)),r.push(...hc(t,n)),r.push(...dc(t,n)),r.push(...mc(t)),r.push({action:"column-settings",icon:"cog",label:"Column Settings",options:t});else if(e==="filter"){let{column:o,filter:s}=t,i=(s==null?void 0:s.column)===(o==null?void 0:o.name);r.push({label:"Edit filter",action:"filter-edit",options:t}),r.push({label:"Remove filter",action:"filter-remove-column",options:t}),o&&!i&&r.push({label:"Remove all filters",action:"remove-filters",options:t})}return r};function fc(n,{sort:{sortDefs:e}}){let{column:t}=n,r=[];if(t===void 0)return r;let o=e.length>0;return t.sorted==="A"?r.push({label:"Reverse Sort (DSC)",action:"sort-dsc",options:n}):t.sorted==="D"?r.push({label:"Reverse Sort (ASC)",action:"sort-asc",options:n}):typeof t.sorted=="number"?(t.sorted>0?r.push({label:"Reverse Sort (DSC)",action:"sort-add-dsc",options:n}):r.push({label:"Reverse Sort (ASC)",action:"sort-add-asc",options:n}),o&&Math.abs(t.sorted)<e.length&&r.push({label:"Remove from sort",action:"sort-remove",options:n}),r.push({label:"New Sort",children:[{label:"Ascending",action:"sort-asc",options:n},{label:"Descending",action:"sort-dsc",options:n}]})):o?(r.push({label:"Add to sort",children:[{label:"Ascending",action:"sort-add-asc",options:n},{label:"Descending",action:"sort-add-dsc",options:n}]}),r.push({label:"New Sort",children:[{label:"Ascending",action:"sort-asc",options:n},{label:"Descending",action:"sort-dsc",options:n}]})):r.push({label:"Sort",children:[{label:"Ascending",action:"sort-asc",options:n},{label:"Descending",action:"sort-dsc",options:n}]}),r}function dc(n,e){let{column:t}=n;if(t===void 0||e.groupBy.length===0)return[];let{name:r,label:o=r}=t;return[{label:`Aggregate ${o}`,children:[{label:"Count",action:"agg-count",options:n},{label:"Distinct",action:"agg-distinct",options:n}].concat((0,ss.isNumericColumn)(t)?[{label:"Sum",action:"agg-sum",options:n},{label:"Avg",action:"agg-avg",options:n},{label:"High",action:"agg-high",options:n},{label:"Low",action:"agg-low",options:n}]:[])}]}var zr=(n,e)=>({label:`Pin ${e}`,action:`column-pin-${e}`,options:n}),Or=n=>zr(n,"left"),Ar=n=>zr(n,"floating"),Hr=n=>zr(n,"right");function mc(n){let{column:e}=n;if(e===void 0)return[];let{pin:t}=e,r=[{label:"Hide column",action:"column-hide",options:n},{label:"Remove column",action:"column-remove",options:n}];return t===void 0?r.push({label:"Pin column",children:[Or(n),Ar(n),Hr(n)]}):t==="left"?r.push({label:"Unpin column",action:"column-unpin",options:n},{label:"Pin column",children:[Ar(n),Hr(n)]}):t==="right"?r.push({label:"Unpin column",action:"column-unpin",options:n},{label:"Pin column",children:[Or(n),Ar(n)]}):t==="floating"&&r.push({label:"Unpin column",action:"column-unpin",options:n},{label:"Pin column",children:[Or(n),Hr(n)]}),r}function hc(n,{groupBy:e}){let{column:t}=n,r=[];if(t===void 0)return r;let{name:o,label:s=o}=t;return e.length===0?r.push({label:`Group by ${s}`,action:"group",options:n}):r.push({label:`Add ${s} to group by`,action:"group-add",options:n}),r}var is=require("@vuu-ui/vuu-utils"),ue=require("@vuu-ui/vuu-utils"),gc=(n,e)=>{if(n.filterStruct&&e){let[t,r]=(0,is.removeColumnFromFilter)(e,n.filterStruct);return{filter:r,filterStruct:t}}else return n},{Average:bc,Count:yc,Distinct:xc,High:vc,Low:wc,Sum:Tc}=ue.AggregationType,Fr=({dataSource:n,onPersistentColumnOperation:e})=>r=>{let o=r.options;if(o.column&&n){let{column:s}=o;switch(r.menuId){case"sort-asc":return n.sort=(0,ue.setSortColumn)(n.sort,s,"A"),!0;case"sort-dsc":return n.sort=(0,ue.setSortColumn)(n.sort,s,"D"),!0;case"sort-add-asc":return n.sort=(0,ue.addSortColumn)(n.sort,s,"A"),!0;case"sort-add-dsc":return n.sort=(0,ue.addSortColumn)(n.sort,s,"D"),!0;case"group":return n.groupBy=(0,ue.addGroupColumn)(n.groupBy,s),!0;case"group-add":return n.groupBy=(0,ue.addGroupColumn)(n.groupBy,s),!0;case"column-hide":return e({type:"hideColumns",columns:[s]}),!0;case"column-remove":return n.columns=n.columns.filter(i=>i!==s.name),!0;case"filter-remove-column":return n.filter=gc(n.filter,s),!0;case"remove-filters":return n.filter={filter:""},!0;case"agg-avg":return n.aggregations=(0,ue.setAggregations)(n.aggregations,s,bc),!0;case"agg-high":return n.aggregations=(0,ue.setAggregations)(n.aggregations,s,vc),!0;case"agg-low":return n.aggregations=(0,ue.setAggregations)(n.aggregations,s,wc),!0;case"agg-count":return n.aggregations=(0,ue.setAggregations)(n.aggregations,s,yc),!0;case"agg-distinct":return n.aggregations=(0,ue.setAggregations)(n.aggregations,s,xc),!0;case"agg-sum":return n.aggregations=(0,ue.setAggregations)(n.aggregations,s,Tc),!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;default:}}return!1};var jl=require("@vuu-ui/vuu-popups"),kr=require("@salt-ds/core");var Ae=require("@vuu-ui/vuu-utils"),sn=require("react");var We=require("@vuu-ui/vuu-utils"),Ga=z(require("classnames")),On=require("react");var vr=require("@vuu-ui/vuu-utils");function as(n){var e,t,r="";if(typeof n=="string"||typeof n=="number")r+=n;else if(typeof n=="object")if(Array.isArray(n))for(e=0;e<n.length;e++)n[e]&&(t=as(n[e]))&&(r&&(r+=" "),r+=t);else for(e in n)n[e]&&(r&&(r+=" "),r+=e);return r}function Un(){for(var n,e,t=0,r="";t<arguments.length;)(n=arguments[t++])&&(e=as(n))&&(r&&(r+=" "),r+=e);return r}var Ne=require("react"),Vr=require("@salt-ds/core"),ls=require("@heswell/salt-lab");var $r=require("react/jsx-runtime"),Br="vuuEditableLabel",Gt=(0,Ne.forwardRef)(function({className:e,defaultEditing:t,defaultValue:r,editing:o,onChange:s,onEnterEditMode:i,onExitEditMode:a,value:l,...c},u){let p=(0,Ne.useRef)(null),f=(0,Ne.useRef)(!1),[d,h]=(0,Vr.useControlled)({controlled:l,default:r!=null?r:"",name:"EditableLabel",state:"value"}),[b,y]=(0,Vr.useControlled)({controlled:o,default:t!=null?t:!1,name:"EditableLabel",state:"editing"}),g=(0,Ne.useCallback)(T=>{y(f.current=T)},[]),v=(0,Ne.useRef)(d);(0,Ne.useLayoutEffect)(()=>{b&&p.current!==null&&(p.current.select(),p.current.focus())},[b,p]);let x=(0,Ne.useCallback)(()=>{g(!0),i&&i()},[i,g]),w=({cancelEdit:T=!1,allowDeactivation:R=!1}={})=>{g(!1);let D=v.current;D!==d&&(T?h(D):v.current=d),a&&a(D,d,R,T)},E=T=>{let{value:R}=T.target;h(R),s&&s(R)},m=()=>{x()},C=()=>{f.current&&w({allowDeactivation:!0})},M=T=>{b&&T.key==="Enter"?(T.stopPropagation(),w()):T.key==="ArrowRight"||T.key==="ArrowLeft"?T.stopPropagation():T.key==="Escape"&&w({cancelEdit:!0})},P=Un(Br,e,{[`${Br}-editing`]:b});return(0,$r.jsx)("div",{...c,className:P,onDoubleClick:m,"data-text":d,ref:u,children:b?(0,$r.jsx)(ls.Input,{inputProps:{className:`${Br}-input`},value:d,onBlur:C,onChange:E,onKeyDown:M,ref:p,style:{padding:0},textAlign:"left"}):d})});var Kr=require("@vuu-ui/vuu-utils"),fs=z(require("classnames"));var Cc={},Ec={},Qn={};function ie(n,e,t="component"){Qn[n]=e,t==="container"?Cc[n]=!0:t==="view"&&(Ec[n]=!0)}var vn=require("@salt-ds/core"),_r=z(require("classnames")),us=require("react");var ft=require("react/jsx-runtime"),pt="vuuDrawer",cs=n=>typeof n=="string"?n:n+"px",Rc=(n,e,t)=>{let r=e!==void 0,o=t!==void 0;if(!(!n&&!o&&!r))return!o&&!r?n:{...n,"--drawer-size":r?cs(e):void 0,"--drawer-peek-size":o?cs(t):void 0}},ps=({children:n,className:e,clickToOpen:t,defaultOpen:r,sizeOpen:o,sizeClosed:s,style:i,open:a,position:l="left",inline:c,onClick:u,peekaboo:p=!1,toggleButton:f,...d})=>{let[h,b]=(0,vn.useControlled)({controlled:a,default:r!=null?r:!1,name:"Drawer",state:"open"}),y=(0,_r.default)(pt,e,`${pt}-${l}`,{[`${pt}-open`]:h,[`${pt}-inline`]:c,[`${pt}-over`]:!c,[`${pt}-peekaboo`]:p}),g=(0,us.useCallback)(()=>{b(!h)},[h,b]),v=Rc(i,o,s),x=t?g:u,w=()=>(0,ft.jsx)("div",{className:(0,_r.default)("vuuToggleButton-container"),children:h?(0,ft.jsx)(vn.Button,{"aria-label":"close",onClick:g,"data-icon":"close",variant:"secondary"}):(0,ft.jsx)(vn.Button,{"aria-label":"open",onClick:g,"data-icon":"close",variant:"secondary"})});return(0,ft.jsxs)("div",{...d,className:y,onClick:x,style:v,children:[f=="start"?w():null,(0,ft.jsx)("div",{className:`${pt}-liner`,children:(0,ft.jsx)("div",{className:`${pt}-content`,children:n})}),f=="end"?w():null]})};ps.displayName="Drawer";var Wr=ps;var Xn=require("react/jsx-runtime"),Dc=n=>n.type===Wr,Sc=({props:{position:n="left"}})=>n.match(/top|bottom/),ds=n=>{let{children:e,className:t,id:r,style:o}=n,s="vuuDockLayout",[i,a]=(0,Kr.partition)(e,Dc),[l,c]=(0,Kr.partition)(i,Sc),u=l.length===0?"horizontal":c.length===0?"vertical":"both",p=(0,fs.default)(s,t,`${s}-${u}`);return(0,Xn.jsxs)("div",{className:p,id:r,style:o,children:[i,(0,Xn.jsx)("div",{className:`${s}-content`,children:a})]})};ds.displayName="DockLayout";ie("DockLayout",ds,"container");var ms=require("react");var hs=require("react/jsx-runtime"),Gr=(0,ms.forwardRef)(function({resizeable:e,...t},r){return(0,hs.jsx)("div",{...t,className:"Component",ref:r})});Gr.displayName="Component";var Ur=Gr;ie("Component",Gr);var gs=z(require("react"));var Pc={},et=(n,e)=>{var r;let t=xe(n);return(r=t[e])!=null?r:t[`data-${e}`]},xe=n=>(n==null?void 0:n.props)||n||Pc;var ze=require("react"),Mc=[],Lc=0,Ut=n=>{let e=Array.isArray(n),t=e?n.length:ze.Children.count(n);return e&&n.every(ze.isValidElement)?n:t===1&&!e&&(0,ze.isValidElement)(n)?[n]:t>1?n:Mc},bs=(n,e)=>{let t=(0,ze.useRef)(!1);(0,ze.useLayoutEffect)(()=>{t.current?n():t.current=!0},e)},Zn=n=>(0,ze.useMemo)(()=>n!=null?n:`vuu-${++Lc}`,[n]);var Xr={north:1,east:2,south:4,west:8,header:16,centre:32,absolute:64},Zr={AFTER:"after",BEFORE:"before"},dt=Object.freeze({North:St("north"),East:St("east"),South:St("south"),West:St("west"),Header:St("header"),Centre:St("centre"),Absolute:St("absolute")});function St(n){return Object.freeze({offset:n==="north"||n==="west"?0:n==="south"||n==="east"?1:NaN,valueOf:function(){return Xr[n]},toString:function(){return n},North:n==="north",South:n==="south",East:n==="east",West:n==="west",Header:n==="header",Centre:n==="centre",NorthOrSouth:n==="north"||n==="south",EastOrWest:n==="east"||n==="west",NorthOrWest:n==="north"||n==="west",SouthOrEast:n==="east"||n==="south",Absolute:n==="absolute"})}var em=dt.North,tm=dt.South,nm=dt.East,rm=dt.West,om=dt.Header,sm=dt.Centre;var{north:Ic,south:Oc,east:Ac,west:Hc}=Xr,mm=Ac+Hc,hm=Ic+Oc;var Yn=require("@vuu-ui/vuu-popups");var ys=z(require("classnames"));var jr=require("react/jsx-runtime");function xs(n,e=0,t=0){let{pos:r,clientRect:o}=n,s=20;return r.position.West?[o.left-t+s,r.y-e,"left"]:r.position.South?[r.x-t,o.bottom-e-s,"bottom"]:r.position.East?[o.right-t-s,r.y-e,"right"]:[r.x-t,o.top-e+s,"top"]}var Yr="vuuDropMenu",vs=({className:n,dropTarget:e,onHover:t,orientation:r})=>{let o=e.toArray();return(0,jr.jsx)("div",{className:(0,ys.default)(Yr,n,`${Yr}-${r}`),onMouseLeave:()=>t(null),children:o.map((s,i)=>(0,jr.jsx)("div",{className:`${Yr}-item`,"data-icon":i===0?"column-2A":"column-2B",onMouseEnter:()=>t(s)},i))})};var Es=require("react/jsx-runtime"),qr=!1,wn=null,Fe=null,Nc=n=>wn=n,zc=([n,e])=>`M${n},${e}`,Fc=([n,e])=>`L${n},${e}`,ws=([n,...e])=>`${zc(n)} ${e.map(Fc)}Z`,Bc=n=>{if(n){let[e,t,r,o,s,i,a,l]=n;return`M${e},${t} L${r},${o} M${s},${i} L${a},${l}`}else return""};function Vc(){if(document.getElementById("hw-drag-canvas")===null){let n=document.getElementById("root"),e=document.createElement("div");e.id="hw-drag-canvas",e.innerHTML=`
|
|
2
|
+
<svg width="100%" height="100%">
|
|
3
|
+
<path id="hw-drop-guides" />
|
|
4
|
+
<path
|
|
5
|
+
id="vuu-drop-outline"
|
|
6
|
+
d="M300,132 L380,132 L380,100 L460,100 L460,132, L550,132 L550,350 L300,350z">
|
|
7
|
+
<animate
|
|
8
|
+
attributeName="d"
|
|
9
|
+
id="hw-drop-outline-animate"
|
|
10
|
+
begin="indefinite"
|
|
11
|
+
dur="300ms"
|
|
12
|
+
fill="freeze"
|
|
13
|
+
to="M255,33 L255,33,L255,1,L315,1,L315,1,L794,1,L794,164,L255,164Z"
|
|
14
|
+
/>
|
|
15
|
+
</path>
|
|
16
|
+
</svg>
|
|
17
|
+
`,document.body.insertBefore(e,n)}}var Tn=class{constructor(){this.currentPath=null;this.tabMode=null;Vc()}prepare(e,t="full-view"){document.body.classList.add("drawing"),this.currentPath=null,this.tabMode=t;let r=this.getPoints(0,0,0,0),o=ws(r),s=document.getElementById("vuu-drop-outline");s==null||s.setAttribute("d",o),this.currentPath=o}clear(){wn=null,jn(),document.body.classList.remove("drawing"),Yn.PopupService.hidePopup()}get hoverDropTarget(){return wn}getPoints(e,t,r,o,s=0,i=0,a=0){let l=this.tabMode==="tab-only";if(i===0)return[[e,t+a],[e,t+a],[e,t],[e+i,t],[e+i,t],[e+r,t],[e+r,t+o],[e,t+o]];if(l){let c=s;return[[c,t],[c,t],[c+i,t],[c+i,t],[c+i,t+a],[c+i,t+a],[c,t+a],[c,t+a]]}else return s===0?[[e,t+a],[e,t+a],[e,t],[e+i,t],[e+i,t+a],[e+r,t+a],[e+r,t+o],[e,t+o]]:[[e,t+a],[e+s,t+a],[e+s,t],[e+s,t],[e+s,t+a],[e+r,t+a],[e+r,t+o],[e,t+o]]}draw(e,t){let o=qr;if(wn!==null)this.drawTarget(wn);else if(qr=e.nextDropTarget!=null,e.pos.tab?$c(e):Fe&&jn(),this.drawTarget(e,t),qr){let[s,i,a]=xs(e);{let l=(0,Es.jsx)(vs,{dropTarget:e,onHover:Nc,orientation:a});Yn.PopupService.showPopup({left:s,top:i,component:l})}}else Yn.PopupService.hidePopup()}drawTarget(e,t){let o=e.getTargetDropOutline(6,t);if(o){let{l:s,t:i,r:a,b:l,tabLeft:c,tabWidth:u,tabHeight:p,guideLines:f}=o,d=a-s,h=l-i;if(this.currentPath){let x=document.getElementById("vuu-drop-outline");x==null||x.setAttribute("d",this.currentPath)}let b=this.getPoints(s,i,d,h,c,u,p),y=ws(b),g=document.getElementById("hw-drop-outline-animate");g==null||g.setAttribute("to",y),g==null||g.beginElement(),this.currentPath=y;let v=document.getElementById("hw-drop-guides");v==null||v.setAttribute("d",Bc(f))}}},Ts="transition:margin-left .4s ease-out;margin-left: 63px",Cs="transition:margin-left .4s ease-out;margin-left: 0px";function $c(n){var a,l;let{AFTER:e,BEFORE:t}=Zr,{clientRect:{Stack:r},pos:{tab:o}}=n,{id:s}=n.component.props,i=null;if(r&&o&&o.positionRelativeToTab!==e){let c=o.positionRelativeToTab===t?1:2,u=`:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${o.index+c})`;i=(a=document.getElementById(s))==null?void 0:a.querySelector(u),i?(Fe===null||Fe!==i)&&(i.style.cssText=Ts,Fe&&(Fe.style.cssText=Cs),Fe=i):jn()}else if((o==null?void 0:o.positionRelativeToTab)===t){if(Fe===null){let c=".vuuHeader-title";i=(l=document.getElementById(s))==null?void 0:l.querySelector(c),i.style.cssText=Ts,Fe=i}}else jn()}function jn(){Fe&&(Fe.style.cssText=Cs,Fe=null)}var zm=new Tn;var Ds=z(require("classnames")),Ss=require("react");var Ls=require("react/jsx-runtime"),Ps=(0,Ss.forwardRef)(function({children:e,className:t,dropTarget:r,resizeable:o,...s},i){let a=(0,Ds.default)("DraggableLayout",t);return(0,Ls.jsx)("div",{className:a,ref:i,...s,children:e})}),Ms="DraggableLayout";Ps.displayName=Ms;ie(Ms,Ps,"container");var Gs=require("@salt-ds/core"),Us=z(require("classnames")),Qs=require("react");var Ws=require("@vuu-ui/vuu-utils"),se=z(require("react"));var Is=z(require("classnames"));var Os=require("react/jsx-runtime"),ks="vuuPlaceholder",qn=({className:n,closeable:e,flexFill:t,resizeable:r,shim:o,...s})=>(0,Os.jsx)("div",{className:(0,Is.default)(ks,n,{[`${ks}-shim`]:o}),...s,"data-placeholder":!0,"data-resizeable":!0});qn.displayName="Placeholder";ie("Placeholder",qn);var As=z(require("classnames")),ve=z(require("react"));var Jr=require("react/jsx-runtime"),Hs=ve.default.memo(function({column:e,index:t,onDrag:r,onDragEnd:o,onDragStart:s,style:i}){let a=(0,ve.useRef)(),l=(0,ve.useRef)(null),c=(0,ve.useRef)(0),[u,p]=(0,ve.useState)(!1),f=(0,ve.useCallback)(({key:m,shiftKey:C})=>{let M=C?10:1;e&&m==="ArrowDown"?r(t,M):e&&m==="ArrowUp"||!e&&m==="ArrowLeft"?r(t,-M):!e&&m==="ArrowRight"&&r(t,M)},[e,t,r]),d=(0,ve.useCallback)(m=>{let{key:C}=m;(e&&(C==="ArrowUp"||C==="ArrowDown")||!e&&(C==="ArrowLeft"||C==="ArrowRIght"))&&(s(t),f(m),h.current=f)},[e,f,t,s]),h=(0,ve.useRef)(d),b=m=>h.current(m),y=(0,ve.useCallback)(m=>{a.current=!0;let C=m[e?"clientY":"clientX"],M=C-c.current;C&&C!==c.current&&r(t,M),c.current=C},[e,t,r]),g=(0,ve.useCallback)(()=>{var m;window.removeEventListener("mousemove",y,!1),window.removeEventListener("mouseup",g,!1),o(),p(!1),(m=l.current)==null||m.focus()},[y,o,p]),v=(0,ve.useCallback)(m=>{c.current=e?m.clientY:m.clientX,s(t),window.addEventListener("mousemove",y,!1),window.addEventListener("mouseup",g,!1),m.preventDefault(),p(!0)},[e,y,g,t,s,p]),x=()=>{var m;a.current?a.current=!1:(m=l.current)==null||m.focus()},w=()=>{h.current=d},E=(0,As.default)("Splitter","focusable",{active:u,column:e});return(0,Jr.jsx)("div",{className:E,"data-splitter":!0,ref:l,role:"separator",style:i,onBlur:w,onClick:x,onKeyDown:b,onMouseDown:v,tabIndex:0,children:(0,Jr.jsx)("div",{className:"grab-zone"})})});var _c=require("@vuu-ui/vuu-utils"),Wc=z(require("react"));var zs={},Ns="auto";var Qt=n=>{let{style:{width:e=Ns,height:t=Ns}=zs}=n.props,r=typeof t=="number",o=typeof e=="number";return r&&o?{height:t,width:e}:r?{height:t}:o?{width:e}:void 0};function Fs(n){let{style:{flex:e,flexGrow:t,flexShrink:r,flexBasis:o}=zs}=n.props;return typeof e=="number"||o===0&&t===1&&r===1?!0:typeof o!="number"}var Kc={},En=1,Rn=2,Gc=n=>typeof n.intrinsicSize=="number",Uc=(n,e)=>{let t={};return n.forEach(r=>{t[r]=et(e,r)}),t},Jn=(n,e,t)=>n.map((r,o)=>{var l;let s=et(r,"resizeable"),{[e]:i}=(l=Qt(r))!=null?l:Kc,a=Fs(r);return t?{index:o,flexOpen:a,intrinsicSize:i,resizeable:s,...Uc(t,r)}:{index:o,flexOpen:a,intrinsicSize:i,resizeable:s}}),Bs=n=>{let e=n.length,t=n.every(Gc),r=Array(e).fill(0);if(t&&e>0&&(r[0]=Rn,r[e-1]=Rn),e<2)return r;for(let o=0,s=0;o<e-1;o++)n[o].resizeable&&!s&&(s=En),r[o]+=s;for(let o=e-1;o>0&&(r[o]&En&&(r[o]-=En),!n[o].resizeable);o--);return r},Vs=(n,e)=>{let t=Xc(n,e),r=Zc(n,e),o=t!==-1&&r!==-1?[t,r]:void 0,s=Qc(n,o);return[o,s]};function Qc(n,e){if(e){let t=[];for(let r=0;r<n.length;r++)n[r].flexOpen&&!e.includes(r)&&t.push(r);return t}}function Xc(n,e){let t=e,r=!1;for(;t>=1&&!r;)t=t-1,r=$s(n,t);return t}function Zc(n,e){let t=e,r=!1,o=n.length;for(;t<o-1&&!r;)t=t+1,r=$s(n,t);return t===o?-1:t}function $s(n,e){let{placeholder:t,splitter:r,resizeable:o,intrinsicSize:s}=n[e];return!!(!r&&!s&&(t||o))}var Yc=n=>!n.splitter&&!n.placeholder,Ks=({children:n,onSplitterMoved:e,style:t})=>{let r=(0,se.useRef)(null),o=(0,se.useRef)(),s=(0,se.useRef)(),i=(0,se.useRef)([]),[,a]=(0,se.useState)({}),l=y=>{s.current=y,a({})},c=(t==null?void 0:t.flexDirection)==="column",u=c?"height":"width",p=(0,se.useMemo)(()=>Array.isArray(n)?n:se.default.isValidElement(n)?[n]:[],[n]),f=(0,se.useCallback)(y=>{let{current:g}=o;if(g){let[v,x]=Vs(g,y);v&&(v.forEach(w=>{var m;let E=(m=r.current)==null?void 0:m.childNodes[w];if(E){let{size:C,minSize:M}=eu(E,u);g[w].currentSize=C,g[w].minSize=M}}),x&&x.forEach(w=>{var m;let E=(m=r.current)==null?void 0:m.childNodes[w];if(E){let{[u]:C}=E.getBoundingClientRect();g[w].flexBasis=C}}))}},[u]),d=(0,se.useCallback)((y,g)=>{s.current&&o.current&&l(qc(s.current,o.current,g,u))},[u]),h=(0,se.useCallback)(()=>{let y=o.current;y&&(e==null||e(y.filter(Yc))),y==null||y.forEach(g=>{g.currentSize=void 0,g.flexBasis=void 0,g.flexOpen=!1})},[e]),b=(0,se.useCallback)(y=>se.default.createElement(Hs,{column:c,index:y,key:`splitter-${y}`,onDrag:d,onDragEnd:h,onDragStart:f}),[d,h,f,c]);return(0,se.useMemo)(()=>{let[y,g]=jc(p,u,b,i.current);o.current=g,s.current=y},[p,b,u]),{content:s.current||[],rootRef:r}};function jc(n,e,t,r){let o=Jn(n,e),s=Bs(o),i=[],a=[];for(let l=0;l<n.length;l++){let c=n[l];if(l===0&&s[l]&Rn&&(i.push(_s(l)),a.push({placeholder:!0,shim:!0})),c.key==null){let u=r[l]||(r[l]=(0,Ws.getUniqueId)());i.push(se.default.cloneElement(c,{key:u}))}else i.push(c);a.push(o[l]),l>0&&s[l]&Rn?(i.push(_s(l)),a.push({placeholder:!0})):s[l]&En&&(i.push(t(i.length)),a.push({splitter:!0}))}return[i,a]}function qc(n,e,t,r){return Jc(e,t)?n.map((s,i)=>{let a=e[i],{currentSize:l,flexOpen:c,flexBasis:u}=a,p=l!==void 0;if(p||c){let{flexBasis:f}=s.props.style||{},d=p?a.currentSize:u;return d!==f?se.default.cloneElement(s,{style:{...s.props.style,flexBasis:d,[r]:"auto"}}):s}else return s}):n}function Jc(n,e){let t=[];n.forEach((u,p)=>{u.currentSize!==void 0&&t.push(p)});let r=e<0?t[0]:t[1],{currentSize:o=0,minSize:s=0}=n[r];if(o===s)return!1;if(Math.abs(e)>o-s){let u=e<0?-1:1;e=Math.max(0,o-s)*u}let i=n[t[0]],{currentSize:a=0}=i;i.currentSize=a+e;let l=n[t[1]],{currentSize:c=0}=l;return l.currentSize=c-e,!0}function _s(n){return se.default.createElement(qn,{shim:n===0,key:`placeholder-${n}`})}function eu(n,e){let{[e]:t}=n.getBoundingClientRect(),o=getComputedStyle(n).getPropertyValue(`min-${e}`),s=o.endsWith("px")?parseInt(o,10):0;return{size:t,minSize:s}}var Zs=require("react/jsx-runtime"),to="hwFlexbox",Xs=(0,Qs.forwardRef)(function(e,t){let{breakPoints:r,children:o,column:s,className:i,flexFill:a,gap:l,fullPage:c,id:u,onSplitterMoved:p,resizeable:f,row:d,spacing:h,splitterSize:b,style:y,...g}=e,{content:v,rootRef:x}=Ks({children:o,onSplitterMoved:p,style:y}),w=(0,Us.default)(to,i,{[`${to}-column`]:s,[`${to}-row`]:d,"flex-fill":a,"full-page":c});return(0,Zs.jsx)("div",{...g,className:w,"data-resizeable":f||void 0,id:u,ref:(0,Gs.useForkRef)(x,t),style:{...y,gap:l,"--spacing":h},children:v})});Xs.displayName="Flexbox";var no=Xs;var ti=require("react");var er={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 Zt=require("react");var mu=z(require("react"));var ru=require("@vuu-ui/vuu-utils"),ou=z(require("react"));var tu=require("@vuu-ui/vuu-utils"),Ys=z(require("react"));var Pt=require("react"),Le=new Map,ke=new Map;var Xt=()=>{let n=(0,Pt.useCallback)((i,a)=>{let l=ke.get(i);if(l)return a!==void 0&&l[a]!==void 0?l[a]:a!==void 0?void 0:l},[]),e=(0,Pt.useCallback)((i,a,l)=>{if(a===void 0)ke.set(i,l);else if(ke.has(i)){let c=ke.get(i);ke.set(i,{...c,[a]:l})}else ke.set(i,{[a]:l})},[]),t=(0,Pt.useCallback)((i,a)=>{if(ke.has(i)){if(a===void 0)ke.delete(i);else if(ke.get(i)[a]){let{[a]:c,...u}=ke.get(i);Object.keys(u).length>0?ke.set(i,u):ke.delete(i)}}},[]),r=(0,Pt.useCallback)((i,a)=>{let l=Le.get(i);if(l)return a!==void 0?l[a]:l},[]),o=(0,Pt.useCallback)((i,a,l)=>{if(a===void 0)Le.set(i,l);else if(Le.has(i)){let c=Le.get(i);Le.set(i,{...c,[a]:l})}else Le.set(i,{[a]:l})},[]),s=(0,Pt.useCallback)((i,a)=>{if(Le.has(i)){if(a===void 0)Le.delete(i);else if(Le.get(i)[a]){let{[a]:c,...u}=Le.get(i);Object.keys(u).length>0?Le.set(i,u):Le.delete(i)}}},[]);return{loadSessionState:n,loadState:r,saveSessionState:e,saveState:o,purgeState:s,purgeSessionState:t}};var au=require("react");var iu=z(require("react"));var cu=z(require("react"));var uu=z(require("react"));var pu=require("@vuu-ui/vuu-utils"),fu=z(require("react"));var qs=require("react"),hu=n=>console.log(`dispatch ${n.type}, have you forgotten to provide a LayoutProvider ?`),Js=(0,qs.createContext)({dispatchLayoutProvider:hu,version:-1});var ei=require("react");var gu=require("react/jsx-runtime");var Be=()=>{let{dispatchLayoutProvider:n}=(0,Zt.useContext)(Js);return n};var ri=require("react/jsx-runtime"),ni=function(e){let{path:t}=e,r=Be(),o=(0,ti.useCallback)(s=>{r({type:er.SPLITTER_RESIZE,path:t,sizes:s})},[r,t]);return(0,ri.jsx)(no,{...e,onSplitterMoved:o})};ni.displayName="Flexbox";ie("Flexbox",ni,"container");var pi=require("@salt-ds/core"),fi=z(require("classnames")),nr=require("react");var Ve=require("react");var Lt=require("react");var Mt=new WeakMap,si=(n,e,t)=>{switch(t){case"height":return e.height;case"scrollHeight":return n.scrollHeight;case"scrollWidth":return n.scrollWidth;case"width":return e.width;default:return 0}},oi=new ResizeObserver(n=>{for(let e of n){let{target:t,contentRect:r}=e,o=Mt.get(t);if(o){let{onResize:s,measurements:i}=o,a=!1;for(let[l,c]of Object.entries(i)){let u=si(t,r,l);u!==c&&(a=!0,i[l]=u)}a&&s&&s(i)}}});function ii(n,e,t,r=!1){console.log("resizeObserver container",{ref:n.current});let o=(0,Lt.useRef)(e),s=(0,Lt.useCallback)(i=>{let a=i.getBoundingClientRect();return o.current.reduce((l,c)=>(l[c]=si(i,a,c),l),{})},[]);(0,Lt.useLayoutEffect)(()=>{let i=n.current,a=!1;async function l(){Mt.set(i,{measurements:{}}),a=!1;let{fonts:c}=document;if(c&&await c.ready,!a){let u=Mt.get(i);if(u){let p=s(i);u.measurements=p,oi.observe(i),r&&t(p)}}}if(i){if(Mt.has(i))throw Error("useResizeObserver attemping to observe same element twice");l()}return()=>{i&&Mt.has(i)&&(oi.unobserve(i),Mt.delete(i),a=!0)}},[n,s,r,t]),(0,Lt.useLayoutEffect)(()=>{let i=n.current,a=Mt.get(i);if(a){if(o.current!==e){o.current=e;let l=s(i);a.measurements=l}a.onResize=t}},[e,s,n,t])}function bu(n,e){let t=document.body.querySelector(`.${n}`),r={get:function(o,s){let i=o.getPropertyValue(`--${n}-breakpoint-${s}`);return i?parseInt(i):void 0}};return t?new Proxy(getComputedStyle(t),r):e!=null?e:{}}var yu=([,n],[,e])=>e-n,io=n=>Object.entries(n).sort(yu).map(([e,t],r,o)=>[e,t,r<o.length-1?o[r+1][1]:9999]),so=null,xu=(n="salt")=>{let{xs:e,sm:t,md:r,lg:o,xl:s}=bu(n);return io({xs:e,sm:t,md:r,lg:o,xl:s})},ai=n=>(so===null&&(so=xu(n)),so);var vu=[],li=({breakPoints:n,smallerThan:e},t)=>{let[r,o]=(0,Ve.useState)(e?!1:"lg"),s=(0,Ve.useRef)(document.body),i=(0,Ve.useRef)(n?io(n):ai()),a=(0,Ve.useRef)("lg"),l=(0,Ve.useCallback)(u=>{if(i.current){for(let[p,f]of i.current)if(u>=f)return p}},[i]),c=(0,Ve.useCallback)(u=>{if(e){let p=i.current.find(([f])=>f===e);if(p){let[,,f]=p;return u<f}}else return l(u);return u},[e,l]);return ii(t||s,i.current?["width"]:vu,({width:u})=>{let p=c(u);p!==a.current&&(a.current=p,o(p))},!0),(0,Ve.useEffect)(()=>{let u=t||s;if(u.current){let p=a.current;if(i.current){let{clientWidth:f}=u.current,d=c(f);a.current=d,d!==p&&o(d)}}},[o,c,t]),r};var wu="data-collapsible",ny={[wu]:!0,"data-pad-start":!0,"data-pad-end":!0};var ci=require("@vuu-ui/vuu-utils"),Pe=require("react");var Tu=["xs","sm","md","lg","xl"],Cu=12,ui=({children:n,cols:e,style:t})=>{let r=(0,Pe.useRef)(null),o=(0,Pe.useRef)(null),s=(0,Pe.useRef)(),i=e!=null?e:Cu,l=(t==null?void 0:t.flexDirection)==="column"?"height":"width",c=(0,Pe.useMemo)(()=>Array.isArray(n)?n:(0,Pe.isValidElement)(n)?[n]:[],[n]),u=(0,Pe.useCallback)((p,f)=>{let d=Jn(p,f,Tu),h=[],b=[];for(let y=0;y<p.length;y++){let g=p[y],{style:{flex:v,...x}}=g.props;h.push((0,Pe.cloneElement)(g,{key:(0,ci.getUniqueId)(),style:{...x,"--parent-col-count":i}})),b.push(d[y])}return[h,b]},[i]);return(0,Pe.useMemo)(()=>{let[p,f]=u(c,l);o.current=f,s.current=p},[u,c,l]),{cols:i,content:s.current,rootRef:r}};var di=require("react/jsx-runtime"),tr="hwFluidGrid",ao=(0,nr.forwardRef)(function(e,t){let{breakPoints:r,children:o,column:s,cols:i=12,className:a,flexFill:l,gap:c=3,fullPage:u,id:p,onSplitterMoved:f,resizeable:d,row:h,showGrid:b,spacing:y,splitterSize:g,style:v,...x}=e,w=(0,nr.useMemo)(()=>Ut(o),[o]),{cols:E,content:m,rootRef:C}=ui({children:w,cols:i,style:v}),M=li({breakPoints:r},C),P=(0,fi.default)(tr,a,{[`${tr}-column`]:s,[`${tr}-row`]:h,[`${tr}-show-grid`]:b,"flex-fill":l,"full-page":u}),T={...v,"--spacing":y,"--grid-col-count":E,"--grid-gap":c};return(0,di.jsx)("div",{...x,className:P,"data-breakpoint":M,"data-cols":E,"data-resizeable":d||void 0,id:p,ref:(0,pi.useForkRef)(C,t),style:T,children:m})});ao.displayName="FluidGrid";var hi=require("react/jsx-runtime"),mi=function(e){return(0,hi.jsx)(ao,{...e})};mi.displayName="FluidGrid";ie("FluidGrid",mi,"container");var Ti=z(require("classnames")),ht=z(require("react"));var mt=require("react");var rr=(n,e,t,r)=>{var y;let{loadSessionState:o,purgeSessionState:s,purgeState:i,saveSessionState:a}=Xt(),[l,c]=(0,mt.useState)((y=o(n,"contributions"))!=null?y:[]),u=Be(),p=(0,mt.useCallback)((g,v)=>{let x=l.concat([{location:g,content:v}]);a(n,"contributions",x),c(x)},[l,n,a]),f=(0,mt.useCallback)(()=>{s(n,"contributions"),c([])},[n,s]),d=(0,mt.useCallback)(()=>{let g=o(n,"data-source");g&&g.unsubscribe(),s(n),i(n),u({type:"remove",path:t})},[u,n,o,s,i,t]),h=(0,mt.useCallback)(async(g,v,x)=>{var E;g.stopPropagation();let w=(E=e.current)==null?void 0:E.getBoundingClientRect();return new Promise((m,C)=>{u({type:"drag-start",evt:g,path:v===void 0?t:`${t}.${v}`,dragRect:w,preDragActivity:x,dropTargets:r,resolveDragStart:m,rejectDragStart:C})})},[e,u,t,r]);return[(0,mt.useCallback)(async(g,v)=>{var w;let{type:x}=g;switch(x){case"maximize":case"minimize":case"restore":return u({type:x,path:(w=g.path)!=null?w:t});case"remove":return d();case"mousedown":return h(v,g.index,g.preDragActivity);case"add-toolbar-contribution":return p(g.location,g.content);case"remove-toolbar-contribution":return f();default:return}},[u,t,d,h,p,f]),l]};var ir=require("@salt-ds/core"),xi=z(require("classnames")),we=z(require("react"));var $e=require("react");var gi=({id:n,rootRef:e,path:t,dropTargets:r,title:o})=>{let s=Be(),{loadState:i,loadSessionState:a,purgeState:l,saveState:c,saveSessionState:u}=Xt(),[p,f]=rr(n,e,t,r),d=(0,$e.useMemo)(()=>{var m;return(m=i("view-title"))!=null?m:o},[i,o]),h=(0,$e.useCallback)(m=>{t&&s({type:"set-title",path:t,title:m})},[s,t]),b=(0,$e.useMemo)(()=>i(n),[n,i]),y=(0,$e.useCallback)(m=>i(n,m),[n,i]),g=(0,$e.useCallback)(m=>{l(n,m),s({type:"save"})},[n,s,l]),v=(0,$e.useCallback)((m,C)=>{c(n,C,m),s({type:"save"})},[n,s,c]),x=(0,$e.useCallback)(m=>a(n,m),[n,a]),w=(0,$e.useCallback)((m,C)=>u(n,C,m),[n,u]),E=(0,$e.useCallback)(({type:m,...C})=>{let{[m]:M}=C;v(M,m)},[v]);return{contributions:f,dispatchViewAction:p,load:y,loadSession:x,onConfigChange:E,onEditTitle:h,purge:g,restoredState:b,save:v,saveSession:w,title:d}};var or=require("@heswell/salt-lab"),Yt=require("react"),Eu=[],bi=({mainRef:n,resize:e="responsive",rootRef:t})=>{let r=e==="defer",o=(0,Yt.useRef)({}),s=(0,Yt.useRef)(),i=(0,Yt.useCallback)(()=>{n.current&&(n.current.style.height=o.current.height+"px",n.current.style.width=o.current.width+"px"),s.current=void 0},[n]),a=(0,Yt.useCallback)(({height:l,width:c})=>{o.current.height=l,o.current.width=c,s.current!==null&&clearTimeout(s.current),s.current=window.setTimeout(i,40)},[i]);(0,or.useResizeObserver)(t,r?or.WidthHeight:Eu,a,r)};var sr=z(require("react")),Ru={dispatch:null},lo=sr.default.createContext(Ru),yi=()=>{var e;let n=(0,sr.useContext)(lo);return(e=n==null?void 0:n.dispatch)!=null?e:null};var jt=require("react/jsx-runtime"),Dn="vuuView",Du=(n,e)=>n&&e?{...n,...e}:n||e,vi=(0,we.forwardRef)(function(e,t){let{Header:r=wi,children:o,className:s,collapsed:i,closeable:a,"data-path":l,"data-resizeable":c,dropTargets:u,expanded:p,flexFill:f,id:d,header:h,orientation:b="horizontal",path:y=l,resize:g="responsive",resizeable:v=c,tearOut:x,style:w={},title:E,...m}=e,C=(0,ir.useIdMemo)(d),M=(0,we.useRef)(null),P=(0,we.useRef)(null),[T,R]=(0,we.useState)(),{contributions:D,dispatchViewAction:S,load:I,loadSession:k,onConfigChange:L,onEditTitle:A,purge:O,restoredState:B,save:V,saveSession:F,title:W}=gi({id:C,rootRef:M,path:y,dropTargets:u,title:E});bi({mainRef:P,resize:g,rootRef:M});let Y=(0,we.useCallback)(N=>{R(N)},[]),_=()=>we.default.isValidElement(o)&&(B||T)?we.default.cloneElement(o,Du(B,T)):o,J=(0,we.useMemo)(()=>({dispatch:S,id:C,path:y,title:W,load:I,loadSession:k,onConfigChange:L,purge:O,save:V,saveSession:F,setComponentProps:Y}),[S,C,I,k,L,y,O,V,F,Y,W]),H=typeof h=="object"?h:{};return(0,jt.jsx)("div",{...m,className:(0,xi.default)(Dn,s,{[`${Dn}-collapsed`]:i,[`${Dn}-expanded`]:p,[`${Dn}-resize-defer`]:g==="defer"}),"data-resizeable":v,id:C,ref:(0,ir.useForkRef)(t,M),style:w,tabIndex:-1,children:(0,jt.jsxs)(lo.Provider,{value:J,children:[h?(0,jt.jsx)(r,{...H,collapsed:i,contributions:D,expanded:p,closeable:a,onEditTitle:A,orientation:b,tearOut:x,title:W}):null,(0,jt.jsx)("div",{className:`${Dn}-main`,ref:P,children:_()})]})})});vi.displayName="View";var kt=we.default.memo(vi);kt.displayName="View";ie("View",kt,"view");var rt=require("@heswell/salt-lab"),Ci=require("@salt-ds/icons");var nt=require("react/jsx-runtime"),wi=({className:n,contributions:e,collapsed:t,closeable:r,onEditTitle:o,orientation:s="horizontal",style:i,title:a="Untitled"})=>{let l=(0,ht.useRef)(null),[c,u]=(0,ht.useState)(a),[p,f]=(0,ht.useState)(!1),d=yi(),h=R=>d==null?void 0:d({type:"remove"},R),b="vuuHeader",y=()=>{var R;(R=l.current)==null||R.focus()},g=R=>{R.stopPropagation()},x=(0,Ti.default)(b,n,`${b}-${t||s}`),w=()=>{f(!0)},E=R=>{R.key==="Enter"&&f(!0)},m=(R="",D="",S=!0,I=!1)=>{var k;f(!1),I?u(R):D!==R&&(u(D),o==null||o(D)),S===!1&&((k=l.current)==null||k.focus())},C=R=>{d==null||d({type:"mousedown"},R)},M=[],P=[],T=[];return e==null||e.forEach((R,D)=>{switch(R.location){case"pre-title":M.push(ht.default.cloneElement(R.content,{key:D}));break;default:P.push(ht.default.cloneElement(R.content,{key:D}))}}),a&&M.push((0,nt.jsx)(rt.ToolbarField,{className:"vuuHeader-title",children:(0,nt.jsx)(Gt,{editing:p,value:c,onChange:u,onMouseDownCapture:y,onEnterEditMode:w,onExitEditMode:m,onKeyDown:E,ref:l,tabIndex:0},"title")},"title")),r&&T.push((0,nt.jsxs)(rt.ToolbarButton,{onClick:h,onMouseDown:g,children:[(0,nt.jsx)(Ci.CloseIcon,{})," Close"]},"close")),P.length>0&&M.push((0,nt.jsx)(rt.Tooltray,{"data-align-end":!0,children:P},"contributions")),T.length>0&&M.push((0,nt.jsx)(rt.Tooltray,{"data-align-end":!0,children:T},"actions")),(0,nt.jsx)(rt.Toolbar,{className:x,orientation:s,style:i,onMouseDown:C,children:M})};var ur=z(require("react")),cr=z(require("classnames")),Ai=require("@vuu-ui/vuu-popups");var _e=require("react");var Su=".vuuOverflowContainer-item:not(.wrapped)",Pu=n=>n.sort((e,t)=>{let{dataset:{index:r="?"}}=e,{dataset:{index:o="?"}}=t,s=e.classList.contains("wrapped"),i=t.classList.contains("wrapped"),a=r==="overflow",l=o==="overflow";return s&&!i?1:!s&&i?-1:a?1:l?-1:parseInt(r)>parseInt(o)?1:-1}),co=[],Sn=n=>{let e=[],t=[],r=-1,o=!1,s=Pu(Array.from(n.children));for(let i of s){let a=i,{dataset:{index:l="?",label:c="?",overflowPriority:u="0"}}=a,{left:p}=a.getBoundingClientRect();p<=r?(l==="overflow"?t.push(e.pop()):t.push({index:l,label:c,overflowPriority:u}),o=!0):o?t.push({index:l,label:c,overflowPriority:u}):e.push({index:l,label:c,overflowPriority:u}),r=p}return[e,t]},Ei=(n,e)=>{let t=!1;e.find(({index:r})=>r==="overflow")&&e.length===1&&(t=!0);for(let r of n.children){let{dataset:{index:o="?"}}=r;e.length===0||t?n.classList.remove("overflowed"):n.classList.add("overflowed"),o!=="overflow"&&e.find(s=>s.index===o)?r.classList.add("wrapped"):r.classList.remove("wrapped")}},Mu=(n,{overflowPriority:e})=>Math.max(n,parseInt(e)),Lu=(n,{overflowPriority:e})=>Math.min(n,parseInt(e)),Ri=n=>{var e;return n.length>1&&((e=n.at(-1))==null?void 0:e.index)==="overflow"},ku=n=>{let[e]=n;for(let t=1;t<n.length;t++){let r=n[t];parseInt(r.overflowPriority)>parseInt(e.overflowPriority)&&(e=r)}return e},Di=(n,e)=>{var o;let t=n.reduce(Lu,Number.MAX_SAFE_INTEGER);return e.reduce(Mu,0)>t?!0:e.length>1&&((o=e.at(-1))==null?void 0:o.index)==="overflow"},Si=(n,e)=>new Promise(t=>{requestAnimationFrame(()=>{let[,r]=Sn(n);Au(e,r).forEach(s=>Iu(n,s)),t(r)})}),Pi=(n,e,t)=>new Promise(r=>{requestAnimationFrame(()=>{let[,o]=Sn(n),s=ku(o);if(s){let[i,a]=uo(n,s);r([i,a])}else r([e,t])})}),Mi=(n,e)=>n.querySelector(`[data-index="${e.index}"]`),Iu=(n,e)=>{let t=Mi(n,e);if(t)t.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${e.index} not found`)},Ou=n=>Array.from(n.querySelectorAll(".wrapped")),Au=(n,e)=>{let t=[];for(let r of e)n.find(({index:o})=>o===r.index)||t.push(r);return t},Hu=(n,e)=>{Ou(n).forEach(r=>{let{dataset:{index:o="?"}}=r;e.find(s=>s.index===o)||r.classList.remove("wrapped")})},Li=n=>n.querySelector('[data-index="overflow"]'),Nu=n=>n.querySelector(".wrapped"),ar=n=>parseInt(getComputedStyle(n).getPropertyValue("width")),ki=(n,e)=>{let{right:t}=n.getBoundingClientRect(),r=parseInt(getComputedStyle(n).getPropertyValue("padding-right")),{right:o}=e.getBoundingClientRect();return t-r-o},Ii=n=>{let e=Li(n),t=ki(n,e),r=ar(e),o=Nu(n);return ar(o)<=t+r?(n.classList.remove("overflowed"),o.classList.remove("wrapped"),!0):!1},zu=(n,e)=>{let{dataset:{index:t="0",overflowPriority:r="0"}}=n,{dataset:{index:o="0",overflowPriority:s="0"}}=e;return r>s?-1:r<s?1:parseInt(t)-parseInt(o)},Fu=n=>Array.from(n.querySelectorAll(Su)).sort(zu),uo=(n,e)=>{let t=Fu(n),r=Mi(n,e),o=-1,s=t.at(o),i=ar(s),a=ar(r),l=Li(n),c=ki(n,l)+i;if(c>=a)Bu(r,s);else{let{left:f}=s.getBoundingClientRect(),d=c,h=[s];for(;c<a;){o-=1,s=t.at(o),h.push(s);let{left:b}=s.getBoundingClientRect(),y=f-b;c=d+y}r==null||r.classList.remove("wrapped"),h.forEach(b=>{b.classList.add("wrapped")})}let[u,p]=Sn(n);return Hu(n,p),[u,p]},Bu=(n,e)=>{if(!n||!e)throw Error("switchWrapOnElements, element undefined");n.classList.remove("wrapped"),e.classList.add("wrapped")};var Oi=({itemCount:n,onSwitchWrappedItemIntoView:e})=>{let[t,r]=(0,_e.useState)(null),o=(0,_e.useRef)(co),s=(0,_e.useCallback)(async()=>{if(t){let[p,f]=Sn(t);for(Ei(t,f),Ri(f)&&(f=await Si(t,f));Di(p,f);)[p,f]=await Pi(t,p,f);f.length===1&&Ii(t)&&(f=co),o.current=f}},[t]),i=p=>typeof p=="object"&&p!==null&&"overflowItem"in p,[a,l]=(0,_e.useMemo)(()=>[()=>{let{current:p}=o;return p.map(f=>({label:f.label,action:`activate-item-${f.index}`,options:{overflowItem:f}}))},({options:p})=>{if(t&&i(p)){let[,f]=uo(t,p.overflowItem);o.current=f,e==null||e(p.overflowItem)}return!0}],[t,e]),c=(0,_e.useMemo)(()=>{let p=0;return new ResizeObserver(f=>{for(let d of f){let{width:h}=d.contentRect;p!==h&&(p=h,s())}})},[s]);bs(()=>{s()},[s,n]),(0,_e.useMemo)(()=>{t&&c.observe(t)},[t,c]);let u=(0,_e.useCallback)(p=>{r(p)},[]);return{menuActionHandler:l,menuBuilder:a,rootRef:u}};var gt=require("react/jsx-runtime"),lr="vuuOverflowContainer",Hi=ur.default.memo(({children:n,height:e,onSwitchWrappedItemIntoView:t,overflowIcon:r})=>{let o=Ut(n),{menuActionHandler:s,menuBuilder:i,rootRef:a}=Oi({itemCount:o.length,onSwitchWrappedItemIntoView:t}),l={"--overflow-container-height":`${e}px`};return(0,gt.jsxs)("div",{className:`${lr}-wrapContainer`,ref:a,style:l,children:[o.map((c,u)=>{let{"data-overflow-priority":p="0",id:f,label:d=`Item ${u+1}`}=c.props;return(0,gt.jsx)("div",{className:(0,cr.default)(`${lr}-item`),"data-index":u,"data-label":d,"data-overflow-priority":p,id:`${f}-wrapper`,children:c},u)}),(0,gt.jsx)("div",{className:`${lr}-OverflowIndicator`,"data-index":"overflow",children:(0,gt.jsx)(Ai.PopupMenu,{icon:r,menuBuilder:i,menuActionHandler:s})})]})});Hi.displayName="OverflowContainer.InnerContainer";var Ni=(0,ur.forwardRef)(function({children:e,className:t,height:r=44,onSwitchWrappedItemIntoView:o,overflowIcon:s,...i},a){return(0,gt.jsx)("div",{...i,className:(0,cr.default)((0,cr.default)(lr,t)),ref:a,children:(0,gt.jsx)(Hi,{height:r,overflowIcon:s,onSwitchWrappedItemIntoView:o,children:e})})});var zi=require("@vuu-ui/vuu-utils"),fr=require("@heswell/salt-lab"),po=z(require("classnames")),dr=require("react");var pr=require("react/jsx-runtime"),Vu=n=>{let e=n.cloneNode(!0);return e.id="",delete e.dataset.idx,e},Fi=(0,dr.memo)(({className:n,children:e,idx:t,resizeable:r,header:o,closeable:s,...i})=>(0,pr.jsx)(fr.ListItem,{className:(0,po.default)("vuuPaletteItem",n),"data-draggable":!0,...i}));Fi.displayName="PaletteItem";var $u=({children:n,className:e,orientation:t="horizontal",ViewProps:r,...o})=>{let s=Be(),i="vuuPalette";function a(l){var C;let u=l.target.closest(".vuuPaletteItem"),p=parseInt((C=u.dataset.idx)!=null?C:"-1");p!==-1&&console.log({children:n,idx:p,listItemElement:u});let{props:{caption:f,children:d,template:h,...b}}=n[p],{height:y,left:g,top:v,width:x}=u.getBoundingClientRect(),w=(0,zi.uuid)(),m=h?d:(0,pr.jsx)(kt,{...r,...{id:w,key:w},...b,title:b.label,children:d});s({dragRect:{left:g,top:v,right:g+x,bottom:v+150,width:x,height:y},dragElement:Vu(u),evt:l.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:m,type:"drag-start"})}return(0,pr.jsx)(fr.List,{...o,borderless:!0,className:(0,po.default)(i,e,`${i}-${t}`),maxHeight:800,selected:null,children:n.map((l,c)=>l.type===Fi?(0,dr.cloneElement)(l,{key:c,onMouseDown:a}):l)})};ie("Palette",$u,"view");var _u=require("@vuu-ui/vuu-utils"),fo=require("@heswell/salt-lab"),Bi=z(require("classnames"));var Vi=require("react/jsx-runtime"),Wu="vuuPalette";var Ku=({className:n,...e})=>(0,Vi.jsx)(fo.List,{...e,className:(0,Bi.default)(Wu,n),height:"100%",selectionStrategy:"none"});ie("PaletteSalt",Ku,"view");var _i=z(require("classnames")),bt=z(require("react"));var Pn=require("react/jsx-runtime"),$i="Tabs",Gu=()=>{},Uu=(n,e)=>{var t,r;return(r=(t=n.props)==null?void 0:t.title)!=null?r:`Tab ${e+1}`},Qu=n=>{let e=[];return bt.default.Children.forEach(n,t=>{bt.default.isValidElement(t)?e.push(t):console.warn("Stack has unexpected child element type")}),e},Xu={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},mo=(0,bt.forwardRef)(function({active:e=0,children:t,className:r,getTabIcon:o=Gu,getTabLabel:s=Uu,id:i,keyBoardActivation:a="manual",onAddTab:l,onMoveTab:c,onTabClose:u,onTabEdit:p,onTabSelectionChanged:f,showTabs:d=!0,style:h,TabstripProps:b=Xu},y){var M;let g=Zn(i),{allowCloseTab:v,allowRenameTab:x}=b,w=(0,bt.useCallback)((P,T,R,D)=>{p==null||p(D,T)},[p]),E=()=>{var P;return bt.default.isValidElement(t)?t:Array.isArray(t)&&(P=t[e])!=null?P:null},m=()=>Qu(t).map((P,T)=>{let R=`${g}-${T}`,{closeable:D=v,id:S}=P.props;return(0,Pn.jsx)(Ki,{ariaControls:`${R}-tab`,"data-icon":o(P,T),id:R,index:T,label:s(P,T),closeable:D,editable:x},S!=null?S:T)}),C=E();return(0,Pn.jsxs)("div",{className:(0,_i.default)($i,r,{[`${$i}-horizontal`]:(b==null?void 0:b.orientation)==="vertical"}),style:h,id:g,ref:y,children:[d?(0,Pn.jsx)(Wi,{...b,activeTabIndex:(M=b==null?void 0:b.activeTabIndex)!=null?M:C===null?-1:e,allowDragDrop:b.allowDragDrop!==!1,animateSelectionThumb:!0,className:"vuuTabHeader",keyBoardActivation:a,onActiveChange:f,onAddTab:l,onCloseTab:u,onExitEditMode:w,onMoveTab:c,children:m()}):null,C]})});mo.displayName="Stack";var Gi=require("@salt-ds/core"),yt=z(require("react"));var mr=require("react/jsx-runtime"),Zu=n=>(0,mr.jsx)(kt,{resizeable:!0,title:`Tab ${n}`,style:{flexGrow:1,flexShrink:0,flexBasis:0},header:!0,closeable:!0,children:(0,mr.jsx)(Ur,{style:{flex:1}})}),Ui=n=>{let e=(0,yt.useRef)(null),t=Be(),{loadState:r}=Xt(),{createNewChild:o=Zu,id:s,onTabSelectionChanged:i,path:a,...l}=n,{children:c}=n,u=(0,Gi.useIdMemo)(s),[p]=rr(u,e,a),f=x=>{a&&(t({type:"switch-tab",path:a,nextIdx:x}),i==null||i(x))},d=(0,yt.useCallback)(x=>{if(Array.isArray(c)){let{props:{"data-path":w,path:E=w}}=c[x];t({type:"remove",path:E})}},[c,t]),h=(0,yt.useCallback)(()=>{if(a){let x=yt.default.Children.count(c),w=o(x);t({type:"add",path:a,component:w})}},[c,o,t,a]),b=(0,yt.useCallback)((x,w)=>{a&&t({fromIndex:x,toIndex:w,path:a,type:"move-child"})},[t,a]);return(0,mr.jsx)(mo,{...l,id:u,getTabLabel:(x,w)=>{let{id:E,title:m}=x.props;return r(E,"view-title")||m||`Tab ${w+1}`},onMouseDown:async(x,w)=>{let E;await p({type:"mousedown",index:w,preDragActivity:async()=>new Promise(M=>{console.log("preDragActivity: Ok, gonna release the drag"),E=M})},x)&&(E==null||E(void 0))},onMoveTab:b,onAddTab:h,onTabClose:d,onTabEdit:(x,w)=>{t({type:"set-title",path:`${a}.${x}`,title:w})},onTabSelectionChanged:f,ref:e})};Ui.displayName="Stack";ie("Stack",Ui,"container");var Qi=z(require("react"));var Xi=require("react/jsx-runtime");var Zi=require("@heswell/salt-lab"),Yi=require("react/jsx-runtime");var hr="(\\d+)(?:px)?",Yu=`^(?:${hr}(?:\\s${hr}(?:\\s${hr}(?:\\s${hr})?)?)?)$`,Wv=new RegExp(Yu);var ju=z(require("react")),qu=z(require("classnames"));var Ju=require("@heswell/salt-lab"),ep=require("react/jsx-runtime");var La=require("@salt-ds/core"),ka=z(require("classnames")),tn=z(require("react"));var ye=require("react");var qt=require("react"),op=require("react/jsx-runtime"),tp={isDragSource:!1,isDropTarget:!1,register:()=>{}},np=()=>console.log("have you forgotten to provide a DragDrop Provider ?"),rp=(0,qt.createContext)({registerDragDropParty:np});var ji=n=>{var o,s;let{dragSources:e,dropTargets:t,registerDragDropParty:r}=(0,qt.useContext)(rp);if(n){let i=(o=e==null?void 0:e.has(n))!=null?o:!1,a=(s=t==null?void 0:t.has(n))!=null?s:!1;return{isDragSource:i,isDropTarget:a,register:r}}else return tp};var pe=require("react");var Oe=require("react");var sp=["left","right"],ip=["top","bottom"],gr=":not(.wrapped)",qi=':not([aria-hidden="true"])',Ji=n=>{let e=n.cloneNode(!0);return e.removeAttribute("id"),e.dataset.index="-1",e},ap=(n,e="width",t=!1)=>{let r=e==="width"?"left":"top",{[e]:o,[r]:s}=n.getBoundingClientRect(),{padEnd:i=!1,padStart:a=!1}=n.dataset,l=getComputedStyle(n),[c,u]=e==="width"?sp:ip,p=a&&!t?0:parseInt(l.getPropertyValue(`margin-${c}`),10),f=i&&!t?0:parseInt(l.getPropertyValue(`margin-${u}`),10),d=o;if(parseInt(l.getPropertyValue("flex-shrink"),10)>0){let b=parseInt(l.getPropertyValue("flex-basis"),10);!isNaN(b)&&b>0&&(d=b)}return[s,p+d+f]},lp={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"}},Ie=n=>lp[n],ea=(n,e)=>{let t=n.find(r=>r.id===e);if(t)return t},ta=(n,e)=>{n.splice(e,1);for(let t=e;t<n.length;t++)n[t].currentIndex-=1},Jt=(n,e,t,r,o)=>{var p;let s=[],{DIMENSION:i}=Ie(e),a=Array.from(t?n.querySelectorAll(t):n.children),l=a.length,c=typeof(r==null?void 0:r.from)=="number"?r.atEnd?Math.max(0,r.from-1):r.from:0,u=typeof(r==null?void 0:r.to)=="number"?Math.min(r.to+2,l-1):l-1;for(let f=c;f<=u;f++){let d=a[f],[h,b]=ap(d,i),y=f===l-1,g=d.id,v=parseInt((p=d.dataset.index)!=null?p:"-1");s.push({currentIndex:f,dataIndex:isNaN(v)?-1:v,id:g,index:f,isDraggedItem:o===g,isLast:y,isOverflowIndicator:d.dataset.index==="overflow",element:d,start:h,end:h+b,size:b,mid:h+b/2})}return s},Mn=n=>n.findIndex(e=>e.isDraggedItem),ho=(n,e)=>{let t=Mn(n),r=e==="fwd"?t+1:t-1;if(r<0||r>=n.length)throw Error("switchDropTargetPosition index out of range");let o=n.at(t),s=n.at(r),i=s.size-o.size;if(e==="fwd"){let a=s.start+i,l=s.end,c={...o,start:a,mid:Math.floor(a+(l-a)/2),end:l},u=o.start,p=o.end+i,f={...s,start:u,mid:Math.floor(u+(p-u)/2),end:p};n.splice(t,2,f,c)}else{let a=s.start,l=s.end-i,c={...o,start:a,mid:Math.floor(a+(l-a)/2),end:l},u=o.start-i,p=o.end,f={...s,start:u,mid:Math.floor(u+(p-u)/2),end:p};n.splice(r,2,c,f)}},en=(n,e,t)=>{let r=n.length,o=Mn(n),s=n[o];if(t==="fwd"){let i=Math.round(e+s.size);for(let a=r-1;a>=0;a--){let l=n[a];if(i>l.mid)return a<o?s:l}}else{let i=Math.round(e);for(let a=0;a<r;a++){let l=n[a];if(i<l.mid)return a>o?s:l}}throw Error("no dropTraget identified")};function na(n,e){let{height:t,left:r,top:o,width:s}=n,{height:i,width:a}=e;return{height:Math.min(t,i),left:r,top:o,width:Math.min(s,a)}}var ra=require("@salt-ds/core");var br=require("react"),oa=require("@vuu-ui/vuu-popups");var go=require("react/jsx-runtime"),cp=n=>n.split(" ").map(e=>`vuuDraggable-${e}`),yr=(0,br.forwardRef)(function({wrapperClassName:e,element:t,onTransitionEnd:r,style:o,scale:s=1},i){let a=(0,br.useCallback)(c=>{c&&(c.innerHTML="",c.appendChild(t),s!==1&&(c.style.transform=`scale(${s},${s})`))},[t,s]),l=(0,ra.useForkRef)(i,a);return(0,go.jsx)(oa.Portal,{children:(0,go.jsx)("div",{className:Un("vuuDraggable",...cp(e)),ref:l,onTransitionEnd:r,style:o})})}),bo=n=>{let e=document.createElement("div");return e.className="vuuDraggable-spacer",n&&e.addEventListener("transitionend",()=>{n.current=!1}),e},sa=()=>{let n=document.createElement("div");return n.className="vuuDraggable-dropIndicatorPosition",n},ia=n=>{let e=document.createElement("div");return e.className="vuuDraggable-dropIndicator",n&&e.addEventListener("transitionend",()=>{n.current=!1}),e};var aa=()=>{let n=(0,Oe.useRef)(0),e=(0,Oe.useRef)(!1),t=(0,Oe.useMemo)(()=>[bo(e),bo()],[]),r=(0,Oe.useCallback)(()=>t.forEach(c=>c.remove()),[t]),o=(0,Oe.useCallback)((c,u="width")=>{let[p,f]=t;n.current=requestAnimationFrame(()=>{e.current=!0,p.style.cssText=`${u}: 0px`,f.style.cssText=`${u}: ${c}px`,t[0]=f,t[1]=p})},[t]),s=(0,Oe.useCallback)(()=>{n.current&&(cancelAnimationFrame(n.current),n.current=0)},[]),i=(0,Oe.useCallback)(()=>{r()},[r]),a=(0,Oe.useCallback)((c,u,p,f=!1,d="static",h="horizontal")=>{if(u){let b=h==="horizontal"?"width":"height",[y,g]=t;if(s(),f)e.current?(r(),y.style.cssText=`${b}: ${p}px`,g.style.cssText=`${b}: 0px`,d==="fwd"?(u.element.before(y),u.element.after(g)):(u.element.after(y),u.element.before(g))):d==="fwd"?u.element.after(g):u.element.before(g),o(p,b);else if(d==="static")y.style.cssText=`${b}: ${p}px`,u.element.before(y);else throw Error("useDragDisplacers currently only supports noTransition for static displacement");d!=="static"&&ho(c,d)}},[o,s,r,t]),l=(0,Oe.useCallback)((c,u,p,f=!1,d="static",h="horizontal")=>{let b=h==="horizontal"?"width":"height",[y,g]=t;s(),f?(e.current?(r(),y.style.cssText=`${b}: ${p}px`,g.style.cssText=`${b}: 0px`,u.element.before(y),u.element.after(g)):d==="fwd"?u.element.after(g):u.element.before(g),o(p,b)):(y.style.cssText=`${b}: ${p}px`,u.element.after(y)),d!=="static"&&ho(c,d)},[o,s,r,t]);return{clearDisplacedItem:i,displaceItem:a,displaceLastItem:l,clearSpacers:r}};var la=({draggableRef:n,onDrop:e,orientation:t="horizontal",containerRef:r,itemQuery:o="*",selected:s,viewportRange:i})=>{let a=(0,pe.useRef)(),l=(0,pe.useRef)(!1),c=(0,pe.useRef)(-1),u=(0,pe.useRef)([]),p=(0,pe.useRef)(!1),[f,d]=(0,pe.useState)(!1),{clearDisplacedItem:h,clearSpacers:b,displaceItem:y,displaceLastItem:g}=aa(),v=(0,pe.useRef)(),x=`:is(${o}${gr}${qi},.vuuOverflowContainer-OverflowIndicator)`,w=S=>u.current.findIndex(I=>I.id===S.id),E=(0,pe.useRef)();E.current=i;let m=(0,pe.useCallback)(()=>{h()},[h]),C=(0,pe.useCallback)((S,I,k)=>{let{current:L}=r,{current:A}=v;if(L&&A){u.current=Jt(L,t,x,E.current);let{size:O}=A,V=c.current+O/2,{current:F}=u,W=en(F,V,"fwd");if(W){let _=w(W),J=F[_];k&&S==="fwd"?g(F,F[F.length-1],O,!1,"static",t):y(F,J,O,!0,"static",t)}}},[r,y,g,x,t]),M=(0,pe.useCallback)(S=>{let k=S.target.closest(o);k.ariaSelected&&Array.isArray(s)&&s.length>1&&console.log("its a selected element, and we have a multi select");let{current:L}=r;if(L&&k){let{SCROLL_SIZE:A,CLIENT_SIZE:O}=Ie(t),{id:B}=k,{[A]:V,[O]:F}=L;l.current=V>F;let W=u.current=Jt(L,t,x,i,B);console.log({dropTargets:W});let Y=Mn(W),_=W[Y];_&&L&&(v.current=_,(_.isLast?g:y)(W,_,_.size,!1,"static",t))}},[r,y,g,x,o,t,s,i]),[P,T]=(0,pe.useMemo)(()=>{let S=!1;return[L=>{if(!S){S=!0;let A=L.element.querySelector(".vuuPopupMenu");if(A){let O=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});A.dispatchEvent(O)}}},L=>{if(S){S=!1;let A=L.element.querySelector(".vuuPopupMenu");if(A){let O=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});A.dispatchEvent(O)}}}]},[]),R=(0,pe.useCallback)((S,I)=>{let{current:k}=v;if(k&&n.current&&r.current){c.current=S;let{current:L}=u,A=en(L,S,I);if(A&&!A.isDraggedItem)if(A.isOverflowIndicator)d(p.current=!0),P(A);else{let{size:O}=k;(w(A)===L.length-1?g:y)(L,A,O,!0,I,t);let F=L.at(-1);T(F),d(p.current=!1)}a.current=I}},[r,y,g,n,T,t,P]),D=(0,pe.useCallback)(()=>{var L;b();let{current:S}=u,I=Mn(S),k=S[I];if(k&&(a.current=void 0,p.current?e(k.index,-1):e(k.index,I)),d(!1),r.current){let A=(L=r.current)==null?void 0:L.scrollTop;I<S.length&&(r.current.scrollTop=A)}},[b,r,e]);return{beginDrag:M,drag:R,drop:D,handleScrollStart:m,handleScrollStop:C,revealOverflowedItems:f}};var ae=require("react");var Ln=require("react");var ca=()=>{let n=(0,Ln.useMemo)(()=>sa(),[]),e=(0,Ln.useCallback)(()=>n.remove(),[n]);return{positionDropIndicator:(0,Ln.useCallback)((r,o="end")=>(o==="end"?r.element.after(n):r.element.before(n),n),[n]),clearSpacer:e}};var pa=require("react/jsx-runtime"),up=':not([data-overflowed="true"])',pp=':not([aria-hidden="true"])',ua=({draggableRef:n,onDrop:e,orientation:t="horizontal",containerRef:r,itemQuery:o="*",selected:s,viewportRange:i})=>{let a=(0,ae.useRef)(),l=(0,ae.useRef)(null),c=(0,ae.useRef)(null),u=(0,ae.useRef)(""),p=(0,ae.useRef)(!1),f=(0,ae.useRef)(-1),d=(0,ae.useRef)([]),h=(0,ae.useRef)(!1),[b,y]=(0,ae.useState)(!1),[g,v]=(0,ae.useState)(),{clearSpacer:x,positionDropIndicator:w}=ca(),E=(0,ae.useRef)(),m=`:is(${o}${up}${pp},[data-overflow-indicator])`,C=k=>d.current.findIndex(L=>L.id===k.id),M=(k,L,A)=>{k.start+=L,k.mid+=L,k.end+=L,typeof A=="number"&&(k.currentIndex+=A)},P=(0,ae.useRef)();P.current=i;let T=(0,ae.useCallback)(()=>{x()},[x]),R=(0,ae.useCallback)((k,L,A)=>{let{current:O}=r,{current:B}=E;if(O&&B){d.current=Jt(O,t,m,P.current);let{size:V}=B,W=f.current+V/2,{current:Y}=d,_=en(Y,W,"fwd");_&&w(A&&k==="fwd"?Y[Y.length-1]:_,"start")}},[r,w,m,t]),D=(0,ae.useCallback)(k=>{let A=k.target.closest(o);A.ariaSelected&&Array.isArray(s)&&s.length>1&&console.log("its a selected element, and we have a multi select");let{current:O}=r;if(O&&A){let{SCROLL_SIZE:B,CLIENT_SIZE:V}=Ie(t),{id:F}=A,{[B]:W,[V]:Y}=O;p.current=W>Y;let _=d.current=Jt(O,t,m,i),J=ea(_,F);if(J&&O){let H=C(J);ta(_,H),E.current=J;let{current:N}=P;if(N!=null&&N.atEnd)for(let j=0;j<_.length;j++)M(_[j],J.size);for(let j=H;j<_.length;j++)M(_[j],-J.size,-1);let[X,he]=J.isLast?[_[_.length-1],"end"]:[_[H],"start"];c.current=X,u.current=he;let Xe=w(X,he),{top:G,left:U,width:oe}=Xe.getBoundingClientRect(),ne={top:J.isLast?N!=null&&N.atEnd&&!N.atStart?G+J.size-2:G-2:G-J.size-2,left:U,width:oe,height:2};v((0,pa.jsx)(yr,{wrapperClassName:"dropIndicatorContainer",style:ne,ref:l,element:ia()}))}}},[o,s,r,t,m,i,w]),S=(0,ae.useCallback)((k,L)=>{let{current:A}=c,{current:O}=E;if(O&&n.current&&r.current){let B=t==="horizontal"?"left":"top";f.current=k;let{current:V}=d,F=en(V,k,L);if(F&&F.index!==(A==null?void 0:A.index)){if(F.isOverflowIndicator)y(h.current=!0);else if(l.current){if(C(F)===V.length-1){let Y=V[V.length-1],J=w(Y,"start").getBoundingClientRect();l.current.style[B]=`${J.top}px`}else{let _=w(F,"start").getBoundingClientRect();l.current.style[B]=`${_.top}px`}y(h.current=!1)}c.current=F,a.current=L}}},[n,r,t,w]),I=(0,ae.useCallback)(()=>{x();let{current:k}=E,{current:L}=c,{current:A}=u,{current:O}=P;if(k&&O&&L){let{index:B}=k,V=A==="start",{index:F,currentIndex:W}=L;c.current=null,a.current=void 0,h.current?e(B,-1):B<F?e(B,V?W:W+1):e(B,V?F:F+1),v(void 0)}y(!1)},[x,e]);return{beginDrag:D,drag:S,drop:I,dropIndicator:g,handleScrollStart:T,handleScrollStop:R,revealOverflowedItems:b}};var Q=require("react");var xt=require("react");var fa=({containerRef:n,onScrollingStopped:e,orientation:t="vertical"})=>{let r=(0,xt.useRef)(null),o=(0,xt.useRef)(!1),s=(0,xt.useRef)(0),i=(0,xt.useRef)("fwd"),a=(0,xt.useCallback)((c=!1)=>{console.log("[useAutoScroll] stopScrolling"),r.current!==null&&(clearTimeout(r.current),r.current=null),o.current=!1,e==null||e(i.current,s.current,c)},[e]),l=(0,xt.useCallback)((c,u,p=30)=>{let{current:f}=n;if(f){let{SCROLL_POS:d,SCROLL_SIZE:h,CLIENT_SIZE:b}=Ie(t),{[d]:y,[h]:g,[b]:v}=f,x=c==="fwd"?g-v-y:y,w=Math.min(x,p);c==="fwd"?(i.current="fwd",f[d]=s.current=y+w):(i.current="bwd",f[d]=s.current=y-w),w===x?a(!0):(o.current=!0,r.current=window.setTimeout(()=>{l(c,u,p)},100))}},[n,t,a]);return{isScrolling:o,startScrolling:l,stopScrolling:a}};var ha=require("react/jsx-runtime"),fp={beginDrag:()=>{},drag:()=>{},draggableRef:{current:null},drop:()=>{},isDragging:!1,isScrolling:!1,handleScrollStart:()=>{},handleScrollStop:()=>{},revealOverflowedItems:!1},da={start:0,end:1e3,contraStart:0,contraEnd:1e3},dp=()=>fp,mp=3,hp=(n,e)=>n.closest(e),gp=n=>n.dataset.index==="overflow"&&n.parentElement!==null&&n.parentElement.classList.contains("overflowed"),bp=(n,e)=>{let t=`:is(${e}${gr},.vuuOverflowContainer-OverflowIndicator)`,o=Array.from(n.querySelectorAll(t)).pop();return[o,gp(o)]},ma=({allowDragDrop:n,containerRef:e,draggableClassName:t,itemQuery:r="*",onDragStart:o,onDrop:s,onDropSettle:i,orientation:a,...l})=>{let c=(0,Q.useRef)({start:0,end:0,contraStart:0,contraEnd:0}),[u,p]=(0,Q.useState)({draggable:void 0,draggedItemIndex:-1,isDragging:!1}),f=(0,Q.useRef)(null),d=(0,Q.useRef)(),h=(0,Q.useRef)(null),b=(0,Q.useRef)(!1),y=(0,Q.useRef)({x:0,y:0}),g=(0,Q.useRef)({x:0,y:0}),v=(0,Q.useRef)({x:0,y:0}),x=(0,Q.useRef)(null),w=(0,Q.useRef)(-1),E=(0,Q.useRef)(-1),m=(0,Q.useRef)(),{isDragSource:C,isDropTarget:M,register:P}=ji(l.id);l.id&&(C||M)&&P(l.id);let T=(0,Q.useCallback)(()=>{var oe;let{current:G}=E,U=(oe=e.current)==null?void 0:oe.querySelector(`${r}[data-index="${G}"]`);U&&U.classList.remove("vuuDropTarget-settling"),E.current=-1,i==null||i(G),p(ne=>({...ne,draggable:void 0}))},[e,r,i]),R=(0,Q.useCallback)(G=>{if(e.current){let{POS:U,SCROLL_POS:oe,SCROLL_SIZE:ne,CLIENT_SIZE:j}=Ie(a),{[oe]:$,[ne]:q,[j]:ce}=e.current,ee=q-ce,ge=$<ee,De=c.current.end,be=$>0&&G-y.current[U]<=c.current.start,Se=ge&&G-y.current[U]>=De;return be?"bwd":Se?"fwd":""}},[e,a]),D=n===!0||n==="natural-movement"?la:n==="drop-indicator"?ua:dp,S=(0,Q.useCallback)((G,U,oe)=>{var ne;(ne=m.current)==null||ne.call(m,G,U,oe)},[]),{isScrolling:I,startScrolling:k,stopScrolling:L}=fa({containerRef:e,onScrollingStopped:S,orientation:a}),A=(0,Q.useCallback)((G,U)=>{w.current=U,s==null||s(G,U),E.current=U},[s]),{beginDrag:O,drag:B,drop:V,handleScrollStart:F,handleScrollStop:W,...Y}=D({...l,containerRef:e,draggableRef:f,isDragSource:C,isDropTarget:M,itemQuery:r,onDrop:A,orientation:a});m.current=W;let _=(0,Q.useCallback)(G=>{let{CLIENT_POS:U,CONTRA_CLIENT_POS:oe,CONTRA_POS:ne,POS:j}=Ie(a),{clientX:$,clientY:q}=G,{[U]:ce,[oe]:ee}=G,ge=g.current[j],De=g.current[ne],be=Math.abs(ge-ce);if((C?Math.abs(De-ee):0)-be>5&&(c.current=da),g.current.x=$,g.current.y=q,c.current===da&&f.current){let Dt=g.current.x-y.current.x,Je=g.current.y-y.current.y;f.current.style.top=`${Je}px`,f.current.style.left=`${Dt}px`}else if(be>0&&f.current){let Dt=ge<ce?"fwd":"bwd",Je=R(ce),bn=g.current[j]-y.current[j];if(Je&&b.current&&!I.current?(F(),k(Je,1)):!Je&&I.current&&L(),!I.current){let _t=Math.round(Math.max(c.current.start,Math.min(c.current.end,bn))),He=a==="horizontal"?"left":"top";f.current.style[He]=`${_t}px`,B(_t,Dt)}}},[B,f,R,F,C,I,a,k,L]),J=(0,Q.useCallback)(()=>{document.removeEventListener("mousemove",_,!1),document.removeEventListener("mouseup",J,!1),x.current=f.current,V(),p(G=>({...G,draggedItemIndex:-1,isDragging:!1})),d.current=void 0},[_,f,V]),H=(0,Q.useCallback)(G=>{let{clientX:U,clientY:oe,target:ne}=G,j=hp(ne,r),{current:$}=e;if($&&j){let{CONTRA:q,CONTRA_END:ce,DIMENSION:ee,END:ge,SCROLL_SIZE:De,CLIENT_SIZE:be,START:Se}=Ie(a);d.current=j;let{[De]:Dt,[be]:Je}=$;b.current=Dt>Je;let[bn,_t]=bp($,r),He=$.getBoundingClientRect(),Wt=j.getBoundingClientRect(),yn=Wt[ee],{[Se]:tc,[ge]:nc}=bn.getBoundingClientRect();y.current.x=U-Wt.left,y.current.y=oe-Wt.top,c.current.start=He[Se],c.current.end=_t?Math.max(tc,He.right-yn):b.current?He[Se]+He[ee]-yn:nc-yn,c.current.contraStart=He[q],c.current.contraEnd=He[ce],O(G);let{dataset:{index:rc="-1"}}=j;p({isDragging:!0,draggable:(0,ha.jsx)(yr,{element:Ji(j),onTransitionEnd:T,ref:f,style:na(Wt,He),wrapperClassName:t}),draggedItemIndex:parseInt(rc)}),o==null||o(),document.addEventListener("mousemove",_,!1),document.addEventListener("mouseup",J,!1)}},[O,e,_,J,t,f,r,o,a,T]),N=(0,Q.useCallback)(G=>{let{CLIENT_POS:U,POS:oe}=Ie(a),{[U]:ne}=G;Math.abs(ne-v.current[oe])>mp&&e.current&&(h.current&&(window.clearTimeout(h.current),h.current=null),document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",X,!1),H(G))},[e,O,a]),X=(0,Q.useCallback)(()=>{h.current&&(window.clearTimeout(h.current),h.current=null),document.removeEventListener("mousemove",N,!1),document.removeEventListener("mouseup",X,!1)},[N]),he=(0,Q.useCallback)(G=>{console.log("useDragDropNext onMouseDown");let{current:U}=e;if(U&&!G.defaultPrevented){let{clientX:oe,clientY:ne}=G;g.current.x=v.current.x=oe,g.current.y=v.current.y=ne,document.addEventListener("mousemove",N,!1),document.addEventListener("mouseup",X,!1),G.persist(),h.current=window.setTimeout(()=>{document.removeEventListener("mousemove",N,!1),document.removeEventListener("mouseup",X,!1),H(G.nativeEvent)},500)}},[e,H,N,X]),{current:Xe}=x;return(0,Q.useLayoutEffect)(()=>{if(Xe&&e.current){let G=w.current,U=e.current.querySelector(`${r}[data-index="${G}"]`);U?(U.classList.add("vuuDropTarget-settling"),requestAnimationFrame(()=>{let{top:oe,left:ne}=U.getBoundingClientRect(),{top:j,left:$}=Xe.getBoundingClientRect();$!==ne||j!==oe?(Xe.classList.add("vuuDraggable-settling"),Xe.style.top=`${oe}px`,Xe.style.left=`${ne}px`):T()})):console.log(`dont have the dropped item (at ${G})`),x.current=null}},[e,r,Xe,T]),{...Y,...u,isScrolling:I,onMouseDown:n?he:void 0}};var ga=n=>typeof n=="object"&&n!==null&&"tabIndex"in n&&typeof n.tabIndex=="number",ba=n=>({label:"Close",location:"tab",action:"close-tab",options:n}),ya=n=>({label:"Rename",location:"tab",action:"rename-tab",options:n});var yp=n=>{if(n){let e=parseInt(n.dataset.index||"");if(!isNaN(e))return e}return-1},xa=(n,e)=>{if(n){let t=n.querySelector(`[data-index]:has(${e})`);return yp(t)}return-1},yo=n=>xa(n,'[aria-selected="true"]'),va=n=>xa(n,".vuuEditableLabel-editing");var ot=require("react"),wa=(n,e)=>{let t=(0,ot.useRef)(!1),r=(0,ot.useCallback)(()=>{t.current=!0},[]),o=(0,ot.useCallback)(()=>{t.current=!1},[]),s=(0,ot.useCallback)(()=>{var a,l;(a=n.current)==null||a.style.setProperty("--tab-thumb-transition","none"),(l=n.current)==null||l.removeEventListener("transitionend",s)},[n]),i=(0,ot.useRef)(-1);return(0,ot.useMemo)(()=>{var c,u;let a=0,l=0;if(i.current!==-1){let p=(c=n.current)==null?void 0:c.querySelector(".vuuTab-selected"),f=(u=n.current)==null?void 0:u.querySelector(`[data-index="${e}"] .vuuTab`);if(p&&f&&!t.current){let{left:d,width:h}=p.getBoundingClientRect(),{left:b}=f.getBoundingClientRect();a=d-b,l=h;let y=Math.abs(a/1100);requestAnimationFrame(()=>{var g,v,x,w;(g=n.current)==null||g.style.setProperty("--tab-thumb-offset","0px"),(v=n.current)==null||v.style.setProperty("--tab-thumb-width","100%"),(x=n.current)==null||x.style.setProperty("--tab-thumb-transition",`all ${y}s ease`),(w=n.current)==null||w.addEventListener("transitionend",s)})}}return i.current=e,t.current?{containerStyle:{"--tab-thumb-offset":"0px","--tab-thumb-width":"100%"},resumeAnimation:o,suspendAnimation:r}:{containerStyle:{"--tab-thumb-offset":`${a}px`,"--tab-thumb-width":l?`${l}px`:void 0},resumeAnimation:o,suspendAnimation:r}},[e,o,r,n,s])};var Ca=require("@salt-ds/core"),Ea=require("@vuu-ui/vuu-utils"),fe=require("react"),Te=require("@vuu-ui/vuu-utils");var Ra={horizontal:{[Te.Home]:"start",[Te.End]:"end",[Te.ArrowLeft]:"bwd",[Te.ArrowRight]:"fwd"},vertical:{[Te.Home]:"start",[Te.End]:"end",[Te.ArrowUp]:"bwd",[Te.ArrowDown]:"fwd"}},xp=(n,e="horizontal")=>Ra[e][n]!==void 0,vp=n=>n===Te.ArrowDown;function Ta(n,e,t){return e==="start"?0:e==="end"?n-1:e==="bwd"?t>0?t-1:t:t===null?0:t===n-1?t:t+1}var wp=n=>n!==null&&!n.classList.contains("wrapped"),xr=(n,e)=>n?n.querySelector(`[data-index="${e}"]`):null,Da=({containerRef:n,defaultHighlightedIdx:e=-1,highlightedIdx:t,keyBoardActivation:r,orientation:o,selectedIndex:s=0})=>{let i=r==="manual",a=(0,fe.useRef)(!1),l=(0,fe.useRef)(-1),[c,u]=(0,fe.useState)(!1),[,p]=(0,fe.useState)({}),[f,d]=(0,Ca.useControlled)({controlled:t,default:e,name:"UseKeyboardNavigation"}),h=(0,fe.useCallback)(D=>{d(l.current=D)},[d]),b=(0,fe.useRef)(!1),y=(0,fe.useCallback)((D,S=!1,I,k=70)=>{h(D),I===!0&&!b.current&&(b.current=!0);let L=()=>{let A=xr(n.current,D);if(A){let O=(0,Ea.getFocusableElement)(A);O==null||O.focus()}};S?L():setTimeout(L,k)},[n,h]),g=D=>{if(console.log("ONFOCUS"),l.current===-1&&D.target.tabIndex!==-1){let S=va(n.current);S!==-1?requestAnimationFrame(()=>{h(S)}):setTimeout(()=>{l.current===-1&&s!==null&&h(s)},200)}},v=(0,fe.useCallback)(()=>{var D,S;return(S=(D=n.current)==null?void 0:D.querySelectorAll("[data-index]").length)!=null?S:0},[n]),x=(0,fe.useCallback)((D="fwd",S)=>{let I=v(),L=Ta(I,D,typeof S=="number"?S:I),A=D==="start"?"fwd":D==="end"?"bwd":D;for(;(A==="fwd"&&L<I||A==="bwd"&&L>0)&&!wp(xr(n.current,L));){let O=Ta(I,A,L);if(O===L)break;L=O}return L},[n,v]),w=(0,fe.useCallback)((D,S=!1)=>{let I=Ra[o][D.key],k=x(I,f);k!==f?i&&y(k,!0):S&&p({})},[f,i,x,y,o]),E=(0,fe.useCallback)(()=>{let D=xr(n.current,f);return D?D.querySelector(".vuuPopupMenu")!=null:!1},[n,f]),m=(0,fe.useCallback)(()=>{let D=xr(n.current,f),S=D==null?void 0:D.querySelector(".vuuPopupMenu");if(S){let I=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});S.dispatchEvent(I)}return!1},[n,f]),C=(0,fe.useCallback)(D=>{v()>0&&xp(D.key,o)?(D.preventDefault(),b.current?w(D):(b.current=!0,w(D,!0))):vp(D.key)&&E()&&m()},[m,v,E,w,o]),M=(D,S)=>{h(S)},P=(0,fe.useCallback)(()=>{c||(u(!0),a.current?a.current=!1:b.current=!0)},[c]),T=(0,fe.useCallback)(()=>{c||(a.current=!0),b.current=!1},[c]);return{containerProps:{onBlur:D=>{let S=D.target.closest(".vuuTabstrip"),I=D.relatedTarget;S&&!(S!=null&&S.contains(I))&&(h(-1),u(!1))},onMouseDownCapture:T,onFocus:P,onMouseLeave:()=>{b.current=!0,h(-1),a.current=!1}},focusVisible:b.current?f:-1,focusIsWithinComponent:c,highlightedIdx:f,focusTab:y,onClick:M,onFocus:g,onKeyDown:C,setHighlightedIdx:h}};var Sa=require("@salt-ds/core"),kn=require("react"),Tp=["Enter"," "],Cp=n=>n&&n.matches('[class*="vuuTab "]'),Pa=({defaultSelected:n,highlightedIdx:e,onSelectionChange:t,selected:r})=>{let[o,s,i]=(0,Sa.useControlled)({controlled:r,default:n!=null?n:0,name:"Tabstrip",state:"value"}),a=(0,kn.useCallback)(p=>Tp.includes(p.key),[]),l=(0,kn.useCallback)(p=>{s(p),t==null||t(p)},[t,s]),c=(0,kn.useCallback)(p=>{let f=p.target;a(p)&&e!==o&&Cp(f)&&(p.stopPropagation(),p.preventDefault(),l(e))},[a,e,o,l]),u=(0,kn.useCallback)((p,f)=>{f!==o&&l(f)},[l,o]);return{activateTab:l,isControlled:i,onClick:u,onKeyDown:c,selected:o}};var Ep=new Set(["Enter"," "]),Rp=n=>Ep.has(n),Dp=(n,e)=>n?n.querySelector(`[data-index="${e}"]`):null,Ma=({activeTabIndex:n,allowDragDrop:e,animateSelectionThumb:t,containerRef:r,onActiveChange:o,onAddTab:s,onCloseTab:i,onExitEditMode:a,onMoveTab:l,orientation:c,keyBoardActivation:u})=>{let p=(0,ye.useRef)(n),{focusTab:f,highlightedIdx:d,onClick:h,onKeyDown:b,setHighlightedIdx:y,...g}=Da({containerRef:r,keyBoardActivation:u,orientation:c,selectedIndex:p.current}),{activateTab:v,onClick:x,onKeyDown:w,selected:E}=Pa({highlightedIdx:d,onSelectionChange:o,selected:n});p.current=E;let{containerStyle:m,resumeAnimation:C,suspendAnimation:M}=wa(r,t?E:-1),P=(0,ye.useCallback)((H,N)=>{let{current:X}=p;console.log(`useTabstrip handleDrop ${H} - ${N} ${X}`),l==null||l(H,N);let he=-1;N!==-1&&(X===H?he=N:H>X&&N<=X?he=X+1:H<X&&N>=X&&(he=X-1),he!==-1&&(M(),v(he),requestAnimationFrame(C)),f(N,!1,!1,350))},[f,l,C,v,M]),{onMouseDown:T,...R}=ma({allowDragDrop:e,containerRef:r,draggableClassName:`tabstrip-${c}`,onDrop:P,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"}),D=(0,ye.useCallback)((H,N,X,he)=>{console.log(`handleExitEditMode ${H} ${N} ${X} ${he}`),a==null||a(H,N,X,he),X||f(he,!1,!0)},[f,a]),S=(0,ye.useCallback)((H,N)=>{h(H,N),x(H,N)},[h,x]),I=(0,ye.useCallback)((H=d)=>{let N=Dp(r.current,H);if(N)return N.querySelector(".vuuEditableLabel")},[r,d]),k=(0,ye.useCallback)((H=d)=>{let N=I(H);return N?N.classList.contains("vuuEditableLabel-editing"):!1},[I,d]),L=(0,ye.useCallback)((H=d)=>{let N=I(H);if(N){let X=new MouseEvent("dblclick",{view:window,bubbles:!0,cancelable:!0});N.dispatchEvent(X)}},[I,d]),A=(0,ye.useCallback)(H=>{b(H),H.defaultPrevented||w(H),!H.defaultPrevented&&Rp(H.key)&&L()},[L,b,w]),O=(0,ye.useCallback)(H=>{let N=yo(r.current),X=N>H?N-1:N===H?0:N;return M(),i==null||i(H,X),setTimeout(()=>{C()},200),!0},[r,i,C,M]),B=(0,ye.useCallback)(H=>(L(H),!0),[L]),V=(0,ye.useCallback)(H=>{if(ga(H.options))switch(H.menuId){case"close-tab":return O(H.options.tabIndex);case"rename-tab":return B(H.options.tabIndex);default:console.log(`tab menu action ${H.menuId}`)}return!1},[O,B]),F=(0,ye.useCallback)(()=>{k()?y(d):f(d)},[d,f,y,k]),W=(0,ye.useCallback)(H=>{let N=parseInt(H.index);isNaN(N)||v(N)},[v]),Y={onFocus:g.onFocus,onKeyDown:A},_=(0,ye.useCallback)(()=>{s==null||s(),requestAnimationFrame(()=>{let H=yo(r.current);H!==-1&&f(H)})},[r,f,s]),J={onClick:S,onKeyDown:A,onExitEditMode:D,onMenuAction:V,onMenuClose:F,onMouseDown:T};return{activeTabIndex:E,containerStyle:m,focusVisible:g.focusVisible,containerProps:{...g.containerProps,onSwitchWrappedItemIntoView:W},navigationProps:Y,onClickAddTab:_,tabProps:J,...R}};var nn=require("react/jsx-runtime"),Ia=require("react"),xo="vuuTabstrip",Wi=({activeTabIndex:n,allowAddTab:e,allowCloseTab:t,allowDragDrop:r=!1,allowRenameTab:o=!1,animateSelectionThumb:s=!1,children:i,className:a,id:l,keyBoardActivation:c="manual",location:u,onActiveChange:p,onAddTab:f,onCloseTab:d,onExitEditMode:h,onMoveTab:b,orientation:y="horizontal",showTabMenuButton:g,style:v,...x})=>{let w=(0,tn.useRef)(null),{activeTabIndex:E,focusVisible:m,containerStyle:C,draggedItemIndex:M,onClickAddTab:P,tabProps:T,...R}=Ma({activeTabIndex:n,allowDragDrop:r,animateSelectionThumb:s,containerRef:w,keyBoardActivation:c,onActiveChange:p,onAddTab:f,onCloseTab:d,onExitEditMode:h,onMoveTab:b,orientation:y}),D=Zn(l),S=(0,ka.default)(xo,`${xo}-${y}`,a),I=v||C?{...v,...C}:void 0,k=(0,tn.useMemo)(()=>Ut(i).map((L,A)=>{let{id:O=`${D}-tab-${A}`,closeable:B=t,editable:V=o,showMenuButton:F=g}=L.props,W=A===E;return tn.default.cloneElement(L,{...T,...R.navigationProps,closeable:B,"data-overflow-priority":W?"1":void 0,dragging:M===A,editable:V,focusVisible:m===A,id:O,index:A,location:u,selected:W,showMenuButton:F,tabIndex:W?0:-1})}).concat(e?(0,Ia.createElement)(La.Button,{...R.navigationProps,"aria-label":"Create Tab",className:`${xo}-addTabButton`,"data-icon":"add","data-overflow-priority":"1",key:"addButton",onClick:P,variant:"secondary",tabIndex:-1}):[]),[E,e,t,o,i,m,D,u,P,g,T,M,R.navigationProps]);return(0,nn.jsxs)(nn.Fragment,{children:[(0,nn.jsx)(Ni,{...x,...R.containerProps,className:S,height:28,id:D,overflowIcon:"more-horiz",ref:w,style:I,children:k}),R.draggable]})};var Ba=require("@salt-ds/core"),Va=z(require("classnames")),At=require("react");var Oa=require("@vuu-ui/vuu-popups"),Aa=require("react"),Ha=z(require("classnames"));var za=require("react/jsx-runtime"),Sp="vuuTabMenu",Na=({allowClose:n,allowRename:e,location:t,onMenuAction:r,onMenuClose:o,index:s})=>{let[i,a]=(0,Aa.useMemo)(()=>[(l,c)=>{let u=[];return e&&u.push(ya(c)),n&&u.push(ba(c)),u},{tabIndex:s}],[n,e,s]);return(0,za.jsx)(Oa.PopupMenu,{className:Sp,menuBuilder:i,menuActionHandler:r,menuLocation:(0,Ha.default)("tab",t),menuOptions:a,onMenuClose:o,tabIndex:-1})};var Ot=require("react/jsx-runtime"),It="vuuTab",Fa=()=>{},Ki=(0,At.forwardRef)(function({ariaControls:e,children:t,className:r,closeable:o=!1,dragging:s,editable:i=!1,editing:a,focusVisible:l,index:c,label:u,location:p,onClick:f,onClose:d,onEnterEditMode:h=Fa,onExitEditMode:b=Fa,onFocus:y,onKeyUp:g,onMenuAction:v,onMenuClose:x,orientation:w,selected:E,showMenuButton:m=o||i,tabIndex:C,...M},P){if(m&&typeof v!="function")throw Error("Tab onMenuAction must be provided if showMenuButton is set");let T=(0,At.useRef)(null),R=(0,At.useRef)(null),D=(0,Ba.useForkRef)(P,T),S=(0,At.useCallback)(O=>{a||(O.preventDefault(),f==null||f(O,c))},[a,c,f]),I=(O="",B="",V=!0)=>b(O,B,V,c),k=O=>{switch(O.key){case"Backspace":case"Delete":o&&(O.stopPropagation(),d&&d(c));break;default:g&&g(O,c)}},L=()=>i?(0,Ot.jsx)(Gt,{editing:a,defaultValue:u,onEnterEditMode:h,onExitEditMode:I,ref:R},u):u,A=O=>{if(R.current){let V=R.current.querySelector(".vuuEditableLabel-input");V==null||V.focus()}y==null||y(O)};return(0,Ot.jsxs)("div",{...M,"aria-controls":e,"aria-selected":E,className:(0,Va.default)(It,{[`${It}-closeable`]:o,"vuuDraggable-dragAway":s,[`${It}-editing`]:a,[`${It}-selected`]:E||void 0,[`${It}-vertical`]:w==="vertical",saltFocusVisible:l}),onClick:S,onFocus:A,onKeyUp:k,ref:D,role:"tab",tabIndex:C,children:[(0,Ot.jsx)("div",{className:`${It}-main`,children:(0,Ot.jsx)("span",{className:`${It}-text`,"data-text":i?void 0:u,children:t!=null?t:L()})}),m?(0,Ot.jsx)(Na,{allowClose:o,allowRename:i,location:p,onMenuAction:v,onMenuClose:x,index:c}):null]})});var _a=z(require("classnames")),st=require("react");var In=require("react/jsx-runtime"),{KEY:$a}=vr.metadataKeys,vo=(0,st.memo)(({className:n,column:e,columnMap:t,onClick:r,row:o})=>{let s=(0,st.useRef)(null),{align:i,CellRenderer:a,key:l,pin:c,editable:u,resizing:p,valueFormatter:f}=e,[d,h]=(0,st.useState)(!1),b=f(o[l]),[y,g]=(0,st.useState)(b),v=()=>{var P;(P=s.current)==null||P.focus()},x=P=>{P.key==="Enter"&&h(!0)},w=(0,st.useCallback)(P=>{r==null||r(P,e)},[e,r]),E=()=>{h(!0)},m=(P="",T="",R=!0,D=!1)=>{var S;h(!1),D?g(P):T!==P&&g(T),R===!1&&((S=s.current)==null||S.focus())},C=(0,_a.default)(n,{vuuAlignRight:i==="right",vuuPinFloating:c==="floating",vuuPinLeft:c==="left",vuuPinRight:c==="right","vuuTableCell-resizing":p})||void 0,M=(0,vr.getColumnStyle)(e);return u?(0,In.jsx)("div",{className:C,"data-editable":!0,role:"cell",style:M,onKeyDown:x,children:(0,In.jsx)(Gt,{editing:d,value:y,onChange:g,onMouseDownCapture:v,onEnterEditMode:E,onExitEditMode:m,onKeyDown:x,ref:s,tabIndex:0},"title")}):(0,In.jsx)("div",{className:C,role:"cell",style:M,onClick:w,children:a?(0,In.jsx)(a,{column:e,columnMap:t,row:o}):b})},Pp);vo.displayName="TableCell";function Pp(n,e){return n.column===e.column&&n.onClick===e.onClick&&n.row[$a]===e.row[$a]&&n.row[n.column.key]===e.row[e.column.key]}var on=require("@vuu-ui/vuu-utils"),Wa=require("react");var rn=require("react/jsx-runtime"),{IS_LEAF:Mp}=on.metadataKeys,Ka=({column:n,onClick:e,row:t})=>{let{columns:r}=n,[o,s]=(0,on.getGroupValueAndOffset)(r,t),i=(0,Wa.useCallback)(u=>{e==null||e(u,n)},[n,e]),a=(0,on.getColumnStyle)(n),l=t[Mp],c=Array(s).fill(0).map((u,p)=>(0,rn.jsx)("span",{className:"vuuTableGroupCell-spacer"},p));return(0,rn.jsxs)("div",{className:"vuuTableGroupCell vuuPinLeft",onClick:l?void 0:i,role:"cell",style:a,children:[c,l?null:(0,rn.jsx)("span",{className:"vuuTableGroupCell-toggle","data-icon":"triangle-right"}),(0,rn.jsx)("span",{children:o})]})};var An=require("react/jsx-runtime"),{IDX:Lp,IS_EXPANDED:kp,SELECTED:Ip}=We.metadataKeys,wr="vuuTableRow",Ua=(0,On.memo)(function({columnMap:e,columns:t,offset:r,onClick:o,onToggleGroup:s,virtualColSpan:i=0,row:a}){let{[Lp]:l,[kp]:c,[Ip]:u}=a,p=(0,Ga.default)(wr,{[`${wr}-even`]:l%2===0,[`${wr}-expanded`]:c,[`${wr}-preSelected`]:u===2}),f=(0,On.useCallback)(h=>{let b=h.shiftKey,y=h.ctrlKey||h.metaKey;o==null||o(a,b,y)},[o,a]),d=(0,On.useCallback)((h,b)=>{((0,We.isGroupColumn)(b)||(0,We.isJsonGroup)(b,a))&&(h.stopPropagation(),s==null||s(a,b))},[s,a]);return(0,An.jsxs)("div",{"aria-selected":u===1?!0:void 0,"aria-rowindex":l,className:p,onClick:f,role:"row",style:{transform:`translate3d(0px, ${r}px, 0px)`},children:[i>0?(0,An.jsx)("div",{role:"cell",style:{width:i}}):null,t.filter(We.notHidden).map(h=>{let b=(0,We.isGroupColumn)(h),y=(0,We.isJsonColumn)(h);return(0,An.jsx)(b?Ka:vo,{column:h,columnMap:e,onClick:b||y?d:void 0,row:a},h.name)})]})});var wo=z(require("classnames")),Xa=require("react");var Ht=require("react"),Hn=({column:n,onResize:e,rootRef:t})=>{let r=(0,Ht.useRef)(0),o=(0,Ht.useRef)(!1),{name:s}=n,i=(0,Ht.useCallback)(()=>{if(e&&t.current){console.log("handleResizeStart");let{width:c}=t.current.getBoundingClientRect();r.current=Math.round(c),o.current=!0,e==null||e("begin",s)}},[s,e,t]),a=(0,Ht.useCallback)((c,u)=>{if(t.current&&e){let{width:p}=t.current.getBoundingClientRect(),f=Math.round(p)+u;f!==r.current&&f>0&&(e("resize",s,f),r.current=f)}},[s,e,t]),l=(0,Ht.useCallback)(()=>{e&&(e("end",s,r.current),setTimeout(()=>{o.current=!1},100))},[s,e]);return{isResizing:o.current,onDrag:a,onDragStart:i,onDragEnd:l}};var Ke=require("react/jsx-runtime"),vt="vuuTable-groupHeaderCell",Qa=({column:n,onClick:e,...t})=>(0,Ke.jsx)("span",{...t,className:`${vt}-close`,"data-icon":"close-circle",onClick:()=>e==null?void 0:e(n)}),Op=n=>{let{children:e,column:t,className:r}=n;return(0,Ke.jsxs)("div",{className:(0,wo.default)(`${vt}-col`,r),role:"columnheader",children:[(0,Ke.jsx)("span",{className:`${vt}-label`,children:t.name}),e]})},Za=({column:n,className:e,onRemoveColumn:t,onResize:r,...o})=>{let s=(0,Xa.useRef)(null),{isResizing:i,...a}=Hn({column:n,onResize:r,rootRef:s}),l=(0,wo.default)(vt,e,{vuuPinLeft:n.pin==="left",[`${vt}-right`]:n.align==="right",[`${vt}-resizing`]:n.resizing,[`${vt}-pending`]:n.groupConfirmed===!1}),{columns:c}=n;return(0,Ke.jsx)("div",{className:l,ref:s,...o,children:(0,Ke.jsxs)("div",{className:`${vt}-inner`,children:[c.map(u=>(0,Ke.jsx)(Op,{column:u,children:c.length>1?(0,Ke.jsx)(Qa,{column:u,onClick:t}):null},u.key)),(0,Ke.jsx)(Qa,{"data-align":"end",onClick:t}),n.resizeable!==!1?(0,Ke.jsx)(xn,{...a}):null]})})};var rl=z(require("classnames")),zt=require("react");var To=z(require("classnames"));var Nt=require("react/jsx-runtime"),Ya="vuuSortIndicator",ja=({sorted:n})=>{if(!n)return null;let e=typeof n=="number"?n<0?"dsc":"asc":n==="A"?"asc":"dsc";return typeof n=="number"?(0,Nt.jsxs)("div",{className:(0,To.default)(Ya,"multi-col",e),children:[(0,Nt.jsx)("span",{"data-icon":`sorted-${e}`}),(0,Nt.jsx)("span",{className:"vuuSortPosition",children:Math.abs(n)})]}):(0,Nt.jsx)("div",{className:(0,To.default)(Ya,"single-col"),children:(0,Nt.jsx)("span",{"data-icon":`sorted-${e}`})})};var ol=require("@vuu-ui/vuu-popups");var qa=require("@vuu-ui/vuu-popups"),Ja=z(require("classnames")),el=require("react");var nl=require("react/jsx-runtime");var tl=({column:n,filter:e})=>{let[t]=(0,qa.useContextMenu)(),r=(0,el.useCallback)(o=>{o.stopPropagation(),t(o,"filter",{column:n,filter:e})},[n,e,t]);return n.filter?(0,nl.jsx)("div",{className:(0,Ja.default)("vuuFilterIndicator"),"data-icon":"filter",onClick:r}):null};var wt=require("react/jsx-runtime"),Nn="vuuTable-headerCell",sl=({column:n,className:e,onClick:t,onDragStart:r,onResize:o,...s})=>{let i=(0,zt.useRef)(null),{isResizing:a,...l}=Hn({column:n,onResize:o,rootRef:i}),[c]=(0,ol.useContextMenu)(),u=(0,zt.useRef)(null),p=y=>{c(y,"header",{column:n})},f=(0,zt.useCallback)(y=>!a&&(t==null?void 0:t(y)),[a,t]),d=(0,zt.useCallback)(y=>{u.current=window.setTimeout(()=>{r==null||r(y),u.current=null},500)},[r]),h=(0,zt.useCallback)(()=>{u.current!==null&&(window.clearTimeout(u.current),u.current=null)},[]),b=(0,rl.default)(Nn,e,{vuuPinFloating:n.pin==="floating",vuuPinLeft:n.pin==="left",vuuPinRight:n.pin==="right",vuuEndPin:n.endPin,[`${Nn}-resizing`]:n.resizing,[`${Nn}-right`]:n.align==="right"});return(0,wt.jsx)("div",{className:b,...s,onClick:f,onContextMenu:p,onMouseDown:d,onMouseUp:h,ref:i,children:(0,wt.jsxs)("div",{className:`${Nn}-inner`,children:[(0,wt.jsx)(tl,{column:n}),(0,wt.jsx)("div",{className:`${Nn}-label`,children:n.label}),(0,wt.jsx)(ja,{sorted:n.sorted}),n.resizeable!==!1?(0,wt.jsx)(xn,{...l}):null]})})};var Ge=require("react/jsx-runtime"),Co="vuuTable",{RENDER_IDX:Ap}=Ae.metadataKeys,il=({columns:n,columnsWithinViewport:e,data:t,getRowOffset:r,headings:o,onColumnResize:s,onHeaderCellDragStart:i,onContextMenu:a,onRemoveColumnFromGroupBy:l,onRowClick:c,onSort:u,onToggleGroup:p,tableId:f,virtualColSpan:d=0,rowCount:h})=>{let b=(0,sn.useCallback)(x=>{i==null||i(x)},[i]),y=(0,sn.useMemo)(()=>n.filter(Ae.notHidden),[n]),g=(0,sn.useMemo)(()=>(0,Ae.buildColumnMap)(n),[n]),v=(0,sn.useCallback)(x=>{var P;let E=x.target.closest(".vuuTable-headerCell"),m=parseInt((P=E==null?void 0:E.dataset.idx)!=null?P:"-1"),C=(0,Ae.visibleColumnAtIndex)(n,m),M=x.shiftKey;C&&u(C,M)},[n,u]);return(0,Ge.jsxs)("div",{"aria-rowcount":h,className:`${Co}-table`,role:"table",children:[(0,Ge.jsxs)("div",{className:`${Co}-headers`,role:"rowGroup",children:[o.map((x,w)=>(0,Ge.jsx)("div",{className:"vuuTable-heading",children:x.map(({label:E,width:m},C)=>(0,Ge.jsx)("div",{className:"vuuTable-headingCell",style:{width:m},children:E},C))},w)),(0,Ge.jsx)("div",{role:"row",children:y.map((x,w)=>{let E=(0,Ae.getColumnStyle)(x);return(0,Ae.isGroupColumn)(x)?(0,Ge.jsx)(Za,{column:x,"data-idx":w,onRemoveColumn:l,onResize:s,role:"columnHeader",style:E},w):(0,Ge.jsx)(sl,{column:x,"data-idx":w,id:`${f}-${w}`,onClick:v,onDragStart:b,onResize:s,role:"columnHeader",style:E},w)})})]}),(0,Ge.jsx)("div",{className:`${Co}-body`,onContextMenu:a,role:"rowGroup",children:t==null?void 0:t.map(x=>(0,Ge.jsx)(Ua,{columnMap:g,columns:e,offset:r(x),onClick:c,virtualColSpan:d,onToggleGroup:p,row:x},x[Ap]))})]})};var Zl=require("@vuu-ui/vuu-popups"),qe=require("@vuu-ui/vuu-utils"),te=require("react");var Tr=require("@vuu-ui/vuu-utils"),zn=require("react"),{SELECTED:gE}=Tr.metadataKeys;var Eo=require("react"),Hp=require("@vuu-ui/vuu-data");var Ro=require("react"),Np=require("@vuu-ui/vuu-data");var zp=require("react"),Fp=require("@vuu-ui/vuu-data");var Bp=0,Fn=class{constructor(e,t){this.from=e,this.to=t}},Z=class{constructor(e={}){this.id=Bp++,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=Ee.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}};Z.closedBy=new Z({deserialize:n=>n.split(" ")});Z.openedBy=new Z({deserialize:n=>n.split(" ")});Z.group=new Z({deserialize:n=>n.split(" ")});Z.contextHash=new Z({perNode:!0});Z.lookAhead=new Z({perNode:!0});Z.mounted=new Z({perNode:!0});var Vp=Object.create(null),Ee=class{constructor(e,t,r,o=0){this.name=e,this.props=t,this.id=r,this.flags=o}static define(e){let t=e.props&&e.props.length?Object.create(null):Vp,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),o=new Ee(e.name||"",t,e.id,r);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(o)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return o}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(Z.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let o of r.split(" "))t[o]=e[r];return r=>{for(let o=r.prop(Z.group),s=-1;s<(o?o.length:0);s++){let i=t[s<0?r.name:o[s]];if(i)return i}}}};Ee.none=new Ee("",Object.create(null),0,8);var an=class{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let o=null;for(let s of e){let i=s(r);i&&(o||(o=Object.assign({},r.props)),o[i[0].id]=i[1])}t.push(o?new Ee(r.name,o,r.id,r.flags):r)}return new an(t)}},Cr=new WeakMap,al=new WeakMap,de;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays"})(de||(de={}));var me=class{constructor(e,t,r,o,s){if(this.type=e,this.children=t,this.positions=r,this.length=o,this.props=null,s&&s.length){this.props=Object.create(null);for(let[i,a]of s)this.props[typeof i=="number"?i:i.id]=a}}toString(){let e=this.prop(Z.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let r of this.children){let o=r.toString();o&&(t&&(t+=","),t+=o)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new cn(this.topNode,e)}cursorAt(e,t=0,r=0){let o=Cr.get(this)||this.topNode,s=new cn(o);return s.moveTo(e,t),Cr.set(this,s._tree),s}get topNode(){return new Ue(this,0,0,null)}resolve(e,t=0){let r=ln(Cr.get(this)||this.topNode,e,t,!1);return Cr.set(this,r),r}resolveInner(e,t=0){let r=ln(al.get(this)||this.topNode,e,t,!0);return al.set(this,r),r}iterate(e){let{enter:t,leave:r,from:o=0,to:s=this.length}=e,i=e.mode||0,a=(i&de.IncludeAnonymous)>0;for(let l=this.cursor(i|de.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=o&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&r&&(a||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.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:Mo(Ee.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,o)=>new me(this.type,t,r,o,this.propValues),e.makeTree||((t,r,o)=>new me(Ee.none,t,r,o)))}static build(e){return $p(e)}};me.empty=new me(Ee.none,[],[],0);var Bn=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 Bn(this.buffer,this.index)}},it=class{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return Ee.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],o=this.set.types[t],s=o.name;if(/\W/.test(s)&&!o.isError&&(s=JSON.stringify(s)),e+=4,r==e)return s;let i=[];for(;e<r;)i.push(this.childString(e)),e=this.buffer[e+3];return s+"("+i.join(",")+")"}findChild(e,t,r,o,s){let{buffer:i}=this,a=-1;for(let l=e;l!=t&&!(cl(s,o,i[l+1],i[l+2])&&(a=l,r>0));l=i[l+3]);return a}slice(e,t,r){let o=this.buffer,s=new Uint16Array(t-e),i=0;for(let a=e,l=0;a<t;){s[l++]=o[a++],s[l++]=o[a++]-r;let c=s[l++]=o[a++]-r;s[l++]=o[a++]-e,i=Math.max(i,c)}return new it(s,i,this.set)}};function cl(n,e,t,r){switch(n){case-2:return t<e;case-1:return r>=e&&t<e;case 0:return t<e&&r>e;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function ul(n,e){let t=n.childBefore(e);for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(n=t,t=r.prevSibling):t=r}return n}function ln(n,e,t,r){for(var o;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let i=!r&&n instanceof Ue&&n.index<0?null:n.parent;if(!i)return n;n=i}let s=r?0:de.IgnoreOverlays;if(r)for(let i=n,a=i.parent;a;i=a,a=i.parent)i instanceof Ue&&i.index<0&&((o=a.enter(e,t,s))===null||o===void 0?void 0:o.from)!=i.from&&(n=a);for(;;){let i=n.enter(e,t,s);if(!i)return n;n=i}}var Ue=class{constructor(e,t,r,o){this._tree=e,this.from=t,this.index=r,this._parent=o}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,o,s=0){for(let i=this;;){for(let{children:a,positions:l}=i._tree,c=t>0?a.length:-1;e!=c;e+=t){let u=a[e],p=l[e]+i.from;if(cl(o,r,p,p+u.length)){if(u instanceof it){if(s&de.ExcludeBuffers)continue;let f=u.findChild(0,u.buffer.length,t,r-p,o);if(f>-1)return new Ye(new Do(i,u,e,p),null,f)}else if(s&de.IncludeAnonymous||!u.type.isAnonymous||Po(u)){let f;if(!(s&de.IgnoreMounts)&&u.props&&(f=u.prop(Z.mounted))&&!f.overlay)return new Ue(f.tree,p,e,i);let d=new Ue(u,p,e,i);return s&de.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(t<0?u.children.length-1:0,t,r,o)}}}if(s&de.IncludeAnonymous||!i.type.isAnonymous||(i.index>=0?e=i.index+t:e=t<0?-1:i._parent._tree.children.length,i=i._parent,!i))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,r=0){let o;if(!(r&de.IgnoreOverlays)&&(o=this._tree.prop(Z.mounted))&&o.overlay){let s=e-this.from;for(let{from:i,to:a}of o.overlay)if((t>0?i<=s:i<s)&&(t<0?a>=s:a>s))return new Ue(o.tree,o.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}cursor(e=0){return new cn(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return ln(this,e,t,!1)}resolveInner(e,t=0){return ln(this,e,t,!0)}enterUnfinishedNodesBefore(e){return ul(this,e)}getChild(e,t=null,r=null){let o=Rr(this,e,t,r);return o.length?o[0]:null}getChildren(e,t=null,r=null){return Rr(this,e,t,r)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return Dr(this,e)}};function Rr(n,e,t,r){let o=n.cursor(),s=[];if(!o.firstChild())return s;if(t!=null){for(;!o.type.is(t);)if(!o.nextSibling())return s}for(;;){if(r!=null&&o.type.is(r))return s;if(o.type.is(e)&&s.push(o.node),!o.nextSibling())return r==null?s:[]}}function Dr(n,e,t=e.length-1){for(let r=n.parent;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}var Do=class{constructor(e,t,r,o){this.parent=e,this.buffer=t,this.index=r,this.start=o}},Ye=class{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,r){this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:o}=this.context,s=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.context.start,r);return s<0?null:new Ye(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,r=0){if(r&de.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 Ye(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 Ye(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 Ye(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new cn(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,o=this.index+4,s=r.buffer[this.index+3];if(s>o){let i=r.buffer[this.index+1];e.push(r.slice(o,s,i)),t.push(0)}return new me(this.type,e,t,this.to-this.from)}resolve(e,t=0){return ln(this,e,t,!1)}resolveInner(e,t=0){return ln(this,e,t,!0)}enterUnfinishedNodesBefore(e){return ul(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,r=null){let o=Rr(this,e,t,r);return o.length?o[0]:null}getChildren(e,t=null,r=null){return Rr(this,e,t,r)}get node(){return this}matchContext(e){return Dr(this,e)}},cn=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 Ue)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:r,buffer:o}=this.buffer;return this.type=t||o.set.types[o.buffer[e]],this.from=r+o.buffer[e+1],this.to=r+o.buffer[e+2],!0}yield(e){return e?e instanceof Ue?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:o}=this.buffer,s=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.buffer.start,r);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?r&de.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&de.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&de.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let o=r<0?0:this.stack[r]+4;if(this.index!=o)return this.yieldBuf(t.findChild(o,this.index,-1,0,4))}else{let o=t.buffer[this.index+3];if(o<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(o)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:o}=this;if(o){if(e>0){if(this.index<o.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(o.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:r}=o)}else({index:t,_parent:r}=this._tree);for(;r;{index:t,_parent:r}=r)if(t>-1)for(let s=t+e,i=e<0?-1:r._tree.children.length;s!=i;s+=e){let a=r._tree.children[s];if(this.mode&de.IncludeAnonymous||a instanceof it||!a.type.isAnonymous||Po(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let o=this.index,s=this.stack.length;s>=0;){for(let i=e;i;i=i._parent)if(i.index==o){if(o==this.index)return i;t=i,r=s+1;break e}o=this.stack[--s]}for(let o=r;o<this.stack.length;o++)t=new Ye(this.buffer,t,this.stack[o]);return this.bufferNode=new Ye(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let o=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(o=!0)}for(;o&&t&&t(this),o=this.type.isAnonymous,!this.nextSibling();){if(!r)return;this.parent(),r--,o=!0}}}matchContext(e){if(!this.buffer)return Dr(this.node,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let o=e.length-1,s=this.stack.length-1;o>=0;s--){if(s<0)return Dr(this.node,e,o);let i=r[t.buffer[this.stack[s]]];if(!i.isAnonymous){if(e[o]&&e[o]!=i.name)return!1;o--}}return!0}};function Po(n){return n.children.some(e=>e instanceof it||!e.type.isAnonymous||Po(e))}function $p(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:o=1024,reused:s=[],minRepeatType:i=r.types.length}=n,a=Array.isArray(t)?new Bn(t,t.length):t,l=r.types,c=0,u=0;function p(w,E,m,C,M){let{id:P,start:T,end:R,size:D}=a,S=u;for(;D<0;)if(a.next(),D==-1){let O=s[P];m.push(O),C.push(T-w);return}else if(D==-3){c=P;return}else if(D==-4){u=P;return}else throw new RangeError(`Unrecognized record size: ${D}`);let I=l[P],k,L,A=T-w;if(R-T<=o&&(L=b(a.pos-E,M))){let O=new Uint16Array(L.size-L.skip),B=a.pos-L.size,V=O.length;for(;a.pos>B;)V=y(L.start,O,V);k=new it(O,R-L.start,r),A=L.start-w}else{let O=a.pos-D;a.next();let B=[],V=[],F=P>=i?P:-1,W=0,Y=R;for(;a.pos>O;)F>=0&&a.id==F&&a.size>=0?(a.end<=Y-o&&(d(B,V,T,W,a.end,Y,F,S),W=B.length,Y=a.end),a.next()):p(T,O,B,V,F);if(F>=0&&W>0&&W<B.length&&d(B,V,T,W,T,Y,F,S),B.reverse(),V.reverse(),F>-1&&W>0){let _=f(I);k=Mo(I,B,V,0,B.length,0,R-T,_,_)}else k=h(I,B,V,R-T,S-R)}m.push(k),C.push(A)}function f(w){return(E,m,C)=>{let M=0,P=E.length-1,T,R;if(P>=0&&(T=E[P])instanceof me){if(!P&&T.type==w&&T.length==C)return T;(R=T.prop(Z.lookAhead))&&(M=m[P]+T.length+R)}return h(w,E,m,C,M)}}function d(w,E,m,C,M,P,T,R){let D=[],S=[];for(;w.length>C;)D.push(w.pop()),S.push(E.pop()+m-M);w.push(h(r.types[T],D,S,P-M,R-P)),E.push(M-m)}function h(w,E,m,C,M=0,P){if(c){let T=[Z.contextHash,c];P=P?[T].concat(P):[T]}if(M>25){let T=[Z.lookAhead,M];P=P?[T].concat(P):[T]}return new me(w,E,m,C,P)}function b(w,E){let m=a.fork(),C=0,M=0,P=0,T=m.end-o,R={size:0,start:0,skip:0};e:for(let D=m.pos-w;m.pos>D;){let S=m.size;if(m.id==E&&S>=0){R.size=C,R.start=M,R.skip=P,P+=4,C+=4,m.next();continue}let I=m.pos-S;if(S<0||I<D||m.start<T)break;let k=m.id>=i?4:0,L=m.start;for(m.next();m.pos>I;){if(m.size<0)if(m.size==-3)k+=4;else break e;else m.id>=i&&(k+=4);m.next()}M=L,C+=S,P+=k}return(E<0||C==w)&&(R.size=C,R.start=M,R.skip=P),R.size>4?R:void 0}function y(w,E,m){let{id:C,start:M,end:P,size:T}=a;if(a.next(),T>=0&&C<i){let R=m;if(T>4){let D=a.pos-(T-4);for(;a.pos>D;)m=y(w,E,m)}E[--m]=R,E[--m]=P-w,E[--m]=M-w,E[--m]=C}else T==-3?c=C:T==-4&&(u=C);return m}let g=[],v=[];for(;a.pos>0;)p(n.start||0,n.bufferStart||0,g,v,-1);let x=(e=n.length)!==null&&e!==void 0?e:g.length?v[0]+g[0].length:0;return new me(l[n.topID],g.reverse(),v.reverse(),x)}var ll=new WeakMap;function Er(n,e){if(!n.isAnonymous||e instanceof it||e.type!=n)return 1;let t=ll.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof me)){t=1;break}t+=Er(n,r)}ll.set(e,t)}return t}function Mo(n,e,t,r,o,s,i,a,l){let c=0;for(let h=r;h<o;h++)c+=Er(n,e[h]);let u=Math.ceil(c*1.5/8),p=[],f=[];function d(h,b,y,g,v){for(let x=y;x<g;){let w=x,E=b[x],m=Er(n,h[x]);for(x++;x<g;x++){let C=Er(n,h[x]);if(m+C>=u)break;m+=C}if(x==w+1){if(m>u){let C=h[w];d(C.children,C.positions,0,C.children.length,b[w]+v);continue}p.push(h[w])}else{let C=b[x-1]+h[x-1].length-E;p.push(Mo(n,h,b,w,x,E,C,null,l))}f.push(E+v-s)}}return d(e,t,r,o,0),(a||l)(p,f,i)}var Sr=class{startParse(e,t,r){return typeof e=="string"&&(e=new So(e)),r=r?r.length?r.map(o=>new Fn(o.from,o.to)):[new Fn(0,0)]:[new Fn(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let o=this.startParse(e,t,r);for(;;){let s=o.advance();if(s)return s}}},So=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 TE=new Z({perNode:!0});var pn=class{constructor(e,t,r,o,s,i,a,l,c,u=0,p){this.p=e,this.stack=t,this.state=r,this.reducePos=o,this.pos=s,this.score=i,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=u,this.parent=p}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let o=e.parser.context;return new pn(e,[],t,r,r,0,[],0,o?new Pr(o,o.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,o=e&65535,{parser:s}=this.p,i=s.dynamicPrecedence(o);if(i&&(this.score+=i),r==0){this.pushState(s.getGoto(this.state,o,!0),this.reducePos),o<s.minRepeatTerm&&this.storeNode(o,this.reducePos,this.reducePos,4,!0),this.reduceContext(o,this.reducePos);return}let a=this.stack.length-(r-1)*3-(e&262144?6:0),l=a?this.stack[a-2]:this.p.ranges[0].from,c=this.reducePos-l;c>=2e3&&!(!((t=this.p.parser.nodeSet.types[o])===null||t===void 0)&&t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=c));let u=a?this.stack[a-1]:0,p=this.bufferBase+this.buffer.length-u;if(o<s.minRepeatTerm||e&131072){let f=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(o,l,f,p+4,!0)}if(e&262144)this.state=this.stack[a];else{let f=this.stack[a-3];this.state=s.getGoto(f,o,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(o,l)}storeNode(e,t,r,o=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let i=this,a=this.buffer.length;if(a==0&&i.parent&&(a=i.bufferBase-i.parent.bufferBase,i=i.parent),a>0&&i.buffer[a-4]==0&&i.buffer[a-1]>-1){if(t==r)return;if(i.buffer[a-2]>=t){i.buffer[a-2]=r;return}}}if(!s||this.pos==r)this.buffer.push(e,t,r,o);else{let i=this.buffer.length;if(i>0&&this.buffer[i-4]!=0)for(;i>0&&this.buffer[i-2]>r;)this.buffer[i]=this.buffer[i-4],this.buffer[i+1]=this.buffer[i-3],this.buffer[i+2]=this.buffer[i-2],this.buffer[i+3]=this.buffer[i-1],i-=4,o>4&&(o-=4);this.buffer[i]=e,this.buffer[i+1]=t,this.buffer[i+2]=r,this.buffer[i+3]=o}}shift(e,t,r){let o=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,o),t<=this.p.parser.maxNode&&this.buffer.push(t,o,r,4);else{let s=e,{parser:i}=this.p;(r>this.pos||t<=i.maxNode)&&(this.pos=r,i.stateFlag(s,1)||(this.reducePos=r)),this.pushState(s,o),this.shiftContext(t,o),t<=i.maxNode&&this.buffer.push(t,o,r,4)}}apply(e,t,r){e&65536?this.reduce(e):this.shift(e,t,r)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(t,o),this.buffer.push(r,o,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),o=e.bufferBase+t;for(;e&&o==e.bufferBase;)e=e.parent;return new pn(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new ko(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if(!(r&65536))return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>4<<1||this.stack.length>=120){let o=[];for(let s=0,i;s<t.length;s+=2)(i=t[s+1])!=this.state&&this.p.parser.hasAction(i,e)&&o.push(t[s],i);if(this.stack.length<120)for(let s=0;o.length<4<<1&&s<t.length;s+=2){let i=t[s+1];o.some((a,l)=>l&1&&a==i)||o.push(t[s],i)}t=o}let r=[];for(let o=0;o<t.length&&r.length<4;o+=2){let s=t[o+1];if(s==this.state)continue;let i=this.split();i.pushState(s,this.pos),i.storeNode(0,i.pos,i.pos,4,!0),i.shiftContext(t[o],this.pos),i.score-=200,r.push(i)}return r}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let r=t>>19,o=t&65535,s=this.stack.length-r*3;if(s<0||e.getGoto(this.stack[s],o,!1)<0){let i=this.findForcedReduction();if(i==null)return!1;t=i}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(o,s)=>{if(!t.includes(o))return t.push(o),e.allActions(o,i=>{if(!(i&393216))if(i&65536){let a=(i>>19)-s;if(a>1){let l=i&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=r(i,s+1);if(a!=null)return a}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new Pr(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()}},Pr=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},pl;(function(n){n[n.Insert=200]="Insert",n[n.Delete=190]="Delete",n[n.Reduce=100]="Reduce",n[n.MaxNext=4]="MaxNext",n[n.MaxInsertStackDepth=300]="MaxInsertStackDepth",n[n.DampenInsertStackDepth=120]="DampenInsertStackDepth",n[n.MinBigReduction=2e3]="MinBigReduction"})(pl||(pl={}));var ko=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let o=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=o}},fn=class{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new fn(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 fn(this.stack,this.pos,this.index)}};function Vn(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let r=0,o=0;r<n.length;){let s=0;for(;;){let i=n.charCodeAt(r++),a=!1;if(i==126){s=65535;break}i>=92&&i--,i>=34&&i--;let l=i-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[o++]=s:t=new e(s)}return t}var un=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},fl=new un,Io=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=fl,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,o=this.rangeIndex,s=this.pos+e;for(;s<r.from;){if(!o)return null;let i=this.ranges[--o];s-=r.from-i.to,r=i}for(;t<0?s>r.to:s>=r.to;){if(o==this.ranges.length-1)return null;let i=this.ranges[++o];s+=i.from-r.to,r=i}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,o;if(t>=0&&t<this.chunk.length)r=this.pos+e,o=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(r=s,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)o=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let i=this.rangeIndex,a=this.range;for(;a.to<=r;)a=this.ranges[++i];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),o=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),o}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=fl,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let o of this.ranges){if(o.from>=t)break;o.to>e&&(r+=this.input.read(Math.max(o.from,e),Math.min(o.to,t)))}return r}},Tt=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;xl(this.data,e,t,this.id,r.data,r.tokenPrecTable)}};Tt.prototype.contextual=Tt.prototype.fallback=Tt.prototype.extend=!1;var Oo=class{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data=typeof e=="string"?Vn(e):e}token(e,t){let r=e.pos,o=0;for(;;){let s=e.next<0,i=e.resolveOffset(1,1);if(xl(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||o++,i==null)break;e.reset(i,e.token)}o&&(e.reset(r,e.token),e.acceptToken(this.elseToken,o))}};Oo.prototype.contextual=Tt.prototype.fallback=Tt.prototype.extend=!1;function xl(n,e,t,r,o,s){let i=0,a=1<<r,{dialect:l}=t.p.parser;e:for(;a&n[i];){let c=n[i+1];for(let d=i+3;d<c;d+=2)if((n[d+1]&a)>0){let h=n[d];if(l.allows(h)&&(e.token.value==-1||e.token.value==h||Wp(h,e.token.value,o,s))){e.acceptToken(h);break}}let u=e.next,p=0,f=n[i+2];if(e.next<0&&f>p&&n[c+f*3-3]==65535&&n[c+f*3-3]==65535){i=n[c+f*3-1];continue e}for(;p<f;){let d=p+f>>1,h=c+d+(d<<1),b=n[h],y=n[h+1]||65536;if(u<b)f=d;else if(u>=y)p=d+1;else{i=n[h+2],e.advance();continue e}}break}}function dl(n,e,t){for(let r=e,o;(o=n[r])!=65535;r++)if(o==t)return r-e;return-1}function Wp(n,e,t,r){let o=dl(t,r,e);return o<0||dl(t,r,n)<o}var Qe=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),Lo=null,ml;(function(n){n[n.Margin=25]="Margin"})(ml||(ml={}));function hl(n,e,t){let r=n.cursor(de.IncludeAnonymous);for(r.moveTo(e);;)if(!(t<0?r.childBefore(e):r.childAfter(e)))for(;;){if((t<0?r.to<e:r.from>e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(n.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:n.length}}var Ao=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?hl(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?hl(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let r=this.trees[t],o=this.index[t];if(o==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=r.children[o],i=this.start[t]+r.positions[o];if(i>e)return this.nextStart=i,null;if(s instanceof me){if(i==e){if(i<this.safeFrom)return null;let a=i+s.length;if(a<=this.safeTo){let l=s.prop(Z.lookAhead);if(!l||a+l<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}}},Ho=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new un)}getActions(e){let t=0,r=null,{parser:o}=e.p,{tokenizers:s}=o,i=o.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;c<s.length;c++){if(!(1<<c&i))continue;let u=s[c],p=this.tokens[c];if(!(r&&!u.fallback)&&((u.contextual||p.start!=e.pos||p.mask!=i||p.context!=a)&&(this.updateCachedToken(p,u,e),p.mask=i,p.context=a),p.lookAhead>p.end+25&&(l=Math.max(p.lookAhead,l)),p.value!=0)){let f=t;if(p.extended>-1&&(t=this.addActions(e,p.extended,p.end,t)),t=this.addActions(e,p.value,p.end,t),!u.extend&&(r=p,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new un,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new un,{pos:r,p:o}=e;return t.start=r,t.end=Math.min(r+1,o.stream.end),t.value=r==o.stream.end?o.parser.eofTerm:0,t}updateCachedToken(e,t,r){let o=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(o,e),r),e.value>-1){let{parser:s}=r.p;for(let i=0;i<s.specialized.length;i++)if(s.specialized[i]==e.value){let a=s.specializers[i](this.stream.read(e.start,e.end),r);if(a>=0&&r.p.parser.dialect.allows(a>>1)){a&1?e.extended=a>>1:e.value=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(o+1)}putAction(e,t,r,o){for(let s=0;s<o;s+=3)if(this.actions[s]==e)return o;return this.actions[o++]=e,this.actions[o++]=t,this.actions[o++]=r,o}addActions(e,t,r,o){let{state:s}=e,{parser:i}=e.p,{data:a}=i;for(let l=0;l<2;l++)for(let c=i.stateSlot(s,l?2:1);;c+=3){if(a[c]==65535)if(a[c+1]==1)c=at(a,c+2);else{o==0&&a[c+1]==2&&(o=this.putAction(at(a,c+2),t,r,o));break}a[c]==t&&(o=this.putAction(at(a,c+1),t,r,o))}return o}},gl;(function(n){n[n.Distance=5]="Distance",n[n.MaxRemainingPerStep=3]="MaxRemainingPerStep",n[n.MinBufferLengthPrune=500]="MinBufferLengthPrune",n[n.ForceReduceLimit=10]="ForceReduceLimit",n[n.CutDepth=15e3]="CutDepth",n[n.CutTo=9e3]="CutTo",n[n.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",n[n.MaxStackCount=12]="MaxStackCount"})(gl||(gl={}));var No=class{constructor(e,t,r,o){this.parser=e,this.input=t,this.ranges=o,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Io(t,o),this.tokens=new Ho(e,this.stream),this.topTerm=e.top[1];let{from:s}=o[0];this.stacks=[pn.start(this,e.top[0],s)],this.fragments=r.length&&this.stream.end-s>e.bufferLength*4?new Ao(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],o,s;if(this.bigReductionCount>300&&e.length==1){let[i]=e;for(;i.forceReduce()&&i.stack.length&&i.stack[i.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let i=0;i<e.length;i++){let a=e[i];for(;;){if(this.tokens.mainToken=null,a.pos>t)r.push(a);else{if(this.advanceStack(a,r,e))continue;{o||(o=[],s=[]),o.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!r.length){let i=o&&Kp(o);if(i)return this.stackToTree(i);if(this.parser.strict)throw Qe&&o&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&o){let i=this.stoppedAt!=null&&o[0].pos>this.stoppedAt?o[0]:this.runRecovery(o,s,r);if(i)return this.stackToTree(i.forceAll())}if(this.recovering){let i=this.recovering==1?1:this.recovering*3;if(r.length>i)for(r.sort((a,l)=>l.score-a.score);r.length>i;)r.pop();r.some(a=>a.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let i=0;i<r.length-1;i++){let a=r[i];for(let l=i+1;l<r.length;l++){let c=r[l];if(a.sameState(c)||a.buffer.length>500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)r.splice(l--,1);else{r.splice(i--,1);continue e}}}r.length>12&&r.splice(12,r.length-12)}this.minStackPos=r[0].pos;for(let i=1;i<r.length;i++)r[i].pos<this.minStackPos&&(this.minStackPos=r[i].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,r){let o=e.pos,{parser:s}=this,i=Qe?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 p=this.fragments.nodeAt(o);p;){let f=this.parser.nodeSet.types[p.type.id]==p.type?s.getGoto(e.state,p.type.id):-1;if(f>-1&&p.length&&(!c||(p.prop(Z.contextHash)||0)==u))return e.useNode(p,f),Qe&&console.log(i+this.stackID(e)+` (via reuse of ${s.getName(p.type.id)})`),!0;if(!(p instanceof me)||p.children.length==0||p.positions[0]>0)break;let d=p.children[0];if(d instanceof me&&p.positions[0]==0)p=d;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Qe&&console.log(i+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;c<l.length;){let u=l[c++],p=l[c++],f=l[c++],d=c==l.length||!r,h=d?e:e.split();if(h.apply(u,p,f),Qe&&console.log(i+this.stackID(h)+` (via ${u&65536?`reduce of ${s.getName(u&65535)}`:"shift"} for ${s.getName(p)} @ ${o}${h==e?"":", split"})`),d)return!0;h.pos>o?t.push(h):r.push(h)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return bl(e,t),!0}}runRecovery(e,t,r){let o=null,s=!1;for(let i=0;i<e.length;i++){let a=e[i],l=t[i<<1],c=t[(i<<1)+1],u=Qe?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Qe&&console.log(u+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let p=a.split(),f=u;for(let d=0;p.forceReduce()&&d<10&&(Qe&&console.log(f+this.stackID(p)+" (via force-reduce)"),!this.advanceFully(p,r));d++)Qe&&(f=this.stackID(p)+" -> ");for(let d of a.recoverByInsert(l))Qe&&console.log(u+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,r);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Qe&&console.log(u+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),bl(a,r)):(!o||o.score<a.score)&&(o=a)}return o}stackToTree(e){return e.close(),me.build({buffer:fn.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=(Lo||(Lo=new WeakMap)).get(e);return t||Lo.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function bl(n,e){for(let t=0;t<e.length;t++){let r=e[t];if(r.pos==n.pos&&r.sameState(n)){e[t].score<n.score&&(e[t]=n);return}}e.push(n)}var zo=class{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}};var Ft=class extends Sr{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 a=0;a<e.repeatNodeCount;a++)t.push("");let r=Object.keys(e.topRules).map(a=>e.topRules[a][1]),o=[];for(let a=0;a<t.length;a++)o.push([]);function s(a,l,c){o[a].push([l,l.deserialize(String(c))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=Z[l]);for(let c=1;c<a.length;){let u=a[c++];if(u>=0)s(u,l,a[c++]);else{let p=a[c+-u];for(let f=-u;f>0;f--)s(a[c++],l,p);c++}}}this.nodeSet=new an(t.map((a,l)=>Ee.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:o[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let i=Vn(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(yl),this.states=Vn(e.states,Uint32Array),this.data=Vn(e.stateData),this.goto=Vn(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new Tt(i,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,r){let o=new No(this,e,t,r);for(let s of this.wrappers)o=s(o,e,t,r);return o}getGoto(e,t,r=!1){let o=this.goto;if(t>=o[0])return-1;for(let s=o[t+1];;){let i=o[s++],a=i&1,l=o[s++];if(a&&r)return l;for(let c=s+(i>>1);s<c;s++)if(o[s]==e)return l;if(a)return-1}}hasAction(e,t){let r=this.data;for(let o=0;o<2;o++)for(let s=this.stateSlot(e,o?2:1),i;;s+=3){if((i=r[s])==65535)if(r[s+1]==1)i=r[s=at(r,s+2)];else{if(r[s+1]==2)return at(r,s+2);break}if(i==t||i==0)return at(r,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,r=>r==t?!0:null)}allActions(e,t){let r=this.stateSlot(e,4),o=r?t(r):void 0;for(let s=this.stateSlot(e,1);o==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=at(this.data,s+2);else break;o=t(at(this.data,s+1))}return o}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=at(this.data,r+2);else break;if(!(this.data[r+2]&1)){let o=this.data[r+1];t.some((s,i)=>i&1&&s==o)||t.push(this.data[r],o)}}return t}configure(e){let t=Object.assign(Object.create(Ft.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let o=e.tokenizers.find(s=>s.from==r);return o?o.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,o)=>{let s=e.specializers.find(a=>a.from==r.external);if(!s)return r;let i=Object.assign(Object.assign({},r),{external:s.to});return t.specializers[o]=yl(i),i})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let s of e.split(" ")){let i=t.indexOf(s);i>=0&&(r[i]=!0)}let o=null;for(let s=0;s<t.length;s++)if(!r[s])for(let i=this.dialects[t[s]],a;(a=this.data[i++])!=65535;)(o||(o=new Uint8Array(this.maxTerm+1)))[a]=1;return new zo(e,r,o)}static deserialize(e){return new Ft(e)}};function at(n,e){return n[e]|n[e+1]<<16}function Kp(n){let e=null;for(let t of n){let r=t.p.stoppedAt;(t.pos==t.p.stream.end||r!=null&&t.pos>r)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function yl(n){if(n.external){let e=n.extend?1:0;return(t,r)=>n.external(t,r)<<1|e}return n.get}var Fo=Ft.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 je=require("@vuu-ui/vuu-utils");var Re,vl=class{constructor(){ns(this,Re,void 0)}setFilterCombinatorOp(e,t=Ze(this,Re)){(0,je.isMultiClauseFilter)(t)&&t.op===e||Ir(this,Re,{op:e,filters:[Ze(this,Re)]})}add(e){if(Ze(this,Re)===void 0)Ir(this,Re,e);else if((0,je.isMultiClauseFilter)(Ze(this,Re)))Ze(this,Re).filters.push(e);else throw Error("Invalid filter passed to FilterExpression")}setColumn(e,t=Ze(this,Re)){if((0,je.isMultiClauseFilter)(t)){let r=t.filters.at(-1);r&&this.setColumn(e,r)}else t&&(t.column=e)}setOp(e,t=Ze(this,Re)){if((0,je.isMultiClauseFilter)(t)){let r=t.filters.at(-1);r&&this.setOp(e,r)}else t&&(t.op=e)}setValue(e,t=Ze(this,Re)){var r;if((0,je.isMultiClauseFilter)(t)){let o=t.filters.at(-1);o&&this.setValue(e,o)}else(0,je.isMultiValueFilter)(t)?((r=t.values)!=null||(t.values=[]),t.values.push(e)):(0,je.isSingleValueFilter)(t)&&(t.value=e)}toJSON(e=Ze(this,Re)){return this.name?{...e,name:this.name}:e}};Re=new WeakMap;var IE=Fo.configure({strict:!0});var Mr=require("@vuu-ui/vuu-utils"),Qp=require("react");var{KEY:KE}=Mr.metadataKeys;var Xp=n=>n.type==="vuu-links";var Zp=n=>n.type==="vuu-menu",wl=n=>Zp(n)||Xp(n),Tl=n=>n.type==="vuu-link-created"||n.type==="vuu-link-removed";var Bo=require("react"),Yp=require("@vuu-ui/vuu-data");var Ct=require("@vuu-ui/vuu-utils"),re=require("react"),{SELECTED:$n}=Ct.metadataKeys;function Cl({dataSource:n,onConfigChange:e,onFeatureEnabled:t,onFeatureInvocation:r,onSizeChange:o,onSubscribed:s,range:i={from:0,to:0},renderBufferSize:a=0,viewportRowCount:l}){let[,c]=(0,re.useState)(null),u=(0,re.useRef)(!0),p=(0,re.useRef)(!1),f=(0,re.useRef)({from:0,to:0}),d=(0,re.useRef)(null),h=(0,re.useRef)([]),b=(0,re.useMemo)(()=>new Vo((0,Ct.getFullRange)(i)),[]),y=(0,re.useCallback)(m=>{for(let C of m)b.add(C);h.current=b.data,p.current=!0},[b]),g=(0,re.useCallback)(m=>{m.type==="subscribed"?s==null||s(m):m.type==="viewport-update"?(typeof m.size=="number"&&(o==null||o(m.size),b.setRowCount(m.size)),m.rows?y(m.rows):typeof m.size=="number"&&(h.current=b.data,p.current=!0)):wl(m)?t==null||t(m):Tl(m)?r==null||r(m):console.log(`useDataSource unexpected message ${m.type}`)},[b,t,r,o,s,y]);(0,re.useEffect)(()=>()=>{d.current&&(cancelAnimationFrame(d.current),d.current=null),u.current=!1},[]);let v=(0,re.useCallback)(()=>{u.current&&(p.current&&(c({}),p.current=!1),d.current=requestAnimationFrame(v))},[c]);(0,re.useEffect)(()=>{d.current=requestAnimationFrame(v)},[v]);let x=(0,re.useCallback)(m=>{let{from:C}=n.range,M={from:C,to:C+m},P=(0,Ct.getFullRange)(M,a);b.setRange(P),n.range=f.current=P,n.emit("range",M)},[n,b,a]),w=(0,re.useCallback)(m=>{let C=(0,Ct.getFullRange)(m,a);b.setRange(C),n.range=f.current=C,n.emit("range",m)},[n,b,a]),E=(0,re.useCallback)(()=>b.getSelectedRows(),[b]);return(0,re.useEffect)(()=>{n==null||n.subscribe({range:f.current},g)},[n,g,e]),(0,re.useEffect)(()=>{x(l)},[x,l]),{data:h.current,getSelectedRows:E,range:f.current,setRange:w,dataSource:n}}var Vo=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 Ct.WindowRange(e,t),this.data=new Array(t-e),this.rowCount=0}add(e){var r;let[t]=e;if(this.isWithinRange(t)){let o=t-this.range.from;this.data[o]=e;let s=e[$n],i=(r=this.data[o-1])==null?void 0:r[$n];i===0&&s?this.data[o-1][$n]=2:i===2&&!s&&(this.data[o-1][$n]=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[r,o]=this.range.overlap(e,t),s=new Array(Math.max(0,t-e));for(let i=r;i<o;i++){let a=this.getAtIndex(i);if(a){let l=i-e;s[l]=a}}this.data=s,this.range.from=e,this.range.to=t}}getSelectedRows(){return this.data.filter(e=>e[$n]===1)}};var El=require("@heswell/salt-lab"),dn=require("react"),Rl=({onDrop:n})=>{let e=(0,dn.useRef)(),t=(0,dn.useRef)(null),r=(0,dn.useCallback)(()=>{console.log("handleDropSettle"),e.current=void 0,t.current=null},[]),{draggable:o,draggedItemIndex:s,onMouseDown:i}=(0,El.useDragDrop)({allowDragDrop:!0,draggableClassName:"vuuTable-headerCell",orientation:"horizontal",containerRef:t,itemQuery:".vuuTable-headerCell",onDrop:n,onDropSettle:r}),a=(0,dn.useCallback)(l=>{let{clientX:c,clientY:u}=l;console.log("useDraggableColumn handleHeaderCellDragStart means mouseDown fired on a column in RowBasedTable");let f=l.target.closest(".vuuTable-headerCell");t.current=f==null?void 0:f.closest("[role='row']");let{dataset:{idx:d="-1"}}=f;e.current={clientX:c,clientY:u,idx:d},i==null||i(l)},[i]);return{draggable:o,draggedItemIndex:s,onHeaderCellDragStart:a}};var Ll=require("@vuu-ui/vuu-utils"),le=require("react");function jp(n,...e){let t=new Set(n);for(let r of e)for(let o of r)t.add(o);return t}var $o="ArrowUp",_o="ArrowDown",Wo="ArrowLeft",Ko="ArrowRight";var Go="Home",Uo="End",Qo="PageUp",Xo="PageDown";var qp=new Set(["Enter","Delete"," "]),Jp=new Set(["Tab"]),ef=new Set(["ArrowRight","ArrowLeft"]),Dl=new Set([Go,Uo,Qo,Xo,_o,Wo,Ko,$o]),tf=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),aR=jp(qp,Dl,ef,tf,Jp);var nf=["Home","End","PageUp","PageDown"],Sl=n=>nf.includes(n),Pl=n=>Dl.has(n);var Ml=n=>`.vuuTable-headers .vuuTable-headerCell:nth-child(${n+1})`,rf=(n,e)=>`.vuuTable-body > [aria-rowindex='${n}'] > [role='cell']:nth-child(${e+1})`,of=[-1,-1];function sf(n,[e,t],r,o){return n===$o?e>-1?[e-1,t]:[e,t]:n===_o?e===-1?[0,t]:e===o-1?[e,t]:[e+1,t]:n===Ko?t<r-1?[e,t+1]:[e,t]:n===Wo?t>0?[e,t-1]:[e,t]:[e,t]}var kl=({columnCount:n=0,containerRef:e,disableHighlightOnFocus:t,data:r,requestScroll:o,rowCount:s=0,viewportRange:i})=>{var P;let{from:a,to:l}=i,c=(0,le.useRef)([-1,-1]),u=(0,le.useRef)(),p=(0,le.useRef)([-1,0]),f=(0,le.useCallback)(([T,R])=>{var S;let D=T===-1?Ml(R):rf(T,R);return(S=e.current)==null?void 0:S.querySelector(D)},[e]),d=T=>T==null?void 0:T.closest("[role='columnHeader'],[role='cell']"),h=T=>{var R,D;if(T.role==="columnHeader")return[-1,parseInt((R=T.dataset.idx)!=null?R:"-1",10)];{let S=T.closest("[role='row']");if(S){let I=parseInt((D=S.ariaRowIndex)!=null?D:"-1",10),k=Array.from(S.childNodes).indexOf(T);return[I,k]}}return of},b=(0,le.useCallback)(T=>{var R;if(e.current){let D=f(T);D?(D!==u.current&&((R=u.current)==null||R.setAttribute("tabindex",""),u.current=D,D.setAttribute("tabindex","0")),D.focus()):(0,Ll.withinRange)(T[0],i)||(u.current=void 0,o==null||o({type:"scroll-page",direction:"up"}))}},[e,f,o,i]),y=(0,le.useCallback)((T,R,D=!1)=>{let S=[T,R];p.current=S,b(S),D&&(c.current=S)},[b]),g=(0,le.useCallback)(()=>{var T;(T=u.current)==null||T.setAttribute("tabindex",""),u.current=void 0},[]),v=(0,le.useCallback)(async(T,R)=>{switch(T){case Xo:o==null||o({type:"scroll-page",direction:"down"});break;case Qo:o==null||o({type:"scroll-page",direction:"up"});break;case Go:o==null||o({type:"scroll-end",direction:"home"});break;case Uo:o==null||o({type:"scroll-end",direction:"end"});break}return R},[o]),x=(0,le.useCallback)(()=>{var T;if(t!==!0&&(T=e.current)!=null&&T.contains(document.activeElement)){let R=d(document.activeElement);R&&(c.current=h(R))}},[t,e]),w=(0,le.useCallback)(async T=>{let[R,D]=Sl(T)?await v(T,p.current):sf(T,p.current,n,s),[S,I]=p.current;(R!==S||D!==I)&&y(R,D,!0)},[n,v,s,y]),E=(0,le.useCallback)(T=>{r.length>0&&Pl(T.key)&&(T.preventDefault(),T.stopPropagation(),w(T.key))},[r,w]),m=(0,le.useCallback)(T=>{let R=T.target,D=d(R);if(D){let[S,I]=h(D);y(S,I)}},[y]),C=(0,le.useMemo)(()=>({onClick:m,onFocus:x,onKeyDown:E}),[m,x,E]);(0,le.useLayoutEffect)(()=>{let{current:T}=p,R=T[0]>=a&&T[0]<=l;u.current&&!R?g():!u.current&&R&&b(T)},[b,a,l,g]);let M=((P=e.current)==null?void 0:P.firstChild)!=null;return(0,le.useEffect)(()=>{var T;if(M&&u.current===void 0){let R=(T=e.current)==null?void 0:T.querySelector(Ml(0));R&&(R.setAttribute("tabindex","0"),u.current=R)}},[e,M]),C};var lt=require("@vuu-ui/vuu-utils"),Et=require("react");var Vt=require("react");var Bt=new Map,Ol=(n,e,t)=>{switch(t){case"height":return e.height;case"clientHeight":return n.clientHeight;case"clientWidth":return n.clientWidth;case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(n.scrollHeight);case"scrollWidth":return Math.ceil(n.scrollWidth);case"width":return e.width;default:return 0}},Il=new ResizeObserver(n=>{for(let e of n){let{target:t,borderBoxSize:r,contentBoxSize:o}=e,s=Bt.get(t);if(s){let[{blockSize:i,inlineSize:a}]=r,[{blockSize:l,inlineSize:c}]=o,{onResize:u,measurements:p}=s,f=!1;for(let[d,h]of Object.entries(p)){let b=Ol(t,{height:i,width:a,contentHeight:l,contentWidth:c},d);b!==h&&(f=!0,p[d]=b)}f&&u&&u(p)}}});function Al(n,e,t,r=!1){let o=(0,Vt.useRef)(e),s=(0,Vt.useCallback)(i=>{let{width:a,height:l}=i.getBoundingClientRect(),{clientWidth:c,clientHeight:u}=i;return o.current.reduce((p,f)=>(p[f]=Ol(i,{width:a,height:l,contentHeight:u,contentWidth:c},f),p),{})},[]);(0,Vt.useEffect)(()=>{let i=n.current;async function a(){Bt.set(i,{measurements:{}}),await document.fonts.ready;let l=Bt.get(i);if(l){let c=s(i);l.measurements=c,Il.observe(i),r&&t(c)}else console.log("%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation","font-weight:bold; color:red;")}if(i){if(Bt.has(i))throw Error("useResizeObserver attemping to observe same element twice");a()}return()=>{i&&Bt.has(i)&&(Il.unobserve(i),Bt.delete(i))}},[s,n]),(0,Vt.useEffect)(()=>{let i=n.current,a=Bt.get(i);if(a){if(o.current!==e){o.current=e;let l=s(i);a.measurements=l}a.onResize=t}},[e,s,n,t])}var af=["clientHeight","clientWidth"],Hl=n=>Number.isFinite(n),lf={height:"100%",width:"100%"},cf=(n,e)=>(0,lt.isValidNumber)(n)&&(0,lt.isValidNumber)(e)?{height:`${n}px`,width:`${e}px`}:lf,uf=(n,e)=>{if((0,lt.isValidNumber)(n)&&(0,lt.isValidNumber)(e))return{height:n,width:e}},Zo=({defaultHeight:n=0,defaultWidth:e=0,height:t,width:r})=>{let o=(0,Et.useRef)(null),[s,i]=(0,Et.useState)({css:cf(t,r),inner:uf(t,r),outer:{height:t!=null?t:"100%",width:r!=null?r:"100%"}});(0,Et.useMemo)(()=>{i(l=>{let{inner:c,outer:u}=l;if((0,lt.isValidNumber)(t)&&(0,lt.isValidNumber)(r)&&c&&u){let{height:p,width:f}=c,{height:d,width:h}=u;if(d!==t||h!==r){let b=(0,lt.isValidNumber)(d)?d-p:0,y=(0,lt.isValidNumber)(h)?h-f:0;return{...l,outer:{height:t,width:r},inner:{height:t-b,width:r-y}}}}return l})},[t,r]);let a=(0,Et.useCallback)(({clientWidth:l,clientHeight:c})=>{i(u=>{let{css:p,inner:f,outer:d}=u;return Hl(c)&&Hl(l)&&(l!==(f==null?void 0:f.width)||c!==(f==null?void 0:f.height))?{css:p,outer:d,inner:{width:Math.floor(l)||e,height:Math.floor(c)||n}}:u})},[n,e]);return Al(o,af,a,!0),{containerRef:o,cssSize:s.css,outerSize:s.outer,innerSize:s.inner}};var Rt=require("@vuu-ui/vuu-utils"),_n=require("react"),{IDX:pf}=Rt.metadataKeys,ff=[],Yo=({selectionModel:n,onSelectionChange:e})=>{let t=(0,_n.useRef)(-1),r=(0,_n.useRef)(ff);return(0,_n.useCallback)((s,i,a)=>{let{[pf]:l}=s,{current:c}=t,{current:u}=r,f=((0,Rt.isRowSelected)(s)?Rt.deselectItem:Rt.selectItem)(n,u,l,i,a,c);r.current=f,t.current=l,e&&e(f)},[e,n])};var Nl=require("@heswell/salt-lab"),K=require("@vuu-ui/vuu-utils"),zl=require("react"),{info:ER}=(0,K.logger)("useTableModel"),df=100,Fl=K.metadataKeys.count,mf=({serverDataType:n})=>n===void 0,hf=n=>{var e;if((0,K.isTypeDescriptor)(n.type))return(0,K.getCellRenderer)((e=n.type)==null?void 0:e.renderer)},Bl=(n,e)=>{if(n.serverDataType)return n.serverDataType;if(e){let t=e.columns.find(r=>r.name===n.name);if(t)return t.serverDataType}return"string"},gf=["int","long","double"],Vl=n=>n===void 0?void 0:gf.includes(n)?"right":"left",bf=n=>n.type==="columnSettings",yf=(n,e)=>{switch(e.type){case"init":return $l(e);case"moveColumn":return vf(n,e);case"resizeColumn":return Cf(n,e);case"setTableSchema":return Ef(n,e);case"hideColumns":return wf(n,e);case"showColumns":return Tf(n,e);case"pinColumn":return Rf(n,e);case"updateColumnProp":return mn(n,e);case"tableConfig":return _l(n,e);default:return console.log(`unhandled action ${e.type}`),n}},jo=(n,e)=>{let[t,r]=(0,zl.useReducer)(yf,{tableConfig:n,dataSourceConfig:e},$l);return{columns:t.columns,dispatchColumnAction:r,headings:t.headings}};function $l({dataSourceConfig:n,tableConfig:e}){let t=e.columns.map(qo(e)),r=t.some(K.isPinned)?(0,K.sortPinnedColumns)(t):t,o={columns:r,headings:(0,K.getTableHeadings)(r)};if(n){let{columns:s,...i}=n;return _l(o,{type:"tableConfig",...i})}else return o}var xf=(n,e)=>e==="uppercase"?n.toUpperCase():e==="capitalize"?n[0].toUpperCase()+n.slice(1).toLowerCase():n,qo=n=>(e,t)=>{let r=Bl(e,n.tableSchema),{columnDefaultWidth:o=df,columnFormatHeader:s}=n,{align:i=Vl(r),key:a,name:l,label:c=l,width:u=o,...p}=e,f={...p,align:i,CellRenderer:hf(e),label:xf(c,s),key:a!=null?a:t+Fl,name:l,originalIdx:t,serverDataType:r,valueFormatter:(0,K.getValueFormatter)(e),width:u};return(0,K.isGroupColumn)(f)&&(f.columns=f.columns.map(d=>qo(n)(d,d.key))),f};function vf(n,{column:e,moveBy:t,moveTo:r}){let{columns:o}=n;if(typeof t=="number"){let s=o.indexOf(e),i=o.slice(),[a]=i.splice(s,1);return i.splice(s+t,0,a),{...n,columns:i}}else if(typeof r=="number"){let s=o.indexOf(e);return{...n,columns:(0,Nl.moveItem)(o,s,r)}}return n}function wf(n,{columns:e}){return e.some(t=>t.hidden!==!0)?e.reduce((t,r)=>r.hidden!==!0?mn(t,{type:"updateColumnProp",column:r,hidden:!0}):t,n):n}function Tf(n,{columns:e}){return e.some(t=>t.hidden)?e.reduce((t,r)=>r.hidden?mn(t,{type:"updateColumnProp",column:r,hidden:!1}):t,n):n}function Cf(n,{column:e,phase:t,width:r}){let o="updateColumnProp",s=t!=="end";switch(t){case"begin":return mn(n,{type:o,column:e,resizing:s});case"end":return mn(n,{type:o,column:e,resizing:s,width:r});case"resize":return mn(n,{type:o,column:e,width:r});default:throw Error(`useTableModel.resizeColumn, invalid resizePhase ${t}`)}}function Ef(n,{tableSchema:e}){let{columns:t}=n;if(t.some(mf)){let r=t.map(o=>{var i;let s=Bl(o,e);return{...o,align:(i=o.align)!=null?i:Vl(s),serverDataType:s}});return{...n,columns:r,tableSchema:e}}else return{...n,tableSchema:e}}function Rf(n,e){let{columns:t}=n,{column:r,pin:o}=e;return t=(0,K.updateColumn)(t,r.name,{pin:o}),t=(0,K.sortPinnedColumns)(t),console.log({withPins:t}),{...n,columns:t}}function mn(n,e){let{columns:t}=n,{align:r,column:o,hidden:s,label:i,resizing:a,width:l}=e,c={};return(r==="left"||r==="right")&&(c.align=r),typeof i=="string"&&(c.label=i),typeof a=="boolean"&&(c.resizing=a),typeof s=="boolean"&&(c.hidden=s),typeof l=="number"&&(c.width=l),t=(0,K.updateColumn)(t,o.name,c),{...n,columns:t}}function _l(n,{columns:e,confirmed:t,filter:r,groupBy:o,sort:s}){let i=e&&e.length>0,a=o!==void 0,l=typeof(r==null?void 0:r.filter)=="string",c=s&&s.sortDefs.length>0,u=n;return i&&(u={...n,columns:e.map((p,f)=>{let d=(0,K.getColumnName)(p),h=f+Fl,b=(0,K.findColumn)(u.columns,d);return b?b.key===h?b:{...b,key:h}:qo(n)({name:p},f)})}),a&&(u={...n,columns:(0,K.applyGroupByToColumns)(u.columns,o,t)}),c&&(u={...n,columns:(0,K.applySortToColumns)(u.columns,s)}),l?u={...n,columns:(0,K.applyFilterToColumns)(u.columns,r)}:u.columns.some(K.isFilteredColumn)&&(u={...n,columns:(0,K.stripFilterFromColumns)(u.columns)}),u}var Ce=require("react"),Wl=n=>{let{scrollLeft:e,scrollTop:t}=n,{clientHeight:r,clientWidth:o,scrollHeight:s,scrollWidth:i}=n,a=e/(i-o),l=t/(s-r);return[a,l]},Df=n=>{let{clientHeight:e,clientWidth:t,scrollHeight:r,scrollWidth:o}=n;return[o-t,r-e]},Kl=({onAttach:n,onDetach:e})=>{let t=(0,Ce.useRef)(null);return(0,Ce.useCallback)(o=>{if(o)t.current=o,n==null||n(o);else if(t.current){let{current:s}=t;t.current=o,e==null||e(s)}},[n,e])},Gl=({onHorizontalScroll:n,onVerticalScroll:e,viewport:t})=>{let r=(0,Ce.useRef)(!1),o=(0,Ce.useRef)({scrollTop:0,scrollLeft:0}),s=(0,Ce.useRef)(null),i=(0,Ce.useRef)(null),{maxScrollContainerScrollHorizontal:a,maxScrollContainerScrollVertical:l}=t,c=(0,Ce.useCallback)(()=>{let{current:v}=i,{current:x}=s,{current:w}=r;if(w)r.current=!1;else if(v&&x){let[E,m]=Wl(x),[C,M]=Df(v),P=Math.round(E*C),T=Math.round(m*M);console.log(`pctScrollTop ${m}, maxScrollTop ${M} rootScrollTop ${T}`),v.scrollTo({left:P,top:T,behavior:"auto"})}},[]),u=(0,Ce.useCallback)(()=>{let{current:v}=i,{current:x}=s,{current:w}=o;if(v&&x){let{scrollLeft:E,scrollTop:m}=v,[C,M]=Wl(v);r.current=!0,x.scrollLeft=Math.round(C*a),x.scrollTop=Math.round(M*l),w.scrollTop!==m&&(w.scrollTop=m,e==null||e(m,M)),w.scrollLeft!==E&&(w.scrollLeft=E,n==null||n(E))}},[a,l,n,e]),p=(0,Ce.useCallback)(v=>{s.current=v,v.addEventListener("scroll",c,{passive:!0})},[c]),f=(0,Ce.useCallback)(v=>{s.current=null,v.removeEventListener("scroll",c)},[c]),d=(0,Ce.useCallback)(v=>{i.current=v,v.addEventListener("scroll",u,{passive:!0})},[u]),h=(0,Ce.useCallback)(v=>{i.current=null,v.removeEventListener("scroll",u)},[u]),b=Kl({onAttach:d,onDetach:h}),y=Kl({onAttach:p,onDetach:f}),g=(0,Ce.useCallback)(v=>{let{current:x}=i;if(x){if(r.current=!1,v.type==="scroll-page"){let{clientHeight:w,scrollLeft:E,scrollTop:m}=x,{direction:C}=v,M=C==="down"?w:-w,P=Math.min(Math.max(0,m+M),l);x.scrollTo({top:P,left:E,behavior:"auto"})}else if(v.type==="scroll-end"){let{direction:w}=v,E=w==="end"?l:0;x.scrollTo({top:E,left:x.scrollLeft,behavior:"auto"})}}},[l]);return{scrollbarContainerRef:y,contentContainerRef:b,requestScroll:g}};var ct=require("react"),Lr=require("@vuu-ui/vuu-utils"),Sf=15e5,Pf={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},Mf=n=>{let e=0,t=0,r=0;for(let o of n){let{hidden:s,pin:i,width:a}=o,l=s?0:a;i==="left"?e+=l:i==="right"?t+=l:r+=l}return{pinnedWidthLeft:e+4,pinnedWidthRight:t+4,unpinnedWidth:r}},Jo=({columns:n,headerHeight:e,headings:t,rowCount:r,rowHeight:o,size:s})=>{let i=(0,ct.useRef)(0),l=Math.min(r,Sf)*o,u=r*o-l,{pinnedWidthLeft:p,pinnedWidthRight:f,unpinnedWidth:d}=(0,ct.useMemo)(()=>Mf(n),[n]),[h,b]=(0,ct.useMemo)(()=>(0,Lr.actualRowPositioning)(o),[o]),[y,g]=(0,ct.useMemo)(()=>u?(0,Lr.virtualRowPositioning)(o,u,i):[h,b],[b,h,u,o]),v=(0,ct.useCallback)(x=>{i.current=x},[]);return(0,ct.useMemo)(()=>{var x;if(s){let w=t.length,E=15,m=p+d+f,C=m>s.width?E:0,M=e*(1+w),P=l-(((x=s==null?void 0:s.height)!=null?x:0)-C)+M,T=m-s.width+p,R=(s.height-e)/o,D=Number.isInteger(R)?R+1:Math.ceil(R),S=s.height-M,I=l>S?E:0;return{contentHeight:l,getRowAtPosition:g,getRowOffset:y,horizontalScrollbarHeight:C,maxScrollContainerScrollHorizontal:T,maxScrollContainerScrollVertical:P,pinnedWidthLeft:p,pinnedWidthRight:f,rowCount:D,contentWidth:m,setPctScrollTop:v,totalHeaderHeight:M,verticalScrollbarWidth:I,viewportBodyHeight:S}}else return Pf},[s,t.length,p,d,f,l,e,o,g,y,v])};var Wn=require("@vuu-ui/vuu-utils"),Me=require("react"),Ul=({columns:n,getRowAtPosition:e,setRange:t,viewportMeasurements:r})=>{let o=(0,Me.useRef)(-1),{rowCount:s,contentWidth:i,maxScrollContainerScrollHorizontal:a}=r,l=i-a,c=(0,Me.useRef)(0),[u,p]=(0,Me.useMemo)(()=>(0,Wn.getColumnsInViewport)(n,c.current,c.current+l),[l,n]),f=(0,Me.useRef)(p);(0,Me.useEffect)(()=>{h(u)},[u]);let[d,h]=(0,Me.useState)(u),b=(0,Me.useCallback)(g=>{c.current=g;let[v,x]=(0,Wn.getColumnsInViewport)(n,g,g+l);(0,Wn.itemsChanged)(d,v)&&(f.current=x,h(v))},[l,n,d]),y=(0,Me.useCallback)(g=>{let v=e(g);v!==o.current&&(o.current=v,t({from:v,to:v+s}))},[e,t,s]);return{columnsWithinViewport:d,onHorizontalScroll:b,onVerticalScroll:y,virtualColSpan:f.current}};var Lf=[],{KEY:kf,IS_EXPANDED:Ql,IS_LEAF:Xl}=qe.metadataKeys,Yl=({config:n,dataSource:e,headerHeight:t,onConfigChange:r,onFeatureEnabled:o,onFeatureInvocation:s,onSelectionChange:i,renderBufferSize:a=0,rowHeight:l,selectionModel:c,...u})=>{var ne,j;let[p,f]=(0,te.useState)(e.size),d=(0,te.useRef)(!1),h=(0,te.useRef)();if(h.current=e,e===void 0)throw Error("no data source provided to Vuu Table");let b=Zo(u),y=(0,te.useCallback)($=>{f($)},[]),{columns:g,dispatchColumnAction:v,headings:x}=jo(n,e.config),{getRowAtPosition:w,getRowOffset:E,setPctScrollTop:m,...C}=Jo({columns:g,headerHeight:t,headings:x,rowCount:p,rowHeight:l,size:b.innerSize}),M=(0,te.useCallback)(({tableSchema:$})=>{$?(d.current=!0,v({type:"setTableSchema",tableSchema:$})):console.log("usbscription message with no schema")},[v]),P=(0,te.useCallback)($=>{e.select($),i==null||i($)},[e,i]),T=Yo({onSelectionChange:P,selectionModel:c}),{data:R,getSelectedRows:D,range:S,setRange:I}=Cl({dataSource:e,onFeatureEnabled:o,onFeatureInvocation:s,onSubscribed:M,onSizeChange:y,renderBufferSize:a,viewportRowCount:C.rowCount}),k=(0,te.useRef)();k.current=R;let L=(0,te.useCallback)($=>{d.current=!0,v($)},[v]),A=Fr({dataSource:e,onPersistentColumnOperation:L}),O=(0,te.useCallback)(($,q=!1,ce)=>{e&&(e.sort=(0,qe.applySort)(e.sort,$,q,ce))},[e]),B=(0,te.useCallback)(($,q,ce)=>{let ee=g.find(ge=>ge.name===q);if(ee)$==="end"&&(d.current=!0),v({type:"resizeColumn",phase:$,column:ee,width:ce});else throw Error(`useDataTable.handleColumnResize, column ${q} not found`)},[g,v]),V=(0,te.useCallback)(($,q)=>{let ce=(0,qe.isJsonGroup)(q,$),ee=$[kf];if($[Ql]){if(e.closeTreeNode(ee,!0),ce){let ge=g.indexOf(q);e.getRowsAtDepth(ge+1).some(be=>be[Ql]||be[Xl])||v({type:"hideColumns",columns:g.slice(ge+2)})}}else if(e.openTreeNode(ee),ce){let ge=e.getChildRows(ee),De=g.indexOf(q)+1,be=[g[De]];ge.some(Se=>Se[Xl])&&be.push(g[De+1]),be.some(Se=>Se.hidden)&&v({type:"showColumns",columns:be})}},[g,e,v]),{onVerticalScroll:F,onHorizontalScroll:W,columnsWithinViewport:Y,virtualColSpan:_}=Ul({columns:g,getRowAtPosition:w,setRange:I,viewportMeasurements:C}),J=(0,te.useCallback)(($,q)=>{m(q),F($)},[F,m]),{requestScroll:H,...N}=Gl({onHorizontalScroll:W,onVerticalScroll:J,viewport:C,viewportHeight:((j=(ne=b.innerSize)==null?void 0:ne.height)!=null?j:0)-t}),X=kl({columnCount:g.length,containerRef:b.containerRef,data:R,requestScroll:H,rowCount:e==null?void 0:e.size,viewportRange:S}),he=(0,te.useCallback)($=>{$?e&&e.groupBy.includes($.name)&&(e.groupBy=e.groupBy.filter(q=>q!==$.name)):e.groupBy=[]},[e]),Xe=(0,te.useCallback)(($,q)=>{let ce=e.columns[$],ee=(0,qe.moveItem)(e.columns,ce,q);ee!==e.columns&&(e.columns=ee,v({type:"tableConfig",columns:ee}))},[e,v]),G=Rl({onDrop:Xe});(0,te.useEffect)(()=>{h.current&&(d.current=!0,v({type:"init",tableConfig:n,dataSourceConfig:h.current.config}))},[n,v]),(0,te.useEffect)(()=>{e.on("config",($,q)=>{d.current=!0,v({type:"tableConfig",...$,confirmed:q})})},[e,v]),(0,te.useMemo)(()=>{d.current&&(r==null||r({...n,columns:g}),d.current=!1)},[g,n,r]);let[U]=(0,Zl.useContextMenu)(),oe=(0,te.useCallback)($=>{var be;let{current:q}=k,{current:ce}=h,ee=$.target,ge=ee==null?void 0:ee.closest("div[role='cell']"),De=ee==null?void 0:ee.closest(".vuuTableRow");if(ge&&De&&q&&ce){let{columns:Se,selectedRowsCount:Dt}=ce,Je=(0,qe.buildColumnMap)(Se),bn=parseInt((be=De.ariaRowIndex)!=null?be:"-1"),_t=Array.from(De.childNodes).indexOf(ge),He=q.find(([yn])=>yn===bn),Wt=Se[_t];U($,"grid",{columnMap:Je,columnName:Wt,row:He,selectedRows:Dt===0?Lf:D(),viewport:e==null?void 0:e.viewport})}},[e==null?void 0:e.viewport,D,U]);return{columns:g,columnsWithinViewport:Y,containerMeasurements:b,containerProps:X,data:R,dispatchColumnAction:v,getRowOffset:E,handleContextMenuAction:A,headings:x,onColumnResize:B,onContextMenu:oe,onRemoveColumnFromGroupBy:he,onRowClick:T,onSort:O,onToggleGroup:V,virtualColSpan:_,scrollProps:N,rowCount:p,viewportMeasurements:C,...G}};var ql=z(require("classnames"));var Jl=require("@vuu-ui/vuu-utils"),ut=require("react/jsx-runtime"),$t="vuuTable",If=({allowConfigEditing:n=!1,className:e,config:t,dataSource:r,headerHeight:o=25,height:s,id:i,onConfigChange:a,onFeatureEnabled:l,onFeatureInvocation:c,onSelectionChange:u,onShowConfigEditor:p,renderBufferSize:f=0,rowHeight:d=20,selectionModel:h="extended",style:b,width:y,zebraStripes:g=!1,...v})=>{let x=(0,kr.useIdMemo)(i),{containerMeasurements:{containerRef:w,innerSize:E,outerSize:m},containerProps:C,dispatchColumnAction:M,draggable:P,draggedItemIndex:T,handleContextMenuAction:R,scrollProps:D,viewportMeasurements:S,...I}=Yl({config:t,dataSource:r,renderBufferSize:f,headerHeight:o,height:s,onConfigChange:a,onFeatureEnabled:l,onFeatureInvocation:c,onSelectionChange:u,rowHeight:d,selectionModel:h,width:y}),k={...m,"--content-height":`${S.contentHeight}px`,"--horizontal-scrollbar-height":`${S.horizontalScrollbarHeight}px`,"--content-width":`${S.contentWidth}px`,"--pinned-width-left":`${S.pinnedWidthLeft}px`,"--pinned-width-right":`${S.pinnedWidthRight}px`,"--header-height":`${o}px`,"--row-height":`${d}px`,"--table-height":`${E==null?void 0:E.height}px`,"--table-width":`${E==null?void 0:E.width}px`,"--total-header-height":`${S.totalHeaderHeight}px`,"--vertical-scrollbar-width":`${S.verticalScrollbarWidth}px`,"--viewport-body-height":`${S.viewportBodyHeight}px`},L=(0,ql.default)($t,e,{[`${$t}-zebra`]:g,[`${$t}-loading`]:(0,Jl.isDataLoading)(I.columns)});return(0,ut.jsx)(jl.ContextMenuProvider,{menuActionHandler:R,menuBuilder:Nr(r),children:(0,ut.jsxs)("div",{...v,...C,className:L,id:x,ref:w,style:k,tabIndex:-1,children:[E?(0,ut.jsx)("div",{className:`${$t}-scrollbarContainer`,ref:D.scrollbarContainerRef,children:(0,ut.jsx)("div",{className:`${$t}-scrollbarContent`})}):null,E?(0,ut.jsxs)("div",{className:`${$t}-contentContainer`,ref:D.contentContainerRef,children:[(0,ut.jsx)(il,{...I,headerHeight:o,tableId:x}),P]}):null,n&&E?(0,ut.jsx)(kr.Button,{className:`${$t}-settings`,"data-icon":"settings",onClick:p,variant:"secondary"}):null]})})};var ec=z(require("classnames")),gn=require("@vuu-ui/vuu-utils");var hn=require("react/jsx-runtime"),Kn="vuuJsonCell",{IS_EXPANDED:Of,KEY:Af}=gn.metadataKeys,Hf=n=>{let e=n.lastIndexOf("|");return e===-1?"":n.slice(e+1)},Nf=({column:n,row:e})=>{let{key:t}=n,r=e[t],o=!1;(0,gn.isJsonAttribute)(r)&&(r=r.slice(0,-1),o=!0);let s=Hf(e[Af]),i=(0,ec.default)({[`${Kn}-name`]:s===r,[`${Kn}-value`]:s!==r,[`${Kn}-group`]:o});if(o){let a=e[Of]?"minus-box":"plus-box";return(0,hn.jsxs)("span",{className:i,children:[(0,hn.jsx)("span",{className:`${Kn}-value`,children:r}),(0,hn.jsx)("span",{className:`${Kn}-toggle`,"data-icon":a})]})}else return r?(0,hn.jsx)("span",{className:i,children:r}):null};(0,gn.registerComponent)("json",Nf,"cell-renderer",{});
|
|
2
18
|
//# sourceMappingURL=index.js.map
|