@vuu-ui/vuu-layout 0.6.13 → 0.6.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +2 -2
- package/esm/index.js +1 -1
- package/esm/index.js.map +2 -2
- package/package.json +6 -6
package/cjs/index.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
/>
|
|
15
15
|
</path>
|
|
16
16
|
</svg>
|
|
17
|
-
`,document.body.insertBefore(t,e)}}var Je=class{constructor(){this.currentPath=null;this.tabMode=null;Ui()}prepare(t,o="full-view"){document.body.classList.add("drawing"),this.currentPath=null,this.tabMode=o;let n=this.getPoints(0,0,0,0),r=yn(n),i=document.getElementById("vuu-drop-outline");i==null||i.setAttribute("d",r),this.currentPath=r}clear(){Ye=null,Rt(),document.body.classList.remove("drawing"),xt.PopupService.hidePopup()}get hoverDropTarget(){return Ye}getPoints(t,o,n,r,i=0,s=0,a=0){let l=this.tabMode==="tab-only";if(s===0)return[[t,o+a],[t,o+a],[t,o],[t+s,o],[t+s,o],[t+n,o],[t+n,o+r],[t,o+r]];if(l){let c=i;return[[c,o],[c,o],[c+s,o],[c+s,o],[c+s,o+a],[c+s,o+a],[c,o+a],[c,o+a]]}else return i===0?[[t,o+a],[t,o+a],[t,o],[t+s,o],[t+s,o+a],[t+n,o+a],[t+n,o+r],[t,o+r]]:[[t,o+a],[t+i,o+a],[t+i,o],[t+i,o],[t+i,o+a],[t+n,o+a],[t+n,o+r],[t,o+r]]}draw(t,o){let r=ao;if(Ye!==null)this.drawTarget(Ye);else if(ao=t.nextDropTarget!=null,t.pos.tab?Xi(t):ee&&Rt(),this.drawTarget(t,o),ao){let[i,s,a]=io(t);{let l=(0,Rn.jsx)(so,{dropTarget:t,onHover:Vi,orientation:a});xt.PopupService.showPopup({left:i,top:s,component:l})}}else xt.PopupService.hidePopup()}drawTarget(t,o){let r=t.getTargetDropOutline(6,o);if(r){let{l:i,t:s,r:a,b:l,tabLeft:c,tabWidth:p,tabHeight:m,guideLines:u}=r,f=a-i,h=l-s;if(this.currentPath){let E=document.getElementById("vuu-drop-outline");E==null||E.setAttribute("d",this.currentPath)}let g=this.getPoints(i,s,f,h,c,p,m),y=yn(g),d=document.getElementById("hw-drop-outline-animate");d==null||d.setAttribute("to",y),d==null||d.beginElement(),this.currentPath=y;let b=document.getElementById("hw-drop-guides");b==null||b.setAttribute("d",Gi(u))}}},bn="transition:margin-left .4s ease-out;margin-left: 63px",xn="transition:margin-left .4s ease-out;margin-left: 0px";function Xi(e){var a,l;let{AFTER:t,BEFORE:o}=Ze,{clientRect:{Stack:n},pos:{tab:r}}=e,{id:i}=e.component.props,s=null;if(n&&r&&r.positionRelativeToTab!==t){let c=r.positionRelativeToTab===o?1:2,p=`:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${r.index+c})`;s=(a=document.getElementById(i))==null?void 0:a.querySelector(p),s?(ee===null||ee!==s)&&(s.style.cssText=bn,ee&&(ee.style.cssText=xn),ee=s):Rt()}else if((r==null?void 0:r.positionRelativeToTab)===o){if(ee===null){let c=".vuuHeader-title";s=(l=document.getElementById(i))==null?void 0:l.querySelector(c),s.style.cssText=bn,ee=s}}else Rt()}function Rt(){ee&&(ee.style.cssText=xn,ee=null)}var me,je,Re,Sn,Tn,Ee,Et,Fe=null,co,Dn,Ke,wn,lo,St=null,Zi=3,Tt=new Je,En=.4;function Yi(e,t){return t?V(e,t):ae(e,o=>o.dropTarget)}var Pt={handleMousedown(e,t,o={}){me=t,Dn=o,Sn=e.clientX,Tn=e.clientY,lo=o.dragThreshold===void 0?Zi:o.dragThreshold,lo===0?me(e,0,0):(window.addEventListener("mousemove",Dt,!1),window.addEventListener("mouseup",wt,!1),St=window.setTimeout(()=>{console.log("mousedownTimer fires"),window.removeEventListener("mousemove",Dt,!1),window.removeEventListener("mouseup",wt,!1),me==null||me(e,0,0)},500)),e.preventDefault()},initDrag(e,t,{top:o,left:n,right:r,bottom:i},s,a,l,c){return{drag:je,drop:Re}=a,Ji(e,t,{top:o,left:n,right:r,bottom:i},s,l,c)}};function Dt(e){let n=e.clientX-Sn,r=e.clientY-Tn;Math.max(Math.abs(n),Math.abs(r))>lo&&(window.removeEventListener("mousemove",Dt,!1),window.removeEventListener("mouseup",wt,!1),me==null||me(e,n,r),me=null)}function wt(){St&&(window.clearTimeout(St),St=null),window.removeEventListener("mousemove",Dt,!1),window.removeEventListener("mouseup",wt,!1)}function Ji(e,t,o,n,r,i){Ee=Yi(e,t);let{"data-path":s,path:a=s}=D(Ee);i&&(co=i.map(u=>ae(e,f=>f.id===u)).map(u=>u.props.path)),Ke=$e.measure(Ee,i),console.log({_measurements:Ke});let l=Ke[a];Et=new yt(l,n.x,n.y,o,r);let c=Math.round(Et.x.mousePct*100),p=Math.round(Et.y.mousePct*100);return window.addEventListener("mousemove",Pn,!1),window.addEventListener("mouseup",vn,!1),wn=!1,Tt.prepare(o,"tab-only"),Dn.DoNotTransform?"transform:none":`transform:scale(${En},${En});transform-origin:${c}% ${p}%;`}function Pn(e){let t=e.clientX,o=e.clientY,n=Et,r=Fe,i,s,a;n.update("x",t)&&(s=n.x.pos),n.update("y",o)&&(a=n.y.pos),s===void 0&&a===void 0||je==null||je(s,a),!(wn||Ee===void 0)&&(n.inBounds()?i=bt(t,o,Ee,Ke,n.hasIntrinsicSize(),co):i=bt(n.dropX(),n.dropY(),Ee,Ke),r&&(i==null||i.box!==r.box)&&(Fe=null),i&&(Tt.draw(i,n),Fe=i))}function vn(){ji()}function ji(){if(Fe){let e=Tt.hoverDropTarget||ue.getActiveDropTarget(Fe);Re==null||Re(e),Fe=null}else Re==null||Re({component:Ee,pos:{position:W.Absolute}});je=null,Re=null,Ee=void 0,Tt.clear(),co=void 0,window.removeEventListener("mousemove",Pn,!1),window.removeEventListener("mouseup",vn,!1)}var Ln=M(require("classnames")),Mn=require("react");var An=require("react/jsx-runtime"),po=(0,Mn.forwardRef)(function({children:t,className:o,dropTarget:n,...r},i){let s=(0,Ln.default)("DraggableLayout",o);return(0,An.jsx)("div",{className:s,ref:i,...r,children:t})}),Cn="DraggableLayout";po.displayName=Cn;B(Cn,po,"container");var Xn=require("@salt-ds/core"),Zn=M(require("classnames")),Yn=require("react");var Gn=require("@vuu-ui/vuu-utils"),O=M(require("react"));var In=M(require("classnames"));var kn=require("react/jsx-runtime"),zn="vuuPlaceholder",qe=({className:e,closeable:t,flexFill:o,resizeable:n,shim:r,...i})=>(0,kn.jsx)("div",{className:(0,In.default)(zn,e,{[`${zn}-shim`]:r}),...i,"data-placeholder":!0,"data-resizeable":!0});qe.displayName="Placeholder";B("Placeholder",qe);var Bn=M(require("classnames")),_=M(require("react"));var uo=require("react/jsx-runtime"),On=_.default.memo(function({column:t,index:o,onDrag:n,onDragEnd:r,onDragStart:i,style:s}){let a=(0,_.useRef)(),l=(0,_.useRef)(null),c=(0,_.useRef)(0),[p,m]=(0,_.useState)(!1),u=(0,_.useCallback)(({key:x,shiftKey:T})=>{let v=T?10:1;t&&x==="ArrowDown"?n(o,v):t&&x==="ArrowUp"||!t&&x==="ArrowLeft"?n(o,-v):!t&&x==="ArrowRight"&&n(o,v)},[t,o,n]),f=(0,_.useCallback)(x=>{let{key:T}=x;(t&&(T==="ArrowUp"||T==="ArrowDown")||!t&&(T==="ArrowLeft"||T==="ArrowRIght"))&&(i(o),u(x),h.current=u)},[t,u,o,i]),h=(0,_.useRef)(f),g=x=>h.current(x),y=(0,_.useCallback)(x=>{a.current=!0;let T=x[t?"clientY":"clientX"],v=T-c.current;T&&T!==c.current&&n(o,v),c.current=T},[t,o,n]),d=(0,_.useCallback)(()=>{var x;window.removeEventListener("mousemove",y,!1),window.removeEventListener("mouseup",d,!1),r(),m(!1),(x=l.current)==null||x.focus()},[y,r,m]),b=(0,_.useCallback)(x=>{c.current=t?x.clientY:x.clientX,i(o),window.addEventListener("mousemove",y,!1),window.addEventListener("mouseup",d,!1),x.preventDefault(),m(!0)},[t,y,d,o,i,m]),E=()=>{var x;a.current?a.current=!1:(x=l.current)==null||x.focus()},R=()=>{h.current=f},S=(0,Bn.default)("Splitter","focusable",{active:p,column:t});return(0,uo.jsx)("div",{className:S,"data-splitter":!0,ref:l,role:"separator",style:s,onBlur:R,onClick:E,onKeyDown:g,onMouseDown:b,tabIndex:0,children:(0,uo.jsx)("div",{className:"grab-zone"})})});var fo=require("@vuu-ui/vuu-utils"),ho=M(require("react"));var Ki={"data-placeholder":!0,"data-resizeable":!0},vt={},Se="auto",mo={flexBasis:0,flexGrow:1,flexShrink:1,height:Se,width:Se},Hn={height:"width",width:"height"},$n=(e="row")=>e==="row"?["width","height","column"]:["height","width","row"],qi=e=>typeof e=="string"&&e.endsWith("%"),j=e=>{let{style:{width:t=Se,height:o=Se}=vt}=e.props,n=typeof o=="number",r=typeof t=="number";return n&&r?{height:o,width:t}:n?{height:o}:r?{width:t}:void 0};function go(e,t,o){let n=Hn[t],{style:{[n]:r=Se,...i}=vt}=e.props;return o&&o[t]?{...i,...mo,flexBasis:o[t],flexGrow:0,flexShrink:0}:{...i,...mo,[n]:r}}function Fn(e){let{style:{flex:t,flexGrow:o,flexShrink:n,flexBasis:r}=vt}=e.props;return typeof t=="number"||r===0&&o===1&&n===1?!0:typeof r!="number"}function yo(e,t,o){let n=Hn[t],{style:{[t]:r=Se,[n]:i=Se,...s}=vt}=e.props;return r!==Se?qi(r)?{flexBasis:0,flexGrow:1,flexShrink:1,[t]:void 0,[n]:i}:{flexBasis:r,flexGrow:0,flexShrink:0,[t]:r,[n]:i}:o&&o[t]?{...s,...mo,flexBasis:o[t],flexGrow:0,flexShrink:0}:{...s,[n]:i}}function Qe(e,t,o,n,r){let i=[],s=0,a;if(n&&r){let p,[m,u,f,h]=r;[p,a]=t==="column"?[u-n.top,n.bottom-h]:[m-n.left,n.right-f],p&&i.push(le(`${o}.${s++}`,p,{flexGrow:0,flexShrink:0}))}else a=!0;let{version:l=0,style:c}=D(e);return i.push($(e,`${o}.${s++}`,{version:l+1,style:{...c,flexBasis:"auto",flexGrow:0,flexShrink:0}})),a&&i.push(le(`${o}.${s++}`,0,void 0,{[`data-${t}-placeholder`]:!0})),bo(t,{resizeable:!1,style:{flexBasis:"auto"}},i,o)}var Qi=(e,t)=>{if(!t)return e===0?1:0};function bo(e,t,o,n){let r=(0,fo.uuid)(),{flexFill:i,style:s,resizeable:a=!0}=t,{flexBasis:l=i?void 0:"auto"}=s,c=Qi(l,i);return ho.default.createElement(pe.Flexbox,{id:r,key:r,path:n,flexFill:i,style:{...s,flexDirection:e,flexBasis:l,flexGrow:c,flexShrink:c},resizeable:a},o)}var es={flexGrow:1,flexShrink:1};function le(e,t,o,n){let r=(0,fo.uuid)();return ho.default.createElement("div",{...Ki,...n,"data-path":e,id:r,key:r,style:{...es,...o,flexBasis:t}})}var ts={},et=1,tt=2,os=e=>typeof e.intrinsicSize=="number",ns=(e,t)=>{let o={};return e.forEach(n=>{o[n]=w(t,n)}),o},Lt=(e,t,o)=>e.map((n,r)=>{var l;let i=w(n,"resizeable"),{[t]:s}=(l=j(n))!=null?l:ts,a=Fn(n);return o?{index:r,flexOpen:a,intrinsicSize:s,resizeable:i,...ns(o,n)}:{index:r,flexOpen:a,intrinsicSize:s,resizeable:i}}),Nn=e=>{let t=e.length,o=e.every(os),n=Array(t).fill(0);if(o&&(n[0]=tt,n[t-1]=tt),t<2)return n;for(let r=0,i=0;r<t-1;r++)e[r].resizeable&&!i&&(i=et),n[r]+=i;for(let r=t-1;r>0&&(n[r]&et&&(n[r]-=et),!e[r].resizeable);r--);return n},Vn=(e,t)=>{let o=is(e,t),n=ss(e,t),r=o!==-1&&n!==-1?[o,n]:void 0,i=rs(e,r);return[r,i]};function rs(e,t){if(t){let o=[];for(let n=0;n<e.length;n++)e[n].flexOpen&&!t.includes(n)&&o.push(n);return o}}function is(e,t){let o=t,n=!1;for(;o>=1&&!n;)o=o-1,n=Wn(e,o);return o}function ss(e,t){let o=t,n=!1,r=e.length;for(;o<r&&!n;)o=o+1,n=Wn(e,o);return o===r?-1:o}function Wn(e,t){let{placeholder:o,splitter:n,resizeable:r,intrinsicSize:i}=e[t];return Boolean(!n&&!i&&(o||r))}var as=e=>!e.splitter&&!e.placeholder,Un=({children:e,onSplitterMoved:t,style:o})=>{let n=(0,O.useRef)(null),r=(0,O.useRef)(),i=(0,O.useRef)(),s=(0,O.useRef)([]),[,a]=(0,O.useState)({}),l=y=>{i.current=y,a({})},c=(o==null?void 0:o.flexDirection)==="column",p=c?"height":"width",m=(0,O.useMemo)(()=>Array.isArray(e)?e:O.default.isValidElement(e)?[e]:[],[e]),u=(0,O.useCallback)(y=>{let{current:d}=r;if(d){let[b,E]=Vn(d,y);b&&(b.forEach(R=>{var x;let S=(x=n.current)==null?void 0:x.childNodes[R];if(S){let{size:T,minSize:v}=us(S,p);d[R].currentSize=T,d[R].minSize=v}}),E&&E.forEach(R=>{var x;let S=(x=n.current)==null?void 0:x.childNodes[R];if(S){let{[p]:T}=S.getBoundingClientRect();d[R].flexBasis=T}}))}},[p]),f=(0,O.useCallback)((y,d)=>{i.current&&r.current&&l(cs(i.current,r.current,d,p))},[p]),h=(0,O.useCallback)(()=>{let y=r.current;y&&(t==null||t(y.filter(as))),y==null||y.forEach(d=>{d.currentSize=void 0,d.flexBasis=void 0,d.flexOpen=!1})},[t]),g=(0,O.useCallback)(y=>O.default.createElement(On,{column:c,index:y,key:`splitter-${y}`,onDrag:f,onDragEnd:h,onDragStart:u}),[f,h,u,c]);return(0,O.useMemo)(()=>{let[y,d]=ls(m,p,g,s.current);r.current=d,i.current=y},[m,g,p]),{content:i.current||[],rootRef:n}};function ls(e,t,o,n){let r=Lt(e,t),i=Nn(r),s=[],a=[];for(let l=0;l<e.length;l++){let c=e[l];if(l===0&&i[l]&tt&&(s.push(_n(l)),a.push({placeholder:!0,shim:!0})),c.key==null){let p=n[l]||(n[l]=(0,Gn.getUniqueId)());s.push(O.default.cloneElement(c,{key:p}))}else s.push(c);a.push(r[l]),l>0&&i[l]&tt?(s.push(_n(l)),a.push({placeholder:!0})):i[l]&et&&(s.push(o(s.length)),a.push({splitter:!0}))}return[s,a]}function cs(e,t,o,n){return ps(t,o)?e.map((i,s)=>{let a=t[s],{currentSize:l,flexOpen:c,flexBasis:p}=a,m=l!==void 0;if(m||c){let{flexBasis:u}=i.props.style||{},f=m?a.currentSize:p;return f!==u?O.default.cloneElement(i,{style:{...i.props.style,flexBasis:f,[n]:"auto"}}):i}else return i}):e}function ps(e,t){let o=[];e.forEach((p,m)=>{p.currentSize!==void 0&&o.push(m)});let n=t<0?o[0]:o[1],{currentSize:r=0,minSize:i=0}=e[n];if(r===i)return!1;if(Math.abs(t)>r-i){let p=t<0?-1:1;t=Math.max(0,r-i)*p}let s=e[o[0]],{currentSize:a=0}=s;s.currentSize=a+t;let l=e[o[1]],{currentSize:c=0}=l;return l.currentSize=c-t,!0}function _n(e){return O.default.createElement(qe,{shim:e===0,key:`placeholder-${e}`})}function us(e,t){let{[t]:o}=e.getBoundingClientRect(),r=getComputedStyle(e).getPropertyValue(`min-${t}`),i=r.endsWith("px")?parseInt(r,10):0;return{size:o,minSize:i}}var jn=require("react/jsx-runtime"),xo="hwFlexbox",Jn=(0,Yn.forwardRef)(function(t,o){let{breakPoints:n,children:r,column:i,className:s,flexFill:a,gap:l,fullPage:c,id:p,onSplitterMoved:m,resizeable:u,row:f,spacing:h,splitterSize:g,style:y,...d}=t,{content:b,rootRef:E}=Un({children:r,onSplitterMoved:m,style:y}),R=(0,Zn.default)(xo,s,{[`${xo}-column`]:i,[`${xo}-row`]:f,"flex-fill":a,"full-page":c});return(0,jn.jsx)("div",{...d,className:R,"data-resizeable":u||void 0,id:p,ref:(0,Xn.useForkRef)(E,o),style:{...y,gap:l,"--spacing":h},children:b})});Jn.displayName="Flexbox";var Mt=Jn;var Sr=require("react");var Me={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",MAXIMIZE:"maximize",MINIMIZE:"minimize",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAR_OUT:"tear-out"};var U=require("react");var Ao=M(require("react"));var vo=require("@vuu-ui/vuu-utils"),Ne=M(require("react"));var Do=require("@vuu-ui/vuu-utils"),Te=M(require("react"));var Ce=require("react"),G=new Map,K=new Map,Ro=e=>G.get(e),Eo=e=>G.has(e),So=(e,t)=>G.set(e,t),Ae=()=>{let e=(0,Ce.useCallback)((s,a)=>{let l=K.get(s);if(l)return a!==void 0&&l[a]!==void 0?l[a]:a!==void 0?void 0:l},[]),t=(0,Ce.useCallback)((s,a,l)=>{if(a===void 0)K.set(s,l);else if(K.has(s)){let c=K.get(s);K.set(s,{...c,[a]:l})}else K.set(s,{[a]:l})},[]),o=(0,Ce.useCallback)((s,a)=>{if(K.has(s)){if(a===void 0)K.delete(s);else if(K.get(s)[a]){let{[a]:c,...p}=K.get(s);Object.keys(p).length>0?K.set(s,p):K.delete(s)}}},[]),n=(0,Ce.useCallback)((s,a)=>{let l=G.get(s);if(l)return a!==void 0?l[a]:l},[]),r=(0,Ce.useCallback)((s,a,l)=>{if(a===void 0)G.set(s,l);else if(G.has(s)){let c=G.get(s);G.set(s,{...c,[a]:l})}else G.set(s,{[a]:l})},[]),i=(0,Ce.useCallback)((s,a)=>{if(G.has(s)){if(a===void 0)G.delete(s);else if(G.get(s)[a]){let{[a]:c,...p}=G.get(s);Object.keys(p).length>0?G.set(s,p):G.delete(s)}}},[]);return{loadSessionState:e,loadState:n,saveSessionState:t,saveState:r,purgeState:i,purgeSessionState:o}};var Kn=e=>e.flexDirection==="column"?["height","width"]:["width","height"],ms={},ot=(e,t="0")=>{let[o,n]=Po(P(e),e.props,t);return Te.default.cloneElement(e,o,n)},wo=(e,t)=>{let o=P(e),[n,r]=Po(o,e.props,"0",void 0,t);return(0,Te.cloneElement)(e,n,r)};function ds(e,t,o="0",n=null,r){var g,y;let{active:i=0,"data-path":s,path:a=s,id:l,style:c}=D(r),p=P(r)===e&&o===a,m=p?l:(g=t.id)!=null?g:(0,Do.uuid)(),u=e==="Stack"?(y=t.active)!=null?y:i:void 0,f=m,h=p?c:hs(e,t,n);return Zt(e)?{id:m,key:f,path:o,style:h,type:e,active:u}:{id:m,key:f,style:h,"data-path":o}}function Po(e,t,o,n=null,r){var c,p;let i=ds(e,t,o,n,r);if(t.layout&&!r)return[i,[Ct(t.layout,`${o}.0`)]];let s=(p=r==null?void 0:r.children)!=null?p:(c=r==null?void 0:r.props)==null?void 0:c.children,l=t.dropTarget&&s?s:fs(e,t.children,o,s);return[i,l]}function fs(e,t,o="0",n){let r=Array.isArray(t)?t:Te.default.isValidElement(t)?[t]:[];return N(e)?r.map((i,s)=>{let a=P(i),l=P(n==null?void 0:n[s]);if(!l||a===l){let[c,p]=Po(a,i.props,`${o}.${s}`,e,n==null?void 0:n[s]);return Te.default.cloneElement(i,c,p)}return n==null?void 0:n[s]}):t}var hs=(e,t,o)=>{let{style:n=ms}=t;if(e==="Flexbox"&&(n={flexDirection:t.column?"column":"row",...n,display:"flex"}),n.flex){let{flex:r,...i}=n;n={...i,...ht(typeof r=="number"?r:0)}}else o==="Stack"?n={...n,...ht(1)}:o==="Flexbox"&&(n.width||n.height)&&n.flexBasis===void 0&&(n={...n,flexBasis:"auto",flexGrow:0,flexShrink:0});return n};function Ct({id:e=(0,Do.uuid)(),type:t,children:o,props:n,state:r},i){let s=t.match(/^[a-z]/)?t:pe[t];if(s===void 0)throw Error(`layoutUtils unable to create component from JSON, unknown type ${t}`);return r&&So(e,r),Te.default.createElement(s,{id:e,...n,key:e,path:i},o?o.map((a,l)=>Ct(a,`${i}.${l}`)):void 0)}function qn(e){return Qn(e)}function Qn(e){let t=P(e),{id:o,children:n,type:r,...i}=D(e),s=Eo(o)?Ro(o):void 0;return{id:o,type:t,props:gs(i),state:s,children:Te.default.Children.map(n,Qn)}}function gs(e){if(e){let{path:t,...o}=e,n={};for(let[r,i]of Object.entries(o))n[r]=To(i);return n}}function To(e){if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return e.map(To);if(typeof e=="object"&&e!==null){let t={};for(let[o,n]of Object.entries(e))t[o]=To(n);return t}}function er(e,t){var s;let o=e.props.children,n=o.length,{index:r=-1,positionRelativeToTab:i="after"}=t.tab||{};return r===-1||r>=n?[o[n-1],"after"]:[(s=o[r])!=null?s:null,i]}function At(e,t,o){let{active:n,children:r=[],path:i}=D(e),s=w(t,"path"),{idx:a,finalStep:l}=J(i,s,!0),[c,p]=l?ys(e,r,o):[n,r==null?void 0:r.map((u,f)=>f===a?At(u,t,o):u)],m=P(e)==="Stack"?Array.isArray(c)?c[0]:c:n;return Ne.default.cloneElement(e,{active:m},p)}function ys(e,t,o){let n=w(e,"path"),r=t==null?void 0:t.length,{id:i=(0,vo.uuid)()}=D(o);return r?[r,t.concat($(o,`${n}.${r}`,{id:i,key:i}))]:[0,[$(o,`${n}.0`,{id:i})]]}function zt(e,t,o,n,r,i,s){let{active:a,children:l,path:c}=D(e),p=w(t,"path"),{idx:m,finalStep:u}=J(c,p),[f,h]=u?bs(e,l,m,o,n,r,i,s):[a,l.map((y,d)=>d===m?zt(y,t,o,n,r,i,s):y)],g=P(e)==="Stack"?f:a;return Ne.default.cloneElement(e,{active:g},h)}function bs(e,t,o,n,r,i,s,a){let l=j(n);return l!=null&&l.width&&(l!=null&&l.height)?Rs(e,t,o,n,r,s,a):tr(e,t,o,n,r,(i==null?void 0:i.width)||(i==null?void 0:i.height),s)}var xs=(e,t,{top:o,right:n,bottom:r,left:i},[s,a,l,c])=>{if(e==="column"&&t==="before")return a-o;if(e==="column")return r-c;if(e==="row"&&t==="before")return s-i;if(e==="row")return n-l};function Rs(e,t,o,n,r,i,s){let{style:{flexDirection:a}}=D(e),[l,c,p]=$n(a),{[c]:m,[l]:u}=j(n),f=w(t[o],"path"),h=xs(a,r,i,s),[g,y]=m<i[c]?[Qe(n,p,f,i,s),u]:[n,void 0],d=h?le(f,h,{flexGrow:0,flexShrink:0}):void 0;return m>i[c]&&(t=t.map(b=>{if(w(b,"placeholder"))return b;{let{[c]:E}=j(b);return E&&E<m?Qe(b,p,w(b,"path")):b}})),tr(e,t,o,g,r,y,i,d)}function tr(e,t,o,n,r,i,s,a){let l=w(e,"path"),c=0,p=!t||t.length===0?[n]:t.reduce((m,u,f)=>{if(o===f){let[h,g]=Es(e,u,n,s);r==="before"?a?m.push(a,g,h):m.push(g,h):a?m.push(h,g,a):m.push(h,g),c=m.indexOf(g)}else m.push(u);return m},[]).map((m,u)=>u<c?m:$(m,`${l}.${u}`));return[c,p]}function Es(e,t,o,n){let r=(0,vo.uuid)(),{version:i=0}=D(o);if(i+=1,P(e)==="Flexbox"){let[s]=Kn(e.props.style),a=6,l={[s]:(n[s]-a)/2},c=yo(t,s,l),p=yo(o,s,l);return[Ne.default.cloneElement(t,{style:c}),Ne.default.cloneElement(o,{id:r,version:i,style:p})]}else{let{style:{left:s,top:a,flex:l,...c}={left:void 0,top:void 0,flex:void 0}}=D(o);return[t,Ne.default.cloneElement(o,{id:r,version:i,style:c})]}}var q={ADD:"add",DRAG_START:"drag-start",DRAG_DROP:"drag-drop",MAXIMIZE:"maximize",MINIMIZE:"minimize",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAROUT:"tearout"};var De=M(require("react"));var nt=M(require("react"));function or(e,{target:t,replacement:o}){return Lo(e,t,o)}function Lo(e,t,o){let n=w(t,"path"),r=w(t,"resizeable"),{style:i}=D(t),s=ot(nt.default.cloneElement(o,{resizeable:r,style:{...i,...o.props.style}}),n);return te(e,t,s)}function te(e,t,o,n){if(e===t)return o;let{idx:r,finalStep:i}=J(w(e,"path"),w(t,"path")),s=e.props.children.slice();return i?n?n===Me.MINIMIZE?s[r]=Ss(e,s[r]):n===Me.RESTORE&&(s[r]=Ts(s[r])):s[r]=o:s[r]=te(s[r],t,o,n),nt.default.cloneElement(e,void 0,s)}function Ss(e,t){let{style:o}=D(e),{style:n}=D(t),{width:r,height:i,flexBasis:s,flexShrink:a,flexGrow:l,...c}=n,p={width:r,height:i,flexBasis:s,flexShrink:a,flexGrow:l},m={...c,flexBasis:0,flexGrow:0,flexShrink:0},u=o.flexDirection==="row"?"vertical":o.flexDirection==="column"?"horizontal":!1;return u?nt.default.cloneElement(t,{collapsed:u,restoreStyle:p,style:m}):t}function Ts(e){let{style:t,restoreStyle:o}=D(e),{flexBasis:n,flexShrink:r,flexGrow:i,...s}=t,a={...s,...o};return nt.default.cloneElement(e,{collapsed:!1,style:a,restoreStyle:void 0})}function Mo(e,{path:t}){let o=V(e,t),n=se(e,t);if(n===null)return e;let{children:r}=D(n);if(r.length>1&&rr(r,t)){let{style:{flexBasis:i,display:s,flexDirection:a,...l}}=D(n),c=w(n,"path"),p=te(e,n,le(c,i,l));for(;(n=se(p,c))&&w(n,"path")!=="0";){let{children:m}=D(n);if(rr(m)){c=w(n,"path");let{style:{flexBasis:u,display:f,flexDirection:h,...g}}=D(n);p=te(e,n,le(c,u,g))}else if(vs(m))p=ar(e,n);else break}return p}return ir(e,o)}function ir(e,t){let o=D(e),{children:n,path:r,preserve:i}=o,{active:s}=o,{idx:a,finalStep:l}=J(r,w(t,"path")),c=P(e),p=n.slice();if(l){if(p.splice(a,1),s!==void 0&&s>=a&&(s=Math.max(0,s-1)),p.length===1&&!i&&r!=="0"&&c.match(/Flexbox|Stack/))return Ds(e,p[0]);!p.some(ws)&&p.some(sr)&&(p=Ps(p))}else p[a]=ir(p[a],t);return p=p.map((m,u)=>$(m,`${r}.${u}`)),De.default.cloneElement(e,{active:s},p)}function Ds(e,t){let o=P(e),{path:n,style:{flexBasis:r,flexGrow:i,flexShrink:s,width:a,height:l}}=D(e),c=$(t,n);if(n==="0")c=De.default.cloneElement(c,{style:{...t.props.style,width:a,height:l}});else if(o==="Flexbox"){let p=e.props.style.flexDirection==="column"?"height":"width",{style:{[p]:m,...u}}=c.props;c=De.default.cloneElement(c,{flexFill:void 0,style:{...u,flexGrow:i,flexShrink:s,flexBasis:r,width:a,height:l}})}return c}var ws=e=>e.props.style.flexGrow>0,sr=e=>{let{width:t,height:o,flexGrow:n}=e.props.style;return n===0&&typeof t!="number"&&typeof o!="number"},Ps=e=>e.map(t=>sr(t)?De.default.cloneElement(t,{style:{...t.props.style,flexGrow:1}}):t),vs=e=>{if(e&&e.length>0){let t=w(e[0],"placeholder"),o=!1;for(let n=1;n<e.length;n++){if(o=w(e[n],"placeholder"),t&&o)return!0;t=o}}},ar=(e,t)=>{let{children:o,path:n}=D(e),{idx:r,finalStep:i}=J(n,w(t,"path")),s=o.slice();return i?s[r]=Ls(t):s[r]=ar(s[r],t),s=s.map((a,l)=>$(a,`${n}.${l}`)),De.default.cloneElement(e,void 0,s)},Ls=e=>{let{children:t}=D(e),o=[],n=[];for(let i=0;i<t.length;i++)w(t[i],"placeholder")?n.push(t[i]):(n.length===1?o.push(n.pop()):n.length>0&&(o.push(nr(n)),n.length=0),o.push(t[i]));n.length===1?o.push(n.pop()):n.length>0&&o.push(nr(n));let r=w(e,"path");return De.default.cloneElement(e,void 0,o.map((i,s)=>$(i,`${r}.${s}`)))},nr=([e,...t])=>{let o=w(e,"style"),{flexBasis:n,flexGrow:r,flexShrink:i}=o;for(let{props:{style:s}}of t)n+=s.flexBasis,r=Math.max(r,s.flexGrow),i=Math.max(i,s.flexShrink);return De.default.cloneElement(e,{style:{...o,flexBasis:n,flexGrow:r,flexShrink:i}})},rr=(e,t)=>e.every(o=>w(o,"placeholder")||t&&w(o,"path")===t);var Co=M(require("react"));function lr(e,{path:t,sizes:o}){let n=V(e,t,!0),{children:r,style:i}=D(n),s=i.flexDirection==="column"?"height":"width",a=Ms(r,o,s),l=Co.default.cloneElement(n,void 0,a);return te(e,n,l)}function Ms(e,t,o){return e.map((n,r)=>{let{style:{[o]:i,flexBasis:s}}=D(n),a=t[r],{currentSize:l,flexBasis:c}=a,m=l!==void 0?a.currentSize:c;return m===void 0||i===m||s===m?n:Co.default.cloneElement(n,{style:Cs(n.props.style,o,m)})})}function Cs(e,t,o){let n=typeof e[t]=="number",{flexShrink:r=1,flexGrow:i=1}=e;return{...e,[t]:n?o:"auto",flexBasis:n?"auto":o,flexShrink:r,flexGrow:i}}var cr=require("@vuu-ui/vuu-utils"),rt=M(require("react"));var pr=e=>{let[t]=P(e);return t===t.toLowerCase()};function it(e,t,o,n,r,i){let{children:s,path:a}=D(e),l=w(t,"path"),{idx:c,finalStep:p}=J(a,l),m=p?As(e,s,t,o,n,r,i):s.map((u,f)=>f===c?it(u,t,o,n,r,i):u);return rt.default.cloneElement(e,void 0,m)}function As(e,t,o,n,r,i,s){let a=j(n);if(a!=null&&a.width&&(a!=null&&a.height)){if(i===void 0||s===void 0)throw Error("wrap-layout-element, updateChildren clientRect and dropRect must both be available");return Is(t,o,n,r,i,s)}return zs(e,t,o,n,r)}function zs(e,t,o,n,r){var x;let{version:i=0}=D(n),s=w(o,"path"),{type:a,flexDirection:l,showTabs:c}=mr(r),[p,m,u]=ks(a,o,n,l,r),f=ur(r),h=f?1:0,g={resizeable:!0,style:u,version:i+1},d={[pr(o)?"data-resizeable":"resizeable"]:!0,style:m},b=a==="Stack"?{showTabs:c}:void 0,E=a==="Flexbox"?{splitterSize:(x=P(e)==="Flexbox"&&e.props.splitterSize)!=null?x:void 0}:void 0,R=(0,cr.uuid)(),S=rt.default.createElement(pe[a],{active:h,id:R,key:R,path:w(o,"path"),flexFill:w(o,"flexFill"),...E,...b,style:p,resizeable:w(o,"resizeable")},f?[$(o,`${s}.0`,d),ot(rt.default.cloneElement(n,g),`${s}.1`)]:[ot(rt.default.cloneElement(n,g),`${s}.0`),$(o,`${s}.1`,d)]);return t.map(T=>T===o?S:T)}function Is(e,t,o,n,r,i){let{flexDirection:s}=mr(n),a=s==="column"?"row":"column",l=ur(n),[c,p,m,u]=i,[f,h]=s==="column"?[p-r.top,r.bottom-u]:[c-r.left,r.right-m],g=w(t,"path"),y=0,d=pr(t)?"data-resizeable":"resizeable",b=[];f&&b.push(l?$(t,`${g}.${y++}`,{[d]:!0,style:{flexBasis:f,flexGrow:1,flexShrink:1}}):le(`${g}.${y++}`,f,{flexGrow:0,flexShrink:0})),b.push(Qe(o,a,`${g}.${y++}`,r,i)),h&&b.push(l?le(`${g}.${y++}`,0):$(t,`${g}.${y++}`,{[d]:!0,style:{flexBasis:0,flexGrow:1,flexShrink:1}}));let E=bo(s,t.props,b,g);return e.map(R=>R===t?E:R)}function ks(e,t,o,n,r){let i={...t.props.style,flexDirection:n},s=e==="Flexbox"&&n==="column"?"height":"width",a=go(o,s,r),l=go(t,s);return[i,l,a]}var ur=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 mr(e){return e.position.Header?{type:"Stack",flexDirection:"column",showTabs:!0}:{type:"Flexbox",flexDirection:e.position.EastOrWest?"row":"column"}}var gr=(e,t)=>{switch(t.type){case q.ADD:return Fs(e,t);case q.DRAG_DROP:return $s(e,t);case q.MAXIMIZE:return Hs(e,t);case q.REMOVE:return Mo(e,t);case q.REPLACE:return or(e,t);case q.SET_TITLE:return Os(e,t);case q.SPLITTER_RESIZE:return lr(e,t);case q.SWITCH_TAB:return Bs(e,t);default:return e}},Bs=(e,{path:t,nextIdx:o})=>{let n=V(e,t,!0),r=Ao.default.cloneElement(n,{active:o});return te(e,n,r)},Os=(e,{path:t,title:o})=>{let n=V(e,t,!0),r=Ao.default.cloneElement(n,{title:o});return te(e,n,r)},Hs=(e,{path:t,type:o})=>{if(t){let n=V(e,t,!0);return te(e,n,n,o)}else return e},$s=(e,t)=>{var h,g;let{draggedReactElement:o,dragInstructions:n,dropTarget:r}=t,i=r.component,{pos:s}=r,a=((h=s==null?void 0:s.position)==null?void 0:h.Header)&&P(i)==="Stack",{id:l,version:c}=D(o),p=j(o),m;if(a){let[y,d]=er(i,s);y===void 0?m=At(e,i,o):m=zt(e,y,o,d)}else!p&&((g=s==null?void 0:s.position)!=null&&g.Centre)?m=Lo(e,i,o):m=Ns(e,r,o);if(n.DoNotRemove)return m;let u=ae(m,y=>y.id===l&&y.version===c),f=w(u,"path");return Mo(m,{path:f,type:"remove"})},Fs=(e,{path:t,component:o})=>At(e,V(e,t),o),Ns=(e,t,o)=>{let{component:n,pos:r,clientRect:i,dropRect:s}=t,a=w(n,"path");if(a==="0.0")return it(e,n,o,r);let l=se(e,a);if(dr(r,l)){let c=r.position.SouthOrEast?"after":"before";return zt(e,n,o,c,r,i,s)}if(!dr(r,l))return it(e,n,o,r,i,s);if(N(P(l)))return it(e,n,o,r);throw Error(`no support right now for position = ${r.position}`)},dr=(e,t)=>e.position.Centre?hr(t)||fr(t):e.position.NorthOrSouth?fr(t):e.position.EastOrWest?hr(t):!1,fr=e=>P(e)==="Flexbox"&&e.props.style.flexDirection==="column",hr=e=>P(e)==="Flexbox"&&e.props.style.flexDirection!=="column";var yr=require("react"),Vs=e=>console.log(`dispatch ${e.type}, have you forgotten to provide a LayoutProvider ?`),Ve=(0,yr.createContext)({dispatchLayoutProvider:Vs,version:-1});var de=require("react");var Ws={},br=[0,0],_s=(e,t,o)=>{let n=document.createElement("div");n.className="vuuSimpleDraggableWrapper",n.classList.add("vuuSimpleDraggableWrapper","salt-theme","salt-density-medium"),n.dataset.dragging="true";let r=o!=null?o:document.createElement("div");r.id=t,n.appendChild(r),document.body.appendChild(n);let i=`top:${e.top}px;left:${e.left}px;width:${e.width}px;height:${e.height}px;`;return[n,i,e.left,e.top]},Gs=e=>{let{offsetParent:t}=e;if(t===null)return br;{let{left:o,top:n}=t.getBoundingClientRect();return[o,n]}},xr=(e,t)=>{let o=(0,de.useRef)(),n=(0,de.useRef)(),r=(0,de.useRef)(),i=(0,de.useCallback)((c,p)=>{if(n.current&&r.current){let{dragOffsets:[m,u],targetPosition:f}=n.current,h=typeof c=="number"?c-m:f.left,g=typeof p=="number"?p-u:f.top;(h!==f.left||g!==f.top)&&(n.current.targetPosition.left=h,n.current.targetPosition.top=g,r.current.style.top=g+"px",r.current.style.left=h+"px")}},[]),s=(0,de.useCallback)(c=>{if(n.current){let{dragInstructions:p,payload:m,originalCSS:u}=n.current;t({type:"drag-drop",draggedReactElement:m,dragInstructions:p,dropTarget:c}),console.log("[useLayoutDragDrop]",{dragInstructions:p}),r.current&&(p.RemoveDraggableOnDragEnd?document.body.removeChild(r.current):(r.current.style.cssText=u,delete r.current.dataset.dragging)),o.current=void 0,n.current=void 0,r.current=void 0}},[t]),a=(0,de.useCallback)(c=>{if(o.current){let{payload:p,dragContainerPath:m,dragElement:u,dragRect:f,instructions:h=Ws,path:g}=o.current,{current:y}=e,d={x:c.clientX,y:c.clientY},b=p!=null?p:V(y,g,!0),{id:E}=b.props,R=j(b),S="",x="",T="",v=-1,A=-1,F=br,L=document.getElementById(E);if(L===null)[L,x,v,A]=_s(f,E,u);else{F=Gs(L);let[H,C]=F,{width:z,height:k,left:Q,top:X}=L.getBoundingClientRect();v=Q-H,A=X-C,x=`width:${z}px;height:${k}px;left:${v}px;top:${A}px;z-index: 100;background-color:#ccc;opacity: 0.6;`,L.dataset.dragging="true",S=L.style.cssText}T=Pt.initDrag(e.current,m,f,d,{drag:i,drop:s},R),L.style.cssText=x+T,r.current=L,n.current={payload:b,originalCSS:S,dragRect:f,dragOffsets:F,dragInstructions:h,targetPosition:{left:v,top:A}}}},[i,s,e]);return(0,de.useCallback)(c=>{let{evt:p,...m}=c;console.log("prepare to drag",{options:m}),o.current={...m,dragContainerPath:""},Pt.handleMousedown(p,a,m.instructions)},[a])};var zo=require("react/jsx-runtime"),Rr=e=>e.dropTarget,Us=e=>["drag-drop","remove","set-title","splitter-resize","switch-tab"].includes(e.type),Xs=()=>{let e=Er();return(0,zo.jsx)("div",{children:`Context: ${e} `})},Zs=e=>{let{children:t,layout:o,onLayoutChange:n}=e,r=(0,U.useRef)(void 0),i=(0,U.useRef)(t),[,s]=(0,U.useState)(null),a=(0,U.useCallback)(m=>{if(n){let u=ae(m,Rr)||r.current,h=P(u)==="DraggableLayout"?D(u).children[0]:u,g=qn(h);n(g,"drag-root")}},[n]),l=(0,U.useCallback)((m,u=!1)=>{let f=gr(r.current,m);f!==r.current&&(r.current=f,s({}),!u&&Us(m)&&a(f))},[a]),c=(0,U.useCallback)(m=>{switch(m.type){case"drag-start":{p(m);break}case"save":{a(r.current);break}default:{l(m);break}}},[l,a]),p=xr(r,c);return(0,U.useEffect)(()=>{if(o){let m=ae(r.current,Rr),u=Kt(m),f=Ct(o,`${m.props.path}.0`),h=u?{type:q.REPLACE,target:u,replacement:f}:{type:q.ADD,path:m.props.path,component:f};l(h,!0)}},[l,o]),r.current===void 0?r.current=wo(t):t!==i.current&&(r.current=wo(t,r.current),i.current=t),(0,zo.jsx)(Ve.Provider,{value:{dispatchLayoutProvider:c,version:0},children:r.current})},Z=()=>{let{dispatchLayoutProvider:e}=(0,U.useContext)(Ve);return e},Er=()=>{console.log({LayoutProviderContext:Ve});let{version:e}=(0,U.useContext)(Ve);return e};var Tr=require("react/jsx-runtime"),Io=function(t){let{path:o}=t,n=Z(),r=(0,Sr.useCallback)(i=>{n({type:Me.SPLITTER_RESIZE,path:o,sizes:i})},[n,o]);return(0,Tr.jsx)(Mt,{...t,onSplitterMoved:r})};Io.displayName="Flexbox";B("Flexbox",Io,"container");var Ar=require("@salt-ds/core"),zr=M(require("classnames")),Ir=require("react");var oe=require("react");var Ie=require("react"),Ys=["height","width"],Js=["height"],js=["width"],ze=new WeakMap,wr=(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}},Dr=new ResizeObserver(e=>{for(let t of e){let{target:o,contentRect:n}=t,r=ze.get(o);if(r){let{onResize:i,measurements:s}=r,a=!1;for(let[l,c]of Object.entries(s)){let p=wr(o,n,l);p!==c&&(a=!0,s[l]=p)}a&&i&&i(s)}}});function ko(e,t,o,n=!1){let r=(0,Ie.useRef)(t),i=(0,Ie.useCallback)(s=>{let a=s.getBoundingClientRect();return r.current.reduce((l,c)=>(l[c]=wr(s,a,c),l),{})},[]);(0,Ie.useLayoutEffect)(()=>{let s=e.current,a=!1;async function l(){ze.set(s,{measurements:{}}),a=!1;let{fonts:c}=document;if(c&&await c.ready,!a){let p=ze.get(s);if(p){let m=i(s);p.measurements=m,Dr.observe(s),n&&o(m)}}}if(s){if(ze.has(s))throw Error("useResizeObserver attemping to observe same element twice");l()}return()=>{s&&ze.has(s)&&(Dr.unobserve(s),ze.delete(s),a=!0)}},[e,i]),(0,Ie.useLayoutEffect)(()=>{let s=e.current,a=ze.get(s);if(a){if(r.current!==t){r.current=t;let l=i(s);a.measurements=l}a.onResize=o}},[t,i,e,o])}function Ks(e,t){let o=document.body.querySelector(`.${e}`),n={get:function(r,i){let s=r.getPropertyValue(`--${e}-breakpoint-${i}`);return s?parseInt(s):void 0}};return o?new Proxy(getComputedStyle(o),n):t!=null?t:{}}var qs=([,e],[,t])=>t-e,Oo=e=>Object.entries(e).sort(qs).map(([t,o],n,r)=>[t,o,n<r.length-1?r[n+1][1]:9999]),Bo=null,Qs=(e="salt")=>{let{xs:t,sm:o,md:n,lg:r,xl:i}=Ks(e);return Oo({xs:t,sm:o,md:n,lg:r,xl:i})},Pr=e=>(Bo===null&&(Bo=Qs(e)),Bo);var ea=[],Ho=({breakPoints:e,smallerThan:t},o)=>{let[n,r]=(0,oe.useState)(t?!1:"lg"),i=(0,oe.useRef)(document.body),s=(0,oe.useRef)(e?Oo(e):Pr()),a=(0,oe.useRef)("lg"),l=(0,oe.useCallback)(p=>{if(s.current){for(let[m,u]of s.current)if(p>=u)return m}},[s]),c=(0,oe.useCallback)(p=>{if(t){let m=s.current.find(([u])=>u===t);if(m){let[,,u]=m;return p<u}}else return l(p);return p},[t,l]);return ko(o||i,s.current?["width"]:ea,({width:p})=>{let m=c(p);m!==a.current&&(a.current=m,r(m))},!0),(0,oe.useEffect)(()=>{let p=o||i;if(p.current){let m=a.current;if(s.current){let{clientWidth:u}=p.current,f=c(u);a.current=f,f!==m&&r(f)}}},[r,c,o]),n};var vr="data-collapsible",ta={[vr]:!0,"data-pad-start":!0,"data-pad-end":!0},Lr=e=>{var t;return(t=ta[e])!=null?t:!1},oa=e=>e===vr,na={dynamic:"dynamic",instant:"instant",true:"instant"},ra=e=>{var t;return(t=na[e])!=null?t:"none"},ia=e=>Object.keys(e).reduce((t,o)=>{let[n,r]=t;if(Lr(o)){let i=oa(o)?ra(e[o]):e[o];n[o]=i,r[o]=void 0}return t},[{},{}]);var Mr=require("@vuu-ui/vuu-utils"),Y=require("react");var sa=["xs","sm","md","lg","xl"],aa=12,Cr=({children:e,cols:t,style:o})=>{let n=(0,Y.useRef)(null),r=(0,Y.useRef)(null),i=(0,Y.useRef)(),s=t!=null?t:aa,l=(o==null?void 0:o.flexDirection)==="column"?"height":"width",c=(0,Y.useMemo)(()=>Array.isArray(e)?e:(0,Y.isValidElement)(e)?[e]:[],[e]),p=(0,Y.useCallback)((m,u)=>{let f=Lt(m,u,sa),h=[],g=[];for(let y=0;y<m.length;y++){let d=m[y],{style:{flex:b,...E}}=d.props;h.push((0,Y.cloneElement)(d,{key:(0,Mr.getUniqueId)(),style:{...E,"--parent-col-count":s}})),g.push(f[y])}return[h,g]},[s]);return(0,Y.useMemo)(()=>{let[m,u]=p(c,l);r.current=u,i.current=m},[p,c,l]),{cols:s,content:i.current,rootRef:n}};var kr=require("react/jsx-runtime"),It="hwFluidGrid",kt=(0,Ir.forwardRef)(function(t,o){let{breakPoints:n,children:r,column:i,cols:s=12,className:a,flexFill:l,gap:c=3,fullPage:p,id:m,onSplitterMoved:u,resizeable:f,row:h,showGrid:g,spacing:y,splitterSize:d,style:b,...E}=t,{cols:R,content:S,rootRef:x}=Cr({children:r,cols:s,style:b}),T=Ho({breakPoints:n},x),v=(0,zr.default)(It,a,{[`${It}-column`]:i,[`${It}-row`]:h,[`${It}-show-grid`]:g,"flex-fill":l,"full-page":p}),A={...b,"--spacing":y,"--grid-col-count":R,"--grid-gap":c};return(0,kr.jsx)("div",{...E,className:v,"data-breakpoint":T,"data-cols":R,"data-resizeable":f||void 0,id:m,ref:(0,Ar.useForkRef)(x,o),style:A,children:S})});kt.displayName="FluidGrid";var Br=require("react/jsx-runtime"),$o=function(t){return(0,Br.jsx)(kt,{...t})};$o.displayName="FluidGrid";B("FluidGrid",$o,"container");var Nr=M(require("classnames")),ke=M(require("react"));var we=require("react");var st=(e,t,o,n)=>{var y;let{loadSessionState:r,purgeSessionState:i,purgeState:s,saveSessionState:a}=Ae(),[l,c]=(0,we.useState)((y=r(e,"contributions"))!=null?y:[]),p=Z(),m=(0,we.useCallback)((d,b)=>{let E=l.concat([{location:d,content:b}]);a(e,"contributions",E),c(E)},[l,e,a]),u=(0,we.useCallback)(()=>{i(e,"contributions"),c([])},[e,i]),f=(0,we.useCallback)(()=>{let d=r(e,"data-source");d&&d.unsubscribe(),i(e),s(e),p({type:"remove",path:o})},[p,e,r,i,s,o]),h=(0,we.useCallback)(async(d,b,E)=>{var S;d.stopPropagation();let R=(S=t.current)==null?void 0:S.getBoundingClientRect();return new Promise((x,T)=>{p({type:"drag-start",evt:d,path:b===void 0?o:`${o}.${b}`,dragRect:R,preDragActivity:E,dropTargets:n,resolveDragStart:x,rejectDragStart:T})})},[t,p,o,n]);return[(0,we.useCallback)(async(d,b)=>{var R;let{type:E}=d;switch(E){case"maximize":case"minimize":case"restore":return p({type:E,path:(R=d.path)!=null?R:o});case"remove":return f();case"mousedown":return h(b,d.index,d.preDragActivity);case"add-toolbar-contribution":return m(d.location,d.content);case"remove-toolbar-contribution":return u();default:return}},[p,o,f,h,m,u]),l]};var Ot=require("@salt-ds/core"),$r=M(require("classnames")),re=M(require("react"));var ne=require("react");var Or=({id:e,rootRef:t,path:o,dropTargets:n,title:r})=>{let i=Z(),{loadState:s,loadSessionState:a,purgeState:l,saveState:c,saveSessionState:p}=Ae(),[m,u]=st(e,t,o,n),f=(0,ne.useMemo)(()=>{var x;return(x=s("view-title"))!=null?x:r},[s,r]),h=(0,ne.useCallback)(x=>{o&&i({type:"set-title",path:o,title:x})},[i,o]),g=(0,ne.useMemo)(()=>s(e),[e,s]),y=(0,ne.useCallback)(x=>s(e,x),[e,s]),d=(0,ne.useCallback)(x=>{l(e,x),i({type:"save"})},[e,i,l]),b=(0,ne.useCallback)((x,T)=>{c(e,T,x),i({type:"save"})},[e,i,c]),E=(0,ne.useCallback)(x=>a(e,x),[e,a]),R=(0,ne.useCallback)((x,T)=>p(e,T,x),[e,p]),S=(0,ne.useCallback)(({type:x,...T})=>{let{[x]:v}=T;b(v,x)},[b]);return{contributions:u,dispatchViewAction:m,load:y,loadSession:E,onConfigChange:S,onEditTitle:h,purge:d,restoredState:g,save:b,saveSession:R,title:f}};var Bt=require("@heswell/salt-lab"),We=require("react"),la=[],Hr=({mainRef:e,resize:t="responsive",rootRef:o})=>{let n=t==="defer",r=(0,We.useRef)({}),i=(0,We.useRef)(),s=(0,We.useCallback)(()=>{e.current&&(e.current.style.height=r.current.height+"px",e.current.style.width=r.current.width+"px"),i.current=void 0},[e]),a=(0,We.useCallback)(({height:l,width:c})=>{r.current.height=l,r.current.width=c,i.current!==null&&clearTimeout(i.current),i.current=window.setTimeout(s,40)},[s]);(0,Bt.useResizeObserver)(o,n?Bt.WidthHeight:la,a,n)};var at=M(require("react")),ca={dispatch:null},lt=at.default.createContext(ca),Fo=()=>{var t;let e=(0,at.useContext)(lt);return(t=e==null?void 0:e.dispatch)!=null?t:null},pa=()=>(0,at.useContext)(lt);var _e=require("react/jsx-runtime"),Fr=(0,re.forwardRef)(function(t,o){let{children:n,className:r,collapsed:i,closeable:s,"data-resizeable":a,dropTargets:l,expanded:c,flexFill:p,id:m,header:u,orientation:f="horizontal",path:h,resize:g="responsive",resizeable:y=a,tearOut:d,style:b={},title:E,...R}=t,S=(0,Ot.useIdMemo)(m),x=(0,re.useRef)(null),T=(0,re.useRef)(null),{contributions:v,dispatchViewAction:A,load:F,loadSession:L,onConfigChange:H,onEditTitle:C,purge:z,restoredState:k,save:Q,saveSession:X,title:He}=Or({id:S,rootRef:x,path:h,dropTargets:l,title:E});Hr({mainRef:T,resize:g,rootRef:x});let Ue="vuuView",ni=()=>re.default.isValidElement(n)&&k?re.default.cloneElement(n,k):n,ri=(0,re.useMemo)(()=>({dispatch:A,id:S,path:h,title:He,load:F,loadSession:L,onConfigChange:H,purge:z,save:Q,saveSession:X}),[A,S,F,L,H,h,z,Q,X,He]),ii=typeof u=="object"?u:{};return(0,_e.jsx)("div",{...R,className:(0,$r.default)(Ue,r,{[`${Ue}-collapsed`]:i,[`${Ue}-expanded`]:c,[`${Ue}-resize-defer`]:g==="defer"}),"data-resizeable":y,id:S,ref:(0,Ot.useForkRef)(o,x),style:b,tabIndex:-1,children:(0,_e.jsxs)(lt.Provider,{value:ri,children:[u?(0,_e.jsx)(No,{...ii,collapsed:i,contributions:v,expanded:c,closeable:s,onEditTitle:C,orientation:f,tearOut:d,title:He}):null,(0,_e.jsx)("div",{className:`${Ue}-main`,ref:T,children:ni()})]})})});Fr.displayName="View";var fe=re.default.memo(Fr);fe.displayName="View";B("View",fe,"view");var ie=require("@heswell/salt-lab"),Vr=require("@salt-ds/icons");var he=require("react/jsx-runtime"),No=({className:e,contributions:t,collapsed:o,closeable:n,onEditTitle:r,orientation:i="horizontal",style:s,title:a="Untitled"})=>{let l=(0,ke.useRef)(null),[c,p]=(0,ke.useState)(a),[m,u]=(0,ke.useState)(!1),f=Fo(),h=L=>f==null?void 0:f({type:"remove"},L),g="vuuHeader",y=()=>{var L;(L=l.current)==null||L.focus()},d=L=>{L.stopPropagation()},E=(0,Nr.default)(g,e,`${g}-${o||i}`),R=()=>{u(!0)},S=L=>{L.key==="Enter"&&u(!0)},x=(L="",H="",C=!0,z=!1)=>{var k;u(!1),z?p(L):H!==L&&(p(H),r==null||r(H)),C===!1&&((k=l.current)==null||k.focus())},T=L=>{f==null||f({type:"mousedown"},L)},v=[],A=[],F=[];return a&&v.push((0,he.jsx)(ie.ToolbarField,{className:"vuuHeader-title",children:(0,he.jsx)(ie.EditableLabel,{editing:m,value:c,onChange:p,onMouseDownCapture:y,onEnterEditMode:R,onExitEditMode:x,onKeyDown:S,ref:l,tabIndex:0},"title")},"title")),t==null||t.forEach((L,H)=>{A.push(ke.default.cloneElement(L.content,{key:H}))}),n&&F.push((0,he.jsxs)(ie.ToolbarButton,{onClick:h,onMouseDown:d,children:[(0,he.jsx)(Vr.CloseIcon,{})," Close"]},"close")),A.length>0&&v.push((0,he.jsx)(ie.Tooltray,{"data-align-end":!0,children:A},"contributions")),F.length>0&&v.push((0,he.jsx)(ie.Tooltray,{"data-align-end":!0,children:F},"actions")),(0,he.jsx)(ie.Toolbar,{className:E,orientation:i,style:s,onMouseDown:T,children:v})};var Wr=require("@vuu-ui/vuu-utils"),$t=require("@heswell/salt-lab"),Vo=M(require("classnames")),Ft=require("react");var Ht=require("react/jsx-runtime"),ua=e=>{let t=e.cloneNode(!0);return t.id="",delete t.dataset.idx,t},Wo=(0,Ft.memo)(({className:e,children:t,idx:o,resizeable:n,header:r,closeable:i,...s})=>(0,Ht.jsx)($t.ListItem,{className:(0,Vo.default)("vuuPaletteItem",e),"data-draggable":!0,...s}));Wo.displayName="PaletteItem";var _r=({children:e,className:t,orientation:o="horizontal",...n})=>{let r=Z(),i="vuuPalette";function s(a){var x;let c=a.target.closest(".vuuPaletteItem"),p=parseInt((x=c.dataset.idx)!=null?x:"-1");p!==-1&&console.log({children:e,idx:p,listItemElement:c});let{props:{caption:m,children:u,template:f,...h}}=e[p],{height:g,left:y,top:d,width:b}=c.getBoundingClientRect(),E=(0,Wr.uuid)(),S=f?u:(0,Ht.jsx)(fe,{...{id:E,key:E},...h,title:h.label,children:u});r({dragRect:{left:y,top:d,right:y+b,bottom:d+150,width:b,height:g},dragElement:ua(c),evt:a.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:S,type:"drag-start"})}return(0,Ht.jsx)($t.List,{...n,borderless:!0,className:(0,Vo.default)(i,t,`${i}-${o}`),maxHeight:800,selected:null,children:e.map((a,l)=>a.type===Wo?(0,Ft.cloneElement)(a,{key:l,onMouseDown:s}):a)})};B("Palette",_r,"view");var Gr=require("@vuu-ui/vuu-utils"),Vt=require("@heswell/salt-lab"),Ur=M(require("classnames"));var Nt=require("react/jsx-runtime"),ma="vuuPalette",da=e=>{let{children:t,ViewProps:o,label:n,onMouseDown:r,template:i,...s}=e,a=Z();return(0,Nt.jsx)(Vt.ListItem,{onMouseDown:c=>{let{left:p,top:m,width:u}=c.currentTarget.getBoundingClientRect(),f=(0,Gr.uuid)(),g=i?t:(0,Nt.jsx)(fe,{...{id:f,key:f},...o,title:e.label,children:t});a({type:"drag-start",evt:c.nativeEvent,path:"*",payload:g,instructions:{DoNotRemove:!0,DoNotTransform:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},dragRect:{left:p,top:m,right:p+u,bottom:m+150,width:u,height:100}})},...s,children:n})},Xr=({className:e,...t})=>(0,Nt.jsx)(Vt.List,{...t,className:(0,Ur.default)(ma,e),height:"100%",selectionStrategy:"none"});B("PaletteSalt",Xr,"view");var Pe=require("@heswell/salt-lab"),Yr=require("@salt-ds/core"),Jr=M(require("classnames")),ge=M(require("react"));var Be=require("react/jsx-runtime"),Zr="Tabs",fa=()=>{},ha=(e,t)=>{var o,n;return(n=(o=e.props)==null?void 0:o.title)!=null?n:`Tab ${t+1}`},ga=e=>{let t=[];return ge.default.Children.forEach(e,o=>{ge.default.isValidElement(o)?t.push(o):console.warn("Stack has unexpected child element type")}),t},Wt=(0,ge.forwardRef)(function({active:t=0,children:o,className:n,enableAddTab:r,enableCloseTabs:i,getTabIcon:s=fa,getTabLabel:a=ha,id:l,keyBoardActivation:c="manual",onMouseDown:p,onTabAdd:m,onTabClose:u,onTabEdit:f,onTabSelectionChanged:h,showTabs:g,style:y,TabstripProps:d},b){var H;let E=(0,Yr.useIdMemo)(l),R=C=>{h==null||h(C)},S=C=>{u==null||u(C)},x=()=>{m==null||m(ge.default.Children.count(o))},T=C=>{var X;let k=C.target.closest('[role^="tab"]');if((k==null?void 0:k.getAttribute("role"))==="tab"){let He=parseInt((X=k.dataset.idx)!=null?X:"-1");if(He===-1)throw Error("Stack: mousedown on tab with unknown index");p==null||p(C,He)}},v=(0,ge.useCallback)((C,z,k,Q)=>{f==null||f(Q,z)},[f]),A=()=>{var C;return ge.default.isValidElement(o)?o:Array.isArray(o)&&(C=o[t])!=null?C:null},F=()=>ga(o).map((C,z)=>{let k=`${E}-${z}`,{closeable:Q,id:X}=C.props;return(0,Be.jsx)(Pe.Tab,{ariaControls:`${k}-tab`,"data-icon":s(C,z),draggable:!0,id:k,label:a(C,z),closeable:Q,editable:(d==null?void 0:d.enableRenameTab)!==!1},X!=null?X:z)}),L=A();return(0,Be.jsxs)("div",{className:(0,Jr.default)(Zr,n,{[`${Zr}-horizontal`]:(d==null?void 0:d.orientation)==="vertical"}),style:y,id:E,ref:b,children:[g?(0,Be.jsx)(Pe.Toolbar,{className:"vuuTabHeader vuuHeader",orientation:d==null?void 0:d.orientation,children:(0,Be.jsx)(Pe.ToolbarField,{disableFocusRing:!0,"data-collapsible":"dynamic","data-priority":"3",style:{alignSelf:"flex-end"},children:(0,Be.jsx)(Pe.Tabstrip,{...d,enableRenameTab:(d==null?void 0:d.enableRenameTab)!==!1,enableAddTab:r,enableCloseTab:i,keyBoardActivation:c,onActiveChange:R,onAddTab:x,onCloseTab:S,onExitEditMode:v,onMouseDown:T,activeTabIndex:(H=d==null?void 0:d.activeTabIndex)!=null?H:L===null?-1:t,children:F()})})}):null,L]})});Wt.displayName="Stack";var jr=require("@salt-ds/core"),Gt=M(require("react"));var _t=require("react/jsx-runtime"),ya=e=>(0,_t.jsx)(fe,{resizeable:!0,title:`Tab ${e}`,style:{flexGrow:1,flexShrink:0,flexBasis:0},header:!0,closeable:!0,children:(0,_t.jsx)(mt,{style:{flex:1}})}),_o=e=>{let t=(0,Gt.useRef)(null),o=Z(),{loadState:n}=Ae(),{createNewChild:r=ya,id:i,onTabSelectionChanged:s,path:a,...l}=e,{children:c}=e,p=(0,jr.useIdMemo)(i),[m]=st(p,t,a);return(0,_t.jsx)(Wt,{...l,id:p,getTabLabel:(b,E)=>{let{id:R,title:S}=b.props;return n(R,"view-title")||S||`Tab ${E+1}`},onMouseDown:async(b,E)=>{let R;await m({type:"mousedown",index:E,preDragActivity:async()=>new Promise(T=>{console.log("preDragActivity: Ok, gonna release the drag"),R=T})},b)&&(R==null||R(void 0))},onTabAdd:(b,E=Gt.default.Children.count(c))=>{if(a){console.log("[StackLayout] handleTabAdd");let R=r(E);console.log({component:R}),o({type:"add",path:a,component:R})}},onTabClose:b=>{if(Array.isArray(c)){let{props:{"data-path":E,path:R=E}}=c[b];o({type:"remove",path:R})}},onTabEdit:(b,E)=>{o({type:"set-title",path:`${a}.${b}`,title:E})},onTabSelectionChanged:b=>{console.log(`StackLayout handleTabSelection nextTab = ${b}`),a&&(o({type:"switch-tab",path:a,nextIdx:b}),s==null||s(b))},ref:t})};_o.displayName="Stack";B("Stack",_o,"container");var Ge=M(require("react"));var Oe=require("react/jsx-runtime"),ba=({children:e})=>{let[o,n]=(0,Ge.useState)(e),[r,i]=(0,Ge.useState)(e),s=l=>{let c=qt(o,l);i(c)},a=(l,c)=>{console.log(`change ${l} -> ${c}`);let p=Ge.default.cloneElement(r,{style:{...r.props.style,[l]:c}});i(p),n(Ge.default.cloneElement(o,{},p))};return(0,Oe.jsxs)("div",{"data-design-mode":`${!1}`,children:[o,(0,Oe.jsx)("br",{}),(0,Oe.jsxs)("div",{style:{display:"flex"},children:[(0,Oe.jsx)(Go,{height:300,managedStyle:r.props.style,width:300,onChange:a,style:void 0}),(0,Oe.jsx)(Uo,{layout:o,onSelect:s,style:{width:300,height:300,backgroundColor:"#ccc"}})]})]})};var ce=require("@heswell/salt-lab"),I=require("react/jsx-runtime"),Zo={},xa={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"}},Xo=({feature:e,children:t,style:o,onChange:n})=>(0,I.jsxs)("div",{className:`LayoutBox layout-${e} layout-outer`,children:[(0,I.jsxs)("div",{className:"layout-top",children:[(0,I.jsx)("span",{className:"layout-title",children:e}),(0,I.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,I.jsx)(ce.Input,{value:o.top,onChange:(r,i)=>n(e,"top",i)})})]}),(0,I.jsxs)("div",{className:"layout-inner",children:[(0,I.jsx)("div",{className:"layout-left",children:(0,I.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,I.jsx)(ce.Input,{value:o.left,onChange:(r,i)=>n(e,"left",i)})})}),t,(0,I.jsx)("div",{className:"layout-right",children:(0,I.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,I.jsx)(ce.Input,{value:o.right,onChange:(r,i)=>n(e,"right",i)})})})]}),(0,I.jsx)("div",{className:"layout-bottom",children:(0,I.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,I.jsx)(ce.Input,{value:o.bottom,onChange:(r,i)=>n(e,"bottom",i)})})})]}),Ra={margin:!0,marginTop:!0,marginRight:!0,marginBottom:!0,marginLeft:!0},Ea={padding:!0,paddingTop:!0,paddingRight:!0,paddingBottom:!0,paddingLeft:!0},Sa={border:!0,borderColor:!0,borderWidth:!0,borderTopWidth:!0,borderRightWidth:!0,borderBottomWidth:!0,borderLeftWidth:!0},Ut="(\\d+)(?:px)?",Ta=`^(?:${Ut}(?:\\s${Ut}(?:\\s${Ut}(?:\\s${Ut})?)?)?)$`,Kr=new RegExp(Ta),Da=/^(?:(\d+)(?:px)\ssolid\s([a-zA-Z,0-9().]+))$/,Go=({height:e,managedStyle:t,onChange:o,style:n,width:r})=>{let i=qr(t),s=(E,R,S)=>{let x=parseInt(S||"0",10),T=xa[E][R];o(T,x)},{marginTop:a=0,marginRight:l=0,marginBottom:c=0,marginLeft:p=0}=i,{borderTopWidth:m=0,borderRightWidth:u=0,borderBottomWidth:f=0,borderLeftWidth:h=0}=i,{paddingTop:g=0,paddingRight:y=0,paddingBottom:d=0,paddingLeft:b=0}=i;return(0,I.jsx)("div",{className:"LayoutConfigurator",style:{width:r,height:e,...n},children:(0,I.jsx)(Xo,{feature:"margin",style:{top:a,right:l,bottom:c,left:p},onChange:s,children:(0,I.jsx)(Xo,{feature:"border",style:{top:m,right:u,bottom:f,left:h},onChange:s,children:(0,I.jsx)(Xo,{feature:"padding",style:{top:g,right:y,bottom:d,left:b},onChange:s,children:(0,I.jsx)("div",{className:"layout-content"})})})})})};function wa(e=Zo,t=Zo){let{margin:o,marginTop:n,marginRight:r,marginBottom:i,marginLeft:s,padding:a,paddingTop:l,paddingRight:c,paddingBottom:p,paddingLeft:m,...u}=e;if(typeof o=="number")u.marginTop=u.marginRight=u.marginBottom=u.marginLeft=o;else if(typeof o=="string"){let f=Kr.exec(o);if(f===null)console.error(`Invalid css value for margin '${o}'`);else{let[,h,g,y,d]=f,b=h&&g&&y;b&&d?(u.marginTop=parseInt(h,10),u.marginRight=parseInt(g,10),u.marginBottom=parseInt(y,10),u.marginLeft=parseInt(d,10)):b?(u.marginTop=parseInt(h,10),u.marginRight=u.marginLeft=parseInt(g,10),u.marginBottom=parseInt(y,10)):h&&g?(u.marginTop=u.marginBottom=parseInt(h,10),u.marginRight=u.marginLeft=parseInt(g,10)):u.marginTop=u.marginRight=u.marginBottom=u.marginLeft=parseInt(h,10)}}if(typeof n=="number"&&(u.marginTop=n),typeof r=="number"&&(u.marginRight=r),typeof i=="number"&&(u.marginBottom=i),typeof s=="number"&&(u.marginLeft=s),typeof a=="number")u.paddingTop=u.paddingRight=u.paddingBottom=u.paddingLeft=a;else if(typeof a=="string"){let f=Kr.exec(a);if(f===null)console.error(`Invalid css value for padding '${a}'`);else{let[,h,g,y,d]=f,b=h&&g&&y;b&&d?(u.paddingTop=parseInt(h,10),u.paddingRight=parseInt(g,10),u.paddingBottom=parseInt(y,10),u.paddingLeft=parseInt(d,10)):b?(u.paddingTop=parseInt(h,10),u.paddingRight=u.paddingLeft=parseInt(g,10),u.paddingBottom=parseInt(y,10)):h&&g?(u.paddingTop=u.paddingBottom=parseInt(h,10),u.paddingRight=u.paddingLeft=parseInt(g,10)):u.paddingTop=u.paddingRight=u.paddingBottom=u.paddinggLeft=parseInt(h,10)}}return typeof l=="number"&&(u.paddingTop=l),typeof c=="number"&&(u.paddingRight=c),typeof p=="number"&&(u.paddingBottom=p),typeof m=="number"&&(u.paddingLeft=m),qr(u,t)}function qr(e=Zo){let t={...e},o,{border:n,borderWidth:r,borderTopWidth:i,borderRightWidth:s,borderBottomWidth:a,borderLeftWidth:l,borderColor:c,margin:p,marginTop:m,marginRight:u,marginBottom:f,marginLeft:h,padding:g,paddingTop:y,paddingRight:d,paddingBottom:b,paddingLeft:E,...R}=t,S={},x={};if(typeof p=="number"&&(t.marginTop=t.marginRight=t.marginBottom=t.marginLeft=p,S={marginTop:p,marginRight:p,marginBottom:p,marginLeft:p}),typeof g=="number"&&(t.paddingTop=t.paddingRight=t.paddingBottom=t.paddingLeft=g,x={paddingTop:g,paddingRight:g,paddingBottom:g,paddingLeft:g}),n||r||i||s||a||l){typeof n=="string"&&(o=Da.exec(n))&&([,r,c]=o,r=parseInt(r,10)),r&&(i=i===void 0?r:i,s=s===void 0?r:s,a=a===void 0?r:a,l=l===void 0?r:l),c=c||"black";let T=`
|
|
17
|
+
`,document.body.insertBefore(t,e)}}var Je=class{constructor(){this.currentPath=null;this.tabMode=null;Ui()}prepare(t,o="full-view"){document.body.classList.add("drawing"),this.currentPath=null,this.tabMode=o;let n=this.getPoints(0,0,0,0),r=yn(n),i=document.getElementById("vuu-drop-outline");i==null||i.setAttribute("d",r),this.currentPath=r}clear(){Ye=null,Rt(),document.body.classList.remove("drawing"),xt.PopupService.hidePopup()}get hoverDropTarget(){return Ye}getPoints(t,o,n,r,i=0,s=0,a=0){let l=this.tabMode==="tab-only";if(s===0)return[[t,o+a],[t,o+a],[t,o],[t+s,o],[t+s,o],[t+n,o],[t+n,o+r],[t,o+r]];if(l){let c=i;return[[c,o],[c,o],[c+s,o],[c+s,o],[c+s,o+a],[c+s,o+a],[c,o+a],[c,o+a]]}else return i===0?[[t,o+a],[t,o+a],[t,o],[t+s,o],[t+s,o+a],[t+n,o+a],[t+n,o+r],[t,o+r]]:[[t,o+a],[t+i,o+a],[t+i,o],[t+i,o],[t+i,o+a],[t+n,o+a],[t+n,o+r],[t,o+r]]}draw(t,o){let r=ao;if(Ye!==null)this.drawTarget(Ye);else if(ao=t.nextDropTarget!=null,t.pos.tab?Xi(t):ee&&Rt(),this.drawTarget(t,o),ao){let[i,s,a]=io(t);{let l=(0,Rn.jsx)(so,{dropTarget:t,onHover:Vi,orientation:a});xt.PopupService.showPopup({left:i,top:s,component:l})}}else xt.PopupService.hidePopup()}drawTarget(t,o){let r=t.getTargetDropOutline(6,o);if(r){let{l:i,t:s,r:a,b:l,tabLeft:c,tabWidth:p,tabHeight:m,guideLines:u}=r,f=a-i,h=l-s;if(this.currentPath){let E=document.getElementById("vuu-drop-outline");E==null||E.setAttribute("d",this.currentPath)}let g=this.getPoints(i,s,f,h,c,p,m),y=yn(g),d=document.getElementById("hw-drop-outline-animate");d==null||d.setAttribute("to",y),d==null||d.beginElement(),this.currentPath=y;let b=document.getElementById("hw-drop-guides");b==null||b.setAttribute("d",Gi(u))}}},bn="transition:margin-left .4s ease-out;margin-left: 63px",xn="transition:margin-left .4s ease-out;margin-left: 0px";function Xi(e){var a,l;let{AFTER:t,BEFORE:o}=Ze,{clientRect:{Stack:n},pos:{tab:r}}=e,{id:i}=e.component.props,s=null;if(n&&r&&r.positionRelativeToTab!==t){let c=r.positionRelativeToTab===o?1:2,p=`:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${r.index+c})`;s=(a=document.getElementById(i))==null?void 0:a.querySelector(p),s?(ee===null||ee!==s)&&(s.style.cssText=bn,ee&&(ee.style.cssText=xn),ee=s):Rt()}else if((r==null?void 0:r.positionRelativeToTab)===o){if(ee===null){let c=".vuuHeader-title";s=(l=document.getElementById(i))==null?void 0:l.querySelector(c),s.style.cssText=bn,ee=s}}else Rt()}function Rt(){ee&&(ee.style.cssText=xn,ee=null)}var me,je,Re,Sn,Tn,Ee,Et,Fe=null,co,Dn,Ke,wn,lo,St=null,Zi=3,Tt=new Je,En=.4;function Yi(e,t){return t?V(e,t):ae(e,o=>o.dropTarget)}var Pt={handleMousedown(e,t,o={}){me=t,Dn=o,Sn=e.clientX,Tn=e.clientY,lo=o.dragThreshold===void 0?Zi:o.dragThreshold,lo===0?me(e,0,0):(window.addEventListener("mousemove",Dt,!1),window.addEventListener("mouseup",wt,!1),St=window.setTimeout(()=>{console.log("mousedownTimer fires"),window.removeEventListener("mousemove",Dt,!1),window.removeEventListener("mouseup",wt,!1),me==null||me(e,0,0)},500)),e.preventDefault()},initDrag(e,t,{top:o,left:n,right:r,bottom:i},s,a,l,c){return{drag:je,drop:Re}=a,Ji(e,t,{top:o,left:n,right:r,bottom:i},s,l,c)}};function Dt(e){let n=e.clientX-Sn,r=e.clientY-Tn;Math.max(Math.abs(n),Math.abs(r))>lo&&(window.removeEventListener("mousemove",Dt,!1),window.removeEventListener("mouseup",wt,!1),me==null||me(e,n,r),me=null)}function wt(){St&&(window.clearTimeout(St),St=null),window.removeEventListener("mousemove",Dt,!1),window.removeEventListener("mouseup",wt,!1)}function Ji(e,t,o,n,r,i){Ee=Yi(e,t);let{"data-path":s,path:a=s}=D(Ee);i&&(co=i.map(u=>ae(e,f=>f.id===u)).map(u=>u.props.path)),Ke=$e.measure(Ee,i),console.log({_measurements:Ke});let l=Ke[a];Et=new yt(l,n.x,n.y,o,r);let c=Math.round(Et.x.mousePct*100),p=Math.round(Et.y.mousePct*100);return window.addEventListener("mousemove",Pn,!1),window.addEventListener("mouseup",vn,!1),wn=!1,Tt.prepare(o,"tab-only"),Dn.DoNotTransform?"transform:none":`transform:scale(${En},${En});transform-origin:${c}% ${p}%;`}function Pn(e){let t=e.clientX,o=e.clientY,n=Et,r=Fe,i,s,a;n.update("x",t)&&(s=n.x.pos),n.update("y",o)&&(a=n.y.pos),s===void 0&&a===void 0||je==null||je(s,a),!(wn||Ee===void 0)&&(n.inBounds()?i=bt(t,o,Ee,Ke,n.hasIntrinsicSize(),co):i=bt(n.dropX(),n.dropY(),Ee,Ke),r&&(i==null||i.box!==r.box)&&(Fe=null),i&&(Tt.draw(i,n),Fe=i))}function vn(){ji()}function ji(){if(Fe){let e=Tt.hoverDropTarget||ue.getActiveDropTarget(Fe);Re==null||Re(e),Fe=null}else Re==null||Re({component:Ee,pos:{position:W.Absolute}});je=null,Re=null,Ee=void 0,Tt.clear(),co=void 0,window.removeEventListener("mousemove",Pn,!1),window.removeEventListener("mouseup",vn,!1)}var Ln=M(require("classnames")),Mn=require("react");var An=require("react/jsx-runtime"),po=(0,Mn.forwardRef)(function({children:t,className:o,dropTarget:n,...r},i){let s=(0,Ln.default)("DraggableLayout",o);return(0,An.jsx)("div",{className:s,ref:i,...r,children:t})}),Cn="DraggableLayout";po.displayName=Cn;B(Cn,po,"container");var Xn=require("@salt-ds/core"),Zn=M(require("classnames")),Yn=require("react");var Gn=require("@vuu-ui/vuu-utils"),O=M(require("react"));var In=M(require("classnames"));var kn=require("react/jsx-runtime"),zn="vuuPlaceholder",qe=({className:e,closeable:t,flexFill:o,resizeable:n,shim:r,...i})=>(0,kn.jsx)("div",{className:(0,In.default)(zn,e,{[`${zn}-shim`]:r}),...i,"data-placeholder":!0,"data-resizeable":!0});qe.displayName="Placeholder";B("Placeholder",qe);var Bn=M(require("classnames")),_=M(require("react"));var uo=require("react/jsx-runtime"),On=_.default.memo(function({column:t,index:o,onDrag:n,onDragEnd:r,onDragStart:i,style:s}){let a=(0,_.useRef)(),l=(0,_.useRef)(null),c=(0,_.useRef)(0),[p,m]=(0,_.useState)(!1),u=(0,_.useCallback)(({key:x,shiftKey:T})=>{let v=T?10:1;t&&x==="ArrowDown"?n(o,v):t&&x==="ArrowUp"||!t&&x==="ArrowLeft"?n(o,-v):!t&&x==="ArrowRight"&&n(o,v)},[t,o,n]),f=(0,_.useCallback)(x=>{let{key:T}=x;(t&&(T==="ArrowUp"||T==="ArrowDown")||!t&&(T==="ArrowLeft"||T==="ArrowRIght"))&&(i(o),u(x),h.current=u)},[t,u,o,i]),h=(0,_.useRef)(f),g=x=>h.current(x),y=(0,_.useCallback)(x=>{a.current=!0;let T=x[t?"clientY":"clientX"],v=T-c.current;T&&T!==c.current&&n(o,v),c.current=T},[t,o,n]),d=(0,_.useCallback)(()=>{var x;window.removeEventListener("mousemove",y,!1),window.removeEventListener("mouseup",d,!1),r(),m(!1),(x=l.current)==null||x.focus()},[y,r,m]),b=(0,_.useCallback)(x=>{c.current=t?x.clientY:x.clientX,i(o),window.addEventListener("mousemove",y,!1),window.addEventListener("mouseup",d,!1),x.preventDefault(),m(!0)},[t,y,d,o,i,m]),E=()=>{var x;a.current?a.current=!1:(x=l.current)==null||x.focus()},R=()=>{h.current=f},S=(0,Bn.default)("Splitter","focusable",{active:p,column:t});return(0,uo.jsx)("div",{className:S,"data-splitter":!0,ref:l,role:"separator",style:s,onBlur:R,onClick:E,onKeyDown:g,onMouseDown:b,tabIndex:0,children:(0,uo.jsx)("div",{className:"grab-zone"})})});var fo=require("@vuu-ui/vuu-utils"),ho=M(require("react"));var Ki={"data-placeholder":!0,"data-resizeable":!0},vt={},Se="auto",mo={flexBasis:0,flexGrow:1,flexShrink:1,height:Se,width:Se},Hn={height:"width",width:"height"},$n=(e="row")=>e==="row"?["width","height","column"]:["height","width","row"],qi=e=>typeof e=="string"&&e.endsWith("%"),j=e=>{let{style:{width:t=Se,height:o=Se}=vt}=e.props,n=typeof o=="number",r=typeof t=="number";return n&&r?{height:o,width:t}:n?{height:o}:r?{width:t}:void 0};function go(e,t,o){let n=Hn[t],{style:{[n]:r=Se,...i}=vt}=e.props;return o&&o[t]?{...i,...mo,flexBasis:o[t],flexGrow:0,flexShrink:0}:{...i,...mo,[n]:r}}function Fn(e){let{style:{flex:t,flexGrow:o,flexShrink:n,flexBasis:r}=vt}=e.props;return typeof t=="number"||r===0&&o===1&&n===1?!0:typeof r!="number"}function yo(e,t,o){let n=Hn[t],{style:{[t]:r=Se,[n]:i=Se,...s}=vt}=e.props;return r!==Se?qi(r)?{flexBasis:0,flexGrow:1,flexShrink:1,[t]:void 0,[n]:i}:{flexBasis:r,flexGrow:0,flexShrink:0,[t]:r,[n]:i}:o&&o[t]?{...s,...mo,flexBasis:o[t],flexGrow:0,flexShrink:0}:{...s,[n]:i}}function Qe(e,t,o,n,r){let i=[],s=0,a;if(n&&r){let p,[m,u,f,h]=r;[p,a]=t==="column"?[u-n.top,n.bottom-h]:[m-n.left,n.right-f],p&&i.push(le(`${o}.${s++}`,p,{flexGrow:0,flexShrink:0}))}else a=!0;let{version:l=0,style:c}=D(e);return i.push($(e,`${o}.${s++}`,{version:l+1,style:{...c,flexBasis:"auto",flexGrow:0,flexShrink:0}})),a&&i.push(le(`${o}.${s++}`,0,void 0,{[`data-${t}-placeholder`]:!0})),bo(t,{resizeable:!1,style:{flexBasis:"auto"}},i,o)}var Qi=(e,t)=>{if(!t)return e===0?1:0};function bo(e,t,o,n){let r=(0,fo.uuid)(),{flexFill:i,style:s,resizeable:a=!0}=t,{flexBasis:l=i?void 0:"auto"}=s,c=Qi(l,i);return ho.default.createElement(pe.Flexbox,{id:r,key:r,path:n,flexFill:i,style:{...s,flexDirection:e,flexBasis:l,flexGrow:c,flexShrink:c},resizeable:a},o)}var es={flexGrow:1,flexShrink:1};function le(e,t,o,n){let r=(0,fo.uuid)();return ho.default.createElement("div",{...Ki,...n,"data-path":e,id:r,key:r,style:{...es,...o,flexBasis:t}})}var ts={},et=1,tt=2,os=e=>typeof e.intrinsicSize=="number",ns=(e,t)=>{let o={};return e.forEach(n=>{o[n]=w(t,n)}),o},Lt=(e,t,o)=>e.map((n,r)=>{var l;let i=w(n,"resizeable"),{[t]:s}=(l=j(n))!=null?l:ts,a=Fn(n);return o?{index:r,flexOpen:a,intrinsicSize:s,resizeable:i,...ns(o,n)}:{index:r,flexOpen:a,intrinsicSize:s,resizeable:i}}),Nn=e=>{let t=e.length,o=e.every(os),n=Array(t).fill(0);if(o&&(n[0]=tt,n[t-1]=tt),t<2)return n;for(let r=0,i=0;r<t-1;r++)e[r].resizeable&&!i&&(i=et),n[r]+=i;for(let r=t-1;r>0&&(n[r]&et&&(n[r]-=et),!e[r].resizeable);r--);return n},Vn=(e,t)=>{let o=is(e,t),n=ss(e,t),r=o!==-1&&n!==-1?[o,n]:void 0,i=rs(e,r);return[r,i]};function rs(e,t){if(t){let o=[];for(let n=0;n<e.length;n++)e[n].flexOpen&&!t.includes(n)&&o.push(n);return o}}function is(e,t){let o=t,n=!1;for(;o>=1&&!n;)o=o-1,n=Wn(e,o);return o}function ss(e,t){let o=t,n=!1,r=e.length;for(;o<r&&!n;)o=o+1,n=Wn(e,o);return o===r?-1:o}function Wn(e,t){let{placeholder:o,splitter:n,resizeable:r,intrinsicSize:i}=e[t];return!!(!n&&!i&&(o||r))}var as=e=>!e.splitter&&!e.placeholder,Un=({children:e,onSplitterMoved:t,style:o})=>{let n=(0,O.useRef)(null),r=(0,O.useRef)(),i=(0,O.useRef)(),s=(0,O.useRef)([]),[,a]=(0,O.useState)({}),l=y=>{i.current=y,a({})},c=(o==null?void 0:o.flexDirection)==="column",p=c?"height":"width",m=(0,O.useMemo)(()=>Array.isArray(e)?e:O.default.isValidElement(e)?[e]:[],[e]),u=(0,O.useCallback)(y=>{let{current:d}=r;if(d){let[b,E]=Vn(d,y);b&&(b.forEach(R=>{var x;let S=(x=n.current)==null?void 0:x.childNodes[R];if(S){let{size:T,minSize:v}=us(S,p);d[R].currentSize=T,d[R].minSize=v}}),E&&E.forEach(R=>{var x;let S=(x=n.current)==null?void 0:x.childNodes[R];if(S){let{[p]:T}=S.getBoundingClientRect();d[R].flexBasis=T}}))}},[p]),f=(0,O.useCallback)((y,d)=>{i.current&&r.current&&l(cs(i.current,r.current,d,p))},[p]),h=(0,O.useCallback)(()=>{let y=r.current;y&&(t==null||t(y.filter(as))),y==null||y.forEach(d=>{d.currentSize=void 0,d.flexBasis=void 0,d.flexOpen=!1})},[t]),g=(0,O.useCallback)(y=>O.default.createElement(On,{column:c,index:y,key:`splitter-${y}`,onDrag:f,onDragEnd:h,onDragStart:u}),[f,h,u,c]);return(0,O.useMemo)(()=>{let[y,d]=ls(m,p,g,s.current);r.current=d,i.current=y},[m,g,p]),{content:i.current||[],rootRef:n}};function ls(e,t,o,n){let r=Lt(e,t),i=Nn(r),s=[],a=[];for(let l=0;l<e.length;l++){let c=e[l];if(l===0&&i[l]&tt&&(s.push(_n(l)),a.push({placeholder:!0,shim:!0})),c.key==null){let p=n[l]||(n[l]=(0,Gn.getUniqueId)());s.push(O.default.cloneElement(c,{key:p}))}else s.push(c);a.push(r[l]),l>0&&i[l]&tt?(s.push(_n(l)),a.push({placeholder:!0})):i[l]&et&&(s.push(o(s.length)),a.push({splitter:!0}))}return[s,a]}function cs(e,t,o,n){return ps(t,o)?e.map((i,s)=>{let a=t[s],{currentSize:l,flexOpen:c,flexBasis:p}=a,m=l!==void 0;if(m||c){let{flexBasis:u}=i.props.style||{},f=m?a.currentSize:p;return f!==u?O.default.cloneElement(i,{style:{...i.props.style,flexBasis:f,[n]:"auto"}}):i}else return i}):e}function ps(e,t){let o=[];e.forEach((p,m)=>{p.currentSize!==void 0&&o.push(m)});let n=t<0?o[0]:o[1],{currentSize:r=0,minSize:i=0}=e[n];if(r===i)return!1;if(Math.abs(t)>r-i){let p=t<0?-1:1;t=Math.max(0,r-i)*p}let s=e[o[0]],{currentSize:a=0}=s;s.currentSize=a+t;let l=e[o[1]],{currentSize:c=0}=l;return l.currentSize=c-t,!0}function _n(e){return O.default.createElement(qe,{shim:e===0,key:`placeholder-${e}`})}function us(e,t){let{[t]:o}=e.getBoundingClientRect(),r=getComputedStyle(e).getPropertyValue(`min-${t}`),i=r.endsWith("px")?parseInt(r,10):0;return{size:o,minSize:i}}var jn=require("react/jsx-runtime"),xo="hwFlexbox",Jn=(0,Yn.forwardRef)(function(t,o){let{breakPoints:n,children:r,column:i,className:s,flexFill:a,gap:l,fullPage:c,id:p,onSplitterMoved:m,resizeable:u,row:f,spacing:h,splitterSize:g,style:y,...d}=t,{content:b,rootRef:E}=Un({children:r,onSplitterMoved:m,style:y}),R=(0,Zn.default)(xo,s,{[`${xo}-column`]:i,[`${xo}-row`]:f,"flex-fill":a,"full-page":c});return(0,jn.jsx)("div",{...d,className:R,"data-resizeable":u||void 0,id:p,ref:(0,Xn.useForkRef)(E,o),style:{...y,gap:l,"--spacing":h},children:b})});Jn.displayName="Flexbox";var Mt=Jn;var Sr=require("react");var Me={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",MAXIMIZE:"maximize",MINIMIZE:"minimize",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAR_OUT:"tear-out"};var U=require("react");var Ao=M(require("react"));var vo=require("@vuu-ui/vuu-utils"),Ne=M(require("react"));var Do=require("@vuu-ui/vuu-utils"),Te=M(require("react"));var Ce=require("react"),G=new Map,K=new Map,Ro=e=>G.get(e),Eo=e=>G.has(e),So=(e,t)=>G.set(e,t),Ae=()=>{let e=(0,Ce.useCallback)((s,a)=>{let l=K.get(s);if(l)return a!==void 0&&l[a]!==void 0?l[a]:a!==void 0?void 0:l},[]),t=(0,Ce.useCallback)((s,a,l)=>{if(a===void 0)K.set(s,l);else if(K.has(s)){let c=K.get(s);K.set(s,{...c,[a]:l})}else K.set(s,{[a]:l})},[]),o=(0,Ce.useCallback)((s,a)=>{if(K.has(s)){if(a===void 0)K.delete(s);else if(K.get(s)[a]){let{[a]:c,...p}=K.get(s);Object.keys(p).length>0?K.set(s,p):K.delete(s)}}},[]),n=(0,Ce.useCallback)((s,a)=>{let l=G.get(s);if(l)return a!==void 0?l[a]:l},[]),r=(0,Ce.useCallback)((s,a,l)=>{if(a===void 0)G.set(s,l);else if(G.has(s)){let c=G.get(s);G.set(s,{...c,[a]:l})}else G.set(s,{[a]:l})},[]),i=(0,Ce.useCallback)((s,a)=>{if(G.has(s)){if(a===void 0)G.delete(s);else if(G.get(s)[a]){let{[a]:c,...p}=G.get(s);Object.keys(p).length>0?G.set(s,p):G.delete(s)}}},[]);return{loadSessionState:e,loadState:n,saveSessionState:t,saveState:r,purgeState:i,purgeSessionState:o}};var Kn=e=>e.flexDirection==="column"?["height","width"]:["width","height"],ms={},ot=(e,t="0")=>{let[o,n]=Po(P(e),e.props,t);return Te.default.cloneElement(e,o,n)},wo=(e,t)=>{let o=P(e),[n,r]=Po(o,e.props,"0",void 0,t);return(0,Te.cloneElement)(e,n,r)};function ds(e,t,o="0",n=null,r){var g,y;let{active:i=0,"data-path":s,path:a=s,id:l,style:c}=D(r),p=P(r)===e&&o===a,m=p?l:(g=t.id)!=null?g:(0,Do.uuid)(),u=e==="Stack"?(y=t.active)!=null?y:i:void 0,f=m,h=p?c:hs(e,t,n);return Zt(e)?{id:m,key:f,path:o,style:h,type:e,active:u}:{id:m,key:f,style:h,"data-path":o}}function Po(e,t,o,n=null,r){var c,p;let i=ds(e,t,o,n,r);if(t.layout&&!r)return[i,[Ct(t.layout,`${o}.0`)]];let s=(p=r==null?void 0:r.children)!=null?p:(c=r==null?void 0:r.props)==null?void 0:c.children,l=t.dropTarget&&s?s:fs(e,t.children,o,s);return[i,l]}function fs(e,t,o="0",n){let r=Array.isArray(t)?t:Te.default.isValidElement(t)?[t]:[];return N(e)?r.map((i,s)=>{let a=P(i),l=P(n==null?void 0:n[s]);if(!l||a===l){let[c,p]=Po(a,i.props,`${o}.${s}`,e,n==null?void 0:n[s]);return Te.default.cloneElement(i,c,p)}return n==null?void 0:n[s]}):t}var hs=(e,t,o)=>{let{style:n=ms}=t;if(e==="Flexbox"&&(n={flexDirection:t.column?"column":"row",...n,display:"flex"}),n.flex){let{flex:r,...i}=n;n={...i,...ht(typeof r=="number"?r:0)}}else o==="Stack"?n={...n,...ht(1)}:o==="Flexbox"&&(n.width||n.height)&&n.flexBasis===void 0&&(n={...n,flexBasis:"auto",flexGrow:0,flexShrink:0});return n};function Ct({id:e=(0,Do.uuid)(),type:t,children:o,props:n,state:r},i){let s=t.match(/^[a-z]/)?t:pe[t];if(s===void 0)throw Error(`layoutUtils unable to create component from JSON, unknown type ${t}`);return r&&So(e,r),Te.default.createElement(s,{id:e,...n,key:e,path:i},o?o.map((a,l)=>Ct(a,`${i}.${l}`)):void 0)}function qn(e){return Qn(e)}function Qn(e){let t=P(e),{id:o,children:n,type:r,...i}=D(e),s=Eo(o)?Ro(o):void 0;return{id:o,type:t,props:gs(i),state:s,children:Te.default.Children.map(n,Qn)}}function gs(e){if(e){let{path:t,...o}=e,n={};for(let[r,i]of Object.entries(o))n[r]=To(i);return n}}function To(e){if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return e.map(To);if(typeof e=="object"&&e!==null){let t={};for(let[o,n]of Object.entries(e))t[o]=To(n);return t}}function er(e,t){var s;let o=e.props.children,n=o.length,{index:r=-1,positionRelativeToTab:i="after"}=t.tab||{};return r===-1||r>=n?[o[n-1],"after"]:[(s=o[r])!=null?s:null,i]}function At(e,t,o){let{active:n,children:r=[],path:i}=D(e),s=w(t,"path"),{idx:a,finalStep:l}=J(i,s,!0),[c,p]=l?ys(e,r,o):[n,r==null?void 0:r.map((u,f)=>f===a?At(u,t,o):u)],m=P(e)==="Stack"?Array.isArray(c)?c[0]:c:n;return Ne.default.cloneElement(e,{active:m},p)}function ys(e,t,o){let n=w(e,"path"),r=t==null?void 0:t.length,{id:i=(0,vo.uuid)()}=D(o);return r?[r,t.concat($(o,`${n}.${r}`,{id:i,key:i}))]:[0,[$(o,`${n}.0`,{id:i})]]}function zt(e,t,o,n,r,i,s){let{active:a,children:l,path:c}=D(e),p=w(t,"path"),{idx:m,finalStep:u}=J(c,p),[f,h]=u?bs(e,l,m,o,n,r,i,s):[a,l.map((y,d)=>d===m?zt(y,t,o,n,r,i,s):y)],g=P(e)==="Stack"?f:a;return Ne.default.cloneElement(e,{active:g},h)}function bs(e,t,o,n,r,i,s,a){let l=j(n);return l!=null&&l.width&&(l!=null&&l.height)?Rs(e,t,o,n,r,s,a):tr(e,t,o,n,r,(i==null?void 0:i.width)||(i==null?void 0:i.height),s)}var xs=(e,t,{top:o,right:n,bottom:r,left:i},[s,a,l,c])=>{if(e==="column"&&t==="before")return a-o;if(e==="column")return r-c;if(e==="row"&&t==="before")return s-i;if(e==="row")return n-l};function Rs(e,t,o,n,r,i,s){let{style:{flexDirection:a}}=D(e),[l,c,p]=$n(a),{[c]:m,[l]:u}=j(n),f=w(t[o],"path"),h=xs(a,r,i,s),[g,y]=m<i[c]?[Qe(n,p,f,i,s),u]:[n,void 0],d=h?le(f,h,{flexGrow:0,flexShrink:0}):void 0;return m>i[c]&&(t=t.map(b=>{if(w(b,"placeholder"))return b;{let{[c]:E}=j(b);return E&&E<m?Qe(b,p,w(b,"path")):b}})),tr(e,t,o,g,r,y,i,d)}function tr(e,t,o,n,r,i,s,a){let l=w(e,"path"),c=0,p=!t||t.length===0?[n]:t.reduce((m,u,f)=>{if(o===f){let[h,g]=Es(e,u,n,s);r==="before"?a?m.push(a,g,h):m.push(g,h):a?m.push(h,g,a):m.push(h,g),c=m.indexOf(g)}else m.push(u);return m},[]).map((m,u)=>u<c?m:$(m,`${l}.${u}`));return[c,p]}function Es(e,t,o,n){let r=(0,vo.uuid)(),{version:i=0}=D(o);if(i+=1,P(e)==="Flexbox"){let[s]=Kn(e.props.style),a=6,l={[s]:(n[s]-a)/2},c=yo(t,s,l),p=yo(o,s,l);return[Ne.default.cloneElement(t,{style:c}),Ne.default.cloneElement(o,{id:r,version:i,style:p})]}else{let{style:{left:s,top:a,flex:l,...c}={left:void 0,top:void 0,flex:void 0}}=D(o);return[t,Ne.default.cloneElement(o,{id:r,version:i,style:c})]}}var q={ADD:"add",DRAG_START:"drag-start",DRAG_DROP:"drag-drop",MAXIMIZE:"maximize",MINIMIZE:"minimize",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAROUT:"tearout"};var De=M(require("react"));var nt=M(require("react"));function or(e,{target:t,replacement:o}){return Lo(e,t,o)}function Lo(e,t,o){let n=w(t,"path"),r=w(t,"resizeable"),{style:i}=D(t),s=ot(nt.default.cloneElement(o,{resizeable:r,style:{...i,...o.props.style}}),n);return te(e,t,s)}function te(e,t,o,n){if(e===t)return o;let{idx:r,finalStep:i}=J(w(e,"path"),w(t,"path")),s=e.props.children.slice();return i?n?n===Me.MINIMIZE?s[r]=Ss(e,s[r]):n===Me.RESTORE&&(s[r]=Ts(s[r])):s[r]=o:s[r]=te(s[r],t,o,n),nt.default.cloneElement(e,void 0,s)}function Ss(e,t){let{style:o}=D(e),{style:n}=D(t),{width:r,height:i,flexBasis:s,flexShrink:a,flexGrow:l,...c}=n,p={width:r,height:i,flexBasis:s,flexShrink:a,flexGrow:l},m={...c,flexBasis:0,flexGrow:0,flexShrink:0},u=o.flexDirection==="row"?"vertical":o.flexDirection==="column"?"horizontal":!1;return u?nt.default.cloneElement(t,{collapsed:u,restoreStyle:p,style:m}):t}function Ts(e){let{style:t,restoreStyle:o}=D(e),{flexBasis:n,flexShrink:r,flexGrow:i,...s}=t,a={...s,...o};return nt.default.cloneElement(e,{collapsed:!1,style:a,restoreStyle:void 0})}function Mo(e,{path:t}){let o=V(e,t),n=se(e,t);if(n===null)return e;let{children:r}=D(n);if(r.length>1&&rr(r,t)){let{style:{flexBasis:i,display:s,flexDirection:a,...l}}=D(n),c=w(n,"path"),p=te(e,n,le(c,i,l));for(;(n=se(p,c))&&w(n,"path")!=="0";){let{children:m}=D(n);if(rr(m)){c=w(n,"path");let{style:{flexBasis:u,display:f,flexDirection:h,...g}}=D(n);p=te(e,n,le(c,u,g))}else if(vs(m))p=ar(e,n);else break}return p}return ir(e,o)}function ir(e,t){let o=D(e),{children:n,path:r,preserve:i}=o,{active:s}=o,{idx:a,finalStep:l}=J(r,w(t,"path")),c=P(e),p=n.slice();if(l){if(p.splice(a,1),s!==void 0&&s>=a&&(s=Math.max(0,s-1)),p.length===1&&!i&&r!=="0"&&c.match(/Flexbox|Stack/))return Ds(e,p[0]);!p.some(ws)&&p.some(sr)&&(p=Ps(p))}else p[a]=ir(p[a],t);return p=p.map((m,u)=>$(m,`${r}.${u}`)),De.default.cloneElement(e,{active:s},p)}function Ds(e,t){let o=P(e),{path:n,style:{flexBasis:r,flexGrow:i,flexShrink:s,width:a,height:l}}=D(e),c=$(t,n);if(n==="0")c=De.default.cloneElement(c,{style:{...t.props.style,width:a,height:l}});else if(o==="Flexbox"){let p=e.props.style.flexDirection==="column"?"height":"width",{style:{[p]:m,...u}}=c.props;c=De.default.cloneElement(c,{flexFill:void 0,style:{...u,flexGrow:i,flexShrink:s,flexBasis:r,width:a,height:l}})}return c}var ws=e=>e.props.style.flexGrow>0,sr=e=>{let{width:t,height:o,flexGrow:n}=e.props.style;return n===0&&typeof t!="number"&&typeof o!="number"},Ps=e=>e.map(t=>sr(t)?De.default.cloneElement(t,{style:{...t.props.style,flexGrow:1}}):t),vs=e=>{if(e&&e.length>0){let t=w(e[0],"placeholder"),o=!1;for(let n=1;n<e.length;n++){if(o=w(e[n],"placeholder"),t&&o)return!0;t=o}}},ar=(e,t)=>{let{children:o,path:n}=D(e),{idx:r,finalStep:i}=J(n,w(t,"path")),s=o.slice();return i?s[r]=Ls(t):s[r]=ar(s[r],t),s=s.map((a,l)=>$(a,`${n}.${l}`)),De.default.cloneElement(e,void 0,s)},Ls=e=>{let{children:t}=D(e),o=[],n=[];for(let i=0;i<t.length;i++)w(t[i],"placeholder")?n.push(t[i]):(n.length===1?o.push(n.pop()):n.length>0&&(o.push(nr(n)),n.length=0),o.push(t[i]));n.length===1?o.push(n.pop()):n.length>0&&o.push(nr(n));let r=w(e,"path");return De.default.cloneElement(e,void 0,o.map((i,s)=>$(i,`${r}.${s}`)))},nr=([e,...t])=>{let o=w(e,"style"),{flexBasis:n,flexGrow:r,flexShrink:i}=o;for(let{props:{style:s}}of t)n+=s.flexBasis,r=Math.max(r,s.flexGrow),i=Math.max(i,s.flexShrink);return De.default.cloneElement(e,{style:{...o,flexBasis:n,flexGrow:r,flexShrink:i}})},rr=(e,t)=>e.every(o=>w(o,"placeholder")||t&&w(o,"path")===t);var Co=M(require("react"));function lr(e,{path:t,sizes:o}){let n=V(e,t,!0),{children:r,style:i}=D(n),s=i.flexDirection==="column"?"height":"width",a=Ms(r,o,s),l=Co.default.cloneElement(n,void 0,a);return te(e,n,l)}function Ms(e,t,o){return e.map((n,r)=>{let{style:{[o]:i,flexBasis:s}}=D(n),a=t[r],{currentSize:l,flexBasis:c}=a,m=l!==void 0?a.currentSize:c;return m===void 0||i===m||s===m?n:Co.default.cloneElement(n,{style:Cs(n.props.style,o,m)})})}function Cs(e,t,o){let n=typeof e[t]=="number",{flexShrink:r=1,flexGrow:i=1}=e;return{...e,[t]:n?o:"auto",flexBasis:n?"auto":o,flexShrink:r,flexGrow:i}}var cr=require("@vuu-ui/vuu-utils"),rt=M(require("react"));var pr=e=>{let[t]=P(e);return t===t.toLowerCase()};function it(e,t,o,n,r,i){let{children:s,path:a}=D(e),l=w(t,"path"),{idx:c,finalStep:p}=J(a,l),m=p?As(e,s,t,o,n,r,i):s.map((u,f)=>f===c?it(u,t,o,n,r,i):u);return rt.default.cloneElement(e,void 0,m)}function As(e,t,o,n,r,i,s){let a=j(n);if(a!=null&&a.width&&(a!=null&&a.height)){if(i===void 0||s===void 0)throw Error("wrap-layout-element, updateChildren clientRect and dropRect must both be available");return Is(t,o,n,r,i,s)}return zs(e,t,o,n,r)}function zs(e,t,o,n,r){var x;let{version:i=0}=D(n),s=w(o,"path"),{type:a,flexDirection:l,showTabs:c}=mr(r),[p,m,u]=ks(a,o,n,l,r),f=ur(r),h=f?1:0,g={resizeable:!0,style:u,version:i+1},d={[pr(o)?"data-resizeable":"resizeable"]:!0,style:m},b=a==="Stack"?{showTabs:c}:void 0,E=a==="Flexbox"?{splitterSize:(x=P(e)==="Flexbox"&&e.props.splitterSize)!=null?x:void 0}:void 0,R=(0,cr.uuid)(),S=rt.default.createElement(pe[a],{active:h,id:R,key:R,path:w(o,"path"),flexFill:w(o,"flexFill"),...E,...b,style:p,resizeable:w(o,"resizeable")},f?[$(o,`${s}.0`,d),ot(rt.default.cloneElement(n,g),`${s}.1`)]:[ot(rt.default.cloneElement(n,g),`${s}.0`),$(o,`${s}.1`,d)]);return t.map(T=>T===o?S:T)}function Is(e,t,o,n,r,i){let{flexDirection:s}=mr(n),a=s==="column"?"row":"column",l=ur(n),[c,p,m,u]=i,[f,h]=s==="column"?[p-r.top,r.bottom-u]:[c-r.left,r.right-m],g=w(t,"path"),y=0,d=pr(t)?"data-resizeable":"resizeable",b=[];f&&b.push(l?$(t,`${g}.${y++}`,{[d]:!0,style:{flexBasis:f,flexGrow:1,flexShrink:1}}):le(`${g}.${y++}`,f,{flexGrow:0,flexShrink:0})),b.push(Qe(o,a,`${g}.${y++}`,r,i)),h&&b.push(l?le(`${g}.${y++}`,0):$(t,`${g}.${y++}`,{[d]:!0,style:{flexBasis:0,flexGrow:1,flexShrink:1}}));let E=bo(s,t.props,b,g);return e.map(R=>R===t?E:R)}function ks(e,t,o,n,r){let i={...t.props.style,flexDirection:n},s=e==="Flexbox"&&n==="column"?"height":"width",a=go(o,s,r),l=go(t,s);return[i,l,a]}var ur=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 mr(e){return e.position.Header?{type:"Stack",flexDirection:"column",showTabs:!0}:{type:"Flexbox",flexDirection:e.position.EastOrWest?"row":"column"}}var gr=(e,t)=>{switch(t.type){case q.ADD:return Fs(e,t);case q.DRAG_DROP:return $s(e,t);case q.MAXIMIZE:return Hs(e,t);case q.REMOVE:return Mo(e,t);case q.REPLACE:return or(e,t);case q.SET_TITLE:return Os(e,t);case q.SPLITTER_RESIZE:return lr(e,t);case q.SWITCH_TAB:return Bs(e,t);default:return e}},Bs=(e,{path:t,nextIdx:o})=>{let n=V(e,t,!0),r=Ao.default.cloneElement(n,{active:o});return te(e,n,r)},Os=(e,{path:t,title:o})=>{let n=V(e,t,!0),r=Ao.default.cloneElement(n,{title:o});return te(e,n,r)},Hs=(e,{path:t,type:o})=>{if(t){let n=V(e,t,!0);return te(e,n,n,o)}else return e},$s=(e,t)=>{var h,g;let{draggedReactElement:o,dragInstructions:n,dropTarget:r}=t,i=r.component,{pos:s}=r,a=((h=s==null?void 0:s.position)==null?void 0:h.Header)&&P(i)==="Stack",{id:l,version:c}=D(o),p=j(o),m;if(a){let[y,d]=er(i,s);y===void 0?m=At(e,i,o):m=zt(e,y,o,d)}else!p&&((g=s==null?void 0:s.position)!=null&&g.Centre)?m=Lo(e,i,o):m=Ns(e,r,o);if(n.DoNotRemove)return m;let u=ae(m,y=>y.id===l&&y.version===c),f=w(u,"path");return Mo(m,{path:f,type:"remove"})},Fs=(e,{path:t,component:o})=>At(e,V(e,t),o),Ns=(e,t,o)=>{let{component:n,pos:r,clientRect:i,dropRect:s}=t,a=w(n,"path");if(a==="0.0")return it(e,n,o,r);let l=se(e,a);if(dr(r,l)){let c=r.position.SouthOrEast?"after":"before";return zt(e,n,o,c,r,i,s)}if(!dr(r,l))return it(e,n,o,r,i,s);if(N(P(l)))return it(e,n,o,r);throw Error(`no support right now for position = ${r.position}`)},dr=(e,t)=>e.position.Centre?hr(t)||fr(t):e.position.NorthOrSouth?fr(t):e.position.EastOrWest?hr(t):!1,fr=e=>P(e)==="Flexbox"&&e.props.style.flexDirection==="column",hr=e=>P(e)==="Flexbox"&&e.props.style.flexDirection!=="column";var yr=require("react"),Vs=e=>console.log(`dispatch ${e.type}, have you forgotten to provide a LayoutProvider ?`),Ve=(0,yr.createContext)({dispatchLayoutProvider:Vs,version:-1});var de=require("react");var Ws={},br=[0,0],_s=(e,t,o)=>{let n=document.createElement("div");n.className="vuuSimpleDraggableWrapper",n.classList.add("vuuSimpleDraggableWrapper","salt-theme","salt-density-medium"),n.dataset.dragging="true";let r=o!=null?o:document.createElement("div");r.id=t,n.appendChild(r),document.body.appendChild(n);let i=`top:${e.top}px;left:${e.left}px;width:${e.width}px;height:${e.height}px;`;return[n,i,e.left,e.top]},Gs=e=>{let{offsetParent:t}=e;if(t===null)return br;{let{left:o,top:n}=t.getBoundingClientRect();return[o,n]}},xr=(e,t)=>{let o=(0,de.useRef)(),n=(0,de.useRef)(),r=(0,de.useRef)(),i=(0,de.useCallback)((c,p)=>{if(n.current&&r.current){let{dragOffsets:[m,u],targetPosition:f}=n.current,h=typeof c=="number"?c-m:f.left,g=typeof p=="number"?p-u:f.top;(h!==f.left||g!==f.top)&&(n.current.targetPosition.left=h,n.current.targetPosition.top=g,r.current.style.top=g+"px",r.current.style.left=h+"px")}},[]),s=(0,de.useCallback)(c=>{if(n.current){let{dragInstructions:p,payload:m,originalCSS:u}=n.current;t({type:"drag-drop",draggedReactElement:m,dragInstructions:p,dropTarget:c}),console.log("[useLayoutDragDrop]",{dragInstructions:p}),r.current&&(p.RemoveDraggableOnDragEnd?document.body.removeChild(r.current):(r.current.style.cssText=u,delete r.current.dataset.dragging)),o.current=void 0,n.current=void 0,r.current=void 0}},[t]),a=(0,de.useCallback)(c=>{if(o.current){let{payload:p,dragContainerPath:m,dragElement:u,dragRect:f,instructions:h=Ws,path:g}=o.current,{current:y}=e,d={x:c.clientX,y:c.clientY},b=p!=null?p:V(y,g,!0),{id:E}=b.props,R=j(b),S="",x="",T="",v=-1,A=-1,F=br,L=document.getElementById(E);if(L===null)[L,x,v,A]=_s(f,E,u);else{F=Gs(L);let[H,C]=F,{width:z,height:k,left:Q,top:X}=L.getBoundingClientRect();v=Q-H,A=X-C,x=`width:${z}px;height:${k}px;left:${v}px;top:${A}px;z-index: 100;background-color:#ccc;opacity: 0.6;`,L.dataset.dragging="true",S=L.style.cssText}T=Pt.initDrag(e.current,m,f,d,{drag:i,drop:s},R),L.style.cssText=x+T,r.current=L,n.current={payload:b,originalCSS:S,dragRect:f,dragOffsets:F,dragInstructions:h,targetPosition:{left:v,top:A}}}},[i,s,e]);return(0,de.useCallback)(c=>{let{evt:p,...m}=c;console.log("prepare to drag",{options:m}),o.current={...m,dragContainerPath:""},Pt.handleMousedown(p,a,m.instructions)},[a])};var zo=require("react/jsx-runtime"),Rr=e=>e.dropTarget,Us=e=>["drag-drop","remove","set-title","splitter-resize","switch-tab"].includes(e.type),Xs=()=>{let e=Er();return(0,zo.jsx)("div",{children:`Context: ${e} `})},Zs=e=>{let{children:t,layout:o,onLayoutChange:n}=e,r=(0,U.useRef)(void 0),i=(0,U.useRef)(t),[,s]=(0,U.useState)(null),a=(0,U.useCallback)(m=>{if(n){let u=ae(m,Rr)||r.current,h=P(u)==="DraggableLayout"?D(u).children[0]:u,g=qn(h);n(g,"drag-root")}},[n]),l=(0,U.useCallback)((m,u=!1)=>{let f=gr(r.current,m);f!==r.current&&(r.current=f,s({}),!u&&Us(m)&&a(f))},[a]),c=(0,U.useCallback)(m=>{switch(m.type){case"drag-start":{p(m);break}case"save":{a(r.current);break}default:{l(m);break}}},[l,a]),p=xr(r,c);return(0,U.useEffect)(()=>{if(o){let m=ae(r.current,Rr),u=Kt(m),f=Ct(o,`${m.props.path}.0`),h=u?{type:q.REPLACE,target:u,replacement:f}:{type:q.ADD,path:m.props.path,component:f};l(h,!0)}},[l,o]),r.current===void 0?r.current=wo(t):t!==i.current&&(r.current=wo(t,r.current),i.current=t),(0,zo.jsx)(Ve.Provider,{value:{dispatchLayoutProvider:c,version:0},children:r.current})},Z=()=>{let{dispatchLayoutProvider:e}=(0,U.useContext)(Ve);return e},Er=()=>{console.log({LayoutProviderContext:Ve});let{version:e}=(0,U.useContext)(Ve);return e};var Tr=require("react/jsx-runtime"),Io=function(t){let{path:o}=t,n=Z(),r=(0,Sr.useCallback)(i=>{n({type:Me.SPLITTER_RESIZE,path:o,sizes:i})},[n,o]);return(0,Tr.jsx)(Mt,{...t,onSplitterMoved:r})};Io.displayName="Flexbox";B("Flexbox",Io,"container");var Ar=require("@salt-ds/core"),zr=M(require("classnames")),Ir=require("react");var oe=require("react");var Ie=require("react"),Ys=["height","width"],Js=["height"],js=["width"],ze=new WeakMap,wr=(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}},Dr=new ResizeObserver(e=>{for(let t of e){let{target:o,contentRect:n}=t,r=ze.get(o);if(r){let{onResize:i,measurements:s}=r,a=!1;for(let[l,c]of Object.entries(s)){let p=wr(o,n,l);p!==c&&(a=!0,s[l]=p)}a&&i&&i(s)}}});function ko(e,t,o,n=!1){let r=(0,Ie.useRef)(t),i=(0,Ie.useCallback)(s=>{let a=s.getBoundingClientRect();return r.current.reduce((l,c)=>(l[c]=wr(s,a,c),l),{})},[]);(0,Ie.useLayoutEffect)(()=>{let s=e.current,a=!1;async function l(){ze.set(s,{measurements:{}}),a=!1;let{fonts:c}=document;if(c&&await c.ready,!a){let p=ze.get(s);if(p){let m=i(s);p.measurements=m,Dr.observe(s),n&&o(m)}}}if(s){if(ze.has(s))throw Error("useResizeObserver attemping to observe same element twice");l()}return()=>{s&&ze.has(s)&&(Dr.unobserve(s),ze.delete(s),a=!0)}},[e,i]),(0,Ie.useLayoutEffect)(()=>{let s=e.current,a=ze.get(s);if(a){if(r.current!==t){r.current=t;let l=i(s);a.measurements=l}a.onResize=o}},[t,i,e,o])}function Ks(e,t){let o=document.body.querySelector(`.${e}`),n={get:function(r,i){let s=r.getPropertyValue(`--${e}-breakpoint-${i}`);return s?parseInt(s):void 0}};return o?new Proxy(getComputedStyle(o),n):t!=null?t:{}}var qs=([,e],[,t])=>t-e,Oo=e=>Object.entries(e).sort(qs).map(([t,o],n,r)=>[t,o,n<r.length-1?r[n+1][1]:9999]),Bo=null,Qs=(e="salt")=>{let{xs:t,sm:o,md:n,lg:r,xl:i}=Ks(e);return Oo({xs:t,sm:o,md:n,lg:r,xl:i})},Pr=e=>(Bo===null&&(Bo=Qs(e)),Bo);var ea=[],Ho=({breakPoints:e,smallerThan:t},o)=>{let[n,r]=(0,oe.useState)(t?!1:"lg"),i=(0,oe.useRef)(document.body),s=(0,oe.useRef)(e?Oo(e):Pr()),a=(0,oe.useRef)("lg"),l=(0,oe.useCallback)(p=>{if(s.current){for(let[m,u]of s.current)if(p>=u)return m}},[s]),c=(0,oe.useCallback)(p=>{if(t){let m=s.current.find(([u])=>u===t);if(m){let[,,u]=m;return p<u}}else return l(p);return p},[t,l]);return ko(o||i,s.current?["width"]:ea,({width:p})=>{let m=c(p);m!==a.current&&(a.current=m,r(m))},!0),(0,oe.useEffect)(()=>{let p=o||i;if(p.current){let m=a.current;if(s.current){let{clientWidth:u}=p.current,f=c(u);a.current=f,f!==m&&r(f)}}},[r,c,o]),n};var vr="data-collapsible",ta={[vr]:!0,"data-pad-start":!0,"data-pad-end":!0},Lr=e=>{var t;return(t=ta[e])!=null?t:!1},oa=e=>e===vr,na={dynamic:"dynamic",instant:"instant",true:"instant"},ra=e=>{var t;return(t=na[e])!=null?t:"none"},ia=e=>Object.keys(e).reduce((t,o)=>{let[n,r]=t;if(Lr(o)){let i=oa(o)?ra(e[o]):e[o];n[o]=i,r[o]=void 0}return t},[{},{}]);var Mr=require("@vuu-ui/vuu-utils"),Y=require("react");var sa=["xs","sm","md","lg","xl"],aa=12,Cr=({children:e,cols:t,style:o})=>{let n=(0,Y.useRef)(null),r=(0,Y.useRef)(null),i=(0,Y.useRef)(),s=t!=null?t:aa,l=(o==null?void 0:o.flexDirection)==="column"?"height":"width",c=(0,Y.useMemo)(()=>Array.isArray(e)?e:(0,Y.isValidElement)(e)?[e]:[],[e]),p=(0,Y.useCallback)((m,u)=>{let f=Lt(m,u,sa),h=[],g=[];for(let y=0;y<m.length;y++){let d=m[y],{style:{flex:b,...E}}=d.props;h.push((0,Y.cloneElement)(d,{key:(0,Mr.getUniqueId)(),style:{...E,"--parent-col-count":s}})),g.push(f[y])}return[h,g]},[s]);return(0,Y.useMemo)(()=>{let[m,u]=p(c,l);r.current=u,i.current=m},[p,c,l]),{cols:s,content:i.current,rootRef:n}};var kr=require("react/jsx-runtime"),It="hwFluidGrid",kt=(0,Ir.forwardRef)(function(t,o){let{breakPoints:n,children:r,column:i,cols:s=12,className:a,flexFill:l,gap:c=3,fullPage:p,id:m,onSplitterMoved:u,resizeable:f,row:h,showGrid:g,spacing:y,splitterSize:d,style:b,...E}=t,{cols:R,content:S,rootRef:x}=Cr({children:r,cols:s,style:b}),T=Ho({breakPoints:n},x),v=(0,zr.default)(It,a,{[`${It}-column`]:i,[`${It}-row`]:h,[`${It}-show-grid`]:g,"flex-fill":l,"full-page":p}),A={...b,"--spacing":y,"--grid-col-count":R,"--grid-gap":c};return(0,kr.jsx)("div",{...E,className:v,"data-breakpoint":T,"data-cols":R,"data-resizeable":f||void 0,id:m,ref:(0,Ar.useForkRef)(x,o),style:A,children:S})});kt.displayName="FluidGrid";var Br=require("react/jsx-runtime"),$o=function(t){return(0,Br.jsx)(kt,{...t})};$o.displayName="FluidGrid";B("FluidGrid",$o,"container");var Nr=M(require("classnames")),ke=M(require("react"));var we=require("react");var st=(e,t,o,n)=>{var y;let{loadSessionState:r,purgeSessionState:i,purgeState:s,saveSessionState:a}=Ae(),[l,c]=(0,we.useState)((y=r(e,"contributions"))!=null?y:[]),p=Z(),m=(0,we.useCallback)((d,b)=>{let E=l.concat([{location:d,content:b}]);a(e,"contributions",E),c(E)},[l,e,a]),u=(0,we.useCallback)(()=>{i(e,"contributions"),c([])},[e,i]),f=(0,we.useCallback)(()=>{let d=r(e,"data-source");d&&d.unsubscribe(),i(e),s(e),p({type:"remove",path:o})},[p,e,r,i,s,o]),h=(0,we.useCallback)(async(d,b,E)=>{var S;d.stopPropagation();let R=(S=t.current)==null?void 0:S.getBoundingClientRect();return new Promise((x,T)=>{p({type:"drag-start",evt:d,path:b===void 0?o:`${o}.${b}`,dragRect:R,preDragActivity:E,dropTargets:n,resolveDragStart:x,rejectDragStart:T})})},[t,p,o,n]);return[(0,we.useCallback)(async(d,b)=>{var R;let{type:E}=d;switch(E){case"maximize":case"minimize":case"restore":return p({type:E,path:(R=d.path)!=null?R:o});case"remove":return f();case"mousedown":return h(b,d.index,d.preDragActivity);case"add-toolbar-contribution":return m(d.location,d.content);case"remove-toolbar-contribution":return u();default:return}},[p,o,f,h,m,u]),l]};var Ot=require("@salt-ds/core"),$r=M(require("classnames")),re=M(require("react"));var ne=require("react");var Or=({id:e,rootRef:t,path:o,dropTargets:n,title:r})=>{let i=Z(),{loadState:s,loadSessionState:a,purgeState:l,saveState:c,saveSessionState:p}=Ae(),[m,u]=st(e,t,o,n),f=(0,ne.useMemo)(()=>{var x;return(x=s("view-title"))!=null?x:r},[s,r]),h=(0,ne.useCallback)(x=>{o&&i({type:"set-title",path:o,title:x})},[i,o]),g=(0,ne.useMemo)(()=>s(e),[e,s]),y=(0,ne.useCallback)(x=>s(e,x),[e,s]),d=(0,ne.useCallback)(x=>{l(e,x),i({type:"save"})},[e,i,l]),b=(0,ne.useCallback)((x,T)=>{c(e,T,x),i({type:"save"})},[e,i,c]),E=(0,ne.useCallback)(x=>a(e,x),[e,a]),R=(0,ne.useCallback)((x,T)=>p(e,T,x),[e,p]),S=(0,ne.useCallback)(({type:x,...T})=>{let{[x]:v}=T;b(v,x)},[b]);return{contributions:u,dispatchViewAction:m,load:y,loadSession:E,onConfigChange:S,onEditTitle:h,purge:d,restoredState:g,save:b,saveSession:R,title:f}};var Bt=require("@heswell/salt-lab"),We=require("react"),la=[],Hr=({mainRef:e,resize:t="responsive",rootRef:o})=>{let n=t==="defer",r=(0,We.useRef)({}),i=(0,We.useRef)(),s=(0,We.useCallback)(()=>{e.current&&(e.current.style.height=r.current.height+"px",e.current.style.width=r.current.width+"px"),i.current=void 0},[e]),a=(0,We.useCallback)(({height:l,width:c})=>{r.current.height=l,r.current.width=c,i.current!==null&&clearTimeout(i.current),i.current=window.setTimeout(s,40)},[s]);(0,Bt.useResizeObserver)(o,n?Bt.WidthHeight:la,a,n)};var at=M(require("react")),ca={dispatch:null},lt=at.default.createContext(ca),Fo=()=>{var t;let e=(0,at.useContext)(lt);return(t=e==null?void 0:e.dispatch)!=null?t:null},pa=()=>(0,at.useContext)(lt);var _e=require("react/jsx-runtime"),Fr=(0,re.forwardRef)(function(t,o){let{children:n,className:r,collapsed:i,closeable:s,"data-resizeable":a,dropTargets:l,expanded:c,flexFill:p,id:m,header:u,orientation:f="horizontal",path:h,resize:g="responsive",resizeable:y=a,tearOut:d,style:b={},title:E,...R}=t,S=(0,Ot.useIdMemo)(m),x=(0,re.useRef)(null),T=(0,re.useRef)(null),{contributions:v,dispatchViewAction:A,load:F,loadSession:L,onConfigChange:H,onEditTitle:C,purge:z,restoredState:k,save:Q,saveSession:X,title:He}=Or({id:S,rootRef:x,path:h,dropTargets:l,title:E});Hr({mainRef:T,resize:g,rootRef:x});let Ue="vuuView",ni=()=>re.default.isValidElement(n)&&k?re.default.cloneElement(n,k):n,ri=(0,re.useMemo)(()=>({dispatch:A,id:S,path:h,title:He,load:F,loadSession:L,onConfigChange:H,purge:z,save:Q,saveSession:X}),[A,S,F,L,H,h,z,Q,X,He]),ii=typeof u=="object"?u:{};return(0,_e.jsx)("div",{...R,className:(0,$r.default)(Ue,r,{[`${Ue}-collapsed`]:i,[`${Ue}-expanded`]:c,[`${Ue}-resize-defer`]:g==="defer"}),"data-resizeable":y,id:S,ref:(0,Ot.useForkRef)(o,x),style:b,tabIndex:-1,children:(0,_e.jsxs)(lt.Provider,{value:ri,children:[u?(0,_e.jsx)(No,{...ii,collapsed:i,contributions:v,expanded:c,closeable:s,onEditTitle:C,orientation:f,tearOut:d,title:He}):null,(0,_e.jsx)("div",{className:`${Ue}-main`,ref:T,children:ni()})]})})});Fr.displayName="View";var fe=re.default.memo(Fr);fe.displayName="View";B("View",fe,"view");var ie=require("@heswell/salt-lab"),Vr=require("@salt-ds/icons");var he=require("react/jsx-runtime"),No=({className:e,contributions:t,collapsed:o,closeable:n,onEditTitle:r,orientation:i="horizontal",style:s,title:a="Untitled"})=>{let l=(0,ke.useRef)(null),[c,p]=(0,ke.useState)(a),[m,u]=(0,ke.useState)(!1),f=Fo(),h=L=>f==null?void 0:f({type:"remove"},L),g="vuuHeader",y=()=>{var L;(L=l.current)==null||L.focus()},d=L=>{L.stopPropagation()},E=(0,Nr.default)(g,e,`${g}-${o||i}`),R=()=>{u(!0)},S=L=>{L.key==="Enter"&&u(!0)},x=(L="",H="",C=!0,z=!1)=>{var k;u(!1),z?p(L):H!==L&&(p(H),r==null||r(H)),C===!1&&((k=l.current)==null||k.focus())},T=L=>{f==null||f({type:"mousedown"},L)},v=[],A=[],F=[];return a&&v.push((0,he.jsx)(ie.ToolbarField,{className:"vuuHeader-title",children:(0,he.jsx)(ie.EditableLabel,{editing:m,value:c,onChange:p,onMouseDownCapture:y,onEnterEditMode:R,onExitEditMode:x,onKeyDown:S,ref:l,tabIndex:0},"title")},"title")),t==null||t.forEach((L,H)=>{A.push(ke.default.cloneElement(L.content,{key:H}))}),n&&F.push((0,he.jsxs)(ie.ToolbarButton,{onClick:h,onMouseDown:d,children:[(0,he.jsx)(Vr.CloseIcon,{})," Close"]},"close")),A.length>0&&v.push((0,he.jsx)(ie.Tooltray,{"data-align-end":!0,children:A},"contributions")),F.length>0&&v.push((0,he.jsx)(ie.Tooltray,{"data-align-end":!0,children:F},"actions")),(0,he.jsx)(ie.Toolbar,{className:E,id:"stevo",orientation:i,style:s,onMouseDown:T,children:v})};var Wr=require("@vuu-ui/vuu-utils"),$t=require("@heswell/salt-lab"),Vo=M(require("classnames")),Ft=require("react");var Ht=require("react/jsx-runtime"),ua=e=>{let t=e.cloneNode(!0);return t.id="",delete t.dataset.idx,t},Wo=(0,Ft.memo)(({className:e,children:t,idx:o,resizeable:n,header:r,closeable:i,...s})=>(0,Ht.jsx)($t.ListItem,{className:(0,Vo.default)("vuuPaletteItem",e),"data-draggable":!0,...s}));Wo.displayName="PaletteItem";var _r=({children:e,className:t,orientation:o="horizontal",...n})=>{let r=Z(),i="vuuPalette";function s(a){var x;let c=a.target.closest(".vuuPaletteItem"),p=parseInt((x=c.dataset.idx)!=null?x:"-1");p!==-1&&console.log({children:e,idx:p,listItemElement:c});let{props:{caption:m,children:u,template:f,...h}}=e[p],{height:g,left:y,top:d,width:b}=c.getBoundingClientRect(),E=(0,Wr.uuid)(),S=f?u:(0,Ht.jsx)(fe,{...{id:E,key:E},...h,title:h.label,children:u});r({dragRect:{left:y,top:d,right:y+b,bottom:d+150,width:b,height:g},dragElement:ua(c),evt:a.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:S,type:"drag-start"})}return(0,Ht.jsx)($t.List,{...n,borderless:!0,className:(0,Vo.default)(i,t,`${i}-${o}`),maxHeight:800,selected:null,children:e.map((a,l)=>a.type===Wo?(0,Ft.cloneElement)(a,{key:l,onMouseDown:s}):a)})};B("Palette",_r,"view");var Gr=require("@vuu-ui/vuu-utils"),Vt=require("@heswell/salt-lab"),Ur=M(require("classnames"));var Nt=require("react/jsx-runtime"),ma="vuuPalette",da=e=>{let{children:t,ViewProps:o,label:n,onMouseDown:r,template:i,...s}=e,a=Z();return(0,Nt.jsx)(Vt.ListItem,{onMouseDown:c=>{let{left:p,top:m,width:u}=c.currentTarget.getBoundingClientRect(),f=(0,Gr.uuid)(),g=i?t:(0,Nt.jsx)(fe,{...{id:f,key:f},...o,title:e.label,children:t});a({type:"drag-start",evt:c.nativeEvent,path:"*",payload:g,instructions:{DoNotRemove:!0,DoNotTransform:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},dragRect:{left:p,top:m,right:p+u,bottom:m+150,width:u,height:100}})},...s,children:n})},Xr=({className:e,...t})=>(0,Nt.jsx)(Vt.List,{...t,className:(0,Ur.default)(ma,e),height:"100%",selectionStrategy:"none"});B("PaletteSalt",Xr,"view");var Pe=require("@heswell/salt-lab"),Yr=require("@salt-ds/core"),Jr=M(require("classnames")),ge=M(require("react"));var Be=require("react/jsx-runtime"),Zr="Tabs",fa=()=>{},ha=(e,t)=>{var o,n;return(n=(o=e.props)==null?void 0:o.title)!=null?n:`Tab ${t+1}`},ga=e=>{let t=[];return ge.default.Children.forEach(e,o=>{ge.default.isValidElement(o)?t.push(o):console.warn("Stack has unexpected child element type")}),t},Wt=(0,ge.forwardRef)(function({active:t=0,children:o,className:n,enableAddTab:r,enableCloseTabs:i,getTabIcon:s=fa,getTabLabel:a=ha,id:l,keyBoardActivation:c="manual",onMouseDown:p,onTabAdd:m,onTabClose:u,onTabEdit:f,onTabSelectionChanged:h,showTabs:g,style:y,TabstripProps:d},b){var H;let E=(0,Yr.useIdMemo)(l),R=C=>{h==null||h(C)},S=C=>{u==null||u(C)},x=()=>{m==null||m(ge.default.Children.count(o))},T=C=>{var X;let k=C.target.closest('[role^="tab"]');if((k==null?void 0:k.getAttribute("role"))==="tab"){let He=parseInt((X=k.dataset.idx)!=null?X:"-1");if(He===-1)throw Error("Stack: mousedown on tab with unknown index");p==null||p(C,He)}},v=(0,ge.useCallback)((C,z,k,Q)=>{f==null||f(Q,z)},[f]),A=()=>{var C;return ge.default.isValidElement(o)?o:Array.isArray(o)&&(C=o[t])!=null?C:null},F=()=>ga(o).map((C,z)=>{let k=`${E}-${z}`,{closeable:Q,id:X}=C.props;return(0,Be.jsx)(Pe.Tab,{ariaControls:`${k}-tab`,"data-icon":s(C,z),draggable:!0,id:k,label:a(C,z),closeable:Q,editable:(d==null?void 0:d.enableRenameTab)!==!1},X!=null?X:z)}),L=A();return(0,Be.jsxs)("div",{className:(0,Jr.default)(Zr,n,{[`${Zr}-horizontal`]:(d==null?void 0:d.orientation)==="vertical"}),style:y,id:E,ref:b,children:[g?(0,Be.jsx)(Pe.Toolbar,{className:"vuuTabHeader vuuHeader",orientation:d==null?void 0:d.orientation,children:(0,Be.jsx)(Pe.ToolbarField,{disableFocusRing:!0,"data-collapsible":"dynamic","data-priority":"3",style:{alignSelf:"flex-end"},children:(0,Be.jsx)(Pe.Tabstrip,{...d,enableRenameTab:(d==null?void 0:d.enableRenameTab)!==!1,enableAddTab:r,enableCloseTab:i,keyBoardActivation:c,onActiveChange:R,onAddTab:x,onCloseTab:S,onExitEditMode:v,onMouseDown:T,activeTabIndex:(H=d==null?void 0:d.activeTabIndex)!=null?H:L===null?-1:t,children:F()})})}):null,L]})});Wt.displayName="Stack";var jr=require("@salt-ds/core"),Gt=M(require("react"));var _t=require("react/jsx-runtime"),ya=e=>(0,_t.jsx)(fe,{resizeable:!0,title:`Tab ${e}`,style:{flexGrow:1,flexShrink:0,flexBasis:0},header:!0,closeable:!0,children:(0,_t.jsx)(mt,{style:{flex:1}})}),_o=e=>{let t=(0,Gt.useRef)(null),o=Z(),{loadState:n}=Ae(),{createNewChild:r=ya,id:i,onTabSelectionChanged:s,path:a,...l}=e,{children:c}=e,p=(0,jr.useIdMemo)(i),[m]=st(p,t,a);return(0,_t.jsx)(Wt,{...l,id:p,getTabLabel:(b,E)=>{let{id:R,title:S}=b.props;return n(R,"view-title")||S||`Tab ${E+1}`},onMouseDown:async(b,E)=>{let R;await m({type:"mousedown",index:E,preDragActivity:async()=>new Promise(T=>{console.log("preDragActivity: Ok, gonna release the drag"),R=T})},b)&&(R==null||R(void 0))},onTabAdd:(b,E=Gt.default.Children.count(c))=>{if(a){console.log("[StackLayout] handleTabAdd");let R=r(E);console.log({component:R}),o({type:"add",path:a,component:R})}},onTabClose:b=>{if(Array.isArray(c)){let{props:{"data-path":E,path:R=E}}=c[b];o({type:"remove",path:R})}},onTabEdit:(b,E)=>{o({type:"set-title",path:`${a}.${b}`,title:E})},onTabSelectionChanged:b=>{console.log(`StackLayout handleTabSelection nextTab = ${b}`),a&&(o({type:"switch-tab",path:a,nextIdx:b}),s==null||s(b))},ref:t})};_o.displayName="Stack";B("Stack",_o,"container");var Ge=M(require("react"));var Oe=require("react/jsx-runtime"),ba=({children:e})=>{let[o,n]=(0,Ge.useState)(e),[r,i]=(0,Ge.useState)(e),s=l=>{let c=qt(o,l);i(c)},a=(l,c)=>{console.log(`change ${l} -> ${c}`);let p=Ge.default.cloneElement(r,{style:{...r.props.style,[l]:c}});i(p),n(Ge.default.cloneElement(o,{},p))};return(0,Oe.jsxs)("div",{"data-design-mode":`${!1}`,children:[o,(0,Oe.jsx)("br",{}),(0,Oe.jsxs)("div",{style:{display:"flex"},children:[(0,Oe.jsx)(Go,{height:300,managedStyle:r.props.style,width:300,onChange:a,style:void 0}),(0,Oe.jsx)(Uo,{layout:o,onSelect:s,style:{width:300,height:300,backgroundColor:"#ccc"}})]})]})};var ce=require("@heswell/salt-lab"),I=require("react/jsx-runtime"),Zo={},xa={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"}},Xo=({feature:e,children:t,style:o,onChange:n})=>(0,I.jsxs)("div",{className:`LayoutBox layout-${e} layout-outer`,children:[(0,I.jsxs)("div",{className:"layout-top",children:[(0,I.jsx)("span",{className:"layout-title",children:e}),(0,I.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,I.jsx)(ce.Input,{value:o.top,onChange:(r,i)=>n(e,"top",i)})})]}),(0,I.jsxs)("div",{className:"layout-inner",children:[(0,I.jsx)("div",{className:"layout-left",children:(0,I.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,I.jsx)(ce.Input,{value:o.left,onChange:(r,i)=>n(e,"left",i)})})}),t,(0,I.jsx)("div",{className:"layout-right",children:(0,I.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,I.jsx)(ce.Input,{value:o.right,onChange:(r,i)=>n(e,"right",i)})})})]}),(0,I.jsx)("div",{className:"layout-bottom",children:(0,I.jsx)(ce.FormField,{className:"layout-input",style:{width:30},children:(0,I.jsx)(ce.Input,{value:o.bottom,onChange:(r,i)=>n(e,"bottom",i)})})})]}),Ra={margin:!0,marginTop:!0,marginRight:!0,marginBottom:!0,marginLeft:!0},Ea={padding:!0,paddingTop:!0,paddingRight:!0,paddingBottom:!0,paddingLeft:!0},Sa={border:!0,borderColor:!0,borderWidth:!0,borderTopWidth:!0,borderRightWidth:!0,borderBottomWidth:!0,borderLeftWidth:!0},Ut="(\\d+)(?:px)?",Ta=`^(?:${Ut}(?:\\s${Ut}(?:\\s${Ut}(?:\\s${Ut})?)?)?)$`,Kr=new RegExp(Ta),Da=/^(?:(\d+)(?:px)\ssolid\s([a-zA-Z,0-9().]+))$/,Go=({height:e,managedStyle:t,onChange:o,style:n,width:r})=>{let i=qr(t),s=(E,R,S)=>{let x=parseInt(S||"0",10),T=xa[E][R];o(T,x)},{marginTop:a=0,marginRight:l=0,marginBottom:c=0,marginLeft:p=0}=i,{borderTopWidth:m=0,borderRightWidth:u=0,borderBottomWidth:f=0,borderLeftWidth:h=0}=i,{paddingTop:g=0,paddingRight:y=0,paddingBottom:d=0,paddingLeft:b=0}=i;return(0,I.jsx)("div",{className:"LayoutConfigurator",style:{width:r,height:e,...n},children:(0,I.jsx)(Xo,{feature:"margin",style:{top:a,right:l,bottom:c,left:p},onChange:s,children:(0,I.jsx)(Xo,{feature:"border",style:{top:m,right:u,bottom:f,left:h},onChange:s,children:(0,I.jsx)(Xo,{feature:"padding",style:{top:g,right:y,bottom:d,left:b},onChange:s,children:(0,I.jsx)("div",{className:"layout-content"})})})})})};function wa(e=Zo,t=Zo){let{margin:o,marginTop:n,marginRight:r,marginBottom:i,marginLeft:s,padding:a,paddingTop:l,paddingRight:c,paddingBottom:p,paddingLeft:m,...u}=e;if(typeof o=="number")u.marginTop=u.marginRight=u.marginBottom=u.marginLeft=o;else if(typeof o=="string"){let f=Kr.exec(o);if(f===null)console.error(`Invalid css value for margin '${o}'`);else{let[,h,g,y,d]=f,b=h&&g&&y;b&&d?(u.marginTop=parseInt(h,10),u.marginRight=parseInt(g,10),u.marginBottom=parseInt(y,10),u.marginLeft=parseInt(d,10)):b?(u.marginTop=parseInt(h,10),u.marginRight=u.marginLeft=parseInt(g,10),u.marginBottom=parseInt(y,10)):h&&g?(u.marginTop=u.marginBottom=parseInt(h,10),u.marginRight=u.marginLeft=parseInt(g,10)):u.marginTop=u.marginRight=u.marginBottom=u.marginLeft=parseInt(h,10)}}if(typeof n=="number"&&(u.marginTop=n),typeof r=="number"&&(u.marginRight=r),typeof i=="number"&&(u.marginBottom=i),typeof s=="number"&&(u.marginLeft=s),typeof a=="number")u.paddingTop=u.paddingRight=u.paddingBottom=u.paddingLeft=a;else if(typeof a=="string"){let f=Kr.exec(a);if(f===null)console.error(`Invalid css value for padding '${a}'`);else{let[,h,g,y,d]=f,b=h&&g&&y;b&&d?(u.paddingTop=parseInt(h,10),u.paddingRight=parseInt(g,10),u.paddingBottom=parseInt(y,10),u.paddingLeft=parseInt(d,10)):b?(u.paddingTop=parseInt(h,10),u.paddingRight=u.paddingLeft=parseInt(g,10),u.paddingBottom=parseInt(y,10)):h&&g?(u.paddingTop=u.paddingBottom=parseInt(h,10),u.paddingRight=u.paddingLeft=parseInt(g,10)):u.paddingTop=u.paddingRight=u.paddingBottom=u.paddinggLeft=parseInt(h,10)}}return typeof l=="number"&&(u.paddingTop=l),typeof c=="number"&&(u.paddingRight=c),typeof p=="number"&&(u.paddingBottom=p),typeof m=="number"&&(u.paddingLeft=m),qr(u,t)}function qr(e=Zo){let t={...e},o,{border:n,borderWidth:r,borderTopWidth:i,borderRightWidth:s,borderBottomWidth:a,borderLeftWidth:l,borderColor:c,margin:p,marginTop:m,marginRight:u,marginBottom:f,marginLeft:h,padding:g,paddingTop:y,paddingRight:d,paddingBottom:b,paddingLeft:E,...R}=t,S={},x={};if(typeof p=="number"&&(t.marginTop=t.marginRight=t.marginBottom=t.marginLeft=p,S={marginTop:p,marginRight:p,marginBottom:p,marginLeft:p}),typeof g=="number"&&(t.paddingTop=t.paddingRight=t.paddingBottom=t.paddingLeft=g,x={paddingTop:g,paddingRight:g,paddingBottom:g,paddingLeft:g}),n||r||i||s||a||l){typeof n=="string"&&(o=Da.exec(n))&&([,r,c]=o,r=parseInt(r,10)),r&&(i=i===void 0?r:i,s=s===void 0?r:s,a=a===void 0?r:a,l=l===void 0?r:l),c=c||"black";let T=`
|
|
18
18
|
${c} ${l||0}px ${i||0}px 0 0 inset,
|
|
19
19
|
${c} ${-s||0}px ${-a||0}px 0 0 inset`;return{...R,...S,...x,borderTopWidth:i,borderRightWidth:s,borderBottomWidth:a,borderLeftWidth:l,borderColor:c,borderStyle:"solid",boxShadow:T}}else return t}var Qr=M(require("react")),ei=M(require("classnames"));var ti=require("@heswell/salt-lab"),Yo=require("react/jsx-runtime"),Pa="hwLayoutTreeViewer",oi=(e,t="0")=>({label:P(e),path:t,childNodes:Qr.default.Children.map(e.props.children,(o,n)=>oi(o,t?`${t}.${n}`:`${n}`))}),Uo=({layout:e,onSelect:t,style:o})=>{let n=[oi(e)],r=(i,[{path:s}])=>{t(s)};return(0,Yo.jsx)("div",{className:(0,ei.default)(Pa),style:o,children:(0,Yo.jsx)(ti.Tree,{source:n,groupSelection:"single",onSelectionChange:r})})};
|
|
20
20
|
//# sourceMappingURL=index.js.map
|