@rws-aoa/react-library 7.1.0 → 7.1.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.
- package/dist/components/atoms/_menu/menu-item/MenuItem.d.ts +2 -2
- package/dist/components/atoms/_menu/menu-item/MenuItem.d.ts.map +1 -1
- package/dist/components/atoms/_menu/menu-item/MenuItem.js +4 -4
- package/dist/components/atoms/_menu/menu-item/MenuItem.js.map +1 -1
- package/dist/components/molecules/navigation-bar/NavigationBar.d.ts.map +1 -1
- package/dist/components/molecules/navigation-bar/NavigationBar.js +42 -45
- package/dist/components/molecules/navigation-bar/NavigationBar.js.map +1 -1
- package/package.json +21 -21
|
@@ -61,11 +61,11 @@ interface MenuItemProps {
|
|
|
61
61
|
/**
|
|
62
62
|
* The currently active menu item
|
|
63
63
|
*/
|
|
64
|
-
readonly selectedPage: number;
|
|
64
|
+
readonly selectedPage: number | null;
|
|
65
65
|
/**
|
|
66
66
|
* The function to update the active menu item
|
|
67
67
|
*/
|
|
68
|
-
readonly setSelectedPage: Dispatch<SetStateAction<number>>;
|
|
68
|
+
readonly setSelectedPage: Dispatch<SetStateAction<number | null>>;
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
71
|
* Constructs a menu item using pre-defined Rijks styling
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/_menu/menu-item/MenuItem.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAY,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAmB,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAGhG,UAAU,OAAO;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,KAAK,IAAI;AACP;;GAEG;AACD;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE;AACrC;;GAEG;GACD;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,KAAK,CAAA;CAAE;AACrC;;GAEG;GACD;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,UAAU,aAAa;IACrB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/_menu/menu-item/MenuItem.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAY,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAmB,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAGhG,UAAU,OAAO;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,KAAK,IAAI;AACP;;GAEG;AACD;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE;AACrC;;GAEG;GACD;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,KAAK,CAAA;CAAE;AACrC;;GAEG;GACD;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,UAAU,aAAa;IACrB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,2CAuJ/C"}
|
|
@@ -20,7 +20,7 @@ function R(e) {
|
|
|
20
20
|
to: e.page.to
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
return /* @__PURE__ */ k(g, { ...p(), "aria-controls": e.page.subItems?.length && t ? "submenu" : void 0, "aria-expanded": e.page.subItems?.length && t ? "true" : void 0, "aria-haspopup": e.page.subItems?.length ? "true" : "false", "aria-label": e.page.label, component: e.page.to && !e.page.externalPath ? c : P, key: e.index, onClick: () => e.setSelectedPage(e.index), onMouseEnter: (o) => h(o), onMouseLeave: () => l(), role: "menuitem", selected: e.selectedPage === e.index, sx: {
|
|
23
|
+
return /* @__PURE__ */ k(g, { ...p(), "aria-controls": e.page.subItems?.length && t ? "submenu" : void 0, "aria-expanded": e.page.subItems?.length && t ? "true" : void 0, "aria-haspopup": e.page.subItems?.length ? "true" : "false", "aria-label": e.page.label, component: e.page.to && !e.page.externalPath ? c : P, key: e.index, onClick: () => e.setSelectedPage(e.index), onMouseEnter: (o) => h(o), onMouseLeave: () => l(), role: "menuitem", selected: e.selectedPage === null ? !1 : e.selectedPage === e.index, sx: {
|
|
24
24
|
height: "100%",
|
|
25
25
|
borderBottom: "3px solid transparent",
|
|
26
26
|
padding: "6px 20px 3px",
|
|
@@ -60,8 +60,8 @@ function R(e) {
|
|
|
60
60
|
rgb(0 0 0 / 10%) 0 10px 15px -3px,
|
|
61
61
|
rgb(0 0 0 / 5%) 0 4px 6px -2px
|
|
62
62
|
`
|
|
63
|
-
}, children: e.page.subItems?.map((o,
|
|
64
|
-
|
|
63
|
+
}, children: e.page.subItems?.map((o, f) => /* @__PURE__ */ i(g, { "aria-label": o.label, component: c, disableRipple: !0, divider: o.divider ?? !1, onClick: (v) => {
|
|
64
|
+
v.stopPropagation(), e.setSelectedPage(e.index), l();
|
|
65
65
|
}, sx: u.merge({
|
|
66
66
|
":active": {
|
|
67
67
|
backgroundColor: "var(--color-bg-light)"
|
|
@@ -87,7 +87,7 @@ function R(e) {
|
|
|
87
87
|
}, x), to: o.to, children: [
|
|
88
88
|
o.icon,
|
|
89
89
|
o.label
|
|
90
|
-
] },
|
|
90
|
+
] }, f)) }));
|
|
91
91
|
}
|
|
92
92
|
export {
|
|
93
93
|
R as AoaMenuItem
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.js","sources":["../../../../../src/components/atoms/_menu/menu-item/MenuItem.tsx"],"sourcesContent":["import { Home as HomeIcon, KeyboardArrowDown as KeyboardArrowDownIcon } from '@mui/icons-material';\nimport {\n Link as MUILink,\n MenuItem as MUIMenuItem,\n menuItemClasses,\n svgIconClasses,\n Popper,\n Typography\n} from '@mui/material';\nimport { Link } from '@tanstack/react-router';\nimport { merge } from 'lodash';\nimport { useState, type Dispatch, type JSX, type MouseEvent, type SetStateAction } from 'react';\nimport { FontNormalSxProps } from '../../../../_constants';\n\ninterface SubMenu {\n /**\n * Optional divider to be shown below menu item\n */\n divider?: boolean;\n /**\n * Optional icon to be displayed in front of the label\n */\n icon?: JSX.Element;\n /**\n * The label of the menu item\n */\n label: string;\n /**\n * The path that the menu item links to on click\n */\n to: string;\n}\n\ntype Menu =\n /**\n * The path that the menu item links to on click and the subitems shown on hover\n */\n | { subItems: SubMenu[]; to: string }\n /**\n * Subitems are required when there is no path that the menu item links to on click\n */\n | { subItems: SubMenu[]; to?: never }\n /**\n * The path that the menu item links to on click is required when there are no subitems on hover\n */\n | { subItems?: never; to: string };\n\nexport type AoaPage = Menu & {\n /**\n * Optional boolean to indicate if it's an external \"to\" path\n */\n externalPath?: boolean;\n /**\n * The label of the menu item\n */\n label: string;\n};\n\ninterface MenuItemProps {\n /**\n * Index of the current menu item. Home === 0\n */\n readonly index: number;\n /**\n * The Page object for this menu item\n */\n readonly page: AoaPage;\n /**\n * The currently active menu item\n */\n readonly selectedPage: number;\n /**\n * The function to update the active menu item\n */\n readonly setSelectedPage: Dispatch<SetStateAction<number>>;\n}\n\n/**\n * Constructs a menu item using pre-defined Rijks styling\n *\n * @param props - Props to pass to the menu item\n * @example\n * ```jsx\n * <AoaMenuItem\n * index={index}\n * page={{\n * label: \"Products\",\n * to: \"/products\",\n * subItems: [\n * {\n * label: \"Books\",\n * to: \"/books\",\n * icon: <BookIcon />,\n * }\n * ]\n * }}\n * selectedPage={selectedPage}\n * setSelectedPage={setSelectedPage}\n * />\n * ```\n */\nexport function AoaMenuItem(props: MenuItemProps) {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const [open, setOpen] = useState(false);\n\n function handleMenuOpen(event: MouseEvent<HTMLAnchorElement, globalThis.MouseEvent>) {\n setOpen(true);\n setAnchorEl(event.currentTarget);\n }\n\n function handleMenuClose() {\n setOpen(false);\n setAnchorEl(null);\n }\n\n function linkProps() {\n if (props.page.externalPath) {\n return { href: props.page.to };\n } else {\n return { to: props.page.to };\n }\n }\n\n return (\n <MUIMenuItem\n {...linkProps()}\n aria-controls={props.page.subItems?.length && open ? 'submenu' : undefined}\n aria-expanded={props.page.subItems?.length && open ? 'true' : undefined}\n aria-haspopup={props.page.subItems?.length ? 'true' : 'false'}\n aria-label={props.page.label}\n component={props.page.to && !props.page.externalPath ? Link : MUILink}\n key={props.index}\n onClick={() => props.setSelectedPage(props.index)}\n onMouseEnter={(event: MouseEvent<HTMLAnchorElement, globalThis.MouseEvent>) => handleMenuOpen(event)}\n onMouseLeave={() => handleMenuClose()}\n role='menuitem'\n selected={props.selectedPage === props.index}\n sx={{\n height: '100%',\n borderBottom: '3px solid transparent',\n padding: '6px 20px 3px',\n\n ':hover': {\n backgroundColor: 'var(--color-rijks-yellow-hover)',\n ...(props.page.to && {\n textDecoration: 'underline'\n })\n },\n\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: 'var(--color-rijks-yellow-light)',\n borderBottomColor: 'var(--color-rijks-skyblue)',\n ':hover': {\n backgroundColor: 'var(--color-rijks-yellow-hover)'\n }\n }\n }}\n title={props.page.label}\n >\n <Typography\n aria-hidden\n component='span'\n sx={merge(\n {\n display: 'flex',\n alignItems: 'center',\n\n [`&.${svgIconClasses.root}`]: {\n marginRight: '5px'\n }\n },\n FontNormalSxProps\n )}\n variant='body1'\n >\n {props.index === 0 && <HomeIcon />}\n {props.page.label}\n {props.page.subItems?.length ? <KeyboardArrowDownIcon /> : null}\n </Typography>\n {props.page.subItems && (\n <Popper\n anchorEl={anchorEl}\n id='submenu'\n open={open}\n placement='bottom-start'\n role='menu'\n sx={{\n backgroundColor: 'var(--color-bg-light)',\n padding: '4px 0',\n borderRadius: '6px',\n marginTop: '8px',\n minWidth: '180px',\n color: 'var(--color-text)',\n boxShadow: `\n rgb(255 255 255) 0 0 0 0,\n rgb(0 0 0 / 5%) 0 0 0 1px,\n rgb(0 0 0 / 10%) 0 10px 15px -3px,\n rgb(0 0 0 / 5%) 0 4px 6px -2px\n `\n }}\n >\n {props.page.subItems?.map((subItem, index) => (\n <MUIMenuItem\n aria-label={subItem.label}\n component={Link}\n disableRipple\n divider={subItem.divider ?? false}\n key={index}\n onClick={(event) => {\n event.stopPropagation();\n props.setSelectedPage(props.index);\n handleMenuClose();\n }}\n sx={merge(\n {\n ':active': {\n backgroundColor: 'var(--color-bg-light)'\n },\n\n [`&.${menuItemClasses.divider}`]: {\n borderBottom: 'transparent',\n position: 'relative',\n marginBottom: '16px',\n\n '::after': {\n content: '\"\"',\n position: 'absolute',\n bottom: '-8px',\n left: '0',\n width: '100%',\n borderBottom: '1px solid rgba(0, 0, 0, 0.12)'\n }\n },\n\n [`&.${svgIconClasses.root}`]: {\n fontSize: 'var(--font-size-text)',\n color: 'var(--color-rijks-grey-7)',\n marginRight: '12px'\n }\n },\n FontNormalSxProps\n )}\n to={subItem.to}\n >\n {subItem.icon}\n {subItem.label}\n </MUIMenuItem>\n ))}\n </Popper>\n )}\n </MUIMenuItem>\n );\n}\n"],"names":["AoaMenuItem","props","anchorEl","setAnchorEl","useState","open","setOpen","handleMenuOpen","event","currentTarget","handleMenuClose","linkProps","page","externalPath","href","to","createElement","MUIMenuItem","subItems","length","undefined","label","Link","MUILink","index","setSelectedPage","selectedPage","height","borderBottom","padding","backgroundColor","textDecoration","menuItemClasses","selected","borderBottomColor","jsxs","Typography","merge","display","alignItems","svgIconClasses","root","marginRight","FontNormalSxProps","jsx","HomeIcon","KeyboardArrowDownIcon","Popper","borderRadius","marginTop","minWidth","color","boxShadow","map","subItem","divider","stopPropagation","position","marginBottom","content","bottom","left","width","fontSize","icon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MenuItem.js","sources":["../../../../../src/components/atoms/_menu/menu-item/MenuItem.tsx"],"sourcesContent":["import { Home as HomeIcon, KeyboardArrowDown as KeyboardArrowDownIcon } from '@mui/icons-material';\nimport {\n Link as MUILink,\n MenuItem as MUIMenuItem,\n menuItemClasses,\n svgIconClasses,\n Popper,\n Typography\n} from '@mui/material';\nimport { Link } from '@tanstack/react-router';\nimport { merge } from 'lodash';\nimport { useState, type Dispatch, type JSX, type MouseEvent, type SetStateAction } from 'react';\nimport { FontNormalSxProps } from '../../../../_constants';\n\ninterface SubMenu {\n /**\n * Optional divider to be shown below menu item\n */\n divider?: boolean;\n /**\n * Optional icon to be displayed in front of the label\n */\n icon?: JSX.Element;\n /**\n * The label of the menu item\n */\n label: string;\n /**\n * The path that the menu item links to on click\n */\n to: string;\n}\n\ntype Menu =\n /**\n * The path that the menu item links to on click and the subitems shown on hover\n */\n | { subItems: SubMenu[]; to: string }\n /**\n * Subitems are required when there is no path that the menu item links to on click\n */\n | { subItems: SubMenu[]; to?: never }\n /**\n * The path that the menu item links to on click is required when there are no subitems on hover\n */\n | { subItems?: never; to: string };\n\nexport type AoaPage = Menu & {\n /**\n * Optional boolean to indicate if it's an external \"to\" path\n */\n externalPath?: boolean;\n /**\n * The label of the menu item\n */\n label: string;\n};\n\ninterface MenuItemProps {\n /**\n * Index of the current menu item. Home === 0\n */\n readonly index: number;\n /**\n * The Page object for this menu item\n */\n readonly page: AoaPage;\n /**\n * The currently active menu item\n */\n readonly selectedPage: number | null;\n /**\n * The function to update the active menu item\n */\n readonly setSelectedPage: Dispatch<SetStateAction<number | null>>;\n}\n\n/**\n * Constructs a menu item using pre-defined Rijks styling\n *\n * @param props - Props to pass to the menu item\n * @example\n * ```jsx\n * <AoaMenuItem\n * index={index}\n * page={{\n * label: \"Products\",\n * to: \"/products\",\n * subItems: [\n * {\n * label: \"Books\",\n * to: \"/books\",\n * icon: <BookIcon />,\n * }\n * ]\n * }}\n * selectedPage={selectedPage}\n * setSelectedPage={setSelectedPage}\n * />\n * ```\n */\nexport function AoaMenuItem(props: MenuItemProps) {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const [open, setOpen] = useState(false);\n\n function handleMenuOpen(event: MouseEvent<HTMLAnchorElement, globalThis.MouseEvent>) {\n setOpen(true);\n setAnchorEl(event.currentTarget);\n }\n\n function handleMenuClose() {\n setOpen(false);\n setAnchorEl(null);\n }\n\n function linkProps() {\n if (props.page.externalPath) {\n return { href: props.page.to };\n } else {\n return { to: props.page.to };\n }\n }\n\n return (\n <MUIMenuItem\n {...linkProps()}\n aria-controls={props.page.subItems?.length && open ? 'submenu' : undefined}\n aria-expanded={props.page.subItems?.length && open ? 'true' : undefined}\n aria-haspopup={props.page.subItems?.length ? 'true' : 'false'}\n aria-label={props.page.label}\n component={props.page.to && !props.page.externalPath ? Link : MUILink}\n key={props.index}\n onClick={() => props.setSelectedPage(props.index)}\n onMouseEnter={(event: MouseEvent<HTMLAnchorElement, globalThis.MouseEvent>) => handleMenuOpen(event)}\n onMouseLeave={() => handleMenuClose()}\n role='menuitem'\n selected={props.selectedPage === null ? false : props.selectedPage === props.index}\n sx={{\n height: '100%',\n borderBottom: '3px solid transparent',\n padding: '6px 20px 3px',\n\n ':hover': {\n backgroundColor: 'var(--color-rijks-yellow-hover)',\n ...(props.page.to && {\n textDecoration: 'underline'\n })\n },\n\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: 'var(--color-rijks-yellow-light)',\n borderBottomColor: 'var(--color-rijks-skyblue)',\n ':hover': {\n backgroundColor: 'var(--color-rijks-yellow-hover)'\n }\n }\n }}\n title={props.page.label}\n >\n <Typography\n aria-hidden\n component='span'\n sx={merge(\n {\n display: 'flex',\n alignItems: 'center',\n\n [`&.${svgIconClasses.root}`]: {\n marginRight: '5px'\n }\n },\n FontNormalSxProps\n )}\n variant='body1'\n >\n {props.index === 0 && <HomeIcon />}\n {props.page.label}\n {props.page.subItems?.length ? <KeyboardArrowDownIcon /> : null}\n </Typography>\n {props.page.subItems && (\n <Popper\n anchorEl={anchorEl}\n id='submenu'\n open={open}\n placement='bottom-start'\n role='menu'\n sx={{\n backgroundColor: 'var(--color-bg-light)',\n padding: '4px 0',\n borderRadius: '6px',\n marginTop: '8px',\n minWidth: '180px',\n color: 'var(--color-text)',\n boxShadow: `\n rgb(255 255 255) 0 0 0 0,\n rgb(0 0 0 / 5%) 0 0 0 1px,\n rgb(0 0 0 / 10%) 0 10px 15px -3px,\n rgb(0 0 0 / 5%) 0 4px 6px -2px\n `\n }}\n >\n {props.page.subItems?.map((subItem, index) => (\n <MUIMenuItem\n aria-label={subItem.label}\n component={Link}\n disableRipple\n divider={subItem.divider ?? false}\n key={index}\n onClick={(event) => {\n event.stopPropagation();\n props.setSelectedPage(props.index);\n handleMenuClose();\n }}\n sx={merge(\n {\n ':active': {\n backgroundColor: 'var(--color-bg-light)'\n },\n\n [`&.${menuItemClasses.divider}`]: {\n borderBottom: 'transparent',\n position: 'relative',\n marginBottom: '16px',\n\n '::after': {\n content: '\"\"',\n position: 'absolute',\n bottom: '-8px',\n left: '0',\n width: '100%',\n borderBottom: '1px solid rgba(0, 0, 0, 0.12)'\n }\n },\n\n [`&.${svgIconClasses.root}`]: {\n fontSize: 'var(--font-size-text)',\n color: 'var(--color-rijks-grey-7)',\n marginRight: '12px'\n }\n },\n FontNormalSxProps\n )}\n to={subItem.to}\n >\n {subItem.icon}\n {subItem.label}\n </MUIMenuItem>\n ))}\n </Popper>\n )}\n </MUIMenuItem>\n );\n}\n"],"names":["AoaMenuItem","props","anchorEl","setAnchorEl","useState","open","setOpen","handleMenuOpen","event","currentTarget","handleMenuClose","linkProps","page","externalPath","href","to","createElement","MUIMenuItem","subItems","length","undefined","label","Link","MUILink","index","setSelectedPage","selectedPage","height","borderBottom","padding","backgroundColor","textDecoration","menuItemClasses","selected","borderBottomColor","jsxs","Typography","merge","display","alignItems","svgIconClasses","root","marginRight","FontNormalSxProps","jsx","HomeIcon","KeyboardArrowDownIcon","Popper","borderRadius","marginTop","minWidth","color","boxShadow","map","subItem","divider","stopPropagation","position","marginBottom","content","bottom","left","width","fontSize","icon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationBar.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/navigation-bar/NavigationBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NavigationBar.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/navigation-bar/NavigationBar.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAEpF,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAsG5D"}
|
|
@@ -1,31 +1,28 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as f, jsxs as y } from "react/jsx-runtime";
|
|
2
2
|
import { c as B } from "../../../chunks/compiler-runtime.hDcrsMwn.js";
|
|
3
|
-
import { Box as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { Box as S, AppBar as W, Toolbar as R } from "@mui/material";
|
|
4
|
+
import { useLocation as _ } from "@tanstack/react-router";
|
|
5
|
+
import { l as P } from "../../../chunks/lodash.CA_K01A9.js";
|
|
6
|
+
import { useState as A, useEffect as I } from "react";
|
|
7
|
+
import { FontNormalSxProps as j } from "../../../_constants.js";
|
|
7
8
|
import { AoaMenuItem as p } from "../../atoms/_menu/menu-item/MenuItem.js";
|
|
8
|
-
import { AoaUserMenu as
|
|
9
|
-
function
|
|
10
|
-
const e = B.c(
|
|
11
|
-
let
|
|
12
|
-
e[0]
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
let f, d;
|
|
17
|
-
e[2] !== o ? (f = () => {
|
|
18
|
-
window.sessionStorage.setItem("activeMenuTab", o.toString());
|
|
19
|
-
}, d = [o], e[2] = o, e[3] = f, e[4] = d) : (f = e[3], d = e[4]), S(f, d);
|
|
9
|
+
import { AoaUserMenu as C } from "../../atoms/_menu/user-menu/UserMenu.js";
|
|
10
|
+
function $(t) {
|
|
11
|
+
const e = B.c(27), [o, w] = A(null), c = _();
|
|
12
|
+
let d, h;
|
|
13
|
+
e[0] !== c.pathname || e[1] !== t.pages ? (d = () => {
|
|
14
|
+
const a = t.pages.findIndex((m) => m.to && c.pathname.startsWith(m.to) || m.subItems?.some((b) => b.to && c.pathname.startsWith(b.to)));
|
|
15
|
+
w(a >= 0 ? a + 1 : 0);
|
|
16
|
+
}, h = [c.pathname, t.pages], e[0] = c.pathname, e[1] = t.pages, e[2] = d, e[3] = h) : (d = e[2], h = e[3]), I(d, h);
|
|
20
17
|
let g;
|
|
21
|
-
e[
|
|
18
|
+
e[4] === Symbol.for("react.memo_cache_sentinel") ? (g = P.merge({
|
|
22
19
|
color: "var(--color-text)",
|
|
23
20
|
backgroundColor: "var(--color-rijks-yellow)",
|
|
24
21
|
height: "70px",
|
|
25
22
|
boxShadow: "none"
|
|
26
|
-
},
|
|
23
|
+
}, j), e[4] = g) : g = e[4];
|
|
27
24
|
let u;
|
|
28
|
-
e[
|
|
25
|
+
e[5] === Symbol.for("react.memo_cache_sentinel") ? (u = {
|
|
29
26
|
height: "100%",
|
|
30
27
|
overflowX: "scroll",
|
|
31
28
|
scrollbarWidth: "thin",
|
|
@@ -62,39 +59,39 @@ function U(t) {
|
|
|
62
59
|
background: "rgba(100, 100, 100, .61)",
|
|
63
60
|
WebkitBorderRadius: "100px"
|
|
64
61
|
}
|
|
65
|
-
}, e[
|
|
66
|
-
const
|
|
67
|
-
let
|
|
68
|
-
e[
|
|
62
|
+
}, e[5] = u) : u = e[5];
|
|
63
|
+
const v = t.homePath ?? "/";
|
|
64
|
+
let r;
|
|
65
|
+
e[6] !== t.name || e[7] !== v ? (r = {
|
|
69
66
|
label: t.name,
|
|
70
|
-
to:
|
|
71
|
-
}, e[
|
|
72
|
-
let
|
|
73
|
-
e[
|
|
74
|
-
let
|
|
75
|
-
e[
|
|
67
|
+
to: v
|
|
68
|
+
}, e[6] = t.name, e[7] = v, e[8] = r) : r = e[8];
|
|
69
|
+
let l;
|
|
70
|
+
e[9] !== o || e[10] !== r ? (l = /* @__PURE__ */ f(p, { index: 0, page: r, selectedPage: o, setSelectedPage: w }), e[9] = o, e[10] = r, e[11] = l) : l = e[11];
|
|
71
|
+
let x;
|
|
72
|
+
e[12] === Symbol.for("react.memo_cache_sentinel") ? (x = {
|
|
76
73
|
flexGrow: 1,
|
|
77
74
|
display: "flex",
|
|
78
75
|
height: "100%"
|
|
79
|
-
}, e[
|
|
80
|
-
let
|
|
81
|
-
if (e[
|
|
82
|
-
let
|
|
83
|
-
e[
|
|
76
|
+
}, e[12] = x) : x = e[12];
|
|
77
|
+
let i;
|
|
78
|
+
if (e[13] !== t.pages || e[14] !== o) {
|
|
79
|
+
let a;
|
|
80
|
+
e[16] !== o ? (a = (m, b) => /* @__PURE__ */ f(p, { index: b + 1, page: m, selectedPage: o, setSelectedPage: w }, b), e[16] = o, e[17] = a) : a = e[17], i = t.pages.map(a), e[13] = t.pages, e[14] = o, e[15] = i;
|
|
84
81
|
} else
|
|
85
|
-
|
|
82
|
+
i = e[15];
|
|
86
83
|
let s;
|
|
87
|
-
e[
|
|
88
|
-
let
|
|
89
|
-
e[
|
|
90
|
-
let
|
|
91
|
-
return e[
|
|
92
|
-
|
|
84
|
+
e[18] !== i ? (s = /* @__PURE__ */ f(S, { sx: x, children: i }), e[18] = i, e[19] = s) : s = e[19];
|
|
85
|
+
let n;
|
|
86
|
+
e[20] !== t.settings || e[21] !== t.username ? (n = /* @__PURE__ */ f(C, { settings: t.settings, username: t.username }), e[20] = t.settings, e[21] = t.username, e[22] = n) : n = e[22];
|
|
87
|
+
let k;
|
|
88
|
+
return e[23] !== n || e[24] !== l || e[25] !== s ? (k = /* @__PURE__ */ f(W, { position: "static", sx: g, children: /* @__PURE__ */ y(R, { role: "menu", sx: u, tabIndex: 0, children: [
|
|
89
|
+
l,
|
|
93
90
|
s,
|
|
94
|
-
|
|
95
|
-
] }) }), e[
|
|
91
|
+
n
|
|
92
|
+
] }) }), e[23] = n, e[24] = l, e[25] = s, e[26] = k) : k = e[26], k;
|
|
96
93
|
}
|
|
97
94
|
export {
|
|
98
|
-
|
|
95
|
+
$ as AoaNavigationBar
|
|
99
96
|
};
|
|
100
97
|
//# sourceMappingURL=NavigationBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationBar.js","sources":["../../../../src/components/molecules/navigation-bar/NavigationBar.tsx"],"sourcesContent":["import { AppBar, Box, Toolbar } from '@mui/material';\nimport { merge } from 'lodash';\nimport { useEffect, useState } from 'react';\nimport { FontNormalSxProps } from '../../../_constants';\nimport { AoaMenuItem, type AoaPage } from '../../atoms/_menu/menu-item/MenuItem';\nimport { AoaUserMenu, type AoaSetting } from '../../atoms/_menu/user-menu/UserMenu';\n\nexport interface AoaNavigationBarProps {\n /**\n * If your home page is not on the root url, use this prop to set the home path\n */\n readonly homePath?: string;\n /**\n * The name of the application that will be used for the Home tab\n */\n readonly name: string;\n /**\n * A list of all the pages and optional subpages to be shown in the menu\n */\n readonly pages: AoaPage[];\n /**\n * A list of all the settings to be shown in the menu\n */\n readonly settings: AoaSetting[];\n /**\n * Optional username to be displayed next to the settings menu\n */\n readonly username?: string;\n}\n\n/**\n * Constructs a navigation bar using pre-defined Rijks styling\n *\n * @param props - Props to pass to the navigation bar\n * @example\n * ```jsx\n * <AoaNavigationBar\n * name=\"Demo App\"\n * pages={\n * [\n * {\n * label: \"Products\",\n * to: \"/products\",\n * subItems: [\n * {\n * label: \"Books\",\n * to: \"/books\",\n * icon: <BookIcon />\n * }\n * ]\n * }\n * ]\n * }\n * settings={[{ label: \"Logout\", onClick: () => console.log(\"Logout\") }]}\n * />\n * ```\n */\n\nexport function AoaNavigationBar(props: AoaNavigationBarProps) {\n const [selectedPage, setSelectedPage] = useState<number>(
|
|
1
|
+
{"version":3,"file":"NavigationBar.js","sources":["../../../../src/components/molecules/navigation-bar/NavigationBar.tsx"],"sourcesContent":["import { AppBar, Box, Toolbar } from '@mui/material';\nimport { useLocation } from '@tanstack/react-router';\nimport { merge } from 'lodash';\nimport { useEffect, useState } from 'react';\nimport { FontNormalSxProps } from '../../../_constants';\nimport { AoaMenuItem, type AoaPage } from '../../atoms/_menu/menu-item/MenuItem';\nimport { AoaUserMenu, type AoaSetting } from '../../atoms/_menu/user-menu/UserMenu';\n\nexport interface AoaNavigationBarProps {\n /**\n * If your home page is not on the root url, use this prop to set the home path\n */\n readonly homePath?: string;\n /**\n * The name of the application that will be used for the Home tab\n */\n readonly name: string;\n /**\n * A list of all the pages and optional subpages to be shown in the menu\n */\n readonly pages: AoaPage[];\n /**\n * A list of all the settings to be shown in the menu\n */\n readonly settings: AoaSetting[];\n /**\n * Optional username to be displayed next to the settings menu\n */\n readonly username?: string;\n}\n\n/**\n * Constructs a navigation bar using pre-defined Rijks styling\n *\n * @param props - Props to pass to the navigation bar\n * @example\n * ```jsx\n * <AoaNavigationBar\n * name=\"Demo App\"\n * pages={\n * [\n * {\n * label: \"Products\",\n * to: \"/products\",\n * subItems: [\n * {\n * label: \"Books\",\n * to: \"/books\",\n * icon: <BookIcon />\n * }\n * ]\n * }\n * ]\n * }\n * settings={[{ label: \"Logout\", onClick: () => console.log(\"Logout\") }]}\n * />\n * ```\n */\n\nexport function AoaNavigationBar(props: AoaNavigationBarProps) {\n const [selectedPage, setSelectedPage] = useState<number | null>(null);\n\n const location = useLocation();\n\n useEffect(() => {\n // Find the index of the page that matches the current pathname\n const pageIndexByPathname = props.pages.findIndex(\n (page) =>\n // Check if the main page's path matches the current location\n (page.to && location.pathname.startsWith(page.to)) ||\n // Check if any of the subitems' paths match the current location\n page.subItems?.some((subItem) => subItem.to && location.pathname.startsWith(subItem.to))\n );\n\n // Add 1 because the home page is at index 0 in the MenuItem rendering\n setSelectedPage(pageIndexByPathname >= 0 ? pageIndexByPathname + 1 : 0);\n }, [location.pathname, props.pages]);\n\n return (\n <AppBar\n position='static'\n sx={merge(\n {\n color: 'var(--color-text)',\n backgroundColor: 'var(--color-rijks-yellow)',\n height: '70px',\n boxShadow: 'none'\n },\n FontNormalSxProps\n )}\n >\n <Toolbar\n role='menu'\n sx={{\n height: '100%',\n overflowX: 'scroll',\n scrollbarWidth: 'thin',\n scrollbarColor: '#c5c5c5 #f6f6f6',\n\n '::-webkit-scrollbar': {\n overflow: 'visible',\n borderRadius: '4px',\n width: '6px',\n height: '6px',\n WebkitBorderRadius: '4px'\n },\n\n '::-webkit-scrollbar:hover': {\n background: '#c5c5c5;'\n },\n\n '::-webkit-scrollbar-corner': {\n background: 'rgba(0,0,0,0.5)'\n },\n\n '::-webkit-scrollbar-track': {\n opacity: 0,\n transition: 'all 0.5s',\n WebkitTransition: 'all .5s'\n },\n\n '::-webkit-scrollbar-thumb': {\n overflow: 'visible',\n backgroundColor: '#c5c5c5;',\n borderRadius: '4px',\n border: '3px solid #f6f6f6'\n },\n\n '::-webkit-scrollbar-thumb:vertical': {\n background: 'rgba(100, 100, 100, .5)',\n WebkitBorderRadius: '100px'\n },\n\n '::-webkit-scrollbar-thumb:vertical:active': {\n background: 'rgba(100, 100, 100, .61)',\n WebkitBorderRadius: '100px'\n }\n }}\n tabIndex={0}\n >\n <AoaMenuItem\n index={0}\n page={{ label: props.name, to: props.homePath ?? '/' }}\n selectedPage={selectedPage}\n setSelectedPage={setSelectedPage}\n />\n <Box sx={{ flexGrow: 1, display: 'flex', height: '100%' }}>\n {props.pages.map((page, index) => (\n <AoaMenuItem\n index={index + 1}\n key={index}\n page={page}\n selectedPage={selectedPage}\n setSelectedPage={setSelectedPage}\n />\n ))}\n </Box>\n <AoaUserMenu settings={props.settings} username={props.username} />\n </Toolbar>\n </AppBar>\n );\n}\n"],"names":["AoaNavigationBar","props","$","_c","selectedPage","setSelectedPage","useState","location","useLocation","t0","t1","pathname","pages","pageIndexByPathname","findIndex","page","to","startsWith","subItems","some","subItem","useEffect","t2","Symbol","for","merge","color","backgroundColor","height","boxShadow","FontNormalSxProps","t3","overflowX","scrollbarWidth","scrollbarColor","overflow","borderRadius","width","WebkitBorderRadius","background","opacity","transition","WebkitTransition","border","t4","homePath","t5","name","label","t6","AoaMenuItem","t7","flexGrow","display","t8","t9","page_0","index","jsx","map","Box","t10","settings","username","AoaUserMenu","t11","AppBar","jsxs","Toolbar"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rws-aoa/react-library",
|
|
3
|
-
"version": "7.1.
|
|
3
|
+
"version": "7.1.1",
|
|
4
4
|
"description": "RWS AOA Design System",
|
|
5
5
|
"author": "@rws-aoa",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -28,50 +28,50 @@
|
|
|
28
28
|
"@emotion/styled": "^11.14.1",
|
|
29
29
|
"@mui/icons-material": "^7.3.1",
|
|
30
30
|
"@mui/material": "^7.3.1",
|
|
31
|
-
"@tanstack/react-router": "^1.131.
|
|
31
|
+
"@tanstack/react-router": "^1.131.28",
|
|
32
32
|
"clsx": "^2.1.1",
|
|
33
33
|
"lodash": "^4.17.21",
|
|
34
34
|
"react": "^19.1.1",
|
|
35
35
|
"react-dom": "^19.1.1"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@chromatic-com/storybook": "^4.1.
|
|
38
|
+
"@chromatic-com/storybook": "^4.1.1",
|
|
39
39
|
"@favware/cliff-jumper": "^6.0.0",
|
|
40
40
|
"@fontsource/material-icons": "^5.2.5",
|
|
41
41
|
"@fontsource/roboto": "^5.2.6",
|
|
42
42
|
"@mui/system": "^7.3.1",
|
|
43
|
-
"@mui/x-data-grid": "^8.10.
|
|
44
|
-
"@mui/x-data-grid-generator": "^8.10.
|
|
45
|
-
"@storybook/addon-a11y": "^9.1.
|
|
43
|
+
"@mui/x-data-grid": "^8.10.2",
|
|
44
|
+
"@mui/x-data-grid-generator": "^8.10.2",
|
|
45
|
+
"@storybook/addon-a11y": "^9.1.3",
|
|
46
46
|
"@storybook/addon-console": "^3.0.0",
|
|
47
|
-
"@storybook/addon-docs": "^9.1.
|
|
48
|
-
"@storybook/addon-onboarding": "^9.1.
|
|
49
|
-
"@storybook/addon-themes": "^9.1.
|
|
50
|
-
"@storybook/addon-vitest": "9.1.
|
|
51
|
-
"@storybook/react-vite": "^9.1.
|
|
52
|
-
"@tanstack/react-form": "1.19.
|
|
47
|
+
"@storybook/addon-docs": "^9.1.3",
|
|
48
|
+
"@storybook/addon-onboarding": "^9.1.3",
|
|
49
|
+
"@storybook/addon-themes": "^9.1.3",
|
|
50
|
+
"@storybook/addon-vitest": "9.1.3",
|
|
51
|
+
"@storybook/react-vite": "^9.1.3",
|
|
52
|
+
"@tanstack/react-form": "1.19.2",
|
|
53
53
|
"@types/lodash": "^4.17.20",
|
|
54
54
|
"@types/lodash.merge": "^4.6.9",
|
|
55
|
-
"@types/react": "^19.1.
|
|
56
|
-
"@types/react-dom": "^19.1.
|
|
57
|
-
"@vitejs/plugin-react": "^5.0.
|
|
55
|
+
"@types/react": "^19.1.12",
|
|
56
|
+
"@types/react-dom": "^19.1.9",
|
|
57
|
+
"@vitejs/plugin-react": "^5.0.2",
|
|
58
58
|
"@vitest/browser": "^3.2.4",
|
|
59
59
|
"@vitest/coverage-v8": "^3.2.4",
|
|
60
60
|
"babel-plugin-react-compiler": "^19.1.0-rc.2",
|
|
61
|
-
"eslint": "^9.
|
|
61
|
+
"eslint": "^9.34.0",
|
|
62
62
|
"glob": "^11.0.3",
|
|
63
63
|
"npm-run-all2": "^8.0.4",
|
|
64
|
-
"playwright": "^1.
|
|
64
|
+
"playwright": "^1.55.0",
|
|
65
65
|
"prettier": "^3.6.2",
|
|
66
66
|
"react-dropzone": "^14.3.8",
|
|
67
67
|
"react-toastify": "^11.0.5",
|
|
68
68
|
"remark-gfm": "^4.0.1",
|
|
69
|
-
"storybook": "^9.1.
|
|
69
|
+
"storybook": "^9.1.3",
|
|
70
70
|
"stylelint": "^16.23.1",
|
|
71
71
|
"tslib": "^2.8.1",
|
|
72
72
|
"typescript": "^5.9.2",
|
|
73
|
-
"vite": "^7.1.
|
|
74
|
-
"vite-plugin-checker": "^0.10.
|
|
73
|
+
"vite": "^7.1.3",
|
|
74
|
+
"vite-plugin-checker": "^0.10.3",
|
|
75
75
|
"vite-plugin-dts": "^4.5.4",
|
|
76
76
|
"vite-plugin-lib-inject-css": "^2.2.2",
|
|
77
77
|
"vitest": "^3.2.4"
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"@mui/icons-material": "^7.3.1",
|
|
83
83
|
"@mui/material": "^7.3.1",
|
|
84
84
|
"@mui/x-data-grid": "*",
|
|
85
|
-
"@tanstack/react-form": "^1.19.
|
|
85
|
+
"@tanstack/react-form": "^1.19.2",
|
|
86
86
|
"@tanstack/react-router": "*",
|
|
87
87
|
"react": "^19.1.1",
|
|
88
88
|
"react-dom": "^19.1.1",
|