qpp-style 9.28.4 → 9.29.0

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 (224) hide show
  1. package/components/SideNav/Content/SelectRole/utils.js +22 -13
  2. package/components/SideNav/Links/NavLinkDrawer.jsx +35 -33
  3. package/components/SideNav/UI/SideNavUI.jsx +7 -2
  4. package/components/SideNav/UI/default-markup.js +4 -0
  5. package/components/SideNav/helpers.js +4 -1
  6. package/coverage/clover.xml +692 -720
  7. package/coverage/coverage-final.json +69 -73
  8. package/coverage/lcov-report/Tooltip.jsx.html +232 -0
  9. package/coverage/lcov-report/components/Accordion/index.html +21 -21
  10. package/coverage/lcov-report/components/Accordion/index.jsx.html +37 -37
  11. package/coverage/lcov-report/components/{SideNav/Chart → Button}/index.html +30 -45
  12. package/coverage/lcov-report/components/Button/index.js.html +355 -0
  13. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +1 -1
  14. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +1 -1
  15. package/coverage/lcov-report/components/Error/index.html +1 -1
  16. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +184 -358
  17. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +11 -11
  18. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +11 -11
  19. package/coverage/lcov-report/components/Footer/index.html +29 -44
  20. package/coverage/lcov-report/components/{SideNav/UI → GovBanner}/index.html +27 -42
  21. package/coverage/lcov-report/components/GovBanner/index.js.html +436 -0
  22. package/coverage/lcov-report/components/{SideNav/Links/NavLinkInline.jsx.html → Header/HeaderAccountMenu.jsx.html} +118 -157
  23. package/coverage/lcov-report/components/{SideNav/Details/IndividualDetails.jsx.html → Header/HeaderCancel.jsx.html} +18 -24
  24. package/coverage/lcov-report/components/Header/HeaderContainer.jsx.html +307 -0
  25. package/coverage/lcov-report/components/Header/HeaderLogo.jsx.html +211 -0
  26. package/coverage/lcov-report/components/{SideNav/Links/NavItemInline.jsx.html → Header/HeaderMenuButton.js.html} +63 -75
  27. package/coverage/lcov-report/components/{SideNav/Content/LevelTwoContent.jsx.html → Header/HeaderMenuItem.jsx.html} +305 -236
  28. package/coverage/lcov-report/components/Header/HeaderMenuLink.js.html +253 -0
  29. package/coverage/lcov-report/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  30. package/coverage/lcov-report/components/{SideNav/Links/NavLinkToggle.jsx.html → Header/HeaderMobileButton.js.html} +54 -45
  31. package/coverage/lcov-report/components/{Footer/LegacyFooterUI.jsx.html → Header/HeaderUI.jsx.html} +210 -291
  32. package/coverage/lcov-report/components/Header/HelpIcon.jsx.html +181 -0
  33. package/coverage/lcov-report/components/Header/ImpersonatorBanner.jsx.html +328 -0
  34. package/coverage/lcov-report/components/{SideNav/AnimationGroup/AnimationGroup.jsx.html → Header/NavigationButtonIcon.jsx.html} +48 -48
  35. package/coverage/lcov-report/components/Header/hooks.js.html +283 -0
  36. package/coverage/lcov-report/components/Header/index.html +326 -0
  37. package/coverage/lcov-report/components/{SideNav/Links/index.js.html → Header/utag-helpers.js.html} +28 -40
  38. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +2 -2
  39. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +5 -5
  40. package/coverage/lcov-report/components/Infotip/index.html +1 -1
  41. package/coverage/lcov-report/components/Infotip/index.js.html +1 -1
  42. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +1 -1
  43. package/coverage/lcov-report/components/Modal/Modal.jsx.html +37 -37
  44. package/coverage/lcov-report/components/Modal/index.html +32 -32
  45. package/coverage/lcov-report/components/Modal/index.jsx.html +15 -15
  46. package/coverage/lcov-report/components/{SideNav/Links/NavLinkContainer.jsx.html → NotificationBanner/CollapsedView.js.html} +61 -58
  47. package/coverage/lcov-report/components/{SideNav/Details/PracticeDetails.jsx.html → NotificationBanner/ExpandedView.js.html} +64 -64
  48. package/coverage/lcov-report/components/{SideNav/Details → NotificationBanner}/index.html +46 -46
  49. package/coverage/lcov-report/components/{SideNav/Content/LevelOneContent.jsx.html → NotificationBanner/index.js.html} +281 -242
  50. package/coverage/lcov-report/components/SanitizedContent/index.html +1 -1
  51. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +5 -5
  52. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +111 -111
  53. package/coverage/lcov-report/components/SideNav/{AnimationGroup → Content/SelectRole}/index.html +30 -30
  54. package/coverage/lcov-report/components/SideNav/Content/SelectRole/utils.js.html +505 -0
  55. package/coverage/lcov-report/components/SideNav/helpers.js.html +910 -10
  56. package/coverage/lcov-report/components/SideNav/index.html +17 -17
  57. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +8 -8
  58. package/coverage/lcov-report/components/Tooltip/index.html +1 -1
  59. package/coverage/lcov-report/components/Tooltip/index.js.html +1 -1
  60. package/coverage/lcov-report/components/Tooltip/position.js.html +1 -1
  61. package/coverage/lcov-report/components/hooks/index.html +5 -5
  62. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +18 -15
  63. package/coverage/lcov-report/components/index.html +21 -21
  64. package/coverage/lcov-report/index.html +133 -148
  65. package/coverage/lcov-report/{components/SideNav/UI/index.js.html → index.js.html} +12 -12
  66. package/coverage/lcov-report/lib/Chevron.jsx.html +2 -2
  67. package/coverage/lcov-report/lib/SvgComponents.jsx.html +552 -54
  68. package/coverage/lcov-report/lib/index.html +19 -34
  69. package/coverage/lcov-report/position.js.html +289 -0
  70. package/coverage/lcov-report/react/components/Accordion/index.html +5 -5
  71. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +17 -5
  72. package/coverage/lcov-report/react/components/Button/index.html +1 -1
  73. package/coverage/lcov-report/react/components/Button/index.js.html +1 -1
  74. package/coverage/lcov-report/react/components/Dropdown/index.html +1 -1
  75. package/coverage/lcov-report/react/components/Dropdown/index.js.html +1 -1
  76. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
  77. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
  78. package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
  79. package/coverage/lcov-report/react/components/Error/index.html +1 -1
  80. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +32 -20
  81. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +1 -1
  82. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +1 -1
  83. package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
  84. package/coverage/lcov-report/react/components/Footer/index.html +1 -1
  85. package/coverage/lcov-report/react/components/GovBanner/index.html +21 -21
  86. package/coverage/lcov-report/react/components/GovBanner/index.js.html +16 -16
  87. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +28 -253
  88. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +1 -1
  89. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +64 -37
  90. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +17 -17
  91. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +1 -1
  92. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +55 -55
  93. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +1 -1
  94. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +1 -1
  95. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +15 -15
  96. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +109 -109
  97. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +11 -11
  98. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +25 -28
  99. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +1 -1
  100. package/coverage/lcov-report/react/components/Header/header.js.html +1 -1
  101. package/coverage/lcov-report/react/components/Header/hooks.js.html +86 -44
  102. package/coverage/lcov-report/react/components/Header/index.html +104 -104
  103. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +1 -1
  104. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +8 -20
  105. package/coverage/lcov-report/{components/SideNav/Links/CmsSwitchLink.jsx.html → react/components/Infotip/InfotipContent.jsx.html} +62 -47
  106. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +1 -1
  107. package/coverage/lcov-report/react/components/Infotip/index.html +19 -4
  108. package/coverage/lcov-report/react/components/Infotip/index.js.html +1 -1
  109. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +1 -1
  110. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +1 -1
  111. package/coverage/lcov-report/react/components/Modal/index.html +1 -1
  112. package/coverage/lcov-report/react/components/Modal/index.jsx.html +1 -1
  113. package/coverage/lcov-report/react/components/NotificationBanner/CollapsedView.js.html +49 -28
  114. package/coverage/lcov-report/react/components/NotificationBanner/ExpandedView.js.html +2 -2
  115. package/coverage/lcov-report/react/components/NotificationBanner/index.html +27 -27
  116. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +82 -82
  117. package/coverage/lcov-report/react/components/SanitizedContent/index.html +21 -21
  118. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +60 -27
  119. package/coverage/lcov-report/react/components/SessionDialog/index.html +1 -1
  120. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +1 -1
  121. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +1 -1
  122. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +1 -1
  123. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +1 -1
  124. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +1 -1
  125. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +1 -1
  126. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +2 -2
  127. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +20 -470
  128. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +1 -1
  129. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.html +19 -19
  130. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.js.html +9 -6
  131. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/utils.js.html +60 -24
  132. package/coverage/lcov-report/react/components/SideNav/Content/index.html +21 -36
  133. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +3 -6
  134. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +1 -1
  135. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +1 -1
  136. package/coverage/lcov-report/react/components/SideNav/Details/index.html +1 -1
  137. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +1 -1
  138. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +1 -1
  139. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +1 -1
  140. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +18 -18
  141. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +102 -45
  142. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +5 -11
  143. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +1 -1
  144. package/coverage/lcov-report/react/components/SideNav/Links/index.html +29 -29
  145. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +1 -1
  146. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +74 -179
  147. package/coverage/lcov-report/react/components/SideNav/UI/index.html +17 -17
  148. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +1 -1
  149. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +262 -64
  150. package/coverage/lcov-report/react/components/SideNav/index.html +21 -21
  151. package/coverage/lcov-report/react/components/SideNav/index.js.html +2 -8
  152. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +42 -159
  153. package/coverage/lcov-report/react/components/Tooltip/index.html +9 -9
  154. package/coverage/lcov-report/react/components/Tooltip/index.js.html +1 -1
  155. package/coverage/lcov-report/react/components/Tooltip/position.js.html +20 -20
  156. package/coverage/lcov-report/react/components/hooks/index.html +21 -21
  157. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +52 -52
  158. package/coverage/lcov-report/react/components/index.html +1 -1
  159. package/coverage/lcov-report/react/index.html +1 -1
  160. package/coverage/lcov-report/react/index.js.html +1 -1
  161. package/coverage/lcov-report/react/lib/Chevron.jsx.html +2 -2
  162. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +473 -65
  163. package/coverage/lcov-report/react/lib/index.html +19 -34
  164. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +1 -1
  165. package/coverage/lcov-report/react/session/index.html +11 -11
  166. package/coverage/lcov-report/react/session/index.js.html +1 -1
  167. package/coverage/lcov-report/react/session/logout.js.html +15 -6
  168. package/coverage/lcov-report/react/session/refresh.js.html +1 -1
  169. package/coverage/lcov-report/react/session/ttl.js.html +1 -1
  170. package/coverage/lcov-report/session/index.html +43 -43
  171. package/coverage/lcov-report/session/index.js.html +1 -1
  172. package/coverage/lcov-report/session/logout.js.html +54 -45
  173. package/coverage/lcov-report/session/refresh.js.html +34 -34
  174. package/coverage/lcov-report/session/ttl.js.html +29 -29
  175. package/coverage/lcov.info +1189 -1328
  176. package/dist/browser.js +1 -1
  177. package/dist/browser.js.map +1 -1
  178. package/dist/index.js +1 -1
  179. package/dist/index.js.map +1 -1
  180. package/dist/react/index.js +1 -1
  181. package/dist/react/index.js.LICENSE.txt +9 -12
  182. package/dist/react/index.js.map +1 -1
  183. package/package.json +1 -1
  184. package/storybook-static/229.630347465201d1822126.manager.bundle.js +1 -0
  185. package/storybook-static/295.aa3c5122636a27ad7c7b.manager.bundle.js +1 -0
  186. package/storybook-static/468.d976c69e47003b4dcfa3.manager.bundle.js +2 -0
  187. package/storybook-static/468.d976c69e47003b4dcfa3.manager.bundle.js.LICENSE.txt +94 -0
  188. package/storybook-static/51.fc4b02f2a75c894ae64e.manager.bundle.js +2 -0
  189. package/storybook-static/51.fc4b02f2a75c894ae64e.manager.bundle.js.LICENSE.txt +8 -0
  190. package/storybook-static/551.45aead073703cc6fb12b.manager.bundle.js +1 -0
  191. package/storybook-static/807.1a7f4dcf15e4696572ca.manager.bundle.js +2 -0
  192. package/storybook-static/807.1a7f4dcf15e4696572ca.manager.bundle.js.LICENSE.txt +31 -0
  193. package/storybook-static/897.9b5fee8cc7074607c812.manager.bundle.js +2 -0
  194. package/storybook-static/897.9b5fee8cc7074607c812.manager.bundle.js.LICENSE.txt +12 -0
  195. package/storybook-static/935.532759f0652585685af7.manager.bundle.js +1 -0
  196. package/storybook-static/favicon.ico +0 -0
  197. package/storybook-static/index.html +59 -0
  198. package/storybook-static/main.ad4edcd27d527a119d7a.manager.bundle.js +1 -0
  199. package/storybook-static/project.json +1 -0
  200. package/storybook-static/runtime~main.b165398bf7ef3e30d431.manager.bundle.js +1 -0
  201. package/components/SideNav/UI/default-content.json +0 -117
  202. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +0 -889
  203. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +0 -94
  204. package/coverage/lcov-report/components/SideNav/Content/index.html +0 -146
  205. package/coverage/lcov-report/components/SideNav/Content/index.js.html +0 -97
  206. package/coverage/lcov-report/components/SideNav/Details/index.js.html +0 -97
  207. package/coverage/lcov-report/components/SideNav/Links/NavLinkDrawer.jsx.html +0 -832
  208. package/coverage/lcov-report/components/SideNav/Links/index.html +0 -206
  209. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +0 -1084
  210. package/coverage/lcov-report/lib/svg-definitions.svg.html +0 -460
  211. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +0 -667
  212. package/styles/components/_footer.scss +0 -593
  213. package/styles/components/_header.scss +0 -890
  214. package/styles/components/_sidebar.scss +0 -8
  215. package/styles/components/sidebar/_animations.scss +0 -38
  216. package/styles/components/sidebar/_cms.scss +0 -61
  217. package/styles/components/sidebar/_details.scss +0 -58
  218. package/styles/components/sidebar/_links.scss +0 -415
  219. package/styles/components/sidebar/_sidebar-animation.scss +0 -121
  220. package/styles/components/sidebar/_sidebar-tooltip.scss +0 -33
  221. package/styles/components/sidebar/_sidebar.scss +0 -141
  222. package/styles/components/sidebar/project-specific/_wi.scss +0 -42
  223. package/styles/qppds/components/_infotip-content.scss +0 -47
  224. package/styles/qppds/components/_spinner.scss +0 -46
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">69.33% </span>
26
+ <span class="strong">43.29% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>52/75</span>
28
+ <span class='fraction'>42/97</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">34.48% </span>
33
+ <span class="strong">10.25% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>10/29</span>
35
+ <span class='fraction'>4/39</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">53.33% </span>
40
+ <span class="strong">17.39% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/15</span>
42
+ <span class='fraction'>4/23</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">71.23% </span>
47
+ <span class="strong">44.21% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>52/73</span>
49
+ <span class='fraction'>42/95</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 medium'></div>
64
+ <div class='status-line low'></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>
@@ -387,7 +387,75 @@
387
387
  <a name='L322'></a><a href='#L322'>322</a>
388
388
  <a name='L323'></a><a href='#L323'>323</a>
389
389
  <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
459
  <span class="cline-any cline-neutral">&nbsp;</span>
392
460
  <span class="cline-any cline-neutral">&nbsp;</span>
393
461
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -415,6 +483,7 @@
415
483
  <span class="cline-any cline-yes">3x</span>
416
484
  <span class="cline-any cline-yes">3x</span>
417
485
  <span class="cline-any cline-yes">3x</span>
486
+ <span class="cline-any cline-yes">3x</span>
418
487
  <span class="cline-any cline-neutral">&nbsp;</span>
419
488
  <span class="cline-any cline-yes">3x</span>
420
489
  <span class="cline-any cline-no">&nbsp;</span>
@@ -476,6 +545,8 @@
476
545
  <span class="cline-any cline-neutral">&nbsp;</span>
477
546
  <span class="cline-any cline-neutral">&nbsp;</span>
478
547
  <span class="cline-any cline-neutral">&nbsp;</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
550
  <span class="cline-any cline-no">&nbsp;</span>
480
551
  <span class="cline-any cline-no">&nbsp;</span>
481
552
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -489,18 +560,21 @@
489
560
  <span class="cline-any cline-neutral">&nbsp;</span>
490
561
  <span class="cline-any cline-neutral">&nbsp;</span>
491
562
  <span class="cline-any cline-neutral">&nbsp;</span>
563
+ <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span>
565
+ <span class="cline-any cline-neutral">&nbsp;</span>
492
566
  <span class="cline-any cline-yes">3x</span>
493
567
  <span class="cline-any cline-neutral">&nbsp;</span>
494
568
  <span class="cline-any cline-neutral">&nbsp;</span>
495
569
  <span class="cline-any cline-neutral">&nbsp;</span>
496
570
  <span class="cline-any cline-neutral">&nbsp;</span>
497
571
  <span class="cline-any cline-yes">3x</span>
498
- <span class="cline-any cline-yes">1x</span>
499
- <span class="cline-any cline-yes">1x</span>
572
+ <span class="cline-any cline-no">&nbsp;</span>
573
+ <span class="cline-any cline-no">&nbsp;</span>
500
574
  <span class="cline-any cline-neutral">&nbsp;</span>
501
575
  <span class="cline-any cline-neutral">&nbsp;</span>
502
576
  <span class="cline-any cline-neutral">&nbsp;</span>
503
- <span class="cline-any cline-yes">1x</span>
577
+ <span class="cline-any cline-no">&nbsp;</span>
504
578
  <span class="cline-any cline-neutral">&nbsp;</span>
505
579
  <span class="cline-any cline-neutral">&nbsp;</span>
506
580
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -512,7 +586,7 @@
512
586
  <span class="cline-any cline-neutral">&nbsp;</span>
513
587
  <span class="cline-any cline-neutral">&nbsp;</span>
514
588
  <span class="cline-any cline-neutral">&nbsp;</span>
515
- <span class="cline-any cline-yes">1x</span>
589
+ <span class="cline-any cline-no">&nbsp;</span>
516
590
  <span class="cline-any cline-neutral">&nbsp;</span>
517
591
  <span class="cline-any cline-neutral">&nbsp;</span>
518
592
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -523,14 +597,14 @@
523
597
  <span class="cline-any cline-neutral">&nbsp;</span>
524
598
  <span class="cline-any cline-neutral">&nbsp;</span>
525
599
  <span class="cline-any cline-yes">3x</span>
526
- <span class="cline-any cline-yes">1x</span>
527
- <span class="cline-any cline-yes">1x</span>
528
- <span class="cline-any cline-yes">1x</span>
600
+ <span class="cline-any cline-no">&nbsp;</span>
601
+ <span class="cline-any cline-no">&nbsp;</span>
602
+ <span class="cline-any cline-no">&nbsp;</span>
529
603
  <span class="cline-any cline-neutral">&nbsp;</span>
530
604
  <span class="cline-any cline-neutral">&nbsp;</span>
531
- <span class="cline-any cline-yes">1x</span>
532
- <span class="cline-any cline-yes">1x</span>
533
- <span class="cline-any cline-yes">1x</span>
605
+ <span class="cline-any cline-no">&nbsp;</span>
606
+ <span class="cline-any cline-no">&nbsp;</span>
607
+ <span class="cline-any cline-no">&nbsp;</span>
534
608
  <span class="cline-any cline-neutral">&nbsp;</span>
535
609
  <span class="cline-any cline-no">&nbsp;</span>
536
610
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -541,8 +615,8 @@
541
615
  <span class="cline-any cline-neutral">&nbsp;</span>
542
616
  <span class="cline-any cline-neutral">&nbsp;</span>
543
617
  <span class="cline-any cline-yes">3x</span>
544
- <span class="cline-any cline-yes">1x</span>
545
- <span class="cline-any cline-yes">1x</span>
618
+ <span class="cline-any cline-no">&nbsp;</span>
619
+ <span class="cline-any cline-no">&nbsp;</span>
546
620
  <span class="cline-any cline-neutral">&nbsp;</span>
547
621
  <span class="cline-any cline-neutral">&nbsp;</span>
548
622
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -556,6 +630,7 @@
556
630
  <span class="cline-any cline-yes">1x</span>
557
631
  <span class="cline-any cline-yes">1x</span>
558
632
  <span class="cline-any cline-yes">1x</span>
633
+ <span class="cline-any cline-yes">1x</span>
559
634
  <span class="cline-any cline-no">&nbsp;</span>
560
635
  <span class="cline-any cline-neutral">&nbsp;</span>
561
636
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -565,6 +640,14 @@
565
640
  <span class="cline-any cline-neutral">&nbsp;</span>
566
641
  <span class="cline-any cline-neutral">&nbsp;</span>
567
642
  <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-yes">1x</span>
645
+ <span class="cline-any cline-no">&nbsp;</span>
646
+ <span class="cline-any cline-no">&nbsp;</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-no">&nbsp;</span>
649
+ <span class="cline-any cline-neutral">&nbsp;</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
651
  <span class="cline-any cline-yes">1x</span>
569
652
  <span class="cline-any cline-neutral">&nbsp;</span>
570
653
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -581,8 +664,8 @@
581
664
  <span class="cline-any cline-neutral">&nbsp;</span>
582
665
  <span class="cline-any cline-neutral">&nbsp;</span>
583
666
  <span class="cline-any cline-neutral">&nbsp;</span>
584
- <span class="cline-any cline-yes">1x</span>
585
- <span class="cline-any cline-yes">1x</span>
667
+ <span class="cline-any cline-no">&nbsp;</span>
668
+ <span class="cline-any cline-no">&nbsp;</span>
586
669
  <span class="cline-any cline-neutral">&nbsp;</span>
587
670
  <span class="cline-any cline-neutral">&nbsp;</span>
588
671
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -642,16 +725,16 @@
642
725
  <span class="cline-any cline-neutral">&nbsp;</span>
643
726
  <span class="cline-any cline-neutral">&nbsp;</span>
644
727
  <span class="cline-any cline-yes">3x</span>
645
- <span class="cline-any cline-yes">1x</span>
646
- <span class="cline-any cline-yes">1x</span>
647
- <span class="cline-any cline-yes">1x</span>
648
- <span class="cline-any cline-yes">1x</span>
728
+ <span class="cline-any cline-no">&nbsp;</span>
729
+ <span class="cline-any cline-no">&nbsp;</span>
730
+ <span class="cline-any cline-no">&nbsp;</span>
731
+ <span class="cline-any cline-no">&nbsp;</span>
649
732
  <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-yes">1x</span>
733
+ <span class="cline-any cline-no">&nbsp;</span>
651
734
  <span class="cline-any cline-no">&nbsp;</span>
652
735
  <span class="cline-any cline-neutral">&nbsp;</span>
653
736
  <span class="cline-any cline-neutral">&nbsp;</span>
654
- <span class="cline-any cline-yes">1x</span>
737
+ <span class="cline-any cline-no">&nbsp;</span>
655
738
  <span class="cline-any cline-neutral">&nbsp;</span>
656
739
  <span class="cline-any cline-neutral">&nbsp;</span>
657
740
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -660,7 +743,10 @@
660
743
  <span class="cline-any cline-neutral">&nbsp;</span>
661
744
  <span class="cline-any cline-neutral">&nbsp;</span>
662
745
  <span class="cline-any cline-yes">3x</span>
663
- <span class="cline-any cline-yes">1x</span>
746
+ <span class="cline-any cline-no">&nbsp;</span>
747
+ <span class="cline-any cline-neutral">&nbsp;</span>
748
+ <span class="cline-any cline-neutral">&nbsp;</span>
749
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
750
  <span class="cline-any cline-neutral">&nbsp;</span>
665
751
  <span class="cline-any cline-neutral">&nbsp;</span>
666
752
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -678,18 +764,62 @@
678
764
  <span class="cline-any cline-neutral">&nbsp;</span>
679
765
  <span class="cline-any cline-neutral">&nbsp;</span>
680
766
  <span class="cline-any cline-neutral">&nbsp;</span>
767
+ <span class="cline-any cline-no">&nbsp;</span>
768
+ <span class="cline-any cline-neutral">&nbsp;</span>
769
+ <span class="cline-any cline-neutral">&nbsp;</span>
770
+ <span class="cline-any cline-neutral">&nbsp;</span>
771
+ <span class="cline-any cline-neutral">&nbsp;</span>
772
+ <span class="cline-any cline-neutral">&nbsp;</span>
773
+ <span class="cline-any cline-neutral">&nbsp;</span>
774
+ <span class="cline-any cline-neutral">&nbsp;</span>
681
775
  <span class="cline-any cline-neutral">&nbsp;</span>
682
776
  <span class="cline-any cline-neutral">&nbsp;</span>
683
777
  <span class="cline-any cline-neutral">&nbsp;</span>
684
778
  <span class="cline-any cline-neutral">&nbsp;</span>
685
779
  <span class="cline-any cline-neutral">&nbsp;</span>
780
+ <span class="cline-any cline-yes">3x</span>
781
+ <span class="cline-any cline-no">&nbsp;</span>
782
+ <span class="cline-any cline-no">&nbsp;</span>
783
+ <span class="cline-any cline-no">&nbsp;</span>
784
+ <span class="cline-any cline-neutral">&nbsp;</span>
785
+ <span class="cline-any cline-neutral">&nbsp;</span>
786
+ <span class="cline-any cline-neutral">&nbsp;</span>
686
787
  <span class="cline-any cline-neutral">&nbsp;</span>
687
788
  <span class="cline-any cline-neutral">&nbsp;</span>
688
789
  <span class="cline-any cline-yes">3x</span>
790
+ <span class="cline-any cline-neutral">&nbsp;</span>
791
+ <span class="cline-any cline-yes">2x</span>
792
+ <span class="cline-any cline-yes">2x</span>
793
+ <span class="cline-any cline-neutral">&nbsp;</span>
794
+ <span class="cline-any cline-neutral">&nbsp;</span>
795
+ <span class="cline-any cline-yes">1x</span>
796
+ <span class="cline-any cline-yes">1x</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-neutral">&nbsp;</span>
799
+ <span class="cline-any cline-neutral">&nbsp;</span>
800
+ <span class="cline-any cline-no">&nbsp;</span>
801
+ <span class="cline-any cline-neutral">&nbsp;</span>
802
+ <span class="cline-any cline-neutral">&nbsp;</span>
803
+ <span class="cline-any cline-no">&nbsp;</span>
804
+ <span class="cline-any cline-no">&nbsp;</span>
805
+ <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-no">&nbsp;</span>
807
+ <span class="cline-any cline-neutral">&nbsp;</span>
808
+ <span class="cline-any cline-neutral">&nbsp;</span>
809
+ <span class="cline-any cline-neutral">&nbsp;</span>
689
810
  <span class="cline-any cline-no">&nbsp;</span>
811
+ <span class="cline-any cline-neutral">&nbsp;</span>
812
+ <span class="cline-any cline-neutral">&nbsp;</span>
690
813
  <span class="cline-any cline-no">&nbsp;</span>
814
+ <span class="cline-any cline-neutral">&nbsp;</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-yes">1x</span>
817
+ <span class="cline-any cline-yes">1x</span>
691
818
  <span class="cline-any cline-no">&nbsp;</span>
692
819
  <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-yes">1x</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
693
823
  <span class="cline-any cline-neutral">&nbsp;</span>
694
824
  <span class="cline-any cline-yes">3x</span>
695
825
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -711,6 +841,8 @@
711
841
  <span class="cline-any cline-neutral">&nbsp;</span>
712
842
  <span class="cline-any cline-neutral">&nbsp;</span>
713
843
  <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-neutral">&nbsp;</span>
845
+ <span class="cline-any cline-neutral">&nbsp;</span>
714
846
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import cookie from 'cookie';
715
847
  import {
716
848
  AccountHomeIcon,
@@ -728,7 +860,9 @@ import {
728
860
  IndividualReporting,
729
861
  ManageDocumentsIcon,
730
862
  AuthorContentIcon,
863
+ RegistrationIcon,
731
864
  } from '../../lib/SvgComponents';
865
+ import { isReviewerRole } from './Content/SelectRole/utils';
732
866
  &nbsp;
733
867
  const submissionsUrl = '/user/submissions';
734
868
  const dashboardUrl = '/user/dashboard';
@@ -739,6 +873,7 @@ const reportsPortalUrl = `${submissionsUrl}/reports`;
739
873
  const facilityBasedPreviewBaseUrl = `${submissionsUrl}/facility-based-preview`;
740
874
  const viewingToolUrl = '/user/helpdesk-viewing-tool';
741
875
  const contentMgrDashboardUrl = '/user/content-management';
876
+ const registrationUrl = '/user/registration/';
742
877
  &nbsp;
743
878
  const performanceFeedbackUrl = <span class="fstat-no" title="function not covered" >(p</span>erformanceYear) =&gt; {
744
879
  <span class="cstat-no" title="statement not covered" > if (performanceYear) {</span>
@@ -783,6 +918,7 @@ const getIcon = <span class="fstat-no" title="function not covered" >(u</span>rl
783
918
  [reportsPortalUrl]: HardshipIcon,
784
919
  [submissionsUrl]: AccountHomeIcon,
785
920
  [facilityBasedPreviewBaseUrl]: FacilityBasedPreviewIcon,
921
+ [registrationUrl]: RegistrationIcon,
786
922
  '/developers': HelpSupportIcon,
787
923
  '/resources/help-and-support': HelpSupportIcon,
788
924
  '/user/apm-incentive-payments': PaymentIcon,
@@ -795,6 +931,7 @@ const getIcon = <span class="fstat-no" title="function not covered" >(u</span>rl
795
931
  '/reviewer/exception': HardshipIcon,
796
932
  '/reviewer/targeted-review': TargetIcon,
797
933
  '/self-nomination': IndividualReporting,
934
+ '/case-management': FacilityBasedPreviewIcon,
798
935
  [contentMgrDashboardUrl]: AccountHomeIcon,
799
936
  'Manage Documents': ManageDocumentsIcon,
800
937
  'Author Content': AuthorContentIcon,
@@ -811,6 +948,9 @@ const singleRoleContentMap = {
811
948
  'QPP Front-end - Author': 'contentManager',
812
949
  'QPP Self-Nomination': 'internalReviewers',
813
950
  'QPP Targeted Review &amp; Exceptions': 'internalReviewers',
951
+ 'QPP Case Management - PIMMS Reviewer': 'internalReviewers',
952
+ 'QPP Case Management - ACO PAC Reviewer': 'internalReviewers',
953
+ 'QPP Case Management - CMS Reviewer': 'internalReviewers',
814
954
  };
815
955
  &nbsp;
816
956
  const multiRoleContentMap = {
@@ -818,13 +958,13 @@ const multiRoleContentMap = {
818
958
  'Content Manager': 'contentManager',
819
959
  };
820
960
  &nbsp;
821
- const replaceDefaultContentMgrLinks = (defaultContent) =&gt; {
822
- const host = window.location.host;
823
- const updatedDefaultContent = {
961
+ const replaceDefaultContentMgrLinks = <span class="fstat-no" title="function not covered" >(d</span>efaultContent) =&gt; {
962
+ const host = <span class="cstat-no" title="statement not covered" >window.location.host;</span>
963
+ const updatedDefaultContent = <span class="cstat-no" title="statement not covered" >{</span>
824
964
  ...defaultContent,
825
965
  contentManager: [
826
966
  defaultContent.contentManager.find(
827
- (obj) =&gt; obj.label === 'Dashboard Home'
967
+ <span class="fstat-no" title="function not covered" > (o</span>bj) =&gt; <span class="cstat-no" title="statement not covered" >obj.label === 'Dashboard Home'</span>
828
968
  ),
829
969
  {
830
970
  url: `${host}.qpp.cms.gov/cm/`,
@@ -836,25 +976,25 @@ const replaceDefaultContentMgrLinks = (defaultContent) =&gt; {
836
976
  },
837
977
  ],
838
978
  };
839
- return updatedDefaultContent;
979
+ <span class="cstat-no" title="statement not covered" > return updatedDefaultContent;</span>
840
980
  };
841
981
  &nbsp;
842
982
  /**
843
983
  * Load the side nav content for the given role
844
- * @param {sting} roleName role of given user from internalReviewerNames
984
+ * @param {string} roleName role of given user from internalReviewerNames
845
985
  * @param {object} navContent object of side nav links by role (levelOneContent &amp; defaultContent)
846
986
  * @returns {array} returns an array of objects (side nav menu links) from levelOneContent
847
987
  * || defaultContent
848
988
  */
849
- const loadSideNavContent = (roleName, navContent, isMultiRoleUser = false) =&gt; {
850
- const { levelOneContent, defaultContent } = navContent;
851
- const updatedDefaultContent = replaceDefaultContentMgrLinks(defaultContent);
852
- const roleContentMap = isMultiRoleUser
853
- ? <span class="branch-0 cbranch-no" title="branch not covered" >multiRoleContentMap</span>
989
+ const loadSideNavContent = <span class="fstat-no" title="function not covered" >(r</span>oleName, navContent, isMultiRoleUser = <span class="branch-0 cbranch-no" title="branch not covered" >false)</span> =&gt; {
990
+ const { levelOneContent, defaultContent } = <span class="cstat-no" title="statement not covered" >navContent;</span>
991
+ const updatedDefaultContent = <span class="cstat-no" title="statement not covered" >replaceDefaultContentMgrLinks(defaultContent);</span>
992
+ const roleContentMap = <span class="cstat-no" title="statement not covered" >isMultiRoleUser</span>
993
+ ? multiRoleContentMap
854
994
  : singleRoleContentMap;
855
- const contentByRole = roleContentMap[roleName];
856
- <span class="missing-if-branch" title="else path not taken" >E</span>if (levelOneContent) {
857
- return levelOneContent[contentByRole] || levelOneContent.default;
995
+ const contentByRole = <span class="cstat-no" title="statement not covered" >roleContentMap[roleName];</span>
996
+ <span class="cstat-no" title="statement not covered" > if (levelOneContent) {</span>
997
+ <span class="cstat-no" title="statement not covered" > return levelOneContent[contentByRole] || levelOneContent.default;</span>
858
998
  }
859
999
  <span class="cstat-no" title="statement not covered" > return updatedDefaultContent[contentByRole] || updatedDefaultContent.default;</span>
860
1000
  };
@@ -864,10 +1004,10 @@ const loadSideNavContent = (roleName, navContent, isMultiRoleUser = false) =&gt;
864
1004
  * @param {string} docCookie document cookie
865
1005
  * @returns {boolean}
866
1006
  */
867
- const isImpersonating = (docCookie) =&gt; {
868
- const parsedCookies = cookie.parse(docCookie);
869
- return (
870
- parsedCookies.qpp_can_impersonate &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >parsedCookies.qpp_impersonated_user</span>
1007
+ const isImpersonating = <span class="fstat-no" title="function not covered" >(d</span>ocCookie) =&gt; {
1008
+ const parsedCookies = <span class="cstat-no" title="statement not covered" >cookie.parse(docCookie);</span>
1009
+ <span class="cstat-no" title="statement not covered" > return (</span>
1010
+ parsedCookies.qpp_can_impersonate &amp;&amp; parsedCookies.qpp_impersonated_user
871
1011
  );
872
1012
  };
873
1013
  &nbsp;
@@ -877,6 +1017,7 @@ const isImpersonating = (docCookie) =&gt; {
877
1017
  * @returns {boolean}
878
1018
  */
879
1019
  const isMultiRoleUser = (docCookie) =&gt; {
1020
+ const activeRoles = new Set();
880
1021
  const { qpp_cms_internal_authorized } = cookie.parse(docCookie);
881
1022
  let internalAuthz = [];
882
1023
  <span class="missing-if-branch" title="if path not taken" >I</span>if (qpp_cms_internal_authorized) {
@@ -889,7 +1030,15 @@ const isMultiRoleUser = (docCookie) =&gt; {
889
1030
  internalAuth !== 'Test internalCms Resource 2'
890
1031
  );
891
1032
  });
892
- return filteredInternalAuthz.length &gt; 1;
1033
+ &nbsp;
1034
+ filteredInternalAuthz.forEach(<span class="fstat-no" title="function not covered" >(e</span>lement) =&gt; {
1035
+ <span class="cstat-no" title="statement not covered" > if (isReviewerRole(element)) {</span>
1036
+ <span class="cstat-no" title="statement not covered" > return activeRoles.add('reviewer');</span>
1037
+ }
1038
+ <span class="cstat-no" title="statement not covered" > return activeRoles.add(element);</span>
1039
+ });
1040
+ &nbsp;
1041
+ return activeRoles.size &gt; 1;
893
1042
  };
894
1043
  &nbsp;
895
1044
  /**
@@ -897,7 +1046,7 @@ const isMultiRoleUser = (docCookie) =&gt; {
897
1046
  * @param {object} cookies parsed document.cookie values
898
1047
  * @returns {object}
899
1048
  */
900
- const transformCookieValues = (cookies) =&gt; {
1049
+ const transformCookieValues = <span class="fstat-no" title="function not covered" >(c</span>ookies) =&gt; {
901
1050
  const {
902
1051
  qpp_can_impersonate,
903
1052
  qpp_has_authorizations,
@@ -905,13 +1054,13 @@ const transformCookieValues = (cookies) =&gt; {
905
1054
  qpp_cms_internal_authorized,
906
1055
  qpp_ehr_authorized,
907
1056
  qpp_has_non_registry_authorizations,
908
- } = cookies;
909
- return {
1057
+ } = <span class="cstat-no" title="statement not covered" >cookies;</span>
1058
+ <span class="cstat-no" title="statement not covered" > return {</span>
910
1059
  canImpersonate: qpp_can_impersonate === 'true',
911
1060
  hasAuthorizations: qpp_has_authorizations === 'true',
912
1061
  hasApmPayments: user_has_apm_payments === 'true',
913
1062
  internalReviewerNames: qpp_cms_internal_authorized
914
- ? <span class="branch-0 cbranch-no" title="branch not covered" >JSON.parse(qpp_cms_internal_authorized)</span>
1063
+ ? JSON.parse(qpp_cms_internal_authorized)
915
1064
  : [],
916
1065
  ehrAuthorized: qpp_ehr_authorized === 'true',
917
1066
  hasNonRegistryAuthorizations:
@@ -965,17 +1114,17 @@ const loadUserPermissionsByRole = <span class="fstat-no" title="function not cov
965
1114
  * @param {string} selectedRole string of selected role if user has multiple roles
966
1115
  * @returns {object}
967
1116
  */
968
- const loadUserPermissions = (docCookie, selectedRole) =&gt; {
969
- const parsedCookies = cookie.parse(docCookie);
970
- const permissionValues = transformCookieValues(parsedCookies);
971
- const impersonating = isImpersonating(docCookie);
972
- const role = impersonating ? <span class="branch-0 cbranch-no" title="branch not covered" >'Impersonation' </span>: selectedRole;
1117
+ const loadUserPermissions = <span class="fstat-no" title="function not covered" >(d</span>ocCookie, selectedRole) =&gt; {
1118
+ const parsedCookies = <span class="cstat-no" title="statement not covered" >cookie.parse(docCookie);</span>
1119
+ const permissionValues = <span class="cstat-no" title="statement not covered" >transformCookieValues(parsedCookies);</span>
1120
+ const impersonating = <span class="cstat-no" title="statement not covered" >isImpersonating(docCookie);</span>
1121
+ const role = <span class="cstat-no" title="statement not covered" >impersonating ? 'Impersonation' : selectedRole;</span>
973
1122
  &nbsp;
974
- <span class="missing-if-branch" title="if path not taken" >I</span>if (role) {
1123
+ <span class="cstat-no" title="statement not covered" > if (role) {</span>
975
1124
  <span class="cstat-no" title="statement not covered" > return loadUserPermissionsByRole(role, permissionValues);</span>
976
1125
  }
977
1126
  &nbsp;
978
- return permissionValues;
1127
+ <span class="cstat-no" title="statement not covered" > return permissionValues;</span>
979
1128
  };
980
1129
  &nbsp;
981
1130
  /**
@@ -983,12 +1132,13 @@ const loadUserPermissions = (docCookie, selectedRole) =&gt; {
983
1132
  * @param {object} userPermissions user permissions/properties derived from cookies set on login
984
1133
  * @returns {object}
985
1134
  */
986
- const getUrlConditionMap = (userPermissions) =&gt; {
987
- return {
1135
+ const getUrlConditionMap = <span class="fstat-no" title="function not covered" >(u</span>serPermissions) =&gt; {
1136
+ <span class="cstat-no" title="statement not covered" > return {</span>
988
1137
  [dashboardUrl]: userPermissions.hasAuthorizations,
989
1138
  [feedbackUrl]: userPermissions.hasAuthorizations,
990
1139
  '/user/apm-incentive-payments': userPermissions.hasApmPayments,
991
1140
  [physicianCompareUrl]: userPermissions.hasNonRegistryAuthorizations,
1141
+ [registrationUrl]: userPermissions.hasAuthorizations,
992
1142
  [reportsPortalUrl]: userPermissions.hasAuthorizations,
993
1143
  [facilityBasedPreviewBaseUrl]: userPermissions.hasAuthorizations,
994
1144
  '/user/helpdesk-viewing-tool': userPermissions.canImpersonate,
@@ -1002,6 +1152,14 @@ const getUrlConditionMap = (userPermissions) =&gt; {
1002
1152
  '/self-nomination': userPermissions.internalReviewerNames?.includes(
1003
1153
  'QPP Self-Nomination'
1004
1154
  ),
1155
+ &nbsp;
1156
+ '/case-management': userPermissions.internalReviewerNames?.some(<span class="fstat-no" title="function not covered" >(v</span>al) =&gt;
1157
+ <span class="cstat-no" title="statement not covered" > [</span>
1158
+ 'QPP Case Management - PIMMS Reviewer',
1159
+ 'QPP Case Management - ACO PAC Reviewer',
1160
+ 'QPP Case Management - CMS Reviewer',
1161
+ ].includes(val)
1162
+ ),
1005
1163
  &nbsp;
1006
1164
  // dev pre
1007
1165
  '/user/applications': userPermissions.ehrAuthorized,
@@ -1015,12 +1173,51 @@ const isImpersonationLink = <span class="fstat-no" title="function not covered"
1015
1173
  <span class="cstat-no" title="statement not covered" > return !helpdeskLinks.includes(linkLabel);</span>
1016
1174
  };
1017
1175
  &nbsp;
1176
+ /**
1177
+ * Set SideNav expanded state as qpp_side_nav_expanded in localStorage
1178
+ */
1179
+ const sideNavExpandedStorage = {
1180
+ isNullOrUndefined: function () {
1181
+ const sideNavExpandedValue = localStorage.getItem('qpp_side_nav_expanded');
1182
+ return sideNavExpandedValue === null || <span class="branch-1 cbranch-no" title="branch not covered" >sideNavExpandedValue === undefined;</span>
1183
+ },
1184
+ init: function () {
1185
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.isNullOrUndefined()) {
1186
+ localStorage.setItem('qpp_side_nav_expanded', true);
1187
+ }
1188
+ },
1189
+ toggle: <span class="fstat-no" title="function not covered" >fu</span>nction () {
1190
+ const isSideNavExpanded = <span class="cstat-no" title="statement not covered" >JSON.parse(</span>
1191
+ localStorage.getItem('qpp_side_nav_expanded')
1192
+ );
1193
+ <span class="cstat-no" title="statement not covered" > if (!isSideNavExpanded) {</span>
1194
+ <span class="cstat-no" title="statement not covered" > localStorage.setItem('qpp_side_nav_expanded', true);</span>
1195
+ } else {
1196
+ <span class="cstat-no" title="statement not covered" > localStorage.setItem('qpp_side_nav_expanded', false);</span>
1197
+ }
1198
+ },
1199
+ get: <span class="fstat-no" title="function not covered" >fu</span>nction () {
1200
+ <span class="cstat-no" title="statement not covered" > return JSON.parse(localStorage.getItem('qpp_side_nav_expanded'));</span>
1201
+ },
1202
+ remove: <span class="fstat-no" title="function not covered" >fu</span>nction () {
1203
+ <span class="cstat-no" title="statement not covered" > localStorage.removeItem('qpp_side_nav_expanded');</span>
1204
+ },
1205
+ setDefault: function () {
1206
+ let defaultValue = true;
1207
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.isNullOrUndefined()) {
1208
+ <span class="cstat-no" title="statement not covered" > defaultValue = this.get();</span>
1209
+ }
1210
+ return defaultValue;
1211
+ },
1212
+ };
1213
+ &nbsp;
1018
1214
  module.exports = {
1019
1215
  submissionsUrl,
1020
1216
  dashboardUrl,
1021
1217
  feedbackUrl,
1022
1218
  manageUrl,
1023
1219
  physicianCompareUrl,
1220
+ registrationUrl,
1024
1221
  performanceFeedbackUrl,
1025
1222
  facilityBasedPreviewUrl,
1026
1223
  handleNavigation,
@@ -1034,6 +1231,7 @@ module.exports = {
1034
1231
  isImpersonating,
1035
1232
  isImpersonationLink,
1036
1233
  loadSideNavContent,
1234
+ sideNavExpandedStorage,
1037
1235
  };
1038
1236
  &nbsp;</pre></td></tr></table></pre>
1039
1237
 
@@ -1042,7 +1240,7 @@ module.exports = {
1042
1240
  <div class='footer quiet pad2 space-top1 center small'>
1043
1241
  Code coverage generated by
1044
1242
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1045
- at Thu Sep 01 2022 16:32:55 GMT-0400 (Eastern Daylight Time)
1243
+ at Mon May 22 2023 12:14:17 GMT-0400 (Eastern Daylight Time)
1046
1244
  </div>
1047
1245
  <script src="../../../prettify.js"></script>
1048
1246
  <script>