@madie/madie-design-system 1.0.0 → 1.0.3

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 (250) hide show
  1. package/.storybook/main.js +3 -0
  2. package/README.md +2 -3
  3. package/components/Accordion/Accordion.stories.js +11 -11
  4. package/components/Accordion/index.jsx +78 -76
  5. package/components/Alert/Alert.stories.js +60 -51
  6. package/components/Alert/index.js +46 -37
  7. package/components/Breadcrumb/Breadcrumb.stories.js +62 -62
  8. package/components/Breadcrumb/index.js +80 -71
  9. package/components/Button/Button.stories.js +92 -86
  10. package/components/Button/index.js +65 -65
  11. package/components/CalloutBox/CalloutBox.stories.js +75 -75
  12. package/components/CalloutBox/index.js +92 -92
  13. package/components/Card/Card.stories.js +135 -135
  14. package/components/Card/index.js +128 -121
  15. package/components/Dropdown/Dropdown.stories.js +73 -73
  16. package/components/Dropdown/index.js +72 -72
  17. package/components/Error/Collapsible.jsx +75 -70
  18. package/components/Error/ErrorUI.jsx +22 -22
  19. package/components/Error/error.js +20 -20
  20. package/components/FlashNotification/FlashNotificationUI.jsx +77 -77
  21. package/components/FlashNotification/index.js +23 -23
  22. package/components/Footer/Footer.stories.js +13 -13
  23. package/components/Footer/FooterUI.jsx +264 -252
  24. package/components/Footer/LegacyFooterUI.jsx +190 -180
  25. package/components/Footer/SocialLinks.jsx +58 -55
  26. package/components/Footer/Subscribe.jsx +29 -29
  27. package/components/Footer/footer.js +21 -21
  28. package/components/FormControlLabel/index.jsx +23 -0
  29. package/components/Header/Header.stories.js +29 -26
  30. package/components/Header/HeaderAccountMenu.jsx +163 -149
  31. package/components/Header/HeaderCancel.jsx +8 -8
  32. package/components/Header/HeaderContainer.jsx +48 -43
  33. package/components/Header/HeaderLogo.jsx +34 -34
  34. package/components/Header/HeaderMenuButton.js +39 -39
  35. package/components/Header/HeaderMenuItem.jsx +252 -205
  36. package/components/Header/HeaderMenuLink.js +37 -37
  37. package/components/Header/HeaderMenuSignOutButton.js +50 -50
  38. package/components/Header/HeaderMobileButton.js +29 -29
  39. package/components/Header/HeaderUI.jsx +164 -147
  40. package/components/Header/HelpIcon.jsx +15 -15
  41. package/components/Header/ImpersonatorBanner.jsx +50 -47
  42. package/components/Header/NavigationButtonIcon.jsx +21 -21
  43. package/components/Header/header.js +36 -34
  44. package/components/Header/hooks.js +42 -35
  45. package/components/Header/utag-helpers.js +8 -8
  46. package/components/Infotip/Infotip.jsx +48 -48
  47. package/components/Infotip/Infotip.stories.js +32 -30
  48. package/components/Infotip/InfotipIcon.jsx +30 -30
  49. package/components/Infotip/index.js +1 -1
  50. package/components/InputLabel/index.jsx +58 -0
  51. package/components/Link/Link.stories.js +65 -64
  52. package/components/Link/index.js +46 -46
  53. package/components/Modal/LegacyModal.jsx +56 -54
  54. package/components/Modal/Modal.jsx +121 -121
  55. package/components/Modal/Modal.stories.js +152 -144
  56. package/components/Modal/index.jsx +11 -11
  57. package/components/NotificationBanner/NotificationBanner.stories.js +16 -16
  58. package/components/NotificationBanner/index.js +239 -225
  59. package/components/Pagination/index.jsx +212 -0
  60. package/components/SanitizedContent/index.jsx +183 -183
  61. package/components/Search/Search.stories.js +14 -14
  62. package/components/Search/index.js +72 -72
  63. package/components/Select/Select.stories.js +168 -0
  64. package/components/Select/index.jsx +103 -0
  65. package/components/SessionDialog/sessionDialog.js +20 -20
  66. package/components/SessionDialogUI.jsx +231 -219
  67. package/components/SideNav/AnimationGroup/AnimationGroup.jsx +19 -17
  68. package/components/SideNav/Chart/ScoreChart.jsx +238 -229
  69. package/components/SideNav/Chart/__tests__/ScoreChart.test.js +15 -15
  70. package/components/SideNav/Chart/index.js +1 -1
  71. package/components/SideNav/Content/LevelOneContent.jsx +194 -190
  72. package/components/SideNav/Content/LevelTwoContent.jsx +208 -195
  73. package/components/SideNav/Content/index.js +2 -2
  74. package/components/SideNav/Details/IndividualDetails.jsx +10 -10
  75. package/components/SideNav/Details/PracticeDetails.jsx +36 -34
  76. package/components/SideNav/Details/index.js +2 -2
  77. package/components/SideNav/Links/CmsSwitchLink.jsx +32 -32
  78. package/components/SideNav/Links/NavItemInline.jsx +44 -44
  79. package/components/SideNav/Links/NavLinkContainer.jsx +27 -25
  80. package/components/SideNav/Links/NavLinkDrawer.jsx +267 -231
  81. package/components/SideNav/Links/NavLinkInline.jsx +94 -92
  82. package/components/SideNav/Links/NavLinkToggle.jsx +25 -25
  83. package/components/SideNav/Links/index.js +10 -10
  84. package/components/SideNav/SideNav.stories.js +320 -288
  85. package/components/SideNav/UI/SideNavUI.jsx +321 -301
  86. package/components/SideNav/UI/index.js +1 -1
  87. package/components/SideNav/helpers.js +33 -33
  88. package/components/SideNav/index.js +46 -46
  89. package/components/Spinner/index.js +6 -6
  90. package/components/Tabs/Tab.js +19 -19
  91. package/components/Tabs/TabPanel.js +31 -24
  92. package/components/Tabs/Tabs.stories.js +118 -108
  93. package/components/Tabs/index.js +84 -79
  94. package/components/TextField/TextField.stories.js +103 -0
  95. package/components/TextField/index.jsx +80 -0
  96. package/components/TextInput/TextInput.stories.js +84 -84
  97. package/components/TextInput/index.js +123 -123
  98. package/components/Tooltip/Tooltip.jsx +57 -57
  99. package/components/Tooltip/Tooltip.stories.js +50 -50
  100. package/components/Tooltip/index.js +1 -1
  101. package/components/Tooltip/position.js +42 -34
  102. package/components/UnwrappedSpinner/index.js +5 -5
  103. package/components/hooks/useGetConfig.js +64 -55
  104. package/components/index.js +129 -119
  105. package/coverage/clover.xml +1333 -0
  106. package/coverage/coverage-final.json +73 -0
  107. package/coverage/lcov-report/InputLabel/index.html +116 -0
  108. package/coverage/lcov-report/InputLabel/index.jsx.html +214 -0
  109. package/coverage/lcov-report/Select/index.html +116 -0
  110. package/coverage/lcov-report/Select/index.jsx.html +391 -0
  111. package/coverage/lcov-report/Textfield/index.html +116 -0
  112. package/coverage/lcov-report/Textfield/index.jsx.html +322 -0
  113. package/coverage/lcov-report/base.css +224 -0
  114. package/coverage/lcov-report/block-navigation.js +87 -0
  115. package/coverage/lcov-report/favicon.png +0 -0
  116. package/coverage/lcov-report/index.html +506 -0
  117. package/coverage/lcov-report/index.jsx.html +688 -0
  118. package/coverage/lcov-report/prettify.css +1 -0
  119. package/coverage/lcov-report/prettify.js +2 -0
  120. package/coverage/lcov-report/react/components/Accordion/index.html +116 -0
  121. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +370 -0
  122. package/coverage/lcov-report/react/components/Button/index.html +116 -0
  123. package/coverage/lcov-report/react/components/Button/index.js.html +355 -0
  124. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +364 -0
  125. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +178 -0
  126. package/coverage/lcov-report/react/components/Error/error.js.html +163 -0
  127. package/coverage/lcov-report/react/components/Error/index.html +146 -0
  128. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +928 -0
  129. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +697 -0
  130. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +274 -0
  131. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +187 -0
  132. package/coverage/lcov-report/react/components/Footer/footer.js.html +175 -0
  133. package/coverage/lcov-report/react/components/Footer/index.html +176 -0
  134. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +634 -0
  135. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +133 -0
  136. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +289 -0
  137. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +211 -0
  138. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +235 -0
  139. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +922 -0
  140. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +235 -0
  141. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  142. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +196 -0
  143. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +637 -0
  144. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +181 -0
  145. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +265 -0
  146. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +166 -0
  147. package/coverage/lcov-report/react/components/Header/header.js.html +211 -0
  148. package/coverage/lcov-report/react/components/Header/hooks.js.html +262 -0
  149. package/coverage/lcov-report/react/components/Header/index.html +341 -0
  150. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +112 -0
  151. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +310 -0
  152. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +208 -0
  153. package/coverage/lcov-report/react/components/Infotip/index.html +146 -0
  154. package/coverage/lcov-report/react/components/Infotip/index.js.html +94 -0
  155. package/coverage/lcov-report/react/components/InputLabel/index.html +116 -0
  156. package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +214 -0
  157. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +307 -0
  158. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +505 -0
  159. package/coverage/lcov-report/react/components/Modal/index.html +146 -0
  160. package/coverage/lcov-report/react/components/Modal/index.jsx.html +151 -0
  161. package/coverage/lcov-report/react/components/NotificationBanner/index.html +116 -0
  162. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +922 -0
  163. package/coverage/lcov-report/react/components/Pagination/index.html +116 -0
  164. package/coverage/lcov-report/react/components/Pagination/index.jsx.html +721 -0
  165. package/coverage/lcov-report/react/components/SanitizedContent/index.html +116 -0
  166. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +685 -0
  167. package/coverage/lcov-report/react/components/Select/index.html +116 -0
  168. package/coverage/lcov-report/react/components/Select/index.jsx.html +391 -0
  169. package/coverage/lcov-report/react/components/SessionDialog/index.html +116 -0
  170. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +163 -0
  171. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +904 -0
  172. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +172 -0
  173. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +116 -0
  174. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +916 -0
  175. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +131 -0
  176. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +94 -0
  177. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +721 -0
  178. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +772 -0
  179. package/coverage/lcov-report/react/components/SideNav/Content/index.html +146 -0
  180. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +97 -0
  181. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +139 -0
  182. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +226 -0
  183. package/coverage/lcov-report/react/components/SideNav/Details/index.html +146 -0
  184. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +97 -0
  185. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +208 -0
  186. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +247 -0
  187. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +205 -0
  188. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +940 -0
  189. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +412 -0
  190. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +187 -0
  191. package/coverage/lcov-report/react/components/SideNav/Links/index.html +206 -0
  192. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +124 -0
  193. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +1144 -0
  194. package/coverage/lcov-report/react/components/SideNav/UI/index.html +131 -0
  195. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +94 -0
  196. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +232 -0
  197. package/coverage/lcov-report/react/components/SideNav/index.html +131 -0
  198. package/coverage/lcov-report/react/components/SideNav/index.js.html +244 -0
  199. package/coverage/lcov-report/react/components/Textfield/index.html +116 -0
  200. package/coverage/lcov-report/react/components/Textfield/index.jsx.html +322 -0
  201. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +349 -0
  202. package/coverage/lcov-report/react/components/Tooltip/index.html +146 -0
  203. package/coverage/lcov-report/react/components/Tooltip/index.js.html +94 -0
  204. package/coverage/lcov-report/react/components/Tooltip/position.js.html +313 -0
  205. package/coverage/lcov-report/react/components/hooks/index.html +116 -0
  206. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +334 -0
  207. package/coverage/lcov-report/react/components/index.html +116 -0
  208. package/coverage/lcov-report/react/index.html +116 -0
  209. package/coverage/lcov-report/react/index.js.html +178 -0
  210. package/coverage/lcov-report/react/lib/Chevron.jsx.html +181 -0
  211. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1702 -0
  212. package/coverage/lcov-report/react/lib/index.html +146 -0
  213. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +460 -0
  214. package/coverage/lcov-report/react/session/index.html +161 -0
  215. package/coverage/lcov-report/react/session/index.js.html +100 -0
  216. package/coverage/lcov-report/react/session/logout.js.html +280 -0
  217. package/coverage/lcov-report/react/session/refresh.js.html +232 -0
  218. package/coverage/lcov-report/react/session/ttl.js.html +196 -0
  219. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  220. package/coverage/lcov-report/sorter.js +196 -0
  221. package/coverage/lcov.info +3007 -0
  222. package/dist/browser.js +1 -3
  223. package/dist/index.js +1 -3
  224. package/dist/react/index.html +1 -0
  225. package/dist/react/index.js +199 -1
  226. package/dist/react/index.js.LICENSE.txt +37 -1
  227. package/dist/react/index.js.map +1 -1
  228. package/package.json +29 -15
  229. package/storybook-static/favicon.ico +0 -0
  230. package/styles/qppds/components/_button.scss +29 -1
  231. package/test/components/Accordion.test.js +10 -10
  232. package/test/components/ErrorUI.test.js +29 -30
  233. package/test/components/FooterUI.test.js +82 -80
  234. package/test/components/HeaderUI.test.js +42 -38
  235. package/test/components/Infotip.test.js +64 -61
  236. package/test/components/Pagination.test.js +55 -0
  237. package/test/components/Select.test.js +113 -0
  238. package/test/components/SessionDialogUI.test.js +302 -294
  239. package/test/components/SideNavUI.test.js +19 -19
  240. package/test/components/TextField.test.js +50 -0
  241. package/test/components/Tooltip.test.js +133 -133
  242. package/test/index.test.js +6 -6
  243. package/test/session/session.test.js +200 -200
  244. package/test-setup.js +1 -1
  245. package/webpack.config.js +9 -11
  246. package/webpack.config.react.js +7 -2
  247. package/dist/browser.js.LICENSE.txt +0 -54
  248. package/dist/browser.js.map +0 -1
  249. package/dist/index.js.LICENSE.txt +0 -54
  250. package/dist/index.js.map +0 -1
@@ -2,6 +2,9 @@ const path = require('path');
2
2
  const CopyWebpackPlugin = require('copy-webpack-plugin');
3
3
 
4
4
  module.exports = {
5
+ core: {
6
+ builder: 'webpack5',
7
+ },
5
8
  stories: [
6
9
  '../components/**/*.stories.@(js|jsx|mdx)',
7
10
  '../lib/**/*.stories.@(js|jsx|mdx)',
package/README.md CHANGED
@@ -1,5 +1,4 @@
1
- # QPP-Style React
1
+ # Madie/madie-design-system React
2
2
 
3
- This directory contains react implementations of the components for QPP.
3
+ This directory contains react implementations of the components for Madie.
4
4
 
5
- A storybook with examples is published at [https://cmsgov.github.io/qpp-style](https://cmsgov.github.io/qpp-style)
@@ -1,20 +1,20 @@
1
- import React from 'react';
2
- import Accordion from '.';
1
+ import React from "react";
2
+ import Accordion from ".";
3
3
 
4
4
  export default {
5
- title: 'Accordion',
6
- component: Accordion,
5
+ title: "Accordion",
6
+ component: Accordion,
7
7
  };
8
8
 
9
9
  export const Example = () => (
10
- <div style={{ padding: '20px', maxWidth: '500px' }}>
11
- <Accordion title="Accordion title">My accordion content</Accordion>
12
- </div>
10
+ <div style={{ padding: "20px", maxWidth: "500px" }}>
11
+ <Accordion title="Accordion title">My accordion content</Accordion>
12
+ </div>
13
13
  );
14
14
 
15
15
  export const Focus = () => (
16
- <div style={{ padding: '20px', maxWidth: '500px' }}>
17
- <input />
18
- <Accordion title="Accordion title">My accordion content</Accordion>
19
- </div>
16
+ <div style={{ padding: "20px", maxWidth: "500px" }}>
17
+ <input />
18
+ <Accordion title="Accordion title">My accordion content</Accordion>
19
+ </div>
20
20
  );
@@ -1,93 +1,95 @@
1
- import React, { useState, useRef, useEffect } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { Chevron } from '../../lib/Chevron.jsx';
1
+ import React, { useState, useRef, useEffect } from "react";
2
+ import PropTypes from "prop-types";
3
+ import { Chevron } from "../../lib/Chevron.jsx";
4
4
 
5
5
  const Accordion = (props) => {
6
- const content = useRef(null);
7
- const [setActive, setActiveState] = useState(props.isOpen ? 'active' : '');
8
- const ariaPressed = setActive ? 'true' : 'false';
9
- const getHeight = (node) => {
10
- if (node) {
11
- return `${node.scrollHeight}px`;
12
- }
13
- return 'auto';
14
- };
15
- const height = setActive ? getHeight(content.current) : '0px';
16
- const rotate = setActive ? 'accordion-icon rotate' : 'accordion-icon';
17
-
18
- function toggleAccordion() {
19
- setActiveState(setActive === '' ? 'active' : '');
20
- }
6
+ const content = useRef(null);
7
+ const [setActive, setActiveState] = useState(props.isOpen ? "active" : "");
8
+ const ariaPressed = setActive ? "true" : "false";
9
+ const getHeight = (node) => {
10
+ if (node) {
11
+ return `${node.scrollHeight}px`;
12
+ }
13
+ return "auto";
14
+ };
15
+ const height = setActive ? getHeight(content.current) : "0px";
16
+ const rotate = setActive ? "accordion-icon rotate" : "accordion-icon";
21
17
 
22
- function openAccordion() {
23
- setActiveState('active');
24
- }
18
+ function toggleAccordion() {
19
+ setActiveState(setActive === "" ? "active" : "");
20
+ }
25
21
 
26
- function closeAccordion() {
27
- setActiveState('');
28
- }
22
+ function openAccordion() {
23
+ setActiveState("active");
24
+ }
29
25
 
30
- useEffect(() => {
31
- if (props.isOpen) {
32
- openAccordion();
33
- } else {
34
- closeAccordion();
26
+ function closeAccordion() {
27
+ setActiveState("");
35
28
  }
36
- }, [props.isOpen]);
37
29
 
38
- return (
39
- <div className="accordion-section" data-testid="accordion">
40
- <button
41
- className={`accordion ${setActive}`}
42
- aria-label={props.title}
43
- aria-pressed={ariaPressed}
44
- aria-expanded={ariaPressed}
45
- tabIndex="0"
46
- onClick={toggleAccordion}
47
- >
48
- <div className="accordion-left-title">
49
- <p className="accordion-title">{props.title}</p>
50
- {props.subTitle && (
51
- <p className="accordion-subtitle">{props.subTitle}</p>
52
- )}
53
- </div>
54
- {props.centerItem && (
55
- <div className="accordion-center">
56
- <p>{props.centerItem}</p>
57
- </div>
58
- )}
59
- {props.rightItem && (
60
- <div className="accordion-right">
61
- <p>{props.rightItem}</p>
62
- </div>
63
- )}
64
- <div className="chevron-container">
65
- <Chevron className={rotate} />
30
+ useEffect(() => {
31
+ if (props.isOpen) {
32
+ openAccordion();
33
+ } else {
34
+ closeAccordion();
35
+ }
36
+ }, [props.isOpen]);
37
+
38
+ return (
39
+ <div className="accordion-section" data-testid="accordion">
40
+ <button
41
+ className={`accordion ${setActive}`}
42
+ aria-label={props.title}
43
+ aria-pressed={ariaPressed}
44
+ aria-expanded={ariaPressed}
45
+ tabIndex="0"
46
+ onClick={toggleAccordion}
47
+ >
48
+ <div className="accordion-left-title">
49
+ <p className="accordion-title">{props.title}</p>
50
+ {props.subTitle && (
51
+ <p className="accordion-subtitle">{props.subTitle}</p>
52
+ )}
53
+ </div>
54
+ {props.centerItem && (
55
+ <div className="accordion-center">
56
+ <p>{props.centerItem}</p>
57
+ </div>
58
+ )}
59
+ {props.rightItem && (
60
+ <div className="accordion-right">
61
+ <p>{props.rightItem}</p>
62
+ </div>
63
+ )}
64
+ <div className="chevron-container">
65
+ <Chevron className={rotate} />
66
+ </div>
67
+ </button>
68
+ <div
69
+ ref={content}
70
+ style={{ maxHeight: height }}
71
+ className="accordion-content"
72
+ >
73
+ <div className="accordion-text dashed-border">
74
+ {props.children}
75
+ </div>
76
+ </div>
66
77
  </div>
67
- </button>
68
- <div
69
- ref={content}
70
- style={{ maxHeight: height }}
71
- className="accordion-content"
72
- >
73
- <div className="accordion-text dashed-border">{props.children}</div>
74
- </div>
75
- </div>
76
- );
78
+ );
77
79
  };
78
80
 
79
81
  Accordion.propTypes = {
80
- title: PropTypes.string.isRequired,
81
- subTitle: PropTypes.string,
82
- children: PropTypes.any.isRequired,
83
- centerItem: PropTypes.string,
84
- rightItem: PropTypes.string,
85
- isOpen: PropTypes.bool,
82
+ title: PropTypes.string.isRequired,
83
+ subTitle: PropTypes.string,
84
+ children: PropTypes.any.isRequired,
85
+ centerItem: PropTypes.string,
86
+ rightItem: PropTypes.string,
87
+ isOpen: PropTypes.bool,
86
88
  };
87
89
 
88
90
  Accordion.defaultProps = {
89
- title: '',
90
- isOpen: false,
91
+ title: "",
92
+ isOpen: false,
91
93
  };
92
94
 
93
95
  export default Accordion;
@@ -1,61 +1,70 @@
1
- import React from 'react';
1
+ import React from "react";
2
2
 
3
- import Alert from './index';
3
+ import Alert from "./index";
4
4
 
5
5
  export default {
6
- title: 'Alert',
7
- component: Alert,
6
+ title: "Alert",
7
+ component: Alert,
8
8
  };
9
9
 
10
10
  export const Default = () => (
11
- <div className="qpp-u-padding--16">
12
- <h1 className="h3">Information</h1>
13
- <Alert
14
- title='Information Alert'
15
- description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu eleifend gravida."
16
- />
17
- <h2 className="h3">Warning</h2>
18
- <Alert
19
- variant="warning"
20
- title={{ headingLevel: 'h3', text: 'Warning Alert' }}
21
- >
22
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet
23
- consequat ex ut vestibulum. Sed vel erat aliquet arcu eleifend gravida.
24
- </Alert>
25
- <h2 className="h3">Error</h2>
26
- <Alert variant="error" title={{ headingLevel: 'h3', text: 'Error Alert' }}>
27
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet
28
- consequat ex ut vestibulum. Sed vel erat aliquet arcu eleifend gravida.
29
- </Alert>
30
- <h2 className="h3">Success</h2>
31
- <Alert
32
- variant="success"
33
- title={{ headingLevel: 'h3', text: 'Success Alert' }}
34
- >
35
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet
36
- consequat ex ut vestibulum. Sed vel erat aliquet arcu eleifend gravida.
37
- </Alert>
38
- </div>
11
+ <div className="qpp-u-padding--16">
12
+ <h1 className="h3">Information</h1>
13
+ <Alert
14
+ title="Information Alert"
15
+ description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu eleifend gravida."
16
+ />
17
+ <h2 className="h3">Warning</h2>
18
+ <Alert
19
+ variant="warning"
20
+ title={{ headingLevel: "h3", text: "Warning Alert" }}
21
+ >
22
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
23
+ imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu
24
+ eleifend gravida.
25
+ </Alert>
26
+ <h2 className="h3">Error</h2>
27
+ <Alert
28
+ variant="error"
29
+ title={{ headingLevel: "h3", text: "Error Alert" }}
30
+ >
31
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
32
+ imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu
33
+ eleifend gravida.
34
+ </Alert>
35
+ <h2 className="h3">Success</h2>
36
+ <Alert
37
+ variant="success"
38
+ title={{ headingLevel: "h3", text: "Success Alert" }}
39
+ >
40
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
41
+ imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu
42
+ eleifend gravida.
43
+ </Alert>
44
+ </div>
39
45
  );
40
46
 
41
47
  export const WithoutHeading = () => (
42
- <div className="qpp-u-padding--16">
43
- <h1 className="h3">Information</h1>
44
- <Alert description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu eleifend gravida." />
45
- <h1 className="h3">Warning</h1>
46
- <Alert variant="warning">
47
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet
48
- consequat ex ut vestibulum. Sed vel erat aliquet arcu eleifend gravida.
49
- </Alert>
50
- <h1 className="h3">Error</h1>
51
- <Alert variant="error">
52
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet
53
- consequat ex ut vestibulum. Sed vel erat aliquet arcu eleifend gravida.
54
- </Alert>
55
- <h1 className="h3">Success</h1>
56
- <Alert variant="success">
57
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet
58
- consequat ex ut vestibulum. Sed vel erat aliquet arcu eleifend gravida.
59
- </Alert>
60
- </div>
48
+ <div className="qpp-u-padding--16">
49
+ <h1 className="h3">Information</h1>
50
+ <Alert description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu eleifend gravida." />
51
+ <h1 className="h3">Warning</h1>
52
+ <Alert variant="warning">
53
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
54
+ imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu
55
+ eleifend gravida.
56
+ </Alert>
57
+ <h1 className="h3">Error</h1>
58
+ <Alert variant="error">
59
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
60
+ imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu
61
+ eleifend gravida.
62
+ </Alert>
63
+ <h1 className="h3">Success</h1>
64
+ <Alert variant="success">
65
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
66
+ imperdiet consequat ex ut vestibulum. Sed vel erat aliquet arcu
67
+ eleifend gravida.
68
+ </Alert>
69
+ </div>
61
70
  );
@@ -1,46 +1,55 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
1
+ import React from "react";
2
+ import PropTypes from "prop-types";
3
3
 
4
- const Alert = ({ title, children, description, variant, className, ...rest }) => {
5
- const HeadingComponent = title?.headingLevel || 'h2';
6
- return (
7
- <div
8
- className={`qpp-c-alert qpp-c-alert--${variant} ${className}`}
9
- role="alert"
10
- {...rest}
11
- >
12
- <div className="qpp-c-alert__body">
13
- {title && (
14
- <HeadingComponent className="h4 qpp-c-alert__heading">
15
- {typeof title === 'object' ? title.text : title}
16
- </HeadingComponent>
17
- )}
18
- {description && <p className="qpp-c-alert__text">{description}</p>}
19
- {children}
20
- </div>
21
- </div>
22
- );
4
+ const Alert = ({
5
+ title,
6
+ children,
7
+ description,
8
+ variant,
9
+ className,
10
+ ...rest
11
+ }) => {
12
+ const HeadingComponent = title?.headingLevel || "h2";
13
+ return (
14
+ <div
15
+ className={`qpp-c-alert qpp-c-alert--${variant} ${className}`}
16
+ role="alert"
17
+ {...rest}
18
+ >
19
+ <div className="qpp-c-alert__body">
20
+ {title && (
21
+ <HeadingComponent className="h4 qpp-c-alert__heading">
22
+ {typeof title === "object" ? title.text : title}
23
+ </HeadingComponent>
24
+ )}
25
+ {description && (
26
+ <p className="qpp-c-alert__text">{description}</p>
27
+ )}
28
+ {children}
29
+ </div>
30
+ </div>
31
+ );
23
32
  };
24
33
 
25
34
  Alert.propTypes = {
26
- children: PropTypes.node,
27
- className: PropTypes.string,
28
- description: PropTypes.string,
29
- title: PropTypes.oneOfType([
30
- PropTypes.string,
31
- PropTypes.shape({
32
- text: PropTypes.string,
33
- headingLevel: PropTypes.string,
34
- }),
35
- ]),
36
- variant: PropTypes.oneOf(['info', 'warning', 'success', 'error']),
35
+ children: PropTypes.node,
36
+ className: PropTypes.string,
37
+ description: PropTypes.string,
38
+ title: PropTypes.oneOfType([
39
+ PropTypes.string,
40
+ PropTypes.shape({
41
+ text: PropTypes.string,
42
+ headingLevel: PropTypes.string,
43
+ }),
44
+ ]),
45
+ variant: PropTypes.oneOf(["info", "warning", "success", "error"]),
37
46
  };
38
47
  Alert.defaultProps = {
39
- children: null,
40
- className: '',
41
- description: null,
42
- title: null,
43
- variant: 'info',
48
+ children: null,
49
+ className: "",
50
+ description: null,
51
+ title: null,
52
+ variant: "info",
44
53
  };
45
54
 
46
55
  export default Alert;
@@ -1,76 +1,76 @@
1
- import React from 'react';
2
- import Breadcrumb from './index';
3
- import { withKnobs, boolean } from '@storybook/addon-knobs';
1
+ import React from "react";
2
+ import Breadcrumb from "./index";
3
+ import { withKnobs, boolean } from "@storybook/addon-knobs";
4
4
 
5
5
  export default {
6
- title: 'Breadcrumb',
7
- component: Breadcrumb,
8
- decorators: [withKnobs],
6
+ title: "Breadcrumb",
7
+ component: Breadcrumb,
8
+ decorators: [withKnobs],
9
9
  };
10
10
 
11
11
  export const ExampleLightBreadcrumb = () => (
12
- <div className="qppds qpp-u-padding--16 qpp-u-fill--blue-80">
13
- <Breadcrumb
14
- newBreadcrumb={boolean('newBreadcrumb', true)}
15
- crumbs={[
16
- {
17
- url: '/',
18
- category: 'MainContent',
19
- label: 'Home',
20
- title: 'Home',
21
- },
22
- {
23
- url: '/',
24
- category: 'MainContent',
25
- label: 'Mips Overview',
26
- title: 'Mips Overview',
27
- },
28
- ]}
29
- />
30
- </div>
12
+ <div className="qppds qpp-u-padding--16 qpp-u-fill--blue-80">
13
+ <Breadcrumb
14
+ newBreadcrumb={boolean("newBreadcrumb", true)}
15
+ crumbs={[
16
+ {
17
+ url: "/",
18
+ category: "MainContent",
19
+ label: "Home",
20
+ title: "Home",
21
+ },
22
+ {
23
+ url: "/",
24
+ category: "MainContent",
25
+ label: "Mips Overview",
26
+ title: "Mips Overview",
27
+ },
28
+ ]}
29
+ />
30
+ </div>
31
31
  );
32
32
 
33
- ExampleLightBreadcrumb.storyName = 'Light';
33
+ ExampleLightBreadcrumb.storyName = "Light";
34
34
 
35
35
  export const ExampleScreenreaderOnlyBreadcrumb = () => (
36
- <div className="qppds qpp-u-padding--16 qpp-u-fill--blue-80">
37
- <Breadcrumb
38
- newBreadcrumb={boolean('newBreadcrumb', true)}
39
- crumbs={[
40
- {
41
- url: '/',
42
- category: 'MainContent',
43
- label: 'Home',
44
- title: 'Home',
45
- },
46
- 'Mips Overview',
47
- ]}
48
- />
49
- </div>
36
+ <div className="qppds qpp-u-padding--16 qpp-u-fill--blue-80">
37
+ <Breadcrumb
38
+ newBreadcrumb={boolean("newBreadcrumb", true)}
39
+ crumbs={[
40
+ {
41
+ url: "/",
42
+ category: "MainContent",
43
+ label: "Home",
44
+ title: "Home",
45
+ },
46
+ "Mips Overview",
47
+ ]}
48
+ />
49
+ </div>
50
50
  );
51
- ExampleScreenreaderOnlyBreadcrumb.storyName = 'SR Only Breadcrumb';
51
+ ExampleScreenreaderOnlyBreadcrumb.storyName = "SR Only Breadcrumb";
52
52
 
53
53
  export const ExampleDarkBreadcrumb = () => (
54
- <div className="qppds qpp-u-padding--16">
55
- <Breadcrumb
56
- newBreadcrumb={boolean('newBreadcrumb', true)}
57
- dark
58
- crumbs={[
59
- {
60
- url: '/',
61
- category: 'MainContent',
62
- label: 'Home',
63
- title: 'Home',
64
- },
65
- {
66
- url: '/',
67
- category: 'MainContent',
68
- label: 'Mips Overview',
69
- title: 'Mips Overview',
70
- },
71
- ]}
72
- />
73
- </div>
54
+ <div className="qppds qpp-u-padding--16">
55
+ <Breadcrumb
56
+ newBreadcrumb={boolean("newBreadcrumb", true)}
57
+ dark
58
+ crumbs={[
59
+ {
60
+ url: "/",
61
+ category: "MainContent",
62
+ label: "Home",
63
+ title: "Home",
64
+ },
65
+ {
66
+ url: "/",
67
+ category: "MainContent",
68
+ label: "Mips Overview",
69
+ title: "Mips Overview",
70
+ },
71
+ ]}
72
+ />
73
+ </div>
74
74
  );
75
75
 
76
- ExampleDarkBreadcrumb.storyName = 'Dark';
76
+ ExampleDarkBreadcrumb.storyName = "Dark";