@rws-aoa/react-library 3.6.2 → 3.6.4

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.
Files changed (112) hide show
  1. package/dist/_constants.d.ts +0 -4
  2. package/dist/_constants.d.ts.map +1 -1
  3. package/dist/_constants.js.map +1 -1
  4. package/dist/chunks/index.DJYQ_-zP.js +489 -0
  5. package/dist/chunks/{index.CtmQWjvP.js.map → index.DJYQ_-zP.js.map} +1 -1
  6. package/dist/components/atoms/_menu/menu-item/MenuItem.d.ts +51 -25
  7. package/dist/components/atoms/_menu/menu-item/MenuItem.d.ts.map +1 -1
  8. package/dist/components/atoms/_menu/menu-item/MenuItem.js +23 -23
  9. package/dist/components/atoms/_menu/menu-item/MenuItem.js.map +1 -1
  10. package/dist/components/atoms/_menu/user-menu/UserMenu.d.ts +27 -15
  11. package/dist/components/atoms/_menu/user-menu/UserMenu.d.ts.map +1 -1
  12. package/dist/components/atoms/_menu/user-menu/UserMenu.js +25 -25
  13. package/dist/components/atoms/_menu/user-menu/UserMenu.js.map +1 -1
  14. package/dist/components/atoms/button/Button.d.ts +10 -6
  15. package/dist/components/atoms/button/Button.d.ts.map +1 -1
  16. package/dist/components/atoms/button/Button.js +4 -4
  17. package/dist/components/atoms/button/Button.js.map +1 -1
  18. package/dist/components/atoms/icon-button/IconButton.d.ts +30 -16
  19. package/dist/components/atoms/icon-button/IconButton.d.ts.map +1 -1
  20. package/dist/components/atoms/icon-button/IconButton.js +43 -40
  21. package/dist/components/atoms/icon-button/IconButton.js.map +1 -1
  22. package/dist/components/atoms/input/Input.d.ts +10 -6
  23. package/dist/components/atoms/input/Input.d.ts.map +1 -1
  24. package/dist/components/atoms/input/Input.js +3 -3
  25. package/dist/components/atoms/input/Input.js.map +1 -1
  26. package/dist/components/atoms/logo/Logo.d.ts +9 -5
  27. package/dist/components/atoms/logo/Logo.d.ts.map +1 -1
  28. package/dist/components/atoms/logo/Logo.js +87 -87
  29. package/dist/components/atoms/logo/Logo.js.map +1 -1
  30. package/dist/components/atoms/no-permission/NoPermission.d.ts +10 -6
  31. package/dist/components/atoms/no-permission/NoPermission.d.ts.map +1 -1
  32. package/dist/components/atoms/no-permission/NoPermission.js +2 -2
  33. package/dist/components/atoms/no-permission/NoPermission.js.map +1 -1
  34. package/dist/components/atoms/notification/Notification.d.ts +19 -11
  35. package/dist/components/atoms/notification/Notification.d.ts.map +1 -1
  36. package/dist/components/atoms/notification/Notification.js +8 -8
  37. package/dist/components/atoms/notification/Notification.js.map +1 -1
  38. package/dist/components/atoms/notification/_icons/Error.js +10 -10
  39. package/dist/components/atoms/notification/_icons/Error.js.map +1 -1
  40. package/dist/components/atoms/notification/_icons/Info.js +11 -11
  41. package/dist/components/atoms/notification/_icons/Info.js.map +1 -1
  42. package/dist/components/atoms/notification/_icons/Success.js +11 -11
  43. package/dist/components/atoms/notification/_icons/Success.js.map +1 -1
  44. package/dist/components/atoms/notification/_icons/Warning.js +9 -9
  45. package/dist/components/atoms/notification/_icons/Warning.js.map +1 -1
  46. package/dist/components/atoms/section-header/SectionHeader.d.ts +12 -9
  47. package/dist/components/atoms/section-header/SectionHeader.d.ts.map +1 -1
  48. package/dist/components/atoms/section-header/SectionHeader.js +3 -3
  49. package/dist/components/atoms/section-header/SectionHeader.js.map +1 -1
  50. package/dist/components/atoms/selection-buttons/checkbox/Checkbox.d.ts +15 -9
  51. package/dist/components/atoms/selection-buttons/checkbox/Checkbox.d.ts.map +1 -1
  52. package/dist/components/atoms/selection-buttons/checkbox/Checkbox.js +7 -7
  53. package/dist/components/atoms/selection-buttons/checkbox/Checkbox.js.map +1 -1
  54. package/dist/components/atoms/selection-buttons/radio-button/RadioButton.d.ts +14 -8
  55. package/dist/components/atoms/selection-buttons/radio-button/RadioButton.d.ts.map +1 -1
  56. package/dist/components/atoms/selection-buttons/radio-button/RadioButton.js +4 -4
  57. package/dist/components/atoms/selection-buttons/radio-button/RadioButton.js.map +1 -1
  58. package/dist/components/atoms/selection-buttons/switch-button/SwitchButton.d.ts +14 -8
  59. package/dist/components/atoms/selection-buttons/switch-button/SwitchButton.d.ts.map +1 -1
  60. package/dist/components/atoms/selection-buttons/switch-button/SwitchButton.js +3 -3
  61. package/dist/components/atoms/selection-buttons/switch-button/SwitchButton.js.map +1 -1
  62. package/dist/components/atoms/table/Table.d.ts +67 -36
  63. package/dist/components/atoms/table/Table.d.ts.map +1 -1
  64. package/dist/components/atoms/table/Table.js +80 -62
  65. package/dist/components/atoms/table/Table.js.map +1 -1
  66. package/dist/components/atoms/table/_QuickSearchToolbar.d.ts +4 -5
  67. package/dist/components/atoms/table/_QuickSearchToolbar.d.ts.map +1 -1
  68. package/dist/components/atoms/table/_QuickSearchToolbar.js +1 -1
  69. package/dist/components/atoms/table/_QuickSearchToolbar.js.map +1 -1
  70. package/dist/components/atoms/zero-width-space/ZeroWidthSpace.d.ts +2 -2
  71. package/dist/components/atoms/zero-width-space/ZeroWidthSpace.d.ts.map +1 -1
  72. package/dist/components/atoms/zero-width-space/ZeroWidthSpace.js +1 -1
  73. package/dist/components/atoms/zero-width-space/ZeroWidthSpace.js.map +1 -1
  74. package/dist/components/molecules/file-dropzone/FileDropzone.d.ts +56 -32
  75. package/dist/components/molecules/file-dropzone/FileDropzone.d.ts.map +1 -1
  76. package/dist/components/molecules/file-dropzone/FileDropzone.js +24 -25
  77. package/dist/components/molecules/file-dropzone/FileDropzone.js.map +1 -1
  78. package/dist/components/molecules/file-table/FileTable.d.ts +18 -10
  79. package/dist/components/molecules/file-table/FileTable.d.ts.map +1 -1
  80. package/dist/components/molecules/file-table/FileTable.js +4 -4
  81. package/dist/components/molecules/file-table/FileTable.js.map +1 -1
  82. package/dist/components/molecules/form-error/FormError.d.ts +1 -2
  83. package/dist/components/molecules/form-error/FormError.d.ts.map +1 -1
  84. package/dist/components/molecules/form-error/FormError.js +1 -1
  85. package/dist/components/molecules/form-error/FormError.js.map +1 -1
  86. package/dist/components/molecules/form-modal/FormModal.d.ts +29 -14
  87. package/dist/components/molecules/form-modal/FormModal.d.ts.map +1 -1
  88. package/dist/components/molecules/form-modal/FormModal.js +10 -10
  89. package/dist/components/molecules/form-modal/FormModal.js.map +1 -1
  90. package/dist/components/molecules/modal/Modal.d.ts +45 -23
  91. package/dist/components/molecules/modal/Modal.d.ts.map +1 -1
  92. package/dist/components/molecules/modal/Modal.js +2 -2
  93. package/dist/components/molecules/modal/Modal.js.map +1 -1
  94. package/dist/components/molecules/modal-close-button/ModalCloseButton.d.ts +4 -2
  95. package/dist/components/molecules/modal-close-button/ModalCloseButton.d.ts.map +1 -1
  96. package/dist/components/molecules/modal-close-button/ModalCloseButton.js +1 -1
  97. package/dist/components/molecules/modal-close-button/ModalCloseButton.js.map +1 -1
  98. package/dist/components/molecules/navigation-bar/NavigationBar.d.ts +22 -12
  99. package/dist/components/molecules/navigation-bar/NavigationBar.d.ts.map +1 -1
  100. package/dist/components/molecules/navigation-bar/NavigationBar.js +2 -2
  101. package/dist/components/molecules/navigation-bar/NavigationBar.js.map +1 -1
  102. package/dist/components/molecules/upload-button/UploadButton.d.ts +20 -12
  103. package/dist/components/molecules/upload-button/UploadButton.d.ts.map +1 -1
  104. package/dist/components/molecules/upload-button/UploadButton.js +3 -3
  105. package/dist/components/molecules/upload-button/UploadButton.js.map +1 -1
  106. package/dist/components/organisms/content-page/ContentPage.d.ts +7 -5
  107. package/dist/components/organisms/content-page/ContentPage.d.ts.map +1 -1
  108. package/dist/components/organisms/content-page/ContentPage.js +1 -1
  109. package/dist/components/organisms/content-page/ContentPage.js.map +1 -1
  110. package/dist/css/styles.css +6 -6
  111. package/package.json +33 -34
  112. package/dist/chunks/index.CtmQWjvP.js +0 -486
@@ -1,6 +1,8 @@
1
1
  export interface AoaModalCloseButtonProps {
2
- /** The action to trigger to close this modal */
3
- closeAction(): void;
2
+ /**
3
+ * The action to trigger to close this modal
4
+ */
5
+ closeAction(this: void): void;
4
6
  }
5
7
  export declare const AoaModalCloseButton: import('react').MemoExoticComponent<({ closeAction }: AoaModalCloseButtonProps) => import("react/jsx-runtime").JSX.Element>;
6
8
  //# sourceMappingURL=ModalCloseButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalCloseButton.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/modal-close-button/ModalCloseButton.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,wBAAwB;IACvC,gDAAgD;IAChD,WAAW,IAAI,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,wDAA0B,wBAAwB,6CAYhF,CAAC"}
1
+ {"version":3,"file":"ModalCloseButton.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/modal-close-button/ModalCloseButton.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CAC/B;AAED,eAAO,MAAM,mBAAmB,wDAA0B,wBAAwB,6CAYhF,CAAC"}
@@ -5,8 +5,8 @@ import { AoaIconButton as l } from "../../atoms/icon-button/IconButton.js";
5
5
  const a = r(({ closeAction: t }) => /* @__PURE__ */ o(
6
6
  l,
7
7
  {
8
- inline: !0,
9
8
  icon: /* @__PURE__ */ o(i, {}),
9
+ inline: !0,
10
10
  label: "Modaal sluiten",
11
11
  onClick: t,
12
12
  sx: {
@@ -1 +1 @@
1
- {"version":3,"file":"ModalCloseButton.js","sources":["../../../../src/components/molecules/modal-close-button/ModalCloseButton.tsx"],"sourcesContent":["import { Close as CloseIcon } from \"@mui/icons-material\";\nimport { memo } from \"react\";\nimport { AoaIconButton } from \"../../atoms/icon-button/IconButton\";\n\nexport interface AoaModalCloseButtonProps {\n /** The action to trigger to close this modal */\n closeAction(): void;\n}\n\nexport const AoaModalCloseButton = memo(({ closeAction }: AoaModalCloseButtonProps) => (\n <AoaIconButton\n inline\n icon={<CloseIcon />}\n label=\"Modaal sluiten\"\n onClick={closeAction}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8\n }}\n />\n));\n"],"names":["AoaModalCloseButton","memo","closeAction","jsx","AoaIconButton","CloseIcon"],"mappings":";;;;AASO,MAAMA,IAAsBC,EAAK,CAAC,EAAE,aAAAC,EACzC,MAAA,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,QAAM;AAAA,IACN,wBAAOC,GAAU,EAAA;AAAA,IACjB,OAAM;AAAA,IACN,SAASH;AAAA,IACT,IAAI;AAAA,MACF,UAAU;AAAA,MACV,OAAO;AAAA,MACP,KAAK;AAAA,IACP;AAAA,EAAA;AACF,CACD;"}
1
+ {"version":3,"file":"ModalCloseButton.js","sources":["../../../../src/components/molecules/modal-close-button/ModalCloseButton.tsx"],"sourcesContent":["import { Close as CloseIcon } from \"@mui/icons-material\";\nimport { memo } from \"react\";\nimport { AoaIconButton } from \"../../atoms/icon-button/IconButton\";\n\nexport interface AoaModalCloseButtonProps {\n /**\n * The action to trigger to close this modal\n */\n closeAction(this: void): void;\n}\n\nexport const AoaModalCloseButton = memo(({ closeAction }: AoaModalCloseButtonProps) => (\n <AoaIconButton\n icon={<CloseIcon />}\n inline\n label=\"Modaal sluiten\"\n onClick={closeAction}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8\n }}\n />\n));\n"],"names":["AoaModalCloseButton","memo","closeAction","jsx","AoaIconButton","CloseIcon"],"mappings":";;;;AAWO,MAAMA,IAAsBC,EAAK,CAAC,EAAE,aAAAC,EACzC,MAAA,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,wBAAOC,GAAU,EAAA;AAAA,IACjB,QAAM;AAAA,IACN,OAAM;AAAA,IACN,SAASH;AAAA,IACT,IAAI;AAAA,MACF,UAAU;AAAA,MACV,OAAO;AAAA,MACP,KAAK;AAAA,IAAA;AAAA,EACP;AACF,CACD;"}
@@ -1,22 +1,32 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { AoaPage } from '../../atoms/_menu/menu-item/MenuItem';
3
3
  import { AoaSetting } from '../../atoms/_menu/user-menu/UserMenu';
4
-
5
4
  export interface AoaNavigationBarProps {
6
- /** The name of the application that will be used for the Home tab */
7
- name: string;
8
- /** A list of all the pages and optional subpages to be shown in the menu */
9
- pages: AoaPage[];
10
- /** A list of all the settings to be shown in the menu */
11
- settings: AoaSetting[];
12
- /** If your home page is not on the root url, use this prop to set the home path */
13
- homePath?: string;
14
- /** Optional username to be displayed next to the settings menu */
15
- username?: string;
5
+ /**
6
+ * If your home page is not on the root url, use this prop to set the home path
7
+ */
8
+ readonly homePath?: string;
9
+ /**
10
+ * The name of the application that will be used for the Home tab
11
+ */
12
+ readonly name: string;
13
+ /**
14
+ * A list of all the pages and optional subpages to be shown in the menu
15
+ */
16
+ readonly pages: AoaPage[];
17
+ /**
18
+ * A list of all the settings to be shown in the menu
19
+ */
20
+ readonly settings: AoaSetting[];
21
+ /**
22
+ * Optional username to be displayed next to the settings menu
23
+ */
24
+ readonly username?: string;
16
25
  }
17
26
  /**
18
27
  * Constructs a navigation bar using pre-defined Rijks styling
19
- * @param props Props to pass to the navigation bar
28
+ *
29
+ * @param props - Props to pass to the navigation bar
20
30
  * @example
21
31
  * ```jsx
22
32
  * <AoaNavigationBar
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationBar.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/navigation-bar/NavigationBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAEpF,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,yDAAyD;IACzD,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,eAAO,MAAM,gBAAgB,8CAAgB,qBAAqB,KAAG,SAAS,CAyF5E,CAAC"}
1
+ {"version":3,"file":"NavigationBar.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/navigation-bar/NavigationBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,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,eAAO,MAAM,gBAAgB,8CAAgB,qBAAqB,KAAG,SAAS,CAyF5E,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as o, jsxs as c } from "react/jsx-runtime";
2
2
  import { AppBar as b, Toolbar as n, Box as d } from "@mui/material";
3
- import { m } from "../../../chunks/index.CtmQWjvP.js";
3
+ import { m } from "../../../chunks/index.DJYQ_-zP.js";
4
4
  import { memo as g, useState as u, useEffect as s } from "react";
5
5
  import { FontNormalSxProps as w } from "../../../_constants.js";
6
6
  import { AoaMenuItem as l } from "../../atoms/_menu/menu-item/MenuItem.js";
@@ -71,7 +71,7 @@ const M = g((r) => {
71
71
  l,
72
72
  {
73
73
  index: 0,
74
- page: { label: r.name, to: r.homePath || "/" },
74
+ page: { label: r.name, to: r.homePath ?? "/" },
75
75
  selectedPage: e,
76
76
  setSelectedPage: a
77
77
  }
@@ -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.merge\";\nimport { memo, useEffect, useState, type ReactNode } 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 /** The name of the application that will be used for the Home tab */\n name: string;\n /** A list of all the pages and optional subpages to be shown in the menu */\n pages: AoaPage[];\n /** A list of all the settings to be shown in the menu */\n settings: AoaSetting[];\n /** If your home page is not on the root url, use this prop to set the home path */\n homePath?: string;\n /** Optional username to be displayed next to the settings menu */\n username?: string;\n}\n\n/**\n * Constructs a navigation bar using pre-defined Rijks styling\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 const AoaNavigationBar = memo((props: AoaNavigationBarProps): ReactNode => {\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 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 \"-webkit-border-radius\": \"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 \"-webkit-transition\": \"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 \"-webkit-border-radius\": \"100px\"\n },\n\n \"::-webkit-scrollbar-thumb:vertical:active\": {\n background: \"rgba(100, 100, 100, .61)\",\n \"-webkit-border-radius\": \"100px\"\n }\n }}\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 key={index} index={index + 1} page={page} selectedPage={selectedPage} setSelectedPage={setSelectedPage} />\n ))}\n </Box>\n <AoaUserMenu settings={props.settings} username={props.username} />\n </Toolbar>\n </AppBar>\n );\n});\n"],"names":["AoaNavigationBar","memo","props","selectedPage","setSelectedPage","useState","useEffect","sessionStorage","jsx","AppBar","merge","FontNormalSxProps","jsxs","Toolbar","AoaMenuItem","Box","page","index","AoaUserMenu"],"mappings":";;;;;;;AA+Ca,MAAAA,IAAmBC,EAAK,CAACC,MAA4C;AAChF,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAiB,CAAC;AAE1D,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAiB,OAAO,eAAe,QAAQ,eAAe;AACpE,IAAIA,KACcH,EAAA,KAAK,MAAMG,CAAc,CAAC;AAAA,EAE9C,GAAG,CAAE,CAAA,GAELD,EAAU,MAAM;AACd,WAAO,eAAe,QAAQ,iBAAiBH,EAAa,UAAU;AAAA,EAAA,GACrE,CAACA,CAAY,CAAC,GAGf,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,UAAS;AAAA,MACT,IAAIC;AAAA,QACF;AAAA,UACE,OAAO;AAAA,UACP,iBAAiB;AAAA,UACjB,QAAQ;AAAA,UACR,WAAW;AAAA,QACb;AAAA,QACAC;AAAA,MACF;AAAA,MAEA,UAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,IAAI;AAAA,YACF,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,gBAAgB;AAAA,YAChB,gBAAgB;AAAA,YAEhB,uBAAuB;AAAA,cACrB,UAAU;AAAA,cACV,cAAc;AAAA,cACd,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,yBAAyB;AAAA,YAC3B;AAAA,YAEA,6BAA6B;AAAA,cAC3B,YAAY;AAAA,YACd;AAAA,YAEA,8BAA8B;AAAA,cAC5B,YAAY;AAAA,YACd;AAAA,YAEA,6BAA6B;AAAA,cAC3B,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,sBAAsB;AAAA,YACxB;AAAA,YAEA,6BAA6B;AAAA,cAC3B,UAAU;AAAA,cACV,iBAAiB;AAAA,cACjB,cAAc;AAAA,cACd,QAAQ;AAAA,YACV;AAAA,YAEA,sCAAsC;AAAA,cACpC,YAAY;AAAA,cACZ,yBAAyB;AAAA,YAC3B;AAAA,YAEA,6CAA6C;AAAA,cAC3C,YAAY;AAAA,cACZ,yBAAyB;AAAA,YAC3B;AAAA,UACF;AAAA,UAEA,UAAA;AAAA,YAAA,gBAAAL;AAAA,cAACM;AAAA,cAAA;AAAA,gBACC,OAAO;AAAA,gBACP,MAAM,EAAE,OAAOZ,EAAM,MAAM,IAAIA,EAAM,YAAY,IAAI;AAAA,gBACrD,cAAAC;AAAA,gBACA,iBAAAC;AAAA,cAAA;AAAA,YACF;AAAA,YACA,gBAAAI,EAACO,GAAI,EAAA,IAAI,EAAE,UAAU,GAAG,SAAS,QAAQ,QAAQ,OAAO,GACrD,UAAMb,EAAA,MAAM,IAAI,CAACc,GAAMC,MACrB,gBAAAT,EAAAM,GAAA,EAAwB,OAAOG,IAAQ,GAAG,MAAAD,GAAY,cAAAb,GAA4B,iBAAAC,EAAA,GAAjEa,CAAmG,CACtH,EACH,CAAA;AAAA,8BACCC,GAAY,EAAA,UAAUhB,EAAM,UAAU,UAAUA,EAAM,UAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MACnE;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
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.merge\";\nimport { memo, useEffect, useState, type ReactNode } 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 const AoaNavigationBar = memo((props: AoaNavigationBarProps): ReactNode => {\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 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 \"-webkit-border-radius\": \"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 \"-webkit-transition\": \"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 \"-webkit-border-radius\": \"100px\"\n },\n\n \"::-webkit-scrollbar-thumb:vertical:active\": {\n background: \"rgba(100, 100, 100, .61)\",\n \"-webkit-border-radius\": \"100px\"\n }\n }}\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 index={index + 1} key={index} page={page} selectedPage={selectedPage} setSelectedPage={setSelectedPage} />\n ))}\n </Box>\n <AoaUserMenu settings={props.settings} username={props.username} />\n </Toolbar>\n </AppBar>\n );\n});\n"],"names":["AoaNavigationBar","memo","props","selectedPage","setSelectedPage","useState","useEffect","sessionStorage","jsx","AppBar","merge","FontNormalSxProps","jsxs","Toolbar","AoaMenuItem","Box","page","index","AoaUserMenu"],"mappings":";;;;;;;AA0Da,MAAAA,IAAmBC,EAAK,CAACC,MAA4C;AAChF,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAiB,CAAC;AAE1D,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAiB,OAAO,eAAe,QAAQ,eAAe;AACpE,IAAIA,KACcH,EAAA,KAAK,MAAMG,CAAc,CAAC;AAAA,EAE9C,GAAG,EAAE,GAELD,EAAU,MAAM;AACd,WAAO,eAAe,QAAQ,iBAAiBH,EAAa,UAAU;AAAA,EAAA,GACrE,CAACA,CAAY,CAAC,GAGf,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,UAAS;AAAA,MACT,IAAIC;AAAA,QACF;AAAA,UACE,OAAO;AAAA,UACP,iBAAiB;AAAA,UACjB,QAAQ;AAAA,UACR,WAAW;AAAA,QACb;AAAA,QACAC;AAAA,MACF;AAAA,MAEA,UAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,IAAI;AAAA,YACF,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,gBAAgB;AAAA,YAChB,gBAAgB;AAAA,YAEhB,uBAAuB;AAAA,cACrB,UAAU;AAAA,cACV,cAAc;AAAA,cACd,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,yBAAyB;AAAA,YAC3B;AAAA,YAEA,6BAA6B;AAAA,cAC3B,YAAY;AAAA,YACd;AAAA,YAEA,8BAA8B;AAAA,cAC5B,YAAY;AAAA,YACd;AAAA,YAEA,6BAA6B;AAAA,cAC3B,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,sBAAsB;AAAA,YACxB;AAAA,YAEA,6BAA6B;AAAA,cAC3B,UAAU;AAAA,cACV,iBAAiB;AAAA,cACjB,cAAc;AAAA,cACd,QAAQ;AAAA,YACV;AAAA,YAEA,sCAAsC;AAAA,cACpC,YAAY;AAAA,cACZ,yBAAyB;AAAA,YAC3B;AAAA,YAEA,6CAA6C;AAAA,cAC3C,YAAY;AAAA,cACZ,yBAAyB;AAAA,YAAA;AAAA,UAE7B;AAAA,UAEA,UAAA;AAAA,YAAA,gBAAAL;AAAA,cAACM;AAAA,cAAA;AAAA,gBACC,OAAO;AAAA,gBACP,MAAM,EAAE,OAAOZ,EAAM,MAAM,IAAIA,EAAM,YAAY,IAAI;AAAA,gBACrD,cAAAC;AAAA,gBACA,iBAAAC;AAAA,cAAA;AAAA,YACF;AAAA,YACA,gBAAAI,EAACO,GAAI,EAAA,IAAI,EAAE,UAAU,GAAG,SAAS,QAAQ,QAAQ,OAAO,GACrD,UAAMb,EAAA,MAAM,IAAI,CAACc,GAAMC,MACrB,gBAAAT,EAAAM,GAAA,EAAY,OAAOG,IAAQ,GAAe,MAAAD,GAAY,cAAAb,GAA4B,iBAAAC,EAAA,GAA/Ca,CAAiF,CACtH,EACH,CAAA;AAAA,8BACCC,GAAY,EAAA,UAAUhB,EAAM,UAAU,UAAUA,EAAM,SAAU,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACnE;AAAA,EACF;AAEJ,CAAC;"}
@@ -1,27 +1,35 @@
1
1
  import { PropsWithChildren } from 'react';
2
2
  import { AoaButtonProps } from '../../atoms/button/Button';
3
-
4
- export interface AoaUploadButtonProps<TData> extends Omit<AoaButtonProps, "startIcon" | "disabled" | "type"> {
5
- /** The type of the button. This _cannot_ be a `text` style button like the base {@link AoaButton} */
6
- readonly type?: "primary" | "secondary";
7
- /** Whether the upload process is running. This controls whether a spinner is shown and the button is disabled */
8
- readonly isUploading: boolean;
3
+ export interface AoaUploadButtonProps<TData> extends Omit<AoaButtonProps, "disabled" | "startIcon" | "type"> {
9
4
  /**
10
- * The action to change {@link AoaUploadButtonProps.isUploading `isUploading`} to `true`
11
- * @param newState The new state of the `isUploading` flag
5
+ * The files that should be checked, required if {@link AoaUploadButtonProps.noFilesAllowed} is `false`
12
6
  */
13
- readonly setIsUploading: (newState: boolean) => void;
14
- /** The files that should be checked, required if {@link AoaUploadButtonProps.noFilesAllowed} is `false` */
15
7
  readonly files?: TData[];
16
- /** Whether the button should be disabled */
8
+ /**
9
+ * Whether the button should be disabled
10
+ */
17
11
  readonly isDisabled?: boolean;
18
12
  /**
19
13
  * Whether the button should never be disabled.
20
14
  * - If `true` the button never goes into a `disabled` state, regardless of other conditions
21
15
  * - If `false` the button will be disabled if there are no files provided
22
- * (through {@link AoaUploadButtonProps.files `files`}), or the upload progress is running
16
+ * (through {@link AoaUploadButtonProps.files | `files`}), or the upload progress is running
23
17
  */
24
18
  readonly isNeverDisabled?: boolean;
19
+ /**
20
+ * Whether the upload process is running. This controls whether a spinner is shown and the button is disabled
21
+ */
22
+ readonly isUploading: boolean;
23
+ /**
24
+ * The action to change {@link AoaUploadButtonProps.isUploading | `isUploading`} to `true`
25
+ *
26
+ * @param newState - The new state of the `isUploading` flag
27
+ */
28
+ setIsUploading(this: void, newState: boolean): void;
29
+ /**
30
+ * The type of the button. This _cannot_ be a `text` style button like the base {@link AoaButton}
31
+ */
32
+ readonly type?: "primary" | "secondary";
25
33
  }
26
34
  export declare function AoaUploadButton<TData>({ isUploading, isDisabled, children, sx, isNeverDisabled, type, files, setIsUploading, onClick, ...props }: PropsWithChildren<AoaUploadButtonProps<TData>>): import("react/jsx-runtime").JSX.Element;
27
35
  //# sourceMappingURL=UploadButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploadButton.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/upload-button/UploadButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3E,MAAM,WAAW,oBAAoB,CAAC,KAAK,CAAE,SAAQ,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IAC1G,qGAAqG;IACrG,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACxC,iHAAiH;IACjH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IAEH,QAAQ,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAErD,2GAA2G;IAC3G,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;IACzB,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,EACrC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,EAAE,EACF,eAAe,EACf,IAAI,EACJ,KAAK,EACL,cAAc,EACd,OAAO,EACP,GAAG,KAAK,EACT,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,2CAgBhD"}
1
+ {"version":3,"file":"UploadButton.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/upload-button/UploadButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3E,MAAM,WAAW,oBAAoB,CAAC,KAAK,CAAE,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IAC1G;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAEpD;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACzC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,EACrC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,EAAE,EACF,eAAe,EACf,IAAI,EACJ,KAAK,EACL,cAAc,EACd,OAAO,EACP,GAAG,KAAK,EACT,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,2CAgBhD"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import { CircularProgress as g } from "@mui/material";
3
- import { m as l } from "../../../chunks/index.CtmQWjvP.js";
3
+ import { m as l } from "../../../chunks/index.DJYQ_-zP.js";
4
4
  import { AoaButton as x } from "../../atoms/button/Button.js";
5
5
  function h({
6
6
  isUploading: t,
@@ -18,13 +18,13 @@ function h({
18
18
  x,
19
19
  {
20
20
  ...i,
21
+ disabled: s ? !1 : !!e || t || Object.keys(u ?? []).length < 1,
21
22
  onClick: (n) => {
22
23
  f(!0), r == null || r(n);
23
24
  },
24
- type: p ?? "primary",
25
25
  startIcon: t ? /* @__PURE__ */ o(g, { size: 20 }) : null,
26
- disabled: s ? !1 : !!e || t || Object.keys(u ?? []).length < 1,
27
26
  sx: l({ marginRight: 0 }, a),
27
+ type: p ?? "primary",
28
28
  children: m
29
29
  }
30
30
  );
@@ -1 +1 @@
1
- {"version":3,"file":"UploadButton.js","sources":["../../../../src/components/molecules/upload-button/UploadButton.tsx"],"sourcesContent":["import { CircularProgress } from \"@mui/material\";\nimport merge from \"lodash.merge\";\nimport type { PropsWithChildren } from \"react\";\nimport { AoaButton, type AoaButtonProps } from \"../../atoms/button/Button\";\n\nexport interface AoaUploadButtonProps<TData> extends Omit<AoaButtonProps, \"startIcon\" | \"disabled\" | \"type\"> {\n /** The type of the button. This _cannot_ be a `text` style button like the base {@link AoaButton} */\n readonly type?: \"primary\" | \"secondary\";\n /** Whether the upload process is running. This controls whether a spinner is shown and the button is disabled */\n readonly isUploading: boolean;\n /**\n * The action to change {@link AoaUploadButtonProps.isUploading `isUploading`} to `true`\n * @param newState The new state of the `isUploading` flag\n */\n // eslint-disable-next-line no-unused-vars\n readonly setIsUploading: (newState: boolean) => void;\n\n /** The files that should be checked, required if {@link AoaUploadButtonProps.noFilesAllowed} is `false` */\n readonly files?: TData[];\n /** Whether the button should be disabled */\n readonly isDisabled?: boolean;\n /**\n * Whether the button should never be disabled.\n * - If `true` the button never goes into a `disabled` state, regardless of other conditions\n * - If `false` the button will be disabled if there are no files provided\n * (through {@link AoaUploadButtonProps.files `files`}), or the upload progress is running\n */\n readonly isNeverDisabled?: boolean;\n}\n\nexport function AoaUploadButton<TData>({\n isUploading,\n isDisabled,\n children,\n sx,\n isNeverDisabled,\n type,\n files,\n setIsUploading,\n onClick,\n ...props\n}: PropsWithChildren<AoaUploadButtonProps<TData>>) {\n return (\n <AoaButton\n {...props}\n onClick={(event) => {\n setIsUploading(true);\n onClick?.(event);\n }}\n type={type ?? \"primary\"}\n startIcon={isUploading ? <CircularProgress size={20} /> : null}\n disabled={isNeverDisabled ? false : Boolean(isDisabled) || isUploading || Object.keys(files ?? []).length < 1}\n sx={merge({ marginRight: 0 }, sx)}\n >\n {children}\n </AoaButton>\n );\n}\n"],"names":["AoaUploadButton","isUploading","isDisabled","children","sx","isNeverDisabled","type","files","setIsUploading","onClick","props","jsx","AoaButton","event","CircularProgress","merge"],"mappings":";;;;AA8BO,SAASA,EAAuB;AAAA,EACrC,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,IAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAmD;AAE/C,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGF;AAAA,MACJ,SAAS,CAACG,MAAU;AAClB,QAAAL,EAAe,EAAI,GACnBC,KAAA,QAAAA,EAAUI;AAAA,MACZ;AAAA,MACA,MAAMP,KAAQ;AAAA,MACd,WAAWL,IAAc,gBAAAU,EAACG,GAAiB,EAAA,MAAM,GAAI,CAAA,IAAK;AAAA,MAC1D,UAAUT,IAAkB,KAAQ,EAAQH,KAAeD,KAAe,OAAO,KAAKM,KAAS,EAAE,EAAE,SAAS;AAAA,MAC5G,IAAIQ,EAAM,EAAE,aAAa,EAAA,GAAKX,CAAE;AAAA,MAE/B,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP;"}
1
+ {"version":3,"file":"UploadButton.js","sources":["../../../../src/components/molecules/upload-button/UploadButton.tsx"],"sourcesContent":["import { CircularProgress } from \"@mui/material\";\nimport merge from \"lodash.merge\";\nimport type { PropsWithChildren } from \"react\";\nimport { AoaButton, type AoaButtonProps } from \"../../atoms/button/Button\";\n\nexport interface AoaUploadButtonProps<TData> extends Omit<AoaButtonProps, \"disabled\" | \"startIcon\" | \"type\"> {\n /**\n * The files that should be checked, required if {@link AoaUploadButtonProps.noFilesAllowed} is `false`\n */\n readonly files?: TData[];\n /**\n * Whether the button should be disabled\n */\n readonly isDisabled?: boolean;\n /**\n * Whether the button should never be disabled.\n * - If `true` the button never goes into a `disabled` state, regardless of other conditions\n * - If `false` the button will be disabled if there are no files provided\n * (through {@link AoaUploadButtonProps.files | `files`}), or the upload progress is running\n */\n readonly isNeverDisabled?: boolean;\n\n /**\n * Whether the upload process is running. This controls whether a spinner is shown and the button is disabled\n */\n readonly isUploading: boolean;\n /**\n * The action to change {@link AoaUploadButtonProps.isUploading | `isUploading`} to `true`\n *\n * @param newState - The new state of the `isUploading` flag\n */\n setIsUploading(this: void, newState: boolean): void;\n\n /**\n * The type of the button. This _cannot_ be a `text` style button like the base {@link AoaButton}\n */\n readonly type?: \"primary\" | \"secondary\";\n}\n\nexport function AoaUploadButton<TData>({\n isUploading,\n isDisabled,\n children,\n sx,\n isNeverDisabled,\n type,\n files,\n setIsUploading,\n onClick,\n ...props\n}: PropsWithChildren<AoaUploadButtonProps<TData>>) {\n return (\n <AoaButton\n {...props}\n disabled={isNeverDisabled ? false : Boolean(isDisabled) || isUploading || Object.keys(files ?? []).length < 1}\n onClick={(event) => {\n setIsUploading(true);\n onClick?.(event);\n }}\n startIcon={isUploading ? <CircularProgress size={20} /> : null}\n sx={merge({ marginRight: 0 }, sx)}\n type={type ?? \"primary\"}\n >\n {children}\n </AoaButton>\n );\n}\n"],"names":["AoaUploadButton","isUploading","isDisabled","children","sx","isNeverDisabled","type","files","setIsUploading","onClick","props","jsx","AoaButton","event","CircularProgress","merge"],"mappings":";;;;AAuCO,SAASA,EAAuB;AAAA,EACrC,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,IAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAmD;AAE/C,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGF;AAAA,MACJ,UAAUL,IAAkB,KAAQ,EAAQH,KAAeD,KAAe,OAAO,KAAKM,KAAS,EAAE,EAAE,SAAS;AAAA,MAC5G,SAAS,CAACM,MAAU;AAClB,QAAAL,EAAe,EAAI,GACnBC,KAAA,QAAAA,EAAUI;AAAA,MACZ;AAAA,MACA,WAAWZ,IAAc,gBAAAU,EAACG,GAAiB,EAAA,MAAM,GAAI,CAAA,IAAK;AAAA,MAC1D,IAAIC,EAAM,EAAE,aAAa,EAAA,GAAKX,CAAE;AAAA,MAChC,MAAME,KAAQ;AAAA,MAEb,UAAAH;AAAA,IAAA;AAAA,EACH;AAEJ;"}
@@ -1,14 +1,16 @@
1
1
  import { PropsWithChildren } from 'react';
2
2
  import { AoaSectionHeaderProps } from '../../atoms/section-header/SectionHeader';
3
-
4
3
  export interface AoaContentPageProps {
5
- sectionHeaderProps: AoaSectionHeaderProps;
6
- /** Data-qa tag for E2E test purposes */
7
- "data-qa"?: string;
4
+ /**
5
+ * Data-qa tag for E2E test purposes
6
+ */
7
+ readonly "data-qa"?: string;
8
+ readonly sectionHeaderProps: AoaSectionHeaderProps;
8
9
  }
9
10
  /**
10
11
  * Constructs a basic page with a section header using pre-defined Rijks styling
11
- * @param props Props to pass to the content page
12
+ *
13
+ * @param props - Props to pass to the content page
12
14
  * @example
13
15
  * ```jsx
14
16
  * <AoaContentPage sectionHeaderProps={{ title: "This is a title" }}>I am a child!</AoaContentPage>
@@ -1 +1 @@
1
- {"version":3,"file":"ContentPage.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/content-page/ContentPage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAExG,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,mFAAqD,iBAAiB,CAAC,mBAAmB,CAAC,6CASpH,CAAC"}
1
+ {"version":3,"file":"ContentPage.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/content-page/ContentPage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAExG,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;CACpD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,mFAAqD,iBAAiB,CAAC,mBAAmB,CAAC,6CASpH,CAAC"}
@@ -2,7 +2,7 @@ import { jsx as o, jsxs as m } from "react/jsx-runtime";
2
2
  import { Container as e, Box as i } from "@mui/material";
3
3
  import { memo as n } from "react";
4
4
  import { AoaSectionHeader as p } from "../../atoms/section-header/SectionHeader.js";
5
- const l = n(({ children: r, sectionHeaderProps: a, ...t }) => /* @__PURE__ */ o(e, { maxWidth: "xl", children: /* @__PURE__ */ m(i, { marginTop: "calc(8 * 4px)", "data-qa": t["data-qa"], children: [
5
+ const l = n(({ children: r, sectionHeaderProps: a, ...t }) => /* @__PURE__ */ o(e, { maxWidth: "xl", children: /* @__PURE__ */ m(i, { "data-qa": t["data-qa"], marginTop: "calc(8 * 4px)", children: [
6
6
  /* @__PURE__ */ o(p, { ...a }),
7
7
  r
8
8
  ] }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"ContentPage.js","sources":["../../../../src/components/organisms/content-page/ContentPage.tsx"],"sourcesContent":["import { Box, Container } from \"@mui/material\";\nimport { memo, type PropsWithChildren } from \"react\";\nimport { AoaSectionHeader, type AoaSectionHeaderProps } from \"../../atoms/section-header/SectionHeader\";\n\nexport interface AoaContentPageProps {\n sectionHeaderProps: AoaSectionHeaderProps;\n /** Data-qa tag for E2E test purposes */\n \"data-qa\"?: string;\n}\n\n/**\n * Constructs a basic page with a section header using pre-defined Rijks styling\n * @param props Props to pass to the content page\n * @example\n * ```jsx\n * <AoaContentPage sectionHeaderProps={{ title: \"This is a title\" }}>I am a child!</AoaContentPage>\n * ```\n */\nexport const AoaContentPage = memo(({ children, sectionHeaderProps, ...props }: PropsWithChildren<AoaContentPageProps>) => {\n return (\n <Container maxWidth=\"xl\">\n <Box marginTop={\"calc(8 * 4px)\"} data-qa={props[\"data-qa\"]}>\n <AoaSectionHeader {...sectionHeaderProps} />\n {children}\n </Box>\n </Container>\n );\n});\n"],"names":["AoaContentPage","memo","children","sectionHeaderProps","props","jsx","Container","jsxs","Box","AoaSectionHeader"],"mappings":";;;;AAkBa,MAAAA,IAAiBC,EAAK,CAAC,EAAE,UAAAC,GAAU,oBAAAC,GAAoB,GAAGC,QAEnE,gBAAAC,EAACC,GAAU,EAAA,UAAS,MAClB,UAAA,gBAAAC,EAACC,GAAI,EAAA,WAAW,iBAAiB,WAASJ,EAAM,SAAS,GACvD,UAAA;AAAA,EAAC,gBAAAC,EAAAI,GAAA,EAAkB,GAAGN,GAAoB;AAAA,EACzCD;AAAA,EACH,CAAA,EACF,CAAA,CAEH;"}
1
+ {"version":3,"file":"ContentPage.js","sources":["../../../../src/components/organisms/content-page/ContentPage.tsx"],"sourcesContent":["import { Box, Container } from \"@mui/material\";\nimport { memo, type PropsWithChildren } from \"react\";\nimport { AoaSectionHeader, type AoaSectionHeaderProps } from \"../../atoms/section-header/SectionHeader\";\n\nexport interface AoaContentPageProps {\n /**\n * Data-qa tag for E2E test purposes\n */\n readonly \"data-qa\"?: string;\n readonly sectionHeaderProps: AoaSectionHeaderProps;\n}\n\n/**\n * Constructs a basic page with a section header using pre-defined Rijks styling\n *\n * @param props - Props to pass to the content page\n * @example\n * ```jsx\n * <AoaContentPage sectionHeaderProps={{ title: \"This is a title\" }}>I am a child!</AoaContentPage>\n * ```\n */\nexport const AoaContentPage = memo(({ children, sectionHeaderProps, ...props }: PropsWithChildren<AoaContentPageProps>) => {\n return (\n <Container maxWidth=\"xl\">\n <Box data-qa={props[\"data-qa\"]} marginTop=\"calc(8 * 4px)\">\n <AoaSectionHeader {...sectionHeaderProps} />\n {children}\n </Box>\n </Container>\n );\n});\n"],"names":["AoaContentPage","memo","children","sectionHeaderProps","props","jsx","Container","jsxs","Box","AoaSectionHeader"],"mappings":";;;;AAqBa,MAAAA,IAAiBC,EAAK,CAAC,EAAE,UAAAC,GAAU,oBAAAC,GAAoB,GAAGC,QAEnE,gBAAAC,EAACC,GAAU,EAAA,UAAS,MAClB,UAAA,gBAAAC,EAACC,GAAI,EAAA,WAASJ,EAAM,SAAS,GAAG,WAAU,iBACxC,UAAA;AAAA,EAAC,gBAAAC,EAAAI,GAAA,EAAkB,GAAGN,GAAoB;AAAA,EACzCD;AAAA,EAAA,CACH,EACF,CAAA,CAEH;"}
@@ -45,8 +45,8 @@
45
45
  /* TYPOGRAPHY */
46
46
 
47
47
  /* Font families */
48
- --font-text: "RijksoverheidSansText", verdana, arial, sans-serif;
49
- --font-heading: "RijksoverheidSansHeading", verdana, arial, sans-serif;
48
+ --font-text: 'RijksoverheidSansText', verdana, arial, sans-serif;
49
+ --font-heading: 'RijksoverheidSansHeading', verdana, arial, sans-serif;
50
50
 
51
51
  /* Font size & line height */
52
52
  --font-size-text: 1.125rem;
@@ -61,28 +61,28 @@
61
61
  font-family: RijksoverheidSansHeading;
62
62
  font-style: normal;
63
63
  font-weight: normal;
64
- src: url("/assets/font/heading/regular/rijksoverheidsansheading-regular_2_0-webfont.woff") format("woff");
64
+ src: url('/assets/font/heading/regular/rijksoverheidsansheading-regular_2_0-webfont.woff') format('woff');
65
65
  }
66
66
 
67
67
  @font-face {
68
68
  font-family: RijksoverheidSansText;
69
69
  font-style: italic;
70
70
  font-weight: normal;
71
- src: url("/assets/font/text/italic/rijksoverheidsanswebtext-italic-webfont.woff") format("woff");
71
+ src: url('/assets/font/text/italic/rijksoverheidsanswebtext-italic-webfont.woff') format('woff');
72
72
  }
73
73
 
74
74
  @font-face {
75
75
  font-family: RijksoverheidSansText;
76
76
  font-style: normal;
77
77
  font-weight: normal;
78
- src: url("/assets/font/text/regular/rijksoverheidsanswebtext-regular-webfont.woff") format("woff");
78
+ src: url('/assets/font/text/regular/rijksoverheidsanswebtext-regular-webfont.woff') format('woff');
79
79
  }
80
80
 
81
81
  @font-face {
82
82
  font-family: RijksoverheidSansText;
83
83
  font-style: normal;
84
84
  font-weight: bold;
85
- src: url("/assets/font/text/bold/rijksoverheidsanswebtext-bold-webfont.woff") format("woff");
85
+ src: url('/assets/font/text/bold/rijksoverheidsanswebtext-bold-webfont.woff') format('woff');
86
86
  }
87
87
 
88
88
  html,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rws-aoa/react-library",
3
- "version": "3.6.2",
3
+ "version": "3.6.4",
4
4
  "description": "RWS AOA Design System",
5
5
  "author": "@rws-aoa",
6
6
  "license": "Apache-2.0",
@@ -13,7 +13,7 @@
13
13
  "build-storybook": "storybook build",
14
14
  "test": "test-storybook --coverage",
15
15
  "lint": "run-p \"lint:**\"",
16
- "lint:js": "eslint src --fix --ext ts,tsx",
16
+ "lint:js": "eslint src --fix",
17
17
  "lint:css": "stylelint --fix \"./src/assets/css/styles.css\"",
18
18
  "build": "tsc -p ./tsconfig.dev.json && vite build && yarn update-export-mapping",
19
19
  "prepack": "yarn build",
@@ -22,25 +22,25 @@
22
22
  "check-update": "cliff-jumper --dry-run"
23
23
  },
24
24
  "dependencies": {
25
- "@emotion/react": "^11.13.3",
26
- "@emotion/styled": "^11.13.0",
27
- "@mui/icons-material": "^5.16.7",
28
- "@mui/material": "^5.16.7",
29
- "@tanstack/react-router": "^1.51.2",
25
+ "@emotion/react": "^11.14.0",
26
+ "@emotion/styled": "^11.14.0",
27
+ "@mui/icons-material": "^5.16.12",
28
+ "@mui/material": "^5.16.12",
29
+ "@tanstack/react-router": "^1.97.3",
30
30
  "clsx": "^2.1.1",
31
31
  "lodash.merge": "^4.6.2",
32
32
  "react": "^18.3.1",
33
33
  "react-dom": "^18.3.1"
34
34
  },
35
35
  "devDependencies": {
36
- "@babel/core": "^7.25.2",
37
- "@babel/preset-env": "^7.25.4",
38
- "@babel/preset-react": "^7.24.7",
39
- "@babel/preset-typescript": "^7.24.7",
40
- "@favware/cliff-jumper": "^4.1.0",
41
- "@mui/system": "^5.16.7",
42
- "@mui/x-data-grid": "^7.14.0",
43
- "@mui/x-data-grid-generator": "^7.14.0",
36
+ "@babel/core": "^7.26.0",
37
+ "@babel/preset-env": "^7.26.0",
38
+ "@babel/preset-react": "^7.26.3",
39
+ "@babel/preset-typescript": "^7.26.0",
40
+ "@favware/cliff-jumper": "^6.0.0",
41
+ "@mui/system": "^5.16.12",
42
+ "@mui/x-data-grid": "^7.23.2",
43
+ "@mui/x-data-grid-generator": "^7.23.2",
44
44
  "@storybook/addon-coverage": "^1.0.4",
45
45
  "@storybook/addon-essentials": "^7.6.20",
46
46
  "@storybook/addon-interactions": "^7.6.20",
@@ -58,27 +58,26 @@
58
58
  "@storybook/theming": "^7.6.20",
59
59
  "@tanstack/react-form": "*",
60
60
  "@types/lodash.merge": "^4.6.9",
61
- "@types/react": "^18.3.4",
62
- "@types/react-dom": "^18.3.0",
63
- "@vitejs/plugin-react": "^4.3.1",
61
+ "@types/react": "^18.3.18",
62
+ "@types/react-dom": "^18.3.5",
63
+ "@vitejs/plugin-react": "^4.3.4",
64
64
  "babel-plugin-direct-import": "^1.0.0",
65
- "eslint": "^8.57.0",
66
- "eslint-plugin-react-hooks": "^4.6.2",
67
- "glob": "^11.0.0",
68
- "npm-run-all2": "^6.2.2",
69
- "playwright": "^1.46.1",
70
- "prettier": "^3.3.3",
65
+ "eslint": "^9.18.0",
66
+ "glob": "^11.0.1",
67
+ "npm-run-all2": "^7.0.2",
68
+ "playwright": "^1.49.1",
69
+ "prettier": "^3.4.2",
71
70
  "prop-types": "^15.8.1",
72
- "react-dropzone": "^14.2.3",
73
- "react-toastify": "^10.0.5",
71
+ "react-dropzone": "^14.3.5",
72
+ "react-toastify": "^11.0.3",
74
73
  "storybook": "^7.6.20",
75
- "stylelint": "^16.9.0",
76
- "tslib": "^2.7.0",
77
- "typescript": "^5.5.4",
78
- "vite": "^5.4.2",
79
- "vite-plugin-checker": "^0.7.2",
80
- "vite-plugin-dts": "^3.9.1",
81
- "vite-plugin-lib-inject-css": "^2.1.1"
74
+ "stylelint": "^16.13.2",
75
+ "tslib": "^2.8.1",
76
+ "typescript": "^5.7.3",
77
+ "vite": "^6.0.11",
78
+ "vite-plugin-checker": "^0.8.0",
79
+ "vite-plugin-dts": "^4.5.0",
80
+ "vite-plugin-lib-inject-css": "^2.2.1"
82
81
  },
83
82
  "peerDependencies": {
84
83
  "@emotion/react": "^11.x",
@@ -91,7 +90,7 @@
91
90
  "react": "^18.x",
92
91
  "react-dom": "^18.x",
93
92
  "react-dropzone": "^14.x",
94
- "react-toastify": "^10.x"
93
+ "react-toastify": "^11.x"
95
94
  },
96
95
  "peerDependenciesMeta": {
97
96
  "@mui/x-data-grid": {