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,125 @@
1
+ <svg aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;"
2
+ width="0" height="0" version="1.1" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink">
3
+ <symbol id="icon-warning" viewBox="-2 -2 25 25">
4
+ <style>
5
+ .st0{clip-path:url(#SVGID_2_);} .st1{clip-path:url(#SVGID_4_);fill:#999999;} .st2{enable-background:new ;} .st3{clip-path:url(#SVGID_7_);} .st4{clip-path:url(#SVGID_8_);fill:#999999;}
6
+ </style>
7
+ <defs>
8
+ <circle id="SVGID_1_" cx="10" cy="10" r="10"/>
9
+ </defs>
10
+ <clipPath id="SVGID_2_">
11
+ <use xlink:href="#SVGID_1_" overflow="visible"/>
12
+ </clipPath>
13
+ <g>
14
+ <defs>
15
+ <path id="SVGID_3_" d="M0 0h20v20H0z"/>
16
+ </defs>
17
+ <clipPath id="SVGID_4_">
18
+ <use xlink:href="#SVGID_3_" overflow="visible"/>
19
+ </clipPath>
20
+ <path d="M10 22C3.4 22-2 16.6-2 10S3.4-2 10-2s12 5.4 12 12-5.4 12-12 12zm0-20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z"/>
21
+ </g>
22
+ <g>
23
+ <defs>
24
+ <path id="SVGID_5_" d="M0 0h20v20H0z"/>
25
+ </defs>
26
+ <defs>
27
+ <path id="SVGID_6_" d="M0 0h20v20H0z"/>
28
+ </defs>
29
+ <clipPath id="SVGID_7_">
30
+ <use xlink:href="#SVGID_5_" overflow="visible"/>
31
+ </clipPath>
32
+ <clipPath id="SVGID_8_">
33
+ <use xlink:href="#SVGID_6_" overflow="visible"/>
34
+ </clipPath>
35
+ <path d="M10 11.7c-.6 0-1-.4-1-1V5.8c0-.6.4-1 1-1s1 .4 1 1v4.9c0 .5-.4 1-1 1zM10 15.3c-.6 0-1-.4-1-1v-.4c0-.6.4-1 1-1s1 .4 1 1v.4c0 .6-.4 1-1 1z"/>
36
+ </g>
37
+ </symbol>
38
+ <symbol id="search" viewBox="0 0 25 25">
39
+ <title>magnifying glass</title>
40
+ <path d="M3.9,12.8c-1.2-1.2-1.8-2.7-1.8-4.4c0-1.7,0.6-3.2,1.8-4.4c1.2-1.2,2.7-1.8,4.4-1.8c1.7,0,3.2,0.6,4.4,1.8
41
+ c2.4,2.4,2.4,6.4,0,8.8c-1.2,1.2-2.7,1.8-4.4,1.8C6.6,14.6,5.1,14,3.9,12.8z M19.7,18.3l-4.8-4.8c2.5-3.3,2.3-8-0.7-11
42
+ C12.6,1,10.5,0.1,8.3,0.1C6.1,0.1,4,1,2.4,2.6C0.9,4.1,0,6.2,0,8.4c0,2.2,0.9,4.3,2.4,5.9c1.6,1.6,3.7,2.4,5.9,2.4
43
+ c1.9,0,3.6-0.6,5.1-1.7l4.8,4.8c0.2,0.2,0.5,0.3,0.7,0.3c0.3,0,0.5-0.1,0.7-0.3C20.1,19.4,20.1,18.8,19.7,18.3z"/>
44
+ </symbol>
45
+ <symbol id="star-icon" viewBox="0 0 25 25">
46
+ <title>star</title>
47
+ <path d="M24.7,9.4c-0.1-0.1-0.2-0.1-0.3-0.2L16.6,8L13,0.9c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1,0-0.3,0-0.4,0
48
+ c0,0-0.2,0.1-0.2,0.2L8.4,8L0.6,9.2c-0.3,0-0.5,0.3-0.5,0.6c0,0.1,0.1,0.2,0.2,0.3L6,15.7l-1.3,7.9c-0.1,0.3,0.1,0.6,0.4,0.7h0.1
49
+ c0.1,0,0.2,0,0.3-0.1l7-3.7l7,3.7c0.1,0,0.2,0.1,0.3,0.1c0.3,0,0.6-0.3,0.6-0.6v-0.1l-1.3-7.9l5.6-5.6C24.9,10,24.9,9.6,24.7,9.4z
50
+ M7.1,15.8c0-0.2,0-0.4-0.2-0.5l-5.1-5.1l7-1.1C9,9.1,9.1,9,9.2,8.8l3.2-6.4l3.2,6.4C15.7,9,15.8,9.1,16,9.1l7,1.1l-4.9,5
51
+ c-0.1,0.1-0.3,0.4-0.3,0.6l1.4,7l-6.7-3.2c-0.2-0.1-0.4-0.1-0.5,0l-6.3,3.3L7.1,15.8z"/>
52
+ </symbol>
53
+ <symbol id="dashboard" viewBox="0 0 25 25">
54
+ <title>dashboard</title>
55
+ <g>
56
+ <path d="M22.2,12.8H12.1V2.8c0-0.3-0.2-0.5-0.5-0.5h-0.1c-6.2,0-11.2,5-11.2,11.2c0,6.2,5,11.2,11.2,11.2
57
+ c6.2,0,11.2-5,11.2-11.2v-0.1C22.7,13.1,22.5,12.8,22.2,12.8z M11.6,13.9h10c-0.2,5.4-4.7,9.7-10.1,9.7c-5.6,0-10.2-4.6-10.2-10.2
58
+ c0-5.4,4.3-9.9,9.7-10.1v10C11.1,13.7,11.3,13.9,11.6,13.9z"/>
59
+ <path d="M24.7,9.9l0-0.1C24,4.9,20.1,1,15.2,0.3l-0.1,0l0,0c-0.1,0-0.3,0-0.4,0.1c-0.1,0.1-0.2,0.2-0.2,0.4V10
60
+ c0,0.3,0.2,0.5,0.5,0.5h9.2c0.2,0,0.3-0.1,0.4-0.2C24.7,10.2,24.7,10.1,24.7,9.9z M23.5,9.5h-8v-8C19.5,2.2,22.8,5.5,23.5,9.5z"/>
61
+ </g>
62
+ </symbol>
63
+ <symbol id="early-claims-icon" viewBox="0 0 25 25">
64
+ <title>Claims Icon list</title>
65
+ <g>
66
+ <g transform="translate(2.000000, 0.000000)">
67
+ <g transform="translate(3.000000, 8.000000)">
68
+ <polygon points="0 1 15 1 15 0 0 0"></polygon>
69
+ <polygon points="0 4 15 4 15 3 0 3"></polygon>
70
+ <polygon points="0 7 15 7 15 6 0 6"></polygon>
71
+ <polygon points="0 10 15 10 15 9 0 9"></polygon>
72
+ <polygon points="0 13 15 13 15 12 0 12"></polygon>
73
+ </g>
74
+ <path d="M1,24 L1,1 L16,1 L16,5.5 C16,5.776 16.224,6 16.5,6 L20,6 L20,24 L1,24 Z M17,1.851 L19.446,5 L17,5 L17,1.851 Z M20.895,5.235 L16.979,0.193 C16.884,0.071 16.738,0 16.583,0 L0.5,0 C0.224,0 0,0.224 0,0.5 L0,24.5 C0,24.776 0.224,25 0.5,25 L20.5,25 C20.776,25 21,24.776 21,24.5 L21,5.542 C21,5.43 20.963,5.322 20.895,5.235 Z"></path>
75
+ </g>
76
+ </g>
77
+ </symbol>
78
+ <symbol id="physician-compare-icon" viewBox="0 0 25 25">
79
+ <title>Physician Compare</title>
80
+ <g stroke="none" stroke-width="1">
81
+ <g>
82
+ <path d="M19.2204301,5 L18.1451613,5 C17.7419355,5 17.4731183,5.2601626 17.4731183,5.6504065 C17.4731183,6.04065041 17.7419355,6.30081301 18.1451613,6.30081301 L19.2204301,6.30081301 C19.3548387,6.30081301 19.4892473,6.43089431 19.4892473,6.56097561 L19.4892473,11.8943089 C19.4892473,13.3252033 18.2795699,14.6260163 16.6666667,14.6260163 C15.0537634,14.6260163 13.844086,13.4552846 13.844086,11.8943089 L13.844086,6.56097561 C13.844086,6.43089431 13.9784946,6.30081301 14.1129032,6.30081301 L15.188172,6.30081301 C15.5913978,6.30081301 15.8602151,6.04065041 15.8602151,5.6504065 C15.8602151,5.2601626 15.5913978,5 15.188172,5 L14.1129032,5 C13.3064516,5 12.5,5.6504065 12.5,6.56097561 L12.5,11.8943089 C12.5,13.8455285 13.9784946,15.5365854 15.9946237,15.9268293 C15.8602151,18.398374 14.6505376,19.699187 12.5,19.699187 L12.2311828,19.699187 C9.40860215,19.699187 8.33333333,17.2276423 8.33333333,15.6666667 L8.33333333,14.495935 C9.67741935,14.1056911 10.6182796,12.9349593 10.6182796,11.504065 C10.7526882,9.81300813 9.27419355,8.38211382 7.52688172,8.38211382 C5.77956989,8.38211382 4.16666667,9.81300813 4.16666667,11.504065 C4.16666667,13.0650407 5.37634409,14.3658537 6.98924731,14.6260163 L6.98924731,15.6666667 C6.98924731,18.2682927 8.87096774,21 12.2311828,21 L12.5,21 C15.4569892,21 17.2043011,19.1788618 17.3387097,15.796748 C19.3548387,15.5365854 20.8333333,13.8455285 20.8333333,11.7642276 L20.8333333,6.56097561 C20.8333333,5.6504065 20.1612903,5 19.2204301,5 Z M5.77956989,11.504065 C5.77956989,10.5934959 6.58602151,9.94308943 7.39247312,9.94308943 C8.19892473,9.94308943 9.00537634,10.7235772 9.00537634,11.504065 C9.00537634,12.2845528 8.33333333,13.195122 7.52688172,13.195122 C6.72043011,13.195122 5.77956989,12.4146341 5.77956989,11.504065 Z"></path>
83
+ <path d="M20.718232,0 L4.14364641,0 C1.79558011,0 0,1.82291667 0,3.90625 L0,21.09375 C0,23.3072917 1.93370166,25 4.14364641,25 L20.8563536,25 C23.2044199,25 25,23.1770833 25,21.09375 L25,3.90625 C24.8618785,1.82291667 23.0662983,0 20.718232,0 Z M23.480663,21.09375 C23.480663,22.5260417 22.2375691,23.6979167 20.718232,23.6979167 L4.14364641,23.6979167 C2.62430939,23.6979167 1.38121547,22.5260417 1.38121547,21.09375 L1.38121547,3.90625 C1.38121547,2.47395833 2.62430939,1.30208333 4.14364641,1.30208333 L20.8563536,1.30208333 C22.3756906,1.30208333 23.6187845,2.47395833 23.6187845,3.90625 L23.6187845,21.09375 L23.480663,21.09375 Z"></path>
84
+ </g>
85
+ </g>
86
+ </symbol>
87
+ <symbol id="hardship-icon" viewBox="0 0 25 25" version="1.1">
88
+ <title>Hardship Icon</title>
89
+ <g>
90
+ <g transform="translate(2.000000, 0.000000)" fill-rule="nonzero">
91
+ <path d="M18.7721739,2.6119403 L14.4991304,2.6119403 L12.4813043,2.6119403 C12.5178261,2.44402985 12.5543478,2.2761194 12.5543478,2.0988806 C12.5543478,0.942164179 11.6321739,0 10.5,0 C9.36782609,0 8.44565217,0.942164179 8.44565217,2.0988806 C8.44565217,2.2761194 8.47304348,2.44402985 8.51869565,2.6119403 L6.49173913,2.6119403 L2.21869565,2.6119403 C0.995217391,2.6119403 0,3.62873134 0,4.8880597 L0,22.733209 C0,23.983209 0.995217391,25 2.21869565,25 L18.7721739,25 C19.9956522,25 21,23.983209 21,22.7238806 L21,4.8880597 C21,3.62873134 19.9956522,2.6119403 18.7721739,2.6119403 Z M10.5,0.932835821 C11.13,0.932835821 11.6413043,1.45522388 11.6413043,2.0988806 C11.6413043,2.31343284 11.5682609,2.5 11.4769565,2.66791045 C11.403913,2.7891791 11.3126087,2.9011194 11.2030435,2.99440299 C11.1482609,3.04104478 11.0843478,3.08768657 11.0204348,3.125 C10.9747826,3.14365672 10.9382609,3.17164179 10.8926087,3.19029851 C10.7647826,3.22761194 10.6369565,3.26492537 10.5,3.26492537 C10.3630435,3.26492537 10.2352174,3.22761194 10.1165217,3.18097015 C10.0708696,3.16231343 10.0343478,3.14365672 9.98869565,3.11567164 C9.92478261,3.07835821 9.86086957,3.03171642 9.80608696,2.98507463 C9.6873913,2.89179104 9.59608696,2.77052239 9.52304348,2.63992537 C9.43173913,2.47201493 9.36782609,2.29477612 9.36782609,2.08955224 C9.35869565,1.45522388 9.87,0.932835821 10.5,0.932835821 Z M20.0869565,22.7238806 C20.0869565,23.4608209 19.5026087,24.0671642 18.7721739,24.0671642 L2.21869565,24.0671642 C1.4973913,24.0671642 0.903913043,23.4701493 0.903913043,22.7238806 L0.903913043,4.8880597 C0.913043478,4.14179104 1.4973913,3.54477612 2.21869565,3.54477612 L6.49173913,3.54477612 L6.49173913,4.38432836 C6.49173913,4.95335821 6.93913043,5.41044776 7.49608696,5.41044776 L13.503913,5.41044776 C14.0608696,5.41044776 14.5082609,4.95335821 14.5082609,4.38432836 L14.5082609,3.54477612 L18.7813043,3.54477612 C19.5026087,3.54477612 20.096087,4.14179104 20.096087,4.8880597 L20.096087,22.7238806 L20.0869565,22.7238806 L20.0869565,22.7238806 Z"></path>
92
+ <g transform="translate(4.000000, 9.000000)">
93
+ <rect x="3.50571429" y="7.24" width="7.97142857" height="1"></rect>
94
+ <rect x="0.848571429" y="7.24" width="1.37142857" height="1"></rect>
95
+ <rect x="6.50571429" y="2.17" width="4.97142857" height="1"></rect>
96
+ <polygon points="2.13428571 4.04 0.402857143 2.01 1.01142857 1.31 2.13428571 2.62 4.03714286 0.41 4.64571429 1.11"></polygon>
97
+ </g>
98
+ </g>
99
+ </g>
100
+ </symbol>
101
+ <symbol id="target-icon" viewBox="0 0 25 25" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
102
+ <title>Targeted Review</title>
103
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
104
+ <g transform="translate(1.000000, 1.000000)">
105
+ <path d="M15.6521739,13.3410862 C14.9799955,14.9155188 13.3391142,15.8471825 11.6426584,15.617619 C9.9462025,15.3880555 8.61194453,14.0537975 8.38238102,12.3573416 C8.15281751,10.6608858 9.08448121,9.0200045 10.6589138,8.34782609" stroke-linecap="round"></path>
106
+ <path d="M19.826087,11.4686261 C19.5475194,15.6524455 16.0240274,18.8752139 11.8318419,18.780577 C7.63965639,18.6859401 4.26519733,15.3074531 4.17572893,11.1153254 C4.08626053,6.92319774 7.31350554,3.40382874 11.4978365,3.13043478" stroke-linecap="round"></path>
107
+ <path d="M22.9565217,10.4801044 C22.9565217,10.8094757 22.9565217,11.1488279 22.9565217,11.4781992 C22.9565217,16.1251852 20.1544991,20.3136359 15.8592987,22.0872623 C11.5640982,23.8608888 6.62327363,22.8696906 3.3445233,19.5766243 C0.065772964,16.283558 -0.903887735,11.3384639 0.888438166,7.05103466 C2.68076407,2.7636054 6.8813862,-0.0200950351 11.5283306,0 C11.867683,0 12.2070354,0 12.5264259,0" stroke-linecap="round"></path>
108
+ <path d="M23.4104348,8.34782609 C23.4626087,8.69217391 23.5147826,9.04695652 23.546087,9.39130435" stroke-linecap="round"></path>
109
+ <path d="M19.0559527,8.3085908 L16.1993898,7.27346855 C15.9679825,7.18675289 15.7867762,7.00255341 15.7042523,6.77015223 L14.6758896,3.9211919 C14.5392501,3.60164864 14.6150694,3.23112279 14.8663271,2.99053153 L17.5610181,0.255529619 C17.7680939,0.0454487694 18.069052,-0.043464617 18.357445,0.020237671 C18.6458381,0.083939959 18.8810085,0.291277194 18.9797777,0.568915255 L19.7415278,2.61067015 C19.8301804,2.85007338 20.017334,3.04018548 20.2557092,3.13297955 L22.4076532,3.94968151 C22.6793557,4.05644917 22.8788566,4.29253202 22.938341,4.57768034 C22.9978255,4.86282867 22.9092906,5.15867892 22.7028314,5.36466513 L19.960531,8.07117744 C19.7289278,8.31564041 19.3782081,8.40768945 19.0559527,8.3085908 Z"></path>
110
+ <line x1="12.5217391" y1="10.4347826" x2="16.6956522" y2="6.26086957" stroke-linecap="round"></line>
111
+ </g>
112
+ </g>
113
+ </symbol>
114
+ <symbol id="manage-users" viewBox="0 0 25 25">
115
+ <title>manage-users</title>
116
+ <g>
117
+ <path d="M4.4,10.8V0.2H3.6v10.7c-1.9,0.2-3.4,1.8-3.4,3.8s1.5,3.6,3.4,3.8v6.4h0.9v-6.4c1.9-0.2,3.4-1.8,3.4-3.8
118
+ S6.3,11.1,4.4,10.8z M4,17.6c-1.6,0-3-1.3-3-3s1.3-3,3-3s3,1.3,3,3S5.6,17.6,4,17.6z"/>
119
+ <path d="M12.9,2.3V0.2h-0.9v2.2c-1.9,0.2-3.4,1.8-3.4,3.8c0,2,1.5,3.6,3.4,3.8v14.9h0.9V9.9c1.9-0.2,3.4-1.8,3.4-3.8
120
+ C16.3,4.2,14.8,2.6,12.9,2.3z M12.5,9.1c-1.6,0-3-1.3-3-3s1.3-3,3-3s3,1.3,3,3S14.1,9.1,12.5,9.1z"/>
121
+ <path d="M24.8,18.9c0-2-1.5-3.6-3.4-3.8V0.2h-0.9v14.9c-1.9,0.2-3.4,1.8-3.4,3.8s1.5,3.6,3.4,3.8v2.2h0.9v-2.2
122
+ C23.3,22.4,24.8,20.8,24.8,18.9z M21,21.8c-1.6,0-3-1.3-3-3c0-1.6,1.3-3,3-3s3,1.3,3,3C24,20.5,22.6,21.8,21,21.8z"/>
123
+ </g>
124
+ </symbol>
125
+ </svg>
package/package.json CHANGED
@@ -1,56 +1,72 @@
1
1
  {
2
2
  "name": "qpp-style",
3
- "version": "2.1.13",
3
+ "version": "2.2.0-sm.0",
4
4
  "description": "Shared style guide across the QPP program.",
5
5
  "main": "dist/index.js",
6
+ "homepage": "https://cmsgov.github.io/qpp-style",
6
7
  "scripts": {
7
8
  "prepublishOnly": "npm run build",
8
- "build": "npm run clean && webpack --progress --colors --env.production=true",
9
- "dev": "npm run clean && webpack --progress --colors --watch --env.production=false",
10
- "docs": "bundle exec jekyll serve --config _config.dev.yml",
11
- "build-css": "mkdirp ./build/css && node-sass ./styles/_main.scss ./build/css/qpp-style.css && npm run build-prefix",
9
+ "build": "npm run clean && webpack-cli --progress --env production=true && npm run build-react",
10
+ "dev": "npm run clean && webpack-cli --progress --watch --env production=false",
12
11
  "clean": "rimraf build && rimraf dist",
13
- "build-fonts": "mkdirp ./build/fonts && cp ./fonts/* ./build/fonts",
14
- "build-library": "npm run build-library-assets",
15
- "build-library-assets": "npm run clean && npm run build-css && npm run build-fonts",
16
- "build-prefix": "postcss --use autoprefixer build/css/qpp-style.css -o ./build/css/qpp-style.css",
12
+ "build-react": "webpack --progress --config webpack.config.react.js",
17
13
  "start": "npm run build",
18
- "test": "mocha --require ./test/test_helper.js --require ignore-styles --compilers js:babel-core/register \"test/**/*@(.js|.jsx)\""
14
+ "test": "jest",
15
+ "prepare": "cd .. && husky install react/.husky",
16
+ "precommit": "npm run format && npm run lint && npm run format-styles",
17
+ "prepush": "npm test",
18
+ "format": "prettier --write 'components/**/*.(js|jsx)'",
19
+ "lint": "eslint 'components/**/*.{js,jsx}'",
20
+ "stylelint": "stylelint 'styles/**/*.{css,scss}'",
21
+ "format-styles": "prettier 'styles/**/*.{css,scss}' --write --quiet"
19
22
  },
20
23
  "devDependencies": {
21
- "autoprefixer": "^6.6.1",
22
- "babel-cli": "^6.24.1",
23
- "babel-core": "^6.25.0",
24
- "babel-loader": "^7.1.1",
25
- "babel-preset-es2015": "^6.24.1",
26
- "babel-preset-react": "^6.24.1",
27
- "babel-register": "^6.26.0",
28
- "chai": "^4.1.0",
29
- "css-loader": "^0.28.4",
30
- "enzyme": "^2.9.1",
31
- "enzyme-to-json": "^1.6.0",
32
- "extract-text-webpack-plugin": "^3.0.0",
33
- "ignore-styles": "^5.0.1",
34
- "jest": "^21.1.0",
35
- "jsdom": "^11.1.0",
36
- "jsonwebtoken": "^8.1.0",
37
- "mkdirp": "^0.5.1",
38
- "mocha": "^3.4.2",
24
+ "@babel/cli": "^7.22.9",
25
+ "@babel/core": "^7.22.9",
26
+ "@babel/eslint-parser": "^7.22.9",
27
+ "@babel/preset-env": "^7.22.9",
28
+ "@babel/preset-react": "^7.22.5",
29
+ "@babel/register": "^7.22.5",
30
+ "@svgr/webpack": "^8.0.1",
31
+ "@testing-library/react": "^14.0.0",
32
+ "autoprefixer": "^10.4.14",
33
+ "babel-jest": "^29.6.1",
34
+ "babel-loader": "^9.1.3",
35
+ "babel-plugin-transform-class-properties": "^6.24.1",
36
+ "babel-plugin-transform-es2015-modules-umd": "^6.24.1",
37
+ "chai": "^4.3.7",
38
+ "copy-webpack-plugin": "^11.0.0",
39
+ "css-loader": "^6.8.1",
40
+ "eslint": "^8.45.0",
41
+ "eslint-config-prettier": "^8.8.0",
42
+ "eslint-plugin-babel": "^5.3.1",
43
+ "eslint-plugin-prettier": "^5.0.0",
44
+ "eslint-plugin-react": "^7.32.2",
45
+ "eslint-webpack-plugin": "^4.0.1",
46
+ "feather-icons-react": "^0.6.2",
47
+ "gh-pages": "^5.0.0",
48
+ "husky": "^8.0.3",
49
+ "jest": "^29.6.1",
50
+ "jest-environment-jsdom": "^29.6.1",
51
+ "jsonwebtoken": "^9.0.1",
52
+ "mini-css-extract-plugin": "^2.7.6",
39
53
  "moxios": "^0.4.0",
40
- "node-sass": "^4.5.3",
41
- "postcss": "^5.2.10",
42
- "postcss-cli": "^2.3.3",
43
- "raw-loader": "^0.5.1",
44
- "react": "^15.6.1",
45
- "react-dom": "^15.6.1",
46
- "react-svg-inline": "^2.0.0",
47
- "react-test-renderer": "^15.6.1",
48
- "rimraf": "^2.6.1",
49
- "sass-loader": "^6.0.6",
50
- "sinon": "^3.0.0",
51
- "style-loader": "^0.18.2",
52
- "webpack": "^3.1.0",
53
- "webpack-bundle-analyzer": "^2.9.0"
54
+ "preact": "^10.16.0",
55
+ "prettier": "^3.0.3",
56
+ "react": "^18.2.0",
57
+ "react-dom": "^18.2.0",
58
+ "react-test-renderer": "^18.2.0",
59
+ "regenerator-runtime": "^0.13.11",
60
+ "rimraf": "^5.0.1",
61
+ "sass": "^1.63.6",
62
+ "sass-loader": "^13.3.2",
63
+ "sinon": "^15.0.3",
64
+ "style-loader": "^3.3.3",
65
+ "svgo": "^3.0.2",
66
+ "svgo-loader": "^4.0.0",
67
+ "terser-webpack-plugin": "^5.3.9",
68
+ "webpack": "^5.88.1",
69
+ "webpack-cli": "^5.1.4"
54
70
  },
55
71
  "repository": {
56
72
  "type": "git",
@@ -64,22 +80,21 @@
64
80
  "CMS",
65
81
  "CMSgov"
66
82
  ],
67
- "author": "Ad Hoc, LLC",
68
- "license": "UNLICENSED",
83
+ "author": "Centers for Medicare & Medicaid Services",
84
+ "license": "CC0-1.0",
69
85
  "bugs": {
70
86
  "url": "https://github.com/CMSgov/qpp-style/issues"
71
87
  },
72
- "homepage": "https://github.com/CMSgov/qpp-style#readme",
73
88
  "dependencies": {
74
- "axios": "^0.16.2",
75
- "cookie": "^0.3.1",
76
- "d3-scale": "^1.0.6",
77
- "d3-selection": "^1.1.0",
78
- "d3-shape": "^1.2.0",
79
- "file-loader": "^0.11.2",
80
- "jwt-decode": "^2.2.0",
81
- "prop-types": "^15.5.0",
82
- "react-modal": "^2.2.2",
83
- "svgo-loader": "^1.2.1"
89
+ "@material-design-icons/svg": "^0.14.11",
90
+ "ariakit": "^2.0.0-next.44",
91
+ "axios": "^1.5.0",
92
+ "cookie": "^0.5.0",
93
+ "jwt-decode": "^3.1.2",
94
+ "prop-types": "^15.8.1",
95
+ "react-modal": "^3.14.4",
96
+ "retry": "^0.13.1",
97
+ "what-input": "^5.2.12",
98
+ "xss": "^1.0.14"
84
99
  }
85
100
  }
@@ -2,8 +2,4 @@ import LogoutSession from './logout.js';
2
2
  import RefreshSession from './refresh.js';
3
3
  import fetchTtl from './ttl';
4
4
 
5
- export {
6
- fetchTtl,
7
- LogoutSession,
8
- RefreshSession
9
- }
5
+ export { fetchTtl, LogoutSession, RefreshSession };
@@ -0,0 +1,22 @@
1
+ let isAuthV2 = null;
2
+
3
+ export async function shouldUseAuthV2() {
4
+ const url = '/meta/environment';
5
+ if (isAuthV2 !== null) {
6
+ return isAuthV2;
7
+ }
8
+ try {
9
+ const response = await fetch(url);
10
+ if (response.ok) {
11
+ const json = await response.json();
12
+ const value = json.data.find(
13
+ (flag) => flag.environmentVariableName === 'FEATURE_AUTH_V2',
14
+ ).evaluatedValue;
15
+ isAuthV2 = value;
16
+ return value;
17
+ }
18
+ throw new Error('unable to access /meta/environment');
19
+ } catch (error) {
20
+ return false;
21
+ }
22
+ }
@@ -0,0 +1,77 @@
1
+ import cookie from 'cookie';
2
+ import axios from 'axios';
3
+
4
+ export const deleteImpersonatedUser = (cookies) => {
5
+ if (cookies.hasOwnProperty('qpp_impersonated_user')) {
6
+ document.cookie =
7
+ 'qpp_impersonated_user=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
8
+ }
9
+
10
+ if (cookies.hasOwnProperty('qpp_impersonated_type')) {
11
+ document.cookie =
12
+ 'qpp_impersonated_type=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
13
+ }
14
+ };
15
+
16
+ export const revertApmPaymentCookie = () => {
17
+ const userHasApmPayments = localStorage.getItem('user_has_apm_payments');
18
+
19
+ if (userHasApmPayments) {
20
+ document.cookie = `user_has_apm_payments=${userHasApmPayments}; Path=/;`;
21
+ }
22
+ };
23
+
24
+ export const revertQppHasAuthsCookie = () => {
25
+ const { qppHasAuthorizations, behindSSL } = JSON.parse(
26
+ localStorage.getItem('impersonatorAuthValues')
27
+ );
28
+ if (qppHasAuthorizations) {
29
+ document.cookie = `qpp_has_authorizations=${qppHasAuthorizations};path=/${
30
+ behindSSL ? ';secure' : ''
31
+ }`;
32
+ }
33
+ };
34
+
35
+ /**
36
+ * Makes an API request to end the user session.
37
+ * @param {Object} [_window] The DOM Window
38
+ * @return {Function} Returns a promise
39
+ */
40
+ const LogoutSession = (_window) => {
41
+ // Remove the Side Nav expanded state from localStorage
42
+ localStorage.removeItem('qpp_side_nav_expanded')
43
+
44
+ let cookies = cookie.parse(_window.document.cookie);
45
+ let logoutDestination = '/logout-confirmation';
46
+
47
+ if (cookies.hasOwnProperty('qpp_auth_token')) {
48
+ let onSuccess = () => {
49
+ // redirect to login/logged out screen
50
+ deleteImpersonatedUser(cookies);
51
+ _window.location.pathname = logoutDestination;
52
+ };
53
+
54
+ let onError = () => {
55
+ // delete cookie and redirect login/logged out screen
56
+ deleteImpersonatedUser(cookies);
57
+ _window.location.pathname = logoutDestination;
58
+ };
59
+
60
+ return axios({
61
+ method: 'POST',
62
+ url: '/user/session-logout',
63
+ headers: {
64
+ 'Content-Type': 'application/json',
65
+ Authorization: `Bearer ${cookies.qpp_auth_token}`,
66
+ },
67
+ })
68
+ .then(onSuccess, onError)
69
+ .catch(function (err) {
70
+ console.log(err);
71
+ });
72
+ } else {
73
+ _window.location.pathname = logoutDestination;
74
+ }
75
+ };
76
+
77
+ export default LogoutSession;
@@ -0,0 +1,52 @@
1
+ import cookie from 'cookie';
2
+ import logoutSession from './logout.js';
3
+ import { shouldUseAuthV2 } from './isAuthV2.js';
4
+
5
+ /**
6
+ * Makes an API request to refresh the session token cookie, if it exists.
7
+ * @param {Object} [options] - Optional configuration parameters.
8
+ * @param {function} [options.onSuccess] - An optional success callback.
9
+ * @param {function} [options.onError] - An optional error callback.
10
+ * @return {Function} Returns a promise
11
+ */
12
+ const refreshSession = async (options = {}) => {
13
+ const url = '/api/auth/sessions/refresh';
14
+ const isAuthV2 = await shouldUseAuthV2();
15
+ const version = isAuthV2 ? 'v2' : 'v1';
16
+ let cookies = cookie.parse(window.document.cookie);
17
+ const headers = new Headers({
18
+ Accept: `application/vnd.qpp.cms.gov.${version}+json`,
19
+ 'Content-Type': 'application/json',
20
+ Authorization: `Bearer ${cookies.qpp_auth_token}`,
21
+ });
22
+ const fetchOptions = {
23
+ method: 'POST',
24
+ headers,
25
+ };
26
+
27
+ const onSuccess = () => {
28
+ if (typeof options.onSuccess === 'function') {
29
+ options.onSuccess();
30
+ }
31
+ };
32
+
33
+ const onError = () => {
34
+ if (typeof options.onError === 'function') {
35
+ options.onError();
36
+ }
37
+
38
+ return logoutSession(window); // eslint-disable-line new-cap
39
+ };
40
+
41
+ try {
42
+ const response = await fetch(url, fetchOptions);
43
+ if (response.ok) {
44
+ return onSuccess();
45
+ }
46
+ throw new Error('Unable to refresh session');
47
+ } catch (error) {
48
+ onError();
49
+ }
50
+ };
51
+
52
+ export default refreshSession;
package/session/ttl.js ADDED
@@ -0,0 +1,25 @@
1
+ import { shouldUseAuthV2 } from './isAuthV2';
2
+
3
+ const fetchTtl = async (token) => {
4
+ const url = '/api/auth/sessions/ttl';
5
+ const isAuthV2 = await shouldUseAuthV2();
6
+ const version = isAuthV2 ? 'v2' : 'v1';
7
+ const headers = new Headers({
8
+ Accept: `application/vnd.qpp.cms.gov.${version}+json`,
9
+ 'Content-Type': 'application/json',
10
+ Authorization: `Bearer ${token}`,
11
+ });
12
+ const fetchOptions = { headers };
13
+ try {
14
+ const response = await fetch(url, fetchOptions);
15
+ const json = await response.json();
16
+ if (response.ok) {
17
+ return json.data.time_remaining;
18
+ }
19
+ return 0;
20
+ } catch (error) {
21
+ return 0;
22
+ }
23
+ };
24
+
25
+ export default fetchTtl;