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