@madie/madie-design-system 1.2.76 → 1.2.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/MadieDialog/index.jsx +2 -2
- package/components/RichTextEditor/index.jsx +88 -65
- package/coverage/clover.xml +602 -416
- package/coverage/coverage-final.json +39 -36
- package/coverage/lcov-report/InputLabel/index.html +5 -5
- package/coverage/lcov-report/InputLabel/index.jsx.html +7 -7
- package/coverage/lcov-report/MadieTooltip/index.html +36 -21
- package/coverage/lcov-report/MadieTooltip/index.jsx.html +34 -37
- package/coverage/lcov-report/MadieTooltip/index.scss.html +274 -0
- package/coverage/lcov-report/MadieTooltipIcon/index.html +21 -21
- package/coverage/lcov-report/MadieTooltipIcon/index.jsx.html +14 -14
- package/coverage/lcov-report/TextField/index.html +17 -17
- package/coverage/lcov-report/TextField/index.jsx.html +19 -103
- package/coverage/lcov-report/index.html +253 -118
- package/coverage/lcov-report/react/components/Accordion/index.html +2 -2
- package/coverage/lcov-report/react/components/Accordion/index.jsx.html +15 -15
- package/coverage/lcov-report/react/components/Alert/index.html +116 -0
- package/coverage/lcov-report/react/components/Alert/index.js.html +250 -0
- package/coverage/lcov-report/react/components/AutoComplete/AutoComplete.jsx.html +868 -0
- package/coverage/lcov-report/react/components/AutoComplete/index.html +116 -0
- package/coverage/lcov-report/react/components/Breadcrumb/index.html +116 -0
- package/coverage/lcov-report/react/components/Breadcrumb/index.js.html +361 -0
- package/coverage/lcov-report/react/components/Button/index.html +2 -2
- package/coverage/lcov-report/react/components/Button/index.js.html +18 -18
- package/coverage/lcov-report/react/components/DateField/DateField.jsx.html +36 -123
- package/coverage/lcov-report/react/components/DateField/index.html +16 -16
- package/coverage/lcov-report/react/components/DateTimeField/DateTimeField.jsx.html +56 -14
- package/coverage/lcov-report/react/components/DateTimeField/index.html +10 -10
- package/coverage/lcov-report/react/components/Dropdown/index.html +116 -0
- package/coverage/lcov-report/react/components/Dropdown/index.js.html +340 -0
- package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
- package/coverage/lcov-report/react/components/Error/index.html +1 -1
- package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
- package/coverage/lcov-report/react/components/Footer/index.html +1 -1
- package/coverage/lcov-report/react/components/FormControlLabel/index.html +116 -0
- package/coverage/lcov-report/react/components/FormControlLabel/index.jsx.html +154 -0
- package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/index.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/index.js.html +1 -1
- package/coverage/lcov-report/react/components/InputLabel/index.html +6 -6
- package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +8 -8
- package/coverage/lcov-report/react/components/Instant/index.html +116 -0
- package/coverage/lcov-report/react/components/Instant/index.jsx.html +886 -0
- package/coverage/lcov-report/react/components/Link/index.html +116 -0
- package/coverage/lcov-report/react/components/Link/index.js.html +268 -0
- package/coverage/lcov-report/react/components/MadieAlert/index.html +16 -16
- package/coverage/lcov-report/react/components/MadieAlert/index.jsx.html +875 -149
- package/coverage/lcov-report/{DateTimeField → react/components/MadieConfirmDialog}/index.html +19 -19
- package/coverage/lcov-report/react/components/MadieConfirmDialog/index.jsx.html +277 -0
- package/coverage/lcov-report/react/components/MadieDeleteDialog/index.html +4 -4
- package/coverage/lcov-report/react/components/MadieDeleteDialog/index.jsx.html +17 -11
- package/coverage/lcov-report/react/components/MadieDialog/index.html +18 -18
- package/coverage/lcov-report/react/components/MadieDialog/index.jsx.html +233 -92
- package/coverage/lcov-report/react/components/MadieDiscardDialog/index.html +2 -2
- package/coverage/lcov-report/react/components/MadieDiscardDialog/index.jsx.html +4 -4
- package/coverage/lcov-report/react/components/MadieSpinner/index.html +2 -2
- package/coverage/lcov-report/react/components/MadieSpinner/index.jsx.html +4 -4
- package/coverage/lcov-report/react/components/MadieTooltip/index.html +2 -2
- package/coverage/lcov-report/react/components/MadieTooltip/index.jsx.html +6 -6
- package/coverage/lcov-report/react/components/MadieTooltip/index.scss.html +274 -0
- package/coverage/lcov-report/react/components/MadieTooltipIcon/index.html +2 -2
- package/coverage/lcov-report/react/components/MadieTooltipIcon/index.jsx.html +4 -4
- package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +553 -0
- package/coverage/lcov-report/react/components/Modal/index.html +131 -0
- package/coverage/lcov-report/react/components/Modal/index.jsx.html +139 -0
- package/coverage/lcov-report/react/components/NumberInput/index.html +116 -0
- package/coverage/lcov-report/react/components/NumberInput/index.jsx.html +310 -0
- package/coverage/lcov-report/react/components/Pagination/index.html +2 -2
- package/coverage/lcov-report/react/components/Pagination/index.jsx.html +6 -6
- package/coverage/lcov-report/react/components/Popover/index.html +6 -6
- package/coverage/lcov-report/react/components/Popover/index.js.html +17 -14
- package/coverage/lcov-report/react/components/RadioButton/RadioButton.jsx.html +490 -0
- package/coverage/lcov-report/react/components/RadioButton/index.html +116 -0
- package/coverage/lcov-report/react/components/ReadOnlyTextField/index.html +6 -6
- package/coverage/lcov-report/react/components/ReadOnlyTextField/index.jsx.html +25 -193
- package/coverage/lcov-report/react/components/RichTextEditor/index.html +116 -0
- package/coverage/lcov-report/react/components/RichTextEditor/index.jsx.html +922 -0
- package/coverage/lcov-report/react/components/Search/index.html +116 -0
- package/coverage/lcov-report/react/components/Search/index.js.html +343 -0
- package/coverage/lcov-report/react/components/Select/index.html +10 -10
- package/coverage/lcov-report/react/components/Select/index.jsx.html +35 -23
- package/coverage/lcov-report/react/components/Tabs/Tab.js.html +11 -11
- package/coverage/lcov-report/react/components/Tabs/TabPanel.js.html +208 -0
- package/coverage/lcov-report/react/components/Tabs/index.html +34 -19
- package/coverage/lcov-report/react/components/Tabs/index.js.html +114 -51
- package/coverage/lcov-report/react/components/TextArea/index.html +10 -10
- package/coverage/lcov-report/react/components/TextArea/index.jsx.html +93 -9
- package/coverage/lcov-report/react/components/TextField/index.html +12 -12
- package/coverage/lcov-report/react/components/TextField/index.jsx.html +171 -63
- package/coverage/lcov-report/react/components/TextInput/index.html +116 -0
- package/coverage/lcov-report/react/components/TextInput/index.js.html +496 -0
- package/coverage/lcov-report/{DateTimeField/DateTimeField.jsx.html → react/components/TimeField/TimeField.jsx.html} +109 -76
- package/coverage/lcov-report/react/components/TimeField/index.html +116 -0
- package/coverage/lcov-report/react/components/Toast/index.html +2 -2
- package/coverage/lcov-report/react/components/Toast/index.jsx.html +9 -9
- package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/index.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/index.js.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/position.js.html +1 -1
- package/coverage/lcov-report/react/components/TruncateText/index.html +116 -0
- package/coverage/lcov-report/react/components/TruncateText/index.js.html +241 -0
- package/coverage/lcov-report/react/components/index.html +116 -0
- package/coverage/lcov-report/react/components/index.js.html +547 -0
- package/coverage/lcov-report/react/index.html +18 -18
- package/coverage/lcov-report/react/index.js.html +20 -26
- package/coverage/lcov-report/react/lib/Chevron.jsx.html +5 -5
- package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +41 -41
- package/coverage/lcov-report/react/lib/index.html +2 -2
- package/coverage/lcov-report/react/themes/actionCenterTheme.js.html +175 -0
- package/coverage/lcov-report/react/themes/index.html +116 -0
- package/coverage/lcov.info +1252 -798
- package/dist/browser.js +1 -1
- package/dist/index.js +1 -1
- package/dist/react/index.js +2 -2
- package/dist/react/index.js.map +1 -1
- package/package.json +1 -1
- package/storybook-static/1606.9527419c.iframe.bundle.js +76 -0
- package/storybook-static/1606.9527419c.iframe.bundle.js.LICENSE.txt +8 -0
- package/storybook-static/1606.9527419c.iframe.bundle.js.map +1 -0
- package/storybook-static/1822.72412063.iframe.bundle.js +2 -0
- package/storybook-static/1822.72412063.iframe.bundle.js.LICENSE.txt +5 -0
- package/storybook-static/2247.8b06a622.iframe.bundle.js +87 -0
- package/storybook-static/2247.8b06a622.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/2247.8b06a622.iframe.bundle.js.map +1 -0
- package/storybook-static/2360.690c5cd8.iframe.bundle.js +1 -0
- package/storybook-static/2505.5a3351ca.iframe.bundle.js +2 -0
- package/storybook-static/2505.5a3351ca.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/2543.64e1c8c6.iframe.bundle.js +2 -0
- package/storybook-static/2543.64e1c8c6.iframe.bundle.js.LICENSE.txt +8 -0
- package/storybook-static/2763.e9244c7e.iframe.bundle.js +1 -0
- package/storybook-static/3009.7080427c.iframe.bundle.js +1 -0
- package/storybook-static/312.98473fc0.iframe.bundle.js +2 -0
- package/storybook-static/312.98473fc0.iframe.bundle.js.LICENSE.txt +17 -0
- package/storybook-static/3264.1483ccad.iframe.bundle.js +1 -0
- package/storybook-static/3461.b9b84310.iframe.bundle.js +29 -0
- package/storybook-static/3461.b9b84310.iframe.bundle.js.map +1 -0
- package/storybook-static/4246.3dee0bc1.iframe.bundle.js +1 -0
- package/storybook-static/4683.334f6a20.iframe.bundle.js +1 -0
- package/storybook-static/4753.b31cfa9b.iframe.bundle.js +1 -0
- package/storybook-static/4788.aa09e5f9.iframe.bundle.js +1 -0
- package/storybook-static/5043.53f3bb0c.iframe.bundle.js +2 -0
- package/storybook-static/5043.53f3bb0c.iframe.bundle.js.LICENSE.txt +1 -0
- package/storybook-static/5467.8b66ac25.iframe.bundle.js +1 -0
- package/storybook-static/6357.6600668a.iframe.bundle.js +1 -0
- package/storybook-static/651.1fcfd284.iframe.bundle.js +1 -0
- package/storybook-static/6520.84e91a57.iframe.bundle.js +2 -0
- package/storybook-static/6520.84e91a57.iframe.bundle.js.LICENSE.txt +19 -0
- package/storybook-static/6958.8a916fa2.iframe.bundle.js +1 -0
- package/storybook-static/7599.3f695d6a.iframe.bundle.js +1 -0
- package/storybook-static/7648.6ac96dea.iframe.bundle.js +1 -0
- package/storybook-static/7737.8a6a8e54.iframe.bundle.js +1 -0
- package/storybook-static/8255.e2a8ed59.iframe.bundle.js +2 -0
- package/storybook-static/8255.e2a8ed59.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/8735.566590af.iframe.bundle.js +2 -0
- package/storybook-static/8735.566590af.iframe.bundle.js.LICENSE.txt +29 -0
- package/storybook-static/9010.9ac07800.iframe.bundle.js +1 -0
- package/storybook-static/9060.b9282f66.iframe.bundle.js +1 -0
- package/storybook-static/9249.28266e92.iframe.bundle.js +1 -0
- package/storybook-static/9859.25828a48.iframe.bundle.js +2 -0
- package/storybook-static/9859.25828a48.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/Accordion-Accordion-stories.dbeb9f2a.iframe.bundle.js +2 -0
- package/storybook-static/Accordion-Accordion-stories.dbeb9f2a.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/AutoComplete-AutoComplete-stories.3fa69ad4.iframe.bundle.js +1 -0
- package/storybook-static/Button-Button-stories.c56437c4.iframe.bundle.js +1 -0
- package/storybook-static/DateField-DateField-stories.9e1b9e5c.iframe.bundle.js +1 -0
- package/storybook-static/DateTimeField-DateTimeField-stories.4d184efd.iframe.bundle.js +1 -0
- package/storybook-static/Instant-Instant-stories.cdd1bf7f.iframe.bundle.js +1 -0
- package/storybook-static/MadieAlert-MadieAlert-stories.b0a784a8.iframe.bundle.js +1 -0
- package/storybook-static/MadieConfirmDialog-MadieConfirmDialog-stories.2629a704.iframe.bundle.js +1 -0
- package/storybook-static/MadieDeleteDialog-MadieDeleteDialog-stories.0f91e77f.iframe.bundle.js +1 -0
- package/storybook-static/MadieDialog-MadieDialog-stories.1e63ebb3.iframe.bundle.js +1 -0
- package/storybook-static/MadieDiscardDialog-MadieDiscardDialog-stories.4632ec72.iframe.bundle.js +1 -0
- package/storybook-static/MadieSpinner-MadieSpinner-stories.6c47900d.iframe.bundle.js +30 -0
- package/storybook-static/MadieSpinner-MadieSpinner-stories.6c47900d.iframe.bundle.js.LICENSE.txt +8 -0
- package/storybook-static/MadieSpinner-MadieSpinner-stories.6c47900d.iframe.bundle.js.map +1 -0
- package/storybook-static/MadieTooltip-MadieTooltip-stories.0c8fb8f7.iframe.bundle.js +2 -0
- package/storybook-static/MadieTooltip-MadieTooltip-stories.0c8fb8f7.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/MadieTooltipIcon-MadieTooltipIcon-stories.b33f0165.iframe.bundle.js +2 -0
- package/storybook-static/MadieTooltipIcon-MadieTooltipIcon-stories.b33f0165.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/Modal-Modal-stories.1c8c1dcd.iframe.bundle.js +2 -0
- package/storybook-static/Modal-Modal-stories.1c8c1dcd.iframe.bundle.js.LICENSE.txt +19 -0
- package/storybook-static/NumberInput-NumberInput-stories.b642f330.iframe.bundle.js +1 -0
- package/storybook-static/Pagination-Pagination-stories.dc63a146.iframe.bundle.js +1 -0
- package/storybook-static/Popover-Popover-stories.680cce19.iframe.bundle.js +1 -0
- package/storybook-static/RadioButton-RadioButton-stories.5daa020f.iframe.bundle.js +1 -0
- package/storybook-static/ReadOnlyTextField-ReadOnlyTextField-stories.281af1c9.iframe.bundle.js +1 -0
- package/storybook-static/RichTextEditor-RichTextEditor-stories.f2f6efd0.iframe.bundle.js +1 -0
- package/storybook-static/Search-Search-stories.ce9d2b51.iframe.bundle.js +1 -0
- package/storybook-static/Select-Select-stories.1ba58501.iframe.bundle.js +1 -0
- package/storybook-static/Tabs-Tabs-stories.e9bf42ff.iframe.bundle.js +1 -0
- package/storybook-static/TextArea-TextArea-stories.9bb45748.iframe.bundle.js +1 -0
- package/storybook-static/TextField-TextField-stories.e5c08a5e.iframe.bundle.js +1 -0
- package/storybook-static/TimeField-TimeField-stories.760f9db5.iframe.bundle.js +1 -0
- package/storybook-static/Toast-Toast-stories.160e8bf1.iframe.bundle.js +1 -0
- package/storybook-static/TruncateText-TruncateText-stories.2da57e6a.iframe.bundle.js +1 -0
- package/storybook-static/favicon.svg +1 -0
- package/storybook-static/iframe.html +531 -0
- package/storybook-static/index.html +152 -0
- package/storybook-static/index.json +1 -0
- package/storybook-static/main.18ce3a87.iframe.bundle.js +1 -0
- package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/project.json +1 -0
- package/storybook-static/runtime~main.6bbd8126.iframe.bundle.js +1 -0
- package/storybook-static/sb-addons/docs-2/manager-bundle.js +151 -0
- package/storybook-static/sb-addons/links-1/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +188 -0
- package/storybook-static/sb-common-assets/favicon.svg +1 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/sb-manager/globals-module-info.js +797 -0
- package/storybook-static/sb-manager/globals-runtime.js +69459 -0
- package/storybook-static/sb-manager/globals.js +34 -0
- package/storybook-static/sb-manager/runtime.js +13003 -0
- package/storybook-static/sb-preview/globals.js +25 -0
- package/storybook-static/sb-preview/runtime.js +43237 -0
- package/storybook-static/static/media/FontAwesome.91f80bba.otf +0 -0
- package/storybook-static/static/media/Rubik-Bold.31bbd4d2.ttf +0 -0
- package/storybook-static/static/media/Rubik-Light.c90e2014.ttf +0 -0
- package/storybook-static/static/media/Rubik-Medium.5daa89aa.ttf +0 -0
- package/storybook-static/static/media/Rubik-Regular.cdf97d58.ttf +0 -0
- package/storybook-static/static/media/bitter-bold.24bf01e4.woff2 +0 -0
- package/storybook-static/static/media/bitter-italic.34644574.woff2 +0 -0
- package/storybook-static/static/media/bitter-regular.f4e2f1f1.woff2 +0 -0
- package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
- package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
- package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
- package/storybook-static/static/media/fontawesome-webfont.c1e38fd9.svg +2671 -0
- package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
- package/storybook-static/static/media/opensans-bold-webfont.92e570c6.woff2 +0 -0
- package/storybook-static/static/media/opensans-italic-webfont.72daa33a.woff2 +0 -0
- package/storybook-static/static/media/opensans-regular-webfont.ca4dd835.woff2 +0 -0
- package/storybook-static/static/media/opensans-semibold-webfont.17ded75f.woff2 +0 -0
- package/test/components/MadieDeleteDialog.test.js +1 -1
- package/test/components/RichTextEditor.test.js +257 -37
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/react.iml +0 -9
- package/.idea/vcs.xml +0 -6
|
@@ -33,7 +33,7 @@ const DraggablePaper = (props) => {
|
|
|
33
33
|
|
|
34
34
|
const Actions = ({ onClose, cancelButtonProps, continueButtonProps }) => {
|
|
35
35
|
const { cancelText, cancelIcon, ...otherCancelButtonProps } =
|
|
36
|
-
cancelButtonProps;
|
|
36
|
+
cancelButtonProps || {};
|
|
37
37
|
const {
|
|
38
38
|
continueText,
|
|
39
39
|
continueIcon,
|
|
@@ -41,7 +41,7 @@ const Actions = ({ onClose, cancelButtonProps, continueButtonProps }) => {
|
|
|
41
41
|
disabled,
|
|
42
42
|
tooltipText,
|
|
43
43
|
...otherContinueButtonProps
|
|
44
|
-
} = continueButtonProps;
|
|
44
|
+
} = continueButtonProps || {};
|
|
45
45
|
const [anchorEl, setAnchorEl] = useState(null);
|
|
46
46
|
|
|
47
47
|
const openPopOverMenu = (event) => {
|
|
@@ -40,7 +40,7 @@ const iconStyle = {
|
|
|
40
40
|
display: "block",
|
|
41
41
|
};
|
|
42
42
|
|
|
43
|
-
const MenuBar = ({editor, disabled}) => {
|
|
43
|
+
export const MenuBar = ({editor, disabled, id}) => {
|
|
44
44
|
if (!editor) {
|
|
45
45
|
return null;
|
|
46
46
|
}
|
|
@@ -49,11 +49,12 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
49
49
|
className="control-group"
|
|
50
50
|
role="toolbar"
|
|
51
51
|
aria-label="Text formatting toolbar"
|
|
52
|
-
data-testid=
|
|
52
|
+
data-testid={`${id}-rich-text-editor-toolbar`}
|
|
53
|
+
id={`${id}-rich-text-editor-toolbar`}
|
|
53
54
|
>
|
|
54
55
|
<div className="button-group">
|
|
55
56
|
<Tooltip
|
|
56
|
-
data-testid=
|
|
57
|
+
data-testid={`${id}-undo-tooltip`}
|
|
57
58
|
title="Undo"
|
|
58
59
|
placement="top"
|
|
59
60
|
enterDelay={1000}
|
|
@@ -64,12 +65,13 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
64
65
|
onClick={() =>
|
|
65
66
|
editor.chain().focus().undo().run()
|
|
66
67
|
}
|
|
68
|
+
data-testId={`${id}-undo-button`}
|
|
67
69
|
>
|
|
68
70
|
<UndoIcon/>
|
|
69
71
|
</IconButton>
|
|
70
72
|
</Tooltip>
|
|
71
73
|
<Tooltip
|
|
72
|
-
data-testid=
|
|
74
|
+
data-testid={`${id}-redo-tooltip`}
|
|
73
75
|
title="Redo"
|
|
74
76
|
placement="top"
|
|
75
77
|
enterDelay={1000}
|
|
@@ -81,12 +83,13 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
81
83
|
editor.chain().focus().redo().run()
|
|
82
84
|
}
|
|
83
85
|
style={{borderRight: "solid 1px #9c9c9c"}}
|
|
86
|
+
data-testId={`${id}-redo-button`}
|
|
84
87
|
>
|
|
85
88
|
<RedoIcon/>
|
|
86
89
|
</IconButton>
|
|
87
90
|
</Tooltip>
|
|
88
91
|
<Tooltip
|
|
89
|
-
data-testid=
|
|
92
|
+
data-testid={`${id}-bold-tooltip`}
|
|
90
93
|
title="Bold"
|
|
91
94
|
placement="top"
|
|
92
95
|
enterDelay={1000}
|
|
@@ -102,12 +105,13 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
102
105
|
className={editor.isActive("bold") ? "is-active" : ""}
|
|
103
106
|
disabled={disabled}
|
|
104
107
|
type="button"
|
|
108
|
+
data-testId={`${id}-add-bold-button`}
|
|
105
109
|
>
|
|
106
110
|
<FormatBoldIcon/>
|
|
107
111
|
</IconButton>
|
|
108
112
|
</Tooltip>
|
|
109
113
|
<Tooltip
|
|
110
|
-
data-testid=
|
|
114
|
+
data-testid={`${id}-italic-tooltip`}
|
|
111
115
|
title="Italic"
|
|
112
116
|
placement="top"
|
|
113
117
|
enterDelay={1000}
|
|
@@ -123,12 +127,13 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
123
127
|
className={editor.isActive("italic") ? "is-active" : ""}
|
|
124
128
|
disabled={disabled}
|
|
125
129
|
type="button"
|
|
130
|
+
data-testId={`${id}-add-italic-button`}
|
|
126
131
|
>
|
|
127
132
|
<FormatItalicIcon/>
|
|
128
133
|
</IconButton>
|
|
129
134
|
</Tooltip>
|
|
130
135
|
<Tooltip
|
|
131
|
-
data-testid=
|
|
136
|
+
data-testid={`${id}-underline-tooltip`}
|
|
132
137
|
title="Underline"
|
|
133
138
|
placement="top"
|
|
134
139
|
enterDelay={1000}
|
|
@@ -146,12 +151,13 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
146
151
|
}
|
|
147
152
|
disabled={disabled}
|
|
148
153
|
type="button"
|
|
154
|
+
data-testId={`${id}-add-underline-button`}
|
|
149
155
|
>
|
|
150
156
|
<FormatUnderlinedIcon/>
|
|
151
157
|
</IconButton>
|
|
152
158
|
</Tooltip>
|
|
153
159
|
<Tooltip
|
|
154
|
-
data-testid=
|
|
160
|
+
data-testid={`${id}-strikethrough-tooltip`}
|
|
155
161
|
title="Strikethrough"
|
|
156
162
|
placement="top"
|
|
157
163
|
enterDelay={1000}
|
|
@@ -168,12 +174,13 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
168
174
|
style={{borderRight: "solid 1px #9c9c9c"}}
|
|
169
175
|
disabled={disabled}
|
|
170
176
|
type="button"
|
|
177
|
+
data-testId={`${id}-add-strikethrough-button`}
|
|
171
178
|
>
|
|
172
179
|
<StrikethroughSIcon/>
|
|
173
180
|
</IconButton>
|
|
174
181
|
</Tooltip>
|
|
175
182
|
<Tooltip
|
|
176
|
-
data-testid=
|
|
183
|
+
data-testid={`${id}-orderedlist-tooltip`}
|
|
177
184
|
title="Ordered List"
|
|
178
185
|
placement="top"
|
|
179
186
|
enterDelay={1000}
|
|
@@ -191,12 +198,13 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
191
198
|
}
|
|
192
199
|
disabled={disabled}
|
|
193
200
|
type="button"
|
|
201
|
+
data-testId={`${id}-add-ordered-list-button`}
|
|
194
202
|
>
|
|
195
203
|
<FormatListNumberedIcon/>
|
|
196
204
|
</IconButton>
|
|
197
205
|
</Tooltip>
|
|
198
206
|
<Tooltip
|
|
199
|
-
data-testid=
|
|
207
|
+
data-testid={`${id}-bulletedlist-tooltip`}
|
|
200
208
|
title="Bulleted List"
|
|
201
209
|
placement="top"
|
|
202
210
|
enterDelay={1000}
|
|
@@ -215,12 +223,13 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
215
223
|
style={{borderRight: "solid 1px #9c9c9c"}}
|
|
216
224
|
disabled={disabled}
|
|
217
225
|
type="button"
|
|
226
|
+
data-testId={`${id}-add-bulleted-list-button`}
|
|
218
227
|
>
|
|
219
228
|
<FormatListBulletedIcon/>
|
|
220
229
|
</IconButton>
|
|
221
230
|
</Tooltip>
|
|
222
231
|
<Tooltip
|
|
223
|
-
data-testid=
|
|
232
|
+
data-testid={`${id}-table-tooltip`}
|
|
224
233
|
title="Table"
|
|
225
234
|
placement="top"
|
|
226
235
|
enterDelay={1000}
|
|
@@ -241,6 +250,7 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
241
250
|
}
|
|
242
251
|
disabled={disabled}
|
|
243
252
|
type="button"
|
|
253
|
+
data-testId={`${id}-insert-table-button`}
|
|
244
254
|
>
|
|
245
255
|
|
|
246
256
|
<TableChartIcon/>
|
|
@@ -249,21 +259,22 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
249
259
|
{editor.isActive("table") && (
|
|
250
260
|
<>
|
|
251
261
|
<Tooltip
|
|
252
|
-
data-testid=
|
|
262
|
+
data-testid={`${id}-add-row-above-tooltip`}
|
|
253
263
|
title="Add row above"
|
|
254
264
|
placement="top"
|
|
255
265
|
enterDelay={1000}
|
|
256
266
|
arrow
|
|
257
267
|
>
|
|
258
|
-
<IconButton
|
|
268
|
+
<IconButton
|
|
259
269
|
key="addRowAbove"
|
|
260
270
|
onClick={() => editor.chain().focus().addRowBefore().run()}
|
|
271
|
+
data-testId={`${id}-add-row-above-button`}
|
|
261
272
|
>
|
|
262
273
|
<AddRowAboveIcon style={iconStyle}/>
|
|
263
274
|
</IconButton>
|
|
264
275
|
</Tooltip>
|
|
265
276
|
<Tooltip
|
|
266
|
-
data-testid=
|
|
277
|
+
data-testid={`${id}-add-row-below-tooltip`}
|
|
267
278
|
title="Add row below"
|
|
268
279
|
placement="top"
|
|
269
280
|
enterDelay={1000}
|
|
@@ -271,6 +282,7 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
271
282
|
>
|
|
272
283
|
<IconButton
|
|
273
284
|
key="addRowBelow"
|
|
285
|
+
data-testId={`${id}-add-row-below-button`}
|
|
274
286
|
onClick={() => editor.chain().focus().addRowAfter().run()}
|
|
275
287
|
>
|
|
276
288
|
<AddRowBelowIcon style={iconStyle}/>
|
|
@@ -278,7 +290,7 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
278
290
|
</Tooltip>
|
|
279
291
|
|
|
280
292
|
<Tooltip
|
|
281
|
-
data-testid=
|
|
293
|
+
data-testid={`${id}-remove-row-tooltip`}
|
|
282
294
|
title="Remove row"
|
|
283
295
|
placement="top"
|
|
284
296
|
enterDelay={1000}
|
|
@@ -286,13 +298,14 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
286
298
|
>
|
|
287
299
|
<IconButton
|
|
288
300
|
key="deleteRow"
|
|
301
|
+
data-testId={`${id}-delete-row-below-button`}
|
|
289
302
|
onClick={() => editor.chain().focus().deleteRow().run()}
|
|
290
303
|
>
|
|
291
304
|
<DeleteRowIcon style={iconStyle}/>
|
|
292
305
|
</IconButton>
|
|
293
306
|
</Tooltip>
|
|
294
307
|
<Tooltip
|
|
295
|
-
data-testid=
|
|
308
|
+
data-testid={`${id}-add-column-right-tooltip`}
|
|
296
309
|
title="Add column right"
|
|
297
310
|
placement="top"
|
|
298
311
|
enterDelay={1000}
|
|
@@ -300,13 +313,14 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
300
313
|
>
|
|
301
314
|
<IconButton
|
|
302
315
|
key="addColumnRight"
|
|
316
|
+
data-testId={`${id}-add-column-right-button`}
|
|
303
317
|
onClick={() => editor.chain().focus().addColumnAfter().run()}
|
|
304
318
|
>
|
|
305
319
|
<AddColumnRightIcon style={iconStyle}/>
|
|
306
320
|
</IconButton>
|
|
307
321
|
</Tooltip>
|
|
308
322
|
<Tooltip
|
|
309
|
-
data-testid=
|
|
323
|
+
data-testid={`${id}-add-column-left-tooltip`}
|
|
310
324
|
title="Add column left"
|
|
311
325
|
placement="top"
|
|
312
326
|
enterDelay={1000}
|
|
@@ -315,13 +329,14 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
315
329
|
<IconButton
|
|
316
330
|
key="addColumnLeft"
|
|
317
331
|
onClick={() => editor.chain().focus().addColumnBefore().run()}
|
|
332
|
+
data-testId={`${id}-add-column-left-button`}
|
|
318
333
|
>
|
|
319
334
|
<AddColumnLeftIcon style={iconStyle}/>
|
|
320
335
|
</IconButton>
|
|
321
336
|
</Tooltip>
|
|
322
337
|
|
|
323
338
|
<Tooltip
|
|
324
|
-
data-testid=
|
|
339
|
+
data-testid={`${id}-remove-column-tooltip`}
|
|
325
340
|
title="Remove column"
|
|
326
341
|
placement="top"
|
|
327
342
|
enterDelay={1000}
|
|
@@ -330,13 +345,14 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
330
345
|
<IconButton
|
|
331
346
|
key="deleteColumn"
|
|
332
347
|
onClick={() => editor.chain().focus().deleteColumn().run()}
|
|
348
|
+
data-testId={`${id}-delete-column-right-button`}
|
|
333
349
|
>
|
|
334
350
|
<DeleteColumnIcon style={iconStyle}/>
|
|
335
351
|
</IconButton>
|
|
336
352
|
</Tooltip>
|
|
337
353
|
|
|
338
354
|
<Tooltip
|
|
339
|
-
data-testid=
|
|
355
|
+
data-testid={`${id}-remove-table-tooltip`}
|
|
340
356
|
title="Remove table"
|
|
341
357
|
placement="top"
|
|
342
358
|
enterDelay={1000}
|
|
@@ -345,6 +361,7 @@ const MenuBar = ({editor, disabled}) => {
|
|
|
345
361
|
<IconButton
|
|
346
362
|
key="deleteTable"
|
|
347
363
|
onClick={() => editor.chain().focus().deleteTable().run()}
|
|
364
|
+
data-testId={`${id}-delete-table-button`}
|
|
348
365
|
style={{borderRight: "solid 1px #9c9c9c"}}
|
|
349
366
|
>
|
|
350
367
|
<DeleteTableIcon style={iconStyle}/>
|
|
@@ -407,6 +424,7 @@ const RichTextEditor = ({
|
|
|
407
424
|
<div className="rich-text-editor" data-testid={`${kebabCase(id)}-rich-text-editor`}>
|
|
408
425
|
<InputLabel
|
|
409
426
|
id={`${id}-label`}
|
|
427
|
+
data-testid={`${id}-label`}
|
|
410
428
|
shrink
|
|
411
429
|
required={required}
|
|
412
430
|
error={error}
|
|
@@ -429,38 +447,53 @@ const RichTextEditor = ({
|
|
|
429
447
|
);
|
|
430
448
|
}
|
|
431
449
|
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
450
|
+
|
|
451
|
+
const editor = useEditor({
|
|
452
|
+
parseOptions: {
|
|
453
|
+
preserveWhitespace: 'full',
|
|
454
|
+
},
|
|
455
|
+
extensions: [
|
|
456
|
+
StarterKit,
|
|
457
|
+
Gapcursor,
|
|
458
|
+
Table.configure({
|
|
459
|
+
resizable: true,
|
|
460
|
+
HTMLAttributes: {
|
|
461
|
+
class: "rich-text-table",
|
|
462
|
+
},
|
|
463
|
+
}),
|
|
464
|
+
TableRow,
|
|
465
|
+
TableHeader,
|
|
466
|
+
TableCell,
|
|
467
|
+
Underline,
|
|
468
|
+
Strike.extend({
|
|
469
|
+
strike: false, // disable default strike through
|
|
470
|
+
renderHTML({HTMLAttributes}) {
|
|
471
|
+
return ["del", HTMLAttributes, 0];
|
|
472
|
+
},
|
|
473
|
+
}),
|
|
474
|
+
],
|
|
475
|
+
editorProps: {
|
|
476
|
+
attributes: {
|
|
477
|
+
tabIndex: '0',
|
|
478
|
+
role: 'textbox',
|
|
479
|
+
id,
|
|
480
|
+
'data-testid': `${id}-rich-text-editor-content`,
|
|
481
|
+
'aria-invalid': error ? "true" : undefined,
|
|
482
|
+
'aria-labelledby': `${id}-label`,
|
|
483
|
+
'aria-describedby': helperText ? `${id}-helper-text` : undefined,
|
|
484
|
+
'aria-multiline': "true",
|
|
485
|
+
'aria-required': required ? "true" : undefined,
|
|
486
|
+
'className': `${error ? "has-error" : ""}`
|
|
453
487
|
},
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
}
|
|
463
|
-
});
|
|
488
|
+
},
|
|
489
|
+
shouldRerenderOnTransaction: false,
|
|
490
|
+
content,
|
|
491
|
+
editable: !disabled,
|
|
492
|
+
onUpdate: ({editor}) => {
|
|
493
|
+
const newValue = editor.getHTML();
|
|
494
|
+
onChange?.(newValue);
|
|
495
|
+
},
|
|
496
|
+
});
|
|
464
497
|
|
|
465
498
|
React.useEffect(() => {
|
|
466
499
|
if (editor && content !== editor.getHTML()) {
|
|
@@ -492,6 +525,7 @@ const RichTextEditor = ({
|
|
|
492
525
|
>
|
|
493
526
|
<InputLabel
|
|
494
527
|
id={`${id}-label`}
|
|
528
|
+
data-testid={`${id}-label`}
|
|
495
529
|
shrink
|
|
496
530
|
required={required}
|
|
497
531
|
error={error}
|
|
@@ -502,8 +536,7 @@ const RichTextEditor = ({
|
|
|
502
536
|
>
|
|
503
537
|
{label}
|
|
504
538
|
</InputLabel>
|
|
505
|
-
|
|
506
|
-
{helperText && (
|
|
539
|
+
{helperText ? (
|
|
507
540
|
<FormHelperText
|
|
508
541
|
tabIndex={0}
|
|
509
542
|
aria-live="polite"
|
|
@@ -522,22 +555,11 @@ const RichTextEditor = ({
|
|
|
522
555
|
>
|
|
523
556
|
{helperText}
|
|
524
557
|
</FormHelperText>
|
|
525
|
-
|
|
558
|
+
) : null}
|
|
526
559
|
<>
|
|
527
|
-
<MenuBar editor={editor} disabled={disabled}/>
|
|
560
|
+
<MenuBar editor={editor} disabled={disabled} id={id}/>
|
|
528
561
|
<EditorContent
|
|
529
|
-
id={id}
|
|
530
|
-
tabIndex={0}
|
|
531
|
-
data-testid="rich-text-editor-content"
|
|
532
562
|
editor={editor}
|
|
533
|
-
aria-labelledby={`${id}-label`}
|
|
534
|
-
aria-describedby={
|
|
535
|
-
helperText ? `${id}-helper-text` : undefined
|
|
536
|
-
}
|
|
537
|
-
aria-multiline="true"
|
|
538
|
-
aria-required={required || undefined}
|
|
539
|
-
aria-invalid={error || undefined}
|
|
540
|
-
className={`${error ? "has-error" : ""}`}
|
|
541
563
|
/>
|
|
542
564
|
</>
|
|
543
565
|
</div>
|
|
@@ -561,6 +583,7 @@ RichTextEditor.propTypes = {
|
|
|
561
583
|
MenuBar.propTypes = {
|
|
562
584
|
editor: PropTypes.any,
|
|
563
585
|
disabled: PropTypes.bool,
|
|
586
|
+
id: PropTypes.string,
|
|
564
587
|
};
|
|
565
588
|
|
|
566
589
|
export default RichTextEditor;
|