qpp-style 9.22.2 → 9.22.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 (195) hide show
  1. package/coverage/clover.xml +386 -382
  2. package/coverage/coverage-final.json +72 -73
  3. package/coverage/lcov-report/components/Accordion/index.html +1 -1
  4. package/coverage/lcov-report/components/Accordion/index.jsx.html +4 -4
  5. package/coverage/lcov-report/components/Button/index.html +116 -0
  6. package/coverage/lcov-report/components/Button/index.js.html +355 -0
  7. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +1 -1
  8. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +1 -1
  9. package/coverage/lcov-report/components/Error/index.html +1 -1
  10. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +189 -348
  11. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +11 -11
  12. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +11 -11
  13. package/coverage/lcov-report/components/Footer/index.html +29 -44
  14. package/coverage/lcov-report/components/{SideNav/UI → GovBanner}/index.html +27 -42
  15. package/coverage/lcov-report/components/GovBanner/index.js.html +436 -0
  16. package/coverage/lcov-report/components/{SideNav/Links/NavLinkInline.jsx.html → Header/HeaderAccountMenu.jsx.html} +118 -157
  17. package/coverage/lcov-report/components/{SideNav/Details/IndividualDetails.jsx.html → Header/HeaderCancel.jsx.html} +18 -24
  18. package/coverage/lcov-report/components/Header/HeaderContainer.jsx.html +280 -0
  19. package/coverage/lcov-report/components/{SideNav/Links/CmsSwitchLink.jsx.html → Header/HeaderLogo.jsx.html} +61 -58
  20. package/coverage/lcov-report/components/{SideNav/Links/NavItemInline.jsx.html → Header/HeaderMenuButton.js.html} +63 -75
  21. package/coverage/lcov-report/components/{SideNav/Content/LevelTwoContent.jsx.html → Header/HeaderMenuItem.jsx.html} +305 -236
  22. package/coverage/lcov-report/components/Header/HeaderMenuLink.js.html +253 -0
  23. package/coverage/lcov-report/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  24. package/coverage/lcov-report/components/{SideNav/Links/NavLinkToggle.jsx.html → Header/HeaderMobileButton.js.html} +54 -45
  25. package/coverage/lcov-report/components/{Footer/LegacyFooterUI.jsx.html → Header/HeaderUI.jsx.html} +198 -303
  26. package/coverage/lcov-report/components/Header/HelpIcon.jsx.html +181 -0
  27. package/coverage/lcov-report/components/Header/ImpersonatorBanner.jsx.html +331 -0
  28. package/coverage/lcov-report/components/{SideNav/AnimationGroup/AnimationGroup.jsx.html → Header/NavigationButtonIcon.jsx.html} +48 -48
  29. package/coverage/lcov-report/components/Header/hooks.js.html +283 -0
  30. package/coverage/lcov-report/components/Header/index.html +326 -0
  31. package/coverage/lcov-report/components/{SideNav/Links/index.js.html → Header/utag-helpers.js.html} +28 -40
  32. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +5 -5
  33. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +5 -5
  34. package/coverage/lcov-report/components/Infotip/index.html +1 -1
  35. package/coverage/lcov-report/components/Infotip/index.js.html +1 -1
  36. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +3 -3
  37. package/coverage/lcov-report/components/Modal/Modal.jsx.html +5 -5
  38. package/coverage/lcov-report/components/Modal/index.html +1 -1
  39. package/coverage/lcov-report/components/Modal/index.jsx.html +5 -5
  40. package/coverage/lcov-report/components/{SideNav/Links/NavLinkContainer.jsx.html → NotificationBanner/CollapsedView.js.html} +61 -58
  41. package/coverage/lcov-report/components/{SideNav/Details/PracticeDetails.jsx.html → NotificationBanner/ExpandedView.js.html} +64 -64
  42. package/coverage/lcov-report/components/{SideNav/Details → NotificationBanner}/index.html +46 -46
  43. package/coverage/lcov-report/components/{SideNav/Content/LevelOneContent.jsx.html → NotificationBanner/index.js.html} +281 -242
  44. package/coverage/lcov-report/components/SanitizedContent/index.html +1 -1
  45. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +1 -1
  46. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +4 -4
  47. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +7 -7
  48. package/coverage/lcov-report/components/SideNav/Chart/index.html +1 -16
  49. package/coverage/lcov-report/components/SideNav/{AnimationGroup → Content/SelectRole}/index.html +30 -30
  50. package/coverage/lcov-report/components/SideNav/Content/SelectRole/utils.js.html +505 -0
  51. package/coverage/lcov-report/components/SideNav/helpers.js.html +895 -10
  52. package/coverage/lcov-report/components/SideNav/index.html +17 -17
  53. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +8 -8
  54. package/coverage/lcov-report/components/Tooltip/index.html +1 -1
  55. package/coverage/lcov-report/components/Tooltip/index.js.html +1 -1
  56. package/coverage/lcov-report/components/Tooltip/position.js.html +1 -1
  57. package/coverage/lcov-report/components/hooks/index.html +5 -5
  58. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +18 -15
  59. package/coverage/lcov-report/components/index.html +1 -1
  60. package/coverage/lcov-report/index.html +56 -56
  61. package/coverage/lcov-report/lib/Chevron.jsx.html +5 -5
  62. package/coverage/lcov-report/lib/SvgComponents.jsx.html +105 -12
  63. package/coverage/lcov-report/lib/index.html +15 -30
  64. package/coverage/lcov-report/react/components/Accordion/index.html +1 -1
  65. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +1 -1
  66. package/coverage/lcov-report/react/components/Button/index.html +1 -1
  67. package/coverage/lcov-report/react/components/Button/index.js.html +1 -1
  68. package/coverage/lcov-report/react/components/Dropdown/index.html +1 -1
  69. package/coverage/lcov-report/react/components/Dropdown/index.js.html +1 -1
  70. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
  71. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
  72. package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
  73. package/coverage/lcov-report/react/components/Error/index.html +1 -1
  74. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +32 -17
  75. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +1 -1
  76. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +1 -1
  77. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +1 -1
  78. package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
  79. package/coverage/lcov-report/react/components/Footer/index.html +1 -1
  80. package/coverage/lcov-report/react/components/GovBanner/index.html +1 -1
  81. package/coverage/lcov-report/react/components/GovBanner/index.js.html +3 -3
  82. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +26 -251
  83. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +1 -1
  84. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +2 -2
  85. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +4 -4
  86. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +1 -1
  87. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +19 -19
  88. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +1 -1
  89. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +1 -1
  90. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +2 -2
  91. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +89 -113
  92. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +2 -2
  93. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +5 -5
  94. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +1 -1
  95. package/coverage/lcov-report/react/components/Header/header.js.html +1 -1
  96. package/coverage/lcov-report/react/components/Header/hooks.js.html +59 -17
  97. package/coverage/lcov-report/react/components/Header/index.html +28 -28
  98. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +1 -1
  99. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +4 -4
  100. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +1 -1
  101. package/coverage/lcov-report/react/components/Infotip/index.html +1 -1
  102. package/coverage/lcov-report/react/components/Infotip/index.js.html +1 -1
  103. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +1 -1
  104. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +1 -1
  105. package/coverage/lcov-report/react/components/Modal/index.html +1 -1
  106. package/coverage/lcov-report/react/components/Modal/index.jsx.html +1 -1
  107. package/coverage/lcov-report/react/components/NotificationBanner/CollapsedView.js.html +49 -28
  108. package/coverage/lcov-report/react/components/NotificationBanner/ExpandedView.js.html +1 -1
  109. package/coverage/lcov-report/react/components/NotificationBanner/index.html +11 -11
  110. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +32 -32
  111. package/coverage/lcov-report/react/components/SanitizedContent/index.html +1 -1
  112. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +1 -1
  113. package/coverage/lcov-report/react/components/SessionDialog/index.html +1 -1
  114. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +1 -1
  115. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +1 -1
  116. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +1 -1
  117. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +1 -1
  118. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +1 -1
  119. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +1 -1
  120. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +1 -1
  121. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +1 -1
  122. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +1 -1
  123. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.html +13 -13
  124. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.js.html +1 -1
  125. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/utils.js.html +60 -24
  126. package/coverage/lcov-report/react/components/SideNav/Content/index.html +1 -1
  127. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +1 -1
  128. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +1 -1
  129. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +1 -1
  130. package/coverage/lcov-report/react/components/SideNav/Details/index.html +1 -1
  131. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +1 -1
  132. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +1 -1
  133. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +1 -1
  134. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +1 -1
  135. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +3 -3
  136. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +1 -1
  137. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +1 -1
  138. package/coverage/lcov-report/react/components/SideNav/Links/index.html +1 -1
  139. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +1 -1
  140. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +2 -20
  141. package/coverage/lcov-report/react/components/SideNav/UI/index.html +1 -1
  142. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +1 -1
  143. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +78 -12
  144. package/coverage/lcov-report/react/components/SideNav/index.html +19 -19
  145. package/coverage/lcov-report/react/components/SideNav/index.js.html +1 -1
  146. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +1 -1
  147. package/coverage/lcov-report/react/components/Tooltip/index.html +1 -1
  148. package/coverage/lcov-report/react/components/Tooltip/index.js.html +1 -1
  149. package/coverage/lcov-report/react/components/Tooltip/position.js.html +1 -1
  150. package/coverage/lcov-report/react/components/hooks/index.html +19 -19
  151. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +37 -37
  152. package/coverage/lcov-report/react/components/index.html +1 -1
  153. package/coverage/lcov-report/react/index.html +1 -1
  154. package/coverage/lcov-report/react/index.js.html +1 -1
  155. package/coverage/lcov-report/react/lib/Chevron.jsx.html +2 -2
  156. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +7 -4
  157. package/coverage/lcov-report/react/lib/index.html +5 -20
  158. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +1 -1
  159. package/coverage/lcov-report/react/session/index.html +1 -1
  160. package/coverage/lcov-report/react/session/index.js.html +1 -1
  161. package/coverage/lcov-report/react/session/logout.js.html +1 -1
  162. package/coverage/lcov-report/react/session/refresh.js.html +1 -1
  163. package/coverage/lcov-report/react/session/ttl.js.html +1 -1
  164. package/coverage/lcov-report/session/index.html +20 -20
  165. package/coverage/lcov-report/session/index.js.html +1 -1
  166. package/coverage/lcov-report/session/logout.js.html +24 -15
  167. package/coverage/lcov-report/session/refresh.js.html +2 -2
  168. package/coverage/lcov-report/session/ttl.js.html +2 -2
  169. package/coverage/lcov.info +581 -577
  170. package/dist/browser.js +1 -1
  171. package/dist/index.js +1 -1
  172. package/dist/react/index.js +1 -1
  173. package/package.json +4 -4
  174. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +0 -94
  175. package/coverage/lcov-report/components/SideNav/Content/index.html +0 -146
  176. package/coverage/lcov-report/components/SideNav/Content/index.js.html +0 -97
  177. package/coverage/lcov-report/components/SideNav/Details/index.js.html +0 -97
  178. package/coverage/lcov-report/components/SideNav/Links/NavLinkDrawer.jsx.html +0 -832
  179. package/coverage/lcov-report/components/SideNav/Links/index.html +0 -206
  180. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +0 -1084
  181. package/coverage/lcov-report/components/SideNav/UI/index.js.html +0 -94
  182. package/coverage/lcov-report/lib/svg-definitions.svg.html +0 -460
  183. package/styles/components/_footer.scss +0 -593
  184. package/styles/components/_header.scss +0 -890
  185. package/styles/components/_sidebar.scss +0 -8
  186. package/styles/components/sidebar/_animations.scss +0 -38
  187. package/styles/components/sidebar/_cms.scss +0 -61
  188. package/styles/components/sidebar/_details.scss +0 -58
  189. package/styles/components/sidebar/_links.scss +0 -415
  190. package/styles/components/sidebar/_sidebar-animation.scss +0 -121
  191. package/styles/components/sidebar/_sidebar-tooltip.scss +0 -33
  192. package/styles/components/sidebar/_sidebar.scss +0 -141
  193. package/styles/components/sidebar/project-specific/_wi.scss +0 -42
  194. package/styles/qppds/components/_infotip-content.scss +0 -47
  195. package/styles/qppds/components/_spinner.scss +0 -46
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for components/SideNav/Content/LevelTwoContent.jsx</title>
6
+ <title>Code coverage report for components/Header/HeaderMenuItem.jsx</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -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/Content</a> LevelTwoContent.jsx</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">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">17.64% </span>
26
+ <span class="strong">57.77% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>3/17</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/56</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/1</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">17.64% </span>
47
+ <span class="strong">56.81% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>3/17</span>
49
+ <span class='fraction'>25/44</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line low'></div>
64
+ <div class='status-line medium'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -279,13 +279,30 @@
279
279
  <a name='L214'></a><a href='#L214'>214</a>
280
280
  <a name='L215'></a><a href='#L215'>215</a>
281
281
  <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-neutral">&nbsp;</span>
287
- <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
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>
289
306
  <span class="cline-any cline-neutral">&nbsp;</span>
290
307
  <span class="cline-any cline-neutral">&nbsp;</span>
291
308
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -295,19 +312,19 @@
295
312
  <span class="cline-any cline-neutral">&nbsp;</span>
296
313
  <span class="cline-any cline-neutral">&nbsp;</span>
297
314
  <span class="cline-any cline-neutral">&nbsp;</span>
315
+ <span class="cline-any cline-yes">1x</span>
298
316
  <span class="cline-any cline-neutral">&nbsp;</span>
299
317
  <span class="cline-any cline-neutral">&nbsp;</span>
300
318
  <span class="cline-any cline-neutral">&nbsp;</span>
301
319
  <span class="cline-any cline-neutral">&nbsp;</span>
302
320
  <span class="cline-any cline-neutral">&nbsp;</span>
303
321
  <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-yes">1x</span>
304
323
  <span class="cline-any cline-neutral">&nbsp;</span>
305
324
  <span class="cline-any cline-neutral">&nbsp;</span>
306
325
  <span class="cline-any cline-neutral">&nbsp;</span>
307
326
  <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-yes">1x</span>
309
327
  <span class="cline-any cline-neutral">&nbsp;</span>
310
- <span class="cline-any cline-yes">1x</span>
311
328
  <span class="cline-any cline-neutral">&nbsp;</span>
312
329
  <span class="cline-any cline-neutral">&nbsp;</span>
313
330
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -318,6 +335,7 @@
318
335
  <span class="cline-any cline-neutral">&nbsp;</span>
319
336
  <span class="cline-any cline-neutral">&nbsp;</span>
320
337
  <span class="cline-any cline-neutral">&nbsp;</span>
338
+ <span class="cline-any cline-yes">1x</span>
321
339
  <span class="cline-any cline-neutral">&nbsp;</span>
322
340
  <span class="cline-any cline-neutral">&nbsp;</span>
323
341
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -327,21 +345,33 @@
327
345
  <span class="cline-any cline-neutral">&nbsp;</span>
328
346
  <span class="cline-any cline-neutral">&nbsp;</span>
329
347
  <span class="cline-any cline-neutral">&nbsp;</span>
348
+ <span class="cline-any cline-yes">2x</span>
349
+ <span class="cline-any cline-yes">2x</span>
330
350
  <span class="cline-any cline-neutral">&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>
331
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>
332
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>
333
360
  <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-no">&nbsp;</span>
335
- <span class="cline-any cline-no">&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>
336
364
  <span class="cline-any cline-neutral">&nbsp;</span>
337
365
  <span class="cline-any cline-no">&nbsp;</span>
338
- <span class="cline-any cline-no">&nbsp;</span>
339
- <span class="cline-any cline-no">&nbsp;</span>
340
366
  <span class="cline-any cline-neutral">&nbsp;</span>
341
367
  <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-no">&nbsp;</span>
342
369
  <span class="cline-any cline-neutral">&nbsp;</span>
343
370
  <span class="cline-any cline-neutral">&nbsp;</span>
344
371
  <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-yes">2x</span>
373
+ <span class="cline-any cline-yes">1x</span>
374
+ <span class="cline-any cline-no">&nbsp;</span>
345
375
  <span class="cline-any cline-neutral">&nbsp;</span>
346
376
  <span class="cline-any cline-neutral">&nbsp;</span>
347
377
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -351,16 +381,20 @@
351
381
  <span class="cline-any cline-neutral">&nbsp;</span>
352
382
  <span class="cline-any cline-no">&nbsp;</span>
353
383
  <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-no">&nbsp;</span>
355
385
  <span class="cline-any cline-no">&nbsp;</span>
356
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>
357
389
  <span class="cline-any cline-neutral">&nbsp;</span>
358
390
  <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-no">&nbsp;</span>
360
- <span class="cline-any cline-no">&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>
361
394
  <span class="cline-any cline-neutral">&nbsp;</span>
362
395
  <span class="cline-any cline-neutral">&nbsp;</span>
363
396
  <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-yes">2x</span>
364
398
  <span class="cline-any cline-neutral">&nbsp;</span>
365
399
  <span class="cline-any cline-neutral">&nbsp;</span>
366
400
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -375,10 +409,10 @@
375
409
  <span class="cline-any cline-neutral">&nbsp;</span>
376
410
  <span class="cline-any cline-neutral">&nbsp;</span>
377
411
  <span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-no">&nbsp;</span>
378
413
  <span class="cline-any cline-neutral">&nbsp;</span>
379
414
  <span class="cline-any cline-neutral">&nbsp;</span>
380
415
  <span class="cline-any cline-neutral">&nbsp;</span>
381
- <span class="cline-any cline-no">&nbsp;</span>
382
416
  <span class="cline-any cline-neutral">&nbsp;</span>
383
417
  <span class="cline-any cline-neutral">&nbsp;</span>
384
418
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -395,8 +429,10 @@
395
429
  <span class="cline-any cline-neutral">&nbsp;</span>
396
430
  <span class="cline-any cline-neutral">&nbsp;</span>
397
431
  <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-no">&nbsp;</span>
398
433
  <span class="cline-any cline-neutral">&nbsp;</span>
399
434
  <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-no">&nbsp;</span>
400
436
  <span class="cline-any cline-neutral">&nbsp;</span>
401
437
  <span class="cline-any cline-neutral">&nbsp;</span>
402
438
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -404,18 +440,21 @@
404
440
  <span class="cline-any cline-neutral">&nbsp;</span>
405
441
  <span class="cline-any cline-neutral">&nbsp;</span>
406
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>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
407
446
  <span class="cline-any cline-neutral">&nbsp;</span>
408
447
  <span class="cline-any cline-neutral">&nbsp;</span>
409
448
  <span class="cline-any cline-neutral">&nbsp;</span>
410
449
  <span class="cline-any cline-neutral">&nbsp;</span>
411
450
  <span class="cline-any cline-no">&nbsp;</span>
451
+ <span class="cline-any cline-no">&nbsp;</span>
412
452
  <span class="cline-any cline-neutral">&nbsp;</span>
413
453
  <span class="cline-any cline-neutral">&nbsp;</span>
414
454
  <span class="cline-any cline-neutral">&nbsp;</span>
415
455
  <span class="cline-any cline-neutral">&nbsp;</span>
416
456
  <span class="cline-any cline-neutral">&nbsp;</span>
417
457
  <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-no">&nbsp;</span>
419
458
  <span class="cline-any cline-neutral">&nbsp;</span>
420
459
  <span class="cline-any cline-neutral">&nbsp;</span>
421
460
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -446,12 +485,16 @@
446
485
  <span class="cline-any cline-neutral">&nbsp;</span>
447
486
  <span class="cline-any cline-neutral">&nbsp;</span>
448
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>
449
490
  <span class="cline-any cline-neutral">&nbsp;</span>
450
491
  <span class="cline-any cline-neutral">&nbsp;</span>
451
492
  <span class="cline-any cline-neutral">&nbsp;</span>
452
493
  <span class="cline-any cline-neutral">&nbsp;</span>
453
494
  <span class="cline-any cline-neutral">&nbsp;</span>
454
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>
455
498
  <span class="cline-any cline-neutral">&nbsp;</span>
456
499
  <span class="cline-any cline-neutral">&nbsp;</span>
457
500
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -480,6 +523,9 @@
480
523
  <span class="cline-any cline-neutral">&nbsp;</span>
481
524
  <span class="cline-any cline-neutral">&nbsp;</span>
482
525
  <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-yes">1x</span>
527
+ <span class="cline-any cline-neutral">&nbsp;</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
529
  <span class="cline-any cline-neutral">&nbsp;</span>
484
530
  <span class="cline-any cline-neutral">&nbsp;</span>
485
531
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -495,222 +541,245 @@
495
541
  <span class="cline-any cline-neutral">&nbsp;</span>
496
542
  <span class="cline-any cline-neutral">&nbsp;</span>
497
543
  <span class="cline-any cline-neutral">&nbsp;</span>
498
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React from 'react';
499
- import {
500
- NavLinkContainer,
501
- NavLinkInline,
502
- NavLinkDrawer,
503
- NavItemInline,
504
- } from '../Links';
505
- import AnimationGroup from '../AnimationGroup/AnimationGroup';
506
- import { PracticeDetails } from '../Details';
507
- import { ScoreChart } from '../Chart';
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';
508
545
  import PropTypes from 'prop-types';
509
- import {
510
- AccountHomeIcon,
511
- DashboardIcon,
512
- StarIcon,
513
- CliniciansIcon,
514
- ScoreIncrease,
515
- TooltipIcon,
516
- } from '../../../lib/SvgComponents.jsx';
517
- import {
518
- submissionsUrl,
519
- manageUrl,
520
- dashboardUrl,
521
- performanceFeedbackUrl,
522
- } from '../helpers';
523
546
  &nbsp;
524
- const PAST_REPORTING_YEARS = ['2017', '2018'];
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';
553
+ &nbsp;
554
+ const menuSizes = {
555
+ 1: 315,
556
+ 2: 650,
557
+ 3: 890,
558
+ 4: 1200,
559
+ };
560
+ &nbsp;
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
+ ];
525
576
  &nbsp;
526
- const LevelTwoContent = <span class="fstat-no" title="function not covered" >({</span>
527
- isExpanded,
528
- chartData,
529
- showReportingLinks,
530
- config: {
531
- chartActive = <span class="branch-0 cbranch-no" title="branch not covered" >true,</span>
532
- openDrawersByDefault,
533
- linkCallback,
534
- updateTime,
535
- practiceId,
536
- practiceName,
537
- practiceTin,
538
- apmEntityId,
539
- isConnectedUsersPage,
540
- vgId,
541
- roleAbbr,
542
- performanceYear,
543
- finalFeedbackOpen,
544
- isApmPaymentDetailsPage,
545
- useTooltips,
546
- cpcPlusId,
547
- pcfId,
548
- } = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
577
+ const HeaderMenuItem = ({
578
+ handleClick,
579
+ isMobileMenuExpanded,
580
+ columns,
581
+ menuName,
582
+ rows,
583
+ name,
584
+ subtitle,
585
+ className,
549
586
  }) =&gt; {
550
- const linkClass = <span class="cstat-no" title="statement not covered" >isExpanded ? 'link-inline' : 'link-collapsed';</span>
551
- let links = <span class="cstat-no" title="statement not covered" >[];</span>
587
+ const [isSubMenuFullWidth, setSubMenuFullWidth] = useState(false);
588
+ const [openMobileSubMenu, setOpenMobileSubMenu] = useState('');
552
589
  &nbsp;
553
- <span class="cstat-no" title="statement not covered" > if (isApmPaymentDetailsPage) {</span>
554
- const apmDetailsUrl = <span class="cstat-no" title="statement not covered" >'/user/apm-incentive-payments/(.*)/practice-details';</span>
555
- <span class="cstat-no" title="statement not covered" > links.push(</span>
556
- &lt;NavItemInline
557
- icon={&lt;CliniciansIcon /&gt;}
558
- className={linkClass}
559
- label="Payment Details"
560
- urlExpressionToMatch={apmDetailsUrl}
561
- showLabel={isExpanded}
562
- /&gt;
563
- );
564
- } else {
565
- const linkLabel = <span class="cstat-no" title="statement not covered" >isConnectedUsersPage</span>
566
- ? 'Connected Users'
567
- : 'Eligibility &amp; Reporting';
568
- let items = <span class="cstat-no" title="statement not covered" >[];</span>
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;
569
596
  &nbsp;
570
- const practiceUrlSegment =
571
- <span class="cstat-no" title="statement not covered" > performanceYear === '2017' || performanceYear === '2018' || !roleAbbr</span>
572
- ? practiceId
573
- : practiceId + '_' + roleAbbr;
597
+ const menuIdentifier = menuName || name;
598
+ const isOpen = menuIdentifier === currentOpenMenu;
574
599
  &nbsp;
575
- <span class="cstat-no" title="statement not covered" > if (showReportingLinks &amp;&amp; !apmEntityId) {</span>
576
- <span class="cstat-no" title="statement not covered" > items = [</span>
577
- {
578
- url: `${submissionsUrl}/reporting/${practiceUrlSegment}/overview`,
579
- label: vgId ? 'Virtual Group Reporting' : 'Group Reporting Overview',
580
- items: [
581
- {
582
- url: `${submissionsUrl}/reporting/${practiceUrlSegment}/quality`,
583
- label: 'Quality Measures',
584
- },
585
- {
586
- url: `${submissionsUrl}/reporting/${practiceUrlSegment}/aci`,
587
- label: 'Promoting Interoperability',
588
- },
589
- {
590
- url: `${submissionsUrl}/reporting/${practiceUrlSegment}/ia`,
591
- label: 'Improvement Activities',
592
- },
593
- ],
594
- },
595
- ];
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>
596
608
  }
597
- <span class="cstat-no" title="statement not covered" > links.push(</span>
598
- &lt;NavLinkDrawer
599
- key="connected-clinicians-link"
600
- isAlwaysOpen
601
- url={
602
- !isConnectedUsersPage
603
- ? `${dashboardUrl}`
604
- : `${manageUrl}/${practiceId}/connected-users`
605
- }
606
- isExpanded={isExpanded}
607
- openByDefault={openDrawersByDefault}
608
- leftIcon={&lt;DashboardIcon /&gt;}
609
- className={linkClass}
610
- label={linkLabel}
611
- linkCallback={linkCallback}
612
- listOfLinks={
613
- !isConnectedUsersPage &amp;&amp; [
614
- {
615
- label: vgId
616
- ? 'Virtual Group Details &amp; Participants'
617
- : apmEntityId
618
- ? 'APM Entity Details &amp; Participants'
619
- : 'Practice Details &amp; Clinicians',
620
- items: items,
621
- },
622
- ]
623
- }
624
- disabled={isConnectedUsersPage ? true : false}
625
- /&gt;
626
- );
627
- <span class="cstat-no" title="statement not covered" > if (</span>
628
- (apmEntityId &amp;&amp; performanceYear === '2018' &amp;&amp; finalFeedbackOpen) ||
629
- (!apmEntityId &amp;&amp;
630
- !vgId &amp;&amp;
631
- !isConnectedUsersPage &amp;&amp;
632
- PAST_REPORTING_YEARS.indexOf(performanceYear) &gt;= 0)
633
- ) {
634
- <span class="cstat-no" title="statement not covered" > links.push(</span>
635
- &lt;NavLinkInline
636
- key="performance-feedback-link"
637
- icon={&lt;StarIcon /&gt;}
638
- className={linkClass}
639
- url={performanceFeedbackUrl(
640
- finalFeedbackOpen &amp;&amp; performanceYear === '2018'
641
- ? performanceYear
642
- : '2017'
643
- )}
644
- label="Performance Feedback"
645
- linkCallback={linkCallback}
646
- showLabel={isExpanded}
647
- useTooltips={useTooltips}
648
- /&gt;
649
- );
609
+ }, [windowWidth, isOpen]);
610
+ &nbsp;
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]);
629
+ &nbsp;
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('');
650
633
  }
651
- }
634
+ }, [isMobileMenuExpanded, isOpen]);
652
635
  &nbsp;
653
- <span class="cstat-no" title="statement not covered" > return (</span>
654
- &lt;div className="sidebar-content"&gt;
655
- &lt;AnimationGroup display={isExpanded}&gt;
656
- &lt;NavLinkInline
657
- icon={&lt;AccountHomeIcon /&gt;}
658
- url={submissionsUrl}
659
- label="Account Home"
660
- showLabel={isExpanded}
661
- className="account-home-link"
662
- linkCallback={linkCallback}
663
- useTooltips={useTooltips}
664
- /&gt;
665
- &lt;hr /&gt;
666
- &lt;/AnimationGroup&gt;
667
- &lt;AnimationGroup display={isExpanded} className={'details'}&gt;
668
- &lt;PracticeDetails
669
- practiceName={practiceName}
670
- {...(!practiceTin ? {} : { practiceTin })}
671
- {...(!apmEntityId ? {} : { apmEntityId })}
672
- {...(!vgId ? {} : { vgId })}
673
- {...(!cpcPlusId ? {} : { cpcPlusId })}
674
- {...(!pcfId ? {} : { pcfId })}
675
- /&gt;
676
- &lt;hr /&gt;
677
- &lt;/AnimationGroup&gt;
678
- &lt;div className="level-two-nav animation-flat"&gt;
679
- &lt;NavLinkContainer listOfLinks={links} /&gt;
680
- &lt;AnimationGroup display={isExpanded &amp;&amp; chartActive} className="chart"&gt;
681
- &lt;div&gt;
682
- &lt;hr /&gt;
683
- &lt;div className="chart-title"&gt;
684
- &lt;p className="title"&gt;Final Group Score&lt;/p&gt;
685
- &lt;p className="disclaimer"&gt;
686
- &lt;svg className="left-icon" aria-hidden="true"&gt;
687
- &lt;ScoreIncrease /&gt;
688
- &lt;/svg&gt;
689
- Score may increase
690
- &lt;svg className="right-icon" aria-hidden="true"&gt;
691
- &lt;TooltipIcon /&gt;
692
- &lt;/svg&gt;
693
- &lt;/p&gt;
694
- {updateTime &amp;&amp; (
695
- &lt;p className="timestamp"&gt;Last update at {updateTime}&lt;/p&gt;
696
- )}
697
- &lt;/div&gt;
698
- &lt;ScoreChart chartData={chartData} linkCallback={linkCallback} /&gt;
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;
699
657
  &lt;/div&gt;
700
- &lt;/AnimationGroup&gt;
658
+ &lt;/div&gt;
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; {
674
+ <span class="cstat-no" title="statement not covered" > return (</span>
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
+ }
699
+ &gt;
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;
709
+ &lt;/li&gt;
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
+ }
724
+ &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;
753
+ )}
754
+ &lt;/Fragment&gt;
755
+ );
756
+ })}
757
+ &lt;/ul&gt;
758
+ );
759
+ })}
701
760
  &lt;/div&gt;
702
- &lt;/div&gt;
761
+ &lt;/li&gt;
703
762
  );
704
763
  };
705
764
  &nbsp;
706
- LevelTwoContent.propTypes = {
707
- isExpanded: PropTypes.bool,
708
- config: PropTypes.object,
709
- chartData: PropTypes.object,
710
- showReportingLinks: 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,
711
780
  };
712
781
  &nbsp;
713
- export default LevelTwoContent;
782
+ export default HeaderMenuItem;
714
783
  &nbsp;</pre></td></tr></table></pre>
715
784
 
716
785
  <div class='push'></div><!-- for sticky footer -->
@@ -718,16 +787,16 @@ export default LevelTwoContent;
718
787
  <div class='footer quiet pad2 space-top1 center small'>
719
788
  Code coverage generated by
720
789
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
721
- at Fri Apr 29 2022 13:58:50 GMT-0400 (Eastern Daylight Time)
790
+ at Tue Nov 29 2022 19:35:20 GMT-0800 (Pacific Standard Time)
722
791
  </div>
723
- <script src="../../../prettify.js"></script>
792
+ <script src="../../prettify.js"></script>
724
793
  <script>
725
794
  window.onload = function () {
726
795
  prettyPrint();
727
796
  };
728
797
  </script>
729
- <script src="../../../sorter.js"></script>
730
- <script src="../../../block-navigation.js"></script>
798
+ <script src="../../sorter.js"></script>
799
+ <script src="../../block-navigation.js"></script>
731
800
  </body>
732
801
  </html>
733
802