diff --git a/.all-contributorsrc b/.all-contributorsrc index 19368a8..7b08ee6 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -27,6 +27,7 @@ "profile": "https://github.com/ezhivitsa", "contributions": [ "code", + "design", "review" ] } diff --git a/README.md b/README.md index c977e25..a8da081 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds -| [
Ihar](https://github.com/IharKrasnik)
[💻](https://github.com/paralect/nextjs-landing-starter/commits?author=IharKrasnik "Code") [🎨](#design-IharKrasnik "Design") [📖](https://github.com/paralect/nextjs-landing-starter/commits?author=IharKrasnik "Documentation") [🤔](#ideas-IharKrasnik "Ideas, Planning, & Feedback") [👀](#review-IharKrasnik "Reviewed Pull Requests") | [
Evgeny Zhivitsa](https://github.com/ezhivitsa)
[💻](https://github.com/paralect/nextjs-landing-starter/commits?author=ezhivitsa "Code") [👀](#review-ezhivitsa "Reviewed Pull Requests") | +| [
Ihar](https://github.com/IharKrasnik)
[💻](https://github.com/paralect/nextjs-landing-starter/commits?author=IharKrasnik "Code") [🎨](#design-IharKrasnik "Design") [📖](https://github.com/paralect/nextjs-landing-starter/commits?author=IharKrasnik "Documentation") [🤔](#ideas-IharKrasnik "Ideas, Planning, & Feedback") [👀](#review-IharKrasnik "Reviewed Pull Requests") | [
Evgeny Zhivitsa](https://github.com/ezhivitsa)
[💻](https://github.com/paralect/nextjs-landing-starter/commits?author=ezhivitsa "Code") [🎨](#design-ezhivitsa "Design") [👀](#review-ezhivitsa "Reviewed Pull Requests") | | :---: | :---: | diff --git a/package-lock.json b/package-lock.json index deec168..91432a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -790,17 +790,17 @@ "@babel/plugin-transform-template-literals": "7.0.0-beta.42", "@babel/plugin-transform-typeof-symbol": "7.0.0-beta.42", "@babel/plugin-transform-unicode-regex": "7.0.0-beta.42", - "browserslist": "3.2.6", + "browserslist": "3.2.7", "invariant": "2.2.4", "semver": "5.5.0" }, "dependencies": { "browserslist": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.6.tgz", - "integrity": "sha512-XCsMSg9V4S1VRdcp265dJ+8kBRjfuFXcavbisY7G6T9QI0H1Z24PP53vvs0WDYWqm38Mco1ILDtafcS8ZR4xiw==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.7.tgz", + "integrity": "sha512-oYVLxFVqpX9uMhOIQBLtZL+CX4uY8ZpWcjNTaxyWl5rO8yA9SSNikFnAfvk8J3P/7z3BZwNmEqFKaJoYltj3MQ==", "requires": { - "caniuse-lite": "1.0.30000833", + "caniuse-lite": "1.0.30000839", "electron-to-chromium": "1.3.45" } } @@ -824,7 +824,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==", "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "regenerator-runtime": "0.11.1" } }, @@ -893,9 +893,9 @@ } }, "@zeit/next-css": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@zeit/next-css/-/next-css-0.1.5.tgz", - "integrity": "sha512-N9RowncpY7XNLxDASFW+7nXxctuDq1Za1V7oC+eN2xZBdFIe0ei+KJQkIHp3cBIV65galghx5nvADLhTUzwUcg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@zeit/next-css/-/next-css-0.2.0.tgz", + "integrity": "sha512-FgxyNJuFCXVLI4KPEp3r2Zz3wRbwCiVqTgq2hwq/RhUXAAIhxHeJHukBTCk6BbGeZRbsez4qpJNDD1Osjpho4Q==", "requires": { "css-loader": "0.28.9", "extract-text-webpack-plugin": "3.0.2", @@ -1576,7 +1576,7 @@ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000833", + "caniuse-db": "1.0.30000839", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "5.2.18", @@ -2286,7 +2286,7 @@ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "regenerator-runtime": "0.11.1" } }, @@ -2588,7 +2588,7 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "1.0.30000833", + "caniuse-db": "1.0.30000839", "electron-to-chromium": "1.3.45" } }, @@ -2631,7 +2631,7 @@ "chownr": "1.0.1", "glob": "7.1.2", "graceful-fs": "4.1.11", - "lru-cache": "4.1.2", + "lru-cache": "4.1.3", "mississippi": "2.0.0", "mkdirp": "0.5.1", "move-concurrently": "1.0.1", @@ -2713,20 +2713,20 @@ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000833", + "caniuse-db": "1.0.30000839", "lodash.memoize": "4.1.2", "lodash.uniq": "4.5.0" } }, "caniuse-db": { - "version": "1.0.30000833", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000833.tgz", - "integrity": "sha1-K9e+cqQBZY0svLj012AN7r6xxnY=" + "version": "1.0.30000839", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000839.tgz", + "integrity": "sha1-VahuQCx0rhcUlwe+o+o5lSIjNJc=" }, "caniuse-lite": { - "version": "1.0.30000833", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000833.tgz", - "integrity": "sha512-tKNuKu4WLImh4NxoTgntxFpDrRiA0Q6Q1NycNhuMST0Kx+Pt8YnRDW6V8xsyH6AtO2CpAoibatEk5eaEhP3O1g==" + "version": "1.0.30000839", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000839.tgz", + "integrity": "sha512-gJZIfmkuy84agOeAZc7WJOexZhisZaBSFk96gkGM6TkH7+1mBfr/MSPnXC8lO0g7guh/ucbswYjruvDbzc6i0g==" }, "case-sensitive-paths-webpack-plugin": { "version": "2.1.1", @@ -3156,9 +3156,9 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "core-js": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", - "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", + "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" }, "core-util-is": { "version": "1.0.2", @@ -3187,9 +3187,9 @@ } }, "create-ecdh": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.1.tgz", - "integrity": "sha512-iZvCCg8XqHQZ1ioNBTzXS/cQSkqkqcPs8xSX4upNB+DAk9Ht3uzQf2J32uAHNCne8LDmKr29AgZrEs4oIrwLuQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "requires": { "bn.js": "4.11.8", "elliptic": "6.4.0" @@ -3225,7 +3225,7 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "4.1.2", + "lru-cache": "4.1.3", "shebang-command": "1.2.0", "which": "1.3.0" } @@ -3257,7 +3257,7 @@ "requires": { "browserify-cipher": "1.0.1", "browserify-sign": "4.0.4", - "create-ecdh": "4.0.1", + "create-ecdh": "4.0.3", "create-hash": "1.2.0", "create-hmac": "1.1.7", "diffie-hellman": "5.0.3", @@ -3640,9 +3640,9 @@ "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" }, "domhandler": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", - "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "requires": { "domelementtype": "1.3.0" } @@ -3670,9 +3670,9 @@ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" }, "duplexify": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz", - "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { "end-of-stream": "1.4.1", "inherits": "2.0.3", @@ -3740,7 +3740,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.21" + "iconv-lite": "0.4.23" } }, "end-of-stream": { @@ -4207,9 +4207,9 @@ } }, "eslint-plugin-react": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.7.0.tgz", - "integrity": "sha512-KC7Snr4YsWZD5flu6A5c0AcIZidzW3Exbqp7OT67OaD2AppJtlBr/GuPrW/vaQM/yfZotEvKAdrxrO+v8vwYJA==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.8.1.tgz", + "integrity": "sha512-2wd+6XS1nhFWONgHB7LH8DiDx4Ts/IvLKuOTYYdAirVU8sjNf+YGa25KL5ojt2vScsDe7IGEwqiny98lr6Ks2g==", "dev": true, "requires": { "doctrine": "2.1.0", @@ -4364,7 +4364,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "2.2.3" + "fill-range": "2.2.4" } }, "extend": { @@ -4398,7 +4398,7 @@ "dev": true, "requires": { "chardet": "0.4.2", - "iconv-lite": "0.4.21", + "iconv-lite": "0.4.23", "tmp": "0.0.33" } }, @@ -4460,7 +4460,7 @@ "@mrmlnc/readdir-enhanced": "2.2.1", "glob-parent": "3.1.0", "is-glob": "4.0.0", - "merge2": "1.2.1", + "merge2": "1.2.2", "micromatch": "3.1.10" }, "dependencies": { @@ -4780,7 +4780,7 @@ "object-assign": "4.1.1", "promise": "7.3.1", "setimmediate": "1.0.5", - "ua-parser-js": "0.7.17" + "ua-parser-js": "0.7.18" }, "dependencies": { "core-js": { @@ -4819,13 +4819,13 @@ "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" }, "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { "is-number": "2.1.0", "isobject": "2.1.0", - "randomatic": "1.1.7", + "randomatic": "3.0.0", "repeat-element": "1.1.2", "repeat-string": "1.6.1" } @@ -4846,7 +4846,7 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "requires": { "commondir": "1.0.1", - "make-dir": "1.2.0", + "make-dir": "1.3.0", "pkg-dir": "2.0.0" } }, @@ -5791,7 +5791,7 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "requires": { "domelementtype": "1.3.0", - "domhandler": "2.4.1", + "domhandler": "2.4.2", "domutils": "1.7.0", "entities": "1.1.1", "inherits": "2.0.3", @@ -5831,9 +5831,9 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" }, "iconv-lite": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", - "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { "safer-buffer": "2.1.2" } @@ -6746,9 +6746,9 @@ } }, "lru-cache": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", - "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { "pseudomap": "1.0.2", "yallist": "2.1.2" @@ -6760,9 +6760,9 @@ "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=" }, "make-dir": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", - "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "requires": { "pify": "3.0.0" } @@ -6805,6 +6805,11 @@ "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=" }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" + }, "mathml-tag-names": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.0.tgz", @@ -6932,9 +6937,9 @@ } }, "merge2": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.1.tgz", - "integrity": "sha512-wUqcG5pxrAcaFI1lkqkMnk3Q7nUxV/NWfpAFSeWUwG9TRODnBDCUHa75mi3o3vLWQ5N4CQERWCauSlP0I3ZqUg==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", + "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==" }, "micromatch": { "version": "2.3.11", @@ -7036,13 +7041,13 @@ "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "requires": { "concat-stream": "1.6.2", - "duplexify": "3.5.4", + "duplexify": "3.6.0", "end-of-stream": "1.4.1", "flush-write-stream": "1.0.3", "from2": "2.3.0", "parallel-transform": "1.1.0", "pump": "2.0.1", - "pumpify": "1.4.0", + "pumpify": "1.5.0", "stream-each": "1.2.2", "through2": "2.0.3" } @@ -7166,9 +7171,9 @@ "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==" }, "next": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/next/-/next-6.0.0.tgz", - "integrity": "sha1-cASJ/52Tw2863gtHTQi5sN2e97M=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/next/-/next-6.0.1.tgz", + "integrity": "sha1-3FYLMsw8wc/h7U66jlL8No0CFWQ=", "requires": { "@babel/core": "7.0.0-beta.42", "@babel/plugin-proposal-class-properties": "7.0.0-beta.42", @@ -7204,16 +7209,17 @@ "path-to-regexp": "2.1.0", "prop-types": "15.6.0", "prop-types-exact": "1.1.1", - "react-hot-loader": "4.1.1", + "react-hot-loader": "4.1.3", "recursive-copy": "2.0.6", "resolve": "1.5.0", "send": "0.16.1", + "source-map": "0.5.7", "strip-ansi": "3.0.1", "styled-jsx": "2.2.6", "touch": "3.1.0", "uglifyjs-webpack-plugin": "1.1.6", "unfetch": "3.0.0", - "update-check": "1.3.2", + "update-check": "1.4.0", "url": "0.11.0", "uuid": "3.1.0", "walk": "2.3.9", @@ -7246,6 +7252,11 @@ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, + "nice-try": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", + "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==" + }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", @@ -7276,7 +7287,7 @@ "querystring-es3": "0.2.1", "readable-stream": "2.3.6", "stream-browserify": "2.0.1", - "stream-http": "2.8.1", + "stream-http": "2.8.2", "string_decoder": "1.1.1", "timers-browserify": "2.0.10", "tty-browserify": "0.0.0", @@ -7346,13 +7357,13 @@ } }, "npm-run-all": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.2.tgz", - "integrity": "sha512-Z2aRlajMK4SQ8u19ZA75NZZu7wupfCNQWdYosIi8S6FgBdGf/8Y6Hgyjdc8zU2cYmIRVCx1nM80tJPkdEd+UYg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.3.tgz", + "integrity": "sha512-aOG0N3Eo/WW+q6sUIdzcV2COS8VnTZCmdji0VQIAZF3b+a3YWb0AD0vFIyjKec18A7beLGbaQ5jFTNI2bPt9Cg==", "requires": { "ansi-styles": "3.2.1", "chalk": "2.4.1", - "cross-spawn": "5.1.0", + "cross-spawn": "6.0.5", "memorystream": "0.3.1", "minimatch": "3.0.4", "ps-tree": "1.1.0", @@ -7379,6 +7390,18 @@ "supports-color": "5.4.0" } }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -7831,7 +7854,7 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", "requires": { - "caniuse-lite": "1.0.30000833", + "caniuse-lite": "1.0.30000839", "electron-to-chromium": "1.3.45" } }, @@ -8696,7 +8719,7 @@ "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", "requires": { "browserslist": "2.11.3", - "caniuse-lite": "1.0.30000833", + "caniuse-lite": "1.0.30000839", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "6.0.22", @@ -8708,7 +8731,7 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", "requires": { - "caniuse-lite": "1.0.30000833", + "caniuse-lite": "1.0.30000839", "electron-to-chromium": "1.3.45" } }, @@ -8718,7 +8741,7 @@ "integrity": "sha1-sd21pZZrFvSNxJmERNS7xsfZ2DQ=", "requires": { "browserslist": "2.11.3", - "caniuse-lite": "1.0.30000833", + "caniuse-lite": "1.0.30000839", "lodash.memoize": "4.1.2", "lodash.uniq": "4.5.0" } @@ -9120,6 +9143,62 @@ } } }, + "postcss-hexrgba": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-hexrgba/-/postcss-hexrgba-1.0.1.tgz", + "integrity": "sha512-zFJ5XEoh6aD1clOCxHx2D2Vj2dzcr86t5OXgZKB0K2z0LWZlWhdVJV1lpJBRX075qhTSbKqqjemUHU+TSy9Buw==", + "requires": { + "postcss": "6.0.22" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "postcss": { + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "3.0.0" + } + } + } + }, "postcss-html": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.18.0.tgz", @@ -10625,11 +10704,11 @@ } }, "pumpify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", - "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.0.tgz", + "integrity": "sha512-UWi0klDoq8xtVzlMRgENV9F7iCTZExaJQSQL187UXsxpk9NnrKGqTqqUNYAKGOzucSOxs2+jUnRNI+rLviPhJg==", "requires": { - "duplexify": "3.5.4", + "duplexify": "3.6.0", "inherits": "2.0.3", "pump": "2.0.1" } @@ -10645,9 +10724,9 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, "query-string": { @@ -10675,39 +10754,24 @@ "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=" }, "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" }, "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "1.1.6" - } + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, @@ -10774,15 +10838,15 @@ } }, "react-hot-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.1.1.tgz", - "integrity": "sha512-bwDWesjqXABplFfqNOC6imbmW9y1JtT5RAo+hdIJ4OW2FsU48nrVzFiG8z9a+eB3Xd0C+KzFwD8aq31M+6SYKQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.1.3.tgz", + "integrity": "sha512-CF3Y/qUfL1PkM6TPrELNsSiHGKJFRnpyLdzsk+HV4IIuQAY2g1aZXQmK4L/O8WOaldoOujxAYfRfpzrWTvmvtg==", "requires": { "fast-levenshtein": "2.0.6", "global": "4.3.2", "hoist-non-react-statics": "2.5.0", "prop-types": "15.6.1", - "react-lifecycles-compat": "2.0.2", + "react-lifecycles-compat": "3.0.4", "shallowequal": "1.0.2" } }, @@ -10792,9 +10856,9 @@ "integrity": "sha512-NRlRo0RPxWRMQT7osj8UCBSSXsGOxhF1pre84ildhuft5S2U382NOs7tg29osWSjbO90L2a3VTCqadA/LnAzHQ==" }, "react-lifecycles-compat": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-2.0.2.tgz", - "integrity": "sha512-BPksUj7VMAAFhcCw79sZA0Ow/LTAEjs3Sio1AQcuwLeOP+ua0f/08Su2wyiW+JjDDH6fRqNy3h5CLXh21u1mVg==" + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "read-cache": { "version": "1.0.0", @@ -11050,7 +11114,7 @@ "trim-trailing-lines": "1.1.1", "unherit": "1.1.1", "unist-util-remove-position": "1.1.2", - "vfile-location": "2.0.2", + "vfile-location": "2.0.3", "xtend": "4.0.1" } }, @@ -11117,7 +11181,7 @@ "mime-types": "2.1.18", "oauth-sign": "0.8.2", "performance-now": "2.1.0", - "qs": "6.5.1", + "qs": "6.5.2", "safe-buffer": "5.1.2", "stringstream": "0.0.5", "tough-cookie": "2.3.4", @@ -11470,7 +11534,7 @@ "extend-shallow": "2.0.1", "map-cache": "0.2.2", "source-map": "0.5.7", - "source-map-resolve": "0.5.1", + "source-map-resolve": "0.5.2", "use": "3.1.0" }, "dependencies": { @@ -11592,9 +11656,9 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "source-map-resolve": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", - "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { "atob": "2.1.1", "decode-uri-component": "0.2.0", @@ -11752,9 +11816,9 @@ } }, "stream-http": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.1.tgz", - "integrity": "sha512-cQ0jo17BLca2r0GfRdZKYAGLU6JRoIWxqSOakUMuKOT6MOK7AAlE856L33QuDmAy/eeOrhLee3dZKX0Uadu93A==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.2.tgz", + "integrity": "sha512-QllfrBhqF1DPcz46WxKTs6Mz1Bpc+8Qm6vbqOpVav5odAXwbyzwnEczoWqtxrsmlO+cJqtPrp/8gWKWjaKLLlA==", "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.3", @@ -11965,8 +12029,8 @@ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.4.1.tgz", "integrity": "sha512-YqUclCBDXUT9Y7aQ8Xv+ja8yhTZYJoMsOD7WS++gZIJLCpCu+gPcKGDlhk6S3WxhLkTcNVdaMZAWys2nzZCH7g==", "requires": { - "browserslist": "3.2.6", - "caniuse-lite": "1.0.30000833", + "browserslist": "3.2.7", + "caniuse-lite": "1.0.30000839", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "6.0.22", @@ -11979,11 +12043,11 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "browserslist": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.6.tgz", - "integrity": "sha512-XCsMSg9V4S1VRdcp265dJ+8kBRjfuFXcavbisY7G6T9QI0H1Z24PP53vvs0WDYWqm38Mco1ILDtafcS8ZR4xiw==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.7.tgz", + "integrity": "sha512-oYVLxFVqpX9uMhOIQBLtZL+CX4uY8ZpWcjNTaxyWl5rO8yA9SSNikFnAfvk8J3P/7z3BZwNmEqFKaJoYltj3MQ==", "requires": { - "caniuse-lite": "1.0.30000833", + "caniuse-lite": "1.0.30000839", "electron-to-chromium": "1.3.45" } }, @@ -12205,7 +12269,7 @@ "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", "requires": { - "ajv": "6.4.0", + "ajv": "6.5.0", "ajv-keywords": "3.2.0", "chalk": "2.4.1", "lodash": "4.17.10", @@ -12214,14 +12278,14 @@ }, "dependencies": { "ajv": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", - "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.0.tgz", + "integrity": "sha512-VDUX1oSajablmiyFyED9L1DFndg0P9h7p1F+NO8FkIzei6EPrR6Zu1n18rd5P8PqaSRd/FrWv3G1TVBqpM83gA==", "requires": { - "fast-deep-equal": "1.1.0", + "fast-deep-equal": "2.0.1", "fast-json-stable-stringify": "2.0.0", "json-schema-traverse": "0.3.1", - "uri-js": "3.0.2" + "uri-js": "4.2.1" } }, "ansi-styles": { @@ -12242,6 +12306,11 @@ "supports-color": "5.4.0" } }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -12438,9 +12507,9 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" + "version": "0.7.18", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", + "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==" }, "uglify-es": { "version": "3.3.9", @@ -12480,22 +12549,27 @@ }, "dependencies": { "ajv": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", - "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.0.tgz", + "integrity": "sha512-VDUX1oSajablmiyFyED9L1DFndg0P9h7p1F+NO8FkIzei6EPrR6Zu1n18rd5P8PqaSRd/FrWv3G1TVBqpM83gA==", "requires": { - "fast-deep-equal": "1.1.0", + "fast-deep-equal": "2.0.1", "fast-json-stable-stringify": "2.0.0", "json-schema-traverse": "0.3.1", - "uri-js": "3.0.2" + "uri-js": "4.2.1" } }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, "schema-utils": { "version": "0.4.5", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "requires": { - "ajv": "6.4.0", + "ajv": "6.5.0", "ajv-keywords": "3.2.0" } }, @@ -12721,18 +12795,18 @@ "integrity": "sha512-qbKn90aDQ0YEwvXoLqj0oiuUYroLX2lVHZ+b+xwjozFasAOC4GneDq5+OaIG5Zj+jFmbz/uO+f7a9qxjktJQww==" }, "update-check": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.3.2.tgz", - "integrity": "sha512-0iGt63gXrsU4VTw4tIGVVk14H6KLHI7ExNPuSmdDdwUrUAQTBnh1hQcRpnoBWetb3/Ab4YyXK1iDWXP7D0VHTQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.4.0.tgz", + "integrity": "sha512-KSPgYhsCqS78LnMmJIcsh1BIOaOvSRPDo8x7Qcz0LF5ZsaioDyiVon5o0wqZgzkrU4jgrm5yuu9Ec/B84N6TZg==", "requires": { "registry-auth-token": "3.3.2", "registry-url": "3.1.0" } }, "uri-js": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", - "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.1.tgz", + "integrity": "sha512-jpKCA3HjsBfSDOEgxRDAxQCNyHfCPSbq57PqCkd3gAyBuPb3IWxw54EHncqESznIdqSetHfw3D7ylThu2Kcc9A==", "requires": { "punycode": "2.1.0" } @@ -12831,18 +12905,18 @@ "is-buffer": "1.1.6", "replace-ext": "1.0.0", "unist-util-stringify-position": "1.1.2", - "vfile-message": "1.0.0" + "vfile-message": "1.0.1" } }, "vfile-location": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz", - "integrity": "sha1-02dcWch3SY5JK0dW/2Xkrxp1IlU=" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.3.tgz", + "integrity": "sha512-zM5/l4lfw1CBoPx3Jimxoc5RNDAHHpk6AM6LM0pTIkm5SUSsx8ZekZ0PVdf0WEZ7kjlhSt7ZlqbRL6Cd6dBs6A==" }, "vfile-message": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz", - "integrity": "sha512-HPREhzTOB/sNDc9/Mxf8w0FmHnThg5CRSJdR9VRFkD2riqYWs+fuXlj5z8mIpv2LrD7uU41+oPWFOL4Mjlf+dw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.1.tgz", + "integrity": "sha512-vSGCkhNvJzO6VcWC6AlJW4NtYOVtS+RgCaqFIYUjoGIlHnFL+i0LbtYvonDWOMcB97uTPT4PRsyYY7REWC9vug==", "requires": { "unist-util-stringify-position": "1.1.2" } diff --git a/package.json b/package.json index dd49a9a..bb57414 100644 --- a/package.json +++ b/package.json @@ -28,16 +28,17 @@ }, "dependencies": { "@paralect/common-logger": "0.1.10", - "@zeit/next-css": "0.1.5", + "@zeit/next-css": "0.2.0", "axios": "0.18.0", "classnames": "2.2.5", "cssnano": "3.10.0", "extract-text-webpack-plugin": "3.0.2", "find-up": "2.1.0", "lodash": "4.17.10", - "next": "6.0.0", - "npm-run-all": "4.1.2", + "next": "6.0.1", + "npm-run-all": "4.1.3", "postcss-cssnext": "3.1.0", + "postcss-hexrgba": "1.0.1", "postcss-import": "11.1.0", "postcss-nested": "3.0.0", "prop-types": "15.6.1", @@ -57,7 +58,7 @@ "eslint": "4.19.1", "eslint-plugin-import": "2.11.0", "eslint-plugin-jsx-a11y": "6.0.3", - "eslint-plugin-react": "7.7.0", + "eslint-plugin-react": "7.8.1", "lost": "8.2.1" } } diff --git a/postcss.config.js b/postcss.config.js index 92851b1..474e3bc 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -4,6 +4,7 @@ const postcssImport = require('postcss-import'); const postcssCssNext = require('postcss-cssnext'); const cssnano = require('cssnano'); const postcssNested = require('postcss-nested'); +const postcssHexrgba = require('postcss-hexrgba'); const lost = require('lost'); module.exports = { @@ -14,6 +15,7 @@ module.exports = { }), postcssNested, postcssCssNext, + postcssHexrgba, cssnano({ zindex: false, }), diff --git a/src/client/components/background/index.jsx b/src/client/components/background/index.jsx new file mode 100644 index 0000000..614642a --- /dev/null +++ b/src/client/components/background/index.jsx @@ -0,0 +1,23 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import classnames from 'classnames'; + +import { states } from '~/constants'; + +import styles from './styles.pcss'; + +const Background = ({ state }) => { + return ( +
+ ); +}; + +Background.propTypes = { + state: PropTypes.string, +}; + +Background.defaultProps = { + state: states.purple, +}; + +export default Background; diff --git a/src/client/components/background/styles.pcss b/src/client/components/background/styles.pcss new file mode 100644 index 0000000..62bd4f7 --- /dev/null +++ b/src/client/components/background/styles.pcss @@ -0,0 +1,24 @@ +@import 'variables.pcss'; + +.background { + position: absolute; + top: 0; + width: 100%; + height: 100%; + overflow: hidden; + transform: skewY(-9deg); + transform-origin: 0; + box-shadow: 0 7px 30px 3px var(--deep-purple-shadow); +} + +.purple { + background: linear-gradient(150deg, var(--deep-purple-700) 20%, var(--deep-purple-300) 65%, var(--deep-purple-100) 94%); +} + +.blue { + background: linear-gradient(150deg, var(--light-blue-800) 20%, var(--light-blue-300) 65%, var(--light-blue-100) 94%); +} + +.green { + background: linear-gradient(150deg, var(--green-800) 20%, var(--green-300) 65%, var(--green-100) 94%); +} diff --git a/src/client/components/button-link/index.jsx b/src/client/components/button-link/index.jsx new file mode 100644 index 0000000..9fc9db7 --- /dev/null +++ b/src/client/components/button-link/index.jsx @@ -0,0 +1,34 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +import Link from '~/components/link'; +import Button from '~/components/button'; + +import styles from './styles.pcss'; + +const ButtonLink = ({ + href, + children, + prefetch, + ...props +}) => { + return ( + + ); +}; + +ButtonLink.propTypes = { + href: PropTypes.string.isRequired, + children: PropTypes.node.isRequired, + prefetch: PropTypes.bool, +}; + +ButtonLink.defaultProps = { + prefetch: false, +}; + +export default ButtonLink; diff --git a/src/client/components/button-link/styles.pcss b/src/client/components/button-link/styles.pcss new file mode 100644 index 0000000..ec1ba13 --- /dev/null +++ b/src/client/components/button-link/styles.pcss @@ -0,0 +1,7 @@ +@import 'variables.pcss'; + +.link { + display: block; + text-decoration: none; + color: var(--white); +} diff --git a/src/client/components/button/index.js b/src/client/components/button/index.js deleted file mode 100644 index 7e524c5..0000000 --- a/src/client/components/button/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import Button from './button'; - -export default Button; diff --git a/src/client/components/button/button.jsx b/src/client/components/button/index.jsx similarity index 67% rename from src/client/components/button/button.jsx rename to src/client/components/button/index.jsx index ebf4e28..6e13001 100644 --- a/src/client/components/button/button.jsx +++ b/src/client/components/button/index.jsx @@ -2,18 +2,27 @@ import React from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; +import { states } from '~/constants'; + import styles from './styles.pcss'; +export const sizes = { + small: 'small', + medium: 'medium', +}; + const Button = ({ className, isLoading, action, + state, + size, children, }) => { return (
); }; +Footer.propTypes = { + state: PropTypes.string.isRequired, +}; + export default Footer; diff --git a/src/client/layouts/main/components/footer/styles.pcss b/src/client/layouts/main/components/footer/styles.pcss index faff6fb..e5972a7 100644 --- a/src/client/layouts/main/components/footer/styles.pcss +++ b/src/client/layouts/main/components/footer/styles.pcss @@ -1 +1,46 @@ @import 'variables.pcss'; + +.wrap { + border-top: 1px solid var(--grey-300); + background: var(--grey-100); + padding: calc(var(--distance-900) * 2) 0; + margin-top: var(--distance-900); + + &.purple { + background: rgba(var(--deep-purple-100), 0.5); + } + + &.green { + background: rgba(var(--green-100), 0.3); + } + + &.blue { + background: rgba(var(--light-blue-100), 0.3); + } +} + +.footer { + margin: 0 auto; + padding: 0 var(--distance-700); + width: 100%; + max-width: var(--max-container-width); + box-sizing: border-box; + display: flex; + justify-content: space-between; + align-items: flex-start; + + svg { + width: 80px; + } +} + +.link { + font-weight: var(--text-weight-600); + text-decoration: none; + font-size: var(--text-500); + margin-left: var(--distance-600); + + &:hover { + text-decoration: underline; + } +} diff --git a/src/client/layouts/main/components/header-content/index.jsx b/src/client/layouts/main/components/header-content/index.jsx new file mode 100644 index 0000000..f4db505 --- /dev/null +++ b/src/client/layouts/main/components/header-content/index.jsx @@ -0,0 +1,31 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +import { states } from '~/constants'; +import Background from '~/components/background'; + +import Header from '../header'; + +import styles from './styles.pcss'; + +const HeaderContent = ({ children, state }) => { + return ( +
+ + +
+ {children} +
+ ); +}; + +HeaderContent.propTypes = { + children: PropTypes.node.isRequired, + state: PropTypes.string, +}; + +HeaderContent.defaultProps = { + state: states.purple, +}; + +export default HeaderContent; diff --git a/src/client/layouts/main/components/header-content/styles.pcss b/src/client/layouts/main/components/header-content/styles.pcss new file mode 100644 index 0000000..30e9526 --- /dev/null +++ b/src/client/layouts/main/components/header-content/styles.pcss @@ -0,0 +1,3 @@ +.header-content { + position: relative; +} diff --git a/src/client/layouts/main/components/header/header.jsx b/src/client/layouts/main/components/header/header.jsx index 7865c25..3f35e17 100644 --- a/src/client/layouts/main/components/header/header.jsx +++ b/src/client/layouts/main/components/header/header.jsx @@ -1,19 +1,23 @@ import React from 'react'; import PropTypes from 'prop-types'; -import Link from 'next/link'; import classnames from 'classnames'; +import ButtonLink from '~/components/button-link'; +import Link from '~/components/link'; +import { states } from '~/constants'; + +import Logo from '~/static/logo.svg'; import ArrowSvg from './components/arrow'; import styles from './styles.pcss'; -const Header = ({ secondary }) => ( +const Header = ({ state }) => (