@madie/madie-design-system 1.0.2 → 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 (348) hide show
  1. package/.storybook/main.js +3 -0
  2. package/components/Accordion/Accordion.stories.js +11 -11
  3. package/components/Accordion/index.jsx +78 -76
  4. package/components/Alert/Alert.stories.js +60 -51
  5. package/components/Alert/index.js +46 -37
  6. package/components/Breadcrumb/Breadcrumb.stories.js +62 -62
  7. package/components/Breadcrumb/index.js +80 -71
  8. package/components/Button/Button.stories.js +92 -86
  9. package/components/Button/index.js +65 -65
  10. package/components/CalloutBox/CalloutBox.stories.js +75 -75
  11. package/components/CalloutBox/index.js +92 -92
  12. package/components/Card/Card.stories.js +135 -135
  13. package/components/Card/index.js +128 -121
  14. package/components/Dropdown/Dropdown.stories.js +73 -73
  15. package/components/Dropdown/index.js +72 -72
  16. package/components/Error/Collapsible.jsx +75 -70
  17. package/components/Error/ErrorUI.jsx +22 -22
  18. package/components/Error/error.js +20 -20
  19. package/components/FlashNotification/FlashNotificationUI.jsx +77 -77
  20. package/components/FlashNotification/index.js +23 -23
  21. package/components/Footer/Footer.stories.js +13 -13
  22. package/components/Footer/FooterUI.jsx +264 -252
  23. package/components/Footer/LegacyFooterUI.jsx +190 -180
  24. package/components/Footer/SocialLinks.jsx +58 -55
  25. package/components/Footer/Subscribe.jsx +29 -29
  26. package/components/Footer/footer.js +21 -21
  27. package/components/FormControlLabel/index.jsx +23 -0
  28. package/components/Header/Header.stories.js +29 -26
  29. package/components/Header/HeaderAccountMenu.jsx +163 -149
  30. package/components/Header/HeaderCancel.jsx +8 -8
  31. package/components/Header/HeaderContainer.jsx +48 -43
  32. package/components/Header/HeaderLogo.jsx +34 -34
  33. package/components/Header/HeaderMenuButton.js +39 -39
  34. package/components/Header/HeaderMenuItem.jsx +252 -205
  35. package/components/Header/HeaderMenuLink.js +37 -37
  36. package/components/Header/HeaderMenuSignOutButton.js +50 -50
  37. package/components/Header/HeaderMobileButton.js +29 -29
  38. package/components/Header/HeaderUI.jsx +164 -147
  39. package/components/Header/HelpIcon.jsx +15 -15
  40. package/components/Header/ImpersonatorBanner.jsx +50 -47
  41. package/components/Header/NavigationButtonIcon.jsx +21 -21
  42. package/components/Header/header.js +36 -34
  43. package/components/Header/hooks.js +42 -35
  44. package/components/Header/utag-helpers.js +8 -8
  45. package/components/Infotip/Infotip.jsx +48 -48
  46. package/components/Infotip/Infotip.stories.js +32 -30
  47. package/components/Infotip/InfotipIcon.jsx +30 -30
  48. package/components/Infotip/index.js +1 -1
  49. package/components/InputLabel/index.jsx +58 -0
  50. package/components/Link/Link.stories.js +65 -64
  51. package/components/Link/index.js +46 -46
  52. package/components/Modal/LegacyModal.jsx +56 -54
  53. package/components/Modal/Modal.jsx +121 -121
  54. package/components/Modal/Modal.stories.js +152 -144
  55. package/components/Modal/index.jsx +11 -11
  56. package/components/NotificationBanner/NotificationBanner.stories.js +16 -16
  57. package/components/NotificationBanner/index.js +239 -225
  58. package/components/Pagination/index.jsx +171 -160
  59. package/components/SanitizedContent/index.jsx +183 -183
  60. package/components/Search/Search.stories.js +14 -14
  61. package/components/Search/index.js +72 -72
  62. package/components/Select/Select.stories.js +168 -0
  63. package/components/Select/index.jsx +103 -0
  64. package/components/SessionDialog/sessionDialog.js +20 -20
  65. package/components/SessionDialogUI.jsx +231 -219
  66. package/components/SideNav/AnimationGroup/AnimationGroup.jsx +19 -17
  67. package/components/SideNav/Chart/ScoreChart.jsx +238 -229
  68. package/components/SideNav/Chart/__tests__/ScoreChart.test.js +15 -15
  69. package/components/SideNav/Chart/index.js +1 -1
  70. package/components/SideNav/Content/LevelOneContent.jsx +194 -190
  71. package/components/SideNav/Content/LevelTwoContent.jsx +208 -195
  72. package/components/SideNav/Content/index.js +2 -2
  73. package/components/SideNav/Details/IndividualDetails.jsx +10 -10
  74. package/components/SideNav/Details/PracticeDetails.jsx +36 -34
  75. package/components/SideNav/Details/index.js +2 -2
  76. package/components/SideNav/Links/CmsSwitchLink.jsx +32 -32
  77. package/components/SideNav/Links/NavItemInline.jsx +44 -44
  78. package/components/SideNav/Links/NavLinkContainer.jsx +27 -25
  79. package/components/SideNav/Links/NavLinkDrawer.jsx +267 -231
  80. package/components/SideNav/Links/NavLinkInline.jsx +94 -92
  81. package/components/SideNav/Links/NavLinkToggle.jsx +25 -25
  82. package/components/SideNav/Links/index.js +10 -10
  83. package/components/SideNav/SideNav.stories.js +320 -288
  84. package/components/SideNav/UI/SideNavUI.jsx +321 -301
  85. package/components/SideNav/UI/index.js +1 -1
  86. package/components/SideNav/helpers.js +33 -33
  87. package/components/SideNav/index.js +46 -46
  88. package/components/Spinner/index.js +6 -6
  89. package/components/Tabs/Tab.js +19 -19
  90. package/components/Tabs/TabPanel.js +31 -24
  91. package/components/Tabs/Tabs.stories.js +118 -108
  92. package/components/Tabs/index.js +81 -76
  93. package/components/TextField/TextField.stories.js +103 -0
  94. package/components/TextField/index.jsx +80 -0
  95. package/components/TextInput/TextInput.stories.js +84 -84
  96. package/components/TextInput/index.js +123 -123
  97. package/components/Tooltip/Tooltip.jsx +57 -57
  98. package/components/Tooltip/Tooltip.stories.js +50 -50
  99. package/components/Tooltip/index.js +1 -1
  100. package/components/Tooltip/position.js +42 -34
  101. package/components/UnwrappedSpinner/index.js +5 -5
  102. package/components/hooks/useGetConfig.js +64 -55
  103. package/components/index.js +129 -121
  104. package/coverage/clover.xml +368 -331
  105. package/coverage/coverage-final.json +57 -54
  106. package/coverage/lcov-report/InputLabel/index.html +116 -0
  107. package/coverage/lcov-report/InputLabel/index.jsx.html +214 -0
  108. package/coverage/lcov-report/Select/index.html +116 -0
  109. package/coverage/lcov-report/Select/index.jsx.html +391 -0
  110. package/coverage/lcov-report/Textfield/index.html +116 -0
  111. package/coverage/lcov-report/Textfield/index.jsx.html +322 -0
  112. package/coverage/lcov-report/index.html +54 -9
  113. package/coverage/lcov-report/react/components/Accordion/index.html +1 -1
  114. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +84 -78
  115. package/coverage/lcov-report/react/components/Button/index.html +1 -1
  116. package/coverage/lcov-report/react/components/Button/index.js.html +66 -66
  117. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +87 -72
  118. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +23 -23
  119. package/coverage/lcov-report/react/components/Error/error.js.html +21 -21
  120. package/coverage/lcov-report/react/components/Error/index.html +1 -1
  121. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +290 -254
  122. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +212 -182
  123. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +66 -57
  124. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +30 -30
  125. package/coverage/lcov-report/react/components/Footer/footer.js.html +22 -22
  126. package/coverage/lcov-report/react/components/Footer/index.html +1 -1
  127. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +193 -151
  128. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +9 -9
  129. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +60 -45
  130. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +36 -36
  131. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +40 -40
  132. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +348 -207
  133. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +38 -38
  134. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +51 -51
  135. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +30 -30
  136. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +201 -150
  137. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +16 -16
  138. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +58 -49
  139. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +22 -22
  140. package/coverage/lcov-report/react/components/Header/header.js.html +42 -36
  141. package/coverage/lcov-report/react/components/Header/hooks.js.html +58 -37
  142. package/coverage/lcov-report/react/components/Header/index.html +1 -1
  143. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +9 -9
  144. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +49 -49
  145. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +31 -31
  146. package/coverage/lcov-report/react/components/Infotip/index.html +1 -1
  147. package/coverage/lcov-report/react/components/Infotip/index.js.html +2 -2
  148. package/coverage/lcov-report/react/components/InputLabel/index.html +116 -0
  149. package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +214 -0
  150. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +62 -56
  151. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +122 -122
  152. package/coverage/lcov-report/react/components/Modal/index.html +1 -1
  153. package/coverage/lcov-report/react/components/Modal/index.jsx.html +12 -12
  154. package/coverage/lcov-report/react/components/NotificationBanner/index.html +1 -1
  155. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +269 -227
  156. package/coverage/lcov-report/react/components/Pagination/index.html +1 -1
  157. package/coverage/lcov-report/react/components/Pagination/index.jsx.html +195 -162
  158. package/coverage/lcov-report/react/components/SanitizedContent/index.html +1 -1
  159. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +184 -184
  160. package/coverage/lcov-report/react/components/Select/index.html +116 -0
  161. package/coverage/lcov-report/react/components/Select/index.jsx.html +391 -0
  162. package/coverage/lcov-report/react/components/SessionDialog/index.html +1 -1
  163. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +21 -21
  164. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +257 -221
  165. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +25 -19
  166. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +1 -1
  167. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +261 -234
  168. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +1 -1
  169. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +2 -2
  170. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +197 -185
  171. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +236 -197
  172. package/coverage/lcov-report/react/components/SideNav/Content/index.html +1 -1
  173. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +3 -3
  174. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +11 -11
  175. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +42 -36
  176. package/coverage/lcov-report/react/components/SideNav/Details/index.html +1 -1
  177. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +3 -3
  178. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +33 -33
  179. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +45 -45
  180. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +33 -27
  181. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +323 -215
  182. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +100 -94
  183. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +26 -26
  184. package/coverage/lcov-report/react/components/SideNav/Links/index.html +1 -1
  185. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +11 -11
  186. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +363 -303
  187. package/coverage/lcov-report/react/components/SideNav/UI/index.html +1 -1
  188. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +2 -2
  189. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +34 -34
  190. package/coverage/lcov-report/react/components/SideNav/index.html +1 -1
  191. package/coverage/lcov-report/react/components/SideNav/index.js.html +47 -47
  192. package/coverage/lcov-report/react/components/Textfield/index.html +116 -0
  193. package/coverage/lcov-report/react/components/Textfield/index.jsx.html +322 -0
  194. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +58 -58
  195. package/coverage/lcov-report/react/components/Tooltip/index.html +1 -1
  196. package/coverage/lcov-report/react/components/Tooltip/index.js.html +2 -2
  197. package/coverage/lcov-report/react/components/Tooltip/position.js.html +60 -36
  198. package/coverage/lcov-report/react/components/hooks/index.html +1 -1
  199. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +84 -57
  200. package/coverage/lcov-report/react/components/index.html +1 -1
  201. package/coverage/lcov-report/react/index.html +1 -1
  202. package/coverage/lcov-report/react/index.js.html +1 -1
  203. package/coverage/lcov-report/react/lib/Chevron.jsx.html +1 -1
  204. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1 -1
  205. package/coverage/lcov-report/react/lib/index.html +1 -1
  206. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +1 -1
  207. package/coverage/lcov-report/react/session/index.html +1 -1
  208. package/coverage/lcov-report/react/session/index.js.html +1 -1
  209. package/coverage/lcov-report/react/session/logout.js.html +1 -1
  210. package/coverage/lcov-report/react/session/refresh.js.html +1 -1
  211. package/coverage/lcov-report/react/session/ttl.js.html +1 -1
  212. package/coverage/lcov.info +855 -779
  213. package/dist/browser.js +1 -1
  214. package/dist/index.js +1 -1
  215. package/dist/react/index.js +16 -16
  216. package/dist/react/index.js.LICENSE.txt +1 -1
  217. package/dist/react/index.js.map +1 -1
  218. package/package.json +16 -9
  219. package/styles/qppds/components/_button.scss +29 -1
  220. package/test/components/Accordion.test.js +10 -10
  221. package/test/components/ErrorUI.test.js +29 -30
  222. package/test/components/FooterUI.test.js +82 -80
  223. package/test/components/HeaderUI.test.js +42 -38
  224. package/test/components/Infotip.test.js +64 -61
  225. package/test/components/Pagination.test.js +50 -50
  226. package/test/components/Select.test.js +113 -0
  227. package/test/components/SessionDialogUI.test.js +302 -294
  228. package/test/components/SideNavUI.test.js +19 -19
  229. package/test/components/TextField.test.js +50 -0
  230. package/test/components/Tooltip.test.js +133 -133
  231. package/test/index.test.js +6 -6
  232. package/test/session/session.test.js +200 -200
  233. package/storybook-static/0.5651be4a8d0b1984a772.manager.bundle.js +0 -2
  234. package/storybook-static/0.5651be4a8d0b1984a772.manager.bundle.js.LICENSE.txt +0 -8
  235. package/storybook-static/0.ce0ed568.iframe.bundle.js +0 -1
  236. package/storybook-static/1.1b179d27.iframe.bundle.js +0 -3
  237. package/storybook-static/1.1b179d27.iframe.bundle.js.LICENSE.txt +0 -8
  238. package/storybook-static/1.1b179d27.iframe.bundle.js.map +0 -1
  239. package/storybook-static/1.c46d7d065aa0aa5a87ca.manager.bundle.js +0 -1
  240. package/storybook-static/10.99011d85.iframe.bundle.js +0 -3
  241. package/storybook-static/10.99011d85.iframe.bundle.js.LICENSE.txt +0 -11
  242. package/storybook-static/10.99011d85.iframe.bundle.js.map +0 -1
  243. package/storybook-static/2.35ddc55d.iframe.bundle.js +0 -1
  244. package/storybook-static/3.ed97833d.iframe.bundle.js +0 -1
  245. package/storybook-static/5.333e450fad8648669908.manager.bundle.js +0 -1
  246. package/storybook-static/6.505ea3c696ed314e90c8.manager.bundle.js +0 -2
  247. package/storybook-static/6.505ea3c696ed314e90c8.manager.bundle.js.LICENSE.txt +0 -12
  248. package/storybook-static/7.94be8178.iframe.bundle.js +0 -1
  249. package/storybook-static/7.d26483fcb6f4087398a8.manager.bundle.js +0 -1
  250. package/storybook-static/8.68cd1217.iframe.bundle.js +0 -3
  251. package/storybook-static/8.68cd1217.iframe.bundle.js.LICENSE.txt +0 -12
  252. package/storybook-static/8.68cd1217.iframe.bundle.js.map +0 -1
  253. package/storybook-static/8.7adf0ef161215cd35a66.manager.bundle.js +0 -1
  254. package/storybook-static/9.488e3969.iframe.bundle.js +0 -1
  255. package/storybook-static/fonts/FontAwesome.otf +0 -0
  256. package/storybook-static/fonts/OFL.txt +0 -92
  257. package/storybook-static/fonts/Rubik-Black.ttf +0 -0
  258. package/storybook-static/fonts/Rubik-BlackItalic.ttf +0 -0
  259. package/storybook-static/fonts/Rubik-Bold.ttf +0 -0
  260. package/storybook-static/fonts/Rubik-BoldItalic.ttf +0 -0
  261. package/storybook-static/fonts/Rubik-Italic.ttf +0 -0
  262. package/storybook-static/fonts/Rubik-Light.ttf +0 -0
  263. package/storybook-static/fonts/Rubik-LightItalic.ttf +0 -0
  264. package/storybook-static/fonts/Rubik-Medium.ttf +0 -0
  265. package/storybook-static/fonts/Rubik-MediumItalic.ttf +0 -0
  266. package/storybook-static/fonts/Rubik-Regular.ttf +0 -0
  267. package/storybook-static/fonts/fontawesome-webfont.eot +0 -0
  268. package/storybook-static/fonts/fontawesome-webfont.svg +0 -2671
  269. package/storybook-static/fonts/fontawesome-webfont.ttf +0 -0
  270. package/storybook-static/fonts/fontawesome-webfont.woff +0 -0
  271. package/storybook-static/fonts/fontawesome-webfont.woff2 +0 -0
  272. package/storybook-static/iframe.html +0 -348
  273. package/storybook-static/images/favicon/android-chrome-192x192.png +0 -0
  274. package/storybook-static/images/favicon/android-chrome-256x256.png +0 -0
  275. package/storybook-static/images/favicon/apple-touch-icon.png +0 -0
  276. package/storybook-static/images/favicon/browserconfig.xml +0 -9
  277. package/storybook-static/images/favicon/favicon-16x16.png +0 -0
  278. package/storybook-static/images/favicon/favicon-32x32.png +0 -0
  279. package/storybook-static/images/favicon/favicon.ico +0 -0
  280. package/storybook-static/images/favicon/manifest.json +0 -18
  281. package/storybook-static/images/favicon/mstile-150x150.png +0 -0
  282. package/storybook-static/images/favicon/safari-pinned-tab.svg +0 -32
  283. package/storybook-static/images/hhs-logo-black.svg +0 -10
  284. package/storybook-static/images/hhs-logo-white.svg +0 -10
  285. package/storybook-static/images/icons/close-x.svg +0 -6
  286. package/storybook-static/images/icons/help-headset.svg +0 -21
  287. package/storybook-static/images/icons/svg/arrow-down.svg +0 -1
  288. package/storybook-static/images/icons/svg/arrow-download.svg +0 -1
  289. package/storybook-static/images/icons/svg/arrow-right.svg +0 -1
  290. package/storybook-static/images/icons/svg/calendar.svg +0 -1
  291. package/storybook-static/images/icons/svg/close.svg +0 -1
  292. package/storybook-static/images/icons/svg/download.svg +0 -1
  293. package/storybook-static/images/icons/svg/external.svg +0 -1
  294. package/storybook-static/images/icons/svg/file-upload.svg +0 -1
  295. package/storybook-static/images/icons/svg/print.svg +0 -1
  296. package/storybook-static/images/icons/svg/search.svg +0 -7
  297. package/storybook-static/images/icons/svg/tooltip-question.svg +0 -6
  298. package/storybook-static/images/icons/svg/trash.svg +0 -1
  299. package/storybook-static/images/icons/svg/upload.svg +0 -1
  300. package/storybook-static/images/qpp_logo_reversed.png +0 -0
  301. package/storybook-static/images/qpp_logo_rgb_color.png +0 -0
  302. package/storybook-static/index.html +0 -59
  303. package/storybook-static/main.5ae8041695a4f0c06f75.manager.bundle.js +0 -1
  304. package/storybook-static/main.ee2cae16.iframe.bundle.js +0 -1
  305. package/storybook-static/runtime~main.7eeb017b9a4ce6a70a00.manager.bundle.js +0 -1
  306. package/storybook-static/runtime~main.e2794f2d.iframe.bundle.js +0 -1
  307. package/storybook-static/static/media/Bitter-Bold.091bd4b7.woff +0 -0
  308. package/storybook-static/static/media/Bitter-Bold.24bf01e4.woff2 +0 -0
  309. package/storybook-static/static/media/Bitter-Bold.46bc29e4.ttf +0 -0
  310. package/storybook-static/static/media/Bitter-Bold.790f4f2f.eot +0 -0
  311. package/storybook-static/static/media/Bitter-Italic.1fa5390c.eot +0 -0
  312. package/storybook-static/static/media/Bitter-Italic.25e5675f.woff +0 -0
  313. package/storybook-static/static/media/Bitter-Italic.2eb18f5a.ttf +0 -0
  314. package/storybook-static/static/media/Bitter-Italic.34644574.woff2 +0 -0
  315. package/storybook-static/static/media/Bitter-Regular.4b22b6e8.woff +0 -0
  316. package/storybook-static/static/media/Bitter-Regular.559e7075.eot +0 -0
  317. package/storybook-static/static/media/Bitter-Regular.8db0301b.ttf +0 -0
  318. package/storybook-static/static/media/Bitter-Regular.f4e2f1f1.woff2 +0 -0
  319. package/storybook-static/static/media/FontAwesome.91f80bba.otf +0 -0
  320. package/storybook-static/static/media/OpenSans-Bold-webfont.202d819d.eot +0 -0
  321. package/storybook-static/static/media/OpenSans-Bold-webfont.92e570c6.woff2 +0 -0
  322. package/storybook-static/static/media/OpenSans-Bold-webfont.da71e99a.ttf +0 -0
  323. package/storybook-static/static/media/OpenSans-Bold-webfont.e75949bb.woff +0 -0
  324. package/storybook-static/static/media/OpenSans-Italic-webfont.72daa33a.woff2 +0 -0
  325. package/storybook-static/static/media/OpenSans-Italic-webfont.74ead3a8.woff +0 -0
  326. package/storybook-static/static/media/OpenSans-Italic-webfont.ae19388f.eot +0 -0
  327. package/storybook-static/static/media/OpenSans-Italic-webfont.ec7a2746.ttf +0 -0
  328. package/storybook-static/static/media/OpenSans-Regular-webfont.63a5fa7d.woff +0 -0
  329. package/storybook-static/static/media/OpenSans-Regular-webfont.66451be4.ttf +0 -0
  330. package/storybook-static/static/media/OpenSans-Regular-webfont.7882d20f.eot +0 -0
  331. package/storybook-static/static/media/OpenSans-Regular-webfont.ca4dd835.woff2 +0 -0
  332. package/storybook-static/static/media/OpenSans-Semibold-webfont.17ded75f.woff2 +0 -0
  333. package/storybook-static/static/media/OpenSans-Semibold-webfont.2a5adf6c.woff +0 -0
  334. package/storybook-static/static/media/OpenSans-Semibold-webfont.6059fecb.ttf +0 -0
  335. package/storybook-static/static/media/OpenSans-Semibold-webfont.c9808185.eot +0 -0
  336. package/storybook-static/static/media/Rubik-Bold.31bbd4d2.ttf +0 -0
  337. package/storybook-static/static/media/Rubik-Light.c90e2014.ttf +0 -0
  338. package/storybook-static/static/media/Rubik-Medium.5daa89aa.ttf +0 -0
  339. package/storybook-static/static/media/Rubik-Regular.cdf97d58.ttf +0 -0
  340. package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
  341. package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
  342. package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
  343. package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
  344. package/storybook-static/vendors~main.c7e1bdf2e91d9cdba380.manager.bundle.js +0 -2
  345. package/storybook-static/vendors~main.c7e1bdf2e91d9cdba380.manager.bundle.js.LICENSE.txt +0 -104
  346. package/storybook-static/vendors~main.f299a23f.iframe.bundle.js +0 -76
  347. package/storybook-static/vendors~main.f299a23f.iframe.bundle.js.LICENSE.txt +0 -145
  348. package/storybook-static/vendors~main.f299a23f.iframe.bundle.js.map +0 -1
@@ -328,7 +328,21 @@
328
328
  <a name='L263'></a><a href='#L263'>263</a>
329
329
  <a name='L264'></a><a href='#L264'>264</a>
330
330
  <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
332
346
  <span class="cline-any cline-neutral">&nbsp;</span>
333
347
  <span class="cline-any cline-neutral">&nbsp;</span>
334
348
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -378,6 +392,8 @@
378
392
  <span class="cline-any cline-neutral">&nbsp;</span>
379
393
  <span class="cline-any cline-neutral">&nbsp;</span>
380
394
  <span class="cline-any cline-neutral">&nbsp;</span>
395
+ <span class="cline-any cline-neutral">&nbsp;</span>
396
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
397
  <span class="cline-any cline-yes">1x</span>
382
398
  <span class="cline-any cline-yes">1x</span>
383
399
  <span class="cline-any cline-no">&nbsp;</span>
@@ -427,6 +443,9 @@
427
443
  <span class="cline-any cline-no">&nbsp;</span>
428
444
  <span class="cline-any cline-neutral">&nbsp;</span>
429
445
  <span class="cline-any cline-no">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
449
  <span class="cline-any cline-no">&nbsp;</span>
431
450
  <span class="cline-any cline-neutral">&nbsp;</span>
432
451
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -503,6 +522,10 @@
503
522
  <span class="cline-any cline-neutral">&nbsp;</span>
504
523
  <span class="cline-any cline-neutral">&nbsp;</span>
505
524
  <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-neutral">&nbsp;</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
506
529
  <span class="cline-any cline-no">&nbsp;</span>
507
530
  <span class="cline-any cline-neutral">&nbsp;</span>
508
531
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -514,6 +537,7 @@
514
537
  <span class="cline-any cline-neutral">&nbsp;</span>
515
538
  <span class="cline-any cline-neutral">&nbsp;</span>
516
539
  <span class="cline-any cline-yes">2x</span>
540
+ <span class="cline-any cline-neutral">&nbsp;</span>
517
541
  <span class="cline-any cline-yes">2x</span>
518
542
  <span class="cline-any cline-yes">2x</span>
519
543
  <span class="cline-any cline-yes">2x</span>
@@ -542,6 +566,10 @@
542
566
  <span class="cline-any cline-neutral">&nbsp;</span>
543
567
  <span class="cline-any cline-neutral">&nbsp;</span>
544
568
  <span class="cline-any cline-neutral">&nbsp;</span>
569
+ <span class="cline-any cline-neutral">&nbsp;</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-neutral">&nbsp;</span>
545
573
  <span class="cline-any cline-no">&nbsp;</span>
546
574
  <span class="cline-any cline-neutral">&nbsp;</span>
547
575
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -593,270 +621,284 @@
593
621
  <span class="cline-any cline-neutral">&nbsp;</span>
594
622
  <span class="cline-any cline-neutral">&nbsp;</span>
595
623
  <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { Component } from 'react';
597
- import PropTypes from 'prop-types';
624
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { Component } from "react";
625
+ import PropTypes from "prop-types";
598
626
  &nbsp;
599
- import SanitizedContent from '../SanitizedContent';
600
- import { CloseXIcon, BellOutline } from '../../lib/SvgComponents.jsx';
601
- import { withGetConfig } from '../hooks/useGetConfig';
627
+ import SanitizedContent from "../SanitizedContent";
628
+ import { CloseXIcon, BellOutline } from "../../lib/SvgComponents.jsx";
629
+ import { withGetConfig } from "../hooks/useGetConfig";
602
630
  &nbsp;
603
631
  class NotificationBanner extends Component {
604
- constructor(props) {
605
- super(props);
632
+ constructor(props) {
633
+ super(props);
606
634
  &nbsp;
607
- this.state = {
608
- height: '100%',
609
- expanded: true,
610
- };
635
+ this.state = {
636
+ height: "100%",
637
+ expanded: true,
638
+ };
611
639
  &nbsp;
612
- this._renderCloseButton = this.renderCloseButton.bind(this);
613
- this._collapseNotification = this.collapseNotification.bind(this);
614
- this._expandNotification = this.expandNotification.bind(this);
615
- this._setBannerHeight = this.setBannerHeight.bind(this);
616
- }
617
- &nbsp;
618
- componentDidMount() {
619
- <span class="missing-if-branch" title="if path not taken" >I</span>if (window.innerWidth &lt;= 767) {
620
- <span class="cstat-no" title="statement not covered" > this.setState({</span>
621
- expanded: false,
622
- });
640
+ this._renderCloseButton = this.renderCloseButton.bind(this);
641
+ this._collapseNotification = this.collapseNotification.bind(this);
642
+ this._expandNotification = this.expandNotification.bind(this);
643
+ this._setBannerHeight = this.setBannerHeight.bind(this);
623
644
  }
624
645
  &nbsp;
625
- window.addEventListener('load', this._setBannerHeight);
626
- window.addEventListener('resize', this._setBannerHeight);
627
- }
646
+ componentDidMount() {
647
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (window.innerWidth &lt;= 767) {
648
+ <span class="cstat-no" title="statement not covered" > this.setState({</span>
649
+ expanded: false,
650
+ });
651
+ }
628
652
  &nbsp;
629
- // Populate state with notification from localStorage
630
- <span class="fstat-no" title="function not covered" > co</span>mponentDidUpdate(prevProps) {
631
- <span class="cstat-no" title="statement not covered" > if (prevProps.result !== this.props?.result) {</span>
632
- const { result: notifications } = <span class="cstat-no" title="statement not covered" >this.props;</span>
633
- <span class="cstat-no" title="statement not covered" > if (Object.keys(notifications).length &gt; 0) {</span>
634
- <span class="cstat-no" title="statement not covered" > this.setState({</span>
635
- expanded: this.isNotificationExpanded(notifications.content),
636
- });
637
- }
653
+ window.addEventListener("load", this._setBannerHeight);
654
+ window.addEventListener("resize", this._setBannerHeight);
655
+ }
656
+ &nbsp;
657
+ // Populate state with notification from localStorage
658
+ <span class="fstat-no" title="function not covered" > co</span>mponentDidUpdate(prevProps) {
659
+ <span class="cstat-no" title="statement not covered" > if (prevProps.result !== this.props?.result) {</span>
660
+ const { result: notifications } = <span class="cstat-no" title="statement not covered" >this.props;</span>
661
+ <span class="cstat-no" title="statement not covered" > if (Object.keys(notifications).length &gt; 0) {</span>
662
+ <span class="cstat-no" title="statement not covered" > this.setState({</span>
663
+ expanded: this.isNotificationExpanded(
664
+ notifications.content
665
+ ),
666
+ });
667
+ }
668
+ }
638
669
  }
639
- }
640
670
  &nbsp;
641
- setBannerHeight() {
642
- const {
643
- result: {
644
- content: { content },
645
- },
646
- } = this.props;
647
- <span class="missing-if-branch" title="if path not taken" >I</span>if (content) {
648
- <span class="cstat-no" title="statement not covered" > this.bannerContainer.style.transition = 'none';</span>
671
+ setBannerHeight() {
672
+ const {
673
+ result: {
674
+ content: { content },
675
+ },
676
+ } = this.props;
677
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (content) {
678
+ <span class="cstat-no" title="statement not covered" > this.bannerContainer.style.transition = "none";</span>
649
679
  &nbsp;
650
- <span class="cstat-no" title="statement not covered" > this.state.expanded</span>
651
- ? this.collapsedBanner.setAttribute('tabIndex', '-1')
652
- : this.collapsedBanner.setAttribute('tabIndex', ' ');
680
+ <span class="cstat-no" title="statement not covered" > this.state.expanded</span>
681
+ ? this.collapsedBanner.setAttribute("tabIndex", "-1")
682
+ : this.collapsedBanner.setAttribute("tabIndex", " ");
653
683
  &nbsp;
654
- <span class="cstat-no" title="statement not covered" > this.setState({</span>
655
- height: this.state.expanded
656
- ? '100%'
657
- : this.collapsedWrapper.offsetHeight + 'px',
658
- });
684
+ <span class="cstat-no" title="statement not covered" > this.setState({</span>
685
+ height: this.state.expanded
686
+ ? "100%"
687
+ : this.collapsedWrapper.offsetHeight + "px",
688
+ });
689
+ }
659
690
  }
660
- }
661
691
  &nbsp;
662
- <span class="fstat-no" title="function not covered" > is</span>NotificationExpanded(notification) {
663
- const dateDismissed = <span class="cstat-no" title="statement not covered" >new Date(notification.dateDismissed);</span>
664
- const dateUpdated = <span class="cstat-no" title="statement not covered" >new Date(notification.dateUpdated);</span>
665
- const notDismissed =
666
- <span class="cstat-no" title="statement not covered" > (this.isDateValid(dateUpdated) &amp;&amp;</span>
667
- this.isDateValid(dateDismissed) &amp;&amp;
668
- dateUpdated &gt;= dateDismissed) ||
669
- !this.isDateValid(dateDismissed);
692
+ <span class="fstat-no" title="function not covered" > is</span>NotificationExpanded(notification) {
693
+ const dateDismissed = <span class="cstat-no" title="statement not covered" >new Date(notification.dateDismissed);</span>
694
+ const dateUpdated = <span class="cstat-no" title="statement not covered" >new Date(notification.dateUpdated);</span>
695
+ const notDismissed =
696
+ <span class="cstat-no" title="statement not covered" > (this.isDateValid(dateUpdated) &amp;&amp;</span>
697
+ this.isDateValid(dateDismissed) &amp;&amp;
698
+ dateUpdated &gt;= dateDismissed) ||
699
+ !this.isDateValid(dateDismissed);
670
700
  &nbsp;
671
- <span class="cstat-no" title="statement not covered" > return notDismissed;</span>
672
- }
701
+ <span class="cstat-no" title="statement not covered" > return notDismissed;</span>
702
+ }
673
703
  &nbsp;
674
- /**
675
- * Whether the date is valid, i.e. not null
676
- *
677
- * @param {Date} date
678
- * @return {Boolean}
679
- */
680
- <span class="fstat-no" title="function not covered" > is</span>DateValid(date) {
681
- <span class="cstat-no" title="statement not covered" > return !isNaN(Date.parse(date));</span>
682
- }
704
+ /**
705
+ * Whether the date is valid, i.e. not null
706
+ *
707
+ * @param {Date} date
708
+ * @return {Boolean}
709
+ */
710
+ <span class="fstat-no" title="function not covered" > is</span>DateValid(date) {
711
+ <span class="cstat-no" title="statement not covered" > return !isNaN(Date.parse(date));</span>
712
+ }
683
713
  &nbsp;
684
- /**
685
- * Try to find this NotificationBanner instance in localStorage, or else add
686
- * a minimal version of it, and mark it with a dateDismissed, then update
687
- * localStorage.
688
- */
689
- <span class="fstat-no" title="function not covered" > ma</span>rkNotificationClosed() {
690
- const { result } = <span class="cstat-no" title="statement not covered" >this.props;</span>
691
- const dateDismissed = <span class="cstat-no" title="statement not covered" >new Date().toISOString();</span>
692
- const storageNotification = <span class="cstat-no" title="statement not covered" >result || {};</span>
714
+ /**
715
+ * Try to find this NotificationBanner instance in localStorage, or else add
716
+ * a minimal version of it, and mark it with a dateDismissed, then update
717
+ * localStorage.
718
+ */
719
+ <span class="fstat-no" title="function not covered" > ma</span>rkNotificationClosed() {
720
+ const { result } = <span class="cstat-no" title="statement not covered" >this.props;</span>
721
+ const dateDismissed = <span class="cstat-no" title="statement not covered" >new Date().toISOString();</span>
722
+ const storageNotification = <span class="cstat-no" title="statement not covered" >result || {};</span>
693
723
  &nbsp;
694
- <span class="cstat-no" title="statement not covered" > if (storageNotification &amp;&amp; Object.keys(storageNotification).length &gt; 0) {</span>
695
- <span class="cstat-no" title="statement not covered" > window.localStorage.setItem(</span>
696
- 'notifications',
697
- JSON.stringify({
698
- ...storageNotification,
699
- content: {
700
- ...storageNotification.content,
701
- dateDismissed,
702
- },
703
- })
704
- );
705
- } else {
706
- <span class="cstat-no" title="statement not covered" > window.localStorage.setItem(</span>
707
- 'notifications',
708
- JSON.stringify({
709
- ...storageNotification,
710
- content: {
711
- name: 'header-notification',
712
- dateDismissed,
713
- },
714
- })
715
- );
724
+ <span class="cstat-no" title="statement not covered" > if (</span>
725
+ storageNotification &amp;&amp;
726
+ Object.keys(storageNotification).length &gt; 0
727
+ ) {
728
+ <span class="cstat-no" title="statement not covered" > window.localStorage.setItem(</span>
729
+ "notifications",
730
+ JSON.stringify({
731
+ ...storageNotification,
732
+ content: {
733
+ ...storageNotification.content,
734
+ dateDismissed,
735
+ },
736
+ })
737
+ );
738
+ } else {
739
+ <span class="cstat-no" title="statement not covered" > window.localStorage.setItem(</span>
740
+ "notifications",
741
+ JSON.stringify({
742
+ ...storageNotification,
743
+ content: {
744
+ name: "header-notification",
745
+ dateDismissed,
746
+ },
747
+ })
748
+ );
749
+ }
716
750
  }
717
- }
718
751
  &nbsp;
719
- /**
720
- * Callback when the user dimisses a notification. Mark it as dismissed in
721
- * localStorage, empty the contents, and dispatch a custom event to notify
722
- * any observers that it has been dismissed.
723
- */
724
- <span class="fstat-no" title="function not covered" > co</span>llapseNotification(e) {
725
- <span class="cstat-no" title="statement not covered" > e.stopPropagation();</span>
726
- <span class="cstat-no" title="statement not covered" > this.markNotificationClosed();</span>
727
- <span class="cstat-no" title="statement not covered" > this.collapsedBanner.setAttribute('tabIndex', ' ');</span>
728
- <span class="cstat-no" title="statement not covered" > this.bannerContainer.style.transition = 'height .2s ease-out';</span>
729
- <span class="cstat-no" title="statement not covered" > this.setState({</span>
730
- expanded: false,
731
- height: this.collapsedWrapper.offsetHeight + 'px',
732
- });
733
- }
752
+ /**
753
+ * Callback when the user dimisses a notification. Mark it as dismissed in
754
+ * localStorage, empty the contents, and dispatch a custom event to notify
755
+ * any observers that it has been dismissed.
756
+ */
757
+ <span class="fstat-no" title="function not covered" > co</span>llapseNotification(e) {
758
+ <span class="cstat-no" title="statement not covered" > e.stopPropagation();</span>
759
+ <span class="cstat-no" title="statement not covered" > this.markNotificationClosed();</span>
760
+ <span class="cstat-no" title="statement not covered" > this.collapsedBanner.setAttribute("tabIndex", " ");</span>
761
+ <span class="cstat-no" title="statement not covered" > this.bannerContainer.style.transition = "height .2s ease-out";</span>
762
+ <span class="cstat-no" title="statement not covered" > this.setState({</span>
763
+ expanded: false,
764
+ height: this.collapsedWrapper.offsetHeight + "px",
765
+ });
766
+ }
734
767
  &nbsp;
735
- <span class="fstat-no" title="function not covered" > ex</span>pandNotification() {
736
- <span class="cstat-no" title="statement not covered" > if (!this.state.expanded) {</span>
737
- <span class="cstat-no" title="statement not covered" > this.collapsedBanner.setAttribute('tabIndex', '-1');</span>
738
- <span class="cstat-no" title="statement not covered" > this.bannerContainer.style.transition = 'height .2s ease-out';</span>
739
- <span class="cstat-no" title="statement not covered" > this.setState({</span>
740
- expanded: true,
741
- height: '100%',
742
- });
768
+ <span class="fstat-no" title="function not covered" > ex</span>pandNotification() {
769
+ <span class="cstat-no" title="statement not covered" > if (!this.state.expanded) {</span>
770
+ <span class="cstat-no" title="statement not covered" > this.collapsedBanner.setAttribute("tabIndex", "-1");</span>
771
+ <span class="cstat-no" title="statement not covered" > this.bannerContainer.style.transition = "height .2s ease-out";</span>
772
+ <span class="cstat-no" title="statement not covered" > this.setState({</span>
773
+ expanded: true,
774
+ height: "100%",
775
+ });
776
+ }
743
777
  }
744
- }
745
778
  &nbsp;
746
- /**
747
- * Renders the close button if the notification instance is dismissable.
748
- *
749
- * @return {String} HTML content
750
- */
751
- <span class="fstat-no" title="function not covered" > re</span>nderCloseButton() {
752
- const {
753
- result: {
754
- content: { dismissable },
755
- },
756
- } = <span class="cstat-no" title="statement not covered" >this.props;</span>
757
- <span class="cstat-no" title="statement not covered" > if (dismissable) {</span>
758
- <span class="cstat-no" title="statement not covered" > return (</span>
759
- &lt;button
760
- onClick={this._collapseNotification}
761
- type="button"
762
- className="notification-banner-close"
763
- &gt;
764
- &lt;svg className="close-icon" aria-hidden="true" focusable="false"&gt;
765
- &lt;CloseXIcon /&gt;
766
- &lt;/svg&gt;
767
- &lt;span className="sr-only"&gt;Close&lt;/span&gt;
768
- &lt;/button&gt;
769
- );
770
- } else {
771
- <span class="cstat-no" title="statement not covered" > return '';</span>
779
+ /**
780
+ * Renders the close button if the notification instance is dismissable.
781
+ *
782
+ * @return {String} HTML content
783
+ */
784
+ <span class="fstat-no" title="function not covered" > re</span>nderCloseButton() {
785
+ const {
786
+ result: {
787
+ content: { dismissable },
788
+ },
789
+ } = <span class="cstat-no" title="statement not covered" >this.props;</span>
790
+ <span class="cstat-no" title="statement not covered" > if (dismissable) {</span>
791
+ <span class="cstat-no" title="statement not covered" > return (</span>
792
+ &lt;button
793
+ onClick={this._collapseNotification}
794
+ type="button"
795
+ className="notification-banner-close"
796
+ &gt;
797
+ &lt;svg
798
+ className="close-icon"
799
+ aria-hidden="true"
800
+ focusable="false"
801
+ &gt;
802
+ &lt;CloseXIcon /&gt;
803
+ &lt;/svg&gt;
804
+ &lt;span className="sr-only"&gt;Close&lt;/span&gt;
805
+ &lt;/button&gt;
806
+ );
807
+ } else {
808
+ <span class="cstat-no" title="statement not covered" > return "";</span>
809
+ }
772
810
  }
773
- }
774
811
  &nbsp;
775
- /**
776
- * Render the notification if it has any contents.
777
- *
778
- * @return {String} HTML content
779
- */
780
- render() {
781
- const { expanded, height } = this.state;
782
- const { result: { content: { enabled, content } = <span class="branch-0 cbranch-no" title="branch not covered" >{} </span>} = <span class="branch-0 cbranch-no" title="branch not covered" >{} </span>} = this.props;
783
- if (!content || <span class="branch-1 cbranch-no" title="branch not covered" >!enabled)</span> {
784
- return &lt;div id="notification-banner" /&gt;;
785
- } else <span class="missing-if-branch" title="else path not taken" >E</span>{
786
- const notificationStatus = <span class="cstat-no" title="statement not covered" >expanded ? 'expanded' : 'collapsed';</span>
787
- const { color = <span class="branch-0 cbranch-no" title="branch not covered" >'blue',</span> label = <span class="branch-0 cbranch-no" title="branch not covered" >'Update' </span>} = <span class="cstat-no" title="statement not covered" >content;</span>
788
- const className = <span class="cstat-no" title="statement not covered" >`notification-banner notification-banner-${color} ${notificationStatus}`;</span>
812
+ /**
813
+ * Render the notification if it has any contents.
814
+ *
815
+ * @return {String} HTML content
816
+ */
817
+ render() {
818
+ const { expanded, height } = this.state;
819
+ const { result: { content: { enabled, content } = <span class="branch-0 cbranch-no" title="branch not covered" >{} </span>} = <span class="branch-0 cbranch-no" title="branch not covered" >{} </span>} =
820
+ this.props;
821
+ if (!content || <span class="branch-1 cbranch-no" title="branch not covered" >!enabled)</span> {
822
+ return &lt;div id="notification-banner" /&gt;;
823
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>{
824
+ const notificationStatus = <span class="cstat-no" title="statement not covered" >expanded ? "expanded" : "collapsed";</span>
825
+ const { color = <span class="branch-0 cbranch-no" title="branch not covered" >"blue",</span> label = <span class="branch-0 cbranch-no" title="branch not covered" >"Update" </span>} = <span class="cstat-no" title="statement not covered" >content;</span>
826
+ const className = <span class="cstat-no" title="statement not covered" >`notification-banner notification-banner-${color} ${notificationStatus}`;</span>
789
827
  &nbsp;
790
- <span class="cstat-no" title="statement not covered" > return (</span>
791
- &lt;div
792
- style={{ height }}
793
- ref={<span class="fstat-no" title="function not covered" >(e</span>lem) =&gt; (<span class="cstat-no" title="statement not covered" >this.bannerContainer = elem)</span>}
794
- className={className}
795
- &gt;
796
- &lt;div
797
- ref={<span class="fstat-no" title="function not covered" >(e</span>lem) =&gt; (<span class="cstat-no" title="statement not covered" >this.expandedWrapper = elem)</span>}
798
- className={`notification-banner-wrapper expanded-view`}
799
- &gt;
800
- &lt;div className="notification-banner-label"&gt;{label}&lt;/div&gt;
801
- &lt;div className="notification-banner-content"&gt;
802
- &lt;SanitizedContent
803
- html={expanded ? content : '&lt;p&gt;Nothing to see here&lt;/p&gt;'}
804
- /&gt;
805
- &lt;/div&gt;
806
- {expanded &amp;&amp; this._renderCloseButton()}
807
- &lt;/div&gt;
828
+ <span class="cstat-no" title="statement not covered" > return (</span>
829
+ &lt;div
830
+ style={{ height }}
831
+ ref={<span class="fstat-no" title="function not covered" >(e</span>lem) =&gt; (<span class="cstat-no" title="statement not covered" >this.bannerContainer = elem)</span>}
832
+ className={className}
833
+ &gt;
834
+ &lt;div
835
+ ref={<span class="fstat-no" title="function not covered" >(e</span>lem) =&gt; (<span class="cstat-no" title="statement not covered" >this.expandedWrapper = elem)</span>}
836
+ className={`notification-banner-wrapper expanded-view`}
837
+ &gt;
838
+ &lt;div className="notification-banner-label"&gt;{label}&lt;/div&gt;
839
+ &lt;div className="notification-banner-content"&gt;
840
+ &lt;SanitizedContent
841
+ html={
842
+ expanded
843
+ ? content
844
+ : "&lt;p&gt;Nothing to see here&lt;/p&gt;"
845
+ }
846
+ /&gt;
847
+ &lt;/div&gt;
848
+ {expanded &amp;&amp; this._renderCloseButton()}
849
+ &lt;/div&gt;
808
850
  &nbsp;
809
- &lt;div
810
- ref={<span class="fstat-no" title="function not covered" >(e</span>lem) =&gt; (<span class="cstat-no" title="statement not covered" >this.collapsedWrapper = elem)</span>}
811
- className={`notification-banner-wrapper collapsed-view`}
812
- onClick={this._expandNotification}
813
- &gt;
814
- &lt;button
815
- ref={<span class="fstat-no" title="function not covered" >(e</span>lem) =&gt; (<span class="cstat-no" title="statement not covered" >this.collapsedBanner = elem)</span>}
816
- className={`notification-banner-label`}
817
- &gt;
818
- {label}
819
- &lt;span className="bell-icon"&gt;
820
- &lt;svg aria-hidden="true" focusable="false"&gt;
821
- &lt;BellOutline /&gt;
822
- &lt;/svg&gt;
823
- &lt;/span&gt;
824
- &lt;/button&gt;
825
- &lt;/div&gt;
826
- &lt;/div&gt;
827
- );
851
+ &lt;div
852
+ ref={<span class="fstat-no" title="function not covered" >(e</span>lem) =&gt; (<span class="cstat-no" title="statement not covered" >this.collapsedWrapper = elem)</span>}
853
+ className={`notification-banner-wrapper collapsed-view`}
854
+ onClick={this._expandNotification}
855
+ &gt;
856
+ &lt;button
857
+ ref={<span class="fstat-no" title="function not covered" >(e</span>lem) =&gt; (<span class="cstat-no" title="statement not covered" >this.collapsedBanner = elem)</span>}
858
+ className={`notification-banner-label`}
859
+ &gt;
860
+ {label}
861
+ &lt;span className="bell-icon"&gt;
862
+ &lt;svg aria-hidden="true" focusable="false"&gt;
863
+ &lt;BellOutline /&gt;
864
+ &lt;/svg&gt;
865
+ &lt;/span&gt;
866
+ &lt;/button&gt;
867
+ &lt;/div&gt;
868
+ &lt;/div&gt;
869
+ );
870
+ }
828
871
  }
829
- }
830
872
  }
831
873
  &nbsp;
832
874
  NotificationBanner.propTypes = {
833
- result: PropTypes.shape({
834
- content: PropTypes.shape({
835
- content: PropTypes.string,
836
- label: PropTypes.string,
837
- color: PropTypes.string,
838
- dismissable: PropTypes.bool,
875
+ result: PropTypes.shape({
876
+ content: PropTypes.shape({
877
+ content: PropTypes.string,
878
+ label: PropTypes.string,
879
+ color: PropTypes.string,
880
+ dismissable: PropTypes.bool,
881
+ }),
839
882
  }),
840
- }),
841
883
  };
842
884
  &nbsp;
843
885
  NotificationBanner.defaultProps = {
844
- result: {
845
- content: {
846
- content: null,
847
- label: 'Update',
848
- color: 'blue',
849
- dismissable: true,
886
+ result: {
887
+ content: {
888
+ content: null,
889
+ label: "Update",
890
+ color: "blue",
891
+ dismissable: true,
892
+ },
850
893
  },
851
- },
852
894
  };
853
895
  &nbsp;
854
896
  export default withGetConfig(NotificationBanner, {
855
- timeout: 5,
856
- url: '/config/notification',
857
- localStorageName: 'active_notification',
858
- equalityCheckExclude: ['dateDismissed', 'dateUpdated'],
859
- defaultContent: {},
897
+ timeout: 5,
898
+ url: "/config/notification",
899
+ localStorageName: "active_notification",
900
+ equalityCheckExclude: ["dateDismissed", "dateUpdated"],
901
+ defaultContent: {},
860
902
  });
861
903
  &nbsp;</pre></td></tr></table></pre>
862
904
 
@@ -865,7 +907,7 @@ export default withGetConfig(NotificationBanner, {
865
907
  <div class='footer quiet pad2 space-top1 center small'>
866
908
  Code coverage generated by
867
909
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
868
- at Mon Mar 14 2022 14:52:06 GMT-0700 (Pacific Daylight Time)
910
+ at Thu Mar 24 2022 11:31:04 GMT-0700 (Pacific Daylight Time)
869
911
  </div>
870
912
  <script src="../../../prettify.js"></script>
871
913
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Mon Mar 14 2022 14:52:06 GMT-0700 (Pacific Daylight Time)
104
+ at Thu Mar 24 2022 11:31:04 GMT-0700 (Pacific Daylight Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>