sage-nexus-ui 1.3.3 → 1.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -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
|
|
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 s}from"@mui/material";import{NexusHome as o}from"./NexusHome.mjs";import{ThemeToggle as d}from"./ThemeToggle.mjs";import c from"./NexusLogo.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:h,extraRight:p,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),B=m(null),[L,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=B.current;if(!e||!n||!t)return;const s=e.getBoundingClientRect(),o=n.getBoundingClientRect(),d=t.getBoundingClientRect();if(i){const e=i.getBoundingClientRect().width||0,n=(s.right+o.left)/2,t=s.right+e/2+8,r=o.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=(o.right+n.left)/2,i=o.right+e/2+8,s=n.left-e/2-8,c=Math.min(Math.max(t,i),s);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,h,p]),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(s,{sx:{width:{xs:"100%",md:"auto"},textAlign:"center",display:{xs:"block",md:"none"}},children:e(a,{children:f})}),(h||p)&&n(s,{sx:{display:{xs:"flex",md:"none"},justifyContent:"center",alignItems:"center",gap:1,width:"100%"},children:[h&&e(s,{children:h}),p&&e(s,{children:p})]}),e(s,{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(s,{sx:{display:"flex",flexDirection:{xs:"column",md:"row"},alignItems:"center",width:"100%",gap:{xs:1,md:0},position:"relative"},ref:j,children:[e(s,{sx:{display:"flex",alignItems:"center",width:{xs:"100%",md:"auto"},flex:{xs:"none",md:1},justifyContent:{xs:"center",md:"flex-start"}},children:e(s,{sx:{height:"38px",pt:.5,display:{xs:"none",md:"block"}},ref:E,children:e(c,{})})}),e(s,{sx:{display:{xs:"none",md:"flex"},justifyContent:"center",alignItems:"center",position:"absolute",left:0,right:0,pointerEvents:"none"},children:e(s,{sx:{pointerEvents:"auto",textAlign:"center"},children:e(s,{ref:R,children:e(a,{children:f})})})}),e(s,{sx:{display:{xs:"none",md:h?"block":"none"},position:"absolute",left:null!=L?`${L}px`:void 0,transform:"translateX(-50%)",pointerEvents:"auto",textAlign:"center"},children:e(s,{ref:k,children:h})}),e(s,{sx:{display:{xs:"none",md:p?"block":"none"},position:"absolute",left:null!=M?`${M}px`:void 0,transform:"translateX(-50%)",pointerEvents:"auto",textAlign:"center"},children:e(s,{ref:I,children:p})}),e(s,{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(s,{sx:{flex:"0 0 auto",display:"flex",alignItems:"center",gap:1},ref:B,children:[e(o,{href:g}),e(d,{})]})})]})})]})})};export{f as ActionBar};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Tooltip as r,IconButton as i}from"@mui/material";import{useTheme as
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Tooltip as r,IconButton as i}from"@mui/material";import{useTheme as n}from"@mui/material/styles";const o=[0,60,120,180,240,300],s=()=>e("svg",{width:"32",height:"32",viewBox:"0 0 200 200",xmlns:"http://www.w3.org/2000/svg",style:{display:"block"},children:t("g",{transform:"translate(100, 100)",children:[e("g",{stroke:"#05D505",strokeWidth:"4.5",strokeLinecap:"round",children:o.map(r=>t("g",{transform:`rotate(${r})`,children:[e("line",{x1:"10",y1:"0",x2:"36",y2:"0"}),e("circle",{cx:"44",cy:"0",r:"10",fill:"#05D505",stroke:"none"})]},r))}),e("circle",{cx:"0",cy:"0",r:"12",fill:"#05D505"})]})}),l=({href:t})=>{const o=n(),l=t??function(){if("undefined"==typeof window)return"https://dev-ai-nexus.sage.com/";const e=window.location.hostname.match(/^(dev-|staging-|testing-)/);return`https://${e?e[1]:""}ai-nexus.sage.com/`}();return e(r,{title:"Home",placement:"bottom",children:e(i,{component:"a",href:l,size:"small","aria-label":"Nexus home",sx:{width:32,height:32,borderRadius:"50%",p:0,display:"inline-flex",alignItems:"center",justifyContent:"center","&:hover":{backgroundColor:o.palette.action.hover}},children:e(s,{})})})};export{l as NexusHome};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{LogoOptionBase as t}from"./LogoOptions/LogoOptionBase.mjs";const o=({size:o="md"})=>e(t,{size:o,fontFamily:"Arial, Helvetica, sans-serif",fontWeight:500,text:"NEXUS",letterSpacing:"0.04em",nodeShimmerMode:{shimmer:"text"},ariaLabel:"Nexus logo"});export{o as default};
|
package/dist/index.d.ts
CHANGED
|
@@ -36,8 +36,9 @@ interface ActionBarProps {
|
|
|
36
36
|
title?: ReactNode;
|
|
37
37
|
extraLeft?: ReactNode;
|
|
38
38
|
extraRight?: ReactNode;
|
|
39
|
+
homeHref?: string;
|
|
39
40
|
}
|
|
40
|
-
declare const ActionBar: ({ title, extraLeft, extraRight, }: ActionBarProps) => ReactElement;
|
|
41
|
+
declare const ActionBar: ({ title, extraLeft, extraRight, homeHref, }: ActionBarProps) => ReactElement;
|
|
41
42
|
|
|
42
43
|
interface AccordionGroupProps {
|
|
43
44
|
children: ReactNode;
|
|
@@ -260,6 +261,7 @@ declare const NexusHome: React.FC<NexusHomeProps>;
|
|
|
260
261
|
type LogoProps = {
|
|
261
262
|
size?: "sm" | "md" | "lg";
|
|
262
263
|
};
|
|
264
|
+
/** Option 13 — Arial Medium, NEXUS all-caps, shimmer on X glyph */
|
|
263
265
|
declare const NexusLogo: ({ size }: LogoProps) => react_jsx_runtime.JSX.Element;
|
|
264
266
|
|
|
265
267
|
interface PrimaryButtonProps extends Omit<ButtonProps, "variant" | "color"> {
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{formatDate,getFiscalPeriod}from"./components/DateFormats.mjs";export{ActionBarTitle,Body1,Body2,Caption,H1,H2,H3,H4}from"./components/Typography.mjs";export{ActionBar}from"./components/ActionBar.mjs";export{AccordionGroup,AccordionGroupItem}from"./components/AccordionGroup.mjs";export{AccordionSingle}from"./components/AccordionSingle.mjs";export{AiButton}from"./components/AiButton.mjs";export{AiCard}from"./components/AiCard.mjs";export{AiGlassCard}from"./components/AiGlassCard.mjs";export{AiPaper}from"./components/AiPaper.mjs";export{AiGlassPaper}from"./components/AiGlassPaper.mjs";export{Box}from"./components/Box.mjs";export{Collapse}from"./components/Collapse.mjs";export{NexusDataGrid}from"./components/NexusDataGrid.mjs";export{ButtonBase}from"./components/ButtonBase.mjs";export{Card}from"./components/Card.mjs";export{CheckboxGroup}from"./components/CheckboxGroup.mjs";export{Chip}from"./components/Chip.mjs";export{Dialog,DialogActions,DialogContent,DialogContentText,DialogTitle}from"./components/Dialog.mjs";export{Divider}from"./components/Divider.mjs";export{GlassCard}from"./components/GlassCard.mjs";export{GlassPaper}from"./components/GlassPaper.mjs";export{GlassPaperAsync}from"./components/GlassPaperAsync.mjs";export{GreenWaveBackground}from"./components/GreenWaveBackground.mjs";export{IconButton}from"./components/IconButton.mjs";export{LoadingSpinnerNexus}from"./components/LoadingSpinnerNexus.mjs";export{LocationMultiSelect}from"./components/LocationMultiSelect.mjs";export{LogoOptions}from"./components/LogoOptions/index.mjs";export{NexusHome}from"./components/NexusHome.mjs";export{NexusLogo}from"./components/NexusLogo.mjs";export{Paper}from"./components/Paper.mjs";export{PrimaryButton}from"./components/PrimaryButton.mjs";export{PrimaryButtonLink}from"./components/PrimaryButtonLink.mjs";export{SecondaryButton}from"./components/SecondaryButton.mjs";export{RagDot}from"./components/RagDot.mjs";export{RagChip}from"./components/RagChip.mjs";export{SecondaryButtonLink}from"./components/SecondaryButtonLink.mjs";export{SearchInput}from"./components/SearchInput.mjs";export{SideBlade}from"./components/SideBlade.mjs";export{Skeleton}from"./components/Skeleton.mjs";export{SkillChip}from"./components/SkillChip.mjs";export{Stack}from"./components/Stack.mjs";export{StatusChip}from"./components/StatusChip.mjs";export{Tab}from"./components/Tab.mjs";export{Tabs}from"./components/Tabs.mjs";export{TextField}from"./components/TextField.mjs";export{ThemeToggle}from"./components/ThemeToggle.mjs";export{Tooltip}from"./components/Tooltip.mjs";export{default as nexusLogoNode}from"./assets/images/nexus-logo-node.svg.mjs";export{default as nexusLogoFavicon}from"./assets/images/nexus-logo-favicon.svg.mjs";export{createSageTheme}from"./theme/sageTheme.mjs";export{colours,fontSageHeadline,fontSageText,fontSageUI,getModeTokens,gradients}from"./theme/tokens.mjs";export{useTokens}from"./theme/useTokens.mjs";export{default as MuiAppThemeProvider}from"./theme/MuiAppThemeProvider.mjs";export{ThemeModeProvider,useThemeMode}from"./theme/ThemeContext.mjs";export{alpha,useMediaQuery,useTheme}from"@mui/material";export{expandableText,getGradientBorderStyles,leftPipe}from"./theme/sxHelpers.mjs";
|
|
1
|
+
export{formatDate,getFiscalPeriod}from"./components/DateFormats.mjs";export{ActionBarTitle,Body1,Body2,Caption,H1,H2,H3,H4}from"./components/Typography.mjs";export{ActionBar}from"./components/ActionBar.mjs";export{AccordionGroup,AccordionGroupItem}from"./components/AccordionGroup.mjs";export{AccordionSingle}from"./components/AccordionSingle.mjs";export{AiButton}from"./components/AiButton.mjs";export{AiCard}from"./components/AiCard.mjs";export{AiGlassCard}from"./components/AiGlassCard.mjs";export{AiPaper}from"./components/AiPaper.mjs";export{AiGlassPaper}from"./components/AiGlassPaper.mjs";export{Box}from"./components/Box.mjs";export{Collapse}from"./components/Collapse.mjs";export{NexusDataGrid}from"./components/NexusDataGrid.mjs";export{ButtonBase}from"./components/ButtonBase.mjs";export{Card}from"./components/Card.mjs";export{CheckboxGroup}from"./components/CheckboxGroup.mjs";export{Chip}from"./components/Chip.mjs";export{Dialog,DialogActions,DialogContent,DialogContentText,DialogTitle}from"./components/Dialog.mjs";export{Divider}from"./components/Divider.mjs";export{GlassCard}from"./components/GlassCard.mjs";export{GlassPaper}from"./components/GlassPaper.mjs";export{GlassPaperAsync}from"./components/GlassPaperAsync.mjs";export{GreenWaveBackground}from"./components/GreenWaveBackground.mjs";export{IconButton}from"./components/IconButton.mjs";export{LoadingSpinnerNexus}from"./components/LoadingSpinnerNexus.mjs";export{LocationMultiSelect}from"./components/LocationMultiSelect.mjs";export{LogoOptions}from"./components/LogoOptions/index.mjs";export{NexusHome}from"./components/NexusHome.mjs";export{default as NexusLogo}from"./components/NexusLogo.mjs";export{Paper}from"./components/Paper.mjs";export{PrimaryButton}from"./components/PrimaryButton.mjs";export{PrimaryButtonLink}from"./components/PrimaryButtonLink.mjs";export{SecondaryButton}from"./components/SecondaryButton.mjs";export{RagDot}from"./components/RagDot.mjs";export{RagChip}from"./components/RagChip.mjs";export{SecondaryButtonLink}from"./components/SecondaryButtonLink.mjs";export{SearchInput}from"./components/SearchInput.mjs";export{SideBlade}from"./components/SideBlade.mjs";export{Skeleton}from"./components/Skeleton.mjs";export{SkillChip}from"./components/SkillChip.mjs";export{Stack}from"./components/Stack.mjs";export{StatusChip}from"./components/StatusChip.mjs";export{Tab}from"./components/Tab.mjs";export{Tabs}from"./components/Tabs.mjs";export{TextField}from"./components/TextField.mjs";export{ThemeToggle}from"./components/ThemeToggle.mjs";export{Tooltip}from"./components/Tooltip.mjs";export{default as nexusLogoNode}from"./assets/images/nexus-logo-node.svg.mjs";export{default as nexusLogoFavicon}from"./assets/images/nexus-logo-favicon.svg.mjs";export{createSageTheme}from"./theme/sageTheme.mjs";export{colours,fontSageHeadline,fontSageText,fontSageUI,getModeTokens,gradients}from"./theme/tokens.mjs";export{useTokens}from"./theme/useTokens.mjs";export{default as MuiAppThemeProvider}from"./theme/MuiAppThemeProvider.mjs";export{ThemeModeProvider,useThemeMode}from"./theme/ThemeContext.mjs";export{alpha,useMediaQuery,useTheme}from"@mui/material";export{expandableText,getGradientBorderStyles,leftPipe}from"./theme/sxHelpers.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sage-nexus-ui",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.5",
|
|
4
4
|
"description": "Nexus core components",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "emsmart-sage",
|
|
@@ -46,7 +46,12 @@
|
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@chromatic-com/storybook": "^5.1.1",
|
|
49
|
+
"@emotion/react": "^11.14.0",
|
|
50
|
+
"@emotion/styled": "^11.14.1",
|
|
49
51
|
"@eslint/js": "9.39.4",
|
|
52
|
+
"@mui/icons-material": "^9.0.1",
|
|
53
|
+
"@mui/material": "^9.0.1",
|
|
54
|
+
"@mui/x-data-grid": "^9.0.0",
|
|
50
55
|
"@rollup/plugin-alias": "^6.0.0",
|
|
51
56
|
"@rollup/plugin-commonjs": "^29.0.2",
|
|
52
57
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
@@ -55,7 +60,6 @@
|
|
|
55
60
|
"@rollup/plugin-url": "^8.0.2",
|
|
56
61
|
"@storybook/addon-a11y": "^10.3.5",
|
|
57
62
|
"@storybook/addon-docs": "^10.3.5",
|
|
58
|
-
"@storybook/addon-onboarding": "^10.3.5",
|
|
59
63
|
"@storybook/addon-vitest": "^10.3.5",
|
|
60
64
|
"@storybook/react-vite": "^10.3.5",
|
|
61
65
|
"@types/node": "^25.6.0",
|