qpp-style 9.17.0 → 9.18.1

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 (217) hide show
  1. package/.storybook/main.js +46 -32
  2. package/components/Footer/Footer.stories.js +2 -9
  3. package/components/Footer/FooterUI.jsx +172 -230
  4. package/components/Footer/footer.js +2 -12
  5. package/components/Header/HeaderMenuLink.js +6 -0
  6. package/components/NotificationBanner/CollapsedView.js +32 -0
  7. package/components/NotificationBanner/ExpandedView.js +45 -0
  8. package/components/NotificationBanner/NotificationBanner.stories.js +5 -5
  9. package/components/NotificationBanner/index.js +122 -166
  10. package/components/SideNav/Content/LevelOneContent.jsx +42 -16
  11. package/components/SideNav/Content/SelectRole/index.js +7 -9
  12. package/components/SideNav/Content/SelectRole/utils.js +20 -12
  13. package/components/SideNav/UI/SideNavUI.jsx +2 -0
  14. package/components/SideNav/UI/default-content.json +15 -1
  15. package/components/SideNav/helpers.js +67 -7
  16. package/coverage/clover.xml +1454 -0
  17. package/coverage/coverage-final.json +74 -0
  18. package/coverage/lcov-report/base.css +224 -0
  19. package/coverage/lcov-report/block-navigation.js +87 -0
  20. package/coverage/lcov-report/components/Accordion/index.html +116 -0
  21. package/coverage/lcov-report/components/Accordion/index.jsx.html +364 -0
  22. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +349 -0
  23. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +178 -0
  24. package/coverage/lcov-report/components/Error/index.html +131 -0
  25. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +880 -0
  26. package/coverage/lcov-report/components/Footer/LegacyFooterUI.jsx.html +667 -0
  27. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +265 -0
  28. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +187 -0
  29. package/coverage/lcov-report/components/Footer/index.html +161 -0
  30. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +310 -0
  31. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +208 -0
  32. package/coverage/lcov-report/components/Infotip/index.html +146 -0
  33. package/coverage/lcov-report/components/Infotip/index.js.html +94 -0
  34. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +301 -0
  35. package/coverage/lcov-report/components/Modal/Modal.jsx.html +505 -0
  36. package/coverage/lcov-report/components/Modal/index.html +146 -0
  37. package/coverage/lcov-report/components/Modal/index.jsx.html +151 -0
  38. package/coverage/lcov-report/components/SanitizedContent/index.html +116 -0
  39. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +685 -0
  40. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +868 -0
  41. package/coverage/lcov-report/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +166 -0
  42. package/coverage/lcov-report/components/SideNav/AnimationGroup/index.html +116 -0
  43. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +889 -0
  44. package/coverage/lcov-report/components/SideNav/Chart/index.html +131 -0
  45. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +94 -0
  46. package/coverage/lcov-report/components/SideNav/Content/LevelOneContent.jsx.html +709 -0
  47. package/coverage/lcov-report/components/SideNav/Content/LevelTwoContent.jsx.html +733 -0
  48. package/coverage/lcov-report/components/SideNav/Content/index.html +146 -0
  49. package/coverage/lcov-report/components/SideNav/Content/index.js.html +97 -0
  50. package/coverage/lcov-report/components/SideNav/Details/IndividualDetails.jsx.html +139 -0
  51. package/coverage/lcov-report/components/SideNav/Details/PracticeDetails.jsx.html +220 -0
  52. package/coverage/lcov-report/components/SideNav/Details/index.html +146 -0
  53. package/coverage/lcov-report/components/SideNav/Details/index.js.html +97 -0
  54. package/coverage/lcov-report/components/SideNav/Links/CmsSwitchLink.jsx.html +208 -0
  55. package/coverage/lcov-report/components/SideNav/Links/NavItemInline.jsx.html +247 -0
  56. package/coverage/lcov-report/components/SideNav/Links/NavLinkContainer.jsx.html +199 -0
  57. package/coverage/lcov-report/components/SideNav/Links/NavLinkDrawer.jsx.html +832 -0
  58. package/coverage/lcov-report/components/SideNav/Links/NavLinkInline.jsx.html +406 -0
  59. package/coverage/lcov-report/components/SideNav/Links/NavLinkToggle.jsx.html +187 -0
  60. package/coverage/lcov-report/components/SideNav/Links/index.html +206 -0
  61. package/coverage/lcov-report/components/SideNav/Links/index.js.html +124 -0
  62. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +1084 -0
  63. package/coverage/lcov-report/components/SideNav/UI/index.html +131 -0
  64. package/coverage/lcov-report/components/SideNav/UI/index.js.html +94 -0
  65. package/coverage/lcov-report/components/SideNav/helpers.js.html +238 -0
  66. package/coverage/lcov-report/components/SideNav/index.html +116 -0
  67. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +349 -0
  68. package/coverage/lcov-report/components/Tooltip/index.html +146 -0
  69. package/coverage/lcov-report/components/Tooltip/index.js.html +94 -0
  70. package/coverage/lcov-report/components/Tooltip/position.js.html +289 -0
  71. package/coverage/lcov-report/components/hooks/index.html +116 -0
  72. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +307 -0
  73. package/coverage/lcov-report/components/index.html +116 -0
  74. package/coverage/lcov-report/favicon.png +0 -0
  75. package/coverage/lcov-report/index.html +491 -0
  76. package/coverage/lcov-report/lib/Chevron.jsx.html +181 -0
  77. package/coverage/lcov-report/lib/SvgComponents.jsx.html +1702 -0
  78. package/coverage/lcov-report/lib/index.html +146 -0
  79. package/coverage/lcov-report/lib/svg-definitions.svg.html +460 -0
  80. package/coverage/lcov-report/prettify.css +1 -0
  81. package/coverage/lcov-report/prettify.js +2 -0
  82. package/coverage/lcov-report/react/components/Accordion/index.html +116 -0
  83. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +364 -0
  84. package/coverage/lcov-report/react/components/Button/index.html +116 -0
  85. package/coverage/lcov-report/react/components/Button/index.js.html +355 -0
  86. package/coverage/lcov-report/react/components/Dropdown/index.html +116 -0
  87. package/coverage/lcov-report/react/components/Dropdown/index.js.html +340 -0
  88. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +349 -0
  89. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +178 -0
  90. package/coverage/lcov-report/react/components/Error/error.js.html +163 -0
  91. package/coverage/lcov-report/react/components/Error/index.html +146 -0
  92. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +706 -0
  93. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +667 -0
  94. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +265 -0
  95. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +187 -0
  96. package/coverage/lcov-report/react/components/Footer/footer.js.html +145 -0
  97. package/coverage/lcov-report/react/components/Footer/index.html +161 -0
  98. package/coverage/lcov-report/react/components/GovBanner/index.html +116 -0
  99. package/coverage/lcov-report/react/components/GovBanner/index.js.html +436 -0
  100. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +592 -0
  101. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +133 -0
  102. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +280 -0
  103. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +211 -0
  104. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +235 -0
  105. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +802 -0
  106. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +253 -0
  107. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  108. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +196 -0
  109. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +586 -0
  110. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +181 -0
  111. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +331 -0
  112. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +166 -0
  113. package/coverage/lcov-report/react/components/Header/header.js.html +205 -0
  114. package/coverage/lcov-report/react/components/Header/hooks.js.html +241 -0
  115. package/coverage/lcov-report/react/components/Header/index.html +341 -0
  116. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +112 -0
  117. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +310 -0
  118. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +208 -0
  119. package/coverage/lcov-report/react/components/Infotip/index.html +146 -0
  120. package/coverage/lcov-report/react/components/Infotip/index.js.html +94 -0
  121. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +301 -0
  122. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +505 -0
  123. package/coverage/lcov-report/react/components/Modal/index.html +146 -0
  124. package/coverage/lcov-report/react/components/Modal/index.jsx.html +151 -0
  125. package/coverage/lcov-report/react/components/NotificationBanner/CollapsedView.js.html +181 -0
  126. package/coverage/lcov-report/react/components/NotificationBanner/ExpandedView.js.html +220 -0
  127. package/coverage/lcov-report/react/components/NotificationBanner/index.html +146 -0
  128. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +748 -0
  129. package/coverage/lcov-report/react/components/SanitizedContent/index.html +116 -0
  130. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +685 -0
  131. package/coverage/lcov-report/react/components/SessionDialog/index.html +116 -0
  132. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +163 -0
  133. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +868 -0
  134. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +166 -0
  135. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +116 -0
  136. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +889 -0
  137. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +131 -0
  138. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +94 -0
  139. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +682 -0
  140. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +733 -0
  141. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.html +131 -0
  142. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.js.html +316 -0
  143. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/utils.js.html +469 -0
  144. package/coverage/lcov-report/react/components/SideNav/Content/index.html +146 -0
  145. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +97 -0
  146. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +139 -0
  147. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +220 -0
  148. package/coverage/lcov-report/react/components/SideNav/Details/index.html +146 -0
  149. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +97 -0
  150. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +208 -0
  151. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +247 -0
  152. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +199 -0
  153. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +913 -0
  154. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +421 -0
  155. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +187 -0
  156. package/coverage/lcov-report/react/components/SideNav/Links/index.html +206 -0
  157. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +124 -0
  158. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +1105 -0
  159. package/coverage/lcov-report/react/components/SideNav/UI/index.html +131 -0
  160. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +94 -0
  161. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +1057 -0
  162. package/coverage/lcov-report/react/components/SideNav/index.html +131 -0
  163. package/coverage/lcov-report/react/components/SideNav/index.js.html +244 -0
  164. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +349 -0
  165. package/coverage/lcov-report/react/components/Tooltip/index.html +146 -0
  166. package/coverage/lcov-report/react/components/Tooltip/index.js.html +94 -0
  167. package/coverage/lcov-report/react/components/Tooltip/position.js.html +289 -0
  168. package/coverage/lcov-report/react/components/hooks/index.html +116 -0
  169. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +310 -0
  170. package/coverage/lcov-report/react/components/index.html +116 -0
  171. package/coverage/lcov-report/react/index.html +116 -0
  172. package/coverage/lcov-report/react/index.js.html +178 -0
  173. package/coverage/lcov-report/react/lib/Chevron.jsx.html +181 -0
  174. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1792 -0
  175. package/coverage/lcov-report/react/lib/index.html +146 -0
  176. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +460 -0
  177. package/coverage/lcov-report/react/session/index.html +161 -0
  178. package/coverage/lcov-report/react/session/index.js.html +100 -0
  179. package/coverage/lcov-report/react/session/logout.js.html +307 -0
  180. package/coverage/lcov-report/react/session/refresh.js.html +232 -0
  181. package/coverage/lcov-report/react/session/ttl.js.html +196 -0
  182. package/coverage/lcov-report/session/index.html +161 -0
  183. package/coverage/lcov-report/session/index.js.html +100 -0
  184. package/coverage/lcov-report/session/logout.js.html +298 -0
  185. package/coverage/lcov-report/session/refresh.js.html +232 -0
  186. package/coverage/lcov-report/session/ttl.js.html +196 -0
  187. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  188. package/coverage/lcov-report/sorter.js +196 -0
  189. package/coverage/lcov.info +3206 -0
  190. package/dist/browser.js +1 -1
  191. package/dist/browser.js.LICENSE.txt +0 -9
  192. package/dist/browser.js.map +1 -1
  193. package/dist/index.js +1 -1
  194. package/dist/index.js.LICENSE.txt +0 -9
  195. package/dist/index.js.map +1 -1
  196. package/dist/react/index.js +1 -1
  197. package/dist/react/index.js.LICENSE.txt +0 -9
  198. package/dist/react/index.js.map +1 -1
  199. package/lib/SvgComponents.jsx +17 -1
  200. package/package.json +27 -27
  201. package/styles/components/_footer.scss +593 -0
  202. package/styles/components/_header.scss +890 -0
  203. package/styles/components/_sidebar.scss +8 -0
  204. package/styles/components/sidebar/_animations.scss +38 -0
  205. package/styles/components/sidebar/_cms.scss +61 -0
  206. package/styles/components/sidebar/_details.scss +58 -0
  207. package/styles/components/sidebar/_links.scss +415 -0
  208. package/styles/components/sidebar/_sidebar-animation.scss +121 -0
  209. package/styles/components/sidebar/_sidebar-tooltip.scss +33 -0
  210. package/styles/components/sidebar/_sidebar.scss +141 -0
  211. package/styles/components/sidebar/project-specific/_wi.scss +42 -0
  212. package/test/components/FooterUI.test.js +0 -30
  213. package/webpack.config.js +36 -37
  214. package/webpack.config.react.js +14 -16
  215. package/components/Footer/LegacyFooterUI.jsx +0 -194
  216. package/storybook-static/favicon.ico +0 -0
  217. package/styles/qppds/components/sidebar/_select-role.scss +0 -13
@@ -1,4 +1,5 @@
1
1
  const path = require('path');
2
+
2
3
  const CopyWebpackPlugin = require('copy-webpack-plugin');
3
4
 
4
5
  module.exports = {
@@ -19,31 +20,36 @@ module.exports = {
19
20
  ],
20
21
  webpackFinal: async (config) => {
21
22
  // do mutation to the config
22
-
23
23
  config.plugins.push(
24
- new CopyWebpackPlugin([
25
- {
26
- from: path.join(__dirname, '..', '..', 'shared', 'fonts/'),
27
- to: 'fonts/',
28
- },
29
- {
30
- from: path.join(__dirname, '..', '..', 'shared', 'images/'),
31
- to: 'images/',
32
- force: true,
33
- },
34
- ])
24
+ new CopyWebpackPlugin({
25
+ patterns: [
26
+ {
27
+ from: path.join(__dirname, '..', '..', 'shared', 'fonts/'),
28
+ to: 'fonts/',
29
+ },
30
+ {
31
+ from: path.join(__dirname, '..', '..', 'shared', 'images/'),
32
+ to: 'images/',
33
+ force: true,
34
+ },
35
+ ],
36
+ })
35
37
  );
36
-
37
38
  config.module.rules.push({
38
39
  test: /\.scss$/,
39
40
  resolve: {
40
41
  extensions: ['.scss', '.sass'],
41
42
  },
42
43
  use: [
43
- { loader: 'style-loader' },
44
+ {
45
+ loader: 'style-loader',
46
+ },
44
47
  {
45
48
  loader: 'css-loader',
46
- options: { sourceMap: true, importLoaders: 1 },
49
+ options: {
50
+ sourceMap: true,
51
+ importLoaders: 1,
52
+ },
47
53
  },
48
54
  {
49
55
  loader: 'sass-loader',
@@ -53,26 +59,30 @@ module.exports = {
53
59
  },
54
60
  ],
55
61
  });
56
-
57
62
  config.module.rules.push({
58
63
  test: /\.svg$/,
59
- use: [
60
- 'raw-loader',
61
- {
62
- loader: 'svgo-loader',
63
- options: {
64
- plugins: [
65
- { removeTitle: true },
66
- { convertColors: { shorthex: false } },
67
- { convertPathData: false },
68
- ],
69
- },
64
+ type: 'asset/source',
65
+ use: {
66
+ loader: 'svgo-loader',
67
+ options: {
68
+ plugins: [
69
+ {
70
+ removeTitle: true,
71
+ },
72
+ {
73
+ convertColors: {
74
+ shorthex: false,
75
+ },
76
+ },
77
+ {
78
+ convertPathData: false,
79
+ },
80
+ ],
70
81
  },
71
- ],
72
- });
73
-
74
- // Modify default storybook SVG loader so we can use the one expected by qpp-style
82
+ },
83
+ }); // Modify default storybook SVG loader so we can use the one expected by qpp-style
75
84
  // NOTE: When updating storybook dependency, double check this override.
85
+
76
86
  const staticAssetLoader = config.module.rules.find((rule) => {
77
87
  const regExp = rule.test;
78
88
  const isRegExp = regExp && typeof regExp.test === 'function';
@@ -81,9 +91,13 @@ module.exports = {
81
91
 
82
92
  if (staticAssetLoader) {
83
93
  // remove svg matching from storybook's default static asset loader
84
- staticAssetLoader.test = /\.(ico|jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/;
94
+ staticAssetLoader.test =
95
+ /\.(ico|jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/;
85
96
  }
86
97
 
87
98
  return config;
88
99
  },
100
+ core: {
101
+ builder: 'webpack5',
102
+ },
89
103
  };
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import Footer from './FooterUI';
3
- import { withKnobs, boolean, text } from '@storybook/addon-knobs';
3
+ import { withKnobs } from '@storybook/addon-knobs';
4
4
 
5
5
  export default {
6
6
  title: 'Footer',
@@ -8,13 +8,6 @@ export default {
8
8
  decorators: [withKnobs],
9
9
  };
10
10
 
11
- export const ExampleFooter = () => (
12
- <Footer
13
- isFullWidth={boolean('isFullWidth', false)}
14
- buildVersion={text('buildVersion', 'BUILD VERSION')}
15
- isNewFooter={boolean('isNewFooter', true)}
16
- showHcdResearch={boolean('showHcdResearch', true)}
17
- />
18
- );
11
+ export const ExampleFooter = () => <Footer />;
19
12
 
20
13
  ExampleFooter.storyName = 'example Footer';
@@ -1,265 +1,207 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import OpenInNewIcon from '@material-ui/icons/OpenInNew';
4
3
 
5
4
  import InfoTip from '../Infotip/Infotip';
6
- import LegacyFooterUI from './LegacyFooterUI';
7
5
  import Subscribe from './Subscribe';
8
6
  import SocialLinks from './SocialLinks';
9
- import useGetConfig from '../hooks/useGetConfig';
7
+ import pjson from '../../package.json';
10
8
 
11
9
  const infoTipLabel =
12
10
  '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.';
11
+ const { version: buildVersion } = pjson;
13
12
 
14
- const FooterUI = ({
15
- isNewFooter,
16
- isIESupportPage,
17
- showHcdResearch,
18
- buildVersion,
19
- isFullWidth,
20
- }) => {
21
- const signUpNowLink = showHcdResearch
22
- ? '/about/hcd-research'
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.';
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];
33
-
34
- const setLink = (link) => {
35
- return isIESupportPage ? '/' : link;
36
- };
37
-
38
- if (isNewFooter) {
39
- return (
40
- <>
41
- {!isIESupportPage && (
42
- <div className="feedback-session-sign-up">
43
- <div className="responsive-container">
44
- <hr />
45
- <p>
46
- <strong>Help shape the future of QPP.</strong> Participate in a
47
- user feedback session.{' '}
48
- <a className="email-note-link" href={signUpNowLink}>
49
- Sign up now
50
- </a>
51
- </p>
52
- </div>
53
- </div>
54
- )}
55
- <footer className="global-footer">
56
- <div className="build-version" id="build-version">
57
- {buildVersion}
58
- </div>
59
-
60
- <div className="responsive-container">
61
- <>
62
- {!isIESupportPage && (
63
- <div className="global-footer-container">
64
- <div className="footer-resources">
65
- <p className="sub-title">Resources</p>
66
- <ul>
67
- <li>
68
- <a
69
- href="/about/resource-library"
70
- aria-label="Resource Library"
71
- data-track-category="FooterNav"
72
- data-track-action="OpenEducationAndTools"
73
- data-track-label="Education and Tools"
74
- >
75
- Resource Library
76
- </a>
77
- </li>
78
- <li>
79
- <a
80
- href="/resources/help-and-support"
81
- aria-label="Help and Support"
82
- data-track-category="FooterNav"
83
- data-track-action="OpenHelpAndSupport"
84
- data-track-label="Help and Support"
85
- >
86
- Help and Support
87
- </a>
88
- </li>
89
- <li>
90
- <a
91
- href="/about/small-underserved-rural-practices"
92
- aria-label="Support for Small Practices"
93
- data-track-category="FooterNav"
94
- data-track-action="OpenSupportSmallPractices"
95
- data-track-label="Support for Small Practices"
96
- >
97
- Support for Small Practices
98
- </a>
99
- </li>
100
- <li>
101
- <a
102
- href="/developers"
103
- aria-label="Developer Tools"
104
- data-track-category="FooterNav"
105
- data-track-action="OpenDeveloperTools"
106
- data-track-label="Quality Payment Program"
107
- >
108
- Developer Tools
109
- </a>
110
- </li>
111
- <li>
112
- <a
113
- href="/glossary"
114
- aria-label="Glossary"
115
- data-track-category="FooterNav"
116
- data-track-action="OpenGlossary"
117
- data-track-label="Glossary"
118
- >
119
- Glossary
120
- </a>
121
- </li>
122
- </ul>
123
- </div>
124
- <div className="footer-contact-cms">
125
- <p className="sub-title">Contact CMS</p>
126
- <p className="contact-title">Phone:</p>
127
- <p>Monday - Friday 8 a.m - 8 p.m ET</p>
128
- <p>
129
- 1-866-288-8292 (TRS: 711)
130
- <span className="footer-trs-infotip">
131
- <InfoTip label={infoTipLabel} />
132
- </span>
133
- </p>
134
-
135
- <p className="contact-title">Email:</p>
136
- <p>
137
- <a
138
- aria-label="QPP@cms.hhs.gov"
139
- href="mailto:QPP@cms.hhs.gov"
140
- className="email-link"
141
- >
142
- QPP@cms.hhs.gov
143
- </a>
144
- </p>
145
-
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
- )}
163
- </div>
164
- <div className="footer-social-newsletter">
165
- <p className="sub-title">Stay Connected</p>
166
- <SocialLinks />
167
- <p className="sub-title">
168
- {content?.listServ
169
- ? 'Sign Up for the QPP Listserv'
170
- : 'Sign Up for the QPP Newsletter'}
171
- </p>
172
- <Subscribe />
173
- </div>
174
- </div>
175
- )}
176
- <hr />
177
- </>
178
-
179
- <div className="other-links">
180
- <ul className="small">
13
+ const FooterUI = () => (
14
+ <>
15
+ <div className="feedback-session-sign-up">
16
+ <div className="responsive-container">
17
+ <hr />
18
+ <p>
19
+ <strong>Help shape the future of QPP.</strong> Participate in a user
20
+ feedback session.{' '}
21
+ <a className="email-note-link" href="/about/hcd-research">
22
+ Sign up now
23
+ </a>
24
+ </p>
25
+ </div>
26
+ </div>
27
+ <footer className="global-footer">
28
+ <div className="build-version" id="build-version">
29
+ {buildVersion}
30
+ </div>
31
+ <div className="responsive-container">
32
+ <>
33
+ <div className="global-footer-container">
34
+ <div className="footer-resources">
35
+ <p className="sub-title">Resources</p>
36
+ <ul>
181
37
  <li>
182
38
  <a
183
- href={setLink('/privacy')}
184
- aria-label="Notice of Privacy and Disclaimer"
39
+ href="/about/resource-library"
40
+ aria-label="Resource Library"
185
41
  data-track-category="FooterNav"
186
- data-track-action="OpenPrivacyDisclaimer"
187
- data-track-label="Notice of Privacy and Disclaimer"
42
+ data-track-action="OpenEducationAndTools"
43
+ data-track-label="Education and Tools"
188
44
  >
189
- CMS Privacy Notice
45
+ Resource Library
190
46
  </a>
191
47
  </li>
192
- <li className="divider"></li>{' '}
193
48
  <li>
194
49
  <a
195
- href={setLink('/accessibility')}
196
- aria-label="Accessibility"
50
+ href="/resources/help-and-support"
51
+ aria-label="Help and Support"
197
52
  data-track-category="FooterNav"
198
- data-track-action="OpenAccessibility"
199
- data-track-label="Accessibility"
53
+ data-track-action="OpenHelpAndSupport"
54
+ data-track-label="Help and Support"
200
55
  >
201
- Accessibility
56
+ Help and Support
202
57
  </a>
203
58
  </li>
204
- <li className="divider"></li>{' '}
205
59
  <li>
206
60
  <a
207
- aria-label="Download Adobe Reader"
208
- className="adobe-link"
209
- rel="noopener noreferrer"
210
- target="_blank"
211
- href={setLink('https://get.adobe.com/reader')}
61
+ href="/about/small-underserved-rural-practices"
62
+ aria-label="Support for Small Practices"
212
63
  data-track-category="FooterNav"
213
- data-track-action="DownloadAdobeReader"
214
- data-track-label="AdobeReader"
64
+ data-track-action="OpenSupportSmallPractices"
65
+ data-track-label="Support for Small Practices"
215
66
  >
216
- Download Adobe Reader
67
+ Support for Small Practices
68
+ </a>
69
+ </li>
70
+ <li>
71
+ <a
72
+ href="/developers"
73
+ aria-label="Developer Tools"
74
+ data-track-category="FooterNav"
75
+ data-track-action="OpenDeveloperTools"
76
+ data-track-label="Quality Payment Program"
77
+ >
78
+ Developer Tools
79
+ </a>
80
+ </li>
81
+ <li>
82
+ <a
83
+ href="/glossary"
84
+ aria-label="Glossary"
85
+ data-track-category="FooterNav"
86
+ data-track-action="OpenGlossary"
87
+ data-track-label="Glossary"
88
+ >
89
+ Glossary
217
90
  </a>
218
91
  </li>
219
92
  </ul>
220
- <hr />
221
93
  </div>
222
- <div className="qpp-hhs-logo-container">
223
- <div className="qpp-logo-container">
224
- <img
225
- className="qpp-logo"
226
- src="/images/qpp_logo_rgb_color.png"
227
- alt="qpp logo"
228
- />
229
- </div>
230
- <div className="hhs-logo-container">
231
- <img
232
- className="hhs-logo"
233
- alt="Department of Health &amp; Human Services USA"
234
- src="/images/hhs-logo-black.svg"
235
- />
236
- <p>
237
- A federal government website managed and paid for by the U.S
238
- Centers for Medicare &amp; Medicaid Services. 7500 Security
239
- Boulevard, Baltimore MD 21244
240
- </p>
241
- </div>
94
+ <div className="footer-contact-cms">
95
+ <p className="sub-title">Contact CMS</p>
96
+ <p className="contact-title">Phone:</p>
97
+ <p>Monday - Friday 8 a.m - 8 p.m ET</p>
98
+ <p>
99
+ 1-866-288-8292 (TRS: 711)
100
+ <span className="footer-trs-infotip">
101
+ <InfoTip label={infoTipLabel} />
102
+ </span>
103
+ </p>
104
+
105
+ <p className="contact-title">Email:</p>
106
+ <p>
107
+ <a
108
+ aria-label="QPP@cms.hhs.gov"
109
+ href="mailto:QPP@cms.hhs.gov"
110
+ className="email-link"
111
+ >
112
+ QPP@cms.hhs.gov
113
+ </a>
114
+ </p>
115
+
116
+ <p className="contact-title">QPP Service Center:</p>
117
+ <a
118
+ href="https://cmsqualitysupport.servicenowservices.com/ccsq_support_central"
119
+ aria-label="CCSQ Support Central"
120
+ className="email-link"
121
+ target="__blank"
122
+ rel="noopener noreferrer"
123
+ >
124
+ <strong>Create or Track a QPP Service Center Ticket</strong>
125
+ <OpenInNewIcon classes={{ root: 'ccsq-link-icon' }} />
126
+ </a>
127
+ </div>
128
+ <div className="footer-social-newsletter">
129
+ <p className="sub-title">Stay Connected</p>
130
+ <SocialLinks />
131
+ <p className="sub-title">Sign Up for the QPP Listserv</p>
132
+ <Subscribe />
242
133
  </div>
243
134
  </div>
244
- </footer>
245
- </>
246
- );
247
- }
248
- return (
249
- <LegacyFooterUI
250
- buildVersion={buildVersion}
251
- isFullWidth={isFullWidth}
252
- signUpNowLink={signUpNowLink}
253
- />
254
- );
255
- };
135
+ <hr />
136
+ </>
256
137
 
257
- FooterUI.propTypes = {
258
- buildVersion: PropTypes.string,
259
- isFullWidth: PropTypes.bool,
260
- isNewFooter: PropTypes.bool,
261
- isIESupportPage: PropTypes.bool,
262
- showHcdResearch: PropTypes.bool,
263
- };
138
+ <div className="other-links">
139
+ <ul className="small">
140
+ <li>
141
+ <a
142
+ href="/privacy"
143
+ aria-label="Notice of Privacy and Disclaimer"
144
+ data-track-category="FooterNav"
145
+ data-track-action="OpenPrivacyDisclaimer"
146
+ data-track-label="Notice of Privacy and Disclaimer"
147
+ >
148
+ CMS Privacy Notice
149
+ </a>
150
+ </li>
151
+ <li className="divider"></li>{' '}
152
+ <li>
153
+ <a
154
+ href="/accessibility"
155
+ aria-label="Accessibility"
156
+ data-track-category="FooterNav"
157
+ data-track-action="OpenAccessibility"
158
+ data-track-label="Accessibility"
159
+ >
160
+ Accessibility
161
+ </a>
162
+ </li>
163
+ <li className="divider"></li>{' '}
164
+ <li>
165
+ <a
166
+ aria-label="Download Adobe Reader"
167
+ className="adobe-link"
168
+ rel="noopener noreferrer"
169
+ target="_blank"
170
+ href="https://get.adobe.com/reader"
171
+ data-track-category="FooterNav"
172
+ data-track-action="DownloadAdobeReader"
173
+ data-track-label="AdobeReader"
174
+ >
175
+ Download Adobe Reader
176
+ </a>
177
+ </li>
178
+ </ul>
179
+ <hr />
180
+ </div>
181
+ <div className="qpp-hhs-logo-container">
182
+ <div className="qpp-logo-container">
183
+ <img
184
+ className="qpp-logo"
185
+ src="/images/qpp_logo_rgb_color.png"
186
+ alt="qpp logo"
187
+ />
188
+ </div>
189
+ <div className="hhs-logo-container">
190
+ <img
191
+ className="hhs-logo"
192
+ alt="Department of Health &amp; Human Services USA"
193
+ src="/images/hhs-logo-black.svg"
194
+ />
195
+ <p>
196
+ A federal government website managed and paid for by the U.S
197
+ Centers for Medicare &amp; Medicaid Services. 7500 Security
198
+ Boulevard, Baltimore MD 21244
199
+ </p>
200
+ </div>
201
+ </div>
202
+ </div>
203
+ </footer>
204
+ </>
205
+ );
264
206
 
265
207
  export default FooterUI;
@@ -1,5 +1,3 @@
1
- /* global buildVersion */
2
- // buildVersion above is defined in webpack.config.js
3
1
  import React from 'react';
4
2
  import { render } from 'react-dom';
5
3
  import FooterUI from './FooterUI';
@@ -14,17 +12,9 @@ export default class Footer {
14
12
  */
15
13
  constructor(options) {
16
14
  if (options.hasOwnProperty('rootElement')) {
17
- render(
18
- <FooterUI
19
- buildVersion={buildVersion}
20
- isFullWidth={options.isFullWidth}
21
- isNewFooter={options.isNewFooter}
22
- showHcdResearch={options.showHcdResearch}
23
- />,
24
- options.rootElement
25
- );
15
+ render(<FooterUI />, options.rootElement);
26
16
  } else {
27
- render(<FooterUI buildVersion={buildVersion} />, options);
17
+ render(<FooterUI />, options);
28
18
  }
29
19
  }
30
20
  }
@@ -33,6 +33,12 @@ const HeaderMenuLink = ({ href, name }) => {
33
33
  data-track-category="TopNav"
34
34
  data-track-action="click"
35
35
  data-track-label={name}
36
+ onKeyDown={(e) => {
37
+ if (e.key === ' ' || e.code === 'Space') {
38
+ window.location.href = window.location.origin + href;
39
+ setUtagLink('main navbar', 'keydown', href);
40
+ }
41
+ }}
36
42
  onClick={() => {
37
43
  setUtagLink('main navbar', 'click', href);
38
44
  }}
@@ -0,0 +1,32 @@
1
+ import React, { forwardRef } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { BellOutline } from '../../lib/SvgComponents.jsx';
4
+
5
+ const CollapsedView = (
6
+ { expandNotification, label },
7
+ { collapsedWrapperRef, collapsedBannerRef }
8
+ ) => {
9
+ return (
10
+ <div
11
+ ref={collapsedWrapperRef}
12
+ className={`notification-banner-wrapper collapsed-view`}
13
+ onClick={expandNotification}
14
+ >
15
+ <button ref={collapsedBannerRef} className={`notification-banner-label`}>
16
+ {label}
17
+ <span className="bell-icon">
18
+ <svg aria-hidden="true" focusable="false">
19
+ <BellOutline />
20
+ </svg>
21
+ </span>
22
+ </button>
23
+ </div>
24
+ );
25
+ };
26
+
27
+ CollapsedView.propTypes = {
28
+ expandNotification: PropTypes.func,
29
+ label: PropTypes.string,
30
+ };
31
+
32
+ export default forwardRef(CollapsedView);