diff --git a/gatsby-browser.js b/gatsby-browser.js index 98500b75..e6d4b541 100644 --- a/gatsby-browser.js +++ b/gatsby-browser.js @@ -1,4 +1,4 @@ -import './src/styles/global.scss' +import './src/global/global.css' import wrapPageElementWithLayout from './src/helpers/wrapPageElement' export const wrapPageElement = wrapPageElementWithLayout diff --git a/gatsby-config.js b/gatsby-config.js index 082167b8..41538764 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -86,14 +86,6 @@ module.exports = { ] } }, - { - resolve: 'gatsby-plugin-sass', - options: { - sassOptions: { - includePaths: [`${__dirname}/node_modules`, `${__dirname}/src/styles`] - } - } - }, { resolve: 'gatsby-plugin-svgr', options: { diff --git a/package-lock.json b/package-lock.json index 823412dc..7d6945e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,6 @@ "gatsby-plugin-meta-redirect": "^1.1.1", "gatsby-plugin-offline": "^3.10.2", "gatsby-plugin-react-helmet": "^3.10.0", - "gatsby-plugin-sass": "^3.2.0", "gatsby-plugin-sharp": "^2.14.3", "gatsby-plugin-sitemap": "^2.12.0", "gatsby-plugin-svgr": "^2.1.0", @@ -85,7 +84,6 @@ "@welldone-software/why-did-you-render": "^6.0.5", "eslint": "^7.21.0", "eslint-config-prettier": "^8.1.0", - "eslint-loader": "^4.0.2", "eslint-plugin-graphql": "^4.0.0", "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-prettier": "^3.3.1", @@ -97,7 +95,6 @@ "jest": "^26.6.3", "markdownlint-cli": "^0.26.0", "node-iptc": "^1.0.5", - "node-sass": "^5.0.0", "npm-run-all": "^4.1.5", "ora": "^5.3.0", "prettier": "^2.2.1", @@ -5117,12 +5114,6 @@ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "devOptional": true - }, "node_modules/accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -5229,15 +5220,6 @@ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "devOptional": true, - "engines": { - "node": ">=0.4.2" - } - }, "node_modules/anser": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/anser/-/anser-2.0.1.tgz", @@ -5704,7 +5686,7 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "devOptional": true, + "dev": true, "dependencies": { "safer-buffer": "~2.1.0" } @@ -5733,7 +5715,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.8" } @@ -5790,15 +5772,6 @@ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" }, - "node_modules/async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "devOptional": true, - "engines": { - "node": "*" - } - }, "node_modules/async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", @@ -5858,7 +5831,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "devOptional": true, + "dev": true, "engines": { "node": "*" } @@ -5867,7 +5840,7 @@ "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "devOptional": true + "dev": true }, "node_modules/axe-core": { "version": "4.1.2", @@ -6480,7 +6453,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "devOptional": true, + "dev": true, "dependencies": { "tweetnacl": "^0.14.3" } @@ -7786,7 +7759,7 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "devOptional": true + "dev": true }, "node_modules/caw": { "version": "2.0.1", @@ -7927,15 +7900,6 @@ "fsevents": "~2.3.1" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "devOptional": true, - "engines": { - "node": ">=10" - } - }, "node_modules/chrome-trace-event": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", @@ -9372,7 +9336,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "devOptional": true, + "dev": true, "dependencies": { "assert-plus": "^1.0.0" }, @@ -10453,7 +10417,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "devOptional": true, + "dev": true, "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -10661,15 +10625,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/env-paths": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", - "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", - "devOptional": true, - "engines": { - "node": ">=6" - } - }, "node_modules/envinfo": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", @@ -11000,59 +10955,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "node_modules/eslint-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-4.0.2.tgz", - "integrity": "sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw==", - "deprecated": "This loader has been deprecated. Please use eslint-webpack-plugin", - "dev": true, - "dependencies": { - "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", - "loader-utils": "^2.0.0", - "object-hash": "^2.0.3", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 10.13.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0", - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/eslint-loader/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/eslint-loader/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/eslint-loader/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/eslint-module-utils": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", @@ -12257,7 +12159,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "devOptional": true, + "dev": true, "engines": [ "node >=0.6.0" ] @@ -12651,7 +12553,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "devOptional": true, + "dev": true, "engines": { "node": "*" } @@ -13662,22 +13564,6 @@ "react-helmet": "^5.1.3 || ^6.0.0" } }, - "node_modules/gatsby-plugin-sass": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-sass/-/gatsby-plugin-sass-3.2.0.tgz", - "integrity": "sha512-YlQX1Kn1wGcKCgyS8OfD0/W16XIRKvE/5wg6HRnUhJV03MNTB/41eRDsgGe0zLb3jb/aw1bH7leWcBVy0RoClA==", - "dependencies": { - "@babel/runtime": "^7.12.5", - "sass-loader": "^10.1.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "gatsby": "^2.0.0", - "sass": "^1.30.0" - } - }, "node_modules/gatsby-plugin-sharp": { "version": "2.14.3", "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.14.3.tgz", @@ -16052,18 +15938,6 @@ "node": ">=0.10.0" } }, - "node_modules/gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "devOptional": true, - "dependencies": { - "globule": "^1.0.0" - }, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -16164,7 +16038,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "devOptional": true, + "dev": true, "dependencies": { "assert-plus": "^1.0.0" } @@ -16346,20 +16220,6 @@ "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", "dev": true }, - "node_modules/globule": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", - "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", - "devOptional": true, - "dependencies": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/gonzales-pe": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", @@ -16684,7 +16544,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "devOptional": true, + "dev": true, "engines": { "node": ">=4" } @@ -16694,7 +16554,7 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "deprecated": "this library is no longer supported", - "devOptional": true, + "dev": true, "dependencies": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -17443,7 +17303,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "devOptional": true, + "dev": true, "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -18669,7 +18529,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "devOptional": true + "dev": true }, "node_modules/istanbul-lib-coverage": { "version": "3.0.0", @@ -20690,12 +20550,6 @@ "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" }, - "node_modules/js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "devOptional": true - }, "node_modules/js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", @@ -20722,7 +20576,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "devOptional": true + "dev": true }, "node_modules/jsdom": { "version": "16.4.0", @@ -20810,7 +20664,7 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "devOptional": true + "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -20875,7 +20729,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "devOptional": true, + "dev": true, "engines": [ "node >=0.6.0" ], @@ -20935,14 +20789,6 @@ "node": ">=6" } }, - "node_modules/klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", - "engines": { - "node": ">= 8" - } - }, "node_modules/known-css-properties": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", @@ -22454,25 +22300,6 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "devOptional": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true - }, "node_modules/mississippi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", @@ -22622,7 +22449,7 @@ "version": "2.14.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "devOptional": true + "optional": true }, "node_modules/nanoid": { "version": "2.1.11", @@ -22804,63 +22631,6 @@ "node": ">= 6.0.0" } }, - "node_modules/node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", - "devOptional": true, - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", - "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" - } - }, - "node_modules/node-gyp/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "devOptional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-gyp/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "devOptional": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-gyp/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true - }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -23001,110 +22771,6 @@ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" }, - "node_modules/node-sass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-5.0.0.tgz", - "integrity": "sha512-opNgmlu83ZCF792U281Ry7tak9IbVC+AKnXGovcQ8LG8wFaJv6cLnRlc6DIHlmNxWEexB5bZxi9SZ9JyUuOYjw==", - "devOptional": true, - "hasInstallScript": true, - "dependencies": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^7.0.3", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "lodash": "^4.17.15", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.13.2", - "node-gyp": "^7.1.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "2.2.5", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "bin": { - "node-sass": "bin/node-sass" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-sass/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "devOptional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "devOptional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "devOptional": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "devOptional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "devOptional": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "devOptional": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/node-sass/node_modules/true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "devOptional": true, - "dependencies": { - "glob": "^7.1.2" - } - }, "node_modules/noms": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", @@ -23140,21 +22806,6 @@ "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "devOptional": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -23447,7 +23098,7 @@ "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "devOptional": true, + "dev": true, "engines": { "node": "*" } @@ -23548,15 +23199,6 @@ "resolved": "https://registry.npmjs.org/object-fit-images/-/object-fit-images-3.2.4.tgz", "integrity": "sha512-G+7LzpYfTfqUyrZlfrou/PLLLAPNC52FTy5y1CBywX+1/FkxIloOyQXBmZ3Zxa2AWO+lMF0JTuvqbr7G5e5CWg==" }, - "node_modules/object-hash": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.1.1.tgz", - "integrity": "sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/object-inspect": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", @@ -24714,7 +24356,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "devOptional": true + "dev": true }, "node_modules/phin": { "version": "2.9.3", @@ -26151,7 +25793,7 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "devOptional": true + "dev": true }, "node_modules/public-encrypt": { "version": "4.0.3", @@ -27672,7 +27314,7 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "devOptional": true, + "dev": true, "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -27749,7 +27391,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "devOptional": true, + "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -27763,7 +27405,7 @@ "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.6" } @@ -27772,7 +27414,7 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "devOptional": true, + "dev": true, "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -28510,298 +28152,6 @@ "entities": "^2.0.0" } }, - "node_modules/sass": { - "version": "1.32.8", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz", - "integrity": "sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==", - "peer": true, - "dependencies": { - "chokidar": ">=2.0.0 <4.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/sass-graph": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", - "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", - "devOptional": true, - "dependencies": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^13.3.2" - }, - "bin": { - "sassgraph": "bin/sassgraph" - } - }, - "node_modules/sass-graph/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "devOptional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "devOptional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "devOptional": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/sass-graph/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "devOptional": true - }, - "node_modules/sass-graph/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "devOptional": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "devOptional": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "devOptional": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/sass-graph/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "devOptional": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "devOptional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "devOptional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/sass-graph/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "devOptional": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "devOptional": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "devOptional": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "devOptional": true - }, - "node_modules/sass-graph/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "devOptional": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/sass-graph/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "devOptional": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/sass-loader": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", - "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", - "dependencies": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0", - "sass": "^1.3.0", - "webpack": "^4.36.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/sass-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/sass-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/sass-loader/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/sass-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -28845,28 +28195,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "devOptional": true, - "dependencies": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - } - }, - "node_modules/scss-tokenizer/node_modules/source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "devOptional": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/section-matter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", @@ -30072,7 +29400,7 @@ "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "devOptional": true, + "dev": true, "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -30272,15 +29600,6 @@ "node": ">= 0.6" } }, - "node_modules/stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "devOptional": true, - "dependencies": { - "readable-stream": "^2.0.1" - } - }, "node_modules/stealthy-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", @@ -31509,23 +30828,6 @@ "node": ">=6" } }, - "node_modules/tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", - "devOptional": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/tar-fs": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", @@ -31596,24 +30898,6 @@ "safe-buffer": "^5.1.1" } }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "devOptional": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true - }, "node_modules/temp-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", @@ -32235,7 +31519,7 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "devOptional": true + "dev": true }, "node_modules/type": { "version": "1.2.0", @@ -33253,7 +32537,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "devOptional": true, + "dev": true, "engines": [ "node >=0.6.0" ], @@ -39920,12 +39204,6 @@ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "devOptional": true - }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -40004,12 +39282,6 @@ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "devOptional": true - }, "anser": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/anser/-/anser-2.0.1.tgz", @@ -40359,7 +39631,7 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "devOptional": true, + "dev": true, "requires": { "safer-buffer": "~2.1.0" } @@ -40403,7 +39675,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "devOptional": true + "dev": true }, "assign-symbols": { "version": "1.0.0", @@ -40438,12 +39710,6 @@ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "devOptional": true - }, "async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", @@ -40487,13 +39753,13 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "devOptional": true + "dev": true }, "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "devOptional": true + "dev": true }, "axe-core": { "version": "4.1.2", @@ -40969,7 +40235,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "devOptional": true, + "dev": true, "requires": { "tweetnacl": "^0.14.3" } @@ -42034,7 +41300,7 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "devOptional": true + "dev": true }, "caw": { "version": "2.0.1", @@ -42134,12 +41400,6 @@ "readdirp": "~3.5.0" } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "devOptional": true - }, "chrome-trace-event": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", @@ -43292,7 +42552,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "devOptional": true, + "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -44142,7 +43402,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "devOptional": true, + "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -44295,12 +43555,6 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" }, - "env-paths": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", - "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", - "devOptional": true - }, "envinfo": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", @@ -44656,47 +43910,6 @@ } } }, - "eslint-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-4.0.2.tgz", - "integrity": "sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw==", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", - "loader-utils": "^2.0.0", - "object-hash": "^2.0.3", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, "eslint-module-utils": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", @@ -45530,7 +44743,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "devOptional": true + "dev": true }, "fast-copy": { "version": "2.1.1", @@ -45842,7 +45055,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "devOptional": true + "dev": true }, "form-data": { "version": "3.0.1", @@ -47310,15 +46523,6 @@ "@babel/runtime": "^7.12.5" } }, - "gatsby-plugin-sass": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-sass/-/gatsby-plugin-sass-3.2.0.tgz", - "integrity": "sha512-YlQX1Kn1wGcKCgyS8OfD0/W16XIRKvE/5wg6HRnUhJV03MNTB/41eRDsgGe0zLb3jb/aw1bH7leWcBVy0RoClA==", - "requires": { - "@babel/runtime": "^7.12.5", - "sass-loader": "^10.1.0" - } - }, "gatsby-plugin-sharp": { "version": "2.14.3", "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.14.3.tgz", @@ -48456,15 +47660,6 @@ } } }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "devOptional": true, - "requires": { - "globule": "^1.0.0" - } - }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -48532,7 +47727,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "devOptional": true, + "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -48683,17 +47878,6 @@ "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", "dev": true }, - "globule": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", - "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", - "devOptional": true, - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" - } - }, "gonzales-pe": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", @@ -48958,13 +48142,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "devOptional": true + "dev": true }, "har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "devOptional": true, + "dev": true, "requires": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -49575,7 +48759,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "devOptional": true, + "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -50447,7 +49631,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "devOptional": true + "dev": true }, "istanbul-lib-coverage": { "version": "3.0.0", @@ -52002,12 +51186,6 @@ "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" }, - "js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "devOptional": true - }, "js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", @@ -52031,7 +51209,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "devOptional": true + "dev": true }, "jsdom": { "version": "16.4.0", @@ -52104,7 +51282,7 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "devOptional": true + "dev": true }, "json-schema-traverse": { "version": "0.4.1", @@ -52158,7 +51336,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "devOptional": true, + "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -52203,11 +51381,6 @@ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" }, - "klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==" - }, "known-css-properties": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", @@ -53409,24 +52582,6 @@ "minipass": "^3.0.0" } }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "devOptional": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true - } - } - }, "mississippi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", @@ -53552,7 +52707,7 @@ "version": "2.14.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "devOptional": true + "optional": true }, "nanoid": { "version": "2.1.11", @@ -53711,50 +52866,6 @@ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" }, - "node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", - "devOptional": true, - "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", - "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", - "which": "^2.0.2" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "devOptional": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "devOptional": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true - } - } - }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -53881,87 +52992,6 @@ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" }, - "node-sass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-5.0.0.tgz", - "integrity": "sha512-opNgmlu83ZCF792U281Ry7tak9IbVC+AKnXGovcQ8LG8wFaJv6cLnRlc6DIHlmNxWEexB5bZxi9SZ9JyUuOYjw==", - "devOptional": true, - "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^7.0.3", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "lodash": "^4.17.15", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.13.2", - "node-gyp": "^7.1.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "2.2.5", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "devOptional": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "devOptional": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "devOptional": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "devOptional": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "devOptional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "devOptional": true - }, - "true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "devOptional": true, - "requires": { - "glob": "^7.1.2" - } - } - } - }, "noms": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", @@ -53999,15 +53029,6 @@ "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "devOptional": true, - "requires": { - "abbrev": "1" - } - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -54237,7 +53258,7 @@ "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "devOptional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -54315,12 +53336,6 @@ "resolved": "https://registry.npmjs.org/object-fit-images/-/object-fit-images-3.2.4.tgz", "integrity": "sha512-G+7LzpYfTfqUyrZlfrou/PLLLAPNC52FTy5y1CBywX+1/FkxIloOyQXBmZ3Zxa2AWO+lMF0JTuvqbr7G5e5CWg==" }, - "object-hash": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.1.1.tgz", - "integrity": "sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ==", - "dev": true - }, "object-inspect": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", @@ -55193,7 +54208,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "devOptional": true + "dev": true }, "phin": { "version": "2.9.3", @@ -56387,7 +55402,7 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "devOptional": true + "dev": true }, "public-encrypt": { "version": "4.0.3", @@ -57591,7 +56606,7 @@ "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "devOptional": true, + "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -57619,7 +56634,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "devOptional": true, + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -57630,13 +56645,13 @@ "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "devOptional": true + "dev": true }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "devOptional": true, + "dev": true, "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -58262,217 +57277,6 @@ } } }, - "sass": { - "version": "1.32.8", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz", - "integrity": "sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==", - "peer": true, - "requires": { - "chokidar": ">=2.0.0 <4.0.0" - } - }, - "sass-graph": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", - "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", - "devOptional": true, - "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "devOptional": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "devOptional": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "devOptional": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "devOptional": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "devOptional": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "devOptional": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "devOptional": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "devOptional": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "devOptional": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "devOptional": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "devOptional": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "devOptional": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "devOptional": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "devOptional": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "devOptional": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "devOptional": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "sass-loader": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", - "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", - "requires": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -58506,27 +57310,6 @@ "ajv-keywords": "^3.5.2" } }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "devOptional": true, - "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "devOptional": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, "section-matter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", @@ -59511,7 +58294,7 @@ "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "devOptional": true, + "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -59663,15 +58446,6 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "devOptional": true, - "requires": { - "readable-stream": "^2.0.1" - } - }, "stealthy-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", @@ -60638,34 +59412,6 @@ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" }, - "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", - "devOptional": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "devOptional": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true - } - } - }, "tar-fs": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", @@ -61190,7 +59936,7 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "devOptional": true + "dev": true }, "type": { "version": "1.2.0", @@ -61988,7 +60734,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "devOptional": true, + "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", diff --git a/package.json b/package.json index bdeeff78..9b45fb7b 100644 --- a/package.json +++ b/package.json @@ -15,9 +15,9 @@ "copy": "cp -R content/media/ public", "lint": "run-p --continue-on-error lint:js lint:css lint:md", "lint:js": "eslint --ignore-path .gitignore --ext .js,.jsx,.ts,.tsx .", - "lint:css": "stylelint 'src/**/*.{css,scss}'", + "lint:css": "stylelint 'src/**/*.css'", "lint:md": "markdownlint './**/*.{md,markdown}' --ignore './{node_modules,public,.cache,.git,coverage}/**/*'", - "format": "prettier --ignore-path .gitignore --write '**/*.{js,jsx,ts,tsx,md,json,css,scss}'", + "format": "prettier --ignore-path .gitignore --write '**/*.{js,jsx,ts,tsx,md,json,css}'", "tsc": "tsc --noEmit", "deploy": "./scripts/deploy-s3.sh", "new": "ts-node ./scripts/new.ts" @@ -51,7 +51,6 @@ "gatsby-plugin-meta-redirect": "^1.1.1", "gatsby-plugin-offline": "^3.10.2", "gatsby-plugin-react-helmet": "^3.10.0", - "gatsby-plugin-sass": "^3.2.0", "gatsby-plugin-sharp": "^2.14.3", "gatsby-plugin-sitemap": "^2.12.0", "gatsby-plugin-svgr": "^2.1.0", @@ -105,7 +104,6 @@ "@welldone-software/why-did-you-render": "^6.0.5", "eslint": "^7.21.0", "eslint-config-prettier": "^8.1.0", - "eslint-loader": "^4.0.2", "eslint-plugin-graphql": "^4.0.0", "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-prettier": "^3.3.1", @@ -117,7 +115,6 @@ "jest": "^26.6.3", "markdownlint-cli": "^0.26.0", "node-iptc": "^1.0.5", - "node-sass": "^5.0.0", "npm-run-all": "^4.1.5", "ora": "^5.3.0", "prettier": "^2.2.1", diff --git a/src/@types/Image.d.ts b/src/@types/Image.d.ts index e6de4a07..e048962e 100644 --- a/src/@types/Image.d.ts +++ b/src/@types/Image.d.ts @@ -6,6 +6,7 @@ export interface ImageProps { fixed?: FixedObject alt?: string original?: { src: string } + className?: string } export interface ImageNode { diff --git a/src/components/Layout.module.css b/src/components/Layout.module.css new file mode 100644 index 00000000..a27d637f --- /dev/null +++ b/src/components/Layout.module.css @@ -0,0 +1,44 @@ +.content { + padding: 0 var(--spacer); + width: 100%; + max-width: var(--maxWidthContent); + margin-left: auto; + margin-right: auto; +} + +/* topbar and footer as fixed + site background +///////////////////////////////////// */ + +.document { + width: 100%; + padding-top: var(--spacer); + background-color: var(--body-background-color); + border-top: 1px solid var(--border-color); + border-bottom: 1px solid var(--border-color); + padding-bottom: calc(var(--spacer) * 2); + transform: translate3d(0, 0, 0); + transition: 0.4s var(--easing); + transition-property: transform, background; +} + +:global(.has-menu-open) .document { + transform: translate3d(0, calc(var(--spacer) * 3.5), 0); +} + +@media (min-width: 60rem) { + .document { + padding-top: calc(var(--spacer) * 2); + } +} + +@media (min-width: 40rem) and (min-height: 500px) { + .document { + margin-top: calc(var(--spacer) * 2.5); + /* height of footer */ + margin-bottom: calc(var(--spacer) * 18); + position: relative; + z-index: 2; + min-height: 500px; + } +} diff --git a/src/components/Layout.module.scss b/src/components/Layout.module.scss deleted file mode 100644 index 20c38e7a..00000000 --- a/src/components/Layout.module.scss +++ /dev/null @@ -1,61 +0,0 @@ -@import 'variables'; -@import 'mixins'; - -#___gatsby { - // display: flex; - // min-height: 100vh; - // flex-direction: column; - position: relative; -} - -.content { - padding: 0 $spacer / $line-height; - width: 100%; - - @media (min-width: $screen-sm) { - padding: 0 ($spacer * 2); - } -} - -// topbar and footer as fixed -// site background -///////////////////////////////////// - -.document { - width: 100%; - padding-top: $spacer; - background-color: $body-background-color; - border-top: 1px solid rgba(255, 255, 255, 0.7); - border-bottom: 1px solid rgba(255, 255, 255, 0.7); - padding-bottom: $spacer * 2; - box-shadow: 0 1px 4px rgba($brand-main, 0.1), - 0 -1px 4px rgba($brand-main, 0.2); - transform: translate3d(0, 0, 0); - transition: 0.4s $easing; - transition-property: transform, background; - - :global(.has-menu-open) & { - transform: translate3d(0, ($spacer * 3.5), 0); - } - - :global(.dark) & { - background-color: $body-background-color--dark; - color: $text-color--dark; - border-top-color: darken($brand-grey, 15%); - border-bottom-color: darken($body-background-color--dark, 3%); - box-shadow: 0 1px 8px rgba(darken($brand-main, 15%), 0.1), - 0 -1px 4px darken($brand-main, 15%); - } - - @media (min-width: $screen-md) { - padding-top: $spacer * 2; - } - - @media (min-width: $screen-sm) and (min-height: 500px) { - margin-top: $spacer * 2.65; - margin-bottom: $spacer * 18; // height of footer - position: relative; - z-index: 2; - min-height: 500px; - } -} diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index 63c76e65..b806c016 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -1,9 +1,8 @@ import React, { ReactElement } from 'react' -import Container from './atoms/Container' import Typekit from './atoms/Typekit' import Header from './organisms/Header' import Footer from './organisms/Footer' -import styles from './Layout.module.scss' +import styles from './Layout.module.css' // if (process.env.NODE_ENV !== 'production') { // // eslint-disable-next-line @@ -18,9 +17,7 @@ export default function Layout({ children }: { children: any }): ReactElement {
-
- {children} -
+
{children}
+ {type === 'article' && } + {type === 'photo' && } + + {image && ( + {title} + )} + {type === 'photo' ? ( - <> - {image && image.fields && } - - + image?.fields && ) : ( )} diff --git a/src/styles/_buttons.scss b/src/global/_buttons.scss similarity index 100% rename from src/styles/_buttons.scss rename to src/global/_buttons.scss diff --git a/src/global/_code.css b/src/global/_code.css new file mode 100644 index 00000000..c0605465 --- /dev/null +++ b/src/global/_code.css @@ -0,0 +1,125 @@ +code, +kbd, +pre, +samp { + font-family: var(--font-family-monospace); + font-size: var(--font-size-small); +} + +code, +kbd { + padding: 0.1rem 0.3rem; +} + +code, +samp { + white-space: normal; + color: inherit; + background-color: var(--box-background-color); + border-radius: var(--border-radius); +} + +kbd { + color: var(--kbd-color); + background-color: var(--box-background-color); + border-radius: var(--border-radius); + border: 1px solid var(--box-background-color); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4); + padding: 0.15rem 0.4rem; +} + +pre { + position: relative; + display: block; + padding: 0; + margin-bottom: var(--spacer); + line-height: var(--line-height); + color: var(--code-color); + background-color: var(--box-background-color); + border-radius: var(--border-radius); + + /* make 'em scrollable */ + overflow: auto; + -webkit-overflow-scrolling: touch; + max-height: 800px; +} + +/* overwrite Nord & Polar theme background color */ +pre.nord, +pre.polar { + background-color: var(--box-background-color) !important; +} + +pre code { + padding: var(--spacer) calc(var(--spacer) / 2); + white-space: pre; + display: block; + color: inherit; + overflow-wrap: normal; + word-wrap: normal; + word-break: normal; + background: none; +} + +pre::-webkit-scrollbar { + width: 0.35rem; + height: 0.35rem; +} + +pre::-webkit-scrollbar-thumb { + background: var(--brand-main); + border-radius: var(--border-radius); +} + +pre::-webkit-scrollbar-track { + background: var(--brand-main); + border-bottom-left-radius: var(--border-radius); + border-bottom-right-radius: var(--border-radius); +} + +pre[data-language]::before { + background: var(--brand-grey); + border-radius: 0 0 var(--border-radius) var(--border-radius); + color: var(--brand-grey-dimmed); + font-size: var(--font-size-mini); + font-family: var(--font-family-base); + letter-spacing: 0.05em; + line-height: 1; + padding: 0.25rem 0.5rem; + position: absolute; + right: calc(var(--spacer) / 2); + top: 0; +} + +pre[data-language='js']::before { + content: 'js'; +} + +pre[data-language='bash']::before { + content: 'bash'; +} + +pre[data-language='bash'] .grvsc-line:only-child { + padding-left: 0.5rem; + display: block; +} + +pre[data-language='bash'] .grvsc-line:only-child::before { + content: '$'; + opacity: 0.5; + display: inline-block; + margin-left: -0.5rem; + margin-right: 0.5rem; +} + +pre[data-language='html']::before { + content: 'html'; +} + +pre[data-language='css']::before { + content: 'css'; +} + +pre[data-language='php']::before { + content: 'php'; +} diff --git a/src/styles/_mixins.scss b/src/global/_mixins.scss similarity index 70% rename from src/styles/_mixins.scss rename to src/global/_mixins.scss index 2811a785..5f562946 100644 --- a/src/styles/_mixins.scss +++ b/src/global/_mixins.scss @@ -20,66 +20,6 @@ white-space: nowrap; } -// Default transition -///////////////////////////////////// - -@mixin transition() { - transition: all ease-in-out 0.15s; -} - -// Dashed Dividers -///////////////////////////////////// - -@mixin divider() { - position: relative; - border-bottom: 1px dashed lighten($brand-grey-light, 20%); - margin-top: $spacer * $line-height; - margin-bottom: $spacer * $line-height; - - &::before { - content: ''; - position: absolute; - left: 0; - height: 1px; - bottom: -2px; - width: 100%; - border-bottom: 1px dashed #fff; - } - - :global(.dark) & { - border-bottom-color: darken($brand-main, 25%); - - &::before { - border-bottom-color: darken($brand-grey, 12%); - } - } -} - -@mixin divider-top() { - position: relative; - border-top: 1px dashed lighten($brand-grey-light, 20%); - margin-top: $spacer * $line-height; - margin-bottom: $spacer * $line-height; - - &::after { - content: ''; - position: absolute; - left: 0; - height: 1px; - top: 0; - width: 100%; - border-bottom: 1px dashed #fff; - } - - :global(.dark) & { - border-top-color: darken($brand-main, 25%); - - &::after { - border-bottom-color: darken($brand-grey, 12%); - } - } -} - // Layout breakout ///////////////////////////////////// diff --git a/src/global/_toast.css b/src/global/_toast.css new file mode 100644 index 00000000..c8b954ff --- /dev/null +++ b/src/global/_toast.css @@ -0,0 +1,32 @@ +#toast { + position: sticky; + z-index: 10; + bottom: calc(var(--spacer) / 2); + right: calc(var(--spacer) / 2); + left: calc(var(--spacer) / 2); + width: fit-content; + margin: 0 auto; + font-size: var(--font-size-small); + padding: calc(var(--spacer) / 3) var(--spacer); + animation: animation 0.2s ease-out backwards; +} + +#toast button { + font-family: inherit; + font-weight: inherit; + font-size: inherit; + color: inherit; +} + +#toast button span { + color: var(--link-color); +} + +@keyframes animation { + 0% { + transform: translateY(3rem); + } + 100% { + transform: translateY(0); + } +} diff --git a/src/global/_variables.css b/src/global/_variables.css new file mode 100644 index 00000000..3cd913ee --- /dev/null +++ b/src/global/_variables.css @@ -0,0 +1,126 @@ +:root { + /* Colors + ///////////////////////////////////// */ + + --brand-main: #015565; + --brand-cyan: #43a699; + --brand-main-light: #88bec8; + --brand-light: #e7eef4; + + --brand-grey: #4e5d63; + --brand-grey-dark: #323c41; + --brand-grey-light: #70858e; + --brand-grey-dimmed: #c3d8e0; + + --alert-info: #f7f1e4; + --alert-success: #dff0d8; + --alert-error: #f2dede; + + /* Backgrounds + ///////////////////////////////////// */ + + --body-background-color: var(--brand-light); + --box-background-color: rgba(255, 255, 255, 0.4); + + /* Text Colors + ///////////////////////////////////// */ + + --text-color: var(--brand-grey); + --text-color-light: var(--brand-grey-light); + --text-color-dimmed: var(--brand-grey-dimmed); + --color-headings: var(--brand-main); + --link-color: var(--brand-cyan); + --border-color: var(--brand-grey-dimmed); + + /* Base Typography + ///////////////////////////////////// */ + + --font-size-root: 18px; + + --font-size-base: 1rem; + --font-size-large: 1.15rem; + --font-size-small: 0.85rem; + --font-size-mini: 0.7rem; + + --font-size-h1: 3rem; + --font-size-h2: 2rem; + --font-size-h3: 1.5rem; + --font-size-h4: 1.2rem; + --font-size-h5: var(--font-size-large); + --font-size-h6: var(--font-size-base); + + --line-height: 1.7; + --line-height-small: 1.1428571429; + + --font-family-base: 'ff-tisa-sans-web-pro', 'Trebuchet MS', 'Helvetica Neue', + 'Helvetica', 'Arial', 'sans-serif'; + --font-weight-base: 400; + --font-weight-bold: 600; + + --font-family-monospace: 'Menlo', 'Consolas', 'Courier New', monospace; + + /* Headings + ///////////////////////////////////// */ + + --font-family-headings: 'brandon-grotesque', 'Avenir Next', 'Helvetica Neue', + 'Helvetica', 'Arial', 'sans-serif'; + --font-weight-headings: 700; + --line-height-headings: 1.4; + + /* Spacing + ///////////////////////////////////// */ + + --spacer: 2rem; + --padding-base-vertical: 0.75rem; + --padding-base-horizontal: 1.25rem; + + --border-radius: 0.25rem; + --stroke-width: 0.125rem; + + /* Code + ///////////////////////////////////// */ + + --code-color: var(--brand-light); + --kbd-color: var(--code-color); + + /* Responsive breakpoints + ///////////////////////////////////// */ + + --screen-xs: 30rem; + --screen-sm: 40rem; + --screen-md: 60rem; + --screen-lg: 87.5rem; + + /* Forms + ///////////////////////////////////// */ + + --input-bg: var(--body-background-color); + --input-bg-disabled: var(--brand-grey-light); + + --input-font-size: var(--font-size-base); + --input-font-weight: var(--font-weight-base); + + --input-color: var(--text-color); + --input-color-placeholder: var(--text-color-light); + + --input-border: var(--brand-grey-light); + --input-border-focus: var(--brand-cyan); + + /* Misc. + ///////////////////////////////////// */ + + --maxWidthContent: 47rem; + --maxWidthContainer: 80rem; + --easing: cubic-bezier(0.75, 0, 0.08, 1); +} + +.dark { + --body-background-color: #1d2224; + --box-background-color: rgba(0, 0, 0, 0.1); + + --text-color: #889da7; + --text-color-light: var(--brand-grey); + --text-color-dimmed: var(--brand-grey-dark); + --border-color: var(--brand-grey-dark); + --color-headings: var(--brand-main-light); +} diff --git a/src/global/global.css b/src/global/global.css new file mode 100644 index 00000000..10a46347 --- /dev/null +++ b/src/global/global.css @@ -0,0 +1,342 @@ +@import '_variables.css'; + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html, +body { + margin: 0; + padding: 0; +} + +html { + font-size: var(--font-size-root); + scroll-behavior: smooth; +} + +body { + font-family: var(--font-family-base); + font-weight: var(--font-weight-base); + font-size: var(--font-size-base); + line-height: var(--line-height); + color: var(--text-color); + text-rendering: optimizeLegibility; + font-feature-settings: 'liga', 'kern'; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + min-height: 100vh; + background: var(--body-background-color); + transition: 0.4s var(--easing); + position: relative; + + /* handling long text, like URLs */ + overflow-wrap: break-word; + word-wrap: break-word; + word-break: break-word; +} + +p, +ul, +ol { + margin: 0 0 var(--spacer); +} + +/* Reset fonts for relevant elements +///////////////////////////////////// */ + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +/* Reset default button element */ +button { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + outline: 0; +} + +button:active { + transition: none; + text-shadow: none; +} + +/* Links +///////////////////////////////////// */ + +a { + color: var(--brand-cyan); + text-decoration: none; + transition: 0.2s ease-out; +} + +a:hover, +a:focus { + text-decoration: underline; +} + +/* Headings +///////////////////////////////////// */ + +h1 { + font-size: var(--font-size-h1); +} + +h2 { + font-size: var(--font-size-h2); +} + +h3 { + font-size: var(--font-size-h3); +} + +h4 { + font-size: var(--font-size-h4); +} + +h5 { + font-size: var(--font-size-h5); +} + +h6 { + font-size: var(--font-size-h6); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: var(--font-family-headings); + line-height: var(--line-height-headings); + color: var(--color-headings); + font-weight: var(--font-weight-headings); + margin: 0 0 var(--spacer); + letter-spacing: -0.01em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + transition: color 0.2s ease-out; +} + +.wf-loading h1, +.wf-loading h2, +.wf-loading h3, +.wf-loading h4, +.wf-loading h5, +.wf-loading h6 { + font-weight: 600; +} + +/* Responsive Media +///////////////////////////////////// */ + +figure, +img, +svg, +video, +audio, +embed, +canvas, +picture { + max-width: 100%; + height: auto; + margin: 0 auto; + display: block; +} + +img { + vertical-align: middle; +} + +figcaption { + font-size: var(--font-size-small); + color: var(--text-color-light); + font-style: italic; + text-align: center; + margin-top: calc(var(--spacer) / 4); +} + +/* Lists +///////////////////////////////////// */ + +ul, +ol { + margin-top: 0; + margin-bottom: var(--spacer); + padding-left: var(--spacer); + list-style: none; +} + +li { + position: relative; + margin-bottom: calc(var(--spacer) / 2); +} + +li::before { + position: absolute; + left: -2rem; + top: -1px; + color: var(--text-color-light); + user-select: none; +} + +li p { + margin-bottom: 0; +} + +ul li::before { + /* horizontal bar: ― ― */ + content: ' \2015'; +} + +ol { + counter-reset: ol-counter; +} + +ol li::before { + content: counter(ol-counter) '.'; + counter-increment: ol-counter; +} + +ol ul li::before { + display: none; +} + +/* Inline typography +///////////////////////////////////// */ + +b, +strong, +.bold { + font-weight: var(--font-weight-bold); + font-style: normal; +} + +em, +.italic { + font-style: italic; +} + +abbr[title], +dfn { + text-transform: none; + font-style: normal; + font-size: inherit; + border-bottom: 1px dashed var(--brand-grey-dimmed); + cursor: help; + font-feature-settings: inherit; +} + +mark { + background: #fffaab; + color: var(--text-color); +} + +hr { + margin: 0; + border: 0; +} + +/* Quotes +///////////////////////////////////// */ + +q { + font-style: italic; +} + +cite { + font-style: normal; + text-transform: uppercase; +} + +blockquote, +blockquote > p { + font-style: italic; + color: var(--text-color-light); +} + +blockquote { + margin: 0 0 var(--spacer); + position: relative; + padding-left: calc(var(--spacer) * 1.25); +} + +/* quotation marks */ +blockquote::before { + content: '“'; + font-size: 300%; + color: var(--text-color-dimmed); + position: absolute; + left: -10px; + top: -20px; +} + +table { + border-spacing: 0; + border-collapse: collapse; + display: block; + width: 100%; + overflow: auto; + margin-bottom: var(--spacer); +} + +th { + text-align: left; + border-top: 1px solid var(--border-color); +} + +th, +td { + padding: calc(var(--spacer) / 2); + word-wrap: normal; + word-break: normal; + overflow-wrap: normal; + border-bottom: 1px solid var(--border-color); +} + +/* Selection +///////////////////////////////////// */ + +::-moz-selection { + background: #2e4f5c; + color: #fff; +} + +::selection { + background: #2e4f5c; + color: #fff; +} + +/* More basic elements +///////////////////////////////////// */ + +@import '_code.css'; +/* @import '_buttons'; +@import '_alerts'; */ +@import '_toast.css'; + +.medium-zoom-overlay { + background-color: var(--body-background-color) !important; +} + +#___gatsby { + /* // display: flex; + // min-height: 100vh; + // flex-direction: column; */ + position: relative; +} + +.gatsby-resp-image-figure { + margin-bottom: var(--spacer); +} diff --git a/src/pages/404.module.css b/src/pages/404.module.css new file mode 100644 index 00000000..b6511828 --- /dev/null +++ b/src/pages/404.module.css @@ -0,0 +1,76 @@ +.wrapper { + text-align: center; + margin-bottom: calc(var(--spacer) * 4); +} + +.title { + font-size: var(--font-size-h3); + margin-top: 0; + margin-bottom: calc(var(--spacer) / 4); +} + +.text { + font-size: var(--font-size-base); + color: var(--brand-grey-light); +} + +/* HAL needs a size */ +:root { + --hal-size: 72px; +} + +.hal9000 { + width: var(--hal-size); + height: var(--hal-size); + border-radius: var(--hal-size); + background: #444; + padding: 1.5em; + margin: var(--spacer) auto; + position: relative; + border: 4px solid #ccc; + box-shadow: inset 0 0 10px #000; +} + +/* // eye */ +.hal9000::before { + content: ''; + width: 100%; + height: 100%; + border-radius: 100%; + display: block; + background: red; + box-shadow: 0 0 5px red, 0 0 10px red, 0 0 15px red, 0 0 20px red, + 0 0 25px red, 0 0 30px red, 0 0 40px red; + animation: halpulse 7s infinite; +} + +/* // gloss */ +.hal9000::after { + content: ''; + position: absolute; + width: var(--hal-size); + height: var(--hal-size); + border-radius: var(--hal-size); + left: 0; + top: 0; + background-image: linear-gradient( + 135deg, + rgba(255, 255, 255, 0.07) 0%, + rgba(255, 255, 255, 0.07) 40%, + rgba(255, 255, 255, 0) 41% + ); +} + +@keyframes halpulse { + 0% { + opacity: 1; + } + + 50% { + opacity: 0.6; + } + + 100% { + opacity: 1; + } +} diff --git a/src/pages/404.module.scss b/src/pages/404.module.scss deleted file mode 100644 index d53ce88a..00000000 --- a/src/pages/404.module.scss +++ /dev/null @@ -1,76 +0,0 @@ -@import 'variables'; - -.wrapper { - text-align: center; - margin-bottom: $spacer * 4; -} - -.title { - font-size: $font-size-h3; - margin-top: 0; - margin-bottom: $spacer / 4; -} - -.text { - font-size: $font-size-base; - color: $brand-grey-light; -} - -// HAL needs a size -$hal-size: 72px; - -.hal9000 { - width: $hal-size; - height: $hal-size; - border-radius: $hal-size; - background: #444; - padding: 1.5em; - margin: $spacer auto; - position: relative; - border: 4px solid #ccc; - box-shadow: inset 0 0 10px #000; - - // eye - &::before { - content: ''; - width: 100%; - height: 100%; - border-radius: 100%; - display: block; - background: red; - box-shadow: 0 0 5px red, 0 0 10px red, 0 0 15px red, 0 0 20px red, - 0 0 25px red, 0 0 30px red, 0 0 40px red; - animation: halpulse 7s infinite; - } - - // gloss - &::after { - content: ''; - position: absolute; - width: $hal-size; - height: $hal-size; - border-radius: $hal-size; - left: 0; - top: 0; - background-image: linear-gradient( - 135deg, - rgba(255, 255, 255, 0.07) 0%, - rgba(255, 255, 255, 0.07) 40%, - rgba(255, 255, 255, 0) 41% - ); - } -} - -@keyframes halpulse { - 0% { - opacity: 1; - } - - 50% { - opacity: 0.6; - } - - 100% { - opacity: 1; - } -} diff --git a/src/pages/404.tsx b/src/pages/404.tsx index 330f0078..2effabf6 100644 --- a/src/pages/404.tsx +++ b/src/pages/404.tsx @@ -1,7 +1,7 @@ import React, { ReactElement } from 'react' import { Link, PageProps } from 'gatsby' import Page from '../components/templates/Page' -import styles from './404.module.scss' +import styles from './404.module.css' const page = { frontmatter: { diff --git a/src/pages/index.module.css b/src/pages/index.module.css new file mode 100644 index 00000000..1525e156 --- /dev/null +++ b/src/pages/index.module.css @@ -0,0 +1,46 @@ +.section { + composes: breakout from '../components/atoms/Breakout.module.css'; +} + +.section:not(:first-child) { + margin-top: calc(var(--spacer) * 3); +} + +.articles, +.photos { + display: grid; + gap: var(--spacer); +} + +@media (min-width: 40rem) { + .articles { + gap: calc(var(--spacer) * 1.5); + grid-template-columns: repeat(2, 1fr); + } +} + +.articles:first-of-type h1 { + font-size: var(--font-size-h4); +} + +.articlesLast { + margin-top: calc(var(--spacer) * 1.5); +} + +@media (min-width: 40rem) { + .articlesLast { + gap: calc(var(--spacer) * 1.5); + grid-template-columns: repeat(3, 1fr); + } +} + +.photos { + grid-template-columns: repeat(2, 1fr); +} + +@media (min-width: 40rem) { + .photos { + gap: calc(var(--spacer) * 1.5); + grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); + } +} diff --git a/src/pages/index.module.scss b/src/pages/index.module.scss deleted file mode 100644 index 20b9a574..00000000 --- a/src/pages/index.module.scss +++ /dev/null @@ -1,47 +0,0 @@ -@import 'variables'; -@import 'mixins'; - -.section { - @media (min-width: $screen-md) { - @include breakoutviewport; - } -} - -.section:not(:first-child) { - margin-top: $spacer * 3; -} - -.articles, -.photos { - display: grid; - gap: $spacer; -} - -.articles { - @media (min-width: $screen-sm) { - gap: $spacer * 1.5; - grid-template-columns: repeat(2, 1fr); - } -} - -.articles:first-of-type h1 { - font-size: $font-size-h4; -} - -.articlesLast { - margin-top: $spacer * 1.5; - - @media (min-width: $screen-sm) { - gap: $spacer * 1.5; - grid-template-columns: repeat(3, 1fr); - } -} - -.photos { - grid-template-columns: repeat(2, 1fr); - - @media (min-width: $screen-sm) { - gap: $spacer * 1.5; - grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); - } -} diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 76e4c75f..dabba802 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -5,7 +5,7 @@ import SEO from '../components/atoms/SEO' import PostTeaser from '../components/molecules/PostTeaser' import { PhotoThumb } from '../components/templates/Photos' import PostMore from '../components/templates/Post/More' -import styles from './index.module.scss' +import styles from './index.module.css' export default function Home({ data }: PageProps): ReactElement { return ( diff --git a/src/pages/tags.module.css b/src/pages/tags.module.css new file mode 100644 index 00000000..46fa703e --- /dev/null +++ b/src/pages/tags.module.css @@ -0,0 +1,15 @@ +.tags { + list-style: none; + padding: 0; + text-align: center; +} + +.tags li { + display: inline-block; + margin-top: calc(var(--spacer) / 4); + margin-bottom: calc(var(--spacer) / 4); +} + +.tags li::before { + display: none; +} diff --git a/src/pages/tags.module.scss b/src/pages/tags.module.scss deleted file mode 100644 index 9e0872aa..00000000 --- a/src/pages/tags.module.scss +++ /dev/null @@ -1,17 +0,0 @@ -@import 'variables'; - -.tags { - list-style: none; - padding: 0; - text-align: center; - - li { - display: inline-block; - margin-top: $spacer / 4; - margin-bottom: $spacer / 4; - - &::before { - display: none; - } - } -} diff --git a/src/pages/tags.tsx b/src/pages/tags.tsx index ff3e9251..3ada7070 100644 --- a/src/pages/tags.tsx +++ b/src/pages/tags.tsx @@ -2,7 +2,7 @@ import React, { ReactElement } from 'react' import { graphql, PageProps } from 'gatsby' import Page from '../components/templates/Page' import Tag from '../components/atoms/Tag' -import styles from './tags.module.scss' +import styles from './tags.module.css' const page = { frontmatter: { diff --git a/src/pages/thanks.module.css b/src/pages/thanks.module.css new file mode 100644 index 00000000..e08ff4dd --- /dev/null +++ b/src/pages/thanks.module.css @@ -0,0 +1,92 @@ +.buttonBack { + margin-bottom: var(--spacer); + display: block; +} + +@media (min-width: 60rem) { + .buttonBack { + margin-top: -2rem; + } +} + +.buttonBack svg { + stroke: var(--text-color-light); + display: inline-block; + margin-bottom: -0.15rem; +} + +.thanks { + min-height: 100vh; +} + +.thanks h4 { + text-align: center; + margin: 0; + margin-bottom: cal(var(--spacer) / 2); + color: var(--text-color); + text-transform: capitalize; +} + +.thanks header { + width: 100%; + text-align: center; + margin-bottom: var(--spacer); +} + +.thanks header h4 { + font-size: var(--font-size-large); + margin-top: 0; + margin-bottom: calc(var(--spacer) / 6); +} + +.thanks header p { + color: var(--text-color-light); +} + +.title { + margin-top: 0; + margin-bottom: calc(var(--spacer) * 2); + font-size: var(--font-size-h2); +} + +.web3 { + width: 100%; + text-align: center; + margin-top: calc(var(--spacer) / 2); + margin-bottom: calc(var(--spacer) * 2); + padding-bottom: var(--spacer); +} + +.web3 small { + /* color: darken($alert-info, 60%); */ + margin-top: -1rem; + display: block; +} + +.coins { + width: 100%; +} + +@media (min-width: 40rem) { + .coins { + display: flex; + justify-content: space-between; + flex-wrap: wrap; + } +} + +.coin { + margin-top: var(--spacer); +} + +@media (min-width: 40rem) { + .coin { + width: 48%; + margin-top: 0; + } +} + +.loading { + width: 100%; + text-align: center; +} diff --git a/src/pages/thanks.module.scss b/src/pages/thanks.module.scss deleted file mode 100644 index e7bb70dd..00000000 --- a/src/pages/thanks.module.scss +++ /dev/null @@ -1,100 +0,0 @@ -@import 'variables'; -@import 'mixins'; - -.buttonBack { - margin-bottom: $spacer; - display: block; - - @media (min-width: $screen-md) { - margin-top: -($spacer); - } - - svg { - stroke: $brand-grey-light; - display: inline-block; - margin-bottom: -0.15rem; - } -} - -.thanks { - @include breakoutviewport; - - min-height: 100vh; - - h4 { - text-align: center; - margin: 0; - margin-bottom: $spacer / 2; - color: $brand-grey; - text-transform: capitalize; - - :global(.dark) & { - color: $brand-grey-light; - } - } - - header { - width: 100%; - text-align: center; - margin-bottom: $spacer; - - // stylelint-disable-next-line no-descending-specificity - h4 { - font-size: $font-size-large; - margin-top: 0; - margin-bottom: $spacer / 6; - } - - p { - color: $brand-grey-light; - - :global(.dark) & { - color: $brand-grey; - } - } - } -} - -.title { - margin-top: 0; - margin-bottom: $spacer * 2; - font-size: $font-size-h2; -} - -.web3 { - width: 100%; - text-align: center; - margin-top: $spacer / 2; - margin-bottom: $spacer * 2; - padding-bottom: $spacer; - - small { - color: darken($alert-info, 60%); - margin-top: -($spacer / 2); - display: block; - } -} - -.coins { - width: 100%; - - @media (min-width: $screen-sm) { - display: flex; - justify-content: space-between; - flex-wrap: wrap; - } -} - -.coin { - margin-top: $spacer; - - @media (min-width: $screen-sm) { - width: 48%; - margin-top: 0; - } -} - -.loading { - width: 100%; - text-align: center; -} diff --git a/src/pages/thanks.tsx b/src/pages/thanks.tsx index 51aa3e2a..40b0627c 100644 --- a/src/pages/thanks.tsx +++ b/src/pages/thanks.tsx @@ -8,7 +8,7 @@ import { useSiteMetadata } from '../hooks/use-site-metadata' import { getLibrary } from '../hooks/use-web3' import Qr from '../components/atoms/Qr' import Icon from '../components/atoms/Icon' -import styles from './thanks.module.scss' +import styles from './thanks.module.css' const LazyWeb3Donation = loadable( () => import('../components/molecules/Web3Donation') diff --git a/src/styles/_alerts.scss b/src/styles/_alerts.scss deleted file mode 100644 index b61d561f..00000000 --- a/src/styles/_alerts.scss +++ /dev/null @@ -1,52 +0,0 @@ -@import 'variables'; - -.alert { - padding: $spacer / 2; - margin-bottom: $spacer; - border-radius: $border-radius; - border: 1px solid transparent; - box-shadow: 0 3px 10px rgba($brand-grey, 0.1), inset 0 1px 0 #fff; - - @media (min-width: $screen-sm) { - padding: $spacer; - } - - .dark & { - box-shadow: 0 3px 10px rgba(black, 0.2), - inset 0 1px 0 rgba(255, 255, 255, 0.2); - } - - > p, - > ul { - margin-bottom: 0; - } - - > p + p { - margin-top: $spacer; - } -} - -.alert-success { - color: darken($alert-success, 60%); - background: $alert-success; - border-color: darken($alert-success, 10%); -} - -.alert-danger, -.alert-error { - color: darken($alert-error, 60%); - background: $alert-error; - border-color: darken($alert-error, 10%); -} - -.alert-info { - color: darken($alert-info, 60%); - background: $alert-info; - border-color: darken($alert-info, 10%); - - .dark & { - color: darken($alert-info, 40%); - background: darken($alert-info, 85%); - border-color: darken($alert-info, 90%); - } -} diff --git a/src/styles/_code.scss b/src/styles/_code.scss deleted file mode 100644 index 731e536e..00000000 --- a/src/styles/_code.scss +++ /dev/null @@ -1,150 +0,0 @@ -@import 'variables'; - -code, -kbd, -pre, -samp { - font-family: $font-family-monospace; - font-size: $font-size-small; -} - -code, -kbd { - padding: 0.1rem 0.3rem; -} - -code, -samp { - white-space: normal; - color: inherit; - background-color: rgba($code-bg, 0.05); - border-radius: $border-radius; - - :global(.dark) & { - background-color: rgba($code-bg, 0.7); - } -} - -kbd { - color: $kbd-color; - background-color: $kbd-bg; - border-radius: $border-radius; - border: 1px solid $kbd-bg; - box-shadow: inset 0 1px 0 rgba(#fff, 0.4); - padding: 0.15rem 0.4rem; -} - -pre { - @include breakoutviewport; - - position: relative; - display: block; - padding: 0; - margin-bottom: $spacer; - line-height: $line-height; - color: $code-color; - background-color: $code-bg; - border-radius: $border-radius; - - // overwrite Nord theme background color - &, - &:global(.nord) { - background-color: $code-bg; - } - - // overwrite Polar theme background color - &:global(.polar) { - background-color: lighten($body-background-color, 3%); - } - - // make 'em scrollable - overflow: auto; - -webkit-overflow-scrolling: touch; - max-height: 800px; - - // stylelint-disable no-descending-specificity - code { - padding: $spacer $spacer / 2; - white-space: pre; - display: block; - color: inherit; - overflow-wrap: normal; - word-wrap: normal; - word-break: normal; - - &, - :global(.dark) & { - background: none; - } - - @media (min-width: $screen-sm) { - padding: $spacer; - } - } - - &::-webkit-scrollbar { - width: 0.35rem; - height: 0.35rem; - } - - &::-webkit-scrollbar-thumb { - background: rgba($brand-main, 0.8); - border-radius: $border-radius; - } - - &::-webkit-scrollbar-track { - background: rgba($brand-main, 0.2); - border-bottom-left-radius: $border-radius; - border-bottom-right-radius: $border-radius; - } - // stylelint-enable no-descending-specificity -} - -pre[data-language]::before { - background: $brand-grey; - border-radius: 0 0 $border-radius $border-radius; - color: $brand-grey-dimmed; - font-size: $font-size-mini; - font-family: $font-family-base; - letter-spacing: 0.05em; - line-height: 1; - padding: 0.25rem 0.5rem; - position: absolute; - right: $spacer / 2; - top: 0; -} - -pre[data-language='js']::before { - content: 'js'; -} - -pre[data-language='bash'] { - &::before { - content: 'bash'; - } - - .grvsc-line:only-child { - padding-left: 0.5rem; - display: block; - - &::before { - content: '$'; - opacity: 0.5; - display: inline-block; - margin-left: -0.5rem; - margin-right: 0.5rem; - } - } -} - -pre[data-language='html']::before { - content: 'html'; -} - -pre[data-language='css']::before { - content: 'css'; -} - -pre[data-language='php']::before { - content: 'php'; -} diff --git a/src/styles/_toast.scss b/src/styles/_toast.scss deleted file mode 100644 index a00cafaf..00000000 --- a/src/styles/_toast.scss +++ /dev/null @@ -1,34 +0,0 @@ -@import 'variables'; - -#toast { - position: sticky; - z-index: 10; - bottom: $spacer / 2; - right: $spacer / 2; - left: $spacer / 2; - width: fit-content; - margin: 0 auto; - font-size: $font-size-small; - padding: $spacer / 3 $spacer; - animation: animation 0.2s ease-out backwards; - - button { - font-family: inherit; - font-weight: inherit; - font-size: inherit; - color: inherit; - - span { - color: $link-color; - } - } -} - -@keyframes animation { - 0% { - transform: translateY(3rem); - } - 100% { - transform: translateY(0); - } -} diff --git a/src/styles/_variables.scss b/src/styles/_variables.scss deleted file mode 100644 index 5c0d7ac3..00000000 --- a/src/styles/_variables.scss +++ /dev/null @@ -1,119 +0,0 @@ -$imageMaxWidth: 940px; -$easing: cubic-bezier(0.75, 0, 0.08, 1); - -// Colors -///////////////////////////////////// - -$brand-main: #015565; -$brand-cyan: #43a699; -$brand-main-light: #88bec8; -$brand-light: #e7eef4; - -$brand-grey: #4e5d63; -$brand-grey-light: lighten($brand-grey, 15%); -$brand-grey-dimmed: lighten($brand-grey, 50%); - -$alert-info: #f7f1e4; -$alert-success: #dff0d8; -$alert-error: #f2dede; - -// Backgrounds -///////////////////////////////////// - -$body-background-color: $brand-light; -$body-background-color--dark: darken($brand-grey, 22%); - -// Text Colors -///////////////////////////////////// - -$text-color: $brand-grey; -$text-color-light: $brand-grey-light; - -$text-color--dark: lighten($brand-grey-light, 15%); -$text-color-light--dark: darken($brand-grey-light, 5%); - -$link-color: $brand-cyan; -$link-color-hover: lighten($link-color, 10%); -$link-color-active: darken($link-color, 10%); - -// Base Typography -///////////////////////////////////// - -$font-size-root: 18px; - -$font-size-base: 1rem; -$font-size-large: 1.15rem; -$font-size-small: 0.85rem; -$font-size-mini: 0.7rem; - -$font-size-h1: 3rem; -$font-size-h2: 2rem; -$font-size-h3: 1.5rem; -$font-size-h4: 1.2rem; -$font-size-h5: $font-size-large; -$font-size-h6: $font-size-base; - -$line-height: 1.6; -$line-height-small: 1.1428571429; - -$font-family-base: 'ff-tisa-sans-web-pro', 'Trebuchet MS', 'Helvetica Neue', - 'Helvetica', 'Arial', 'sans-serif'; -$font-weight-base: 400; - -$font-family-monospace: 'Menlo', 'Consolas', 'Courier New', monospace; - -// Headings -///////////////////////////////////// - -$font-family-headings: 'brandon-grotesque', 'Avenir Next', 'Helvetica Neue', - 'Helvetica', 'Arial', 'sans-serif'; -$font-weight-headings: 700; -$line-height-headings: 1.1; - -$color-headings: $brand-main; -$color-headings--dark: $brand-main-light; - -// Spacing -///////////////////////////////////// - -$spacer: 1.7rem; -$padding-base-vertical: 0.75rem; -$padding-base-horizontal: 1.25rem; - -$border-radius: 0.25rem; -$stroke-width: 0.125rem; - -// Code -///////////////////////////////////// - -$code-bg: darken($brand-grey, 15%); -$code-color: $brand-light; -$kbd-bg: $code-bg; -$kbd-color: $code-color; - -// Responsive breakpoints -///////////////////////////////////// - -$screen-xs: 30em; -$screen-sm: 40.625em; -$screen-md: 60em; -$screen-lg: 87.5em; - -// Forms -///////////////////////////////////// - -$input-bg: darken($body-background-color, 5%); -$input-bg--dark: darken($body-background-color--dark, 5%); -$input-bg-disabled: $brand-grey-light; - -$input-font-size: $font-size-base; -$input-font-weight: $font-weight-base; - -$input-color: $text-color; -$input-color--dark: $text-color--dark; -$input-color-placeholder: $brand-grey-light; -$input-color-placeholder--dark: $brand-grey; - -$input-border: $brand-grey-light; -$input-border-radius: $border-radius; -$input-border-focus: $brand-cyan; diff --git a/src/styles/global.scss b/src/styles/global.scss deleted file mode 100644 index f310ad58..00000000 --- a/src/styles/global.scss +++ /dev/null @@ -1,417 +0,0 @@ -@import 'variables'; -@import 'mixins'; - -* { - &, - &::before, - &::after { - box-sizing: border-box; - } -} - -html, -body { - margin: 0; - padding: 0; -} - -html { - font-size: $font-size-root; - scroll-behavior: smooth; -} - -body { - font-family: $font-family-base; - font-weight: $font-weight-base; - font-size: $font-size-base; - line-height: $line-height; - color: $text-color; - text-rendering: optimizeLegibility; - font-feature-settings: 'liga', 'kern'; - min-height: 100vh; - transition: background 0.4s $easing; - background: $body-background-color; - position: relative; - - // handling long text, like URLs - overflow-wrap: break-word; - word-wrap: break-word; - word-break: break-word; - - &.dark { - background-color: $body-background-color--dark; - color: $text-color--dark; - } -} - -p, -ul, -ol { - margin: 0 0 $spacer; -} - -// Reset fonts for relevant elements -///////////////////////////////////// - -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -// Reset default button element -button { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; - outline: 0; - - &:active { - transition: none; - text-shadow: none; - } -} - -// Links -///////////////////////////////////// - -a { - color: $link-color; - text-decoration: none; - transition: 0.2s ease-out; - - &:hover, - &:focus { - outline: 0; - color: $link-color-hover; - } - - &:active { - transition: none; - color: $link-color-active; - } -} - -// Headings -///////////////////////////////////// - -h1 { - font-size: $font-size-h2; - - @media (min-width: $screen-xs) { - font-size: $font-size-h1; - } -} - -h2 { - font-size: $font-size-h3; - - @media (min-width: $screen-xs) { - font-size: $font-size-h2; - } -} - -h3 { - font-size: $font-size-h4; - - @media (min-width: $screen-xs) { - font-size: $font-size-h3; - } -} - -h4 { - font-size: $font-size-h5; - - @media (min-width: $screen-xs) { - font-size: $font-size-h4; - } -} - -h5 { - font-size: $font-size-h6; - - @media (min-width: $screen-xs) { - font-size: $font-size-h5; - } -} - -h6 { - font-size: $font-size-h6; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: $font-family-headings; - line-height: $line-height-headings; - font-weight: $font-weight-headings; - letter-spacing: -0.01em; - margin-top: $spacer * $line-height; - margin-bottom: $spacer; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - transition: color 0.2s $easing; - - .wf-loading & { - font-weight: 600; - } - - // stylelint-disable no-descending-specificity - &, - a { - color: $color-headings; - } - // stylelint-enable no-descending-specificity - - .dark &, - .dark & a { - color: $color-headings--dark; - } - - a:hover &, - a:focus &, - .dark a:hover &, - .dark a:focus & { - color: $link-color; - } -} - -// Responsive Media -///////////////////////////////////// - -figure, -img, -svg, -video, -audio, -embed, -canvas, -picture { - max-width: 100%; - height: auto; - margin: 0 auto; - display: block; -} - -img { - vertical-align: middle; -} - -figcaption { - font-size: $font-size-small; - color: $text-color-light; - font-style: italic; - text-align: center; - margin-top: ($spacer / 4); - - .dark & { - color: $text-color-light--dark; - } -} - -// Lists -///////////////////////////////////// - -ul { - li { - &::before { - content: ' \2015'; // horizontal bar: ― ― - } - } -} - -ol { - counter-reset: ol-counter; - - li { - &::before { - content: counter(ol-counter) '.'; - counter-increment: ol-counter; - } - } - - ul li::before { - display: none; - } -} - -ul, -ol { - margin-top: 0; - margin-bottom: $spacer; - padding-left: $spacer; - list-style: none; - - li { - position: relative; - margin-bottom: $spacer / 2; - - // stylelint-disable no-descending-specificity - &::before { - position: absolute; - left: -($spacer); - top: -1px; - color: $text-color-light; - user-select: none; - } - // stylelint-enable no-descending-specificity - - p { - margin-bottom: 0; - } - } - - ul, - ol { - margin-top: $spacer / 4; - margin-bottom: 0; - - li { - margin: 0; - } - } -} - -// Inline typography -///////////////////////////////////// - -b, -strong, -.bold { - font-weight: 700; - font-style: normal; -} - -em, -.italic { - font-style: italic; -} - -abbr[title], -dfn { - text-transform: none; - font-style: normal; - font-size: inherit; - border-bottom: 1px dashed $brand-grey-dimmed; - cursor: help; - font-feature-settings: inherit; -} - -mark { - background: #fffaab; - color: $text-color; -} - -hr { - margin: 0; - border: 0; - - @include divider(); -} - -// Quotes -///////////////////////////////////// - -q { - font-style: italic; -} - -cite { - font-style: normal; - text-transform: uppercase; -} - -// stylelint-disable no-descending-specificity -blockquote, -blockquote > p { - font-style: italic; - color: $brand-grey-light; -} -// stylelint-enable no-descending-specificity - -blockquote { - margin: 0 0 $spacer; - position: relative; - padding-left: $spacer * 1.25; - - // quotation marks - &::before { - content: '“'; - font-size: 300%; - color: lighten($brand-grey-light, 20%); - position: absolute; - left: -10px; - top: -20px; - - @media (min-width: $screen-xs) { - left: 0; - } - - @media (min-width: $screen-lg) { - top: -30px; - } - } -} - -table { - border-spacing: 0; - border-collapse: collapse; - display: block; - width: 100%; - overflow: auto; - margin-bottom: $spacer; - - th { - text-align: left; - border-top: 1px solid $brand-grey-dimmed; - } - - th, - td { - padding: $spacer / 2; - word-wrap: normal; - word-break: normal; - overflow-wrap: normal; - border-bottom: 1px solid $brand-grey-dimmed; - } - - :global(.dark) & { - th, - td { - border-color: $brand-grey; - } - } -} - -// Selection -///////////////////////////////////// - -::-moz-selection { - background: #2e4f5c; - color: #fff; -} - -::selection { - background: #2e4f5c; - color: #fff; -} - -// More basic elements -///////////////////////////////////// - -@import 'code'; -@import 'buttons'; -@import 'alerts'; -@import 'toast'; - -.dark .medium-zoom-overlay { - background-color: $body-background-color--dark !important; -}