@madie/madie-design-system 1.0.28 → 1.0.30

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 (247) hide show
  1. package/components/AutoComplete/AutoComplete.jsx +172 -0
  2. package/components/AutoComplete/AutoComplete.stories.js +98 -0
  3. package/components/Button/Button.stories.js +32 -13
  4. package/components/InputLabel/index.jsx +2 -2
  5. package/components/MadieAlert/index.jsx +1 -2
  6. package/components/Pagination/index.jsx +1 -1
  7. package/components/index.js +2 -0
  8. package/coverage/clover.xml +613 -0
  9. package/coverage/coverage-final.json +39 -0
  10. package/coverage/lcov-report/Button/index.html +116 -0
  11. package/coverage/lcov-report/Button/index.js.html +376 -0
  12. package/coverage/lcov-report/InputLabel/index.html +116 -0
  13. package/coverage/lcov-report/InputLabel/index.jsx.html +259 -0
  14. package/coverage/lcov-report/MadieDialog/Index.jsx.html +853 -0
  15. package/coverage/lcov-report/MadieDialog/index.html +116 -0
  16. package/coverage/lcov-report/MadieSpinner/index.html +116 -0
  17. package/coverage/lcov-report/MadieSpinner/index.jsx.html +196 -0
  18. package/coverage/lcov-report/Select/index.html +116 -0
  19. package/coverage/lcov-report/Select/index.jsx.html +391 -0
  20. package/coverage/lcov-report/Textfield/index.html +116 -0
  21. package/coverage/lcov-report/Textfield/index.jsx.html +325 -0
  22. package/coverage/lcov-report/base.css +224 -0
  23. package/coverage/lcov-report/block-navigation.js +87 -0
  24. package/coverage/lcov-report/favicon.png +0 -0
  25. package/coverage/lcov-report/index.html +446 -0
  26. package/coverage/lcov-report/index.jsx.html +448 -0
  27. package/coverage/lcov-report/prettify.css +1 -0
  28. package/coverage/lcov-report/prettify.js +2 -0
  29. package/coverage/lcov-report/react/components/Accordion/index.html +116 -0
  30. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +370 -0
  31. package/coverage/lcov-report/react/components/Button/index.html +116 -0
  32. package/coverage/lcov-report/react/components/Button/index.js.html +376 -0
  33. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +364 -0
  34. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +178 -0
  35. package/coverage/lcov-report/react/components/Error/error.js.html +163 -0
  36. package/coverage/lcov-report/react/components/Error/index.html +146 -0
  37. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +496 -0
  38. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +697 -0
  39. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +274 -0
  40. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +187 -0
  41. package/coverage/lcov-report/react/components/Footer/footer.js.html +175 -0
  42. package/coverage/lcov-report/react/components/Footer/index.html +146 -0
  43. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +634 -0
  44. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +133 -0
  45. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +289 -0
  46. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +211 -0
  47. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +235 -0
  48. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +922 -0
  49. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +235 -0
  50. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  51. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +196 -0
  52. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +637 -0
  53. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +181 -0
  54. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +265 -0
  55. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +166 -0
  56. package/coverage/lcov-report/react/components/Header/header.js.html +211 -0
  57. package/coverage/lcov-report/react/components/Header/hooks.js.html +262 -0
  58. package/coverage/lcov-report/react/components/Header/index.html +341 -0
  59. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +112 -0
  60. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +310 -0
  61. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +208 -0
  62. package/coverage/lcov-report/react/components/Infotip/index.html +146 -0
  63. package/coverage/lcov-report/react/components/Infotip/index.js.html +94 -0
  64. package/coverage/lcov-report/react/components/InputLabel/index.html +116 -0
  65. package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +244 -0
  66. package/coverage/lcov-report/react/components/MadieAlert/MadieAlert.scss.html +334 -0
  67. package/coverage/lcov-report/react/components/MadieAlert/index.html +131 -0
  68. package/coverage/lcov-report/react/components/MadieAlert/index.jsx.html +271 -0
  69. package/coverage/lcov-report/react/components/MadieDialog/Index.jsx.html +856 -0
  70. package/coverage/lcov-report/react/components/MadieDialog/index.html +116 -0
  71. package/coverage/lcov-report/react/components/MadieDiscardDialog/index.html +116 -0
  72. package/coverage/lcov-report/react/components/MadieDiscardDialog/index.jsx.html +232 -0
  73. package/coverage/lcov-report/react/components/MadieSpinner/index.html +116 -0
  74. package/coverage/lcov-report/react/components/MadieSpinner/index.jsx.html +190 -0
  75. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +307 -0
  76. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +505 -0
  77. package/coverage/lcov-report/react/components/Modal/index.html +146 -0
  78. package/coverage/lcov-report/react/components/Modal/index.jsx.html +151 -0
  79. package/coverage/lcov-report/react/components/NotificationBanner/index.html +116 -0
  80. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +922 -0
  81. package/coverage/lcov-report/react/components/Pagination/index.html +116 -0
  82. package/coverage/lcov-report/react/components/Pagination/index.jsx.html +697 -0
  83. package/coverage/lcov-report/react/components/ReadOnlyTextField/index.html +116 -0
  84. package/coverage/lcov-report/react/components/ReadOnlyTextField/index.jsx.html +313 -0
  85. package/coverage/lcov-report/react/components/SanitizedContent/index.html +116 -0
  86. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +685 -0
  87. package/coverage/lcov-report/react/components/Select/index.html +116 -0
  88. package/coverage/lcov-report/react/components/Select/index.jsx.html +427 -0
  89. package/coverage/lcov-report/react/components/SessionDialog/index.html +116 -0
  90. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +163 -0
  91. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +904 -0
  92. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +172 -0
  93. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +116 -0
  94. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +916 -0
  95. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +131 -0
  96. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +94 -0
  97. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +721 -0
  98. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +772 -0
  99. package/coverage/lcov-report/react/components/SideNav/Content/index.html +146 -0
  100. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +97 -0
  101. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +139 -0
  102. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +226 -0
  103. package/coverage/lcov-report/react/components/SideNav/Details/index.html +146 -0
  104. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +97 -0
  105. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +208 -0
  106. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +247 -0
  107. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +205 -0
  108. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +940 -0
  109. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +412 -0
  110. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +187 -0
  111. package/coverage/lcov-report/react/components/SideNav/Links/index.html +206 -0
  112. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +124 -0
  113. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +1144 -0
  114. package/coverage/lcov-report/react/components/SideNav/UI/index.html +131 -0
  115. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +94 -0
  116. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +232 -0
  117. package/coverage/lcov-report/react/components/SideNav/index.html +131 -0
  118. package/coverage/lcov-report/react/components/SideNav/index.js.html +244 -0
  119. package/coverage/lcov-report/react/components/Textfield/index.html +116 -0
  120. package/coverage/lcov-report/react/components/Textfield/index.jsx.html +307 -0
  121. package/coverage/lcov-report/react/components/Toast/index.html +116 -0
  122. package/coverage/lcov-report/react/components/Toast/index.jsx.html +469 -0
  123. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +349 -0
  124. package/coverage/lcov-report/react/components/Tooltip/index.html +146 -0
  125. package/coverage/lcov-report/react/components/Tooltip/index.js.html +94 -0
  126. package/coverage/lcov-report/react/components/Tooltip/position.js.html +313 -0
  127. package/coverage/lcov-report/react/components/hooks/index.html +116 -0
  128. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +334 -0
  129. package/coverage/lcov-report/react/components/index.html +116 -0
  130. package/coverage/lcov-report/react/index.html +116 -0
  131. package/coverage/lcov-report/react/index.js.html +148 -0
  132. package/coverage/lcov-report/react/lib/Chevron.jsx.html +181 -0
  133. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1702 -0
  134. package/coverage/lcov-report/react/lib/index.html +131 -0
  135. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +460 -0
  136. package/coverage/lcov-report/react/session/index.html +161 -0
  137. package/coverage/lcov-report/react/session/index.js.html +100 -0
  138. package/coverage/lcov-report/react/session/logout.js.html +280 -0
  139. package/coverage/lcov-report/react/session/refresh.js.html +232 -0
  140. package/coverage/lcov-report/react/session/ttl.js.html +196 -0
  141. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  142. package/coverage/lcov-report/sorter.js +196 -0
  143. package/coverage/lcov.info +1261 -0
  144. package/dist/browser.js +1 -1
  145. package/dist/index.js +1 -1
  146. package/dist/react/index.js +19 -19
  147. package/dist/react/index.js.LICENSE.txt +7 -13
  148. package/dist/react/index.js.map +1 -1
  149. package/package.json +3 -3
  150. package/storybook-static/115.052877d9.iframe.bundle.js +2 -0
  151. package/storybook-static/115.052877d9.iframe.bundle.js.LICENSE.txt +11 -0
  152. package/storybook-static/181.e295335e7d22cc10734c.manager.bundle.js +1 -0
  153. package/storybook-static/229.4bb41a80.iframe.bundle.js +1 -0
  154. package/storybook-static/229.f4563e3b88a69879e628.manager.bundle.js +1 -0
  155. package/storybook-static/273.bdf29c3c.iframe.bundle.js +2 -0
  156. package/storybook-static/273.bdf29c3c.iframe.bundle.js.LICENSE.txt +14 -0
  157. package/storybook-static/295.2254430070adaf39d242.manager.bundle.js +1 -0
  158. package/storybook-static/485.2f77d2d4.iframe.bundle.js +103 -0
  159. package/storybook-static/485.2f77d2d4.iframe.bundle.js.LICENSE.txt +131 -0
  160. package/storybook-static/485.2f77d2d4.iframe.bundle.js.map +1 -0
  161. package/storybook-static/51.33ed905d.iframe.bundle.js +2 -0
  162. package/storybook-static/51.33ed905d.iframe.bundle.js.LICENSE.txt +8 -0
  163. package/storybook-static/51.e7cc07022ab8980acd80.manager.bundle.js +2 -0
  164. package/storybook-static/51.e7cc07022ab8980acd80.manager.bundle.js.LICENSE.txt +8 -0
  165. package/storybook-static/551.3428ed3c.iframe.bundle.js +1 -0
  166. package/storybook-static/658.88b966648de6eea4ba47.manager.bundle.js +2 -0
  167. package/storybook-static/658.88b966648de6eea4ba47.manager.bundle.js.LICENSE.txt +94 -0
  168. package/storybook-static/701.44ff60d4.iframe.bundle.js +1 -0
  169. package/storybook-static/807.ab5e54b0.iframe.bundle.js +2 -0
  170. package/storybook-static/807.ab5e54b0.iframe.bundle.js.LICENSE.txt +31 -0
  171. package/storybook-static/807.e31394a8fb2f2a96484c.manager.bundle.js +2 -0
  172. package/storybook-static/807.e31394a8fb2f2a96484c.manager.bundle.js.LICENSE.txt +31 -0
  173. package/storybook-static/897.55fef906.iframe.bundle.js +2 -0
  174. package/storybook-static/897.55fef906.iframe.bundle.js.LICENSE.txt +12 -0
  175. package/storybook-static/897.749ac01b1c4ad3d2469a.manager.bundle.js +2 -0
  176. package/storybook-static/897.749ac01b1c4ad3d2469a.manager.bundle.js.LICENSE.txt +12 -0
  177. package/storybook-static/935.1c0488720be34f49c172.manager.bundle.js +1 -0
  178. package/storybook-static/935.21bb37c1.iframe.bundle.js +1 -0
  179. package/storybook-static/favicon.ico +0 -0
  180. package/storybook-static/iframe.html +364 -0
  181. package/storybook-static/index.html +59 -0
  182. package/storybook-static/main.78fb2d38.iframe.bundle.js +1 -0
  183. package/storybook-static/main.b6920c13e539550f2e67.manager.bundle.js +1 -0
  184. package/storybook-static/project.json +1 -0
  185. package/storybook-static/runtime~main.7307b17c.iframe.bundle.js +1 -0
  186. package/storybook-static/runtime~main.c221863e46a86c2b5e83.manager.bundle.js +1 -0
  187. package/storybook-static/static/media/Bitter-Bold.091bd4b7.woff +0 -0
  188. package/storybook-static/static/media/Bitter-Bold.24bf01e4.woff2 +0 -0
  189. package/storybook-static/static/media/Bitter-Bold.46bc29e4.ttf +0 -0
  190. package/storybook-static/static/media/Bitter-Bold.790f4f2f.eot +0 -0
  191. package/storybook-static/static/media/Bitter-Italic.1fa5390c.eot +0 -0
  192. package/storybook-static/static/media/Bitter-Italic.25e5675f.woff +0 -0
  193. package/storybook-static/static/media/Bitter-Italic.2eb18f5a.ttf +0 -0
  194. package/storybook-static/static/media/Bitter-Italic.34644574.woff2 +0 -0
  195. package/storybook-static/static/media/Bitter-Regular.4b22b6e8.woff +0 -0
  196. package/storybook-static/static/media/Bitter-Regular.559e7075.eot +0 -0
  197. package/storybook-static/static/media/Bitter-Regular.8db0301b.ttf +0 -0
  198. package/storybook-static/static/media/Bitter-Regular.f4e2f1f1.woff2 +0 -0
  199. package/storybook-static/static/media/FontAwesome.91f80bba.otf +0 -0
  200. package/storybook-static/static/media/OpenSans-Bold-webfont.202d819d.eot +0 -0
  201. package/storybook-static/static/media/OpenSans-Bold-webfont.92e570c6.woff2 +0 -0
  202. package/storybook-static/static/media/OpenSans-Bold-webfont.da71e99a.ttf +0 -0
  203. package/storybook-static/static/media/OpenSans-Bold-webfont.e75949bb.woff +0 -0
  204. package/storybook-static/static/media/OpenSans-Italic-webfont.72daa33a.woff2 +0 -0
  205. package/storybook-static/static/media/OpenSans-Italic-webfont.74ead3a8.woff +0 -0
  206. package/storybook-static/static/media/OpenSans-Italic-webfont.ae19388f.eot +0 -0
  207. package/storybook-static/static/media/OpenSans-Italic-webfont.ec7a2746.ttf +0 -0
  208. package/storybook-static/static/media/OpenSans-Regular-webfont.63a5fa7d.woff +0 -0
  209. package/storybook-static/static/media/OpenSans-Regular-webfont.66451be4.ttf +0 -0
  210. package/storybook-static/static/media/OpenSans-Regular-webfont.7882d20f.eot +0 -0
  211. package/storybook-static/static/media/OpenSans-Regular-webfont.ca4dd835.woff2 +0 -0
  212. package/storybook-static/static/media/OpenSans-Semibold-webfont.17ded75f.woff2 +0 -0
  213. package/storybook-static/static/media/OpenSans-Semibold-webfont.2a5adf6c.woff +0 -0
  214. package/storybook-static/static/media/OpenSans-Semibold-webfont.6059fecb.ttf +0 -0
  215. package/storybook-static/static/media/OpenSans-Semibold-webfont.c9808185.eot +0 -0
  216. package/storybook-static/static/media/Rubik-Bold.31bbd4d2.ttf +0 -0
  217. package/storybook-static/static/media/Rubik-Light.c90e2014.ttf +0 -0
  218. package/storybook-static/static/media/Rubik-Medium.5daa89aa.ttf +0 -0
  219. package/storybook-static/static/media/Rubik-Regular.cdf97d58.ttf +0 -0
  220. package/storybook-static/static/media/add.516c6a2c.svg +1 -0
  221. package/storybook-static/static/media/arrow-both.98a55d09.svg +1 -0
  222. package/storybook-static/static/media/arrow-down.1224e180.svg +1 -0
  223. package/storybook-static/static/media/arrow-up.024ed1e2.svg +1 -0
  224. package/storybook-static/static/media/checkmark-green.e95f40d3.svg +1 -0
  225. package/storybook-static/static/media/close--primary-darker.1598e38f.svg +1 -0
  226. package/storybook-static/static/media/close--primary.c6fbc529.svg +1 -0
  227. package/storybook-static/static/media/close-alt.cbe9bdfa.svg +1 -0
  228. package/storybook-static/static/media/close.b029c732.svg +1 -0
  229. package/storybook-static/static/media/download.ac1ebfe3.svg +1 -0
  230. package/storybook-static/static/media/error.e4c6e2ea.svg +1 -0
  231. package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
  232. package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
  233. package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
  234. package/storybook-static/static/media/fontawesome-webfont.c1e38fd9.svg +2671 -0
  235. package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
  236. package/storybook-static/static/media/image.e055c497.svg +1 -0
  237. package/storybook-static/static/media/information-new-hover.d169a37f.svg +1 -0
  238. package/storybook-static/static/media/information-new.eca52b6e.svg +1 -0
  239. package/storybook-static/static/media/information.5e48eb82.svg +1 -0
  240. package/storybook-static/static/media/next.a0daa26b.svg +1 -0
  241. package/storybook-static/static/media/pdf.5f5442b3.svg +1 -0
  242. package/storybook-static/static/media/remove.4daa5f40.svg +1 -0
  243. package/storybook-static/static/media/star-filled.7d90fd71.svg +1 -0
  244. package/storybook-static/static/media/star.b034e696.svg +1 -0
  245. package/storybook-static/static/media/success-fill.033f2cf9.svg +1 -0
  246. package/storybook-static/static/media/success.4c56e56c.svg +1 -0
  247. 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: "#EDEDED",
35
+ border: "#EDEDED",
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>Disabled</Button>
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>Disabled</Button>
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>Disabled</Button>
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">Disabled</Button>
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">Disabled</Button>
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>Button</Button>
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>Button</Button>
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" />Button
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>Button</Button>
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>Button</Button>
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: "#D92F2F",
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: "#D92F2F",
41
+ color: "#AE1C1C !important",
42
42
  },
43
43
  ]}
44
44
  {...rest}
@@ -67,8 +67,7 @@ MadieAlert.propTypes = {
67
67
  content: PropTypes.node,
68
68
  canClose: PropTypes.bool,
69
69
  alertProps: PropTypes.object,
70
- closeButtonProps: PropTypes.object
70
+ closeButtonProps: PropTypes.object,
71
71
  };
72
72
 
73
-
74
73
  export default MadieAlert;
@@ -88,7 +88,7 @@ const Pagination = ({
88
88
  onChange={handleLimitChange}
89
89
  inputProps={{
90
90
  "aria-labelledby": "items-per-page",
91
- "aria-describedby": "offset-of-total-items"
91
+ "aria-describedby": "offset-of-total-items",
92
92
  }}
93
93
  >
94
94
  {limitOptions.map((val) => (
@@ -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,