@flozy/editor 9.1.4 → 9.1.6

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 (130) hide show
  1. package/dist/Editor/ChatEditor.js +2 -19
  2. package/dist/Editor/CommonEditor.js +37 -104
  3. package/dist/Editor/DialogWrapper.js +25 -31
  4. package/dist/Editor/Editor.css +3 -21
  5. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  6. package/dist/Editor/Elements/Button/EditorButton.js +9 -25
  7. package/dist/Editor/Elements/Color Picker/ColorButtons.js +12 -57
  8. package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
  9. package/dist/Editor/Elements/Color Picker/ColorPicker.js +5 -5
  10. package/dist/Editor/Elements/Color Picker/Styles.js +1 -1
  11. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +1 -4
  12. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +4 -3
  13. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +1 -6
  14. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +9 -19
  15. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +2 -32
  16. package/dist/Editor/Elements/DataView/Layouts/TableView.js +29 -126
  17. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +3 -3
  18. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +1 -1
  19. package/dist/Editor/Elements/DataView/styles.js +8 -8
  20. package/dist/Editor/Elements/Embed/Image.js +2 -2
  21. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +14 -0
  22. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +1 -2
  23. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -2
  24. package/dist/Editor/Elements/FreeGrid/styles.js +0 -3
  25. package/dist/Editor/Elements/Grid/GridItem.js +3 -2
  26. package/dist/Editor/Elements/Link/Link.js +43 -70
  27. package/dist/Editor/Elements/SimpleText/index.js +1 -0
  28. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  29. package/dist/Editor/Elements/Table/Table.js +27 -43
  30. package/dist/Editor/Elements/Table/TableCell.js +5 -5
  31. package/dist/Editor/Elements/Title/title.js +31 -13
  32. package/dist/Editor/Elements/Variables/Style.js +2 -28
  33. package/dist/Editor/Elements/Variables/VariableButton.js +4 -17
  34. package/dist/Editor/Styles/EditorStyles.js +5 -5
  35. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
  36. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
  37. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  38. package/dist/Editor/Toolbar/FormatTools/TextSize.js +15 -7
  39. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +0 -1
  40. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +8 -9
  41. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +13 -6
  42. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +85 -210
  43. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +1 -2
  44. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +12 -16
  45. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +7 -54
  46. package/dist/Editor/Toolbar/PopupTool/index.js +17 -6
  47. package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
  48. package/dist/Editor/common/ColorPickerButton.js +9 -35
  49. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  50. package/dist/Editor/common/DnD/Draggable.js +1 -0
  51. package/dist/Editor/common/FontLoader/FontLoader.js +0 -3
  52. package/dist/Editor/common/Icon.js +0 -28
  53. package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
  54. package/dist/Editor/common/ImageSelector/Styles.js +9 -3
  55. package/dist/Editor/common/ImageSelector/UploadStyles.js +10 -9
  56. package/dist/Editor/common/MentionsPopup/Styles.js +12 -6
  57. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
  58. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  59. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  60. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  61. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  62. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -4
  63. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +2 -3
  64. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  65. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +2 -3
  66. package/dist/Editor/common/RnD/ElementSettings/styles.js +1 -0
  67. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -8
  68. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +10 -31
  69. package/dist/Editor/common/RnD/Utils/gridDropItem.js +4 -5
  70. package/dist/Editor/common/RnD/Utils/index.js +0 -45
  71. package/dist/Editor/common/RnD/VirtualElement/index.js +2 -1
  72. package/dist/Editor/common/RnD/index.js +3 -23
  73. package/dist/Editor/common/Shorthands/elements.js +0 -54
  74. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  75. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +0 -5
  76. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
  77. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  78. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
  79. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +11 -35
  80. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
  81. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
  82. package/dist/Editor/common/Uploader.js +0 -8
  83. package/dist/Editor/commonStyle.js +69 -114
  84. package/dist/Editor/helper/index.js +12 -8
  85. package/dist/Editor/helper/theme.js +2 -200
  86. package/dist/Editor/hooks/useDrag.js +11 -17
  87. package/dist/Editor/hooks/useEditorScroll.js +6 -10
  88. package/dist/Editor/hooks/useMouseMove.js +13 -25
  89. package/dist/Editor/hooks/useTable.js +1 -1
  90. package/dist/Editor/plugins/withEmbeds.js +1 -1
  91. package/dist/Editor/plugins/withHTML.js +16 -20
  92. package/dist/Editor/plugins/withLayout.js +1 -1
  93. package/dist/Editor/plugins/withTable.js +1 -1
  94. package/dist/Editor/theme/ThemeList.js +173 -50
  95. package/dist/Editor/utils/SlateUtilityFunctions.js +37 -150
  96. package/dist/Editor/utils/button.js +14 -0
  97. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +0 -23
  98. package/dist/Editor/utils/draftToSlate.js +2 -3
  99. package/dist/Editor/utils/font.js +37 -40
  100. package/dist/Editor/utils/helper.js +27 -59
  101. package/dist/Editor/utils/link.js +1 -1
  102. package/dist/Editor/utils/table.js +0 -8
  103. package/package.json +3 -6
  104. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -438
  105. package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
  106. package/dist/Editor/common/CustomColorPicker/index.js +0 -106
  107. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  108. package/dist/Editor/common/CustomDialog/index.js +0 -90
  109. package/dist/Editor/common/CustomDialog/styles.js +0 -80
  110. package/dist/Editor/common/CustomDialog2/index.js +0 -94
  111. package/dist/Editor/common/CustomDialog2/style.js +0 -67
  112. package/dist/Editor/common/CustomSelect.js +0 -33
  113. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
  114. package/dist/Editor/hooks/useEditorTheme.js +0 -153
  115. package/dist/Editor/theme/index.js +0 -144
  116. package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
  117. package/dist/Editor/themeSettings/buttons/index.js +0 -283
  118. package/dist/Editor/themeSettings/buttons/style.js +0 -21
  119. package/dist/Editor/themeSettings/colorTheme/index.js +0 -292
  120. package/dist/Editor/themeSettings/colorTheme/style.js +0 -77
  121. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
  122. package/dist/Editor/themeSettings/fonts/index.js +0 -220
  123. package/dist/Editor/themeSettings/fonts/style.js +0 -44
  124. package/dist/Editor/themeSettings/icons.js +0 -60
  125. package/dist/Editor/themeSettings/index.js +0 -320
  126. package/dist/Editor/themeSettings/style.js +0 -152
  127. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  128. package/dist/Editor/themeSettingsAI/index.js +0 -356
  129. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -197
  130. package/dist/Editor/themeSettingsAI/style.js +0 -250
@@ -34,12 +34,12 @@ import SimpleText from "../Elements/SimpleText";
34
34
  import CheckList from "../Elements/List/CheckList";
35
35
  import { getTextColor, isEmptyTextNode } from "../helper";
36
36
  import Attachments from "../Elements/Attachments/Attachments";
37
- import { getBreakPointsValue, textThemeFields, getElementProperty } from "../helper/theme";
37
+ import { getBreakPointsValue, groupByBreakpoint } from "../helper/theme";
38
38
  import Variables from "../Elements/Variables/Variable";
39
+ import insertNewLine from "./insertNewLine";
39
40
  import Divider from "../Elements/Divider/Divider";
40
41
  import { getBorderColor, getSlateDom } from "./helper";
41
42
  import Code from "../Elements/EmbedScript/Code";
42
- import { ReactEditor } from "slate-react";
43
43
  import FreeGrid from "../Elements/FreeGrid/FreeGrid";
44
44
  import FreeGridItem from "../Elements/FreeGrid/FreeGridItem";
45
45
  import FreeGridBox from "../Elements/FreeGrid/FreeGridBox";
@@ -47,7 +47,7 @@ import DataView from "../Elements/DataView/DataView";
47
47
  import ViewData from "../Elements/DataView/Layouts/ViewData";
48
48
  import ColumnView from "../Elements/DataView/Layouts/ColumnView";
49
49
  import SearchAttachment from "../Elements/Search/SearchAttachment";
50
- import { wrapThemeBreakpoints } from "../Elements/FreeGrid/breakpointConstants";
50
+ // import { wrapThemeBreakpoints } from "../Elements/FreeGrid/breakpointConstants";
51
51
  import { jsx as _jsx } from "react/jsx-runtime";
52
52
  const alignment = ["alignLeft", "alignRight", "alignCenter", "alignJustify"];
53
53
  const list_types = ["orderedList", "unorderedList"];
@@ -55,17 +55,7 @@ const LIST_FORMAT_TYPE = {
55
55
  orderedList: "list-item",
56
56
  unorderedList: "list-item"
57
57
  };
58
-
59
- // const NEWLINESAFTER = [
60
- // "headingOne",
61
- // "headingTwo",
62
- // "headingThree",
63
- // "headingFour",
64
- // "headingFive",
65
- // "headingSix",
66
- // ];
67
-
68
- const THEME_BLOCK_FIELDS = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree"];
58
+ const NEWLINESAFTER = ["headingOne", "headingTwo", "headingThree"];
69
59
  export const toggleBlock = (editor, format, selection = true, attr = {}) => {
70
60
  const isActive = isBlockActive(editor, format);
71
61
  const isList = list_types.includes(format);
@@ -98,9 +88,8 @@ export const toggleBlock = (editor, format, selection = true, attr = {}) => {
98
88
  if (!selection) {
99
89
  Transforms.insertText(editor, "");
100
90
  }
101
- const forActiveType = THEME_BLOCK_FIELDS.some(f => f === format) ? format : "paragraph";
102
91
  Transforms.setNodes(editor, {
103
- type: isActive ? forActiveType : isList ? LIST_FORMAT_TYPE[format] : format,
92
+ type: isActive ? "paragraph" : isList ? LIST_FORMAT_TYPE[format] : format,
104
93
  ...attr
105
94
  });
106
95
  if (isList && !isActive) {
@@ -109,12 +98,10 @@ export const toggleBlock = (editor, format, selection = true, attr = {}) => {
109
98
  children: []
110
99
  });
111
100
  }
112
-
113
- // if (NEWLINESAFTER.indexOf(format) > -1) {
114
- // insertNewLine(editor);
115
- // }
101
+ if (NEWLINESAFTER.indexOf(format) > -1) {
102
+ insertNewLine(editor);
103
+ }
116
104
  };
117
-
118
105
  export const addMarkData = (editor, data) => {
119
106
  try {
120
107
  Editor.addMark(editor, data.format, data.value);
@@ -123,14 +110,9 @@ export const addMarkData = (editor, data) => {
123
110
  }
124
111
  };
125
112
  export const toggleMark = (editor, format) => {
126
- const isActive = isMarkBtnActive(editor, format);
113
+ const isActive = isMarkActive(editor, format);
127
114
  if (isActive) {
128
- const isThemeSupportedMark = textThemeFields.some(f => f === format);
129
- if (isThemeSupportedMark) {
130
- Editor.addMark(editor, format, false);
131
- } else {
132
- Editor.removeMark(editor, format);
133
- }
115
+ Editor.removeMark(editor, format);
134
116
  } else {
135
117
  Editor.addMark(editor, format, true);
136
118
  }
@@ -144,52 +126,6 @@ export const isMarkActive = (editor, format) => {
144
126
  return null;
145
127
  }
146
128
  };
147
- export const isMarkBtnActive = (editor, format) => {
148
- switch (format) {
149
- case "bold":
150
- {
151
- const style = getSelectedElementStyle("font-weight", editor);
152
- return style === "700";
153
- }
154
- case "italic":
155
- {
156
- const style = getSelectedElementStyle("font-style", editor);
157
- return style === format;
158
- }
159
- // case "underline": {
160
- // const style = getSelectedElementStyle("text-decoration");
161
-
162
- // return style?.includes(format);
163
- // }
164
- // case "strikethrough": {
165
- // const style = getSelectedElementStyle("text-decoration");
166
-
167
- // return style?.includes("line-through");
168
- // }
169
- default:
170
- return isMarkActive(editor, format);
171
- }
172
- };
173
- export const getSelectedElementStyle = (styleProperty, editor) => {
174
- try {
175
- if (!editor.selection) {
176
- return "";
177
- }
178
- if (Range.isCollapsed(editor.selection)) {
179
- return "";
180
- }
181
- const domRange = ReactEditor.toDOMRange(editor, editor.selection);
182
- const selectedDomNode = domRange.commonAncestorContainer;
183
-
184
- // If it's a text node, get its parent element
185
- const selectedElement = selectedDomNode.nodeType === 3 ? selectedDomNode.parentElement : selectedDomNode;
186
- if (selectedElement) {
187
- return getElementProperty(selectedElement, styleProperty);
188
- }
189
- } catch (err) {
190
- console.log(err);
191
- }
192
- };
193
129
  export const isBlockActive = (editor, format) => {
194
130
  const [match] = Editor.nodes(editor, {
195
131
  match: n => !Editor.isEditor(n) && SlateElement.isElement(n) && n.type === format
@@ -242,31 +178,6 @@ export const activeMark = (editor, format) => {
242
178
  return null;
243
179
  }
244
180
  };
245
-
246
- // to avoid the styles, that automatically assign from themes
247
- const getThemeMarkedLeaf = (leaf, children) => {
248
- const {
249
- italic,
250
- bold
251
- } = leaf || {};
252
- const style = {};
253
- if (italic === false) {
254
- style.fontStyle = "normal";
255
- }
256
- if (bold === false) {
257
- style.fontWeight = "normal";
258
- }
259
- if (Object.keys(style).length) {
260
- children = /*#__PURE__*/_jsx(Box, {
261
- component: "span",
262
- sx: {
263
- "& span": style
264
- },
265
- children: children
266
- });
267
- }
268
- return children;
269
- };
270
181
  export const getMarked = (leaf, children, theme) => {
271
182
  const className = leaf?.doublequote ? "doublequote" : "";
272
183
  if (leaf.highlight) {
@@ -293,7 +204,6 @@ export const getMarked = (leaf, children, theme) => {
293
204
  children: children
294
205
  });
295
206
  }
296
- children = getThemeMarkedLeaf(leaf, children);
297
207
  if (leaf.strikethrough) {
298
208
  children = /*#__PURE__*/_jsx("span", {
299
209
  style: {
@@ -321,27 +231,20 @@ export const getMarked = (leaf, children, theme) => {
321
231
  if (leaf.color || leaf.bgColor || leaf.fontSize || leaf.fontFamily || leaf.fontWeight || className) {
322
232
  const family = leaf?.fontFamily;
323
233
  const textStyles = getTextColor(leaf?.color);
324
- const fontSize = {
325
- lg: sizeMap[leaf.fontSize] || leaf.fontSize,
326
- ...getBreakPointsValue(leaf.fontSize, null, "overrideText")
327
- };
328
- const fontSizesImportant = {};
329
- Object.entries(fontSize).forEach(([key, value]) => {
330
- fontSizesImportant[key] = `${value} !important`;
331
- });
332
- const fontSizeWithBreakpoints = wrapThemeBreakpoints(fontSizesImportant, "fontSize", theme);
333
234
  children = /*#__PURE__*/_jsx("span", {
235
+ style: {
236
+ background: leaf.bgColor
237
+ },
334
238
  children: /*#__PURE__*/_jsx(Box, {
335
239
  className: className,
336
240
  component: "span",
337
241
  sx: {
338
- "& span": {
339
- // fontSize: fontSizesImportant,
340
- // ...groupByBreakpoint(fontSizesImportant, theme),
341
- background: leaf.bgColor,
342
- ...fontSizeWithBreakpoints
343
- },
344
- ...fontSizeWithBreakpoints,
242
+ ...groupByBreakpoint({
243
+ fontSize: {
244
+ lg: sizeMap[leaf.fontSize] || leaf.fontSize,
245
+ ...getBreakPointsValue(leaf.fontSize, null, "overrideText")
246
+ }
247
+ }, theme),
345
248
  // ...wrapThemeBreakpoints(
346
249
  // {
347
250
  // lg: sizeMap[leaf.fontSize] || leaf.fontSize,
@@ -383,71 +286,55 @@ export const getBlock = props => {
383
286
  } = props;
384
287
  const attributes = props.attributes ?? {};
385
288
  const isEmpty = isEmptyTextNode(element);
386
- const commonHeadingProps = () => ({
387
- ...attributes,
388
- ...element.attr,
389
- className: `edt-headings content-editable ${isEmpty ? "empty" : ""} theme-element`
390
- });
391
- const commonParaProps = paraType => ({
392
- ...attributes,
393
- ...element.attr,
394
- className: `content-editable ${isEmpty ? "empty" : ""} theme-element ${paraType}`
395
- });
396
289
  switch (element.type) {
397
290
  case "headingOne":
398
291
  return /*#__PURE__*/_jsx("h1", {
399
- ...commonHeadingProps(),
292
+ ...attributes,
293
+ ...element.attr,
294
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
400
295
  placeholder: "Heading 1",
401
296
  children: children
402
297
  });
403
298
  case "headingTwo":
404
299
  return /*#__PURE__*/_jsx("h2", {
405
- ...commonHeadingProps(),
300
+ ...attributes,
301
+ ...element.attr,
302
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
406
303
  placeholder: "Heading 2",
407
304
  children: children
408
305
  });
409
306
  case "headingThree":
410
307
  return /*#__PURE__*/_jsx("h3", {
411
- ...commonHeadingProps(),
308
+ ...attributes,
309
+ ...element.attr,
310
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
412
311
  placeholder: "Heading 3",
413
312
  children: children
414
313
  });
415
314
  case "headingFour":
416
315
  return /*#__PURE__*/_jsx("h4", {
417
- ...commonHeadingProps(),
316
+ ...attributes,
317
+ ...element.attr,
318
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
418
319
  placeholder: "Heading 4",
419
320
  children: children
420
321
  });
421
322
  case "headingFive":
422
323
  return /*#__PURE__*/_jsx("h5", {
423
- ...commonHeadingProps(),
324
+ ...attributes,
325
+ ...element.attr,
326
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
424
327
  placeholder: "Heading 5",
425
328
  children: children
426
329
  });
427
330
  case "headingSix":
428
331
  return /*#__PURE__*/_jsx("h6", {
429
- ...commonHeadingProps(),
332
+ ...attributes,
333
+ ...element.attr,
334
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
430
335
  placeholder: "Heading 6",
431
336
  children: children
432
337
  });
433
- case "paragraphOne":
434
- return /*#__PURE__*/_jsx("p", {
435
- ...commonParaProps("para1"),
436
- placeholder: "Paragraph 1",
437
- children: children
438
- });
439
- case "paragraphTwo":
440
- return /*#__PURE__*/_jsx("p", {
441
- ...commonParaProps("para2"),
442
- placeholder: "Paragraph 2",
443
- children: children
444
- });
445
- case "paragraphThree":
446
- return /*#__PURE__*/_jsx("p", {
447
- ...commonParaProps("para3"),
448
- placeholder: "Paragraph 3",
449
- children: children
450
- });
451
338
  case "blockquote":
452
339
  return /*#__PURE__*/_jsx("blockquote", {
453
340
  ...attributes,
@@ -11,6 +11,20 @@ export const insertButton = editor => {
11
11
  linkType: "webAddress"
12
12
  },
13
13
  iconPosition: "start",
14
+ bgColor: "#2563EB",
15
+ textColor: "#FFF",
16
+ borderRadius: {
17
+ topLeft: 30,
18
+ topRight: 30,
19
+ bottomLeft: 30,
20
+ bottomRight: 30
21
+ },
22
+ bannerSpacing: {
23
+ left: 16,
24
+ top: 8,
25
+ right: 16,
26
+ bottom: 8
27
+ },
14
28
  ...(windowVar.lastButtonProps || {})
15
29
  };
16
30
  Transforms.insertNodes(editor, button);
@@ -8,9 +8,6 @@ import { isEmptyTextNode } from "../../helper";
8
8
  import { getBreakPointsValue } from "../../helper/theme";
9
9
  import insertNewLine from "../insertNewLine";
10
10
  import { getBorderColor } from "../helper";
11
- import Table from "../../Elements/Table/Table";
12
- import TableRow from "../../Elements/Table/TableRow";
13
- import TableCell from "../../Elements/Table/TableCell";
14
11
  import { jsx as _jsx } from "react/jsx-runtime";
15
12
  const alignment = ["alignLeft", "alignRight", "alignCenter"];
16
13
  const list_types = ["orderedList", "unorderedList"];
@@ -409,26 +406,6 @@ export const getBlock = props => {
409
406
  return /*#__PURE__*/_jsx(Mentions, {
410
407
  ...props
411
408
  });
412
- case "table":
413
- return /*#__PURE__*/_jsx(Table, {
414
- ...props
415
- });
416
- case "table-head":
417
- return /*#__PURE__*/_jsx("thead", {
418
- children: children
419
- });
420
- case "table-body":
421
- return /*#__PURE__*/_jsx("tbody", {
422
- children: children
423
- });
424
- case "table-row":
425
- return /*#__PURE__*/_jsx(TableRow, {
426
- ...props
427
- });
428
- case "table-cell":
429
- return /*#__PURE__*/_jsx(TableCell, {
430
- ...props
431
- });
432
409
  default:
433
410
  return /*#__PURE__*/_jsx(SimpleText, {
434
411
  ...props,
@@ -82,8 +82,7 @@ const splitInlineStyleRanges = (text, inlineStyleRanges, data) => {
82
82
  };
83
83
  export const draftToSlate = props => {
84
84
  const {
85
- data,
86
- needLayout
85
+ data
87
86
  } = props;
88
87
  if (data?.blocks && data?.blocks?.length > 0) {
89
88
  const converted = data?.blocks?.reduce((a, b) => {
@@ -105,7 +104,7 @@ export const draftToSlate = props => {
105
104
  return data;
106
105
  } else {
107
106
  return [{
108
- type: needLayout ? "title" : "paragraph",
107
+ type: "paragraph",
109
108
  children: [{
110
109
  text: ""
111
110
  }]
@@ -7,43 +7,43 @@ export const sizeMap = {
7
7
  export const fontFamilyMap = {
8
8
  PoppinsRegular: "PoppinsRegular",
9
9
  PoppinsBold: "PoppinsBold",
10
- sans: 'Helvetica, Arial, "sans serif"',
11
- serif: 'Georgia, "Times New Roaman", serif',
12
- monospace: 'Monaco, "Courier New", monospace',
13
- roboto: "Roboto, sans-serif",
14
- qwitcher: '"Qwitcher Grypen", cursive',
15
- garamond: '"EB Garamond", serif',
16
- anton: "Anton, sans-serif",
17
- dmserif: '"DM Serif Text", serif',
18
- inter: "Inter, sans-serif",
19
- libre: '"Libre Baskerville", serif',
20
- montserrat: "Montserrat, sans-serif",
21
- opensans: '"Open Sans", sans-serif',
22
- publicsans: '"Public Sans", sans-serif',
23
- raleway: "Raleway, sans-serif",
24
- spacemono: '"Space Mono", sans-serif',
25
- bulgarian: '"Bulgarian Garamond", monospace',
26
- impact: "Impact, serif",
27
- redacted: '"Redacted Script", cursive',
28
- greatVibes: '"Great Vibes", cursive',
29
- zeyada: "Zeyada, cursive",
30
- allura: "Allura, cursive",
31
- pinyon: '"Pinyon Script", cursive',
32
- muellerhoff: '"Herr Von Muellerhoff", cursive',
33
- dawning: '"Dawning of a New Day", cursive',
10
+ sans: "Helvetica,Arial, sans serif",
11
+ serif: "Georgia, Times New Roaman,serif",
12
+ monospace: "Monaco, Courier New,monospace",
13
+ roboto: "'Roboto', sans-serif",
14
+ qwitcher: "'Qwitcher Grypen', cursive",
15
+ garamond: "'EB Garamond', serif",
16
+ anton: "'Anton', sans-serif",
17
+ dmserif: "'DM Serif Text', serif",
18
+ inter: "'Inter', sans-serif",
19
+ libre: "'Libre Baskerville', serif",
20
+ montserrat: "'Montserrat', sans-serif",
21
+ opensans: "'Open Sans', sans-serif",
22
+ publicsans: "'Public Sans', sans-serif",
23
+ raleway: "'Raleway', sans-serif",
24
+ spacemono: "'Space Mono', sans-serif",
25
+ bulgarian: "'Bulgarian Garamond', monospace",
26
+ impact: "'Impact', serif",
27
+ redacted: "'Redacted Script', cursive",
28
+ greatVibes: "'Great Vibes', cursive",
29
+ zeyada: "'Zeyada', cursive",
30
+ allura: "'Allura', cursive",
31
+ pinyon: "'Pinyon Script', cursive",
32
+ muellerhoff: "'Herr Von Muellerhoff', cursive",
33
+ dawning: "'Dawning of a New Day', cursive",
34
34
  // New Font Added for Type Signature
35
- comingsoon: '"Coming Soon", cursive',
36
- dancingScript: '"Dancing Script", cursive',
37
- engagement: "Engagement, cursive",
38
- gaegu: "Gaegu, cursive",
39
- ingridDarling: '"Ingrid Darling", cursive',
40
- kitaOne: "Times",
41
- laBelleAurore: '"La Belle Aurore", cursive',
42
- lobster: "Lobster, cursive",
43
- meaCulpa: '"Mea Culpa", cursive',
44
- meddon: "Meddon, cursive",
45
- merriWeather: "Merriweather, serif",
46
- theGirlNextDoor: '"The Girl Next Door", cursive'
35
+ comingsoon: "'Coming Soon', cursive",
36
+ dancingScript: "'Dancing Script', cursive",
37
+ engagement: "'Engagement', cursive",
38
+ gaegu: "'Gaegu', cursive",
39
+ ingridDarling: "'Ingrid Darling', cursive",
40
+ kitaOne: "'Kite One', sans - serif",
41
+ laBelleAurore: "'La Belle Aurore', cursive",
42
+ lobster: "'Lobster', cursive",
43
+ meaCulpa: "'Mea Culpa', cursive",
44
+ meddon: "'Meddon', cursive",
45
+ merriWeather: "'Merriweather', serif",
46
+ theGirlNextDoor: "'The Girl Next Door', cursive"
47
47
  };
48
48
  export const fontOptions = Object.keys(fontFamilyMap).map(m => {
49
49
  return {
@@ -62,10 +62,7 @@ export const signedTextFonts = Object.keys(fontFamilyMap).slice(-12).map(m => {
62
62
  export const headingMap = {
63
63
  headingOne: "32px",
64
64
  headingTwo: "24px",
65
- headingThree: "19px",
66
- headingFour: "16px",
67
- headingFive: "13px",
68
- headingSix: "11px"
65
+ headingThree: "19px"
69
66
  };
70
67
  export const fontWeightOptions = [{
71
68
  text: "Bold",
@@ -100,6 +100,14 @@ export const getSelectedText = editor => {
100
100
  return "";
101
101
  }
102
102
  };
103
+ export const getNodeText = node => {
104
+ try {
105
+ return Node.string(node);
106
+ } catch (err) {
107
+ console.log(err);
108
+ return "";
109
+ }
110
+ };
103
111
  export const isEmptyNode = (editor, children, path) => {
104
112
  try {
105
113
  const isEmptyText = Node.string(Node.get(editor, path))?.length === 0;
@@ -464,34 +472,6 @@ export const decodeString = str => {
464
472
  console.log(err);
465
473
  }
466
474
  };
467
- export const getContrastColor = color => {
468
- let r, g, b;
469
-
470
- // Check if the color is in hex format
471
- if (color.startsWith("#")) {
472
- r = parseInt(color.substring(1, 3), 16);
473
- g = parseInt(color.substring(3, 5), 16);
474
- b = parseInt(color.substring(5, 7), 16);
475
- }
476
- // Check if the color is in RGB/RGBA format
477
- else if (color.startsWith("rgb")) {
478
- const rgbValues = color.replace(/^rgba?\(|\s+|\)$/g, "") // Remove the rgb/rgba and spaces
479
- .split(","); // Split the values into an array
480
-
481
- r = parseInt(rgbValues[0]);
482
- g = parseInt(rgbValues[1]);
483
- b = parseInt(rgbValues[2]);
484
- } else {
485
- // If the format is not recognized, default to black text
486
- return "#000000";
487
- }
488
-
489
- // Calculate relative luminance
490
- const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
491
-
492
- // Return black for light colors, white for dark colors
493
- return luminance > 0.5 ? "#000000" : "#FFFFFF";
494
- };
495
475
  export const onDeleteKey = (event, {
496
476
  editor
497
477
  }) => {
@@ -653,10 +633,6 @@ export const isRestrictedNode = (event, editor) => {
653
633
  return isNodeRestricted;
654
634
  }
655
635
  };
656
- export function capitalizeFirstLetter(str) {
657
- if (!str) return str;
658
- return str.charAt(0).toUpperCase() + str.slice(1);
659
- }
660
636
  export const insertLineBreakAtEndOfPath = (editor, path) => {
661
637
  try {
662
638
  const [node, nodePath] = Editor.node(editor, path); // Get the node at the specified path
@@ -675,13 +651,6 @@ export const insertLineBreakAtEndOfPath = (editor, path) => {
675
651
  console.log(err);
676
652
  }
677
653
  };
678
- export function isHavingSelection(editor) {
679
- try {
680
- return editor?.selection && !Range.isCollapsed(editor.selection);
681
- } catch (err) {
682
- console.log(err);
683
- }
684
- }
685
654
  const omitNodes = ["site-settings", "page-settings"];
686
655
  export function getInitialValue(value = [], readOnly) {
687
656
  if (readOnly === "readonly" && value?.length) {
@@ -712,17 +681,20 @@ export function getInitialValue(value = [], readOnly) {
712
681
  }
713
682
  return value;
714
683
  }
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
+ }
715
695
  export function getSelectedCls(defaultCls = "", selected, selectedClsName = "selected") {
716
696
  return `${defaultCls} ${selected ? selectedClsName : ""}`;
717
697
  }
718
- export function handleNegativeInteger(val) {
719
- return val < 0 ? 0 : val;
720
- }
721
- export const containsSurrogatePair = text => {
722
- // Match surrogate pairs (high and low surrogate)
723
- const surrogatePairRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
724
- return surrogatePairRegex.test(text);
725
- };
726
698
  export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
727
699
  try {
728
700
  const options = {
@@ -736,6 +708,11 @@ export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
736
708
  return [];
737
709
  }
738
710
  };
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
+ };
739
716
  export const getSlateDom = (editor, range) => {
740
717
  try {
741
718
  const slateDom = ReactEditor.toDOMRange(editor, range);
@@ -785,15 +762,6 @@ export const hideSlateSelection = () => {
785
762
  const root = document.documentElement;
786
763
  root.style.setProperty("--slate-highlight-bg", "none");
787
764
  };
788
- export const isEverythingSelected = editor => {
789
- const {
790
- selection
791
- } = editor;
792
- if (selection && Range.isExpanded(selection)) {
793
- if (Range.includes(selection, Editor.start(editor, [])) && Range.includes(selection, Editor.end(editor, []))) {
794
- return true;
795
- } else {
796
- return false;
797
- }
798
- }
799
- };
765
+ export function handleNegativeInteger(val) {
766
+ return val < 0 ? 0 : val;
767
+ }
@@ -3,7 +3,7 @@ import { isBlockActive } from "./SlateUtilityFunctions";
3
3
  export const createLinkNode = (href, showInNewTab, text, linkType) => ({
4
4
  type: "link",
5
5
  href,
6
- target: showInNewTab === "_blank" ? "_blank" : "_self",
6
+ target: showInNewTab ? "_blank" : "_self",
7
7
  linkType,
8
8
  children: [{
9
9
  text
@@ -174,14 +174,6 @@ 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
- }
185
177
  }
186
178
  };
187
179
  duplicateTable = () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flozy/editor",
3
- "version": "9.1.4",
3
+ "version": "9.1.6",
4
4
  "description": "An Editor for flozy app brain",
5
5
  "files": [
6
6
  "dist"
@@ -61,7 +61,7 @@
61
61
  "scripts": {
62
62
  "prepare": "husky install .husky",
63
63
  "analyze": "source-map-explorer build/static/js/*.js",
64
- "lint": "./node_modules/.bin/eslint --ignore-path .gitignore .",
64
+ "lint": "./node_modules/. bin/eslint --ignore-path .gitignore .",
65
65
  "start": "craco start",
66
66
  "build": "NODE_OPTIONS='--max_old_space_size=4096' craco build",
67
67
  "test": "craco test --passWithNoTests",
@@ -69,10 +69,7 @@
69
69
  "storybook": "storybook dev -p 6006",
70
70
  "build-storybook": "NODE_OPTIONS='--max_old_space_size=4096' storybook build",
71
71
  "publish:npm": "rm -rf dist && mkdir dist && babel src/components -d dist --copy-files",
72
- "publish:local": "rm -rf /Users/agmac03/flozy/client/node_modules/@flozy/editor/dist && babel src/components -d /Users/agmac03/flozy/client/node_modules/@flozy/editor/dist --copy-files",
73
- "publish:flozy": "./publish-flozy.sh",
74
- "publish:flozy2": "./publish-flozy2.sh",
75
- "publish:permission": "chmod +x publish-flozy.sh && chmod +x publish-flozy2.sh"
72
+ "publish:local": "rm -rf /Users/agmac03/flozy/client/node_modules/@flozy/editor/dist && babel src/components -d /Users/agmac03/flozy/client/node_modules/@flozy/editor/dist --copy-files"
76
73
  },
77
74
  "eslintConfig": {
78
75
  "extends": [