From 40b9593a62f2fbe6496e4435ebe66591d6e2009d Mon Sep 17 00:00:00 2001 From: Vim USDS Date: Wed, 8 Jun 2022 10:34:57 -0700 Subject: [PATCH] Attempt to create reports with react-pdf - webpack config is documented here: - https://react-pdf.org/advanced --- client/gatsby-node.js | 23 + client/package-lock.json | 1515 ++++++++++++++--- client/package.json | 9 +- .../src/components/AreaDetail/AreaDetail.tsx | 41 + .../components/PDFRenderer/PDFRenderer.tsx | 171 ++ client/src/components/PDFRenderer/index.tsx | 3 + client/src/data/copy/explore.tsx | 19 + client/src/images/cejst-logo.png | Bin 0 -> 11498 bytes client/src/intl/en.json | 12 + client/src/pages/pdf.tsx | 31 + 10 files changed, 1630 insertions(+), 194 deletions(-) create mode 100644 client/src/components/PDFRenderer/PDFRenderer.tsx create mode 100644 client/src/components/PDFRenderer/index.tsx create mode 100644 client/src/images/cejst-logo.png create mode 100644 client/src/pages/pdf.tsx diff --git a/client/gatsby-node.js b/client/gatsby-node.js index 735a3a98..074aeb7c 100644 --- a/client/gatsby-node.js +++ b/client/gatsby-node.js @@ -1,4 +1,5 @@ path = require('path'); +const webpack = require('webpack'); // https://github.com/maplibre/maplibre-gl-js/issues/83#issuecomment-877012839 exports.onCreateWebpackConfig = ({stage, loaders, actions}) => { @@ -8,6 +9,28 @@ exports.onCreateWebpackConfig = ({stage, loaders, actions}) => { alias: { 'mapbox-gl': 'maplibre-gl', }, + fallback: { + module: 'empty', + dgram: 'empty', + dns: 'mock', + fs: 'empty', + http2: 'empty', + net: 'empty', + tls: 'empty', + child_process: 'empty', + process: require.resolve('process/browser'), + zlib: require.resolve('browserify-zlib'), + stream: require.resolve('stream-browserify'), + util: require.resolve('util'), + buffer: require.resolve('buffer'), + asset: require.resolve('assert'), + }, }, + plugins: [ + new webpack.ProvidePlugin({ + Buffer: ['buffer', 'Buffer'], + process: 'process/browser', + }), + ], }); }; diff --git a/client/package-lock.json b/client/package-lock.json index 7767109c..ce68afb2 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -10,15 +10,20 @@ "license": "CC0-1.0", "dependencies": { "-": "^0.0.1", + "@react-pdf/renderer": "^2.2.0", "@sentry/gatsby": "^6.19.1", "@trussworks/react-uswds": "^2.9.0", "@turf/bbox": "^6.5.0", + "assert": "^2.0.0", + "browserify-zlib": "^0.2.0", + "buffer": "^6.0.3", "d3-ease": "^3.0.1", "gatsby-plugin-env-variables": "^2.2.0", "gatsby-plugin-robots-txt": "^1.7.0", "gatsby-plugin-sitemap": "^4.10.0", "mapbox-gl": "^1.13.2", "maplibre-gl": "^1.14.0", + "process": "^0.11.10", "query-string": "^7.1.1", "react": "^17.0.2", "react-device-detect": "^1.17.0", @@ -27,7 +32,9 @@ "react-intl": "^5.24.7", "react-map-gl": "^6.1.19", "react-use": "^17.3.2", - "uswds": "^2.11.2" + "stream-browserify": "^3.0.0", + "uswds": "^2.11.2", + "util": "^0.12.4" }, "devDependencies": { "@formatjs/cli": "^4.8.2", @@ -3121,6 +3128,233 @@ "node": ">= 8" } }, + "node_modules/@react-pdf/fns": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-pdf/fns/-/fns-1.0.0.tgz", + "integrity": "sha512-jmksnPPeBj7Hl00aOc61wiwNQ0Ngms/tk6wVZq+r8xE5abvJAL9CEiehmlttNR+cUzAIf3eJT5DNvdWIZ2sEgg==" + }, + "node_modules/@react-pdf/font": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@react-pdf/font/-/font-2.2.0.tgz", + "integrity": "sha512-HQdInik1x/dyWMFhKV0kDZYKjVI2KpXMRjwBGFetl3YOZlxpa5hFqq6wmPjxfMLFqHHiWHcR2Dk15e/sGH0k8w==", + "dependencies": { + "@babel/runtime": "^7.16.4", + "@react-pdf/fontkit": "^2.1.0", + "@react-pdf/types": "^2.0.9", + "cross-fetch": "^3.1.5", + "is-url": "^1.2.4" + } + }, + "node_modules/@react-pdf/font/node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/@react-pdf/fontkit": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@react-pdf/fontkit/-/fontkit-2.1.1.tgz", + "integrity": "sha512-nWKvnaBPo0qlsmQ+/tQLiXu6u7VFdvQ/MoK0rf9kirxgjg2rqd7GogZ9/pjCHwTi1EfNOQdX6l4+l7o/ikb/Qg==", + "dependencies": { + "@babel/runtime": "^7.16.4", + "@react-pdf/unicode-properties": "^2.5.0", + "brotli": "^1.2.0", + "clone": "^1.0.4", + "deep-equal": "^1.0.0", + "dfa": "^1.2.0", + "restructure": "^0.5.3", + "tiny-inflate": "^1.0.2", + "unicode-trie": "^0.3.0" + } + }, + "node_modules/@react-pdf/image": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@react-pdf/image/-/image-2.1.1.tgz", + "integrity": "sha512-Uh9N1HBU5QGP1QxuIhpVES8FAQsSy2/IGrCHoCCzUUuvbUKf+Mezl3+gvaS4fkWbENPpZ9q6u2C3yL5IqRirsw==", + "dependencies": { + "@babel/runtime": "^7.16.4", + "@react-pdf/png-js": "^2.1.0", + "cross-fetch": "^3.1.5" + } + }, + "node_modules/@react-pdf/image/node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/@react-pdf/layout": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/layout/-/layout-3.1.0.tgz", + "integrity": "sha512-qjKr2gH1+D7nl04qff97AkItbmBYIuOfRoNe+Y/pAXvXSRD1CtfXiDbQ0VKyqDNj+SQ4jyaCD73tgDDZ2kZ72w==", + "dependencies": { + "@babel/runtime": "^7.16.4", + "@react-pdf/fns": "1.0.0", + "@react-pdf/image": "^2.1.1", + "@react-pdf/pdfkit": "^2.3.0", + "@react-pdf/primitives": "^3.0.0", + "@react-pdf/stylesheet": "^3.1.0", + "@react-pdf/textkit": "^3.0.0", + "@react-pdf/types": "^2.1.0", + "@react-pdf/yoga": "^2.0.4", + "cross-fetch": "^3.1.5", + "emoji-regex": "^8.0.0", + "queue": "^6.0.1" + } + }, + "node_modules/@react-pdf/layout/node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/@react-pdf/layout/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/@react-pdf/pdfkit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@react-pdf/pdfkit/-/pdfkit-2.3.0.tgz", + "integrity": "sha512-7XEa/YqlnSdCfDOvjAW9HI6NpsBcilAQMaC95T3b+rumiwlFbgeDVDml8kyhi6iF48Fd2rDSkShNNn37bqrQ1Q==", + "dependencies": { + "@babel/runtime": "^7.16.4", + "@react-pdf/fontkit": "^2.1.1", + "@react-pdf/png-js": "^2.1.0", + "crypto-js": "^4.0.0" + } + }, + "node_modules/@react-pdf/png-js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/png-js/-/png-js-2.1.0.tgz", + "integrity": "sha512-S5T5qGOlDK6VUJBVGkltNcPFEOWJW5FAD5IWkp9ATYPehC7L1d0CwuFlkFDaHh9ySmm46fKRHfn4YNQguq9gmw==" + }, + "node_modules/@react-pdf/primitives": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@react-pdf/primitives/-/primitives-3.0.1.tgz", + "integrity": "sha512-0HGcknrLNwyhxe+SZCBL29JY4M85mXKdvTZE9uhjNbADGgTc8wVnkc5+e4S/lDvugbVISXyuIhZnYwtK9eDnyQ==" + }, + "node_modules/@react-pdf/render": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/render/-/render-3.1.0.tgz", + "integrity": "sha512-x9UGIskQaCWW65y9IdBe0tnV0NtyR1rZU98CkWW59O+dmsm7qc95Cvhcu0Z555L5GeCOZG9a8wqtl81mBeW27Q==", + "dependencies": { + "@babel/runtime": "^7.16.4", + "@react-pdf/fns": "1.0.0", + "@react-pdf/primitives": "^3.0.0", + "@react-pdf/textkit": "^3.0.0", + "@react-pdf/types": "^2.1.0", + "abs-svg-path": "^0.1.1", + "color-string": "^1.5.3", + "normalize-svg-path": "^1.1.0", + "parse-svg-path": "^0.1.2", + "svg-arc-to-cubic-bezier": "^3.2.0" + } + }, + "node_modules/@react-pdf/renderer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@react-pdf/renderer/-/renderer-2.2.0.tgz", + "integrity": "sha512-szUKQWQ37Y56ZfQpip8dZ4gflQC1ubwRvoTghIWCFF8Ka8oG9mjI+tVBvc+cMuPsigOvUjrTLQtZvQ85EwXMGg==", + "dependencies": { + "@babel/runtime": "^7.16.4", + "@react-pdf/font": "^2.2.0", + "@react-pdf/layout": "^3.1.0", + "@react-pdf/pdfkit": "^2.3.0", + "@react-pdf/primitives": "^3.0.0", + "@react-pdf/render": "^3.1.0", + "@react-pdf/types": "^2.1.0", + "blob-stream": "^0.1.3", + "queue": "^6.0.1", + "react-reconciler": "^0.23.0", + "scheduler": "^0.17.0" + }, + "peerDependencies": { + "react": "^16.8.6 || ^17.0.0" + } + }, + "node_modules/@react-pdf/renderer/node_modules/react-reconciler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.23.0.tgz", + "integrity": "sha512-vV0KlLimP9a/NuRcM6GRVakkmT6MKSzhfo8K72fjHMnlXMOhz9GlPe+/tCp5CWBkg+lsMUt/CR1nypJBTPfwuw==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.17.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^16.0.0" + } + }, + "node_modules/@react-pdf/renderer/node_modules/scheduler": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.17.0.tgz", + "integrity": "sha512-7rro8Io3tnCPuY4la/NuI5F2yfESpnfZyT6TtkXnSWVkcu0BCDJ+8gk5ozUaFaxpIyNuWAPXrH0yFcSi28fnDA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@react-pdf/stylesheet": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/stylesheet/-/stylesheet-3.1.0.tgz", + "integrity": "sha512-HfYvMtBxlRS3QMOKJWiwYAOhZ18pL5brpF9TLLXLgSTijxa3dw7SzLkQzXO1gx2CF9IhgFPWyydsfjnjiaVZfQ==", + "dependencies": { + "@babel/runtime": "^7.16.4", + "@react-pdf/fns": "1.0.0", + "@react-pdf/types": "^2.1.0", + "color-string": "^1.5.3", + "hsl-to-hex": "^1.0.0", + "media-engine": "^1.0.3", + "postcss-value-parser": "^4.1.0" + } + }, + "node_modules/@react-pdf/textkit": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-pdf/textkit/-/textkit-3.0.0.tgz", + "integrity": "sha512-StCgtgZQE62+DhHo3AIBpGWXQOtVlGGWRxn9B8yuavWJvPEaw4SSxGK7PLdzuzDeR5M5K6LGRgAx8X3AEADtSQ==", + "dependencies": { + "@babel/runtime": "^7.16.4", + "@react-pdf/fns": "1.0.0", + "@react-pdf/unicode-properties": "^2.6.0", + "hyphen": "^1.6.4" + } + }, + "node_modules/@react-pdf/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/types/-/types-2.1.0.tgz", + "integrity": "sha512-PmmcPFlehRmLEE7p5bhapNya1NS3lV77dRNs9YEf1wNVbKsf10cF4yXDq813cNwm2YYIhCIgaU98O5GBBxMZaQ==" + }, + "node_modules/@react-pdf/unicode-properties": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@react-pdf/unicode-properties/-/unicode-properties-2.6.0.tgz", + "integrity": "sha512-9udElnd75FS+2tSyKlVmSifQ7Qf7eH4TivgiKflAMiw3MpsoSvuMPDVAjzi4VppymMdondi6k4Au8JCHQuc0/A==", + "dependencies": { + "unicode-trie": "^0.3.0" + } + }, + "node_modules/@react-pdf/yoga": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@react-pdf/yoga/-/yoga-2.0.4.tgz", + "integrity": "sha512-bsU48GQ8E4LEQ38AtyQPQZ9oEATMpolGPFewgI4sBXOZBNH2miLtoBTbyB/xEOMuBcyqtvJQwSNg2czSZjrlyQ==", + "dependencies": { + "@types/yoga-layout": "^1.9.3" + } + }, + "node_modules/@react-pdf/yoga/node_modules/@types/yoga-layout": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/yoga-layout/-/yoga-layout-1.9.4.tgz", + "integrity": "sha512-RRHc1+8Hc5mf/2lZKnom6kCnqcNS07s8keahniWTOva0KELF6RgDJmaEcvGEKUUJgN4UgessmEsWuidaOycIOw==" + }, "node_modules/@sentry/browser": { "version": "6.19.1", "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.19.1.tgz", @@ -4630,6 +4864,11 @@ "node": ">=6.5" } }, + "node_modules/abs-svg-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", + "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==" + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -4774,6 +5013,15 @@ "ajv": "^6.9.1" } }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "optional": true, + "engines": { + "node": ">=0.4.2" + } + }, "node_modules/anser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/anser/-/anser-2.1.1.tgz", @@ -5100,13 +5348,14 @@ "dev": true }, "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", + "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "es6-object-assign": "^1.1.0", + "is-nan": "^1.2.1", + "object-is": "^1.0.1", + "util": "^0.12.0" } }, "node_modules/assert-plus": { @@ -5118,21 +5367,6 @@ "node": ">=0.8" } }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, "node_modules/assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", @@ -5161,6 +5395,84 @@ "node": ">=0.10.0" } }, + "node_modules/ast-transform": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/ast-transform/-/ast-transform-0.0.0.tgz", + "integrity": "sha512-e/JfLiSoakfmL4wmTGPjv0HpTICVmxwXgYOB8x+mzozHL8v+dSfCbrJ8J8hJ0YBP0XcYu1aLZ6b/3TnxNK3P2A==", + "dependencies": { + "escodegen": "~1.2.0", + "esprima": "~1.0.4", + "through": "~2.3.4" + } + }, + "node_modules/ast-transform/node_modules/escodegen": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.2.0.tgz", + "integrity": "sha512-yLy3Cc+zAC0WSmoT2fig3J87TpQ8UaZGx8ahCAs9FL8qNbyV7CVyPKS74DG4bsHiL5ew9sxdYx131OkBQMFnvA==", + "dependencies": { + "esprima": "~1.0.4", + "estraverse": "~1.5.0", + "esutils": "~1.0.0" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.4.0" + }, + "optionalDependencies": { + "source-map": "~0.1.30" + } + }, + "node_modules/ast-transform/node_modules/esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ast-transform/node_modules/estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ast-transform/node_modules/esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-transform/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ast-types": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz", + "integrity": "sha512-RIOpVnVlltB6PcBJ5BMLx+H+6JJ/zjDGU0t7f0L6c2M1dqcK92VQopLBlPQ9R80AVXelfqYgjcPLtHtDbNFg0Q==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", @@ -5253,7 +5565,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -5758,6 +6069,19 @@ "node": ">= 6" } }, + "node_modules/blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha512-YRc9zvVz4wNaxcXmiSgb9LAg7YYwqQ2xd0Sj6osfA7k/PKmIGVlnOYs3wOFdkRC9/JpQu8sGt/zHgJV7xzerfg==" + }, + "node_modules/blob-stream": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/blob-stream/-/blob-stream-0.1.3.tgz", + "integrity": "sha512-xXwyhgVmPsFVFFvtM5P0syI17/oae+MIjLn5jGhuD86mmSJ61EWMWmbPrV/0+bdcH9jQ2CzIhmTQKNUJL7IPog==", + "dependencies": { + "blob": "0.0.4" + } + }, "node_modules/blob-util": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", @@ -5891,6 +6215,14 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, + "node_modules/brotli": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz", + "integrity": "sha512-K0HNa0RRpUpcF8yS4yNSd6vmkrvA+wRd+symIcwhfqGLAi7YgGlKfO4oDYVgiahiLGNviO9uY7Zlb1MCPeTmSA==", + "dependencies": { + "base64-js": "^1.1.2" + } + }, "node_modules/browser-lang": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/browser-lang/-/browser-lang-0.1.0.tgz", @@ -6028,6 +6360,29 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/browserify-optional": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-optional/-/browserify-optional-1.0.1.tgz", + "integrity": "sha512-VrhjbZ+Ba5mDiSYEuPelekQMfTbhcA2DhLk2VQWqdcCROWeFqlTcXZ7yfRkXCIl8E+g4gINJYJiRB7WEtfomAQ==", + "dependencies": { + "ast-transform": "0.0.0", + "ast-types": "^0.7.0", + "browser-resolve": "^1.8.1" + } + }, + "node_modules/browserify-optional/node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dependencies": { + "resolve": "1.1.7" + } + }, + "node_modules/browserify-optional/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==" + }, "node_modules/browserify-rsa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", @@ -6093,11 +6448,70 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, "dependencies": { "pako": "~1.0.5" } }, + "node_modules/browserify/node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/browserify/node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "node_modules/browserify/node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/browserify/node_modules/buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "node_modules/browserify/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/browserify/node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/browserify/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, "node_modules/browserslist": { "version": "4.20.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", @@ -6148,13 +6562,26 @@ } }, "node_modules/buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "dev": true, + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, "node_modules/buffer-crc32": { @@ -6871,6 +7298,14 @@ "node": ">=8" } }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", @@ -6979,6 +7414,15 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "node_modules/colord": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", @@ -7511,6 +7955,11 @@ "node": "*" } }, + "node_modules/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, "node_modules/crypto-random-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", @@ -8296,6 +8745,22 @@ "node": ">=0.12" } }, + "node_modules/deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -8622,6 +9087,11 @@ "wrappy": "1" } }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==" + }, "node_modules/dicer": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", @@ -9221,6 +9691,11 @@ "type": "^1.0.1" } }, + "node_modules/es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==" + }, "node_modules/es6-symbol": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", @@ -10975,8 +11450,7 @@ "node_modules/foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, "node_modules/forever-agent": { "version": "0.6.1", @@ -13316,6 +13790,19 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, + "node_modules/hsl-to-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-to-hex/-/hsl-to-hex-1.0.0.tgz", + "integrity": "sha512-K6GVpucS5wFf44X0h2bLVRDsycgJmf9FF2elg+CrqD8GcFU8c6vYhgXn8NjUkFCwj+xDFb70qgLbTUm6sxwPmA==", + "dependencies": { + "hsl-to-rgb-for-reals": "^1.1.0" + } + }, + "node_modules/hsl-to-rgb-for-reals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/hsl-to-rgb-for-reals/-/hsl-to-rgb-for-reals-1.1.1.tgz", + "integrity": "sha512-LgOWAkrN0rFaQpfdWBQlv/VhkOxb5AsBjk6NQVx4yEzWS923T07X0M1Y0VNko2H52HeSpZrZNNMJ0aFqsdVzQg==" + }, "node_modules/html-encoding-sniffer": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", @@ -13481,6 +13968,11 @@ "url": "https://github.com/sponsors/typicode" } }, + "node_modules/hyphen": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/hyphen/-/hyphen-1.6.4.tgz", + "integrity": "sha512-nWwvXceFMAFIjkiRzqZMZSOa1LVngieSolnYIVKWSwmDwMSmdutjzqImmdbxe2eUCfX693fgrCgtPjbllqx1lA==" + }, "node_modules/hyphenate-style-name": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", @@ -13870,7 +14362,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -14085,7 +14576,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -14161,6 +14651,21 @@ "node": ">=0.10.0" } }, + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -14360,7 +14865,6 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", - "dev": true, "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -17045,6 +17549,11 @@ "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.3.tgz", "integrity": "sha512-88ZRGcNxAq4EH38cQ4D85PM57pikCwS8Z99EWHODxN7KBY+UuPiqzRTtZzS8KTXO/ywSWbdjjJST2Hly/EQxLw==" }, + "node_modules/media-engine": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/media-engine/-/media-engine-1.0.3.tgz", + "integrity": "sha512-aa5tG6sDoK+k70B9iEX1NeyfT8ObCKhNDs6lJVpwF6r8vhUfuKMslIcirq6HIUYuuUYLefcEQOn9bSBOvawtwg==" + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -18294,6 +18803,14 @@ "node": ">=0.10.0" } }, + "node_modules/normalize-svg-path": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", + "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", + "dependencies": { + "svg-arc-to-cubic-bezier": "^3.0.0" + } + }, "node_modules/normalize-url": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", @@ -18488,6 +19005,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -19003,8 +19535,7 @@ "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, "node_modules/parent-module": { "version": "1.0.1", @@ -19117,6 +19648,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-svg-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", + "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==" + }, "node_modules/parse-url": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz", @@ -20145,8 +20681,7 @@ "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "engines": { "node": ">= 0.6.0" } @@ -20324,6 +20859,14 @@ "node": ">=0.4.x" } }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -22032,6 +22575,14 @@ "node": ">=8" } }, + "node_modules/restructure": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-0.5.4.tgz", + "integrity": "sha512-wgNbkrlRpj0NarhUyiCfOXlu8DybDIYRV7MOieKGOl16N7NmAkjTtPhn2F4CBOsyRL8m6RWZLSzjJVVPAkJuiw==", + "dependencies": { + "browserify-optional": "^1.0.0" + } + }, "node_modules/ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", @@ -22634,6 +23185,19 @@ } ] }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, "node_modules/single-trailing-newline": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/single-trailing-newline/-/single-trailing-newline-1.0.0.tgz", @@ -23337,13 +23901,25 @@ } }, "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, "node_modules/stream-combiner2": { @@ -23780,6 +24356,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-arc-to-cubic-bezier": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", + "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==" + }, "node_modules/svgo": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", @@ -24179,6 +24760,11 @@ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, "node_modules/tinyqueue": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", @@ -24790,6 +25376,20 @@ "node": ">=4" } }, + "node_modules/unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unicode-trie/node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" + }, "node_modules/unified": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", @@ -25309,12 +25909,16 @@ } }, "node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", + "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", "dependencies": { - "inherits": "2.0.3" + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" } }, "node_modules/util-arity": { @@ -25334,12 +25938,6 @@ "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=", "dev": true }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", @@ -25686,6 +26284,31 @@ "node": ">= 8.10.0" } }, + "node_modules/watchify/node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/watchify/node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "node_modules/watchify/node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, "node_modules/watchify/node_modules/browserify": { "version": "17.0.0", "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", @@ -25758,6 +26381,16 @@ "xtend": "~4.0.1" } }, + "node_modules/watchify/node_modules/buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, "node_modules/watchify/node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", @@ -25773,30 +26406,6 @@ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "dev": true }, - "node_modules/watchify/node_modules/stream-browserify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", - "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", - "dev": true, - "dependencies": { - "inherits": "~2.0.4", - "readable-stream": "^3.5.0" - } - }, - "node_modules/watchify/node_modules/stream-browserify/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/watchify/node_modules/through2": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", @@ -25820,20 +26429,6 @@ "node": ">= 6" } }, - "node_modules/watchify/node_modules/util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } - }, "node_modules/watchpack": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", @@ -26112,7 +26707,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", - "dev": true, "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -28784,6 +29378,234 @@ } } }, + "@react-pdf/fns": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-pdf/fns/-/fns-1.0.0.tgz", + "integrity": "sha512-jmksnPPeBj7Hl00aOc61wiwNQ0Ngms/tk6wVZq+r8xE5abvJAL9CEiehmlttNR+cUzAIf3eJT5DNvdWIZ2sEgg==" + }, + "@react-pdf/font": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@react-pdf/font/-/font-2.2.0.tgz", + "integrity": "sha512-HQdInik1x/dyWMFhKV0kDZYKjVI2KpXMRjwBGFetl3YOZlxpa5hFqq6wmPjxfMLFqHHiWHcR2Dk15e/sGH0k8w==", + "requires": { + "@babel/runtime": "^7.16.4", + "@react-pdf/fontkit": "^2.1.0", + "@react-pdf/types": "^2.0.9", + "cross-fetch": "^3.1.5", + "is-url": "^1.2.4" + }, + "dependencies": { + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "requires": { + "node-fetch": "2.6.7" + } + } + } + }, + "@react-pdf/fontkit": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@react-pdf/fontkit/-/fontkit-2.1.1.tgz", + "integrity": "sha512-nWKvnaBPo0qlsmQ+/tQLiXu6u7VFdvQ/MoK0rf9kirxgjg2rqd7GogZ9/pjCHwTi1EfNOQdX6l4+l7o/ikb/Qg==", + "requires": { + "@babel/runtime": "^7.16.4", + "@react-pdf/unicode-properties": "^2.5.0", + "brotli": "^1.2.0", + "clone": "^1.0.4", + "deep-equal": "^1.0.0", + "dfa": "^1.2.0", + "restructure": "^0.5.3", + "tiny-inflate": "^1.0.2", + "unicode-trie": "^0.3.0" + } + }, + "@react-pdf/image": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@react-pdf/image/-/image-2.1.1.tgz", + "integrity": "sha512-Uh9N1HBU5QGP1QxuIhpVES8FAQsSy2/IGrCHoCCzUUuvbUKf+Mezl3+gvaS4fkWbENPpZ9q6u2C3yL5IqRirsw==", + "requires": { + "@babel/runtime": "^7.16.4", + "@react-pdf/png-js": "^2.1.0", + "cross-fetch": "^3.1.5" + }, + "dependencies": { + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "requires": { + "node-fetch": "2.6.7" + } + } + } + }, + "@react-pdf/layout": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/layout/-/layout-3.1.0.tgz", + "integrity": "sha512-qjKr2gH1+D7nl04qff97AkItbmBYIuOfRoNe+Y/pAXvXSRD1CtfXiDbQ0VKyqDNj+SQ4jyaCD73tgDDZ2kZ72w==", + "requires": { + "@babel/runtime": "^7.16.4", + "@react-pdf/fns": "1.0.0", + "@react-pdf/image": "^2.1.1", + "@react-pdf/pdfkit": "^2.3.0", + "@react-pdf/primitives": "^3.0.0", + "@react-pdf/stylesheet": "^3.1.0", + "@react-pdf/textkit": "^3.0.0", + "@react-pdf/types": "^2.1.0", + "@react-pdf/yoga": "^2.0.4", + "cross-fetch": "^3.1.5", + "emoji-regex": "^8.0.0", + "queue": "^6.0.1" + }, + "dependencies": { + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "requires": { + "node-fetch": "2.6.7" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + } + } + }, + "@react-pdf/pdfkit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@react-pdf/pdfkit/-/pdfkit-2.3.0.tgz", + "integrity": "sha512-7XEa/YqlnSdCfDOvjAW9HI6NpsBcilAQMaC95T3b+rumiwlFbgeDVDml8kyhi6iF48Fd2rDSkShNNn37bqrQ1Q==", + "requires": { + "@babel/runtime": "^7.16.4", + "@react-pdf/fontkit": "^2.1.1", + "@react-pdf/png-js": "^2.1.0", + "crypto-js": "^4.0.0" + } + }, + "@react-pdf/png-js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/png-js/-/png-js-2.1.0.tgz", + "integrity": "sha512-S5T5qGOlDK6VUJBVGkltNcPFEOWJW5FAD5IWkp9ATYPehC7L1d0CwuFlkFDaHh9ySmm46fKRHfn4YNQguq9gmw==" + }, + "@react-pdf/primitives": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@react-pdf/primitives/-/primitives-3.0.1.tgz", + "integrity": "sha512-0HGcknrLNwyhxe+SZCBL29JY4M85mXKdvTZE9uhjNbADGgTc8wVnkc5+e4S/lDvugbVISXyuIhZnYwtK9eDnyQ==" + }, + "@react-pdf/render": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/render/-/render-3.1.0.tgz", + "integrity": "sha512-x9UGIskQaCWW65y9IdBe0tnV0NtyR1rZU98CkWW59O+dmsm7qc95Cvhcu0Z555L5GeCOZG9a8wqtl81mBeW27Q==", + "requires": { + "@babel/runtime": "^7.16.4", + "@react-pdf/fns": "1.0.0", + "@react-pdf/primitives": "^3.0.0", + "@react-pdf/textkit": "^3.0.0", + "@react-pdf/types": "^2.1.0", + "abs-svg-path": "^0.1.1", + "color-string": "^1.5.3", + "normalize-svg-path": "^1.1.0", + "parse-svg-path": "^0.1.2", + "svg-arc-to-cubic-bezier": "^3.2.0" + } + }, + "@react-pdf/renderer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@react-pdf/renderer/-/renderer-2.2.0.tgz", + "integrity": "sha512-szUKQWQ37Y56ZfQpip8dZ4gflQC1ubwRvoTghIWCFF8Ka8oG9mjI+tVBvc+cMuPsigOvUjrTLQtZvQ85EwXMGg==", + "requires": { + "@babel/runtime": "^7.16.4", + "@react-pdf/font": "^2.2.0", + "@react-pdf/layout": "^3.1.0", + "@react-pdf/pdfkit": "^2.3.0", + "@react-pdf/primitives": "^3.0.0", + "@react-pdf/render": "^3.1.0", + "@react-pdf/types": "^2.1.0", + "blob-stream": "^0.1.3", + "queue": "^6.0.1", + "react-reconciler": "^0.23.0", + "scheduler": "^0.17.0" + }, + "dependencies": { + "react-reconciler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.23.0.tgz", + "integrity": "sha512-vV0KlLimP9a/NuRcM6GRVakkmT6MKSzhfo8K72fjHMnlXMOhz9GlPe+/tCp5CWBkg+lsMUt/CR1nypJBTPfwuw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.17.0" + } + }, + "scheduler": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.17.0.tgz", + "integrity": "sha512-7rro8Io3tnCPuY4la/NuI5F2yfESpnfZyT6TtkXnSWVkcu0BCDJ+8gk5ozUaFaxpIyNuWAPXrH0yFcSi28fnDA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "@react-pdf/stylesheet": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/stylesheet/-/stylesheet-3.1.0.tgz", + "integrity": "sha512-HfYvMtBxlRS3QMOKJWiwYAOhZ18pL5brpF9TLLXLgSTijxa3dw7SzLkQzXO1gx2CF9IhgFPWyydsfjnjiaVZfQ==", + "requires": { + "@babel/runtime": "^7.16.4", + "@react-pdf/fns": "1.0.0", + "@react-pdf/types": "^2.1.0", + "color-string": "^1.5.3", + "hsl-to-hex": "^1.0.0", + "media-engine": "^1.0.3", + "postcss-value-parser": "^4.1.0" + } + }, + "@react-pdf/textkit": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-pdf/textkit/-/textkit-3.0.0.tgz", + "integrity": "sha512-StCgtgZQE62+DhHo3AIBpGWXQOtVlGGWRxn9B8yuavWJvPEaw4SSxGK7PLdzuzDeR5M5K6LGRgAx8X3AEADtSQ==", + "requires": { + "@babel/runtime": "^7.16.4", + "@react-pdf/fns": "1.0.0", + "@react-pdf/unicode-properties": "^2.6.0", + "hyphen": "^1.6.4" + } + }, + "@react-pdf/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/types/-/types-2.1.0.tgz", + "integrity": "sha512-PmmcPFlehRmLEE7p5bhapNya1NS3lV77dRNs9YEf1wNVbKsf10cF4yXDq813cNwm2YYIhCIgaU98O5GBBxMZaQ==" + }, + "@react-pdf/unicode-properties": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@react-pdf/unicode-properties/-/unicode-properties-2.6.0.tgz", + "integrity": "sha512-9udElnd75FS+2tSyKlVmSifQ7Qf7eH4TivgiKflAMiw3MpsoSvuMPDVAjzi4VppymMdondi6k4Au8JCHQuc0/A==", + "requires": { + "unicode-trie": "^0.3.0" + } + }, + "@react-pdf/yoga": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@react-pdf/yoga/-/yoga-2.0.4.tgz", + "integrity": "sha512-bsU48GQ8E4LEQ38AtyQPQZ9oEATMpolGPFewgI4sBXOZBNH2miLtoBTbyB/xEOMuBcyqtvJQwSNg2czSZjrlyQ==", + "requires": { + "@types/yoga-layout": "^1.9.3" + }, + "dependencies": { + "@types/yoga-layout": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/yoga-layout/-/yoga-layout-1.9.4.tgz", + "integrity": "sha512-RRHc1+8Hc5mf/2lZKnom6kCnqcNS07s8keahniWTOva0KELF6RgDJmaEcvGEKUUJgN4UgessmEsWuidaOycIOw==" + } + } + }, "@sentry/browser": { "version": "6.19.1", "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.19.1.tgz", @@ -30095,6 +30917,11 @@ "event-target-shim": "^5.0.0" } }, + "abs-svg-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", + "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==" + }, "accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -30204,6 +31031,12 @@ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "requires": {} }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "optional": true + }, "anser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/anser/-/anser-2.1.1.tgz", @@ -30442,30 +31275,14 @@ } }, "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", + "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } + "es6-object-assign": "^1.1.0", + "is-nan": "^1.2.1", + "object-is": "^1.0.1", + "util": "^0.12.0" } }, "assert-plus": { @@ -30496,6 +31313,58 @@ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" }, + "ast-transform": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/ast-transform/-/ast-transform-0.0.0.tgz", + "integrity": "sha512-e/JfLiSoakfmL4wmTGPjv0HpTICVmxwXgYOB8x+mzozHL8v+dSfCbrJ8J8hJ0YBP0XcYu1aLZ6b/3TnxNK3P2A==", + "requires": { + "escodegen": "~1.2.0", + "esprima": "~1.0.4", + "through": "~2.3.4" + }, + "dependencies": { + "escodegen": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.2.0.tgz", + "integrity": "sha512-yLy3Cc+zAC0WSmoT2fig3J87TpQ8UaZGx8ahCAs9FL8qNbyV7CVyPKS74DG4bsHiL5ew9sxdYx131OkBQMFnvA==", + "requires": { + "esprima": "~1.0.4", + "estraverse": "~1.5.0", + "esutils": "~1.0.0", + "source-map": "~0.1.30" + } + }, + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==" + }, + "estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==" + }, + "esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==" + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "ast-types": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz", + "integrity": "sha512-RIOpVnVlltB6PcBJ5BMLx+H+6JJ/zjDGU0t7f0L6c2M1dqcK92VQopLBlPQ9R80AVXelfqYgjcPLtHtDbNFg0Q==" + }, "ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", @@ -30555,8 +31424,7 @@ "available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "aws-sign2": { "version": "0.7.0", @@ -30940,6 +31808,19 @@ } } }, + "blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha512-YRc9zvVz4wNaxcXmiSgb9LAg7YYwqQ2xd0Sj6osfA7k/PKmIGVlnOYs3wOFdkRC9/JpQu8sGt/zHgJV7xzerfg==" + }, + "blob-stream": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/blob-stream/-/blob-stream-0.1.3.tgz", + "integrity": "sha512-xXwyhgVmPsFVFFvtM5P0syI17/oae+MIjLn5jGhuD86mmSJ61EWMWmbPrV/0+bdcH9jQ2CzIhmTQKNUJL7IPog==", + "requires": { + "blob": "0.0.4" + } + }, "blob-util": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", @@ -31053,6 +31934,14 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, + "brotli": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz", + "integrity": "sha512-K0HNa0RRpUpcF8yS4yNSd6vmkrvA+wRd+symIcwhfqGLAi7YgGlKfO4oDYVgiahiLGNviO9uY7Zlb1MCPeTmSA==", + "requires": { + "base64-js": "^1.1.2" + } + }, "browser-lang": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/browser-lang/-/browser-lang-0.1.0.tgz", @@ -31142,6 +32031,70 @@ "util": "~0.10.1", "vm-browserify": "^1.0.0", "xtend": "^4.0.0" + }, + "dependencies": { + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + } } }, "browserify-aes": { @@ -31181,6 +32134,31 @@ "safe-buffer": "^5.1.2" } }, + "browserify-optional": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-optional/-/browserify-optional-1.0.1.tgz", + "integrity": "sha512-VrhjbZ+Ba5mDiSYEuPelekQMfTbhcA2DhLk2VQWqdcCROWeFqlTcXZ7yfRkXCIl8E+g4gINJYJiRB7WEtfomAQ==", + "requires": { + "ast-transform": "0.0.0", + "ast-types": "^0.7.0", + "browser-resolve": "^1.8.1" + }, + "dependencies": { + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "requires": { + "resolve": "1.1.7" + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==" + } + } + }, "browserify-rsa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", @@ -31231,7 +32209,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, "requires": { "pako": "~1.0.5" } @@ -31267,13 +32244,12 @@ } }, "buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "dev": true, + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, "buffer-crc32": { @@ -31824,6 +32800,11 @@ } } }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" + }, "clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", @@ -31902,6 +32883,15 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "colord": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", @@ -32341,6 +33331,11 @@ "randomfill": "^1.0.3" } }, + "crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, "crypto-random-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", @@ -32937,6 +33932,19 @@ "type-detect": "^4.0.0" } }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -33209,6 +34217,11 @@ "wrappy": "1" } }, + "dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==" + }, "dicer": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", @@ -33694,6 +34707,11 @@ } } }, + "es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==" + }, "es6-symbol": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", @@ -35006,8 +36024,7 @@ "foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, "forever-agent": { "version": "0.6.1", @@ -36794,6 +37811,19 @@ } } }, + "hsl-to-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-to-hex/-/hsl-to-hex-1.0.0.tgz", + "integrity": "sha512-K6GVpucS5wFf44X0h2bLVRDsycgJmf9FF2elg+CrqD8GcFU8c6vYhgXn8NjUkFCwj+xDFb70qgLbTUm6sxwPmA==", + "requires": { + "hsl-to-rgb-for-reals": "^1.1.0" + } + }, + "hsl-to-rgb-for-reals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/hsl-to-rgb-for-reals/-/hsl-to-rgb-for-reals-1.1.1.tgz", + "integrity": "sha512-LgOWAkrN0rFaQpfdWBQlv/VhkOxb5AsBjk6NQVx4yEzWS923T07X0M1Y0VNko2H52HeSpZrZNNMJ0aFqsdVzQg==" + }, "html-encoding-sniffer": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", @@ -36916,6 +37946,11 @@ "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", "dev": true }, + "hyphen": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/hyphen/-/hyphen-1.6.4.tgz", + "integrity": "sha512-nWwvXceFMAFIjkiRzqZMZSOa1LVngieSolnYIVKWSwmDwMSmdutjzqImmdbxe2eUCfX693fgrCgtPjbllqx1lA==" + }, "hyphenate-style-name": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", @@ -37207,7 +38242,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -37354,7 +38388,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -37404,6 +38437,15 @@ } } }, + "is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -37534,7 +38576,6 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", - "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -39649,6 +40690,11 @@ "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.3.tgz", "integrity": "sha512-88ZRGcNxAq4EH38cQ4D85PM57pikCwS8Z99EWHODxN7KBY+UuPiqzRTtZzS8KTXO/ywSWbdjjJST2Hly/EQxLw==" }, + "media-engine": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/media-engine/-/media-engine-1.0.3.tgz", + "integrity": "sha512-aa5tG6sDoK+k70B9iEX1NeyfT8ObCKhNDs6lJVpwF6r8vhUfuKMslIcirq6HIUYuuUYLefcEQOn9bSBOvawtwg==" + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -40499,6 +41545,14 @@ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" }, + "normalize-svg-path": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", + "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", + "requires": { + "svg-arc-to-cubic-bezier": "^3.0.0" + } + }, "normalize-url": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", @@ -40640,6 +41694,15 @@ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -41019,8 +42082,7 @@ "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, "parent-module": { "version": "1.0.1", @@ -41110,6 +42172,11 @@ } } }, + "parse-svg-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", + "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==" + }, "parse-url": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz", @@ -41804,8 +42871,7 @@ "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" }, "process-nextick-args": { "version": "2.0.1", @@ -41954,6 +43020,14 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, + "queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "requires": { + "inherits": "~2.0.3" + } + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -43291,6 +44365,14 @@ "signal-exit": "^3.0.2" } }, + "restructure": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-0.5.4.tgz", + "integrity": "sha512-wgNbkrlRpj0NarhUyiCfOXlu8DybDIYRV7MOieKGOl16N7NmAkjTtPhn2F4CBOsyRL8m6RWZLSzjJVVPAkJuiw==", + "requires": { + "browserify-optional": "^1.0.0" + } + }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", @@ -43753,6 +44835,21 @@ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, "single-trailing-newline": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/single-trailing-newline/-/single-trailing-newline-1.0.0.tgz", @@ -44332,13 +45429,24 @@ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "stream-combiner2": { @@ -44670,6 +45778,11 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, + "svg-arc-to-cubic-bezier": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", + "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==" + }, "svgo": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", @@ -44958,6 +46071,11 @@ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" }, + "tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, "tinyqueue": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", @@ -45401,6 +46519,22 @@ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" }, + "unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", + "requires": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + }, + "dependencies": { + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" + } + } + }, "unified": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", @@ -45780,20 +46914,16 @@ } }, "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", + "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" } }, "util-arity": { @@ -46069,6 +47199,33 @@ "xtend": "^4.0.2" }, "dependencies": { + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, "browserify": { "version": "17.0.0", "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", @@ -46137,6 +47294,16 @@ } } }, + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, "events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", @@ -46149,29 +47316,6 @@ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "dev": true }, - "stream-browserify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", - "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", - "dev": true, - "requires": { - "inherits": "~2.0.4", - "readable-stream": "^3.5.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "through2": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", @@ -46193,20 +47337,6 @@ } } } - }, - "util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } } } }, @@ -46419,7 +47549,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", - "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", diff --git a/client/package.json b/client/package.json index 7f079e2e..190abc19 100644 --- a/client/package.json +++ b/client/package.json @@ -75,15 +75,20 @@ }, "dependencies": { "-": "^0.0.1", + "@react-pdf/renderer": "^2.2.0", "@sentry/gatsby": "^6.19.1", "@trussworks/react-uswds": "^2.9.0", "@turf/bbox": "^6.5.0", + "assert": "^2.0.0", + "browserify-zlib": "^0.2.0", + "buffer": "^6.0.3", "d3-ease": "^3.0.1", "gatsby-plugin-env-variables": "^2.2.0", "gatsby-plugin-robots-txt": "^1.7.0", "gatsby-plugin-sitemap": "^4.10.0", "mapbox-gl": "^1.13.2", "maplibre-gl": "^1.14.0", + "process": "^0.11.10", "query-string": "^7.1.1", "react": "^17.0.2", "react-device-detect": "^1.17.0", @@ -92,7 +97,9 @@ "react-intl": "^5.24.7", "react-map-gl": "^6.1.19", "react-use": "^17.3.2", - "uswds": "^2.11.2" + "stream-browserify": "^3.0.0", + "uswds": "^2.11.2", + "util": "^0.12.4" }, "cypress-cucumber-preprocessor": { "nonGlobalStepDefinitions": false diff --git a/client/src/components/AreaDetail/AreaDetail.tsx b/client/src/components/AreaDetail/AreaDetail.tsx index 82bacb05..e82f8e88 100644 --- a/client/src/components/AreaDetail/AreaDetail.tsx +++ b/client/src/components/AreaDetail/AreaDetail.tsx @@ -3,12 +3,14 @@ import React from 'react'; import {useIntl} from 'gatsby-plugin-intl'; import {Accordion, Button} from '@trussworks/react-uswds'; +import {PDFDownloadLink} from '@react-pdf/renderer'; // Components: import Category from '../Category'; import DisadvantageDot from '../DisadvantageDot'; import ExceedBurden from '../ExceedBurden'; import Indicator from '../Indicator'; +import PDFRenderer from '../PDFRenderer'; // Styles and constants import * as styles from './areaDetail.module.scss'; @@ -18,6 +20,8 @@ import * as COMMON_COPY from '../../data/copy/common'; // @ts-ignore import mailIcon from '/node_modules/uswds/dist/img/usa-icons/mail_outline.svg'; +// @ts-ignore +import fileDownload from '/node_modules/uswds/dist/img/usa-icons/file_download.svg'; interface IAreaDetailProps { properties: constants.J40Properties, @@ -602,6 +606,8 @@ const AreaDetail = ({properties, hash}: IAreaDetailProps) => { {/*
{EXPLORE_COPY.numberOfThresholdsExceeded(properties[constants.TOTAL_NUMBER_OF_DISADVANTAGE_INDICATORS])}
*/} + + {/* Send Feedback button */} { + + {/* Download Report */} + {/* Todo VS: Styling names need to be made generic */} + } fileName="document"> + {({loading}) => + loading ? ( + + ) : ( + + )} + + {/* All category accordions in this component */} diff --git a/client/src/components/PDFRenderer/PDFRenderer.tsx b/client/src/components/PDFRenderer/PDFRenderer.tsx new file mode 100644 index 00000000..c8dae661 --- /dev/null +++ b/client/src/components/PDFRenderer/PDFRenderer.tsx @@ -0,0 +1,171 @@ +import React from 'react'; +import {Page, Image, View, Text, Document, StyleSheet} from '@react-pdf/renderer'; +// import {useIntl} from 'gatsby-plugin-intl'; + +// import {LocalizedComponent} from '../../test/testHelpers'; + +import cejstLogo from '../../images/cejst-logo.png'; +import * as EXPLORE_COPY from '../../data/copy/explore'; + + +const styles = StyleSheet.create({ + page: { + paddingTop: 35, + paddingBottom: 65, + // paddingHorizontal: 35, + }, + logo: { + width: 200, + marginLeft: 30, + }, + heading1: { + fontFamily: 'Times-Roman', + fontSize: 32, + marginLeft: 22, + marginTop: 20, + maringBottom: 30, + }, + heading2: { + fontFamily: 'Times-Roman', + fontSize: 24, + marginLeft: 24, + marginTop: 18, + maringBottom: 18, + }, + heading3: { + fontFamily: 'Times-Roman', + fontSize: 18.72, + marginLeft: 30, + marginTop: 16, + maringBottom: 16, + }, + heading4: { + fontFamily: 'Times-Roman', + fontSize: 16, + marginLeft: 24, + marginTop: 14, + maringBottom: 14, + }, + paragraph: { + display: 'flex', + flexDirection: 'row', + marginLeft: 34, + marginTop: 4, + maringBottom: 4, + }, + labelText: { + fontFamily: 'Times-Roman', + fontSize: 12, + fontWeight: 900, + }, + text: { + fontFamily: 'Times-Roman', + fontSize: 12, + fontWeight: 'bold', + }, +}); + + +const PDFRenderer = () => { +// const intl = useIntl(); + return ( + // + + + + {/* Need to remove text from logo to allow for Spanish, right now hard coded */} + + + Census tract report + + Census tract info + + + + {/* {intl.formatMessage(EXPLORE_COPY.SIDE_PANEL_CBG_INFO.CENSUS_BLOCK_GROUP)} */} + {EXPLORE_COPY.SIDE_PANEL_CBG_INFO.CENSUS_BLOCK_GROUP.defaultMessage} + + + 123940813495793485 + + + + + + {EXPLORE_COPY.SIDE_PANEL_CBG_INFO.COUNTY.defaultMessage} + + + Kings County + + + + + + {EXPLORE_COPY.SIDE_PANEL_CBG_INFO.STATE.defaultMessage} + + + New York + + + + + + {EXPLORE_COPY.SIDE_PANEL_CBG_INFO.POPULATION.defaultMessage} + + + 4,145 + + + + + + {EXPLORE_COPY.COMMUNITY.IS_FOCUS} + + + Yes + + + + + + Disadvantaged in 5 categories + + + + Categories + + + {EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLIMATE.defaultMessage} + + + + + {EXPLORE_COPY.SIDE_PANEL_SPACERS.EXCEED_ONE_OR_MORE} + + + No + + + + + {EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_ENERGY.defaultMessage} + + + {EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_TRANSPORT.defaultMessage} + + + {EXPLORE_COPY.SIDE_PANEL_CATEGORY.LEG_POLLUTE.defaultMessage} + + + {EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_WATER.defaultMessage} + + + {EXPLORE_COPY.SIDE_PANEL_CATEGORY.CLEAN_WATER.defaultMessage} + + + + // + ); +}; + +export default PDFRenderer; diff --git a/client/src/components/PDFRenderer/index.tsx b/client/src/components/PDFRenderer/index.tsx new file mode 100644 index 00000000..1bd05655 --- /dev/null +++ b/client/src/components/PDFRenderer/index.tsx @@ -0,0 +1,3 @@ +import PDFRenderer from './PDFRenderer'; + +export default PDFRenderer; diff --git a/client/src/data/copy/explore.tsx b/client/src/data/copy/explore.tsx index f6e58b54..d21e0cb0 100644 --- a/client/src/data/copy/explore.tsx +++ b/client/src/data/copy/explore.tsx @@ -310,6 +310,25 @@ export const COMMUNITY = { }, }), }, + DOWNLOAD_REPORT: { + DOWNLOAD: , + CREATE: , + IMG_ICON: defineMessages({ + ALT_TAG: { + id: 'explore.map.page.side.panel.download.report.alt.img', + defaultMessage: 'icon that represents the download of a report', + description: `Navigate to the explore the map page. When the map is in view, click on the map. The side panel will show a download report icon, this is the images alt tag`, + }, + }), + }, }; export const numberOfCategoriesExceeded = (categoryCount:number) => ;kS}5)g#oGwzouV>%0a@^MrSzAd-RXIsX z3RSSPm8}B^0ANV4Fg3-NV__IHGcz?E9A#!i0lTS(hexZM`t|qp_l))Y%p0Tl^2N~b zHzDS4IL%%_f!g%NScyL5#nEMC@GeD#`1El5qGDO8 zhN_yqJw0DwEt%8OaQzoZ#hQRv6KZ0A-eC%o_O1fV>BSdhd+a0vvjUDt#G1swGE@_2 z{RCo7%GinS0@x&W>_}%VE%&z!Z^8)E35hXX*!J^i8uQ;s3GNbT;)9BlnKZpA1vs9PNMKJ;~Q4+sKt0skLS(H%Q!I_+7S*B;j{AN%gfEi%gYNJ zLWW;vz`7VMApL`hX^nbF>1$-QLAr8QN=g8xR~iWb6J`r|^GdA&6VR22UZf!GUE=_;vG zNIHW-6z|zM*f^*}P$(!Ugus?o0_svS|AN2X2~*iXAT9#z>~3yuY;N3a&R}bHPJVuV zb`CCfE-uzr307ARCy1FltCK7BKb8Djj}*w&0&MF7v2}K$_^a2<-1!qkn2PGJq5mBJ zd`^(N?SCyfx&F(oR|nbua@aZ9IN1NA`xPqmw^u;b)*a-aCuQsS8lG1hBD_38{}BKG z82>f+KS1680=c>Q{ulW_oc|Z8h|43aMd!zaV2O)vb+UC}og_!4hw~TJ;LUR0l4;+~suCw=UPU57F5ytmB;g z@>0q6Iz1gpPv@rpQ49>k-4ct36My@LKc4z+@D76xhsHl|F}M78#4x3T*d_kOMt%E6 zoQGfp)e0R}wLfnBO6-)5#{+o=;>il()0Xz-1<8{rEFV zZWM}F=oAB;YVl<)Gwh1iWYW>kr=kX{7YWB5_nIZ3hDk|C(9+Z;0;OypI{mX2*ns`% z{E5D2=-;wm6lf|-gHt+`B!)#P|*Vg5@Xc`J06EN&8DePh}tlr!=i-AIgG&b<%DBo~67Bz|`IoxDf;Fa;V zwMj>yP20UG0jmi!xu2jcevKh}0LM;RbX3Z6O}9*&(Y%bEP6Z1k<*G@*m87%$eb>4Z zPN)_Utr;Gf#*H__pd&I0cTyAZ{+WPwbA~0Qx3f<|w{;a;`mI>_G-&&?CCZf8X5xM zo|%;ywt~Cn4o#RzHOTqFQW?DV#o~~uLb+JJmmB-%$2%^kl@HA~Ew{5eCUOoAl>-m( z>oUfjI-)O+^&NLRnHMXr<8tkvk738kf3>?ET5IG>A$u))%o2FPr{d^*8vt`_$;n9e zD<_`%8JV|cJWMB*j6=8BedBMs9@WTNUtYGp<}{;Bm0Q=z^?#igUR7S>lThlM2fB~C zNl6q47rT1(r54kStI#-}a#Im8IwgIH+8-!^$CdJXy4Gnu?RtQm^V-eCFFUm>0cO)o zeD&OsSAA}bG#dN9IsIyzs<$4Gg0=L&`{lOAYT|oW)Zn;0_tofSi~Rijyw3N@vrNCS zT(idb*H>oXi)Bi9@QUK8c8$MLMju&L;}hmJmUuuSesGhieqHhbIDr3%BvEe`%X4=(097Ogo*X zM-kCm%iC?>BeVLX1*f*j?kfzZ8#u+jr}c13icXqN*}5xOz~-yqA#$4HH-ZAeZSj}6 zuTG|sidm0l6w#{6E2yZXHLrRqRCip+$A!pBOAjr4vk+b#A13j}gij~)+@su|ERYpH z$sg!48o7a56m+b7@cL7^jC;38K!6Eq>+%>d-oJT#!~d10|1l4J`SY-_N_6Tv#v1+2 z=XT}Z-rlV8Yf#2pj&jDkF134hnx^bv{8O5*A%{$xs+_!%Dma;3K+11cS?MKHPHyFW z599IqqaE}YoIit+aUk-AO2ucPdk+P1B6hxQ!uf(e$Bpxa@+nOEOf-`@!d_d4HQlN0 zCv6JKIYNwUJ~!F#gxpoDTX%@}S3BEN3w>|b5z~den%FL51yAB*Nd*Ox{Wg9e-<=PT zH_r6n-qsDXCHX$x%iUdUe`-?^ebU?+%dQv~eZIBOYlD<&mTStLwCEBv)s*>w03WtUPpB0_i)T7tWmD}E&uV*idDY> zSV4T}OXhXNnLT?)!ny5nhN;s<$1do3wlC0Spc{d9Nk0*|ybYjKEY(B1BPqygH~y zpOKhIrTB7()OEXon*9_f`aHpo-!q7c=t4_l>W|}b_8k#^69r(~DdKYvv7IeXQHG-c zRAQ3MItGAPoK)a#o%B|ID{%{ka|^&WgM!??fHSm9edceDFv*?Hd6sHFT#g}_Ey zCEWzO)HR5W;imL-hb^^PG;`k_6~KH`yV>~o7?P>+vn1JanV+K39Bl*Cvw&p-EB11k z`?80T=DHVzAu>TOoH*GZL$aN2o&2nW)sHRt`o3(vI+#@eynl92xEmelbowQbjm9{* zB~1^Fifw>1`v4Gw$>+77v-vIEjM_tC)Ix1?(69riYc-a|=uJboNg+ZdhOn_IQx_<5 zw}r#XtM^dh?0$zKNBpe!!Z4311S6KtO7YZ(gHWJj>>*7rt`8>$qk;fL3vI{@u>IW= z@Yy)yVuBOy9RN;9b|U~FD~U$+xI^|NPK=1=9!7XOfvO+Dl}>uJ(yEcRSgJ#$aOxmg#0ugDKuseXWc@t4Uguvq*^l~Rl5nqvBsZ7G+w%;>D^gY8iy`{!-*?B& zYX^1{5f>sC0~G7A-utMqh^H*vQaL2XoM)sxvgK~FY!m`slVG=fA>+Q&`q7lM;ewkr zy3J6uc%9IzBzp1=jcR+>q96S&^5kTwbt|_n_v7+>d!+?vtfH#D%tB6bDSjpEyz~mX zMb;_jYkH&c_3w`szDZh3MI!T@_fki2UW+a9PWRrd`I)GYBrp)!euYDPyHK(FlSJ6F z;d!BTkYTOWbtmt8*k(-ho5)}+QqrnfL`6zUmAj`Z*Nq<$Qym_zMpk{H=tPH#NYGCNH2Z#Oq8T@UYxVJAkFU`Jd&@dO0BH8Br5%Z@DCVulfAf6#1ivod* znKFWFfuf9n%~011(`5~4o<$-S(%jz@LhLUxMMsU7grBcy*!l%Mnayaay2)d|C~d3l zuzGqtmFUeewP-o4isk)fKZ!GNG=ujOR}MSHs9@r}rTYkl1%g818W#w9Yt-1>l_&F? z)NZY-lWaj1{VX;k9l19|5Ih-izww~Qz@#qF+^MeAS)<;c=c&%qR@+_&KLkFk_PNLe zCuBT4$S*cn#Hp~UBkv|z{z}cBDilAi1WWePHb9Y(HM+j;BhFm0Qu7}glVykC+B2`u z_R9kyJBZk&b`y-^EiCXEs-*^Hum2F9ZyJsHrs<2@v?cP_gQRcXoWTGwv6VhUc1DPV zJulT_iFu*4jET+k7bVJK-{pZ`03;`!c(oV+CO>TtB57TUxw-k33XODl+(MFX^giQ{ zZbFyqhSN?J`_3JgP5urCWW5*O#|}?m zL^zg>VyR&rbg`QeGsp9G7qAnynUhki?e7XqxP~LOE)d|oTFWCd0^Mgxb9rvigGD%p zg6OTZSI>~#)J;k+5Pb|KA{!H~s)Un8AJtO6cdA%x%kh8E2rWH>O42s008;qR3aUKH zvT4KLHO$!KyOFmGA_o#6{$eI)!QP8v?<%F0f7I&4nnL?AU^Avf29+QN%eIy!U1Xuh zzpiqpW+@oAljD)lZ3NQH3?W(HS2D)Xq6xz*gUN7u2i^;UeT`*M5Tvq)2p=mC5O#SU zKeJ62e%#4zbrQ~aCPZHFWEUMff09ajS+vfzr2xfCruet@3%J});XC_?V~0cw_vq7| za&im0ZNcWlwXLyKD$3uH-|KTX+8C;=68@=8X2rAaJeuamxQHcLQaCI|-|p7vPI2~q z9xc$+|K`A0W-@(U#EBPz@5n|Ov!l>|u5x{$I0WQr2D?e!=si<5!XCUuW;9et!E*-` z1$4wKw#LgxU-P)3kNY^$01LW*9H6GBjT!9ErkK!9ll8zGCDxD|Ivqgf>8RK1>rkH& zGDea~Bal)81kE!>eT3jR!U?&s%e%?D)>-d?g`X>uBR&yxF_CEKP{duq;33+fQ7b(d zbfur`#za|BSmRq*$>cz3$q%p!RUvt$m7y5qPB%Q~$>Voz&0Q4fk|V2hDmh14zc!r- zvKj723CLPi09@~Wt9jMpclBv0fiCt+z;E*AmKfcRe*0dG_@4yo_oSEB``s8A7NYG! zC=>8fzU>l4ICL5HLeVvcIq~*F1e9;GE?b^R$tsEu(P=6#IJD;87CpQx2PE&StO81H z;Sf;53+hj4r}vMv$G>pFdhlp`J`C&jdH9^h1WjeFsL?Cg1M>L8sWXsg)oj^kccofG z3JGT_nGZ*JM(4poMUp-M&NICS6(bp9o@rx?TQ1N#7u=n_VsLY@Vuc8vLfc23z7&?4 z!3Kh$oRmFw1?FtzG&Tgn0+bCA0NQMMh-spnOo?rDsv$4J=nL&6V(|n*Fj3Z|vxR~w zewb`HBO(T(^HvqR%#_pxZ~a?m5Lk4DA8TUrsrW7U*X-!l!Vq_FdC@|?bfI~xI`&rq zEC$cBCbp>#aZ)0Ib>YRP2YKu2$YZqP>+Fg@#?eu)CLkfE4gKVrWu>gn0&5A5SnSVz{kwH%?Mho2Ax zY3NwCbwfXD^-@JA2dl+cNBCj|p^C)sopS{9*iK0urpZkk6R|k8?bF$R6Un|*+{5YE ze)o&J+OZVD235i3GSY=Ih<+vv1|^5fVmB9V13nD$crE` zBXb3(LubV~VuJ?g6TO^;Z}xa_0)Y_iP?L1^V>eJVgw>r1M>A*>Np{D6-mz}KJXUMXOw2AldhXFssPq0a|$n$ zrs;J(IWJQ}`ndVbXUMh>W`mS|s|%z#hL zDepOoh=Jsnx$o-9E13jWl2oL-&Jn@-Zr!yji_Q|-%Y-eX?Is{y{CEH#|N3pR)qs+F zp@xX<@2OX>6n7<-86TL1&I!Z=TCGUdoyl~~?N_}!^wC7!TaH&0Cep6lcLk3n$Jz3- zDV`kklvjwU8O;6?p3a(ys26<#TiZb8Jf63{ir)5LIJtXOqgX=LzU3R}fcfXcI1%NN zZdOS#lsuz_M;v}PYBk%P^btUA6;DTT*H&EJu8PKaOrAcJQCi!x`8tpPen?5lHGW|RXe&ns2x(dnN!7;7)hGE$Z=QNZ(K z{!NK}etY{SKbpyUJUdOrY9u8>qdSSGXkwJnXgdF!(CmXUdgTe4LJm~81mL(el3n+l zSKw^1i%_(+9-BhTwDMDCr;H(Pew?mo2zBi^o>i91=c*E!TIpN+5*s zH<1=N3R6Sjsm$NCnRpe166SVfX-ajQhv}r-o`Ev9qUNN>L1nH}iP;IN(@QSmbv?xQH+2!(`DAF`5 z1N?5~`uc5$?up)=8>Nq3za9WsSol=+WUkTG76%w)LGO^jzo)kRWig-bOF}L-ev~DC zNxm6o)`OotJ;?-3bQ=At9x!Tu$wJF%8a>33z^7<$FHv1MsJ>Ah`tqDWH>dFZk^(XCUCR&t->~`6QQ*GFZdqq?muf|-`elkRUz0N} zyU5})t;>)&i1zgQ>uyo$2{91?DO)2HH(`nsOWy=Vv7b46_d7RZ-HlXYp(XWf8*`jJ z=|O6|b-U&bM9^J$5T^TssbI6_l!`Y?Q$6aB)H;QMj_V5lZhLdQT`HRL(BL1&%w|O= zY4KkwQw;p(>2`~a*eKfEXA$-P< zUR}2z%EwH_!cenmdj(!U*Yn3WdHGwuyY{hN7j13+3Yzsbo27qBYL9nZHe%sS63P5H z2}n-O5pY$07CyH~lM!8L$_KMwaEQ9ekuIR(Mam9!x6h)$+L$hS4yC3xZQm;(hJ4~>kcxC-`S(|6Hilr|5ChgR_;648@6AZaF3iE&Hmz0aL#;eEy&* zQQ8MYHd^GFJ2e8$h#7dPnwGNW-*d^NSW;X2U2bww!-xC+G;~x^?LxaV&sXh#$Wu=> z2|H|=z)3Zx_jiZvd%8t)Tq!l34gy~&*qJGWeaGsV6M0pX$FV%yn;F>M80a6U)J}RY zwi~ugyA)F3_QW*!nz}UGYaU1^P2~cn6WSDa1)E1vP7WR$`uh5kXBHK^JnWNKrq1mc zb=rar?Av%v6ccQ0E47(pyercb{T|l9jumv+)sIs3)P;u7&vbN`=*jgDKfDg)mzO@m ze5`e=rdF5xu2lYG(64sbwi8G{Ya3k zXiDajJuoFQopOF91y6@YB6L;PsEJ%D`P}tpuq!FxW1qRlt_5iYlB~DHWd_n@e-o-y z7bO^-lOuvm@<*OnRpZ#9$cHoxmvS+>dvFi}Is}(`mnYy6eJz}7I|gaT9{qBcwUhlu zk52^+2B&<~fUNQ?O#n}dti|7ElnHOEem-<)i@hsNi=;^|62(ueNP=j;SR4P74s&#e zT*9g`cJKZt+cotKbBnE3owbywu=@8f)XolyYD6o$PBoK4dV(f8RoQ;0T?loC`|@cg zAE*!CW+ercXn4ndG6Aw~S5{XZvurzP)wl4B4A5r3nE}lMkWUaY;HU2@~31 zB7WHM^lo64_WrOQ8TQSSuailj#}@iVhfMor{=5F;aoT5#3qB1P1rtn<*O@LWg7Jws;PXA*n;9aHs5Ca>8fBPbOgDOKPP&#F(3sJs5@UOY(AP5Xfz@@1;N zh&`e4W$1_T*`2i1mDwSZq}8zH`$MnS9OB4!_rRpKi{^WND;t=t00YeHH1VU6q4&cd zc1x@a6|fp%BgDpz-eiz|#V5SJh2t`mo@y@hYfS-{RcI;}av^{aICuCGa&=dSwz4Rw zy3{>oGO`pulwOo}Nu_Du!3lQqO?Fk0WN?PKH6Opxunb(T+h$&dhpSUGizy6w#zKzw z?|w55l4J|q&L{RSjmm!entLp~#LQ~aZ?wD5xr?j)EM-Dp%dza;U^^`%i^aD-6wk6) zOt7E6&rGs}Rhg>l+OR0qQ6jX|=PP>@9#J^>Ta3e^Y0T7*u_+h+D4t>wewyEuThK_I z0BdXUZIEeKzx&YYIbCmuZM&#!{(c{-yWH~PMW9$;ac(gSEGAA7xiR)dEW{x*F%2eO z>DMButPdvhrH&Oc5olwoNPC-Se~nkXJZ1ci?JiGoM-E?Bnte4ewaen&jUU$y|J(a+ zSFlcrlwLinI+-7}D@k4`FZ-Z@iiZilBkQiZzzvBM477k=xx(h^0kmGnTX$5$TDSWf ztJwfvQ_FKyCT%wU4=afRHOP=jqpoGi?#HAfveo9)7OI&)f3~~SSV`6_xt5|PGP=v+ z_D`juTqG5OsYKBADnFO~u|Xn)(zSUw1C%lJ!s{mw#jPOb;E)zY#Kc<6vDuc2aFccT z-eY{~PhA)|Zzo0z%Qvn4{sJ~R+zYtnC>F09$3$4C9QVVXhD*%iE38HSRJ~8gBKO`* znT96`h$@sD9f2l7Ikr0WX^YZ7#+B-4(!3N!iO?ltyktYzQ$ddJz3o#L;hVwXKNt?1 zVwEaMzI-8V2;z;WG^`XMvqZzrTwsg@ipT2X!%S??cTihUEb%L-u&)c zEm;xcZ@wITk*-vG_BE{4L?MWr!oShBt8Wjm+Z~UzW5)Dj&OWs zmwx((G=y`aB7YkB!uiLRgTx;u&tbd=pTr?N)ELKK18bC&M!F~1kup9Q#)L-Wz^dKc zI%29}^c{>gRAcf_C7u{A}g5vT)!(bChlQt8_H^a5$l7+<_N{ zp&aP|{1Z=S@0XmKaOvQl{t~<*Wuev54_}cZmLW8lp_Da%kUB(pd0oN4N6yv0oyOz( z>-5ELF+;1HWwB+exocsAbB6i2uThjG(duF4lbd3LQay4tKa>A(=VaK5t zda7BCQbG({cL3Iia zd@e`7m8L{)TgJ&M?B-kGrCgcDxBDmc)5ENQ6{>$m6D>_{Vu(Q<#CgY4IgZe1A^z9s6bNu2~IA;TmE<+c2S zfcSxu1~O$9!bh^4-thcxpBhwqiXr5$YEbGZc-6WHj3oy!6gCCdddYEwe;XGZk0k0@ z3vjSAPLBUlWL0kb{oEiDsTsLvi2OI90gvQyl2wvCXzJR;P_Z}<6EEQtE1iI3(@D&P zy3No6nn#{OaoXEN+xQh%3IjPFT3RhnbTZ}&K1Vk}BR7-6n+ip>Zms@8a(oswk`3Op z^YORwrKP|)qDd9DRguxnr?n;9NX>c};ys{;e_Va=LA8vvDK8+rVIY^X>BK*N z?7h=U>G(H03?eS6+)Hw7iXW+H+L4iwb{=+eaDpE{ zF?ZLVv~_Q}XH@p3DpFl}3@Md}BN8F)CFEQ~^}^3>OqWC^%RGA3m1%cmBN`MLU*6@@ zE;?|V1o8<7?wvBv4b?;8_Xp24Jo-~-W_a#w*K_NfhLt_q#*M%lVHGRN!#BB0mF5wi z#?m2MEvGYd=^PItw%XU8wwkTk`o(&(j+7f+UPEQbOo`Jni{9=LIc>R05J>&Sj2WcP zL)^Remec%ff37OC7Q`$T_7M(@KyI?!lf#WUm6Q@6cn61>AVujv!k@huFq1KVx3Y(o zUGs3Uy!b_u3{43bvPY9{T+n1X{^@mzAMv2xj+O@^l&oh_ry-M*l&Ojd9mM^Y2 zeErM_4BqOX%xacT56thA>b=^kkDx&?JC_Byd_yLqAgWs= zJ$`Q>TOc}${COT)qVP3&QcNIoeED3$~H|KSqE2M7@Cb}b@?^lg-^1#cJ!oHx1 z*HyzG5h9N2U@)O>QHGX#rFZ|^QH;Tb_J+l+W?fTUwfy4 zH{|OW3&5o~Rjsl9taa~=As1TKJgJuv4a|`t5A(%k9BL8cFWKI_k+Fi7HKG0aGULxY zRl^SQWML5FBNU5Ag5fOun5rH7j(@7)Ca`9f_;*3B;xhVr|C>gqU;5;e$juIm>bV7c z?|&Q=F4kKg<{mjeyM2|S4atcee~eC2XE86ZqrjopUR`?e#+2EufzJ3)eP3M=kbB{6 zWpR}k_0ltI?9Q+t^&=259QoV=%ukw;FLFgD7(kJ|Duq|j8O|hENyCa;ao$z13D>VT z=`K+;IFB?ah!Zv=%a)SGPhyKfl&`8Ag;no+tui-$4BTfTXZHgdw_I=(SsmCtvVF5G z2u z5ie6O3ic(DIQaQgrjjeN^c4Nz4y^rgIYgh^@DK?m?M06Ym^{?(q&#p%jj!jwpU{Ff z4jr68EbIr${zOZMgosKS;WBt$-elFY;7B<;=Q2<~SnB^#BZ7D~L~E0Jlea$9suqK(J~Y0|&Ayo-sl=m^w{9Xn>|Dgx`9>-XIHhdZ0!wfI+2L|KI%SU#uP zsQth?SP)O7EYxLJ9Jb(HLHE@g^R7J^C8A<)*M`)HL)<)!1%7s)qHcHQ4~M);{EMWv zYYOb0g%5$Jl?hx#J!daGzU9dQ5D~{Eo~L(bbp8NEcZ0-2bGZ^(_v6xpO$ z$G=iLSlelgPxbn=0eQgam}GA6@v#V4pu`-{9BejdP_+d0d{+|mZOTi6mBb1LgucBK zT=cxPsH&G2t=tNu=B_$1NQ-OSN8*Wm0$fxZ+W5J3|Cx2GnnVy7v@~0%P#(xKFg)JP znzk5~It0C5_MWTvyM$b>tJ9lp@ZQC^xNIAO&JKwh#Yu{bJoaETsuleK+t<@4 zi`vPNgSS|a;n1+L0Gp1yir(HGsqO%A8XmuJ#-rB-4-X+BGStWyP01a8tMIMc_MI!b z@o%n>@AlASM&gBY>^voRW>Xhp5$~3()3vo+bEByZ(!laO$o`c6%YI@H7{)k@-?hK$ zYlLM(x|Sut+rgn2(`@L(#glOWn>U&voKxCJtl@M*2lPC}TRhGtt4*qu`9YrPZl5Kt z{`tPD-E!h=etQu46#qrK9 z-w^*1S~8srpd4f8h`rY+exe~S6;*-Bh@j!!EzqfluicutT)KOXb6hJ0j6P&l3{9Ta z{VZ3g&^OW&np9TTtO`X@e+C1}FxX*ci1(N#EjBzu+Jd&fVTKkz&P*a?z@^pk=wlYC zu3`{iZf`_>GT2W4nDn;<;n}7R{CJW9${Rn&$1xI30!=W=NcR#rM^FQhv#rR&=2i{oL+4^LK4eR+F*s`2$~={}M5 z3mpc3Po0*w@oU0So^Qn^$oP0`*4<+CicfgnizPe#lF!j-m4~^(-5R+jbN^R7AFpAD z`maES(Fh&<`=_utrnFErMl2F)2jq<*j`*aV0)?dx*P2L!`=G~imJ6xCwsJYR{hC0D z0@Q0>hKMpjr8}RT@HO@UoIi)N3bJD-$pzYyY-Xup@jAf literal 0 HcmV?d00001 diff --git a/client/src/intl/en.json b/client/src/intl/en.json index 45e1f5e7..adc9f58a 100644 --- a/client/src/intl/en.json +++ b/client/src/intl/en.json @@ -443,6 +443,18 @@ "defaultMessage": "YES", "description": "Navigate to the explore the map page. When the map is in view, click on the map. The side panel will show the communities the score currently is focused on" }, + "explore.map.page.side.panel.create.report.title": { + "defaultMessage": "Creating report ...", + "description": "Navigate to the explore the map page. When the map is in view, click on the map. The side panel will show link to create a report" + }, + "explore.map.page.side.panel.download.report.alt.img": { + "defaultMessage": "icon that represents the download of a report", + "description": "Navigate to the explore the map page. When the map is in view, click on the map. The side panel will show a download report icon, this is the images alt tag" + }, + "explore.map.page.side.panel.download.report.title": { + "defaultMessage": "Get report", + "description": "Navigate to the explore the map page. When the map is in view, click on the map. The side panel will show link to download a report" + }, "explore.map.page.side.panel.exceed.burden.answer.no": { "defaultMessage": "No", "description": "Navigate to the explore the map page. When the map is in view, click on the map. This will display NO if the census tract is disadvantaged" diff --git a/client/src/pages/pdf.tsx b/client/src/pages/pdf.tsx new file mode 100644 index 00000000..b6503935 --- /dev/null +++ b/client/src/pages/pdf.tsx @@ -0,0 +1,31 @@ +import * as React from 'react'; + +import J40MainGridContainer from '../components/J40MainGridContainer'; +import Layout from '../components/layout'; +import PDFRenderer from '../components/PDFRenderer/PDFRenderer'; +import {PDFDownloadLink} from '@react-pdf/renderer'; + +interface IContactPageProps { + location: Location; +} + +const ContactPage = ({location}: IContactPageProps) => { + return ( + + + + } fileName="document"> + {({loading}) => + loading ? ( + + ) : ( + + )} + + {/* */} + + + ); +}; + +export default ContactPage;