@rws-aoa/react-library 7.1.1 → 8.1.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 (80) hide show
  1. package/dist/chunks/{FieldError.DXcLGJ_k.js → FieldError.5EPMwcGp.js} +3 -3
  2. package/dist/chunks/FieldError.5EPMwcGp.js.map +1 -0
  3. package/dist/chunks/{compiler-runtime.hDcrsMwn.js → compiler-runtime.CrLvXwKf.js} +1 -19
  4. package/dist/chunks/{compiler-runtime.hDcrsMwn.js.map → compiler-runtime.CrLvXwKf.js.map} +1 -1
  5. package/dist/chunks/{lodash.CA_K01A9.js → lodash.DPVO3Hgf.js} +1 -9
  6. package/dist/chunks/{lodash.CA_K01A9.js.map → lodash.DPVO3Hgf.js.map} +1 -1
  7. package/dist/components/atoms/_menu/menu-item/MenuItem.d.ts.map +1 -1
  8. package/dist/components/atoms/_menu/menu-item/MenuItem.js +1 -1
  9. package/dist/components/atoms/_menu/menu-item/MenuItem.js.map +1 -1
  10. package/dist/components/atoms/_menu/user-menu/UserMenu.js +2 -2
  11. package/dist/components/atoms/button/Button.d.ts.map +1 -1
  12. package/dist/components/atoms/button/Button.js +1 -1
  13. package/dist/components/atoms/button/Button.js.map +1 -1
  14. package/dist/components/atoms/icon-button/IconButton.js +28 -31
  15. package/dist/components/atoms/icon-button/IconButton.js.map +1 -1
  16. package/dist/components/atoms/input/Input.d.ts.map +1 -1
  17. package/dist/components/atoms/input/Input.js +1 -1
  18. package/dist/components/atoms/input/Input.js.map +1 -1
  19. package/dist/components/atoms/list/List.d.ts +42 -0
  20. package/dist/components/atoms/list/List.d.ts.map +1 -0
  21. package/dist/components/atoms/list/List.js +38 -0
  22. package/dist/components/atoms/list/List.js.map +1 -0
  23. package/dist/components/atoms/logo/Logo.js +1 -1
  24. package/dist/components/atoms/no-permission/NoPermission.js +1 -1
  25. package/dist/components/atoms/notification/Notification.js +1 -1
  26. package/dist/components/atoms/notification/_icons/Error.js +1 -1
  27. package/dist/components/atoms/notification/_icons/Info.js +1 -1
  28. package/dist/components/atoms/notification/_icons/Success.js +1 -1
  29. package/dist/components/atoms/notification/_icons/Warning.js +1 -1
  30. package/dist/components/atoms/section-header/SectionHeader.d.ts.map +1 -1
  31. package/dist/components/atoms/section-header/SectionHeader.js +1 -1
  32. package/dist/components/atoms/section-header/SectionHeader.js.map +1 -1
  33. package/dist/components/atoms/selection-buttons/checkbox/Checkbox.d.ts.map +1 -1
  34. package/dist/components/atoms/selection-buttons/checkbox/Checkbox.js +1 -1
  35. package/dist/components/atoms/selection-buttons/checkbox/Checkbox.js.map +1 -1
  36. package/dist/components/atoms/selection-buttons/radio-button/RadioButton.d.ts.map +1 -1
  37. package/dist/components/atoms/selection-buttons/radio-button/RadioButton.js +1 -1
  38. package/dist/components/atoms/selection-buttons/radio-button/RadioButton.js.map +1 -1
  39. package/dist/components/atoms/table/Table.d.ts +2 -5
  40. package/dist/components/atoms/table/Table.d.ts.map +1 -1
  41. package/dist/components/atoms/table/Table.js +28 -33
  42. package/dist/components/atoms/table/Table.js.map +1 -1
  43. package/dist/components/atoms/table/_QuickSearchToolbar.d.ts.map +1 -1
  44. package/dist/components/atoms/table/_QuickSearchToolbar.js +1 -31
  45. package/dist/components/atoms/table/_QuickSearchToolbar.js.map +1 -1
  46. package/dist/components/atoms/tooltip/Tooltip.d.ts.map +1 -1
  47. package/dist/components/atoms/tooltip/Tooltip.js +1 -1
  48. package/dist/components/atoms/tooltip/Tooltip.js.map +1 -1
  49. package/dist/components/atoms/zero-width-space/ZeroWidthSpace.js +1 -1
  50. package/dist/components/molecules/field-error/FieldError.d.ts.map +1 -1
  51. package/dist/components/molecules/field-error/FieldError.js +2 -2
  52. package/dist/components/molecules/file-dropzone/FileDropzone.d.ts.map +1 -1
  53. package/dist/components/molecules/file-dropzone/FileDropzone.js +1 -1
  54. package/dist/components/molecules/file-dropzone/FileDropzone.js.map +1 -1
  55. package/dist/components/molecules/file-table/FileTable.d.ts +4 -7
  56. package/dist/components/molecules/file-table/FileTable.d.ts.map +1 -1
  57. package/dist/components/molecules/file-table/FileTable.js +2 -2
  58. package/dist/components/molecules/file-table/FileTable.js.map +1 -1
  59. package/dist/components/molecules/form-error/FormError.d.ts.map +1 -1
  60. package/dist/components/molecules/form-error/FormError.js +2 -2
  61. package/dist/components/molecules/form-modal/FormModal.d.ts.map +1 -1
  62. package/dist/components/molecules/form-modal/FormModal.js +3 -3
  63. package/dist/components/molecules/modal/Modal.d.ts.map +1 -1
  64. package/dist/components/molecules/modal/Modal.js +2 -2
  65. package/dist/components/molecules/modal/Modal.js.map +1 -1
  66. package/dist/components/molecules/modal-close-button/ModalCloseButton.js +1 -1
  67. package/dist/components/molecules/navigation-bar/NavigationBar.d.ts.map +1 -1
  68. package/dist/components/molecules/navigation-bar/NavigationBar.js +2 -2
  69. package/dist/components/molecules/navigation-bar/NavigationBar.js.map +1 -1
  70. package/dist/components/molecules/upload-button/UploadButton.js +2 -2
  71. package/dist/components/organisms/content-page/ContentPage.js +1 -1
  72. package/dist/contexts/TanstackFormContext.d.ts +1 -1
  73. package/dist/contexts/TanstackFormContext.d.ts.map +1 -1
  74. package/dist/contexts/TanstackFormContext.js +1 -1
  75. package/dist/index.d.ts +1 -0
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +46 -44
  78. package/dist/index.js.map +1 -1
  79. package/package.json +34 -30
  80. package/dist/chunks/FieldError.DXcLGJ_k.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rws-aoa/react-library",
3
- "version": "7.1.1",
3
+ "version": "8.1.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.1",
30
- "@mui/material": "^7.3.1",
31
- "@tanstack/react-router": "^1.131.28",
29
+ "@mui/icons-material": "^7.3.5",
30
+ "@mui/material": "^7.3.5",
31
+ "@tanstack/react-router": "^1.134.12",
32
32
  "clsx": "^2.1.1",
33
33
  "lodash": "^4.17.21",
34
- "react": "^19.1.1",
35
- "react-dom": "^19.1.1"
34
+ "react": "^19.2.0",
35
+ "react-dom": "^19.2.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@chromatic-com/storybook": "^4.1.1",
38
+ "@chromatic-com/storybook": "^4.1.2",
39
39
  "@favware/cliff-jumper": "^6.0.0",
40
- "@fontsource/material-icons": "^5.2.5",
41
- "@fontsource/roboto": "^5.2.6",
42
- "@mui/system": "^7.3.1",
43
- "@mui/x-data-grid": "^8.10.2",
44
- "@mui/x-data-grid-generator": "^8.10.2",
45
- "@storybook/addon-a11y": "^9.1.3",
40
+ "@fontsource/material-icons": "^5.2.7",
41
+ "@fontsource/roboto": "^5.2.8",
42
+ "@mui/system": "^7.3.5",
43
+ "@mui/x-data-grid": "^8.16.0",
44
+ "@mui/x-data-grid-generator": "^8.16.0",
45
+ "@storybook/addon-a11y": "^9.1.16",
46
46
  "@storybook/addon-console": "^3.0.0",
47
- "@storybook/addon-docs": "^9.1.3",
48
- "@storybook/addon-onboarding": "^9.1.3",
49
- "@storybook/addon-themes": "^9.1.3",
50
- "@storybook/addon-vitest": "9.1.3",
51
- "@storybook/react-vite": "^9.1.3",
52
- "@tanstack/react-form": "1.19.2",
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",
52
+ "@tanstack/react-form": "1.23.8",
53
53
  "@types/lodash": "^4.17.20",
54
54
  "@types/lodash.merge": "^4.6.9",
55
- "@types/react": "^19.1.12",
56
- "@types/react-dom": "^19.1.9",
57
- "@vitejs/plugin-react": "^5.0.2",
55
+ "@types/react": "^19.2.2",
56
+ "@types/react-dom": "^19.2.2",
57
+ "@vitejs/plugin-react": "^5.1.0",
58
58
  "@vitest/browser": "^3.2.4",
59
59
  "@vitest/coverage-v8": "^3.2.4",
60
- "babel-plugin-react-compiler": "^19.1.0-rc.2",
61
- "eslint": "^9.34.0",
60
+ "babel-plugin-react-compiler": "^19.1.0-rc.3",
61
+ "eslint": "^9.39.1",
62
62
  "glob": "^11.0.3",
63
63
  "npm-run-all2": "^8.0.4",
64
- "playwright": "^1.55.0",
64
+ "playwright": "^1.56.1",
65
65
  "prettier": "^3.6.2",
66
66
  "react-dropzone": "^14.3.8",
67
67
  "react-toastify": "^11.0.5",
68
68
  "remark-gfm": "^4.0.1",
69
- "storybook": "^9.1.3",
70
- "stylelint": "^16.23.1",
69
+ "storybook": "^9.1.16",
70
+ "stylelint": "^16.25.0",
71
71
  "tslib": "^2.8.1",
72
- "typescript": "^5.9.2",
73
- "vite": "^7.1.3",
74
- "vite-plugin-checker": "^0.10.3",
72
+ "typescript": "^5.9.3",
73
+ "vite": "^7.2.0",
74
+ "vite-plugin-checker": "^0.11.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"
@@ -154,6 +154,10 @@
154
154
  "types": "./dist/components/atoms/input/Input.d.ts",
155
155
  "default": "./dist/components/atoms/input/Input.js"
156
156
  },
157
+ "./list": {
158
+ "types": "./dist/components/atoms/list/List.d.ts",
159
+ "default": "./dist/components/atoms/list/List.js"
160
+ },
157
161
  "./logo": {
158
162
  "types": "./dist/components/atoms/logo/Logo.d.ts",
159
163
  "default": "./dist/components/atoms/logo/Logo.js"
@@ -1 +0,0 @@
1
- {"version":3,"file":"FieldError.DXcLGJ_k.js","sources":["../../src/components/molecules/form-error/FormError.tsx","../../src/components/molecules/form-modal/FormModal.tsx","../../src/contexts/TanstackFormContext.ts","../../src/components/molecules/field-error/FieldError.tsx"],"sourcesContent":["import { useAoaFormContext } from '../../../contexts/TanstackFormContext';\nimport { AoaNotification, type Severity } from '../../atoms/notification/Notification';\n\nexport interface AoaFormErrorProps {\n readonly 'data-qa'?: string;\n}\n\n/**\n * Constructs a custom error message for a form **using pre-defined Rijks styling**\n *\n * This component is intended for internal use only and should always be used through `<form.AoaFormError />`\n *\n * @internal\n * @param param0 - Props to pass to the form error\n * @returns A custom error message for a form\n * @example\n * ```jsx\n * <form.AppForm>\n * <form.AoaFormError />\n * </form.AppForm>\n * ```\n */\nexport function AoaFormError({ 'data-qa': dataQa }: AoaFormErrorProps) {\n const form = useAoaFormContext();\n\n return (\n <form.Subscribe selector={(state) => state.errors}>\n {(errors) => {\n if (errors.length) {\n const error = errors.at(0);\n\n if (typeof error === 'string') {\n return <AoaNotification data-qa={dataQa ?? 'form-error'} message={error} severity='error' />;\n } else if (error && typeof error === 'object') {\n const parsedLevel = ['error', 'info', 'success', 'warning'].includes(error.level)\n ? (error.level as Severity)\n : 'error';\n return <AoaNotification data-qa={dataQa ?? 'form-error'} message={error.message} severity={parsedLevel} />;\n }\n }\n\n return null;\n }}\n </form.Subscribe>\n );\n}\n","import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material';\nimport { merge } from 'lodash';\nimport { useAoaFormContext } from '../../../contexts/TanstackFormContext';\nimport { AoaButton, type AoaButtonProps } from '../../atoms/button/Button';\nimport type { AoaModalProps } from '../modal/Modal';\nimport { AoaModalCloseButton, type AoaModalCloseButtonProps } from '../modal-close-button/ModalCloseButton';\n\nexport interface AoaFormModalQAs {\n /**\n * Data-qa tag applied to the \"cancel\" button\n */\n cancelButton?: string;\n /**\n * Data-qa tag applied to the `DialogActions` component\n */\n dialogActions?: string;\n /**\n * Data-qa tag applied to the HTML `form` element\n */\n form?: string;\n /**\n * Data-qa tag applied to the \"submit\" button\n */\n submitButton?: string;\n}\n\nexport interface AoaFormModalLabels {\n cancel: string;\n submit: string;\n}\n\nexport interface AoaFormModalProps extends Omit<AoaModalProps, 'dialogActions'>, AoaModalCloseButtonProps {\n /**\n * Additional properties to provide to the {@link AoaButton | submit button}\n */\n AoaSubmitButtonProps?: Omit<AoaButtonProps, 'buttonType' | 'data-qa' | 'disabled' | 'onClick' | 'type'> & {\n disableWithFormState?: boolean;\n };\n /**\n * Labels for the buttons in {@link DialogActions}\n */\n formLabels: AoaFormModalLabels;\n /**\n * data-qa tags for the components in the form section of the modal\n */\n formModalQas?: AoaFormModalQAs;\n /**\n * Optionally the `name` property for the HTML form element\n */\n formName?: string;\n}\n\n/**\n * Constructs a modal **for holding a Form** using pre-defined Rijks styling\n *\n * For a modal without a form see `AoaModal`\n *\n * This component is intended for internal use only and should always be used through `<form.AoaFormModal />`\n *\n * @internal\n * @param props - Props to pass to the modal - {@link ModalProps}\n * @example\n * ```jsx\n * <form.AppForm>\n * <form.AoaFormModal\n * open={true}\n * formLabels={{\n * submit: 'submit',\n * cancel: 'cancel'\n * }}\n * formModalQas={{\n * cancelButton: 'cancel-button',\n * dialogActions: 'dialog-actions,\n * form: 'form',\n * submitButton: 'confirm-button'\n * }}\n * closeAction={handleClose}\n * topic='topic'\n * modalQas={{\n * modal: 'modal',\n * content: 'modal-content',\n * title: 'modal-title'\n * }}\n * formName='form'\n * dialogContent={content}\n * />\n * </form.AppForm>\n * ```\n */\nexport function AoaFormModal({\n formModalQas,\n formLabels,\n formName,\n DialogProps,\n DialogTitleProps,\n DialogContentProps,\n AoaSubmitButtonProps: { disableWithFormState, ...AoaSubmitButtonProps } = {},\n modalQas,\n open,\n topic,\n dialogContent,\n closeAction\n}: Readonly<AoaFormModalProps>) {\n const form = useAoaFormContext();\n\n const SubmitButton = disableWithFormState ? (\n <form.Subscribe selector={(state) => [state.isSubmitting, state.canSubmit] as const}>\n {([isSubmitting, canSubmit]) => (\n <AoaButton\n {...AoaSubmitButtonProps}\n aria-disabled={isSubmitting || !canSubmit}\n buttonType='submit'\n data-qa={formModalQas?.submitButton ?? 'submit-form'}\n disabled={isSubmitting || !canSubmit}\n type='primary'\n >\n {formLabels.submit}\n </AoaButton>\n )}\n </form.Subscribe>\n ) : (\n <AoaButton\n {...AoaSubmitButtonProps}\n buttonType='submit'\n data-qa={formModalQas?.submitButton ?? 'submit-form'}\n type='primary'\n >\n {formLabels.submit}\n </AoaButton>\n );\n\n return (\n <Dialog\n {...DialogProps}\n data-qa={modalQas?.modal ?? 'modal'}\n open={Boolean(open)}\n sx={merge(\n {\n '> div > div': {\n borderRadius: 0\n }\n },\n DialogProps?.sx\n )}\n >\n <DialogTitle\n {...DialogTitleProps}\n data-qa={modalQas?.title ?? 'modal-title'}\n maxWidth='sm'\n sx={merge(\n {\n padding: '3rem 3rem 1rem',\n color: 'var(--color-rijks-logoblue)',\n fontSize: '1.1rem',\n fontWeight: 'bolder'\n },\n DialogTitleProps?.sx\n )}\n >\n {topic}\n </DialogTitle>\n <AoaModalCloseButton closeAction={closeAction} />\n <form\n data-qa={formModalQas?.form ?? 'form'}\n name={formName}\n onSubmit={async (event) => {\n event.preventDefault();\n event.stopPropagation();\n await form.handleSubmit();\n }}\n >\n <DialogContent\n {...DialogContentProps}\n data-qa={modalQas?.content ?? 'modal-content'}\n sx={merge(\n {\n padding: '0 3rem 2rem'\n },\n DialogContentProps?.sx\n )}\n >\n {dialogContent}\n </DialogContent>\n <DialogActions data-qa={formModalQas?.dialogActions ?? 'dialog-actions'}>\n <AoaButton\n data-qa={formModalQas?.cancelButton ?? 'cancel-form'}\n onClick={() => {\n form.reset();\n closeAction();\n }}\n type='secondary'\n >\n {formLabels.cancel}\n </AoaButton>\n {SubmitButton}\n </DialogActions>\n </form>\n </Dialog>\n );\n}\n","import { createFormHook, createFormHookContexts } from '@tanstack/react-form';\nimport { AoaFieldError } from '../components/molecules/field-error/FieldError';\nimport { AoaFormError } from '../components/molecules/form-error/FormError';\nimport { AoaFormModal } from '../components/molecules/form-modal/FormModal';\n\nexport const {\n fieldContext: aoaFieldContext,\n formContext: aoaFormContext,\n useFieldContext: useAoaFieldContext,\n useFormContext: useAoaFormContext\n} = createFormHookContexts();\n\nexport const { useAppForm: useAoaAppForm, withForm: withAoaForm } = createFormHook({\n fieldContext: aoaFieldContext,\n formContext: aoaFormContext,\n fieldComponents: {\n AoaFieldError\n },\n formComponents: {\n AoaFormModal,\n AoaFormError\n }\n});\n","import { useAoaFieldContext } from '../../../contexts/TanstackFormContext';\nimport { AoaNotification, type Severity } from '../../atoms/notification/Notification';\n\nexport interface AoaFieldErrorProps {\n readonly 'data-qa'?: string;\n}\n\n/**\n * Constructs a custom error message for a field **using pre-defined Rijks styling**\n *\n * This component is intended for internal use only and should always be used through `<field.AoaFieldError />`\n *\n * @internal\n * @param param0 - Props to pass to the field error\n * @returns A custom error message for a field\n * @example\n * ```jsx\n * <form.AppField name='name'>\n * {(field) => {\n * return <field.AoaFieldError />;\n * }}\n * </form.AppField>\n * ```\n */\nexport function AoaFieldError<TData>({ 'data-qa': dataQa }: AoaFieldErrorProps) {\n const field = useAoaFieldContext<TData>();\n\n if (field.state.meta.isTouched && field.state.meta.errors.length) {\n const error = field.state.meta.errors.at(0);\n\n if (typeof error === 'string') {\n return <AoaNotification data-qa={dataQa ?? 'field-error'} message={error} severity='error' />;\n } else if (error && typeof error === 'object') {\n const parsedLevel = ['error', 'info', 'success', 'warning'].includes(error.level)\n ? (error.level as Severity)\n : 'error';\n return <AoaNotification data-qa={dataQa ?? 'field-error'} message={error.message} severity={parsedLevel} />;\n }\n }\n\n return null;\n}\n"],"names":["AoaFormError","t0","$","_c","dataQa","form","useAoaFormContext","t1","errors","length","error","at","jsx","AoaNotification","parsedLevel","includes","level","message","t2","Subscribe","_temp","state","AoaFormModal","formModalQas","formLabels","formName","DialogProps","DialogTitleProps","DialogContentProps","AoaSubmitButtonProps","modalQas","open","topic","dialogContent","closeAction","undefined","disableWithFormState","t3","submit","submitButton","t4","isSubmitting","canSubmit","AoaButton","SubmitButton","modal","t5","Boolean","t6","sx","merge","borderRadius","t7","title","t8","padding","color","fontSize","fontWeight","t9","DialogTitle","t10","AoaModalCloseButton","t11","t12","event","preventDefault","stopPropagation","handleSubmit","t13","content","t14","t15","DialogContent","t16","dialogActions","t17","cancelButton","t18","reset","t19","cancel","t20","DialogActions","t21","t22","jsxs","Dialog","fieldContext","aoaFieldContext","formContext","aoaFormContext","useFieldContext","useAoaFieldContext","useFormContext","createFormHookContexts","useAppForm","useAoaAppForm","withForm","withAoaForm","createFormHook","fieldComponents","AoaFieldError","formComponents","field","meta","isTouched"],"mappings":"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"}