@rws-aoa/react-library 8.2.7 → 9.0.0

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 (66) hide show
  1. package/dist/chunks/{FieldError.7Lfieqt3.js → FieldError.C1l5S0jl.js} +3 -3
  2. package/dist/chunks/{FieldError.7Lfieqt3.js.map → FieldError.C1l5S0jl.js.map} +1 -1
  3. package/dist/chunks/{compiler-runtime.CrLvXwKf.js → compiler-runtime.BNHg76kC.js} +3 -3
  4. package/dist/chunks/{compiler-runtime.CrLvXwKf.js.map → compiler-runtime.BNHg76kC.js.map} +1 -1
  5. package/dist/chunks/{lodash.DPVO3Hgf.js → lodash.CdkV4gpV.js} +94 -77
  6. package/dist/chunks/lodash.CdkV4gpV.js.map +1 -0
  7. package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.js +2 -2
  8. package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.js.map +1 -1
  9. package/dist/components-generic/_pages/project-page/ProjectPage.js +88 -97
  10. package/dist/components-generic/_pages/project-page/ProjectPage.js.map +1 -1
  11. package/dist/components-generic/atoms/_menu/menu-item/MenuItem.js +1 -1
  12. package/dist/components-generic/atoms/_menu/user-menu/UserMenu.js +9 -9
  13. package/dist/components-generic/atoms/_menu/user-menu/UserMenu.js.map +1 -1
  14. package/dist/components-generic/atoms/button/Button.js +1 -1
  15. package/dist/components-generic/atoms/icon-button/IconButton.js +2 -2
  16. package/dist/components-generic/atoms/input/Input.js +1 -1
  17. package/dist/components-generic/atoms/list/List.js +1 -1
  18. package/dist/components-generic/atoms/logo/Logo.js +44 -44
  19. package/dist/components-generic/atoms/logo/Logo.js.map +1 -1
  20. package/dist/components-generic/atoms/no-permission/PermissionWrapper.d.ts +31 -0
  21. package/dist/components-generic/atoms/no-permission/PermissionWrapper.d.ts.map +1 -0
  22. package/dist/components-generic/atoms/no-permission/PermissionWrapper.js +27 -0
  23. package/dist/components-generic/atoms/no-permission/PermissionWrapper.js.map +1 -0
  24. package/dist/components-generic/atoms/notification/Notification.js +1 -1
  25. package/dist/components-generic/atoms/notification/_icons/Error.js +4 -4
  26. package/dist/components-generic/atoms/notification/_icons/Error.js.map +1 -1
  27. package/dist/components-generic/atoms/notification/_icons/Info.js +4 -4
  28. package/dist/components-generic/atoms/notification/_icons/Info.js.map +1 -1
  29. package/dist/components-generic/atoms/notification/_icons/Success.js +4 -4
  30. package/dist/components-generic/atoms/notification/_icons/Success.js.map +1 -1
  31. package/dist/components-generic/atoms/notification/_icons/Warning.js +3 -3
  32. package/dist/components-generic/atoms/notification/_icons/Warning.js.map +1 -1
  33. package/dist/components-generic/atoms/section-header/SectionHeader.js +1 -1
  34. package/dist/components-generic/atoms/selection-buttons/checkbox/Checkbox.js +1 -1
  35. package/dist/components-generic/atoms/selection-buttons/radio-button/RadioButton.js +1 -1
  36. package/dist/components-generic/atoms/table/Table.d.ts.map +1 -1
  37. package/dist/components-generic/atoms/table/Table.js +15 -14
  38. package/dist/components-generic/atoms/table/Table.js.map +1 -1
  39. package/dist/components-generic/atoms/table/_QuickSearchToolbar.js +756 -722
  40. package/dist/components-generic/atoms/table/_QuickSearchToolbar.js.map +1 -1
  41. package/dist/components-generic/atoms/tooltip/Tooltip.js +1 -1
  42. package/dist/components-generic/atoms/zero-width-space/ZeroWidthSpace.js +1 -1
  43. package/dist/components-generic/molecules/field-error/FieldError.js +2 -2
  44. package/dist/components-generic/molecules/file-dropzone/FileDropzone.js +3 -3
  45. package/dist/components-generic/molecules/file-dropzone/FileDropzone.js.map +1 -1
  46. package/dist/components-generic/molecules/form-error/FormError.js +2 -2
  47. package/dist/components-generic/molecules/form-modal/FormModal.js +3 -3
  48. package/dist/components-generic/molecules/modal/Modal.js +2 -2
  49. package/dist/components-generic/molecules/modal-close-button/ModalCloseButton.js +3 -3
  50. package/dist/components-generic/molecules/modal-close-button/ModalCloseButton.js.map +1 -1
  51. package/dist/components-generic/molecules/navigation-bar/NavigationBar.js +5 -5
  52. package/dist/components-generic/molecules/navigation-bar/NavigationBar.js.map +1 -1
  53. package/dist/components-generic/molecules/no-label-number-field/NoLabelNumberField.js +2 -2
  54. package/dist/components-generic/molecules/upload-button/UploadButton.js +3 -3
  55. package/dist/components-generic/molecules/upload-button/UploadButton.js.map +1 -1
  56. package/dist/components-generic/organisms/content-page/ContentPage.js +1 -1
  57. package/dist/contexts/TanstackFormContext.js +1 -1
  58. package/dist/index.d.ts +1 -1
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +17 -17
  61. package/package.json +31 -31
  62. package/dist/chunks/lodash.DPVO3Hgf.js.map +0 -1
  63. package/dist/components-generic/atoms/no-permission/NoPermission.d.ts +0 -27
  64. package/dist/components-generic/atoms/no-permission/NoPermission.d.ts.map +0 -1
  65. package/dist/components-generic/atoms/no-permission/NoPermission.js +0 -23
  66. package/dist/components-generic/atoms/no-permission/NoPermission.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { Tooltip as i, Box as x, tooltipClasses as d } from "@mui/material";
3
- import { l as m } from "../../../chunks/lodash.DPVO3Hgf.js";
3
+ import { l as m } from "../../../chunks/lodash.CdkV4gpV.js";
4
4
  function g({
5
5
  "data-qa": t,
6
6
  title: p,
@@ -1,5 +1,5 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import { c } from "../../../chunks/compiler-runtime.CrLvXwKf.js";
2
+ import { c } from "../../../chunks/compiler-runtime.BNHg76kC.js";
3
3
  import { Typography as l } from "@mui/material";
4
4
  function h(p) {
5
5
  const t = c.c(8);
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
- import "../../../chunks/compiler-runtime.CrLvXwKf.js";
3
- import { A as t } from "../../../chunks/FieldError.7Lfieqt3.js";
2
+ import "../../../chunks/compiler-runtime.BNHg76kC.js";
3
+ import { A as t } from "../../../chunks/FieldError.C1l5S0jl.js";
4
4
  import "../../atoms/notification/Notification.js";
5
5
  export {
6
6
  t as AoaFieldError
@@ -1,5 +1,5 @@
1
1
  import { jsx as v, jsxs as k } from "react/jsx-runtime";
2
- import { c as P } from "../../../chunks/compiler-runtime.CrLvXwKf.js";
2
+ import { c as P } from "../../../chunks/compiler-runtime.BNHg76kC.js";
3
3
  import { Box as w } from "@mui/material";
4
4
  import { useDropzone as A } from "react-dropzone";
5
5
  import { toast as E } from "react-toastify";
@@ -59,7 +59,7 @@ function G(i) {
59
59
  e[14] !== b ? (t = b(), e[14] = b, e[15] = t) : t = e[15];
60
60
  const y = i.dataQas?.root ?? "file-dropzone-root";
61
61
  let x;
62
- e[16] === Symbol.for("react.memo_cache_sentinel") ? (x = {
62
+ e[16] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = {
63
63
  "&:focus": {
64
64
  outline: "none"
65
65
  }
@@ -70,7 +70,7 @@ function G(i) {
70
70
  let l;
71
71
  e[19] !== n || e[20] !== W ? (l = /* @__PURE__ */ v("input", { ...n, "aria-label": "File drop", "data-qa": W, "data-testid": "file-drop-input" }), e[19] = n, e[20] = W, e[21] = l) : l = e[21];
72
72
  let u;
73
- e[22] === Symbol.for("react.memo_cache_sentinel") ? (u = {
73
+ e[22] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (u = {
74
74
  backgroundColor: "var(--color-rijks-grey-2)",
75
75
  borderWidth: 1,
76
76
  borderStyle: "dashed",
@@ -1 +1 @@
1
- {"version":3,"file":"FileDropzone.js","sources":["../../../../src/components-generic/molecules/file-dropzone/FileDropzone.tsx"],"sourcesContent":["import { Box } from '@mui/material';\nimport type { PropsWithChildren, ReactNode } from 'react';\nimport { useDropzone, type Accept, type FileError, type FileRejection } from 'react-dropzone';\nimport { toast } from 'react-toastify';\nimport { isExtensionAllowed } from '../../../_constants';\n\nexport type AoaDropableFile<TProps extends object> = TProps & {\n /**\n * The file that was dropped\n */\n file: File;\n};\n\nexport interface AoaFileDropzoneDataQas {\n /**\n * The data-qa tag for the input\n */\n input: string;\n /**\n * The data-qa tag for the root element\n */\n root: string;\n}\n\nexport interface AoaFileDropzoneProps<TProps extends object, TFile extends AoaDropableFile<TProps>> {\n /**\n * The current set of files that are already dropped, coming from Redux or Tanstack Store\n */\n currentFiles: TFile[];\n /**\n * A custom function that can perform extra checks when validating files.\n * This should return `true` if the file should be rejected or `false` if it should be accepted\n *\n * @param file - The file to be validated\n */\n customFileValidator?(file: File): boolean;\n /**\n * data-qa tags for testing\n */\n dataQas?: AoaFileDropzoneDataQas;\n /**\n * The regular expression that validates if the dropped file should be accepted or rejected\n */\n extensionRegex: RegExp;\n /**\n * The toast warning message to be shown when a file is rejection\n */\n extensionWarning: string;\n /**\n * The extension map to be passed to the dropzone component\n */\n extensions: Accept;\n /**\n * The children to show inside the box where files can be dropped\n */\n fileDropChildren?: ReactNode;\n /**\n * Whether the dropzone should be disabled or not\n */\n isDisabled?: boolean;\n /**\n * A maximum count of files that should be accepted, if exceeded no save action will be performed\n */\n maxUploadFiles?: number;\n /**\n * The toast warning message to be shown when the files to be uploaded exceeds the maximum,\n * required if {@link AoaFileDropzoneProps.maxUploadFiles | maxUploadFiles} is specified.\n */\n maxUploadSizeExceededWarning?: string;\n /**\n * Additional properties to set for every file that is to be saved\n */\n perFileProperties?(acceptedFile: File): TProps;\n /**\n * The function to overwrite the files in the client store.\n * This should overwrite all files, not merge with current, which is handled in this component\n *\n * @param files - The new set of files to be stored\n */\n storeFiles(files: TFile[]): void;\n}\n\nexport function AoaFileDropzone<TProps extends object, TFile extends AoaDropableFile<TProps>>(\n props: Readonly<PropsWithChildren<AoaFileDropzoneProps<TProps, TFile>>>\n) {\n function showMaxUploadFilesWarning() {\n toast(props.maxUploadSizeExceededWarning ?? `U heeft meer dan ${props.maxUploadFiles} bestand(en) geselecteerd. Dit is niet toegestaan.`, {\n type: 'warning'\n });\n }\n\n function handleDrop(acceptedFiles: File[], fileRejections: FileRejection[]) {\n if (fileRejections.length > 0) {\n if (fileRejections.every((file) => file.errors.every((error) => error.code === 'too-many-files'))) {\n showMaxUploadFilesWarning();\n } else {\n toast(props.extensionWarning, { type: 'warning' });\n }\n }\n\n const filesClone = [...props.currentFiles];\n for (const acceptedFile of acceptedFiles) {\n const existingFileIndex = filesClone.findIndex((file) => file.file.name === acceptedFile.name);\n if (existingFileIndex === -1) {\n filesClone.push({ file: acceptedFile, ...props.perFileProperties?.(acceptedFile) } as TFile & TProps);\n } else {\n filesClone.splice(existingFileIndex, 1, {\n file: acceptedFile,\n ...props.perFileProperties?.(acceptedFile)\n } as TFile & TProps);\n }\n }\n\n if (props.maxUploadFiles && filesClone.length > props.maxUploadFiles) {\n showMaxUploadFilesWarning();\n } else {\n props.storeFiles(filesClone);\n }\n }\n\n function fileValidator(file: File): FileError | null {\n if (props.customFileValidator?.(file)) {\n return {\n code: 'custom-validator',\n message: props.extensionWarning\n };\n }\n\n if (isExtensionAllowed(props.extensionRegex, file.name)) {\n return null;\n }\n\n return {\n code: 'name-not-ok',\n message: props.extensionWarning\n };\n }\n\n const { getRootProps, getInputProps } = useDropzone({\n onDrop: handleDrop,\n disabled: props.isDisabled,\n accept: props.extensions,\n maxFiles: props.maxUploadFiles,\n validator: fileValidator\n });\n\n return (\n <Box\n {...getRootProps()}\n data-qa={props.dataQas?.root ?? 'file-dropzone-root'}\n sx={{\n '&:focus': {\n outline: 'none'\n }\n }}\n >\n <input {...getInputProps()} aria-label='File drop' data-qa={props.dataQas?.input ?? 'file-drop-input'} data-testid='file-drop-input' />\n <Box\n sx={{\n backgroundColor: 'var(--color-rijks-grey-2)',\n borderWidth: 1,\n borderStyle: 'dashed',\n borderColor: 'black',\n marginBottom: 0.5,\n textAlign: 'center'\n }}\n >\n {props.fileDropChildren}\n </Box>\n </Box>\n );\n}\n"],"names":["AoaFileDropzone","props","$","_c","t0","maxUploadFiles","maxUploadSizeExceededWarning","toast","type","showMaxUploadFilesWarning","t1","acceptedFiles","fileRejections","length","every","_temp2","extensionWarning","filesClone","currentFiles","acceptedFile","existingFileIndex","findIndex","file_0","file","name","push","perFileProperties","splice","storeFiles","handleDrop","t2","file_1","customFileValidator","code","message","isExtensionAllowed","extensionRegex","fileValidator","t3","extensions","isDisabled","onDrop","disabled","accept","maxFiles","validator","getRootProps","getInputProps","useDropzone","t4","t5","dataQas","root","t6","Symbol","for","outline","t7","t8","input","t9","t10","backgroundColor","borderWidth","borderStyle","borderColor","marginBottom","textAlign","t11","fileDropChildren","Box","t12","errors","_temp","error"],"mappings":";;;;;;AAkFO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA;AAAA,MAAAC;AAAA,EAAAF,EAAA,CAAA,MAAAD,EAAAI,kBAAAH,EAAA,CAAA,MAAAD,EAAAK,gCAGLF,eAAA;AACEG,IAAAA,EAAMN,EAAKK,gCAAL,oBAA0DL,EAAKI,cAAe,sDAAsD;AAAA,MAAAG,MAClI;AAAA,IAAA,CACP;AAAA,EAAC,GACHN,EAAA,CAAA,IAAAD,EAAAI,gBAAAH,EAAA,CAAA,IAAAD,EAAAK,8BAAAJ,OAAAE,KAAAA,IAAAF,EAAA,CAAA;AAJD,QAAAO,IAAAL;AAIC,MAAAM;AAAA,EAAAR,EAAA,CAAA,MAAAD,KAAAC,SAAAO,KAEDC,IAAA,SAAAC,GAAAC,GAAA;AACE,IAAIA,EAAcC,SAAU,MACtBD,EAAcE,MAAOC,CAAuE,IAC9FN,EAAAA,IAEAF,EAAMN,EAAKe,kBAAmB;AAAA,MAAAR,MAAQ;AAAA,IAAA,CAAW;AAIrD,UAAAS,IAAmB,CAAA,GAAIhB,EAAKiB,YAAa;AACzC,eAAKC,KAAsBR,GAAa;AACtC,YAAAS,IAA0BH,EAAUI,UAAWC,CAAAA,MAAUC,EAAIA,KAAKC,SAAUL,EAAYK,IAAK;AAC7F,MAAIJ,MAAsB,KACxBH,EAAUQ,KAAM;AAAA,QAAAF,MAAQJ;AAAAA,QAAY,GAAKlB,EAAKyB,oBAAqBP,CAAY;AAAA,MAAA,CAAqB,IAEpGF,EAAUU,OAAQP,GAAmB,GAAG;AAAA,QAAAG,MAChCJ;AAAAA,QAAY,GACflB,EAAKyB,oBAAqBP,CAAY;AAAA,MAAA,CACxB;AAAA,IACpB;AAGH,IAAIlB,EAAKI,kBAAmBY,EAAUJ,SAAUZ,EAAKI,iBACnDI,EAAAA,IAEAR,EAAK2B,WAAYX,CAAU;AAAA,EAC5B,GACFf,OAAAD,GAAAC,OAAAO,GAAAP,OAAAQ,KAAAA,IAAAR,EAAA,CAAA;AA3BD,QAAA2B,IAAAnB;AA2BC,MAAAoB;AAAA,EAAA5B,SAAAD,KAED6B,IAAA,SAAAC,GAAA;AACE,WAAI9B,EAAK+B,sBAAuBT,CAAI,IAC3B;AAAA,MAAAU,MACC;AAAA,MAAkBC,SACfjC,EAAKe;AAAAA,IAAAA,IAIdmB,EAAmBlC,EAAKmC,gBAAiBb,EAAIC,IAAK,IAC7C,OAGF;AAAA,MAAAS,MACC;AAAA,MAAaC,SACVjC,EAAKe;AAAAA,IAAAA;AAAAA,EACf,GACFd,OAAAD,GAAAC,OAAA4B,KAAAA,IAAA5B,EAAA,CAAA;AAhBD,QAAAmC,IAAAP;AAgBC,MAAAQ;AAAA,EAAApC,EAAA,CAAA,MAAAmC,KAAAnC,SAAA2B,KAAA3B,EAAA,EAAA,MAAAD,EAAAsC,cAAArC,EAAA,EAAA,MAAAD,EAAAuC,cAAAtC,EAAA,EAAA,MAAAD,EAAAI,kBAEmDiC,IAAA;AAAA,IAAAG,QAC1CZ;AAAAA,IAAUa,UACRzC,EAAKuC;AAAAA,IAAWG,QAClB1C,EAAKsC;AAAAA,IAAWK,UACd3C,EAAKI;AAAAA,IAAewC,WACnBR;AAAAA,EAAAA,GACZnC,OAAAmC,GAAAnC,OAAA2B,GAAA3B,EAAA,EAAA,IAAAD,EAAAsC,YAAArC,EAAA,EAAA,IAAAD,EAAAuC,YAAAtC,EAAA,EAAA,IAAAD,EAAAI,gBAAAH,QAAAoC,KAAAA,IAAApC,EAAA,EAAA;AAND,QAAA;AAAA,IAAA4C,cAAAA;AAAAA,IAAAC,eAAAA;AAAAA,EAAAA,IAAwCC,EAAYV,CAMnD;AAAE,MAAAW;AAAA,EAAA/C,UAAA4C,KAIKG,IAAAH,EAAAA,GAAc5C,QAAA4C,GAAA5C,QAAA+C,KAAAA,IAAA/C,EAAA,EAAA;AACT,QAAAgD,IAAAjD,EAAKkD,SAAcC,QAAnB;AAA2C,MAAAC;AAAA,EAAAnD,EAAA,EAAA,MAAAoD,OAAAC,IAAA,2BAAA,KAChDF,IAAA;AAAA,IAAA,WACS;AAAA,MAAAG,SACA;AAAA,IAAA;AAAA,EACX,GACDtD,QAAAmD,KAAAA,IAAAnD,EAAA,EAAA;AAAA,MAAAuD;AAAA,EAAAvD,UAAA6C,KAEUU,IAAAV,EAAAA,GAAe7C,QAAA6C,GAAA7C,QAAAuD,KAAAA,IAAAvD,EAAA,EAAA;AAAkC,QAAAwD,IAAAzD,EAAKkD,SAAeQ,SAApB;AAAyC,MAAAC;AAAA,EAAA1D,EAAA,EAAA,MAAAuD,KAAAvD,UAAAwD,KAArGE,iCAAuI,GAA5HH,GAA4B,cAAA,aAAqB,WAAAC,GAAuD,eAAA,kBAAA,CAAiB,GAAGxD,QAAAuD,GAAAvD,QAAAwD,GAAAxD,QAAA0D,KAAAA,IAAA1D,EAAA,EAAA;AAAA,MAAA2D;AAAA,EAAA3D,EAAA,EAAA,MAAAoD,OAAAC,IAAA,2BAAA,KAEjIM,IAAA;AAAA,IAAAC,iBACe;AAAA,IAA2BC,aAC/B;AAAA,IAACC,aACD;AAAA,IAAQC,aACR;AAAA,IAAOC,cACN;AAAA,IAAGC,WACN;AAAA,EAAA,GACZjE,QAAA2D,KAAAA,IAAA3D,EAAA,EAAA;AAAA,MAAAkE;AAAA,EAAAlE,EAAA,EAAA,MAAAD,EAAAoE,oBARHD,sBAACE,GAAA,EACK,IAAAT,GASH5D,YAAKoE,kBACR,GAAMnE,EAAA,EAAA,IAAAD,EAAAoE,kBAAAnE,QAAAkE,KAAAA,IAAAlE,EAAA,EAAA;AAAA,MAAAqE;AAAA,SAAArE,EAAA,EAAA,MAAAkE,KAAAlE,EAAA,EAAA,MAAA+C,KAAA/C,EAAA,EAAA,MAAAgD,KAAAhD,UAAA0D,KArBRW,sBAACD,GAAA,EAAG,GACErB,GACK,WAAAC,GACL,IAAAG,GAMJO,UAAAA;AAAAA,IAAAA;AAAAA,IACAQ;AAAAA,EAAAA,GAYF,GAAMlE,QAAAkE,GAAAlE,QAAA+C,GAAA/C,QAAAgD,GAAAhD,QAAA0D,GAAA1D,QAAAqE,KAAAA,IAAArE,EAAA,EAAA,GAtBNqE;AAsBM;AAvFH,SAAAxD,EAAAQ,GAAA;AAAA,SAWkCA,EAAIiD,OAAO1D,MAAO2D,CAA0C;AAAC;AAX/F,SAAAA,EAAAC,GAAA;AAAA,SAW+DA,EAAKzC,SAAU;AAAgB;"}
1
+ {"version":3,"file":"FileDropzone.js","sources":["../../../../src/components-generic/molecules/file-dropzone/FileDropzone.tsx"],"sourcesContent":["import { Box } from '@mui/material';\nimport type { PropsWithChildren, ReactNode } from 'react';\nimport { useDropzone, type Accept, type FileError, type FileRejection } from 'react-dropzone';\nimport { toast } from 'react-toastify';\nimport { isExtensionAllowed } from '../../../_constants';\n\nexport type AoaDropableFile<TProps extends object> = TProps & {\n /**\n * The file that was dropped\n */\n file: File;\n};\n\nexport interface AoaFileDropzoneDataQas {\n /**\n * The data-qa tag for the input\n */\n input: string;\n /**\n * The data-qa tag for the root element\n */\n root: string;\n}\n\nexport interface AoaFileDropzoneProps<TProps extends object, TFile extends AoaDropableFile<TProps>> {\n /**\n * The current set of files that are already dropped, coming from Redux or Tanstack Store\n */\n currentFiles: TFile[];\n /**\n * A custom function that can perform extra checks when validating files.\n * This should return `true` if the file should be rejected or `false` if it should be accepted\n *\n * @param file - The file to be validated\n */\n customFileValidator?(file: File): boolean;\n /**\n * data-qa tags for testing\n */\n dataQas?: AoaFileDropzoneDataQas;\n /**\n * The regular expression that validates if the dropped file should be accepted or rejected\n */\n extensionRegex: RegExp;\n /**\n * The toast warning message to be shown when a file is rejection\n */\n extensionWarning: string;\n /**\n * The extension map to be passed to the dropzone component\n */\n extensions: Accept;\n /**\n * The children to show inside the box where files can be dropped\n */\n fileDropChildren?: ReactNode;\n /**\n * Whether the dropzone should be disabled or not\n */\n isDisabled?: boolean;\n /**\n * A maximum count of files that should be accepted, if exceeded no save action will be performed\n */\n maxUploadFiles?: number;\n /**\n * The toast warning message to be shown when the files to be uploaded exceeds the maximum,\n * required if {@link AoaFileDropzoneProps.maxUploadFiles | maxUploadFiles} is specified.\n */\n maxUploadSizeExceededWarning?: string;\n /**\n * Additional properties to set for every file that is to be saved\n */\n perFileProperties?(acceptedFile: File): TProps;\n /**\n * The function to overwrite the files in the client store.\n * This should overwrite all files, not merge with current, which is handled in this component\n *\n * @param files - The new set of files to be stored\n */\n storeFiles(files: TFile[]): void;\n}\n\nexport function AoaFileDropzone<TProps extends object, TFile extends AoaDropableFile<TProps>>(\n props: Readonly<PropsWithChildren<AoaFileDropzoneProps<TProps, TFile>>>\n) {\n function showMaxUploadFilesWarning() {\n toast(props.maxUploadSizeExceededWarning ?? `U heeft meer dan ${props.maxUploadFiles} bestand(en) geselecteerd. Dit is niet toegestaan.`, {\n type: 'warning'\n });\n }\n\n function handleDrop(acceptedFiles: File[], fileRejections: FileRejection[]) {\n if (fileRejections.length > 0) {\n if (fileRejections.every((file) => file.errors.every((error) => error.code === 'too-many-files'))) {\n showMaxUploadFilesWarning();\n } else {\n toast(props.extensionWarning, { type: 'warning' });\n }\n }\n\n const filesClone = [...props.currentFiles];\n for (const acceptedFile of acceptedFiles) {\n const existingFileIndex = filesClone.findIndex((file) => file.file.name === acceptedFile.name);\n if (existingFileIndex === -1) {\n filesClone.push({ file: acceptedFile, ...props.perFileProperties?.(acceptedFile) } as TFile & TProps);\n } else {\n filesClone.splice(existingFileIndex, 1, {\n file: acceptedFile,\n ...props.perFileProperties?.(acceptedFile)\n } as TFile & TProps);\n }\n }\n\n if (props.maxUploadFiles && filesClone.length > props.maxUploadFiles) {\n showMaxUploadFilesWarning();\n } else {\n props.storeFiles(filesClone);\n }\n }\n\n function fileValidator(file: File): FileError | null {\n if (props.customFileValidator?.(file)) {\n return {\n code: 'custom-validator',\n message: props.extensionWarning\n };\n }\n\n if (isExtensionAllowed(props.extensionRegex, file.name)) {\n return null;\n }\n\n return {\n code: 'name-not-ok',\n message: props.extensionWarning\n };\n }\n\n const { getRootProps, getInputProps } = useDropzone({\n onDrop: handleDrop,\n disabled: props.isDisabled,\n accept: props.extensions,\n maxFiles: props.maxUploadFiles,\n validator: fileValidator\n });\n\n return (\n <Box\n {...getRootProps()}\n data-qa={props.dataQas?.root ?? 'file-dropzone-root'}\n sx={{\n '&:focus': {\n outline: 'none'\n }\n }}\n >\n <input {...getInputProps()} aria-label='File drop' data-qa={props.dataQas?.input ?? 'file-drop-input'} data-testid='file-drop-input' />\n <Box\n sx={{\n backgroundColor: 'var(--color-rijks-grey-2)',\n borderWidth: 1,\n borderStyle: 'dashed',\n borderColor: 'black',\n marginBottom: 0.5,\n textAlign: 'center'\n }}\n >\n {props.fileDropChildren}\n </Box>\n </Box>\n );\n}\n"],"names":["AoaFileDropzone","props","$","_c","t0","maxUploadFiles","maxUploadSizeExceededWarning","toast","type","showMaxUploadFilesWarning","t1","acceptedFiles","fileRejections","length","every","_temp2","extensionWarning","filesClone","currentFiles","acceptedFile","existingFileIndex","findIndex","file_0","file","name","push","perFileProperties","splice","storeFiles","handleDrop","t2","file_1","customFileValidator","code","message","isExtensionAllowed","extensionRegex","fileValidator","t3","extensions","isDisabled","onDrop","disabled","accept","maxFiles","validator","getRootProps","getInputProps","useDropzone","t4","t5","dataQas","root","t6","Symbol","for","outline","t7","t8","input","t9","t10","backgroundColor","borderWidth","borderStyle","borderColor","marginBottom","textAlign","t11","fileDropChildren","Box","t12","errors","_temp","error"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
- import "../../../chunks/compiler-runtime.CrLvXwKf.js";
3
- import { a } from "../../../chunks/FieldError.7Lfieqt3.js";
2
+ import "../../../chunks/compiler-runtime.BNHg76kC.js";
3
+ import { a } from "../../../chunks/FieldError.C1l5S0jl.js";
4
4
  import "../../atoms/notification/Notification.js";
5
5
  export {
6
6
  a as AoaFormError
@@ -1,8 +1,8 @@
1
1
  import "react/jsx-runtime";
2
- import "../../../chunks/compiler-runtime.CrLvXwKf.js";
2
+ import "../../../chunks/compiler-runtime.BNHg76kC.js";
3
3
  import "@mui/material";
4
- import "../../../chunks/lodash.DPVO3Hgf.js";
5
- import { b as d } from "../../../chunks/FieldError.7Lfieqt3.js";
4
+ import "../../../chunks/lodash.CdkV4gpV.js";
5
+ import { b as d } from "../../../chunks/FieldError.C1l5S0jl.js";
6
6
  import "../../atoms/button/Button.js";
7
7
  import "../modal-close-button/ModalCloseButton.js";
8
8
  export {
@@ -1,7 +1,7 @@
1
1
  import { jsx as A, jsxs as q } from "react/jsx-runtime";
2
- import { c as P } from "../../../chunks/compiler-runtime.CrLvXwKf.js";
2
+ import { c as P } from "../../../chunks/compiler-runtime.BNHg76kC.js";
3
3
  import { DialogTitle as B, DialogContent as E, Dialog as M } from "@mui/material";
4
- import { l as C } from "../../../chunks/lodash.DPVO3Hgf.js";
4
+ import { l as C } from "../../../chunks/lodash.CdkV4gpV.js";
5
5
  import { AoaModalCloseButton as R } from "../modal-close-button/ModalCloseButton.js";
6
6
  function Q(b) {
7
7
  const o = P.c(27), {
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { c } from "../../../chunks/compiler-runtime.CrLvXwKf.js";
2
+ import { c } from "../../../chunks/compiler-runtime.BNHg76kC.js";
3
3
  import { Close as s } from "@mui/icons-material";
4
4
  import { AoaIconButton as m } from "../../atoms/icon-button/IconButton.js";
5
5
  function b(r) {
@@ -7,9 +7,9 @@ function b(r) {
7
7
  closeAction: i
8
8
  } = r;
9
9
  let t;
10
- o[0] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ n(s, {}), o[0] = t) : t = o[0];
10
+ o[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ n(s, {}), o[0] = t) : t = o[0];
11
11
  let e;
12
- o[1] === Symbol.for("react.memo_cache_sentinel") ? (e = {
12
+ o[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e = {
13
13
  position: "absolute",
14
14
  right: 8,
15
15
  top: 8
@@ -1 +1 @@
1
- {"version":3,"file":"ModalCloseButton.js","sources":["../../../../src/components-generic/molecules/modal-close-button/ModalCloseButton.tsx"],"sourcesContent":["import { Close as CloseIcon } from '@mui/icons-material';\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 function AoaModalCloseButton({ closeAction }: AoaModalCloseButtonProps) {\n return (\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}\n"],"names":["AoaModalCloseButton","t0","$","_c","closeAction","t1","Symbol","for","CloseIcon","t2","position","right","top","t3","jsx","AoaIconButton"],"mappings":";;;;AAUO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,CAAA,GAA6B;AAAA,IAAAC,aAAAA;AAAAA,EAAAA,IAAAH;AAAyC,MAAAI;AAAA,EAAAH,EAAA,CAAA,MAAAI,OAAAC,IAAA,2BAAA,KAGjEF,sBAACG,GAAA,EAAS,GAAGN,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAO;AAAA,EAAAP,EAAA,CAAA,MAAAI,OAAAC,IAAA,2BAAA,KAIfE,IAAA;AAAA,IAAAC,UACQ;AAAA,IAAUC,OACb;AAAA,IAACC,KACH;AAAA,EAAA,GACNV,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,MAAAW;AAAA,SAAAX,SAAAE,KATHS,IAAA,gBAAAC,EAACC,GAAA,EACO,MAAAV,GACN,QAAA,IACM,OAAA,kBACGD,SAAAA,GACL,IAAAK,EAAAA,CAIH,GACDP,OAAAE,GAAAF,OAAAW,KAAAA,IAAAX,EAAA,CAAA,GAVFW;AAUE;"}
1
+ {"version":3,"file":"ModalCloseButton.js","sources":["../../../../src/components-generic/molecules/modal-close-button/ModalCloseButton.tsx"],"sourcesContent":["import { Close as CloseIcon } from '@mui/icons-material';\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 function AoaModalCloseButton({ closeAction }: AoaModalCloseButtonProps) {\n return (\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}\n"],"names":["AoaModalCloseButton","t0","$","_c","closeAction","t1","Symbol","for","CloseIcon","t2","position","right","top","t3","jsx","AoaIconButton"],"mappings":";;;;AAUO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,CAAA,GAA6B;AAAA,IAAAC,aAAAA;AAAAA,EAAAA,IAAAH;AAAyC,MAAAI;AAAA,EAAAH,EAAA,CAAA,MAAAI,uBAAAC,IAAA,2BAAA,KAGjEF,sBAACG,GAAA,EAAS,GAAGN,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAO;AAAA,EAAAP,EAAA,CAAA,MAAAI,uBAAAC,IAAA,2BAAA,KAIfE,IAAA;AAAA,IAAAC,UACQ;AAAA,IAAUC,OACb;AAAA,IAACC,KACH;AAAA,EAAA,GACNV,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,MAAAW;AAAA,SAAAX,SAAAE,KATHS,IAAA,gBAAAC,EAACC,GAAA,EACO,MAAAV,GACN,QAAA,IACM,OAAA,kBACGD,SAAAA,GACL,IAAAK,EAAAA,CAIH,GACDP,OAAAE,GAAAF,OAAAW,KAAAA,IAAAX,EAAA,CAAA,GAVFW;AAUE;"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as f, jsxs as y } from "react/jsx-runtime";
2
- import { c as B } from "../../../chunks/compiler-runtime.CrLvXwKf.js";
2
+ import { c as B } from "../../../chunks/compiler-runtime.BNHg76kC.js";
3
3
  import { Box as S, AppBar as W, Toolbar as R } from "@mui/material";
4
4
  import { useLocation as _ } from "@tanstack/react-router";
5
- import { l as I } from "../../../chunks/lodash.DPVO3Hgf.js";
5
+ import { l as I } from "../../../chunks/lodash.CdkV4gpV.js";
6
6
  import { useState as P, useEffect as A } from "react";
7
7
  import { FontNormalSxProps as j } from "../../../_constants.js";
8
8
  import { AoaMenuItem as p } from "../../atoms/_menu/menu-item/MenuItem.js";
@@ -15,7 +15,7 @@ function X(t) {
15
15
  w(a >= 0 ? a + 1 : 0);
16
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]), A(d, h);
17
17
  let g;
18
- e[4] === Symbol.for("react.memo_cache_sentinel") ? (g = I.merge({
18
+ e[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g = I.merge({
19
19
  color: "var(--color-text)",
20
20
  backgroundColor: "var(--color-rijks-yellow)",
21
21
  height: "70px",
@@ -23,7 +23,7 @@ function X(t) {
23
23
  zIndex: 10
24
24
  }, j), e[4] = g) : g = e[4];
25
25
  let u;
26
- e[5] === Symbol.for("react.memo_cache_sentinel") ? (u = {
26
+ e[5] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (u = {
27
27
  height: "100%",
28
28
  overflowX: "scroll",
29
29
  scrollbarWidth: "thin",
@@ -70,7 +70,7 @@ function X(t) {
70
70
  let l;
71
71
  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];
72
72
  let x;
73
- e[12] === Symbol.for("react.memo_cache_sentinel") ? (x = {
73
+ e[12] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = {
74
74
  flexGrow: 1,
75
75
  display: "flex",
76
76
  height: "100%"
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationBar.js","sources":["../../../../src/components-generic/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 zIndex: 10\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 index={0} page={{ label: props.name, to: props.homePath ?? '/' }} selectedPage={selectedPage} setSelectedPage={setSelectedPage} />\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","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","zIndex","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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"}
1
+ {"version":3,"file":"NavigationBar.js","sources":["../../../../src/components-generic/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 zIndex: 10\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 index={0} page={{ label: props.name, to: props.homePath ?? '/' }} selectedPage={selectedPage} setSelectedPage={setSelectedPage} />\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","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","zIndex","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":";;;;;;;;;AA2DO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA,GACL,CAAAC,GAAAC,CAAA,IAAwCC,EAAwB,IAAI,GAEpEC,IAAiBC,EAAAA;AAAc,MAAAC,GAAAC;AAAA,EAAAR,EAAA,CAAA,MAAAK,EAAAI,YAAAT,EAAA,CAAA,MAAAD,EAAAW,SAErBH,IAAAA,MAAA;AAER,UAAAI,IAA4BZ,EAAKW,MAAME,UACrCC,CAAAA,MAEGA,EAAIC,MAAOT,EAAQI,SAASM,WAAYF,EAAIC,EAAG,KAEhDD,EAAIG,UAAeC,KAACC,CAAAA,MAAaA,EAAOJ,MAAOT,EAAQI,SAASM,WAAYG,EAAOJ,EAAG,CAAC,CAC3F;AAGAX,IAAAA,EAAgBQ,KAAuB,IAAIA,IAAsB,IAAjD,CAAsD;AAAA,EAAC,GACtEH,IAAA,CAACH,EAAQI,UAAWV,EAAKW,KAAM,GAACV,EAAA,CAAA,IAAAK,EAAAI,UAAAT,EAAA,CAAA,IAAAD,EAAAW,OAAAV,OAAAO,GAAAP,OAAAQ,MAAAD,IAAAP,EAAA,CAAA,GAAAQ,IAAAR,EAAA,CAAA,IAZnCmB,EAAUZ,GAYPC,CAAgC;AAAC,MAAAY;AAAA,EAAApB,EAAA,CAAA,MAAAqB,uBAAAC,IAAA,2BAAA,KAK5BF,IAAAG,EAAAA,MACF;AAAA,IAAAC,OACS;AAAA,IAAmBC,iBACT;AAAA,IAA2BC,QACpC;AAAA,IAAMC,WACH;AAAA,IAAMC,QACT;AAAA,EAAA,GAEVC,CACF,GAAC7B,OAAAoB,KAAAA,IAAApB,EAAA,CAAA;AAAA,MAAA8B;AAAA,EAAA9B,EAAA,CAAA,MAAAqB,uBAAAC,IAAA,2BAAA,KAIKQ,IAAA;AAAA,IAAAJ,QACM;AAAA,IAAMK,WACH;AAAA,IAAQC,gBACH;AAAA,IAAMC,gBACN;AAAA,IAAiB,uBAEV;AAAA,MAAAC,UACX;AAAA,MAASC,cACL;AAAA,MAAKC,OACZ;AAAA,MAAKV,QACJ;AAAA,MAAKW,oBACO;AAAA,IAAA;AAAA,IACrB,6BAE4B;AAAA,MAAAC,YACf;AAAA,IAAA;AAAA,IACb,8BAE6B;AAAA,MAAAA,YAChB;AAAA,IAAA;AAAA,IACb,6BAE4B;AAAA,MAAAC,SAClB;AAAA,MAACC,YACE;AAAA,MAAUC,kBACJ;AAAA,IAAA;AAAA,IACnB,6BAE4B;AAAA,MAAAP,UACjB;AAAA,MAAST,iBACF;AAAA,MAAUU,cACb;AAAA,MAAKO,QACX;AAAA,IAAA;AAAA,IACT,sCAEqC;AAAA,MAAAJ,YACxB;AAAA,MAAyBD,oBACjB;AAAA,IAAA;AAAA,IACrB,6CAE4C;AAAA,MAAAC,YAC/B;AAAA,MAA0BD,oBAClB;AAAA,IAAA;AAAA,EACtB,GACDrC,OAAA8B,KAAAA,IAAA9B,EAAA,CAAA;AAGqD,QAAA2C,IAAA5C,EAAK6C,YAAL;AAAqB,MAAAC;AAAA,EAAA7C,SAAAD,EAAA+C,QAAA9C,SAAA2C,KAA9CE,IAAA;AAAA,IAAAE,OAAShD,EAAK+C;AAAAA,IAAKhC,IAAM6B;AAAAA,EAAAA,GAAuB3C,EAAA,CAAA,IAAAD,EAAA+C,MAAA9C,OAAA2C,GAAA3C,OAAA6C,KAAAA,IAAA7C,EAAA,CAAA;AAAA,MAAAgD;AAAA,EAAAhD,EAAA,CAAA,MAAAE,KAAAF,UAAA6C,KAA7EG,sBAACC,GAAA,EAAmB,OAAA,GAAS,MAAAJ,GAAgE3C,cAAAA,GAA+BC,iBAAAA,GAAe,GAAIH,OAAAE,GAAAF,QAAA6C,GAAA7C,QAAAgD,KAAAA,IAAAhD,EAAA,EAAA;AAAA,MAAAkD;AAAA,EAAAlD,EAAA,EAAA,MAAAqB,uBAAAC,IAAA,2BAAA,KACtI4B,IAAA;AAAA,IAAAC,UAAY;AAAA,IAACC,SAAW;AAAA,IAAM1B,QAAU;AAAA,EAAA,GAAQ1B,QAAAkD,KAAAA,IAAAlD,EAAA,EAAA;AAAA,MAAAqD;AAAA,MAAArD,UAAAD,EAAAW,SAAAV,UAAAE,GAAA;AAAA,QAAAoD;AAAA,IAAAtD,UAAAE,KACtCoD,IAAAA,CAAAC,GAAAC,MACf,gBAAAC,EAACR,GAAA,EAAmB,OAAAO,IAAQ,GAAqB3C,MAAAA,GAAoBX,cAAAA,GAA+BC,iBAAAA,KAAhEqD,CAA+E,GACpHxD,QAAAE,GAAAF,QAAAsD,KAAAA,IAAAtD,EAAA,EAAA,GAFAqD,IAAAtD,EAAKW,MAAMgD,IAAKJ,CAEhB,GAACtD,EAAA,EAAA,IAAAD,EAAAW,OAAAV,QAAAE,GAAAF,QAAAqD;AAAAA,EAAA;AAAAA,IAAAA,IAAArD,EAAA,EAAA;AAAA,MAAAsD;AAAA,EAAAtD,UAAAqD,KAHJC,IAAA,gBAAAG,EAACE,GAAA,EAAQ,IAAAT,GACNG,UAAAA,GAGH,GAAMrD,QAAAqD,GAAArD,QAAAsD,KAAAA,IAAAtD,EAAA,EAAA;AAAA,MAAA4D;AAAA,EAAA5D,EAAA,EAAA,MAAAD,EAAA8D,YAAA7D,EAAA,EAAA,MAAAD,EAAA+D,YACNF,sBAACG,GAAA,EAAsB,UAAAhE,EAAK8D,UAAqB,UAAA9D,EAAK+D,UAAS,GAAI9D,EAAA,EAAA,IAAAD,EAAA8D,UAAA7D,EAAA,EAAA,IAAAD,EAAA+D,UAAA9D,QAAA4D,KAAAA,IAAA5D,EAAA,EAAA;AAAA,MAAAgE;AAAA,SAAAhE,EAAA,EAAA,MAAA4D,KAAA5D,UAAAgD,KAAAhD,EAAA,EAAA,MAAAsD,KApEvEU,IAAA,gBAAAP,EAACQ,GAAA,EACU,UAAA,UACL,IAAA7C,GAWJ,UAAA,gBAAA8C,EAACC,GAAA,EACM,MAAA,QACD,IAAArC,GA6CM,aAEVkB,UAAAA;AAAAA,IAAAA;AAAAA,IACAM;AAAAA,IAKAM;AAAAA,EAAAA,EAAAA,CACF,EAAA,CACF,GAAS5D,QAAA4D,GAAA5D,QAAAgD,GAAAhD,QAAAsD,GAAAtD,QAAAgE,KAAAA,IAAAhE,EAAA,EAAA,GAtETgE;AAsES;"}
@@ -1,7 +1,7 @@
1
1
  import "react/jsx-runtime";
2
2
  import "@mui/material";
3
- import "../../../chunks/lodash.DPVO3Hgf.js";
4
- import { c as e } from "../../../chunks/FieldError.7Lfieqt3.js";
3
+ import "../../../chunks/lodash.CdkV4gpV.js";
4
+ import { c as e } from "../../../chunks/FieldError.C1l5S0jl.js";
5
5
  import "../../atoms/tooltip/Tooltip.js";
6
6
  export {
7
7
  e as AoaNoLabelNumberField
@@ -1,7 +1,7 @@
1
1
  import { jsx as h } from "react/jsx-runtime";
2
- import { c as U } from "../../../chunks/compiler-runtime.CrLvXwKf.js";
2
+ import { c as U } from "../../../chunks/compiler-runtime.BNHg76kC.js";
3
3
  import { CircularProgress as k } from "@mui/material";
4
- import { l as B } from "../../../chunks/lodash.DPVO3Hgf.js";
4
+ import { l as B } from "../../../chunks/lodash.CdkV4gpV.js";
5
5
  import { AoaButton as C } from "../../atoms/button/Button.js";
6
6
  function P(b) {
7
7
  const e = U.c(30);
@@ -21,7 +21,7 @@ function P(b) {
21
21
  let p;
22
22
  e[11] !== o || e[12] !== i || e[13] !== s || e[14] !== t ? (p = s ? !1 : !!i || t || Object.keys(o ?? []).length < 1, e[11] = o, e[12] = i, e[13] = s, e[14] = t, e[15] = p) : p = e[15];
23
23
  let g;
24
- e[16] === Symbol.for("react.memo_cache_sentinel") ? (g = /* @__PURE__ */ h(k, { "aria-label": "Uploading...", size: 20 }), e[16] = g) : g = e[16];
24
+ e[16] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g = /* @__PURE__ */ h(k, { "aria-label": "Uploading...", size: 20 }), e[16] = g) : g = e[16];
25
25
  let c;
26
26
  e[17] !== r || e[18] !== n ? (c = (y) => {
27
27
  n(!0), r?.(y);
@@ -1 +1 @@
1
- {"version":3,"file":"UploadButton.js","sources":["../../../../src/components-generic/molecules/upload-button/UploadButton.tsx"],"sourcesContent":["import { CircularProgress } from '@mui/material';\nimport { merge } from 'lodash';\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 loading={isUploading}\n loadingIndicator={<CircularProgress aria-label='Uploading...' size={20} />}\n loadingPosition='start'\n onClick={(event) => {\n setIsUploading(true);\n onClick?.(event);\n }}\n sx={merge({ marginRight: 0 }, sx)}\n type={type ?? 'primary'}\n >\n {children}\n </AoaButton>\n );\n}\n"],"names":["AoaUploadButton","t0","$","_c","children","files","isDisabled","isNeverDisabled","isUploading","onClick","props","setIsUploading","sx","type","t1","Boolean","Object","keys","length","t2","Symbol","for","jsx","CircularProgress","t3","event","t4","merge","marginRight","t5","t6","AoaButton"],"mappings":";;;;;AAuCO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA;AAAA,MAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;AAAA,EAAAX,SAAAD,KAAgC;AAAA,IAAAO,aAAAA;AAAAA,IAAAF,YAAAA;AAAAA,IAAAF,UAAAA;AAAAA,IAAAQ,IAAAA;AAAAA,IAAAL,iBAAAA;AAAAA,IAAAM,MAAAA;AAAAA,IAAAR,OAAAA;AAAAA,IAAAM,gBAAAA;AAAAA,IAAAF,SAAAA;AAAAA,IAAA,GAAAC;AAAAA,EAAAA,IAAAT,GAWUC,OAAAD,GAAAC,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAM,GAAAN,OAAAO,GAAAP,OAAAQ,GAAAR,OAAAS,GAAAT,OAAAU,GAAAV,QAAAW,MAAAT,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA,GAAAM,IAAAN,EAAA,CAAA,GAAAO,IAAAP,EAAA,CAAA,GAAAQ,IAAAR,EAAA,CAAA,GAAAS,IAAAT,EAAA,CAAA,GAAAU,IAAAV,EAAA,CAAA,GAAAW,IAAAX,EAAA,EAAA;AAAA,MAAAY;AAAA,EAAAZ,EAAA,EAAA,MAAAG,KAAAH,EAAA,EAAA,MAAAI,KAAAJ,EAAA,EAAA,MAAAK,KAAAL,UAAAM,KAIjCM,IAAAP,IAAA,KAA0BQ,EAAQT,KAARE,KAAsCQ,OAAMC,KAAMZ,KAAA,EAAW,EAACa,SAAU,GAAChB,QAAAG,GAAAH,QAAAI,GAAAJ,QAAAK,GAAAL,QAAAM,GAAAN,QAAAY,KAAAA,IAAAZ,EAAA,EAAA;AAAA,MAAAiB;AAAA,EAAAjB,EAAA,EAAA,MAAAkB,OAAAC,IAAA,2BAAA,KAE3FF,IAAA,gBAAAG,EAACC,GAAA,EAA4B,cAAA,gBAAqB,MAAA,IAAE,GAAIrB,QAAAiB,KAAAA,IAAAjB,EAAA,EAAA;AAAA,MAAAsB;AAAA,EAAAtB,EAAA,EAAA,MAAAO,KAAAP,UAAAS,KAEjEa,IAAAC,CAAAA,MAAA;AACPd,IAAAA,EAAe,EAAI,GACnBF,IAAUgB,CAAK;AAAA,EAAC,GACjBvB,QAAAO,GAAAP,QAAAS,GAAAT,QAAAsB,KAAAA,IAAAtB,EAAA,EAAA;AAAA,MAAAwB;AAAA,EAAAxB,UAAAU,KACGc,IAAAC,EAAAA,MAAM;AAAA,IAAAC,aAAe;AAAA,EAAA,GAAKhB,CAAE,GAACV,QAAAU,GAAAV,QAAAwB,KAAAA,IAAAxB,EAAA,EAAA;AAC3B,QAAA2B,IAAAhB,KAAA;AAAiB,MAAAiB;AAAA,SAAA5B,EAAA,EAAA,MAAAE,KAAAF,EAAA,EAAA,MAAAM,KAAAN,EAAA,EAAA,MAAAQ,KAAAR,UAAAY,KAAAZ,EAAA,EAAA,MAAAsB,KAAAtB,EAAA,EAAA,MAAAwB,KAAAxB,EAAA,EAAA,MAAA2B,KAXzBC,sBAACC,GAAA,EAAS,GACJrB,GACM,UAAAI,GACDN,SAAAA,GACS,kBAAAW,GACF,iBAAA,SACP,SAAAK,GAIL,IAAAE,GACE,MAAAG,GAELzB,UAAAA,GACH,GAAYF,QAAAE,GAAAF,QAAAM,GAAAN,QAAAQ,GAAAR,QAAAY,GAAAZ,QAAAsB,GAAAtB,QAAAwB,GAAAxB,QAAA2B,GAAA3B,QAAA4B,KAAAA,IAAA5B,EAAA,EAAA,GAdZ4B;AAcY;"}
1
+ {"version":3,"file":"UploadButton.js","sources":["../../../../src/components-generic/molecules/upload-button/UploadButton.tsx"],"sourcesContent":["import { CircularProgress } from '@mui/material';\nimport { merge } from 'lodash';\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 loading={isUploading}\n loadingIndicator={<CircularProgress aria-label='Uploading...' size={20} />}\n loadingPosition='start'\n onClick={(event) => {\n setIsUploading(true);\n onClick?.(event);\n }}\n sx={merge({ marginRight: 0 }, sx)}\n type={type ?? 'primary'}\n >\n {children}\n </AoaButton>\n );\n}\n"],"names":["AoaUploadButton","t0","$","_c","children","files","isDisabled","isNeverDisabled","isUploading","onClick","props","setIsUploading","sx","type","t1","Boolean","Object","keys","length","t2","Symbol","for","jsx","CircularProgress","t3","event","t4","merge","marginRight","t5","t6","AoaButton"],"mappings":";;;;;AAuCO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA;AAAA,MAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;AAAA,EAAAX,SAAAD,KAAgC;AAAA,IAAAO,aAAAA;AAAAA,IAAAF,YAAAA;AAAAA,IAAAF,UAAAA;AAAAA,IAAAQ,IAAAA;AAAAA,IAAAL,iBAAAA;AAAAA,IAAAM,MAAAA;AAAAA,IAAAR,OAAAA;AAAAA,IAAAM,gBAAAA;AAAAA,IAAAF,SAAAA;AAAAA,IAAA,GAAAC;AAAAA,EAAAA,IAAAT,GAWUC,OAAAD,GAAAC,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAM,GAAAN,OAAAO,GAAAP,OAAAQ,GAAAR,OAAAS,GAAAT,OAAAU,GAAAV,QAAAW,MAAAT,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA,GAAAM,IAAAN,EAAA,CAAA,GAAAO,IAAAP,EAAA,CAAA,GAAAQ,IAAAR,EAAA,CAAA,GAAAS,IAAAT,EAAA,CAAA,GAAAU,IAAAV,EAAA,CAAA,GAAAW,IAAAX,EAAA,EAAA;AAAA,MAAAY;AAAA,EAAAZ,EAAA,EAAA,MAAAG,KAAAH,EAAA,EAAA,MAAAI,KAAAJ,EAAA,EAAA,MAAAK,KAAAL,UAAAM,KAIjCM,IAAAP,IAAA,KAA0BQ,EAAQT,KAARE,KAAsCQ,OAAMC,KAAMZ,KAAA,EAAW,EAACa,SAAU,GAAChB,QAAAG,GAAAH,QAAAI,GAAAJ,QAAAK,GAAAL,QAAAM,GAAAN,QAAAY,KAAAA,IAAAZ,EAAA,EAAA;AAAA,MAAAiB;AAAA,EAAAjB,EAAA,EAAA,MAAAkB,uBAAAC,IAAA,2BAAA,KAE3FF,IAAA,gBAAAG,EAACC,GAAA,EAA4B,cAAA,gBAAqB,MAAA,IAAE,GAAIrB,QAAAiB,KAAAA,IAAAjB,EAAA,EAAA;AAAA,MAAAsB;AAAA,EAAAtB,EAAA,EAAA,MAAAO,KAAAP,UAAAS,KAEjEa,IAAAC,CAAAA,MAAA;AACPd,IAAAA,EAAe,EAAI,GACnBF,IAAUgB,CAAK;AAAA,EAAC,GACjBvB,QAAAO,GAAAP,QAAAS,GAAAT,QAAAsB,KAAAA,IAAAtB,EAAA,EAAA;AAAA,MAAAwB;AAAA,EAAAxB,UAAAU,KACGc,IAAAC,EAAAA,MAAM;AAAA,IAAAC,aAAe;AAAA,EAAA,GAAKhB,CAAE,GAACV,QAAAU,GAAAV,QAAAwB,KAAAA,IAAAxB,EAAA,EAAA;AAC3B,QAAA2B,IAAAhB,KAAA;AAAiB,MAAAiB;AAAA,SAAA5B,EAAA,EAAA,MAAAE,KAAAF,EAAA,EAAA,MAAAM,KAAAN,EAAA,EAAA,MAAAQ,KAAAR,UAAAY,KAAAZ,EAAA,EAAA,MAAAsB,KAAAtB,EAAA,EAAA,MAAAwB,KAAAxB,EAAA,EAAA,MAAA2B,KAXzBC,sBAACC,GAAA,EAAS,GACJrB,GACM,UAAAI,GACDN,SAAAA,GACS,kBAAAW,GACF,iBAAA,SACP,SAAAK,GAIL,IAAAE,GACE,MAAAG,GAELzB,UAAAA,GACH,GAAYF,QAAAE,GAAAF,QAAAM,GAAAN,QAAAQ,GAAAR,QAAAY,GAAAZ,QAAAsB,GAAAtB,QAAAwB,GAAAxB,QAAA2B,GAAA3B,QAAA4B,KAAAA,IAAA5B,EAAA,EAAA,GAdZ4B;AAcY;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as c, jsxs as s } from "react/jsx-runtime";
2
- import { c as m } from "../../../chunks/compiler-runtime.CrLvXwKf.js";
2
+ import { c as m } from "../../../chunks/compiler-runtime.BNHg76kC.js";
3
3
  import { Container as p, Box as d } from "@mui/material";
4
4
  import { AoaSectionHeader as f } from "../../atoms/section-header/SectionHeader.js";
5
5
  function j(n) {
@@ -1,5 +1,5 @@
1
1
  import "@tanstack/react-form";
2
- import { d as t, e as s, u as r, f as m, g as F, w as x } from "../chunks/FieldError.7Lfieqt3.js";
2
+ import { d as t, e as s, u as r, f as m, g as F, w as x } from "../chunks/FieldError.C1l5S0jl.js";
3
3
  export {
4
4
  t as aoaFieldContext,
5
5
  s as aoaFormContext,
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { AoaIconButton, type AoaIconButtonProps } from './components-generic/ato
5
5
  export { AoaInput, type AoaInputProps } from './components-generic/atoms/input/Input';
6
6
  export { AoaList, type AoaListProps, type AoaListItem } from './components-generic/atoms/list/List';
7
7
  export { AoaLogo, type AoaLogoProps } from './components-generic/atoms/logo/Logo';
8
- export { AoaNoPermission, type AoaNoPermissionProps } from './components-generic/atoms/no-permission/NoPermission';
8
+ export { AoaPermissionWrapper, type AoaPermissionWrapperProps } from './components-generic/atoms/no-permission/PermissionWrapper';
9
9
  export { AoaNotification, type AoaNotificationProps } from './components-generic/atoms/notification/Notification';
10
10
  export { AoaSectionHeader, type AoaSectionHeaderProps } from './components-generic/atoms/section-header/SectionHeader';
11
11
  export { AoaCheckbox, type AoaCheckboxProps } from './components-generic/atoms/selection-buttons/checkbox/Checkbox';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,OAAO,EAAE,MAAM,qDAAqD,CAAC;AACnF,YAAY,EAAE,UAAU,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAC3G,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AACnH,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAClH,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AACvH,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gEAAgE,CAAC;AACpH,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,uEAAuE,CAAC;AACjI,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,yEAAyE,CAAC;AACrI,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC1J,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAG/F,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAC/G,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC1B,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,qDAAqD,CAAC;AAC1J,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,oEAAoE,CAAC;AACxI,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAC3H,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AACvH,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,MAAM,yEAAyE,CAAC;AAGjJ,OAAO,EACL,cAAc,IAAI,kBAAkB,EACpC,KAAK,mBAAmB,IAAI,uBAAuB,EACpD,MAAM,yDAAyD,CAAC;AAGjE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,OAAO,EAAE,MAAM,qDAAqD,CAAC;AACnF,YAAY,EAAE,UAAU,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAC3G,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AAClI,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAClH,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AACvH,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gEAAgE,CAAC;AACpH,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,uEAAuE,CAAC;AACjI,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,yEAAyE,CAAC;AACrI,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC1J,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAG/F,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAC/G,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC1B,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,qDAAqD,CAAC;AAC1J,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,oEAAoE,CAAC;AACxI,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAC3H,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AACvH,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,MAAM,yEAAyE,CAAC;AAGjJ,OAAO,EACL,cAAc,IAAI,kBAAkB,EACpC,KAAK,mBAAmB,IAAI,uBAAuB,EACpD,MAAM,yDAAyD,CAAC;AAGjE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC"}
package/dist/index.js CHANGED
@@ -1,18 +1,18 @@
1
- import { AoaButton as r } from "./components-generic/atoms/button/Button.js";
1
+ import { AoaButton as a } from "./components-generic/atoms/button/Button.js";
2
2
  import { AoaIconButton as e } from "./components-generic/atoms/icon-button/IconButton.js";
3
- import { AoaInput as m } from "./components-generic/atoms/input/Input.js";
3
+ import { AoaInput as A } from "./components-generic/atoms/input/Input.js";
4
4
  import { AoaList as x } from "./components-generic/atoms/list/List.js";
5
5
  import { AoaLogo as n } from "./components-generic/atoms/logo/Logo.js";
6
- import { AoaNoPermission as s } from "./components-generic/atoms/no-permission/NoPermission.js";
6
+ import { AoaPermissionWrapper as s } from "./components-generic/atoms/no-permission/PermissionWrapper.js";
7
7
  import { AoaNotification as d } from "./components-generic/atoms/notification/Notification.js";
8
8
  import { AoaSectionHeader as F } from "./components-generic/atoms/section-header/SectionHeader.js";
9
9
  import { AoaCheckbox as c } from "./components-generic/atoms/selection-buttons/checkbox/Checkbox.js";
10
10
  import { AoaRadioButton as b } from "./components-generic/atoms/selection-buttons/radio-button/RadioButton.js";
11
- import { AoaSwitchButton as g } from "./components-generic/atoms/selection-buttons/switch-button/SwitchButton.js";
11
+ import { AoaSwitchButton as h } from "./components-generic/atoms/selection-buttons/switch-button/SwitchButton.js";
12
12
  import { AoaTable as T } from "./components-generic/atoms/table/Table.js";
13
13
  import { AoaTooltip as L } from "./components-generic/atoms/tooltip/Tooltip.js";
14
14
  import { AoaZeroWidthSpace as S } from "./components-generic/atoms/zero-width-space/ZeroWidthSpace.js";
15
- import { A as I, a as P, b as k, c as v, d as z, e as D, u as H, f as R, g as U, w as W } from "./chunks/FieldError.7Lfieqt3.js";
15
+ import { A as I, a as P, b as W, c as k, d as v, e as z, u as D, f as H, g as R, w as U } from "./chunks/FieldError.C1l5S0jl.js";
16
16
  import { AoaFileDropzone as j } from "./components-generic/molecules/file-dropzone/FileDropzone.js";
17
17
  import { AoaFileTable as y } from "./components-generic/molecules/file-table/FileTable.js";
18
18
  import { AoaModalCloseButton as J } from "./components-generic/molecules/modal-close-button/ModalCloseButton.js";
@@ -21,36 +21,36 @@ import { AoaNavigationBar as V } from "./components-generic/molecules/navigation
21
21
  import { AoaUploadButton as Y } from "./components-generic/molecules/upload-button/UploadButton.js";
22
22
  import { AoaContentPage as $ } from "./components-generic/organisms/content-page/ContentPage.js";
23
23
  export {
24
- r as AoaButton,
24
+ a as AoaButton,
25
25
  c as AoaCheckbox,
26
26
  $ as AoaContentTemplate,
27
27
  I as AoaFieldError,
28
28
  j as AoaFileDropzone,
29
29
  y as AoaFileTable,
30
30
  P as AoaFormError,
31
- k as AoaFormModal,
31
+ W as AoaFormModal,
32
32
  e as AoaIconButton,
33
- m as AoaInput,
33
+ A as AoaInput,
34
34
  x as AoaList,
35
35
  n as AoaLogo,
36
36
  O as AoaModal,
37
37
  J as AoaModalCloseButton,
38
38
  V as AoaNavigationBar,
39
- v as AoaNoLabelNumberField,
40
- s as AoaNoPermission,
39
+ k as AoaNoLabelNumberField,
41
40
  d as AoaNotification,
41
+ s as AoaPermissionWrapper,
42
42
  b as AoaRadioButton,
43
43
  F as AoaSectionHeader,
44
- g as AoaSwitchButton,
44
+ h as AoaSwitchButton,
45
45
  T as AoaTable,
46
46
  L as AoaTooltip,
47
47
  Y as AoaUploadButton,
48
48
  S as AoaZeroWidthSpace,
49
- z as aoaFieldContext,
50
- D as aoaFormContext,
51
- H as useAoaAppForm,
52
- R as useAoaFieldContext,
53
- U as useAoaFormContext,
54
- W as withAoaForm
49
+ v as aoaFieldContext,
50
+ z as aoaFormContext,
51
+ D as useAoaAppForm,
52
+ H as useAoaFieldContext,
53
+ R as useAoaFormContext,
54
+ U as withAoaForm
55
55
  };
56
56
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rws-aoa/react-library",
3
- "version": "8.2.7",
3
+ "version": "9.0.0",
4
4
  "description": "RWS AOA Design System",
5
5
  "author": "@rws-aoa",
6
6
  "license": "Apache-2.0",
@@ -26,52 +26,52 @@
26
26
  "dependencies": {
27
27
  "@emotion/react": "^11.14.0",
28
28
  "@emotion/styled": "^11.14.1",
29
- "@mui/icons-material": "^7.3.5",
30
- "@mui/material": "^7.3.5",
29
+ "@mui/icons-material": "^7.3.7",
30
+ "@mui/material": "^7.3.7",
31
31
  "@sapphire/utilities": "^3.18.2",
32
- "@tanstack/react-router": "^1.139.7",
32
+ "@tanstack/react-router": "^1.158.0",
33
33
  "clsx": "^2.1.1",
34
- "lodash": "^4.17.21",
35
- "react": "^19.2.0",
36
- "react-dom": "^19.2.0"
34
+ "lodash": "^4.17.23",
35
+ "react": "^19.2.4",
36
+ "react-dom": "^19.2.4"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@chromatic-com/storybook": "^4.1.3",
40
40
  "@favware/cliff-jumper": "^6.0.0",
41
41
  "@fontsource/material-icons": "^5.2.7",
42
42
  "@fontsource/roboto": "^5.2.9",
43
- "@mui/system": "^7.3.5",
44
- "@mui/x-data-grid": "^8.20.0",
45
- "@mui/x-data-grid-generator": "^8.20.0",
46
- "@storybook/addon-a11y": "^9.1.16",
47
- "@storybook/addon-docs": "^9.1.16",
48
- "@storybook/addon-onboarding": "^9.1.16",
49
- "@storybook/addon-themes": "^9.1.16",
50
- "@storybook/addon-vitest": "^9.1.16",
51
- "@storybook/react-vite": "^9.1.16",
43
+ "@mui/system": "^7.3.7",
44
+ "@mui/x-data-grid": "^8.27.0",
45
+ "@mui/x-data-grid-generator": "^8.27.0",
46
+ "@storybook/addon-a11y": "^9.1.17",
47
+ "@storybook/addon-docs": "^9.1.17",
48
+ "@storybook/addon-onboarding": "^9.1.17",
49
+ "@storybook/addon-themes": "^9.1.17",
50
+ "@storybook/addon-vitest": "^9.1.17",
51
+ "@storybook/react-vite": "^9.1.17",
52
52
  "@tanstack/react-form": "1.26.0",
53
- "@types/lodash": "^4.17.21",
53
+ "@types/lodash": "^4.17.23",
54
54
  "@types/lodash.merge": "^4.6.9",
55
- "@types/react": "^19.2.7",
55
+ "@types/react": "^19.2.10",
56
56
  "@types/react-dom": "^19.2.3",
57
- "@vitejs/plugin-react": "^5.1.1",
57
+ "@vitejs/plugin-react": "^5.1.3",
58
58
  "@vitest/browser": "^3.2.4",
59
59
  "@vitest/coverage-v8": "^3.2.4",
60
60
  "babel-plugin-react-compiler": "^1.0.0",
61
- "eslint": "^9.39.1",
61
+ "eslint": "^9.39.2",
62
62
  "glob": "^13.0.0",
63
63
  "npm-run-all2": "^8.0.4",
64
- "playwright": "^1.57.0",
65
- "prettier": "^3.7.0",
66
- "react-dropzone": "^14.3.8",
64
+ "playwright": "^1.58.1",
65
+ "prettier": "^3.8.1",
66
+ "react-dropzone": "^14.4.0",
67
67
  "react-toastify": "^11.0.5",
68
68
  "remark-gfm": "^4.0.1",
69
- "storybook": "^9.1.16",
70
- "stylelint": "^16.26.0",
69
+ "storybook": "^9.1.17",
70
+ "stylelint": "^16.26.1",
71
71
  "tslib": "^2.8.1",
72
72
  "typescript": "^5.9.3",
73
- "vite": "^7.2.4",
74
- "vite-plugin-checker": "^0.11.0",
73
+ "vite": "^7.3.1",
74
+ "vite-plugin-checker": "^0.12.0",
75
75
  "vite-plugin-dts": "^4.5.4",
76
76
  "vite-plugin-lib-inject-css": "^2.2.2",
77
77
  "vitest": "^3.2.4"
@@ -182,14 +182,14 @@
182
182
  "types": "./dist/components-generic/molecules/no-label-number-field/NoLabelNumberField.d.ts",
183
183
  "default": "./dist/components-generic/molecules/no-label-number-field/NoLabelNumberField.js"
184
184
  },
185
- "./nopermission": {
186
- "types": "./dist/components-generic/atoms/no-permission/NoPermission.d.ts",
187
- "default": "./dist/components-generic/atoms/no-permission/NoPermission.js"
188
- },
189
185
  "./notification": {
190
186
  "types": "./dist/components-generic/atoms/notification/Notification.d.ts",
191
187
  "default": "./dist/components-generic/atoms/notification/Notification.js"
192
188
  },
189
+ "./permissionwrapper": {
190
+ "types": "./dist/components-generic/atoms/no-permission/PermissionWrapper.d.ts",
191
+ "default": "./dist/components-generic/atoms/no-permission/PermissionWrapper.js"
192
+ },
193
193
  "./radiobutton": {
194
194
  "types": "./dist/components-generic/atoms/selection-buttons/radio-button/RadioButton.d.ts",
195
195
  "default": "./dist/components-generic/atoms/selection-buttons/radio-button/RadioButton.js"