@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.
@@ -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;IAC9B;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;CAC5D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,2CAuJ/C"}
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, v) => /* @__PURE__ */ i(g, { "aria-label": o.label, component: c, disableRipple: !0, divider: o.divider ?? !1, onClick: (f) => {
64
- f.stopPropagation(), e.setSelectedPage(e.index), l();
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
- ] }, v)) }));
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":";;;;;;;AAqGO,SAASA,EAAYC,GAAsB;AAChD,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAA6B,IAAI,GAC3D,CAACC,GAAMC,CAAO,IAAIF,EAAS,EAAK;AAEtC,WAASG,EAAeC,GAA6D;AACnFF,IAAAA,EAAQ,EAAI,GACZH,EAAYK,EAAMC,aAAa;AAAA,EACjC;AAEA,WAASC,IAAkB;AACzBJ,IAAAA,EAAQ,EAAK,GACbH,EAAY,IAAI;AAAA,EAClB;AAEA,WAASQ,IAAY;AACnB,WAAIV,EAAMW,KAAKC,eACN;AAAA,MAAEC,MAAMb,EAAMW,KAAKG;AAAAA,IAAAA,IAEnB;AAAA,MAAEA,IAAId,EAAMW,KAAKG;AAAAA,IAAAA;AAAAA,EAE5B;AAEA,SACE,gBAAAC,EAACC,GAAA,EACC,GAAIN,EAAAA,GACJ,iBAAeV,EAAMW,KAAKM,UAAUC,UAAUd,IAAO,YAAYe,QACjE,iBAAenB,EAAMW,KAAKM,UAAUC,UAAUd,IAAO,SAASe,QAC9D,iBAAenB,EAAMW,KAAKM,UAAUC,SAAS,SAAS,SACtD,cAAYlB,EAAMW,KAAKS,OACvB,WAAWpB,EAAMW,KAAKG,MAAM,CAACd,EAAMW,KAAKC,eAAeS,IAAOC,GAC9D,KAAKtB,EAAMuB,OACX,SAAS,MAAMvB,EAAMwB,gBAAgBxB,EAAMuB,KAAK,GAChD,cAAc,CAAChB,MAAgED,EAAeC,CAAK,GACnG,cAAc,MAAME,EAAAA,GACpB,MAAK,YACL,UAAUT,EAAMyB,iBAAiBzB,EAAMuB,OACvC,IAAI;AAAA,IACFG,QAAQ;AAAA,IACRC,cAAc;AAAA,IACdC,SAAS;AAAA,IAET,UAAU;AAAA,MACRC,iBAAiB;AAAA,MACjB,GAAI7B,EAAMW,KAAKG,MAAM;AAAA,QACnBgB,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,IAGF,CAAC,KAAKC,EAAgBC,QAAQ,EAAE,GAAG;AAAA,MACjCH,iBAAiB;AAAA,MACjBI,mBAAmB;AAAA,MACnB,UAAU;AAAA,QACRJ,iBAAiB;AAAA,MAAA;AAAA,IACnB;AAAA,EACF,GAEF,OAAO7B,EAAMW,KAAKS,MAAAA,GAElB,gBAAAc,EAACC,GAAA,EACC,eAAW,IACX,WAAU,QACV,IAAIC,EAAAA,MACF;AAAA,IACEC,SAAS;AAAA,IACTC,YAAY;AAAA,IAEZ,CAAC,KAAKC,EAAeC,IAAI,EAAE,GAAG;AAAA,MAC5BC,aAAa;AAAA,IAAA;AAAA,EACf,GAEFC,CACF,GACA,SAAQ,SAEP1C,UAAAA;AAAAA,IAAAA,EAAMuB,UAAU,KAAK,gBAAAoB,EAACC,GAAA,CAAA,CAAQ;AAAA,IAC9B5C,EAAMW,KAAKS;AAAAA,IACXpB,EAAMW,KAAKM,UAAUC,SAAS,gBAAAyB,EAACE,KAAqB,IAAM;AAAA,EAAA,EAAA,CAC7D,GACC7C,EAAMW,KAAKM,8BACT6B,GAAA,EACC,UAAA7C,GACA,IAAG,WACH,MAAAG,GACA,WAAU,gBACV,MAAK,QACL,IAAI;AAAA,IACFyB,iBAAiB;AAAA,IACjBD,SAAS;AAAA,IACTmB,cAAc;AAAA,IACdC,WAAW;AAAA,IACXC,UAAU;AAAA,IACVC,OAAO;AAAA,IACPC,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,GAQZnD,YAAMW,KAAKM,UAAUmC,IAAI,CAACC,GAAS9B,MAClC,gBAAAW,EAAClB,GAAA,EACC,cAAYqC,EAAQjC,OACpB,WAAWC,GACX,eAAa,IACb,SAASgC,EAAQC,WAAW,IAE5B,SAAU/C,CAAAA,MAAU;AAClBA,IAAAA,EAAMgD,gBAAAA,GACNvD,EAAMwB,gBAAgBxB,EAAMuB,KAAK,GACjCd,EAAAA;AAAAA,EACF,GACA,IAAI2B,QACF;AAAA,IACE,WAAW;AAAA,MACTP,iBAAiB;AAAA,IAAA;AAAA,IAGnB,CAAC,KAAKE,EAAgBuB,OAAO,EAAE,GAAG;AAAA,MAChC3B,cAAc;AAAA,MACd6B,UAAU;AAAA,MACVC,cAAc;AAAA,MAEd,WAAW;AAAA,QACTC,SAAS;AAAA,QACTF,UAAU;AAAA,QACVG,QAAQ;AAAA,QACRC,MAAM;AAAA,QACNC,OAAO;AAAA,QACPlC,cAAc;AAAA,MAAA;AAAA,IAChB;AAAA,IAGF,CAAC,KAAKY,EAAeC,IAAI,EAAE,GAAG;AAAA,MAC5BsB,UAAU;AAAA,MACVZ,OAAO;AAAA,MACPT,aAAa;AAAA,IAAA;AAAA,EACf,GAEFC,CACF,GACA,IAAIW,EAAQvC,IAEXuC,UAAAA;AAAAA,IAAAA,EAAQU;AAAAA,IACRV,EAAQjC;AAAAA,EAAAA,KAtCJG,CAuCP,CACD,EAAA,CACH,CAEJ;AAEJ;"}
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":"AAIA,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,2CAiG5D"}
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 n, jsxs as y } from "react/jsx-runtime";
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 R, AppBar as W, Toolbar as A } from "@mui/material";
4
- import { l as I } from "../../../chunks/lodash.CA_K01A9.js";
5
- import { useState as M, useEffect as S } from "react";
6
- import { FontNormalSxProps as P } from "../../../_constants.js";
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 T } from "../../atoms/_menu/user-menu/UserMenu.js";
9
- function U(t) {
10
- const e = B.c(28), [o, k] = M(0);
11
- let m, b;
12
- e[0] === Symbol.for("react.memo_cache_sentinel") ? (m = () => {
13
- const r = window.sessionStorage.getItem("activeMenuTab");
14
- r && k(JSON.parse(r));
15
- }, b = [], e[0] = m, e[1] = b) : (m = e[0], b = e[1]), S(m, b);
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[5] === Symbol.for("react.memo_cache_sentinel") ? (g = I.merge({
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
- }, P), e[5] = g) : g = e[5];
23
+ }, j), e[4] = g) : g = e[4];
27
24
  let u;
28
- e[6] === Symbol.for("react.memo_cache_sentinel") ? (u = {
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[6] = u) : u = e[6];
66
- const w = t.homePath ?? "/";
67
- let l;
68
- e[7] !== t.name || e[8] !== w ? (l = {
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: w
71
- }, e[7] = t.name, e[8] = w, e[9] = l) : l = e[9];
72
- let i;
73
- e[10] !== o || e[11] !== l ? (i = /* @__PURE__ */ n(p, { index: 0, page: l, selectedPage: o, setSelectedPage: k }), e[10] = o, e[11] = l, e[12] = i) : i = e[12];
74
- let h;
75
- e[13] === Symbol.for("react.memo_cache_sentinel") ? (h = {
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[13] = h) : h = e[13];
80
- let a;
81
- if (e[14] !== t.pages || e[15] !== o) {
82
- let r;
83
- e[17] !== o ? (r = (_, v) => /* @__PURE__ */ n(p, { index: v + 1, page: _, selectedPage: o, setSelectedPage: k }, v), e[17] = o, e[18] = r) : r = e[18], a = t.pages.map(r), e[14] = t.pages, e[15] = o, e[16] = a;
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
- a = e[16];
82
+ i = e[15];
86
83
  let s;
87
- e[19] !== a ? (s = /* @__PURE__ */ n(R, { sx: h, children: a }), e[19] = a, e[20] = s) : s = e[20];
88
- let c;
89
- e[21] !== t.settings || e[22] !== t.username ? (c = /* @__PURE__ */ n(T, { settings: t.settings, username: t.username }), e[21] = t.settings, e[22] = t.username, e[23] = c) : c = e[23];
90
- let x;
91
- return e[24] !== s || e[25] !== c || e[26] !== i ? (x = /* @__PURE__ */ n(W, { position: "static", sx: g, children: /* @__PURE__ */ y(A, { role: "menu", sx: u, tabIndex: 0, children: [
92
- i,
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
- c
95
- ] }) }), e[24] = s, e[25] = c, e[26] = i, e[27] = x) : x = e[27], x;
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
- U as AoaNavigationBar
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>(0);\n\n useEffect(() => {\n const sessionStorage = window.sessionStorage.getItem('activeMenuTab');\n if (sessionStorage) {\n setSelectedPage(JSON.parse(sessionStorage));\n }\n }, []);\n\n useEffect(() => {\n window.sessionStorage.setItem('activeMenuTab', selectedPage.toString());\n }, [selectedPage]);\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","t0","t1","Symbol","for","sessionStorage","window","getItem","JSON","parse","useEffect","t2","t3","setItem","toString","t4","merge","color","backgroundColor","height","boxShadow","FontNormalSxProps","t5","overflowX","scrollbarWidth","scrollbarColor","overflow","borderRadius","width","WebkitBorderRadius","background","opacity","transition","WebkitTransition","border","t6","homePath","t7","name","label","to","t8","AoaMenuItem","t9","flexGrow","display","t10","pages","t11","page","index","jsx","map","Box","t12","settings","username","AoaUserMenu","t13","AppBar","jsxs","Toolbar"],"mappings":"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"}
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.0",
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.5",
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.0",
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.0",
44
- "@mui/x-data-grid-generator": "^8.10.0",
45
- "@storybook/addon-a11y": "^9.1.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.1",
48
- "@storybook/addon-onboarding": "^9.1.1",
49
- "@storybook/addon-themes": "^9.1.1",
50
- "@storybook/addon-vitest": "9.1.1",
51
- "@storybook/react-vite": "^9.1.1",
52
- "@tanstack/react-form": "1.19.1",
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.9",
56
- "@types/react-dom": "^19.1.7",
57
- "@vitejs/plugin-react": "^5.0.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.33.0",
61
+ "eslint": "^9.34.0",
62
62
  "glob": "^11.0.3",
63
63
  "npm-run-all2": "^8.0.4",
64
- "playwright": "^1.54.2",
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.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.1",
74
- "vite-plugin-checker": "^0.10.2",
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.1",
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",