sage-nexus-ui 1.4.0 → 1.4.1

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.
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as i,Fragment as n}from"react/jsx-runtime";import{GlobalStyles as o,Box as r,Chip as t}from"@mui/material";import a from"@mui/icons-material/AutoAwesomeOutlined";import{gradients as s}from"../theme/tokens.mjs";import{useTokens as l}from"../theme/useTokens.mjs";const d=e(o,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n "}),m=s.aiConic,c=({label:o="Powered by Nexus AI",icon:s=e(a,{sx:{fontSize:"0.875rem !important"}}),size:c="small",sx:u,disabled:p,...b})=>{const f=l();return i(n,{children:[d,e(r,{sx:{position:"relative",isolation:"isolate",display:"inline-flex",borderRadius:999,opacity:p?.45:1,"&::after":{content:'""',position:"absolute",inset:-1.5,zIndex:-1,borderRadius:"inherit",background:m,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&::before":{content:'""',position:"absolute",inset:-1.5,zIndex:-1,borderRadius:"inherit",background:m,filter:"blur(8px)",opacity:0,animation:"ai-spin 3s linear infinite",transition:"opacity 160ms ease","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&:hover::before":{opacity:.6}},children:e(t,{label:o,icon:s,size:c,disabled:p,variant:"outlined",sx:[{bgcolor:"background.default",color:f.text.blues,borderColor:"transparent","& .MuiChip-icon":{color:"inherit"}},...Array.isArray(u)?u:u?[u]:[]],...b})})]})};export{c as AiChip};
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{Box as e}from"@mui/material";const t={sm:32,md:48,lg:64},i=({size:i="sm",variant:o="secondary",children:a,sx:n})=>r(e,{sx:[{width:t[i],height:t[i],display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",flexShrink:0,..."primary"===o?{bgcolor:"primary.main",color:"primary.contrastText"}:{bgcolor:"text.secondary",color:"background.default"}},...Array.isArray(n)?n:n?[n]:[]],children:a});export{i as Avatar};
@@ -1 +1 @@
1
- import{jsx as i}from"react/jsx-runtime";import{Tooltip as e,IconButton as r}from"@mui/material";const a=({title:a,ariaLabel:t,children:l,disabled:n=!1,...d})=>i(e,{title:a??"",children:i("span",{children:i(r,{...d,"aria-label":t,disabled:n,children:l})})});export{a as IconButton};
1
+ import{jsx as r}from"react/jsx-runtime";import{Tooltip as a,IconButton as i}from"@mui/material";const o=({title:o,ariaLabel:l,children:t,disabled:e=!1,variant:d="standard",sx:c,...n})=>r(a,{title:o??"",children:r("span",{children:r(i,{...n,"aria-label":l,disabled:e,sx:["filled"===d?{bgcolor:"primary.main",color:"primary.contrastText","&:hover":{bgcolor:"primary.dark"},"&.Mui-disabled":{bgcolor:"action.disabledBackground",opacity:.5}}:{},...Array.isArray(c)?c:c?[c]:[]],children:t})})});export{o as IconButton};
@@ -1 +1 @@
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};
1
+ import{jsx as e}from"react/jsx-runtime";import{LogoOptionBase as o}from"./LogoOptions/LogoOptionBase.mjs";const t=({size:t="md"})=>e(o,{size:t,fontFamily:"SageUI, Inter, Segoe UI, sans-serif",fontWeight:500,text:"NEXUS",letterSpacing:"0.04em",nodeShimmerMode:{shimmer:"fullText"},ariaLabel:"Nexus logo option 7"});export{t as default};
@@ -1 +1 @@
1
- const o="1.4.0";export{o as SAGE_NEXUS_UI_VERSION};
1
+ const o="1.4.1";export{o as SAGE_NEXUS_UI_VERSION};
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { AlertProps, TypographyProps, ContainerProps, GridProps, LinkProps as LinkProps$1, SelectProps as SelectProps$1, SxProps, SwitchProps, Theme as Theme$1, AccordionSummaryProps, ButtonProps, CardProps as CardProps$1, PaperProps, BoxProps, CollapseProps, ButtonBaseProps, ChipProps, DialogProps, DialogActionsProps, DialogContentProps, DialogContentTextProps, DialogTitleProps, DividerProps, IconButtonProps as IconButtonProps$1, SkeletonProps as SkeletonProps$1, StackProps, TabProps, TabsProps, TextFieldProps, TooltipProps as TooltipProps$1 } from '@mui/material';
2
+ import { AlertProps, TypographyProps, ContainerProps, GridProps, LinkProps as LinkProps$1, SelectProps as SelectProps$1, SxProps, SwitchProps, Theme as Theme$1, AccordionSummaryProps, ButtonProps, ChipProps, CardProps as CardProps$1, PaperProps, BoxProps, CollapseProps, ButtonBaseProps, DialogProps, DialogActionsProps, DialogContentProps, DialogContentTextProps, DialogTitleProps, DividerProps, IconButtonProps as IconButtonProps$1, SkeletonProps as SkeletonProps$1, StackProps, TabProps, TabsProps, TextFieldProps, TooltipProps as TooltipProps$1 } from '@mui/material';
3
3
  export { AlertProps, AlertTitle, BoxProps, ButtonBaseProps, ChipProps, CollapseProps, ContainerProps, DialogActionsProps, DialogContentProps, DialogContentTextProps, DialogProps, DialogTitleProps, DividerProps, GridProps, MenuItem, PaperProps, StackProps, SwitchProps, TabProps, TabsProps, TextFieldProps, Theme, alpha, useMediaQuery, useTheme } from '@mui/material';
4
4
  import * as react from 'react';
5
5
  import react__default, { ReactNode, ReactElement, CSSProperties, PropsWithChildren } from 'react';
@@ -149,6 +149,21 @@ interface AiButtonProps extends Omit<SecondaryButtonProps, "color" | "children"
149
149
  }
150
150
  declare const AiButton: React.FC<AiButtonProps>;
151
151
 
152
+ interface AiChipProps extends Omit<ChipProps, "variant" | "color" | "label"> {
153
+ /** Badge text. Defaults to `"Powered by Nexus AI"`. */
154
+ label?: string;
155
+ }
156
+ /**
157
+ * A Chip-shaped badge with the same animated conic-gradient border as `AiButton`.
158
+ * Use it to signal AI-powered features in headers, cards, and toolbars.
159
+ *
160
+ * ```tsx
161
+ * <AiChip /> // "Powered by Nexus AI"
162
+ * <AiChip label="AI-Powered" />
163
+ * ```
164
+ */
165
+ declare const AiChip: React.FC<AiChipProps>;
166
+
152
167
  type CardTrend = "up" | "flat" | "down";
153
168
  interface CardProps extends CardProps$1 {
154
169
  /** Small icon displayed beside the label. Pass an MUI SvgIcon element. */
@@ -225,11 +240,42 @@ declare const GlassPaperAsync: ({ title, isLoading, isError, errorMessage, child
225
240
  type GreenWaveBackgroundProps = BoxProps;
226
241
  declare const GreenWaveBackground: ({ sx, children, ...rest }: GreenWaveBackgroundProps) => react_jsx_runtime.JSX.Element;
227
242
 
243
+ type IconButtonVariant = "standard" | "filled";
228
244
  type IconButtonProps = Omit<IconButtonProps$1, "title"> & {
229
245
  title?: string;
230
246
  ariaLabel?: string;
247
+ /**
248
+ * `"standard"` — default MUI icon button (transparent background).
249
+ * `"filled"` — primary-coloured filled circle; use for primary actions like Send.
250
+ */
251
+ variant?: IconButtonVariant;
231
252
  };
232
- declare const IconButton: ({ title, ariaLabel, children, disabled, ...rest }: IconButtonProps) => react_jsx_runtime.JSX.Element;
253
+ declare const IconButton: ({ title, ariaLabel, children, disabled, variant, sx, ...rest }: IconButtonProps) => react_jsx_runtime.JSX.Element;
254
+
255
+ type AvatarSize = "sm" | "md" | "lg";
256
+ type AvatarVariant = "primary" | "secondary";
257
+ interface AvatarProps {
258
+ /** Visual size — sm 32px, md 48px, lg 64px */
259
+ size?: AvatarSize;
260
+ /**
261
+ * Colour scheme:
262
+ * - `primary` — filled `primary.main` circle (brilliantGreen dark / jade light)
263
+ * - `secondary` — grey circle using the theme's `text.secondary` tone
264
+ */
265
+ variant?: AvatarVariant;
266
+ /** Icon or initials to render inside the circle */
267
+ children?: React.ReactNode;
268
+ /** Additional MUI sx overrides — use for layout only (e.g. margins), not visual design */
269
+ sx?: BoxProps["sx"];
270
+ }
271
+ /**
272
+ * Circular container for an icon or initials.
273
+ *
274
+ * Covers bot indicators in chat, sidebar brand circles, user avatars, and
275
+ * empty-state illustrations. Use `sx` only for positioning/spacing overrides;
276
+ * let `variant` and `size` control the visual design.
277
+ */
278
+ declare const Avatar: ({ size, variant, children, sx, }: AvatarProps) => react_jsx_runtime.JSX.Element;
233
279
 
234
280
  interface LoadingSpinnerNexusProps {
235
281
  variant?: "small" | "large";
@@ -323,7 +369,7 @@ declare const NexusHome: React.FC<NexusHomeProps>;
323
369
  type LogoProps = {
324
370
  size?: "sm" | "md" | "lg";
325
371
  };
326
- /** Option 13Arial Medium, NEXUS all-caps, shimmer on X glyph */
372
+ /** Option 7Sage UI Medium weight, NEXUS all-caps, shimmer on whole word */
327
373
  declare const NexusLogo: ({ size }: LogoProps) => react_jsx_runtime.JSX.Element;
328
374
 
329
375
  interface PrimaryButtonProps extends Omit<ButtonProps, "variant" | "color"> {
@@ -565,5 +611,5 @@ declare const getGradientBorderStyles: (theme: Theme, options?: GradientBorderOp
565
611
  declare const leftPipe: SxProps$2<Theme>;
566
612
  declare const expandableText: (isExpanded: boolean) => SxProps$2<Theme>;
567
613
 
568
- export { AccordionGroup, AccordionGroupItem, AccordionSingle, ActionBar, ActionBarTitle, AiButton, AiCard, AiGlassCard, AiGlassPaper, AiPaper, Alert, Body1, Body2, Box, ButtonBase, Caption, Card, CheckboxGroup, Chip, Code, Collapse, Container, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, FaviconLinks, GlassCard, GlassPaper, GlassPaperAsync, GreenWaveBackground, Grid, H1, H2, H3, H4, IconButton, Link, LoadingSpinnerNexus, LocationMultiSelect, LogoOptions, MuiAppThemeProvider, NexusDataGrid, NexusHome, NexusLogo, Paper, PrimaryButton, PrimaryButtonLink, RagChip, RagDot, SearchInput, SecondaryButton, SecondaryButtonLink, Select, SideBlade, Skeleton, SkillChip, Stack, StatusBadge, StatusChip, Switch, Tab, Tabs, TextField, ThemeModeProvider, ThemeToggle, Tooltip, colours, createSageTheme, expandableText, fontSageHeadline, fontSageText, fontSageUI, formatDate, getFaviconUrls, getFiscalPeriod, getGradientBorderStyles, getModeTokens, gradients, leftPipe, useThemeMode, useTokens };
569
- export type { AccordionGroupItemProps, AccordionGroupProps, AccordionSingleProps, AiButtonProps, AiCardProps, AiGlassCardProps, AiGlassPaperProps, AiPaperProps, CardProps, CardTrend, GlassCardProps, GlassPaperAsyncProps, GlassPaperProps, GradientBorderOptions, GreenWaveBackgroundProps, IconButtonProps, LinkProps, LoadingSpinnerNexusProps, ModeTokens, PrimaryButtonLinkProps, PrimaryButtonProps, SecondaryButtonLinkProps, SecondaryButtonProps, SelectOption, SelectProps, SideBladeProps, SkeletonProps, StatusBadgeProps, StatusBadgeVariant, ThemeMode, TooltipProps };
614
+ export { AccordionGroup, AccordionGroupItem, AccordionSingle, ActionBar, ActionBarTitle, AiButton, AiCard, AiChip, AiGlassCard, AiGlassPaper, AiPaper, Alert, Avatar, Body1, Body2, Box, ButtonBase, Caption, Card, CheckboxGroup, Chip, Code, Collapse, Container, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, FaviconLinks, GlassCard, GlassPaper, GlassPaperAsync, GreenWaveBackground, Grid, H1, H2, H3, H4, IconButton, Link, LoadingSpinnerNexus, LocationMultiSelect, LogoOptions, MuiAppThemeProvider, NexusDataGrid, NexusHome, NexusLogo, Paper, PrimaryButton, PrimaryButtonLink, RagChip, RagDot, SearchInput, SecondaryButton, SecondaryButtonLink, Select, SideBlade, Skeleton, SkillChip, Stack, StatusBadge, StatusChip, Switch, Tab, Tabs, TextField, ThemeModeProvider, ThemeToggle, Tooltip, colours, createSageTheme, expandableText, fontSageHeadline, fontSageText, fontSageUI, formatDate, getFaviconUrls, getFiscalPeriod, getGradientBorderStyles, getModeTokens, gradients, leftPipe, useThemeMode, useTokens };
615
+ export type { AccordionGroupItemProps, AccordionGroupProps, AccordionSingleProps, AiButtonProps, AiCardProps, AiChipProps, AiGlassCardProps, AiGlassPaperProps, AiPaperProps, AvatarProps, AvatarSize, AvatarVariant, CardProps, CardTrend, GlassCardProps, GlassPaperAsyncProps, GlassPaperProps, GradientBorderOptions, GreenWaveBackgroundProps, IconButtonProps, IconButtonVariant, LinkProps, LoadingSpinnerNexusProps, ModeTokens, PrimaryButtonLinkProps, PrimaryButtonProps, SecondaryButtonLinkProps, SecondaryButtonProps, SelectOption, SelectProps, SideBladeProps, SkeletonProps, StatusBadgeProps, StatusBadgeVariant, ThemeMode, TooltipProps };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- export{formatDate,getFiscalPeriod}from"./components/DateFormats.mjs";export{Alert}from"./components/Alert.mjs";export{Code}from"./components/Code.mjs";export{Container}from"./components/Container.mjs";export{Grid}from"./components/Grid.mjs";export{Link}from"./components/Link.mjs";export{Select}from"./components/Select.mjs";export{StatusBadge}from"./components/StatusBadge.mjs";export{Switch}from"./components/Switch.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{default as nexusLogoIco}from"./assets/images/favicon.ico.mjs";export{getFaviconUrls}from"./assets/images/urls.mjs";export{FaviconLinks}from"./components/FaviconLinks.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{AlertTitle,MenuItem,alpha,useMediaQuery,useTheme}from"@mui/material";export{expandableText,getGradientBorderStyles,leftPipe}from"./theme/sxHelpers.mjs";
1
+ export{formatDate,getFiscalPeriod}from"./components/DateFormats.mjs";export{Alert}from"./components/Alert.mjs";export{Code}from"./components/Code.mjs";export{Container}from"./components/Container.mjs";export{Grid}from"./components/Grid.mjs";export{Link}from"./components/Link.mjs";export{Select}from"./components/Select.mjs";export{StatusBadge}from"./components/StatusBadge.mjs";export{Switch}from"./components/Switch.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{AiChip}from"./components/AiChip.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{Avatar}from"./components/Avatar.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{default as nexusLogoIco}from"./assets/images/favicon.ico.mjs";export{getFaviconUrls}from"./assets/images/urls.mjs";export{FaviconLinks}from"./components/FaviconLinks.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{AlertTitle,MenuItem,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.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "Nexus core components",
5
5
  "license": "ISC",
6
6
  "author": "emsmart-sage",