@toptal/picasso-rich-text-editor 3.0.0 → 3.1.0

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.
Files changed (47) hide show
  1. package/LexicalEditor/LazyLexicalEditor.d.ts +1 -1
  2. package/LexicalEditor/LexicalEditor.d.ts +2 -1
  3. package/LexicalEditor/LexicalEditor.js +4 -12
  4. package/LexicalEditor/LexicalEditor.js.map +1 -1
  5. package/LexicalEditor/LexicalEditor.test.js +0 -6
  6. package/LexicalEditor/LexicalEditor.test.js.map +1 -1
  7. package/LexicalEditor/hooks/useComponentPlugins/useComponentPlugins.d.ts +4 -2
  8. package/LexicalEditor/hooks/useComponentPlugins/useComponentPlugins.js +19 -4
  9. package/LexicalEditor/hooks/useComponentPlugins/useComponentPlugins.js.map +1 -1
  10. package/LexicalEditor/types.d.ts +0 -25
  11. package/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.d.ts +1 -4
  12. package/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.js +5 -21
  13. package/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.js.map +1 -1
  14. package/RichTextEditor/RichTextEditor.d.ts +4 -4
  15. package/RichTextEditor/RichTextEditor.js +5 -5
  16. package/RichTextEditor/RichTextEditor.js.map +1 -1
  17. package/RichTextEditor/index.d.ts +2 -1
  18. package/RichTextEditor/index.js.map +1 -1
  19. package/RichTextEditor/types.d.ts +0 -1
  20. package/RichTextEditorEmojiPicker/RichTextEditorEmojiPicker.d.ts +2 -3
  21. package/RichTextEditorEmojiPicker/RichTextEditorEmojiPicker.js +2 -2
  22. package/RichTextEditorEmojiPicker/RichTextEditorEmojiPicker.js.map +1 -1
  23. package/RichTextEditorToolbar/RichTextEditorToolbar.d.ts +1 -6
  24. package/RichTextEditorToolbar/RichTextEditorToolbar.js +10 -14
  25. package/RichTextEditorToolbar/RichTextEditorToolbar.js.map +1 -1
  26. package/package.json +1 -1
  27. package/plugins/EmojiPlugin/EmojiPlugin.d.ts +6 -1
  28. package/plugins/EmojiPlugin/EmojiPlugin.js +28 -4
  29. package/plugins/EmojiPlugin/EmojiPlugin.js.map +1 -1
  30. package/plugins/EmojiPlugin/EmojiPlugin.test.js +3 -3
  31. package/plugins/EmojiPlugin/EmojiPlugin.test.js.map +1 -1
  32. package/plugins/EmojiPlugin/index.d.ts +1 -0
  33. package/plugins/EmojiPlugin/types.d.ts +27 -0
  34. package/plugins/LinkPlugin/LinkPlugin.d.ts +1 -1
  35. package/plugins/LinkPlugin/LinkPlugin.js.map +1 -1
  36. package/plugins/Toolbar/Toolbar.d.ts +13 -0
  37. package/plugins/Toolbar/Toolbar.js +31 -0
  38. package/plugins/Toolbar/Toolbar.js.map +1 -0
  39. package/plugins/Toolbar/index.d.ts +1 -0
  40. package/plugins/Toolbar/index.js +2 -0
  41. package/plugins/Toolbar/index.js.map +1 -0
  42. package/plugins/Toolbar/styles.d.ts +3 -0
  43. package/plugins/Toolbar/styles.js +19 -0
  44. package/plugins/Toolbar/styles.js.map +1 -0
  45. package/plugins/api.d.ts +4 -12
  46. package/plugins/api.js +6 -18
  47. package/plugins/api.js.map +1 -1
@@ -17,7 +17,7 @@ declare const LazyLexicalEditor: React.ForwardRefExoticComponent<import("@toptal
17
17
  unorderedListButton?: string | undefined;
18
18
  orderedListButton?: string | undefined;
19
19
  } | undefined;
20
- customEmojis?: import("./types").CustomEmojiGroup[] | undefined;
20
+ customEmojis?: import("../plugins/EmojiPlugin").CustomEmojiGroup[] | undefined;
21
21
  plugins?: import("./types").EditorPlugin[] | undefined;
22
22
  hiddenInputId?: string | undefined;
23
23
  } & React.RefAttributes<HTMLDivElement>>;
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { BaseProps } from '@toptal/picasso-shared';
3
3
  import type { ASTType } from '../RichText';
4
- import type { ChangeHandler, CustomEmojiGroup, EditorPlugin, TextLengthChangeHandler } from './types';
4
+ import type { ChangeHandler, EditorPlugin, TextLengthChangeHandler } from './types';
5
+ import type { CustomEmojiGroup } from '../plugins/EmojiPlugin';
5
6
  export declare type Props = BaseProps & {
6
7
  /** Indicates that an element is to be focused on page load */
7
8
  autoFocus?: boolean;
@@ -15,8 +15,7 @@ import { noop } from '@toptal/picasso/utils';
15
15
  import { $getRoot } from 'lexical';
16
16
  import ToolbarPlugin from '../LexicalEditorToolbarPlugin';
17
17
  import { RTEPluginContextProvider } from '../plugins/api';
18
- import { CustomEmojiNode } from '../plugins/EmojiPlugin/nodes/CustomEmojiNode';
19
- import { EmojiPlugin, ListPlugin, TextLengthPlugin, HeadingsReplacementPlugin, TriggerInitialOnChangePlugin, FocusOnLabelClickPlugin, } from '../plugins';
18
+ import { ListPlugin, TextLengthPlugin, HeadingsReplacementPlugin, TriggerInitialOnChangePlugin, FocusOnLabelClickPlugin, } from '../plugins';
20
19
  import { useOnFocus, useTypographyClasses } from './hooks';
21
20
  import { useComponentPlugins } from './hooks/useComponentPlugins/useComponentPlugins';
22
21
  import styles from './styles';
@@ -39,7 +38,7 @@ const LexicalEditor = forwardRef(function LexicalEditor(props, ref) {
39
38
  typographyClassNames,
40
39
  classes,
41
40
  }), [typographyClassNames, classes]);
42
- const { componentPlugins, lexicalNodes } = useComponentPlugins(plugins);
41
+ const { componentPlugins, lexicalNodes } = useComponentPlugins(plugins, customEmojis);
43
42
  const editorConfig = useMemo(() => ({
44
43
  editorState: (editor) => setEditorValue(editor, defaultValue),
45
44
  theme,
@@ -47,13 +46,7 @@ const LexicalEditor = forwardRef(function LexicalEditor(props, ref) {
47
46
  throw error;
48
47
  },
49
48
  namespace: 'editor',
50
- nodes: [
51
- CustomEmojiNode,
52
- ListNode,
53
- ListItemNode,
54
- HeadingNode,
55
- ...lexicalNodes,
56
- ],
49
+ nodes: [ListNode, ListItemNode, HeadingNode, ...lexicalNodes],
57
50
  editable: !disabled,
58
51
  }), [defaultValue, theme, disabled, lexicalNodes]);
59
52
  const handleChange = useCallback((editorState, editor) => {
@@ -83,14 +76,13 @@ const LexicalEditor = forwardRef(function LexicalEditor(props, ref) {
83
76
  React.createElement(RTEPluginContextProvider, { disabled: disabled, focused: focused },
84
77
  React.createElement(ToolbarPlugin, { disabled: disabled || !focused, toolbarRef: toolbarRef,
85
78
  // remount Toolbar when disabled
86
- key: `${disabled || !focused}`, customEmojis: customEmojis, plugins: plugins, testIds: testIds }),
79
+ key: `${disabled || !focused}`, testIds: testIds }),
87
80
  defaultValue ? (React.createElement(TriggerInitialOnChangePlugin, { onChange: handleChange })) : null,
88
81
  React.createElement(OnChangePlugin, { ignoreSelectionChange: true, onChange: handleChange }),
89
82
  autoFocus && React.createElement(AutoFocusPlugin, null),
90
83
  React.createElement(HeadingsReplacementPlugin, null),
91
84
  React.createElement(TextLengthPlugin, { onTextLengthChange: onTextLengthChange }),
92
85
  React.createElement(ListPlugin, null),
93
- React.createElement(EmojiPlugin, null),
94
86
  React.createElement(HistoryPlugin, null),
95
87
  hiddenInputId && (React.createElement(FocusOnLabelClickPlugin, { hiddenInputId: hiddenInputId })),
96
88
  componentPlugins,
@@ -1 +1 @@
1
- {"version":3,"file":"LexicalEditor.js","sourceRoot":"","sources":["../../src/LexicalEditor/LexicalEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LexicalEditor.js","sourceRoot":"","sources":["../../src/LexicalEditor/LexicalEditor.tsx"],"names":[],"mappings":"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"}
@@ -99,8 +99,6 @@ describe('LexicalEditor', () => {
99
99
  renderLexicalEditor();
100
100
  expect(mockedToolbarPlugin).toHaveBeenCalledWith({
101
101
  disabled: true,
102
- customEmojis: undefined,
103
- plugins: [],
104
102
  toolbarRef: {
105
103
  current: null,
106
104
  },
@@ -112,8 +110,6 @@ describe('LexicalEditor', () => {
112
110
  renderLexicalEditor({ disabled: true });
113
111
  expect(mockedToolbarPlugin).toHaveBeenCalledWith({
114
112
  disabled: true,
115
- customEmojis: undefined,
116
- plugins: [],
117
113
  toolbarRef: {
118
114
  current: null,
119
115
  },
@@ -129,8 +125,6 @@ describe('LexicalEditor', () => {
129
125
  });
130
126
  expect(mockedToolbarPlugin).toHaveBeenCalledWith({
131
127
  disabled: true,
132
- customEmojis: ['foo'],
133
- plugins: ['link'],
134
128
  toolbarRef: {
135
129
  current: null,
136
130
  },
@@ -1 +1 @@
1
- {"version":3,"file":"LexicalEditor.test.js","sourceRoot":"","sources":["../../src/LexicalEditor/LexicalEditor.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LexicalEditor.test.js","sourceRoot":"","sources":["../../src/LexicalEditor/LexicalEditor.test.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ import type { ReactElement } from 'react';
1
2
  import React from 'react';
2
3
  import type { EditorPlugin } from '../..';
3
- export declare const useComponentPlugins: (plugins: EditorPlugin[]) => {
4
+ import type { CustomEmojiGroup } from '../../../plugins/EmojiPlugin';
5
+ export declare const useComponentPlugins: (plugins: EditorPlugin[], customEmojis: CustomEmojiGroup[] | undefined) => {
4
6
  lexicalNodes: import("lexical").Klass<import("lexical").LexicalNode>[];
5
- componentPlugins: React.ReactElement<unknown, string | React.JSXElementConstructor<any>>[];
7
+ componentPlugins: ReactElement<unknown, string | React.JSXElementConstructor<any>>[];
6
8
  };
@@ -1,15 +1,30 @@
1
1
  import React, { cloneElement } from 'react';
2
- import { isRTEPluginElement, RTEPluginMeta } from '../../../plugins/api';
3
2
  import { LinkPlugin } from '../../../plugins';
4
- export const useComponentPlugins = (plugins) => {
5
- const mappedPlugins = plugins.map(plugin => {
3
+ import { isRTEPluginElement, RTEPluginMeta } from '../../../plugins/api';
4
+ import EmojiPlugin from '../../../plugins/EmojiPlugin';
5
+ const uniquePlugins = () => {
6
+ const plugins = new Set();
7
+ return ({ type }) => {
8
+ if (plugins.has(type)) {
9
+ return false;
10
+ }
11
+ plugins.add(type);
12
+ return true;
13
+ };
14
+ };
15
+ export const useComponentPlugins = (plugins, customEmojis) => {
16
+ const mappedPlugins = plugins
17
+ .map(plugin => {
6
18
  switch (plugin) {
7
19
  case 'link':
8
20
  return React.createElement(LinkPlugin, null);
21
+ case 'emoji':
22
+ return React.createElement(EmojiPlugin, { customEmojis: customEmojis });
9
23
  default:
10
24
  return plugin;
11
25
  }
12
- });
26
+ })
27
+ .filter(uniquePlugins());
13
28
  const componentPlugins = mappedPlugins.filter(isRTEPluginElement);
14
29
  const lexicalNodes = componentPlugins.flatMap(plugin => { var _a, _b, _c; return (_c = (_b = (_a = plugin.type[RTEPluginMeta]) === null || _a === void 0 ? void 0 : _a.lexical) === null || _b === void 0 ? void 0 : _b.nodes) !== null && _c !== void 0 ? _c : []; });
15
30
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useComponentPlugins.js","sourceRoot":"","sources":["../../../../src/LexicalEditor/hooks/useComponentPlugins/useComponentPlugins.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAuB,EAAE,EAAE;IAC7D,MAAM,aAAa,GAAmB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACzD,QAAQ,MAAM,EAAE;YACd,KAAK,MAAM;gBACT,OAAO,oBAAC,UAAU,OAAG,CAAA;YAEvB;gBACE,OAAO,MAAM,CAAA;SAChB;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAEjE,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAC3C,MAAM,CAAC,EAAE,mBAAC,OAAA,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,0CAAE,OAAO,0CAAE,KAAK,mCAAI,EAAE,CAAA,EAAA,CAC3D,CAAA;IAED,OAAO;QACL,YAAY;QACZ,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,WAC1C,OAAA,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAA,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,0CAAE,IAAI,EAAE,CAAC,CAAA,EAAA,CACxD;KACF,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"useComponentPlugins.js","sourceRoot":"","sources":["../../../../src/LexicalEditor/hooks/useComponentPlugins/useComponentPlugins.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAExE,OAAO,WAAW,MAAM,8BAA8B,CAAA;AAEtD,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;IAEzB,OAAO,CAAC,EAAE,IAAI,EAA6C,EAAW,EAAE;QACtE,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACrB,OAAO,KAAK,CAAA;SACb;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEjB,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAAuB,EACvB,YAA4C,EAC5C,EAAE;IACF,MAAM,aAAa,GAAmB,OAAO;SAC1C,GAAG,CAAC,MAAM,CAAC,EAAE;QACZ,QAAQ,MAAM,EAAE;YACd,KAAK,MAAM;gBACT,OAAO,oBAAC,UAAU,OAAG,CAAA;YAEvB,KAAK,OAAO;gBACV,OAAO,oBAAC,WAAW,IAAC,YAAY,EAAE,YAAY,GAAI,CAAA;YAEpD;gBACE,OAAO,MAAM,CAAA;SAChB;IACH,CAAC,CAAC;SACD,MAAM,CAAC,aAAa,EAAE,CAAC,CAAA;IAE1B,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAEjE,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAC3C,MAAM,CAAC,EAAE,mBAAC,OAAA,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,0CAAE,OAAO,0CAAE,KAAK,mCAAI,EAAE,CAAA,EAAA,CAC3D,CAAA;IAED,OAAO;QACL,YAAY;QACZ,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,WAC1C,OAAA,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAA,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,0CAAE,IAAI,EAAE,CAAC,CAAA,EAAA,CACxD;KACF,CAAA;AACH,CAAC,CAAA"}
@@ -3,28 +3,3 @@ import type { RTEPlugin } from '../plugins/api';
3
3
  export declare type ChangeHandler = (html: string) => void;
4
4
  export type { TextLengthChangeHandler } from '../plugins/TextLengthPlugin';
5
5
  export declare type EditorPlugin = 'link' | 'emoji' | ReactElement<unknown, RTEPlugin<unknown>>;
6
- export declare type CustomEmoji = {
7
- id: string;
8
- name: string;
9
- keywords: string[];
10
- skins: [
11
- {
12
- src: string;
13
- }
14
- ];
15
- };
16
- export declare type CustomEmojiGroup = {
17
- id: string;
18
- name: string;
19
- emojis: CustomEmoji[];
20
- };
21
- export declare type Emoji = {
22
- id: string;
23
- name: string;
24
- native?: string;
25
- unified?: string;
26
- keywords: string[];
27
- shortcodes: string;
28
- emoticons?: string[];
29
- src?: string;
30
- };
@@ -1,10 +1,7 @@
1
1
  import React from 'react';
2
- import type { CustomEmojiGroup, EditorPlugin } from '../LexicalEditor/types';
3
2
  declare type Props = {
4
- customEmojis?: CustomEmojiGroup[];
5
3
  disabled?: boolean;
6
4
  toolbarRef: React.RefObject<HTMLDivElement>;
7
- plugins?: EditorPlugin[];
8
5
  testIds?: {
9
6
  wrapper?: string;
10
7
  editor?: string;
@@ -15,5 +12,5 @@ declare type Props = {
15
12
  orderedListButton?: string;
16
13
  };
17
14
  };
18
- declare const LexicalEditorToolbarPlugin: ({ disabled, toolbarRef, customEmojis, plugins, testIds, }: Props) => JSX.Element;
15
+ declare const LexicalEditorToolbarPlugin: ({ disabled, toolbarRef, testIds, }: Props) => JSX.Element;
19
16
  export default LexicalEditorToolbarPlugin;
@@ -1,13 +1,12 @@
1
- import React, { useEffect, useReducer } from 'react';
2
- import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
3
1
  import { INSERT_ORDERED_LIST_COMMAND, INSERT_UNORDERED_LIST_COMMAND, REMOVE_LIST_COMMAND, } from '@lexical/list';
4
- import { $createParagraphNode, $getSelection, $isRangeSelection, FORMAT_TEXT_COMMAND, } from 'lexical';
2
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
5
3
  import { $createHeadingNode } from '@lexical/rich-text';
6
4
  import { $setBlocksType } from '@lexical/selection';
5
+ import { $createParagraphNode, $getSelection, $isRangeSelection, FORMAT_TEXT_COMMAND, } from 'lexical';
6
+ import React, { useEffect, useReducer } from 'react';
7
7
  import { registerLexicalEvents, synchronizeToolbarState, toolbarStateReducer, } from '../LexicalEditor/utils';
8
- import { INSERT_CUSTOM_EMOJI_COMMAND, INSERT_EMOJI_COMMAND, } from '../plugins/EmojiPlugin/commands';
9
8
  import RichTextEditorToolbar, { ALLOWED_HEADER_TYPE, } from '../RichTextEditorToolbar';
10
- const LexicalEditorToolbarPlugin = ({ disabled = false, toolbarRef, customEmojis, plugins, testIds, }) => {
9
+ const LexicalEditorToolbarPlugin = ({ disabled = false, toolbarRef, testIds, }) => {
11
10
  const [editor] = useLexicalComposerContext();
12
11
  const [{ bold, italic, list, header }, dispatch] = useReducer(toolbarStateReducer, {
13
12
  bold: false,
@@ -33,21 +32,6 @@ const LexicalEditorToolbarPlugin = ({ disabled = false, toolbarRef, customEmojis
33
32
  const handleOrderedClick = () => {
34
33
  editor.dispatchCommand(list === 'ordered' ? REMOVE_LIST_COMMAND : INSERT_ORDERED_LIST_COMMAND, undefined);
35
34
  };
36
- const handleInsertEmoji = (emoji) => {
37
- const isNativeEmoji = emoji.native;
38
- const isCustomEmoji = emoji.src;
39
- if (isNativeEmoji) {
40
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
41
- editor.dispatchCommand(INSERT_EMOJI_COMMAND, emoji.native);
42
- }
43
- if (isCustomEmoji) {
44
- editor.dispatchCommand(INSERT_CUSTOM_EMOJI_COMMAND, {
45
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
46
- src: emoji.src,
47
- id: emoji.id,
48
- });
49
- }
50
- };
51
35
  const handleHeaderClick = ({ target: { value }, }) => {
52
36
  editor.update(() => {
53
37
  const selection = $getSelection();
@@ -66,7 +50,7 @@ const LexicalEditorToolbarPlugin = ({ disabled = false, toolbarRef, customEmojis
66
50
  italic,
67
51
  list,
68
52
  header,
69
- }, id: 'toolbar', onUnorderedClick: handleUnorderedClick, onOrderedClick: handleOrderedClick, onBoldClick: handleBoldClick, onItalicClick: handleItalicClick, onHeaderChange: handleHeaderClick, disabled: disabled, onInsertEmoji: handleInsertEmoji, ref: toolbarRef, customEmojis: customEmojis, plugins: plugins, testIds: testIds }));
53
+ }, onUnorderedClick: handleUnorderedClick, onOrderedClick: handleOrderedClick, onBoldClick: handleBoldClick, onItalicClick: handleItalicClick, onHeaderChange: handleHeaderClick, disabled: disabled, ref: toolbarRef, testIds: testIds }));
70
54
  };
71
55
  export default LexicalEditorToolbarPlugin;
72
56
  //# sourceMappingURL=LexicalEditorToolbarPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LexicalEditorToolbarPlugin.js","sourceRoot":"","sources":["../../src/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,wBAAwB,CAAA;AAM/B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,iCAAiC,CAAA;AAExC,OAAO,qBAAqB,EAAE,EAC5B,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAkBjC,MAAM,0BAA0B,GAAG,CAAC,EAClC,QAAQ,GAAG,KAAK,EAChB,UAAU,EACV,YAAY,EACZ,OAAO,EACP,OAAO,GACD,EAAE,EAAE;IACV,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAC5C,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,GAAG,UAAU,CAC3D,mBAAmB,EACnB;QACE,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,EAAE;KACX,CACF,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,qBAAqB,CAAC;YAC3B,MAAM;YACN,aAAa,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC/D,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAEtB,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,MAAM,CAAC,eAAe,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;IACrD,CAAC,CAAA;IACD,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,MAAM,CAAC,eAAe,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAA;IACvD,CAAC,CAAA;IACD,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,MAAM,CAAC,eAAe,CACpB,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,6BAA6B,EACvE,SAAS,CACV,CAAA;IACH,CAAC,CAAA;IACD,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,MAAM,CAAC,eAAe,CACpB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,2BAA2B,EACtE,SAAS,CACV,CAAA;IACH,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAE,EAAE;QACzC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAA;QAClC,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAA;QAE/B,IAAI,aAAa,EAAE;YACjB,oEAAoE;YACpE,MAAM,CAAC,eAAe,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAO,CAAC,CAAA;SAC5D;QAED,IAAI,aAAa,EAAE;YACjB,MAAM,CAAC,eAAe,CAAC,2BAA2B,EAAE;gBAClD,oEAAoE;gBACpE,GAAG,EAAE,KAAK,CAAC,GAAI;gBACf,EAAE,EAAE,KAAK,CAAC,EAAE;aACb,CAAC,CAAA;SACH;IACH,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,EACzB,MAAM,EAAE,EAAE,KAAK,EAAE,GAGjB,EAAE,EAAE;QACJ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAA;YAEjC,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE;gBAChC,IAAI,KAAK,KAAK,mBAAmB,EAAE;oBACjC,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;iBAC1D;qBAAM;oBACL,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAA;iBACxD;aACF;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO,CACL,oBAAC,qBAAqB,IACpB,MAAM,EAAE;YACN,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,MAAM;SACP,EACD,EAAE,EAAC,SAAS,EACZ,gBAAgB,EAAE,oBAAoB,EACtC,cAAc,EAAE,kBAAkB,EAClC,WAAW,EAAE,eAAe,EAC5B,aAAa,EAAE,iBAAiB,EAChC,cAAc,EAAE,iBAAiB,EACjC,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,iBAAiB,EAChC,GAAG,EAAE,UAAU,EACf,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,GAChB,CACH,CAAA;AACH,CAAC,CAAA;AAED,eAAe,0BAA0B,CAAA"}
1
+ {"version":3,"file":"LexicalEditorToolbarPlugin.js","sourceRoot":"","sources":["../../src/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import React from 'react';
2
- import type { BaseProps } from '@toptal/picasso-shared';
3
1
  import type { OutlinedInputStatus } from '@toptal/picasso';
2
+ import type { BaseProps } from '@toptal/picasso-shared';
3
+ import React from 'react';
4
+ import type { ChangeHandler, EditorPlugin, LexicalEditorProps } from '../LexicalEditor';
4
5
  import type { ASTType } from '../RichText';
5
6
  import type { CounterMessageSetter } from './types';
6
- import type { ChangeHandler, CustomEmojiGroup, EditorPlugin } from '../LexicalEditor';
7
7
  export interface Props extends BaseProps {
8
8
  /** Indicates that an element is to be focused on page load */
9
9
  autoFocus?: boolean;
@@ -71,7 +71,7 @@ export interface Props extends BaseProps {
71
71
  orderedListButton?: string;
72
72
  };
73
73
  highlight?: 'autofill';
74
- customEmojis?: CustomEmojiGroup[];
74
+ customEmojis?: LexicalEditorProps['customEmojis'];
75
75
  }
76
76
  export declare const RichTextEditor: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
77
77
  export default RichTextEditor;
@@ -1,12 +1,12 @@
1
- import React, { forwardRef, useRef, useState, useCallback } from 'react';
2
1
  import { makeStyles } from '@material-ui/core/styles';
2
+ import { InputMultilineAdornment } from '@toptal/picasso';
3
3
  import { useHasMultilineCounter } from '@toptal/picasso-shared';
4
- import cx from 'classnames';
5
4
  import { noop, usePropDeprecationWarning } from '@toptal/picasso/utils';
6
- import { InputMultilineAdornment } from '@toptal/picasso';
7
- import styles from './styles';
8
- import { useCounter } from './hooks';
5
+ import cx from 'classnames';
6
+ import React, { forwardRef, useCallback, useRef, useState } from 'react';
9
7
  import LexicalEditor from '../LexicalEditor';
8
+ import { useCounter } from './hooks';
9
+ import styles from './styles';
10
10
  const useStyles = makeStyles(styles, {
11
11
  name: 'RichTextEditor',
12
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextEditor.js","sourceRoot":"","sources":["../../src/RichTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RichTextEditor.js","sourceRoot":"","sources":["../../src/RichTextEditor/RichTextEditor.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, RichTextEditorChangeHandler } from './types';
3
+ export type { RichTextEditorChangeHandler } from './types';
4
+ export declare type CustomEmojiGroup = Exclude<Props['customEmojis'], undefined>[0];
4
5
  export { default } from './RichTextEditor';
5
6
  export declare type RichTextEditorProps = OmitInternalProps<Props>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/RichTextEditor/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/RichTextEditor/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1,3 +1,2 @@
1
1
  export declare type CounterMessageSetter = (limit: number, currLength: number, isError: boolean) => string;
2
2
  export type { ChangeHandler, ChangeHandler as RichTextEditorChangeHandler, TextLengthChangeHandler, } from '../LexicalEditor';
3
- export type { CustomEmojiGroup, CustomEmoji } from '../LexicalEditor';
@@ -1,10 +1,9 @@
1
1
  /// <reference types="react" />
2
- import type { CustomEmojiGroup, Emoji } from '../LexicalEditor';
2
+ import type { CustomEmojiGroup, Emoji } from '../plugins/EmojiPlugin';
3
3
  interface Props {
4
- richEditorId: string;
5
4
  customEmojis?: CustomEmojiGroup[];
6
5
  onInsertEmoji: (emoji: Emoji) => void;
7
6
  disabled?: boolean;
8
7
  }
9
- export declare const RichTextEditorEmojiPicker: ({ richEditorId, customEmojis, onInsertEmoji, disabled, }: Props) => JSX.Element;
8
+ export declare const RichTextEditorEmojiPicker: ({ customEmojis, onInsertEmoji, disabled, }: Props) => JSX.Element;
10
9
  export {};
@@ -24,7 +24,7 @@ const handleEmojiPickerEscBehaviour = (event, setShowEmojiPicker) => {
24
24
  setShowEmojiPicker(false);
25
25
  }
26
26
  };
27
- export const RichTextEditorEmojiPicker = ({ richEditorId, customEmojis, onInsertEmoji, disabled, }) => {
27
+ export const RichTextEditorEmojiPicker = ({ customEmojis, onInsertEmoji, disabled, }) => {
28
28
  const [showEmojiPicker, setShowEmojiPicker] = React.useState(false);
29
29
  const classes = useStyles({ showEmojiPicker });
30
30
  const handleEmojiPickerClick = () => {
@@ -53,6 +53,6 @@ export const RichTextEditorEmojiPicker = ({ richEditorId, customEmojis, onInsert
53
53
  return (React.createElement(Container, { style: { position: 'relative' } },
54
54
  React.createElement(TextEditorButton, { onClick: handleEmojiPickerClick, icon: React.createElement(Container, { style: { pointerEvents: 'none' } }, "\uD83D\uDE42"), id: TRIGGER_EMOJI_PICKER_ID, disabled: disabled }),
55
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 }))));
56
+ React.createElement(Picker, { data: data, custom: customEmojis, onEmojiSelect: handleEmojiInsert, onClickOutside: showEmojiPicker && closePicker }))));
57
57
  };
58
58
  //# sourceMappingURL=RichTextEditorEmojiPicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextEditorEmojiPicker.js","sourceRoot":"","sources":["../../src/RichTextEditorEmojiPicker/RichTextEditorEmojiPicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RichTextEditorEmojiPicker.js","sourceRoot":"","sources":["../../src/RichTextEditorEmojiPicker/RichTextEditorEmojiPicker.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  import React from 'react';
2
- import type { ButtonHandlerType, SelectOnChangeHandler, FormatType } from './types';
3
- import type { CustomEmojiGroup, EditorPlugin, Emoji } from '../LexicalEditor';
2
+ import type { ButtonHandlerType, FormatType, SelectOnChangeHandler } from './types';
4
3
  declare type Props = {
5
4
  disabled: boolean;
6
- id: string;
7
5
  format: FormatType;
8
6
  testIds?: {
9
7
  headerSelect?: string;
@@ -16,12 +14,9 @@ declare type Props = {
16
14
  };
17
15
  onBoldClick: ButtonHandlerType;
18
16
  onItalicClick: ButtonHandlerType;
19
- onInsertEmoji: (emoji: Emoji) => void;
20
17
  onHeaderChange: SelectOnChangeHandler;
21
18
  onUnorderedClick: ButtonHandlerType;
22
19
  onOrderedClick: ButtonHandlerType;
23
- plugins?: EditorPlugin[];
24
- customEmojis?: CustomEmojiGroup[];
25
20
  };
26
21
  export declare const ALLOWED_HEADER_TYPE = "3";
27
22
  export declare const RichTextEditorToolbar: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
@@ -1,24 +1,22 @@
1
- import React, { forwardRef } from 'react';
2
1
  import { makeStyles } from '@material-ui/core';
2
+ import { Bold16, Container, Italic16, ListOrdered16, ListUnordered16, Select, } from '@toptal/picasso';
3
+ import { useMultipleForwardRefs } from '@toptal/picasso/utils';
3
4
  import cx from 'classnames';
4
- import { Bold16, Italic16, ListOrdered16, ListUnordered16, Container, Select, } from '@toptal/picasso';
5
- import styles from './styles';
6
- import TextEditorButton from '../RichTextEditorButton';
7
- import { RichTextEditorEmojiPicker } from '../RichTextEditorEmojiPicker/RichTextEditorEmojiPicker';
5
+ import React, { forwardRef } from 'react';
8
6
  import { useToolbarPortalRegister } from '../plugins/api';
7
+ import TextEditorButton from '../RichTextEditorButton';
8
+ import styles from './styles';
9
9
  const useStyles = makeStyles(styles, {
10
10
  name: 'RichTextEditorToolbar',
11
11
  });
12
12
  export const ALLOWED_HEADER_TYPE = '3';
13
- export const RichTextEditorToolbar = forwardRef(
14
- // eslint-disable-next-line complexity
15
- function RichTextEditorToolbar(props, ref) {
16
- const { disabled, id, format, onBoldClick, onItalicClick, onInsertEmoji, onHeaderChange, onUnorderedClick, onOrderedClick, testIds, plugins, customEmojis, } = props;
13
+ export const RichTextEditorToolbar = forwardRef(function RichTextEditorToolbar(props, ref) {
14
+ const { disabled, format, onBoldClick, onItalicClick, onHeaderChange, onUnorderedClick, onOrderedClick, testIds, } = props;
17
15
  const { setToolbarPortalEl } = useToolbarPortalRegister();
16
+ const toolbarRef = useMultipleForwardRefs([ref, setToolbarPortalEl]);
18
17
  const classes = useStyles(props);
19
18
  const isHeadingFormat = format.header === ALLOWED_HEADER_TYPE;
20
- const allowEmojis = plugins === null || plugins === void 0 ? void 0 : plugins.includes('emoji');
21
- return (React.createElement(Container, { id: `${id}toolbar`, ref: ref, className: classes.toolbar },
19
+ return (React.createElement(Container, { ref: toolbarRef, className: classes.toolbar },
22
20
  React.createElement(Container, { className: cx(classes.group, {
23
21
  groupDisabled: disabled,
24
22
  }) },
@@ -31,9 +29,7 @@ function RichTextEditorToolbar(props, ref) {
31
29
  React.createElement(TextEditorButton, { icon: React.createElement(Italic16, null), onClick: onItalicClick, active: isHeadingFormat ? false : format.italic, disabled: isHeadingFormat || disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.italicButton })),
32
30
  React.createElement(Container, { className: classes.group },
33
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 }),
34
- 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 })),
35
- React.createElement(Container, { ref: setToolbarPortalEl, className: classes.group }),
36
- allowEmojis && (React.createElement(RichTextEditorEmojiPicker, { richEditorId: id, customEmojis: customEmojis, onInsertEmoji: onInsertEmoji, disabled: disabled }))));
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 }))));
37
33
  });
38
34
  RichTextEditorToolbar.defaultProps = {
39
35
  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;AAC3B,OAAO,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,eAAe,EACf,SAAS,EACT,MAAM,GACP,MAAM,iBAAiB,CAAA;AAExB,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,gBAAgB,MAAM,yBAAyB,CAAA;AAOtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAA;AAClG,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAyBzD,MAAM,SAAS,GAAG,UAAU,CAAe,MAAM,EAAE;IACjD,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;AAEtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU;AAC7C,sCAAsC;AACtC,SAAS,qBAAqB,CAAC,KAAY,EAAE,GAAG;IAC9C,MAAM,EACJ,QAAQ,EACR,EAAE,EACF,MAAM,EACN,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,OAAO,EACP,YAAY,GACb,GAAG,KAAK,CAAA;IAET,MAAM,EAAE,kBAAkB,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAEzD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,KAAK,mBAAmB,CAAA;IAE7D,MAAM,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAE9C,OAAO,CACL,oBAAC,SAAS,IAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO;QACjE,oBAAC,SAAS,IACR,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE;gBAC3B,aAAa,EAAE,QAAQ;aACxB,CAAC;YAEF,oBAAC,MAAM,IACL,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EACpC,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC/B,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC9B,EACD,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,OAAO,EACjB,SAAS,EAAE,OAAO,CAAC,MAAM,EACzB,QAAQ,EAAE,QAAQ,iBACL,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,GAClC,CACQ;QACZ,oBAAC,SAAS,IAAC,SAAS,EAAE,OAAO,CAAC,KAAK;YACjC,oBAAC,gBAAgB,IACf,IAAI,EAAE,oBAAC,MAAM,OAAG,EAChB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAC7C,QAAQ,EAAE,eAAe,IAAI,QAAQ,iBACxB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,GAChC;YACF,oBAAC,gBAAgB,IACf,IAAI,EAAE,oBAAC,QAAQ,OAAG,EAClB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAC/C,QAAQ,EAAE,eAAe,IAAI,QAAQ,iBACxB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,GAClC,CACQ;QACZ,oBAAC,SAAS,IAAC,SAAS,EAAE,OAAO,CAAC,KAAK;YACjC,oBAAC,gBAAgB,IACf,IAAI,EAAE,oBAAC,eAAe,OAAG,EACzB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,QAAQ,EAChC,QAAQ,EAAE,QAAQ,iBACL,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,GACzC;YACF,oBAAC,gBAAgB,IACf,IAAI,EAAE,oBAAC,aAAa,OAAG,EACvB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS,EACjC,QAAQ,EAAE,QAAQ,iBACL,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,GACvC,CACQ;QACZ,oBAAC,SAAS,IAAC,GAAG,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,GAAI;QAC/D,WAAW,IAAI,CACd,oBAAC,yBAAyB,IACxB,YAAY,EAAE,EAAE,EAChB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,GAClB,CACH,CACS,CACb,CAAA;AACH,CAAC,CACF,CAAA;AAED,qBAAqB,CAAC,YAAY,GAAG;IACnC,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE;QACN,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,EAAE;KACX;IACD,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;IACrB,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;IACvB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;IACxB,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;CACzB,CAAA;AAED,qBAAqB,CAAC,WAAW,GAAG,uBAAuB,CAAA;AAE3D,eAAe,qBAAqB,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-rich-text-editor",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "Picasso rich text editor",
5
5
  "author": "Toptal",
6
6
  "homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso-rich-text-editor#readme",
@@ -1,2 +1,7 @@
1
- declare const EmojiPlugin: () => null;
1
+ import type { RTEPlugin } from '../api';
2
+ import type { CustomEmojiGroup } from './types';
3
+ export declare type Props = {
4
+ customEmojis?: CustomEmojiGroup[];
5
+ };
6
+ declare const EmojiPlugin: RTEPlugin<Props>;
2
7
  export default EmojiPlugin;
@@ -1,11 +1,28 @@
1
1
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
2
2
  import { mergeRegister } from '@lexical/utils';
3
- import { useEffect } from 'react';
4
3
  import { $createTextNode, $insertNodes, COMMAND_PRIORITY_EDITOR } from 'lexical';
4
+ import React, { useCallback, useEffect } from 'react';
5
+ import { RichTextEditorEmojiPicker } from '../../RichTextEditorEmojiPicker/RichTextEditorEmojiPicker';
6
+ import { RTEPluginMeta, Toolbar, useRTEPluginContext } from '../api';
5
7
  import { INSERT_CUSTOM_EMOJI_COMMAND, INSERT_EMOJI_COMMAND } from './commands';
6
- import { $createCustomEmojiNode } from './nodes/CustomEmojiNode';
7
- const EmojiPlugin = () => {
8
+ import { $createCustomEmojiNode, CustomEmojiNode, } from './nodes/CustomEmojiNode';
9
+ const PLUGIN_NAME = 'emoji';
10
+ const EmojiPlugin = ({ customEmojis }) => {
8
11
  const [editor] = useLexicalComposerContext();
12
+ const { disabled, focused } = useRTEPluginContext();
13
+ const handleInsertEmoji = useCallback((emoji) => {
14
+ const isNativeEmoji = 'native' in emoji;
15
+ const isCustomEmoji = 'src' in emoji;
16
+ if (isNativeEmoji) {
17
+ editor.dispatchCommand(INSERT_EMOJI_COMMAND, emoji.native);
18
+ }
19
+ if (isCustomEmoji) {
20
+ editor.dispatchCommand(INSERT_CUSTOM_EMOJI_COMMAND, {
21
+ src: emoji.src,
22
+ id: emoji.id,
23
+ });
24
+ }
25
+ }, [editor]);
9
26
  useEffect(() => {
10
27
  return mergeRegister(editor.registerCommand(INSERT_EMOJI_COMMAND, (nativeEmoji) => {
11
28
  $insertNodes([$createTextNode(nativeEmoji)]);
@@ -16,7 +33,14 @@ const EmojiPlugin = () => {
16
33
  return true;
17
34
  }, COMMAND_PRIORITY_EDITOR));
18
35
  }, [editor]);
19
- return null;
36
+ return (React.createElement(Toolbar, { keyName: PLUGIN_NAME },
37
+ React.createElement(RichTextEditorEmojiPicker, { customEmojis: customEmojis, onInsertEmoji: handleInsertEmoji, disabled: disabled || !focused })));
38
+ };
39
+ EmojiPlugin[RTEPluginMeta] = {
40
+ name: PLUGIN_NAME,
41
+ lexical: {
42
+ nodes: [CustomEmojiNode],
43
+ },
20
44
  };
21
45
  export default EmojiPlugin;
22
46
  //# sourceMappingURL=EmojiPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiPlugin.js","sourceRoot":"","sources":["../../../src/plugins/EmojiPlugin/EmojiPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEhF,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAGhE,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,aAAa,CAClB,MAAM,CAAC,eAAe,CACpB,oBAAoB,EACpB,CAAC,WAAmB,EAAE,EAAE;YACtB,YAAY,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YAE5C,OAAO,IAAI,CAAA;QACb,CAAC,EACD,uBAAuB,CACxB,EACD,MAAM,CAAC,eAAe,CACpB,2BAA2B,EAC3B,CAAC,kBAAsC,EAAE,EAAE;YACzC,MAAM,SAAS,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;YAE5D,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;YAEzB,OAAO,IAAI,CAAA;QACb,CAAC,EACD,uBAAuB,CACxB,CACF,CAAA;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"EmojiPlugin.js","sourceRoot":"","sources":["../../../src/plugins/EmojiPlugin/EmojiPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAChF,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2DAA2D,CAAA;AAErG,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAC9E,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,yBAAyB,CAAA;AAGhC,MAAM,WAAW,GAAG,OAAO,CAAA;AAM3B,MAAM,WAAW,GAAqB,CAAC,EAAE,YAAY,EAAS,EAAE,EAAE;IAChE,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAC5C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAEnD,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,KAAY,EAAE,EAAE;QACf,MAAM,aAAa,GAAG,QAAQ,IAAI,KAAK,CAAA;QACvC,MAAM,aAAa,GAAG,KAAK,IAAI,KAAK,CAAA;QAEpC,IAAI,aAAa,EAAE;YACjB,MAAM,CAAC,eAAe,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;SAC3D;QAED,IAAI,aAAa,EAAE;YACjB,MAAM,CAAC,eAAe,CAAC,2BAA2B,EAAE;gBAClD,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,EAAE,EAAE,KAAK,CAAC,EAAE;aACb,CAAC,CAAA;SACH;IACH,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,aAAa,CAClB,MAAM,CAAC,eAAe,CACpB,oBAAoB,EACpB,CAAC,WAAmB,EAAE,EAAE;YACtB,YAAY,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YAE5C,OAAO,IAAI,CAAA;QACb,CAAC,EACD,uBAAuB,CACxB,EACD,MAAM,CAAC,eAAe,CACpB,2BAA2B,EAC3B,CAAC,kBAAsC,EAAE,EAAE;YACzC,MAAM,SAAS,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;YAE5D,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;YAEzB,OAAO,IAAI,CAAA;QACb,CAAC,EACD,uBAAuB,CACxB,CACF,CAAA;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,CACL,oBAAC,OAAO,IAAC,OAAO,EAAE,WAAW;QAC3B,oBAAC,yBAAyB,IACxB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,iBAAiB,EAChC,QAAQ,EAAE,QAAQ,IAAI,CAAC,OAAO,GAC9B,CACM,CACX,CAAA;AACH,CAAC,CAAA;AAED,WAAW,CAAC,aAAa,CAAC,GAAG;IAC3B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE;QACP,KAAK,EAAE,CAAC,eAAe,CAAC;KACzB;CACF,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -27,13 +27,13 @@ describe('LexicalEmojiPlugin', () => {
27
27
  useLexicalComposerContext.mockReturnValue([mockEditor]);
28
28
  });
29
29
  it('registers commands on mount', () => {
30
- renderHook(() => EmojiPlugin());
30
+ renderHook(() => EmojiPlugin({}));
31
31
  expect(mockEditor.registerCommand).toHaveBeenCalledTimes(2);
32
32
  expect(mockEditor.registerCommand).toHaveBeenCalledWith(INSERT_EMOJI_COMMAND, expect.any(Function), COMMAND_PRIORITY_EDITOR);
33
33
  expect(mockEditor.registerCommand).toHaveBeenCalledWith(INSERT_CUSTOM_EMOJI_COMMAND, expect.any(Function), COMMAND_PRIORITY_EDITOR);
34
34
  });
35
35
  it('inserts a text node when the native emoji command is called', () => {
36
- renderHook(() => EmojiPlugin());
36
+ renderHook(() => EmojiPlugin({}));
37
37
  const nativeEmojiCommand = mockEditor.registerCommand.mock.calls[0][1];
38
38
  nativeEmojiCommand('😃');
39
39
  expect($createTextNode).toHaveBeenCalledWith('😃');
@@ -41,7 +41,7 @@ describe('LexicalEmojiPlugin', () => {
41
41
  });
42
42
  it('inserts a custom emoji node when the custom emoji command is called', () => {
43
43
  const payload = { id: 'custom emoji', src: 'https://example.com/emoji.png' };
44
- renderHook(() => EmojiPlugin());
44
+ renderHook(() => EmojiPlugin({}));
45
45
  const customEmojiCommand = mockEditor.registerCommand.mock.calls[1][1];
46
46
  customEmojiCommand(payload);
47
47
  expect($createCustomEmojiNode).toHaveBeenCalledWith(payload);
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiPlugin.test.js","sourceRoot":"","sources":["../../../src/plugins/EmojiPlugin/EmojiPlugin.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EmojiPlugin.test.js","sourceRoot":"","sources":["../../../src/plugins/EmojiPlugin/EmojiPlugin.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export { default } from './EmojiPlugin';
2
2
  export * from './commands';
3
3
  export * from './nodes';
4
+ export type { CustomEmojiGroup, Emoji, CustomEmoji } from './types';
@@ -1 +1,28 @@
1
1
  export type { CustomEmojiPayload } from './nodes/CustomEmojiNode';
2
+ export declare type CustomEmoji = {
3
+ id: string;
4
+ name: string;
5
+ keywords: string[];
6
+ skins: [
7
+ {
8
+ src: string;
9
+ }
10
+ ];
11
+ };
12
+ export declare type CustomEmojiGroup = {
13
+ id: string;
14
+ name: string;
15
+ emojis: CustomEmoji[];
16
+ };
17
+ export declare type Emoji = {
18
+ id: string;
19
+ name: string;
20
+ unified?: string;
21
+ keywords: string[];
22
+ shortcodes: string;
23
+ emoticons?: string[];
24
+ } & ({
25
+ native: string;
26
+ } | {
27
+ src: string;
28
+ });
@@ -2,5 +2,5 @@ import type { RTEPlugin } from '../api';
2
2
  export declare type Props = {
3
3
  'data-testid'?: string;
4
4
  };
5
- declare const LinkPlugin: RTEPlugin;
5
+ declare const LinkPlugin: RTEPlugin<Props>;
6
6
  export default LinkPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"LinkPlugin.js","sourceRoot":"","sources":["../../../src/plugins/LinkPlugin/LinkPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAClF,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,MAAM,WAAW,GAAG,MAAM,CAAA;AAM1B,MAAM,UAAU,GAAc,CAAC,EAAE,aAAa,EAAE,MAAM,EAAS,EAAE,EAAE;IACjE,OAAO,CACL;QACE,oBAAC,OAAO,IAAC,OAAO,EAAE,WAAW;YAC3B,oBAAC,gBAAgB,mBAAc,MAAM,GAAI,CACjC;QACV,oBAAC,iBAAiB,OAAG,CACpB,CACJ,CAAA;AACH,CAAC,CAAA;AAED,UAAU,CAAC,aAAa,CAAC,GAAG;IAC1B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE;QACP,KAAK,EAAE,CAAC,QAAQ,CAAC;KAClB;CACF,CAAA;AAED,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"LinkPlugin.js","sourceRoot":"","sources":["../../../src/plugins/LinkPlugin/LinkPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAClF,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,MAAM,WAAW,GAAG,MAAM,CAAA;AAM1B,MAAM,UAAU,GAAqB,CAAC,EAAE,aAAa,EAAE,MAAM,EAAS,EAAE,EAAE;IACxE,OAAO,CACL;QACE,oBAAC,OAAO,IAAC,OAAO,EAAE,WAAW;YAC3B,oBAAC,gBAAgB,mBAAc,MAAM,GAAI,CACjC;QACV,oBAAC,iBAAiB,OAAG,CACpB,CACJ,CAAA;AACH,CAAC,CAAA;AAED,UAAU,CAAC,aAAa,CAAC,GAAG;IAC1B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE;QACP,KAAK,EAAE,CAAC,QAAQ,CAAC;KAClB;CACF,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
3
+ export declare const ToolbarProvider: ({ children }: {
4
+ children: ReactNode;
5
+ }) => JSX.Element;
6
+ export declare const useToolbarPortalRegister: () => {
7
+ setToolbarPortalEl: (element: HTMLElement | null) => void;
8
+ };
9
+ export declare type Props = {
10
+ children: ReactNode;
11
+ keyName: string;
12
+ };
13
+ export declare const Toolbar: (props: Props) => React.ReactPortal | null;
@@ -0,0 +1,31 @@
1
+ import { makeStyles } from '@material-ui/core';
2
+ import { Container } from '@toptal/picasso';
3
+ import React, { createContext, useContext, useState } from 'react';
4
+ import { createPortal } from 'react-dom';
5
+ import styles from './styles';
6
+ const Context = createContext({
7
+ setPortalEl: () => { },
8
+ });
9
+ export const ToolbarProvider = ({ children }) => {
10
+ const [portalEl, setPortalEl] = useState(null);
11
+ return (React.createElement(Context.Provider, { value: { portalEl: portalEl !== null && portalEl !== void 0 ? portalEl : undefined, setPortalEl } }, children));
12
+ };
13
+ export const useToolbarPortalRegister = () => {
14
+ const { setPortalEl } = useContext(Context);
15
+ return {
16
+ setToolbarPortalEl: setPortalEl,
17
+ };
18
+ };
19
+ const useStyles = makeStyles(styles, {
20
+ name: 'RichTextEditorToolbar',
21
+ });
22
+ export const Toolbar = (props) => {
23
+ const { children, keyName } = props;
24
+ const { portalEl } = useContext(Context);
25
+ const classes = useStyles(props);
26
+ if (!portalEl) {
27
+ return null;
28
+ }
29
+ return createPortal(React.createElement(Container, { className: classes.group }, children), portalEl, keyName);
30
+ };
31
+ //# sourceMappingURL=Toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../src/plugins/Toolbar/Toolbar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,MAAM,MAAM,UAAU,CAAA;AAO7B,MAAM,OAAO,GAAG,aAAa,CAAe;IAC1C,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE;IACvE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAElE,OAAO,CACL,oBAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,SAAS,EAAE,WAAW,EAAE,IACtE,QAAQ,CACQ,CACpB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAE3C,OAAO;QACL,kBAAkB,EAAE,WAAW;KAChC,CAAA;AACH,CAAC,CAAA;AAOD,MAAM,SAAS,GAAG,UAAU,CAAe,MAAM,EAAE;IACjD,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;IACtC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAExC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAEhC,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,YAAY,CACjB,oBAAC,SAAS,IAAC,SAAS,EAAE,OAAO,CAAC,KAAK,IAAG,QAAQ,CAAa,EAC3D,QAAQ,EACR,OAAO,CACR,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './Toolbar';
@@ -0,0 +1,2 @@
1
+ export * from './Toolbar';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/Toolbar/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Theme } from '@material-ui/core/styles';
2
+ declare const _default: ({ palette }: Theme) => import("@material-ui/styles").StyleRules<{}, "group">;
3
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { createStyles } from '@material-ui/core/styles';
2
+ export default ({ palette }) => createStyles({
3
+ group: {
4
+ display: 'flex',
5
+ alignItems: 'center',
6
+ position: 'relative',
7
+ pointerEvents: 'unset',
8
+ '&:not(:last-child):not(:empty)::after': {
9
+ content: '""',
10
+ height: '1em',
11
+ width: '1px',
12
+ position: 'relative',
13
+ marginLeft: '0.5em',
14
+ marginRight: '0.5em',
15
+ backgroundColor: palette.grey.lighter2,
16
+ },
17
+ },
18
+ });
19
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/plugins/Toolbar/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,eAAe,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE,CACpC,YAAY,CAAC;IACX,KAAK,EAAE;QACL,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE,UAAU;QACpB,aAAa,EAAE,OAAO;QAEtB,uCAAuC,EAAE;YACvC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,OAAO;YACnB,WAAW,EAAE,OAAO;YACpB,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ;SACvC;KACF;CACF,CAAC,CAAA"}
package/plugins/api.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import React from 'react';
1
+ import type { Klass, LexicalNode } from 'lexical';
2
2
  import type { ReactElement, ReactNode } from 'react';
3
- import type { LexicalNode, Klass } from 'lexical';
4
3
  export declare const RTEPluginMeta: unique symbol;
5
4
  export declare type RTEPluginMeta = {
6
5
  name: string;
@@ -8,11 +7,11 @@ export declare type RTEPluginMeta = {
8
7
  nodes?: Klass<LexicalNode>[];
9
8
  };
10
9
  };
11
- export interface RTEPlugin<P = any> {
10
+ export interface RTEPlugin<P> {
12
11
  (props: P): ReactElement | null;
13
12
  [RTEPluginMeta]?: RTEPluginMeta;
14
13
  }
15
- export declare const isRTEPluginElement: (plugin: {}) => plugin is React.ReactElement<unknown, RTEPlugin<any>>;
14
+ export declare const isRTEPluginElement: (plugin: {}) => plugin is ReactElement<unknown, RTEPlugin<unknown>>;
16
15
  export declare const useRTEUpdate: (callback: () => void) => void;
17
16
  export declare type ToolbarPortalProviderProps = {
18
17
  children: ReactNode;
@@ -20,15 +19,8 @@ export declare type ToolbarPortalProviderProps = {
20
19
  focused: boolean;
21
20
  };
22
21
  export declare const RTEPluginContextProvider: ({ children, disabled, focused, }: ToolbarPortalProviderProps) => JSX.Element;
23
- export declare const useToolbarPortalRegister: () => {
24
- setToolbarPortalEl: (element: HTMLElement | null) => void;
25
- };
26
22
  export declare const useRTEPluginContext: () => {
27
23
  disabled: boolean;
28
24
  focused: boolean;
29
25
  };
30
- export declare type ToolbarProps = {
31
- children: ReactNode;
32
- keyName: string;
33
- };
34
- export declare const Toolbar: ({ children, keyName }: ToolbarProps) => JSX.Element;
26
+ export { Props as ToolbarProps, Toolbar, useToolbarPortalRegister, } from './Toolbar/Toolbar';
package/plugins/api.js CHANGED
@@ -1,7 +1,7 @@
1
- import React, { createContext, useState, useContext, useEffect } from 'react';
2
- import { createPortal } from 'react-dom';
3
1
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
4
- import { registerLexicalEvents } from '../LexicalEditor/utils';
2
+ import React, { createContext, useContext, useEffect } from 'react';
3
+ import { registerLexicalEvents } from '../LexicalEditor/utils/registerLexicalEvents';
4
+ import { ToolbarProvider } from './Toolbar/Toolbar';
5
5
  export const RTEPluginMeta = Symbol('PicassoRTEPluginMeta');
6
6
  export const isRTEPluginElement = (plugin) => {
7
7
  return (React.isValidElement(plugin) &&
@@ -18,23 +18,14 @@ export const useRTEUpdate = (callback) => {
18
18
  const RTEPluginContext = createContext({
19
19
  disabled: false,
20
20
  focused: false,
21
- setToolbarPortalEl: () => { },
22
21
  });
23
22
  export const RTEPluginContextProvider = ({ children, disabled, focused, }) => {
24
- const [element, setElement] = useState(null);
25
23
  const value = {
26
24
  disabled,
27
25
  focused,
28
- toolbarPortalEl: element !== null && element !== void 0 ? element : undefined,
29
- setToolbarPortalEl: setElement,
30
- };
31
- return (React.createElement(RTEPluginContext.Provider, { value: value }, children));
32
- };
33
- export const useToolbarPortalRegister = () => {
34
- const { setToolbarPortalEl } = useContext(RTEPluginContext);
35
- return {
36
- setToolbarPortalEl,
37
26
  };
27
+ return (React.createElement(ToolbarProvider, null,
28
+ React.createElement(RTEPluginContext.Provider, { value: value }, children)));
38
29
  };
39
30
  export const useRTEPluginContext = () => {
40
31
  const { disabled, focused } = useContext(RTEPluginContext);
@@ -43,8 +34,5 @@ export const useRTEPluginContext = () => {
43
34
  focused,
44
35
  };
45
36
  };
46
- export const Toolbar = ({ children, keyName }) => {
47
- const { toolbarPortalEl: element } = useContext(RTEPluginContext);
48
- return React.createElement(React.Fragment, null, element && createPortal(children, element, keyName));
49
- };
37
+ export { Toolbar, useToolbarPortalRegister, } from './Toolbar/Toolbar';
50
38
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/plugins/api.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAe3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAU,EAG3C,EAAE;IACF,OAAO,CACL,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;QAC5B,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU;QACjC,aAAa,IAAI,MAAM,CAAC,IAAI,CAC7B,CAAA;AACH,CAAC,CAAA;AASD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAoB,EAAE,EAAE;IACnD,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAE5C,SAAS,CACP,GAAG,EAAE,CACH,qBAAqB,CAAC;QACpB,MAAM;QACN,aAAa,EAAE,QAAQ;KACxB,CAAC,EACJ,CAAC,QAAQ,EAAE,MAAM,CAAC,CACnB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,aAAa,CAAwB;IAC5D,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;IACd,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;CAC7B,CAAC,CAAA;AAQF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,QAAQ,EACR,QAAQ,EACR,OAAO,GACoB,EAAE,EAAE;IAC/B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAEhE,MAAM,KAAK,GAA0B;QACnC,QAAQ;QACR,OAAO;QACP,eAAe,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,SAAS;QACrC,kBAAkB,EAAE,UAAU;KAC/B,CAAA;IAED,OAAO,CACL,oBAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACpC,QAAQ,CACiB,CAC7B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,MAAM,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAE3D,OAAO;QACL,kBAAkB;KACnB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAE1D,OAAO;QACL,QAAQ;QACR,OAAO;KACR,CAAA;AACH,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAgB,EAAE,EAAE;IAC7D,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAEjE,OAAO,0CAAG,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAI,CAAA;AACnE,CAAC,CAAA"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/plugins/api.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AAGjF,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAe3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAU,EAG3C,EAAE;IACF,OAAO,CACL,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;QAC5B,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU;QACjC,aAAa,IAAI,MAAM,CAAC,IAAI,CAC7B,CAAA;AACH,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAoB,EAAE,EAAE;IACnD,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAE5C,SAAS,CACP,GAAG,EAAE,CACH,qBAAqB,CAAC;QACpB,MAAM;QACN,aAAa,EAAE,QAAQ;KACxB,CAAC,EACJ,CAAC,QAAQ,EAAE,MAAM,CAAC,CACnB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,aAAa,CAAwB;IAC5D,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;CACf,CAAC,CAAA;AAQF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,QAAQ,EACR,QAAQ,EACR,OAAO,GACoB,EAAE,EAAE;IAC/B,MAAM,KAAK,GAA0B;QACnC,QAAQ;QACR,OAAO;KACR,CAAA;IAED,OAAO,CACL,oBAAC,eAAe;QACd,oBAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IACpC,QAAQ,CACiB,CACZ,CACnB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAE1D,OAAO;QACL,QAAQ;QACR,OAAO;KACR,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAEL,OAAO,EACP,wBAAwB,GACzB,MAAM,mBAAmB,CAAA"}