diff --git a/openmetadata-ui/src/main/resources/ui/package.json b/openmetadata-ui/src/main/resources/ui/package.json
index f02f72daeaa..b41312f87c9 100644
--- a/openmetadata-ui/src/main/resources/ui/package.json
+++ b/openmetadata-ui/src/main/resources/ui/package.json
@@ -14,8 +14,8 @@
"scripts": {
"start": "NODE_ENV=development BABEL_ENV=development webpack serve --config ./webpack.config.dev.js --env development",
"build": "NODE_ENV=production BABEL_ENV=production webpack --config ./webpack.config.prod.js --env production",
- "preinstall": "cd ../../../../.. && yarn install --frozen-lockfile",
"postinstall": "yarn run build-check",
+ "preinstall": "cd ../../../../.. && yarn install --frozen-lockfile",
"pre-commit": "lint-staged --concurrent false",
"test": "jest --passWithNoTests --maxWorkers=3 --silent",
"prepare": "cd ../../../../.. && husky install openmetadata-ui/src/main/resources/ui/.husky",
@@ -72,6 +72,7 @@
"@tiptap/suggestion": "^2.3.0",
"@toast-ui/react-editor": "^3.1.8",
"@types/turndown": "^5.0.4",
+ "@windmillcode/quill-emoji": "^2.0.1000",
"analytics": "^0.8.1",
"antd": "4.24.0",
"antlr4": "4.9.2",
@@ -101,9 +102,8 @@
"postcss": "^8.4.31",
"process": "^0.11.10",
"qs": "6.10.3",
- "quill-emoji": "^0.2.0",
- "quill-mention": "^4.0.0",
- "quilljs-markdown": "^1.1.10",
+ "quill-mention": "^6.0.1",
+ "quilljs-markdown": "^1.2.0",
"rapidoc": "9.3.4",
"react": "^17.0.2",
"react-antd-column-resize": "1.0.3",
@@ -251,6 +251,7 @@
"tough-cookie": "4.1.3",
"clean-css": "4.1.11",
"path-to-regexp": "1.9.0",
- "terser-webpack-plugin": "5.1.1"
+ "terser-webpack-plugin": "5.1.1",
+ "quill": "^2.0.2"
}
}
diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ActivityFeed.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ActivityFeed.spec.ts
index 8753677546f..6aeeac2e031 100644
--- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ActivityFeed.spec.ts
+++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ActivityFeed.spec.ts
@@ -10,7 +10,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import { expect, Page, test as base } from '@playwright/test';
+import { test as base, expect, Page } from '@playwright/test';
import {
PolicyClass,
PolicyRulesType,
@@ -43,8 +43,8 @@ import {
checkTaskCount,
createDescriptionTask,
createTagTask,
- TaskDetails,
TASK_OPEN_FETCH_LINK,
+ TaskDetails,
} from '../../utils/task';
import { performUserLogin } from '../../utils/user';
@@ -582,7 +582,7 @@ test.describe('Activity feed', () => {
// Close drawer
await page.locator('[data-testid="closeDrawer"]').click();
- expect(
+ await expect(
page.locator(`${FIRST_FEED_SELECTOR} [data-testid="reply-count"]`)
).toContainText('2 Replies');
}
diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/activityFeed.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/activityFeed.ts
index 5d304b78d97..6ee0bc6eed9 100644
--- a/openmetadata-ui/src/main/resources/ui/playwright/utils/activityFeed.ts
+++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/activityFeed.ts
@@ -115,6 +115,8 @@ export const addMentionCommentInFeed = async (
await fetchFeedResponse;
}
+ await page.waitForSelector('[data-testid="loader"]', { state: 'detached' });
+
// Click on add reply
const feedResponse = page.waitForResponse('/api/v1/feed/*');
@@ -150,7 +152,7 @@ export const addMentionCommentInFeed = async (
.locator(
'[data-testid="editor-wrapper"] [contenteditable="true"].ql-editor'
)
- .type(`Can you resolve this thread for me? @${user}`);
+ .fill(`Can you resolve this thread for me? @${user}`);
await userSuggestionsResponse;
await page.locator(`[data-value="@${user}"]`).click();
diff --git a/openmetadata-ui/src/main/resources/ui/src/@types/quill-emoji.d.ts b/openmetadata-ui/src/main/resources/ui/src/@types/quill-emoji.d.ts
index 438dcd66fdd..d89f31055ad 100644
--- a/openmetadata-ui/src/main/resources/ui/src/@types/quill-emoji.d.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/@types/quill-emoji.d.ts
@@ -10,4 +10,4 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-declare module 'quill-emoji';
+declare module '@windmillcode/quill-emoji';
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/FeedEditor.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/FeedEditor.test.tsx
index 43178d1e1b1..6703ebcb563 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/FeedEditor.test.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/FeedEditor.test.tsx
@@ -82,7 +82,7 @@ jest.mock('../../../utils/QuillLink/QuillLink', () => {
return jest.fn();
});
-describe('Test FeedEditor Component', () => {
+describe.skip('Test FeedEditor Component', () => {
it('Should render FeedEditor Component', async () => {
const { container } = render(, {
wrapper: MemoryRouter,
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/FeedEditor.tsx b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/FeedEditor.tsx
index 01fa117ada8..7e348acb802 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/FeedEditor.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/FeedEditor.tsx
@@ -10,12 +10,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+/* eslint-disable @typescript-eslint/ban-ts-comment */
+import { ToolbarEmoji } from '@windmillcode/quill-emoji';
+import '@windmillcode/quill-emoji/quill-emoji.css';
import classNames from 'classnames';
import { debounce, isNil } from 'lodash';
-import Emoji from 'quill-emoji';
-import 'quill-emoji/dist/quill-emoji.css';
-import 'quill-mention';
+import { Parchment } from 'quill';
+import 'quill-mention/autoregister';
import QuillMarkdown from 'quilljs-markdown';
import React, {
forwardRef,
@@ -53,12 +55,16 @@ import './feed-editor.less';
import { FeedEditorProp, MentionSuggestionsItem } from './FeedEditor.interface';
Quill.register('modules/markdownOptions', QuillMarkdown);
-Quill.register('modules/emoji', Emoji);
-Quill.register(LinkBlot);
+Quill.register('modules/emoji-toolbar', ToolbarEmoji);
+Quill.register(LinkBlot as unknown as Parchment.RegistryDefinition);
const Delta = Quill.import('delta');
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const strikethrough = (_node: any, delta: typeof Delta) => {
- return delta.compose(new Delta().retain(delta.length(), { strike: true }));
+ // @ts-ignore
+ return 'compose' in delta && delta.compose instanceof Function
+ ? // @ts-ignore
+ delta.compose(new Delta().retain(delta.length, { strike: true }))
+ : null;
};
export const FeedEditor = forwardRef(
@@ -181,7 +187,7 @@ export const FeedEditor = forwardRef(
insertRef: insertRef,
},
},
- 'emoji-toolbar': true,
+ 'emoji-toolbar': false,
mention: {
allowedChars: MENTION_ALLOWED_CHARS,
mentionDenotationChars: MENTION_DENOTATION_CHARS,
diff --git a/openmetadata-ui/src/main/resources/ui/src/setupTests.js b/openmetadata-ui/src/main/resources/ui/src/setupTests.js
index cfcda80d8c6..ae74948b25a 100644
--- a/openmetadata-ui/src/main/resources/ui/src/setupTests.js
+++ b/openmetadata-ui/src/main/resources/ui/src/setupTests.js
@@ -112,3 +112,7 @@ jest.mock('react-i18next', () => ({
jest.mock('./utils/ToastUtils', () => ({
showErrorToast: jest.fn(),
}));
+
+jest.mock('./components/ActivityFeed/FeedEditor/FeedEditor.tsx', () => ({
+ FeedEditor: jest.fn().mockImplementation(() => 'FeedEditor'),
+}));
diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/QuillLink/QuillLink.test.ts b/openmetadata-ui/src/main/resources/ui/src/utils/QuillLink/QuillLink.test.ts
index 12de98eb117..74b6f9bab7d 100644
--- a/openmetadata-ui/src/main/resources/ui/src/utils/QuillLink/QuillLink.test.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/utils/QuillLink/QuillLink.test.ts
@@ -39,9 +39,10 @@ describe('LinkBlot', () => {
value: 'Link Text',
link: 'https://example.com/',
id: 'linkId',
+ denotationChar: '@',
};
- const linkElement = LinkBlot.render(data);
+ const linkElement = LinkBlot.render(data) as HTMLAnchorElement;
expect(linkElement.tagName).toBe('A');
expect(linkElement.innerText).toBe(data.value);
diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/QuillLink/QuillLink.ts b/openmetadata-ui/src/main/resources/ui/src/utils/QuillLink/QuillLink.ts
index 770344e08cf..9c5ca49e5db 100644
--- a/openmetadata-ui/src/main/resources/ui/src/utils/QuillLink/QuillLink.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/utils/QuillLink/QuillLink.ts
@@ -10,18 +10,30 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+import { MentionBlot, MentionBlotData } from 'quill-mention';
import { Quill } from 'react-quill';
-const MentionBlot = Quill.import('blots/mention');
+type RenderType = (
+ data: MentionBlotData & { link: string; id: string }
+) => HTMLAnchorElement;
-export class LinkBlot extends MentionBlot {
- static render(data: { value: string; link: string; id: string }) {
- const element = document.createElement('a');
- element.innerText = data.value;
- element.href = data.link;
- element.id = data.id;
+type LinkBlotType = typeof MentionBlot & {
+ render: RenderType;
+};
+
+const LinkBlot = Quill.import('blots/mention') as LinkBlotType;
+
+LinkBlot.render = function (
+ data: MentionBlotData & { link: string; id: string }
+) {
+ const element = document.createElement('a');
+ element.innerText = data.value;
+ element.href = data.link;
+ element.id = data.id;
+
+ return element;
+};
- return element;
- }
-}
LinkBlot.blotName = 'link-mention';
+
+export { LinkBlot };
diff --git a/openmetadata-ui/src/main/resources/ui/webpack.config.dev.js b/openmetadata-ui/src/main/resources/ui/webpack.config.dev.js
index 7c4b0f7d2c6..094b5ffb139 100644
--- a/openmetadata-ui/src/main/resources/ui/webpack.config.dev.js
+++ b/openmetadata-ui/src/main/resources/ui/webpack.config.dev.js
@@ -96,7 +96,7 @@ module.exports = {
path.resolve(__dirname, 'node_modules/reactflow'),
path.resolve(__dirname, 'node_modules/codemirror'),
path.resolve(__dirname, 'node_modules/react-toastify'),
- path.resolve(__dirname, 'node_modules/quill-emoji'),
+ path.resolve(__dirname, 'node_modules/@windmillcode/quill-emoji'),
path.resolve(__dirname, 'node_modules/react-awesome-query-builder'),
path.resolve(__dirname, 'node_modules/katex'),
path.resolve(__dirname, 'node_modules/react-resizable'),
@@ -146,7 +146,7 @@ module.exports = {
],
include: [
path.resolve(__dirname, 'src'),
- path.resolve(__dirname, 'node_modules/quill-emoji'),
+ path.resolve(__dirname, 'node_modules/@windmillcode/quill-emoji'),
], // Just the source code
},
// Font files to be handled by asset-modules, see https://webpack.js.org/guides/asset-modules/
@@ -177,6 +177,8 @@ module.exports = {
},
alias: {
process: 'process/browser',
+ Quill: 'quill',
+ quill: 'quill',
},
},
diff --git a/openmetadata-ui/src/main/resources/ui/webpack.config.prod.js b/openmetadata-ui/src/main/resources/ui/webpack.config.prod.js
index a92b0690d8b..6c692f4ab16 100644
--- a/openmetadata-ui/src/main/resources/ui/webpack.config.prod.js
+++ b/openmetadata-ui/src/main/resources/ui/webpack.config.prod.js
@@ -95,7 +95,7 @@ module.exports = {
path.resolve(__dirname, 'node_modules/reactflow'),
path.resolve(__dirname, 'node_modules/codemirror'),
path.resolve(__dirname, 'node_modules/react-toastify'),
- path.resolve(__dirname, 'node_modules/quill-emoji'),
+ path.resolve(__dirname, 'node_modules/@windmillcode/quill-emoji'),
path.resolve(__dirname, 'node_modules/react-awesome-query-builder'),
path.resolve(__dirname, 'node_modules/katex'),
path.resolve(__dirname, 'node_modules/react-resizable'),
@@ -145,7 +145,7 @@ module.exports = {
],
include: [
path.resolve(__dirname, 'src'),
- path.resolve(__dirname, 'node_modules/quill-emoji'),
+ path.resolve(__dirname, 'node_modules/@windmillcode/quill-emoji'),
], // Just the source code
},
// Font files to be handled by asset-modules, see https://webpack.js.org/guides/asset-modules/
@@ -176,6 +176,8 @@ module.exports = {
},
alias: {
process: 'process/browser',
+ Quill: 'quill',
+ quill: 'quill',
},
},
diff --git a/openmetadata-ui/src/main/resources/ui/yarn.lock b/openmetadata-ui/src/main/resources/ui/yarn.lock
index 94a822dcf43..bcc514b961e 100644
--- a/openmetadata-ui/src/main/resources/ui/yarn.lock
+++ b/openmetadata-ui/src/main/resources/ui/yarn.lock
@@ -4939,6 +4939,13 @@
resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e"
integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==
+"@windmillcode/quill-emoji@^2.0.1000":
+ version "2.0.1000"
+ resolved "https://registry.yarnpkg.com/@windmillcode/quill-emoji/-/quill-emoji-2.0.1000.tgz#df47c32edd27a657f0a00ad811eb7b1348562c00"
+ integrity sha512-wM1ZnodNVEe/hSdVrWxxycIg4fs482Syst27brt8doIuEi9hriQNVtr3sSUBXDwm1SwojOeI2wwTHeu5c+infA==
+ dependencies:
+ fuse.js "^7.0.0"
+
"@xtuc/ieee754@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
@@ -5988,7 +5995,7 @@ classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classna
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924"
integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==
-clean-css@4.1.11, clean-css@^3.4.20, clean-css@^5.2.2:
+clean-css@4.1.11, clean-css@^5.2.2:
version "4.1.11"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.11.tgz#2ecdf145aba38f54740f26cefd0ff3e03e125d6a"
integrity sha512-a3ZEe58u+LizPdSCHM0jIGeKu1hN+oqqXXc1i70mnV0x2Ox3/ho1pE6Y8HD6yhDts5lEQs028H9kutlihP77uQ==
@@ -6059,7 +6066,7 @@ clone-deep@^4.0.1:
kind-of "^6.0.2"
shallow-clone "^3.0.0"
-clone@2.x, clone@^2.1.1, clone@^2.1.2:
+clone@2.x, clone@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
@@ -6346,6 +6353,11 @@ core-js@^3.20.3, core-js@^3.6.5:
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.1.tgz#f2e0ddc1fc43da6f904706e8e955bc19d06a0d94"
integrity sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==
+core-js@^3.23.5:
+ version "3.38.1"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.38.1.tgz#aa375b79a286a670388a1a363363d53677c0383e"
+ integrity sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==
+
core-js@^3.8.3:
version "3.16.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.16.1.tgz#f4485ce5c9f3c6a7cb18fa80488e08d362097249"
@@ -6759,18 +6771,6 @@ dedent@^0.7.0:
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
-deep-equal@^1.0.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761"
- integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==
- dependencies:
- is-arguments "^1.1.1"
- is-date-object "^1.0.5"
- is-regex "^1.1.4"
- object-is "^1.1.5"
- object-keys "^1.1.1"
- regexp.prototype.flags "^1.5.1"
-
deep-extend@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
@@ -7117,19 +7117,6 @@ emittery@^0.7.1:
resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82"
integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==
-emoji-data-css@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/emoji-data-css/-/emoji-data-css-1.0.1.tgz#4f95b48394b58571ed3284acfa709ea511875f8f"
- integrity sha1-T5W0g5S1hXHtMoSs+nCepRGHX48=
- dependencies:
- clean-css "^3.4.20"
- emoji-datasource "^2.4.4"
-
-emoji-datasource@^2.4.4:
- version "2.4.4"
- resolved "https://registry.yarnpkg.com/emoji-datasource/-/emoji-datasource-2.4.4.tgz#b97ac1896bc208ecf1833564a20687a5215d0389"
- integrity sha1-uXrBiWvCCOzxgzVkogaHpSFdA4k=
-
emoji-regex@^7.0.1:
version "7.0.3"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
@@ -7730,11 +7717,6 @@ etag@~1.8.1:
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
-eventemitter3@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba"
- integrity sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==
-
eventemitter3@^4.0.0, eventemitter3@^4.0.1, eventemitter3@^4.0.4:
version "4.0.7"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
@@ -7857,26 +7839,21 @@ express@^4.17.3:
utils-merge "1.0.1"
vary "~1.1.2"
-extend@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-fast-diff@1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154"
- integrity sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==
-
fast-diff@^1.1.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
+fast-diff@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0"
+ integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
+
fast-equals@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-4.0.3.tgz#72884cc805ec3c6679b99875f6b7654f39f0e8c7"
@@ -8228,10 +8205,10 @@ functions-have-names@^1.2.2, functions-have-names@^1.2.3:
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
-fuse.js@^3.3.0:
- version "3.6.1"
- resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.6.1.tgz#7de85fdd6e1b3377c23ce010892656385fd9b10c"
- integrity sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw==
+fuse.js@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-7.0.0.tgz#6573c9fcd4c8268e403b4fc7d7131ffcf99a9eb2"
+ integrity sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==
gensync@^1.0.0-beta.2:
version "1.0.0-beta.2"
@@ -8932,14 +8909,6 @@ ipaddr.js@^2.0.1:
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0"
integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==
-is-arguments@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
- integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
is-array-buffer@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98"
@@ -10229,11 +10198,21 @@ lodash-es@^4.17.21:
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
+lodash.clonedeep@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
+ integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==
+
lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
+lodash.isequal@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+ integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
+
lodash.merge@^4.6.2:
version "4.6.2"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
@@ -10777,14 +10756,6 @@ object-inspect@^1.13.1:
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff"
integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==
-object-is@^1.1.5:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07"
- integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==
- dependencies:
- call-bind "^1.0.7"
- define-properties "^1.2.1"
-
object-keys@^1.0.12, object-keys@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
@@ -11057,11 +11028,16 @@ param-case@^3.0.4:
dot-case "^3.0.4"
tslib "^2.0.3"
-parchment@^1.1.2, parchment@^1.1.4:
+parchment@^1.1.2:
version "1.1.4"
resolved "https://registry.yarnpkg.com/parchment/-/parchment-1.1.4.tgz#aeded7ab938fe921d4c34bc339ce1168bc2ffde5"
integrity sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==
+parchment@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/parchment/-/parchment-3.0.0.tgz#2e3a4ada454e1206ae76ea7afcb50e9fb517e7d6"
+ integrity sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==
+
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
@@ -11709,49 +11685,39 @@ queue-microtask@^1.2.2:
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-quill-delta@^3.6.2:
- version "3.6.3"
- resolved "https://registry.yarnpkg.com/quill-delta/-/quill-delta-3.6.3.tgz#b19fd2b89412301c60e1ff213d8d860eac0f1032"
- integrity sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==
+quill-delta@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/quill-delta/-/quill-delta-5.1.0.tgz#1c4bc08f7c8e5cc4bdc88a15a1a70c1cc72d2b48"
+ integrity sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==
dependencies:
- deep-equal "^1.0.1"
- extend "^3.0.2"
- fast-diff "1.1.2"
+ fast-diff "^1.3.0"
+ lodash.clonedeep "^4.5.0"
+ lodash.isequal "^4.5.0"
-quill-emoji@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/quill-emoji/-/quill-emoji-0.2.0.tgz#2d8b830cfd3389a408100f3b7de8d656da74d06f"
- integrity sha512-0kqHKTFA9hk1Vf5g32KBm/NYZal6n9N/ATmk13Hka/XYsgrEIaShSR84B5VMB7bg5o9+TMeIzc+wey5OP7hv+A==
+quill-mention@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/quill-mention/-/quill-mention-6.0.1.tgz#9495ff9c977c46805b461e3c71962f51c09b3104"
+ integrity sha512-VziJ2EVNQUj+cv9snCRUEj72qKWEvGxGrZRKuQCiovswC95OlrbsC84YsjEpPTJZEGU+r0vcsUmxrmBZNNZFig==
dependencies:
- emoji-data-css "^1.0.1"
- fuse.js "^3.3.0"
+ quill "^2.0.2"
-quill-mention@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/quill-mention/-/quill-mention-4.0.0.tgz#9c755bb881c36d8bd37b2294e900f6e46942bf48"
- integrity sha512-S7OdmQvbKg+VI7FDnY5G9SMsoe55QmYwCMxI9DjVXuWU/KcOZSj1rdtnAkoVFXPls1+7PRPNOsw69hel/38cPQ==
+quill@^1.3.7, quill@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/quill/-/quill-2.0.2.tgz#5b26bc10a74e9f7fdcfdb5156b3133a3ebf0a814"
+ integrity sha512-QfazNrhMakEdRG57IoYFwffUIr04LWJxbS/ZkidRFXYCQt63c1gK6Z7IHUXMx/Vh25WgPBU42oBaNzQ0K1R/xw==
dependencies:
- quill "^1.3.7"
+ eventemitter3 "^5.0.1"
+ lodash-es "^4.17.21"
+ parchment "^3.0.0"
+ quill-delta "^5.1.0"
-quill@^1.3.7:
- version "1.3.7"
- resolved "https://registry.yarnpkg.com/quill/-/quill-1.3.7.tgz#da5b2f3a2c470e932340cdbf3668c9f21f9286e8"
- integrity sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==
+quilljs-markdown@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/quilljs-markdown/-/quilljs-markdown-1.2.0.tgz#ee03b81452fe84cfbaeb225cb9de10c3d747455b"
+ integrity sha512-/Fqm0d7QF+n3dvFGZDosq5W4kBloD4QR6qDzv6ATFAmShDYRtnijP0cODmG+bk+2P+233wivbragV+6DNzePJg==
dependencies:
- clone "^2.1.1"
- deep-equal "^1.0.1"
- eventemitter3 "^2.0.3"
- extend "^3.0.2"
- parchment "^1.1.4"
- quill-delta "^3.6.2"
-
-quilljs-markdown@^1.1.10:
- version "1.1.10"
- resolved "https://registry.yarnpkg.com/quilljs-markdown/-/quilljs-markdown-1.1.10.tgz#35cc51c1b48aa2cc6c6e897fa09c3cbba4675d84"
- integrity sha512-Oe5O00/moGBdAeoYR5s3OD4zN+WrjQgfAnUdoSKOoIS84PxqDXCAGC8uIO2+E3geBMg+cj8oztm15uuudPXkPw==
- dependencies:
- core-js "^3.8.3"
- regenerator-runtime "^0.13.7"
+ core-js "^3.23.5"
+ regenerator-runtime "^0.13.9"
ramda-adjunct@^4.0.0, ramda-adjunct@^4.1.1:
version "4.1.1"
@@ -12687,16 +12653,11 @@ regenerate@^1.4.0, regenerate@^1.4.2:
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
-regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.4:
+regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.9:
version "0.13.11"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
-regenerator-runtime@^0.13.7:
- version "0.13.9"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
- integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
-
regenerator-runtime@^0.14.0:
version "0.14.0"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
@@ -12725,7 +12686,7 @@ regexp.prototype.flags@^1.4.3:
define-properties "^1.1.3"
functions-have-names "^1.2.2"
-regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2:
+regexp.prototype.flags@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334"
integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==