@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
@@ -1,94 +1,94 @@
1
- import React, { useState } from 'react';
2
- import { withKnobs } from '@storybook/addon-knobs';
1
+ import React, { useState } from "react";
2
+ import { withKnobs } from "@storybook/addon-knobs";
3
3
 
4
- import CalloutBox from './index';
4
+ import CalloutBox from "./index";
5
5
 
6
6
  export default {
7
- title: 'CalloutBox',
8
- component: CalloutBox,
9
- decorators: [withKnobs],
7
+ title: "CalloutBox",
8
+ component: CalloutBox,
9
+ decorators: [withKnobs],
10
10
  };
11
11
 
12
12
  export const Default = () => {
13
- return (
14
- <div className="qpp-u-padding--12" style={{ maxWidth: '80ch' }}>
15
- <CalloutBox
16
- title="Call to Action Heading"
17
- description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sit amet justo et lacus lacinia tristique. Nulla dignissim ipsum sit amet posuere interdum."
18
- button={{
19
- text: 'Call to Action',
20
- onClick: () => console.log('cta clicked'),
21
- }}
22
- />
23
- </div>
24
- );
13
+ return (
14
+ <div className="qpp-u-padding--12" style={{ maxWidth: "80ch" }}>
15
+ <CalloutBox
16
+ title="Call to Action Heading"
17
+ description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sit amet justo et lacus lacinia tristique. Nulla dignissim ipsum sit amet posuere interdum."
18
+ button={{
19
+ text: "Call to Action",
20
+ onClick: () => console.log("cta clicked"),
21
+ }}
22
+ />
23
+ </div>
24
+ );
25
25
  };
26
26
 
27
27
  export const WithHref = () => {
28
- return (
29
- <div className="qpp-u-padding--12" style={{ maxWidth: '80ch' }}>
30
- <CalloutBox
31
- title="Call to Action Heading"
32
- description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sit amet justo et lacus lacinia tristique. Nulla dignissim ipsum sit amet posuere interdum."
33
- button={{
34
- text: 'Call to Action',
35
- href: 'https://example.com',
36
- }}
37
- />
38
- </div>
39
- );
28
+ return (
29
+ <div className="qpp-u-padding--12" style={{ maxWidth: "80ch" }}>
30
+ <CalloutBox
31
+ title="Call to Action Heading"
32
+ description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sit amet justo et lacus lacinia tristique. Nulla dignissim ipsum sit amet posuere interdum."
33
+ button={{
34
+ text: "Call to Action",
35
+ href: "https://example.com",
36
+ }}
37
+ />
38
+ </div>
39
+ );
40
40
  };
41
41
 
42
42
  export const WithTextInput = () => {
43
- const [value, setValue] = useState('');
44
- return (
45
- <div className="qpp-u-padding--12" style={{ maxWidth: '80ch' }}>
46
- <CalloutBox
47
- title="Call to Action Heading"
48
- description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sit amet justo et lacus lacinia tristique. Nulla dignissim ipsum sit amet posuere interdum."
49
- input={{
50
- placeholder: 'Placeholder',
51
- onChange: (e) => setValue(e.target.value),
52
- value,
53
- }}
54
- button={{
55
- text: 'Call to Action',
56
- onClick: () => {
57
- console.log('cta clicked');
58
- console.log('input value --- ', value);
59
- },
60
- }}
61
- />
62
- </div>
63
- );
43
+ const [value, setValue] = useState("");
44
+ return (
45
+ <div className="qpp-u-padding--12" style={{ maxWidth: "80ch" }}>
46
+ <CalloutBox
47
+ title="Call to Action Heading"
48
+ description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sit amet justo et lacus lacinia tristique. Nulla dignissim ipsum sit amet posuere interdum."
49
+ input={{
50
+ placeholder: "Placeholder",
51
+ onChange: (e) => setValue(e.target.value),
52
+ value,
53
+ }}
54
+ button={{
55
+ text: "Call to Action",
56
+ onClick: () => {
57
+ console.log("cta clicked");
58
+ console.log("input value --- ", value);
59
+ },
60
+ }}
61
+ />
62
+ </div>
63
+ );
64
64
  };
65
65
 
66
66
  export const WithHeaderLevel = () => {
67
- return (
68
- <div className="qpp-u-padding--12" style={{ maxWidth: '80ch' }}>
69
- <CalloutBox
70
- title="H5 Heading"
71
- headerLevel={5}
72
- description="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
73
- button={{
74
- text: 'Call to Action',
75
- href: 'https://example.com',
76
- }}
77
- />
78
- </div>
79
- );
67
+ return (
68
+ <div className="qpp-u-padding--12" style={{ maxWidth: "80ch" }}>
69
+ <CalloutBox
70
+ title="H5 Heading"
71
+ headerLevel={5}
72
+ description="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
73
+ button={{
74
+ text: "Call to Action",
75
+ href: "https://example.com",
76
+ }}
77
+ />
78
+ </div>
79
+ );
80
80
  };
81
81
 
82
82
  export const WithButtonOverride = () => {
83
- const Button = () => <button>My custom button</button>;
84
- return (
85
- <div className="qpp-u-padding--12" style={{ maxWidth: '80ch' }}>
86
- <CalloutBox
87
- title="H5 Heading"
88
- headerLevel={5}
89
- description="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
90
- button={<Button />}
91
- />
92
- </div>
93
- );
83
+ const Button = () => <button>My custom button</button>;
84
+ return (
85
+ <div className="qpp-u-padding--12" style={{ maxWidth: "80ch" }}>
86
+ <CalloutBox
87
+ title="H5 Heading"
88
+ headerLevel={5}
89
+ description="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
90
+ button={<Button />}
91
+ />
92
+ </div>
93
+ );
94
94
  };
@@ -1,109 +1,109 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import FeatherIcon from 'feather-icons-react';
1
+ import React from "react";
2
+ import PropTypes from "prop-types";
3
+ import FeatherIcon from "feather-icons-react";
4
4
 
5
- import Button from '../Button';
5
+ import Button from "../Button";
6
6
 
7
7
  const getCtaButton = (button) => {
8
- if (button) {
9
- if (React.isValidElement(button)) {
10
- return button;
8
+ if (button) {
9
+ if (React.isValidElement(button)) {
10
+ return button;
11
+ }
12
+ if (button.href) {
13
+ const { href, text, ...restLink } = button;
14
+ return (
15
+ <a
16
+ className="qpp-c-button qpp-c-button--secondary qpp-c-button--icon-after"
17
+ href={href}
18
+ {...restLink}
19
+ >
20
+ {text}
21
+ <FeatherIcon icon="chevron-right" />
22
+ </a>
23
+ );
24
+ }
25
+ const { onClick, text, ...restButton } = button;
26
+ return (
27
+ <Button
28
+ variant="secondary"
29
+ className="qpp-c-button--icon-after"
30
+ onClick={onClick}
31
+ {...restButton}
32
+ >
33
+ {text}
34
+ <FeatherIcon icon="chevron-right" />
35
+ </Button>
36
+ );
11
37
  }
12
- if (button.href) {
13
- const { href, text, ...restLink } = button;
14
- return (
15
- <a
16
- className="qpp-c-button qpp-c-button--secondary qpp-c-button--icon-after"
17
- href={href}
18
- {...restLink}
19
- >
20
- {text}
21
- <FeatherIcon icon="chevron-right" />
22
- </a>
23
- );
24
- }
25
- const { onClick, text, ...restButton } = button;
26
- return (
27
- <Button
28
- variant="secondary"
29
- className="qpp-c-button--icon-after"
30
- onClick={onClick}
31
- {...restButton}
32
- >
33
- {text}
34
- <FeatherIcon icon="chevron-right" />
35
- </Button>
36
- );
37
- }
38
- return null;
38
+ return null;
39
39
  };
40
40
 
41
41
  const CalloutBox = ({
42
- title,
43
- description,
44
- button,
45
- input,
46
- children,
47
- headerLevel,
42
+ title,
43
+ description,
44
+ button,
45
+ input,
46
+ children,
47
+ headerLevel,
48
48
  }) => {
49
- const Header = `h${headerLevel}`;
50
- return (
51
- <aside className="qppds qpp-u-sm-padding--32 qpp-u-padding--24 qpp-u-fill--blue-70">
52
- {title && (
53
- <Header className="qpp-u-font-size--24 qpp-u-color--white qpp-u-margin-bottom--16 qpp-u-margin-top--0 qpp-u-font-weight--regular">
54
- {title}
55
- </Header>
56
- )}
57
- {description && (
58
- <p className="qpp-u-color--white qpp-u-margin-bottom--0 qpp-u-font-size--18">
59
- {description}
60
- </p>
61
- )}
62
- {children && (
63
- <div className="qpp-u-color--white qpp-u-margin-bottom--0 qpp-u-font-size--18">
64
- {children}
65
- </div>
66
- )}
67
- {(input || button) && (
68
- <div className="qpp-u-display--flex qpp-u-align-items--center qpp-u-flex-wrap--wrap qpp-u-margin-top--24">
69
- {input && (
70
- <input
71
- className="qpp-c-text-input qpp-u-sm-margin-right--16 qpp-u-margin-bottom--16 qpp-u-sm-margin-bottom--0 qpp-u-sm-width--auto qpp-u-width--100"
72
- type="text"
73
- {...input}
74
- />
75
- )}
76
- {getCtaButton(button)}
77
- </div>
78
- )}
79
- </aside>
80
- );
49
+ const Header = `h${headerLevel}`;
50
+ return (
51
+ <aside className="qppds qpp-u-sm-padding--32 qpp-u-padding--24 qpp-u-fill--blue-70">
52
+ {title && (
53
+ <Header className="qpp-u-font-size--24 qpp-u-color--white qpp-u-margin-bottom--16 qpp-u-margin-top--0 qpp-u-font-weight--regular">
54
+ {title}
55
+ </Header>
56
+ )}
57
+ {description && (
58
+ <p className="qpp-u-color--white qpp-u-margin-bottom--0 qpp-u-font-size--18">
59
+ {description}
60
+ </p>
61
+ )}
62
+ {children && (
63
+ <div className="qpp-u-color--white qpp-u-margin-bottom--0 qpp-u-font-size--18">
64
+ {children}
65
+ </div>
66
+ )}
67
+ {(input || button) && (
68
+ <div className="qpp-u-display--flex qpp-u-align-items--center qpp-u-flex-wrap--wrap qpp-u-margin-top--24">
69
+ {input && (
70
+ <input
71
+ className="qpp-c-text-input qpp-u-sm-margin-right--16 qpp-u-margin-bottom--16 qpp-u-sm-margin-bottom--0 qpp-u-sm-width--auto qpp-u-width--100"
72
+ type="text"
73
+ {...input}
74
+ />
75
+ )}
76
+ {getCtaButton(button)}
77
+ </div>
78
+ )}
79
+ </aside>
80
+ );
81
81
  };
82
82
 
83
83
  CalloutBox.propTypes = {
84
- title: PropTypes.string,
85
- description: PropTypes.string,
86
- button: PropTypes.shape({
87
- text: PropTypes.string,
88
- onClick: PropTypes.func,
89
- href: PropTypes.string,
90
- }),
91
- input: PropTypes.shape({
92
- value: PropTypes.string,
93
- name: PropTypes.string,
94
- id: PropTypes.string,
95
- }),
96
- children: PropTypes.node,
97
- headerLevel: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
84
+ title: PropTypes.string,
85
+ description: PropTypes.string,
86
+ button: PropTypes.shape({
87
+ text: PropTypes.string,
88
+ onClick: PropTypes.func,
89
+ href: PropTypes.string,
90
+ }),
91
+ input: PropTypes.shape({
92
+ value: PropTypes.string,
93
+ name: PropTypes.string,
94
+ id: PropTypes.string,
95
+ }),
96
+ children: PropTypes.node,
97
+ headerLevel: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
98
98
  };
99
99
 
100
100
  CalloutBox.defaultProps = {
101
- title: null,
102
- description: null,
103
- button: null,
104
- input: null,
105
- children: null,
106
- headerLevel: 2,
101
+ title: null,
102
+ description: null,
103
+ button: null,
104
+ input: null,
105
+ children: null,
106
+ headerLevel: 2,
107
107
  };
108
108
 
109
109
  export default CalloutBox;