@madie/madie-design-system 1.0.28 → 1.0.29
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/AutoComplete/AutoComplete.jsx +172 -0
- package/components/AutoComplete/AutoComplete.stories.js +98 -0
- package/components/Button/Button.stories.js +32 -13
- package/components/InputLabel/index.jsx +2 -2
- package/components/MadieAlert/index.jsx +1 -2
- package/components/Pagination/index.jsx +1 -1
- package/components/index.js +2 -0
- package/coverage/clover.xml +613 -0
- package/coverage/coverage-final.json +39 -0
- package/coverage/lcov-report/Button/index.html +116 -0
- package/coverage/lcov-report/Button/index.js.html +376 -0
- package/coverage/lcov-report/InputLabel/index.html +116 -0
- package/coverage/lcov-report/InputLabel/index.jsx.html +259 -0
- package/coverage/lcov-report/MadieDialog/Index.jsx.html +853 -0
- package/coverage/lcov-report/MadieDialog/index.html +116 -0
- package/coverage/lcov-report/MadieSpinner/index.html +116 -0
- package/coverage/lcov-report/MadieSpinner/index.jsx.html +196 -0
- package/coverage/lcov-report/Select/index.html +116 -0
- package/coverage/lcov-report/Select/index.jsx.html +391 -0
- package/coverage/lcov-report/Textfield/index.html +116 -0
- package/coverage/lcov-report/Textfield/index.jsx.html +325 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +446 -0
- package/coverage/lcov-report/index.jsx.html +448 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/react/components/Accordion/index.html +116 -0
- package/coverage/lcov-report/react/components/Accordion/index.jsx.html +370 -0
- package/coverage/lcov-report/react/components/Button/index.html +116 -0
- package/coverage/lcov-report/react/components/Button/index.js.html +376 -0
- package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +364 -0
- package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +178 -0
- package/coverage/lcov-report/react/components/Error/error.js.html +163 -0
- package/coverage/lcov-report/react/components/Error/index.html +146 -0
- package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +496 -0
- package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +697 -0
- package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +274 -0
- package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +187 -0
- package/coverage/lcov-report/react/components/Footer/footer.js.html +175 -0
- package/coverage/lcov-report/react/components/Footer/index.html +146 -0
- package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +634 -0
- package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +133 -0
- package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +289 -0
- package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +211 -0
- package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +235 -0
- package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +922 -0
- package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +235 -0
- package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +271 -0
- package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +196 -0
- package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +637 -0
- package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +181 -0
- package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +265 -0
- package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +166 -0
- package/coverage/lcov-report/react/components/Header/header.js.html +211 -0
- package/coverage/lcov-report/react/components/Header/hooks.js.html +262 -0
- package/coverage/lcov-report/react/components/Header/index.html +341 -0
- package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +112 -0
- package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +310 -0
- package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +208 -0
- package/coverage/lcov-report/react/components/Infotip/index.html +146 -0
- package/coverage/lcov-report/react/components/Infotip/index.js.html +94 -0
- package/coverage/lcov-report/react/components/InputLabel/index.html +116 -0
- package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +244 -0
- package/coverage/lcov-report/react/components/MadieAlert/MadieAlert.scss.html +334 -0
- package/coverage/lcov-report/react/components/MadieAlert/index.html +131 -0
- package/coverage/lcov-report/react/components/MadieAlert/index.jsx.html +271 -0
- package/coverage/lcov-report/react/components/MadieDialog/Index.jsx.html +856 -0
- package/coverage/lcov-report/react/components/MadieDialog/index.html +116 -0
- package/coverage/lcov-report/react/components/MadieDiscardDialog/index.html +116 -0
- package/coverage/lcov-report/react/components/MadieDiscardDialog/index.jsx.html +232 -0
- package/coverage/lcov-report/react/components/MadieSpinner/index.html +116 -0
- package/coverage/lcov-report/react/components/MadieSpinner/index.jsx.html +190 -0
- package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +307 -0
- package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +505 -0
- package/coverage/lcov-report/react/components/Modal/index.html +146 -0
- package/coverage/lcov-report/react/components/Modal/index.jsx.html +151 -0
- package/coverage/lcov-report/react/components/NotificationBanner/index.html +116 -0
- package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +922 -0
- package/coverage/lcov-report/react/components/Pagination/index.html +116 -0
- package/coverage/lcov-report/react/components/Pagination/index.jsx.html +697 -0
- package/coverage/lcov-report/react/components/ReadOnlyTextField/index.html +116 -0
- package/coverage/lcov-report/react/components/ReadOnlyTextField/index.jsx.html +313 -0
- package/coverage/lcov-report/react/components/SanitizedContent/index.html +116 -0
- package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +685 -0
- package/coverage/lcov-report/react/components/Select/index.html +116 -0
- package/coverage/lcov-report/react/components/Select/index.jsx.html +427 -0
- package/coverage/lcov-report/react/components/SessionDialog/index.html +116 -0
- package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +163 -0
- package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +904 -0
- package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +172 -0
- package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +116 -0
- package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +916 -0
- package/coverage/lcov-report/react/components/SideNav/Chart/index.html +131 -0
- package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +94 -0
- package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +721 -0
- package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +772 -0
- package/coverage/lcov-report/react/components/SideNav/Content/index.html +146 -0
- package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +97 -0
- package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +139 -0
- package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +226 -0
- package/coverage/lcov-report/react/components/SideNav/Details/index.html +146 -0
- package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +97 -0
- package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +208 -0
- package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +247 -0
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +205 -0
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +940 -0
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +412 -0
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +187 -0
- package/coverage/lcov-report/react/components/SideNav/Links/index.html +206 -0
- package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +124 -0
- package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +1144 -0
- package/coverage/lcov-report/react/components/SideNav/UI/index.html +131 -0
- package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +94 -0
- package/coverage/lcov-report/react/components/SideNav/helpers.js.html +232 -0
- package/coverage/lcov-report/react/components/SideNav/index.html +131 -0
- package/coverage/lcov-report/react/components/SideNav/index.js.html +244 -0
- package/coverage/lcov-report/react/components/Textfield/index.html +116 -0
- package/coverage/lcov-report/react/components/Textfield/index.jsx.html +307 -0
- package/coverage/lcov-report/react/components/Toast/index.html +116 -0
- package/coverage/lcov-report/react/components/Toast/index.jsx.html +469 -0
- package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +349 -0
- package/coverage/lcov-report/react/components/Tooltip/index.html +146 -0
- package/coverage/lcov-report/react/components/Tooltip/index.js.html +94 -0
- package/coverage/lcov-report/react/components/Tooltip/position.js.html +313 -0
- package/coverage/lcov-report/react/components/hooks/index.html +116 -0
- package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +334 -0
- package/coverage/lcov-report/react/components/index.html +116 -0
- package/coverage/lcov-report/react/index.html +116 -0
- package/coverage/lcov-report/react/index.js.html +148 -0
- package/coverage/lcov-report/react/lib/Chevron.jsx.html +181 -0
- package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1702 -0
- package/coverage/lcov-report/react/lib/index.html +131 -0
- package/coverage/lcov-report/react/lib/svg-definitions.svg.html +460 -0
- package/coverage/lcov-report/react/session/index.html +161 -0
- package/coverage/lcov-report/react/session/index.js.html +100 -0
- package/coverage/lcov-report/react/session/logout.js.html +280 -0
- package/coverage/lcov-report/react/session/refresh.js.html +232 -0
- package/coverage/lcov-report/react/session/ttl.js.html +196 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov.info +1261 -0
- package/dist/browser.js +1 -1
- package/dist/index.js +1 -1
- package/dist/react/index.js +19 -19
- package/dist/react/index.js.LICENSE.txt +7 -13
- package/dist/react/index.js.map +1 -1
- package/package.json +3 -3
- package/storybook-static/115.052877d9.iframe.bundle.js +2 -0
- package/storybook-static/115.052877d9.iframe.bundle.js.LICENSE.txt +11 -0
- package/storybook-static/181.e295335e7d22cc10734c.manager.bundle.js +1 -0
- package/storybook-static/229.4bb41a80.iframe.bundle.js +1 -0
- package/storybook-static/229.f4563e3b88a69879e628.manager.bundle.js +1 -0
- package/storybook-static/273.bdf29c3c.iframe.bundle.js +2 -0
- package/storybook-static/273.bdf29c3c.iframe.bundle.js.LICENSE.txt +14 -0
- package/storybook-static/295.2254430070adaf39d242.manager.bundle.js +1 -0
- package/storybook-static/485.2f77d2d4.iframe.bundle.js +103 -0
- package/storybook-static/485.2f77d2d4.iframe.bundle.js.LICENSE.txt +131 -0
- package/storybook-static/485.2f77d2d4.iframe.bundle.js.map +1 -0
- package/storybook-static/51.33ed905d.iframe.bundle.js +2 -0
- package/storybook-static/51.33ed905d.iframe.bundle.js.LICENSE.txt +8 -0
- package/storybook-static/51.e7cc07022ab8980acd80.manager.bundle.js +2 -0
- package/storybook-static/51.e7cc07022ab8980acd80.manager.bundle.js.LICENSE.txt +8 -0
- package/storybook-static/551.3428ed3c.iframe.bundle.js +1 -0
- package/storybook-static/658.88b966648de6eea4ba47.manager.bundle.js +2 -0
- package/storybook-static/658.88b966648de6eea4ba47.manager.bundle.js.LICENSE.txt +94 -0
- package/storybook-static/701.44ff60d4.iframe.bundle.js +1 -0
- package/storybook-static/807.ab5e54b0.iframe.bundle.js +2 -0
- package/storybook-static/807.ab5e54b0.iframe.bundle.js.LICENSE.txt +31 -0
- package/storybook-static/807.e31394a8fb2f2a96484c.manager.bundle.js +2 -0
- package/storybook-static/807.e31394a8fb2f2a96484c.manager.bundle.js.LICENSE.txt +31 -0
- package/storybook-static/897.55fef906.iframe.bundle.js +2 -0
- package/storybook-static/897.55fef906.iframe.bundle.js.LICENSE.txt +12 -0
- package/storybook-static/897.749ac01b1c4ad3d2469a.manager.bundle.js +2 -0
- package/storybook-static/897.749ac01b1c4ad3d2469a.manager.bundle.js.LICENSE.txt +12 -0
- package/storybook-static/935.1c0488720be34f49c172.manager.bundle.js +1 -0
- package/storybook-static/935.21bb37c1.iframe.bundle.js +1 -0
- package/storybook-static/favicon.ico +0 -0
- package/storybook-static/iframe.html +364 -0
- package/storybook-static/index.html +59 -0
- package/storybook-static/main.78fb2d38.iframe.bundle.js +1 -0
- package/storybook-static/main.b6920c13e539550f2e67.manager.bundle.js +1 -0
- package/storybook-static/project.json +1 -0
- package/storybook-static/runtime~main.7307b17c.iframe.bundle.js +1 -0
- package/storybook-static/runtime~main.c221863e46a86c2b5e83.manager.bundle.js +1 -0
- package/storybook-static/static/media/Bitter-Bold.091bd4b7.woff +0 -0
- package/storybook-static/static/media/Bitter-Bold.24bf01e4.woff2 +0 -0
- package/storybook-static/static/media/Bitter-Bold.46bc29e4.ttf +0 -0
- package/storybook-static/static/media/Bitter-Bold.790f4f2f.eot +0 -0
- package/storybook-static/static/media/Bitter-Italic.1fa5390c.eot +0 -0
- package/storybook-static/static/media/Bitter-Italic.25e5675f.woff +0 -0
- package/storybook-static/static/media/Bitter-Italic.2eb18f5a.ttf +0 -0
- package/storybook-static/static/media/Bitter-Italic.34644574.woff2 +0 -0
- package/storybook-static/static/media/Bitter-Regular.4b22b6e8.woff +0 -0
- package/storybook-static/static/media/Bitter-Regular.559e7075.eot +0 -0
- package/storybook-static/static/media/Bitter-Regular.8db0301b.ttf +0 -0
- package/storybook-static/static/media/Bitter-Regular.f4e2f1f1.woff2 +0 -0
- package/storybook-static/static/media/FontAwesome.91f80bba.otf +0 -0
- package/storybook-static/static/media/OpenSans-Bold-webfont.202d819d.eot +0 -0
- package/storybook-static/static/media/OpenSans-Bold-webfont.92e570c6.woff2 +0 -0
- package/storybook-static/static/media/OpenSans-Bold-webfont.da71e99a.ttf +0 -0
- package/storybook-static/static/media/OpenSans-Bold-webfont.e75949bb.woff +0 -0
- package/storybook-static/static/media/OpenSans-Italic-webfont.72daa33a.woff2 +0 -0
- package/storybook-static/static/media/OpenSans-Italic-webfont.74ead3a8.woff +0 -0
- package/storybook-static/static/media/OpenSans-Italic-webfont.ae19388f.eot +0 -0
- package/storybook-static/static/media/OpenSans-Italic-webfont.ec7a2746.ttf +0 -0
- package/storybook-static/static/media/OpenSans-Regular-webfont.63a5fa7d.woff +0 -0
- package/storybook-static/static/media/OpenSans-Regular-webfont.66451be4.ttf +0 -0
- package/storybook-static/static/media/OpenSans-Regular-webfont.7882d20f.eot +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/storybook-static/static/media/OpenSans-Semibold-webfont.2a5adf6c.woff +0 -0
- package/storybook-static/static/media/OpenSans-Semibold-webfont.6059fecb.ttf +0 -0
- package/storybook-static/static/media/OpenSans-Semibold-webfont.c9808185.eot +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/add.516c6a2c.svg +1 -0
- package/storybook-static/static/media/arrow-both.98a55d09.svg +1 -0
- package/storybook-static/static/media/arrow-down.1224e180.svg +1 -0
- package/storybook-static/static/media/arrow-up.024ed1e2.svg +1 -0
- package/storybook-static/static/media/checkmark-green.e95f40d3.svg +1 -0
- package/storybook-static/static/media/close--primary-darker.1598e38f.svg +1 -0
- package/storybook-static/static/media/close--primary.c6fbc529.svg +1 -0
- package/storybook-static/static/media/close-alt.cbe9bdfa.svg +1 -0
- package/storybook-static/static/media/close.b029c732.svg +1 -0
- package/storybook-static/static/media/download.ac1ebfe3.svg +1 -0
- package/storybook-static/static/media/error.e4c6e2ea.svg +1 -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/image.e055c497.svg +1 -0
- package/storybook-static/static/media/information-new-hover.d169a37f.svg +1 -0
- package/storybook-static/static/media/information-new.eca52b6e.svg +1 -0
- package/storybook-static/static/media/information.5e48eb82.svg +1 -0
- package/storybook-static/static/media/next.a0daa26b.svg +1 -0
- package/storybook-static/static/media/pdf.5f5442b3.svg +1 -0
- package/storybook-static/static/media/remove.4daa5f40.svg +1 -0
- package/storybook-static/static/media/star-filled.7d90fd71.svg +1 -0
- package/storybook-static/static/media/star.b034e696.svg +1 -0
- package/storybook-static/static/media/success-fill.033f2cf9.svg +1 -0
- package/storybook-static/static/media/success.4c56e56c.svg +1 -0
- package/storybook-static/static/media/warning.2ca99405.svg +1 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import {
|
|
3
|
+
FormControl,
|
|
4
|
+
FormHelperText,
|
|
5
|
+
Autocomplete as MUIAutoComplete,
|
|
6
|
+
TextField,
|
|
7
|
+
Checkbox,
|
|
8
|
+
} from "@mui/material";
|
|
9
|
+
import PropTypes from "prop-types";
|
|
10
|
+
import InputLabel from "../InputLabel";
|
|
11
|
+
import CheckBoxOutlineBlankIcon from "@mui/icons-material/CheckBoxOutlineBlank";
|
|
12
|
+
import CheckBoxIcon from "@mui/icons-material/CheckBox";
|
|
13
|
+
|
|
14
|
+
const autoCompleteStyles = {
|
|
15
|
+
borderRadius: "3px",
|
|
16
|
+
height: 40,
|
|
17
|
+
border: "1px solid #DDDDDD",
|
|
18
|
+
"& .MuiOutlinedInput-notchedOutline": {
|
|
19
|
+
borderRadius: "3px",
|
|
20
|
+
"& legend": {
|
|
21
|
+
width: 0,
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
"& .MuiAutocomplete-inputFocused": {
|
|
25
|
+
border: "none",
|
|
26
|
+
boxShadow: "none",
|
|
27
|
+
outline: "none",
|
|
28
|
+
},
|
|
29
|
+
"& .MuiAutocomplete-inputRoot": {
|
|
30
|
+
paddingTop: 0,
|
|
31
|
+
paddingBottom: 0,
|
|
32
|
+
},
|
|
33
|
+
"& .Mui-disabled" : {
|
|
34
|
+
backgroundColor: "#dddddd",
|
|
35
|
+
border: "#dddddd",
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const checkedIcon = <CheckBoxIcon fontSize="small" />;
|
|
40
|
+
const icon = <CheckBoxOutlineBlankIcon fontSize="small" />;
|
|
41
|
+
|
|
42
|
+
// unique props are required when we have duplicate options
|
|
43
|
+
const renderOptionSingle = (props, option) => {
|
|
44
|
+
const uniqueProps = {
|
|
45
|
+
...props,
|
|
46
|
+
key: `${props.key}_${props.id}`,
|
|
47
|
+
};
|
|
48
|
+
return <li {...uniqueProps}>{option}</li>;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const renderOptionMultiple = (props, option, selected) => {
|
|
52
|
+
const uniqueProps = {
|
|
53
|
+
...props,
|
|
54
|
+
key: `${props.key}_${props.id}`,
|
|
55
|
+
};
|
|
56
|
+
return (
|
|
57
|
+
<li {...uniqueProps}>
|
|
58
|
+
<Checkbox
|
|
59
|
+
icon={icon}
|
|
60
|
+
checkedIcon={checkedIcon}
|
|
61
|
+
style={{ marginRight: 8 }}
|
|
62
|
+
checked={selected}
|
|
63
|
+
/>
|
|
64
|
+
{option}
|
|
65
|
+
</li>
|
|
66
|
+
);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const AutoComplete = ({
|
|
70
|
+
id,
|
|
71
|
+
dataTestId,
|
|
72
|
+
options = [],
|
|
73
|
+
disabled = false,
|
|
74
|
+
label,
|
|
75
|
+
placeholder,
|
|
76
|
+
multiple = false,
|
|
77
|
+
required = false,
|
|
78
|
+
error = false,
|
|
79
|
+
helperText,
|
|
80
|
+
onChange,
|
|
81
|
+
...rest
|
|
82
|
+
}) => {
|
|
83
|
+
return (
|
|
84
|
+
<FormControl error={error} fullWidth>
|
|
85
|
+
<InputLabel
|
|
86
|
+
htmlFor={`${id}`}
|
|
87
|
+
id={`${id}-label`}
|
|
88
|
+
disabled={disabled}
|
|
89
|
+
required={required}
|
|
90
|
+
shrink
|
|
91
|
+
error={error}
|
|
92
|
+
>
|
|
93
|
+
{label}
|
|
94
|
+
</InputLabel>
|
|
95
|
+
<MUIAutoComplete
|
|
96
|
+
disablePortal
|
|
97
|
+
id={id}
|
|
98
|
+
data-testid={dataTestId}
|
|
99
|
+
options={options}
|
|
100
|
+
disabled={disabled}
|
|
101
|
+
multiple={multiple}
|
|
102
|
+
disableCloseOnSelect={multiple}
|
|
103
|
+
sx={
|
|
104
|
+
multiple
|
|
105
|
+
? {
|
|
106
|
+
...autoCompleteStyles,
|
|
107
|
+
height: "auto",
|
|
108
|
+
"& .MuiAutocomplete-inputRoot": {
|
|
109
|
+
paddingTop: 1,
|
|
110
|
+
paddingBottom: 1,
|
|
111
|
+
},
|
|
112
|
+
}
|
|
113
|
+
: autoCompleteStyles
|
|
114
|
+
}
|
|
115
|
+
renderInput={(params) => {
|
|
116
|
+
const { inputProps } = params;
|
|
117
|
+
inputProps["aria-required"] = required;
|
|
118
|
+
inputProps["aria-describedby"] = `${id}-helper-text`;
|
|
119
|
+
inputProps["aria-labelledby"] = `${id}-label`;
|
|
120
|
+
return (
|
|
121
|
+
<TextField
|
|
122
|
+
{...params}
|
|
123
|
+
placeholder={placeholder}
|
|
124
|
+
inputProps={inputProps}
|
|
125
|
+
label=""
|
|
126
|
+
error={error}
|
|
127
|
+
/>
|
|
128
|
+
);
|
|
129
|
+
}}
|
|
130
|
+
renderOption={(props, option, { selected }) => {
|
|
131
|
+
return multiple
|
|
132
|
+
? renderOptionMultiple(props, option, selected)
|
|
133
|
+
: renderOptionSingle(props, option);
|
|
134
|
+
}}
|
|
135
|
+
{...rest}
|
|
136
|
+
onChange={(_event, selectedVal) =>
|
|
137
|
+
onChange(id, selectedVal || "")
|
|
138
|
+
}
|
|
139
|
+
/>
|
|
140
|
+
{helperText && (
|
|
141
|
+
<FormHelperText
|
|
142
|
+
tabIndex={0}
|
|
143
|
+
aria-live="polite"
|
|
144
|
+
id={`${id}-helper-text`}
|
|
145
|
+
data-testid={`${id}-helper-text`}
|
|
146
|
+
error={error}
|
|
147
|
+
sx={ error &&
|
|
148
|
+
{ color: "#AE1C1C !important" }
|
|
149
|
+
}
|
|
150
|
+
>
|
|
151
|
+
{helperText}
|
|
152
|
+
</FormHelperText>
|
|
153
|
+
)}
|
|
154
|
+
</FormControl>
|
|
155
|
+
);
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
AutoComplete.propTypes = {
|
|
159
|
+
id: PropTypes.string,
|
|
160
|
+
dataTestId: PropTypes.string,
|
|
161
|
+
placeholder: PropTypes.string,
|
|
162
|
+
required: PropTypes.bool,
|
|
163
|
+
disabled: PropTypes.bool,
|
|
164
|
+
multiple: PropTypes.bool,
|
|
165
|
+
error: PropTypes.bool,
|
|
166
|
+
label: PropTypes.string,
|
|
167
|
+
helperText: PropTypes.string,
|
|
168
|
+
options: PropTypes.arrayOf(PropTypes.element),
|
|
169
|
+
onChange: PropTypes.any,
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
export default AutoComplete;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import AutoComplete from "./AutoComplete";
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: "AutoComplete",
|
|
6
|
+
component: AutoComplete,
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const options = ["Option1", "Option2", "Option3", "Option4", "Option5"];
|
|
10
|
+
|
|
11
|
+
const TemplateSingleSelect = (args) => {
|
|
12
|
+
const [value, setValue] = useState("");
|
|
13
|
+
const handleChange = (id, selectedVal) => {
|
|
14
|
+
setValue(selectedVal);
|
|
15
|
+
};
|
|
16
|
+
return (
|
|
17
|
+
<div className="qpp-u-padding--16">
|
|
18
|
+
<AutoComplete
|
|
19
|
+
id="autocomplete"
|
|
20
|
+
dataTestId="autocomplete"
|
|
21
|
+
label="Auto Complete"
|
|
22
|
+
options={options}
|
|
23
|
+
onChange={handleChange}
|
|
24
|
+
value={value}
|
|
25
|
+
{...args}
|
|
26
|
+
/>
|
|
27
|
+
</div>
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export const AutoCompleteWithLabel = TemplateSingleSelect.bind({});
|
|
32
|
+
AutoCompleteWithLabel.args = {
|
|
33
|
+
placeholder: "Search for a value",
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export const AutoCompleteWithLabelDisabled = TemplateSingleSelect.bind({});
|
|
37
|
+
AutoCompleteWithLabelDisabled.args = {
|
|
38
|
+
disabled: true,
|
|
39
|
+
value: "Option1"
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const AutoCompleteWithHelperText = TemplateSingleSelect.bind({});
|
|
43
|
+
AutoCompleteWithHelperText.args = {
|
|
44
|
+
helperText: "Helper text goes here",
|
|
45
|
+
placeholder: "Search for a value",
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export const AutoCompleteRequired = TemplateSingleSelect.bind({});
|
|
49
|
+
AutoCompleteRequired.args = {
|
|
50
|
+
required: true,
|
|
51
|
+
placeholder: "Search for a value",
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export const AutoCompleteWithError = TemplateSingleSelect.bind({});
|
|
55
|
+
AutoCompleteWithError.args = {
|
|
56
|
+
required: true,
|
|
57
|
+
helperText: "This field is required",
|
|
58
|
+
error: true,
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const TemplateMultipleSelect = (args) => {
|
|
62
|
+
const [value, setValue] = useState(["Option1", "Option2"]);
|
|
63
|
+
const handleChange = (id, selectedVal) => {
|
|
64
|
+
setValue(selectedVal);
|
|
65
|
+
};
|
|
66
|
+
return (
|
|
67
|
+
<div className="qpp-u-padding--16">
|
|
68
|
+
<AutoComplete
|
|
69
|
+
id="autocomplete"
|
|
70
|
+
dataTestId="autocomplete"
|
|
71
|
+
label="Auto Complete"
|
|
72
|
+
multiple={true}
|
|
73
|
+
options={options}
|
|
74
|
+
onChange={handleChange}
|
|
75
|
+
value={value}
|
|
76
|
+
{...args}
|
|
77
|
+
/>
|
|
78
|
+
</div>
|
|
79
|
+
);
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export const AutoCompleteMultipleWithLabel = TemplateMultipleSelect.bind({});
|
|
83
|
+
AutoCompleteMultipleWithLabel.args = {
|
|
84
|
+
placeholder: "Start typing to search for a value",
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export const AutoCompleteMultipleDisabled = TemplateMultipleSelect.bind({});
|
|
88
|
+
AutoCompleteMultipleDisabled.args = {
|
|
89
|
+
disabled: true,
|
|
90
|
+
placeholder: "Start typing",
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export const AutoCompleteMultipleWithError = TemplateMultipleSelect.bind({});
|
|
94
|
+
AutoCompleteMultipleWithError.args = {
|
|
95
|
+
required: true,
|
|
96
|
+
helperText: "At least one field is required",
|
|
97
|
+
error: true,
|
|
98
|
+
};
|
|
@@ -36,7 +36,9 @@ export const FormAction = () => (
|
|
|
36
36
|
<Button variant="action">Button</Button>
|
|
37
37
|
</Container>
|
|
38
38
|
<Container>
|
|
39
|
-
<Button variant="action" disabled>
|
|
39
|
+
<Button variant="action" disabled>
|
|
40
|
+
Disabled
|
|
41
|
+
</Button>
|
|
40
42
|
</Container>
|
|
41
43
|
</div>
|
|
42
44
|
);
|
|
@@ -47,7 +49,9 @@ export const Cyan = () => (
|
|
|
47
49
|
<Button className="qpp-c-button--cyan">Button</Button>
|
|
48
50
|
</Container>
|
|
49
51
|
<Container>
|
|
50
|
-
<Button variant="cyan" disabled>
|
|
52
|
+
<Button variant="cyan" disabled>
|
|
53
|
+
Disabled
|
|
54
|
+
</Button>
|
|
51
55
|
</Container>
|
|
52
56
|
</div>
|
|
53
57
|
);
|
|
@@ -58,7 +62,9 @@ export const Secondary = () => (
|
|
|
58
62
|
<Button variant="secondary">Button</Button>
|
|
59
63
|
</Container>
|
|
60
64
|
<Container>
|
|
61
|
-
<Button variant="secondary" disabled>
|
|
65
|
+
<Button variant="secondary" disabled>
|
|
66
|
+
Disabled
|
|
67
|
+
</Button>
|
|
62
68
|
</Container>
|
|
63
69
|
</div>
|
|
64
70
|
);
|
|
@@ -69,7 +75,9 @@ export const Danger = () => (
|
|
|
69
75
|
<Button variant="danger">Button</Button>
|
|
70
76
|
</Container>
|
|
71
77
|
<Container>
|
|
72
|
-
<Button disabled variant="danger">
|
|
78
|
+
<Button disabled variant="danger">
|
|
79
|
+
Disabled
|
|
80
|
+
</Button>
|
|
73
81
|
</Container>
|
|
74
82
|
</div>
|
|
75
83
|
);
|
|
@@ -80,7 +88,9 @@ export const DangerPrimary = () => (
|
|
|
80
88
|
<Button variant="danger-primary">Button</Button>
|
|
81
89
|
</Container>
|
|
82
90
|
<Container>
|
|
83
|
-
<Button disabled variant="danger-primary">
|
|
91
|
+
<Button disabled variant="danger-primary">
|
|
92
|
+
Disabled
|
|
93
|
+
</Button>
|
|
84
94
|
</Container>
|
|
85
95
|
</div>
|
|
86
96
|
);
|
|
@@ -88,19 +98,24 @@ export const DangerPrimary = () => (
|
|
|
88
98
|
export const Outline = () => (
|
|
89
99
|
<Container>
|
|
90
100
|
<Button variant="outline">Button</Button>
|
|
91
|
-
<hr/>
|
|
92
|
-
<Button variant="outline" disabled>
|
|
101
|
+
<hr />
|
|
102
|
+
<Button variant="outline" disabled>
|
|
103
|
+
Button
|
|
104
|
+
</Button>
|
|
93
105
|
</Container>
|
|
94
106
|
);
|
|
95
107
|
|
|
96
108
|
export const OutlineFilled = () => (
|
|
97
109
|
<Container className="qpp-u-fill--blue-80">
|
|
98
110
|
<Button variant="outline-filled">Button</Button>
|
|
99
|
-
<hr/>
|
|
100
|
-
<Button variant="outline-filled" disabled>
|
|
111
|
+
<hr />
|
|
112
|
+
<Button variant="outline-filled" disabled>
|
|
113
|
+
Button
|
|
114
|
+
</Button>
|
|
101
115
|
<hr />
|
|
102
116
|
<Button variant="outline-filled">
|
|
103
|
-
<FeatherIcon icon="download" />
|
|
117
|
+
<FeatherIcon icon="download" />
|
|
118
|
+
Button
|
|
104
119
|
</Button>
|
|
105
120
|
</Container>
|
|
106
121
|
);
|
|
@@ -108,8 +123,10 @@ export const OutlineFilled = () => (
|
|
|
108
123
|
export const OutlineSecondary = () => (
|
|
109
124
|
<Container>
|
|
110
125
|
<Button variant="outline-secondary">Button</Button>
|
|
111
|
-
<hr/>
|
|
112
|
-
<Button variant="outline-secondary" disabled>
|
|
126
|
+
<hr />
|
|
127
|
+
<Button variant="outline-secondary" disabled>
|
|
128
|
+
Button
|
|
129
|
+
</Button>
|
|
113
130
|
</Container>
|
|
114
131
|
);
|
|
115
132
|
|
|
@@ -119,7 +136,9 @@ export const White = () => (
|
|
|
119
136
|
<Button variant="white">Button</Button>
|
|
120
137
|
</Container>
|
|
121
138
|
<Container className="qpp-u-fill--blue-80">
|
|
122
|
-
<Button variant="white" disabled>
|
|
139
|
+
<Button variant="white" disabled>
|
|
140
|
+
Button
|
|
141
|
+
</Button>
|
|
123
142
|
</Container>
|
|
124
143
|
</div>
|
|
125
144
|
);
|
|
@@ -23,7 +23,7 @@ const Label = ({ required, disabled, error, ...rest }) => {
|
|
|
23
23
|
fontSize: 14,
|
|
24
24
|
color: "#333",
|
|
25
25
|
"& .MuiInputLabel-asterisk": {
|
|
26
|
-
color: "#
|
|
26
|
+
color: "#AE1C1C !important",
|
|
27
27
|
marginRight: "3px !important", //this was
|
|
28
28
|
},
|
|
29
29
|
},
|
|
@@ -38,7 +38,7 @@ const Label = ({ required, disabled, error, ...rest }) => {
|
|
|
38
38
|
color: "rgba(0,0,0,0.6)",
|
|
39
39
|
},
|
|
40
40
|
error && {
|
|
41
|
-
color: "#
|
|
41
|
+
color: "#AE1C1C !important",
|
|
42
42
|
},
|
|
43
43
|
]}
|
|
44
44
|
{...rest}
|
package/components/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Accordion from "./Accordion";
|
|
2
2
|
import Alert from "./Alert";
|
|
3
|
+
import AutoComplete from "./AutoComplete/AutoComplete"
|
|
3
4
|
import Breadcrumb from "./Breadcrumb";
|
|
4
5
|
import Button, { TextButton } from "./Button";
|
|
5
6
|
import CalloutBox from "./CalloutBox";
|
|
@@ -113,6 +114,7 @@ const Icons = {
|
|
|
113
114
|
export {
|
|
114
115
|
Accordion,
|
|
115
116
|
Alert,
|
|
117
|
+
AutoComplete,
|
|
116
118
|
Breadcrumb,
|
|
117
119
|
Button,
|
|
118
120
|
CalloutBox,
|