@vuu-ui/vuu-layout 0.8.26 → 0.8.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/index.js CHANGED
@@ -14,7 +14,7 @@
14
14
  />
15
15
  </path>
16
16
  </svg>
17
- `,document.body.insertBefore(t,e)}}var tt=class{constructor(){this.currentPath=null;this.tabMode=null;ga()}prepare(t,o="full-view"){document.body.classList.add("drawing"),this.currentPath=null,this.tabMode=o;let r=this.getPoints(0,0,0,0),n=Wr(r),a=document.getElementById("vuu-drop-outline");a==null||a.setAttribute("d",n),this.currentPath=n}clear(){et=null,Et(),document.body.classList.remove("drawing"),Rt.PopupService.hidePopup()}get hoverDropTarget(){return et}getPoints(t,o,r,n,a=0,i=0,s=0){let l=this.tabMode==="tab-only";if(i===0)return[[t,o+s],[t,o+s],[t,o],[t+i,o],[t+i,o],[t+r,o],[t+r,o+n],[t,o+n]];if(l){let c=a;return[[c,o],[c,o],[c+i,o],[c+i,o],[c+i,o+s],[c+i,o+s],[c,o+s],[c,o+s]]}else return a===0?[[t,o+s],[t,o+s],[t,o],[t+i,o],[t+i,o+s],[t+r,o+s],[t+r,o+n],[t,o+n]]:[[t,o+s],[t+a,o+s],[t+a,o],[t+a,o],[t+a,o+s],[t+r,o+s],[t+r,o+n],[t,o+n]]}draw(t,o){let n=wo;if(et!==null)this.drawTarget(et);else if(wo=t.nextDropTarget!=null,t.pos.tab?ya(t):re&&Et(),this.drawTarget(t,o),wo){let[a,i,s]=xo(t);{let l=(0,Yr.jsx)(vo,{dropTarget:t,onHover:da,orientation:s});Rt.PopupService.showPopup({left:a,top:i,component:l})}}else Rt.PopupService.hidePopup()}drawTarget(t,o){let n=t.getTargetDropOutline(6,o);if(n){let{l:a,t:i,r:s,b:l,tabLeft:c,tabWidth:u,tabHeight:d,guideLines:p}=n,m=s-a,h=l-i;if(this.currentPath){let R=document.getElementById("vuu-drop-outline");R==null||R.setAttribute("d",this.currentPath)}let g=this.getPoints(a,i,m,h,c,u,d),y=Wr(g),f=document.getElementById("hw-drop-outline-animate");f==null||f.setAttribute("to",y),f==null||f.beginElement(),this.currentPath=y;let x=document.getElementById("hw-drop-guides");x==null||x.setAttribute("d",ha(p))}}},Ur="transition:margin-left .4s ease-out;margin-left: 63px",Jr="transition:margin-left .4s ease-out;margin-left: 0px";function ya(e){var s,l;let{AFTER:t,BEFORE:o}=Ke,{clientRect:{Stack:r},pos:{tab:n}}=e,{id:a}=e.component.props,i=null;if(r&&n&&n.positionRelativeToTab!==t){let c=n.positionRelativeToTab===o?1:2,u=`:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${n.index+c})`;i=(s=document.getElementById(a))==null?void 0:s.querySelector(u),i?(re===null||re!==i)&&(i.style.cssText=Ur,re&&(re.style.cssText=Jr),re=i):Et()}else(n==null?void 0:n.positionRelativeToTab)===o?re===null&&(i=(l=document.getElementById(a))==null?void 0:l.querySelector(".vuuHeader-title"),i.style.cssText=Ur,re=i):Et()}function Et(){re&&(re.style.cssText=Jr,re=null)}var ue,ot,ge,Xr,jr,Ce,Dt,Me=null,Eo,qr,Tt,Qr,Ro,St=null,ba=3,Pt=new tt,Zr=.4;function xa(e,t){return t?F(e,t):se(e,o=>o.dropTarget)}var Mt={handleMousedown(e,t,o={}){ue=t,qr=o,Xr=e.clientX,jr=e.clientY,Ro=o.dragThreshold===void 0?ba:o.dragThreshold,Ro===0?ue(e,0,0):(window.addEventListener("mousemove",Lt,!1),window.addEventListener("mouseup",Ct,!1),St=window.setTimeout(()=>{window.removeEventListener("mousemove",Lt,!1),window.removeEventListener("mouseup",Ct,!1),ue==null||ue(e,0,0)},500)),e.preventDefault()},initDrag(e,t,{top:o,left:r,right:n,bottom:a},i,s,l,c){return{drag:ot,drop:ge}=s,va(e,t,{top:o,left:r,right:n,bottom:a},i,l,c)}};function Lt(e){let r=e.clientX-Xr,n=e.clientY-jr;Math.max(Math.abs(r),Math.abs(n))>Ro&&(window.removeEventListener("mousemove",Lt,!1),window.removeEventListener("mouseup",Ct,!1),ue==null||ue(e,r,n),ue=null)}function Ct(){St&&(window.clearTimeout(St),St=null),window.removeEventListener("mousemove",Lt,!1),window.removeEventListener("mouseup",Ct,!1)}function va(e,t,o,r,n,a){Ce=xa(e,t);let{"data-path":i,path:s=i}=D(Ce);a&&(Eo=a.map(p=>se(e,m=>m.id===p)).map(p=>p.props.path)),Tt=Ve.measure(Ce,a);let l=Tt[s];Dt=new vt(l,r.x,r.y,o,n);let c=Math.round(Dt.x.mousePct*100),u=Math.round(Dt.y.mousePct*100);return window.addEventListener("mousemove",Kr,!1),window.addEventListener("mouseup",tn,!1),window.addEventListener("keydown",en,!1),Qr=!1,Pt.prepare(o,"tab-only"),qr.DoNotTransform?"transform:none":`transform:scale(${Zr},${Zr});transform-origin:${c}% ${u}%;`}function Kr(e){let t=e.clientX,o=e.clientY,r=Dt,n=Me,a,i,s;r.update("x",t)&&(i=r.x.pos),r.update("y",o)&&(s=r.y.pos),i===void 0&&s===void 0||ot==null||ot(i,s),!(Qr||Ce===void 0)&&(r.inBounds()?a=wt(t,o,Ce,Tt,r.hasIntrinsicSize(),Eo):a=wt(r.dropX(),r.dropY(),Ce,Tt),n&&(a==null||a.box!==n.box)&&(Me=null),a&&(Pt.draw(a,r),Me=a))}function en(e){e.key==="Escape"&&(Me=null,on())}function tn(){on()}function on(){if(Me){let e=Pt.hoverDropTarget||Le.getActiveDropTarget(Me);ge==null||ge(e),Me=null}else ge==null||ge();ot=null,ge=null,Ce=void 0,Pt.clear(),Eo=void 0,window.removeEventListener("mousemove",Kr,!1),window.removeEventListener("mouseup",tn,!1),window.removeEventListener("keydown",en,!1)}var rn=C(require("clsx")),nn=require("react");var sn=require("react/jsx-runtime"),Do=(0,nn.forwardRef)(function({children:t,className:o,dropTarget:r,resizeable:n,...a},i){let s=(0,rn.default)("DraggableLayout",o);return(0,sn.jsx)("div",{className:s,ref:i,...a,children:t})}),an="DraggableLayout";Do.displayName=an;N(an,Do,"container");var ri=require("@salt-ds/core"),ni=C(require("clsx")),ii=require("react");var ti=require("@vuu-ui/vuu-utils"),B=C(require("react"));var Zn=C(require("clsx"));var Jn=require("@salt-ds/core"),Wt=require("react");var we=require("react");var W=require("react");var To=require("@vuu-ui/vuu-utils"),Po=C(require("react"));var wa={"data-placeholder":!0,"data-resizeable":!0},kt={},ye="auto",So={flexBasis:0,flexGrow:1,flexShrink:1,height:ye,width:ye},ln={height:"width",width:"height"},Lo=(e="row")=>e==="row"?["width","height","column"]:["height","width","row"],Ra=e=>typeof e=="string"&&e.endsWith("%"),Z=e=>{let{style:{width:t=ye,height:o=ye}=kt}=e.props,r=typeof o=="number",n=typeof t=="number";return r&&n?{height:o,width:t}:r?{height:o}:n?{width:t}:void 0};function At(e,t,o){let r=ln[t],{style:{[r]:n=ye,...a}=kt}=e.props;return o&&o[t]?{...a,...So,flexBasis:o[t],flexGrow:0,flexShrink:0}:{...a,...So,[r]:n}}function Co(e){let{style:{flex:t,flexGrow:o,flexShrink:r,flexBasis:n}=kt}=e.props;return typeof t=="number"||n===0&&o===1&&r===1?!0:typeof n!="number"}function zt(e,t,o){let r=ln[t],{style:{[t]:n=ye,[r]:a=ye,...i}=kt}=e.props;return n!==ye?Ra(n)?{flexBasis:0,flexGrow:1,flexShrink:1,[t]:void 0,[r]:a}:{flexBasis:n,flexGrow:0,flexShrink:0,[t]:n,[r]:a}:o&&o[t]?{...i,...So,flexBasis:o[t],flexGrow:0,flexShrink:0}:{...i,[r]:a}}function _e(e,t,o,r,n){let a=[],i=0,s;if(r&&n){let u,[d,p,m,h]=n;[u,s]=t==="column"?[p-r.top,r.bottom-h]:[d-r.left,r.right-m],u&&a.push(te(`${o}.${i++}`,u,{flexGrow:0,flexShrink:0}))}else s=!0;let{version:l=0,style:c}=D(e);return a.push(H(e,`${o}.${i++}`,{version:l+1,style:{...c,flexBasis:"auto",flexGrow:0,flexShrink:0}})),s&&a.push(te(`${o}.${i++}`,0,void 0,{[`data-${t}-placeholder`]:!0})),It(t,{resizeable:!1,style:{flexBasis:"auto"}},a,o)}var Ea=(e,t)=>{if(!t)return e===0?1:0};function It(e,t,o,r){let n=(0,To.uuid)(),{flexFill:a,style:i,resizeable:s=!0}=t,{flexBasis:l=a?void 0:"auto"}=i,c=Ea(l,a);return Po.default.createElement(me.Flexbox,{id:n,key:n,path:r,flexFill:a,style:{...i,flexDirection:e,flexBasis:l,flexGrow:c,flexShrink:c},resizeable:s},o)}var Da={flexGrow:1,flexShrink:1};function te(e,t,o,r){let n=(0,To.uuid)();return Po.default.createElement("div",{...wa,...r,"data-path":e,id:n,key:n,style:{...Da,...o,flexBasis:t}})}var $t=C(require("react"));var Ho=require("@vuu-ui/vuu-utils"),We=C(require("react"));var Io=require("@vuu-ui/vuu-utils"),be=C(require("react"));var ke=require("react"),_=new Map,oe=new Map,Mo=e=>_.get(e),ko=e=>_.has(e),Ao=(e,t)=>_.set(e,t),Ae=()=>{let e=(0,ke.useCallback)((i,s)=>{let l=oe.get(i);if(l)return s!==void 0&&l[s]!==void 0?l[s]:s!==void 0?void 0:l},[]),t=(0,ke.useCallback)((i,s,l)=>{if(s===void 0)oe.set(i,l);else if(oe.has(i)){let c=oe.get(i);oe.set(i,{...c,[s]:l})}else oe.set(i,{[s]:l})},[]),o=(0,ke.useCallback)((i,s)=>{if(oe.has(i)){if(s===void 0)oe.delete(i);else if(oe.get(i)[s]){let{[s]:c,...u}=oe.get(i);Object.keys(u).length>0?oe.set(i,u):oe.delete(i)}}},[]),r=(0,ke.useCallback)((i,s)=>{let l=_.get(i);if(l)return s!==void 0?l[s]:l},[]),n=(0,ke.useCallback)((i,s,l)=>{if(s===void 0)_.set(i,l);else if(_.has(i)){let c=_.get(i);_.set(i,{...c,[s]:l})}else _.set(i,{[s]:l})},[]),a=(0,ke.useCallback)((i,s)=>{if(_.has(i)){if(s===void 0)_.delete(i);else if(_.get(i)[s]){let{[s]:c,...u}=_.get(i);Object.keys(u).length>0?_.set(i,u):_.delete(i)}}},[]);return{loadSessionState:e,loadState:r,saveSessionState:t,saveState:n,purgeState:a,purgeSessionState:o}};var Bo=e=>e.flexDirection==="column"?["height","width"]:["width","height"],Sa={},Ge=(e,t="0")=>{let[o,r]=Ot(S(e),e.props,t);return be.default.cloneElement(e,o,r)},Bt=(e,t)=>{let o=S(e),[r,n]=Ot(o,e.props,"0",void 0,t);return(0,be.cloneElement)(e,r,n)},Ta=(e,t,o)=>{let[r,n]=Ot(e,t,"0",void 0,o);return{...t,...r,type:e,children:n}};function Pa(e,t,o="0",r=null,n){var g,y;let{active:a=0,"data-path":i,path:s=i,id:l,style:c}=D(n),u=S(n)===e&&o===s,d=u?l:(g=t.id)!=null?g:(0,Io.uuid)(),p=e==="Stack"?(y=t.active)!=null?y:a:void 0,m=d,h=u?c:Ca(e,t,r);return no(e)?{id:d,key:m,path:o,style:h,type:e,active:p}:{id:d,key:m,style:h,"data-path":o}}function Ot(e,t,o,r=null,n){var c,u;let a=Pa(e,t,o,r,n);if(t.layout&&!n)return[a,[xe(t.layout,`${o}.0`)]];let i=(u=n==null?void 0:n.children)!=null?u:(c=n==null?void 0:n.props)==null?void 0:c.children,l=t.dropTarget&&i?i:La(e,t.children,o,i);return[a,l]}function La(e,t,o="0",r){let n=Array.isArray(t)?t:be.default.isValidElement(t)?[t]:[];return V(e)?n.map((a,i)=>{let s=S(a),l=S(r==null?void 0:r[i]);if(!l||s===l){let[c,u]=Ot(s,a.props,`${o}.${i}`,e,r==null?void 0:r[i]);return be.default.cloneElement(a,c,u)}return r==null?void 0:r[i]}):t}var Ca=(e,t,o)=>{let{style:r=Sa}=t;if(e==="Flexbox"&&(r={flexDirection:t.column?"column":"row",...r,display:"flex"}),r.flex){let{flex:n,...a}=r;r={...a,...xt(typeof n=="number"?n:0)}}else o==="Stack"?r={...r,...xt(1)}:o==="Flexbox"&&(r.width||r.height)&&r.flexBasis===void 0&&(r={...r,flexBasis:"auto",flexGrow:0,flexShrink:0});return r};function xe({id:e=(0,Io.uuid)(),type:t,children:o,props:r,state:n},a){let i=t.match(/^[a-z]/)?t:me[t];if(i===void 0)throw Error(`layoutUtils unable to create component from JSON, unknown type ${t}`);return n&&Ao(e,n),be.default.createElement(i,{id:e,...r,key:e,path:a},o?o.map((s,l)=>xe(s,`${a}.${l}`)):void 0)}function Oo(e){return No(e)}function No(e){let t=S(e),{id:o,children:r,type:n,...a}=D(e),i=ko(o)?Mo(o):void 0;return{id:o,type:t,props:cn(a),state:i,children:be.default.Children.map(r,No)}}function cn(e){if(e){let{path:t,...o}=e,r={};for(let[n,a]of Object.entries(o))r[n]=zo(a);return r}}function zo(e){if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return e.map(zo);if(typeof e=="object"&&e!==null){let t={};for(let[o,r]of Object.entries(e))t[o]=zo(r);return t}}var Fo=(e,t,o)=>{if(t&&o){let r=K(o,t);if(r){let{id:n}=D(r),a=S(r);return{parentContainerId:n,parentContainerType:a}}return{parentContainerType:"Stack",parentContainerId:"blah"}}},ze=(e,t,o=[])=>{var n,a,i;let r=(i=(n=e.props)==null?void 0:n.title)!=null?i:(a=e.props)==null?void 0:a["data-tab-title"];if(r)return r;{let s=t;do r=`Tab ${++s}`;while(o.includes(r));return r}};function un(e,t){var i;let o=e.props.children,r=o.length,{index:n=-1,positionRelativeToTab:a="after"}=t.tab||{};return n===-1||n>=r?[o[r-1],"after"]:[(i=o[n])!=null?i:null,a]}function Nt(e,t,o){let{active:r,children:n=[],path:a}=D(e),i=P(t,"path"),{idx:s,finalStep:l}=ee(a,i,!0),[c,u]=l?Aa(e,n,o):[r,n==null?void 0:n.map((p,m)=>m===s?Nt(p,t,o):p)],d=S(e)==="Stack"?Array.isArray(c)?c[0]:c:r;return We.default.cloneElement(e,{active:d},u)}var Ma=(e,t,o,r)=>e==="Stack"?ze(t,o,r):void 0,ka=e=>e.map(t=>t.props.title);function Aa(e,t,o){let r=P(e,"path"),n=t==null?void 0:t.length,{id:a=(0,Ho.uuid)(),title:i=Ma(S(e),o,n!=null?n:0,ka(t))}=D(o);return n?[n,t.concat(H(o,`${r}.${n}`,{id:a,key:a,title:i}))]:[0,[H(o,`${r}.0`,{id:a,title:i})]]}function Ft(e,t,o,r,n,a,i){let{active:s,children:l,path:c}=D(e),u=P(t,"path"),{idx:d,finalStep:p}=ee(c,u),[m,h]=p?za(e,l,d,o,r,n,a,i):[s,l.map((y,f)=>f===d?Ft(y,t,o,r,n,a,i):y)],g=S(e)==="Stack"?m:s;return We.default.cloneElement(e,{active:g},h)}function za(e,t,o,r,n,a,i,s){let l=Z(r);return l!=null&&l.width&&(l!=null&&l.height)?Ba(e,t,o,r,n,i,s):pn(e,t,o,r,n,(a==null?void 0:a.width)||(a==null?void 0:a.height),i)}var Ia=(e,t,{top:o,right:r,bottom:n,left:a},[i,s,l,c])=>{if(e==="column"&&t==="before")return s-o;if(e==="column")return n-c;if(e==="row"&&t==="before")return i-a;if(e==="row")return r-l};function Ba(e,t,o,r,n,a,i){let{style:{flexDirection:s}}=D(e),[l,c,u]=Lo(s),{[c]:d,[l]:p}=Z(r),m=P(t[o],"path"),h=Ia(s,n,a,i),[g,y]=d<a[c]?[_e(r,u,m,a,i),p]:[r,void 0],f=h?te(m,h,{flexGrow:0,flexShrink:0}):void 0;return d>a[c]&&(t=t.map(x=>{if(P(x,"placeholder"))return x;{let{[c]:R}=Z(x);return R&&R<d?_e(x,u,P(x,"path")):x}})),pn(e,t,o,g,n,y,a,f)}function pn(e,t,o,r,n,a,i,s){let l=P(e,"path"),c=0,u=!t||t.length===0?[r]:t.reduce((d,p,m)=>{if(o===m){let[h,g]=Oa(e,p,r,i);n==="before"?s?d.push(s,g,h):d.push(g,h):s?d.push(h,g,s):d.push(h,g),c=d.indexOf(g)}else d.push(p);return d},[]).map((d,p)=>p<c?d:H(d,`${l}.${p}`));return[c,u]}function Oa(e,t,o,r){let n=(0,Ho.uuid)(),{version:a=0}=D(o);if(a+=1,S(e)==="Flexbox"){let[i]=Bo(e.props.style),s=6,l={[i]:(r[i]-s)/2},c=zt(t,i,l),u=zt(o,i,l);return[We.default.cloneElement(t,{style:c}),We.default.cloneElement(o,{id:n,version:a,style:u})]}else{let{style:{left:i,top:s,flex:l,...c}={left:void 0,top:void 0,flex:void 0}}=D(o);return[t,We.default.cloneElement(o,{id:n,version:a,style:{...c,flex:"1 1 0px"}})]}}var mn=require("react");var rt=C(require("react"));var Ie={ADD:"add",BLUR:"blur",BLUR_SPLITTER:"blur-splitter",DRAG_START:"drag-start",DRAG_STARTED:"drag-started",DRAG_DROP:"drag-drop",FOCUS:"focus",FOCUS_SPLITTER:"focus-splitter",INITIALIZE:"initialize",LAYOUT_RESIZE:"layout-resize",MAXIMIZE:"maximize",MINIMIZE:"minimize",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAR_OUT:"tear-out"};function dn(e,{target:t,replacement:o}){return $o(e,t,o)}function $o(e,t,o){let r=P(t,"path"),n=P(t,"resizeable"),{style:a}=D(t),i=Ge(rt.default.cloneElement(o,{resizeable:n,style:{...a,...o.props.style}}),r);return G(e,t,i)}function G(e,t,o,r){if(e===t)return o;let{idx:n,finalStep:a}=ee(P(e,"path"),P(t,"path")),i=e.props.children.slice();return a?r?r===Ie.MINIMIZE?i[n]=Na(e,i[n]):r===Ie.RESTORE&&(i[n]=Fa(i[n])):i[n]=o:i[n]=G(i[n],t,o,r),rt.default.cloneElement(e,void 0,i)}function Na(e,t){let{style:o}=D(e),{style:r}=D(t),{width:n,height:a,flexBasis:i,flexShrink:s,flexGrow:l,...c}=r,u={width:n,height:a,flexBasis:i,flexShrink:s,flexGrow:l},d={...c,flexBasis:0,flexGrow:0,flexShrink:0},p=o.flexDirection==="row"?"vertical":o.flexDirection==="column"?"horizontal":!1;return p?rt.default.cloneElement(t,{collapsed:p,restoreStyle:u,style:d}):t}function Fa(e){let{style:t,restoreStyle:o}=D(e),{flexBasis:r,flexShrink:n,flexGrow:a,...i}=t,s={...i,...o};return rt.default.cloneElement(e,{collapsed:!1,style:s,restoreStyle:void 0})}function fn(e,{fromIndex:t,path:o,toIndex:r}){let n=F(e,o,!0),{children:a}=D(n),i=Ha(a,t,r),s=(0,mn.cloneElement)(n,void 0,i);return G(e,n,s)}function Ha(e,t,o){let r=e.slice(),[n]=r.splice(t,1);return o===-1?r.concat(n):(r.splice(o,0,n),r)}var $={ADD:"add",DRAG_START:"drag-start",DRAG_DROP:"drag-drop",LAYOUT_RESIZE:"layout-resize",MAXIMIZE:"maximize",MINIMIZE:"minimize",MOVE_CHILD:"move-child",QUERY:"query",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_PROP:"set-prop",SET_PROPS:"set-props",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAROUT:"tearout"},$a=e=>["switch-active-layout","open-layout","close-layout","rename-layout"].includes(e),Va=e=>["switch-active-tab","edit-feature-title","save-feature-props","remove-component","resize-component","drag-drop-operation"].includes(e);var ve=C(require("react"));function Vo(e,{path:t}){let o=F(e,t),r=K(e,t);if(r===null)return e;let{children:n}=D(r);if(n.length>1&&S(r)!=="Stack"&&gn(n,t)){let{style:{flexBasis:a,display:i,flexDirection:s,...l}}=D(r),c=P(r,"path"),u=G(e,r,te(c,a,l));for(;(r=K(u,c))&&P(r,"path")!=="0";){let{children:d}=D(r);if(gn(d)){c=P(r,"path");let{style:{flexBasis:p,display:m,flexDirection:h,...g}}=D(r);u=G(e,r,te(c,p,g))}else if(Ua(d))u=xn(e,r);else break}return u}return yn(e,o)}function yn(e,t){let o=D(e),{children:r,path:n,preserve:a}=o,{active:i,id:s}=o,{idx:l,finalStep:c}=ee(n,P(t,"path")),u=S(e),d=r.slice();if(c){if(d.splice(l,1),i!==void 0&&i>=l&&(i=Math.max(0,i-1)),d.length===0&&a&&u==="Stack"){let{path:p,style:{flexBasis:m}}=D(t),h=s==="main-tabs"?xe({props:{style:{flexGrow:1,flexShrink:1,flexBasis:m},title:"Tab 1"},type:"Placeholder"},p):te(p,m);d.push(h)}else if(d.length===1&&!a&&n!=="0"&&u.match(/Flexbox|Stack/))return _a(e,d[0]);!d.some(Ga)&&d.some(bn)&&(d=Wa(d))}else d[l]=yn(d[l],t);return d=d.map((p,m)=>H(p,`${n}.${m}`)),ve.default.cloneElement(e,{active:i},d)}function _a(e,t){let o=S(e),{path:r,style:{flexBasis:n,flexGrow:a,flexShrink:i,width:s,height:l}}=D(e),c=H(t,r);if(r==="0")c=ve.default.cloneElement(c,{style:{...t.props.style,width:s,height:l}});else if(o==="Flexbox"){let u=e.props.style.flexDirection==="column"?"height":"width",{style:{[u]:d,...p}}=c.props;c=ve.default.cloneElement(c,{flexFill:void 0,style:{...p,flexGrow:a,flexShrink:i,flexBasis:n,width:s,height:l}})}return c}var Ga=e=>e.props.style.flexGrow>0,bn=e=>{let{width:t,height:o,flexGrow:r}=e.props.style;return r===0&&typeof t!="number"&&typeof o!="number"},Wa=e=>e.map(t=>bn(t)?ve.default.cloneElement(t,{style:{...t.props.style,flexGrow:1}}):t),Ua=e=>{if(e&&e.length>0){let t=P(e[0],"placeholder"),o=!1;for(let r=1;r<e.length;r++){if(o=P(e[r],"placeholder"),t&&o)return!0;t=o}}},xn=(e,t)=>{let{children:o,path:r}=D(e),{idx:n,finalStep:a}=ee(r,P(t,"path")),i=o.slice();return a?i[n]=Ja(t):i[n]=xn(i[n],t),i=i.map((s,l)=>H(s,`${r}.${l}`)),ve.default.cloneElement(e,void 0,i)},Ja=e=>{let{children:t}=D(e),o=[],r=[];for(let a=0;a<t.length;a++)P(t[a],"placeholder")?r.push(t[a]):(r.length===1?o.push(r.pop()):r.length>0&&(o.push(hn(r)),r.length=0),o.push(t[a]));r.length===1?o.push(r.pop()):r.length>0&&o.push(hn(r));let n=P(e,"path");return ve.default.cloneElement(e,void 0,o.map((a,i)=>H(a,`${n}.${i}`)))},hn=([e,...t])=>{let o=P(e,"style"),{flexBasis:r,flexGrow:n,flexShrink:a}=o;for(let{props:{style:i}}of t)r+=i.flexBasis,n=Math.max(n,i.flexGrow),a=Math.max(a,i.flexShrink);return ve.default.cloneElement(e,{style:{...o,flexBasis:r,flexGrow:n,flexShrink:a}})},gn=(e,t)=>e.every(o=>P(o,"placeholder")||t&&P(o,"path")===t);var Ht=C(require("react"));function vn(e,{path:t,size:o}){let r=F(e,t,!0),{style:n}=D(r),a={...n,width:o},i=Ht.default.cloneElement(r,{style:a});return G(e,r,i)}function wn(e,{path:t,sizes:o}){let r=F(e,t,!0),{children:n,style:a}=D(r),i=a.flexDirection==="column"?"height":"width",s=Ya(n,o,i),l=Ht.default.cloneElement(r,void 0,s);return G(e,r,l)}function Ya(e,t,o){return e.map((r,n)=>{let{style:{[o]:a,flexBasis:i}}=D(r),s=t[n],{currentSize:l,flexBasis:c}=s,d=l!==void 0?s.currentSize:c;return d===void 0||a===d||i===d?r:Ht.default.cloneElement(r,{style:Za(r.props.style,o,d)})})}function Za(e,t,o){let r=typeof e[t]=="number",{flexShrink:n=1,flexGrow:a=1}=e;return{...e,[t]:r?o:"auto",flexBasis:r?"auto":o,flexShrink:n,flexGrow:a}}var Rn=require("@vuu-ui/vuu-utils"),nt=C(require("react"));var En=e=>{let[t]=S(e);return t===t.toLowerCase()};function it(e,t,o,r,n,a){let{children:i,path:s}=D(e),l=P(t,"path"),{idx:c,finalStep:u}=ee(s,l),d=u?Xa(e,i,t,o,r,n,a):i.map((p,m)=>m===c?it(p,t,o,r,n,a):p);return nt.default.cloneElement(e,void 0,d)}function Xa(e,t,o,r,n,a,i){let s=Z(r);if(s!=null&&s.width&&(s!=null&&s.height)){if(a===void 0||i===void 0)throw Error("wrap-layout-element, updateChildren clientRect and dropRect must both be available");return qa(t,o,r,n,a,i)}return ja(e,t,o,r,n)}function ja(e,t,o,r,n){var v;let{version:a=0}=D(r),{path:i,title:s}=D(o),{type:l,flexDirection:c,showTabs:u}=Sn(n),[d,p,m]=Qa(l,o,r,c,n),h=Dn(n),g=h?1:0,y={resizeable:!0,style:m,version:a+1},x={[En(o)?"data-resizeable":"resizeable"]:!0,style:p},R=l==="Stack"?{showTabs:u}:void 0,w=l==="Flexbox"?{splitterSize:(v=S(e)==="Flexbox"&&e.props.splitterSize)!=null?v:void 0}:void 0,E=(0,Rn.uuid)(),b=nt.default.createElement(me[l],{active:g,id:E,key:E,path:P(o,"path"),flexFill:P(o,"flexFill"),...w,...R,style:d,title:s,resizeable:P(o,"resizeable")},h?[H(o,`${i}.0`,x),Ge(nt.default.cloneElement(r,y),`${i}.1`)]:[Ge(nt.default.cloneElement(r,y),`${i}.0`),H(o,`${i}.1`,x)]);return t.map(T=>T===o?b:T)}function qa(e,t,o,r,n,a){let{flexDirection:i}=Sn(r),s=i==="column"?"row":"column",l=Dn(r),[c,u,d,p]=a,[m,h]=i==="column"?[u-n.top,n.bottom-p]:[c-n.left,n.right-d],g=P(t,"path"),y=0,f=En(t)?"data-resizeable":"resizeable",x=[];m&&x.push(l?H(t,`${g}.${y++}`,{[f]:!0,style:{flexBasis:m,flexGrow:1,flexShrink:1}}):te(`${g}.${y++}`,m,{flexGrow:0,flexShrink:0})),x.push(_e(o,s,`${g}.${y++}`,n,a)),h&&x.push(l?te(`${g}.${y++}`,0):H(t,`${g}.${y++}`,{[f]:!0,style:{flexBasis:0,flexGrow:1,flexShrink:1}}));let R=It(i,t.props,x,g);return e.map(w=>w===t?R:w)}function Qa(e,t,o,r,n){let a={...t.props.style,flexDirection:r},i=e==="Flexbox"&&r==="column"?"height":"width",s=At(o,i,n),l=At(t,i);return[a,l,s]}var Dn=e=>{var t;return e.position.SouthOrEast?!0:((t=e==null?void 0:e.tab)==null?void 0:t.positionRelativeToTab)==="before"?!1:!!e.position.Header};function Sn(e){return e.position.Header?{type:"Stack",flexDirection:"column",showTabs:!0}:{type:"Flexbox",flexDirection:e.position.EastOrWest?"row":"column"}}var _o=(e,t)=>{switch(t.type){case $.ADD:return rs(e,t);case $.DRAG_DROP:return os(e,t);case $.MAXIMIZE:return ts(e,t);case $.REMOVE:return Vo(e,t);case $.REPLACE:return dn(e,t);case $.SET_PROP:return Tn(e,t);case $.SET_PROPS:return es(e,t);case $.SET_TITLE:return Tn(e,{type:"set-prop",path:t.path,propName:"title",propValue:t.title});case $.SPLITTER_RESIZE:return wn(e,t);case $.LAYOUT_RESIZE:return vn(e,t);case $.SWITCH_TAB:return Ka(e,t);case $.MOVE_CHILD:return fn(e,t);default:return e}},Ka=(e,{path:t,nextIdx:o})=>{let r=F(e,t,!0),n=$t.default.cloneElement(r,{active:o});return G(e,r,n)},Tn=(e,{path:t,propName:o,propValue:r})=>{let n=F(e,t,!0),a=$t.default.cloneElement(n,{[o]:r});return G(e,n,a)},es=(e,{path:t,props:o})=>{let r=F(e,t,!0),n=$t.default.cloneElement(r,o);return G(e,r,n)},ts=(e,{path:t,type:o})=>{if(t){let r=F(e,t,!0);return G(e,r,r,o)}else return e},os=(e,t)=>{var h,g;let{draggedReactElement:o,dragInstructions:r,dropTarget:n}=t,a=n.component,{pos:i}=n,s=((h=i==null?void 0:i.position)==null?void 0:h.Header)&&S(a)==="Stack",{id:l,version:c}=D(o),u=Z(o),d;if(s){let[y,f]=un(a,i);y===void 0?d=Nt(e,a,o):d=Ft(e,y,o,f)}else!u&&((g=i==null?void 0:i.position)!=null&&g.Centre)?d=$o(e,a,o):d=ns(e,n,o);if(r.DoNotRemove)return d;let p=se(d,y=>y.id===l&&y.version===c),m=P(p,"path");return Vo(d,{path:m,type:"remove"})},rs=(e,{path:t,component:o})=>Nt(e,F(e,t),o),ns=(e,t,o)=>{let{component:r,pos:n,clientRect:a,dropRect:i}=t,s=r,l=P(s,"path");if(l==="0.0")return it(e,s,o,n);let c=K(e,l);if(Pn(n,c)){let u=n.position.SouthOrEast?"after":"before";return Ft(e,s,o,u,n,a,i)}if(!Pn(n,c))return it(e,s,o,n,a,i);if(V(S(c)))return it(e,s,o,n);throw Error(`no support right now for position = ${n.position}`)},Pn=(e,t)=>e.position.Centre?Cn(t)||Ln(t):e.position.NorthOrSouth?Ln(t):e.position.EastOrWest?Cn(t):!1,Ln=e=>S(e)==="Flexbox"&&e.props.style.flexDirection==="column",Cn=e=>S(e)==="Flexbox"&&e.props.style.flexDirection!=="column";var Mn=require("react"),is=e=>console.log(`dispatch ${e.type}, have you forgotten to provide a LayoutProvider ?`),Ue=(0,Mn.createContext)({dispatchLayoutProvider:is,version:-1});var pe=require("react");var as={},kn=[0,0],ss=(e,t,o)=>{let r=document.createElement("div");r.className="vuuSimpleDraggableWrapper",r.classList.add("vuuSimpleDraggableWrapper","salt-theme","salt-density-medium"),r.dataset.dragging="true";let n=o!=null?o:document.createElement("div");n.id=t,r.appendChild(n),document.body.appendChild(r);let a=`top:${e.top}px;left:${e.left}px;width:${e.width}px;height:${e.height}px;`;return[r,a,e.left,e.top]},ls=e=>{let{offsetParent:t}=e;if(t===null)return kn;{let{left:o,top:r}=t.getBoundingClientRect();return[o,r]}},An=(e,t,o)=>{let r=(0,pe.useRef)(),n=(0,pe.useRef)(),a=(0,pe.useRef)(),i=(0,pe.useCallback)((u,d)=>{if(n.current&&a.current){let{dragOffsets:[p,m],targetPosition:h}=n.current,g=typeof u=="number"?u-p:h.left,y=typeof d=="number"?d-m:h.top;(g!==h.left||y!==h.top)&&(n.current.targetPosition.left=g,n.current.targetPosition.top=y,a.current.style.top=y+"px",a.current.style.left=g+"px")}},[]),s=(0,pe.useCallback)(u=>{if(n.current){let{dragInstructions:d,payload:p,originalCSS:m}=n.current;u&&t({type:"drag-drop",draggedReactElement:p,dragInstructions:d,dropTarget:u}),a.current&&(!u&&d.DriftHomeIfNoDropTarget?(console.log("drift back to start"),document.body.removeChild(a.current)):d.RemoveDraggableOnDragEnd?document.body.removeChild(a.current):(a.current.style.cssText=m,delete a.current.dataset.dragging)),r.current=void 0,n.current=void 0,a.current=void 0}},[t]),l=(0,pe.useCallback)(u=>{if(r.current){let{payload:d,dragContainerPath:p,dragElement:m,dragRect:h,instructions:g=as,path:y}=r.current,{current:f}=e,x={x:u.clientX,y:u.clientY},R=d!=null?d:F(f,y,!0),{id:w}=R.props,E=Z(R),b="",v="",T="",M=-1,L=-1,k=kn,O=document.getElementById(w);if(O===null)[O,v,M,L]=ss(h,w,m);else{k=ls(O);let[I,A]=k,{width:j,height:q,left:De,top:Se}=O.getBoundingClientRect();M=De-I,L=Se-A,v=`width:${j}px;height:${q}px;left:${M}px;top:${L}px;z-index: 100;background-color:#ccc;opacity: 0.6;`,O.dataset.dragging="true",b=O.style.cssText}T=Mt.initDrag(e.current,p,h,x,{drag:i,drop:s},E),O.style.cssText=v+T,a.current=O,n.current={payload:R,originalCSS:b,dragRect:h,dragOffsets:k,dragInstructions:g,targetPosition:{left:M,top:L}}}},[i,s,e]);return(0,pe.useCallback)(u=>{let{evt:d,...p}=u;r.current={...p,dragContainerPath:bt(e.current,o)},Mt.handleMousedown(d,l,p.instructions)},[l,o,e])};var Wo=require("react/jsx-runtime"),zn=e=>e.dropTarget,cs=e=>["drag-drop","remove","set-title","splitter-resize","switch-tab"].includes(e.type),In=e=>{switch(e.type){case"switch-tab":return e.id==="main-tabs"?"switch-active-layout":"switch-active-tab";case"save":return"save-feature-props";case"drag-drop":return"drag-drop-operation";case"remove":return"remove-component";case"splitter-resize":return"resize-component";case"set-title":return"edit-feature-title";default:throw Error("unknown layout action")}},us=()=>{let e=Bn();return(0,Wo.jsx)("div",{children:`Context: ${e} `})},ps=e=>{let{children:t,createNewChild:o,pathToDropTarget:r,layout:n,onLayoutChange:a}=e,i=(0,W.useRef)(void 0),s=(0,W.useRef)(t),[,l]=(0,W.useState)(null),c=(0,W.useCallback)((m,h)=>{if(a){let g=se(m,zn)||i.current,f=S(g)==="DraggableLayout"?D(g).children[0]:g,x=Oo(f);a(x,h)}},[a]),u=(0,W.useCallback)((m,h=!1)=>{let g=_o(i.current,m);g!==i.current&&(i.current=g,l({}),!h&&cs(m)&&c(g,In(m)))},[l,c]),d=(0,W.useCallback)(m=>{switch(m.type){case"drag-start":{p(m);break}case"save":{c(i.current,In(m));break}case"query":if(m.query==="PARENT_CONTAINER")return Fo(m.query,m.path,i.current);break;default:{u(m);break}}},[u,c]),p=An(i,d,r);return(0,W.useEffect)(()=>{if(n){let m=se(i.current,zn);if(m){let h=co(m),g=xe(n,`${m.props.path}.0`),y=h?{type:$.REPLACE,target:h,replacement:g}:{type:$.ADD,path:m.props.path,component:g};u(y,!0)}else if(n.id===P(i.current,"id")){let h=xe(n,"0"),g={type:$.REPLACE,target:i.current,replacement:h};u(g,!0)}}},[u,n]),i.current===void 0?i.current=Bt(t):t!==s.current&&(i.current=Bt(t,i.current),s.current=t),(0,Wo.jsx)(Ue.Provider,{value:{createNewChild:o,dispatchLayoutProvider:d,version:0},children:i.current})},ne=()=>{let{dispatchLayoutProvider:e}=(0,W.useContext)(Ue);return e},Go=()=>{let{createNewChild:e}=(0,W.useContext)(Ue);return e},Bn=()=>{let{version:e}=(0,W.useContext)(Ue);return e};var at=(e,t,o,r)=>{var y;let{loadSessionState:n,purgeSessionState:a,purgeState:i,saveSessionState:s}=Ae(),[l,c]=(0,we.useState)((y=n(e,"contributions"))!=null?y:[]),u=ne(),d=(0,we.useCallback)((f,x)=>{let R=l.concat([{location:f,content:x}]);s(e,"contributions",R),c(R)},[l,e,s]),p=(0,we.useCallback)(()=>{a(e,"contributions"),c([])},[e,a]),m=(0,we.useCallback)(()=>{let f=n(e,"data-source");f&&f.unsubscribe(),a(e),i(e),u({type:"remove",path:o})},[u,e,n,a,i,o]),h=(0,we.useCallback)(async(f,x,R)=>{var E;f.stopPropagation();let w=(E=t.current)==null?void 0:E.getBoundingClientRect();return new Promise((b,v)=>{u({type:"drag-start",evt:f,path:x===void 0?o:`${o}.${x}`,dragRect:w,preDragActivity:R,dropTargets:r,resolveDragStart:b,rejectDragStart:v})})},[t,u,o,r]);return[(0,we.useCallback)(async(f,x)=>{var w;let{type:R}=f;switch(R){case"maximize":case"minimize":case"restore":return u({type:R,path:(w=f.path)!=null?w:o});case"remove":return m();case"mousedown":return h(x,f.index,f.preDragActivity);case"add-toolbar-contribution":return d(f.location,f.content);case"remove-toolbar-contribution":return p();case"query":return u({type:R,path:f.path,query:f.query});default:return}},[u,o,m,h,d,p]),l]};var _n=require("@vuu-ui/vuu-utils"),Gn=require("@salt-ds/core"),Wn=C(require("clsx")),U=C(require("react"));var Vt=require("@vuu-ui/vuu-ui-controls"),_t=C(require("clsx")),Re=require("react");var Je=require("react/jsx-runtime"),Uo="vuuHeader",Jo=({className:e,contributions:t,collapsed:o,closeable:r,onEditTitle:n,orientation:a="horizontal",style:i,title:s="Untitled"})=>{let l=(0,Re.useRef)(null),[c,u]=(0,Re.useState)(s),[d,p]=(0,Re.useState)(!1),m=Yo(),h=L=>m==null?void 0:m({type:"remove"},L),g=()=>{var L;(L=l.current)==null||L.focus()},y=L=>{L.stopPropagation()},x=(0,_t.default)(Uo,e,`${Uo}-${o||a}`),R=()=>{p(!0)},w=L=>{L.key==="Enter"&&p(!0)},E=(L="",k="",O=!0,I=!1)=>{var A;p(!1),I?u(L):k!==L&&(u(k),n==null||n(k)),O===!1&&((A=l.current)==null||A.focus())},b=L=>{m==null||m({type:"mousedown"},L)},v=[],T=[],M=[];return t==null||t.forEach((L,k)=>{switch(L.location){case"pre-title":v.push((0,Re.cloneElement)(L.content,{key:k}));break;default:T.push((0,Re.cloneElement)(L.content,{key:k}))}}),s&&v.push((0,Je.jsx)(Vt.EditableLabel,{className:`${Uo}-title`,editing:d,value:c,onChange:u,onMouseDownCapture:g,onEnterEditMode:R,onExitEditMode:E,onKeyDown:w,ref:l,tabIndex:0},"title")),r&&M.push((0,Je.jsx)(Vt.IconButton,{icon:"close",onClick:h,onMouseDown:y,variant:"secondary"},"close")),T.length>0&&v.push((0,Je.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:T},"contributions")),M.length>0&&v.push((0,Je.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:M},"actions")),(0,Je.jsx)("div",{className:(0,_t.default)("vuuToolbarProxy",x),style:i,onMouseDown:b,children:v})};var ie=require("react");var On=({id:e,rootRef:t,path:o,dropTargets:r,title:n})=>{let a=ne(),{loadState:i,loadSessionState:s,purgeState:l,saveState:c,saveSessionState:u}=Ae(),[d,p]=at(e,t,o,r),m=(0,ie.useMemo)(()=>{var b;return(b=i("view-title"))!=null?b:n},[i,n]),h=(0,ie.useCallback)(b=>{o&&a({type:"set-title",path:o,title:b})},[a,o]),g=(0,ie.useMemo)(()=>i(e),[e,i]),y=(0,ie.useCallback)(b=>i(e,b),[e,i]),f=(0,ie.useCallback)(b=>{l(e,b),a({type:"save"})},[e,a,l]),x=(0,ie.useCallback)((b,v)=>{c(e,v,b),a({type:"save"})},[e,a,c]),R=(0,ie.useCallback)(b=>s(e,b),[e,s]),w=(0,ie.useCallback)((b,v)=>u(e,v,b),[e,u]),E=(0,ie.useCallback)(({type:b,...v})=>{let{[b]:T}=v;x(T,b)},[x]);return{contributions:p,dispatchViewAction:d,load:y,loadSession:R,onConfigChange:E,onEditTitle:h,purge:f,restoredState:g,save:x,saveSession:w,title:m}};var ae=require("react");var Oe=require("react"),Xo=["height","width"],ds=["height"],ms=["width"],Be=new WeakMap,Nn=(e,t,o)=>{switch(o){case"height":return t.height;case"scrollHeight":return e.scrollHeight;case"scrollWidth":return e.scrollWidth;case"width":return t.width;default:return 0}},Zo=new ResizeObserver(e=>{for(let t of e){let{target:o,contentRect:r}=t,n=Be.get(o);if(n){let{onResize:a,measurements:i}=n,s=!1;for(let[l,c]of Object.entries(i)){let u=Nn(o,r,l);u!==c&&(s=!0,i[l]=u)}s&&a&&a(i)}}});function st(e,t,o,r=!1){let n=(0,Oe.useRef)(t),a=(0,Oe.useCallback)(i=>{let s=i.getBoundingClientRect();return n.current.reduce((l,c)=>(l[c]=Nn(i,s,c),l),{})},[]);(0,Oe.useLayoutEffect)(()=>{let i=e.current,s=!1;async function l(){Be.set(i,{measurements:{}}),s=!1;let{fonts:c}=document;if(c&&await c.ready,!s){let u=Be.get(i);if(u){let d=a(i);u.measurements=d,Zo.observe(i),r&&o(d)}}}if(i){if(Be.has(i))throw Error("useResizeObserver attemping to observe same element twice");l()}return()=>{i&&Be.has(i)&&(Zo.unobserve(i),Be.delete(i),s=!0)}},[e,a,r,o]),(0,Oe.useLayoutEffect)(()=>{let i=e.current,s=Be.get(i);if(s){if(n.current!==t){n.current=t;let l=a(i);s.measurements=l}s.onResize=o}},[t,a,e,o])}function fs(e,t){let o=document.body.querySelector(`.${e}`),r={get:function(n,a){let i=n.getPropertyValue(`--${e}-breakpoint-${a}`);return i?parseInt(i):void 0}};return o?new Proxy(getComputedStyle(o),r):t!=null?t:{}}var hs=([,e],[,t])=>t-e,qo=e=>Object.entries(e).sort(hs).map(([t,o],r,n)=>[t,o,r<n.length-1?n[r+1][1]:9999]),jo=null,gs=(e="salt")=>{let{xs:t,sm:o,md:r,lg:n,xl:a}=fs(e);return qo({xs:t,sm:o,md:r,lg:n,xl:a})},Fn=e=>(jo===null&&(jo=gs(e)),jo);var ys=[],Qo=({breakPoints:e,smallerThan:t},o)=>{let[r,n]=(0,ae.useState)(t?!1:"lg"),a=(0,ae.useRef)(document.body),i=(0,ae.useRef)(e?qo(e):Fn()),s=(0,ae.useRef)("lg"),l=(0,ae.useCallback)(u=>{if(i.current){for(let[d,p]of i.current)if(u>=p)return d}},[i]),c=(0,ae.useCallback)(u=>{if(t){let d=i.current.find(([p])=>p===t);if(d){let[,,p]=d;return u<p}}else return l(u);return u},[t,l]);return st(o||a,i.current?["width"]:ys,({width:u})=>{let d=c(u);d!==s.current&&(s.current=d,n(d))},!0),(0,ae.useEffect)(()=>{let u=o||a;if(u.current){let d=s.current;if(i.current){let{clientWidth:p}=u.current,m=c(p);s.current=m,m!==d&&n(m)}}},[n,c,o]),r};var Hn="data-collapsible",bs={[Hn]:!0,"data-pad-start":!0,"data-pad-end":!0},$n=e=>{var t;return(t=bs[e])!=null?t:!1},xs=e=>e===Hn,vs={dynamic:"dynamic",instant:"instant",true:"instant"},ws=e=>{var t;return(t=vs[e])!=null?t:"none"},Rs=e=>Object.keys(e).reduce((t,o)=>{let[r,n]=t;if($n(o)){let a=xs(o)?ws(e[o]):e[o];r[o]=a,n[o]=void 0}return t},[{},{}]);var Ye=require("react"),Es=[],Vn=({mainRef:e,resize:t="responsive",rootRef:o})=>{let r=t==="defer",n=(0,Ye.useRef)({}),a=(0,Ye.useRef)(),i=(0,Ye.useCallback)(()=>{e.current&&(e.current.style.height=n.current.height+"px",e.current.style.width=n.current.width+"px"),a.current=void 0},[e]),s=(0,Ye.useCallback)(({height:l,width:c})=>{n.current.height=l,n.current.width=c,a.current!==null&&clearTimeout(a.current),a.current=window.setTimeout(i,40)},[i]);st(o,r?Xo:Es,s,r)};var lt=C(require("react")),Ds={dispatch:null},ct=lt.default.createContext(Ds),Yo=()=>{var t;let e=(0,lt.useContext)(ct);return(t=e==null?void 0:e.dispatch)!=null?t:null},Ko=()=>(0,lt.useContext)(ct);var Ze=require("react/jsx-runtime"),ut="vuuView",Ss=(e,t)=>e&&t?{...e,...t}:e||t,Un=(0,U.forwardRef)(function(t,o){let{Header:r=Jo,children:n,className:a,collapsed:i,closeable:s,"data-path":l,"data-resizeable":c,dropTargets:u,expanded:d,flexFill:p,id:m,header:h,orientation:g="horizontal",path:y=l,resize:f="responsive",resizeable:x=c,tearOut:R,style:w={},title:E,...b}=t,v=(0,_n.useId)(m),T=(0,U.useRef)(null),M=(0,U.useRef)(null),[L,k]=(0,U.useState)(),{contributions:O,dispatchViewAction:I,load:A,loadSession:j,onConfigChange:q,onEditTitle:De,purge:Se,restoredState:hr,save:gr,saveSession:yr,title:ro}=On({id:v,rootRef:T,path:y,dropTargets:u,title:E});Vn({mainRef:M,resize:f,rootRef:T});let br=(0,U.useCallback)(Mi=>{k(Mi)},[]),Pi=()=>U.default.isValidElement(n)&&(hr||L)?U.default.cloneElement(n,Ss(hr,L)):n,Li=(0,U.useMemo)(()=>({dispatch:I,id:v,path:y,title:ro,load:A,loadSession:j,onConfigChange:q,purge:Se,save:gr,saveSession:yr,setComponentProps:br}),[I,v,A,j,q,y,Se,gr,yr,br,ro]),Ci=typeof h=="object"?h:{};return(0,Ze.jsx)("div",{...b,className:(0,Wn.default)(ut,a,{[`${ut}-collapsed`]:i,[`${ut}-expanded`]:d,[`${ut}-resize-defer`]:f==="defer"}),"data-resizeable":x,id:v,ref:(0,Gn.useForkRef)(o,T),style:w,tabIndex:-1,children:(0,Ze.jsxs)(ct.Provider,{value:Li,children:[h?(0,Ze.jsx)(r,{...Ci,collapsed:i,contributions:O,expanded:d,closeable:s,onEditTitle:De,orientation:g,tearOut:R,title:ro}):null,(0,Ze.jsx)("div",{className:`${ut}-main`,ref:M,children:Pi()})]})})});Un.displayName="View";var Ne=U.default.memo(Un);Ne.displayName="View";N("View",Ne,"view");var de=require("react/jsx-runtime"),Gt="vuuLayoutStartPanel",Yn=e=>{let{dispatch:t,path:o}=Ko(),[r,n]=(0,Wt.useState)();return(0,Wt.useMemo)(()=>{t==null||t({type:"query",path:o,query:"PARENT_CONTAINER"}).then(i=>{(i==null?void 0:i.parentContainerId)==="main-tabs"?n("initial"):n("nested")})},[t,o]),r===void 0?null:(0,de.jsxs)("div",{...e,className:Gt,children:[r==="initial"?(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)("header",{className:`${Gt}-title`,children:"Start by adding a table"}),(0,de.jsx)("div",{className:`${Gt}-text`,children:"To add a table, drag any of the Vuu Tables to this area or click the button below"})]}):null,(0,de.jsx)(Jn.Button,{className:`${Gt}-addButton`,"data-icon":"add",variant:"cta"})]})};var Fe=require("react/jsx-runtime"),Ts="vuuPlaceholder",Ps=({showStartMenu:e=!0})=>(0,Fe.jsx)(Fe.Fragment,{children:e?(0,Fe.jsx)(Yn,{}):null}),He=({className:e,showStartMenu:t,...o})=>{let r=(0,Zn.default)(Ts,e);return(0,Fe.jsx)(Ne,{...o,className:r,"data-placeholder":!0,resizeable:!0,children:(0,Fe.jsx)(Ps,{showStartMenu:t})})};He.displayName="Placeholder";N("Placeholder",He);var Xn=C(require("clsx")),J=C(require("react"));var er=require("react/jsx-runtime"),Ut="vuuSplitter",jn=J.default.memo(function({column:t,index:o,onDrag:r,onDragEnd:n,onDragStart:a,style:i}){let s=(0,J.useRef)(),l=(0,J.useRef)(null),c=(0,J.useRef)(0),[u,d]=(0,J.useState)(!1),p=(0,J.useCallback)(({key:b,shiftKey:v})=>{let T=v?10:1;t&&b==="ArrowDown"?r(o,T):t&&b==="ArrowUp"||!t&&b==="ArrowLeft"?r(o,-T):!t&&b==="ArrowRight"&&r(o,T)},[t,o,r]),m=(0,J.useCallback)(b=>{let{key:v}=b;(t&&(v==="ArrowUp"||v==="ArrowDown")||!t&&(v==="ArrowLeft"||v==="ArrowRight"))&&(a(o),p(b),h.current=p)},[t,p,o,a]),h=(0,J.useRef)(m),g=b=>h.current(b),y=(0,J.useCallback)(b=>{s.current=!0;let v=b[t?"clientY":"clientX"],T=v-c.current;v&&v!==c.current&&r(o,T),c.current=v},[t,o,r]),f=(0,J.useCallback)(()=>{var b;window.removeEventListener("mousemove",y,!1),window.removeEventListener("mouseup",f,!1),n(),d(!1),(b=l.current)==null||b.focus()},[y,n,d]),x=(0,J.useCallback)(b=>{c.current=t?b.clientY:b.clientX,a(o),window.addEventListener("mousemove",y,!1),window.addEventListener("mouseup",f,!1),b.preventDefault(),d(!0)},[t,y,f,o,a,d]),R=()=>{var b;s.current?s.current=!1:(b=l.current)==null||b.focus()},w=()=>{h.current=m},E=(0,Xn.default)(Ut,{[`${Ut}-active`]:u,[`${Ut}-column`]:t});return(0,er.jsx)("div",{className:E,"data-splitter":!0,ref:l,role:"separator",style:i,onBlur:w,onClick:R,onKeyDown:g,onMouseDown:x,tabIndex:0,children:(0,er.jsx)("div",{className:`${Ut}-grab-zone`})})});var Ls={},pt=1,dt=2,Cs=e=>typeof e.intrinsicSize=="number",Ms=(e,t)=>{let o={};return e.forEach(r=>{o[r]=P(t,r)}),o},Jt=(e,t,o)=>e.map((r,n)=>{var l;let a=P(r,"resizeable"),{[t]:i}=(l=Z(r))!=null?l:Ls,s=Co(r);return o?{index:n,flexOpen:s,intrinsicSize:i,resizeable:a,...Ms(o,r)}:{index:n,flexOpen:s,intrinsicSize:i,resizeable:a}}),qn=e=>{let t=e.length,o=e.every(Cs),r=Array(t).fill(0);if(o&&t>0&&(r[0]=dt,r[t-1]=dt),t<2)return r;for(let n=0,a=0;n<t-1;n++)e[n].resizeable&&!a&&(a=pt),r[n]+=a;for(let n=t-1;n>0&&(r[n]&pt&&(r[n]-=pt),!e[n].resizeable);n--);return r},Qn=(e,t)=>{let o=As(e,t),r=zs(e,t),n=o!==-1&&r!==-1?[o,r]:void 0,a=ks(e,n);return[n,a]};function ks(e,t){if(t){let o=[];for(let r=0;r<e.length;r++)e[r].flexOpen&&!t.includes(r)&&o.push(r);return o}}function As(e,t){let o=t,r=!1;for(;o>=1&&!r;)o=o-1,r=Kn(e,o);return o}function zs(e,t){let o=t,r=!1,n=e.length;for(;o<n-1&&!r;)o=o+1,r=Kn(e,o);return o===n?-1:o}function Kn(e,t){let{placeholder:o,splitter:r,resizeable:n,intrinsicSize:a}=e[t];return!!(!r&&!a&&(o||n))}var Is=e=>!e.splitter&&!e.placeholder,oi=({children:e,onSplitterMoved:t,style:o})=>{let r=(0,B.useRef)(null),n=(0,B.useRef)(),a=(0,B.useRef)(),i=(0,B.useRef)([]),[,s]=(0,B.useState)({}),l=y=>{a.current=y,s({})},c=(o==null?void 0:o.flexDirection)==="column",u=c?"height":"width",d=(0,B.useMemo)(()=>Array.isArray(e)?e:B.default.isValidElement(e)?[e]:[],[e]),p=(0,B.useCallback)(y=>{let{current:f}=n;if(f){let[x,R]=Qn(f,y);x&&(x.forEach(w=>{var b;let E=(b=r.current)==null?void 0:b.childNodes[w];if(E){let{size:v,minSize:T}=Fs(E,u);f[w].currentSize=v,f[w].minSize=T}}),R&&R.forEach(w=>{var b;let E=(b=r.current)==null?void 0:b.childNodes[w];if(E){let{[u]:v}=E.getBoundingClientRect();f[w].flexBasis=v}}))}},[u]),m=(0,B.useCallback)((y,f)=>{a.current&&n.current&&l(Os(a.current,n.current,f,u))},[u]),h=(0,B.useCallback)(()=>{let y=n.current;y&&(t==null||t(y.filter(Is))),y==null||y.forEach(f=>{f.currentSize=void 0,f.flexBasis=void 0,f.flexOpen=!1})},[t]),g=(0,B.useCallback)(y=>B.default.createElement(jn,{column:c,index:y,key:`splitter-${y}`,onDrag:m,onDragEnd:h,onDragStart:p}),[m,h,p,c]);return(0,B.useMemo)(()=>{let[y,f]=Bs(d,u,g,i.current);n.current=f,a.current=y},[d,g,u]),{content:a.current||[],rootRef:r}};function Bs(e,t,o,r){let n=Jt(e,t),a=qn(n),i=[],s=[];for(let l=0;l<e.length;l++){let c=e[l];if(l===0&&a[l]&dt&&(i.push(ei(l)),s.push({placeholder:!0,shim:!0})),c.key==null){let u=r[l]||(r[l]=(0,ti.getUniqueId)());i.push(B.default.cloneElement(c,{key:u}))}else i.push(c);s.push(n[l]),l>0&&a[l]&dt?(i.push(ei(l)),s.push({placeholder:!0})):a[l]&pt&&(i.push(o(i.length)),s.push({splitter:!0}))}return[i,s]}function Os(e,t,o,r){return Ns(t,o)?e.map((a,i)=>{let s=t[i],{currentSize:l,flexOpen:c,flexBasis:u}=s,d=l!==void 0;if(d||c){let{flexBasis:p}=a.props.style||{},m=d?s.currentSize:u;return m!==p?B.default.cloneElement(a,{style:{...a.props.style,flexBasis:m,[r]:"auto"}}):a}else return a}):e}function Ns(e,t){let o=[];e.forEach((u,d)=>{u.currentSize!==void 0&&o.push(d)});let r=t<0?o[0]:o[1],{currentSize:n=0,minSize:a=0}=e[r];if(n===a)return!1;if(Math.abs(t)>n-a){let u=t<0?-1:1;t=Math.max(0,n-a)*u}let i=e[o[0]],{currentSize:s=0}=i;i.currentSize=s+t;let l=e[o[1]],{currentSize:c=0}=l;return l.currentSize=c-t,!0}function ei(e){return B.default.createElement(He,{shim:e===0,key:`placeholder-${e}`})}function Fs(e,t){let{[t]:o}=e.getBoundingClientRect(),n=getComputedStyle(e).getPropertyValue(`min-${t}`),a=n.endsWith("px")?parseInt(n,10):0;return{size:o,minSize:a}}var si=require("react/jsx-runtime"),tr="hwFlexbox",ai=(0,ii.forwardRef)(function(t,o){let{breakPoints:r,children:n,column:a,className:i,flexFill:s,gap:l,fullPage:c,id:u,onSplitterMoved:d,resizeable:p,row:m,spacing:h,splitterSize:g,style:y,...f}=t,{content:x,rootRef:R}=oi({children:n,onSplitterMoved:d,style:y}),w=(0,ni.default)(tr,i,{[`${tr}-column`]:a,[`${tr}-row`]:m,"flex-fill":s,"full-page":c});return(0,si.jsx)("div",{...f,className:w,"data-resizeable":p||void 0,id:u,ref:(0,ri.useForkRef)(R,o),style:{...y,gap:l,"--spacing":h},children:x})});ai.displayName="Flexbox";var Yt=ai;var li=require("react");var ci=require("react/jsx-runtime"),or=function(t){let{path:o}=t,r=ne(),n=(0,li.useCallback)(a=>{r({type:Ie.SPLITTER_RESIZE,path:o,sizes:a})},[r,o]);return(0,ci.jsx)(Yt,{...t,onSplitterMoved:n})};or.displayName="Flexbox";N("Flexbox",or,"container");var di=require("@vuu-ui/vuu-utils"),mi=require("@salt-ds/core"),fi=C(require("clsx")),Xt=require("react");var ui=require("@vuu-ui/vuu-utils"),X=require("react");var Hs=["xs","sm","md","lg","xl"],$s=12,pi=({children:e,cols:t,style:o})=>{let r=(0,X.useRef)(null),n=(0,X.useRef)(null),a=(0,X.useRef)(),i=t!=null?t:$s,l=(o==null?void 0:o.flexDirection)==="column"?"height":"width",c=(0,X.useMemo)(()=>Array.isArray(e)?e:(0,X.isValidElement)(e)?[e]:[],[e]),u=(0,X.useCallback)((d,p)=>{let m=Jt(d,p,Hs),h=[],g=[];for(let y=0;y<d.length;y++){let f=d[y],{style:{flex:x,...R}}=f.props;h.push((0,X.cloneElement)(f,{key:(0,ui.getUniqueId)(),style:{...R,"--parent-col-count":i}})),g.push(m[y])}return[h,g]},[i]);return(0,X.useMemo)(()=>{let[d,p]=u(c,l);n.current=p,a.current=d},[u,c,l]),{cols:i,content:a.current,rootRef:r}};var hi=require("react/jsx-runtime"),Zt="hwFluidGrid",jt=(0,Xt.forwardRef)(function(t,o){let{breakPoints:r,children:n,column:a,cols:i=12,className:s,flexFill:l,gap:c=3,fullPage:u,id:d,onSplitterMoved:p,resizeable:m,row:h,showGrid:g,spacing:y,splitterSize:f,style:x,...R}=t,w=(0,Xt.useMemo)(()=>(0,di.asReactElements)(n),[n]),{cols:E,content:b,rootRef:v}=pi({children:w,cols:i,style:x}),T=Qo({breakPoints:r},v),M=(0,fi.default)(Zt,s,{[`${Zt}-column`]:a,[`${Zt}-row`]:h,[`${Zt}-show-grid`]:g,"flex-fill":l,"full-page":u}),L={...x,"--spacing":y,"--grid-col-count":E,"--grid-gap":c};return(0,hi.jsx)("div",{...R,className:M,"data-breakpoint":T,"data-cols":E,"data-resizeable":m||void 0,id:d,ref:(0,mi.useForkRef)(v,o),style:L,children:b})});jt.displayName="FluidGrid";var gi=require("react/jsx-runtime"),rr=function(t){return(0,gi.jsx)(jt,{...t})};rr.displayName="FluidGrid";N("FluidGrid",rr,"container");var yi=require("@vuu-ui/vuu-utils"),Qt=require("@vuu-ui/vuu-ui-controls"),nr=C(require("clsx")),Kt=require("react");var qt=require("react/jsx-runtime"),Vs=e=>{let t=e.cloneNode(!0);return t.id="",delete t.dataset.idx,t},ir=(0,Kt.memo)(({className:e,children:t,idx:o,resizeable:r,header:n,closeable:a,...i})=>(0,qt.jsx)(Qt.ListItem,{className:(0,nr.default)("vuuPaletteItem",e),"data-draggable":!0,"data-icon":"draggable",...i}));ir.displayName="PaletteItem";var bi=({ListProps:e,ViewProps:t,children:o,className:r,itemHeight:n=41,orientation:a="horizontal",...i})=>{let s=ne(),l="vuuPalette";function c(u){var L,k;let p=u.target.closest(".vuuPaletteItem"),m=parseInt((k=(L=p.dataset)==null?void 0:L.index)!=null?k:"-1"),{props:{caption:h,children:g,template:y,...f}}=o[m],{ViewProps:x}=g.props,{height:R,left:w,top:E,width:b}=p.getBoundingClientRect(),v=(0,yi.uuid)(),M=y?g:(0,qt.jsx)(Ne,{...t,...{id:v,key:v},...f,...x,title:f.label,children:g});s({dragRect:{left:w,top:E,right:w+b,bottom:E+150,width:b,height:R},dragElement:Vs(p),evt:u.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,DriftHomeIfNoDropTarget:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:M,type:"drag-start"})}return(0,qt.jsx)(Qt.List,{...e,...i,className:(0,nr.default)(l,r,`${l}-${a}`),itemHeight:n,selected:null,children:o.map((u,d)=>u.type===ir?(0,Kt.cloneElement)(u,{key:d,onMouseDown:c}):u)})};N("Palette",bi,"view");var eo=require("@vuu-ui/vuu-ui-controls"),xi=require("@vuu-ui/vuu-utils"),sr=C(require("clsx")),le=C(require("react"));var Xe=require("react/jsx-runtime"),ar="vuuTabs",_s=()=>{},Gs=e=>{let t=[];return le.default.Children.forEach(e,o=>{le.default.isValidElement(o)?t.push(o):console.warn("Stack has unexpected child element type")}),t},Ws={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},to=(0,le.forwardRef)(function({TabstripProps:t=Ws,active:o=0,children:r,className:n,getTabIcon:a=_s,getTabLabel:i=ze,id:s,keyBoardActivation:l="manual",onAddTab:c,onMoveTab:u,onTabClose:d,onTabEdit:p,onTabSelectionChanged:m,showTabs:h="top",style:g},y){var O;console.log({TabstripProps:t});let f=(0,xi.useId)(s),x=(0,le.useRef)([]),{allowCloseTab:R,allowRenameTab:w,className:E}=t,b=(0,le.useCallback)((I,A,j,q)=>{p==null||p(q,A)},[p]),v=()=>{var I;return le.default.isValidElement(r)?r:Array.isArray(r)&&(I=r[o])!=null?I:null},T=()=>Gs(r).map((I,A)=>{let{closeable:j=R,id:q=`${f}-${A}`,"data-tab-location":De}=I.props,Se=i(I,A,x.current);return x.current.push(Se),(0,Xe.jsx)(eo.Tab,{ariaControls:q,"data-icon":a(I,A),id:`${q}-tab`,index:A,label:Se,location:De,closeable:j,editable:w},q)}),M=v(),L=h==="left"||h==="right",k=L?"vertical":"horizontal";return(0,Xe.jsxs)("div",{className:(0,sr.default)(ar,n,{[`${ar}-horizontal`]:L}),style:g,id:f,ref:y,children:[h?(0,Xe.jsx)(eo.Tabstrip,{...t,activeTabIndex:(O=t==null?void 0:t.activeTabIndex)!=null?O:M===null?-1:o,allowDragDrop:t.allowDragDrop!==!1,animateSelectionThumb:!0,className:(0,sr.default)("vuuTabHeader",E),"aria-label":"data tabs",keyBoardActivation:l,onActiveChange:m,onAddTab:c,onCloseTab:d,onExitEditMode:b,onMoveTab:u,orientation:k,children:T()}):null,(0,Xe.jsx)("div",{"aria-labelledby":`${f}-${o}`,className:`${ar}-tabPanel`,role:"tabpanel",children:M})]})});to.displayName="Stack";var vi=require("@vuu-ui/vuu-utils"),Ee=C(require("react"));var cr=require("react/jsx-runtime"),Us=()=>(0,cr.jsx)(He,{resizeable:!0,style:{flexGrow:1,flexShrink:0,flexBasis:0}}),lr=e=>{var E;let t=(0,Ee.useRef)(null),o=ne(),{loadState:r}=Ae(),{createNewChild:n,id:a,onTabSelectionChanged:i,path:s,...l}=e,{children:c}=e,u=(0,vi.useId)(a),[d]=at(u,t,s),p=Go(),m=(E=n!=null?n:p)!=null?E:Us,h=b=>{s&&(o({type:"switch-tab",id:u,path:s,nextIdx:b}),i==null||i(b))},g=(0,Ee.useCallback)(b=>{if(Array.isArray(c)){let{props:{"data-path":v,path:T=v}}=c[b];o({type:"remove",path:T})}},[c,o]),y=(0,Ee.useCallback)(()=>{if(s){let b=Ee.default.Children.count(c),v=m(b);o({type:"add",path:s,component:v})}},[c,m,o,s]),f=(0,Ee.useCallback)((b,v)=>{s&&o({fromIndex:b,toIndex:v,path:s,type:"move-child"})},[o,s]);return(0,cr.jsx)(to,{...l,id:u,getTabLabel:(b,v,T)=>{let{id:M,title:L}=b.props;return r(M,"view-title")||L||ze(b,v,T)},onMouseDown:async(b,v)=>{let T;await d({type:"mousedown",index:v,preDragActivity:async()=>new Promise(k=>{console.log("preDragActivity: Ok, gonna release the drag"),T=k})},b)&&(T==null||T(void 0))},onMoveTab:f,onAddTab:y,onTabClose:g,onTabEdit:(b,v)=>{o({type:"set-title",path:`${s}.${b}`,title:v})},onTabSelectionChanged:h,ref:t})};lr.displayName="Stack";N("Stack",lr,"container");var je=C(require("react"));var $e=require("react/jsx-runtime"),Js=({children:e})=>{let[o,r]=(0,je.useState)(e),[n,a]=(0,je.useState)(e),i=l=>{let c=uo(o,l);a(c)},s=(l,c)=>{console.log(`change ${l} -> ${c}`);let u=je.default.cloneElement(n,{style:{...n.props.style,[l]:c}});a(u),r(je.default.cloneElement(o,{},u))};return(0,$e.jsxs)("div",{"data-design-mode":"false",children:[o,(0,$e.jsx)("br",{}),(0,$e.jsxs)("div",{style:{display:"flex"},children:[(0,$e.jsx)(ur,{height:300,managedStyle:n.props.style,width:300,onChange:s,style:void 0}),(0,$e.jsx)(pr,{layout:o,onSelect:i,style:{width:300,height:300,backgroundColor:"#ccc"}})]})]})};var ce=require("@salt-ds/core"),z=require("react/jsx-runtime"),mr={},Ys={margin:{top:"marginTop",right:"marginRight",bottom:"marginBottom",left:"marginLeft"},border:{top:"borderTopWidth",right:"borderRightWidth",bottom:"borderBottomWidth",left:"borderLeftWidth"},padding:{top:"paddingTop",right:"paddingRight",bottom:"paddingBottom",left:"paddingLeft"}},dr=({feature:e,children:t,style:o,onChange:r})=>(0,z.jsxs)("div",{className:`LayoutBox layout-${e} layout-outer`,children:[(0,z.jsxs)("div",{className:"layout-top",children:[(0,z.jsx)("span",{className:"layout-title",children:e}),(0,z.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,z.jsx)(ce.Input,{value:o.top,onChange:(n,a)=>r(e,"top",a)})})]}),(0,z.jsxs)("div",{className:"layout-inner",children:[(0,z.jsx)("div",{className:"layout-left",children:(0,z.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,z.jsx)(ce.Input,{value:o.left,onChange:(n,a)=>r(e,"left",a)})})}),t,(0,z.jsx)("div",{className:"layout-right",children:(0,z.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,z.jsx)(ce.Input,{value:o.right,onChange:(n,a)=>r(e,"right",a)})})})]}),(0,z.jsx)("div",{className:"layout-bottom",children:(0,z.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,z.jsx)(ce.Input,{value:o.bottom,onChange:(n,a)=>r(e,"bottom",a)})})})]}),Zs={margin:!0,marginTop:!0,marginRight:!0,marginBottom:!0,marginLeft:!0},Xs={padding:!0,paddingTop:!0,paddingRight:!0,paddingBottom:!0,paddingLeft:!0},js={border:!0,borderColor:!0,borderWidth:!0,borderTopWidth:!0,borderRightWidth:!0,borderBottomWidth:!0,borderLeftWidth:!0},oo="(\\d+)(?:px)?",qs=`^(?:${oo}(?:\\s${oo}(?:\\s${oo}(?:\\s${oo})?)?)?)$`,wi=new RegExp(qs),Qs=/^(?:(\d+)(?:px)\ssolid\s([a-zA-Z,0-9().]+))$/,ur=({height:e,managedStyle:t,onChange:o,style:r,width:n})=>{let a=Ri(t),i=(R,w,E)=>{let b=parseInt(E||"0",10),v=Ys[R][w];o(v,b)},{marginTop:s=0,marginRight:l=0,marginBottom:c=0,marginLeft:u=0}=a,{borderTopWidth:d=0,borderRightWidth:p=0,borderBottomWidth:m=0,borderLeftWidth:h=0}=a,{paddingTop:g=0,paddingRight:y=0,paddingBottom:f=0,paddingLeft:x=0}=a;return(0,z.jsx)("div",{className:"LayoutConfigurator",style:{width:n,height:e,...r},children:(0,z.jsx)(dr,{feature:"margin",style:{top:s,right:l,bottom:c,left:u},onChange:i,children:(0,z.jsx)(dr,{feature:"border",style:{top:d,right:p,bottom:m,left:h},onChange:i,children:(0,z.jsx)(dr,{feature:"padding",style:{top:g,right:y,bottom:f,left:x},onChange:i,children:(0,z.jsx)("div",{className:"layout-content"})})})})})};function Ks(e=mr,t=mr){let{margin:o,marginTop:r,marginRight:n,marginBottom:a,marginLeft:i,padding:s,paddingTop:l,paddingRight:c,paddingBottom:u,paddingLeft:d,...p}=e;if(typeof o=="number")p.marginTop=p.marginRight=p.marginBottom=p.marginLeft=o;else if(typeof o=="string"){let m=wi.exec(o);if(m===null)console.error(`Invalid css value for margin '${o}'`);else{let[,h,g,y,f]=m,x=h&&g&&y;x&&f?(p.marginTop=parseInt(h,10),p.marginRight=parseInt(g,10),p.marginBottom=parseInt(y,10),p.marginLeft=parseInt(f,10)):x?(p.marginTop=parseInt(h,10),p.marginRight=p.marginLeft=parseInt(g,10),p.marginBottom=parseInt(y,10)):h&&g?(p.marginTop=p.marginBottom=parseInt(h,10),p.marginRight=p.marginLeft=parseInt(g,10)):p.marginTop=p.marginRight=p.marginBottom=p.marginLeft=parseInt(h,10)}}if(typeof r=="number"&&(p.marginTop=r),typeof n=="number"&&(p.marginRight=n),typeof a=="number"&&(p.marginBottom=a),typeof i=="number"&&(p.marginLeft=i),typeof s=="number")p.paddingTop=p.paddingRight=p.paddingBottom=p.paddingLeft=s;else if(typeof s=="string"){let m=wi.exec(s);if(m===null)console.error(`Invalid css value for padding '${s}'`);else{let[,h,g,y,f]=m,x=h&&g&&y;x&&f?(p.paddingTop=parseInt(h,10),p.paddingRight=parseInt(g,10),p.paddingBottom=parseInt(y,10),p.paddingLeft=parseInt(f,10)):x?(p.paddingTop=parseInt(h,10),p.paddingRight=p.paddingLeft=parseInt(g,10),p.paddingBottom=parseInt(y,10)):h&&g?(p.paddingTop=p.paddingBottom=parseInt(h,10),p.paddingRight=p.paddingLeft=parseInt(g,10)):p.paddingTop=p.paddingRight=p.paddingBottom=p.paddinggLeft=parseInt(h,10)}}return typeof l=="number"&&(p.paddingTop=l),typeof c=="number"&&(p.paddingRight=c),typeof u=="number"&&(p.paddingBottom=u),typeof d=="number"&&(p.paddingLeft=d),Ri(p,t)}function Ri(e=mr){let t={...e},o,{border:r,borderWidth:n,borderTopWidth:a,borderRightWidth:i,borderBottomWidth:s,borderLeftWidth:l,borderColor:c,margin:u,marginTop:d,marginRight:p,marginBottom:m,marginLeft:h,padding:g,paddingTop:y,paddingRight:f,paddingBottom:x,paddingLeft:R,...w}=t,E={},b={};if(typeof u=="number"&&(t.marginTop=t.marginRight=t.marginBottom=t.marginLeft=u,E={marginTop:u,marginRight:u,marginBottom:u,marginLeft:u}),typeof g=="number"&&(t.paddingTop=t.paddingRight=t.paddingBottom=t.paddingLeft=g,b={paddingTop:g,paddingRight:g,paddingBottom:g,paddingLeft:g}),r||n||a||i||s||l){typeof r=="string"&&(o=Qs.exec(r))&&([,n,c]=o,n=parseInt(n,10)),n&&(a=a===void 0?n:a,i=i===void 0?n:i,s=s===void 0?n:s,l=l===void 0?n:l),c=c||"black";let v=`
17
+ `,document.body.insertBefore(t,e)}}var tt=class{constructor(){this.currentPath=null;this.tabMode=null;ga()}prepare(t,o="full-view"){document.body.classList.add("drawing"),this.currentPath=null,this.tabMode=o;let r=this.getPoints(0,0,0,0),n=Wr(r),a=document.getElementById("vuu-drop-outline");a==null||a.setAttribute("d",n),this.currentPath=n}clear(){et=null,Et(),document.body.classList.remove("drawing"),Rt.PopupService.hidePopup()}get hoverDropTarget(){return et}getPoints(t,o,r,n,a=0,i=0,s=0){let l=this.tabMode==="tab-only";if(i===0)return[[t,o+s],[t,o+s],[t,o],[t+i,o],[t+i,o],[t+r,o],[t+r,o+n],[t,o+n]];if(l){let c=a;return[[c,o],[c,o],[c+i,o],[c+i,o],[c+i,o+s],[c+i,o+s],[c,o+s],[c,o+s]]}else return a===0?[[t,o+s],[t,o+s],[t,o],[t+i,o],[t+i,o+s],[t+r,o+s],[t+r,o+n],[t,o+n]]:[[t,o+s],[t+a,o+s],[t+a,o],[t+a,o],[t+a,o+s],[t+r,o+s],[t+r,o+n],[t,o+n]]}draw(t,o){let n=wo;if(et!==null)this.drawTarget(et);else if(wo=t.nextDropTarget!=null,t.pos.tab?ya(t):re&&Et(),this.drawTarget(t,o),wo){let[a,i,s]=xo(t);{let l=(0,Yr.jsx)(vo,{dropTarget:t,onHover:da,orientation:s});Rt.PopupService.showPopup({left:a,top:i,component:l})}}else Rt.PopupService.hidePopup()}drawTarget(t,o){let n=t.getTargetDropOutline(6,o);if(n){let{l:a,t:i,r:s,b:l,tabLeft:c,tabWidth:u,tabHeight:d,guideLines:p}=n,m=s-a,h=l-i;if(this.currentPath){let R=document.getElementById("vuu-drop-outline");R==null||R.setAttribute("d",this.currentPath)}let g=this.getPoints(a,i,m,h,c,u,d),y=Wr(g),f=document.getElementById("hw-drop-outline-animate");f==null||f.setAttribute("to",y),f==null||f.beginElement(),this.currentPath=y;let x=document.getElementById("hw-drop-guides");x==null||x.setAttribute("d",ha(p))}}},Ur="transition:margin-left .4s ease-out;margin-left: 63px",Jr="transition:margin-left .4s ease-out;margin-left: 0px";function ya(e){var s,l;let{AFTER:t,BEFORE:o}=Ke,{clientRect:{Stack:r},pos:{tab:n}}=e,{id:a}=e.component.props,i=null;if(r&&n&&n.positionRelativeToTab!==t){let c=n.positionRelativeToTab===o?1:2,u=`:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${n.index+c})`;i=(s=document.getElementById(a))==null?void 0:s.querySelector(u),i?(re===null||re!==i)&&(i.style.cssText=Ur,re&&(re.style.cssText=Jr),re=i):Et()}else(n==null?void 0:n.positionRelativeToTab)===o?re===null&&(i=(l=document.getElementById(a))==null?void 0:l.querySelector(".vuuHeader-title"),i.style.cssText=Ur,re=i):Et()}function Et(){re&&(re.style.cssText=Jr,re=null)}var ue,ot,ge,Xr,jr,Ce,Dt,Me=null,Eo,qr,Tt,Qr,Ro,St=null,ba=3,Pt=new tt,Zr=.4;function xa(e,t){return t?F(e,t):se(e,o=>o.dropTarget)}var Mt={handleMousedown(e,t,o={}){ue=t,qr=o,Xr=e.clientX,jr=e.clientY,Ro=o.dragThreshold===void 0?ba:o.dragThreshold,Ro===0?ue(e,0,0):(window.addEventListener("mousemove",Lt,!1),window.addEventListener("mouseup",Ct,!1),St=window.setTimeout(()=>{window.removeEventListener("mousemove",Lt,!1),window.removeEventListener("mouseup",Ct,!1),ue==null||ue(e,0,0)},500)),e.preventDefault()},initDrag(e,t,{top:o,left:r,right:n,bottom:a},i,s,l,c){return{drag:ot,drop:ge}=s,va(e,t,{top:o,left:r,right:n,bottom:a},i,l,c)}};function Lt(e){let r=e.clientX-Xr,n=e.clientY-jr;Math.max(Math.abs(r),Math.abs(n))>Ro&&(window.removeEventListener("mousemove",Lt,!1),window.removeEventListener("mouseup",Ct,!1),ue==null||ue(e,r,n),ue=null)}function Ct(){St&&(window.clearTimeout(St),St=null),window.removeEventListener("mousemove",Lt,!1),window.removeEventListener("mouseup",Ct,!1)}function va(e,t,o,r,n,a){Ce=xa(e,t);let{"data-path":i,path:s=i}=D(Ce);a&&(Eo=a.map(p=>se(e,m=>m.id===p)).map(p=>p.props.path)),Tt=Ve.measure(Ce,a);let l=Tt[s];Dt=new vt(l,r.x,r.y,o,n);let c=Math.round(Dt.x.mousePct*100),u=Math.round(Dt.y.mousePct*100);return window.addEventListener("mousemove",Kr,!1),window.addEventListener("mouseup",tn,!1),window.addEventListener("keydown",en,!1),Qr=!1,Pt.prepare(o,"tab-only"),qr.DoNotTransform?"transform:none":`transform:scale(${Zr},${Zr});transform-origin:${c}% ${u}%;`}function Kr(e){let t=e.clientX,o=e.clientY,r=Dt,n=Me,a,i,s;r.update("x",t)&&(i=r.x.pos),r.update("y",o)&&(s=r.y.pos),i===void 0&&s===void 0||ot==null||ot(i,s),!(Qr||Ce===void 0)&&(r.inBounds()?a=wt(t,o,Ce,Tt,r.hasIntrinsicSize(),Eo):a=wt(r.dropX(),r.dropY(),Ce,Tt),n&&(a==null||a.box!==n.box)&&(Me=null),a&&(Pt.draw(a,r),Me=a))}function en(e){e.key==="Escape"&&(Me=null,on())}function tn(){on()}function on(){if(Me){let e=Pt.hoverDropTarget||Le.getActiveDropTarget(Me);ge==null||ge(e),Me=null}else ge==null||ge();ot=null,ge=null,Ce=void 0,Pt.clear(),Eo=void 0,window.removeEventListener("mousemove",Kr,!1),window.removeEventListener("mouseup",tn,!1),window.removeEventListener("keydown",en,!1)}var rn=C(require("clsx")),nn=require("react");var sn=require("react/jsx-runtime"),Do=(0,nn.forwardRef)(function({children:t,className:o,dropTarget:r,resizeable:n,...a},i){let s=(0,rn.default)("DraggableLayout",o);return(0,sn.jsx)("div",{className:s,ref:i,...a,children:t})}),an="DraggableLayout";Do.displayName=an;N(an,Do,"container");var ri=require("@salt-ds/core"),ni=C(require("clsx")),ii=require("react");var ti=require("@vuu-ui/vuu-utils"),B=C(require("react"));var Zn=C(require("clsx"));var Jn=require("@salt-ds/core"),Wt=require("react");var we=require("react");var W=require("react");var To=require("@vuu-ui/vuu-utils"),Po=C(require("react"));var wa={"data-placeholder":!0,"data-resizeable":!0},kt={},ye="auto",So={flexBasis:0,flexGrow:1,flexShrink:1,height:ye,width:ye},ln={height:"width",width:"height"},Lo=(e="row")=>e==="row"?["width","height","column"]:["height","width","row"],Ra=e=>typeof e=="string"&&e.endsWith("%"),Z=e=>{let{style:{width:t=ye,height:o=ye}=kt}=e.props,r=typeof o=="number",n=typeof t=="number";return r&&n?{height:o,width:t}:r?{height:o}:n?{width:t}:void 0};function At(e,t,o){let r=ln[t],{style:{[r]:n=ye,...a}=kt}=e.props;return o&&o[t]?{...a,...So,flexBasis:o[t],flexGrow:0,flexShrink:0}:{...a,...So,[r]:n}}function Co(e){let{style:{flex:t,flexGrow:o,flexShrink:r,flexBasis:n}=kt}=e.props;return typeof t=="number"||n===0&&o===1&&r===1?!0:typeof n!="number"}function zt(e,t,o){let r=ln[t],{style:{[t]:n=ye,[r]:a=ye,...i}=kt}=e.props;return n!==ye?Ra(n)?{flexBasis:0,flexGrow:1,flexShrink:1,[t]:void 0,[r]:a}:{flexBasis:n,flexGrow:0,flexShrink:0,[t]:n,[r]:a}:o&&o[t]?{...i,...So,flexBasis:o[t],flexGrow:0,flexShrink:0}:{...i,[r]:a}}function _e(e,t,o,r,n){let a=[],i=0,s;if(r&&n){let u,[d,p,m,h]=n;[u,s]=t==="column"?[p-r.top,r.bottom-h]:[d-r.left,r.right-m],u&&a.push(te(`${o}.${i++}`,u,{flexGrow:0,flexShrink:0}))}else s=!0;let{version:l=0,style:c}=D(e);return a.push(H(e,`${o}.${i++}`,{version:l+1,style:{...c,flexBasis:"auto",flexGrow:0,flexShrink:0}})),s&&a.push(te(`${o}.${i++}`,0,void 0,{[`data-${t}-placeholder`]:!0})),It(t,{resizeable:!1,style:{flexBasis:"auto"}},a,o)}var Ea=(e,t)=>{if(!t)return e===0?1:0};function It(e,t,o,r){let n=(0,To.uuid)(),{flexFill:a,style:i,resizeable:s=!0}=t,{flexBasis:l=a?void 0:"auto"}=i,c=Ea(l,a);return Po.default.createElement(me.Flexbox,{id:n,key:n,path:r,flexFill:a,style:{...i,flexDirection:e,flexBasis:l,flexGrow:c,flexShrink:c},resizeable:s},o)}var Da={flexGrow:1,flexShrink:1};function te(e,t,o,r){let n=(0,To.uuid)();return Po.default.createElement("div",{...wa,...r,"data-path":e,id:n,key:n,style:{...Da,...o,flexBasis:t}})}var $t=C(require("react"));var Ho=require("@vuu-ui/vuu-utils"),We=C(require("react"));var Io=require("@vuu-ui/vuu-utils"),be=C(require("react"));var ke=require("react"),_=new Map,oe=new Map,Mo=e=>_.get(e),ko=e=>_.has(e),Ao=(e,t)=>_.set(e,t),Ae=()=>{let e=(0,ke.useCallback)((i,s)=>{let l=oe.get(i);if(l)return s!==void 0&&l[s]!==void 0?l[s]:s!==void 0?void 0:l},[]),t=(0,ke.useCallback)((i,s,l)=>{if(s===void 0)oe.set(i,l);else if(oe.has(i)){let c=oe.get(i);oe.set(i,{...c,[s]:l})}else oe.set(i,{[s]:l})},[]),o=(0,ke.useCallback)((i,s)=>{if(oe.has(i)){if(s===void 0)oe.delete(i);else if(oe.get(i)[s]){let{[s]:c,...u}=oe.get(i);Object.keys(u).length>0?oe.set(i,u):oe.delete(i)}}},[]),r=(0,ke.useCallback)((i,s)=>{let l=_.get(i);if(l)return s!==void 0?l[s]:l},[]),n=(0,ke.useCallback)((i,s,l)=>{if(s===void 0)_.set(i,l);else if(_.has(i)){let c=_.get(i);_.set(i,{...c,[s]:l})}else _.set(i,{[s]:l})},[]),a=(0,ke.useCallback)((i,s)=>{if(_.has(i)){if(s===void 0)_.delete(i);else if(_.get(i)[s]){let{[s]:c,...u}=_.get(i);Object.keys(u).length>0?_.set(i,u):_.delete(i)}}},[]);return{loadSessionState:e,loadState:r,saveSessionState:t,saveState:n,purgeState:a,purgeSessionState:o}};var Bo=e=>e.flexDirection==="column"?["height","width"]:["width","height"],Sa={},Ge=(e,t="0")=>{let[o,r]=Ot(S(e),e.props,t);return be.default.cloneElement(e,o,r)},Bt=(e,t)=>{let o=S(e),[r,n]=Ot(o,e.props,"0",void 0,t);return(0,be.cloneElement)(e,r,n)},Ta=(e,t,o)=>{let[r,n]=Ot(e,t,"0",void 0,o);return{...t,...r,type:e,children:n}};function Pa(e,t,o="0",r=null,n){var g,y;let{active:a=0,"data-path":i,path:s=i,id:l,style:c}=D(n),u=S(n)===e&&o===s,d=u?l:(g=t.id)!=null?g:(0,Io.uuid)(),p=e==="Stack"?(y=t.active)!=null?y:a:void 0,m=d,h=u?c:Ca(e,t,r);return no(e)?{id:d,key:m,path:o,style:h,type:e,active:p}:{id:d,key:m,style:h,"data-path":o}}function Ot(e,t,o,r=null,n){var c,u;let a=Pa(e,t,o,r,n);if(t.layout&&!n)return[a,[xe(t.layout,`${o}.0`)]];let i=(u=n==null?void 0:n.children)!=null?u:(c=n==null?void 0:n.props)==null?void 0:c.children,l=t.dropTarget&&i?i:La(e,t.children,o,i);return[a,l]}function La(e,t,o="0",r){let n=Array.isArray(t)?t:be.default.isValidElement(t)?[t]:[];return V(e)?n.map((a,i)=>{let s=S(a),l=S(r==null?void 0:r[i]);if(!l||s===l){let[c,u]=Ot(s,a.props,`${o}.${i}`,e,r==null?void 0:r[i]);return be.default.cloneElement(a,c,u)}return r==null?void 0:r[i]}):t}var Ca=(e,t,o)=>{let{style:r=Sa}=t;if(e==="Flexbox"&&(r={flexDirection:t.column?"column":"row",...r,display:"flex"}),r.flex){let{flex:n,...a}=r;r={...a,...xt(typeof n=="number"?n:0)}}else o==="Stack"?r={...r,...xt(1)}:o==="Flexbox"&&(r.width||r.height)&&r.flexBasis===void 0&&(r={...r,flexBasis:"auto",flexGrow:0,flexShrink:0});return r};function xe({id:e=(0,Io.uuid)(),type:t,children:o,props:r,state:n},a){let i=t.match(/^[a-z]/)?t:me[t];if(i===void 0)throw Error(`layoutUtils unable to create component from JSON, unknown type ${t}`);return n&&Ao(e,n),be.default.createElement(i,{id:e,...r,key:e,path:a},o?o.map((s,l)=>xe(s,`${a}.${l}`)):void 0)}function Oo(e){return No(e)}function No(e){let t=S(e),{id:o,children:r,type:n,...a}=D(e),i=ko(o)?Mo(o):void 0;return{id:o,type:t,props:cn(a),state:i,children:be.default.Children.map(r,No)}}function cn(e){if(e){let{path:t,...o}=e,r={};for(let[n,a]of Object.entries(o))r[n]=zo(a);return r}}function zo(e){if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return e.map(zo);if(typeof e=="object"&&e!==null){let t={};for(let[o,r]of Object.entries(e))t[o]=zo(r);return t}}var Fo=(e,t,o)=>{if(t&&o){let r=K(o,t);if(r){let{id:n}=D(r),a=S(r);return{parentContainerId:n,parentContainerType:a}}return{parentContainerType:"Stack",parentContainerId:"blah"}}},ze=(e,t,o=[])=>{var n,a,i;let r=(i=(n=e.props)==null?void 0:n.title)!=null?i:(a=e.props)==null?void 0:a["data-tab-title"];if(r)return r;{let s=t;do r=`Tab ${++s}`;while(o.includes(r));return r}};function un(e,t){var i;let o=e.props.children,r=o.length,{index:n=-1,positionRelativeToTab:a="after"}=t.tab||{};return n===-1||n>=r?[o[r-1],"after"]:[(i=o[n])!=null?i:null,a]}function Nt(e,t,o){let{active:r,children:n=[],path:a}=D(e),i=P(t,"path"),{idx:s,finalStep:l}=ee(a,i,!0),[c,u]=l?Aa(e,n,o):[r,n==null?void 0:n.map((p,m)=>m===s?Nt(p,t,o):p)],d=S(e)==="Stack"?Array.isArray(c)?c[0]:c:r;return We.default.cloneElement(e,{active:d},u)}var Ma=(e,t,o,r)=>e==="Stack"?ze(t,o,r):void 0,ka=e=>e.map(t=>t.props.title);function Aa(e,t,o){let r=P(e,"path"),n=t==null?void 0:t.length,{id:a=(0,Ho.uuid)(),title:i=Ma(S(e),o,n!=null?n:0,ka(t))}=D(o);return n?[n,t.concat(H(o,`${r}.${n}`,{id:a,key:a,title:i}))]:[0,[H(o,`${r}.0`,{id:a,title:i})]]}function Ft(e,t,o,r,n,a,i){let{active:s,children:l,path:c}=D(e),u=P(t,"path"),{idx:d,finalStep:p}=ee(c,u),[m,h]=p?za(e,l,d,o,r,n,a,i):[s,l.map((y,f)=>f===d?Ft(y,t,o,r,n,a,i):y)],g=S(e)==="Stack"?m:s;return We.default.cloneElement(e,{active:g},h)}function za(e,t,o,r,n,a,i,s){let l=Z(r);return l!=null&&l.width&&(l!=null&&l.height)?Ba(e,t,o,r,n,i,s):pn(e,t,o,r,n,(a==null?void 0:a.width)||(a==null?void 0:a.height),i)}var Ia=(e,t,{top:o,right:r,bottom:n,left:a},[i,s,l,c])=>{if(e==="column"&&t==="before")return s-o;if(e==="column")return n-c;if(e==="row"&&t==="before")return i-a;if(e==="row")return r-l};function Ba(e,t,o,r,n,a,i){let{style:{flexDirection:s}}=D(e),[l,c,u]=Lo(s),{[c]:d,[l]:p}=Z(r),m=P(t[o],"path"),h=Ia(s,n,a,i),[g,y]=d<a[c]?[_e(r,u,m,a,i),p]:[r,void 0],f=h?te(m,h,{flexGrow:0,flexShrink:0}):void 0;return d>a[c]&&(t=t.map(x=>{if(P(x,"placeholder"))return x;{let{[c]:R}=Z(x);return R&&R<d?_e(x,u,P(x,"path")):x}})),pn(e,t,o,g,n,y,a,f)}function pn(e,t,o,r,n,a,i,s){let l=P(e,"path"),c=0,u=!t||t.length===0?[r]:t.reduce((d,p,m)=>{if(o===m){let[h,g]=Oa(e,p,r,i);n==="before"?s?d.push(s,g,h):d.push(g,h):s?d.push(h,g,s):d.push(h,g),c=d.indexOf(g)}else d.push(p);return d},[]).map((d,p)=>p<c?d:H(d,`${l}.${p}`));return[c,u]}function Oa(e,t,o,r){let n=(0,Ho.uuid)(),{version:a=0}=D(o);if(a+=1,S(e)==="Flexbox"){let[i]=Bo(e.props.style),s=6,l={[i]:(r[i]-s)/2},c=zt(t,i,l),u=zt(o,i,l);return[We.default.cloneElement(t,{style:c}),We.default.cloneElement(o,{id:n,version:a,style:u})]}else{let{style:{left:i,top:s,flex:l,...c}={left:void 0,top:void 0,flex:void 0}}=D(o);return[t,We.default.cloneElement(o,{id:n,version:a,style:{...c,flex:"1 1 0px"}})]}}var mn=require("react");var rt=C(require("react"));var Ie={ADD:"add",BLUR:"blur",BLUR_SPLITTER:"blur-splitter",DRAG_START:"drag-start",DRAG_STARTED:"drag-started",DRAG_DROP:"drag-drop",FOCUS:"focus",FOCUS_SPLITTER:"focus-splitter",INITIALIZE:"initialize",LAYOUT_RESIZE:"layout-resize",MAXIMIZE:"maximize",MINIMIZE:"minimize",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAR_OUT:"tear-out"};function dn(e,{target:t,replacement:o}){return $o(e,t,o)}function $o(e,t,o){let r=P(t,"path"),n=P(t,"resizeable"),{style:a}=D(t),i=Ge(rt.default.cloneElement(o,{resizeable:n,style:{...a,...o.props.style}}),r);return G(e,t,i)}function G(e,t,o,r){if(e===t)return o;let{idx:n,finalStep:a}=ee(P(e,"path"),P(t,"path")),i=e.props.children.slice();return a?r?r===Ie.MINIMIZE?i[n]=Na(e,i[n]):r===Ie.RESTORE&&(i[n]=Fa(i[n])):i[n]=o:i[n]=G(i[n],t,o,r),rt.default.cloneElement(e,void 0,i)}function Na(e,t){let{style:o}=D(e),{style:r}=D(t),{width:n,height:a,flexBasis:i,flexShrink:s,flexGrow:l,...c}=r,u={width:n,height:a,flexBasis:i,flexShrink:s,flexGrow:l},d={...c,flexBasis:0,flexGrow:0,flexShrink:0},p=o.flexDirection==="row"?"vertical":o.flexDirection==="column"?"horizontal":!1;return p?rt.default.cloneElement(t,{collapsed:p,restoreStyle:u,style:d}):t}function Fa(e){let{style:t,restoreStyle:o}=D(e),{flexBasis:r,flexShrink:n,flexGrow:a,...i}=t,s={...i,...o};return rt.default.cloneElement(e,{collapsed:!1,style:s,restoreStyle:void 0})}function fn(e,{fromIndex:t,path:o,toIndex:r}){let n=F(e,o,!0),{children:a}=D(n),i=Ha(a,t,r),s=(0,mn.cloneElement)(n,void 0,i);return G(e,n,s)}function Ha(e,t,o){let r=e.slice(),[n]=r.splice(t,1);return o===-1?r.concat(n):(r.splice(o,0,n),r)}var $={ADD:"add",DRAG_START:"drag-start",DRAG_DROP:"drag-drop",LAYOUT_RESIZE:"layout-resize",MAXIMIZE:"maximize",MINIMIZE:"minimize",MOVE_CHILD:"move-child",QUERY:"query",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_PROP:"set-prop",SET_PROPS:"set-props",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAROUT:"tearout"},$a=e=>["switch-active-layout","open-layout","close-layout","rename-layout"].includes(e),Va=e=>["switch-active-tab","edit-feature-title","save-feature-props","remove-component","resize-component","drag-drop-operation"].includes(e);var ve=C(require("react"));function Vo(e,{path:t}){let o=F(e,t),r=K(e,t);if(r===null)return e;let{children:n}=D(r);if(n.length>1&&S(r)!=="Stack"&&gn(n,t)){let{style:{flexBasis:a,display:i,flexDirection:s,...l}}=D(r),c=P(r,"path"),u=G(e,r,te(c,a,l));for(;(r=K(u,c))&&P(r,"path")!=="0";){let{children:d}=D(r);if(gn(d)){c=P(r,"path");let{style:{flexBasis:p,display:m,flexDirection:h,...g}}=D(r);u=G(e,r,te(c,p,g))}else if(Ua(d))u=xn(e,r);else break}return u}return yn(e,o)}function yn(e,t){let o=D(e),{children:r,path:n,preserve:a}=o,{active:i,id:s}=o,{idx:l,finalStep:c}=ee(n,P(t,"path")),u=S(e),d=r.slice();if(c){if(d.splice(l,1),i!==void 0&&i>=l&&(i=Math.max(0,i-1)),d.length===0&&a&&u==="Stack"){let{path:p,style:{flexBasis:m}}=D(t),h=s==="main-tabs"?xe({props:{style:{flexGrow:1,flexShrink:1,flexBasis:m},title:"Tab 1"},type:"Placeholder"},p):te(p,m);d.push(h)}else if(d.length===1&&!a&&n!=="0"&&u.match(/Flexbox|Stack/))return _a(e,d[0]);!d.some(Ga)&&d.some(bn)&&(d=Wa(d))}else d[l]=yn(d[l],t);return d=d.map((p,m)=>H(p,`${n}.${m}`)),ve.default.cloneElement(e,{active:i},d)}function _a(e,t){let o=S(e),{path:r,style:{flexBasis:n,flexGrow:a,flexShrink:i,width:s,height:l}}=D(e),c=H(t,r);if(r==="0")c=ve.default.cloneElement(c,{style:{...t.props.style,width:s,height:l}});else if(o==="Flexbox"){let u=e.props.style.flexDirection==="column"?"height":"width",{style:{[u]:d,...p}}=c.props;c=ve.default.cloneElement(c,{flexFill:void 0,style:{...p,flexGrow:a,flexShrink:i,flexBasis:n,width:s,height:l}})}return c}var Ga=e=>e.props.style.flexGrow>0,bn=e=>{let{width:t,height:o,flexGrow:r}=e.props.style;return r===0&&typeof t!="number"&&typeof o!="number"},Wa=e=>e.map(t=>bn(t)?ve.default.cloneElement(t,{style:{...t.props.style,flexGrow:1}}):t),Ua=e=>{if(e&&e.length>0){let t=P(e[0],"placeholder"),o=!1;for(let r=1;r<e.length;r++){if(o=P(e[r],"placeholder"),t&&o)return!0;t=o}}},xn=(e,t)=>{let{children:o,path:r}=D(e),{idx:n,finalStep:a}=ee(r,P(t,"path")),i=o.slice();return a?i[n]=Ja(t):i[n]=xn(i[n],t),i=i.map((s,l)=>H(s,`${r}.${l}`)),ve.default.cloneElement(e,void 0,i)},Ja=e=>{let{children:t}=D(e),o=[],r=[];for(let a=0;a<t.length;a++)P(t[a],"placeholder")?r.push(t[a]):(r.length===1?o.push(r.pop()):r.length>0&&(o.push(hn(r)),r.length=0),o.push(t[a]));r.length===1?o.push(r.pop()):r.length>0&&o.push(hn(r));let n=P(e,"path");return ve.default.cloneElement(e,void 0,o.map((a,i)=>H(a,`${n}.${i}`)))},hn=([e,...t])=>{let o=P(e,"style"),{flexBasis:r,flexGrow:n,flexShrink:a}=o;for(let{props:{style:i}}of t)r+=i.flexBasis,n=Math.max(n,i.flexGrow),a=Math.max(a,i.flexShrink);return ve.default.cloneElement(e,{style:{...o,flexBasis:r,flexGrow:n,flexShrink:a}})},gn=(e,t)=>e.every(o=>P(o,"placeholder")||t&&P(o,"path")===t);var Ht=C(require("react"));function vn(e,{path:t,size:o}){let r=F(e,t,!0),{style:n}=D(r),a={...n,width:o},i=Ht.default.cloneElement(r,{style:a});return G(e,r,i)}function wn(e,{path:t,sizes:o}){let r=F(e,t,!0),{children:n,style:a}=D(r),i=a.flexDirection==="column"?"height":"width",s=Ya(n,o,i),l=Ht.default.cloneElement(r,void 0,s);return G(e,r,l)}function Ya(e,t,o){return e.map((r,n)=>{let{style:{[o]:a,flexBasis:i}}=D(r),s=t[n],{currentSize:l,flexBasis:c}=s,d=l!==void 0?s.currentSize:c;return d===void 0||a===d||i===d?r:Ht.default.cloneElement(r,{style:Za(r.props.style,o,d)})})}function Za(e,t,o){let r=typeof e[t]=="number",{flexShrink:n=1,flexGrow:a=1}=e;return{...e,[t]:r?o:"auto",flexBasis:r?"auto":o,flexShrink:n,flexGrow:a}}var Rn=require("@vuu-ui/vuu-utils"),nt=C(require("react"));var En=e=>{let[t]=S(e);return t===t.toLowerCase()};function it(e,t,o,r,n,a){let{children:i,path:s}=D(e),l=P(t,"path"),{idx:c,finalStep:u}=ee(s,l),d=u?Xa(e,i,t,o,r,n,a):i.map((p,m)=>m===c?it(p,t,o,r,n,a):p);return nt.default.cloneElement(e,void 0,d)}function Xa(e,t,o,r,n,a,i){let s=Z(r);if(s!=null&&s.width&&(s!=null&&s.height)){if(a===void 0||i===void 0)throw Error("wrap-layout-element, updateChildren clientRect and dropRect must both be available");return qa(t,o,r,n,a,i)}return ja(e,t,o,r,n)}function ja(e,t,o,r,n){var v;let{version:a=0}=D(r),{path:i,title:s}=D(o),{type:l,flexDirection:c,showTabs:u}=Sn(n),[d,p,m]=Qa(l,o,r,c,n),h=Dn(n),g=h?1:0,y={resizeable:!0,style:m,version:a+1},x={[En(o)?"data-resizeable":"resizeable"]:!0,style:p},R=l==="Stack"?{showTabs:u}:void 0,w=l==="Flexbox"?{splitterSize:(v=S(e)==="Flexbox"&&e.props.splitterSize)!=null?v:void 0}:void 0,E=(0,Rn.uuid)(),b=nt.default.createElement(me[l],{active:g,id:E,key:E,path:P(o,"path"),flexFill:P(o,"flexFill"),...w,...R,style:d,title:s,resizeable:P(o,"resizeable")},h?[H(o,`${i}.0`,x),Ge(nt.default.cloneElement(r,y),`${i}.1`)]:[Ge(nt.default.cloneElement(r,y),`${i}.0`),H(o,`${i}.1`,x)]);return t.map(T=>T===o?b:T)}function qa(e,t,o,r,n,a){let{flexDirection:i}=Sn(r),s=i==="column"?"row":"column",l=Dn(r),[c,u,d,p]=a,[m,h]=i==="column"?[u-n.top,n.bottom-p]:[c-n.left,n.right-d],g=P(t,"path"),y=0,f=En(t)?"data-resizeable":"resizeable",x=[];m&&x.push(l?H(t,`${g}.${y++}`,{[f]:!0,style:{flexBasis:m,flexGrow:1,flexShrink:1}}):te(`${g}.${y++}`,m,{flexGrow:0,flexShrink:0})),x.push(_e(o,s,`${g}.${y++}`,n,a)),h&&x.push(l?te(`${g}.${y++}`,0):H(t,`${g}.${y++}`,{[f]:!0,style:{flexBasis:0,flexGrow:1,flexShrink:1}}));let R=It(i,t.props,x,g);return e.map(w=>w===t?R:w)}function Qa(e,t,o,r,n){let a={...t.props.style,flexDirection:r},i=e==="Flexbox"&&r==="column"?"height":"width",s=At(o,i,n),l=At(t,i);return[a,l,s]}var Dn=e=>{var t;return e.position.SouthOrEast?!0:((t=e==null?void 0:e.tab)==null?void 0:t.positionRelativeToTab)==="before"?!1:!!e.position.Header};function Sn(e){return e.position.Header?{type:"Stack",flexDirection:"column",showTabs:!0}:{type:"Flexbox",flexDirection:e.position.EastOrWest?"row":"column"}}var _o=(e,t)=>{switch(t.type){case $.ADD:return rs(e,t);case $.DRAG_DROP:return os(e,t);case $.MAXIMIZE:return ts(e,t);case $.REMOVE:return Vo(e,t);case $.REPLACE:return dn(e,t);case $.SET_PROP:return Tn(e,t);case $.SET_PROPS:return es(e,t);case $.SET_TITLE:return Tn(e,{type:"set-prop",path:t.path,propName:"title",propValue:t.title});case $.SPLITTER_RESIZE:return wn(e,t);case $.LAYOUT_RESIZE:return vn(e,t);case $.SWITCH_TAB:return Ka(e,t);case $.MOVE_CHILD:return fn(e,t);default:return e}},Ka=(e,{path:t,nextIdx:o})=>{let r=F(e,t,!0),n=$t.default.cloneElement(r,{active:o});return G(e,r,n)},Tn=(e,{path:t,propName:o,propValue:r})=>{let n=F(e,t,!0),a=$t.default.cloneElement(n,{[o]:r});return G(e,n,a)},es=(e,{path:t,props:o})=>{let r=F(e,t,!0),n=$t.default.cloneElement(r,o);return G(e,r,n)},ts=(e,{path:t,type:o})=>{if(t){let r=F(e,t,!0);return G(e,r,r,o)}else return e},os=(e,t)=>{var h,g;let{draggedReactElement:o,dragInstructions:r,dropTarget:n}=t,a=n.component,{pos:i}=n,s=((h=i==null?void 0:i.position)==null?void 0:h.Header)&&S(a)==="Stack",{id:l,version:c}=D(o),u=Z(o),d;if(s){let[y,f]=un(a,i);y===void 0?d=Nt(e,a,o):d=Ft(e,y,o,f)}else!u&&((g=i==null?void 0:i.position)!=null&&g.Centre)?d=$o(e,a,o):d=ns(e,n,o);if(r.DoNotRemove)return d;let p=se(d,y=>y.id===l&&y.version===c),m=P(p,"path");return Vo(d,{path:m,type:"remove"})},rs=(e,{path:t,component:o})=>Nt(e,F(e,t),o),ns=(e,t,o)=>{let{component:r,pos:n,clientRect:a,dropRect:i}=t,s=r,l=P(s,"path");if(l==="0.0")return it(e,s,o,n);let c=K(e,l);if(Pn(n,c)){let u=n.position.SouthOrEast?"after":"before";return Ft(e,s,o,u,n,a,i)}if(!Pn(n,c))return it(e,s,o,n,a,i);if(V(S(c)))return it(e,s,o,n);throw Error(`no support right now for position = ${n.position}`)},Pn=(e,t)=>e.position.Centre?Cn(t)||Ln(t):e.position.NorthOrSouth?Ln(t):e.position.EastOrWest?Cn(t):!1,Ln=e=>S(e)==="Flexbox"&&e.props.style.flexDirection==="column",Cn=e=>S(e)==="Flexbox"&&e.props.style.flexDirection!=="column";var Mn=require("react"),is=e=>console.log(`dispatch ${e.type}, have you forgotten to provide a LayoutProvider ?`),Ue=(0,Mn.createContext)({dispatchLayoutProvider:is,version:-1});var pe=require("react");var as={},kn=[0,0],ss=(e,t,o)=>{let r=document.createElement("div");r.className="vuuSimpleDraggableWrapper",r.classList.add("vuuSimpleDraggableWrapper","salt-theme","salt-density-medium"),r.dataset.dragging="true";let n=o!=null?o:document.createElement("div");n.id=t,r.appendChild(n),document.body.appendChild(r);let a=`top:${e.top}px;left:${e.left}px;width:${e.width}px;height:${e.height}px;`;return[r,a,e.left,e.top]},ls=e=>{let{offsetParent:t}=e;if(t===null)return kn;{let{left:o,top:r}=t.getBoundingClientRect();return[o,r]}},An=(e,t,o)=>{let r=(0,pe.useRef)(),n=(0,pe.useRef)(),a=(0,pe.useRef)(),i=(0,pe.useCallback)((u,d)=>{if(n.current&&a.current){let{dragOffsets:[p,m],targetPosition:h}=n.current,g=typeof u=="number"?u-p:h.left,y=typeof d=="number"?d-m:h.top;(g!==h.left||y!==h.top)&&(n.current.targetPosition.left=g,n.current.targetPosition.top=y,a.current.style.top=y+"px",a.current.style.left=g+"px")}},[]),s=(0,pe.useCallback)(u=>{if(n.current){let{dragInstructions:d,payload:p,originalCSS:m}=n.current;u&&t({type:"drag-drop",draggedReactElement:p,dragInstructions:d,dropTarget:u}),a.current&&(!u&&d.DriftHomeIfNoDropTarget?(console.log("drift back to start"),document.body.removeChild(a.current)):d.RemoveDraggableOnDragEnd?document.body.removeChild(a.current):(a.current.style.cssText=m,delete a.current.dataset.dragging)),r.current=void 0,n.current=void 0,a.current=void 0}},[t]),l=(0,pe.useCallback)(u=>{if(r.current){let{payload:d,dragContainerPath:p,dragElement:m,dragRect:h,instructions:g=as,path:y}=r.current,{current:f}=e,x={x:u.clientX,y:u.clientY},R=d!=null?d:F(f,y,!0),{id:w}=R.props,E=Z(R),b="",v="",T="",M=-1,L=-1,k=kn,O=document.getElementById(w);if(O===null)[O,v,M,L]=ss(h,w,m);else{k=ls(O);let[I,A]=k,{width:j,height:q,left:De,top:Se}=O.getBoundingClientRect();M=De-I,L=Se-A,v=`width:${j}px;height:${q}px;left:${M}px;top:${L}px;z-index: 100;background-color:#ccc;opacity: 0.6;`,O.dataset.dragging="true",b=O.style.cssText}T=Mt.initDrag(e.current,p,h,x,{drag:i,drop:s},E),O.style.cssText=v+T,a.current=O,n.current={payload:R,originalCSS:b,dragRect:h,dragOffsets:k,dragInstructions:g,targetPosition:{left:M,top:L}}}},[i,s,e]);return(0,pe.useCallback)(u=>{let{evt:d,...p}=u;r.current={...p,dragContainerPath:bt(e.current,o)},Mt.handleMousedown(d,l,p.instructions)},[l,o,e])};var Wo=require("react/jsx-runtime"),zn=e=>e.dropTarget,cs=e=>["drag-drop","remove","set-title","splitter-resize","switch-tab"].includes(e.type),In=e=>{switch(e.type){case"switch-tab":return e.id==="main-tabs"?"switch-active-layout":"switch-active-tab";case"save":return"save-feature-props";case"drag-drop":return"drag-drop-operation";case"remove":return"remove-component";case"splitter-resize":return"resize-component";case"set-title":return"edit-feature-title";default:throw Error("unknown layout action")}},us=()=>{let e=Bn();return(0,Wo.jsx)("div",{children:`Context: ${e} `})},ps=e=>{let{children:t,createNewChild:o,pathToDropTarget:r,layout:n,onLayoutChange:a}=e,i=(0,W.useRef)(void 0),s=(0,W.useRef)(t),[,l]=(0,W.useState)(null),c=(0,W.useCallback)((m,h)=>{if(a){let g=se(m,zn)||i.current,f=S(g)==="DraggableLayout"?D(g).children[0]:g,x=Oo(f);a(x,h)}},[a]),u=(0,W.useCallback)((m,h=!1)=>{let g=_o(i.current,m);g!==i.current&&(i.current=g,l({}),!h&&cs(m)&&c(g,In(m)))},[l,c]),d=(0,W.useCallback)(m=>{switch(m.type){case"drag-start":{p(m);break}case"save":{c(i.current,In(m));break}case"query":if(m.query==="PARENT_CONTAINER")return Fo(m.query,m.path,i.current);break;default:{u(m);break}}},[u,c]),p=An(i,d,r);return(0,W.useEffect)(()=>{if(n){let m=se(i.current,zn);if(m){let h=co(m),g=xe(n,`${m.props.path}.0`),y=h?{type:$.REPLACE,target:h,replacement:g}:{type:$.ADD,path:m.props.path,component:g};u(y,!0)}else if(n.id===P(i.current,"id")){let h=xe(n,"0"),g={type:$.REPLACE,target:i.current,replacement:h};u(g,!0)}}},[u,n]),i.current===void 0?i.current=Bt(t):t!==s.current&&(i.current=Bt(t,i.current),s.current=t),(0,Wo.jsx)(Ue.Provider,{value:{createNewChild:o,dispatchLayoutProvider:d,version:0},children:i.current})},ne=()=>{let{dispatchLayoutProvider:e}=(0,W.useContext)(Ue);return e},Go=()=>{let{createNewChild:e}=(0,W.useContext)(Ue);return e},Bn=()=>{let{version:e}=(0,W.useContext)(Ue);return e};var at=(e,t,o,r)=>{var y;let{loadSessionState:n,purgeSessionState:a,purgeState:i,saveSessionState:s}=Ae(),[l,c]=(0,we.useState)((y=n(e,"contributions"))!=null?y:[]),u=ne(),d=(0,we.useCallback)((f,x)=>{let R=l.concat([{location:f,content:x}]);s(e,"contributions",R),c(R)},[l,e,s]),p=(0,we.useCallback)(()=>{a(e,"contributions"),c([])},[e,a]),m=(0,we.useCallback)(()=>{let f=n(e,"data-source");f&&f.unsubscribe(),a(e),i(e),u({type:"remove",path:o})},[u,e,n,a,i,o]),h=(0,we.useCallback)(async(f,x,R)=>{var E;f.stopPropagation();let w=(E=t.current)==null?void 0:E.getBoundingClientRect();return new Promise((b,v)=>{u({type:"drag-start",evt:f,path:x===void 0?o:`${o}.${x}`,dragRect:w,preDragActivity:R,dropTargets:r,resolveDragStart:b,rejectDragStart:v})})},[t,u,o,r]);return[(0,we.useCallback)(async(f,x)=>{var w;let{type:R}=f;switch(R){case"maximize":case"minimize":case"restore":return u({type:R,path:(w=f.path)!=null?w:o});case"remove":return m();case"mousedown":return h(x,f.index,f.preDragActivity);case"add-toolbar-contribution":return d(f.location,f.content);case"remove-toolbar-contribution":return p();case"query":return u({type:R,path:f.path,query:f.query});default:return}},[u,o,m,h,d,p]),l]};var _n=require("@vuu-ui/vuu-utils"),Gn=require("@salt-ds/core"),Wn=C(require("clsx")),U=C(require("react"));var Vt=require("@vuu-ui/vuu-ui-controls"),_t=C(require("clsx")),Re=require("react");var Je=require("react/jsx-runtime"),Uo="vuuHeader",Jo=({className:e,contributions:t,collapsed:o,closeable:r,onEditTitle:n,orientation:a="horizontal",style:i,title:s="Untitled"})=>{let l=(0,Re.useRef)(null),[c,u]=(0,Re.useState)(s),[d,p]=(0,Re.useState)(!1),m=Yo(),h=L=>m==null?void 0:m({type:"remove"},L),g=()=>{var L;(L=l.current)==null||L.focus()},y=L=>{L.stopPropagation()},x=(0,_t.default)(Uo,e,`${Uo}-${o||a}`),R=()=>{p(!0)},w=L=>{L.key==="Enter"&&p(!0)},E=(L="",k="",O=!0,I=!1)=>{var A;p(!1),I?u(L):k!==L&&(u(k),n==null||n(k)),O===!1&&((A=l.current)==null||A.focus())},b=L=>{m==null||m({type:"mousedown"},L)},v=[],T=[],M=[];return t==null||t.forEach((L,k)=>{switch(L.location){case"pre-title":v.push((0,Re.cloneElement)(L.content,{key:k}));break;default:T.push((0,Re.cloneElement)(L.content,{key:k}))}}),s&&v.push((0,Je.jsx)(Vt.EditableLabel,{className:`${Uo}-title`,editing:d,value:c,onChange:u,onMouseDownCapture:g,onEnterEditMode:R,onExitEditMode:E,onKeyDown:w,ref:l,tabIndex:0},"title")),r&&M.push((0,Je.jsx)(Vt.IconButton,{icon:"close",onClick:h,onMouseDown:y,variant:"secondary"},"close")),T.length>0&&v.push((0,Je.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:T},"contributions")),M.length>0&&v.push((0,Je.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:M},"actions")),(0,Je.jsx)("div",{className:(0,_t.default)("vuuToolbarProxy",x),style:i,onMouseDown:b,children:v})};var ie=require("react");var On=({id:e,rootRef:t,path:o,dropTargets:r,title:n})=>{let a=ne(),{loadState:i,loadSessionState:s,purgeState:l,saveState:c,saveSessionState:u}=Ae(),[d,p]=at(e,t,o,r),m=(0,ie.useMemo)(()=>{var b;return(b=i("view-title"))!=null?b:n},[i,n]),h=(0,ie.useCallback)(b=>{o&&a({type:"set-title",path:o,title:b})},[a,o]),g=(0,ie.useMemo)(()=>i(e),[e,i]),y=(0,ie.useCallback)(b=>i(e,b),[e,i]),f=(0,ie.useCallback)(b=>{l(e,b),a({type:"save"})},[e,a,l]),x=(0,ie.useCallback)((b,v)=>{c(e,v,b),a({type:"save"})},[e,a,c]),R=(0,ie.useCallback)(b=>s(e,b),[e,s]),w=(0,ie.useCallback)((b,v)=>u(e,v,b),[e,u]),E=(0,ie.useCallback)(({type:b,...v})=>{let{[b]:T}=v;x(T,b)},[x]);return{contributions:p,dispatchViewAction:d,load:y,loadSession:R,onConfigChange:E,onEditTitle:h,purge:f,restoredState:g,save:x,saveSession:w,title:m}};var ae=require("react");var Oe=require("react"),Xo=["height","width"],ds=["height"],ms=["width"],Be=new WeakMap,Nn=(e,t,o)=>{switch(o){case"height":return t.height;case"scrollHeight":return e.scrollHeight;case"scrollWidth":return e.scrollWidth;case"width":return t.width;default:return 0}},Zo=new ResizeObserver(e=>{for(let t of e){let{target:o,contentRect:r}=t,n=Be.get(o);if(n){let{onResize:a,measurements:i}=n,s=!1;for(let[l,c]of Object.entries(i)){let u=Nn(o,r,l);u!==c&&(s=!0,i[l]=u)}s&&a&&a(i)}}});function st(e,t,o,r=!1){let n=(0,Oe.useRef)(t),a=(0,Oe.useCallback)(i=>{let s=i.getBoundingClientRect();return n.current.reduce((l,c)=>(l[c]=Nn(i,s,c),l),{})},[]);(0,Oe.useLayoutEffect)(()=>{let i=e.current,s=!1;async function l(){Be.set(i,{measurements:{}}),s=!1;let{fonts:c}=document;if(c&&await c.ready,!s){let u=Be.get(i);if(u){let d=a(i);u.measurements=d,Zo.observe(i),r&&o(d)}}}if(i){if(Be.has(i))throw Error("useResizeObserver attemping to observe same element twice");l()}return()=>{i&&Be.has(i)&&(Zo.unobserve(i),Be.delete(i),s=!0)}},[e,a,r,o]),(0,Oe.useLayoutEffect)(()=>{let i=e.current,s=Be.get(i);if(s){if(n.current!==t){n.current=t;let l=a(i);s.measurements=l}s.onResize=o}},[t,a,e,o])}function fs(e,t){let o=document.body.querySelector(`.${e}`),r={get:function(n,a){let i=n.getPropertyValue(`--${e}-breakpoint-${a}`);return i?parseInt(i):void 0}};return o?new Proxy(getComputedStyle(o),r):t!=null?t:{}}var hs=([,e],[,t])=>t-e,qo=e=>Object.entries(e).sort(hs).map(([t,o],r,n)=>[t,o,r<n.length-1?n[r+1][1]:9999]),jo=null,gs=(e="salt")=>{let{xs:t,sm:o,md:r,lg:n,xl:a}=fs(e);return qo({xs:t,sm:o,md:r,lg:n,xl:a})},Fn=e=>(jo===null&&(jo=gs(e)),jo);var ys=[],Qo=({breakPoints:e,smallerThan:t},o)=>{let[r,n]=(0,ae.useState)(t?!1:"lg"),a=(0,ae.useRef)(document.body),i=(0,ae.useRef)(e?qo(e):Fn()),s=(0,ae.useRef)("lg"),l=(0,ae.useCallback)(u=>{if(i.current){for(let[d,p]of i.current)if(u>=p)return d}},[i]),c=(0,ae.useCallback)(u=>{if(t){let d=i.current.find(([p])=>p===t);if(d){let[,,p]=d;return u<p}}else return l(u);return u},[t,l]);return st(o||a,i.current?["width"]:ys,({width:u})=>{let d=c(u);d!==s.current&&(s.current=d,n(d))},!0),(0,ae.useEffect)(()=>{let u=o||a;if(u.current){let d=s.current;if(i.current){let{clientWidth:p}=u.current,m=c(p);s.current=m,m!==d&&n(m)}}},[n,c,o]),r};var Hn="data-collapsible",bs={[Hn]:!0,"data-pad-start":!0,"data-pad-end":!0},$n=e=>{var t;return(t=bs[e])!=null?t:!1},xs=e=>e===Hn,vs={dynamic:"dynamic",instant:"instant",true:"instant"},ws=e=>{var t;return(t=vs[e])!=null?t:"none"},Rs=e=>Object.keys(e).reduce((t,o)=>{let[r,n]=t;if($n(o)){let a=xs(o)?ws(e[o]):e[o];r[o]=a,n[o]=void 0}return t},[{},{}]);var Ye=require("react"),Es=[],Vn=({mainRef:e,resize:t="responsive",rootRef:o})=>{let r=t==="defer",n=(0,Ye.useRef)({}),a=(0,Ye.useRef)(),i=(0,Ye.useCallback)(()=>{e.current&&(e.current.style.height=n.current.height+"px",e.current.style.width=n.current.width+"px"),a.current=void 0},[e]),s=(0,Ye.useCallback)(({height:l,width:c})=>{n.current.height=l,n.current.width=c,a.current!==null&&clearTimeout(a.current),a.current=window.setTimeout(i,40)},[i]);st(o,r?Xo:Es,s,r)};var lt=C(require("react")),Ds={dispatch:null},ct=lt.default.createContext(Ds),Yo=()=>{var t;let e=(0,lt.useContext)(ct);return(t=e==null?void 0:e.dispatch)!=null?t:null},Ko=()=>(0,lt.useContext)(ct);var Ze=require("react/jsx-runtime"),ut="vuuView",Ss=(e,t)=>e&&t?{...e,...t}:e||t,Un=(0,U.forwardRef)(function(t,o){let{Header:r=Jo,children:n,className:a,collapsed:i,closeable:s,"data-path":l,"data-resizeable":c,dropTargets:u,expanded:d,flexFill:p,id:m,header:h,orientation:g="horizontal",path:y=l,resize:f="responsive",resizeable:x=c,tearOut:R,style:w={},title:E,...b}=t,v=(0,_n.useId)(m),T=(0,U.useRef)(null),M=(0,U.useRef)(null),[L,k]=(0,U.useState)(),{contributions:O,dispatchViewAction:I,load:A,loadSession:j,onConfigChange:q,onEditTitle:De,purge:Se,restoredState:hr,save:gr,saveSession:yr,title:ro}=On({id:v,rootRef:T,path:y,dropTargets:u,title:E});Vn({mainRef:M,resize:f,rootRef:T});let br=(0,U.useCallback)(Mi=>{k(Mi)},[]),Pi=()=>U.default.isValidElement(n)&&(hr||L)?U.default.cloneElement(n,Ss(hr,L)):n,Li=(0,U.useMemo)(()=>({dispatch:I,id:v,path:y,title:ro,load:A,loadSession:j,onConfigChange:q,purge:Se,save:gr,saveSession:yr,setComponentProps:br}),[I,v,A,j,q,y,Se,gr,yr,br,ro]),Ci=typeof h=="object"?h:{};return(0,Ze.jsx)("div",{...b,className:(0,Wn.default)(ut,a,{[`${ut}-collapsed`]:i,[`${ut}-expanded`]:d,[`${ut}-resize-defer`]:f==="defer"}),"data-resizeable":x,id:v,ref:(0,Gn.useForkRef)(o,T),style:w,tabIndex:-1,children:(0,Ze.jsxs)(ct.Provider,{value:Li,children:[h?(0,Ze.jsx)(r,{...Ci,collapsed:i,contributions:O,expanded:d,closeable:s,onEditTitle:De,orientation:g,tearOut:R,title:ro}):null,(0,Ze.jsx)("div",{className:`${ut}-main`,ref:M,children:Pi()})]})})});Un.displayName="View";var Ne=U.default.memo(Un);Ne.displayName="View";N("View",Ne,"view");var de=require("react/jsx-runtime"),Gt="vuuLayoutStartPanel",Yn=e=>{let{dispatch:t,path:o}=Ko(),[r,n]=(0,Wt.useState)();return(0,Wt.useMemo)(()=>{t==null||t({type:"query",path:o,query:"PARENT_CONTAINER"}).then(i=>{(i==null?void 0:i.parentContainerId)==="main-tabs"?n("initial"):n("nested")})},[t,o]),r===void 0?null:(0,de.jsxs)("div",{...e,className:Gt,children:[r==="initial"?(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)("header",{className:`${Gt}-title`,children:"Start by adding a table"}),(0,de.jsx)("div",{className:`${Gt}-text`,children:"To add a table, drag any of the Vuu Tables to this area or click the button below"})]}):null,(0,de.jsx)(Jn.Button,{className:`${Gt}-addButton`,"data-icon":"add",variant:"cta"})]})};var Fe=require("react/jsx-runtime"),Ts="vuuPlaceholder",Ps=({showStartMenu:e=!0})=>(0,Fe.jsx)(Fe.Fragment,{children:e?(0,Fe.jsx)(Yn,{}):null}),He=({className:e,showStartMenu:t,...o})=>{let r=(0,Zn.default)(Ts,e);return(0,Fe.jsx)(Ne,{...o,className:r,"data-placeholder":!0,resizeable:!0,children:(0,Fe.jsx)(Ps,{showStartMenu:t})})};He.displayName="Placeholder";N("Placeholder",He);var Xn=C(require("clsx")),J=C(require("react"));var er=require("react/jsx-runtime"),Ut="vuuSplitter",jn=J.default.memo(function({column:t,index:o,onDrag:r,onDragEnd:n,onDragStart:a,style:i}){let s=(0,J.useRef)(),l=(0,J.useRef)(null),c=(0,J.useRef)(0),[u,d]=(0,J.useState)(!1),p=(0,J.useCallback)(({key:b,shiftKey:v})=>{let T=v?10:1;t&&b==="ArrowDown"?r(o,T):t&&b==="ArrowUp"||!t&&b==="ArrowLeft"?r(o,-T):!t&&b==="ArrowRight"&&r(o,T)},[t,o,r]),m=(0,J.useCallback)(b=>{let{key:v}=b;(t&&(v==="ArrowUp"||v==="ArrowDown")||!t&&(v==="ArrowLeft"||v==="ArrowRight"))&&(a(o),p(b),h.current=p)},[t,p,o,a]),h=(0,J.useRef)(m),g=b=>h.current(b),y=(0,J.useCallback)(b=>{s.current=!0;let v=b[t?"clientY":"clientX"],T=v-c.current;v&&v!==c.current&&r(o,T),c.current=v},[t,o,r]),f=(0,J.useCallback)(()=>{var b;window.removeEventListener("mousemove",y,!1),window.removeEventListener("mouseup",f,!1),n(),d(!1),(b=l.current)==null||b.focus()},[y,n,d]),x=(0,J.useCallback)(b=>{c.current=t?b.clientY:b.clientX,a(o),window.addEventListener("mousemove",y,!1),window.addEventListener("mouseup",f,!1),b.preventDefault(),d(!0)},[t,y,f,o,a,d]),R=()=>{var b;s.current?s.current=!1:(b=l.current)==null||b.focus()},w=()=>{h.current=m},E=(0,Xn.default)(Ut,{[`${Ut}-active`]:u,[`${Ut}-column`]:t});return(0,er.jsx)("div",{className:E,"data-splitter":!0,ref:l,role:"separator",style:i,onBlur:w,onClick:R,onKeyDown:g,onMouseDown:x,tabIndex:0,children:(0,er.jsx)("div",{className:`${Ut}-grab-zone`})})});var Ls={},pt=1,dt=2,Cs=e=>typeof e.intrinsicSize=="number",Ms=(e,t)=>{let o={};return e.forEach(r=>{o[r]=P(t,r)}),o},Jt=(e,t,o)=>e.map((r,n)=>{var l;let a=P(r,"resizeable"),{[t]:i}=(l=Z(r))!=null?l:Ls,s=Co(r);return o?{index:n,flexOpen:s,intrinsicSize:i,resizeable:a,...Ms(o,r)}:{index:n,flexOpen:s,intrinsicSize:i,resizeable:a}}),qn=e=>{let t=e.length,o=e.every(Cs),r=Array(t).fill(0);if(o&&t>0&&(r[0]=dt,r[t-1]=dt),t<2)return r;for(let n=0,a=0;n<t-1;n++)e[n].resizeable&&!a&&(a=pt),r[n]+=a;for(let n=t-1;n>0&&(r[n]&pt&&(r[n]-=pt),!e[n].resizeable);n--);return r},Qn=(e,t)=>{let o=As(e,t),r=zs(e,t),n=o!==-1&&r!==-1?[o,r]:void 0,a=ks(e,n);return[n,a]};function ks(e,t){if(t){let o=[];for(let r=0;r<e.length;r++)e[r].flexOpen&&!t.includes(r)&&o.push(r);return o}}function As(e,t){let o=t,r=!1;for(;o>=1&&!r;)o=o-1,r=Kn(e,o);return o}function zs(e,t){let o=t,r=!1,n=e.length;for(;o<n-1&&!r;)o=o+1,r=Kn(e,o);return o===n?-1:o}function Kn(e,t){let{placeholder:o,splitter:r,resizeable:n,intrinsicSize:a}=e[t];return!!(!r&&!a&&(o||n))}var Is=e=>!e.splitter&&!e.placeholder,oi=({children:e,onSplitterMoved:t,style:o})=>{let r=(0,B.useRef)(null),n=(0,B.useRef)(),a=(0,B.useRef)(),i=(0,B.useRef)([]),[,s]=(0,B.useState)({}),l=y=>{a.current=y,s({})},c=(o==null?void 0:o.flexDirection)==="column",u=c?"height":"width",d=(0,B.useMemo)(()=>Array.isArray(e)?e:B.default.isValidElement(e)?[e]:[],[e]),p=(0,B.useCallback)(y=>{let{current:f}=n;if(f){let[x,R]=Qn(f,y);x&&(x.forEach(w=>{var b;let E=(b=r.current)==null?void 0:b.childNodes[w];if(E){let{size:v,minSize:T}=Fs(E,u);f[w].currentSize=v,f[w].minSize=T}}),R&&R.forEach(w=>{var b;let E=(b=r.current)==null?void 0:b.childNodes[w];if(E){let{[u]:v}=E.getBoundingClientRect();f[w].flexBasis=v}}))}},[u]),m=(0,B.useCallback)((y,f)=>{a.current&&n.current&&l(Os(a.current,n.current,f,u))},[u]),h=(0,B.useCallback)(()=>{let y=n.current;y&&(t==null||t(y.filter(Is))),y==null||y.forEach(f=>{f.currentSize=void 0,f.flexBasis=void 0,f.flexOpen=!1})},[t]),g=(0,B.useCallback)(y=>B.default.createElement(jn,{column:c,index:y,key:`splitter-${y}`,onDrag:m,onDragEnd:h,onDragStart:p}),[m,h,p,c]);return(0,B.useMemo)(()=>{let[y,f]=Bs(d,u,g,i.current);n.current=f,a.current=y},[d,g,u]),{content:a.current||[],rootRef:r}};function Bs(e,t,o,r){let n=Jt(e,t),a=qn(n),i=[],s=[];for(let l=0;l<e.length;l++){let c=e[l];if(l===0&&a[l]&dt&&(i.push(ei(l)),s.push({placeholder:!0,shim:!0})),c.key==null){let u=r[l]||(r[l]=(0,ti.getUniqueId)());i.push(B.default.cloneElement(c,{key:u}))}else i.push(c);s.push(n[l]),l>0&&a[l]&dt?(i.push(ei(l)),s.push({placeholder:!0})):a[l]&pt&&(i.push(o(i.length)),s.push({splitter:!0}))}return[i,s]}function Os(e,t,o,r){return Ns(t,o)?e.map((a,i)=>{let s=t[i],{currentSize:l,flexOpen:c,flexBasis:u}=s,d=l!==void 0;if(d||c){let{flexBasis:p}=a.props.style||{},m=d?s.currentSize:u;return m!==p?B.default.cloneElement(a,{style:{...a.props.style,flexBasis:m,[r]:"auto"}}):a}else return a}):e}function Ns(e,t){let o=[];e.forEach((u,d)=>{u.currentSize!==void 0&&o.push(d)});let r=t<0?o[0]:o[1],{currentSize:n=0,minSize:a=0}=e[r];if(n===a)return!1;if(Math.abs(t)>n-a){let u=t<0?-1:1;t=Math.max(0,n-a)*u}let i=e[o[0]],{currentSize:s=0}=i;i.currentSize=s+t;let l=e[o[1]],{currentSize:c=0}=l;return l.currentSize=c-t,!0}function ei(e){return B.default.createElement(He,{shim:e===0,key:`placeholder-${e}`})}function Fs(e,t){let{[t]:o}=e.getBoundingClientRect(),n=getComputedStyle(e).getPropertyValue(`min-${t}`),a=n.endsWith("px")?parseInt(n,10):0;return{size:o,minSize:a}}var si=require("react/jsx-runtime"),tr="hwFlexbox",ai=(0,ii.forwardRef)(function(t,o){let{breakPoints:r,children:n,column:a,className:i,flexFill:s,gap:l,fullPage:c,id:u,onSplitterMoved:d,resizeable:p,row:m,spacing:h,splitterSize:g,style:y,...f}=t,{content:x,rootRef:R}=oi({children:n,onSplitterMoved:d,style:y}),w=(0,ni.default)(tr,i,{[`${tr}-column`]:a,[`${tr}-row`]:m,"flex-fill":s,"full-page":c});return(0,si.jsx)("div",{...f,className:w,"data-resizeable":p||void 0,id:u,ref:(0,ri.useForkRef)(R,o),style:{...y,gap:l,"--spacing":h},children:x})});ai.displayName="Flexbox";var Yt=ai;var li=require("react");var ci=require("react/jsx-runtime"),or=function(t){let{path:o}=t,r=ne(),n=(0,li.useCallback)(a=>{r({type:Ie.SPLITTER_RESIZE,path:o,sizes:a})},[r,o]);return(0,ci.jsx)(Yt,{...t,onSplitterMoved:n})};or.displayName="Flexbox";N("Flexbox",or,"container");var di=require("@vuu-ui/vuu-utils"),mi=require("@salt-ds/core"),fi=C(require("clsx")),Xt=require("react");var ui=require("@vuu-ui/vuu-utils"),X=require("react");var Hs=["xs","sm","md","lg","xl"],$s=12,pi=({children:e,cols:t,style:o})=>{let r=(0,X.useRef)(null),n=(0,X.useRef)(null),a=(0,X.useRef)(),i=t!=null?t:$s,l=(o==null?void 0:o.flexDirection)==="column"?"height":"width",c=(0,X.useMemo)(()=>Array.isArray(e)?e:(0,X.isValidElement)(e)?[e]:[],[e]),u=(0,X.useCallback)((d,p)=>{let m=Jt(d,p,Hs),h=[],g=[];for(let y=0;y<d.length;y++){let f=d[y],{style:{flex:x,...R}}=f.props;h.push((0,X.cloneElement)(f,{key:(0,ui.getUniqueId)(),style:{...R,"--parent-col-count":i}})),g.push(m[y])}return[h,g]},[i]);return(0,X.useMemo)(()=>{let[d,p]=u(c,l);n.current=p,a.current=d},[u,c,l]),{cols:i,content:a.current,rootRef:r}};var hi=require("react/jsx-runtime"),Zt="hwFluidGrid",jt=(0,Xt.forwardRef)(function(t,o){let{breakPoints:r,children:n,column:a,cols:i=12,className:s,flexFill:l,gap:c=3,fullPage:u,id:d,onSplitterMoved:p,resizeable:m,row:h,showGrid:g,spacing:y,splitterSize:f,style:x,...R}=t,w=(0,Xt.useMemo)(()=>(0,di.asReactElements)(n),[n]),{cols:E,content:b,rootRef:v}=pi({children:w,cols:i,style:x}),T=Qo({breakPoints:r},v),M=(0,fi.default)(Zt,s,{[`${Zt}-column`]:a,[`${Zt}-row`]:h,[`${Zt}-show-grid`]:g,"flex-fill":l,"full-page":u}),L={...x,"--spacing":y,"--grid-col-count":E,"--grid-gap":c};return(0,hi.jsx)("div",{...R,className:M,"data-breakpoint":T,"data-cols":E,"data-resizeable":m||void 0,id:d,ref:(0,mi.useForkRef)(v,o),style:L,children:b})});jt.displayName="FluidGrid";var gi=require("react/jsx-runtime"),rr=function(t){return(0,gi.jsx)(jt,{...t})};rr.displayName="FluidGrid";N("FluidGrid",rr,"container");var yi=require("@vuu-ui/vuu-utils"),Qt=require("@vuu-ui/vuu-ui-controls"),nr=C(require("clsx")),Kt=require("react");var qt=require("react/jsx-runtime"),Vs=e=>{let t=e.cloneNode(!0);return t.id="",delete t.dataset.idx,t},ir=(0,Kt.memo)(({className:e,children:t,idx:o,resizeable:r,header:n,closeable:a,...i})=>(0,qt.jsx)(Qt.ListItem,{className:(0,nr.default)("vuuPaletteItem",e),"data-draggable":!0,"data-icon":"draggable",...i}));ir.displayName="PaletteItem";var bi=({ListProps:e,ViewProps:t,children:o,className:r,itemHeight:n=41,orientation:a="horizontal",...i})=>{let s=ne(),l="vuuPalette";function c(u){var L,k;let p=u.target.closest(".vuuPaletteItem"),m=parseInt((k=(L=p.dataset)==null?void 0:L.index)!=null?k:"-1"),{props:{caption:h,children:g,template:y,...f}}=o[m],{ViewProps:x}=g.props,{height:R,left:w,top:E,width:b}=p.getBoundingClientRect(),v=(0,yi.uuid)(),M=y?g:(0,qt.jsx)(Ne,{...t,...{id:v,key:v},...f,...x,title:f.label,children:g});s({dragRect:{left:w,top:E,right:w+b,bottom:E+150,width:b,height:R},dragElement:Vs(p),evt:u.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,DriftHomeIfNoDropTarget:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:M,type:"drag-start"})}return(0,qt.jsx)(Qt.List,{...e,...i,className:(0,nr.default)(l,r,`${l}-${a}`),itemHeight:n,selected:null,children:o.map((u,d)=>u.type===ir?(0,Kt.cloneElement)(u,{key:d,onMouseDown:c}):u)})};N("Palette",bi,"view");var eo=require("@vuu-ui/vuu-ui-controls"),xi=require("@vuu-ui/vuu-utils"),sr=C(require("clsx")),le=C(require("react"));var Xe=require("react/jsx-runtime"),ar="vuuTabs",_s=()=>{},Gs=e=>{let t=[];return le.default.Children.forEach(e,o=>{le.default.isValidElement(o)?t.push(o):console.warn("Stack has unexpected child element type")}),t},Ws={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},to=(0,le.forwardRef)(function({TabstripProps:t=Ws,active:o=0,children:r,className:n,getTabIcon:a=_s,getTabLabel:i=ze,id:s,keyBoardActivation:l="manual",onAddTab:c,onMoveTab:u,onTabClose:d,onTabEdit:p,onTabSelectionChanged:m,showTabs:h="top",style:g},y){var O;let f=(0,xi.useId)(s),x=(0,le.useRef)([]),{allowCloseTab:R,allowRenameTab:w,className:E}=t,b=(0,le.useCallback)((I,A,j,q)=>{p==null||p(q,A)},[p]),v=()=>{var I;return le.default.isValidElement(r)?r:Array.isArray(r)&&(I=r[o])!=null?I:null},T=()=>Gs(r).map((I,A)=>{let{closeable:j=R,id:q=`${f}-${A}`,"data-tab-location":De}=I.props,Se=i(I,A,x.current);return x.current.push(Se),(0,Xe.jsx)(eo.Tab,{ariaControls:q,"data-icon":a(I,A),id:`${q}-tab`,index:A,label:Se,location:De,closeable:j,editable:w},q)}),M=v(),L=h==="left"||h==="right",k=L?"vertical":"horizontal";return(0,Xe.jsxs)("div",{className:(0,sr.default)(ar,n,{[`${ar}-horizontal`]:L}),style:g,id:f,ref:y,children:[h?(0,Xe.jsx)(eo.Tabstrip,{...t,activeTabIndex:(O=t==null?void 0:t.activeTabIndex)!=null?O:M===null?-1:o,allowDragDrop:t.allowDragDrop!==!1,animateSelectionThumb:!0,className:(0,sr.default)("vuuTabHeader",E),"aria-label":"data tabs",keyBoardActivation:l,onActiveChange:m,onAddTab:c,onCloseTab:d,onExitEditMode:b,onMoveTab:u,orientation:k,children:T()}):null,(0,Xe.jsx)("div",{"aria-labelledby":`${f}-${o}`,className:`${ar}-tabPanel`,role:"tabpanel",children:M})]})});to.displayName="Stack";var vi=require("@vuu-ui/vuu-utils"),Ee=C(require("react"));var cr=require("react/jsx-runtime"),Us=()=>(0,cr.jsx)(He,{resizeable:!0,style:{flexGrow:1,flexShrink:0,flexBasis:0}}),lr=e=>{var E;let t=(0,Ee.useRef)(null),o=ne(),{loadState:r}=Ae(),{createNewChild:n,id:a,onTabSelectionChanged:i,path:s,...l}=e,{children:c}=e,u=(0,vi.useId)(a),[d]=at(u,t,s),p=Go(),m=(E=n!=null?n:p)!=null?E:Us,h=b=>{s&&(o({type:"switch-tab",id:u,path:s,nextIdx:b}),i==null||i(b))},g=(0,Ee.useCallback)(b=>{if(Array.isArray(c)){let{props:{"data-path":v,path:T=v}}=c[b];o({type:"remove",path:T})}},[c,o]),y=(0,Ee.useCallback)(()=>{if(s){let b=Ee.default.Children.count(c),v=m(b);o({type:"add",path:s,component:v})}},[c,m,o,s]),f=(0,Ee.useCallback)((b,v)=>{s&&o({fromIndex:b,toIndex:v,path:s,type:"move-child"})},[o,s]);return(0,cr.jsx)(to,{...l,id:u,getTabLabel:(b,v,T)=>{let{id:M,title:L}=b.props;return r(M,"view-title")||L||ze(b,v,T)},onMouseDown:async(b,v)=>{let T;await d({type:"mousedown",index:v,preDragActivity:async()=>new Promise(k=>{console.log("preDragActivity: Ok, gonna release the drag"),T=k})},b)&&(T==null||T(void 0))},onMoveTab:f,onAddTab:y,onTabClose:g,onTabEdit:(b,v)=>{o({type:"set-title",path:`${s}.${b}`,title:v})},onTabSelectionChanged:h,ref:t})};lr.displayName="Stack";N("Stack",lr,"container");var je=C(require("react"));var $e=require("react/jsx-runtime"),Js=({children:e})=>{let[o,r]=(0,je.useState)(e),[n,a]=(0,je.useState)(e),i=l=>{let c=uo(o,l);a(c)},s=(l,c)=>{console.log(`change ${l} -> ${c}`);let u=je.default.cloneElement(n,{style:{...n.props.style,[l]:c}});a(u),r(je.default.cloneElement(o,{},u))};return(0,$e.jsxs)("div",{"data-design-mode":"false",children:[o,(0,$e.jsx)("br",{}),(0,$e.jsxs)("div",{style:{display:"flex"},children:[(0,$e.jsx)(ur,{height:300,managedStyle:n.props.style,width:300,onChange:s,style:void 0}),(0,$e.jsx)(pr,{layout:o,onSelect:i,style:{width:300,height:300,backgroundColor:"#ccc"}})]})]})};var ce=require("@salt-ds/core"),z=require("react/jsx-runtime"),mr={},Ys={margin:{top:"marginTop",right:"marginRight",bottom:"marginBottom",left:"marginLeft"},border:{top:"borderTopWidth",right:"borderRightWidth",bottom:"borderBottomWidth",left:"borderLeftWidth"},padding:{top:"paddingTop",right:"paddingRight",bottom:"paddingBottom",left:"paddingLeft"}},dr=({feature:e,children:t,style:o,onChange:r})=>(0,z.jsxs)("div",{className:`LayoutBox layout-${e} layout-outer`,children:[(0,z.jsxs)("div",{className:"layout-top",children:[(0,z.jsx)("span",{className:"layout-title",children:e}),(0,z.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,z.jsx)(ce.Input,{value:o.top,onChange:(n,a)=>r(e,"top",a)})})]}),(0,z.jsxs)("div",{className:"layout-inner",children:[(0,z.jsx)("div",{className:"layout-left",children:(0,z.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,z.jsx)(ce.Input,{value:o.left,onChange:(n,a)=>r(e,"left",a)})})}),t,(0,z.jsx)("div",{className:"layout-right",children:(0,z.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,z.jsx)(ce.Input,{value:o.right,onChange:(n,a)=>r(e,"right",a)})})})]}),(0,z.jsx)("div",{className:"layout-bottom",children:(0,z.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,z.jsx)(ce.Input,{value:o.bottom,onChange:(n,a)=>r(e,"bottom",a)})})})]}),Zs={margin:!0,marginTop:!0,marginRight:!0,marginBottom:!0,marginLeft:!0},Xs={padding:!0,paddingTop:!0,paddingRight:!0,paddingBottom:!0,paddingLeft:!0},js={border:!0,borderColor:!0,borderWidth:!0,borderTopWidth:!0,borderRightWidth:!0,borderBottomWidth:!0,borderLeftWidth:!0},oo="(\\d+)(?:px)?",qs=`^(?:${oo}(?:\\s${oo}(?:\\s${oo}(?:\\s${oo})?)?)?)$`,wi=new RegExp(qs),Qs=/^(?:(\d+)(?:px)\ssolid\s([a-zA-Z,0-9().]+))$/,ur=({height:e,managedStyle:t,onChange:o,style:r,width:n})=>{let a=Ri(t),i=(R,w,E)=>{let b=parseInt(E||"0",10),v=Ys[R][w];o(v,b)},{marginTop:s=0,marginRight:l=0,marginBottom:c=0,marginLeft:u=0}=a,{borderTopWidth:d=0,borderRightWidth:p=0,borderBottomWidth:m=0,borderLeftWidth:h=0}=a,{paddingTop:g=0,paddingRight:y=0,paddingBottom:f=0,paddingLeft:x=0}=a;return(0,z.jsx)("div",{className:"LayoutConfigurator",style:{width:n,height:e,...r},children:(0,z.jsx)(dr,{feature:"margin",style:{top:s,right:l,bottom:c,left:u},onChange:i,children:(0,z.jsx)(dr,{feature:"border",style:{top:d,right:p,bottom:m,left:h},onChange:i,children:(0,z.jsx)(dr,{feature:"padding",style:{top:g,right:y,bottom:f,left:x},onChange:i,children:(0,z.jsx)("div",{className:"layout-content"})})})})})};function Ks(e=mr,t=mr){let{margin:o,marginTop:r,marginRight:n,marginBottom:a,marginLeft:i,padding:s,paddingTop:l,paddingRight:c,paddingBottom:u,paddingLeft:d,...p}=e;if(typeof o=="number")p.marginTop=p.marginRight=p.marginBottom=p.marginLeft=o;else if(typeof o=="string"){let m=wi.exec(o);if(m===null)console.error(`Invalid css value for margin '${o}'`);else{let[,h,g,y,f]=m,x=h&&g&&y;x&&f?(p.marginTop=parseInt(h,10),p.marginRight=parseInt(g,10),p.marginBottom=parseInt(y,10),p.marginLeft=parseInt(f,10)):x?(p.marginTop=parseInt(h,10),p.marginRight=p.marginLeft=parseInt(g,10),p.marginBottom=parseInt(y,10)):h&&g?(p.marginTop=p.marginBottom=parseInt(h,10),p.marginRight=p.marginLeft=parseInt(g,10)):p.marginTop=p.marginRight=p.marginBottom=p.marginLeft=parseInt(h,10)}}if(typeof r=="number"&&(p.marginTop=r),typeof n=="number"&&(p.marginRight=n),typeof a=="number"&&(p.marginBottom=a),typeof i=="number"&&(p.marginLeft=i),typeof s=="number")p.paddingTop=p.paddingRight=p.paddingBottom=p.paddingLeft=s;else if(typeof s=="string"){let m=wi.exec(s);if(m===null)console.error(`Invalid css value for padding '${s}'`);else{let[,h,g,y,f]=m,x=h&&g&&y;x&&f?(p.paddingTop=parseInt(h,10),p.paddingRight=parseInt(g,10),p.paddingBottom=parseInt(y,10),p.paddingLeft=parseInt(f,10)):x?(p.paddingTop=parseInt(h,10),p.paddingRight=p.paddingLeft=parseInt(g,10),p.paddingBottom=parseInt(y,10)):h&&g?(p.paddingTop=p.paddingBottom=parseInt(h,10),p.paddingRight=p.paddingLeft=parseInt(g,10)):p.paddingTop=p.paddingRight=p.paddingBottom=p.paddinggLeft=parseInt(h,10)}}return typeof l=="number"&&(p.paddingTop=l),typeof c=="number"&&(p.paddingRight=c),typeof u=="number"&&(p.paddingBottom=u),typeof d=="number"&&(p.paddingLeft=d),Ri(p,t)}function Ri(e=mr){let t={...e},o,{border:r,borderWidth:n,borderTopWidth:a,borderRightWidth:i,borderBottomWidth:s,borderLeftWidth:l,borderColor:c,margin:u,marginTop:d,marginRight:p,marginBottom:m,marginLeft:h,padding:g,paddingTop:y,paddingRight:f,paddingBottom:x,paddingLeft:R,...w}=t,E={},b={};if(typeof u=="number"&&(t.marginTop=t.marginRight=t.marginBottom=t.marginLeft=u,E={marginTop:u,marginRight:u,marginBottom:u,marginLeft:u}),typeof g=="number"&&(t.paddingTop=t.paddingRight=t.paddingBottom=t.paddingLeft=g,b={paddingTop:g,paddingRight:g,paddingBottom:g,paddingLeft:g}),r||n||a||i||s||l){typeof r=="string"&&(o=Qs.exec(r))&&([,n,c]=o,n=parseInt(n,10)),n&&(a=a===void 0?n:a,i=i===void 0?n:i,s=s===void 0?n:s,l=l===void 0?n:l),c=c||"black";let v=`
18
18
  ${c} ${l||0}px ${a||0}px 0 0 inset,
19
19
  ${c} ${-i||0}px ${-s||0}px 0 0 inset`;return{...w,...E,...b,borderTopWidth:a,borderRightWidth:i,borderBottomWidth:s,borderLeftWidth:l,borderColor:c,borderStyle:"solid",boxShadow:v}}else return t}var Ei=C(require("react")),Di=C(require("clsx"));var Si=require("@vuu-ui/vuu-ui-controls"),fr=require("react/jsx-runtime"),el="hwLayoutTreeViewer",Ti=(e,t="0")=>({label:S(e),path:t,childNodes:Ei.default.Children.map(e.props.children,(o,r)=>Ti(o,t?`${t}.${r}`:`${r}`))}),pr=({layout:e,onSelect:t,style:o})=>{let r=[Ti(e)],n=(a,[{path:i}])=>{t(i)};return(0,fr.jsx)("div",{className:(0,Di.default)(el),style:o,children:(0,fr.jsx)(Si.Tree,{source:r,groupSelection:"single",onSelectionChange:n})})};
20
20
  //# sourceMappingURL=index.js.map