qpp-style 0.0.8 → 0.0.10

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 (462) hide show
  1. package/.eslintrc.js +28 -28
  2. package/.husky/pre-commit +5 -0
  3. package/README.md +45 -0
  4. package/components/Accordion/index.jsx +35 -43
  5. package/components/Alert/index.js +53 -0
  6. package/components/Breadcrumb/Breadcrumb.md +28 -0
  7. package/components/Breadcrumb/index.js +69 -11
  8. package/components/Button/index.js +90 -0
  9. package/components/CalloutBox/index.js +109 -0
  10. package/components/Card/index.js +137 -0
  11. package/components/Details/DetailsIcons.js +50 -0
  12. package/components/Details/index.js +53 -0
  13. package/components/Dropdown/index.js +85 -0
  14. package/components/DropdownButton/Menu.js +25 -0
  15. package/components/DropdownButton/MenuButton.js +41 -0
  16. package/components/DropdownButton/MenuItem.js +25 -0
  17. package/components/DropdownButton/MenuItemLink.js +27 -0
  18. package/components/Error/Collapsible.jsx +2 -2
  19. package/components/Footer/FooterUI.jsx +175 -177
  20. package/components/Footer/footer.js +2 -12
  21. package/components/GovBanner/index.js +117 -0
  22. package/components/Header/HeaderAccountMenu.jsx +63 -234
  23. package/components/Header/HeaderCancel.jsx +5 -10
  24. package/components/Header/HeaderContainer.jsx +74 -0
  25. package/components/Header/HeaderLogo.jsx +42 -0
  26. package/components/Header/HeaderMenuButton.js +50 -0
  27. package/components/Header/HeaderMenuItem.jsx +239 -0
  28. package/components/Header/HeaderMenuLink.js +56 -0
  29. package/components/Header/HeaderMenuSignOutButton.js +62 -0
  30. package/components/Header/HeaderMobileButton.js +37 -0
  31. package/components/Header/HeaderUI.jsx +130 -361
  32. package/components/Header/HelpIcon.jsx +32 -0
  33. package/components/Header/ImpersonatorBanner.jsx +81 -0
  34. package/components/Header/default-content.json +158 -87
  35. package/components/Header/header.js +2 -0
  36. package/components/Header/hooks.js +66 -0
  37. package/components/Header/utag-helpers.js +9 -0
  38. package/components/Infotip/Infotip.jsx +6 -10
  39. package/components/Infotip/InfotipContent.jsx +46 -0
  40. package/components/Infotip/InfotipIcon.jsx +3 -3
  41. package/components/Link/index.js +61 -0
  42. package/components/Modal/LegacyModal.jsx +72 -0
  43. package/components/Modal/Modal.jsx +140 -0
  44. package/components/Modal/index.jsx +13 -63
  45. package/components/NotificationBanner/CollapsedView.js +39 -0
  46. package/components/NotificationBanner/ExpandedView.js +45 -0
  47. package/components/NotificationBanner/index.js +219 -30
  48. package/components/Search/index.js +98 -0
  49. package/components/SessionDialog/sessionDialog.js +26 -0
  50. package/components/SessionDialogUI.jsx +34 -26
  51. package/components/SideNav/AnimationGroup/AnimationGroup.jsx +10 -4
  52. package/components/SideNav/Chart/ScoreChart.jsx +81 -109
  53. package/components/SideNav/Chart/__tests__/ScoreChart.test.js +3 -12
  54. package/components/SideNav/Chart/__tests__/__snapshots__/ScoreChart.test.js.snap +144 -35
  55. package/components/SideNav/Chart/index.js +1 -1
  56. package/components/SideNav/Content/LevelOneContent.jsx +146 -258
  57. package/components/SideNav/Content/LevelTwoContent.jsx +6 -4
  58. package/components/SideNav/Content/SelectRole/index.js +77 -0
  59. package/components/SideNav/Content/SelectRole/utils.js +140 -0
  60. package/components/SideNav/Details/PracticeDetails.jsx +4 -0
  61. package/components/SideNav/Links/CmsSwitchLink.jsx +1 -1
  62. package/components/SideNav/Links/NavLinkContainer.jsx +29 -34
  63. package/components/SideNav/Links/NavLinkDrawer.jsx +192 -124
  64. package/components/SideNav/Links/NavLinkInline.jsx +7 -2
  65. package/components/SideNav/Links/NavLinkToggle.jsx +1 -1
  66. package/components/SideNav/SideNav.md +28 -27
  67. package/components/SideNav/UI/SideNavUI.jsx +198 -268
  68. package/components/SideNav/UI/default-content.json +117 -0
  69. package/components/SideNav/helpers.js +316 -4
  70. package/components/Tabs/TabPanel.js +5 -0
  71. package/components/Tabs/Tabs.js +73 -0
  72. package/components/TextInput/index.js +137 -0
  73. package/components/hooks/useGetConfig.js +75 -0
  74. package/components/index.js +106 -9
  75. package/coverage/clover.xml +1194 -748
  76. package/coverage/coverage-final.json +72 -50
  77. package/coverage/lcov-report/block-navigation.js +8 -0
  78. package/coverage/lcov-report/components/Accordion/index.html +26 -21
  79. package/coverage/lcov-report/components/Accordion/index.jsx.html +106 -131
  80. package/coverage/lcov-report/{SideNav/Chart → components/Button}/index.html +29 -24
  81. package/coverage/lcov-report/{Error/Collapsible.jsx.html → components/Button/index.js.html} +125 -114
  82. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +92 -87
  83. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +32 -33
  84. package/coverage/lcov-report/components/Error/index.html +11 -6
  85. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +200 -189
  86. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +24 -61
  87. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +18 -13
  88. package/coverage/lcov-report/components/Footer/index.html +35 -45
  89. package/coverage/lcov-report/components/{InfoModal → GovBanner}/index.html +27 -22
  90. package/coverage/lcov-report/components/{InfoModal/index.jsx.html → GovBanner/index.js.html} +157 -122
  91. package/coverage/lcov-report/components/Header/HeaderAccountMenu.jsx.html +93 -520
  92. package/coverage/lcov-report/components/Header/HeaderCancel.jsx.html +19 -23
  93. package/coverage/lcov-report/components/Header/HeaderContainer.jsx.html +280 -0
  94. package/coverage/lcov-report/components/Header/HeaderLogo.jsx.html +211 -0
  95. package/coverage/lcov-report/components/Header/HeaderMenuButton.js.html +235 -0
  96. package/coverage/lcov-report/components/{Footer/LegacyFooterUI.jsx.html → Header/HeaderMenuItem.jsx.html} +334 -200
  97. package/coverage/lcov-report/components/Header/HeaderMenuLink.js.html +253 -0
  98. package/coverage/lcov-report/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  99. package/coverage/lcov-report/components/Header/HeaderMobileButton.js.html +196 -0
  100. package/coverage/lcov-report/components/Header/HeaderUI.jsx.html +176 -756
  101. package/coverage/lcov-report/components/Header/HelpIcon.jsx.html +181 -0
  102. package/coverage/lcov-report/{Accordion/index.jsx.html → components/Header/ImpersonatorBanner.jsx.html} +109 -167
  103. package/coverage/lcov-report/components/Header/NavigationButtonIcon.jsx.html +24 -19
  104. package/coverage/lcov-report/components/Header/hooks.js.html +283 -0
  105. package/coverage/lcov-report/components/Header/index.html +203 -33
  106. package/coverage/lcov-report/components/{SideNav/Links/index.js.html → Header/utag-helpers.js.html} +35 -42
  107. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +53 -48
  108. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +37 -32
  109. package/coverage/lcov-report/components/Infotip/index.html +8 -3
  110. package/coverage/lcov-report/components/Infotip/index.js.html +8 -3
  111. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +301 -0
  112. package/coverage/lcov-report/components/Modal/Modal.jsx.html +505 -0
  113. package/coverage/lcov-report/components/Modal/index.html +146 -0
  114. package/coverage/lcov-report/components/{SideNav/Details/IndividualDetails.jsx.html → Modal/index.jsx.html} +50 -42
  115. package/coverage/lcov-report/components/NotificationBanner/CollapsedView.js.html +202 -0
  116. package/coverage/lcov-report/components/NotificationBanner/ExpandedView.js.html +220 -0
  117. package/coverage/lcov-report/components/NotificationBanner/index.html +58 -23
  118. package/coverage/lcov-report/components/{SideNav/Content/LevelTwoContent.jsx.html → NotificationBanner/index.js.html} +292 -272
  119. package/coverage/lcov-report/components/SanitizedContent/index.html +8 -3
  120. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +475 -50
  121. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +248 -255
  122. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +272 -408
  123. package/coverage/lcov-report/components/SideNav/Chart/index.html +28 -38
  124. package/coverage/lcov-report/components/SideNav/Content/SelectRole/index.html +116 -0
  125. package/coverage/lcov-report/components/SideNav/Content/SelectRole/utils.js.html +505 -0
  126. package/coverage/lcov-report/components/SideNav/helpers.js.html +987 -46
  127. package/coverage/lcov-report/components/SideNav/index.html +24 -19
  128. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +70 -65
  129. package/coverage/lcov-report/components/Tooltip/index.html +8 -3
  130. package/coverage/lcov-report/components/Tooltip/index.js.html +8 -3
  131. package/coverage/lcov-report/components/Tooltip/position.js.html +57 -64
  132. package/coverage/lcov-report/components/hooks/index.html +116 -0
  133. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +310 -0
  134. package/coverage/lcov-report/components/index.html +10 -5
  135. package/coverage/lcov-report/index.html +249 -154
  136. package/coverage/lcov-report/{Error/ErrorUI.jsx.html → lib/Chevron.jsx.html} +44 -42
  137. package/coverage/lcov-report/lib/SvgComponents.jsx.html +1840 -0
  138. package/coverage/lcov-report/lib/index.html +34 -14
  139. package/coverage/lcov-report/react/components/Accordion/index.html +26 -21
  140. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +106 -131
  141. package/coverage/lcov-report/react/components/{FlashNotification → Button}/index.html +23 -33
  142. package/coverage/lcov-report/{components/SideNav/Links/NavLinkInline.jsx.html → react/components/Button/index.js.html} +119 -120
  143. package/coverage/lcov-report/react/components/{Tabs → Dropdown}/index.html +23 -33
  144. package/coverage/lcov-report/react/components/{InfoModal/index.jsx.html → Dropdown/index.js.html} +103 -155
  145. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +92 -87
  146. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +32 -33
  147. package/coverage/lcov-report/react/components/Error/error.js.html +25 -20
  148. package/coverage/lcov-report/react/components/Error/index.html +11 -6
  149. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +200 -189
  150. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +14 -15
  151. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +18 -13
  152. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +18 -13
  153. package/coverage/lcov-report/react/components/Footer/footer.js.html +12 -34
  154. package/coverage/lcov-report/react/components/Footer/index.html +35 -45
  155. package/coverage/lcov-report/react/components/{InfoModal → GovBanner}/index.html +27 -22
  156. package/coverage/lcov-report/react/components/{Tabs/TabsUI.jsx.html → GovBanner/index.js.html} +146 -153
  157. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +93 -520
  158. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +19 -23
  159. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +307 -0
  160. package/coverage/lcov-report/{components/SideNav/Links/CmsSwitchLink.jsx.html → react/components/Header/HeaderLogo.jsx.html} +64 -53
  161. package/coverage/lcov-report/{components/SideNav/Links/NavItemInline.jsx.html → react/components/Header/HeaderMenuButton.js.html} +64 -71
  162. package/coverage/lcov-report/{components/SideNav/Links/NavLinkDrawer.jsx.html → react/components/Header/HeaderMenuItem.jsx.html} +284 -261
  163. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +253 -0
  164. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  165. package/coverage/lcov-report/{components/SideNav/Links/NavLinkToggle.jsx.html → react/components/Header/HeaderMobileButton.js.html} +58 -41
  166. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +189 -745
  167. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +181 -0
  168. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +331 -0
  169. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +18 -13
  170. package/coverage/lcov-report/react/components/Header/header.js.html +18 -4
  171. package/coverage/lcov-report/react/components/Header/hooks.js.html +283 -0
  172. package/coverage/lcov-report/react/components/Header/index.html +205 -35
  173. package/coverage/lcov-report/react/components/{Spinner/index.js.html → Header/utag-helpers.js.html} +26 -21
  174. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +53 -48
  175. package/coverage/lcov-report/{components/SideNav/Links/NavLinkContainer.jsx.html → react/components/Infotip/InfotipContent.jsx.html} +83 -60
  176. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +37 -32
  177. package/coverage/lcov-report/react/components/Infotip/index.html +8 -3
  178. package/coverage/lcov-report/react/components/Infotip/index.js.html +8 -3
  179. package/coverage/lcov-report/react/components/{FlashNotification/FlashNotificationUI.jsx.html → Modal/LegacyModal.jsx.html} +89 -84
  180. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +505 -0
  181. package/coverage/lcov-report/react/components/Modal/index.html +52 -17
  182. package/coverage/lcov-report/react/components/Modal/index.jsx.html +38 -201
  183. package/coverage/lcov-report/react/components/{Tabs/tabs.js.html → NotificationBanner/CollapsedView.js.html} +61 -47
  184. package/coverage/lcov-report/{components/SideNav/Details/PracticeDetails.jsx.html → react/components/NotificationBanner/ExpandedView.js.html} +74 -57
  185. package/coverage/lcov-report/react/components/NotificationBanner/index.html +58 -23
  186. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +615 -43
  187. package/coverage/lcov-report/react/components/SanitizedContent/index.html +8 -3
  188. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +478 -53
  189. package/coverage/lcov-report/react/components/{Spinner → SessionDialog}/index.html +11 -6
  190. package/coverage/lcov-report/react/components/{FlashNotification/index.js.html → SessionDialog/sessionDialog.js.html} +35 -42
  191. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +248 -255
  192. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +53 -18
  193. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +18 -13
  194. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +272 -402
  195. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +28 -23
  196. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +9 -4
  197. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +190 -521
  198. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +23 -12
  199. package/coverage/lcov-report/{components/SideNav/Details → react/components/SideNav/Content/SelectRole}/index.html +42 -52
  200. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.js.html +316 -0
  201. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/utils.js.html +505 -0
  202. package/coverage/lcov-report/react/components/SideNav/Content/index.html +32 -27
  203. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +8 -3
  204. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +20 -24
  205. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +54 -37
  206. package/coverage/lcov-report/react/components/SideNav/Details/index.html +23 -18
  207. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +8 -3
  208. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +9 -4
  209. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +8 -3
  210. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +56 -57
  211. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +351 -142
  212. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +60 -40
  213. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +9 -4
  214. package/coverage/lcov-report/react/components/SideNav/Links/index.html +44 -39
  215. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +8 -3
  216. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +243 -433
  217. package/coverage/lcov-report/react/components/SideNav/UI/index.html +28 -23
  218. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +8 -3
  219. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +958 -17
  220. package/coverage/lcov-report/react/components/SideNav/index.html +27 -22
  221. package/coverage/lcov-report/react/components/SideNav/index.js.html +8 -3
  222. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +70 -65
  223. package/coverage/lcov-report/react/components/Tooltip/index.html +8 -3
  224. package/coverage/lcov-report/react/components/Tooltip/index.js.html +8 -3
  225. package/coverage/lcov-report/react/components/Tooltip/position.js.html +57 -64
  226. package/coverage/lcov-report/{components/SideNav/AnimationGroup → react/components/hooks}/index.html +29 -24
  227. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +310 -0
  228. package/coverage/lcov-report/react/components/index.html +10 -5
  229. package/coverage/lcov-report/react/index.html +20 -15
  230. package/coverage/lcov-report/react/index.js.html +29 -9
  231. package/coverage/lcov-report/react/lib/Chevron.jsx.html +181 -0
  232. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +195 -106
  233. package/coverage/lcov-report/react/lib/index.html +37 -17
  234. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +57 -916
  235. package/coverage/lcov-report/react/session/index.html +32 -27
  236. package/coverage/lcov-report/react/session/index.js.html +8 -3
  237. package/coverage/lcov-report/react/session/logout.js.html +121 -17
  238. package/coverage/lcov-report/react/session/refresh.js.html +11 -6
  239. package/coverage/lcov-report/react/session/ttl.js.html +8 -3
  240. package/coverage/lcov-report/session/index.html +50 -45
  241. package/coverage/lcov-report/session/index.js.html +8 -3
  242. package/coverage/lcov-report/session/logout.js.html +144 -49
  243. package/coverage/lcov-report/session/refresh.js.html +41 -36
  244. package/coverage/lcov-report/session/ttl.js.html +34 -29
  245. package/coverage/lcov-report/sorter.js +26 -0
  246. package/coverage/lcov.info +2427 -1491
  247. package/dist/browser.js +1 -1
  248. package/dist/browser.js.LICENSE.txt +1 -7
  249. package/dist/browser.js.map +1 -1
  250. package/dist/index.js +1 -1
  251. package/dist/index.js.LICENSE.txt +1 -7
  252. package/dist/index.js.map +1 -1
  253. package/dist/react/index.js +1 -1
  254. package/dist/react/index.js.LICENSE.txt +16 -16
  255. package/dist/react/index.js.map +1 -1
  256. package/fonts/PublicSans-Black.ttf +0 -0
  257. package/fonts/PublicSans-BlackItalic.ttf +0 -0
  258. package/fonts/PublicSans-Bold.ttf +0 -0
  259. package/fonts/PublicSans-BoldItalic.ttf +0 -0
  260. package/fonts/PublicSans-ExtraBold.ttf +0 -0
  261. package/fonts/PublicSans-ExtraBoldItalic.ttf +0 -0
  262. package/fonts/PublicSans-ExtraLight.ttf +0 -0
  263. package/fonts/PublicSans-ExtraLightItalic.ttf +0 -0
  264. package/fonts/PublicSans-Italic.ttf +0 -0
  265. package/fonts/PublicSans-Light.ttf +0 -0
  266. package/fonts/PublicSans-LightItalic.ttf +0 -0
  267. package/fonts/PublicSans-Medium.ttf +0 -0
  268. package/fonts/PublicSans-MediumItalic.ttf +0 -0
  269. package/fonts/PublicSans-Regular.ttf +0 -0
  270. package/fonts/PublicSans-SemiBold.ttf +0 -0
  271. package/fonts/PublicSans-SemiBoldItalic.ttf +0 -0
  272. package/fonts/PublicSans-Thin.ttf +0 -0
  273. package/fonts/PublicSans-ThinItalic.ttf +0 -0
  274. package/images/icon-dot-gov.svg +1 -0
  275. package/images/icon-https.svg +1 -0
  276. package/images/icons/close-x.svg +6 -0
  277. package/images/icons/svg/arrow-down.svg +3 -0
  278. package/images/icons/svg/arrow-download.svg +1 -0
  279. package/images/icons/svg/arrow-right.svg +1 -0
  280. package/images/icons/svg/arrow-up.svg +3 -0
  281. package/images/icons/svg/block.svg +5 -0
  282. package/images/icons/svg/calendar.svg +1 -0
  283. package/images/icons/svg/check-circle.svg +5 -0
  284. package/images/icons/svg/checkmark.svg +7 -0
  285. package/images/icons/svg/chevron-down.svg +11 -0
  286. package/images/icons/svg/chevron-left.svg +12 -0
  287. package/images/icons/svg/chevron-right.svg +12 -0
  288. package/images/icons/svg/chevron-up.svg +12 -0
  289. package/images/icons/svg/clipboard.svg +1 -0
  290. package/images/icons/svg/close.svg +1 -0
  291. package/images/icons/svg/divide.svg +13 -0
  292. package/images/icons/svg/doctors-and-clinicians-preview.svg +10 -0
  293. package/images/icons/svg/download.svg +1 -0
  294. package/images/icons/svg/dropdown-arrow.svg +1 -0
  295. package/images/icons/svg/equals.svg +13 -0
  296. package/images/icons/svg/exclamation.svg +11 -0
  297. package/images/icons/svg/external.svg +1 -0
  298. package/images/icons/svg/file-download.svg +1 -0
  299. package/images/icons/svg/file-upload.svg +1 -0
  300. package/images/icons/svg/info.svg +20 -0
  301. package/images/icons/svg/manage-user-access.svg +8 -0
  302. package/images/icons/svg/multiply.svg +12 -0
  303. package/images/icons/svg/performance-feedback.svg +1 -0
  304. package/images/icons/svg/plus.svg +12 -0
  305. package/images/icons/svg/preview.svg +17 -0
  306. package/images/icons/svg/print.svg +1 -0
  307. package/images/icons/svg/registration.svg +8 -0
  308. package/images/icons/svg/reporting.svg +17 -0
  309. package/images/icons/svg/save-disk.svg +5 -0
  310. package/images/icons/svg/search.svg +1 -0
  311. package/images/icons/svg/subtract.svg +15 -0
  312. package/images/icons/svg/targeted-review.svg +15 -0
  313. package/images/icons/svg/tooltip-question.svg +1 -0
  314. package/images/icons/svg/trash.svg +1 -0
  315. package/images/icons/svg/upload.svg +1 -0
  316. package/images/us_flag_small.png +0 -0
  317. package/index.js +5 -0
  318. package/jest.config.js +138 -134
  319. package/lib/Chevron.jsx +32 -0
  320. package/lib/SvgComponents.jsx +197 -49
  321. package/package.json +62 -77
  322. package/session/logout.js +35 -2
  323. package/styles/_global.scss +63 -62
  324. package/styles/_main.scss +6 -0
  325. package/styles/_qpp-style.scss +0 -3
  326. package/styles/components/_accordion.scss +249 -246
  327. package/styles/components/_autocomplete.scss +0 -3
  328. package/styles/components/_modals.scss +9 -9
  329. package/styles/components/_spinner.scss +0 -2
  330. package/styles/components/_tables.scss +77 -67
  331. package/styles/components/_text.scss +102 -102
  332. package/styles/components/_variables.scss +12 -12
  333. package/styles/qppds/base/_backgrounds.scss +7 -0
  334. package/styles/qppds/base/_fonts.scss +24 -0
  335. package/styles/qppds/base/_icon.scss +31 -0
  336. package/styles/qppds/base/_layout.scss +5 -0
  337. package/styles/qppds/base/_typography.scss +78 -44
  338. package/styles/qppds/base/index.scss +4 -5
  339. package/styles/qppds/components/_alert.scss +101 -0
  340. package/styles/qppds/components/_breadcrumbs.scss +42 -6
  341. package/styles/qppds/components/_button.scss +129 -11
  342. package/styles/qppds/components/_card.scss +175 -0
  343. package/styles/qppds/components/_checkbox.scss +199 -0
  344. package/styles/qppds/components/_circular-loader.scss +47 -0
  345. package/styles/qppds/components/_details.scss +90 -0
  346. package/styles/qppds/components/_dropdown-menu.scss +125 -0
  347. package/styles/qppds/components/_dropdown.scss +7 -1
  348. package/styles/qppds/components/_footer.scss +606 -0
  349. package/styles/qppds/components/_gov-banner.scss +344 -0
  350. package/styles/qppds/components/_header.scss +913 -0
  351. package/styles/qppds/components/_link.scss +52 -0
  352. package/styles/qppds/components/_modal.scss +118 -0
  353. package/styles/qppds/components/_page-header.scss +65 -2
  354. package/styles/qppds/components/_pagination.scss +227 -0
  355. package/styles/qppds/components/_process-list.scss +104 -0
  356. package/styles/qppds/components/_radio-button.scss +184 -0
  357. package/styles/qppds/components/_search.scss +118 -0
  358. package/styles/{components → qppds/components}/_sidebar.scss +2 -0
  359. package/styles/qppds/components/_step-indicator.scss +190 -0
  360. package/styles/qppds/components/_table.scss +157 -0
  361. package/styles/qppds/components/_tabs.scss +197 -0
  362. package/styles/qppds/components/_text-input.scss +60 -0
  363. package/styles/qppds/components/index.scss +20 -0
  364. package/styles/{components → qppds/components}/sidebar/_links.scss +48 -1
  365. package/styles/qppds/components/sidebar/_select-role-dropdown.scss +21 -0
  366. package/styles/qppds/components/sidebar/_sidebar-animation.scss +125 -0
  367. package/styles/qppds/components/sidebar/_sidebar.scss +146 -0
  368. package/styles/{components → qppds/components}/sidebar/project-specific/_wi.scss +1 -37
  369. package/styles/qppds/settings/_functions.scss +3 -1
  370. package/styles/qppds/settings/mixins/_borders.scss +6 -0
  371. package/styles/qppds/settings/mixins/_focus.scss +28 -0
  372. package/styles/qppds/settings/mixins/_icons.scss +39 -4
  373. package/styles/qppds/settings/mixins/_index.scss +4 -0
  374. package/styles/qppds/settings/mixins/_layout.scss +46 -7
  375. package/styles/qppds/settings/mixins/_table.scss +91 -0
  376. package/styles/qppds/settings/mixins/_type.scss +89 -0
  377. package/styles/qppds/settings/variables/_color.scss +47 -1
  378. package/styles/qppds/settings/variables/_index.scss +2 -1
  379. package/styles/qppds/settings/variables/_layout.scss +34 -9
  380. package/styles/qppds/settings/variables/_type.scss +41 -0
  381. package/styles/qppds/settings/variables/_z-index.scss +8 -0
  382. package/styles/qppds/utilities/_background-color.scss +4 -0
  383. package/styles/qppds/utilities/_color.scss +28 -0
  384. package/styles/qppds/utilities/{_display-visability.scss → _display-visibility.scss} +8 -0
  385. package/styles/qppds/utilities/_flexbox.scss +113 -0
  386. package/styles/qppds/utilities/_font-family.scss +4 -0
  387. package/styles/qppds/utilities/_gap.scss +38 -0
  388. package/styles/qppds/utilities/_height.scss +79 -0
  389. package/styles/qppds/utilities/_list-style.scss +18 -0
  390. package/styles/qppds/utilities/_position.scss +24 -0
  391. package/styles/qppds/utilities/_text-align.scss +40 -0
  392. package/styles/qppds/utilities/_text-transform.scss +7 -0
  393. package/styles/qppds/utilities/_truncate.scss +5 -5
  394. package/styles/qppds/utilities/_vertical-align.scss +72 -0
  395. package/styles/qppds/utilities/_width.scss +38 -1
  396. package/styles/qppds/utilities/index.scss +8 -2
  397. package/styles/third-party/legacy-bootstrap/_dropdowns.scss +0 -1
  398. package/svgo.config.js +14 -0
  399. package/test/components/Accordion.test.js +4 -13
  400. package/test/components/ErrorUI.test.js +10 -46
  401. package/test/components/FooterUI.test.js +0 -30
  402. package/test/components/HeaderUI.test.js +33 -15
  403. package/test/components/Infotip.test.js +18 -12
  404. package/test/components/SessionDialogUI.test.js +55 -70
  405. package/test/components/SideNavUI.test.js +6 -13
  406. package/test-setup.js +1 -3
  407. package/webpack.config.js +29 -39
  408. package/webpack.config.react.js +7 -18
  409. package/.storybook/.babelrc +0 -4
  410. package/.storybook/main.js +0 -89
  411. package/.storybook/preview-head.html +0 -9
  412. package/.storybook/preview.js +0 -16
  413. package/components/Accordion/Accordion.stories.js +0 -20
  414. package/components/Breadcrumb/Breadcrumb.js +0 -58
  415. package/components/Breadcrumb/Breadcrumb.stories.js +0 -62
  416. package/components/Breadcrumb/LegacyBreadcrumb.js +0 -46
  417. package/components/Footer/Footer.stories.js +0 -22
  418. package/components/Footer/LegacyFooterUI.jsx +0 -194
  419. package/components/Header/Header.stories.js +0 -32
  420. package/components/InfoModal/InfoModal.stories.js +0 -98
  421. package/components/InfoModal/index.jsx +0 -104
  422. package/components/Infotip/Infotip.stories.js +0 -58
  423. package/components/NotificationBanner/NotificationBanner.stories.js +0 -24
  424. package/components/NotificationBanner/NotificationBannerUI.jsx +0 -282
  425. package/components/SideNav/SideNav.stories.js +0 -320
  426. package/components/Spinner/index.js +0 -9
  427. package/components/Tabs/TabsUI.jsx +0 -118
  428. package/components/Tabs/tabs.js +0 -36
  429. package/components/Tooltip/Tooltip.jsx +0 -88
  430. package/components/Tooltip/Tooltip.stories.js +0 -90
  431. package/components/Tooltip/index.js +0 -3
  432. package/components/Tooltip/position.js +0 -68
  433. package/components/UnwrappedSpinner/index.js +0 -8
  434. package/components/UnwrappedTabs/TabPanelUI.jsx +0 -16
  435. package/components/UnwrappedTabs/TabsUI.jsx +0 -82
  436. package/coverage/lcov-report/Accordion/index.html +0 -111
  437. package/coverage/lcov-report/Error/index.html +0 -126
  438. package/coverage/lcov-report/ScoreChart.jsx.html +0 -1025
  439. package/coverage/lcov-report/SideNav/Chart/ScoreChart.jsx.html +0 -1025
  440. package/coverage/lcov-report/components/NotificationBanner/NotificationBannerUI.jsx.html +0 -1010
  441. package/coverage/lcov-report/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +0 -131
  442. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +0 -89
  443. package/coverage/lcov-report/components/SideNav/Content/LevelOneContent.jsx.html +0 -1007
  444. package/coverage/lcov-report/components/SideNav/Content/index.html +0 -141
  445. package/coverage/lcov-report/components/SideNav/Content/index.js.html +0 -92
  446. package/coverage/lcov-report/components/SideNav/Details/index.js.html +0 -92
  447. package/coverage/lcov-report/components/SideNav/Links/index.html +0 -201
  448. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +0 -1298
  449. package/coverage/lcov-report/components/SideNav/UI/index.html +0 -126
  450. package/coverage/lcov-report/components/SideNav/UI/index.js.html +0 -89
  451. package/coverage/lcov-report/lib/svg-definitions.svg.html +0 -1319
  452. package/coverage/lcov-report/react/components/NotificationBanner/NotificationBannerUI.jsx.html +0 -926
  453. package/styles/components/_footer.scss +0 -593
  454. package/styles/components/_header.scss +0 -526
  455. package/styles/components/sidebar/_sidebar-animation.scss +0 -85
  456. package/styles/components/sidebar/_sidebar.scss +0 -141
  457. package/test/components/Tooltip.test.js +0 -147
  458. package/test/components/__snapshots__/Accordion.test.js.snap +0 -11439
  459. /package/styles/{components → qppds/components}/sidebar/_animations.scss +0 -0
  460. /package/styles/{components → qppds/components}/sidebar/_cms.scss +0 -0
  461. /package/styles/{components → qppds/components}/sidebar/_details.scss +0 -0
  462. /package/styles/{components → qppds/components}/sidebar/_sidebar-tooltip.scss +0 -0
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for components/SideNav/Links/NavLinkDrawer.jsx</title>
6
+ <title>Code coverage report for react/components/Header/HeaderMenuItem.jsx</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../../base.css" />
@@ -19,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">components/SideNav/Links</a> NavLinkDrawer.jsx</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">react/components/Header</a> HeaderMenuItem.jsx</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">2.33% </span>
26
+ <span class="strong">57.77% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1/43</span>
28
+ <span class='fraction'>26/45</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">27.77% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/69</span>
35
+ <span class='fraction'>10/36</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">38.46% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/14</span>
42
+ <span class='fraction'>5/13</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">2.56% </span>
47
+ <span class="strong">56.81% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>1/39</span>
49
+ <span class='fraction'>25/44</span>
50
50
  </div>
51
51
 
52
52
 
@@ -54,8 +54,14 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
- <div class='status-line low'></div>
64
+ <div class='status-line medium'></div>
59
65
  <pre><table class="coverage">
60
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -290,33 +296,30 @@
290
296
  <a name='L231'></a><a href='#L231'>231</a>
291
297
  <a name='L232'></a><a href='#L232'>232</a>
292
298
  <a name='L233'></a><a href='#L233'>233</a>
293
- <a name='L234'></a><a href='#L234'>234</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
294
306
  <span class="cline-any cline-neutral">&nbsp;</span>
295
307
  <span class="cline-any cline-neutral">&nbsp;</span>
296
308
  <span class="cline-any cline-neutral">&nbsp;</span>
297
309
  <span class="cline-any cline-neutral">&nbsp;</span>
298
310
  <span class="cline-any cline-neutral">&nbsp;</span>
299
311
  <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-no">&nbsp;</span>
301
- <span class="cline-any cline-no">&nbsp;</span>
302
- <span class="cline-any cline-no">&nbsp;</span>
303
- <span class="cline-any cline-no">&nbsp;</span>
304
- <span class="cline-any cline-no">&nbsp;</span>
305
312
  <span class="cline-any cline-neutral">&nbsp;</span>
306
313
  <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-no">&nbsp;</span>
308
314
  <span class="cline-any cline-neutral">&nbsp;</span>
315
+ <span class="cline-any cline-yes">2x</span>
309
316
  <span class="cline-any cline-neutral">&nbsp;</span>
310
317
  <span class="cline-any cline-neutral">&nbsp;</span>
311
318
  <span class="cline-any cline-neutral">&nbsp;</span>
312
319
  <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-no">&nbsp;</span>
314
- <span class="cline-any cline-no">&nbsp;</span>
315
- <span class="cline-any cline-no">&nbsp;</span>
316
320
  <span class="cline-any cline-neutral">&nbsp;</span>
317
321
  <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-no">&nbsp;</span>
319
- <span class="cline-any cline-no">&nbsp;</span>
322
+ <span class="cline-any cline-yes">2x</span>
320
323
  <span class="cline-any cline-neutral">&nbsp;</span>
321
324
  <span class="cline-any cline-neutral">&nbsp;</span>
322
325
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -326,71 +329,77 @@
326
329
  <span class="cline-any cline-neutral">&nbsp;</span>
327
330
  <span class="cline-any cline-neutral">&nbsp;</span>
328
331
  <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-no">&nbsp;</span>
330
332
  <span class="cline-any cline-neutral">&nbsp;</span>
331
- <span class="cline-any cline-no">&nbsp;</span>
332
- <span class="cline-any cline-no">&nbsp;</span>
333
- <span class="cline-any cline-no">&nbsp;</span>
334
- <span class="cline-any cline-no">&nbsp;</span>
335
333
  <span class="cline-any cline-neutral">&nbsp;</span>
336
334
  <span class="cline-any cline-neutral">&nbsp;</span>
337
- <span class="cline-any cline-no">&nbsp;</span>
338
- <span class="cline-any cline-no">&nbsp;</span>
339
335
  <span class="cline-any cline-neutral">&nbsp;</span>
340
336
  <span class="cline-any cline-neutral">&nbsp;</span>
341
337
  <span class="cline-any cline-neutral">&nbsp;</span>
338
+ <span class="cline-any cline-yes">2x</span>
342
339
  <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-no">&nbsp;</span>
344
- <span class="cline-any cline-no">&nbsp;</span>
345
340
  <span class="cline-any cline-neutral">&nbsp;</span>
346
341
  <span class="cline-any cline-neutral">&nbsp;</span>
347
- <span class="cline-any cline-no">&nbsp;</span>
348
342
  <span class="cline-any cline-neutral">&nbsp;</span>
349
343
  <span class="cline-any cline-neutral">&nbsp;</span>
350
344
  <span class="cline-any cline-neutral">&nbsp;</span>
351
- <span class="cline-any cline-no">&nbsp;</span>
352
345
  <span class="cline-any cline-neutral">&nbsp;</span>
353
- <span class="cline-any cline-no">&nbsp;</span>
354
- <span class="cline-any cline-no">&nbsp;</span>
355
346
  <span class="cline-any cline-neutral">&nbsp;</span>
356
347
  <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-no">&nbsp;</span>
348
+ <span class="cline-any cline-yes">2x</span>
349
+ <span class="cline-any cline-yes">2x</span>
358
350
  <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-no">&nbsp;</span>
351
+ <span class="cline-any cline-yes">2x</span>
352
+ <span class="cline-any cline-yes">2x</span>
353
+ <span class="cline-any cline-yes">2x</span>
360
354
  <span class="cline-any cline-neutral">&nbsp;</span>
355
+ <span class="cline-any cline-yes">2x</span>
356
+ <span class="cline-any cline-yes">2x</span>
361
357
  <span class="cline-any cline-neutral">&nbsp;</span>
358
+ <span class="cline-any cline-yes">2x</span>
359
+ <span class="cline-any cline-yes">2x</span>
362
360
  <span class="cline-any cline-neutral">&nbsp;</span>
361
+ <span class="cline-any cline-yes">2x</span>
362
+ <span class="cline-any cline-yes">2x</span>
363
+ <span class="cline-any cline-yes">2x</span>
363
364
  <span class="cline-any cline-neutral">&nbsp;</span>
365
+ <span class="cline-any cline-no">&nbsp;</span>
364
366
  <span class="cline-any cline-neutral">&nbsp;</span>
365
367
  <span class="cline-any cline-neutral">&nbsp;</span>
366
368
  <span class="cline-any cline-no">&nbsp;</span>
367
- <span class="cline-any cline-no">&nbsp;</span>
368
369
  <span class="cline-any cline-neutral">&nbsp;</span>
369
- <span class="cline-any cline-no">&nbsp;</span>
370
370
  <span class="cline-any cline-neutral">&nbsp;</span>
371
371
  <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-no">&nbsp;</span>
372
+ <span class="cline-any cline-yes">2x</span>
373
+ <span class="cline-any cline-yes">1x</span>
373
374
  <span class="cline-any cline-no">&nbsp;</span>
374
375
  <span class="cline-any cline-neutral">&nbsp;</span>
375
376
  <span class="cline-any cline-neutral">&nbsp;</span>
376
377
  <span class="cline-any cline-neutral">&nbsp;</span>
377
378
  <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-no">&nbsp;</span>
378
380
  <span class="cline-any cline-neutral">&nbsp;</span>
379
381
  <span class="cline-any cline-neutral">&nbsp;</span>
380
382
  <span class="cline-any cline-no">&nbsp;</span>
381
383
  <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-no">&nbsp;</span>
385
+ <span class="cline-any cline-no">&nbsp;</span>
382
386
  <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-yes">1x</span>
388
+ <span class="cline-any cline-yes">1x</span>
383
389
  <span class="cline-any cline-neutral">&nbsp;</span>
384
390
  <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-yes">2x</span>
392
+ <span class="cline-any cline-yes">1x</span>
393
+ <span class="cline-any cline-yes">1x</span>
385
394
  <span class="cline-any cline-neutral">&nbsp;</span>
386
395
  <span class="cline-any cline-neutral">&nbsp;</span>
387
396
  <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-yes">2x</span>
388
398
  <span class="cline-any cline-neutral">&nbsp;</span>
389
399
  <span class="cline-any cline-neutral">&nbsp;</span>
390
400
  <span class="cline-any cline-neutral">&nbsp;</span>
391
401
  <span class="cline-any cline-neutral">&nbsp;</span>
392
402
  <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-no">&nbsp;</span>
394
403
  <span class="cline-any cline-neutral">&nbsp;</span>
395
404
  <span class="cline-any cline-neutral">&nbsp;</span>
396
405
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -400,6 +409,7 @@
400
409
  <span class="cline-any cline-neutral">&nbsp;</span>
401
410
  <span class="cline-any cline-neutral">&nbsp;</span>
402
411
  <span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-no">&nbsp;</span>
403
413
  <span class="cline-any cline-neutral">&nbsp;</span>
404
414
  <span class="cline-any cline-neutral">&nbsp;</span>
405
415
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -419,8 +429,10 @@
419
429
  <span class="cline-any cline-neutral">&nbsp;</span>
420
430
  <span class="cline-any cline-neutral">&nbsp;</span>
421
431
  <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-no">&nbsp;</span>
422
433
  <span class="cline-any cline-neutral">&nbsp;</span>
423
434
  <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-no">&nbsp;</span>
424
436
  <span class="cline-any cline-neutral">&nbsp;</span>
425
437
  <span class="cline-any cline-neutral">&nbsp;</span>
426
438
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -428,17 +440,16 @@
428
440
  <span class="cline-any cline-neutral">&nbsp;</span>
429
441
  <span class="cline-any cline-neutral">&nbsp;</span>
430
442
  <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-no">&nbsp;</span>
444
+ <span class="cline-any cline-no">&nbsp;</span>
431
445
  <span class="cline-any cline-neutral">&nbsp;</span>
432
446
  <span class="cline-any cline-neutral">&nbsp;</span>
433
447
  <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-no">&nbsp;</span>
435
- <span class="cline-any cline-no">&nbsp;</span>
436
448
  <span class="cline-any cline-neutral">&nbsp;</span>
437
449
  <span class="cline-any cline-neutral">&nbsp;</span>
438
450
  <span class="cline-any cline-no">&nbsp;</span>
439
451
  <span class="cline-any cline-no">&nbsp;</span>
440
452
  <span class="cline-any cline-neutral">&nbsp;</span>
441
- <span class="cline-any cline-no">&nbsp;</span>
442
453
  <span class="cline-any cline-neutral">&nbsp;</span>
443
454
  <span class="cline-any cline-neutral">&nbsp;</span>
444
455
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -462,6 +473,8 @@
462
473
  <span class="cline-any cline-neutral">&nbsp;</span>
463
474
  <span class="cline-any cline-neutral">&nbsp;</span>
464
475
  <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-no">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
478
  <span class="cline-any cline-neutral">&nbsp;</span>
466
479
  <span class="cline-any cline-neutral">&nbsp;</span>
467
480
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -472,12 +485,16 @@
472
485
  <span class="cline-any cline-neutral">&nbsp;</span>
473
486
  <span class="cline-any cline-neutral">&nbsp;</span>
474
487
  <span class="cline-any cline-neutral">&nbsp;</span>
488
+ <span class="cline-any cline-no">&nbsp;</span>
489
+ <span class="cline-any cline-no">&nbsp;</span>
475
490
  <span class="cline-any cline-neutral">&nbsp;</span>
476
491
  <span class="cline-any cline-neutral">&nbsp;</span>
477
492
  <span class="cline-any cline-neutral">&nbsp;</span>
478
493
  <span class="cline-any cline-neutral">&nbsp;</span>
479
494
  <span class="cline-any cline-neutral">&nbsp;</span>
480
495
  <span class="cline-any cline-neutral">&nbsp;</span>
496
+ <span class="cline-any cline-no">&nbsp;</span>
497
+ <span class="cline-any cline-no">&nbsp;</span>
481
498
  <span class="cline-any cline-neutral">&nbsp;</span>
482
499
  <span class="cline-any cline-neutral">&nbsp;</span>
483
500
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -506,9 +523,9 @@
506
523
  <span class="cline-any cline-neutral">&nbsp;</span>
507
524
  <span class="cline-any cline-neutral">&nbsp;</span>
508
525
  <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-yes">2x</span>
509
527
  <span class="cline-any cline-neutral">&nbsp;</span>
510
528
  <span class="cline-any cline-neutral">&nbsp;</span>
511
- <span class="cline-any cline-yes">1x</span>
512
529
  <span class="cline-any cline-neutral">&nbsp;</span>
513
530
  <span class="cline-any cline-neutral">&nbsp;</span>
514
531
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -516,6 +533,7 @@
516
533
  <span class="cline-any cline-neutral">&nbsp;</span>
517
534
  <span class="cline-any cline-neutral">&nbsp;</span>
518
535
  <span class="cline-any cline-neutral">&nbsp;</span>
536
+ <span class="cline-any cline-yes">2x</span>
519
537
  <span class="cline-any cline-neutral">&nbsp;</span>
520
538
  <span class="cline-any cline-neutral">&nbsp;</span>
521
539
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -523,249 +541,254 @@
523
541
  <span class="cline-any cline-neutral">&nbsp;</span>
524
542
  <span class="cline-any cline-neutral">&nbsp;</span>
525
543
  <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { Component } from 'react';
527
- import { handleNavigation } from '../helpers';
528
- import AnimationGroup from '../AnimationGroup/AnimationGroup';
544
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { Fragment, useRef, useEffect, useState } from 'react';
529
545
  import PropTypes from 'prop-types';
530
546
  &nbsp;
531
- export default class NavLinkDrawer extends Component {
532
- <span class="fstat-no" title="function not covered" > co</span>nstructor(props) {
533
- <span class="cstat-no" title="statement not covered" > super(props);</span>
534
- <span class="cstat-no" title="statement not covered" > this._toggleDrawer = this.toggleDrawer.bind(this);</span>
535
- <span class="cstat-no" title="statement not covered" > this._isLinkActive = this.isLinkActive.bind(this);</span>
536
- <span class="cstat-no" title="statement not covered" > this._isCurrentPage = this.isCurrentPage.bind(this);</span>
537
- <span class="cstat-no" title="statement not covered" > this._renderDrawerLinksRecursively = this.renderDrawerLinksRecursively.bind(</span>
538
- this
539
- );
540
- <span class="cstat-no" title="statement not covered" > this.state = {</span>
541
- isOpen: !!props.openByDefault
542
- };
543
- }
544
- &nbsp;
545
- <span class="fstat-no" title="function not covered" > UN</span>SAFE_componentWillMount() {
546
- const { isAlwaysOpen, disabled } = <span class="cstat-no" title="statement not covered" >this.props;</span>
547
- <span class="cstat-no" title="statement not covered" > if (disabled) {</span>
548
- <span class="cstat-no" title="statement not covered" > this.setState(<span class="fstat-no" title="function not covered" >st</span>ate =&gt; (<span class="cstat-no" title="statement not covered" >{ isOpen: false })</span>);</span>
549
- }
547
+ import { useWindowWidth, useHeaderState } from './hooks';
548
+ import HeaderMenuLink from './HeaderMenuLink';
549
+ import HeaderMenuButton from './HeaderMenuButton';
550
+ import HeaderMenuSignOutButton from './HeaderMenuSignOutButton';
551
+ import Accordion from '../Accordion';
552
+ import { Chevron } from '../../lib/Chevron.jsx';
550
553
  &nbsp;
551
- <span class="cstat-no" title="statement not covered" > if (isAlwaysOpen) {</span>
552
- <span class="cstat-no" title="statement not covered" > this.setState(<span class="fstat-no" title="function not covered" >st</span>ate =&gt; (<span class="cstat-no" title="statement not covered" >{ isOpen: isAlwaysOpen })</span>);</span>
553
- }
554
- }
554
+ const menuSizes = {
555
+ 1: 315,
556
+ 2: 650,
557
+ 3: 890,
558
+ 4: 1200,
559
+ };
555
560
  &nbsp;
556
- <span class="fstat-no" title="function not covered" > to</span>ggleDrawer() {
557
- const {
558
- isAlwaysOpen,
559
- disabled,
560
- isExpanded,
561
- sidebarExpand
562
- } = <span class="cstat-no" title="statement not covered" >this.props;</span>
561
+ const excludedClickOutClasses = [
562
+ 'menu-dropdown-toggle',
563
+ 'nav-link',
564
+ 'nav-link-li',
565
+ 'dropdown-description',
566
+ 'dropdown-title',
567
+ 'dropdown-title-chevron-container',
568
+ 'signout-button',
569
+ 'submenu-section',
570
+ 'accordion',
571
+ 'accordion-title',
572
+ 'accordion-left-title',
573
+ 'header-menu-btn',
574
+ 'btn-navigation-icon',
575
+ ];
563
576
  &nbsp;
564
- <span class="cstat-no" title="statement not covered" > if (!isExpanded &amp;&amp; typeof sidebarExpand === 'function') {</span>
565
- <span class="cstat-no" title="statement not covered" > sidebarExpand();</span>
566
- <span class="cstat-no" title="statement not covered" > this.setState(<span class="fstat-no" title="function not covered" >st</span>ate =&gt; (<span class="cstat-no" title="statement not covered" >{ isOpen: true })</span>);</span>
567
- <span class="cstat-no" title="statement not covered" > return;</span>
568
- }
577
+ const HeaderMenuItem = ({
578
+ handleClick,
579
+ isMobileMenuExpanded,
580
+ columns,
581
+ menuName,
582
+ rows,
583
+ name,
584
+ subtitle,
585
+ className,
586
+ }) =&gt; {
587
+ const [isSubMenuFullWidth, setSubMenuFullWidth] = useState(false);
588
+ const [openMobileSubMenu, setOpenMobileSubMenu] = useState('');
569
589
  &nbsp;
570
- <span class="cstat-no" title="statement not covered" > if (!isAlwaysOpen &amp;&amp; !disabled) {</span>
571
- <span class="cstat-no" title="statement not covered" > this.setState(<span class="fstat-no" title="function not covered" >st</span>ate =&gt; (<span class="cstat-no" title="statement not covered" >{ isOpen: !state.isOpen })</span>);</span>
572
- }
573
- }
590
+ const windowWidth = useWindowWidth();
591
+ const menuButtonRef = useRef(null);
592
+ const menuRef = useRef(null);
593
+ const { RouterLink, handleToggleMenu, currentOpenMenu, closeMenus } =
594
+ useHeaderState();
595
+ const numColumns = (columns || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.length;
574
596
  &nbsp;
575
- <span class="fstat-no" title="function not covered" > is</span>LinkActive(link, func) {
576
- <span class="cstat-no" title="statement not covered" > if (typeof func === 'function') {</span>
577
- <span class="cstat-no" title="statement not covered" > return func(link);</span>
578
- }
597
+ const menuIdentifier = menuName || name;
598
+ const isOpen = menuIdentifier === currentOpenMenu;
579
599
  &nbsp;
580
- <span class="cstat-no" title="statement not covered" > return window.location.href.indexOf(link.url) &gt; 0;</span>
600
+ useEffect(() =&gt; {
601
+ const isMobile = windowWidth &lt; 768;
602
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (isOpen) {
603
+ const shouldSetFullWidth =
604
+ <span class="cstat-no" title="statement not covered" > isMobile ||</span>
605
+ menuSizes[numColumns] &gt;
606
+ menuButtonRef.current.getBoundingClientRect().right;
607
+ <span class="cstat-no" title="statement not covered" > setSubMenuFullWidth(shouldSetFullWidth);</span>
581
608
  }
609
+ }, [windowWidth, isOpen]);
582
610
  &nbsp;
583
- <span class="fstat-no" title="function not covered" > is</span>CurrentPage(link, linkActiveFunc) {
584
- const items = <span class="cstat-no" title="statement not covered" >link.items || link.listOfLinks;</span>
611
+ useEffect(() =&gt; {
612
+ const listener = <span class="fstat-no" title="function not covered" >(e</span>vent) =&gt; {
613
+ <span class="cstat-no" title="statement not covered" > if (</span>
614
+ !menuRef ||
615
+ !menuRef.current ||
616
+ menuRef.current.contains(event.target) ||
617
+ excludedClickOutClasses.some(<span class="fstat-no" title="function not covered" >(c</span>lassName) =&gt;
618
+ <span class="cstat-no" title="statement not covered" > event?.target?.classList.contains(className)</span>
619
+ )
620
+ ) {
621
+ <span class="cstat-no" title="statement not covered" > return;</span>
622
+ }
623
+ <span class="cstat-no" title="statement not covered" > setOpenMobileSubMenu('');</span>
624
+ <span class="cstat-no" title="statement not covered" > closeMenus();</span>
625
+ };
626
+ document.addEventListener('mousedown', listener);
627
+ return () =&gt; document.removeEventListener('mousedown', listener);
628
+ }, [menuRef]);
585
629
  &nbsp;
586
- <span class="cstat-no" title="statement not covered" > if (link.url &amp;&amp; this._isLinkActive(link, linkActiveFunc)) {</span>
587
- <span class="cstat-no" title="statement not covered" > return true;</span>
588
- }
589
- &nbsp;
590
- <span class="cstat-no" title="statement not covered" > return (</span>
591
- items &amp;&amp;
592
- items.some(<span class="fstat-no" title="function not covered" >it</span>em =&gt; <span class="cstat-no" title="statement not covered" >this._isCurrentPage(item, linkActiveFunc))</span>
593
- );
630
+ useEffect(() =&gt; {
631
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!isMobileMenuExpanded || <span class="branch-1 cbranch-no" title="branch not covered" >!isOpen)</span> {
632
+ setOpenMobileSubMenu('');
594
633
  }
634
+ }, [isMobileMenuExpanded, isOpen]);
595
635
  &nbsp;
596
- // Render the links recursively. This will theoretically allow for an infinite number of nested link items.
597
- // className will either be empty, parent-link - top most node, or child-link.
598
- <span class="fstat-no" title="function not covered" > re</span>nderDrawerLinksRecursively(navLinks, className = <span class="branch-0 cbranch-no" title="branch not covered" >'')</span> {
599
- const { linkActiveFunc, linkCallback } = <span class="cstat-no" title="statement not covered" >this.props;</span>
600
- const { isOpen } = <span class="cstat-no" title="statement not covered" >this.state;</span>
601
- &nbsp;
602
- <span class="cstat-no" title="statement not covered" > return (</span>
603
- navLinks &amp;&amp;
604
- navLinks.map(<span class="fstat-no" title="function not covered" >li</span>nk =&gt; {
605
- <span class="cstat-no" title="statement not covered" > if (link.type === 'divider') {</span>
606
- <span class="cstat-no" title="statement not covered" > return (</span>
607
- &lt;AnimationGroup display={true}&gt;
608
- &lt;hr /&gt;
609
- &lt;/AnimationGroup&gt;
610
- );
611
- }
636
+ return (
637
+ &lt;li
638
+ key={`header-item-${menuIdentifier}`}
639
+ className={`header-item-${menuIdentifier}${
640
+ isSubMenuFullWidth ? <span class="branch-0 cbranch-no" title="branch not covered" >' full-width-menu' </span>: ''
641
+ }${className ? <span class="branch-0 cbranch-no" title="branch not covered" >` ${className}` </span>: ''}`}
642
+ ref={menuRef}
643
+ &gt;
644
+ &lt;button
645
+ ref={menuButtonRef}
646
+ className="menu-dropdown-toggle"
647
+ aria-label={`${name} navigation dropdown`}
648
+ aria-expanded={isOpen}
649
+ aria-controls={`nav-section-${menuIdentifier}`}
650
+ data-toggle="dropdown"
651
+ onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >handleToggleMenu(menuIdentifier)}</span>
652
+ &gt;
653
+ &lt;div className="dropdown-title-chevron-container"&gt;
654
+ &lt;span className="dropdown-title"&gt;{name}&lt;/span&gt;
655
+ &lt;div className="chevron-container"&gt;
656
+ &lt;Chevron focusable="false" /&gt;
657
+ &lt;/div&gt;
658
+ &lt;/div&gt;
612
659
  &nbsp;
660
+ &lt;span className={`dropdown-description ${isOpen ? <span class="branch-0 cbranch-no" title="branch not covered" >'active' </span>: ''}`}&gt;
661
+ {subtitle}
662
+ &lt;/span&gt;
663
+ &lt;/button&gt;
664
+ &lt;div
665
+ className={`nav-section${isOpen ? <span class="branch-0 cbranch-no" title="branch not covered" >' open' </span>: ''}`}
666
+ id={`nav-section-${menuIdentifier}`}
667
+ hidden={!isOpen}
668
+ data-columns={numColumns}
669
+ &gt;
670
+ {rows.map(<span class="fstat-no" title="function not covered" >(c</span>olumnContent, index) =&gt; {
671
+ <span class="cstat-no" title="statement not covered" > return (</span>
672
+ &lt;ul key={`${menuIdentifier}-${index}`} className="nav-column"&gt;
673
+ {columnContent.map(<span class="fstat-no" title="function not covered" >(c</span>, cIndex) =&gt; {
613
674
  <span class="cstat-no" title="statement not covered" > return (</span>
614
- &lt;li
615
- key={link.label}
616
- className={
617
- this._isLinkActive(link, linkActiveFunc)
618
- ? `active-link ${className}`
619
- : className
620
- }
621
- role="none"
622
- &gt;
623
- {link.url ? (
624
- &lt;a
625
- href={link.url}
626
- onClick={<span class="fstat-no" title="function not covered" >e </span>=&gt; <span class="cstat-no" title="statement not covered" >handleNavigation(e, linkCallback)}</span>
627
- tabIndex={isOpen ? '0' : '-1'}
628
- data-track-category="SidebarNav"
629
- data-track-action={`GoTo${
630
- link.label
631
- ? link.label.split(' ').join('')
632
- : ''
633
- }`}
634
- data-track-label={link.label}
635
- target="_self"
675
+ &lt;Fragment key={`${menuIdentifier}-${index}-${cIndex}`}&gt;
676
+ &lt;li className="submenu-section"&gt;
677
+ {c.heading &amp;&amp; (
678
+ &lt;h3 className="submenu-heading"&gt;{c.heading}&lt;/h3&gt;
679
+ )}
680
+ &lt;ul&gt;
681
+ {c.items.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {
682
+ const isSubLink = <span class="cstat-no" title="statement not covered" >item.type === 'sublink';</span>
683
+ const componentsByType = <span class="cstat-no" title="statement not covered" >{</span>
684
+ button: HeaderMenuButton,
685
+ signout: HeaderMenuSignOutButton,
686
+ link: HeaderMenuLink,
687
+ sublink: HeaderMenuLink,
688
+ };
689
+ const SubMenuComponent = <span class="cstat-no" title="statement not covered" >componentsByType[item.type];</span>
690
+ <span class="cstat-no" title="statement not covered" > return (</span>
691
+ &lt;li
692
+ onClick={handleClick}
693
+ key={`item-link-${item.name}`}
694
+ className={
695
+ isSubLink
696
+ ? 'nav-link-li sublink'
697
+ : 'nav-link-li'
698
+ }
636
699
  &gt;
637
- {link.label}
638
- &lt;/a&gt;
639
- ) : (
640
- &lt;div&gt;{link.label}&lt;/div&gt;
641
- )}
642
- {link.items &amp;&amp; link.items.length &gt; 0 &amp;&amp; (
643
- &lt;ul aria-hidden={!isOpen} role="none"&gt;
644
- {this._renderDrawerLinksRecursively(
645
- link.items,
646
- 'child-link'
647
- )}
648
- &lt;/ul&gt;
649
- )}
700
+ &lt;SubMenuComponent
701
+ href={item.href}
702
+ name={item.name}
703
+ RouterLink={RouterLink}
704
+ /&gt;
705
+ &lt;/li&gt;
706
+ );
707
+ })}
708
+ &lt;/ul&gt;
650
709
  &lt;/li&gt;
651
- );
652
- })
653
- );
654
- }
655
- &nbsp;
656
- <span class="fstat-no" title="function not covered" > re</span>nder() {
657
- const {
658
- isExpanded,
659
- disabled,
660
- isAlwaysOpen,
661
- className,
662
- rightIcon,
663
- leftIcon,
664
- label,
665
- linkActiveFunc,
666
- listOfLinks
667
- } = <span class="cstat-no" title="statement not covered" >this.props;</span>
668
- const { isOpen } = <span class="cstat-no" title="statement not covered" >this.state;</span>
669
- &nbsp;
670
- // Classes for the link drawer button
671
- const currentPage = <span class="cstat-no" title="statement not covered" >this._isCurrentPage(this.props, linkActiveFunc);</span>
672
- const expandedClass = <span class="cstat-no" title="statement not covered" >currentPage ? 'expanded' : '';</span>
673
- &nbsp;
674
- <span class="cstat-no" title="statement not covered" > return (</span>
675
- &lt;div
676
- className={
677
- this.props.staticDrawer
678
- ? 'static-drawer link-drawer'
679
- : 'link-drawer'
680
- }
681
- &gt;
682
- &lt;button
683
- onClick={this._toggleDrawer}
684
- {...(!isAlwaysOpen ? { 'aria-pressed': isOpen } : {})}
685
- tabIndex="0"
686
- aria-label={label}
687
- {...(isAlwaysOpen || disabled
688
- ? { disabled: isAlwaysOpen || disabled }
689
- : {})}
690
- className={`${className} ${expandedClass} ${
691
- currentPage ? 'currentPage' : ''
692
- }`}
693
- &gt;
694
- &lt;div
695
- className={
696
- isExpanded ? 'link-body' : 'link-body collapsed'
697
- }
698
- &gt;
699
- &lt;svg
700
- className={`left-icon${
701
- isAlwaysOpen ? ' always-open' : ''
702
- }`}
703
- aria-hidden="true"
704
- focusable="false"
710
+ {name === 'MIPS' &amp;&amp; (
711
+ &lt;li
712
+ key={`${menuIdentifier}-mobile-${index}-${cIndex}`}
713
+ className="submenu-section-mips-mobile"
714
+ onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; {
715
+ <span class="cstat-no" title="statement not covered" > setOpenMobileSubMenu(c.heading);</span>
716
+ }}
717
+ &gt;
718
+ &lt;Accordion
719
+ title={c.heading}
720
+ isOpen={
721
+ isMobileMenuExpanded &amp;&amp;
722
+ openMobileSubMenu === c.heading
723
+ }
705
724
  &gt;
706
- &lt;use xlinkHref={`#${leftIcon}`} /&gt;
707
- &lt;/svg&gt;
708
- &lt;AnimationGroup display={isExpanded}&gt;
709
- &lt;span&gt;{label}&lt;/span&gt;
710
- &lt;/AnimationGroup&gt;
711
- &lt;/div&gt;
712
- {isExpanded &amp;&amp; !isAlwaysOpen &amp;&amp; (
713
- &lt;svg
714
- className={`${
715
- isOpen ? 'right-icon rotated' : 'right-icon'
716
- }`}
717
- focusable="false"
718
- aria-hidden="true"
719
- &gt;
720
- &lt;use xlinkHref={`#${rightIcon}`} /&gt;
721
- &lt;/svg&gt;
725
+ &lt;ul&gt;
726
+ {c.items.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {
727
+ const isSubLink = <span class="cstat-no" title="statement not covered" >item.type === 'sublink';</span>
728
+ const componentsByType = <span class="cstat-no" title="statement not covered" >{</span>
729
+ button: HeaderMenuButton,
730
+ signout: HeaderMenuSignOutButton,
731
+ link: HeaderMenuLink,
732
+ sublink: HeaderMenuLink,
733
+ };
734
+ const SubMenuComponent =
735
+ <span class="cstat-no" title="statement not covered" > componentsByType[item.type];</span>
736
+ <span class="cstat-no" title="statement not covered" > return (</span>
737
+ &lt;li
738
+ onClick={handleClick}
739
+ key={`item-link-${item.name}`}
740
+ className={isSubLink ? 'sublink' : ''}
741
+ &gt;
742
+ &lt;SubMenuComponent
743
+ href={item.href}
744
+ name={item.name}
745
+ RouterLink={RouterLink}
746
+ /&gt;
747
+ &lt;/li&gt;
748
+ );
749
+ })}
750
+ &lt;/ul&gt;
751
+ &lt;/Accordion&gt;
752
+ &lt;/li&gt;
722
753
  )}
723
- &lt;/button&gt;
724
- &lt;AnimationGroup display={isExpanded}&gt;
725
- &lt;div
726
- className={`${currentPage ? 'currentPage' : ''} ${
727
- isOpen &amp;&amp; !disabled ? 'drawer open' : 'drawer'
728
- }`}
729
- &gt;
730
- &lt;ul aria-hidden={!isOpen} role="none"&gt;
731
- {listOfLinks &amp;&amp;
732
- this._renderDrawerLinksRecursively(
733
- listOfLinks,
734
- 'parent-link'
735
- )}
736
- &lt;/ul&gt;
737
- &lt;/div&gt;
738
- &lt;/AnimationGroup&gt;
739
- &lt;/div&gt;
740
- );
741
- }
742
- }
754
+ &lt;/Fragment&gt;
755
+ );
756
+ })}
757
+ &lt;/ul&gt;
758
+ );
759
+ })}
760
+ &lt;/div&gt;
761
+ &lt;/li&gt;
762
+ );
763
+ };
743
764
  &nbsp;
744
- NavLinkDrawer.propTypes = {
745
- isExpanded: PropTypes.bool,
746
- isAlwaysOpen: PropTypes.bool,
747
- openByDefault: PropTypes.bool,
748
- className: PropTypes.string,
749
- rightIcon: PropTypes.string,
750
- leftIcon: PropTypes.string,
751
- label: PropTypes.string,
752
- linkActiveFunc: PropTypes.func,
753
- linkCallback: PropTypes.func,
754
- listOfLinks: PropTypes.array,
755
- disabled: PropTypes.bool,
756
- sidebarExpand: PropTypes.func,
757
- staticDrawer: PropTypes.bool
765
+ HeaderMenuItem.propTypes = {
766
+ columns: PropTypes.array,
767
+ menuName: PropTypes.string,
768
+ rows: PropTypes.array,
769
+ name: PropTypes.string.isRequired,
770
+ subtitle: PropTypes.string.isRequired,
771
+ className: PropTypes.string,
772
+ handleClick: PropTypes.func.isRequired,
773
+ isMobileMenuExpanded: PropTypes.bool.isRequired,
774
+ };
775
+ HeaderMenuItem.defaultProps = {
776
+ menuName: '',
777
+ columns: [],
778
+ rows: [],
779
+ className: null,
758
780
  };
781
+ &nbsp;
782
+ export default HeaderMenuItem;
759
783
  &nbsp;</pre></td></tr></table></pre>
760
784
 
761
785
  <div class='push'></div><!-- for sticky footer -->
762
786
  </div><!-- /wrapper -->
763
787
  <div class='footer quiet pad2 space-top1 center small'>
764
788
  Code coverage generated by
765
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
766
- at Tue Aug 04 2020 16:59:07 GMT-0700 (Pacific Daylight Time)
789
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
790
+ at Mon Mar 06 2023 14:49:52 GMT-0800 (Pacific Standard Time)
767
791
  </div>
768
- </div>
769
792
  <script src="../../../prettify.js"></script>
770
793
  <script>
771
794
  window.onload = function () {