Add category header and updates from Living Copy (#1084)

* Add category header (Indicator and Percentile)

- add local styling
- override accordion-content styles to push into parent container
- intl copy
- update snapshots

* Add latest Living Copy

- refactor dataset cards to allow for any styling in description, used in and responsible party
- add percent for HS edu indicator
- updates snapshots

* Update copy from Living Copy doc

-update snapshots

* Add methodology to copy

* Remove link from readme file based on md checker

* Comment out certain markdown links from checker

* Comment out markdown links that render in browser
This commit is contained in:
Vim 2022-01-05 17:37:47 -05:00 committed by GitHub
parent 56644698ff
commit 7a623101e2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 1059 additions and 486 deletions

View file

@ -25,7 +25,7 @@ Descargar desde [sitio web](https://git-scm.com/download/win)
2. Valide la instalación escribiendo `brew -v` en la terminal y asegúrese de que se muestre un número de versión. 2. Valide la instalación escribiendo `brew -v` en la terminal y asegúrese de que se muestre un número de versión.
### Instalar Node usando NVM ### Instalar Node usando NVM
<!-- markdown-link-check-disable-next-line -->
Esto funcionará tanto para MacOS como para Win10. Siga las instrucciones de este [enlace](https://medium.com/@nodesource/installing-node-js-tutorial-using-nvm-5c6ff5925dd8) Esto funcionará tanto para MacOS como para Win10. Siga las instrucciones de este [enlace](https://medium.com/@nodesource/installing-node-js-tutorial-using-nvm-5c6ff5925dd8)
### Configuración de IDE ### Configuración de IDE

View file

@ -19,6 +19,7 @@ This README contains the following content:
#### Install Node using NVM #### Install Node using NVM
<!-- markdown-link-check-disable-next-line -->
This will work for both MacOS and Win10. Follow instructions on this [link](https://medium.com/@nodesource/installing-node-js-tutorial-using-nvm-5c6ff5925dd8). Be sure to read through the whole doc to find the sections within each step relevant to you (e.g. if you're using Homebrew, when you get to Step 2 look for the section, "Install NVM with Homebrew"). This will work for both MacOS and Win10. Follow instructions on this [link](https://medium.com/@nodesource/installing-node-js-tutorial-using-nvm-5c6ff5925dd8). Be sure to read through the whole doc to find the sections within each step relevant to you (e.g. if you're using Homebrew, when you get to Step 2 look for the section, "Install NVM with Homebrew").
If you install NVM using Homebrew, make sure to read the output in terminal after you run `brew install nvm`. You will need to add a few lines to your ~/.bash_profile and perhaps complete a couple other tasks. If you install NVM using Homebrew, make sure to read the output in terminal after you run `brew install nvm`. You will need to add a few lines to your ~/.bash_profile and perhaps complete a couple other tasks.
@ -70,6 +71,7 @@ DATA_SOURCE env variable in the docker-compose.yml. See [environment variables](
#### Troubleshooting docker #### Troubleshooting docker
<!-- markdown-link-check-disable-next-line -->
- If an error is thrown about [running out of space](https://medium.com/@wlarch/no-space-left-on-device-when-using-docker-compose-why-c4a2c783c6f6) on device see this for ways to reclaim space. - If an error is thrown about [running out of space](https://medium.com/@wlarch/no-space-left-on-device-when-using-docker-compose-why-c4a2c783c6f6) on device see this for ways to reclaim space.

View file

@ -82,3 +82,21 @@ $sidePanelLabelFontColor: #171716;
font-size: medium; font-size: medium;
} }
} }
// The following class is used in the AccordionItems in the AreaDetail component.
// The Accordion component (parent of AccordionItems) requires some CSS overrides.
// Local styling is not allowing the override.
// The override is needed to push into the bounds of the Accordion component's styles.
// To override this, in globals.scss, we set the this .categoryHeader's vertical alignment by
// setting styles in:
// .usa-accordion__content > *:first-child
// This first child of the accordion content is the category header:
.categoryHeader {
display: flex;
justify-content: space-between;
text-transform: uppercase;
font-size: small;
@include u-bg('gray-cool-5');
@include u-padding-left(2.5);
@include u-padding-right(2);
}

View file

@ -11,6 +11,7 @@ declare namespace MapModuleScssNamespace {
versionInfo: string; versionInfo: string;
showThresholdExceed:string; showThresholdExceed:string;
hideThresholdExceed:string; hideThresholdExceed:string;
categoryHeader:string;
} }
} }

View file

@ -18,11 +18,20 @@ interface IAreaDetailProps {
properties: constants.J40Properties, properties: constants.J40Properties,
} }
/**
* This interface is used as define the various fields for each indicator in the side panel
* label: the indicator label or title
* description: the description of the indicator used in the side panel
* value: the number from the geoJSON tile
* isDisadvagtaged: the flag from the geoJSON tile
* isPercent: is the value a percent or percentile
* */
export interface indicatorInfo { export interface indicatorInfo {
label: string, label: string,
description: string, description: string,
value: number, value: number,
isDisadvagtaged: boolean, isDisadvagtaged: boolean,
isPercent?: boolean,
} }
const AreaDetail = ({properties}:IAreaDetailProps) => { const AreaDetail = ({properties}:IAreaDetailProps) => {
@ -45,84 +54,84 @@ const AreaDetail = ({properties}:IAreaDetailProps) => {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.EXP_AG_LOSS), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.EXP_AG_LOSS),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.EXP_AG_LOSS), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.EXP_AG_LOSS),
value: properties[constants.EXP_AGRICULTURE_LOSS_PERCENTILE] ? value: properties[constants.EXP_AGRICULTURE_LOSS_PERCENTILE] ?
properties[constants.EXP_AGRICULTURE_LOSS_PERCENTILE] : null, properties[constants.EXP_AGRICULTURE_LOSS_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_EXP_AGR_LOSS_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_EXP_AGR_LOSS_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_EXP_AGR_LOSS_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_EXP_AGR_LOSS_AND_IS_LOW_INCOME] : null,
}; };
const expBldLoss:indicatorInfo = { const expBldLoss:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.EXP_BLD_LOSS), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.EXP_BLD_LOSS),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.EXP_BLD_LOSS), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.EXP_BLD_LOSS),
value: properties[constants.EXP_BUILDING_LOSS_PERCENTILE] ? value: properties[constants.EXP_BUILDING_LOSS_PERCENTILE] ?
properties[constants.EXP_BUILDING_LOSS_PERCENTILE] : null, properties[constants.EXP_BUILDING_LOSS_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_EXP_BLD_LOSS_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_EXP_BLD_LOSS_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_EXP_BLD_LOSS_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_EXP_BLD_LOSS_AND_IS_LOW_INCOME] : null,
}; };
const expPopLoss:indicatorInfo = { const expPopLoss:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.EXP_POP_LOSS), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.EXP_POP_LOSS),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.EXP_POP_LOSS), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.EXP_POP_LOSS),
value: properties[constants.EXP_POPULATION_LOSS_PERCENTILE] ? value: properties[constants.EXP_POPULATION_LOSS_PERCENTILE] ?
properties[constants.EXP_POPULATION_LOSS_PERCENTILE] : null, properties[constants.EXP_POPULATION_LOSS_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_EXP_POP_LOSS_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_EXP_POP_LOSS_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_EXP_POP_LOSS_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_EXP_POP_LOSS_AND_IS_LOW_INCOME] : null,
}; };
const lowInc:indicatorInfo = { const lowInc:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LOW_INCOME), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LOW_INCOME),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LOW_INCOME), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LOW_INCOME),
value: properties[constants.POVERTY_BELOW_200_PERCENTILE] ? value: properties[constants.POVERTY_BELOW_200_PERCENTILE] ?
properties[constants.POVERTY_BELOW_200_PERCENTILE] : null, properties[constants.POVERTY_BELOW_200_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_FEDERAL_POVERTY_LEVEL_200] ? isDisadvagtaged: properties[constants.IS_FEDERAL_POVERTY_LEVEL_200] ?
properties[constants.IS_FEDERAL_POVERTY_LEVEL_200] : null, properties[constants.IS_FEDERAL_POVERTY_LEVEL_200] : null,
}; };
const energyBurden:indicatorInfo = { const energyBurden:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.ENERGY_BURDEN), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.ENERGY_BURDEN),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.ENERGY_BURDEN), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.ENERGY_BURDEN),
value: properties[constants.ENERGY_PERCENTILE] ? value: properties[constants.ENERGY_PERCENTILE] ?
properties[constants.ENERGY_PERCENTILE] : null, properties[constants.ENERGY_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_ENERGY_BURDEN_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_ENERGY_BURDEN_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_ENERGY_BURDEN_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_ENERGY_BURDEN_AND_IS_LOW_INCOME] : null,
}; };
const pm25:indicatorInfo = { const pm25:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.PM_2_5), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.PM_2_5),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.PM_2_5), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.PM_2_5),
value: properties[constants.PM25_PERCENTILE] ? value: properties[constants.PM25_PERCENTILE] ?
properties[constants.PM25_PERCENTILE] : null, properties[constants.PM25_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_PM25_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_PM25_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_PM25_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_PM25_AND_IS_LOW_INCOME] : null,
}; };
const dieselPartMatter:indicatorInfo = { const dieselPartMatter:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.DIESEL_PARTICULATE_MATTER), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.DIESEL_PARTICULATE_MATTER),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.DIESEL_PARTICULATE_MATTER), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.DIESEL_PARTICULATE_MATTER),
value: properties[constants.DIESEL_MATTER_PERCENTILE] ? value: properties[constants.DIESEL_MATTER_PERCENTILE] ?
properties[constants.DIESEL_MATTER_PERCENTILE] : null, properties[constants.DIESEL_MATTER_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_DIESEL_PM_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_DIESEL_PM_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_DIESEL_PM_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_DIESEL_PM_AND_IS_LOW_INCOME] : null,
}; };
const trafficVolume:indicatorInfo = { const trafficVolume:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.TRAFFIC_VOLUME), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.TRAFFIC_VOLUME),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.TRAFFIC_VOLUME), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.TRAFFIC_VOLUME),
value: properties[constants.TRAFFIC_PERCENTILE] ? value: properties[constants.TRAFFIC_PERCENTILE] ?
properties[constants.TRAFFIC_PERCENTILE] : null, properties[constants.TRAFFIC_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_TRAFFIC_PROX_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_TRAFFIC_PROX_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_TRAFFIC_PROX_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_TRAFFIC_PROX_AND_IS_LOW_INCOME] : null,
}; };
const houseBurden:indicatorInfo = { const houseBurden:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.HOUSE_BURDEN), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.HOUSE_BURDEN),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.HOUSE_BURDEN), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.HOUSE_BURDEN),
value: properties[constants.HOUSING_BURDEN_PROPERTY_PERCENTILE] ? value: properties[constants.HOUSING_BURDEN_PROPERTY_PERCENTILE] ?
properties[constants.HOUSING_BURDEN_PROPERTY_PERCENTILE] : null, properties[constants.HOUSING_BURDEN_PROPERTY_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_HOUSE_BURDEN_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_HOUSE_BURDEN_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_HOUSE_BURDEN_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_HOUSE_BURDEN_AND_IS_LOW_INCOME] : null,
}; };
const leadPaint:indicatorInfo = { const leadPaint:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LEAD_PAINT), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LEAD_PAINT),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LEAD_PAINT), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LEAD_PAINT),
value: properties[constants.LEAD_PAINT_PERCENTILE] ? value: properties[constants.LEAD_PAINT_PERCENTILE] ?
properties[constants.LEAD_PAINT_PERCENTILE] : null, properties[constants.LEAD_PAINT_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_LEAD_PAINT_AND_MEDIAN_HOME_VAL_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_LEAD_PAINT_AND_MEDIAN_HOME_VAL_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_LEAD_PAINT_AND_MEDIAN_HOME_VAL_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_LEAD_PAINT_AND_MEDIAN_HOME_VAL_AND_IS_LOW_INCOME] : null,
}; };
// const medHomeVal:indicatorInfo = { // const medHomeVal:indicatorInfo = {
// label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.MED_HOME_VAL), // label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.MED_HOME_VAL),
@ -136,108 +145,109 @@ const AreaDetail = ({properties}:IAreaDetailProps) => {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.PROX_HAZ), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.PROX_HAZ),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.PROX_HAZ), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.PROX_HAZ),
value: properties[constants.PROXIMITY_TSDF_SITES_PERCENTILE] ? value: properties[constants.PROXIMITY_TSDF_SITES_PERCENTILE] ?
properties[constants.PROXIMITY_TSDF_SITES_PERCENTILE] : null, properties[constants.PROXIMITY_TSDF_SITES_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_HAZARD_WASTE_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_HAZARD_WASTE_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_HAZARD_WASTE_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_HAZARD_WASTE_AND_IS_LOW_INCOME] : null,
}; };
const proxNPL:indicatorInfo = { const proxNPL:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.PROX_NPL), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.PROX_NPL),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.PROX_NPL), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.PROX_NPL),
value: properties[constants.PROXIMITY_NPL_SITES_PERCENTILE] ? value: properties[constants.PROXIMITY_NPL_SITES_PERCENTILE] ?
properties[constants.PROXIMITY_NPL_SITES_PERCENTILE] : null, properties[constants.PROXIMITY_NPL_SITES_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_SUPERFUND_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_SUPERFUND_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_SUPERFUND_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_SUPERFUND_AND_IS_LOW_INCOME] : null,
}; };
const proxRMP:indicatorInfo = { const proxRMP:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.PROX_RMP), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.PROX_RMP),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.PROX_RMP), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.PROX_RMP),
value: properties[constants.PROXIMITY_RMP_SITES_PERCENTILE] ? value: properties[constants.PROXIMITY_RMP_SITES_PERCENTILE] ?
properties[constants.PROXIMITY_RMP_SITES_PERCENTILE] : null, properties[constants.PROXIMITY_RMP_SITES_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_RMP_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_RMP_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_RMP_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_RMP_AND_IS_LOW_INCOME] : null,
}; };
const wasteWater:indicatorInfo = { const wasteWater:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.WASTE_WATER), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.WASTE_WATER),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.WASTE_WATER), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.WASTE_WATER),
value: properties[constants.WASTEWATER_PERCENTILE] ? value: properties[constants.WASTEWATER_PERCENTILE] ?
properties[constants.WASTEWATER_PERCENTILE] : null, properties[constants.WASTEWATER_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_WASTEWATER_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_WASTEWATER_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_WASTEWATER_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_WASTEWATER_AND_IS_LOW_INCOME] : null,
}; };
const asthma:indicatorInfo = { const asthma:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.ASTHMA), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.ASTHMA),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.ASTHMA), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.ASTHMA),
value: properties[constants.ASTHMA_PERCENTILE] ? value: properties[constants.ASTHMA_PERCENTILE] ?
properties[constants.ASTHMA_PERCENTILE] : null, properties[constants.ASTHMA_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_ASTHMA_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_ASTHMA_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_ASTHMA_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_ASTHMA_AND_IS_LOW_INCOME] : null,
}; };
const diabetes:indicatorInfo = { const diabetes:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.DIABETES), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.DIABETES),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.DIABETES), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.DIABETES),
value: properties[constants.DIABETES_PERCENTILE] ? value: properties[constants.DIABETES_PERCENTILE] ?
properties[constants.DIABETES_PERCENTILE] : null, properties[constants.DIABETES_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_DIABETES_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_DIABETES_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_DIABETES_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_DIABETES_AND_IS_LOW_INCOME] : null,
}; };
const heartDisease:indicatorInfo = { const heartDisease:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.HEART_DISEASE), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.HEART_DISEASE),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.HEART_DISEASE), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.HEART_DISEASE),
value: properties[constants.HEART_PERCENTILE] ? value: properties[constants.HEART_PERCENTILE] ?
properties[constants.HEART_PERCENTILE] : null, properties[constants.HEART_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_HEART_DISEASE_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_HEART_DISEASE_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_HEART_DISEASE_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_HEART_DISEASE_AND_IS_LOW_INCOME] : null,
}; };
const lifeExpect:indicatorInfo = { const lifeExpect:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LIFE_EXPECT), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LIFE_EXPECT),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LOW_LIFE_EXPECT), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LOW_LIFE_EXPECT),
value: properties[constants.LIFE_PERCENTILE] ? value: properties[constants.LIFE_PERCENTILE] ?
properties[constants.LIFE_PERCENTILE] : null, properties[constants.LIFE_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_LOW_LIFE_EXP_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_LOW_LIFE_EXP_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_LOW_LIFE_EXP_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_LOW_LIFE_EXP_AND_IS_LOW_INCOME] : null,
}; };
const lowMedInc:indicatorInfo = { const lowMedInc:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LOW_MED_INC), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LOW_MED_INC),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LOW_MED_INCOME), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LOW_MED_INCOME),
value: properties[constants.LOW_MEDIAN_INCOME_PERCENTILE] ? value: properties[constants.LOW_MEDIAN_INCOME_PERCENTILE] ?
properties[constants.LOW_MEDIAN_INCOME_PERCENTILE] : null, properties[constants.LOW_MEDIAN_INCOME_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_LOW_MEDIAN_INCOME_AND_LOW_HIGH_SCHOOL_EDU] ? isDisadvagtaged: properties[constants.IS_GTE_90_LOW_MEDIAN_INCOME_AND_LOW_HIGH_SCHOOL_EDU] ?
properties[constants.IS_GTE_90_LOW_MEDIAN_INCOME_AND_LOW_HIGH_SCHOOL_EDU] : null, properties[constants.IS_GTE_90_LOW_MEDIAN_INCOME_AND_LOW_HIGH_SCHOOL_EDU] : null,
}; };
const lingIso:indicatorInfo = { const lingIso:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LING_ISO), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.LING_ISO),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LING_ISO), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.LING_ISO),
value: properties[constants.LINGUISTIC_ISOLATION_PROPERTY_PERCENTILE] ? value: properties[constants.LINGUISTIC_ISOLATION_PROPERTY_PERCENTILE] ?
properties[constants.LINGUISTIC_ISOLATION_PROPERTY_PERCENTILE] : null, properties[constants.LINGUISTIC_ISOLATION_PROPERTY_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_LINGUISITIC_ISO_AND_IS_LOW_INCOME] ? isDisadvagtaged: properties[constants.IS_GTE_90_LINGUISITIC_ISO_AND_IS_LOW_INCOME] ?
properties[constants.IS_GTE_90_LINGUISITIC_ISO_AND_IS_LOW_INCOME] : null, properties[constants.IS_GTE_90_LINGUISITIC_ISO_AND_IS_LOW_INCOME] : null,
}; };
const unemploy:indicatorInfo = { const unemploy:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.UNEMPLOY), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.UNEMPLOY),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.UNEMPLOY), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.UNEMPLOY),
value: properties[constants.UNEMPLOYMENT_PROPERTY_PERCENTILE] ? value: properties[constants.UNEMPLOYMENT_PROPERTY_PERCENTILE] ?
properties[constants.UNEMPLOYMENT_PROPERTY_PERCENTILE] : null, properties[constants.UNEMPLOYMENT_PROPERTY_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_UNEMPLOYMENT_AND_LOW_HIGH_SCHOOL_EDU] ? isDisadvagtaged: properties[constants.IS_GTE_90_UNEMPLOYMENT_AND_LOW_HIGH_SCHOOL_EDU] ?
properties[constants.IS_GTE_90_UNEMPLOYMENT_AND_LOW_HIGH_SCHOOL_EDU] : null, properties[constants.IS_GTE_90_UNEMPLOYMENT_AND_LOW_HIGH_SCHOOL_EDU] : null,
}; };
const poverty:indicatorInfo = { const poverty:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.POVERTY), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.POVERTY),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.POVERTY), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.POVERTY),
value: properties[constants.POVERTY_PROPERTY_PERCENTILE] ? value: properties[constants.POVERTY_PROPERTY_PERCENTILE] ?
properties[constants.POVERTY_PROPERTY_PERCENTILE] : null, properties[constants.POVERTY_PROPERTY_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_BELOW_100_POVERTY_AND_LOW_HIGH_SCHOOL_EDU] ? isDisadvagtaged: properties[constants.IS_GTE_90_BELOW_100_POVERTY_AND_LOW_HIGH_SCHOOL_EDU] ?
properties[constants.IS_GTE_90_BELOW_100_POVERTY_AND_LOW_HIGH_SCHOOL_EDU] : null, properties[constants.IS_GTE_90_BELOW_100_POVERTY_AND_LOW_HIGH_SCHOOL_EDU] : null,
}; };
const highSchool:indicatorInfo = { const highSchool:indicatorInfo = {
label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.HIGH_SCL), label: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATORS.HIGH_SCL),
description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.HIGH_SKL), description: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_INDICATOR_DESCRIPTION.HIGH_SKL),
value: properties[constants.HIGH_SCHOOL_PROPERTY_PERCENTILE] ? value: properties[constants.HIGH_SCHOOL_PROPERTY_PERCENTILE] ?
properties[constants.HIGH_SCHOOL_PROPERTY_PERCENTILE] : null, properties[constants.HIGH_SCHOOL_PROPERTY_PERCENTILE] : null,
isDisadvagtaged: properties[constants.IS_GTE_90_UNEMPLOYMENT_AND_LOW_HIGH_SCHOOL_EDU] ? isDisadvagtaged: properties[constants.IS_GTE_90_UNEMPLOYMENT_AND_LOW_HIGH_SCHOOL_EDU] ?
properties[constants.IS_GTE_90_UNEMPLOYMENT_AND_LOW_HIGH_SCHOOL_EDU] : null, properties[constants.IS_GTE_90_UNEMPLOYMENT_AND_LOW_HIGH_SCHOOL_EDU] : null,
isPercent: true,
}; };
// Aggregate indicators based on categories // Aggregate indicators based on categories
@ -247,56 +257,56 @@ const AreaDetail = ({properties}:IAreaDetailProps) => {
titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLIMATE), titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLIMATE),
indicators: [expAgLoss, expBldLoss, expPopLoss, lowInc], indicators: [expAgLoss, expBldLoss, expPopLoss, lowInc],
isDisadvagtaged: properties[constants.IS_CLIMATE_FACTOR_DISADVANTAGED_L] ? isDisadvagtaged: properties[constants.IS_CLIMATE_FACTOR_DISADVANTAGED_L] ?
properties[constants.IS_CLIMATE_FACTOR_DISADVANTAGED_L] : null, properties[constants.IS_CLIMATE_FACTOR_DISADVANTAGED_L] : null,
}, },
{ {
id: 'clean-energy', id: 'clean-energy',
titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_ENERGY), titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_ENERGY),
indicators: [energyBurden, pm25, lowInc], indicators: [energyBurden, pm25, lowInc],
isDisadvagtaged: properties[constants.IS_ENERGY_FACTOR_DISADVANTAGED_L] ? isDisadvagtaged: properties[constants.IS_ENERGY_FACTOR_DISADVANTAGED_L] ?
properties[constants.IS_ENERGY_FACTOR_DISADVANTAGED_L] : null, properties[constants.IS_ENERGY_FACTOR_DISADVANTAGED_L] : null,
}, },
{ {
id: 'clean-transport', id: 'clean-transport',
titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_TRANSPORT), titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_TRANSPORT),
indicators: [dieselPartMatter, trafficVolume, lowInc], indicators: [dieselPartMatter, trafficVolume, lowInc],
isDisadvagtaged: properties[constants.IS_TRANSPORT_FACTOR_DISADVANTAGED_L] ? isDisadvagtaged: properties[constants.IS_TRANSPORT_FACTOR_DISADVANTAGED_L] ?
properties[constants.IS_TRANSPORT_FACTOR_DISADVANTAGED_L] : null, properties[constants.IS_TRANSPORT_FACTOR_DISADVANTAGED_L] : null,
}, },
{ {
id: 'sustain-house', id: 'sustain-house',
titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.SUSTAIN_HOUSE), titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.SUSTAIN_HOUSE),
indicators: [houseBurden, leadPaint, lowInc], indicators: [houseBurden, leadPaint, lowInc],
isDisadvagtaged: properties[constants.IS_HOUSING_FACTOR_DISADVANTAGED_L] ? isDisadvagtaged: properties[constants.IS_HOUSING_FACTOR_DISADVANTAGED_L] ?
properties[constants.IS_HOUSING_FACTOR_DISADVANTAGED_L] : null, properties[constants.IS_HOUSING_FACTOR_DISADVANTAGED_L] : null,
}, },
{ {
id: 'leg-pollute', id: 'leg-pollute',
titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.LEG_POLLUTE), titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.LEG_POLLUTE),
indicators: [proxHaz, proxNPL, proxRMP, lowInc], indicators: [proxHaz, proxNPL, proxRMP, lowInc],
isDisadvagtaged: properties[constants.IS_POLLUTION_FACTOR_DISADVANTAGED_L] ? isDisadvagtaged: properties[constants.IS_POLLUTION_FACTOR_DISADVANTAGED_L] ?
properties[constants.IS_POLLUTION_FACTOR_DISADVANTAGED_L] : null, properties[constants.IS_POLLUTION_FACTOR_DISADVANTAGED_L] : null,
}, },
{ {
id: 'clean-water', id: 'clean-water',
titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_WATER), titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_WATER),
indicators: [wasteWater, lowInc], indicators: [wasteWater, lowInc],
isDisadvagtaged: properties[constants.IS_WATER_FACTOR_DISADVANTAGED_L] ? isDisadvagtaged: properties[constants.IS_WATER_FACTOR_DISADVANTAGED_L] ?
properties[constants.IS_WATER_FACTOR_DISADVANTAGED_L] : null, properties[constants.IS_WATER_FACTOR_DISADVANTAGED_L] : null,
}, },
{ {
id: 'health-burdens', id: 'health-burdens',
titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.HEALTH_BURDEN), titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.HEALTH_BURDEN),
indicators: [asthma, diabetes, heartDisease, lifeExpect, lowInc], indicators: [asthma, diabetes, heartDisease, lifeExpect, lowInc],
isDisadvagtaged: properties[constants.IS_HEALTH_FACTOR_DISADVANTAGED_L] ? isDisadvagtaged: properties[constants.IS_HEALTH_FACTOR_DISADVANTAGED_L] ?
properties[constants.IS_HEALTH_FACTOR_DISADVANTAGED_L] : null, properties[constants.IS_HEALTH_FACTOR_DISADVANTAGED_L] : null,
}, },
{ {
id: 'work-dev', id: 'work-dev',
titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.WORK_DEV), titleText: intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.WORK_DEV),
indicators: [lowMedInc, lingIso, unemploy, poverty, highSchool], indicators: [lowMedInc, lingIso, unemploy, poverty, highSchool],
isDisadvagtaged: properties[constants.IS_WORKFORCE_FACTOR_DISADVANTAGED_L] ? isDisadvagtaged: properties[constants.IS_WORKFORCE_FACTOR_DISADVANTAGED_L] ?
properties[constants.IS_WORKFORCE_FACTOR_DISADVANTAGED_L] : null, properties[constants.IS_WORKFORCE_FACTOR_DISADVANTAGED_L] : null,
}, },
]; ];
@ -308,6 +318,13 @@ const AreaDetail = ({properties}:IAreaDetailProps) => {
title: <Category name={category.titleText} isDisadvantaged={category.isDisadvagtaged}/>, title: <Category name={category.titleText} isDisadvantaged={category.isDisadvagtaged}/>,
content: ( content: (
<> <>
{/* Category Header */}
<div className={styles.categoryHeader}>
<div>{intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.INDICATOR)}</div>
<div>{intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CATEGORY.PERCENTILE)}</div>
</div>
{/* Category Indicators */}
{category.indicators.map((indicator:any, index:number) => { {category.indicators.map((indicator:any, index:number) => {
return <Indicator key={`ind${index}`} indicator={indicator}/>; return <Indicator key={`ind${index}`} indicator={indicator}/>;
})} })}

View file

@ -87,6 +87,14 @@ exports[`rendering of the AreaDetail checks if various text fields are visible 1
hidden="" hidden=""
id="climate-change" id="climate-change"
> >
<div>
<div>
Indicator
</div>
<div>
Percentile (0-100)
</div>
</div>
<li <li
data-cy="indicatorBox" data-cy="indicatorBox"
> >
@ -190,6 +198,14 @@ exports[`rendering of the AreaDetail checks if various text fields are visible 1
hidden="" hidden=""
id="clean-energy" id="clean-energy"
> >
<div>
<div>
Indicator
</div>
<div>
Percentile (0-100)
</div>
</div>
<li <li
data-cy="indicatorBox" data-cy="indicatorBox"
> >
@ -273,6 +289,14 @@ exports[`rendering of the AreaDetail checks if various text fields are visible 1
hidden="" hidden=""
id="clean-transport" id="clean-transport"
> >
<div>
<div>
Indicator
</div>
<div>
Percentile (0-100)
</div>
</div>
<li <li
data-cy="indicatorBox" data-cy="indicatorBox"
> >
@ -356,6 +380,14 @@ exports[`rendering of the AreaDetail checks if various text fields are visible 1
hidden="" hidden=""
id="sustain-house" id="sustain-house"
> >
<div>
<div>
Indicator
</div>
<div>
Percentile (0-100)
</div>
</div>
<li <li
data-cy="indicatorBox" data-cy="indicatorBox"
> >
@ -441,6 +473,14 @@ exports[`rendering of the AreaDetail checks if various text fields are visible 1
hidden="" hidden=""
id="leg-pollute" id="leg-pollute"
> >
<div>
<div>
Indicator
</div>
<div>
Percentile (0-100)
</div>
</div>
<li <li
data-cy="indicatorBox" data-cy="indicatorBox"
> >
@ -542,6 +582,14 @@ exports[`rendering of the AreaDetail checks if various text fields are visible 1
hidden="" hidden=""
id="clean-water" id="clean-water"
> >
<div>
<div>
Indicator
</div>
<div>
Percentile (0-100)
</div>
</div>
<li <li
data-cy="indicatorBox" data-cy="indicatorBox"
> >
@ -607,6 +655,14 @@ exports[`rendering of the AreaDetail checks if various text fields are visible 1
hidden="" hidden=""
id="health-burdens" id="health-burdens"
> >
<div>
<div>
Indicator
</div>
<div>
Percentile (0-100)
</div>
</div>
<li <li
data-cy="indicatorBox" data-cy="indicatorBox"
> >
@ -731,6 +787,14 @@ exports[`rendering of the AreaDetail checks if various text fields are visible 1
hidden="" hidden=""
id="work-dev" id="work-dev"
> >
<div>
<div>
Indicator
</div>
<div>
Percentile (0-100)
</div>
</div>
<li <li
data-cy="indicatorBox" data-cy="indicatorBox"
> >
@ -822,15 +886,16 @@ exports[`rendering of the AreaDetail checks if various text fields are visible 1
High school degree achievement rate High school degree achievement rate
<div> <div>
Percent of people ages 25 years or older whose education level is less than a high school diploma Percent (not a percentile) of people ages 25 years or older whose education level is less than a
high school diploma
</div> </div>
</div> </div>
<div> <div>
N/A N/A
<sup> <span>
<span /> %
</sup> </span>
</div> </div>
</div> </div>
</li> </li>

View file

@ -10,8 +10,8 @@ exports[`rendering of the BetaBanner checks if component renders 1`] = `
This is a beta site. This is a beta site.
</span> </span>
<span> <span>
It is an early, in-progress version of the tool with limited datasets It is an early, in-progress version of the tool with limited datasets that will
that will be continuously updated. be regularly updated.
</span> </span>
</div> </div>
</div> </div>

View file

@ -176,7 +176,7 @@ exports[`rendering of the Categories checks if component renders 1`] = `
low median home value low median home value
</a> </a>
is at or less than is at or less than
90th percentile OR at or above the 10th percentile for the 90th percentile OR at or above the 90th percentile for the
<a <a
href="#house-burden" href="#house-burden"
> >

View file

@ -25,9 +25,7 @@ const DatasetCard = ({datasetCardProps}:IDatasetCardProps) => {
<span className={styles.datasetCardLabels}> <span className={styles.datasetCardLabels}>
{intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.RESP_PARTY)} {intl.formatMessage(METHODOLOGY_COPY.DATASET_CARD_LABELS.RESP_PARTY)}
</span> </span>
<a href={datasetCardProps.dataSourceURL} target={'_blank'} rel="noreferrer"> {datasetCardProps.responsibleParty}
{datasetCardProps.respPartyLabel}
</a>
</li> </li>
<li className={styles.datasetCardListItem}> <li className={styles.datasetCardListItem}>
<span className={styles.datasetCardLabels}> <span className={styles.datasetCardLabels}>

View file

@ -10,9 +10,9 @@ exports[`rendering of indicator dataset card checks if component renders 1`] = `
</h3> </h3>
<div> <div>
Percent of a block group's population in households where household income is at or below Percent of a census tract's population in households where household income is at or below
200% of the federal poverty level. 200% of the federal poverty level.
</div> </div>
<ul> <ul>
<li> <li>
@ -24,7 +24,7 @@ exports[`rendering of indicator dataset card checks if component renders 1`] = `
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Census's American Community Survey. Census's American Community Survey
</a> </a>
</li> </li>
<li> <li>

View file

@ -40,9 +40,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
Percent of a block group's population in households where household income is at or below Percent of a census tract's population in households where household income is at or below
200% of the federal poverty level. 200% of the federal poverty level.
</div> </div>
<ul> <ul>
<li> <li>
@ -54,7 +54,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Census's American Community Survey. Census's American Community Survey
</a> </a>
</li> </li>
<li> <li>
@ -79,12 +79,12 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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. Calculated by dividing
the agriculture value at risk in a census tract by the total agriculture value in that census the agriculture value at risk in a census tract by the total agriculture value in that census
tract. Fourteen natural hazards that have some link to climate change include: avalanche, tract. Fourteen natural hazards that have some link to climate change include: avalanche,
coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide,
riverine flooding, strong wind, tornado, wildfire, and winter weather. riverine flooding, strong wind, tornado, wildfire, and winter weather.
</div> </div>
<ul> <ul>
<li> <li>
@ -121,12 +121,12 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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. Calculated by dividing the
building value at risk in a census tract by the total building value in that census tract. building value at risk in a census tract by the total building value in that census tract.
Fourteen natural hazards that have some link to climate change include: 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. riverine flooding, strong wind, tornado, wildfire, and winter weather.
</div> </div>
<ul> <ul>
<li> <li>
@ -163,19 +163,18 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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.
Fourteen natural hazards that have some link to climate change include: avalanche, coastal Fourteen natural hazards that have some link to climate change include: avalanche, coastal
flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine
flooding, strong wind, tornado, wildfire, and winter weather. flooding, strong wind, tornado, wildfire, and winter weather.
Population loss is defined as the Spatial Hazard Events and Losses or National Centers Population loss is defined as the Spatial Hazard Events and Losses or National Centers
for Environmental Informations (NCEI) reported number of fatalities and injuries caused by the for Environmental Informations (NCEI) reported number of fatalities and injuries caused by the
hazard occurrence. To combine fatalities and injuries for the computation of population loss value, hazard occurrence. To combine fatalities and injuries for the computation of population loss value,
an injury is counted as one-tenth (1/10) of a fatality. The NCEI Storm Events Database an injury is counted as one-tenth (1/10) of a fatality. The NCEI Storm Events Database
classifies injuries and fatalities as direct or indirect. Both direct and indirect injuries classifies injuries and fatalities as direct or indirect. Both direct and indirect injuries
and fatalities are counted as population loss. This total number of injuries and fatalities and fatalities are counted as population loss. This total number of injuries and fatalities
is then divided by the population in the census tract to get a per-capita rate of population risk. is then divided by the population in the census tract to get a per-capita rate of population risk.
</div> </div>
<ul> <ul>
<li> <li>
@ -247,8 +246,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
PM2.5 in the air PM2.5 in the air
</h3> </h3>
<div> <div>
Fine inhalable particles, with diameters that are generally
2.5 micrometers and smaller. Fine inhalable particles, with diameters that are generally 2.5 micrometers and smaller.
</div> </div>
<ul> <ul>
<li> <li>
@ -260,8 +260,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Environmental Protection Agency (EPA) Office of Air
and Radiation (OAR) fusion of model and monitor data as compiled by EPA's EJSCREEN 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> </a>
</li> </li>
<li> <li>
@ -285,7 +288,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Diesel particulate matter exposure Diesel particulate matter exposure
</h3> </h3>
<div> <div>
Mixture of particles that is part of diesel exhaust in the air.
Mixture of particles that is part of diesel exhaust in the air.
</div> </div>
<ul> <ul>
<li> <li>
@ -297,8 +302,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Environmental Protection Agency (EPA) National Air Toxics Assessment (NATA)
as compiled by EPA's EJSCREEN Environmental Protection Agency (EPA) National Air Toxics Assessment (NATA)
as compiled by EPA's EJSCREEN
</a> </a>
</li> </li>
<li> <li>
@ -322,8 +329,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Traffic proximity and volume Traffic proximity and volume
</h3> </h3>
<div> <div>
Count of vehicles (average annual daily traffic) at major roads
within 500 meters, divided by distance in meters (not km). Count of vehicles (average annual daily traffic) at major roads
within 500 meters, divided by distance in meters (not km).
</div> </div>
<ul> <ul>
<li> <li>
@ -335,7 +344,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Department of Transportation (DOT) traffic data as compiled by EPA's EJSCREEN
Department of Transportation (DOT) traffic data as compiled by EPA's EJSCREEN
</a> </a>
</li> </li>
<li> <li>
@ -360,9 +371,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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.
</div> </div>
<ul> <ul>
<li> <li>
@ -374,8 +385,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Department of Housing & Urban Developments
(HUD) Comprehensive Housing Affordability Strategy dataset Department of Housing & Urban Developments
(HUD) Comprehensive Housing Affordability Strategy dataset
</a> </a>
</li> </li>
<li> <li>
@ -400,8 +413,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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
</div> </div>
<ul> <ul>
<li> <li>
@ -437,7 +451,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Low median home value Low median home value
</h3> </h3>
<div> <div>
Median home value of owner-occupied housing units in the census tract.
Median home value of owner-occupied housing units in the census tract.
</div> </div>
<ul> <ul>
<li> <li>
@ -474,9 +490,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
Count of hazardous waste facilities (Treatment, Storage, and Disposal Facilities and Large Count of hazardous waste facilities (Treatment, Storage, and Disposal Facilities and Large
Quantity Generators) within 5 km (or nearest beyond 5 km), each divided by distance in kilometers. Quantity Generators) within 5 km (or nearest beyond 5 km), each divided by distance in kilometers.
</div> </div>
<ul> <ul>
<li> <li>
@ -489,16 +505,16 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
target="_blank" target="_blank"
> >
Environmental Protection Agency (EPA) Treatment Storage, and Disposal Facilities Environmental Protection Agency (EPA) Treatment Storage, and Disposal Facilities
(TSDF) data calculated from EPA RCRA info database as compiled by EPAs EJSCREEN (TSDF) data calculated from EPA RCRA info database as compiled by EPAs EJSCREEN
</a> </a>
</li> </li>
<li> <li>
<span> <span>
Date range: Date range:
</span> </span>
2015-2020 2020
</li> </li>
<li> <li>
<span> <span>
@ -516,8 +532,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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.
</div> </div>
<ul> <ul>
<li> <li>
@ -529,7 +546,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Environmental Protection Agency (EPA) CERCLIS database as compiled by EPAs EJSCREEN
Environmental Protection Agency (EPA) CERCLIS database as compiled by EPAs EJSCREEN
</a> </a>
</li> </li>
<li> <li>
@ -554,8 +573,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
Count of RMP (potential chemical accident management plan) facilities within 5 km (or nearest Count of RMP (potential chemical accident management plan) facilities within 5 km (or nearest
one beyond 5 km), each divided by distance in kilometers. one beyond 5 km), each divided by distance in kilometers.
</div> </div>
<ul> <ul>
<li> <li>
@ -567,7 +587,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Environmental Protection Agency (EPA) RMP database as compiled by EPAs EJSCREEN
Environmental Protection Agency (EPA) RMP database as compiled by EPAs EJSCREEN
</a> </a>
</li> </li>
<li> <li>
@ -580,7 +602,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<span> <span>
Used in: Used in:
</span> </span>
Affordable and sustainable housing methodology Reduction and remediation of legacy pollution methodology
</li> </li>
</ul> </ul>
</div> </div>
@ -591,8 +613,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Wastewater discharge Wastewater discharge
</h3> </h3>
<div> <div>
Risk-Screening Environmental Indicators (RSEI) modeled Toxic Concentrations at
stream segments within 500 meters, divided by distance in kilometers (km). Risk-Screening Environmental Indicators (RSEI) modeled Toxic Concentrations at
stream segments within 500 meters, divided by distance in kilometers (km).
</div> </div>
<ul> <ul>
<li> <li>
@ -604,8 +628,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Environmental Protection Agency (EPA) Risk-Screening
Environmental Indicators (RSEI) Model as compiled by EPA's EJSCREEN Environmental Protection Agency (EPA) Risk-Screening
Environmental Indicators (RSEI) Model as compiled by EPA's EJSCREEN
</a> </a>
</li> </li>
<li> <li>
@ -629,10 +655,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Asthma Asthma
</h3> </h3>
<div> <div>
Weighted percent of people who answer “yes” both
to both of the following questions: “Have you ever been told by a doctor, Weighted percent of people who answer “yes” to both of the following questions: “Have you ever
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?”
</div> </div>
<ul> <ul>
<li> <li>
@ -644,7 +671,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Centers for Disease Control and Prevention (CDC) PLACES
Centers for Disease Control and Prevention (CDC) PLACES
</a> </a>
</li> </li>
<li> <li>
@ -668,9 +697,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Diabetes Diabetes
</h3> </h3>
<div> <div>
Weighted percent of people ages 18 years and older who report having ever been
told by a doctor, nurse, or other health professionals that they have Weighted percent of people ages 18 years and older who report having ever been
diabetes other than diabetes during pregnancy. told by a doctor, nurse, or other health professionals that they have
diabetes other than diabetes during pregnancy.
</div> </div>
<ul> <ul>
<li> <li>
@ -682,7 +713,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Centers for Disease Control and Prevention (CDC) PLACES
Centers for Disease Control and Prevention (CDC) PLACES
</a> </a>
</li> </li>
<li> <li>
@ -706,9 +739,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Heart disease Heart disease
</h3> </h3>
<div> <div>
Weighted percent of people ages 18 years and older who report ever having been told
by a doctor, nurse, or other health professionals that they had angina or Weighted percent of people ages 18 years and older who report ever having been told
coronary heart disease. by a doctor, nurse, or other health professionals that they had angina or
coronary heart disease.
</div> </div>
<ul> <ul>
<li> <li>
@ -720,7 +755,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Centers for Disease Control and Prevention (CDC) PLACES
Centers for Disease Control and Prevention (CDC) PLACES
</a> </a>
</li> </li>
<li> <li>
@ -745,13 +782,22 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
Average number of years of life a person who has attained a given age can expect to live. Average number of years of life a person who has attained a given age can expect to live.
Note: 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 <p>
the highest median income relative to area median income (lowest burden on this measure) is at the <strong>
0th percentile, and the tract with the lowest median income relative to area median income Note:
(highest burden on this measure) is at the 100th percentile. </strong>
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
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
(highest burden on this measure) is at the 100th percentile.
</p>
</div> </div>
<ul> <ul>
<li> <li>
@ -763,7 +809,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
CDCs U.S. Small-area Life Expectancy Estimates Project (USALEEP)
CDCs U.S. Small-area Life Expectancy Estimates Project (USALEEP)
</a> </a>
</li> </li>
<li> <li>
@ -787,7 +835,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Low median Income Low median Income
</h3> </h3>
<div> <div>
Median income of the census tract calculated as a percent of the areas median income.
Median income of the census tract calculated as a percent of the areas median income.
</div> </div>
<ul> <ul>
<li> <li>
@ -812,7 +862,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<span> <span>
Used in: Used in:
</span> </span>
Training and workforce development Training and workforce development methodology
</li> </li>
</ul> </ul>
</div> </div>
@ -824,8 +874,8 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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.
</div> </div>
<ul> <ul>
<li> <li>
@ -850,7 +900,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<span> <span>
Used in: Used in:
</span> </span>
Training and workforce development Training and workforce development methodology
</li> </li>
</ul> </ul>
</div> </div>
@ -861,7 +911,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Unemployment Unemployment
</h3> </h3>
<div> <div>
Number of unemployed people as a percentage of the civilian labor force
Number of unemployed people as a percentage of the civilian labor force
</div> </div>
<ul> <ul>
<li> <li>
@ -886,7 +938,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<span> <span>
Used in: Used in:
</span> </span>
Training and workforce development Training and workforce development methodology
</li> </li>
</ul> </ul>
</div> </div>
@ -897,7 +949,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Poverty Poverty
</h3> </h3>
<div> <div>
Percent of a tract's population in households where the household income is at or below 100% of the federal poverty level.
Percent of a tract's population in households where the household income is at or below 100% of
the federal poverty level.
</div> </div>
<ul> <ul>
<li> <li>
@ -922,7 +977,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<span> <span>
Used in: Used in:
</span> </span>
Training and workforce development Training and workforce development methodology
</li> </li>
</ul> </ul>
</div> </div>
@ -933,8 +988,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
High school degree achievement rate High school degree achievement rate
</h3> </h3>
<div> <div>
Percent of people ages 25 years or older in a census tract whose
education level is less than a high school diploma. Percent (not percentile) of people ages 25 years or older in a census tract whose
education level is less than a high school diploma.
</div> </div>
<ul> <ul>
<li> <li>
@ -959,7 +1016,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<span> <span>
Used in: Used in:
</span> </span>
Training and workforce development Training and workforce development methodology
</li> </li>
</ul> </ul>
</div> </div>

View file

@ -43,9 +43,12 @@ const Indicator = ({indicator}:IIndicator) => {
</div> </div>
<div className={styles.indicatorValue}> <div className={styles.indicatorValue}>
{readablePercentile(indicator.value)} {readablePercentile(indicator.value)}
<sup className={styles.indicatorSuperscript}><span> {indicator.isPercent ?
{getSuperscriptOrdinal(readablePercentile(indicator.value))} <span>{`%`}</span> :
</span></sup> <sup className={styles.indicatorSuperscript}>
<span>{getSuperscriptOrdinal(readablePercentile(indicator.value))}</span>
</sup>
}
</div> </div>
</div> </div>
</li> </li>

View file

@ -150,8 +150,8 @@ exports[`rendering of the J40Header checks if component renders 1`] = `
This is a beta site. This is a beta site.
</span> </span>
<span> <span>
It is an early, in-progress version of the tool with limited datasets It is an early, in-progress version of the tool with limited datasets that will
that will be continuously updated. be regularly updated.
</span> </span>
</div> </div>
</div> </div>

View file

@ -9,8 +9,8 @@ export const BETA_BANNER = defineMessages({
}, },
INFO: { INFO: {
id: 'banner.beta.info', id: 'banner.beta.info',
defaultMessage: `It is an early, in-progress version of the tool with limited datasets defaultMessage: `It is an early, in-progress version of the tool with limited datasets that will
that will be continuously updated.`, be regularly updated.`,
description: 'the main info of the beta banner', description: 'the main info of the beta banner',
}, },
}); });

View file

@ -237,6 +237,16 @@ export const COMMUNITY = {
}; };
export const SIDE_PANEL_CATEGORY = defineMessages({ export const SIDE_PANEL_CATEGORY = defineMessages({
INDICATOR: {
id: 'areaDetail.category.header.indicator',
defaultMessage: 'Indicator',
description: 'header for each category',
},
PERCENTILE: {
id: 'areaDetail.category.header.percentile',
defaultMessage: 'Percentile (0-100)',
description: 'header for each category',
},
CLIMATE: { CLIMATE: {
id: 'areaDetail.indicator.title.climate', id: 'areaDetail.indicator.title.climate',
defaultMessage: 'Climate change', defaultMessage: 'Climate change',
@ -550,7 +560,8 @@ export const SIDE_PANEL_INDICATOR_DESCRIPTION = defineMessages({
HIGH_SKL: { HIGH_SKL: {
id: 'areaDetail.indicator.description.high.school', id: 'areaDetail.indicator.description.high.school',
defaultMessage: ` defaultMessage: `
Percent of people ages 25 years or older whose education level is less than a high school diploma Percent (not a percentile) of people ages 25 years or older whose education level is less than a
high school diploma
`, `,
description: 'Percent of people ages 25 years or older whose education level is less than a high school diploma', description: 'Percent of people ages 25 years or older whose education level is less than a high school diploma',
}, },
@ -597,7 +608,7 @@ export const NOTE_ON_TERRITORIES = {
PARA_1: <FormattedMessage PARA_1: <FormattedMessage
id={'explore.page.note.on.territories.para.1'} id={'explore.page.note.on.territories.para.1'}
defaultMessage={` defaultMessage={`
The data sources described on the {dataMethLink} are used to The data sources described on the {dataMethLink} page are used to
identify disadvantaged communities for all fifty states and the District of Columbia. However, not all identify disadvantaged communities for all fifty states and the District of Columbia. However, not all
of these data sources are currently available for the U.S. territories. The Census ACS data from of these data sources are currently available for the U.S. territories. The Census ACS data from
2015-2019 was used to identify disadvantaged communities for Puerto Rico. This uses the same methodology 2015-2019 was used to identify disadvantaged communities for Puerto Rico. This uses the same methodology

View file

@ -148,7 +148,20 @@ export const CATEGORY= {
// Indicator Categories copy constants: // Indicator Categories copy constants:
export const CATEGORIES = { export const CATEGORIES = {
ALL: {
METHODOLOGY:
<FormattedMessage
id= {'methodologies.all.used.in.text'}
defaultMessage= {`All methodologies except for training and workforce development`}
description= {'used in text for all methodologies'}
/>,
},
CLIMATE_CHANGE: { CLIMATE_CHANGE: {
METHODOLOGY: <FormattedMessage
id= {'indicator.categories.climate.change.methodology'}
defaultMessage= {`Climate change methodology`}
description= {'climate change methodology'}
/>,
TITLE: <FormattedMessage TITLE: <FormattedMessage
id={'indicator.categories.climate.change.title'} id={'indicator.categories.climate.change.title'}
defaultMessage={'Climate change'} defaultMessage={'Climate change'}
@ -187,6 +200,11 @@ export const CATEGORIES = {
/>, />,
}, },
CLEAN_ENERGY: { CLEAN_ENERGY: {
METHODOLOGY: <FormattedMessage
id= {'indicator.categories.climate.change.methodology'}
defaultMessage= {`Clean energy and energy efficiency methodology`}
description= {`Clean energy and energy efficiency methodology`}
/>,
TITLE: <FormattedMessage TITLE: <FormattedMessage
id={'indicator.categories.clean.energy.title'} id={'indicator.categories.clean.energy.title'}
defaultMessage={'Clean energy and energy efficiency'} defaultMessage={'Clean energy and energy efficiency'}
@ -224,6 +242,11 @@ export const CATEGORIES = {
/>, />,
}, },
CLEAN_TRANSPORT: { CLEAN_TRANSPORT: {
METHODOLOGY: <FormattedMessage
id= {'indicator.categories.clean.transport.methodology'}
defaultMessage= {`Clean transportation methodology`}
description= {`Clean transportation methodology`}
/>,
TITLE: <FormattedMessage TITLE: <FormattedMessage
id={'indicator.categories.clean.transport.title'} id={'indicator.categories.clean.transport.title'}
defaultMessage={'Clean transportation'} defaultMessage={'Clean transportation'}
@ -261,6 +284,11 @@ export const CATEGORIES = {
/>, />,
}, },
AFFORDABLE_HOUSING: { AFFORDABLE_HOUSING: {
METHODOLOGY: <FormattedMessage
id= {'indicator.categories.afford.housing.methodology'}
defaultMessage= {`Affordable and sustainable housing methodology`}
description= {`Affordable and sustainable housing methodology`}
/>,
TITLE: <FormattedMessage TITLE: <FormattedMessage
id={'indicator.categories.afford.house.title'} id={'indicator.categories.afford.house.title'}
defaultMessage={'Affordable and sustainable housing'} defaultMessage={'Affordable and sustainable housing'}
@ -270,7 +298,7 @@ export const CATEGORIES = {
id= {'indicator.categories.afford.house.if'} id= {'indicator.categories.afford.house.if'}
defaultMessage= {` defaultMessage= {`
{if} at or above 90th percentile for {lead} AND {medianHomeVal} is at or less than {if} at or above 90th percentile for {lead} AND {medianHomeVal} is at or less than
90th percentile OR at or above the 10th percentile for the {houseBur} 90th percentile OR at or above the 90th percentile for the {houseBur}
`} `}
description= {'if portion of the formula'} description= {'if portion of the formula'}
values= {{ values= {{
@ -300,6 +328,11 @@ export const CATEGORIES = {
/>, />,
}, },
LEGACY_POLLUTION: { LEGACY_POLLUTION: {
METHODOLOGY: <FormattedMessage
id= {'indicator.categories.legacy.pollute.methodology'}
defaultMessage= {`Reduction and remediation of legacy pollution methodology`}
description= {`Reduction and remediation of legacy pollution methodology`}
/>,
TITLE: <FormattedMessage TITLE: <FormattedMessage
id={'indicator.categories.legacy.pollution.title'} id={'indicator.categories.legacy.pollution.title'}
defaultMessage={'Reduction and remediation of legacy pollution'} defaultMessage={'Reduction and remediation of legacy pollution'}
@ -338,6 +371,11 @@ export const CATEGORIES = {
/>, />,
}, },
CLEAN_WATER: { CLEAN_WATER: {
METHODOLOGY: <FormattedMessage
id= {'indicator.categories.clean.water.methodology'}
defaultMessage= {`Critical clean water and waste infrastructure`}
description= {`Critical clean water and waste infrastructure methodology`}
/>,
TITLE: <FormattedMessage TITLE: <FormattedMessage
id={'indicator.categories.clean.water.title'} id={'indicator.categories.clean.water.title'}
defaultMessage={'Critical clean water and waste infrastructure'} defaultMessage={'Critical clean water and waste infrastructure'}
@ -374,6 +412,11 @@ export const CATEGORIES = {
/>, />,
}, },
HEALTH_BURDENS: { HEALTH_BURDENS: {
METHODOLOGY: <FormattedMessage
id= {'indicator.categories.health.burdens.methodology'}
defaultMessage= {`Health burdens methodology`}
description= {`Health burdens methodology`}
/>,
TITLE: <FormattedMessage TITLE: <FormattedMessage
id={'indicator.categories.health.burdens.title'} id={'indicator.categories.health.burdens.title'}
defaultMessage={'Health burdens'} defaultMessage={'Health burdens'}
@ -413,6 +456,11 @@ export const CATEGORIES = {
/>, />,
}, },
WORKFORCE_DEV: { WORKFORCE_DEV: {
METHODOLOGY: <FormattedMessage
id= {'indicator.categories.workforce.dev.methodology'}
defaultMessage= {`Training and workforce development methodology`}
description= {`Training and workforce development`}
/>,
TITLE: <FormattedMessage TITLE: <FormattedMessage
id={'indicator.categories.work.dev.title'} id={'indicator.categories.work.dev.title'}
defaultMessage={'Training and workforce development'} defaultMessage={'Training and workforce development'}
@ -503,303 +551,592 @@ export const DATASET_CARD_LABELS = defineMessages({
}, },
}); });
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 = {
TEN_PLUS_5: '2010-2015',
FOURTEEN: '2014',
FOURTEEN_PLUS_4: '2014-2018',
FOURTEEN_PLUS_7: '2014-2021',
FIFETEEN_PLUS_4: '2015-2019',
SIXTEEN_PLUS_3: '2016-2019',
SIXTEEN_PLUS_4: '2016-2020',
SEVENTEEN: '2017',
EIGHTEEN: '2018',
TWENTY: '2020',
};
export const INDICATORS = [ export const INDICATORS = [
{ {
domID: 'low-income', domID: 'low-income',
indicator: 'Low income', indicator: 'Low income',
description: ` description: <FormattedMessage
Percent of a block group's population in households where household income is at or below id= {'category.low.income.description.text'}
200% of the federal poverty level. defaultMessage= {`
`, Percent of a census tract's population in households where household income is at or below
usedIn: 200% of the federal poverty level.
<FormattedMessage `}
id= {'category.low.income.used.in'} description= {'description text for low income'}
defaultMessage= {`All methodologies except for training and workforce development`} />,
description= {'used in text for low income'} usedIn: CATEGORIES.ALL.METHODOLOGY,
/>, responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS,
respPartyLabel: dateRange: DATE_RANGE.FIFETEEN_PLUS_4,
<FormattedMessage
id= {'category.low.income.resp.party.label'}
defaultMessage= {'{lowIncResPartyLinkText}.'}
description= {'responsible party label for low.income'}
values= {{
lowIncResPartyLinkText: `Census's American Community Survey`,
}}
/>,
dataSourceURL: `https://www.census.gov/programs-surveys/acs`,
dateRange: `2015-2019`,
}, },
{ {
domID: 'exp-agr-loss-rate', domID: 'exp-agr-loss-rate',
indicator: 'Expected agriculture loss rate', indicator: 'Expected agriculture loss rate',
description: ` description: <FormattedMessage
Percent of agriculture value at risk from losses due to natural hazards. Calculated by dividing id= {'category.exp.agr.loss.rate.description.text'}
the agriculture value at risk in a census tract by the total agriculture value in that census defaultMessage= {`
tract. Fourteen natural hazards that have some link to climate change include: avalanche, Percent of agriculture value at risk from losses due to natural hazards. Calculated by dividing
coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, the agriculture value at risk in a census tract by the total agriculture value in that census
riverine flooding, strong wind, tornado, wildfire, and winter weather. tract. Fourteen natural hazards that have some link to climate change include: avalanche,
`, coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide,
usedIn: `Climate change methodology`, riverine flooding, strong wind, tornado, wildfire, and winter weather.
respPartyLabel: `Federal Emergency Management Agency (FEMA)`, `}
dataSourceURL: `https://hazards.fema.gov/nri/expected-annual-loss`, description= {'description text for exp agr loss rate'}
dateRange: `2014-2021`, />,
usedIn: CATEGORIES.CLIMATE_CHANGE.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.FEMA,
dateRange: DATE_RANGE.FOURTEEN_PLUS_7,
}, },
{ {
domID: 'exp-bld-loss-rate', domID: 'exp-bld-loss-rate',
indicator: 'Expected building loss rate', indicator: 'Expected building loss rate',
description: ` description: <FormattedMessage
Percent of building value at risk from losses due to natural hazards. Calculated by dividing the id= {'category.exp.bld.loss.rate.description.text'}
building value at risk in a census tract by the total building value in that census tract. defaultMessage= {`
Fourteen natural hazards that have some link to climate change include: avalanche, coastal flooding, Percent of building value at risk from losses due to natural hazards. Calculated by dividing the
cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine flooding, strong building value at risk in a census tract by the total building value in that census tract.
wind, tornado, wildfire, and winter weather. Fourteen natural hazards that have some link to climate change include: avalanche,
`, coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide,
usedIn: `Climate change methodology`, riverine flooding, strong wind, tornado, wildfire, and winter weather.
respPartyLabel: `Federal Emergency Management Agency (FEMA)`, `}
dataSourceURL: `https://hazards.fema.gov/nri/expected-annual-loss`, description= {'description text for exp bld loss rate'}
dateRange: `2014-2021`, />,
usedIn: CATEGORIES.CLIMATE_CHANGE.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.FEMA,
dateRange: DATE_RANGE.FOURTEEN_PLUS_7,
}, },
{ {
domID: 'exp-pop-loss-rate', domID: 'exp-pop-loss-rate',
indicator: 'Expected population loss rate', indicator: 'Expected population loss rate',
description: ` description: <FormattedMessage
Rate relative to the population in fatalities and injuries due to natural hazards each year. id= {'category.exp.pop.loss.rate.description.text'}
Fourteen natural hazards that have some link to climate change include: avalanche, coastal defaultMessage= {`
flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine Rate relative to the population in fatalities and injuries due to natural hazards each year.
flooding, strong wind, tornado, wildfire, and winter weather. Fourteen natural hazards that have some link to climate change include: avalanche, coastal
Population loss is defined as the Spatial Hazard Events and Losses or National Centers flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine
for Environmental Informations (NCEI) reported number of fatalities and injuries caused by the flooding, strong wind, tornado, wildfire, and winter weather.
hazard occurrence. To combine fatalities and injuries for the computation of population loss value, Population loss is defined as the Spatial Hazard Events and Losses or National Centers
an injury is counted as one-tenth (1/10) of a fatality. The NCEI Storm Events Database for Environmental Informations (NCEI) reported number of fatalities and injuries caused by the
classifies injuries and fatalities as direct or indirect. Both direct and indirect injuries hazard occurrence. To combine fatalities and injuries for the computation of population loss value,
and fatalities are counted as population loss. This total number of injuries and fatalities an injury is counted as one-tenth (1/10) of a fatality. The NCEI Storm Events Database
is then divided by the population in the census tract to get a per-capita rate of population risk. classifies injuries and fatalities as direct or indirect. Both direct and indirect injuries
and fatalities are counted as population loss. This total number of injuries and fatalities
`, is then divided by the population in the census tract to get a per-capita rate of population risk.
usedIn: `Climate change methodology`, `}
respPartyLabel: `Federal Emergency Management Agency (FEMA)`, description= {'description text for exp pop loss rate'}
dataSourceURL: `https://hazards.fema.gov/nri/expected-annual-loss`, />,
dateRange: `2014-2021`, usedIn: CATEGORIES.CLIMATE_CHANGE.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.FEMA,
dateRange: DATE_RANGE.FOURTEEN_PLUS_7,
}, },
{ {
domID: 'energy-burden', domID: 'energy-burden',
indicator: 'Energy cost burden', indicator: 'Energy cost burden',
description: `Average annual energy cost ($) divided by household income.`, description: <FormattedMessage
usedIn: `Clean energy and energy efficiency methodology`, id= {'category.energy.burden.description.text'}
respPartyLabel: `Department of Energy (DOE) LEAD Score`, defaultMessage= {`Average annual energy cost ($) divided by household income.`}
dataSourceURL: `https://www.energy.gov/eere/slsc/low-income-energy-affordability-data-lead-tool`, description= {'description text for energy burden'}
dateRange: `2018`, />,
usedIn: CATEGORIES.CLEAN_ENERGY.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.DOE,
dateRange: DATE_RANGE.EIGHTEEN,
}, },
{ {
domID: 'pm-25', domID: 'pm-25',
indicator: 'PM2.5 in the air', indicator: 'PM2.5 in the air',
description: `Fine inhalable particles, with diameters that are generally description: <FormattedMessage
2.5 micrometers and smaller.`, id= {'category.pm2.5.description.text'}
usedIn: `Clean energy and energy efficiency methodology`, defaultMessage= {`
respPartyLabel: `Environmental Protection Agency (EPA) Office of Air Fine inhalable particles, with diameters that are generally 2.5 micrometers and smaller.
and Radiation (OAR) fusion of model and monitor data as compiled by EPA's EJSCREEN`, `}
dataSourceURL: `https://www.epa.gov/ejscreen/technical-documentation-ejscreen`, description= {'description text for pm 2.5'}
dateRange: `2017`, />,
usedIn: CATEGORIES.CLEAN_ENERGY.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.EPA_OAR,
dateRange: DATE_RANGE.SEVENTEEN,
}, },
{ {
domID: 'diesel-pm', domID: 'diesel-pm',
indicator: 'Diesel particulate matter exposure', indicator: 'Diesel particulate matter exposure',
description: `Mixture of particles that is part of diesel exhaust in the air.`, description: <FormattedMessage
usedIn: `Clean transportation methodology`, id= {'category.diesel.pm.description.text'}
respPartyLabel: `Environmental Protection Agency (EPA) National Air Toxics Assessment (NATA) defaultMessage= {`
as compiled by EPA's EJSCREEN`, Mixture of particles that is part of diesel exhaust in the air.
dataSourceURL: `https://www.epa.gov/ejscreen/technical-documentation-ejscreen`, `}
dateRange: `2014`, description= {'description text for diesel pm'}
/>,
usedIn: CATEGORIES.CLEAN_TRANSPORT.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.EPA_NATA,
dateRange: DATE_RANGE.FOURTEEN,
}, },
{ {
domID: 'traffic-vol', domID: 'traffic-vol',
indicator: 'Traffic proximity and volume', indicator: 'Traffic proximity and volume',
description: `Count of vehicles (average annual daily traffic) at major roads description: <FormattedMessage
within 500 meters, divided by distance in meters (not km).`, id= {'category.traffic.vol.description.text'}
usedIn: `Clean transportation methodology`, defaultMessage= {`
respPartyLabel: `Department of Transportation (DOT) traffic data as compiled by EPA's EJSCREEN`, Count of vehicles (average annual daily traffic) at major roads
dataSourceURL: `https://www.epa.gov/ejscreen/technical-documentation-ejscreen`, within 500 meters, divided by distance in meters (not km).
dateRange: `2017`, `}
description= {'description text for traffic volume'}
/>,
usedIn: CATEGORIES.CLEAN_TRANSPORT.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.DOT_EPA,
dateRange: DATE_RANGE.SEVENTEEN,
}, },
{ {
domID: 'house-burden', domID: 'house-burden',
indicator: 'Housing cost burden', indicator: 'Housing cost burden',
description: ` description: <FormattedMessage
The percent of households in a census tract that are both earning less than 80% of HUD Area Median id= {'category.house.burden.description.text'}
Family Income by county and are paying greater than 30% of their income to housing costs. defaultMessage= {`
`, The percent of households in a census tract that are both earning less than 80% of HUD Area Median
usedIn: `Affordable and sustainable housing methodology`, Family Income by county and are paying greater than 30% of their income to housing costs.
respPartyLabel: `Department of Housing & Urban Developments `}
(HUD) Comprehensive Housing Affordability Strategy dataset`, description= {'description text for housing burden'}
dataSourceURL: `https://www.huduser.gov/portal/datasets/cp.html`, />,
dateRange: `2014-2018`, usedIn: CATEGORIES.AFFORDABLE_HOUSING.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.HUD,
dateRange: DATE_RANGE.FOURTEEN_PLUS_4,
}, },
{ {
domID: 'lead-paint', domID: 'lead-paint',
indicator: 'Lead paint', indicator: 'Lead paint',
description: ` description: <FormattedMessage
Percent of housing units built pre-1960, used as an indicator of potential lead paint exposure in id= {'category.lead.paint.description.text'}
tracts with median home values less than 90th percentile `, defaultMessage= {`
usedIn: `Affordable and sustainable housing methodology`, Percent of housing units built pre-1960, used as an indicator of potential lead paint exposure in
respPartyLabel: `Census's American Community Survey`, tracts with median home values less than 90th percentile
dataSourceURL: `https://www.census.gov/programs-surveys/acs`, `}
dateRange: `2015-2019`, description= {'description text for lead paint'}
/>,
usedIn: CATEGORIES.AFFORDABLE_HOUSING.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4,
}, },
{ {
domID: 'median-home', domID: 'median-home',
indicator: 'Low median home value', indicator: 'Low median home value',
description: `Median home value of owner-occupied housing units in the census tract.`, description: <FormattedMessage
usedIn: `Affordable and sustainable housing methodology`, id= {'category.lead.paint.description.text'}
respPartyLabel: `Census's American Community Survey`, defaultMessage= {`
dataSourceURL: `https://www.census.gov/programs-surveys/acs`, Median home value of owner-occupied housing units in the census tract.
dateRange: `2015-2019`, `}
description= {'description text for lead paint'}
/>,
usedIn: CATEGORIES.AFFORDABLE_HOUSING.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4,
}, },
{ {
domID: 'prox-haz', domID: 'prox-haz',
indicator: 'Proximity to hazardous waste facilities', indicator: 'Proximity to hazardous waste facilities',
description: ` description: <FormattedMessage
Count of hazardous waste facilities (Treatment, Storage, and Disposal Facilities and Large id= {'category.prox.haz.description.text'}
Quantity Generators) within 5 km (or nearest beyond 5 km), each divided by distance in kilometers. defaultMessage= {`
`, Count of hazardous waste facilities (Treatment, Storage, and Disposal Facilities and Large
usedIn: `Reduction and remediation of legacy pollution methodology`, Quantity Generators) within 5 km (or nearest beyond 5 km), each divided by distance in kilometers.
respPartyLabel: ` `}
Environmental Protection Agency (EPA) Treatment Storage, and Disposal Facilities description= {'description text for proximity to hazards'}
(TSDF) data calculated from EPA RCRA info database as compiled by EPAs EJSCREEN />,
`, usedIn: CATEGORIES.LEGACY_POLLUTION.METHODOLOGY,
dataSourceURL: `https://enviro.epa.gov/facts/rcrainfo/search.html`, responsibleParty: RESPONSIBLE_PARTIES.EPA_TSDF,
dateRange: `2015-2020`, dateRange: DATE_RANGE.TWENTY,
}, },
{ {
domID: 'prox-npl', domID: 'prox-npl',
indicator: 'Proximity to National Priorities List (NPL) sites', indicator: 'Proximity to National Priorities List (NPL) sites',
description: ` description: <FormattedMessage
Count of proposed or listed NPL - also known as superfund - sites within 5 km (or nearest one id= {'category.prox.npl.description.text'}
beyond 5 km), each divided by distance in kilometers.`, defaultMessage= {`
usedIn: `Reduction and remediation of legacy pollution methodology`, Count of proposed or listed NPL - also known as superfund - sites within 5 km (or nearest one
respPartyLabel: `Environmental Protection Agency (EPA) CERCLIS database as compiled by EPAs EJSCREEN`, beyond 5 km), each divided by distance in kilometers.
dataSourceURL: `https://enviro.epa.gov/facts/rcrainfo/search.html`, `}
dateRange: `2020`, description= {'description text for proximity to npl'}
/>,
usedIn: CATEGORIES.LEGACY_POLLUTION.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.EPA_CERCLIS,
dateRange: DATE_RANGE.TWENTY,
}, },
{ {
domID: 'prox-rmp', domID: 'prox-rmp',
indicator: 'Proximity to Risk Management Plan (RMP) facilities', indicator: 'Proximity to Risk Management Plan (RMP) facilities',
description: ` description: <FormattedMessage
Count of RMP (potential chemical accident management plan) facilities within 5 km (or nearest id= {'category.prox.rmp.description.text'}
one beyond 5 km), each divided by distance in kilometers.`, defaultMessage= {`
usedIn: `Affordable and sustainable housing methodology`, Count of RMP (potential chemical accident management plan) facilities within 5 km (or nearest
respPartyLabel: `Environmental Protection Agency (EPA) RMP database as compiled by EPAs EJSCREEN`, one beyond 5 km), each divided by distance in kilometers.
dataSourceURL: `https://www.epa.gov/ejscreen/technical-documentation-ejscreen`, `}
dateRange: `2020`, description= {'description text for proximity to rmp'}
/>,
usedIn: CATEGORIES.LEGACY_POLLUTION.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.EPA_RMP,
dateRange: DATE_RANGE.TWENTY,
}, },
{ {
domID: 'waste-water', domID: 'waste-water',
indicator: 'Wastewater discharge', indicator: 'Wastewater discharge',
description: `Risk-Screening Environmental Indicators (RSEI) modeled Toxic Concentrations at description: <FormattedMessage
stream segments within 500 meters, divided by distance in kilometers (km).`, id= {'category.waste.water.description.text'}
usedIn: `Critical clean water and waste infrastructure`, defaultMessage= {`
respPartyLabel: `Environmental Protection Agency (EPA) Risk-Screening Risk-Screening Environmental Indicators (RSEI) modeled Toxic Concentrations at
Environmental Indicators (RSEI) Model as compiled by EPA's EJSCREEN`, stream segments within 500 meters, divided by distance in kilometers (km).
dataSourceURL: `https://www.epa.gov/ejscreen/technical-documentation-ejscreen`, `}
dateRange: `2020`, description= {'description text for waste water'}
/>,
usedIn: CATEGORIES.CLEAN_WATER.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.EPA_RSEI,
dateRange: DATE_RANGE.TWENTY,
}, },
{ {
domID: 'asthma', domID: 'asthma',
indicator: 'Asthma', indicator: 'Asthma',
description: `Weighted percent of people who answer “yes” both description: <FormattedMessage
to both of the following questions: Have you ever been told by a doctor, id= {'category.asthma.description.text'}
nurse, or other health professional that you have asthma? and the question defaultMessage= {`
Do you still have asthma?`, Weighted percent of people who answer yes to both of the following questions: Have you ever
usedIn: `Health burdens methodology`, been told by a doctor, nurse, or other health professional that you have asthma? and the question
respPartyLabel: `Centers for Disease Control and Prevention (CDC) PLACES`, Do you still have asthma?
dataSourceURL: `https://www.cdc.gov/places/index.html`, `}
dateRange: `2016-2019`, description= {'description text for asthma'}
/>,
usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CDC_PLACES,
dateRange: DATE_RANGE.SIXTEEN_PLUS_3,
}, },
{ {
domID: 'diabetes', domID: 'diabetes',
indicator: 'Diabetes', indicator: 'Diabetes',
description: `Weighted percent of people ages 18 years and older who report having ever been description: <FormattedMessage
told by a doctor, nurse, or other health professionals that they have id= {'category.diabetes.description.text'}
diabetes other than diabetes during pregnancy.`, defaultMessage= {`
usedIn: `Health burdens methodology`, Weighted percent of people ages 18 years and older who report having ever been
respPartyLabel: `Centers for Disease Control and Prevention (CDC) PLACES`, told by a doctor, nurse, or other health professionals that they have
dataSourceURL: `https://www.cdc.gov/places/index.html`, diabetes other than diabetes during pregnancy.
dateRange: `2016-2019`, `}
description= {'description text for diabetes'}
/>,
usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CDC_PLACES,
dateRange: DATE_RANGE.SIXTEEN_PLUS_3,
}, },
{ {
domID: 'heart-disease', domID: 'heart-disease',
indicator: 'Heart disease', indicator: 'Heart disease',
description: `Weighted percent of people ages 18 years and older who report ever having been told description: <FormattedMessage
by a doctor, nurse, or other health professionals that they had angina or id= {'category.diabetes.description.text'}
coronary heart disease.`, defaultMessage= {`
usedIn: `Health burdens methodology`, Weighted percent of people ages 18 years and older who report ever having been told
respPartyLabel: `Centers for Disease Control and Prevention (CDC) PLACES`, by a doctor, nurse, or other health professionals that they had angina or
dataSourceURL: `https://www.cdc.gov/places/index.html`, coronary heart disease.
dateRange: `2016-2019`, `}
description= {'description text for diabetes'}
/>,
usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CDC_PLACES,
dateRange: DATE_RANGE.SIXTEEN_PLUS_3,
}, },
{ {
domID: 'life-exp', domID: 'life-exp',
indicator: 'Low life expectancy', indicator: 'Low life expectancy',
description: ` description: <FormattedMessage
Average number of years of life a person who has attained a given age can expect to live. id= {'category.low.life.expectancy.description.text'}
Note: Unlike most of the other datasets, high values of this indicator indicate low burdens. defaultMessage= {`
For percentile calculations, the percentile is calculated in reverse order, so that the tract with Average number of years of life a person who has attained a given age can expect to live.
the highest median income relative to area median income (lowest burden on this measure) is at the {note}
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. description= {'description text for low life expectancy'}
`, values= {{
usedIn: `Health burdens methodology`, note: <p><strong>Note:</strong>{`
respPartyLabel: `CDCs U.S. Small-area Life Expectancy Estimates Project (USALEEP)`, Unlike most of the other datasets, high values of this indicator indicate low burdens.
dataSourceURL: `https://www.cdc.gov/nchs/nvss/usaleep/usaleep.html#data`, For percentile calculations, the percentile is calculated in reverse order, so that the tract with
dateRange: `2010-2015`, 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
(highest burden on this measure) is at the 100th percentile.
`}</p>,
}}
/>,
usedIn: CATEGORIES.HEALTH_BURDENS.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CDC_SLEEP,
dateRange: DATE_RANGE.TEN_PLUS_5,
}, },
{ {
domID: 'low-med-inc', domID: 'low-med-inc',
indicator: 'Low median Income', indicator: 'Low median Income',
description: `Median income of the census tract calculated as a percent of the areas median income.`, description: <FormattedMessage
usedIn: `Training and workforce development`, id= {'category.workforce.dev.description.text'}
respPartyLabel: `Census's American Community Survey`, defaultMessage= {`
dataSourceURL: `https://www.census.gov/programs-surveys/acs`, Median income of the census tract calculated as a percent of the areas median income.
dateRange: `2015-2019`, `}
description= {'description text for workforce dev'}
/>,
usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4,
}, },
{ {
domID: 'ling-iso', domID: 'ling-iso',
indicator: 'Linguistic Isolation', indicator: 'Linguistic Isolation',
description: ` description: <FormattedMessage
The percent of limited speaking households, which are households where no one over age 14 speaks English well. id= {'category.linguistic.iso.description.text'}
`, defaultMessage= {`
usedIn: `Training and workforce development`, The percent of limited speaking households, which are households where no one over age 14 speaks English well.
respPartyLabel: `Census's American Community Survey`, `}
dataSourceURL: `https://www.census.gov/programs-surveys/acs`, description= {'description text for linguistic isolation'}
dateRange: `2015-2019`, />,
usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4,
}, },
{ {
domID: 'unemploy', domID: 'unemploy',
indicator: 'Unemployment', indicator: 'Unemployment',
description: `Number of unemployed people as a percentage of the civilian labor force`, description: <FormattedMessage
usedIn: `Training and workforce development`, id= {'category.unemploy.description.text'}
respPartyLabel: `Census's American Community Survey`, defaultMessage= {`
dataSourceURL: `https://www.census.gov/programs-surveys/acs`, Number of unemployed people as a percentage of the civilian labor force
dateRange: `2015-2019`, `}
description= {'description text for unemployment'}
/>,
usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4,
}, },
{ {
domID: 'poverty', domID: 'poverty',
indicator: 'Poverty', indicator: 'Poverty',
description: `Percent of a tract's population in households where the household income` + description: <FormattedMessage
` is at or below 100% of the federal poverty level.`, id= {'category.poverty.description.text'}
usedIn: `Training and workforce development`, defaultMessage= {`
respPartyLabel: `Census's American Community Survey`, Percent of a tract's population in households where the household income is at or below 100% of
dataSourceURL: `https://www.census.gov/programs-surveys/acs`, the federal poverty level.
dateRange: `2015-2019`, `}
description= {'description text for poverty'}
/>,
usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4,
}, },
{ {
domID: 'high-school', domID: 'high-school',
indicator: 'High school degree achievement rate', indicator: 'High school degree achievement rate',
description: `Percent of people ages 25 years or older in a census tract whose description: <FormattedMessage
education level is less than a high school diploma.`, id= {'category.highschool.description.text'}
usedIn: `Training and workforce development`, defaultMessage= {`
respPartyLabel: `Census's American Community Survey`, Percent (not percentile) of people ages 25 years or older in a census tract whose
dataSourceURL: `https://www.census.gov/programs-surveys/acs`, education level is less than a high school diploma.
dateRange: `2015-2019`, `}
description= {'description text for highschool'}
/>,
usedIn: CATEGORIES.WORKFORCE_DEV.METHODOLOGY,
responsibleParty: RESPONSIBLE_PARTIES.CENSUS_ACS,
dateRange: DATE_RANGE.FIFETEEN_PLUS_4,
isPercent: true,
}, },
]; ];

View file

@ -150,8 +150,8 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
This is a beta site. This is a beta site.
</span> </span>
<span> <span>
It is an early, in-progress version of the tool with limited datasets It is an early, in-progress version of the tool with limited datasets that will
that will be continuously updated. be regularly updated.
</span> </span>
</div> </div>
</div> </div>

View file

@ -150,8 +150,8 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
This is a beta site. This is a beta site.
</span> </span>
<span> <span>
It is an early, in-progress version of the tool with limited datasets It is an early, in-progress version of the tool with limited datasets that will
that will be continuously updated. be regularly updated.
</span> </span>
</div> </div>
</div> </div>

View file

@ -150,8 +150,8 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
This is a beta site. This is a beta site.
</span> </span>
<span> <span>
It is an early, in-progress version of the tool with limited datasets It is an early, in-progress version of the tool with limited datasets that will
that will be continuously updated. be regularly updated.
</span> </span>
</div> </div>
</div> </div>
@ -575,7 +575,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
low median home value low median home value
</a> </a>
is at or less than is at or less than
90th percentile OR at or above the 10th percentile for the 90th percentile OR at or above the 90th percentile for the
<a <a
href="#house-burden" href="#house-burden"
> >
@ -836,9 +836,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
Percent of a block group's population in households where household income is at or below Percent of a census tract's population in households where household income is at or below
200% of the federal poverty level. 200% of the federal poverty level.
</div> </div>
<ul> <ul>
<li> <li>
@ -850,7 +850,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Census's American Community Survey. Census's American Community Survey
</a> </a>
</li> </li>
<li> <li>
@ -875,12 +875,12 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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. Calculated by dividing
the agriculture value at risk in a census tract by the total agriculture value in that census the agriculture value at risk in a census tract by the total agriculture value in that census
tract. Fourteen natural hazards that have some link to climate change include: avalanche, tract. Fourteen natural hazards that have some link to climate change include: avalanche,
coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, coastal flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide,
riverine flooding, strong wind, tornado, wildfire, and winter weather. riverine flooding, strong wind, tornado, wildfire, and winter weather.
</div> </div>
<ul> <ul>
<li> <li>
@ -917,12 +917,12 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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. Calculated by dividing the
building value at risk in a census tract by the total building value in that census tract. building value at risk in a census tract by the total building value in that census tract.
Fourteen natural hazards that have some link to climate change include: 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. riverine flooding, strong wind, tornado, wildfire, and winter weather.
</div> </div>
<ul> <ul>
<li> <li>
@ -959,19 +959,18 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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.
Fourteen natural hazards that have some link to climate change include: avalanche, coastal Fourteen natural hazards that have some link to climate change include: avalanche, coastal
flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine flooding, cold wave, drought, hail, heat wave, hurricane, ice storm, landslide, riverine
flooding, strong wind, tornado, wildfire, and winter weather. flooding, strong wind, tornado, wildfire, and winter weather.
Population loss is defined as the Spatial Hazard Events and Losses or National Centers Population loss is defined as the Spatial Hazard Events and Losses or National Centers
for Environmental Informations (NCEI) reported number of fatalities and injuries caused by the for Environmental Informations (NCEI) reported number of fatalities and injuries caused by the
hazard occurrence. To combine fatalities and injuries for the computation of population loss value, hazard occurrence. To combine fatalities and injuries for the computation of population loss value,
an injury is counted as one-tenth (1/10) of a fatality. The NCEI Storm Events Database an injury is counted as one-tenth (1/10) of a fatality. The NCEI Storm Events Database
classifies injuries and fatalities as direct or indirect. Both direct and indirect injuries classifies injuries and fatalities as direct or indirect. Both direct and indirect injuries
and fatalities are counted as population loss. This total number of injuries and fatalities and fatalities are counted as population loss. This total number of injuries and fatalities
is then divided by the population in the census tract to get a per-capita rate of population risk. is then divided by the population in the census tract to get a per-capita rate of population risk.
</div> </div>
<ul> <ul>
<li> <li>
@ -1043,8 +1042,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
PM2.5 in the air PM2.5 in the air
</h3> </h3>
<div> <div>
Fine inhalable particles, with diameters that are generally
2.5 micrometers and smaller. Fine inhalable particles, with diameters that are generally 2.5 micrometers and smaller.
</div> </div>
<ul> <ul>
<li> <li>
@ -1056,8 +1056,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Environmental Protection Agency (EPA) Office of Air
and Radiation (OAR) fusion of model and monitor data as compiled by EPA's EJSCREEN 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> </a>
</li> </li>
<li> <li>
@ -1081,7 +1084,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Diesel particulate matter exposure Diesel particulate matter exposure
</h3> </h3>
<div> <div>
Mixture of particles that is part of diesel exhaust in the air.
Mixture of particles that is part of diesel exhaust in the air.
</div> </div>
<ul> <ul>
<li> <li>
@ -1093,8 +1098,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Environmental Protection Agency (EPA) National Air Toxics Assessment (NATA)
as compiled by EPA's EJSCREEN Environmental Protection Agency (EPA) National Air Toxics Assessment (NATA)
as compiled by EPA's EJSCREEN
</a> </a>
</li> </li>
<li> <li>
@ -1118,8 +1125,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Traffic proximity and volume Traffic proximity and volume
</h3> </h3>
<div> <div>
Count of vehicles (average annual daily traffic) at major roads
within 500 meters, divided by distance in meters (not km). Count of vehicles (average annual daily traffic) at major roads
within 500 meters, divided by distance in meters (not km).
</div> </div>
<ul> <ul>
<li> <li>
@ -1131,7 +1140,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Department of Transportation (DOT) traffic data as compiled by EPA's EJSCREEN
Department of Transportation (DOT) traffic data as compiled by EPA's EJSCREEN
</a> </a>
</li> </li>
<li> <li>
@ -1156,9 +1167,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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.
</div> </div>
<ul> <ul>
<li> <li>
@ -1170,8 +1181,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Department of Housing & Urban Developments
(HUD) Comprehensive Housing Affordability Strategy dataset Department of Housing & Urban Developments
(HUD) Comprehensive Housing Affordability Strategy dataset
</a> </a>
</li> </li>
<li> <li>
@ -1196,8 +1209,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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
</div> </div>
<ul> <ul>
<li> <li>
@ -1233,7 +1247,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Low median home value Low median home value
</h3> </h3>
<div> <div>
Median home value of owner-occupied housing units in the census tract.
Median home value of owner-occupied housing units in the census tract.
</div> </div>
<ul> <ul>
<li> <li>
@ -1270,9 +1286,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
Count of hazardous waste facilities (Treatment, Storage, and Disposal Facilities and Large Count of hazardous waste facilities (Treatment, Storage, and Disposal Facilities and Large
Quantity Generators) within 5 km (or nearest beyond 5 km), each divided by distance in kilometers. Quantity Generators) within 5 km (or nearest beyond 5 km), each divided by distance in kilometers.
</div> </div>
<ul> <ul>
<li> <li>
@ -1285,16 +1301,16 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
target="_blank" target="_blank"
> >
Environmental Protection Agency (EPA) Treatment Storage, and Disposal Facilities Environmental Protection Agency (EPA) Treatment Storage, and Disposal Facilities
(TSDF) data calculated from EPA RCRA info database as compiled by EPAs EJSCREEN (TSDF) data calculated from EPA RCRA info database as compiled by EPAs EJSCREEN
</a> </a>
</li> </li>
<li> <li>
<span> <span>
Date range: Date range:
</span> </span>
2015-2020 2020
</li> </li>
<li> <li>
<span> <span>
@ -1312,8 +1328,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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.
</div> </div>
<ul> <ul>
<li> <li>
@ -1325,7 +1342,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Environmental Protection Agency (EPA) CERCLIS database as compiled by EPAs EJSCREEN
Environmental Protection Agency (EPA) CERCLIS database as compiled by EPAs EJSCREEN
</a> </a>
</li> </li>
<li> <li>
@ -1350,8 +1369,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
Count of RMP (potential chemical accident management plan) facilities within 5 km (or nearest Count of RMP (potential chemical accident management plan) facilities within 5 km (or nearest
one beyond 5 km), each divided by distance in kilometers. one beyond 5 km), each divided by distance in kilometers.
</div> </div>
<ul> <ul>
<li> <li>
@ -1363,7 +1383,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Environmental Protection Agency (EPA) RMP database as compiled by EPAs EJSCREEN
Environmental Protection Agency (EPA) RMP database as compiled by EPAs EJSCREEN
</a> </a>
</li> </li>
<li> <li>
@ -1376,7 +1398,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<span> <span>
Used in: Used in:
</span> </span>
Affordable and sustainable housing methodology Reduction and remediation of legacy pollution methodology
</li> </li>
</ul> </ul>
</div> </div>
@ -1387,8 +1409,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Wastewater discharge Wastewater discharge
</h3> </h3>
<div> <div>
Risk-Screening Environmental Indicators (RSEI) modeled Toxic Concentrations at
stream segments within 500 meters, divided by distance in kilometers (km). Risk-Screening Environmental Indicators (RSEI) modeled Toxic Concentrations at
stream segments within 500 meters, divided by distance in kilometers (km).
</div> </div>
<ul> <ul>
<li> <li>
@ -1400,8 +1424,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Environmental Protection Agency (EPA) Risk-Screening
Environmental Indicators (RSEI) Model as compiled by EPA's EJSCREEN Environmental Protection Agency (EPA) Risk-Screening
Environmental Indicators (RSEI) Model as compiled by EPA's EJSCREEN
</a> </a>
</li> </li>
<li> <li>
@ -1425,10 +1451,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Asthma Asthma
</h3> </h3>
<div> <div>
Weighted percent of people who answer “yes” both
to both of the following questions: “Have you ever been told by a doctor, Weighted percent of people who answer “yes” to both of the following questions: “Have you ever
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?”
</div> </div>
<ul> <ul>
<li> <li>
@ -1440,7 +1467,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Centers for Disease Control and Prevention (CDC) PLACES
Centers for Disease Control and Prevention (CDC) PLACES
</a> </a>
</li> </li>
<li> <li>
@ -1464,9 +1493,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Diabetes Diabetes
</h3> </h3>
<div> <div>
Weighted percent of people ages 18 years and older who report having ever been
told by a doctor, nurse, or other health professionals that they have Weighted percent of people ages 18 years and older who report having ever been
diabetes other than diabetes during pregnancy. told by a doctor, nurse, or other health professionals that they have
diabetes other than diabetes during pregnancy.
</div> </div>
<ul> <ul>
<li> <li>
@ -1478,7 +1509,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Centers for Disease Control and Prevention (CDC) PLACES
Centers for Disease Control and Prevention (CDC) PLACES
</a> </a>
</li> </li>
<li> <li>
@ -1502,9 +1535,11 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Heart disease Heart disease
</h3> </h3>
<div> <div>
Weighted percent of people ages 18 years and older who report ever having been told
by a doctor, nurse, or other health professionals that they had angina or Weighted percent of people ages 18 years and older who report ever having been told
coronary heart disease. by a doctor, nurse, or other health professionals that they had angina or
coronary heart disease.
</div> </div>
<ul> <ul>
<li> <li>
@ -1516,7 +1551,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
Centers for Disease Control and Prevention (CDC) PLACES
Centers for Disease Control and Prevention (CDC) PLACES
</a> </a>
</li> </li>
<li> <li>
@ -1541,13 +1578,22 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
Average number of years of life a person who has attained a given age can expect to live. Average number of years of life a person who has attained a given age can expect to live.
Note: 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 <p>
the highest median income relative to area median income (lowest burden on this measure) is at the <strong>
0th percentile, and the tract with the lowest median income relative to area median income Note:
(highest burden on this measure) is at the 100th percentile. </strong>
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
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
(highest burden on this measure) is at the 100th percentile.
</p>
</div> </div>
<ul> <ul>
<li> <li>
@ -1559,7 +1605,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
rel="noreferrer" rel="noreferrer"
target="_blank" target="_blank"
> >
CDCs U.S. Small-area Life Expectancy Estimates Project (USALEEP)
CDCs U.S. Small-area Life Expectancy Estimates Project (USALEEP)
</a> </a>
</li> </li>
<li> <li>
@ -1583,7 +1631,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Low median Income Low median Income
</h3> </h3>
<div> <div>
Median income of the census tract calculated as a percent of the areas median income.
Median income of the census tract calculated as a percent of the areas median income.
</div> </div>
<ul> <ul>
<li> <li>
@ -1608,7 +1658,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<span> <span>
Used in: Used in:
</span> </span>
Training and workforce development Training and workforce development methodology
</li> </li>
</ul> </ul>
</div> </div>
@ -1620,8 +1670,8 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
</h3> </h3>
<div> <div>
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.
</div> </div>
<ul> <ul>
<li> <li>
@ -1646,7 +1696,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<span> <span>
Used in: Used in:
</span> </span>
Training and workforce development Training and workforce development methodology
</li> </li>
</ul> </ul>
</div> </div>
@ -1657,7 +1707,9 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Unemployment Unemployment
</h3> </h3>
<div> <div>
Number of unemployed people as a percentage of the civilian labor force
Number of unemployed people as a percentage of the civilian labor force
</div> </div>
<ul> <ul>
<li> <li>
@ -1682,7 +1734,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<span> <span>
Used in: Used in:
</span> </span>
Training and workforce development Training and workforce development methodology
</li> </li>
</ul> </ul>
</div> </div>
@ -1693,7 +1745,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
Poverty Poverty
</h3> </h3>
<div> <div>
Percent of a tract's population in households where the household income is at or below 100% of the federal poverty level.
Percent of a tract's population in households where the household income is at or below 100% of
the federal poverty level.
</div> </div>
<ul> <ul>
<li> <li>
@ -1718,7 +1773,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<span> <span>
Used in: Used in:
</span> </span>
Training and workforce development Training and workforce development methodology
</li> </li>
</ul> </ul>
</div> </div>
@ -1729,8 +1784,10 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
High school degree achievement rate High school degree achievement rate
</h3> </h3>
<div> <div>
Percent of people ages 25 years or older in a census tract whose
education level is less than a high school diploma. Percent (not percentile) of people ages 25 years or older in a census tract whose
education level is less than a high school diploma.
</div> </div>
<ul> <ul>
<li> <li>
@ -1755,7 +1812,7 @@ exports[`rendering of the DatasetContainer checks if various text fields are vis
<span> <span>
Used in: Used in:
</span> </span>
Training and workforce development Training and workforce development methodology
</li> </li>
</ul> </ul>
</div> </div>

View file

@ -293,6 +293,12 @@ This section will outline styles that are component specific
} }
} }
// This is to allow the first child in the accordions which is the header showing INDICATOR and
// PERCENTILE (0-100) to push into the container's margin to match mock
.usa-accordion__content > *:first-child {
margin: -10px -20px 10px -20px;
}
/* /*
*************************************** ***************************************
* TIMELINE / PROCESS LIST STYLES * TIMELINE / PROCESS LIST STYLES

View file

@ -108,6 +108,7 @@ We provide more detail on these factors below.
- **Popularity** : According to [NPM Trends](https://www.npmtrends.com/mapbox-gl-vs-leaflet-vs-ol-vs-arcgis-js-api-vs-maplibre-gl) Mapbox-GL is the most downloaded package among those considered. More info [here](https://www.geoapify.com/map-libraries-comparison-leaflet-vs-mapbox-gl-vs-openlayers-trends-and-statistics) - **Popularity** : According to [NPM Trends](https://www.npmtrends.com/mapbox-gl-vs-leaflet-vs-ol-vs-arcgis-js-api-vs-maplibre-gl) Mapbox-GL is the most downloaded package among those considered. More info [here](https://www.geoapify.com/map-libraries-comparison-leaflet-vs-mapbox-gl-vs-openlayers-trends-and-statistics)
![Download Stats](./0002-files/MapDownloadCount.png) ![Download Stats](./0002-files/MapDownloadCount.png)
<!-- markdown-link-check-disable -->
#### Mapbox-GL JS Cons #### Mapbox-GL JS Cons
- **Licensing** : Mapbox's December 2020 [announcement](https://github.com/mapbox/mapbox-gl-js/releases/tag/v2.0.0) of version 2.0 of their software changed ther license to proprietary and changed their pricing scheme to cover tiles loaded from outside of their service. This decision was met with [some criticism](https://joemorrison.medium.com/death-of-an-open-source-business-model-62bc227a7e9b) in the open-source mapping community. - **Licensing** : Mapbox's December 2020 [announcement](https://github.com/mapbox/mapbox-gl-js/releases/tag/v2.0.0) of version 2.0 of their software changed ther license to proprietary and changed their pricing scheme to cover tiles loaded from outside of their service. This decision was met with [some criticism](https://joemorrison.medium.com/death-of-an-open-source-business-model-62bc227a7e9b) in the open-source mapping community.

View file

@ -49,11 +49,11 @@ Chosen option: Gatsby, because it seems to hit the balance between being simple
- Fairly good [documentation](https://www.gatsbyjs.com/docs) - Fairly good [documentation](https://www.gatsbyjs.com/docs)
### Negative Consequences <!-- optional --> ### Negative Consequences <!-- optional -->
<!-- markdown-link-check-disable -->
- Test development environment ran out of memory. We debugged this further and could not replicate the problem on a new machine, but the original experience was annoying to work around and this [article](https://support.gatsbyjs.com/hc/en-us/articles/360053096273-Why-did-I-hit-Out-of-Memory-errors-) suggests it could be a more widespread problem. - Test development environment ran out of memory. We debugged this further and could not replicate the problem on a new machine, but the original experience was annoying to work around and this [article](https://support.gatsbyjs.com/hc/en-us/articles/360053096273-Why-did-I-hit-Out-of-Memory-errors-) suggests it could be a more widespread problem.
- Local builds and refreshes feel slow compared to other frameworks on this list - Local builds and refreshes feel slow compared to other frameworks on this list
- Seems a little more geared toward the blog usecase - Seems a little more geared toward the blog usecase
<!-- markdown-link-check-enable -->
## Pros and Cons of the Options ## Pros and Cons of the Options
### Jekyll ### Jekyll
@ -75,7 +75,7 @@ Cons:
Pros: Pros:
- By far the most commonly framework in this list - 1.4MM [total downloads](https://www.npmtrends.com/gatsby-vs-next-vs-nuxt-vs-vuepress-vs-create-react-app-vs-gridsome) as of May 2, 2021 . Gatsby, the second most-downloaded, has ~470,000 - By far the most commonly framework in this list - 1.4MM total downloads as of May 2, 2021 . Gatsby, the second most-downloaded, has ~470,000
- Used by a number of well-known [companies and brands](https://nextjs.org/showcase) - Used by a number of well-known [companies and brands](https://nextjs.org/showcase)
- Flexible - Flexible
- Mature tooling like `create-next-app` - Mature tooling like `create-next-app`