qpp-style 2.1.13 → 2.2.0-sm.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 (590) hide show
  1. package/.babelrc +10 -0
  2. package/.editorconfig +22 -0
  3. package/.eslintignore +5 -0
  4. package/.eslintrc.js +32 -0
  5. package/.husky/pre-commit +5 -0
  6. package/.prettierrc +1 -0
  7. package/README.md +50 -55
  8. package/components/Accordion/index.jsx +97 -0
  9. package/components/Alert/index.js +53 -0
  10. package/components/Breadcrumb/Breadcrumb.md +28 -0
  11. package/components/Breadcrumb/index.js +83 -0
  12. package/components/Button/index.js +90 -0
  13. package/components/Details/DetailsIcons.js +50 -0
  14. package/components/Details/index.js +53 -0
  15. package/components/Dropdown/index.js +85 -0
  16. package/components/DropdownButton/Menu.js +25 -0
  17. package/components/DropdownButton/MenuButton.js +41 -0
  18. package/components/DropdownButton/MenuItem.js +25 -0
  19. package/components/DropdownButton/MenuItemLink.js +27 -0
  20. package/components/Error/Collapsible.jsx +88 -0
  21. package/components/Error/ErrorUI.jsx +31 -0
  22. package/components/Error/error.js +26 -0
  23. package/components/FlashNotification/FlashNotificationUI.jsx +91 -0
  24. package/components/FlashNotification/index.js +30 -0
  25. package/components/Footer/FooterUI.jsx +210 -0
  26. package/components/Footer/SocialLinks.jsx +60 -0
  27. package/components/Footer/Subscribe.jsx +34 -0
  28. package/components/Footer/footer.js +20 -0
  29. package/components/GovBanner/index.js +117 -0
  30. package/components/Header/Header.md +111 -0
  31. package/components/Header/HeaderAccountMenu.jsx +94 -0
  32. package/components/Header/HeaderCancel.jsx +16 -0
  33. package/components/Header/HeaderContainer.jsx +76 -0
  34. package/components/Header/HeaderLogo.jsx +60 -0
  35. package/components/Header/HeaderMenuButton.js +50 -0
  36. package/components/Header/HeaderMenuItem.jsx +239 -0
  37. package/components/Header/HeaderMenuLink.js +56 -0
  38. package/components/Header/HeaderMenuSignOutButton.js +62 -0
  39. package/components/Header/HeaderMobileButton.js +37 -0
  40. package/components/Header/HeaderUI.jsx +168 -0
  41. package/components/Header/HelpIcon.jsx +32 -0
  42. package/components/Header/ImpersonatorBanner.jsx +81 -0
  43. package/components/Header/NavigationButtonIcon.jsx +27 -0
  44. package/components/Header/default-content.json +280 -0
  45. package/components/Header/header.js +40 -0
  46. package/components/Header/hooks.js +66 -0
  47. package/components/Header/utag-helpers.js +9 -0
  48. package/components/Infotip/Infotip.jsx +71 -0
  49. package/components/Infotip/InfotipContent.jsx +46 -0
  50. package/components/Infotip/InfotipIcon.jsx +41 -0
  51. package/components/Infotip/index.js +3 -0
  52. package/components/Link/index.js +61 -0
  53. package/components/Modal/LegacyModal.jsx +72 -0
  54. package/components/Modal/Modal.jsx +140 -0
  55. package/components/Modal/index.jsx +22 -0
  56. package/components/NotificationBanner/CollapsedView.js +39 -0
  57. package/components/NotificationBanner/ExpandedView.js +45 -0
  58. package/components/NotificationBanner/index.js +221 -0
  59. package/components/SanitizedContent/index.jsx +223 -0
  60. package/components/Search/index.js +98 -0
  61. package/components/Session/Session.jsx +89 -0
  62. package/components/Session/SessionDialogWrapped.jsx +12 -0
  63. package/components/Session/index.jsx +3 -0
  64. package/components/SideNav/AnimationGroup/AnimationGroup.jsx +27 -0
  65. package/components/SideNav/Content/LevelOneContent.jsx +49 -0
  66. package/components/SideNav/Content/SelectRole/index.js +78 -0
  67. package/components/SideNav/Content/SelectRole/utils.js +149 -0
  68. package/components/SideNav/Content/index.js +3 -0
  69. package/components/SideNav/Details/IndividualDetails.jsx +18 -0
  70. package/components/SideNav/Details/PracticeDetails.jsx +51 -0
  71. package/components/SideNav/Details/index.js +4 -0
  72. package/components/SideNav/Links/CmsSwitchLink.jsx +41 -0
  73. package/components/SideNav/Links/NavItemInline.jsx +54 -0
  74. package/components/SideNav/Links/NavLinkContainer.jsx +38 -0
  75. package/components/SideNav/Links/NavLinkDrawer.jsx +295 -0
  76. package/components/SideNav/Links/NavLinkInline.jsx +110 -0
  77. package/components/SideNav/Links/NavLinkToggle.jsx +34 -0
  78. package/components/SideNav/Links/index.js +13 -0
  79. package/components/SideNav/SideNav.md +50 -0
  80. package/components/SideNav/UI/SideNavUI.jsx +323 -0
  81. package/components/SideNav/UI/default-markup.js +4 -0
  82. package/components/SideNav/UI/index.js +3 -0
  83. package/components/SideNav/UI/utils.js +0 -0
  84. package/components/SideNav/helpers.js +399 -0
  85. package/components/SideNav/index.js +29 -0
  86. package/components/Tabs/TabPanel.js +5 -0
  87. package/components/Tabs/Tabs.js +73 -0
  88. package/components/TextInput/index.js +137 -0
  89. package/components/hooks/useGetConfig.js +75 -0
  90. package/components/index.js +122 -0
  91. package/coverage/clover.xml +1324 -0
  92. package/coverage/coverage-final.json +71 -0
  93. package/coverage/lcov-report/Tooltip.jsx.html +232 -0
  94. package/coverage/lcov-report/base.css +224 -0
  95. package/coverage/lcov-report/block-navigation.js +87 -0
  96. package/coverage/lcov-report/components/Accordion/index.html +116 -0
  97. package/coverage/lcov-report/components/Accordion/index.jsx.html +364 -0
  98. package/coverage/lcov-report/components/Button/index.html +116 -0
  99. package/coverage/lcov-report/components/Button/index.js.html +355 -0
  100. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +349 -0
  101. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +178 -0
  102. package/coverage/lcov-report/components/Error/index.html +131 -0
  103. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +706 -0
  104. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +265 -0
  105. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +187 -0
  106. package/coverage/lcov-report/components/Footer/index.html +146 -0
  107. package/coverage/lcov-report/components/GovBanner/index.html +116 -0
  108. package/coverage/lcov-report/components/GovBanner/index.js.html +436 -0
  109. package/coverage/lcov-report/components/Header/HeaderAccountMenu.jsx.html +367 -0
  110. package/coverage/lcov-report/components/Header/HeaderCancel.jsx.html +133 -0
  111. package/coverage/lcov-report/components/Header/HeaderContainer.jsx.html +307 -0
  112. package/coverage/lcov-report/components/Header/HeaderLogo.jsx.html +211 -0
  113. package/coverage/lcov-report/components/Header/HeaderMenuButton.js.html +235 -0
  114. package/coverage/lcov-report/components/Header/HeaderMenuItem.jsx.html +802 -0
  115. package/coverage/lcov-report/components/Header/HeaderMenuLink.js.html +253 -0
  116. package/coverage/lcov-report/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  117. package/coverage/lcov-report/components/Header/HeaderMobileButton.js.html +196 -0
  118. package/coverage/lcov-report/components/Header/HeaderUI.jsx.html +586 -0
  119. package/coverage/lcov-report/components/Header/HelpIcon.jsx.html +181 -0
  120. package/coverage/lcov-report/components/Header/ImpersonatorBanner.jsx.html +328 -0
  121. package/coverage/lcov-report/components/Header/NavigationButtonIcon.jsx.html +166 -0
  122. package/coverage/lcov-report/components/Header/hooks.js.html +283 -0
  123. package/coverage/lcov-report/components/Header/index.html +326 -0
  124. package/coverage/lcov-report/components/Header/utag-helpers.js.html +112 -0
  125. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +310 -0
  126. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +208 -0
  127. package/coverage/lcov-report/components/Infotip/index.html +146 -0
  128. package/coverage/lcov-report/components/Infotip/index.js.html +94 -0
  129. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +301 -0
  130. package/coverage/lcov-report/components/Modal/Modal.jsx.html +505 -0
  131. package/coverage/lcov-report/components/Modal/index.html +146 -0
  132. package/coverage/lcov-report/components/Modal/index.jsx.html +151 -0
  133. package/coverage/lcov-report/components/NotificationBanner/CollapsedView.js.html +202 -0
  134. package/coverage/lcov-report/components/NotificationBanner/ExpandedView.js.html +220 -0
  135. package/coverage/lcov-report/components/NotificationBanner/index.html +146 -0
  136. package/coverage/lcov-report/components/NotificationBanner/index.js.html +748 -0
  137. package/coverage/lcov-report/components/SanitizedContent/index.html +116 -0
  138. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +685 -0
  139. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +868 -0
  140. package/coverage/lcov-report/components/SideNav/Content/SelectRole/index.html +116 -0
  141. package/coverage/lcov-report/components/SideNav/Content/SelectRole/utils.js.html +505 -0
  142. package/coverage/lcov-report/components/SideNav/helpers.js.html +1138 -0
  143. package/coverage/lcov-report/components/SideNav/index.html +116 -0
  144. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +349 -0
  145. package/coverage/lcov-report/components/Tooltip/index.html +146 -0
  146. package/coverage/lcov-report/components/Tooltip/index.js.html +94 -0
  147. package/coverage/lcov-report/components/Tooltip/position.js.html +289 -0
  148. package/coverage/lcov-report/components/hooks/index.html +116 -0
  149. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +310 -0
  150. package/coverage/lcov-report/components/index.html +116 -0
  151. package/coverage/lcov-report/favicon.png +0 -0
  152. package/coverage/lcov-report/index.html +476 -0
  153. package/coverage/lcov-report/index.js.html +94 -0
  154. package/coverage/lcov-report/lib/Chevron.jsx.html +181 -0
  155. package/coverage/lcov-report/lib/SvgComponents.jsx.html +2200 -0
  156. package/coverage/lcov-report/lib/index.html +131 -0
  157. package/coverage/lcov-report/position.js.html +289 -0
  158. package/coverage/lcov-report/prettify.css +1 -0
  159. package/coverage/lcov-report/prettify.js +2 -0
  160. package/coverage/lcov-report/react/components/Accordion/index.html +116 -0
  161. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +376 -0
  162. package/coverage/lcov-report/react/components/Button/index.html +116 -0
  163. package/coverage/lcov-report/react/components/Button/index.js.html +355 -0
  164. package/coverage/lcov-report/react/components/Dropdown/index.html +116 -0
  165. package/coverage/lcov-report/react/components/Dropdown/index.js.html +340 -0
  166. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +349 -0
  167. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +178 -0
  168. package/coverage/lcov-report/react/components/Error/error.js.html +163 -0
  169. package/coverage/lcov-report/react/components/Error/index.html +146 -0
  170. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +718 -0
  171. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +265 -0
  172. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +187 -0
  173. package/coverage/lcov-report/react/components/Footer/footer.js.html +145 -0
  174. package/coverage/lcov-report/react/components/Footer/index.html +161 -0
  175. package/coverage/lcov-report/react/components/GovBanner/index.html +116 -0
  176. package/coverage/lcov-report/react/components/GovBanner/index.js.html +436 -0
  177. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +367 -0
  178. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +133 -0
  179. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +307 -0
  180. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +211 -0
  181. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +235 -0
  182. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +802 -0
  183. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +253 -0
  184. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  185. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +196 -0
  186. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +586 -0
  187. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +181 -0
  188. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +334 -0
  189. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +166 -0
  190. package/coverage/lcov-report/react/components/Header/header.js.html +205 -0
  191. package/coverage/lcov-report/react/components/Header/hooks.js.html +283 -0
  192. package/coverage/lcov-report/react/components/Header/index.html +341 -0
  193. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +112 -0
  194. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +298 -0
  195. package/coverage/lcov-report/react/components/Infotip/InfotipContent.jsx.html +223 -0
  196. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +208 -0
  197. package/coverage/lcov-report/react/components/Infotip/index.html +161 -0
  198. package/coverage/lcov-report/react/components/Infotip/index.js.html +94 -0
  199. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +301 -0
  200. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +505 -0
  201. package/coverage/lcov-report/react/components/Modal/index.html +146 -0
  202. package/coverage/lcov-report/react/components/Modal/index.jsx.html +151 -0
  203. package/coverage/lcov-report/react/components/NotificationBanner/CollapsedView.js.html +202 -0
  204. package/coverage/lcov-report/react/components/NotificationBanner/ExpandedView.js.html +220 -0
  205. package/coverage/lcov-report/react/components/NotificationBanner/index.html +146 -0
  206. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +748 -0
  207. package/coverage/lcov-report/react/components/SanitizedContent/index.html +116 -0
  208. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +754 -0
  209. package/coverage/lcov-report/react/components/SessionDialog/index.html +116 -0
  210. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +163 -0
  211. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +868 -0
  212. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +166 -0
  213. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +116 -0
  214. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +889 -0
  215. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +131 -0
  216. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +94 -0
  217. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +199 -0
  218. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +733 -0
  219. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.html +131 -0
  220. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.js.html +214 -0
  221. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/utils.js.html +139 -0
  222. package/coverage/lcov-report/react/components/SideNav/Content/index.html +131 -0
  223. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +94 -0
  224. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +139 -0
  225. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +220 -0
  226. package/coverage/lcov-report/react/components/SideNav/Details/index.html +146 -0
  227. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +97 -0
  228. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +208 -0
  229. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +247 -0
  230. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +199 -0
  231. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +970 -0
  232. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +415 -0
  233. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +187 -0
  234. package/coverage/lcov-report/react/components/SideNav/Links/index.html +206 -0
  235. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +124 -0
  236. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +1060 -0
  237. package/coverage/lcov-report/react/components/SideNav/UI/default-markup.js.html +97 -0
  238. package/coverage/lcov-report/react/components/SideNav/UI/index.html +146 -0
  239. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +94 -0
  240. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +361 -0
  241. package/coverage/lcov-report/react/components/SideNav/index.html +131 -0
  242. package/coverage/lcov-report/react/components/SideNav/index.js.html +238 -0
  243. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +232 -0
  244. package/coverage/lcov-report/react/components/Tooltip/index.html +146 -0
  245. package/coverage/lcov-report/react/components/Tooltip/index.js.html +94 -0
  246. package/coverage/lcov-report/react/components/Tooltip/position.js.html +289 -0
  247. package/coverage/lcov-report/react/components/hooks/index.html +116 -0
  248. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +310 -0
  249. package/coverage/lcov-report/react/components/index.html +116 -0
  250. package/coverage/lcov-report/react/index.html +116 -0
  251. package/coverage/lcov-report/react/index.js.html +178 -0
  252. package/coverage/lcov-report/react/lib/Chevron.jsx.html +181 -0
  253. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +2200 -0
  254. package/coverage/lcov-report/react/lib/index.html +131 -0
  255. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +460 -0
  256. package/coverage/lcov-report/react/session/index.html +161 -0
  257. package/coverage/lcov-report/react/session/index.js.html +100 -0
  258. package/coverage/lcov-report/react/session/logout.js.html +283 -0
  259. package/coverage/lcov-report/react/session/refresh.js.html +232 -0
  260. package/coverage/lcov-report/react/session/ttl.js.html +196 -0
  261. package/coverage/lcov-report/session/index.html +161 -0
  262. package/coverage/lcov-report/session/index.js.html +100 -0
  263. package/coverage/lcov-report/session/logout.js.html +307 -0
  264. package/coverage/lcov-report/session/refresh.js.html +232 -0
  265. package/coverage/lcov-report/session/ttl.js.html +196 -0
  266. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  267. package/coverage/lcov-report/sorter.js +196 -0
  268. package/coverage/lcov.info +2883 -0
  269. package/dist/browser.js +3 -53
  270. package/dist/browser.js.LICENSE.txt +31 -0
  271. package/dist/browser.js.map +1 -0
  272. package/dist/index.js +3 -53
  273. package/dist/index.js.LICENSE.txt +31 -0
  274. package/dist/index.js.map +1 -0
  275. package/dist/react/index.js +3 -0
  276. package/dist/react/index.js.LICENSE.txt +54 -0
  277. package/dist/react/index.js.map +1 -0
  278. package/fonts/PublicSans-Black.ttf +0 -0
  279. package/fonts/PublicSans-BlackItalic.ttf +0 -0
  280. package/fonts/PublicSans-Bold.ttf +0 -0
  281. package/fonts/PublicSans-BoldItalic.ttf +0 -0
  282. package/fonts/PublicSans-ExtraBold.ttf +0 -0
  283. package/fonts/PublicSans-ExtraBoldItalic.ttf +0 -0
  284. package/fonts/PublicSans-ExtraLight.ttf +0 -0
  285. package/fonts/PublicSans-ExtraLightItalic.ttf +0 -0
  286. package/fonts/PublicSans-Italic.ttf +0 -0
  287. package/fonts/PublicSans-Light.ttf +0 -0
  288. package/fonts/PublicSans-LightItalic.ttf +0 -0
  289. package/fonts/PublicSans-Medium.ttf +0 -0
  290. package/fonts/PublicSans-MediumItalic.ttf +0 -0
  291. package/fonts/PublicSans-Regular.ttf +0 -0
  292. package/fonts/PublicSans-SemiBold.ttf +0 -0
  293. package/fonts/PublicSans-SemiBoldItalic.ttf +0 -0
  294. package/fonts/PublicSans-Thin.ttf +0 -0
  295. package/fonts/PublicSans-ThinItalic.ttf +0 -0
  296. package/images/favicon/manifest.json +3 -3
  297. package/images/hhs-logo-black.svg +10 -0
  298. package/images/icon-dot-gov.svg +1 -0
  299. package/images/icon-https.svg +1 -0
  300. package/images/icons/close-x.svg +6 -0
  301. package/images/icons/svg/arrow-down.svg +3 -0
  302. package/images/icons/svg/arrow-download.svg +1 -0
  303. package/images/icons/svg/arrow-right.svg +1 -0
  304. package/images/icons/svg/arrow-up.svg +3 -0
  305. package/images/icons/svg/block.svg +5 -0
  306. package/images/icons/svg/calendar.svg +1 -0
  307. package/images/icons/svg/check-circle.svg +5 -0
  308. package/images/icons/svg/checkmark.svg +7 -0
  309. package/images/icons/svg/chevron-down.svg +11 -0
  310. package/images/icons/svg/chevron-left.svg +12 -0
  311. package/images/icons/svg/chevron-right.svg +12 -0
  312. package/images/icons/svg/chevron-up.svg +12 -0
  313. package/images/icons/svg/clipboard.svg +1 -0
  314. package/images/icons/svg/close.svg +1 -0
  315. package/images/icons/svg/divide.svg +13 -0
  316. package/images/icons/svg/doctors-and-clinicians-preview.svg +10 -0
  317. package/images/icons/svg/download.svg +1 -0
  318. package/images/icons/svg/dropdown-arrow.svg +1 -0
  319. package/images/icons/svg/equals.svg +13 -0
  320. package/images/icons/svg/exclamation.svg +10 -0
  321. package/images/icons/svg/external.svg +1 -0
  322. package/images/icons/svg/file-download.svg +1 -0
  323. package/images/icons/svg/file-upload.svg +1 -0
  324. package/images/icons/svg/info.svg +17 -0
  325. package/images/icons/svg/manage-user-access.svg +8 -0
  326. package/images/icons/svg/multiply.svg +12 -0
  327. package/images/icons/svg/performance-feedback.svg +1 -0
  328. package/images/icons/svg/plus.svg +12 -0
  329. package/images/icons/svg/preview.svg +15 -0
  330. package/images/icons/svg/print.svg +1 -0
  331. package/images/icons/svg/registration.svg +8 -0
  332. package/images/icons/svg/reporting.svg +15 -0
  333. package/images/icons/svg/save-disk.svg +5 -0
  334. package/images/icons/svg/search.svg +1 -0
  335. package/images/icons/svg/subtract.svg +15 -0
  336. package/images/icons/svg/targeted-review.svg +15 -0
  337. package/images/icons/svg/tooltip-question.svg +1 -0
  338. package/images/icons/svg/trash.svg +1 -0
  339. package/images/icons/svg/upload.svg +1 -0
  340. package/images/us_flag_small.png +0 -0
  341. package/index.js +31 -0
  342. package/jest/mediaFileTransformer.js +9 -0
  343. package/jest.config.js +188 -0
  344. package/lib/Chevron.jsx +32 -0
  345. package/lib/SvgComponents.jsx +705 -0
  346. package/lib/svg-definitions.svg +125 -0
  347. package/package.json +70 -55
  348. package/{js/session → session}/index.js +1 -5
  349. package/session/isAuthV2.js +22 -0
  350. package/session/logout.js +77 -0
  351. package/session/refresh.js +52 -0
  352. package/session/ttl.js +25 -0
  353. package/storybook-static/229.630347465201d1822126.manager.bundle.js +1 -0
  354. package/storybook-static/295.aa3c5122636a27ad7c7b.manager.bundle.js +1 -0
  355. package/storybook-static/468.d976c69e47003b4dcfa3.manager.bundle.js +2 -0
  356. package/storybook-static/468.d976c69e47003b4dcfa3.manager.bundle.js.LICENSE.txt +94 -0
  357. package/storybook-static/51.fc4b02f2a75c894ae64e.manager.bundle.js +2 -0
  358. package/storybook-static/51.fc4b02f2a75c894ae64e.manager.bundle.js.LICENSE.txt +8 -0
  359. package/storybook-static/551.45aead073703cc6fb12b.manager.bundle.js +1 -0
  360. package/storybook-static/807.1a7f4dcf15e4696572ca.manager.bundle.js +2 -0
  361. package/storybook-static/807.1a7f4dcf15e4696572ca.manager.bundle.js.LICENSE.txt +31 -0
  362. package/storybook-static/897.9b5fee8cc7074607c812.manager.bundle.js +2 -0
  363. package/storybook-static/897.9b5fee8cc7074607c812.manager.bundle.js.LICENSE.txt +12 -0
  364. package/storybook-static/935.532759f0652585685af7.manager.bundle.js +1 -0
  365. package/storybook-static/favicon.ico +0 -0
  366. package/storybook-static/index.html +59 -0
  367. package/storybook-static/main.ad4edcd27d527a119d7a.manager.bundle.js +1 -0
  368. package/storybook-static/project.json +1 -0
  369. package/storybook-static/runtime~main.b165398bf7ef3e30d431.manager.bundle.js +1 -0
  370. package/styles/_global.scss +81 -59
  371. package/styles/_main.scss +11 -3
  372. package/styles/_paths.scss +1 -1
  373. package/styles/_qpp-style.scss +7 -4
  374. package/styles/components/_accordion.scss +273 -149
  375. package/styles/components/_alerts.scss +5 -7
  376. package/styles/components/_autocomplete.scss +47 -0
  377. package/styles/components/_breadcrumbs.scss +18 -17
  378. package/styles/components/_buttons.scss +536 -384
  379. package/styles/components/_error-page.scss +56 -0
  380. package/styles/components/_flash-notification.scss +98 -0
  381. package/styles/components/_fonts.scss +12 -13
  382. package/styles/components/_forms.scss +144 -70
  383. package/styles/components/_grid.scss +26 -20
  384. package/styles/components/_info-modal.scss +52 -27
  385. package/styles/components/_links.scss +4 -3
  386. package/styles/components/_modals.scss +10 -9
  387. package/styles/components/_notification-banner.scss +166 -0
  388. package/styles/components/_panels.scss +23 -21
  389. package/styles/components/_pie-chart.scss +3 -3
  390. package/styles/components/_score-chart.scss +135 -105
  391. package/styles/components/_spinner.scss +7 -0
  392. package/styles/components/_tables.scss +96 -72
  393. package/styles/components/_tabs.scss +69 -0
  394. package/styles/components/_text.scss +114 -48
  395. package/styles/components/_tooltip.scss +23 -0
  396. package/styles/components/_variables.scss +84 -58
  397. package/styles/components/_wells.scss +39 -29
  398. package/styles/qppds/README.md +0 -0
  399. package/styles/qppds/base/_backgrounds.scss +7 -0
  400. package/styles/qppds/base/_fonts.scss +50 -0
  401. package/styles/qppds/base/_icon.scss +31 -0
  402. package/styles/qppds/base/_layout.scss +5 -0
  403. package/styles/qppds/base/_typography.scss +97 -0
  404. package/styles/qppds/base/index.scss +8 -0
  405. package/styles/qppds/components/_alert.scss +101 -0
  406. package/styles/qppds/components/_breadcrumbs.scss +93 -0
  407. package/styles/qppds/components/_button.scss +306 -0
  408. package/styles/qppds/components/_card.scss +176 -0
  409. package/styles/qppds/components/_checkbox.scss +201 -0
  410. package/styles/qppds/components/_circular-loader.scss +47 -0
  411. package/styles/qppds/components/_details.scss +91 -0
  412. package/styles/qppds/components/_dropdown-menu.scss +126 -0
  413. package/styles/qppds/components/_dropdown.scss +56 -0
  414. package/styles/qppds/components/_footer.scss +606 -0
  415. package/styles/qppds/components/_gov-banner.scss +342 -0
  416. package/styles/qppds/components/_header.scss +913 -0
  417. package/styles/qppds/components/_link.scss +54 -0
  418. package/styles/qppds/components/_modal.scss +153 -0
  419. package/styles/qppds/components/_page-header.scss +105 -0
  420. package/styles/qppds/components/_pagination.scss +230 -0
  421. package/styles/qppds/components/_process-list.scss +106 -0
  422. package/styles/qppds/components/_radio-button.scss +185 -0
  423. package/styles/qppds/components/_search.scss +163 -0
  424. package/styles/qppds/components/_sidebar.scss +10 -0
  425. package/styles/qppds/components/_step-indicator.scss +193 -0
  426. package/styles/qppds/components/_table.scss +159 -0
  427. package/styles/qppds/components/_tabs.scss +199 -0
  428. package/styles/qppds/components/_text-input.scss +60 -0
  429. package/styles/qppds/components/index.scss +25 -0
  430. package/styles/qppds/components/sidebar/_animations.scss +38 -0
  431. package/styles/{components → qppds/components}/sidebar/_cms.scss +19 -6
  432. package/styles/{components → qppds/components}/sidebar/_details.scss +28 -21
  433. package/styles/qppds/components/sidebar/_links.scss +462 -0
  434. package/styles/qppds/components/sidebar/_select-role-dropdown.scss +21 -0
  435. package/styles/qppds/components/sidebar/_sidebar-animation.scss +117 -0
  436. package/styles/qppds/components/sidebar/_sidebar-tooltip.scss +33 -0
  437. package/styles/qppds/components/sidebar/_sidebar.scss +145 -0
  438. package/styles/qppds/components/sidebar/project-specific/_wi.scss +42 -0
  439. package/styles/qppds/index.scss +4 -0
  440. package/styles/qppds/settings/_functions.scss +6 -0
  441. package/styles/qppds/settings/_index.scss +3 -0
  442. package/styles/qppds/settings/mixins/_borders.scss +6 -0
  443. package/styles/qppds/settings/mixins/_focus.scss +30 -0
  444. package/styles/qppds/settings/mixins/_icons.scss +43 -0
  445. package/styles/qppds/settings/mixins/_index.scss +8 -0
  446. package/styles/qppds/settings/mixins/_layout.scss +74 -0
  447. package/styles/qppds/settings/mixins/_lists.scss +12 -0
  448. package/styles/qppds/settings/mixins/_table.scss +92 -0
  449. package/styles/qppds/settings/mixins/_type.scss +90 -0
  450. package/styles/qppds/settings/mixins/_visually-hidden.scss +30 -0
  451. package/styles/qppds/settings/variables/_color.scss +86 -0
  452. package/styles/qppds/settings/variables/_index.scss +4 -0
  453. package/styles/qppds/settings/variables/_layout.scss +69 -0
  454. package/styles/qppds/settings/variables/_type.scss +135 -0
  455. package/styles/qppds/settings/variables/_z-index.scss +8 -0
  456. package/styles/qppds/utilities/_background-color.scss +134 -0
  457. package/styles/qppds/utilities/_color.scss +40 -0
  458. package/styles/qppds/utilities/_display-visibility.scss +84 -0
  459. package/styles/qppds/utilities/_flexbox.scss +240 -0
  460. package/styles/qppds/utilities/_font-family.scss +10 -0
  461. package/styles/qppds/utilities/_font-size.scss +8 -0
  462. package/styles/qppds/utilities/_font-weight.scss +10 -0
  463. package/styles/qppds/utilities/_gap.scss +38 -0
  464. package/styles/qppds/utilities/_height.scss +81 -0
  465. package/styles/qppds/utilities/_list-style.scss +17 -0
  466. package/styles/qppds/utilities/_margin.scss +136 -0
  467. package/styles/qppds/utilities/_padding.scss +76 -0
  468. package/styles/qppds/utilities/_position.scss +24 -0
  469. package/styles/qppds/utilities/_text-align.scss +40 -0
  470. package/styles/qppds/utilities/_text-transform.scss +7 -0
  471. package/styles/qppds/utilities/_truncate.scss +8 -0
  472. package/styles/qppds/utilities/_vertical-align.scss +72 -0
  473. package/styles/qppds/utilities/_width.scss +82 -0
  474. package/styles/qppds/utilities/index.scss +17 -0
  475. package/styles/qppds.scss +2 -0
  476. package/styles/third-party/_legacy-bootstrap.scss +19 -0
  477. package/styles/third-party/legacy-bootstrap/_buttons.scss +126 -0
  478. package/styles/third-party/legacy-bootstrap/_dropdowns.scss +211 -0
  479. package/styles/third-party/legacy-bootstrap/_forms.scss +510 -0
  480. package/styles/third-party/legacy-bootstrap/_grid.scss +73 -0
  481. package/styles/third-party/legacy-bootstrap/_mixins.scss +27 -0
  482. package/styles/third-party/legacy-bootstrap/_navbar.scss +644 -0
  483. package/styles/third-party/legacy-bootstrap/_navs.scss +193 -0
  484. package/styles/third-party/legacy-bootstrap/_normalize.scss +385 -0
  485. package/styles/third-party/legacy-bootstrap/_scaffolding.scss +116 -0
  486. package/styles/third-party/legacy-bootstrap/_variables.scss +858 -0
  487. package/styles/third-party/legacy-bootstrap/mixins/_buttons.scss +70 -0
  488. package/styles/third-party/legacy-bootstrap/mixins/_clearfix.scss +22 -0
  489. package/styles/third-party/legacy-bootstrap/mixins/_forms.scss +108 -0
  490. package/styles/third-party/legacy-bootstrap/mixins/_grid-framework.scss +86 -0
  491. package/styles/third-party/legacy-bootstrap/mixins/_grid.scss +112 -0
  492. package/styles/third-party/legacy-bootstrap/mixins/_labels.scss +12 -0
  493. package/styles/third-party/legacy-bootstrap/mixins/_nav-divider.scss +10 -0
  494. package/styles/third-party/legacy-bootstrap/mixins/_nav-vertical-align.scss +9 -0
  495. package/styles/third-party/legacy-bootstrap/mixins/_opacity.scss +7 -0
  496. package/styles/third-party/legacy-bootstrap/mixins/_panels.scss +30 -0
  497. package/styles/third-party/legacy-bootstrap/mixins/_reset-filter.scss +7 -0
  498. package/styles/third-party/legacy-bootstrap/mixins/_reset-text.scss +18 -0
  499. package/styles/third-party/legacy-bootstrap/mixins/_resize.scss +6 -0
  500. package/styles/third-party/legacy-bootstrap/mixins/_responsive-visibility.scss +25 -0
  501. package/styles/third-party/legacy-bootstrap/mixins/_size.scss +10 -0
  502. package/styles/third-party/legacy-bootstrap/mixins/_tab-focus.scss +9 -0
  503. package/styles/third-party/legacy-bootstrap/mixins/_table-row.scss +28 -0
  504. package/styles/third-party/legacy-bootstrap/mixins/_text-emphasis.scss +12 -0
  505. package/styles/third-party/legacy-bootstrap/mixins/_text-overflow.scss +8 -0
  506. package/styles/third-party/legacy-bootstrap/mixins/_vendor-prefixes.scss +182 -0
  507. package/styles/utility/_mixins.scss +12 -11
  508. package/styles/utility/_utilities.scss +12 -1
  509. package/svgo.config.js +14 -0
  510. package/test/components/Accordion.test.js +12 -0
  511. package/test/components/ErrorUI.test.js +33 -0
  512. package/test/components/FooterUI.test.js +60 -0
  513. package/test/components/HeaderUI.test.js +35 -0
  514. package/test/components/Infotip.test.js +79 -0
  515. package/test/components/SideNavUI.test.js +23 -0
  516. package/test/index.test.js +8 -0
  517. package/test/session/session.test.js +221 -0
  518. package/test-setup.js +1 -0
  519. package/webpack.config.js +137 -0
  520. package/webpack.config.react.js +75 -0
  521. package/Dockerfile +0 -27
  522. package/Jenkinsfile +0 -22
  523. package/_config.dev.yml +0 -17
  524. package/_layouts/base.html +0 -42
  525. package/css/main.scss +0 -5
  526. package/dist/default.css +0 -2
  527. package/dist/default.css.map +0 -1
  528. package/dist/fonts/FontAwesome.otf +0 -0
  529. package/dist/fonts/Rubik-Bold.ttf +0 -0
  530. package/dist/fonts/Rubik-Light.ttf +0 -0
  531. package/dist/fonts/Rubik-Medium.ttf +0 -0
  532. package/dist/fonts/Rubik-Regular.ttf +0 -0
  533. package/dist/fonts/fontawesome-webfont.eot +0 -0
  534. package/dist/fonts/fontawesome-webfont.ttf +0 -0
  535. package/dist/fonts/fontawesome-webfont.woff +0 -0
  536. package/dist/fonts/fontawesome-webfont.woff2 +0 -0
  537. package/dist/report.html +0 -25
  538. package/js/components/Error/Collapsible.jsx +0 -35
  539. package/js/components/Error/ErrorUI.jsx +0 -24
  540. package/js/components/Error/error.js +0 -11
  541. package/js/components/Footer/FooterUI.jsx +0 -39
  542. package/js/components/Footer/footer.js +0 -17
  543. package/js/components/Header/HeaderAbout.jsx +0 -27
  544. package/js/components/Header/HeaderAccountMenu.jsx +0 -147
  545. package/js/components/Header/HeaderApms.jsx +0 -25
  546. package/js/components/Header/HeaderMips.jsx +0 -43
  547. package/js/components/Header/HeaderUI.jsx +0 -87
  548. package/js/components/Header/header.js +0 -16
  549. package/js/components/InfoModal/index.jsx +0 -64
  550. package/js/components/SessionDialogUI.jsx +0 -199
  551. package/js/components/SideNav/Chart/ScoreChart.jsx +0 -246
  552. package/js/components/SideNav/Chart/__tests__/ScoreChart.test.js +0 -28
  553. package/js/components/SideNav/Chart/__tests__/__snapshots__/ScoreChart.test.js.snap +0 -57
  554. package/js/components/SideNav/Chart/index.js +0 -1
  555. package/js/components/SideNav/Content/CmsContent.jsx +0 -85
  556. package/js/components/SideNav/Content/FeedbackContent.jsx +0 -76
  557. package/js/components/SideNav/Content/LevelOneContent.jsx +0 -64
  558. package/js/components/SideNav/Content/LevelThreeContent.jsx +0 -99
  559. package/js/components/SideNav/Content/LevelTwoContent.jsx +0 -89
  560. package/js/components/SideNav/Content/index.js +0 -5
  561. package/js/components/SideNav/Details/IndividualDetails.jsx +0 -35
  562. package/js/components/SideNav/Details/PracticeDetails.jsx +0 -33
  563. package/js/components/SideNav/Details/index.js +0 -2
  564. package/js/components/SideNav/Links/CmsReportLink.jsx +0 -117
  565. package/js/components/SideNav/Links/NavLinkBack.jsx +0 -8
  566. package/js/components/SideNav/Links/NavLinkContainer.jsx +0 -33
  567. package/js/components/SideNav/Links/NavLinkDrawer.jsx +0 -86
  568. package/js/components/SideNav/Links/NavLinkInline.jsx +0 -22
  569. package/js/components/SideNav/Links/NavLinkSlideOut.jsx +0 -47
  570. package/js/components/SideNav/Links/NavLinkToggle.jsx +0 -25
  571. package/js/components/SideNav/Links/index.js +0 -7
  572. package/js/components/SideNav/UI/SideNavUI.jsx +0 -115
  573. package/js/components/SideNav/UI/index.js +0 -1
  574. package/js/components/SideNav/index.js +0 -25
  575. package/js/components/index.js +0 -11
  576. package/js/index.js +0 -28
  577. package/js/session/logout.js +0 -43
  578. package/js/session/refresh.js +0 -47
  579. package/js/session/ttl.js +0 -32
  580. package/sidebar-demo.html +0 -48
  581. package/styles/components/_footer.scss +0 -157
  582. package/styles/components/_header.scss +0 -393
  583. package/styles/components/_sidebar.scss +0 -6
  584. package/styles/components/_tool-tips.scss +0 -6
  585. package/styles/components/sidebar/_animations.scss +0 -16
  586. package/styles/components/sidebar/_links.scss +0 -284
  587. package/styles/components/sidebar/_sidebar.scss +0 -108
  588. package/styles/guide/_layout.scss +0 -120
  589. package/styles/guide/sidebar-demo.css +0 -121
  590. package/yarn.lock +0 -5694
@@ -0,0 +1,970 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for react/components/SideNav/Links/NavLinkDrawer.jsx</title>
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" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">react/components/SideNav/Links</a> NavLinkDrawer.jsx</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">2.73% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>2/73</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/100</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/21</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">2.73% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>2/73</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
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
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-neutral">&nbsp;</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-yes">2x</span>
368
+ <span class="cline-any cline-neutral">&nbsp;</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-neutral">&nbsp;</span>
376
+ <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-neutral">&nbsp;</span>
378
+ <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-neutral">&nbsp;</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-neutral">&nbsp;</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-neutral">&nbsp;</span>
385
+ <span class="cline-any cline-neutral">&nbsp;</span>
386
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-neutral">&nbsp;</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
389
+ <span class="cline-any cline-no">&nbsp;</span>
390
+ <span class="cline-any cline-no">&nbsp;</span>
391
+ <span class="cline-any cline-no">&nbsp;</span>
392
+ <span class="cline-any cline-no">&nbsp;</span>
393
+ <span class="cline-any cline-no">&nbsp;</span>
394
+ <span class="cline-any cline-neutral">&nbsp;</span>
395
+ <span class="cline-any cline-no">&nbsp;</span>
396
+ <span class="cline-any cline-no">&nbsp;</span>
397
+ <span class="cline-any cline-no">&nbsp;</span>
398
+ <span class="cline-any cline-no">&nbsp;</span>
399
+ <span class="cline-any cline-no">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-neutral">&nbsp;</span>
402
+ <span class="cline-any cline-no">&nbsp;</span>
403
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
407
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-neutral">&nbsp;</span>
409
+ <span class="cline-any cline-no">&nbsp;</span>
410
+ <span class="cline-any cline-no">&nbsp;</span>
411
+ <span class="cline-any cline-no">&nbsp;</span>
412
+ <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-no">&nbsp;</span>
416
+ <span class="cline-any cline-neutral">&nbsp;</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-neutral">&nbsp;</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-no">&nbsp;</span>
423
+ <span class="cline-any cline-no">&nbsp;</span>
424
+ <span class="cline-any cline-no">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-no">&nbsp;</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
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>
431
+ <span class="cline-any cline-no">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-no">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-no">&nbsp;</span>
437
+ <span class="cline-any cline-no">&nbsp;</span>
438
+ <span class="cline-any cline-no">&nbsp;</span>
439
+ <span class="cline-any cline-no">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-no">&nbsp;</span>
442
+ <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-no">&nbsp;</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-no">&nbsp;</span>
448
+ <span class="cline-any cline-no">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-no">&nbsp;</span>
451
+ <span class="cline-any cline-no">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-no">&nbsp;</span>
455
+ <span class="cline-any cline-no">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-no">&nbsp;</span>
459
+ <span class="cline-any cline-neutral">&nbsp;</span>
460
+ <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-no">&nbsp;</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-no">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-no">&nbsp;</span>
469
+ <span class="cline-any cline-no">&nbsp;</span>
470
+ <span class="cline-any cline-no">&nbsp;</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-no">&nbsp;</span>
483
+ <span class="cline-any cline-no">&nbsp;</span>
484
+ <span class="cline-any cline-neutral">&nbsp;</span>
485
+ <span class="cline-any cline-neutral">&nbsp;</span>
486
+ <span class="cline-any cline-no">&nbsp;</span>
487
+ <span class="cline-any cline-no">&nbsp;</span>
488
+ <span class="cline-any cline-neutral">&nbsp;</span>
489
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
+ <span class="cline-any cline-no">&nbsp;</span>
491
+ <span class="cline-any cline-no">&nbsp;</span>
492
+ <span class="cline-any cline-neutral">&nbsp;</span>
493
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
+ <span class="cline-any cline-no">&nbsp;</span>
495
+ <span class="cline-any cline-no">&nbsp;</span>
496
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-neutral">&nbsp;</span>
498
+ <span class="cline-any cline-no">&nbsp;</span>
499
+ <span class="cline-any cline-no">&nbsp;</span>
500
+ <span class="cline-any cline-neutral">&nbsp;</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-no">&nbsp;</span>
503
+ <span class="cline-any cline-no">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-no">&nbsp;</span>
507
+ <span class="cline-any cline-no">&nbsp;</span>
508
+ <span class="cline-any cline-neutral">&nbsp;</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-no">&nbsp;</span>
511
+ <span class="cline-any cline-no">&nbsp;</span>
512
+ <span class="cline-any cline-neutral">&nbsp;</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-no">&nbsp;</span>
515
+ <span class="cline-any cline-no">&nbsp;</span>
516
+ <span class="cline-any cline-no">&nbsp;</span>
517
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-no">&nbsp;</span>
519
+ <span class="cline-any cline-no">&nbsp;</span>
520
+ <span class="cline-any cline-neutral">&nbsp;</span>
521
+ <span class="cline-any cline-neutral">&nbsp;</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-no">&nbsp;</span>
526
+ <span class="cline-any cline-no">&nbsp;</span>
527
+ <span class="cline-any cline-neutral">&nbsp;</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-no">&nbsp;</span>
530
+ <span class="cline-any cline-no">&nbsp;</span>
531
+ <span class="cline-any cline-neutral">&nbsp;</span>
532
+ <span class="cline-any cline-neutral">&nbsp;</span>
533
+ <span class="cline-any cline-neutral">&nbsp;</span>
534
+ <span class="cline-any cline-neutral">&nbsp;</span>
535
+ <span class="cline-any cline-neutral">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-no">&nbsp;</span>
538
+ <span class="cline-any cline-neutral">&nbsp;</span>
539
+ <span class="cline-any cline-neutral">&nbsp;</span>
540
+ <span class="cline-any cline-neutral">&nbsp;</span>
541
+ <span class="cline-any cline-neutral">&nbsp;</span>
542
+ <span class="cline-any cline-neutral">&nbsp;</span>
543
+ <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
545
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
+ <span class="cline-any cline-neutral">&nbsp;</span>
547
+ <span class="cline-any cline-neutral">&nbsp;</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-no">&nbsp;</span>
550
+ <span class="cline-any cline-neutral">&nbsp;</span>
551
+ <span class="cline-any cline-neutral">&nbsp;</span>
552
+ <span class="cline-any cline-neutral">&nbsp;</span>
553
+ <span class="cline-any cline-neutral">&nbsp;</span>
554
+ <span class="cline-any cline-neutral">&nbsp;</span>
555
+ <span class="cline-any cline-neutral">&nbsp;</span>
556
+ <span class="cline-any cline-neutral">&nbsp;</span>
557
+ <span class="cline-any cline-neutral">&nbsp;</span>
558
+ <span class="cline-any cline-neutral">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-neutral">&nbsp;</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
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>
566
+ <span class="cline-any cline-neutral">&nbsp;</span>
567
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
+ <span class="cline-any cline-neutral">&nbsp;</span>
569
+ <span class="cline-any cline-neutral">&nbsp;</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-neutral">&nbsp;</span>
573
+ <span class="cline-any cline-neutral">&nbsp;</span>
574
+ <span class="cline-any cline-no">&nbsp;</span>
575
+ <span class="cline-any cline-neutral">&nbsp;</span>
576
+ <span class="cline-any cline-neutral">&nbsp;</span>
577
+ <span class="cline-any cline-neutral">&nbsp;</span>
578
+ <span class="cline-any cline-neutral">&nbsp;</span>
579
+ <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-neutral">&nbsp;</span>
585
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-neutral">&nbsp;</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-neutral">&nbsp;</span>
589
+ <span class="cline-any cline-neutral">&nbsp;</span>
590
+ <span class="cline-any cline-neutral">&nbsp;</span>
591
+ <span class="cline-any cline-neutral">&nbsp;</span>
592
+ <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-neutral">&nbsp;</span>
595
+ <span class="cline-any cline-neutral">&nbsp;</span>
596
+ <span class="cline-any cline-neutral">&nbsp;</span>
597
+ <span class="cline-any cline-neutral">&nbsp;</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-neutral">&nbsp;</span>
603
+ <span class="cline-any cline-neutral">&nbsp;</span>
604
+ <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-neutral">&nbsp;</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-neutral">&nbsp;</span>
620
+ <span class="cline-any cline-neutral">&nbsp;</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-neutral">&nbsp;</span>
623
+ <span class="cline-any cline-neutral">&nbsp;</span>
624
+ <span class="cline-any cline-neutral">&nbsp;</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-neutral">&nbsp;</span>
627
+ <span class="cline-any cline-neutral">&nbsp;</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-yes">2x</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-neutral">&nbsp;</span>
635
+ <span class="cline-any cline-neutral">&nbsp;</span>
636
+ <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-neutral">&nbsp;</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-neutral">&nbsp;</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-neutral">&nbsp;</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useState, useEffect } from 'react';
657
+ import PropTypes from 'prop-types';
658
+ &nbsp;
659
+ import { handleNavigation } from '../helpers';
660
+ import AnimationGroup from '../AnimationGroup/AnimationGroup';
661
+ &nbsp;
662
+ const NavLinkDrawer = <span class="fstat-no" title="function not covered" >({</span>
663
+ className,
664
+ disabled,
665
+ isAlwaysOpen,
666
+ isExpanded,
667
+ items,
668
+ label,
669
+ leftIcon,
670
+ linkActiveFunc,
671
+ linkCallback,
672
+ listOfLinks,
673
+ openByDefault,
674
+ rightIcon,
675
+ sidebarExpand,
676
+ staticDrawer,
677
+ url,
678
+ isHighlighted,
679
+ darkerBackground,
680
+ leftBorderHighlightDisabled,
681
+ hideLabelSection,
682
+ largerDrawerBottomPadding,
683
+ }) =&gt; {
684
+ const [isOpen, setIsOpen] = <span class="cstat-no" title="statement not covered" >useState(openByDefault);</span>
685
+ const MANAGE_ACCESS = <span class="cstat-no" title="statement not covered" >'/user/manage-access';</span>
686
+ const ELIGIBILITY_REPORTING = <span class="cstat-no" title="statement not covered" >'/user/dashboard';</span>
687
+ const REGISTRATION = <span class="cstat-no" title="statement not covered" >'/user/registration';</span>
688
+ const SUBMISSION_FEEDBACK = <span class="cstat-no" title="statement not covered" >'/user/submissions/feedback';</span>
689
+ &nbsp;
690
+ const toggleDrawer = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
691
+ <span class="cstat-no" title="statement not covered" > if (!isExpanded &amp;&amp; typeof sidebarExpand === 'function') {</span>
692
+ <span class="cstat-no" title="statement not covered" > sidebarExpand();</span>
693
+ <span class="cstat-no" title="statement not covered" > setIsOpen(true);</span>
694
+ <span class="cstat-no" title="statement not covered" > return;</span>
695
+ }
696
+ &nbsp;
697
+ <span class="cstat-no" title="statement not covered" > if (!isAlwaysOpen &amp;&amp; !disabled) {</span>
698
+ <span class="cstat-no" title="statement not covered" > setIsOpen(!isOpen);</span>
699
+ }
700
+ &nbsp;
701
+ <span class="cstat-no" title="statement not covered" > reRouteHandler();</span>
702
+ };
703
+ &nbsp;
704
+ const reRouteHandler = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
705
+ <span class="cstat-no" title="statement not covered" > if (url) {</span>
706
+ <span class="cstat-no" title="statement not covered" > window.location.href = url;</span>
707
+ }
708
+ };
709
+ &nbsp;
710
+ const parentRerouteUrls = <span class="cstat-no" title="statement not covered" >[</span>
711
+ MANAGE_ACCESS,
712
+ ELIGIBILITY_REPORTING,
713
+ REGISTRATION,
714
+ SUBMISSION_FEEDBACK,
715
+ ];
716
+ &nbsp;
717
+ const parentReroute = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(u</span>rl) =&gt; {</span>
718
+ <span class="cstat-no" title="statement not covered" > if (parentRerouteUrls.includes(url)) {</span>
719
+ <span class="cstat-no" title="statement not covered" > return false;</span>
720
+ }
721
+ <span class="cstat-no" title="statement not covered" > return true;</span>
722
+ };
723
+ &nbsp;
724
+ const isLinkActive = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>ink, func) =&gt; {</span>
725
+ <span class="cstat-no" title="statement not covered" > if (typeof func === 'function') {</span>
726
+ <span class="cstat-no" title="statement not covered" > return func(link);</span>
727
+ }
728
+ <span class="cstat-no" title="statement not covered" > return window.location.href.indexOf(link.url) &gt; 0;</span>
729
+ };
730
+ &nbsp;
731
+ const isCurrentPage = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>ink, linkActiveFunc) =&gt; {</span>
732
+ const targetItems = <span class="cstat-no" title="statement not covered" >link.items || link.listOfLinks;</span>
733
+ <span class="cstat-no" title="statement not covered" > if (link.url &amp;&amp; isLinkActive(link, linkActiveFunc)) {</span>
734
+ <span class="cstat-no" title="statement not covered" > return true;</span>
735
+ }
736
+ <span class="cstat-no" title="statement not covered" > return (</span>
737
+ targetItems &amp;&amp;
738
+ targetItems.some(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >isCurrentPage(item, linkActiveFunc))</span>
739
+ );
740
+ };
741
+ &nbsp;
742
+ const buildLeftIconClasses = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
743
+ let leftIcon = <span class="cstat-no" title="statement not covered" >`left-icon`;</span>
744
+ &nbsp;
745
+ <span class="cstat-no" title="statement not covered" > if (isAlwaysOpen) {</span>
746
+ <span class="cstat-no" title="statement not covered" > leftIcon += ` always-open`;</span>
747
+ }
748
+ &nbsp;
749
+ <span class="cstat-no" title="statement not covered" > if (isHighlighted) {</span>
750
+ <span class="cstat-no" title="statement not covered" > leftIcon += ' fill-white';</span>
751
+ }
752
+ &nbsp;
753
+ <span class="cstat-no" title="statement not covered" > return leftIcon;</span>
754
+ };
755
+ &nbsp;
756
+ // Classes for the link drawer button
757
+ const currentPage = <span class="cstat-no" title="statement not covered" >isCurrentPage(</span>
758
+ { items, listOfLinks, url },
759
+ linkActiveFunc
760
+ );
761
+ const expandedClass = <span class="cstat-no" title="statement not covered" >currentPage ? 'expanded' : '';</span>
762
+ &nbsp;
763
+ const renderLeftIcon = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>eftIcon) =&gt; {</span>
764
+ <span class="cstat-no" title="statement not covered" > if (leftIcon) {</span>
765
+ <span class="cstat-no" title="statement not covered" > return (</span>
766
+ &lt;svg
767
+ className={`${buildLeftIconClasses()}`}
768
+ aria-hidden="true"
769
+ focusable="false"
770
+ &gt;
771
+ {leftIcon}
772
+ &lt;/svg&gt;
773
+ );
774
+ }
775
+ };
776
+ &nbsp;
777
+ const hasDarkerBackground = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(d</span>arkerBackground) =&gt; {</span>
778
+ <span class="cstat-no" title="statement not covered" > return darkerBackground ? 'background-highlight' : '';</span>
779
+ };
780
+ &nbsp;
781
+ const hasDarkerTitle = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(d</span>arkerBackground) =&gt; {</span>
782
+ <span class="cstat-no" title="statement not covered" > return darkerBackground ? 'expanded currentPage' : '';</span>
783
+ };
784
+ &nbsp;
785
+ const isLeftBorderHighlightDisabled = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>eftBorderHighlightDisabled) =&gt; {</span>
786
+ <span class="cstat-no" title="statement not covered" > return leftBorderHighlightDisabled ? 'left-border-disabled' : '';</span>
787
+ };
788
+ &nbsp;
789
+ const isLabelSectionHidden = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(h</span>ideLabelSection) =&gt; {</span>
790
+ <span class="cstat-no" title="statement not covered" > return hideLabelSection ? 'hidden-label-section' : '';</span>
791
+ };
792
+ &nbsp;
793
+ const isHiddenWhileCollapsed = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>sLeftBorderDisabled, isExpanded) =&gt; {</span>
794
+ <span class="cstat-no" title="statement not covered" > return isLeftBorderDisabled &amp;&amp; !isExpanded ? 'hidden-nav-link-item' : '';</span>
795
+ };
796
+ &nbsp;
797
+ const highlightTitle = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>sHighlighted) =&gt; {</span>
798
+ <span class="cstat-no" title="statement not covered" > return isHighlighted &amp;&amp; isExpanded ? 'highlight' : '';</span>
799
+ };
800
+ &nbsp;
801
+ const hasLargerDrawBottomPadding = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>argerDrawerBottomPadding) =&gt; {</span>
802
+ <span class="cstat-no" title="statement not covered" > return largerDrawerBottomPadding ? 'larger-drawer-bottom-padding' : '';</span>
803
+ };
804
+ &nbsp;
805
+ const adjustItemSpacing = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>argerDrawerBottomPadding) =&gt; {</span>
806
+ <span class="cstat-no" title="statement not covered" > return largerDrawerBottomPadding ? 'larger-item-spacing' : '';</span>
807
+ };
808
+ &nbsp;
809
+ <span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
810
+ <span class="cstat-no" title="statement not covered" > if (disabled) {</span>
811
+ <span class="cstat-no" title="statement not covered" > setIsOpen(false);</span>
812
+ }
813
+ <span class="cstat-no" title="statement not covered" > if (isAlwaysOpen) {</span>
814
+ <span class="cstat-no" title="statement not covered" > setIsOpen(isAlwaysOpen);</span>
815
+ }
816
+ }, []);
817
+ &nbsp;
818
+ // Render the links recursively. This will theoretically allow for an infinite number of nested link items.
819
+ // className will either be empty, parent-link - top most node, or child-link.
820
+ const renderDrawerLinksRecursively = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(n</span>avLinks, className = <span class="branch-0 cbranch-no" title="branch not covered" >'')</span> =&gt; {</span>
821
+ <span class="cstat-no" title="statement not covered" > return (</span>
822
+ navLinks &amp;&amp;
823
+ navLinks.map(<span class="fstat-no" title="function not covered" >(l</span>ink, index) =&gt; {
824
+ <span class="cstat-no" title="statement not covered" > if (link.type === 'divider') {</span>
825
+ <span class="cstat-no" title="statement not covered" > return (</span>
826
+ &lt;AnimationGroup display={true} key={index}&gt;
827
+ &lt;hr /&gt;
828
+ &lt;/AnimationGroup&gt;
829
+ );
830
+ }
831
+ &nbsp;
832
+ <span class="cstat-no" title="statement not covered" > return (</span>
833
+ &lt;li
834
+ key={link.label}
835
+ className={
836
+ isLinkActive(link, linkActiveFunc)
837
+ ? `active-link ${className}`
838
+ : className
839
+ }
840
+ &gt;
841
+ {link.url ? (
842
+ &lt;a
843
+ href={link.url}
844
+ onClick={<span class="fstat-no" title="function not covered" >(e</span>) =&gt; <span class="cstat-no" title="statement not covered" >handleNavigation(e, linkCallback, link.label)}</span>
845
+ tabIndex={isOpen ? '0' : '-1'}
846
+ data-track-category="SidebarNav"
847
+ data-track-action={`GoTo${
848
+ link.label ? link.label.split(' ').join('') : ''
849
+ }`}
850
+ data-track-label={link.label}
851
+ target="_self"
852
+ &gt;
853
+ {link.label}
854
+ &lt;/a&gt;
855
+ ) : (
856
+ &lt;div&gt;{link.label}&lt;/div&gt;
857
+ )}
858
+ {link.items &amp;&amp; link.items.length &gt; 0 &amp;&amp; (
859
+ &lt;ul aria-hidden={!isOpen}&gt;
860
+ {renderDrawerLinksRecursively(link.items, 'child-link')}
861
+ &lt;/ul&gt;
862
+ )}
863
+ &lt;/li&gt;
864
+ );
865
+ })
866
+ );
867
+ };
868
+ &nbsp;
869
+ <span class="cstat-no" title="statement not covered" > return (</span>
870
+ &lt;div className={staticDrawer ? 'static-drawer link-drawer' : 'link-drawer'}&gt;
871
+ {label &amp;&amp; (
872
+ &lt;button
873
+ onClick={toggleDrawer}
874
+ {...(!isAlwaysOpen ? { 'aria-pressed': isOpen } : {})}
875
+ tabIndex="0"
876
+ aria-label={label}
877
+ {...((parentReroute(url) &amp;&amp; isAlwaysOpen) || disabled
878
+ ? { disabled: isAlwaysOpen || disabled }
879
+ : {})}
880
+ className={`${className} ${expandedClass} ${highlightTitle(
881
+ isHighlighted
882
+ )} ${hasDarkerTitle(darkerBackground)}
883
+ ${currentPage ? 'currentPage' : ''} ${isLeftBorderHighlightDisabled(
884
+ leftBorderHighlightDisabled
885
+ )}
886
+ ${isLabelSectionHidden(hideLabelSection)}
887
+ ${isHiddenWhileCollapsed(leftBorderHighlightDisabled, isExpanded)}`}
888
+ &gt;
889
+ &lt;div className={isExpanded ? 'link-body' : 'link-body collapsed'}&gt;
890
+ {renderLeftIcon(leftIcon)}
891
+ &lt;AnimationGroup display={isExpanded}&gt;
892
+ &lt;span className="sidebar-inline-link-label"&gt;{label}&lt;/span&gt;
893
+ &lt;/AnimationGroup&gt;
894
+ &lt;/div&gt;
895
+ {isExpanded &amp;&amp; !isAlwaysOpen &amp;&amp; (
896
+ &lt;svg
897
+ className={`${isOpen ? 'right-icon rotated' : 'right-icon'}`}
898
+ focusable="false"
899
+ aria-hidden="true"
900
+ &gt;
901
+ {rightIcon}
902
+ &lt;/svg&gt;
903
+ )}
904
+ &lt;/button&gt;
905
+ )}
906
+ &lt;AnimationGroup display={isExpanded}&gt;
907
+ &lt;div
908
+ className={`${currentPage ? 'currentPage' : ''} ${
909
+ isOpen &amp;&amp; !disabled ? 'drawer open' : 'drawer'
910
+ } ${hasDarkerBackground(
911
+ darkerBackground
912
+ )} ${hasLargerDrawBottomPadding(largerDrawerBottomPadding)}`}
913
+ &gt;
914
+ &lt;ul aria-hidden={!isOpen}&gt;
915
+ {listOfLinks &amp;&amp;
916
+ renderDrawerLinksRecursively(
917
+ listOfLinks,
918
+ `parent-link ${adjustItemSpacing(largerDrawerBottomPadding)}`
919
+ )}
920
+ &lt;/ul&gt;
921
+ &lt;/div&gt;
922
+ &lt;/AnimationGroup&gt;
923
+ &lt;/div&gt;
924
+ );
925
+ };
926
+ &nbsp;
927
+ NavLinkDrawer.propTypes = {
928
+ isExpanded: PropTypes.bool,
929
+ isAlwaysOpen: PropTypes.bool,
930
+ openByDefault: PropTypes.bool,
931
+ className: PropTypes.string,
932
+ rightIcon: PropTypes.element,
933
+ leftIcon: PropTypes.element,
934
+ label: PropTypes.string,
935
+ linkActiveFunc: PropTypes.func,
936
+ linkCallback: PropTypes.func,
937
+ listOfLinks: PropTypes.array,
938
+ disabled: PropTypes.bool,
939
+ sidebarExpand: PropTypes.func,
940
+ staticDrawer: PropTypes.bool,
941
+ items: PropTypes.object,
942
+ url: PropTypes.string,
943
+ isHighlighted: PropTypes.bool,
944
+ darkerBackground: PropTypes.bool,
945
+ leftBorderHighlightDisabled: PropTypes.bool,
946
+ hideLabelSection: PropTypes.bool,
947
+ largerDrawerBottomPadding: PropTypes.bool,
948
+ };
949
+ &nbsp;
950
+ export default NavLinkDrawer;
951
+ &nbsp;</pre></td></tr></table></pre>
952
+
953
+ <div class='push'></div><!-- for sticky footer -->
954
+ </div><!-- /wrapper -->
955
+ <div class='footer quiet pad2 space-top1 center small'>
956
+ Code coverage generated by
957
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
958
+ at 2023-08-01T19:38:05.731Z
959
+ </div>
960
+ <script src="../../../../prettify.js"></script>
961
+ <script>
962
+ window.onload = function () {
963
+ prettyPrint();
964
+ };
965
+ </script>
966
+ <script src="../../../../sorter.js"></script>
967
+ <script src="../../../../block-navigation.js"></script>
968
+ </body>
969
+ </html>
970
+