qpp-style 9.28.1 → 9.28.2

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 (189) hide show
  1. package/components/Accordion/index.jsx +5 -1
  2. package/coverage/clover.xml +76 -76
  3. package/coverage/coverage-final.json +69 -69
  4. package/coverage/lcov-report/components/Accordion/index.html +1 -1
  5. package/coverage/lcov-report/components/Accordion/index.jsx.html +4 -4
  6. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +1 -1
  7. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +1 -1
  8. package/coverage/lcov-report/components/Error/index.html +1 -1
  9. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +348 -189
  10. package/coverage/lcov-report/components/{Header/HeaderUI.jsx.html → Footer/LegacyFooterUI.jsx.html} +303 -198
  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 +44 -29
  14. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +5 -5
  15. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +5 -5
  16. package/coverage/lcov-report/components/Infotip/index.html +1 -1
  17. package/coverage/lcov-report/components/Infotip/index.js.html +1 -1
  18. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +3 -3
  19. package/coverage/lcov-report/components/Modal/Modal.jsx.html +5 -5
  20. package/coverage/lcov-report/components/Modal/index.html +1 -1
  21. package/coverage/lcov-report/components/Modal/index.jsx.html +5 -5
  22. package/coverage/lcov-report/components/SanitizedContent/index.html +1 -1
  23. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +1 -1
  24. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +4 -4
  25. package/coverage/lcov-report/components/{Header/NavigationButtonIcon.jsx.html → SideNav/AnimationGroup/AnimationGroup.jsx.html} +48 -48
  26. package/coverage/lcov-report/components/SideNav/{Content/SelectRole → AnimationGroup}/index.html +30 -30
  27. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +7 -7
  28. package/coverage/lcov-report/components/SideNav/Chart/index.html +16 -1
  29. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +94 -0
  30. package/coverage/lcov-report/components/{NotificationBanner/index.js.html → SideNav/Content/LevelOneContent.jsx.html} +242 -281
  31. package/coverage/lcov-report/components/{Header/HeaderMenuItem.jsx.html → SideNav/Content/LevelTwoContent.jsx.html} +236 -305
  32. package/coverage/lcov-report/components/SideNav/Content/index.html +146 -0
  33. package/coverage/lcov-report/components/SideNav/Content/index.js.html +97 -0
  34. package/coverage/lcov-report/components/{Header/HeaderCancel.jsx.html → SideNav/Details/IndividualDetails.jsx.html} +24 -18
  35. package/coverage/lcov-report/components/{NotificationBanner/ExpandedView.js.html → SideNav/Details/PracticeDetails.jsx.html} +64 -64
  36. package/coverage/lcov-report/components/{NotificationBanner → SideNav/Details}/index.html +46 -46
  37. package/coverage/lcov-report/components/SideNav/Details/index.js.html +97 -0
  38. package/coverage/lcov-report/components/{Header/HeaderLogo.jsx.html → SideNav/Links/CmsSwitchLink.jsx.html} +58 -61
  39. package/coverage/lcov-report/components/{Header/HeaderMenuButton.js.html → SideNav/Links/NavItemInline.jsx.html} +75 -63
  40. package/coverage/lcov-report/components/{NotificationBanner/CollapsedView.js.html → SideNav/Links/NavLinkContainer.jsx.html} +58 -61
  41. package/coverage/lcov-report/components/SideNav/Links/NavLinkDrawer.jsx.html +832 -0
  42. package/coverage/lcov-report/components/{Header/HeaderAccountMenu.jsx.html → SideNav/Links/NavLinkInline.jsx.html} +157 -118
  43. package/coverage/lcov-report/components/{Header/HeaderMobileButton.js.html → SideNav/Links/NavLinkToggle.jsx.html} +45 -54
  44. package/coverage/lcov-report/components/SideNav/Links/index.html +206 -0
  45. package/coverage/lcov-report/components/{Header/utag-helpers.js.html → SideNav/Links/index.js.html} +40 -28
  46. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +1084 -0
  47. package/coverage/lcov-report/components/{GovBanner → SideNav/UI}/index.html +42 -27
  48. package/coverage/lcov-report/components/SideNav/UI/index.js.html +94 -0
  49. package/coverage/lcov-report/components/SideNav/helpers.js.html +10 -910
  50. package/coverage/lcov-report/components/SideNav/index.html +17 -17
  51. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +9 -9
  52. package/coverage/lcov-report/components/Tooltip/index.html +1 -1
  53. package/coverage/lcov-report/components/Tooltip/index.js.html +1 -1
  54. package/coverage/lcov-report/components/Tooltip/position.js.html +1 -1
  55. package/coverage/lcov-report/components/hooks/index.html +5 -5
  56. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +15 -18
  57. package/coverage/lcov-report/components/index.html +1 -1
  58. package/coverage/lcov-report/index.html +5 -5
  59. package/coverage/lcov-report/lib/Chevron.jsx.html +5 -5
  60. package/coverage/lcov-report/lib/SvgComponents.jsx.html +12 -150
  61. package/coverage/lcov-report/lib/index.html +30 -15
  62. package/coverage/lcov-report/lib/svg-definitions.svg.html +460 -0
  63. package/coverage/lcov-report/react/components/Accordion/index.html +5 -5
  64. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +17 -5
  65. package/coverage/lcov-report/react/components/Button/index.html +1 -1
  66. package/coverage/lcov-report/react/components/Button/index.js.html +1 -1
  67. package/coverage/lcov-report/react/components/Dropdown/index.html +1 -1
  68. package/coverage/lcov-report/react/components/Dropdown/index.js.html +1 -1
  69. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
  70. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
  71. package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
  72. package/coverage/lcov-report/react/components/Error/index.html +1 -1
  73. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +1 -1
  74. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +16 -16
  75. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +1 -1
  76. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +1 -1
  77. package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
  78. package/coverage/lcov-report/react/components/Footer/index.html +1 -1
  79. package/coverage/lcov-report/react/components/GovBanner/index.html +1 -1
  80. package/coverage/lcov-report/react/components/GovBanner/index.js.html +1 -1
  81. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +1 -1
  82. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +1 -1
  83. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +1 -1
  84. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +1 -1
  85. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +1 -1
  86. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +1 -1
  87. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +1 -1
  88. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +1 -1
  89. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +1 -1
  90. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +1 -1
  91. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +1 -1
  92. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +1 -1
  93. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +1 -1
  94. package/coverage/lcov-report/react/components/Header/header.js.html +1 -1
  95. package/coverage/lcov-report/react/components/Header/hooks.js.html +1 -1
  96. package/coverage/lcov-report/react/components/Header/index.html +1 -1
  97. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +1 -1
  98. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +1 -1
  99. package/coverage/lcov-report/react/components/Infotip/InfotipContent.jsx.html +1 -1
  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 +1 -1
  108. package/coverage/lcov-report/react/components/NotificationBanner/ExpandedView.js.html +1 -1
  109. package/coverage/lcov-report/react/components/NotificationBanner/index.html +1 -1
  110. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  144. package/coverage/lcov-report/react/components/SideNav/index.html +1 -1
  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 +1 -1
  151. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +1 -1
  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 +1 -1
  156. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1 -1
  157. package/coverage/lcov-report/react/lib/index.html +1 -1
  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 +15 -24
  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 +14 -10
  170. package/dist/browser.js +1 -1
  171. package/dist/browser.js.map +1 -1
  172. package/dist/index.js +1 -1
  173. package/dist/index.js.map +1 -1
  174. package/dist/react/index.js +1 -1
  175. package/dist/react/index.js.map +1 -1
  176. package/images/icons/svg/chevron-down.svg +5 -5
  177. package/package.json +1 -1
  178. package/styles/components/_accordion.scss +7 -0
  179. package/coverage/lcov-report/components/Button/index.html +0 -116
  180. package/coverage/lcov-report/components/Button/index.js.html +0 -355
  181. package/coverage/lcov-report/components/GovBanner/index.js.html +0 -436
  182. package/coverage/lcov-report/components/Header/HeaderContainer.jsx.html +0 -280
  183. package/coverage/lcov-report/components/Header/HeaderMenuLink.js.html +0 -253
  184. package/coverage/lcov-report/components/Header/HeaderMenuSignOutButton.js.html +0 -271
  185. package/coverage/lcov-report/components/Header/HelpIcon.jsx.html +0 -181
  186. package/coverage/lcov-report/components/Header/ImpersonatorBanner.jsx.html +0 -331
  187. package/coverage/lcov-report/components/Header/hooks.js.html +0 -283
  188. package/coverage/lcov-report/components/Header/index.html +0 -326
  189. package/coverage/lcov-report/components/SideNav/Content/SelectRole/utils.js.html +0 -505
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for components/NotificationBanner/index.js</title>
6
+ <title>Code coverage report for components/SideNav/Content/LevelOneContent.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/NotificationBanner</a> index.js</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">components/SideNav/Content</a> LevelOneContent.jsx</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">60% </span>
26
+ <span class="strong">55.26% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>36/60</span>
28
+ <span class='fraction'>21/38</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">32.14% </span>
33
+ <span class="strong">31.81% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>9/28</span>
35
+ <span class='fraction'>14/44</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">57.14% </span>
40
+ <span class="strong">16.66% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/14</span>
42
+ <span class='fraction'>1/6</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">60% </span>
47
+ <span class="strong">55.26% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>36/60</span>
49
+ <span class='fraction'>21/38</span>
50
50
  </div>
51
51
 
52
52
 
@@ -271,20 +271,16 @@
271
271
  <a name='L206'></a><a href='#L206'>206</a>
272
272
  <a name='L207'></a><a href='#L207'>207</a>
273
273
  <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
274
+ <a name='L209'></a><a href='#L209'>209</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
+ <span class="cline-any cline-neutral">&nbsp;</span>
277
+ <span class="cline-any cline-neutral">&nbsp;</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-neutral">&nbsp;</span>
288
284
  <span class="cline-any cline-neutral">&nbsp;</span>
289
285
  <span class="cline-any cline-neutral">&nbsp;</span>
290
286
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -292,78 +288,49 @@
292
288
  <span class="cline-any cline-neutral">&nbsp;</span>
293
289
  <span class="cline-any cline-neutral">&nbsp;</span>
294
290
  <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-yes">1x</span>
296
- <span class="cline-any cline-no">&nbsp;</span>
297
- <span class="cline-any cline-no">&nbsp;</span>
298
- <span class="cline-any cline-no">&nbsp;</span>
299
- <span class="cline-any cline-no">&nbsp;</span>
300
291
  <span class="cline-any cline-neutral">&nbsp;</span>
301
292
  <span class="cline-any cline-neutral">&nbsp;</span>
302
293
  <span class="cline-any cline-neutral">&nbsp;</span>
303
294
  <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-yes">1x</span>
305
295
  <span class="cline-any cline-neutral">&nbsp;</span>
306
296
  <span class="cline-any cline-neutral">&nbsp;</span>
307
297
  <span class="cline-any cline-neutral">&nbsp;</span>
308
298
  <span class="cline-any cline-neutral">&nbsp;</span>
309
299
  <span class="cline-any cline-neutral">&nbsp;</span>
310
300
  <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-yes">2x</span>
312
301
  <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-yes">2x</span>
314
- <span class="cline-any cline-yes">2x</span>
315
- <span class="cline-any cline-yes">2x</span>
316
- <span class="cline-any cline-yes">2x</span>
317
- <span class="cline-any cline-yes">2x</span>
318
- <span class="cline-any cline-yes">2x</span>
319
- <span class="cline-any cline-yes">2x</span>
320
- <span class="cline-any cline-yes">2x</span>
321
302
  <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-yes">2x</span>
323
303
  <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-yes">1x</span>
325
304
  <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-yes">1x</span>
327
- <span class="cline-any cline-no">&nbsp;</span>
328
305
  <span class="cline-any cline-neutral">&nbsp;</span>
329
306
  <span class="cline-any cline-neutral">&nbsp;</span>
330
307
  <span class="cline-any cline-yes">1x</span>
331
308
  <span class="cline-any cline-no">&nbsp;</span>
332
309
  <span class="cline-any cline-neutral">&nbsp;</span>
333
310
  <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-yes">1x</span>
335
311
  <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-yes">1x</span>
337
- <span class="cline-any cline-yes">1x</span>
338
312
  <span class="cline-any cline-neutral">&nbsp;</span>
339
313
  <span class="cline-any cline-neutral">&nbsp;</span>
340
314
  <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-yes">2x</span>
342
315
  <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-yes">1x</span>
344
- <span class="cline-any cline-yes">1x</span>
345
316
  <span class="cline-any cline-neutral">&nbsp;</span>
346
317
  <span class="cline-any cline-neutral">&nbsp;</span>
347
318
  <span class="cline-any cline-neutral">&nbsp;</span>
348
- <span class="cline-any cline-yes">2x</span>
349
- <span class="cline-any cline-yes">1x</span>
350
- <span class="cline-any cline-yes">1x</span>
351
319
  <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-yes">1x</span>
353
320
  <span class="cline-any cline-neutral">&nbsp;</span>
354
321
  <span class="cline-any cline-neutral">&nbsp;</span>
355
322
  <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-yes">1x</span>
357
323
  <span class="cline-any cline-neutral">&nbsp;</span>
358
324
  <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-yes">2x</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-neutral">&nbsp;</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
360
330
  <span class="cline-any cline-yes">1x</span>
361
- <span class="cline-any cline-no">&nbsp;</span>
362
- <span class="cline-any cline-no">&nbsp;</span>
363
331
  <span class="cline-any cline-neutral">&nbsp;</span>
364
332
  <span class="cline-any cline-neutral">&nbsp;</span>
365
333
  <span class="cline-any cline-neutral">&nbsp;</span>
366
- <span class="cline-any cline-no">&nbsp;</span>
367
334
  <span class="cline-any cline-neutral">&nbsp;</span>
368
335
  <span class="cline-any cline-neutral">&nbsp;</span>
369
336
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -374,34 +341,44 @@
374
341
  <span class="cline-any cline-neutral">&nbsp;</span>
375
342
  <span class="cline-any cline-neutral">&nbsp;</span>
376
343
  <span class="cline-any cline-neutral">&nbsp;</span>
344
+ <span class="cline-any cline-yes">1x</span>
377
345
  <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-yes">1x</span>
347
+ <span class="cline-any cline-yes">1x</span>
348
+ <span class="cline-any cline-yes">1x</span>
349
+ <span class="cline-any cline-yes">1x</span>
378
350
  <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-yes">2x</span>
380
- <span class="cline-any cline-yes">2x</span>
381
351
  <span class="cline-any cline-neutral">&nbsp;</span>
352
+ <span class="cline-any cline-yes">1x</span>
353
+ <span class="cline-any cline-yes">1x</span>
354
+ <span class="cline-any cline-yes">1x</span>
355
+ <span class="cline-any cline-yes">1x</span>
356
+ <span class="cline-any cline-yes">1x</span>
382
357
  <span class="cline-any cline-neutral">&nbsp;</span>
383
358
  <span class="cline-any cline-neutral">&nbsp;</span>
359
+ <span class="cline-any cline-yes">1x</span>
384
360
  <span class="cline-any cline-neutral">&nbsp;</span>
361
+ <span class="cline-any cline-yes">1x</span>
385
362
  <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-yes">1x</span>
364
+ <span class="cline-any cline-yes">1x</span>
365
+ <span class="cline-any cline-yes">1x</span>
386
366
  <span class="cline-any cline-neutral">&nbsp;</span>
387
367
  <span class="cline-any cline-neutral">&nbsp;</span>
388
- <span class="cline-any cline-yes">2x</span>
389
- <span class="cline-any cline-no">&nbsp;</span>
390
368
  <span class="cline-any cline-no">&nbsp;</span>
391
369
  <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-no">&nbsp;</span>
393
- <span class="cline-any cline-no">&nbsp;</span>
394
370
  <span class="cline-any cline-neutral">&nbsp;</span>
395
371
  <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-no">&nbsp;</span>
396
373
  <span class="cline-any cline-neutral">&nbsp;</span>
397
374
  <span class="cline-any cline-neutral">&nbsp;</span>
398
375
  <span class="cline-any cline-neutral">&nbsp;</span>
399
376
  <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-yes">1x</span>
400
378
  <span class="cline-any cline-neutral">&nbsp;</span>
401
379
  <span class="cline-any cline-neutral">&nbsp;</span>
402
380
  <span class="cline-any cline-neutral">&nbsp;</span>
403
381
  <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-no">&nbsp;</span>
405
382
  <span class="cline-any cline-neutral">&nbsp;</span>
406
383
  <span class="cline-any cline-neutral">&nbsp;</span>
407
384
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -420,18 +397,15 @@
420
397
  <span class="cline-any cline-neutral">&nbsp;</span>
421
398
  <span class="cline-any cline-neutral">&nbsp;</span>
422
399
  <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-yes">2x</span>
424
- <span class="cline-any cline-no">&nbsp;</span>
425
- <span class="cline-any cline-no">&nbsp;</span>
426
- <span class="cline-any cline-no">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-yes">1x</span>
427
402
  <span class="cline-any cline-no">&nbsp;</span>
428
403
  <span class="cline-any cline-neutral">&nbsp;</span>
404
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
405
  <span class="cline-any cline-no">&nbsp;</span>
430
406
  <span class="cline-any cline-no">&nbsp;</span>
431
407
  <span class="cline-any cline-neutral">&nbsp;</span>
432
408
  <span class="cline-any cline-neutral">&nbsp;</span>
433
- <span class="cline-any cline-yes">2x</span>
434
- <span class="cline-any cline-no">&nbsp;</span>
435
409
  <span class="cline-any cline-no">&nbsp;</span>
436
410
  <span class="cline-any cline-no">&nbsp;</span>
437
411
  <span class="cline-any cline-no">&nbsp;</span>
@@ -441,14 +415,19 @@
441
415
  <span class="cline-any cline-neutral">&nbsp;</span>
442
416
  <span class="cline-any cline-neutral">&nbsp;</span>
443
417
  <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-no">&nbsp;</span>
419
+ <span class="cline-any cline-no">&nbsp;</span>
420
+ <span class="cline-any cline-no">&nbsp;</span>
444
421
  <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-no">&nbsp;</span>
445
423
  <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-yes">2x</span>
447
424
  <span class="cline-any cline-neutral">&nbsp;</span>
448
425
  <span class="cline-any cline-neutral">&nbsp;</span>
449
426
  <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-no">&nbsp;</span>
450
428
  <span class="cline-any cline-neutral">&nbsp;</span>
451
429
  <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-no">&nbsp;</span>
452
431
  <span class="cline-any cline-neutral">&nbsp;</span>
453
432
  <span class="cline-any cline-neutral">&nbsp;</span>
454
433
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -462,6 +441,7 @@
462
441
  <span class="cline-any cline-neutral">&nbsp;</span>
463
442
  <span class="cline-any cline-neutral">&nbsp;</span>
464
443
  <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-no">&nbsp;</span>
465
445
  <span class="cline-any cline-neutral">&nbsp;</span>
466
446
  <span class="cline-any cline-neutral">&nbsp;</span>
467
447
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -472,9 +452,10 @@
472
452
  <span class="cline-any cline-neutral">&nbsp;</span>
473
453
  <span class="cline-any cline-neutral">&nbsp;</span>
474
454
  <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-yes">1x</span>
455
+ <span class="cline-any cline-no">&nbsp;</span>
476
456
  <span class="cline-any cline-neutral">&nbsp;</span>
477
457
  <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-yes">1x</span>
478
459
  <span class="cline-any cline-neutral">&nbsp;</span>
479
460
  <span class="cline-any cline-neutral">&nbsp;</span>
480
461
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -498,234 +479,214 @@
498
479
  <span class="cline-any cline-neutral">&nbsp;</span>
499
480
  <span class="cline-any cline-neutral">&nbsp;</span>
500
481
  <span class="cline-any cline-neutral">&nbsp;</span>
501
- <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-neutral">&nbsp;</span>
503
- <span class="cline-any cline-neutral">&nbsp;</span>
504
- <span class="cline-any cline-neutral">&nbsp;</span>
505
- <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-neutral">&nbsp;</span>
507
- <span class="cline-any cline-neutral">&nbsp;</span>
508
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useState, useEffect, useRef } from 'react';
482
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React from 'react';
509
483
  import PropTypes from 'prop-types';
510
- import ExpandedView from './ExpandedView';
511
- import CollapsedView from './CollapsedView';
512
- import { withGetConfig } from '../hooks/useGetConfig';
484
+ import cookie from 'cookie';
485
+ import jwtDecode from 'jwt-decode';
513
486
  &nbsp;
514
- function debounce(fn, ms) {
515
- let timer;
516
- return <span class="fstat-no" title="function not covered" >()</span> =&gt; {
517
- <span class="cstat-no" title="statement not covered" > clearTimeout(timer);</span>
518
- <span class="cstat-no" title="statement not covered" > timer = setTimeout(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
519
- <span class="cstat-no" title="statement not covered" > timer = null;</span>
520
- <span class="cstat-no" title="statement not covered" > fn.apply(this, arguments);</span>
521
- }, ms);
522
- };
523
- }
487
+ import { NavLinkContainer, NavLinkInline, NavLinkDrawer } from '../Links';
488
+ import AnimationGroup from '../AnimationGroup/AnimationGroup';
489
+ import defaultContent from '../UI/default-content';
490
+ import {
491
+ AccountHomeIcon,
492
+ DashboardIcon,
493
+ FacilityBasedPreviewIcon,
494
+ HardshipIcon,
495
+ HelpSupportIcon,
496
+ ManageUsersIcon,
497
+ MyApplicationsIcon,
498
+ MyTestDataIcon,
499
+ PaymentIcon,
500
+ PhysicianCompareIcon,
501
+ StarIcon,
502
+ TargetIcon,
503
+ IndividualReporting,
504
+ } from '../../../lib/SvgComponents';
505
+ import {
506
+ dashboardUrl,
507
+ facilityBasedPreviewBaseUrl,
508
+ feedbackUrl,
509
+ manageUrl,
510
+ physicianCompareUrl,
511
+ reportsPortalUrl,
512
+ submissionsUrl,
513
+ } from '../helpers';
524
514
  &nbsp;
525
- const NotificationBanner = ({ result }) =&gt; {
526
- const {
527
- color = <span class="branch-0 cbranch-no" title="branch not covered" >'blue',</span>
528
- content,
529
- dismissable,
530
- enabled,
531
- label = <span class="branch-0 cbranch-no" title="branch not covered" >'Update',</span>
532
- } = result.content;
515
+ const getIcon = <span class="fstat-no" title="function not covered" >(u</span>rl) =&gt;
516
+ (<span class="cstat-no" title="statement not covered" >{</span>
517
+ [dashboardUrl]: DashboardIcon,
518
+ [feedbackUrl]: StarIcon,
519
+ [manageUrl]: ManageUsersIcon,
520
+ [physicianCompareUrl]: PhysicianCompareIcon,
521
+ [reportsPortalUrl]: HardshipIcon,
522
+ [submissionsUrl]: AccountHomeIcon,
523
+ [facilityBasedPreviewBaseUrl]: FacilityBasedPreviewIcon,
524
+ '/developers': HelpSupportIcon,
525
+ '/resources/help-and-support': HelpSupportIcon,
526
+ '/user/apm-incentive-payments': PaymentIcon,
527
+ '/user/applications': MyApplicationsIcon,
528
+ '/user/exception/#/landing': HardshipIcon,
529
+ '/user/targeted-review/#/landing': TargetIcon,
530
+ '/user/test-data': MyTestDataIcon,
531
+ '/user/self-nomination/#/landing': IndividualReporting,
532
+ '/user/reviewers': DashboardIcon,
533
+ '/reviewer/exception': HardshipIcon,
534
+ '/reviewer/targeted-review': TargetIcon,
535
+ '/self-nomination': IndividualReporting,
536
+ }[url] || null);
533
537
  &nbsp;
534
- const bannerContainerRef = useRef(null);
535
- const collapsedWrapperRef = useRef(null);
536
- const collapsedBannerRef = useRef(null);
537
- const VIEW_BREAKPOINT = 767;
538
- const [height, setHeight] = useState('100%');
539
- const [expanded, setExpanded] = useState();
540
- const [windowWidth, setWindowWidth] = useState(window.innerWidth);
541
- const cssDeterminesBannerView = expanded ? 'expanded' : 'collapsed';
538
+ const LevelOneContent = ({
539
+ isExpanded,
540
+ config: { linkCallback, useTooltips } = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
541
+ levelOneContent,
542
+ }) =&gt; {
543
+ let {
544
+ qpp_has_authorizations,
545
+ user_has_apm_payments,
546
+ qpp_is_dev_pre,
547
+ qpp_ehr_authorized,
548
+ qpp_has_non_registry_authorizations,
549
+ qpp_auth_token,
550
+ qpp_cms_internal_authorized,
551
+ qpp_can_impersonate,
552
+ } = cookie.parse(document.cookie);
542
553
  &nbsp;
543
- useEffect(() =&gt; {
544
- //setBannerHeight on Load &amp; Resize
545
- setBannerHeight();
554
+ let name = '';
555
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (qpp_auth_token) {
556
+ const { firstName, lastName } = jwtDecode(qpp_auth_token);
557
+ name = `${firstName} ${lastName}`;
558
+ }
546
559
  &nbsp;
547
- <span class="missing-if-branch" title="if path not taken" >I</span>if (window.innerWidth &lt;= VIEW_BREAKPOINT) {
548
- <span class="cstat-no" title="statement not covered" > setExpanded(false);</span>
549
- }
560
+ const canImpersonate = qpp_can_impersonate === 'true';
561
+ const hasAuthorizations = qpp_has_authorizations === 'true';
562
+ const hasApmPayments = user_has_apm_payments === 'true';
563
+ const isDevPre = qpp_is_dev_pre === 'true';
564
+ const internalReviewerNames = JSON.parse(
565
+ qpp_cms_internal_authorized || 'null'
566
+ );
567
+ const ehrAuthorized = qpp_ehr_authorized === 'true';
568
+ const hasNonRegistryAuthorizations =
569
+ qpp_has_non_registry_authorizations === 'true';
550
570
  &nbsp;
551
- const debounceBrowserResizeHandler = debounce(<span class="fstat-no" title="function not covered" >()</span> =&gt; {
552
- <span class="cstat-no" title="statement not covered" > return setWindowWidth(window.innerWidth);</span>
553
- }, 600);
571
+ const linkClass = isExpanded ? 'link-inline' : <span class="branch-1 cbranch-no" title="branch not covered" >'link-collapsed';</span>
572
+ let content = isDevPre ? <span class="branch-0 cbranch-no" title="branch not covered" >levelOneContent?.devPre </span>: levelOneContent?.default;
573
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (
574
+ (internalReviewerNames || []).some(
575
+ <span class="fstat-no" title="function not covered" > (n</span>ame) =&gt;
576
+ <span class="cstat-no" title="statement not covered" > name === 'QPP Self-Nomination' ||</span>
577
+ name === 'QPP Targeted Review &amp; Exceptions'
578
+ )
579
+ ) {
580
+ <span class="cstat-no" title="statement not covered" > content =</span>
581
+ levelOneContent?.internalReviewers || defaultContent.internalReviewers;
582
+ }
554
583
  &nbsp;
555
- window.addEventListener('resize', debounceBrowserResizeHandler);
584
+ // Mapping side nav link urls to the conditions that determine their inclusion in the side nav
585
+ const urlConditionMap = {
586
+ [dashboardUrl]: hasAuthorizations,
587
+ [feedbackUrl]: hasAuthorizations,
588
+ '/user/apm-incentive-payments': hasApmPayments,
589
+ [physicianCompareUrl]: hasNonRegistryAuthorizations,
590
+ [reportsPortalUrl]: hasAuthorizations,
591
+ [facilityBasedPreviewBaseUrl]: hasAuthorizations,
592
+ '/user/helpdesk-viewing-tool': canImpersonate,
556
593
  &nbsp;
557
- return () =&gt; {
558
- window.removeEventListener('resize', debounceBrowserResizeHandler);
559
- };
560
- }, [windowWidth]);
594
+ '/reviewer/exception': (internalReviewerNames || []).includes(
595
+ 'QPP Targeted Review &amp; Exceptions'
596
+ ),
597
+ '/reviewer/targeted-review': (internalReviewerNames || []).includes(
598
+ 'QPP Targeted Review &amp; Exceptions'
599
+ ),
600
+ '/self-nomination': (internalReviewerNames || []).includes(
601
+ 'QPP Self-Nomination'
602
+ ),
561
603
  &nbsp;
562
- useEffect(() =&gt; {
563
- // setExpanded =&gt; updates cssDeterminesBannerView
564
- <span class="missing-if-branch" title="else path not taken" >E</span>if (Object.keys(result).length &gt; 0) {
565
- setExpanded(isNotificationExpanded());
566
- }
567
- }, [result]);
568
- &nbsp;
569
- const isNotificationExpanded = () =&gt; {
570
- const dateDismissed = new Date(result.content.dateDismissed);
571
- const dateUpdated = new Date(result.content.dateUpdated);
572
- const notDismissed =
573
- (isDateValid(dateUpdated) &amp;&amp;
574
- <span class="branch-1 cbranch-no" title="branch not covered" > isDateValid(dateDismissed) </span>&amp;&amp;
575
- <span class="branch-2 cbranch-no" title="branch not covered" > dateUpdated &gt;= dateDismissed)</span> ||
576
- !isDateValid(dateDismissed);
577
- return notDismissed;
604
+ // dev pre
605
+ '/user/applications': ehrAuthorized,
606
+ '/user/test-data': ehrAuthorized,
578
607
  };
579
608
  &nbsp;
580
- const setBannerHeight = () =&gt; {
581
- <span class="missing-if-branch" title="if path not taken" >I</span>if (content) {
582
- <span class="cstat-no" title="statement not covered" > bannerContainerRef.current.style.transition = 'none';</span>
583
- <span class="cstat-no" title="statement not covered" > expanded</span>
584
- ? collapsedBannerRef.current.setAttribute('tabIndex', '-1')
585
- : collapsedBannerRef.current.setAttribute('tabIndex', ' ');
609
+ const navLinks = content.reduce(<span class="fstat-no" title="function not covered" >(a</span>cc, link) =&gt; {
610
+ const { url, label, className, listOfLinks, ...rest } = <span class="cstat-no" title="statement not covered" >link;</span>
586
611
  &nbsp;
587
- <span class="cstat-no" title="statement not covered" > setHeight(</span>
588
- expanded ? '100%' : `${collapsedWrapperRef.current.offsetHeight}px`
589
- );
612
+ // Any links failing the corresponding condition in the urlConditionMap are skipped
613
+ <span class="cstat-no" title="statement not covered" > if (url in urlConditionMap &amp;&amp; !urlConditionMap[url]) {</span>
614
+ <span class="cstat-no" title="statement not covered" > return acc;</span>
590
615
  }
591
- };
592
- &nbsp;
593
- /**
594
- * Whether the date is valid, i.e. not null
595
- *
596
- * @param {Date} date
597
- * @return {Boolean}
598
- */
599
- &nbsp;
600
- const isDateValid = (date) =&gt; {
601
- return !isNaN(Date.parse(date));
602
- };
603
- /**
604
- * Try to find this NotificationBanner instance in localStorage, or else add
605
- * a minimal version of it, and mark it with a dateDismissed, then update
606
- * localStorage.
607
- */
608
616
  &nbsp;
609
- const markNotificationClosed = <span class="fstat-no" title="function not covered" >()</span> =&gt; {
610
- const dateDismissed = <span class="cstat-no" title="statement not covered" >new Date().toISOString();</span>
611
- const storageNotification = <span class="cstat-no" title="statement not covered" >result || {};</span>
617
+ const IconComponent = <span class="cstat-no" title="statement not covered" >getIcon(url);</span>
618
+ const Icon = <span class="cstat-no" title="statement not covered" >IconComponent ? &lt;IconComponent /&gt; : null;</span>
619
+ const sharedProps = <span class="cstat-no" title="statement not covered" >{</span>
620
+ url,
621
+ label,
622
+ linkCallback,
623
+ className: className ? `${linkClass} ${className}` : linkClass,
624
+ };
612
625
  &nbsp;
613
- <span class="cstat-no" title="statement not covered" > if (storageNotification &amp;&amp; Object.keys(storageNotification).length &gt; 0) {</span>
614
- <span class="cstat-no" title="statement not covered" > window.localStorage.setItem(</span>
615
- 'notifications',
616
- JSON.stringify({
617
- ...storageNotification,
618
- content: {
619
- ...storageNotification.content,
620
- dateDismissed,
621
- },
622
- })
626
+ const { pathname, hash } = <span class="cstat-no" title="statement not covered" >window.location;</span>
627
+ const filteredListOfLinks = <span class="cstat-no" title="statement not covered" >(listOfLinks || []).filter(<span class="fstat-no" title="function not covered" >(s</span>ublink) =&gt; {</span>
628
+ <span class="cstat-no" title="statement not covered" > return !(sublink.url in urlConditionMap &amp;&amp; !urlConditionMap[sublink.url]);</span>
629
+ });
630
+ <span class="cstat-no" title="statement not covered" > if (</span>
631
+ filteredListOfLinks?.length &gt; 0 &amp;&amp;
632
+ (pathname === url ||
633
+ filteredListOfLinks.some(
634
+ <span class="fstat-no" title="function not covered" > (s</span>ublink) =&gt;
635
+ <span class="cstat-no" title="statement not covered" > pathname === sublink.url || `${pathname}${hash}` === sublink.url</span>
636
+ ))
637
+ ) {
638
+ <span class="cstat-no" title="statement not covered" > acc.push(</span>
639
+ &lt;NavLinkDrawer
640
+ key={`nav-drawer-${url}-${label}`}
641
+ leftIcon={Icon}
642
+ listOfLinks={filteredListOfLinks}
643
+ isExpanded={isExpanded}
644
+ staticDrawer={false}
645
+ openByDefault
646
+ isAlwaysOpen
647
+ {...sharedProps}
648
+ {...rest}
649
+ /&gt;
623
650
  );
624
651
  } else {
625
- <span class="cstat-no" title="statement not covered" > window.localStorage.setItem(</span>
626
- 'notifications',
627
- JSON.stringify({
628
- ...storageNotification,
629
- content: {
630
- name: 'header-notification',
631
- dateDismissed,
632
- },
633
- })
652
+ <span class="cstat-no" title="statement not covered" > acc.push(</span>
653
+ &lt;NavLinkInline
654
+ key={`nav-link-${url}-${label}`}
655
+ icon={Icon}
656
+ useTooltips={useTooltips}
657
+ showLabel={isExpanded}
658
+ {...sharedProps}
659
+ {...rest}
660
+ /&gt;
634
661
  );
635
662
  }
636
- };
637
- &nbsp;
638
- /**
639
- * Callback when the user dimisses a notification. Mark it as dismissed in
640
- * localStorage, empty the contents, and dispatch a custom event to notify
641
- * any observers that it has been dismissed.
642
- */
643
- &nbsp;
644
- const collapseNotification = <span class="fstat-no" title="function not covered" >(e</span>) =&gt; {
645
- <span class="cstat-no" title="statement not covered" > e.stopPropagation();</span>
646
- <span class="cstat-no" title="statement not covered" > markNotificationClosed();</span>
647
- <span class="cstat-no" title="statement not covered" > collapsedBannerRef.current.setAttribute('tabIndex', ' ');</span>
648
- <span class="cstat-no" title="statement not covered" > bannerContainerRef.current.style.transition = 'height .2s ease-out';</span>
649
- &nbsp;
650
- <span class="cstat-no" title="statement not covered" > setExpanded(false);</span>
651
- <span class="cstat-no" title="statement not covered" > setHeight(`${collapsedWrapperRef.current.offsetHeight}px`);</span>
652
- };
653
- &nbsp;
654
- const expandNotification = <span class="fstat-no" title="function not covered" >()</span> =&gt; {
655
- <span class="cstat-no" title="statement not covered" > collapsedBannerRef.current.setAttribute('tabIndex', '-1');</span>
656
- <span class="cstat-no" title="statement not covered" > bannerContainerRef.current.style.transition = 'height .2s ease-out';</span>
657
- <span class="cstat-no" title="statement not covered" > setExpanded(true);</span>
658
- <span class="cstat-no" title="statement not covered" > setHeight('100%');</span>
659
- };
660
- &nbsp;
661
- /**
662
- * Render the notification if it has any contents.
663
- *
664
- * @return {String} HTML content
665
- */
663
+ <span class="cstat-no" title="statement not covered" > return acc;</span>
664
+ }, []);
666
665
  &nbsp;
667
666
  return (
668
- &lt;&gt;
669
- {!content || <span class="branch-1 cbranch-no" title="branch not covered" >!enabled </span>? (
670
- &lt;div id="notification-banner" /&gt;
671
- ) : (
672
- <span class="branch-1 cbranch-no" title="branch not covered" > &lt;div</span>
673
- ref={bannerContainerRef}
674
- style={{ height }}
675
- className={`notification-banner notification-banner-${color} ${cssDeterminesBannerView}`}
676
- &gt;
677
- &lt;ExpandedView
678
- label={label}
679
- expanded={expanded}
680
- content={content}
681
- dismissable={dismissable}
682
- collapseNotification={collapseNotification}
683
- /&gt;
684
- &nbsp;
685
- &lt;CollapsedView
686
- expandNotification={expandNotification}
687
- label={label}
688
- ref={{ collapsedWrapperRef, collapsedBannerRef }}
689
- /&gt;
690
- &lt;/div&gt;
691
- )}
692
- &lt;/&gt;
667
+ &lt;div className="sidebar-content"&gt;
668
+ &lt;AnimationGroup display={isExpanded}&gt;
669
+ &lt;h1 className="label"&gt;{name}&lt;/h1&gt;
670
+ &lt;/AnimationGroup&gt;
671
+ &lt;div className="level-one-nav animation-flat"&gt;
672
+ &lt;NavLinkContainer listOfLinks={navLinks} /&gt;
673
+ &lt;/div&gt;
674
+ &lt;/div&gt;
693
675
  );
694
676
  };
695
677
  &nbsp;
696
- NotificationBanner.propTypes = {
697
- result: PropTypes.shape({
698
- content: PropTypes.shape({
699
- color: PropTypes.string,
700
- content: PropTypes.string,
701
- dateDismissed: PropTypes.string,
702
- dateUpdated: PropTypes.string,
703
- dismissable: PropTypes.bool,
704
- enabled: PropTypes.bool,
705
- label: PropTypes.string,
706
- }),
678
+ LevelOneContent.propTypes = {
679
+ isExpanded: PropTypes.bool,
680
+ config: PropTypes.object,
681
+ levelOneContent: PropTypes.shape({
682
+ default: PropTypes.arrayOf(PropTypes.object),
683
+ devPre: PropTypes.arrayOf(PropTypes.object),
684
+ viewer: PropTypes.arrayOf(PropTypes.object),
685
+ internalReviewers: PropTypes.arrayOf(PropTypes.object),
707
686
  }),
708
687
  };
709
688
  &nbsp;
710
- NotificationBanner.defaultProps = {
711
- result: {
712
- content: {
713
- color: 'blue',
714
- content: null,
715
- dismissable: true,
716
- enabled: true,
717
- label: 'Update',
718
- },
719
- },
720
- };
721
- &nbsp;
722
- export default withGetConfig(NotificationBanner, {
723
- timeout: 5,
724
- url: '/config/notification',
725
- localStorageName: 'active_notification',
726
- equalityCheckExclude: ['dateDismissed', 'dateUpdated'],
727
- defaultContent: {},
728
- });
689
+ export default LevelOneContent;
729
690
  &nbsp;</pre></td></tr></table></pre>
730
691
 
731
692
  <div class='push'></div><!-- for sticky footer -->
@@ -733,16 +694,16 @@ export default withGetConfig(NotificationBanner, {
733
694
  <div class='footer quiet pad2 space-top1 center small'>
734
695
  Code coverage generated by
735
696
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
736
- at Thu Feb 02 2023 11:23:00 GMT-0800 (Pacific Standard Time)
697
+ at Fri Apr 29 2022 13:58:50 GMT-0400 (Eastern Daylight Time)
737
698
  </div>
738
- <script src="../../prettify.js"></script>
699
+ <script src="../../../prettify.js"></script>
739
700
  <script>
740
701
  window.onload = function () {
741
702
  prettyPrint();
742
703
  };
743
704
  </script>
744
- <script src="../../sorter.js"></script>
745
- <script src="../../block-navigation.js"></script>
705
+ <script src="../../../sorter.js"></script>
706
+ <script src="../../../block-navigation.js"></script>
746
707
  </body>
747
708
  </html>
748
709