@flozy/editor 9.3.2 → 9.3.3

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 (248) hide show
  1. package/dist/Editor/ChatEditor.js +50 -15
  2. package/dist/Editor/CommonEditor.js +129 -20
  3. package/dist/Editor/DialogWrapper.js +31 -25
  4. package/dist/Editor/Editor.css +17 -7
  5. package/dist/Editor/Elements/AI/AIInput.js +5 -3
  6. package/dist/Editor/Elements/AI/CustomSelect.js +9 -5
  7. package/dist/Editor/Elements/AI/PopoverAIInput.js +4 -2
  8. package/dist/Editor/Elements/Accordion/Accordion.js +4 -3
  9. package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +4 -1
  10. package/dist/Editor/Elements/Accordion/AccordionButton.js +6 -2
  11. package/dist/Editor/Elements/Accordion/AccordionTitlePopup.js +4 -1
  12. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  13. package/dist/Editor/Elements/AppHeader/AppHeaderButton.js +6 -2
  14. package/dist/Editor/Elements/AppHeader/AppHeaderPopup.js +4 -1
  15. package/dist/Editor/Elements/Attachments/AttachmentsButton.js +4 -1
  16. package/dist/Editor/Elements/Button/ButtonPopup.js +4 -1
  17. package/dist/Editor/Elements/Button/ButtonToolIcon.js +6 -2
  18. package/dist/Editor/Elements/Button/EditorButton.js +31 -14
  19. package/dist/Editor/Elements/Carousel/Carousel.js +5 -4
  20. package/dist/Editor/Elements/Carousel/CarouselButton.js +6 -2
  21. package/dist/Editor/Elements/Carousel/CarouselItem.js +3 -2
  22. package/dist/Editor/Elements/ChipText/ChipTextPopup.js +4 -1
  23. package/dist/Editor/Elements/CodeToText/CodeToText.js +5 -4
  24. package/dist/Editor/Elements/CodeToText/HtmlContextMenu.js +6 -2
  25. package/dist/Editor/Elements/Color Picker/ColorButtons.js +60 -14
  26. package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
  27. package/dist/Editor/Elements/Color Picker/ColorPicker.js +4 -4
  28. package/dist/Editor/Elements/Color Picker/Styles.js +3 -3
  29. package/dist/Editor/Elements/Colorbox/ColorboxButton.js +6 -2
  30. package/dist/Editor/Elements/DataView/DataView.js +5 -2
  31. package/dist/Editor/Elements/DataView/DataViewButton.js +6 -2
  32. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +4 -1
  33. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +4 -3
  34. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +6 -1
  35. package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +7 -2
  36. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +13 -12
  37. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +7 -4
  38. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +7 -5
  39. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +9 -7
  40. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +3 -2
  41. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +5 -3
  42. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +6 -5
  43. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +5 -3
  44. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +7 -6
  45. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +64 -38
  46. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +3 -2
  47. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +3 -2
  48. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +12 -6
  49. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +4 -1
  50. package/dist/Editor/Elements/DataView/Layouts/TableView.js +6 -4
  51. package/dist/Editor/Elements/DataView/Layouts/index.js +3 -1
  52. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +5 -2
  53. package/dist/Editor/Elements/Divider/Divider.js +5 -3
  54. package/dist/Editor/Elements/Divider/DividerButton.js +6 -2
  55. package/dist/Editor/Elements/Divider/DividerPopup.js +3 -2
  56. package/dist/Editor/Elements/Embed/Embed.js +4 -1
  57. package/dist/Editor/Elements/Embed/EmbedPopup.js +4 -1
  58. package/dist/Editor/Elements/Embed/Image.js +16 -11
  59. package/dist/Editor/Elements/Embed/Video.js +10 -7
  60. package/dist/Editor/Elements/EmbedScript/Code.js +7 -4
  61. package/dist/Editor/Elements/EmbedScript/EmbedScript.js +6 -2
  62. package/dist/Editor/Elements/EmbedScript/EmbedScriptPopup.js +8 -5
  63. package/dist/Editor/Elements/Emoji/EmojiButton.js +6 -2
  64. package/dist/Editor/Elements/Form/FieldPopup.js +4 -1
  65. package/dist/Editor/Elements/Form/Form.js +12 -9
  66. package/dist/Editor/Elements/Form/FormButton.js +6 -2
  67. package/dist/Editor/Elements/Form/FormPopup.js +3 -2
  68. package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +18 -12
  69. package/dist/Editor/Elements/Form/Workflow/ListWorkflow.js +13 -8
  70. package/dist/Editor/Elements/Form/Workflow/MoreOptions.js +3 -2
  71. package/dist/Editor/Elements/Form/Workflow/UserInputs.js +4 -2
  72. package/dist/Editor/Elements/Form/Workflow/index.js +15 -9
  73. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +21 -18
  74. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +6 -2
  75. package/dist/Editor/Elements/FreeGrid/FreeGridButton.js +6 -2
  76. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +8 -3
  77. package/dist/Editor/Elements/FreeGrid/Options/AddElement.js +3 -2
  78. package/dist/Editor/Elements/FreeGrid/Options/More.js +4 -3
  79. package/dist/Editor/Elements/FreeGrid/styles.js +3 -0
  80. package/dist/Editor/Elements/Grid/Grid.js +13 -10
  81. package/dist/Editor/Elements/Grid/GridButton.js +9 -5
  82. package/dist/Editor/Elements/Grid/GridItem.js +14 -8
  83. package/dist/Editor/Elements/Grid/GridItemPopup.js +4 -1
  84. package/dist/Editor/Elements/Grid/GridPopup.js +4 -1
  85. package/dist/Editor/Elements/Grid/SectionPopup.js +4 -1
  86. package/dist/Editor/Elements/Link/Link.js +14 -7
  87. package/dist/Editor/Elements/Link/LinkButton.js +4 -1
  88. package/dist/Editor/Elements/List/CheckList.js +14 -9
  89. package/dist/Editor/Elements/NewLine/NewLineButton.js +6 -2
  90. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +16 -5
  91. package/dist/Editor/Elements/PageSettings/PageSettingsPopup.js +4 -1
  92. package/dist/Editor/Elements/Search/SearchButton.js +6 -3
  93. package/dist/Editor/Elements/Search/SearchList.js +7 -3
  94. package/dist/Editor/Elements/Signature/SignatureButton.js +6 -2
  95. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +6 -2
  96. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +4 -1
  97. package/dist/Editor/Elements/Signature/SignaturePopup.js +17 -16
  98. package/dist/Editor/Elements/SimpleText/index.js +5 -4
  99. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  100. package/dist/Editor/Elements/Table/DragButton.js +4 -2
  101. package/dist/Editor/Elements/Table/Table.js +48 -25
  102. package/dist/Editor/Elements/Table/TableCell.js +6 -27
  103. package/dist/Editor/Elements/Table/TablePopup.js +4 -1
  104. package/dist/Editor/Elements/Table/TableSelector.js +10 -6
  105. package/dist/Editor/Elements/Table/TableTool.js +8 -4
  106. package/dist/Editor/Elements/Title/title.js +10 -0
  107. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +4 -1
  108. package/dist/Editor/Elements/Variables/VariableButton.js +10 -1
  109. package/dist/Editor/MiniEditor.js +9 -3
  110. package/dist/Editor/Styles/EditorStyles.js +5 -5
  111. package/dist/Editor/Toolbar/Basic/index.js +2 -1
  112. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +6 -2
  113. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
  114. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
  115. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +8 -4
  116. package/dist/Editor/Toolbar/FormatTools/TextSize.js +7 -13
  117. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +20 -15
  118. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +10 -5
  119. package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +10 -4
  120. package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +10 -4
  121. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +6 -2
  122. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectAlignment.js +42 -35
  123. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
  124. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +58 -51
  125. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectSuperSubscript.js +29 -22
  126. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +226 -87
  127. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +15 -7
  128. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +8 -4
  129. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +16 -9
  130. package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +11 -5
  131. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +120 -41
  132. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +441 -0
  133. package/dist/Editor/Toolbar/PopupTool/index.js +3 -8
  134. package/dist/Editor/Toolbar/Toolbar.js +20 -10
  135. package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
  136. package/dist/Editor/assets/svg/CalenderIconTick.js +1 -0
  137. package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
  138. package/dist/Editor/common/ColorPickerButton.js +45 -10
  139. package/dist/Editor/common/CustomColorPicker/index.js +125 -0
  140. package/dist/Editor/common/CustomColorPicker/style.js +53 -0
  141. package/dist/Editor/common/CustomDialog/index.js +8 -10
  142. package/dist/Editor/common/CustomDialog2/index.js +94 -0
  143. package/dist/Editor/common/CustomDialog2/style.js +67 -0
  144. package/dist/Editor/common/CustomSelect.js +33 -0
  145. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  146. package/dist/Editor/common/FontLoader/FontLoader.js +3 -0
  147. package/dist/Editor/common/Icon.js +46 -1
  148. package/dist/Editor/common/ImageSelector/ImageSelector.js +10 -8
  149. package/dist/Editor/common/ImageSelector/Options/AddLink.js +6 -4
  150. package/dist/Editor/common/ImageSelector/Styles.js +3 -9
  151. package/dist/Editor/common/LinkSettings/NavComponents.js +14 -10
  152. package/dist/Editor/common/LinkSettings/index.js +20 -14
  153. package/dist/Editor/common/LinkSettings/navOptions.js +1 -1
  154. package/dist/Editor/common/MentionsPopup/Styles.js +106 -68
  155. package/dist/Editor/common/MentionsPopup/index.js +8 -4
  156. package/dist/Editor/common/RnD/ContextMenu/CMenus.js +22 -22
  157. package/dist/Editor/common/RnD/ContextMenu/index.js +3 -2
  158. package/dist/Editor/common/RnD/ElementOptions/index.js +7 -2
  159. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/SaveAsTemplate.js +8 -3
  160. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +7 -3
  161. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
  162. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
  163. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
  164. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
  165. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +7 -4
  166. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +3 -2
  167. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
  168. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +6 -2
  169. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
  170. package/dist/Editor/common/RnD/OptionsPopup/index.js +4 -3
  171. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +11 -4
  172. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
  173. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +20 -8
  174. package/dist/Editor/common/RnD/Utils/index.js +45 -0
  175. package/dist/Editor/common/RnD/VirtualElement/index.js +1 -2
  176. package/dist/Editor/common/RnD/index.js +34 -7
  177. package/dist/Editor/common/Section/index.js +7 -4
  178. package/dist/Editor/common/Shorthands/elements.js +93 -10
  179. package/dist/Editor/common/StyleBuilder/appHeaderStyle.js +4 -4
  180. package/dist/Editor/common/StyleBuilder/boxStyle.js +2 -2
  181. package/dist/Editor/common/StyleBuilder/buttonStyle.js +6 -4
  182. package/dist/Editor/common/StyleBuilder/dividerStyles.js +2 -2
  183. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +6 -6
  184. package/dist/Editor/common/StyleBuilder/fieldStyle.js +2 -2
  185. package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +13 -9
  186. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +11 -3
  187. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +19 -5
  188. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +22 -10
  189. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +6 -3
  190. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +27 -13
  191. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +41 -14
  192. package/dist/Editor/common/StyleBuilder/fieldTypes/elementSize.js +10 -6
  193. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +19 -6
  194. package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +6 -2
  195. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +5 -2
  196. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +9 -6
  197. package/dist/Editor/common/StyleBuilder/fieldTypes/metaDataMapping.js +8 -2
  198. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +12 -11
  199. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +6 -2
  200. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +8 -4
  201. package/dist/Editor/common/StyleBuilder/fieldTypes/textAlign.js +6 -2
  202. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +21 -12
  203. package/dist/Editor/common/StyleBuilder/formStyle.js +7 -7
  204. package/dist/Editor/common/StyleBuilder/gridItemStyle.js +6 -6
  205. package/dist/Editor/common/StyleBuilder/gridStyle.js +5 -5
  206. package/dist/Editor/common/StyleBuilder/index.js +8 -5
  207. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +5 -7
  208. package/dist/Editor/common/Uploader.js +16 -5
  209. package/dist/Editor/commonStyle.js +55 -65
  210. package/dist/Editor/helper/index.js +8 -12
  211. package/dist/Editor/helper/textIndeces.js +58 -0
  212. package/dist/Editor/helper/theme.js +200 -2
  213. package/dist/Editor/hooks/useDrag.js +16 -10
  214. package/dist/Editor/hooks/useEditorScroll.js +10 -5
  215. package/dist/Editor/hooks/useEditorTheme.js +153 -0
  216. package/dist/Editor/hooks/useMouseMove.js +25 -13
  217. package/dist/Editor/hooks/useTable.js +1 -1
  218. package/dist/Editor/plugins/withEmbeds.js +1 -1
  219. package/dist/Editor/plugins/withHTML.js +18 -13
  220. package/dist/Editor/plugins/withLayout.js +3 -2
  221. package/dist/Editor/plugins/withTable.js +1 -1
  222. package/dist/Editor/theme/ThemeList.js +50 -173
  223. package/dist/Editor/theme/index.js +144 -0
  224. package/dist/Editor/themeSettings/ActiveTheme.js +72 -0
  225. package/dist/Editor/themeSettings/buttons/index.js +285 -0
  226. package/dist/Editor/themeSettings/buttons/style.js +23 -0
  227. package/dist/Editor/themeSettings/colorTheme/index.js +297 -0
  228. package/dist/Editor/themeSettings/colorTheme/style.js +81 -0
  229. package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
  230. package/dist/Editor/themeSettings/fonts/index.js +222 -0
  231. package/dist/Editor/themeSettings/fonts/style.js +59 -0
  232. package/dist/Editor/themeSettings/icons.js +60 -0
  233. package/dist/Editor/themeSettings/index.js +328 -0
  234. package/dist/Editor/themeSettings/style.js +193 -0
  235. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  236. package/dist/Editor/themeSettingsAI/index.js +355 -0
  237. package/dist/Editor/themeSettingsAI/saveTheme.js +215 -0
  238. package/dist/Editor/themeSettingsAI/style.js +250 -0
  239. package/dist/Editor/utils/SlateUtilityFunctions.js +171 -47
  240. package/dist/Editor/utils/button.js +0 -14
  241. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +23 -0
  242. package/dist/Editor/utils/divider.js +8 -0
  243. package/dist/Editor/utils/draftToSlate.js +3 -2
  244. package/dist/Editor/utils/embed.js +9 -4
  245. package/dist/Editor/utils/font.js +40 -37
  246. package/dist/Editor/utils/helper.js +65 -19
  247. package/dist/Editor/utils/table.js +8 -0
  248. package/package.json +1 -1
@@ -472,6 +472,34 @@ export const decodeString = str => {
472
472
  console.log(err);
473
473
  }
474
474
  };
475
+ export const getContrastColor = color => {
476
+ let r, g, b;
477
+
478
+ // Check if the color is in hex format
479
+ if (color.startsWith("#")) {
480
+ r = parseInt(color.substring(1, 3), 16);
481
+ g = parseInt(color.substring(3, 5), 16);
482
+ b = parseInt(color.substring(5, 7), 16);
483
+ }
484
+ // Check if the color is in RGB/RGBA format
485
+ else if (color.startsWith("rgb")) {
486
+ const rgbValues = color.replace(/^rgba?\(|\s+|\)$/g, "") // Remove the rgb/rgba and spaces
487
+ .split(","); // Split the values into an array
488
+
489
+ r = parseInt(rgbValues[0]);
490
+ g = parseInt(rgbValues[1]);
491
+ b = parseInt(rgbValues[2]);
492
+ } else {
493
+ // If the format is not recognized, default to black text
494
+ return "#000000";
495
+ }
496
+
497
+ // Calculate relative luminance
498
+ const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
499
+
500
+ // Return black for light colors, white for dark colors
501
+ return luminance > 0.5 ? "#000000" : "#FFFFFF";
502
+ };
475
503
  export const onDeleteKey = (event, {
476
504
  editor
477
505
  }) => {
@@ -633,6 +661,10 @@ export const isRestrictedNode = (event, editor) => {
633
661
  return isNodeRestricted;
634
662
  }
635
663
  };
664
+ export function capitalizeFirstLetter(str) {
665
+ if (!str) return str;
666
+ return str.charAt(0).toUpperCase() + str.slice(1);
667
+ }
636
668
  export const insertLineBreakAtEndOfPath = (editor, path) => {
637
669
  try {
638
670
  const [node, nodePath] = Editor.node(editor, path); // Get the node at the specified path
@@ -651,6 +683,13 @@ export const insertLineBreakAtEndOfPath = (editor, path) => {
651
683
  console.log(err);
652
684
  }
653
685
  };
686
+ export function isHavingSelection(editor) {
687
+ try {
688
+ return editor?.selection && !Range.isCollapsed(editor.selection);
689
+ } catch (err) {
690
+ console.log(err);
691
+ }
692
+ }
654
693
  const omitNodes = ["site-settings", "page-settings"];
655
694
  export function getInitialValue(value = [], readOnly) {
656
695
  if (readOnly === "readonly" && value?.length) {
@@ -681,20 +720,17 @@ export function getInitialValue(value = [], readOnly) {
681
720
  }
682
721
  return value;
683
722
  }
684
- export function capitalizeFirstLetter(str) {
685
- if (!str) return str;
686
- return str.charAt(0).toUpperCase() + str.slice(1);
687
- }
688
- export function isHavingSelection(editor) {
689
- try {
690
- return editor?.selection && !Range.isCollapsed(editor.selection);
691
- } catch (err) {
692
- console.log(err);
693
- }
694
- }
695
723
  export function getSelectedCls(defaultCls = "", selected, selectedClsName = "selected") {
696
724
  return `${defaultCls} ${selected ? selectedClsName : ""}`;
697
725
  }
726
+ export function handleNegativeInteger(val) {
727
+ return val < 0 ? 0 : val;
728
+ }
729
+ export const containsSurrogatePair = text => {
730
+ // Match surrogate pairs (high and low surrogate)
731
+ const surrogatePairRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
732
+ return surrogatePairRegex.test(text);
733
+ };
698
734
  export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
699
735
  try {
700
736
  const options = {
@@ -708,11 +744,6 @@ export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
708
744
  return [];
709
745
  }
710
746
  };
711
- export const containsSurrogatePair = text => {
712
- // Match surrogate pairs (high and low surrogate)
713
- const surrogatePairRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
714
- return surrogatePairRegex.test(text);
715
- };
716
747
  export const getSlateDom = (editor, range) => {
717
748
  try {
718
749
  const slateDom = ReactEditor.toDOMRange(editor, range);
@@ -762,9 +793,6 @@ export const hideSlateSelection = () => {
762
793
  const root = document.documentElement;
763
794
  root.style.setProperty("--slate-highlight-bg", "none");
764
795
  };
765
- export function handleNegativeInteger(val) {
766
- return val < 0 ? 0 : val;
767
- }
768
796
  export const isEverythingSelected = editor => {
769
797
  const {
770
798
  selection
@@ -776,4 +804,22 @@ export const isEverythingSelected = editor => {
776
804
  return false;
777
805
  }
778
806
  }
807
+ };
808
+ export const getCurrentNodeText = editor => {
809
+ try {
810
+ const {
811
+ selection
812
+ } = editor;
813
+ if (selection) {
814
+ const [block] = Editor.node(editor, selection, {
815
+ match: n => Editor.isBlock(editor, n)
816
+ });
817
+ const blockText = block?.text;
818
+ return blockText;
819
+ } else {
820
+ return;
821
+ }
822
+ } catch (error) {
823
+ console.log("Error:", error);
824
+ }
779
825
  };
@@ -174,6 +174,14 @@ export class TableUtil {
174
174
  Transforms.removeNodes(this.editor, {
175
175
  match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "table"
176
176
  });
177
+ if (this.editor.children.length === 0) {
178
+ Transforms.insertNodes(this.editor, {
179
+ type: "paragraph",
180
+ children: [{
181
+ text: ""
182
+ }]
183
+ });
184
+ }
177
185
  }
178
186
  };
179
187
  duplicateTable = () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flozy/editor",
3
- "version": "9.3.2",
3
+ "version": "9.3.3",
4
4
  "description": "An Editor for flozy app brain",
5
5
  "files": [
6
6
  "dist"