@bigbinary/neeto-editor 1.47.117 → 1.47.118

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 (46) hide show
  1. package/dist/Attachments.js +1 -1
  2. package/dist/Editor.js +2 -2
  3. package/dist/FormikEditor.js +1 -1
  4. package/dist/{chunk-C2YYL9vY.js → chunk-Ck5Gyhaq.js} +8 -4
  5. package/dist/chunk-Ck5Gyhaq.js.map +1 -0
  6. package/dist/{chunk-3JO2B_HR.js → chunk-DSFIk2ef.js} +3 -2
  7. package/dist/chunk-DSFIk2ef.js.map +1 -0
  8. package/dist/{chunk-BO6bjSuY.js → chunk-DdxH-PMo.js} +2 -2
  9. package/dist/{chunk-BO6bjSuY.js.map → chunk-DdxH-PMo.js.map} +1 -1
  10. package/dist/{chunk-CNWsmIz_.js → chunk-W5-WB6Fb.js} +11 -11
  11. package/dist/chunk-W5-WB6Fb.js.map +1 -0
  12. package/dist/cjs/Attachments.cjs.js +1 -1
  13. package/dist/cjs/Editor.cjs.js +2 -2
  14. package/dist/cjs/FormikEditor.cjs.js +1 -1
  15. package/dist/cjs/{chunk-BYyLrDTW.cjs.js → chunk-62QG5j0v.cjs.js} +3 -2
  16. package/dist/cjs/chunk-62QG5j0v.cjs.js.map +1 -0
  17. package/dist/cjs/{chunk-BzPTK6pP.cjs.js → chunk-Cqq9Q2Ty.cjs.js} +8 -4
  18. package/dist/cjs/chunk-Cqq9Q2Ty.cjs.js.map +1 -0
  19. package/dist/cjs/{chunk-DRB71ojr.cjs.js → chunk-D8Uup1eh.cjs.js} +2 -2
  20. package/dist/cjs/{chunk-DRB71ojr.cjs.js.map → chunk-D8Uup1eh.cjs.js.map} +1 -1
  21. package/dist/cjs/{chunk-CIuJ_EMY.cjs.js → chunk-DE_yHAbe.cjs.js} +11 -11
  22. package/dist/cjs/chunk-DE_yHAbe.cjs.js.map +1 -0
  23. package/dist/cjs/index.cjs.js +2 -2
  24. package/dist/cjs/v2/Editor.cjs.js +81 -43
  25. package/dist/cjs/v2/Editor.cjs.js.map +1 -1
  26. package/dist/cjs/v2/EditorContent.cjs.js +1 -1
  27. package/dist/cjs/v2/FormikEditor.cjs.js +1 -1
  28. package/dist/cjs/v2/Menu.cjs.js +1 -1
  29. package/dist/cjs/v2/index.cjs.js +2 -2
  30. package/dist/editor-stats.html +2 -2
  31. package/dist/index.js +2 -2
  32. package/dist/v2/Editor.js +84 -46
  33. package/dist/v2/Editor.js.map +1 -1
  34. package/dist/v2/EditorContent.js +1 -1
  35. package/dist/v2/FormikEditor.js +1 -1
  36. package/dist/v2/Menu.js +1 -1
  37. package/dist/v2/index.js +2 -2
  38. package/dist/v2/styles.css +1 -1
  39. package/dist/v2/styles.js +1 -1
  40. package/package.json +1 -1
  41. package/dist/chunk-3JO2B_HR.js.map +0 -1
  42. package/dist/chunk-C2YYL9vY.js.map +0 -1
  43. package/dist/chunk-CNWsmIz_.js.map +0 -1
  44. package/dist/cjs/chunk-BYyLrDTW.cjs.js.map +0 -1
  45. package/dist/cjs/chunk-BzPTK6pP.cjs.js.map +0 -1
  46. package/dist/cjs/chunk-CIuJ_EMY.cjs.js.map +0 -1
package/dist/v2/Editor.js CHANGED
@@ -3,12 +3,12 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
3
3
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
4
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
5
  import React__default, { memo, useState, useRef, useCallback, useEffect, createElement, forwardRef, useImperativeHandle } from 'react';
6
- import { DropdownMenu, Input, Button, Spinner, Dialog, Tooltip, Toastr, Avatar, Typography, Select, Checkbox as Checkbox$1, Label } from '@bigbinary/neeto-atoms';
6
+ import { DropdownMenu, Input, Button, Spinner, Tooltip, Toastr, Avatar, Typography, Select, Dialog, Checkbox as Checkbox$1, Label } from '@bigbinary/neeto-atoms';
7
7
  import { E as Extension, N as NodeViewWrapper, a as NodeViewContent, b as Node, R as ReactNodeViewRenderer, m as mergeAttributes, D as DecorationSet, c as Decoration, d as ReactRenderer, e as emojiPickerApi, f as markInputRule, I as InputRule, r as resetFocussedNode, h as highlightFocussedNode, P as PasteRule, B as BubbleMenu, i as getMarkType, j as getMarkRange, k as useEditor, l as useEditorState, n as EditorContent, o as EditorView } from '../chunk-BLXUWWgi.js';
8
8
  import classnames from 'classnames';
9
9
  import { isNotPresent, findBy, isNotEmpty, isPresent, noop, slugify } from '@bigbinary/neeto-cist';
10
- import { withT, useOnClickOutside, useFuncDebounce } from '@bigbinary/neeto-commons-frontend/v2/react-utils';
11
- import { flushSync, createPortal } from 'react-dom';
10
+ import { useOnClickOutside, withT, useFuncDebounce } from '@bigbinary/neeto-commons-frontend/v2/react-utils';
11
+ import { createPortal, flushSync } from 'react-dom';
12
12
  import { B as BulletList$1, C as CodeBlockLowlight, S as Suggestion, R as Resizable, I as Italic$1, L as Link$1, s as scrollHandler, M as Mention$1, O as OrderedList$1, D as Document, f as fuzzySearch, T as Table$2, a as TaskList, b as TaskItem, c as CharacterCount, d as Code, H as Highlight, e as TextStyle, U as Underline$1, F as FocusClasses, g as StarterKit, h as TableRow, i as TableHeader, j as TableCell, k as Color, l as ListItem, m as Collaboration, n as CollaborationCursor, u as useFetchKbArticles, y as CellSelection, z as useEditorWarnings, A as useDeletedArticles } from '../chunk-Dj7lS7Cs.js';
13
13
  import { D as DIRECT_UPLOAD_ENDPOINT, E as EDITOR_OPTIONS, C as COMBINED_REGEX, a as EDITOR_SIZES } from '../chunk-DDwycKmK.js';
14
14
  import '../chunk-CF5f8-fy.js';
@@ -16,7 +16,7 @@ import { is, intersection, difference, union, isEmpty, isNil, mergeRight, assoc,
16
16
  import ReactDOM from 'react-dom/server';
17
17
  import { l as lowlight, d as decodeHtmlEntities, r as removeEmptyTags } from '../chunk-BR5ZkH7J.js';
18
18
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
19
- import { C as CALLOUT_TYPES, E as EmojiPickerMenu, v as validateUrl, b as buildLevelsFromOptions, g as getLinkPopoverPosition, L as LINK_VALIDATION_SCHEMA, c as validateAndFormatUrl, D as DEFAULT_EDITOR_OPTIONS, d as getEditorStyles, M as Menu$3, e as MenuDynamicVariables, f as MediaUploader, h as LinkAddPopOver, j as transformPastedHTML, k as clipboardTextParser, s as setInitialPosition } from '../chunk-C2YYL9vY.js';
19
+ import { C as CALLOUT_TYPES, E as EmojiPickerMenu, v as validateUrl, b as buildLevelsFromOptions, g as getLinkPopoverPosition, L as LINK_VALIDATION_SCHEMA, c as validateAndFormatUrl, D as DEFAULT_EDITOR_OPTIONS, d as getEditorStyles, M as Menu$3, e as MenuDynamicVariables, f as MediaUploader, h as LinkAddPopOver, j as transformPastedHTML, k as clipboardTextParser, s as setInitialPosition } from '../chunk-Ck5Gyhaq.js';
20
20
  import Megaphone from '@bigbinary/neeto-icons/misc/Megaphone';
21
21
  import { n as PluginKey, P as Plugin, T as TextSelection } from '../chunk-CBN5naeP.js';
22
22
  import { ChevronDown, Highlighter, X, Ratio, Ellipsis, AlignLeft, AlignCenter, AlignRight, RectangleHorizontal, RectangleVertical, Square, SquareDashed, Trash2, BookOpen, Pencil } from 'lucide-react';
@@ -747,6 +747,23 @@ var DeletedArticleDecoration = Extension.create({
747
747
  }
748
748
  });
749
749
 
750
+ var EditorContainer = Extension.create({
751
+ name: "editorContainer",
752
+ addOptions: function addOptions() {
753
+ return {
754
+ containerRef: null
755
+ };
756
+ },
757
+ addStorage: function addStorage() {
758
+ return {
759
+ containerRef: null
760
+ };
761
+ },
762
+ onBeforeCreate: function onBeforeCreate() {
763
+ this.storage.containerRef = this.options.containerRef;
764
+ }
765
+ });
766
+
750
767
  function ownKeys$i(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
751
768
  function _objectSpread$i(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$i(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
752
769
  var EmojiPickerPluginKey = new PluginKey("emoji-picker");
@@ -778,7 +795,8 @@ var EmojiPicker = Node.create({
778
795
  theme: "light",
779
796
  getReferenceClientRect: props.clientRect,
780
797
  appendTo: function appendTo() {
781
- return document.body;
798
+ var _props$editor$storage, _props$editor;
799
+ return (_props$editor$storage = (_props$editor = props.editor) === null || _props$editor === void 0 || (_props$editor = _props$editor.storage) === null || _props$editor === void 0 || (_props$editor = _props$editor.editorContainer) === null || _props$editor === void 0 || (_props$editor = _props$editor.containerRef) === null || _props$editor === void 0 ? void 0 : _props$editor.current) !== null && _props$editor$storage !== void 0 ? _props$editor$storage : document.body;
782
800
  },
783
801
  content: reactRenderer.element,
784
802
  showOnCreate: true,
@@ -1143,7 +1161,8 @@ var suggestionConfig = {
1143
1161
  theme: "light",
1144
1162
  getReferenceClientRect: props.clientRect,
1145
1163
  appendTo: function appendTo() {
1146
- return document.body;
1164
+ var _props$editor$storage, _props$editor;
1165
+ return (_props$editor$storage = (_props$editor = props.editor) === null || _props$editor === void 0 || (_props$editor = _props$editor.storage) === null || _props$editor === void 0 || (_props$editor = _props$editor.editorContainer) === null || _props$editor === void 0 || (_props$editor = _props$editor.containerRef) === null || _props$editor === void 0 ? void 0 : _props$editor.current) !== null && _props$editor$storage !== void 0 ? _props$editor$storage : document.body;
1147
1166
  },
1148
1167
  content: reactRenderer.element,
1149
1168
  showOnCreate: true,
@@ -1189,43 +1208,50 @@ var ImagePreviewModal = function ImagePreviewModal(_ref) {
1189
1208
  _useState2 = _slicedToArray(_useState, 2),
1190
1209
  isLoading = _useState2[0],
1191
1210
  setIsLoading = _useState2[1];
1192
- var handleImageLoad = function handleImageLoad() {
1193
- return setIsLoading(false);
1194
- };
1211
+ var imagePreviewRef = useRef(null);
1195
1212
  var handleClose = function handleClose() {
1196
1213
  setIsLoading(true);
1197
1214
  setPreviewUrl(null);
1198
1215
  };
1199
- return /*#__PURE__*/jsx(Dialog, {
1200
- className: "image-preview-neeto-ui-modal",
1201
- closeButton: false,
1202
- isOpen: isPresent(previewUrl),
1203
- size: "fullScreen",
1204
- onClose: handleClose,
1205
- children: /*#__PURE__*/jsxs(Fragment, {
1206
- children: [isLoading || isNil(previewUrl) ? /*#__PURE__*/jsx("div", {
1207
- className: "spinner-wrapper",
1208
- children: /*#__PURE__*/jsx(Spinner, {
1209
- className: "spinner"
1216
+ useOnClickOutside(imagePreviewRef, handleClose, {
1217
+ enabled: isPresent(previewUrl)
1218
+ });
1219
+ useEffect(function () {
1220
+ if (!previewUrl || !imagePreviewRef.current) return;
1221
+ imagePreviewRef.current.setAttribute("tabindex", "-1");
1222
+ imagePreviewRef.current.focus();
1223
+ }, [previewUrl]);
1224
+ var handleKeyDown = function handleKeyDown(e) {
1225
+ e.stopPropagation();
1226
+ e.key === "Escape" && handleClose();
1227
+ };
1228
+ if (!isPresent(previewUrl)) return null;
1229
+ return /*#__PURE__*/createPortal(/*#__PURE__*/jsxs("div", {
1230
+ className: "ne-image-preview-wrapper active",
1231
+ children: [isLoading && /*#__PURE__*/jsx(Spinner, {
1232
+ className: "ne-image-preview-wrapper__spinner"
1233
+ }), /*#__PURE__*/jsxs("div", {
1234
+ className: classnames("ne-image-preview", {
1235
+ "image-loaded": !isLoading
1236
+ }),
1237
+ children: [!isLoading && /*#__PURE__*/jsx("div", {
1238
+ className: "close-button",
1239
+ children: /*#__PURE__*/jsx(Button, {
1240
+ icon: X,
1241
+ variant: "secondary",
1242
+ onClick: handleClose
1210
1243
  })
1211
- }) : /*#__PURE__*/jsx(Button, {
1212
- className: "image-preview-neeto-ui-modal__close-btn",
1213
- icon: X,
1214
- variant: "secondary",
1215
- onClick: handleClose,
1216
- onKeyDown: function onKeyDown(e) {
1217
- return e.key === "Escape" && handleClose;
1218
- }
1219
1244
  }), /*#__PURE__*/jsx("img", {
1220
1245
  alt: "Preview",
1246
+ ref: imagePreviewRef,
1221
1247
  src: previewUrl,
1222
- className: classnames({
1223
- "display-none": isLoading || isNil(previewUrl)
1224
- }),
1225
- onLoad: handleImageLoad
1248
+ onKeyDown: handleKeyDown,
1249
+ onLoad: function onLoad() {
1250
+ return setIsLoading(false);
1251
+ }
1226
1252
  })]
1227
- })
1228
- });
1253
+ })]
1254
+ }), document.body);
1229
1255
  };
1230
1256
 
1231
1257
  var DropdownMenuList = DropdownMenu.Menu,
@@ -2118,7 +2144,8 @@ var suggestion$1 = {
2118
2144
  theme: "light neeto-editor-mentions-tooltip",
2119
2145
  getReferenceClientRect: props.clientRect,
2120
2146
  appendTo: function appendTo() {
2121
- return document.body;
2147
+ var _props$editor$storage, _props$editor;
2148
+ return (_props$editor$storage = (_props$editor = props.editor) === null || _props$editor === void 0 || (_props$editor = _props$editor.storage) === null || _props$editor === void 0 || (_props$editor = _props$editor.editorContainer) === null || _props$editor === void 0 || (_props$editor = _props$editor.containerRef) === null || _props$editor === void 0 ? void 0 : _props$editor.current) !== null && _props$editor$storage !== void 0 ? _props$editor$storage : document.body;
2122
2149
  },
2123
2150
  content: reactRenderer.element,
2124
2151
  showOnCreate: true,
@@ -2971,7 +2998,8 @@ var SlashCommands = {
2971
2998
  popup = tippy("body", {
2972
2999
  getReferenceClientRect: props.clientRect,
2973
3000
  appendTo: function appendTo() {
2974
- return document.body;
3001
+ var _props$editor$storage, _props$editor;
3002
+ return (_props$editor$storage = (_props$editor = props.editor) === null || _props$editor === void 0 || (_props$editor = _props$editor.storage) === null || _props$editor === void 0 || (_props$editor = _props$editor.editorContainer) === null || _props$editor === void 0 || (_props$editor = _props$editor.containerRef) === null || _props$editor === void 0 ? void 0 : _props$editor.current) !== null && _props$editor$storage !== void 0 ? _props$editor$storage : document.body;
2975
3003
  },
2976
3004
  content: reactRenderer.element,
2977
3005
  showOnCreate: true,
@@ -3048,7 +3076,8 @@ var suggestion = {
3048
3076
  theme: "light neeto-editor-mentions-tooltip",
3049
3077
  getReferenceClientRect: props.clientRect,
3050
3078
  appendTo: function appendTo() {
3051
- return document.body;
3079
+ var _props$editor$storage, _props$editor;
3080
+ return (_props$editor$storage = (_props$editor = props.editor) === null || _props$editor === void 0 || (_props$editor = _props$editor.storage) === null || _props$editor === void 0 || (_props$editor = _props$editor.editorContainer) === null || _props$editor === void 0 || (_props$editor = _props$editor.containerRef) === null || _props$editor === void 0 ? void 0 : _props$editor.current) !== null && _props$editor$storage !== void 0 ? _props$editor$storage : document.body;
3052
3081
  },
3053
3082
  content: reactRenderer.element,
3054
3083
  showOnCreate: true,
@@ -3926,8 +3955,11 @@ var useCustomExtensions = function useCustomExtensions(_ref) {
3926
3955
  openLinkInNewTab = _ref.openLinkInNewTab,
3927
3956
  enableReactNodeViewOptimization = _ref.enableReactNodeViewOptimization,
3928
3957
  collaborationProvider = _ref.collaborationProvider,
3929
- setIsNeetoKbArticleActive = _ref.setIsNeetoKbArticleActive;
3930
- var customExtensions = [CharacterCount, Code, CodeBlock.configure({
3958
+ setIsNeetoKbArticleActive = _ref.setIsNeetoKbArticleActive,
3959
+ containerRef = _ref.containerRef;
3960
+ var customExtensions = [EditorContainer.configure({
3961
+ containerRef: containerRef
3962
+ }), CharacterCount, Code, CodeBlock.configure({
3931
3963
  enableReactNodeViewOptimization: enableReactNodeViewOptimization
3932
3964
  }), CustomCommands, Document, FigCaption, HighlightInternal, SelectionDecoration, FocusClasses.configure({
3933
3965
  mode: "shallowest"
@@ -4725,9 +4757,10 @@ var KbArticleView = withT(function (_ref) {
4725
4757
  });
4726
4758
 
4727
4759
  var LinkPopOver = function LinkPopOver(_ref) {
4728
- var _view$state, _view$state2;
4760
+ var _view$state, _view$state2, _containerRef$current;
4729
4761
  var editor = _ref.editor,
4730
- deletedArticlesHook = _ref.deletedArticlesHook;
4762
+ deletedArticlesHook = _ref.deletedArticlesHook,
4763
+ containerRef = _ref.containerRef;
4731
4764
  var _ref2 = editor || {},
4732
4765
  view = _ref2.view;
4733
4766
  var from = editor.state.selection.from;
@@ -5115,7 +5148,7 @@ var LinkPopOver = function LinkPopOver(_ref) {
5115
5148
  style: popoverStyle,
5116
5149
  children: renderPopoverContent()
5117
5150
  })]
5118
- }) : null, document.body), /*#__PURE__*/jsx(KbArticleDeletedModal, {
5151
+ }) : null, (_containerRef$current = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) !== null && _containerRef$current !== void 0 ? _containerRef$current : document.body), /*#__PURE__*/jsx(KbArticleDeletedModal, {
5119
5152
  isOpen: showDeletedModal,
5120
5153
  onClose: function onClose() {
5121
5154
  return setShowDeletedModal(false);
@@ -5128,6 +5161,7 @@ var _excluded = ["addonCommands", "addons", "attachments", "attachmentsConfig",
5128
5161
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5129
5162
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5130
5163
  var Editor = function Editor(_ref, ref) {
5164
+ var _wrapperRef$current;
5131
5165
  var _ref$addonCommands = _ref.addonCommands,
5132
5166
  addonCommands = _ref$addonCommands === void 0 ? [] : _ref$addonCommands,
5133
5167
  _ref$addons = _ref.addons,
@@ -5277,7 +5311,8 @@ var Editor = function Editor(_ref, ref) {
5277
5311
  openLinkInNewTab: openLinkInNewTab,
5278
5312
  enableReactNodeViewOptimization: enableReactNodeViewOptimization,
5279
5313
  collaborationProvider: collaborationProvider,
5280
- setIsNeetoKbArticleActive: setNeetoKbArticleState
5314
+ setIsNeetoKbArticleActive: setNeetoKbArticleState,
5315
+ containerRef: wrapperRef
5281
5316
  });
5282
5317
  useEditorWarnings({
5283
5318
  initialValue: initialValue
@@ -5393,6 +5428,7 @@ var Editor = function Editor(_ref, ref) {
5393
5428
  tooltips: tooltips,
5394
5429
  variables: variables,
5395
5430
  className: menuClassName,
5431
+ containerRef: wrapperRef,
5396
5432
  isIndependant: isMenuIndependent,
5397
5433
  setIsNeetoKbArticleActive: setNeetoKbArticleState
5398
5434
  }), children, menuType === "none" && /*#__PURE__*/jsx("div", {
@@ -5427,12 +5463,14 @@ var Editor = function Editor(_ref, ref) {
5427
5463
  onChange: onChangeAttachments
5428
5464
  }, otherAttachmentProps)), (editor === null || editor === void 0 ? void 0 : editor.isActive("link")) && /*#__PURE__*/jsx(LinkPopOver, {
5429
5465
  deletedArticlesHook: deletedArticlesHook,
5430
- editor: editor
5466
+ editor: editor,
5467
+ containerRef: wrapperRef
5431
5468
  }), isAddLinkActive && /*#__PURE__*/jsx(LinkAddPopOver, {
5432
5469
  editor: editor,
5433
5470
  isAddLinkActive: isAddLinkActive,
5434
5471
  openLinkInNewTab: openLinkInNewTab,
5435
- setIsAddLinkActive: setIsAddLinkActive
5472
+ setIsAddLinkActive: setIsAddLinkActive,
5473
+ containerRef: wrapperRef
5436
5474
  }), neetoKbArticleState.active && neetoKbArticleState.cursorPos && /*#__PURE__*/createPortal(/*#__PURE__*/jsx(ArticleSelector, {
5437
5475
  deletedArticlesHook: deletedArticlesHook,
5438
5476
  cursorPos: neetoKbArticleState.cursorPos,
@@ -5445,7 +5483,7 @@ var Editor = function Editor(_ref, ref) {
5445
5483
  cursorPos: null
5446
5484
  });
5447
5485
  }
5448
- }), document.body), /*#__PURE__*/jsx(TableActionMenu, {
5486
+ }), (_wrapperRef$current = wrapperRef.current) !== null && _wrapperRef$current !== void 0 ? _wrapperRef$current : document.body), /*#__PURE__*/jsx(TableActionMenu, {
5449
5487
  editor: editor,
5450
5488
  appendTo: wrapperRef
5451
5489
  }), isCharacterCountActive && /*#__PURE__*/jsx(CharacterCountWrapper, {