diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 4e8e99b8ec..afe5b4d4e6 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -29,7 +29,7 @@ jobs: - name: Cache Dependencies id: cache - uses: actions/cache@v2.1.4 + uses: actions/cache@v2.1.5 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml index 9eb17a496c..b6273b8aa5 100644 --- a/.github/workflows/storybook.yml +++ b/.github/workflows/storybook.yml @@ -23,7 +23,7 @@ jobs: - name: Cache Dependencies id: cache - uses: actions/cache@v2.1.4 + uses: actions/cache@v2.1.5 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c76d09ac2b..ab3467deee 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,7 +19,7 @@ jobs: - name: Cache Dependencies id: cache - uses: actions/cache@v2.1.4 + uses: actions/cache@v2.1.5 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} diff --git a/next.config.js b/next.config.js index bbd95e1748..3ab82534d3 100644 --- a/next.config.js +++ b/next.config.js @@ -13,6 +13,10 @@ const URL_PUSH_SW = isProd : './firebase-messaging-sw-develop.js' const nextConfig = { + future: { + // webpack5: true, + strictPostcssConfiguration: true, + }, /** * Runtime configs * diff --git a/package-lock.json b/package-lock.json index 5324bca0ec..00019408c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -325,6 +325,188 @@ } } }, + "@babel/helper-define-polyfill-provider": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", + "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/compat-data": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.12.tgz", + "integrity": "sha512-3eJJ841uKxeV8dcN/2yGEUy+RfgQspPEgQat85umsE1rotuquQ2AbIub4S6j7c50a2d+4myc+zSlnXeIHrOnhQ==", + "dev": true + }, + "@babel/generator": { + "version": "7.13.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", + "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", + "dev": true, + "requires": { + "@babel/types": "^7.13.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz", + "integrity": "sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.12", + "@babel/helper-validator-option": "^7.12.17", + "browserslist": "^4.14.5", + "semver": "^6.3.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-imports": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", + "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", + "dev": true + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-option": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz", + "integrity": "sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.13.tgz", + "integrity": "sha512-CblEcwmXKR6eP43oQGG++0QMTtCjAsa3frUuzHoiIJWpaIIi8dwMyEFUJoXRLxagGqCK+jALRwIO+o3R9p/uUg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.9", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.13", + "@babel/types": "^7.13.13", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz", + "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, "@babel/helper-explode-assignable-expression": { "version": "7.12.1", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", @@ -761,9 +943,9 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.8.tgz", - "integrity": "sha512-qioaRrKHQbn4hkRKDHbnuQ6kAxmmOF+kzKGnIfxPK4j2rckSJCpKzr/SSTlohSCiE3uAQpNDJ9FIh4baeE8W+w==", + "version": "7.13.11", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", + "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", "dev": true, "requires": { "@babel/helper-function-name": "^7.12.13", @@ -794,12 +976,12 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz", - "integrity": "sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", + "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", "dev": true, "requires": { - "@babel/types": "^7.13.0" + "@babel/types": "^7.13.12" } }, "@babel/helper-optimise-call-expression": { @@ -818,15 +1000,15 @@ "dev": true }, "@babel/helper-replace-supers": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz", - "integrity": "sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", + "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/types": "^7.13.12" } }, "@babel/helper-split-export-declaration": { @@ -839,9 +1021,9 @@ } }, "@babel/highlight": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.8.tgz", - "integrity": "sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw==", + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -850,9 +1032,9 @@ } }, "@babel/parser": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.9.tgz", - "integrity": "sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz", + "integrity": "sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==", "dev": true }, "@babel/template": { @@ -867,26 +1049,25 @@ } }, "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.13.tgz", + "integrity": "sha512-CblEcwmXKR6eP43oQGG++0QMTtCjAsa3frUuzHoiIJWpaIIi8dwMyEFUJoXRLxagGqCK+jALRwIO+o3R9p/uUg==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", + "@babel/generator": "^7.13.9", "@babel/helper-function-name": "^7.12.13", "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", + "@babel/parser": "^7.13.13", + "@babel/types": "^7.13.13", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", - "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz", + "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -1017,9 +1198,9 @@ } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.8.tgz", - "integrity": "sha512-hpbBwbTgd7Cz1QryvwJZRo1U0k1q8uyBmeXOSQUjdg/A2TASkhR/rz7AyqZ/kS8kbpsNA80rOYbxySBJAqmhhQ==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz", + "integrity": "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.13.0", @@ -1665,9 +1846,9 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.8.tgz", - "integrity": "sha512-qioaRrKHQbn4hkRKDHbnuQ6kAxmmOF+kzKGnIfxPK4j2rckSJCpKzr/SSTlohSCiE3uAQpNDJ9FIh4baeE8W+w==", + "version": "7.13.11", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", + "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", "dev": true, "requires": { "@babel/helper-function-name": "^7.12.13", @@ -1698,12 +1879,12 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz", - "integrity": "sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", + "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", "dev": true, "requires": { - "@babel/types": "^7.13.0" + "@babel/types": "^7.13.12" } }, "@babel/helper-optimise-call-expression": { @@ -1722,15 +1903,15 @@ "dev": true }, "@babel/helper-replace-supers": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz", - "integrity": "sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", + "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/types": "^7.13.12" } }, "@babel/helper-split-export-declaration": { @@ -1743,9 +1924,9 @@ } }, "@babel/highlight": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.8.tgz", - "integrity": "sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw==", + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -1754,9 +1935,9 @@ } }, "@babel/parser": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.9.tgz", - "integrity": "sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz", + "integrity": "sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==", "dev": true }, "@babel/template": { @@ -1771,26 +1952,25 @@ } }, "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.13.tgz", + "integrity": "sha512-CblEcwmXKR6eP43oQGG++0QMTtCjAsa3frUuzHoiIJWpaIIi8dwMyEFUJoXRLxagGqCK+jALRwIO+o3R9p/uUg==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", + "@babel/generator": "^7.13.9", "@babel/helper-function-name": "^7.12.13", "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", + "@babel/parser": "^7.13.13", + "@babel/types": "^7.13.13", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", - "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz", + "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -1934,13 +2114,14 @@ } }, "@babel/preset-flow": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.12.13.tgz", - "integrity": "sha512-gcEjiwcGHa3bo9idURBp5fmJPcyFPOszPQjztXrOjUE2wWVqc6fIVJPgWPIQksaQ5XZ2HWiRsf2s1fRGVjUtVw==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.13.13.tgz", + "integrity": "sha512-MDtwtamMifqq3R2mC7l3A3uFalUb3NH5TIBQWjN/epEPlZktcLq4se3J+ivckKrLMGsR7H9LW8+pYuIUN9tsKg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-transform-flow-strip-types": "^7.12.13" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-transform-flow-strip-types": "^7.13.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1948,6 +2129,12 @@ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", + "dev": true } } }, @@ -2003,9 +2190,9 @@ } }, "@babel/register": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.13.8.tgz", - "integrity": "sha512-yCVtABcmvQjRsX2elcZFUV5Q5kDDpHdtXKKku22hNDma60lYuhKmtp1ykZ/okRCPLT2bR5S+cA1kvtBdAFlDTQ==", + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.13.14.tgz", + "integrity": "sha512-iyw0hUwjh/fzN8qklVqZodbyWjEBOG0KdDnBOpv3zzIgK3NmuRXBmIXH39ZBdspkn8LTHvSboN+oYb4MT43+9Q==", "dev": true, "requires": { "find-cache-dir": "^2.0.0", @@ -2774,9 +2961,9 @@ "dev": true }, "@hapi/boom": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-9.1.1.tgz", - "integrity": "sha512-VNR8eDbBrOxBgbkddRYIe7+8DZ+vSbV6qlmaN2x7eWjsUjy2VmQgChkOKcVZIeupEZYj+I0dqNg430OhwzagjA==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-9.1.2.tgz", + "integrity": "sha512-uJEJtiNHzKw80JpngDGBCGAmWjBtzxDCz17A9NO2zCi8LLBlb5Frpq4pXwyN+2JQMod4pKz5BALwyneCgDg89Q==", "requires": { "@hapi/hoek": "9.x.x" } @@ -2829,12 +3016,6 @@ } } }, - "@icons/material": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz", - "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==", - "dev": true - }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -3433,9 +3614,9 @@ } }, "@babel/types": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", - "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz", + "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -3503,19 +3684,19 @@ } }, "@next/env": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@next/env/-/env-10.0.7.tgz", - "integrity": "sha512-/vnz2SL/mk3Tei58WfRtVnvz5xHmAqcBmZL5sTBEy1CZG6OtZGNx0qAFCjtVkeJ5m1Bh4Ut+WFh/RF333wx8Sg==" + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/@next/env/-/env-10.1.3.tgz", + "integrity": "sha512-q7z7NvmRs66lCQmVJtKjDxVtMTjSwP6ExVzaH46pbTH60MHgzEJ9H4jXrFLTihPmCIvpAv6Ai04jbS8dcg1ZMQ==" }, "@next/polyfill-module": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@next/polyfill-module/-/polyfill-module-10.0.7.tgz", - "integrity": "sha512-HxqzRpoSgmZP0kRIWwH+e0SgtAXqJ0VkYtwWcsQFED8+xF4Eqn+7Twyp4uE6hutC8gr8IFSFqH+DEYhRtg1ltQ==" + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/@next/polyfill-module/-/polyfill-module-10.1.3.tgz", + "integrity": "sha512-1DtUVcuoBJAn5IrxIZQjUG1KTPkiXMYloykPSkRxawimgvG9dRj2kscU+4KGNSFxHoxW9c68VRCb+7MDz5aGGw==" }, "@next/react-dev-overlay": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@next/react-dev-overlay/-/react-dev-overlay-10.0.7.tgz", - "integrity": "sha512-yq71MDHVqN2N+IqOvZDiFsMpQrBcymrdpTx1ShhAADX7cWQvW4dhcIir4BbfrS10vS1LLz/3a8uKZkGdNoJj3w==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/@next/react-dev-overlay/-/react-dev-overlay-10.1.3.tgz", + "integrity": "sha512-vIgUah3bR9+MKzwU1Ni5ONfYM0VdI42i7jZ+Ei1c0wjwkG9anVnDqhSQ3mVg62GP2nt7ExaaFyf9THbsw5KYXg==", "requires": { "@babel/code-frame": "7.12.11", "anser": "1.4.9", @@ -3547,6 +3728,11 @@ "supports-color": "^7.1.0" } }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -3584,9 +3770,9 @@ } }, "@next/react-refresh-utils": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-10.0.7.tgz", - "integrity": "sha512-d/71vtQglv6m7sh4W1O9drc2hYti7UnAdEXfBLZAS354g2S80lvCRGIhbDrMx4w0rpShoxBIZboE2++LihAESg==" + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-10.1.3.tgz", + "integrity": "sha512-P4GJZuLKfD/o42JvGZ/xP4Hxg68vd3NeZxOLqIuQKFjjaYgC2IrO+lE5PTwGmRkytjfprJC+9j7Jss/xQAS6QA==" }, "@nodelib/fs.scandir": { "version": "2.1.4", @@ -4632,9 +4818,9 @@ } }, "@popperjs/core": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.0.tgz", - "integrity": "sha512-wjtKehFAIARq2OxK8j3JrggNlEslJfNuSm2ArteIbKyRMts2g0a7KzTxfRVNUM+O0gnBJ2hNV8nWPOYBgI1sew==" + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.2.tgz", + "integrity": "sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q==" }, "@protobufjs/aspromise": { "version": "1.1.2", @@ -4920,59 +5106,59 @@ } }, "@sentry/browser": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.2.1.tgz", - "integrity": "sha512-OAikFZ9EimD3noxMp8tA6Cf6qJcQ2U8k5QSgTPwdx+09nZOGJzbRFteK7WWmrS93ZJdzN61lpSQbg5v+bmmfbQ==", + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.2.5.tgz", + "integrity": "sha512-nlvaE+D7oaj4MxoY9ikw+krQDOjftnDYJQnOwOraXPk7KYM6YwmkakLuE+x/AkaH3FQVTQF330VAa9d6SWETlA==", "requires": { - "@sentry/core": "6.2.1", - "@sentry/types": "6.2.1", - "@sentry/utils": "6.2.1", + "@sentry/core": "6.2.5", + "@sentry/types": "6.2.5", + "@sentry/utils": "6.2.5", "tslib": "^1.9.3" } }, "@sentry/core": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.2.1.tgz", - "integrity": "sha512-jPqQEtafxxDtLONhCbTHh/Uq8mZRhsfbwJTSVYfPVEe/ELfFZLQK7tP6rOh7zEWKbTkE0mE6XcaoH3ZRAhgrqg==", - "requires": { - "@sentry/hub": "6.2.1", - "@sentry/minimal": "6.2.1", - "@sentry/types": "6.2.1", - "@sentry/utils": "6.2.1", + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.2.5.tgz", + "integrity": "sha512-I+AkgIFO6sDUoHQticP6I27TT3L+i6TUS03in3IEtpBcSeP2jyhlxI8l/wdA7gsBqUPdQ4GHOOaNgtFIcr8qag==", + "requires": { + "@sentry/hub": "6.2.5", + "@sentry/minimal": "6.2.5", + "@sentry/types": "6.2.5", + "@sentry/utils": "6.2.5", "tslib": "^1.9.3" } }, "@sentry/hub": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.2.1.tgz", - "integrity": "sha512-pG7wCQeRpzeP6t0bT4T0X029R19dbDS3/qswF8BL6bg0AI3afjfjBAZm/fqn1Uwe/uBoMHVVdbxgJDZeQ5d4rQ==", + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.2.5.tgz", + "integrity": "sha512-YlEFdEhcfqpl2HC+/dWXBsBJEljyMzFS7LRRjCk8QANcOdp9PhwQjwebUB4/ulOBjHPP2WZk7fBBd/IKDasTUg==", "requires": { - "@sentry/types": "6.2.1", - "@sentry/utils": "6.2.1", + "@sentry/types": "6.2.5", + "@sentry/utils": "6.2.5", "tslib": "^1.9.3" } }, "@sentry/minimal": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.2.1.tgz", - "integrity": "sha512-wuSXB4Ayxv9rBEQ4pm7fnG4UU2ZPtPnnChoEfd4/mw1UthXSvmPFEn6O4pdo2G8fTkl8eqm6wT/Q7uIXMEmw+A==", + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.2.5.tgz", + "integrity": "sha512-RKP4Qx3p7Cv0oX1cPKAkNVFYM7p2k1t32cNk1+rrVQS4hwlJ7Eg6m6fsqsO+85jd6Ne/FnyYsfo9cDD3ImTlWQ==", "requires": { - "@sentry/hub": "6.2.1", - "@sentry/types": "6.2.1", + "@sentry/hub": "6.2.5", + "@sentry/types": "6.2.5", "tslib": "^1.9.3" } }, "@sentry/types": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.2.1.tgz", - "integrity": "sha512-h0OV1QT+fv5ojfK5/+iEXClu33HirmvbjcQC2jf05IHj9yXIOWy6EB10S8nBjuLiiFqQiAQYj3FN9Ip4eN8NJA==" + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.2.5.tgz", + "integrity": "sha512-1Sux6CLYrV9bETMsGP/HuLFLouwKoX93CWzG8BjMueW+Di0OGxZphYjXrGuDs8xO8bAKEVGCHgVQdcB2jevS0w==" }, "@sentry/utils": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.2.1.tgz", - "integrity": "sha512-6kQgM/yBPdXu+3qbJnI6HBcWztN9QfiMkH++ZiKk4ERhg9d2LYWlze478uTU5Fyo/JQYcp+McpjtjpR9QIrr0g==", + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.2.5.tgz", + "integrity": "sha512-fJoLUZHrd5MPylV1dT4qL74yNFDl1Ur/dab+pKNSyvnHPnbZ/LRM7aJ8VaRY/A7ZdpRowU+E14e/Yeem2c6gtQ==", "requires": { - "@sentry/types": "6.2.1", + "@sentry/types": "6.2.5", "tslib": "^1.9.3" } }, @@ -5001,68 +5187,68 @@ } }, "@storybook/addon-a11y": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-6.1.21.tgz", - "integrity": "sha512-FTHQ0QdPhL+0D/E/og/xkT6tIEEOSCgCV+eX9UcDn3shnxVAHEHbqJ7Yf1fF5B/nRx+ptY57c9O64vIFd7UMHg==", - "dev": true, - "requires": { - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-api": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/components": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/theming": "6.1.21", - "axe-core": "^4.0.1", - "core-js": "^3.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "react-sizeme": "^2.5.2", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-6.2.3.tgz", + "integrity": "sha512-PF8N+xFg7rCENwT8h9DTWFBZGiS3FcVz+OyUVnrklpkndu9DCUYU8JNYKQgXB8217Fk10/o9tVWVmBeHUr6psQ==", + "dev": true, + "requires": { + "@storybook/addons": "6.2.3", + "@storybook/api": "6.2.3", + "@storybook/channels": "6.2.3", + "@storybook/client-api": "6.2.3", + "@storybook/client-logger": "6.2.3", + "@storybook/components": "6.2.3", + "@storybook/core-events": "6.2.3", + "@storybook/theming": "6.2.3", + "axe-core": "^4.1.1", + "core-js": "^3.8.2", + "global": "^4.4.0", + "lodash": "^4.17.20", + "react-sizeme": "^3.0.1", "regenerator-runtime": "^0.13.7", "ts-dedent": "^2.0.0", "util-deprecate": "^1.0.2" } }, "@storybook/addon-actions": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.1.21.tgz", - "integrity": "sha512-H+nhSgK3X5L+JfArsC9ufvgJzQwPN9UXBxhMl74faEDCo9RGmq9ywNcjn9XlZGGnJ3jCaYrI/T1u0J7F6PBrTA==", - "dev": true, - "requires": { - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/client-api": "6.1.21", - "@storybook/components": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/theming": "6.1.21", - "core-js": "^3.0.1", - "fast-deep-equal": "^3.1.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "polished": "^3.4.4", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.2.3.tgz", + "integrity": "sha512-RXjTNH+YUYxnOzvfJ0NllJ3+jvb9R8kNq74bS9gDRvg5WY0SFIeN+Eh11wW3PJvmx15xO1+ALJjpCGRjcKzWiQ==", + "dev": true, + "requires": { + "@storybook/addons": "6.2.3", + "@storybook/api": "6.2.3", + "@storybook/client-api": "6.2.3", + "@storybook/components": "6.2.3", + "@storybook/core-events": "6.2.3", + "@storybook/theming": "6.2.3", + "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.20", + "polished": "^4.0.5", "prop-types": "^15.7.2", - "react-inspector": "^5.0.1", + "react-inspector": "^5.1.0", "regenerator-runtime": "^0.13.7", "ts-dedent": "^2.0.0", "util-deprecate": "^1.0.2", - "uuid": "^8.0.0" + "uuid-browser": "^3.1.0" } }, "@storybook/addon-backgrounds": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-6.1.21.tgz", - "integrity": "sha512-4kJB6UcrqOo8fjm1BnfEOvw8ysPSfzIn2j5Q7h3WzoQF0VbU62+EQLTznluFfMjJ1I2FMCTz8YcwDOZn1FNlig==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-6.2.3.tgz", + "integrity": "sha512-VvfOUeGL/k+Zc7lD9midGsV3A71rcT+ezhyfVgOYz2lViwcP3K+GjpEAJS6ZNQGPuTUWnD0fcaAkrjoyVdyY5g==", "dev": true, "requires": { - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/components": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/theming": "6.1.21", - "core-js": "^3.0.1", - "global": "^4.3.2", + "@storybook/addons": "6.2.3", + "@storybook/api": "6.2.3", + "@storybook/client-logger": "6.2.3", + "@storybook/components": "6.2.3", + "@storybook/core-events": "6.2.3", + "@storybook/theming": "6.2.3", + "core-js": "^3.8.2", + "global": "^4.4.0", "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7", "ts-dedent": "^2.0.0", @@ -5070,189 +5256,216 @@ } }, "@storybook/addon-controls": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-6.1.21.tgz", - "integrity": "sha512-IJgZWD2E9eLKj8DJLA9lT63N4jPfVneFJ05gnPco01ZJCEiDAo7babP5Ns2UTJDUaQEtX0m04UoIkidcteWKsA==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-6.2.3.tgz", + "integrity": "sha512-Jk4Q+qKZQJX36HjREuSK25TzdwWFzll35E2Bww1Ii5RdFfULuXAd899nb6UAu+Kk18K90ESc2199KafBAb+FQQ==", "dev": true, "requires": { - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/client-api": "6.1.21", - "@storybook/components": "6.1.21", - "@storybook/node-logger": "6.1.21", - "@storybook/theming": "6.1.21", - "core-js": "^3.0.1", + "@storybook/addons": "6.2.3", + "@storybook/api": "6.2.3", + "@storybook/client-api": "6.2.3", + "@storybook/components": "6.2.3", + "@storybook/node-logger": "6.2.3", + "@storybook/theming": "6.2.3", + "core-js": "^3.8.2", "ts-dedent": "^2.0.0" } }, "@storybook/addon-docs": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.1.21.tgz", - "integrity": "sha512-MvTmxrOSo+zZ5MaMx9LVWM8DlvVHeryCJKPJx8BYCEN38r8mIK7uCFYok8oMPmACrVe0MfXOdJCm1HKkBKjsMg==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.2.3.tgz", + "integrity": "sha512-FJuHARQNzV2blvc1vzKp+M7mhLixiW69T83bQjdAA3/aeh67To3aBoCuRDN51uOpqTuR5Tpjbsf2uQ2IxtWIEQ==", "dev": true, "requires": { - "@babel/core": "^7.12.1", - "@babel/generator": "^7.12.1", - "@babel/parser": "^7.12.3", - "@babel/plugin-transform-react-jsx": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@jest/transform": "^26.0.0", - "@mdx-js/loader": "^1.6.19", - "@mdx-js/mdx": "^1.6.19", - "@mdx-js/react": "^1.6.19", - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/client-api": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/components": "6.1.21", - "@storybook/core": "6.1.21", - "@storybook/core-events": "6.1.21", + "@babel/core": "^7.12.10", + "@babel/generator": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/plugin-transform-react-jsx": "^7.12.12", + "@babel/preset-env": "^7.12.11", + "@jest/transform": "^26.6.2", + "@mdx-js/loader": "^1.6.22", + "@mdx-js/mdx": "^1.6.22", + "@mdx-js/react": "^1.6.22", + "@storybook/addons": "6.2.3", + "@storybook/api": "6.2.3", + "@storybook/builder-webpack4": "6.2.3", + "@storybook/client-api": "6.2.3", + "@storybook/client-logger": "6.2.3", + "@storybook/components": "6.2.3", + "@storybook/core": "6.2.3", + "@storybook/core-events": "6.2.3", "@storybook/csf": "0.0.1", - "@storybook/node-logger": "6.1.21", - "@storybook/postinstall": "6.1.21", - "@storybook/source-loader": "6.1.21", - "@storybook/theming": "6.1.21", - "acorn": "^7.1.0", - "acorn-jsx": "^5.1.0", - "acorn-walk": "^7.0.0", - "core-js": "^3.0.1", + "@storybook/node-logger": "6.2.3", + "@storybook/postinstall": "6.2.3", + "@storybook/source-loader": "6.2.3", + "@storybook/theming": "6.2.3", + "acorn": "^7.4.1", + "acorn-jsx": "^5.3.1", + "acorn-walk": "^7.2.0", + "core-js": "^3.8.2", "doctrine": "^3.0.0", - "escodegen": "^1.12.0", - "fast-deep-equal": "^3.1.1", - "global": "^4.3.2", + "escodegen": "^2.0.0", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", "html-tags": "^3.1.0", "js-string-escape": "^1.0.1", - "lodash": "^4.17.15", - "prettier": "~2.0.5", + "loader-utils": "^2.0.0", + "lodash": "^4.17.20", + "prettier": "~2.2.1", "prop-types": "^15.7.2", - "react-element-to-jsx-string": "^14.3.1", + "react-element-to-jsx-string": "^14.3.2", "regenerator-runtime": "^0.13.7", - "remark-external-links": "^6.0.0", + "remark-external-links": "^8.0.0", "remark-slug": "^6.0.0", "ts-dedent": "^2.0.0", "util-deprecate": "^1.0.2" }, "dependencies": { - "prettier": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz", - "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==", + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "@storybook/addon-essentials": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-6.1.21.tgz", - "integrity": "sha512-kdQ/hnfwwodWVFvMdvSbhOyLv/cUJyhgVRyIamrURP9I0OlWhpOAHhwMjAT2KKceutN3UjNpSCqFNSL4dMu25g==", - "dev": true, - "requires": { - "@storybook/addon-actions": "6.1.21", - "@storybook/addon-backgrounds": "6.1.21", - "@storybook/addon-controls": "6.1.21", - "@storybook/addon-docs": "6.1.21", - "@storybook/addon-toolbars": "6.1.21", - "@storybook/addon-viewport": "6.1.21", - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/node-logger": "6.1.21", - "core-js": "^3.0.1", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-6.2.3.tgz", + "integrity": "sha512-to0o1YcRVSI8nMVcyg/uygPon6khRiDJfQKRdHUqMupihLN8rrYbgYFOe3M0Szncsx6G0s8bPs90Z0OhivexuA==", + "dev": true, + "requires": { + "@storybook/addon-actions": "6.2.3", + "@storybook/addon-backgrounds": "6.2.3", + "@storybook/addon-controls": "6.2.3", + "@storybook/addon-docs": "6.2.3", + "@storybook/addon-toolbars": "6.2.3", + "@storybook/addon-viewport": "6.2.3", + "@storybook/addons": "6.2.3", + "@storybook/api": "6.2.3", + "@storybook/node-logger": "6.2.3", + "core-js": "^3.8.2", "regenerator-runtime": "^0.13.7", "ts-dedent": "^2.0.0" } }, "@storybook/addon-links": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-6.1.21.tgz", - "integrity": "sha512-DFPK6aYs9VIs1tO0PJ+mBwg64ZLv6NcVwFJ083ghCj/hR+0+3NRox+oRHXCWq7RHtnJeU4VKEiRx2EpE9L9Bkg==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-6.2.3.tgz", + "integrity": "sha512-V7Bxa/eQnbIqtJtu3vKsLJ4yXL3j8GutEVsKZVVUUs12ZDLWwkIZkNuHPqs946+CG3gDu1USLte/xCcsMr+7Wg==", "dev": true, "requires": { - "@storybook/addons": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", + "@storybook/addons": "6.2.3", + "@storybook/client-logger": "6.2.3", + "@storybook/core-events": "6.2.3", "@storybook/csf": "0.0.1", - "@storybook/router": "6.1.21", - "@types/qs": "^6.9.0", - "core-js": "^3.0.1", - "global": "^4.3.2", + "@storybook/router": "6.2.3", + "@types/qs": "^6.9.5", + "core-js": "^3.8.2", + "global": "^4.4.0", "prop-types": "^15.7.2", - "qs": "^6.6.0", + "qs": "^6.10.0", "regenerator-runtime": "^0.13.7", "ts-dedent": "^2.0.0" + }, + "dependencies": { + "qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } } }, "@storybook/addon-toolbars": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-6.1.21.tgz", - "integrity": "sha512-89NtiqLT3ltb7Jb7rAug7jnWIDh6SxXa9i3mOoKEIcvuRJEmxGLF1Z79A+zXOJOKBUEEUgfJCtVS2lixakgwKA==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-6.2.3.tgz", + "integrity": "sha512-s74yFbPlr3iB1suU50Gbq3gCyejlAx27n7krzZQCtum87CGQ+7Ik5o65D5X7HXB7jgNFb9vtoJGyVuSjtaR1OA==", "dev": true, "requires": { - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/client-api": "6.1.21", - "@storybook/components": "6.1.21", - "core-js": "^3.0.1" + "@storybook/addons": "6.2.3", + "@storybook/api": "6.2.3", + "@storybook/client-api": "6.2.3", + "@storybook/components": "6.2.3", + "core-js": "^3.8.2" } }, "@storybook/addon-viewport": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-6.1.21.tgz", - "integrity": "sha512-FrQk0BXCI4HdbBn9+8b+Cp2HvsweZkgW/joKfcF2vVLoasUBB4bl+9uU3HV/3a08glgjPl24caDMPgoRKS90WQ==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-6.2.3.tgz", + "integrity": "sha512-x74i16Nnz5wbdUQY1n1CbEwaY8MWBIUGQXHT9j/o9SCLEBwbmgOCefstoj2nJK3bT0AkkrxXsIQRkLcUZ/RfBQ==", "dev": true, "requires": { - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/components": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/theming": "6.1.21", - "core-js": "^3.0.1", - "global": "^4.3.2", + "@storybook/addons": "6.2.3", + "@storybook/api": "6.2.3", + "@storybook/client-logger": "6.2.3", + "@storybook/components": "6.2.3", + "@storybook/core-events": "6.2.3", + "@storybook/theming": "6.2.3", + "core-js": "^3.8.2", + "global": "^4.4.0", "memoizerific": "^1.11.3", "prop-types": "^15.7.2", "regenerator-runtime": "^0.13.7" } }, "@storybook/addons": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.1.21.tgz", - "integrity": "sha512-xo5TGu9EZVCqgh3D1veVnfuGzyKDWWsvOMo18phVqRxj21G3/+hScVyfIYwNTv7Ys5/Ahp9JxJUMXL3V3ny+tw==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.2.3.tgz", + "integrity": "sha512-IQ4JUalGm53KJ3DtbpsmFsTRNdEHY3AhyVF1xXu6PeO8IDAPQ+yD7hBBR23ZwkBiqmPoq272Y0e/MK64H4fTaA==", "dev": true, "requires": { - "@storybook/api": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/router": "6.1.21", - "@storybook/theming": "6.1.21", - "core-js": "^3.0.1", - "global": "^4.3.2", + "@storybook/api": "6.2.3", + "@storybook/channels": "6.2.3", + "@storybook/client-logger": "6.2.3", + "@storybook/core-events": "6.2.3", + "@storybook/router": "6.2.3", + "@storybook/theming": "6.2.3", + "core-js": "^3.8.2", + "global": "^4.4.0", "regenerator-runtime": "^0.13.7" } }, "@storybook/api": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.1.21.tgz", - "integrity": "sha512-QjZk70VSXMw/wPPoWdMp5Bl9VmkfmGhIz8PALrFLLEZHjzptpfZE2qkGEEJHG0NAksFUv6NxGki2/632dzR7Ug==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.2.3.tgz", + "integrity": "sha512-DZwttOQ2AqiR32y/oVy45QcGgY4WlK/vH/NgvwPEJk1VfvlOrLCGa7rFjcZxXrgXM5jPRbgDXThnHPG/em/DPg==", "dev": true, "requires": { - "@reach/router": "^1.3.3", - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", + "@reach/router": "^1.3.4", + "@storybook/channels": "6.2.3", + "@storybook/client-logger": "6.2.3", + "@storybook/core-events": "6.2.3", "@storybook/csf": "0.0.1", - "@storybook/router": "6.1.21", + "@storybook/router": "6.2.3", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.1.21", + "@storybook/theming": "6.2.3", "@types/reach__router": "^1.3.7", - "core-js": "^3.0.1", - "fast-deep-equal": "^3.1.1", - "global": "^4.3.2", - "lodash": "^4.17.15", + "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.20", "memoizerific": "^1.11.3", + "qs": "^6.10.0", "regenerator-runtime": "^0.13.7", - "store2": "^2.7.1", - "telejson": "^5.0.2", + "store2": "^2.12.0", + "telejson": "^5.1.0", "ts-dedent": "^2.0.0", "util-deprecate": "^1.0.2" }, @@ -5266,206 +5479,669 @@ "core-js": "^3.6.5", "find-up": "^4.1.0" } + }, + "qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } } } }, - "@storybook/channel-postmessage": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.1.21.tgz", - "integrity": "sha512-SuI/ffqcPT02VNda32k8V0D4XpLm5bIy8CLIs0OAnQg+zt5KjGBpQBngk3q4EaAiOoAhbMWAQiUzRUXfrgkgXg==", - "dev": true, - "requires": { - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", - "core-js": "^3.0.1", - "global": "^4.3.2", - "qs": "^6.6.0", - "telejson": "^5.0.2" - } - }, - "@storybook/channels": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.1.21.tgz", - "integrity": "sha512-7WoizMjyHqCyvcWncLexSg9FLPIErWAZL4NvluEthwsHSO2sDybn9mh1pzsFHdYMuTP6ml06Zt9ayWMtIveHDg==", + "@storybook/builder-webpack4": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.2.3.tgz", + "integrity": "sha512-f0vFITDMyHDBzlOqoCfi0pgTgOZxbQvEveQv2DshQkpHyiktEFRx8EhVx2r0S/eP9NTAdq3hN1QOWx0FtZxb2w==", "dev": true, "requires": { - "core-js": "^3.0.1", + "@babel/core": "^7.12.10", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-decorators": "^7.12.12", + "@babel/plugin-proposal-export-default-from": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.12", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/preset-env": "^7.12.11", + "@babel/preset-react": "^7.12.10", + "@babel/preset-typescript": "^7.12.7", + "@storybook/addons": "6.2.3", + "@storybook/api": "6.2.3", + "@storybook/channel-postmessage": "6.2.3", + "@storybook/channels": "6.2.3", + "@storybook/client-api": "6.2.3", + "@storybook/client-logger": "6.2.3", + "@storybook/components": "6.2.3", + "@storybook/core-common": "6.2.3", + "@storybook/core-events": "6.2.3", + "@storybook/node-logger": "6.2.3", + "@storybook/router": "6.2.3", + "@storybook/semver": "^7.3.2", + "@storybook/theming": "6.2.3", + "@storybook/ui": "6.2.3", + "@types/node": "^14.0.10", + "@types/webpack": "^4.41.26", + "autoprefixer": "^9.8.6", + "babel-loader": "^8.2.2", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-polyfill-corejs3": "^0.1.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "core-js": "^3.8.2", + "css-loader": "^3.6.0", + "dotenv-webpack": "^1.8.0", + "file-loader": "^6.2.0", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^4.1.6", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "glob-promise": "^3.4.0", + "global": "^4.4.0", + "html-webpack-plugin": "^4.0.0", + "pnp-webpack-plugin": "1.6.4", + "postcss": "^7.0.35", + "postcss-flexbugs-fixes": "^4.2.1", + "postcss-loader": "^4.2.0", + "raw-loader": "^4.0.2", + "react-dev-utils": "^11.0.3", + "stable": "^0.1.8", + "style-loader": "^1.3.0", + "terser-webpack-plugin": "^3.1.0", + "ts-dedent": "^2.0.0", + "url-loader": "^4.1.1", + "util-deprecate": "^1.0.2", + "webpack": "4", + "webpack-dev-middleware": "^3.7.3", + "webpack-filter-warnings-plugin": "^1.2.1", + "webpack-hot-middleware": "^2.25.0", + "webpack-virtual-modules": "^0.2.2" + }, + "dependencies": { + "@storybook/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==", + "dev": true, + "requires": { + "core-js": "^3.6.5", + "find-up": "^4.1.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + } + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "dependencies": { + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + } + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + } + } + }, + "@storybook/channel-postmessage": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.2.3.tgz", + "integrity": "sha512-h7E1OrKKoKNkC0NINr0vbFHPSh1jDfYm5c2WTwKLyGo/zM1wrYzx1Hkj2lPrgKNBt0xQfzmrnY1tfV5Tr1TMIQ==", + "dev": true, + "requires": { + "@storybook/channels": "6.2.3", + "@storybook/client-logger": "6.2.3", + "@storybook/core-events": "6.2.3", + "core-js": "^3.8.2", + "global": "^4.4.0", + "qs": "^6.10.0", + "telejson": "^5.1.0" + }, + "dependencies": { + "qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "@storybook/channels": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.2.3.tgz", + "integrity": "sha512-TTzq5VqZK4/sOKDsq7ZoqpSLQsp16HDTP5ovVXFWxyAlk66E57tWiYnjQy/uXwZDEwzfQEGUsCED3/rFxbvwqg==", + "dev": true, + "requires": { + "core-js": "^3.8.2", "ts-dedent": "^2.0.0", "util-deprecate": "^1.0.2" } }, "@storybook/client-api": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.1.21.tgz", - "integrity": "sha512-uLFXQ5z1LLWYnw1w+YUJPzIPRVlwCCvM2Si37aHDZn1F3fnbMg+huEhEqIQ1TTTw3wiJoTeGuShYvqyaiNwq/w==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.2.3.tgz", + "integrity": "sha512-Gcd1ydpXH7+S8B0GAkiwIfo1bgr00hs2pGzpwDO/5LGIXHwUojpX20nLBVOZ6uBZs/IwCT/FVWK2jakdPl9ISg==", "dev": true, "requires": { - "@storybook/addons": "6.1.21", - "@storybook/channel-postmessage": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", + "@storybook/addons": "6.2.3", + "@storybook/channel-postmessage": "6.2.3", + "@storybook/channels": "6.2.3", + "@storybook/client-logger": "6.2.3", + "@storybook/core-events": "6.2.3", "@storybook/csf": "0.0.1", - "@types/qs": "^6.9.0", - "@types/webpack-env": "^1.15.3", - "core-js": "^3.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", + "@types/qs": "^6.9.5", + "@types/webpack-env": "^1.16.0", + "core-js": "^3.8.2", + "global": "^4.4.0", + "lodash": "^4.17.20", "memoizerific": "^1.11.3", - "qs": "^6.6.0", + "qs": "^6.10.0", "regenerator-runtime": "^0.13.7", "stable": "^0.1.8", - "store2": "^2.7.1", + "store2": "^2.12.0", "ts-dedent": "^2.0.0", "util-deprecate": "^1.0.2" + }, + "dependencies": { + "qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } } }, "@storybook/client-logger": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.1.21.tgz", - "integrity": "sha512-QJV+gnVM2fQ4M7lSkRLCXkOw/RU+aEtUefo9TAnXxPHK3UGG+DyvLmha6fHGaz9GAcFxyWtgqCyVOhMe03Q35g==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.2.3.tgz", + "integrity": "sha512-i4oB9EuKCj9V6l6sRSQ33RP4g3GBtSfRCho9AU+A10U4Yfn7emUllEchCz9s5QOhnSTtJXZ8Xk4tUmp/3YWkGQ==", "dev": true, "requires": { - "core-js": "^3.0.1", - "global": "^4.3.2" + "core-js": "^3.8.2", + "global": "^4.4.0" } }, "@storybook/components": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.1.21.tgz", - "integrity": "sha512-2NjkyS1yeYXlRY7azt88woqd6eqJA00oloIxgMAFLVpRmvFxoHalY61wNrvxl2QSu9cNofp984AbGc8gPbizBA==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.2.3.tgz", + "integrity": "sha512-8STtn4oggc/JsIrRT3HbYwcRUC/6GcSd3Mk+tHYfor8IQ6Iu9bFIUcH7PJrk6d4Ah2aX8Fc0P31y2mlY/4tclw==", "dev": true, "requires": { - "@popperjs/core": "^2.5.4", - "@storybook/client-logger": "6.1.21", + "@popperjs/core": "^2.6.0", + "@storybook/client-logger": "6.2.3", "@storybook/csf": "0.0.1", - "@storybook/theming": "6.1.21", - "@types/overlayscrollbars": "^1.9.0", - "@types/react-color": "^3.0.1", - "@types/react-syntax-highlighter": "11.0.4", - "core-js": "^3.0.1", - "fast-deep-equal": "^3.1.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "markdown-to-jsx": "^6.11.4", + "@storybook/theming": "6.2.3", + "@types/color-convert": "^2.0.0", + "@types/overlayscrollbars": "^1.12.0", + "@types/react-syntax-highlighter": "11.0.5", + "color-convert": "^2.0.1", + "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.20", + "markdown-to-jsx": "^7.1.0", "memoizerific": "^1.11.3", - "overlayscrollbars": "^1.10.2", - "polished": "^3.4.4", - "react-color": "^2.17.0", + "overlayscrollbars": "^1.13.1", + "polished": "^4.0.5", + "prop-types": "^15.7.2", + "react-colorful": "^5.0.1", "react-popper-tooltip": "^3.1.1", - "react-syntax-highlighter": "^13.5.0", - "react-textarea-autosize": "^8.1.1", + "react-syntax-highlighter": "^13.5.3", + "react-textarea-autosize": "^8.3.0", "regenerator-runtime": "^0.13.7", - "ts-dedent": "^2.0.0" + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "dependencies": { + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } } }, "@storybook/core": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.1.21.tgz", - "integrity": "sha512-ITqSid3VVL5/fkx7Wwu7QfD2Y5xjl3V6p7yUpLSzP8GpBnCHKDvJ4pFJUdJlGQ0mnGz6ACa0qVnSc+V0hiy1sA==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.2.3.tgz", + "integrity": "sha512-BUj8KQoRITrGUv8nyYwO2jv5nDo4wuezRJ9HSx+PM2rnziw2wvB6rvPXoOGAilOD4poNtLCUgUEll6lj1p/bqA==", "dev": true, "requires": { - "@babel/core": "^7.12.3", + "@storybook/core-client": "6.2.3", + "@storybook/core-server": "6.2.3" + } + }, + "@storybook/core-client": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.2.3.tgz", + "integrity": "sha512-rUy20uuK07PZwoda9k4rnp1MJ2G498wAlOA6XClkKi84+Xe2Ug5PAL/qrDxM+PVyZtxMaiwZE18lvgMo71Bh0A==", + "dev": true, + "requires": { + "@storybook/addons": "6.2.3", + "@storybook/channel-postmessage": "6.2.3", + "@storybook/client-api": "6.2.3", + "@storybook/client-logger": "6.2.3", + "@storybook/core-events": "6.2.3", + "@storybook/csf": "0.0.1", + "@storybook/ui": "6.2.3", + "ansi-to-html": "^0.6.11", + "core-js": "^3.8.2", + "global": "^4.4.0", + "lodash": "^4.17.20", + "qs": "^6.10.0", + "regenerator-runtime": "^0.13.7", + "ts-dedent": "^2.0.0", + "unfetch": "^4.2.0", + "util-deprecate": "^1.0.2" + }, + "dependencies": { + "qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "@storybook/core-common": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.2.3.tgz", + "integrity": "sha512-alZOFgyC9dMwM6D6ZHM24ROJeFmGH/5EJCxKTRAv9zbXmGkzTar/f7HQH7e/pUxhEESHx18D1bxkNDhfWhaR3w==", + "dev": true, + "requires": { + "@babel/core": "^7.12.10", "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-decorators": "^7.12.1", + "@babel/plugin-proposal-decorators": "^7.12.12", "@babel/plugin-proposal-export-default-from": "^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", "@babel/plugin-proposal-private-methods": "^7.12.1", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.12", "@babel/plugin-transform-classes": "^7.12.1", "@babel/plugin-transform-destructuring": "^7.12.1", "@babel/plugin-transform-for-of": "^7.12.1", "@babel/plugin-transform-parameters": "^7.12.1", "@babel/plugin-transform-shorthand-properties": "^7.12.1", "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.1", - "@babel/preset-typescript": "^7.12.1", + "@babel/preset-env": "^7.12.11", + "@babel/preset-react": "^7.12.10", + "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.1", - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/channel-postmessage": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-api": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/components": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/csf": "0.0.1", - "@storybook/node-logger": "6.1.21", - "@storybook/router": "6.1.21", + "@storybook/node-logger": "6.2.3", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.1.21", - "@storybook/ui": "6.1.21", "@types/glob-base": "^0.3.0", "@types/micromatch": "^4.0.1", - "@types/node-fetch": "^2.5.4", + "@types/node": "^14.0.10", + "@types/pretty-hrtime": "^1.0.0", + "babel-loader": "^8.2.2", + "babel-plugin-macros": "^3.0.1", + "babel-plugin-polyfill-corejs3": "^0.1.0", + "chalk": "^4.1.0", + "core-js": "^3.8.2", + "express": "^4.17.1", + "file-system-cache": "^1.0.5", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.0.4", + "glob": "^7.1.6", + "glob-base": "^0.3.0", + "interpret": "^2.2.0", + "json5": "^2.1.3", + "lazy-universal-dotenv": "^3.0.1", + "micromatch": "^4.0.2", + "pkg-dir": "^5.0.0", + "pretty-hrtime": "^1.0.3", + "resolve-from": "^5.0.0", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2", + "webpack": "4" + }, + "dependencies": { + "@storybook/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==", + "dev": true, + "requires": { + "core-js": "^3.6.5", + "find-up": "^4.1.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + } + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "babel-plugin-macros": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.0.1.tgz", + "integrity": "sha512-CKt4+Oy9k2wiN+hT1uZzOw7d8zb1anbQpf7KLwaaXRCi/4pzKdFKHf7v5mvoPmjkmxshh7eKZQuRop06r5WP4w==", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "dependencies": { + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + } + } + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.0.tgz", + "integrity": "sha512-DTNbOhq6lRdjYprukX54JMeYJgQ0zMow+R5BMLwWxEX2NAXthIkwnV8DBmsWjwNLSUItKZM4TCCJbtgrtKBu2Q==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "requires": { + "find-up": "^5.0.0" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@storybook/core-events": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.2.3.tgz", + "integrity": "sha512-mu8lmkCEghO4wKgm6OgmRGCf7KQ6PecOeMYFyM28RC/DNYIj+vs4dOfTz+7J1VWg/ATs8iTwo363V1Vrnnk85g==", + "dev": true, + "requires": { + "core-js": "^3.8.2" + } + }, + "@storybook/core-server": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.2.3.tgz", + "integrity": "sha512-R58/KkF+U43ObcAQzdPTErCxyG5lMrxgIASx47mwngEAKwolbp7pDTgzVXZ49qXLNZ5+pFBCIKD/d+HEUQ6Dkw==", + "dev": true, + "requires": { + "@babel/core": "^7.12.10", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/preset-react": "^7.12.10", + "@storybook/addons": "6.2.3", + "@storybook/builder-webpack4": "6.2.3", + "@storybook/core-client": "6.2.3", + "@storybook/core-common": "6.2.3", + "@storybook/node-logger": "6.2.3", + "@storybook/semver": "^7.3.2", + "@storybook/theming": "6.2.3", + "@storybook/ui": "6.2.3", + "@types/node": "^14.0.10", + "@types/node-fetch": "^2.5.7", + "@types/pretty-hrtime": "^1.0.0", + "@types/webpack": "^4.41.26", "airbnb-js-shims": "^2.2.1", - "ansi-to-html": "^0.6.11", - "autoprefixer": "^9.7.2", - "babel-loader": "^8.0.6", - "babel-plugin-emotion": "^10.0.20", - "babel-plugin-macros": "^2.8.0", - "babel-preset-minify": "^0.5.0 || 0.6.0-alpha.5", - "better-opn": "^2.0.0", - "boxen": "^4.1.0", - "case-sensitive-paths-webpack-plugin": "^2.2.0", - "chalk": "^4.0.0", + "babel-loader": "^8.2.2", + "better-opn": "^2.1.1", + "boxen": "^4.2.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "chalk": "^4.1.0", "cli-table3": "0.6.0", - "commander": "^5.0.0", - "core-js": "^3.0.1", + "commander": "^6.2.1", + "core-js": "^3.8.2", "cpy": "^8.1.1", - "css-loader": "^3.5.3", + "css-loader": "^3.6.0", "detect-port": "^1.3.0", - "dotenv-webpack": "^1.7.0", - "ejs": "^3.1.2", - "express": "^4.17.0", - "file-loader": "^6.0.0", + "dotenv-webpack": "^1.8.0", + "express": "^4.17.1", + "file-loader": "^6.2.0", "file-system-cache": "^1.0.5", - "find-up": "^4.1.0", - "fork-ts-checker-webpack-plugin": "^4.1.4", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "glob-base": "^0.3.0", - "glob-promise": "^3.4.0", - "global": "^4.3.2", - "html-webpack-plugin": "^4.2.1", - "inquirer": "^7.0.0", - "interpret": "^2.0.0", + "find-up": "^5.0.0", + "fs-extra": "^9.0.1", + "global": "^4.4.0", + "html-webpack-plugin": "^4.0.0", "ip": "^1.1.5", - "json5": "^2.1.1", - "lazy-universal-dotenv": "^3.0.1", - "micromatch": "^4.0.2", - "node-fetch": "^2.6.0", - "pkg-dir": "^4.2.0", + "node-fetch": "^2.6.1", "pnp-webpack-plugin": "1.6.4", - "postcss-flexbugs-fixes": "^4.1.0", - "postcss-loader": "^3.0.0", "pretty-hrtime": "^1.0.3", - "qs": "^6.6.0", - "raw-loader": "^4.0.1", - "react-dev-utils": "^11.0.3", + "prompts": "^2.4.0", + "read-pkg-up": "^7.0.1", "regenerator-runtime": "^0.13.7", "resolve-from": "^5.0.0", "serve-favicon": "^2.5.0", - "shelljs": "^0.8.4", - "stable": "^0.1.8", - "style-loader": "^1.2.1", - "telejson": "^5.0.2", - "terser-webpack-plugin": "^3.0.0", + "style-loader": "^1.3.0", + "telejson": "^5.1.0", + "terser-webpack-plugin": "^3.1.0", "ts-dedent": "^2.0.0", - "unfetch": "^4.1.0", - "url-loader": "^4.0.0", + "url-loader": "^4.1.1", "util-deprecate": "^1.0.2", - "webpack": "^4.44.2", - "webpack-dev-middleware": "^3.7.0", - "webpack-filter-warnings-plugin": "^1.2.1", - "webpack-hot-middleware": "^2.25.0", + "webpack": "4", + "webpack-dev-middleware": "^3.7.3", "webpack-virtual-modules": "^0.2.2" }, "dependencies": { @@ -5477,6 +6153,18 @@ "requires": { "core-js": "^3.6.5", "find-up": "^4.1.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + } } }, "ansi-styles": { @@ -5507,32 +6195,105 @@ "color-name": "~1.1.4" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "detect-port": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "dev": true, + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "dependencies": { + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + } + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + } } }, "supports-color": { @@ -5543,18 +6304,15 @@ "requires": { "has-flag": "^4.0.0" } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true } } }, - "@storybook/core-events": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.1.21.tgz", - "integrity": "sha512-KWqnh1C7M1pT//WfQb3AD60yTR8jL48AfaeLGto2gO9VK7VVgj/EGsrXZP/GTL90ygyExbbBI5gkr7EBTu/HYw==", - "dev": true, - "requires": { - "core-js": "^3.0.1" - } - }, "@storybook/csf": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.1.tgz", @@ -5565,14 +6323,14 @@ } }, "@storybook/node-logger": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.1.21.tgz", - "integrity": "sha512-wQZZw4n1PG3kGOsczWCBC6+8RagYkrGYDqsVOpUcs5shGbPg5beCXDuzP4nxz2IlsoP9ZtTSaX741H791OIOjA==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.2.3.tgz", + "integrity": "sha512-NwKVqfRyscoElY3vKF2KRVXng4NMmPIJF11ddpWJfZ2+ojGHHaFKUKZy0iZrUkTZpv/0o5VtR3K/vU+2ZVWTKw==", "dev": true, "requires": { "@types/npmlog": "^4.1.2", - "chalk": "^4.0.0", - "core-js": "^3.0.1", + "chalk": "^4.1.0", + "core-js": "^3.8.2", "npmlog": "^4.1.2", "pretty-hrtime": "^1.0.3" }, @@ -5629,41 +6387,43 @@ } }, "@storybook/postinstall": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-6.1.21.tgz", - "integrity": "sha512-mg3fNqdQYiz6ivQIU1WMKqtqrFt5GySmsPCar3Y+xOdMClmpx6pZYcpiN782h8CIFA1XnldGR3TKVtWP848qOg==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-6.2.3.tgz", + "integrity": "sha512-s0p/UO0UifNciF+jzJUy7dkGPBSJbNr9k2QdA4qz0WLbs4w/3wajqCU3Os5n3Xu56zD8ABn4wL/TS6LBpjB12w==", "dev": true, "requires": { - "core-js": "^3.0.1" + "core-js": "^3.8.2" } }, "@storybook/react": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.1.21.tgz", - "integrity": "sha512-j3gq/ssWxRCCH5iCHbP3ihXSGS7lVWh1HpmBmGbbhHGHgdmSPsRjwDXiQGE81EmE7bzbC8NECBhU3zHJ6h1TvA==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.2.3.tgz", + "integrity": "sha512-nGzkYa0GvnbvKcuofi5bugE5Vrj/O9tiG/PjjQW5JZKA8B+rlRoJrFFIRjON0pukmYUhiMkgYTPmjSdBjvv6vg==", "dev": true, "requires": { "@babel/preset-flow": "^7.12.1", - "@babel/preset-react": "^7.12.1", - "@pmmmwh/react-refresh-webpack-plugin": "^0.4.2", - "@storybook/addons": "6.1.21", - "@storybook/core": "6.1.21", - "@storybook/node-logger": "6.1.21", + "@babel/preset-react": "^7.12.10", + "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", + "@storybook/addons": "6.2.3", + "@storybook/core": "6.2.3", + "@storybook/core-common": "6.2.3", + "@storybook/node-logger": "6.2.3", "@storybook/semver": "^7.3.2", - "@types/webpack-env": "^1.15.3", + "@types/webpack-env": "^1.16.0", "babel-plugin-add-react-displayname": "^0.0.5", "babel-plugin-named-asset-import": "^0.3.1", "babel-plugin-react-docgen": "^4.2.1", - "core-js": "^3.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", + "core-js": "^3.8.2", + "global": "^4.4.0", + "lodash": "^4.17.20", "prop-types": "^15.7.2", "react-dev-utils": "^11.0.3", "react-docgen-typescript-plugin": "^0.6.2", "react-refresh": "^0.8.3", + "read-pkg-up": "^7.0.1", "regenerator-runtime": "^0.13.7", "ts-dedent": "^2.0.0", - "webpack": "^4.44.2" + "webpack": "4" }, "dependencies": { "@storybook/semver": { @@ -5675,112 +6435,156 @@ "core-js": "^3.6.5", "find-up": "^4.1.0" } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true } } }, "@storybook/router": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.1.21.tgz", - "integrity": "sha512-m75WvUhoCBWDVekICAdbkidji/w5hCjHo+M8L13UghpwXWEnyr4/QqvkOb/PcSC8aZzxeMqSCpRQ1o6LWULneg==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.2.3.tgz", + "integrity": "sha512-npc8jODlVLLghPuU/2eFupuTb9mxW1PlaXa45J0HDZRoNRLBHpn/QzQhLdW/1iyfPRw6BRwtuL/vXQQ2OPvjeQ==", "dev": true, "requires": { - "@reach/router": "^1.3.3", + "@reach/router": "^1.3.4", + "@storybook/client-logger": "6.2.3", "@types/reach__router": "^1.3.7", - "core-js": "^3.0.1", - "global": "^4.3.2", + "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.20", "memoizerific": "^1.11.3", - "qs": "^6.6.0" + "qs": "^6.10.0", + "ts-dedent": "^2.0.0" + }, + "dependencies": { + "qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } } }, "@storybook/source-loader": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.1.21.tgz", - "integrity": "sha512-eMbmQG3a/7SFxVN+KGJKfk4uxLqQz2Nk95zvHyRvoX15LRyMnFvmdvmULe5vwRev8Npd4AS0EZ37m3jAEcD0ig==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.2.3.tgz", + "integrity": "sha512-3lauMC5I0Esfw969PytofW1z340STbmzg+ByoJ3i/kGj2C0gvw4IHednnhFPjnDxvjginyHGEiIEoDkFdQazBQ==", "dev": true, "requires": { - "@storybook/addons": "6.1.21", - "@storybook/client-logger": "6.1.21", + "@storybook/addons": "6.2.3", + "@storybook/client-logger": "6.2.3", "@storybook/csf": "0.0.1", - "core-js": "^3.0.1", - "estraverse": "^4.2.0", - "global": "^4.3.2", + "core-js": "^3.8.2", + "estraverse": "^5.2.0", + "global": "^4.4.0", "loader-utils": "^2.0.0", - "lodash": "^4.17.15", - "prettier": "~2.0.5", - "regenerator-runtime": "^0.13.7", - "source-map": "^0.7.3" + "lodash": "^4.17.20", + "prettier": "~2.2.1", + "regenerator-runtime": "^0.13.7" }, "dependencies": { - "prettier": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz", - "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "@storybook/theming": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.1.21.tgz", - "integrity": "sha512-yq7+/mpdljRdSRJYw/In/9tnDGXIUDe//mhyMftFfrB2mq6zi1yAZpowCerWhiDE2ipGkrfzIYx/Sn7bcaXgqg==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.2.3.tgz", + "integrity": "sha512-vXzdZtpVqIB1HdeqPjdkYcLigAEtbojEZ5/P0qjvUpI6nNygy7xvtohxn9NWBTeamdXop9xXs0fi/VTiUAlr9Q==", "dev": true, "requires": { "@emotion/core": "^10.1.1", "@emotion/is-prop-valid": "^0.8.6", - "@emotion/styled": "^10.0.23", - "@storybook/client-logger": "6.1.21", - "core-js": "^3.0.1", + "@emotion/styled": "^10.0.27", + "@storybook/client-logger": "6.2.3", + "core-js": "^3.8.2", "deep-object-diff": "^1.1.0", - "emotion-theming": "^10.0.19", - "global": "^4.3.2", + "emotion-theming": "^10.0.27", + "global": "^4.4.0", "memoizerific": "^1.11.3", - "polished": "^3.4.4", + "polished": "^4.0.5", "resolve-from": "^5.0.0", "ts-dedent": "^2.0.0" } }, "@storybook/ui": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.1.21.tgz", - "integrity": "sha512-2nRb5egnSBKbosuR7g5PsuM4XnRLXZUf7TBjwT6eRlomnE2wrWM5DtTLpFeUpDob0SI5hPlOV1xCpPz3XmeyyA==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.2.3.tgz", + "integrity": "sha512-LJetRJBpDrsHdqcO3UmrCMXNNLurbZFWPa5X0pMrkYrXrfNGrrPUQCTr5aYpeh94UKUpr6ywYt1loldWDe2/qA==", "dev": true, "requires": { "@emotion/core": "^10.1.1", - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/components": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/router": "6.1.21", + "@storybook/addons": "6.2.3", + "@storybook/api": "6.2.3", + "@storybook/channels": "6.2.3", + "@storybook/client-logger": "6.2.3", + "@storybook/components": "6.2.3", + "@storybook/core-events": "6.2.3", + "@storybook/router": "6.2.3", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.1.21", - "@types/markdown-to-jsx": "^6.11.0", - "copy-to-clipboard": "^3.0.8", - "core-js": "^3.0.1", - "core-js-pure": "^3.0.1", - "downshift": "^6.0.6", - "emotion-theming": "^10.0.19", + "@storybook/theming": "6.2.3", + "@types/markdown-to-jsx": "^6.11.3", + "copy-to-clipboard": "^3.3.1", + "core-js": "^3.8.2", + "core-js-pure": "^3.8.2", + "downshift": "^6.0.15", + "emotion-theming": "^10.0.27", "fuse.js": "^3.6.1", - "global": "^4.3.2", - "lodash": "^4.17.15", + "global": "^4.4.0", + "lodash": "^4.17.20", "markdown-to-jsx": "^6.11.4", "memoizerific": "^1.11.3", - "polished": "^3.4.4", - "qs": "^6.6.0", - "react-draggable": "^4.0.3", - "react-helmet-async": "^1.0.2", - "react-hotkeys": "2.0.0", - "react-sizeme": "^2.6.7", + "polished": "^4.0.5", + "qs": "^6.10.0", + "react-draggable": "^4.4.3", + "react-helmet-async": "^1.0.7", + "react-sizeme": "^3.0.1", "regenerator-runtime": "^0.13.7", "resolve-from": "^5.0.0", - "store2": "^2.7.1" + "store2": "^2.12.0" }, "dependencies": { "@storybook/semver": { @@ -5792,6 +6596,25 @@ "core-js": "^3.6.5", "find-up": "^4.1.0" } + }, + "markdown-to-jsx": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz", + "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==", + "dev": true, + "requires": { + "prop-types": "^15.6.2", + "unquote": "^1.1.0" + } + }, + "qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } } } }, @@ -5804,9 +6627,9 @@ } }, "@stripe/stripe-js": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/@stripe/stripe-js/-/stripe-js-1.13.1.tgz", - "integrity": "sha512-mmW+38/RJiWP0B7jmekL+MTDpkDMi34ygZ3j0NIoGa/h6eAXlGDA4lOqqg6aMH9Jd2RzDUndKxvSPPQnFnpdqw==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@stripe/stripe-js/-/stripe-js-1.13.2.tgz", + "integrity": "sha512-fycUk7ECukNc31lD5apcrUgdRC1BfiIacs+CpacoCjOgo3ablolnWCvDQWMmVWtODYa8bBv2dlBla+Edc5OvZg==" }, "@stylelint/postcss-css-in-js": { "version": "0.37.2", @@ -6024,9 +6847,9 @@ "dev": true }, "@testing-library/dom": { - "version": "7.29.6", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.29.6.tgz", - "integrity": "sha512-vzTsAXa439ptdvav/4lsKRcGpAQX7b6wBIqia7+iNzqGJ5zjswApxA6jDAsexrc6ue9krWcbh8o+LYkBXW+GCQ==", + "version": "7.30.3", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.30.3.tgz", + "integrity": "sha512-7JhIg2MW6WPwyikH2iL3o7z+FTVgSOd2jqCwTAHqK7Qal2gRRYiUQyURAxtbK9VXm/UTyG9bRihv8C5Tznr2zw==", "dev": true, "requires": { "@babel/code-frame": "^7.10.4", @@ -6091,9 +6914,9 @@ } }, "@testing-library/react": { - "version": "11.2.5", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-11.2.5.tgz", - "integrity": "sha512-yEx7oIa/UWLe2F2dqK0FtMF9sJWNXD+2PPtp39BvE0Kh9MJ9Kl0HrZAgEuhUJR+Lx8Di6Xz+rKwSdEPY2UV8ZQ==", + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-11.2.6.tgz", + "integrity": "sha512-TXMCg0jT8xmuU8BkKMtp8l7Z50Ykew5WNX8UoIKTaLFwKkP2+1YDhOLA2Ga3wY4x29jyntk7EWfum0kjlYiSjQ==", "dev": true, "requires": { "@babel/runtime": "^7.12.5", @@ -6101,13 +6924,19 @@ } }, "@tippyjs/react": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@tippyjs/react/-/react-4.2.3.tgz", - "integrity": "sha512-44vBapqROQI7Q5nDtX1MMAgcAV+3DsIi+m/45CxQ72C5LDNmNDq9h3f04x3NHMrUhWcfgfgjYA2EmeLSH/4eRg==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/@tippyjs/react/-/react-4.2.5.tgz", + "integrity": "sha512-YBLgy+1zznBNbx4JOoOdFXWMLXjBh9hLPwRtq3s8RRdrez2l3tPBRt2m2909wZd9S1KUeKjOOYYsnitccI9I3A==", "requires": { "tippy.js": "^6.3.1" } }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, "@types/anymatch": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", @@ -6192,6 +7021,21 @@ "integrity": "sha512-2koNhpWm3DgWRp5tpkiJ8JGc1xTn2q0l+jUNUE7oMKXUf5NpI9AIdC4kbjGNFBdHtcxBD18LAksoudAVhFKCjw==", "dev": true }, + "@types/color-convert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/color-convert/-/color-convert-2.0.0.tgz", + "integrity": "sha512-m7GG7IKKGuJUXvkZ1qqG3ChccdIM/qBBo913z+Xft0nKCX4hAU/IxKwZBU4cpRZ7GS5kV4vOblUkILtSShCPXQ==", + "dev": true, + "requires": { + "@types/color-name": "*" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, "@types/connect": { "version": "3.4.34", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", @@ -6291,6 +7135,15 @@ "helmet": "*" } }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, "@types/html-minifier-terser": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", @@ -6328,9 +7181,9 @@ } }, "@types/jest": { - "version": "26.0.20", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.20.tgz", - "integrity": "sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==", + "version": "26.0.22", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.22.tgz", + "integrity": "sha512-eeWwWjlqxvBxc4oQdkueW5OF/gtfSceKk4OnOAGlUSwS/liBRtZppbJuz1YkgbrbfGOoeBHun9fOvXnjNwrSOw==", "dev": true, "requires": { "jest-diff": "^26.0.0", @@ -6403,9 +7256,9 @@ "dev": true }, "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==", "dev": true }, "@types/minimist": { @@ -6471,11 +7324,16 @@ "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", "dev": true }, + "@types/pretty-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.0.tgz", + "integrity": "sha512-xl+5r2rcrxdLViAYkkiLMYsoUs3qEyrAnHFyEzYysgRxdVp3WbhysxIvJIxZp9FvZ2CYezh0TaHZorivH+voOQ==", + "dev": true + }, "@types/prop-types": { "version": "15.7.3", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==", - "dev": true + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" }, "@types/pulltorefreshjs": { "version": "0.1.4", @@ -6519,12 +7377,12 @@ } }, "@types/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.2.tgz", - "integrity": "sha512-Xt40xQsrkdvjn1EyWe1Bc0dJLcil/9x2vAuW7ya+PuQip4UYUaXyhzWmAbwRsdMgwOFHpfp7/FFZebDU6Y8VHA==", - "dev": true, + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.3.tgz", + "integrity": "sha512-wYOUxIgs2HZZ0ACNiIayItyluADNbONl7kt8lkLjVK8IitMH5QMyAh75Fwhmo37r1m7L2JaFj03sIfxBVDvRAg==", "requires": { "@types/prop-types": "*", + "@types/scheduler": "*", "csstype": "^3.0.2" } }, @@ -6537,16 +7395,6 @@ "@types/react": "*" } }, - "@types/react-color": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/react-color/-/react-color-3.0.4.tgz", - "integrity": "sha512-EswbYJDF1kkrx93/YU+BbBtb46CCtDMvTiGmcOa/c5PETnwTiSWoseJ1oSWeRl/4rUXkhME9bVURvvPg0W5YQw==", - "dev": true, - "requires": { - "@types/react": "*", - "@types/reactcss": "*" - } - }, "@types/react-copy-to-clipboard": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.0.tgz", @@ -6557,14 +7405,25 @@ } }, "@types/react-dom": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.1.tgz", - "integrity": "sha512-yIVyopxQb8IDZ7SOHeTovurFq+fXiPICa+GV3gp0Xedsl+MwQlMLKmvrnEjFbQxjliH5YVAEWFh975eVNmKj7Q==", + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.3.tgz", + "integrity": "sha512-4NnJbCeWE+8YBzupn/YrJxZ8VnjcJq5iR1laqQ1vkpQgBiA7bwk0Rp24fxsdNinzJY2U+HHS4dJJDPdoMjdJ7w==", "dev": true, "requires": { "@types/react": "*" } }, + "@types/react-redux": { + "version": "7.1.16", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.16.tgz", + "integrity": "sha512-f/FKzIrZwZk7YEO9E1yoxIuDNRiDducxkFlkw/GNMGEnK9n4K8wJzlJBghpSuOVDgEUHoDkDF7Gi9lHNQR4siw==", + "requires": { + "@types/hoist-non-react-statics": "^3.3.0", + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0", + "redux": "^4.0.0" + } + }, "@types/react-responsive": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@types/react-responsive/-/react-responsive-8.0.2.tgz", @@ -6575,9 +7434,9 @@ } }, "@types/react-syntax-highlighter": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.4.tgz", - "integrity": "sha512-9GfTo3a0PHwQeTVoqs0g5bS28KkSY48pp5659wA+Dp4MqceDEa8EHBqrllJvvtyusszyJhViUEap0FDvlk/9Zg==", + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.5.tgz", + "integrity": "sha512-VIOi9i2Oj5XsmWWoB72p3KlZoEbdRAcechJa8Ztebw7bDl2YmR+odxIqhtJGp1q2EozHs02US+gzxJ9nuf56qg==", "dev": true, "requires": { "@types/react": "*" @@ -6593,15 +7452,6 @@ "@types/react": "*" } }, - "@types/reactcss": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/reactcss/-/reactcss-1.2.3.tgz", - "integrity": "sha512-d2gQQ0IL6hXLnoRfVYZukQNWHuVsE75DzFTLPUuyyEhJS8G2VvlE+qfQQ91SJjaMqlURRCNIsX7Jcsw6cEuJlA==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, "@types/resolve": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", @@ -6611,6 +7461,11 @@ "@types/node": "*" } }, + "@types/scheduler": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz", + "integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==" + }, "@types/segment-analytics": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/segment-analytics/-/segment-analytics-0.0.33.tgz", @@ -6655,15 +7510,15 @@ } }, "@types/tapable": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", - "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.7.tgz", + "integrity": "sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==", "dev": true }, "@types/uglify-js": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.12.0.tgz", - "integrity": "sha512-sYAF+CF9XZ5cvEBkI7RtrG9g2GtMBkviTnBxYYyq+8BWvO4QtXfwwR6a2LFwCi4evMKZfpv6U43ViYvv17Wz3Q==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.0.tgz", + "integrity": "sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q==", "dev": true, "requires": { "source-map": "^0.6.1" @@ -6687,14 +7542,14 @@ "integrity": "sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI=" }, "@types/webpack": { - "version": "4.41.26", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", - "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", + "version": "4.41.27", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.27.tgz", + "integrity": "sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA==", "dev": true, "requires": { "@types/anymatch": "*", "@types/node": "*", - "@types/tapable": "*", + "@types/tapable": "^1", "@types/uglify-js": "*", "@types/webpack-sources": "*", "source-map": "^0.6.0" @@ -7034,9 +7889,9 @@ "dev": true }, "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.3.tgz", + "integrity": "sha512-zsoTXEwRNCxBzRHLENFLuecCcwzzXiEhWo1r3GP68iwi8Q/hW2RrqgeY1nfJ/AhNQNWnZq/4v0TbfMsUkI+TYw==", "dev": true }, "agent-base": { @@ -7742,7 +8597,8 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true }, "arch": { "version": "2.2.0", @@ -7771,6 +8627,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -7780,6 +8637,7 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -7794,6 +8652,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -7843,6 +8702,11 @@ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, + "array-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" + }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -8273,27 +9137,14 @@ } }, "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", + "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "requires": { - "inherits": "2.0.1" - } - } + "es6-object-assign": "^1.1.0", + "is-nan": "^1.2.1", + "object-is": "^1.0.1", + "util": "^0.12.0" } }, "assert-plus": { @@ -8405,6 +9256,14 @@ "resolved": "https://registry.npmjs.org/autosize/-/autosize-4.0.2.tgz", "integrity": "sha512-jnSyH2d+qdfPGpWlcuhGiHmqBJ6g3X+8T+iRwFrHPLVcdoGJE/x6Qicm6aDHfTsbgZKxyV8UU/YB2p4cjKDRRA==" }, + "available-typed-arrays": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", + "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", + "requires": { + "array-filter": "^1.0.0" + } + }, "await-to-js": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/await-to-js/-/await-to-js-2.1.1.tgz", @@ -8424,70 +9283,28 @@ "dev": true }, "axe-core": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.3.tgz", - "integrity": "sha512-vwPpH4Aj4122EW38mxO/fxhGKtwWTMLDIJfZ1He0Edbtjcfna/R3YB67yVhezUMzqc3Jr3+Ii50KRntlENL4xQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.4.tgz", + "integrity": "sha512-Pdgfv6iP0gNx9ejRGa3zE7Xgkj/iclXqLfe7BnatdZz0QnLZ3jrRHUVH8wNSdN68w05Sk3ShGTb3ydktMTooig==", "dev": true }, "axios": { "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "dev": true, - "requires": { - "follow-redirects": "^1.10.0" - } - }, - "babel-extract-comments": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", - "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", - "dev": true, - "requires": { - "babylon": "^6.18.0" - } - }, - "babel-helper-evaluate-path": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz", - "integrity": "sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==", - "dev": true - }, - "babel-helper-flip-expressions": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz", - "integrity": "sha1-NpZzahKKwYvCUlS19AoizrPB0/0=", - "dev": true - }, - "babel-helper-is-nodes-equiv": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", - "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", - "dev": true - }, - "babel-helper-is-void-0": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz", - "integrity": "sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=", - "dev": true - }, - "babel-helper-mark-eval-scopes": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz", - "integrity": "sha1-0kSjvvmESHJgP/tG4izorN9VFWI=", - "dev": true - }, - "babel-helper-remove-or-void": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz", - "integrity": "sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=", - "dev": true + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "dev": true, + "requires": { + "follow-redirects": "^1.10.0" + } }, - "babel-helper-to-multiple-sequence-expressions": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz", - "integrity": "sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==", - "dev": true + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "dev": true, + "requires": { + "babylon": "^6.18.0" + } }, "babel-jest": { "version": "26.6.3", @@ -8686,106 +9503,22 @@ "resolve": "^1.12.0" } }, - "babel-plugin-minify-builtins": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz", - "integrity": "sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==", - "dev": true - }, - "babel-plugin-minify-constant-folding": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz", - "integrity": "sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0" - } - }, - "babel-plugin-minify-dead-code-elimination": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz", - "integrity": "sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-mark-eval-scopes": "^0.4.3", - "babel-helper-remove-or-void": "^0.4.3", - "lodash": "^4.17.11" - } - }, - "babel-plugin-minify-flip-comparisons": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz", - "integrity": "sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=", - "dev": true, - "requires": { - "babel-helper-is-void-0": "^0.4.3" - } - }, - "babel-plugin-minify-guarded-expressions": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz", - "integrity": "sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-flip-expressions": "^0.4.3" - } - }, - "babel-plugin-minify-infinity": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz", - "integrity": "sha1-37h2obCKBldjhO8/kuZTumB7Oco=", - "dev": true - }, - "babel-plugin-minify-mangle-names": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz", - "integrity": "sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==", - "dev": true, - "requires": { - "babel-helper-mark-eval-scopes": "^0.4.3" - } - }, - "babel-plugin-minify-numeric-literals": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz", - "integrity": "sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=", - "dev": true - }, - "babel-plugin-minify-replace": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz", - "integrity": "sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==", - "dev": true - }, - "babel-plugin-minify-simplify": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz", - "integrity": "sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-flip-expressions": "^0.4.3", - "babel-helper-is-nodes-equiv": "^0.0.1", - "babel-helper-to-multiple-sequence-expressions": "^0.5.0" - } - }, - "babel-plugin-minify-type-constructors": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz", - "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=", - "dev": true, - "requires": { - "babel-helper-is-void-0": "^0.4.3" - } - }, "babel-plugin-named-asset-import": { "version": "0.3.7", "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz", "integrity": "sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==", "dev": true }, + "babel-plugin-polyfill-corejs3": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", + "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.1.5", + "core-js-compat": "^3.8.1" + } + }, "babel-plugin-react-docgen": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/babel-plugin-react-docgen/-/babel-plugin-react-docgen-4.2.1.tgz", @@ -8807,9 +9540,9 @@ } }, "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true } } @@ -8825,30 +9558,6 @@ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", "dev": true }, - "babel-plugin-transform-inline-consecutive-adds": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", - "integrity": "sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=", - "dev": true - }, - "babel-plugin-transform-member-expression-literals": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", - "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=", - "dev": true - }, - "babel-plugin-transform-merge-sibling-variables": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", - "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=", - "dev": true - }, - "babel-plugin-transform-minify-booleans": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", - "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=", - "dev": true - }, "babel-plugin-transform-object-rest-spread": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", @@ -8859,54 +9568,6 @@ "babel-runtime": "^6.26.0" } }, - "babel-plugin-transform-property-literals": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", - "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "babel-plugin-transform-regexp-constructors": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", - "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=", - "dev": true - }, - "babel-plugin-transform-remove-console": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", - "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=", - "dev": true - }, - "babel-plugin-transform-remove-debugger": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", - "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=", - "dev": true - }, - "babel-plugin-transform-remove-undefined": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz", - "integrity": "sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0" - } - }, - "babel-plugin-transform-simplify-comparison-operators": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", - "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=", - "dev": true - }, - "babel-plugin-transform-undefined-to-void": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", - "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=", - "dev": true - }, "babel-polyfill": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", @@ -8962,37 +9623,6 @@ "babel-preset-current-node-syntax": "^1.0.0" } }, - "babel-preset-minify": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz", - "integrity": "sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==", - "dev": true, - "requires": { - "babel-plugin-minify-builtins": "^0.5.0", - "babel-plugin-minify-constant-folding": "^0.5.0", - "babel-plugin-minify-dead-code-elimination": "^0.5.1", - "babel-plugin-minify-flip-comparisons": "^0.4.3", - "babel-plugin-minify-guarded-expressions": "^0.4.4", - "babel-plugin-minify-infinity": "^0.4.3", - "babel-plugin-minify-mangle-names": "^0.5.0", - "babel-plugin-minify-numeric-literals": "^0.4.3", - "babel-plugin-minify-replace": "^0.5.0", - "babel-plugin-minify-simplify": "^0.5.1", - "babel-plugin-minify-type-constructors": "^0.4.3", - "babel-plugin-transform-inline-consecutive-adds": "^0.4.3", - "babel-plugin-transform-member-expression-literals": "^6.9.4", - "babel-plugin-transform-merge-sibling-variables": "^6.9.4", - "babel-plugin-transform-minify-booleans": "^6.9.4", - "babel-plugin-transform-property-literals": "^6.9.4", - "babel-plugin-transform-regexp-constructors": "^0.4.3", - "babel-plugin-transform-remove-console": "^6.9.4", - "babel-plugin-transform-remove-debugger": "^6.9.4", - "babel-plugin-transform-remove-undefined": "^0.5.0", - "babel-plugin-transform-simplify-comparison-operators": "^6.9.4", - "babel-plugin-transform-undefined-to-void": "^6.9.4", - "lodash": "^4.17.11" - } - }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", @@ -9519,17 +10149,6 @@ "file-uri-to-path": "1.0.0" } }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "optional": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -10338,7 +10957,8 @@ "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, "chrome-trace-event": { "version": "1.0.2", @@ -10424,9 +11044,9 @@ } }, "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" }, "clean-css": { "version": "4.2.3", @@ -10494,9 +11114,9 @@ } }, "cli-spinners": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", - "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", + "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", "dev": true }, "cli-table3": { @@ -10718,16 +11338,10 @@ } } }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, "clipboard": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", - "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", + "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==", "dev": true, "optional": true, "requires": { @@ -10882,7 +11496,8 @@ "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true }, "collapse-white-space": { "version": "1.0.6", @@ -10906,16 +11521,6 @@ "object-visit": "^1.0.0" } }, - "color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", - "optional": true, - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" - } - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -10929,16 +11534,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, - "color-string": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", - "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", - "optional": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, "colorette": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", @@ -11270,7 +11865,8 @@ "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true }, "console-stream": { "version": "0.1.1", @@ -11560,9 +12156,9 @@ } }, "core-js": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz", - "integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.10.0.tgz", + "integrity": "sha512-MQx/7TLgmmDVamSyfE+O+5BHvG1aUGj/gHhLn1wVtm2B5u1eVIPvh7vkfjwWKNCjrTJB8+He99IntSQ1qP+vYQ==", "dev": true }, "core-js-compat": { @@ -11633,9 +12229,9 @@ } }, "cpy": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/cpy/-/cpy-8.1.1.tgz", - "integrity": "sha512-vqHT+9o67sMwJ5hUd/BAOYeemkU+MuFRsK2c36Xc3eefQpAsp1kAsyDxEDcc5JS1+y9l/XHPrIsVTcyGGmkUUQ==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/cpy/-/cpy-8.1.2.tgz", + "integrity": "sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==", "dev": true, "requires": { "arrify": "^2.0.1", @@ -11647,6 +12243,45 @@ "p-all": "^2.1.0", "p-filter": "^2.1.0", "p-map": "^3.0.0" + }, + "dependencies": { + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@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" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + } } }, "create-ecdh": { @@ -12079,9 +12714,9 @@ }, "dependencies": { "caniuse-lite": { - "version": "1.0.30001196", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001196.tgz", - "integrity": "sha512-CPvObjD3ovWrNBaXlAIGWmg2gQQuJ5YhuciUOjPRox6hIQttu8O+b51dx6VIpIY9ESd2d0Vac1RKpICdG4rGUg==" + "version": "1.0.30001207", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001207.tgz", + "integrity": "sha512-UPQZdmAsyp2qfCTiMU/zqGSWOYaY9F9LL61V8f+8MrubsaDGpaHD9HRV/EWZGULZn0Hxu48SKzI5DgFwTvHuYw==" }, "postcss": { "version": "7.0.35", @@ -12522,15 +13157,6 @@ } } }, - "decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "optional": true, - "requires": { - "mimic-response": "^2.0.0" - } - }, "decompress-tar": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", @@ -12717,12 +13343,6 @@ "regexp.prototype.flags": "^1.2.0" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "optional": true - }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -12813,22 +13433,14 @@ } }, "degenerator": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", - "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-2.2.0.tgz", + "integrity": "sha512-aiQcQowF01RxFI4ZLFMpzyotbQonhNpBao6dkI8JPk5a+hmSjR5ErHp2CQySmQe8os3VBqLCIh87nDBgZXvsmg==", "dev": true, "requires": { - "ast-types": "0.x.x", - "escodegen": "1.x.x", - "esprima": "3.x.x" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - } + "ast-types": "^0.13.2", + "escodegen": "^1.8.1", + "esprima": "^4.0.0" } }, "del": { @@ -12948,7 +13560,8 @@ "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true }, "depd": { "version": "1.1.2", @@ -12990,12 +13603,6 @@ "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", "dev": true }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "optional": true - }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -13013,10 +13620,10 @@ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.0.0.tgz", "integrity": "sha512-S4AHriUkTX9FoFvL4G8hXDcx6t3gp2HpfCza3Q0v6S78gul2hKWifLQbeW+ZF89+hSm2ZIc/uF3J97ZgytgTRg==" }, - "detect-port": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", - "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", "dev": true, "requires": { "address": "^1.0.1", @@ -13122,9 +13729,9 @@ }, "dependencies": { "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "dev": true } } @@ -13141,9 +13748,9 @@ "dev": true }, "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.19.0.tgz", + "integrity": "sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ==" }, "domelementtype": { "version": "1.3.1", @@ -13206,9 +13813,9 @@ } }, "dotenv": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", - "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", "dev": true }, "dotenv-defaults": { @@ -13218,6 +13825,14 @@ "dev": true, "requires": { "dotenv": "^6.2.0" + }, + "dependencies": { + "dotenv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", + "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "dev": true + } } }, "dotenv-expand": { @@ -13351,15 +13966,26 @@ } }, "downshift": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.0.tgz", - "integrity": "sha512-MnEJERij+1pTVAsOPsH3q9MJGNIZuu2sT90uxOCEOZYH6sEzkVGtUcTBVDRQkE8y96zpB7uEbRn24aE9VpHnZg==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.2.tgz", + "integrity": "sha512-WnPoQ6miic4+uEzPEfqgeen0t5YREOUabMopU/Juo/UYDMZl0ZACkO6ykWCRg48dlEUmEt6zfaJlj1x7kEy78g==", "dev": true, "requires": { - "@babel/runtime": "^7.12.5", - "compute-scroll-into-view": "^1.0.16", + "@babel/runtime": "^7.13.10", + "compute-scroll-into-view": "^1.0.17", "prop-types": "^15.7.2", - "react-is": "^17.0.1" + "react-is": "^17.0.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz", + "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + } } }, "duplexer": { @@ -13531,9 +14157,9 @@ } }, "embla-carousel": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-4.3.0.tgz", - "integrity": "sha512-BLqjl3b9wyRywE9nfFgdfxr6N/DS5Cr6NKkA7oIU5s1XdxAXYTgYZ/gc9cN1KzbPtYZKkQOBpeLOOqZ8TK0IPA==" + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-4.3.2.tgz", + "integrity": "sha512-lVIajaZNaeIq3DP+qwrja8FMmXSjCfEduzmlhKgXIZplNdGNmF/XOy5f/CSN90h8TlRdwNTan2J8JAWAPb3PLA==" }, "emittery": { "version": "0.7.2", @@ -13569,10 +14195,29 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, "requires": { "once": "^1.4.0" } @@ -13652,9 +14297,9 @@ } }, "envinfo": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", - "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true }, "errno": { @@ -13756,7 +14401,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -13797,20 +14441,10 @@ "es6-symbol": "^3.1.1" } }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } + "es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=" }, "es6-shim": { "version": "0.35.6", @@ -14106,12 +14740,6 @@ } } }, - "expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "optional": true - }, "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -14600,7 +15228,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true + "dev": true, + "optional": true }, "filelist": { "version": "1.0.2", @@ -14854,6 +15483,11 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -14984,7 +15618,8 @@ "fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true }, "fs-extra": { "version": "9.0.1", @@ -15027,6 +15662,12 @@ "minipass": "^3.0.0" } }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, "fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", @@ -15232,6 +15873,7 @@ "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, "requires": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -15246,12 +15888,14 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -15289,12 +15933,12 @@ } }, "geckodriver": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/geckodriver/-/geckodriver-1.22.1.tgz", - "integrity": "sha512-pT5Wf3AVszsvu0I8XWQT6VX7GzVYtASxzluVMlMXb3wb+jlmE0IFNQ7VGfjpdDrwF/MraukmdFtVQLpSJH0M2A==", + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/geckodriver/-/geckodriver-1.22.3.tgz", + "integrity": "sha512-HJvImEC5m/2J7aIn+AdiZml1yTOSFZAb8h8lmZBSUgGSCPdNTd0/6YxBVBsvzpaTuaDQHbMUr+8ikaFKF+Sj/A==", "dev": true, "requires": { - "adm-zip": "0.4.16", + "adm-zip": "0.5.3", "bluebird": "3.7.2", "got": "5.6.0", "https-proxy-agent": "5.0.0", @@ -15356,6 +16000,14 @@ "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==" }, + "get-orientation": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-orientation/-/get-orientation-1.1.2.tgz", + "integrity": "sha512-/pViTfifW+gBbh/RnlFYHINvELT9Znt+SYyDKAUL6uV6By019AK/s+i9XP4jSwq7lwP38Fd8HVeTxym3+hkwmQ==", + "requires": { + "stream-parser": "^0.3.1" + } + }, "get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", @@ -15393,48 +16045,65 @@ } }, "get-uri": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.4.tgz", - "integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz", + "integrity": "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==", "dev": true, "requires": { - "data-uri-to-buffer": "1", - "debug": "2", - "extend": "~3.0.2", - "file-uri-to-path": "1", - "ftp": "~0.3.10", - "readable-stream": "2" + "@tootallnate/once": "1", + "data-uri-to-buffer": "3", + "debug": "4", + "file-uri-to-path": "2", + "fs-extra": "^8.1.0", + "ftp": "^0.3.10" }, "dependencies": { - "data-uri-to-buffer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", - "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==", + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "file-uri-to-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz", + "integrity": "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==", "dev": true }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "graceful-fs": "^4.1.6" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true } } }, @@ -15521,12 +16190,6 @@ "git-up": "^4.0.0" } }, - "github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", - "optional": true - }, "github-slugger": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz", @@ -15698,26 +16361,63 @@ } }, "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", "dev": true, "requires": { - "@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" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" }, "dependencies": { - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } } } }, @@ -15965,8 +16665,7 @@ "has-bigints": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" }, "has-flag": { "version": "3.0.0", @@ -16016,7 +16715,8 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true }, "has-value": { "version": "1.0.0", @@ -16212,9 +16912,9 @@ "integrity": "sha512-G8tp0wUMI7i8wkMk2xLcEvESg5PiCitFMYgGRc/PwULB0RVhTP5GFdxOwvJwp9XVha8CuS8mnhmE8I/8dx/pbw==" }, "highlight.js": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.6.0.tgz", - "integrity": "sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ==", + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz", + "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==", "dev": true }, "hmac-drbg": { @@ -16446,32 +17146,30 @@ "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" }, "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, "requires": { - "agent-base": "4", - "debug": "3.1.0" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" }, "dependencies": { - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.2" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -16702,9 +17400,9 @@ "dev": true }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, "imagemin": { @@ -16951,15 +17649,6 @@ "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==", "dev": true }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -16978,23 +17667,6 @@ } } }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } - } - }, "import-lazy": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", @@ -17059,7 +17731,8 @@ "ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true }, "inline-style-parser": { "version": "0.1.1", @@ -17067,101 +17740,6 @@ "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", "dev": true }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", @@ -17277,17 +17855,10 @@ "call-bind": "^1.0.0" } }, - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "optional": true - }, "is-bigint": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", - "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", - "dev": true + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==" }, "is-binary-path": { "version": "2.1.0", @@ -17301,7 +17872,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", - "dev": true, "requires": { "call-bind": "^1.0.0" } @@ -17315,8 +17885,7 @@ "is-callable": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" }, "is-ci": { "version": "2.0.0", @@ -17429,6 +17998,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -17451,6 +18021,11 @@ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, + "is-generator-function": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz", + "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==" + }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", @@ -17489,6 +18064,15 @@ "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", "dev": true }, + "is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, "is-natural-number": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", @@ -17498,8 +18082,7 @@ "is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" }, "is-number": { "version": "7.0.0", @@ -17509,8 +18092,7 @@ "is-number-object": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", - "dev": true + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==" }, "is-obj": { "version": "1.0.1", @@ -17641,24 +18223,114 @@ "is-string": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" }, "is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, "requires": { "has-symbols": "^1.0.1" } }, + "is-typed-array": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", + "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", + "requires": { + "available-typed-arrays": "^1.0.2", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.0-next.2", + "foreach": "^2.0.5", + "has-symbols": "^1.0.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + } + } + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" + }, + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + } + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", @@ -19226,6 +19898,7 @@ "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, "requires": { "merge-stream": "^2.0.0", "supports-color": "^6.1.0" @@ -19486,6 +20159,12 @@ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "dev": true + }, "known-css-properties": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", @@ -19512,14 +20191,6 @@ "core-js": "^3.0.4", "dotenv": "^8.0.0", "dotenv-expand": "^5.1.0" - }, - "dependencies": { - "dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", - "dev": true - } } }, "leven": { @@ -19881,6 +20552,12 @@ "lodash._isiterateecall": "^3.0.0" } }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -19893,6 +20570,12 @@ "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", "dev": true }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, "lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", @@ -19970,6 +20653,12 @@ "lodash._reinterpolate": "^3.0.0" } }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -20208,13 +20897,13 @@ "dev": true }, "lowlight": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.19.0.tgz", - "integrity": "sha512-NIskvQ1d1ovKyUytkMpT8+8Bhq3Ub54os1Xp4RAC9uNbXH1YVRf5NERq7JNzapEe5BzUc1Cj4F0I+eLBBFj6hA==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", + "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", "dev": true, "requires": { "fault": "^1.0.0", - "highlight.js": "~10.6.0" + "highlight.js": "~10.7.0" } }, "lpad-align": { @@ -20326,14 +21015,10 @@ "dev": true }, "markdown-to-jsx": { - "version": "6.11.4", - "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz", - "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==", - "dev": true, - "requires": { - "prop-types": "^15.6.2", - "unquote": "^1.1.0" - } + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.1.2.tgz", + "integrity": "sha512-O8DMCl32V34RrD+ZHxcAPc2+kYytuDIoQYjY36RVdsLK7uHjgNVvFec4yv0X6LgB4YEZgSvK5QtFi5YVqEpoMA==", + "dev": true }, "matcher": { "version": "3.0.0", @@ -20352,12 +21037,6 @@ } } }, - "material-colors": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", - "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==", - "dev": true - }, "mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -20474,6 +21153,15 @@ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, + "memfs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.2.tgz", + "integrity": "sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q==", + "dev": true, + "requires": { + "fs-monkey": "1.0.3" + } + }, "memoize-one": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.1.1.tgz", @@ -20753,12 +21441,6 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, - "mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "optional": true - }, "min-document": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", @@ -20917,12 +21599,6 @@ "minimist": "^1.2.5" } }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "optional": true - }, "mkpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", @@ -21244,9 +21920,9 @@ "optional": true }, "nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==" + "version": "3.1.22", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz", + "integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==" }, "nanomatch": { "version": "1.2.13", @@ -21267,12 +21943,6 @@ "to-regex": "^3.0.1" } }, - "napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", - "optional": true - }, "native-url": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.3.4.tgz", @@ -21311,53 +21981,66 @@ "dev": true }, "netmask": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", - "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", "dev": true }, "next": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/next/-/next-10.0.7.tgz", - "integrity": "sha512-We0utmwwfkvO12eLyUZd3tX9VLDE3FPpOaHpH3kqKdUTxJzUKt8FLBXCTm0mwsTKW5XColWG8mJvz2OLu3+3QA==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/next/-/next-10.1.3.tgz", + "integrity": "sha512-8Jf38F+s0YcXXkJGF5iUxOqSmbHrey0fX5Epc43L0uwDKmN2jK9vhc2ihCwXC1pmu8d2m/8wfTiXRJKGti55yw==", "requires": { "@babel/runtime": "7.12.5", "@hapi/accept": "5.0.1", - "@next/env": "10.0.7", - "@next/polyfill-module": "10.0.7", - "@next/react-dev-overlay": "10.0.7", - "@next/react-refresh-utils": "10.0.7", + "@next/env": "10.1.3", + "@next/polyfill-module": "10.1.3", + "@next/react-dev-overlay": "10.1.3", + "@next/react-refresh-utils": "10.1.3", "@opentelemetry/api": "0.14.0", + "assert": "2.0.0", "ast-types": "0.13.2", + "browserify-zlib": "0.2.0", "browserslist": "4.16.1", "buffer": "5.6.0", "caniuse-lite": "^1.0.30001179", "chalk": "2.4.2", "chokidar": "3.5.1", + "constants-browserify": "1.0.0", "crypto-browserify": "3.12.0", "cssnano-simple": "1.2.2", + "domain-browser": "4.19.0", + "encoding": "0.1.13", "etag": "1.8.1", "find-cache-dir": "3.3.1", - "jest-worker": "24.9.0", + "get-orientation": "1.1.2", + "https-browserify": "1.0.0", + "jest-worker": "27.0.0-next.5", "native-url": "0.3.4", "node-fetch": "2.6.1", "node-html-parser": "1.4.9", "node-libs-browser": "^2.2.1", + "os-browserify": "0.3.0", "p-limit": "3.1.0", "path-browserify": "1.0.1", "pnp-webpack-plugin": "1.6.4", "postcss": "8.1.7", "process": "0.11.10", "prop-types": "15.7.2", + "querystring-es3": "0.2.1", "raw-body": "2.4.1", "react-is": "16.13.1", "react-refresh": "0.8.3", - "sharp": "0.26.3", "stream-browserify": "3.0.0", + "stream-http": "3.1.1", + "string_decoder": "1.3.0", "styled-jsx": "3.3.2", + "timers-browserify": "2.0.12", + "tty-browserify": "0.0.1", "use-subscription": "1.5.1", + "util": "0.12.3", "vm-browserify": "1.1.2", - "watchpack": "2.0.0-beta.13" + "watchpack": "2.1.1" }, "dependencies": { "browserslist": { @@ -21373,9 +22056,14 @@ } }, "caniuse-lite": { - "version": "1.0.30001196", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001196.tgz", - "integrity": "sha512-CPvObjD3ovWrNBaXlAIGWmg2gQQuJ5YhuciUOjPRox6hIQttu8O+b51dx6VIpIY9ESd2d0Vac1RKpICdG4rGUg==" + "version": "1.0.30001207", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001207.tgz", + "integrity": "sha512-UPQZdmAsyp2qfCTiMU/zqGSWOYaY9F9LL61V8f+8MrubsaDGpaHD9HRV/EWZGULZn0Hxu48SKzI5DgFwTvHuYw==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "http-errors": { "version": "1.7.3", @@ -21389,6 +22077,16 @@ "toidentifier": "1.0.0" } }, + "jest-worker": { + "version": "27.0.0-next.5", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.0-next.5.tgz", + "integrity": "sha512-mk0umAQ5lT+CaOJ+Qp01N6kz48sJG2kr2n1rX0koqKf6FIygQV0qLOdN9SCYID4IVeSigDOcPeGLozdMLYfb5g==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, "raw-body": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", @@ -21404,6 +22102,14 @@ "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -21558,16 +22264,16 @@ "dev": true }, "nightwatch": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.5.1.tgz", - "integrity": "sha512-tFhzV7JyLjI+Rq7xXLaRUQ/hExP87GlMYiAlhAYaODpyQSIl8O7/yf7gAUYQd3H7m3n+tnwFFsuE0GaxvCdoZA==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.6.2.tgz", + "integrity": "sha512-iItgPKmYynGtlCqfnCK/3tJrthyyXvyEURuDAVnGvrWq5phQu9rtKUaju0UHNQEwyrd8smITv2mHV/cSrRwPAg==", "dev": true, "requires": { "assertion-error": "^1.1.0", "chai-nightwatch": "^0.4.0", "ci-info": "^2.0.0", "dotenv": "7.0.0", - "ejs": "^2.7.4", + "ejs": "^3.1.6", "envinfo": "^7.5.1", "lodash.clone": "3.0.3", "lodash.defaultsdeep": "^4.6.1", @@ -21577,7 +22283,7 @@ "mkpath": "1.0.0", "mocha": "6.2.3", "ora": "^4.0.3", - "proxy-agent": "^3.1.1", + "proxy-agent": "^4.0.1", "request": "^2.88.2", "request-promise": "^4.2.5", "semver": "^6.3.0", @@ -21589,12 +22295,6 @@ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", "dev": true - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "dev": true } } }, @@ -21643,29 +22343,6 @@ } } }, - "node-abi": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.20.0.tgz", - "integrity": "sha512-6ldtfVR5l3RS8D0aT+lj/uM2Vv/PGEkeWzt2tl8DFBsGY/IuVnAIHl+dG6C14NlWClVv7Rn2+ZDvox+35Hx2Kg==", - "optional": true, - "requires": { - "semver": "^5.4.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "optional": true - } - } - }, - "node-addon-api": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz", - "integrity": "sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==", - "optional": true - }, "node-dir": { "version": "0.1.17", "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", @@ -21747,6 +22424,25 @@ "vm-browserify": "^1.0.1" }, "dependencies": { + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, "buffer": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", @@ -21757,6 +22453,16 @@ "isarray": "^1.0.0" } }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, "path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", @@ -21781,6 +22487,11 @@ "util-deprecate": "~1.0.1" }, "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -21799,6 +22510,38 @@ "inherits": "~2.0.1", "readable-stream": "^2.0.2" } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } } } }, @@ -21866,12 +22609,6 @@ "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=", "dev": true }, - "noop-logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", - "optional": true - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -21946,6 +22683,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -21976,7 +22714,8 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true }, "number-precision": { "version": "1.5.0", @@ -22034,8 +22773,7 @@ "object-inspect": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" }, "object-is": { "version": "1.1.5", @@ -22078,7 +22816,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -22370,6 +23107,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } @@ -22703,9 +23441,9 @@ } }, "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "requires": { "aggregate-error": "^3.0.0" @@ -22747,30 +23485,22 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "pac-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz", - "integrity": "sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-4.1.0.tgz", + "integrity": "sha512-ejNgYm2HTXSIYX9eFlkvqFp8hyJ374uDf0Zq5YUAifiSh1D6fo+iBivQZirGvVv8dCYUsLhmLBRhlAYvBKI5+Q==", "dev": true, "requires": { - "agent-base": "^4.2.0", - "debug": "^4.1.1", - "get-uri": "^2.0.0", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^3.0.0", - "pac-resolver": "^3.0.0", + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4", + "get-uri": "3", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "5", + "pac-resolver": "^4.1.0", "raw-body": "^2.2.0", - "socks-proxy-agent": "^4.0.1" + "socks-proxy-agent": "5" }, "dependencies": { - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -22780,27 +23510,6 @@ "ms": "2.1.2" } }, - "https-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", - "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", - "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -22810,16 +23519,14 @@ } }, "pac-resolver": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", - "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-4.2.0.tgz", + "integrity": "sha512-rPACZdUyuxT5Io/gFKUeeZFfE5T7ve7cAkE5TUZRRfuKP0u5Hocwe48X7ZEm6mYB+bTB0Qf+xlVlA/RM/i6RCQ==", "dev": true, "requires": { - "co": "^4.6.0", - "degenerator": "^1.0.4", + "degenerator": "^2.2.0", "ip": "^1.1.5", - "netmask": "^1.0.6", - "thunkify": "^2.1.2" + "netmask": "^2.0.1" } }, "pad-right": { @@ -23241,9 +23948,9 @@ } }, "polished": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/polished/-/polished-3.7.1.tgz", - "integrity": "sha512-/QgHrNGYwIA4mwxJ/7FSvalUJsm7KNfnXiScVSEG2Xa5qxDeBn4nmdjN2pW00mkM2Tts64ktc47U8F7Ed1BRAA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.1.tgz", + "integrity": "sha512-4MZTrfPMPRLD7ac8b+2JZxei58zw6N1hFkdBDERif5Tlj19y3vPoPusrLG+mJIlPTGnUlKw3+yWz0BazvMx1vg==", "dev": true, "requires": { "@babel/runtime": "^7.12.5" @@ -23870,58 +24577,8 @@ "requires": { "chalk": "^2.4.2", "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - } - } - }, - "postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", - "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true + "supports-color": "^6.1.0" + } } } }, @@ -23962,57 +24619,49 @@ } }, "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.2.0.tgz", + "integrity": "sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA==", "dev": true, "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.4" }, "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", "dev": true, "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" } }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "lru-cache": "^6.0.0" } } } @@ -24645,42 +25294,6 @@ "uniq": "^1.0.1" } }, - "prebuild-install": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.0.1.tgz", - "integrity": "sha512-7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ==", - "optional": true, - "requires": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.7.0", - "noop-logger": "^0.1.1", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" - }, - "dependencies": { - "simple-get": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", - "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", - "optional": true, - "requires": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - } - } - }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -24995,30 +25608,21 @@ } }, "proxy-agent": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.1.tgz", - "integrity": "sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-4.0.1.tgz", + "integrity": "sha512-ODnQnW2jc/FUVwHHuaZEfN5otg/fMbvMxz9nMSUQfJ9JU7q2SZvSULSsjLloVgJOiv9yhc8GlNMKc4GkFmcVEA==", "dev": true, "requires": { - "agent-base": "^4.2.0", + "agent-base": "^6.0.0", "debug": "4", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^3.0.0", + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", "lru-cache": "^5.1.1", - "pac-proxy-agent": "^3.0.1", + "pac-proxy-agent": "^4.1.0", "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^4.0.1" + "socks-proxy-agent": "^5.0.0" }, "dependencies": { - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -25028,27 +25632,6 @@ "ms": "2.1.2" } }, - "https-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", - "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", - "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -25125,6 +25708,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -25286,37 +25870,25 @@ } } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, "react": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.1.tgz", - "integrity": "sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" } }, "react-beautiful-dnd": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/react-beautiful-dnd/-/react-beautiful-dnd-13.0.0.tgz", - "integrity": "sha512-87It8sN0ineoC3nBW0SbQuTFXM6bUqM62uJGY4BtTf0yzPl8/3+bHMWkgIe0Z6m8e+gJgjWxefGRVfpE3VcdEg==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/react-beautiful-dnd/-/react-beautiful-dnd-13.1.0.tgz", + "integrity": "sha512-aGvblPZTJowOWUNiwd6tNfEpgkX5OxmpqxHKNW/4VmvZTNTbeiq7bA3bn5T+QSF2uibXB0D1DmJsb1aC/+3cUA==", "requires": { - "@babel/runtime": "^7.8.4", + "@babel/runtime": "^7.9.2", "css-box-model": "^1.2.0", "memoize-one": "^5.1.1", "raf-schd": "^4.0.2", - "react-redux": "^7.1.1", + "react-redux": "^7.2.0", "redux": "^4.0.4", "use-memo-one": "^1.1.1" } @@ -25329,20 +25901,11 @@ "@babel/runtime": "^7.0.0" } }, - "react-color": { - "version": "2.19.3", - "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz", - "integrity": "sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==", - "dev": true, - "requires": { - "@icons/material": "^0.2.4", - "lodash": "^4.17.15", - "lodash-es": "^4.17.15", - "material-colors": "^1.2.1", - "prop-types": "^15.5.10", - "reactcss": "^1.2.0", - "tinycolor2": "^1.4.1" - } + "react-colorful": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.1.1.tgz", + "integrity": "sha512-CNnpzPOMDUors/WcN23IUkBvdHuzJfr5UuZxW02TyVW5hCmFME3cbxucF26EujKyTt4ageBrLDyQ6JAtjGIzgQ==", + "dev": true }, "react-copy-to-clipboard": { "version": "5.0.3", @@ -25354,9 +25917,9 @@ } }, "react-dev-utils": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.3.tgz", - "integrity": "sha512-4lEA5gF4OHrcJLMUV1t+4XbNDiJbsAWCH5Z2uqlTqW6dD7Cf5nEASkeXrCI/Mz83sI2o527oBIFKVMXtRf1Vtg==", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz", + "integrity": "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==", "dev": true, "requires": { "@babel/code-frame": "7.10.4", @@ -25394,18 +25957,6 @@ "@babel/highlight": "^7.10.4" } }, - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, "browserslist": { "version": "4.14.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz", @@ -25429,75 +25980,12 @@ "which": "^2.0.1" } }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dev": true, - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, "escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true }, - "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } - }, - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -25556,17 +26044,17 @@ } }, "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true } } }, "react-docgen-typescript": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-1.21.0.tgz", - "integrity": "sha512-E4y/OcXwHukgiVafCGlxwoNHr4BDmM70Ww7oimL/QkMo5dmGALhceewe/xmVjdMxxI7E5syOGOc9/tbHL742rg==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-1.22.0.tgz", + "integrity": "sha512-MPLbF8vzRwAG3GcjdL+OHQlhgtWsLTXs+7uJiHfEeT3Ur7IsZaNYqRTLQ9sj2nB6M6jylcPCeCmH7qbszJmecg==", "dev": true }, "react-docgen-typescript-plugin": { @@ -25608,21 +26096,21 @@ "dev": true }, "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true } } }, "react-dom": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.1.tgz", - "integrity": "sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", - "scheduler": "^0.20.1" + "scheduler": "^0.20.2" } }, "react-dom-factories": { @@ -25703,15 +26191,6 @@ } } }, - "react-hotkeys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-hotkeys/-/react-hotkeys-2.0.0.tgz", - "integrity": "sha512-3n3OU8vLX/pfcJrR3xJ1zlww6KS1kEJt0Whxc4FiGV+MJrQ1mYSYI3qS/11d2MJDFm8IhOXMTFQirfu6AVOF6Q==", - "dev": true, - "requires": { - "prop-types": "^15.6.1" - } - }, "react-inspector": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-5.1.0.tgz", @@ -25724,9 +26203,9 @@ } }, "react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "react-layout-effect": { @@ -25740,9 +26219,9 @@ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "react-popper": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.2.4.tgz", - "integrity": "sha512-NacOu4zWupdQjVXq02XpTD3yFPSfg5a7fex0wa3uGKVkFK7UN6LvVxgcb+xYr56UCuWiNPMH20tntdVdJRwYew==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.2.5.tgz", + "integrity": "sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw==", "dev": true, "requires": { "react-fast-compare": "^3.0.1", @@ -25782,11 +26261,12 @@ } }, "react-redux": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.2.tgz", - "integrity": "sha512-8+CQ1EvIVFkYL/vu6Olo7JFLWop1qRUeb46sGtIMDCSpgwPQq8fPLpirIB0iTqFe9XYEFPHssdX8/UwN6pAkEA==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.3.tgz", + "integrity": "sha512-ZhAmQ1lrK+Pyi0ZXNMUZuYxYAZd59wFuVDGUt536kSGdD0ya9Q7BfsE95E3TsFLE3kOSFp5m6G5qbatE+Ic1+w==", "requires": { "@babel/runtime": "^7.12.1", + "@types/react-redux": "^7.1.16", "hoist-non-react-statics": "^3.3.2", "loose-envify": "^1.4.0", "prop-types": "^15.7.2", @@ -25827,15 +26307,15 @@ } }, "react-sizeme": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-2.6.12.tgz", - "integrity": "sha512-tL4sCgfmvapYRZ1FO2VmBmjPVzzqgHA7kI8lSJ6JS6L78jXFNRdOZFpXyK6P1NBZvKPPCZxReNgzZNUajAerZw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-3.0.1.tgz", + "integrity": "sha512-9Hf1NLgSbny1bha77l9HwvwwxQUJxFUqi44Ih+y3evA+PezBpGdCGlnvye6avss2cIgs9PgdYgMnfuzJWn/RUw==", "dev": true, "requires": { - "element-resize-detector": "^1.2.1", + "element-resize-detector": "^1.2.2", "invariant": "^2.2.4", "shallowequal": "^1.1.0", - "throttle-debounce": "^2.1.0" + "throttle-debounce": "^3.0.1" } }, "react-spring": { @@ -25921,15 +26401,6 @@ } } }, - "reactcss": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", - "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", - "dev": true, - "requires": { - "lodash": "^4.0.1" - } - }, "read-all-stream": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", @@ -26296,27 +26767,16 @@ } }, "remark-external-links": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/remark-external-links/-/remark-external-links-6.1.0.tgz", - "integrity": "sha512-dJr+vhe3wuh1+E9jltQ+efRMqtMDOOnfFkhtoArOmhnBcPQX6THttXMkc/H0kdnAvkXTk7f2QdOYm5qo/sGqdw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/remark-external-links/-/remark-external-links-8.0.0.tgz", + "integrity": "sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==", "dev": true, "requires": { "extend": "^3.0.0", "is-absolute-url": "^3.0.0", - "mdast-util-definitions": "^2.0.0", + "mdast-util-definitions": "^4.0.0", "space-separated-tokens": "^1.0.0", "unist-util-visit": "^2.0.0" - }, - "dependencies": { - "mdast-util-definitions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-2.0.1.tgz", - "integrity": "sha512-Co+DQ6oZlUzvUR7JCpP249PcexxygiaKk9axJh+eRzHDZJk2julbIdKB4PXHVxdBuLzvJ1Izb+YDpj2deGMOuA==", - "dev": true, - "requires": { - "unist-util-visit": "^2.0.0" - } - } } }, "remark-footnotes": { @@ -26366,9 +26826,9 @@ } }, "@babel/types": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", - "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz", + "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -26993,9 +27453,9 @@ } }, "scheduler": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.1.tgz", - "integrity": "sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -27181,7 +27641,8 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true }, "set-value": { "version": "2.0.1", @@ -27240,41 +27701,6 @@ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", "dev": true }, - "sharp": { - "version": "0.26.3", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.26.3.tgz", - "integrity": "sha512-NdEJ9S6AMr8Px0zgtFo1TJjMK/ROMU92MkDtYn2BBrDjIx3YfH9TUyGdzPC+I/L619GeYQc690Vbaxc5FPCCWg==", - "optional": true, - "requires": { - "array-flatten": "^3.0.0", - "color": "^3.1.3", - "detect-libc": "^1.0.3", - "node-addon-api": "^3.0.2", - "npmlog": "^4.1.2", - "prebuild-install": "^6.0.0", - "semver": "^7.3.2", - "simple-get": "^4.0.0", - "tar-fs": "^2.1.1", - "tunnel-agent": "^0.6.0" - }, - "dependencies": { - "array-flatten": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-3.0.0.tgz", - "integrity": "sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==", - "optional": true - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "optional": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -27332,53 +27758,11 @@ "object-inspect": "^1.9.0" } }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "optional": true - }, - "simple-get": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.0.tgz", - "integrity": "sha512-ZalZGexYr3TA0SwySsr5HlgOOinS4Jsa8YB2GJ6lUNAazyAu4KG/VmzMTwAt2YVXzzVj8QmefmAonZIK2BSGcQ==", - "optional": true, - "requires": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - }, - "dependencies": { - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "optional": true, - "requires": { - "mimic-response": "^3.1.0" - } - }, - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "optional": true - } - } - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "optional": true, - "requires": { - "is-arrayish": "^0.3.1" - } + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true }, "sisteransi": { "version": "1.0.5", @@ -27542,33 +27926,40 @@ } }, "socks": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.0.tgz", + "integrity": "sha512-mNmr9owlinMplev0Wd7UHFlqI4ofnBnNzFuzrm63PPaHgbkqCFe4T5LzwKmtQ/f2tX0NTpcdVLyD/FHxFBstYw==", "dev": true, "requires": { - "ip": "1.1.5", + "ip": "^1.1.5", "smart-buffer": "^4.1.0" } }, "socks-proxy-agent": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", - "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz", + "integrity": "sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA==", "dev": true, "requires": { - "agent-base": "~4.2.1", - "socks": "~2.3.2" + "agent-base": "6", + "debug": "4", + "socks": "^2.3.3" }, "dependencies": { - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "es6-promisify": "^5.0.0" + "ms": "2.1.2" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -27932,39 +28323,22 @@ } }, "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz", + "integrity": "sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==", "requires": { "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, + "stream-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", + "integrity": "sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=", + "requires": { + "debug": "2" } }, "stream-shift": { @@ -28003,6 +28377,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -28012,12 +28387,14 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -28098,16 +28475,6 @@ "has-symbols": "^1.0.1" } }, - "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, "string.prototype.trimend": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", @@ -28413,7 +28780,8 @@ "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true }, "strip-outer": { "version": "1.0.1", @@ -28518,9 +28886,9 @@ } }, "stylelint": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.11.0.tgz", - "integrity": "sha512-DhrKSWDWGZkCiQMtU+VroXM6LWJVC8hSK24nrUngTSQvXGK75yZUq4yNpynqrxD3a/fzKMED09V+XxO4z4lTbw==", + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.12.0.tgz", + "integrity": "sha512-P8O1xDy41B7O7iXaSlW+UuFbE5+ZWQDb61ndGDxKIt36fMH50DtlQTbwLpFLf8DikceTAb3r6nPrRv30wBlzXw==", "dev": true, "requires": { "@stylelint/postcss-css-in-js": "^0.37.2", @@ -28533,7 +28901,7 @@ "execall": "^2.0.0", "fast-glob": "^3.2.5", "fastest-levenshtein": "^1.0.12", - "file-entry-cache": "^6.0.0", + "file-entry-cache": "^6.0.1", "get-stdin": "^8.0.0", "global-modules": "^2.0.0", "globby": "^11.0.2", @@ -28543,7 +28911,7 @@ "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "known-css-properties": "^0.21.0", - "lodash": "^4.17.20", + "lodash": "^4.17.21", "log-symbols": "^4.0.0", "mathml-tag-names": "^2.1.3", "meow": "^9.0.0", @@ -28563,7 +28931,7 @@ "resolve-from": "^5.0.0", "slash": "^3.0.0", "specificity": "^0.4.1", - "string-width": "^4.2.0", + "string-width": "^4.2.2", "strip-ansi": "^6.0.0", "style-search": "^0.1.0", "sugarss": "^2.0.0", @@ -28580,9 +28948,9 @@ "dev": true }, "ajv": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.1.tgz", - "integrity": "sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ==", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.0.5.tgz", + "integrity": "sha512-RkiLa/AeJx7+9OvniQ/qeWu0w74A8DiPPBclQ6ji3ZQkv5KamO+QGpqmi7O4JIw3rHGUXZ6CoP9tsAkn3gyazg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -28712,9 +29080,9 @@ "dev": true }, "globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", + "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", "dev": true, "requires": { "array-union": "^2.1.0", @@ -28732,20 +29100,14 @@ "dev": true }, "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, "requires": { "lru-cache": "^6.0.0" } }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, "import-lazy": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", @@ -28765,18 +29127,19 @@ "dev": true }, "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "chalk": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" } }, "map-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz", - "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.0.tgz", + "integrity": "sha512-NAq0fCmZYGz9UFEQyndp7sisrow4GroyGeKluyKC/chuITZsPyOyC1UJZPJlVFImhXdROIP5xqouRLThT3BbpQ==", "dev": true }, "meow": { @@ -28816,14 +29179,14 @@ "dev": true }, "normalize-package-data": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz", - "integrity": "sha512-6lUjEI0d3v6kFrtgA/lOx4zHCWULXsFNIjHolnZCKCTLA6m/G625cdn3O7eNmT0iD3jfo6HZ9cdImGZwf21prw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", "dev": true, "requires": { - "hosted-git-info": "^3.0.6", - "resolve": "^1.17.0", - "semver": "^7.3.2", + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", "validate-npm-package-license": "^3.0.1" } }, @@ -28980,10 +29343,20 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -29021,13 +29394,18 @@ } }, "table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.9.tgz", + "integrity": "sha512-F3cLs9a3hL1Z7N4+EkSscsel3z55XT950AvB05bwayrNg5T1/gykXtigioTAjbltvbMSJvvhFCbnf6mX+ntnJQ==", "dev": true, "requires": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", + "ajv": "^8.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "lodash.clonedeep": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.0" } @@ -29045,9 +29423,9 @@ "dev": true }, "yargs-parser": { - "version": "20.2.6", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz", - "integrity": "sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA==", + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", "dev": true } } @@ -29068,18 +29446,18 @@ } }, "stylelint-config-recommended": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", - "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-4.0.0.tgz", + "integrity": "sha512-sgna89Ng+25Hr9kmmaIxpGWt2LStVm1xf1807PdcWasiPDaOTkOHRL61sINw0twky7QMzafCGToGDnHT/kTHtQ==", "dev": true }, "stylelint-config-standard": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-20.0.0.tgz", - "integrity": "sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-21.0.0.tgz", + "integrity": "sha512-Yf6mx5oYEbQQJxWuW7X3t1gcxqbUx52qC9SMS3saC2ruOVYEyqmr5zSW6k3wXflDjjFrPhar3kp68ugRopmlzg==", "dev": true, "requires": { - "stylelint-config-recommended": "^3.0.0" + "stylelint-config-recommended": "^4.0.0" } }, "stylelint-order": { @@ -29440,31 +29818,6 @@ } } }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "optional": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "optional": true, - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, "tcp-port-used": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", @@ -29493,21 +29846,31 @@ } }, "telejson": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/telejson/-/telejson-5.1.0.tgz", - "integrity": "sha512-Yy0N2OV0mosmr1SCZEm3Ezhu/oi5Dbao5RqauZu4+VI5I/XtVBHXajRk0txuqbFYtKdzzWGDZFGSif9ovVLjEA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/telejson/-/telejson-5.1.1.tgz", + "integrity": "sha512-aU7x+nwodmODJPXhU9sC/REOcX/dx1tNbyeOFV1PCTh6e9Mj+bnyfQ7sr13zfJYya9BtpGwnUNn9Fd76Ybj2eg==", "dev": true, "requires": { "@types/is-function": "^1.0.0", "global": "^4.4.0", "is-function": "^1.0.2", - "is-regex": "^1.1.1", + "is-regex": "^1.1.2", "is-symbol": "^1.0.3", "isobject": "^4.0.0", - "lodash": "^4.17.20", + "lodash": "^4.17.21", "memoizerific": "^1.11.3" }, "dependencies": { + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, "isobject": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", @@ -29604,9 +29967,9 @@ }, "dependencies": { "cacache": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", - "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", + "version": "15.0.6", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.6.tgz", + "integrity": "sha512-g1WYDMct/jzW+JdWEyjaX2zoBkZ6ZT9VpOyp2I/VMtDsNLffNat3kqPFfi1eDRSK9/SuKGyORDHcQMcPF8sQ/w==", "dev": true, "requires": { "@npmcli/move-file": "^1.0.1", @@ -29623,7 +29986,7 @@ "p-map": "^4.0.0", "promise-inflight": "^1.0.1", "rimraf": "^3.0.2", - "ssri": "^8.0.0", + "ssri": "^8.0.1", "tar": "^6.0.2", "unique-filename": "^1.1.1" } @@ -29657,15 +30020,6 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -29737,9 +30091,9 @@ "dev": true }, "throttle-debounce": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz", - "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", + "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==", "dev": true }, "through": { @@ -29784,12 +30138,6 @@ } } }, - "thunkify": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", - "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=", - "dev": true - }, "timed-out": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz", @@ -29821,12 +30169,6 @@ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, - "tinycolor2": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", - "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==", - "dev": true - }, "tippy.js": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.1.tgz", @@ -30022,9 +30364,9 @@ "dev": true }, "ts-dedent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.0.0.tgz", - "integrity": "sha512-DfxKjSFQfw9+uf7N9Cy8Ebx9fv5fquK4hZ6SD3Rzr+1jKP6AVA6H8+B5457ZpUs0JKsGpGqIevbpZ9DMQJDp1A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.1.1.tgz", + "integrity": "sha512-riHuwnzAUCfdIeTBNUq7+Yj+ANnrMXo/7+Z74dIdudS7ys2k8aSGMzpJRMFDF7CLwUTbtvi1ZZff/Wl+XxmqIA==", "dev": true }, "ts-essentials": { @@ -30189,14 +30531,15 @@ "dev": true }, "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -30267,7 +30610,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.0.tgz", "integrity": "sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA==", - "dev": true, "requires": { "function-bind": "^1.1.1", "has-bigints": "^1.0.0", @@ -30417,9 +30759,9 @@ "dev": true }, "unist-util-is": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.4.tgz", - "integrity": "sha512-3dF39j/u423v4BBQrk1AQ2Ve1FxY5W3JKwXxVFzBODQ6WEvccguhgp802qQLKSnxPODE6WuRZtV+ohlUg4meBA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", "dev": true }, "unist-util-position": { @@ -30429,9 +30771,9 @@ "dev": true }, "unist-util-remove": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.0.1.tgz", - "integrity": "sha512-YtuetK6o16CMfG+0u4nndsWpujgsHDHHLyE0yGpJLLn5xSjKeyGyzEBOI2XbmoUHCYabmNgX52uxlWoQhcvR7Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", + "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", "dev": true, "requires": { "unist-util-is": "^4.0.0" @@ -30701,9 +31043,9 @@ } }, "use-memo-one": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/use-memo-one/-/use-memo-one-1.1.1.tgz", - "integrity": "sha512-oFfsyun+bP7RX8X2AskHNTxu+R3QdE/RC5IefMbqptmACAA/gfol1KDD5KRzPsGMa62sWxGZw+Ui43u6x4ddoQ==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-memo-one/-/use-memo-one-1.1.2.tgz", + "integrity": "sha512-u2qFKtxLsia/r8qG0ZKkbytbztzRb317XCkT7yP8wxL0tZ/CzK2G+WWie5vWvpyeP7+YoPIwbJoIHJ4Ba4k0oQ==" }, "use-sidecar": { "version": "1.0.3", @@ -30723,18 +31065,16 @@ } }, "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", + "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" } }, "util-arity": { @@ -30773,12 +31113,19 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "optional": true + }, + "uuid-browser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid-browser/-/uuid-browser-3.1.0.tgz", + "integrity": "sha1-DwWkCu90+eWVHiDvv0SxGHHlZBA=", "dev": true }, "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "v8-to-istanbul": { @@ -30946,9 +31293,9 @@ } }, "watchpack": { - "version": "2.0.0-beta.13", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.0.0-beta.13.tgz", - "integrity": "sha512-ZEFq2mx/k5qgQwgi6NOm+2ImICb8ngAkA/rZ6oyXZ7SgPn3pncf+nfhYTCrs3lmHwOxnPtGLTOuFLfpSMh1VMA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", + "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -31621,7 +31968,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, "requires": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -31639,12 +31985,102 @@ "which-pm-runs": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "dev": true + }, + "which-typed-array": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", + "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", + "requires": { + "available-typed-arrays": "^1.0.2", + "call-bind": "^1.0.0", + "es-abstract": "^1.18.0-next.1", + "foreach": "^2.0.5", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.1", + "is-typed-array": "^1.1.3" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + } + } + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" + }, + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + } + } }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, "requires": { "string-width": "^1.0.2 || 2" } @@ -31993,7 +32429,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "write-file-atomic": { "version": "3.0.3", diff --git a/package.json b/package.json index 89e2906048..7e41e44cd2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matters-web", - "version": "3.21.0", + "version": "3.22.0", "description": "codebase of Matters' website", "sideEffects": false, "author": "Matters ", @@ -44,10 +44,10 @@ "@reach/alert": "^0.10.5", "@reach/dialog": "^0.10.5", "@reach/visually-hidden": "^0.10.4", - "@sentry/browser": "^6.2.1", + "@sentry/browser": "^6.2.5", "@stripe/react-stripe-js": "^1.4.0", - "@stripe/stripe-js": "^1.13.1", - "@tippyjs/react": "^4.2.3", + "@stripe/stripe-js": "^1.13.2", + "@tippyjs/react": "^4.2.5", "apollo-cache-inmemory": "^1.6.6", "apollo-cache-persist": "^0.1.1", "apollo-client": "^2.6.10", @@ -58,9 +58,9 @@ "apollo-link-ws": "^1.0.20", "apollo-utilities": "^1.3.4", "autosize": "^4.0.2", - "classnames": "^2.2.6", + "classnames": "^2.3.1", "date-fns": "^2.19.0", - "embla-carousel": "^4.3.0", + "embla-carousel": "^4.3.2", "express": "^4.17.1", "fastest-levenshtein": "^1.0.12", "fingerprintjs2": "^2.1.4", @@ -72,17 +72,17 @@ "isomorphic-unfetch": "^3.1.0", "jump.js": "^1.0.2", "lodash": "^4.17.21", - "next": "^10.0.7", + "next": "^10.1.3", "next-with-apollo": "^5.1.1", "nprogress": "^0.2.0", "number-precision": "^1.5.0", "path-to-regexp": "^6.2.0", "pulltorefreshjs": "^0.1.22", "query-string": "^6.14.1", - "react": "^17.0.1", - "react-beautiful-dnd": "^13.0.0", + "react": "^17.0.2", + "react-beautiful-dnd": "^13.1.0", "react-copy-to-clipboard": "^5.0.3", - "react-dom": "^17.0.1", + "react-dom": "^17.0.2", "react-focus-lock": "^2.5.0", "react-remove-scroll": "^2.4.1", "react-spring": "^9.0.0-rc.3", @@ -95,29 +95,29 @@ }, "devDependencies": { "@apollo/react-testing": "^3.1.3", - "@babel/plugin-proposal-optional-chaining": "^7.13.8", - "@storybook/addon-a11y": "^6.1.21", - "@storybook/addon-actions": "^6.1.21", - "@storybook/addon-essentials": "^6.1.21", - "@storybook/addon-links": "^6.1.21", - "@storybook/react": "^6.1.21", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@storybook/addon-a11y": "^6.2.3", + "@storybook/addon-actions": "^6.2.3", + "@storybook/addon-essentials": "^6.2.3", + "@storybook/addon-links": "^6.2.3", + "@storybook/react": "^6.2.3", "@svgr/webpack": "^5.5.0", - "@testing-library/react": "^11.2.5", + "@testing-library/react": "^11.2.6", "@types/autosize": "^3.0.7", "@types/classnames": "^2.2.11", "@types/express": "^4.17.9", "@types/fingerprintjs2": "^2.0.0", "@types/grecaptcha": "^3.0.1", "@types/helmet": "4.0.0", - "@types/jest": "^26.0.20", + "@types/jest": "^26.0.22", "@types/jump.js": "^1.0.3", "@types/lodash": "^4.14.168", "@types/nprogress": "0.2.0", "@types/pulltorefreshjs": "^0.1.4", - "@types/react": "^17.0.2", + "@types/react": "^17.0.3", "@types/react-beautiful-dnd": "^13.0.0", "@types/react-copy-to-clipboard": "^5.0.0", - "@types/react-dom": "^17.0.1", + "@types/react-dom": "^17.0.3", "@types/react-responsive": "^8.0.2", "@types/react-virtualized": "^9.21.11", "@types/segment-analytics": "0.0.33", @@ -130,12 +130,12 @@ "babel-plugin-dynamic-import-node": "^2.3.3", "babel-polyfill": "^6.26.0", "chromedriver": "^89.0.0", - "core-js": "^3.9.1", + "core-js": "^3.10.0", "cucumber": "^6.0.5", "cucumber-pretty": "^6.0.0", "cz-conventional-changelog": "^3.3.0", "file-loader": "^6.2.0", - "geckodriver": "^1.22.1", + "geckodriver": "^1.22.3", "husky": "^4.3.8", "identity-obj-proxy": "^3.0.0", "imagemin-mozjpeg": "^9.0.0", @@ -144,7 +144,7 @@ "next-compose-plugins": "^2.2.1", "next-offline": "^5.0.3", "next-optimized-images": "^2.6.2", - "nightwatch": "^1.5.1", + "nightwatch": "^1.6.2", "nightwatch-api": "^3.0.2", "node-fetch": "^2.6.1", "postcss-calc": "^7.0.5", @@ -152,12 +152,12 @@ "postcss-mixins": "^6.2.3", "postcss-preset-env": "^6.7.0", "prettier": "^2.2.1", - "react-is": "^17.0.1", + "react-is": "^17.0.2", "styled-jsx-plugin-postcss": "^3.0.2", - "stylelint": "^13.11.0", + "stylelint": "^13.12.0", "stylelint-config-prettier": "^8.0.2", "stylelint-config-recess-order": "^2.3.0", - "stylelint-config-standard": "^20.0.0", + "stylelint-config-standard": "^21.0.0", "stylelint-prettier": "^1.2.0", "ts-jest": "^26.5.3", "ts-node": "^9.1.1", diff --git a/public/static/icons/16px/badge-architect.svg b/public/static/icons/16px/badge-architect.svg new file mode 100644 index 0000000000..28607bf877 --- /dev/null +++ b/public/static/icons/16px/badge-architect.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/static/icons/16px/badge-golden-motor.svg b/public/static/icons/16px/badge-golden-motor.svg new file mode 100644 index 0000000000..8b48953dbb --- /dev/null +++ b/public/static/icons/16px/badge-golden-motor.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/static/icons/16px/early-user-badge.svg b/public/static/icons/16px/badge-seed.svg similarity index 100% rename from public/static/icons/16px/early-user-badge.svg rename to public/static/icons/16px/badge-seed.svg diff --git a/public/static/icons/16px/limited-free.svg b/public/static/icons/16px/limited-free.svg new file mode 100644 index 0000000000..bad8c5bfa0 --- /dev/null +++ b/public/static/icons/16px/limited-free.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/static/icons/16px/paywall.svg b/public/static/icons/16px/paywall.svg new file mode 100644 index 0000000000..0e64dd7bd2 --- /dev/null +++ b/public/static/icons/16px/paywall.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/static/icons/24px/view-mode-comfortable.svg b/public/static/icons/24px/view-mode-comfortable.svg deleted file mode 100644 index e996f8d511..0000000000 --- a/public/static/icons/24px/view-mode-comfortable.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/public/static/icons/24px/view-mode-compact.svg b/public/static/icons/24px/view-mode-compact.svg deleted file mode 100644 index 409acacc15..0000000000 --- a/public/static/icons/24px/view-mode-compact.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/public/static/icons/24px/view-mode-default.svg b/public/static/icons/24px/view-mode-default.svg deleted file mode 100644 index 538501c315..0000000000 --- a/public/static/icons/24px/view-mode-default.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/public/static/icons/architect-ring.svg b/public/static/icons/architect-ring.svg new file mode 100644 index 0000000000..f68b9f693b --- /dev/null +++ b/public/static/icons/architect-ring.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/static/icons/civic-liker-badge.svg b/public/static/icons/badge-civic-liker.svg similarity index 100% rename from public/static/icons/civic-liker-badge.svg rename to public/static/icons/badge-civic-liker.svg diff --git a/public/static/images/intro.jpg b/public/static/images/intro.jpg index 4af35d744c..8aa7a2d735 100644 Binary files a/public/static/images/intro.jpg and b/public/static/images/intro.jpg differ diff --git a/public/static/manifest.json b/public/static/manifest.json index 45c36fc4c4..1caab75b87 100644 --- a/public/static/manifest.json +++ b/public/static/manifest.json @@ -1,55 +1,55 @@ { - "name": "Matters", - "short_name": "Matters", - "start_url": "/?utm_source=homescreen", - "description": "一個自由、自主、永續的創作與公共討論空間", - "theme_color": "#ffffff", + "Scope": "/", "background_color": "#ffffff", + "description": "Matters 致力搭建去中心化的寫作社群與內容生態。基於 IPFS 技術,令創作不受制於任何平台,獨立性得到保障;引入加密貨幣,以收入的形式回饋給作者;代碼開源,建立創作者自治社區。", "display": "standalone", - "orientation": "portrait", - "Scope": "/", - "splash_pages": null, + "gcm_sender_id": "103953800507", "icons": [ { - "src": "./icon-72x72.png", "sizes": "72x72", + "src": "./icon-72x72.png", "type": "image/png" }, { - "src": "./icon-96x96.png", "sizes": "96x96", + "src": "./icon-96x96.png", "type": "image/png" }, { - "src": "./icon-128x128.png", "sizes": "128x128", + "src": "./icon-128x128.png", "type": "image/png" }, { - "src": "./icon-144x144.png", "sizes": "144x144", + "src": "./icon-144x144.png", "type": "image/png" }, { - "src": "./icon-152x152.png", "sizes": "152x152", + "src": "./icon-152x152.png", "type": "image/png" }, { - "src": "./icon-192x192.png", "sizes": "192x192", + "src": "./icon-192x192.png", "type": "image/png" }, { - "src": "./icon-384x384.png", "sizes": "384x384", + "src": "./icon-384x384.png", "type": "image/png" }, { - "src": "./icon-512x512.png", "sizes": "512x512", + "src": "./icon-512x512.png", "type": "image/png" } ], - "gcm_sender_id": "103953800507" + "name": "Matters", + "orientation": "portrait", + "short_name": "Matters", + "splash_pages": null, + "start_url": "/?utm_source=homescreen", + "theme_color": "#ffffff" } diff --git a/src/common/enums/storage.ts b/src/common/enums/storage.ts index 8a994070c5..feff2cbe7e 100644 --- a/src/common/enums/storage.ts +++ b/src/common/enums/storage.ts @@ -1,7 +1,5 @@ export const STORAGE_KEY_PUSH = '__PUSH' -export const STORAGE_KEY_VIEW_MODE = '__VIEW_MODE' - export const STORAGE_KEY_AGENT_HASH = '__AGENT_HASH' export const STORAGE_KEY_AUTH_TOKEN = '__TOKEN' diff --git a/src/common/enums/text.ts b/src/common/enums/text.ts index b17a160b71..b02d113087 100644 --- a/src/common/enums/text.ts +++ b/src/common/enums/text.ts @@ -161,7 +161,6 @@ export const TEXT = { LIKER_EMAIL_EXISTS: 'Liker ID 電子信箱已被其他人使用', LIKER_NOT_FOUND: 'Liker ID 不存在', LIKER_USER_ID_EXISTS: 'Liker ID 已被其他人使用', - limitedFree: '限免', login: '登入', loginPassword: '登入密碼', logout: '登出', @@ -271,7 +270,6 @@ export const TEXT = { successTopUp: '儲值成功', successUnblock: '已取消封鎖。該用戶現在可以評論你的作品和圍爐。', successUploadImage: '圖片上傳成功', - switchViewMode: '切換瀏覽視圖', TAG_EDITORS_REACH_LIMIT: '一個標籤最多僅可有 4 名協作者共同管理', TAG_NOT_FOUND: '標籤不存在', tag: '標籤', @@ -317,10 +315,6 @@ export const TEXT = { viewAll: '查看全部', viewAppreciators: '查看讚賞', viewDonators: '查看支持者', - viewMode: '瀏覽視圖', - viewModeComfortable: '標準(小圖)', - viewModeCompact: '緊湊(無圖)', - viewModeDefault: '默認(大圖)', waitingForPublish: '正在等待發布,星際通道有點擁擠', walletBalance: '錢包餘額', walletBalanceInsufficient: '錢包餘額不足', @@ -488,7 +482,6 @@ export const TEXT = { LIKER_EMAIL_EXISTS: 'Liker ID 邮箱已被其他人使用', LIKER_NOT_FOUND: 'Liker ID 不存在', LIKER_USER_ID_EXISTS: 'Liker ID 已被其他人使用', - limitedFree: '限免', login: '登录', loginPassword: '登录密码', logout: '登出', @@ -598,7 +591,6 @@ export const TEXT = { successTopUp: '储值成功', successUnblock: '已取消屏蔽。该用户现在可以评论你的作品和围炉。', successUploadImage: '图片上传成功', - switchViewMode: '切换浏览视图', TAG_EDITORS_REACH_LIMIT: '一个标签最多仅可有 4 名协作者共同管理', TAG_NOT_FOUND: '标签不存在', tag: '标签', @@ -644,10 +636,6 @@ export const TEXT = { viewAll: '查看全部', viewAppreciators: '查看赞赏', viewDonators: '查看支持者', - viewMode: '浏览视图', - viewModeComfortable: '标准(小图)', - viewModeCompact: '紧凑(无图)', - viewModeDefault: '默认(大图)', waitingForPublish: '正在等待发布,星际通道有点拥挤', walletBalance: '钱包余额', walletBalanceInsufficient: '钱包余额不足', @@ -832,7 +820,6 @@ export const TEXT = { LIKER_EMAIL_EXISTS: 'Liker ID email is already used by others.', LIKER_NOT_FOUND: 'Liker ID not found', LIKER_USER_ID_EXISTS: 'Liker ID is already used by others.', - limitedFree: 'Limited Free', login: 'Log in', loginPassword: 'Password', logout: 'Log Out', @@ -949,7 +936,6 @@ export const TEXT = { successTopUp: 'Top up successfully.', successUnblock: 'User unblocked and can reply your articles now.', successUploadImage: 'Image uploaded', - switchViewMode: 'Switch view mode', TAG_EDITORS_REACH_LIMIT: 'One tag can have most 4 editors.', TAG_NOT_FOUND: 'Tag not found', tag: 'Tag', @@ -1002,10 +988,6 @@ export const TEXT = { viewAll: 'Show More', viewAppreciators: 'Likers', viewDonators: 'Donors', - viewMode: 'View Mode', - viewModeComfortable: 'Comfort, small pictures', - viewModeCompact: 'Compact, no pictures', - viewModeDefault: 'Standard, big pictures', waitingForPublish: 'Waiting for publish, please wait.', walletBalance: 'Balance', walletBalanceInsufficient: 'Insufficient balance', diff --git a/src/common/styles/layouts.css b/src/common/styles/layouts.css index 9ebfdce0f6..027d292269 100644 --- a/src/common/styles/layouts.css +++ b/src/common/styles/layouts.css @@ -3,19 +3,28 @@ .l-container { display: grid; grid-template-areas: 'spacingLeft content spacingRight'; - grid-template-columns: 1fr var(--layout-width) 1fr; + grid-template-columns: minmax(0, 1fr) var(--layout-width) minmax(0, 1fr); margin: 0 var(--spacing-base); @media (--sm-up) { - grid-template-columns: 1fr var(--layout-width-sm-up) 1fr; + grid-template-columns: minmax(0, 1fr) var(--layout-width-sm-up) minmax( + 0, + 1fr + ); } @media (--md-up) { - grid-template-columns: 1fr var(--layout-width-md-up) 1fr; + grid-template-columns: minmax(0, 1fr) var(--layout-width-md-up) minmax( + 0, + 1fr + ); } @media (--lg-up) { - grid-template-columns: 1fr var(--layout-width-lg-up) 1fr; + grid-template-columns: minmax(0, 1fr) var(--layout-width-lg-up) minmax( + 0, + 1fr + ); } &.full { @@ -28,20 +37,20 @@ */ .l-row { display: grid; - grid-template-columns: repeat(4, [col-start] 1fr); + grid-template-columns: repeat(4, [col-start] minmax(0, 1fr)); grid-column: content; grid-column-gap: var(--gutter-width); @media (--sm-up) { - grid-template-columns: repeat(8, [col-start] 1fr); + grid-template-columns: repeat(8, [col-start] minmax(0, 1fr)); } @media (--md-up) { - grid-template-columns: repeat(9, [col-start] 1fr); + grid-template-columns: repeat(9, [col-start] minmax(0, 1fr)); } @media (--lg-up) { - grid-template-columns: repeat(12, [col-start] 1fr); + grid-template-columns: repeat(12, [col-start] minmax(0, 1fr)); } } diff --git a/src/common/styles/utils/details.css b/src/common/styles/utils/details.css index 589f37d886..7c5e67d897 100644 --- a/src/common/styles/utils/details.css +++ b/src/common/styles/utils/details.css @@ -3,36 +3,18 @@ .u-details { & summary { position: relative; - display: block; - padding-left: var(--spacing-loose); cursor: pointer; user-select: none; - &::-webkit-details-marker { - position: absolute; - top: 0.45rem; - left: 0; - display: inline-block; - width: 0.6rem; - height: 0.6rem; - } - &:focus { outline: 0; } - } - & details { - padding-left: var(--spacing-loose); - - & summary { - padding-left: var(--spacing-base); - - &::-webkit-details-marker { - top: 0.4rem; - width: 0.5rem; - height: 0.5rem; - } + & h1, + & h2, + & h3, + & h4 { + display: inline-block; } } } diff --git a/src/common/utils/resolvers/clientPreference.ts b/src/common/utils/resolvers/clientPreference.ts index c3d586fb9c..20b4643c80 100644 --- a/src/common/utils/resolvers/clientPreference.ts +++ b/src/common/utils/resolvers/clientPreference.ts @@ -4,7 +4,6 @@ const clientPreferenceResolver = (_: any) => { id: 'local', feedSortType: 'hottest', followFeedType: 'article', - viewMode: 'comfortable', readCivicLikerDialog: false, wall: true, push: { diff --git a/src/common/utils/route.ts b/src/common/utils/route.ts index b03f9d3e0a..ae7ee5ef9f 100644 --- a/src/common/utils/route.ts +++ b/src/common/utils/route.ts @@ -199,7 +199,7 @@ export const redirectToTarget = ({ export const redirectToLogin = () => { const target = getTarget() || getEncodedCurrent() - return routerPush(`${PATHS.LOGIN}?target=${target}`) + return Router.push(`${PATHS.LOGIN}?target=${target}`) } /** @@ -226,23 +226,6 @@ export const appendTarget = (href: string, fallbackCurrent?: boolean) => { } } -/** - * Scroll to page top after `Route.push` - * - * @see {@url https://github.com/zeit/next.js/blob/canary/packages/next/client/link.tsx#L203-L211} - * @see {@url https://github.com/zeit/next.js/issues/3249#issuecomment-574817539} - */ -export const routerPush = (url: string, options?: {}) => { - Router.push(url, options).then((success: boolean) => { - if (!success) { - return - } - - window.scrollTo(0, 0) - document.body.focus() - }) -} - /** * Capture clicks, and `Router.push` if there's a matching route. * @@ -317,6 +300,6 @@ export const captureClicks = (e: React.MouseEvent) => { }) if (matched) { - routerPush(el.href) + Router.push(el.href) } } diff --git a/src/common/utils/types/index.ts b/src/common/utils/types/index.ts index 6c94e5124b..a21f18d61c 100644 --- a/src/common/utils/types/index.ts +++ b/src/common/utils/types/index.ts @@ -30,9 +30,6 @@ export default gql` "Feed type in follow page" followFeedType: FollowFeedType - "View Mode for entity's card UI" - viewMode: ViewMode - "Whether civic liker dialog is hidden" readCivicLikerDialog: Boolean! @@ -90,10 +87,4 @@ export default gql` tag donation } - - enum ViewMode { - default - comfortable - compact - } ` diff --git a/src/components/ArticleDigest/DropdownActions/AddCircleArticle/Button.tsx b/src/components/ArticleDigest/DropdownActions/AddCircleArticle/Button.tsx deleted file mode 100644 index 17a392a90a..0000000000 --- a/src/components/ArticleDigest/DropdownActions/AddCircleArticle/Button.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { IconCircle24, Menu, TextIcon, Translate } from '~/components' - -const AddCircleArticleButton = ({ openDialog }: { openDialog: () => void }) => { - return ( - - } size="md" spacing="base"> - - - - ) -} - -export default AddCircleArticleButton diff --git a/src/components/ArticleDigest/DropdownActions/AddCircleArticle/Dialog.tsx b/src/components/ArticleDigest/DropdownActions/AddCircleArticle/Dialog.tsx deleted file mode 100644 index e86bb6c351..0000000000 --- a/src/components/ArticleDigest/DropdownActions/AddCircleArticle/Dialog.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import dynamic from 'next/dynamic' -import { useContext } from 'react' - -import { - Dialog, - LanguageContext, - Spinner, - useDialogSwitch, - useMutation, -} from '~/components' -import PUT_CIRCLE_ARTICLES from '~/components/GQL/mutations/putCircleArticles' - -import { ADD_TOAST } from '~/common/enums' -import { translate } from '~/common/utils' - -import { PutCircleArticles } from '~/components/GQL/mutations/__generated__/PutCircleArticles' -import { AddCircleArticleButtonArticle } from './__generated__/AddCircleArticleButtonArticle' - -interface AddCircleArticleDialogProps { - article: AddCircleArticleButtonArticle - children: ({ open }: { open: () => void }) => React.ReactNode -} - -const DynamicContent = dynamic( - () => import('~/views/Circle/Profile/AddCircleArticle/Dialog/Content'), - { loading: Spinner } -) - -const AddCircleArticleDialog = ({ - article, - children, -}: AddCircleArticleDialogProps) => { - const { show, open, close } = useDialogSwitch(true) - const { lang } = useContext(LanguageContext) - - const circle = article.author.ownCircles && article.author.ownCircles[0] - const [add, { loading }] = useMutation(PUT_CIRCLE_ARTICLES) - const addArticleToCircle = async () => { - await add({ - variables: { id: circle?.id, articles: [article.id], type: 'add' }, - }) - - window.dispatchEvent( - new CustomEvent(ADD_TOAST, { - detail: { - color: 'green', - content: translate({ id: 'addedArticleCircle', lang }), - }, - }) - ) - - close() - } - - return ( - <> - {children({ open })} - - - - - - ) -} - -const LazyAddCircleArticleDialog = (props: AddCircleArticleDialogProps) => ( - }> - {({ open }) => <>{props.children({ open })}} - -) - -export default LazyAddCircleArticleDialog diff --git a/src/components/ArticleDigest/DropdownActions/AddCircleArticle/index.tsx b/src/components/ArticleDigest/DropdownActions/AddCircleArticle/index.tsx deleted file mode 100644 index 26579bb822..0000000000 --- a/src/components/ArticleDigest/DropdownActions/AddCircleArticle/index.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import gql from 'graphql-tag' - -import Button from './Button' -import Dialog from './Dialog' - -const fragments = { - article: gql` - fragment AddCircleArticleButtonArticle on Article { - id - circle { - id - } - author { - id - ownCircles { - id - name - } - } - } - `, -} - -const AddCircleArticle = { - fragments, - Dialog, - Button, -} - -export default AddCircleArticle diff --git a/src/components/ArticleDigest/DropdownActions/ExtendButton.tsx b/src/components/ArticleDigest/DropdownActions/ExtendButton.tsx index ad85254033..baab471e3f 100644 --- a/src/components/ArticleDigest/DropdownActions/ExtendButton.tsx +++ b/src/components/ArticleDigest/DropdownActions/ExtendButton.tsx @@ -1,4 +1,5 @@ import gql from 'graphql-tag' +import { useRouter } from 'next/router' import { useContext } from 'react' import { @@ -12,7 +13,7 @@ import { } from '~/components' import { ADD_TOAST } from '~/common/enums' -import { routerPush, toPath, translate } from '~/common/utils' +import { toPath, translate } from '~/common/utils' import { ExtendArticle } from './__generated__/ExtendArticle' import { ExtendButtonArticle } from './__generated__/ExtendButtonArticle' @@ -36,6 +37,7 @@ const fragments = { } const ExtendButton = ({ article }: { article: ExtendButtonArticle }) => { + const router = useRouter() const viewer = useContext(ViewerContext) const { lang } = useContext(LanguageContext) const [extendArticle] = useMutation(EXTEND_ARTICLE, { @@ -65,7 +67,7 @@ const ExtendButton = ({ article }: { article: ExtendButtonArticle }) => { if (slug && id) { const path = toPath({ page: 'draftDetail', slug, id }) - routerPush(path.href) + router.push(path.href) } }} > diff --git a/src/components/ArticleDigest/DropdownActions/index.tsx b/src/components/ArticleDigest/DropdownActions/index.tsx index 04928d7571..79682463f2 100644 --- a/src/components/ArticleDigest/DropdownActions/index.tsx +++ b/src/components/ArticleDigest/DropdownActions/index.tsx @@ -23,7 +23,6 @@ import { import { ADD_TOAST, TEXT } from '~/common/enums' -import AddCircleArticle from './AddCircleArticle' import AppreciatorsButton from './AppreciatorsButton' import ArchiveArticle from './ArchiveArticle' import DonatorsButton from './DonatorsButton' @@ -73,7 +72,6 @@ interface Controls { hasSetTagUnSelected: boolean hasRemoveTag: boolean hasEdit: boolean - hasAddToCircle: boolean } interface DialogProps { @@ -82,7 +80,6 @@ interface DialogProps { openAppreciatorsDialog: () => void openDonatorsDialog: () => void openArchiveDialog: () => void - openAddCircleArticleDialog: () => void } type BaseDropdownActionsProps = DropdownActionsProps & Controls & DialogProps @@ -101,7 +98,6 @@ const fragments = { ...EditArticleButtonArticle ...SetTagSelectedButtonArticle ...SetTagUnselectedButtonArticle - ...AddCircleArticleButtonArticle } ${AppreciatorsDialog.fragments.article} ${DonatorsDialog.fragments.article} @@ -113,7 +109,6 @@ const fragments = { ${EditButton.fragments.article} ${SetTagSelectedButton.fragments.article} ${SetTagUnselectedButton.fragments.article} - ${AddCircleArticle.fragments.article} `, } @@ -134,14 +129,12 @@ const BaseDropdownActions = ({ hasSetTagUnSelected, hasRemoveTag, hasEdit, - hasAddToCircle, openShareDialog, openFingerprintDialog, openAppreciatorsDialog, openDonatorsDialog, openArchiveDialog, - openAddCircleArticleDialog, }: BaseDropdownActionsProps) => { const hasPublic = hasShare || hasAppreciators || hasDonators || hasFingerprint || hasExtend @@ -168,9 +161,7 @@ const BaseDropdownActions = ({ {/* private */} {hasPublic && hasPrivate && } {hasSticky && } - {hasAddToCircle && ( - - )} + {hasArchive && } {hasSetTagSelected && } {hasSetTagUnSelected && } @@ -251,9 +242,6 @@ const DropdownActions = (props: DropdownActionsProps) => { ) } - const hasCircles = - article.author.ownCircles && article.author.ownCircles.length >= 1 - const isAttachedCircle = !!article.circle const controls = { // public hasShare: !!hasShare, @@ -273,12 +261,6 @@ const DropdownActions = (props: DropdownActionsProps) => { hasSetTagUnSelected: !!(inTagDetailSelected && canEditTag), hasRemoveTag: !!(isInTagDetail && canEditTag), hasEdit: isActive && isArticleAuthor, - hasAddToCircle: !!( - isActive && - isArticleAuthor && - hasCircles && - !isAttachedCircle - ), } if (_isEmpty(_pickBy(controls))) { @@ -296,26 +278,17 @@ const DropdownActions = (props: DropdownActionsProps) => { {({ open: openDonatorsDialog }) => ( {({ open: openArchiveDialog }) => ( - - {({ open: openAddCircleArticleDialog }) => ( - - )} - + )} )} diff --git a/src/components/ArticleDigest/Feed/AccessLabel.tsx b/src/components/ArticleDigest/Feed/AccessLabel.tsx new file mode 100644 index 0000000000..b6a2b49e17 --- /dev/null +++ b/src/components/ArticleDigest/Feed/AccessLabel.tsx @@ -0,0 +1,64 @@ +import gql from 'graphql-tag' + +import { + IconLimitedFree16, + IconPaywall16, + TextIcon, + Translate, +} from '~/components' + +import Label from './Label' + +import { ArticleAccessType } from '@/__generated__/globalTypes' +import { AccessLabelArticle } from './__generated__/AccessLabelArticle' + +type AccessLabelProps = { + article: AccessLabelArticle +} + +const fragments = { + article: gql` + fragment AccessLabelArticle on Article { + id + access { + type + } + } + `, +} + +const AccessLabel = ({ article }: AccessLabelProps) => { + const isPublic = article.access.type === ArticleAccessType.public + const isLimitedFree = article.access.type === ArticleAccessType.limitedFree + const isPaywalled = article.access.type === ArticleAccessType.paywall + + if (isPublic) { + return null + } + + return ( + + ) +} + +AccessLabel.fragments = fragments + +export default AccessLabel diff --git a/src/components/ArticleDigest/Feed/Label/styles.css b/src/components/ArticleDigest/Feed/Label/styles.css index e868c3b349..2dc98f8059 100644 --- a/src/components/ArticleDigest/Feed/Label/styles.css +++ b/src/components/ArticleDigest/Feed/Label/styles.css @@ -2,7 +2,6 @@ @mixin inline-flex-center-all; padding: var(--spacing-xxx-tight) var(--spacing-x-tight); - font-size: var(--font-size-xs); line-height: 1rem; color: var(--color-grey); border: 1px solid var(--color-grey-light); diff --git a/src/components/ArticleDigest/Feed/LimitedFree.tsx b/src/components/ArticleDigest/Feed/LimitedFree.tsx deleted file mode 100644 index 5a14efb37f..0000000000 --- a/src/components/ArticleDigest/Feed/LimitedFree.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import gql from 'graphql-tag' - -import { Translate } from '~/components' - -import Label from './Label' - -import { LimitedFreeArticle } from './__generated__/LimitedFreeArticle' - -type LimitedFreeProps = { - article: LimitedFreeArticle -} - -const fragments = { - article: gql` - fragment LimitedFreeArticle on Article { - id - limitedFree - } - `, -} - -const LimitedFree = ({ article }: LimitedFreeProps) => { - if (!article.limitedFree) { - return null - } - - return ( - - ) -} - -LimitedFree.fragments = fragments - -export default LimitedFree diff --git a/src/components/ArticleDigest/Feed/gql.ts b/src/components/ArticleDigest/Feed/gql.ts index 863f482c9b..733c56aecc 100644 --- a/src/components/ArticleDigest/Feed/gql.ts +++ b/src/components/ArticleDigest/Feed/gql.ts @@ -6,9 +6,9 @@ import { UserDigest } from '~/components/UserDigest' import DropdownActions from '../DropdownActions' import FooterActions from '../FooterActions' import { ArticleDigestTitle } from '../Title' +import AccessLabel from './AccessLabel' import CreatedAt from './CreatedAt' import InactiveState from './InactiveState' -import LimitedFree from './LimitedFree' export const fragments = { article: { @@ -26,13 +26,16 @@ export const fragments = { userName ...UserDigestMiniUser } - circle { - id - name - ...DigestPlainCircle + access { + type + circle { + id + name + ...DigestPlainCircle + } } ...CreatedAtArticle - ...LimitedFreeArticle + ...AccessLabelArticle ...InactiveStateArticle ...ArticleDigestTitleArticle ...DropdownActionsArticle @@ -40,7 +43,7 @@ export const fragments = { } ${UserDigest.Mini.fragments.user} ${CreatedAt.fragments.article} - ${LimitedFree.fragments.article} + ${AccessLabel.fragments.article} ${InactiveState.fragments.article} ${ArticleDigestTitle.fragments.article} ${DropdownActions.fragments.article} diff --git a/src/components/ArticleDigest/Feed/index.tsx b/src/components/ArticleDigest/Feed/index.tsx index e3fe53a30e..88cb85128a 100644 --- a/src/components/ArticleDigest/Feed/index.tsx +++ b/src/components/ArticleDigest/Feed/index.tsx @@ -1,10 +1,7 @@ -import { useQuery } from '@apollo/react-hooks' -import classNames from 'classnames' import React from 'react' import { Card, IconPin24, Img, TextIcon, Translate } from '~/components' import { CircleDigest } from '~/components/CircleDigest' -import CLIENT_PREFERENCE from '~/components/GQL/queries/clientPreference' import { UserDigest } from '~/components/UserDigest' import { UserDigestMiniProps } from '~/components/UserDigest/Mini' @@ -12,13 +9,12 @@ import { stripHtml, toPath } from '~/common/utils' import FooterActions, { FooterActionsControls } from '../FooterActions' import { ArticleDigestTitle } from '../Title' +import AccessLabel from './AccessLabel' import CreatedAt from './CreatedAt' import { fragments } from './gql' import InactiveState from './InactiveState' -import LimitedFree from './LimitedFree' import styles from './styles.css' -import { ClientPreference } from '~/components/GQL/queries/__generated__/ClientPreference' import { ArticleDigestFeedArticlePrivate } from './__generated__/ArticleDigestFeedArticlePrivate' import { ArticleDigestFeedArticlePublic } from './__generated__/ArticleDigestFeedArticlePublic' @@ -55,14 +51,12 @@ const BaseArticleDigestFeed = ({ ...controls }: ArticleDigestFeedProps) => { - const { data } = useQuery(CLIENT_PREFERENCE, { - variables: { id: 'local' }, - }) - const { viewMode } = data?.clientPreference || { viewMode: 'comfortable' } - const isCompactMode = viewMode === 'compact' - const isDefaultMode = viewMode === 'default' - - const { author, summary, sticky, circle } = article + const { + author, + summary, + sticky, + access: { circle }, + } = article const isBanned = article.articleState === 'banned' const cover = !isBanned ? article.cover : null const cleanedSummary = isBanned ? '' : stripHtml(summary) @@ -70,53 +64,40 @@ const BaseArticleDigestFeed = ({ page: 'articleDetail', article, }) - const containerClasses = classNames({ - [`mode-${viewMode}`]: !!viewMode, - }) - - let userDigestProps = {} - if (isCompactMode) { - userDigestProps = { - avatarSize: 'sm', - textSize: 'sm', - } - } else { - userDigestProps = { - avatarSize: 'lg', - textSize: 'md-s', - textWeight: 'md', - } - } return ( -
+
{extraHeader || (hasCircle && circle && (
- +
))}
{actor ? ( - actor(userDigestProps) + actor({ + avatarSize: 'sm', + textSize: 'sm', + }) ) : ( )}
- {!hasCircle && } + {!hasCircle && } {controls.inUserArticles && sticky && ( } size="sm" color="grey" weight="md"> @@ -130,26 +111,17 @@ const BaseArticleDigestFeed = ({
- +
- {!isCompactMode && ( -
- {cover && ( -
- -
- )} - {

{cleanedSummary}

} -
- )} +
+ {cover && ( +
+ +
+ )} + {

{cleanedSummary}

} +
diff --git a/src/components/ArticleDigest/Feed/styles.css b/src/components/ArticleDigest/Feed/styles.css index b3a1ab1651..bb7bb54e23 100644 --- a/src/components/ArticleDigest/Feed/styles.css +++ b/src/components/ArticleDigest/Feed/styles.css @@ -31,14 +31,32 @@ header { } .description { - margin: var(--spacing-tight) 0 var(--spacing-base); + @mixin line-clamp; + + flex-grow: 1; + margin: 0; font-size: var(--font-size-md-s); line-height: 1.5rem; color: var(--color-grey-darker); + -webkit-line-clamp: 3; + + @media (--sm-up) { + -webkit-line-clamp: 4; + } +} + +.content { + @mixin flex-start-space-between; + + margin: var(--spacing-tight) 0 var(--spacing-base); } .cover { position: relative; + flex-shrink: 0; + width: 4.5rem; + height: 4.5rem; + margin: 0 var(--spacing-x-tight) 0 0; & :global(img) { @mixin object-fit-cover; @@ -54,9 +72,9 @@ header { } @media (--sm-up) { - &::after { - padding-bottom: 48.78%; /* 320/656 */ - } + width: 10.625rem; + height: 6rem; + margin-right: var(--spacing-base); } } @@ -68,44 +86,3 @@ header { background: var(--color-grey); border-radius: var(--spacing-xxx-tight); } - -/** - * View Mode - */ -.mode-comfortable { - & .content { - @mixin flex-start-space-between; - - margin: var(--spacing-tight) 0 var(--spacing-base); - - & .cover { - flex-shrink: 0; - width: 4.5rem; - height: 4.5rem; - margin: 0 var(--spacing-x-tight) 0 0; - - &::after { - padding-bottom: initial; - } - - @media (--sm-up) { - width: 10.625rem; - height: 6rem; - margin-right: var(--spacing-base); - } - } - - & .description { - flex-grow: 1; - margin: 0; - - @mixin line-clamp; - - -webkit-line-clamp: 3; - - @media (--sm-up) { - -webkit-line-clamp: 4; - } - } - } -} diff --git a/src/components/Avatar/index.tsx b/src/components/Avatar/index.tsx index 2ea3a401f9..ae8a9561e3 100644 --- a/src/components/Avatar/index.tsx +++ b/src/components/Avatar/index.tsx @@ -4,6 +4,7 @@ import gql from 'graphql-tag' import { Img } from '~/components' import ICON_AVATAR_DEFAULT from '@/public/static/icons/72px/avatar-default.svg' +import IMAGE_MATTERS_ARCHITECT_RING from '@/public/static/icons/architect-ring.svg' import IMAGE_CIVIC_LIKER_RING from '@/public/static/icons/civic-liker-ring.svg' import styles from './styles.css' @@ -26,6 +27,11 @@ const fragments = { liker { civicLiker } + info { + badges { + type + } + } } `, } @@ -36,24 +42,30 @@ export const Avatar = (props: AvatarProps) => { const isFallback = (!src && !user?.avatar) || source.indexOf('data:image') >= 0 const isCivicLiker = user?.liker.civicLiker + const badges = user?.info?.badges || [] + const hasArchitectBadge = badges.some((b) => b.type === 'architect') const avatarClasses = classNames({ avatar: true, [size]: true, - 'civic-liker': isCivicLiker, + hasRing: isCivicLiker || hasArchitectBadge, }) return (
- {isCivicLiker && } + {isCivicLiker && } + {hasArchitectBadge && }
) diff --git a/src/components/Avatar/styles.css b/src/components/Avatar/styles.css index aa91d8dd4c..b4e99b3fa0 100644 --- a/src/components/Avatar/styles.css +++ b/src/components/Avatar/styles.css @@ -15,9 +15,9 @@ } /** - * Civic Liker Ring + * Ring */ -.civic-liker { +.hasRing { margin: 2px 0; & .ring { @@ -62,7 +62,7 @@ width: 2.5rem; height: 2.5rem; - &.civic-liker { + &.hasRing { margin: 4px 0; & .ring { @@ -79,7 +79,7 @@ width: 3rem; height: 3rem; - &.civic-liker { + &.hasRing { & .ring { top: -5px; right: -5px; @@ -94,7 +94,7 @@ width: 4.5rem; height: 4.5rem; - &.civic-liker { + &.hasRing { & .ring { top: -8px; right: -8px; diff --git a/src/components/BlockUser/Dialog/index.tsx b/src/components/BlockUser/Dialog/index.tsx index dbdc1614fe..83177ff2f6 100644 --- a/src/components/BlockUser/Dialog/index.tsx +++ b/src/components/BlockUser/Dialog/index.tsx @@ -53,8 +53,9 @@ const BlockUserDialog = ({ user, children }: BlockUserDialogProps) => {

diff --git a/src/components/Buttons/Write/index.tsx b/src/components/Buttons/Write/index.tsx index 439f0d7af2..dd0fdf0994 100644 --- a/src/components/Buttons/Write/index.tsx +++ b/src/components/Buttons/Write/index.tsx @@ -1,3 +1,4 @@ +import { useRouter } from 'next/router' import { useContext } from 'react' import { @@ -12,7 +13,7 @@ import { import CREATE_DRAFT from '~/components/GQL/mutations/createDraft' import { ADD_TOAST, OPEN_LIKE_COIN_DIALOG, TEXT } from '~/common/enums' -import { analytics, routerPush, toPath, translate } from '~/common/utils' +import { analytics, toPath, translate } from '~/common/utils' import { CreateDraft } from '~/components/GQL/mutations/__generated__/CreateDraft' @@ -54,6 +55,7 @@ const BaseWriteButton = ({ } export const WriteButton = ({ allowed, isLarge, forbidden }: Props) => { + const router = useRouter() const { lang } = useContext(LanguageContext) const [putDraft, { loading }] = useMutation(CREATE_DRAFT, { variables: { title: translate({ id: 'untitle', lang }) }, @@ -94,7 +96,7 @@ export const WriteButton = ({ allowed, isLarge, forbidden }: Props) => { if (slug && id) { const path = toPath({ page: 'draftDetail', slug, id }) - routerPush(path.href) + router.push(path.href) } }} loading={loading} diff --git a/src/components/ClientUpdater/index.tsx b/src/components/ClientUpdater/index.tsx index a61a73ce55..c16132f39e 100644 --- a/src/components/ClientUpdater/index.tsx +++ b/src/components/ClientUpdater/index.tsx @@ -9,7 +9,6 @@ import { useEventListener, useWindowResize, ViewerContext } from '~/components' import { ONBOARDING_TASKS_HIDE, STORAGE_KEY_ONBOARDING_TASKS, - STORAGE_KEY_VIEW_MODE, } from '~/common/enums' import { storage } from '~/common/utils' @@ -62,24 +61,6 @@ export const ClientUpdater = () => { return () => Router.events.off('routeChangeComplete', routeChangeComplete) }, []) - /** - * View Mode - */ - useEffect(() => { - const storedViewMode = storage.get(STORAGE_KEY_VIEW_MODE) - - if (!storedViewMode) { - return - } - - client.writeData({ - id: 'ClientPreference:local', - data: { - viewMode: storedViewMode, - }, - }) - }, []) - /** * Onboarding Tasks */ diff --git a/src/components/Context/Viewer/index.tsx b/src/components/Context/Viewer/index.tsx index 428f7c143b..b3a1eb5ff0 100644 --- a/src/components/Context/Viewer/index.tsx +++ b/src/components/Context/Viewer/index.tsx @@ -34,6 +34,9 @@ const ViewerFragments = { agreeOn userNameEditable group + badges { + type + } } settings { language diff --git a/src/components/Dialog/Content/index.tsx b/src/components/Dialog/Content/index.tsx index 0e590824d3..3050f61746 100644 --- a/src/components/Dialog/Content/index.tsx +++ b/src/components/Dialog/Content/index.tsx @@ -8,17 +8,20 @@ type SpacingY = 0 | 'base' | 'xloose' interface DialogContentProps { // Note: only apply in "sm-up" if the spacing is large than "base" spacing?: [SpacingY, SpacingX] + hasFixed?: boolean hasGrow?: boolean } const DialogContent: React.FC = ({ spacing = [0, 0], + hasFixed, hasGrow, children, }) => { const contentClasses = classNames({ content: true, + 'has-fixed': !!hasFixed, 'has-grow': !!hasGrow, [`spacing-y-${spacing[0]}`]: true, [`spacing-x-${spacing[1]}`]: true, diff --git a/src/components/Dialog/Content/styles.css b/src/components/Dialog/Content/styles.css index 5640a8e037..a9106aec62 100644 --- a/src/components/Dialog/Content/styles.css +++ b/src/components/Dialog/Content/styles.css @@ -9,6 +9,10 @@ flex-direction: column; flex-grow: 1; } + + &.has-fixed { + flex-shrink: 0; + } } .spacing-x-0 { diff --git a/src/components/Dialog/Dialog.tsx b/src/components/Dialog/Dialog.tsx index 070d39d4fb..c375839665 100644 --- a/src/components/Dialog/Dialog.tsx +++ b/src/components/Dialog/Dialog.tsx @@ -1,7 +1,7 @@ import { DialogContent, DialogOverlay } from '@reach/dialog' import classNames from 'classnames' import { useEffect, useRef, useState } from 'react' -import { animated, Globals, useSpring } from 'react-spring' +import { animated, Globals, useSpring } from 'react-spring/web' import { useDrag } from 'react-use-gesture' import { useOutsideClick, useResponsive } from '~/components' @@ -78,9 +78,7 @@ const Dialog: React.FC = (props) => { const isSmallUp = useResponsive('sm-up') // Drag - const [{ top }, setDragGoal] = useSpring(() => ({ - top: 0, - })) + const [{ top }, setDragGoal] = useSpring(() => ({ top: 0 })) // Fade In/ Fade Out const [{ opacity, transform }, setFade] = useSpring<{ diff --git a/src/components/Dialog/Message/index.tsx b/src/components/Dialog/Message/index.tsx index 63bb1deecb..03a07574c7 100644 --- a/src/components/Dialog/Message/index.tsx +++ b/src/components/Dialog/Message/index.tsx @@ -40,7 +40,7 @@ const DialogMessage: React.FC = ({ }) return ( - +
{children}
diff --git a/src/components/Dialogs/SearchSelectDialog/index.tsx b/src/components/Dialogs/SearchSelectDialog/index.tsx index ef33665dcb..08ccd10daf 100644 --- a/src/components/Dialogs/SearchSelectDialog/index.tsx +++ b/src/components/Dialogs/SearchSelectDialog/index.tsx @@ -2,7 +2,6 @@ import { useState } from 'react' import { Dialog, Translate } from '~/components' import SearchingArea, { - SearchFilter, SearchType, SelectNode, } from '~/components/SearchSelect/SearchingArea' @@ -10,6 +9,8 @@ import StagingArea, { StagingNode } from '~/components/SearchSelect/StagingArea' import { TextId } from '~/common/enums' +import { SearchExclude, SearchFilter } from '@/__generated__/globalTypes' + /** * is a dialog component for * searching nodes (article, tag, and user), @@ -39,6 +40,7 @@ interface SearchSelectDialogProps { searchType: SearchType searchFilter?: SearchFilter + searchExclude?: SearchExclude draggable?: boolean @@ -58,6 +60,7 @@ const BaseSearchSelectDialog = ({ searchType, searchFilter, + searchExclude, draggable, @@ -127,6 +130,7 @@ const BaseSearchSelectDialog = ({ inSearchingArea={inSearchingArea} searchType={searchType} searchFilter={searchFilter} + searchExclude={searchExclude} toStagingArea={toStagingArea} toSearchingArea={toSearchingArea} addNodeToStaging={addNodeToStaging} diff --git a/src/components/Dialogs/TagDialog/Content.tsx b/src/components/Dialogs/TagDialog/Content.tsx index ce8dce450b..fa8c3ebd83 100644 --- a/src/components/Dialogs/TagDialog/Content.tsx +++ b/src/components/Dialogs/TagDialog/Content.tsx @@ -1,6 +1,7 @@ import { useFormik } from 'formik' import gql from 'graphql-tag' import _pickBy from 'lodash/pickBy' +import { useRouter } from 'next/router' import { useContext } from 'react' import { @@ -19,7 +20,6 @@ import { ADD_TOAST, ASSET_TYPE, ENTITY_TYPE } from '~/common/enums' import { numAbbr, parseFormSubmitErrors, - routerPush, toPath, translate, validateTagName, @@ -133,6 +133,7 @@ const TagDialogContent: React.FC = ({ description, closeDialog, }) => { + const router = useRouter() const [update] = useMutation(PUT_TAG, undefined, { showToast: false, }) @@ -195,7 +196,7 @@ const TagDialogContent: React.FC = ({ if (!id) { // if created, then redirect to tag detail page const path = toPath({ page: 'tagDetail', id: returnedTagId || '' }) - routerPush(path.href) + router.push(path.href) } else { closeDialog() } diff --git a/src/components/Editor/Article/index.tsx b/src/components/Editor/Article/index.tsx index d2243760b4..e4b50fe475 100644 --- a/src/components/Editor/Article/index.tsx +++ b/src/components/Editor/Article/index.tsx @@ -54,7 +54,7 @@ const ArticleEditor: FC = ({ const [search, searchResult] = useLazyQuery(SEARCH_USERS) const { lang } = useContext(LanguageContext) - const { id, content, publishState, summary, title } = draft + const { id, content, publishState, summary, summaryCustomized, title } = draft const isPending = publishState === 'pending' const isPublished = publishState === 'published' const isReadOnly = (isPending || isPublished) && !isReviseMode @@ -65,7 +65,7 @@ const ArticleEditor: FC = ({ ) as SearchUsers_search_edges_node_User[] const mentionKeywordChange = (keyword: string) => { - search({ variables: { search: keyword } }) + search({ variables: { search: keyword, exclude: 'blocked' } }) } return ( @@ -86,7 +86,7 @@ const ArticleEditor: FC = ({ mentionUsers={mentionUsers} mentionListComponent={MentionUserList} readOnly={isReadOnly} - summaryDefaultValue={summary || ''} + summaryDefaultValue={summaryCustomized && summary ? summary : ''} summaryReadOnly={isSummaryReadOnly} theme="bubble" titleDefaultValue={title || ''} diff --git a/src/components/Editor/BottomBar/MoreActions/Dialog.tsx b/src/components/Editor/BottomBar/MoreActions/Dialog.tsx index 56d7d6b72f..b867d1dfd8 100644 --- a/src/components/Editor/BottomBar/MoreActions/Dialog.tsx +++ b/src/components/Editor/BottomBar/MoreActions/Dialog.tsx @@ -1,12 +1,12 @@ import _get from 'lodash/get' -import { Dialog, useDialogSwitch } from '~/components' +import { Dialog, Translate, useDialogSwitch } from '~/components' -import ToggleCircle, { ToggleCircleProps } from '../../ToggleCircle' +import ToggleAccess, { ToggleAccessProps } from '../../ToggleAccess' type MoreActionDialogProps = { children: ({ open }: { open: () => void }) => React.ReactNode -} & ToggleCircleProps +} & ToggleAccessProps const BaseMoreActionDialog = ({ children, @@ -19,10 +19,20 @@ const BaseMoreActionDialog = ({ {children({ open })} - + } + rightButton={ + } + /> + } + /> - + diff --git a/src/components/Editor/BottomBar/MoreActions/index.tsx b/src/components/Editor/BottomBar/MoreActions/index.tsx index 400723dacb..98ec850d0f 100644 --- a/src/components/Editor/BottomBar/MoreActions/index.tsx +++ b/src/components/Editor/BottomBar/MoreActions/index.tsx @@ -1,11 +1,11 @@ -import { Button, IconMore32 } from '~/components' +import { Button, IconCircle24, TextIcon, Translate } from '~/components' import { TEXT } from '~/common/enums' -import { ToggleCircleProps } from '../../ToggleCircle' +import { ToggleAccessProps } from '../../ToggleAccess' import { MoreActionDialog } from './Dialog' -type MoreActionProps = ToggleCircleProps +type MoreActionProps = ToggleAccessProps const MoreAction: React.FC = (props) => ( @@ -15,7 +15,14 @@ const MoreAction: React.FC = (props) => ( aria-haspopup="true" onClick={open} > - + } + size="md-s" + weight="md" + spacing="xtight" + > + + )} diff --git a/src/components/Editor/BottomBar/index.tsx b/src/components/Editor/BottomBar/index.tsx index cda40a8436..3ab0b5c723 100644 --- a/src/components/Editor/BottomBar/index.tsx +++ b/src/components/Editor/BottomBar/index.tsx @@ -17,21 +17,26 @@ import SetCoverDialog, { BaseSetCoverDialogProps } from '../SetCoverDialog' import MoreActions from './MoreActions' import styles from './styles.css' +import { ArticleAccessType, SearchExclude } from '@/__generated__/globalTypes' import { ArticleDigestDropdownArticle } from '~/components/ArticleDigest/Dropdown/__generated__/ArticleDigestDropdownArticle' import { DigestRichCirclePublic } from '~/components/CircleDigest/Rich/__generated__/DigestRichCirclePublic' import { Asset } from '~/components/GQL/fragments/__generated__/Asset' import { DigestTag } from '~/components/Tag/__generated__/DigestTag' export type BottomBarProps = { - tags: DigestTag[] - collection: ArticleDigestDropdownArticle[] - circle?: DigestRichCirclePublic | null - editCover: (asset?: Asset) => any + + collection: ArticleDigestDropdownArticle[] editCollection: (articles: ArticleDigestDropdownArticle[]) => any + + tags: DigestTag[] editTags: (tag: DigestTag[]) => any - toggleCircle?: () => any - canToggleCircle?: boolean + + circle?: DigestRichCirclePublic | null + accessType?: ArticleAccessType + editAccess?: (addToCircle: boolean, paywalled: boolean) => any + canToggleCircle: boolean + canTogglePaywall: boolean saving?: boolean disabled?: boolean @@ -43,15 +48,19 @@ export type BottomBarProps = { */ const BottomBar: React.FC = ({ cover, - tags, - collection, - circle, - editCover, + + collection, editCollection, + + tags, editTags, - toggleCircle, + + circle, + editAccess, + accessType, canToggleCircle, + canTogglePaywall, saving, disabled, @@ -73,7 +82,7 @@ const BottomBar: React.FC = ({
diff --git a/src/components/Editor/SetCoverDialog/index.tsx b/src/components/Editor/SetCoverDialog/index.tsx index 175f18e585..fc75342fb6 100644 --- a/src/components/Editor/SetCoverDialog/index.tsx +++ b/src/components/Editor/SetCoverDialog/index.tsx @@ -21,7 +21,7 @@ type SetCoverDialogProps = BaseSetCoverDialogProps & { children: ({ open }: { open: () => void }) => React.ReactNode } -const SetCoverDialog = ({ +const BaseSetCoverDialog = ({ cover, assets, @@ -88,8 +88,10 @@ const SetCoverDialog = ({ ) } -export default (props: SetCoverDialogProps) => ( - }> +const SetCoverDialog = (props: SetCoverDialogProps) => ( + }> {({ open }) => <>{props.children({ open })}} ) + +export default SetCoverDialog diff --git a/src/components/Editor/Sidebar/Collection/index.tsx b/src/components/Editor/Sidebar/Collection/index.tsx index 435181ce69..2353b459eb 100644 --- a/src/components/Editor/Sidebar/Collection/index.tsx +++ b/src/components/Editor/Sidebar/Collection/index.tsx @@ -7,6 +7,7 @@ import { import Box from '../Box' import styles from './styles.css' +import { SearchExclude } from '@/__generated__/globalTypes' import { ArticleDigestDropdownArticle } from '~/components/ArticleDigest/Dropdown/__generated__/ArticleDigestDropdownArticle' export interface SidebarCollectionProps { @@ -27,6 +28,7 @@ const SidebarCollection = ({ title="extendArticle" hint="hintEditCollection" searchType="Article" + searchExclude={SearchExclude.blocked} onSave={(nodes: SearchSelectNode[]) => onEdit(nodes as ArticleDigestDropdownArticle[]) } diff --git a/src/components/Editor/Sidebar/Management/index.tsx b/src/components/Editor/Sidebar/Management/index.tsx index c33800830f..caa9ba2ede 100644 --- a/src/components/Editor/Sidebar/Management/index.tsx +++ b/src/components/Editor/Sidebar/Management/index.tsx @@ -1,16 +1,16 @@ -import { IconSettings24 } from '~/components' +import { IconCircle24 } from '~/components' -import ToggleCircle, { ToggleCircleProps } from '../../ToggleCircle' +import ToggleAccess, { ToggleAccessProps } from '../../ToggleAccess' import Box from '../Box' import styles from './styles.css' -export type SidebarManagementProps = ToggleCircleProps +export type SidebarManagementProps = ToggleAccessProps const SidebarManagement: React.FC = (props) => { return ( - } title="articleManagement"> + } title="articleManagement">
- +
diff --git a/src/components/Editor/Sidebar/index.tsx b/src/components/Editor/Sidebar/index.tsx index d2c3d018bb..139cfb0e1f 100644 --- a/src/components/Editor/Sidebar/index.tsx +++ b/src/components/Editor/Sidebar/index.tsx @@ -3,9 +3,11 @@ import Cover from './Cover' import Management from './Management' import Tags from './Tags' -export default { +const Sidebar = { Cover, Tags, Collection, Management, } + +export default Sidebar diff --git a/src/components/Editor/ToggleAccess/index.tsx b/src/components/Editor/ToggleAccess/index.tsx new file mode 100644 index 0000000000..1a380646bf --- /dev/null +++ b/src/components/Editor/ToggleAccess/index.tsx @@ -0,0 +1,94 @@ +import { CircleDigest, Switch, Translate } from '~/components' + +import styles from './styles.css' + +import { ArticleAccessType } from '@/__generated__/globalTypes' +import { DigestRichCirclePublic } from '~/components/CircleDigest/Rich/__generated__/DigestRichCirclePublic' + +export type ToggleAccessProps = { + circle?: DigestRichCirclePublic | null + accessType?: ArticleAccessType | null + + editAccess: (addToCircle: boolean, paywalled: boolean) => any + saving: boolean + + canToggleCircle: boolean + canTogglePaywall: boolean +} + +const ToggleAccess: React.FC = ({ + circle, + accessType, + + editAccess, + saving, + + canToggleCircle, + canTogglePaywall, +}) => { + const paywalled = accessType !== 'public' + + return ( +
+
+
+

+ +

+ + editAccess && editAccess(!circle, false)} + disabled={!canToggleCircle} + /> +
+
+ + {circle && ( +
+
+ +
+ +
+
+

+ +

+ + editAccess && editAccess(true, !paywalled)} + disabled={!canTogglePaywall} + /> +
+ +

+ +

+
+
+ )} + + +
+ ) +} + +export default ToggleAccess diff --git a/src/components/Editor/ToggleAccess/styles.css b/src/components/Editor/ToggleAccess/styles.css new file mode 100644 index 0000000000..4432795633 --- /dev/null +++ b/src/components/Editor/ToggleAccess/styles.css @@ -0,0 +1,34 @@ +.switch { + & header { + @mixin flex-center-space-between; + } + + & h4 { + font-size: var(--font-size-md); + font-weight: var(--font-weight-medium); + line-height: 1; + } + + & .description { + margin-top: var(--spacing-xx-tight); + font-size: var(--font-size-sm-s); + color: var(--color-grey-darker); + } +} + +.widget { + margin-top: var(--spacing-loose); + background: var(--color-grey-lighter); + border-bottom-right-radius: var(--spacing-x-tight); + border-bottom-left-radius: var(--spacing-x-tight); + + & .circle { + background: var(--color-white); + border: 1px solid var(--color-line-grey-light); + border-radius: var(--spacing-x-tight); + } + + & .switch { + padding: var(--spacing-base); + } +} diff --git a/src/components/Editor/ToggleCircle/index.tsx b/src/components/Editor/ToggleCircle/index.tsx deleted file mode 100644 index 6c46184911..0000000000 --- a/src/components/Editor/ToggleCircle/index.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import { CircleDigest, Switch, Translate } from '~/components' - -import styles from './styles.css' - -import { DigestRichCirclePublic } from '~/components/CircleDigest/Rich/__generated__/DigestRichCirclePublic' - -export type ToggleCircleProps = { - circle?: DigestRichCirclePublic | null - - onEdit?: (enabled: boolean) => any - saving?: boolean - disabled?: boolean -} - -const ToggleCircle: React.FC = ({ - circle, - onEdit, - saving, - disabled, -}) => { - return ( -
-
-
-

- -

-

- -

-
- - onEdit && onEdit(!circle)} - loading={saving} - disabled={disabled} - /> -
- - {circle && ( -
- -
- )} - - -
- ) -} - -export default ToggleCircle diff --git a/src/components/Editor/ToggleCircle/styles.css b/src/components/Editor/ToggleCircle/styles.css deleted file mode 100644 index e9bb1db74f..0000000000 --- a/src/components/Editor/ToggleCircle/styles.css +++ /dev/null @@ -1,22 +0,0 @@ -header { - @mixin flex-center-space-between; -} - -.content { - & h4 { - font-size: var(--font-size-sm); - font-weight: var(--font-weight-medium); - line-height: 1.5rem; - } - & p { - font-size: var(--font-size-sm-s); - line-height: 1.25rem; - color: var(--color-grey-darker); - } -} - -.circle { - margin-top: var(--spacing-base); - border: 1px solid var(--color-line-grey-light); - border-radius: var(--spacing-x-tight); -} diff --git a/src/components/Editor/fragments.ts b/src/components/Editor/fragments.ts index 36abd9fa55..46bcc05ce3 100644 --- a/src/components/Editor/fragments.ts +++ b/src/components/Editor/fragments.ts @@ -8,6 +8,7 @@ export const fragments = { publishState content summary + summaryCustomized } `, } diff --git a/src/components/Forms/CreateCircleForm/Profile.tsx b/src/components/Forms/CreateCircleForm/Profile.tsx index 2a7f4d4efd..47039a9fcc 100644 --- a/src/components/Forms/CreateCircleForm/Profile.tsx +++ b/src/components/Forms/CreateCircleForm/Profile.tsx @@ -1,5 +1,6 @@ import { useFormik } from 'formik' import _pickBy from 'lodash/pickBy' +import { useRouter } from 'next/router' import { useContext } from 'react' import { @@ -17,7 +18,6 @@ import PUT_CIRCLE from '~/components/GQL/mutations/putCircle' import { ADD_TOAST, ASSET_TYPE, ENTITY_TYPE } from '~/common/enums' import { parseFormSubmitErrors, - routerPush, toPath, translate, validateCircleDisplayName, @@ -56,6 +56,7 @@ interface FormValues { const UNCHANGED_FIELD = 'UNCHANGED_FIELD' const Init: React.FC = ({ circle, type, purpose, closeDialog }) => { + const router = useRouter() const [update] = useMutation(PUT_CIRCLE, undefined, { showToast: false, }) @@ -120,7 +121,7 @@ const Init: React.FC = ({ circle, type, purpose, closeDialog }) => { if (data?.putCircle) { const path = toPath({ page: 'circleDetail', circle: data.putCircle }) - routerPush(path.href) + router.push(path.href) } setSubmitting(false) diff --git a/src/components/GQL/mutations/putCircleArticles.ts b/src/components/GQL/mutations/putCircleArticles.ts index c8379c9ed9..dd277e5afb 100644 --- a/src/components/GQL/mutations/putCircleArticles.ts +++ b/src/components/GQL/mutations/putCircleArticles.ts @@ -5,8 +5,16 @@ export default gql` $id: ID! $articles: [ID!] $type: PutCircleArticlesType! + $accessType: ArticleAccessType! ) { - putCircleArticles(input: { id: $id, articles: $articles, type: $type }) { + putCircleArticles( + input: { + id: $id + articles: $articles + type: $type + accessType: $accessType + } + ) { id } } diff --git a/src/components/GQL/queries/clientPreference.ts b/src/components/GQL/queries/clientPreference.ts index c0619a312a..de97ebbe5d 100644 --- a/src/components/GQL/queries/clientPreference.ts +++ b/src/components/GQL/queries/clientPreference.ts @@ -6,7 +6,6 @@ export default gql` id feedSortType followFeedType - viewMode readCivicLikerDialog wall push { diff --git a/src/components/GQL/queries/searchUsers.ts b/src/components/GQL/queries/searchUsers.ts index b55452b4e5..fa9b236952 100644 --- a/src/components/GQL/queries/searchUsers.ts +++ b/src/components/GQL/queries/searchUsers.ts @@ -3,8 +3,8 @@ import gql from 'graphql-tag' import { UserDigest } from '~/components/UserDigest' export default gql` - query SearchUsers($search: String!) { - search(input: { key: $search, type: User, first: 5 }) { + query SearchUsers($search: String!, $exclude: SearchExclude) { + search(input: { key: $search, type: User, first: 5, exclude: $exclude }) { edges { node { ... on User { diff --git a/src/components/GQL/updates/appreciation.ts b/src/components/GQL/updates/appreciation.ts index 9fb0aa610c..1068efdc0d 100644 --- a/src/components/GQL/updates/appreciation.ts +++ b/src/components/GQL/updates/appreciation.ts @@ -69,6 +69,10 @@ const update = ({ civicLiker: viewer.liker.civicLiker, __typename: 'Liker', }, + info: { + badges: viewer.info.badges, + __typename: 'UserInfo', + }, __typename: 'User', }, __typename: 'Appreciation', diff --git a/src/components/GQL/updates/circleFollowers.ts b/src/components/GQL/updates/circleFollowers.ts index 9ed2e92265..80d201f889 100644 --- a/src/components/GQL/updates/circleFollowers.ts +++ b/src/components/GQL/updates/circleFollowers.ts @@ -47,6 +47,7 @@ const update = ({ id: viewer.id, info: { description: viewer.info.description, + badges: viewer.info.badges, __typename: 'UserInfo', }, isBlocked: false, diff --git a/src/components/GQL/updates/tagFollowers.ts b/src/components/GQL/updates/tagFollowers.ts index 70008ab9a3..ae331bd2b4 100644 --- a/src/components/GQL/updates/tagFollowers.ts +++ b/src/components/GQL/updates/tagFollowers.ts @@ -43,6 +43,10 @@ const update = ({ civicLiker: viewer.liker.civicLiker, __typename: 'Liker', }, + info: { + badges: viewer.info.badges, + __typename: 'UserInfo', + }, __typename: 'User', }, __typename: 'UserEdge', diff --git a/src/components/Head/index.tsx b/src/components/Head/index.tsx index c5b58d2bff..a8805b36fe 100644 --- a/src/components/Head/index.tsx +++ b/src/components/Head/index.tsx @@ -34,7 +34,8 @@ export const Head: React.FC = (props) => { const head = { title: title ? (props.noSuffix ? title : `${title} - Matters`) : 'Matters', description: - props.description || '一個自由、自主、永續的創作與公共討論空間', + props.description || + 'Matters 致力搭建去中心化的寫作社群與內容生態。基於 IPFS 技術,令創作不受制於任何平台,獨立性得到保障;引入加密貨幣,以收入的形式回饋給作者;代碼開源,建立創作者自治社區。', keywords: props.keywords ? `${props.keywords.join(',')},matters,matters.news,創作有價` : 'matters,matters.news,創作有價', diff --git a/src/components/Icon/IconLimitedFree16.tsx b/src/components/Icon/IconLimitedFree16.tsx new file mode 100644 index 0000000000..3b4b62c03c --- /dev/null +++ b/src/components/Icon/IconLimitedFree16.tsx @@ -0,0 +1,5 @@ +import { ReactComponent as Icon } from '@/public/static/icons/16px/limited-free.svg' + +import { withIcon } from './withIcon' + +export const IconLimitedFree16 = withIcon(Icon) diff --git a/src/components/Icon/IconPaywall16.tsx b/src/components/Icon/IconPaywall16.tsx new file mode 100644 index 0000000000..4937c23a7b --- /dev/null +++ b/src/components/Icon/IconPaywall16.tsx @@ -0,0 +1,5 @@ +import { ReactComponent as Icon } from '@/public/static/icons/16px/paywall.svg' + +import { withIcon } from './withIcon' + +export const IconPaywall16 = withIcon(Icon) diff --git a/src/components/Icon/IconViewModeComfortable24.tsx b/src/components/Icon/IconViewModeComfortable24.tsx deleted file mode 100644 index ce1c59569f..0000000000 --- a/src/components/Icon/IconViewModeComfortable24.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { ReactComponent as Icon } from '@/public/static/icons/24px/view-mode-comfortable.svg' - -import { withIcon } from './withIcon' - -export const IconViewModeComfortable24 = withIcon(Icon) diff --git a/src/components/Icon/IconViewModeCompact24.tsx b/src/components/Icon/IconViewModeCompact24.tsx deleted file mode 100644 index 292fcdc072..0000000000 --- a/src/components/Icon/IconViewModeCompact24.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { ReactComponent as Icon } from '@/public/static/icons/24px/view-mode-compact.svg' - -import { withIcon } from './withIcon' - -export const IconViewModeCompact24 = withIcon(Icon) diff --git a/src/components/Icon/IconViewModeDefault24.tsx b/src/components/Icon/IconViewModeDefault24.tsx deleted file mode 100644 index 919827d86b..0000000000 --- a/src/components/Icon/IconViewModeDefault24.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { ReactComponent as Icon } from '@/public/static/icons/24px/view-mode-default.svg' - -import { withIcon } from './withIcon' - -export const IconViewModeDefault24 = withIcon(Icon) diff --git a/src/components/Icon/index.tsx b/src/components/Icon/index.tsx index 78333a5bbe..d7a0e7c419 100644 --- a/src/components/Icon/index.tsx +++ b/src/components/Icon/index.tsx @@ -66,6 +66,7 @@ export * from './IconImage24' export * from './IconInfo16' export * from './IconIPFS24' export * from './IconLeft32' +export * from './IconLimitedFree16' export * from './IconLogo' export * from './IconLogoGraph' export * from './IconLogout24' @@ -79,6 +80,7 @@ export * from './IconNavHomeActive24' export * from './IconNavNotification24' export * from './IconNavNotificationActive24' export * from './IconNavSearch24' +export * from './IconPaywall16' export * from './IconPen16' export * from './IconPin24' export * from './IconProfile24' @@ -100,9 +102,6 @@ export * from './IconUnPin24' export * from './IconUpVote16' export * from './IconUpVoted16' export * from './IconUser16' -export * from './IconViewModeComfortable24' -export * from './IconViewModeCompact24' -export * from './IconViewModeDefault24' export * from './IconVolume32' export * from './IconWallet24' export * from './IconWorld16' diff --git a/src/components/Interaction/Card/index.tsx b/src/components/Interaction/Card/index.tsx index d438ec5e5a..f3ed756bc1 100644 --- a/src/components/Interaction/Card/index.tsx +++ b/src/components/Interaction/Card/index.tsx @@ -1,8 +1,8 @@ import classNames from 'classnames' +import { useRouter } from 'next/router' import { forwardRef, useRef } from 'react' import { KEYCODES } from '~/common/enums' -import { routerPush } from '~/common/utils' import styles from './styles.css' @@ -53,6 +53,8 @@ export const Card: React.FC = forwardRef( }, ref ) => { + const router = useRouter() + const disabled = !href && !htmlHref && !onClick const fallbackRef = useRef(null) const cardRef = (ref || fallbackRef) as React.RefObject | null @@ -109,7 +111,7 @@ export const Card: React.FC = forwardRef( if (newTab && href) { window.open(href, '_blank') } else { - routerPush(href) + router.push(href) } } diff --git a/src/components/Layout/UnreadIcon/index.tsx b/src/components/Layout/UnreadIcon/index.tsx index 3620f15d99..9b74081c94 100644 --- a/src/components/Layout/UnreadIcon/index.tsx +++ b/src/components/Layout/UnreadIcon/index.tsx @@ -1,7 +1,9 @@ import Follow from './Follow' import Notification from './Notification' -export default { +const UnreadIcon = { Notification, Follow, } + +export default UnreadIcon diff --git a/src/components/Notice/ArticleNotice/CircleNewArticle.tsx b/src/components/Notice/ArticleNotice/CircleNewArticle.tsx index 143dffc333..957745e917 100644 --- a/src/components/Notice/ArticleNotice/CircleNewArticle.tsx +++ b/src/components/Notice/ArticleNotice/CircleNewArticle.tsx @@ -12,7 +12,7 @@ import styles from '../styles.css' import { CircleNewArticleNotice as NoticeType } from './__generated__/CircleNewArticleNotice' const CircleNewArticle = ({ notice }: { notice: NoticeType }) => { - const circle = notice.article.circle + const circle = notice.article.access.circle if (!circle) { return null @@ -54,9 +54,11 @@ CircleNewArticle.fragments = { ...NoticeDate article: target { ...NoticeArticleCard - circle { - id - ...NoticeCircleName + access { + circle { + id + ...NoticeCircleName + } } } } diff --git a/src/components/OnboardingTasks/Tasks/index.tsx b/src/components/OnboardingTasks/Tasks/index.tsx index 2b9e0374cd..5a255638ba 100644 --- a/src/components/OnboardingTasks/Tasks/index.tsx +++ b/src/components/OnboardingTasks/Tasks/index.tsx @@ -1,3 +1,4 @@ +import { useRouter } from 'next/router' import { useContext } from 'react' import { @@ -19,7 +20,7 @@ import { OPEN_RECOMMEND_TAG_DIALOG, URL_QS, } from '~/common/enums' -import { analytics, routerPush, toPath, translate } from '~/common/utils' +import { analytics, toPath, translate } from '~/common/utils' import styles from './styles.css' import TaskItem from './TaskItem' @@ -27,6 +28,7 @@ import TaskItem from './TaskItem' import { CreateDraft } from '~/components/GQL/mutations/__generated__/CreateDraft' const Tasks = () => { + const router = useRouter() const viewer = useContext(ViewerContext) const { lang } = useContext(LanguageContext) const isLargeUp = useResponsive('lg-up') @@ -46,7 +48,7 @@ const Tasks = () => { if (slug && id) { const path = toPath({ page: 'draftDetail', slug, id }) - routerPush(path.href) + router.push(path.href) } } diff --git a/src/components/Search/SearchBar/index.tsx b/src/components/Search/SearchBar/index.tsx index 4802a0ae90..f3cfd91862 100644 --- a/src/components/Search/SearchBar/index.tsx +++ b/src/components/Search/SearchBar/index.tsx @@ -13,7 +13,7 @@ import { } from '~/components' import { INPUT_DEBOUNCE, TEXT, Z_INDEX } from '~/common/enums' -import { routerPush, toPath, translate } from '~/common/utils' +import { toPath, translate } from '~/common/utils' import styles from './styles.css' @@ -36,7 +36,7 @@ export const SearchBar: React.FC = ({ onChange, hasDropdown = true, }) => { - const { getQuery } = useRoute() + const { getQuery, router } = useRoute() const q = getQuery('q') const { lang } = useContext(LanguageContext) const [search, setSearch] = useState('') @@ -69,7 +69,7 @@ export const SearchBar: React.FC = ({ page: 'search', q: values.q.slice(0, 100), }) - routerPush(path.href) + router.push(path.href) close() }} > diff --git a/src/components/SearchSelect/SearchingArea/gql.ts b/src/components/SearchSelect/SearchingArea/gql.ts index 137bd28d19..6bba063238 100644 --- a/src/components/SearchSelect/SearchingArea/gql.ts +++ b/src/components/SearchSelect/SearchingArea/gql.ts @@ -9,6 +9,7 @@ export const SELECT_SEARCH = gql` $filter: SearchFilter $after: String $first: Int + $exclude: SearchExclude ) { search( input: { @@ -17,6 +18,7 @@ export const SELECT_SEARCH = gql` filter: $filter after: $after first: $first + exclude: $exclude } ) { pageInfo { diff --git a/src/components/SearchSelect/SearchingArea/index.tsx b/src/components/SearchSelect/SearchingArea/index.tsx index c206de404b..3b549e82e6 100644 --- a/src/components/SearchSelect/SearchingArea/index.tsx +++ b/src/components/SearchSelect/SearchingArea/index.tsx @@ -22,6 +22,7 @@ import { LIST_VIEWER_ARTICLES, SELECT_SEARCH } from './gql' import InviteEmail from './InviteEmail' import SearchInput, { SearchType as SearchInputType } from './SearchInput' +import { SearchExclude, SearchFilter } from '@/__generated__/globalTypes' import { ListViewerArticles } from './__generated__/ListViewerArticles' import { SelectSearch, @@ -38,10 +39,6 @@ import { * */ export type SearchType = SearchInputType -export interface SearchFilter { - authorId: string -} - export type SelectNode = SelectSearch_search_edges_node export type SelectArticle = SelectSearch_search_edges_node_Article export type SelectTag = SelectSearch_search_edges_node_Tag @@ -50,6 +47,7 @@ export type SelectUser = SelectSearch_search_edges_node_User interface SearchingAreaProps { searchType: SearchType searchFilter?: SearchFilter + searchExclude?: SearchExclude inSearchingArea: boolean toStagingArea: () => void @@ -65,6 +63,7 @@ type Mode = 'search' | 'list' const SearchingArea: React.FC = ({ searchType, searchFilter, + searchExclude, inSearchingArea, toStagingArea, @@ -143,7 +142,13 @@ const SearchingArea: React.FC = ({ const search = (key: string) => { const type = searchType === 'Invitee' ? 'User' : searchType lazySearch({ - variables: { key, type, filter: searchFilter, first: 10 }, + variables: { + key, + type, + filter: searchFilter, + exclude: searchExclude, + first: 10, + }, }) } diff --git a/src/components/Switch/styles.css b/src/components/Switch/styles.css index fc19e14ed1..a854d5bf09 100644 --- a/src/components/Switch/styles.css +++ b/src/components/Switch/styles.css @@ -29,6 +29,7 @@ line-height: 1; background: var(--switch-background); border-radius: var(--switch-border-radius); + transform: translateX(var(--switch-spacing)); } .switch input + span::after { @@ -45,9 +46,10 @@ position: absolute; top: var(--switch-spacing); - left: var(--switch-spacing); + left: 0; width: var(--switch-thumb-width); height: var(--switch-thumb-width); + transform: translateX(var(--switch-spacing)); } .switch input:checked { @@ -58,8 +60,10 @@ .switch input:checked + span::after, .switch input:checked + span + .loading :global(svg) { - left: calc( - var(--switch-width) - var(--switch-thumb-width) - var(--switch-spacing) + transform: translateX( + calc( + var(--switch-width) - var(--switch-thumb-width) - var(--switch-spacing) + ) ); } diff --git a/src/components/UserProfile/Badges/index.tsx b/src/components/UserProfile/Badges/index.tsx index 4263535ca5..f9fd97d5c3 100644 --- a/src/components/UserProfile/Badges/index.tsx +++ b/src/components/UserProfile/Badges/index.tsx @@ -2,19 +2,53 @@ import { Button, Tooltip, Translate, withIcon } from '~/components' import { EXTERNAL_LINKS } from '~/common/enums' -import { ReactComponent as IconSeedBadge } from '@/public/static/icons/16px/early-user-badge.svg' -import { ReactComponent as IconCivicLikerBadge } from '@/public/static/icons/civic-liker-badge.svg' +import { ReactComponent as IconArchitectBadge } from '@/public/static/icons/16px/badge-architect.svg' +import { ReactComponent as IconGoldenMotorBadge } from '@/public/static/icons/16px/badge-golden-motor.svg' +import { ReactComponent as IconSeedBadge } from '@/public/static/icons/16px/badge-seed.svg' +import { ReactComponent as IconCivicLikerBadge } from '@/public/static/icons/badge-civic-liker.svg' import styles from './styles.css' export const SeedBadge = () => ( + } + > + + {withIcon(IconSeedBadge)({})} + + + +) + +export const GoldenMotorBadge = () => ( + } > - - {withIcon(IconSeedBadge)({})} + + {withIcon(IconGoldenMotorBadge)({})} + + + +) + +export const ArchitectBadge = () => ( + + } + > + + {withIcon(IconArchitectBadge)({})} diff --git a/src/components/UserProfile/Badges/styles.css b/src/components/UserProfile/Badges/styles.css index 126e81b511..611f0ffcef 100644 --- a/src/components/UserProfile/Badges/styles.css +++ b/src/components/UserProfile/Badges/styles.css @@ -1,3 +1,3 @@ -.seed-badge { +.badge { font-size: 0; } diff --git a/src/components/UserProfile/DropdownActions/EditProfileDialog/gql.ts b/src/components/UserProfile/DropdownActions/EditProfileDialog/gql.ts index f3a5b8bc90..48af243688 100644 --- a/src/components/UserProfile/DropdownActions/EditProfileDialog/gql.ts +++ b/src/components/UserProfile/DropdownActions/EditProfileDialog/gql.ts @@ -9,6 +9,9 @@ export const fragments = { info { profileCover description + badges { + type + } } liker { civicLiker diff --git a/src/components/UserProfile/index.tsx b/src/components/UserProfile/index.tsx index d2a44c0a82..3126a3c52f 100644 --- a/src/components/UserProfile/index.tsx +++ b/src/components/UserProfile/index.tsx @@ -1,4 +1,3 @@ -import _some from 'lodash/some' import { useContext, useEffect } from 'react' import { @@ -21,7 +20,12 @@ import { numAbbr } from '~/common/utils' import IMAGE_COVER from '@/public/static/images/profile-cover.png' -import { CivicLikerBadge, SeedBadge } from './Badges' +import { + ArchitectBadge, + CivicLikerBadge, + GoldenMotorBadge, + SeedBadge, +} from './Badges' import CircleWidget from './CircleWidget' import DropdownActions from './DropdownActions' import { FollowersDialog } from './FollowersDialog' @@ -119,7 +123,9 @@ export const UserProfile = () => { const badges = user.info.badges || [] const circles = user.ownCircles || [] - const hasSeedBadge = _some(badges, { type: 'seed' }) + const hasSeedBadge = badges.some((b) => b.type === 'seed') + const hasArchitectBadge = badges.some((b) => b.type === 'architect') + const hasGoldenMotorBadge = badges.some((b) => b.type === 'golden_motor') const profileCover = user.info.profileCover || '' const userState = user.status?.state as string const isCivicLiker = user.liker.civicLiker @@ -181,6 +187,8 @@ export const UserProfile = () => {

{user.displayName}

{hasSeedBadge && } + {hasGoldenMotorBadge && } + {hasArchitectBadge && } {isCivicLiker && }
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 8820e69220..2dee4f7e33 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -11,7 +11,7 @@ import Root from '~/components/Root' import withApollo from '~/common/utils/withApollo' -const MattersApp = ({ +const InnerApp = ({ Component, pageProps, apollo, @@ -29,4 +29,6 @@ const MattersApp = ({ ) -export default withApollo(MattersApp, { getDataFromTree }) +const MattersApp = withApollo(InnerApp, { getDataFromTree }) + +export default MattersApp diff --git a/src/stories/mocks/index.ts b/src/stories/mocks/index.ts index bd87ef6f2f..4a9430c21f 100644 --- a/src/stories/mocks/index.ts +++ b/src/stories/mocks/index.ts @@ -11,6 +11,7 @@ export const MOCK_USER = { avatar: 'https://source.unsplash.com/256x256?user', info: { __typename: 'UserInfo' as any, + badges: null, description: 'Matters 唯一官方帳號', }, liker: { @@ -94,8 +95,11 @@ export const MOCK_ARTILCE = { totalCount: 190, }, subscribed: false, - circle: MOCK_CIRCLE, - limitedFree: true, + access: { + __typename: 'ArticleAccess' as any, + type: 'limitedFree' as any, + circle: MOCK_CIRCLE, + }, } export const MOCK_CIRCLE_ARTICLE = { diff --git a/src/views/About/Footer/styles.css b/src/views/About/Footer/styles.css index 0b6dbeff03..ca51d76dd4 100644 --- a/src/views/About/Footer/styles.css +++ b/src/views/About/Footer/styles.css @@ -10,7 +10,7 @@ footer { .container { display: grid; - grid-template: auto / repeat(1, 1fr); + grid-template: auto / repeat(1, minmax(0, 1fr)); grid-gap: var(--spacing-xx-loose); & h2 { @@ -75,7 +75,7 @@ footer { } @media (--sm-up) { - grid-template: auto / repeat(2, 1fr); + grid-template: auto / repeat(2, minmax(0, 1fr)); grid-template-areas: 'topLeft topRight' 'bottomLeft bottomRight'; @@ -98,7 +98,7 @@ footer { } @media (--lg-up) { - grid-template: auto / repeat(3, 1fr); + grid-template: auto / repeat(3, minmax(0, 1fr)); grid-template-areas: 'topLeft topMiddle topRight' 'bottomLeft bottomMiddle bottomRight'; diff --git a/src/views/About/Hero/styles.css b/src/views/About/Hero/styles.css index 3df465c805..45f0a04b63 100644 --- a/src/views/About/Hero/styles.css +++ b/src/views/About/Hero/styles.css @@ -88,7 +88,7 @@ .reports { position: relative; display: grid; - grid-template-columns: 1fr var(--layout-width) 1fr; + grid-template-columns: minmax(0, 1fr) var(--layout-width) minmax(0, 1fr); padding: 5rem var(--spacing-base) 0; overflow: hidden; @@ -149,7 +149,10 @@ } @media (--sm-up) { - grid-template-columns: 1fr var(--layout-width-sm-up) 1fr; + grid-template-columns: minmax(0, 1fr) var(--layout-width-sm-up) minmax( + 0, + 1fr + ); padding: 10rem 0 0; & ul { @@ -171,12 +174,18 @@ } @media (--md-up) { - grid-template-columns: 1fr var(--layout-width-md-up) 1fr; + grid-template-columns: minmax(0, 1fr) var(--layout-width-md-up) minmax( + 0, + 1fr + ); padding-top: 17rem; } @media (--lg-up) { - grid-template-columns: 1fr var(--layout-width-lg-up) 1fr; + grid-template-columns: minmax(0, 1fr) var(--layout-width-lg-up) minmax( + 0, + 1fr + ); } } diff --git a/src/views/ArticleDetail/EditMode/Header/index.tsx b/src/views/ArticleDetail/EditMode/Header/index.tsx index 5cbb979ddb..91a87c2d82 100644 --- a/src/views/ArticleDetail/EditMode/Header/index.tsx +++ b/src/views/ArticleDetail/EditMode/Header/index.tsx @@ -17,6 +17,7 @@ import { measureDiffs } from '~/common/utils' import styles from './styles.css' +import { ArticleAccessType } from '@/__generated__/globalTypes' import { ArticleDigestDropdownArticle } from '~/components/ArticleDigest/Dropdown/__generated__/ArticleDigestDropdownArticle' import { DigestRichCirclePublic } from '~/components/CircleDigest/Rich/__generated__/DigestRichCirclePublic' import { Asset } from '~/components/GQL/fragments/__generated__/Asset' @@ -31,6 +32,8 @@ interface EditModeHeaderProps { tags: DigestTag[] collection: ArticleDigestDropdownArticle[] circle?: DigestRichCirclePublic | null + accessType?: ArticleAccessType + count?: number isPending?: boolean @@ -54,6 +57,7 @@ const EDIT_ARTICLE = gql` $tags: [String!] $collection: [ID!] $circle: ID + $accessType: ArticleAccessType $after: String $first: Int = null ) { @@ -65,6 +69,7 @@ const EDIT_ARTICLE = gql` tags: $tags collection: $collection circle: $circle + accessType: $accessType } ) { id @@ -73,7 +78,11 @@ const EDIT_ARTICLE = gql` ...DigestTag selected(input: { mediaHash: $mediaHash }) } + access { + type + } drafts { + id mediaHash publishState ...EditorDraft @@ -93,6 +102,7 @@ const EditModeHeader = ({ tags, collection, circle, + accessType, count = 3, @@ -121,7 +131,11 @@ const EditModeHeader = ({ cover: cover ? cover.id : null, tags: tags.map((tag) => tag.content), collection: collection.map(({ id: articleId }) => articleId), - ...(circle ? { circle: circle.id } : {}), + circle: circle ? circle.id : null, + accessType: + accessType === ArticleAccessType.limitedFree + ? ArticleAccessType.paywall + : accessType, ...(isRevised ? { content } : {}), first: null, }, diff --git a/src/views/ArticleDetail/EditMode/PublishState/PublishedState.tsx b/src/views/ArticleDetail/EditMode/PublishState/PublishedState.tsx index e3e2336654..2db2f861f3 100644 --- a/src/views/ArticleDetail/EditMode/PublishState/PublishedState.tsx +++ b/src/views/ArticleDetail/EditMode/PublishState/PublishedState.tsx @@ -1,8 +1,9 @@ +import { useRouter } from 'next/router' import { useEffect } from 'react' import { Dialog, ShareDialog, Translate } from '~/components' -import { routerPush, toPath } from '~/common/utils' +import { toPath } from '~/common/utils' import { EditModeArticle_article_drafts as EditModeDraft } from '../__generated__/EditModeArticle' @@ -32,6 +33,8 @@ const BasePublishedState = ({ } const PublishedState = ({ article, draft, cancel }: Props) => { + const router = useRouter() + const path = toPath({ page: 'articleDetail', article: { ...article, mediaHash: draft.mediaHash }, @@ -70,7 +73,7 @@ const PublishedState = ({ article, draft, cancel }: Props) => { { cancel() - routerPush(path.href) + router.push(path.href) }} > import('~/components/Editor/Article'), { loading: Spinner, }) +const MAX_REVISION_COUNT = 2 + const EditMode: React.FC = ({ article, onCancel, onSaved }) => { const isLargeUp = useResponsive('lg-up') - const features = useFeatures() // staging editing data const [editData, setEditData] = useState>({}) @@ -54,10 +55,13 @@ const EditMode: React.FC = ({ article, onCancel, onSaved }) => { [] ) const [circle, editCircle] = useState( - article.circle + article.access.circle + ) + const [accessType, editAccessType] = useState( + article.access.type ) - // fetch and refetch latest metadata + // fetch latest metadata const { data, loading, error } = useQuery( EDIT_MODE_ARTICLE, { @@ -66,7 +70,22 @@ const EditMode: React.FC = ({ article, onCancel, onSaved }) => { } ) - // Cover + // access + const isPrevPublic = article.access.type === ArticleAccessType.public + const ownCircles = data?.article?.author.ownCircles + const hasCircles = ownCircles && ownCircles.length >= 1 + const editAccess = (addToCircle: boolean, paywalled: boolean) => { + if (!ownCircles) { + return + } + + editCircle(addToCircle ? ownCircles[0] : null) + editAccessType( + paywalled ? ArticleAccessType.paywall : ArticleAccessType.public + ) + } + + // cover const assets = data?.article?.assets || [] const refetchAssets = useImperativeQuery( EDIT_MODE_ARTICLE_ASSETS, @@ -76,21 +95,6 @@ const EditMode: React.FC = ({ article, onCancel, onSaved }) => { } ) - // Circle - // Note: the author can only have one circle now - const isAttachedCircle = !!article.circle - const ownCircles = data?.article?.author.ownCircles - const hasCircles = ownCircles && ownCircles.length >= 1 - const toggleCircle = hasCircles - ? () => { - if (!ownCircles) { - return - } - - editCircle(circle ? null : ownCircles[0]) - } - : undefined - // update cover & collection from retrieved data useEffect(() => { if (!data?.article) { @@ -126,11 +130,11 @@ const EditMode: React.FC = ({ article, onCancel, onSaved }) => { ) } - const drafts = data?.article?.drafts || [] - const draft = drafts[0] - const count = 3 - (drafts.length || 0) - const isSameHash = draft.mediaHash === article.mediaHash - const isPending = draft.publishState === 'pending' + const drafts = data?.article?.drafts + const draft = drafts && drafts[0] + const count = MAX_REVISION_COUNT - (data?.article?.revisionCount || 0) + const isSameHash = draft?.mediaHash === article.mediaHash + const isPending = draft?.publishState === 'pending' const isEditDisabled = !isSameHash || isPending const isReviseDisabled = isEditDisabled || count <= 0 @@ -168,11 +172,14 @@ const EditMode: React.FC = ({ article, onCancel, onSaved }) => { disabled={isEditDisabled} /> - {toggleCircle && features.circle_management && ( + {hasCircles && ( )} @@ -191,6 +198,7 @@ const EditMode: React.FC = ({ article, onCancel, onSaved }) => { tags={tags} collection={collection} circle={circle} + accessType={accessType} count={count} isSameHash={isSameHash} onSaved={onSaved} @@ -234,8 +242,10 @@ const EditMode: React.FC = ({ article, onCancel, onSaved }) => { editCollection={editCollection} // circle circle={circle} - toggleCircle={features.circle_management ? toggleCircle : undefined} - canToggleCircle={!isAttachedCircle} + accessType={accessType} + editAccess={hasCircles ? editAccess : undefined} + canToggleCircle={isPrevPublic} + canTogglePaywall={isPrevPublic} /> )} diff --git a/src/views/ArticleDetail/FingerprintButton/index.tsx b/src/views/ArticleDetail/MetaInfo/FingerprintButton/index.tsx similarity index 100% rename from src/views/ArticleDetail/FingerprintButton/index.tsx rename to src/views/ArticleDetail/MetaInfo/FingerprintButton/index.tsx diff --git a/src/views/ArticleDetail/TranslationButton/index.tsx b/src/views/ArticleDetail/MetaInfo/TranslationButton/index.tsx similarity index 64% rename from src/views/ArticleDetail/TranslationButton/index.tsx rename to src/views/ArticleDetail/MetaInfo/TranslationButton/index.tsx index ea3cd5f9d0..97039dee37 100644 --- a/src/views/ArticleDetail/TranslationButton/index.tsx +++ b/src/views/ArticleDetail/MetaInfo/TranslationButton/index.tsx @@ -1,22 +1,17 @@ -import { Router } from 'next/router' -import { FC, useEffect } from 'react' +import { FC } from 'react' import { Button, IconWorld16, TextIcon, Translate } from '~/components' import { analytics } from '~/common/utils' const TranslationButton: FC<{ - translate: boolean - setTranslate: (translate: boolean) => void -}> = ({ translate, setTranslate }) => { - useEffect(() => { - Router.events.on('routeChangeStart', () => setTranslate(false)) - }, []) - + translated: boolean + toggleTranslate: () => void +}> = ({ translated, toggleTranslate }) => { return (
- {article.circle && ( + {article.access.circle && (
import('./EditMode'), { }) const ArticleDetail = () => { - const { getQuery } = useRoute() + const { getQuery, router } = useRoute() const mediaHash = getQuery('mediaHash') const viewer = useContext(ViewerContext) // UI const features = useFeatures() const isLargeUp = useResponsive('lg-up') - const isSmallUp = useResponsive('sm-up') const [fixedWall, setFixedWall] = useState(false) // wall @@ -105,12 +102,12 @@ const ArticleDetail = () => { const paymentPointer = article?.author?.paymentPointer || undefined const collectionCount = article?.collection?.totalCount || 0 const isAuthor = viewer.id === authorId - const circle = article?.circle + const circle = article?.access.circle const canReadFullContent = !!( isAuthor || !circle || circle.isMember || - article?.limitedFree + article?.access.type === ArticleAccessType.limitedFree ) const summary = article?.summary @@ -141,30 +138,52 @@ const ArticleDetail = () => { loadPrivate() }, [article?.mediaHash, viewer.id]) - // translation - const [translate, setTranslate] = useState(false) - const language = article?.language + // redirect to latest published article + const latestArticle = article?.drafts?.filter( + (d) => d.publishState === 'published' + )[0] + const latestHash = latestArticle?.mediaHash + useEffect(() => { + if (!article || !latestHash) { + return + } - const { lang: viewerLanguage } = useContext(LanguageContext) + const isSameHash = latestHash === mediaHash + + if (isSameHash) { + return + } + + const newPath = toPath({ + page: 'articleDetail', + article: { + ...article, + mediaHash: latestHash, + }, + }) - const shouldTranslate = language && language !== viewerLanguage + router.push(newPath.href, undefined, { shallow: true }) + }, [latestHash]) + // translation + const [translated, setTranslate] = useState(false) + const language = article?.language + const { lang: viewerLanguage } = useContext(LanguageContext) + const shouldTranslate = !!(language && language !== viewerLanguage) const [ getTranslation, { data: translationData, loading: translating }, ] = useLazyQuery(ARTICLE_TRANSLATION) const titleTranslation = translationData?.article?.translation?.title const contentTranslation = translationData?.article?.translation?.content - const onTranslate = (newTranslate: boolean) => { - setTranslate(newTranslate) + const toggleTranslate = () => { + setTranslate(!translated) - if (!newTranslate) { + if (!translated) { return } - getTranslation({ - variables: { mediaHash, language: viewerLanguage }, - }) + getTranslation({ variables: { mediaHash, language: viewerLanguage } }) window.dispatchEvent( new CustomEvent(ADD_TOAST, { @@ -174,7 +193,7 @@ const ArticleDetail = () => { ), }, @@ -296,11 +315,6 @@ const ArticleDetail = () => { /** * Render */ - const infoClasses = classNames({ - info: true, - split: !!article.revisedAt && !isSmallUp, - }) - return ( }> {
- {translate && titleTranslation ? titleTranslation : article.title} + {translated && titleTranslation + ? titleTranslation + : article.title} { }} /> -
-
-
-
- - - - -
- - {article.revisedAt && ( -
- - - - -
- )} -
- - {canReadFullContent && ( -
- - - {shouldTranslate && ( - - )} -
- )} -
- -
-
+
{article?.summaryCustomized && ( @@ -396,7 +375,7 @@ const ArticleDetail = () => { {circle && !canReadFullContent && } @@ -422,18 +401,21 @@ const ArticleDetail = () => { article={article} privateFetched={privateFetched} hasFingerprint={canReadFullContent} + hasExtend={!article.author?.isBlocking} lock={!canReadFullContent} /> {shouldShowWall && ( <> -
+ )} - {article.circle && } + {article.access.circle && ( + + )} diff --git a/src/views/ArticleDetail/styles.css b/src/views/ArticleDetail/styles.css index 55338d22bf..cfad06a74a 100644 --- a/src/views/ArticleDetail/styles.css +++ b/src/views/ArticleDetail/styles.css @@ -12,53 +12,6 @@ margin-bottom: var(--spacing-base); } -.info { - @mixin flex-center-space-between; - - padding-top: var(--spacing-x-tight); - - & .right { - @mixin inline-flex-center-all; - - & :global(> * + *) { - margin-left: var(--spacing-base); - } - } - - & .left { - @mixin inline-flex-center-start; - - & .timeline, - & .features { - @mixin inline-flex-center-start; - - & :global(> * + *) { - margin-left: var(--spacing-base); - } - } - - & .features { - margin-left: var(--spacing-base); - } - } -} - -.split { - & .right { - flex-grow: 0; - } - - & .left { - flex-direction: column; - flex-grow: 1; - align-items: flex-start; - - & .features { - margin: var(--spacing-x-tight) 0; - } - } -} - .block { @mixin border-top-grey; @@ -66,15 +19,3 @@ margin: var(--spacing-loose) calc(var(--spacing-base) * -1) var(--spacing-base); } - -.time { - flex-shrink: 0; - font-size: var(--font-size-timestamp); - font-weight: var(--font-weight-timestamp); - line-height: var(--line-height-timestamp); - - & span { - margin-right: var(--spacing-xx-tight); - color: var(--color-grey); - } -} diff --git a/src/views/Circle/Profile/AddCircleArticle/Button.tsx b/src/views/Circle/Profile/AddCircleArticle/Button.tsx index c08807fdec..2169fbc874 100644 --- a/src/views/Circle/Profile/AddCircleArticle/Button.tsx +++ b/src/views/Circle/Profile/AddCircleArticle/Button.tsx @@ -1,10 +1,4 @@ -import { - Button, - IconPen16, - TextIcon, - Translate, - useFeatures, -} from '~/components' +import { Button, IconPen16, TextIcon, Translate } from '~/components' import AddCircleArticleDialog from './Dialog' @@ -13,12 +7,6 @@ interface AddArticlesButtonProps { } const AddArticlesButton = ({ circle }: AddArticlesButtonProps) => { - const features = useFeatures() - - if (!features.circle_management) { - return null - } - return ( {({ open: openAddCircleArticlesDialog }) => ( diff --git a/src/views/Circle/Profile/AddCircleArticle/Dialog/Content.tsx b/src/views/Circle/Profile/AddCircleArticle/Dialog/Content.tsx index 884dedd5e9..94585967ce 100644 --- a/src/views/Circle/Profile/AddCircleArticle/Dialog/Content.tsx +++ b/src/views/Circle/Profile/AddCircleArticle/Dialog/Content.tsx @@ -1,8 +1,12 @@ -import { Dialog, Translate } from '~/components' +import { useState } from 'react' + +import { Dialog, Switch, Translate } from '~/components' + +import styles from './styles.css' interface ContentProps { loading: boolean - onConfirm: () => void + onConfirm: (paywalled: boolean) => void closeDialog: () => void } @@ -11,6 +15,8 @@ const Content: React.FC = ({ onConfirm, closeDialog, }) => { + const [paywalled, setPaywalled] = useState(false) + return ( <> = ({ /> +
+

+ +

+ + setPaywalled(!paywalled)} + /> +
+
+ +
- + onConfirm(paywalled)} + loading={loading} + > ([]) const [add, { loading }] = useMutation(PUT_CIRCLE_ARTICLES) - const addArticlesToCircle = async () => { + const addArticlesToCircle = async (paywalled: boolean) => { const articleIds = articles.map((article) => article.id) await add({ - variables: { id: circle.id, articles: articleIds, type: 'add' }, + variables: { + id: circle.id, + articles: articleIds, + type: 'add', + accessType: paywalled + ? ArticleAccessType.paywall + : ArticleAccessType.public, + }, }) window.dispatchEvent( diff --git a/src/views/Circle/Profile/AddCircleArticle/Dialog/styles.css b/src/views/Circle/Profile/AddCircleArticle/Dialog/styles.css new file mode 100644 index 0000000000..1f1369ebf3 --- /dev/null +++ b/src/views/Circle/Profile/AddCircleArticle/Dialog/styles.css @@ -0,0 +1,14 @@ +.switch { + @mixin flex-center-space-between; + @mixin border-top-grey; + @mixin border-bottom-grey; + + padding: var(--spacing-base); + margin: 0 calc(var(--spacing-base) * -1) var(--spacing-loose); + + & p { + font-size: var(--font-size-md); + font-weight: var(--font-weight-medium); + line-height: 1; + } +} diff --git a/src/views/Circle/Settings/ManageInvitation/AddInvitationDialog/PreSend.tsx b/src/views/Circle/Settings/ManageInvitation/AddInvitationDialog/PreSend.tsx index ff83bd66ee..63224dd41b 100644 --- a/src/views/Circle/Settings/ManageInvitation/AddInvitationDialog/PreSend.tsx +++ b/src/views/Circle/Settings/ManageInvitation/AddInvitationDialog/PreSend.tsx @@ -113,25 +113,27 @@ const BaseInviteePreSend = ({ close, confirm, invitees }: Props) => {

- - {invitees.map( - ({ node }, i) => - node.__typename === 'User' && ( - - - - - - ) - )} - + + + {invitees.map( + ({ node }, i) => + node.__typename === 'User' && ( + + + + + + ) + )} + + diff --git a/src/views/Circle/Settings/ManageInvitation/Invitations/index.tsx b/src/views/Circle/Settings/ManageInvitation/Invitations/index.tsx index b2027c1e9d..ea484471fb 100644 --- a/src/views/Circle/Settings/ManageInvitation/Invitations/index.tsx +++ b/src/views/Circle/Settings/ManageInvitation/Invitations/index.tsx @@ -52,7 +52,7 @@ const Invitations = () => { }) // pagination - const connectionPath = 'circle.invitaitons' + const connectionPath = 'circle.invitations' const circle = data?.circle const { edges, pageInfo } = circle?.invitations || {} const isOwner = circle?.owner.id === viewer.id diff --git a/src/views/Follow/FollowFeed/DonationsFeed/index.tsx b/src/views/Follow/FollowFeed/DonationsFeed/index.tsx index e6ff2cd344..21fe23d8f8 100644 --- a/src/views/Follow/FollowFeed/DonationsFeed/index.tsx +++ b/src/views/Follow/FollowFeed/DonationsFeed/index.tsx @@ -12,14 +12,12 @@ import { Translate, UserDigest, } from '~/components' -import CLIENT_PREFERENCE from '~/components/GQL/queries/clientPreference' import { UserDigestMiniProps } from '~/components/UserDigest/Mini' import { analytics, mergeConnections } from '~/common/utils' import styles from './styles.css' -import { ClientPreference } from '~/components/GQL/queries/__generated__/ClientPreference' import { FolloweeDonatedArticlesFeed, FolloweeDonatedArticlesFeed_viewer_recommendation_followeeDonatedArticles_edges_node_followee as FolloweeDonatedArticlesFeedFollowee, @@ -59,7 +57,7 @@ const FOLLOWEE_DONATED_ARTICLES = gql` ${UserDigest.Mini.fragments.user} ` -const DonationsArticles = ({ isCompactMode }: { isCompactMode: boolean }) => { +const DonationsArticles = () => { const { data, loading, @@ -163,14 +161,4 @@ const DonationsArticles = ({ isCompactMode }: { isCompactMode: boolean }) => { ) } -const DonationsFeed = () => { - const { data } = useQuery(CLIENT_PREFERENCE, { - variables: { id: 'local' }, - }) - const { viewMode } = data?.clientPreference || { viewMode: 'comfortable' } - const isCompactMode = viewMode === 'compact' - - return -} - -export default DonationsFeed +export default DonationsArticles diff --git a/src/views/Follow/FollowFeed/FollowComment/index.tsx b/src/views/Follow/FollowFeed/FollowComment/index.tsx index 8ce805b6ab..7a1fae2af0 100644 --- a/src/views/Follow/FollowFeed/FollowComment/index.tsx +++ b/src/views/Follow/FollowFeed/FollowComment/index.tsx @@ -1,4 +1,3 @@ -import { useQuery } from '@apollo/react-hooks' import gql from 'graphql-tag' import React from 'react' @@ -11,13 +10,11 @@ import { Translate, UserDigest, } from '~/components' -import CLIENT_PREFERENCE from '~/components/GQL/queries/clientPreference' import { toPath } from '~/common/utils' import styles from './styles.css' -import { ClientPreference } from '~/components/GQL/queries/__generated__/ClientPreference' import { FollowComment as FollowCommentType } from './__generated__/FollowComment' interface FollowCommentProps { @@ -64,12 +61,6 @@ const FollowComment: React.FC = ({ onClickArticle, onClickAuthor, }) => { - const { data } = useQuery(CLIENT_PREFERENCE, { - variables: { id: 'local' }, - }) - const { viewMode } = data?.clientPreference || { viewMode: 'comfortable' } - const isDefaultMode = viewMode === 'default' - const article = comment.node.__typename === 'Article' ? comment.node : undefined @@ -87,33 +78,18 @@ const FollowComment: React.FC = ({ }) : {} - let userDigestProps = {} - if (isDefaultMode) { - userDigestProps = { - avatarSize: 'lg', - textSize: 'md-s', - textWeight: 'md', - } - } else { - userDigestProps = { - avatarSize: 'sm', - textSize: 'sm', - } - } - return (
diff --git a/src/views/Home/Feed/index.tsx b/src/views/Home/Feed/index.tsx index 1da03df97d..7616e96e1b 100644 --- a/src/views/Home/Feed/index.tsx +++ b/src/views/Home/Feed/index.tsx @@ -57,7 +57,6 @@ interface FeedLocation { interface MainFeedProps { feedSortType: SortByType - viewMode: string | null } const horizontalFeeds: FeedLocation = { @@ -65,7 +64,7 @@ const horizontalFeeds: FeedLocation = { 5: () => , } -const MainFeed = ({ feedSortType: sortBy, viewMode }: MainFeedProps) => { +const MainFeed = ({ feedSortType: sortBy }: MainFeedProps) => { const viewer = useContext(ViewerContext) const isLargeUp = useResponsive('lg-up') const isHottestFeed = sortBy === 'hottest' @@ -215,12 +214,7 @@ const MainFeed = ({ feedSortType: sortBy, viewMode }: MainFeedProps) => { onClick={() => analytics.trackEvent('click_feed', { type: sortBy, - styleType: - viewMode === 'default' - ? 'small_cover' - : viewMode === 'compact' - ? 'no_cover' - : 'large_cover', + styleType: 'small_cover', contentType: 'article', location: i, }) @@ -254,7 +248,6 @@ const HomeFeed = () => { const { data, client } = useQuery(CLIENT_PREFERENCE, { variables: { id: 'local' }, }) - const { viewMode } = data?.clientPreference || { viewMode: 'default' } const { feedSortType } = data?.clientPreference || { feedSortType: 'hottest', } @@ -271,7 +264,7 @@ const HomeFeed = () => { <> - + ) } diff --git a/src/views/Home/Sidebar/index.tsx b/src/views/Home/Sidebar/index.tsx index 48c3c73cf8..e1c70fa9cb 100644 --- a/src/views/Home/Sidebar/index.tsx +++ b/src/views/Home/Sidebar/index.tsx @@ -1,7 +1,9 @@ import Authors from './Authors' import Tags from './Tags' -export default { +const Sidebar = { Tags, Authors, } + +export default Sidebar diff --git a/src/views/Me/DraftDetail/BottomBar.tsx b/src/views/Me/DraftDetail/BottomBar.tsx index 7c8c1ec2fe..6da8b3a1c4 100644 --- a/src/views/Me/DraftDetail/BottomBar.tsx +++ b/src/views/Me/DraftDetail/BottomBar.tsx @@ -1,10 +1,10 @@ -import { toDigestTagPlaceholder, useFeatures } from '~/components' +import { toDigestTagPlaceholder } from '~/components' import BottomBar from '~/components/Editor/BottomBar' import { ENTITY_TYPE } from '~/common/enums' import { - useEditDraftCircle, + useEditDraftAccess, useEditDraftCollection, useEditDraftCover, useEditDraftTags, @@ -19,7 +19,6 @@ interface BottomBarProps { } const EditDraftBottomBar = ({ draft, ownCircles }: BottomBarProps) => { - const features = useFeatures() const { edit: editCollection, saving: collectionSaving, @@ -28,8 +27,9 @@ const EditDraftBottomBar = ({ draft, ownCircles }: BottomBarProps) => { draft ) const { edit: editTags, saving: tagsSaving } = useEditDraftTags(draft) - const { toggle: toggleCircle, saving: circleSaving } = useEditDraftCircle( - draft + const { edit: editAccess, saving: accessSaving } = useEditDraftAccess( + draft, + ownCircles && ownCircles[0] ) const tags = (draft.tags || []).map(toDigestTagPlaceholder) const isPending = draft.publishState === 'pending' @@ -37,7 +37,7 @@ const EditDraftBottomBar = ({ draft, ownCircles }: BottomBarProps) => { return ( { collection={draft?.collection?.edges?.map(({ node }) => node) || []} editCollection={editCollection} // circle - circle={draft?.circle} - toggleCircle={ - ownCircles && features.circle_management - ? () => toggleCircle(ownCircles[0]) - : undefined - } + circle={draft?.access.circle} + accessType={draft.access.type} + editAccess={editAccess} canToggleCircle + canTogglePaywall /> ) } diff --git a/src/views/Me/DraftDetail/Sidebar.tsx b/src/views/Me/DraftDetail/Sidebar.tsx index c7ff82e24c..fa72b70b35 100644 --- a/src/views/Me/DraftDetail/Sidebar.tsx +++ b/src/views/Me/DraftDetail/Sidebar.tsx @@ -1,10 +1,10 @@ -import { toDigestTagPlaceholder, useFeatures } from '~/components' +import { toDigestTagPlaceholder } from '~/components' import Sidebar from '~/components/Editor/Sidebar' import { ENTITY_TYPE } from '~/common/enums' import { - useEditDraftCircle, + useEditDraftAccess, useEditDraftCollection, useEditDraftCover, useEditDraftTags, @@ -65,8 +65,11 @@ const EditDraftTags = ({ draft, disabled }: SidebarProps) => { ) } -const EditDraftCircle = ({ draft, ownCircles, disabled }: SidebarProps) => { - const { toggle, saving } = useEditDraftCircle(draft) +const EditDraftCircle = ({ draft, ownCircles }: SidebarProps) => { + const { edit, saving } = useEditDraftAccess( + draft, + ownCircles && ownCircles[0] + ) if (!ownCircles) { return null @@ -74,17 +77,17 @@ const EditDraftCircle = ({ draft, ownCircles, disabled }: SidebarProps) => { return ( toggle(ownCircles[0])} + circle={draft.access.circle} + accessType={draft.access.type} + editAccess={edit} saving={saving} - disabled={disabled} + canToggleCircle + canTogglePaywall /> ) } const EditDraftSidebar = (props: BaseSidebarProps) => { - const features = useFeatures() - const isPending = props.draft.publishState === 'pending' const isPublished = props.draft.publishState === 'published' const disabled = isPending || isPublished @@ -94,9 +97,7 @@ const EditDraftSidebar = (props: BaseSidebarProps) => { - {features.circle_management && ( - - )} + ) } diff --git a/src/views/Me/DraftDetail/gql.ts b/src/views/Me/DraftDetail/gql.ts index bdb92006e3..b3e02e0e17 100644 --- a/src/views/Me/DraftDetail/gql.ts +++ b/src/views/Me/DraftDetail/gql.ts @@ -25,8 +25,11 @@ export const editMetaFragment = gql` } } } - circle { - ...DigestRichCirclePublic + access { + type + circle { + ...DigestRichCirclePublic + } } } ${ArticleDigestDropdown.fragments.article} @@ -94,6 +97,7 @@ export const SET_CONTENT = gql` ...Asset } summary + summaryCustomized } } ${assetFragment} @@ -135,12 +139,19 @@ export const SET_TAGS = gql` ${editMetaFragment} ` -export const SET_CIRCLE = gql` - mutation SetDraftCircle($id: ID!, $circle: ID) { - putDraft(input: { id: $id, circle: $circle }) { +export const SET_ACCESS = gql` + mutation SetDraftAccess( + $id: ID! + $circle: ID + $accessType: ArticleAccessType + ) { + putDraft(input: { id: $id, circle: $circle, accessType: $accessType }) { id - circle { - ...DigestRichCirclePublic + access { + type + circle { + ...DigestRichCirclePublic + } } } } diff --git a/src/views/Me/DraftDetail/hooks.ts b/src/views/Me/DraftDetail/hooks.ts index 504426307f..65a4c7fa85 100644 --- a/src/views/Me/DraftDetail/hooks.ts +++ b/src/views/Me/DraftDetail/hooks.ts @@ -4,18 +4,19 @@ import { useImperativeQuery, useMutation } from '~/components/GQL' import { DRAFT_ASSETS, - SET_CIRCLE, + SET_ACCESS, SET_COLLECTION, SET_COVER, SET_TAGS, } from './gql' +import { ArticleAccessType } from '@/__generated__/globalTypes' import { ArticleDigestDropdownArticle } from '~/components/ArticleDigest/Dropdown/__generated__/ArticleDigestDropdownArticle' import { DigestRichCirclePublic } from '~/components/CircleDigest/Rich/__generated__/DigestRichCirclePublic' import { DigestTag } from '~/components/Tag/__generated__/DigestTag' import { DraftAssets } from './__generated__/DraftAssets' import { EditMetaDraft } from './__generated__/EditMetaDraft' -import { SetDraftCircle } from './__generated__/SetDraftCircle' +import { SetDraftAccess } from './__generated__/SetDraftAccess' import { SetDraftCollection } from './__generated__/SetDraftCollection' import { SetDraftCover } from './__generated__/SetDraftCover' import { SetDraftTags } from './__generated__/SetDraftTags' @@ -71,19 +72,30 @@ export const useEditDraftCollection = (draft: EditMetaDraft) => { return { edit, saving } } -export const useEditDraftCircle = (draft: EditMetaDraft) => { +export const useEditDraftAccess = ( + draft: EditMetaDraft, + circle?: DigestRichCirclePublic +) => { const draftId = draft.id - const [setCircle, { loading: saving }] = useMutation( - SET_CIRCLE + const [setCircle, { loading: saving }] = useMutation( + SET_ACCESS ) - const toggle = (circle: DigestRichCirclePublic) => + const edit = (addToCircle: boolean, paywalled: boolean) => { + if (!circle) { + return + } + setCircle({ variables: { id: draftId, - circle: draft.circle ? null : circle.id, + circle: addToCircle ? circle.id : null, + accessType: paywalled + ? ArticleAccessType.paywall + : ArticleAccessType.public, }, }) + } - return { toggle, saving } + return { edit, saving } } diff --git a/src/views/Me/Settings/Settings/UI/ViewMode.tsx b/src/views/Me/Settings/Settings/UI/ViewMode.tsx deleted file mode 100644 index f0d0c12372..0000000000 --- a/src/views/Me/Settings/Settings/UI/ViewMode.tsx +++ /dev/null @@ -1,110 +0,0 @@ -import { useQuery } from '@apollo/react-hooks' - -import { - DropdownDialog, - Form, - IconViewModeComfortable24, - IconViewModeCompact24, - IconViewModeDefault24, - Menu, - TextIcon, - Translate, -} from '~/components' -import CLIENT_PREFERENCE from '~/components/GQL/queries/clientPreference' - -import { STORAGE_KEY_VIEW_MODE } from '~/common/enums' -import { storage } from '~/common/utils' - -import { ClientPreference } from '~/components/GQL/queries/__generated__/ClientPreference' - -export type ViewModeType = 'default' | 'comfortable' | 'compact' - -const ViewMode = () => { - const { data, client } = useQuery(CLIENT_PREFERENCE, { - variables: { id: 'local' }, - }) - const { viewMode } = data?.clientPreference || { viewMode: 'comfortable' } - const isDefaultMode = viewMode === 'default' - const isComfortableMode = viewMode === 'comfortable' - const isCompactMode = viewMode === 'compact' - - const setViewMode = (mode: ViewModeType) => { - if (client) { - client.writeData({ - id: 'ClientPreference:local', - data: { viewMode: mode }, - }) - } - - storage.set(STORAGE_KEY_VIEW_MODE, mode) - } - - const Content = ({ isInDropdown }: { isInDropdown?: boolean }) => ( - - setViewMode('default')}> - } - size="md" - spacing="base" - weight={isDefaultMode ? 'bold' : 'normal'} - > - - - - setViewMode('comfortable')}> - } - size="md" - spacing="base" - weight={isComfortableMode ? 'bold' : 'normal'} - > - - - - setViewMode('compact')}> - } - size="md" - spacing="base" - weight={isCompactMode ? 'bold' : 'normal'} - > - - - - - ) - - return ( - , - placement: 'bottom-end', - }} - dialog={{ - content: , - title: 'switchViewMode', - }} - > - {({ open, ref }) => ( - } - onClick={open} - rightText={ - - {isDefaultMode ? ( - - ) : isComfortableMode ? ( - - ) : ( - - )} - - } - ref={ref} - /> - )} - - ) -} - -export default ViewMode diff --git a/src/views/Me/Settings/Settings/UI/index.tsx b/src/views/Me/Settings/Settings/UI/index.tsx index d58f240aac..2ef4bf9bcc 100644 --- a/src/views/Me/Settings/Settings/UI/index.tsx +++ b/src/views/Me/Settings/Settings/UI/index.tsx @@ -1,13 +1,11 @@ import { Form, Translate } from '~/components' import SwitchLanguage from './SwitchLanguage' -import ViewMode from './ViewMode' const UISettings = () => { return ( }> - ) } diff --git a/src/views/Me/Wallet/Buttons/styles.css b/src/views/Me/Wallet/Buttons/styles.css index afd8f3b9a7..a4b9628bfd 100644 --- a/src/views/Me/Wallet/Buttons/styles.css +++ b/src/views/Me/Wallet/Buttons/styles.css @@ -1,6 +1,6 @@ .container { display: grid; - grid-template-columns: repeat(12, 1fr); + grid-template-columns: repeat(12, mimmax(0, 1fr)); margin: 0 var(--spacing-base); } diff --git a/src/views/OAuth/Callback/Failure/index.tsx b/src/views/OAuth/Callback/Failure/index.tsx index 9229bf4ce0..0996001266 100644 --- a/src/views/OAuth/Callback/Failure/index.tsx +++ b/src/views/OAuth/Callback/Failure/index.tsx @@ -1,7 +1,6 @@ import { Layout, Translate, useRoute } from '~/components' import { OAUTH_PROVIDER, PATHS } from '~/common/enums' -import { routerPush } from '~/common/utils' import ICON_LIKECOIN from '@/public/static/icons/likecoin.svg' import ICON_STRIPE from '@/public/static/icons/stripe.svg' @@ -54,7 +53,7 @@ const ERROR_TEXT = { } const OAuthCallbackFailure = () => { - const { getQuery } = useRoute() + const { getQuery, router } = useRoute() const code = getQuery('code') const provider = getQuery('provider') const title: { [key: string]: any } = { @@ -73,7 +72,7 @@ const OAuthCallbackFailure = () => { const errorDetail = ERROR_TEXT[code as any] if (!provider || OAUTH_PROVIDER.indexOf(provider) < 0) { - routerPush(PATHS.HOME) + router.push(PATHS.HOME) return null } diff --git a/src/views/OAuth/Callback/Success/index.tsx b/src/views/OAuth/Callback/Success/index.tsx index 2ec4d798e6..54d9fab9f9 100644 --- a/src/views/OAuth/Callback/Success/index.tsx +++ b/src/views/OAuth/Callback/Success/index.tsx @@ -1,7 +1,6 @@ import { Layout, Translate, useRoute } from '~/components' import { OAUTH_PROVIDER, PATHS } from '~/common/enums' -import { routerPush } from '~/common/utils' import ICON_LIKECOIN from '@/public/static/icons/likecoin.svg' import ICON_STRIPE from '@/public/static/icons/stripe.svg' @@ -10,7 +9,7 @@ import { Box } from '../../Box' import styles from '../styles.css' const OAuthCallbackSuccess = () => { - const { getQuery } = useRoute() + const { getQuery, router } = useRoute() const provider = getQuery('provider') const title: { [key: string]: any } = { likecoin: ( @@ -27,7 +26,7 @@ const OAuthCallbackSuccess = () => { } if (!provider || OAUTH_PROVIDER.indexOf(provider) < 0) { - routerPush(PATHS.HOME) + router.push(PATHS.HOME) return null } diff --git a/src/views/Pay/Callback/Failure/index.tsx b/src/views/Pay/Callback/Failure/index.tsx index 091f843ecd..59c133e6a3 100644 --- a/src/views/Pay/Callback/Failure/index.tsx +++ b/src/views/Pay/Callback/Failure/index.tsx @@ -1,7 +1,6 @@ import { Layout, Translate, useRoute } from '~/components' import { PATHS, PAYMENT_PROVIDER } from '~/common/enums' -import { routerPush } from '~/common/utils' import ICON_LIKECOIN from '@/public/static/icons/likecoin.svg' @@ -9,7 +8,7 @@ import { Box } from '../../Box' import styles from '../styles.css' const OAuthCallbackFailure = () => { - const { getQuery } = useRoute() + const { getQuery, router } = useRoute() const provider = getQuery('provider') const title: { [key: string]: any } = { likecoin: , @@ -19,7 +18,7 @@ const OAuthCallbackFailure = () => { } if (!provider || PAYMENT_PROVIDER.indexOf(provider) < 0) { - routerPush(PATHS.HOME) + router.push(PATHS.HOME) return null } diff --git a/src/views/Pay/Callback/Success/index.tsx b/src/views/Pay/Callback/Success/index.tsx index 9b0c010dfd..7648eecdc6 100644 --- a/src/views/Pay/Callback/Success/index.tsx +++ b/src/views/Pay/Callback/Success/index.tsx @@ -1,7 +1,6 @@ import { Layout, Translate, useRoute } from '~/components' import { PATHS, PAYMENT_PROVIDER } from '~/common/enums' -import { routerPush } from '~/common/utils' import ICON_LIKECOIN from '@/public/static/icons/likecoin.svg' @@ -9,7 +8,7 @@ import { Box } from '../../Box' import styles from '../styles.css' const PayCallbackSuccess = () => { - const { getQuery } = useRoute() + const { getQuery, router } = useRoute() const provider = getQuery('provider') const title: { [key: string]: any } = { likecoin: , @@ -19,7 +18,7 @@ const PayCallbackSuccess = () => { } if (!provider || PAYMENT_PROVIDER.indexOf(provider) < 0) { - routerPush(PATHS.HOME) + router.push(PATHS.HOME) return null } diff --git a/src/views/Search/index.tsx b/src/views/Search/index.tsx index adb3a9bb02..82310a3889 100644 --- a/src/views/Search/index.tsx +++ b/src/views/Search/index.tsx @@ -12,7 +12,7 @@ import { useRoute, } from '~/components' -import { routerPush, toPath } from '~/common/utils' +import { toPath } from '~/common/utils' import AggregateResults from './AggregateResults' // import EmptySearch from './EmptySearch' @@ -21,7 +21,7 @@ import SearchTags from './SearchTags' import SearchUsers from './SearchUsers' const Search = () => { - const { getQuery } = useRoute() + const { getQuery, router } = useRoute() const type = getQuery('type') const q = getQuery('q') const isSmallUp = useResponsive('sm-up') @@ -29,7 +29,7 @@ const Search = () => { const resetAutoComplete = () => setTypingKey('') const onCancel = () => { const path = toPath({ page: 'search' }) - routerPush(path.href) + router.push(path.href) } const isOverview = !q && !typingKey diff --git a/src/views/TagDetail/Buttons/AddButton/CreateDraftMenuItem/index.tsx b/src/views/TagDetail/Buttons/AddButton/CreateDraftMenuItem/index.tsx index ca94b3a2b2..c3b6ba723b 100644 --- a/src/views/TagDetail/Buttons/AddButton/CreateDraftMenuItem/index.tsx +++ b/src/views/TagDetail/Buttons/AddButton/CreateDraftMenuItem/index.tsx @@ -1,3 +1,4 @@ +import { useRouter } from 'next/router' import { useContext } from 'react' import { @@ -12,7 +13,7 @@ import { import CREATE_DRAFT from '~/components/GQL/mutations/createDraft' import { ADD_TOAST, OPEN_LIKE_COIN_DIALOG } from '~/common/enums' -import { analytics, routerPush, toPath, translate } from '~/common/utils' +import { analytics, toPath, translate } from '~/common/utils' import { CreateDraft } from '~/components/GQL/mutations/__generated__/CreateDraft' import { TagDetailPublic_node_Tag } from '../../../__generated__/TagDetailPublic' @@ -34,6 +35,7 @@ const BaseCreateDraftButton = ({ onClick }: { onClick: () => any }) => ( ) const CreateDraftButton: React.FC = ({ tag }) => { + const router = useRouter() const { lang } = useContext(LanguageContext) const viewer = useContext(ViewerContext) @@ -66,7 +68,7 @@ const CreateDraftButton: React.FC = ({ tag }) => { if (slug && id) { const path = toPath({ page: 'draftDetail', slug, id }) - routerPush(path.href) + router.push(path.href) } }