qpp-style 9.14.0 → 9.15.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 (323) hide show
  1. package/components/DropdownButton/DropdownButton.stories.js +137 -0
  2. package/components/DropdownButton/index.js +148 -0
  3. package/components/Footer/FooterUI.jsx +40 -59
  4. package/components/Search/index.js +44 -31
  5. package/dist/browser.js +1 -1
  6. package/dist/browser.js.map +1 -1
  7. package/dist/index.js +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/react/index.js +1 -1
  10. package/dist/react/index.js.map +1 -1
  11. package/fonts/PublicSans-Black.ttf +0 -0
  12. package/fonts/PublicSans-BlackItalic.ttf +0 -0
  13. package/fonts/PublicSans-Bold.ttf +0 -0
  14. package/fonts/PublicSans-BoldItalic.ttf +0 -0
  15. package/fonts/PublicSans-ExtraBold.ttf +0 -0
  16. package/fonts/PublicSans-ExtraBoldItalic.ttf +0 -0
  17. package/fonts/PublicSans-ExtraLight.ttf +0 -0
  18. package/fonts/PublicSans-ExtraLightItalic.ttf +0 -0
  19. package/fonts/PublicSans-Italic.ttf +0 -0
  20. package/fonts/PublicSans-Light.ttf +0 -0
  21. package/fonts/PublicSans-LightItalic.ttf +0 -0
  22. package/fonts/PublicSans-Medium.ttf +0 -0
  23. package/fonts/PublicSans-MediumItalic.ttf +0 -0
  24. package/fonts/PublicSans-Regular.ttf +0 -0
  25. package/fonts/PublicSans-SemiBold.ttf +0 -0
  26. package/fonts/PublicSans-SemiBoldItalic.ttf +0 -0
  27. package/fonts/PublicSans-Thin.ttf +0 -0
  28. package/fonts/PublicSans-ThinItalic.ttf +0 -0
  29. package/images/icon-dot-gov.svg +1 -0
  30. package/images/icon-https.svg +1 -0
  31. package/images/icons/svg/file-download.svg +1 -0
  32. package/images/us_flag_small.png +0 -0
  33. package/package.json +3 -6
  34. package/styles/components/_header.scss +8 -5
  35. package/styles/qppds/base/_fonts.scss +24 -0
  36. package/styles/qppds/components/_button.scss +11 -2
  37. package/styles/qppds/components/_circular-loader.scss +47 -0
  38. package/styles/qppds/components/_dropdown-menu.scss +119 -0
  39. package/styles/qppds/components/_gov-banner.scss +351 -0
  40. package/styles/qppds/components/index.scss +3 -0
  41. package/styles/qppds/settings/variables/_type.scss +3 -0
  42. package/test-setup.js +0 -4
  43. package/coverage/clover.xml +0 -1264
  44. package/coverage/coverage-final.json +0 -69
  45. package/coverage/lcov-report/Header/HeaderUI.jsx.html +0 -1418
  46. package/coverage/lcov-report/Header/index.html +0 -111
  47. package/coverage/lcov-report/HeaderUI.jsx.html +0 -578
  48. package/coverage/lcov-report/SideNav/UI/index.html +0 -111
  49. package/coverage/lcov-report/SideNav/UI/index.js.html +0 -89
  50. package/coverage/lcov-report/base.css +0 -224
  51. package/coverage/lcov-report/block-navigation.js +0 -87
  52. package/coverage/lcov-report/components/Accordion/index.html +0 -111
  53. package/coverage/lcov-report/components/Accordion/index.jsx.html +0 -359
  54. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +0 -344
  55. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +0 -173
  56. package/coverage/lcov-report/components/Error/index.html +0 -126
  57. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +0 -845
  58. package/coverage/lcov-report/components/Footer/LegacyFooterUI.jsx.html +0 -662
  59. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +0 -260
  60. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +0 -182
  61. package/coverage/lcov-report/components/Footer/index.html +0 -156
  62. package/coverage/lcov-report/components/InfoModal/index.html +0 -111
  63. package/coverage/lcov-report/components/InfoModal/index.jsx.html +0 -392
  64. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +0 -305
  65. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +0 -203
  66. package/coverage/lcov-report/components/Infotip/index.html +0 -141
  67. package/coverage/lcov-report/components/Infotip/index.js.html +0 -89
  68. package/coverage/lcov-report/components/SanitizedContent/index.html +0 -111
  69. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +0 -680
  70. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +0 -863
  71. package/coverage/lcov-report/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +0 -161
  72. package/coverage/lcov-report/components/SideNav/AnimationGroup/index.html +0 -111
  73. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +0 -884
  74. package/coverage/lcov-report/components/SideNav/Chart/index.html +0 -126
  75. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +0 -89
  76. package/coverage/lcov-report/components/SideNav/Content/LevelOneContent.jsx.html +0 -677
  77. package/coverage/lcov-report/components/SideNav/Content/LevelTwoContent.jsx.html +0 -728
  78. package/coverage/lcov-report/components/SideNav/Content/index.html +0 -141
  79. package/coverage/lcov-report/components/SideNav/Content/index.js.html +0 -92
  80. package/coverage/lcov-report/components/SideNav/Details/IndividualDetails.jsx.html +0 -134
  81. package/coverage/lcov-report/components/SideNav/Details/PracticeDetails.jsx.html +0 -215
  82. package/coverage/lcov-report/components/SideNav/Details/index.html +0 -141
  83. package/coverage/lcov-report/components/SideNav/Details/index.js.html +0 -92
  84. package/coverage/lcov-report/components/SideNav/Links/CmsSwitchLink.jsx.html +0 -203
  85. package/coverage/lcov-report/components/SideNav/Links/NavItemInline.jsx.html +0 -242
  86. package/coverage/lcov-report/components/SideNav/Links/NavLinkContainer.jsx.html +0 -194
  87. package/coverage/lcov-report/components/SideNav/Links/NavLinkDrawer.jsx.html +0 -827
  88. package/coverage/lcov-report/components/SideNav/Links/NavLinkInline.jsx.html +0 -401
  89. package/coverage/lcov-report/components/SideNav/Links/NavLinkToggle.jsx.html +0 -182
  90. package/coverage/lcov-report/components/SideNav/Links/index.html +0 -201
  91. package/coverage/lcov-report/components/SideNav/Links/index.js.html +0 -119
  92. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +0 -1079
  93. package/coverage/lcov-report/components/SideNav/UI/index.html +0 -126
  94. package/coverage/lcov-report/components/SideNav/UI/index.js.html +0 -89
  95. package/coverage/lcov-report/components/SideNav/helpers.js.html +0 -227
  96. package/coverage/lcov-report/components/SideNav/index.html +0 -111
  97. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +0 -344
  98. package/coverage/lcov-report/components/Tooltip/index.html +0 -141
  99. package/coverage/lcov-report/components/Tooltip/index.js.html +0 -89
  100. package/coverage/lcov-report/components/Tooltip/position.js.html +0 -284
  101. package/coverage/lcov-report/components/hooks/index.html +0 -111
  102. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +0 -302
  103. package/coverage/lcov-report/components/index.html +0 -111
  104. package/coverage/lcov-report/favicon.png +0 -0
  105. package/coverage/lcov-report/index.html +0 -447
  106. package/coverage/lcov-report/lib/Chevron.jsx.html +0 -161
  107. package/coverage/lcov-report/lib/SvgComponents.jsx.html +0 -1697
  108. package/coverage/lcov-report/lib/index.html +0 -126
  109. package/coverage/lcov-report/lib/svg-definitions.svg.html +0 -455
  110. package/coverage/lcov-report/prettify.css +0 -1
  111. package/coverage/lcov-report/prettify.js +0 -2
  112. package/coverage/lcov-report/react/components/Accordion/index.html +0 -117
  113. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +0 -365
  114. package/coverage/lcov-report/react/components/Button/index.html +0 -117
  115. package/coverage/lcov-report/react/components/Button/index.js.html +0 -356
  116. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +0 -350
  117. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +0 -179
  118. package/coverage/lcov-report/react/components/Error/error.js.html +0 -164
  119. package/coverage/lcov-report/react/components/Error/index.html +0 -147
  120. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +0 -893
  121. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +0 -668
  122. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +0 -266
  123. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +0 -188
  124. package/coverage/lcov-report/react/components/Footer/footer.js.html +0 -176
  125. package/coverage/lcov-report/react/components/Footer/index.html +0 -177
  126. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +0 -593
  127. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +0 -134
  128. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +0 -275
  129. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +0 -212
  130. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +0 -236
  131. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +0 -755
  132. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +0 -236
  133. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +0 -272
  134. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +0 -197
  135. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +0 -584
  136. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +0 -182
  137. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +0 -251
  138. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +0 -167
  139. package/coverage/lcov-report/react/components/Header/header.js.html +0 -206
  140. package/coverage/lcov-report/react/components/Header/hooks.js.html +0 -242
  141. package/coverage/lcov-report/react/components/Header/index.html +0 -342
  142. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +0 -113
  143. package/coverage/lcov-report/react/components/InfoModal/index.html +0 -111
  144. package/coverage/lcov-report/react/components/InfoModal/index.jsx.html +0 -392
  145. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +0 -311
  146. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +0 -209
  147. package/coverage/lcov-report/react/components/Infotip/index.html +0 -147
  148. package/coverage/lcov-report/react/components/Infotip/index.js.html +0 -95
  149. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +0 -302
  150. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +0 -506
  151. package/coverage/lcov-report/react/components/Modal/index.html +0 -147
  152. package/coverage/lcov-report/react/components/Modal/index.jsx.html +0 -152
  153. package/coverage/lcov-report/react/components/NotificationBanner/NotificationBannerUI.jsx.html +0 -950
  154. package/coverage/lcov-report/react/components/NotificationBanner/index.html +0 -117
  155. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +0 -881
  156. package/coverage/lcov-report/react/components/SanitizedContent/index.html +0 -117
  157. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +0 -686
  158. package/coverage/lcov-report/react/components/SessionDialog/index.html +0 -117
  159. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +0 -164
  160. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +0 -869
  161. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +0 -167
  162. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +0 -117
  163. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +0 -890
  164. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +0 -132
  165. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +0 -95
  166. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +0 -614
  167. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +0 -734
  168. package/coverage/lcov-report/react/components/SideNav/Content/index.html +0 -147
  169. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +0 -98
  170. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +0 -140
  171. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +0 -221
  172. package/coverage/lcov-report/react/components/SideNav/Details/index.html +0 -147
  173. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +0 -98
  174. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +0 -209
  175. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +0 -248
  176. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +0 -200
  177. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +0 -833
  178. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +0 -407
  179. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +0 -188
  180. package/coverage/lcov-report/react/components/SideNav/Links/index.html +0 -207
  181. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +0 -125
  182. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +0 -1079
  183. package/coverage/lcov-report/react/components/SideNav/UI/index.html +0 -132
  184. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +0 -95
  185. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +0 -233
  186. package/coverage/lcov-report/react/components/SideNav/index.html +0 -132
  187. package/coverage/lcov-report/react/components/SideNav/index.js.html +0 -245
  188. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +0 -350
  189. package/coverage/lcov-report/react/components/Tooltip/index.html +0 -147
  190. package/coverage/lcov-report/react/components/Tooltip/index.js.html +0 -95
  191. package/coverage/lcov-report/react/components/Tooltip/position.js.html +0 -290
  192. package/coverage/lcov-report/react/components/hooks/index.html +0 -117
  193. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +0 -308
  194. package/coverage/lcov-report/react/components/index.html +0 -117
  195. package/coverage/lcov-report/react/index.html +0 -117
  196. package/coverage/lcov-report/react/index.js.html +0 -179
  197. package/coverage/lcov-report/react/lib/Chevron.jsx.html +0 -182
  198. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +0 -1703
  199. package/coverage/lcov-report/react/lib/index.html +0 -147
  200. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +0 -461
  201. package/coverage/lcov-report/react/session/index.html +0 -162
  202. package/coverage/lcov-report/react/session/index.js.html +0 -101
  203. package/coverage/lcov-report/react/session/logout.js.html +0 -236
  204. package/coverage/lcov-report/react/session/refresh.js.html +0 -233
  205. package/coverage/lcov-report/react/session/ttl.js.html +0 -197
  206. package/coverage/lcov-report/session/index.html +0 -126
  207. package/coverage/lcov-report/session/index.js.html +0 -95
  208. package/coverage/lcov-report/session/logout.js.html +0 -203
  209. package/coverage/lcov-report/session/refresh.js.html +0 -227
  210. package/coverage/lcov-report/session/ttl.js.html +0 -191
  211. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  212. package/coverage/lcov-report/sorter.js +0 -196
  213. package/coverage/lcov.info +0 -2844
  214. package/storybook-static/0.284246fa7dd756530022.manager.bundle.js +0 -1
  215. package/storybook-static/0.e444ffe0.iframe.bundle.js +0 -1
  216. package/storybook-static/4.38e07a72.iframe.bundle.js +0 -3
  217. package/storybook-static/4.38e07a72.iframe.bundle.js.LICENSE.txt +0 -8
  218. package/storybook-static/4.38e07a72.iframe.bundle.js.map +0 -1
  219. package/storybook-static/4.5a2288a7314de45771fd.manager.bundle.js +0 -2
  220. package/storybook-static/4.5a2288a7314de45771fd.manager.bundle.js.LICENSE.txt +0 -8
  221. package/storybook-static/5.96d29e90.iframe.bundle.js +0 -1
  222. package/storybook-static/5.f669e5db79f970f4eeda.manager.bundle.js +0 -2
  223. package/storybook-static/5.f669e5db79f970f4eeda.manager.bundle.js.LICENSE.txt +0 -12
  224. package/storybook-static/6.fbe12c4b.iframe.bundle.js +0 -3
  225. package/storybook-static/6.fbe12c4b.iframe.bundle.js.LICENSE.txt +0 -12
  226. package/storybook-static/6.fbe12c4b.iframe.bundle.js.map +0 -1
  227. package/storybook-static/6.fc183cb0948fa18c4851.manager.bundle.js +0 -1
  228. package/storybook-static/7.6262147d7bfe4804e70d.manager.bundle.js +0 -1
  229. package/storybook-static/7.9e6103c8.iframe.bundle.js +0 -1
  230. package/storybook-static/8.88a822e73e773dbd9da6.manager.bundle.js +0 -1
  231. package/storybook-static/favicon.ico +0 -0
  232. package/storybook-static/fonts/FontAwesome.otf +0 -0
  233. package/storybook-static/fonts/OFL.txt +0 -92
  234. package/storybook-static/fonts/Rubik-Black.ttf +0 -0
  235. package/storybook-static/fonts/Rubik-BlackItalic.ttf +0 -0
  236. package/storybook-static/fonts/Rubik-Bold.ttf +0 -0
  237. package/storybook-static/fonts/Rubik-BoldItalic.ttf +0 -0
  238. package/storybook-static/fonts/Rubik-Italic.ttf +0 -0
  239. package/storybook-static/fonts/Rubik-Light.ttf +0 -0
  240. package/storybook-static/fonts/Rubik-LightItalic.ttf +0 -0
  241. package/storybook-static/fonts/Rubik-Medium.ttf +0 -0
  242. package/storybook-static/fonts/Rubik-MediumItalic.ttf +0 -0
  243. package/storybook-static/fonts/Rubik-Regular.ttf +0 -0
  244. package/storybook-static/fonts/fontawesome-webfont.eot +0 -0
  245. package/storybook-static/fonts/fontawesome-webfont.svg +0 -2671
  246. package/storybook-static/fonts/fontawesome-webfont.ttf +0 -0
  247. package/storybook-static/fonts/fontawesome-webfont.woff +0 -0
  248. package/storybook-static/fonts/fontawesome-webfont.woff2 +0 -0
  249. package/storybook-static/iframe.html +0 -138
  250. package/storybook-static/images/favicon/android-chrome-192x192.png +0 -0
  251. package/storybook-static/images/favicon/android-chrome-256x256.png +0 -0
  252. package/storybook-static/images/favicon/apple-touch-icon.png +0 -0
  253. package/storybook-static/images/favicon/browserconfig.xml +0 -9
  254. package/storybook-static/images/favicon/favicon-16x16.png +0 -0
  255. package/storybook-static/images/favicon/favicon-32x32.png +0 -0
  256. package/storybook-static/images/favicon/favicon.ico +0 -0
  257. package/storybook-static/images/favicon/manifest.json +0 -18
  258. package/storybook-static/images/favicon/mstile-150x150.png +0 -0
  259. package/storybook-static/images/favicon/safari-pinned-tab.svg +0 -32
  260. package/storybook-static/images/hhs-logo-black.svg +0 -10
  261. package/storybook-static/images/hhs-logo-white.svg +0 -10
  262. package/storybook-static/images/icons/close-x.svg +0 -6
  263. package/storybook-static/images/icons/help-headset.svg +0 -21
  264. package/storybook-static/images/icons/svg/arrow-down.svg +0 -3
  265. package/storybook-static/images/icons/svg/arrow-download.svg +0 -5
  266. package/storybook-static/images/icons/svg/arrow-right.svg +0 -5
  267. package/storybook-static/images/icons/svg/close.svg +0 -3
  268. package/storybook-static/images/icons/svg/download.svg +0 -1
  269. package/storybook-static/images/icons/svg/external.svg +0 -4
  270. package/storybook-static/images/icons/svg/file-upload.svg +0 -1
  271. package/storybook-static/images/icons/svg/print.svg +0 -4
  272. package/storybook-static/images/icons/svg/trash.svg +0 -5
  273. package/storybook-static/images/icons/svg/upload.svg +0 -3
  274. package/storybook-static/images/qpp_logo_reversed.png +0 -0
  275. package/storybook-static/images/qpp_logo_rgb_color.png +0 -0
  276. package/storybook-static/index.html +0 -55
  277. package/storybook-static/main.18ac9bfd601c66f4bee6.manager.bundle.js +0 -1
  278. package/storybook-static/main.9d42b744.iframe.bundle.js +0 -1
  279. package/storybook-static/runtime~main.d17fbed7a9ad1d2c431e.manager.bundle.js +0 -1
  280. package/storybook-static/runtime~main.ed6e2009.iframe.bundle.js +0 -1
  281. package/storybook-static/static/media/Bitter-Bold.091bd4b7.woff +0 -0
  282. package/storybook-static/static/media/Bitter-Bold.24bf01e4.woff2 +0 -0
  283. package/storybook-static/static/media/Bitter-Bold.46bc29e4.ttf +0 -0
  284. package/storybook-static/static/media/Bitter-Bold.790f4f2f.eot +0 -0
  285. package/storybook-static/static/media/Bitter-Italic.1fa5390c.eot +0 -0
  286. package/storybook-static/static/media/Bitter-Italic.25e5675f.woff +0 -0
  287. package/storybook-static/static/media/Bitter-Italic.2eb18f5a.ttf +0 -0
  288. package/storybook-static/static/media/Bitter-Italic.34644574.woff2 +0 -0
  289. package/storybook-static/static/media/Bitter-Regular.4b22b6e8.woff +0 -0
  290. package/storybook-static/static/media/Bitter-Regular.559e7075.eot +0 -0
  291. package/storybook-static/static/media/Bitter-Regular.8db0301b.ttf +0 -0
  292. package/storybook-static/static/media/Bitter-Regular.f4e2f1f1.woff2 +0 -0
  293. package/storybook-static/static/media/FontAwesome.91f80bba.otf +0 -0
  294. package/storybook-static/static/media/OpenSans-Bold-webfont.202d819d.eot +0 -0
  295. package/storybook-static/static/media/OpenSans-Bold-webfont.92e570c6.woff2 +0 -0
  296. package/storybook-static/static/media/OpenSans-Bold-webfont.da71e99a.ttf +0 -0
  297. package/storybook-static/static/media/OpenSans-Bold-webfont.e75949bb.woff +0 -0
  298. package/storybook-static/static/media/OpenSans-Italic-webfont.72daa33a.woff2 +0 -0
  299. package/storybook-static/static/media/OpenSans-Italic-webfont.74ead3a8.woff +0 -0
  300. package/storybook-static/static/media/OpenSans-Italic-webfont.ae19388f.eot +0 -0
  301. package/storybook-static/static/media/OpenSans-Italic-webfont.ec7a2746.ttf +0 -0
  302. package/storybook-static/static/media/OpenSans-Regular-webfont.63a5fa7d.woff +0 -0
  303. package/storybook-static/static/media/OpenSans-Regular-webfont.66451be4.ttf +0 -0
  304. package/storybook-static/static/media/OpenSans-Regular-webfont.7882d20f.eot +0 -0
  305. package/storybook-static/static/media/OpenSans-Regular-webfont.ca4dd835.woff2 +0 -0
  306. package/storybook-static/static/media/OpenSans-Semibold-webfont.17ded75f.woff2 +0 -0
  307. package/storybook-static/static/media/OpenSans-Semibold-webfont.2a5adf6c.woff +0 -0
  308. package/storybook-static/static/media/OpenSans-Semibold-webfont.6059fecb.ttf +0 -0
  309. package/storybook-static/static/media/OpenSans-Semibold-webfont.c9808185.eot +0 -0
  310. package/storybook-static/static/media/Rubik-Bold.31bbd4d2.ttf +0 -0
  311. package/storybook-static/static/media/Rubik-Light.c90e2014.ttf +0 -0
  312. package/storybook-static/static/media/Rubik-Medium.5daa89aa.ttf +0 -0
  313. package/storybook-static/static/media/Rubik-Regular.cdf97d58.ttf +0 -0
  314. package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
  315. package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
  316. package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
  317. package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
  318. package/storybook-static/vendors~main.3604044d8484c1c4d1f7.manager.bundle.js +0 -2
  319. package/storybook-static/vendors~main.3604044d8484c1c4d1f7.manager.bundle.js.LICENSE.txt +0 -88
  320. package/storybook-static/vendors~main.7f923d15.iframe.bundle.js +0 -3
  321. package/storybook-static/vendors~main.7f923d15.iframe.bundle.js.LICENSE.txt +0 -152
  322. package/storybook-static/vendors~main.7f923d15.iframe.bundle.js.map +0 -1
  323. package/styles/qppds/utilities/_display-visability.scss +0 -83
@@ -0,0 +1,137 @@
1
+ import React from 'react';
2
+ import SvgIcon from '@material-ui/core/SvgIcon';
3
+ import DropdownButton from './index';
4
+ import { withKnobs, boolean } from '@storybook/addon-knobs';
5
+
6
+ export default {
7
+ title: 'DropdownButton',
8
+ component: DropdownButton,
9
+ decorators: [withKnobs],
10
+ };
11
+
12
+ // mat-ui v4 doesn't include this "FileDownload" icon, but mat-ui v5 does
13
+ // whenever we update to v5, we could replace this svg with the one from npm
14
+ const DownloadIcon = (...props) => (
15
+ <SvgIcon {...props}>
16
+ <path d="M18,15v3H6v-3H4v3c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-3H18z M17,11l-1.41-1.41L13,12.17V4h-2v8.17L8.41,9.59L7,11l5,5 L17,11z" />
17
+ </SvgIcon>
18
+ );
19
+
20
+ export const BasicExample = () => (
21
+ <div className="qpp-u-padding--48">
22
+ <DropdownButton
23
+ menuId="example-menu-1"
24
+ ariaLabel="aria label example"
25
+ buttonLabel="Test"
26
+ options={[
27
+ {
28
+ value: 'option 1',
29
+ },
30
+ { value: 'option 2', name: 'Name of Option 2' },
31
+ ]}
32
+ loading={boolean('loading', false)}
33
+ />
34
+ </div>
35
+ );
36
+
37
+ /*
38
+ Dropdown menu headers were removed from designs for now. We may revisit this
39
+ in the future so we're leaving this here until we decide on design.
40
+ */
41
+ // export const WithHeader = () => (
42
+ // <div className="qpp-u-padding--48">
43
+ // <DropdownButton
44
+ // menuId="example-menu-2"
45
+ // ariaLabel="aria label example"
46
+ // buttonLabel="Test"
47
+ // options={[
48
+ // {
49
+ // value: 'option 1',
50
+ // },
51
+ // { value: 'option 2', name: 'Name of Option 2' },
52
+ // ]}
53
+ // header="Header"
54
+ // />
55
+ // </div>
56
+ // );
57
+
58
+ export const Loading = () => (
59
+ <div className="qpp-u-padding--48">
60
+ <DropdownButton
61
+ menuId="example-menu-3"
62
+ ariaLabel="aria label example"
63
+ buttonLabel="Test"
64
+ options={[
65
+ {
66
+ value: 'option 1',
67
+ },
68
+ { value: 'option 2', name: 'Name of Option 2' },
69
+ ]}
70
+ loading
71
+ />
72
+ </div>
73
+ );
74
+
75
+ export const MaxHeight = () => (
76
+ <div className="qpp-u-padding--48">
77
+ <DropdownButton
78
+ menuId="example-menu-3"
79
+ ariaLabel="aria label example"
80
+ buttonLabel="Test"
81
+ options={[
82
+ { value: 'option 1' },
83
+ { value: 'option 2' },
84
+ { value: 'option 3' },
85
+ { value: 'option 4' },
86
+ { value: 'option 5' },
87
+ { value: 'option 6' },
88
+ { value: 'option 7' },
89
+ { value: 'option 8' },
90
+ { value: 'option 9' },
91
+ ]}
92
+ loading={boolean('loading', false)}
93
+ />
94
+ </div>
95
+ );
96
+
97
+ export const MaxWidth = () => (
98
+ <div className="qpp-u-padding--48">
99
+ <DropdownButton
100
+ menuId="example-menu-1"
101
+ ariaLabel="aria label example"
102
+ buttonLabel="Test"
103
+ options={[
104
+ { value: 'option 1' },
105
+ {
106
+ value: 'option 2',
107
+ name: 'very long item text 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24',
108
+ },
109
+ ]}
110
+ loading={boolean('loading', false)}
111
+ />
112
+ </div>
113
+ );
114
+
115
+ export const ItemsWithIcons = () => (
116
+ <div className="qpp-u-padding--48">
117
+ <DropdownButton
118
+ menuId="example-menu-1"
119
+ ariaLabel="aria label example"
120
+ buttonLabel="Test"
121
+ options={[
122
+ {
123
+ value: 'option 1',
124
+ Icon: DownloadIcon,
125
+ 'aria-roledescription': 'Download file',
126
+ },
127
+ {
128
+ value: 'option 2',
129
+ name: 'very long item text 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24',
130
+ Icon: DownloadIcon,
131
+ 'aria-roledescription': 'Download file',
132
+ },
133
+ ]}
134
+ loading={boolean('loading', false)}
135
+ />
136
+ </div>
137
+ );
@@ -0,0 +1,148 @@
1
+ import React, { useState } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import MuiMenu from '@material-ui/core/Menu';
4
+ import MuiMenuItem from '@material-ui/core/MenuItem';
5
+ import MuiProgressCircle from '@material-ui/core/CircularProgress';
6
+ import ExpandMore from '@material-ui/icons/ExpandMore';
7
+ import ExpandLess from '@material-ui/icons/ExpandLess';
8
+ import Button, { TextButton } from '../Button';
9
+
10
+ const ITEM_HEIGHT = 48;
11
+
12
+ const DropdownButton = ({
13
+ text = false,
14
+ loading = false,
15
+ options = [],
16
+ menuId,
17
+ buttonLabel,
18
+ header,
19
+ children,
20
+ ...buttonProps
21
+ }) => {
22
+ const Btn = text ? TextButton : Button;
23
+ const [anchorEl, setAnchorEl] = useState(null);
24
+ const open = Boolean(anchorEl);
25
+ const handleClick = (event) => {
26
+ setAnchorEl(event.currentTarget);
27
+ };
28
+ const handleClose = () => {
29
+ setAnchorEl(null);
30
+ };
31
+
32
+ return (
33
+ <>
34
+ <Btn
35
+ aria-haspopup="true"
36
+ aria-controls={menuId}
37
+ onClick={handleClick}
38
+ {...buttonProps}
39
+ >
40
+ {buttonLabel}{' '}
41
+ {!anchorEl && (
42
+ <ExpandMore classes={{ root: 'qpp-icon-mat qpp-icon-inline--lg' }} />
43
+ )}
44
+ {anchorEl && (
45
+ <ExpandLess classes={{ root: 'qpp-icon-mat qpp-icon-inline--lg' }} />
46
+ )}
47
+ </Btn>
48
+ <MuiMenu
49
+ id={menuId}
50
+ keepMounted
51
+ open={open}
52
+ anchorEl={anchorEl}
53
+ onClose={handleClose}
54
+ getContentAnchorEl={null}
55
+ anchorOrigin={{
56
+ vertical: 'bottom',
57
+ }}
58
+ className="qpp-c-dropdown-menu"
59
+ classes={{
60
+ paper: 'qpp-c-dropdown-menu__box',
61
+ list: 'qpp-c-dropdown-menu__list',
62
+ }}
63
+ MenuListProps={{
64
+ ['aria-labelledby']: header ? `${menuId}-header` : null,
65
+ }}
66
+ PaperProps={{
67
+ style: {
68
+ maxHeight: ITEM_HEIGHT * 5.5,
69
+ maxWidth: '400px',
70
+ },
71
+ }}
72
+ >
73
+ {header && (
74
+ <MuiMenuItem
75
+ id={`${menuId}-header`}
76
+ onClick={(e) => {
77
+ e.preventDefault();
78
+ e.stopPropagation();
79
+ }}
80
+ classes={{
81
+ root: 'qpp-c-dropdown-menu__item qpp-c-dropdown-menu__item--header',
82
+ }}
83
+ disabled
84
+ aria-hidden
85
+ role="presentation"
86
+ disableRipple
87
+ >
88
+ {header}
89
+ </MuiMenuItem>
90
+ )}
91
+ {loading && (
92
+ <MuiMenuItem
93
+ onClick={(e) => {
94
+ e.preventDefault();
95
+ e.stopPropagation();
96
+ }}
97
+ classes={{
98
+ root: 'qpp-c-dropdown-menu__item qpp-c-dropdown-menu__item--loading',
99
+ }}
100
+ disableRipple
101
+ disabled
102
+ >
103
+ <MuiProgressCircle
104
+ size="1em"
105
+ color="inherit"
106
+ classes={{ root: 'qpp-c-dropdown-menu__spinner' }}
107
+ />{' '}
108
+ <span role="status">Loading...</span>
109
+ </MuiMenuItem>
110
+ )}
111
+ {!loading &&
112
+ options.map(({ disabled, name, value, Icon, ...itemProps }) => (
113
+ <MuiMenuItem
114
+ disabled={disabled}
115
+ key={value}
116
+ value={value}
117
+ onClick={handleClose}
118
+ classes={{ root: 'qpp-c-dropdown-menu__item' }}
119
+ disableRipple
120
+ {...itemProps}
121
+ >
122
+ {Icon && (
123
+ <div className="qpp-c-dropdown-menu__icon">
124
+ <Icon classes={{ root: 'qpp-icon-mat' }} />
125
+ </div>
126
+ )}
127
+ <span>{name || value}</span>
128
+ </MuiMenuItem>
129
+ ))}
130
+ </MuiMenu>
131
+ </>
132
+ );
133
+ };
134
+
135
+ DropdownButton.propTypes = {
136
+ menuId: PropTypes.string.isRequired,
137
+ text: PropTypes.bool,
138
+ buttonLabel: PropTypes.string,
139
+ loading: PropTypes.bool,
140
+ options: PropTypes.arrayOf(PropTypes.object),
141
+ header: PropTypes.string,
142
+ children: PropTypes.oneOfType([
143
+ PropTypes.node,
144
+ PropTypes.arrayOf(PropTypes.node),
145
+ ]),
146
+ };
147
+
148
+ export default DropdownButton;
@@ -1,63 +1,40 @@
1
- import React, { useState, useEffect } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import axios from 'axios';
4
3
  import OpenInNewIcon from '@material-ui/icons/OpenInNew';
5
4
 
6
5
  import InfoTip from '../Infotip/Infotip';
7
6
  import LegacyFooterUI from './LegacyFooterUI';
8
7
  import Subscribe from './Subscribe';
9
8
  import SocialLinks from './SocialLinks';
9
+ import useGetConfig from '../hooks/useGetConfig';
10
10
 
11
11
  const infoTipLabel =
12
12
  'When dialing 711, you will automatically be connected to a TRS Communications Assistant who will relay your conversation to the help desk agent with strict confidentiality.';
13
13
 
14
- const FooterUI = (props) => {
15
- const isNewFooter = props.isNewFooter;
16
- const isIESupportPage = props.isIESupportPage;
17
- const signUpNowLink = props.showHcdResearch
14
+ const FooterUI = ({
15
+ isNewFooter,
16
+ isIESupportPage,
17
+ showHcdResearch,
18
+ buildVersion,
19
+ isFullWidth,
20
+ }) => {
21
+ const signUpNowLink = showHcdResearch
18
22
  ? '/about/hcd-research'
19
23
  : 'mailto:QPPUserResearch@cms.hhs.gov?subject=Sign up for feedback sessions&body=Please let us know your role and how many Tax Identification Numbers (TINs) you represent. Don’t send us your actual TINs, that is confidential information that should not be shared with this email address. If you do not represent a practice, let us know what work you do in connection to QPP.';
20
- const [listServ, setListServ] = useState(false);
24
+
25
+ const result = useGetConfig({
26
+ timeout: 5,
27
+ url: '/config/footer',
28
+ localStorageName: 'qpp_footer',
29
+ });
30
+ const content = (result?.content || [
31
+ { listServ: false, showCcsqLink: false },
32
+ ])[0];
21
33
 
22
34
  const setLink = (link) => {
23
35
  return isIESupportPage ? '/' : link;
24
36
  };
25
37
 
26
- // The footer content is populated with the following priority order:
27
- // 1. Use the footer content in localStorage if it's there
28
- // 2. If not, make a call to get it from the QPPFE endpoint. Hydrate the localStorage item with the response.
29
- // 3. If the call fails, use the default value
30
- useEffect(() => {
31
- const storageContent = JSON.parse(
32
- localStorage.getItem('qpp_footer_listServ')
33
- );
34
- if (
35
- storageContent?.content &&
36
- new Date().valueOf() < storageContent.expiration
37
- ) {
38
- setListServ(storageContent.listServ);
39
- } else {
40
- const origin = window.location.origin;
41
- axios
42
- .get(
43
- !origin.includes('localhost')
44
- ? `${origin}/config/footer`
45
- : 'https://qpp.cms.gov/config/footer'
46
- )
47
- .then(({ data: { data = {} } }) => {
48
- localStorage.setItem(
49
- 'qpp_footer_listServ',
50
- JSON.stringify({
51
- listServ: data.listServ,
52
- })
53
- );
54
- setListServ(data.listServ);
55
- })
56
- .catch((e) => {
57
- setListServ(false);
58
- });
59
- }
60
- }, []);
61
38
  if (isNewFooter) {
62
39
  return (
63
40
  <>
@@ -77,7 +54,7 @@ const FooterUI = (props) => {
77
54
  )}
78
55
  <footer className="global-footer">
79
56
  <div className="build-version" id="build-version">
80
- {props.buildVersion}
57
+ {buildVersion}
81
58
  </div>
82
59
 
83
60
  <div className="responsive-container">
@@ -166,25 +143,29 @@ const FooterUI = (props) => {
166
143
  </a>
167
144
  </p>
168
145
 
169
- <p className="contact-title">QPP Service Center:</p>
170
- <a
171
- href="https://cmsqualitysupport.servicenowservices.com/ccsq_support_central"
172
- aria-label="CCSQ Support Central"
173
- className="email-link"
174
- target="__blank"
175
- rel="noopener noreferrer"
176
- >
177
- <strong>
178
- Create or Track a QPP Service Center Ticket
179
- </strong>
180
- <OpenInNewIcon classes={{ root: 'ccsq-link-icon' }} />
181
- </a>
146
+ {content?.showCcsqLink && (
147
+ <>
148
+ <p className="contact-title">QPP Service Center:</p>
149
+ <a
150
+ href="https://cmsqualitysupport.servicenowservices.com/ccsq_support_central"
151
+ aria-label="CCSQ Support Central"
152
+ className="email-link"
153
+ target="__blank"
154
+ rel="noopener noreferrer"
155
+ >
156
+ <strong>
157
+ Create or Track a QPP Service Center Ticket
158
+ </strong>
159
+ <OpenInNewIcon classes={{ root: 'ccsq-link-icon' }} />
160
+ </a>
161
+ </>
162
+ )}
182
163
  </div>
183
164
  <div className="footer-social-newsletter">
184
165
  <p className="sub-title">Stay Connected</p>
185
166
  <SocialLinks />
186
167
  <p className="sub-title">
187
- {listServ
168
+ {content?.listServ
188
169
  ? 'Sign Up for the QPP Listserv'
189
170
  : 'Sign Up for the QPP Newsletter'}
190
171
  </p>
@@ -266,8 +247,8 @@ const FooterUI = (props) => {
266
247
  }
267
248
  return (
268
249
  <LegacyFooterUI
269
- buildVersion={props.buildVersion}
270
- isFullWidth={props.isFullWidth}
250
+ buildVersion={buildVersion}
251
+ isFullWidth={isFullWidth}
271
252
  signUpNowLink={signUpNowLink}
272
253
  />
273
254
  );
@@ -14,43 +14,52 @@ const Search = ({
14
14
  inputAriaLabel,
15
15
  buttonAriaLabel,
16
16
  inputWidth,
17
+ label,
18
+ parentElement,
17
19
  }) => {
20
+ const ContainerElement = parentElement || 'span';
18
21
  const inputStyle = {
19
22
  width: inputWidth,
20
23
  };
21
24
  return (
22
- <form role="search" className="qpp-c-search qpp-c-search--compact">
23
- <label className="qpp-u-visually-hidden" htmlFor={id}>
24
- Search
25
- </label>
26
- <div className="qpp-c-search__wrap">
27
- <input
28
- style={inputStyle}
29
- className="qpp-c-text-input"
30
- type="search"
31
- id={id}
32
- name={name}
33
- placeholder={placeholder}
34
- value={inputValue}
35
- disabled={disabled}
36
- onChange={onChange}
37
- aria-label={inputAriaLabel}
38
- />
39
-
40
- <button
41
- data-testid="search-btn"
42
- aria-label={buttonAriaLabel}
43
- onClick={onClick}
44
- disabled={disableSearchBtn}
45
- id={`${id}-submit`}
46
- type="submit"
47
- className="qpp-c-search__submit qpp-c-button qpp-c-button--text"
25
+ <ContainerElement className="qppds">
26
+ <form role="search" className="qpp-c-search qpp-c-search--compact">
27
+ <label
28
+ className={label ? 'qpp-u-margin-bottom--8' : 'qpp-u-visually-hidden'}
29
+ htmlFor={id}
48
30
  >
49
- <span className="qpp-u-visually-hidden">Search</span>
50
- <SearchIcon classes={{ root: 'qpp-icon-mat' }} />
51
- </button>
52
- </div>
53
- </form>
31
+ {label ? label : 'Search'}
32
+ </label>
33
+
34
+ <div className="qpp-c-search__wrap">
35
+ <input
36
+ style={inputStyle}
37
+ className="qpp-c-text-input"
38
+ type="search"
39
+ id={id}
40
+ name={name}
41
+ placeholder={placeholder}
42
+ value={inputValue}
43
+ disabled={disabled}
44
+ onChange={onChange}
45
+ aria-label={inputAriaLabel}
46
+ />
47
+
48
+ <button
49
+ data-testid="search-btn"
50
+ aria-label={buttonAriaLabel}
51
+ onClick={onClick}
52
+ disabled={disableSearchBtn}
53
+ id={`${id}-submit`}
54
+ type="submit"
55
+ className="qpp-c-search__submit qpp-c-button qpp-c-button--text"
56
+ >
57
+ <span className="qpp-u-visually-hidden">Search</span>
58
+ <SearchIcon classes={{ root: 'qpp-icon-mat' }} />
59
+ </button>
60
+ </div>
61
+ </form>
62
+ </ContainerElement>
54
63
  );
55
64
  };
56
65
 
@@ -66,9 +75,12 @@ Search.propTypes = {
66
75
  inputAriaLabel: PropTypes.string,
67
76
  buttonAriaLabel: PropTypes.string,
68
77
  inputWidth: PropTypes.string,
78
+ label: PropTypes.string,
79
+ parentElement: PropTypes.string,
69
80
  };
70
81
 
71
82
  Search.defaultProps = {
83
+ label: null,
72
84
  id: 'search-input',
73
85
  name: '',
74
86
  placeholder: '',
@@ -80,6 +92,7 @@ Search.defaultProps = {
80
92
  inputAriaLabel: '',
81
93
  buttonAriaLabel: '',
82
94
  inputWidth: 'auto',
95
+ parentElement: 'span',
83
96
  };
84
97
 
85
98
  export default Search;