@vuu-ui/vuu-filters 0.8.20 → 0.8.21
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 +1 -1
- package/cjs/index.js.map +3 -3
- package/esm/index.js +1 -1
- package/esm/index.js.map +3 -3
- package/index.css +1 -1
- package/index.css.map +2 -2
- package/package.json +10 -9
- package/types/filter-bar/useFilters.d.ts +1 -1
package/cjs/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var Bs=Object.create;var Kt=Object.defineProperty;var $s=Object.getOwnPropertyDescriptor;var Ws=Object.getOwnPropertyNames;var zs=Object.getPrototypeOf,Us=Object.prototype.hasOwnProperty;var qs=(r,e)=>{for(var t in e)Kt(r,t,{get:e[t],enumerable:!0})},Uo=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ws(e))!Us.call(r,n)&&n!==t&&Kt(r,n,{get:()=>e[n],enumerable:!(o=$s(e,n))||o.enumerable});return r};var ge=(r,e,t)=>(t=r!=null?Bs(zs(r)):{},Uo(e||!r||!r.__esModule?Kt(t,"default",{value:r,enumerable:!0}):t,r)),Qs=r=>Uo(Kt({},"__esModule",{value:!0}),r);var qo=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var pe=(r,e,t)=>(qo(r,e,"read from private field"),t?t.call(r):e.get(r)),Zt=(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)},Ct=(r,e,t,o)=>(qo(r,e,"write to private field"),o?o.call(r,t):e.set(r,t),t);var su={};qs(su,{AND:()=>Y,ENDS_WITH:()=>Wa,EQUALS:()=>dr,ExpandoCombobox:()=>Ae,FilterBar:()=>Hl,FilterBuilderMenu:()=>Qr,FilterClauseEditor:()=>Zr,FilterInput:()=>Gl,FilterPill:()=>oo,GREATER_THAN:()=>Ba,IN:()=>gi,LESS_THAN:()=>$a,OR:()=>mi,STARTS_WITH:()=>jr,TextInput:()=>Jr,addClause:()=>fr,addFilter:()=>za,filterClauses:()=>mt,filterEquals:()=>hr,filterIncludesColumn:()=>yi,getAllLocalEntity:()=>iu,getLocalEntity:()=>Vi,getNumericFilter:()=>Xa,getTypeaheadFilter:()=>ja,overrideColName:()=>bi,removeFilter:()=>Ja,removeLastClause:()=>Yr,replaceClause:()=>eo,saveLocalEntity:()=>Ni,splitFilterOnColumn:()=>Ka,updateFilter:()=>xi,useCodeMirrorEditor:()=>Wo,useFilterSuggestionProvider:()=>nu,useFilters:()=>_o});module.exports=Qs(su);function Qo(r){var e,t,o="";if(typeof r=="string"||typeof r=="number")o+=r;else if(typeof r=="object")if(Array.isArray(r))for(e=0;e<r.length;e++)r[e]&&(t=Qo(r[e]))&&(o&&(o+=" "),o+=t);else for(e in r)r[e]&&(o&&(o+=" "),o+=e);return o}function Gs(){for(var r,e,t=0,o="";t<arguments.length;)(r=arguments[t++])&&(e=Qo(r))&&(o&&(o+=" "),o+=e);return o}var I=Gs;var Js={},Ks={},Zs={};function Me(r,e,t="component"){Zs[r]=e,t==="container"?Js[r]=!0:t==="view"&&(Ks[r]=!0)}var St=require("react"),js=[],jt=r=>{let e=Array.isArray(r),t=e?r.length:St.Children.count(r);return e&&r.every(St.isValidElement)?r:t===1&&!e&&(0,St.isValidElement)(r)?[r]:t>1?r:js};var pn=require("@salt-ds/core"),or=require("react");var Re=require("react");var ze=require("react");var Xs=require("@vuu-ui/vuu-utils"),Go=ge(require("react"));var We=require("react"),de=new Map,he=new Map;var ot=()=>{let r=(0,We.useCallback)((s,a)=>{let l=he.get(s);if(l)return a!==void 0&&l[a]!==void 0?l[a]:a!==void 0?void 0:l},[]),e=(0,We.useCallback)((s,a,l)=>{if(a===void 0)he.set(s,l);else if(he.has(s)){let u=he.get(s);he.set(s,{...u,[a]:l})}else he.set(s,{[a]:l})},[]),t=(0,We.useCallback)((s,a)=>{if(he.has(s)){if(a===void 0)he.delete(s);else if(he.get(s)[a]){let{[a]:u,...d}=he.get(s);Object.keys(d).length>0?he.set(s,d):he.delete(s)}}},[]),o=(0,We.useCallback)((s,a)=>{let l=de.get(s);if(l)return a!==void 0?l[a]:l},[]),n=(0,We.useCallback)((s,a,l)=>{if(a===void 0)de.set(s,l);else if(de.has(s)){let u=de.get(s);de.set(s,{...u,[a]:l})}else de.set(s,{[a]:l})},[]),i=(0,We.useCallback)((s,a)=>{if(de.has(s)){if(a===void 0)de.delete(s);else if(de.get(s)[a]){let{[a]:u,...d}=de.get(s);Object.keys(d).length>0?de.set(s,d):de.delete(s)}}},[]);return{loadSessionState:r,loadState:o,saveSessionState:e,saveState:n,purgeState:i,purgeSessionState:t}};var Xt=(r,e,t=[])=>{var n,i,s;let o=(s=(n=r.props)==null?void 0:n.title)!=null?s:(i=r.props)==null?void 0:i["data-tab-title"];if(o)return o;{let a=e;do o=`Tab ${++a}`;while(t.includes(o));return o}};var Jo=require("react"),Ys=r=>console.log(`dispatch ${r.type}, have you forgotten to provide a LayoutProvider ?`),_r=(0,Jo.createContext)({dispatchLayoutProvider:Ys,version:-1});var ea=require("react/jsx-runtime");var nt=()=>{let{dispatchLayoutProvider:r}=(0,ze.useContext)(_r);return r},Ko=()=>{let{createNewChild:r}=(0,ze.useContext)(_r);return r};var Yt=(r,e,t,o)=>{var y;let{loadSessionState:n,purgeSessionState:i,purgeState:s,saveSessionState:a}=ot(),[l,u]=(0,Re.useState)((y=n(r,"contributions"))!=null?y:[]),d=nt(),c=(0,Re.useCallback)((b,E)=>{let w=l.concat([{location:b,content:E}]);a(r,"contributions",w),u(w)},[l,r,a]),p=(0,Re.useCallback)(()=>{i(r,"contributions"),u([])},[r,i]),f=(0,Re.useCallback)(()=>{let b=n(r,"data-source");b&&b.unsubscribe(),i(r),s(r),d({type:"remove",path:t})},[d,r,n,i,s,t]),v=(0,Re.useCallback)(async(b,E,w)=>{var T;b.stopPropagation();let x=(T=e.current)==null?void 0:T.getBoundingClientRect();return new Promise((h,m)=>{d({type:"drag-start",evt:b,path:E===void 0?t:`${t}.${E}`,dragRect:x,preDragActivity:w,dropTargets:o,resolveDragStart:h,rejectDragStart:m})})},[e,d,t,o]);return[(0,Re.useCallback)(async(b,E)=>{var x;let{type:w}=b;switch(w){case"maximize":case"minimize":case"restore":return d({type:w,path:(x=b.path)!=null?x:t});case"remove":return f();case"mousedown":return v(E,b.index,b.preDragActivity);case"add-toolbar-contribution":return c(b.location,b.content);case"remove-toolbar-contribution":return p();case"query":return d({type:w,path:b.path,query:b.query});default:return}},[d,t,f,v,c,p]),l]};var ln=require("@vuu-ui/vuu-utils"),un=require("@salt-ds/core");var Z=ge(require("react"));var Zo=require("@vuu-ui/vuu-ui-controls"),jo=require("@salt-ds/core");var ke=require("react");var it=require("react/jsx-runtime"),Hr="vuuHeader",Xo=({className:r,contributions:e,collapsed:t,closeable:o,onEditTitle:n,orientation:i="horizontal",style:s,title:a="Untitled"})=>{let l=(0,ke.useRef)(null),[u,d]=(0,ke.useState)(a),[c,p]=(0,ke.useState)(!1),f=Yo(),v=P=>f==null?void 0:f({type:"remove"},P),g=()=>{var P;(P=l.current)==null||P.focus()},y=P=>{P.stopPropagation()},E=I(Hr,r,`${Hr}-${t||i}`),w=()=>{p(!0)},x=P=>{P.key==="Enter"&&p(!0)},T=(P="",C="",M=!0,O=!1)=>{var N;p(!1),O?d(P):C!==P&&(d(C),n==null||n(C)),M===!1&&((N=l.current)==null||N.focus())},h=P=>{f==null||f({type:"mousedown"},P)},m=[],S=[],L=[];return e==null||e.forEach((P,C)=>{switch(P.location){case"pre-title":m.push((0,ke.cloneElement)(P.content,{key:C}));break;default:S.push((0,ke.cloneElement)(P.content,{key:C}))}}),a&&m.push((0,it.jsx)(Zo.EditableLabel,{className:`${Hr}-title`,editing:c,value:u,onChange:d,onMouseDownCapture:g,onEnterEditMode:w,onExitEditMode:T,onKeyDown:x,ref:l,tabIndex:0},"title")),o&&L.push((0,it.jsx)(jo.Button,{"data-icon":"close",onClick:v,onMouseDown:y,variant:"secondary"},"close")),S.length>0&&m.push((0,it.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:S},"contributions")),L.length>0&&m.push((0,it.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:L},"actions")),(0,it.jsx)("div",{className:I("vuuToolbarProxy",E),style:s,onMouseDown:h,children:m})};var ve=require("react");var en=({id:r,rootRef:e,path:t,dropTargets:o,title:n})=>{let i=nt(),{loadState:s,loadSessionState:a,purgeState:l,saveState:u,saveSessionState:d}=ot(),[c,p]=Yt(r,e,t,o),f=(0,ve.useMemo)(()=>{var h;return(h=s("view-title"))!=null?h:n},[s,n]),v=(0,ve.useCallback)(h=>{t&&i({type:"set-title",path:t,title:h})},[i,t]),g=(0,ve.useMemo)(()=>s(r),[r,s]),y=(0,ve.useCallback)(h=>s(r,h),[r,s]),b=(0,ve.useCallback)(h=>{l(r,h),i({type:"save"})},[r,i,l]),E=(0,ve.useCallback)((h,m)=>{u(r,m,h),i({type:"save"})},[r,i,u]),w=(0,ve.useCallback)(h=>a(r,h),[r,a]),x=(0,ve.useCallback)((h,m)=>d(r,m,h),[r,d]),T=(0,ve.useCallback)(({type:h,...m})=>{let{[h]:S}=m;E(S,h)},[E]);return{contributions:p,dispatchViewAction:c,load:y,loadSession:w,onConfigChange:T,onEditTitle:v,purge:b,restoredState:g,save:E,saveSession:x,title:f}};var qe=require("react"),rn=["height","width"];var Ue=new WeakMap,on=(r,e,t)=>{switch(t){case"height":return e.height;case"scrollHeight":return r.scrollHeight;case"scrollWidth":return r.scrollWidth;case"width":return e.width;default:return 0}},tn=new ResizeObserver(r=>{for(let e of r){let{target:t,contentRect:o}=e,n=Ue.get(t);if(n){let{onResize:i,measurements:s}=n,a=!1;for(let[l,u]of Object.entries(s)){let d=on(t,o,l);d!==u&&(a=!0,s[l]=d)}a&&i&&i(s)}}});function nn(r,e,t,o=!1){let n=(0,qe.useRef)(e),i=(0,qe.useCallback)(s=>{let a=s.getBoundingClientRect();return n.current.reduce((l,u)=>(l[u]=on(s,a,u),l),{})},[]);(0,qe.useLayoutEffect)(()=>{let s=r.current,a=!1;async function l(){Ue.set(s,{measurements:{}}),a=!1;let{fonts:u}=document;if(u&&await u.ready,!a){let d=Ue.get(s);if(d){let c=i(s);d.measurements=c,tn.observe(s),o&&t(c)}}}if(s){if(Ue.has(s))throw Error("useResizeObserver attemping to observe same element twice");l()}return()=>{s&&Ue.has(s)&&(tn.unobserve(s),Ue.delete(s),a=!0)}},[r,i,o,t]),(0,qe.useLayoutEffect)(()=>{let s=r.current,a=Ue.get(s);if(a){if(n.current!==e){n.current=e;let l=i(s);a.measurements=l}a.onResize=t}},[e,i,r,t])}var st=require("react"),ta=[],sn=({mainRef:r,resize:e="responsive",rootRef:t})=>{let o=e==="defer",n=(0,st.useRef)({}),i=(0,st.useRef)(),s=(0,st.useCallback)(()=>{r.current&&(r.current.style.height=n.current.height+"px",r.current.style.width=n.current.width+"px"),i.current=void 0},[r]),a=(0,st.useCallback)(({height:l,width:u})=>{n.current.height=l,n.current.width=u,i.current!==null&&clearTimeout(i.current),i.current=window.setTimeout(s,40)},[s]);nn(t,o?rn:ta,a,o)};var Tt=ge(require("react")),ra={dispatch:null},er=Tt.default.createContext(ra),Yo=()=>{var e;let r=(0,Tt.useContext)(er);return(e=r==null?void 0:r.dispatch)!=null?e:null},an=()=>(0,Tt.useContext)(er);var at=require("react/jsx-runtime"),Et="vuuView",oa=(r,e)=>r&&e?{...r,...e}:r||e,cn=(0,Z.forwardRef)(function(e,t){let{Header:o=Xo,children:n,className:i,collapsed:s,closeable:a,"data-path":l,"data-resizeable":u,dropTargets:d,expanded:c,flexFill:p,id:f,header:v,orientation:g="horizontal",path:y=l,resize:b="responsive",resizeable:E=u,tearOut:w,style:x={},title:T,...h}=e,m=(0,ln.useId)(f),S=(0,Z.useRef)(null),L=(0,Z.useRef)(null),[P,C]=(0,Z.useState)(),{contributions:M,dispatchViewAction:O,load:N,loadSession:A,onConfigChange:V,onEditTitle:J,purge:W,restoredState:q,save:te,saveSession:ue,title:ce}=en({id:m,rootRef:S,path:y,dropTargets:d,title:T});sn({mainRef:L,resize:b,rootRef:S});let Se=(0,Z.useCallback)(Dr=>{C(Dr)},[]),rt=()=>Z.default.isValidElement(n)&&(q||P)?Z.default.cloneElement(n,oa(q,P)):n,Vr=(0,Z.useMemo)(()=>({dispatch:O,id:m,path:y,title:ce,load:N,loadSession:A,onConfigChange:V,purge:W,save:te,saveSession:ue,setComponentProps:Se}),[O,m,N,A,V,y,W,te,ue,Se,ce]),Nr=typeof v=="object"?v:{};return(0,at.jsx)("div",{...h,className:I(Et,i,{[`${Et}-collapsed`]:s,[`${Et}-expanded`]:c,[`${Et}-resize-defer`]:b==="defer"}),"data-resizeable":E,id:m,ref:(0,un.useForkRef)(t,S),style:x,tabIndex:-1,children:(0,at.jsxs)(er.Provider,{value:Vr,children:[v?(0,at.jsx)(o,{...Nr,collapsed:s,contributions:M,expanded:c,closeable:a,onEditTitle:J,orientation:g,tearOut:w,title:ce}):null,(0,at.jsx)("div",{className:`${Et}-main`,ref:L,children:rt()})]})})});cn.displayName="View";var tr=Z.default.memo(cn);tr.displayName="View";Me("View",tr,"view");var Te=require("react/jsx-runtime"),rr="vuuLayoutStartPanel",dn=r=>{let{dispatch:e,path:t}=an(),[o,n]=(0,or.useState)();return(0,or.useMemo)(()=>{e==null||e({type:"query",path:t,query:"PARENT_CONTAINER"}).then(s=>{(s==null?void 0:s.parentContainerId)==="main-tabs"?n("initial"):n("nested")})},[e,t]),o===void 0?null:(0,Te.jsxs)("div",{...r,className:rr,children:[o==="initial"?(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)("header",{className:`${rr}-title`,children:"Start by adding a table"}),(0,Te.jsx)("div",{className:`${rr}-text`,children:"To add a table, drag any of the Vuu Tables to this area or click the button below"})]}):null,(0,Te.jsx)(pn.Button,{className:`${rr}-addButton`,"data-icon":"add",variant:"cta"})]})};var Qe=require("react/jsx-runtime"),na="vuuPlaceholder",ia=({showStartMenu:r=!0})=>(0,Qe.jsx)(Qe.Fragment,{children:r?(0,Qe.jsx)(dn,{}):null}),nr=({className:r,showStartMenu:e,...t})=>{let o=I(na,r);return(0,Qe.jsx)(tr,{...t,className:o,"data-placeholder":!0,resizeable:!0,children:(0,Qe.jsx)(ia,{showStartMenu:e})})};nr.displayName="Placeholder";Me("Placeholder",nr);var Sn=require("@vuu-ui/vuu-popups"),Tn=require("@vuu-ui/vuu-utils");var sr=ge(require("react"));var xn=require("@vuu-ui/vuu-ui-controls"),lt=require("@vuu-ui/vuu-utils"),oe=require("react");var Br=require("@vuu-ui/vuu-utils"),sa=".vuuOverflowContainer-item:not(.wrapped)";var aa=r=>r.sort((e,t)=>{let{dataset:{index:o="?"}}=e,{dataset:{index:n="?"}}=t,i=e.classList.contains("wrapped"),s=t.classList.contains("wrapped"),a=o==="overflow",l=n==="overflow";return i&&!s?1:!i&&s?-1:a?1:l?-1:parseInt(o)>parseInt(n)?1:-1}),$r=[],Pt=(r,e="horizontal")=>{let t=[],o=[],n=-1,i=!1,s=aa(Array.from(r.children)),a=e==="vertical"?"top":"left";for(let l of s){let u=l,{dataset:{index:d="?",label:c="?",overflowPriority:p="0"}}=u,{[a]:f}=u.getBoundingClientRect();f<=n?(d==="overflow"?o.push(t.pop()):o.push({index:d,label:c,overflowPriority:p}),i=!0):i?o.push({index:d,label:c,overflowPriority:p}):t.push({index:d,label:c,overflowPriority:p}),n=f}return[t,o]},hn=(r,e,t)=>{let o=!1,n=t?`${t}-overflowed`:"overflow";e.find(({index:i})=>i==="overflow")&&e.length===1&&(o=!0);for(let i of r.children){let{dataset:{index:s="?"}}=i;e.length===0||o?r.classList.remove(n):r.classList.add(n),s!=="overflow"&&e.find(a=>a.index===s)?i.classList.add("wrapped"):i.classList.remove("wrapped")}},la=(r,{overflowPriority:e})=>Math.max(r,parseInt(e)),ua=(r,{overflowPriority:e})=>Math.min(r,parseInt(e)),fn=r=>{var e;return r.length>1&&((e=r.at(-1))==null?void 0:e.index)==="overflow"},ca=r=>{let[e]=r;for(let t=1;t<r.length;t++){let o=r[t];parseInt(o.overflowPriority)>parseInt(e.overflowPriority)&&(e=o)}return e},mn=(r,e)=>{var n;let t=r.reduce(ua,Number.MAX_SAFE_INTEGER);return e.reduce(la,0)>t?!0:e.length>1&&((n=e.at(-1))==null?void 0:n.index)==="overflow"},gn=(r,e)=>new Promise(t=>{requestAnimationFrame(()=>{let[,o]=Pt(r);ha(e,o).forEach(i=>pa(r,i)),t(o)})}),vn=(r,e,t)=>new Promise(o=>{requestAnimationFrame(()=>{let[,n]=Pt(r),i=ca(n);if(i){let[s,a]=Wr(r,i);o([s,a])}else o([e,t])})}),pa=(r,e)=>{let t=(0,Br.getElementByDataIndex)(r,e.index);if(t)t.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${e.index} not found`)},da=r=>Array.from(r.querySelectorAll(".wrapped")),ha=(r,e)=>{let t=[];for(let o of e)r.find(({index:n})=>n===o.index)||t.push(o);return t},fa=(r,e)=>{da(r).forEach(o=>{let{dataset:{index:n="?"}}=o;e.find(i=>i.index===n)||o.classList.remove("wrapped")})},bn=r=>r.querySelector('[data-index="overflow"]'),ma=r=>r.querySelector(".wrapped"),ir=r=>parseInt(getComputedStyle(r).getPropertyValue("width")),yn=(r,e)=>{let{right:t}=r.getBoundingClientRect(),o=parseInt(getComputedStyle(r).getPropertyValue("padding-right")),{right:n}=e.getBoundingClientRect();return t-o-n},wn=r=>{let e=bn(r),t=yn(r,e),o=ir(e),n=ma(r);return ir(n)<=t+o?(r.classList.remove("overflowed"),n.classList.remove("wrapped"),!0):!1},ga=(r,e)=>{let{dataset:{index:t="0",overflowPriority:o="0"}}=r,{dataset:{index:n="0",overflowPriority:i="0"}}=e;return o>i?-1:o<i?1:parseInt(t)-parseInt(n)},va=r=>Array.from(r.querySelectorAll(sa)).sort(ga),Wr=(r,e)=>{let t=va(r),o=(0,Br.getElementByDataIndex)(r,e.index,!0),n=-1,i=t.at(n),s=ir(i),a=ir(o),l=bn(r),u=yn(r,l)+s;if(u>=a)ba(o,i);else{let{left:p}=i.getBoundingClientRect(),f=u,v=[i];for(;u<a;){n-=1,i=t.at(n),v.push(i);let{left:g}=i.getBoundingClientRect(),y=p-g;u=f+y}o==null||o.classList.remove("wrapped"),v.forEach(g=>{g.classList.add("wrapped")})}let[d,c]=Pt(r);return fa(r,c),[d,c]},ba=(r,e)=>{if(!r||!e)throw Error("switchWrapOnElements, element undefined");r.classList.remove("wrapped"),e.classList.add("wrapped")};var Cn=({allowDragDrop:r=!1,itemCount:e,onMoveItem:t,onSwitchWrappedItemIntoView:o,orientation:n="horizontal"})=>{let[i,s]=(0,oe.useState)(null),a=(0,oe.useRef)($r),l=(0,oe.useRef)(null),u=(0,oe.useCallback)(w=>{var x;l.current&&((x=l.current.querySelector(".vuuOverflowContainer-OverflowIndicator button"))==null||x.setAttribute("tabindex",w))},[]),d=(0,oe.useCallback)(async()=>{if(i){let[w,x]=Pt(i,n);for(hn(i,x,"vuuOverflowContainer-wrapContainer"),fn(x)&&(x=await gn(i,x));mn(w,x);)[w,x]=await vn(i,w,x);x.length===1&&wn(i)&&(x=$r),a.current.length===0&&x.length>0?u("0"):a.current.length>0&&x.length===0&&u("-1"),a.current=x}},[i,n,u]),c=w=>typeof w=="object"&&w!==null&&"overflowItem"in w,[p,f]=(0,oe.useMemo)(()=>[()=>{let{current:w}=a;return w.map(x=>({label:x.label,action:`activate-item-${x.index}`,options:{overflowItem:x}}))},({options:w})=>{if(i&&c(w)){let[,x]=Wr(i,w.overflowItem);a.current=x,o==null||o(w.overflowItem)}return!0}],[i,o]),v=(0,oe.useMemo)(()=>{let{sizeProp:w}=lt.MEASURES[n],x=0;return new ResizeObserver(T=>{for(let h of T){let{[w]:m}=h.contentRect,S=Math.round(m);(0,lt.isValidNumber)(S)&&x!==S&&(x=S,d())}})},[d,n]);(0,lt.useLayoutEffectSkipFirst)(()=>{d()},[d,e]),(0,oe.useMemo)(()=>{i&&v.observe(i)},[i,v]);let g=(0,oe.useCallback)(w=>{s(l.current=w)},[]),y=(0,oe.useCallback)((w,x)=>{t==null||t(w,x)},[t]),{onMouseDown:b,...E}=(0,xn.useDragDropNext)({allowDragDrop:r,containerRef:l,draggableClassName:"vuuOverflowContainer",onDrop:y,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"});return{menuActionHandler:f,menuBuilder:p,onItemMouseDown:b,rootRef:g,...E}};var Ie=require("react/jsx-runtime"),ut="vuuOverflowContainer",En=sr.default.memo(({PopupMenuProps:r,allowDragDrop:e,children:t,className:o,height:n,id:i,onMoveItem:s,onSwitchWrappedItemIntoView:a,orientation:l="horizontal",overflowIcon:u,overflowPosition:d="end"})=>{let c=jt(t),{draggable:p,draggedItemIndex:f,menuActionHandler:v,menuBuilder:g,onItemMouseDown:y,rootRef:b}=Cn({allowDragDrop:e,itemCount:c.length,onMoveItem:s,onSwitchWrappedItemIntoView:a,orientation:l}),w={"--overflow-container-height":`${l==="vertical"?"100%":`${n}px`}`},x=I(`${ut}-wrapContainer`,o,{[`${ut}-horizontal`]:l==="horizontal",[`${ut}-vertical`]:l==="vertical"}),T=c.map((m,S)=>{let{"data-align":L,"data-overflow-priority":P="0",id:C=`${i}-${S}`,label:M=`Item ${S+1}`}=m.props;return(0,Ie.jsx)("div",{className:I(`${ut}-item`,{"vuuDraggable-dragAway":f===S}),"data-index":S,"data-align":L,"data-label":M,"data-overflow-priority":P,id:`${C}-wrapper`,onMouseDown:y,children:m},S)}),h=(0,Ie.jsx)("div",{className:`${ut}-OverflowIndicator`,"data-index":"overflow",children:(0,Ie.jsx)(Sn.PopupMenu,{...r,icon:u,menuBuilder:g,menuActionHandler:v,tabIndex:-1})},"overflow");return T.push(h),(0,Ie.jsxs)("div",{className:x,ref:b,style:w,children:[T,p]})});En.displayName="OverflowContainer.InnerContainer";var Pn=(0,sr.forwardRef)(function({PopupMenuProps:e,allowDragDrop:t=!1,children:o,className:n,height:i=44,id:s,onMoveItem:a,onSwitchWrappedItemIntoView:l,orientation:u,overflowIcon:d,overflowPosition:c,...p},f){let v=(0,Tn.useId)(s);return(0,Ie.jsx)("div",{...p,className:I(I(n,ut)),id:v,ref:f,children:(0,Ie.jsx)(En,{PopupMenuProps:e,allowDragDrop:t,height:i,id:v,orientation:u,overflowIcon:d,overflowPosition:c,onMoveItem:a,onSwitchWrappedItemIntoView:l,children:o})})});var ar=require("@vuu-ui/vuu-ui-controls"),Ln=require("@vuu-ui/vuu-utils");var xe=ge(require("react"));var ct=require("react/jsx-runtime"),zr="vuuTabs",ya=()=>{},wa=r=>{let e=[];return xe.default.Children.forEach(r,t=>{xe.default.isValidElement(t)?e.push(t):console.warn("Stack has unexpected child element type")}),e},xa={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},Ur=(0,xe.forwardRef)(function({TabstripProps:e=xa,active:t=0,children:o,className:n,getTabIcon:i=ya,getTabLabel:s=Xt,id:a,keyBoardActivation:l="manual",onAddTab:u,onMoveTab:d,onTabClose:c,onTabEdit:p,onTabSelectionChanged:f,showTabs:v="top",style:g},y){var M;let b=(0,Ln.useId)(a),E=(0,xe.useRef)([]),{allowCloseTab:w,allowRenameTab:x,className:T}=e,h=(0,xe.useCallback)((O,N,A,V)=>{p==null||p(V,N)},[p]),m=()=>{var O;return xe.default.isValidElement(o)?o:Array.isArray(o)&&(O=o[t])!=null?O:null},S=()=>wa(o).map((O,N)=>{let{closeable:A=w,id:V=`${b}-${N}`,"data-tab-location":J}=O.props,W=s(O,N,E.current);return E.current.push(W),(0,ct.jsx)(ar.Tab,{ariaControls:V,"data-icon":i(O,N),id:`${V}-tab`,index:N,label:W,location:J,closeable:A,editable:x},V)}),L=m(),P=v==="left"||v==="right",C=P?"vertical":"horizontal";return(0,ct.jsxs)("div",{className:I(zr,n,{[`${zr}-horizontal`]:P}),style:g,id:b,ref:y,children:[v?(0,ct.jsx)(ar.Tabstrip,{...e,activeTabIndex:(M=e==null?void 0:e.activeTabIndex)!=null?M:L===null?-1:t,allowDragDrop:e.allowDragDrop!==!1,animateSelectionThumb:!0,className:I("vuuTabHeader",T),"aria-label":"data tabs",keyBoardActivation:l,onActiveChange:f,onAddTab:u,onCloseTab:c,onExitEditMode:h,onMoveTab:d,orientation:C,children:S()}):null,(0,ct.jsx)("div",{"aria-labelledby":`${b}-${t}`,className:`${zr}-tabPanel`,role:"tabpanel",children:L})]})});Ur.displayName="Stack";var Mn=require("@vuu-ui/vuu-utils"),Oe=ge(require("react"));var qr=require("react/jsx-runtime"),Ca=()=>(0,qr.jsx)(nr,{resizeable:!0,style:{flexGrow:1,flexShrink:0,flexBasis:0}}),lr=r=>{var T;let e=(0,Oe.useRef)(null),t=nt(),{loadState:o}=ot(),{createNewChild:n,id:i,onTabSelectionChanged:s,path:a,...l}=r,{children:u}=r,d=(0,Mn.useId)(i),[c]=Yt(d,e,a),p=Ko(),f=(T=n!=null?n:p)!=null?T:Ca,v=h=>{a&&(t({type:"switch-tab",id:d,path:a,nextIdx:h}),s==null||s(h))},g=(0,Oe.useCallback)(h=>{if(Array.isArray(u)){let{props:{"data-path":m,path:S=m}}=u[h];t({type:"remove",path:S})}},[u,t]),y=(0,Oe.useCallback)(()=>{if(a){let h=Oe.default.Children.count(u),m=f(h);t({type:"add",path:a,component:m})}},[u,f,t,a]),b=(0,Oe.useCallback)((h,m)=>{a&&t({fromIndex:h,toIndex:m,path:a,type:"move-child"})},[t,a]);return(0,qr.jsx)(Ur,{...l,id:d,getTabLabel:(h,m,S)=>{let{id:L,title:P}=h.props;return o(L,"view-title")||P||Xt(h,m,S)},onMouseDown:async(h,m)=>{let S;await c({type:"mousedown",index:m,preDragActivity:async()=>new Promise(C=>{console.log("preDragActivity: Ok, gonna release the drag"),S=C})},h)&&(S==null||S(void 0))},onMoveTab:b,onAddTab:y,onTabClose:g,onTabEdit:(h,m)=>{t({type:"set-title",path:`${a}.${h}`,title:m})},onTabSelectionChanged:v,ref:e})};lr.displayName="Stack";Me("Stack",lr,"container");var $n=require("@vuu-ui/vuu-ui-controls"),Wn=require("@vuu-ui/vuu-utils");var ht=ge(require("react"));var Hn=require("@vuu-ui/vuu-utils"),dt=require("react");var Fn=require("@salt-ds/core"),Fe=require("@vuu-ui/vuu-utils"),Q=require("react"),j=require("@vuu-ui/vuu-utils");var Rn=require("@vuu-ui/vuu-utils"),Sa=(r,e)=>{if(r){let t=r.querySelector(`[data-index]:has(${e})`);return(0,Rn.getElementDataIndex)(t)}return-1};var kn=r=>Sa(r,".vuuEditableLabel-editing");var An={horizontal:{[j.Home]:"start",[j.End]:"end",[j.ArrowLeft]:"bwd",[j.ArrowRight]:"fwd"},vertical:{[j.Home]:"start",[j.End]:"end",[j.ArrowUp]:"bwd",[j.ArrowDown]:"fwd"}},Vn=r=>r!==null&&r.dataset.index==="overflow",Ta=(r,e,t,o,n)=>{if(r){let i=e==="bwd"&&o>0,s=e==="fwd"&&o<t,a=i||s,l=Lt(r,o,!0),u=n&&!On(l),d=!n&&Vn(l);return n&&On(l),a&&(u||d)}else return!1},Ea=(r,e="horizontal")=>An[e][r]!==void 0,Pa=r=>r===j.ArrowDown;function In(r,e,t){return e==="start"?0:e==="end"?r-1:e==="bwd"?t>0?t-1:t:t===null?0:t===r-1?t:t+1}var On=r=>r!==null&&!r.classList.contains("wrapped"),Nn=r=>Array.from(r.querySelectorAll("[data-index]")),La=r=>r===null?-1:Nn(r).map(o=>o.dataset.index).indexOf("overflow"),Lt=(r,e,t=!1)=>{if(r!==null){let n=Nn(r)[e];return!t&&Vn(n)?null:n}return null},Dn=({containerRef:r,defaultHighlightedIdx:e=-1,highlightedIdx:t,onNavigateOutOfBounds:o,orientation:n})=>{let i=(0,Q.useRef)(!1),s=(0,Q.useRef)(-1),[a,l]=(0,Q.useState)(!1),[u,d]=(0,Fn.useControlled)({controlled:t,default:e,name:"UseKeyboardNavigation"}),c=(0,Q.useCallback)(C=>{d(s.current=C)},[d]),p=(0,Q.useRef)(!1),f=(0,Q.useCallback)((C,M=!1,O,N=70)=>{console.log(`focus item ${C}`),c(C),O===!0&&!p.current&&(p.current=!0);let A=()=>{let V=Lt(r.current,C,!0);if(V){let J=(0,Fe.getFocusableElement)(V);J==null||J.focus()}};M?A():setTimeout(A,N)},[r,c]),v=C=>{if(s.current===-1){if(C.target.tabIndex===0){let M=(0,Fe.getElementDataIndex)((0,Fe.getClosest)(C.target,"index"));c(M)}else if(C.target.tabIndex!==-1){let M=kn(r.current);M!==-1&&requestAnimationFrame(()=>{c(M)})}}},g=(0,Q.useCallback)(()=>{var C,M;return(M=(C=r.current)==null?void 0:C.querySelectorAll("[data-index]").length)!=null?M:0},[r]),y=(0,Q.useCallback)((C="fwd",M)=>{var W;let O=g(),N=typeof M=="number"?M:O,A=In(O,C,N),V=C==="start"?"fwd":C==="end"?"bwd":C,J=((W=r.current)==null?void 0:W.querySelector(".vuuOverflowContainer-wrapContainer-overflowed"))!=null;for(;Ta(r.current,V,O,A,J);){let q=In(O,V,A);if(q===A)return N;A=q}return A},[r,g]),b=(0,Q.useCallback)(C=>{let M=An[n][C.key],O=y(M,u);console.log(`highlightedIdx = ${u}, nextIdx = ${O} `),O!==u?f(O,!0):o==null||o(M==="bwd"?"start":"end")},[n,y,u,f,o]),E=(0,Q.useCallback)(()=>{let C=Lt(r.current,u);return C?C.querySelector(".vuuPopupMenu")!=null:!1},[r,u]),w=(0,Q.useCallback)(()=>{let C=Lt(r.current,u);return C?C.querySelector(".vuuEditableLabel-input")!=null:!1},[r,u]),x=(0,Q.useCallback)(()=>{let C=Lt(r.current,u),M=C==null?void 0:C.querySelector(".vuuPopupMenu");return M&&(0,Fe.dispatchMouseEvent)(M,"click"),!1},[r,u]),T=(0,Q.useCallback)(C=>{g()>0&&Ea(C.key,n)?(C.preventDefault(),p.current||(p.current=!0),b(C)):Pa(C.key)&&E()&&!w()&&x()},[x,g,E,w,b,n]),h=(C,M)=>{c(M)},m=(0,Q.useCallback)(()=>{a||(l(!0),i.current?i.current=!1:p.current=!0)},[a]),S=(0,Q.useCallback)(()=>{a||(i.current=!0),p.current=!1},[a]),L=(0,Q.useCallback)(C=>{if((C==null?void 0:C.type)==="escape"){let M=La(r.current);M!==-1&&f(M)}},[r,f]);return{containerProps:{onBlur:C=>{let M=C.target.closest(".vuuToolbar"),O=C.relatedTarget;M&&!(M!=null&&M.contains(O))&&(c(-1),l(!1))},onMouseDownCapture:S,onFocus:m,onMouseLeave:()=>{p.current=!0,c(-1),i.current=!1}},focusVisible:p.current?u:-1,focusIsWithinComponent:a,highlightedIdx:u,focusableIdx:0,focusItem:f,onClick:h,onFocus:v,onKeyDown:T,onOverflowMenuClose:L,setHighlightedIdx:c}};var Mt=require("@vuu-ui/vuu-utils"),Ee=require("@vuu-ui/vuu-ui-controls"),pt=require("react"),Ma=["Enter"," "],Ra={},_n=({containerRef:r,defaultSelected:e,highlightedIdx:t,itemQuery:o,onSelectionChange:n,selected:i,selectionStrategy:s})=>{let[a,l,u]=(0,Ee.useControlled)({controlled:i,default:e!=null?e:[],name:"useSelection",state:"selected"}),d=(0,pt.useCallback)(y=>Ma.includes(y.key),[]),c=(0,pt.useCallback)((y,b=!1)=>{let E=(0,Ee.allowMultipleSelection)(s,b)?a.concat(y):[y];l(E),n==null||n(E)},[n,a,s,l]),p=(0,pt.useCallback)((y,b=!1)=>{let E=s==="deselectable"||s==="multiple-special-key"&&!b?[]:a.filter(w=>w!==y);l(E),n==null||n(E)},[n,a,s,l]),f=(0,pt.useCallback)(y=>{d(y)&&(0,Mt.isSelectableElement)(y.target)&&(a.includes(t)?(0,Ee.deselectionIsAllowed)(s)&&(y.stopPropagation(),y.preventDefault(),p(t,y.shiftKey)):(y.stopPropagation(),y.preventDefault(),c(t,y.shiftKey)))},[d,a,t,s,c,p]),v=(0,pt.useCallback)((y,b)=>{let E=(0,Mt.getClosestIndexItem)(y.target);(0,Mt.isSelectableElement)(E)&&(a.includes(b)?(0,Ee.deselectionIsAllowed)(s)&&p(b,y.shiftKey):c(b,y.shiftKey))},[p,c,a,s]),g=(0,Ee.selectionIsDisallowed)(s)?Ra:{onClick:v,onKeyDown:f};return{activateItem:c,itemHandlers:g,isControlled:u,selected:a}};var Bn=({activeItemIndex:r,defaultActiveItemIndex:e,containerRef:t,itemQuery:o="vuuToolbarItem",onActiveChange:n,onNavigateOutOfBounds:i,orientation:s,selectionStrategy:a})=>{let l=(0,dt.useRef)(r),{focusItem:u,highlightedIdx:d,onClick:c,onKeyDown:p,setHighlightedIdx:f,...v}=Dn({containerRef:t,onNavigateOutOfBounds:i,orientation:s}),{activateItem:g,itemHandlers:{onClick:y,onKeyDown:b},selected:E}=_n({containerRef:t,defaultSelected:e,highlightedIdx:d,itemQuery:o,onSelectionChange:n,selected:r,selectionStrategy:a});l.current=E;let w=(0,dt.useCallback)(m=>{var P;let L=m.target.closest("[data-index]");if(L){let C=parseInt((P=L.dataset.index)!=null?P:"-1");C!==-1&&(0,Hn.isValidNumber)(C)&&(c(m,C),y==null||y(m,C))}},[c,y]),x=(0,dt.useCallback)(m=>{p(m),m.defaultPrevented||b==null||b(m)},[p,b]),T=(0,dt.useCallback)(m=>{let S=parseInt(m.index);isNaN(S)||(g(S),u(S))},[u,g]),h={onClick:w,onFocus:v.onFocus,onKeyDown:x};return{activeItemIndex:E,focusableIdx:v.focusableIdx,focusVisible:v.focusVisible,containerProps:{PopupMenuProps:{onKeyDown:x,onMenuClose:v.onOverflowMenuClose},...v.containerProps,onSwitchWrappedItemIntoView:T},itemProps:h}};var Un=require("react/jsx-runtime"),Rt="vuuToolbar",zn=({activeItemIndex:r,alignItems:e="start",defaultActiveItemIndex:t,children:o,className:n,id:i,onActiveChange:s,onNavigateOutOfBounds:a,orientation:l="horizontal",selectionStrategy:u="none",showSeparators:d=!1,...c})=>{let p=(0,ht.useRef)(null),{activeItemIndex:f,focusableIdx:v,focusVisible:g,itemProps:y,...b}=Bn({activeItemIndex:r,defaultActiveItemIndex:t,containerRef:p,onActiveChange:s,onNavigateOutOfBounds:a,orientation:l,selectionStrategy:u}),E=(0,Wn.useId)(i),w=(0,ht.useMemo)(()=>jt(o).map((x,T)=>{let{id:h=`${E}-tab-${T}`,className:m,...S}=x.props,L=f.includes(T);return ht.default.cloneElement(x,{...(0,$n.forwardCallbackProps)(S,y),className:I("vuuToolbarItem",m),"data-overflow-priority":L?"1":void 0,id:h,key:T,"aria-selected":L,tabIndex:v===T?0:-1})}),[f,o,v,E,y]);return(0,Un.jsx)(Pn,{...c,...b.containerProps,className:I(n,Rt,`${Rt}-${l}`,{[`${Rt}-alignCenter`]:e==="center",[`${Rt}-alignEnd`]:e==="end",[`${Rt}-withSeparators`]:d}),...c,ref:p,children:w})};var Es=require("@vuu-ui/vuu-popups"),Bo=require("@salt-ds/core");var Ps=require("react");var kt=require("react"),ur=require("@vuu-ui/vuu-popups"),ft=require("@vuu-ui/vuu-ui-controls");var ae=require("react/jsx-runtime"),qn="vuuFilterBuilderMenu",Qr=({ListProps:r,onMenuAction:e})=>{let t=(0,kt.useRef)(null),o=(0,kt.useCallback)(i=>{i&&requestAnimationFrame(()=>{i.focus()})},[]),n=(0,kt.useCallback)((i,s)=>{let{props:{"data-action":a}}=s;e({type:"menu-action",menuId:a,options:{}})},[e]);return(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsx)("span",{className:`${qn}-trigger`,ref:t}),(0,ae.jsx)(ur.Portal,{children:(0,ae.jsx)(ur.PopupComponent,{anchorElement:t,placement:"right",children:(0,ae.jsxs)(ft.List,{...r,className:`${qn}List`,defaultHighlightedIndex:0,itemHeight:22,ref:o,onSelect:n,style:{position:"relative"},width:100,children:[(0,ae.jsx)(ft.ListItem,{"data-action":"apply-save",children:(0,ae.jsx)("span",{className:"vuuMenuButton",children:"APPLY AND SAVE"})}),(0,ae.jsx)(ft.ListItem,{"data-action":"and-clause",children:"AND"}),(0,ae.jsx)(ft.ListItem,{"data-action":"or-clause",children:"OR"})]})})})]})};var Gn=require("@vuu-ui/vuu-utils"),Jn=require("@vuu-ui/vuu-ui-controls");var le=require("react");var Gr=require("react/jsx-runtime"),Qn="vuuExpandoCombobox",ka={},Ae=(0,le.forwardRef)(function({className:e,InputProps:t=ka,ListProps:o,onInputChange:n,onSelectionChange:i,selectionStrategy:s,style:a,value:l="",...u},d){let[c,p]=(0,le.useState)(l),{itemToString:f=Gn.itemToString}=u,v=(0,le.useRef)(l),g=(0,le.useCallback)(h=>{let[m,...S]=h;return S.length?`${f(m)} + ${S.length}`:f(m)},[f]),y=(0,le.useCallback)(h=>{let{value:m}=h.target;p(m),n==null||n(h)},[n]),b=(0,le.useCallback)(h=>{p(h)},[]),[E,w]=(0,le.useMemo)(()=>{let{inputProps:h,...m}=t;return[{...m,className:`${Qn}-Input`,endAdornment:null,inputProps:{...h,autoComplete:"off",onInput:y}},{...o,className:I("vuuMenuList",o==null?void 0:o.className),"data-mode":"light",displayedItemCount:10,itemHeight:22,maxWidth:300,minWidth:80,width:"content-width"}]},[t,y,o]),x=(0,le.useCallback)((h,m)=>{Array.isArray(m)?i==null||i(null,m):m&&(p(f(m)),i==null||i(null,m))},[f,i]),T={minWidth:"fit-content"};return(0,Gr.jsx)("div",{className:I(Qn,e),"data-text":c,ref:d,style:a,children:(0,Gr.jsx)(Jn.ComboBox,{...u,PopupProps:T,defaultValue:v.current,fullWidth:!0,ListProps:w,InputProps:E,itemsToString:g,onSelectionChange:x,onSetSelectedText:b,selectionStrategy:s})})});var ii=require("react");var Ge=require("react"),Kn=require("@vuu-ui/vuu-ui-controls"),cr=require("@vuu-ui/vuu-utils"),jn=require("react/jsx-runtime"),Zn=(0,Ge.forwardRef)(function({InputProps:e,className:t,column:o,onInputComplete:n,value:i},s){let[a,l]=(0,Ge.useState)((0,cr.isValidNumber)(i)?i.toString():""),u=(0,Ge.useCallback)(c=>{let{value:p}=c.target,f=parseFloat(p);(0,cr.isValidNumber)(f)&&console.log("its valid"),l(p)},[]),d=(0,Ge.useCallback)(c=>{if(c.key==="Enter"){let{value:p}=c.target,f=parseFloat(p);(0,cr.isValidNumber)(f)&&n(f)}},[n]);return(0,jn.jsx)(Kn.ExpandoInput,{...e,className:t,value:a,ref:s,onChange:u,onKeyDown:d})});var pr=require("@vuu-ui/vuu-utils"),Ia=["=","in","!=","starts","ends"],Oa=["=","!=",">",">=","<","<="],Xn=r=>{if((0,pr.isTextColumn)(r))return Ia;if((0,pr.isNumericColumn)(r))return Oa;throw Error("getOperators only supports text and numeric columns")};var X=require("react"),ei=require("@vuu-ui/vuu-data-react"),ti=require("@vuu-ui/vuu-ui-controls");var It=require("react/jsx-runtime"),Fa=["Enter"," "],Yn=["No matching data"],Jr=(0,X.forwardRef)(function({InputProps:e={},className:t,column:o,"data-field":n,onDeselect:i,onInputComplete:s,operator:a,suggestionProvider:l=ei.useTypeaheadSuggestions,table:u,value:d},c){let[p,f]=(0,X.useState)(d!=null?d:""),[v,g]=(0,X.useState)([]),y=l(),b=(0,X.useCallback)((h,m)=>s(m),[s]),E=(0,X.useCallback)((h,m)=>{m.length===1?s(m[0]):m.length>1&&s(m)},[s]);(0,X.useEffect)(()=>{},[o]),(0,X.useEffect)(()=>{if(u){let h=p?[u,o.name,p]:[u,o.name];y(h).then(m=>{m.length===0&&p?g(Yn):g(m)}).catch(m=>{console.error("Error getting suggestions",m)})}},[u,o,p,y]);let w=(0,X.useCallback)(h=>{let{value:m}=h.target;f(m)},[]),x=(0,X.useMemo)(()=>{if(a==="starts"||a==="ends"){let{inputProps:h,...m}=e;return{...m,inputProps:{...h,onKeyDown:S=>{var L;S.key==="Enter"&&p!==""?(S.stopPropagation(),S.preventDefault(),s(p)):(L=h==null?void 0:h.onKeyDown)==null||L.call(h,S)}}}}else return e},[e,s,a,p]);return(0,X.useCallback)(()=>{if(v.length===0)return null;switch(a){case"in":return(0,It.jsx)(Ae,{InputProps:x,className:t,"data-field":n,initialHighlightedIndex:0,source:v,onInputChange:w,onSelectionChange:E,ref:c,selectionStrategy:"multiple",selectionKeys:Fa,value:d});case"starts":return(0,It.jsx)(Ae,{InputProps:x,ListProps:{className:"vuuIllustrationsOnly",disabled:!0},allowFreeText:!0,className:t,"data-field":n,initialHighlightedIndex:0,disableFilter:v===Yn&&(p==null?void 0:p.length)>0,source:v,onInputChange:w,onSelectionChange:b,ref:c,value:d});case"ends":return(0,It.jsx)(ti.ExpandoInput,{...x,className:t,"data-field":n,value:p,ref:c,onChange:w});default:return(0,It.jsx)(Ae,{InputProps:x,allowBackspaceClearsSelection:!0,className:t,"data-field":n,initialHighlightedIndex:0,source:v,title:"value",onInputChange:w,onDeselect:i,onSelectionChange:b,ref:c,value:d})}},[a,x,t,n,v,w,E,c,d,p,i,b])()});var Ve=require("@vuu-ui/vuu-utils"),B=require("react"),Aa=r=>r.selectionStart===0,Va=r=>r.selectionStart===r.value.length,ri=r=>r!=null&&r.classList.contains("vuuFilterClauseColumn")?"column":r!=null&&r.classList.contains("vuuFilterClauseOperator")?"operator":"value",oi=()=>{let r=document.activeElement;return r!=null&&r.classList.contains("vuuFilterClause-clearButton")?r:r==null?void 0:r.closest(".vuuFilterClauseField")},Ot=(r="fwd")=>{var o;let e=oi(),t=e==null?void 0:e.closest(".vuuFilterClause");if(r==="fwd"&&(t==null?void 0:t.lastChild)===e)requestAnimationFrame(()=>{Ot()});else{let n=r==="fwd"?e==null?void 0:e.nextElementSibling:e==null?void 0:e.previousElementSibling;(o=n==null?void 0:n.querySelector("input"))==null||o.focus()}},Na=r=>{var t;let e=r.closest("[data-index]");if(e){let o=e.dataset.index;return((t=e==null?void 0:e.parentElement)==null?void 0:t.querySelector(`[data-index]:has(.vuuFilterClause):has(+[data-index="${o}"])`))!==null}},Kr=()=>{let r=oi(),e=r==null?void 0:r.closest(".vuuFilterClause");if(e&&r)if(r.classList.contains("vuuFilterClauseValue")){let t=e.querySelector(".vuuFilterClause-clearButton");t==null||t.focus()}else Ot()},Da=r=>{let e=r.target,t=Aa(e),o=Va(e),n=e.closest(".vuuFilterClauseField");if(r.key==="ArrowLeft"){if(t){if(ri(n)==="column")return;{let s=n.previousSibling,a=s==null?void 0:s.querySelector("input");r.preventDefault(),console.log("%cfocus nextInput","color:green;font-weight:bold"),a==null||a.focus(),requestAnimationFrame(()=>{a==null||a.select()})}}r.stopPropagation()}else if(r.key==="ArrowRight"){if(o){if(ri(n)==="value")return;{let s=n.nextSibling,a=s==null?void 0:s.querySelector("input");r.preventDefault(),a==null||a.focus(),requestAnimationFrame(()=>{a==null||a.select()})}}r.stopPropagation()}},_a=r=>(0,Ve.isMultiValueFilter)(r)?r.values:(0,Ve.isSingleValueFilter)(r)?r.value:void 0,ni=({filterClause:r,onCancel:e,onChange:t,tableSchema:o})=>{let n=(0,B.useRef)(null),i=(0,B.useRef)(null),s=(0,B.useRef)(null),[a,l]=(0,B.useState)((0,Ve.getColumnByName)(o,r.column)),[u,d]=(0,B.useState)(r.op),c=(0,B.useCallback)(S=>o.columns.find(L=>L.name===S),[o.columns]),p=(0,B.useCallback)(S=>{d(S)},[]),[f,v]=(0,B.useState)(_a(r)),g=(0,B.useCallback)((S,L)=>{l(L!=null?L:void 0),p(void 0),v(void 0),setTimeout(()=>{Kr()},100)},[p]),y=(0,B.useCallback)(S=>{var P;let L=S.target;if(L.value===""){let C=L.closest(".vuuFilterClauseField,[data-field]");switch((P=C==null?void 0:C.dataset)==null?void 0:P.field){case"operator":{p(void 0),l(void 0),Ot("bwd");break}case"value":{p(void 0),Ot("bwd");break}case"column":Na(L)&&(console.log("This is NOT the first clause"),e==null||e("Backspace"))}}},[e,p]),b=(0,B.useCallback)((S,L)=>{let P=L;if(P===void 0||(0,Ve.isValidFilterClauseOp)(P))p(P),Kr();else throw Error(`FilterClauseEditor, invalid value ${P} for filter clause`)},[p]),E=(0,B.useCallback)(S=>{v(S),S!==null&&S!==""&&(Array.isArray(S)?t({column:a==null?void 0:a.name,op:u,values:S}):t({column:a==null?void 0:a.name,op:u,value:S}))},[t,u,a==null?void 0:a.name]),w=(0,B.useCallback)(()=>{v(void 0)},[]),x=(0,B.useCallback)(S=>{if(["ArrowLeft","ArrowRight"].includes(S.key))Da(S);else if(S.key==="Backspace")y(S);else if(S.key==="Enter"){let L=S.target,P=L.closest("[data-field]");if(P.dataset.field==="column"){let C=c(L.value);C&&(l(C),Kr())}else if(P.dataset.field==="value"&&u==="starts"){S.stopPropagation();let C=L.value;v(C),t({column:a==null?void 0:a.name,op:u,value:C})}}},[c,t,u,y,a==null?void 0:a.name]),T=(0,B.useCallback)(S=>{var C;let P=(C=S.target.closest(".vuuFilterClause"))==null?void 0:C.querySelector("input");l(void 0),p(void 0),v(void 0),setTimeout(()=>{P.select(),P==null||P.focus()},100)},[p]),h=(0,B.useCallback)(S=>{S.stopPropagation(),S.key==="Backspace"&&Ot("bwd")},[]),m=(0,B.useMemo)(()=>({inputProps:{onKeyDownCapture:x}}),[x]);return(0,B.useEffect)(()=>{var L;let S=(L=n.current)==null?void 0:L.querySelector("input");S==null||S.focus()},[]),{InputProps:m,columnRef:n,onChangeValue:E,onClear:T,onClearKeyDown:h,onDeselectValue:w,onSelectionChangeColumn:g,onSelectionChangeOperator:b,operator:u,operatorRef:i,selectedColumn:a,value:f,valueRef:s}};var si=require("@salt-ds/core"),Ne=require("react/jsx-runtime"),be="vuuFilterClause",Zr=({className:r,onCancel:e,onChange:t,onDropdownClose:o,onDropdownOpen:n,filterClause:i,suggestionProvider:s,tableSchema:a,...l})=>{var L;let{table:u,columns:d}=a,{InputProps:c,columnRef:p,onChangeValue:f,onClear:v,onClearKeyDown:g,onDeselectValue:y,onSelectionChangeColumn:b,onSelectionChangeOperator:E,operator:w,operatorRef:x,selectedColumn:T,value:h,valueRef:m}=ni({filterClause:i,onCancel:e,onChange:t,tableSchema:a}),S=(0,ii.useCallback)(()=>{if(T===null||w===void 0)return null;switch(T==null?void 0:T.serverDataType){case"string":case"char":return(0,Ne.jsx)(Jr,{InputProps:c,className:I(`${be}Field`,`${be}Value`),column:T,"data-field":"value",filterClause:i,onDeselect:y,onInputComplete:f,operator:w,ref:m,suggestionProvider:s,table:u,value:h});case"int":case"long":case"double":return(0,Ne.jsx)(Zn,{InputProps:c,className:I(`${be}Field`,`${be}Value`),column:T,filterClause:i,onInputComplete:f,operator:w,ref:m});case void 0:console.log("returning undefined");return;default:return console.log("returning unsupported"),null}},[T,w,c,i,f,m,s,u,h]);return(0,Ne.jsxs)("div",{className:I(be,r),...l,tabIndex:0,children:[(0,Ne.jsx)(Ae,{InputProps:c,allowBackspaceClearsSelection:!0,className:I(`${be}Field`,`${be}Column`),"data-field":"column",initialHighlightedIndex:0,itemToString:P=>P.name,onSelectionChange:b,ref:p,source:d,title:"column",value:(L=T==null?void 0:T.name)!=null?L:""}),T!=null&&T.name?(0,Ne.jsx)(Ae,{InputProps:c,allowBackspaceClearsSelection:!0,className:I(`${be}Field`,`${be}Operator`,{[`${be}Operator-hidden`]:T===null}),"data-field":"operator",initialHighlightedIndex:0,onSelectionChange:E,ref:x,source:Xn(T),title:"operator",value:w!=null?w:""}):null,S(),h!==void 0?(0,Ne.jsx)(si.Button,{className:`${be}-clearButton`,onClick:v,onKeyDown:g,"data-icon":"close"}):null]})};var mr=require("@vuu-ui/vuu-popups"),Si=require("@vuu-ui/vuu-ui-controls"),Ke=require("@vuu-ui/vuu-utils");var At=require("react");var pi=require("@vuu-ui/vuu-popups"),di=require("react");var ai=r=>({label:"Close",location:"filter",action:"close-filter",options:r}),li=r=>({label:"Delete",location:"filter",action:"delete-filter",options:r}),ui=r=>({label:"Rename",location:"filter",action:"rename-filter",options:r}),ci=r=>({label:"Edit",location:"filter",action:"edit-filter",options:r});var fi=require("react/jsx-runtime"),Ha="vuuFilterPillMenu",hi=({allowClose:r=!0,allowDelete:e=!0,allowEdit:t=!0,allowRename:o=!0,filter:n,location:i,onMenuAction:s,onMenuClose:a})=>{let[l,u]=(0,di.useMemo)(()=>[(d,c)=>{let p=[];return o&&p.push(ui(c)),t&&p.push(ci(c)),r&&p.push(ai(c)),e&&p.push(li(c)),p},{filter:n}],[r,e,t,o,n]);return(0,fi.jsx)(pi.PopupMenu,{className:Ha,menuBuilder:l,menuActionHandler:s,menuLocation:I("filter",i),menuOptions:u,onMenuClose:a,tabIndex:-1})};var _=require("@vuu-ui/vuu-utils"),Y="and",dr="=",Ba=">",$a="<",mi="or",jr="starts",Wa="ends",gi="in",mt=(r,e=[])=>(r&&((0,_.isMultiClauseFilter)(r)?r.filters.forEach(t=>e.push(...mt(t))):e.push(r)),e),vi={combineWith:"and"},Yr=r=>{let{filters:e}=r;return e.length>2?{...r,filters:r.filters.slice(0,-1)}:r.filters[0]},fr=(r,e,{combineWith:t=Y}=vi)=>(0,_.isMultiClauseFilter)(r)&&r.op===t?{...r,filters:r.filters.concat(e)}:{op:t,filters:[r,e]},eo=(r,e)=>(0,_.isMultiClauseFilter)(r)?{...r,filters:r.filters.slice(0,-1).concat(e)}:e,za=(r,e,{combineWith:t=Y}=vi)=>{var o;if(to(e))(0,_.isMultiClauseFilter)(e)||(r=Xr(r,{name:e.column}));else if(Ua(e))return(0,_.isMultiClauseFilter)(e),Xr(r,{name:(o=e.column)!=null?o:""});if(!r)return e;if(!e)return r;if(r.op===Y&&e.op===Y)return{op:Y,filters:Ga(r.filters,e.filters)};if(r.op===Y){let n=qa(r.filters,e);return n.length>1?{op:Y,filters:n}:n[0]}return e.op===Y?{op:Y,filters:e.filters.concat(r)}:hr(r,e,!0)?e:wi(r,e)?Qa(r,e):{op:t,filters:[r,e]}},to=r=>r?(0,_.isInFilter)(r)&&r.values.length===0?!0:(0,_.isAndFilter)(r)&&r.filters.some(e=>to(e)):!1,Ua=r=>r?r.op===jr&&r.value===""?!0:r.op===jr&&r.value==="":!1,qa=(r,e)=>r.concat(e),Qa=(r,e)=>to(e)?e:(0,_.isInFilter)(r)&&(0,_.isInFilter)(e)?{...r,values:[...r.values,...e.values.filter(t=>!r.values.includes(t))]}:(0,_.isInFilter)(r)&&e.op===dr?{...r,values:r.values.concat([e.value])}:r.op===dr&&e.op===dr?{column:r.column,op:gi,values:[r.value,e.value]}:e,Ga=(r,e)=>{let t=({op:i},{op:s})=>i===s||i[0]===">"&&s[0]===">"||i[0]==="<"&&s[0]==="<",o=(i,s)=>i.column===s.column&&t(i,s),n=i=>e.some(s=>o(i,s))===!1;return r.filter(n).concat(e)},Ja=(r,e)=>{if(hr(r,e,!0))return null;if(r.op!==Y)throw Error(`removeFilter cannot remove ${JSON.stringify(e)} from ${JSON.stringify(r)}`);let t=r.filters.filter(o=>!hr(o,e));return t.length>0?{type:Y,filters:t}:null},Ka=(r,e)=>{if(!e)return[void 0,void 0];if(e.column===r)return[e,void 0];if(e.op!==Y)return[void 0,e];let[[t=void 0],o]=(0,_.partition)(e.filters,n=>n.column===r);return o.length===1?[t,o[0]]:[t,{op:Y,filters:o}]},bi=(r,e)=>(0,_.isMultiClauseFilter)(r)?{op:r.op,filters:r.filters.map(t=>bi(t,e))}:{...r,column:e},yi=(r,e)=>{if(!r)return!1;let{op:t,column:o}=r;switch(t){case Y:case mi:return r.filters!=null&&r.filters.some(n=>yi(n,e));default:return o===e.name}},Xr=(r,e)=>{let t=e.name;if(r&&r.column!==t){if((0,_.isAndFilter)(r)||(0,_.isOrFilter)(r)){let{op:o}=r,i=r.filters.filter(s=>s.column!==t);switch(i.length){case 0:return;case 1:return i[0];default:return{op:o,filters:i}}}return r}},wi=(r,e)=>r.column===e.column&&(r.op==="="||r.op==="in")&&(e.op==="="||e.op==="in"),Za=(r,e)=>{if(r===e)return!0;if(r.length===e.length){let t=r.slice().sort(),o=e.slice().sort();return t.join("|")===o.join("|")}return!1},hr=(r,e,t=!1)=>t?r&&e&&wi(r,e)?r.op===e.op&&((0,_.isSingleValueFilter)(r)&&(0,_.isSingleValueFilter)(e)&&r.value===e.value||(0,_.isMultiValueFilter)(r)&&(0,_.isMultiValueFilter)(e)&&Za(r.values,e.values)):!1:!0,xi=(r,e,t)=>{if(r&&e){if(t==="replace")return e;if(r.op==="and")return{...r,filters:r.filters.concat(e)};let{column:o}=e;if(o&&(e.column?(0,_.extractFilterForColumn)(r,o):void 0)&&o){let i=Xr(r,{name:o});return xi(i,e,"add")}return{op:"and",filters:[r,e]}}return e||r},ja=(r,e,t)=>{if(e.length!==0){if(t){let o=e[0].substring(0,e[0].length-3);return{column:r,op:"starts",value:`"${o}"`}}return{column:r,op:"in",values:e.map(o=>`"${o}"`)}}},Xa=(r,e,t)=>{if(e!==void 0&&!(t===void 0||isNaN(t)))return{column:r,op:e,value:t}};var Pe=require("@vuu-ui/vuu-utils"),Ft=require("react/jsx-runtime"),ro=r=>(0,Pe.isMultiClauseFilter)(r)?(0,Ft.jsxs)("div",{children:[(0,Ft.jsx)("span",{children:"Match all ..."}),r.filters.map((e,t)=>(0,Ft.jsx)("div",{children:ro(e)},t))]}):(0,Pe.isMultiValueFilter)(r)?r.values.length>3?`${r.column} ${r.op} [${r.values.slice(0,3).map(Pe.quotedStrings).join(",")} ...]`:`${r.column} ${r.op} [${r.values.map(Pe.quotedStrings).join(",")}]`:`${r.column} ${r.op} ${(0,Pe.filterValue)(r.value)}`;var Je=require("react/jsx-runtime"),Ci="vuuFilterPill",Ya=r=>{if(r.name)return r.name;if((0,Ke.isMultiClauseFilter)(r)){let[e]=mt(r);return`${(0,Ke.filterAsQuery)(e)} ${r.op} ...`}else return(0,Ke.filterAsQuery)(r)},oo=({className:r,editable:e=!0,filter:t,id:o,onBeginEdit:n,onExitEditMode:i,onMenuAction:s,showMenu:a=!0,...l})=>{let u=(0,At.useRef)(null),d=(0,At.useCallback)(()=>{n==null||n(t)},[t,n]),c=Ya(t),p=(0,Ke.useId)(o),f=(0,At.useCallback)(y=>{(y==null?void 0:y.type)==="escape"&&requestAnimationFrame(()=>{u.current&&u.current.focus()})},[]),{anchorProps:v,tooltipProps:g}=(0,mr.useTooltip)({id:p,placement:"below",tooltipContent:ro(t)});return(0,Je.jsxs)("div",{...v,...l,className:I(Ci,r),"data-text":c,ref:u,children:[e&&i?(0,Je.jsx)(Si.EditableLabel,{defaultValue:c,onEnterEditMode:d,onExitEditMode:i},c):(0,Je.jsx)("span",{className:`${Ci}-label`,children:c}),a&&s?(0,Je.jsx)(hi,{filter:t,onMenuAction:s,onMenuClose:f}):null,g?(0,Je.jsx)(mr.Tooltip,{...g}):null]})};var wt=require("@vuu-ui/vuu-utils"),F=require("react");var ol=require("react");var gr=require("react"),no=require("@salt-ds/core"),tl=require("@vuu-ui/vuu-ui-controls");var el=require("react"),Ti=require("react/jsx-runtime");var Ei=require("react/jsx-runtime");var rl=require("@vuu-ui/vuu-utils");var nl=require("@salt-ds/core");var Pi=require("react/jsx-runtime");var io=ge(require("react"));var so=require("react/jsx-runtime");var je=ge(require("react"));var Li=ge(require("react")),Ze=require("react/jsx-runtime"),vr=class extends Li.default.Component{constructor(e){super(e),this.state={errorMessage:null}}static getDerivedStateFromError(e){return{errorMessage:e.message}}componentDidCatch(e,t){console.log(`error creating component at ${this.props.url}`),console.log(e,t)}render(){return this.state.errorMessage?(0,Ze.jsxs)(Ze.Fragment,{children:[(0,Ze.jsx)("h1",{children:"An error occured while creating component."}),(0,Ze.jsx)("p",{children:this.state.errorMessage})]}):this.props.children}};var Ri=require("react/jsx-runtime"),Mi=()=>(0,Ri.jsx)("div",{className:"hwLoader"});var ki=async r=>{let e=new CSSStyleSheet;return fetch(r).then(t=>t.text()).then(t=>e.replace(t))};var Vt=require("react/jsx-runtime"),br=new Map,il=r=>{(0,je.useEffect)(()=>()=>{br.delete(r)},[r]),br.has(r)||br.set(r,je.default.lazy(()=>import(r)));let e=br.get(r);if(e)return e;throw Error(`Unable to load Lazy Feature at url ${r}`)};function sl({url:r,css:e,ComponentProps:t,...o}){e&&ki(e).then(i=>{document.adoptedStyleSheets=[...document.adoptedStyleSheets,i]});let n=il(r);return(0,Vt.jsx)(vr,{url:r,children:(0,Vt.jsx)(je.Suspense,{fallback:(0,Vt.jsx)(Mi,{}),children:(0,Vt.jsx)(n,{...o,...t})})})}var ao=je.default.memo(sl);ao.displayName="Feature";Me("Feature",ao,"view");var uo=require("@vuu-ui/vuu-ui-controls");var Nt=require("@salt-ds/core"),co=require("react");var Fi=require("react/jsx-runtime"),pl="saveLayoutPanel",pm=`${pl}-formField`;var gl=require("@vuu-ui/vuu-ui-controls");var De=ge(require("react"));var _i=require("@vuu-ui/vuu-popups");var po={layout:{type:"Stack",id:"main-tabs",props:{className:"vuuShell-mainTabs",TabstripProps:{allowAddTab:!0,allowCloseTab:!0,allowRenameTab:!0,animateSelectionThumb:!1,location:"main-tab",tabClassName:"MainTab"},preserve:!0,active:0},children:[{props:{id:"tab1",title:"Tab 1",className:"vuuShell-Placeholder"},type:"Placeholder"}]}};var Ai=require("@vuu-ui/vuu-utils");var Di=require("react");var dl=require("react/jsx-runtime");var ml=require("react/jsx-runtime");var fl=De.default.createContext({getApplicationSettings:()=>{},layoutMetadata:[],saveLayout:()=>{},applicationJson:po,saveApplicationLayout:()=>{},saveApplicationSettings:()=>{},loadLayoutById:()=>{}});var Dt=()=>(0,De.useContext)(fl);var Hi=require("react/jsx-runtime");var ho=require("react/jsx-runtime");var Bi=require("react"),U=require("react/jsx-runtime"),$i=(0,Bi.memo)(()=>(0,U.jsxs)("svg",{width:"44",height:"45",viewBox:"0 0 44 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,U.jsxs)("g",{clipPath:"url(#clip0_217_6990)",children:[(0,U.jsx)("path",{d:"M39.8642 15.5509L35.9196 7.58974L34.3369 6.85464L24.6235 22.0825L39.1628 30.618L42.3152 25.6347L39.8642 15.5509Z",fill:"url(#paint0_linear_217_6990)"}),(0,U.jsx)("path",{d:"M42.6246 24.8716C41.9199 25.9157 40.9625 26.824 39.767 27.4905C38.424 28.2396 36.9563 28.597 35.5081 28.597C32.7541 28.597 30.0715 27.3094 28.4466 24.9855L15.772 3.90967L15.7655 3.9206C13.3615 0.137431 8.25372 -1.13143 4.24754 1.10507C0.178173 3.37435 -1.20852 8.39359 1.14854 12.3125L18.3445 40.9095C19.1108 42.1846 20.1816 43.1834 21.4144 43.8764C21.4241 43.8826 21.4338 43.8889 21.4435 43.8951C21.4484 43.8982 21.4549 43.9013 21.4597 43.9045C22.0332 44.2228 22.6423 44.471 23.2725 44.6536C23.3194 44.6677 23.368 44.6817 23.415 44.6942C23.6418 44.7551 23.8702 44.8097 24.1019 44.8534C24.1456 44.8612 24.1894 44.8659 24.2331 44.8737C24.4194 44.9049 24.6073 44.9314 24.7952 44.9501C24.8698 44.9579 24.9443 44.9658 25.0188 44.9704C25.2342 44.9876 25.4497 44.9985 25.6668 45.0001C25.6781 45.0001 25.6895 45.0001 25.6992 45.0001C25.7024 45.0001 25.704 45.0001 25.7073 45.0001C25.7105 45.0001 25.7121 45.0001 25.7154 45.0001C25.9503 45.0001 26.1868 44.9876 26.4217 44.9689C26.4751 44.9642 26.5286 44.9595 26.5837 44.9533C26.8137 44.9299 27.0438 44.9002 27.2738 44.8596C27.277 44.8596 27.2803 44.8596 27.2835 44.8596C27.5362 44.8144 27.7889 44.7551 28.0384 44.6864C28.0546 44.6817 28.0692 44.677 28.0854 44.6723C28.4483 44.5709 28.8063 44.4445 29.1594 44.2931C29.1659 44.29 29.174 44.2868 29.1805 44.2837C29.4494 44.1682 29.7151 44.0418 29.9759 43.8967C30.24 43.75 30.491 43.5908 30.7308 43.4206C30.9398 43.2739 31.1407 43.1179 31.3367 42.9524C31.5748 42.7495 31.8 42.5373 32.009 42.3141C32.1661 42.1471 32.3168 41.9723 32.4609 41.7913C32.5079 41.732 32.5517 41.6711 32.5954 41.6118C32.6942 41.4807 32.7882 41.3465 32.8789 41.2091C32.9259 41.1373 32.9728 41.0671 33.0182 40.9953C33.036 40.9672 33.0555 40.9407 33.0717 40.9126L42.7153 24.8763H42.6214L42.6246 24.8716Z",fill:"url(#paint1_linear_217_6990)"}),(0,U.jsx)("path",{d:"M42.8402 16.4218L42.1112 15.2232L38.9636 9.58433L37.504 7.19644C37.2286 6.56123 36.579 6.11331 35.8176 6.11331C34.8083 6.11331 33.9919 6.90147 33.9919 7.87223C33.9919 8.20154 34.0907 8.50432 34.2543 8.76808L34.2349 8.78056L39.9048 18.0808C40.5884 19.2186 40.7715 20.5437 40.4199 21.8141C40.0684 23.0845 39.226 24.1458 38.045 24.806C37.2675 25.2398 36.3846 25.4693 35.4936 25.4693C33.6727 25.4693 31.9766 24.5281 31.0662 23.0143L22.9161 9.63271H22.9323L19.4899 3.90958L19.4834 3.92051C19.4235 3.8253 19.3538 3.73947 19.2907 3.64738L19.1935 3.48663C19.1935 3.48663 19.1854 3.49131 19.1821 3.49443C17.5654 1.27666 14.9799 0.0390178 12.3118 0.00936427V0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.961 26.8255 41.9168 25.9156 42.6231 24.8731H42.717L42.6846 24.9261C43.1366 24.2347 43.4833 23.4731 43.7068 22.6615C44.2916 20.5452 43.9871 18.3352 42.8369 16.4234L42.8402 16.4218Z",fill:"#F37880"}),(0,U.jsxs)("g",{opacity:"0.86",children:[(0,U.jsx)("path",{d:"M34.2332 8.78212L39.9031 18.0824C40.5868 19.2202 40.7698 20.5452 40.4183 21.8156C40.2044 22.5897 39.8059 23.2858 39.2616 23.8617C39.9744 23.2343 40.4879 22.4243 40.7423 21.5035C41.0938 20.2331 40.9107 18.908 40.2271 17.7703L34.5572 8.46998L34.5767 8.4575C34.413 8.19374 34.3142 7.89096 34.3142 7.56165C34.3142 7.15586 34.4584 6.78285 34.6982 6.48476C34.2672 6.80626 33.9902 7.30881 33.9902 7.87379C33.9902 8.2031 34.0891 8.50588 34.2527 8.76964L34.2332 8.78212Z",fill:"white"}),(0,U.jsx)("path",{d:"M42.6917 24.9169L42.6863 24.9256C42.6863 24.9256 42.6899 24.9187 42.6935 24.9152C42.6935 24.9152 42.6935 24.9152 42.6935 24.9169H42.6917Z",fill:"white"}),(0,U.jsx)("path",{d:"M40.0911 27.1798C38.7481 27.9289 37.2804 28.2863 35.8322 28.2863C33.0782 28.2863 30.3955 26.9988 28.7707 24.6749L16.0961 3.59744L16.0896 3.60837C14.9281 1.78077 13.1364 0.543128 11.1422 0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.4815 27.0924 41.1084 26.6055 41.6511 26.0561C41.1862 26.479 40.6662 26.8583 40.0894 27.1798H40.0911Z",fill:"white"})]})]}),(0,U.jsxs)("defs",{children:[(0,U.jsxs)("linearGradient",{id:"paint0_linear_217_6990",x1:"24.6235",y1:"18.7363",x2:"42.3152",y2:"18.7363",gradientUnits:"userSpaceOnUse",children:[(0,U.jsx)("stop",{stopColor:"#4906A5"}),(0,U.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,U.jsxs)("linearGradient",{id:"paint1_linear_217_6990",x1:"-2.35794e-05",y1:"22.5009",x2:"42.7186",y2:"22.5009",gradientUnits:"userSpaceOnUse",children:[(0,U.jsx)("stop",{stopColor:"#7C06A5"}),(0,U.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,U.jsx)("clipPath",{id:"clip0_217_6990",children:(0,U.jsx)("rect",{width:"44",height:"45",fill:"white"})})]})]}));$i.displayName="VuuLogo";var zi=require("@vuu-ui/vuu-ui-controls"),vl=require("@vuu-ui/vuu-utils");var Ui=require("react");var Wi=require("react/jsx-runtime");var qi=require("react/jsx-runtime");var ee=require("@vuu-ui/vuu-utils");var bl=["config","aggregate","viewport-update","columns","debounce-begin","disabled","enabled","filter","groupBy","vuu-link-created","vuu-link-removed","vuu-links","vuu-menu","sort","subscribed"],Qi=r=>{let e=r.type;return bl.includes(e)};var Gi="GET_TABLE_META";var Ji='\nvar ie=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var m=(r,e,t)=>(ie(r,e,"read from private field"),t?t.call(r):e.get(r)),ae=(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)},ue=(r,e,t,s)=>(ie(r,e,"write to private field"),s?s.call(r,t):e.set(r,t),t);function le(r,e,t=[],s=[]){for(let n=0,o=r.length;n<o;n++)(e(r[n],n)?t:s).push(r[n]);return[t,s]}var $={IDX:0,RENDER_IDX:1,IS_LEAF:2,IS_EXPANDED:3,DEPTH:4,COUNT:5,KEY:6,SELECTED:7,count:8,PARENT_IDX:"parent_idx",IDX_POINTER:"idx_pointer",FILTER_COUNT:"filter_count",NEXT_FILTER_IDX:"next_filter_idx"};var{DEPTH:Pt,IS_LEAF:Lt}=$;var ce=r=>{var e,t;if(((e=globalThis.document)==null?void 0:e.cookie)!==void 0)return(t=globalThis.document.cookie.split("; ").find(s=>s.startsWith(`${r}=`)))==null?void 0:t.split("=")[1]};function G({from:r,to:e},t=0,s=Number.MAX_SAFE_INTEGER){if(t===0)return s<r?{from:0,to:0}:{from:r,to:Math.min(e,s)};if(r===0)return{from:r,to:Math.min(e+t,s)};{let n=e-r,o=Math.round(t/2),i=r-o<0,u=s-(e+o)<0;return i&&u?{from:0,to:s}:i?{from:0,to:n+t}:u?{from:Math.max(0,s-(n+t)),to:s}:{from:r-o,to:e+o}}}var je=(r,{from:e,to:t})=>r>=e&&r<t;var D=class r{constructor(e,t){this.from=e,this.to=t}isWithin(e){return je(e,this)}overlap(e,t){return e>=this.to||t<this.from?[0,0]:[Math.max(e,this.from),Math.min(t,this.to)]}copy(){return new r(this.from,this.to)}};var pe=r=>r.type==="connection-status",de=r=>r.type==="connection-metrics";var ge=r=>"viewport"in r;var Qe=["error","warn","info","debug"],Ye=r=>typeof r=="string"&&Qe.includes(r),Ze="error",P=()=>{},Xe="error",{loggingLevel:L=Xe}=et(),b=r=>{let e=L==="debug",t=e||L==="info",s=t||L==="warn",n=s||L==="error",o=t?p=>console.info(`[${r}] ${p}`):P,i=s?p=>console.warn(`[${r}] ${p}`):P,u=e?p=>console.debug(`[${r}] ${p}`):P;return{errorEnabled:n,error:n?p=>console.error(`[${r}] ${p}`):P}};function et(){return typeof loggingSettings<"u"?loggingSettings:{loggingLevel:tt()}}function tt(){let r=ce("vuu-logging-level");return Ye(r)?r:Ze}var{debug:st,debugEnabled:nt}=b("range-monitor"),k=class{constructor(e){this.source=e;this.range={from:0,to:0};this.timestamp=0}isSet(){return this.timestamp!==0}set({from:e,to:t}){let{timestamp:s}=this;if(this.range.from=e,this.range.to=t,this.timestamp=performance.now(),s)nt&&st(`<${this.source}> [${e}-${t}], ${(this.timestamp-s).toFixed(0)} ms elapsed`);else return 0}};var O=class{constructor(e){this.keys=new Map,this.free=[],this.nextKeyValue=0,this.reset(e)}next(){return this.free.length>0?this.free.pop():this.nextKeyValue++}reset({from:e,to:t}){this.keys.forEach((n,o)=>{(o<e||o>=t)&&(this.free.push(n),this.keys.delete(o))});let s=t-e;this.keys.size+this.free.length>s&&(this.free.length=Math.max(0,s-this.keys.size));for(let n=e;n<t;n++)if(!this.keys.has(n)){let o=this.next();this.keys.set(n,o)}this.nextKeyValue>this.keys.size&&(this.nextKeyValue=this.keys.size)}keyFor(e){let t=this.keys.get(e);if(t===void 0)throw console.log(`key not found\n keys: ${this.toDebugString()}\n free : ${this.free.join(",")} \n `),Error(`KeySet, no key found for rowIndex ${e}`);return t}toDebugString(){return Array.from(this.keys.entries()).map((e,t)=>`${e}=>${t}`).join(",")}};var{SELECTED:$t}=$,w={False:0,True:1,First:2,Last:4};var rt=(r,e)=>e>=r[0]&&e<=r[1],ot=w.True+w.First+w.Last,it=w.True+w.First,at=w.True+w.Last,z=(r,e)=>{for(let t of r)if(typeof t=="number"){if(t===e)return ot}else if(rt(t,e))return e===t[0]?it:e===t[1]?at:w.True;return w.False};var he=r=>{if(r.every(t=>typeof t=="number"))return r;let e=[];for(let t of r)if(typeof t=="number")e.push(t);else for(let s=t[0];s<=t[1];s++)e.push(s);return e};var fe=r=>r.type==="VIEW_PORT_MENU_RESP"&&r.action!==null&&x(r.action.table),x=r=>r!==null&&typeof r=="object"&&"table"in r&&"module"in r?r.table.startsWith("session"):!1;var ut=["VIEW_PORT_MENUS_SELECT_RPC","VIEW_PORT_MENU_TABLE_RPC","VIEW_PORT_MENU_ROW_RPC","VIEW_PORT_MENU_CELL_RPC","VP_EDIT_CELL_RPC","VP_EDIT_ROW_RPC","VP_EDIT_ADD_ROW_RPC","VP_EDIT_DELETE_CELL_RPC","VP_EDIT_DELETE_ROW_RPC","VP_EDIT_SUBMIT_FORM_RPC"],me=r=>ut.includes(r.type),Ce=r=>r.type==="VIEW_PORT_RPC_CALL",A=({requestId:r,...e})=>[r,e],Re=r=>{let e=r.at(0);if(e.updateType==="SIZE"){if(r.length===1)return r;e=r.at(1)}let t=r.at(-1);return[e,t]},Se=r=>{let e={};for(let t of r)(e[t.viewPortId]||(e[t.viewPortId]=[])).push(t);return e},H=({columns:r,dataTypes:e,key:t,table:s})=>({table:s,columns:r.map((n,o)=>({name:n,serverDataType:e[o]})),key:t});var Te="CHANGE_VP_SUCCESS";var be="CLOSE_TREE_NODE",Ee="CLOSE_TREE_SUCCESS";var we="CREATE_VP",Ve="DISABLE_VP",ve="DISABLE_VP_SUCCESS";var ye="ENABLE_VP",Me="ENABLE_VP_SUCCESS";var K="GET_VP_VISUAL_LINKS",_e="GET_VIEW_PORT_MENUS";var Ie="HB",De="HB_RESP",Pe="LOGIN",Le="OPEN_TREE_NODE",ke="OPEN_TREE_SUCCESS";var Oe="REMOVE_VP";var xe="SET_SELECTION_SUCCESS";var Ne=r=>{switch(r){case"TypeAheadRpcHandler":return"TYPEAHEAD";default:return"SIMUL"}};var Ue=[],R=b("array-backed-moving-window");function lt(r,e){if(!e||e.data.length!==r.data.length||e.sel!==r.sel)return!1;for(let t=0;t<e.data.length;t++)if(e.data[t]!==r.data[t])return!1;return!0}var h,N=class{constructor({from:e,to:t},{from:s,to:n},o){ae(this,h,void 0);this.setRowCount=e=>{var t;if((t=R.info)==null||t.call(R,`setRowCount ${e}`),e<this.internalData.length&&(this.internalData.length=e),e<this.rowCount){this.rowsWithinRange=0;let s=Math.min(e,this.clientRange.to);for(let n=this.clientRange.from;n<s;n++){let o=n-m(this,h).from;this.internalData[o]!==void 0&&(this.rowsWithinRange+=1)}}this.rowCount=e};this.bufferBreakout=(e,t)=>{let s=this.bufferSize*.25;return m(this,h).to-t<s?!0:m(this,h).from>0&&e-m(this,h).from<s};this.bufferSize=o,this.clientRange=new D(e,t),ue(this,h,new D(s,n)),this.internalData=new Array(o),this.rowsWithinRange=0,this.rowCount=0}get range(){return m(this,h)}get hasAllRowsWithinRange(){return this.rowsWithinRange===this.clientRange.to-this.clientRange.from||this.rowCount>0&&this.clientRange.from+this.rowsWithinRange===this.rowCount}outOfRange(e,t){let{from:s,to:n}=this.range;if(t<s||e>=n)return!0}setAtIndex(e){let{rowIndex:t}=e,s=t-m(this,h).from;if(lt(e,this.internalData[s]))return!1;let n=this.isWithinClientRange(t);return(n||this.isWithinRange(t))&&(!this.internalData[s]&&n&&(this.rowsWithinRange+=1),this.internalData[s]=e),n}getAtIndex(e){return m(this,h).isWithin(e)&&this.internalData[e-m(this,h).from]!=null?this.internalData[e-m(this,h).from]:void 0}isWithinRange(e){return m(this,h).isWithin(e)}isWithinClientRange(e){return this.clientRange.isWithin(e)}setClientRange(e,t){var p;(p=R.debug)==null||p.call(R,`setClientRange ${e} - ${t}`);let s=this.clientRange.from,n=Math.min(this.clientRange.to,this.rowCount);if(e===s&&t===n)return[!1,Ue];let o=this.clientRange.copy();this.clientRange.from=e,this.clientRange.to=t,this.rowsWithinRange=0;for(let a=e;a<t;a++){let l=a-m(this,h).from;this.internalData[l]&&(this.rowsWithinRange+=1)}let i=Ue,u=m(this,h).from;if(this.hasAllRowsWithinRange)if(t>o.to){let a=Math.max(e,o.to);i=this.internalData.slice(a-u,t-u)}else{let a=Math.min(o.from,t);i=this.internalData.slice(e-u,a-u)}return[this.bufferBreakout(e,t),i]}setRange(e,t){var s,n;if(e!==m(this,h).from||t!==m(this,h).to){(s=R.debug)==null||s.call(R,`setRange ${e} - ${t}`);let[o,i]=m(this,h).overlap(e,t),u=new Array(t-e);this.rowsWithinRange=0;for(let c=o;c<i;c++){let p=this.getAtIndex(c);if(p){let a=c-e;u[a]=p,this.isWithinClientRange(c)&&(this.rowsWithinRange+=1)}}this.internalData=u,m(this,h).from=e,m(this,h).to=t}else(n=R.debug)==null||n.call(R,`setRange ${e} - ${t} IGNORED because not changed`)}get data(){return this.internalData}getData(){var u;let{from:e,to:t}=m(this,h),{from:s,to:n}=this.clientRange,o=Math.max(0,s-e),i=Math.min(t-e,t,n-e,(u=this.rowCount)!=null?u:t);return this.internalData.slice(o,i)}clear(){var e;(e=R.debug)==null||e.call(R,"clear"),this.internalData.length=0,this.rowsWithinRange=0,this.setRowCount(0)}getCurrentDataRange(){let e=this.internalData,t=e.length,[s]=this.internalData,n=this.internalData[t-1];if(s&&n)return[s.rowIndex,n.rowIndex];for(let o=0;o<t;o++)if(e[o]!==void 0){s=e[o];break}for(let o=t-1;o>=0;o--)if(e[o]!==void 0){n=e[o];break}return s&&n?[s.rowIndex,n.rowIndex]:[-1,-1]}};h=new WeakMap;var ct=[],{debug:f,debugEnabled:U,error:pt,info:d,infoEnabled:dt,warn:y}=b("viewport"),gt=({rowKey:r,updateType:e})=>e==="U"&&!r.startsWith("$root"),W=[void 0,void 0],ht={count:0,mode:void 0,size:0,ts:0},q=class{constructor({aggregations:e,bufferSize:t=50,columns:s,filter:n,groupBy:o=[],table:i,range:u,sort:c,title:p,viewport:a,visualLink:l},g){this.batchMode=!0;this.hasUpdates=!1;this.pendingUpdates=[];this.pendingOperations=new Map;this.pendingRangeRequests=[];this.rowCountChanged=!1;this.selectedRows=[];this.useBatchMode=!0;this.lastUpdateStatus=ht;this.updateThrottleTimer=void 0;this.rangeMonitor=new k("ViewPort");this.disabled=!1;this.isTree=!1;this.status="";this.suspended=!1;this.suspendTimer=null;this.setLastSizeOnlyUpdateSize=e=>{this.lastUpdateStatus.size=e};this.setLastUpdate=e=>{let{ts:t,mode:s}=this.lastUpdateStatus,n=0;if(s===e){let o=Date.now();this.lastUpdateStatus.count+=1,this.lastUpdateStatus.ts=o,n=t===0?0:o-t}else this.lastUpdateStatus.count=1,this.lastUpdateStatus.ts=0,n=0;return this.lastUpdateStatus.mode=e,n};this.rangeRequestAlreadyPending=e=>{let{bufferSize:t}=this,s=t*.25,{from:n}=e;for(let{from:o,to:i}of this.pendingRangeRequests)if(n>=o&&n<i){if(e.to+s<=i)return!0;n=i}return!1};this.sendThrottledSizeMessage=()=>{this.updateThrottleTimer=void 0,this.lastUpdateStatus.count=3,this.postMessageToClient({clientViewportId:this.clientViewportId,mode:"size-only",size:this.lastUpdateStatus.size,type:"viewport-update"})};this.shouldThrottleMessage=e=>{let t=this.setLastUpdate(e);return e==="size-only"&&t>0&&t<500&&this.lastUpdateStatus.count>3};this.throttleMessage=e=>this.shouldThrottleMessage(e)?(d==null||d("throttling updates setTimeout to 2000"),this.updateThrottleTimer===void 0&&(this.updateThrottleTimer=setTimeout(this.sendThrottledSizeMessage,2e3)),!0):(this.updateThrottleTimer!==void 0&&(clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=void 0),!1);this.getNewRowCount=()=>{if(this.rowCountChanged&&this.dataWindow)return this.rowCountChanged=!1,this.dataWindow.rowCount};this.aggregations=e,this.bufferSize=t,this.clientRange=u,this.clientViewportId=a,this.columns=s,this.filter=n,this.groupBy=o,this.keys=new O(u),this.pendingLinkedParent=l,this.table=i,this.sort=c,this.title=p,dt&&(d==null||d(`constructor #${a} ${i.table} bufferSize=${t}`)),this.dataWindow=new N(this.clientRange,u,this.bufferSize),this.postMessageToClient=g}get hasUpdatesToProcess(){return this.suspended?!1:this.rowCountChanged||this.hasUpdates}get size(){var e;return(e=this.dataWindow.rowCount)!=null?e:0}subscribe(){let{filter:e}=this.filter;return this.status=this.status==="subscribed"?"resubscribing":"subscribing",{type:we,table:this.table,range:G(this.clientRange,this.bufferSize),aggregations:this.aggregations,columns:this.columns,sort:this.sort,groupBy:this.groupBy,filterSpec:{filter:e}}}handleSubscribed({viewPortId:e,aggregations:t,columns:s,filterSpec:n,range:o,sort:i,groupBy:u},c){return this.serverViewportId=e,this.status="subscribed",this.aggregations=t,this.columns=s,this.groupBy=u,this.isTree=u&&u.length>0,this.dataWindow.setRange(o.from,o.to),{aggregations:t,type:"subscribed",clientViewportId:this.clientViewportId,columns:s,filter:n,groupBy:u,range:o,sort:i,tableSchema:c}}awaitOperation(e,t){this.pendingOperations.set(e,t)}completeOperation(e,...t){var u;let{clientViewportId:s,pendingOperations:n}=this,o=n.get(e);if(!o){pt(`no matching operation found to complete for requestId ${e}`);return}let{type:i}=o;if(d==null||d(`completeOperation ${i}`),n.delete(e),i==="CHANGE_VP_RANGE"){let[c,p]=t;(u=this.dataWindow)==null||u.setRange(c,p);for(let a=this.pendingRangeRequests.length-1;a>=0;a--){let l=this.pendingRangeRequests[a];if(l.requestId===e){l.acked=!0;break}else y==null||y("range requests sent faster than they are being ACKed")}}else if(i==="config"){let{aggregations:c,columns:p,filter:a,groupBy:l,sort:g}=o.data;return this.aggregations=c,this.columns=p,this.filter=a,this.groupBy=l,this.sort=g,l.length>0?this.isTree=!0:this.isTree&&(this.isTree=!1),f==null||f(`config change confirmed, isTree : ${this.isTree}`),{clientViewportId:s,type:i,config:o.data}}else{if(i==="groupBy")return this.isTree=o.data.length>0,this.groupBy=o.data,f==null||f(`groupBy change confirmed, isTree : ${this.isTree}`),{clientViewportId:s,type:i,groupBy:o.data};if(i==="columns")return this.columns=o.data,{clientViewportId:s,type:i,columns:o.data};if(i==="filter")return this.filter=o.data,{clientViewportId:s,type:i,filter:o.data};if(i==="aggregate")return this.aggregations=o.data,{clientViewportId:s,type:"aggregate",aggregations:this.aggregations};if(i==="sort")return this.sort=o.data,{clientViewportId:s,type:i,sort:this.sort};if(i!=="selection"){if(i==="disable")return this.disabled=!0,{type:"disabled",clientViewportId:s};if(i==="enable")return this.disabled=!1,{type:"enabled",clientViewportId:s};if(i==="CREATE_VISUAL_LINK"){let[c,p,a]=t;return this.linkedParent={colName:c,parentViewportId:p,parentColName:a},this.pendingLinkedParent=void 0,{type:"vuu-link-created",clientViewportId:s,colName:c,parentViewportId:p,parentColName:a}}else if(i==="REMOVE_VISUAL_LINK")return this.linkedParent=void 0,{type:"vuu-link-removed",clientViewportId:s}}}}rangeRequest(e,t){U&&this.rangeMonitor.set(t);let s="CHANGE_VP_RANGE";if(this.dataWindow){let[n,o]=this.dataWindow.setClientRange(t.from,t.to),i,u=this.dataWindow.rowCount||void 0,c=n&&!this.rangeRequestAlreadyPending(t)?{type:s,viewPortId:this.serverViewportId,...G(t,this.bufferSize,u)}:null;if(c){U&&(f==null||f(`create CHANGE_VP_RANGE: [${c.from} - ${c.to}]`)),this.awaitOperation(e,{type:s});let a=this.pendingRangeRequests.at(-1);if(a)if(a.acked)console.warn("Range Request before previous request is filled");else{let{from:l,to:g}=a;this.dataWindow.outOfRange(l,g)?i={clientViewportId:this.clientViewportId,type:"debounce-begin"}:y==null||y("Range Request before previous request is acked")}this.pendingRangeRequests.push({...c,requestId:e}),this.useBatchMode&&(this.batchMode=!0)}else o.length>0&&(this.batchMode=!1);this.keys.reset(this.dataWindow.clientRange);let p=this.isTree?j:J;return o.length?[c,o.map(a=>p(a,this.keys,this.selectedRows))]:i?[c,void 0,i]:[c]}else return[null]}setLinks(e){return this.links=e,[{type:"vuu-links",links:e,clientViewportId:this.clientViewportId},this.pendingLinkedParent]}setMenu(e){return{type:"vuu-menu",menu:e,clientViewportId:this.clientViewportId}}openTreeNode(e,t){return this.useBatchMode&&(this.batchMode=!0),{type:Le,vpId:this.serverViewportId,treeKey:t.key}}closeTreeNode(e,t){return this.useBatchMode&&(this.batchMode=!0),{type:be,vpId:this.serverViewportId,treeKey:t.key}}createLink(e,t,s,n){let o={type:"CREATE_VISUAL_LINK",parentVpId:s,childVpId:this.serverViewportId,parentColumnName:n,childColumnName:t};return this.awaitOperation(e,o),this.useBatchMode&&(this.batchMode=!0),o}removeLink(e){let t={type:"REMOVE_VISUAL_LINK",childVpId:this.serverViewportId};return this.awaitOperation(e,t),t}suspend(){this.suspended=!0,d==null||d("suspend")}resume(){return this.suspended=!1,U&&(f==null||f(`resume: ${this.currentData()}`)),[this.size,this.currentData()]}currentData(){let e=[];if(this.dataWindow){let t=this.dataWindow.getData(),{keys:s}=this,n=this.isTree?j:J;for(let o of t)o&&e.push(n(o,s,this.selectedRows))}return e}enable(e){return this.awaitOperation(e,{type:"enable"}),d==null||d(`enable: ${this.serverViewportId}`),{type:ye,viewPortId:this.serverViewportId}}disable(e){return this.awaitOperation(e,{type:"disable"}),d==null||d(`disable: ${this.serverViewportId}`),this.suspended=!1,{type:Ve,viewPortId:this.serverViewportId}}columnRequest(e,t){return this.awaitOperation(e,{type:"columns",data:t}),f==null||f(`columnRequest: ${t}`),this.createRequest({columns:t})}filterRequest(e,t){this.awaitOperation(e,{type:"filter",data:t}),this.useBatchMode&&(this.batchMode=!0);let{filter:s}=t;return d==null||d(`filterRequest: ${s}`),this.createRequest({filterSpec:{filter:s}})}setConfig(e,t){this.awaitOperation(e,{type:"config",data:t});let{filter:s,...n}=t;return this.useBatchMode&&(this.batchMode=!0),U?f==null||f(`setConfig ${JSON.stringify(t)}`):d==null||d("setConfig"),this.createRequest({...n,filterSpec:typeof(s==null?void 0:s.filter)=="string"?{filter:s.filter}:{filter:""}},!0)}aggregateRequest(e,t){return this.awaitOperation(e,{type:"aggregate",data:t}),d==null||d(`aggregateRequest: ${t}`),this.createRequest({aggregations:t})}sortRequest(e,t){return this.awaitOperation(e,{type:"sort",data:t}),d==null||d(`sortRequest: ${JSON.stringify(t.sortDefs)}`),this.createRequest({sort:t})}groupByRequest(e,t=ct){var s;return this.awaitOperation(e,{type:"groupBy",data:t}),this.useBatchMode&&(this.batchMode=!0),this.isTree||(s=this.dataWindow)==null||s.clear(),this.createRequest({groupBy:t})}selectRequest(e,t){return this.selectedRows=t,this.awaitOperation(e,{type:"selection",data:t}),d==null||d(`selectRequest: ${t}`),{type:"SET_SELECTION",vpId:this.serverViewportId,selection:he(t)}}removePendingRangeRequest(e,t){for(let s=this.pendingRangeRequests.length-1;s>=0;s--){let{from:n,to:o}=this.pendingRangeRequests[s],i=!0;if(e>=n&&e<o||t>n&&t<o){i||console.warn("removePendingRangeRequest TABLE_ROWS are not for latest request"),this.pendingRangeRequests.splice(s,1);break}else i=!1}}updateRows(e){var n,o,i;let[t,s]=Re(e);if(t&&s&&this.removePendingRangeRequest(t.rowIndex,s.rowIndex),e.length===1)if(t.vpSize===0&&this.disabled){f==null||f(`ignore a SIZE=0 message on disabled viewport (${e.length} rows)`);return}else t.updateType==="SIZE"&&this.setLastSizeOnlyUpdateSize(t.vpSize);for(let u of e)this.isTree&>(u)||((u.updateType==="SIZE"||((n=this.dataWindow)==null?void 0:n.rowCount)!==u.vpSize)&&((o=this.dataWindow)==null||o.setRowCount(u.vpSize),this.rowCountChanged=!0),u.updateType==="U"&&(i=this.dataWindow)!=null&&i.setAtIndex(u)&&(this.hasUpdates=!0,this.batchMode||this.pendingUpdates.push(u)))}getClientRows(){let e,t="size-only";if(!this.hasUpdates&&!this.rowCountChanged)return W;if(this.hasUpdates){let{keys:s,selectedRows:n}=this,o=this.isTree?j:J;if(this.updateThrottleTimer&&(self.clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=void 0),this.pendingUpdates.length>0){e=[],t="update";for(let i of this.pendingUpdates)e.push(o(i,s,n));this.pendingUpdates.length=0}else{let i=this.dataWindow.getData();if(this.dataWindow.hasAllRowsWithinRange){e=[],t="batch";for(let u of i)e.push(o(u,s,n));this.batchMode=!1}}this.hasUpdates=!1}return this.throttleMessage(t)?W:[e,t]}createRequest(e,t=!1){return t?{type:"CHANGE_VP",viewPortId:this.serverViewportId,...e}:{type:"CHANGE_VP",viewPortId:this.serverViewportId,aggregations:this.aggregations,columns:this.columns,sort:this.sort,groupBy:this.groupBy,filterSpec:{filter:this.filter.filter},...e}}},J=({rowIndex:r,rowKey:e,sel:t,data:s},n,o)=>[r,n.keyFor(r),!0,!1,0,0,e,t?z(o,r):0].concat(s),j=({rowIndex:r,rowKey:e,sel:t,data:s},n,o)=>{let[i,u,,c,,p,...a]=s;return[r,n.keyFor(r),c,u,i,p,e,t?z(o,r):0].concat(a)};var We=1;var{debug:V,debugEnabled:Q,error:M,info:T,infoEnabled:ft,warn:Y}=b("server-proxy"),C=()=>`${We++}`,mt={},Ct=r=>r.disabled!==!0&&r.suspended!==!0,Rt={type:"NO_ACTION"},St=(r,e,t)=>r.map(s=>s.parentVpId===e?{...s,label:t}:s);function Tt(r,e){return r.map(t=>{let{parentVpId:s}=t,n=e.get(s);if(n)return{...t,parentClientVpId:n.clientViewportId,label:n.title};throw Error("addLabelsToLinks viewport not found")})}var F=class{constructor(e,t){this.authToken="";this.user="user";this.pendingRequests=new Map;this.queuedRequests=[];this.cachedTableMetaRequests=new Map;this.cachedTableSchemas=new Map;this.connection=e,this.postMessageToClient=t,this.viewports=new Map,this.mapClientToServerViewport=new Map}async reconnect(){await this.login(this.authToken);let[e,t]=le(Array.from(this.viewports.values()),Ct);this.viewports.clear(),this.mapClientToServerViewport.clear();let s=n=>{n.forEach(o=>{let{clientViewportId:i}=o;this.viewports.set(i,o),this.sendMessageToServer(o.subscribe(),i)})};s(e),setTimeout(()=>{s(t)},2e3)}async login(e,t="user"){if(e)return this.authToken=e,this.user=t,new Promise((s,n)=>{this.sendMessageToServer({type:Pe,token:this.authToken,user:t},""),this.pendingLogin={resolve:s,reject:n}});this.authToken===""&&M("login, cannot login until auth token has been obtained")}subscribe(e){if(this.mapClientToServerViewport.has(e.viewport))M(`spurious subscribe call ${e.viewport}`);else{let t=this.getTableMeta(e.table),s=new q(e,this.postMessageToClient);this.viewports.set(e.viewport,s);let n=this.awaitResponseToMessage(s.subscribe(),e.viewport);Promise.all([n,t]).then(([i,u])=>{let{viewPortId:c}=i,{status:p}=s;e.viewport!==c&&(this.viewports.delete(e.viewport),this.viewports.set(c,s)),this.mapClientToServerViewport.set(e.viewport,c);let a=s.handleSubscribed(i,u);a&&(this.postMessageToClient(a),Q&&V(`post DataSourceSubscribedMessage to client: ${JSON.stringify(a)}`)),s.disabled&&this.disableViewport(s),this.queuedRequests.length>0&&this.processQueuedRequests(),p==="subscribing"&&!x(s.table)&&(this.sendMessageToServer({type:K,vpId:c}),this.sendMessageToServer({type:_e,vpId:c}),Array.from(this.viewports.entries()).filter(([l,{disabled:g}])=>l!==c&&!g).forEach(([l])=>{this.sendMessageToServer({type:K,vpId:l})}))})}}processQueuedRequests(){let e={};for(;this.queuedRequests.length;){let t=this.queuedRequests.pop();if(t){let{clientViewportId:s,message:n,requestId:o}=t;if(n.type==="CHANGE_VP_RANGE"){if(e.CHANGE_VP_RANGE)continue;e.CHANGE_VP_RANGE=!0;let i=this.mapClientToServerViewport.get(s);i&&this.sendMessageToServer({...n,viewPortId:i},o)}}}}unsubscribe(e){let t=this.mapClientToServerViewport.get(e);t?(T==null||T(`Unsubscribe Message (Client to Server):\n ${t}`),this.sendMessageToServer({type:Oe,viewPortId:t})):M(`failed to unsubscribe client viewport ${e}, viewport not found`)}getViewportForClient(e,t=!0){let s=this.mapClientToServerViewport.get(e);if(s){let n=this.viewports.get(s);if(n)return n;if(t)throw Error(`Viewport not found for client viewport ${e}`);return null}else{if(this.viewports.has(e))return this.viewports.get(e);if(t)throw Error(`Viewport server id not found for client viewport ${e}`);return null}}setViewRange(e,t){let s=C(),[n,o,i]=e.rangeRequest(s,t.range);T==null||T(`setViewRange ${t.range.from} - ${t.range.to}`),n&&(this.sendIfReady(n,s,e.status==="subscribed")||this.queuedRequests.push({clientViewportId:t.viewport,message:n,requestId:s})),o?(T==null||T(`setViewRange ${o.length} rows returned from cache`),this.postMessageToClient({mode:"batch",type:"viewport-update",clientViewportId:e.clientViewportId,rows:o})):i&&this.postMessageToClient(i)}setConfig(e,t){let s=C(),n=e.setConfig(s,t.config);this.sendIfReady(n,s,e.status==="subscribed")}aggregate(e,t){let s=C(),n=e.aggregateRequest(s,t.aggregations);this.sendIfReady(n,s,e.status==="subscribed")}sort(e,t){let s=C(),n=e.sortRequest(s,t.sort);this.sendIfReady(n,s,e.status==="subscribed")}groupBy(e,t){let s=C(),n=e.groupByRequest(s,t.groupBy);this.sendIfReady(n,s,e.status==="subscribed")}filter(e,t){let s=C(),{filter:n}=t,o=e.filterRequest(s,n);this.sendIfReady(o,s,e.status==="subscribed")}setColumns(e,t){let s=C(),{columns:n}=t,o=e.columnRequest(s,n);this.sendIfReady(o,s,e.status==="subscribed")}setTitle(e,t){e&&(e.title=t.title,this.updateTitleOnVisualLinks(e))}select(e,t){let s=C(),{selected:n}=t,o=e.selectRequest(s,n);this.sendIfReady(o,s,e.status==="subscribed")}disableViewport(e){let t=C(),s=e.disable(t);this.sendIfReady(s,t,e.status==="subscribed")}enableViewport(e){if(e.disabled){let t=C(),s=e.enable(t);this.sendIfReady(s,t,e.status==="subscribed")}}suspendViewport(e){e.suspend(),e.suspendTimer=setTimeout(()=>{T==null||T("suspendTimer expired, escalate suspend to disable"),this.disableViewport(e)},3e3)}resumeViewport(e){e.suspendTimer&&(V==null||V("clear suspend timer"),clearTimeout(e.suspendTimer),e.suspendTimer=null);let[t,s]=e.resume();V==null||V(`resumeViewport size ${t}, ${s.length} rows sent to client`),this.postMessageToClient({clientViewportId:e.clientViewportId,mode:"batch",rows:s,size:t,type:"viewport-update"})}openTreeNode(e,t){if(e.serverViewportId){let s=C();this.sendIfReady(e.openTreeNode(s,t),s,e.status==="subscribed")}}closeTreeNode(e,t){if(e.serverViewportId){let s=C();this.sendIfReady(e.closeTreeNode(s,t),s,e.status==="subscribed")}}createLink(e,t){let{parentClientVpId:s,parentColumnName:n,childColumnName:o}=t,i=C(),u=this.mapClientToServerViewport.get(s);if(u){let c=e.createLink(i,o,u,n);this.sendMessageToServer(c,i)}else M("ServerProxy unable to create link, viewport not found")}removeLink(e){let t=C(),s=e.removeLink(t);this.sendMessageToServer(s,t)}updateTitleOnVisualLinks(e){var n;let{serverViewportId:t,title:s}=e;for(let o of this.viewports.values())if(o!==e&&o.links&&t&&s&&(n=o.links)!=null&&n.some(i=>i.parentVpId===t)){let[i]=o.setLinks(St(o.links,t,s));this.postMessageToClient(i)}}removeViewportFromVisualLinks(e){var t;for(let s of this.viewports.values())if((t=s.links)!=null&&t.some(({parentVpId:n})=>n===e)){let[n]=s.setLinks(s.links.filter(({parentVpId:o})=>o!==e));this.postMessageToClient(n)}}menuRpcCall(e){let t=this.getViewportForClient(e.vpId,!1);if(t!=null&&t.serverViewportId){let[s,n]=A(e);this.sendMessageToServer({...n,vpId:t.serverViewportId},s)}}viewportRpcCall(e){let t=this.getViewportForClient(e.vpId,!1);if(t!=null&&t.serverViewportId){let[s,n]=A(e);this.sendMessageToServer({...n,vpId:t.serverViewportId,namedParams:{}},s)}}rpcCall(e){let[t,s]=A(e),n=Ne(s.service);this.sendMessageToServer(s,t,{module:n})}handleMessageFromClient(e){var t;if(ge(e))if(e.type==="disable"){let s=this.getViewportForClient(e.viewport,!1);return s!==null?this.disableViewport(s):void 0}else{let s=this.getViewportForClient(e.viewport);switch(e.type){case"setViewRange":return this.setViewRange(s,e);case"config":return this.setConfig(s,e);case"aggregate":return this.aggregate(s,e);case"sort":return this.sort(s,e);case"groupBy":return this.groupBy(s,e);case"filter":return this.filter(s,e);case"select":return this.select(s,e);case"suspend":return this.suspendViewport(s);case"resume":return this.resumeViewport(s);case"enable":return this.enableViewport(s);case"openTreeNode":return this.openTreeNode(s,e);case"closeTreeNode":return this.closeTreeNode(s,e);case"createLink":return this.createLink(s,e);case"removeLink":return this.removeLink(s);case"setColumns":return this.setColumns(s,e);case"setTitle":return this.setTitle(s,e);default:}}else{if(Ce(e))return this.viewportRpcCall(e);if(me(e))return this.menuRpcCall(e);{let{type:s,requestId:n}=e;switch(s){case"GET_TABLE_LIST":{(t=this.tableList)!=null||(this.tableList=this.awaitResponseToMessage({type:s},n)),this.tableList.then(o=>{this.postMessageToClient({type:"TABLE_LIST_RESP",tables:o.tables,requestId:n})});return}case"GET_TABLE_META":{this.getTableMeta(e.table,n).then(o=>{o&&this.postMessageToClient({type:"TABLE_META_RESP",tableSchema:o,requestId:n})});return}case"RPC_CALL":return this.rpcCall(e);default:}}}M(`Vuu ServerProxy Unexpected message from client ${JSON.stringify(e)}`)}getTableMeta(e,t=C()){if(x(e))return Promise.resolve(void 0);let s=`${e.module}:${e.table}`,n=this.cachedTableMetaRequests.get(s);return n||(n=this.awaitResponseToMessage({type:"GET_TABLE_META",table:e},t),this.cachedTableMetaRequests.set(s,n)),n==null?void 0:n.then(o=>this.cacheTableMeta(o))}awaitResponseToMessage(e,t=C()){return new Promise((s,n)=>{this.sendMessageToServer(e,t),this.pendingRequests.set(t,{reject:n,resolve:s})})}sendIfReady(e,t,s=!0){return s&&this.sendMessageToServer(e,t),s}sendMessageToServer(e,t=`${We++}`,s=mt){let{module:n="CORE"}=s;this.authToken&&this.connection.send({requestId:t,sessionId:this.sessionId,token:this.authToken,user:this.user,module:n,body:e})}handleMessageFromServer(e){var u;let{body:t,requestId:s,sessionId:n}=e,o=this.pendingRequests.get(s);if(o){let{resolve:a}=o;this.pendingRequests.delete(s),a(t);return}let{viewports:i}=this;switch(t.type){case Ie:this.sendMessageToServer({type:De,ts:+new Date},"NA");break;case"LOGIN_SUCCESS":if(n)this.sessionId=n,(u=this.pendingLogin)==null||u.resolve(n),this.pendingLogin=void 0;else throw Error("LOGIN_SUCCESS did not provide sessionId");break;case"REMOVE_VP_SUCCESS":{let a=i.get(t.viewPortId);a&&(this.mapClientToServerViewport.delete(a.clientViewportId),i.delete(t.viewPortId),this.removeViewportFromVisualLinks(t.viewPortId))}break;case xe:{let a=this.viewports.get(t.vpId);a&&a.completeOperation(s)}break;case Te:case ve:if(i.has(t.viewPortId)){let a=this.viewports.get(t.viewPortId);if(a){let l=a.completeOperation(s);l!==void 0&&(this.postMessageToClient(l),Q&&V(`postMessageToClient ${JSON.stringify(l)}`))}}break;case Me:{let a=this.viewports.get(t.viewPortId);if(a){let l=a.completeOperation(s);if(l){this.postMessageToClient(l);let[g,S]=a.resume();this.postMessageToClient({clientViewportId:a.clientViewportId,mode:"batch",rows:S,size:g,type:"viewport-update"})}}}break;case"TABLE_ROW":{let a=Se(t.rows);for(let[l,g]of Object.entries(a)){let S=i.get(l);S?S.updateRows(g):Y==null||Y(`TABLE_ROW message received for non registered viewport ${l}`)}this.processUpdates()}break;case"CHANGE_VP_RANGE_SUCCESS":{let a=this.viewports.get(t.viewPortId);if(a){let{from:l,to:g}=t;a.completeOperation(s,l,g)}}break;case ke:case Ee:break;case"CREATE_VISUAL_LINK_SUCCESS":{let a=this.viewports.get(t.childVpId),l=this.viewports.get(t.parentVpId);if(a&&l){let{childColumnName:g,parentColumnName:S}=t,I=a.completeOperation(s,g,l.clientViewportId,S);I&&this.postMessageToClient(I)}}break;case"REMOVE_VISUAL_LINK_SUCCESS":{let a=this.viewports.get(t.childVpId);if(a){let l=a.completeOperation(s);l&&this.postMessageToClient(l)}}break;case"VP_VISUAL_LINKS_RESP":{let a=this.getActiveLinks(t.links),l=this.viewports.get(t.vpId);if(a.length&&l){let g=Tt(a,this.viewports),[S,I]=l.setLinks(g);if(this.postMessageToClient(S),I){let{link:ne,parentClientVpId:Ke}=I,re=C(),oe=this.mapClientToServerViewport.get(Ke);if(oe){let Je=l.createLink(re,ne.fromColumn,oe,ne.toColumn);this.sendMessageToServer(Je,re)}}}}break;case"VIEW_PORT_MENUS_RESP":if(t.menu.name){let a=this.viewports.get(t.vpId);if(a){let l=a.setMenu(t.menu);this.postMessageToClient(l)}}break;case"VP_EDIT_RPC_RESPONSE":this.postMessageToClient({action:t.action,requestId:s,rpcName:t.rpcName,type:"VP_EDIT_RPC_RESPONSE"});break;case"VP_EDIT_RPC_REJECT":this.viewports.get(t.vpId)&&this.postMessageToClient({requestId:s,type:"VP_EDIT_RPC_REJECT",error:t.error});break;case"VIEW_PORT_MENU_REJ":{console.log("send menu error back to client");let{error:a,rpcName:l,vpId:g}=t,S=this.viewports.get(g);S&&this.postMessageToClient({clientViewportId:S.clientViewportId,error:a,rpcName:l,type:"VIEW_PORT_MENU_REJ",requestId:s});break}case"VIEW_PORT_MENU_RESP":if(fe(t)){let{action:a,rpcName:l}=t;this.awaitResponseToMessage({type:"GET_TABLE_META",table:a.table}).then(g=>{let S=H(g);this.postMessageToClient({rpcName:l,type:"VIEW_PORT_MENU_RESP",action:{...a,tableSchema:S},tableAlreadyOpen:this.isTableOpen(a.table),requestId:s})})}else{let{action:a}=t;this.postMessageToClient({type:"VIEW_PORT_MENU_RESP",action:a||Rt,tableAlreadyOpen:a!==null&&this.isTableOpen(a.table),requestId:s})}break;case"RPC_RESP":{let{method:a,result:l}=t;this.postMessageToClient({type:"RPC_RESP",method:a,result:l,requestId:s})}break;case"VIEW_PORT_RPC_REPONSE":{let{method:a,action:l}=t;this.postMessageToClient({type:"VIEW_PORT_RPC_RESPONSE",rpcName:a,action:l,requestId:s})}break;case"ERROR":M(t.msg);break;default:ft&&T(`handleMessageFromServer ${t.type}.`)}}cacheTableMeta(e){let{module:t,table:s}=e.table,n=`${t}:${s}`,o=this.cachedTableSchemas.get(n);return o||(o=H(e),this.cachedTableSchemas.set(n,o)),o}isTableOpen(e){if(e){let t=e.table;for(let s of this.viewports.values())if(!s.suspended&&s.table.table===t)return!0}}getActiveLinks(e){return e.filter(t=>{let s=this.viewports.get(t.parentVpId);return s&&!s.suspended})}processUpdates(){this.viewports.forEach(e=>{var t;if(e.hasUpdatesToProcess){let s=e.getClientRows();if(s!==W){let[n,o]=s,i=e.getNewRowCount();(i!==void 0||n&&n.length>0)&&(Q&&V(`postMessageToClient #${e.clientViewportId} viewport-update ${o}, ${(t=n==null?void 0:n.length)!=null?t:"no"} rows, size ${i}`),o&&this.postMessageToClient({clientViewportId:e.clientViewportId,mode:o,rows:n,size:i,type:"viewport-update"}))}}})}};var{debug:us,debugEnabled:ls,error:qe,info:E,infoEnabled:bt,warn:_}=b("websocket-connection"),Fe="ws",Et=r=>r.startsWith(Fe+"://")||r.startsWith(Fe+"s://"),Ge={},X=Symbol("setWebsocket"),B=Symbol("connectionCallback");async function ze(r,e,t,s=10,n=5){return Ge[r]={status:"connecting",connect:{allowed:n,remaining:n},reconnect:{allowed:s,remaining:s}},He(r,e,t)}async function Z(r){throw Error("connection broken")}async function He(r,e,t,s){let{status:n,connect:o,reconnect:i}=Ge[r],u=n==="connecting"?o:i;try{t({type:"connection-status",status:"connecting"});let c=typeof s<"u",p=await Vt(r,e);console.info("%c\u26A1 %cconnected","font-size: 24px;color: green;font-weight: bold;","color:green; font-size: 14px;"),s!==void 0&&s[X](p);let a=s!=null?s:new ee(p,r,e,t),l=c?"reconnected":"connection-open-awaiting-session";return t({type:"connection-status",status:l}),a.status=l,u.remaining=u.allowed,a}catch{let p=--u.remaining>0;if(t({type:"connection-status",status:"disconnected",reason:"failed to connect",retry:p}),p)return wt(r,e,t,s,2e3);throw Error("Failed to establish connection")}}var wt=(r,e,t,s,n)=>new Promise(o=>{setTimeout(()=>{o(He(r,e,t,s))},n)}),Vt=(r,e)=>new Promise((t,s)=>{let n=Et(r)?r:`wss://${r}`;bt&&e!==void 0&&E(`WebSocket Protocol ${e==null?void 0:e.toString()}`);let o=new WebSocket(n,e);o.onopen=()=>t(o),o.onerror=i=>s(i)}),Be=()=>{_==null||_("Connection cannot be closed, socket not yet opened")},$e=r=>{_==null||_(`Message cannot be sent, socket closed ${r.body.type}`)},vt=r=>{try{return JSON.parse(r)}catch{throw Error(`Error parsing JSON response from server ${r}`)}},ee=class{constructor(e,t,s,n){this.close=Be;this.requiresLogin=!0;this.send=$e;this.status="ready";this.messagesCount=0;this.connectionMetricsInterval=null;this.handleWebsocketMessage=e=>{let t=vt(e.data);this.messagesCount+=1,this[B](t)};this.url=t,this.protocol=s,this[B]=n,this[X](e)}reconnect(){Z(this)}[(B,X)](e){let t=this[B];e.onmessage=o=>{this.status="connected",e.onmessage=this.handleWebsocketMessage,this.handleWebsocketMessage(o)},this.connectionMetricsInterval=setInterval(()=>{t({type:"connection-metrics",messagesLength:this.messagesCount}),this.messagesCount=0},2e3),e.onerror=()=>{qe("\u26A1 connection error"),t({type:"connection-status",status:"disconnected",reason:"error"}),this.connectionMetricsInterval&&(clearInterval(this.connectionMetricsInterval),this.connectionMetricsInterval=null),this.status==="connection-open-awaiting-session"?qe("Websocket connection lost before Vuu session established, check websocket configuration"):this.status!=="closed"&&(Z(this),this.send=n)},e.onclose=()=>{E==null||E("\u26A1 connection close"),t({type:"connection-status",status:"disconnected",reason:"close"}),this.connectionMetricsInterval&&(clearInterval(this.connectionMetricsInterval),this.connectionMetricsInterval=null),this.status!=="closed"&&(Z(this),this.send=n)};let s=o=>{e.send(JSON.stringify(o))},n=o=>{E==null||E(`TODO queue message until websocket reconnected ${o.body.type}`)};this.send=s,this.close=()=>{this.status="closed",e.close(),this.close=Be,this.send=$e,E==null||E("close websocket")}}};var v,{info:te,infoEnabled:se}=b("worker");async function yt(r,e,t,s,n,o,i){let u=await ze(r,e,c=>{de(c)?postMessage({type:"connection-metrics",messages:c}):pe(c)?(n(c),c.status==="reconnected"&&v.reconnect()):v.handleMessageFromServer(c)},o,i);v=new F(u,c=>Mt(c)),u.requiresLogin&&await v.login(t,s)}function Mt(r){postMessage(r)}var _t=async({data:r})=>{switch(r.type){case"connect":await yt(r.url,r.protocol,r.token,r.username,postMessage,r.retryLimitDisconnect,r.retryLimitStartup),postMessage({type:"connected"});break;case"subscribe":se&&te(`client subscribe: ${JSON.stringify(r)}`),v.subscribe(r);break;case"unsubscribe":se&&te(`client unsubscribe: ${JSON.stringify(r)}`),v.unsubscribe(r.viewport);break;default:se&&te(`client message: ${JSON.stringify(r)}`),v.handleMessageFromClient(r)}};self.addEventListener("message",_t);postMessage({type:"ready"});\n\n';var wl=new Blob([(0,ee.getLoggingConfigForWorker)()+Ji],{type:"text/javascript"}),xl=URL.createObjectURL(wl),gt,fo,mo=[],Cl,Sl,Pg=new Promise((r,e)=>{Cl=r,Sl=e});var _t=new Map,yr=new Map,Tl=async({handleConnectionStatusChange:r,protocol:e,retryLimitDisconnect:t,retryLimitStartup:o,token:n="",username:i,url:s})=>n===""&&fo===void 0?new Promise(a=>{mo.push({resolve:a})}):fo||(fo=new Promise(a=>{let l=new Worker(xl),u=window.setTimeout(()=>{console.error("timed out waiting for worker to load")},1e3);l.onmessage=d=>{let{data:c}=d;if(c.type==="ready")window.clearTimeout(u),l.postMessage({protocol:e,retryLimitDisconnect:t,retryLimitStartup:o,token:n,type:"connect",url:s,username:i});else if(c.type==="connected"){l.onmessage=Zi,a(l);for(let p of mo)p.resolve(l);mo.length=0}else(0,ee.isConnectionStatusMessage)(c)?r({data:c}):console.warn("ConnectionManager: Unexpected message from the worker")}}));function Zi({data:r}){if(Qi(r)){let e=_t.get(r.clientViewportId);e?e.postMessageToClientDataSource(r):console.error(`[ConnectionManager] ${r.type} message received, viewport not found`)}else if((0,ee.isConnectionStatusMessage)(r))Ki.emit("connection-status",r);else if((0,ee.isConnectionQualityMetrics)(r))Ki.emit("connection-metrics",r);else{let e=r.requestId;if(yr.has(e)){let{resolve:t}=yr.get(e);yr.delete(e);let{type:o,requestId:n,...i}=r;(0,ee.messageHasResult)(r)?t(r.result):r.type==="VP_EDIT_RPC_RESPONSE"||r.type==="VP_EDIT_RPC_REJECT"?t(r):(0,ee.isTableSchema)(r)?t(r.tableSchema):t(i)}else console.warn("%cConnectionManager Unexpected message from the worker","color:red;font-weight:bold;")}}var go=r=>{let e=(0,ee.uuid)();return gt.postMessage({requestId:e,...r}),new Promise((t,o)=>{yr.set(e,{resolve:t,reject:o})})},El={subscribe:(r,e)=>{if(_t.get(r.viewport))throw Error("ConnectionManager attempting to subscribe with an existing viewport id");_t.set(r.viewport,{status:"subscribing",request:r,postMessageToClientDataSource:e}),gt.postMessage({type:"subscribe",...r})},unsubscribe:r=>{gt.postMessage({type:"unsubscribe",viewport:r})},send:r=>{gt.postMessage(r)},destroy:r=>{r&&_t.has(r)&&_t.delete(r)},rpcCall:async r=>go(r),getTableList:async()=>go({type:"GET_TABLE_LIST"}),getTableSchema:async r=>go({type:Gi,table:r})},vo=class extends ee.EventEmitter{async connect({url:e,authToken:t,username:o,protocol:n,retryLimitDisconnect:i,retryLimitStartup:s}){return gt=await Tl({protocol:n,url:e,token:t,username:o,retryLimitDisconnect:i,retryLimitStartup:s,handleConnectionStatusChange:Zi}),El}destroy(){gt.terminate()}},Ki=new vo;var Pl=0,Ht=class{constructor(e,t){this.from=e,this.to=t}},H=class{constructor(e={}){this.id=Pl++,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=fe.match(e)),t=>{let o=e(t);return o===void 0?null:[this,o]}}};H.closedBy=new H({deserialize:r=>r.split(" ")});H.openedBy=new H({deserialize:r=>r.split(" ")});H.group=new H({deserialize:r=>r.split(" ")});H.contextHash=new H({perNode:!0});H.lookAhead=new H({perNode:!0});H.mounted=new H({perNode:!0});var Ll=Object.create(null),fe=class r{constructor(e,t,o,n=0){this.name=e,this.props=t,this.id=o,this.flags=n}static define(e){let t=e.props&&e.props.length?Object.create(null):Ll,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),n=new r(e.name||"",t,e.id,o);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(n)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[i[0].id]=i[1]}}return n}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(H.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let o in e)for(let n of o.split(" "))t[n]=e[o];return o=>{for(let n=o.prop(H.group),i=-1;i<(n?n.length:0);i++){let s=t[i<0?o.name:n[i]];if(s)return s}}}};fe.none=new fe("",Object.create(null),0,8);var Cr=class r{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 o of this.types){let n=null;for(let i of e){let s=i(o);s&&(n||(n=Object.assign({},o.props)),n[s[0].id]=s[1])}t.push(n?new fe(o.name,n,o.id,o.flags):o)}return new r(t)}},wr=new WeakMap,ji=new WeakMap,K;(function(r){r[r.ExcludeBuffers=1]="ExcludeBuffers",r[r.IncludeAnonymous=2]="IncludeAnonymous",r[r.IgnoreMounts=4]="IgnoreMounts",r[r.IgnoreOverlays=8]="IgnoreOverlays"})(K||(K={}));var ne=class r{constructor(e,t,o,n,i){if(this.type=e,this.children=t,this.positions=o,this.length=n,this.props=null,i&&i.length){this.props=Object.create(null);for(let[s,a]of i)this.props[typeof s=="number"?s:s.id]=a}}toString(){let e=this.prop(H.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let o of this.children){let n=o.toString();n&&(t&&(t+=","),t+=n)}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 bt(this.topNode,e)}cursorAt(e,t=0,o=0){let n=wr.get(this)||this.topNode,i=new bt(n);return i.moveTo(e,t),wr.set(this,i._tree),i}get topNode(){return new Ye(this,0,0,null)}resolve(e,t=0){let o=vt(wr.get(this)||this.topNode,e,t,!1);return wr.set(this,o),o}resolveInner(e,t=0){let o=vt(ji.get(this)||this.topNode,e,t,!0);return ji.set(this,o),o}iterate(e){let{enter:t,leave:o,from:n=0,to:i=this.length}=e,s=e.mode||0,a=(s&K.IncludeAnonymous)>0;for(let l=this.cursor(s|K.IncludeAnonymous);;){let u=!1;if(l.from<=i&&l.to>=n&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&o&&(a||!l.type.isAnonymous)&&o(l),!l.nextSibling();){if(!l.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:Co(fe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,o,n)=>new r(this.type,t,o,n,this.propValues),e.makeTree||((t,o,n)=>new r(fe.none,t,o,n)))}static build(e){return Ml(e)}};ne.empty=new ne(fe.none,[],[],0);var bo=class r{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 r(this.buffer,this.index)}},Xe=class r{constructor(e,t,o){this.buffer=e,this.length=t,this.set=o}get type(){return fe.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],o=this.buffer[e+3],n=this.set.types[t],i=n.name;if(/\W/.test(i)&&!n.isError&&(i=JSON.stringify(i)),e+=4,o==e)return i;let s=[];for(;e<o;)s.push(this.childString(e)),e=this.buffer[e+3];return i+"("+s.join(",")+")"}findChild(e,t,o,n,i){let{buffer:s}=this,a=-1;for(let l=e;l!=t&&!(Yi(i,n,s[l+1],s[l+2])&&(a=l,o>0));l=s[l+3]);return a}slice(e,t,o){let n=this.buffer,i=new Uint16Array(t-e),s=0;for(let a=e,l=0;a<t;){i[l++]=n[a++],i[l++]=n[a++]-o;let u=i[l++]=n[a++]-o;i[l++]=n[a++]-e,s=Math.max(s,u)}return new r(i,s,this.set)}};function Yi(r,e,t,o){switch(r){case-2:return t<e;case-1:return o>=e&&t<e;case 0:return t<e&&o>e;case 1:return t<=e&&o>e;case 2:return o>e;case 4:return!0}}function es(r,e){let t=r.childBefore(e);for(;t;){let o=t.lastChild;if(!o||o.to!=t.to)break;o.type.isError&&o.from==o.to?(r=t,t=o.prevSibling):t=o}return r}function vt(r,e,t,o){for(var n;r.from==r.to||(t<1?r.from>=e:r.from>e)||(t>-1?r.to<=e:r.to<e);){let s=!o&&r instanceof Ye&&r.index<0?null:r.parent;if(!s)return r;r=s}let i=o?0:K.IgnoreOverlays;if(o)for(let s=r,a=s.parent;a;s=a,a=s.parent)s instanceof Ye&&s.index<0&&((n=a.enter(e,t,i))===null||n===void 0?void 0:n.from)!=s.from&&(r=a);for(;;){let s=r.enter(e,t,i);if(!s)return r;r=s}}var Ye=class r{constructor(e,t,o,n){this._tree=e,this.from=t,this.index=o,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,o,n,i=0){for(let s=this;;){for(let{children:a,positions:l}=s._tree,u=t>0?a.length:-1;e!=u;e+=t){let d=a[e],c=l[e]+s.from;if(Yi(n,o,c,c+d.length)){if(d instanceof Xe){if(i&K.ExcludeBuffers)continue;let p=d.findChild(0,d.buffer.length,t,o-c,n);if(p>-1)return new Bt(new yo(s,d,e,c),null,p)}else if(i&K.IncludeAnonymous||!d.type.isAnonymous||xo(d)){let p;if(!(i&K.IgnoreMounts)&&d.props&&(p=d.prop(H.mounted))&&!p.overlay)return new r(p.tree,c,e,s);let f=new r(d,c,e,s);return i&K.IncludeAnonymous||!f.type.isAnonymous?f:f.nextChild(t<0?d.children.length-1:0,t,o,n)}}}if(i&K.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+t:e=t<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,o=0){let n;if(!(o&K.IgnoreOverlays)&&(n=this._tree.prop(H.mounted))&&n.overlay){let i=e-this.from;for(let{from:s,to:a}of n.overlay)if((t>0?s<=i:s<i)&&(t<0?a>=i:a>i))return new r(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,o)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}cursor(e=0){return new bt(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return vt(this,e,t,!1)}resolveInner(e,t=0){return vt(this,e,t,!0)}enterUnfinishedNodesBefore(e){return es(this,e)}getChild(e,t=null,o=null){let n=Sr(this,e,t,o);return n.length?n[0]:null}getChildren(e,t=null,o=null){return Sr(this,e,t,o)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return Tr(this,e)}};function Sr(r,e,t,o){let n=r.cursor(),i=[];if(!n.firstChild())return i;if(t!=null){for(;!n.type.is(t);)if(!n.nextSibling())return i}for(;;){if(o!=null&&n.type.is(o))return i;if(n.type.is(e)&&i.push(n.node),!n.nextSibling())return o==null?i:[]}}function Tr(r,e,t=e.length-1){for(let o=r.parent;t>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(e[t]&&e[t]!=o.name)return!1;t--}}return!0}var yo=class{constructor(e,t,o,n){this.parent=e,this.buffer=t,this.index=o,this.start=n}},Bt=class r{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,o){this.context=e,this._parent=t,this.index=o,this.type=e.buffer.set.types[e.buffer.buffer[o]]}child(e,t,o){let{buffer:n}=this.context,i=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,o);return i<0?null:new r(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,o=0){if(o&K.ExcludeBuffers)return null;let{buffer:n}=this.context,i=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return i<0?null:new r(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new r(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 r(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new bt(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:o}=this.context,n=this.index+4,i=o.buffer[this.index+3];if(i>n){let s=o.buffer[this.index+1];e.push(o.slice(n,i,s)),t.push(0)}return new ne(this.type,e,t,this.to-this.from)}resolve(e,t=0){return vt(this,e,t,!1)}resolveInner(e,t=0){return vt(this,e,t,!0)}enterUnfinishedNodesBefore(e){return es(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,o=null){let n=Sr(this,e,t,o);return n.length?n[0]:null}getChildren(e,t=null,o=null){return Sr(this,e,t,o)}get node(){return this}matchContext(e){return Tr(this,e)}},bt=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 Ye)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let o=e._parent;o;o=o._parent)this.stack.unshift(o.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:o,buffer:n}=this.buffer;return this.type=t||n.set.types[n.buffer[e]],this.from=o+n.buffer[e+1],this.to=o+n.buffer[e+2],!0}yield(e){return e?e instanceof Ye?(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,o){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,o,this.mode));let{buffer:n}=this.buffer,i=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.buffer.start,o);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,o=this.mode){return this.buffer?o&K.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&K.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&K.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,o=this.stack.length-1;if(e<0){let n=o<0?0:this.stack[o]+4;if(this.index!=n)return this.yieldBuf(t.findChild(n,this.index,-1,0,4))}else{let n=t.buffer[this.index+3];if(n<(o<0?t.buffer.length:t.buffer[this.stack[o]+3]))return this.yieldBuf(n)}return o<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,o,{buffer:n}=this;if(n){if(e>0){if(this.index<n.buffer.buffer.length)return!1}else for(let i=0;i<this.index;i++)if(n.buffer.buffer[i+3]<this.index)return!1;({index:t,parent:o}=n)}else({index:t,_parent:o}=this._tree);for(;o;{index:t,_parent:o}=o)if(t>-1)for(let i=t+e,s=e<0?-1:o._tree.children.length;i!=s;i+=e){let a=o._tree.children[i];if(this.mode&K.IncludeAnonymous||a instanceof Xe||!a.type.isAnonymous||xo(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,o=0;if(e&&e.context==this.buffer)e:for(let n=this.index,i=this.stack.length;i>=0;){for(let s=e;s;s=s._parent)if(s.index==n){if(n==this.index)return s;t=s,o=i+1;break e}n=this.stack[--i]}for(let n=o;n<this.stack.length;n++)t=new Bt(this.buffer,t,this.stack[n]);return this.bufferNode=new Bt(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let o=0;;){let n=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){o++;continue}this.type.isAnonymous||(n=!0)}for(;n&&t&&t(this),n=this.type.isAnonymous,!this.nextSibling();){if(!o)return;this.parent(),o--,n=!0}}}matchContext(e){if(!this.buffer)return Tr(this.node,e);let{buffer:t}=this.buffer,{types:o}=t.set;for(let n=e.length-1,i=this.stack.length-1;n>=0;i--){if(i<0)return Tr(this.node,e,n);let s=o[t.buffer[this.stack[i]]];if(!s.isAnonymous){if(e[n]&&e[n]!=s.name)return!1;n--}}return!0}};function xo(r){return r.children.some(e=>e instanceof Xe||!e.type.isAnonymous||xo(e))}function Ml(r){var e;let{buffer:t,nodeSet:o,maxBufferLength:n=1024,reused:i=[],minRepeatType:s=o.types.length}=r,a=Array.isArray(t)?new bo(t,t.length):t,l=o.types,u=0,d=0;function c(x,T,h,m,S){let{id:L,start:P,end:C,size:M}=a,O=d;for(;M<0;)if(a.next(),M==-1){let W=i[L];h.push(W),m.push(P-x);return}else if(M==-3){u=L;return}else if(M==-4){d=L;return}else throw new RangeError(`Unrecognized record size: ${M}`);let N=l[L],A,V,J=P-x;if(C-P<=n&&(V=g(a.pos-T,S))){let W=new Uint16Array(V.size-V.skip),q=a.pos-V.size,te=W.length;for(;a.pos>q;)te=y(V.start,W,te);A=new Xe(W,C-V.start,o),J=V.start-x}else{let W=a.pos-M;a.next();let q=[],te=[],ue=L>=s?L:-1,ce=0,Se=C;for(;a.pos>W;)ue>=0&&a.id==ue&&a.size>=0?(a.end<=Se-n&&(f(q,te,P,ce,a.end,Se,ue,O),ce=q.length,Se=a.end),a.next()):c(P,W,q,te,ue);if(ue>=0&&ce>0&&ce<q.length&&f(q,te,P,ce,P,Se,ue,O),q.reverse(),te.reverse(),ue>-1&&ce>0){let rt=p(N);A=Co(N,q,te,0,q.length,0,C-P,rt,rt)}else A=v(N,q,te,C-P,O-C)}h.push(A),m.push(J)}function p(x){return(T,h,m)=>{let S=0,L=T.length-1,P,C;if(L>=0&&(P=T[L])instanceof ne){if(!L&&P.type==x&&P.length==m)return P;(C=P.prop(H.lookAhead))&&(S=h[L]+P.length+C)}return v(x,T,h,m,S)}}function f(x,T,h,m,S,L,P,C){let M=[],O=[];for(;x.length>m;)M.push(x.pop()),O.push(T.pop()+h-S);x.push(v(o.types[P],M,O,L-S,C-L)),T.push(S-h)}function v(x,T,h,m,S=0,L){if(u){let P=[H.contextHash,u];L=L?[P].concat(L):[P]}if(S>25){let P=[H.lookAhead,S];L=L?[P].concat(L):[P]}return new ne(x,T,h,m,L)}function g(x,T){let h=a.fork(),m=0,S=0,L=0,P=h.end-n,C={size:0,start:0,skip:0};e:for(let M=h.pos-x;h.pos>M;){let O=h.size;if(h.id==T&&O>=0){C.size=m,C.start=S,C.skip=L,L+=4,m+=4,h.next();continue}let N=h.pos-O;if(O<0||N<M||h.start<P)break;let A=h.id>=s?4:0,V=h.start;for(h.next();h.pos>N;){if(h.size<0)if(h.size==-3)A+=4;else break e;else h.id>=s&&(A+=4);h.next()}S=V,m+=O,L+=A}return(T<0||m==x)&&(C.size=m,C.start=S,C.skip=L),C.size>4?C:void 0}function y(x,T,h){let{id:m,start:S,end:L,size:P}=a;if(a.next(),P>=0&&m<s){let C=h;if(P>4){let M=a.pos-(P-4);for(;a.pos>M;)h=y(x,T,h)}T[--h]=C,T[--h]=L-x,T[--h]=S-x,T[--h]=m}else P==-3?u=m:P==-4&&(d=m);return h}let b=[],E=[];for(;a.pos>0;)c(r.start||0,r.bufferStart||0,b,E,-1);let w=(e=r.length)!==null&&e!==void 0?e:b.length?E[0]+b[0].length:0;return new ne(l[r.topID],b.reverse(),E.reverse(),w)}var Xi=new WeakMap;function xr(r,e){if(!r.isAnonymous||e instanceof Xe||e.type!=r)return 1;let t=Xi.get(e);if(t==null){t=1;for(let o of e.children){if(o.type!=r||!(o instanceof ne)){t=1;break}t+=xr(r,o)}Xi.set(e,t)}return t}function Co(r,e,t,o,n,i,s,a,l){let u=0;for(let v=o;v<n;v++)u+=xr(r,e[v]);let d=Math.ceil(u*1.5/8),c=[],p=[];function f(v,g,y,b,E){for(let w=y;w<b;){let x=w,T=g[w],h=xr(r,v[w]);for(w++;w<b;w++){let m=xr(r,v[w]);if(h+m>=d)break;h+=m}if(w==x+1){if(h>d){let m=v[x];f(m.children,m.positions,0,m.children.length,g[x]+E);continue}c.push(v[x])}else{let m=g[w-1]+v[w-1].length-T;c.push(Co(r,v,g,x,w,T,m,null,l))}p.push(T+E-i)}}return f(e,t,o,n,0),(a||l)(c,p,s)}var Er=class{startParse(e,t,o){return typeof e=="string"&&(e=new wo(e)),o=o?o.length?o.map(n=>new Ht(n.from,n.to)):[new Ht(0,0)]:[new Ht(0,e.length)],this.createParse(e,t||[],o)}parse(e,t,o){let n=this.startParse(e,t,o);for(;;){let i=n.advance();if(i)return i}}},wo=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 kg=new H({perNode:!0});var To=class r{constructor(e,t,o,n,i,s,a,l,u,d=0,c){this.p=e,this.stack=t,this.state=o,this.reducePos=n,this.pos=i,this.score=s,this.buffer=a,this.bufferBase=l,this.curContext=u,this.lookAhead=d,this.parent=c}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,o=0){let n=e.parser.context;return new r(e,[],t,o,o,0,[],0,n?new Pr(n,n.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 o=e>>19,n=e&65535,{parser:i}=this.p,s=i.dynamicPrecedence(n);if(s&&(this.score+=s),o==0){this.pushState(i.getGoto(this.state,n,!0),this.reducePos),n<i.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,4,!0),this.reduceContext(n,this.reducePos);return}let a=this.stack.length-(o-1)*3-(e&262144?6:0),l=a?this.stack[a-2]:this.p.ranges[0].from,u=this.reducePos-l;u>=2e3&&!(!((t=this.p.parser.nodeSet.types[n])===null||t===void 0)&&t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=u));let d=a?this.stack[a-1]:0,c=this.bufferBase+this.buffer.length-d;if(n<i.minRepeatTerm||e&131072){let p=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,l,p,c+4,!0)}if(e&262144)this.state=this.stack[a];else{let p=this.stack[a-3];this.state=i.getGoto(p,n,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(n,l)}storeNode(e,t,o,n=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this,a=this.buffer.length;if(a==0&&s.parent&&(a=s.bufferBase-s.parent.bufferBase,s=s.parent),a>0&&s.buffer[a-4]==0&&s.buffer[a-1]>-1){if(t==o)return;if(s.buffer[a-2]>=t){s.buffer[a-2]=o;return}}}if(!i||this.pos==o)this.buffer.push(e,t,o,n);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0)for(;s>0&&this.buffer[s-2]>o;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,n>4&&(n-=4);this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=o,this.buffer[s+3]=n}}shift(e,t,o){let n=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=o,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,o,4);else{let i=e,{parser:s}=this.p;(o>this.pos||t<=s.maxNode)&&(this.pos=o,s.stateFlag(i,1)||(this.reducePos=o)),this.pushState(i,n),this.shiftContext(t,n),t<=s.maxNode&&this.buffer.push(t,n,o,4)}}apply(e,t,o){e&65536?this.reduce(e):this.shift(e,t,o)}useNode(e,t){let o=this.p.reused.length-1;(o<0||this.p.reused[o]!=e)&&(this.p.reused.push(e),o++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(t,n),this.buffer.push(o,n,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 o=e.buffer.slice(t),n=e.bufferBase+t;for(;e&&n==e.bufferBase;)e=e.parent;return new r(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,o,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let o=e<=this.p.parser.maxNode;o&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,o?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Eo(this);;){let o=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(o==0)return!1;if(!(o&65536))return!0;t.reduce(o)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let n=[];for(let i=0,s;i<t.length;i+=2)(s=t[i+1])!=this.state&&this.p.parser.hasAction(s,e)&&n.push(t[i],s);if(this.stack.length<120)for(let i=0;n.length<8&&i<t.length;i+=2){let s=t[i+1];n.some((a,l)=>l&1&&a==s)||n.push(t[i],s)}t=n}let o=[];for(let n=0;n<t.length&&o.length<4;n+=2){let i=t[n+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(t[n],this.pos),s.score-=200,o.push(s)}return o}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let o=t>>19,n=t&65535,i=this.stack.length-o*3;if(i<0||e.getGoto(this.stack[i],n,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;t=s}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=[],o=(n,i)=>{if(!t.includes(n))return t.push(n),e.allActions(n,s=>{if(!(s&393216))if(s&65536){let a=(s>>19)-i;if(a>1){let l=s&65535,u=this.stack.length-a*3;if(u>=0&&e.getGoto(this.stack[u],l,!1)>=0)return a<<19|65536|l}}else{let a=o(s,i+1);if(a!=null)return a}})};return o(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let 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}},ts;(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"})(ts||(ts={}));var Eo=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,o=e>>19;o==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(o-1)*3;let n=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=n}},Po=class r{constructor(e,t,o){this.stack=e,this.pos=t,this.index=o,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new r(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 r(this.stack,this.pos,this.index)}};function $t(r,e=Uint16Array){if(typeof r!="string")return r;let t=null;for(let o=0,n=0;o<r.length;){let i=0;for(;;){let s=r.charCodeAt(o++),a=!1;if(s==126){i=65535;break}s>=92&&s--,s>=34&&s--;let l=s-32;if(l>=46&&(l-=46,a=!0),i+=l,a)break;i*=46}t?t[n++]=i:t=new e(i)}return t}var yt=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},rs=new yt,Lo=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=rs,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 o=this.range,n=this.rangeIndex,i=this.pos+e;for(;i<o.from;){if(!n)return null;let s=this.ranges[--n];i-=o.from-s.to,o=s}for(;t<0?i>o.to:i>=o.to;){if(n==this.ranges.length-1)return null;let s=this.ranges[++n];i+=s.from-o.to,o=s}return i}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,o,n;if(t>=0&&t<this.chunk.length)o=this.pos+e,n=this.chunk.charCodeAt(t);else{let i=this.resolveOffset(e,1);if(i==null)return-1;if(o=i,o>=this.chunk2Pos&&o<this.chunk2Pos+this.chunk2.length)n=this.chunk2.charCodeAt(o-this.chunk2Pos);else{let s=this.rangeIndex,a=this.range;for(;a.to<=o;)a=this.ranges[++s];this.chunk2=this.input.chunk(this.chunk2Pos=o),o+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-o)),n=this.chunk2.charCodeAt(0)}}return o>=this.token.lookAhead&&(this.token.lookAhead=o+1),n}acceptToken(e,t=0){let o=t?this.resolveOffset(t,-1):this.pos;if(o==null||o<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=o}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos: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=rs,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 o="";for(let n of this.ranges){if(n.from>=t)break;n.to>e&&(o+=this.input.read(Math.max(n.from,e),Math.min(n.to,t)))}return o}},_e=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:o}=t.p;us(this.data,e,t,this.id,o.data,o.tokenPrecTable)}};_e.prototype.contextual=_e.prototype.fallback=_e.prototype.extend=!1;var Mo=class{constructor(e,t,o){this.precTable=t,this.elseToken=o,this.data=typeof e=="string"?$t(e):e}token(e,t){let o=e.pos,n=0;for(;;){let i=e.next<0,s=e.resolveOffset(1,1);if(us(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(i||n++,s==null)break;e.reset(s,e.token)}n&&(e.reset(o,e.token),e.acceptToken(this.elseToken,n))}};Mo.prototype.contextual=_e.prototype.fallback=_e.prototype.extend=!1;function us(r,e,t,o,n,i){let s=0,a=1<<o,{dialect:l}=t.p.parser;e:for(;a&r[s];){let u=r[s+1];for(let f=s+3;f<u;f+=2)if((r[f+1]&a)>0){let v=r[f];if(l.allows(v)&&(e.token.value==-1||e.token.value==v||kl(v,e.token.value,n,i))){e.acceptToken(v);break}}let d=e.next,c=0,p=r[s+2];if(e.next<0&&p>c&&r[u+p*3-3]==65535&&r[u+p*3-3]==65535){s=r[u+p*3-1];continue e}for(;c<p;){let f=c+p>>1,v=u+f+(f<<1),g=r[v],y=r[v+1]||65536;if(d<g)p=f;else if(d>=y)c=f+1;else{s=r[v+2],e.advance();continue e}}break}}function os(r,e,t){for(let o=e,n;(n=r[o])!=65535;o++)if(n==t)return o-e;return-1}function kl(r,e,t,o){let n=os(t,o,e);return n<0||os(t,o,r)<n}var ye=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),So=null,ns;(function(r){r[r.Margin=25]="Margin"})(ns||(ns={}));function is(r,e,t){let o=r.cursor(K.IncludeAnonymous);for(o.moveTo(e);;)if(!(t<0?o.childBefore(e):o.childAfter(e)))for(;;){if((t<0?o.to<e:o.from>e)&&!o.type.isError)return t<0?Math.max(0,Math.min(o.to-1,e-25)):Math.min(r.length,Math.max(o.from+1,e+25));if(t<0?o.prevSibling():o.nextSibling())break;if(!o.parent())return t<0?0:r.length}}var Ro=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?is(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?is(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 o=this.trees[t],n=this.index[t];if(n==o.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=o.children[n],s=this.start[t]+o.positions[n];if(s>e)return this.nextStart=s,null;if(i instanceof ne){if(s==e){if(s<this.safeFrom)return null;let a=s+i.length;if(a<=this.safeTo){let l=i.prop(H.lookAhead);if(!l||a+l<this.fragment.to)return i}}this.index[t]++,s+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+i.length}}},ko=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(o=>new yt)}getActions(e){let t=0,o=null,{parser:n}=e.p,{tokenizers:i}=n,s=n.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let u=0;u<i.length;u++){if(!(1<<u&s))continue;let d=i[u],c=this.tokens[u];if(!(o&&!d.fallback)&&((d.contextual||c.start!=e.pos||c.mask!=s||c.context!=a)&&(this.updateCachedToken(c,d,e),c.mask=s,c.context=a),c.lookAhead>c.end+25&&(l=Math.max(c.lookAhead,l)),c.value!=0)){let p=t;if(c.extended>-1&&(t=this.addActions(e,c.extended,c.end,t)),t=this.addActions(e,c.value,c.end,t),!d.extend&&(o=c,t>p))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!o&&e.pos==this.stream.end&&(o=new yt,o.value=e.p.parser.eofTerm,o.start=o.end=e.pos,t=this.addActions(e,o.value,o.end,t)),this.mainToken=o,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new yt,{pos:o,p:n}=e;return t.start=o,t.end=Math.min(o+1,n.stream.end),t.value=o==n.stream.end?n.parser.eofTerm:0,t}updateCachedToken(e,t,o){let n=this.stream.clipPos(o.pos);if(t.token(this.stream.reset(n,e),o),e.value>-1){let{parser:i}=o.p;for(let s=0;s<i.specialized.length;s++)if(i.specialized[s]==e.value){let a=i.specializers[s](this.stream.read(e.start,e.end),o);if(a>=0&&o.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(n+1)}putAction(e,t,o,n){for(let i=0;i<n;i+=3)if(this.actions[i]==e)return n;return this.actions[n++]=e,this.actions[n++]=t,this.actions[n++]=o,n}addActions(e,t,o,n){let{state:i}=e,{parser:s}=e.p,{data:a}=s;for(let l=0;l<2;l++)for(let u=s.stateSlot(i,l?2:1);;u+=3){if(a[u]==65535)if(a[u+1]==1)u=Le(a,u+2);else{n==0&&a[u+1]==2&&(n=this.putAction(Le(a,u+2),t,o,n));break}a[u]==t&&(n=this.putAction(Le(a,u+1),t,o,n))}return n}},ss;(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"})(ss||(ss={}));var Io=class{constructor(e,t,o,n){this.parser=e,this.input=t,this.ranges=n,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 Lo(t,n),this.tokens=new ko(e,this.stream),this.topTerm=e.top[1];let{from:i}=n[0];this.stacks=[To.start(this,e.top[0],i)],this.fragments=o.length&&this.stream.end-i>e.bufferLength*4?new Ro(o,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,o=this.stacks=[],n,i;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<e.length;s++){let a=e[s];for(;;){if(this.tokens.mainToken=null,a.pos>t)o.push(a);else{if(this.advanceStack(a,o,e))continue;{n||(n=[],i=[]),n.push(a);let l=this.tokens.getMainToken(a);i.push(l.value,l.end)}}break}}if(!o.length){let s=n&&Il(n);if(s)return this.stackToTree(s);if(this.parser.strict)throw ye&&n&&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&&n){let s=this.stoppedAt!=null&&n[0].pos>this.stoppedAt?n[0]:this.runRecovery(n,i,o);if(s)return this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(o.length>s)for(o.sort((a,l)=>l.score-a.score);o.length>s;)o.pop();o.some(a=>a.reducePos>t)&&this.recovering--}else if(o.length>1){e:for(let s=0;s<o.length-1;s++){let a=o[s];for(let l=s+1;l<o.length;l++){let u=o[l];if(a.sameState(u)||a.buffer.length>500&&u.buffer.length>500)if((a.score-u.score||a.buffer.length-u.buffer.length)>0)o.splice(l--,1);else{o.splice(s--,1);continue e}}}o.length>12&&o.splice(12,o.length-12)}this.minStackPos=o[0].pos;for(let s=1;s<o.length;s++)o[s].pos<this.minStackPos&&(this.minStackPos=o[s].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,o){let n=e.pos,{parser:i}=this,s=ye?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let u=e.curContext&&e.curContext.tracker.strict,d=u?e.curContext.hash:0;for(let c=this.fragments.nodeAt(n);c;){let p=this.parser.nodeSet.types[c.type.id]==c.type?i.getGoto(e.state,c.type.id):-1;if(p>-1&&c.length&&(!u||(c.prop(H.contextHash)||0)==d))return e.useNode(c,p),ye&&console.log(s+this.stackID(e)+` (via reuse of ${i.getName(c.type.id)})`),!0;if(!(c instanceof ne)||c.children.length==0||c.positions[0]>0)break;let f=c.children[0];if(f instanceof ne&&c.positions[0]==0)c=f;else break}}let a=i.stateSlot(e.state,4);if(a>0)return e.reduce(a),ye&&console.log(s+this.stackID(e)+` (via always-reduce ${i.getName(a&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let u=0;u<l.length;){let d=l[u++],c=l[u++],p=l[u++],f=u==l.length||!o,v=f?e:e.split();if(v.apply(d,c,p),ye&&console.log(s+this.stackID(v)+` (via ${d&65536?`reduce of ${i.getName(d&65535)}`:"shift"} for ${i.getName(c)} @ ${n}${v==e?"":", split"})`),f)return!0;v.pos>n?t.push(v):o.push(v)}return!1}advanceFully(e,t){let o=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>o)return as(e,t),!0}}runRecovery(e,t,o){let n=null,i=!1;for(let s=0;s<e.length;s++){let a=e[s],l=t[s<<1],u=t[(s<<1)+1],d=ye?this.stackID(a)+" -> ":"";if(a.deadEnd&&(i||(i=!0,a.restart(),ye&&console.log(d+this.stackID(a)+" (restarted)"),this.advanceFully(a,o))))continue;let c=a.split(),p=d;for(let f=0;c.forceReduce()&&f<10&&(ye&&console.log(p+this.stackID(c)+" (via force-reduce)"),!this.advanceFully(c,o));f++)ye&&(p=this.stackID(c)+" -> ");for(let f of a.recoverByInsert(l))ye&&console.log(d+this.stackID(f)+" (via recover-insert)"),this.advanceFully(f,o);this.stream.end>a.pos?(u==a.pos&&(u++,l=0),a.recoverByDelete(l,u),ye&&console.log(d+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),as(a,o)):(!n||n.score<a.score)&&(n=a)}return n}stackToTree(e){return e.close(),ne.build({buffer:Po.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=(So||(So=new WeakMap)).get(e);return t||So.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function as(r,e){for(let t=0;t<e.length;t++){let o=e[t];if(o.pos==r.pos&&o.sameState(r)){e[t].score<r.score&&(e[t]=r);return}}e.push(r)}var Oo=class{constructor(e,t,o){this.source=e,this.flags=t,this.disabled=o}allows(e){return!this.disabled||this.disabled[e]==0}};var Lr=class r extends Er{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 o=Object.keys(e.topRules).map(a=>e.topRules[a][1]),n=[];for(let a=0;a<t.length;a++)n.push([]);function i(a,l,u){n[a].push([l,l.deserialize(String(u))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=H[l]);for(let u=1;u<a.length;){let d=a[u++];if(d>=0)i(d,l,a[u++]);else{let c=a[u+-d];for(let p=-d;p>0;p--)i(a[u++],l,c);u++}}}this.nodeSet=new Cr(t.map((a,l)=>fe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:n[l],top:o.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 s=$t(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(ls),this.states=$t(e.states,Uint32Array),this.data=$t(e.stateData),this.goto=$t(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new _e(s,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,o){let n=new Io(this,e,t,o);for(let i of this.wrappers)n=i(n,e,t,o);return n}getGoto(e,t,o=!1){let n=this.goto;if(t>=n[0])return-1;for(let i=n[t+1];;){let s=n[i++],a=s&1,l=n[i++];if(a&&o)return l;for(let u=i+(s>>1);i<u;i++)if(n[i]==e)return l;if(a)return-1}}hasAction(e,t){let o=this.data;for(let n=0;n<2;n++)for(let i=this.stateSlot(e,n?2:1),s;;i+=3){if((s=o[i])==65535)if(o[i+1]==1)s=o[i=Le(o,i+2)];else{if(o[i+1]==2)return Le(o,i+2);break}if(s==t||s==0)return Le(o,i+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,o=>o==t?!0:null)}allActions(e,t){let o=this.stateSlot(e,4),n=o?t(o):void 0;for(let i=this.stateSlot(e,1);n==null;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=Le(this.data,i+2);else break;n=t(Le(this.data,i+1))}return n}nextStates(e){let t=[];for(let o=this.stateSlot(e,1);;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=Le(this.data,o+2);else break;if(!(this.data[o+2]&1)){let n=this.data[o+1];t.some((i,s)=>s&1&&i==n)||t.push(this.data[o],n)}}return t}configure(e){let t=Object.assign(Object.create(r.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let o=this.topRules[e.top];if(!o)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=o}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(o=>{let n=e.tokenizers.find(i=>i.from==o);return n?n.to:o})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((o,n)=>{let i=e.specializers.find(a=>a.from==o.external);if(!i)return o;let s=Object.assign(Object.assign({},o),{external:i.to});return t.specializers[n]=ls(s),s})),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),o=t.map(()=>!1);if(e)for(let i of e.split(" ")){let s=t.indexOf(i);s>=0&&(o[s]=!0)}let n=null;for(let i=0;i<t.length;i++)if(!o[i])for(let s=this.dialects[t[i]],a;(a=this.data[s++])!=65535;)(n||(n=new Uint8Array(this.maxTerm+1)))[a]=1;return new Oo(e,o,n)}static deserialize(e){return new r(e)}};function Le(r,e){return r[e]|r[e+1]<<16}function Il(r){let e=null;for(let t of r){let o=t.p.stoppedAt;(t.pos==t.p.stream.end||o!=null&&t.pos>o)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function ls(r){if(r.external){let e=r.extend?1:0;return(t,o)=>r.external(t,o)<<1|e}return r.get}var Wt=Lr.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 Ce=require("@vuu-ui/vuu-utils");var ie,Fo=class{constructor(){Zt(this,ie,void 0)}setFilterCombinatorOp(e,t=pe(this,ie)){(0,Ce.isMultiClauseFilter)(t)&&t.op===e||Ct(this,ie,{op:e,filters:[pe(this,ie)]})}add(e){if(pe(this,ie)===void 0)Ct(this,ie,e);else if((0,Ce.isMultiClauseFilter)(pe(this,ie)))pe(this,ie).filters.push(e);else throw Error("Invalid filter passed to FilterExpression")}setColumn(e,t=pe(this,ie)){if((0,Ce.isMultiClauseFilter)(t)){let o=t.filters.at(-1);o&&this.setColumn(e,o)}else t&&(t.column=e)}setOp(e,t=pe(this,ie)){if((0,Ce.isMultiClauseFilter)(t)){let o=t.filters.at(-1);o&&this.setOp(e,o)}else t&&(t.op=e)}setValue(e,t=pe(this,ie)){var o;if((0,Ce.isMultiClauseFilter)(t)){let n=t.filters.at(-1);n&&this.setValue(e,n)}else(0,Ce.isMultiValueFilter)(t)?((o=t.values)!=null||(t.values=[]),t.values.push(e)):(0,Ce.isSingleValueFilter)(t)&&(t.value=e)}toJSON(e=pe(this,ie)){return this.name?{...e,name:this.name}:e}};ie=new WeakMap;var Mr=(r,e)=>{let t=new Fo,o=r.cursor();do{let{name:n,from:i,to:s}=o;switch(n){case"ColumnValueExpression":t.add({});break;case"ColumnSetExpression":t.add({op:"in"});break;case"Or":case"And":t.setFilterCombinatorOp(e.substring(i,s));break;case"Column":t.setColumn(e.substring(i,s));break;case"Operator":t.setOp(e.substring(i,s));break;case"String":t.setValue(e.substring(i+1,s-1));break;case"Number":t.setValue(parseFloat(e.substring(i,s)));break;case"True":t.setValue(!0);break;case"False":t.setValue(!1);break;case"FilterName":t.name=e.substring(i,s);break;default:}}while(o.next());return t.toJSON()};var Bg=Wt.configure({strict:!0});var se=require("@vuu-ui/vuu-utils");var{info:tv}=(0,se.logger)("VuuDataSource"),{KEY:rv}=se.metadataKeys;var zt=require("@vuu-ui/vuu-utils"),ps=require("@salt-ds/core");var Ut=require("react");var ds=require("react/jsx-runtime");var Rr=require("@vuu-ui/vuu-utils");var Vo=require("react");var Ol=require("@salt-ds/core");var hs=require("react");var fs=require("react/jsx-runtime");var Fl=require("react");var Al=require("react/jsx-runtime");var ms=require("react/jsx-runtime");var Ao=require("react"),gs=require("react/jsx-runtime");var vs=require("@vuu-ui/vuu-popups");var bs=require("react/jsx-runtime");typeof lr!="function"&&console.warn("StackLayout module not loaded, will be unsbale to deserialize from layout JSON");var{error:Tb}=(0,Rr.logger)("Shell");var No=require("react"),Nl=require("react/jsx-runtime"),Vl={},Rb=(0,No.createContext)(Vl);var Do=require("@salt-ds/core"),Dl=require("react");var ys=require("react/jsx-runtime");var ws=require("@vuu-ui/vuu-ui-controls"),et=require("react"),_o=({defaultFilters:r,filters:e,onFiltersChanged:t,tableSchema:o})=>{let[n,i]=(0,ws.useControlled)({controlled:e,default:r!=null?r:[],name:"useFilters",state:"Filters"}),{getApplicationSettings:s,saveApplicationSettings:a}=Dt(),l=(g,y)=>g.findIndex(b=>b.name===y)!==-1,u=(0,et.useCallback)((g,y)=>{if(o&&y){let b=s("filters"),E=b,{module:w,table:x}=o.table,T=`${w}:${x}`;b?b[T]?l(b[T],y)?E={...b,[T]:b[T].map(h=>h.name===y?{...g,name:y}:h)}:g!=null&&g.name&&(g==null?void 0:g.name)!==y&&l(b[T],g.name)?E={...b,[T]:b[T].map(h=>h.name===g.name?{...g,name:y}:h)}:E={...b,[T]:b[T].concat({...g,name:y})}:E={...b,[T]:[{...g,name:y}]}:E={[T]:[{...g,name:y}]},E!==b&&a(E,"filters")}},[s,a,o]),d=(0,et.useCallback)(g=>{var y;if(o&&g.name){let b=s("filters"),{module:E,table:w}=o.table,x=`${E}:${w}`;if(((y=b[x])==null?void 0:y.findIndex(T=>T.name===g.name))!==-1){let T={...b,[x]:b[x].filter(h=>h.name!==g.name)};a(T,"filters")}}},[s,a,o]),c=(0,et.useCallback)(g=>{let y=n.length,b=n.concat(g);return i(b),t==null||t(b),y},[n,t,i]),p=(0,et.useCallback)(g=>{console.log("handleDeleteFilter",{filter:g});let y=-1,b=n.filter((E,w)=>E!==g?!0:(y=w,!1));return i(b),t==null||t(b),d(g),y},[n,t,d,i]),f=(0,et.useCallback)((g,y)=>{let b=-1,E=n.map((w,x)=>w===g?(b=x,{...g,name:y}):w);return i(E),t==null||t(E),u(g,y),b},[n,t,u,i]),v=(0,et.useCallback)(g=>{let y=-1,b=n.map((E,w)=>E===g?(y=w,g):E);return i(b),t==null||t(b),y},[n,t,i]);return{filters:n,onAddFilter:c,onChangeFilter:v,onDeleteFilter:p,onRenameFilter:f}};var _l={},xs=({activeFilterIndex:r=[],containerRef:e,filters:t,onApplyFilter:o,onChangeActiveFilterIndex:n,onFiltersChanged:i,showMenu:s,tableSchema:a})=>{let l=(0,F.useRef)(null),u=(0,F.useRef)(),[d,c]=(0,F.useState)(r),[p,f]=(0,F.useState)(s),[v,g]=(0,F.useState)(),[y,b]=(0,F.useState)(null),{filters:E,onAddFilter:w,onChangeFilter:x,onDeleteFilter:T,onRenameFilter:h}=_o({filters:t,onFiltersChanged:i,tableSchema:a}),m=(0,F.useCallback)(R=>{requestAnimationFrame(()=>{var D;let k=(D=e.current)==null?void 0:D.querySelectorAll(".vuuFilterPill");if(k!=null&&k[R]){let $=k[R].querySelector(".vuuEditableLabel");$&&(0,wt.dispatchMouseEvent)($,"dblclick")}})},[e]),S=(0,F.useCallback)((R=0)=>{requestAnimationFrame(()=>{var D;let k=(D=e.current)==null?void 0:D.querySelector(".vuuFilterClause .saltInput-input");k&&k.focus()})},[e]),L=(0,F.useCallback)(R=>{requestAnimationFrame(()=>{var D,$;let k=typeof R=="number"?(D=e.current)==null?void 0:D.querySelector(`.vuuOverflowContainer-item[data-index="${R}"] .vuuFilterPill`):($=e.current)==null?void 0:$.querySelector(".vuuFilterPill[tabindex]");k&&k.focus()})},[e]),P=(0,F.useCallback)(R=>{let k=R?(0,wt.filterAsQuery)(R):"";o({filter:k,filterStruct:R})},[o]),C=(0,F.useCallback)(R=>{let k=E.indexOf(R);d.includes(k)&&c(d.filter($=>$!==k));let D=T==null?void 0:T(R);d.includes(D)&&c($=>$.filter(re=>re!==D)),requestAnimationFrame(()=>{E.length&&L(0)})},[d,E,L,T]),M=(0,F.useMemo)(()=>R=>{let k=()=>{b(null),L()};return{confirmButtonLabel:"Remove",icon:"warn-triangle",onCancel:k,onClose:k,onConfirm:()=>{b(null),C(R)},text:`Are you sure you want to delete ${R.name}`,title:"Remove Filter",variant:"warn"}},[C,L]),O=(0,F.useCallback)((R,k)=>{k?b(M(R)):C(R)},[C,M]),N=(0,F.useCallback)(R=>{u.current=R},[]),A=(0,F.useCallback)((R,k="")=>{if(u.current){let D=h(u.current,k);u.current=void 0,L(D)}},[L,h]),V=(0,F.useCallback)(({menuId:R,options:k})=>{switch(R){case"delete-filter":{let{filter:D}=k;return O(D,!0),!0}case"rename-filter":{let{filter:D}=k,$=E.indexOf(D);return m($),!0}case"edit-filter":{let{filter:D}=k;return u.current=D,g(D),S(),!0}default:return!1}},[O,m,E,S]),J=(0,F.useCallback)(({menuId:R})=>{switch(R){case"apply-save":{let k=u.current===void 0,re=(k?w:x)(v);return k&&m(re),g(void 0),c($e=>$e.includes(re)?$e:$e.concat(re)),f(!1),!0}case"and-clause":{let k=fr(v,_l);return console.log({newFilter:k}),g(k),f(!1),!0}case"or-clause":return g(k=>fr(k,{},{combineWith:"or"})),f(!1),!0;default:return!1}},[v,m,w,x]);(0,F.useEffect)(()=>{if(d.length>0){let R=d.map(k=>E[k]);if(R.length===1){let[k]=R;P(k)}else P({op:"and",filters:R})}else P()},[d,P,E]);let W=(0,F.useCallback)(R=>{c(R),n==null||n(R)},[n]),q=(0,F.useCallback)(()=>{g({})},[g]),te=(0,F.useCallback)(()=>{g(void 0)},[]),ue={onBeginEdit:N,onMenuAction:V,onExitEditMode:A},ce=(0,F.useCallback)(R=>{if(console.log(`handleCHangeFilterClause ${JSON.stringify(R)}`),R!==void 0){let k=eo(v,R);g(k),f(!0)}},[v]),Se=(0,F.useCallback)(R=>{R==="Backspace"&&(0,wt.isMultiClauseFilter)(v)&&g(Yr(v))},[v]),rt=(0,F.useCallback)(R=>{let k=R.target,D=R.relatedTarget,$=k.closest(".vuuFilterClause");if(!($!=null&&$.contains(D))){let re=k.getAttribute("aria-owns"),$e=re?document.getElementById(re):null;$e!=null&&$e.contains(D)||f(!0)}},[]),Vr=(0,F.useCallback)(()=>{f(!1)},[]),Nr=(0,F.useCallback)(R=>{R.key==="Escape"&&v!==void 0&&(g(void 0),requestAnimationFrame(()=>{}))},[v]),Dr=(0,F.useCallback)(R=>{var D;console.log(`keydown from List ${R.key}`);let{current:k}=e;if(R.key==="Backspace"&&k){R.preventDefault();let $=Array.from(k.querySelectorAll(".vuuFilterClauseField"));if($.length>0){let re=$.at(-1);(D=re==null?void 0:re.querySelector("input"))==null||D.focus()}f(!1)}else if(R.key==="Tab")if(R.shiftKey&&k){let $=Array.from(k.querySelectorAll(".vuuFilterClause-clearButton"));if($.length>0){let re=$.at(-1);setTimeout(()=>{re.focus()},100)}}else console.log("apply current selection")},[e]),_s=(0,F.useCallback)(R=>{R.key==="ArrowLeft"&&console.log("navgiate to the Toolbar")},[]),Hs=(0,F.useCallback)(R=>{var k;R==="end"&&((k=l.current)==null||k.focus())},[]);return{activeFilterIndex:d,addButtonProps:{ref:l,onKeyDown:_s},editFilter:v,filters:E,onBlurFilterClause:rt,onCancelFilterClause:Se,onChangeActiveFilterIndex:W,onClickAddFilter:q,onClickRemoveFilter:te,onChangeFilterClause:ce,onFocusFilterClause:Vr,onKeyDownFilterbar:Nr,onKeyDownMenu:Dr,onMenuAction:J,onNavigateOutOfBounds:Hs,pillProps:ue,promptProps:y,showMenu:p}};var Ss=require("@vuu-ui/vuu-popups");var kr=require("react"),Cs=()=>{let r=(0,kr.useCallback)(()=>[{label:"You have no saved filters for this table",action:"no-action"}],[]),e=(0,kr.useMemo)(()=>t=>(console.log("invoke menuId ",{action:t}),!1),[]);return{menuBuilder:r,menuActionHandler:e}};var Ho=require("react/jsx-runtime"),Ts=()=>{let r="vuuFilterBarMenu",{menuBuilder:e,menuActionHandler:t}=Cs();return(0,Ho.jsx)("div",{className:r,children:(0,Ho.jsx)(Ss.PopupMenu,{icon:"tune",menuBuilder:e,menuActionHandler:t,tabIndex:-1})})};var He=require("react/jsx-runtime"),Ir=require("react"),qt="vuuFilterBar",Hl=({activeFilterIndex:r=[],FilterClauseEditorProps:e,className:t,filters:o,onApplyFilter:n,onChangeActiveFilterIndex:i,onFiltersChanged:s,showMenu:a=!1,tableSchema:l,...u})=>{let d=(0,Ps.useRef)(null),{activeFilterIndex:c,addButtonProps:p,editFilter:f,filters:v,onBlurFilterClause:g,onCancelFilterClause:y,onClickAddFilter:b,onClickRemoveFilter:E,onChangeFilterClause:w,onChangeActiveFilterIndex:x,onFocusFilterClause:T,onNavigateOutOfBounds:h,onKeyDownFilterbar:m,onKeyDownMenu:S,onMenuAction:L,pillProps:P,promptProps:C,showMenu:M}=xs({activeFilterIndex:r,containerRef:d,filters:o,onApplyFilter:n,onChangeActiveFilterIndex:i,onFiltersChanged:s,showMenu:a,tableSchema:l}),O=I(qt,t,{[`${qt}-display`]:f===void 0,[`${qt}-edit`]:f!==void 0});return(0,He.jsxs)("div",{...u,className:O,onKeyDown:m,ref:d,children:[(0,He.jsx)(Ts,{}),(0,He.jsx)(zn,{activeItemIndex:c,height:28,onActiveChange:x,onNavigateOutOfBounds:h,selectionStrategy:"multiple-special-key",children:(()=>{let A=[];if(f===void 0)return v.forEach((V,J)=>{A.push((0,Ir.createElement)(oo,{...P,filter:V,key:`filter-${J}`}))}),A;if(f)return mt(f).forEach((J,W)=>{A.push((0,Ir.createElement)(Zr,{...e,filterClause:J,key:`editor-${W}`,onCancel:y,onChange:w,onBlur:g,onFocus:T,tableSchema:l}))}),M&&A.push((0,He.jsx)(Qr,{onMenuAction:L,ListProps:{onKeyDownCapture:S}},"menu")),A.push((0,He.jsx)(Bo.Button,{className:`${qt}-remove`,"data-align":"right","data-icon":"cross",onClick:E,variant:"primary"},"filter-remove")),A})()}),f===void 0?(0,Ir.createElement)(Bo.Button,{...p,className:`${qt}-add`,"data-icon":"plus","data-selectable":!1,key:"filter-add",onClick:b,tabIndex:0,variant:"primary"}):null,C?(0,He.jsx)(Es.Prompt,{...C,PopupProps:{anchorElement:d,offsetTop:16,placement:"below-center"}}):null]})};var zo=require("@salt-ds/core");var z=require("@vuu-ui/vuu-codemirror");var Be=require("react");var we=require("@vuu-ui/vuu-codemirror");var Bl=we.LRLanguage.define({name:"VuuFilterQuery",parser:Wt.configure({props:[(0,we.styleTags)({Identifier:we.tags.variableName,String:we.tags.string,Or:we.tags.emphasis,Operator:we.tags.operator})]})}),Ls=()=>new we.LanguageSupport(Bl);var tt=require("@vuu-ui/vuu-codemirror"),$l=tt.HighlightStyle.define([{tag:tt.tags.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:tt.tags.comment,color:"green",fontStyle:"italic"}]),Ms=(0,tt.syntaxHighlighting)($l);var Rs=require("@vuu-ui/vuu-codemirror"),ks=Rs.EditorView.theme({"&":{color:"var(--vuuFilterEditor-color)",backgroundColor:"var(--vuuFilterEditor-background)",fontSize:"var(--vuuFilterEditor-fontSize)"},".cm-content":{caretColor:"var(--vuuFilterEditor-cursorColor)",padding:0},".cm-line":{lineHeight:"var(--vuuFilterEditor-lineHeight)"},"&.cm-focused .cm-cursor":{borderLeftColor:"var(--vuuFilterEditor-cursorColor)"},"&.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-scroller":{fontFamily:"var(--vuuFilterEditor-fontFamily)"},".cm-tooltip":{background:"var(--vuuFilterEditor-tooltipBackground)",border:"var(--vuuFilterEditor-tooltipBorder)",borderRadius:"4px",boxShadow:"var(--vuuFilterEditor-tooltipElevation)","&.cm-tooltip-autocomplete > ul":{fontFamily:"var(--vuuFilterEditor-fontFamily)",fontSize:"var(--vuuFilterEditor-fontSize)",maxHeight:"240px"},"&.cm-tooltip-autocomplete > ul > li":{alignItems:"center",display:"flex",height:"var(--vuuFilterEditor-suggestion-height)",padding:"0 3px",lineHeight:"var(--vuuFilterEditor-suggestion-height)"},"&.cm-tooltip-autocomplete li[aria-selected]":{background:"var(--vuuFilterEditor-suggestion-selectedBackground)",color:"var(--vuuFilterEditor-suggestion-selectedColor)"}},".cm-completionIcon":{height:"18px",flex:"0 0 16px"},".cm-completionLabel":{flex:"1 1 auto"},".cm-completionIcon-filter":{position:"relative","&:after":{background:"var(--salt-text-secondary-foreground)",content:"''","-webkit-mask":"var(--svg-filter) center center/13px 13px","-webkit-mask-repeat":"no-repeat",position:"absolute",height:"18px",left:"0px",top:"0px",width:"16px"}}},{dark:!1});var G=require("@vuu-ui/vuu-codemirror"),$o=require("react"),Is=(r,e)=>{let t=r.prevSibling||r.parent;for(;t&&!["Column","Operator","In"].includes(t.name);)t=t.prevSibling||t.parent;if((t==null?void 0:t.name)==="In"||(t==null?void 0:t.name)==="Operator")return(0,G.getValue)(t,e)},Wl=(r,e,t)=>{let o=(0,G.getValue)(r,e);if(!(t===void 0||o===t)&&["contains","ends","starts"].some(n=>n.startsWith(o.toLowerCase())))return o},Os=(r,e)=>{let t=r.prevSibling||r.parent||r.lastChild;for(;t&&t.name==="\u26A0";)t=t.prevSibling;if(t&&["As","Or","And"].includes(t.name))return(0,G.getValue)(t,e)},Fs=(r,e)=>{if(r.name==="FilterName")return(0,G.getValue)(r,e);{let t=r.prevSibling||r.parent||r.lastChild;for(;t&&t.name!=="FilterName";)t=t.prevSibling;if(t&&t.name==="FilterName")return(0,G.getValue)(r,e)}},As=(r,e)=>{let t=r.prevSibling;if((t==null?void 0:t.name)==="Column")return(0,G.getValue)(t,e);if((t==null?void 0:t.name)==="Operator")return As(t,e)},zl=(r,e)=>{let t=r.lastChild,o=[];for(;t&&t.name!=="In";){let n=(0,G.getValue)(t,e);if(n)o.push(n);else break;t=t.prevSibling}return o};var Vs=(r,e,t)=>{let o=(0,$o.useCallback)(async(n,i,s={})=>{let{startsWith:a=""}=s,l=await r.getSuggestions(i,s);return{from:n.pos-a.length,options:l}},[r]);return(0,$o.useCallback)(async n=>{var d,c;let{state:i,pos:s}=n,a=(d=n.matchBefore(/\w*/))!=null?d:{from:0,to:0,text:void 0},u=(0,G.syntaxTree)(i).resolveInner(s,-1);switch(console.log({nodeBeforeName:u.name}),u.name){case"Filter":if(n.pos===0)return o(n,"column");if(Os(u,i)==="as")return o(n,"name");{let f=Fs(u,i);return o(n,"save",{onSubmit:e.current,existingFilter:t,filterName:f})}case"String":{let p=Is(u,i),f=As(u,i),{from:v,to:g}=u;if(g-v===2&&n.pos===v+1){if(f&&p)return o(n,"columnValue",{columnName:f,operator:p,quoted:!0,startsWith:a.text})}else console.log(`we have a string, column is ${f} ${v} ${g}`)}break;case"As":return o(n,"name");case"FilterName":return o(n,"save",{onSubmit:e.current,existingFilter:t,filterName:Fs(u,i)});case"Column":{let p=(0,G.getValue)(u,i);return await r.isPartialMatch("column",void 0,p)?o(n,"column",{startsWith:p}):o(n,"operator",{columnName:p})}case"\u26A0":{let p=(0,G.getNodeByName)(u,i),f=Is(u,i),v=f?void 0:Wl(u,i,p);return v?o(n,"operator",{columnName:p,startsWith:v}):o(n,"columnValue",{columnName:p,operator:f,startsWith:a.text})}case"Identifier":if(Os(u,i)==="as")return{from:n.pos,options:[{label:"press ENTER to apply filter and save",apply:()=>e.current(),boost:5}]};break;case"ColumnSetExpression":case"Values":{let p=(0,G.getNodeByName)(u,i),f=zl(u,i);return o(n,"columnValue",{columnName:p,selection:f})}case"Comma":case"LBrack":{let p=(0,G.getNodeByName)(u,i);return o(n,"columnValue",{columnName:p})}case"ColumnValueExpression":{let p=(c=u.lastChild)==null?void 0:c.prevSibling;if((p==null?void 0:p.name)==="Column")return o(n,"operator",{columnName:(0,G.getNodeByName)(u,i)});if((p==null?void 0:p.name)==="Operator")return o(n,"columnValue",{columnName:(0,G.getNodeByName)(p,i),operator:(0,G.getValue)(p,i)})}break;case"In":return{from:n.pos,options:[{label:"[",apply:" [",type:"text"}]};case"Eq":return o(n,"columnValue",{columnName:(0,G.getNodeByName)(u,i)});case"AndExpression":case"OrExpression":return o(n,"column");default:}},[t,o,e,r])};var Qt=r=>{if(r.current==null)throw Error("EditorView not defined");return r.current},Ul=r=>I("vuuSuggestion",{vuuIllustration:r.isIllustration}),ql=r=>{let e=r.lastIndexOf(" as ");return e!==-1?r.slice(0,e):r},Ql=()=>console.log("noooop"),Wo=({existingFilter:r,onSubmitFilter:e,suggestionProvider:t})=>{let o=(0,Be.useRef)(null),n=(0,Be.useRef)(Ql),i=(0,Be.useRef)(),s=Vs(t,n,r),[a,l]=(0,Be.useMemo)(()=>{let u=()=>{let g=Qt(i),y=g.state.doc.toString(),b=(0,z.ensureSyntaxTree)(g.state,g.state.doc.length,5e3);if(b){let E=Mr(b,y);return[E,ql(y),E.name]}else return[void 0,"",void 0]},d=()=>{Qt(i).setState(v())},c=g=>{let[y,b,E]=u();e==null||e(y,b,g,E),d()},p=g=>z.keymap.of([{key:g,run(){return c(),!0}}]),f=g=>z.keymap.of([{key:g,run(){return(0,z.startCompletion)(Qt(i)),!0}}]),v=()=>z.EditorState.create({doc:"",extensions:[z.minimalSetup,(0,z.autocompletion)({override:[s],optionClass:Ul}),Ls(),z.keymap.of(z.defaultKeymap),p("Ctrl-Enter"),f("ArrowDown"),z.EditorView.updateListener.of(g=>{let y=Qt(i);g.docChanged&&(0,z.startCompletion)(y)}),z.EditorState.transactionFilter.of(g=>g.newDoc.lines>1?[]:g),ks,Ms]});return n.current=g=>{c(g),setTimeout(()=>{Qt(i).focus()},100)},[v,d]},[s,e]);return(0,Be.useEffect)(()=>{if(!o.current)throw Error("editor not in dom");return i.current=new z.EditorView({state:a(),parent:o.current}),()=>{var u;(u=i.current)==null||u.destroy()}},[s,a]),{editorRef:o,clearInput:l}};var xt=require("react/jsx-runtime"),Or="vuuFilterInput",Gl=({existingFilter:r,iconName:e="filter",namedFilters:t,onSubmitFilter:o,suggestionProvider:n,...i})=>{let{editorRef:s,clearInput:a}=Wo({existingFilter:r,onSubmitFilter:o,suggestionProvider:n});return(0,xt.jsxs)("div",{...i,className:Or,children:[(0,xt.jsx)(zo.Button,{className:`${Or}-FilterButton`,"data-icon":e,tabIndex:-1}),(0,xt.jsx)("div",{className:`${Or}-Editor`,ref:s}),(0,xt.jsx)(zo.Button,{className:`${Or}-ClearButton`,"data-icon":"close-circle",onClick:a})]})};var me=require("@vuu-ui/vuu-codemirror"),Ar=require("@vuu-ui/vuu-data-react"),Jt=require("react");var Gt=require("@vuu-ui/vuu-utils"),Ns=(r,e)=>{let t=(0,Gt.createEl)("div","vuuFunctionDoc"),o=(0,Gt.createEl)("div","function-heading"),n=(0,Gt.createEl)("span","function-name",r);o.appendChild(n);let i=(0,Gt.createEl)("p",void 0,e);return t.appendChild(o),t.appendChild(i),t};var Jl=[],Kl={},Zl=r=>[{label:"Press ENTER to create TAB",apply:()=>r("tab"),boost:6}],Ds=(r,e,t=!0)=>{let o=e?[{label:"REPLACE existing filter",apply:()=>r("replace"),boost:8},{label:"AND existing filter",apply:()=>r("and"),boost:7},{label:"OR existing filter",apply:()=>r("or"),boost:7}]:[{label:"Press ENTER to submit",apply:()=>r(),boost:6}];return t?o.concat(me.booleanJoinSuggestions).concat(me.asNameSuggestion):o},jl=(r,e)=>Ds(r,e,!0),Xl=r=>Ds(r,void 0),Yl=({existingFilter:r,filterName:e,onSubmit:t,saveOptions:o})=>{let n=e&&o.allowSaveAsTab,i=r?jl(t,r):Xl(t);return n?i.concat(Zl(t)):i},eu=r=>r.map(e=>({boost:5,label:e.name})),tu=r=>r?Array.from(r.entries()).map(([e,t])=>({info:()=>Ns(e,t),label:e,type:"filter"})):Jl,ru={label:"Done",apply:"] ",type:"keyword",boost:10},Fr=(r,e="")=>r.filter(t=>e===""||t.label.startsWith(e)).map(t=>({...t,apply:t.label+" "})),ou={allowReplace:!0},nu=({columns:r,namedFilters:e,saveOptions:t=ou,table:o,typeaheadHook:n=Ar.useTypeaheadSuggestions})=>{let i=(0,Jt.useRef)(),s=n(),a=(0,Jt.useCallback)(async(u,d=Kl)=>{let{columnName:c,existingFilter:p,filterName:f,operator:v,quoted:g,onSubmit:y,startsWith:b,selection:E}=d;switch(u){case"operator":{let w=r.find(x=>x.name===c);if(w)switch(w.serverDataType){case"string":case"char":return Fr(me.stringOperators,b);case"int":case"long":case"double":return Fr(me.numericOperators)}else console.warn(`'${c}' does not match any column name`)}break;case"column":{let w=await eu(r),x=await tu(e);return(i.current=Fr(w)).concat(Fr(x))}case"columnValue":if(c){let w=r.find(S=>S.name===c);if(!w)throw Error(`useFilterSUggestionProvider no column ${c}`);let x=Array.isArray(E)?E.length===0?"[":",":"",T=(0,Ar.getTypeaheadParams)(o,c,b),h=await s(T),m=v==="starts";return i.current=(0,me.toSuggestions)(h,{moveCursorToEnd:g,quoted:(w==null?void 0:w.serverDataType)==="string"&&!g,suffix:g?"":" ",prefix:m?b:x,isIllustration:m}),Array.isArray(E)&&(E==null?void 0:E.length)>1?[ru,...i.current]:i.current}break;case"save":{if(typeof y!="function")throw Error("useFilterSuggestionProvider, onSubmit must be supplied for 'save' suggestions");return await Yl({existingFilter:p,filterName:f,onSubmit:y,saveOptions:t})}case"name":return await(0,me.getNamePrompt)("filter");default:}return[]},[r,s,e,t,o]),l=(0,Jt.useCallback)(async(u,d,c)=>{let p=await a(u,{columnName:d});if(c&&p)for(let f of p){if(f.label===c)return!1;if(f.label.startsWith(c))return!0}return!1},[a]);return{getSuggestions:a,isPartialMatch:l}};var Vi=r=>{let e=localStorage.getItem(r);return e?JSON.parse(e):void 0},iu=r=>Object.entries(localStorage).filter(([e])=>e.includes(r)).map(([,e])=>JSON.parse(e)),Ni=(r,e)=>{try{return localStorage.setItem(r,JSON.stringify(e)),e}catch{return}};
|
|
1
|
+
"use strict";var Ws=Object.create;var Jt=Object.defineProperty;var zs=Object.getOwnPropertyDescriptor;var Us=Object.getOwnPropertyNames;var qs=Object.getPrototypeOf,Qs=Object.prototype.hasOwnProperty;var Gs=(r,e)=>{for(var t in e)Jt(r,t,{get:e[t],enumerable:!0})},Uo=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Us(e))!Qs.call(r,n)&&n!==t&&Jt(r,n,{get:()=>e[n],enumerable:!(o=zs(e,n))||o.enumerable});return r};var me=(r,e,t)=>(t=r!=null?Ws(qs(r)):{},Uo(e||!r||!r.__esModule?Jt(t,"default",{value:r,enumerable:!0}):t,r)),Js=r=>Uo(Jt({},"__esModule",{value:!0}),r);var qo=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var ce=(r,e,t)=>(qo(r,e,"read from private field"),t?t.call(r):e.get(r)),Kt=(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)},xt=(r,e,t,o)=>(qo(r,e,"write to private field"),o?o.call(r,t):e.set(r,t),t);var uu={};Gs(uu,{AND:()=>X,ENDS_WITH:()=>Ua,EQUALS:()=>pr,ExpandoCombobox:()=>Ae,FilterBar:()=>Wl,FilterBuilderMenu:()=>Qr,FilterClauseEditor:()=>Zr,FilterInput:()=>Zl,FilterPill:()=>oo,GREATER_THAN:()=>Wa,IN:()=>gi,LESS_THAN:()=>za,OR:()=>mi,STARTS_WITH:()=>jr,TextInput:()=>Jr,addClause:()=>hr,addFilter:()=>qa,filterClauses:()=>ft,filterEquals:()=>dr,filterIncludesColumn:()=>yi,getAllLocalEntity:()=>lu,getLocalEntity:()=>Ni,getNumericFilter:()=>el,getTypeaheadFilter:()=>Ya,overrideColName:()=>bi,removeFilter:()=>Za,removeLastClause:()=>Yr,replaceClause:()=>eo,saveLocalEntity:()=>Di,splitFilterOnColumn:()=>ja,updateFilter:()=>xi,useCodeMirrorEditor:()=>Wo,useFilterSuggestionProvider:()=>au,useFilters:()=>_o});module.exports=Js(uu);function Qo(r){var e,t,o="";if(typeof r=="string"||typeof r=="number")o+=r;else if(typeof r=="object")if(Array.isArray(r))for(e=0;e<r.length;e++)r[e]&&(t=Qo(r[e]))&&(o&&(o+=" "),o+=t);else for(e in r)r[e]&&(o&&(o+=" "),o+=e);return o}function Ks(){for(var r,e,t=0,o="";t<arguments.length;)(r=arguments[t++])&&(e=Qo(r))&&(o&&(o+=" "),o+=e);return o}var I=Ks;var Zs={},js={},Xs={};function Me(r,e,t="component"){Xs[r]=e,t==="container"?Zs[r]=!0:t==="view"&&(js[r]=!0)}var Ct=require("react"),Ys=[],Zt=r=>{let e=Array.isArray(r),t=e?r.length:Ct.Children.count(r);return e&&r.every(Ct.isValidElement)?r:t===1&&!e&&(0,Ct.isValidElement)(r)?[r]:t>1?r:Ys};var pn=require("@salt-ds/core"),rr=require("react");var Re=require("react");var We=require("react");var ea=require("@vuu-ui/vuu-utils"),Go=me(require("react"));var $e=require("react"),pe=new Map,de=new Map;var rt=()=>{let r=(0,$e.useCallback)((s,a)=>{let l=de.get(s);if(l)return a!==void 0&&l[a]!==void 0?l[a]:a!==void 0?void 0:l},[]),e=(0,$e.useCallback)((s,a,l)=>{if(a===void 0)de.set(s,l);else if(de.has(s)){let u=de.get(s);de.set(s,{...u,[a]:l})}else de.set(s,{[a]:l})},[]),t=(0,$e.useCallback)((s,a)=>{if(de.has(s)){if(a===void 0)de.delete(s);else if(de.get(s)[a]){let{[a]:u,...d}=de.get(s);Object.keys(d).length>0?de.set(s,d):de.delete(s)}}},[]),o=(0,$e.useCallback)((s,a)=>{let l=pe.get(s);if(l)return a!==void 0?l[a]:l},[]),n=(0,$e.useCallback)((s,a,l)=>{if(a===void 0)pe.set(s,l);else if(pe.has(s)){let u=pe.get(s);pe.set(s,{...u,[a]:l})}else pe.set(s,{[a]:l})},[]),i=(0,$e.useCallback)((s,a)=>{if(pe.has(s)){if(a===void 0)pe.delete(s);else if(pe.get(s)[a]){let{[a]:u,...d}=pe.get(s);Object.keys(d).length>0?pe.set(s,d):pe.delete(s)}}},[]);return{loadSessionState:r,loadState:o,saveSessionState:e,saveState:n,purgeState:i,purgeSessionState:t}};var jt=(r,e,t=[])=>{var n,i,s;let o=(s=(n=r.props)==null?void 0:n.title)!=null?s:(i=r.props)==null?void 0:i["data-tab-title"];if(o)return o;{let a=e;do o=`Tab ${++a}`;while(t.includes(o));return o}};var Jo=require("react"),ta=r=>console.log(`dispatch ${r.type}, have you forgotten to provide a LayoutProvider ?`),_r=(0,Jo.createContext)({dispatchLayoutProvider:ta,version:-1});var ra=require("react/jsx-runtime");var ot=()=>{let{dispatchLayoutProvider:r}=(0,We.useContext)(_r);return r},Ko=()=>{let{createNewChild:r}=(0,We.useContext)(_r);return r};var Xt=(r,e,t,o)=>{var y;let{loadSessionState:n,purgeSessionState:i,purgeState:s,saveSessionState:a}=rt(),[l,u]=(0,Re.useState)((y=n(r,"contributions"))!=null?y:[]),d=ot(),c=(0,Re.useCallback)((b,E)=>{let x=l.concat([{location:b,content:E}]);a(r,"contributions",x),u(x)},[l,r,a]),p=(0,Re.useCallback)(()=>{i(r,"contributions"),u([])},[r,i]),f=(0,Re.useCallback)(()=>{let b=n(r,"data-source");b&&b.unsubscribe(),i(r),s(r),d({type:"remove",path:t})},[d,r,n,i,s,t]),g=(0,Re.useCallback)(async(b,E,x)=>{var T;b.stopPropagation();let w=(T=e.current)==null?void 0:T.getBoundingClientRect();return new Promise((h,m)=>{d({type:"drag-start",evt:b,path:E===void 0?t:`${t}.${E}`,dragRect:w,preDragActivity:x,dropTargets:o,resolveDragStart:h,rejectDragStart:m})})},[e,d,t,o]);return[(0,Re.useCallback)(async(b,E)=>{var w;let{type:x}=b;switch(x){case"maximize":case"minimize":case"restore":return d({type:x,path:(w=b.path)!=null?w:t});case"remove":return f();case"mousedown":return g(E,b.index,b.preDragActivity);case"add-toolbar-contribution":return c(b.location,b.content);case"remove-toolbar-contribution":return p();case"query":return d({type:x,path:b.path,query:b.query});default:return}},[d,t,f,g,c,p]),l]};var ln=require("@vuu-ui/vuu-utils"),un=require("@salt-ds/core");var Z=me(require("react"));var Zo=require("@vuu-ui/vuu-ui-controls"),jo=require("@salt-ds/core");var ke=require("react");var nt=require("react/jsx-runtime"),Hr="vuuHeader",Xo=({className:r,contributions:e,collapsed:t,closeable:o,onEditTitle:n,orientation:i="horizontal",style:s,title:a="Untitled"})=>{let l=(0,ke.useRef)(null),[u,d]=(0,ke.useState)(a),[c,p]=(0,ke.useState)(!1),f=Yo(),g=P=>f==null?void 0:f({type:"remove"},P),v=()=>{var P;(P=l.current)==null||P.focus()},y=P=>{P.stopPropagation()},E=I(Hr,r,`${Hr}-${t||i}`),x=()=>{p(!0)},w=P=>{P.key==="Enter"&&p(!0)},T=(P="",C="",M=!0,O=!1)=>{var D;p(!1),O?d(P):C!==P&&(d(C),n==null||n(C)),M===!1&&((D=l.current)==null||D.focus())},h=P=>{f==null||f({type:"mousedown"},P)},m=[],S=[],L=[];return e==null||e.forEach((P,C)=>{switch(P.location){case"pre-title":m.push((0,ke.cloneElement)(P.content,{key:C}));break;default:S.push((0,ke.cloneElement)(P.content,{key:C}))}}),a&&m.push((0,nt.jsx)(Zo.EditableLabel,{className:`${Hr}-title`,editing:c,value:u,onChange:d,onMouseDownCapture:v,onEnterEditMode:x,onExitEditMode:T,onKeyDown:w,ref:l,tabIndex:0},"title")),o&&L.push((0,nt.jsx)(jo.Button,{"data-icon":"close",onClick:g,onMouseDown:y,variant:"secondary"},"close")),S.length>0&&m.push((0,nt.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:S},"contributions")),L.length>0&&m.push((0,nt.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:L},"actions")),(0,nt.jsx)("div",{className:I("vuuToolbarProxy",E),style:s,onMouseDown:h,children:m})};var ge=require("react");var en=({id:r,rootRef:e,path:t,dropTargets:o,title:n})=>{let i=ot(),{loadState:s,loadSessionState:a,purgeState:l,saveState:u,saveSessionState:d}=rt(),[c,p]=Xt(r,e,t,o),f=(0,ge.useMemo)(()=>{var h;return(h=s("view-title"))!=null?h:n},[s,n]),g=(0,ge.useCallback)(h=>{t&&i({type:"set-title",path:t,title:h})},[i,t]),v=(0,ge.useMemo)(()=>s(r),[r,s]),y=(0,ge.useCallback)(h=>s(r,h),[r,s]),b=(0,ge.useCallback)(h=>{l(r,h),i({type:"save"})},[r,i,l]),E=(0,ge.useCallback)((h,m)=>{u(r,m,h),i({type:"save"})},[r,i,u]),x=(0,ge.useCallback)(h=>a(r,h),[r,a]),w=(0,ge.useCallback)((h,m)=>d(r,m,h),[r,d]),T=(0,ge.useCallback)(({type:h,...m})=>{let{[h]:S}=m;E(S,h)},[E]);return{contributions:p,dispatchViewAction:c,load:y,loadSession:x,onConfigChange:T,onEditTitle:g,purge:b,restoredState:v,save:E,saveSession:w,title:f}};var Ue=require("react"),rn=["height","width"];var ze=new WeakMap,on=(r,e,t)=>{switch(t){case"height":return e.height;case"scrollHeight":return r.scrollHeight;case"scrollWidth":return r.scrollWidth;case"width":return e.width;default:return 0}},tn=new ResizeObserver(r=>{for(let e of r){let{target:t,contentRect:o}=e,n=ze.get(t);if(n){let{onResize:i,measurements:s}=n,a=!1;for(let[l,u]of Object.entries(s)){let d=on(t,o,l);d!==u&&(a=!0,s[l]=d)}a&&i&&i(s)}}});function nn(r,e,t,o=!1){let n=(0,Ue.useRef)(e),i=(0,Ue.useCallback)(s=>{let a=s.getBoundingClientRect();return n.current.reduce((l,u)=>(l[u]=on(s,a,u),l),{})},[]);(0,Ue.useLayoutEffect)(()=>{let s=r.current,a=!1;async function l(){ze.set(s,{measurements:{}}),a=!1;let{fonts:u}=document;if(u&&await u.ready,!a){let d=ze.get(s);if(d){let c=i(s);d.measurements=c,tn.observe(s),o&&t(c)}}}if(s){if(ze.has(s))throw Error("useResizeObserver attemping to observe same element twice");l()}return()=>{s&&ze.has(s)&&(tn.unobserve(s),ze.delete(s),a=!0)}},[r,i,o,t]),(0,Ue.useLayoutEffect)(()=>{let s=r.current,a=ze.get(s);if(a){if(n.current!==e){n.current=e;let l=i(s);a.measurements=l}a.onResize=t}},[e,i,r,t])}var it=require("react"),oa=[],sn=({mainRef:r,resize:e="responsive",rootRef:t})=>{let o=e==="defer",n=(0,it.useRef)({}),i=(0,it.useRef)(),s=(0,it.useCallback)(()=>{r.current&&(r.current.style.height=n.current.height+"px",r.current.style.width=n.current.width+"px"),i.current=void 0},[r]),a=(0,it.useCallback)(({height:l,width:u})=>{n.current.height=l,n.current.width=u,i.current!==null&&clearTimeout(i.current),i.current=window.setTimeout(s,40)},[s]);nn(t,o?rn:oa,a,o)};var St=me(require("react")),na={dispatch:null},Yt=St.default.createContext(na),Yo=()=>{var e;let r=(0,St.useContext)(Yt);return(e=r==null?void 0:r.dispatch)!=null?e:null},an=()=>(0,St.useContext)(Yt);var st=require("react/jsx-runtime"),Tt="vuuView",ia=(r,e)=>r&&e?{...r,...e}:r||e,cn=(0,Z.forwardRef)(function(e,t){let{Header:o=Xo,children:n,className:i,collapsed:s,closeable:a,"data-path":l,"data-resizeable":u,dropTargets:d,expanded:c,flexFill:p,id:f,header:g,orientation:v="horizontal",path:y=l,resize:b="responsive",resizeable:E=u,tearOut:x,style:w={},title:T,...h}=e,m=(0,ln.useId)(f),S=(0,Z.useRef)(null),L=(0,Z.useRef)(null),[P,C]=(0,Z.useState)(),{contributions:M,dispatchViewAction:O,load:D,loadSession:A,onConfigChange:N,onEditTitle:q,purge:$,restoredState:Q,save:ee,saveSession:le,title:ue}=en({id:m,rootRef:S,path:y,dropTargets:d,title:T});sn({mainRef:L,resize:b,rootRef:S});let Se=(0,Z.useCallback)(Nr=>{C(Nr)},[]),tt=()=>Z.default.isValidElement(n)&&(Q||P)?Z.default.cloneElement(n,ia(Q,P)):n,Ar=(0,Z.useMemo)(()=>({dispatch:O,id:m,path:y,title:ue,load:D,loadSession:A,onConfigChange:N,purge:$,save:ee,saveSession:le,setComponentProps:Se}),[O,m,D,A,N,y,$,ee,le,Se,ue]),Vr=typeof g=="object"?g:{};return(0,st.jsx)("div",{...h,className:I(Tt,i,{[`${Tt}-collapsed`]:s,[`${Tt}-expanded`]:c,[`${Tt}-resize-defer`]:b==="defer"}),"data-resizeable":E,id:m,ref:(0,un.useForkRef)(t,S),style:w,tabIndex:-1,children:(0,st.jsxs)(Yt.Provider,{value:Ar,children:[g?(0,st.jsx)(o,{...Vr,collapsed:s,contributions:M,expanded:c,closeable:a,onEditTitle:q,orientation:v,tearOut:x,title:ue}):null,(0,st.jsx)("div",{className:`${Tt}-main`,ref:L,children:tt()})]})})});cn.displayName="View";var er=Z.default.memo(cn);er.displayName="View";Me("View",er,"view");var Te=require("react/jsx-runtime"),tr="vuuLayoutStartPanel",dn=r=>{let{dispatch:e,path:t}=an(),[o,n]=(0,rr.useState)();return(0,rr.useMemo)(()=>{e==null||e({type:"query",path:t,query:"PARENT_CONTAINER"}).then(s=>{(s==null?void 0:s.parentContainerId)==="main-tabs"?n("initial"):n("nested")})},[e,t]),o===void 0?null:(0,Te.jsxs)("div",{...r,className:tr,children:[o==="initial"?(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)("header",{className:`${tr}-title`,children:"Start by adding a table"}),(0,Te.jsx)("div",{className:`${tr}-text`,children:"To add a table, drag any of the Vuu Tables to this area or click the button below"})]}):null,(0,Te.jsx)(pn.Button,{className:`${tr}-addButton`,"data-icon":"add",variant:"cta"})]})};var qe=require("react/jsx-runtime"),sa="vuuPlaceholder",aa=({showStartMenu:r=!0})=>(0,qe.jsx)(qe.Fragment,{children:r?(0,qe.jsx)(dn,{}):null}),or=({className:r,showStartMenu:e,...t})=>{let o=I(sa,r);return(0,qe.jsx)(er,{...t,className:o,"data-placeholder":!0,resizeable:!0,children:(0,qe.jsx)(aa,{showStartMenu:e})})};or.displayName="Placeholder";Me("Placeholder",or);var Sn=require("@vuu-ui/vuu-popups"),Tn=require("@vuu-ui/vuu-utils");var ir=me(require("react"));var xn=require("@vuu-ui/vuu-ui-controls"),at=require("@vuu-ui/vuu-utils"),te=require("react");var Br=require("@vuu-ui/vuu-utils"),la=".vuuOverflowContainer-item:not(.wrapped)";var ua=r=>r.sort((e,t)=>{let{dataset:{index:o="?"}}=e,{dataset:{index:n="?"}}=t,i=e.classList.contains("wrapped"),s=t.classList.contains("wrapped"),a=o==="overflow",l=n==="overflow";return i&&!s?1:!i&&s?-1:a?1:l?-1:parseInt(o)>parseInt(n)?1:-1}),$r=[],Et=(r,e="horizontal")=>{let t=[],o=[],n=-1,i=!1,s=ua(Array.from(r.children)),a=e==="vertical"?"top":"left";for(let l of s){let u=l,{dataset:{index:d="?",label:c="?",overflowPriority:p="0"}}=u,{[a]:f}=u.getBoundingClientRect();f<=n?(d==="overflow"?o.push(t.pop()):o.push({index:d,label:c,overflowPriority:p}),i=!0):i?o.push({index:d,label:c,overflowPriority:p}):t.push({index:d,label:c,overflowPriority:p}),n=f}return[t,o]},hn=(r,e,t)=>{let o=!1,n=t?`${t}-overflowed`:"overflow";e.find(({index:i})=>i==="overflow")&&e.length===1&&(o=!0);for(let i of r.children){let{dataset:{index:s="?"}}=i;e.length===0||o?r.classList.remove(n):r.classList.add(n),s!=="overflow"&&e.find(a=>a.index===s)?i.classList.add("wrapped"):i.classList.remove("wrapped")}},ca=(r,{overflowPriority:e})=>Math.max(r,parseInt(e)),pa=(r,{overflowPriority:e})=>Math.min(r,parseInt(e)),fn=r=>{var e;return r.length>1&&((e=r.at(-1))==null?void 0:e.index)==="overflow"},da=r=>{let[e]=r;for(let t=1;t<r.length;t++){let o=r[t];parseInt(o.overflowPriority)>parseInt(e.overflowPriority)&&(e=o)}return e},mn=(r,e)=>{var n;let t=r.reduce(pa,Number.MAX_SAFE_INTEGER);return e.reduce(ca,0)>t?!0:e.length>1&&((n=e.at(-1))==null?void 0:n.index)==="overflow"},gn=(r,e)=>new Promise(t=>{requestAnimationFrame(()=>{let[,o]=Et(r);ma(e,o).forEach(i=>ha(r,i)),t(o)})}),vn=(r,e,t)=>new Promise(o=>{requestAnimationFrame(()=>{let[,n]=Et(r),i=da(n);if(i){let[s,a]=Wr(r,i);o([s,a])}else o([e,t])})}),ha=(r,e)=>{let t=(0,Br.getElementByDataIndex)(r,e.index);if(t)t.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${e.index} not found`)},fa=r=>Array.from(r.querySelectorAll(".wrapped")),ma=(r,e)=>{let t=[];for(let o of e)r.find(({index:n})=>n===o.index)||t.push(o);return t},ga=(r,e)=>{fa(r).forEach(o=>{let{dataset:{index:n="?"}}=o;e.find(i=>i.index===n)||o.classList.remove("wrapped")})},bn=r=>r.querySelector('[data-index="overflow"]'),va=r=>r.querySelector(".wrapped"),nr=r=>parseInt(getComputedStyle(r).getPropertyValue("width")),yn=(r,e)=>{let{right:t}=r.getBoundingClientRect(),o=parseInt(getComputedStyle(r).getPropertyValue("padding-right")),{right:n}=e.getBoundingClientRect();return t-o-n},wn=r=>{let e=bn(r),t=yn(r,e),o=nr(e),n=va(r);return nr(n)<=t+o?(r.classList.remove("overflowed"),n.classList.remove("wrapped"),!0):!1},ba=(r,e)=>{let{dataset:{index:t="0",overflowPriority:o="0"}}=r,{dataset:{index:n="0",overflowPriority:i="0"}}=e;return o>i?-1:o<i?1:parseInt(t)-parseInt(n)},ya=r=>Array.from(r.querySelectorAll(la)).sort(ba),Wr=(r,e)=>{let t=ya(r),o=(0,Br.getElementByDataIndex)(r,e.index,!0),n=-1,i=t.at(n),s=nr(i),a=nr(o),l=bn(r),u=yn(r,l)+s;if(u>=a)wa(o,i);else{let{left:p}=i.getBoundingClientRect(),f=u,g=[i];for(;u<a;){n-=1,i=t.at(n),g.push(i);let{left:v}=i.getBoundingClientRect(),y=p-v;u=f+y}o==null||o.classList.remove("wrapped"),g.forEach(v=>{v.classList.add("wrapped")})}let[d,c]=Et(r);return ga(r,c),[d,c]},wa=(r,e)=>{if(!r||!e)throw Error("switchWrapOnElements, element undefined");r.classList.remove("wrapped"),e.classList.add("wrapped")};var Cn=({allowDragDrop:r=!1,itemCount:e,onMoveItem:t,onSwitchWrappedItemIntoView:o,orientation:n="horizontal"})=>{let[i,s]=(0,te.useState)(null),a=(0,te.useRef)($r),l=(0,te.useRef)(null),u=(0,te.useCallback)(x=>{var w;l.current&&((w=l.current.querySelector(".vuuOverflowContainer-OverflowIndicator button"))==null||w.setAttribute("tabindex",x))},[]),d=(0,te.useCallback)(async()=>{if(i){let[x,w]=Et(i,n);for(hn(i,w,"vuuOverflowContainer-wrapContainer"),fn(w)&&(w=await gn(i,w));mn(x,w);)[x,w]=await vn(i,x,w);w.length===1&&wn(i)&&(w=$r),a.current.length===0&&w.length>0?u("0"):a.current.length>0&&w.length===0&&u("-1"),a.current=w}},[i,n,u]),c=x=>typeof x=="object"&&x!==null&&"overflowItem"in x,[p,f]=(0,te.useMemo)(()=>[()=>{let{current:x}=a;return x.map(w=>({label:w.label,action:`activate-item-${w.index}`,options:{overflowItem:w}}))},({options:x})=>{if(i&&c(x)){let[,w]=Wr(i,x.overflowItem);a.current=w,o==null||o(x.overflowItem)}return!0}],[i,o]),g=(0,te.useMemo)(()=>{let{sizeProp:x}=at.MEASURES[n],w=0;return new ResizeObserver(T=>{for(let h of T){let{[x]:m}=h.contentRect,S=Math.round(m);(0,at.isValidNumber)(S)&&w!==S&&(w=S,d())}})},[d,n]);(0,at.useLayoutEffectSkipFirst)(()=>{d()},[d,e]),(0,te.useMemo)(()=>{i&&g.observe(i)},[i,g]);let v=(0,te.useCallback)(x=>{s(l.current=x)},[]),y=(0,te.useCallback)((x,w)=>{t==null||t(x,w)},[t]),{onMouseDown:b,...E}=(0,xn.useDragDrop)({allowDragDrop:r,containerRef:l,draggableClassName:"vuuOverflowContainer",onDrop:y,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"});return{menuActionHandler:f,menuBuilder:p,onItemMouseDown:b,rootRef:v,...E}};var Ie=require("react/jsx-runtime"),lt="vuuOverflowContainer",En=ir.default.memo(({PopupMenuProps:r,allowDragDrop:e,children:t,className:o,height:n,id:i,onMoveItem:s,onSwitchWrappedItemIntoView:a,orientation:l="horizontal",overflowIcon:u,overflowPosition:d="end"})=>{let c=Zt(t),{draggable:p,draggedItemIndex:f,menuActionHandler:g,menuBuilder:v,onItemMouseDown:y,rootRef:b}=Cn({allowDragDrop:e,itemCount:c.length,onMoveItem:s,onSwitchWrappedItemIntoView:a,orientation:l}),x={"--overflow-container-height":`${l==="vertical"?"100%":`${n}px`}`},w=I(`${lt}-wrapContainer`,o,{[`${lt}-horizontal`]:l==="horizontal",[`${lt}-vertical`]:l==="vertical"}),T=c.map((m,S)=>{let{"data-align":L,"data-overflow-priority":P="0",id:C=`${i}-${S}`,label:M=`Item ${S+1}`}=m.props;return(0,Ie.jsx)("div",{className:I(`${lt}-item`,{"vuuDraggable-dragAway":f===S}),"data-index":S,"data-align":L,"data-label":M,"data-overflow-priority":P,id:`${C}-wrapper`,onMouseDown:y,children:m},S)}),h=(0,Ie.jsx)("div",{className:`${lt}-OverflowIndicator`,"data-index":"overflow",children:(0,Ie.jsx)(Sn.PopupMenu,{...r,icon:u,menuBuilder:v,menuActionHandler:g,tabIndex:-1})},"overflow");return T.push(h),(0,Ie.jsxs)("div",{className:w,ref:b,style:x,children:[T,p]})});En.displayName="OverflowContainer.InnerContainer";var Pn=(0,ir.forwardRef)(function({PopupMenuProps:e,allowDragDrop:t=!1,children:o,className:n,height:i=44,id:s,onMoveItem:a,onSwitchWrappedItemIntoView:l,orientation:u,overflowIcon:d,overflowPosition:c,...p},f){let g=(0,Tn.useId)(s);return(0,Ie.jsx)("div",{...p,className:I(I(n,lt)),id:g,ref:f,children:(0,Ie.jsx)(En,{PopupMenuProps:e,allowDragDrop:t,height:i,id:g,orientation:u,overflowIcon:d,overflowPosition:c,onMoveItem:a,onSwitchWrappedItemIntoView:l,children:o})})});var sr=require("@vuu-ui/vuu-ui-controls"),Ln=require("@vuu-ui/vuu-utils");var xe=me(require("react"));var ut=require("react/jsx-runtime"),zr="vuuTabs",xa=()=>{},Ca=r=>{let e=[];return xe.default.Children.forEach(r,t=>{xe.default.isValidElement(t)?e.push(t):console.warn("Stack has unexpected child element type")}),e},Sa={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},Ur=(0,xe.forwardRef)(function({TabstripProps:e=Sa,active:t=0,children:o,className:n,getTabIcon:i=xa,getTabLabel:s=jt,id:a,keyBoardActivation:l="manual",onAddTab:u,onMoveTab:d,onTabClose:c,onTabEdit:p,onTabSelectionChanged:f,showTabs:g="top",style:v},y){var M;let b=(0,Ln.useId)(a),E=(0,xe.useRef)([]),{allowCloseTab:x,allowRenameTab:w,className:T}=e,h=(0,xe.useCallback)((O,D,A,N)=>{p==null||p(N,D)},[p]),m=()=>{var O;return xe.default.isValidElement(o)?o:Array.isArray(o)&&(O=o[t])!=null?O:null},S=()=>Ca(o).map((O,D)=>{let{closeable:A=x,id:N=`${b}-${D}`,"data-tab-location":q}=O.props,$=s(O,D,E.current);return E.current.push($),(0,ut.jsx)(sr.Tab,{ariaControls:N,"data-icon":i(O,D),id:`${N}-tab`,index:D,label:$,location:q,closeable:A,editable:w},N)}),L=m(),P=g==="left"||g==="right",C=P?"vertical":"horizontal";return(0,ut.jsxs)("div",{className:I(zr,n,{[`${zr}-horizontal`]:P}),style:v,id:b,ref:y,children:[g?(0,ut.jsx)(sr.Tabstrip,{...e,activeTabIndex:(M=e==null?void 0:e.activeTabIndex)!=null?M:L===null?-1:t,allowDragDrop:e.allowDragDrop!==!1,animateSelectionThumb:!0,className:I("vuuTabHeader",T),"aria-label":"data tabs",keyBoardActivation:l,onActiveChange:f,onAddTab:u,onCloseTab:c,onExitEditMode:h,onMoveTab:d,orientation:C,children:S()}):null,(0,ut.jsx)("div",{"aria-labelledby":`${b}-${t}`,className:`${zr}-tabPanel`,role:"tabpanel",children:L})]})});Ur.displayName="Stack";var Mn=require("@vuu-ui/vuu-utils"),Oe=me(require("react"));var qr=require("react/jsx-runtime"),Ta=()=>(0,qr.jsx)(or,{resizeable:!0,style:{flexGrow:1,flexShrink:0,flexBasis:0}}),ar=r=>{var T;let e=(0,Oe.useRef)(null),t=ot(),{loadState:o}=rt(),{createNewChild:n,id:i,onTabSelectionChanged:s,path:a,...l}=r,{children:u}=r,d=(0,Mn.useId)(i),[c]=Xt(d,e,a),p=Ko(),f=(T=n!=null?n:p)!=null?T:Ta,g=h=>{a&&(t({type:"switch-tab",id:d,path:a,nextIdx:h}),s==null||s(h))},v=(0,Oe.useCallback)(h=>{if(Array.isArray(u)){let{props:{"data-path":m,path:S=m}}=u[h];t({type:"remove",path:S})}},[u,t]),y=(0,Oe.useCallback)(()=>{if(a){let h=Oe.default.Children.count(u),m=f(h);t({type:"add",path:a,component:m})}},[u,f,t,a]),b=(0,Oe.useCallback)((h,m)=>{a&&t({fromIndex:h,toIndex:m,path:a,type:"move-child"})},[t,a]);return(0,qr.jsx)(Ur,{...l,id:d,getTabLabel:(h,m,S)=>{let{id:L,title:P}=h.props;return o(L,"view-title")||P||jt(h,m,S)},onMouseDown:async(h,m)=>{let S;await c({type:"mousedown",index:m,preDragActivity:async()=>new Promise(C=>{console.log("preDragActivity: Ok, gonna release the drag"),S=C})},h)&&(S==null||S(void 0))},onMoveTab:b,onAddTab:y,onTabClose:v,onTabEdit:(h,m)=>{t({type:"set-title",path:`${a}.${h}`,title:m})},onTabSelectionChanged:g,ref:e})};ar.displayName="Stack";Me("Stack",ar,"container");var $n=require("@vuu-ui/vuu-ui-controls"),Wn=require("@vuu-ui/vuu-utils");var dt=me(require("react"));var Hn=require("@vuu-ui/vuu-utils"),pt=require("react");var Fn=require("@salt-ds/core"),Fe=require("@vuu-ui/vuu-utils"),G=require("react"),j=require("@vuu-ui/vuu-utils");var Rn=require("@vuu-ui/vuu-utils"),Ea=(r,e)=>{if(r){let t=r.querySelector(`[data-index]:has(${e})`);return(0,Rn.getElementDataIndex)(t)}return-1};var kn=r=>Ea(r,".vuuEditableLabel-editing");var An={horizontal:{[j.Home]:"start",[j.End]:"end",[j.ArrowLeft]:"bwd",[j.ArrowRight]:"fwd"},vertical:{[j.Home]:"start",[j.End]:"end",[j.ArrowUp]:"bwd",[j.ArrowDown]:"fwd"}},Vn=r=>r!==null&&r.dataset.index==="overflow",Pa=(r,e,t,o,n)=>{if(r){let i=e==="bwd"&&o>0,s=e==="fwd"&&o<t,a=i||s,l=Pt(r,o,!0),u=n&&!On(l),d=!n&&Vn(l);return n&&On(l),a&&(u||d)}else return!1},La=(r,e="horizontal")=>An[e][r]!==void 0,Ma=r=>r===j.ArrowDown;function In(r,e,t){return e==="start"?0:e==="end"?r-1:e==="bwd"?t>0?t-1:t:t===null?0:t===r-1?t:t+1}var On=r=>r!==null&&!r.classList.contains("wrapped"),Nn=r=>Array.from(r.querySelectorAll("[data-index]")),Ra=r=>r===null?-1:Nn(r).map(o=>o.dataset.index).indexOf("overflow"),Pt=(r,e,t=!1)=>{if(r!==null){let n=Nn(r)[e];return!t&&Vn(n)?null:n}return null},Dn=({containerRef:r,defaultHighlightedIdx:e=-1,highlightedIdx:t,onNavigateOutOfBounds:o,orientation:n})=>{let i=(0,G.useRef)(!1),s=(0,G.useRef)(-1),[a,l]=(0,G.useState)(!1),[u,d]=(0,Fn.useControlled)({controlled:t,default:e,name:"UseKeyboardNavigation"}),c=(0,G.useCallback)(C=>{d(s.current=C)},[d]),p=(0,G.useRef)(!1),f=(0,G.useCallback)((C,M=!1,O,D=70)=>{console.log(`focus item ${C}`),c(C),O===!0&&!p.current&&(p.current=!0);let A=()=>{let N=Pt(r.current,C,!0);if(N){let q=(0,Fe.getFocusableElement)(N);q==null||q.focus()}};M?A():setTimeout(A,D)},[r,c]),g=C=>{if(s.current===-1){if(C.target.tabIndex===0){let M=(0,Fe.getElementDataIndex)((0,Fe.getClosest)(C.target,"index"));c(M)}else if(C.target.tabIndex!==-1){let M=kn(r.current);M!==-1&&requestAnimationFrame(()=>{c(M)})}}},v=(0,G.useCallback)(()=>{var C,M;return(M=(C=r.current)==null?void 0:C.querySelectorAll("[data-index]").length)!=null?M:0},[r]),y=(0,G.useCallback)((C="fwd",M)=>{var $;let O=v(),D=typeof M=="number"?M:O,A=In(O,C,D),N=C==="start"?"fwd":C==="end"?"bwd":C,q=(($=r.current)==null?void 0:$.querySelector(".vuuOverflowContainer-wrapContainer-overflowed"))!=null;for(;Pa(r.current,N,O,A,q);){let Q=In(O,N,A);if(Q===A)return D;A=Q}return A},[r,v]),b=(0,G.useCallback)(C=>{let M=An[n][C.key],O=y(M,u);console.log(`highlightedIdx = ${u}, nextIdx = ${O} `),O!==u?f(O,!0):o==null||o(M==="bwd"?"start":"end")},[n,y,u,f,o]),E=(0,G.useCallback)(()=>{let C=Pt(r.current,u);return C?C.querySelector(".vuuPopupMenu")!=null:!1},[r,u]),x=(0,G.useCallback)(()=>{let C=Pt(r.current,u);return C?C.querySelector(".vuuEditableLabel-input")!=null:!1},[r,u]),w=(0,G.useCallback)(()=>{let C=Pt(r.current,u),M=C==null?void 0:C.querySelector(".vuuPopupMenu");return M&&(0,Fe.dispatchMouseEvent)(M,"click"),!1},[r,u]),T=(0,G.useCallback)(C=>{v()>0&&La(C.key,n)?(C.preventDefault(),p.current||(p.current=!0),b(C)):Ma(C.key)&&E()&&!x()&&w()},[w,v,E,x,b,n]),h=(C,M)=>{c(M)},m=(0,G.useCallback)(()=>{a||(l(!0),i.current?i.current=!1:p.current=!0)},[a]),S=(0,G.useCallback)(()=>{a||(i.current=!0),p.current=!1},[a]),L=(0,G.useCallback)(C=>{if((C==null?void 0:C.type)==="escape"){let M=Ra(r.current);M!==-1&&f(M)}},[r,f]);return{containerProps:{onBlur:C=>{let M=C.target.closest(".vuuToolbar"),O=C.relatedTarget;M&&!(M!=null&&M.contains(O))&&(c(-1),l(!1))},onMouseDownCapture:S,onFocus:m,onMouseLeave:()=>{p.current=!0,c(-1),i.current=!1}},focusVisible:p.current?u:-1,focusIsWithinComponent:a,highlightedIdx:u,focusableIdx:0,focusItem:f,onClick:h,onFocus:g,onKeyDown:T,onOverflowMenuClose:L,setHighlightedIdx:c}};var Lt=require("@vuu-ui/vuu-utils"),Ee=require("@vuu-ui/vuu-ui-controls"),ct=require("react"),ka=["Enter"," "],Ia={},_n=({containerRef:r,defaultSelected:e,highlightedIdx:t,itemQuery:o,onSelectionChange:n,selected:i,selectionStrategy:s})=>{let[a,l,u]=(0,Ee.useControlled)({controlled:i,default:e!=null?e:[],name:"useSelection",state:"selected"}),d=(0,ct.useCallback)(y=>ka.includes(y.key),[]),c=(0,ct.useCallback)((y,b=!1)=>{let E=(0,Ee.allowMultipleSelection)(s,b)?a.concat(y):[y];l(E),n==null||n(E)},[n,a,s,l]),p=(0,ct.useCallback)((y,b=!1)=>{let E=s==="deselectable"||s==="multiple-special-key"&&!b?[]:a.filter(x=>x!==y);l(E),n==null||n(E)},[n,a,s,l]),f=(0,ct.useCallback)(y=>{d(y)&&(0,Lt.isSelectableElement)(y.target)&&(a.includes(t)?(0,Ee.deselectionIsAllowed)(s)&&(y.stopPropagation(),y.preventDefault(),p(t,y.shiftKey)):(y.stopPropagation(),y.preventDefault(),c(t,y.shiftKey)))},[d,a,t,s,c,p]),g=(0,ct.useCallback)((y,b)=>{let E=(0,Lt.getClosestIndexItem)(y.target);(0,Lt.isSelectableElement)(E)&&(a.includes(b)?(0,Ee.deselectionIsAllowed)(s)&&p(b,y.shiftKey):c(b,y.shiftKey))},[p,c,a,s]),v=(0,Ee.selectionIsDisallowed)(s)?Ia:{onClick:g,onKeyDown:f};return{activateItem:c,itemHandlers:v,isControlled:u,selected:a}};var Bn=({activeItemIndex:r,defaultActiveItemIndex:e,containerRef:t,itemQuery:o="vuuToolbarItem",onActiveChange:n,onNavigateOutOfBounds:i,orientation:s,selectionStrategy:a})=>{let l=(0,pt.useRef)(r),{focusItem:u,highlightedIdx:d,onClick:c,onKeyDown:p,setHighlightedIdx:f,...g}=Dn({containerRef:t,onNavigateOutOfBounds:i,orientation:s}),{activateItem:v,itemHandlers:{onClick:y,onKeyDown:b},selected:E}=_n({containerRef:t,defaultSelected:e,highlightedIdx:d,itemQuery:o,onSelectionChange:n,selected:r,selectionStrategy:a});l.current=E;let x=(0,pt.useCallback)(m=>{var P;let L=m.target.closest("[data-index]");if(L){let C=parseInt((P=L.dataset.index)!=null?P:"-1");C!==-1&&(0,Hn.isValidNumber)(C)&&(c(m,C),y==null||y(m,C))}},[c,y]),w=(0,pt.useCallback)(m=>{p(m),m.defaultPrevented||b==null||b(m)},[p,b]),T=(0,pt.useCallback)(m=>{let S=parseInt(m.index);isNaN(S)||(v(S),u(S))},[u,v]),h={onClick:x,onFocus:g.onFocus,onKeyDown:w};return{activeItemIndex:E,focusableIdx:g.focusableIdx,focusVisible:g.focusVisible,containerProps:{PopupMenuProps:{onKeyDown:w,onMenuClose:g.onOverflowMenuClose},...g.containerProps,onSwitchWrappedItemIntoView:T},itemProps:h}};var Un=require("react/jsx-runtime"),Mt="vuuToolbar",zn=({activeItemIndex:r,alignItems:e="start",defaultActiveItemIndex:t,children:o,className:n,id:i,onActiveChange:s,onNavigateOutOfBounds:a,orientation:l="horizontal",selectionStrategy:u="none",showSeparators:d=!1,...c})=>{let p=(0,dt.useRef)(null),{activeItemIndex:f,focusableIdx:g,focusVisible:v,itemProps:y,...b}=Bn({activeItemIndex:r,defaultActiveItemIndex:t,containerRef:p,onActiveChange:s,onNavigateOutOfBounds:a,orientation:l,selectionStrategy:u}),E=(0,Wn.useId)(i),x=(0,dt.useMemo)(()=>Zt(o).map((w,T)=>{let{id:h=`${E}-tab-${T}`,className:m,...S}=w.props,L=f.includes(T);return dt.default.cloneElement(w,{...(0,$n.forwardCallbackProps)(S,y),className:I("vuuToolbarItem",m),"data-overflow-priority":L?"1":void 0,id:h,key:T,"aria-selected":L,tabIndex:g===T?0:-1})}),[f,o,g,E,y]);return(0,Un.jsx)(Pn,{...c,...b.containerProps,className:I(n,Mt,`${Mt}-${l}`,{[`${Mt}-alignCenter`]:e==="center",[`${Mt}-alignEnd`]:e==="end",[`${Mt}-withSeparators`]:d}),...c,ref:p,children:x})};var Ps=require("@vuu-ui/vuu-popups"),Bo=require("@salt-ds/core");var Ls=require("react");var Rt=require("react"),lr=require("@vuu-ui/vuu-popups"),ht=require("@vuu-ui/vuu-ui-controls");var se=require("react/jsx-runtime"),qn="vuuFilterBuilderMenu",Qr=({ListProps:r,onMenuAction:e})=>{let t=(0,Rt.useRef)(null),o=(0,Rt.useCallback)(i=>{i&&requestAnimationFrame(()=>{i.focus()})},[]),n=(0,Rt.useCallback)((i,s)=>{let{props:{"data-action":a}}=s;e({type:"menu-action",menuId:a,options:{}})},[e]);return(0,se.jsxs)(se.Fragment,{children:[(0,se.jsx)("span",{className:`${qn}-trigger`,ref:t}),(0,se.jsx)(lr.Portal,{children:(0,se.jsx)(lr.PopupComponent,{anchorElement:t,placement:"right",children:(0,se.jsxs)(ht.List,{...r,className:`${qn}List`,defaultHighlightedIndex:0,itemHeight:22,ref:o,onSelect:n,style:{position:"relative"},width:100,children:[(0,se.jsx)(ht.ListItem,{"data-action":"apply-save",children:(0,se.jsx)("span",{className:"vuuMenuButton",children:"APPLY AND SAVE"})}),(0,se.jsx)(ht.ListItem,{"data-action":"and-clause",children:"AND"}),(0,se.jsx)(ht.ListItem,{"data-action":"or-clause",children:"OR"})]})})})]})};var Gn=require("@vuu-ui/vuu-utils"),Jn=require("@vuu-ui/vuu-ui-controls");var ae=require("react");var Gr=require("react/jsx-runtime"),Qn="vuuExpandoCombobox",Oa={},Ae=(0,ae.forwardRef)(function({className:e,InputProps:t=Oa,ListProps:o,onInputChange:n,onSelectionChange:i,selectionStrategy:s,style:a,value:l="",...u},d){let[c,p]=(0,ae.useState)(l),{itemToString:f=Gn.itemToString}=u,g=(0,ae.useRef)(l),v=(0,ae.useCallback)(h=>{let[m,...S]=h;return S.length?`${f(m)} + ${S.length}`:f(m)},[f]),y=(0,ae.useCallback)(h=>{let{value:m}=h.target;p(m),n==null||n(h)},[n]),b=(0,ae.useCallback)(h=>{p(h)},[]),[E,x]=(0,ae.useMemo)(()=>{let{inputProps:h,...m}=t;return[{...m,className:`${Qn}-Input`,endAdornment:null,inputProps:{...h,autoComplete:"off",onInput:y}},{...o,className:I("vuuMenuList",o==null?void 0:o.className),"data-mode":"light",displayedItemCount:10,itemHeight:22,maxWidth:300,minWidth:80,width:"content-width"}]},[t,y,o]),w=(0,ae.useCallback)((h,m)=>{Array.isArray(m)?i==null||i(null,m):m&&(p(f(m)),i==null||i(null,m))},[f,i]),T={minWidth:"fit-content"};return(0,Gr.jsx)("div",{className:I(Qn,e),"data-text":c,ref:d,style:a,children:(0,Gr.jsx)(Jn.ComboBox,{...u,PopupProps:T,defaultValue:g.current,fullWidth:!0,ListProps:x,InputProps:E,itemsToString:v,onSelectionChange:w,onSetSelectedText:b,selectionStrategy:s})})});var ii=require("react");var Qe=require("react"),Kn=require("@vuu-ui/vuu-ui-controls"),ur=require("@vuu-ui/vuu-utils"),jn=require("react/jsx-runtime"),Zn=(0,Qe.forwardRef)(function({InputProps:e,className:t,column:o,onInputComplete:n,value:i},s){let[a,l]=(0,Qe.useState)((0,ur.isValidNumber)(i)?i.toString():""),u=(0,Qe.useCallback)(c=>{let{value:p}=c.target,f=parseFloat(p);(0,ur.isValidNumber)(f)&&console.log("its valid"),l(p)},[]),d=(0,Qe.useCallback)(c=>{if(c.key==="Enter"){let{value:p}=c.target,f=parseFloat(p);(0,ur.isValidNumber)(f)&&n(f)}},[n]);return(0,jn.jsx)(Kn.ExpandoInput,{...e,className:t,value:a,ref:s,onChange:u,onKeyDown:d})});var cr=require("@vuu-ui/vuu-utils"),Fa=["=","in","!=","starts","ends"],Aa=["=","!=",">",">=","<","<="],Xn=r=>{if((0,cr.isTextColumn)(r))return Fa;if((0,cr.isNumericColumn)(r))return Aa;throw Error("getOperators only supports text and numeric columns")};var re=require("react"),ei=require("@vuu-ui/vuu-data-react"),ti=require("@vuu-ui/vuu-ui-controls");var kt=require("react/jsx-runtime"),Va=["Enter"," "],Yn=["No matching data"],Jr=(0,re.forwardRef)(function({InputProps:e={},className:t,column:o,"data-field":n,onDeselect:i,onInputComplete:s,operator:a,suggestionProvider:l=ei.useTypeaheadSuggestions,table:u,value:d},c){let[p,f]=(0,re.useState)(d!=null?d:""),[g,v]=(0,re.useState)([]),y=l(),b=(0,re.useCallback)((h,m)=>s(m),[s]),E=(0,re.useCallback)((h,m)=>s(m),[s]);(0,re.useEffect)(()=>{if(u){let h=p?[u,o.name,p]:[u,o.name];y(h).then(m=>{m.length===0&&p?v(Yn):v(m)}).catch(m=>{console.error("Error getting suggestions",m)})}},[u,o,p,y]);let x=(0,re.useCallback)(h=>{let{value:m}=h.target;f(m)},[]),w=(0,re.useMemo)(()=>{if(a==="starts"||a==="ends"){let{inputProps:h,...m}=e;return{...m,inputProps:{...h,onKeyDown:S=>{var L;S.key==="Enter"&&p!==""?(S.stopPropagation(),S.preventDefault(),s(p)):(L=h==null?void 0:h.onKeyDown)==null||L.call(h,S)}}}}else return e},[e,s,a,p]);return(0,re.useCallback)(()=>{if(g.length===0)return null;switch(a){case"in":return(0,kt.jsx)(Ae,{InputProps:w,className:t,"data-field":n,initialHighlightedIndex:0,source:g,onInputChange:x,onSelectionChange:E,ref:c,selectionStrategy:"multiple",selectionKeys:Va,value:d});case"starts":return(0,kt.jsx)(Ae,{InputProps:w,ListProps:{className:"vuuIllustrationsOnly",disabled:!0},allowFreeText:!0,className:t,"data-field":n,initialHighlightedIndex:0,disableFilter:g===Yn&&(p==null?void 0:p.length)>0,source:g,onInputChange:x,onSelectionChange:b,ref:c,value:d});case"ends":return(0,kt.jsx)(ti.ExpandoInput,{...w,className:t,"data-field":n,value:p,ref:c,onChange:x});default:return(0,kt.jsx)(Ae,{InputProps:w,allowBackspaceClearsSelection:!0,className:t,"data-field":n,initialHighlightedIndex:0,source:g,title:"value",onInputChange:x,onDeselect:i,onSelectionChange:b,ref:c,value:d})}},[a,w,t,n,g,x,E,c,d,p,i,b])()});var Ve=require("@vuu-ui/vuu-utils"),B=require("react"),Na=r=>r.selectionStart===0,Da=r=>r.selectionStart===r.value.length,ri=r=>r!=null&&r.classList.contains("vuuFilterClauseColumn")?"column":r!=null&&r.classList.contains("vuuFilterClauseOperator")?"operator":"value",oi=()=>{let r=document.activeElement;return r!=null&&r.classList.contains("vuuFilterClause-clearButton")?r:r==null?void 0:r.closest(".vuuFilterClauseField")},It=(r="fwd")=>{var o;let e=oi(),t=e==null?void 0:e.closest(".vuuFilterClause");if(r==="fwd"&&(t==null?void 0:t.lastChild)===e)requestAnimationFrame(()=>{It()});else{let n=r==="fwd"?e==null?void 0:e.nextElementSibling:e==null?void 0:e.previousElementSibling;(o=n==null?void 0:n.querySelector("input"))==null||o.focus()}},_a=r=>{var t;let e=r.closest("[data-index]");if(e){let o=e.dataset.index;return((t=e==null?void 0:e.parentElement)==null?void 0:t.querySelector(`[data-index]:has(.vuuFilterClause):has(+[data-index="${o}"])`))!==null}},Kr=()=>{let r=oi(),e=r==null?void 0:r.closest(".vuuFilterClause");if(e&&r)if(r.classList.contains("vuuFilterClauseValue")){let t=e.querySelector(".vuuFilterClause-clearButton");t==null||t.focus()}else It()},Ha=r=>{let e=r.target,t=Na(e),o=Da(e),n=e.closest(".vuuFilterClauseField");if(r.key==="ArrowLeft"){if(t){if(ri(n)==="column")return;{let s=n.previousSibling,a=s==null?void 0:s.querySelector("input");r.preventDefault(),console.log("%cfocus nextInput","color:green;font-weight:bold"),a==null||a.focus(),requestAnimationFrame(()=>{a==null||a.select()})}}r.stopPropagation()}else if(r.key==="ArrowRight"){if(o){if(ri(n)==="value")return;{let s=n.nextSibling,a=s==null?void 0:s.querySelector("input");r.preventDefault(),a==null||a.focus(),requestAnimationFrame(()=>{a==null||a.select()})}}r.stopPropagation()}},Ba=r=>(0,Ve.isMultiValueFilter)(r)?r.values:(0,Ve.isSingleValueFilter)(r)?r.value:void 0,ni=({filterClause:r,onCancel:e,onChange:t,tableSchema:o})=>{let n=(0,B.useRef)(null),i=(0,B.useRef)(null),s=(0,B.useRef)(null),[a,l]=(0,B.useState)((0,Ve.getColumnByName)(o,r.column)),[u,d]=(0,B.useState)(r.op),c=(0,B.useCallback)(S=>o.columns.find(L=>L.name===S),[o.columns]),p=(0,B.useCallback)(S=>{d(S)},[]),[f,g]=(0,B.useState)(Ba(r)),v=(0,B.useCallback)((S,L)=>{l(L!=null?L:void 0),p(void 0),g(void 0),setTimeout(()=>{Kr()},100)},[p]),y=(0,B.useCallback)(S=>{var P;let L=S.target;if(L.value===""){let C=L.closest(".vuuFilterClauseField,[data-field]");switch((P=C==null?void 0:C.dataset)==null?void 0:P.field){case"operator":{p(void 0),l(void 0),It("bwd");break}case"value":{p(void 0),It("bwd");break}case"column":_a(L)&&(console.log("This is NOT the first clause"),e==null||e("Backspace"))}}},[e,p]),b=(0,B.useCallback)((S,L)=>{let P=L;if(P===void 0||(0,Ve.isValidFilterClauseOp)(P))p(P),Kr();else throw Error(`FilterClauseEditor, invalid value ${P} for filter clause`)},[p]),E=(0,B.useCallback)(S=>{g(S),S!==null&&S!==""&&(Array.isArray(S)?t({column:a==null?void 0:a.name,op:u,values:S}):t({column:a==null?void 0:a.name,op:u,value:S}))},[t,u,a==null?void 0:a.name]),x=(0,B.useCallback)(()=>{g(void 0)},[]),w=(0,B.useCallback)(S=>{if(["ArrowLeft","ArrowRight"].includes(S.key))Ha(S);else if(S.key==="Backspace")y(S);else if(S.key==="Enter"){let L=S.target,P=L.closest("[data-field]");if(P.dataset.field==="column"){let C=c(L.value);C&&(l(C),Kr())}else if(P.dataset.field==="value"&&u==="starts"){S.stopPropagation();let C=L.value;g(C),t({column:a==null?void 0:a.name,op:u,value:C})}}},[c,t,u,y,a==null?void 0:a.name]),T=(0,B.useCallback)(S=>{var C;let P=(C=S.target.closest(".vuuFilterClause"))==null?void 0:C.querySelector("input");l(void 0),p(void 0),g(void 0),setTimeout(()=>{P.select(),P==null||P.focus()},100)},[p]),h=(0,B.useCallback)(S=>{S.stopPropagation(),S.key==="Backspace"&&It("bwd")},[]),m=(0,B.useMemo)(()=>({inputProps:{onKeyDownCapture:w}}),[w]);return(0,B.useEffect)(()=>{var L;let S=(L=n.current)==null?void 0:L.querySelector("input");S==null||S.focus()},[]),{InputProps:m,columnRef:n,onChangeValue:E,onClear:T,onClearKeyDown:h,onDeselectValue:x,onSelectionChangeColumn:v,onSelectionChangeOperator:b,operator:u,operatorRef:i,selectedColumn:a,value:f,valueRef:s}};var si=require("@salt-ds/core"),Ne=require("react/jsx-runtime"),ve="vuuFilterClause",Zr=({className:r,onCancel:e,onChange:t,onDropdownClose:o,onDropdownOpen:n,filterClause:i,suggestionProvider:s,tableSchema:a,...l})=>{var L;let{table:u,columns:d}=a,{InputProps:c,columnRef:p,onChangeValue:f,onClear:g,onClearKeyDown:v,onDeselectValue:y,onSelectionChangeColumn:b,onSelectionChangeOperator:E,operator:x,operatorRef:w,selectedColumn:T,value:h,valueRef:m}=ni({filterClause:i,onCancel:e,onChange:t,tableSchema:a}),S=(0,ii.useCallback)(()=>{if(T===null||x===void 0)return null;switch(T==null?void 0:T.serverDataType){case"string":case"char":return(0,Ne.jsx)(Jr,{InputProps:c,className:I(`${ve}Field`,`${ve}Value`),column:T,"data-field":"value",filterClause:i,onDeselect:y,onInputComplete:f,operator:x,ref:m,suggestionProvider:s,table:u,value:h});case"int":case"long":case"double":return(0,Ne.jsx)(Zn,{InputProps:c,className:I(`${ve}Field`,`${ve}Value`),column:T,filterClause:i,onInputComplete:f,operator:x,ref:m});case void 0:console.log("returning undefined");return;default:return console.log("returning unsupported"),null}},[T,x,c,i,f,m,s,u,h]);return(0,Ne.jsxs)("div",{className:I(ve,r),...l,tabIndex:0,children:[(0,Ne.jsx)(Ae,{InputProps:c,allowBackspaceClearsSelection:!0,className:I(`${ve}Field`,`${ve}Column`),"data-field":"column",initialHighlightedIndex:0,itemToString:P=>P.name,onSelectionChange:b,ref:p,source:d,title:"column",value:(L=T==null?void 0:T.name)!=null?L:""}),T!=null&&T.name?(0,Ne.jsx)(Ae,{InputProps:c,allowBackspaceClearsSelection:!0,className:I(`${ve}Field`,`${ve}Operator`,{[`${ve}Operator-hidden`]:T===null}),"data-field":"operator",initialHighlightedIndex:0,onSelectionChange:E,ref:w,source:Xn(T),title:"operator",value:x!=null?x:""}):null,S(),h!==void 0?(0,Ne.jsx)(si.Button,{className:`${ve}-clearButton`,onClick:g,onKeyDown:v,"data-icon":"close"}):null]})};var fr=require("@vuu-ui/vuu-popups"),Si=require("@vuu-ui/vuu-ui-controls"),Je=require("@vuu-ui/vuu-utils");var Ft=require("react");var pi=require("@vuu-ui/vuu-popups"),di=require("react");var ai=r=>({label:"Close",location:"filter",action:"close-filter",options:r}),li=r=>({label:"Delete",location:"filter",action:"delete-filter",options:r}),ui=r=>({label:"Rename",location:"filter",action:"rename-filter",options:r}),ci=r=>({label:"Edit",location:"filter",action:"edit-filter",options:r});var fi=require("react/jsx-runtime"),$a="vuuFilterPillMenu",hi=({allowClose:r=!0,allowDelete:e=!0,allowEdit:t=!0,allowRename:o=!0,filter:n,location:i,onMenuAction:s,onMenuClose:a})=>{let[l,u]=(0,di.useMemo)(()=>[(d,c)=>{let p=[];return o&&p.push(ui(c)),t&&p.push(ci(c)),r&&p.push(ai(c)),e&&p.push(li(c)),p},{filter:n}],[r,e,t,o,n]);return(0,fi.jsx)(pi.PopupMenu,{className:$a,menuBuilder:l,menuActionHandler:s,menuLocation:I("filter",i),menuOptions:u,onMenuClose:a,tabIndex:-1})};var _=require("@vuu-ui/vuu-utils"),X="and",pr="=",Wa=">",za="<",mi="or",jr="starts",Ua="ends",gi="in",ft=(r,e=[])=>(r&&((0,_.isMultiClauseFilter)(r)?r.filters.forEach(t=>e.push(...ft(t))):e.push(r)),e),vi={combineWith:"and"},Yr=r=>{let{filters:e}=r;return e.length>2?{...r,filters:r.filters.slice(0,-1)}:r.filters[0]},hr=(r,e,{combineWith:t=X}=vi)=>(0,_.isMultiClauseFilter)(r)&&r.op===t?{...r,filters:r.filters.concat(e)}:{op:t,filters:[r,e]},eo=(r,e)=>(0,_.isMultiClauseFilter)(r)?{...r,filters:r.filters.slice(0,-1).concat(e)}:e,qa=(r,e,{combineWith:t=X}=vi)=>{var o;if(to(e))(0,_.isMultiClauseFilter)(e)||(r=Xr(r,{name:e.column}));else if(Qa(e))return(0,_.isMultiClauseFilter)(e),Xr(r,{name:(o=e.column)!=null?o:""});if(!r)return e;if(!e)return r;if(r.op===X&&e.op===X)return{op:X,filters:Ka(r.filters,e.filters)};if(r.op===X){let n=Ga(r.filters,e);return n.length>1?{op:X,filters:n}:n[0]}return e.op===X?{op:X,filters:e.filters.concat(r)}:dr(r,e,!0)?e:wi(r,e)?Ja(r,e):{op:t,filters:[r,e]}},to=r=>r?(0,_.isInFilter)(r)&&r.values.length===0?!0:(0,_.isAndFilter)(r)&&r.filters.some(e=>to(e)):!1,Qa=r=>r?r.op===jr&&r.value===""?!0:r.op===jr&&r.value==="":!1,Ga=(r,e)=>r.concat(e),Ja=(r,e)=>to(e)?e:(0,_.isInFilter)(r)&&(0,_.isInFilter)(e)?{...r,values:[...r.values,...e.values.filter(t=>!r.values.includes(t))]}:(0,_.isInFilter)(r)&&e.op===pr?{...r,values:r.values.concat([e.value])}:r.op===pr&&e.op===pr?{column:r.column,op:gi,values:[r.value,e.value]}:e,Ka=(r,e)=>{let t=({op:i},{op:s})=>i===s||i[0]===">"&&s[0]===">"||i[0]==="<"&&s[0]==="<",o=(i,s)=>i.column===s.column&&t(i,s),n=i=>e.some(s=>o(i,s))===!1;return r.filter(n).concat(e)},Za=(r,e)=>{if(dr(r,e,!0))return null;if(r.op!==X)throw Error(`removeFilter cannot remove ${JSON.stringify(e)} from ${JSON.stringify(r)}`);let t=r.filters.filter(o=>!dr(o,e));return t.length>0?{type:X,filters:t}:null},ja=(r,e)=>{if(!e)return[void 0,void 0];if(e.column===r)return[e,void 0];if(e.op!==X)return[void 0,e];let[[t=void 0],o]=(0,_.partition)(e.filters,n=>n.column===r);return o.length===1?[t,o[0]]:[t,{op:X,filters:o}]},bi=(r,e)=>(0,_.isMultiClauseFilter)(r)?{op:r.op,filters:r.filters.map(t=>bi(t,e))}:{...r,column:e},yi=(r,e)=>{if(!r)return!1;let{op:t,column:o}=r;switch(t){case X:case mi:return r.filters!=null&&r.filters.some(n=>yi(n,e));default:return o===e.name}},Xr=(r,e)=>{let t=e.name;if(r&&r.column!==t){if((0,_.isAndFilter)(r)||(0,_.isOrFilter)(r)){let{op:o}=r,i=r.filters.filter(s=>s.column!==t);switch(i.length){case 0:return;case 1:return i[0];default:return{op:o,filters:i}}}return r}},wi=(r,e)=>r.column===e.column&&(r.op==="="||r.op==="in")&&(e.op==="="||e.op==="in"),Xa=(r,e)=>{if(r===e)return!0;if(r.length===e.length){let t=r.slice().sort(),o=e.slice().sort();return t.join("|")===o.join("|")}return!1},dr=(r,e,t=!1)=>t?r&&e&&wi(r,e)?r.op===e.op&&((0,_.isSingleValueFilter)(r)&&(0,_.isSingleValueFilter)(e)&&r.value===e.value||(0,_.isMultiValueFilter)(r)&&(0,_.isMultiValueFilter)(e)&&Xa(r.values,e.values)):!1:!0,xi=(r,e,t)=>{if(r&&e){if(t==="replace")return e;if(r.op==="and")return{...r,filters:r.filters.concat(e)};let{column:o}=e;if(o&&(e.column?(0,_.extractFilterForColumn)(r,o):void 0)&&o){let i=Xr(r,{name:o});return xi(i,e,"add")}return{op:"and",filters:[r,e]}}return e||r},Ya=(r,e,t)=>{if(e.length!==0){if(t){let o=e[0].substring(0,e[0].length-3);return{column:r,op:"starts",value:`"${o}"`}}return{column:r,op:"in",values:e.map(o=>`"${o}"`)}}},el=(r,e,t)=>{if(e!==void 0&&!(t===void 0||isNaN(t)))return{column:r,op:e,value:t}};var Pe=require("@vuu-ui/vuu-utils"),Ot=require("react/jsx-runtime"),ro=r=>(0,Pe.isMultiClauseFilter)(r)?(0,Ot.jsxs)("div",{children:[(0,Ot.jsx)("span",{children:"Match all ..."}),r.filters.map((e,t)=>(0,Ot.jsx)("div",{children:ro(e)},t))]}):(0,Pe.isMultiValueFilter)(r)?r.values.length>3?`${r.column} ${r.op} [${r.values.slice(0,3).map(Pe.quotedStrings).join(",")} ...]`:`${r.column} ${r.op} [${r.values.map(Pe.quotedStrings).join(",")}]`:`${r.column} ${r.op} ${(0,Pe.filterValue)(r.value)}`;var Ge=require("react/jsx-runtime"),Ci="vuuFilterPill",tl=r=>{if(r.name)return r.name;if((0,Je.isMultiClauseFilter)(r)){let[e]=ft(r);return`${(0,Je.filterAsQuery)(e)} ${r.op} ...`}else return(0,Je.filterAsQuery)(r)},oo=({className:r,editable:e=!0,filter:t,id:o,onBeginEdit:n,onExitEditMode:i,onMenuAction:s,showMenu:a=!0,...l})=>{let u=(0,Ft.useRef)(null),d=(0,Ft.useCallback)(()=>{n==null||n(t)},[t,n]),c=tl(t),p=(0,Je.useId)(o),f=(0,Ft.useCallback)(y=>{(y==null?void 0:y.type)==="escape"&&requestAnimationFrame(()=>{u.current&&u.current.focus()})},[]),{anchorProps:g,tooltipProps:v}=(0,fr.useTooltip)({id:p,placement:"below",tooltipContent:ro(t)});return(0,Ge.jsxs)("div",{...g,...l,className:I(Ci,r),"data-text":c,ref:u,children:[e&&i?(0,Ge.jsx)(Si.EditableLabel,{defaultValue:c,onEnterEditMode:d,onExitEditMode:i},c):(0,Ge.jsx)("span",{className:`${Ci}-label`,children:c}),a&&s?(0,Ge.jsx)(hi,{filter:t,onMenuAction:s,onMenuClose:f}):null,v?(0,Ge.jsx)(fr.Tooltip,{...v}):null]})};var yt=require("@vuu-ui/vuu-utils"),F=require("react");var il=require("react");var mr=require("react"),no=require("@salt-ds/core"),ol=require("@vuu-ui/vuu-ui-controls");var rl=require("react"),Ti=require("react/jsx-runtime");var Ei=require("react/jsx-runtime");var nl=require("@vuu-ui/vuu-utils");var sl=require("@salt-ds/core");var Pi=require("react/jsx-runtime");var io=me(require("react"));var so=require("react/jsx-runtime");var Ze=me(require("react"));var Li=me(require("react")),Ke=require("react/jsx-runtime"),gr=class extends Li.default.Component{constructor(e){super(e),this.state={errorMessage:null}}static getDerivedStateFromError(e){return{errorMessage:e.message}}componentDidCatch(e,t){console.log(`error creating component at ${this.props.url}`),console.log(e,t)}render(){return this.state.errorMessage?(0,Ke.jsxs)(Ke.Fragment,{children:[(0,Ke.jsx)("h1",{children:"An error occured while creating component."}),(0,Ke.jsx)("p",{children:this.state.errorMessage})]}):this.props.children}};var Ri=require("react/jsx-runtime"),Mi=()=>(0,Ri.jsx)("div",{className:"hwLoader"});var ki=async r=>{let e=new CSSStyleSheet;return fetch(r).then(t=>t.text()).then(t=>e.replace(t))};var At=require("react/jsx-runtime"),vr=new Map,al=r=>{(0,Ze.useEffect)(()=>()=>{vr.delete(r)},[r]),vr.has(r)||vr.set(r,Ze.default.lazy(()=>import(r)));let e=vr.get(r);if(e)return e;throw Error(`Unable to load Lazy Feature at url ${r}`)};function ll({url:r,css:e,ComponentProps:t,...o}){e&&ki(e).then(i=>{document.adoptedStyleSheets=[...document.adoptedStyleSheets,i]});let n=al(r);return(0,At.jsx)(gr,{url:r,children:(0,At.jsx)(Ze.Suspense,{fallback:(0,At.jsx)(Mi,{}),children:(0,At.jsx)(n,{...o,...t})})})}var ao=Ze.default.memo(ll);ao.displayName="Feature";Me("Feature",ao,"view");var uo=require("@vuu-ui/vuu-ui-controls");var Vt=require("@salt-ds/core"),co=require("react");var Ai=require("react/jsx-runtime"),hl="saveLayoutPanel",mm=`${hl}-formField`;var bl=require("@vuu-ui/vuu-ui-controls");var De=me(require("react"));var Hi=require("@vuu-ui/vuu-popups");var po={layout:{type:"Stack",id:"main-tabs",props:{className:"vuuShell-mainTabs",TabstripProps:{allowAddTab:!0,allowCloseTab:!0,allowRenameTab:!0,animateSelectionThumb:!1,location:"main-tab",tabClassName:"MainTab"},preserve:!0,active:0},children:[{props:{id:"tab1",title:"Tab 1",className:"vuuShell-Placeholder"},type:"Placeholder"}]}};var Vi=require("@vuu-ui/vuu-utils");var _i=require("react");var fl=require("react/jsx-runtime");var vl=require("react/jsx-runtime");var gl=De.default.createContext({getApplicationSettings:()=>{},layoutMetadata:[],saveLayout:()=>{},applicationJson:po,saveApplicationLayout:()=>{},saveApplicationSettings:()=>{},loadLayoutById:()=>{}});var Nt=()=>(0,De.useContext)(gl);var Bi=require("react/jsx-runtime");var ho=require("react/jsx-runtime");var $i=require("react"),U=require("react/jsx-runtime"),Wi=(0,$i.memo)(()=>(0,U.jsxs)("svg",{width:"44",height:"45",viewBox:"0 0 44 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,U.jsxs)("g",{clipPath:"url(#clip0_217_6990)",children:[(0,U.jsx)("path",{d:"M39.8642 15.5509L35.9196 7.58974L34.3369 6.85464L24.6235 22.0825L39.1628 30.618L42.3152 25.6347L39.8642 15.5509Z",fill:"url(#paint0_linear_217_6990)"}),(0,U.jsx)("path",{d:"M42.6246 24.8716C41.9199 25.9157 40.9625 26.824 39.767 27.4905C38.424 28.2396 36.9563 28.597 35.5081 28.597C32.7541 28.597 30.0715 27.3094 28.4466 24.9855L15.772 3.90967L15.7655 3.9206C13.3615 0.137431 8.25372 -1.13143 4.24754 1.10507C0.178173 3.37435 -1.20852 8.39359 1.14854 12.3125L18.3445 40.9095C19.1108 42.1846 20.1816 43.1834 21.4144 43.8764C21.4241 43.8826 21.4338 43.8889 21.4435 43.8951C21.4484 43.8982 21.4549 43.9013 21.4597 43.9045C22.0332 44.2228 22.6423 44.471 23.2725 44.6536C23.3194 44.6677 23.368 44.6817 23.415 44.6942C23.6418 44.7551 23.8702 44.8097 24.1019 44.8534C24.1456 44.8612 24.1894 44.8659 24.2331 44.8737C24.4194 44.9049 24.6073 44.9314 24.7952 44.9501C24.8698 44.9579 24.9443 44.9658 25.0188 44.9704C25.2342 44.9876 25.4497 44.9985 25.6668 45.0001C25.6781 45.0001 25.6895 45.0001 25.6992 45.0001C25.7024 45.0001 25.704 45.0001 25.7073 45.0001C25.7105 45.0001 25.7121 45.0001 25.7154 45.0001C25.9503 45.0001 26.1868 44.9876 26.4217 44.9689C26.4751 44.9642 26.5286 44.9595 26.5837 44.9533C26.8137 44.9299 27.0438 44.9002 27.2738 44.8596C27.277 44.8596 27.2803 44.8596 27.2835 44.8596C27.5362 44.8144 27.7889 44.7551 28.0384 44.6864C28.0546 44.6817 28.0692 44.677 28.0854 44.6723C28.4483 44.5709 28.8063 44.4445 29.1594 44.2931C29.1659 44.29 29.174 44.2868 29.1805 44.2837C29.4494 44.1682 29.7151 44.0418 29.9759 43.8967C30.24 43.75 30.491 43.5908 30.7308 43.4206C30.9398 43.2739 31.1407 43.1179 31.3367 42.9524C31.5748 42.7495 31.8 42.5373 32.009 42.3141C32.1661 42.1471 32.3168 41.9723 32.4609 41.7913C32.5079 41.732 32.5517 41.6711 32.5954 41.6118C32.6942 41.4807 32.7882 41.3465 32.8789 41.2091C32.9259 41.1373 32.9728 41.0671 33.0182 40.9953C33.036 40.9672 33.0555 40.9407 33.0717 40.9126L42.7153 24.8763H42.6214L42.6246 24.8716Z",fill:"url(#paint1_linear_217_6990)"}),(0,U.jsx)("path",{d:"M42.8402 16.4218L42.1112 15.2232L38.9636 9.58433L37.504 7.19644C37.2286 6.56123 36.579 6.11331 35.8176 6.11331C34.8083 6.11331 33.9919 6.90147 33.9919 7.87223C33.9919 8.20154 34.0907 8.50432 34.2543 8.76808L34.2349 8.78056L39.9048 18.0808C40.5884 19.2186 40.7715 20.5437 40.4199 21.8141C40.0684 23.0845 39.226 24.1458 38.045 24.806C37.2675 25.2398 36.3846 25.4693 35.4936 25.4693C33.6727 25.4693 31.9766 24.5281 31.0662 23.0143L22.9161 9.63271H22.9323L19.4899 3.90958L19.4834 3.92051C19.4235 3.8253 19.3538 3.73947 19.2907 3.64738L19.1935 3.48663C19.1935 3.48663 19.1854 3.49131 19.1821 3.49443C17.5654 1.27666 14.9799 0.0390178 12.3118 0.00936427V0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.961 26.8255 41.9168 25.9156 42.6231 24.8731H42.717L42.6846 24.9261C43.1366 24.2347 43.4833 23.4731 43.7068 22.6615C44.2916 20.5452 43.9871 18.3352 42.8369 16.4234L42.8402 16.4218Z",fill:"#F37880"}),(0,U.jsxs)("g",{opacity:"0.86",children:[(0,U.jsx)("path",{d:"M34.2332 8.78212L39.9031 18.0824C40.5868 19.2202 40.7698 20.5452 40.4183 21.8156C40.2044 22.5897 39.8059 23.2858 39.2616 23.8617C39.9744 23.2343 40.4879 22.4243 40.7423 21.5035C41.0938 20.2331 40.9107 18.908 40.2271 17.7703L34.5572 8.46998L34.5767 8.4575C34.413 8.19374 34.3142 7.89096 34.3142 7.56165C34.3142 7.15586 34.4584 6.78285 34.6982 6.48476C34.2672 6.80626 33.9902 7.30881 33.9902 7.87379C33.9902 8.2031 34.0891 8.50588 34.2527 8.76964L34.2332 8.78212Z",fill:"white"}),(0,U.jsx)("path",{d:"M42.6917 24.9169L42.6863 24.9256C42.6863 24.9256 42.6899 24.9187 42.6935 24.9152C42.6935 24.9152 42.6935 24.9152 42.6935 24.9169H42.6917Z",fill:"white"}),(0,U.jsx)("path",{d:"M40.0911 27.1798C38.7481 27.9289 37.2804 28.2863 35.8322 28.2863C33.0782 28.2863 30.3955 26.9988 28.7707 24.6749L16.0961 3.59744L16.0896 3.60837C14.9281 1.78077 13.1364 0.543128 11.1422 0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.4815 27.0924 41.1084 26.6055 41.6511 26.0561C41.1862 26.479 40.6662 26.8583 40.0894 27.1798H40.0911Z",fill:"white"})]})]}),(0,U.jsxs)("defs",{children:[(0,U.jsxs)("linearGradient",{id:"paint0_linear_217_6990",x1:"24.6235",y1:"18.7363",x2:"42.3152",y2:"18.7363",gradientUnits:"userSpaceOnUse",children:[(0,U.jsx)("stop",{stopColor:"#4906A5"}),(0,U.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,U.jsxs)("linearGradient",{id:"paint1_linear_217_6990",x1:"-2.35794e-05",y1:"22.5009",x2:"42.7186",y2:"22.5009",gradientUnits:"userSpaceOnUse",children:[(0,U.jsx)("stop",{stopColor:"#7C06A5"}),(0,U.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,U.jsx)("clipPath",{id:"clip0_217_6990",children:(0,U.jsx)("rect",{width:"44",height:"45",fill:"white"})})]})]}));Wi.displayName="VuuLogo";var Ui=require("@vuu-ui/vuu-ui-controls"),yl=require("@vuu-ui/vuu-utils");var qi=require("react");var zi=require("react/jsx-runtime");var Qi=require("react/jsx-runtime");var Y=require("@vuu-ui/vuu-utils");var wl=["config","aggregate","viewport-update","columns","debounce-begin","disabled","enabled","filter","groupBy","vuu-link-created","vuu-link-removed","vuu-links","vuu-menu","sort","subscribed"],Gi=r=>{let e=r.type;return wl.includes(e)};var Ji="GET_TABLE_META";var Ki='\nvar ie=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var m=(r,e,t)=>(ie(r,e,"read from private field"),t?t.call(r):e.get(r)),ae=(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)},ue=(r,e,t,s)=>(ie(r,e,"write to private field"),s?s.call(r,t):e.set(r,t),t);function le(r,e,t=[],s=[]){for(let n=0,o=r.length;n<o;n++)(e(r[n],n)?t:s).push(r[n]);return[t,s]}var $={IDX:0,RENDER_IDX:1,IS_LEAF:2,IS_EXPANDED:3,DEPTH:4,COUNT:5,KEY:6,SELECTED:7,count:8,PARENT_IDX:"parent_idx",IDX_POINTER:"idx_pointer",FILTER_COUNT:"filter_count",NEXT_FILTER_IDX:"next_filter_idx"};var{DEPTH:Pt,IS_LEAF:Lt}=$;var ce=r=>{var e,t;if(((e=globalThis.document)==null?void 0:e.cookie)!==void 0)return(t=globalThis.document.cookie.split("; ").find(s=>s.startsWith(`${r}=`)))==null?void 0:t.split("=")[1]};function G({from:r,to:e},t=0,s=Number.MAX_SAFE_INTEGER){if(t===0)return s<r?{from:0,to:0}:{from:r,to:Math.min(e,s)};if(r===0)return{from:r,to:Math.min(e+t,s)};{let n=e-r,o=Math.round(t/2),i=r-o<0,u=s-(e+o)<0;return i&&u?{from:0,to:s}:i?{from:0,to:n+t}:u?{from:Math.max(0,s-(n+t)),to:s}:{from:r-o,to:e+o}}}var je=(r,{from:e,to:t})=>r>=e&&r<t;var D=class r{constructor(e,t){this.from=e,this.to=t}isWithin(e){return je(e,this)}overlap(e,t){return e>=this.to||t<this.from?[0,0]:[Math.max(e,this.from),Math.min(t,this.to)]}copy(){return new r(this.from,this.to)}};var pe=r=>r.type==="connection-status",de=r=>r.type==="connection-metrics";var ge=r=>"viewport"in r;var Qe=["error","warn","info","debug"],Ye=r=>typeof r=="string"&&Qe.includes(r),Ze="error",P=()=>{},Xe="error",{loggingLevel:L=Xe}=et(),b=r=>{let e=L==="debug",t=e||L==="info",s=t||L==="warn",n=s||L==="error",o=t?p=>console.info(`[${r}] ${p}`):P,i=s?p=>console.warn(`[${r}] ${p}`):P,u=e?p=>console.debug(`[${r}] ${p}`):P;return{errorEnabled:n,error:n?p=>console.error(`[${r}] ${p}`):P}};function et(){return typeof loggingSettings<"u"?loggingSettings:{loggingLevel:tt()}}function tt(){let r=ce("vuu-logging-level");return Ye(r)?r:Ze}var{debug:st,debugEnabled:nt}=b("range-monitor"),k=class{constructor(e){this.source=e;this.range={from:0,to:0};this.timestamp=0}isSet(){return this.timestamp!==0}set({from:e,to:t}){let{timestamp:s}=this;if(this.range.from=e,this.range.to=t,this.timestamp=performance.now(),s)nt&&st(`<${this.source}> [${e}-${t}], ${(this.timestamp-s).toFixed(0)} ms elapsed`);else return 0}};var O=class{constructor(e){this.keys=new Map,this.free=[],this.nextKeyValue=0,this.reset(e)}next(){return this.free.length>0?this.free.shift():this.nextKeyValue++}reset({from:e,to:t}){this.keys.forEach((n,o)=>{(o<e||o>=t)&&(this.free.push(n),this.keys.delete(o))});let s=t-e;this.keys.size+this.free.length>s&&(this.free.length=Math.max(0,s-this.keys.size));for(let n=e;n<t;n++)if(!this.keys.has(n)){let o=this.next();this.keys.set(n,o)}this.nextKeyValue>this.keys.size&&(this.nextKeyValue=this.keys.size)}keyFor(e){let t=this.keys.get(e);if(t===void 0)throw console.log(`key not found\n keys: ${this.toDebugString()}\n free : ${this.free.join(",")} \n `),Error(`KeySet, no key found for rowIndex ${e}`);return t}toDebugString(){return Array.from(this.keys.entries()).map(([e,t])=>`${e}=>${t}`).join(",")}};var{SELECTED:$t}=$,w={False:0,True:1,First:2,Last:4};var rt=(r,e)=>e>=r[0]&&e<=r[1],ot=w.True+w.First+w.Last,it=w.True+w.First,at=w.True+w.Last,z=(r,e)=>{for(let t of r)if(typeof t=="number"){if(t===e)return ot}else if(rt(t,e))return e===t[0]?it:e===t[1]?at:w.True;return w.False};var he=r=>{if(r.every(t=>typeof t=="number"))return r;let e=[];for(let t of r)if(typeof t=="number")e.push(t);else for(let s=t[0];s<=t[1];s++)e.push(s);return e};var fe=r=>r.type==="VIEW_PORT_MENU_RESP"&&r.action!==null&&x(r.action.table),x=r=>r!==null&&typeof r=="object"&&"table"in r&&"module"in r?r.table.startsWith("session"):!1;var ut=["VIEW_PORT_MENUS_SELECT_RPC","VIEW_PORT_MENU_TABLE_RPC","VIEW_PORT_MENU_ROW_RPC","VIEW_PORT_MENU_CELL_RPC","VP_EDIT_CELL_RPC","VP_EDIT_ROW_RPC","VP_EDIT_ADD_ROW_RPC","VP_EDIT_DELETE_CELL_RPC","VP_EDIT_DELETE_ROW_RPC","VP_EDIT_SUBMIT_FORM_RPC"],me=r=>ut.includes(r.type),Ce=r=>r.type==="VIEW_PORT_RPC_CALL",A=({requestId:r,...e})=>[r,e],Re=r=>{let e=r.at(0);if(e.updateType==="SIZE"){if(r.length===1)return r;e=r.at(1)}let t=r.at(-1);return[e,t]},Se=r=>{let e={};for(let t of r)(e[t.viewPortId]||(e[t.viewPortId]=[])).push(t);return e},H=({columns:r,dataTypes:e,key:t,table:s})=>({table:s,columns:r.map((n,o)=>({name:n,serverDataType:e[o]})),key:t});var Te="CHANGE_VP_SUCCESS";var be="CLOSE_TREE_NODE",Ee="CLOSE_TREE_SUCCESS";var we="CREATE_VP",Ve="DISABLE_VP",ve="DISABLE_VP_SUCCESS";var ye="ENABLE_VP",Me="ENABLE_VP_SUCCESS";var K="GET_VP_VISUAL_LINKS",_e="GET_VIEW_PORT_MENUS";var Ie="HB",De="HB_RESP",Pe="LOGIN",Le="OPEN_TREE_NODE",ke="OPEN_TREE_SUCCESS";var Oe="REMOVE_VP";var xe="SET_SELECTION_SUCCESS";var Ne=r=>{switch(r){case"TypeAheadRpcHandler":return"TYPEAHEAD";default:return"SIMUL"}};var Ue=[],R=b("array-backed-moving-window");function lt(r,e){if(!e||e.data.length!==r.data.length||e.sel!==r.sel)return!1;for(let t=0;t<e.data.length;t++)if(e.data[t]!==r.data[t])return!1;return!0}var h,N=class{constructor({from:e,to:t},{from:s,to:n},o){ae(this,h,void 0);this.setRowCount=e=>{var t;if((t=R.info)==null||t.call(R,`setRowCount ${e}`),e<this.internalData.length&&(this.internalData.length=e),e<this.rowCount){this.rowsWithinRange=0;let s=Math.min(e,this.clientRange.to);for(let n=this.clientRange.from;n<s;n++){let o=n-m(this,h).from;this.internalData[o]!==void 0&&(this.rowsWithinRange+=1)}}this.rowCount=e};this.bufferBreakout=(e,t)=>{let s=this.bufferSize*.25;return m(this,h).to-t<s?!0:m(this,h).from>0&&e-m(this,h).from<s};this.bufferSize=o,this.clientRange=new D(e,t),ue(this,h,new D(s,n)),this.internalData=new Array(o),this.rowsWithinRange=0,this.rowCount=0}get range(){return m(this,h)}get hasAllRowsWithinRange(){return this.rowsWithinRange===this.clientRange.to-this.clientRange.from||this.rowCount>0&&this.clientRange.from+this.rowsWithinRange===this.rowCount}outOfRange(e,t){let{from:s,to:n}=this.range;if(t<s||e>=n)return!0}setAtIndex(e){let{rowIndex:t}=e,s=t-m(this,h).from;if(lt(e,this.internalData[s]))return!1;let n=this.isWithinClientRange(t);return(n||this.isWithinRange(t))&&(!this.internalData[s]&&n&&(this.rowsWithinRange+=1),this.internalData[s]=e),n}getAtIndex(e){return m(this,h).isWithin(e)&&this.internalData[e-m(this,h).from]!=null?this.internalData[e-m(this,h).from]:void 0}isWithinRange(e){return m(this,h).isWithin(e)}isWithinClientRange(e){return this.clientRange.isWithin(e)}setClientRange(e,t){var p;(p=R.debug)==null||p.call(R,`setClientRange ${e} - ${t}`);let s=this.clientRange.from,n=Math.min(this.clientRange.to,this.rowCount);if(e===s&&t===n)return[!1,Ue];let o=this.clientRange.copy();this.clientRange.from=e,this.clientRange.to=t,this.rowsWithinRange=0;for(let a=e;a<t;a++){let l=a-m(this,h).from;this.internalData[l]&&(this.rowsWithinRange+=1)}let i=Ue,u=m(this,h).from;if(this.hasAllRowsWithinRange)if(t>o.to){let a=Math.max(e,o.to);i=this.internalData.slice(a-u,t-u)}else{let a=Math.min(o.from,t);i=this.internalData.slice(e-u,a-u)}return[this.bufferBreakout(e,t),i]}setRange(e,t){var s,n;if(e!==m(this,h).from||t!==m(this,h).to){(s=R.debug)==null||s.call(R,`setRange ${e} - ${t}`);let[o,i]=m(this,h).overlap(e,t),u=new Array(t-e);this.rowsWithinRange=0;for(let c=o;c<i;c++){let p=this.getAtIndex(c);if(p){let a=c-e;u[a]=p,this.isWithinClientRange(c)&&(this.rowsWithinRange+=1)}}this.internalData=u,m(this,h).from=e,m(this,h).to=t}else(n=R.debug)==null||n.call(R,`setRange ${e} - ${t} IGNORED because not changed`)}get data(){return this.internalData}getData(){var u;let{from:e,to:t}=m(this,h),{from:s,to:n}=this.clientRange,o=Math.max(0,s-e),i=Math.min(t-e,t,n-e,(u=this.rowCount)!=null?u:t);return this.internalData.slice(o,i)}clear(){var e;(e=R.debug)==null||e.call(R,"clear"),this.internalData.length=0,this.rowsWithinRange=0,this.setRowCount(0)}getCurrentDataRange(){let e=this.internalData,t=e.length,[s]=this.internalData,n=this.internalData[t-1];if(s&&n)return[s.rowIndex,n.rowIndex];for(let o=0;o<t;o++)if(e[o]!==void 0){s=e[o];break}for(let o=t-1;o>=0;o--)if(e[o]!==void 0){n=e[o];break}return s&&n?[s.rowIndex,n.rowIndex]:[-1,-1]}};h=new WeakMap;var ct=[],{debug:f,debugEnabled:U,error:pt,info:d,infoEnabled:dt,warn:y}=b("viewport"),gt=({rowKey:r,updateType:e})=>e==="U"&&!r.startsWith("$root"),W=[void 0,void 0],ht={count:0,mode:void 0,size:0,ts:0},q=class{constructor({aggregations:e,bufferSize:t=50,columns:s,filter:n,groupBy:o=[],table:i,range:u,sort:c,title:p,viewport:a,visualLink:l},g){this.batchMode=!0;this.hasUpdates=!1;this.pendingUpdates=[];this.pendingOperations=new Map;this.pendingRangeRequests=[];this.rowCountChanged=!1;this.selectedRows=[];this.useBatchMode=!0;this.lastUpdateStatus=ht;this.updateThrottleTimer=void 0;this.rangeMonitor=new k("ViewPort");this.disabled=!1;this.isTree=!1;this.status="";this.suspended=!1;this.suspendTimer=null;this.setLastSizeOnlyUpdateSize=e=>{this.lastUpdateStatus.size=e};this.setLastUpdate=e=>{let{ts:t,mode:s}=this.lastUpdateStatus,n=0;if(s===e){let o=Date.now();this.lastUpdateStatus.count+=1,this.lastUpdateStatus.ts=o,n=t===0?0:o-t}else this.lastUpdateStatus.count=1,this.lastUpdateStatus.ts=0,n=0;return this.lastUpdateStatus.mode=e,n};this.rangeRequestAlreadyPending=e=>{let{bufferSize:t}=this,s=t*.25,{from:n}=e;for(let{from:o,to:i}of this.pendingRangeRequests)if(n>=o&&n<i){if(e.to+s<=i)return!0;n=i}return!1};this.sendThrottledSizeMessage=()=>{this.updateThrottleTimer=void 0,this.lastUpdateStatus.count=3,this.postMessageToClient({clientViewportId:this.clientViewportId,mode:"size-only",size:this.lastUpdateStatus.size,type:"viewport-update"})};this.shouldThrottleMessage=e=>{let t=this.setLastUpdate(e);return e==="size-only"&&t>0&&t<500&&this.lastUpdateStatus.count>3};this.throttleMessage=e=>this.shouldThrottleMessage(e)?(d==null||d("throttling updates setTimeout to 2000"),this.updateThrottleTimer===void 0&&(this.updateThrottleTimer=setTimeout(this.sendThrottledSizeMessage,2e3)),!0):(this.updateThrottleTimer!==void 0&&(clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=void 0),!1);this.getNewRowCount=()=>{if(this.rowCountChanged&&this.dataWindow)return this.rowCountChanged=!1,this.dataWindow.rowCount};this.aggregations=e,this.bufferSize=t,this.clientRange=u,this.clientViewportId=a,this.columns=s,this.filter=n,this.groupBy=o,this.keys=new O(u),this.pendingLinkedParent=l,this.table=i,this.sort=c,this.title=p,dt&&(d==null||d(`constructor #${a} ${i.table} bufferSize=${t}`)),this.dataWindow=new N(this.clientRange,u,this.bufferSize),this.postMessageToClient=g}get hasUpdatesToProcess(){return this.suspended?!1:this.rowCountChanged||this.hasUpdates}get size(){var e;return(e=this.dataWindow.rowCount)!=null?e:0}subscribe(){let{filter:e}=this.filter;return this.status=this.status==="subscribed"?"resubscribing":"subscribing",{type:we,table:this.table,range:G(this.clientRange,this.bufferSize),aggregations:this.aggregations,columns:this.columns,sort:this.sort,groupBy:this.groupBy,filterSpec:{filter:e}}}handleSubscribed({viewPortId:e,aggregations:t,columns:s,filterSpec:n,range:o,sort:i,groupBy:u},c){return this.serverViewportId=e,this.status="subscribed",this.aggregations=t,this.columns=s,this.groupBy=u,this.isTree=u&&u.length>0,this.dataWindow.setRange(o.from,o.to),{aggregations:t,type:"subscribed",clientViewportId:this.clientViewportId,columns:s,filter:n,groupBy:u,range:o,sort:i,tableSchema:c}}awaitOperation(e,t){this.pendingOperations.set(e,t)}completeOperation(e,...t){var u;let{clientViewportId:s,pendingOperations:n}=this,o=n.get(e);if(!o){pt(`no matching operation found to complete for requestId ${e}`);return}let{type:i}=o;if(d==null||d(`completeOperation ${i}`),n.delete(e),i==="CHANGE_VP_RANGE"){let[c,p]=t;(u=this.dataWindow)==null||u.setRange(c,p);for(let a=this.pendingRangeRequests.length-1;a>=0;a--){let l=this.pendingRangeRequests[a];if(l.requestId===e){l.acked=!0;break}else y==null||y("range requests sent faster than they are being ACKed")}}else if(i==="config"){let{aggregations:c,columns:p,filter:a,groupBy:l,sort:g}=o.data;return this.aggregations=c,this.columns=p,this.filter=a,this.groupBy=l,this.sort=g,l.length>0?this.isTree=!0:this.isTree&&(this.isTree=!1),f==null||f(`config change confirmed, isTree : ${this.isTree}`),{clientViewportId:s,type:i,config:o.data}}else{if(i==="groupBy")return this.isTree=o.data.length>0,this.groupBy=o.data,f==null||f(`groupBy change confirmed, isTree : ${this.isTree}`),{clientViewportId:s,type:i,groupBy:o.data};if(i==="columns")return this.columns=o.data,{clientViewportId:s,type:i,columns:o.data};if(i==="filter")return this.filter=o.data,{clientViewportId:s,type:i,filter:o.data};if(i==="aggregate")return this.aggregations=o.data,{clientViewportId:s,type:"aggregate",aggregations:this.aggregations};if(i==="sort")return this.sort=o.data,{clientViewportId:s,type:i,sort:this.sort};if(i!=="selection"){if(i==="disable")return this.disabled=!0,{type:"disabled",clientViewportId:s};if(i==="enable")return this.disabled=!1,{type:"enabled",clientViewportId:s};if(i==="CREATE_VISUAL_LINK"){let[c,p,a]=t;return this.linkedParent={colName:c,parentViewportId:p,parentColName:a},this.pendingLinkedParent=void 0,{type:"vuu-link-created",clientViewportId:s,colName:c,parentViewportId:p,parentColName:a}}else if(i==="REMOVE_VISUAL_LINK")return this.linkedParent=void 0,{type:"vuu-link-removed",clientViewportId:s}}}}rangeRequest(e,t){U&&this.rangeMonitor.set(t);let s="CHANGE_VP_RANGE";if(this.dataWindow){let[n,o]=this.dataWindow.setClientRange(t.from,t.to),i,u=this.dataWindow.rowCount||void 0,c=n&&!this.rangeRequestAlreadyPending(t)?{type:s,viewPortId:this.serverViewportId,...G(t,this.bufferSize,u)}:null;if(c){U&&(f==null||f(`create CHANGE_VP_RANGE: [${c.from} - ${c.to}]`)),this.awaitOperation(e,{type:s});let a=this.pendingRangeRequests.at(-1);if(a)if(a.acked)console.warn("Range Request before previous request is filled");else{let{from:l,to:g}=a;this.dataWindow.outOfRange(l,g)?i={clientViewportId:this.clientViewportId,type:"debounce-begin"}:y==null||y("Range Request before previous request is acked")}this.pendingRangeRequests.push({...c,requestId:e}),this.useBatchMode&&(this.batchMode=!0)}else o.length>0&&(this.batchMode=!1);this.keys.reset(this.dataWindow.clientRange);let p=this.isTree?j:J;return o.length?[c,o.map(a=>p(a,this.keys,this.selectedRows))]:i?[c,void 0,i]:[c]}else return[null]}setLinks(e){return this.links=e,[{type:"vuu-links",links:e,clientViewportId:this.clientViewportId},this.pendingLinkedParent]}setMenu(e){return{type:"vuu-menu",menu:e,clientViewportId:this.clientViewportId}}openTreeNode(e,t){return this.useBatchMode&&(this.batchMode=!0),{type:Le,vpId:this.serverViewportId,treeKey:t.key}}closeTreeNode(e,t){return this.useBatchMode&&(this.batchMode=!0),{type:be,vpId:this.serverViewportId,treeKey:t.key}}createLink(e,t,s,n){let o={type:"CREATE_VISUAL_LINK",parentVpId:s,childVpId:this.serverViewportId,parentColumnName:n,childColumnName:t};return this.awaitOperation(e,o),this.useBatchMode&&(this.batchMode=!0),o}removeLink(e){let t={type:"REMOVE_VISUAL_LINK",childVpId:this.serverViewportId};return this.awaitOperation(e,t),t}suspend(){this.suspended=!0,d==null||d("suspend")}resume(){return this.suspended=!1,U&&(f==null||f(`resume: ${this.currentData()}`)),[this.size,this.currentData()]}currentData(){let e=[];if(this.dataWindow){let t=this.dataWindow.getData(),{keys:s}=this,n=this.isTree?j:J;for(let o of t)o&&e.push(n(o,s,this.selectedRows))}return e}enable(e){return this.awaitOperation(e,{type:"enable"}),d==null||d(`enable: ${this.serverViewportId}`),{type:ye,viewPortId:this.serverViewportId}}disable(e){return this.awaitOperation(e,{type:"disable"}),d==null||d(`disable: ${this.serverViewportId}`),this.suspended=!1,{type:Ve,viewPortId:this.serverViewportId}}columnRequest(e,t){return this.awaitOperation(e,{type:"columns",data:t}),f==null||f(`columnRequest: ${t}`),this.createRequest({columns:t})}filterRequest(e,t){this.awaitOperation(e,{type:"filter",data:t}),this.useBatchMode&&(this.batchMode=!0);let{filter:s}=t;return d==null||d(`filterRequest: ${s}`),this.createRequest({filterSpec:{filter:s}})}setConfig(e,t){this.awaitOperation(e,{type:"config",data:t});let{filter:s,...n}=t;return this.useBatchMode&&(this.batchMode=!0),U?f==null||f(`setConfig ${JSON.stringify(t)}`):d==null||d("setConfig"),this.createRequest({...n,filterSpec:typeof(s==null?void 0:s.filter)=="string"?{filter:s.filter}:{filter:""}},!0)}aggregateRequest(e,t){return this.awaitOperation(e,{type:"aggregate",data:t}),d==null||d(`aggregateRequest: ${t}`),this.createRequest({aggregations:t})}sortRequest(e,t){return this.awaitOperation(e,{type:"sort",data:t}),d==null||d(`sortRequest: ${JSON.stringify(t.sortDefs)}`),this.createRequest({sort:t})}groupByRequest(e,t=ct){var s;return this.awaitOperation(e,{type:"groupBy",data:t}),this.useBatchMode&&(this.batchMode=!0),this.isTree||(s=this.dataWindow)==null||s.clear(),this.createRequest({groupBy:t})}selectRequest(e,t){return this.selectedRows=t,this.awaitOperation(e,{type:"selection",data:t}),d==null||d(`selectRequest: ${t}`),{type:"SET_SELECTION",vpId:this.serverViewportId,selection:he(t)}}removePendingRangeRequest(e,t){for(let s=this.pendingRangeRequests.length-1;s>=0;s--){let{from:n,to:o}=this.pendingRangeRequests[s],i=!0;if(e>=n&&e<o||t>n&&t<o){i||console.warn("removePendingRangeRequest TABLE_ROWS are not for latest request"),this.pendingRangeRequests.splice(s,1);break}else i=!1}}updateRows(e){var n,o,i;let[t,s]=Re(e);if(t&&s&&this.removePendingRangeRequest(t.rowIndex,s.rowIndex),e.length===1)if(t.vpSize===0&&this.disabled){f==null||f(`ignore a SIZE=0 message on disabled viewport (${e.length} rows)`);return}else t.updateType==="SIZE"&&this.setLastSizeOnlyUpdateSize(t.vpSize);for(let u of e)this.isTree&>(u)||((u.updateType==="SIZE"||((n=this.dataWindow)==null?void 0:n.rowCount)!==u.vpSize)&&((o=this.dataWindow)==null||o.setRowCount(u.vpSize),this.rowCountChanged=!0),u.updateType==="U"&&(i=this.dataWindow)!=null&&i.setAtIndex(u)&&(this.hasUpdates=!0,this.batchMode||this.pendingUpdates.push(u)))}getClientRows(){let e,t="size-only";if(!this.hasUpdates&&!this.rowCountChanged)return W;if(this.hasUpdates){let{keys:s,selectedRows:n}=this,o=this.isTree?j:J;if(this.updateThrottleTimer&&(self.clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=void 0),this.pendingUpdates.length>0){e=[],t="update";for(let i of this.pendingUpdates)e.push(o(i,s,n));this.pendingUpdates.length=0}else{let i=this.dataWindow.getData();if(this.dataWindow.hasAllRowsWithinRange){e=[],t="batch";for(let u of i)e.push(o(u,s,n));this.batchMode=!1}}this.hasUpdates=!1}return this.throttleMessage(t)?W:[e,t]}createRequest(e,t=!1){return t?{type:"CHANGE_VP",viewPortId:this.serverViewportId,...e}:{type:"CHANGE_VP",viewPortId:this.serverViewportId,aggregations:this.aggregations,columns:this.columns,sort:this.sort,groupBy:this.groupBy,filterSpec:{filter:this.filter.filter},...e}}},J=({rowIndex:r,rowKey:e,sel:t,data:s},n,o)=>[r,n.keyFor(r),!0,!1,0,0,e,t?z(o,r):0].concat(s),j=({rowIndex:r,rowKey:e,sel:t,data:s},n,o)=>{let[i,u,,c,,p,...a]=s;return[r,n.keyFor(r),c,u,i,p,e,t?z(o,r):0].concat(a)};var We=1;var{debug:V,debugEnabled:Q,error:M,info:T,infoEnabled:ft,warn:Y}=b("server-proxy"),C=()=>`${We++}`,mt={},Ct=r=>r.disabled!==!0&&r.suspended!==!0,Rt={type:"NO_ACTION"},St=(r,e,t)=>r.map(s=>s.parentVpId===e?{...s,label:t}:s);function Tt(r,e){return r.map(t=>{let{parentVpId:s}=t,n=e.get(s);if(n)return{...t,parentClientVpId:n.clientViewportId,label:n.title};throw Error("addLabelsToLinks viewport not found")})}var F=class{constructor(e,t){this.authToken="";this.user="user";this.pendingRequests=new Map;this.queuedRequests=[];this.cachedTableMetaRequests=new Map;this.cachedTableSchemas=new Map;this.connection=e,this.postMessageToClient=t,this.viewports=new Map,this.mapClientToServerViewport=new Map}async reconnect(){await this.login(this.authToken);let[e,t]=le(Array.from(this.viewports.values()),Ct);this.viewports.clear(),this.mapClientToServerViewport.clear();let s=n=>{n.forEach(o=>{let{clientViewportId:i}=o;this.viewports.set(i,o),this.sendMessageToServer(o.subscribe(),i)})};s(e),setTimeout(()=>{s(t)},2e3)}async login(e,t="user"){if(e)return this.authToken=e,this.user=t,new Promise((s,n)=>{this.sendMessageToServer({type:Pe,token:this.authToken,user:t},""),this.pendingLogin={resolve:s,reject:n}});this.authToken===""&&M("login, cannot login until auth token has been obtained")}subscribe(e){if(this.mapClientToServerViewport.has(e.viewport))M(`spurious subscribe call ${e.viewport}`);else{let t=this.getTableMeta(e.table),s=new q(e,this.postMessageToClient);this.viewports.set(e.viewport,s);let n=this.awaitResponseToMessage(s.subscribe(),e.viewport);Promise.all([n,t]).then(([i,u])=>{let{viewPortId:c}=i,{status:p}=s;e.viewport!==c&&(this.viewports.delete(e.viewport),this.viewports.set(c,s)),this.mapClientToServerViewport.set(e.viewport,c);let a=s.handleSubscribed(i,u);a&&(this.postMessageToClient(a),Q&&V(`post DataSourceSubscribedMessage to client: ${JSON.stringify(a)}`)),s.disabled&&this.disableViewport(s),this.queuedRequests.length>0&&this.processQueuedRequests(),p==="subscribing"&&!x(s.table)&&(this.sendMessageToServer({type:K,vpId:c}),this.sendMessageToServer({type:_e,vpId:c}),Array.from(this.viewports.entries()).filter(([l,{disabled:g}])=>l!==c&&!g).forEach(([l])=>{this.sendMessageToServer({type:K,vpId:l})}))})}}processQueuedRequests(){let e={};for(;this.queuedRequests.length;){let t=this.queuedRequests.pop();if(t){let{clientViewportId:s,message:n,requestId:o}=t;if(n.type==="CHANGE_VP_RANGE"){if(e.CHANGE_VP_RANGE)continue;e.CHANGE_VP_RANGE=!0;let i=this.mapClientToServerViewport.get(s);i&&this.sendMessageToServer({...n,viewPortId:i},o)}}}}unsubscribe(e){let t=this.mapClientToServerViewport.get(e);t?(T==null||T(`Unsubscribe Message (Client to Server):\n ${t}`),this.sendMessageToServer({type:Oe,viewPortId:t})):M(`failed to unsubscribe client viewport ${e}, viewport not found`)}getViewportForClient(e,t=!0){let s=this.mapClientToServerViewport.get(e);if(s){let n=this.viewports.get(s);if(n)return n;if(t)throw Error(`Viewport not found for client viewport ${e}`);return null}else{if(this.viewports.has(e))return this.viewports.get(e);if(t)throw Error(`Viewport server id not found for client viewport ${e}`);return null}}setViewRange(e,t){let s=C(),[n,o,i]=e.rangeRequest(s,t.range);T==null||T(`setViewRange ${t.range.from} - ${t.range.to}`),n&&(this.sendIfReady(n,s,e.status==="subscribed")||this.queuedRequests.push({clientViewportId:t.viewport,message:n,requestId:s})),o?(T==null||T(`setViewRange ${o.length} rows returned from cache`),this.postMessageToClient({mode:"batch",type:"viewport-update",clientViewportId:e.clientViewportId,rows:o})):i&&this.postMessageToClient(i)}setConfig(e,t){let s=C(),n=e.setConfig(s,t.config);this.sendIfReady(n,s,e.status==="subscribed")}aggregate(e,t){let s=C(),n=e.aggregateRequest(s,t.aggregations);this.sendIfReady(n,s,e.status==="subscribed")}sort(e,t){let s=C(),n=e.sortRequest(s,t.sort);this.sendIfReady(n,s,e.status==="subscribed")}groupBy(e,t){let s=C(),n=e.groupByRequest(s,t.groupBy);this.sendIfReady(n,s,e.status==="subscribed")}filter(e,t){let s=C(),{filter:n}=t,o=e.filterRequest(s,n);this.sendIfReady(o,s,e.status==="subscribed")}setColumns(e,t){let s=C(),{columns:n}=t,o=e.columnRequest(s,n);this.sendIfReady(o,s,e.status==="subscribed")}setTitle(e,t){e&&(e.title=t.title,this.updateTitleOnVisualLinks(e))}select(e,t){let s=C(),{selected:n}=t,o=e.selectRequest(s,n);this.sendIfReady(o,s,e.status==="subscribed")}disableViewport(e){let t=C(),s=e.disable(t);this.sendIfReady(s,t,e.status==="subscribed")}enableViewport(e){if(e.disabled){let t=C(),s=e.enable(t);this.sendIfReady(s,t,e.status==="subscribed")}}suspendViewport(e){e.suspend(),e.suspendTimer=setTimeout(()=>{T==null||T("suspendTimer expired, escalate suspend to disable"),this.disableViewport(e)},3e3)}resumeViewport(e){e.suspendTimer&&(V==null||V("clear suspend timer"),clearTimeout(e.suspendTimer),e.suspendTimer=null);let[t,s]=e.resume();V==null||V(`resumeViewport size ${t}, ${s.length} rows sent to client`),this.postMessageToClient({clientViewportId:e.clientViewportId,mode:"batch",rows:s,size:t,type:"viewport-update"})}openTreeNode(e,t){if(e.serverViewportId){let s=C();this.sendIfReady(e.openTreeNode(s,t),s,e.status==="subscribed")}}closeTreeNode(e,t){if(e.serverViewportId){let s=C();this.sendIfReady(e.closeTreeNode(s,t),s,e.status==="subscribed")}}createLink(e,t){let{parentClientVpId:s,parentColumnName:n,childColumnName:o}=t,i=C(),u=this.mapClientToServerViewport.get(s);if(u){let c=e.createLink(i,o,u,n);this.sendMessageToServer(c,i)}else M("ServerProxy unable to create link, viewport not found")}removeLink(e){let t=C(),s=e.removeLink(t);this.sendMessageToServer(s,t)}updateTitleOnVisualLinks(e){var n;let{serverViewportId:t,title:s}=e;for(let o of this.viewports.values())if(o!==e&&o.links&&t&&s&&(n=o.links)!=null&&n.some(i=>i.parentVpId===t)){let[i]=o.setLinks(St(o.links,t,s));this.postMessageToClient(i)}}removeViewportFromVisualLinks(e){var t;for(let s of this.viewports.values())if((t=s.links)!=null&&t.some(({parentVpId:n})=>n===e)){let[n]=s.setLinks(s.links.filter(({parentVpId:o})=>o!==e));this.postMessageToClient(n)}}menuRpcCall(e){let t=this.getViewportForClient(e.vpId,!1);if(t!=null&&t.serverViewportId){let[s,n]=A(e);this.sendMessageToServer({...n,vpId:t.serverViewportId},s)}}viewportRpcCall(e){let t=this.getViewportForClient(e.vpId,!1);if(t!=null&&t.serverViewportId){let[s,n]=A(e);this.sendMessageToServer({...n,vpId:t.serverViewportId,namedParams:{}},s)}}rpcCall(e){let[t,s]=A(e),n=Ne(s.service);this.sendMessageToServer(s,t,{module:n})}handleMessageFromClient(e){var t;if(ge(e))if(e.type==="disable"){let s=this.getViewportForClient(e.viewport,!1);return s!==null?this.disableViewport(s):void 0}else{let s=this.getViewportForClient(e.viewport);switch(e.type){case"setViewRange":return this.setViewRange(s,e);case"config":return this.setConfig(s,e);case"aggregate":return this.aggregate(s,e);case"sort":return this.sort(s,e);case"groupBy":return this.groupBy(s,e);case"filter":return this.filter(s,e);case"select":return this.select(s,e);case"suspend":return this.suspendViewport(s);case"resume":return this.resumeViewport(s);case"enable":return this.enableViewport(s);case"openTreeNode":return this.openTreeNode(s,e);case"closeTreeNode":return this.closeTreeNode(s,e);case"createLink":return this.createLink(s,e);case"removeLink":return this.removeLink(s);case"setColumns":return this.setColumns(s,e);case"setTitle":return this.setTitle(s,e);default:}}else{if(Ce(e))return this.viewportRpcCall(e);if(me(e))return this.menuRpcCall(e);{let{type:s,requestId:n}=e;switch(s){case"GET_TABLE_LIST":{(t=this.tableList)!=null||(this.tableList=this.awaitResponseToMessage({type:s},n)),this.tableList.then(o=>{this.postMessageToClient({type:"TABLE_LIST_RESP",tables:o.tables,requestId:n})});return}case"GET_TABLE_META":{this.getTableMeta(e.table,n).then(o=>{o&&this.postMessageToClient({type:"TABLE_META_RESP",tableSchema:o,requestId:n})});return}case"RPC_CALL":return this.rpcCall(e);default:}}}M(`Vuu ServerProxy Unexpected message from client ${JSON.stringify(e)}`)}getTableMeta(e,t=C()){if(x(e))return Promise.resolve(void 0);let s=`${e.module}:${e.table}`,n=this.cachedTableMetaRequests.get(s);return n||(n=this.awaitResponseToMessage({type:"GET_TABLE_META",table:e},t),this.cachedTableMetaRequests.set(s,n)),n==null?void 0:n.then(o=>this.cacheTableMeta(o))}awaitResponseToMessage(e,t=C()){return new Promise((s,n)=>{this.sendMessageToServer(e,t),this.pendingRequests.set(t,{reject:n,resolve:s})})}sendIfReady(e,t,s=!0){return s&&this.sendMessageToServer(e,t),s}sendMessageToServer(e,t=`${We++}`,s=mt){let{module:n="CORE"}=s;this.authToken&&this.connection.send({requestId:t,sessionId:this.sessionId,token:this.authToken,user:this.user,module:n,body:e})}handleMessageFromServer(e){var u;let{body:t,requestId:s,sessionId:n}=e,o=this.pendingRequests.get(s);if(o){let{resolve:a}=o;this.pendingRequests.delete(s),a(t);return}let{viewports:i}=this;switch(t.type){case Ie:this.sendMessageToServer({type:De,ts:+new Date},"NA");break;case"LOGIN_SUCCESS":if(n)this.sessionId=n,(u=this.pendingLogin)==null||u.resolve(n),this.pendingLogin=void 0;else throw Error("LOGIN_SUCCESS did not provide sessionId");break;case"REMOVE_VP_SUCCESS":{let a=i.get(t.viewPortId);a&&(this.mapClientToServerViewport.delete(a.clientViewportId),i.delete(t.viewPortId),this.removeViewportFromVisualLinks(t.viewPortId))}break;case xe:{let a=this.viewports.get(t.vpId);a&&a.completeOperation(s)}break;case Te:case ve:if(i.has(t.viewPortId)){let a=this.viewports.get(t.viewPortId);if(a){let l=a.completeOperation(s);l!==void 0&&(this.postMessageToClient(l),Q&&V(`postMessageToClient ${JSON.stringify(l)}`))}}break;case Me:{let a=this.viewports.get(t.viewPortId);if(a){let l=a.completeOperation(s);if(l){this.postMessageToClient(l);let[g,S]=a.resume();this.postMessageToClient({clientViewportId:a.clientViewportId,mode:"batch",rows:S,size:g,type:"viewport-update"})}}}break;case"TABLE_ROW":{let a=Se(t.rows);for(let[l,g]of Object.entries(a)){let S=i.get(l);S?S.updateRows(g):Y==null||Y(`TABLE_ROW message received for non registered viewport ${l}`)}this.processUpdates()}break;case"CHANGE_VP_RANGE_SUCCESS":{let a=this.viewports.get(t.viewPortId);if(a){let{from:l,to:g}=t;a.completeOperation(s,l,g)}}break;case ke:case Ee:break;case"CREATE_VISUAL_LINK_SUCCESS":{let a=this.viewports.get(t.childVpId),l=this.viewports.get(t.parentVpId);if(a&&l){let{childColumnName:g,parentColumnName:S}=t,I=a.completeOperation(s,g,l.clientViewportId,S);I&&this.postMessageToClient(I)}}break;case"REMOVE_VISUAL_LINK_SUCCESS":{let a=this.viewports.get(t.childVpId);if(a){let l=a.completeOperation(s);l&&this.postMessageToClient(l)}}break;case"VP_VISUAL_LINKS_RESP":{let a=this.getActiveLinks(t.links),l=this.viewports.get(t.vpId);if(a.length&&l){let g=Tt(a,this.viewports),[S,I]=l.setLinks(g);if(this.postMessageToClient(S),I){let{link:ne,parentClientVpId:Ke}=I,re=C(),oe=this.mapClientToServerViewport.get(Ke);if(oe){let Je=l.createLink(re,ne.fromColumn,oe,ne.toColumn);this.sendMessageToServer(Je,re)}}}}break;case"VIEW_PORT_MENUS_RESP":if(t.menu.name){let a=this.viewports.get(t.vpId);if(a){let l=a.setMenu(t.menu);this.postMessageToClient(l)}}break;case"VP_EDIT_RPC_RESPONSE":this.postMessageToClient({action:t.action,requestId:s,rpcName:t.rpcName,type:"VP_EDIT_RPC_RESPONSE"});break;case"VP_EDIT_RPC_REJECT":this.viewports.get(t.vpId)&&this.postMessageToClient({requestId:s,type:"VP_EDIT_RPC_REJECT",error:t.error});break;case"VIEW_PORT_MENU_REJ":{console.log("send menu error back to client");let{error:a,rpcName:l,vpId:g}=t,S=this.viewports.get(g);S&&this.postMessageToClient({clientViewportId:S.clientViewportId,error:a,rpcName:l,type:"VIEW_PORT_MENU_REJ",requestId:s});break}case"VIEW_PORT_MENU_RESP":if(fe(t)){let{action:a,rpcName:l}=t;this.awaitResponseToMessage({type:"GET_TABLE_META",table:a.table}).then(g=>{let S=H(g);this.postMessageToClient({rpcName:l,type:"VIEW_PORT_MENU_RESP",action:{...a,tableSchema:S},tableAlreadyOpen:this.isTableOpen(a.table),requestId:s})})}else{let{action:a}=t;this.postMessageToClient({type:"VIEW_PORT_MENU_RESP",action:a||Rt,tableAlreadyOpen:a!==null&&this.isTableOpen(a.table),requestId:s})}break;case"RPC_RESP":{let{method:a,result:l}=t;this.postMessageToClient({type:"RPC_RESP",method:a,result:l,requestId:s})}break;case"VIEW_PORT_RPC_REPONSE":{let{method:a,action:l}=t;this.postMessageToClient({type:"VIEW_PORT_RPC_RESPONSE",rpcName:a,action:l,requestId:s})}break;case"ERROR":M(t.msg);break;default:ft&&T(`handleMessageFromServer ${t.type}.`)}}cacheTableMeta(e){let{module:t,table:s}=e.table,n=`${t}:${s}`,o=this.cachedTableSchemas.get(n);return o||(o=H(e),this.cachedTableSchemas.set(n,o)),o}isTableOpen(e){if(e){let t=e.table;for(let s of this.viewports.values())if(!s.suspended&&s.table.table===t)return!0}}getActiveLinks(e){return e.filter(t=>{let s=this.viewports.get(t.parentVpId);return s&&!s.suspended})}processUpdates(){this.viewports.forEach(e=>{var t;if(e.hasUpdatesToProcess){let s=e.getClientRows();if(s!==W){let[n,o]=s,i=e.getNewRowCount();(i!==void 0||n&&n.length>0)&&(Q&&V(`postMessageToClient #${e.clientViewportId} viewport-update ${o}, ${(t=n==null?void 0:n.length)!=null?t:"no"} rows, size ${i}`),o&&this.postMessageToClient({clientViewportId:e.clientViewportId,mode:o,rows:n,size:i,type:"viewport-update"}))}}})}};var{debug:us,debugEnabled:ls,error:qe,info:E,infoEnabled:bt,warn:_}=b("websocket-connection"),Fe="ws",Et=r=>r.startsWith(Fe+"://")||r.startsWith(Fe+"s://"),Ge={},X=Symbol("setWebsocket"),B=Symbol("connectionCallback");async function ze(r,e,t,s=10,n=5){return Ge[r]={status:"connecting",connect:{allowed:n,remaining:n},reconnect:{allowed:s,remaining:s}},He(r,e,t)}async function Z(r){throw Error("connection broken")}async function He(r,e,t,s){let{status:n,connect:o,reconnect:i}=Ge[r],u=n==="connecting"?o:i;try{t({type:"connection-status",status:"connecting"});let c=typeof s<"u",p=await Vt(r,e);console.info("%c\u26A1 %cconnected","font-size: 24px;color: green;font-weight: bold;","color:green; font-size: 14px;"),s!==void 0&&s[X](p);let a=s!=null?s:new ee(p,r,e,t),l=c?"reconnected":"connection-open-awaiting-session";return t({type:"connection-status",status:l}),a.status=l,u.remaining=u.allowed,a}catch{let p=--u.remaining>0;if(t({type:"connection-status",status:"disconnected",reason:"failed to connect",retry:p}),p)return wt(r,e,t,s,2e3);throw Error("Failed to establish connection")}}var wt=(r,e,t,s,n)=>new Promise(o=>{setTimeout(()=>{o(He(r,e,t,s))},n)}),Vt=(r,e)=>new Promise((t,s)=>{let n=Et(r)?r:`wss://${r}`;bt&&e!==void 0&&E(`WebSocket Protocol ${e==null?void 0:e.toString()}`);let o=new WebSocket(n,e);o.onopen=()=>t(o),o.onerror=i=>s(i)}),Be=()=>{_==null||_("Connection cannot be closed, socket not yet opened")},$e=r=>{_==null||_(`Message cannot be sent, socket closed ${r.body.type}`)},vt=r=>{try{return JSON.parse(r)}catch{throw Error(`Error parsing JSON response from server ${r}`)}},ee=class{constructor(e,t,s,n){this.close=Be;this.requiresLogin=!0;this.send=$e;this.status="ready";this.messagesCount=0;this.connectionMetricsInterval=null;this.handleWebsocketMessage=e=>{let t=vt(e.data);this.messagesCount+=1,this[B](t)};this.url=t,this.protocol=s,this[B]=n,this[X](e)}reconnect(){Z(this)}[(B,X)](e){let t=this[B];e.onmessage=o=>{this.status="connected",e.onmessage=this.handleWebsocketMessage,this.handleWebsocketMessage(o)},this.connectionMetricsInterval=setInterval(()=>{t({type:"connection-metrics",messagesLength:this.messagesCount}),this.messagesCount=0},2e3),e.onerror=()=>{qe("\u26A1 connection error"),t({type:"connection-status",status:"disconnected",reason:"error"}),this.connectionMetricsInterval&&(clearInterval(this.connectionMetricsInterval),this.connectionMetricsInterval=null),this.status==="connection-open-awaiting-session"?qe("Websocket connection lost before Vuu session established, check websocket configuration"):this.status!=="closed"&&(Z(this),this.send=n)},e.onclose=()=>{E==null||E("\u26A1 connection close"),t({type:"connection-status",status:"disconnected",reason:"close"}),this.connectionMetricsInterval&&(clearInterval(this.connectionMetricsInterval),this.connectionMetricsInterval=null),this.status!=="closed"&&(Z(this),this.send=n)};let s=o=>{e.send(JSON.stringify(o))},n=o=>{E==null||E(`TODO queue message until websocket reconnected ${o.body.type}`)};this.send=s,this.close=()=>{this.status="closed",e.close(),this.close=Be,this.send=$e,E==null||E("close websocket")}}};var v,{info:te,infoEnabled:se}=b("worker");async function yt(r,e,t,s,n,o,i){let u=await ze(r,e,c=>{de(c)?postMessage({type:"connection-metrics",messages:c}):pe(c)?(n(c),c.status==="reconnected"&&v.reconnect()):v.handleMessageFromServer(c)},o,i);v=new F(u,c=>Mt(c)),u.requiresLogin&&await v.login(t,s)}function Mt(r){postMessage(r)}var _t=async({data:r})=>{switch(r.type){case"connect":await yt(r.url,r.protocol,r.token,r.username,postMessage,r.retryLimitDisconnect,r.retryLimitStartup),postMessage({type:"connected"});break;case"subscribe":se&&te(`client subscribe: ${JSON.stringify(r)}`),v.subscribe(r);break;case"unsubscribe":se&&te(`client unsubscribe: ${JSON.stringify(r)}`),v.unsubscribe(r.viewport);break;default:se&&te(`client message: ${JSON.stringify(r)}`),v.handleMessageFromClient(r)}};self.addEventListener("message",_t);postMessage({type:"ready"});\n\n';var Cl=new Blob([(0,Y.getLoggingConfigForWorker)()+Ki],{type:"text/javascript"}),Sl=URL.createObjectURL(Cl),mt,fo,mo=[],Tl,El,Og=new Promise((r,e)=>{Tl=r,El=e});var Dt=new Map,br=new Map,Pl=async({handleConnectionStatusChange:r,protocol:e,retryLimitDisconnect:t,retryLimitStartup:o,token:n="",username:i,url:s})=>n===""&&fo===void 0?new Promise(a=>{mo.push({resolve:a})}):fo||(fo=new Promise(a=>{let l=new Worker(Sl),u=window.setTimeout(()=>{console.error("timed out waiting for worker to load")},1e3);l.onmessage=d=>{let{data:c}=d;if(c.type==="ready")window.clearTimeout(u),l.postMessage({protocol:e,retryLimitDisconnect:t,retryLimitStartup:o,token:n,type:"connect",url:s,username:i});else if(c.type==="connected"){l.onmessage=ji,a(l);for(let p of mo)p.resolve(l);mo.length=0}else(0,Y.isConnectionStatusMessage)(c)?r({data:c}):console.warn("ConnectionManager: Unexpected message from the worker")}}));function ji({data:r}){if(Gi(r)){let e=Dt.get(r.clientViewportId);e?e.postMessageToClientDataSource(r):console.error(`[ConnectionManager] ${r.type} message received, viewport not found`)}else if((0,Y.isConnectionStatusMessage)(r))Zi.emit("connection-status",r);else if((0,Y.isConnectionQualityMetrics)(r))Zi.emit("connection-metrics",r);else{let e=r.requestId;if(br.has(e)){let{resolve:t}=br.get(e);br.delete(e);let{type:o,requestId:n,...i}=r;(0,Y.messageHasResult)(r)?t(r.result):r.type==="VP_EDIT_RPC_RESPONSE"||r.type==="VP_EDIT_RPC_REJECT"?t(r):(0,Y.isTableSchema)(r)?t(r.tableSchema):t(i)}else console.warn("%cConnectionManager Unexpected message from the worker","color:red;font-weight:bold;")}}var go=r=>{let e=(0,Y.uuid)();return mt.postMessage({requestId:e,...r}),new Promise((t,o)=>{br.set(e,{resolve:t,reject:o})})},Ll={subscribe:(r,e)=>{if(Dt.get(r.viewport))throw Error("ConnectionManager attempting to subscribe with an existing viewport id");Dt.set(r.viewport,{status:"subscribing",request:r,postMessageToClientDataSource:e}),mt.postMessage({type:"subscribe",...r})},unsubscribe:r=>{mt.postMessage({type:"unsubscribe",viewport:r})},send:r=>{mt.postMessage(r)},destroy:r=>{r&&Dt.has(r)&&Dt.delete(r)},rpcCall:async r=>go(r),getTableList:async()=>go({type:"GET_TABLE_LIST"}),getTableSchema:async r=>go({type:Ji,table:r})},vo=class extends Y.EventEmitter{async connect({url:e,authToken:t,username:o,protocol:n,retryLimitDisconnect:i,retryLimitStartup:s}){return mt=await Pl({protocol:n,url:e,token:t,username:o,retryLimitDisconnect:i,retryLimitStartup:s,handleConnectionStatusChange:ji}),Ll}destroy(){mt.terminate()}},Zi=new vo;var Ml=0,_t=class{constructor(e,t){this.from=e,this.to=t}},H=class{constructor(e={}){this.id=Ml++,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=he.match(e)),t=>{let o=e(t);return o===void 0?null:[this,o]}}};H.closedBy=new H({deserialize:r=>r.split(" ")});H.openedBy=new H({deserialize:r=>r.split(" ")});H.group=new H({deserialize:r=>r.split(" ")});H.contextHash=new H({perNode:!0});H.lookAhead=new H({perNode:!0});H.mounted=new H({perNode:!0});var Rl=Object.create(null),he=class r{constructor(e,t,o,n=0){this.name=e,this.props=t,this.id=o,this.flags=n}static define(e){let t=e.props&&e.props.length?Object.create(null):Rl,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),n=new r(e.name||"",t,e.id,o);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(n)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[i[0].id]=i[1]}}return n}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(H.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let o in e)for(let n of o.split(" "))t[n]=e[o];return o=>{for(let n=o.prop(H.group),i=-1;i<(n?n.length:0);i++){let s=t[i<0?o.name:n[i]];if(s)return s}}}};he.none=new he("",Object.create(null),0,8);var xr=class r{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 o of this.types){let n=null;for(let i of e){let s=i(o);s&&(n||(n=Object.assign({},o.props)),n[s[0].id]=s[1])}t.push(n?new he(o.name,n,o.id,o.flags):o)}return new r(t)}},yr=new WeakMap,Xi=new WeakMap,K;(function(r){r[r.ExcludeBuffers=1]="ExcludeBuffers",r[r.IncludeAnonymous=2]="IncludeAnonymous",r[r.IgnoreMounts=4]="IgnoreMounts",r[r.IgnoreOverlays=8]="IgnoreOverlays"})(K||(K={}));var oe=class r{constructor(e,t,o,n,i){if(this.type=e,this.children=t,this.positions=o,this.length=n,this.props=null,i&&i.length){this.props=Object.create(null);for(let[s,a]of i)this.props[typeof s=="number"?s:s.id]=a}}toString(){let e=this.prop(H.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let o of this.children){let n=o.toString();n&&(t&&(t+=","),t+=n)}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 vt(this.topNode,e)}cursorAt(e,t=0,o=0){let n=yr.get(this)||this.topNode,i=new vt(n);return i.moveTo(e,t),yr.set(this,i._tree),i}get topNode(){return new Xe(this,0,0,null)}resolve(e,t=0){let o=gt(yr.get(this)||this.topNode,e,t,!1);return yr.set(this,o),o}resolveInner(e,t=0){let o=gt(Xi.get(this)||this.topNode,e,t,!0);return Xi.set(this,o),o}iterate(e){let{enter:t,leave:o,from:n=0,to:i=this.length}=e,s=e.mode||0,a=(s&K.IncludeAnonymous)>0;for(let l=this.cursor(s|K.IncludeAnonymous);;){let u=!1;if(l.from<=i&&l.to>=n&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&o&&(a||!l.type.isAnonymous)&&o(l),!l.nextSibling();){if(!l.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:Co(he.none,this.children,this.positions,0,this.children.length,0,this.length,(t,o,n)=>new r(this.type,t,o,n,this.propValues),e.makeTree||((t,o,n)=>new r(he.none,t,o,n)))}static build(e){return kl(e)}};oe.empty=new oe(he.none,[],[],0);var bo=class r{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 r(this.buffer,this.index)}},je=class r{constructor(e,t,o){this.buffer=e,this.length=t,this.set=o}get type(){return he.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],o=this.buffer[e+3],n=this.set.types[t],i=n.name;if(/\W/.test(i)&&!n.isError&&(i=JSON.stringify(i)),e+=4,o==e)return i;let s=[];for(;e<o;)s.push(this.childString(e)),e=this.buffer[e+3];return i+"("+s.join(",")+")"}findChild(e,t,o,n,i){let{buffer:s}=this,a=-1;for(let l=e;l!=t&&!(es(i,n,s[l+1],s[l+2])&&(a=l,o>0));l=s[l+3]);return a}slice(e,t,o){let n=this.buffer,i=new Uint16Array(t-e),s=0;for(let a=e,l=0;a<t;){i[l++]=n[a++],i[l++]=n[a++]-o;let u=i[l++]=n[a++]-o;i[l++]=n[a++]-e,s=Math.max(s,u)}return new r(i,s,this.set)}};function es(r,e,t,o){switch(r){case-2:return t<e;case-1:return o>=e&&t<e;case 0:return t<e&&o>e;case 1:return t<=e&&o>e;case 2:return o>e;case 4:return!0}}function ts(r,e){let t=r.childBefore(e);for(;t;){let o=t.lastChild;if(!o||o.to!=t.to)break;o.type.isError&&o.from==o.to?(r=t,t=o.prevSibling):t=o}return r}function gt(r,e,t,o){for(var n;r.from==r.to||(t<1?r.from>=e:r.from>e)||(t>-1?r.to<=e:r.to<e);){let s=!o&&r instanceof Xe&&r.index<0?null:r.parent;if(!s)return r;r=s}let i=o?0:K.IgnoreOverlays;if(o)for(let s=r,a=s.parent;a;s=a,a=s.parent)s instanceof Xe&&s.index<0&&((n=a.enter(e,t,i))===null||n===void 0?void 0:n.from)!=s.from&&(r=a);for(;;){let s=r.enter(e,t,i);if(!s)return r;r=s}}var Xe=class r{constructor(e,t,o,n){this._tree=e,this.from=t,this.index=o,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,o,n,i=0){for(let s=this;;){for(let{children:a,positions:l}=s._tree,u=t>0?a.length:-1;e!=u;e+=t){let d=a[e],c=l[e]+s.from;if(es(n,o,c,c+d.length)){if(d instanceof je){if(i&K.ExcludeBuffers)continue;let p=d.findChild(0,d.buffer.length,t,o-c,n);if(p>-1)return new Ht(new yo(s,d,e,c),null,p)}else if(i&K.IncludeAnonymous||!d.type.isAnonymous||xo(d)){let p;if(!(i&K.IgnoreMounts)&&d.props&&(p=d.prop(H.mounted))&&!p.overlay)return new r(p.tree,c,e,s);let f=new r(d,c,e,s);return i&K.IncludeAnonymous||!f.type.isAnonymous?f:f.nextChild(t<0?d.children.length-1:0,t,o,n)}}}if(i&K.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+t:e=t<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,o=0){let n;if(!(o&K.IgnoreOverlays)&&(n=this._tree.prop(H.mounted))&&n.overlay){let i=e-this.from;for(let{from:s,to:a}of n.overlay)if((t>0?s<=i:s<i)&&(t<0?a>=i:a>i))return new r(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,o)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}cursor(e=0){return new vt(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return gt(this,e,t,!1)}resolveInner(e,t=0){return gt(this,e,t,!0)}enterUnfinishedNodesBefore(e){return ts(this,e)}getChild(e,t=null,o=null){let n=Cr(this,e,t,o);return n.length?n[0]:null}getChildren(e,t=null,o=null){return Cr(this,e,t,o)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return Sr(this,e)}};function Cr(r,e,t,o){let n=r.cursor(),i=[];if(!n.firstChild())return i;if(t!=null){for(;!n.type.is(t);)if(!n.nextSibling())return i}for(;;){if(o!=null&&n.type.is(o))return i;if(n.type.is(e)&&i.push(n.node),!n.nextSibling())return o==null?i:[]}}function Sr(r,e,t=e.length-1){for(let o=r.parent;t>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(e[t]&&e[t]!=o.name)return!1;t--}}return!0}var yo=class{constructor(e,t,o,n){this.parent=e,this.buffer=t,this.index=o,this.start=n}},Ht=class r{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,o){this.context=e,this._parent=t,this.index=o,this.type=e.buffer.set.types[e.buffer.buffer[o]]}child(e,t,o){let{buffer:n}=this.context,i=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,o);return i<0?null:new r(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,o=0){if(o&K.ExcludeBuffers)return null;let{buffer:n}=this.context,i=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return i<0?null:new r(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new r(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 r(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new vt(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:o}=this.context,n=this.index+4,i=o.buffer[this.index+3];if(i>n){let s=o.buffer[this.index+1];e.push(o.slice(n,i,s)),t.push(0)}return new oe(this.type,e,t,this.to-this.from)}resolve(e,t=0){return gt(this,e,t,!1)}resolveInner(e,t=0){return gt(this,e,t,!0)}enterUnfinishedNodesBefore(e){return ts(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,o=null){let n=Cr(this,e,t,o);return n.length?n[0]:null}getChildren(e,t=null,o=null){return Cr(this,e,t,o)}get node(){return this}matchContext(e){return Sr(this,e)}},vt=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 Xe)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let o=e._parent;o;o=o._parent)this.stack.unshift(o.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:o,buffer:n}=this.buffer;return this.type=t||n.set.types[n.buffer[e]],this.from=o+n.buffer[e+1],this.to=o+n.buffer[e+2],!0}yield(e){return e?e instanceof Xe?(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,o){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,o,this.mode));let{buffer:n}=this.buffer,i=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.buffer.start,o);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,o=this.mode){return this.buffer?o&K.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&K.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&K.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,o=this.stack.length-1;if(e<0){let n=o<0?0:this.stack[o]+4;if(this.index!=n)return this.yieldBuf(t.findChild(n,this.index,-1,0,4))}else{let n=t.buffer[this.index+3];if(n<(o<0?t.buffer.length:t.buffer[this.stack[o]+3]))return this.yieldBuf(n)}return o<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,o,{buffer:n}=this;if(n){if(e>0){if(this.index<n.buffer.buffer.length)return!1}else for(let i=0;i<this.index;i++)if(n.buffer.buffer[i+3]<this.index)return!1;({index:t,parent:o}=n)}else({index:t,_parent:o}=this._tree);for(;o;{index:t,_parent:o}=o)if(t>-1)for(let i=t+e,s=e<0?-1:o._tree.children.length;i!=s;i+=e){let a=o._tree.children[i];if(this.mode&K.IncludeAnonymous||a instanceof je||!a.type.isAnonymous||xo(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,o=0;if(e&&e.context==this.buffer)e:for(let n=this.index,i=this.stack.length;i>=0;){for(let s=e;s;s=s._parent)if(s.index==n){if(n==this.index)return s;t=s,o=i+1;break e}n=this.stack[--i]}for(let n=o;n<this.stack.length;n++)t=new Ht(this.buffer,t,this.stack[n]);return this.bufferNode=new Ht(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let o=0;;){let n=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){o++;continue}this.type.isAnonymous||(n=!0)}for(;n&&t&&t(this),n=this.type.isAnonymous,!this.nextSibling();){if(!o)return;this.parent(),o--,n=!0}}}matchContext(e){if(!this.buffer)return Sr(this.node,e);let{buffer:t}=this.buffer,{types:o}=t.set;for(let n=e.length-1,i=this.stack.length-1;n>=0;i--){if(i<0)return Sr(this.node,e,n);let s=o[t.buffer[this.stack[i]]];if(!s.isAnonymous){if(e[n]&&e[n]!=s.name)return!1;n--}}return!0}};function xo(r){return r.children.some(e=>e instanceof je||!e.type.isAnonymous||xo(e))}function kl(r){var e;let{buffer:t,nodeSet:o,maxBufferLength:n=1024,reused:i=[],minRepeatType:s=o.types.length}=r,a=Array.isArray(t)?new bo(t,t.length):t,l=o.types,u=0,d=0;function c(w,T,h,m,S){let{id:L,start:P,end:C,size:M}=a,O=d;for(;M<0;)if(a.next(),M==-1){let $=i[L];h.push($),m.push(P-w);return}else if(M==-3){u=L;return}else if(M==-4){d=L;return}else throw new RangeError(`Unrecognized record size: ${M}`);let D=l[L],A,N,q=P-w;if(C-P<=n&&(N=v(a.pos-T,S))){let $=new Uint16Array(N.size-N.skip),Q=a.pos-N.size,ee=$.length;for(;a.pos>Q;)ee=y(N.start,$,ee);A=new je($,C-N.start,o),q=N.start-w}else{let $=a.pos-M;a.next();let Q=[],ee=[],le=L>=s?L:-1,ue=0,Se=C;for(;a.pos>$;)le>=0&&a.id==le&&a.size>=0?(a.end<=Se-n&&(f(Q,ee,P,ue,a.end,Se,le,O),ue=Q.length,Se=a.end),a.next()):c(P,$,Q,ee,le);if(le>=0&&ue>0&&ue<Q.length&&f(Q,ee,P,ue,P,Se,le,O),Q.reverse(),ee.reverse(),le>-1&&ue>0){let tt=p(D);A=Co(D,Q,ee,0,Q.length,0,C-P,tt,tt)}else A=g(D,Q,ee,C-P,O-C)}h.push(A),m.push(q)}function p(w){return(T,h,m)=>{let S=0,L=T.length-1,P,C;if(L>=0&&(P=T[L])instanceof oe){if(!L&&P.type==w&&P.length==m)return P;(C=P.prop(H.lookAhead))&&(S=h[L]+P.length+C)}return g(w,T,h,m,S)}}function f(w,T,h,m,S,L,P,C){let M=[],O=[];for(;w.length>m;)M.push(w.pop()),O.push(T.pop()+h-S);w.push(g(o.types[P],M,O,L-S,C-L)),T.push(S-h)}function g(w,T,h,m,S=0,L){if(u){let P=[H.contextHash,u];L=L?[P].concat(L):[P]}if(S>25){let P=[H.lookAhead,S];L=L?[P].concat(L):[P]}return new oe(w,T,h,m,L)}function v(w,T){let h=a.fork(),m=0,S=0,L=0,P=h.end-n,C={size:0,start:0,skip:0};e:for(let M=h.pos-w;h.pos>M;){let O=h.size;if(h.id==T&&O>=0){C.size=m,C.start=S,C.skip=L,L+=4,m+=4,h.next();continue}let D=h.pos-O;if(O<0||D<M||h.start<P)break;let A=h.id>=s?4:0,N=h.start;for(h.next();h.pos>D;){if(h.size<0)if(h.size==-3)A+=4;else break e;else h.id>=s&&(A+=4);h.next()}S=N,m+=O,L+=A}return(T<0||m==w)&&(C.size=m,C.start=S,C.skip=L),C.size>4?C:void 0}function y(w,T,h){let{id:m,start:S,end:L,size:P}=a;if(a.next(),P>=0&&m<s){let C=h;if(P>4){let M=a.pos-(P-4);for(;a.pos>M;)h=y(w,T,h)}T[--h]=C,T[--h]=L-w,T[--h]=S-w,T[--h]=m}else P==-3?u=m:P==-4&&(d=m);return h}let b=[],E=[];for(;a.pos>0;)c(r.start||0,r.bufferStart||0,b,E,-1);let x=(e=r.length)!==null&&e!==void 0?e:b.length?E[0]+b[0].length:0;return new oe(l[r.topID],b.reverse(),E.reverse(),x)}var Yi=new WeakMap;function wr(r,e){if(!r.isAnonymous||e instanceof je||e.type!=r)return 1;let t=Yi.get(e);if(t==null){t=1;for(let o of e.children){if(o.type!=r||!(o instanceof oe)){t=1;break}t+=wr(r,o)}Yi.set(e,t)}return t}function Co(r,e,t,o,n,i,s,a,l){let u=0;for(let g=o;g<n;g++)u+=wr(r,e[g]);let d=Math.ceil(u*1.5/8),c=[],p=[];function f(g,v,y,b,E){for(let x=y;x<b;){let w=x,T=v[x],h=wr(r,g[x]);for(x++;x<b;x++){let m=wr(r,g[x]);if(h+m>=d)break;h+=m}if(x==w+1){if(h>d){let m=g[w];f(m.children,m.positions,0,m.children.length,v[w]+E);continue}c.push(g[w])}else{let m=v[x-1]+g[x-1].length-T;c.push(Co(r,g,v,w,x,T,m,null,l))}p.push(T+E-i)}}return f(e,t,o,n,0),(a||l)(c,p,s)}var Tr=class{startParse(e,t,o){return typeof e=="string"&&(e=new wo(e)),o=o?o.length?o.map(n=>new _t(n.from,n.to)):[new _t(0,0)]:[new _t(0,e.length)],this.createParse(e,t||[],o)}parse(e,t,o){let n=this.startParse(e,t,o);for(;;){let i=n.advance();if(i)return i}}},wo=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 Ng=new H({perNode:!0});var To=class r{constructor(e,t,o,n,i,s,a,l,u,d=0,c){this.p=e,this.stack=t,this.state=o,this.reducePos=n,this.pos=i,this.score=s,this.buffer=a,this.bufferBase=l,this.curContext=u,this.lookAhead=d,this.parent=c}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,o=0){let n=e.parser.context;return new r(e,[],t,o,o,0,[],0,n?new Er(n,n.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 o=e>>19,n=e&65535,{parser:i}=this.p,s=i.dynamicPrecedence(n);if(s&&(this.score+=s),o==0){this.pushState(i.getGoto(this.state,n,!0),this.reducePos),n<i.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,4,!0),this.reduceContext(n,this.reducePos);return}let a=this.stack.length-(o-1)*3-(e&262144?6:0),l=a?this.stack[a-2]:this.p.ranges[0].from,u=this.reducePos-l;u>=2e3&&!(!((t=this.p.parser.nodeSet.types[n])===null||t===void 0)&&t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=u));let d=a?this.stack[a-1]:0,c=this.bufferBase+this.buffer.length-d;if(n<i.minRepeatTerm||e&131072){let p=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,l,p,c+4,!0)}if(e&262144)this.state=this.stack[a];else{let p=this.stack[a-3];this.state=i.getGoto(p,n,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(n,l)}storeNode(e,t,o,n=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this,a=this.buffer.length;if(a==0&&s.parent&&(a=s.bufferBase-s.parent.bufferBase,s=s.parent),a>0&&s.buffer[a-4]==0&&s.buffer[a-1]>-1){if(t==o)return;if(s.buffer[a-2]>=t){s.buffer[a-2]=o;return}}}if(!i||this.pos==o)this.buffer.push(e,t,o,n);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0)for(;s>0&&this.buffer[s-2]>o;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,n>4&&(n-=4);this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=o,this.buffer[s+3]=n}}shift(e,t,o){let n=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=o,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,o,4);else{let i=e,{parser:s}=this.p;(o>this.pos||t<=s.maxNode)&&(this.pos=o,s.stateFlag(i,1)||(this.reducePos=o)),this.pushState(i,n),this.shiftContext(t,n),t<=s.maxNode&&this.buffer.push(t,n,o,4)}}apply(e,t,o){e&65536?this.reduce(e):this.shift(e,t,o)}useNode(e,t){let o=this.p.reused.length-1;(o<0||this.p.reused[o]!=e)&&(this.p.reused.push(e),o++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(t,n),this.buffer.push(o,n,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 o=e.buffer.slice(t),n=e.bufferBase+t;for(;e&&n==e.bufferBase;)e=e.parent;return new r(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,o,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let o=e<=this.p.parser.maxNode;o&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,o?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Eo(this);;){let o=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(o==0)return!1;if(!(o&65536))return!0;t.reduce(o)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let n=[];for(let i=0,s;i<t.length;i+=2)(s=t[i+1])!=this.state&&this.p.parser.hasAction(s,e)&&n.push(t[i],s);if(this.stack.length<120)for(let i=0;n.length<8&&i<t.length;i+=2){let s=t[i+1];n.some((a,l)=>l&1&&a==s)||n.push(t[i],s)}t=n}let o=[];for(let n=0;n<t.length&&o.length<4;n+=2){let i=t[n+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(t[n],this.pos),s.score-=200,o.push(s)}return o}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let o=t>>19,n=t&65535,i=this.stack.length-o*3;if(i<0||e.getGoto(this.stack[i],n,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;t=s}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=[],o=(n,i)=>{if(!t.includes(n))return t.push(n),e.allActions(n,s=>{if(!(s&393216))if(s&65536){let a=(s>>19)-i;if(a>1){let l=s&65535,u=this.stack.length-a*3;if(u>=0&&e.getGoto(this.stack[u],l,!1)>=0)return a<<19|65536|l}}else{let a=o(s,i+1);if(a!=null)return a}})};return o(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let 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 Er(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()}},Er=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},rs;(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"})(rs||(rs={}));var Eo=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,o=e>>19;o==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(o-1)*3;let n=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=n}},Po=class r{constructor(e,t,o){this.stack=e,this.pos=t,this.index=o,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new r(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 r(this.stack,this.pos,this.index)}};function Bt(r,e=Uint16Array){if(typeof r!="string")return r;let t=null;for(let o=0,n=0;o<r.length;){let i=0;for(;;){let s=r.charCodeAt(o++),a=!1;if(s==126){i=65535;break}s>=92&&s--,s>=34&&s--;let l=s-32;if(l>=46&&(l-=46,a=!0),i+=l,a)break;i*=46}t?t[n++]=i:t=new e(i)}return t}var bt=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},os=new bt,Lo=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=os,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 o=this.range,n=this.rangeIndex,i=this.pos+e;for(;i<o.from;){if(!n)return null;let s=this.ranges[--n];i-=o.from-s.to,o=s}for(;t<0?i>o.to:i>=o.to;){if(n==this.ranges.length-1)return null;let s=this.ranges[++n];i+=s.from-o.to,o=s}return i}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,o,n;if(t>=0&&t<this.chunk.length)o=this.pos+e,n=this.chunk.charCodeAt(t);else{let i=this.resolveOffset(e,1);if(i==null)return-1;if(o=i,o>=this.chunk2Pos&&o<this.chunk2Pos+this.chunk2.length)n=this.chunk2.charCodeAt(o-this.chunk2Pos);else{let s=this.rangeIndex,a=this.range;for(;a.to<=o;)a=this.ranges[++s];this.chunk2=this.input.chunk(this.chunk2Pos=o),o+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-o)),n=this.chunk2.charCodeAt(0)}}return o>=this.token.lookAhead&&(this.token.lookAhead=o+1),n}acceptToken(e,t=0){let o=t?this.resolveOffset(t,-1):this.pos;if(o==null||o<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=o}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos: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=os,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 o="";for(let n of this.ranges){if(n.from>=t)break;n.to>e&&(o+=this.input.read(Math.max(n.from,e),Math.min(n.to,t)))}return o}},_e=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:o}=t.p;cs(this.data,e,t,this.id,o.data,o.tokenPrecTable)}};_e.prototype.contextual=_e.prototype.fallback=_e.prototype.extend=!1;var Mo=class{constructor(e,t,o){this.precTable=t,this.elseToken=o,this.data=typeof e=="string"?Bt(e):e}token(e,t){let o=e.pos,n=0;for(;;){let i=e.next<0,s=e.resolveOffset(1,1);if(cs(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(i||n++,s==null)break;e.reset(s,e.token)}n&&(e.reset(o,e.token),e.acceptToken(this.elseToken,n))}};Mo.prototype.contextual=_e.prototype.fallback=_e.prototype.extend=!1;function cs(r,e,t,o,n,i){let s=0,a=1<<o,{dialect:l}=t.p.parser;e:for(;a&r[s];){let u=r[s+1];for(let f=s+3;f<u;f+=2)if((r[f+1]&a)>0){let g=r[f];if(l.allows(g)&&(e.token.value==-1||e.token.value==g||Ol(g,e.token.value,n,i))){e.acceptToken(g);break}}let d=e.next,c=0,p=r[s+2];if(e.next<0&&p>c&&r[u+p*3-3]==65535&&r[u+p*3-3]==65535){s=r[u+p*3-1];continue e}for(;c<p;){let f=c+p>>1,g=u+f+(f<<1),v=r[g],y=r[g+1]||65536;if(d<v)p=f;else if(d>=y)c=f+1;else{s=r[g+2],e.advance();continue e}}break}}function ns(r,e,t){for(let o=e,n;(n=r[o])!=65535;o++)if(n==t)return o-e;return-1}function Ol(r,e,t,o){let n=ns(t,o,e);return n<0||ns(t,o,r)<n}var be=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),So=null,is;(function(r){r[r.Margin=25]="Margin"})(is||(is={}));function ss(r,e,t){let o=r.cursor(K.IncludeAnonymous);for(o.moveTo(e);;)if(!(t<0?o.childBefore(e):o.childAfter(e)))for(;;){if((t<0?o.to<e:o.from>e)&&!o.type.isError)return t<0?Math.max(0,Math.min(o.to-1,e-25)):Math.min(r.length,Math.max(o.from+1,e+25));if(t<0?o.prevSibling():o.nextSibling())break;if(!o.parent())return t<0?0:r.length}}var Ro=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?ss(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ss(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 o=this.trees[t],n=this.index[t];if(n==o.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=o.children[n],s=this.start[t]+o.positions[n];if(s>e)return this.nextStart=s,null;if(i instanceof oe){if(s==e){if(s<this.safeFrom)return null;let a=s+i.length;if(a<=this.safeTo){let l=i.prop(H.lookAhead);if(!l||a+l<this.fragment.to)return i}}this.index[t]++,s+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+i.length}}},ko=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(o=>new bt)}getActions(e){let t=0,o=null,{parser:n}=e.p,{tokenizers:i}=n,s=n.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let u=0;u<i.length;u++){if(!(1<<u&s))continue;let d=i[u],c=this.tokens[u];if(!(o&&!d.fallback)&&((d.contextual||c.start!=e.pos||c.mask!=s||c.context!=a)&&(this.updateCachedToken(c,d,e),c.mask=s,c.context=a),c.lookAhead>c.end+25&&(l=Math.max(c.lookAhead,l)),c.value!=0)){let p=t;if(c.extended>-1&&(t=this.addActions(e,c.extended,c.end,t)),t=this.addActions(e,c.value,c.end,t),!d.extend&&(o=c,t>p))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!o&&e.pos==this.stream.end&&(o=new bt,o.value=e.p.parser.eofTerm,o.start=o.end=e.pos,t=this.addActions(e,o.value,o.end,t)),this.mainToken=o,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new bt,{pos:o,p:n}=e;return t.start=o,t.end=Math.min(o+1,n.stream.end),t.value=o==n.stream.end?n.parser.eofTerm:0,t}updateCachedToken(e,t,o){let n=this.stream.clipPos(o.pos);if(t.token(this.stream.reset(n,e),o),e.value>-1){let{parser:i}=o.p;for(let s=0;s<i.specialized.length;s++)if(i.specialized[s]==e.value){let a=i.specializers[s](this.stream.read(e.start,e.end),o);if(a>=0&&o.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(n+1)}putAction(e,t,o,n){for(let i=0;i<n;i+=3)if(this.actions[i]==e)return n;return this.actions[n++]=e,this.actions[n++]=t,this.actions[n++]=o,n}addActions(e,t,o,n){let{state:i}=e,{parser:s}=e.p,{data:a}=s;for(let l=0;l<2;l++)for(let u=s.stateSlot(i,l?2:1);;u+=3){if(a[u]==65535)if(a[u+1]==1)u=Le(a,u+2);else{n==0&&a[u+1]==2&&(n=this.putAction(Le(a,u+2),t,o,n));break}a[u]==t&&(n=this.putAction(Le(a,u+1),t,o,n))}return n}},as;(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"})(as||(as={}));var Io=class{constructor(e,t,o,n){this.parser=e,this.input=t,this.ranges=n,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 Lo(t,n),this.tokens=new ko(e,this.stream),this.topTerm=e.top[1];let{from:i}=n[0];this.stacks=[To.start(this,e.top[0],i)],this.fragments=o.length&&this.stream.end-i>e.bufferLength*4?new Ro(o,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,o=this.stacks=[],n,i;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<e.length;s++){let a=e[s];for(;;){if(this.tokens.mainToken=null,a.pos>t)o.push(a);else{if(this.advanceStack(a,o,e))continue;{n||(n=[],i=[]),n.push(a);let l=this.tokens.getMainToken(a);i.push(l.value,l.end)}}break}}if(!o.length){let s=n&&Fl(n);if(s)return this.stackToTree(s);if(this.parser.strict)throw be&&n&&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&&n){let s=this.stoppedAt!=null&&n[0].pos>this.stoppedAt?n[0]:this.runRecovery(n,i,o);if(s)return this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(o.length>s)for(o.sort((a,l)=>l.score-a.score);o.length>s;)o.pop();o.some(a=>a.reducePos>t)&&this.recovering--}else if(o.length>1){e:for(let s=0;s<o.length-1;s++){let a=o[s];for(let l=s+1;l<o.length;l++){let u=o[l];if(a.sameState(u)||a.buffer.length>500&&u.buffer.length>500)if((a.score-u.score||a.buffer.length-u.buffer.length)>0)o.splice(l--,1);else{o.splice(s--,1);continue e}}}o.length>12&&o.splice(12,o.length-12)}this.minStackPos=o[0].pos;for(let s=1;s<o.length;s++)o[s].pos<this.minStackPos&&(this.minStackPos=o[s].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,o){let n=e.pos,{parser:i}=this,s=be?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let u=e.curContext&&e.curContext.tracker.strict,d=u?e.curContext.hash:0;for(let c=this.fragments.nodeAt(n);c;){let p=this.parser.nodeSet.types[c.type.id]==c.type?i.getGoto(e.state,c.type.id):-1;if(p>-1&&c.length&&(!u||(c.prop(H.contextHash)||0)==d))return e.useNode(c,p),be&&console.log(s+this.stackID(e)+` (via reuse of ${i.getName(c.type.id)})`),!0;if(!(c instanceof oe)||c.children.length==0||c.positions[0]>0)break;let f=c.children[0];if(f instanceof oe&&c.positions[0]==0)c=f;else break}}let a=i.stateSlot(e.state,4);if(a>0)return e.reduce(a),be&&console.log(s+this.stackID(e)+` (via always-reduce ${i.getName(a&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let u=0;u<l.length;){let d=l[u++],c=l[u++],p=l[u++],f=u==l.length||!o,g=f?e:e.split();if(g.apply(d,c,p),be&&console.log(s+this.stackID(g)+` (via ${d&65536?`reduce of ${i.getName(d&65535)}`:"shift"} for ${i.getName(c)} @ ${n}${g==e?"":", split"})`),f)return!0;g.pos>n?t.push(g):o.push(g)}return!1}advanceFully(e,t){let o=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>o)return ls(e,t),!0}}runRecovery(e,t,o){let n=null,i=!1;for(let s=0;s<e.length;s++){let a=e[s],l=t[s<<1],u=t[(s<<1)+1],d=be?this.stackID(a)+" -> ":"";if(a.deadEnd&&(i||(i=!0,a.restart(),be&&console.log(d+this.stackID(a)+" (restarted)"),this.advanceFully(a,o))))continue;let c=a.split(),p=d;for(let f=0;c.forceReduce()&&f<10&&(be&&console.log(p+this.stackID(c)+" (via force-reduce)"),!this.advanceFully(c,o));f++)be&&(p=this.stackID(c)+" -> ");for(let f of a.recoverByInsert(l))be&&console.log(d+this.stackID(f)+" (via recover-insert)"),this.advanceFully(f,o);this.stream.end>a.pos?(u==a.pos&&(u++,l=0),a.recoverByDelete(l,u),be&&console.log(d+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),ls(a,o)):(!n||n.score<a.score)&&(n=a)}return n}stackToTree(e){return e.close(),oe.build({buffer:Po.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=(So||(So=new WeakMap)).get(e);return t||So.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function ls(r,e){for(let t=0;t<e.length;t++){let o=e[t];if(o.pos==r.pos&&o.sameState(r)){e[t].score<r.score&&(e[t]=r);return}}e.push(r)}var Oo=class{constructor(e,t,o){this.source=e,this.flags=t,this.disabled=o}allows(e){return!this.disabled||this.disabled[e]==0}};var Pr=class r extends Tr{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 o=Object.keys(e.topRules).map(a=>e.topRules[a][1]),n=[];for(let a=0;a<t.length;a++)n.push([]);function i(a,l,u){n[a].push([l,l.deserialize(String(u))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=H[l]);for(let u=1;u<a.length;){let d=a[u++];if(d>=0)i(d,l,a[u++]);else{let c=a[u+-d];for(let p=-d;p>0;p--)i(a[u++],l,c);u++}}}this.nodeSet=new xr(t.map((a,l)=>he.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:n[l],top:o.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 s=Bt(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(us),this.states=Bt(e.states,Uint32Array),this.data=Bt(e.stateData),this.goto=Bt(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new _e(s,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,o){let n=new Io(this,e,t,o);for(let i of this.wrappers)n=i(n,e,t,o);return n}getGoto(e,t,o=!1){let n=this.goto;if(t>=n[0])return-1;for(let i=n[t+1];;){let s=n[i++],a=s&1,l=n[i++];if(a&&o)return l;for(let u=i+(s>>1);i<u;i++)if(n[i]==e)return l;if(a)return-1}}hasAction(e,t){let o=this.data;for(let n=0;n<2;n++)for(let i=this.stateSlot(e,n?2:1),s;;i+=3){if((s=o[i])==65535)if(o[i+1]==1)s=o[i=Le(o,i+2)];else{if(o[i+1]==2)return Le(o,i+2);break}if(s==t||s==0)return Le(o,i+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,o=>o==t?!0:null)}allActions(e,t){let o=this.stateSlot(e,4),n=o?t(o):void 0;for(let i=this.stateSlot(e,1);n==null;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=Le(this.data,i+2);else break;n=t(Le(this.data,i+1))}return n}nextStates(e){let t=[];for(let o=this.stateSlot(e,1);;o+=3){if(this.data[o]==65535)if(this.data[o+1]==1)o=Le(this.data,o+2);else break;if(!(this.data[o+2]&1)){let n=this.data[o+1];t.some((i,s)=>s&1&&i==n)||t.push(this.data[o],n)}}return t}configure(e){let t=Object.assign(Object.create(r.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let o=this.topRules[e.top];if(!o)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=o}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(o=>{let n=e.tokenizers.find(i=>i.from==o);return n?n.to:o})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((o,n)=>{let i=e.specializers.find(a=>a.from==o.external);if(!i)return o;let s=Object.assign(Object.assign({},o),{external:i.to});return t.specializers[n]=us(s),s})),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),o=t.map(()=>!1);if(e)for(let i of e.split(" ")){let s=t.indexOf(i);s>=0&&(o[s]=!0)}let n=null;for(let i=0;i<t.length;i++)if(!o[i])for(let s=this.dialects[t[i]],a;(a=this.data[s++])!=65535;)(n||(n=new Uint8Array(this.maxTerm+1)))[a]=1;return new Oo(e,o,n)}static deserialize(e){return new r(e)}};function Le(r,e){return r[e]|r[e+1]<<16}function Fl(r){let e=null;for(let t of r){let o=t.p.stoppedAt;(t.pos==t.p.stream.end||o!=null&&t.pos>o)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function us(r){if(r.external){let e=r.extend?1:0;return(t,o)=>r.external(t,o)<<1|e}return r.get}var $t=Pr.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 Ce=require("@vuu-ui/vuu-utils");var ne,Fo=class{constructor(){Kt(this,ne,void 0)}setFilterCombinatorOp(e,t=ce(this,ne)){(0,Ce.isMultiClauseFilter)(t)&&t.op===e||xt(this,ne,{op:e,filters:[ce(this,ne)]})}add(e){if(ce(this,ne)===void 0)xt(this,ne,e);else if((0,Ce.isMultiClauseFilter)(ce(this,ne)))ce(this,ne).filters.push(e);else throw Error("Invalid filter passed to FilterExpression")}setColumn(e,t=ce(this,ne)){if((0,Ce.isMultiClauseFilter)(t)){let o=t.filters.at(-1);o&&this.setColumn(e,o)}else t&&(t.column=e)}setOp(e,t=ce(this,ne)){if((0,Ce.isMultiClauseFilter)(t)){let o=t.filters.at(-1);o&&this.setOp(e,o)}else t&&(t.op=e)}setValue(e,t=ce(this,ne)){var o;if((0,Ce.isMultiClauseFilter)(t)){let n=t.filters.at(-1);n&&this.setValue(e,n)}else(0,Ce.isMultiValueFilter)(t)?((o=t.values)!=null||(t.values=[]),t.values.push(e)):(0,Ce.isSingleValueFilter)(t)&&(t.value=e)}toJSON(e=ce(this,ne)){return this.name?{...e,name:this.name}:e}};ne=new WeakMap;var Lr=(r,e)=>{let t=new Fo,o=r.cursor();do{let{name:n,from:i,to:s}=o;switch(n){case"ColumnValueExpression":t.add({});break;case"ColumnSetExpression":t.add({op:"in"});break;case"Or":case"And":t.setFilterCombinatorOp(e.substring(i,s));break;case"Column":t.setColumn(e.substring(i,s));break;case"Operator":t.setOp(e.substring(i,s));break;case"String":t.setValue(e.substring(i+1,s-1));break;case"Number":t.setValue(parseFloat(e.substring(i,s)));break;case"True":t.setValue(!0);break;case"False":t.setValue(!1);break;case"FilterName":t.name=e.substring(i,s);break;default:}}while(o.next());return t.toJSON()};var Qg=$t.configure({strict:!0});var ie=require("@vuu-ui/vuu-utils");var{info:av}=(0,ie.logger)("VuuDataSource"),{KEY:lv}=ie.metadataKeys;var Wt=require("@vuu-ui/vuu-utils"),ds=require("@salt-ds/core");var zt=require("react");var hs=require("react/jsx-runtime");var Mr=require("@vuu-ui/vuu-utils");var Vo=require("react");var Al=require("@salt-ds/core");var fs=require("react");var ms=require("react/jsx-runtime");var Vl=require("react");var Nl=require("react/jsx-runtime");var gs=require("react/jsx-runtime");var Ao=require("react"),vs=require("react/jsx-runtime");var bs=require("@vuu-ui/vuu-popups");var ys=require("react/jsx-runtime");typeof ar!="function"&&console.warn("StackLayout module not loaded, will be unsbale to deserialize from layout JSON");var{error:kb}=(0,Mr.logger)("Shell");var No=require("react"),_l=require("react/jsx-runtime"),Dl={},Vb=(0,No.createContext)(Dl);var Do=require("@salt-ds/core"),Hl=require("react");var ws=require("react/jsx-runtime");var xs=require("@vuu-ui/vuu-ui-controls"),Ye=require("react"),_o=({defaultFilters:r,filters:e,onFiltersChanged:t,tableSchema:o})=>{let[n,i]=(0,xs.useControlled)({controlled:e,default:r!=null?r:[],name:"useFilters",state:"Filters"}),{getApplicationSettings:s,saveApplicationSettings:a}=Nt(),l=(v,y)=>v.findIndex(b=>b.name===y)!==-1,u=(0,Ye.useCallback)((v,y)=>{if(o&&y){let b=s("filters"),E=b,{module:x,table:w}=o.table,T=`${x}:${w}`;b?b[T]?l(b[T],y)?E={...b,[T]:b[T].map(h=>h.name===y?{...v,name:y}:h)}:v!=null&&v.name&&(v==null?void 0:v.name)!==y&&l(b[T],v.name)?E={...b,[T]:b[T].map(h=>h.name===v.name?{...v,name:y}:h)}:E={...b,[T]:b[T].concat({...v,name:y})}:E={...b,[T]:[{...v,name:y}]}:E={[T]:[{...v,name:y}]},E!==b&&a(E,"filters")}},[s,a,o]),d=(0,Ye.useCallback)(v=>{var y;if(o&&v.name){let b=s("filters"),{module:E,table:x}=o.table,w=`${E}:${x}`;if(((y=b[w])==null?void 0:y.findIndex(T=>T.name===v.name))!==-1){let T={...b,[w]:b[w].filter(h=>h.name!==v.name)};a(T,"filters")}}},[s,a,o]),c=(0,Ye.useCallback)(v=>{let y=n.length,b=n.concat(v);return i(b),t==null||t(b),y},[n,t,i]),p=(0,Ye.useCallback)(v=>{console.log("handleDeleteFilter",{filter:v});let y=-1,b=n.filter((E,x)=>E!==v?!0:(y=x,!1));return i(b),t==null||t(b),d(v),y},[n,t,d,i]),f=(0,Ye.useCallback)((v,y)=>{let b=-1,E=n.map((x,w)=>x===v?(b=w,{...v,name:y}):x);return i(E),t==null||t(E),u(v,y),b},[n,t,u,i]),g=(0,Ye.useCallback)((v,y)=>{let b=-1,E=n.map((x,w)=>x===v?(b=w,y):x);return i(E),t==null||t(E),b},[n,t,i]);return{filters:n,onAddFilter:c,onChangeFilter:g,onDeleteFilter:p,onRenameFilter:f}};var Bl={},Cs=({activeFilterIndex:r=[],containerRef:e,filters:t,onApplyFilter:o,onChangeActiveFilterIndex:n,onFiltersChanged:i,showMenu:s,tableSchema:a})=>{let l=(0,F.useRef)(null),u=(0,F.useRef)(),[d,c]=(0,F.useState)(r),[p,f]=(0,F.useState)(s),[g,v]=(0,F.useState)(),[y,b]=(0,F.useState)(null),{filters:E,onAddFilter:x,onChangeFilter:w,onDeleteFilter:T,onRenameFilter:h}=_o({filters:t,onFiltersChanged:i,tableSchema:a}),m=(0,F.useCallback)(R=>{requestAnimationFrame(()=>{var V;let k=(V=e.current)==null?void 0:V.querySelectorAll(".vuuFilterPill");if(k!=null&&k[R]){let W=k[R].querySelector(".vuuEditableLabel");W&&(0,yt.dispatchMouseEvent)(W,"dblclick")}})},[e]),S=(0,F.useCallback)((R=0)=>{requestAnimationFrame(()=>{var V;let k=(V=e.current)==null?void 0:V.querySelector(".vuuFilterClause .saltInput-input");k&&k.focus()})},[e]),L=(0,F.useCallback)(R=>{requestAnimationFrame(()=>{var V,W;let k=typeof R=="number"?(V=e.current)==null?void 0:V.querySelector(`.vuuOverflowContainer-item[data-index="${R}"] .vuuFilterPill`):(W=e.current)==null?void 0:W.querySelector(".vuuFilterPill[tabindex]");k&&k.focus()})},[e]),P=(0,F.useCallback)(R=>{let k=R?(0,yt.filterAsQuery)(R):"";o({filter:k,filterStruct:R})},[o]),C=(0,F.useCallback)(R=>{let k=E.indexOf(R);d.includes(k)&&c(d.filter(W=>W!==k));let V=T==null?void 0:T(R);d.includes(V)&&c(W=>W.filter(we=>we!==V)),requestAnimationFrame(()=>{E.length&&L(0)})},[d,E,L,T]),M=(0,F.useMemo)(()=>R=>{let k=()=>{b(null),L()};return{confirmButtonLabel:"Remove",icon:"warn-triangle",onCancel:k,onClose:k,onConfirm:()=>{b(null),C(R)},text:`Are you sure you want to delete ${R.name}`,title:"Remove Filter",variant:"warn"}},[C,L]),O=(0,F.useCallback)((R,k)=>{k?b(M(R)):C(R)},[C,M]),D=(0,F.useCallback)(R=>{u.current=R},[]),A=(0,F.useCallback)((R,k="")=>{if(u.current){let V=h(u.current,k);u.current=void 0,L(V)}},[L,h]),N=(0,F.useCallback)(({menuId:R,options:k})=>{switch(R){case"delete-filter":{let{filter:V}=k;return O(V,!0),!0}case"rename-filter":{let{filter:V}=k,W=E.indexOf(V);return m(W),!0}case"edit-filter":{let{filter:V}=k;return u.current=V,v(V),S(),!0}default:return!1}},[O,m,E,S]),q=(0,F.useCallback)((R,k)=>{if(k===void 0){let V=x(R);return m(V),V}else return w(k,R)},[m,x,w]),$=(0,F.useCallback)(({menuId:R})=>{switch(R){case"apply-save":{let V=q(g,u.current);return c($l(V)),v(void 0),u.current=void 0,f(!1),!0}case"and-clause":{let k=hr(g,Bl);return v(k),f(!1),!0}case"or-clause":return v(k=>hr(k,{},{combineWith:"or"})),f(!1),!0;default:return!1}},[g,q]);(0,F.useEffect)(()=>{if(d.length>0){let R=d.map(k=>E[k]);if(R.length===1){let[k]=R;P(k)}else P({op:"and",filters:R})}else P()},[d,P,E]);let Q=(0,F.useCallback)(R=>{c(R),n==null||n(R)},[n]),ee=(0,F.useCallback)(()=>{v({})},[v]),le=(0,F.useCallback)(()=>{v(void 0)},[]),ue={onBeginEdit:D,onMenuAction:N,onExitEditMode:A},Se=(0,F.useCallback)(R=>{if(console.log(`handleCHangeFilterClause ${JSON.stringify(R)}`),R!==void 0){let k=eo(g,R);v(k),f(!0)}},[g]),tt=(0,F.useCallback)(R=>{R==="Backspace"&&(0,yt.isMultiClauseFilter)(g)&&v(Yr(g))},[g]),Ar=(0,F.useCallback)(R=>{let k=R.target,V=R.relatedTarget,W=k.closest(".vuuFilterClause");if(!(W!=null&&W.contains(V))){let we=k.getAttribute("aria-owns"),Dr=we?document.getElementById(we):null;Dr!=null&&Dr.contains(V)||f(!0)}},[]),Vr=(0,F.useCallback)(()=>{f(!1)},[]),Nr=(0,F.useCallback)(R=>{R.key==="Escape"&&g!==void 0&&(v(void 0),requestAnimationFrame(()=>{}))},[g]),Hs=(0,F.useCallback)(R=>{var V;console.log(`keydown from List ${R.key}`);let{current:k}=e;if(R.key==="Backspace"&&k){R.preventDefault();let W=Array.from(k.querySelectorAll(".vuuFilterClauseField"));if(W.length>0){let we=W.at(-1);(V=we==null?void 0:we.querySelector("input"))==null||V.focus()}f(!1)}else if(R.key==="Tab")if(R.shiftKey&&k){let W=Array.from(k.querySelectorAll(".vuuFilterClause-clearButton"));if(W.length>0){let we=W.at(-1);setTimeout(()=>{we.focus()},100)}}else console.log("apply current selection")},[e]),Bs=(0,F.useCallback)(R=>{R.key==="ArrowLeft"&&console.log("navgiate to the Toolbar")},[]),$s=(0,F.useCallback)(R=>{var k;R==="end"&&((k=l.current)==null||k.focus())},[]);return{activeFilterIndex:d,addButtonProps:{ref:l,onKeyDown:Bs},editFilter:g,filters:E,onBlurFilterClause:Ar,onCancelFilterClause:tt,onChangeActiveFilterIndex:Q,onClickAddFilter:ee,onClickRemoveFilter:le,onChangeFilterClause:Se,onFocusFilterClause:Vr,onKeyDownFilterbar:Nr,onKeyDownMenu:Hs,onMenuAction:$,onNavigateOutOfBounds:$s,pillProps:ue,promptProps:y,showMenu:p}},$l=r=>e=>e.includes(r)?e:e.concat(r);var Ts=require("@vuu-ui/vuu-popups");var Rr=require("react"),Ss=()=>{let r=(0,Rr.useCallback)(()=>[{label:"You have no saved filters for this table",action:"no-action"}],[]),e=(0,Rr.useMemo)(()=>t=>(console.log("invoke menuId ",{action:t}),!1),[]);return{menuBuilder:r,menuActionHandler:e}};var Ho=require("react/jsx-runtime"),Es=()=>{let r="vuuFilterBarMenu",{menuBuilder:e,menuActionHandler:t}=Ss();return(0,Ho.jsx)("div",{className:r,children:(0,Ho.jsx)(Ts.PopupMenu,{icon:"tune",menuBuilder:e,menuActionHandler:t,tabIndex:-1})})};var He=require("react/jsx-runtime"),kr=require("react"),Ut="vuuFilterBar",Wl=({activeFilterIndex:r=[],FilterClauseEditorProps:e,className:t,filters:o,onApplyFilter:n,onChangeActiveFilterIndex:i,onFiltersChanged:s,showMenu:a=!1,tableSchema:l,...u})=>{let d=(0,Ls.useRef)(null),{activeFilterIndex:c,addButtonProps:p,editFilter:f,filters:g,onBlurFilterClause:v,onCancelFilterClause:y,onClickAddFilter:b,onClickRemoveFilter:E,onChangeFilterClause:x,onChangeActiveFilterIndex:w,onFocusFilterClause:T,onNavigateOutOfBounds:h,onKeyDownFilterbar:m,onKeyDownMenu:S,onMenuAction:L,pillProps:P,promptProps:C,showMenu:M}=Cs({activeFilterIndex:r,containerRef:d,filters:o,onApplyFilter:n,onChangeActiveFilterIndex:i,onFiltersChanged:s,showMenu:a,tableSchema:l}),O=I(Ut,t,{[`${Ut}-display`]:f===void 0,[`${Ut}-edit`]:f!==void 0});return(0,He.jsxs)("div",{...u,className:O,onKeyDown:m,ref:d,children:[(0,He.jsx)(Es,{}),(0,He.jsx)(zn,{activeItemIndex:c,height:28,onActiveChange:w,onNavigateOutOfBounds:h,selectionStrategy:"multiple-special-key",children:(()=>{let A=[];if(f===void 0)return g.forEach((N,q)=>{A.push((0,kr.createElement)(oo,{...P,filter:N,key:`filter-${q}`}))}),A;if(f)return ft(f).forEach((q,$)=>{A.push((0,kr.createElement)(Zr,{...e,filterClause:q,key:`editor-${$}`,onCancel:y,onChange:x,onBlur:v,onFocus:T,tableSchema:l}))}),M&&A.push((0,He.jsx)(Qr,{onMenuAction:L,ListProps:{onKeyDownCapture:S}},"menu")),A.push((0,He.jsx)(Bo.Button,{className:`${Ut}-remove`,"data-align":"right","data-icon":"cross",onClick:E,variant:"primary"},"filter-remove")),A})()}),f===void 0?(0,kr.createElement)(Bo.Button,{...p,className:`${Ut}-add`,"data-icon":"plus","data-selectable":!1,key:"filter-add",onClick:b,tabIndex:0,variant:"primary"}):null,C?(0,He.jsx)(Ps.Prompt,{...C,PopupProps:{anchorElement:d,offsetTop:16,placement:"below-center"}}):null]})};var zo=require("@salt-ds/core");var z=require("@vuu-ui/vuu-codemirror");var Be=require("react");var ye=require("@vuu-ui/vuu-codemirror");var zl=ye.LRLanguage.define({name:"VuuFilterQuery",parser:$t.configure({props:[(0,ye.styleTags)({Identifier:ye.tags.variableName,String:ye.tags.string,Or:ye.tags.emphasis,Operator:ye.tags.operator})]})}),Ms=()=>new ye.LanguageSupport(zl);var et=require("@vuu-ui/vuu-codemirror"),Ul=et.HighlightStyle.define([{tag:et.tags.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:et.tags.comment,color:"green",fontStyle:"italic"}]),Rs=(0,et.syntaxHighlighting)(Ul);var ks=require("@vuu-ui/vuu-codemirror"),Is=ks.EditorView.theme({"&":{color:"var(--vuuFilterEditor-color)",backgroundColor:"var(--vuuFilterEditor-background)",fontSize:"var(--vuuFilterEditor-fontSize)"},".cm-content":{caretColor:"var(--vuuFilterEditor-cursorColor)",padding:0},".cm-line":{lineHeight:"var(--vuuFilterEditor-lineHeight)"},"&.cm-focused .cm-cursor":{borderLeftColor:"var(--vuuFilterEditor-cursorColor)"},"&.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-scroller":{fontFamily:"var(--vuuFilterEditor-fontFamily)"},".cm-tooltip":{background:"var(--vuuFilterEditor-tooltipBackground)",border:"var(--vuuFilterEditor-tooltipBorder)",borderRadius:"4px",boxShadow:"var(--vuuFilterEditor-tooltipElevation)","&.cm-tooltip-autocomplete > ul":{fontFamily:"var(--vuuFilterEditor-fontFamily)",fontSize:"var(--vuuFilterEditor-fontSize)",maxHeight:"240px"},"&.cm-tooltip-autocomplete > ul > li":{alignItems:"center",display:"flex",height:"var(--vuuFilterEditor-suggestion-height)",padding:"0 3px",lineHeight:"var(--vuuFilterEditor-suggestion-height)"},"&.cm-tooltip-autocomplete li[aria-selected]":{background:"var(--vuuFilterEditor-suggestion-selectedBackground)",color:"var(--vuuFilterEditor-suggestion-selectedColor)"}},".cm-completionIcon":{height:"18px",flex:"0 0 16px"},".cm-completionLabel":{flex:"1 1 auto"},".cm-completionIcon-filter":{position:"relative","&:after":{background:"var(--salt-text-secondary-foreground)",content:"''","-webkit-mask":"var(--svg-filter) center center/13px 13px","-webkit-mask-repeat":"no-repeat",position:"absolute",height:"18px",left:"0px",top:"0px",width:"16px"}}},{dark:!1});var J=require("@vuu-ui/vuu-codemirror"),$o=require("react"),Os=(r,e)=>{let t=r.prevSibling||r.parent;for(;t&&!["Column","Operator","In"].includes(t.name);)t=t.prevSibling||t.parent;if((t==null?void 0:t.name)==="In"||(t==null?void 0:t.name)==="Operator")return(0,J.getValue)(t,e)},ql=(r,e,t)=>{let o=(0,J.getValue)(r,e);if(!(t===void 0||o===t)&&["contains","ends","starts"].some(n=>n.startsWith(o.toLowerCase())))return o},Fs=(r,e)=>{let t=r.prevSibling||r.parent||r.lastChild;for(;t&&t.name==="\u26A0";)t=t.prevSibling;if(t&&["As","Or","And"].includes(t.name))return(0,J.getValue)(t,e)},As=(r,e)=>{if(r.name==="FilterName")return(0,J.getValue)(r,e);{let t=r.prevSibling||r.parent||r.lastChild;for(;t&&t.name!=="FilterName";)t=t.prevSibling;if(t&&t.name==="FilterName")return(0,J.getValue)(r,e)}},Vs=(r,e)=>{let t=r.prevSibling;if((t==null?void 0:t.name)==="Column")return(0,J.getValue)(t,e);if((t==null?void 0:t.name)==="Operator")return Vs(t,e)},Ql=(r,e)=>{let t=r.lastChild,o=[];for(;t&&t.name!=="In";){let n=(0,J.getValue)(t,e);if(n)o.push(n);else break;t=t.prevSibling}return o};var Ns=(r,e,t)=>{let o=(0,$o.useCallback)(async(n,i,s={})=>{let{startsWith:a=""}=s,l=await r.getSuggestions(i,s);return{from:n.pos-a.length,options:l}},[r]);return(0,$o.useCallback)(async n=>{var d,c;let{state:i,pos:s}=n,a=(d=n.matchBefore(/\w*/))!=null?d:{from:0,to:0,text:void 0},u=(0,J.syntaxTree)(i).resolveInner(s,-1);switch(console.log({nodeBeforeName:u.name}),u.name){case"Filter":if(n.pos===0)return o(n,"column");if(Fs(u,i)==="as")return o(n,"name");{let f=As(u,i);return o(n,"save",{onSubmit:e.current,existingFilter:t,filterName:f})}case"String":{let p=Os(u,i),f=Vs(u,i),{from:g,to:v}=u;if(v-g===2&&n.pos===g+1){if(f&&p)return o(n,"columnValue",{columnName:f,operator:p,quoted:!0,startsWith:a.text})}else console.log(`we have a string, column is ${f} ${g} ${v}`)}break;case"As":return o(n,"name");case"FilterName":return o(n,"save",{onSubmit:e.current,existingFilter:t,filterName:As(u,i)});case"Column":{let p=(0,J.getValue)(u,i);return await r.isPartialMatch("column",void 0,p)?o(n,"column",{startsWith:p}):o(n,"operator",{columnName:p})}case"\u26A0":{let p=(0,J.getNodeByName)(u,i),f=Os(u,i),g=f?void 0:ql(u,i,p);return g?o(n,"operator",{columnName:p,startsWith:g}):o(n,"columnValue",{columnName:p,operator:f,startsWith:a.text})}case"Identifier":if(Fs(u,i)==="as")return{from:n.pos,options:[{label:"press ENTER to apply filter and save",apply:()=>e.current(),boost:5}]};break;case"ColumnSetExpression":case"Values":{let p=(0,J.getNodeByName)(u,i),f=Ql(u,i);return o(n,"columnValue",{columnName:p,selection:f})}case"Comma":case"LBrack":{let p=(0,J.getNodeByName)(u,i);return o(n,"columnValue",{columnName:p})}case"ColumnValueExpression":{let p=(c=u.lastChild)==null?void 0:c.prevSibling;if((p==null?void 0:p.name)==="Column")return o(n,"operator",{columnName:(0,J.getNodeByName)(u,i)});if((p==null?void 0:p.name)==="Operator")return o(n,"columnValue",{columnName:(0,J.getNodeByName)(p,i),operator:(0,J.getValue)(p,i)})}break;case"In":return{from:n.pos,options:[{label:"[",apply:" [",type:"text"}]};case"Eq":return o(n,"columnValue",{columnName:(0,J.getNodeByName)(u,i)});case"AndExpression":case"OrExpression":return o(n,"column");default:}},[t,o,e,r])};var qt=r=>{if(r.current==null)throw Error("EditorView not defined");return r.current},Gl=r=>I("vuuSuggestion",{vuuIllustration:r.isIllustration}),Jl=r=>{let e=r.lastIndexOf(" as ");return e!==-1?r.slice(0,e):r},Kl=()=>console.log("noooop"),Wo=({existingFilter:r,onSubmitFilter:e,suggestionProvider:t})=>{let o=(0,Be.useRef)(null),n=(0,Be.useRef)(Kl),i=(0,Be.useRef)(),s=Ns(t,n,r),[a,l]=(0,Be.useMemo)(()=>{let u=()=>{let v=qt(i),y=v.state.doc.toString(),b=(0,z.ensureSyntaxTree)(v.state,v.state.doc.length,5e3);if(b){let E=Lr(b,y);return[E,Jl(y),E.name]}else return[void 0,"",void 0]},d=()=>{qt(i).setState(g())},c=v=>{let[y,b,E]=u();e==null||e(y,b,v,E),d()},p=v=>z.keymap.of([{key:v,run(){return c(),!0}}]),f=v=>z.keymap.of([{key:v,run(){return(0,z.startCompletion)(qt(i)),!0}}]),g=()=>z.EditorState.create({doc:"",extensions:[z.minimalSetup,(0,z.autocompletion)({override:[s],optionClass:Gl}),Ms(),z.keymap.of(z.defaultKeymap),p("Ctrl-Enter"),f("ArrowDown"),z.EditorView.updateListener.of(v=>{let y=qt(i);v.docChanged&&(0,z.startCompletion)(y)}),z.EditorState.transactionFilter.of(v=>v.newDoc.lines>1?[]:v),Is,Rs]});return n.current=v=>{c(v),setTimeout(()=>{qt(i).focus()},100)},[g,d]},[s,e]);return(0,Be.useEffect)(()=>{if(!o.current)throw Error("editor not in dom");return i.current=new z.EditorView({state:a(),parent:o.current}),()=>{var u;(u=i.current)==null||u.destroy()}},[s,a]),{editorRef:o,clearInput:l}};var wt=require("react/jsx-runtime"),Ir="vuuFilterInput",Zl=({existingFilter:r,iconName:e="filter",namedFilters:t,onSubmitFilter:o,suggestionProvider:n,...i})=>{let{editorRef:s,clearInput:a}=Wo({existingFilter:r,onSubmitFilter:o,suggestionProvider:n});return(0,wt.jsxs)("div",{...i,className:Ir,children:[(0,wt.jsx)(zo.Button,{className:`${Ir}-FilterButton`,"data-icon":e,tabIndex:-1}),(0,wt.jsx)("div",{className:`${Ir}-Editor`,ref:s}),(0,wt.jsx)(zo.Button,{className:`${Ir}-ClearButton`,"data-icon":"close-circle",onClick:a})]})};var fe=require("@vuu-ui/vuu-codemirror"),Fr=require("@vuu-ui/vuu-data-react"),Gt=require("react");var Qt=require("@vuu-ui/vuu-utils"),Ds=(r,e)=>{let t=(0,Qt.createEl)("div","vuuFunctionDoc"),o=(0,Qt.createEl)("div","function-heading"),n=(0,Qt.createEl)("span","function-name",r);o.appendChild(n);let i=(0,Qt.createEl)("p",void 0,e);return t.appendChild(o),t.appendChild(i),t};var jl=[],Xl={},Yl=r=>[{label:"Press ENTER to create TAB",apply:()=>r("tab"),boost:6}],_s=(r,e,t=!0)=>{let o=e?[{label:"REPLACE existing filter",apply:()=>r("replace"),boost:8},{label:"AND existing filter",apply:()=>r("and"),boost:7},{label:"OR existing filter",apply:()=>r("or"),boost:7}]:[{label:"Press ENTER to submit",apply:()=>r(),boost:6}];return t?o.concat(fe.booleanJoinSuggestions).concat(fe.asNameSuggestion):o},eu=(r,e)=>_s(r,e,!0),tu=r=>_s(r,void 0),ru=({existingFilter:r,filterName:e,onSubmit:t,saveOptions:o})=>{let n=e&&o.allowSaveAsTab,i=r?eu(t,r):tu(t);return n?i.concat(Yl(t)):i},ou=r=>r.map(e=>({boost:5,label:e.name})),nu=r=>r?Array.from(r.entries()).map(([e,t])=>({info:()=>Ds(e,t),label:e,type:"filter"})):jl,iu={label:"Done",apply:"] ",type:"keyword",boost:10},Or=(r,e="")=>r.filter(t=>e===""||t.label.startsWith(e)).map(t=>({...t,apply:t.label+" "})),su={allowReplace:!0},au=({columns:r,namedFilters:e,saveOptions:t=su,table:o,typeaheadHook:n=Fr.useTypeaheadSuggestions})=>{let i=(0,Gt.useRef)(),s=n(),a=(0,Gt.useCallback)(async(u,d=Xl)=>{let{columnName:c,existingFilter:p,filterName:f,operator:g,quoted:v,onSubmit:y,startsWith:b,selection:E}=d;switch(u){case"operator":{let x=r.find(w=>w.name===c);if(x)switch(x.serverDataType){case"string":case"char":return Or(fe.stringOperators,b);case"int":case"long":case"double":return Or(fe.numericOperators)}else console.warn(`'${c}' does not match any column name`)}break;case"column":{let x=await ou(r),w=await nu(e);return(i.current=Or(x)).concat(Or(w))}case"columnValue":if(c){let x=r.find(S=>S.name===c);if(!x)throw Error(`useFilterSUggestionProvider no column ${c}`);let w=Array.isArray(E)?E.length===0?"[":",":"",T=(0,Fr.getTypeaheadParams)(o,c,b),h=await s(T),m=g==="starts";return i.current=(0,fe.toSuggestions)(h,{moveCursorToEnd:v,quoted:(x==null?void 0:x.serverDataType)==="string"&&!v,suffix:v?"":" ",prefix:m?b:w,isIllustration:m}),Array.isArray(E)&&(E==null?void 0:E.length)>1?[iu,...i.current]:i.current}break;case"save":{if(typeof y!="function")throw Error("useFilterSuggestionProvider, onSubmit must be supplied for 'save' suggestions");return await ru({existingFilter:p,filterName:f,onSubmit:y,saveOptions:t})}case"name":return await(0,fe.getNamePrompt)("filter");default:}return[]},[r,s,e,t,o]),l=(0,Gt.useCallback)(async(u,d,c)=>{let p=await a(u,{columnName:d});if(c&&p)for(let f of p){if(f.label===c)return!1;if(f.label.startsWith(c))return!0}return!1},[a]);return{getSuggestions:a,isPartialMatch:l}};var Ni=r=>{let e=localStorage.getItem(r);return e?JSON.parse(e):void 0},lu=r=>Object.entries(localStorage).filter(([e])=>e.includes(r)).map(([,e])=>JSON.parse(e)),Di=(r,e)=>{try{return localStorage.setItem(r,JSON.stringify(e)),e}catch{return}};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|