qpp-style 9.7.2 → 9.8.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.
@@ -12,11 +12,16 @@ const infoTipLabel =
12
12
 
13
13
  const FooterUI = (props) => {
14
14
  const isNewFooter = props.isNewFooter;
15
+ const isIESupportPage = props.isIESupportPage;
15
16
  const signUpNowLink = props.showHcdResearch
16
17
  ? '/about/hcd-research'
17
18
  : '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.';
18
19
  const [listServ, setListServ] = useState(false);
19
20
 
21
+ const setLink = (link) => {
22
+ return isIESupportPage ? '/' : link;
23
+ };
24
+
20
25
  // The footer content is populated with the following priority order:
21
26
  // 1. Use the footer content in localStorage if it's there
22
27
  // 2. If not, make a call to get it from the QPPFE endpoint. Hydrate the localStorage item with the response.
@@ -55,123 +60,131 @@ const FooterUI = (props) => {
55
60
  if (isNewFooter) {
56
61
  return (
57
62
  <>
58
- <div className="feedback-session-sign-up">
59
- <div className="responsive-container">
60
- <hr />
61
- <p>
62
- <strong>Help shape the future of QPP.</strong> Participate in a
63
- user feedback session.{' '}
64
- <a className="email-note-link" href={signUpNowLink}>
65
- Sign up now
66
- </a>
67
- </p>
63
+ {!isIESupportPage && (
64
+ <div className="feedback-session-sign-up">
65
+ <div className="responsive-container">
66
+ <hr />
67
+ <p>
68
+ <strong>Help shape the future of QPP.</strong> Participate in a
69
+ user feedback session.{' '}
70
+ <a className="email-note-link" href={signUpNowLink}>
71
+ Sign up now
72
+ </a>
73
+ </p>
74
+ </div>
68
75
  </div>
69
- </div>
76
+ )}
70
77
  <footer className="global-footer">
71
78
  <div className="build-version" id="build-version">
72
79
  {props.buildVersion}
73
80
  </div>
74
81
 
75
82
  <div className="responsive-container">
76
- <div className="global-footer-container">
77
- <div className="footer-resources">
78
- <p className="sub-title">Resources</p>
79
- <ul>
80
- <li>
81
- <a
82
- href="/about/resource-library"
83
- aria-label="Resource Library"
84
- data-track-category="FooterNav"
85
- data-track-action="OpenEducationAndTools"
86
- data-track-label="Education and Tools"
87
- >
88
- Resource Library
89
- </a>
90
- </li>
91
- <li>
92
- <a
93
- href="/resources/help-and-support"
94
- aria-label="Help and Support"
95
- data-track-category="FooterNav"
96
- data-track-action="OpenHelpAndSupport"
97
- data-track-label="Help and Support"
98
- >
99
- Help and Support
100
- </a>
101
- </li>
102
- <li>
103
- <a
104
- href="/about/small-underserved-rural-practices"
105
- aria-label="Support for Small Practices"
106
- data-track-category="FooterNav"
107
- data-track-action="OpenSupportSmallPractices"
108
- data-track-label="Support for Small Practices"
109
- >
110
- Support for Small Practices
111
- </a>
112
- </li>
113
- <li>
114
- <a
115
- href="/developers"
116
- aria-label="Developer Tools"
117
- data-track-category="FooterNav"
118
- data-track-action="OpenDeveloperTools"
119
- data-track-label="Quality Payment Program"
120
- >
121
- Developer Tools
122
- </a>
123
- </li>
124
- <li>
125
- <a
126
- href="/glossary"
127
- aria-label="Glossary"
128
- data-track-category="FooterNav"
129
- data-track-action="OpenGlossary"
130
- data-track-label="Glossary"
131
- >
132
- Glossary
133
- </a>
134
- </li>
135
- </ul>
136
- </div>
137
- <div className="footer-contact-cms">
138
- <p className="sub-title">Contact CMS</p>
139
- <p className="contact-title">By Phone:</p>
140
- <p>Monday - Friday 8 a.m - 8 p.m ET</p>
141
- <p>
142
- 1-866-288-8292 (TRS: 711)
143
- <span className="footer-trs-infotip">
144
- <InfoTip label={infoTipLabel} />
145
- </span>
146
- </p>
147
- <p className="contact-title">By Email:</p>
148
- <p>
149
- <a
150
- aria-label="QPP@cms.hhs.gov"
151
- href="mailto:QPP@cms.hhs.gov"
152
- className="email-link"
153
- >
154
- QPP@cms.hhs.gov
155
- </a>
156
- </p>
157
- </div>
158
- <div className="footer-social-newsletter">
159
- <p className="sub-title">Stay Connected</p>
160
- <SocialLinks />
161
- <p className="sub-title">
162
- {listServ
163
- ? 'Sign Up for the QPP Listserv'
164
- : 'Sign Up for the QPP Newsletter'}
165
- </p>
166
- <Subscribe />
167
- </div>
168
- </div>
169
- <hr />
83
+ <>
84
+ {!isIESupportPage && (
85
+ <div className="global-footer-container">
86
+ <div className="footer-resources">
87
+ <p className="sub-title">Resources</p>
88
+ <ul>
89
+ <li>
90
+ <a
91
+ href="/about/resource-library"
92
+ aria-label="Resource Library"
93
+ data-track-category="FooterNav"
94
+ data-track-action="OpenEducationAndTools"
95
+ data-track-label="Education and Tools"
96
+ >
97
+ Resource Library
98
+ </a>
99
+ </li>
100
+ <li>
101
+ <a
102
+ href="/resources/help-and-support"
103
+ aria-label="Help and Support"
104
+ data-track-category="FooterNav"
105
+ data-track-action="OpenHelpAndSupport"
106
+ data-track-label="Help and Support"
107
+ >
108
+ Help and Support
109
+ </a>
110
+ </li>
111
+ <li>
112
+ <a
113
+ href="/about/small-underserved-rural-practices"
114
+ aria-label="Support for Small Practices"
115
+ data-track-category="FooterNav"
116
+ data-track-action="OpenSupportSmallPractices"
117
+ data-track-label="Support for Small Practices"
118
+ >
119
+ Support for Small Practices
120
+ </a>
121
+ </li>
122
+ <li>
123
+ <a
124
+ href="/developers"
125
+ aria-label="Developer Tools"
126
+ data-track-category="FooterNav"
127
+ data-track-action="OpenDeveloperTools"
128
+ data-track-label="Quality Payment Program"
129
+ >
130
+ Developer Tools
131
+ </a>
132
+ </li>
133
+ <li>
134
+ <a
135
+ href="/glossary"
136
+ aria-label="Glossary"
137
+ data-track-category="FooterNav"
138
+ data-track-action="OpenGlossary"
139
+ data-track-label="Glossary"
140
+ >
141
+ Glossary
142
+ </a>
143
+ </li>
144
+ </ul>
145
+ </div>
146
+ <div className="footer-contact-cms">
147
+ <p className="sub-title">Contact CMS</p>
148
+ <p className="contact-title">By Phone:</p>
149
+ <p>Monday - Friday 8 a.m - 8 p.m ET</p>
150
+ <p>
151
+ 1-866-288-8292 (TRS: 711)
152
+ <span className="footer-trs-infotip">
153
+ <InfoTip label={infoTipLabel} />
154
+ </span>
155
+ </p>
156
+
157
+ <p className="contact-title">By Email:</p>
158
+ <p>
159
+ <a
160
+ aria-label="QPP@cms.hhs.gov"
161
+ href="mailto:QPP@cms.hhs.gov"
162
+ className="email-link"
163
+ >
164
+ QPP@cms.hhs.gov
165
+ </a>
166
+ </p>
167
+ </div>
168
+ <div className="footer-social-newsletter">
169
+ <p className="sub-title">Stay Connected</p>
170
+ <SocialLinks />
171
+ <p className="sub-title">
172
+ {listServ
173
+ ? 'Sign Up for the QPP Listserv'
174
+ : 'Sign Up for the QPP Newsletter'}
175
+ </p>
176
+ <Subscribe />
177
+ </div>
178
+ </div>
179
+ )}
180
+ <hr />
181
+ </>
182
+
170
183
  <div className="other-links">
171
184
  <ul className="small">
172
185
  <li>
173
186
  <a
174
- href="/privacy"
187
+ href={setLink('/privacy')}
175
188
  aria-label="Notice of Privacy and Disclaimer"
176
189
  data-track-category="FooterNav"
177
190
  data-track-action="OpenPrivacyDisclaimer"
@@ -183,7 +196,7 @@ const FooterUI = (props) => {
183
196
  <li className="divider"></li>{' '}
184
197
  <li>
185
198
  <a
186
- href="/accessibility"
199
+ href={setLink('/accessibility')}
187
200
  aria-label="Accessibility"
188
201
  data-track-category="FooterNav"
189
202
  data-track-action="OpenAccessibility"
@@ -199,7 +212,7 @@ const FooterUI = (props) => {
199
212
  className="adobe-link"
200
213
  rel="noopener noreferrer"
201
214
  target="_blank"
202
- href="https://get.adobe.com/reader"
215
+ href={setLink('https://get.adobe.com/reader')}
203
216
  data-track-category="FooterNav"
204
217
  data-track-action="DownloadAdobeReader"
205
218
  data-track-label="AdobeReader"
@@ -249,6 +262,7 @@ FooterUI.propTypes = {
249
262
  buildVersion: PropTypes.string,
250
263
  isFullWidth: PropTypes.bool,
251
264
  isNewFooter: PropTypes.bool,
265
+ isIESupportPage: PropTypes.bool,
252
266
  showHcdResearch: PropTypes.bool,
253
267
  };
254
268
 
@@ -19,6 +19,7 @@ const HeaderContainer = ({
19
19
  includeSkipToSidebar,
20
20
  showCancelButton,
21
21
  skipToContentId,
22
+ isIESupportPage,
22
23
  }) => (
23
24
  <>
24
25
  <a
@@ -37,7 +38,7 @@ const HeaderContainer = ({
37
38
  Skip to sidebar
38
39
  </a>
39
40
  )}
40
- <NotificationBanner />
41
+ {!isIESupportPage && <NotificationBanner />}
41
42
  <header id="top" className={showCancelButton ? 'show-cancel-button' : ''}>
42
43
  <HeaderLogo />
43
44
  {children}
@@ -50,11 +51,13 @@ HeaderContainer.propTypes = {
50
51
  includeSkipToSidebar: PropTypes.bool,
51
52
  showCancelButton: PropTypes.bool,
52
53
  skipToContentId: PropTypes.string,
54
+ isIESupportPage: PropTypes.bool,
53
55
  };
54
56
  HeaderContainer.defaultProps = {
55
57
  includeSkipToSidebar: false,
56
58
  showCancelButton: false,
57
59
  skipToContentId: null,
60
+ isIESupportPage: false,
58
61
  };
59
62
 
60
63
  export default HeaderContainer;
@@ -24,6 +24,7 @@ const HeaderUI = ({
24
24
  showFacilityBasedPreviewLink,
25
25
  skipToContentId,
26
26
  RouterLink,
27
+ isIESupportPage,
27
28
  }) => {
28
29
  const [isMobileMenuExpanded, setIsMobileMenuExpanded] = useState(false);
29
30
 
@@ -72,6 +73,7 @@ const HeaderUI = ({
72
73
  return (
73
74
  <HeaderStateProvider RouterLink={RouterLink}>
74
75
  <HeaderContainer
76
+ isIESupportPage={isIESupportPage}
75
77
  skipToContentId={skipToContentId}
76
78
  includeSkipToSidebar={includeSkipToSidebar}
77
79
  >
@@ -92,6 +94,7 @@ const HeaderUI = ({
92
94
  return (
93
95
  <HeaderStateProvider RouterLink={RouterLink}>
94
96
  <HeaderContainer
97
+ isIESupportPage={isIESupportPage}
95
98
  skipToContentId={skipToContentId}
96
99
  includeSkipToSidebar={includeSkipToSidebar}
97
100
  >
@@ -140,6 +143,7 @@ HeaderUI.propTypes = {
140
143
  showFacilityBasedPreviewLink: PropTypes.bool,
141
144
  skipToContentId: PropTypes.string,
142
145
  RouterLink: PropTypes.func,
146
+ isIESupportPage: PropTypes.bool,
143
147
  };
144
148
  HeaderUI.defaultProps = {
145
149
  fbpPerformanceYear: null,
@@ -154,6 +158,7 @@ HeaderUI.defaultProps = {
154
158
  showFacilityBasedPreviewLink: false,
155
159
  skipToContentId: null,
156
160
  RouterLink: null,
161
+ isIESupportPage: false,
157
162
  };
158
163
 
159
164
  export default HeaderUI;
@@ -13,6 +13,7 @@ export default class Header {
13
13
  * @param {Boolean} options.includeSkipToSidebar
14
14
  * @param {Boolean} options.showCancelButton
15
15
  * @param {Boolean} options.showCovidLink
16
+ * @param {Boolean} options.isIESupportPage
16
17
  * @param {HTMLElement} options.rootElement - Elem inside which to render
17
18
  */
18
19
  constructor(options) {
@@ -31,6 +32,7 @@ export default class Header {
31
32
  showMaqi={options.showMaqi}
32
33
  isDevPre={options.isDevPre}
33
34
  content={options.content}
35
+ isIESupportPage={options.isIESupportPage}
34
36
  />,
35
37
  options.rootElement
36
38
  );
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import FeatherIcon from 'feather-icons-react';
3
+ import SearchIcon from '@material-ui/icons/Search';
4
4
 
5
5
  const Search = ({
6
6
  id,
@@ -47,7 +47,7 @@ const Search = ({
47
47
  className="qpp-c-search__submit qpp-c-button qpp-c-button--text"
48
48
  >
49
49
  <span className="qpp-u-visually-hidden">Search</span>
50
- <FeatherIcon icon="search" />
50
+ <SearchIcon classes={{ root: 'qpp-icon-mat' }} />
51
51
  </button>
52
52
  </div>
53
53
  </form>
@@ -57,6 +57,20 @@ const NavLinkDrawer = ({
57
57
  );
58
58
  };
59
59
 
60
+ const buildLeftIconClasses = () => {
61
+ let leftIcon = `left-icon`;
62
+
63
+ if (isAlwaysOpen) {
64
+ leftIcon += ` always-open`;
65
+ }
66
+
67
+ if (isHighlighted) {
68
+ leftIcon += ' fill-white';
69
+ }
70
+
71
+ return leftIcon;
72
+ }
73
+
60
74
  // Classes for the link drawer button
61
75
  const currentPage = isCurrentPage(
62
76
  { items, listOfLinks, url },
@@ -67,7 +81,7 @@ const NavLinkDrawer = ({
67
81
  const renderLeftIcon = (leftIcon) => {
68
82
  if (leftIcon) {
69
83
  return (<svg
70
- className={`left-icon${isAlwaysOpen ? ' always-open' : ''}`}
84
+ className={`${buildLeftIconClasses()}`}
71
85
  aria-hidden="true"
72
86
  focusable="false"
73
87
  >