@toptal/picasso-rich-text-editor 4.2.0 → 5.0.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 (175) hide show
  1. package/LexicalEditor/hooks/useOnFocus/index.d.ts +1 -1
  2. package/LexicalEditor/hooks/useOnFocus/index.js +1 -1
  3. package/LexicalEditor/hooks/useOnFocus/index.js.map +1 -1
  4. package/LexicalEditor/hooks/useOnFocus/{useOnFocus.js → use-on-focus.js} +1 -1
  5. package/LexicalEditor/hooks/useOnFocus/use-on-focus.js.map +1 -0
  6. package/LexicalEditor/hooks/useTypographyClasses/index.d.ts +1 -1
  7. package/LexicalEditor/hooks/useTypographyClasses/index.js +1 -1
  8. package/LexicalEditor/hooks/useTypographyClasses/index.js.map +1 -1
  9. package/LexicalEditor/hooks/useTypographyClasses/{useTypographyClasses.js → use-typography-classes.js} +1 -1
  10. package/LexicalEditor/hooks/useTypographyClasses/use-typography-classes.js.map +1 -0
  11. package/LexicalEditor/styles.d.ts +1 -1
  12. package/LexicalEditor/styles.js +10 -3
  13. package/LexicalEditor/styles.js.map +1 -1
  14. package/LexicalEditor/utils/{cleanupHtmlOutput.js → cleanup-html-output.js} +3 -1
  15. package/LexicalEditor/utils/cleanup-html-output.js.map +1 -0
  16. package/LexicalEditor/utils/{cleanupHtmlOutput.test.js → cleanup-html-output.test.js} +14 -2
  17. package/LexicalEditor/utils/cleanup-html-output.test.js.map +1 -0
  18. package/LexicalEditor/utils/{createLexicalTheme.js → create-lexical-theme.js} +3 -1
  19. package/LexicalEditor/utils/create-lexical-theme.js.map +1 -0
  20. package/LexicalEditor/utils/{getDomValue.js → get-dom-value.js} +1 -1
  21. package/LexicalEditor/utils/get-dom-value.js.map +1 -0
  22. package/LexicalEditor/utils/{getDomValue.test.js → get-dom-value.test.js} +2 -2
  23. package/LexicalEditor/utils/get-dom-value.test.js.map +1 -0
  24. package/LexicalEditor/utils/{getLexicalNode.js → get-lexical-node.js} +1 -1
  25. package/LexicalEditor/utils/get-lexical-node.js.map +1 -0
  26. package/LexicalEditor/utils/{getSelectedNode.js → get-selected-node.js} +1 -1
  27. package/LexicalEditor/utils/get-selected-node.js.map +1 -0
  28. package/LexicalEditor/utils/hasChildDOMNodeTag.d.ts +2 -0
  29. package/LexicalEditor/utils/hasChildDOMNodeTag.js +12 -0
  30. package/LexicalEditor/utils/hasChildDOMNodeTag.js.map +1 -0
  31. package/LexicalEditor/utils/hasChildDOMNodeTag.test.js +39 -0
  32. package/LexicalEditor/utils/hasChildDOMNodeTag.test.js.map +1 -0
  33. package/LexicalEditor/utils/index.d.ts +9 -8
  34. package/LexicalEditor/utils/index.js +9 -8
  35. package/LexicalEditor/utils/index.js.map +1 -1
  36. package/LexicalEditor/utils/{registerLexicalEvents.js → register-lexical-events.js} +1 -1
  37. package/LexicalEditor/utils/register-lexical-events.js.map +1 -0
  38. package/LexicalEditor/utils/{registerLexicalEvents.test.js → register-lexical-events.test.js} +2 -2
  39. package/LexicalEditor/utils/register-lexical-events.test.js.map +1 -0
  40. package/LexicalEditor/utils/{setEditorValue.js → set-editor-value.js} +2 -2
  41. package/LexicalEditor/utils/set-editor-value.js.map +1 -0
  42. package/LexicalEditor/utils/{synchronizeToolbarState.d.ts → synchronize-toolbar-state.d.ts} +1 -1
  43. package/LexicalEditor/utils/{synchronizeToolbarState.js → synchronize-toolbar-state.js} +3 -3
  44. package/LexicalEditor/utils/synchronize-toolbar-state.js.map +1 -0
  45. package/LexicalEditor/utils/{synchronizeToolbarState.test.js → synchronize-toolbar-state.test.js} +7 -7
  46. package/LexicalEditor/utils/synchronize-toolbar-state.test.js.map +1 -0
  47. package/LexicalEditor/utils/{toolbarState.js → toolbar-state.js} +1 -1
  48. package/LexicalEditor/utils/toolbar-state.js.map +1 -0
  49. package/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.js +16 -2
  50. package/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.js.map +1 -1
  51. package/RichText/components/CodeBlock.d.ts +6 -0
  52. package/RichText/components/CodeBlock.js +10 -0
  53. package/RichText/components/CodeBlock.js.map +1 -0
  54. package/RichText/components/index.d.ts +2 -0
  55. package/RichText/components/index.js +2 -0
  56. package/RichText/components/index.js.map +1 -1
  57. package/RichText/components/styles.d.ts +4 -10
  58. package/RichText/components/styles.js +17 -0
  59. package/RichText/components/styles.js.map +1 -1
  60. package/RichText/hooks/useRichText/useRichText.js +2 -2
  61. package/RichText/hooks/useRichText/useRichText.js.map +1 -1
  62. package/RichText/types.d.ts +1 -1
  63. package/RichTextEditor/hooks/useTypographyClasses/index.d.ts +1 -1
  64. package/RichTextEditor/hooks/useTypographyClasses/index.js +1 -1
  65. package/RichTextEditor/hooks/useTypographyClasses/index.js.map +1 -1
  66. package/RichTextEditor/hooks/useTypographyClasses/{useTypographyClasses.js → use-typography-classes.js} +1 -1
  67. package/RichTextEditor/hooks/useTypographyClasses/use-typography-classes.js.map +1 -0
  68. package/RichTextEditor/store/toolbar/{actionTypes.js → action-types.js} +1 -1
  69. package/RichTextEditor/store/toolbar/action-types.js.map +1 -0
  70. package/RichTextEditor/store/toolbar/actions.js +1 -1
  71. package/RichTextEditor/store/toolbar/actions.js.map +1 -1
  72. package/RichTextEditor/store/toolbar/index.d.ts +2 -2
  73. package/RichTextEditor/store/toolbar/index.js +2 -2
  74. package/RichTextEditor/store/toolbar/index.js.map +1 -1
  75. package/RichTextEditor/store/toolbar/{initialState.js → initial-state.js} +1 -1
  76. package/RichTextEditor/store/toolbar/initial-state.js.map +1 -0
  77. package/RichTextEditor/store/toolbar/reducer.js +2 -2
  78. package/RichTextEditor/store/toolbar/reducer.js.map +1 -1
  79. package/RichTextEditor/store/toolbar/types.d.ts +1 -1
  80. package/RichTextEditor/styles.js +1 -1
  81. package/RichTextEditor/styles.js.map +1 -1
  82. package/RichTextEditorToolbar/RichTextEditorToolbar.js +5 -4
  83. package/RichTextEditorToolbar/RichTextEditorToolbar.js.map +1 -1
  84. package/index.d.ts +1 -1
  85. package/index.js +1 -1
  86. package/index.js.map +1 -1
  87. package/package.json +2 -2
  88. package/plugins/CodeBlockPlugin/CodeBlockButton.d.ts +6 -0
  89. package/plugins/CodeBlockPlugin/CodeBlockButton.js +98 -0
  90. package/plugins/CodeBlockPlugin/CodeBlockButton.js.map +1 -0
  91. package/plugins/CodeBlockPlugin/CodeBlockPlugin.d.ts +8 -0
  92. package/plugins/CodeBlockPlugin/CodeBlockPlugin.js +43 -0
  93. package/plugins/CodeBlockPlugin/CodeBlockPlugin.js.map +1 -0
  94. package/plugins/CodeBlockPlugin/index.d.ts +1 -0
  95. package/plugins/CodeBlockPlugin/index.js +2 -0
  96. package/plugins/CodeBlockPlugin/index.js.map +1 -0
  97. package/plugins/CodeBlockPlugin/nodes/CodeBlockNode.d.ts +18 -0
  98. package/plugins/CodeBlockPlugin/nodes/CodeBlockNode.js +135 -0
  99. package/plugins/CodeBlockPlugin/nodes/CodeBlockNode.js.map +1 -0
  100. package/plugins/CodeBlockPlugin/nodes/CodeBlockTextNode.d.ts +14 -0
  101. package/plugins/CodeBlockPlugin/nodes/CodeBlockTextNode.js +43 -0
  102. package/plugins/CodeBlockPlugin/nodes/CodeBlockTextNode.js.map +1 -0
  103. package/plugins/CodeBlockPlugin/nodes/index.d.ts +8 -0
  104. package/plugins/CodeBlockPlugin/nodes/index.js +15 -0
  105. package/plugins/CodeBlockPlugin/nodes/index.js.map +1 -0
  106. package/plugins/CodeBlockPlugin/utils/getFirstCodeNodeOfLine.d.ts +4 -0
  107. package/plugins/CodeBlockPlugin/utils/getFirstCodeNodeOfLine.js +12 -0
  108. package/plugins/CodeBlockPlugin/utils/getFirstCodeNodeOfLine.js.map +1 -0
  109. package/plugins/CodeBlockPlugin/utils/getFirstCodeNodeOfLine.test.d.ts +1 -0
  110. package/plugins/CodeBlockPlugin/utils/getFirstCodeNodeOfLine.test.js +66 -0
  111. package/plugins/CodeBlockPlugin/utils/getFirstCodeNodeOfLine.test.js.map +1 -0
  112. package/plugins/CodeBlockPlugin/utils/index.d.ts +1 -0
  113. package/plugins/CodeBlockPlugin/utils/index.js +2 -0
  114. package/plugins/CodeBlockPlugin/utils/index.js.map +1 -0
  115. package/plugins/CodePlugin/CodeButton.js +3 -2
  116. package/plugins/CodePlugin/CodeButton.js.map +1 -1
  117. package/plugins/HeadingsReplacementPlugin/utils/index.d.ts +1 -1
  118. package/plugins/HeadingsReplacementPlugin/utils/index.js +1 -1
  119. package/plugins/HeadingsReplacementPlugin/utils/index.js.map +1 -1
  120. package/plugins/HeadingsReplacementPlugin/utils/{replaceHeadingNodes.js → replace-heading-nodes.js} +1 -1
  121. package/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.js.map +1 -0
  122. package/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.test.d.ts +1 -0
  123. package/plugins/HeadingsReplacementPlugin/utils/{replaceHeadingNodes.test.js → replace-heading-nodes.test.js} +2 -2
  124. package/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.test.js.map +1 -0
  125. package/plugins/ImagePlugin/components/ImagePluginButton/ImagePluginButton.js +2 -2
  126. package/plugins/ImagePlugin/components/ImagePluginButton/ImagePluginButton.js.map +1 -1
  127. package/plugins/LinkPlugin/LinkPluginButton.js +4 -3
  128. package/plugins/LinkPlugin/LinkPluginButton.js.map +1 -1
  129. package/plugins/api.d.ts +2 -0
  130. package/plugins/api.js +10 -3
  131. package/plugins/api.js.map +1 -1
  132. package/plugins/index.d.ts +1 -0
  133. package/plugins/index.js +1 -0
  134. package/plugins/index.js.map +1 -1
  135. package/utils/html-to-hast.js +1 -0
  136. package/utils/html-to-hast.js.map +1 -1
  137. package/LexicalEditor/hooks/useOnFocus/useOnFocus.js.map +0 -1
  138. package/LexicalEditor/hooks/useTypographyClasses/useTypographyClasses.js.map +0 -1
  139. package/LexicalEditor/utils/cleanupHtmlOutput.js.map +0 -1
  140. package/LexicalEditor/utils/cleanupHtmlOutput.test.js.map +0 -1
  141. package/LexicalEditor/utils/createLexicalTheme.js.map +0 -1
  142. package/LexicalEditor/utils/getDomValue.js.map +0 -1
  143. package/LexicalEditor/utils/getDomValue.test.js.map +0 -1
  144. package/LexicalEditor/utils/getLexicalNode.js.map +0 -1
  145. package/LexicalEditor/utils/getSelectedNode.js.map +0 -1
  146. package/LexicalEditor/utils/registerLexicalEvents.js.map +0 -1
  147. package/LexicalEditor/utils/registerLexicalEvents.test.js.map +0 -1
  148. package/LexicalEditor/utils/setEditorValue.js.map +0 -1
  149. package/LexicalEditor/utils/synchronizeToolbarState.js.map +0 -1
  150. package/LexicalEditor/utils/synchronizeToolbarState.test.js.map +0 -1
  151. package/LexicalEditor/utils/toolbarState.js.map +0 -1
  152. package/RichTextEditor/hooks/useTypographyClasses/useTypographyClasses.js.map +0 -1
  153. package/RichTextEditor/store/toolbar/actionTypes.js.map +0 -1
  154. package/RichTextEditor/store/toolbar/initialState.js.map +0 -1
  155. package/plugins/HeadingsReplacementPlugin/utils/replaceHeadingNodes.js.map +0 -1
  156. package/plugins/HeadingsReplacementPlugin/utils/replaceHeadingNodes.test.js.map +0 -1
  157. /package/LexicalEditor/hooks/useOnFocus/{useOnFocus.d.ts → use-on-focus.d.ts} +0 -0
  158. /package/LexicalEditor/hooks/useTypographyClasses/{useTypographyClasses.d.ts → use-typography-classes.d.ts} +0 -0
  159. /package/LexicalEditor/utils/{cleanupHtmlOutput.d.ts → cleanup-html-output.d.ts} +0 -0
  160. /package/LexicalEditor/utils/{cleanupHtmlOutput.test.d.ts → cleanup-html-output.test.d.ts} +0 -0
  161. /package/LexicalEditor/utils/{createLexicalTheme.d.ts → create-lexical-theme.d.ts} +0 -0
  162. /package/LexicalEditor/utils/{getDomValue.d.ts → get-dom-value.d.ts} +0 -0
  163. /package/LexicalEditor/utils/{getDomValue.test.d.ts → get-dom-value.test.d.ts} +0 -0
  164. /package/LexicalEditor/utils/{getLexicalNode.d.ts → get-lexical-node.d.ts} +0 -0
  165. /package/LexicalEditor/utils/{getSelectedNode.d.ts → get-selected-node.d.ts} +0 -0
  166. /package/LexicalEditor/utils/{registerLexicalEvents.test.d.ts → hasChildDOMNodeTag.test.d.ts} +0 -0
  167. /package/LexicalEditor/utils/{registerLexicalEvents.d.ts → register-lexical-events.d.ts} +0 -0
  168. /package/LexicalEditor/utils/{synchronizeToolbarState.test.d.ts → register-lexical-events.test.d.ts} +0 -0
  169. /package/LexicalEditor/utils/{setEditorValue.d.ts → set-editor-value.d.ts} +0 -0
  170. /package/{plugins/HeadingsReplacementPlugin/utils/replaceHeadingNodes.test.d.ts → LexicalEditor/utils/synchronize-toolbar-state.test.d.ts} +0 -0
  171. /package/LexicalEditor/utils/{toolbarState.d.ts → toolbar-state.d.ts} +0 -0
  172. /package/RichTextEditor/hooks/useTypographyClasses/{useTypographyClasses.d.ts → use-typography-classes.d.ts} +0 -0
  173. /package/RichTextEditor/store/toolbar/{actionTypes.d.ts → action-types.d.ts} +0 -0
  174. /package/RichTextEditor/store/toolbar/{initialState.d.ts → initial-state.d.ts} +0 -0
  175. /package/plugins/HeadingsReplacementPlugin/utils/{replaceHeadingNodes.d.ts → replace-heading-nodes.d.ts} +0 -0
@@ -1,3 +1,5 @@
1
1
  export { default as Emoji } from './Emoji';
2
2
  export { default as Image } from './Image';
3
+ export { default as CodeBlock } from './CodeBlock';
4
+ export { default as Code } from './Code';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/RichText/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/RichText/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA"}
@@ -1,12 +1,6 @@
1
1
  import type { Theme } from '@material-ui/core/styles';
2
- export declare const codeStyles: ({ palette, typography }: Theme) => {
3
- color: string;
4
- backgroundColor: string | undefined;
5
- border: string;
6
- borderRadius: string;
7
- padding: string;
8
- fontSize: string;
9
- fontFamily: string;
10
- };
11
- declare const _default: (theme: Theme) => import("@material-ui/styles").StyleRules<{}, "code">;
2
+ import type { CSSProperties } from '@material-ui/core/styles/withStyles';
3
+ export declare const codeStyles: ({ palette, typography }: Theme) => CSSProperties;
4
+ export declare const codeBlockStyles: ({ palette, sizes, typography, }: Theme) => CSSProperties;
5
+ declare const _default: (theme: Theme) => import("@material-ui/styles").StyleRules<{}, "code" | "codeBlock">;
12
6
  export default _default;
@@ -1,4 +1,5 @@
1
1
  import { createStyles } from '@material-ui/core/styles';
2
+ import { rem } from '@toptal/picasso-shared';
2
3
  export const codeStyles = ({ palette, typography }) => ({
3
4
  color: palette.red.main,
4
5
  backgroundColor: palette.grey.lighter,
@@ -7,8 +8,24 @@ export const codeStyles = ({ palette, typography }) => ({
7
8
  padding: '1px 0.25rem',
8
9
  fontSize: typography.fontSizes.xsmall,
9
10
  fontFamily: 'monospace',
11
+ textWrap: 'wrap',
12
+ wordBreak: 'break-word',
13
+ });
14
+ export const codeBlockStyles = ({ palette, sizes, typography, }) => ({
15
+ backgroundColor: palette.grey.lighter,
16
+ borderRadius: sizes.borderRadius.small,
17
+ padding: '0.25rem 0.5rem',
18
+ display: 'block',
19
+ fontFamily: 'monospace',
20
+ fontSize: typography.fontSizes.xxsmall,
21
+ lineHeight: rem('18px'),
22
+ color: palette.common.black,
23
+ textWrap: 'wrap',
24
+ wordBreak: 'break-word',
25
+ margin: 0,
10
26
  });
11
27
  export default (theme) => createStyles({
12
28
  code: codeStyles(theme),
29
+ codeBlock: codeBlockStyles(theme),
13
30
  });
14
31
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/RichText/components/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAS,EAAE,EAAE,CAAC,CAAC;IAC7D,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;IACvB,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;IACrC,MAAM,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;IACzC,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM;IACrC,UAAU,EAAE,WAAW;CACxB,CAAC,CAAA;AAEF,eAAe,CAAC,KAAY,EAAE,EAAE,CAC9B,YAAY,CAAC;IACX,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;CACxB,CAAC,CAAA"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/RichText/components/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAS,EAAiB,EAAE,CAAC,CAAC;IAC5E,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;IACvB,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;IACrC,MAAM,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;IACzC,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM;IACrC,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,YAAY;CACxB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,UAAU,GACJ,EAAiB,EAAE,CAAC,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;IACrC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK;IACtC,OAAO,EAAE,gBAAgB;IACzB,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,OAAO;IACtC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;IAC3B,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,CAAC;CACV,CAAC,CAAA;AAEF,eAAe,CAAC,KAAY,EAAE,EAAE,CAC9B,YAAY,CAAC;IACX,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;IACvB,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC;CAClC,CAAC,CAAA"}
@@ -16,9 +16,8 @@ import Container from '@toptal/picasso/Container';
16
16
  import List from '@toptal/picasso/List';
17
17
  import ListItem from '@toptal/picasso/ListItem';
18
18
  import Link from '@toptal/picasso/Link';
19
- import { Emoji, Image } from '../../components';
19
+ import { Emoji, Image, Code, CodeBlock } from '../../components';
20
20
  import { isCustomEmoji } from '../../../utils';
21
- import Code from '../../components/Code';
22
21
  // List internaly passes another props to ListItem
23
22
  const Li = (_a) => {
24
23
  var { children } = _a, props = __rest(_a, ["children"]);
@@ -51,6 +50,7 @@ const componentMap = {
51
50
  a: A,
52
51
  img: Img,
53
52
  code: Code,
53
+ pre: CodeBlock,
54
54
  };
55
55
  const picassoMapper = (child) => {
56
56
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"file":"useRichText.js","sourceRoot":"","sources":["../../../../src/RichText/hooks/useRichText/useRichText.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useRichText.js","sourceRoot":"","sources":["../../../../src/RichText/hooks/useRichText/useRichText.tsx"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export declare type TextType = {
4
4
  };
5
5
  export declare type ElementType = {
6
6
  type: 'element';
7
- tagName: 'p' | 'h3' | 'strong' | 'em' | 'ul' | 'ol' | 'li' | 'br' | 'a' | 'img' | 'code';
7
+ tagName: 'p' | 'h3' | 'strong' | 'em' | 'ul' | 'ol' | 'li' | 'br' | 'a' | 'img' | 'code' | 'pre';
8
8
  properties: {};
9
9
  children: ASTChildType[];
10
10
  };
@@ -1 +1 @@
1
- export { default } from './useTypographyClasses';
1
+ export { default } from './use-typography-classes';
@@ -1,2 +1,2 @@
1
- export { default } from './useTypographyClasses';
1
+ export { default } from './use-typography-classes';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/hooks/useTypographyClasses/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/hooks/useTypographyClasses/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA"}
@@ -8,4 +8,4 @@ const useTypographyClasses = (options) => {
8
8
  return getTypographyClassName(classes, options);
9
9
  };
10
10
  export default useTypographyClasses;
11
- //# sourceMappingURL=useTypographyClasses.js.map
11
+ //# sourceMappingURL=use-typography-classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-typography-classes.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/hooks/useTypographyClasses/use-typography-classes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAG1E,MAAM,0BAA0B,GAAG,UAAU,CAAQ,gBAAgB,EAAE;IACrE,IAAI,EAAE,sBAAsB;CAC7B,CAAC,CAAA;AAEF,MAAM,oBAAoB,GAAG,CAAC,OAA0B,EAAU,EAAE;IAClE,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAA;IAE5C,OAAO,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,eAAe,oBAAoB,CAAA"}
@@ -8,4 +8,4 @@ const actionTypes = {
8
8
  link: 'TOOLBAR/LINK',
9
9
  };
10
10
  export default actionTypes;
11
- //# sourceMappingURL=actionTypes.js.map
11
+ //# sourceMappingURL=action-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-types.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/action-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,oBAAoB;IAC5B,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,sBAAsB;IAChC,WAAW,EAAE,sBAAsB;IACnC,IAAI,EAAE,cAAc;CACZ,CAAA;AAEV,eAAe,WAAW,CAAA"}
@@ -1,4 +1,4 @@
1
- import actionTypes from './actionTypes';
1
+ import actionTypes from './action-types';
2
2
  const setBold = (dispatch) => (payload) => dispatch({ type: actionTypes.bold, payload });
3
3
  const setItalic = (dispatch) => (payload) => dispatch({ type: actionTypes.italic, payload });
4
4
  const setHeader = (dispatch) => (payload) => dispatch({ type: actionTypes.header, payload });
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/actions.ts"],"names":[],"mappings":"AAEA,OAAO,WAAW,MAAM,eAAe,CAAA;AAWvC,MAAM,OAAO,GACX,CAAC,QAAqC,EAAE,EAAE,CAC1C,CAAC,OAAqC,EAAE,EAAE,CACxC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAEjD,MAAM,SAAS,GACb,CAAC,QAAuC,EAAE,EAAE,CAC5C,CAAC,OAAuC,EAAE,EAAE,CAC1C,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AAEnD,MAAM,SAAS,GACb,CAAC,QAAuC,EAAE,EAAE,CAC5C,CAAC,OAAuC,EAAE,EAAE,CAC1C,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AAEnD,MAAM,OAAO,GACX,CAAC,QAAqC,EAAE,EAAE,CAC1C,CAAC,OAAqC,EAAE,EAAE,CACxC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAEjD,MAAM,OAAO,GACX,CAAC,QAAqC,EAAE,EAAE,CAC1C,CAAC,OAAqC,EAAE,EAAE,CACxC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAEjD,MAAM,WAAW,GAAG,CAAC,QAA+B,EAAE,EAAE,CAAC,CAAC,OAAgB,EAAE,EAAE,CAC5E,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;AAEnD,MAAM,WAAW,GAAG,CAAC,QAAmC,EAAE,EAAE,CAAC,GAAG,EAAE,CAChE,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;AAE7C,MAAM,OAAO,GAAG;IACd,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,WAAW;IACX,WAAW;CACZ,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/actions.ts"],"names":[],"mappings":"AAEA,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAWxC,MAAM,OAAO,GACX,CAAC,QAAqC,EAAE,EAAE,CAC1C,CAAC,OAAqC,EAAE,EAAE,CACxC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAEjD,MAAM,SAAS,GACb,CAAC,QAAuC,EAAE,EAAE,CAC5C,CAAC,OAAuC,EAAE,EAAE,CAC1C,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AAEnD,MAAM,SAAS,GACb,CAAC,QAAuC,EAAE,EAAE,CAC5C,CAAC,OAAuC,EAAE,EAAE,CAC1C,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AAEnD,MAAM,OAAO,GACX,CAAC,QAAqC,EAAE,EAAE,CAC1C,CAAC,OAAqC,EAAE,EAAE,CACxC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAEjD,MAAM,OAAO,GACX,CAAC,QAAqC,EAAE,EAAE,CAC1C,CAAC,OAAqC,EAAE,EAAE,CACxC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAEjD,MAAM,WAAW,GAAG,CAAC,QAA+B,EAAE,EAAE,CAAC,CAAC,OAAgB,EAAE,EAAE,CAC5E,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;AAEnD,MAAM,WAAW,GAAG,CAAC,QAAmC,EAAE,EAAE,CAAC,GAAG,EAAE,CAChE,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;AAE7C,MAAM,OAAO,GAAG;IACd,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,WAAW;IACX,WAAW;CACZ,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import actions from './actions';
2
2
  import reducer from './reducer';
3
- import initialState from './initialState';
4
- import actionTypes from './actionTypes';
3
+ import initialState from './initial-state';
4
+ import actionTypes from './action-types';
5
5
  export * from './types';
6
6
  export { actions, actionTypes, reducer, initialState };
@@ -1,7 +1,7 @@
1
1
  import actions from './actions';
2
2
  import reducer from './reducer';
3
- import initialState from './initialState';
4
- import actionTypes from './actionTypes';
3
+ import initialState from './initial-state';
4
+ import actionTypes from './action-types';
5
5
  export * from './types';
6
6
  export { actions, actionTypes, reducer, initialState };
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAC1C,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -9,4 +9,4 @@ const initialState = {
9
9
  disabled: true,
10
10
  };
11
11
  export default initialState;
12
- //# sourceMappingURL=initialState.js.map
12
+ //# sourceMappingURL=initial-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initial-state.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/initial-state.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAqB;IACrC,MAAM,EAAE;QACN,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,EAAE;KACT;IACD,QAAQ,EAAE,IAAI;CACf,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1,5 +1,5 @@
1
- import actionTypes from './actionTypes';
2
- import initialState from './initialState';
1
+ import actionTypes from './action-types';
2
+ import initialState from './initial-state';
3
3
  const reducer = (state = initialState, action) => {
4
4
  switch (action.type) {
5
5
  case actionTypes.bold:
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,MAAM,OAAO,GAAuB,CAAC,KAAK,GAAG,YAAY,EAAE,MAAM,EAAE,EAAE;IACnE,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,WAAW,CAAC,IAAI;YACnB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,OAChD;QACH,KAAK,WAAW,CAAC,MAAM;YACrB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,MAAM,EAAE,MAAM,CAAC,OAAO,OAClD;QACH,KAAK,WAAW,CAAC,MAAM;YACrB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,MAAM,EAAE,MAAM,CAAC,OAAO,OAClD;QACH,KAAK,WAAW,CAAC,IAAI;YACnB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,OAChD;QACH,KAAK,WAAW,CAAC,IAAI;YACnB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,OAChD;QACH,KAAK,WAAW,CAAC,QAAQ;YACvB,uCACK,KAAK,KACR,QAAQ,EAAE,MAAM,CAAC,OAAO,IACzB;QAEH,KAAK,WAAW,CAAC,WAAW;YAC1B,uCACK,KAAK,KACR,MAAM,EAAE,YAAY,CAAC,MAAM,IAC5B;QAEH;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../../src/RichTextEditor/store/toolbar/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAE1C,MAAM,OAAO,GAAuB,CAAC,KAAK,GAAG,YAAY,EAAE,MAAM,EAAE,EAAE;IACnE,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,WAAW,CAAC,IAAI;YACnB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,OAChD;QACH,KAAK,WAAW,CAAC,MAAM;YACrB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,MAAM,EAAE,MAAM,CAAC,OAAO,OAClD;QACH,KAAK,WAAW,CAAC,MAAM;YACrB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,MAAM,EAAE,MAAM,CAAC,OAAO,OAClD;QACH,KAAK,WAAW,CAAC,IAAI;YACnB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,OAChD;QACH,KAAK,WAAW,CAAC,IAAI;YACnB,uCACK,KAAK,KACR,MAAM,kCAAO,KAAK,CAAC,MAAM,KAAE,IAAI,EAAE,MAAM,CAAC,OAAO,OAChD;QACH,KAAK,WAAW,CAAC,QAAQ;YACvB,uCACK,KAAK,KACR,QAAQ,EAAE,MAAM,CAAC,OAAO,IACzB;QAEH,KAAK,WAAW,CAAC,WAAW;YAC1B,uCACK,KAAK,KACR,MAAM,EAAE,YAAY,CAAC,MAAM,IAC5B;QAEH;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -1,4 +1,4 @@
1
- import type actionTypes from './actionTypes';
1
+ import type actionTypes from './action-types';
2
2
  export declare type HeaderValue = '3' | '';
3
3
  export declare type BoldValue = boolean;
4
4
  export declare type ItalicValue = boolean;
@@ -1,6 +1,6 @@
1
1
  import { outline } from '@toptal/picasso-shared';
2
2
  import { createStyles } from '@material-ui/core/styles';
3
- import highlightAutofillStyles from '@toptal/picasso/InputBase/highlightStyles';
3
+ import highlightAutofillStyles from '@toptal/picasso/InputBase/highlight-styles';
4
4
  export default (theme) => {
5
5
  const { palette, sizes } = theme;
6
6
  return createStyles(Object.assign({ editorWrapper: {
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/RichTextEditor/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,uBAAuB,MAAM,2CAA2C,CAAA;AAE/E,eAAe,CAAC,KAAY,EAAE,EAAE;IAC9B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAEhC,OAAO,YAAY,iBACjB,aAAa,EAAE;YACb,QAAQ,EAAE,UAAU;YACpB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK;YACtC,MAAM,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;YAC1C,OAAO,EAAE,OAAO;YAEhB,oCAAoC,EAAE;gBACpC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;aAChC;SACF,EAED,QAAQ,EAAE;YACR,aAAa,EAAE,MAAM;YACrB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;YAChC,MAAM,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;SAC7C,EAED,KAAK,EAAE;YACL,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;YAC7B,WAAW,kBACT,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAC1B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAC7B;SACF,EAED,OAAO,kBACL,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAC5B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAG/B,uBAAuB,CAAC,KAAK,CAAC,EACjC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/RichTextEditor/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,uBAAuB,MAAM,4CAA4C,CAAA;AAEhF,eAAe,CAAC,KAAY,EAAE,EAAE;IAC9B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAEhC,OAAO,YAAY,iBACjB,aAAa,EAAE;YACb,QAAQ,EAAE,UAAU;YACpB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK;YACtC,MAAM,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;YAC1C,OAAO,EAAE,OAAO;YAEhB,oCAAoC,EAAE;gBACpC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;aAChC;SACF,EAED,QAAQ,EAAE;YACR,aAAa,EAAE,MAAM;YACrB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;YAChC,MAAM,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;SAC7C,EAED,KAAK,EAAE;YACL,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;YAC7B,WAAW,kBACT,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAC1B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAC7B;SACF,EAED,OAAO,kBACL,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAC5B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAG/B,uBAAuB,CAAC,KAAK,CAAC,EACjC,CAAA;AACJ,CAAC,CAAA"}
@@ -3,7 +3,7 @@ import { Bold16, Container, Italic16, ListOrdered16, ListUnordered16, Select, }
3
3
  import { useMultipleForwardRefs } from '@toptal/picasso/utils';
4
4
  import cx from 'classnames';
5
5
  import React, { forwardRef } from 'react';
6
- import { useToolbarPortalRegister } from '../plugins/api';
6
+ import { useRTEPluginContext, useToolbarPortalRegister } from '../plugins/api';
7
7
  import TextEditorButton from '../RichTextEditorButton';
8
8
  import styles from './styles';
9
9
  const useStyles = makeStyles(styles, {
@@ -13,9 +13,10 @@ export const ALLOWED_HEADER_TYPE = '3';
13
13
  export const RichTextEditorToolbar = forwardRef(function RichTextEditorToolbar(props, ref) {
14
14
  const { disabled, format, onBoldClick, onItalicClick, onHeaderChange, onUnorderedClick, onOrderedClick, testIds, id, } = props;
15
15
  const { setToolbarPortalEl } = useToolbarPortalRegister();
16
+ const { disabledFormatting } = useRTEPluginContext();
16
17
  const toolbarRef = useMultipleForwardRefs([ref, setToolbarPortalEl]);
17
18
  const classes = useStyles(props);
18
- const isHeadingFormat = format.header === ALLOWED_HEADER_TYPE;
19
+ const isInlineFormattingDisabled = disabled || disabledFormatting;
19
20
  return (React.createElement(Container, { ref: toolbarRef, id: `${id}toolbar`, className: classes.toolbar },
20
21
  React.createElement(Container, { className: cx(classes.group, {
21
22
  groupDisabled: disabled,
@@ -25,8 +26,8 @@ export const RichTextEditorToolbar = forwardRef(function RichTextEditorToolbar(p
25
26
  { value: '', text: 'normal' },
26
27
  ], size: 'small', menuWidth: '123px', className: classes.select, disabled: disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.headerSelect })),
27
28
  React.createElement(Container, { className: classes.group },
28
- React.createElement(TextEditorButton, { icon: React.createElement(Bold16, null), onClick: onBoldClick, active: isHeadingFormat ? false : format.bold, disabled: isHeadingFormat || disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.boldButton }),
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 })),
29
+ React.createElement(TextEditorButton, { icon: React.createElement(Bold16, null), onClick: onBoldClick, active: isInlineFormattingDisabled ? false : format.bold, disabled: isInlineFormattingDisabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.boldButton }),
30
+ React.createElement(TextEditorButton, { icon: React.createElement(Italic16, null), onClick: onItalicClick, active: isInlineFormattingDisabled ? false : format.italic, disabled: isInlineFormattingDisabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.italicButton })),
30
31
  React.createElement(Container, { className: classes.group },
31
32
  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 }),
32
33
  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 }))));
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextEditorToolbar.js","sourceRoot":"","sources":["../../src/RichTextEditorToolbar/RichTextEditorToolbar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RichTextEditorToolbar.js","sourceRoot":"","sources":["../../src/RichTextEditorToolbar/RichTextEditorToolbar.tsx"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -2,5 +2,5 @@ export { default as RichTextEditor } from './RichTextEditor';
2
2
  export type { RichTextEditorProps, RichTextEditorChangeHandler, } from './RichTextEditor';
3
3
  export { default as RichText } from './RichText';
4
4
  export type { RichTextProps, ASTType } from './RichText';
5
- export { ImagePlugin, EmojiPlugin, LinkPlugin, CodePlugin } from './plugins';
5
+ export { ImagePlugin, EmojiPlugin, LinkPlugin, CodePlugin, CodeBlockPlugin, } from './plugins';
6
6
  export type { UploadedImage, CustomEmoji, CustomEmojiGroup } from './plugins';
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { default as RichTextEditor } from './RichTextEditor';
2
2
  export { default as RichText } from './RichText';
3
- export { ImagePlugin, EmojiPlugin, LinkPlugin, CodePlugin } from './plugins';
3
+ export { ImagePlugin, EmojiPlugin, LinkPlugin, CodePlugin, CodeBlockPlugin, } from './plugins';
4
4
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAK5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAK5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,eAAe,GAChB,MAAM,WAAW,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toptal/picasso-rich-text-editor",
3
- "version": "4.2.0",
3
+ "version": "5.0.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",
@@ -23,7 +23,7 @@
23
23
  "url": "https://github.com/toptal/picasso/issues"
24
24
  },
25
25
  "peerDependencies": {
26
- "@toptal/picasso": "^37.1.0",
26
+ "@toptal/picasso": "^37.3.0",
27
27
  "@toptal/picasso-shared": "^12.0.0",
28
28
  "@material-ui/core": "4.12.4",
29
29
  "@lexical/utils": "0.11.2",
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export declare type Props = {
3
+ 'data-testid'?: string;
4
+ };
5
+ declare const CodeBlockButton: ({ "data-testid": testId }: Props) => JSX.Element;
6
+ export default CodeBlockButton;
@@ -0,0 +1,98 @@
1
+ import { CodeBlock16 } from '@toptal/picasso';
2
+ import React, { useCallback, useState } from 'react';
3
+ import { $createLineBreakNode, $createParagraphNode, $getSelection, $isElementNode, $isRangeSelection, ElementNode, } from 'lexical';
4
+ import { $getNearestNodeOfType } from '@lexical/utils';
5
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
6
+ import { $setBlocksType } from '@lexical/selection';
7
+ import { useRTEPluginContext, useRTEUpdate } from '../api';
8
+ import RichTextEditorButton from '../../RichTextEditorButton';
9
+ import { $createCodeBlockTextNode, $createCodeBlockNode, $isCodeBlockNode, } from './nodes';
10
+ import { getSelectedNode } from '../../LexicalEditor/utils';
11
+ // go up through the tree and find the nearest block node (paragraph, heading, list, etc)
12
+ const getParentBlockNode = (node) => {
13
+ if (!node) {
14
+ return null;
15
+ }
16
+ const elementNode = $getNearestNodeOfType(node, ElementNode);
17
+ if (!elementNode) {
18
+ return null;
19
+ }
20
+ if (elementNode.isInline()) {
21
+ return getParentBlockNode(elementNode.getParent());
22
+ }
23
+ return elementNode;
24
+ };
25
+ const getBlockNodesInSelection = () => {
26
+ const selection = $getSelection();
27
+ if (!$isRangeSelection(selection)) {
28
+ return [];
29
+ }
30
+ let blockNodesInSelection = selection
31
+ .getNodes()
32
+ .filter($isElementNode)
33
+ .filter(node => node.isInline() === false);
34
+ const isBlockNodesEmpty = blockNodesInSelection.length === 0;
35
+ if (isBlockNodesEmpty) {
36
+ const selectedNode = getSelectedNode(selection);
37
+ const blockNode = getParentBlockNode(selectedNode);
38
+ if (!blockNode) {
39
+ return [];
40
+ }
41
+ blockNodesInSelection = [blockNode];
42
+ }
43
+ return blockNodesInSelection;
44
+ };
45
+ const appendTextToCodeBlock = (node, codeBlock, isLast) => {
46
+ const text = node.getTextContent();
47
+ if (text) {
48
+ codeBlock.append($createCodeBlockTextNode(text));
49
+ }
50
+ if (!isLast) {
51
+ codeBlock.append($createLineBreakNode());
52
+ }
53
+ };
54
+ const replaceChildrenNodesWithRawText = (selection) => {
55
+ $setBlocksType(selection, () => $createParagraphNode());
56
+ const codeBlock = $createCodeBlockNode();
57
+ const blockNodesInSelection = getBlockNodesInSelection();
58
+ if (blockNodesInSelection.length === 0) {
59
+ return;
60
+ }
61
+ blockNodesInSelection.forEach((node, index) => {
62
+ const isLast = index === blockNodesInSelection.length - 1;
63
+ appendTextToCodeBlock(node, codeBlock, isLast);
64
+ if (isLast) {
65
+ node.insertAfter(codeBlock);
66
+ }
67
+ node.remove();
68
+ });
69
+ codeBlock.select();
70
+ };
71
+ const CodeBlockButton = ({ 'data-testid': testId }) => {
72
+ const [isButtonActive, setButtonActive] = useState(false);
73
+ const [editor] = useLexicalComposerContext();
74
+ const { disabled, focused } = useRTEPluginContext();
75
+ const handleClick = useCallback(() => {
76
+ editor.update(() => {
77
+ const selection = $getSelection();
78
+ if ($isRangeSelection(selection)) {
79
+ if (isButtonActive) {
80
+ return $setBlocksType(selection, () => $createParagraphNode());
81
+ }
82
+ replaceChildrenNodesWithRawText(selection);
83
+ }
84
+ });
85
+ }, [editor, isButtonActive]);
86
+ useRTEUpdate(() => {
87
+ const selection = $getSelection();
88
+ if ($isRangeSelection(selection)) {
89
+ const node = getSelectedNode(selection);
90
+ const parent = node.getParent();
91
+ const isCodeBlockSelected = $isCodeBlockNode(parent) || $isCodeBlockNode(node);
92
+ setButtonActive(isCodeBlockSelected);
93
+ }
94
+ });
95
+ return (React.createElement(RichTextEditorButton, { icon: React.createElement(CodeBlock16, null), onClick: handleClick, active: isButtonActive, disabled: disabled || !focused, "data-testid": testId }));
96
+ };
97
+ export default CodeBlockButton;
98
+ //# sourceMappingURL=CodeBlockButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockButton.js","sourceRoot":"","sources":["../../../src/plugins/CodeBlockPlugin/CodeBlockButton.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { RTEPlugin } from '../api';
2
+ export declare type Props = {
3
+ testIds?: {
4
+ button?: string;
5
+ };
6
+ };
7
+ declare const CodeBlockPlugin: RTEPlugin<Props>;
8
+ export default CodeBlockPlugin;
@@ -0,0 +1,43 @@
1
+ import React, { useEffect } from 'react';
2
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
3
+ import { mergeRegister } from '@lexical/utils';
4
+ import { $createTextNode, TextNode } from 'lexical';
5
+ import { RTEPluginMeta, Toolbar } from '../api';
6
+ import CodeBlockButton from './CodeBlockButton';
7
+ import { $isCodeBlockNode, CodeBlockNode, $createCodeBlockTextNode, CodeBlockTextNode, } from './nodes';
8
+ const PLUGIN_NAME = 'code-block';
9
+ const textNodeTransform = (node) => {
10
+ // Since CodeNode has flat children structure we only need to check
11
+ // if node's parent is a code node and run highlighting if so
12
+ const parentNode = node.getParent();
13
+ if ($isCodeBlockNode(parentNode)) {
14
+ const text = node.getTextContent();
15
+ const codeTextNode = $createCodeBlockTextNode(text);
16
+ node.replace(codeTextNode);
17
+ }
18
+ };
19
+ // when code block is converted to paragraph
20
+ const codeBlockTextNodeTransform = (node) => {
21
+ const parentNode = node.getParent();
22
+ if ($isCodeBlockNode(parentNode)) {
23
+ return;
24
+ }
25
+ node.replace($createTextNode(node.__text));
26
+ };
27
+ const CodeBlockPlugin = ({ testIds = {} }) => {
28
+ const [editor] = useLexicalComposerContext();
29
+ useEffect(() => {
30
+ return mergeRegister(editor.registerNodeTransform(TextNode, textNodeTransform), editor.registerNodeTransform(CodeBlockTextNode, codeBlockTextNodeTransform));
31
+ }, [editor]);
32
+ return (React.createElement(React.Fragment, null,
33
+ React.createElement(Toolbar, { keyName: PLUGIN_NAME },
34
+ React.createElement(CodeBlockButton, { "data-testid": testIds.button }))));
35
+ };
36
+ CodeBlockPlugin[RTEPluginMeta] = {
37
+ name: PLUGIN_NAME,
38
+ lexical: {
39
+ nodes: [CodeBlockNode, CodeBlockTextNode],
40
+ },
41
+ };
42
+ export default CodeBlockPlugin;
43
+ //# sourceMappingURL=CodeBlockPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockPlugin.js","sourceRoot":"","sources":["../../../src/plugins/CodeBlockPlugin/CodeBlockPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,GAAG,YAAY,CAAA;AAQhC,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAQ,EAAE;IACjD,mEAAmE;IACnE,6DAA6D;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;IAEnC,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAElC,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAA;QAEnD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;KAC3B;AACH,CAAC,CAAA;AAED,4CAA4C;AAC5C,MAAM,0BAA0B,GAAG,CAAC,IAAuB,EAAQ,EAAE;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;IAEnC,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE;QAChC,OAAM;KACP;IAED,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,eAAe,GAAqB,CAAC,EAAE,OAAO,GAAG,EAAE,EAAS,EAAE,EAAE;IACpE,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,aAAa,CAClB,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EACzD,MAAM,CAAC,qBAAqB,CAC1B,iBAAiB,EACjB,0BAA0B,CAC3B,CACF,CAAA;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,CACL;QACE,oBAAC,OAAO,IAAC,OAAO,EAAE,WAAW;YAC3B,oBAAC,eAAe,mBAAc,OAAO,CAAC,MAAM,GAAI,CACxC,CACT,CACJ,CAAA;AACH,CAAC,CAAA;AAED,eAAe,CAAC,aAAa,CAAC,GAAG;IAC/B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE;QACP,KAAK,EAAE,CAAC,aAAa,EAAE,iBAAiB,CAAC;KAC1C;CACF,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1 @@
1
+ export { default, Props } from './CodeBlockPlugin';
@@ -0,0 +1,2 @@
1
+ export { default } from './CodeBlockPlugin';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/CodeBlockPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { DOMConversionMap, DOMExportOutput, EditorConfig, NodeKey, ParagraphNode, RangeSelection, SerializedElementNode } from 'lexical';
2
+ import { ElementNode } from 'lexical';
3
+ import type { CodeBlockTextNode } from '../nodes';
4
+ export declare class CodeBlockNode extends ElementNode {
5
+ static getType(): string;
6
+ static clone(node: CodeBlockNode): CodeBlockNode;
7
+ constructor(key?: NodeKey);
8
+ createDOM(config: EditorConfig): HTMLElement;
9
+ updateDOM(): boolean;
10
+ exportDOM(): DOMExportOutput;
11
+ static importDOM(): DOMConversionMap | null;
12
+ static importJSON(serializedNode: SerializedElementNode): CodeBlockNode;
13
+ exportJSON(): SerializedElementNode;
14
+ canIndent(): boolean;
15
+ extractWithChild(): boolean;
16
+ insertNewAfter(selection: RangeSelection, restoreSelection?: boolean): null | ParagraphNode | CodeBlockTextNode;
17
+ collapseAtStart(): boolean;
18
+ }