From ce9ba265014455c483bb7a74a496590c75c7ca73 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 25 Jun 2019 01:53:14 +0000 Subject: [PATCH 01/64] refactor(eslint-config): lint dotfiles --- .eslintignore | 1 + .eslintrc.js | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 .eslintignore diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 000000000..9f2dd3ba0 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +!.* diff --git a/.eslintrc.js b/.eslintrc.js index 3b9f17d58..d2d78814b 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -9,7 +9,7 @@ module.exports = { }, settings: { 'import/ignore': [ - '\.worker\.js$' - ] - } + '.worker.js$', + ], + }, } From 81f1924eceff89572d0b3ec99f34ad204c0c4310 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 25 Jun 2019 01:53:51 +0000 Subject: [PATCH 02/64] chore: add vscode editor config settings for the workspace --- .vscode/settings.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..c82c79bfb --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "css.validate": false, + "less.validate": false, + "scss.validate": false, + "editor.tabSize": 2, + "editor.insertSpaces": true, +} From 04b2df13723510cbec32da8bc5ae4930866bcc84 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 25 Jun 2019 07:16:40 +0000 Subject: [PATCH 03/64] chore: add stylelint and associated scripts/configs --- .gitignore | 1 + .stylelintrc.js | 3 + package.json | 5 + postcss.config.js | 9 +- yarn.lock | 997 +++++++++++++++++++++++++++++++++++++++++++++- 5 files changed, 996 insertions(+), 19 deletions(-) create mode 100644 .stylelintrc.js diff --git a/.gitignore b/.gitignore index a9982633c..3ecfdf68e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ .idea/ .next .env +.stylelintcache bower_components node_modules static/compiled diff --git a/.stylelintrc.js b/.stylelintrc.js new file mode 100644 index 000000000..3d658a686 --- /dev/null +++ b/.stylelintrc.js @@ -0,0 +1,3 @@ +module.exports = { + extends: '@fuelrats/stylelint-config', +} diff --git a/package.json b/package.json index 50369fcf8..584ec6725 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "analyze": "cross-env ANALYZE=1 next build", "build": "next build client", "dev": "node --inspect server/server.js", + "lintscss": "stylelint \"client/scss/**/*.scss\" --fix --cache", "postinstall": "npm rebuild node-sass" }, "devDependencies": { @@ -26,6 +27,7 @@ "@fortawesome/free-solid-svg-icons": "^5.9.0", "@fortawesome/react-fontawesome": "^0.1.4", "@fuelrats/eslint-config-react": "0.11.0", + "@fuelrats/stylelint-config": "^0.1.0", "@zeit/next-sass": "^1.0.1", "@zeit/next-workers": "1.0.1-canary.1", "autoprefixer": "^9.6.0", @@ -77,6 +79,9 @@ "request": "^2.88.0", "reselect": "^4.0.0", "stripe": "^7.2.0", + "stylelint": "^10.1.0", + "stylelint-order": "^3.0.0", + "stylelint-scss": "^3.8.0", "uuid": "^3.3.2", "webpack": "4.35.0", "webpack-bundle-analyzer": "^3.1.0", diff --git a/postcss.config.js b/postcss.config.js index 4ff33d252..6731fa5ef 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,7 +1,12 @@ /* eslint-disable global-require */ module.exports = { plugins: [ - require('postcss-easy-import')({ prefix: '_' }), // keep this first - require('autoprefixer')({ /* ...options */ }), // so imports are auto-prefixed too + require('postcss-easy-import')({ + prefix: '_', + plugins: ([ + require('stylelint')({}), // lint before merge. + ]), + }), // inline @imports + require('autoprefixer')({}), // so imports are auto-prefixed too ], } diff --git a/yarn.lock b/yarn.lock index dcd94fcd8..de60c7c2d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -29,7 +29,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@7.4.5": +"@babel/core@7.4.5", "@babel/core@>=7.2.2": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.5.tgz#081f97e8ffca65a9b4b0fdc7e274e703f000c06a" integrity sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA== @@ -835,6 +835,24 @@ dependencies: eslint-restricted-globals "^0.2.0" +"@fuelrats/stylelint-config@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@fuelrats/stylelint-config/-/stylelint-config-0.1.0.tgz#e0c6f327c998cb3d46fa5057319369f9e5001411" + integrity sha512-umRAKW7Jw8bKKLbigUqrqfA9KEYH+gdPeNNGpoSNmEQjYDeLTH8q6crYWUOwXrHZ8IBqCwMAu1GrtqMOkqdpOQ== + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== + "@react-spring/addons@^9.0.0-beta.23": version "9.0.0-beta.23" resolved "https://registry.yarnpkg.com/@react-spring/addons/-/addons-9.0.0-beta.23.tgz#8b15266b1131f3771ecf4bbd72b4fbac3c62eed8" @@ -934,6 +952,20 @@ "@types/events" "*" "@types/node" "*" +"@types/glob@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" + integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== + dependencies: + "@types/events" "*" + "@types/minimatch" "*" + "@types/node" "*" + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + "@types/node@*": version "12.0.10" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.10.tgz#51babf9c7deadd5343620055fc8aff7995c8b031" @@ -944,6 +976,28 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== +"@types/unist@*", "@types/unist@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" + integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== + +"@types/vfile-message@*": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-1.0.1.tgz#e1e9895cc6b36c462d4244e64e6d0b6eaf65355a" + integrity sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA== + dependencies: + "@types/node" "*" + "@types/unist" "*" + +"@types/vfile@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/vfile/-/vfile-3.0.2.tgz#19c18cd232df11ce6fa6ad80259bc86c366b09b9" + integrity sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw== + dependencies: + "@types/node" "*" + "@types/unist" "*" + "@types/vfile-message" "*" + "@webassemblyjs/ast@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" @@ -1522,7 +1576,7 @@ array-reduce@~0.0.0: resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= -array-union@^1.0.1: +array-union@^1.0.1, array-union@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= @@ -1539,7 +1593,7 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -arrify@^1.0.0: +arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= @@ -1651,7 +1705,7 @@ autodll-webpack-plugin@0.4.2: webpack-merge "^4.1.0" webpack-sources "^1.0.1" -autoprefixer@^9.6.0: +autoprefixer@^9.5.1, autoprefixer@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.0.tgz#0111c6bde2ad20c6f17995a33fad7cf6854b4c87" integrity sha512-kuip9YilBqhirhHEGHaBTZKXL//xxGnzvsD0FtBQa6z+A69qZD6s/BAX9VzDF1i9VKDquTJDQaPLSEhOnL6FvQ== @@ -1780,6 +1834,11 @@ babel-types@6.26.0: lodash "^4.17.4" to-fast-properties "^1.0.3" +bail@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz#7181b66d508aa3055d3f6c13f0a0c720641dde9b" + integrity sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww== + balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -1892,6 +1951,13 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" +braces@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -2042,6 +2108,11 @@ cache-content-type@^1.0.0: mime-types "^2.1.18" ylru "^1.2.0" +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -2074,6 +2145,15 @@ camelcase-keys@^2.0.0: camelcase "^2.0.0" map-obj "^1.0.0" +camelcase-keys@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" + integrity sha1-oqpfsa9oh1glnDLBQUJteJI7m3c= + dependencies: + camelcase "^4.1.0" + map-obj "^2.0.0" + quick-lru "^1.0.0" + camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -2084,6 +2164,11 @@ camelcase@^3.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + camelcase@^5.0.0: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -2099,7 +2184,12 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +ccount@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386" + integrity sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w== + +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2119,6 +2209,26 @@ chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +character-entities-html4@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.3.tgz#5ce6e01618e47048ac22f34f7f39db5c6fd679ef" + integrity sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg== + +character-entities-legacy@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4" + integrity sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww== + +character-entities@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz#bbed4a52fe7ef98cc713c6d80d9faa26916d54e6" + integrity sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w== + +character-reference-invalid@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz#1647f4f726638d3ea4a750cf5d1975c1c7919a85" + integrity sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg== + chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -2223,6 +2333,13 @@ clone-deep@^0.3.0: kind-of "^3.2.2" shallow-clone "^0.1.2" +clone-regexp@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" + integrity sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q== + dependencies: + is-regexp "^2.0.0" + co-body@^5.1.1: version "5.2.0" resolved "https://registry.yarnpkg.com/co-body/-/co-body-5.2.0.tgz#5a0a658c46029131e0e3a306f67647302f71c124" @@ -2243,6 +2360,11 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= +collapse-white-space@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a" + integrity sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ== + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -2427,7 +2549,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@^5.0.0: +cosmiconfig@^5.0.0, cosmiconfig@^5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== @@ -2554,6 +2676,11 @@ cssesc@^0.1.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -2583,7 +2710,7 @@ date-now@^0.1.4: resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= -debug@*, debug@^4.0.1, debug@^4.1.0: +debug@*, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== @@ -2611,7 +2738,15 @@ debug@^3.1.0, debug@^3.2.6: dependencies: ms "^2.1.1" -decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize-keys@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" + integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -2737,6 +2872,13 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +dir-glob@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + doctrine@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" @@ -2759,11 +2901,46 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-serializer@0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" + integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== + dependencies: + domelementtype "^1.3.0" + entities "^1.1.1" + domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== +domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@^1.5.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-prop@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== + dependencies: + is-obj "^1.0.0" + dotenv@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.0.0.tgz#ed310c165b4e8a97bb745b0a9d99c31bda566440" @@ -2830,6 +3007,11 @@ emoji-regex@^7.0.1, emoji-regex@^7.0.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -2865,6 +3047,11 @@ enhanced-resolve@~0.9.0: memory-fs "^0.2.0" tapable "^0.1.8" +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + errno@^0.1.2, errno@^0.1.3, errno@^0.1.4, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -3219,6 +3406,13 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execall@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" + integrity sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow== + dependencies: + clone-regexp "^2.1.0" + expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -3283,7 +3477,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@~3.0.2: +extend@^3.0.0, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== @@ -3331,6 +3525,18 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" @@ -3380,6 +3586,13 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + finalhandler@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" @@ -3643,6 +3856,11 @@ get-stdin@^6.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== +get-stdin@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" + integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== + get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -3670,6 +3888,11 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" @@ -3682,6 +3905,22 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + globals@^11.1.0, globals@^11.7.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -3710,6 +3949,25 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" +globby@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" + integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + +globjoin@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" + integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= + globule@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" @@ -3719,6 +3977,13 @@ globule@^1.0.0: lodash "~4.17.10" minimatch "~3.0.2" +gonzales-pe@^4.2.3: + version "4.2.4" + resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.2.4.tgz#356ae36a312c46fe0f1026dd6cb539039f8500d2" + integrity sha512-v0Ts/8IsSbh9n1OJRnSfa7Nlxi4AkXIsWB6vPept8FDbL4bXn3FNuxjYtO/nmBGu7GDkL9MFeGebeSu6l55EPQ== + dependencies: + minimist "1.1.x" + graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.4: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" @@ -3857,6 +4122,23 @@ html-entities@^1.2.0: resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= +html-tags@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.0.0.tgz#41f57708c9e6b7b46a00a22317d614c4a2bab166" + integrity sha512-xiXEBjihaNI+VZ2mKEoI5ZPxqUsevTKM+aeeJ/W4KAg2deGE35minmCJMn51BvwJZmiHaeAxrb2LAS0yZJxuuA== + +htmlparser2@^3.10.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + http-assert@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878" @@ -3968,11 +4250,16 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -ignore@^4.0.6: +ignore@^4.0.3, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.0.6: + version "5.1.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.2.tgz#e28e584d43ad7e92f96995019cc43b9e1ac49558" + integrity sha512-vdqWBp7MyzdmHkkRWV5nY+PfGRbYbahfuvsBCh277tq+w9zyNi7h5CYJCK0kmzti9kU+O/cB7sE8HvKv6aXAKQ== + immediate@~3.0.5: version "3.0.6" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" @@ -4008,6 +4295,11 @@ import-from@^2.1.0: dependencies: resolve-from "^3.0.0" +import-lazy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -4025,6 +4317,16 @@ indent-string@^2.1.0: dependencies: repeating "^2.0.0" +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + inflation@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f" @@ -4053,7 +4355,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@~1.3.0: +ini@^1.3.5, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== @@ -4118,6 +4420,24 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-alphabetical@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8" + integrity sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA== + +is-alphanumeric@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" + integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= + +is-alphanumerical@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c" + integrity sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA== + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -4135,7 +4455,7 @@ is-buffer@^1.0.2, is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@^2.0.2: +is-buffer@^2.0.0, is-buffer@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== @@ -4164,6 +4484,11 @@ is-date-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= +is-decimal@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7" + integrity sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ== + is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" @@ -4223,6 +4548,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-generator-function@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522" @@ -4242,6 +4572,11 @@ is-glob@^4.0.0: dependencies: is-extglob "^2.1.1" +is-hexadecimal@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz#e8a426a69b6d31470d3a33a47bb825cda02506ee" + integrity sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA== + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -4249,6 +4584,16 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -4268,6 +4613,11 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -4287,6 +4637,11 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" +is-regexp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" + integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA== + is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -4309,11 +4664,21 @@ is-utf8@^0.2.0: resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= +is-whitespace-character@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz#b3ad9546d916d7d3ffa78204bca0c26b56257fac" + integrity sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ== + is-windows@^1.0.0, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +is-word-character@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz#264d15541cbad0ba833d3992c34e6b40873b08aa" + integrity sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A== + is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" @@ -4516,6 +4881,11 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== +known-css-properties@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.14.0.tgz#d7032b4334a32dc22e6e46b081ec789daf18756c" + integrity sha512-P+0a/gBzLgVlCnK8I7VcD0yuYJscmWn66wH9tlKsQnmVdg689tLEmziwB9PuazZYLkcm07fvWOKCJJqI55sD5Q== + koa-body@^4.0.8: version "4.1.0" resolved "https://registry.yarnpkg.com/koa-body/-/koa-body-4.1.0.tgz#99295ee2e9543884e5730ae696780930b3821c44" @@ -4662,6 +5032,11 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -4698,6 +5073,16 @@ load-json-file@^2.0.0: pify "^2.0.0" strip-bom "^3.0.0" +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + loader-fs-cache@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz#54cedf6b727e1779fd8f01205f05f6e88706f086" @@ -4779,6 +5164,25 @@ lodash@^4.0.0, lodash@^4.11.2, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + +longest-streak@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105" + integrity sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw== + loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -4846,6 +5250,11 @@ map-obj@^1.0.0, map-obj@^1.0.1: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= +map-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" + integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -4853,6 +5262,21 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +markdown-escapes@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.3.tgz#6155e10416efaafab665d466ce598216375195f5" + integrity sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw== + +markdown-table@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" + integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== + +mathml-tag-names@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.1.tgz#6dff66c99d55ecf739ca53c492e626f1d12a33cc" + integrity sha512-pWB896KPGSGkp1XtyzRBftpTzwSOL0Gfk0wLvxt4f2mgzjY19o0LxJ3U25vNWTzsh7da+KTbuXQoQ3lOJZ8WHw== + maximatch@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/maximatch/-/maximatch-0.1.0.tgz#86cd8d6b04c9f307c05a6b9419906d0360fb13a2" @@ -4872,6 +5296,13 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" +mdast-util-compact@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz#98a25cc8a7865761a41477b3a87d1dcef0b1e79d" + integrity sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w== + dependencies: + unist-util-visit "^1.1.0" + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -4915,11 +5346,31 @@ meow@^3.7.0: redent "^1.0.0" trim-newlines "^1.0.0" +meow@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" + integrity sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig== + dependencies: + camelcase-keys "^4.0.0" + decamelize-keys "^1.0.0" + loud-rejection "^1.0.0" + minimist-options "^3.0.1" + normalize-package-data "^2.3.4" + read-pkg-up "^3.0.0" + redent "^2.0.0" + trim-newlines "^2.0.0" + yargs-parser "^10.0.0" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= +merge2@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" + integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== + methods@^1.0.1, methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -4944,6 +5395,14 @@ micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -5015,11 +5474,24 @@ minimatch@^3.0.0, minimatch@^3.0.4, minimatch@~3.0.2: dependencies: brace-expansion "^1.1.7" +minimist-options@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" + integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= +minimist@1.1.x: + version "1.1.3" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" + integrity sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag= + minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -5403,6 +5875,11 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= +normalize-selector@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/normalize-selector/-/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03" + integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM= + npm-bundled@^1.0.1: version "1.0.6" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" @@ -5714,6 +6191,18 @@ parse-asn1@^5.0.0: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" +parse-entities@^1.0.2, parse-entities@^1.1.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" + integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg== + dependencies: + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" + parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -5849,6 +6338,13 @@ path-type@^2.0.0: dependencies: pify "^2.0.0" +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + pbkdf2@^3.0.3: version "3.0.17" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" @@ -5870,6 +6366,11 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picomatch@^2.0.5: + version "2.0.7" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" + integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -5937,6 +6438,13 @@ postcss-easy-import@^3.0.0: postcss-import "^10.0.0" resolve "^1.1.7" +postcss-html@^0.36.0: + version "0.36.0" + resolved "https://registry.yarnpkg.com/postcss-html/-/postcss-html-0.36.0.tgz#b40913f94eaacc2453fd30a1327ad6ee1f88b204" + integrity sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw== + dependencies: + htmlparser2 "^3.10.0" + postcss-import@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-10.0.0.tgz#4c85c97b099136cc5ea0240dc1dfdbfde4e2ebbe" @@ -5948,6 +6456,20 @@ postcss-import@^10.0.0: read-cache "^1.0.0" resolve "^1.1.7" +postcss-jsx@^0.36.1: + version "0.36.1" + resolved "https://registry.yarnpkg.com/postcss-jsx/-/postcss-jsx-0.36.1.tgz#ab5e469e7449b84bd1a5973ff555fbe84c39f91d" + integrity sha512-xaZpy01YR7ijsFUtu5rViYCFHurFIPHir+faiOQp8g/NfTfWqZCKDhKrydQZ4d8WlSAmVdXGwLjpFbsNUI26Sw== + dependencies: + "@babel/core" ">=7.2.2" + +postcss-less@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-3.1.4.tgz#369f58642b5928ef898ffbc1a6e93c958304c5ad" + integrity sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA== + dependencies: + postcss "^7.0.14" + postcss-load-config@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" @@ -5966,6 +6488,19 @@ postcss-loader@3.0.0: postcss-load-config "^2.0.0" schema-utils "^1.0.0" +postcss-markdown@^0.36.0: + version "0.36.0" + resolved "https://registry.yarnpkg.com/postcss-markdown/-/postcss-markdown-0.36.0.tgz#7f22849ae0e3db18820b7b0d5e7833f13a447560" + integrity sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ== + dependencies: + remark "^10.0.1" + unist-util-find-all-after "^1.0.2" + +postcss-media-query-parser@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" + integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= + postcss-modules-extract-imports@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz#dc87e34148ec7eab5f791f7cd5849833375b741a" @@ -5997,6 +6532,74 @@ postcss-modules-values@^1.3.0: icss-replace-symbols "^1.1.0" postcss "^6.0.1" +postcss-reporter@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-6.0.1.tgz#7c055120060a97c8837b4e48215661aafb74245f" + integrity sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw== + dependencies: + chalk "^2.4.1" + lodash "^4.17.11" + log-symbols "^2.2.0" + postcss "^7.0.7" + +postcss-resolve-nested-selector@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" + integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4= + +postcss-safe-parser@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" + integrity sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ== + dependencies: + postcss "^7.0.0" + +postcss-sass@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.3.5.tgz#6d3e39f101a53d2efa091f953493116d32beb68c" + integrity sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A== + dependencies: + gonzales-pe "^4.2.3" + postcss "^7.0.1" + +postcss-scss@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-2.0.0.tgz#248b0a28af77ea7b32b1011aba0f738bda27dea1" + integrity sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug== + dependencies: + postcss "^7.0.0" + +postcss-selector-parser@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" + integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= + dependencies: + dot-prop "^4.1.1" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" + integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-sorting@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-sorting/-/postcss-sorting-5.0.0.tgz#4e4ce0a554c17d78d4287f08f792db8992bf62b5" + integrity sha512-m25mKLNq0fPAyZFElQ1hngRDFQDMlc+9ZwoWsL8oix6i1GsBzIxyke6sDeY9BXee7L86z4tex01fcH/9wTj3Jg== + dependencies: + lodash "^4.17.11" + postcss "^7.0.14" + +postcss-syntax@^0.36.2: + version "0.36.2" + resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c" + integrity sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w== + postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" @@ -6011,7 +6614,7 @@ postcss@^6.0.1, postcss@^6.0.11, postcss@^6.0.23: source-map "^0.6.1" supports-color "^5.4.0" -postcss@^7.0.0, postcss@^7.0.16: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.2, postcss@^7.0.7: version "7.0.17" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ== @@ -6185,6 +6788,11 @@ querystring@0.2.0, querystring@^0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= +quick-lru@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" + integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -6325,6 +6933,14 @@ read-pkg-up@^2.0.0: find-up "^2.0.0" read-pkg "^2.0.0" +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + read-pkg-up@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-6.0.0.tgz#da75ce72762f2fa1f20c5a40d4dd80c77db969e3" @@ -6352,6 +6968,15 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + read-pkg@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.1.1.tgz#5cf234dde7a405c90c88a519ab73c467e9cb83f5" @@ -6375,6 +7000,15 @@ read-pkg@^5.1.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@^3.1.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" + integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -6408,6 +7042,14 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" +redent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" + integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= + dependencies: + indent-string "^3.0.0" + strip-indent "^2.0.0" + redux-devtools-extension@^2.13.8: version "2.13.8" resolved "https://registry.yarnpkg.com/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz#37b982688626e5e4993ff87220c9bbb7cd2d96e1" @@ -6523,6 +7165,56 @@ regjsparser@^0.6.0: dependencies: jsesc "~0.5.0" +remark-parse@^6.0.0: + version "6.0.3" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a" + integrity sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg== + dependencies: + collapse-white-space "^1.0.2" + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + is-word-character "^1.0.0" + markdown-escapes "^1.0.0" + parse-entities "^1.1.0" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + trim "0.0.1" + trim-trailing-lines "^1.0.0" + unherit "^1.0.4" + unist-util-remove-position "^1.0.0" + vfile-location "^2.0.0" + xtend "^4.0.1" + +remark-stringify@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-6.0.4.tgz#16ac229d4d1593249018663c7bddf28aafc4e088" + integrity sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg== + dependencies: + ccount "^1.0.0" + is-alphanumeric "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + longest-streak "^2.0.1" + markdown-escapes "^1.0.0" + markdown-table "^1.1.0" + mdast-util-compact "^1.0.0" + parse-entities "^1.0.2" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + stringify-entities "^1.0.1" + unherit "^1.0.4" + xtend "^4.0.1" + +remark@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/remark/-/remark-10.0.1.tgz#3058076dc41781bf505d8978c291485fe47667df" + integrity sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ== + dependencies: + remark-parse "^6.0.0" + remark-stringify "^6.0.0" + unified "^7.0.0" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -6533,7 +7225,7 @@ repeat-element@^1.1.2: resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== -repeat-string@^1.6.1: +repeat-string@^1.5.4, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= @@ -6545,6 +7237,11 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" +replace-ext@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= + request@^2.72.0, request@^2.87.0, request@^2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" @@ -6606,6 +7303,11 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + resolve-path@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/resolve-path/-/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7" @@ -6914,6 +7616,16 @@ slash@^1.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + slice-ansi@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" @@ -7030,6 +7742,11 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1" integrity sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA== +specificity@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019" + integrity sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg== + split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -7064,6 +7781,11 @@ ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" +state-toggle@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.2.tgz#75e93a61944116b4959d665c8db2d243631d6ddc" + integrity sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw== + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -7152,7 +7874,16 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string_decoder@^1.0.0: +string-width@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff" + integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^5.2.0" + +string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== @@ -7166,6 +7897,16 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +stringify-entities@^1.0.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7" + integrity sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A== + dependencies: + character-entities-html4 "^1.0.0" + character-entities-legacy "^1.0.0" + is-alphanumerical "^1.0.0" + is-hexadecimal "^1.0.0" + strip-ansi@3.0.1, strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -7211,6 +7952,11 @@ strip-indent@^1.0.1: dependencies: get-stdin "^4.0.1" +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= + strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -7226,6 +7972,11 @@ stripe@^7.2.0: safe-buffer "^5.1.1" uuid "^3.3.2" +style-search@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" + integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= + styled-jsx@3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-3.2.1.tgz#452051fe50df5e9c7c7f3dd20fa46c3060ac65b0" @@ -7240,6 +7991,80 @@ styled-jsx@3.2.1: stylis "3.5.4" stylis-rule-sheet "0.0.10" +stylelint-order@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-3.0.0.tgz#ec44afb93a3183dcf8c91540d4486de776250506" + integrity sha512-CaK3ebU5qSDY4aQZ5yA5uCL1jjAeK+TQeyKcH1w1O/wxC1GjM6JCv0msrA3Wno29F1jW/1UoWIsRFeo7hk9gtg== + dependencies: + lodash "^4.17.11" + postcss "^7.0.14" + postcss-sorting "^5.0.0" + +stylelint-scss@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-3.8.0.tgz#fc372306c2105b461d0c162199e65f0c09fada2a" + integrity sha512-J55tNmxXEh/ymhz5BiscIiUcHgPmJ2Nv+0+zgnqTqdQBe1URQbrdjlAyK3xq+7i2nVpWr2wlRj25SjoonZFcHg== + dependencies: + lodash "^4.17.11" + postcss-media-query-parser "^0.2.3" + postcss-resolve-nested-selector "^0.1.1" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^3.3.1" + +stylelint@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-10.1.0.tgz#1bc4c4ce878107e7c396b19226d91ba28268911a" + integrity sha512-OmlUXrgzEMLQYj1JPTpyZPR9G4bl0StidfHnGJEMpdiQ0JyTq0MPg1xkHk1/xVJ2rTPESyJCDWjG8Kbpoo7Kuw== + dependencies: + autoprefixer "^9.5.1" + balanced-match "^1.0.0" + chalk "^2.4.2" + cosmiconfig "^5.2.0" + debug "^4.1.1" + execall "^2.0.0" + file-entry-cache "^5.0.1" + get-stdin "^7.0.0" + global-modules "^2.0.0" + globby "^9.2.0" + globjoin "^0.1.4" + html-tags "^3.0.0" + ignore "^5.0.6" + import-lazy "^4.0.0" + imurmurhash "^0.1.4" + known-css-properties "^0.14.0" + leven "^3.1.0" + lodash "^4.17.11" + log-symbols "^3.0.0" + mathml-tag-names "^2.1.0" + meow "^5.0.0" + micromatch "^4.0.0" + normalize-selector "^0.2.0" + pify "^4.0.1" + postcss "^7.0.14" + postcss-html "^0.36.0" + postcss-jsx "^0.36.1" + postcss-less "^3.1.4" + postcss-markdown "^0.36.0" + postcss-media-query-parser "^0.2.3" + postcss-reporter "^6.0.1" + postcss-resolve-nested-selector "^0.1.1" + postcss-safe-parser "^4.0.1" + postcss-sass "^0.3.5" + postcss-scss "^2.0.0" + postcss-selector-parser "^3.1.0" + postcss-syntax "^0.36.2" + postcss-value-parser "^3.3.1" + resolve-from "^5.0.0" + signal-exit "^3.0.2" + slash "^3.0.0" + specificity "^0.4.1" + string-width "^4.1.0" + strip-ansi "^5.2.0" + style-search "^0.1.0" + sugarss "^2.0.0" + svg-tags "^1.0.0" + table "^5.2.3" + stylis-rule-sheet@0.0.10: version "0.0.10" resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" @@ -7250,6 +8075,13 @@ stylis@3.5.4: resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== +sugarss@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d" + integrity sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ== + dependencies: + postcss "^7.0.2" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -7269,6 +8101,11 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= + symbol-observable@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" @@ -7431,6 +8268,13 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -7459,11 +8303,31 @@ trim-newlines@^1.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= +trim-newlines@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" + integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= + trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= +trim-trailing-lines@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz#d2f1e153161152e9f02fabc670fb40bec2ea2e3a" + integrity sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q== + +trim@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= + +trough@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e" + integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q== + "true-case-path@^1.0.2": version "1.0.3" resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" @@ -7540,6 +8404,14 @@ unfetch@4.1.0: resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.1.0.tgz#6ec2dd0de887e58a4dee83a050ded80ffc4137db" integrity sha512-crP/n3eAPUJxZXM9T80/yv0YhkTEx2K1D3h7D1AJM6fzsWZrxdyRuLN0JH/dkZh1LNH8LxCnBzoPFCPbb2iGpg== +unherit@^1.0.4: + version "1.1.2" + resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz#14f1f397253ee4ec95cec167762e77df83678449" + integrity sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w== + dependencies: + inherits "^2.0.1" + xtend "^4.0.1" + unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" @@ -7563,6 +8435,20 @@ unicode-property-aliases-ecmascript@^1.0.4: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== +unified@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13" + integrity sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw== + dependencies: + "@types/unist" "^2.0.0" + "@types/vfile" "^3.0.0" + bail "^1.0.0" + extend "^3.0.0" + is-plain-obj "^1.1.0" + trough "^1.0.0" + vfile "^3.0.0" + x-is-string "^0.1.0" + union-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" @@ -7573,6 +8459,11 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^0.4.3" +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" @@ -7587,6 +8478,44 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +unist-util-find-all-after@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-1.0.4.tgz#2eeaba818fd98492d69c44f9bee52c6a25282eef" + integrity sha512-CaxvMjTd+yF93BKLJvZnEfqdM7fgEACsIpQqz8vIj9CJnUb9VpyymFS3tg6TCtgrF7vfCJBF5jbT2Ox9CBRYRQ== + dependencies: + unist-util-is "^3.0.0" + +unist-util-is@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" + integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== + +unist-util-remove-position@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz#d91aa8b89b30cb38bad2924da11072faa64fd972" + integrity sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA== + dependencies: + unist-util-visit "^1.1.0" + +unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6" + integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ== + +unist-util-visit-parents@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" + integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g== + dependencies: + unist-util-is "^3.0.0" + +unist-util-visit@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" + integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== + dependencies: + unist-util-visit-parents "^2.0.0" + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -7640,7 +8569,7 @@ use@^3.1.0: resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== -util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -7699,6 +8628,28 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +vfile-location@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.5.tgz#c83eb02f8040228a8d2b3f10e485be3e3433e0a2" + integrity sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ== + +vfile-message@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1" + integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA== + dependencies: + unist-util-stringify-position "^1.1.1" + +vfile@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803" + integrity sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ== + dependencies: + is-buffer "^2.0.0" + replace-ext "1.0.0" + unist-util-stringify-position "^1.0.0" + vfile-message "^1.0.0" + vm-browserify@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" @@ -7845,7 +8796,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1, which@^1.2.9: +which@1, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -7923,6 +8874,11 @@ ws@^6.0.0: dependencies: async-limiter "~1.0.0" +x-is-string@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" + integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI= + xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -7948,6 +8904,13 @@ yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== +yargs-parser@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + dependencies: + camelcase "^4.1.0" + yargs-parser@^13.1.0: version "13.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" From 8806253549541678cf44bafacec3cf6b2a7631c6 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 25 Jun 2019 07:26:46 +0000 Subject: [PATCH 04/64] style: fix autofixable lint issues. --- client/components/Dialog.js | 2 +- client/pages/_document.js | 2 +- client/scss/_core.scss | 2 - client/scss/_lib.scss | 20 +- client/scss/_reset.scss | 128 +- client/scss/_root.scss | 11 +- client/scss/animations/_bouncy-spin.scss | 22 +- client/scss/animations/_error.scss | 26 +- client/scss/animations/_fade.scss | 2 - client/scss/animations/_loading.scss | 1 - client/scss/animations/_opacity-flutter.scss | 12 +- client/scss/animations/_wiggle.scss | 10 +- client/scss/app.scss | 12 +- client/scss/colors/_black.scss | 2 +- client/scss/colors/_blue.scss | 2 +- client/scss/colors/_green.scss | 2 +- client/scss/colors/_grey.scss | 4 +- client/scss/colors/_pc.scss | 6 +- client/scss/colors/_red.scss | 2 +- client/scss/colors/_xbox.scss | 2 +- client/scss/colors/_yellow.scss | 2 +- .../_action-confirmation-button.scss | 2 +- client/scss/components/_add-rat-form.scss | 9 +- client/scss/components/_article-list.scss | 2 +- client/scss/components/_avatar.scss | 2 +- client/scss/components/_badge.scss | 59 +- client/scss/components/_card-controls.scss | 2 +- client/scss/components/_carousel.scss | 4 +- client/scss/components/_category-list.scss | 8 +- client/scss/components/_coin.scss | 2 +- client/scss/components/_dialog-container.scss | 4 +- client/scss/components/_error.scss | 8 +- client/scss/components/_header.scss | 37 +- client/scss/components/_hero.scss | 15 +- client/scss/components/_inline-stats.scss | 4 +- client/scss/components/_loading.scss | 12 +- client/scss/components/_messenger.scss | 12 +- client/scss/components/_option-group.scss | 1 - client/scss/components/_page-content.scss | 3 +- client/scss/components/_page-header.scss | 31 +- client/scss/components/_page.scss | 2 +- client/scss/components/_password-group.scss | 54 +- client/scss/components/_product-card.scss | 2 +- client/scss/components/_radio-card-input.scss | 8 +- client/scss/components/_radio-input.scss | 10 +- client/scss/components/_rat-panel.scss | 15 +- client/scss/components/_squeakmas-alert.scss | 2 +- .../scss/components/_store-control-bar.scss | 2 +- client/scss/components/_store-error.scss | 9 +- client/scss/components/_switch.scss | 6 +- client/scss/components/_tabbed-panel.scss | 4 +- client/scss/components/_terms-dialog.scss | 2 +- client/scss/components/_text-placeholder.scss | 10 +- client/scss/components/_tooltip.scss | 2 +- client/scss/components/_tweets.scss | 12 +- client/scss/components/_user-menu.scss | 13 +- client/scss/components/_user-nicknames.scss | 2 +- client/scss/components/_user-rats-tab.scss | 6 +- .../components/_validated-form-input.scss | 68 +- client/scss/core/_a.scss | 4 +- client/scss/core/_abbr.scss | 5 +- client/scss/core/_address.scss | 8 +- client/scss/core/_application.scss | 5 +- client/scss/core/_article.scss | 33 +- client/scss/core/_aside.scss | 1 - client/scss/core/_button.scss | 10 +- client/scss/core/_dialog.scss | 25 +- client/scss/core/_dl.scss | 7 +- client/scss/core/_figure.scss | 2 - client/scss/core/_flex.scss | 1 - client/scss/core/_form.scss | 16 +- client/scss/core/_headings.scss | 9 +- client/scss/core/_img.scss | 4 +- client/scss/core/_input.scss | 39 +- client/scss/core/_kbd.scss | 10 +- client/scss/core/_lists.scss | 19 +- client/scss/core/_nav.scss | 3 +- client/scss/core/_p.scss | 3 - client/scss/core/_placeholder.scss | 6 +- client/scss/core/_section.scss | 1 - client/scss/core/_select.scss | 13 +- client/scss/core/_table.scss | 30 +- client/scss/fonts/_open-sans.scss | 3 +- client/scss/fonts/_raleway.scss | 5 +- client/scss/helpers/_hidden.scss | 2 + client/scss/helpers/_text-collapse.scss | 3 +- client/scss/helpers/_text-format.scss | 2 +- client/scss/lib/_kbdfun.scss | 62 +- client/scss/lib/_react-table.scss | 2 +- client/scss/mixins/_text-outline.scss | 2 +- client/scss/pages/_acknowledgements.scss | 13 +- client/scss/pages/_index.scss | 2 +- client/scss/pages/_paperwork.scss | 38 +- client/scss/pages/_rescue-search.scss | 7 +- client/scss/pages/_store-cart.scss | 5 +- client/scss/vendor/_hamburger.scss | 1261 ++++++++++------- client/scss/vendor/hamburgers/_generic.scss | 8 +- client/scss/vendor/hamburgers/_objects.scss | 359 ++++- client/scss/vendor/hamburgers/_settings.scss | 38 +- client/scss/vendor/hamburgers/_trumps.scss | 2 - .../scss/vendor/hamburgers/_typography.scss | 9 +- .../vendor/hamburgers/hamburgers/_base.scss | 3 +- .../hamburgers/hamburgers/hamburgers.scss | 75 +- .../hamburgers/hamburgers/types/_3dx-r.scss | 6 +- .../hamburgers/hamburgers/types/_3dx.scss | 6 +- .../hamburgers/hamburgers/types/_3dy-r.scss | 6 +- .../hamburgers/hamburgers/types/_3dy.scss | 6 +- .../hamburgers/hamburgers/types/_arrow-r.scss | 1 + .../hamburgers/hamburgers/types/_arrow.scss | 1 + .../hamburgers/types/_arrowalt-r.scss | 21 +- .../hamburgers/types/_arrowalt.scss | 21 +- .../hamburgers/hamburgers/types/_boring.scss | 1 + .../hamburgers/types/_collapse-r.scss | 21 +- .../hamburgers/types/_collapse.scss | 21 +- .../hamburgers/types/_elastic-r.scss | 1 + .../hamburgers/hamburgers/types/_elastic.scss | 1 + .../hamburgers/types/_emphatic-r.scss | 29 +- .../hamburgers/types/_emphatic.scss | 29 +- .../hamburgers/types/_slider-r.scss | 1 + .../hamburgers/hamburgers/types/_slider.scss | 1 + .../hamburgers/hamburgers/types/_spin-r.scss | 21 +- .../hamburgers/hamburgers/types/_spin.scss | 21 +- .../hamburgers/types/_spring-r.scss | 21 +- .../hamburgers/hamburgers/types/_spring.scss | 21 +- .../hamburgers/hamburgers/types/_squeeze.scss | 21 +- .../hamburgers/hamburgers/types/_stand-r.scss | 31 +- .../hamburgers/hamburgers/types/_stand.scss | 31 +- .../hamburgers/types/_vortex-r.scss | 1 + .../hamburgers/hamburgers/types/_vortex.scss | 1 + client/scss/vendor/hamburgers/screen.scss | 14 +- client/services/imageLoader.js | 2 +- 131 files changed, 1979 insertions(+), 1252 deletions(-) delete mode 100644 client/scss/core/_aside.scss delete mode 100644 client/scss/core/_section.scss diff --git a/client/components/Dialog.js b/client/components/Dialog.js index 6dff68ea7..f0840437e 100644 --- a/client/components/Dialog.js +++ b/client/components/Dialog.js @@ -94,7 +94,7 @@ class Dialog extends Component { )} ), - document.getElementById('dialog-container') + document.getElementById('DialogContainer') ) } } diff --git a/client/pages/_document.js b/client/pages/_document.js index a03c4b6cb..8437f28ba 100644 --- a/client/pages/_document.js +++ b/client/pages/_document.js @@ -69,7 +69,7 @@ class FuelRatsWebsite extends Document { -
+
diff --git a/client/scss/_core.scss b/client/scss/_core.scss index 5306ca5ea..96896010d 100644 --- a/client/scss/_core.scss +++ b/client/scss/_core.scss @@ -3,7 +3,6 @@ @import 'core/address'; @import 'core/application'; @import 'core/article'; -@import 'core/aside'; @import 'core/button'; @import 'core/code'; @import 'core/dialog'; @@ -27,7 +26,6 @@ @import 'core/p'; @import 'core/placeholder'; @import 'core/pre'; -@import 'core/section'; @import 'core/select'; @import 'core/small'; @import 'core/strong'; diff --git a/client/scss/_lib.scss b/client/scss/_lib.scss index 1a32ebdee..9d300efcf 100644 --- a/client/scss/_lib.scss +++ b/client/scss/_lib.scss @@ -1,24 +1,24 @@ -/******************************************************************************\ +/****************************************************************************** \ FontAwesome -\******************************************************************************/ +\ ******************************************************************************/ @import '@fortawesome/fontawesome-svg-core/styles.css'; -/******************************************************************************\ +/****************************************************************************** \ kbd fun -\******************************************************************************/ +\ ******************************************************************************/ @import 'lib/kbdfun'; -/******************************************************************************\ +/****************************************************************************** \ NProgress -\******************************************************************************/ +\ ******************************************************************************/ @import 'nprogress/nprogress.css'; @import 'lib/nprogress'; @@ -26,9 +26,9 @@ -/******************************************************************************\ +/****************************************************************************** \ React Table -\******************************************************************************/ +\ ******************************************************************************/ @import 'react-table/react-table.css'; @import 'lib/react-table'; @@ -36,7 +36,7 @@ -/******************************************************************************\ +/****************************************************************************** \ Stripe -\******************************************************************************/ +\ ******************************************************************************/ @import 'lib/stripe'; diff --git a/client/scss/_reset.scss b/client/scss/_reset.scss index d9f27b5a9..5d1326bbd 100644 --- a/client/scss/_reset.scss +++ b/client/scss/_reset.scss @@ -3,45 +3,131 @@ License: none (public domain) */ -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { margin: 0; padding: 0; border: 0; - font-size: 100%; font: inherit; + font-size: 100%; vertical-align: baseline; } + /* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { display: block; } + body { line-height: 1; } -ol, ul { + +ol, +ul { list-style: none; } -blockquote, q { + +blockquote, +q { quotes: none; } -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; + +blockquote::before, +blockquote::after, +q::before, +q::after { content: none; } + table { border-collapse: collapse; border-spacing: 0; diff --git a/client/scss/_root.scss b/client/scss/_root.scss index 75ca32ce5..52101ff02 100644 --- a/client/scss/_root.scss +++ b/client/scss/_root.scss @@ -8,7 +8,7 @@ html, body, [data-reactroot], -[role=application] { +[role='application'] { height: 100%; margin: 0; overflow: hidden; @@ -25,15 +25,16 @@ body { align-items: stretch; display: flex; flex-direction: column; - font-family: "Open Sans", sans-serif; + font-family: 'Open Sans', sans-serif; font-size: 14px; + /* stylelint-disable selector-id-pattern */ .next-wrapper, #__next { height: 100%; overflow: hidden; } - + /* stylelint-enable selector-id-pattern */ > div { flex-grow: 1; @@ -42,7 +43,7 @@ body { } } - > #dialog-container { + > #DialogContainer { justify-content: center; border: none; display: flex; @@ -60,7 +61,7 @@ body { } &:not(:empty) { - background: rgba($black-lightened, .8); + background: rgba($black-lightened, 0.8); } } } diff --git a/client/scss/animations/_bouncy-spin.scss b/client/scss/animations/_bouncy-spin.scss index 083f16a19..d9ae561bf 100644 --- a/client/scss/animations/_bouncy-spin.scss +++ b/client/scss/animations/_bouncy-spin.scss @@ -1,8 +1,22 @@ @keyframes bouncy-spin { - 0% { transform: rotateZ(0deg); } - 20%, 25% { transform: rotateZ(-30deg); } - 50%, 60%, 100% { transform: rotateZ(1440deg); } - 55% { transform: rotateZ(1435deg); } + 0% { + transform: rotateZ(0deg); + } + + 20%, + 25% { + transform: rotateZ(-30deg); + } + + 50%, + 60%, + 100% { + transform: rotateZ(1440deg); + } + + 55% { + transform: rotateZ(1435deg); + } } diff --git a/client/scss/animations/_error.scss b/client/scss/animations/_error.scss index b4ef63ca7..86704aa3a 100644 --- a/client/scss/animations/_error.scss +++ b/client/scss/animations/_error.scss @@ -1,40 +1,24 @@ @keyframes error-start { 0% { - border-bottom-color: currentColor; - border-left-color: currentColor; - border-right-color: currentColor; - border-top-color: currentColor; + border-color: currentColor; transform: rotate(0deg); } 100% { - border-bottom-color: transparent; - border-left-color: currentColor; - border-right-color: currentColor; - border-top-color: transparent; + border-color: transparent currentColor; transform: rotate(405deg); } } - @keyframes error { 0% { - border-bottom-color: transparent; - border-left-color: currentColor; - border-right-color: currentColor; - border-top-color: transparent; + border-color: transparent currentColor; } 50% { - border-bottom-color: currentColor; - border-left-color: transparent; - border-right-color: transparent; - border-top-color: currentColor; + border-color: currentColor transparent; } 100% { - border-bottom-color: transparent; - border-left-color: currentColor; - border-right-color: currentColor; - border-top-color: transparent; + border-color: transparent currentColor; } } diff --git a/client/scss/animations/_fade.scss b/client/scss/animations/_fade.scss index 09ddb46e5..83c89717d 100644 --- a/client/scss/animations/_fade.scss +++ b/client/scss/animations/_fade.scss @@ -7,7 +7,6 @@ opacity: 1; } } - @keyframes fade-out { 0% { opacity: 1; @@ -17,7 +16,6 @@ opacity: 0; } } - @keyframes half-fade-out { 0% { opacity: 1; diff --git a/client/scss/animations/_loading.scss b/client/scss/animations/_loading.scss index f0ea1a099..01fede3f5 100644 --- a/client/scss/animations/_loading.scss +++ b/client/scss/animations/_loading.scss @@ -13,7 +13,6 @@ border-top-color: transparent; } } - @keyframes loading { 0% { border-bottom-color: currentColor; diff --git a/client/scss/animations/_opacity-flutter.scss b/client/scss/animations/_opacity-flutter.scss index 4e072e9bd..b938c983e 100644 --- a/client/scss/animations/_opacity-flutter.scss +++ b/client/scss/animations/_opacity-flutter.scss @@ -1,11 +1,17 @@ @keyframes opacity-flutter { - 0%, 100% { opacity: 0.50; } - 50% { opacity: 0.30; } + 0%, + 100% { + opacity: 0.5; + } + + 50% { + opacity: 0.3; + } } .opacity-flutter { animation-name: opacity-flutter; animation-duration: 1s; - animation-iteration-count: infinite + animation-iteration-count: infinite; } diff --git a/client/scss/animations/_wiggle.scss b/client/scss/animations/_wiggle.scss index f79119618..ef23cbf70 100644 --- a/client/scss/animations/_wiggle.scss +++ b/client/scss/animations/_wiggle.scss @@ -1,15 +1,19 @@ $wiggle-rotation: 7.5; @keyframes wiggle { - 10%, 90% { + 10%, + 90% { transform: rotateZ(#{calc(($wiggle-rotation / 3) * 2)}deg); } - 30%, 50%, 70% { + 30%, + 50%, + 70% { transform: rotateZ(-#{$wiggle-rotation}deg); } - 40%, 60% { + 40%, + 60% { transform: rotateZ(#{$wiggle-rotation}deg); } } diff --git a/client/scss/app.scss b/client/scss/app.scss index 73ada2c2b..f0ba86652 100644 --- a/client/scss/app.scss +++ b/client/scss/app.scss @@ -1,6 +1,6 @@ -/******************************************************************************\ +/* **************************************************************************** *\ Variables -\******************************************************************************/ +\* **************************************************************************** */ @import 'fonts'; @import 'variables'; @import 'mixins'; @@ -10,18 +10,18 @@ -/******************************************************************************\ +/* **************************************************************************** *\ Libraries -\******************************************************************************/ +\* **************************************************************************** */ @import 'lib'; -/******************************************************************************\ +/* **************************************************************************** *\ Application -\******************************************************************************/ +\* **************************************************************************** */ @import 'reset'; @import 'root'; @import 'animations'; diff --git a/client/scss/colors/_black.scss b/client/scss/colors/_black.scss index 74beafe86..93e175a2f 100644 --- a/client/scss/colors/_black.scss +++ b/client/scss/colors/_black.scss @@ -1,3 +1,3 @@ -$black: #1a1a1a; +$black: #1A1A1A; $black-darkened: darken($black, 10%); $black-lightened: lighten($black, 10%); diff --git a/client/scss/colors/_blue.scss b/client/scss/colors/_blue.scss index 49ab2f5fa..0596dc9fa 100644 --- a/client/scss/colors/_blue.scss +++ b/client/scss/colors/_blue.scss @@ -1,3 +1,3 @@ -$blue: #5bc0de; +$blue: #5BC0DE; $blue-darkened: darken($blue, 10%); $blue-darker: darken($blue, 20%); diff --git a/client/scss/colors/_green.scss b/client/scss/colors/_green.scss index 60e8528cb..f2a9ad914 100644 --- a/client/scss/colors/_green.scss +++ b/client/scss/colors/_green.scss @@ -1,3 +1,3 @@ -$green: #5cb85c; +$green: #5CB85C; $green-darkened: darken($green, 10%); $green-lightened: lighten($green, 10%); diff --git a/client/scss/colors/_grey.scss b/client/scss/colors/_grey.scss index c03db9eb6..d47a8d0c0 100644 --- a/client/scss/colors/_grey.scss +++ b/client/scss/colors/_grey.scss @@ -1,4 +1,4 @@ -$grey: #aaa; +$grey: #AAAAAA; $grey-darkened: darken($grey, 10%); $grey-lightened: lighten($grey, 10%); -$light-grey: #eee; +$light-grey: #EEEEEE; diff --git a/client/scss/colors/_pc.scss b/client/scss/colors/_pc.scss index af0330ae8..e5204af16 100644 --- a/client/scss/colors/_pc.scss +++ b/client/scss/colors/_pc.scss @@ -1,4 +1,4 @@ $pc-sky: #220084; -$pc-star-white: #ffffff; -$pc-sun-orange: #ffad60; -$pc-sun-yellow: #fefb92; +$pc-star-white: #FFFFFF; +$pc-sun-orange: #FFAD60; +$pc-sun-yellow: #FEFB92; diff --git a/client/scss/colors/_red.scss b/client/scss/colors/_red.scss index cd0727e33..9ffac4233 100644 --- a/client/scss/colors/_red.scss +++ b/client/scss/colors/_red.scss @@ -1,3 +1,3 @@ -$red: #d65050; +$red: #D65050; $red-darkened: darken($red, 10%); $red-lightened: lighten($red, 10%); diff --git a/client/scss/colors/_xbox.scss b/client/scss/colors/_xbox.scss index 3aa8ab310..d1ed253f8 100644 --- a/client/scss/colors/_xbox.scss +++ b/client/scss/colors/_xbox.scss @@ -1 +1 @@ -$xbox-green: #107c10; +$xbox-green: #107C10; diff --git a/client/scss/colors/_yellow.scss b/client/scss/colors/_yellow.scss index d42f1288a..9983824b5 100644 --- a/client/scss/colors/_yellow.scss +++ b/client/scss/colors/_yellow.scss @@ -1,2 +1,2 @@ -$yellow: #f0ad4e; +$yellow: #F0AD4E; $yellow-darkened: darken($yellow, 10%); diff --git a/client/scss/components/_action-confirmation-button.scss b/client/scss/components/_action-confirmation-button.scss index 6a6af1b70..97771f24d 100644 --- a/client/scss/components/_action-confirmation-button.scss +++ b/client/scss/components/_action-confirmation-button.scss @@ -1,5 +1,5 @@ .action-confirmation-button { button { - margin-left: .5rem; + margin-left: 0.5rem; } } diff --git a/client/scss/components/_add-rat-form.scss b/client/scss/components/_add-rat-form.scss index c7f432ea2..9cf32084c 100644 --- a/client/scss/components/_add-rat-form.scss +++ b/client/scss/components/_add-rat-form.scss @@ -1,13 +1,13 @@ form.add-rat { display: flex; align-items: center; - transition: padding .2s ease; + transition: padding 0.2s ease; &.form-open { - background: #ffffffff; + background: #FFFFFFFF; box-shadow: 0 0 1rem rgba(26, 26, 26, 0.1); - border: 1px solid rgba(26,26,26, 0.2); - padding: .5rem; + border: 1px solid rgba(26, 26, 26, 0.2); + padding: 0.5rem; } .form-control { @@ -25,7 +25,6 @@ form.add-rat { width: 100px; } } - @media only screen and (max-width: 768px) { flex-direction: column; align-items: flex-end; diff --git a/client/scss/components/_article-list.scss b/client/scss/components/_article-list.scss index 4c3a0e0fd..bdd9bff17 100644 --- a/client/scss/components/_article-list.scss +++ b/client/scss/components/_article-list.scss @@ -2,7 +2,7 @@ flex-grow: 1; > li { - &:after { + &::after { border-top-color: $red; border-top-style: solid; border-top-width: 0.1rem; diff --git a/client/scss/components/_avatar.scss b/client/scss/components/_avatar.scss index e089c0afb..15ee9df47 100644 --- a/client/scss/components/_avatar.scss +++ b/client/scss/components/_avatar.scss @@ -25,7 +25,7 @@ width: 10rem; } - &:empty:before { + &:empty::before { align-items: center; background: $white; color: $red; diff --git a/client/scss/components/_badge.scss b/client/scss/components/_badge.scss index 9a614c98a..1edd99203 100644 --- a/client/scss/components/_badge.scss +++ b/client/scss/components/_badge.scss @@ -10,7 +10,7 @@ $pc-background-gradients: (); $texture-y: percentage((random(30) + 70) / 100); // The texture size is where we'll put our final color stop - $texture-size: (random(10)) + "%"; + $texture-size: (random(10)) + '%'; // Generate our opacity, then multiply it by a fraction to ensure it's always significantly transparent $texture-opacity: random(); @@ -19,24 +19,30 @@ $pc-background-gradients: (); $texture-core-color: nth($texture-colors, random(length($texture-colors))); // Create the flare's gradient - $gradient: radial-gradient( - circle at $texture-x $texture-y, - rgba($texture-core-color, $texture-opacity), - rgba($pc-sun-orange, 0) $texture-size - ); + $gradient: + radial-gradient( + circle at $texture-x $texture-y, + rgba($texture-core-color, $texture-opacity), + rgba($pc-sun-orange, 0) $texture-size + ); // Add the star to the list $pc-background-gradients: append($pc-background-gradients, $gradient, 'comma'); -}; +} // Generate the sun's core -$pc-background-gradients: append($pc-background-gradients, radial-gradient( - circle at bottom right, - rgba($pc-sun-yellow, 1), - rgba($pc-sun-yellow, 1) 20%, - rgba($pc-sun-orange, 1) 30%, - rgba($pc-sun-orange, 0) 50% -), 'comma'); +$pc-background-gradients: + append( + $pc-background-gradients, + radial-gradient( + circle at bottom right, + rgba($pc-sun-yellow, 1), + rgba($pc-sun-yellow, 1) 20%, + rgba($pc-sun-orange, 1) 30%, + rgba($pc-sun-orange, 0) 50% + ), + 'comma' + ); // Generate the "stars" @for $i from 1 through 50 { @@ -46,15 +52,16 @@ $pc-background-gradients: append($pc-background-gradients, radial-gradient( $star-size: percentage((random(50) * 0.1) / 100); // Create the star's gradient - $gradient: radial-gradient( - circle at $star-x $star-y, - rgba($pc-star-white, random()), - rgba($pc-star-white, 0) $star-size - ); + $gradient: + radial-gradient( + circle at $star-x $star-y, + rgba($pc-star-white, random()), + rgba($pc-star-white, 0) $star-size + ); // Add the star to the list $pc-background-gradients: append($pc-background-gradients, $gradient, 'comma'); -}; +} .badge { background-color: $red; @@ -80,11 +87,11 @@ $pc-background-gradients: append($pc-background-gradients, radial-gradient( background-color: $pc-sky; background-image: $pc-background-gradients; - &:after { + &::after { content: 'PC Master Race'; } - &.short:after { + &.short::after { content: 'PC'; } } @@ -92,11 +99,11 @@ $pc-background-gradients: append($pc-background-gradients, radial-gradient( &.ps { background-color: $playstation-blue; - &:after { + &::after { content: 'Playstation 4'; } - &.short:after { + &.short::after { content: 'PS'; } } @@ -104,11 +111,11 @@ $pc-background-gradients: append($pc-background-gradients, radial-gradient( &.xb { background-color: $xbox-green; - &:after { + &::after { content: 'Xbox One'; } - &.short:after { + &.short::after { content: 'XB'; } } diff --git a/client/scss/components/_card-controls.scss b/client/scss/components/_card-controls.scss index 86e4f9018..b6f645968 100644 --- a/client/scss/components/_card-controls.scss +++ b/client/scss/components/_card-controls.scss @@ -8,6 +8,6 @@ } button { - margin-left: .4rem; + margin-left: 0.4rem; } } diff --git a/client/scss/components/_carousel.scss b/client/scss/components/_carousel.scss index 04a273128..b5298f90b 100644 --- a/client/scss/components/_carousel.scss +++ b/client/scss/components/_carousel.scss @@ -21,8 +21,8 @@ bottom: 1rem; right: 0; padding: 0.6rem 1.6rem 0.6rem 1rem; - background: #1a1a1aaa; - color: #aaa; + background: #1A1A1AAA; + color: #AAAAAA; will-change: transform; } diff --git a/client/scss/components/_category-list.scss b/client/scss/components/_category-list.scss index 3c3e037e1..8b2415e8c 100644 --- a/client/scss/components/_category-list.scss +++ b/client/scss/components/_category-list.scss @@ -6,12 +6,12 @@ li { display: inline; - &:after { - content: ', ' + &::after { + content: ', '; } - &:last-child:after { - content: '' + &:last-child::after { + content: ''; } } } diff --git a/client/scss/components/_coin.scss b/client/scss/components/_coin.scss index c68a97483..f829f3d65 100644 --- a/client/scss/components/_coin.scss +++ b/client/scss/components/_coin.scss @@ -43,7 +43,7 @@ } .front { -// background-color: $white; + // background-color: $white; transform: rotateY(0deg); } diff --git a/client/scss/components/_dialog-container.scss b/client/scss/components/_dialog-container.scss index 3b8fad07d..118ca9659 100644 --- a/client/scss/components/_dialog-container.scss +++ b/client/scss/components/_dialog-container.scss @@ -1,4 +1,4 @@ -.dialog-container { +#DialogContainer { overflow: auto; z-index: 100; -} \ No newline at end of file +} diff --git a/client/scss/components/_error.scss b/client/scss/components/_error.scss index 6490e785f..4c3637e01 100644 --- a/client/scss/components/_error.scss +++ b/client/scss/components/_error.scss @@ -1,8 +1,8 @@ .error:empty { position: relative; - &:after, - &:before { + &::after, + &::before { align-content: center; align-items: center; border-radius: 100%; @@ -20,7 +20,7 @@ width: $loader-size; } - &:after { + &::after { animation-delay: 0s, 0.5s; @@ -41,7 +41,7 @@ content: ''; } - &:before { + &::before { animation-duration: 0.5s; animation-name: spin; border-color: transparent; diff --git a/client/scss/components/_header.scss b/client/scss/components/_header.scss index b50b98d7b..833fcd716 100644 --- a/client/scss/components/_header.scss +++ b/client/scss/components/_header.scss @@ -3,11 +3,11 @@ top: 1.5rem; left: 2rem; cursor: pointer; - padding: .55rem 2rem; + padding: 0.55rem 2rem; min-width: 5.625rem; display: inline-block; z-index: 150; - transform: translateX(0rem); + transform: translateX(0); &:hover { background-color: $red; @@ -15,9 +15,9 @@ svg { transition: - opacity .2s, - max-width .2s, - max-height .2s; + opacity 0.2s, + max-width 0.2s, + max-height 0.2s; } } @@ -45,8 +45,8 @@ #nav-control { ~ header { right: 100%; - transform: translateX(0rem); - box-shadow: 0 0 4px 0 rgba($black, .4); + transform: translateX(0); + box-shadow: 0 0 4px 0 rgba($black, 0.4); } &:checked { @@ -111,12 +111,12 @@ } &.disabled { - opacity: .4; + opacity: 0.4; text-decoration: line-through; cursor: not-allowed; } - &:not(.disabled):before { + &:not(.disabled)::before { background-color: $red; bottom: 0; content: ''; @@ -132,13 +132,13 @@ &:not(.disabled):hover { color: $white; - &:before { + &::before { width: 100%; } } } - label:after { + label::after { border-color: transparent; border-style: solid; border-width: 0.5rem; @@ -167,13 +167,15 @@ z-index: 5; box-shadow: 0 0 6px 0 $black-darkened; - &:before { + &::before { width: 100%; } - &:after { + + &::after { transform: translateY(-50%) rotate(90deg); } } + .subnav { box-shadow: inset 0 10px 6px -10px rgba($black-darkened, 0.5), @@ -181,7 +183,7 @@ transition-duration: 0.5s; max-height: 100vh; - a:hover:before { + a:hover::before { box-shadow: inset -10px 0 6px -10px rgba($black-darkened, 0.5); } } @@ -216,13 +218,13 @@ button, .button { - margin: 0 2rem 1rem 2rem; + margin: 0 2rem 1rem; width: calc(100% - 4rem); } } .about-actions { - margin: auto 2rem 0 2rem; + margin: auto 2rem 0; .button.link { text-align: left; @@ -250,7 +252,7 @@ .social-actions { display: flex; - margin: 0 2rem 1rem 2rem; + margin: 0 2rem 1rem; justify-content: space-between; a.button { @@ -260,6 +262,7 @@ &:focus { color: $white; } + &:hover { color: $red; } diff --git a/client/scss/components/_hero.scss b/client/scss/components/_hero.scss index cb7b8c875..46dd428f5 100644 --- a/client/scss/components/_hero.scss +++ b/client/scss/components/_hero.scss @@ -1,6 +1,6 @@ .hero { align-content: center; - background-color: #0d1011; + background-color: #0D1011; position: relative; overflow: hidden; color: $white; @@ -13,8 +13,9 @@ padding: 6rem; text-shadow: 0 0 0.2rem rgba($black, 0.5); - h1, h2 { - transition: font-size .2s ease; + h1, + h2 { + transition: font-size 0.2s ease; } h1 { @@ -23,8 +24,7 @@ header { z-index: 50; - text-shadow: 2px 2px 4px #000000aa; - + text-shadow: 2px 2px 4px #000000AA; } .call-to-action { @@ -53,10 +53,9 @@ } .call-to-action .button { - font-size: 1.25em + font-size: 1.25em; } } - @media only screen and (max-width: 768px) { h1 { font-size: 3em; @@ -67,7 +66,7 @@ } .call-to-action .button { - font-size: 1em + font-size: 1em; } } } diff --git a/client/scss/components/_inline-stats.scss b/client/scss/components/_inline-stats.scss index 906c83ad2..f7cc429bc 100644 --- a/client/scss/components/_inline-stats.scss +++ b/client/scss/components/_inline-stats.scss @@ -5,13 +5,13 @@ .inline-stats-assists, .inline-stats-failures, .inline-stats-success-rate { - &:after { + &::after { color: $grey-lightened; content: '|'; margin: 0 1rem; } - &:last-child:after { + &:last-child::after { display: none; } } diff --git a/client/scss/components/_loading.scss b/client/scss/components/_loading.scss index 51ea6096d..1b3b56a8d 100644 --- a/client/scss/components/_loading.scss +++ b/client/scss/components/_loading.scss @@ -3,8 +3,8 @@ &.force { position: relative; - &:after, - &:before { + &::after, + &::before { align-content: center; align-items: center; color: $black; @@ -13,7 +13,7 @@ position: absolute; } - &:after { + &::after { animation-delay: 0s, 1s; @@ -41,7 +41,7 @@ z-index: 100; } - &:before { + &::before { background-color: rgba(white, 0.8); border-color: transparent; content: 'Loading'; @@ -52,8 +52,8 @@ z-index: 100; } - &[data-loader-text]:before { - content: attr(data-loader-text) + &[data-loader-text]::before { + content: attr(data-loader-text); } } } diff --git a/client/scss/components/_messenger.scss b/client/scss/components/_messenger.scss index 38df4c6ad..423b80318 100644 --- a/client/scss/components/_messenger.scss +++ b/client/scss/components/_messenger.scss @@ -8,21 +8,23 @@ ul.messenger { &.messenger-last { .messenger-message { box-shadow: - inset 0px 1px $black, - inset 48px 0px 0px #292929; + inset 0 1px $black, + inset 48px 0 0 #292929; &.alert-error { - .messenger-message-inner:before { + .messenger-message-inner::before { background-color: $red; } } + &.alert-info { - .messenger-message-inner:before { + .messenger-message-inner::before { background-color: $blue; } } + &.alert-success { - .messenger-message-inner:before { + .messenger-message-inner::before { background-color: $green; } } diff --git a/client/scss/components/_option-group.scss b/client/scss/components/_option-group.scss index 8af09d799..6b39a5474 100644 --- a/client/scss/components/_option-group.scss +++ b/client/scss/components/_option-group.scss @@ -1,5 +1,4 @@ .option-group { - [type=checkbox], [type=radio] { + label { diff --git a/client/scss/components/_page-content.scss b/client/scss/components/_page-content.scss index aa7a2d4a9..8a38bbcac 100644 --- a/client/scss/components/_page-content.scss +++ b/client/scss/components/_page-content.scss @@ -4,8 +4,7 @@ flex-grow: 1; flex-shrink: 0; margin: 2rem; -// overflow: auto; - + // overflow: auto; section { flex-shrink: 0; margin-bottom: 2rem; diff --git a/client/scss/components/_page-header.scss b/client/scss/components/_page-header.scss index 93e5020ee..8178d7b3e 100644 --- a/client/scss/components/_page-header.scss +++ b/client/scss/components/_page-header.scss @@ -12,19 +12,20 @@ transition: min-width 0.2s; z-index: 10; - &:after { - background-image: linear-gradient( - to left, - $red 0rem, - $red 0.2rem, - transparent 0.2rem, - transparent 0.4rem, - $red 0.4rem, - $red 0.6rem, - transparent 0.6rem, - transparent 0.8rem, - $red 0.8rem - ); + &::after { + background-image: + linear-gradient( + to left, + $red 0, + $red 0.2rem, + transparent 0.2rem, + transparent 0.4rem, + $red 0.4rem, + $red 0.6rem, + transparent 0.6rem, + transparent 0.8rem, + $red 0.8rem + ); bottom: 0; content: ''; display: block; @@ -33,7 +34,7 @@ right: 0; transform: skewX(-45deg) translateX(1rem); transform-origin: left bottom; - transition: transform .2s; + transition: transform 0.2s; top: 0; z-index: -1; } @@ -43,7 +44,7 @@ min-width: 100%; text-align: center; - &:after { + &::after { transform: skewX(0) translateX(0); } } diff --git a/client/scss/components/_page.scss b/client/scss/components/_page.scss index 7d5f21cb3..6939dc531 100644 --- a/client/scss/components/_page.scss +++ b/client/scss/components/_page.scss @@ -9,7 +9,7 @@ main.page { flex-direction: column; flex-grow: 1; margin-left: 21rem; - transition: margin .2s; + transition: margin 0.2s; @media only screen and (max-width: 769px) { margin-left: 0; diff --git a/client/scss/components/_password-group.scss b/client/scss/components/_password-group.scss index 420bf3a57..d656f648d 100644 --- a/client/scss/components/_password-group.scss +++ b/client/scss/components/_password-group.scss @@ -10,39 +10,43 @@ position: absolute; width: 100%; - &[value="0"] { - background-image: linear-gradient( - to right, - $red 20%, - $transparent 20% - ); + &[value='0'] { + background-image: + linear-gradient( + to right, + $red 20%, + $transparent 20% + ); } - &[value="1"] { - background-image: linear-gradient( - to right, - $red 40%, - $transparent 40% - ); + &[value='1'] { + background-image: + linear-gradient( + to right, + $red 40%, + $transparent 40% + ); } - &[value="2"] { - background-image: linear-gradient( - to right, - $yellow 60%, - $transparent 60% - ); + &[value='2'] { + background-image: + linear-gradient( + to right, + $yellow 60%, + $transparent 60% + ); } - &[value="3"] { - background-image: linear-gradient( - to right, - $yellow 80%, - $transparent 80% - ); + &[value='3'] { + background-image: + linear-gradient( + to right, + $yellow 80%, + $transparent 80% + ); } - &[value="4"] { + &[value='4'] { background-color: $green; } } diff --git a/client/scss/components/_product-card.scss b/client/scss/components/_product-card.scss index 331413e46..5496675a7 100644 --- a/client/scss/components/_product-card.scss +++ b/client/scss/components/_product-card.scss @@ -37,6 +37,6 @@ justify-content: space-evenly; width: 100%; align-items: center; - padding: 0 1rem 1rem 1rem; + padding: 0 1rem 1rem; } } diff --git a/client/scss/components/_radio-card-input.scss b/client/scss/components/_radio-card-input.scss index 67c76c21a..da3cdd0c6 100644 --- a/client/scss/components/_radio-card-input.scss +++ b/client/scss/components/_radio-card-input.scss @@ -5,10 +5,10 @@ div.radio-card-input { li.radio-card { padding: 1rem 2rem; text-align: center; - margin: 0 .25rem; + margin: 0 0.25rem; box-shadow: 0 0 0.5rem 0 rgba($red-lightened, 0); - border: .1rem solid $grey-lightened; - transition: all .2s; + border: 0.1rem solid $grey-lightened; + transition: all 0.2s; cursor: pointer; @@ -16,8 +16,8 @@ div.radio-card-input { &:hover, &.selected { border-color: $red; - } + &.selected { box-shadow: 0 0 0.5rem 0 rgba($red-lightened, 0.5); } diff --git a/client/scss/components/_radio-input.scss b/client/scss/components/_radio-input.scss index 91ae8a060..f6512d3b3 100644 --- a/client/scss/components/_radio-input.scss +++ b/client/scss/components/_radio-input.scss @@ -3,13 +3,13 @@ div.radio-input { display: flex; li.option { - padding: 0rem 1.5rem; + padding: 0 1.5rem; text-align: center; - margin: 0 .2rem; - border: .2rem solid $red; + margin: 0 0.2rem; + border: 0.2rem solid $red; transform: skewX(-10deg); display: inline-block; - transition: all .2s; + transition: all 0.2s; cursor: pointer; &:hover, @@ -30,4 +30,4 @@ div.radio-input { } } } -} \ No newline at end of file +} diff --git a/client/scss/components/_rat-panel.scss b/client/scss/components/_rat-panel.scss index 1c82eec30..c729304bb 100644 --- a/client/scss/components/_rat-panel.scss +++ b/client/scss/components/_rat-panel.scss @@ -14,7 +14,7 @@ .display-rat-button { position: relative; top: -2px; - margin-right: .2rem; + margin-right: 0.2rem; --text-color: #{rgba($white, 0.4)}; --text-color-hover: #{rgba($white, 0.75)}; @@ -59,8 +59,9 @@ .ship-expand-button { width: 48px; + svg { - transition: transform .2s ease; + transition: transform 0.2s ease; } } } @@ -70,11 +71,11 @@ transform: rotate(180deg); } - &.submitting:after { + &.submitting::after { display: flex; align-items: flex-end; justify-content: flex-end; - content: "Updating..."; + content: 'Updating...'; position: absolute; left: 0; top: 0; @@ -85,10 +86,10 @@ color: white; font-family: Raleway, sans-serif; font-size: 1.1em; - text-shadow: 0px 0px 8px #1a1a1a; + text-shadow: 0 0 8px #1A1A1A; } - &.submitting[data-loader-text]:after { - content: attr(data-loader-text) + &.submitting[data-loader-text]::after { + content: attr(data-loader-text); } } diff --git a/client/scss/components/_squeakmas-alert.scss b/client/scss/components/_squeakmas-alert.scss index b51897b41..a1bbab36d 100644 --- a/client/scss/components/_squeakmas-alert.scss +++ b/client/scss/components/_squeakmas-alert.scss @@ -1,5 +1,5 @@ .squeakmas-alert { - background-color: #1a1a1a; + background-color: #1A1A1A; box-shadow: 0 0 1rem 0 black; height: 150px; overflow: hidden; diff --git a/client/scss/components/_store-control-bar.scss b/client/scss/components/_store-control-bar.scss index 9b4dc5afc..0daefb6d6 100644 --- a/client/scss/components/_store-control-bar.scss +++ b/client/scss/components/_store-control-bar.scss @@ -1,6 +1,6 @@ .store-control-bar { background: $grey-lightened; - padding: .5rem 1rem; + padding: 0.5rem 1rem; margin: 0 -2rem; top: -4rem; position: relative; diff --git a/client/scss/components/_store-error.scss b/client/scss/components/_store-error.scss index 1cbaa8516..6904dd1df 100644 --- a/client/scss/components/_store-error.scss +++ b/client/scss/components/_store-error.scss @@ -2,7 +2,7 @@ margin: 0 2rem 2rem; padding: 1rem; border: 1px solid $red; - background: rgba(255,127,127,.15); + background: rgba(255, 127, 127, 0.15); color: $red-darkened; line-height: 35px; @@ -16,14 +16,13 @@ margin-left: 1rem; } - &:before { + &::before { content: '⚠'; float: left; color: $black; display: inline; - opacity: .75; + opacity: 0.75; font-size: 30px; font-weight: bold; - } -} \ No newline at end of file +} diff --git a/client/scss/components/_switch.scss b/client/scss/components/_switch.scss index 49f799c06..dd6022ac9 100644 --- a/client/scss/components/_switch.scss +++ b/client/scss/components/_switch.scss @@ -11,7 +11,7 @@ div.switch-container { position: absolute; width: calc(100% - 0.8rem); height: calc(100% - 0.4rem); - margin: .2rem .4rem; + margin: 0.2rem 0.4rem; border-radius: 1.2rem; } @@ -29,7 +29,7 @@ div.switch-container { height: 2.2rem; width: 2.2rem; background: $red; - transition: .2s cubic-bezier(0.19, 1, 0.22, 1); + transition: 0.2s cubic-bezier(0.19, 1, 0.22, 1); color: $black-lightened; border-radius: 50%; display: flex; @@ -50,7 +50,7 @@ div.switch-container { position: absolute; white-space: nowrap; height: 100%; - left: calc(100% + .5rem); + left: calc(100% + 0.5rem); line-height: 2rem; color: $grey; user-select: none; diff --git a/client/scss/components/_tabbed-panel.scss b/client/scss/components/_tabbed-panel.scss index ed7b6d1a3..8e56595d7 100644 --- a/client/scss/components/_tabbed-panel.scss +++ b/client/scss/components/_tabbed-panel.scss @@ -3,7 +3,7 @@ border-color: $red; border-style: solid; border-bottom-width: 0.2rem; - margin: 0 -2rem 2rem -2rem; + margin: 0 -2rem 2rem; ul { display: flex; @@ -25,7 +25,7 @@ border-bottom-width: 0; color: white; cursor: pointer; - padding: 0.5rem 2rem 0.7rem 2rem; + padding: 0.5rem 2rem 0.7rem; transition: all 0.2s; margin-bottom: -0.2rem; transform: skewX(-10deg); diff --git a/client/scss/components/_terms-dialog.scss b/client/scss/components/_terms-dialog.scss index 9f95ff967..8b9171e70 100644 --- a/client/scss/components/_terms-dialog.scss +++ b/client/scss/components/_terms-dialog.scss @@ -6,6 +6,6 @@ div.terms-dialog[role=dialog] { color: white; padding: 2rem; margin: 2rem 0; - background: rgba($white, .15) + background: rgba($white, 0.15); } } diff --git a/client/scss/components/_text-placeholder.scss b/client/scss/components/_text-placeholder.scss index fbfc04040..b4a462af3 100644 --- a/client/scss/components/_text-placeholder.scss +++ b/client/scss/components/_text-placeholder.scss @@ -1,16 +1,14 @@ - - span.text-placeholder { background: $grey; - opacity: .4; - border-radius: .9em; - height: .9em; + opacity: 0.4; + border-radius: 0.9em; + height: 0.9em; display: table-caption; &.loading { animation-name: opacity-flutter; animation-duration: 1s; - animation-iteration-count: infinite + animation-iteration-count: infinite; } } diff --git a/client/scss/components/_tooltip.scss b/client/scss/components/_tooltip.scss index f3dd23e56..d40426bae 100644 --- a/client/scss/components/_tooltip.scss +++ b/client/scss/components/_tooltip.scss @@ -11,7 +11,7 @@ transition-property: left, opacity, top; white-space: nowrap; - &:before { + &::before { border-color: transparent; border-style: solid; border-width: 0.5rem; diff --git a/client/scss/components/_tweets.scss b/client/scss/components/_tweets.scss index c18b6bdcb..176b18647 100644 --- a/client/scss/components/_tweets.scss +++ b/client/scss/components/_tweets.scss @@ -33,8 +33,8 @@ padding: 1rem; position: relative; - &:after, - &:before { + &::after, + &::before { border-color: transparent; border-style: solid; border-left-width: 0; @@ -43,14 +43,14 @@ right: 100%; } - &:after { + &::after { border-width: 1rem; border-right-color: $white; top: 1.2rem; z-index: 2; } - &:before { + &::before { border-width: 1.3rem; border-right-color: $black; top: 0.9rem; @@ -118,12 +118,12 @@ } li { - &:after { + &::after { content: '\b7'; margin: 0 1em; } - &:last-child:after { + &:last-child::after { display: none; } } diff --git a/client/scss/components/_user-menu.scss b/client/scss/components/_user-menu.scss index c8df471e7..8462db624 100644 --- a/client/scss/components/_user-menu.scss +++ b/client/scss/components/_user-menu.scss @@ -4,7 +4,7 @@ right: 2rem; top: 1.5rem; z-index: 100; - transition: top .2s; + transition: top 0.2s; &.logged-in, &.logging-in { @@ -73,7 +73,7 @@ z-index: 1; } - &:before { + &::before { background-color: $red; bottom: 0; content: ''; @@ -89,14 +89,13 @@ &:hover { color: $white; - &:before { + &::before { width: 100%; } - } } - &:not(:last-child) a:before { + &:not(:last-child) a::before { right: initial; left: 0%; } @@ -108,7 +107,7 @@ .avatar { order: 2; - transition: border-color .2s; + transition: border-color 0.2s; z-index: 5; } @@ -119,7 +118,7 @@ background-color: $grey-darkened; border-color: $red-darkened; - &:empty:before { + &:empty::before { color: $red-darkened; background: $grey-darkened; } diff --git a/client/scss/components/_user-nicknames.scss b/client/scss/components/_user-nicknames.scss index 1663c1d54..574cba684 100644 --- a/client/scss/components/_user-nicknames.scss +++ b/client/scss/components/_user-nicknames.scss @@ -37,7 +37,7 @@ div.user-nicknames { align-items: flex-end; .validated-form-input { - margin: 0 0 1rem 0; + margin: 0 0 1rem; } diff --git a/client/scss/components/_user-rats-tab.scss b/client/scss/components/_user-rats-tab.scss index 1a623304d..a443de1e8 100644 --- a/client/scss/components/_user-rats-tab.scss +++ b/client/scss/components/_user-rats-tab.scss @@ -13,19 +13,17 @@ .add-rat-form-container { position: absolute; right: -2px; - top: 0px; + top: 0; z-index: 50; } + .rat-cards-container { margin-right: 34px; } } - @media only screen and (max-width: 768px) { .rat-cards-container { justify-content: center; } } - - } diff --git a/client/scss/components/_validated-form-input.scss b/client/scss/components/_validated-form-input.scss index d68b8ebe5..7bbe46510 100644 --- a/client/scss/components/_validated-form-input.scss +++ b/client/scss/components/_validated-form-input.scss @@ -1,45 +1,45 @@ .validated-form-input { .tooltiptext { - pointer-events: none; + pointer-events: none; + opacity: 0; + max-width: 28rem; + background-color: $red; + color: $white; + text-align: center; + border-color: $red-darkened; + box-shadow: inset 0 10px 6px -10px rgba(1, 1, 1, 0.5); + padding: 1rem 2rem; + line-height: 1.25; + transition: opacity 0.1s ease; + + /* Position the tooltip */ + position: absolute; + z-index: 99; + bottom: 8rem; + left: 3.5%; + + &::after { opacity: 0; - max-width: 28rem; - background-color: $red; - color: $white; - text-align: center; - border-color: $red-darkened; - box-shadow: inset 0 10px 6px -10px rgba(1, 1, 1, 0.5); - padding: 1rem 2rem; - line-height: 1.25; - transition: opacity .1s ease; - - /* Position the tooltip */ + content: ' '; + display: block; position: absolute; - z-index: 99; - bottom: 8rem; - left: 3.5%; - - &::after { - opacity: 0; - content: " "; - display: block; - position: absolute; - top: 95%; - left: 5%; - right: 5px; - width: 0; - height: 0; - border-left: 15px solid transparent; - border-right: 15px solid transparent; - border-top: 10px solid $red; - } + top: 95%; + left: 5%; + right: 5px; + width: 0; + height: 0; + border-left: 15px solid transparent; + border-right: 15px solid transparent; + border-top: 10px solid $red; + } } - + input:focus + .tooltiptext.should-display { - opacity: 1; + opacity: 1; } input:focus + .tooltiptext.should-display::after { - opacity: 1; + opacity: 1; } -} \ No newline at end of file +} diff --git a/client/scss/core/_a.scss b/client/scss/core/_a.scss index 908373fcf..6f1a3de77 100644 --- a/client/scss/core/_a.scss +++ b/client/scss/core/_a.scss @@ -1,8 +1,10 @@ a { color: $red; - text-decoration: none; transition: all 0.2s; + text-decoration: none; + + &:focus, &:hover { color: $black; diff --git a/client/scss/core/_abbr.scss b/client/scss/core/_abbr.scss index 3031f6555..e8a17d145 100644 --- a/client/scss/core/_abbr.scss +++ b/client/scss/core/_abbr.scss @@ -1,6 +1,5 @@ abbr { - border-bottom-color: $black; - border-bottom-style: dotted; - border-bottom-width: 1px; + border-bottom: 1px dotted $black; + cursor: help; } diff --git a/client/scss/core/_address.scss b/client/scss/core/_address.scss index c1faed35b..9c7f8d757 100644 --- a/client/scss/core/_address.scss +++ b/client/scss/core/_address.scss @@ -1,11 +1,13 @@ address { display: grid; + + grid-template-columns: repeat(4, max-content); grid-template-areas: 'name name name name' 'line1 line1 line1 line1' 'line2 line2 line2 line2' 'city state country zip'; - grid-template-columns: repeat(4, max-content); + .name { grid-area: name; @@ -23,7 +25,9 @@ address { } } - .city, .state, .country { + .city, + .state, + .country { margin-right: 0.2em; } diff --git a/client/scss/core/_application.scss b/client/scss/core/_application.scss index 66c66100f..00d069556 100644 --- a/client/scss/core/_application.scss +++ b/client/scss/core/_application.scss @@ -1,5 +1,6 @@ -[role=application] { +[role='application'] { display: flex; - line-height: 2; position: relative; + + line-height: 2; } diff --git a/client/scss/core/_article.scss b/client/scss/core/_article.scss index b3f368a56..df14b44d1 100644 --- a/client/scss/core/_article.scss +++ b/client/scss/core/_article.scss @@ -3,21 +3,22 @@ article { > aside, > header { - margin-left: 4rem; margin-right: 4rem; + margin-left: 4rem; } > small { - border-color: $grey; - border-style: solid; - border-width: 0.1rem; - - border-left: none; - border-right: none; display: block; + margin: 2rem 4rem; padding: 0 1rem; + border-width: 0.1rem; + border-style: solid; + border-color: $grey; + border-right: none; + border-left: none; + > * { margin-right: 1rem; @@ -28,19 +29,27 @@ article { } .article-content { - h1, h2, h3, - h4, h5, h6, + h1, + h2, + h3, + h4, + h5, + h6, header, ol, p, ul { + margin-right: 4rem; margin-bottom: 2rem; margin-left: 4rem; - margin-right: 4rem; } - h1, h2, h3, - h4, h5, h6 { + h1, + h2, + h3, + h4, + h5, + h6 { margin-top: 4rem; } diff --git a/client/scss/core/_aside.scss b/client/scss/core/_aside.scss deleted file mode 100644 index 3df8c2a29..000000000 --- a/client/scss/core/_aside.scss +++ /dev/null @@ -1 +0,0 @@ -aside {} diff --git a/client/scss/core/_button.scss b/client/scss/core/_button.scss index 96a6cdee2..86288452f 100644 --- a/client/scss/core/_button.scss +++ b/client/scss/core/_button.scss @@ -1,7 +1,8 @@ @mixin link-button { - background: none; border: none; + background: none; + &.inline { color: $red; text-decoration: underline; @@ -20,10 +21,12 @@ } +/* stylelint-disable selector-class-pattern */ button, -input[type=button], +input[type='button'], .ReactTable .-pagination .-btn, .button { + /* stylelint-enable selector-class-pattern */ --text-color: #{$white}; --text-color-hover: #{$red}; --background-color: #{$red}; @@ -65,10 +68,9 @@ input[type=button], &.link { @media screen and (max-width: 768px) { &:not(.mobile-button) { - @include link-button() + @include link-button(); } } - @media screen and (min-width: 769px) { @include link-button(); } diff --git a/client/scss/core/_dialog.scss b/client/scss/core/_dialog.scss index d964ad0c6..df0729b21 100644 --- a/client/scss/core/_dialog.scss +++ b/client/scss/core/_dialog.scss @@ -1,10 +1,9 @@ -[role=dialog] { - background-color: rgba($black, .99); - margin-top: 4rem; +[role='dialog'] { + background-color: rgba($black, 0.99); + margin: 0 auto auto; border: none; display: flex; flex-direction: column; - margin: 0 auto auto auto; min-width: 60rem; overflow: hidden; pointer-events: initial; @@ -12,11 +11,7 @@ padding: 2rem; &.transparency { - background-color: rgba($black, .75); - } - - &.center-title > header { - justify-content: center; + background-color: rgba($black, 0.75); } > header { @@ -29,13 +24,17 @@ padding: 1rem 2rem; } - [name=close] { + [name='close'] { border-radius: 0; margin-left: auto; padding: 1rem; } } + &.center-title > header { + justify-content: center; + } + > .content { flex-shrink: 1; padding: 2rem; @@ -52,17 +51,17 @@ } &.no-pad > .content { - padding: 2rem 0 0 0; + padding: 2rem 0 0; } > footer { color: $white; } - menu[type=toolbar] { + menu[type='toolbar'] { display: flex; flex-shrink: 0; - padding: 2rem 0 0 0; + padding: 2rem 0 0; &.compact { padding: 0; diff --git a/client/scss/core/_dl.scss b/client/scss/core/_dl.scss index 7230e1c7f..fc91e4866 100644 --- a/client/scss/core/_dl.scss +++ b/client/scss/core/_dl.scss @@ -2,10 +2,9 @@ dl { display: flex; flex-wrap: wrap; - dt, dd { - border-top-color: $black; - border-top-style: solid; - border-top-width: 1px; + dt, + dd { + border-top: 1px solid $black; flex-grow: 1; flex-shrink: 0; padding-bottom: 1rem; diff --git a/client/scss/core/_figure.scss b/client/scss/core/_figure.scss index 68d7a4497..a5eac2372 100644 --- a/client/scss/core/_figure.scss +++ b/client/scss/core/_figure.scss @@ -2,5 +2,3 @@ figure { margin: 1rem; padding: 1rem; } - -figcaption {} diff --git a/client/scss/core/_flex.scss b/client/scss/core/_flex.scss index 464132bc3..2976f8e36 100644 --- a/client/scss/core/_flex.scss +++ b/client/scss/core/_flex.scss @@ -39,5 +39,4 @@ justify-content: flex-end; } } - } diff --git a/client/scss/core/_form.scss b/client/scss/core/_form.scss index bb6f66659..7cbe824ce 100644 --- a/client/scss/core/_form.scss +++ b/client/scss/core/_form.scss @@ -1,16 +1,21 @@ form { &.compact fieldset { - padding: .5rem 4rem; + padding: 0.5rem 4rem; } &.dialog fieldset { - padding: .5rem 2rem; + padding: 0.5rem 2rem; + } + + .form-row { + display: flex; + flex-direction: row; } &.compact .form-row { fieldset, > div { - padding: .5rem; + padding: 0.5rem; &:first-child { padding-left: 4rem; @@ -30,9 +35,4 @@ form { } } } - - .form-row { - display: flex; - flex-direction: row; - } } diff --git a/client/scss/core/_headings.scss b/client/scss/core/_headings.scss index 405d1fb89..830498f93 100644 --- a/client/scss/core/_headings.scss +++ b/client/scss/core/_headings.scss @@ -1,4 +1,9 @@ -h1, h2, h3, h4, h5, h6 { +h1, +h2, +h3, +h4, +h5, +h6 { flex-shrink: 0; font-weight: bold; line-height: 1.5; @@ -28,5 +33,3 @@ h4 { h5 { font-size: 1.33em; } - -h6 {} diff --git a/client/scss/core/_img.scss b/client/scss/core/_img.scss index 95831414a..24adbe02a 100644 --- a/client/scss/core/_img.scss +++ b/client/scss/core/_img.scss @@ -2,7 +2,7 @@ img { height: auto; max-width: 100%; - &:after{ - content: 'Loading...' + &::after { + content: 'Loading...'; } } diff --git a/client/scss/core/_input.scss b/client/scss/core/_input.scss index 382a9a429..6d08d272c 100644 --- a/client/scss/core/_input.scss +++ b/client/scss/core/_input.scss @@ -19,6 +19,7 @@ &[required] { border-color: $red-lightened; + &:focus { border-color: $red; box-shadow: 0 0 0.5rem 0 rgba($red, 0.5); @@ -26,6 +27,7 @@ &:valid { border-color: $green-lightened; + &:focus { border-color: $green; box-shadow: 0 0 0.5rem 0 rgba($green, 0.5); @@ -36,7 +38,8 @@ &.dark { background: $black-lightened; color: $white; - box-shadow: none !important; + box-shadow: none; + &:not(.inline) { border-width: 0 0 0.2rem; border-color: transparent; @@ -61,24 +64,24 @@ } input { - &[type=date], - &[type=datetime], - &[type=datetime-local], - &[type=email], - &[type=month], - &[type=number], - &[type=password], - &[type=search], - &[type=tel], - &[type=text], - &[type=time], - &[type=url], - &[type=week] { + &[type='date'], + &[type='datetime'], + &[type='datetime-local'], + &[type='email'], + &[type='month'], + &[type='number'], + &[type='password'], + &[type='search'], + &[type='tel'], + &[type='text'], + &[type='time'], + &[type='url'], + &[type='week'] { @extend %text-input; } - &[type=checkbox], - &[type=radio] { + &[type='checkbox'], + &[type='radio'] { &[hidden]:checked + label.button { background-color: transparent; color: $red; @@ -93,14 +96,14 @@ textarea { } -input.large[type=checkbox] { +input.large[type='checkbox'] { width: 16px; height: 16px; vertical-align: middle; } - +/* stylelint-disable-next-line selector-class-pattern */ .ReactTable .rt-thead.-filters input { @extend %text-input; color: $black; diff --git a/client/scss/core/_kbd.scss b/client/scss/core/_kbd.scss index 5c1241c62..9de04bcd1 100644 --- a/client/scss/core/_kbd.scss +++ b/client/scss/core/_kbd.scss @@ -1,10 +1,10 @@ kbd { box-shadow: - 0 1px 0 #bbbbbb, - 0 2px 1px #999999, - 0 2px 0 #bbbbbb, - inset 0 1px 1px #ffffff, - inset 0 -1px 3px #cccccc; + 0 1px 0 #BBBBBB, + 0 2px 1px #999999, + 0 2px 0 #BBBBBB, + inset 0 1px 1px #FFFFFF, + inset 0 -1px 3px #CCCCCC; padding: 0.3rem 0.5rem; + kbd { diff --git a/client/scss/core/_lists.scss b/client/scss/core/_lists.scss index 7012bfb97..bc0fed867 100644 --- a/client/scss/core/_lists.scss +++ b/client/scss/core/_lists.scss @@ -1,4 +1,11 @@ -ol, ul { +ol, +ul { + > li { + &.inaccessible { + text-decoration: line-through; + } + } + &.columns { align-content: stretch; display: flex; @@ -12,12 +19,6 @@ ol, ul { } } - > li { - &.inaccessible { - text-decoration: line-through; - } - } - &.inline { display: flex; flex-wrap: wrap; @@ -28,12 +29,12 @@ ol, ul { &.comma-separated { li { - &:after { + &::after { content: ', '; margin-right: 0.2rem; } - &:last-of-type:after { + &:last-of-type::after { content: ''; margin-right: 0; } diff --git a/client/scss/core/_nav.scss b/client/scss/core/_nav.scss index da6ff9a24..f43227ed9 100644 --- a/client/scss/core/_nav.scss +++ b/client/scss/core/_nav.scss @@ -1,5 +1,6 @@ nav { - ol, ul { + ol, + ul { list-style: none; padding-left: 0; } diff --git a/client/scss/core/_p.scss b/client/scss/core/_p.scss index 736a7a01b..8822dc883 100644 --- a/client/scss/core/_p.scss +++ b/client/scss/core/_p.scss @@ -4,7 +4,4 @@ p { &:last-child { margin-bottom: 0; } -// > * { -// word-break: break-all; -// } } diff --git a/client/scss/core/_placeholder.scss b/client/scss/core/_placeholder.scss index bee8e805d..88e95508e 100644 --- a/client/scss/core/_placeholder.scss +++ b/client/scss/core/_placeholder.scss @@ -1,8 +1,8 @@ -[data-placeholder]:empty:before { +[data-placeholder]:empty::before { content: attr(data-placeholder); } -::-webkit-input-placeholder, -[data-placeholder]:empty:before { +:-webkit-input-placeholder, +[data-placeholder]:empty::before { color: rgba(169, 169, 169, 1); } diff --git a/client/scss/core/_section.scss b/client/scss/core/_section.scss deleted file mode 100644 index f6cd14623..000000000 --- a/client/scss/core/_section.scss +++ /dev/null @@ -1 +0,0 @@ -section {} diff --git a/client/scss/core/_select.scss b/client/scss/core/_select.scss index 4080d280c..1f1e63ef8 100644 --- a/client/scss/core/_select.scss +++ b/client/scss/core/_select.scss @@ -10,19 +10,21 @@ select { appearance: none; &:not(:valid) { - color: #999; + color: #999999; } option { - color: #000; - &[value=""] { + color: #000000; + + &[value=''] { display: none; - color: #999; + color: #999999; } } &.required { border-color: $red-lightened; + &:focus { border-color: $red; box-shadow: 0 0 0.5rem 0 rgba($red, 0.5); @@ -30,6 +32,7 @@ select { &:valid { border-color: $green-lightened; + &:focus { border-color: $green; box-shadow: 0 0 0.5rem 0 rgba($green, 0.5); @@ -44,7 +47,7 @@ div.select-wrapper { &::after { content: '▼'; - color: #999; + color: #999999; font-size: 1rem; line-height: 2; top: 0; diff --git a/client/scss/core/_table.scss b/client/scss/core/_table.scss index bc7a5b9a3..72f2ae445 100644 --- a/client/scss/core/_table.scss +++ b/client/scss/core/_table.scss @@ -1,3 +1,15 @@ +th { + font-weight: bold; + padding-right: 1rem; +} + + +th, +td { + text-align: left; + vertical-align: middle; +} + table { max-width: 100%; table-layout: fixed; @@ -7,13 +19,15 @@ table { } &.padded { - th, td { + th, + td { padding: 1rem; } &.compact { - th, td { - padding: .5rem; + th, + td { + padding: 0.5rem; } } } @@ -30,16 +44,6 @@ thead { color: $white; } -th, td { - text-align: left; - vertical-align: middle; -} - -th { - font-weight: bold; - padding-right: 1rem; -} - td.total { border-top: 3px double $black; } diff --git a/client/scss/fonts/_open-sans.scss b/client/scss/fonts/_open-sans.scss index 0fb67b792..6553458f9 100644 --- a/client/scss/fonts/_open-sans.scss +++ b/client/scss/fonts/_open-sans.scss @@ -1,7 +1,8 @@ @font-face { font-display: swap; + font-family: 'Open Sans'; font-style: normal; - font-weight: 400; + font-weight: normal; src: local('Open Sans Regular'), local('OpenSans-Regular'), url('/static/fonts/OpenSans/OpenSans-Regular.ttf') format('truetype'); } diff --git a/client/scss/fonts/_raleway.scss b/client/scss/fonts/_raleway.scss index cdb8c2d3c..8f580482d 100644 --- a/client/scss/fonts/_raleway.scss +++ b/client/scss/fonts/_raleway.scss @@ -1,7 +1,8 @@ @font-face { font-display: swap; - font-family: 'Raleway'; + + font-family: Raleway; font-style: normal; - font-weight: 400; + font-weight: normal; src: local('Raleway'), local('Raleway-Regular'), url('/static/fonts/Raleway/Raleway-Regular.ttf') format('truetype'); } diff --git a/client/scss/helpers/_hidden.scss b/client/scss/helpers/_hidden.scss index f4fcbd7e1..45a312663 100644 --- a/client/scss/helpers/_hidden.scss +++ b/client/scss/helpers/_hidden.scss @@ -1,4 +1,6 @@ [hidden], [data-hidden] { + /* Disabled as hidden should never be able to be overridden */ + /* stylelint-disable declaration-no-important */ display: none !important; } diff --git a/client/scss/helpers/_text-collapse.scss b/client/scss/helpers/_text-collapse.scss index e9e1d5a3a..46499b638 100644 --- a/client/scss/helpers/_text-collapse.scss +++ b/client/scss/helpers/_text-collapse.scss @@ -1,5 +1,6 @@ [text-collapse] { + white-space: nowrap; + overflow: hidden; text-overflow: ellipsis; - white-space: nowrap; } diff --git a/client/scss/helpers/_text-format.scss b/client/scss/helpers/_text-format.scss index 820b2cda3..5d13c7817 100644 --- a/client/scss/helpers/_text-format.scss +++ b/client/scss/helpers/_text-format.scss @@ -32,5 +32,5 @@ .text-mono { - font-family: 'Operator Mono', 'SF Mono', 'Fira Code', 'Source Code Pro', Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Consolas, monospace, sans-serif; + font-family: 'Operator Mono', 'SF Mono', 'Fira Code', 'Source Code Pro', Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', Consolas, monospace, sans-serif; } diff --git a/client/scss/lib/_kbdfun.scss b/client/scss/lib/_kbdfun.scss index 596fddfbb..c75b3d217 100644 --- a/client/scss/lib/_kbdfun.scss +++ b/client/scss/lib/_kbdfun.scss @@ -18,67 +18,71 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI */ /* Le kbd ---------------------- */ + kbd { color: #444444; - font-family: "Lucida Grande", Lucida, Verdana, sans-serif; + font-family: 'Lucida Grande', Lucida, Verdana, sans-serif; font-weight: normal; font-style: normal; text-align: center; line-height: 1em; - text-shadow: 0 1px 0 #fff; + text-shadow: 0 1px 0 #FFFFFF; display: inline; - padding: .3em .55em; + padding: 0.3em 0.55em; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; - border: 1px solid #bbb; - background-color: #f7f7f7; + border: 1px solid #BBBBBB; + background-color: #F7F7F7; background-image: -moz-linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0))); background-image: -webkit-linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)); background-image: -o-linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1a000000', endColorstr='#00000000', GradientType=0); - box-shadow: 0px 2px 0 #bbbbbb, 0 3px 1px #999999, 0 3px 0 #bbbbbb, inset 0 1px 1px #ffffff, inset 0 -1px 3px #cccccc; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#1a000000', endColorstr='#00000000', GradientType=0); + box-shadow: 0 2px 0 #BBBBBB, 0 3px 1px #999999, 0 3px 0 #BBBBBB, inset 0 1px 1px #FFFFFF, inset 0 -1px 3px #CCCCCC; } + kbd.dark { - color: #eeeeee; + color: #EEEEEE; text-shadow: 0 -1px 0 #000000; - border-color: #000; - background-color: #4d4c4c; + border-color: #000000; + background-color: #4D4C4C; background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(0, 0, 0, 0.5)), color-stop(80%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0))); background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0)); background-image: -moz-linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0)); background-image: -o-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0)); background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0)); background-repeat: no-repeat; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=0); - box-shadow: 0px 2px 0 #000000, 0 3px 1px #999999, inset 0 1px 1px #aaaaaa, inset 0 -1px 3px #272727; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=0); + box-shadow: 0 2px 0 #000000, 0 3px 1px #999999, inset 0 1px 1px #AAAAAA, inset 0 -1px 3px #272727; } + kbd.ios { - font-family: Helvetica, "Helvetica Neue", Arial, sans-serif; - color: #000; + font-family: Helvetica, 'Helvetica Neue', Arial, sans-serif; + color: #000000; border-color: rgba(0, 0, 0, 0.6); border-top-color: rgba(0, 0, 0, 0.4); - background-color: #b7b7bc; - background-image: -moz-linear-gradient(to bottom, #efeff0, #b7b7bc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#efeff0), to(#b7b7bc)); - background-image: -webkit-linear-gradient(to bottom, #efeff0, #b7b7bc); - background-image: -o-linear-gradient(to bottom, #efeff0, #b7b7bc); - background-image: linear-gradient(to bottom, #efeff0, #b7b7bc); + background-color: #B7B7BC; + background-image: -moz-linear-gradient(to bottom, #EFEFF0, #B7B7BC); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#EFEFF0), to(#B7B7BC)); + background-image: -webkit-linear-gradient(to bottom, #EFEFF0, #B7B7BC); + background-image: -o-linear-gradient(to bottom, #EFEFF0, #B7B7BC); + background-image: linear-gradient(to bottom, #EFEFF0, #B7B7BC); background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffefeff0', endColorstr='#ffb7b7bc', GradientType=0); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6), 0 2px 3px rgba(0, 0, 0, 0.1), inset 0 1px 0 #ffffff; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffefeff0', endColorstr='#ffb7b7bc', GradientType=0); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6), 0 2px 3px rgba(0, 0, 0, 0.1), inset 0 1px 0 #FFFFFF; } + kbd.android { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #ffffff; + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + color: #FFFFFF; text-shadow: none; - padding: .3em; + padding: 0.3em; border: 1px solid rgba(0, 0, 0, 0.05); -webkit-border-radius: 3px; -moz-border-radius: 3px; @@ -86,14 +90,16 @@ kbd.android { -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; - background: #5e5e5e; + background: #5E5E5E; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3), 0 1px 0 #444444, inset 0 1px 0 #868686; } + kbd.android.dark { background: #222222; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.7), 0 1px 0 #444444, inset 0 1px 0 #505050; } + kbd.android.color { - background: #083c5b; - box-shadow: 0 2px 2px rgba(0, 0, 0, 0.7), 0 1px 0 #444444, inset 0 1px 0 #36647b; + background: #083C5B; + box-shadow: 0 2px 2px rgba(0, 0, 0, 0.7), 0 1px 0 #444444, inset 0 1px 0 #36647B; } diff --git a/client/scss/lib/_react-table.scss b/client/scss/lib/_react-table.scss index b3eb7a4df..1408a8f71 100644 --- a/client/scss/lib/_react-table.scss +++ b/client/scss/lib/_react-table.scss @@ -1,6 +1,6 @@ .ReactTable { .rt-thead.-filters .rt-th { - padding: 0 1rem 1rem 1rem; + padding: 0 1rem 1rem; } .-pagination .-btn:not([disabled]):hover { diff --git a/client/scss/mixins/_text-outline.scss b/client/scss/mixins/_text-outline.scss index 3291bff02..09b7ecb63 100644 --- a/client/scss/mixins/_text-outline.scss +++ b/client/scss/mixins/_text-outline.scss @@ -22,5 +22,5 @@ 0 -1px $blur $color, // Top Left - -1px -1px $blur $color + -1px -1px $blur $color; } diff --git a/client/scss/pages/_acknowledgements.scss b/client/scss/pages/_acknowledgements.scss index c49081572..87c4d62d1 100644 --- a/client/scss/pages/_acknowledgements.scss +++ b/client/scss/pages/_acknowledgements.scss @@ -1,7 +1,6 @@ .page.acknowledgements { - .credit-section { - background: rgba(127,127,127, .1); + background: rgba(127, 127, 127, 0.1); padding: 1rem; margin-top: 2rem; display: flex; @@ -15,7 +14,6 @@ @media screen and (max-width: 1040px) { flex-direction: column; } - @media screen and (max-width: 500px) { a { width: calc(100% - 4rem); @@ -37,7 +35,6 @@ &.atlassian-brand { background-image: url(/static/images/brandlogos/atlassian.png); - } &.statuspage-brand { @@ -54,7 +51,7 @@ } &.onepass-brand { - background-image: url(/static/images/brandlogos/onepassword.png); + background-image: url(/static/images/brandlogos/onepassword.png); } } @@ -68,7 +65,7 @@ > span { font-size: 1.25em; font-family: Raleway, sans-serif; - border-bottom: .1rem solid $black; + border-bottom: 0.1rem solid $black; } > ul { @@ -76,8 +73,8 @@ max-height: 550px; overflow-y: auto; overflow-x: hidden; - border: .1rem solid $black; - padding: .5rem 1rem; + border: 0.1rem solid $black; + padding: 0.5rem 1rem; margin: 1rem; } } diff --git a/client/scss/pages/_index.scss b/client/scss/pages/_index.scss index 4266120cb..2ffe05d4c 100644 --- a/client/scss/pages/_index.scss +++ b/client/scss/pages/_index.scss @@ -1,3 +1,3 @@ page.home { - background-color: #0d0d0d; + background-color: #0D0D0D; } diff --git a/client/scss/pages/_paperwork.scss b/client/scss/pages/_paperwork.scss index d263f2002..07d39d7f9 100644 --- a/client/scss/pages/_paperwork.scss +++ b/client/scss/pages/_paperwork.scss @@ -2,7 +2,6 @@ $margin: 2rem; .page.paperwork { // overflow-x: hidden; - th { white-space: nowrap; } @@ -31,8 +30,8 @@ $margin: 2rem; display: inline-block; opacity: 0; transition: - transform .2s, - opacity .2s; + transform 0.2s, + opacity 0.2s; transform: translateX(calc(50% + 9rem)) scaleX(0); &.show { @@ -45,9 +44,9 @@ $margin: 2rem; } } - button[type="submit"] { + button[type='submit'] { transform: translateX(0%) scale(1); - transition: transform .2s; + transition: transform 0.2s; &[disabled] { transform: translateX(50%) scale(0); @@ -86,11 +85,11 @@ $margin: 2rem; background-color: $red; font-size: 2em; line-height: normal; - color: rgba($white,0.5); + color: rgba($white, 0.5); transform: skewX(-10deg); margin-right: calc(#{$margin} + 0.5rem); - &>div { + & > div { padding: 0.2em 0.4em; &.board-index { @@ -106,12 +105,14 @@ $margin: 2rem; margin: 0.2rem 0.2rem 0.2rem 0.2em; } - &>span { + & > span { transform: skewX(10deg); display: inline-block; } - .CMDR-name, .system, .rescue-title { + .CMDR-name, + .system, + .rescue-title { font-weight: bold; color: $white; } @@ -138,7 +139,7 @@ $margin: 2rem; } .tag, - .tag.status-group>span { + .tag.status-group > span { padding: 0.4em 0.8em; display: inline-block; } @@ -183,7 +184,8 @@ $margin: 2rem; .md-group { display: inline-flex; - .marked-for-deletion, .md-reason { + .marked-for-deletion, + .md-reason { padding: 0.4em 0.8em; } @@ -209,6 +211,7 @@ $margin: 2rem; padding: 0.5em 1em; // margin: 0.5rem 0 1rem 0; order: 5; + @media screen and (max-width: 768px) { order: 4; // margin-top: 0; @@ -220,7 +223,8 @@ $margin: 2rem; opacity: 0.5; } - .CMDR-name, .system { + .CMDR-name, + .system { font-weight: bold; } } @@ -249,7 +253,7 @@ $margin: 2rem; font-style: italic; .badge { - background: #b0a154; + background: #B0A154; } } } @@ -305,6 +309,7 @@ $margin: 2rem; .last-author { margin-left: 1em; + .label { opacity: 0.7; display: block; @@ -315,12 +320,15 @@ $margin: 2rem; @media screen and (max-width: 1040px) { flex-flow: column nowrap; - .times, .authors { + + .times, + .authors { .created, .updated, .author, .last-author { display: inline-block; + .label { display: inline; } @@ -334,6 +342,4 @@ $margin: 2rem; white-space: pre-line; } } - - } diff --git a/client/scss/pages/_rescue-search.scss b/client/scss/pages/_rescue-search.scss index b48467ffe..0207139fe 100644 --- a/client/scss/pages/_rescue-search.scss +++ b/client/scss/pages/_rescue-search.scss @@ -1,5 +1,4 @@ .page.rescue-search { - .searchControls { align-self: flex-end; } @@ -12,11 +11,11 @@ .rescue-list-item { display: flex; flex-direction: column; - padding: .5rem 0; + padding: 0.5rem 0; position: relative; &:not(:first-child) { - border-top: 1px solid #c4c4c4; + border-top: 1px solid #C4C4C4; } .primary-info { @@ -32,7 +31,7 @@ position: absolute; right: 0; top: 0; - opacity: .25; + opacity: 0.25; height: 100%; display: flex; align-items: center; diff --git a/client/scss/pages/_store-cart.scss b/client/scss/pages/_store-cart.scss index 2f952f8ac..43bba5b4a 100644 --- a/client/scss/pages/_store-cart.scss +++ b/client/scss/pages/_store-cart.scss @@ -17,7 +17,7 @@ } > * { - margin-right: .5rem; + margin-right: 0.5rem; } .item-name { @@ -26,7 +26,7 @@ font-size: 1.1em; .subscript { - font-size: .7em; + font-size: 0.7em; } } @@ -39,6 +39,7 @@ .item-name-key { margin-right: auto; } + .item-quantity-key { margin-right: 16rem; } diff --git a/client/scss/vendor/_hamburger.scss b/client/scss/vendor/_hamburger.scss index 13a334471..ea2a2d719 100644 --- a/client/scss/vendor/_hamburger.scss +++ b/client/scss/vendor/_hamburger.scss @@ -5,8 +5,9 @@ * @site https://jonsuh.com/hamburgers * @link https://github.com/jonsuh/hamburgers */ + .hamburger { - padding: 15px 15px; + padding: 15px; display: inline-block; cursor: pointer; transition-property: opacity, -webkit-filter; @@ -20,791 +21,1081 @@ background-color: transparent; border: 0; margin: 0; - overflow: visible; } - .hamburger:hover { - opacity: 0.7; } + overflow: visible; +} + +.hamburger:hover { + opacity: 0.7; +} .hamburger-box { width: 40px; height: 24px; display: inline-block; - position: relative; } + position: relative; +} .hamburger-inner { display: block; top: 50%; - margin-top: -2px; } - .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after { - width: 40px; - height: 4px; - background-color: #000; - border-radius: 4px; - position: absolute; - transition-property: -webkit-transform; - transition-property: transform; - transition-property: transform, -webkit-transform; - transition-duration: 0.15s; - transition-timing-function: ease; } - .hamburger-inner::before, .hamburger-inner::after { - content: ""; - display: block; } - .hamburger-inner::before { - top: -10px; } - .hamburger-inner::after { - bottom: -10px; } + margin-top: -2px; +} + +.hamburger-inner, +.hamburger-inner::before, +.hamburger-inner::after { + width: 40px; + height: 4px; + background-color: #000000; + border-radius: 4px; + position: absolute; + transition-property: -webkit-transform; + transition-property: transform; + transition-property: transform, -webkit-transform; + transition-duration: 0.15s; + transition-timing-function: ease; +} + +.hamburger-inner::before, +.hamburger-inner::after { + content: ''; + display: block; +} + +.hamburger-inner::before { + top: -10px; +} + +.hamburger-inner::after { + bottom: -10px; +} /* * 3DX */ + .hamburger--3dx .hamburger-box { -webkit-perspective: 80px; - perspective: 80px; } + perspective: 80px; +} .hamburger--3dx .hamburger-inner { transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after { - transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } + transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); +} + +.hamburger--3dx .hamburger-inner::before, +.hamburger--3dx .hamburger-inner::after { + transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); +} .hamburger--3dx.is-active .hamburger-inner { background-color: transparent; -webkit-transform: rotateY(180deg); - transform: rotateY(180deg); } - .hamburger--3dx.is-active .hamburger-inner::before { - -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); - transform: translate3d(0, 10px, 0) rotate(45deg); } - .hamburger--3dx.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); - transform: translate3d(0, -10px, 0) rotate(-45deg); } + transform: rotateY(180deg); +} + +.hamburger--3dx.is-active .hamburger-inner::before { + -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); + transform: translate3d(0, 10px, 0) rotate(45deg); +} + +.hamburger--3dx.is-active .hamburger-inner::after { + -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); + transform: translate3d(0, -10px, 0) rotate(-45deg); +} /* * 3DX Reverse */ + .hamburger--3dx-r .hamburger-box { -webkit-perspective: 80px; - perspective: 80px; } + perspective: 80px; +} .hamburger--3dx-r .hamburger-inner { transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after { - transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } + transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); +} + +.hamburger--3dx-r .hamburger-inner::before, +.hamburger--3dx-r .hamburger-inner::after { + transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); +} .hamburger--3dx-r.is-active .hamburger-inner { background-color: transparent; -webkit-transform: rotateY(-180deg); - transform: rotateY(-180deg); } - .hamburger--3dx-r.is-active .hamburger-inner::before { - -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); - transform: translate3d(0, 10px, 0) rotate(45deg); } - .hamburger--3dx-r.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); - transform: translate3d(0, -10px, 0) rotate(-45deg); } + transform: rotateY(-180deg); +} + +.hamburger--3dx-r.is-active .hamburger-inner::before { + -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); + transform: translate3d(0, 10px, 0) rotate(45deg); +} + +.hamburger--3dx-r.is-active .hamburger-inner::after { + -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); + transform: translate3d(0, -10px, 0) rotate(-45deg); +} /* * 3DY */ + .hamburger--3dy .hamburger-box { -webkit-perspective: 80px; - perspective: 80px; } + perspective: 80px; +} .hamburger--3dy .hamburger-inner { transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after { - transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } + transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); +} + +.hamburger--3dy .hamburger-inner::before, +.hamburger--3dy .hamburger-inner::after { + transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); +} .hamburger--3dy.is-active .hamburger-inner { background-color: transparent; -webkit-transform: rotateX(-180deg); - transform: rotateX(-180deg); } - .hamburger--3dy.is-active .hamburger-inner::before { - -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); - transform: translate3d(0, 10px, 0) rotate(45deg); } - .hamburger--3dy.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); - transform: translate3d(0, -10px, 0) rotate(-45deg); } + transform: rotateX(-180deg); +} + +.hamburger--3dy.is-active .hamburger-inner::before { + -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); + transform: translate3d(0, 10px, 0) rotate(45deg); +} + +.hamburger--3dy.is-active .hamburger-inner::after { + -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); + transform: translate3d(0, -10px, 0) rotate(-45deg); +} /* * 3DY Reverse */ + .hamburger--3dy-r .hamburger-box { -webkit-perspective: 80px; - perspective: 80px; } + perspective: 80px; +} .hamburger--3dy-r .hamburger-inner { transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after { - transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } + transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); +} + +.hamburger--3dy-r .hamburger-inner::before, +.hamburger--3dy-r .hamburger-inner::after { + transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); +} .hamburger--3dy-r.is-active .hamburger-inner { background-color: transparent; -webkit-transform: rotateX(180deg); - transform: rotateX(180deg); } - .hamburger--3dy-r.is-active .hamburger-inner::before { - -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); - transform: translate3d(0, 10px, 0) rotate(45deg); } - .hamburger--3dy-r.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); - transform: translate3d(0, -10px, 0) rotate(-45deg); } + transform: rotateX(180deg); +} + +.hamburger--3dy-r.is-active .hamburger-inner::before { + -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); + transform: translate3d(0, 10px, 0) rotate(45deg); +} + +.hamburger--3dy-r.is-active .hamburger-inner::after { + -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); + transform: translate3d(0, -10px, 0) rotate(-45deg); +} /* * Arrow */ + .hamburger--arrow.is-active .hamburger-inner::before { -webkit-transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); - transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); } + transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); +} .hamburger--arrow.is-active .hamburger-inner::after { -webkit-transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); - transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); } + transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); +} /* * Arrow Right */ + .hamburger--arrow-r.is-active .hamburger-inner::before { -webkit-transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); - transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); } + transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); +} .hamburger--arrow-r.is-active .hamburger-inner::after { -webkit-transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); - transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); } + transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); +} /* * Arrow Alt */ + .hamburger--arrowalt .hamburger-inner::before { transition: top 0.1s 0.15s ease, -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); transition: top 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); - transition: top 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); } + transition: top 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); +} .hamburger--arrowalt .hamburger-inner::after { transition: bottom 0.1s 0.15s ease, -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); transition: bottom 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); - transition: bottom 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); } + transition: bottom 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); +} .hamburger--arrowalt.is-active .hamburger-inner::before { top: 0; -webkit-transform: translate3d(-8px, -10px, 0) rotate(-45deg) scale(0.7, 1); - transform: translate3d(-8px, -10px, 0) rotate(-45deg) scale(0.7, 1); + transform: translate3d(-8px, -10px, 0) rotate(-45deg) scale(0.7, 1); transition: top 0.1s ease, -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); transition: top 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); - transition: top 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } + transition: top 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); +} .hamburger--arrowalt.is-active .hamburger-inner::after { bottom: 0; -webkit-transform: translate3d(-8px, 10px, 0) rotate(45deg) scale(0.7, 1); - transform: translate3d(-8px, 10px, 0) rotate(45deg) scale(0.7, 1); + transform: translate3d(-8px, 10px, 0) rotate(45deg) scale(0.7, 1); transition: bottom 0.1s ease, -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); transition: bottom 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); - transition: bottom 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } + transition: bottom 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); +} /* * Arrow Alt Right */ + .hamburger--arrowalt-r .hamburger-inner::before { transition: top 0.1s 0.15s ease, -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); transition: top 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); - transition: top 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); } + transition: top 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); +} .hamburger--arrowalt-r .hamburger-inner::after { transition: bottom 0.1s 0.15s ease, -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); transition: bottom 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); - transition: bottom 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); } + transition: bottom 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); +} .hamburger--arrowalt-r.is-active .hamburger-inner::before { top: 0; -webkit-transform: translate3d(8px, -10px, 0) rotate(45deg) scale(0.7, 1); - transform: translate3d(8px, -10px, 0) rotate(45deg) scale(0.7, 1); + transform: translate3d(8px, -10px, 0) rotate(45deg) scale(0.7, 1); transition: top 0.1s ease, -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); transition: top 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); - transition: top 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } + transition: top 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); +} .hamburger--arrowalt-r.is-active .hamburger-inner::after { bottom: 0; -webkit-transform: translate3d(8px, 10px, 0) rotate(-45deg) scale(0.7, 1); - transform: translate3d(8px, 10px, 0) rotate(-45deg) scale(0.7, 1); + transform: translate3d(8px, 10px, 0) rotate(-45deg) scale(0.7, 1); transition: bottom 0.1s ease, -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); transition: bottom 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); - transition: bottom 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } + transition: bottom 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); +} /* * Boring */ -.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after { - transition-property: none; } + +.hamburger--boring .hamburger-inner, +.hamburger--boring .hamburger-inner::before, +.hamburger--boring .hamburger-inner::after { + transition-property: none; +} .hamburger--boring.is-active .hamburger-inner { -webkit-transform: rotate(45deg); - transform: rotate(45deg); } - .hamburger--boring.is-active .hamburger-inner::before { - top: 0; - opacity: 0; } - .hamburger--boring.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); } + transform: rotate(45deg); +} + +.hamburger--boring.is-active .hamburger-inner::before { + top: 0; + opacity: 0; +} + +.hamburger--boring.is-active .hamburger-inner::after { + bottom: 0; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); +} /* * Collapse */ + .hamburger--collapse .hamburger-inner { top: auto; bottom: 0; transition-duration: 0.15s; transition-delay: 0.15s; - transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } - .hamburger--collapse .hamburger-inner::after { - top: -20px; - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; } - .hamburger--collapse .hamburger-inner::before { - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); } + transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); +} + +.hamburger--collapse .hamburger-inner::after { + top: -20px; + transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; +} + +.hamburger--collapse .hamburger-inner::before { + transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} .hamburger--collapse.is-active .hamburger-inner { -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); - transform: translate3d(0, -10px, 0) rotate(-45deg); + transform: translate3d(0, -10px, 0) rotate(-45deg); transition-delay: 0.32s; - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } - .hamburger--collapse.is-active .hamburger-inner::after { - top: 0; - opacity: 0; - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.27s linear; } - .hamburger--collapse.is-active .hamburger-inner::before { - top: 0; - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); } + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.hamburger--collapse.is-active .hamburger-inner::after { + top: 0; + opacity: 0; + transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.27s linear; +} + +.hamburger--collapse.is-active .hamburger-inner::before { + top: 0; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); + transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); +} /* * Collapse Reverse */ + .hamburger--collapse-r .hamburger-inner { top: auto; bottom: 0; transition-duration: 0.15s; transition-delay: 0.15s; - transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } - .hamburger--collapse-r .hamburger-inner::after { - top: -20px; - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; } - .hamburger--collapse-r .hamburger-inner::before { - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); } + transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); +} + +.hamburger--collapse-r .hamburger-inner::after { + top: -20px; + transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; +} + +.hamburger--collapse-r .hamburger-inner::before { + transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} .hamburger--collapse-r.is-active .hamburger-inner { -webkit-transform: translate3d(0, -10px, 0) rotate(45deg); - transform: translate3d(0, -10px, 0) rotate(45deg); + transform: translate3d(0, -10px, 0) rotate(45deg); transition-delay: 0.32s; - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } - .hamburger--collapse-r.is-active .hamburger-inner::after { - top: 0; - opacity: 0; - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.27s linear; } - .hamburger--collapse-r.is-active .hamburger-inner::before { - top: 0; - -webkit-transform: rotate(90deg); - transform: rotate(90deg); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); } + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.hamburger--collapse-r.is-active .hamburger-inner::after { + top: 0; + opacity: 0; + transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.27s linear; +} + +.hamburger--collapse-r.is-active .hamburger-inner::before { + top: 0; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); +} /* * Elastic */ + .hamburger--elastic .hamburger-inner { top: 2px; transition-duration: 0.4s; - transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); } - .hamburger--elastic .hamburger-inner::before { - top: 10px; - transition: opacity 0.15s 0.4s ease; } - .hamburger--elastic .hamburger-inner::after { - top: 20px; - transition: -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); - transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); - transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); } + transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); +} + +.hamburger--elastic .hamburger-inner::before { + top: 10px; + transition: opacity 0.15s 0.4s ease; +} + +.hamburger--elastic .hamburger-inner::after { + top: 20px; + transition: -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); + transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); + transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); +} .hamburger--elastic.is-active .hamburger-inner { -webkit-transform: translate3d(0, 10px, 0) rotate(135deg); - transform: translate3d(0, 10px, 0) rotate(135deg); - transition-delay: 0.1s; } - .hamburger--elastic.is-active .hamburger-inner::before { - transition-delay: 0s; - opacity: 0; } - .hamburger--elastic.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -20px, 0) rotate(-270deg); - transform: translate3d(0, -20px, 0) rotate(-270deg); - transition-delay: 0.1s; } + transform: translate3d(0, 10px, 0) rotate(135deg); + transition-delay: 0.1s; +} + +.hamburger--elastic.is-active .hamburger-inner::before { + transition-delay: 0s; + opacity: 0; +} + +.hamburger--elastic.is-active .hamburger-inner::after { + -webkit-transform: translate3d(0, -20px, 0) rotate(-270deg); + transform: translate3d(0, -20px, 0) rotate(-270deg); + transition-delay: 0.1s; +} /* * Elastic Reverse */ + .hamburger--elastic-r .hamburger-inner { top: 2px; transition-duration: 0.4s; - transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); } - .hamburger--elastic-r .hamburger-inner::before { - top: 10px; - transition: opacity 0.15s 0.4s ease; } - .hamburger--elastic-r .hamburger-inner::after { - top: 20px; - transition: -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); - transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); - transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); } + transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); +} + +.hamburger--elastic-r .hamburger-inner::before { + top: 10px; + transition: opacity 0.15s 0.4s ease; +} + +.hamburger--elastic-r .hamburger-inner::after { + top: 20px; + transition: -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); + transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); + transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); +} .hamburger--elastic-r.is-active .hamburger-inner { -webkit-transform: translate3d(0, 10px, 0) rotate(-135deg); - transform: translate3d(0, 10px, 0) rotate(-135deg); - transition-delay: 0.1s; } - .hamburger--elastic-r.is-active .hamburger-inner::before { - transition-delay: 0s; - opacity: 0; } - .hamburger--elastic-r.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -20px, 0) rotate(270deg); - transform: translate3d(0, -20px, 0) rotate(270deg); - transition-delay: 0.1s; } + transform: translate3d(0, 10px, 0) rotate(-135deg); + transition-delay: 0.1s; +} + +.hamburger--elastic-r.is-active .hamburger-inner::before { + transition-delay: 0s; + opacity: 0; +} + +.hamburger--elastic-r.is-active .hamburger-inner::after { + -webkit-transform: translate3d(0, -20px, 0) rotate(270deg); + transform: translate3d(0, -20px, 0) rotate(270deg); + transition-delay: 0.1s; +} /* * Emphatic */ + .hamburger--emphatic { - overflow: hidden; } - .hamburger--emphatic .hamburger-inner { - transition: background-color 0.2s 0.25s ease-in; } - .hamburger--emphatic .hamburger-inner::before { - left: 0; - transition: top 0.05s 0.2s linear, left 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in; - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); } - .hamburger--emphatic .hamburger-inner::after { - top: 10px; - right: 0; - transition: top 0.05s 0.2s linear, right 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in; - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); } - .hamburger--emphatic.is-active .hamburger-inner { - transition-delay: 0s; - transition-timing-function: ease-out; - background-color: transparent; } - .hamburger--emphatic.is-active .hamburger-inner::before { - left: -80px; - top: -80px; - -webkit-transform: translate3d(80px, 80px, 0) rotate(45deg); - transform: translate3d(80px, 80px, 0) rotate(45deg); - transition: left 0.2s ease-out, top 0.05s 0.2s linear, -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); } - .hamburger--emphatic.is-active .hamburger-inner::after { - right: -80px; - top: -80px; - -webkit-transform: translate3d(-80px, 80px, 0) rotate(-45deg); - transform: translate3d(-80px, 80px, 0) rotate(-45deg); - transition: right 0.2s ease-out, top 0.05s 0.2s linear, -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); } + overflow: hidden; +} + +.hamburger--emphatic .hamburger-inner { + transition: background-color 0.2s 0.25s ease-in; +} + +.hamburger--emphatic .hamburger-inner::before { + left: 0; + transition: top 0.05s 0.2s linear, left 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); + transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in; + transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); +} + +.hamburger--emphatic .hamburger-inner::after { + top: 10px; + right: 0; + transition: top 0.05s 0.2s linear, right 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); + transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in; + transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); +} + +.hamburger--emphatic.is-active .hamburger-inner { + transition-delay: 0s; + transition-timing-function: ease-out; + background-color: transparent; +} + +.hamburger--emphatic.is-active .hamburger-inner::before { + left: -80px; + top: -80px; + -webkit-transform: translate3d(80px, 80px, 0) rotate(45deg); + transform: translate3d(80px, 80px, 0) rotate(45deg); + transition: left 0.2s ease-out, top 0.05s 0.2s linear, -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); + transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); + transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); +} + +.hamburger--emphatic.is-active .hamburger-inner::after { + right: -80px; + top: -80px; + -webkit-transform: translate3d(-80px, 80px, 0) rotate(-45deg); + transform: translate3d(-80px, 80px, 0) rotate(-45deg); + transition: right 0.2s ease-out, top 0.05s 0.2s linear, -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); + transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); + transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); +} /* * Emphatic Reverse */ + .hamburger--emphatic-r { - overflow: hidden; } - .hamburger--emphatic-r .hamburger-inner { - transition: background-color 0.2s 0.25s ease-in; } - .hamburger--emphatic-r .hamburger-inner::before { - left: 0; - transition: top 0.05s 0.2s linear, left 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in; - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); } - .hamburger--emphatic-r .hamburger-inner::after { - top: 10px; - right: 0; - transition: top 0.05s 0.2s linear, right 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in; - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); } - .hamburger--emphatic-r.is-active .hamburger-inner { - transition-delay: 0s; - transition-timing-function: ease-out; - background-color: transparent; } - .hamburger--emphatic-r.is-active .hamburger-inner::before { - left: -80px; - top: 80px; - -webkit-transform: translate3d(80px, -80px, 0) rotate(-45deg); - transform: translate3d(80px, -80px, 0) rotate(-45deg); - transition: left 0.2s ease-out, top 0.05s 0.2s linear, -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); } - .hamburger--emphatic-r.is-active .hamburger-inner::after { - right: -80px; - top: 80px; - -webkit-transform: translate3d(-80px, -80px, 0) rotate(45deg); - transform: translate3d(-80px, -80px, 0) rotate(45deg); - transition: right 0.2s ease-out, top 0.05s 0.2s linear, -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); } + overflow: hidden; +} + +.hamburger--emphatic-r .hamburger-inner { + transition: background-color 0.2s 0.25s ease-in; +} + +.hamburger--emphatic-r .hamburger-inner::before { + left: 0; + transition: top 0.05s 0.2s linear, left 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); + transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in; + transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); +} + +.hamburger--emphatic-r .hamburger-inner::after { + top: 10px; + right: 0; + transition: top 0.05s 0.2s linear, right 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); + transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in; + transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); +} + +.hamburger--emphatic-r.is-active .hamburger-inner { + transition-delay: 0s; + transition-timing-function: ease-out; + background-color: transparent; +} + +.hamburger--emphatic-r.is-active .hamburger-inner::before { + left: -80px; + top: 80px; + -webkit-transform: translate3d(80px, -80px, 0) rotate(-45deg); + transform: translate3d(80px, -80px, 0) rotate(-45deg); + transition: left 0.2s ease-out, top 0.05s 0.2s linear, -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); + transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); + transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); +} + +.hamburger--emphatic-r.is-active .hamburger-inner::after { + right: -80px; + top: 80px; + -webkit-transform: translate3d(-80px, -80px, 0) rotate(45deg); + transform: translate3d(-80px, -80px, 0) rotate(45deg); + transition: right 0.2s ease-out, top 0.05s 0.2s linear, -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); + transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); + transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); +} /* * Slider */ + .hamburger--slider .hamburger-inner { - top: 2px; } - .hamburger--slider .hamburger-inner::before { - top: 10px; - transition-property: opacity, -webkit-transform; - transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - transition-timing-function: ease; - transition-duration: 0.2s; } - .hamburger--slider .hamburger-inner::after { - top: 20px; } + top: 2px; +} + +.hamburger--slider .hamburger-inner::before { + top: 10px; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + transition-timing-function: ease; + transition-duration: 0.2s; +} + +.hamburger--slider .hamburger-inner::after { + top: 20px; +} .hamburger--slider.is-active .hamburger-inner { -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); - transform: translate3d(0, 10px, 0) rotate(45deg); } - .hamburger--slider.is-active .hamburger-inner::before { - -webkit-transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0); - transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0); - opacity: 0; } - .hamburger--slider.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -20px, 0) rotate(-90deg); - transform: translate3d(0, -20px, 0) rotate(-90deg); } + transform: translate3d(0, 10px, 0) rotate(45deg); +} + +.hamburger--slider.is-active .hamburger-inner::before { + -webkit-transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0); + transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0); + opacity: 0; +} + +.hamburger--slider.is-active .hamburger-inner::after { + -webkit-transform: translate3d(0, -20px, 0) rotate(-90deg); + transform: translate3d(0, -20px, 0) rotate(-90deg); +} /* * Slider Reverse */ + .hamburger--slider-r .hamburger-inner { - top: 2px; } - .hamburger--slider-r .hamburger-inner::before { - top: 10px; - transition-property: opacity, -webkit-transform; - transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - transition-timing-function: ease; - transition-duration: 0.2s; } - .hamburger--slider-r .hamburger-inner::after { - top: 20px; } + top: 2px; +} + +.hamburger--slider-r .hamburger-inner::before { + top: 10px; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + transition-timing-function: ease; + transition-duration: 0.2s; +} + +.hamburger--slider-r .hamburger-inner::after { + top: 20px; +} .hamburger--slider-r.is-active .hamburger-inner { -webkit-transform: translate3d(0, 10px, 0) rotate(-45deg); - transform: translate3d(0, 10px, 0) rotate(-45deg); } - .hamburger--slider-r.is-active .hamburger-inner::before { - -webkit-transform: rotate(45deg) translate3d(5.71429px, -6px, 0); - transform: rotate(45deg) translate3d(5.71429px, -6px, 0); - opacity: 0; } - .hamburger--slider-r.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -20px, 0) rotate(90deg); - transform: translate3d(0, -20px, 0) rotate(90deg); } + transform: translate3d(0, 10px, 0) rotate(-45deg); +} + +.hamburger--slider-r.is-active .hamburger-inner::before { + -webkit-transform: rotate(45deg) translate3d(5.71429px, -6px, 0); + transform: rotate(45deg) translate3d(5.71429px, -6px, 0); + opacity: 0; +} + +.hamburger--slider-r.is-active .hamburger-inner::after { + -webkit-transform: translate3d(0, -20px, 0) rotate(90deg); + transform: translate3d(0, -20px, 0) rotate(90deg); +} /* * Spring */ + .hamburger--spring .hamburger-inner { top: 2px; - transition: background-color 0s 0.15s linear; } - .hamburger--spring .hamburger-inner::before { - top: 10px; - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); } - .hamburger--spring .hamburger-inner::after { - top: 20px; - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); } + transition: background-color 0s 0.15s linear; +} + +.hamburger--spring .hamburger-inner::before { + top: 10px; + transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} + +.hamburger--spring .hamburger-inner::after { + top: 20px; + transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} .hamburger--spring.is-active .hamburger-inner { transition-delay: 0.32s; - background-color: transparent; } - .hamburger--spring.is-active .hamburger-inner::before { - top: 0; - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); - transform: translate3d(0, 10px, 0) rotate(45deg); } - .hamburger--spring.is-active .hamburger-inner::after { - top: 0; - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - -webkit-transform: translate3d(0, 10px, 0) rotate(-45deg); - transform: translate3d(0, 10px, 0) rotate(-45deg); } + background-color: transparent; +} + +.hamburger--spring.is-active .hamburger-inner::before { + top: 0; + transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); + -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); + transform: translate3d(0, 10px, 0) rotate(45deg); +} + +.hamburger--spring.is-active .hamburger-inner::after { + top: 0; + transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); + -webkit-transform: translate3d(0, 10px, 0) rotate(-45deg); + transform: translate3d(0, 10px, 0) rotate(-45deg); +} /* * Spring Reverse */ + .hamburger--spring-r .hamburger-inner { top: auto; bottom: 0; transition-duration: 0.15s; transition-delay: 0s; - transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } - .hamburger--spring-r .hamburger-inner::after { - top: -20px; - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; } - .hamburger--spring-r .hamburger-inner::before { - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); } + transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); +} + +.hamburger--spring-r .hamburger-inner::after { + top: -20px; + transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; +} + +.hamburger--spring-r .hamburger-inner::before { + transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} .hamburger--spring-r.is-active .hamburger-inner { -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); - transform: translate3d(0, -10px, 0) rotate(-45deg); + transform: translate3d(0, -10px, 0) rotate(-45deg); transition-delay: 0.32s; - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } - .hamburger--spring-r.is-active .hamburger-inner::after { - top: 0; - opacity: 0; - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.32s linear; } - .hamburger--spring-r.is-active .hamburger-inner::before { - top: 0; - -webkit-transform: rotate(90deg); - transform: rotate(90deg); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); } + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.hamburger--spring-r.is-active .hamburger-inner::after { + top: 0; + opacity: 0; + transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.32s linear; +} + +.hamburger--spring-r.is-active .hamburger-inner::before { + top: 0; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); +} /* * Stand */ + .hamburger--stand .hamburger-inner { transition: background-color 0s 0.1s linear, -webkit-transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear; - transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear, -webkit-transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); } - .hamburger--stand .hamburger-inner::before { - transition: top 0.1s 0.1s ease-in, -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } - .hamburger--stand .hamburger-inner::after { - transition: bottom 0.1s 0.1s ease-in, -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } + transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear, -webkit-transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} + +.hamburger--stand .hamburger-inner::before { + transition: top 0.1s 0.1s ease-in, -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} + +.hamburger--stand .hamburger-inner::after { + transition: bottom 0.1s 0.1s ease-in, -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} .hamburger--stand.is-active .hamburger-inner { -webkit-transform: rotate(90deg); - transform: rotate(90deg); + transform: rotate(90deg); background-color: transparent; transition: background-color 0s 0.22s linear, -webkit-transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1); transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear; - transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear, -webkit-transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1); } - .hamburger--stand.is-active .hamburger-inner::before { - top: 0; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - transition: top 0.1s 0.12s ease-out, -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); } - .hamburger--stand.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - transition: bottom 0.1s 0.12s ease-out, -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); } + transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear, -webkit-transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.hamburger--stand.is-active .hamburger-inner::before { + top: 0; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + transition: top 0.1s 0.12s ease-out, -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.hamburger--stand.is-active .hamburger-inner::after { + bottom: 0; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + transition: bottom 0.1s 0.12s ease-out, -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); +} /* * Stand Reverse */ + .hamburger--stand-r .hamburger-inner { transition: background-color 0s 0.1s linear, -webkit-transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear; - transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear, -webkit-transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); } - .hamburger--stand-r .hamburger-inner::before { - transition: top 0.1s 0.1s ease-in, -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } - .hamburger--stand-r .hamburger-inner::after { - transition: bottom 0.1s 0.1s ease-in, -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } + transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear, -webkit-transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} + +.hamburger--stand-r .hamburger-inner::before { + transition: top 0.1s 0.1s ease-in, -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} + +.hamburger--stand-r .hamburger-inner::after { + transition: bottom 0.1s 0.1s ease-in, -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} .hamburger--stand-r.is-active .hamburger-inner { -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); + transform: rotate(-90deg); background-color: transparent; transition: background-color 0s 0.22s linear, -webkit-transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1); transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear; - transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear, -webkit-transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1); } - .hamburger--stand-r.is-active .hamburger-inner::before { - top: 0; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - transition: top 0.1s 0.12s ease-out, -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); } - .hamburger--stand-r.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - transition: bottom 0.1s 0.12s ease-out, -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); } + transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear, -webkit-transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.hamburger--stand-r.is-active .hamburger-inner::before { + top: 0; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + transition: top 0.1s 0.12s ease-out, -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.hamburger--stand-r.is-active .hamburger-inner::after { + bottom: 0; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + transition: bottom 0.1s 0.12s ease-out, -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); +} /* * Spin */ + .hamburger--spin .hamburger-inner { transition-duration: 0.3s; - transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } - .hamburger--spin .hamburger-inner::before { - transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in; } - .hamburger--spin .hamburger-inner::after { - transition: bottom 0.1s 0.34s ease-in, -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); } + transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); +} + +.hamburger--spin .hamburger-inner::before { + transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in; +} + +.hamburger--spin .hamburger-inner::after { + transition: bottom 0.1s 0.34s ease-in, -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} .hamburger--spin.is-active .hamburger-inner { -webkit-transform: rotate(225deg); - transform: rotate(225deg); + transform: rotate(225deg); transition-delay: 0.14s; - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } - .hamburger--spin.is-active .hamburger-inner::before { - top: 0; - opacity: 0; - transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out; } - .hamburger--spin.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); - transition: bottom 0.1s ease-out, -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); } + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.hamburger--spin.is-active .hamburger-inner::before { + top: 0; + opacity: 0; + transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out; +} + +.hamburger--spin.is-active .hamburger-inner::after { + bottom: 0; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); + transition: bottom 0.1s ease-out, -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); +} /* * Spin Reverse */ + .hamburger--spin-r .hamburger-inner { transition-duration: 0.3s; - transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } - .hamburger--spin-r .hamburger-inner::before { - transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in; } - .hamburger--spin-r .hamburger-inner::after { - transition: bottom 0.1s 0.34s ease-in, -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); } + transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); +} + +.hamburger--spin-r .hamburger-inner::before { + transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in; +} + +.hamburger--spin-r .hamburger-inner::after { + transition: bottom 0.1s 0.34s ease-in, -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} .hamburger--spin-r.is-active .hamburger-inner { -webkit-transform: rotate(-225deg); - transform: rotate(-225deg); + transform: rotate(-225deg); transition-delay: 0.14s; - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } - .hamburger--spin-r.is-active .hamburger-inner::before { - top: 0; - opacity: 0; - transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out; } - .hamburger--spin-r.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); - transition: bottom 0.1s ease-out, -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); } + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.hamburger--spin-r.is-active .hamburger-inner::before { + top: 0; + opacity: 0; + transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out; +} + +.hamburger--spin-r.is-active .hamburger-inner::after { + bottom: 0; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); + transition: bottom 0.1s ease-out, -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); +} /* * Squeeze */ + .hamburger--squeeze .hamburger-inner { transition-duration: 0.1s; - transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } - .hamburger--squeeze .hamburger-inner::before { - transition: top 0.1s 0.14s ease, opacity 0.1s ease; } - .hamburger--squeeze .hamburger-inner::after { - transition: bottom 0.1s 0.14s ease, -webkit-transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); } + transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); +} + +.hamburger--squeeze .hamburger-inner::before { + transition: top 0.1s 0.14s ease, opacity 0.1s ease; +} + +.hamburger--squeeze .hamburger-inner::after { + transition: bottom 0.1s 0.14s ease, -webkit-transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} .hamburger--squeeze.is-active .hamburger-inner { -webkit-transform: rotate(45deg); - transform: rotate(45deg); + transform: rotate(45deg); transition-delay: 0.14s; - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } - .hamburger--squeeze.is-active .hamburger-inner::before { - top: 0; - opacity: 0; - transition: top 0.1s ease, opacity 0.1s 0.14s ease; } - .hamburger--squeeze.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); - transition: bottom 0.1s ease, -webkit-transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); } + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.hamburger--squeeze.is-active .hamburger-inner::before { + top: 0; + opacity: 0; + transition: top 0.1s ease, opacity 0.1s 0.14s ease; +} + +.hamburger--squeeze.is-active .hamburger-inner::after { + bottom: 0; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); + transition: bottom 0.1s ease, -webkit-transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); +} /* * Vortex */ + .hamburger--vortex .hamburger-inner { transition-duration: 0.3s; - transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } - .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after { - transition-duration: 0s; - transition-delay: 0.1s; - transition-timing-function: linear; } - .hamburger--vortex .hamburger-inner::before { - transition-property: top, opacity; } - .hamburger--vortex .hamburger-inner::after { - transition-property: bottom, -webkit-transform; - transition-property: bottom, transform; - transition-property: bottom, transform, -webkit-transform; } + transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); +} + +.hamburger--vortex .hamburger-inner::before, +.hamburger--vortex .hamburger-inner::after { + transition-duration: 0s; + transition-delay: 0.1s; + transition-timing-function: linear; +} + +.hamburger--vortex .hamburger-inner::before { + transition-property: top, opacity; +} + +.hamburger--vortex .hamburger-inner::after { + transition-property: bottom, -webkit-transform; + transition-property: bottom, transform; + transition-property: bottom, transform, -webkit-transform; +} .hamburger--vortex.is-active .hamburger-inner { -webkit-transform: rotate(765deg); - transform: rotate(765deg); - transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } - .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after { - transition-delay: 0s; } - .hamburger--vortex.is-active .hamburger-inner::before { - top: 0; - opacity: 0; } - .hamburger--vortex.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(90deg); - transform: rotate(90deg); } + transform: rotate(765deg); + transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); +} + +.hamburger--vortex.is-active .hamburger-inner::before, +.hamburger--vortex.is-active .hamburger-inner::after { + transition-delay: 0s; +} + +.hamburger--vortex.is-active .hamburger-inner::before { + top: 0; + opacity: 0; +} + +.hamburger--vortex.is-active .hamburger-inner::after { + bottom: 0; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} /* * Vortex Reverse */ + .hamburger--vortex-r .hamburger-inner { transition-duration: 0.3s; - transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } - .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after { - transition-duration: 0s; - transition-delay: 0.1s; - transition-timing-function: linear; } - .hamburger--vortex-r .hamburger-inner::before { - transition-property: top, opacity; } - .hamburger--vortex-r .hamburger-inner::after { - transition-property: bottom, -webkit-transform; - transition-property: bottom, transform; - transition-property: bottom, transform, -webkit-transform; } + transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); +} + +.hamburger--vortex-r .hamburger-inner::before, +.hamburger--vortex-r .hamburger-inner::after { + transition-duration: 0s; + transition-delay: 0.1s; + transition-timing-function: linear; +} + +.hamburger--vortex-r .hamburger-inner::before { + transition-property: top, opacity; +} + +.hamburger--vortex-r .hamburger-inner::after { + transition-property: bottom, -webkit-transform; + transition-property: bottom, transform; + transition-property: bottom, transform, -webkit-transform; +} .hamburger--vortex-r.is-active .hamburger-inner { -webkit-transform: rotate(-765deg); - transform: rotate(-765deg); - transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } - .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after { - transition-delay: 0s; } - .hamburger--vortex-r.is-active .hamburger-inner::before { - top: 0; - opacity: 0; } - .hamburger--vortex-r.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); } + transform: rotate(-765deg); + transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); +} + +.hamburger--vortex-r.is-active .hamburger-inner::before, +.hamburger--vortex-r.is-active .hamburger-inner::after { + transition-delay: 0s; +} + +.hamburger--vortex-r.is-active .hamburger-inner::before { + top: 0; + opacity: 0; +} + +.hamburger--vortex-r.is-active .hamburger-inner::after { + bottom: 0; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); +} diff --git a/client/scss/vendor/hamburgers/_generic.scss b/client/scss/vendor/hamburgers/_generic.scss index 06337d60c..8dd965a69 100644 --- a/client/scss/vendor/hamburgers/_generic.scss +++ b/client/scss/vendor/hamburgers/_generic.scss @@ -86,8 +86,8 @@ h1 { */ mark { - background: #ff0; - color: #000; + background: #FFFF00; + color: #000000; } /** @@ -178,8 +178,8 @@ html { } *, -*:before, -*:after { +*::before, +*::after { box-sizing: inherit; } diff --git a/client/scss/vendor/hamburgers/_objects.scss b/client/scss/vendor/hamburgers/_objects.scss index 387503b91..65451894f 100644 --- a/client/scss/vendor/hamburgers/_objects.scss +++ b/client/scss/vendor/hamburgers/_objects.scss @@ -14,45 +14,59 @@ padding-bottom: 3em; position: relative; } + .tray:nth-child(1) { background-color: $plum; } + .tray:nth-child(2) { background-color: $teal; } + .tray:nth-child(3) { background-color: $orange; } + .tray:nth-child(4) { background-color: $grey-darker; } + .tray:nth-child(5) { background-color: $pink; } + .tray:nth-child(6) { background-color: $yellow; } + .tray:nth-child(7) { background-color: $blue; } + .tray:nth-child(8) { background-color: $blue-grey; } + .tray:nth-child(9) { background-color: $green; } + .tray:nth-child(10) { background-color: $indigo; } + .tray:nth-child(11) { background-color: $cyan; } + .tray:nth-child(12) { background-color: $red; } + .tray:nth-child(13) { background-color: $purple; } + .tray:nth-child(14) { background-color: $brown; } @@ -62,6 +76,7 @@ background-color: transparent; display: none; } + .tray--empty + .tray--empty { border-left: 0; } @@ -71,6 +86,7 @@ padding-top: 30px; padding-bottom: 30px; } + .section:nth-child(1) { background-color: $white; } @@ -104,7 +120,7 @@ // ================================================== .header { text-align: center; - background-color: #f4f4f4; + background-color: #F4F4F4; padding-top: 20px; padding-bottom: 20px; } @@ -175,72 +191,277 @@ // Highlight // ================================================== .highlight { - .c { color: #93a1a1 } /* Comment */ - .err { color: #586e75 } /* Error */ - .g { color: #586e75 } /* Generic */ - .k { color: #859900 } /* Keyword */ - .l { color: #586e75 } /* Literal */ - .n { color: #586e75 } /* Name */ - .o { color: #859900 } /* Operator */ - .x { color: #cb4b16 } /* Other */ - .p { color: #586e75 } /* Punctuation */ - .cm { color: #93a1a1 } /* Comment.Multiline */ - .cp { color: #859900 } /* Comment.Preproc */ - .c1 { color: #93a1a1 } /* Comment.Single */ - .cs { color: #859900 } /* Comment.Special */ - .gd { color: #2aa198 } /* Generic.Deleted */ - .ge { color: #586e75; font-style: italic } /* Generic.Emph */ - .gr { color: #dc322f } /* Generic.Error */ - .gh { color: #cb4b16 } /* Generic.Heading */ - .gi { color: #859900 } /* Generic.Inserted */ - .go { color: #586e75 } /* Generic.Output */ - .gp { color: #586e75 } /* Generic.Prompt */ - .gs { color: #586e75; font-weight: bold } /* Generic.Strong */ - .gu { color: #cb4b16 } /* Generic.Subheading */ - .gt { color: #586e75 } /* Generic.Traceback */ - .kc { color: #cb4b16 } /* Keyword.Constant */ - .kd { color: #268bd2 } /* Keyword.Declaration */ - .kn { color: #859900 } /* Keyword.Namespace */ - .kp { color: #859900 } /* Keyword.Pseudo */ - .kr { color: #268bd2 } /* Keyword.Reserved */ - .kt { color: #dc322f } /* Keyword.Type */ - .ld { color: #586e75 } /* Literal.Date */ - .m { color: #2aa198 } /* Literal.Number */ - .s { color: #2aa198 } /* Literal.String */ - .na { color: #586e75 } /* Name.Attribute */ - .nb { color: #B58900 } /* Name.Builtin */ - .nc { color: #268bd2 } /* Name.Class */ - .no { color: #cb4b16 } /* Name.Constant */ - .nd { color: #268bd2 } /* Name.Decorator */ - .ni { color: #cb4b16 } /* Name.Entity */ - .ne { color: #cb4b16 } /* Name.Exception */ - .nf { color: #268bd2 } /* Name.Function */ - .nl { color: #586e75 } /* Name.Label */ - .nn { color: #586e75 } /* Name.Namespace */ - .nx { color: #586e75 } /* Name.Other */ - .py { color: #586e75 } /* Name.Property */ - .nt { color: #268bd2 } /* Name.Tag */ - .nv { color: #268bd2 } /* Name.Variable */ - .ow { color: #859900 } /* Operator.Word */ - .w { color: #586e75 } /* Text.Whitespace */ - .mf { color: #2aa198 } /* Literal.Number.Float */ - .mh { color: #2aa198 } /* Literal.Number.Hex */ - .mi { color: #2aa198 } /* Literal.Number.Integer */ - .mo { color: #2aa198 } /* Literal.Number.Oct */ - .sb { color: #93a1a1 } /* Literal.String.Backtick */ - .sc { color: #2aa198 } /* Literal.String.Char */ - .sd { color: #586e75 } /* Literal.String.Doc */ - .s2 { color: #2aa198 } /* Literal.String.Double */ - .se { color: #cb4b16 } /* Literal.String.Escape */ - .sh { color: #586e75 } /* Literal.String.Heredoc */ - .si { color: #2aa198 } /* Literal.String.Interpol */ - .sx { color: #2aa198 } /* Literal.String.Other */ - .sr { color: #dc322f } /* Literal.String.Regex */ - .s1 { color: #2aa198 } /* Literal.String.Single */ - .ss { color: #2aa198 } /* Literal.String.Symbol */ - .bp { color: #268bd2 } /* Name.Builtin.Pseudo */ - .vc { color: #268bd2 } /* Name.Variable.Class */ - .vg { color: #268bd2 } /* Name.Variable.Global */ - .vi { color: #268bd2 } /* Name.Variable.Instance */ - .il { color: #2aa198 } /* Literal.Number.Integer.Long */ + .c { + color: #93A1A1; + } /* Comment */ + + .err { + color: #586E75; + } /* Error */ + + .g { + color: #586E75; + } /* Generic */ + + .k { + color: #859900; + } /* Keyword */ + + .l { + color: #586E75; + } /* Literal */ + + .n { + color: #586E75; + } /* Name */ + + .o { + color: #859900; + } /* Operator */ + + .x { + color: #CB4B16; + } /* Other */ + + .p { + color: #586E75; + } /* Punctuation */ + + .cm { + color: #93A1A1; + } /* Comment.Multiline */ + + .cp { + color: #859900; + } /* Comment.Preproc */ + + .c1 { + color: #93A1A1; + } /* Comment.Single */ + + .cs { + color: #859900; + } /* Comment.Special */ + + .gd { + color: #2AA198; + } /* Generic.Deleted */ + + .ge { + color: #586E75; + font-style: italic; + } /* Generic.Emph */ + + .gr { + color: #DC322F; + } /* Generic.Error */ + + .gh { + color: #CB4B16; + } /* Generic.Heading */ + + .gi { + color: #859900; + } /* Generic.Inserted */ + + .go { + color: #586E75; + } /* Generic.Output */ + + .gp { + color: #586E75; + } /* Generic.Prompt */ + + .gs { + color: #586E75; + font-weight: bold; + } /* Generic.Strong */ + + .gu { + color: #CB4B16; + } /* Generic.Subheading */ + + .gt { + color: #586E75; + } /* Generic.Traceback */ + + .kc { + color: #CB4B16; + } /* Keyword.Constant */ + + .kd { + color: #268BD2; + } /* Keyword.Declaration */ + + .kn { + color: #859900; + } /* Keyword.Namespace */ + + .kp { + color: #859900; + } /* Keyword.Pseudo */ + + .kr { + color: #268BD2; + } /* Keyword.Reserved */ + + .kt { + color: #DC322F; + } /* Keyword.Type */ + + .ld { + color: #586E75; + } /* Literal.Date */ + + .m { + color: #2AA198; + } /* Literal.Number */ + + .s { + color: #2AA198; + } /* Literal.String */ + + .na { + color: #586E75; + } /* Name.Attribute */ + + .nb { + color: #B58900; + } /* Name.Builtin */ + + .nc { + color: #268BD2; + } /* Name.Class */ + + .no { + color: #CB4B16; + } /* Name.Constant */ + + .nd { + color: #268BD2; + } /* Name.Decorator */ + + .ni { + color: #CB4B16; + } /* Name.Entity */ + + .ne { + color: #CB4B16; + } /* Name.Exception */ + + .nf { + color: #268BD2; + } /* Name.Function */ + + .nl { + color: #586E75; + } /* Name.Label */ + + .nn { + color: #586E75; + } /* Name.Namespace */ + + .nx { + color: #586E75; + } /* Name.Other */ + + .py { + color: #586E75; + } /* Name.Property */ + + .nt { + color: #268BD2; + } /* Name.Tag */ + + .nv { + color: #268BD2; + } /* Name.Variable */ + + .ow { + color: #859900; + } /* Operator.Word */ + + .w { + color: #586E75; + } /* Text.Whitespace */ + + .mf { + color: #2AA198; + } /* Literal.Number.Float */ + + .mh { + color: #2AA198; + } /* Literal.Number.Hex */ + + .mi { + color: #2AA198; + } /* Literal.Number.Integer */ + + .mo { + color: #2AA198; + } /* Literal.Number.Oct */ + + .sb { + color: #93A1A1; + } /* Literal.String.Backtick */ + + .sc { + color: #2AA198; + } /* Literal.String.Char */ + + .sd { + color: #586E75; + } /* Literal.String.Doc */ + + .s2 { + color: #2AA198; + } /* Literal.String.Double */ + + .se { + color: #CB4B16; + } /* Literal.String.Escape */ + + .sh { + color: #586E75; + } /* Literal.String.Heredoc */ + + .si { + color: #2AA198; + } /* Literal.String.Interpol */ + + .sx { + color: #2AA198; + } /* Literal.String.Other */ + + .sr { + color: #DC322F; + } /* Literal.String.Regex */ + + .s1 { + color: #2AA198; + } /* Literal.String.Single */ + + .ss { + color: #2AA198; + } /* Literal.String.Symbol */ + + .bp { + color: #268BD2; + } /* Name.Builtin.Pseudo */ + + .vc { + color: #268BD2; + } /* Name.Variable.Class */ + + .vg { + color: #268BD2; + } /* Name.Variable.Global */ + + .vi { + color: #268BD2; + } /* Name.Variable.Instance */ + + .il { + color: #2AA198; + } /* Literal.Number.Integer.Long */ } diff --git a/client/scss/vendor/hamburgers/_settings.scss b/client/scss/vendor/hamburgers/_settings.scss index e3921cfcb..826fd45f8 100644 --- a/client/scss/vendor/hamburgers/_settings.scss +++ b/client/scss/vendor/hamburgers/_settings.scss @@ -1,23 +1,21 @@ // Settings // ================================================== -$white: #fff; -$black: #000; - -$grey-darkest: #222; -$grey-darker: #444; -$grey: #999; -$grey-lightest: #f4f4f4; - -$blue: #2196f3; -$blue-grey: #607d8b; +$white: #FFFFFF; +$black: #000000; +$grey-darkest: #222222; +$grey-darker: #444444; +$grey: #999999; +$grey-lightest: #F4F4F4; +$blue: #2196F3; +$blue-grey: #607D8B; $brown: #795548; -$cyan: #00bcd4; -$green: #43a047; -$indigo: #3f51b5; -$orange: #ff5722; -$pink: #ec407a; -$plum: #4a148c; -$purple: #9c27b0; -$red: #f44336; -$teal: #4db6ac; -$yellow: #fbc02d; +$cyan: #00BCD4; +$green: #43A047; +$indigo: #3F51B5; +$orange: #FF5722; +$pink: #EC407A; +$plum: #4A148C; +$purple: #9C27B0; +$red: #F44336; +$teal: #4DB6AC; +$yellow: #FBC02D; diff --git a/client/scss/vendor/hamburgers/_trumps.scss b/client/scss/vendor/hamburgers/_trumps.scss index cc036c81d..0390bc9c9 100644 --- a/client/scss/vendor/hamburgers/_trumps.scss +++ b/client/scss/vendor/hamburgers/_trumps.scss @@ -140,7 +140,6 @@ column-count: 2; } } - @media only screen and (min-width: 480px) { .types { column-count: 2; @@ -150,7 +149,6 @@ column-count: 3; } } - @media only screen and (min-width: 640px) { .information-directions { font-size: 15px; diff --git a/client/scss/vendor/hamburgers/_typography.scss b/client/scss/vendor/hamburgers/_typography.scss index 89e619456..e45565c31 100644 --- a/client/scss/vendor/hamburgers/_typography.scss +++ b/client/scss/vendor/hamburgers/_typography.scss @@ -1,7 +1,7 @@ // Typography // ================================================== body { - font-family: -apple-system, ".SFNSDisplay-Regular", Roboto, Helvetica, Arial, sans-serif; + font-family: -apple-system, '.SFNSDisplay-Regular', Roboto, Helvetica, Arial, sans-serif; color: $grey-darkest; } @@ -68,8 +68,8 @@ li { code, pre { - font-family: Consolas, "Liberation Mono", Courier, monospace; - background-color: #f7f7f7; + font-family: Consolas, 'Liberation Mono', Courier, monospace; + background-color: #F7F7F7; border-radius: 3px; } @@ -79,7 +79,7 @@ code { pre { font-size: 14px; - color: #586e75; + color: #586E75; padding: 10px; -webkit-overflow-scrolling: touch; @@ -131,7 +131,6 @@ li { font-size: 15px; } } - @media only screen and (min-width: 640px) { h1 { font-size: 21px; diff --git a/client/scss/vendor/hamburgers/hamburgers/_base.scss b/client/scss/vendor/hamburgers/hamburgers/_base.scss index aa15b4e35..495ef96ec 100644 --- a/client/scss/vendor/hamburgers/hamburgers/_base.scss +++ b/client/scss/vendor/hamburgers/hamburgers/_base.scss @@ -22,6 +22,7 @@ @if $hamburger-hover-use-filter == true { filter: $hamburger-hover-filter; } + @else { opacity: $hamburger-hover-opacity; } @@ -55,7 +56,7 @@ &::before, &::after { - content: ""; + content: ''; display: block; } diff --git a/client/scss/vendor/hamburgers/hamburgers/hamburgers.scss b/client/scss/vendor/hamburgers/hamburgers/hamburgers.scss index 753b418a0..f1729e0f5 100644 --- a/client/scss/vendor/hamburgers/hamburgers/hamburgers.scss +++ b/client/scss/vendor/hamburgers/hamburgers/hamburgers.scss @@ -1,4 +1,5 @@ @charset "UTF-8"; + /*! * Hamburgers * @description Tasty CSS-animated hamburgers @@ -9,22 +10,22 @@ // Settings // ================================================== -$hamburger-padding-x : 15px !default; -$hamburger-padding-y : 15px !default; -$hamburger-layer-width : 40px !default; -$hamburger-layer-height : 4px !default; -$hamburger-layer-spacing : 6px !default; -$hamburger-layer-color : #000 !default; -$hamburger-layer-border-radius : 4px !default; -$hamburger-hover-opacity : 0.7 !default; -$hamburger-hover-transition-duration : 0.15s !default; +$hamburger-padding-x: 15px !default; +$hamburger-padding-y: 15px !default; +$hamburger-layer-width: 40px !default; +$hamburger-layer-height: 4px !default; +$hamburger-layer-spacing: 6px !default; +$hamburger-layer-color: #000000 !default; +$hamburger-layer-border-radius: 4px !default; +$hamburger-hover-opacity: 0.7 !default; +$hamburger-hover-transition-duration: 0.15s !default; $hamburger-hover-transition-timing-function: linear !default; // To use CSS filters as the hover effect instead of opacity, // set $hamburger-hover-use-filter as true and // change the value of $hamburger-hover-filter accordingly. $hamburger-hover-use-filter: false !default; -$hamburger-hover-filter : opacity(50%) !default; +$hamburger-hover-filter: opacity(50%) !default; // Types (Remove or comment out what you don’t need) // ================================================== @@ -59,36 +60,36 @@ $hamburger-types: ( // Base Hamburger (We need this) // ================================================== -@import "base"; +@import 'base'; // Hamburger types // ================================================== -@import "types/3dx"; -@import "types/3dx-r"; -@import "types/3dy"; -@import "types/3dy-r"; -@import "types/arrow"; -@import "types/arrow-r"; -@import "types/arrowalt"; -@import "types/arrowalt-r"; -@import "types/boring"; -@import "types/collapse"; -@import "types/collapse-r"; -@import "types/elastic"; -@import "types/elastic-r"; -@import "types/emphatic"; -@import "types/emphatic-r"; -@import "types/slider"; -@import "types/slider-r"; -@import "types/spring"; -@import "types/spring-r"; -@import "types/stand"; -@import "types/stand-r"; -@import "types/spin"; -@import "types/spin-r"; -@import "types/squeeze"; -@import "types/vortex"; -@import "types/vortex-r"; +@import 'types/3dx'; +@import 'types/3dx-r'; +@import 'types/3dy'; +@import 'types/3dy-r'; +@import 'types/arrow'; +@import 'types/arrow-r'; +@import 'types/arrowalt'; +@import 'types/arrowalt-r'; +@import 'types/boring'; +@import 'types/collapse'; +@import 'types/collapse-r'; +@import 'types/elastic'; +@import 'types/elastic-r'; +@import 'types/emphatic'; +@import 'types/emphatic-r'; +@import 'types/slider'; +@import 'types/slider-r'; +@import 'types/spring'; +@import 'types/spring-r'; +@import 'types/stand'; +@import 'types/stand-r'; +@import 'types/spin'; +@import 'types/spin-r'; +@import 'types/squeeze'; +@import 'types/vortex'; +@import 'types/vortex-r'; // ================================================== // Cooking up additional types: diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_3dx-r.scss b/client/scss/vendor/hamburgers/hamburgers/types/_3dx-r.scss index 25712b6f1..65528a5fa 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_3dx-r.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_3dx-r.scss @@ -2,14 +2,16 @@ /* * 3DX Reverse */ + .hamburger--3dx-r { .hamburger-box { perspective: $hamburger-layer-width * 2; } .hamburger-inner { - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), - background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: + transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), + background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); &::before, &::after { diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_3dx.scss b/client/scss/vendor/hamburgers/hamburgers/types/_3dx.scss index 65e45cb74..ec7eca4fd 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_3dx.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_3dx.scss @@ -2,14 +2,16 @@ /* * 3DX */ + .hamburger--3dx { .hamburger-box { perspective: $hamburger-layer-width * 2; } .hamburger-inner { - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), - background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: + transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), + background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); &::before, &::after { diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_3dy-r.scss b/client/scss/vendor/hamburgers/hamburgers/types/_3dy-r.scss index 6b89ea1dd..5b5f06cf5 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_3dy-r.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_3dy-r.scss @@ -2,14 +2,16 @@ /* * 3DY Reverse */ + .hamburger--3dy-r { .hamburger-box { perspective: $hamburger-layer-width * 2; } .hamburger-inner { - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), - background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: + transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), + background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); &::before, &::after { diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_3dy.scss b/client/scss/vendor/hamburgers/hamburgers/types/_3dy.scss index bfeea609a..489a819e2 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_3dy.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_3dy.scss @@ -2,14 +2,16 @@ /* * 3DY */ + .hamburger--3dy { .hamburger-box { perspective: $hamburger-layer-width * 2; } .hamburger-inner { - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), - background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: + transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), + background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); &::before, &::after { diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_arrow-r.scss b/client/scss/vendor/hamburgers/hamburgers/types/_arrow-r.scss index bb77ae9f8..97e0d86d3 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_arrow-r.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_arrow-r.scss @@ -2,6 +2,7 @@ /* * Arrow Right */ + .hamburger--arrow-r.is-active { .hamburger-inner { &::before { diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_arrow.scss b/client/scss/vendor/hamburgers/hamburgers/types/_arrow.scss index a5946a628..25b69bc4e 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_arrow.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_arrow.scss @@ -2,6 +2,7 @@ /* * Arrow */ + .hamburger--arrow.is-active { .hamburger-inner { &::before { diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_arrowalt-r.scss b/client/scss/vendor/hamburgers/hamburgers/types/_arrowalt-r.scss index a8a43c12a..3aa749090 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_arrowalt-r.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_arrowalt-r.scss @@ -2,16 +2,19 @@ /* * Arrow Alt Right */ + .hamburger--arrowalt-r { .hamburger-inner { &::before { - transition: top 0.1s 0.15s ease, - transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); + transition: + top 0.1s 0.15s ease, + transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); } &::after { - transition: bottom 0.1s 0.15s ease, - transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); + transition: + bottom 0.1s 0.15s ease, + transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); } } @@ -20,15 +23,17 @@ &::before { top: 0; transform: translate3d($hamburger-layer-width * 0.2, $hamburger-layer-width * -0.25, 0) rotate(45deg) scale(0.7, 1); - transition: top 0.1s ease, - transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); + transition: + top 0.1s ease, + transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } &::after { bottom: 0; transform: translate3d($hamburger-layer-width * 0.2, $hamburger-layer-width * 0.25, 0) rotate(-45deg) scale(0.7, 1); - transition: bottom 0.1s ease, - transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); + transition: + bottom 0.1s ease, + transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_arrowalt.scss b/client/scss/vendor/hamburgers/hamburgers/types/_arrowalt.scss index 68eadf004..e4ed0db7e 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_arrowalt.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_arrowalt.scss @@ -2,16 +2,19 @@ /* * Arrow Alt */ + .hamburger--arrowalt { .hamburger-inner { &::before { - transition: top 0.1s 0.15s ease, - transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); + transition: + top 0.1s 0.15s ease, + transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); } &::after { - transition: bottom 0.1s 0.15s ease, - transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); + transition: + bottom 0.1s 0.15s ease, + transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); } } @@ -20,15 +23,17 @@ &::before { top: 0; transform: translate3d($hamburger-layer-width * -0.2, $hamburger-layer-width * -0.25, 0) rotate(-45deg) scale(0.7, 1); - transition: top 0.1s ease, - transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); + transition: + top 0.1s ease, + transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } &::after { bottom: 0; transform: translate3d($hamburger-layer-width * -0.2, $hamburger-layer-width * 0.25, 0) rotate(45deg) scale(0.7, 1); - transition: bottom 0.1s ease, - transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); + transition: + bottom 0.1s ease, + transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_boring.scss b/client/scss/vendor/hamburgers/hamburgers/types/_boring.scss index 23214b488..46d7a7a21 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_boring.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_boring.scss @@ -2,6 +2,7 @@ /* * Boring */ + .hamburger--boring { .hamburger-inner { &, diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_collapse-r.scss b/client/scss/vendor/hamburgers/hamburgers/types/_collapse-r.scss index d9a401d4c..fed736ffc 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_collapse-r.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_collapse-r.scss @@ -2,6 +2,7 @@ /* * Collapse Reverse */ + .hamburger--collapse-r { .hamburger-inner { top: auto; @@ -12,13 +13,15 @@ &::after { top: ($hamburger-layer-spacing * 2 + $hamburger-layer-height * 2) * -1; - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), - opacity 0.1s linear; + transition: + top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), + opacity 0.1s linear; } &::before { - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), - transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: + top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), + transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); } } @@ -31,15 +34,17 @@ &::after { top: 0; opacity: 0; - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), - opacity 0.1s 0.27s linear; + transition: + top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), + opacity 0.1s 0.27s linear; } &::before { top: 0; transform: rotate(90deg); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), - transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: + top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), + transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); } } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_collapse.scss b/client/scss/vendor/hamburgers/hamburgers/types/_collapse.scss index ac6a67631..dead9fec4 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_collapse.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_collapse.scss @@ -2,6 +2,7 @@ /* * Collapse */ + .hamburger--collapse { .hamburger-inner { top: auto; @@ -12,13 +13,15 @@ &::after { top: ($hamburger-layer-spacing * 2 + $hamburger-layer-height * 2) * -1; - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), - opacity 0.1s linear; + transition: + top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), + opacity 0.1s linear; } &::before { - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), - transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: + top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), + transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); } } @@ -31,15 +34,17 @@ &::after { top: 0; opacity: 0; - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), - opacity 0.1s 0.27s linear; + transition: + top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), + opacity 0.1s 0.27s linear; } &::before { top: 0; transform: rotate(-90deg); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), - transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: + top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), + transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); } } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_elastic-r.scss b/client/scss/vendor/hamburgers/hamburgers/types/_elastic-r.scss index fb039d95f..5f8fb03fe 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_elastic-r.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_elastic-r.scss @@ -2,6 +2,7 @@ /* * Elastic Reverse */ + .hamburger--elastic-r { .hamburger-inner { top: $hamburger-layer-height / 2; diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_elastic.scss b/client/scss/vendor/hamburgers/hamburgers/types/_elastic.scss index 98638c930..78609892a 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_elastic.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_elastic.scss @@ -2,6 +2,7 @@ /* * Elastic */ + .hamburger--elastic { .hamburger-inner { top: $hamburger-layer-height / 2; diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_emphatic-r.scss b/client/scss/vendor/hamburgers/hamburgers/types/_emphatic-r.scss index e6a1d4a19..ebe985c7c 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_emphatic-r.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_emphatic-r.scss @@ -2,6 +2,7 @@ /* * Emphatic Reverse */ + .hamburger--emphatic-r { overflow: hidden; @@ -10,17 +11,19 @@ &::before { left: 0; - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), - top 0.05s 0.2s linear, - left 0.2s 0.25s ease-in; + transition: + transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), + top 0.05s 0.2s linear, + left 0.2s 0.25s ease-in; } &::after { top: ($hamburger-layer-height) + ($hamburger-layer-spacing); right: 0; - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), - top 0.05s 0.2s linear, - right 0.2s 0.25s ease-in; + transition: + transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), + top 0.05s 0.2s linear, + right 0.2s 0.25s ease-in; } } @@ -34,18 +37,20 @@ left: $hamburger-layer-width * -2; top: $hamburger-layer-width * 2; transform: translate3d($hamburger-layer-width * 2, $hamburger-layer-width * -2, 0) rotate(-45deg); - transition: left 0.2s ease-out, - top 0.05s 0.2s linear, - transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); + transition: + left 0.2s ease-out, + top 0.05s 0.2s linear, + transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); } &::after { right: $hamburger-layer-width * -2; top: $hamburger-layer-width * 2; transform: translate3d($hamburger-layer-width * -2, $hamburger-layer-width * -2, 0) rotate(45deg); - transition: right 0.2s ease-out, - top 0.05s 0.2s linear, - transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); + transition: + right 0.2s ease-out, + top 0.05s 0.2s linear, + transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); } } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_emphatic.scss b/client/scss/vendor/hamburgers/hamburgers/types/_emphatic.scss index fded73c28..196eaa96a 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_emphatic.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_emphatic.scss @@ -2,6 +2,7 @@ /* * Emphatic */ + .hamburger--emphatic { overflow: hidden; @@ -10,17 +11,19 @@ &::before { left: 0; - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), - top 0.05s 0.2s linear, - left 0.2s 0.25s ease-in; + transition: + transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), + top 0.05s 0.2s linear, + left 0.2s 0.25s ease-in; } &::after { top: ($hamburger-layer-height) + ($hamburger-layer-spacing); right: 0; - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), - top 0.05s 0.2s linear, - right 0.2s 0.25s ease-in; + transition: + transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), + top 0.05s 0.2s linear, + right 0.2s 0.25s ease-in; } } @@ -34,18 +37,20 @@ left: $hamburger-layer-width * -2; top: $hamburger-layer-width * -2; transform: translate3d($hamburger-layer-width * 2, $hamburger-layer-width * 2, 0) rotate(45deg); - transition: left 0.2s ease-out, - top 0.05s 0.2s linear, - transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); + transition: + left 0.2s ease-out, + top 0.05s 0.2s linear, + transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); } &::after { right: $hamburger-layer-width * -2; top: $hamburger-layer-width * -2; transform: translate3d($hamburger-layer-width * -2, $hamburger-layer-width * 2, 0) rotate(-45deg); - transition: right 0.2s ease-out, - top 0.05s 0.2s linear, - transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); + transition: + right 0.2s ease-out, + top 0.05s 0.2s linear, + transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); } } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_slider-r.scss b/client/scss/vendor/hamburgers/hamburgers/types/_slider-r.scss index 8b3ec5352..1b220b39a 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_slider-r.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_slider-r.scss @@ -2,6 +2,7 @@ /* * Slider Reverse */ + .hamburger--slider-r { .hamburger-inner { top: $hamburger-layer-height / 2; diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_slider.scss b/client/scss/vendor/hamburgers/hamburgers/types/_slider.scss index 78316d3de..8d445f901 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_slider.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_slider.scss @@ -2,6 +2,7 @@ /* * Slider */ + .hamburger--slider { .hamburger-inner { top: $hamburger-layer-height / 2; diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_spin-r.scss b/client/scss/vendor/hamburgers/hamburgers/types/_spin-r.scss index e07bd9999..a427aa9bc 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_spin-r.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_spin-r.scss @@ -2,19 +2,22 @@ /* * Spin Reverse */ + .hamburger--spin-r { .hamburger-inner { transition-duration: 0.3s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); &::before { - transition: top 0.1s 0.34s ease-in, - opacity 0.1s ease-in; + transition: + top 0.1s 0.34s ease-in, + opacity 0.1s ease-in; } &::after { - transition: bottom 0.1s 0.34s ease-in, - transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: + bottom 0.1s 0.34s ease-in, + transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); } } @@ -27,15 +30,17 @@ &::before { top: 0; opacity: 0; - transition: top 0.1s ease-out, - opacity 0.1s 0.14s ease-out; + transition: + top 0.1s ease-out, + opacity 0.1s 0.14s ease-out; } &::after { bottom: 0; transform: rotate(-90deg); - transition: bottom 0.1s ease-out, - transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: + bottom 0.1s ease-out, + transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); } } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_spin.scss b/client/scss/vendor/hamburgers/hamburgers/types/_spin.scss index f730e7ff3..7b2d9227b 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_spin.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_spin.scss @@ -2,19 +2,22 @@ /* * Spin */ + .hamburger--spin { .hamburger-inner { transition-duration: 0.3s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); &::before { - transition: top 0.1s 0.34s ease-in, - opacity 0.1s ease-in; + transition: + top 0.1s 0.34s ease-in, + opacity 0.1s ease-in; } &::after { - transition: bottom 0.1s 0.34s ease-in, - transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: + bottom 0.1s 0.34s ease-in, + transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); } } @@ -27,15 +30,17 @@ &::before { top: 0; opacity: 0; - transition: top 0.1s ease-out, - opacity 0.1s 0.14s ease-out; + transition: + top 0.1s ease-out, + opacity 0.1s 0.14s ease-out; } &::after { bottom: 0; transform: rotate(-90deg); - transition: bottom 0.1s ease-out, - transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: + bottom 0.1s ease-out, + transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); } } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_spring-r.scss b/client/scss/vendor/hamburgers/hamburgers/types/_spring-r.scss index 11894203f..8dcc1fba9 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_spring-r.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_spring-r.scss @@ -2,6 +2,7 @@ /* * Spring Reverse */ + .hamburger--spring-r { .hamburger-inner { top: auto; @@ -12,13 +13,15 @@ &::after { top: ($hamburger-layer-spacing * 2 + $hamburger-layer-height * 2) * -1; - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), - opacity 0s linear; + transition: + top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), + opacity 0s linear; } &::before { - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), - transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: + top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), + transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); } } @@ -31,15 +34,17 @@ &::after { top: 0; opacity: 0; - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), - opacity 0s 0.32s linear; + transition: + top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), + opacity 0s 0.32s linear; } &::before { top: 0; transform: rotate(90deg); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), - transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: + top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), + transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); } } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_spring.scss b/client/scss/vendor/hamburgers/hamburgers/types/_spring.scss index 3dbd06898..e4f7f2bb1 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_spring.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_spring.scss @@ -2,6 +2,7 @@ /* * Spring */ + .hamburger--spring { .hamburger-inner { top: $hamburger-layer-height / 2; @@ -9,14 +10,16 @@ &::before { top: $hamburger-layer-height + $hamburger-layer-spacing; - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), - transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: + top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), + transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); } &::after { top: ($hamburger-layer-height * 2) + ($hamburger-layer-spacing * 2); - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), - transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: + top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), + transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); } } @@ -27,15 +30,17 @@ &::before { top: 0; - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), - transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: + top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), + transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); transform: translate3d(0, $hamburger-layer-spacing + $hamburger-layer-height, 0) rotate(45deg); } &::after { top: 0; - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), - transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: + top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), + transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); transform: translate3d(0, $hamburger-layer-spacing + $hamburger-layer-height, 0) rotate(-45deg); } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_squeeze.scss b/client/scss/vendor/hamburgers/hamburgers/types/_squeeze.scss index 4df9fb6e5..65b5662d6 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_squeeze.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_squeeze.scss @@ -2,19 +2,22 @@ /* * Squeeze */ + .hamburger--squeeze { .hamburger-inner { transition-duration: 0.1s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); &::before { - transition: top 0.1s 0.14s ease, - opacity 0.1s ease; + transition: + top 0.1s 0.14s ease, + opacity 0.1s ease; } &::after { - transition: bottom 0.1s 0.14s ease, - transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: + bottom 0.1s 0.14s ease, + transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); } } @@ -27,15 +30,17 @@ &::before { top: 0; opacity: 0; - transition: top 0.1s ease, - opacity 0.1s 0.14s ease; + transition: + top 0.1s ease, + opacity 0.1s 0.14s ease; } &::after { bottom: 0; transform: rotate(-90deg); - transition: bottom 0.1s ease, - transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: + bottom 0.1s ease, + transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); } } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_stand-r.scss b/client/scss/vendor/hamburgers/hamburgers/types/_stand-r.scss index b4e47ba25..b68c48be7 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_stand-r.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_stand-r.scss @@ -2,19 +2,23 @@ /* * Stand Reverse */ + .hamburger--stand-r { .hamburger-inner { - transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), - background-color 0s 0.1s linear; + transition: + transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), + background-color 0s 0.1s linear; &::before { - transition: top 0.1s 0.1s ease-in, - transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: + top 0.1s 0.1s ease-in, + transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } &::after { - transition: bottom 0.1s 0.1s ease-in, - transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: + bottom 0.1s 0.1s ease-in, + transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } } @@ -23,21 +27,24 @@ transform: rotate(-90deg); background-color: transparent; - transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), - background-color 0s 0.22s linear; + transition: + transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), + background-color 0s 0.22s linear; &::before { top: 0; transform: rotate(-45deg); - transition: top 0.1s 0.12s ease-out, - transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: + top 0.1s 0.12s ease-out, + transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); } &::after { bottom: 0; transform: rotate(45deg); - transition: bottom 0.1s 0.12s ease-out, - transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: + bottom 0.1s 0.12s ease-out, + transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); } } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_stand.scss b/client/scss/vendor/hamburgers/hamburgers/types/_stand.scss index 67c05a96c..8afa12ec8 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_stand.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_stand.scss @@ -2,19 +2,23 @@ /* * Stand */ + .hamburger--stand { .hamburger-inner { - transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), - background-color 0s 0.1s linear; + transition: + transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), + background-color 0s 0.1s linear; &::before { - transition: top 0.1s 0.1s ease-in, - transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: + top 0.1s 0.1s ease-in, + transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } &::after { - transition: bottom 0.1s 0.1s ease-in, - transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: + bottom 0.1s 0.1s ease-in, + transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } } @@ -23,21 +27,24 @@ transform: rotate(90deg); background-color: transparent; - transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), - background-color 0s 0.22s linear; + transition: + transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), + background-color 0s 0.22s linear; &::before { top: 0; transform: rotate(-45deg); - transition: top 0.1s 0.12s ease-out, - transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: + top 0.1s 0.12s ease-out, + transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); } &::after { bottom: 0; transform: rotate(45deg); - transition: bottom 0.1s 0.12s ease-out, - transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: + bottom 0.1s 0.12s ease-out, + transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); } } } diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_vortex-r.scss b/client/scss/vendor/hamburgers/hamburgers/types/_vortex-r.scss index 37a653947..b32c530b5 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_vortex-r.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_vortex-r.scss @@ -2,6 +2,7 @@ /* * Vortex Reverse */ + .hamburger--vortex-r { .hamburger-inner { transition-duration: 0.3s; diff --git a/client/scss/vendor/hamburgers/hamburgers/types/_vortex.scss b/client/scss/vendor/hamburgers/hamburgers/types/_vortex.scss index 75a51288c..cc758a9fb 100644 --- a/client/scss/vendor/hamburgers/hamburgers/types/_vortex.scss +++ b/client/scss/vendor/hamburgers/hamburgers/types/_vortex.scss @@ -2,6 +2,7 @@ /* * Vortex */ + .hamburger--vortex { .hamburger-inner { transition-duration: 0.3s; diff --git a/client/scss/vendor/hamburgers/screen.scss b/client/scss/vendor/hamburgers/screen.scss index e52bae2d7..9e4d5e511 100644 --- a/client/scss/vendor/hamburgers/screen.scss +++ b/client/scss/vendor/hamburgers/screen.scss @@ -1,10 +1,8 @@ @charset "UTF-8"; -@import "settings"; -@import "generic"; -@import "typography"; -@import "objects"; - -@import "hamburgers/hamburgers"; // Hamburgers! - -@import "trumps"; +@import 'settings'; +@import 'generic'; +@import 'typography'; +@import 'objects'; +@import 'hamburgers/hamburgers'; // Hamburgers! +@import 'trumps'; diff --git a/client/services/imageLoader.js b/client/services/imageLoader.js index fb235f9ec..ed68e6a73 100644 --- a/client/services/imageLoader.js +++ b/client/services/imageLoader.js @@ -1,12 +1,12 @@ // Component imports import actionTypes from '../store/actionTypes' +import actionStatus from '../store/actionStatus' // Worker imports -import actionStatus from '../store/actionStatus' import ImageLoaderWorker from '../workers/image-loader.worker' From 4201dba47beb155bc4deddb6b4b3dc488fac3a02 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 25 Jun 2019 07:28:11 +0000 Subject: [PATCH 05/64] chore: clean up unused style set --- client/scss/vendor/_hamburger.scss | 1101 ----------------- client/scss/vendor/hamburgers/_generic.scss | 195 --- client/scss/vendor/hamburgers/_objects.scss | 467 ------- client/scss/vendor/hamburgers/_settings.scss | 21 - client/scss/vendor/hamburgers/_trumps.scss | 156 --- .../scss/vendor/hamburgers/_typography.scss | 153 --- .../vendor/hamburgers/hamburgers/_base.scss | 70 -- .../hamburgers/hamburgers/hamburgers.scss | 108 -- .../hamburgers/hamburgers/types/_3dx-r.scss | 37 - .../hamburgers/hamburgers/types/_3dx.scss | 37 - .../hamburgers/hamburgers/types/_3dy-r.scss | 37 - .../hamburgers/hamburgers/types/_3dy.scss | 37 - .../hamburgers/hamburgers/types/_arrow-r.scss | 17 - .../hamburgers/hamburgers/types/_arrow.scss | 17 - .../hamburgers/types/_arrowalt-r.scss | 41 - .../hamburgers/types/_arrowalt.scss | 41 - .../hamburgers/hamburgers/types/_boring.scss | 31 - .../hamburgers/types/_collapse-r.scss | 52 - .../hamburgers/types/_collapse.scss | 52 - .../hamburgers/types/_elastic-r.scss | 42 - .../hamburgers/hamburgers/types/_elastic.scss | 42 - .../hamburgers/types/_emphatic-r.scss | 58 - .../hamburgers/types/_emphatic.scss | 58 - .../hamburgers/types/_slider-r.scss | 39 - .../hamburgers/hamburgers/types/_slider.scss | 39 - .../hamburgers/hamburgers/types/_spin-r.scss | 48 - .../hamburgers/hamburgers/types/_spin.scss | 48 - .../hamburgers/types/_spring-r.scss | 52 - .../hamburgers/hamburgers/types/_spring.scss | 49 - .../hamburgers/hamburgers/types/_squeeze.scss | 48 - .../hamburgers/hamburgers/types/_stand-r.scss | 52 - .../hamburgers/hamburgers/types/_stand.scss | 52 - .../hamburgers/types/_vortex-r.scss | 49 - .../hamburgers/hamburgers/types/_vortex.scss | 49 - client/scss/vendor/hamburgers/screen.scss | 8 - 35 files changed, 3403 deletions(-) delete mode 100644 client/scss/vendor/_hamburger.scss delete mode 100644 client/scss/vendor/hamburgers/_generic.scss delete mode 100644 client/scss/vendor/hamburgers/_objects.scss delete mode 100644 client/scss/vendor/hamburgers/_settings.scss delete mode 100644 client/scss/vendor/hamburgers/_trumps.scss delete mode 100644 client/scss/vendor/hamburgers/_typography.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/_base.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/hamburgers.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_3dx-r.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_3dx.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_3dy-r.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_3dy.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_arrow-r.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_arrow.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_arrowalt-r.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_arrowalt.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_boring.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_collapse-r.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_collapse.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_elastic-r.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_elastic.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_emphatic-r.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_emphatic.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_slider-r.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_slider.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_spin-r.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_spin.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_spring-r.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_spring.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_squeeze.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_stand-r.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_stand.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_vortex-r.scss delete mode 100644 client/scss/vendor/hamburgers/hamburgers/types/_vortex.scss delete mode 100644 client/scss/vendor/hamburgers/screen.scss diff --git a/client/scss/vendor/_hamburger.scss b/client/scss/vendor/_hamburger.scss deleted file mode 100644 index ea2a2d719..000000000 --- a/client/scss/vendor/_hamburger.scss +++ /dev/null @@ -1,1101 +0,0 @@ -/*! - * Hamburgers - * @description Tasty CSS-animated hamburgers - * @author Jonathan Suh @jonsuh - * @site https://jonsuh.com/hamburgers - * @link https://github.com/jonsuh/hamburgers - */ - -.hamburger { - padding: 15px; - display: inline-block; - cursor: pointer; - transition-property: opacity, -webkit-filter; - transition-property: opacity, filter; - transition-property: opacity, filter, -webkit-filter; - transition-duration: 0.15s; - transition-timing-function: linear; - font: inherit; - color: inherit; - text-transform: none; - background-color: transparent; - border: 0; - margin: 0; - overflow: visible; -} - -.hamburger:hover { - opacity: 0.7; -} - -.hamburger-box { - width: 40px; - height: 24px; - display: inline-block; - position: relative; -} - -.hamburger-inner { - display: block; - top: 50%; - margin-top: -2px; -} - -.hamburger-inner, -.hamburger-inner::before, -.hamburger-inner::after { - width: 40px; - height: 4px; - background-color: #000000; - border-radius: 4px; - position: absolute; - transition-property: -webkit-transform; - transition-property: transform; - transition-property: transform, -webkit-transform; - transition-duration: 0.15s; - transition-timing-function: ease; -} - -.hamburger-inner::before, -.hamburger-inner::after { - content: ''; - display: block; -} - -.hamburger-inner::before { - top: -10px; -} - -.hamburger-inner::after { - bottom: -10px; -} - -/* - * 3DX - */ - -.hamburger--3dx .hamburger-box { - -webkit-perspective: 80px; - perspective: 80px; -} - -.hamburger--3dx .hamburger-inner { - transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); -} - -.hamburger--3dx .hamburger-inner::before, -.hamburger--3dx .hamburger-inner::after { - transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); -} - -.hamburger--3dx.is-active .hamburger-inner { - background-color: transparent; - -webkit-transform: rotateY(180deg); - transform: rotateY(180deg); -} - -.hamburger--3dx.is-active .hamburger-inner::before { - -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); - transform: translate3d(0, 10px, 0) rotate(45deg); -} - -.hamburger--3dx.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); - transform: translate3d(0, -10px, 0) rotate(-45deg); -} - -/* - * 3DX Reverse - */ - -.hamburger--3dx-r .hamburger-box { - -webkit-perspective: 80px; - perspective: 80px; -} - -.hamburger--3dx-r .hamburger-inner { - transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); -} - -.hamburger--3dx-r .hamburger-inner::before, -.hamburger--3dx-r .hamburger-inner::after { - transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); -} - -.hamburger--3dx-r.is-active .hamburger-inner { - background-color: transparent; - -webkit-transform: rotateY(-180deg); - transform: rotateY(-180deg); -} - -.hamburger--3dx-r.is-active .hamburger-inner::before { - -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); - transform: translate3d(0, 10px, 0) rotate(45deg); -} - -.hamburger--3dx-r.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); - transform: translate3d(0, -10px, 0) rotate(-45deg); -} - -/* - * 3DY - */ - -.hamburger--3dy .hamburger-box { - -webkit-perspective: 80px; - perspective: 80px; -} - -.hamburger--3dy .hamburger-inner { - transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); -} - -.hamburger--3dy .hamburger-inner::before, -.hamburger--3dy .hamburger-inner::after { - transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); -} - -.hamburger--3dy.is-active .hamburger-inner { - background-color: transparent; - -webkit-transform: rotateX(-180deg); - transform: rotateX(-180deg); -} - -.hamburger--3dy.is-active .hamburger-inner::before { - -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); - transform: translate3d(0, 10px, 0) rotate(45deg); -} - -.hamburger--3dy.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); - transform: translate3d(0, -10px, 0) rotate(-45deg); -} - -/* - * 3DY Reverse - */ - -.hamburger--3dy-r .hamburger-box { - -webkit-perspective: 80px; - perspective: 80px; -} - -.hamburger--3dy-r .hamburger-inner { - transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); -} - -.hamburger--3dy-r .hamburger-inner::before, -.hamburger--3dy-r .hamburger-inner::after { - transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); -} - -.hamburger--3dy-r.is-active .hamburger-inner { - background-color: transparent; - -webkit-transform: rotateX(180deg); - transform: rotateX(180deg); -} - -.hamburger--3dy-r.is-active .hamburger-inner::before { - -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); - transform: translate3d(0, 10px, 0) rotate(45deg); -} - -.hamburger--3dy-r.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); - transform: translate3d(0, -10px, 0) rotate(-45deg); -} - -/* - * Arrow - */ - -.hamburger--arrow.is-active .hamburger-inner::before { - -webkit-transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); - transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); -} - -.hamburger--arrow.is-active .hamburger-inner::after { - -webkit-transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); - transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); -} - -/* - * Arrow Right - */ - -.hamburger--arrow-r.is-active .hamburger-inner::before { - -webkit-transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); - transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); -} - -.hamburger--arrow-r.is-active .hamburger-inner::after { - -webkit-transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); - transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); -} - -/* - * Arrow Alt - */ - -.hamburger--arrowalt .hamburger-inner::before { - transition: top 0.1s 0.15s ease, -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); - transition: top 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); - transition: top 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); -} - -.hamburger--arrowalt .hamburger-inner::after { - transition: bottom 0.1s 0.15s ease, -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); - transition: bottom 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); - transition: bottom 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); -} - -.hamburger--arrowalt.is-active .hamburger-inner::before { - top: 0; - -webkit-transform: translate3d(-8px, -10px, 0) rotate(-45deg) scale(0.7, 1); - transform: translate3d(-8px, -10px, 0) rotate(-45deg) scale(0.7, 1); - transition: top 0.1s ease, -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); - transition: top 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); - transition: top 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); -} - -.hamburger--arrowalt.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: translate3d(-8px, 10px, 0) rotate(45deg) scale(0.7, 1); - transform: translate3d(-8px, 10px, 0) rotate(45deg) scale(0.7, 1); - transition: bottom 0.1s ease, -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); - transition: bottom 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); - transition: bottom 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); -} - -/* - * Arrow Alt Right - */ - -.hamburger--arrowalt-r .hamburger-inner::before { - transition: top 0.1s 0.15s ease, -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); - transition: top 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); - transition: top 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); -} - -.hamburger--arrowalt-r .hamburger-inner::after { - transition: bottom 0.1s 0.15s ease, -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); - transition: bottom 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); - transition: bottom 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1); -} - -.hamburger--arrowalt-r.is-active .hamburger-inner::before { - top: 0; - -webkit-transform: translate3d(8px, -10px, 0) rotate(45deg) scale(0.7, 1); - transform: translate3d(8px, -10px, 0) rotate(45deg) scale(0.7, 1); - transition: top 0.1s ease, -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); - transition: top 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); - transition: top 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); -} - -.hamburger--arrowalt-r.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: translate3d(8px, 10px, 0) rotate(-45deg) scale(0.7, 1); - transform: translate3d(8px, 10px, 0) rotate(-45deg) scale(0.7, 1); - transition: bottom 0.1s ease, -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); - transition: bottom 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); - transition: bottom 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); -} - -/* - * Boring - */ - -.hamburger--boring .hamburger-inner, -.hamburger--boring .hamburger-inner::before, -.hamburger--boring .hamburger-inner::after { - transition-property: none; -} - -.hamburger--boring.is-active .hamburger-inner { - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} - -.hamburger--boring.is-active .hamburger-inner::before { - top: 0; - opacity: 0; -} - -.hamburger--boring.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); -} - -/* - * Collapse - */ - -.hamburger--collapse .hamburger-inner { - top: auto; - bottom: 0; - transition-duration: 0.15s; - transition-delay: 0.15s; - transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--collapse .hamburger-inner::after { - top: -20px; - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; -} - -.hamburger--collapse .hamburger-inner::before { - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--collapse.is-active .hamburger-inner { - -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); - transform: translate3d(0, -10px, 0) rotate(-45deg); - transition-delay: 0.32s; - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); -} - -.hamburger--collapse.is-active .hamburger-inner::after { - top: 0; - opacity: 0; - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.27s linear; -} - -.hamburger--collapse.is-active .hamburger-inner::before { - top: 0; - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); -} - -/* - * Collapse Reverse - */ - -.hamburger--collapse-r .hamburger-inner { - top: auto; - bottom: 0; - transition-duration: 0.15s; - transition-delay: 0.15s; - transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--collapse-r .hamburger-inner::after { - top: -20px; - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; -} - -.hamburger--collapse-r .hamburger-inner::before { - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--collapse-r.is-active .hamburger-inner { - -webkit-transform: translate3d(0, -10px, 0) rotate(45deg); - transform: translate3d(0, -10px, 0) rotate(45deg); - transition-delay: 0.32s; - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); -} - -.hamburger--collapse-r.is-active .hamburger-inner::after { - top: 0; - opacity: 0; - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.27s linear; -} - -.hamburger--collapse-r.is-active .hamburger-inner::before { - top: 0; - -webkit-transform: rotate(90deg); - transform: rotate(90deg); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); -} - -/* - * Elastic - */ - -.hamburger--elastic .hamburger-inner { - top: 2px; - transition-duration: 0.4s; - transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); -} - -.hamburger--elastic .hamburger-inner::before { - top: 10px; - transition: opacity 0.15s 0.4s ease; -} - -.hamburger--elastic .hamburger-inner::after { - top: 20px; - transition: -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); - transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); - transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); -} - -.hamburger--elastic.is-active .hamburger-inner { - -webkit-transform: translate3d(0, 10px, 0) rotate(135deg); - transform: translate3d(0, 10px, 0) rotate(135deg); - transition-delay: 0.1s; -} - -.hamburger--elastic.is-active .hamburger-inner::before { - transition-delay: 0s; - opacity: 0; -} - -.hamburger--elastic.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -20px, 0) rotate(-270deg); - transform: translate3d(0, -20px, 0) rotate(-270deg); - transition-delay: 0.1s; -} - -/* - * Elastic Reverse - */ - -.hamburger--elastic-r .hamburger-inner { - top: 2px; - transition-duration: 0.4s; - transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); -} - -.hamburger--elastic-r .hamburger-inner::before { - top: 10px; - transition: opacity 0.15s 0.4s ease; -} - -.hamburger--elastic-r .hamburger-inner::after { - top: 20px; - transition: -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); - transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); - transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); -} - -.hamburger--elastic-r.is-active .hamburger-inner { - -webkit-transform: translate3d(0, 10px, 0) rotate(-135deg); - transform: translate3d(0, 10px, 0) rotate(-135deg); - transition-delay: 0.1s; -} - -.hamburger--elastic-r.is-active .hamburger-inner::before { - transition-delay: 0s; - opacity: 0; -} - -.hamburger--elastic-r.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -20px, 0) rotate(270deg); - transform: translate3d(0, -20px, 0) rotate(270deg); - transition-delay: 0.1s; -} - -/* - * Emphatic - */ - -.hamburger--emphatic { - overflow: hidden; -} - -.hamburger--emphatic .hamburger-inner { - transition: background-color 0.2s 0.25s ease-in; -} - -.hamburger--emphatic .hamburger-inner::before { - left: 0; - transition: top 0.05s 0.2s linear, left 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in; - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); -} - -.hamburger--emphatic .hamburger-inner::after { - top: 10px; - right: 0; - transition: top 0.05s 0.2s linear, right 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in; - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); -} - -.hamburger--emphatic.is-active .hamburger-inner { - transition-delay: 0s; - transition-timing-function: ease-out; - background-color: transparent; -} - -.hamburger--emphatic.is-active .hamburger-inner::before { - left: -80px; - top: -80px; - -webkit-transform: translate3d(80px, 80px, 0) rotate(45deg); - transform: translate3d(80px, 80px, 0) rotate(45deg); - transition: left 0.2s ease-out, top 0.05s 0.2s linear, -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); -} - -.hamburger--emphatic.is-active .hamburger-inner::after { - right: -80px; - top: -80px; - -webkit-transform: translate3d(-80px, 80px, 0) rotate(-45deg); - transform: translate3d(-80px, 80px, 0) rotate(-45deg); - transition: right 0.2s ease-out, top 0.05s 0.2s linear, -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); -} - -/* - * Emphatic Reverse - */ - -.hamburger--emphatic-r { - overflow: hidden; -} - -.hamburger--emphatic-r .hamburger-inner { - transition: background-color 0.2s 0.25s ease-in; -} - -.hamburger--emphatic-r .hamburger-inner::before { - left: 0; - transition: top 0.05s 0.2s linear, left 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in; - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); -} - -.hamburger--emphatic-r .hamburger-inner::after { - top: 10px; - right: 0; - transition: top 0.05s 0.2s linear, right 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in; - transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in, -webkit-transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335); -} - -.hamburger--emphatic-r.is-active .hamburger-inner { - transition-delay: 0s; - transition-timing-function: ease-out; - background-color: transparent; -} - -.hamburger--emphatic-r.is-active .hamburger-inner::before { - left: -80px; - top: 80px; - -webkit-transform: translate3d(80px, -80px, 0) rotate(-45deg); - transform: translate3d(80px, -80px, 0) rotate(-45deg); - transition: left 0.2s ease-out, top 0.05s 0.2s linear, -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); -} - -.hamburger--emphatic-r.is-active .hamburger-inner::after { - right: -80px; - top: 80px; - -webkit-transform: translate3d(-80px, -80px, 0) rotate(45deg); - transform: translate3d(-80px, -80px, 0) rotate(45deg); - transition: right 0.2s ease-out, top 0.05s 0.2s linear, -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); - transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); -} - -/* - * Slider - */ - -.hamburger--slider .hamburger-inner { - top: 2px; -} - -.hamburger--slider .hamburger-inner::before { - top: 10px; - transition-property: opacity, -webkit-transform; - transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - transition-timing-function: ease; - transition-duration: 0.2s; -} - -.hamburger--slider .hamburger-inner::after { - top: 20px; -} - -.hamburger--slider.is-active .hamburger-inner { - -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); - transform: translate3d(0, 10px, 0) rotate(45deg); -} - -.hamburger--slider.is-active .hamburger-inner::before { - -webkit-transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0); - transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0); - opacity: 0; -} - -.hamburger--slider.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -20px, 0) rotate(-90deg); - transform: translate3d(0, -20px, 0) rotate(-90deg); -} - -/* - * Slider Reverse - */ - -.hamburger--slider-r .hamburger-inner { - top: 2px; -} - -.hamburger--slider-r .hamburger-inner::before { - top: 10px; - transition-property: opacity, -webkit-transform; - transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - transition-timing-function: ease; - transition-duration: 0.2s; -} - -.hamburger--slider-r .hamburger-inner::after { - top: 20px; -} - -.hamburger--slider-r.is-active .hamburger-inner { - -webkit-transform: translate3d(0, 10px, 0) rotate(-45deg); - transform: translate3d(0, 10px, 0) rotate(-45deg); -} - -.hamburger--slider-r.is-active .hamburger-inner::before { - -webkit-transform: rotate(45deg) translate3d(5.71429px, -6px, 0); - transform: rotate(45deg) translate3d(5.71429px, -6px, 0); - opacity: 0; -} - -.hamburger--slider-r.is-active .hamburger-inner::after { - -webkit-transform: translate3d(0, -20px, 0) rotate(90deg); - transform: translate3d(0, -20px, 0) rotate(90deg); -} - -/* - * Spring - */ - -.hamburger--spring .hamburger-inner { - top: 2px; - transition: background-color 0s 0.15s linear; -} - -.hamburger--spring .hamburger-inner::before { - top: 10px; - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--spring .hamburger-inner::after { - top: 20px; - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--spring.is-active .hamburger-inner { - transition-delay: 0.32s; - background-color: transparent; -} - -.hamburger--spring.is-active .hamburger-inner::before { - top: 0; - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - -webkit-transform: translate3d(0, 10px, 0) rotate(45deg); - transform: translate3d(0, 10px, 0) rotate(45deg); -} - -.hamburger--spring.is-active .hamburger-inner::after { - top: 0; - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - -webkit-transform: translate3d(0, 10px, 0) rotate(-45deg); - transform: translate3d(0, 10px, 0) rotate(-45deg); -} - -/* - * Spring Reverse - */ - -.hamburger--spring-r .hamburger-inner { - top: auto; - bottom: 0; - transition-duration: 0.15s; - transition-delay: 0s; - transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--spring-r .hamburger-inner::after { - top: -20px; - transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; -} - -.hamburger--spring-r .hamburger-inner::before { - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--spring-r.is-active .hamburger-inner { - -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); - transform: translate3d(0, -10px, 0) rotate(-45deg); - transition-delay: 0.32s; - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); -} - -.hamburger--spring-r.is-active .hamburger-inner::after { - top: 0; - opacity: 0; - transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.32s linear; -} - -.hamburger--spring-r.is-active .hamburger-inner::before { - top: 0; - -webkit-transform: rotate(90deg); - transform: rotate(90deg); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); -} - -/* - * Stand - */ - -.hamburger--stand .hamburger-inner { - transition: background-color 0s 0.1s linear, -webkit-transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear; - transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear, -webkit-transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--stand .hamburger-inner::before { - transition: top 0.1s 0.1s ease-in, -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--stand .hamburger-inner::after { - transition: bottom 0.1s 0.1s ease-in, -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--stand.is-active .hamburger-inner { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); - background-color: transparent; - transition: background-color 0s 0.22s linear, -webkit-transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear; - transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear, -webkit-transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1); -} - -.hamburger--stand.is-active .hamburger-inner::before { - top: 0; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - transition: top 0.1s 0.12s ease-out, -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); -} - -.hamburger--stand.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - transition: bottom 0.1s 0.12s ease-out, -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); -} - -/* - * Stand Reverse - */ - -.hamburger--stand-r .hamburger-inner { - transition: background-color 0s 0.1s linear, -webkit-transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear; - transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear, -webkit-transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--stand-r .hamburger-inner::before { - transition: top 0.1s 0.1s ease-in, -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--stand-r .hamburger-inner::after { - transition: bottom 0.1s 0.1s ease-in, -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--stand-r.is-active .hamburger-inner { - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); - background-color: transparent; - transition: background-color 0s 0.22s linear, -webkit-transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear; - transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear, -webkit-transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1); -} - -.hamburger--stand-r.is-active .hamburger-inner::before { - top: 0; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - transition: top 0.1s 0.12s ease-out, -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); -} - -.hamburger--stand-r.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - transition: bottom 0.1s 0.12s ease-out, -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); -} - -/* - * Spin - */ - -.hamburger--spin .hamburger-inner { - transition-duration: 0.3s; - transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--spin .hamburger-inner::before { - transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in; -} - -.hamburger--spin .hamburger-inner::after { - transition: bottom 0.1s 0.34s ease-in, -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--spin.is-active .hamburger-inner { - -webkit-transform: rotate(225deg); - transform: rotate(225deg); - transition-delay: 0.14s; - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); -} - -.hamburger--spin.is-active .hamburger-inner::before { - top: 0; - opacity: 0; - transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out; -} - -.hamburger--spin.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); - transition: bottom 0.1s ease-out, -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); -} - -/* - * Spin Reverse - */ - -.hamburger--spin-r .hamburger-inner { - transition-duration: 0.3s; - transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--spin-r .hamburger-inner::before { - transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in; -} - -.hamburger--spin-r .hamburger-inner::after { - transition: bottom 0.1s 0.34s ease-in, -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--spin-r.is-active .hamburger-inner { - -webkit-transform: rotate(-225deg); - transform: rotate(-225deg); - transition-delay: 0.14s; - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); -} - -.hamburger--spin-r.is-active .hamburger-inner::before { - top: 0; - opacity: 0; - transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out; -} - -.hamburger--spin-r.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); - transition: bottom 0.1s ease-out, -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); -} - -/* - * Squeeze - */ - -.hamburger--squeeze .hamburger-inner { - transition-duration: 0.1s; - transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--squeeze .hamburger-inner::before { - transition: top 0.1s 0.14s ease, opacity 0.1s ease; -} - -.hamburger--squeeze .hamburger-inner::after { - transition: bottom 0.1s 0.14s ease, -webkit-transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); - transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} - -.hamburger--squeeze.is-active .hamburger-inner { - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - transition-delay: 0.14s; - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); -} - -.hamburger--squeeze.is-active .hamburger-inner::before { - top: 0; - opacity: 0; - transition: top 0.1s ease, opacity 0.1s 0.14s ease; -} - -.hamburger--squeeze.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); - transition: bottom 0.1s ease, -webkit-transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); - transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); -} - -/* - * Vortex - */ - -.hamburger--vortex .hamburger-inner { - transition-duration: 0.3s; - transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); -} - -.hamburger--vortex .hamburger-inner::before, -.hamburger--vortex .hamburger-inner::after { - transition-duration: 0s; - transition-delay: 0.1s; - transition-timing-function: linear; -} - -.hamburger--vortex .hamburger-inner::before { - transition-property: top, opacity; -} - -.hamburger--vortex .hamburger-inner::after { - transition-property: bottom, -webkit-transform; - transition-property: bottom, transform; - transition-property: bottom, transform, -webkit-transform; -} - -.hamburger--vortex.is-active .hamburger-inner { - -webkit-transform: rotate(765deg); - transform: rotate(765deg); - transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); -} - -.hamburger--vortex.is-active .hamburger-inner::before, -.hamburger--vortex.is-active .hamburger-inner::after { - transition-delay: 0s; -} - -.hamburger--vortex.is-active .hamburger-inner::before { - top: 0; - opacity: 0; -} - -.hamburger--vortex.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(90deg); - transform: rotate(90deg); -} - -/* - * Vortex Reverse - */ - -.hamburger--vortex-r .hamburger-inner { - transition-duration: 0.3s; - transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); -} - -.hamburger--vortex-r .hamburger-inner::before, -.hamburger--vortex-r .hamburger-inner::after { - transition-duration: 0s; - transition-delay: 0.1s; - transition-timing-function: linear; -} - -.hamburger--vortex-r .hamburger-inner::before { - transition-property: top, opacity; -} - -.hamburger--vortex-r .hamburger-inner::after { - transition-property: bottom, -webkit-transform; - transition-property: bottom, transform; - transition-property: bottom, transform, -webkit-transform; -} - -.hamburger--vortex-r.is-active .hamburger-inner { - -webkit-transform: rotate(-765deg); - transform: rotate(-765deg); - transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); -} - -.hamburger--vortex-r.is-active .hamburger-inner::before, -.hamburger--vortex-r.is-active .hamburger-inner::after { - transition-delay: 0s; -} - -.hamburger--vortex-r.is-active .hamburger-inner::before { - top: 0; - opacity: 0; -} - -.hamburger--vortex-r.is-active .hamburger-inner::after { - bottom: 0; - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg); -} diff --git a/client/scss/vendor/hamburgers/_generic.scss b/client/scss/vendor/hamburgers/_generic.scss deleted file mode 100644 index 8dd965a69..000000000 --- a/client/scss/vendor/hamburgers/_generic.scss +++ /dev/null @@ -1,195 +0,0 @@ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS and IE text size adjust after device orientation change, - * without disabling user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -footer, -header, -main, -nav, -section { - display: block; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability of focused elements when they are also in an - * active/hover state. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #FFFF00; - color: #000000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -pre, { - font-family: monospace, monospace; - font-size: 1em; -} - - - - - -// Box Sizing -// ================================================== -html { - box-sizing: border-box; -} - -*, -*::before, -*::after { - box-sizing: inherit; -} - - - - - -// Video -// ================================================== -video { - width: 100%; - margin-bottom: 1.5em; -} diff --git a/client/scss/vendor/hamburgers/_objects.scss b/client/scss/vendor/hamburgers/_objects.scss deleted file mode 100644 index 65451894f..000000000 --- a/client/scss/vendor/hamburgers/_objects.scss +++ /dev/null @@ -1,467 +0,0 @@ -// Layout -// ================================================== -.table { - display: flex; - flex-direction: row; - flex-wrap: wrap; -} - -.tray { - text-align: center; - width: 50%; - background-color: $blue; - padding-top: 3em + 1.75em; - padding-bottom: 3em; - position: relative; -} - -.tray:nth-child(1) { - background-color: $plum; -} - -.tray:nth-child(2) { - background-color: $teal; -} - -.tray:nth-child(3) { - background-color: $orange; -} - -.tray:nth-child(4) { - background-color: $grey-darker; -} - -.tray:nth-child(5) { - background-color: $pink; -} - -.tray:nth-child(6) { - background-color: $yellow; -} - -.tray:nth-child(7) { - background-color: $blue; -} - -.tray:nth-child(8) { - background-color: $blue-grey; -} - -.tray:nth-child(9) { - background-color: $green; -} - -.tray:nth-child(10) { - background-color: $indigo; -} - -.tray:nth-child(11) { - background-color: $cyan; -} - -.tray:nth-child(12) { - background-color: $red; -} - -.tray:nth-child(13) { - background-color: $purple; -} - -.tray:nth-child(14) { - background-color: $brown; -} - -.tray--empty { - border: 1px dashed $grey; - background-color: transparent; - display: none; -} - -.tray--empty + .tray--empty { - border-left: 0; -} - -.section { - text-align: center; - padding-top: 30px; - padding-bottom: 30px; -} - -.section:nth-child(1) { - background-color: $white; -} - -.content { - text-align: left; - padding-left: 15px; - padding-right: 15px; - margin-left: auto; - margin-right: auto; - max-width: 600px; -} - -@media only screen and (min-width: 768px) { - .tray { - width: 20%; - padding-top: 5em + 1.75em; - padding-bottom: 5em; - } - - .tray--empty { - display: block; - } -} - - - - - -// Header -// ================================================== -.header { - text-align: center; - background-color: #F4F4F4; - padding-top: 20px; - padding-bottom: 20px; -} - -.header-text { - font-weight: 600; - font-size: 15px; - letter-spacing: 0.05em; - text-transform: uppercase; - display: inline-block; - vertical-align: middle; -} - -.header-text-h { - visibility: hidden; -} - - - - - -// Footer -// ================================================== -.footer { - font-size: 14px; - line-height: 1.5; - text-align: center; - background-color: $grey-lightest; - padding-top: 30px; - padding-bottom: 30px; - - a { - color: $black; - - &:hover { - color: $blue; - } - } -} - -.footer-separator { - display: none; -} - -@media only screen and (min-width: 480px) { - .footer { - font-size: 15px; - padding-top: 40px; - padding-bottom: 40px; - - br { - display: none; - } - } - - .footer-separator { - color: $grey; - display: inline; - margin-left: 10px; - margin-right: 10px; - } -} - - - - - -// Highlight -// ================================================== -.highlight { - .c { - color: #93A1A1; - } /* Comment */ - - .err { - color: #586E75; - } /* Error */ - - .g { - color: #586E75; - } /* Generic */ - - .k { - color: #859900; - } /* Keyword */ - - .l { - color: #586E75; - } /* Literal */ - - .n { - color: #586E75; - } /* Name */ - - .o { - color: #859900; - } /* Operator */ - - .x { - color: #CB4B16; - } /* Other */ - - .p { - color: #586E75; - } /* Punctuation */ - - .cm { - color: #93A1A1; - } /* Comment.Multiline */ - - .cp { - color: #859900; - } /* Comment.Preproc */ - - .c1 { - color: #93A1A1; - } /* Comment.Single */ - - .cs { - color: #859900; - } /* Comment.Special */ - - .gd { - color: #2AA198; - } /* Generic.Deleted */ - - .ge { - color: #586E75; - font-style: italic; - } /* Generic.Emph */ - - .gr { - color: #DC322F; - } /* Generic.Error */ - - .gh { - color: #CB4B16; - } /* Generic.Heading */ - - .gi { - color: #859900; - } /* Generic.Inserted */ - - .go { - color: #586E75; - } /* Generic.Output */ - - .gp { - color: #586E75; - } /* Generic.Prompt */ - - .gs { - color: #586E75; - font-weight: bold; - } /* Generic.Strong */ - - .gu { - color: #CB4B16; - } /* Generic.Subheading */ - - .gt { - color: #586E75; - } /* Generic.Traceback */ - - .kc { - color: #CB4B16; - } /* Keyword.Constant */ - - .kd { - color: #268BD2; - } /* Keyword.Declaration */ - - .kn { - color: #859900; - } /* Keyword.Namespace */ - - .kp { - color: #859900; - } /* Keyword.Pseudo */ - - .kr { - color: #268BD2; - } /* Keyword.Reserved */ - - .kt { - color: #DC322F; - } /* Keyword.Type */ - - .ld { - color: #586E75; - } /* Literal.Date */ - - .m { - color: #2AA198; - } /* Literal.Number */ - - .s { - color: #2AA198; - } /* Literal.String */ - - .na { - color: #586E75; - } /* Name.Attribute */ - - .nb { - color: #B58900; - } /* Name.Builtin */ - - .nc { - color: #268BD2; - } /* Name.Class */ - - .no { - color: #CB4B16; - } /* Name.Constant */ - - .nd { - color: #268BD2; - } /* Name.Decorator */ - - .ni { - color: #CB4B16; - } /* Name.Entity */ - - .ne { - color: #CB4B16; - } /* Name.Exception */ - - .nf { - color: #268BD2; - } /* Name.Function */ - - .nl { - color: #586E75; - } /* Name.Label */ - - .nn { - color: #586E75; - } /* Name.Namespace */ - - .nx { - color: #586E75; - } /* Name.Other */ - - .py { - color: #586E75; - } /* Name.Property */ - - .nt { - color: #268BD2; - } /* Name.Tag */ - - .nv { - color: #268BD2; - } /* Name.Variable */ - - .ow { - color: #859900; - } /* Operator.Word */ - - .w { - color: #586E75; - } /* Text.Whitespace */ - - .mf { - color: #2AA198; - } /* Literal.Number.Float */ - - .mh { - color: #2AA198; - } /* Literal.Number.Hex */ - - .mi { - color: #2AA198; - } /* Literal.Number.Integer */ - - .mo { - color: #2AA198; - } /* Literal.Number.Oct */ - - .sb { - color: #93A1A1; - } /* Literal.String.Backtick */ - - .sc { - color: #2AA198; - } /* Literal.String.Char */ - - .sd { - color: #586E75; - } /* Literal.String.Doc */ - - .s2 { - color: #2AA198; - } /* Literal.String.Double */ - - .se { - color: #CB4B16; - } /* Literal.String.Escape */ - - .sh { - color: #586E75; - } /* Literal.String.Heredoc */ - - .si { - color: #2AA198; - } /* Literal.String.Interpol */ - - .sx { - color: #2AA198; - } /* Literal.String.Other */ - - .sr { - color: #DC322F; - } /* Literal.String.Regex */ - - .s1 { - color: #2AA198; - } /* Literal.String.Single */ - - .ss { - color: #2AA198; - } /* Literal.String.Symbol */ - - .bp { - color: #268BD2; - } /* Name.Builtin.Pseudo */ - - .vc { - color: #268BD2; - } /* Name.Variable.Class */ - - .vg { - color: #268BD2; - } /* Name.Variable.Global */ - - .vi { - color: #268BD2; - } /* Name.Variable.Instance */ - - .il { - color: #2AA198; - } /* Literal.Number.Integer.Long */ -} diff --git a/client/scss/vendor/hamburgers/_settings.scss b/client/scss/vendor/hamburgers/_settings.scss deleted file mode 100644 index 826fd45f8..000000000 --- a/client/scss/vendor/hamburgers/_settings.scss +++ /dev/null @@ -1,21 +0,0 @@ -// Settings -// ================================================== -$white: #FFFFFF; -$black: #000000; -$grey-darkest: #222222; -$grey-darker: #444444; -$grey: #999999; -$grey-lightest: #F4F4F4; -$blue: #2196F3; -$blue-grey: #607D8B; -$brown: #795548; -$cyan: #00BCD4; -$green: #43A047; -$indigo: #3F51B5; -$orange: #FF5722; -$pink: #EC407A; -$plum: #4A148C; -$purple: #9C27B0; -$red: #F44336; -$teal: #4DB6AC; -$yellow: #FBC02D; diff --git a/client/scss/vendor/hamburgers/_trumps.scss b/client/scss/vendor/hamburgers/_trumps.scss deleted file mode 100644 index 0390bc9c9..000000000 --- a/client/scss/vendor/hamburgers/_trumps.scss +++ /dev/null @@ -1,156 +0,0 @@ -// Trumps -// ================================================== -.hamburger { - .hamburger-inner { - &, - &::before, - &::after { - background-color: $white; - } - } -} - -.hamburger--header { - padding-left: 5px; - padding-right: 0; - margin-right: -5px; - vertical-align: middle; - cursor: default; - - .hamburger-inner { - &, - &::before, - &::after { - background-color: $grey-darkest; - } - } - - &.hamburger--elastic, - &.hamburger--slider { - .hamburger-inner { - top: 2px; - } - } - - &:hover { - opacity: 1; - } -} - -.hamburger-wrap { - text-align: center; -} - -.hamburger--accessible { - display: inline-block; - - .hamburger-box { - display: inline-block; - vertical-align: middle; - } - - .hamburger-inner { - &, - &::before, - &::after { - background-color: $grey-darkest; - } - } -} - -.hamburger-label { - font-weight: 600; - text-transform: uppercase; - display: inline-block; - margin-left: 5px; - vertical-align: middle; -} - -.hamburger-label-hidden { - display: none; -} - -.hamburger--example { - outline: 1px dashed cyan; - - .hamburger-box { - outline: 1px dashed green; - } - - .hamburger-inner { - &, - &::before, - &::after { - background-color: $grey-darkest; - } - } -} - -.name { - font-size: 0.8em; - font-weight: 600; - color: $white; - padding-top: 1.25em; - padding-top: 2em; - width: 100%; - position: absolute; - top: 0; - left: 0; -} - -.section--information { - -} - -.information-directions { - font-size: 14px; - width: 100%; -} - -.section--usage { - -} - -.browsers, -.types { - padding-left: 0; - list-style: none; - - li { - margin-bottom: 0.25em; - } -} - -.browsers { - padding-left: 1em; - column-count: 2; -} - -.hint { - display: none; - margin-bottom: 1em; - - &.is-visible { - display: block; - } -} - -@media only screen and (min-width: 320px) { - .browsers { - column-count: 2; - } -} -@media only screen and (min-width: 480px) { - .types { - column-count: 2; - } - - .browsers { - column-count: 3; - } -} -@media only screen and (min-width: 640px) { - .information-directions { - font-size: 15px; - } -} diff --git a/client/scss/vendor/hamburgers/_typography.scss b/client/scss/vendor/hamburgers/_typography.scss deleted file mode 100644 index e45565c31..000000000 --- a/client/scss/vendor/hamburgers/_typography.scss +++ /dev/null @@ -1,153 +0,0 @@ -// Typography -// ================================================== -body { - font-family: -apple-system, '.SFNSDisplay-Regular', Roboto, Helvetica, Arial, sans-serif; - color: $grey-darkest; -} - -h1, -h2, -h3 { - margin-top: 0; -} - -h1 { - font-size: 18px; - margin-bottom: 0.5em; -} - -h2 { - font-size: 17px; - margin-bottom: 1em; -} - -h3 { - font-size: 16px; - margin-bottom: 1em; -} - -p { - font-size: 15px; - line-height: 1.4; - margin-bottom: 1.5em; - margin-top: 0; -} - -a { - color: $blue; - cursor: pointer; - text-decoration: underline; - - &:hover { - color: $orange; - } -} - -p, -ol, -ul, -pre { - margin-bottom: 1.5em; - margin-top: 0; -} - -p, -ol, -ul { - font-size: 15px; -} - -ol { - padding-left: 1.5em; -} - -li { - padding-left: 0.25em; - margin-bottom: 0.75em; -} - -code, -pre { - font-family: Consolas, 'Liberation Mono', Courier, monospace; - background-color: #F7F7F7; - border-radius: 3px; -} - -code { - padding: 3px 5px; -} - -pre { - font-size: 14px; - color: #586E75; - padding: 10px; - -webkit-overflow-scrolling: touch; - - code { - padding: 0; - background-color: transparent; - border-radius: 0; - } - - span.accent { - color: $black; - font-weight: 600; - background-color: transparent; - } -} - -mark { - -} - -small { - font-size: 85%; - color: $grey; -} - -ol, -ul, -pre { - & + h2, - & + h3 { - margin-top: 2.5em; - } -} - -li { - > p { - margin-bottom: 0; - } - - > p + pre, - ul, - ol { - margin-top: 0.5em; - } -} - -@media only screen and (min-width: 480px) { - pre { - font-size: 15px; - } -} -@media only screen and (min-width: 640px) { - h1 { - font-size: 21px; - } - - h2 { - font-size: 19px; - } - - h3 { - font-size: 17px; - } - - p, - ol, - ul, - pre { - font-size: 16px; - } -} diff --git a/client/scss/vendor/hamburgers/hamburgers/_base.scss b/client/scss/vendor/hamburgers/hamburgers/_base.scss deleted file mode 100644 index 495ef96ec..000000000 --- a/client/scss/vendor/hamburgers/hamburgers/_base.scss +++ /dev/null @@ -1,70 +0,0 @@ -// Hamburger -// ================================================== -.hamburger { - padding: $hamburger-padding-y $hamburger-padding-x; - display: inline-block; - cursor: pointer; - - transition-property: opacity, filter; - transition-duration: $hamburger-hover-transition-duration; - transition-timing-function: $hamburger-hover-transition-timing-function; - - // Normalize ( + )} + + ) + } + + render () { + const { + children, + className, + isOpen, + transitionProps, + } = this.props + + return ( + + + {({ item, key, props }) => item && ( + + + {this.renderHeader()} + + {children} + + )} + + + ) + } + + + + + + /***************************************************************************\ + Prop Definitions + \***************************************************************************/ + + static defaultProps = { + hideClose: false, + isOpen: false, + onClose: () => undefined, + title: null, + transitionProps: undefined, + } + + static propTypes = { + hideClose: PropTypes.any, + isOpen: PropTypes.any, + onClose: PropTypes.func, + title: PropTypes.string, + transitionProps: PropTypes.object, + } +} + + + + + +const asModal = (opts) => (Component) => (props) => ( + + + +) + + + + + +export default Modal +export { + asModal, +} From 93f329beb47faeaaa2e267ea325531e8f0fc1f15 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 3 Jul 2019 19:31:25 +0000 Subject: [PATCH 16/64] refactor(next-config): only enable eslint-loader in dev mode. --- next.config.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/next.config.js b/next.config.js index 6f0f84b7c..af649a420 100644 --- a/next.config.js +++ b/next.config.js @@ -79,12 +79,14 @@ module.exports = withWorkers(withSass({ $NODE_VERSION: JSON.stringify(process.version), })) - config.module.rules.unshift({ - enforce: 'pre', - exclude: /node_modules/u, - loader: 'eslint-loader', - test: /\.js$/u, - }) + if (data.dev) { + config.module.rules.unshift({ + enforce: 'pre', + exclude: /node_modules/u, + loader: 'eslint-loader', + test: /\.js$/u, + }) + } return config }, From 81da333c42a5229e23a3e257509566f6053e2a2c Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 3 Jul 2019 19:42:11 +0000 Subject: [PATCH 17/64] chore: add eslint script --- .gitignore | 1 + package.json | 1 + 2 files changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 3ecfdf68e..9273fda2e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ .next .env .stylelintcache +.eslintcache bower_components node_modules static/compiled diff --git a/package.json b/package.json index f55be6597..34172e043 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "analyze": "cross-env ANALYZE=1 next build", "build": "next build client", "dev": "node --inspect server/server.js", + "eslint": "eslint . --cache", "stylelint": "stylelint \"client/scss/**/*.scss\" --cache", "postinstall": "npm rebuild node-sass" }, From 9fd4378c196fb91281951664e8fae355b1434c1c Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 3 Jul 2019 19:59:29 +0000 Subject: [PATCH 18/64] chore: remove travis.yml. we're moving to teamcity --- .travis.yml | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index b760fd199..000000000 --- a/.travis.yml +++ /dev/null @@ -1,30 +0,0 @@ -language: node_js - -addons: - ssh_known_hosts: - - emmental.fuelrats.com - -cache: yarn - -script: -- yarn run build - -before_deploy: -- openssl aes-256-cbc -K $encrypted_257dda796125_key -iv $encrypted_257dda796125_iv -in deploy_rsa.enc -out /tmp/deploy_rsa -d -- eval "$(ssh-agent -s)" -- chmod 600 /tmp/deploy_rsa -- ssh-add /tmp/deploy_rsa - -notifications: - webhooks: - urls: - - http://orthanc.localecho.net/cgi-bin/webhook.py - on_success: always - on_failure: always - -deploy: -- provider: script - skip_cleanup: true - script: bash scripts/deploy.sh - on: - all_branches: true From a7b68e9b897916c478b482a27a316af869372616 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 3 Jul 2019 20:05:56 +0000 Subject: [PATCH 19/64] refactor(eslintignore-config): ignore .next and node_modules --- .eslintignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.eslintignore b/.eslintignore index 9f2dd3ba0..c0355befe 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1 +1,3 @@ !.* +**/.next +**/node_modules From b2383eacb75efdaa439f5f975a4bce4d87773bf1 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 3 Jul 2019 20:40:25 +0000 Subject: [PATCH 20/64] style: fix various lint issues to fix lint step --- client/scss/components/_profile-header.scss | 51 +++++++++++---------- client/scss/components/_user-nicknames.scss | 6 +-- client/scss/mixins/_text-outline.scss | 7 --- 3 files changed, 29 insertions(+), 35 deletions(-) diff --git a/client/scss/components/_profile-header.scss b/client/scss/components/_profile-header.scss index 0b7fa731c..573c54766 100644 --- a/client/scss/components/_profile-header.scss +++ b/client/scss/components/_profile-header.scss @@ -1,19 +1,20 @@ .profile-header { display: grid; - grid-template: "avatar info" 1fr - "avatar badges" min-content - / min-content auto; + grid-template: + 'avatar info' 1fr + 'avatar badges' min-content + / min-content auto; grid-column-gap: 2rem; margin-bottom: 3rem; @media screen and (max-width: 768px) { - grid-template-areas:"avatar avatar" - "info info" - "badges badges"; + grid-template-areas: + 'avatar avatar' + 'info info' + 'badges badges'; justify-content: center; justify-items: center; text-align: center; - } .user-avatar { @@ -21,28 +22,28 @@ } .profile-basic-info { - grid-area: info; - align-self: center; - padding-bottom: 1rem; + grid-area: info; + align-self: center; + padding-bottom: 1rem; - > div .label { - font-weight: bold; - } + > div .label { + font-weight: bold; + } - .rat-name { - font-size: 3rem; - } + .rat-name { + font-size: 3rem; + } } .profile-user-badges { - height: min-content; - align-self: end; - grid-area: badges; - - .badge { - font-size: 1.2rem; - background-color: #878787; - padding: 0 0.75rem; - } + height: min-content; + align-self: end; + grid-area: badges; + + .badge { + font-size: 1.2rem; + background-color: #878787; + padding: 0 0.75rem; + } } } diff --git a/client/scss/components/_user-nicknames.scss b/client/scss/components/_user-nicknames.scss index 9155875f9..5735c22eb 100644 --- a/client/scss/components/_user-nicknames.scss +++ b/client/scss/components/_user-nicknames.scss @@ -12,7 +12,7 @@ div.user-nicknames { top: 0; z-index: 1; padding: 0.5rem 0 0.5rem 0.5rem; - background: #1a1a1a; + background: #1A1A1A; form { display: flex; @@ -21,12 +21,12 @@ div.user-nicknames { } fieldset { - padding: 0rem; + padding: 0; flex: 2 0; margin-right: 0.5rem; } - button[type=submit] { + button[type='submit'] { flex: 0 0 auto; margin-right: 0.2rem; } diff --git a/client/scss/mixins/_text-outline.scss b/client/scss/mixins/_text-outline.scss index 09b7ecb63..2ac48af47 100644 --- a/client/scss/mixins/_text-outline.scss +++ b/client/scss/mixins/_text-outline.scss @@ -2,25 +2,18 @@ text-shadow: // Top -1px 0 $blur $color, - // Top Right -1px 1px $blur $color, - // Right 0 1px $blur $color, - // Bottom Right 1px 1px $blur $color, - // Bottom 1px 0 $blur $color, - // Bottom Left 1px -1px $blur $color, - // Left 0 -1px $blur $color, - // Top Left -1px -1px $blur $color; } From 1d79464a3d2c9a024f44838e2e51b6d54c1ebc16 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 4 Jul 2019 20:40:44 +0000 Subject: [PATCH 21/64] chore: upgrade to eslint v6 --- package.json | 17 +++--- yarn.lock | 165 +++++++++++++++++++++++++++++++++------------------ 2 files changed, 114 insertions(+), 68 deletions(-) diff --git a/package.json b/package.json index f55be6597..5eae5e98a 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,8 @@ "@fortawesome/free-brands-svg-icons": "^5.9.0", "@fortawesome/free-solid-svg-icons": "^5.9.0", "@fortawesome/react-fontawesome": "^0.1.4", - "@fuelrats/eslint-config-react": "0.11.0", - "@fuelrats/stylelint-config": "^0.4.0", + "@fuelrats/eslint-config-react": "1.0.0", + "@fuelrats/stylelint-config": "^0.5.0", "@zeit/next-sass": "^1.0.1", "@zeit/next-workers": "1.0.1-canary.1", "autoprefixer": "^9.6.0", @@ -37,14 +37,13 @@ "content-security-policy-builder": "^2.1.0", "cross-env": "^5.2.0", "dotenv": "^8.0.0", - "eslint": "^5.15.0", - "eslint-config-airbnb": "^17.1.0", - "eslint-loader": "^2.1.2", + "eslint": "^6.0.1", + "eslint-loader": "^2.2.0", "eslint-plugin-babel": "^5.3.0", - "eslint-plugin-import": "^2.17.3", - "eslint-plugin-jsx-a11y": "^6.2.1", - "eslint-plugin-react": "^7.12.4", - "eslint-plugin-react-hooks": "^1.4.0", + "eslint-plugin-import": "^2.18.0", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-react": "^7.14.2", + "eslint-plugin-react-hooks": "^1.6.1", "glob": "^7.1.3", "hoist-non-react-statics": "^3.3.0", "js-cookie": "^2.2.0", diff --git a/yarn.lock b/yarn.lock index c0a1f86d0..10c6e78be 100644 --- a/yarn.lock +++ b/yarn.lock @@ -821,24 +821,24 @@ humps "^2.0.1" prop-types "^15.5.10" -"@fuelrats/eslint-config-react@0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@fuelrats/eslint-config-react/-/eslint-config-react-0.11.0.tgz#1e29d704749029a07f3a1b744d11fd947315b88b" - integrity sha512-DWGEEGlvfCAtQWOpoIWXCSagncOsf+YwYdQyR1PZF5VVSwiON0LiUAsGPetEg1K4xqog7BksjCnvgQaYTdxkrA== +"@fuelrats/eslint-config-react@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@fuelrats/eslint-config-react/-/eslint-config-react-1.0.0.tgz#4061cf667fd038ac4c5431c82bf0b41762f4f08b" + integrity sha512-xvARXVKhZSO/Fg+zfT/7DiOqvZZTN5zmxFrjhBThbdQI2sbS+hFsOKUlnhgL9CGmib+bzXodF731H9u8Ud+3Mw== dependencies: - "@fuelrats/eslint-config" "^0.11.0" + "@fuelrats/eslint-config" "^1.0.0" -"@fuelrats/eslint-config@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@fuelrats/eslint-config/-/eslint-config-0.11.0.tgz#64326dcd7ce8dc72ef5146a1046f625a6bd66516" - integrity sha512-iNqg4k26yUJFmEx1t0gRUhDPXFQn5kZYQcjEEJLIURzLTbrxdDTBoLXxK7y7kbfSUp+2yWQ0EYXoIHpOrCGMuw== +"@fuelrats/eslint-config@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@fuelrats/eslint-config/-/eslint-config-1.0.0.tgz#4147557b401d4bc1323ada59a5cfb234b813187c" + integrity sha512-i2voBSh1eX4yu5mMcXVvhq+N7uQNOJx/OyUABWI/5wmZpDTVAUPmmdqATKQ57GFjCDy/BjI254Xc/JDEs8q9vQ== dependencies: eslint-restricted-globals "^0.2.0" -"@fuelrats/stylelint-config@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@fuelrats/stylelint-config/-/stylelint-config-0.4.0.tgz#6d4e0c5f452155e18c3e1d6cb59cf76710486e97" - integrity sha512-4JcliEKCjcMMVuaR12Sgzx5r07tsvtq3QwgCiz9+WZ6kyZ35JCF/f8j4/A2l6mHFcCYt6I6FY9hUAIu6Gv3xRQ== +"@fuelrats/stylelint-config@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@fuelrats/stylelint-config/-/stylelint-config-0.5.0.tgz#3df69e007cd22599bdf37586a600d04511a3fcca" + integrity sha512-YnTyANHv1aFX4IRdOxIWzhDyKGvGe27XP0J4S5IIxH8aX1noQCdB3nBGLs+Yq8gZRTTFZhIlPP9/bG60w0CyqA== "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" @@ -1310,7 +1310,7 @@ ajv-keywords@^3.1.0: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" integrity sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw== -ajv@^6.1.0, ajv@^6.5.5, ajv@^6.9.1: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.5.5, ajv@^6.9.1: version "6.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== @@ -3042,24 +3042,6 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -eslint-config-airbnb-base@^13.1.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz#b5a1b480b80dfad16433d6c4ad84e6605052c05c" - integrity sha512-XWwQtf3U3zIoKO1BbHh6aUhJZQweOwSt4c2JrPDg9FP3Ltv3+YfEv7jIDB8275tVnO/qOHbfuYg3kzw6Je7uWw== - dependencies: - eslint-restricted-globals "^0.1.1" - object.assign "^4.1.0" - object.entries "^1.0.4" - -eslint-config-airbnb@^17.1.0: - version "17.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-17.1.0.tgz#3964ed4bc198240315ff52030bf8636f42bc4732" - integrity sha512-R9jw28hFfEQnpPau01NO5K/JWMGLi6aymiF6RsnMURjTk+MqZKllCqGK/0tOvHkPi/NWSSOU2Ced/GX++YxLnw== - dependencies: - eslint-config-airbnb-base "^13.1.0" - object.assign "^4.1.0" - object.entries "^1.0.4" - eslint-config-kentcdodds@^14.3.2: version "14.3.3" resolved "https://registry.yarnpkg.com/eslint-config-kentcdodds/-/eslint-config-kentcdodds-14.3.3.tgz#bfdccc455266be359700ecb638c328f894af8e5c" @@ -3109,10 +3091,10 @@ eslint-import-resolver-webpack@^0.11.1: resolve "^1.10.0" semver "^5.3.0" -eslint-loader@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.1.2.tgz#453542a1230d6ffac90e4e7cb9cadba9d851be68" - integrity sha512-rA9XiXEOilLYPOIInvVH5S/hYfyTPyxag6DZhoQOduM+3TkghAEQ3VcFO8VnX4J4qg/UIBzp72aOf/xvYmpmsg== +eslint-loader@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.2.0.tgz#e2322b46fc5584ebbffd13c78089cd27d63565a9" + integrity sha512-O7zOQw6HS1t8H08O8DsAXPccSIu3xduku/aqdjQwPHp/NzIT/nwwkq+Ly5EtGfXo931/yTwiCuB9kjg/0D2sTg== dependencies: loader-fs-cache "^1.0.0" loader-utils "^1.0.2" @@ -3135,7 +3117,7 @@ eslint-plugin-babel@^5.3.0: dependencies: eslint-rule-composer "^0.3.0" -eslint-plugin-import@^2.17.1, eslint-plugin-import@^2.17.3: +eslint-plugin-import@^2.17.1: version "2.17.3" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.17.3.tgz#00548b4434c18faebaba04b24ae6198f280de189" integrity sha512-qeVf/UwXFJbeyLbxuY8RgqDyEKCkqV7YC+E5S5uOjAp4tOc8zj01JP3ucoBM8JcEqd1qRasJSg6LLlisirfy0Q== @@ -3152,6 +3134,23 @@ eslint-plugin-import@^2.17.1, eslint-plugin-import@^2.17.3: read-pkg-up "^2.0.0" resolve "^1.11.0" +eslint-plugin-import@^2.18.0: + version "2.18.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.0.tgz#7a5ba8d32622fb35eb9c8db195c2090bd18a3678" + integrity sha512-PZpAEC4gj/6DEMMoU2Df01C5c50r7zdGIN52Yfi7CvvWaYssG7Jt5R9nFG5gmqodxNOz9vQS87xk6Izdtpdrig== + dependencies: + array-includes "^3.0.3" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.2" + eslint-module-utils "^2.4.0" + has "^1.0.3" + lodash "^4.17.11" + minimatch "^3.0.4" + read-pkg-up "^2.0.0" + resolve "^1.11.0" + eslint-plugin-jest@^22.4.1: version "22.7.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.7.1.tgz#5dcdf8f7a285f98040378220d6beca581f0ab2a1" @@ -3171,12 +3170,32 @@ eslint-plugin-jsx-a11y@^6.2.1: has "^1.0.3" jsx-ast-utils "^2.0.1" -eslint-plugin-react-hooks@^1.4.0, eslint-plugin-react-hooks@^1.6.0: +eslint-plugin-jsx-a11y@^6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" + integrity sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg== + dependencies: + "@babel/runtime" "^7.4.5" + aria-query "^3.0.0" + array-includes "^3.0.3" + ast-types-flow "^0.0.7" + axobject-query "^2.0.2" + damerau-levenshtein "^1.0.4" + emoji-regex "^7.0.2" + has "^1.0.3" + jsx-ast-utils "^2.2.1" + +eslint-plugin-react-hooks@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.0.tgz#348efcda8fb426399ac7b8609607c7b4025a6f5f" integrity sha512-lHBVRIaz5ibnIgNG07JNiAuBUeKhEf8l4etNx5vfAEwqQ5tcuK3jV9yjmopPgQDagQb7HwIuQVsE3IVcGrRnag== -eslint-plugin-react@^7.12.4, eslint-plugin-react@^7.13.0: +eslint-plugin-react-hooks@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.1.tgz#3c66a5515ea3e0a221ffc5d4e75c971c217b1a4c" + integrity sha512-wHhmGJyVuijnYIJXZJHDUF2WM+rJYTjulUTqF9k61d3BTk8etydz+M4dXUVH7M76ZRS85rqBTCx0Es/lLsrjnA== + +eslint-plugin-react@^7.13.0: version "7.13.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.13.0.tgz#bc13fd7101de67996ea51b33873cd9dc2b7e5758" integrity sha512-uA5LrHylu8lW/eAH3bEQe9YdzpPaFd9yAJTwTi/i/BKTD7j6aQMKVAdGM/ML72zD6womuSK7EiGtMKuK06lWjQ== @@ -3189,10 +3208,20 @@ eslint-plugin-react@^7.12.4, eslint-plugin-react@^7.13.0: prop-types "^15.7.2" resolve "^1.10.1" -eslint-restricted-globals@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" - integrity sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc= +eslint-plugin-react@^7.14.2: + version "7.14.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.2.tgz#94c193cc77a899ac0ecbb2766fbef88685b7ecc1" + integrity sha512-jZdnKe3ip7FQOdjxks9XPN0pjUKZYq48OggNMd16Sk+8VXx6JOvXmlElxROCgp7tiUsTsze3jd78s/9AFJP2mA== + dependencies: + array-includes "^3.0.3" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.1.0" + object.entries "^1.1.0" + object.fromentries "^2.0.0" + object.values "^1.1.0" + prop-types "^15.7.2" + resolve "^1.10.1" eslint-restricted-globals@^0.2.0: version "0.2.0" @@ -3230,13 +3259,13 @@ eslint-visitor-keys@^1.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== -eslint@^5.15.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" - integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== +eslint@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.0.1.tgz#4a32181d72cb999d6f54151df7d337131f81cda7" + integrity sha512-DyQRaMmORQ+JsWShYsSg4OPTjY56u1nCjAmICrE8vLWqyLKxhFXOthwMj1SA8xwfrv0CofLNVnqbfyhwCkaO0w== dependencies: "@babel/code-frame" "^7.0.0" - ajv "^6.9.1" + ajv "^6.10.0" chalk "^2.1.0" cross-spawn "^6.0.5" debug "^4.0.1" @@ -3244,18 +3273,19 @@ eslint@^5.15.0: eslint-scope "^4.0.3" eslint-utils "^1.3.1" eslint-visitor-keys "^1.0.0" - espree "^5.0.1" + espree "^6.0.0" esquery "^1.0.1" esutils "^2.0.2" file-entry-cache "^5.0.1" functional-red-black-tree "^1.0.1" - glob "^7.1.2" + glob-parent "^3.1.0" globals "^11.7.0" ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" inquirer "^6.2.2" - js-yaml "^3.13.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" lodash "^4.17.11" @@ -3263,7 +3293,6 @@ eslint@^5.15.0: mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" - path-is-inside "^1.0.2" progress "^2.0.0" regexpp "^2.0.1" semver "^5.5.1" @@ -3272,10 +3301,10 @@ eslint@^5.15.0: table "^5.2.3" text-table "^0.2.0" -espree@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" - integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== +espree@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.0.0.tgz#716fc1f5a245ef5b9a7fdb1d7b0d3f02322e75f6" + integrity sha512-lJvCS6YbCn3ImT3yKkPe0+tJ+mH6ljhGNjHQH9mRtiO6gjhVAOhVXW1yjnwqGwTkK3bGbye+hb00nFNmu0l/1Q== dependencies: acorn "^6.0.7" acorn-jsx "^5.0.0" @@ -4681,7 +4710,7 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.13.0, js-yaml@^3.13.1: +js-yaml@^3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -4780,6 +4809,14 @@ jsx-ast-utils@^2.0.1, jsx-ast-utils@^2.1.0: dependencies: array-includes "^3.0.3" +jsx-ast-utils@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb" + integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ== + dependencies: + array-includes "^3.0.3" + object.assign "^4.1.0" + junk@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/junk/-/junk-1.0.3.tgz#87be63488649cbdca6f53ab39bec9ccd2347f592" @@ -5916,7 +5953,7 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.entries@^1.0.4: +object.entries@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== @@ -5951,6 +5988,16 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" +object.values@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" + integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.12.0" + function-bind "^1.1.1" + has "^1.0.3" + on-finished@^2.3.0, on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -6217,7 +6264,7 @@ path-is-absolute@1.0.1, path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.1, path-is-inside@^1.0.2: +path-is-inside@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= From e97123fea7b2661998aa981337bf60924aad4ec4 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 4 Jul 2019 20:42:05 +0000 Subject: [PATCH 22/64] chore: clean up old travis-related files --- deploy_rsa.enc | Bin 3248 -> 0 bytes deploy_rsa.pub | 1 - scripts/deploy.sh | 35 ----------------------------------- 3 files changed, 36 deletions(-) delete mode 100644 deploy_rsa.enc delete mode 100644 deploy_rsa.pub delete mode 100644 scripts/deploy.sh diff --git a/deploy_rsa.enc b/deploy_rsa.enc deleted file mode 100644 index 5a0b116d1d763d7a86555a462ba6ab0b5084dec4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3248 zcmV;h3{Ugr3i4Ngi{~fk78KuqUKi~NjAQ7UI&W<0s{?Gw96m(UOjefeEZy)N32+yX zn~}ZHfitho^elZcxBh4GGb+oU*+*&sELS)$Rg0KHjY+=#Q2VsMJ=VY;NVrM=yf-F| zlPkixtapfpLDYypC^-cM*nP7UzejFc?&77&pI)jBTu(fKOti6YdPqKY zv~_lh|LT-v|HbT_em?0AI7>%A@Q-6Sgx|IV=EBui@5+Gw$x`vRE^j|?fu{0fG{(d1 zr-ex&8SQf*Uc(b@%!RoLx+UqCWijh?gm!W-$C?$T`i?VszA~84lmhz(%1k+Yqya?F zUn93%81)CrvD~hBs`;~#7C=@JdbReWKcpz;Ubr7v-ck%mflO2~dJ&7S)acpWxir8N z#}LfC+D;OHBrbSEL@oSoPA=^sU! zq>cCUkkz?niT~kGry{_cjRhUZZ4Rj>I!s(mh*qv31LmZD2QAvHu#eX#Ucs@Z@rKf$ zpbD~!vZO7U4c-a{-r!o6K_ThnB^iUEOMPpQT9g~5+up%ecp8D7D4LB?%)#Qq6ih7X zz1wqlnGZC4WFBGIXBb~hL?9C|-F<`Krjh7_D$3M3uL3arG|pt{!@uuhH7}rYm9{uFfBR%^b9A!E`2T_it;~3=@sfqVaO3 zgavEU0n*E|PO|r^Y)US1BrYETm}JAj%y#a6z~~AUiD*A5Jla|U;5q~w1G5R@b9T8H z^8o`#wbK(OTm(?pUl6e=%Euhrz?Bp8c6%-FJ={kgX$*2dv<1lt=#QhS+b`bclT`|) z3D>W~zv75ldyH9WLSO`Ig2S3!{!+v#&q@F_A}D7eJt^7 zjr_%8tf%7?N;UILMWIZr_2h0SPdbFuCk-M01NpC%%7AQcFSu@TK=qSghT93_mf_ns zBu6cTr6l^HZfp4@%SoSab>;LfUBPNehOaSJC)*sJ`XD_<+c&hKL!|13u z?Wy0HVVuf=Cw6g=3COj32tv7*6t=QECXOo5yIg4)+ub&CY8`?C=o^pR~?d zQ!U$|?(Ab&i@km1RU(yra-QZ$6$BQrtxgGzmI!h}g|pd%pjR$oQNH9fYS*Pj^=j7b z^Vsg>hBv{B+RaY&n(Fp(&;zB31pIf0EU?=A_%Tf!k*KrKrl-g>K1R-0XE^Q|GVJQI z9B!MnMta{a@~bM7QYrIUHgLrS{4ZiGR-ZDogUeEiH|Rk5!)=O-qfh*?BJ{AsJyYxU z#}}6iDlvqaGD(H#(DQv`?}{K0RRta8@}Sw4a`5T+U!P4K2%`*5E?chb+6*K7T#_5^ zp(#&&5V3eVNjGDzEUK`QF8jh}yKsUvo*?F{jfMiS>8l8jyg{OXeee>lwr{)MnyKs* zicF+N9gqmI`4;-Fn*CA%Gg*s{2~WX}&Hq zMzmfkN})CJlSAre268l7!5YJky7p=oWmB`mcX{4rar#E1=#7JPm_7^G7MWKVcLfX5 z3Dn;&dyFssj|34#=LW6(>RF@f>rm`88hX>9iJA-EZRut=UW+kBN&K+lP03BfwQ}g_ z7`iBUJu(nEj_&Xae`n$PHxOw-P?HVZSH60gdpx#ep84ANB@}DCN%4AeWj6}zg>5(_ zp0;I=Bn4fv6%*C->NPJShxrKCZ`}#4Qw{5%iw%3dba1X`r`}}8 zdHxYfL8t#V=uLULUlEvg{H+AnNUs?Tj>4|8)4pmLB`N&FO1QBa;P{7OVl&6ba5?{n zM;sx_DF9rx#H`*0t3M$mR|`eU({kUyXQdD$3GyZG!vhe0A}hvZ?}d7Q_1yYZsBQ(G z!U%{OM^aV1YHwM9_HeLV_8nIGTTH#lz&(7l#kwa%;>4jV8+tY^zZ)-vQKXivFZ)h;YcDfnR9Q-^(s=Wd$vfQODE{rrj? zhLw;-IQS!Z1THZB^_)L*e_Zz1D!j$Lp^MhXe5fPqcuiZCzD7>7aa#Fpq7t%1vujYx zwVpN6(;X~rcb{{Z_%N{_b3NWa1&Bc%Bl9;8ny%pN(_{9yj@ZIz5l?&B`Ylve?91?E z->c!%8tab#3EJ|>HHCtUGLD1)IV$y{=;WTvt$6Q0|9(rrjrAZK0u(pdRy{DSTU*$W zS4gI{VV=WF%2W%l$TdkolcpE4C7q>)&@-~*bO-v4TbkRBPqr9XI4iJ5+D`g!@=+vh^n0k=R0fL6l4qsDJ9nYUrZWj@oUs7 z7lVlN48^lZs-c|oQ%8-lIIC45p&S>%rPERCthJ4Fi$ApaTicdvq$vkH=Y=ThVU=mL z2YRc#VAm)f+24fDy)Cl0`vOzip%yir8}t6fEn1iSK*LW+ybG*sMl3R z$y!3vT4-97d{zt?3iHZVjv00EaHx(#)Xa?SRZe^8UTCCGPF`j|&nSNq@eK~V@ID8= z8+Ciu%MZueYAOPS`&|qxg;Y7234=qZAJV`J#UF<5344mSKWvzyQ)qC5LkBfeWS~*x zB`om--5G*;!!;myo{Q8asfg8r&gwJLD-pOVyZ4Yv)Dr zzwp?d39NtBU$E=jp>HLpeAuVqucS%B?JY2nk6*h2Dzr6xK`3v`+c0DGimzYSa+78s z7j%Y;RVM?+;t&JOO_}-r4KIMq1X@_tsAbLC0PZDY0xdIC)qO0-$_pu#jy~xy6x$#J*?~jWxJ6D9A3-P!33-#;Zsgh}^IEz9eBpca`XN)vCUW<{eg73B9g2?Ws63 z%Rbl1T(Xxi=Lw_PVLBAF&n$Pv#un@<=eQhcL diff --git a/deploy_rsa.pub b/deploy_rsa.pub deleted file mode 100644 index ba208088c..000000000 --- a/deploy_rsa.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDiP+b8gLZkB9Wc64sEsulGw7xWA1fCeqYy3Rx0w6y5THIsWTtDryFBFMv4krbe8hVb3zKFgZ2ZfueYYuOVeV9zfB2GnWkC14LL0qsTbgIQ19V2jBOgzfDrPiJiyGA1lohjsCMdQuL33hXRJhFfmL59ketO32s1h4oWr53M6jjmC+K+r1r5LA6QR8K05I2xKgxtoSGx76ANmQ62P6XH9lry+TsOQrlqKoQEmSfiRf68mZlZP0ZaFCBxcpvcmM3wNpdysToZJho/h6kBoQpkt/kg6+uLI5bi7KaZ31Bvb8STEYHcOADD91Z5xnVURYUpAn/UphrLQMF0VMjxDPiHVksxE7hetaL3wNMvzw8XZBhENXRSt0IUTTBZIqJcb6Jf6A4W4fCXsUqoOtOEei9894LmyrlN/+ORtlC0PD6T4e6zJ9P9jIDuhI1S5HVdi2gOOTDD8ToezVRknmV2fpvG4MRDLV92HA5lzSV0zIF4eHRSrXFTeRs4u1QSZx2A5pX2RtJuSSKIKiBHtkD/cYyiyqe1mngVntXwPX49ZPW/y1irt8U0UJh22Cc9qeDvvKnk1/NY1cS2TTIJBwav10hvTXdIai17AidWZvLshRod1KnvvJmiAkyKDbrbEzKpnCrhhUi619tA2rKI5WBhpW6kdXvTiAxfbOEWejBPeJ+I10pAoQ== build@travis-ci.org diff --git a/scripts/deploy.sh b/scripts/deploy.sh deleted file mode 100644 index eb8261732..000000000 --- a/scripts/deploy.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -DEPLOY_DIR="trash" -SERVICE_NAME="" - -case $TRAVIS_BRANCH in -develop) - DEPLOY_DIR="dev.fuelrats.com" - SERVICE_NAME="fr-web_dev" - ;; - - -beta) - DEPLOY_DIR="beta.fuelrats.com" - SERVICE_NAME="fr-web_beta" - ;; - - -master) - DEPLOY_DIR="fuelrats.com" - SERVICE_NAME="fr-web" - ;; - - -*) - echo "Current branch is not configured for auto-deploy. skipping deployment..." - exit 0 - ;; -esac - -# Move built project files to server -rsync -r --delete-after --quiet $TRAVIS_BUILD_DIR/ travis-deployment@emmental.fuelrats.com:/var/www/$DEPLOY_DIR/ - -# restart service -ssh -t travis-deployment@emmental.fuelrats.com "sudo systemctl restart $SERVICE_NAME.service" From deb515f9cfa413b4604180e3ea029e2213a4fa2a Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 5 Jul 2019 01:13:56 +0000 Subject: [PATCH 23/64] chore: reconfigure next.js config to accept new teamcity environment. --- client/components/Header.js | 15 +++++++-------- client/pages/version.js | 18 ++++++++---------- client/store/reducers/error.js | 4 ++-- next.config.js | 24 +++++++++++------------- 4 files changed, 28 insertions(+), 33 deletions(-) diff --git a/client/components/Header.js b/client/components/Header.js index 377182840..838ec2f8d 100644 --- a/client/components/Header.js +++ b/client/components/Header.js @@ -1,4 +1,4 @@ -/* globals $IS_DEVELOPMENT:false, $IS_STAGING:false, $BUILD_COMMIT:false, $BUILD_COMMIT_RANGE:false */ +/* globals $IS_DEVELOPMENT:false, $IS_STAGING:false, $BUILD_COMMIT:false, $BUILD_COMMIT_SHORT:false */ // Module imports import React from 'react' @@ -20,10 +20,9 @@ import BrandSvg from './svg/BrandSvg' // Component constants -const isDevOrStaging = $IS_DEVELOPMENT || $IS_STAGING -const buildCommit = $BUILD_COMMIT -const buildCommitRange = $BUILD_COMMIT_RANGE - +const IS_DEV_OR_STAGING = $IS_DEVELOPMENT || $IS_STAGING +const BUILD_COMMIT = $BUILD_COMMIT +const BUILD_COMMIT_SHORT = $BUILD_COMMIT_SHORT @@ -86,15 +85,15 @@ const Header = (props) => { - {isDevOrStaging && ( + {IS_DEV_OR_STAGING && (
  • - {buildCommit} + {BUILD_COMMIT_SHORT}
  • )} diff --git a/client/pages/version.js b/client/pages/version.js index 3ec20931f..7b1c6eecd 100644 --- a/client/pages/version.js +++ b/client/pages/version.js @@ -1,9 +1,8 @@ /* globals $BUILD_BRANCH:false - $BUILD_COMMIT_HASH:false - $BUILD_COMMIT_RANGE:false + $BUILD_COMMIT:false $BUILD_DATE:false - $BUILD_ID:false + $BUILD_URL:false $NODE_VERSION:false $NEXT_BUILD_ID:false */ @@ -24,10 +23,9 @@ import PageWrapper from '../components/PageWrapper' // Component Constants const BUILD_BRANCH = $BUILD_BRANCH -const BUILD_COMMIT_HASH = $BUILD_COMMIT_HASH -const BUILD_COMMIT_RANGE = $BUILD_COMMIT_RANGE +const BUILD_COMMIT = $BUILD_COMMIT const BUILD_DATE = $BUILD_DATE -const BUILD_ID = $BUILD_ID +const BUILD_URL = $BUILD_URL const NODE_VERSION = $NODE_VERSION const NEXT_BUILD_ID = $NEXT_BUILD_ID @@ -49,7 +47,7 @@ const Version = () => ( {'Built On: '} - + @@ -61,8 +59,8 @@ const Version = () => ( {'Commit: '} - - {BUILD_COMMIT_HASH || 'null'} + + {BUILD_COMMIT || 'null'} @@ -87,7 +85,7 @@ Version.getInitialProps = ({ query, res }) => { version: `v${version}`, buildDate: BUILD_DATE, buildBranch: BUILD_BRANCH || 'develop', - buildCommit: BUILD_COMMIT_HASH || null, + buildCommit: BUILD_COMMIT || null, nodeVersion: NODE_VERSION, }, }, diff --git a/client/store/reducers/error.js b/client/store/reducers/error.js index 9d651f7bc..a7a88861e 100644 --- a/client/store/reducers/error.js +++ b/client/store/reducers/error.js @@ -8,7 +8,7 @@ import actionTypes from '../actionTypes' // Component constants -const isDev = $IS_DEVELOPMENT || $IS_STAGING +const IS_DEV_OR_STAGING = $IS_DEVELOPMENT || $IS_STAGING const ignoredTypes = [ // This pops up on every 404 page due to how our fallback system works. @@ -25,7 +25,7 @@ export default function errorReducer (state = initialState.error, action) { console.error('ACTION ERR:', action) } - if (isDev) { + if (IS_DEV_OR_STAGING) { return { ...state, errors: [ diff --git a/next.config.js b/next.config.js index af649a420..a00038119 100644 --- a/next.config.js +++ b/next.config.js @@ -15,15 +15,14 @@ const withWorkers = require('@zeit/next-workers') // Component constants const { ANALYZE, + BUILD_VCS_BRANCH, + BUILD_VCS_NUMBER, FRDC_API_URL, FRDC_PUBLIC_URL, FRDC_STRIPE_API_PK, PORT, - TRAVIS, - TRAVIS_BRANCH, - TRAVIS_BUILD_ID, - TRAVIS_COMMIT, - TRAVIS_COMMIT_RANGE, + TEAMCITY, + TEAMCITY_BUILD_URL, } = process.env const DEFAULT_PORT = 3000 @@ -36,8 +35,8 @@ const DEV_BUILD_ID_LENGTH = 16 module.exports = withWorkers(withSass({ generateBuildId: () => ( - TRAVIS - ? TRAVIS_COMMIT.toLowerCase() + TEAMCITY + ? BUILD_VCS_NUMBER.toLowerCase() : `DEV_${crypto.randomBytes(DEV_BUILD_ID_LENGTH).toString('hex').toLowerCase()}` ), publicRuntimeConfig: { @@ -68,13 +67,12 @@ module.exports = withWorkers(withSass({ config.plugins.push(new webpack.DefinePlugin({ $IS_DEVELOPMENT: JSON.stringify(data.dev), - $IS_STAGING: JSON.stringify(['develop', 'beta'].includes(TRAVIS_BRANCH)), - $BUILD_BRANCH: JSON.stringify(TRAVIS_BRANCH || 'develop'), - $BUILD_COMMIT: JSON.stringify((TRAVIS_COMMIT && TRAVIS_COMMIT.slice(0, COMMIT_HASH_LENGTH)) || TRAVIS_BRANCH || 'develop'), - $BUILD_COMMIT_HASH: JSON.stringify(TRAVIS_COMMIT), - $BUILD_COMMIT_RANGE: JSON.stringify(TRAVIS_COMMIT_RANGE), + $IS_STAGING: JSON.stringify(['develop', 'beta'].includes(BUILD_VCS_BRANCH)), + $BUILD_BRANCH: JSON.stringify(BUILD_VCS_BRANCH || 'develop'), + $BUILD_COMMIT: JSON.stringify(BUILD_VCS_NUMBER), + $BUILD_COMMIT_SHORT: JSON.stringify((BUILD_VCS_NUMBER && BUILD_VCS_NUMBER.slice(0, COMMIT_HASH_LENGTH)) || BUILD_VCS_BRANCH || 'develop'), $BUILD_DATE: JSON.stringify((new Date()).toISOString()), - $BUILD_ID: JSON.stringify(TRAVIS_BUILD_ID), + $BUILD_URL: JSON.stringify(TEAMCITY_BUILD_URL), $NEXT_BUILD_ID: JSON.stringify(data.buildId), $NODE_VERSION: JSON.stringify(process.version), })) From 64010b6027faecf90ad9d799ad20272da533828f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 5 Jul 2019 09:58:58 +0000 Subject: [PATCH 24/64] chore: move linting to dev dependencies now that we can --- package.json | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 34172e043..8397b11ec 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "license": "BSD-3-Clause", "scripts": { "add-contributor": "all-contributors add", - "analyze": "cross-env ANALYZE=1 next build", "build": "next build client", "dev": "node --inspect server/server.js", "eslint": "eslint . --cache", @@ -14,7 +13,20 @@ "postinstall": "npm rebuild node-sass" }, "devDependencies": { - "all-contributors-cli": "^6.7.0" + "@fuelrats/eslint-config-react": "0.11.0", + "@fuelrats/stylelint-config": "^0.4.0", + "all-contributors-cli": "^6.7.0", + "babel-eslint": "^10.0.2", + "eslint": "^5.15.0", + "eslint-loader": "^2.1.2", + "eslint-plugin-babel": "^5.3.0", + "eslint-plugin-import": "^2.17.3", + "eslint-plugin-jsx-a11y": "^6.2.1", + "eslint-plugin-react": "^7.12.4", + "eslint-plugin-react-hooks": "^1.4.0", + "stylelint": "^10.1.0", + "stylelint-order": "^3.0.0", + "stylelint-scss": "^3.8.0" }, "dependencies": { "@babel/core": "7.4.5", @@ -27,25 +39,14 @@ "@fortawesome/free-brands-svg-icons": "^5.9.0", "@fortawesome/free-solid-svg-icons": "^5.9.0", "@fortawesome/react-fontawesome": "^0.1.4", - "@fuelrats/eslint-config-react": "0.11.0", - "@fuelrats/stylelint-config": "^0.4.0", "@zeit/next-sass": "^1.0.1", "@zeit/next-workers": "1.0.1-canary.1", "autoprefixer": "^9.6.0", "axios": "^0.19.0", - "babel-eslint": "^10.0.2", "babel-loader": "8.0.6", "content-security-policy-builder": "^2.1.0", "cross-env": "^5.2.0", "dotenv": "^8.0.0", - "eslint": "^5.15.0", - "eslint-config-airbnb": "^17.1.0", - "eslint-loader": "^2.1.2", - "eslint-plugin-babel": "^5.3.0", - "eslint-plugin-import": "^2.17.3", - "eslint-plugin-jsx-a11y": "^6.2.1", - "eslint-plugin-react": "^7.12.4", - "eslint-plugin-react-hooks": "^1.4.0", "glob": "^7.1.3", "hoist-non-react-statics": "^3.3.0", "js-cookie": "^2.2.0", @@ -67,7 +68,6 @@ "node-sass": "4.12.0", "nprogress": "^0.2.0", "postcss-easy-import": "^3.0.0", - "postcss-reporter": "^6.0.1", "prop-types": "^15.7.2", "react": "^16.8.2", "react-dom": "^16.8.2", @@ -78,17 +78,11 @@ "redux": "^4.0.1", "redux-devtools-extension": "^2.13.8", "redux-thunk": "^2.3.0", - "request": "^2.88.0", "reselect": "^4.0.0", "stripe": "^7.4.0", - "stylelint": "^10.1.0", - "stylelint-order": "^3.0.0", - "stylelint-scss": "^3.8.0", "uuid": "^3.3.2", "webpack": "4.35.0", - "webpack-bundle-analyzer": "^3.1.0", "worker-loader": "^2.0.0", "zxcvbn": "^4.4.2" - }, - "optionalDependencies": {} + } } From 957922ddf14468f98c0bdfc2e892c8b47d4bac7a Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 5 Jul 2019 09:59:19 +0000 Subject: [PATCH 25/64] refactor(next-config): remove webpack analyzer since we never use it --- next.config.js | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/next.config.js b/next.config.js index a00038119..d34617219 100644 --- a/next.config.js +++ b/next.config.js @@ -1,7 +1,6 @@ /* eslint-env node */ // Module imports -const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer') const glob = require('glob') const path = require('path') const crypto = require('crypto') @@ -14,7 +13,6 @@ const withWorkers = require('@zeit/next-workers') // Component constants const { - ANALYZE, BUILD_VCS_BRANCH, BUILD_VCS_NUMBER, FRDC_API_URL, @@ -57,14 +55,6 @@ module.exports = withWorkers(withSass({ }, }, webpack: (config, data) => { - if (ANALYZE) { - config.plugins.push(new BundleAnalyzerPlugin({ - analyzerMode: 'server', - analyzerPort: 8888, - openAnalyzer: true, - })) - } - config.plugins.push(new webpack.DefinePlugin({ $IS_DEVELOPMENT: JSON.stringify(data.dev), $IS_STAGING: JSON.stringify(['develop', 'beta'].includes(BUILD_VCS_BRANCH)), From e9b0c7dae4495a338c67977126931558517b7e4d Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 5 Jul 2019 09:59:37 +0000 Subject: [PATCH 26/64] chore: update yarn versions --- yarn.lock | 308 +++--------------------------------------------------- 1 file changed, 17 insertions(+), 291 deletions(-) diff --git a/yarn.lock b/yarn.lock index c0a1f86d0..54cdc6c52 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1272,7 +1272,7 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -accepts@^1.3.5, accepts@~1.3.7: +accepts@^1.3.5: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== @@ -1290,11 +1290,6 @@ acorn-jsx@^5.0.0: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== -acorn-walk@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" - integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== - acorn@^6.0.5, acorn@^6.0.7: version "6.1.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" @@ -1493,11 +1488,6 @@ array-find@^1.0.0: resolved "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" integrity sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg= -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - array-includes@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" @@ -1597,11 +1587,6 @@ async-foreach@^0.1.3: resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= -async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== - async-sema@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/async-sema/-/async-sema-2.2.0.tgz#b0de2bb11a2560d369aca975d24650cc05304979" @@ -1809,16 +1794,6 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -bfj@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.1.tgz#05a3b7784fbd72cfa3c22e56002ef99336516c48" - integrity sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ== - dependencies: - bluebird "^3.5.1" - check-types "^7.3.0" - hoopy "^0.1.2" - tryer "^1.0.0" - big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" @@ -1841,7 +1816,7 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.5: +bluebird@^3.5.0, bluebird@^3.5.5: version "3.5.5" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== @@ -1851,22 +1826,6 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== - dependencies: - bytes "3.1.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2174,11 +2133,6 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -check-types@^7.3.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4" - integrity sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg== - chokidar@^2.0.2: version "2.1.6" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" @@ -2344,7 +2298,7 @@ commander@2.9.0: dependencies: graceful-readlink ">= 1.0.0" -commander@^2.11.0, commander@^2.18.0, commander@^2.19.0: +commander@^2.11.0, commander@^2.19.0: version "2.20.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== @@ -2415,7 +2369,7 @@ contains-path@^0.1.0: resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= -content-disposition@0.5.3, content-disposition@~0.5.2: +content-disposition@~0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== @@ -2427,7 +2381,7 @@ content-security-policy-builder@^2.1.0: resolved "https://registry.yarnpkg.com/content-security-policy-builder/-/content-security-policy-builder-2.1.0.tgz#0a2364d769a3d7014eec79ff7699804deb8cfcbb" integrity sha512-/MtLWhJVvJNkA9dVLAp6fg9LxD2gfI6R2Fi1hPmfjYXSahJJzcfvoeDOxSyp4NvxMuwWv3WMssE9o31DoULHrQ== -content-type@^1.0.4, content-type@~1.0.4: +content-type@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== @@ -2439,16 +2393,6 @@ convert-source-map@1.6.0, convert-source-map@^1.1.0: dependencies: safe-buffer "~5.1.1" -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - cookie@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" @@ -2711,7 +2655,7 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -define-properties@^1.1.2, define-properties@^1.1.3: +define-properties@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -2886,11 +2830,6 @@ dotenv@^8.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.0.0.tgz#ed310c165b4e8a97bb745b0a9d99c31bda566440" integrity sha512-30xVGqjLjiUOArT4+M5q9sYdvuR4riM6yK9wMcas9Vbp6zZa+ocC9dp6QoftuhTPhFAiLK/0C5Ni2nou/Bk8lg== -duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= - duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" @@ -2914,11 +2853,6 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -ejs@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.2.tgz#3a32c63d1cd16d11266cd4703b14fec4e74ab4f6" - integrity sha512-PcW2a0tyTuPHz3tWyYqtK6r1fZ3gp+3Sop8Ph+ZYN81Ob5rwmbHEzaqs10N3BEsaGTkh/ooniXK+WwszGlc2+Q== - electron-to-chromium@^1.3.164: version "1.3.169" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.169.tgz#f9722d3f6a18a19c1fc1216bf9e1654daafab539" @@ -2957,7 +2891,7 @@ emojis-list@^2.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= -encodeurl@~1.0.1, encodeurl@~1.0.2: +encodeurl@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= @@ -3011,7 +2945,7 @@ error-inject@^1.0.0: resolved "https://registry.yarnpkg.com/error-inject/-/error-inject-1.0.0.tgz#e2b3d91b54aed672f309d950d154850fa11d4f37" integrity sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc= -es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0: +es-abstract@^1.11.0, es-abstract@^1.5.1, es-abstract@^1.7.0: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== @@ -3042,24 +2976,6 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -eslint-config-airbnb-base@^13.1.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz#b5a1b480b80dfad16433d6c4ad84e6605052c05c" - integrity sha512-XWwQtf3U3zIoKO1BbHh6aUhJZQweOwSt4c2JrPDg9FP3Ltv3+YfEv7jIDB8275tVnO/qOHbfuYg3kzw6Je7uWw== - dependencies: - eslint-restricted-globals "^0.1.1" - object.assign "^4.1.0" - object.entries "^1.0.4" - -eslint-config-airbnb@^17.1.0: - version "17.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-17.1.0.tgz#3964ed4bc198240315ff52030bf8636f42bc4732" - integrity sha512-R9jw28hFfEQnpPau01NO5K/JWMGLi6aymiF6RsnMURjTk+MqZKllCqGK/0tOvHkPi/NWSSOU2Ced/GX++YxLnw== - dependencies: - eslint-config-airbnb-base "^13.1.0" - object.assign "^4.1.0" - object.entries "^1.0.4" - eslint-config-kentcdodds@^14.3.2: version "14.3.3" resolved "https://registry.yarnpkg.com/eslint-config-kentcdodds/-/eslint-config-kentcdodds-14.3.3.tgz#bfdccc455266be359700ecb638c328f894af8e5c" @@ -3189,11 +3105,6 @@ eslint-plugin-react@^7.12.4, eslint-plugin-react@^7.13.0: prop-types "^15.7.2" resolve "^1.10.1" -eslint-restricted-globals@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" - integrity sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc= - eslint-restricted-globals@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.2.0.tgz#7729f326af97bec7a7e56d9f7d9c064b79285c50" @@ -3366,42 +3277,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -express@^4.16.3: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" - content-type "~1.0.4" - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" - range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -3511,11 +3386,6 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" -filesize@^3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== - fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -3533,19 +3403,6 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - find-cache-dir@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" @@ -3680,11 +3537,6 @@ formidable@^1.1.1: resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.1.tgz#70fb7ca0290ee6ff961090415f4b3df3d2082659" integrity sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg== -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -3934,14 +3786,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.4 resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= -gzip-size@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -4047,11 +3891,6 @@ hoist-non-react-statics@^3.3.0: dependencies: react-is "^16.7.0" -hoopy@^0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - hosted-git-info@^2.1.4: version "2.7.1" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" @@ -4341,11 +4180,6 @@ invert-kv@^2.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== -ipaddr.js@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" - integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== - is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -5301,17 +5135,12 @@ meow@^5.0.0: trim-newlines "^2.0.0" yargs-parser "^10.0.0" -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - merge2@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== -methods@^1.0.1, methods@~1.1.2: +methods@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= @@ -5368,11 +5197,6 @@ mime@1.4.1: resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - mime@^2.3.1: version "2.4.4" resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" @@ -5513,11 +5337,6 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -5916,16 +5735,6 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.entries@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" - integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.12.0" - function-bind "^1.1.1" - has "^1.0.3" - object.fromentries@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" @@ -5977,11 +5786,6 @@ only@~0.0.2: resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= -opener@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" - integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== - optionator@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" @@ -6170,7 +5974,7 @@ parse5@^5.1.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== -parseurl@^1.3.2, parseurl@~1.3.3: +parseurl@^1.3.2: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== @@ -6240,11 +6044,6 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - path-to-regexp@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.1.0.tgz#7e30f9f5b134bd6a28ffc2e3ef1e47075ac5259b" @@ -6633,14 +6432,6 @@ prop-types@^15.5.10, prop-types@^15.6.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" -proxy-addr@~2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" - integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.0" - prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" @@ -6708,7 +6499,7 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -qs@6.7.0, qs@^6.4.0, qs@^6.6.0: +qs@^6.4.0, qs@^6.6.0: version "6.7.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== @@ -6748,12 +6539,12 @@ randomfill@^1.0.3: randombytes "^2.0.5" safe-buffer "^5.1.0" -range-parser@^1.0.3, range-parser@~1.2.0, range-parser@~1.2.1: +range-parser@^1.0.3, range-parser@~1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.0, raw-body@^2.2.0: +raw-body@^2.2.0: version "2.4.0" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== @@ -7423,25 +7214,6 @@ send@0.16.1: range-parser "~1.2.0" statuses "~1.3.1" -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - serialize-javascript@1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879" @@ -7452,16 +7224,6 @@ serialize-javascript@^1.7.0: resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -7730,7 +7492,7 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" -"statuses@>= 1.2.1 < 2", "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.0.0, statuses@^1.5.0, statuses@~1.5.0: +"statuses@>= 1.2.1 < 2", "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.0.0, statuses@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= @@ -8271,11 +8033,6 @@ trough@^1.0.0: dependencies: glob "^7.1.2" -tryer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" @@ -8322,7 +8079,7 @@ type-fest@^0.5.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2" integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw== -type-is@^1.6.14, type-is@^1.6.16, type-is@~1.6.17, type-is@~1.6.18: +type-is@^1.6.14, type-is@^1.6.16: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== @@ -8452,7 +8209,7 @@ unist-util-visit@^1.1.0: dependencies: unist-util-visit-parents "^2.0.0" -unpipe@1.0.0, unpipe@~1.0.0: +unpipe@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= @@ -8532,11 +8289,6 @@ util@^0.11.0: dependencies: inherits "2.0.3" -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - uuid@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" @@ -8550,7 +8302,7 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -vary@^1.1.2, vary@~1.1.2: +vary@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= @@ -8600,25 +8352,6 @@ watchpack@^1.5.0: graceful-fs "^4.1.2" neo-async "^2.5.0" -webpack-bundle-analyzer@^3.1.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.3.2.tgz#3da733a900f515914e729fcebcd4c40dde71fc6f" - integrity sha512-7qvJLPKB4rRWZGjVp5U1KEjwutbDHSKboAl0IfafnrdXMrgC0tOtZbQD6Rw0u4cmpgRN4O02Fc0t8eAT+FgGzA== - dependencies: - acorn "^6.0.7" - acorn-walk "^6.1.1" - bfj "^6.1.1" - chalk "^2.4.1" - commander "^2.18.0" - ejs "^2.6.1" - express "^4.16.3" - filesize "^3.6.1" - gzip-size "^5.0.0" - lodash "^4.17.10" - mkdirp "^0.5.1" - opener "^1.5.1" - ws "^6.0.0" - webpack-dev-middleware@3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.6.0.tgz#71f1b04e52ff8d442757af2be3a658237d53a3e5" @@ -8803,13 +8536,6 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" -ws@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== - dependencies: - async-limiter "~1.0.0" - x-is-string@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" From d015f7bf5a68615c33edcb987e460d2c9117e19c Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 6 Jul 2019 06:16:18 +0000 Subject: [PATCH 27/64] chore: add updated deploy script --- scripts/deploy.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 scripts/deploy.sh diff --git a/scripts/deploy.sh b/scripts/deploy.sh new file mode 100644 index 000000000..83e2fa58a --- /dev/null +++ b/scripts/deploy.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +# Variables + +DEPLOY_DIR="trash" +SERVICE_NAME="" + +# Find deploy target and service name +case $1 in +develop) + DEPLOY_DIR="dev.fuelrats.com" + SERVICE_NAME="fr-web_dev" + ;; + + +beta) + DEPLOY_DIR="beta.fuelrats.com" + SERVICE_NAME="fr-web_beta" + ;; + + +master) + DEPLOY_DIR="fuelrats.com" + SERVICE_NAME="fr-web" + ;; + + +*) + echo "Current branch is not configured for auto-deploy. skipping deployment..." + exit 0 + ;; +esac + +# Move built project files to server +rsync -r --delete-after ./dist fuelrats@emmental.fuelrats.com:/var/www/$DEPLOY_DIR/ + +# restart service +ssh -t fuelrats@emmental.fuelrats.com "sudo systemctl restart $SERVICE_NAME.service" From 7684f651745f5f0326567b166a5322348c13f217 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 6 Jul 2019 06:26:06 +0000 Subject: [PATCH 28/64] refactor(deploy-script): fail deployment if provided branch is not configured --- scripts/deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 83e2fa58a..5a5b74db3 100644 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -27,7 +27,7 @@ master) *) echo "Current branch is not configured for auto-deploy. skipping deployment..." - exit 0 + exit 1 ;; esac From 2e126bccc132f1b188bc2e57a1659472df3f6487 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 6 Jul 2019 07:29:47 +0000 Subject: [PATCH 29/64] fix(deploy-script): add missing trailing slash so we rsync the contents --- scripts/deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 5a5b74db3..4d1ea7f54 100644 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -32,7 +32,7 @@ master) esac # Move built project files to server -rsync -r --delete-after ./dist fuelrats@emmental.fuelrats.com:/var/www/$DEPLOY_DIR/ +rsync -r --delete-after ./dist/ fuelrats@emmental.fuelrats.com:/var/www/$DEPLOY_DIR/ # restart service ssh -t fuelrats@emmental.fuelrats.com "sudo systemctl restart $SERVICE_NAME.service" From d421d41f84f281723f163fb0ea737dc92165acf7 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 6 Jul 2019 20:25:12 +0000 Subject: [PATCH 30/64] chore: fix styleint version. oops --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2e0913193..19b73a2e3 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ }, "devDependencies": { "@fuelrats/eslint-config-react": "1.0.0", - "@fuelrats/stylelint-config": "^0.5.0", + "@fuelrats/stylelint-config": "^0.4.0", "all-contributors-cli": "^6.7.0", "babel-eslint": "^10.0.2", "eslint": "^6.0.1", diff --git a/yarn.lock b/yarn.lock index e27bf6015..d2c731dd4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -873,10 +873,10 @@ dependencies: eslint-restricted-globals "^0.2.0" -"@fuelrats/stylelint-config@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@fuelrats/stylelint-config/-/stylelint-config-0.5.0.tgz#3df69e007cd22599bdf37586a600d04511a3fcca" - integrity sha512-YnTyANHv1aFX4IRdOxIWzhDyKGvGe27XP0J4S5IIxH8aX1noQCdB3nBGLs+Yq8gZRTTFZhIlPP9/bG60w0CyqA== +"@fuelrats/stylelint-config@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@fuelrats/stylelint-config/-/stylelint-config-0.4.0.tgz#6d4e0c5f452155e18c3e1d6cb59cf76710486e97" + integrity sha512-4JcliEKCjcMMVuaR12Sgzx5r07tsvtq3QwgCiz9+WZ6kyZ35JCF/f8j4/A2l6mHFcCYt6I6FY9hUAIu6Gv3xRQ== "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" From 706a7e6f14aa55effe9360634e303509124915fa Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 7 Jul 2019 07:05:18 +0000 Subject: [PATCH 31/64] chore: finalize lint rules, comply with new rules --- .eslintrc.js | 2 +- client/components/AppLayout.js | 1 + .../components/storefront/StoreControlBar.js | 4 +--- client/pages/admin/rescues/list.js | 4 +--- client/pages/epics/nominate.js | 4 ++-- client/pages/register.js | 4 ++-- package.json | 2 +- server/middlewares/router.js | 2 +- yarn.lock | 18 +++++++++--------- 9 files changed, 19 insertions(+), 22 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index d2d78814b..16c3bdf61 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -4,8 +4,8 @@ module.exports = { }, extends: '@fuelrats/eslint-config-react', rules: { - 'react/prop-types': ['off'], // We're not quite ready to enforce prop-types for all files yet 'jsx-a11y/no-noninteractive-element-interactions': ['off'], // We intend to enable this once we refactor certain key components + 'react/prop-types': ['off'], // We're not quite ready to enforce prop-types for all files yet }, settings: { 'import/ignore': [ diff --git a/client/components/AppLayout.js b/client/components/AppLayout.js index f0424a09c..2a48d4869 100644 --- a/client/components/AppLayout.js +++ b/client/components/AppLayout.js @@ -91,6 +91,7 @@ class AppLayout extends React.Component { if (!userHasPermission(userGroups, Component.ಠ_ಠ_REQUIRED_PERMISSION)) { if (ctx.res) { + /* eslint-disable-next-line require-atomic-updates */// This is fine ctx.res.statusCode = httpStatus.UNAUTHORIZED } else { statusCode = httpStatus.UNAUTHORIZED diff --git a/client/components/storefront/StoreControlBar.js b/client/components/storefront/StoreControlBar.js index 22a2856b3..1a7bf6437 100644 --- a/client/components/storefront/StoreControlBar.js +++ b/client/components/storefront/StoreControlBar.js @@ -44,9 +44,7 @@ class StoreControlBar extends Component { - ) - - } + )} {Boolean(totalItems) && (
    - { - rescues.map(ListRescues.renderListItem) - } + {rescues.map(ListRescues.renderListItem)}
    diff --git a/client/pages/epics/nominate.js b/client/pages/epics/nominate.js index 45bd4a39e..b7808603e 100644 --- a/client/pages/epics/nominate.js +++ b/client/pages/epics/nominate.js @@ -181,7 +181,7 @@ class EpicNominate extends Component { ]} /> - { epicType === 'epicRescue' && ( + {epicType === 'epicRescue' && (
    @@ -196,7 +196,7 @@ class EpicNominate extends Component {
    )} - { epicType === 'epicPlayer' && ( + {epicType === 'epicPlayer' && (
    diff --git a/client/pages/register.js b/client/pages/register.js index c52ccc6ef..67fc825d7 100644 --- a/client/pages/register.js +++ b/client/pages/register.js @@ -339,7 +339,7 @@ class Register extends Component { - { checkedTOS && !acceptTerms && !acceptPrivacy && ( + {checkedTOS && !acceptTerms && !acceptPrivacy && ( getWordpressPageElement(termsPage)} onClose={() => this.setState({ acceptTerms: true })} @@ -347,7 +347,7 @@ class Register extends Component { checkboxLabel="I have read and agree to these Terms of Service" /> )} - { checkedTOS && acceptTerms && !acceptPrivacy && ( + {checkedTOS && acceptTerms && !acceptPrivacy && ( getWordpressPageElement(privacyPage)} onClose={() => { diff --git a/package.json b/package.json index 19b73a2e3..865f577e1 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "postinstall": "npm rebuild node-sass" }, "devDependencies": { - "@fuelrats/eslint-config-react": "1.0.0", + "@fuelrats/eslint-config-react": "1.0.5", "@fuelrats/stylelint-config": "^0.4.0", "all-contributors-cli": "^6.7.0", "babel-eslint": "^10.0.2", diff --git a/server/middlewares/router.js b/server/middlewares/router.js index 6b0cf4bf4..3dcf5631a 100644 --- a/server/middlewares/router.js +++ b/server/middlewares/router.js @@ -98,8 +98,8 @@ module.exports = (nextApp, koaServer) => { const nextRoutesHandler = routes.getRequestHandler(nextApp) router.get('*', async (ctx) => { - await nextRoutesHandler(ctx.req, ctx.res) ctx.respond = false + await nextRoutesHandler(ctx.req, ctx.res) }) diff --git a/yarn.lock b/yarn.lock index d2c731dd4..cd8c0120b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -859,17 +859,17 @@ humps "^2.0.1" prop-types "^15.5.10" -"@fuelrats/eslint-config-react@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@fuelrats/eslint-config-react/-/eslint-config-react-1.0.0.tgz#4061cf667fd038ac4c5431c82bf0b41762f4f08b" - integrity sha512-xvARXVKhZSO/Fg+zfT/7DiOqvZZTN5zmxFrjhBThbdQI2sbS+hFsOKUlnhgL9CGmib+bzXodF731H9u8Ud+3Mw== +"@fuelrats/eslint-config-react@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@fuelrats/eslint-config-react/-/eslint-config-react-1.0.5.tgz#173f43d2f5708e6e2ca33ea6f4047f7ce9a92c14" + integrity sha512-DjiFxliGpAf1lZyMo4zC3ScWxPt8QvS4w1ektlTRPBF5IxFQZddwGX94JTrxa/J/jfoa7XC2lV2ASvdfmfdODw== dependencies: - "@fuelrats/eslint-config" "^1.0.0" + "@fuelrats/eslint-config" "^1.0.1" -"@fuelrats/eslint-config@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@fuelrats/eslint-config/-/eslint-config-1.0.0.tgz#4147557b401d4bc1323ada59a5cfb234b813187c" - integrity sha512-i2voBSh1eX4yu5mMcXVvhq+N7uQNOJx/OyUABWI/5wmZpDTVAUPmmdqATKQ57GFjCDy/BjI254Xc/JDEs8q9vQ== +"@fuelrats/eslint-config@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@fuelrats/eslint-config/-/eslint-config-1.0.1.tgz#61bbfbe746bd933612ef552748b105f4ac398a32" + integrity sha512-zErru4pOUBWueNEfMwtg31TqzC94k0S0+8rZQRHaiyZmCGveyVhUPJzcdYEPTUUEjHtNtwyC1RUCOVhmpTxnzw== dependencies: eslint-restricted-globals "^0.2.0" From e3ee83b5308d94da0467c9c8237f951594a6118c Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 8 Jul 2019 15:27:54 +0000 Subject: [PATCH 32/64] chore: update stylelint config --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index cf91d2838..a975dfed2 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ }, "devDependencies": { "@fuelrats/eslint-config-react": "1.0.5", - "@fuelrats/stylelint-config": "^0.5.0", + "@fuelrats/stylelint-config": "^0.7.0", "all-contributors-cli": "^6.7.0", "babel-eslint": "^10.0.2", "eslint": "^6.0.1", diff --git a/yarn.lock b/yarn.lock index c656cbdf5..7f37e1412 100644 --- a/yarn.lock +++ b/yarn.lock @@ -873,10 +873,10 @@ dependencies: eslint-restricted-globals "^0.2.0" -"@fuelrats/stylelint-config@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@fuelrats/stylelint-config/-/stylelint-config-0.5.0.tgz#3df69e007cd22599bdf37586a600d04511a3fcca" - integrity sha512-YnTyANHv1aFX4IRdOxIWzhDyKGvGe27XP0J4S5IIxH8aX1noQCdB3nBGLs+Yq8gZRTTFZhIlPP9/bG60w0CyqA== +"@fuelrats/stylelint-config@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@fuelrats/stylelint-config/-/stylelint-config-0.7.0.tgz#085b7586d34dd1cf7e2fa292d07c1fc8695e4de6" + integrity sha512-1BsjLy+r/mzz0k/TYjzalvgUWXomAu20IuSotuuPFU+akn+8UmS5LE8k6glS3hSlrsALLNMlXPUE3WAxb74JIw== "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" From 8d18612e407becb4a03bffd3501a8b15f9d7db18 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 8 Jul 2019 15:28:10 +0000 Subject: [PATCH 33/64] style: comply with stylelint order rules. --- client/scss/components/_profile-header.scss | 35 +++-- client/scss/components/_user-nicknames.scss | 21 ++- .../scss/components/_user-overview-tab.scss | 8 +- client/scss/core/_button.scss | 42 ++++-- client/scss/core/_code.scss | 6 +- client/scss/core/_dialog.scss | 53 ++++--- client/scss/core/_dl.scss | 11 +- client/scss/core/_fieldset.scss | 6 +- client/scss/core/_flex.scss | 4 +- client/scss/core/_form.scss | 25 ++-- client/scss/core/_headings.scss | 2 + client/scss/core/_hr.scss | 6 +- client/scss/core/_img.scss | 2 +- client/scss/core/_input.scss | 33 +++-- client/scss/core/_kbd.scss | 3 +- client/scss/core/_lists.scss | 26 ++-- client/scss/core/_main.scss | 5 +- client/scss/core/_menu.scss | 7 +- client/scss/core/_nav.scss | 3 +- client/scss/core/_ol.scss | 3 +- client/scss/core/_pre.scss | 9 +- client/scss/core/_select.scss | 44 +++--- client/scss/core/_small.scss | 1 + client/scss/core/_table.scss | 13 +- client/scss/core/_ul.scss | 3 +- client/scss/fonts/_open-sans.scss | 1 - client/scss/fonts/_raleway.scss | 1 - client/scss/lib/_kbdfun.scss | 47 +++--- client/scss/lib/_stripe.scss | 6 +- client/scss/pages/_acknowledgements.scss | 38 +++-- client/scss/pages/_i-need-fuel.scss | 9 +- client/scss/pages/_paperwork.scss | 137 ++++++++++++------ client/scss/pages/_rescue-search.scss | 24 ++- client/scss/pages/_store-cart.scss | 9 +- 34 files changed, 416 insertions(+), 227 deletions(-) diff --git a/client/scss/components/_profile-header.scss b/client/scss/components/_profile-header.scss index 573c54766..d0209b662 100644 --- a/client/scss/components/_profile-header.scss +++ b/client/scss/components/_profile-header.scss @@ -1,21 +1,13 @@ .profile-header { display: grid; + grid-template: 'avatar info' 1fr 'avatar badges' min-content / min-content auto; grid-column-gap: 2rem; - margin-bottom: 3rem; - @media screen and (max-width: 768px) { - grid-template-areas: - 'avatar avatar' - 'info info' - 'badges badges'; - justify-content: center; - justify-items: center; - text-align: center; - } + margin-bottom: 3rem; .user-avatar { grid-area: avatar; @@ -24,6 +16,7 @@ .profile-basic-info { grid-area: info; align-self: center; + padding-bottom: 1rem; > div .label { @@ -36,14 +29,28 @@ } .profile-user-badges { - height: min-content; - align-self: end; grid-area: badges; + align-self: end; + + height: min-content; .badge { - font-size: 1.2rem; - background-color: #878787; padding: 0 0.75rem; + + background-color: #878787; + + font-size: 1.2rem; } } + + @media screen and (max-width: 768px) { + grid-template-areas: + 'avatar avatar' + 'info info' + 'badges badges'; + justify-items: center; + justify-content: center; + + text-align: center; + } } diff --git a/client/scss/components/_user-nicknames.scss b/client/scss/components/_user-nicknames.scss index 5735c22eb..f07e2b7d4 100644 --- a/client/scss/components/_user-nicknames.scss +++ b/client/scss/components/_user-nicknames.scss @@ -6,28 +6,33 @@ div.user-nicknames { .add-nickname-float { position: absolute; + top: 0; right: 0; left: 0; - width: calc(100% - 3.5rem); - top: 0; z-index: 1; + + width: calc(100% - 3.5rem); padding: 0.5rem 0 0.5rem 0.5rem; + background: #1A1A1A; form { display: flex; + flex-flow: row nowrap; align-items: center; } fieldset { - padding: 0; flex: 2 0; + margin-right: 0.5rem; + padding: 0; } button[type='submit'] { flex: 0 0 auto; + margin-right: 0.2rem; } } @@ -36,9 +41,10 @@ div.user-nicknames { position: relative; button { - margin-left: 0.5rem; z-index: 2; + margin-left: 0.5rem; + // svg { // width: 1.1em; // } @@ -52,8 +58,10 @@ div.user-nicknames { ul > li { display: flex; - justify-content: space-between; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; &:nth-child(even) { @@ -68,8 +76,9 @@ div.user-nicknames { footer form.row { .validated-form-input { - padding: 0; margin-right: 1rem; + padding: 0; + color: $black; input { diff --git a/client/scss/components/_user-overview-tab.scss b/client/scss/components/_user-overview-tab.scss index 8f95a2e3f..4e3855e6c 100644 --- a/client/scss/components/_user-overview-tab.scss +++ b/client/scss/components/_user-overview-tab.scss @@ -1,12 +1,16 @@ .user-overview-tab { - align-items: flex-start; display: flex; + flex-wrap: wrap; + + align-items: flex-start; + margin: -1rem; .panel { - margin: 1rem; flex-grow: 1; + min-width: 40rem; + margin: 1rem; } } diff --git a/client/scss/core/_button.scss b/client/scss/core/_button.scss index 86288452f..48f347a9b 100644 --- a/client/scss/core/_button.scss +++ b/client/scss/core/_button.scss @@ -4,10 +4,13 @@ background: none; &.inline { + display: inline; + + padding: 0; + color: $red; + text-decoration: underline; - padding: 0; - display: inline; &:hover { color: inherit; @@ -15,8 +18,9 @@ } &:hover { - background-color: none; border: none; + + background-color: none; } } @@ -31,26 +35,33 @@ input[type='button'], --text-color-hover: #{$red}; --background-color: #{$red}; --background-color-hover: transparent; - background-color: var(--background-color); + + display: inline-block; + + flex-shrink: 0; + + margin: 0; + padding: 1rem 2rem; + + border-width: 0.2rem; + border-style: solid; border-color: var(--background-color); border-radius: 0; - border-style: solid; - border-width: 0.2rem; + + outline: none; + background-color: var(--background-color); color: var(--text-color); - cursor: pointer; - display: inline-block; - flex-shrink: 0; + transition: all 0.2s; + font-family: inherit; font-size: inherit; - margin: 0; - outline: none; - overflow: hidden; - padding: 1rem 2rem; text-align: center; text-decoration: none; - transition: all 0.2s; line-height: normal; + overflow: hidden; + cursor: pointer; + &:hover { background-color: var(--background-color-hover); color: var(--text-color-hover); @@ -111,8 +122,9 @@ input[type='button'], --background-color: transparent; --text-color: #{$black}; --text-color-hover: #{$red}; - border: none; padding: 0; + + border: none; } &.green { diff --git a/client/scss/core/_code.scss b/client/scss/core/_code.scss index 877e34aa5..93a186899 100644 --- a/client/scss/core/_code.scss +++ b/client/scss/core/_code.scss @@ -1,5 +1,7 @@ code { - background-color: $light-grey; - border-radius: 0.2rem; padding: 0.2rem; + + border-radius: 0.2rem; + + background-color: $light-grey; } diff --git a/client/scss/core/_dialog.scss b/client/scss/core/_dialog.scss index df0729b21..4a621c0fe 100644 --- a/client/scss/core/_dialog.scss +++ b/client/scss/core/_dialog.scss @@ -1,23 +1,39 @@ [role='dialog'] { - background-color: rgba($black, 0.99); - margin: 0 auto auto; - border: none; display: flex; + z-index: 401; + flex-direction: column; + min-width: 60rem; + margin: 0 auto auto; + padding: 2rem; + + border: none; + + background-color: rgba($black, 0.99); + overflow: hidden; pointer-events: initial; - z-index: 401; - padding: 2rem; &.transparency { background-color: rgba($black, 0.75); } + &.center-title > header { + justify-content: center; + } + + &.no-pad > .content { + padding: 2rem 0 0; + } + > header { - align-items: stretch; display: flex; + + align-items: stretch; + flex-shrink: 0; + color: $white; h2 { @@ -25,19 +41,18 @@ } [name='close'] { - border-radius: 0; margin-left: auto; padding: 1rem; - } - } - &.center-title > header { - justify-content: center; + border-radius: 0; + } } > .content { flex-shrink: 1; + padding: 2rem; + color: $white; input { @@ -45,13 +60,10 @@ } > .center-content { - text-align: center; justify-content: center; - } - } - &.no-pad > .content { - padding: 2rem 0 0; + text-align: center; + } } > footer { @@ -60,7 +72,9 @@ menu[type='toolbar'] { display: flex; + flex-shrink: 0; + padding: 2rem 0 0; &.compact { @@ -70,22 +84,25 @@ > .primary, > .secondary { display: flex; + align-items: baseline; } > .primary { - margin-left: auto; order: 2; + margin-left: auto; + > *:not(:first-child) { margin-left: 1rem; } } > .secondary { - margin-right: auto; order: 1; + margin-right: auto; + > *:not(:last-child) { margin-right: 1rem; } diff --git a/client/scss/core/_dl.scss b/client/scss/core/_dl.scss index fc91e4866..dfa6e0d06 100644 --- a/client/scss/core/_dl.scss +++ b/client/scss/core/_dl.scss @@ -1,14 +1,17 @@ dl { display: flex; + flex-wrap: wrap; dt, dd { - border-top: 1px solid $black; flex-grow: 1; flex-shrink: 0; - padding-bottom: 1rem; + padding-top: 1rem; + padding-bottom: 1rem; + + border-top: 1px solid $black; } dt { @@ -16,9 +19,11 @@ dl { } dd { - align-items: center; display: flex; + + align-items: center; justify-content: space-between; + width: 80%; + dd { diff --git a/client/scss/core/_fieldset.scss b/client/scss/core/_fieldset.scss index bd9b101fb..11f659be1 100644 --- a/client/scss/core/_fieldset.scss +++ b/client/scss/core/_fieldset.scss @@ -1,9 +1,11 @@ fieldset { - align-items: stretch; display: flex; + flex-direction: column; - padding: 2rem; + align-items: stretch; + width: 100%; + padding: 2rem; &:last-child { margin-bottom: 0; diff --git a/client/scss/core/_flex.scss b/client/scss/core/_flex.scss index 2976f8e36..56bffbd83 100644 --- a/client/scss/core/_flex.scss +++ b/client/scss/core/_flex.scss @@ -26,11 +26,13 @@ } &.center-middle > * { - flex: 1; display: flex; + align-items: center; justify-content: center; + flex: 1; + &:first-child { justify-content: flex-start; } diff --git a/client/scss/core/_form.scss b/client/scss/core/_form.scss index 7cbe824ce..f1dfdbc09 100644 --- a/client/scss/core/_form.scss +++ b/client/scss/core/_form.scss @@ -7,12 +7,16 @@ form { padding: 0.5rem 2rem; } - .form-row { - display: flex; - flex-direction: row; - } - &.compact .form-row { + &.submit-row { + padding: 0.4rem 0; + + fieldset, + > div { + padding: 0.1rem 0.25rem; + } + } + fieldset, > div { padding: 0.5rem; @@ -25,14 +29,11 @@ form { padding-right: 4rem; } } + } - &.submit-row { - padding: 0.4rem 0; + .form-row { + display: flex; - fieldset, - > div { - padding: 0.1rem 0.25rem; - } - } + flex-direction: row; } } diff --git a/client/scss/core/_headings.scss b/client/scss/core/_headings.scss index 830498f93..5e49abcd5 100644 --- a/client/scss/core/_headings.scss +++ b/client/scss/core/_headings.scss @@ -5,11 +5,13 @@ h4, h5, h6 { flex-shrink: 0; + font-weight: bold; line-height: 1.5; small { color: $grey-lightened; + font-size: 0.7em; } } diff --git a/client/scss/core/_hr.scss b/client/scss/core/_hr.scss index 22bf0d05f..b10f5a21e 100644 --- a/client/scss/core/_hr.scss +++ b/client/scss/core/_hr.scss @@ -1,5 +1,7 @@ hr { - background-color: $black; - border: none; height: 1px; + + border: none; + + background-color: $black; } diff --git a/client/scss/core/_img.scss b/client/scss/core/_img.scss index 24adbe02a..de004d4e2 100644 --- a/client/scss/core/_img.scss +++ b/client/scss/core/_img.scss @@ -1,6 +1,6 @@ img { - height: auto; max-width: 100%; + height: auto; &::after { content: 'Loading...'; diff --git a/client/scss/core/_input.scss b/client/scss/core/_input.scss index 72af1f50b..2813a75da 100644 --- a/client/scss/core/_input.scss +++ b/client/scss/core/_input.scss @@ -1,19 +1,23 @@ %text-input { - border-color: $grey-lightened; - border-style: solid; + width: 100%; + padding: 1rem; + border-width: 0.1rem; - box-shadow: 0 0 0.5rem 0 rgba($grey, 0); + border-style: solid; + border-color: $grey-lightened; + color: inherit; - font-family: inherit; - font-size: inherit; + box-shadow: 0 0 0.5rem 0 rgba($grey, 0); outline: none; + + font-size: inherit; + font-family: inherit; transition-duration: 0.5s; transition-property: border-color, box-shadow; - padding: 1rem; - width: 100%; &:focus { border-color: $grey; + box-shadow: 0 0 0.5rem 0 rgba($grey, 0.5); } @@ -22,6 +26,7 @@ &:focus { border-color: $red; + box-shadow: 0 0 0.5rem 0 rgba($red, 0.5); } @@ -30,14 +35,15 @@ &:focus { border-color: $green; + box-shadow: 0 0 0.5rem 0 rgba($green, 0.5); } } } &.dark { - background: $black-lightened; color: $white; + background: $black-lightened; box-shadow: none; &:not(.inline) { @@ -48,6 +54,7 @@ &[required] { border-color: $red; + box-shadow: none; &:valid { @@ -57,10 +64,12 @@ } &.inline { - padding: 0.25rem; - background: transparent; display: inline; + width: auto; + padding: 0.25rem; + + background: transparent; } } @@ -107,6 +116,8 @@ input.large[type='checkbox'] { /* stylelint-disable-next-line selector-class-pattern */ .ReactTable .rt-thead.-filters input { @extend %text-input; - color: $black; + border-radius: 0; + + color: $black; } diff --git a/client/scss/core/_kbd.scss b/client/scss/core/_kbd.scss index 9de04bcd1..9d8d1a579 100644 --- a/client/scss/core/_kbd.scss +++ b/client/scss/core/_kbd.scss @@ -1,11 +1,12 @@ kbd { + padding: 0.3rem 0.5rem; + box-shadow: 0 1px 0 #BBBBBB, 0 2px 1px #999999, 0 2px 0 #BBBBBB, inset 0 1px 1px #FFFFFF, inset 0 -1px 3px #CCCCCC; - padding: 0.3rem 0.5rem; + kbd { margin-left: 0.2rem; diff --git a/client/scss/core/_lists.scss b/client/scss/core/_lists.scss index bc0fed867..10aaa66e3 100644 --- a/client/scss/core/_lists.scss +++ b/client/scss/core/_lists.scss @@ -1,31 +1,25 @@ ol, ul { - > li { - &.inaccessible { - text-decoration: line-through; - } - } - &.columns { - align-content: stretch; display: flex; + flex-wrap: wrap; + align-content: stretch; > li { display: block; + flex-grow: 1; flex-shrink: 0; + min-width: 50%; } } &.inline { display: flex; - flex-wrap: wrap; - li { - white-space: nowrap; - } + flex-wrap: wrap; &.comma-separated { li { @@ -40,5 +34,15 @@ ul { } } } + + li { + white-space: nowrap; + } + } + + > li { + &.inaccessible { + text-decoration: line-through; + } } } diff --git a/client/scss/core/_main.scss b/client/scss/core/_main.scss index 99b444858..4b1bda364 100644 --- a/client/scss/core/_main.scss +++ b/client/scss/core/_main.scss @@ -1,7 +1,10 @@ main { - align-content: stretch; display: flex; + flex-direction: column; + align-content: stretch; + flex-grow: 1; + overflow: auto; } diff --git a/client/scss/core/_menu.scss b/client/scss/core/_menu.scss index 709d53fe4..1c8662ed8 100644 --- a/client/scss/core/_menu.scss +++ b/client/scss/core/_menu.scss @@ -1,7 +1,10 @@ menu { display: flex; - flex-shrink: 0; + justify-content: space-between; + + flex-shrink: 0; + margin: 0; padding: 2rem 4rem; @@ -10,11 +13,13 @@ menu { .primary, .secondary { display: flex; + flex-shrink: 0; } .page { align-items: center; + order: 2; } diff --git a/client/scss/core/_nav.scss b/client/scss/core/_nav.scss index f43227ed9..d8c2f2373 100644 --- a/client/scss/core/_nav.scss +++ b/client/scss/core/_nav.scss @@ -1,7 +1,8 @@ nav { ol, ul { - list-style: none; padding-left: 0; + + list-style: none; } } diff --git a/client/scss/core/_ol.scss b/client/scss/core/_ol.scss index d3858f325..6c21a5ca6 100644 --- a/client/scss/core/_ol.scss +++ b/client/scss/core/_ol.scss @@ -7,7 +7,8 @@ ol { } &.numbered { - list-style-type: decimal; padding-left: 3rem; + + list-style-type: decimal; } } diff --git a/client/scss/core/_pre.scss b/client/scss/core/_pre.scss index 5a9aa1b39..6d4341287 100644 --- a/client/scss/core/_pre.scss +++ b/client/scss/core/_pre.scss @@ -1,9 +1,12 @@ pre { - background-color: $light-grey; - box-sizing: initial; flex-shrink: 0; - font-family: 'Source Code Pro', monospace; + margin-bottom: 2rem; padding: 2rem; + + background-color: $light-grey; + + font-family: 'Source Code Pro', monospace; white-space: pre-wrap; + box-sizing: initial; } diff --git a/client/scss/core/_select.scss b/client/scss/core/_select.scss index 1f1e63ef8..a2dc1d6eb 100644 --- a/client/scss/core/_select.scss +++ b/client/scss/core/_select.scss @@ -1,32 +1,28 @@ select { + appearance: none; + + width: 100%; padding: 1rem; + border: 0.1rem solid $grey-lightened; - font-family: inherit; - font-size: inherit; + outline: none; + + font-size: inherit; + font-family: inherit; transition-duration: 0.5s; transition-property: border-color, box-shadow; - width: 100%; - appearance: none; &:not(:valid) { color: #999999; } - option { - color: #000000; - - &[value=''] { - display: none; - color: #999999; - } - } - &.required { border-color: $red-lightened; &:focus { border-color: $red; + box-shadow: 0 0 0.5rem 0 rgba($red, 0.5); } @@ -35,10 +31,21 @@ select { &:focus { border-color: $green; + box-shadow: 0 0 0.5rem 0 rgba($green, 0.5); } } } + + option { + color: #000000; + + &[value=''] { + display: none; + + color: #999999; + } + } } @@ -46,14 +53,17 @@ div.select-wrapper { position: relative; &::after { + position: absolute; + top: 0; + right: 0; + content: '▼'; + padding: 1rem; + color: #999999; + font-size: 1rem; line-height: 2; - top: 0; - right: 0; - padding: 1rem; - position: absolute; pointer-events: none; } } diff --git a/client/scss/core/_small.scss b/client/scss/core/_small.scss index 2271be535..0c5e1d010 100644 --- a/client/scss/core/_small.scss +++ b/client/scss/core/_small.scss @@ -1,4 +1,5 @@ small { color: $grey; + font-size: 0.8em; } diff --git a/client/scss/core/_table.scss b/client/scss/core/_table.scss index 72f2ae445..8b7d3177d 100644 --- a/client/scss/core/_table.scss +++ b/client/scss/core/_table.scss @@ -1,6 +1,7 @@ th { - font-weight: bold; padding-right: 1rem; + + font-weight: bold; } @@ -19,17 +20,17 @@ table { } &.padded { - th, - td { - padding: 1rem; - } - &.compact { th, td { padding: 0.5rem; } } + + th, + td { + padding: 1rem; + } } &.striped { diff --git a/client/scss/core/_ul.scss b/client/scss/core/_ul.scss index ce2596c57..bdb5feb60 100644 --- a/client/scss/core/_ul.scss +++ b/client/scss/core/_ul.scss @@ -1,7 +1,8 @@ ul { &.bulleted { - list-style-type: square; margin-bottom: 2rem; padding-left: 3rem; + + list-style-type: square; } } diff --git a/client/scss/fonts/_open-sans.scss b/client/scss/fonts/_open-sans.scss index 6553458f9..421ea323a 100644 --- a/client/scss/fonts/_open-sans.scss +++ b/client/scss/fonts/_open-sans.scss @@ -1,6 +1,5 @@ @font-face { font-display: swap; - font-family: 'Open Sans'; font-style: normal; font-weight: normal; diff --git a/client/scss/fonts/_raleway.scss b/client/scss/fonts/_raleway.scss index 8f580482d..63b512973 100644 --- a/client/scss/fonts/_raleway.scss +++ b/client/scss/fonts/_raleway.scss @@ -1,6 +1,5 @@ @font-face { font-display: swap; - font-family: Raleway; font-style: normal; font-weight: normal; diff --git a/client/scss/lib/_kbdfun.scss b/client/scss/lib/_kbdfun.scss index c1b0d9528..d2ba5c4e0 100644 --- a/client/scss/lib/_kbdfun.scss +++ b/client/scss/lib/_kbdfun.scss @@ -24,58 +24,69 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ---------------------- */ kbd { - color: #444444; - font-family: 'Lucida Grande', Lucida, Verdana, sans-serif; - font-weight: normal; - font-style: normal; - text-align: center; - line-height: 1em; - text-shadow: 0 1px 0 #FFFFFF; display: inline; + padding: 0.3em 0.55em; + + border: 1px solid #BBBBBB; border-radius: 6px; + + color: #444444; background-clip: padding-box; - border: 1px solid #BBBBBB; background-color: #F7F7F7; background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)); background-repeat: repeat-x; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#1a000000', endColorstr='#00000000', GradientType=0); box-shadow: 0 2px 0 #BBBBBB, 0 3px 1px #999999, 0 3px 0 #BBBBBB, inset 0 1px 1px #FFFFFF, inset 0 -1px 3px #CCCCCC; + + font-style: normal; + font-weight: normal; + font-family: 'Lucida Grande', Lucida, Verdana, sans-serif; + text-align: center; + text-shadow: 0 1px 0 #FFFFFF; + line-height: 1em; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#1a000000', endColorstr='#00000000', GradientType=0); } kbd.dark { - color: #EEEEEE; - text-shadow: 0 -1px 0 #000000; border-color: #000000; + + color: #EEEEEE; background-color: #4D4C4C; background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0)); background-repeat: no-repeat; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=0); box-shadow: 0 2px 0 #000000, 0 3px 1px #999999, inset 0 1px 1px #AAAAAA, inset 0 -1px 3px #272727; + + text-shadow: 0 -1px 0 #000000; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=0); } kbd.ios { - font-family: Helvetica, 'Helvetica Neue', Arial, sans-serif; - color: #000000; border-color: rgba(0, 0, 0, 0.6); border-top-color: rgba(0, 0, 0, 0.4); + + color: #000000; background-color: #B7B7BC; background-image: linear-gradient(to bottom, #EFEFF0, #B7B7BC); background-repeat: repeat-x; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffefeff0', endColorstr='#ffb7b7bc', GradientType=0); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6), 0 2px 3px rgba(0, 0, 0, 0.1), inset 0 1px 0 #FFFFFF; + + font-family: Helvetica, 'Helvetica Neue', Arial, sans-serif; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffefeff0', endColorstr='#ffb7b7bc', GradientType=0); } kbd.android { - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - color: #FFFFFF; - text-shadow: none; padding: 0.3em; + border: 1px solid rgba(0, 0, 0, 0.05); border-radius: 3px; + + color: #FFFFFF; background: #5E5E5E; background-clip: padding-box; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3), 0 1px 0 #444444, inset 0 1px 0 #868686; + + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + text-shadow: none; } kbd.android.dark { diff --git a/client/scss/lib/_stripe.scss b/client/scss/lib/_stripe.scss index 53aa2b7c6..95b6befba 100644 --- a/client/scss/lib/_stripe.scss +++ b/client/scss/lib/_stripe.scss @@ -1,11 +1,13 @@ /* stylelint-disable selector-class-pattern */ .StripeElement { - border: 0.1rem solid $red-lightened; padding: 1.111rem 1rem; + + border: 0.1rem solid $red-lightened; + + color: $red; box-shadow: 0 0 0.5rem 0 rgba($red, 0); transition-duration: 0.5s; transition-property: border-color, box-shadow; - color: $red; &.StripeElement--focus { box-shadow: 0 0 0.5rem 0 rgba($red, 0.5); diff --git a/client/scss/pages/_acknowledgements.scss b/client/scss/pages/_acknowledgements.scss index 4fa89ab36..1b5c7ff3f 100644 --- a/client/scss/pages/_acknowledgements.scss +++ b/client/scss/pages/_acknowledgements.scss @@ -1,12 +1,15 @@ .page.acknowledgements { .credit-section { - background: rgba(127, 127, 127, 0.1); - padding: 1rem; - margin-top: 2rem; display: flex; + flex-direction: row; align-items: center; + margin-top: 2rem; + padding: 1rem; + + background: rgba(127, 127, 127, 0.1); + p { margin-left: 2em; } @@ -26,12 +29,14 @@ } .brand-image { - background-size: contain; - background-repeat: no-repeat; - background-position: center; flex-shrink: 0; - height: 125px; + width: 400px; + height: 125px; + + background-position: center; + background-repeat: no-repeat; + background-size: contain; &.atlassian-brand { background-image: url('/static/images/brandlogos/atlassian.png'); @@ -57,25 +62,30 @@ .dependency-list { display: flex; - width: 100%; - align-items: center; + flex-direction: column; + align-items: center; + + width: 100%; margin-top: 2rem; > span { + border-bottom: 0.1rem solid $black; + font-size: 1.25em; font-family: Raleway, sans-serif; - border-bottom: 0.1rem solid $black; } > ul { min-width: 450px; max-height: 550px; - overflow-y: auto; - overflow-x: hidden; - border: 0.1rem solid $black; - padding: 0.5rem 1rem; margin: 1rem; + padding: 0.5rem 1rem; + + border: 0.1rem solid $black; + + overflow-x: hidden; + overflow-y: auto; } } } diff --git a/client/scss/pages/_i-need-fuel.scss b/client/scss/pages/_i-need-fuel.scss index 729c686b6..bccb1c2ed 100644 --- a/client/scss/pages/_i-need-fuel.scss +++ b/client/scss/pages/_i-need-fuel.scss @@ -1,17 +1,20 @@ .page.i-need-fuel { .buttons { - align-items: flex-start; - flex-direction: column; display: flex; + + flex-direction: column; + align-items: flex-start; justify-content: space-between; .call-to-action { - font-size: 2.5em; padding: 1rem 4rem; + + font-size: 2.5em; } div { display: flex; + flex-direction: column; } diff --git a/client/scss/pages/_paperwork.scss b/client/scss/pages/_paperwork.scss index 4781aebc6..389565a3f 100644 --- a/client/scss/pages/_paperwork.scss +++ b/client/scss/pages/_paperwork.scss @@ -24,18 +24,22 @@ $margin: 2rem; } div.invalidity-explainer { - background-color: $red; - color: #000000; - padding: 0 2rem; display: inline-block; + + padding: 0 2rem; + + color: #000000; + background-color: $red; opacity: 0; transition: transform 0.2s, opacity 0.2s; + transform: translateX(calc(50% + 9rem)) scaleX(0); &.show { opacity: 1; + transform: translateX(9rem) scaleX(1); } @@ -45,9 +49,10 @@ $margin: 2rem; } button[type='submit'] { - transform: translateX(0%) scale(1); transition: transform 0.2s; + transform: translateX(0%) scale(1); + &[disabled] { transform: translateX(50%) scale(0); } @@ -56,6 +61,7 @@ $margin: 2rem; .page-content { display: flex; + flex-flow: row wrap; align-content: flex-start; } @@ -73,21 +79,28 @@ $margin: 2rem; :not(form) header.paperwork-header { // For view (but nopt edit) paperwork order: 1; + margin-left: calc(#{$margin} + 0.5rem); } header.paperwork-header { - width: 100%; - flex: 1 1 auto; display: flex; + flex-flow: row nowrap; align-items: center; + + flex: 1 1 auto; + + width: 100%; + margin-right: calc(#{$margin} + 0.5rem); + + color: rgba($white, 0.5); background-color: $red; + font-size: 2em; line-height: normal; - color: rgba($white, 0.5); + transform: skewX(-10deg); - margin-right: calc(#{$margin} + 0.5rem); > div { padding: 0.2em 0.4em; @@ -95,10 +108,12 @@ $margin: 2rem; &.board-index { flex: 0 0 auto; align-self: flex-start; + margin: 0.2rem; - font-weight: bold; // background: $white; color: $white; + + font-weight: bold; } &.title { @@ -106,54 +121,64 @@ $margin: 2rem; } > span { - transform: skewX(10deg); display: inline-block; + + transform: skewX(10deg); } .cmdr-name, .system, .rescue-title { - font-weight: bold; color: $white; + + font-weight: bold; } } } .rescue-tags { - line-height: normal; + order: 3; + flex: 1 1 auto; + + width: 100%; margin-top: 0; margin-bottom: 0; + color: $white; - width: 100%; - flex: 1 1 auto; - order: 3; - font-size: 0.9em; opacity: 0.9; + + font-size: 0.9em; font-weight: bold; + line-height: normal; .md-group, .tag { - background: $black; margin: 0 0.5rem 0.5rem 0; + border: 0.2rem solid $black; + + background: $black; } .tag, .tag.status-group > span { - padding: 0.4em 0.8em; display: inline-block; + + padding: 0.4em 0.8em; } .tag { display: inline-block; + text-transform: capitalize; &.status-group { padding: 0; .outcome { - background: $white; color: $black; + background: $white; + font-weight: normal; } } @@ -177,6 +202,7 @@ $margin: 2rem; &.code-red { color: change-color($red, $lightness: 66); + text-transform: uppercase; } } @@ -190,10 +216,12 @@ $margin: 2rem; } .md-reason { - background: $white; + flex: 0 1 auto; + color: $black; + background: $white; + font-weight: normal; - flex: 0 1 auto; } .md-reporter { @@ -203,23 +231,20 @@ $margin: 2rem; } .info { - flex: 0 0 auto; - align-self: flex-start; display: grid; + grid-template-columns: min-content auto; grid-column-gap: 1em; - padding: 0.5em 1em; // margin: 0.5rem 0 1rem 0; order: 5; + flex: 0 0 auto; + align-self: flex-start; - @media screen and (max-width: 768px) { - order: 4; - // margin-top: 0; - width: 100%; - } + padding: 0.5em 1em; .label { grid-column: 1; + opacity: 0.5; } @@ -227,28 +252,35 @@ $margin: 2rem; .system { font-weight: bold; } + + @media screen and (max-width: 768px) { + order: 4; + // margin-top: 0; + width: 100%; + } } .panel { - width: 100%; - flex: 1 1 auto; order: 6; + flex: 1 1 auto; + + width: 100%; &.rats { - width: auto; - flex: 1 0 auto; order: 4; + flex: 1 0 auto; + + width: auto; + } + + &.notes .panel-content { + white-space: pre-line; } .panel-content { ul li { margin-bottom: 0.5em; - .badge { - margin-left: 0.5em; - font-style: normal; - } - &.unidentified { font-style: italic; @@ -256,24 +288,35 @@ $margin: 2rem; background: #B0A154; } } + + .badge { + margin-left: 0.5em; + + font-style: normal; + } } ol li { display: flex; + flex-flow: row nowrap; - justify-content: space-between; align-items: baseline; + justify-content: space-between; + margin-bottom: 0.5em; &:not(:last-of-type) { padding-bottom: 0.5em; + border-bottom: 0.1rem solid rgba(70, 70, 70, 0.05); } .times, .authors { flex: 0 0 auto; + opacity: 0.5; + font-size: 0.8em; line-height: normal; @@ -291,9 +334,11 @@ $margin: 2rem; .updated { .label { - opacity: 0.7; display: block; + margin-top: 0.3em; + + opacity: 0.7; } } } @@ -303,17 +348,21 @@ $margin: 2rem; } .authors { - margin-left: 1em; align-self: flex-end; + + margin-left: 1em; + text-align: right; .last-author { margin-left: 1em; .label { - opacity: 0.7; display: block; + margin-top: 0.3em; + + opacity: 0.7; } } } @@ -337,9 +386,5 @@ $margin: 2rem; } } } - - &.notes .panel-content { - white-space: pre-line; - } } } diff --git a/client/scss/pages/_rescue-search.scss b/client/scss/pages/_rescue-search.scss index 38e3f2e55..6a4d26598 100644 --- a/client/scss/pages/_rescue-search.scss +++ b/client/scss/pages/_rescue-search.scss @@ -5,44 +5,52 @@ .rescue-list { justify-content: flex-start; + padding: 0 2rem; } .rescue-list-item { display: flex; + position: relative; + flex-direction: column; + padding: 0.5rem 0; - position: relative; &:not(:first-child) { border-top: 1px solid #C4C4C4; } .primary-info { - font-size: 1em; z-index: 2; + + font-size: 1em; } .secondary-info { margin-top: -1.25rem; .status-icon { - z-index: 5; + display: flex; position: absolute; - right: 0; top: 0; - opacity: 0.25; - height: 100%; - display: flex; + right: 0; + z-index: 5; + align-items: center; + + height: 100%; + + opacity: 0.25; } } } @media only screen and (min-width: 1251px) { .page-content { - min-width: 1000px; align-self: center; + + min-width: 1000px; } } } diff --git a/client/scss/pages/_store-cart.scss b/client/scss/pages/_store-cart.scss index 43bba5b4a..e38a38b06 100644 --- a/client/scss/pages/_store-cart.scss +++ b/client/scss/pages/_store-cart.scss @@ -1,15 +1,19 @@ .page.your-cart { .cart-items { display: flex; + flex-direction: column; - justify-content: flex-start; align-content: flex-start; + justify-content: flex-start; + max-width: 70rem; .cart-item { display: flex; + flex-direction: row; align-items: center; + padding: 1rem 0; &:not(:first-child) { @@ -21,8 +25,9 @@ } .item-name { - margin-left: 1rem; margin-right: auto; + margin-left: 1rem; + font-size: 1.1em; .subscript { From f4d2b33251c99d8007d147dc6a764ca11ca14718 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 8 Jul 2019 18:08:54 +0000 Subject: [PATCH 34/64] style(badge-scss): extend badge at the top of .icon-badge block --- client/scss/components/_badge.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/scss/components/_badge.scss b/client/scss/components/_badge.scss index 0ef60e04f..9a59930c8 100644 --- a/client/scss/components/_badge.scss +++ b/client/scss/components/_badge.scss @@ -127,6 +127,8 @@ $pc-background-gradients: } .icon-badge { + @extend %badge; + position: absolute; top: 0; right: 0; @@ -143,6 +145,4 @@ $pc-background-gradients: background-color: $grey-lightened; color: $black; } - - @extend %badge; } From ac657b079bfc568ee0829e83b4f9c719db3f82a1 Mon Sep 17 00:00:00 2001 From: noctilucent-dev Date: Tue, 9 Jul 2019 15:09:22 +0100 Subject: [PATCH 35/64] fix(register-page): Corrected privacy link --- client/pages/register.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/pages/register.js b/client/pages/register.js index 67fc825d7..ec8fb88dc 100644 --- a/client/pages/register.js +++ b/client/pages/register.js @@ -316,7 +316,7 @@ class Register extends Component { Terms of Service {' and '} - + Privacy Policy {', and that I am 13 years of age or older.'} From 99fd42a582f1801b7ef38ef411e891d737341bbb Mon Sep 17 00:00:00 2001 From: noctilucent-dev Date: Tue, 9 Jul 2019 15:09:57 +0100 Subject: [PATCH 36/64] fix(i-need-fueld-page): Corrected privacy link --- client/pages/i-need-fuel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/pages/i-need-fuel.js b/client/pages/i-need-fuel.js index 87c277cdd..4938b8dc6 100644 --- a/client/pages/i-need-fuel.js +++ b/client/pages/i-need-fuel.js @@ -94,7 +94,7 @@ class INeedFuel extends Component { Terms of Service {' and '} - + Privacy Policy {'.'} From a6636358a3922a7379b84be5f110204ad477c614 Mon Sep 17 00:00:00 2001 From: noctilucent-dev Date: Tue, 9 Jul 2019 15:26:36 +0100 Subject: [PATCH 37/64] Add @noctilucent-dev as a contributor --- .all-contributorsrc | 12 +++++++++++- CONTRIBUTORS.md | 17 ++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 3d5f6b815..90396fe61 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -112,7 +112,17 @@ "content", "design" ] + }, + { + "login": "noctilucent-dev", + "name": "Nathan", + "avatar_url": "https://avatars3.githubusercontent.com/u/52113097?v=4", + "profile": "https://github.com/noctilucent-dev", + "contributions": [ + "code" + ] } ], - "repoType": "github" + "repoType": "github", + "commitConvention": "none" } diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index b64552a8c..7d55c83ca 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -4,7 +4,22 @@ Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds -
    Trezy
    Trezy

    📝 🐛 💻 🎨 📖 🤔 🚇 💬 👀
    Cameron
    Cameron "Clapton"

    📝 🐛 💻 🎨 📖 🤔 💬 👀
    Alex S. Glomsaas
    Alex S. Glomsaas

    🐛 💻 🤔 🚇
    Chris Gårdenberg
    Chris Gårdenberg

    💻
    spansh
    spansh

    💻 🎨
    Kenneth Aalberg
    Kenneth Aalberg

    🐛 🤔 🚇
    Andrew Bishop
    Andrew Bishop

    🐛
    Aki Loponen
    Aki Loponen

    🐛 🤔
    314numberpi
    314numberpi

    💻 🖋 🎨
    + + + + + + + + + + + + + + + +
    Trezy
    Trezy

    📝 🐛 💻 🎨 📖 🤔 🚇 💬 👀
    Cameron
    Cameron "Clapton"

    📝 🐛 💻 🎨 📖 🤔 💬 👀
    Alex S. Glomsaas
    Alex S. Glomsaas

    🐛 💻 🤔 🚇
    Chris Gårdenberg
    Chris Gårdenberg

    💻
    spansh
    spansh

    💻 🎨
    Kenneth Aalberg
    Kenneth Aalberg

    🐛 🤔 🚇
    Andrew Bishop
    Andrew Bishop

    🐛
    Aki Loponen
    Aki Loponen

    🐛 🤔
    314numberpi
    314numberpi

    💻 🖋 🎨
    Nathan
    Nathan

    💻
    From 78790a3661d35c5df5911267b59f8027346d8fcc Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 10 Jul 2019 05:48:10 +0000 Subject: [PATCH 38/64] refactor(Modal): rewrite modal AGAIN so it's all hook based. --- client/components/Modal.js | 130 +++++++++++++++++++++ client/components/Modal/ModalContent.js | 46 ++++++++ client/components/Modal/ModalHeader.js | 28 +++++ client/components/Modal/ModalPortal.js | 12 +- client/components/Modal/ModalTransition.js | 16 ++- client/components/Modal/index.js | 121 ------------------- 6 files changed, 225 insertions(+), 128 deletions(-) create mode 100644 client/components/Modal.js create mode 100644 client/components/Modal/ModalContent.js create mode 100644 client/components/Modal/ModalHeader.js delete mode 100644 client/components/Modal/index.js diff --git a/client/components/Modal.js b/client/components/Modal.js new file mode 100644 index 000000000..9a524fbe8 --- /dev/null +++ b/client/components/Modal.js @@ -0,0 +1,130 @@ +// Module Imports +import React, { useEffect, useCallback } from 'react' +import { animated } from 'react-spring' +import PropTypes from 'prop-types' + + + + + +// Component Imports +import classNames from '../helpers/classNames' +import ModalHeader from './Modal/ModalHeader' +import ModalPortal from './Modal/ModalPortal' +import useModalTransition from './Modal/ModalTransition' + + + + + +const Modal = (props) => { + const { + as, + children, + className, + hideClose, + isOpen, + onClose, + onSafeUnmount, + title, + transitionProps, + } = props + + + const handleGlobalKeyDown = useCallback((event) => { + if (event.code === 'Escape') { + onClose() + } + }, [onClose]) + + useEffect(() => { + if (isOpen && !hideClose && typeof window !== undefined) { + window.addEventListener('keydown', handleGlobalKeyDown) + } + + return () => { + if (typeof window !== undefined) { + window.removeEventListener('keydown', handleGlobalKeyDown) + } + } + }, [handleGlobalKeyDown, hideClose, isOpen]) + + const modalTransition = useModalTransition(isOpen, isOpen, { + onDestroyed: onSafeUnmount, + ...transitionProps, + }) + + const RootElement = animated[as] + + const rootClasses = classNames( + 'modal', + [className, className] + ) + + return ( + + {modalTransition.map(({ item, key, props: style }) => item && ( + `translate3d(0,${value}vh,0)`), + }}> + + + + {children} + + ))} + + ) +} + + + + + +Modal.defaultProps = { + as: 'div', + hideClose: false, + isOpen: false, + onClose: () => undefined, + onSafeUnmount: () => undefined, + title: null, + transitionProps: undefined, +} + +Modal.propTypes = { + as: PropTypes.oneOf(Object.keys(animated)), + hideClose: PropTypes.any, + isOpen: PropTypes.any, + onClose: PropTypes.func, + onSafeUnmount: PropTypes.func, + title: PropTypes.string, + transitionProps: PropTypes.object, +} + + + + + +const asModal = (opts) => (Component) => (props) => ( + + + +) + + + + + +export default Modal +export { default as ModalContent } from './Modal/ModalContent' +export { + Modal, + asModal, +} diff --git a/client/components/Modal/ModalContent.js b/client/components/Modal/ModalContent.js new file mode 100644 index 000000000..9ae2e5716 --- /dev/null +++ b/client/components/Modal/ModalContent.js @@ -0,0 +1,46 @@ +import React from 'react' + + +import classNames from '../../helpers/classNames' + + + + + +const ModalContent = (props) => { + const { + as: Element, + className, + children, + ...restProps + } = props + + const classes = classNames( + 'modal-content', + [className, className] + ) + + return ( + + + {children} + + + ) +} + + + + + +ModalContent.defaultProps = { + as: 'div', +} + + + + + +export default ModalContent diff --git a/client/components/Modal/ModalHeader.js b/client/components/Modal/ModalHeader.js new file mode 100644 index 000000000..6ff8c9943 --- /dev/null +++ b/client/components/Modal/ModalHeader.js @@ -0,0 +1,28 @@ +import React from 'react' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' + + + + + +const ModalHeader = ({ hideClose, onClose, title }) => (title || !hideClose) && ( +
    + {title && (

    {title}

    )} + + {!hideClose && ( + + )} +
    +) + + + + + +export default ModalHeader diff --git a/client/components/Modal/ModalPortal.js b/client/components/Modal/ModalPortal.js index a5d0dd0d9..fd7dd9707 100644 --- a/client/components/Modal/ModalPortal.js +++ b/client/components/Modal/ModalPortal.js @@ -15,7 +15,7 @@ const modalRoot = typeof document === 'undefined' -const ModalPortal = ({ children }) => { +const ModalPortal = ({ children, isOpen }) => { const portalRoot = useMemo(() => modalRoot && document.createElement('div'), []) useEffect(() => { @@ -30,6 +30,16 @@ const ModalPortal = ({ children }) => { } }, [portalRoot]) + useEffect(() => { + if (portalRoot) { + if (isOpen) { + portalRoot.classList.add('open') + } else { + portalRoot.classList.remove('open') + } + } + }, [isOpen, portalRoot]) + return portalRoot && createPortal(children, portalRoot) } diff --git a/client/components/Modal/ModalTransition.js b/client/components/Modal/ModalTransition.js index d5006c30d..2fb550b0a 100644 --- a/client/components/Modal/ModalTransition.js +++ b/client/components/Modal/ModalTransition.js @@ -4,15 +4,19 @@ import { useTransition } from 'react-spring' -const ModalTransition = ({ children, isOpen, ...transitionOpts }) => useTransition(isOpen, null, { - from: { opacity: 0 }, - enter: { opacity: 1 }, - leave: { opacity: 0 }, +const useModalTransition = (isOpen, key, transitionOpts) => useTransition(isOpen, key, { + from: { pos: -100 }, + enter: { pos: 0 }, + leave: { pos: -100 }, + config: { + tension: 350, + }, + unique: true, ...transitionOpts, -}).map(children) +}) -export default ModalTransition +export default useModalTransition diff --git a/client/components/Modal/index.js b/client/components/Modal/index.js deleted file mode 100644 index a1a01324a..000000000 --- a/client/components/Modal/index.js +++ /dev/null @@ -1,121 +0,0 @@ -// Module Imports -import React from 'react' -import { animated } from 'react-spring' -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' -import PropTypes from 'prop-types' - - - - -// Component Imports -import ModalPortal from './ModalPortal' -import ModalTransition from './ModalTransition' - - - - -/** - * Component for presenting Modals to the user. - */ -class Modal extends React.Component { - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - renderHeader () { - const { - hideClose, - onClose, - title, - } = this.props - - return (title || !hideClose) && ( -
    - {title && (

    {title}

    )} - - {!hideClose && ( - - )} -
    - ) - } - - render () { - const { - children, - className, - isOpen, - transitionProps, - } = this.props - - return ( - - - {({ item, key, props }) => item && ( - - - {this.renderHeader()} - - {children} - - )} - - - ) - } - - - - - - /***************************************************************************\ - Prop Definitions - \***************************************************************************/ - - static defaultProps = { - hideClose: false, - isOpen: false, - onClose: () => undefined, - title: null, - transitionProps: undefined, - } - - static propTypes = { - hideClose: PropTypes.any, - isOpen: PropTypes.any, - onClose: PropTypes.func, - title: PropTypes.string, - transitionProps: PropTypes.object, - } -} - - - - - -const asModal = (opts) => (Component) => (props) => ( - - - -) - - - - - -export default Modal -export { - asModal, -} From 2e1ad7c959212c9aa7123faf8a361871d0eb8134 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 10 Jul 2019 05:48:34 +0000 Subject: [PATCH 39/64] chore: remove old dialog component --- client/components/Dialog.js | 127 ------------------------------------ 1 file changed, 127 deletions(-) delete mode 100644 client/components/Dialog.js diff --git a/client/components/Dialog.js b/client/components/Dialog.js deleted file mode 100644 index f0840437e..000000000 --- a/client/components/Dialog.js +++ /dev/null @@ -1,127 +0,0 @@ -// Module Imports -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' -import React from 'react' -import ReactDOM from 'react-dom' -import PropTypes from 'prop-types' - - - - - -// Component Imports -import Component from './Component' - - - - - -/** - * Component for presenting dialogs and modals to the user. - */ -class Dialog extends Component { - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - static _renderControls (controls) { - /* eslint-disable react/no-array-index-key */ - return controls.map((control, index) => React.cloneElement(control, { key: index })) - /* eslint-enable */ - } - - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - render () { - const { - children, - className, - controls, - onClose, - showClose, - title, - } = this.props - - return ReactDOM.createPortal( - ( -
    -
    -

    {title}

    - - {showClose && ( - - )} -
    - -
    - {children} -
    - - {Boolean(controls) && ( -
    - - {Boolean(controls.primary) && ( -
    - {Dialog._renderControls(controls.primary)} -
    - )} - - {Boolean(controls.secondary) && ( -
    - {Dialog._renderControls(controls.secondary)} -
    - )} -
    -
    - )} -
    - ), - document.getElementById('DialogContainer') - ) - } -} - - - - - -Dialog.defaultProps = { - controls: null, - onClose: () => undefined, - showClose: true, - title: 'Dialog', -} - -Dialog.propTypes = { - controls: PropTypes.shape({ - primary: PropTypes.arrayOf(PropTypes.element), - secondary: PropTypes.arrayOf(PropTypes.element), - }), - onClose: PropTypes.func, - showClose: PropTypes.bool, - title: PropTypes.string, -} - - - - - -export default Dialog From 2c993d397aebd126f9cce2239a70d097a2ef1d4e Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 10 Jul 2019 06:15:27 +0000 Subject: [PATCH 40/64] refactor(LoginModal): use new Modal component instead of dialog, rename from LoginDialog --- client/components/AppLayout.js | 17 +- .../{LoginDialog.js => LoginModal.js} | 156 +++++++++--------- 2 files changed, 87 insertions(+), 86 deletions(-) rename client/components/{LoginDialog.js => LoginModal.js} (56%) diff --git a/client/components/AppLayout.js b/client/components/AppLayout.js index 2a48d4869..607cd94c3 100644 --- a/client/components/AppLayout.js +++ b/client/components/AppLayout.js @@ -21,7 +21,7 @@ import ErrorPage from '../pages/_error' import Header from './Header' import httpStatus from '../helpers/httpStatus' import initUserSession from '../helpers/initUserSession' -import LoginDialog from './LoginDialog' +import LoginModal from './LoginModal' import NProgress from './NProgress' import PageLayout from './AppLayout/PageLayout' import userHasPermission from '../helpers/userHasPermission' @@ -165,7 +165,6 @@ class AppLayout extends React.Component { const { renderLayout, isServer, - showLoginDialog, } = this.props return ( @@ -184,10 +183,7 @@ class AppLayout extends React.Component { - {showLoginDialog && ( - - )} - +
    ) } @@ -196,6 +192,13 @@ class AppLayout extends React.Component { Getters \***************************************************************************/ + get loginModalProps () { + return { + isOpen: this.props.showLoginModal, + onClose: this._handleLoginDialogClose, + } + } + get pageLayoutProps () { const { Component, @@ -237,7 +240,7 @@ class AppLayout extends React.Component { static mapStateToProps = (state) => ({ ...selectAuthentication(state), - showLoginDialog: selectFlagByName(state, { name: 'showLoginDialog' }), + showLoginModal: selectFlagByName(state, { name: 'showLoginDialog' }), user: selectUser(state), }) } diff --git a/client/components/LoginDialog.js b/client/components/LoginModal.js similarity index 56% rename from client/components/LoginDialog.js rename to client/components/LoginModal.js index 04ecd4c17..b376ec7cc 100644 --- a/client/components/LoginDialog.js +++ b/client/components/LoginModal.js @@ -7,16 +7,19 @@ import PropTypes from 'prop-types' // Component imports +import { asModal, ModalContent } from './Modal' import { connect } from '../store' import { selectAuthentication } from '../store/selectors' import { Router } from '../routes' -import Dialog from './Dialog' import ValidatedFormInput from './ValidatedFormInput' import Switch from './Switch' - +@asModal({ + className: 'login-dialog no-pad', + title: 'Login', +}) @connect class LoginDialog extends React.Component { /***************************************************************************\ @@ -106,84 +109,79 @@ class LoginDialog extends React.Component { } = this.state return ( - -
    - {error && !this.props.loggingIn && ( -
    -
    - Invalid email or password. -
    -
    - )} - - - - -
    -
    - -
    -
    - - -
    - -
    - -
    - Forgot password? - + + {error && !this.props.loggingIn && ( +
    +
    + Invalid email or password.
    -
    - -
    + + )} + + + + +
    +
    + +
    +
    + + +
    + +
    + +
    + Forgot password? + +
    +
    + ) } From 33b6efe4dd300381f7f186759d19b43b424f0f61 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 10 Jul 2019 06:17:23 +0000 Subject: [PATCH 41/64] refactor(document-page): rename DialogConainter to ModalContainer --- client/pages/_document.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/pages/_document.js b/client/pages/_document.js index 8437f28ba..ace332232 100644 --- a/client/pages/_document.js +++ b/client/pages/_document.js @@ -69,7 +69,7 @@ class FuelRatsWebsite extends Document { -
    +
    From 7071c3a14e307879b7cc14b9f833df03cc47419a Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 10 Jul 2019 06:17:42 +0000 Subject: [PATCH 42/64] chore: remove old dialog-container scss --- client/scss/_components.scss | 1 - client/scss/components/_dialog-container.scss | 5 ----- 2 files changed, 6 deletions(-) delete mode 100644 client/scss/components/_dialog-container.scss diff --git a/client/scss/_components.scss b/client/scss/_components.scss index c770d2978..c36b62eac 100644 --- a/client/scss/_components.scss +++ b/client/scss/_components.scss @@ -11,7 +11,6 @@ @import 'components/coin'; @import 'components/comment'; @import 'components/comments'; -@import 'components/dialog-container'; @import 'components/error'; @import 'components/grid'; @import 'components/header'; diff --git a/client/scss/components/_dialog-container.scss b/client/scss/components/_dialog-container.scss deleted file mode 100644 index 10c2231ee..000000000 --- a/client/scss/components/_dialog-container.scss +++ /dev/null @@ -1,5 +0,0 @@ -#DialogContainer { - z-index: 100; - - overflow: auto; -} From 6e0f25033030c3df4d3703a668f1fb2460ae1d7f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 10 Jul 2019 06:18:04 +0000 Subject: [PATCH 43/64] refactor(root-scss): update ModalContainer styles to work with new modals --- client/scss/_root.scss | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/client/scss/_root.scss b/client/scss/_root.scss index a570ed96b..f07b2e632 100644 --- a/client/scss/_root.scss +++ b/client/scss/_root.scss @@ -47,29 +47,40 @@ body { } } - > #DialogContainer { - display: flex; + > #ModalContainer { position: fixed; top: 0; left: 0; z-index: 401; - justify-content: center; + overflow: visible; - width: 100vw; - height: 100vh; - padding: 10vh 10vw; + > div { + display: flex; + position: fixed; + top: 0; + left: 0; - border: none; + align-items: flex-start; + justify-content: center; - overflow: auto; + width: 100vw; + height: 100vh; + padding: 10vh 10vw; - &:empty { - pointer-events: none; - } + border: none; + + transition: background 0.25s ease; + + overflow: auto; + + &:not(.open) { + pointer-events: none; + } - &:not(:empty) { - background: rgba($black-lightened, 0.8); + &.open { + background: rgba($black, 0.75); + } } } } From d4c91719d5465cb91c6331c8b46d01a4bb4ae9b5 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 10 Jul 2019 06:22:45 +0000 Subject: [PATCH 44/64] refactor(dialog-scss): fix styles to work with new modal component --- client/scss/core/_dialog.scss | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/client/scss/core/_dialog.scss b/client/scss/core/_dialog.scss index 4a621c0fe..369ee84a8 100644 --- a/client/scss/core/_dialog.scss +++ b/client/scss/core/_dialog.scss @@ -5,7 +5,6 @@ flex-direction: column; min-width: 60rem; - margin: 0 auto auto; padding: 2rem; border: none; @@ -15,10 +14,6 @@ overflow: hidden; pointer-events: initial; - &.transparency { - background-color: rgba($black, 0.75); - } - &.center-title > header { justify-content: center; } @@ -34,6 +29,8 @@ flex-shrink: 0; + padding-bottom: 2rem; + color: $white; h2 { @@ -48,11 +45,9 @@ } } - > .content { + > .modal-content { flex-shrink: 1; - padding: 2rem; - color: $white; input { From 7c89f0a15f5a8882ca5ddfd930292f4fda44f2bb Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 10 Jul 2019 06:23:03 +0000 Subject: [PATCH 45/64] refactor(PageLayout): rewrite to use hooks instead. --- client/components/AppLayout/PageLayout.js | 51 +++++++++++------------ 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/client/components/AppLayout/PageLayout.js b/client/components/AppLayout/PageLayout.js index fe81e9c6b..09de5c781 100644 --- a/client/components/AppLayout/PageLayout.js +++ b/client/components/AppLayout/PageLayout.js @@ -1,5 +1,5 @@ import React from 'react' -import { Transition } from 'react-spring' +import { useTransition } from 'react-spring' @@ -7,34 +7,33 @@ import { Transition } from 'react-spring' const TransitionContext = React.createContext(null) +const PageLayout = ({ items, keys, ...transitionProps }) => useTransition(items, keys, { + initial: true, + from: { opacity: 0 }, + enter: { opacity: 1 }, + leave: { opacity: 0 }, + config: { + tension: 350, + friction: 25, + clamp: true, + }, + ...transitionProps, +}).map(({ item, key, props }) => { + const { + Page, + pageProps, + shouldRender, + } = item + + return shouldRender && ( + + + + ) +}) -const PageLayout = ({ items, keys }) => ( - - {({ Page, pageProps, shouldRender }) => (style) => ( - - {shouldRender && ( - - )} - - )} - -) - - const { Consumer: TransitionContextConsumer, From 860b3dd9158ac2a28b688b1022cfe58d01b494f7 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 12 Jul 2019 08:26:24 +0000 Subject: [PATCH 46/64] fix(Modal): properly pass props to ModalHeader, fix scrolling content --- client/components/Modal.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/client/components/Modal.js b/client/components/Modal.js index 9a524fbe8..f12232af0 100644 --- a/client/components/Modal.js +++ b/client/components/Modal.js @@ -69,11 +69,11 @@ const Modal = (props) => { key={key} role="dialog" style={{ - transform: style.pos.interpolate((value) => `translate3d(0,${value}vh,0)`), + transform: style.pos.to((value) => (value ? `translate3d(0,${value}vh,0)` : undefined)), }}> @@ -122,9 +122,9 @@ const asModal = (opts) => (Component) => (props) => ( -export default Modal +export default asModal export { default as ModalContent } from './Modal/ModalContent' +export { default as ModalFooter } from './Modal/ModalFooter' export { Modal, - asModal, } From b717ded74a96c9348545476ddb34dc54858e0be6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Jul 2019 19:21:24 +0000 Subject: [PATCH 47/64] chore(deps): bump lodash from 4.17.11 to 4.17.13 Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.13. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.13) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a975dfed2..792e9af9b 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "koa-router": "^7.4.0", "koa-send": "^5.0.0", "localforage": "^1.7.3", - "lodash": "^4.17.11", + "lodash": "^4.17.13", "moment": "^2.24.0", "next": "8.1.0", "next-cookies": "^1.1.2", diff --git a/yarn.lock b/yarn.lock index 7f37e1412..f9699d31d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4982,10 +4982,10 @@ lodash.tail@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" integrity sha1-0jM6NtnncXyK0vfKyv7HwytERmQ= -lodash@^4.0.0, lodash@^4.11.2, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.10: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== +lodash@^4.0.0, lodash@^4.11.2, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.10: + version "4.17.13" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.13.tgz#0bdc3a6adc873d2f4e0c4bac285df91b64fc7b93" + integrity sha512-vm3/XWXfWtRua0FkUyEHBZy8kCPjErNBT9fJx8Zvs+U6zjqPbTUOpkaoum3O5uiA8sm+yNMHXfYkTUHFoMxFNA== log-symbols@^2.2.0: version "2.2.0" From 64e2909b2915bd34b3d772ffb45d4aa58c221bd4 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 12 Jul 2019 21:35:57 +0000 Subject: [PATCH 48/64] refactor(Carousel): stop using deprecated interpolate() method --- client/components/Carousel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/components/Carousel.js b/client/components/Carousel.js index 00a8997a6..ed8a5b803 100644 --- a/client/components/Carousel.js +++ b/client/components/Carousel.js @@ -148,7 +148,7 @@ class Carousel extends React.Component { `translate3d(${value}%,0,0)`), + transform: xPos.to((value) => (value ? `translate3d(${value}%,0,0)` : undefined)), }}> {slide.text} From 7c335bb26af466b3b83ed2e316e125fc40070e4a Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 12 Jul 2019 22:23:34 +0000 Subject: [PATCH 49/64] refactor: replace Dialog with Modal --- client/components/FirstLoginDialog.js | 43 ------ client/components/FirstLoginModal.js | 45 ++++++ .../{TermsDialog.js => TermsModal.js} | 144 ++++++++++-------- ...CartUpdateDialog.js => CartUpdateModal.js} | 138 ++++++++--------- ...illOrderDialog.js => FulfillOrderModal.js} | 56 +++---- 5 files changed, 212 insertions(+), 214 deletions(-) delete mode 100644 client/components/FirstLoginDialog.js create mode 100644 client/components/FirstLoginModal.js rename client/components/{TermsDialog.js => TermsModal.js} (53%) rename client/components/storefront/{CartUpdateDialog.js => CartUpdateModal.js} (89%) rename client/components/storefront/{FulfillOrderDialog.js => FulfillOrderModal.js} (84%) diff --git a/client/components/FirstLoginDialog.js b/client/components/FirstLoginDialog.js deleted file mode 100644 index 716da5413..000000000 --- a/client/components/FirstLoginDialog.js +++ /dev/null @@ -1,43 +0,0 @@ -// Module imports -import React from 'react' - - - - - -// Component imports -import { connect } from '../store' -import { selectUserDisplayRat } from '../store/selectors' -import Dialog from './Dialog' - - - - -const FirstLoginDialog = (props) => ( - -
    -

    -
    - Your name might be on the roster, but there is much more to being a fuel rat. -
    -
    - The information and guides in the link below will help you along your way. Good luck, and fly safe CMDR! -
    -
    -

    - New Rat Documentation -
    -
    -
    -) - - -FirstLoginDialog.mapStateToProps = (state) => ({ - displayRat: selectUserDisplayRat(state), -}) - - -export default connect(FirstLoginDialog) diff --git a/client/components/FirstLoginModal.js b/client/components/FirstLoginModal.js new file mode 100644 index 000000000..95f001430 --- /dev/null +++ b/client/components/FirstLoginModal.js @@ -0,0 +1,45 @@ +// Module imports +import React from 'react' + + + + + +// Component imports +import { connect } from '../store' +import { selectUserDisplayRat } from '../store/selectors' +import asModal, { ModalContent } from './Modal' + + + + +const FirstLoginModal = () => ( + +

    +
    + Your name might be on the roster, but there is much more to being a Fuel Rat. +
    +
    + The information and guides in the link below will help you along your way. Good luck, and fly safe CMDR! +
    +
    +

    + New Rat Documentation +
    +
    +) + +FirstLoginModal.mapStateToProps = (state) => ({ + displayRat: selectUserDisplayRat(state), +}) + + + + + +const modalProps = { + className: 'first-login-dialog', + title: 'Welcome to the Fuel Rats!', +} + +export default asModal(modalProps)(connect(FirstLoginModal)) diff --git a/client/components/TermsDialog.js b/client/components/TermsModal.js similarity index 53% rename from client/components/TermsDialog.js rename to client/components/TermsModal.js index c97e3af27..68f8de107 100644 --- a/client/components/TermsDialog.js +++ b/client/components/TermsModal.js @@ -6,20 +6,32 @@ import React from 'react' // Component imports -import Component from './Component' -import Dialog from './Dialog' +import asModal, { ModalContent, ModalFooter } from './Modal' +import classNames from '../helpers/classNames' +import { selectWordpressPageBySlug } from '../store/selectors' +import { connect } from '../store' -class TermsDialog extends Component { +// Component constants + + + + + +@asModal({ + className: 'terms-dialog', + hideClose: true, +}) +@connect +class WordpressTermsModal extends React.Component { /***************************************************************************\ Class Properties \***************************************************************************/ state = { - content: null, termsAgreed: false, loading: true, } @@ -34,66 +46,21 @@ class TermsDialog extends Component { async componentDidMount () { const { - dialogContent, + getWordpressPage, + page, + slug, } = this.props - let content = null - - if (typeof dialogContent === 'function') { - content = await dialogContent() + if (!page) { + await getWordpressPage(slug) } this.setState({ - content, loading: false, }) } - render () { - const { - onClose, - title, - } = this.props - - const { - content, - loading, - } = this.state - - return ( - - - {loading && ( -
    - )} - - {(!loading && content) && ( -
    - {content} -
    - )} - - {(!loading && !content) && ( -
    - )} -
    - ) - } - - - - - - /***************************************************************************\ - Getters - \***************************************************************************/ - - get controls () { + renderFooter () { const { checkboxLabel, onClose, @@ -106,9 +73,10 @@ class TermsDialog extends Component { const checkboxId = `termsDialog-${title.replace(/\s/gu, '')}-checkbox` - return { - primary: [ - ( + return ( + +
    +
    - ), - ( - ), - ], - } +
    + + ) + } + + /* eslint-disable react/no-danger */ + renderWordpressPage () { + const { page } = this.props + return ( +
    /giu, '
      ').replace(/
        /giu, '
          '), + }} /> + ) + } + /* eslint-enable react/no-danger */ + + render () { + const { + loading, + } = this.state + + const { + page, + } = this.props + + const classes = classNames( + ['loading', loading], + ['error', !loading && !page] + ) + + return ( + <> + + {this.renderWordpressPage(page)} + + {this.renderFooter()} + + ) } + + + + + + /***************************************************************************\ + Redux Properties + \***************************************************************************/ + + static mapDispatchToProps = ['getWordpressPage'] + + static mapStateToProps = (state, ownProps) => ({ + page: selectWordpressPageBySlug(state, ownProps), + }) } -export default TermsDialog +export default WordpressTermsModal diff --git a/client/components/storefront/CartUpdateDialog.js b/client/components/storefront/CartUpdateModal.js similarity index 89% rename from client/components/storefront/CartUpdateDialog.js rename to client/components/storefront/CartUpdateModal.js index 6e9e92d49..6587c962d 100644 --- a/client/components/storefront/CartUpdateDialog.js +++ b/client/components/storefront/CartUpdateModal.js @@ -9,7 +9,7 @@ import React from 'react' // Component imports import { connect } from '../../store' import { selectStoreCart } from '../../store/selectors' -import Dialog from '../Dialog' +import asModal, { ModalContent, ModalFooter } from '../Modal' import Component from '../Component' import isInStock from '../../helpers/isInStock' import getMoney from '../../helpers/getMoney' @@ -19,14 +19,17 @@ import getMoney from '../../helpers/getMoney' // Component constants -const CONFIRMATION_DISPLAY_TIME = 1000 - +const CONFIRMATION_DISPLAY_TIME = 1250 +@asModal({ + className: 'cart-update-dialog', + title: 'Add to Cart', +}) @connect -class CartUpdateDialog extends Component { +class CartUpdateModal extends Component { /***************************************************************************\ Private Methods \***************************************************************************/ @@ -102,10 +105,59 @@ class CartUpdateDialog extends Component { } } + renderFooter () { + const { + cart, + product, + } = this.props + const { + activeSKU: aSKU, + quantity, + } = this.state + + const activeSKU = aSKU === '' ? null : product.attributes.skus[aSKU] + + return ( + +
          +
          + + { + activeSKU && quantity > 0 + ? `${quantity} @ ${getMoney(activeSKU.price)}${quantity > 1 ? ` = ${getMoney(activeSKU.price * quantity)}` : ''}` + : getMoney(0) + } + + +
          + + ) + } + render () { const { product, - onClose, } = this.props const { @@ -123,16 +175,12 @@ class CartUpdateDialog extends Component { const activeSKU = this.state.activeSKU ? skus[this.state.activeSKU] : null return ( - -
          + <> + {do { if (updateComplete) {
          -

          {product.attributes.name} Updated!

          +

          {product.attributes.name} Updated!

          } else {
          @@ -181,8 +229,9 @@ class CartUpdateDialog extends Component {
          } }} -
          -
          + + {this.renderFooter()} + ) } @@ -190,65 +239,6 @@ class CartUpdateDialog extends Component { - /***************************************************************************\ - Getters - \***************************************************************************/ - - get controls () { - const { - cart, - product, - } = this.props - const { - activeSKU: aSKU, - quantity, - } = this.state - - const activeSKU = aSKU === '' ? null : product.attributes.skus[aSKU] - - return { - primary: [ - ( - - { - activeSKU && quantity > 0 - ? `${quantity} @ ${getMoney(activeSKU.price)}${quantity > 1 ? ` = ${getMoney(activeSKU.price * quantity)}` : ''}` - : getMoney(0) - } - - ), - ( - - ), - ], - } - } - - - - - /***************************************************************************\ Redux Properties \***************************************************************************/ @@ -262,4 +252,4 @@ class CartUpdateDialog extends Component { -export default CartUpdateDialog +export default CartUpdateModal diff --git a/client/components/storefront/FulfillOrderDialog.js b/client/components/storefront/FulfillOrderModal.js similarity index 84% rename from client/components/storefront/FulfillOrderDialog.js rename to client/components/storefront/FulfillOrderModal.js index 431e1a68f..061e42a99 100644 --- a/client/components/storefront/FulfillOrderDialog.js +++ b/client/components/storefront/FulfillOrderModal.js @@ -7,7 +7,7 @@ import PropTypes from 'prop-types' // Component imports import { connect } from '../../store' -import Dialog from '../Dialog' +import asModal, { ModalContent, ModalFooter } from '../Modal' import Component from '../Component' import ValidatedFormInput from '../ValidatedFormInput' @@ -18,9 +18,12 @@ import ValidatedFormInput from '../ValidatedFormInput' // Component constants const INVALID_CARRIER = 'Carrier is Required' - +@asModal({ + className: 'cart-update-dialog', + title: 'Update Order', +}) @connect -class CartUpdateDialog extends Component { +class FulfillOrderModal extends Component { /***************************************************************************\ Class Properties \***************************************************************************/ @@ -91,10 +94,6 @@ class CartUpdateDialog extends Component { \***************************************************************************/ render () { - const { - onClose, - } = this.props - const { error, carrier, @@ -102,12 +101,8 @@ class CartUpdateDialog extends Component { } = this.state return ( - -
          + <> + {error && !this.props.loggingIn && (
          @@ -129,8 +124,20 @@ class CartUpdateDialog extends Component { name="trackingNumber" onChange={this._handleChange} value={trackingNumber} /> -
          -
          + + +
          +
          + +
          + + ) } @@ -142,23 +149,6 @@ class CartUpdateDialog extends Component { Getters \***************************************************************************/ - get controls () { - return { - primary: [ - ( - - ), - ], - } - } - - get isValid () { const { submitting, @@ -199,4 +189,4 @@ class CartUpdateDialog extends Component { } -export default CartUpdateDialog +export default FulfillOrderModal From bc180fd45d620bca10b2d8981b43b465c30fb7fe Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 13 Jul 2019 03:02:51 +0000 Subject: [PATCH 50/64] refactor(LoginModal): finish switch to Modal decorator --- client/components/LoginModal.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/client/components/LoginModal.js b/client/components/LoginModal.js index b376ec7cc..7788fc865 100644 --- a/client/components/LoginModal.js +++ b/client/components/LoginModal.js @@ -7,12 +7,14 @@ import PropTypes from 'prop-types' // Component imports -import { asModal, ModalContent } from './Modal' import { connect } from '../store' import { selectAuthentication } from '../store/selectors' import { Router } from '../routes' -import ValidatedFormInput from './ValidatedFormInput' +import asModal, { ModalContent, ModalFooter } from './Modal' import Switch from './Switch' +import ValidatedFormInput from './ValidatedFormInput' + + @@ -21,7 +23,7 @@ import Switch from './Switch' title: 'Login', }) @connect -class LoginDialog extends React.Component { +class LoginModal extends React.Component { /***************************************************************************\ Class Properties \***************************************************************************/ @@ -88,6 +90,11 @@ class LoginDialog extends React.Component { } } + _handleRegisterClick = () => { + this.props.onClose() + Router.push('/register') + } + @@ -157,15 +164,11 @@ class LoginDialog extends React.Component { checked={remember} />
          - - +
          @@ -180,7 +183,7 @@ class LoginDialog extends React.Component { {this.props.loggingIn ? 'Submitting...' : 'Login'}
          -
          +
          ) } @@ -233,4 +236,4 @@ class LoginDialog extends React.Component { -export default LoginDialog +export default LoginModal From c4019ac614b8607b0bea5c5e4493dc09ccdb94c8 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 13 Jul 2019 03:04:51 +0000 Subject: [PATCH 51/64] refactor(Modal): finish internal modal logic, properly handle prop passing --- client/components/Modal.js | 126 +++++++++++---------- client/components/Modal/ModalFooter.js | 34 ++++++ client/components/Modal/ModalHeader.js | 5 +- client/components/Modal/ModalTransition.js | 22 ---- 4 files changed, 100 insertions(+), 87 deletions(-) create mode 100644 client/components/Modal/ModalFooter.js delete mode 100644 client/components/Modal/ModalTransition.js diff --git a/client/components/Modal.js b/client/components/Modal.js index f12232af0..a94ab7eae 100644 --- a/client/components/Modal.js +++ b/client/components/Modal.js @@ -1,7 +1,7 @@ // Module Imports import React, { useEffect, useCallback } from 'react' -import { animated } from 'react-spring' -import PropTypes from 'prop-types' +import { animated, useTransition } from 'react-spring' +import hoistNonReactStatics from 'hoist-non-react-statics' @@ -11,23 +11,63 @@ import PropTypes from 'prop-types' import classNames from '../helpers/classNames' import ModalHeader from './Modal/ModalHeader' import ModalPortal from './Modal/ModalPortal' -import useModalTransition from './Modal/ModalTransition' -const Modal = (props) => { +const renderModal = ({ item, key, props: style }) => { const { as, - children, className, hideClose, isOpen, onClose, - onSafeUnmount, title, - transitionProps, + } = item + + const { + Component: InnerModal, + children: innerModalChildren, + props: innerModalProps, + } = item.children + + const RootElement = animated[as] + + const rootClasses = classNames( + 'modal', + [className, className] + ) + + return isOpen && ( + (value ? `translate3d(0,${value}vh,0)` : undefined)) }}> + + + + + {innerModalChildren} + + + ) +} + + + + + +const OuterModal = (props) => { + const { + hideClose, + isOpen, + onClose, + onSafeUnmount, } = props @@ -49,74 +89,39 @@ const Modal = (props) => { } }, [handleGlobalKeyDown, hideClose, isOpen]) - const modalTransition = useModalTransition(isOpen, isOpen, { + const modalTransition = useTransition(props, JSON.stringify(props), { + from: { pos: -100 }, + enter: { pos: 0 }, + leave: { pos: -100 }, onDestroyed: onSafeUnmount, - ...transitionProps, + unique: true, + config: { + tension: 350, + }, }) - const RootElement = animated[as] - - const rootClasses = classNames( - 'modal', - [className, className] - ) - return ( - {modalTransition.map(({ item, key, props: style }) => item && ( - (value ? `translate3d(0,${value}vh,0)` : undefined)), - }}> - - - - {children} - - ))} + {modalTransition.map(renderModal)} ) } - - - - -Modal.defaultProps = { +OuterModal.defaultProps = { as: 'div', - hideClose: false, - isOpen: false, - onClose: () => undefined, - onSafeUnmount: () => undefined, - title: null, - transitionProps: undefined, -} - -Modal.propTypes = { - as: PropTypes.oneOf(Object.keys(animated)), - hideClose: PropTypes.any, - isOpen: PropTypes.any, - onClose: PropTypes.func, - onSafeUnmount: PropTypes.func, - title: PropTypes.string, - transitionProps: PropTypes.object, } -const asModal = (opts) => (Component) => (props) => ( - - - -) +const asModal = (options) => (Component) => hoistNonReactStatics(({ children, ...props }) => ( + + {{ Component, children, props }} + +), Component) @@ -125,6 +130,3 @@ const asModal = (opts) => (Component) => (props) => ( export default asModal export { default as ModalContent } from './Modal/ModalContent' export { default as ModalFooter } from './Modal/ModalFooter' -export { - Modal, -} diff --git a/client/components/Modal/ModalFooter.js b/client/components/Modal/ModalFooter.js new file mode 100644 index 000000000..33ee725a0 --- /dev/null +++ b/client/components/Modal/ModalFooter.js @@ -0,0 +1,34 @@ +import React from 'react' + + +import classNames from '../../helpers/classNames' + + + + + +const ModalFooter = (props) => { + const { + className, + children, + } = props + + const classes = classNames( + 'modal-footer', + [className, className] + ) + + return ( +
          + + {children} + +
          + ) +} + + + + + +export default ModalFooter diff --git a/client/components/Modal/ModalHeader.js b/client/components/Modal/ModalHeader.js index 6ff8c9943..527fc472c 100644 --- a/client/components/Modal/ModalHeader.js +++ b/client/components/Modal/ModalHeader.js @@ -6,13 +6,12 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' const ModalHeader = ({ hideClose, onClose, title }) => (title || !hideClose) && ( -
          +
          {title && (

          {title}

          )} {!hideClose && (
          - {showFullfillDialog && ( - - )} + ) } From b839215ef61ed3da51bec40d0f63c959df5f0a1c Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 13 Jul 2019 05:17:22 +0000 Subject: [PATCH 57/64] refactor(terms-dialog-scss): fix styles for new modal component, fix pre element styling --- client/scss/components/_terms-dialog.scss | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/client/scss/components/_terms-dialog.scss b/client/scss/components/_terms-dialog.scss index 9170e9093..ecdbc723f 100644 --- a/client/scss/components/_terms-dialog.scss +++ b/client/scss/components/_terms-dialog.scss @@ -1,13 +1,18 @@ -div.terms-dialog[role='dialog'] { +.terms-dialog[role='dialog'] { max-height: 100%; - > .content { - margin: 2rem 0; + > .modal-content { + display: block; + padding: 2rem; color: #FFFFFF; background: rgba($white, 0.15); overflow: auto; + + pre { + background-color: rgba(0, 0, 0, 0.15); + } } } From 5f9e0ebf4c3d0c666ed0d9f24725e28c5895924b Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 13 Jul 2019 05:18:02 +0000 Subject: [PATCH 58/64] refactor(dialog): adjust various selectors to use classes over other means, fix up some styling --- client/scss/core/_dialog.scss | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/client/scss/core/_dialog.scss b/client/scss/core/_dialog.scss index 369ee84a8..db75483a7 100644 --- a/client/scss/core/_dialog.scss +++ b/client/scss/core/_dialog.scss @@ -9,20 +9,16 @@ border: none; - background-color: rgba($black, 0.99); + background-color: rgba($black, 0.98); overflow: hidden; pointer-events: initial; - &.center-title > header { + &.center-title > .modal-header { justify-content: center; } - &.no-pad > .content { - padding: 2rem 0 0; - } - - > header { + > .modal-header { display: flex; align-items: stretch; @@ -37,7 +33,7 @@ padding: 1rem 2rem; } - [name='close'] { + .button-close { margin-left: auto; padding: 1rem; @@ -48,20 +44,28 @@ > .modal-content { flex-shrink: 1; + padding: 0 2rem; + color: $white; - input { - color: $black; + &.no-pad { + padding: 0; } - > .center-content { + &.center { justify-content: center; text-align: center; } + + input { + color: $black; + } } - > footer { + .modal-footer { + padding: 2rem 0 0; + color: $white; } @@ -70,11 +74,7 @@ flex-shrink: 0; - padding: 2rem 0 0; - - &.compact { - padding: 0; - } + padding: 0; > .primary, > .secondary { From f58bc7de550211f3fe3f601f381ed185bb217b72 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 13 Jul 2019 05:18:40 +0000 Subject: [PATCH 59/64] refactor(fonts-scss): use fallback font-display instead of swap --- client/scss/fonts/_open-sans.scss | 2 +- client/scss/fonts/_raleway.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/scss/fonts/_open-sans.scss b/client/scss/fonts/_open-sans.scss index 421ea323a..bc44ac10e 100644 --- a/client/scss/fonts/_open-sans.scss +++ b/client/scss/fonts/_open-sans.scss @@ -1,5 +1,5 @@ @font-face { - font-display: swap; + font-display: fallback; font-family: 'Open Sans'; font-style: normal; font-weight: normal; diff --git a/client/scss/fonts/_raleway.scss b/client/scss/fonts/_raleway.scss index 63b512973..b56c10d02 100644 --- a/client/scss/fonts/_raleway.scss +++ b/client/scss/fonts/_raleway.scss @@ -1,5 +1,5 @@ @font-face { - font-display: swap; + font-display: fallback; font-family: Raleway; font-style: normal; font-weight: normal; From f84685bf77edd0e738516bfb5882d319a924b550 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 13 Jul 2019 09:21:26 +0000 Subject: [PATCH 60/64] refactor(fonts-scss): go back to swap. that was a mistake. --- client/scss/fonts/_open-sans.scss | 2 +- client/scss/fonts/_raleway.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/scss/fonts/_open-sans.scss b/client/scss/fonts/_open-sans.scss index bc44ac10e..421ea323a 100644 --- a/client/scss/fonts/_open-sans.scss +++ b/client/scss/fonts/_open-sans.scss @@ -1,5 +1,5 @@ @font-face { - font-display: fallback; + font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: normal; diff --git a/client/scss/fonts/_raleway.scss b/client/scss/fonts/_raleway.scss index b56c10d02..63b512973 100644 --- a/client/scss/fonts/_raleway.scss +++ b/client/scss/fonts/_raleway.scss @@ -1,5 +1,5 @@ @font-face { - font-display: fallback; + font-display: swap; font-family: Raleway; font-style: normal; font-weight: normal; From 3c81e4dcf6538162baadb16027aebaa2db7bb655 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 13 Jul 2019 18:36:30 +0000 Subject: [PATCH 61/64] style: add section comments, fix section spacing. --- client/components/Modal.js | 4 ++-- client/components/Modal/ModalContent.js | 5 +++++ client/components/Modal/ModalFooter.js | 5 +++++ client/components/Modal/ModalHeader.js | 1 + client/components/Modal/ModalPortal.js | 4 ++-- client/components/RatCard/DefaultRatButton.js | 8 ++------ 6 files changed, 17 insertions(+), 10 deletions(-) diff --git a/client/components/Modal.js b/client/components/Modal.js index a94ab7eae..ab1f01dc5 100644 --- a/client/components/Modal.js +++ b/client/components/Modal.js @@ -1,4 +1,4 @@ -// Module Imports +// Module imports import React, { useEffect, useCallback } from 'react' import { animated, useTransition } from 'react-spring' import hoistNonReactStatics from 'hoist-non-react-statics' @@ -7,7 +7,7 @@ import hoistNonReactStatics from 'hoist-non-react-statics' -// Component Imports +// Component imports import classNames from '../helpers/classNames' import ModalHeader from './Modal/ModalHeader' import ModalPortal from './Modal/ModalPortal' diff --git a/client/components/Modal/ModalContent.js b/client/components/Modal/ModalContent.js index 9ae2e5716..b36c453a1 100644 --- a/client/components/Modal/ModalContent.js +++ b/client/components/Modal/ModalContent.js @@ -1,6 +1,11 @@ +// Module imports import React from 'react' + + + +// Component imports import classNames from '../../helpers/classNames' diff --git a/client/components/Modal/ModalFooter.js b/client/components/Modal/ModalFooter.js index 33ee725a0..4027b6faa 100644 --- a/client/components/Modal/ModalFooter.js +++ b/client/components/Modal/ModalFooter.js @@ -1,6 +1,11 @@ +// Module imports import React from 'react' + + + +// Component imports import classNames from '../../helpers/classNames' diff --git a/client/components/Modal/ModalHeader.js b/client/components/Modal/ModalHeader.js index 527fc472c..2b28db8a5 100644 --- a/client/components/Modal/ModalHeader.js +++ b/client/components/Modal/ModalHeader.js @@ -1,3 +1,4 @@ +// Module imports import React from 'react' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' diff --git a/client/components/Modal/ModalPortal.js b/client/components/Modal/ModalPortal.js index fd7dd9707..9927270c8 100644 --- a/client/components/Modal/ModalPortal.js +++ b/client/components/Modal/ModalPortal.js @@ -1,4 +1,4 @@ -// Module Imports +// Module imports import { useMemo, useEffect } from 'react' import { createPortal } from 'react-dom' @@ -6,7 +6,7 @@ import { createPortal } from 'react-dom' -// Component Constants +// Component constants const modalRoot = typeof document === 'undefined' ? null : document.getElementById('ModalContainer') diff --git a/client/components/RatCard/DefaultRatButton.js b/client/components/RatCard/DefaultRatButton.js index 84e877ed8..a3cca4881 100644 --- a/client/components/RatCard/DefaultRatButton.js +++ b/client/components/RatCard/DefaultRatButton.js @@ -5,6 +5,8 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' + + // Component imports import { connect } from '../../store' import { selectUserId, selectUserDisplayRatId } from '../../store/selectors' @@ -13,12 +15,6 @@ import { selectUserId, selectUserDisplayRatId } from '../../store/selectors' -// Component Constants - - - - - @connect class ClassName extends React.Component { /***************************************************************************\ From 0fc4a7915e687bfb5414f030ecbd192d09ccc20b Mon Sep 17 00:00:00 2001 From: NumberPi <15672322+314numberpi@users.noreply.github.com> Date: Sat, 13 Jul 2019 21:47:05 +0100 Subject: [PATCH 62/64] fix(input-group-border): fix missing border --- client/scss/components/_input-group.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/scss/components/_input-group.scss b/client/scss/components/_input-group.scss index 0afd03d8b..700d69c19 100644 --- a/client/scss/components/_input-group.scss +++ b/client/scss/components/_input-group.scss @@ -3,7 +3,7 @@ width: 100%; - border-width: 0.1rem solid $grey-lightened; + border: 0.1rem solid $grey-lightened; box-shadow: 0 0 0.5rem 0 rgba($red, 0); color: inherit; From ea018e0e3925879f819b5cce06392f589d4b1288 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 15 Jul 2019 00:33:16 +0000 Subject: [PATCH 63/64] refactor: disable store because flyn is gone. --- client/pages/storefront/checkout.js | 17 ++++++++++------- client/pages/storefront/list.js | 14 ++++++++++++-- client/scss/_helpers.scss | 1 + client/scss/helpers/_disabled.scss | 5 +++++ client/scss/helpers/_text-format.scss | 7 +++++++ 5 files changed, 35 insertions(+), 9 deletions(-) create mode 100644 client/scss/helpers/_disabled.scss diff --git a/client/pages/storefront/checkout.js b/client/pages/storefront/checkout.js index 03c51fead..07f7d5284 100644 --- a/client/pages/storefront/checkout.js +++ b/client/pages/storefront/checkout.js @@ -1,6 +1,6 @@ // Module imports import React from 'react' -import { Elements } from 'react-stripe-elements' +// import { Elements } from 'react-stripe-elements' @@ -9,9 +9,9 @@ import { Elements } from 'react-stripe-elements' // Component imports import { actions, connect } from '../../store' import { withStripe } from '../../components/AppLayout' -import StoreControlBar from '../../components/storefront/StoreControlBar' +// import StoreControlBar from '../../components/storefront/StoreControlBar' import Component from '../../components/Component' -import CheckoutForm from '../../components/storefront/CheckoutForm' +// import CheckoutForm from '../../components/storefront/CheckoutForm' import PageWrapper from '../../components/PageWrapper' import { selectStoreCart } from '../../store/selectors' @@ -45,20 +45,23 @@ class Checkout extends Component { } render () { - const { - cart, - } = this.props + // const { + // cart, + // } = this.props return ( <>
          +

          We said the store was closed. Why are you here?

          +
          + {/*
          -
          +
    */} ) diff --git a/client/pages/storefront/list.js b/client/pages/storefront/list.js index e81009dfb..77ce2b384 100644 --- a/client/pages/storefront/list.js +++ b/client/pages/storefront/list.js @@ -7,7 +7,7 @@ import React from 'react' // Component imports import { actions, connect } from '../../store' -import StoreControlBar from '../../components/storefront/StoreControlBar' +// import StoreControlBar from '../../components/storefront/StoreControlBar' import CartUpdateDialog from '../../components/storefront/CartUpdateDialog' import Component from '../../components/Component' import PageWrapper from '../../components/PageWrapper' @@ -70,7 +70,17 @@ class ListProducts extends Component { <>
    - +

    + Due to an extended leave of our quartermaster, merch from this store is temporarily unavailable. +
    +
    + Those with outstanding orders will have their orders fulfilled by the end of July. Apologies for the inconvenience. +
    +
    + You can still buy our shirts on Teespring! +

    +
    +
    {Object.values(this.props.products).sort(productPriorityDecendingSort).map((product) => ( Date: Mon, 15 Jul 2019 03:46:16 +0000 Subject: [PATCH 64/64] refactor(disabled-scss): remove unneeded rule --- client/scss/helpers/_disabled.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/client/scss/helpers/_disabled.scss b/client/scss/helpers/_disabled.scss index d2cccab5b..8e213a42d 100644 --- a/client/scss/helpers/_disabled.scss +++ b/client/scss/helpers/_disabled.scss @@ -1,5 +1,4 @@ .force-disabled { - background: #fff; filter: grayscale(100%) opacity(20%); pointer-events: none; }