sage-nexus-ui 1.3.6 → 1.3.7
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
|
+
var a="assets/images/favicon.ico";export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import o from"./nexus-logo-favicon.svg.mjs";import m from"./favicon.ico.mjs";import{SAGE_NEXUS_UI_VERSION as r}from"../../generated/version.mjs";const i=r,s=(r=!0)=>({svg:r?`${o}?v=${i}`:o,ico:r?`${m}?v=${i}`:m});export{s as getFaviconUrls};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsxs as r,Fragment as e,jsx as s}from"react/jsx-runtime";import o from"../assets/images/nexus-logo-favicon.svg.mjs";import i from"../assets/images/favicon.ico.mjs";import{SAGE_NEXUS_UI_VERSION as t}from"../generated/version.mjs";const m=t,n=({versioned:t=!0,svgAttrs:n,icoAttrs:c})=>{const a=t?`${i}?v=${m}`:i;return r(e,{children:[s("link",{rel:"icon",type:"image/svg+xml",href:t?`${o}?v=${m}`:o,...n}),s("link",{rel:"icon",href:a,...c})]})};export{n as FaviconLinks};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const o="1.3.7";export{o as SAGE_NEXUS_UI_VERSION};
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { SxProps as SxProps$1 } from '@mui/system';
|
|
|
9
9
|
import { Theme as Theme$1, SxProps as SxProps$2 } from '@mui/material/styles';
|
|
10
10
|
export { default as nexusLogoNode } from './assets/images/nexus-logo-node.svg';
|
|
11
11
|
export { default as nexusLogoFavicon } from './assets/images/nexus-logo-favicon.svg';
|
|
12
|
+
export { default as nexusLogoIco } from './assets/images/favicon.ico';
|
|
12
13
|
|
|
13
14
|
declare const getFiscalPeriod: (date: Date) => {
|
|
14
15
|
fiscalYear: number;
|
|
@@ -378,6 +379,21 @@ interface TooltipProps extends Omit<TooltipProps$1, "title"> {
|
|
|
378
379
|
}
|
|
379
380
|
declare const Tooltip: ({ title, children, ...rest }: TooltipProps) => react_jsx_runtime.JSX.Element;
|
|
380
381
|
|
|
382
|
+
declare const getFaviconUrls: (versioned?: boolean) => {
|
|
383
|
+
svg: string;
|
|
384
|
+
ico: string;
|
|
385
|
+
};
|
|
386
|
+
|
|
387
|
+
type FaviconLinksProps = {
|
|
388
|
+
/** Append version query param for cache-busting (default true) */
|
|
389
|
+
versioned?: boolean;
|
|
390
|
+
/** Optional additional attributes to add to the svg link */
|
|
391
|
+
svgAttrs?: react__default.LinkHTMLAttributes<HTMLLinkElement>;
|
|
392
|
+
/** Optional additional attributes to add to the ico link */
|
|
393
|
+
icoAttrs?: react__default.LinkHTMLAttributes<HTMLLinkElement>;
|
|
394
|
+
};
|
|
395
|
+
declare const FaviconLinks: react__default.FC<FaviconLinksProps>;
|
|
396
|
+
|
|
381
397
|
type ThemeMode = "light" | "dark";
|
|
382
398
|
type ModeTokens = {
|
|
383
399
|
background: {
|
|
@@ -483,5 +499,5 @@ declare const getGradientBorderStyles: (theme: Theme$1, options?: GradientBorder
|
|
|
483
499
|
declare const leftPipe: SxProps$2<Theme$1>;
|
|
484
500
|
declare const expandableText: (isExpanded: boolean) => SxProps$2<Theme$1>;
|
|
485
501
|
|
|
486
|
-
export { AccordionGroup, AccordionGroupItem, AccordionSingle, ActionBar, ActionBarTitle, AiButton, AiCard, AiGlassCard, AiGlassPaper, AiPaper, Body1, Body2, Box, ButtonBase, Caption, Card, CheckboxGroup, Chip, Collapse, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, GlassCard, GlassPaper, GlassPaperAsync, GreenWaveBackground, H1, H2, H3, H4, IconButton, LoadingSpinnerNexus, LocationMultiSelect, LogoOptions, MuiAppThemeProvider, NexusDataGrid, NexusHome, NexusLogo, Paper, PrimaryButton, PrimaryButtonLink, RagChip, RagDot, SearchInput, SecondaryButton, SecondaryButtonLink, SideBlade, Skeleton, SkillChip, Stack, StatusChip, Tab, Tabs, TextField, ThemeModeProvider, ThemeToggle, Tooltip, colours, createSageTheme, expandableText, fontSageHeadline, fontSageText, fontSageUI, formatDate, getFiscalPeriod, getGradientBorderStyles, getModeTokens, gradients, leftPipe, useThemeMode, useTokens };
|
|
502
|
+
export { AccordionGroup, AccordionGroupItem, AccordionSingle, ActionBar, ActionBarTitle, AiButton, AiCard, AiGlassCard, AiGlassPaper, AiPaper, Body1, Body2, Box, ButtonBase, Caption, Card, CheckboxGroup, Chip, Collapse, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, FaviconLinks, GlassCard, GlassPaper, GlassPaperAsync, GreenWaveBackground, H1, H2, H3, H4, IconButton, LoadingSpinnerNexus, LocationMultiSelect, LogoOptions, MuiAppThemeProvider, NexusDataGrid, NexusHome, NexusLogo, Paper, PrimaryButton, PrimaryButtonLink, RagChip, RagDot, SearchInput, SecondaryButton, SecondaryButtonLink, SideBlade, Skeleton, SkillChip, Stack, StatusChip, Tab, Tabs, TextField, ThemeModeProvider, ThemeToggle, Tooltip, colours, createSageTheme, expandableText, fontSageHeadline, fontSageText, fontSageUI, formatDate, getFaviconUrls, getFiscalPeriod, getGradientBorderStyles, getModeTokens, gradients, leftPipe, useThemeMode, useTokens };
|
|
487
503
|
export type { AccordionGroupItemProps, AccordionGroupProps, AccordionSingleProps, AiButtonProps, AiCardProps, AiGlassCardProps, AiGlassPaperProps, AiPaperProps, CardProps, CardTrend, GlassCardProps, GlassPaperAsyncProps, GlassPaperProps, GradientBorderOptions, GreenWaveBackgroundProps, IconButtonProps, LoadingSpinnerNexusProps, ModeTokens, PrimaryButtonLinkProps, PrimaryButtonProps, SecondaryButtonLinkProps, SecondaryButtonProps, SideBladeProps, SkeletonProps, ThemeMode, TooltipProps };
|
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{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";
|
|
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{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{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.7",
|
|
4
4
|
"description": "Nexus core components",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "emsmart-sage",
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
],
|
|
24
24
|
"sideEffects": false,
|
|
25
25
|
"scripts": {
|
|
26
|
+
"prebuild": "node scripts/write-version.mjs",
|
|
26
27
|
"build": "node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\" && rollup -c",
|
|
27
28
|
"build-storybook": "storybook build",
|
|
28
29
|
"generate-favicon": "node scripts/generate-favicon.mjs",
|
|
@@ -54,6 +55,7 @@
|
|
|
54
55
|
"@mui/material": "^9.0.1",
|
|
55
56
|
"@mui/x-data-grid": "^9.0.0",
|
|
56
57
|
"@rollup/plugin-alias": "^6.0.0",
|
|
58
|
+
"@rollup/plugin-json": "^5.0.0",
|
|
57
59
|
"@rollup/plugin-commonjs": "^29.0.2",
|
|
58
60
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
59
61
|
"@rollup/plugin-terser": "^1.0.0",
|
package/readme.md
CHANGED
|
@@ -1 +1,109 @@
|
|
|
1
1
|
Small component library for personal use.
|
|
2
|
+
|
|
3
|
+
## Favicon usage
|
|
4
|
+
|
|
5
|
+
This package exports the favicon assets and a small helper to make adding
|
|
6
|
+
favicon links in consuming apps trivial.
|
|
7
|
+
|
|
8
|
+
Files available in package:
|
|
9
|
+
|
|
10
|
+
- `nexus-logo-favicon.svg` — modern SVG favicon
|
|
11
|
+
- `favicon.ico` — multi-size ICO (legacy support)
|
|
12
|
+
|
|
13
|
+
Quick copy approach (recommended):
|
|
14
|
+
|
|
15
|
+
1. Add and then run these asset copy scripts in the consuming project's package.json:
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
"scripts": {
|
|
19
|
+
"copy-sage-assets": "cpx \"node_modules/sage-nexus-ui/dist/assets/images/*\" public/assets/sage-nexus-ui/",
|
|
20
|
+
"postinstall": "npm run copy-sage-assets"
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
2. Add links in your HTML head:
|
|
25
|
+
|
|
26
|
+
```html
|
|
27
|
+
<link
|
|
28
|
+
rel="icon"
|
|
29
|
+
type="image/svg+xml"
|
|
30
|
+
href="/assets/sage-nexus-ui/nexus-logo-favicon.svg"
|
|
31
|
+
/>
|
|
32
|
+
<link rel="icon" href="/assets/sage-nexus-ui/favicon.ico" />
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Or, use the React helper exported by this package:
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
import { FaviconLinks } from "sage-nexus-ui";
|
|
39
|
+
|
|
40
|
+
function AppHead() {
|
|
41
|
+
return <FaviconLinks />; // adds versioned SVG and ICO links
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Next.js example
|
|
46
|
+
|
|
47
|
+
If you use Next.js (Pages or App router), you can copy the built assets into your `public/` folder and render the helper component from the app head so the favicon is present on first render.
|
|
48
|
+
|
|
49
|
+
1. Copy assets during install/build (example `package.json` scripts in the consuming app):
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
"scripts": {
|
|
53
|
+
"copy-sage-assets": "cpx \"node_modules/sage-nexus-ui/dist/assets/images/*\" public/assets/sage-nexus-ui/",
|
|
54
|
+
"postinstall": "npm run copy-sage-assets"
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
2. Pages router (`pages/_document.tsx`) example — server-side rendered so the links are available immediately:
|
|
59
|
+
|
|
60
|
+
```tsx
|
|
61
|
+
// pages/_document.tsx
|
|
62
|
+
import Document, { Html, Head, Main, NextScript } from "next/document";
|
|
63
|
+
import { FaviconLinks } from "sage-nexus-ui";
|
|
64
|
+
|
|
65
|
+
class MyDocument extends Document {
|
|
66
|
+
render() {
|
|
67
|
+
return (
|
|
68
|
+
<Html>
|
|
69
|
+
<Head>
|
|
70
|
+
<FaviconLinks />
|
|
71
|
+
</Head>
|
|
72
|
+
<body>
|
|
73
|
+
<Main />
|
|
74
|
+
<NextScript />
|
|
75
|
+
</body>
|
|
76
|
+
</Html>
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export default MyDocument;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
3. App router (`app/layout.tsx`) example:
|
|
85
|
+
|
|
86
|
+
```tsx
|
|
87
|
+
// app/layout.tsx
|
|
88
|
+
import { FaviconLinks } from "sage-nexus-ui";
|
|
89
|
+
|
|
90
|
+
export default function RootLayout({
|
|
91
|
+
children,
|
|
92
|
+
}: {
|
|
93
|
+
children: React.ReactNode;
|
|
94
|
+
}) {
|
|
95
|
+
return (
|
|
96
|
+
<html>
|
|
97
|
+
<head>
|
|
98
|
+
<FaviconLinks />
|
|
99
|
+
</head>
|
|
100
|
+
<body>{children}</body>
|
|
101
|
+
</html>
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Notes:
|
|
107
|
+
|
|
108
|
+
- Copying assets into `public/` ensures the files are served as static assets (no runtime JS required) and avoids a flash-of-default-favicon.
|
|
109
|
+
- The `FaviconLinks` helper uses versioned URLs by default to help cache-busting when you publish a new library version.
|