sage-nexus-ui 1.3.3 → 1.3.4

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.
@@ -1 +1 @@
1
- import{jsx as e,jsxs as n}from"react/jsx-runtime";import{useTheme as t,useMediaQuery as i,AppBar as r,Toolbar as l,Box as o}from"@mui/material";import{NexusHome as s}from"./NexusHome.mjs";import{ThemeToggle as d}from"./ThemeToggle.mjs";import{LogoOption2 as c}from"./LogoOptions/LogoOption2.mjs";import{ActionBarTitle as a}from"./Typography.mjs";import{useState as x,useRef as m,useEffect as u}from"react";const f=({title:f,extraLeft:p,extraRight:h})=>{const[g,w]=x(!0),y=m(0),v=t(),b=i(v.breakpoints.up("md")),C=m(null),j=m(null),E=m(null),R=m(null),k=m(null),I=m(null),[L,B]=x(null),[A,M]=x(null);return u(()=>{const e=()=>{const e=window.scrollY;e>y.current?w(!1):w(!0),y.current=e};return window.addEventListener("scroll",e,{passive:!0}),()=>window.removeEventListener("scroll",e)},[]),u(()=>{if(!b)return B(null),void M(null);function e(){const e=j.current,n=E.current,t=C.current,i=R.current,r=k.current,l=I.current;if(!e||!n||!t)return;const o=e.getBoundingClientRect(),s=n.getBoundingClientRect(),d=t.getBoundingClientRect();if(i){const e=i.getBoundingClientRect().width||0,n=(o.right+s.left)/2,t=o.right+e/2+8,r=s.left-e/2-8,l=Math.min(Math.max(n,t),r);B(l-d.left)}else B(null);if(r&&l){const e=r.getBoundingClientRect().width||0,n=l.getBoundingClientRect(),t=(s.right+n.left)/2,i=s.right+e/2+8,o=n.left-e/2-8,c=Math.min(Math.max(t,i),o);M(c-d.left)}else M(null)}e(),window.addEventListener("resize",e);let n=null;const t=window.ResizeObserver;return t&&(n=new t(e),C.current&&n.observe(C.current)),()=>{window.removeEventListener("resize",e),n&&n.disconnect()}},[b,p,h]),e(r,{position:"sticky",component:"header",children:n(l,{variant:"dense",sx:{display:"flex",flexDirection:{xs:"column",md:"row"},flexWrap:"wrap",alignItems:"center",justifyContent:{xs:"center",md:"space-between"},py:{xs:1,md:0}},children:[e(o,{sx:{width:{xs:"100%",md:"auto"},textAlign:"center",display:{xs:"block",md:"none"}},children:e(a,{children:f})}),(p||h)&&n(o,{sx:{display:{xs:"flex",md:"none"},justifyContent:"center",alignItems:"center",gap:1,width:"100%"},children:[p&&e(o,{children:p}),h&&e(o,{children:h})]}),e(o,{sx:{display:"block",width:"100%",maxHeight:{xs:b||g?"300px":"0px",md:"none"},overflow:{xs:"hidden",md:"visible"},transition:{xs:"max-height 0.2s ease-in-out",md:"none"}},children:n(o,{sx:{display:"flex",flexDirection:{xs:"column",md:"row"},alignItems:"center",width:"100%",gap:{xs:1,md:0},position:"relative"},ref:C,children:[e(o,{sx:{display:"flex",alignItems:"center",width:{xs:"100%",md:"auto"},flex:{xs:"none",md:1},justifyContent:{xs:"center",md:"flex-start"}},children:e(o,{sx:{height:"38px",pt:.5,display:{xs:"none",md:"block"}},ref:j,children:e(c,{})})}),e(o,{sx:{display:{xs:"none",md:"flex"},justifyContent:"center",alignItems:"center",position:"absolute",left:0,right:0,pointerEvents:"none"},children:e(o,{sx:{pointerEvents:"auto",textAlign:"center"},children:e(o,{ref:E,children:e(a,{children:f})})})}),e(o,{sx:{display:{xs:"none",md:p?"block":"none"},position:"absolute",left:null!=L?`${L}px`:void 0,transform:"translateX(-50%)",pointerEvents:"auto",textAlign:"center"},children:e(o,{ref:R,children:p})}),e(o,{sx:{display:{xs:"none",md:h?"block":"none"},position:"absolute",left:null!=A?`${A}px`:void 0,transform:"translateX(-50%)",pointerEvents:"auto",textAlign:"center"},children:e(o,{ref:k,children:h})}),e(o,{sx:{display:"flex",alignItems:"center",gap:1,width:{xs:"100%",md:"auto"},flex:{xs:"none",md:1},justifyContent:{xs:"center",md:"flex-end"}},children:n(o,{sx:{flex:"0 0 auto",display:"flex",alignItems:"center",gap:1},ref:I,children:[e(s,{}),e(d,{})]})})]})})]})})};export{f as ActionBar};
1
+ import{jsx as e,jsxs as n}from"react/jsx-runtime";import{useTheme as t,useMediaQuery as i,AppBar as r,Toolbar as l,Box as o}from"@mui/material";import{NexusHome as s}from"./NexusHome.mjs";import{ThemeToggle as d}from"./ThemeToggle.mjs";import{LogoOption2 as c}from"./LogoOptions/LogoOption2.mjs";import{ActionBarTitle as a}from"./Typography.mjs";import{useState as x,useRef as m,useEffect as u}from"react";const f=({title:f,extraLeft:p,extraRight:h,homeHref:g})=>{const[w,y]=x(!0),v=m(0),b=t(),C=i(b.breakpoints.up("md")),j=m(null),E=m(null),R=m(null),k=m(null),I=m(null),L=m(null),[B,A]=x(null),[M,z]=x(null);return u(()=>{const e=()=>{const e=window.scrollY;e>v.current?y(!1):y(!0),v.current=e};return window.addEventListener("scroll",e,{passive:!0}),()=>window.removeEventListener("scroll",e)},[]),u(()=>{if(!C)return A(null),void z(null);function e(){const e=E.current,n=R.current,t=j.current,i=k.current,r=I.current,l=L.current;if(!e||!n||!t)return;const o=e.getBoundingClientRect(),s=n.getBoundingClientRect(),d=t.getBoundingClientRect();if(i){const e=i.getBoundingClientRect().width||0,n=(o.right+s.left)/2,t=o.right+e/2+8,r=s.left-e/2-8,l=Math.min(Math.max(n,t),r);A(l-d.left)}else A(null);if(r&&l){const e=r.getBoundingClientRect().width||0,n=l.getBoundingClientRect(),t=(s.right+n.left)/2,i=s.right+e/2+8,o=n.left-e/2-8,c=Math.min(Math.max(t,i),o);z(c-d.left)}else z(null)}e(),window.addEventListener("resize",e);let n=null;const t=window.ResizeObserver;return t&&(n=new t(e),j.current&&n.observe(j.current)),()=>{window.removeEventListener("resize",e),n&&n.disconnect()}},[C,p,h]),e(r,{position:"sticky",component:"header",children:n(l,{variant:"dense",sx:{display:"flex",flexDirection:{xs:"column",md:"row"},flexWrap:"wrap",alignItems:"center",justifyContent:{xs:"center",md:"space-between"},py:{xs:1,md:0}},children:[e(o,{sx:{width:{xs:"100%",md:"auto"},textAlign:"center",display:{xs:"block",md:"none"}},children:e(a,{children:f})}),(p||h)&&n(o,{sx:{display:{xs:"flex",md:"none"},justifyContent:"center",alignItems:"center",gap:1,width:"100%"},children:[p&&e(o,{children:p}),h&&e(o,{children:h})]}),e(o,{sx:{display:"block",width:"100%",maxHeight:{xs:C||w?"300px":"0px",md:"none"},overflow:{xs:"hidden",md:"visible"},transition:{xs:"max-height 0.2s ease-in-out",md:"none"}},children:n(o,{sx:{display:"flex",flexDirection:{xs:"column",md:"row"},alignItems:"center",width:"100%",gap:{xs:1,md:0},position:"relative"},ref:j,children:[e(o,{sx:{display:"flex",alignItems:"center",width:{xs:"100%",md:"auto"},flex:{xs:"none",md:1},justifyContent:{xs:"center",md:"flex-start"}},children:e(o,{sx:{height:"38px",pt:.5,display:{xs:"none",md:"block"}},ref:E,children:e(c,{})})}),e(o,{sx:{display:{xs:"none",md:"flex"},justifyContent:"center",alignItems:"center",position:"absolute",left:0,right:0,pointerEvents:"none"},children:e(o,{sx:{pointerEvents:"auto",textAlign:"center"},children:e(o,{ref:R,children:e(a,{children:f})})})}),e(o,{sx:{display:{xs:"none",md:p?"block":"none"},position:"absolute",left:null!=B?`${B}px`:void 0,transform:"translateX(-50%)",pointerEvents:"auto",textAlign:"center"},children:e(o,{ref:k,children:p})}),e(o,{sx:{display:{xs:"none",md:h?"block":"none"},position:"absolute",left:null!=M?`${M}px`:void 0,transform:"translateX(-50%)",pointerEvents:"auto",textAlign:"center"},children:e(o,{ref:I,children:h})}),e(o,{sx:{display:"flex",alignItems:"center",gap:1,width:{xs:"100%",md:"auto"},flex:{xs:"none",md:1},justifyContent:{xs:"center",md:"flex-end"}},children:n(o,{sx:{flex:"0 0 auto",display:"flex",alignItems:"center",gap:1},ref:L,children:[e(s,{href:g}),e(d,{})]})})]})})]})})};export{f as ActionBar};
package/dist/index.d.ts CHANGED
@@ -36,8 +36,10 @@ interface ActionBarProps {
36
36
  title?: ReactNode;
37
37
  extraLeft?: ReactNode;
38
38
  extraRight?: ReactNode;
39
+ /** Override the NexusHome button link. Defaults to the environment-detected Nexus URL. */
40
+ homeHref?: string;
39
41
  }
40
- declare const ActionBar: ({ title, extraLeft, extraRight, }: ActionBarProps) => ReactElement;
42
+ declare const ActionBar: ({ title, extraLeft, extraRight, homeHref, }: ActionBarProps) => ReactElement;
41
43
 
42
44
  interface AccordionGroupProps {
43
45
  children: ReactNode;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sage-nexus-ui",
3
- "version": "1.3.3",
3
+ "version": "1.3.4",
4
4
  "description": "Nexus core components",
5
5
  "license": "ISC",
6
6
  "author": "emsmart-sage",