qpp-style 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. package/.eslintrc.js +28 -28
  2. package/.husky/pre-commit +5 -0
  3. package/README.md +45 -0
  4. package/components/Accordion/index.jsx +35 -43
  5. package/components/Alert/index.js +53 -0
  6. package/components/Breadcrumb/Breadcrumb.md +28 -0
  7. package/components/Breadcrumb/index.js +69 -11
  8. package/components/Button/index.js +90 -0
  9. package/components/CalloutBox/index.js +109 -0
  10. package/components/Card/index.js +137 -0
  11. package/components/Details/DetailsIcons.js +50 -0
  12. package/components/Details/index.js +53 -0
  13. package/components/Dropdown/index.js +85 -0
  14. package/components/DropdownButton/Menu.js +25 -0
  15. package/components/DropdownButton/MenuButton.js +41 -0
  16. package/components/DropdownButton/MenuItem.js +25 -0
  17. package/components/DropdownButton/MenuItemLink.js +27 -0
  18. package/components/Error/Collapsible.jsx +2 -2
  19. package/components/Footer/FooterUI.jsx +175 -177
  20. package/components/Footer/footer.js +2 -12
  21. package/components/GovBanner/index.js +117 -0
  22. package/components/Header/HeaderAccountMenu.jsx +63 -234
  23. package/components/Header/HeaderCancel.jsx +5 -10
  24. package/components/Header/HeaderContainer.jsx +74 -0
  25. package/components/Header/HeaderLogo.jsx +42 -0
  26. package/components/Header/HeaderMenuButton.js +50 -0
  27. package/components/Header/HeaderMenuItem.jsx +239 -0
  28. package/components/Header/HeaderMenuLink.js +56 -0
  29. package/components/Header/HeaderMenuSignOutButton.js +62 -0
  30. package/components/Header/HeaderMobileButton.js +37 -0
  31. package/components/Header/HeaderUI.jsx +130 -361
  32. package/components/Header/HelpIcon.jsx +32 -0
  33. package/components/Header/ImpersonatorBanner.jsx +81 -0
  34. package/components/Header/default-content.json +158 -87
  35. package/components/Header/header.js +2 -0
  36. package/components/Header/hooks.js +66 -0
  37. package/components/Header/utag-helpers.js +9 -0
  38. package/components/Infotip/Infotip.jsx +6 -10
  39. package/components/Infotip/InfotipContent.jsx +46 -0
  40. package/components/Infotip/InfotipIcon.jsx +3 -3
  41. package/components/Link/index.js +61 -0
  42. package/components/Modal/LegacyModal.jsx +72 -0
  43. package/components/Modal/Modal.jsx +140 -0
  44. package/components/Modal/index.jsx +13 -63
  45. package/components/NotificationBanner/CollapsedView.js +39 -0
  46. package/components/NotificationBanner/ExpandedView.js +45 -0
  47. package/components/NotificationBanner/index.js +219 -30
  48. package/components/Search/index.js +98 -0
  49. package/components/SessionDialog/sessionDialog.js +26 -0
  50. package/components/SessionDialogUI.jsx +34 -26
  51. package/components/SideNav/AnimationGroup/AnimationGroup.jsx +10 -4
  52. package/components/SideNav/Chart/ScoreChart.jsx +81 -109
  53. package/components/SideNav/Chart/__tests__/ScoreChart.test.js +3 -12
  54. package/components/SideNav/Chart/__tests__/__snapshots__/ScoreChart.test.js.snap +144 -35
  55. package/components/SideNav/Chart/index.js +1 -1
  56. package/components/SideNav/Content/LevelOneContent.jsx +146 -258
  57. package/components/SideNav/Content/LevelTwoContent.jsx +6 -4
  58. package/components/SideNav/Content/SelectRole/index.js +77 -0
  59. package/components/SideNav/Content/SelectRole/utils.js +140 -0
  60. package/components/SideNav/Details/PracticeDetails.jsx +4 -0
  61. package/components/SideNav/Links/CmsSwitchLink.jsx +1 -1
  62. package/components/SideNav/Links/NavLinkContainer.jsx +29 -34
  63. package/components/SideNav/Links/NavLinkDrawer.jsx +192 -124
  64. package/components/SideNav/Links/NavLinkInline.jsx +7 -2
  65. package/components/SideNav/Links/NavLinkToggle.jsx +1 -1
  66. package/components/SideNav/SideNav.md +28 -27
  67. package/components/SideNav/UI/SideNavUI.jsx +198 -268
  68. package/components/SideNav/UI/default-content.json +117 -0
  69. package/components/SideNav/helpers.js +316 -4
  70. package/components/Tabs/TabPanel.js +5 -0
  71. package/components/Tabs/Tabs.js +73 -0
  72. package/components/TextInput/index.js +137 -0
  73. package/components/hooks/useGetConfig.js +75 -0
  74. package/components/index.js +106 -9
  75. package/coverage/clover.xml +1194 -748
  76. package/coverage/coverage-final.json +72 -50
  77. package/coverage/lcov-report/block-navigation.js +8 -0
  78. package/coverage/lcov-report/components/Accordion/index.html +26 -21
  79. package/coverage/lcov-report/components/Accordion/index.jsx.html +106 -131
  80. package/coverage/lcov-report/{SideNav/Chart → components/Button}/index.html +29 -24
  81. package/coverage/lcov-report/{Error/Collapsible.jsx.html → components/Button/index.js.html} +125 -114
  82. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +92 -87
  83. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +32 -33
  84. package/coverage/lcov-report/components/Error/index.html +11 -6
  85. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +200 -189
  86. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +24 -61
  87. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +18 -13
  88. package/coverage/lcov-report/components/Footer/index.html +35 -45
  89. package/coverage/lcov-report/components/{InfoModal → GovBanner}/index.html +27 -22
  90. package/coverage/lcov-report/components/{InfoModal/index.jsx.html → GovBanner/index.js.html} +157 -122
  91. package/coverage/lcov-report/components/Header/HeaderAccountMenu.jsx.html +93 -520
  92. package/coverage/lcov-report/components/Header/HeaderCancel.jsx.html +19 -23
  93. package/coverage/lcov-report/components/Header/HeaderContainer.jsx.html +280 -0
  94. package/coverage/lcov-report/components/Header/HeaderLogo.jsx.html +211 -0
  95. package/coverage/lcov-report/components/Header/HeaderMenuButton.js.html +235 -0
  96. package/coverage/lcov-report/components/{Footer/LegacyFooterUI.jsx.html → Header/HeaderMenuItem.jsx.html} +334 -200
  97. package/coverage/lcov-report/components/Header/HeaderMenuLink.js.html +253 -0
  98. package/coverage/lcov-report/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  99. package/coverage/lcov-report/components/Header/HeaderMobileButton.js.html +196 -0
  100. package/coverage/lcov-report/components/Header/HeaderUI.jsx.html +176 -756
  101. package/coverage/lcov-report/components/Header/HelpIcon.jsx.html +181 -0
  102. package/coverage/lcov-report/{Accordion/index.jsx.html → components/Header/ImpersonatorBanner.jsx.html} +109 -167
  103. package/coverage/lcov-report/components/Header/NavigationButtonIcon.jsx.html +24 -19
  104. package/coverage/lcov-report/components/Header/hooks.js.html +283 -0
  105. package/coverage/lcov-report/components/Header/index.html +203 -33
  106. package/coverage/lcov-report/components/{SideNav/Links/index.js.html → Header/utag-helpers.js.html} +35 -42
  107. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +53 -48
  108. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +37 -32
  109. package/coverage/lcov-report/components/Infotip/index.html +8 -3
  110. package/coverage/lcov-report/components/Infotip/index.js.html +8 -3
  111. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +301 -0
  112. package/coverage/lcov-report/components/Modal/Modal.jsx.html +505 -0
  113. package/coverage/lcov-report/components/Modal/index.html +146 -0
  114. package/coverage/lcov-report/components/{SideNav/Details/IndividualDetails.jsx.html → Modal/index.jsx.html} +50 -42
  115. package/coverage/lcov-report/components/NotificationBanner/CollapsedView.js.html +202 -0
  116. package/coverage/lcov-report/components/NotificationBanner/ExpandedView.js.html +220 -0
  117. package/coverage/lcov-report/components/NotificationBanner/index.html +58 -23
  118. package/coverage/lcov-report/components/{SideNav/Content/LevelTwoContent.jsx.html → NotificationBanner/index.js.html} +292 -272
  119. package/coverage/lcov-report/components/SanitizedContent/index.html +8 -3
  120. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +475 -50
  121. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +248 -255
  122. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +272 -408
  123. package/coverage/lcov-report/components/SideNav/Chart/index.html +28 -38
  124. package/coverage/lcov-report/components/SideNav/Content/SelectRole/index.html +116 -0
  125. package/coverage/lcov-report/components/SideNav/Content/SelectRole/utils.js.html +505 -0
  126. package/coverage/lcov-report/components/SideNav/helpers.js.html +987 -46
  127. package/coverage/lcov-report/components/SideNav/index.html +24 -19
  128. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +70 -65
  129. package/coverage/lcov-report/components/Tooltip/index.html +8 -3
  130. package/coverage/lcov-report/components/Tooltip/index.js.html +8 -3
  131. package/coverage/lcov-report/components/Tooltip/position.js.html +57 -64
  132. package/coverage/lcov-report/components/hooks/index.html +116 -0
  133. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +310 -0
  134. package/coverage/lcov-report/components/index.html +10 -5
  135. package/coverage/lcov-report/index.html +249 -154
  136. package/coverage/lcov-report/{Error/ErrorUI.jsx.html → lib/Chevron.jsx.html} +44 -42
  137. package/coverage/lcov-report/lib/SvgComponents.jsx.html +1840 -0
  138. package/coverage/lcov-report/lib/index.html +34 -14
  139. package/coverage/lcov-report/react/components/Accordion/index.html +26 -21
  140. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +106 -131
  141. package/coverage/lcov-report/react/components/{FlashNotification → Button}/index.html +23 -33
  142. package/coverage/lcov-report/{components/SideNav/Links/NavLinkInline.jsx.html → react/components/Button/index.js.html} +119 -120
  143. package/coverage/lcov-report/react/components/{Tabs → Dropdown}/index.html +23 -33
  144. package/coverage/lcov-report/react/components/{InfoModal/index.jsx.html → Dropdown/index.js.html} +103 -155
  145. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +92 -87
  146. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +32 -33
  147. package/coverage/lcov-report/react/components/Error/error.js.html +25 -20
  148. package/coverage/lcov-report/react/components/Error/index.html +11 -6
  149. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +200 -189
  150. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +14 -15
  151. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +18 -13
  152. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +18 -13
  153. package/coverage/lcov-report/react/components/Footer/footer.js.html +12 -34
  154. package/coverage/lcov-report/react/components/Footer/index.html +35 -45
  155. package/coverage/lcov-report/react/components/{InfoModal → GovBanner}/index.html +27 -22
  156. package/coverage/lcov-report/react/components/{Tabs/TabsUI.jsx.html → GovBanner/index.js.html} +146 -153
  157. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +93 -520
  158. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +19 -23
  159. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +307 -0
  160. package/coverage/lcov-report/{components/SideNav/Links/CmsSwitchLink.jsx.html → react/components/Header/HeaderLogo.jsx.html} +64 -53
  161. package/coverage/lcov-report/{components/SideNav/Links/NavItemInline.jsx.html → react/components/Header/HeaderMenuButton.js.html} +64 -71
  162. package/coverage/lcov-report/{components/SideNav/Links/NavLinkDrawer.jsx.html → react/components/Header/HeaderMenuItem.jsx.html} +284 -261
  163. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +253 -0
  164. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  165. package/coverage/lcov-report/{components/SideNav/Links/NavLinkToggle.jsx.html → react/components/Header/HeaderMobileButton.js.html} +58 -41
  166. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +189 -745
  167. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +181 -0
  168. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +331 -0
  169. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +18 -13
  170. package/coverage/lcov-report/react/components/Header/header.js.html +18 -4
  171. package/coverage/lcov-report/react/components/Header/hooks.js.html +283 -0
  172. package/coverage/lcov-report/react/components/Header/index.html +205 -35
  173. package/coverage/lcov-report/react/components/{Spinner/index.js.html → Header/utag-helpers.js.html} +26 -21
  174. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +53 -48
  175. package/coverage/lcov-report/{components/SideNav/Links/NavLinkContainer.jsx.html → react/components/Infotip/InfotipContent.jsx.html} +83 -60
  176. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +37 -32
  177. package/coverage/lcov-report/react/components/Infotip/index.html +8 -3
  178. package/coverage/lcov-report/react/components/Infotip/index.js.html +8 -3
  179. package/coverage/lcov-report/react/components/{FlashNotification/FlashNotificationUI.jsx.html → Modal/LegacyModal.jsx.html} +89 -84
  180. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +505 -0
  181. package/coverage/lcov-report/react/components/Modal/index.html +52 -17
  182. package/coverage/lcov-report/react/components/Modal/index.jsx.html +38 -201
  183. package/coverage/lcov-report/react/components/{Tabs/tabs.js.html → NotificationBanner/CollapsedView.js.html} +61 -47
  184. package/coverage/lcov-report/{components/SideNav/Details/PracticeDetails.jsx.html → react/components/NotificationBanner/ExpandedView.js.html} +74 -57
  185. package/coverage/lcov-report/react/components/NotificationBanner/index.html +58 -23
  186. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +615 -43
  187. package/coverage/lcov-report/react/components/SanitizedContent/index.html +8 -3
  188. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +478 -53
  189. package/coverage/lcov-report/react/components/{Spinner → SessionDialog}/index.html +11 -6
  190. package/coverage/lcov-report/react/components/{FlashNotification/index.js.html → SessionDialog/sessionDialog.js.html} +35 -42
  191. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +248 -255
  192. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +53 -18
  193. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +18 -13
  194. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +272 -402
  195. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +28 -23
  196. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +9 -4
  197. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +190 -521
  198. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +23 -12
  199. package/coverage/lcov-report/{components/SideNav/Details → react/components/SideNav/Content/SelectRole}/index.html +42 -52
  200. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.js.html +316 -0
  201. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/utils.js.html +505 -0
  202. package/coverage/lcov-report/react/components/SideNav/Content/index.html +32 -27
  203. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +8 -3
  204. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +20 -24
  205. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +54 -37
  206. package/coverage/lcov-report/react/components/SideNav/Details/index.html +23 -18
  207. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +8 -3
  208. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +9 -4
  209. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +8 -3
  210. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +56 -57
  211. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +351 -142
  212. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +60 -40
  213. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +9 -4
  214. package/coverage/lcov-report/react/components/SideNav/Links/index.html +44 -39
  215. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +8 -3
  216. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +243 -433
  217. package/coverage/lcov-report/react/components/SideNav/UI/index.html +28 -23
  218. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +8 -3
  219. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +958 -17
  220. package/coverage/lcov-report/react/components/SideNav/index.html +27 -22
  221. package/coverage/lcov-report/react/components/SideNav/index.js.html +8 -3
  222. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +70 -65
  223. package/coverage/lcov-report/react/components/Tooltip/index.html +8 -3
  224. package/coverage/lcov-report/react/components/Tooltip/index.js.html +8 -3
  225. package/coverage/lcov-report/react/components/Tooltip/position.js.html +57 -64
  226. package/coverage/lcov-report/{components/SideNav/AnimationGroup → react/components/hooks}/index.html +29 -24
  227. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +310 -0
  228. package/coverage/lcov-report/react/components/index.html +10 -5
  229. package/coverage/lcov-report/react/index.html +20 -15
  230. package/coverage/lcov-report/react/index.js.html +29 -9
  231. package/coverage/lcov-report/react/lib/Chevron.jsx.html +181 -0
  232. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +195 -106
  233. package/coverage/lcov-report/react/lib/index.html +37 -17
  234. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +57 -916
  235. package/coverage/lcov-report/react/session/index.html +32 -27
  236. package/coverage/lcov-report/react/session/index.js.html +8 -3
  237. package/coverage/lcov-report/react/session/logout.js.html +121 -17
  238. package/coverage/lcov-report/react/session/refresh.js.html +11 -6
  239. package/coverage/lcov-report/react/session/ttl.js.html +8 -3
  240. package/coverage/lcov-report/session/index.html +50 -45
  241. package/coverage/lcov-report/session/index.js.html +8 -3
  242. package/coverage/lcov-report/session/logout.js.html +144 -49
  243. package/coverage/lcov-report/session/refresh.js.html +41 -36
  244. package/coverage/lcov-report/session/ttl.js.html +34 -29
  245. package/coverage/lcov-report/sorter.js +26 -0
  246. package/coverage/lcov.info +2427 -1491
  247. package/dist/browser.js +1 -1
  248. package/dist/browser.js.LICENSE.txt +1 -7
  249. package/dist/browser.js.map +1 -1
  250. package/dist/index.js +1 -1
  251. package/dist/index.js.LICENSE.txt +1 -7
  252. package/dist/index.js.map +1 -1
  253. package/dist/react/index.js +1 -1
  254. package/dist/react/index.js.LICENSE.txt +16 -16
  255. package/dist/react/index.js.map +1 -1
  256. package/fonts/PublicSans-Black.ttf +0 -0
  257. package/fonts/PublicSans-BlackItalic.ttf +0 -0
  258. package/fonts/PublicSans-Bold.ttf +0 -0
  259. package/fonts/PublicSans-BoldItalic.ttf +0 -0
  260. package/fonts/PublicSans-ExtraBold.ttf +0 -0
  261. package/fonts/PublicSans-ExtraBoldItalic.ttf +0 -0
  262. package/fonts/PublicSans-ExtraLight.ttf +0 -0
  263. package/fonts/PublicSans-ExtraLightItalic.ttf +0 -0
  264. package/fonts/PublicSans-Italic.ttf +0 -0
  265. package/fonts/PublicSans-Light.ttf +0 -0
  266. package/fonts/PublicSans-LightItalic.ttf +0 -0
  267. package/fonts/PublicSans-Medium.ttf +0 -0
  268. package/fonts/PublicSans-MediumItalic.ttf +0 -0
  269. package/fonts/PublicSans-Regular.ttf +0 -0
  270. package/fonts/PublicSans-SemiBold.ttf +0 -0
  271. package/fonts/PublicSans-SemiBoldItalic.ttf +0 -0
  272. package/fonts/PublicSans-Thin.ttf +0 -0
  273. package/fonts/PublicSans-ThinItalic.ttf +0 -0
  274. package/images/icon-dot-gov.svg +1 -0
  275. package/images/icon-https.svg +1 -0
  276. package/images/icons/close-x.svg +6 -0
  277. package/images/icons/svg/arrow-down.svg +3 -0
  278. package/images/icons/svg/arrow-download.svg +1 -0
  279. package/images/icons/svg/arrow-right.svg +1 -0
  280. package/images/icons/svg/arrow-up.svg +3 -0
  281. package/images/icons/svg/block.svg +5 -0
  282. package/images/icons/svg/calendar.svg +1 -0
  283. package/images/icons/svg/check-circle.svg +5 -0
  284. package/images/icons/svg/checkmark.svg +7 -0
  285. package/images/icons/svg/chevron-down.svg +11 -0
  286. package/images/icons/svg/chevron-left.svg +12 -0
  287. package/images/icons/svg/chevron-right.svg +12 -0
  288. package/images/icons/svg/chevron-up.svg +12 -0
  289. package/images/icons/svg/clipboard.svg +1 -0
  290. package/images/icons/svg/close.svg +1 -0
  291. package/images/icons/svg/divide.svg +13 -0
  292. package/images/icons/svg/doctors-and-clinicians-preview.svg +10 -0
  293. package/images/icons/svg/download.svg +1 -0
  294. package/images/icons/svg/dropdown-arrow.svg +1 -0
  295. package/images/icons/svg/equals.svg +13 -0
  296. package/images/icons/svg/exclamation.svg +11 -0
  297. package/images/icons/svg/external.svg +1 -0
  298. package/images/icons/svg/file-download.svg +1 -0
  299. package/images/icons/svg/file-upload.svg +1 -0
  300. package/images/icons/svg/info.svg +20 -0
  301. package/images/icons/svg/manage-user-access.svg +8 -0
  302. package/images/icons/svg/multiply.svg +12 -0
  303. package/images/icons/svg/performance-feedback.svg +1 -0
  304. package/images/icons/svg/plus.svg +12 -0
  305. package/images/icons/svg/preview.svg +17 -0
  306. package/images/icons/svg/print.svg +1 -0
  307. package/images/icons/svg/registration.svg +8 -0
  308. package/images/icons/svg/reporting.svg +17 -0
  309. package/images/icons/svg/save-disk.svg +5 -0
  310. package/images/icons/svg/search.svg +1 -0
  311. package/images/icons/svg/subtract.svg +15 -0
  312. package/images/icons/svg/targeted-review.svg +15 -0
  313. package/images/icons/svg/tooltip-question.svg +1 -0
  314. package/images/icons/svg/trash.svg +1 -0
  315. package/images/icons/svg/upload.svg +1 -0
  316. package/images/us_flag_small.png +0 -0
  317. package/index.js +5 -0
  318. package/jest.config.js +138 -134
  319. package/lib/Chevron.jsx +32 -0
  320. package/lib/SvgComponents.jsx +197 -49
  321. package/package.json +62 -77
  322. package/session/logout.js +35 -2
  323. package/styles/_global.scss +63 -62
  324. package/styles/_main.scss +6 -0
  325. package/styles/_qpp-style.scss +0 -3
  326. package/styles/components/_accordion.scss +249 -246
  327. package/styles/components/_autocomplete.scss +0 -3
  328. package/styles/components/_modals.scss +9 -9
  329. package/styles/components/_spinner.scss +0 -2
  330. package/styles/components/_tables.scss +77 -67
  331. package/styles/components/_text.scss +102 -102
  332. package/styles/components/_variables.scss +12 -12
  333. package/styles/qppds/base/_backgrounds.scss +7 -0
  334. package/styles/qppds/base/_fonts.scss +24 -0
  335. package/styles/qppds/base/_icon.scss +31 -0
  336. package/styles/qppds/base/_layout.scss +5 -0
  337. package/styles/qppds/base/_typography.scss +78 -44
  338. package/styles/qppds/base/index.scss +4 -5
  339. package/styles/qppds/components/_alert.scss +101 -0
  340. package/styles/qppds/components/_breadcrumbs.scss +42 -6
  341. package/styles/qppds/components/_button.scss +129 -11
  342. package/styles/qppds/components/_card.scss +175 -0
  343. package/styles/qppds/components/_checkbox.scss +199 -0
  344. package/styles/qppds/components/_circular-loader.scss +47 -0
  345. package/styles/qppds/components/_details.scss +90 -0
  346. package/styles/qppds/components/_dropdown-menu.scss +125 -0
  347. package/styles/qppds/components/_dropdown.scss +7 -1
  348. package/styles/qppds/components/_footer.scss +606 -0
  349. package/styles/qppds/components/_gov-banner.scss +344 -0
  350. package/styles/qppds/components/_header.scss +913 -0
  351. package/styles/qppds/components/_link.scss +52 -0
  352. package/styles/qppds/components/_modal.scss +118 -0
  353. package/styles/qppds/components/_page-header.scss +65 -2
  354. package/styles/qppds/components/_pagination.scss +227 -0
  355. package/styles/qppds/components/_process-list.scss +104 -0
  356. package/styles/qppds/components/_radio-button.scss +184 -0
  357. package/styles/qppds/components/_search.scss +118 -0
  358. package/styles/{components → qppds/components}/_sidebar.scss +2 -0
  359. package/styles/qppds/components/_step-indicator.scss +190 -0
  360. package/styles/qppds/components/_table.scss +157 -0
  361. package/styles/qppds/components/_tabs.scss +197 -0
  362. package/styles/qppds/components/_text-input.scss +60 -0
  363. package/styles/qppds/components/index.scss +20 -0
  364. package/styles/{components → qppds/components}/sidebar/_links.scss +48 -1
  365. package/styles/qppds/components/sidebar/_select-role-dropdown.scss +21 -0
  366. package/styles/qppds/components/sidebar/_sidebar-animation.scss +125 -0
  367. package/styles/qppds/components/sidebar/_sidebar.scss +146 -0
  368. package/styles/{components → qppds/components}/sidebar/project-specific/_wi.scss +1 -37
  369. package/styles/qppds/settings/_functions.scss +3 -1
  370. package/styles/qppds/settings/mixins/_borders.scss +6 -0
  371. package/styles/qppds/settings/mixins/_focus.scss +28 -0
  372. package/styles/qppds/settings/mixins/_icons.scss +39 -4
  373. package/styles/qppds/settings/mixins/_index.scss +4 -0
  374. package/styles/qppds/settings/mixins/_layout.scss +46 -7
  375. package/styles/qppds/settings/mixins/_table.scss +91 -0
  376. package/styles/qppds/settings/mixins/_type.scss +89 -0
  377. package/styles/qppds/settings/variables/_color.scss +47 -1
  378. package/styles/qppds/settings/variables/_index.scss +2 -1
  379. package/styles/qppds/settings/variables/_layout.scss +34 -9
  380. package/styles/qppds/settings/variables/_type.scss +41 -0
  381. package/styles/qppds/settings/variables/_z-index.scss +8 -0
  382. package/styles/qppds/utilities/_background-color.scss +4 -0
  383. package/styles/qppds/utilities/_color.scss +28 -0
  384. package/styles/qppds/utilities/{_display-visability.scss → _display-visibility.scss} +8 -0
  385. package/styles/qppds/utilities/_flexbox.scss +113 -0
  386. package/styles/qppds/utilities/_font-family.scss +4 -0
  387. package/styles/qppds/utilities/_gap.scss +38 -0
  388. package/styles/qppds/utilities/_height.scss +79 -0
  389. package/styles/qppds/utilities/_list-style.scss +18 -0
  390. package/styles/qppds/utilities/_position.scss +24 -0
  391. package/styles/qppds/utilities/_text-align.scss +40 -0
  392. package/styles/qppds/utilities/_text-transform.scss +7 -0
  393. package/styles/qppds/utilities/_truncate.scss +5 -5
  394. package/styles/qppds/utilities/_vertical-align.scss +72 -0
  395. package/styles/qppds/utilities/_width.scss +38 -1
  396. package/styles/qppds/utilities/index.scss +8 -2
  397. package/styles/third-party/legacy-bootstrap/_dropdowns.scss +0 -1
  398. package/svgo.config.js +14 -0
  399. package/test/components/Accordion.test.js +4 -13
  400. package/test/components/ErrorUI.test.js +10 -46
  401. package/test/components/FooterUI.test.js +0 -30
  402. package/test/components/HeaderUI.test.js +33 -15
  403. package/test/components/Infotip.test.js +18 -12
  404. package/test/components/SessionDialogUI.test.js +55 -70
  405. package/test/components/SideNavUI.test.js +6 -13
  406. package/test-setup.js +1 -3
  407. package/webpack.config.js +29 -39
  408. package/webpack.config.react.js +7 -18
  409. package/.storybook/.babelrc +0 -4
  410. package/.storybook/main.js +0 -89
  411. package/.storybook/preview-head.html +0 -9
  412. package/.storybook/preview.js +0 -16
  413. package/components/Accordion/Accordion.stories.js +0 -20
  414. package/components/Breadcrumb/Breadcrumb.js +0 -58
  415. package/components/Breadcrumb/Breadcrumb.stories.js +0 -62
  416. package/components/Breadcrumb/LegacyBreadcrumb.js +0 -46
  417. package/components/Footer/Footer.stories.js +0 -22
  418. package/components/Footer/LegacyFooterUI.jsx +0 -194
  419. package/components/Header/Header.stories.js +0 -32
  420. package/components/InfoModal/InfoModal.stories.js +0 -98
  421. package/components/InfoModal/index.jsx +0 -104
  422. package/components/Infotip/Infotip.stories.js +0 -58
  423. package/components/NotificationBanner/NotificationBanner.stories.js +0 -24
  424. package/components/NotificationBanner/NotificationBannerUI.jsx +0 -282
  425. package/components/SideNav/SideNav.stories.js +0 -320
  426. package/components/Spinner/index.js +0 -9
  427. package/components/Tabs/TabsUI.jsx +0 -118
  428. package/components/Tabs/tabs.js +0 -36
  429. package/components/Tooltip/Tooltip.jsx +0 -88
  430. package/components/Tooltip/Tooltip.stories.js +0 -90
  431. package/components/Tooltip/index.js +0 -3
  432. package/components/Tooltip/position.js +0 -68
  433. package/components/UnwrappedSpinner/index.js +0 -8
  434. package/components/UnwrappedTabs/TabPanelUI.jsx +0 -16
  435. package/components/UnwrappedTabs/TabsUI.jsx +0 -82
  436. package/coverage/lcov-report/Accordion/index.html +0 -111
  437. package/coverage/lcov-report/Error/index.html +0 -126
  438. package/coverage/lcov-report/ScoreChart.jsx.html +0 -1025
  439. package/coverage/lcov-report/SideNav/Chart/ScoreChart.jsx.html +0 -1025
  440. package/coverage/lcov-report/components/NotificationBanner/NotificationBannerUI.jsx.html +0 -1010
  441. package/coverage/lcov-report/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +0 -131
  442. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +0 -89
  443. package/coverage/lcov-report/components/SideNav/Content/LevelOneContent.jsx.html +0 -1007
  444. package/coverage/lcov-report/components/SideNav/Content/index.html +0 -141
  445. package/coverage/lcov-report/components/SideNav/Content/index.js.html +0 -92
  446. package/coverage/lcov-report/components/SideNav/Details/index.js.html +0 -92
  447. package/coverage/lcov-report/components/SideNav/Links/index.html +0 -201
  448. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +0 -1298
  449. package/coverage/lcov-report/components/SideNav/UI/index.html +0 -126
  450. package/coverage/lcov-report/components/SideNav/UI/index.js.html +0 -89
  451. package/coverage/lcov-report/lib/svg-definitions.svg.html +0 -1319
  452. package/coverage/lcov-report/react/components/NotificationBanner/NotificationBannerUI.jsx.html +0 -926
  453. package/styles/components/_footer.scss +0 -593
  454. package/styles/components/_header.scss +0 -526
  455. package/styles/components/sidebar/_sidebar-animation.scss +0 -85
  456. package/styles/components/sidebar/_sidebar.scss +0 -141
  457. package/test/components/Tooltip.test.js +0 -147
  458. package/test/components/__snapshots__/Accordion.test.js.snap +0 -11439
  459. /package/styles/{components → qppds/components}/sidebar/_animations.scss +0 -0
  460. /package/styles/{components → qppds/components}/sidebar/_cms.scss +0 -0
  461. /package/styles/{components → qppds/components}/sidebar/_details.scss +0 -0
  462. /package/styles/{components → qppds/components}/sidebar/_sidebar-tooltip.scss +0 -0
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for components/SideNav/Content/LevelTwoContent.jsx</title>
6
+ <title>Code coverage report for components/NotificationBanner/index.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">components/SideNav/Content</a> LevelTwoContent.jsx</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">components/NotificationBanner</a> index.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">17.65% </span>
26
+ <span class="strong">60% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>3/17</span>
28
+ <span class='fraction'>36/60</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">32.14% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/54</span>
35
+ <span class='fraction'>9/28</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">57.14% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/1</span>
42
+ <span class='fraction'>8/14</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">17.65% </span>
47
+ <span class="strong">60% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>3/17</span>
49
+ <span class='fraction'>36/60</span>
50
50
  </div>
51
51
 
52
52
 
@@ -54,8 +54,14 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
- <div class='status-line low'></div>
64
+ <div class='status-line medium'></div>
59
65
  <pre><table class="coverage">
60
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -273,17 +279,12 @@
273
279
  <a name='L214'></a><a href='#L214'>214</a>
274
280
  <a name='L215'></a><a href='#L215'>215</a>
275
281
  <a name='L216'></a><a href='#L216'>216</a>
276
- <a name='L217'></a><a href='#L217'>217</a></td><td class="line-coverage quiet"><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>
284
- <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-neutral">&nbsp;</span>
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>
287
288
  <span class="cline-any cline-neutral">&nbsp;</span>
288
289
  <span class="cline-any cline-neutral">&nbsp;</span>
289
290
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -292,64 +293,77 @@
292
293
  <span class="cline-any cline-neutral">&nbsp;</span>
293
294
  <span class="cline-any cline-neutral">&nbsp;</span>
294
295
  <span class="cline-any cline-yes">1x</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-yes">1x</span>
297
- <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-neutral">&nbsp;</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>
306
300
  <span class="cline-any cline-neutral">&nbsp;</span>
307
301
  <span class="cline-any cline-neutral">&nbsp;</span>
308
302
  <span class="cline-any cline-neutral">&nbsp;</span>
309
303
  <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-yes">1x</span>
310
305
  <span class="cline-any cline-neutral">&nbsp;</span>
311
306
  <span class="cline-any cline-neutral">&nbsp;</span>
312
307
  <span class="cline-any cline-neutral">&nbsp;</span>
313
308
  <span class="cline-any cline-neutral">&nbsp;</span>
314
309
  <span class="cline-any cline-neutral">&nbsp;</span>
315
310
  <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-yes">2x</span>
316
312
  <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>
317
321
  <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-yes">2x</span>
318
323
  <span class="cline-any cline-neutral">&nbsp;</span>
324
+ <span class="cline-any cline-yes">1x</span>
319
325
  <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-no">&nbsp;</span>
326
+ <span class="cline-any cline-yes">1x</span>
321
327
  <span class="cline-any cline-no">&nbsp;</span>
322
328
  <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-no">&nbsp;</span>
324
329
  <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-yes">1x</span>
325
331
  <span class="cline-any cline-no">&nbsp;</span>
326
- <span class="cline-any cline-no">&nbsp;</span>
327
- <span class="cline-any cline-neutral">&nbsp;</span>
328
332
  <span class="cline-any cline-neutral">&nbsp;</span>
329
333
  <span class="cline-any cline-neutral">&nbsp;</span>
334
+ <span class="cline-any cline-yes">1x</span>
330
335
  <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>
331
338
  <span class="cline-any cline-neutral">&nbsp;</span>
332
339
  <span class="cline-any cline-neutral">&nbsp;</span>
333
340
  <span class="cline-any cline-neutral">&nbsp;</span>
341
+ <span class="cline-any cline-yes">2x</span>
334
342
  <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>
335
345
  <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-no">&nbsp;</span>
337
346
  <span class="cline-any cline-neutral">&nbsp;</span>
338
347
  <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-no">&nbsp;</span>
340
- <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>
341
351
  <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-no">&nbsp;</span>
352
+ <span class="cline-any cline-yes">1x</span>
343
353
  <span class="cline-any cline-neutral">&nbsp;</span>
344
354
  <span class="cline-any cline-neutral">&nbsp;</span>
345
355
  <span class="cline-any cline-neutral">&nbsp;</span>
356
+ <span class="cline-any cline-yes">1x</span>
346
357
  <span class="cline-any cline-neutral">&nbsp;</span>
347
358
  <span class="cline-any cline-neutral">&nbsp;</span>
359
+ <span class="cline-any cline-yes">2x</span>
360
+ <span class="cline-any cline-yes">1x</span>
348
361
  <span class="cline-any cline-no">&nbsp;</span>
349
362
  <span class="cline-any cline-no">&nbsp;</span>
350
363
  <span class="cline-any cline-neutral">&nbsp;</span>
351
364
  <span class="cline-any cline-neutral">&nbsp;</span>
352
365
  <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-no">&nbsp;</span>
353
367
  <span class="cline-any cline-neutral">&nbsp;</span>
354
368
  <span class="cline-any cline-neutral">&nbsp;</span>
355
369
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -362,6 +376,8 @@
362
376
  <span class="cline-any cline-neutral">&nbsp;</span>
363
377
  <span class="cline-any cline-neutral">&nbsp;</span>
364
378
  <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>
365
381
  <span class="cline-any cline-neutral">&nbsp;</span>
366
382
  <span class="cline-any cline-neutral">&nbsp;</span>
367
383
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -369,8 +385,12 @@
369
385
  <span class="cline-any cline-neutral">&nbsp;</span>
370
386
  <span class="cline-any cline-neutral">&nbsp;</span>
371
387
  <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>
372
390
  <span class="cline-any cline-no">&nbsp;</span>
373
391
  <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>
374
394
  <span class="cline-any cline-neutral">&nbsp;</span>
375
395
  <span class="cline-any cline-neutral">&nbsp;</span>
376
396
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -381,6 +401,7 @@
381
401
  <span class="cline-any cline-neutral">&nbsp;</span>
382
402
  <span class="cline-any cline-neutral">&nbsp;</span>
383
403
  <span class="cline-any cline-neutral">&nbsp;</span>
404
+ <span class="cline-any cline-no">&nbsp;</span>
384
405
  <span class="cline-any cline-neutral">&nbsp;</span>
385
406
  <span class="cline-any cline-neutral">&nbsp;</span>
386
407
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -399,17 +420,21 @@
399
420
  <span class="cline-any cline-neutral">&nbsp;</span>
400
421
  <span class="cline-any cline-neutral">&nbsp;</span>
401
422
  <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>
402
426
  <span class="cline-any cline-no">&nbsp;</span>
403
- <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-neutral">&nbsp;</span>
409
427
  <span class="cline-any cline-no">&nbsp;</span>
410
428
  <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-no">&nbsp;</span>
430
+ <span class="cline-any cline-no">&nbsp;</span>
411
431
  <span class="cline-any cline-neutral">&nbsp;</span>
412
432
  <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
+ <span class="cline-any cline-no">&nbsp;</span>
436
+ <span class="cline-any cline-no">&nbsp;</span>
437
+ <span class="cline-any cline-no">&nbsp;</span>
413
438
  <span class="cline-any cline-neutral">&nbsp;</span>
414
439
  <span class="cline-any cline-neutral">&nbsp;</span>
415
440
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -418,17 +443,7 @@
418
443
  <span class="cline-any cline-neutral">&nbsp;</span>
419
444
  <span class="cline-any cline-neutral">&nbsp;</span>
420
445
  <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-no">&nbsp;</span>
429
- <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-yes">2x</span>
432
447
  <span class="cline-any cline-neutral">&nbsp;</span>
433
448
  <span class="cline-any cline-neutral">&nbsp;</span>
434
449
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -457,6 +472,7 @@
457
472
  <span class="cline-any cline-neutral">&nbsp;</span>
458
473
  <span class="cline-any cline-neutral">&nbsp;</span>
459
474
  <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-yes">1x</span>
460
476
  <span class="cline-any cline-neutral">&nbsp;</span>
461
477
  <span class="cline-any cline-neutral">&nbsp;</span>
462
478
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -470,6 +486,7 @@
470
486
  <span class="cline-any cline-neutral">&nbsp;</span>
471
487
  <span class="cline-any cline-neutral">&nbsp;</span>
472
488
  <span class="cline-any cline-neutral">&nbsp;</span>
489
+ <span class="cline-any cline-yes">1x</span>
473
490
  <span class="cline-any cline-neutral">&nbsp;</span>
474
491
  <span class="cline-any cline-neutral">&nbsp;</span>
475
492
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -480,7 +497,6 @@
480
497
  <span class="cline-any cline-neutral">&nbsp;</span>
481
498
  <span class="cline-any cline-neutral">&nbsp;</span>
482
499
  <span class="cline-any cline-neutral">&nbsp;</span>
483
- <span class="cline-any cline-yes">1x</span>
484
500
  <span class="cline-any cline-neutral">&nbsp;</span>
485
501
  <span class="cline-any cline-neutral">&nbsp;</span>
486
502
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -489,240 +505,244 @@
489
505
  <span class="cline-any cline-neutral">&nbsp;</span>
490
506
  <span class="cline-any cline-neutral">&nbsp;</span>
491
507
  <span class="cline-any cline-neutral">&nbsp;</span>
492
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React from 'react';
493
- import {
494
- NavLinkContainer,
495
- NavLinkInline,
496
- NavLinkDrawer,
497
- NavItemInline
498
- } from '../Links';
499
- import AnimationGroup from '../AnimationGroup/AnimationGroup';
500
- import { PracticeDetails } from '../Details';
501
- import { ScoreChart } from '../Chart';
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';
502
509
  import PropTypes from 'prop-types';
503
- import {
504
- submissionsUrl,
505
- manageUrl,
506
- dashboardUrl,
507
- performanceFeedbackUrl
508
- } from '../helpers';
510
+ import ExpandedView from './ExpandedView';
511
+ import CollapsedView from './CollapsedView';
512
+ import { withGetConfig } from '../hooks/useGetConfig';
509
513
  &nbsp;
510
- const PAST_REPORTING_YEARS = ['2017', '2018'];
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
+ }
511
524
  &nbsp;
512
- const LevelTwoContent = <span class="fstat-no" title="function not covered" >({</span>
513
- isExpanded,
514
- chartData,
515
- showReportingLinks,
516
- style,
517
- config: {
518
- chartActive = <span class="branch-0 cbranch-no" title="branch not covered" >true,</span>
519
- openDrawersByDefault,
520
- linkCallback,
521
- updateTime,
522
- practiceId,
523
- practiceName,
524
- practiceTin,
525
- apmEntityId,
526
- isConnectedUsersPage,
527
- vgId,
528
- roleAbbr,
529
- performanceYear,
530
- finalFeedbackOpen,
531
- isApmPaymentDetailsPage,
532
- useTooltips,
533
- cpcPlusId
534
- } = <span class="branch-0 cbranch-no" title="branch not covered" >{}</span>
535
- }) =&gt; {
536
- const linkClass = <span class="cstat-no" title="statement not covered" >isExpanded ? 'link-inline' : 'link-collapsed';</span>
537
- let links = <span class="cstat-no" title="statement not covered" >[];</span>
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;
538
533
  &nbsp;
539
- <span class="cstat-no" title="statement not covered" > if (isApmPaymentDetailsPage) {</span>
540
- const apmDetailsUrl =
541
- <span class="cstat-no" title="statement not covered" > '/user/apm-incentive-payments/(.*)/practice-details';</span>
542
- <span class="cstat-no" title="statement not covered" > links.push(</span>
543
- &lt;NavItemInline
544
- icon="clinicians-icon"
545
- className={linkClass}
546
- label="Payment Details"
547
- urlExpressionToMatch={apmDetailsUrl}
548
- showLabel={isExpanded}
549
- /&gt;
550
- );
551
- } else {
552
- const linkLabel = <span class="cstat-no" title="statement not covered" >isConnectedUsersPage</span>
553
- ? 'Connected Users'
554
- : 'Eligibility &amp; Reporting';
555
- let items = <span class="cstat-no" title="statement not covered" >[];</span>
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';
556
542
  &nbsp;
557
- const practiceUrlSegment =
558
- <span class="cstat-no" title="statement not covered" > performanceYear === '2017' ||</span>
559
- performanceYear === '2018' ||
560
- !roleAbbr
561
- ? practiceId
562
- : practiceId + '_' + roleAbbr;
543
+ useEffect(() =&gt; {
544
+ //setBannerHeight on Load &amp; Resize
545
+ setBannerHeight();
563
546
  &nbsp;
564
- <span class="cstat-no" title="statement not covered" > if (showReportingLinks &amp;&amp; !apmEntityId) {</span>
565
- <span class="cstat-no" title="statement not covered" > items = [</span>
566
- {
567
- url: `${submissionsUrl}/reporting/${practiceUrlSegment}/overview`,
568
- label: vgId
569
- ? 'Virtual Group Reporting'
570
- : 'Group Reporting Overview',
571
- items: [
572
- {
573
- url: `${submissionsUrl}/reporting/${practiceUrlSegment}/quality`,
574
- label: 'Quality Measures'
575
- },
576
- {
577
- url: `${submissionsUrl}/reporting/${practiceUrlSegment}/aci`,
578
- label: 'Promoting Interoperability'
579
- },
580
- {
581
- url: `${submissionsUrl}/reporting/${practiceUrlSegment}/ia`,
582
- label: 'Improvement Activities'
583
- }
584
- ]
585
- }
586
- ];
587
- }
588
- <span class="cstat-no" title="statement not covered" > links.push(</span>
589
- &lt;NavLinkDrawer
590
- key="connected-clinicians-link"
591
- isAlwaysOpen
592
- url={
593
- !isConnectedUsersPage
594
- ? `${dashboardUrl}`
595
- : `${manageUrl}/${practiceId}/connected-users`
596
- }
597
- isExpanded={isExpanded}
598
- openByDefault={openDrawersByDefault}
599
- leftIcon="dashboard"
600
- className={linkClass}
601
- label={linkLabel}
602
- linkCallback={linkCallback}
603
- listOfLinks={
604
- !isConnectedUsersPage &amp;&amp; [
605
- {
606
- label: vgId
607
- ? 'Virtual Group Details &amp; Participants'
608
- : apmEntityId
609
- ? 'APM Entity Details &amp; Participants'
610
- : 'Practice Details &amp; Clinicians',
611
- items: items
612
- }
613
- ]
614
- }
615
- disabled={isConnectedUsersPage ? true : false}
616
- /&gt;
617
- );
618
- <span class="cstat-no" title="statement not covered" > if (</span>
619
- (apmEntityId &amp;&amp; performanceYear === '2018' &amp;&amp; finalFeedbackOpen) ||
620
- (!apmEntityId &amp;&amp;
621
- !vgId &amp;&amp;
622
- !isConnectedUsersPage &amp;&amp;
623
- PAST_REPORTING_YEARS.indexOf(performanceYear) &gt;= 0)
624
- ) {
625
- <span class="cstat-no" title="statement not covered" > links.push(</span>
626
- &lt;NavLinkInline
627
- key="performance-feedback-link"
628
- icon="star-icon"
629
- className={linkClass}
630
- url={performanceFeedbackUrl(
631
- finalFeedbackOpen &amp;&amp; performanceYear === '2018'
632
- ? performanceYear
633
- : '2017'
634
- )}
635
- label="Performance Feedback"
636
- linkCallback={linkCallback}
637
- showLabel={isExpanded}
638
- useTooltips={useTooltips}
639
- /&gt;
640
- );
641
- }
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
+ }
550
+ &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);
554
+ &nbsp;
555
+ window.addEventListener('resize', debounceBrowserResizeHandler);
556
+ &nbsp;
557
+ return () =&gt; {
558
+ window.removeEventListener('resize', debounceBrowserResizeHandler);
559
+ };
560
+ }, [windowWidth]);
561
+ &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());
642
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;
578
+ };
579
+ &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', ' ');
586
+ &nbsp;
587
+ <span class="cstat-no" title="statement not covered" > setHeight(</span>
588
+ expanded ? '100%' : `${collapsedWrapperRef.current.offsetHeight}px`
589
+ );
590
+ }
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
+ */
643
608
  &nbsp;
644
- <span class="cstat-no" title="statement not covered" > return (</span>
645
- &lt;div className="sidebar-content"&gt;
646
- &lt;AnimationGroup display={isExpanded}&gt;
647
- &lt;NavLinkInline
648
- icon="account-home"
649
- url={submissionsUrl}
650
- label="Account Home"
651
- showLabel={isExpanded}
652
- className="account-home-link"
653
- linkCallback={linkCallback}
654
- useTooltips={useTooltips}
655
- /&gt;
656
- &lt;hr /&gt;
657
- &lt;PracticeDetails
658
- practiceName={practiceName}
659
- {...(!practiceTin ? {} : { practiceTin })}
660
- {...(!apmEntityId ? {} : { apmEntityId })}
661
- {...(!vgId ? {} : { vgId })}
662
- {...(!cpcPlusId ? {} : { cpcPlusId })}
663
- /&gt;
664
- &lt;hr /&gt;
665
- &lt;/AnimationGroup&gt;
666
- &lt;div style={style} className="level-two-nav animation-flat"&gt;
667
- &lt;NavLinkContainer listOfLinks={links} /&gt;
668
- &lt;AnimationGroup display={isExpanded &amp;&amp; chartActive}&gt;
669
- &lt;div&gt;
670
- &lt;hr /&gt;
671
- &lt;div className="chart-title"&gt;
672
- &lt;p className="title"&gt;Final Group Score&lt;/p&gt;
673
- &lt;p className="disclaimer"&gt;
674
- &lt;svg className="left-icon" aria-hidden="true"&gt;
675
- &lt;use xlinkHref="#score-increase" /&gt;
676
- &lt;/svg&gt;
677
- Score may increase
678
- &lt;svg className="right-icon" aria-hidden="true"&gt;
679
- &lt;use xlinkHref="#tooltip" /&gt;
680
- &lt;/svg&gt;
681
- &lt;/p&gt;
682
- {updateTime &amp;&amp; (
683
- &lt;p className="timestamp"&gt;
684
- Last update at {updateTime}
685
- &lt;/p&gt;
686
- )}
687
- &lt;/div&gt;
688
- &lt;ScoreChart
689
- chartData={chartData}
690
- linkCallback={linkCallback}
691
- /&gt;
692
- &lt;/div&gt;
693
- &lt;/AnimationGroup&gt;
694
- &lt;/div&gt;
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>
612
+ &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
+ })
623
+ );
624
+ } 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
+ })
634
+ );
635
+ }
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
+ */
666
+ &nbsp;
667
+ 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;
695
690
  &lt;/div&gt;
696
- );
691
+ )}
692
+ &lt;/&gt;
693
+ );
697
694
  };
698
695
  &nbsp;
699
- LevelTwoContent.propTypes = {
700
- isExpanded: PropTypes.bool,
701
- config: PropTypes.object,
702
- chartData: PropTypes.object,
703
- showReportingLinks: PropTypes.bool,
704
- style: PropTypes.object
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
+ }),
707
+ }),
705
708
  };
706
709
  &nbsp;
707
- export default LevelTwoContent;
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
+ });
708
729
  &nbsp;</pre></td></tr></table></pre>
709
730
 
710
731
  <div class='push'></div><!-- for sticky footer -->
711
732
  </div><!-- /wrapper -->
712
733
  <div class='footer quiet pad2 space-top1 center small'>
713
734
  Code coverage generated by
714
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
715
- at Tue Aug 04 2020 16:59:07 GMT-0700 (Pacific Daylight Time)
735
+ <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)
716
737
  </div>
717
- </div>
718
- <script src="../../../prettify.js"></script>
738
+ <script src="../../prettify.js"></script>
719
739
  <script>
720
740
  window.onload = function () {
721
741
  prettyPrint();
722
742
  };
723
743
  </script>
724
- <script src="../../../sorter.js"></script>
725
- <script src="../../../block-navigation.js"></script>
744
+ <script src="../../sorter.js"></script>
745
+ <script src="../../block-navigation.js"></script>
726
746
  </body>
727
747
  </html>
728
748