@toptal/picasso 32.2.0 → 32.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DatePicker/DatePicker.js +2 -0
- package/DatePicker/DatePicker.js.map +1 -1
- package/QuillEditor/LazyQuillEditor.d.ts +1 -1
- package/QuillEditor/QuillEditor.d.ts +1 -1
- package/QuillEditor/QuillEditor.js +5 -1
- package/QuillEditor/QuillEditor.js.map +1 -1
- package/QuillEditor/blots/emoji.d.ts +12 -0
- package/QuillEditor/blots/emoji.js +21 -0
- package/QuillEditor/blots/emoji.js.map +1 -0
- package/QuillEditor/constants.d.ts +1 -0
- package/QuillEditor/constants.js +1 -0
- package/QuillEditor/constants.js.map +1 -1
- package/QuillEditor/hooks/useQuillInstance/useQuillInstance.js +12 -0
- package/QuillEditor/hooks/useQuillInstance/useQuillInstance.js.map +1 -1
- package/QuillEditor/hooks/useSubscribeToTextEditorEvents/useSubscribeToTextEditorEvents.js +26 -2
- package/QuillEditor/hooks/useSubscribeToTextEditorEvents/useSubscribeToTextEditorEvents.js.map +1 -1
- package/QuillEditor/types.d.ts +17 -1
- package/QuillEditorView/styles.js +8 -1
- package/QuillEditorView/styles.js.map +1 -1
- package/RichText/hooks/useRichText/useRichText.js +14 -0
- package/RichText/hooks/useRichText/useRichText.js.map +1 -1
- package/RichTextEditor/RichTextEditor.d.ts +2 -1
- package/RichTextEditor/RichTextEditor.js +5 -3
- package/RichTextEditor/RichTextEditor.js.map +1 -1
- package/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.d.ts +1 -0
- package/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.js +12 -1
- package/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.js.map +1 -1
- package/RichTextEditor/index.d.ts +1 -0
- package/RichTextEditor/index.js.map +1 -1
- package/RichTextEditor/types.d.ts +1 -0
- package/RichTextEditorButton/RichTextEditorButton.d.ts +1 -0
- package/RichTextEditorButton/RichTextEditorButton.js.map +1 -1
- package/RichTextEditorEmojiPicker/RichTextEditorEmojiPicker.d.ts +8 -0
- package/RichTextEditorEmojiPicker/RichTextEditorEmojiPicker.js +58 -0
- package/RichTextEditorEmojiPicker/RichTextEditorEmojiPicker.js.map +1 -0
- package/RichTextEditorToolbar/RichTextEditorToolbar.d.ts +4 -1
- package/RichTextEditorToolbar/RichTextEditorToolbar.js +5 -2
- package/RichTextEditorToolbar/RichTextEditorToolbar.js.map +1 -1
- package/package.json +5 -1
- package/utils/html-to-hast.js +2 -1
- package/utils/html-to-hast.js.map +1 -1
package/DatePicker/DatePicker.js
CHANGED
|
@@ -196,6 +196,8 @@ export const DatePicker = (props) => {
|
|
|
196
196
|
const handleResetClick = (event) => {
|
|
197
197
|
setInputValue(EMPTY_INPUT_VALUE);
|
|
198
198
|
onResetClick === null || onResetClick === void 0 ? void 0 : onResetClick(event);
|
|
199
|
+
// prevent re-opening the calendar popper
|
|
200
|
+
event.stopPropagation();
|
|
199
201
|
};
|
|
200
202
|
const startAdornment = size !== 'small' ? (React.createElement(InputAdornment, { position: 'start', disablePointerEvents: true }, icon || React.createElement(Calendar16, null))) : undefined;
|
|
201
203
|
return (React.createElement(React.Fragment, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ declare const LazyQuillEditor: React.ForwardRefExoticComponent<import("@toptal/p
|
|
|
5
5
|
id: string;
|
|
6
6
|
isFocused: boolean;
|
|
7
7
|
placeholder?: string | undefined;
|
|
8
|
-
plugins?: "
|
|
8
|
+
plugins?: import("./types").EditorPlugin[] | undefined;
|
|
9
9
|
onSelectionChange: import("./types").SelectionHandler;
|
|
10
10
|
onTextFormat: import("./types").TextFormatHandler;
|
|
11
11
|
onTextChange: import("./types").ChangeHandler;
|
|
@@ -25,7 +25,7 @@ declare const QuillEditor: React.ForwardRefExoticComponent<BaseProps & {
|
|
|
25
25
|
id: string;
|
|
26
26
|
isFocused: boolean;
|
|
27
27
|
placeholder?: string | undefined;
|
|
28
|
-
plugins?:
|
|
28
|
+
plugins?: EditorPlugin[] | undefined;
|
|
29
29
|
onSelectionChange: SelectionHandler;
|
|
30
30
|
onTextFormat: TextFormatHandler;
|
|
31
31
|
onTextChange: ChangeHandler;
|
|
@@ -5,7 +5,11 @@ import useQuillInstance from './hooks/useQuillInstance';
|
|
|
5
5
|
import { useFocus, useSubscribeToQuillEvents, useDisabledEditor, useKeyBindings, useSubscribeToTextEditorEvents, } from './hooks';
|
|
6
6
|
import useDefaultValue from './hooks/useDefaultValue';
|
|
7
7
|
const QuillEditor = forwardRef(function QuillEditor({ defaultValue, disabled, 'data-testid': dataTestId, id, isFocused, placeholder, onTextLengthChange, onSelectionChange, onTextFormat, onTextChange, plugins, }, ref) {
|
|
8
|
-
const quill = useQuillInstance({
|
|
8
|
+
const quill = useQuillInstance({
|
|
9
|
+
id,
|
|
10
|
+
placeholder,
|
|
11
|
+
plugins,
|
|
12
|
+
});
|
|
9
13
|
const editorRef = useCombinedRefs(ref, useRef(null));
|
|
10
14
|
useFocus({ isFocused, quill });
|
|
11
15
|
useKeyBindings({ quill, onTextFormat });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuillEditor.js","sourceRoot":"","sources":["../../src/QuillEditor/QuillEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAGjD,OAAO,eAAe,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,gBAAgB,MAAM,0BAA0B,CAAA;AACvD,OAAO,EACL,QAAQ,EACR,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EACd,8BAA8B,GAC/B,MAAM,SAAS,CAAA;AAChB,OAAO,eAAe,MAAM,yBAAyB,CAAA;AAyBrD,MAAM,WAAW,GAAG,UAAU,CAAwB,SAAS,WAAW,CACxE,EACE,YAAY,EACZ,QAAQ,EACR,aAAa,EAAE,UAAU,EACzB,EAAE,EACF,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,OAAO,GACR,EACD,GAAG;IAEH,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"QuillEditor.js","sourceRoot":"","sources":["../../src/QuillEditor/QuillEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAGjD,OAAO,eAAe,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,gBAAgB,MAAM,0BAA0B,CAAA;AACvD,OAAO,EACL,QAAQ,EACR,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EACd,8BAA8B,GAC/B,MAAM,SAAS,CAAA;AAChB,OAAO,eAAe,MAAM,yBAAyB,CAAA;AAyBrD,MAAM,WAAW,GAAG,UAAU,CAAwB,SAAS,WAAW,CACxE,EACE,YAAY,EACZ,QAAQ,EACR,aAAa,EAAE,UAAU,EACzB,EAAE,EACF,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,OAAO,GACR,EACD,GAAG;IAEH,MAAM,KAAK,GAAG,gBAAgB,CAAC;QAC7B,EAAE;QACF,WAAW;QACX,OAAO;KACR,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,eAAe,CAC/B,GAAG,EACH,MAAM,CAAiB,IAAI,CAAC,CAC7B,CAAA;IAED,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9B,cAAc,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;IACvC,yBAAyB,CAAC;QACxB,KAAK;QACL,YAAY;QACZ,iBAAiB;QACjB,kBAAkB;KACnB,CAAC,CAAA;IACF,8BAA8B,CAAC;QAC7B,SAAS;QACT,KAAK;KACN,CAAC,CAAA;IACF,eAAe,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;IACxC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IAEtC,OAAO,oBAAC,eAAe,IAAC,GAAG,EAAE,SAAS,iBAAe,UAAU,EAAE,EAAE,EAAE,EAAE,GAAI,CAAA;AAC7E,CAAC,CAAC,CAAA;AAEF,WAAW,CAAC,YAAY,GAAG;IACzB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC3B,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;IACtB,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC5B,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;CACvB,CAAA;AAED,WAAW,CAAC,WAAW,GAAG,aAAa,CAAA;AAEvC,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import Quill from 'quill';
|
|
2
|
+
const EmbedBlot = Quill.import('blots/embed');
|
|
3
|
+
export class EmojiBlot extends EmbedBlot {
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
|
+
static create(data) {
|
|
6
|
+
const node = super.create(data);
|
|
7
|
+
node.setAttribute('data-src', data.src);
|
|
8
|
+
node.setAttribute('data-emoji-name', data.emojiId);
|
|
9
|
+
node.setAttribute('src', data.src);
|
|
10
|
+
node.setAttribute('class', 'emoji-icon');
|
|
11
|
+
return node;
|
|
12
|
+
}
|
|
13
|
+
static value(domNode) {
|
|
14
|
+
const { src } = domNode.dataset;
|
|
15
|
+
return { src };
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
EmojiBlot.blotName = 'emojiBlot';
|
|
19
|
+
EmojiBlot.className = 'emoji-blot';
|
|
20
|
+
EmojiBlot.tagName = 'img';
|
|
21
|
+
//# sourceMappingURL=emoji.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emoji.js","sourceRoot":"","sources":["../../../src/QuillEditor/blots/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;AAE7C,MAAM,OAAO,SAAU,SAAQ,SAAS;IACtC,8DAA8D;IAC9D,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAE/B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAExC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAqC;QAChD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAA;QAE/B,OAAO,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;CACF;AAED,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAA;AAChC,SAAS,CAAC,SAAS,GAAG,YAAY,CAAA;AAClC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAA"}
|
package/QuillEditor/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/QuillEditor/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gCAAgC,GAAG,qBAAqB,CAAA;AACrE,MAAM,CAAC,MAAM,wBAAwB,GAAG,uCAAuC,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/QuillEditor/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gCAAgC,GAAG,qBAAqB,CAAA;AACrE,MAAM,CAAC,MAAM,wBAAwB,GAAG,uCAAuC,CAAA;AAC/E,MAAM,CAAC,MAAM,YAAY,GAAG,2BAA2B,CAAA"}
|
|
@@ -2,8 +2,10 @@ import { useEffect, useState } from 'react';
|
|
|
2
2
|
import Quill from 'quill';
|
|
3
3
|
import 'quill-paste-smart';
|
|
4
4
|
import { useTypographyClasses, makeHeaderFormat, makeBoldFormat, makeLinkFormat, } from '../../formats';
|
|
5
|
+
import { EmojiBlot } from '../../blots/emoji';
|
|
5
6
|
export const getModules = (plugins) => {
|
|
6
7
|
const allowLinks = plugins === null || plugins === void 0 ? void 0 : plugins.includes('link');
|
|
8
|
+
const allowEmojis = plugins === null || plugins === void 0 ? void 0 : plugins.includes('emoji');
|
|
7
9
|
const allowedTags = [
|
|
8
10
|
'b',
|
|
9
11
|
'strong',
|
|
@@ -21,6 +23,10 @@ export const getModules = (plugins) => {
|
|
|
21
23
|
allowedTags.push('a');
|
|
22
24
|
allowedAttributes.push('href');
|
|
23
25
|
}
|
|
26
|
+
if (allowEmojis) {
|
|
27
|
+
allowedTags.push('img');
|
|
28
|
+
allowedAttributes.push('src', 'data-src', 'data-emoji-name', 'class');
|
|
29
|
+
}
|
|
24
30
|
return {
|
|
25
31
|
clipboard: {
|
|
26
32
|
matchVisual: false,
|
|
@@ -96,6 +102,7 @@ const Inline = Quill.import('blots/inline');
|
|
|
96
102
|
// Lower index means deeper in the DOM tree, since not found (-1) is for embeds
|
|
97
103
|
Inline.order = [
|
|
98
104
|
'cursor',
|
|
105
|
+
'emojiBlot',
|
|
99
106
|
'link',
|
|
100
107
|
'inline',
|
|
101
108
|
'underline',
|
|
@@ -112,6 +119,11 @@ const useQuillInstance = ({ id, placeholder, plugins, }) => {
|
|
|
112
119
|
const extendedFormats = [...formats];
|
|
113
120
|
Quill.register(makeHeaderFormat(typographyClasses), true);
|
|
114
121
|
Quill.register(makeBoldFormat(typographyClasses), true);
|
|
122
|
+
const allowEmojis = plugins === null || plugins === void 0 ? void 0 : plugins.includes('emoji');
|
|
123
|
+
if (allowEmojis) {
|
|
124
|
+
Quill.register({ 'formats/emojiBlot': EmojiBlot }, true);
|
|
125
|
+
extendedFormats.push('image', 'emojiBlot');
|
|
126
|
+
}
|
|
115
127
|
const allowLinks = plugins === null || plugins === void 0 ? void 0 : plugins.includes('link');
|
|
116
128
|
if (allowLinks) {
|
|
117
129
|
Quill.register(makeLinkFormat(typographyClasses), true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuillInstance.js","sourceRoot":"","sources":["../../../../src/QuillEditor/hooks/useQuillInstance/useQuillInstance.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,mBAAmB,CAAA;AAE1B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"useQuillInstance.js","sourceRoot":"","sources":["../../../../src/QuillEditor/hooks/useQuillInstance/useQuillInstance.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,mBAAmB,CAAA;AAE1B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAQ7C,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAqC,EACN,EAAE;IACjC,MAAM,UAAU,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAE9C,MAAM,WAAW,GAAG;QAClB,GAAG;QACH,QAAQ;QACR,GAAG;QACH,IAAI;QACJ,GAAG;QACH,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAA;IACD,MAAM,iBAAiB,GAAG,CAAC,OAAO,CAAC,CAAA;IAEnC,IAAI,UAAU,EAAE;QACd,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrB,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KAC/B;IAED,IAAI,WAAW,EAAE;QACf,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;KACtE;IAED,OAAO;QACL,SAAS,EAAE;YACT,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE;gBACP,wEAAwE;gBACxE,4CAA4C;gBAC5C,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE,iBAAiB;aAC9B;YACD,aAAa,EAAE,IAAI;YACnB,uBAAuB,EAAE,IAAI;SAC9B;QACD,QAAQ,EAAE;YACR,sCAAsC;YACtC,qDAAqD;YACrD,8CAA8C;YAC9C,0BAA0B;YAC1B,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,cAAa,CAAC;iBACxB;gBACD,MAAM,EAAE;oBACN,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,cAAa,CAAC;iBACxB;gBACD,MAAM,EAAE;oBACN,GAAG,EAAE,KAAK;oBACV,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC;oBACxC,OAAO,EAAE,UAEP,KAAkB,EAClB,OAOC;;wBAED,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;4BAC7C,OAAO,IAAI,CAAA;yBACZ;wBAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;wBACtB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;wBAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;wBACxC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;wBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;wBAE1B,MAAM,kBAAkB,GAAG,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAE,OAAO,MAAK,IAAI,CAAA;wBAC9D,MAAM,UAAU,GACd,CAAA,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAE,SAAS,0CAAE,KAAK,CAAC,KAAK,CAAC,0CAAG,CAAC,CAAC,KAAI,CAAC,CAAA;wBAEtD,IACE,kBAAkB;4BAClB,aAAa,IAAI,UAAU;4BAC3B,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,EACzB;4BACA,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;yBACrC;oBACH,CAAC;iBACF;aACF;SACF;KACF,CAAA;AACH,CAAC,CAAA;AAED;;;;;;4BAM4B;AAC5B,MAAM,OAAO,GAAkC;IAC7C,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;CACT,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AAE3C,8EAA8E;AAC9E,+EAA+E;AAC/E,MAAM,CAAC,KAAK,GAAG;IACb,QAAQ;IACR,WAAW;IACX,MAAM;IACN,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,MAAM,EAAE,iBAAiB;CAC1B,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,EACxB,EAAE,EACF,WAAW,EACX,OAAO,GACW,EAAqB,EAAE;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAA;IAEhD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,eAAe,GAAkC,CAAC,GAAG,OAAO,CAAC,CAAA;QAEnE,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAA;QACzD,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAA;QAEvD,MAAM,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QAE9C,IAAI,WAAW,EAAE;YACf,KAAK,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAA;YACxD,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;SAC3C;QAED,MAAM,UAAU,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;QAE5C,IAAI,UAAU,EAAE;YACd,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAA;YACvD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAC7B;QAED,QAAQ,CACN,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE;YAClB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,eAAe;YACxB,WAAW;SACZ,CAAC,CACH,CAAA;IACH,CAAC,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;IAEjD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback, useEffect, useMemo } from 'react';
|
|
2
|
-
import { CUSTOM_QUILL_EDITOR_FORMAT_EVENT, INSERT_DEFAULT_LINK_TEXT, } from '../../constants';
|
|
2
|
+
import { CUSTOM_QUILL_EDITOR_FORMAT_EVENT, INSERT_DEFAULT_LINK_TEXT, INSERT_EMOJI, } from '../../constants';
|
|
3
3
|
import getFormatChangeHandler from '../../utils/getFormatChangeHandler';
|
|
4
4
|
const useSubscribeToTextEditorEvents = ({ editorRef, quill, }) => {
|
|
5
5
|
const formatChangeHandler = useMemo(() => {
|
|
@@ -20,6 +20,28 @@ const useSubscribeToTextEditorEvents = ({ editorRef, quill, }) => {
|
|
|
20
20
|
quill.setSelection(quill.getLength() - 1 - link.length, quill.getLength());
|
|
21
21
|
}
|
|
22
22
|
}, [quill]);
|
|
23
|
+
const insertEmoji = useCallback(({ detail }) => {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
if (!quill) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const { native, src, id } = detail;
|
|
29
|
+
if (native) {
|
|
30
|
+
const selection = (_a = quill.getSelection(true)) !== null && _a !== void 0 ? _a : { index: 0, length: 0 };
|
|
31
|
+
if (selection.length === 0) {
|
|
32
|
+
quill.insertText(selection.index, native);
|
|
33
|
+
}
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const selection = (_b = quill.getSelection(true)) !== null && _b !== void 0 ? _b : { index: 0, length: 0 };
|
|
37
|
+
if (selection.length === 0) {
|
|
38
|
+
quill.insertEmbed(selection.index, 'emojiBlot', {
|
|
39
|
+
src,
|
|
40
|
+
emojiId: id,
|
|
41
|
+
});
|
|
42
|
+
quill.setSelection(selection.index + 1, selection.length + 1);
|
|
43
|
+
}
|
|
44
|
+
}, [quill]);
|
|
23
45
|
useEffect(() => {
|
|
24
46
|
const editor = editorRef.current;
|
|
25
47
|
if (!editor) {
|
|
@@ -27,11 +49,13 @@ const useSubscribeToTextEditorEvents = ({ editorRef, quill, }) => {
|
|
|
27
49
|
}
|
|
28
50
|
editor.addEventListener(CUSTOM_QUILL_EDITOR_FORMAT_EVENT, formatChangeHandler, false);
|
|
29
51
|
editor.addEventListener(INSERT_DEFAULT_LINK_TEXT, insertDefaultLinkText, false);
|
|
52
|
+
editor.addEventListener(INSERT_EMOJI, insertEmoji, false);
|
|
30
53
|
return () => {
|
|
31
54
|
editor === null || editor === void 0 ? void 0 : editor.removeEventListener(CUSTOM_QUILL_EDITOR_FORMAT_EVENT, formatChangeHandler, false);
|
|
32
55
|
editor === null || editor === void 0 ? void 0 : editor.removeEventListener(INSERT_DEFAULT_LINK_TEXT, insertDefaultLinkText, false);
|
|
56
|
+
editor === null || editor === void 0 ? void 0 : editor.removeEventListener(INSERT_EMOJI, insertEmoji, false);
|
|
33
57
|
};
|
|
34
|
-
}, [editorRef, formatChangeHandler, insertDefaultLinkText]);
|
|
58
|
+
}, [editorRef, formatChangeHandler, insertDefaultLinkText, insertEmoji]);
|
|
35
59
|
};
|
|
36
60
|
export default useSubscribeToTextEditorEvents;
|
|
37
61
|
//# sourceMappingURL=useSubscribeToTextEditorEvents.js.map
|
package/QuillEditor/hooks/useSubscribeToTextEditorEvents/useSubscribeToTextEditorEvents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSubscribeToTextEditorEvents.js","sourceRoot":"","sources":["../../../../src/QuillEditor/hooks/useSubscribeToTextEditorEvents/useSubscribeToTextEditorEvents.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAGvD,OAAO,EACL,gCAAgC,EAChC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"useSubscribeToTextEditorEvents.js","sourceRoot":"","sources":["../../../../src/QuillEditor/hooks/useSubscribeToTextEditorEvents/useSubscribeToTextEditorEvents.tsx"],"names":[],"mappings":"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"}
|
package/QuillEditor/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare type ItalicValue = boolean | undefined;
|
|
|
3
3
|
export declare type ListValue = 'bullet' | 'ordered' | undefined;
|
|
4
4
|
export declare type HeaderValue = 3 | undefined;
|
|
5
5
|
export declare type LinkValue = string | undefined;
|
|
6
|
+
export declare type EmojiValue = string;
|
|
6
7
|
export declare type FormatType = {
|
|
7
8
|
bold: BoldValue;
|
|
8
9
|
italic: ItalicValue;
|
|
@@ -30,4 +31,19 @@ export declare type TextFormatHandler = (e: TextFormatHandlerEvent) => void;
|
|
|
30
31
|
export declare type SelectionHandler = (format: FormatType) => void;
|
|
31
32
|
export declare type ChangeHandler = (html: string) => void;
|
|
32
33
|
export declare type TextLengthChangeHandler = (length: number) => void;
|
|
33
|
-
export declare type EditorPlugin = 'link';
|
|
34
|
+
export declare type EditorPlugin = 'link' | 'emoji';
|
|
35
|
+
export declare type CustomEmoji = {
|
|
36
|
+
id: string;
|
|
37
|
+
name: string;
|
|
38
|
+
keywords: string[];
|
|
39
|
+
skins: [
|
|
40
|
+
{
|
|
41
|
+
src: string;
|
|
42
|
+
}
|
|
43
|
+
];
|
|
44
|
+
};
|
|
45
|
+
export declare type CustomEmojiGroup = {
|
|
46
|
+
id: string;
|
|
47
|
+
name: string;
|
|
48
|
+
emojis: CustomEmoji[];
|
|
49
|
+
};
|
|
@@ -124,7 +124,14 @@ const clipboard = {
|
|
|
124
124
|
top: '50%',
|
|
125
125
|
},
|
|
126
126
|
};
|
|
127
|
-
const
|
|
127
|
+
const emojiIcon = {
|
|
128
|
+
'& .emoji-icon': {
|
|
129
|
+
verticalAlign: 'bottom',
|
|
130
|
+
width: '22px',
|
|
131
|
+
height: '22px',
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
const quillSpecificStyles = (theme) => (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, placeholder(theme)), editor), hidden), clipboard), emojiIcon));
|
|
128
135
|
export default (theme) => {
|
|
129
136
|
return createStyles({
|
|
130
137
|
root: Object.assign(Object.assign(Object.assign({ height: '12.5em', overflowY: 'hidden', resize: 'vertical', position: 'relative' }, listStyles), margins), quillSpecificStyles(theme)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/QuillEditorView/styles.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/QuillEditorView/styles.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
};
|
|
12
12
|
import toH from 'hast-to-hyperscript';
|
|
13
13
|
import React, { useMemo, createElement, isValidElement } from 'react';
|
|
14
|
+
import { makeStyles } from '@material-ui/core';
|
|
14
15
|
import Typography from '../../../Typography';
|
|
15
16
|
import Container from '../../../Container';
|
|
16
17
|
import List from '../../../List';
|
|
@@ -21,6 +22,13 @@ const Li = (_a) => {
|
|
|
21
22
|
var { children } = _a, props = __rest(_a, ["children"]);
|
|
22
23
|
return (React.createElement(ListItem, Object.assign({}, props), children));
|
|
23
24
|
};
|
|
25
|
+
const useStyles = makeStyles({
|
|
26
|
+
emoji: {
|
|
27
|
+
width: 24,
|
|
28
|
+
height: 24,
|
|
29
|
+
verticalAlign: 'bottom',
|
|
30
|
+
},
|
|
31
|
+
});
|
|
24
32
|
/* eslint-disable id-length */
|
|
25
33
|
const P = ({ children }) => (React.createElement(Typography, { size: 'medium' }, children));
|
|
26
34
|
const Strong = ({ children }) => (React.createElement(Typography, { size: 'medium', as: 'strong', weight: 'semibold' }, children));
|
|
@@ -33,6 +41,11 @@ const A = (_a) => {
|
|
|
33
41
|
var { children } = _a, props = __rest(_a, ["children"]);
|
|
34
42
|
return React.createElement(Link, Object.assign({}, props), children);
|
|
35
43
|
};
|
|
44
|
+
const Emoji = (_a) => {
|
|
45
|
+
var props = __rest(_a, []);
|
|
46
|
+
const classes = useStyles();
|
|
47
|
+
return React.createElement("img", Object.assign({ className: classes.emoji }, props));
|
|
48
|
+
};
|
|
36
49
|
const componentMap = {
|
|
37
50
|
p: P,
|
|
38
51
|
strong: Strong,
|
|
@@ -42,6 +55,7 @@ const componentMap = {
|
|
|
42
55
|
ol: Ol,
|
|
43
56
|
ul: Ul,
|
|
44
57
|
a: A,
|
|
58
|
+
img: Emoji,
|
|
45
59
|
};
|
|
46
60
|
const picassoMapper = (child) => {
|
|
47
61
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRichText.js","sourceRoot":"","sources":["../../../../src/RichText/hooks/useRichText/useRichText.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,GAAG,MAAM,qBAAqB,CAAA;AAErC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"useRichText.js","sourceRoot":"","sources":["../../../../src/RichText/hooks/useRichText/useRichText.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { BaseProps } from '@toptal/picasso-shared';
|
|
3
|
-
import type { EditorPlugin } from '../QuillEditor';
|
|
3
|
+
import type { CustomEmojiGroup, EditorPlugin } from '../QuillEditor';
|
|
4
4
|
import type { ASTType } from '../RichText';
|
|
5
5
|
import type { Status } from '../OutlinedInput';
|
|
6
6
|
import type { CounterMessageSetter } from './types';
|
|
@@ -71,6 +71,7 @@ export interface Props extends BaseProps {
|
|
|
71
71
|
orderedListButton?: string;
|
|
72
72
|
};
|
|
73
73
|
highlight?: 'autofill';
|
|
74
|
+
customEmojis?: CustomEmojiGroup[];
|
|
74
75
|
}
|
|
75
76
|
export declare const RichTextEditor: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
|
|
76
77
|
export default RichTextEditor;
|
|
@@ -16,7 +16,7 @@ const useStyles = makeStyles(styles, {
|
|
|
16
16
|
name: 'RichTextEditor',
|
|
17
17
|
});
|
|
18
18
|
export const RichTextEditor = forwardRef(function RichTextEditor(props, ref) {
|
|
19
|
-
const { 'data-testid': dataTestId, plugins, autoFocus = false, className, defaultValue, disabled, id, onChange = noop, onFocus = noop, onBlur = noop, placeholder, minLength, maxLength, minLengthMessage, maxLengthMessage, style, status, testIds, hiddenInputId, setHasMultilineCounter, name, highlight, } = props;
|
|
19
|
+
const { 'data-testid': dataTestId, plugins, autoFocus = false, className, defaultValue, disabled, id, onChange = noop, onFocus = noop, onBlur = noop, placeholder, minLength, maxLength, minLengthMessage, maxLengthMessage, style, status, testIds, hiddenInputId, setHasMultilineCounter, name, highlight, customEmojis, } = props;
|
|
20
20
|
const classes = useStyles();
|
|
21
21
|
const toolbarRef = useRef(null);
|
|
22
22
|
const editorRef = useRef(null);
|
|
@@ -30,7 +30,7 @@ export const RichTextEditor = forwardRef(function RichTextEditor(props, ref) {
|
|
|
30
30
|
});
|
|
31
31
|
const { handleSelectionChange } = useOnSelectionChange({ dispatch });
|
|
32
32
|
const { handleTextFormat } = useOnTextFormat({ dispatch });
|
|
33
|
-
const { handleBold, handleItalic, handleHeader, handleOrdered, handleUnordered, handleLink, } = useToolbarHandlers({
|
|
33
|
+
const { handleBold, handleItalic, handleHeader, handleOrdered, handleUnordered, handleLink, insertEmoji, } = useToolbarHandlers({
|
|
34
34
|
editorRef,
|
|
35
35
|
handleTextFormat,
|
|
36
36
|
format: state.toolbar.format,
|
|
@@ -56,6 +56,8 @@ export const RichTextEditor = forwardRef(function RichTextEditor(props, ref) {
|
|
|
56
56
|
// declare the array outside the component level
|
|
57
57
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
58
58
|
const memoizedPlugins = useMemo(() => plugins, []);
|
|
59
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
|
+
const memoizedCustomEmojis = useMemo(() => customEmojis, []);
|
|
59
61
|
useHasMultilineCounter(name, !!counterMessage, setHasMultilineCounter);
|
|
60
62
|
return (React.createElement(React.Fragment, null,
|
|
61
63
|
React.createElement(Container, { className: cx(classes.editorWrapper, {
|
|
@@ -72,7 +74,7 @@ export const RichTextEditor = forwardRef(function RichTextEditor(props, ref) {
|
|
|
72
74
|
}
|
|
73
75
|
wrapperRef.current = node;
|
|
74
76
|
}, "data-testid": (testIds === null || testIds === void 0 ? void 0 : testIds.wrapper) || dataTestId, onFocus: handleFocus, onBlur: handleBlur },
|
|
75
|
-
React.createElement(Toolbar, { ref: toolbarRef, disabled: disabled || state.toolbar.disabled, id: id, format: state.toolbar.format, onBoldClick: handleBold, onItalicClick: handleItalic, onUnorderedClick: handleUnordered, onOrderedClick: handleOrdered, onHeaderChange: handleHeader, onLinkClick: handleLink, plugins: memoizedPlugins, testIds: {
|
|
77
|
+
React.createElement(Toolbar, { ref: toolbarRef, disabled: disabled || state.toolbar.disabled, id: id, format: state.toolbar.format, onBoldClick: handleBold, onItalicClick: handleItalic, onUnorderedClick: handleUnordered, onOrderedClick: handleOrdered, onHeaderChange: handleHeader, onLinkClick: handleLink, onInsertEmoji: insertEmoji, plugins: memoizedPlugins, customEmojis: memoizedCustomEmojis, testIds: {
|
|
76
78
|
headerSelect: testIds === null || testIds === void 0 ? void 0 : testIds.headerSelect,
|
|
77
79
|
boldButton: testIds === null || testIds === void 0 ? void 0 : testIds.boldButton,
|
|
78
80
|
italicButton: testIds === null || testIds === void 0 ? void 0 : testIds.italicButton,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextEditor.js","sourceRoot":"","sources":["../../src/RichTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,cAAc,MAAM,mBAAmB,CAAA;AAC9C,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAE7C,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,SAAS,MAAM,cAAc,CAAA;AAEpC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,uBAAuB,MAAM,4BAA4B,CAAA;AAChE,OAAO,OAAO,MAAM,0BAA0B,CAAA;AAC9C,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,UAAU,GACX,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"RichTextEditor.js","sourceRoot":"","sources":["../../src/RichTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,cAAc,MAAM,mBAAmB,CAAA;AAC9C,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAE7C,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,SAAS,MAAM,cAAc,CAAA;AAEpC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,uBAAuB,MAAM,4BAA4B,CAAA;AAChE,OAAO,OAAO,MAAM,0BAA0B,CAAA;AAC9C,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,UAAU,GACX,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AA0E7E,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,gBAAgB;CACvB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CACtC,SAAS,cAAc,CAAC,KAAK,EAAE,GAAG;IAChC,MAAM,EACJ,aAAa,EAAE,UAAU,EACzB,OAAO,EACP,SAAS,GAAG,KAAK,EACjB,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,EAAE,EACF,QAAQ,GAAG,IAAI,EACf,OAAO,GAAG,IAAI,EACd,MAAM,GAAG,IAAI,EACb,WAAW,EACX,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,OAAO,EACP,aAAa,EACb,sBAAsB,EACtB,IAAI,EACJ,SAAS,EACT,YAAY,GACb,GAAG,KAAK,CAAA;IAET,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAC3B,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IACtD,MAAM,SAAS,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IACrD,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IACtD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAEhD,yBAAyB,CAAC;QACxB,KAAK;QACL,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,gBAAgB;QAC/B,WAAW,EACT,qGAAqG;KACxG,CAAC,CAAA;IAEF,MAAM,EAAE,qBAAqB,EAAE,GAAG,oBAAoB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IACpE,MAAM,EAAE,gBAAgB,EAAE,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC1D,MAAM,EACJ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,EACV,WAAW,GACZ,GAAG,kBAAkB,CAAC;QACrB,SAAS;QACT,gBAAgB;QAChB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;KAC7B,CAAC,CAAA;IAEF,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;QAC9D,SAAS;QACT,SAAS;QACT,UAAU;QACV,UAAU;QACV,OAAO;QACP,MAAM;QACN,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CACzC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CACzE,CAAA;IAED,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC;QACxE,SAAS;QACT,SAAS;QACT,gBAAgB;QAChB,gBAAgB;KACjB,CAAC,CAAA;IAEF,sDAAsD;IACtD,wDAAwD;IACxD,gDAAgD;IAChD,uDAAuD;IACvD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAClD,uDAAuD;IACvD,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IAE5D,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAA;IAEtE,OAAO,CACL;QACE,oBAAC,SAAS,IACR,SAAS,EAAE,EAAE,CACX,OAAO,CAAC,aAAa,EACrB;gBACE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ;gBAC5B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,eAAe;gBAClC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO;gBACnC,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,SAAS,KAAK,UAAU;aACtD,EACD,SAAS,CACV,EACD,QAAQ,EAAE,CAAC,CAAC,EACZ,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,IAAI,CAAC,EAAE;gBACV,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;oBAC7B,GAAG,CAAC,IAAI,CAAC,CAAA;iBACV;qBAAM,IAAI,GAAG,IAAI,IAAI,EAAE;oBACtB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAA;iBACnB;gBACD,UAAU,CAAC,OAAO,GAAG,IAAI,CAAA;YAC3B,CAAC,iBACY,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,UAAU,EAC3C,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU;YAElB,oBAAC,OAAO,IACN,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAC5C,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAC5B,WAAW,EAAE,UAAU,EACvB,aAAa,EAAE,YAAY,EAC3B,gBAAgB,EAAE,eAAe,EACjC,cAAc,EAAE,aAAa,EAC7B,cAAc,EAAE,YAAY,EAC5B,WAAW,EAAE,UAAU,EACvB,aAAa,EAAE,WAAW,EAC1B,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,oBAAoB,EAClC,OAAO,EAAE;oBACP,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;oBACnC,UAAU,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;oBAC/B,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;oBACnC,mBAAmB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB;oBACjD,iBAAiB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB;iBAC9C,GACD;YACF,oBAAC,WAAW,IACV,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,CAAC,CAAC,QAAQ,iBACP,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAC5B,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,oBAAoB,EACxC,YAAY,EAAE,gBAAgB,EAC9B,iBAAiB,EAAE,qBAAqB,EACxC,YAAY,EAAE,QAAQ,EACtB,YAAY,EAAE,kBAAkB,EAChC,OAAO,EAAE,eAAe,GACxB;YACD,aAAa,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAC9C;QACX,cAAc,IAAI,CACjB,oBAAC,uBAAuB,IAAC,KAAK,EAAE,YAAY,IACzC,cAAc,CACS,CAC3B,CACA,CACJ,CAAA;AACH,CAAC,CACF,CAAA;AAED,MAAM,gBAAgB,GAAwB;IAC5C,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC,CAAC;CACX,CAAA;AAED,+DAA+D;AAC/D,MAAM,uBAAuB,GAAG,CAAC,aAAqB,EAAE,EAAE,CAAC,CACzD,+BAAO,IAAI,EAAC,MAAM,EAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,GAAI,CAClE,CAAA;AAED,cAAc,CAAC,YAAY,GAAG;IAC5B,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,SAAS;CAClB,CAAA;AAED,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAE7C,eAAe,cAAc,CAAA"}
|
|
@@ -13,5 +13,6 @@ declare const useToolbarHandlers: ({ editorRef, handleTextFormat, format }: Prop
|
|
|
13
13
|
handleUnordered: ButtonHandlerType;
|
|
14
14
|
handleHeader: SelectOnChangeHandler;
|
|
15
15
|
handleLink: ButtonHandlerType;
|
|
16
|
+
insertEmoji: (emoji: any) => void;
|
|
16
17
|
};
|
|
17
18
|
export default useToolbarHandlers;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
2
|
import { CUSTOM_QUILL_EDITOR_FORMAT_EVENT } from '../../../QuillEditor';
|
|
3
|
-
import { INSERT_DEFAULT_LINK_TEXT } from '../../../QuillEditor/constants';
|
|
3
|
+
import { INSERT_DEFAULT_LINK_TEXT, INSERT_EMOJI, } from '../../../QuillEditor/constants';
|
|
4
4
|
import { convertHeaderToEditorValue } from '../../utils/convertFormat';
|
|
5
5
|
const useToolbarHandlers = ({ editorRef, handleTextFormat, format }) => {
|
|
6
6
|
const sendFormatEvent = useCallback((detail) => {
|
|
@@ -17,6 +17,13 @@ const useToolbarHandlers = ({ editorRef, handleTextFormat, format }) => {
|
|
|
17
17
|
});
|
|
18
18
|
(_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.dispatchEvent(defaultLinkTextEvent);
|
|
19
19
|
}, [editorRef]);
|
|
20
|
+
const sendInsertEmojiEvent = useCallback(detail => {
|
|
21
|
+
var _a;
|
|
22
|
+
const insertEmojiEvent = new CustomEvent(INSERT_EMOJI, {
|
|
23
|
+
detail,
|
|
24
|
+
});
|
|
25
|
+
(_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.dispatchEvent(insertEmojiEvent);
|
|
26
|
+
}, [editorRef]);
|
|
20
27
|
const handleBold = () => {
|
|
21
28
|
const bold = !format.bold;
|
|
22
29
|
sendFormatEvent({ bold });
|
|
@@ -71,6 +78,9 @@ const useToolbarHandlers = ({ editorRef, handleTextFormat, format }) => {
|
|
|
71
78
|
value: link,
|
|
72
79
|
});
|
|
73
80
|
};
|
|
81
|
+
const insertEmoji = (emoji) => {
|
|
82
|
+
sendInsertEmojiEvent(emoji);
|
|
83
|
+
};
|
|
74
84
|
return {
|
|
75
85
|
handleBold,
|
|
76
86
|
handleItalic,
|
|
@@ -78,6 +88,7 @@ const useToolbarHandlers = ({ editorRef, handleTextFormat, format }) => {
|
|
|
78
88
|
handleUnordered,
|
|
79
89
|
handleHeader,
|
|
80
90
|
handleLink,
|
|
91
|
+
insertEmoji,
|
|
81
92
|
};
|
|
82
93
|
};
|
|
83
94
|
export default useToolbarHandlers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useToolbarHandlers.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAMnC,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,
|
|
1
|
+
{"version":3,"file":"useToolbarHandlers.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/hooks/useToolbarHandlers/useToolbarHandlers.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { OmitInternalProps } from '@toptal/picasso-shared';
|
|
2
2
|
import type { Props } from './RichTextEditor';
|
|
3
|
+
export type { CustomEmojiGroup } from './types';
|
|
3
4
|
export { default } from './RichTextEditor';
|
|
4
5
|
export type { RichTextEditorChangeHandler } from './types';
|
|
5
6
|
export declare type RichTextEditorProps = OmitInternalProps<Props>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/RichTextEditor/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/RichTextEditor/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { ChangeHandler } from '../QuillEditor';
|
|
2
2
|
export declare type RichTextEditorChangeHandler = ChangeHandler;
|
|
3
3
|
export declare type CounterMessageSetter = (limit: number, currLength: number, isError: boolean) => string;
|
|
4
|
+
export type { CustomEmojiGroup, CustomEmoji } from '../QuillEditor';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextEditorButton.js","sourceRoot":"","sources":["../../src/RichTextEditorButton/RichTextEditorButton.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,cAAc,MAAM,mBAAmB,CAAA;AAC9C,OAAO,MAAM,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"RichTextEditorButton.js","sourceRoot":"","sources":["../../src/RichTextEditorButton/RichTextEditorButton.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,cAAc,MAAM,mBAAmB,CAAA;AAC9C,OAAO,MAAM,MAAM,UAAU,CAAA;AAU7B,iFAAiF;AACjF,iFAAiF;AACjF,uEAAuE;AACvE,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,EAAE;CACV,CAAC,CAAA;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAAY,EAAE,EAAE;IAC5C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAAtE,+DAA8D,CAAQ,CAAA;IAC5E,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAEhC,OAAO,CACL,oBAAC,cAAc,kBACb,OAAO,EAAC,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CACX,OAAO,CAAC,MAAM,EACd;YACE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM;SAC/B,EACD,SAAS,CACV,EACD,QAAQ,EAAE,QAAQ,IACd,IAAI,EACR,CACH,CAAA;AACH,CAAC,CAAA;AAED,oBAAoB,CAAC,YAAY,GAAG;IAClC,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;CAClB,CAAA;AAED,oBAAoB,CAAC,WAAW,GAAG,sBAAsB,CAAA;AAEzD,eAAe,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CustomEmojiGroup } from '../QuillEditor';
|
|
2
|
+
interface Props {
|
|
3
|
+
richEditorId: string;
|
|
4
|
+
customEmojis?: CustomEmojiGroup[];
|
|
5
|
+
onInsertEmoji: (emoji: string) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const RichtTextEditorEmojiPicker: ({ richEditorId, customEmojis, onInsertEmoji, }: Props) => JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/* eslint-disable no-inline-styles/no-inline-styles */
|
|
2
|
+
import React, { useEffect } from 'react';
|
|
3
|
+
import data from '@emoji-mart/data';
|
|
4
|
+
import Picker from '@emoji-mart/react';
|
|
5
|
+
import { makeStyles } from '@material-ui/core';
|
|
6
|
+
import cx from 'classnames';
|
|
7
|
+
import Container from '../Container';
|
|
8
|
+
import TextEditorButton from '../RichTextEditorButton';
|
|
9
|
+
const TRIGGER_EMOJI_PICKER_ID = 'trigger-emoji-picker';
|
|
10
|
+
const useStyles = makeStyles({
|
|
11
|
+
emojiPicker: {
|
|
12
|
+
position: 'absolute',
|
|
13
|
+
top: 34,
|
|
14
|
+
left: 0,
|
|
15
|
+
zIndex: 10,
|
|
16
|
+
opacity: 0,
|
|
17
|
+
pointerEvents: 'none',
|
|
18
|
+
},
|
|
19
|
+
activeOpacity: { opacity: 1 },
|
|
20
|
+
activePointers: { pointerEvents: 'all' },
|
|
21
|
+
});
|
|
22
|
+
const handleEmojiPickerEscBehaviour = (event, setShowEmojiPicker) => {
|
|
23
|
+
if (event.key === 'Escape') {
|
|
24
|
+
setShowEmojiPicker(false);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
export const RichtTextEditorEmojiPicker = ({ richEditorId, customEmojis, onInsertEmoji, }) => {
|
|
28
|
+
const [showEmojiPicker, setShowEmojiPicker] = React.useState(false);
|
|
29
|
+
const classes = useStyles({ showEmojiPicker });
|
|
30
|
+
const handleEmojiPickerClick = () => {
|
|
31
|
+
setShowEmojiPicker(!showEmojiPicker);
|
|
32
|
+
};
|
|
33
|
+
const closePicker = () => {
|
|
34
|
+
setShowEmojiPicker(false);
|
|
35
|
+
};
|
|
36
|
+
const handleEmojiInsert = (emoji) => {
|
|
37
|
+
onInsertEmoji(emoji);
|
|
38
|
+
setShowEmojiPicker(false);
|
|
39
|
+
};
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (!showEmojiPicker) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
document.body.addEventListener('keyup', event => {
|
|
45
|
+
handleEmojiPickerEscBehaviour(event, setShowEmojiPicker);
|
|
46
|
+
});
|
|
47
|
+
return () => {
|
|
48
|
+
document.body.removeEventListener('keyup', event => {
|
|
49
|
+
handleEmojiPickerEscBehaviour(event, setShowEmojiPicker);
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
}, [showEmojiPicker, setShowEmojiPicker]);
|
|
53
|
+
return (React.createElement(Container, { style: { position: 'relative' } },
|
|
54
|
+
React.createElement(TextEditorButton, { onClick: handleEmojiPickerClick, icon: React.createElement(Container, { style: { pointerEvents: 'none' } }, "\uD83D\uDE42"), id: TRIGGER_EMOJI_PICKER_ID }),
|
|
55
|
+
React.createElement(Container, { className: cx(classes.emojiPicker, showEmojiPicker && classes.activeOpacity, showEmojiPicker && classes.activePointers) },
|
|
56
|
+
React.createElement(Picker, { id: `emoji-picker-${richEditorId}`, key: `emoji-picker-${richEditorId}`, data: data, custom: customEmojis, onEmojiSelect: handleEmojiInsert, onClickOutside: showEmojiPicker && closePicker }))));
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=RichTextEditorEmojiPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextEditorEmojiPicker.js","sourceRoot":"","sources":["../../src/RichTextEditorEmojiPicker/RichTextEditorEmojiPicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ButtonHandlerType, SelectOnChangeHandler, FormatType } from './types';
|
|
3
|
-
import type { EditorPlugin } from '../QuillEditor';
|
|
3
|
+
import type { CustomEmojiGroup, EditorPlugin } from '../QuillEditor';
|
|
4
4
|
declare type Props = {
|
|
5
5
|
disabled: boolean;
|
|
6
6
|
id: string;
|
|
@@ -12,14 +12,17 @@ declare type Props = {
|
|
|
12
12
|
unorderedListButton?: string;
|
|
13
13
|
orderedListButton?: string;
|
|
14
14
|
linkButton?: string;
|
|
15
|
+
emojiButton?: string;
|
|
15
16
|
};
|
|
16
17
|
onBoldClick: ButtonHandlerType;
|
|
17
18
|
onItalicClick: ButtonHandlerType;
|
|
18
19
|
onLinkClick: ButtonHandlerType;
|
|
20
|
+
onInsertEmoji: (emoji: string) => void;
|
|
19
21
|
onHeaderChange: SelectOnChangeHandler;
|
|
20
22
|
onUnorderedClick: ButtonHandlerType;
|
|
21
23
|
onOrderedClick: ButtonHandlerType;
|
|
22
24
|
plugins?: EditorPlugin[];
|
|
25
|
+
customEmojis?: CustomEmojiGroup[];
|
|
23
26
|
};
|
|
24
27
|
export declare const RichTextEditorToolbar: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
|
|
25
28
|
export default RichTextEditorToolbar;
|
|
@@ -6,14 +6,16 @@ import Container from '../Container';
|
|
|
6
6
|
import Select from '../Select';
|
|
7
7
|
import styles from './styles';
|
|
8
8
|
import TextEditorButton from '../RichTextEditorButton';
|
|
9
|
+
import { RichtTextEditorEmojiPicker } from '../RichTextEditorEmojiPicker/RichTextEditorEmojiPicker';
|
|
9
10
|
const useStyles = makeStyles(styles, {
|
|
10
11
|
name: 'RichTextEditorToolbar',
|
|
11
12
|
});
|
|
12
13
|
export const RichTextEditorToolbar = forwardRef(function RichTextEditorToolbar(props, ref) {
|
|
13
|
-
const { disabled, id, format, onBoldClick, onItalicClick, onLinkClick, onHeaderChange, onUnorderedClick, onOrderedClick, testIds, plugins, } = props;
|
|
14
|
+
const { disabled, id, format, onBoldClick, onItalicClick, onLinkClick, onInsertEmoji, onHeaderChange, onUnorderedClick, onOrderedClick, testIds, plugins, customEmojis, } = props;
|
|
14
15
|
const classes = useStyles(props);
|
|
15
16
|
const isHeadingFormat = format.header === '3';
|
|
16
17
|
const allowLinks = plugins === null || plugins === void 0 ? void 0 : plugins.includes('link');
|
|
18
|
+
const allowEmojis = plugins === null || plugins === void 0 ? void 0 : plugins.includes('emoji');
|
|
17
19
|
return (React.createElement(Container, { id: `${id}toolbar`, ref: ref, className: classes.toolbar },
|
|
18
20
|
React.createElement(Container, { className: cx(classes.group, {
|
|
19
21
|
groupDisabled: disabled,
|
|
@@ -29,7 +31,8 @@ export const RichTextEditorToolbar = forwardRef(function RichTextEditorToolbar(p
|
|
|
29
31
|
React.createElement(TextEditorButton, { icon: React.createElement(ListUnordered16, null), onClick: onUnorderedClick, active: format.list === 'bullet', disabled: disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.unorderedListButton }),
|
|
30
32
|
React.createElement(TextEditorButton, { icon: React.createElement(ListOrdered16, null), onClick: onOrderedClick, active: format.list === 'ordered', disabled: disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.orderedListButton })),
|
|
31
33
|
allowLinks && (React.createElement(Container, { className: classes.group },
|
|
32
|
-
React.createElement(TextEditorButton, { icon: React.createElement(Link16, null), onClick: onLinkClick, active: !!format.link, disabled: disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.linkButton })))
|
|
34
|
+
React.createElement(TextEditorButton, { icon: React.createElement(Link16, null), onClick: onLinkClick, active: !!format.link, disabled: disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.linkButton }))),
|
|
35
|
+
allowEmojis && (React.createElement(RichtTextEditorEmojiPicker, { richEditorId: id, customEmojis: customEmojis, onInsertEmoji: onInsertEmoji }))));
|
|
33
36
|
});
|
|
34
37
|
RichTextEditorToolbar.defaultProps = {
|
|
35
38
|
disabled: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextEditorToolbar.js","sourceRoot":"","sources":["../../src/RichTextEditorToolbar/RichTextEditorToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EACN,aAAa,EACb,eAAe,GAChB,MAAM,SAAS,CAAA;AAChB,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,gBAAgB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"RichTextEditorToolbar.js","sourceRoot":"","sources":["../../src/RichTextEditorToolbar/RichTextEditorToolbar.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toptal/picasso",
|
|
3
|
-
"version": "32.
|
|
3
|
+
"version": "32.3.1",
|
|
4
4
|
"description": "Toptal UI components library",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -31,6 +31,8 @@
|
|
|
31
31
|
"typescript": "~4.7.0"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
+
"@emoji-mart/data": "^1.1.2",
|
|
35
|
+
"@emoji-mart/react": "^1.1.1",
|
|
34
36
|
"@toptal/picasso-shared": "11.3.0",
|
|
35
37
|
"ap-style-title-case": "^1.1.2",
|
|
36
38
|
"classnames": "^2.3.1",
|
|
@@ -41,12 +43,14 @@
|
|
|
41
43
|
"date-fns-tz": "^2.0.0",
|
|
42
44
|
"debounce": "^1.2.1",
|
|
43
45
|
"detect-browser": "^5.3.0",
|
|
46
|
+
"emoji-mart": "^5.5.2",
|
|
44
47
|
"glider-js": "^1.7.8",
|
|
45
48
|
"hast-to-hyperscript": "^9.0.1",
|
|
46
49
|
"hast-util-from-dom": "^3.0.0",
|
|
47
50
|
"hast-util-sanitize": "^3.0.2",
|
|
48
51
|
"hast-util-to-html": "^7.1.3",
|
|
49
52
|
"quill": "^1.3.7",
|
|
53
|
+
"quill-emoji": "^0.2.0",
|
|
50
54
|
"quill-paste-smart": "^1.4.9",
|
|
51
55
|
"react-content-loader": "^6.2.1",
|
|
52
56
|
"react-dropzone": "^11.4.0",
|
package/utils/html-to-hast.js
CHANGED
|
@@ -9,8 +9,9 @@ export const hastSanitizeSchema = {
|
|
|
9
9
|
attributes: {
|
|
10
10
|
'*': [],
|
|
11
11
|
a: ['href'],
|
|
12
|
+
img: ['src', 'data-src', 'data-emoji-name', 'class'],
|
|
12
13
|
},
|
|
13
|
-
tagNames: ['h3', 'p', 'br', 'strong', 'em', 'ul', 'ol', 'li', 'a'],
|
|
14
|
+
tagNames: ['h3', 'p', 'br', 'strong', 'em', 'ul', 'ol', 'li', 'a', 'img'],
|
|
14
15
|
strip: ['script'],
|
|
15
16
|
};
|
|
16
17
|
const htmlToAst = (html) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-to-hast.js","sourceRoot":"","sources":["../../src/utils/html-to-hast.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAC7C,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAI5C,MAAM,CAAC,MAAM,kBAAkB,GAAW;IACxC,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE;QACT,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;KACjB;IACD,UAAU,EAAE;QACV,GAAG,EAAE,EAAE;QACP,CAAC,EAAE,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"html-to-hast.js","sourceRoot":"","sources":["../../src/utils/html-to-hast.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAC7C,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAI5C,MAAM,CAAC,MAAM,kBAAkB,GAAW;IACxC,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE;QACT,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;KACjB;IACD,UAAU,EAAE;QACV,GAAG,EAAE,EAAE;QACP,CAAC,EAAE,CAAC,MAAM,CAAC;QACX,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,CAAC;KACrD;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;IACzE,KAAK,EAAE,CAAC,QAAQ,CAAC;CAClB,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;IACjC,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAEtD,CAAA;IAEhB,MAAM,GAAG,GAAY;QACnB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;KACjE,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,eAAe,SAAS,CAAA"}
|