Add external link icons & all outstanding changes from Living copy (#1173)

* Refactor Footer component

- Make Footer component align to normal folder structure
- Make links in Footer use LinkTypeWrapper, which will allow icon to be added to all external links in one place

* Add Trussworks link to LinkTypeWrapper

* Add icon to SurveyButton comp

* Add launch icon to About page cards

* Add launch icon to FederalRegister link

* Refactor Methodology page

- Add Source and Available for fields to dataset Cards
- refactor data structure for dataset Cards to handle more than 1 source
- update constants file
- modify SASS for source list items
- update snapshots

* Add copy changes; How you can help and territories

* Update methodology section with copy changes

* Swap out all email links with <LinkTypeWrapper>

- update tests
This commit is contained in:
Vim 2022-01-26 16:12:33 -05:00 committed by GitHub
parent 4c7d729cf7
commit e677df794d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 1867 additions and 968 deletions

View file

@ -78,6 +78,7 @@ exports[`rendering of the AboutCard checks if small cards component renders 1`]
> >
<a <a
class="j40-aboutcard-link" class="j40-aboutcard-link"
data-cy=""
href="#" href="#"
> >
Test Action Test Action

View file

@ -40,6 +40,13 @@
font-size: large; font-size: large;
} }
.datasetCardListItemSource {
@include u-margin-top(2);
margin-bottom: 0.4rem;
font-size: large;
}
.datasetCardDescription { .datasetCardDescription {
font-size: large; font-size: large;
padding-top: 0.3rem; padding-top: 0.3rem;

View file

@ -7,6 +7,7 @@ declare namespace DatasetCardScssNamespace {
datasetCardDescription: string; datasetCardDescription: string;
datasetCardLabels: string; datasetCardLabels: string;
datasetCardList: string; datasetCardList: string;
datasetCardListItemSource: string;
datasetCardListItem: string; datasetCardListItem: string;
} }
} }

View file

@ -5,9 +5,7 @@ import * as styles from './datasetCard.module.scss';
import * as METHODOLOGY_COPY from '../../data/copy/methodology'; import * as METHODOLOGY_COPY from '../../data/copy/methodology';
interface IDatasetCardProps { interface IDatasetCardProps {
datasetCardProps: { datasetCardProps: METHODOLOGY_COPY.IIndicators
[key:string]: string
}
} }
const DatasetCard = ({datasetCardProps}:IDatasetCardProps) => { const DatasetCard = ({datasetCardProps}:IDatasetCardProps) => {
@ -15,30 +13,53 @@ const DatasetCard = ({datasetCardProps}:IDatasetCardProps) => {
return ( return (
<div className={styles.datasetCard} id={datasetCardProps.domID}> <div className={styles.datasetCard} id={datasetCardProps.domID}>
{/* Dataset header */}
<h3 className={styles.datasetCardIndicator}>{datasetCardProps.indicator}</h3> <h3 className={styles.datasetCardIndicator}>{datasetCardProps.indicator}</h3>
{/* Dataset description */}
<div className={styles.datasetCardDescription}> <div className={styles.datasetCardDescription}>
{datasetCardProps.description} {datasetCardProps.description}
</div> </div>
<ul className={styles.datasetCardList}> <ul className={styles.datasetCardList}>
<li className={styles.datasetCardListItem}>
<span className={styles.datasetCardLabels}> {/* Dataset Used in */}
{intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.RESP_PARTY)}
</span>
{datasetCardProps.responsibleParty}
</li>
<li className={styles.datasetCardListItem}>
<span className={styles.datasetCardLabels}>
{intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.DATE_RANGE)}
</span>
{datasetCardProps.dateRange}
</li>
<li className={styles.datasetCardListItem}> <li className={styles.datasetCardListItem}>
<span className={styles.datasetCardLabels}> <span className={styles.datasetCardLabels}>
{intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.USED_IN)} {intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.USED_IN)}
</span> </span>
{datasetCardProps.usedIn} {datasetCardProps.usedIn}
</li> </li>
{/* Dataset Responsible Party */}
<li className={styles.datasetCardListItem}>
<span className={styles.datasetCardLabels}>
{intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.RESP_PARTY)}
</span>
{datasetCardProps.responsibleParty}
</li>
{datasetCardProps.sources.map((dataSource) => (
<>
{/* Dataset Source */}
<li className={styles.datasetCardListItemSource}>
<span className={styles.datasetCardLabels}>
{intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.SOURCE)}
</span>
{dataSource.source}
</li>
{/* Dataset Available for */}
<li className={styles.datasetCardListItem}>
<span className={styles.datasetCardLabels}>
{intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.AVAILABLE_FOR)}
</span>
{dataSource.availableFor}
</li>
</>
))}
</ul> </ul>
</div> </div>
); );

View file

@ -15,29 +15,38 @@ exports[`rendering of indicator dataset card checks if component renders 1`] = `
</div> </div>
<ul> <ul>
<li>
<span>
Used in:
</span>
All methodologies except for training and workforce development
</li>
<li> <li>
<span> <span>
Responsible Party: Responsible Party:
</span> </span>
Census
</li>
<li>
<span>
Source:
</span>
<a <a
class="usa-link usa-link--external"
data-cy=""
href="https://www.census.gov/programs-surveys/acs" href="https://www.census.gov/programs-surveys/acs"
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Census's American Community Survey American Community Survey
</a> </a>
from 2015-2019
</li> </li>
<li> <li>
<span> <span>
Date range: Available for:
</span> </span>
2015-2019 All U.S. states and the District of Columbia
</li>
<li>
<span>
Used in:
</span>
All methodologies except for training and workforce development
</li> </li>
</ul> </ul>
</div> </div>

View file

@ -8,29 +8,35 @@ exports[`rendering of the HowYouCanHelp checks if various text fields are visibl
</h2> </h2>
<ul> <ul>
<li> <li>
View our View the
<a <a
href="/en/methodology" href="/en/methodology"
> >
Methodology & data Methodology & data
</a> </a>
page and send us feedback. page and send feedback.
</li> </li>
<li> <li>
Find communities of interest and Find communities of interest and
<a <a
href="mailto:Screeningtool-Support@omb.eop.gov" class="usa-link usa-link--external"
target="blank" data-cy=""
href="mailto=Screeningtool-Support@omb.eop.gov"
rel="noreferrer"
target="_blank"
> >
share your feedback share feedback
</a> </a>
. .
</li> </li>
<li> <li>
Respond to our request for information on Respond to our request for information on
<a <a
class="usa-link usa-link--external"
data-cy=""
href="https://www.federalregister.gov/" href="https://www.federalregister.gov/"
target="blank" rel="noreferrer"
target="_blank"
> >
federalregister.gov federalregister.gov
</a> </a>

View file

@ -1,7 +1,7 @@
import React from 'react'; import React from 'react';
import {render} from '@testing-library/react'; import {render} from '@testing-library/react';
import J40Footer from './J40Footer'; import J40Footer from './J40Footer';
import {LocalizedComponent} from '../test/testHelpers'; import {LocalizedComponent} from '../../test/testHelpers';
describe('J40Footer', () => { describe('J40Footer', () => {
it('renders correctly', () => { it('renders correctly', () => {

View file

@ -6,13 +6,14 @@ import {
import {NavList} from '@trussworks/react-uswds'; import {NavList} from '@trussworks/react-uswds';
import {useIntl} from 'gatsby-plugin-intl'; import {useIntl} from 'gatsby-plugin-intl';
import J40MainGridContainer from './J40MainGridContainer'; import {hyphenizeString} from '../../../cypress/integration/common/helpers';
import {hyphenizeString} from '../../cypress/integration/common/helpers'; import J40MainGridContainer from '../J40MainGridContainer';
import SurveyButton from './SurveyButton'; import LinkTypeWrapper from '../LinkTypeWrapper';
import SurveyButton from '../SurveyButton';
// @ts-ignore // @ts-ignore
import whitehouseIcon from '../images/eop-seal.svg'; import whitehouseIcon from '../../images/eop-seal.svg';
import * as COMMON_COPY from '../data/copy/common'; import * as COMMON_COPY from '../../data/copy/common';
const J40Footer = () => { const J40Footer = () => {
const intl = useIntl(); const intl = useIntl();
@ -34,43 +35,43 @@ const J40Footer = () => {
], ],
[ [
intl.formatMessage(COMMON_COPY.FOOTER.MORE_INFO), intl.formatMessage(COMMON_COPY.FOOTER.MORE_INFO),
<a <LinkTypeWrapper
linkText={intl.formatMessage(COMMON_COPY.FOOTER.WHITEHOUSE)}
internal={false}
url={intl.formatMessage(COMMON_COPY.FOOTER.WHITEHOUSE_LINK)}
openUrlNewTab={true}
className={'footer-link-first-child'} className={'footer-link-first-child'}
key={'whitehouselink2'} key={'whitehouselink2'}
href={intl.formatMessage(COMMON_COPY.FOOTER.WHITEHOUSE_LINK)} dataCy={hyphenizeString(COMMON_COPY.FOOTER.WHITEHOUSE.defaultMessage)}
target={'_blank'} />,
rel={'noreferrer'} <LinkTypeWrapper
data-cy={hyphenizeString(COMMON_COPY.FOOTER.WHITEHOUSE.defaultMessage)}> linkText={intl.formatMessage(COMMON_COPY.FOOTER.FOIA)}
{intl.formatMessage(COMMON_COPY.FOOTER.WHITEHOUSE)} internal={false}
</a>, url={'https://www.whitehouse.gov/ceq/foia'}
<a openUrlNewTab={true}
key="foialink" key={'foialink'}
href={'https://www.whitehouse.gov/ceq/foia'} dataCy={hyphenizeString(COMMON_COPY.FOOTER.FOIA.defaultMessage)}
target={'_blank'} />,
rel={'noreferrer'} <LinkTypeWrapper
data-cy={hyphenizeString(COMMON_COPY.FOOTER.FOIA.defaultMessage)}> linkText={intl.formatMessage(COMMON_COPY.FOOTER.PRIVACY)}
{intl.formatMessage(COMMON_COPY.FOOTER.FOIA)} internal={false}
</a>, url={intl.formatMessage(COMMON_COPY.FOOTER.PRIVACY_LINK)}
<a openUrlNewTab={true}
key={'privacylink'} key={'privacylink'}
href={intl.formatMessage(COMMON_COPY.FOOTER.PRIVACY_LINK)} dataCy={hyphenizeString(COMMON_COPY.FOOTER.PRIVACY.defaultMessage)}
target={'_blank'} />,
rel={'noreferrer'}
data-cy={hyphenizeString(COMMON_COPY.FOOTER.PRIVACY.defaultMessage)}>
{intl.formatMessage(COMMON_COPY.FOOTER.PRIVACY)}
</a>,
], ],
[ [
intl.formatMessage(COMMON_COPY.FOOTER.QUESTIONS), intl.formatMessage(COMMON_COPY.FOOTER.QUESTIONS),
<a <LinkTypeWrapper
linkText={intl.formatMessage(COMMON_COPY.FOOTER.FIND_CONTACT)}
internal={false}
url={intl.formatMessage(COMMON_COPY.FOOTER.FIND_CONTACT_LINK)}
openUrlNewTab={true}
className={'footer-link-first-child'} className={'footer-link-first-child'}
key={'contactlink'} key={'contactlink'}
href={intl.formatMessage(COMMON_COPY.FOOTER.FIND_CONTACT_LINK)} dataCy={hyphenizeString(COMMON_COPY.FOOTER.FIND_CONTACT.defaultMessage)}
target={'_blank'} />,
rel="noreferrer"
data-cy={hyphenizeString(COMMON_COPY.FOOTER.FIND_CONTACT.defaultMessage)}>
{intl.formatMessage(COMMON_COPY.FOOTER.FIND_CONTACT)}
</a>,
], ],
]; ];

View file

@ -79,7 +79,7 @@ exports[`J40Footer renders correctly 1`] = `
class="usa-footer__secondary-link" class="usa-footer__secondary-link"
> >
<a <a
class="footer-link-first-child" class="usa-link usa-link--external footer-link-first-child"
data-cy="whitehouse-gov" data-cy="whitehouse-gov"
href="https://www.whitehouse.gov/" href="https://www.whitehouse.gov/"
rel="noreferrer" rel="noreferrer"
@ -92,6 +92,7 @@ exports[`J40Footer renders correctly 1`] = `
class="usa-footer__secondary-link" class="usa-footer__secondary-link"
> >
<a <a
class="usa-link usa-link--external"
data-cy="freedom-of-information-act-(foia)" data-cy="freedom-of-information-act-(foia)"
href="https://www.whitehouse.gov/ceq/foia" href="https://www.whitehouse.gov/ceq/foia"
rel="noreferrer" rel="noreferrer"
@ -104,6 +105,7 @@ exports[`J40Footer renders correctly 1`] = `
class="usa-footer__secondary-link" class="usa-footer__secondary-link"
> >
<a <a
class="usa-link usa-link--external"
data-cy="privacy-policy" data-cy="privacy-policy"
href="https://www.whitehouse.gov/privacy/" href="https://www.whitehouse.gov/privacy/"
rel="noreferrer" rel="noreferrer"
@ -131,7 +133,7 @@ exports[`J40Footer renders correctly 1`] = `
class="usa-footer__secondary-link" class="usa-footer__secondary-link"
> >
<a <a
class="footer-link-first-child" class="usa-link usa-link--external footer-link-first-child"
data-cy="find-a-contact-at-usa-gov" data-cy="find-a-contact-at-usa-gov"
href="https://www.usa.gov/" href="https://www.usa.gov/"
rel="noreferrer" rel="noreferrer"
@ -188,6 +190,10 @@ exports[`J40Footer renders correctly 1`] = `
type="button" type="button"
> >
Help improve the site & data Help improve the site & data
<img
alt="launch icon"
src="test-file-stub"
/>
</button> </button>
</div> </div>
</footer> </footer>

View file

@ -0,0 +1,3 @@
import J40Footer from './J40Footer';
export default J40Footer;

View file

@ -0,0 +1,60 @@
import React from 'react';
import {Link} from 'gatsby-plugin-intl';
import {Link as TrussLink} from '@trussworks/react-uswds';
interface ILinkTypeWrapper {
linkText?: string;
internal?: boolean;
url?: string;
openUrlNewTab?: boolean;
className?: string;
dataCy?: string;
}
// eslint-disable-next-line valid-jsdoc
/**
* This function wraps the two types of links we have. Internal links and
* external links. Internal links should use the Gatsby <Link> component.
* Eternal links that will open in a new tab will use the Trussworks
* <Link> component and external links that stay on the page will use the
* standard <a> tag. This function allows the instance to choose the type of link
* along with the props necessary to set new tabs, classes.
*
* Note - if the link is an external link and will not open in a new
* browser tab, ensure that hitting the back button works. This has shown to
* have errors on edge cases (ie, launching the gmail client with mailto links)
* and it is the recommendation to not have external links open in the same tab.
*
* @param props
* @returns
*/
const LinkTypeWrapper = (props:ILinkTypeWrapper) => {
if (props.internal) {
return (
<Link to={`${props.url}`}>
{props.linkText}
</Link>
);
} else {
return props.openUrlNewTab ?
<TrussLink
variant={'external'}
className={props.className}
href={`${props.url}`}
target="_blank"
rel="noreferrer"
data-cy={props.dataCy ? props.dataCy : ''}
>
{props.linkText}
</TrussLink> :
<a
className={props.className}
href={props.url}
data-cy={props.dataCy? props.dataCy : ''}
>
{props.linkText}
</a>;
}
};
export default LinkTypeWrapper;

View file

@ -3,6 +3,7 @@
exports[`testing all link types tests external links new tab 1`] = ` exports[`testing all link types tests external links new tab 1`] = `
<DocumentFragment> <DocumentFragment>
<a <a
data-cy=""
href="www.usds.gov" href="www.usds.gov"
> >
test link text test link text
@ -13,6 +14,8 @@ exports[`testing all link types tests external links new tab 1`] = `
exports[`testing all link types tests external links same tab 1`] = ` exports[`testing all link types tests external links same tab 1`] = `
<DocumentFragment> <DocumentFragment>
<a <a
class="usa-link usa-link--external"
data-cy=""
href="www.usds.gov" href="www.usds.gov"
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"

View file

@ -1,50 +1,3 @@
import React from 'react'; import LinkTypeWrapper from './LinkTypeWrapper';
import {Link} from 'gatsby-plugin-intl';
interface ILinkTypeWrapper {
linkText?: string;
internal?: boolean;
url?: string;
openUrlNewTab?: boolean;
className?: string;
}
// eslint-disable-next-line valid-jsdoc
/**
* This function wraps the two types of links we have. Internal links and
* external links. Internal links should use the <Link> component, while
* eternal links can use the standard <a> tag. This function allows the
* instance to choose the type of link along with the props necessary to
* set new tabs, classes.
*
* Note - if the link is an external link and will not open in a new
* browser tab, ensure that hitting the back button works. This has shown to
* have errors on edge cases (ie, launching the gmail client with mailto links)
* and it is the recommendation to not have external links open in the same tab.
*
* @param props
* @returns
*/
const LinkTypeWrapper = (props:ILinkTypeWrapper) => {
if (props.internal) {
return (
<Link to={`${props.url}`}>
{props.linkText}
</Link>
);
} else {
return props.openUrlNewTab ?
<a
className={props.className}
href={props.url}
target="_blank"
rel="noreferrer">{props.linkText}
</a> :
<a
className={props.className}
href={props.url}>{props.linkText}
</a>;
}
};
export default LinkTypeWrapper; export default LinkTypeWrapper;

View file

@ -30,6 +30,7 @@ const MapWrapper = ({location}: IMapWrapperProps) => {
<h2>{EXPLORE_COPY.NOTE_ON_TERRITORIES.INTRO}</h2> <h2>{EXPLORE_COPY.NOTE_ON_TERRITORIES.INTRO}</h2>
<p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_1}</p> <p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_1}</p>
<p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_2}</p> <p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_2}</p>
<p>{EXPLORE_COPY.NOTE_ON_TERRITORIES.PARA_3}</p>
</Grid> </Grid>
</Grid> </Grid>
</> </>

View file

@ -15,12 +15,17 @@
@include u-height(6); @include u-height(6);
z-index: 2; z-index: 2;
@include u-text("gray-90"); @include u-text("blue-70v");
@include u-bg("yellow-20v"); @include u-bg("yellow-20v");
&:hover { &:hover {
@include u-bg("yellow-20"); @include u-bg("yellow-20");
@include u-text("gray-90"); @include u-text("gray-90");
} }
.launchIcon {
height: .8rem;
// @include u-margin-bottom('neg-05');
}
} }
} }

View file

@ -2,6 +2,7 @@ declare namespace SurveyButtonNamespace {
export interface ISurveyButtonScss { export interface ISurveyButtonScss {
surveyButton: string; surveyButton: string;
surveyButtonContainer: string; surveyButtonContainer: string;
launchIcon: string;
} }
} }

View file

@ -6,6 +6,9 @@ import * as styles from './SurveyButton.module.scss';
import * as CONTACT_COPY from '../../data/copy/contact'; import * as CONTACT_COPY from '../../data/copy/contact';
import J40MainGridContainer from '../J40MainGridContainer'; import J40MainGridContainer from '../J40MainGridContainer';
// @ts-ignore
import launchIcon from '/node_modules/uswds/dist/img/usa-icons-bg/launch--blue-70v.svg';
export const onClickHandler = () => { export const onClickHandler = () => {
Object.assign(document.createElement('a'), {target: '_blank', href: 'https://www.surveymonkey.com/r/cejst-survey'}).click(); Object.assign(document.createElement('a'), {target: '_blank', href: 'https://www.surveymonkey.com/r/cejst-survey'}).click();
}; };
@ -19,6 +22,11 @@ const SurveyButton = () => {
className={styles.surveyButton} className={styles.surveyButton}
onClick={() => onClickHandler()}> onClick={() => onClickHandler()}>
{intl.formatMessage(CONTACT_COPY.PAGE_INTRO.SURVEY_TEXT)} {intl.formatMessage(CONTACT_COPY.PAGE_INTRO.SURVEY_TEXT)}
<img
className={styles.launchIcon}
src={launchIcon}
alt={'launch icon'}
/>
</Button> </Button>
</J40MainGridContainer> </J40MainGridContainer>
); );

View file

@ -12,6 +12,10 @@ exports[`rendering of the SurveyButton checks if component renders 1`] = `
type="button" type="button"
> >
Help improve the site & data Help improve the site & data
<img
alt="launch icon"
src="test-file-stub"
/>
</button> </button>
</div> </div>
</DocumentFragment> </DocumentFragment>

View file

@ -2,6 +2,8 @@ import React from 'react';
import {defineMessages} from 'react-intl'; import {defineMessages} from 'react-intl';
import {FormattedMessage} from 'gatsby-plugin-intl'; import {FormattedMessage} from 'gatsby-plugin-intl';
import LinkTypeWrapper from '../../components/LinkTypeWrapper';
export const EXEC_ORDER_LINK = 'https://www.whitehouse.gov/briefing-room/presidential-actions/2021/01/27/executive-order-on-tackling-the-climate-crisis-at-home-and-abroad/'; export const EXEC_ORDER_LINK = 'https://www.whitehouse.gov/briefing-room/presidential-actions/2021/01/27/executive-order-on-tackling-the-climate-crisis-at-home-and-abroad/';
export const PAGE = defineMessages({ export const PAGE = defineMessages({
@ -61,10 +63,12 @@ export const HEADING_1 = {
tool identifies disadvantaged communities through publicly-available, nationally-consistent, and high-quality data. tool identifies disadvantaged communities through publicly-available, nationally-consistent, and high-quality data.
`} `}
values={{ values={{
eoLink: eoLink: <LinkTypeWrapper
<a href={EXEC_ORDER_LINK} target={'blank'}> linkText={'Executive Order 14008'}
Executive Order 14008 internal={false}
</a>, url={EXEC_ORDER_LINK}
openUrlNewTab={true}
/>,
tacklingItalics: <i>Tackling the Climate Crisis at Home and Abroad</i>, tacklingItalics: <i>Tackling the Climate Crisis at Home and Abroad</i>,
}} }}
/>, />,
@ -80,10 +84,12 @@ export const HEADING_2 = {
{eoLink} on {tacklingItalics}. {eoLink} on {tacklingItalics}.
`} `}
values={{ values={{
eoLink: eoLink: <LinkTypeWrapper
<a href={EXEC_ORDER_LINK} target={'blank'}> linkText={'Executive Order 14008'}
Executive Order 14008 internal={false}
</a>, url={EXEC_ORDER_LINK}
openUrlNewTab={true}
/>,
tacklingItalics: <i>Tackling the Climate Crisis at Home and Abroad</i>, tacklingItalics: <i>Tackling the Climate Crisis at Home and Abroad</i>,
}} }}
/>, />,

View file

@ -2,6 +2,7 @@
import React from 'react'; import React from 'react';
import {defineMessages} from 'react-intl'; import {defineMessages} from 'react-intl';
import {FormattedMessage, Link} from 'gatsby-plugin-intl'; import {FormattedMessage, Link} from 'gatsby-plugin-intl';
import LinkTypeWrapper from '../../components/LinkTypeWrapper';
import * as CONTACT_COPY from './contact'; import * as CONTACT_COPY from './contact';
import * as METHODOLOGY_COPY from './methodology'; import * as METHODOLOGY_COPY from './methodology';
@ -623,15 +624,21 @@ export const NOTE_ON_TERRITORIES = {
PARA_2: <FormattedMessage PARA_2: <FormattedMessage
id={'explore.page.note.on.territories.para.2'} id={'explore.page.note.on.territories.para.2'}
defaultMessage={` defaultMessage={`
For American Samoa, Northern Mariana Islands, Guam and U.S. Virgin Islands, the last reported data from The Decennial Census data from 2010 was used
the Census Bureau is the Decennial Census from 2010. The Decennial Census data from 2010 was used for American Samoa and Northern Mariana Islands using only the unemployment, poverty, low median
for American Samoa and Northern Mariana Islands using only the unemployment, poverty, area median
income, and high school degree achievement rate fields in the Training and Workforce Development income, and high school degree achievement rate fields in the Training and Workforce Development
category of the methodology. Work is underway to identify disadvantaged communities and update the category of the methodology.
CEJST accordingly for Guam and the U.S. Virgin Islands.
`} `}
description={`territories paragraph 2`} description={`territories paragraph 2`}
/>, />,
PARA_3: <FormattedMessage
id={'explore.page.note.on.territories.para.3'}
defaultMessage={`
Work is underway to identify disadvantaged communities and update the
CEJST accordingly for Guam and the U.S. Virgin Islands.
`}
description={`territories paragraph 3`}
/>,
}; };
export const HOW_YOU_CAN_HELP_LIST_ITEMS = { export const HOW_YOU_CAN_HELP_LIST_ITEMS = {
@ -643,7 +650,7 @@ export const HOW_YOU_CAN_HELP_LIST_ITEMS = {
LIST_ITEM_1: <FormattedMessage LIST_ITEM_1: <FormattedMessage
id={'youCanHelpInfoText.list.item.1'} id={'youCanHelpInfoText.list.item.1'}
description={'give us feedback on our data and methodology'} description={'give us feedback on our data and methodology'}
defaultMessage={`View our {dataMeth} page and send us feedback.`} defaultMessage={`View the {dataMeth} page and send feedback.`}
values={{ values={{
dataMeth: dataMeth:
<Link to={'/methodology'}> <Link to={'/methodology'}>
@ -661,9 +668,12 @@ export const HOW_YOU_CAN_HELP_LIST_ITEMS = {
defaultMessage={`Find communities of interest and {shareFeedback}.`} defaultMessage={`Find communities of interest and {shareFeedback}.`}
values={{ values={{
shareFeedback: shareFeedback:
<a href={`mailto:${CONTACT_COPY.FEEDBACK_EMAIL}`} target={'blank'}> <LinkTypeWrapper
{'share your feedback'} linkText= {'share feedback'}
</a>, internal= {false}
url= {`mailto=${CONTACT_COPY.FEEDBACK_EMAIL}`}
openUrlNewTab= {true}
/>,
}} }}
/>, />,
LIST_ITEM_3: <FormattedMessage LIST_ITEM_3: <FormattedMessage
@ -672,9 +682,12 @@ export const HOW_YOU_CAN_HELP_LIST_ITEMS = {
defaultMessage={`Respond to our request for information on {federalRegisterLink}.`} defaultMessage={`Respond to our request for information on {federalRegisterLink}.`}
values={{ values={{
federalRegisterLink: federalRegisterLink:
<a href={`https://www.federalregister.gov/`} target={'blank'}> <LinkTypeWrapper
{'federalregister.gov'} linkText={'federalregister.gov'}
</a>, internal={false}
url={`https://www.federalregister.gov/`}
openUrlNewTab={true}
/>,
}} }}
/>, />,

View file

@ -1,6 +1,7 @@
import React from 'react'; import React from 'react';
import {defineMessages} from 'react-intl'; import {defineMessages} from 'react-intl';
import {FormattedMessage} from 'gatsby-plugin-intl'; import {FormattedMessage} from 'gatsby-plugin-intl';
import LinkTypeWrapper from '../../components/LinkTypeWrapper';
export const PAGE = defineMessages({ export const PAGE = defineMessages({
TILE: { TILE: {
@ -549,203 +550,20 @@ export const DATASET_CARD_LABELS = defineMessages({
defaultMessage: 'Date range: ', defaultMessage: 'Date range: ',
description: 'label associated with explaining the card', description: 'label associated with explaining the card',
}, },
SOURCE: {
id: 'datasetCard.source',
defaultMessage: 'Source: ',
description: 'label associated with source of the card',
},
AVAILABLE_FOR: {
id: 'datasetCard.available.for',
defaultMessage: 'Available for: ',
description: 'label associated with available for which regions of the card',
},
}); });
export const RESPONSIBLE_PARTIES = {
CENSUS_ACS: <FormattedMessage
id= {'category.resp.party.census.link'}
defaultMessage= {'{resPartyCensusLink}'}
description= {'responsible party link for Census ACS'}
values= {{
resPartyCensusLink:
<a href={`https://www.census.gov/programs-surveys/acs`} target={'_blank'} rel="noreferrer">
{`Census's American Community Survey`}
</a>,
}}
/>,
FEMA: <FormattedMessage
id= {'category.resp.party.fema.link'}
defaultMessage= {`{resPartyFemaLink}`}
description= {'responsible party link for FEMA'}
values={{
resPartyFemaLink:
<a href={`https://hazards.fema.gov/nri/expected-annual-loss`} target={'_blank'} rel="noreferrer">
{`Federal Emergency Management Agency (FEMA)`}
</a>,
}}
/>,
DOE: <FormattedMessage
id= {'category.resp.party.doe.link'}
defaultMessage= {`{resPartyDoeLink}`}
description= {'responsible party link for FEMA'}
values={{
resPartyDoeLink:
<a href={`https://www.energy.gov/eere/slsc/low-income-energy-affordability-data-lead-tool`}
target={'_blank'}
rel="noreferrer">
{`Department of Energy (DOE) LEAD Score`}
</a>,
}}
/>,
EPA_OAR: <FormattedMessage
id= {'category.resp.party.epa.oar.link'}
defaultMessage= {`{resPartyEpaOarLink}`}
description= {'responsible party link for EPA OAR'}
values={{
resPartyEpaOarLink:
<a href={`https://www.epa.gov/ejscreen/technical-documentation-ejscreen`}
target={'_blank'}
rel="noreferrer">
{`
Environmental Protection Agency (EPA) Office of Air and Radiation (OAR) fusion of model and monitor
data as compiled by EPA's EJSCREEN, sourced from EPA National Air Toxics Assessment (NATA), 2017
U.S. Department of Transportation (DOT) traffic data
`}
</a>,
}}
/>,
EPA_NATA: <FormattedMessage
id= {'category.resp.party.epa.nata.link'}
defaultMessage= {`{resPartyEpaOarLink}`}
description= {'responsible party link for EPA NATA'}
values={{
resPartyEpaOarLink:
<a href={`https://www.epa.gov/ejscreen/technical-documentation-ejscreen`}
target={'_blank'}
rel="noreferrer">
{`
Environmental Protection Agency (EPA) National Air Toxics Assessment (NATA)
as compiled by EPA's EJSCREEN
`}
</a>,
}}
/>,
DOT_EPA: <FormattedMessage
id= {'category.resp.party.dot.epa.link'}
defaultMessage= {`{resPartyDotEpaLink}`}
description= {'responsible party link for DOT EPA'}
values={{
resPartyDotEpaLink:
<a href={`https://www.epa.gov/ejscreen/technical-documentation-ejscreen`}
target={'_blank'}
rel="noreferrer">
{`
Department of Transportation (DOT) traffic data as compiled by EPA's EJSCREEN
`}
</a>,
}}
/>,
HUD: <FormattedMessage
id= {'category.resp.party.hud.link'}
defaultMessage= {`{resPartyHudLink}`}
description= {'responsible party link for HUD'}
values={{
resPartyHudLink:
<a href={`https://www.huduser.gov/portal/datasets/cp.html`}
target={'_blank'}
rel="noreferrer">
{`
Department of Housing & Urban Developments
(HUD) Comprehensive Housing Affordability Strategy dataset
`}
</a>,
}}
/>,
EPA_TSDF: <FormattedMessage
id= {'category.resp.party.epa.tsdf.link'}
defaultMessage= {`{resPartyEpaTsdfLink}`}
description= {'responsible party link for EPA TSDF'}
values={{
resPartyEpaTsdfLink:
<a href={`https://enviro.epa.gov/facts/rcrainfo/search.html`}
target={'_blank'}
rel="noreferrer">
{`
Environmental Protection Agency (EPA) Treatment Storage, and Disposal Facilities
(TSDF) data calculated from EPA RCRA info database as compiled by EPAs EJSCREEN
`}
</a>,
}}
/>,
EPA_CERCLIS: <FormattedMessage
id= {'category.resp.party.epa.cerclis.link'}
defaultMessage= {`{resPartyEpaCerclisLink}`}
description= {'responsible party link for EPA CERCLIS'}
values={{
resPartyEpaCerclisLink:
<a href={`https://enviro.epa.gov/facts/rcrainfo/search.html`}
target={'_blank'}
rel="noreferrer">
{`
Environmental Protection Agency (EPA) CERCLIS database as compiled by EPAs EJSCREEN
`}
</a>,
}}
/>,
EPA_RMP: <FormattedMessage
id= {'category.resp.party.epa.rmp.link'}
defaultMessage= {`{resPartyEpaRmpLink}`}
description= {'responsible party link for EPA RMP'}
values={{
resPartyEpaRmpLink:
<a href={`https://www.epa.gov/ejscreen/technical-documentation-ejscreen`}
target={'_blank'}
rel="noreferrer">
{`
Environmental Protection Agency (EPA) RMP database as compiled by EPAs EJSCREEN
`}
</a>,
}}
/>,
EPA_RSEI: <FormattedMessage
id= {'category.resp.party.epa.rsei.link'}
defaultMessage= {`{resPartyEpaRseiLink}`}
description= {'responsible party link for EPA RSEI'}
values={{
resPartyEpaRseiLink:
<a href={`https://www.epa.gov/ejscreen/technical-documentation-ejscreen`}
target={'_blank'}
rel="noreferrer">
{`
Environmental Protection Agency (EPA) Risk-Screening
Environmental Indicators (RSEI) Model as compiled by EPA's EJSCREEN
`}
</a>,
}}
/>,
CDC_PLACES: <FormattedMessage
id= {'category.resp.party.cdc.places.link'}
defaultMessage= {`{resPartyCdcPlacesLink}`}
description= {'responsible party link for CDC Places'}
values={{
resPartyCdcPlacesLink:
<a href={`https://www.cdc.gov/places/index.html`}
target={'_blank'}
rel="noreferrer">
{`
Centers for Disease Control and Prevention (CDC) PLACES
`}
</a>,
}}
/>,
CDC_SLEEP: <FormattedMessage
id= {'category.resp.party.cdc.sleep.link'}
defaultMessage= {`{resPartyCdcSleepLink}`}
description= {'responsible party link for CDC Sleep'}
values={{
resPartyCdcSleepLink:
<a href={`https://www.cdc.gov/nchs/nvss/usaleep/usaleep.html#data`}
target={'_blank'}
rel="noreferrer">
{`
CDCs U.S. Small-area Life Expectancy Estimates Project (USALEEP)
`}
</a>,
}}
/>,
};
export const DATE_RANGE = { export const DATE_RANGE = {
TEN: '2010',
TEN_PLUS_5: '2010-2015', TEN_PLUS_5: '2010-2015',
FOURTEEN: '2014', FOURTEEN: '2014',
FOURTEEN_PLUS_4: '2014-2018', FOURTEEN_PLUS_4: '2014-2018',
@ -758,6 +576,254 @@ export const DATE_RANGE = {
TWENTY: '2020', TWENTY: '2020',
}; };
export const RESPONSIBLE_PARTIES = {
CDC: `Centers for Disease Control and Prevention (CDC)`,
CENSUS: `Census`,
DOE: `Department of Energy (DOE)`,
DOT: `Department of Transportation (DOT)`,
EPA: `Environmental Protection Agency (EPA)`,
EPA_OAR: `Environmental Protection Agency (EPA) Office of Air and Radiation (OAR)`,
FEMA: `Federal Emergency Management Agency (FEMA)`,
HUD: `Department of Housing & Urban Development's (HUD)`,
};
export const SOURCE_LINKS = {
CENSUS_ACS_15_19: <FormattedMessage
id= {'category.source.census.link'}
defaultMessage= {'{sourceCensusLink} from {date15_19}'}
description= {'source link for Census ACS'}
values= {{
sourceCensusLink:
<LinkTypeWrapper
linkText={`American Community Survey`}
internal={false}
url={`https://www.census.gov/programs-surveys/acs`}
openUrlNewTab={true}
/>,
date15_19: DATE_RANGE.FIFETEEN_PLUS_4,
}}
/>,
CENSUS_ACS_10: <FormattedMessage
id= {'category.source.census.link'}
defaultMessage= {'{sourceCensusLink} from {date10}'}
description= {'source link for Census ACS'}
values= {{
sourceCensusLink:
<LinkTypeWrapper
linkText={`American Community Survey`}
internal={false}
url={`https://www.census.gov/programs-surveys/acs`}
openUrlNewTab={true}
/>,
date10: DATE_RANGE.TEN,
}}
/>,
FEMA_NRI: <FormattedMessage
id= {'category.source.fema.link'}
defaultMessage= {`{sourceFemaLink} from {date14_21}`}
description= {'source link for FEMA'}
values={{
sourceFemaLink:
<LinkTypeWrapper
linkText={`National Risk Index`}
internal={false}
url={`https://hazards.fema.gov/nri/expected-annual-loss`}
openUrlNewTab={true}
/>,
date14_21: DATE_RANGE.FOURTEEN_PLUS_7,
}}
/>,
DOE_LEAD: <FormattedMessage
id= {'category.source.doe.lead.link'}
defaultMessage= {`{sourceDoeLeadLink} from {date18}`}
description= {'source link for DOE FEMA'}
values={{
sourceDoeLeadLink:
<LinkTypeWrapper
linkText={`LEAD Score`}
internal={false}
url={`https://www.energy.gov/eere/slsc/low-income-energy-affordability-data-lead-tool`}
openUrlNewTab={true}
/>,
date18: DATE_RANGE.EIGHTEEN,
}}
/>,
EPA_OAR: <FormattedMessage
id= {'category.source.epa.oar.link'}
defaultMessage= {`
{sourceEpaOarLink} from {date17} as compiled by EPAs EJSCREEN, sourced from EPA National Air
Toxics Assessment (NATA) and the U.S. Department of Transportation (DOT) traffic data
`}
description= {'source link for EPA OAR'}
values={{
sourceEpaOarLink:
<LinkTypeWrapper
linkText={`Fusion of model and monitor data`}
internal={false}
url={`https://www.epa.gov/ejscreen/technical-documentation-ejscreen`}
openUrlNewTab={true}
/>,
date17: DATE_RANGE.SEVENTEEN,
}}
/>,
EPA_NATA: <FormattedMessage
id= {'category.source.epa.nata.link'}
defaultMessage= {`{sourceEpaOarLink} from {date14} as compiled by EPA's EJSCREEN`}
description= {'source link for EPA NATA'}
values={{
sourceEpaOarLink:
<LinkTypeWrapper
linkText={`National Air Toxics Assessment (NATA)`}
internal={false}
url={`https://www.epa.gov/ejscreen/technical-documentation-ejscreen`}
openUrlNewTab={true}
/>,
date14: DATE_RANGE.FOURTEEN,
}}
/>,
DOT_EPA: <FormattedMessage
id= {'category.source.dot.epa.link'}
defaultMessage= {`{sourceDotEpaLink} from {date17} as compiled by EPA's EJSCREEN`}
description= {'source link for DOT EPA'}
values={{
sourceDotEpaLink:
<LinkTypeWrapper
linkText={`Traffic Data`}
internal={false}
url={`https://www.epa.gov/ejscreen/technical-documentation-ejscreen`}
openUrlNewTab={true}
/>,
date17: DATE_RANGE.SEVENTEEN,
}}
/>,
HUD: <FormattedMessage
id= {'category.source.hud.link'}
defaultMessage= {`{sourceHudLink} from {date14_18}`}
description= {'source link for HUD'}
values={{
sourceHudLink:
<LinkTypeWrapper
linkText={`Comprehensive Housing Affordability Strategy dataset`}
internal={false}
url={`https://www.huduser.gov/portal/datasets/cp.html`}
openUrlNewTab={true}
/>,
date14_18: DATE_RANGE.FOURTEEN_PLUS_4,
}}
/>,
EPA_TSDF: <FormattedMessage
id= {'category.source.epa.tsdf.link'}
defaultMessage= {`
{sourceEpaTsdfLink} from {date20} calculated from EPA RCRA database as compiled
by EPA's EJSCREEN
`}
description= {'source link for EPA TSDF'}
values={{
sourceEpaTsdfLink:
<LinkTypeWrapper
linkText={`Treatment Storage, and Disposal Facilities (TSDF) data`}
internal={false}
url={`https://enviro.epa.gov/facts/rcrainfo/search.html`}
openUrlNewTab={true}
/>,
date20: DATE_RANGE.TWENTY,
}}
/>,
EPA_CERCLIS: <FormattedMessage
id= {'category.source.epa.cerclis.link'}
defaultMessage= {`{sourceEpaCerclisLink} from {date20} as compiled by EPAs EJSCREEN`}
description= {'source link for EPA CERCLIS'}
values={{
sourceEpaCerclisLink:
<LinkTypeWrapper
linkText={`CERCLIS database`}
internal={false}
url={`https://enviro.epa.gov/facts/rcrainfo/search.html`}
openUrlNewTab={true}
/>,
date20: DATE_RANGE.TWENTY,
}}
/>,
EPA_RMP: <FormattedMessage
id= {'category.source.epa.rmp.link'}
defaultMessage= {`{sourceEpaRmpLink} from {date20} as compiled by EPAs EJSCREEN`}
description= {'source link for EPA RMP'}
values={{
sourceEpaRmpLink:
<LinkTypeWrapper
linkText={`RMP database`}
internal={false}
url={`https://www.epa.gov/ejscreen/technical-documentation-ejscreen`}
openUrlNewTab={true}
/>,
date20: DATE_RANGE.TWENTY,
}}
/>,
EPA_RSEI: <FormattedMessage
id= {'category.source.epa.rsei.link'}
defaultMessage= {`{sourceEpaRseiLink} from {date20} as compiled by EPAs EJSCREEN`}
description= {'source link for EPA RSEI'}
values={{
sourceEpaRseiLink:
<LinkTypeWrapper
linkText={`Risk-Screening Environmental Indicators (RSEI) Model`}
internal={false}
url={`https://www.epa.gov/ejscreen/technical-documentation-ejscreen`}
openUrlNewTab={true}
/>,
date20: DATE_RANGE.TWENTY,
}}
/>,
CDC_PLACES: <FormattedMessage
id= {'category.source.cdc.places.link'}
defaultMessage= {`{sourceCdcPlacesLink} from {date16_19}`}
description= {'source link for CDC Places'}
values={{
sourceCdcPlacesLink:
<LinkTypeWrapper
linkText={`PLACES data`}
internal={false}
url={`https://www.cdc.gov/places/index.html`}
openUrlNewTab={true}
/>,
date16_19: DATE_RANGE.SIXTEEN_PLUS_3,
}}
/>,
CDC_SLEEP: <FormattedMessage
id= {'category.source.cdc.sleep.link'}
defaultMessage= {`{sourceCdcSleepLink} from {date10_15}`}
description= {'source link for CDC Sleep'}
values={{
sourceCdcSleepLink:
<LinkTypeWrapper
linkText={`U.S. Small-area Life Expectancy Estimates Project (USALEEP)`}
internal={false}
url={`https://www.cdc.gov/nchs/nvss/usaleep/usaleep.html#data`}
openUrlNewTab={true}
/>,
date10_15: DATE_RANGE.TEN_PLUS_5,
}}
/>,
};
export const AVAILABLE_FOR = {
ALL_US_DC: `All U.S. states and the District of Columbia`,
ALL_US_DC_PR: `All U.S. states, the District of Columbia, and Puerto Rico`,
AS_NMI: `American Samoa and the Northern Mariana Islands`,
};
export interface IIndicators {
domID: string,
indicator: string,
description: string,
usedIn: string,
responsibleParty: string,
sources: [ {
source: string,
availableFor: string,
}]
};
export const INDICATORS = [ export const INDICATORS = [
{ {
domID: 'low-income', domID: 'low-income',
@ -771,8 +837,13 @@ export const INDICATORS = [
description= {'description text for low income'} description= {'description text for low income'}
/>, />,
usedIn: CATEGORIES.ALL.METHODOLOGY, usedIn: CATEGORIES.ALL.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS, responsibleParty: RESPONSIBLE_PARTIES.CENSUS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4, sources: [
{
source: SOURCE_LINKS.CENSUS_ACS_15_19,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'exp-agr-loss-rate', domID: 'exp-agr-loss-rate',
@ -780,17 +851,22 @@ export const INDICATORS = [
description: <FormattedMessage description: <FormattedMessage
id= {'category.exp.agr.loss.rate.description.text'} id= {'category.exp.agr.loss.rate.description.text'}
defaultMessage= {` defaultMessage= {`
Percent of agriculture value at risk from losses due to natural hazards. Calculated by dividing Percent of agriculture value at risk from losses due to natural hazards such as the fourteen
the agriculture value at risk in a census tract by the total agriculture value in that census natural hazards that have some link to climate change including: avalanche, coastal flooding,
tract. Fourteen natural hazards that have some link to climate change include: avalanche, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine flooding, strong
coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, wind, tornado, wildfire, and winter weather. Calculated by dividing the agriculture value at risk in
riverine flooding, strong wind, tornado, wildfire, and winter weather. a census tract by the total agriculture value in that census tract.
`} `}
description= {'description text for exp agr loss rate'} description= {'description text for exp agr loss rate'}
/>, />,
usedIn: CATEGORIES.CLIMATE_CHANGE.METHODOLOGY, usedIn: CATEGORIES.CLIMATE_CHANGE.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.FEMA, responsibleParty: RESPONSIBLE_PARTIES.FEMA,
dateRange: DATE_RANGE.FOURTEEN_PLUS_7, sources: [
{
source: SOURCE_LINKS.FEMA_NRI,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'exp-bld-loss-rate', domID: 'exp-bld-loss-rate',
@ -798,17 +874,22 @@ export const INDICATORS = [
description: <FormattedMessage description: <FormattedMessage
id= {'category.exp.bld.loss.rate.description.text'} id= {'category.exp.bld.loss.rate.description.text'}
defaultMessage= {` defaultMessage= {`
Percent of building value at risk from losses due to natural hazards. Calculated by dividing the Percent of building value at risk from losses due to natural hazards such as the fourteen
building value at risk in a census tract by the total building value in that census tract. natural hazards that have some link to climate change including: avalanche, coastal flooding,
Fourteen natural hazards that have some link to climate change include: avalanche, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine flooding, strong
coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, wind, tornado, wildfire, and winter weather. Calculated by dividing the building value at risk in
riverine flooding, strong wind, tornado, wildfire, and winter weather. a census tract by the total building value in that census tract.
`} `}
description= {'description text for exp bld loss rate'} description= {'description text for exp bld loss rate'}
/>, />,
usedIn: CATEGORIES.CLIMATE_CHANGE.METHODOLOGY, usedIn: CATEGORIES.CLIMATE_CHANGE.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.FEMA, responsibleParty: RESPONSIBLE_PARTIES.FEMA,
dateRange: DATE_RANGE.FOURTEEN_PLUS_7, sources: [
{
source: SOURCE_LINKS.FEMA_NRI,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'exp-pop-loss-rate', domID: 'exp-pop-loss-rate',
@ -816,23 +897,28 @@ export const INDICATORS = [
description: <FormattedMessage description: <FormattedMessage
id= {'category.exp.pop.loss.rate.description.text'} id= {'category.exp.pop.loss.rate.description.text'}
defaultMessage= {` defaultMessage= {`
Rate relative to the population in fatalities and injuries due to natural hazards each year. Rate relative to the population in fatalities and injuries due to natural hazards each year such as
Fourteen natural hazards that have some link to climate change include: avalanche, coastal the fourteen natural hazards that have some link to climate change including: avalanche,
flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide,
flooding, strong wind, tornado, wildfire, and winter weather. riverine flooding, strong wind, tornado, wildfire, and winter weather. Population loss is defined
Population loss is defined as the Spatial Hazard Events and Losses or National Centers as the Spatial Hazard Events and Losses or National Centers for Environmental Informations
for Environmental Informations (NCEI) reported number of fatalities and injuries caused by the (NCEI) reported number of fatalities and injuries caused by the hazard occurrence. To
hazard occurrence. To combine fatalities and injuries for the computation of population loss value, combine fatalities and injuries for the computation of population loss value, an injury is counted
an injury is counted as one-tenth (1/10) of a fatality. The NCEI Storm Events Database as one-tenth (1/10) of a fatality. The NCEI Storm Events Database classifies injuries and fatalities
classifies injuries and fatalities as direct or indirect. Both direct and indirect injuries as direct or indirect. Both direct and indirect injuries and fatalities are counted as population
and fatalities are counted as population loss. This total number of injuries and fatalities loss. This total number of injuries and fatalities is then divided by the population in the
is then divided by the population in the census tract to get a per-capita rate of population risk. census tract to get a per-capita rate of population risk.
`} `}
description= {'description text for exp pop loss rate'} description= {'description text for exp pop loss rate'}
/>, />,
usedIn: CATEGORIES.CLIMATE_CHANGE.METHODOLOGY, usedIn: CATEGORIES.CLIMATE_CHANGE.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.FEMA, responsibleParty: RESPONSIBLE_PARTIES.FEMA,
dateRange: DATE_RANGE.FOURTEEN_PLUS_7, sources: [
{
source: SOURCE_LINKS.FEMA_NRI,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'energy-burden', domID: 'energy-burden',
@ -844,7 +930,12 @@ export const INDICATORS = [
/>, />,
usedIn: CATEGORIES.CLEAN_ENERGY.METHODOLOGY, usedIn: CATEGORIES.CLEAN_ENERGY.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.DOE, responsibleParty: RESPONSIBLE_PARTIES.DOE,
dateRange: DATE_RANGE.EIGHTEEN, sources: [
{
source: SOURCE_LINKS.DOE_LEAD,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'pm-25', domID: 'pm-25',
@ -858,7 +949,12 @@ export const INDICATORS = [
/>, />,
usedIn: CATEGORIES.CLEAN_ENERGY.METHODOLOGY, usedIn: CATEGORIES.CLEAN_ENERGY.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.EPA_OAR, responsibleParty: RESPONSIBLE_PARTIES.EPA_OAR,
dateRange: DATE_RANGE.SEVENTEEN, sources: [
{
source: SOURCE_LINKS.EPA_OAR,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'diesel-pm', domID: 'diesel-pm',
@ -871,8 +967,13 @@ export const INDICATORS = [
description= {'description text for diesel pm'} description= {'description text for diesel pm'}
/>, />,
usedIn: CATEGORIES.CLEAN_TRANSPORT.METHODOLOGY, usedIn: CATEGORIES.CLEAN_TRANSPORT.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.EPA_NATA, responsibleParty: RESPONSIBLE_PARTIES.EPA,
dateRange: DATE_RANGE.FOURTEEN, sources: [
{
source: SOURCE_LINKS.EPA_NATA,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'traffic-vol', domID: 'traffic-vol',
@ -886,8 +987,13 @@ export const INDICATORS = [
description= {'description text for traffic volume'} description= {'description text for traffic volume'}
/>, />,
usedIn: CATEGORIES.CLEAN_TRANSPORT.METHODOLOGY, usedIn: CATEGORIES.CLEAN_TRANSPORT.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.DOT_EPA, responsibleParty: RESPONSIBLE_PARTIES.DOT,
dateRange: DATE_RANGE.SEVENTEEN, sources: [
{
source: SOURCE_LINKS.DOT_EPA,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'house-burden', domID: 'house-burden',
@ -895,14 +1001,19 @@ export const INDICATORS = [
description: <FormattedMessage description: <FormattedMessage
id= {'category.house.burden.description.text'} id= {'category.house.burden.description.text'}
defaultMessage= {` defaultMessage= {`
The percent of households in a census tract that are both earning less than 80% of HUD Area Median The percent of households in a census tract that are both earning less than 80% of HUD Area Median
Family Income by county and are paying greater than 30% of their income to housing costs. Family Income by county and are paying greater than 30% of their income to housing costs.
`} `}
description= {'description text for housing burden'} description= {'description text for housing burden'}
/>, />,
usedIn: CATEGORIES.AFFORDABLE_HOUSING.METHODOLOGY, usedIn: CATEGORIES.AFFORDABLE_HOUSING.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.HUD, responsibleParty: RESPONSIBLE_PARTIES.HUD,
dateRange: DATE_RANGE.FOURTEEN_PLUS_4, sources: [
{
source: SOURCE_LINKS.HUD,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'lead-paint', domID: 'lead-paint',
@ -910,14 +1021,19 @@ export const INDICATORS = [
description: <FormattedMessage description: <FormattedMessage
id= {'category.lead.paint.description.text'} id= {'category.lead.paint.description.text'}
defaultMessage= {` defaultMessage= {`
Percent of housing units built pre-1960, used as an indicator of potential lead paint exposure in Percent of housing units built pre-1960, used as an indicator of potential lead paint exposure in
tracts with median home values less than 90th percentile tracts with median home values less than 90th percentile
`} `}
description= {'description text for lead paint'} description= {'description text for lead paint'}
/>, />,
usedIn: CATEGORIES.AFFORDABLE_HOUSING.METHODOLOGY, usedIn: CATEGORIES.AFFORDABLE_HOUSING.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS, responsibleParty: RESPONSIBLE_PARTIES.CENSUS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4, sources: [
{
source: SOURCE_LINKS.CENSUS_ACS_15_19,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'median-home', domID: 'median-home',
@ -930,8 +1046,13 @@ export const INDICATORS = [
description= {'description text for lead paint'} description= {'description text for lead paint'}
/>, />,
usedIn: CATEGORIES.AFFORDABLE_HOUSING.METHODOLOGY, usedIn: CATEGORIES.AFFORDABLE_HOUSING.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS, responsibleParty: RESPONSIBLE_PARTIES.CENSUS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4, sources: [
{
source: SOURCE_LINKS.CENSUS_ACS_15_19,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'prox-haz', domID: 'prox-haz',
@ -945,8 +1066,13 @@ export const INDICATORS = [
description= {'description text for proximity to hazards'} description= {'description text for proximity to hazards'}
/>, />,
usedIn: CATEGORIES.LEGACY_POLLUTION.METHODOLOGY, usedIn: CATEGORIES.LEGACY_POLLUTION.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.EPA_TSDF, responsibleParty: RESPONSIBLE_PARTIES.EPA,
dateRange: DATE_RANGE.TWENTY, sources: [
{
source: SOURCE_LINKS.EPA_TSDF,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'prox-npl', domID: 'prox-npl',
@ -955,13 +1081,18 @@ export const INDICATORS = [
id= {'category.prox.npl.description.text'} id= {'category.prox.npl.description.text'}
defaultMessage= {` defaultMessage= {`
Count of proposed or listed NPL - also known as superfund - sites within 5 km (or nearest one Count of proposed or listed NPL - also known as superfund - sites within 5 km (or nearest one
beyond 5 km), each divided by distance in kilometers. beyond 5 km), each divided by distance in kilometers.
`} `}
description= {'description text for proximity to npl'} description= {'description text for proximity to npl'}
/>, />,
usedIn: CATEGORIES.LEGACY_POLLUTION.METHODOLOGY, usedIn: CATEGORIES.LEGACY_POLLUTION.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.EPA_CERCLIS, responsibleParty: RESPONSIBLE_PARTIES.EPA,
dateRange: DATE_RANGE.TWENTY, sources: [
{
source: SOURCE_LINKS.EPA_CERCLIS,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'prox-rmp', domID: 'prox-rmp',
@ -975,8 +1106,13 @@ export const INDICATORS = [
description= {'description text for proximity to rmp'} description= {'description text for proximity to rmp'}
/>, />,
usedIn: CATEGORIES.LEGACY_POLLUTION.METHODOLOGY, usedIn: CATEGORIES.LEGACY_POLLUTION.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.EPA_RMP, responsibleParty: RESPONSIBLE_PARTIES.EPA,
dateRange: DATE_RANGE.TWENTY, sources: [
{
source: SOURCE_LINKS.EPA_RMP,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'waste-water', domID: 'waste-water',
@ -984,14 +1120,19 @@ export const INDICATORS = [
description: <FormattedMessage description: <FormattedMessage
id= {'category.waste.water.description.text'} id= {'category.waste.water.description.text'}
defaultMessage= {` defaultMessage= {`
Risk-Screening Environmental Indicators (RSEI) modeled Toxic Concentrations at Risk-Screening Environmental Indicators (RSEI) modeled Toxic Concentrations at
stream segments within 500 meters, divided by distance in kilometers (km). stream segments within 500 meters, divided by distance in kilometers (km).
`} `}
description= {'description text for waste water'} description= {'description text for waste water'}
/>, />,
usedIn: CATEGORIES.CLEAN_WATER.METHODOLOGY, usedIn: CATEGORIES.CLEAN_WATER.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.EPA_RSEI, responsibleParty: RESPONSIBLE_PARTIES.EPA,
dateRange: DATE_RANGE.TWENTY, sources: [
{
source: SOURCE_LINKS.EPA_RSEI,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'asthma', domID: 'asthma',
@ -999,15 +1140,20 @@ export const INDICATORS = [
description: <FormattedMessage description: <FormattedMessage
id= {'category.asthma.description.text'} id= {'category.asthma.description.text'}
defaultMessage= {` defaultMessage= {`
Weighted percent of people who answer yes to both of the following questions: Have you ever Weighted percent of people who answer yes to both of the following questions: Have you ever
been told by a doctor, nurse, or other health professional that you have asthma? and the question been told by a doctor, nurse, or other health professional that you have asthma? and the question
Do you still have asthma? Do you still have asthma?
`} `}
description= {'description text for asthma'} description= {'description text for asthma'}
/>, />,
usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY, usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CDC_PLACES, responsibleParty: RESPONSIBLE_PARTIES.CDC,
dateRange: DATE_RANGE.SIXTEEN_PLUS_3, sources: [
{
source: SOURCE_LINKS.CDC_PLACES,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'diabetes', domID: 'diabetes',
@ -1022,8 +1168,13 @@ export const INDICATORS = [
description= {'description text for diabetes'} description= {'description text for diabetes'}
/>, />,
usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY, usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CDC_PLACES, responsibleParty: RESPONSIBLE_PARTIES.CDC,
dateRange: DATE_RANGE.SIXTEEN_PLUS_3, sources: [
{
source: SOURCE_LINKS.CDC_PLACES,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'heart-disease', domID: 'heart-disease',
@ -1038,8 +1189,13 @@ export const INDICATORS = [
description= {'description text for diabetes'} description= {'description text for diabetes'}
/>, />,
usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY, usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CDC_PLACES, responsibleParty: RESPONSIBLE_PARTIES.CDC,
dateRange: DATE_RANGE.SIXTEEN_PLUS_3, sources: [
{
source: SOURCE_LINKS.CDC_PLACES,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'life-exp', domID: 'life-exp',
@ -1053,17 +1209,22 @@ export const INDICATORS = [
description= {'description text for low life expectancy'} description= {'description text for low life expectancy'}
values= {{ values= {{
note: <p><strong>Note:</strong>{` note: <p><strong>Note:</strong>{`
Unlike most of the other datasets, high values of this indicator indicate low burdens. Unlike most of the other datasets, high values of this indicator indicate low burdens.
For percentile calculations, the percentile is calculated in reverse order, so that the tract with For percentile calculations, the percentile is calculated in reverse order, so that the tract with
the highest median income relative to area median income (lowest burden on this measure) is at the the highest median income relative to area median income (lowest burden on this measure) is at the
0th percentile, and the tract with the lowest median income relative to area median income 0th percentile, and the tract with the lowest median income relative to area median income
(highest burden on this measure) is at the 100th percentile. (highest burden on this measure) is at the 100th percentile.
`}</p>, `}</p>,
}} }}
/>, />,
usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY, usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CDC_SLEEP, responsibleParty: RESPONSIBLE_PARTIES.CDC,
dateRange: DATE_RANGE.TEN_PLUS_5, sources: [
{
source: SOURCE_LINKS.CDC_SLEEP,
availableFor: AVAILABLE_FOR.ALL_US_DC,
},
],
}, },
{ {
domID: 'low-med-inc', domID: 'low-med-inc',
@ -1076,8 +1237,17 @@ export const INDICATORS = [
description= {'description text for workforce dev'} description= {'description text for workforce dev'}
/>, />,
usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY, usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS, responsibleParty: RESPONSIBLE_PARTIES.CENSUS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4, sources: [
{
source: SOURCE_LINKS.CENSUS_ACS_15_19,
availableFor: AVAILABLE_FOR.ALL_US_DC_PR,
},
{
source: SOURCE_LINKS.CENSUS_ACS_10,
availableFor: AVAILABLE_FOR.AS_NMI,
},
],
}, },
{ {
domID: 'ling-iso', domID: 'ling-iso',
@ -1085,13 +1255,19 @@ export const INDICATORS = [
description: <FormattedMessage description: <FormattedMessage
id= {'category.linguistic.iso.description.text'} id= {'category.linguistic.iso.description.text'}
defaultMessage= {` defaultMessage= {`
The percent of limited speaking households, which are households where no one over age 14 speaks English well. The percent of limited speaking households, which are households where no one over age
14 speaks English well.
`} `}
description= {'description text for linguistic isolation'} description= {'description text for linguistic isolation'}
/>, />,
usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY, usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS, responsibleParty: RESPONSIBLE_PARTIES.CENSUS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4, sources: [
{
source: SOURCE_LINKS.CENSUS_ACS_15_19,
availableFor: AVAILABLE_FOR.ALL_US_DC_PR,
},
],
}, },
{ {
domID: 'unemploy', domID: 'unemploy',
@ -1104,8 +1280,17 @@ export const INDICATORS = [
description= {'description text for unemployment'} description= {'description text for unemployment'}
/>, />,
usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY, usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS, responsibleParty: RESPONSIBLE_PARTIES.CENSUS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4, sources: [
{
source: SOURCE_LINKS.CENSUS_ACS_15_19,
availableFor: AVAILABLE_FOR.ALL_US_DC_PR,
},
{
source: SOURCE_LINKS.CENSUS_ACS_10,
availableFor: AVAILABLE_FOR.AS_NMI,
},
],
}, },
{ {
domID: 'poverty', domID: 'poverty',
@ -1113,14 +1298,23 @@ export const INDICATORS = [
description: <FormattedMessage description: <FormattedMessage
id= {'category.poverty.description.text'} id= {'category.poverty.description.text'}
defaultMessage= {` defaultMessage= {`
Percent of a tract's population in households where the household income is at or below 100% of Percent of a tract's population in households where the household income is at or below 100% of
the federal poverty level. the federal poverty level.
`} `}
description= {'description text for poverty'} description= {'description text for poverty'}
/>, />,
usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY, usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS, responsibleParty: RESPONSIBLE_PARTIES.CENSUS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4, sources: [
{
source: SOURCE_LINKS.CENSUS_ACS_15_19,
availableFor: AVAILABLE_FOR.ALL_US_DC_PR,
},
{
source: SOURCE_LINKS.CENSUS_ACS_10,
availableFor: AVAILABLE_FOR.AS_NMI,
},
],
}, },
{ {
domID: 'high-school', domID: 'high-school',
@ -1134,8 +1328,17 @@ export const INDICATORS = [
description= {'description text for highschool'} description= {'description text for highschool'}
/>, />,
usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY, usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS, responsibleParty: RESPONSIBLE_PARTIES.CENSUS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4, sources: [
{
source: SOURCE_LINKS.CENSUS_ACS_15_19,
availableFor: AVAILABLE_FOR.ALL_US_DC_PR,
},
{
source: SOURCE_LINKS.CENSUS_ACS_10,
availableFor: AVAILABLE_FOR.AS_NMI,
},
],
isPercent: true, isPercent: true,
}, },
]; ];

View file

@ -293,6 +293,8 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<p> <p>
For general feedback, email For general feedback, email
<a <a
class="usa-link usa-link--external"
data-cy=""
href="mailto:Screeningtool-Support@omb.eop.gov" href="mailto:Screeningtool-Support@omb.eop.gov"
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
@ -382,7 +384,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
class="usa-footer__secondary-link" class="usa-footer__secondary-link"
> >
<a <a
class="footer-link-first-child" class="usa-link usa-link--external footer-link-first-child"
data-cy="whitehouse-gov" data-cy="whitehouse-gov"
href="https://www.whitehouse.gov/" href="https://www.whitehouse.gov/"
rel="noreferrer" rel="noreferrer"
@ -395,6 +397,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
class="usa-footer__secondary-link" class="usa-footer__secondary-link"
> >
<a <a
class="usa-link usa-link--external"
data-cy="freedom-of-information-act-(foia)" data-cy="freedom-of-information-act-(foia)"
href="https://www.whitehouse.gov/ceq/foia" href="https://www.whitehouse.gov/ceq/foia"
rel="noreferrer" rel="noreferrer"
@ -407,6 +410,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
class="usa-footer__secondary-link" class="usa-footer__secondary-link"
> >
<a <a
class="usa-link usa-link--external"
data-cy="privacy-policy" data-cy="privacy-policy"
href="https://www.whitehouse.gov/privacy/" href="https://www.whitehouse.gov/privacy/"
rel="noreferrer" rel="noreferrer"
@ -434,7 +438,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
class="usa-footer__secondary-link" class="usa-footer__secondary-link"
> >
<a <a
class="footer-link-first-child" class="usa-link usa-link--external footer-link-first-child"
data-cy="find-a-contact-at-usa-gov" data-cy="find-a-contact-at-usa-gov"
href="https://www.usa.gov/" href="https://www.usa.gov/"
rel="noreferrer" rel="noreferrer"
@ -491,6 +495,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
type="button" type="button"
> >
Help improve the site & data Help improve the site & data
<img
alt="launch icon"
src="test-file-stub"
/>
</button> </button>
</div> </div>
</footer> </footer>

View file

@ -319,8 +319,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
In In
<a <a
class="usa-link usa-link--external"
data-cy=""
href="https://www.whitehouse.gov/briefing-room/presidential-actions/2021/01/27/executive-order-on-tackling-the-climate-crisis-at-home-and-abroad/" href="https://www.whitehouse.gov/briefing-room/presidential-actions/2021/01/27/executive-order-on-tackling-the-climate-crisis-at-home-and-abroad/"
target="blank" rel="noreferrer"
target="_blank"
> >
Executive Order 14008 Executive Order 14008
</a> </a>
@ -395,8 +398,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Read more about the Justice40 Initiative in President Bidens Read more about the Justice40 Initiative in President Bidens
<a <a
class="usa-link usa-link--external"
data-cy=""
href="https://www.whitehouse.gov/briefing-room/presidential-actions/2021/01/27/executive-order-on-tackling-the-climate-crisis-at-home-and-abroad/" href="https://www.whitehouse.gov/briefing-room/presidential-actions/2021/01/27/executive-order-on-tackling-the-climate-crisis-at-home-and-abroad/"
target="blank" rel="noreferrer"
target="_blank"
> >
Executive Order 14008 Executive Order 14008
</a> </a>
@ -587,7 +593,8 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
class="j40-aboutcard-sm-link" class="j40-aboutcard-sm-link"
> >
<a <a
class="j40-aboutcard-link" class="usa-link usa-link--external j40-aboutcard-link"
data-cy=""
href="mailto:Screeningtool-Support@omb.eop.gov" href="mailto:Screeningtool-Support@omb.eop.gov"
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
@ -642,7 +649,8 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
class="j40-aboutcard-sm-link" class="j40-aboutcard-sm-link"
> >
<a <a
class="j40-aboutcard-link" class="usa-link usa-link--external j40-aboutcard-link"
data-cy=""
href="https://github.com/usds/justice40-tool" href="https://github.com/usds/justice40-tool"
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
@ -740,7 +748,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
class="usa-footer__secondary-link" class="usa-footer__secondary-link"
> >
<a <a
class="footer-link-first-child" class="usa-link usa-link--external footer-link-first-child"
data-cy="whitehouse-gov" data-cy="whitehouse-gov"
href="https://www.whitehouse.gov/" href="https://www.whitehouse.gov/"
rel="noreferrer" rel="noreferrer"
@ -753,6 +761,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
class="usa-footer__secondary-link" class="usa-footer__secondary-link"
> >
<a <a
class="usa-link usa-link--external"
data-cy="freedom-of-information-act-(foia)" data-cy="freedom-of-information-act-(foia)"
href="https://www.whitehouse.gov/ceq/foia" href="https://www.whitehouse.gov/ceq/foia"
rel="noreferrer" rel="noreferrer"
@ -765,6 +774,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
class="usa-footer__secondary-link" class="usa-footer__secondary-link"
> >
<a <a
class="usa-link usa-link--external"
data-cy="privacy-policy" data-cy="privacy-policy"
href="https://www.whitehouse.gov/privacy/" href="https://www.whitehouse.gov/privacy/"
rel="noreferrer" rel="noreferrer"
@ -792,7 +802,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
class="usa-footer__secondary-link" class="usa-footer__secondary-link"
> >
<a <a
class="footer-link-first-child" class="usa-link usa-link--external footer-link-first-child"
data-cy="find-a-contact-at-usa-gov" data-cy="find-a-contact-at-usa-gov"
href="https://www.usa.gov/" href="https://www.usa.gov/"
rel="noreferrer" rel="noreferrer"
@ -849,6 +859,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
type="button" type="button"
> >
Help improve the site & data Help improve the site & data
<img
alt="launch icon"
src="test-file-stub"
/>
</button> </button>
</div> </div>
</footer> </footer>

File diff suppressed because it is too large Load diff

View file

@ -4,6 +4,7 @@ import {useIntl, FormattedMessage} from 'gatsby-plugin-intl';
import J40MainGridContainer from '../components/J40MainGridContainer'; import J40MainGridContainer from '../components/J40MainGridContainer';
import Layout from '../components/layout'; import Layout from '../components/layout';
import LinkTypeWrapper from '../components/LinkTypeWrapper';
import * as CONTACT_COPY from '../data/copy/contact'; import * as CONTACT_COPY from '../data/copy/contact';
interface IContactPageProps { interface IContactPageProps {
@ -32,12 +33,12 @@ const ContactPage = ({location}: IContactPageProps) => {
defaultMessage={CONTACT_COPY.CONTACT_VIA_EMAIL.DEFAULT_MESSAGE} defaultMessage={CONTACT_COPY.CONTACT_VIA_EMAIL.DEFAULT_MESSAGE}
values={{ values={{
general_email_address: general_email_address:
<a <LinkTypeWrapper
href={`mailto:${CONTACT_COPY.FEEDBACK_EMAIL}`} linkText= {CONTACT_COPY.FEEDBACK_EMAIL}
target="_blank" internal= {false}
rel="noreferrer"> url= {`mailto:${CONTACT_COPY.FEEDBACK_EMAIL}`}
{CONTACT_COPY.FEEDBACK_EMAIL} openUrlNewTab= {true}
</a>, />,
}}/> }}/>
</p> </p>
</Grid> </Grid>