From 71354c268b0a6d4c0a29fb99a4eabdb906b2b0d2 Mon Sep 17 00:00:00 2001 From: Marcus Haddon Date: Thu, 23 Jun 2022 15:17:04 -0700 Subject: [PATCH 01/22] specify 'allowFullScreen' and allow="fullscreen;" on iframe --- src/core/client/framework/components/Frame.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/client/framework/components/Frame.tsx b/src/core/client/framework/components/Frame.tsx index efa4d30a0e..3dc767c9bb 100644 --- a/src/core/client/framework/components/Frame.tsx +++ b/src/core/client/framework/components/Frame.tsx @@ -109,6 +109,8 @@ const Frame: FunctionComponent = ({ width={width} sandbox={sandboxStr} scrolling="no" + allowFullScreen + allow="fullscreen;" /> {(height === 0 || height > defaultUnexpandedHeight) && ( From 026295c515ff899f4ba889a1953c048892670f7d Mon Sep 17 00:00:00 2001 From: Marcus Haddon Date: Fri, 1 Jul 2022 10:27:29 -0700 Subject: [PATCH 02/22] Fix/corl 2593 spoiler links (#4000) * preventDefault when clicking spoilers * preserve pointer style for revealed spoilers --- src/core/client/stream/common/HTMLContent/HTMLContent.tsx | 2 ++ src/core/client/stream/shared/htmlContent.css | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/core/client/stream/common/HTMLContent/HTMLContent.tsx b/src/core/client/stream/common/HTMLContent/HTMLContent.tsx index 8bc8ddb58c..1bb62e6b80 100644 --- a/src/core/client/stream/common/HTMLContent/HTMLContent.tsx +++ b/src/core/client/stream/common/HTMLContent/HTMLContent.tsx @@ -61,6 +61,8 @@ function registerSpoilerTagHandler(window: Window) { el: HTMLElement, event: MouseEvent | KeyboardEvent ) => { + // in case text is a link + event.preventDefault(); if ( "key" in event && event.key !== " " && diff --git a/src/core/client/stream/shared/htmlContent.css b/src/core/client/stream/shared/htmlContent.css index c4bf6552d6..c4bc44f5fb 100644 --- a/src/core/client/stream/shared/htmlContent.css +++ b/src/core/client/stream/shared/htmlContent.css @@ -50,7 +50,7 @@ $commentsLinkColorHovered: var(--palette-primary-700); opacity: 1; color: var(--palette-text-900); background-color: transparent; - cursor: text; + cursor: inherit; } & :global(.coral-rte-sarcasm) { font-family: monospace; From 6b9a40daafea98fcf5642e8ae89af1d3a5f635ff Mon Sep 17 00:00:00 2001 From: nick-funk Date: Wed, 6 Jul 2022 11:19:35 -0600 Subject: [PATCH 03/22] Revert virtualized rendering + story tree generation --- CLIENT_EVENTS.md | 24 - package-lock.json | 663 +---- package.json | 1 - .../__snapshots__/UserMenu.spec.tsx.snap | 4 +- .../MediaContainer/ExternalMedia.tsx | 1 - .../MediaContainer/TwitterMedia.tsx | 2 - .../MediaContainer/YouTubeMedia.tsx | 1 - .../General/ClosingCommentStreamsConfig.tsx | 1 - .../sections/General/CommentEditingConfig.tsx | 1 - .../sections/General/CommentLengthConfig.tsx | 1 - .../sections/General/FlattenRepliesConfig.tsx | 1 + .../General/GeneralConfigContainer.tsx | 3 - .../sections/General/GuidelinesConfig.tsx | 9 +- .../General/LoadAllCommentsConfig.tsx | 54 - .../Configure/sections/General/RTEConfig.tsx | 1 - .../__snapshots__/general.spec.tsx.snap | 2321 +++++++++++++++++ .../admin/test/configure/general.spec.tsx | 431 +-- src/core/client/admin/test/fixtures.ts | 1 - .../client/framework/components/Frame.css | 19 - .../client/framework/components/Frame.tsx | 86 +- .../lib/intersection/IntersectionContext.tsx | 11 +- .../framework/lib/intersection/useInView.ts | 37 +- .../KeyboardShortcuts/KeyboardShortcuts.tsx | 450 +--- .../stream/common/Media/ExternalMedia.tsx | 10 +- .../stream/common/Media/TwitterMedia.tsx | 10 +- .../stream/common/Media/YouTubeMedia.tsx | 38 +- src/core/client/stream/constants.ts | 2 - src/core/client/stream/events.ts | 25 - .../client/stream/local/initLocalState.ts | 2 - src/core/client/stream/local/local.graphql | 26 - .../Comments/Comment/CommentContainer.tsx | 721 +++-- .../Comment/MarkCommentsAsSeenMutation.tsx | 82 +- .../MediaSection/MediaSectionContainer.tsx | 55 +- .../ConversationThreadContainer.tsx | 75 +- .../PermalinkView/PermalinkViewContainer.tsx | 19 - .../PermalinkView/PermalinkViewQuery.tsx | 15 +- .../PermalinkViewQuery.spec.tsx.snap | 12 +- .../tabs/Comments/ReplyList/ReplyList.tsx | 1 - .../ReplyList/ReplyListCommentContainer.tsx | 33 +- .../Comments/ReplyList/ReplyListContainer.tsx | 49 +- .../ReplyList/ReplyListViewNewMutation.tsx | 39 +- .../Comments/Stream/AddACommentButton.tsx | 50 +- .../AllCommentsTabCommentContainer.tsx | 19 +- .../AllCommentsTabContainer.tsx | 108 +- .../AllCommentsTab/AllCommentsTabQuery.tsx | 10 +- .../AllCommentsTabViewNewMutation.tsx | 33 +- .../AllCommentsTabVirtualizedComments.tsx | 522 ---- .../AllCommentsTab/NextUnseenCommentFetch.ts | 44 - .../AnsweredCommentContainer.tsx | 25 +- .../Stream/CommentsLinks/CommentsLinks.tsx | 130 +- .../FeaturedCommentsContainer.tsx | 10 +- .../PostCommentFormContainer.tsx | 27 +- .../tabs/Comments/Stream/StreamContainer.tsx | 29 +- .../CommentEnteredSubscription.ts | 8 - .../UnansweredCommentsTabCommentContainer.tsx | 19 +- .../UnansweredCommentsTabViewNewMutation.tsx | 2 - .../__snapshots__/permalinkView.spec.tsx.snap | 1819 +++++++------ ...permalinkViewCommentNotFound.spec.tsx.snap | 1 - ...permalinkViewLoadMoreParents.spec.tsx.snap | 1606 ++++++------ .../permalink/permalinkViewPostReply.spec.tsx | 6 +- .../__snapshots__/postReply.spec.tsx.snap | 502 ++-- .../renderCommunityGuidelines.spec.tsx.snap | 1081 ++++---- .../renderMessageBox.spec.tsx.snap | 546 ++-- .../__snapshots__/renderReplies.spec.tsx.snap | 1824 +++++++------ .../__snapshots__/renderStream.spec.tsx.snap | 1107 ++++---- .../showAllReplies.spec.tsx.snap | 394 ++- .../__snapshots__/sortStream.spec.tsx.snap | 1081 ++++---- .../closedOrDisabledCommentStream.spec.tsx | 5 +- .../stream/test/comments/stream/create.ts | 33 +- .../test/comments/stream/editComment.spec.tsx | 4 +- .../stream/liveCommentReplies.spec.tsx | 32 +- .../stream/liveTopLevelComments.spec.tsx | 132 +- .../test/comments/stream/loadMore.spec.tsx | 128 +- src/core/client/stream/test/fixtures.ts | 6 - .../ui/components/v2/Popover/Popover.tsx | 9 +- src/core/common/config.ts | 2 - src/core/server/app/handlers/api/jobStatus.ts | 101 - src/core/server/app/index.ts | 2 - src/core/server/app/router/api/index.ts | 10 - src/core/server/app/router/api/jobStatus.ts | 15 - src/core/server/app/router/client.ts | 2 - src/core/server/app/router/index.ts | 1 - src/core/server/graph/context.ts | 4 - src/core/server/graph/loaders/Comments.ts | 14 + src/core/server/graph/mutators/Comments.ts | 4 +- src/core/server/graph/mutators/Stories.ts | 47 - src/core/server/graph/resolvers/Mutation.ts | 12 - src/core/server/graph/resolvers/Query.ts | 66 +- src/core/server/graph/resolvers/Settings.ts | 1 - src/core/server/graph/schema/schema.graphql | 136 - src/core/server/index.ts | 2 - .../models/seenComments/seenComments.ts | 18 +- src/core/server/models/settings/settings.ts | 8 - src/core/server/models/story/story.ts | 747 +----- src/core/server/models/tenant/tenant.ts | 1 - src/core/server/queue/index.ts | 10 - .../tasks/regenerateStoryTrees/processor.ts | 193 -- .../queue/tasks/regenerateStoryTrees/task.ts | 79 - src/core/server/services/archive/index.ts | 3 - .../server/services/seenComments/index.ts | 13 +- src/core/server/stacks/approveComment.ts | 8 - src/core/server/stacks/createComment.ts | 2 - src/core/server/stacks/editComment.ts | 8 +- src/core/server/stacks/rejectComment.ts | 8 - src/core/server/test/fixtures.ts | 1 - src/locales/en-US/admin.ftl | 5 - src/locales/en-US/stream.ftl | 2 - 107 files changed, 8364 insertions(+), 9850 deletions(-) delete mode 100644 src/core/client/admin/routes/Configure/sections/General/LoadAllCommentsConfig.tsx create mode 100644 src/core/client/admin/test/configure/__snapshots__/general.spec.tsx.snap delete mode 100644 src/core/client/framework/components/Frame.css delete mode 100644 src/core/client/stream/tabs/Comments/Stream/AllCommentsTab/AllCommentsTabVirtualizedComments.tsx delete mode 100644 src/core/client/stream/tabs/Comments/Stream/AllCommentsTab/NextUnseenCommentFetch.ts delete mode 100644 src/core/server/app/handlers/api/jobStatus.ts delete mode 100644 src/core/server/app/router/api/jobStatus.ts delete mode 100644 src/core/server/queue/tasks/regenerateStoryTrees/processor.ts delete mode 100644 src/core/server/queue/tasks/regenerateStoryTrees/task.ts diff --git a/CLIENT_EVENTS.md b/CLIENT_EVENTS.md index 0deebd2cad..b66dc78f1e 100644 --- a/CLIENT_EVENTS.md +++ b/CLIENT_EVENTS.md @@ -113,7 +113,6 @@ createComment.error - requestAccountDeletion - requestDownloadCommentHistory - resendEmailVerification -- scrollCommentUpOutOfView - setCommentsOrderBy - setCommentsTab - setMainTab @@ -145,7 +144,6 @@ createComment.error - viewFullDiscussion - viewNewComments - viewNewCommentsNetwork -- viewNewRepliesNetwork ### Events - **approveComment.success**, **approveComment.error**: This event is emitted when the viewer approves a comment. @@ -468,12 +466,6 @@ createComment.error }; } ``` -- **scrollCommentUpOutOfView**: This event is emitted when the viewer scrolls a comment up and out of view on the stream. - ```ts - { - commentID?: string | undefined; - } - ``` - **setCommentsOrderBy**: This event is emitted when the viewer changes the sort order of the comments. ```ts { @@ -691,20 +683,4 @@ createComment.error }; } ``` -- **viewNewRepliesNetwork.success**, **viewNewRepliesNetwork.error**: This event is emitted when the viewer reveals new live replies to comments. - ```ts - { - storyID?: string | undefined; - keyboardShortcutsConfig: { - source: string; - key: string; - reverse: boolean; - } | null; - success: {}; - error: { - message: string; - code?: string | undefined; - }; - } - ``` diff --git a/package-lock.json b/package-lock.json index 18282bf424..2e9592c51a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -304,7 +304,6 @@ "react-timeago": "^4.4.0", "react-transition-group": "^4.3.0", "react-use": "^15.3.4", - "react-virtuoso": "^2.7.1", "recharts": "^1.8.5", "recompose": "^0.30.0", "regenerator-runtime": "^0.13.5", @@ -1525,26 +1524,6 @@ "@babel/types": "^7.10.1" } }, - "node_modules/@babel/helper-simple-access/node_modules/@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.3" - } - }, - "node_modules/@babel/helper-simple-access/node_modules/@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.3", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, "node_modules/@babel/helper-simple-access/node_modules/@babel/parser": { "version": "7.10.3", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", @@ -1568,50 +1547,6 @@ "@babel/types": "^7.10.3" } }, - "node_modules/@babel/helper-simple-access/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/helper-simple-access/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/helper-simple-access/node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/@babel/helper-simple-access/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.11.0", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz", @@ -1631,9 +1566,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "engines": { "node": ">=6.9.0" } @@ -2712,15 +2647,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/@babel/helper-module-transforms": { "version": "7.11.0", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz", @@ -2755,17 +2681,6 @@ "@babel/types": "^7.11.0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/@babel/parser": { "version": "7.11.3", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.3.tgz", @@ -2789,50 +2704,6 @@ "@babel/types": "^7.10.4" } }, - "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.10.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.3.tgz", @@ -4148,70 +4019,6 @@ "@babel/types": "^7.1.2" } }, - "node_modules/@babel/template/node_modules/@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.0.0" - } - }, - "node_modules/@babel/template/node_modules/@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", - "dev": true, - "dependencies": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/template/node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/template/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/template/node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/@babel/template/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/traverse": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.6.tgz", @@ -4229,52 +4036,6 @@ "lodash": "^4.17.10" } }, - "node_modules/@babel/traverse/node_modules/@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.0.0" - } - }, - "node_modules/@babel/traverse/node_modules/@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", - "dev": true, - "dependencies": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/traverse/node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/traverse/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/traverse/node_modules/debug": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", @@ -13480,27 +13241,6 @@ "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" } }, - "node_modules/@virtuoso.dev/react-urx": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@virtuoso.dev/react-urx/-/react-urx-0.2.12.tgz", - "integrity": "sha512-Lcrrmq/UztM+rgepAdThdIk8dL3LEi9o2NTkL6ZLKPrTGjr5tSmsauD30/O8yu7Q0ncDnptmMR3OObdvMGuEKQ==", - "dev": true, - "dependencies": { - "@virtuoso.dev/urx": "^0.2.12" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16" - } - }, - "node_modules/@virtuoso.dev/urx": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@virtuoso.dev/urx/-/urx-0.2.12.tgz", - "integrity": "sha512-Q9nlRqYb5Uq4Ynu8cWPSJ7LxpuZsI+MZ09IJlDAAgwuNgfWRArpVRP0VN0coYgUo2fKMjhmV69MTqaUbIBhu/g==", - "dev": true - }, "node_modules/@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -15880,15 +15620,6 @@ "lodash": "^4.17.13" } }, - "node_modules/babel-eslint/node_modules/@babel/traverse/node_modules/@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.8.3" - } - }, "node_modules/babel-eslint/node_modules/debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -16501,26 +16232,6 @@ "node": ">= 10.14.2" } }, - "node_modules/babel-plugin-jest-hoist/node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/babel-plugin-jest-hoist/node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, "node_modules/babel-plugin-jest-hoist/node_modules/@babel/parser": { "version": "7.11.5", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz", @@ -16544,50 +16255,6 @@ "@babel/types": "^7.10.4" } }, - "node_modules/babel-plugin-jest-hoist/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/babel-plugin-jest-hoist/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/babel-plugin-jest-hoist/node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/babel-plugin-jest-hoist/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/babel-plugin-lodash": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz", @@ -62021,22 +61688,6 @@ "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", "dev": true }, - "node_modules/react-virtuoso": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/react-virtuoso/-/react-virtuoso-2.7.1.tgz", - "integrity": "sha512-isl04/UARFv75IQelKRLCLDIsS5a5V4tiU3kYXpTxXwGXZLwK7tFDimR3OYzkBamJ2dK3rT+DvfBb8C2Jteggg==", - "dev": true, - "dependencies": { - "@virtuoso.dev/react-urx": "^0.2.12", - "@virtuoso.dev/urx": "^0.2.12" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16" - } - }, "node_modules/read": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", @@ -75901,26 +75552,6 @@ "@babel/types": "^7.10.1" }, "dependencies": { - "@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.3" - } - }, - "@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.3", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, "@babel/parser": { "version": "7.10.3", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", @@ -75937,41 +75568,6 @@ "@babel/parser": "^7.10.3", "@babel/types": "^7.10.3" } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -75994,9 +75590,9 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" }, "@babel/helper-wrap-function": { "version": "7.10.1", @@ -76897,15 +76493,6 @@ "babel-plugin-dynamic-import-node": "^2.3.3" }, "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, "@babel/helper-module-transforms": { "version": "7.11.0", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz", @@ -76940,17 +76527,6 @@ "@babel/types": "^7.11.0" } }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, "@babel/parser": { "version": "7.11.3", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.3.tgz", @@ -76967,41 +76543,6 @@ "@babel/parser": "^7.10.4", "@babel/types": "^7.10.4" } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -78131,65 +77672,6 @@ "@babel/code-frame": "^7.0.0", "@babel/parser": "^7.1.2", "@babel/types": "^7.1.2" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "@babel/traverse": { @@ -78209,48 +77691,6 @@ "lodash": "^4.17.10" }, "dependencies": { - "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, "debug": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", @@ -85892,21 +85332,6 @@ "wonka": "^4.0.14" } }, - "@virtuoso.dev/react-urx": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@virtuoso.dev/react-urx/-/react-urx-0.2.12.tgz", - "integrity": "sha512-Lcrrmq/UztM+rgepAdThdIk8dL3LEi9o2NTkL6ZLKPrTGjr5tSmsauD30/O8yu7Q0ncDnptmMR3OObdvMGuEKQ==", - "dev": true, - "requires": { - "@virtuoso.dev/urx": "^0.2.12" - } - }, - "@virtuoso.dev/urx": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@virtuoso.dev/urx/-/urx-0.2.12.tgz", - "integrity": "sha512-Q9nlRqYb5Uq4Ynu8cWPSJ7LxpuZsI+MZ09IJlDAAgwuNgfWRArpVRP0VN0coYgUo2fKMjhmV69MTqaUbIBhu/g==", - "dev": true - }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -87833,17 +87258,6 @@ "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - } } }, "debug": { @@ -88372,26 +87786,6 @@ "@types/babel__traverse": "^7.0.6" }, "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, "@babel/parser": { "version": "7.11.5", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz", @@ -88408,41 +87802,6 @@ "@babel/parser": "^7.10.4", "@babel/types": "^7.10.4" } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -124352,16 +123711,6 @@ } } }, - "react-virtuoso": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/react-virtuoso/-/react-virtuoso-2.7.1.tgz", - "integrity": "sha512-isl04/UARFv75IQelKRLCLDIsS5a5V4tiU3kYXpTxXwGXZLwK7tFDimR3OYzkBamJ2dK3rT+DvfBb8C2Jteggg==", - "dev": true, - "requires": { - "@virtuoso.dev/react-urx": "^0.2.12", - "@virtuoso.dev/urx": "^0.2.12" - } - }, "read": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", diff --git a/package.json b/package.json index 2aa5d8aa40..5cda82ded8 100644 --- a/package.json +++ b/package.json @@ -359,7 +359,6 @@ "react-timeago": "^4.4.0", "react-transition-group": "^4.3.0", "react-use": "^15.3.4", - "react-virtuoso": "^2.7.1", "recharts": "^1.8.5", "recompose": "^0.30.0", "regenerator-runtime": "^0.13.5", diff --git a/src/core/client/admin/App/UserMenu/__snapshots__/UserMenu.spec.tsx.snap b/src/core/client/admin/App/UserMenu/__snapshots__/UserMenu.spec.tsx.snap index ba453ecd60..ea9eca746f 100644 --- a/src/core/client/admin/App/UserMenu/__snapshots__/UserMenu.spec.tsx.snap +++ b/src/core/client/admin/App/UserMenu/__snapshots__/UserMenu.spec.tsx.snap @@ -9,13 +9,13 @@ exports[`renders correctly 1`] = ` } id="userMenu-popover" > - [Function] - + `; diff --git a/src/core/client/admin/components/MediaContainer/ExternalMedia.tsx b/src/core/client/admin/components/MediaContainer/ExternalMedia.tsx index 05550bd675..05a12fdce3 100644 --- a/src/core/client/admin/components/MediaContainer/ExternalMedia.tsx +++ b/src/core/client/admin/components/MediaContainer/ExternalMedia.tsx @@ -15,7 +15,6 @@ const ExternalMedia: FunctionComponent = ({ id, url, siteID }) => { id={id} src={`/api/external-media?url=${component}&siteID=${siteID}`} sandbox - showFullHeight /> ); }; diff --git a/src/core/client/admin/components/MediaContainer/TwitterMedia.tsx b/src/core/client/admin/components/MediaContainer/TwitterMedia.tsx index 6fd9c66700..ab48bacb4f 100644 --- a/src/core/client/admin/components/MediaContainer/TwitterMedia.tsx +++ b/src/core/client/admin/components/MediaContainer/TwitterMedia.tsx @@ -17,8 +17,6 @@ const TwitterMedia: FunctionComponent = ({ id, url, siteID }) => { ); diff --git a/src/core/client/admin/components/MediaContainer/YouTubeMedia.tsx b/src/core/client/admin/components/MediaContainer/YouTubeMedia.tsx index 1fb4d4c5dd..5dbc9fef44 100644 --- a/src/core/client/admin/components/MediaContainer/YouTubeMedia.tsx +++ b/src/core/client/admin/components/MediaContainer/YouTubeMedia.tsx @@ -58,7 +58,6 @@ const YouTubeMedia: FunctionComponent = ({ )} diff --git a/src/core/client/admin/routes/Configure/sections/General/ClosingCommentStreamsConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/ClosingCommentStreamsConfig.tsx index 16968b7c78..a443efe797 100644 --- a/src/core/client/admin/routes/Configure/sections/General/ClosingCommentStreamsConfig.tsx +++ b/src/core/client/admin/routes/Configure/sections/General/ClosingCommentStreamsConfig.tsx @@ -47,7 +47,6 @@ const ClosingCommentStreamsConfig: FunctionComponent = ({ } container={
} - data-testid="closing-comment-streams-config-box" > = ({ disabled }) => (
Comment editing
diff --git a/src/core/client/admin/routes/Configure/sections/General/CommentLengthConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/CommentLengthConfig.tsx index 68abf1cd6d..8f32d8fcbb 100644 --- a/src/core/client/admin/routes/Configure/sections/General/CommentLengthConfig.tsx +++ b/src/core/client/admin/routes/Configure/sections/General/CommentLengthConfig.tsx @@ -52,7 +52,6 @@ interface Props { const CommentLengthConfig: FunctionComponent = ({ disabled }) => (
}>Comment length
diff --git a/src/core/client/admin/routes/Configure/sections/General/FlattenRepliesConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/FlattenRepliesConfig.tsx index fe91930f8e..597ac939e2 100644 --- a/src/core/client/admin/routes/Configure/sections/General/FlattenRepliesConfig.tsx +++ b/src/core/client/admin/routes/Configure/sections/General/FlattenRepliesConfig.tsx @@ -6,6 +6,7 @@ import { Label, } from "coral-ui/components/v2"; import React, { FunctionComponent } from "react"; +// import { Field } from "react-final-form"; import { graphql } from "react-relay"; import ConfigBox from "../../ConfigBox"; import Header from "../../Header"; diff --git a/src/core/client/admin/routes/Configure/sections/General/GeneralConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/General/GeneralConfigContainer.tsx index 2537326949..076fb0a99e 100644 --- a/src/core/client/admin/routes/Configure/sections/General/GeneralConfigContainer.tsx +++ b/src/core/client/admin/routes/Configure/sections/General/GeneralConfigContainer.tsx @@ -18,7 +18,6 @@ import CommentEditingConfig from "./CommentEditingConfig"; import CommentLengthConfig from "./CommentLengthConfig"; import FlattenRepliesConfig from "./FlattenRepliesConfig"; import GuidelinesConfig from "./GuidelinesConfig"; -import LoadAllCommentsConfig from "./LoadAllCommentsConfig"; import LocaleConfig from "./LocaleConfig"; import MediaLinksConfig from "./MediaLinksConfig"; import MemberBioConfig from "./MemberBioConfig"; @@ -47,7 +46,6 @@ const GeneralConfigContainer: React.FunctionComponent = ({ > - @@ -69,7 +67,6 @@ const enhanced = withFragmentContainer({ fragment GeneralConfigContainer_settings on Settings { ...AnnouncementConfigContainer_settings ...FlattenRepliesConfig_formValues @relay(mask: false) - ...LoadAllCommentsConfig_formValues @relay(mask: false) ...LocaleConfig_formValues @relay(mask: false) ...GuidelinesConfig_formValues @relay(mask: false) ...CommentLengthConfig_formValues @relay(mask: false) diff --git a/src/core/client/admin/routes/Configure/sections/General/GuidelinesConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/GuidelinesConfig.tsx index 0fc5f4973b..25e55e8ef8 100644 --- a/src/core/client/admin/routes/Configure/sections/General/GuidelinesConfig.tsx +++ b/src/core/client/admin/routes/Configure/sections/General/GuidelinesConfig.tsx @@ -47,14 +47,7 @@ const GuidelinesConfig: FunctionComponent = ({ disabled }) => ( - + diff --git a/src/core/client/admin/routes/Configure/sections/General/LoadAllCommentsConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/LoadAllCommentsConfig.tsx deleted file mode 100644 index 8735ebb8b6..0000000000 --- a/src/core/client/admin/routes/Configure/sections/General/LoadAllCommentsConfig.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import { Localized } from "@fluent/react/compat"; -import React, { FunctionComponent } from "react"; -import { graphql } from "react-relay"; - -import { - FieldSet, - FormField, - FormFieldDescription, - Label, -} from "coral-ui/components/v2"; - -import ConfigBox from "../../ConfigBox"; -import Header from "../../Header"; -import OnOffField from "../../OnOffField"; - -// eslint-disable-next-line no-unused-expressions -graphql` - fragment LoadAllCommentsConfig_formValues on Settings { - loadAllComments - } -`; - -interface Props { - disabled: boolean; -} - -const LoadAllCommentsConfig: FunctionComponent = ({ disabled }) => ( - -
Load everything
-
- } - > - - - Change how long streams display. When enabled, the reader will have to - scroll past all of the comments to get to any content below, no matter - how many comments are on the page. When disabled, long comment streams - will be paused with a "Load All Comments" button after 20 top-level - comments, so that readers can easily move past the comments if they - don't want to read them all. - - - }> - - - - - - -); - -export default LoadAllCommentsConfig; diff --git a/src/core/client/admin/routes/Configure/sections/General/RTEConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/RTEConfig.tsx index fbdb78bf57..50462efdd8 100644 --- a/src/core/client/admin/routes/Configure/sections/General/RTEConfig.tsx +++ b/src/core/client/admin/routes/Configure/sections/General/RTEConfig.tsx @@ -42,7 +42,6 @@ const RTEConfig: FunctionComponent = ({ disabled }) => ( } container={
} - data-testid="rte-config-box" > diff --git a/src/core/client/admin/test/configure/__snapshots__/general.spec.tsx.snap b/src/core/client/admin/test/configure/__snapshots__/general.spec.tsx.snap new file mode 100644 index 0000000000..ab6da0c5af --- /dev/null +++ b/src/core/client/admin/test/configure/__snapshots__/general.spec.tsx.snap @@ -0,0 +1,2321 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`renders configure general 1`] = ` +
+
+
+
+ +
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+

+ Choose the language for your Coral community. +

+ + + + + + +
+
+
+
+
+
+
+

+ Flatten replies +

+
+
+
+
+
+

+ Change how levels of replies display. When enabled, replies to comments can go up to four levels deep before they are no longer indented on the page. When disabled, after a depth of four replies, the rest of the conversation is displayed in a dedicated view away from the other comments. +

+
+ + Flatten replies enabled + +
+
+ + +
+
+ + +
+
+
+
+
+
+
+
+
+ + Sitewide commenting + +
+
+
+
+
+

+ Open or close comment streams for new comments sitewide. +When new comments are turned off, new comments cannot be +submitted, but existing comments can continue to receive +reactions, be reported, and be shared. +

+
+ + Enable new comments sitewide + +
+
+ + +
+
+ + +
+
+
+
+
+ +

+ Write a message that will be displayed when comment streams are closed sitewide +

+
+
+