Basic Layout (#80)

* Basic Layout

 - Merge with main into new branch
 - Most of main content and footer working.
 - Could not get fixed branch of trussworks to `npm install` correctly, so reverted back to public version. (`trussworks/react-uswds#kh-serverside-rendering-fix-1250"`)

TODO:
 - stack sgv warning+cloud icons
 - get timeline image (which as text that needs to scale)
 - localization support
 - move icon includes out of header?
 - start converting elements over to trussworks

* Cleanup

- removed unused styles
- added some better comments

* Revert trussworks to fixed branch
* Update package-lock.json
* Temporarily pointing toward personal fork until SSR issue has been addressed
* Update J40Footer.spec.tsx.snap
* setting jestEnvironment to the proper 'jsdom' value, needed for snapshot tests
* lingering prettier fix
* small version bump

Co-authored-by: Nat Hillard <Nathaniel.K.Hillard@omb.eop.gov>
This commit is contained in:
TomNUSDS 2021-05-27 09:54:42 -07:00 committed by GitHub
parent ce7245b1a2
commit 3ca4ca9e6d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 2679 additions and 194 deletions

View file

@ -1,6 +1,6 @@
module.exports = { module.exports = {
preset: 'ts-jest', preset: 'ts-jest',
testEnvironment: 'node', testEnvironment: 'jsdom',
transform: { transform: {
'^.+\\.[jt]sx?$': '<rootDir>/jest-preprocess.js', '^.+\\.[jt]sx?$': '<rootDir>/jest-preprocess.js',
}, },

323
client/package-lock.json generated
View file

@ -166,9 +166,9 @@
} }
}, },
"@babel/helper-define-polyfill-provider": { "@babel/helper-define-polyfill-provider": {
"version": "0.2.1", "version": "0.2.3",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.1.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz",
"integrity": "sha512-x3AUTVZNPunaw1opRTa5OwVA5N0YxGlIad9xQ5QflK1uIS7PnAGGU5O2Dj/G183fR//N8AzTq+Q8+oiu9m0VFg==", "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==",
"requires": { "requires": {
"@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-compilation-targets": "^7.13.0",
"@babel/helper-module-imports": "^7.12.13", "@babel/helper-module-imports": "^7.12.13",
@ -2490,98 +2490,6 @@
"defer-to-connect": "^1.0.1" "defer-to-connect": "^1.0.1"
} }
}, },
"@testing-library/dom": {
"version": "7.31.0",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.31.0.tgz",
"integrity": "sha512-0X7ACg4YvTRDFMIuTOEj6B4NpN7i3F/4j5igOcTI5NC5J+N4TribNdErCHOZF1LBWhhcyfwxelVwvoYNMUXTOA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
"@babel/runtime": "^7.12.5",
"@types/aria-query": "^4.2.0",
"aria-query": "^4.2.2",
"chalk": "^4.1.0",
"dom-accessibility-api": "^0.5.4",
"lz-string": "^1.4.4",
"pretty-format": "^26.6.2"
},
"dependencies": {
"@jest/types": {
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
"integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
"@types/istanbul-reports": "^3.0.0",
"@types/node": "*",
"@types/yargs": "^15.0.0",
"chalk": "^4.0.0"
}
},
"@types/istanbul-reports": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz",
"integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==",
"dev": true,
"requires": {
"@types/istanbul-lib-report": "*"
}
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"pretty-format": {
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
"integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
"dev": true,
"requires": {
"@jest/types": "^26.6.2",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^17.0.1"
}
},
"react-is": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
"dev": true
}
}
},
"@testing-library/react": {
"version": "11.2.7",
"resolved": "https://registry.npmjs.org/@testing-library/react/-/react-11.2.7.tgz",
"integrity": "sha512-tzRNp7pzd5QmbtXNG/mhdcl7Awfu/Iz1RaVHY75zTdOkmHCuzMhRL83gWHSgOAcjS3CCbyfwUHMZgRJb4kAfpA==",
"dev": true,
"requires": {
"@babel/runtime": "^7.12.5",
"@testing-library/dom": "^7.28.1"
}
},
"@tokenizer/token": { "@tokenizer/token": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz", "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz",
@ -2594,8 +2502,8 @@
"dev": true "dev": true
}, },
"@trussworks/react-uswds": { "@trussworks/react-uswds": {
"version": "github:trussworks/react-uswds#67db8354c8f999c8d8cadb75fd03769d00e905ad", "version": "github:nathillardusds/react-uswds#42b1907d172373cbcd5730d75c335b0c98cbeccf",
"from": "github:trussworks/react-uswds#kh-serverside-rendering-fix-1250" "from": "github:nathillardusds/react-uswds#nathillardusds/ssr"
}, },
"@trysound/sax": { "@trysound/sax": {
"version": "0.1.1", "version": "0.1.1",
@ -2615,12 +2523,6 @@
"resolved": "https://registry.npmjs.org/@turist/time/-/time-0.0.1.tgz", "resolved": "https://registry.npmjs.org/@turist/time/-/time-0.0.1.tgz",
"integrity": "sha512-M2BiThcbxMxSKX8W4z5u9jKZn6datnM3+FpEU+eYw0//l31E2xhqi7vTAuJ/Sf0P3yhp66SDJgPu3bRRpvrdQQ==" "integrity": "sha512-M2BiThcbxMxSKX8W4z5u9jKZn6datnM3+FpEU+eYw0//l31E2xhqi7vTAuJ/Sf0P3yhp66SDJgPu3bRRpvrdQQ=="
}, },
"@types/aria-query": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.1.tgz",
"integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==",
"dev": true
},
"@types/babel__core": { "@types/babel__core": {
"version": "7.1.14", "version": "7.1.14",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz",
@ -2693,9 +2595,9 @@
"integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==" "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ=="
}, },
"@types/eslint": { "@types/eslint": {
"version": "7.2.11", "version": "7.2.12",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.11.tgz", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.12.tgz",
"integrity": "sha512-WYhv//5K8kQtsSc9F1Kn2vHzhYor6KpwPbARH7hwYe3C3ETD0EVx/3P5qQybUoaBEuUa9f/02JjBiXFWalYUmw==", "integrity": "sha512-HjikV/jX6e0Pg4DcB+rtOBKSrG6w5IaxWpmi3efL/eLxMz5lZTK+W1DKERrX5a+mNzL78axfsDNXu7JHFP4uLg==",
"requires": { "requires": {
"@types/estree": "*", "@types/estree": "*",
"@types/json-schema": "*" "@types/json-schema": "*"
@ -3814,14 +3716,14 @@
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
}, },
"autoprefixer": { "autoprefixer": {
"version": "10.2.5", "version": "10.2.6",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.5.tgz", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.6.tgz",
"integrity": "sha512-7H4AJZXvSsn62SqZyJCP+1AWwOuoYpUfK6ot9vm0e87XD6mT8lDywc9D9OTJPMULyGcvmIxzTAMeG2Cc+YX+fA==", "integrity": "sha512-8lChSmdU6dCNMCQopIf4Pe5kipkAGj/fvTMslCsih0uHpOrXOPUEVOmYMMqmw3cekQkSD7EhIeuYl5y0BLdKqg==",
"requires": { "requires": {
"browserslist": "^4.16.3", "browserslist": "^4.16.6",
"caniuse-lite": "^1.0.30001196", "caniuse-lite": "^1.0.30001230",
"colorette": "^1.2.2", "colorette": "^1.2.2",
"fraction.js": "^4.0.13", "fraction.js": "^4.1.1",
"normalize-range": "^0.1.2", "normalize-range": "^0.1.2",
"postcss-value-parser": "^4.1.0" "postcss-value-parser": "^4.1.0"
} }
@ -3965,12 +3867,12 @@
} }
}, },
"babel-plugin-polyfill-corejs2": { "babel-plugin-polyfill-corejs2": {
"version": "0.2.1", "version": "0.2.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.1.tgz", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz",
"integrity": "sha512-hXGSPbr6IbjeMyGew+3uGIAkRjBFSOJ9FLDZNOfHuyJZCcoia4nd/72J0bSgvfytcVfUcP/dxEVcUhVJuQRtSw==", "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==",
"requires": { "requires": {
"@babel/compat-data": "^7.13.11", "@babel/compat-data": "^7.13.11",
"@babel/helper-define-polyfill-provider": "^0.2.1", "@babel/helper-define-polyfill-provider": "^0.2.2",
"semver": "^6.1.1" "semver": "^6.1.1"
}, },
"dependencies": { "dependencies": {
@ -3982,20 +3884,20 @@
} }
}, },
"babel-plugin-polyfill-corejs3": { "babel-plugin-polyfill-corejs3": {
"version": "0.2.1", "version": "0.2.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.1.tgz", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz",
"integrity": "sha512-WZCqF3DLUhdTD/P381MDJfuP18hdCZ+iqJ+wHtzhWENpsiof284JJ1tMQg1CE+hfCWyG48F7e5gDMk2c3Laz7w==", "integrity": "sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A==",
"requires": { "requires": {
"@babel/helper-define-polyfill-provider": "^0.2.1", "@babel/helper-define-polyfill-provider": "^0.2.2",
"core-js-compat": "^3.9.1" "core-js-compat": "^3.9.1"
} }
}, },
"babel-plugin-polyfill-regenerator": { "babel-plugin-polyfill-regenerator": {
"version": "0.2.1", "version": "0.2.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.1.tgz", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz",
"integrity": "sha512-T3bYyL3Sll2EtC94v3f+fA8M28q7YPTOZdB++SRHjvYZTvtd+WorMUq3tDTD4Q7Kjk1LG0gGromslKjcO5p2TA==", "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==",
"requires": { "requires": {
"@babel/helper-define-polyfill-provider": "^0.2.1" "@babel/helper-define-polyfill-provider": "^0.2.2"
} }
}, },
"babel-plugin-remove-graphql-queries": { "babel-plugin-remove-graphql-queries": {
@ -4676,6 +4578,11 @@
} }
} }
}, },
"classlist-polyfill": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz",
"integrity": "sha1-k1vC39lFiodrJ5YXUUY4vKqWSi4="
},
"clean-stack": { "clean-stack": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
@ -5008,22 +4915,22 @@
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
}, },
"contentful-management": { "contentful-management": {
"version": "7.22.2", "version": "7.22.4",
"resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-7.22.2.tgz", "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-7.22.4.tgz",
"integrity": "sha512-NIdscTgo4EezPvs4zYi7aTm2IISX2G/DV0hZ1AlbtH8YTGqvMDX/gZJ0NcbDJ9aqwzv8c95AToGm5wwae5/cTA==", "integrity": "sha512-nwFWfaaIQGveN9bAEZ6IpQjWeZlDgse1SXvgdR/D3mxTUYqDlyQv1sIqst+tcgd09zF4TuEKgF0e6Xmc0X1XhQ==",
"requires": { "requires": {
"@types/json-patch": "0.0.30", "@types/json-patch": "0.0.30",
"axios": "^0.21.0", "axios": "^0.21.0",
"contentful-sdk-core": "^6.8.0", "contentful-sdk-core": "^6.8.0",
"fast-copy": "^2.1.0", "fast-copy": "^2.1.0",
"lodash.isplainobject": "^4.0.6", "lodash.isplainobject": "^4.0.6",
"type-fest": "1.0.2" "type-fest": "^0.20.2"
}, },
"dependencies": { "dependencies": {
"type-fest": { "type-fest": {
"version": "1.0.2", "version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.0.2.tgz", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-a720oz3Kjbp3ll0zkeN9qjRhO7I34MKMhPGQiQJAmaZQZQ1lo+NWThK322f7sXV+kTg9B1Ybt16KgBXWgteT8w==" "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
} }
} }
}, },
@ -5910,9 +5817,9 @@
"integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0="
}, },
"dns-packet": { "dns-packet": {
"version": "1.3.3", "version": "1.3.4",
"resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.3.tgz", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz",
"integrity": "sha512-dDwDMOJU+m6Qx+LhltSV+BWNrMaTqx3eXkAqgt/iouWTXGZMffg1rOSnG2xa3lWqmJ9xTBc7fgIe/css4S1rxA==", "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==",
"requires": { "requires": {
"ip": "^1.1.0", "ip": "^1.1.0",
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
@ -5934,12 +5841,6 @@
"esutils": "^2.0.2" "esutils": "^2.0.2"
} }
}, },
"dom-accessibility-api": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz",
"integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==",
"dev": true
},
"dom-converter": { "dom-converter": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
@ -5988,6 +5889,11 @@
"domelementtype": "^2.2.0" "domelementtype": "^2.2.0"
} }
}, },
"domready": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/domready/-/domready-1.0.8.tgz",
"integrity": "sha1-kfJS5Ze2Wvd+dFriTdAYXV4m1Yw="
},
"domutils": { "domutils": {
"version": "2.6.0", "version": "2.6.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz",
@ -6027,9 +5933,19 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.3.739", "version": "1.3.740",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.739.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.740.tgz",
"integrity": "sha512-+LPJVRsN7hGZ9EIUUiWCpO7l4E3qBYHNadazlucBfsXBbccDFNKUBAgzE68FnkWGJPwD/AfKhSzL+G+Iqb8A4A==" "integrity": "sha512-Mi2m55JrX2BFbNZGKYR+2ItcGnR4O5HhrvgoRRyZQlaMGQULqDhoGkLWHzJoshSzi7k1PUofxcDbNhlFrDZNhg=="
},
"elem-dataset": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/elem-dataset/-/elem-dataset-2.0.0.tgz",
"integrity": "sha512-e7gieGopWw5dMdEgythH3lUS7nMizutPDTtkzfQW/q2gCvFnACyNnK3ytCncAXKxdBXQWcXeKaYTTODiMnp8mw=="
},
"element-closest": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/element-closest/-/element-closest-2.0.2.tgz",
"integrity": "sha1-cqdAoQdFM4LijfnOXbtajfD5Zuw="
}, },
"email-addresses": { "email-addresses": {
"version": "3.1.0", "version": "3.1.0",
@ -10928,9 +10844,9 @@
"dev": true "dev": true
}, },
"ci-info": { "ci-info": {
"version": "3.1.1", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.1.1.tgz", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz",
"integrity": "sha512-kdRWLBIJwdsYJWYJFtAFFYxybguqeF91qpZaggjG5Nf8QKdizFG2hjqvaTXbxFIcYbSaD74KpAXv6BSm17DHEQ==", "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==",
"dev": true "dev": true
}, },
"is-ci": { "is-ci": {
@ -12098,9 +12014,9 @@
} }
}, },
"ci-info": { "ci-info": {
"version": "3.1.1", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.1.1.tgz", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz",
"integrity": "sha512-kdRWLBIJwdsYJWYJFtAFFYxybguqeF91qpZaggjG5Nf8QKdizFG2hjqvaTXbxFIcYbSaD74KpAXv6BSm17DHEQ==", "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==",
"dev": true "dev": true
}, },
"is-ci": { "is-ci": {
@ -12459,6 +12375,11 @@
"object.assign": "^4.1.2" "object.assign": "^4.1.2"
} }
}, },
"keyboardevent-key-polyfill": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/keyboardevent-key-polyfill/-/keyboardevent-key-polyfill-1.1.0.tgz",
"integrity": "sha1-ijGdjkWhMXL8pWKGNy+QwdTHAUw="
},
"keyv": { "keyv": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
@ -12749,12 +12670,6 @@
"es5-ext": "~0.10.2" "es5-ext": "~0.10.2"
} }
}, },
"lz-string": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz",
"integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=",
"dev": true
},
"magic-string": { "magic-string": {
"version": "0.25.7", "version": "0.25.7",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
@ -12834,6 +12749,11 @@
"repeat-string": "^1.0.0" "repeat-string": "^1.0.0"
} }
}, },
"matches-selector": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/matches-selector/-/matches-selector-1.2.0.tgz",
"integrity": "sha512-c4vLwYWyl+Ji+U43eU/G5FwxWd4ZH0ePUsFs5y0uwD9HUEFBXUQ1zUUan+78IpRD+y4pUfG0nAzNM292K7ItvA=="
},
"md5-file": { "md5-file": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/md5-file/-/md5-file-5.0.0.tgz", "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-5.0.0.tgz",
@ -13624,14 +13544,13 @@
} }
}, },
"object.entries": { "object.entries": {
"version": "1.1.3", "version": "1.1.4",
"resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz",
"integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==",
"requires": { "requires": {
"call-bind": "^1.0.0", "call-bind": "^1.0.2",
"define-properties": "^1.1.3", "define-properties": "^1.1.3",
"es-abstract": "^1.18.0-next.1", "es-abstract": "^1.18.2"
"has": "^1.0.3"
} }
}, },
"object.fromentries": { "object.fromentries": {
@ -13664,14 +13583,13 @@
} }
}, },
"object.values": { "object.values": {
"version": "1.1.3", "version": "1.1.4",
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz",
"integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==",
"requires": { "requires": {
"call-bind": "^1.0.2", "call-bind": "^1.0.2",
"define-properties": "^1.1.3", "define-properties": "^1.1.3",
"es-abstract": "^1.18.0-next.2", "es-abstract": "^1.18.2"
"has": "^1.0.3"
} }
}, },
"obuf": { "obuf": {
@ -15185,6 +15103,17 @@
"picomatch": "^2.2.1" "picomatch": "^2.2.1"
} }
}, },
"receptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/receptor/-/receptor-1.0.0.tgz",
"integrity": "sha1-v1RHfgOH5Evr84VRILvaWt6gj4s=",
"requires": {
"element-closest": "^2.0.1",
"keyboardevent-key-polyfill": "^1.0.2",
"matches-selector": "^1.0.0",
"object-assign": "^4.1.0"
}
},
"recursive-readdir": { "recursive-readdir": {
"version": "2.2.2", "version": "2.2.2",
"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
@ -15628,6 +15557,11 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="
}, },
"resolve-id-refs": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/resolve-id-refs/-/resolve-id-refs-0.1.0.tgz",
"integrity": "sha1-MSZiS4h0idqPwK6IljL4QTrGw+w="
},
"resolve-url": { "resolve-url": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
@ -17357,9 +17291,9 @@
"integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q=="
}, },
"ts-jest": { "ts-jest": {
"version": "27.0.0", "version": "27.0.1",
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.0.tgz", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.1.tgz",
"integrity": "sha512-YhuEjDZz9ZjxKbUlgT3XtJb9lyditEjctlo1nLcn983my3Xz4BE3c2ogHhonmGlAdUUiGlz/Dq2KOMXmf1WHfA==", "integrity": "sha512-03qAt77QjhxyM5Bt2KrrT1WbdumiwLz989sD3IUznSp3GIFQrx76kQqSMLF7ynnxrF3/1ipzABnHxMlU8PD4Vw==",
"dev": true, "dev": true,
"requires": { "requires": {
"bs-logger": "0.x", "bs-logger": "0.x",
@ -17486,9 +17420,9 @@
} }
}, },
"typescript": { "typescript": {
"version": "4.2.4", "version": "4.3.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz",
"integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==",
"dev": true "dev": true
}, },
"unbox-primitive": { "unbox-primitive": {
@ -17844,6 +17778,45 @@
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
}, },
"uswds": {
"version": "2.11.2",
"resolved": "https://registry.npmjs.org/uswds/-/uswds-2.11.2.tgz",
"integrity": "sha512-JISTXCjPIlrufbObIifjrMDn5jF9bbLu7UYhGWmEs9iqB6Z2KDCXHVoBUyzMmIrIjW/UWWYHZzPqOOHO6/IMCQ==",
"requires": {
"classlist-polyfill": "^1.0.3",
"del": "^6.0.0",
"domready": "^1.0.8",
"elem-dataset": "^2.0.0",
"object-assign": "^4.1.1",
"receptor": "^1.0.0",
"resolve-id-refs": "^0.1.0"
},
"dependencies": {
"del": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz",
"integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==",
"requires": {
"globby": "^11.0.1",
"graceful-fs": "^4.2.4",
"is-glob": "^4.0.1",
"is-path-cwd": "^2.2.0",
"is-path-inside": "^3.0.2",
"p-map": "^4.0.0",
"rimraf": "^3.0.2",
"slash": "^3.0.0"
}
},
"p-map": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
"integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
"requires": {
"aggregate-error": "^3.0.0"
}
}
}
},
"util-deprecate": { "util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@ -18867,9 +18840,9 @@
} }
}, },
"xstate": { "xstate": {
"version": "4.19.1", "version": "4.19.2",
"resolved": "https://registry.npmjs.org/xstate/-/xstate-4.19.1.tgz", "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.19.2.tgz",
"integrity": "sha512-tnBh6ue9MiyoMkE2+w1IqfvJm4nBe3S4Ky/RLvlo9vka8FdO4WyyT3M7PA0pQoM/FZ9aJVWFOlsNw0Nc7E+4Bw==" "integrity": "sha512-eWI6kOHavcqhu1ACCmRowYGaQnH0KGvBoGg3lqmle9ZYyVWa2ZcVTgZlsK7o419/jw9gWX2LYmYGkm9w/VoXMA=="
}, },
"xtend": { "xtend": {
"version": "4.0.2", "version": "4.0.2",

View file

@ -49,9 +49,10 @@
"ts-jest": "^27.0.0" "ts-jest": "^27.0.0"
}, },
"dependencies": { "dependencies": {
"@trussworks/react-uswds": "trussworks/react-uswds#kh-serverside-rendering-fix-1250", "@trussworks/react-uswds": "github:nathillardusds/react-uswds#nathillardusds/ssr",
"gatsby": "^3.4.1", "gatsby": "^3.4.1",
"react": "^17.0.1", "react": "^17.0.1",
"react-dom": "^17.0.1" "react-dom": "^17.0.1",
"uswds": "^2.10.3"
} }
} }

View file

@ -1,15 +1,66 @@
import React from 'react'; import React from 'react';
import {Footer} from '@trussworks/react-uswds'; import {Footer, Logo, FooterNav, Address} from '@trussworks/react-uswds';
import {Link} from 'gatsby-plugin-intl'; // @ts-ignore
import whitehouseIcon from '../images/eop-seal.svg';
const footerLinks = [
<Link to="/" key="/">Home</Link>,
];
const J40Footer = () => { const J40Footer = () => {
return ( return (
<> <>
<Footer primary={[]} secondary={footerLinks} /> <Footer
size="big"
primary={<></>}
secondary={<FooterNav
aria-label="Footer navigation"
size="big" // fyi you leave this off and it silently fails... lovely
className={'nobreak'}
links={[
[
'Agency Partners',
<a href="https://www.epa.gov/" target="_blank" rel="noreferrer"
key={'epalink'}>Environmental Protection Agency</a>,
<a href="https://www.whitehouse.gov/omb" target="_blank"
rel="noreferrer" key={'whitehouselink'}>Office of Management
and Budget</a>,
<a href="https://www.energy.gov/" target="_blank" rel="noreferrer"
key={'energylink'}>Department of Energy</a>,
<a href="https://www.hud.gov/" target="_blank" rel="noreferrer"
key={'hudlink'}>Department of Housing and Urban
Development</a>,
],
[
'More Information',
<a href="https://www.whitehouse.gov/" target="_blank"
rel="noreferrer"
key={'whitehouselink2'}>Whitehouse.gov</a>,
<a href="#" key={'accessibilitylink'}>Accessibility Statement</a>,
<a href="#" key={'privacylink'}>Privacy, Policies, and Legal
Information</a>,
],
// eslint-disable-next-line react/jsx-key
[<br/>,
<Logo
size="medium"
key={'logoimg'}
image={
<img className={'usa-footer__logo-img'} src={whitehouseIcon}
alt="Whitehouse logo"/>
}
/>,
],
[
<>Council on Environmental Quality<br/></>,
<Address className={'footerAddressReadability'}
key={'footeraddress'}
items={[
'730 Jackson Pl NW',
'Washington, D.C. 20506',
'(202) 395-5750',
]}
/>,
],
]}
/>}
/>
</> </>
); );
}; };

View file

@ -3,7 +3,7 @@
exports[`J40Footer renders correctly 1`] = ` exports[`J40Footer renders correctly 1`] = `
Array [ Array [
<footer <footer
className="usa-footer" className="usa-footer usa-footer--big"
> >
<div <div
className="usa-footer__primary-section" className="usa-footer__primary-section"
@ -14,12 +14,202 @@ Array [
<div <div
className="grid-container" className="grid-container"
> >
<a <nav
href="/en/" aria-label="Footer navigation"
onClick={[Function]} className="usa-footer__nav nobreak"
> >
Home <div
</a> className="grid-row grid-gap-4"
>
<div
className="mobile-lg:grid-col-6 desktop:grid-col-3"
>
<section
className="usa-footer__primary-content usa-footer__primary-content--collapsible"
>
<h4
className="usa-footer__primary-link"
>
Agency Partners
</h4>
<ul
className="usa-list usa-list--unstyled"
>
<li
className="usa-footer__secondary-link"
>
<a
href="https://www.epa.gov/"
rel="noreferrer"
target="_blank"
>
Environmental Protection Agency
</a>
</li>
<li
className="usa-footer__secondary-link"
>
<a
href="https://www.whitehouse.gov/omb"
rel="noreferrer"
target="_blank"
>
Office of Management and Budget
</a>
</li>
<li
className="usa-footer__secondary-link"
>
<a
href="https://www.energy.gov/"
rel="noreferrer"
target="_blank"
>
Department of Energy
</a>
</li>
<li
className="usa-footer__secondary-link"
>
<a
href="https://www.hud.gov/"
rel="noreferrer"
target="_blank"
>
Department of Housing and Urban Development
</a>
</li>
</ul>
</section>
</div>
<div
className="mobile-lg:grid-col-6 desktop:grid-col-3"
>
<section
className="usa-footer__primary-content usa-footer__primary-content--collapsible"
>
<h4
className="usa-footer__primary-link"
>
More Information
</h4>
<ul
className="usa-list usa-list--unstyled"
>
<li
className="usa-footer__secondary-link"
>
<a
href="https://www.whitehouse.gov/"
rel="noreferrer"
target="_blank"
>
Whitehouse.gov
</a>
</li>
<li
className="usa-footer__secondary-link"
>
<a
href="#"
>
Accessibility Statement
</a>
</li>
<li
className="usa-footer__secondary-link"
>
<a
href="#"
>
Privacy, Policies, and Legal Information
</a>
</li>
</ul>
</section>
</div>
<div
className="mobile-lg:grid-col-6 desktop:grid-col-3"
>
<section
className="usa-footer__primary-content usa-footer__primary-content--collapsible"
>
<h4
className="usa-footer__primary-link"
>
<br />
</h4>
<ul
className="usa-list usa-list--unstyled"
>
<li
className="usa-footer__secondary-link"
>
<div
className="usa-footer__logo grid-row mobile-lg:grid-col-6 mobile-lg:grid-gap-2"
data-testid="footerLogo"
>
<div
className="mobile-lg:grid-col-auto"
>
<img
alt="Whitehouse logo"
className="usa-footer__logo-img"
src="test-file-stub"
/>
</div>
</div>
</li>
</ul>
</section>
</div>
<div
className="mobile-lg:grid-col-6 desktop:grid-col-3"
>
<section
className="usa-footer__primary-content usa-footer__primary-content--collapsible"
>
<h4
className="usa-footer__primary-link"
>
Council on Environmental Quality
<br />
</h4>
<ul
className="usa-list usa-list--unstyled"
>
<li
className="usa-footer__secondary-link"
>
<address
className="usa-footer__address footerAddressReadability"
>
<div
className="usa-footer__contact-info grid-row grid-gap"
>
<div
className=""
>
730 Jackson Pl NW
</div>
<div
className=""
>
Washington, D.C. 20506
</div>
<div
className=""
>
(202) 395-5750
</div>
</div>
</address>
</li>
</ul>
</section>
</div>
</div>
</nav>
</div> </div>
</div> </div>
</footer>, </footer>,

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 201 KiB

View file

@ -1,11 +1,227 @@
import * as React from 'react'; import * as React from 'react';
import Layout from '../components/layout'; import Layout from '../components/layout';
// import {GridContainer, Grid} from '@trussworks/react-uswds';
// this section seems too verbose? must be a more readable way to do this.
// this inlines the svg as data:image/svg+xml For larger images this
// can cause page bloat, but it should be fine here.
// @ts-ignore
import publicIcon from '/node_modules/uswds/dist/img/usa-icons/public.svg';
// @ts-ignore
import chatIcon from '/node_modules/uswds/dist/img/usa-icons/chat.svg';
// @ts-ignore
import githubIcon from '/node_modules/uswds/dist/img/usa-icons/github.svg';
// @ts-ignore
import ecoIcon from '/node_modules/uswds/dist/img/usa-icons/eco.svg';
// @ts-ignore
import busIcon from '/node_modules/uswds/dist/img/usa-icons/directions_bus.svg';
// @ts-ignore
import homeIcon from '/node_modules/uswds/dist/img/usa-icons/home.svg';
// @ts-ignore
import groupsIcon from '/node_modules/uswds/dist/img/usa-icons/groups.svg';
// todo: fix svg overlay
// @ts-ignore
import pollutionIcon from '/node_modules/uswds/dist/img/usa-icons/warning.svg';
// @ts-ignore
// eslint-disable-next-line max-len
import washIcon from '/node_modules/uswds/dist/img/usa-icons/wash.svg';
// markup // markup
const IndexPage = () => { const IndexPage = () => {
const readMoreList: (any | string)[][] = [
[publicIcon, 'Climate change'],
[ecoIcon, 'Clean energy and energy efficiency'],
[busIcon, 'Clean transit'],
[homeIcon, 'Affordable and sustainable housing'],
[groupsIcon, 'Training and workforce development'],
[pollutionIcon, 'Remediation of legacy pollution'],
[washIcon, 'Clean water infrastructure'],
];
return ( return (
<Layout> <Layout>
<main>
<h2>Subheader</h2> <main id="main-content" role="main">
<section className="grid-container">
<div className="grid-row grid-gap">
<div className="desktop:grid-col">
<div className="grid-row grid-gap">
<div
className="desktop:grid-col-10 \
usa-prose text-asset-container">
<h2>Our Team</h2>
<p>
In an effort to address historical environmental injustices,
President Biden created the Justice40 Initiative on January
27, 2021. The Justice40 Initiative directs 40% of the
benefits from federal investments in seven key areas to
overburdened and underserved communities.
</p>
<p>
Federal agencies will prioritize benefits using a new
climate and economic justice screening tool. This screening
tool will be a map that visualizes data to compare the
cumulative impacts of environmental, climate, and economic
factors. It is being developed by the Council on
Environmental Quality (CEQ) with guidance from environmental
justice leaders and communities affected by environmental
injustices. The first version of the screening tool will be
released in July 2021. However, the screening tool and data
being used will be continuously updated to better reflect
the lived experiences of community members.
</p>
<p>
Read more about the Justice40 Initiative in President
Bidens Executive Order on Tackling the Climate Crisis at
Home and Abroad.
</p>
</div>
</div>
<div className="tablet:grid-col-10">
<ul className="usa-icon-list j40-two-column">
{readMoreList.map((item, index) => {
return (
<li
key={`readmore_li_${index}`}
className="usa-icon-list__item">
<div className="usa-icon-list__icon">
<img
className="j40-two-column-icons-spacing"
key={`readmore_img_${index}`}
src={item[0]} alt={item[1] + ' icon'}/>
</div>
<div
className="usa-icon-list__content"> {item[1]} </div>
</li>
);
})
}
</ul>
</div>
<div className="grid-row grid-gap">
<div
className="desktop:grid-col-10 \
usa-prose text-asset-container">
<h3>A Transparent, Community-First Approach</h3>
<p>
Successful initiatives are guided by direct input from the
communities they are serving. CEQ
commits
to transparency, inclusivity, and iteration in building this
screening tool.
</p>
<p>
Transparent: The code and data behind the screening tool are
open source, meaning it is available
for the public to review and contribute to. This tool is
being developed publicly so that
communities,
academic experts, and anyone whos interested can be
involved in the tool-building process.
</p>
<p>
Inclusive: Many areas which lack investments also lack
environmental data and would be overlooked
using available environmental data. CEQ is actively reaching
out to groups that have historically
been excluded from decision-making, such as groups in rural
and tribal areas, to understand their
needs
and ask for their input.
</p>
<p>
Iterative: The initial community prioritization list
provided by the screening tool is the
beginning
of a collaborative process in score refinement, rather than
a final answer. CEQ has received
recommendations on data sets from community interviews, the
White House Environmental Justice
Advisory Council, and through public comment, but
establishing a score that is truly
representative
will be a long-term, ongoing process. As communities submit
feedback and recommendations, CEQ will
continue to improve the tools being built and the processes
for stakeholder and public engagement.
</p>
</div>
</div>
<div className="grid-row grid-gap">
<div
className="desktop:grid-col-10 \
usa-prose text-asset-container">
<h3>Timeline</h3>
<p>
[timeline image here]
</p>
<p>
Continuously engage with stakeholders and community members
to get feedback on the screening tool,
scoring, and overall process.
</p>
<p>
Continuously source data that meets data principles as
defined through community input.
</p>
</div>
</div>
</div>
{/* aside*/}
<aside
aria-labelledby="left-sidebar"
className="desktop:grid-col-2 usa-prose"
id="left-sidebar">
<h2 className={'usa-graphic-list__heading'}>Get Involved</h2>
<h3>
<img
className={'flex-align-self-center width-5'} src={chatIcon}
alt={'chat icon'}/>
<br/>
Send Feedback
</h3>
<p>Have ideas about how to
acknowledge the on-the-ground
experiences of your community?
</p>
Email: <a href="mailto: justice40open@usds.gov">
justice40open@usds.gov</a>
<p>&nbsp;</p>
<h3>
<img
className={'flex-align-self-center width-5'}
src={githubIcon} alt={'github icon'}/>
<br/>
Join the open source community</h3>
<p>
Justice40s code is open source, which means it is available for
the public to view and contribute.
Anyone can view and contribute on GitHub.
</p>
<p>
<a href={'https://github.com/usds/justice40-tool'}>Check it out
on GitHub</a></p>
</aside>
</div>
</section>
</main> </main>
</Layout> </Layout>
); );

View file

@ -1,2 +1,20 @@
@import "~@trussworks/react-uswds/lib/uswds.css";
@import "~@trussworks/react-uswds/lib/index.css"; @import "~@trussworks/react-uswds/lib/index.css";
@import "~@trussworks/react-uswds/lib/uswds.css";
.j40-two-column {
overflow: hidden;
column-count: 2;
column-gap: 1em;
padding: 0;
}
.j40-two-column > * {
display: inline-flex;
width: 90%;
padding-bottom: 1.5em;
padding-left: 1em;
}
.j40-two-column-icons-spacing {
padding-right: 1em;
}