@flozy/editor 9.1.2 → 9.1.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 (128) hide show
  1. package/dist/Editor/ChatEditor.js +19 -2
  2. package/dist/Editor/CommonEditor.js +104 -37
  3. package/dist/Editor/DialogWrapper.js +31 -25
  4. package/dist/Editor/Editor.css +21 -3
  5. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  6. package/dist/Editor/Elements/Button/EditorButton.js +25 -9
  7. package/dist/Editor/Elements/Color Picker/ColorButtons.js +57 -12
  8. package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
  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 +4 -1
  12. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +3 -4
  13. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +6 -1
  14. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +19 -9
  15. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +32 -2
  16. package/dist/Editor/Elements/DataView/Layouts/TableView.js +126 -29
  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 +0 -14
  22. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +2 -1
  23. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +2 -1
  24. package/dist/Editor/Elements/FreeGrid/styles.js +3 -0
  25. package/dist/Editor/Elements/Grid/GridItem.js +2 -3
  26. package/dist/Editor/Elements/Link/Link.js +70 -43
  27. package/dist/Editor/Elements/SimpleText/index.js +0 -1
  28. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  29. package/dist/Editor/Elements/Table/Table.js +43 -27
  30. package/dist/Editor/Elements/Table/TableCell.js +4 -3
  31. package/dist/Editor/Elements/Title/title.js +13 -31
  32. package/dist/Editor/Elements/Variables/Style.js +28 -2
  33. package/dist/Editor/Elements/Variables/VariableButton.js +17 -4
  34. package/dist/Editor/Styles/EditorStyles.js +5 -5
  35. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
  36. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
  37. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  38. package/dist/Editor/Toolbar/FormatTools/TextSize.js +7 -15
  39. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +1 -0
  40. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +9 -8
  41. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
  42. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +210 -85
  43. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +2 -1
  44. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +16 -12
  45. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +54 -7
  46. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +438 -0
  47. package/dist/Editor/Toolbar/PopupTool/index.js +5 -10
  48. package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
  49. package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
  50. package/dist/Editor/common/ColorPickerButton.js +35 -9
  51. package/dist/Editor/common/CustomColorPicker/index.js +106 -0
  52. package/dist/Editor/common/CustomColorPicker/style.js +53 -0
  53. package/dist/Editor/common/CustomDialog/index.js +90 -0
  54. package/dist/Editor/common/CustomDialog/styles.js +80 -0
  55. package/dist/Editor/common/CustomDialog2/index.js +94 -0
  56. package/dist/Editor/common/CustomDialog2/style.js +67 -0
  57. package/dist/Editor/common/CustomSelect.js +33 -0
  58. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  59. package/dist/Editor/common/DnD/Draggable.js +0 -1
  60. package/dist/Editor/common/FontLoader/FontLoader.js +3 -0
  61. package/dist/Editor/common/Icon.js +28 -0
  62. package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
  63. package/dist/Editor/common/ImageSelector/Styles.js +3 -9
  64. package/dist/Editor/common/ImageSelector/UploadStyles.js +9 -10
  65. package/dist/Editor/common/MentionsPopup/Styles.js +6 -12
  66. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +2 -1
  67. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
  68. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
  69. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
  70. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
  71. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +4 -2
  72. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +3 -2
  73. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
  74. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
  75. package/dist/Editor/common/RnD/ElementSettings/styles.js +0 -1
  76. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +8 -2
  77. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
  78. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +6 -3
  79. package/dist/Editor/common/RnD/Utils/gridDropItem.js +5 -4
  80. package/dist/Editor/common/RnD/Utils/index.js +45 -0
  81. package/dist/Editor/common/RnD/index.js +23 -3
  82. package/dist/Editor/common/Shorthands/elements.js +54 -0
  83. package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
  84. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +5 -0
  85. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +12 -2
  86. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
  87. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +10 -2
  88. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +35 -11
  89. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +13 -4
  90. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
  91. package/dist/Editor/common/Uploader.js +8 -0
  92. package/dist/Editor/commonStyle.js +114 -69
  93. package/dist/Editor/helper/index.js +2 -2
  94. package/dist/Editor/helper/theme.js +200 -2
  95. package/dist/Editor/hooks/useDrag.js +17 -11
  96. package/dist/Editor/hooks/useEditorScroll.js +0 -1
  97. package/dist/Editor/hooks/useEditorTheme.js +153 -0
  98. package/dist/Editor/hooks/useMouseMove.js +9 -3
  99. package/dist/Editor/plugins/withEmbeds.js +1 -1
  100. package/dist/Editor/plugins/withHTML.js +19 -14
  101. package/dist/Editor/plugins/withLayout.js +1 -1
  102. package/dist/Editor/plugins/withTable.js +1 -1
  103. package/dist/Editor/theme/ThemeList.js +50 -173
  104. package/dist/Editor/theme/index.js +144 -0
  105. package/dist/Editor/themeSettings/ActiveTheme.js +72 -0
  106. package/dist/Editor/themeSettings/buttons/index.js +283 -0
  107. package/dist/Editor/themeSettings/buttons/style.js +21 -0
  108. package/dist/Editor/themeSettings/colorTheme/index.js +292 -0
  109. package/dist/Editor/themeSettings/colorTheme/style.js +77 -0
  110. package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
  111. package/dist/Editor/themeSettings/fonts/index.js +220 -0
  112. package/dist/Editor/themeSettings/fonts/style.js +44 -0
  113. package/dist/Editor/themeSettings/icons.js +60 -0
  114. package/dist/Editor/themeSettings/index.js +320 -0
  115. package/dist/Editor/themeSettings/style.js +152 -0
  116. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  117. package/dist/Editor/themeSettingsAI/index.js +356 -0
  118. package/dist/Editor/themeSettingsAI/saveTheme.js +197 -0
  119. package/dist/Editor/themeSettingsAI/style.js +250 -0
  120. package/dist/Editor/utils/SlateUtilityFunctions.js +150 -37
  121. package/dist/Editor/utils/button.js +0 -14
  122. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +23 -0
  123. package/dist/Editor/utils/draftToSlate.js +3 -2
  124. package/dist/Editor/utils/font.js +40 -37
  125. package/dist/Editor/utils/helper.js +59 -27
  126. package/dist/Editor/utils/link.js +1 -1
  127. package/dist/Editor/utils/table.js +8 -0
  128. package/package.json +6 -3
@@ -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: "'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"
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'
47
47
  };
48
48
  export const fontOptions = Object.keys(fontFamilyMap).map(m => {
49
49
  return {
@@ -62,7 +62,10 @@ 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"
65
+ headingThree: "19px",
66
+ headingFour: "16px",
67
+ headingFive: "13px",
68
+ headingSix: "11px"
66
69
  };
67
70
  export const fontWeightOptions = [{
68
71
  text: "Bold",
@@ -100,14 +100,6 @@ 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
- };
111
103
  export const isEmptyNode = (editor, children, path) => {
112
104
  try {
113
105
  const isEmptyText = Node.string(Node.get(editor, path))?.length === 0;
@@ -472,6 +464,34 @@ export const decodeString = str => {
472
464
  console.log(err);
473
465
  }
474
466
  };
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
+ };
475
495
  export const onDeleteKey = (event, {
476
496
  editor
477
497
  }) => {
@@ -633,6 +653,10 @@ export const isRestrictedNode = (event, editor) => {
633
653
  return isNodeRestricted;
634
654
  }
635
655
  };
656
+ export function capitalizeFirstLetter(str) {
657
+ if (!str) return str;
658
+ return str.charAt(0).toUpperCase() + str.slice(1);
659
+ }
636
660
  export const insertLineBreakAtEndOfPath = (editor, path) => {
637
661
  try {
638
662
  const [node, nodePath] = Editor.node(editor, path); // Get the node at the specified path
@@ -651,6 +675,13 @@ export const insertLineBreakAtEndOfPath = (editor, path) => {
651
675
  console.log(err);
652
676
  }
653
677
  };
678
+ export function isHavingSelection(editor) {
679
+ try {
680
+ return editor?.selection && !Range.isCollapsed(editor.selection);
681
+ } catch (err) {
682
+ console.log(err);
683
+ }
684
+ }
654
685
  const omitNodes = ["site-settings", "page-settings"];
655
686
  export function getInitialValue(value = [], readOnly) {
656
687
  if (readOnly === "readonly" && value?.length) {
@@ -681,20 +712,17 @@ export function getInitialValue(value = [], readOnly) {
681
712
  }
682
713
  return value;
683
714
  }
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
715
  export function getSelectedCls(defaultCls = "", selected, selectedClsName = "selected") {
696
716
  return `${defaultCls} ${selected ? selectedClsName : ""}`;
697
717
  }
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
+ };
698
726
  export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
699
727
  try {
700
728
  const options = {
@@ -708,11 +736,6 @@ export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
708
736
  return [];
709
737
  }
710
738
  };
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
739
  export const getSlateDom = (editor, range) => {
717
740
  try {
718
741
  const slateDom = ReactEditor.toDOMRange(editor, range);
@@ -762,6 +785,15 @@ export const hideSlateSelection = () => {
762
785
  const root = document.documentElement;
763
786
  root.style.setProperty("--slate-highlight-bg", "none");
764
787
  };
765
- export function handleNegativeInteger(val) {
766
- return val < 0 ? 0 : val;
767
- }
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
+ };
@@ -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" : "_self",
6
+ target: showInNewTab === "_blank" ? "_blank" : "_self",
7
7
  linkType,
8
8
  children: [{
9
9
  text
@@ -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.1.2",
3
+ "version": "9.1.3",
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,7 +69,10 @@
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"
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"
73
76
  },
74
77
  "eslintConfig": {
75
78
  "extends": [