@flozy/editor 5.5.9 → 5.6.1

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 (212) hide show
  1. package/dist/Editor/ChatEditor.js +25 -34
  2. package/dist/Editor/CommonEditor.js +33 -16
  3. package/dist/Editor/Editor.css +105 -20
  4. package/dist/Editor/Elements/AI/AIInput.js +0 -1
  5. package/dist/Editor/Elements/AI/CustomSelect.js +17 -10
  6. package/dist/Editor/Elements/AI/PopoverAIInput.js +59 -53
  7. package/dist/Editor/Elements/AI/Styles.js +24 -6
  8. package/dist/Editor/Elements/Accordion/Accordion.js +8 -1
  9. package/dist/Editor/Elements/AppHeader/AppHeader.js +6 -6
  10. package/dist/Editor/Elements/Button/EditorButton.js +9 -2
  11. package/dist/Editor/Elements/Carousel/CarouselItem.js +11 -3
  12. package/dist/Editor/Elements/Color Picker/ColorButtons.js +7 -5
  13. package/dist/Editor/Elements/Color Picker/Styles.js +8 -3
  14. package/dist/Editor/Elements/Color Picker/defaultColors.js +2 -2
  15. package/dist/Editor/Elements/DataView/DataView.js +124 -0
  16. package/dist/Editor/Elements/DataView/DataViewButton.js +23 -0
  17. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +83 -0
  18. package/dist/Editor/Elements/DataView/Layouts/DataTypes/CheckType.js +33 -0
  19. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +180 -0
  20. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SimpleSelect.js +62 -0
  21. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +68 -0
  22. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +35 -0
  23. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +39 -0
  24. package/dist/Editor/Elements/DataView/Layouts/DataTypes/NumberType.js +30 -0
  25. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +30 -0
  26. package/dist/Editor/Elements/DataView/Layouts/DataTypes/SelectType.js +35 -0
  27. package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +36 -0
  28. package/dist/Editor/Elements/DataView/Layouts/DataTypes/index.js +17 -0
  29. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseField.js +29 -0
  30. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +38 -0
  31. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +86 -0
  32. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +71 -0
  33. package/dist/Editor/Elements/DataView/Layouts/FilterSort/styles.js +138 -0
  34. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +213 -0
  35. package/dist/Editor/Elements/DataView/Layouts/Formula.js +29 -0
  36. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +113 -0
  37. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +44 -0
  38. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +146 -0
  39. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +79 -0
  40. package/dist/Editor/Elements/DataView/Layouts/Options/ColumnsList.js +57 -0
  41. package/dist/Editor/Elements/DataView/Layouts/Options/Constants.js +101 -0
  42. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +174 -0
  43. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +241 -0
  44. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +45 -0
  45. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +32 -0
  46. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +110 -0
  47. package/dist/Editor/Elements/DataView/Layouts/Options/styles.js +217 -0
  48. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +131 -0
  49. package/dist/Editor/Elements/DataView/Layouts/TableView.js +253 -0
  50. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +85 -0
  51. package/dist/Editor/Elements/DataView/Layouts/colStyles.js +10 -0
  52. package/dist/Editor/Elements/DataView/Layouts/index.js +25 -0
  53. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +277 -0
  54. package/dist/Editor/Elements/DataView/Utils/globalSearch.js +15 -0
  55. package/dist/Editor/Elements/DataView/Utils/multiSortRows.js +88 -0
  56. package/dist/Editor/Elements/DataView/styles.js +169 -0
  57. package/dist/Editor/Elements/Divider/Divider.js +36 -20
  58. package/dist/Editor/Elements/Embed/Image.js +51 -16
  59. package/dist/Editor/Elements/Embed/Video.js +26 -3
  60. package/dist/Editor/Elements/Form/Form.js +39 -2
  61. package/dist/Editor/Elements/Form/FormElements/FormCheckbox.js +7 -1
  62. package/dist/Editor/Elements/Form/FormElements/FormDate.js +7 -1
  63. package/dist/Editor/Elements/Form/FormElements/FormEmail.js +7 -1
  64. package/dist/Editor/Elements/Form/FormElements/FormNumbers.js +7 -1
  65. package/dist/Editor/Elements/Form/FormElements/FormRadioButton.js +7 -1
  66. package/dist/Editor/Elements/Form/FormElements/FormText.js +7 -1
  67. package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +6 -1
  68. package/dist/Editor/Elements/Form/FormPopup.js +12 -9
  69. package/dist/Editor/Elements/Form/Workflow/Styles.js +2 -0
  70. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +1 -1
  71. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +4 -2
  72. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +20 -1
  73. package/dist/Editor/Elements/FreeGrid/breakpointConstants.js +4 -4
  74. package/dist/Editor/Elements/FreeGrid/styles.js +2 -1
  75. package/dist/Editor/Elements/Grid/GridButton.js +2 -2
  76. package/dist/Editor/Elements/Grid/GridItem.js +47 -36
  77. package/dist/Editor/Elements/Grid/Styles.js +50 -0
  78. package/dist/Editor/Elements/Link/LinkButton.js +1 -1
  79. package/dist/Editor/Elements/List/CheckList.js +2 -1
  80. package/dist/Editor/Elements/Search/SearchAttachment.js +1 -0
  81. package/dist/Editor/Elements/Search/SearchButton.js +1 -0
  82. package/dist/Editor/Elements/Signature/Signature.css +1 -1
  83. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -2
  84. package/dist/Editor/Elements/Signature/SignaturePopup.js +17 -52
  85. package/dist/Editor/Elements/SimpleText/index.js +11 -3
  86. package/dist/Editor/Elements/SimpleText/style.js +20 -1
  87. package/dist/Editor/Elements/Table/AddRowCol.js +77 -0
  88. package/dist/Editor/Elements/Table/DragButton.js +142 -0
  89. package/dist/Editor/Elements/Table/DragStyles.js +70 -0
  90. package/dist/Editor/Elements/Table/Draggable.js +25 -0
  91. package/dist/Editor/Elements/Table/Droppable.js +53 -0
  92. package/dist/Editor/Elements/Table/Styles.js +88 -78
  93. package/dist/Editor/Elements/Table/Table.js +263 -140
  94. package/dist/Editor/Elements/Table/TableCell.js +365 -111
  95. package/dist/Editor/Elements/Table/TablePopup.js +9 -3
  96. package/dist/Editor/Elements/Table/TableRow.js +10 -2
  97. package/dist/Editor/Elements/Table/TableTool.js +101 -0
  98. package/dist/Editor/Elements/Table/tableHelper.js +71 -0
  99. package/dist/Editor/Elements/TopBanner/TopBanner.js +2 -1
  100. package/dist/Editor/MiniEditor.js +21 -2
  101. package/dist/Editor/Styles/EditorStyles.js +13 -4
  102. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +10 -0
  103. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +7 -12
  104. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +26 -4
  105. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +3 -0
  106. package/dist/Editor/Toolbar/FormatTools/TextSize.js +5 -5
  107. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +8 -8
  108. package/dist/Editor/Toolbar/Mini/Styles.js +9 -1
  109. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +13 -3
  110. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/InfinityAITool.js +7 -3
  111. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +6 -4
  112. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +19 -15
  113. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +557 -58
  114. package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +1 -1
  115. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +73 -16
  116. package/dist/Editor/Toolbar/PopupTool/index.js +3 -5
  117. package/dist/Editor/Toolbar/Toolbar.js +6 -0
  118. package/dist/Editor/Toolbar/toolbarGroups.js +4 -0
  119. package/dist/Editor/assets/svg/ArrowDownIcon.js +25 -0
  120. package/dist/Editor/assets/svg/ArrowUpIcon.js +25 -0
  121. package/dist/Editor/assets/svg/BrainIcon.js +2 -2
  122. package/dist/Editor/assets/svg/CalenderIconTick.js +64 -0
  123. package/dist/Editor/assets/svg/ChervDown.js +18 -0
  124. package/dist/Editor/assets/svg/ChervUp.js +18 -0
  125. package/dist/Editor/assets/svg/DataTableIcon.js +50 -0
  126. package/dist/Editor/assets/svg/DuplicateIcon.js +23 -0
  127. package/dist/Editor/assets/svg/EyeIcon.js +23 -0
  128. package/dist/Editor/assets/svg/EyeSlash.js +43 -0
  129. package/dist/Editor/assets/svg/HashtagIcon.js +33 -0
  130. package/dist/Editor/assets/svg/PlusIcon.js +23 -0
  131. package/dist/Editor/assets/svg/SelectRoundedIcon.js +24 -0
  132. package/dist/Editor/assets/svg/SettingsIcon.js +4 -4
  133. package/dist/Editor/assets/svg/SortByIcon.js +33 -0
  134. package/dist/Editor/assets/svg/TableIcons.js +220 -0
  135. package/dist/Editor/assets/svg/TickOutlined.js +23 -0
  136. package/dist/Editor/assets/svg/TrashCanIcon.js +38 -0
  137. package/dist/Editor/common/ColorPickerButton.js +85 -45
  138. package/dist/Editor/common/DnD/Draggable.js +2 -1
  139. package/dist/Editor/common/FontLoader/FontLoader.js +6 -6
  140. package/dist/Editor/common/Icon.js +54 -21
  141. package/dist/Editor/common/ImageSelector/Options/Upload.js +2 -1
  142. package/dist/Editor/common/ImageSelector/Styles.js +47 -6
  143. package/dist/Editor/common/ImageSelector/UploadStyles.js +18 -6
  144. package/dist/Editor/common/LinkSettings/NavComponents.js +2 -1
  145. package/dist/Editor/common/LinkSettings/index.js +2 -1
  146. package/dist/Editor/common/MentionsPopup/Styles.js +143 -8
  147. package/dist/Editor/common/MentionsPopup/index.js +1 -1
  148. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +108 -12
  149. package/dist/Editor/common/RnD/GuideLines/styles.js +3 -3
  150. package/dist/Editor/common/RnD/ShadowElement.js +1 -1
  151. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +14 -2
  152. package/dist/Editor/common/RnD/Utils/gridDropItem.js +26 -7
  153. package/dist/Editor/common/RnD/VirtualElement/index.js +5 -1
  154. package/dist/Editor/common/RnD/index.js +4 -3
  155. package/dist/Editor/common/Section/index.js +3 -3
  156. package/dist/Editor/common/Section/styles.js +5 -1
  157. package/dist/Editor/common/Select/index.js +20 -0
  158. package/dist/Editor/common/Select/styles.js +17 -0
  159. package/dist/Editor/common/Shorthands/elements.js +13 -1
  160. package/dist/Editor/common/StyleBuilder/fieldStyle.js +2 -1
  161. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +9 -3
  162. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +35 -7
  163. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -2
  164. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +10 -2
  165. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +2 -1
  166. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +1 -1
  167. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +2 -0
  168. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
  169. package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +79 -0
  170. package/dist/Editor/common/StyleBuilder/fieldTypes/radiusStyle.js +11 -11
  171. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +22 -6
  172. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +21 -2
  173. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +20 -4
  174. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +12 -2
  175. package/dist/Editor/common/StyleBuilder/formStyle.js +268 -149
  176. package/dist/Editor/common/StyleBuilder/index.js +101 -20
  177. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +4 -0
  178. package/dist/Editor/common/StyleBuilder/tableStyle.js +69 -25
  179. package/dist/Editor/common/SwipeableDrawer/style.js +15 -4
  180. package/dist/Editor/common/ToolbarIcon.js +1 -1
  181. package/dist/Editor/common/Uploader.js +46 -36
  182. package/dist/Editor/common/iconListV2.js +598 -74
  183. package/dist/Editor/common/iconslist.js +25 -19
  184. package/dist/Editor/commonStyle.js +421 -15
  185. package/dist/Editor/helper/deserialize/index.js +31 -2
  186. package/dist/Editor/helper/enforceDateFormat.js +41 -0
  187. package/dist/Editor/helper/index.js +17 -4
  188. package/dist/Editor/helper/theme.js +39 -2
  189. package/dist/Editor/hooks/useBreakpoints.js +1 -1
  190. package/dist/Editor/hooks/useMouseMove.js +5 -2
  191. package/dist/Editor/hooks/useTable.js +210 -0
  192. package/dist/Editor/plugins/withCustomDeleteBackward.js +34 -3
  193. package/dist/Editor/plugins/withEmbeds.js +30 -26
  194. package/dist/Editor/plugins/withHTML.js +100 -12
  195. package/dist/Editor/plugins/withLayout.js +1 -0
  196. package/dist/Editor/utils/SlateUtilityFunctions.js +39 -12
  197. package/dist/Editor/utils/brains.js +1 -1
  198. package/dist/Editor/utils/button.js +4 -4
  199. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +75 -6
  200. package/dist/Editor/utils/customHooks/useResize.js +7 -4
  201. package/dist/Editor/utils/customHooks/useTableResize.js +6 -2
  202. package/dist/Editor/utils/dataView.js +43 -0
  203. package/dist/Editor/utils/embed.js +2 -1
  204. package/dist/Editor/utils/events.js +0 -1
  205. package/dist/Editor/utils/font.js +11 -4
  206. package/dist/Editor/utils/formfield.js +8 -4
  207. package/dist/Editor/utils/helper.js +103 -2
  208. package/dist/Editor/utils/insertNewLine.js +19 -1
  209. package/dist/Editor/utils/pageSettings.js +14 -2
  210. package/dist/Editor/utils/serializeToText.js +2 -0
  211. package/dist/Editor/utils/table.js +228 -24
  212. package/package.json +2 -2
@@ -0,0 +1,71 @@
1
+ import { getNode } from "../../utils/helper";
2
+ import { serializeToText } from "../../utils/serializeToText";
3
+ export const getRectangleBounds = tableSelection => {
4
+ const {
5
+ startCellPath,
6
+ endCellPath
7
+ } = tableSelection;
8
+ if (!startCellPath?.length) return [];
9
+ const startPath = startCellPath.slice(0, -2);
10
+ const startCell = startCellPath.slice(-2);
11
+ const endCell = endCellPath.slice(-2);
12
+ const [startRow, startCol] = startCell;
13
+ const [endRow, endCol] = endCell?.length ? endCell : startCell;
14
+ const minRow = Math.min(startRow, endRow);
15
+ const maxRow = Math.max(startRow, endRow);
16
+ const minCol = Math.min(startCol, endCol);
17
+ const maxCol = Math.max(startCol, endCol);
18
+ const selectedPaths = [];
19
+ for (let row = minRow; row <= maxRow; row++) {
20
+ for (let col = minCol; col <= maxCol; col++) {
21
+ selectedPaths.push([...startPath, row, col]);
22
+ }
23
+ }
24
+ return selectedPaths;
25
+ };
26
+ export const createCopiedTableStructure = (editor, tableSelection, currentTableNode, tablePath) => {
27
+ const selectedCells = getRectangleBounds(tableSelection);
28
+ const formattedCells = selectedCells.map(cell => cell.slice(-2));
29
+ const tableChild = [];
30
+ const rowIndexes = [...new Set(formattedCells.map(cell => cell[0]))];
31
+ rowIndexes.forEach((rowIndex, row_i) => {
32
+ const row = {
33
+ type: "table-row",
34
+ children: []
35
+ };
36
+
37
+ // Filter cells that belong to the current row
38
+ const cellsInRow = formattedCells.filter(cell => cell[0] === rowIndex);
39
+
40
+ // Iterate over the columns of the row to create table cells
41
+ const columnIndexes = [...new Set(cellsInRow.map(cell => cell[1]))];
42
+ columnIndexes.forEach((columnIndex, col_i) => {
43
+ const cellPath = [...tablePath, rowIndex, columnIndex];
44
+ const columnNode = getNode(editor, cellPath);
45
+ row.children.push(columnNode);
46
+ });
47
+ tableChild.push(row);
48
+ });
49
+ const table = {
50
+ ...currentTableNode,
51
+ children: tableChild,
52
+ rows: rowIndexes?.length,
53
+ columns: tableChild[0]?.children?.length // first row's children length
54
+ };
55
+
56
+ return table;
57
+ };
58
+ export const tableNodeToDom = tableNode => {
59
+ const tableEle = document.createElement("table");
60
+ tableNode.children?.forEach(row => {
61
+ const rowEle = document.createElement("tr");
62
+ row?.children?.forEach(cell => {
63
+ const cellEle = document.createElement("td");
64
+ const cellText = serializeToText(cell);
65
+ cellEle.innerHTML = cellText;
66
+ rowEle.appendChild(cellEle);
67
+ });
68
+ tableEle.appendChild(rowEle);
69
+ });
70
+ return tableEle;
71
+ };
@@ -77,6 +77,7 @@ const TopBanner = props => {
77
77
  theme
78
78
  } = useEditorContext();
79
79
  const classes = TopBannerStyles(theme);
80
+ const renderHeaderAboveBanner = customProps?.metadata?.renderHeader ? customProps.metadata.renderHeader() : null;
80
81
  return /*#__PURE__*/_jsxs(Box, {
81
82
  component: "div",
82
83
  ...attributes,
@@ -87,7 +88,7 @@ const TopBanner = props => {
87
88
  },
88
89
  contentEditable: false,
89
90
  sx: classes.root,
90
- children: [/*#__PURE__*/_jsx("img", {
91
+ children: [renderHeaderAboveBanner, /*#__PURE__*/_jsx("img", {
91
92
  src: url,
92
93
  alt: "Top Banner",
93
94
  className: "top-banner-wrpr-ele",
@@ -1,5 +1,5 @@
1
1
  import React, { useCallback, useRef, useState, useEffect } from "react";
2
- import { createEditor } from "slate";
2
+ import { createEditor, Range } from "slate";
3
3
  import { Slate, Editable } from "slate-react";
4
4
  import { useDebounce } from "use-debounce";
5
5
  import { getBlock, getMarked } from "./utils/SlateUtilityFunctions";
@@ -115,6 +115,20 @@ const MiniEditor = props => {
115
115
  event,
116
116
  editor
117
117
  });
118
+ } else if (event.key === "Backspace") {
119
+ const {
120
+ selection
121
+ } = editor;
122
+ event.preventDefault();
123
+ if (selection) {
124
+ if (!Range.isCollapsed(selection)) {
125
+ editor.deleteFragment();
126
+ } else {
127
+ editor.deleteBackward({
128
+ unit: "character"
129
+ });
130
+ }
131
+ }
118
132
  }
119
133
  }, [chars, editor, target, mentions, setMentions, search, type, mentionsRef]);
120
134
  const renderElement = useCallback(props => {
@@ -144,7 +158,12 @@ const MiniEditor = props => {
144
158
  className: className || "mini-editor-cls",
145
159
  renderElement: renderElement,
146
160
  renderLeaf: renderLeaf,
147
- onKeyDown: onKeyDown
161
+ onKeyDown: onKeyDown,
162
+ style: {
163
+ height: '200px',
164
+ overflow: 'auto',
165
+ marginBottom: '12px'
166
+ }
148
167
  })]
149
168
  })
150
169
  });
@@ -129,7 +129,8 @@ const editorStyles = ({
129
129
  }
130
130
  },
131
131
  "& .accordion-summary-collapse-btn": {
132
- padding: "4px"
132
+ padding: "4px",
133
+ width: '5px'
133
134
  },
134
135
  "& .workflow-icon-btn": {
135
136
  pointerEvents: "none",
@@ -238,6 +239,7 @@ const editorStyles = ({
238
239
  }
239
240
  },
240
241
  "& .section-tw": {
242
+ background: 'transparent !important',
241
243
  "& button": {
242
244
  padding: "2px",
243
245
  borderRadius: "0px",
@@ -286,14 +288,21 @@ const editorStyles = ({
286
288
  }
287
289
  },
288
290
  "& ::selection": {
289
- color: "inherit",
290
- background: "#EAEBFE"
291
+ background: 'rgba(35, 131, 226, 0.35)!important',
292
+ color: 'inherit'
293
+ },
294
+ "&.readOnlyContainer": {
295
+ "& .max-content": {
296
+ paddingBottom: "0px !important"
297
+ }
291
298
  }
292
299
  },
293
300
  fullScreenWrapper: {
301
+ "& .editor-wrapper": {
302
+ paddingTop: '20px'
303
+ },
294
304
  "& .MuiPaper-root": {
295
305
  borderRadius: "0px !important",
296
- paddingTop: "20px",
297
306
  "& .MuiDialogTitle-root": {
298
307
  position: "absolute",
299
308
  top: 0,
@@ -2,6 +2,8 @@ import React from "react";
2
2
  import Icon from "../../common/Icon";
3
3
  import Button from "../../common/Button";
4
4
  import { toggleBlock, isBlockActive, isMarkActive, toggleMark } from "../../utils/SlateUtilityFunctions.js";
5
+ import usePopupStyle from "../PopupTool/PopupToolStyle";
6
+ import { useEditorContext } from "../../hooks/useMouseMove";
5
7
  import { jsx as _jsx } from "react/jsx-runtime";
6
8
  const MARK_TYPES = ["doublequote"];
7
9
  const BlockButton = props => {
@@ -12,6 +14,10 @@ const BlockButton = props => {
12
14
  } = props;
13
15
  const isMark = MARK_TYPES?.indexOf(format) >= 0;
14
16
  const isActive = isMark ? isMarkActive(editor, format) : isBlockActive(editor, format);
17
+ const {
18
+ theme
19
+ } = useEditorContext();
20
+ const classes = usePopupStyle(theme);
15
21
  return /*#__PURE__*/_jsx(Button, {
16
22
  active: isActive,
17
23
  format: format,
@@ -24,6 +30,10 @@ const BlockButton = props => {
24
30
  }
25
31
  },
26
32
  title: title,
33
+ sx: classes.textAlignButtons,
34
+ style: {
35
+ color: "#64748B"
36
+ },
27
37
  children: /*#__PURE__*/_jsx(Icon, {
28
38
  icon: format
29
39
  })
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { Select, MenuItem } from "@mui/material";
3
3
  import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions.js";
4
- import { fontFamilyMap } from "../../utils/font";
4
+ import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  const Dropdown = ({
7
7
  classes,
@@ -23,23 +23,18 @@ const Dropdown = ({
23
23
  value: value,
24
24
  className: "editor-dd",
25
25
  onChange: e => changeMarkData(e, format),
26
- style: {
27
- fontFamily: fontFamilyMap[value],
28
- width: width || "100%",
29
- height: "36px",
30
- borderRadius: "10px",
31
- fontSize: "12px"
32
- },
33
26
  MenuProps: {
34
27
  PaperProps: {
35
28
  sx: classes?.textOptions
36
29
  }
37
30
  },
38
- children: options.map((item, index) => /*#__PURE__*/_jsx(MenuItem, {
39
- style: {
40
- fontFamily: item.text
41
- },
31
+ sx: classes.textFormatSelect,
32
+ IconComponent: KeyboardArrowDownRoundedIcon,
33
+ children: options.map((item, index) => /*#__PURE__*/_jsx(MenuItem
34
+ // style={{ fontFamily: item.text }}
35
+ , {
42
36
  value: item.value,
37
+ sx: classes.textFormatSelectOptions,
43
38
  children: item.text
44
39
  }, index))
45
40
  });
@@ -1,6 +1,9 @@
1
1
  import React from "react";
2
2
  import { Autocomplete, TextField } from "@mui/material";
3
3
  import { activeMark, addMarkData } from "../../utils/SlateUtilityFunctions.js";
4
+ import usePopupStyle from "../PopupTool/PopupToolStyle.js";
5
+ import { useEditorContext } from "../../hooks/useMouseMove.js";
6
+ import KeyboardArrowDownRoundedIcon from '@mui/icons-material/KeyboardArrowDownRounded';
4
7
  import { jsx as _jsx } from "react/jsx-runtime";
5
8
  const FontFamilyAutocomplete = ({
6
9
  editor,
@@ -27,17 +30,21 @@ const FontFamilyAutocomplete = ({
27
30
  });
28
31
  }
29
32
  };
33
+ const {
34
+ theme
35
+ } = useEditorContext();
36
+ const classes = usePopupStyle(theme);
30
37
  return /*#__PURE__*/_jsx(Autocomplete, {
31
38
  size: "small",
32
39
  style: {
33
40
  fontFamily: `${value || ""}`,
34
- width: width || "100%",
35
- height: "36px",
36
- borderRadius: "10px",
37
- fontSize: "14px"
41
+ width: width || "100%"
38
42
  },
39
43
  value: value || options?.[0],
40
44
  className: "editor-dd",
45
+ sx: {
46
+ ...classes.autoCompleteaFontFamily
47
+ },
41
48
  onChange: (e, newValue) => changeMarkData(e, newValue, format),
42
49
  getOptionLabel: option => {
43
50
  return option;
@@ -53,6 +60,14 @@ const FontFamilyAutocomplete = ({
53
60
  children: option
54
61
  });
55
62
  },
63
+ slotProps: {
64
+ popper: {
65
+ sx: {
66
+ ...classes.fontFamilyListOptions
67
+ }
68
+ }
69
+ },
70
+ popupIcon: /*#__PURE__*/_jsx(KeyboardArrowDownRoundedIcon, {}),
56
71
  renderInput: params => /*#__PURE__*/_jsx(TextField, {
57
72
  sx: {
58
73
  "& .MuiInputBase-root.MuiOutlinedInput-root": {
@@ -61,6 +76,13 @@ const FontFamilyAutocomplete = ({
61
76
  },
62
77
  ...params
63
78
  })
79
+ // componentsProps={{
80
+ // clearIndicator: {
81
+ // style: { display: 'none' },
82
+ // },
83
+ // }}
84
+ ,
85
+ disableClearable: true
64
86
  });
65
87
  };
66
88
  export default FontFamilyAutocomplete;
@@ -16,6 +16,9 @@ const MarkButton = ({
16
16
  toggleMark(editor, format);
17
17
  },
18
18
  title: title,
19
+ style: {
20
+ color: "#64748B"
21
+ },
19
22
  children: /*#__PURE__*/_jsx(Icon, {
20
23
  icon: format
21
24
  })
@@ -2,10 +2,12 @@ import React, { useEffect, useRef, useState } from "react";
2
2
  import { TextField, IconButton } from "@mui/material";
3
3
  import { addMarkData, activeMark, isBlockActive } from "../../utils/SlateUtilityFunctions.js";
4
4
  import { headingMap, sizeMap } from "../../utils/font.js";
5
- import { TextMinusIcon, TextPlusIcon } from "../../common/iconslist.js";
5
+ import ExpandLessRoundedIcon from "@mui/icons-material/ExpandLessRounded";
6
+ import ExpandMoreRoundedIcon from "@mui/icons-material/ExpandMoreRounded";
6
7
  import { getBreakPointsValue } from "../../helper/theme.js";
7
8
  import useWindowResize from "../../hooks/useWindowResize.js";
8
9
  import { BREAKPOINTS_DEVICES } from "../../helper/theme.js";
10
+ import { TextSizeDownArrow, TextSizeUpArrow } from "../../common/iconListV2.js";
9
11
  import { jsx as _jsx } from "react/jsx-runtime";
10
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
11
13
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -93,8 +95,6 @@ const TextSize = ({
93
95
  inputProps: {
94
96
  style: {
95
97
  width: fullWidth ? "100%" : "30px",
96
- // textAlign: "center",
97
- height: "19px",
98
98
  fontSize: "12px"
99
99
  }
100
100
  },
@@ -108,11 +108,11 @@ const TextSize = ({
108
108
  children: [/*#__PURE__*/_jsx(IconButton, {
109
109
  onClick: onIncreaseSize,
110
110
  size: "small",
111
- children: /*#__PURE__*/_jsx(TextPlusIcon, {})
111
+ children: /*#__PURE__*/_jsx(TextSizeUpArrow, {})
112
112
  }), /*#__PURE__*/_jsx(IconButton, {
113
113
  onClick: onDecreaseSize,
114
114
  size: "small",
115
- children: /*#__PURE__*/_jsx(TextMinusIcon, {})
115
+ children: /*#__PURE__*/_jsx(TextSizeDownArrow, {})
116
116
  })]
117
117
  })
118
118
  }
@@ -19,9 +19,9 @@ const POPUP_TYPES = {
19
19
  addTemplate: AddTemplates
20
20
  };
21
21
  const POPUP_OFFSETS = {
22
- textFormat: [80, 5],
23
- addElement: [60, 5],
24
- addTemplate: [20, 5]
22
+ textFormat: [75, 5],
23
+ addElement: [40, 5],
24
+ addTemplate: [10, 5]
25
25
  };
26
26
  const FULLSCREEN_POPUP = {
27
27
  addTemplate: true
@@ -139,14 +139,17 @@ const MiniToolbar = props => {
139
139
  icon: Icon
140
140
  }) => {
141
141
  const isDisabled = popupType === type || type === "undo" ? !canUndo : type === "redo" ? !canRedo : false;
142
+ const isFocussed = editor?.selection?.anchor?.path;
143
+ const disableAddElement = type === "addElement" && !isFocussed;
142
144
  return /*#__PURE__*/_jsx(Tooltip, {
143
145
  arrow: true,
144
146
  title: label,
145
147
  disableHoverListener: toolTip,
146
148
  children: /*#__PURE__*/_jsx(IconButton, {
147
- className: `${type === popper ? "active" : ""} ${type === "undo" && !canUndo || type === "redo" && !canRedo ? "disabled" : ""} ${type === "undo" ? canUndo ? "activeUndo" : "disabledUndo" : type === "redo" ? canRedo ? "activeRedo" : "disabledRedo" : ""}`,
149
+ className: `${type === popper ? "active" : ""} ${type === "undo" && !canUndo || type === "redo" && !canRedo ? "disabled" : ""} ${type === "undo" ? canUndo ? "activeUndo" : "disabledUndo" : type === "redo" ? canRedo ? "activeRedo" : "disabledRedo" : ""} ${disableAddElement ? "disableAddElement" : ""}
150
+ `,
148
151
  onClick: handleClick(type),
149
- disabled: isDisabled,
152
+ disabled: isDisabled || disableAddElement,
150
153
  children: type === "page-settings" ? /*#__PURE__*/_jsx(PageSettingsButton, {
151
154
  from: "miniToolBar",
152
155
  icoBtnType: "mini",
@@ -180,9 +183,6 @@ const MiniToolbar = props => {
180
183
  }],
181
184
  children: PopupComponent ? /*#__PURE__*/_jsxs(Paper, {
182
185
  className: "papper-wrpr",
183
- style: {
184
- borderRadius: "10px"
185
- },
186
186
  children: [/*#__PURE__*/_jsx(PopperHeader, {
187
187
  title: POPUP_TITLE[popper],
188
188
  classes: popupStyles,
@@ -39,7 +39,10 @@ const miniToolbarStyles = theme => ({
39
39
  },
40
40
  "&.active": {
41
41
  "& svg": {
42
- stroke: theme?.palette?.editor?.activeColor
42
+ stroke: theme?.palette?.editor?.activeColor,
43
+ "& path": {
44
+ stroke: theme?.palette?.editor?.activeColor
45
+ }
43
46
  }
44
47
  },
45
48
  "&.activeUndo": {
@@ -76,6 +79,11 @@ const miniToolbarStyles = theme => ({
76
79
  stroke: theme?.palette?.editor?.svgStrokeDisabled
77
80
  }
78
81
  }
82
+ },
83
+ "&.disableAddElement": {
84
+ "& svg": {
85
+ stroke: theme?.palette?.editor?.svgStrokeDisabled
86
+ }
79
87
  }
80
88
  }
81
89
  }
@@ -98,12 +98,22 @@ const AddTemplates = props => {
98
98
  setCategory(newValue);
99
99
  setFilteredTemplates(templates.filter(f => f.category === newValue));
100
100
  };
101
- const onSelectTemplate = card => () => {
101
+ const onSelectTemplate = card => async () => {
102
102
  try {
103
- editor.insertNode(JSON.parse(card.content));
103
+ const {
104
+ data
105
+ } = await services("templateContent", {
106
+ id: card?.id
107
+ });
108
+ const content = data?.content;
109
+ if (content) {
110
+ editor.insertNode(JSON.parse(content));
111
+ } else {
112
+ console.log("No data found");
113
+ }
104
114
  onClose();
105
115
  } catch (err) {
106
- console.log(err);
116
+ console.log("Error inserting template content into editor:", err);
107
117
  }
108
118
  };
109
119
  const filterByTitle = f => {
@@ -1,8 +1,12 @@
1
1
  import { Box, IconButton } from "@mui/material";
2
2
  import Icon from "../../../common/Icon";
3
3
  import { useEditorContext } from "../../../hooks/useMouseMove";
4
+ import { getSelectedText } from "../../../utils/helper";
4
5
  import { jsx as _jsx } from "react/jsx-runtime";
5
- function InfinityAITool() {
6
+ function InfinityAITool(props) {
7
+ const {
8
+ editor
9
+ } = props;
6
10
  const {
7
11
  setOpenAI
8
12
  } = useEditorContext();
@@ -10,8 +14,8 @@ function InfinityAITool() {
10
14
  component: "div",
11
15
  children: /*#__PURE__*/_jsx(IconButton, {
12
16
  onClick: () => {
13
- const text = window.getSelection().toString().trim();
14
- if (text) {
17
+ const text = getSelectedText(editor);
18
+ if (text && text.trim()) {
15
19
  setOpenAI("fromToolBar");
16
20
  }
17
21
  },
@@ -1,4 +1,4 @@
1
- import { Button, Fade, Grid, Paper, Popper } from "@mui/material";
1
+ import { Fade, Grid, IconButton, Paper, Popper } from "@mui/material";
2
2
  import SelectTypography from "./SelectTypography";
3
3
  import SelectList from "./SelectList";
4
4
  import { toolbarGroups } from "../../toolbarGroups";
@@ -50,7 +50,9 @@ const MiniTextFormat = props => {
50
50
  xs: 12,
51
51
  children: /*#__PURE__*/_jsxs("div", {
52
52
  className: "toolWrapper",
53
- children: [customProps?.hideTools?.includes("infinityAI") ? null : /*#__PURE__*/_jsx(InfinityAITool, {}), /*#__PURE__*/_jsx(SelectTypography, {
53
+ children: [customProps?.hideTools?.includes("infinityAI") ? null : /*#__PURE__*/_jsx(InfinityAITool, {
54
+ editor: editor
55
+ }), /*#__PURE__*/_jsx(SelectTypography, {
54
56
  classes: classes,
55
57
  editor: editor,
56
58
  closeMainPopup: closeMainPopup
@@ -95,9 +97,9 @@ const MiniTextFormat = props => {
95
97
  active: isBlockActive(editor, link.format),
96
98
  editor: editor,
97
99
  customProps: customProps
98
- }, link.id), /*#__PURE__*/_jsx(Button, {
100
+ }, link.id), /*#__PURE__*/_jsx(IconButton, {
99
101
  onClick: e => setAnchorEl(document.getElementById("mini-text-editor-wrapper")),
100
- className: "textSettingsIcon",
102
+ className: `textSettingsIcon ${open ? "btnActive" : ""}`,
101
103
  children: /*#__PURE__*/_jsx(TextToolIcon, {})
102
104
  }), /*#__PURE__*/_jsx(Popper, {
103
105
  id: id,
@@ -1,9 +1,10 @@
1
1
  import React, { useState } from "react";
2
- import { Grid, Typography, IconButton, Tooltip, TextField } from "@mui/material";
2
+ import { Grid, Typography, IconButton, Tooltip, TextField, InputAdornment } from "@mui/material";
3
3
  import CloseIcon from "@mui/icons-material/Close";
4
- import OpenInFullIcon from "@mui/icons-material/OpenInFull";
5
4
  import CloseFullscreenIcon from "@mui/icons-material/CloseFullscreen";
6
5
  import Icon from "../../common/Icon";
6
+ import { ToggleFullScreenIcon } from "../../common/iconListV2";
7
+ import { SearchIcon } from "../../common/iconslist";
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
9
10
  const SearchBox = props => {
@@ -16,7 +17,13 @@ const SearchBox = props => {
16
17
  sx: classes.searchBox,
17
18
  size: "small",
18
19
  value: search,
19
- onChange: handleChange
20
+ onChange: handleChange,
21
+ InputProps: {
22
+ startAdornment: /*#__PURE__*/_jsx(InputAdornment, {
23
+ position: "start",
24
+ children: /*#__PURE__*/_jsx(SearchIcon, {})
25
+ })
26
+ }
20
27
  });
21
28
  };
22
29
  const PopperHeader = props => {
@@ -39,18 +46,14 @@ const PopperHeader = props => {
39
46
  padding: 2,
40
47
  className: "headerContainer",
41
48
  style: {
42
- paddingTop: "2px"
49
+ paddingTop: "5px"
43
50
  },
44
51
  children: /*#__PURE__*/_jsxs(Grid, {
45
52
  item: true,
46
53
  xs: 12,
47
- style: {
48
- display: "flex",
49
- borderBottom: "1px solid #DCE4EC"
50
- },
51
54
  justifyContent: "space-between",
52
55
  alignItems: "center",
53
- className: "textSettingHeader",
56
+ sx: classes.textSettingHeader,
54
57
  children: [/*#__PURE__*/_jsx(Typography, {
55
58
  color: "primary",
56
59
  sx: {
@@ -64,13 +67,14 @@ const PopperHeader = props => {
64
67
  justifyContent: "end",
65
68
  children: [needFullscreen ? /*#__PURE__*/_jsxs(Grid, {
66
69
  sx: {
67
- position: 'relative'
70
+ position: "relative"
68
71
  },
72
+ className: "inputField",
69
73
  children: [/*#__PURE__*/_jsx(IconButton, {
70
- className: openSearch ? 'searchContainer' : '',
74
+ className: openSearch ? "searchContainer" : "",
71
75
  onClick: handleSearchButton,
72
76
  children: /*#__PURE__*/_jsx(Icon, {
73
- icon: openSearch ? 'closeIcon' : 'SearchIcon'
77
+ icon: openSearch ? "closeIcon" : "SearchIcon"
74
78
  })
75
79
  }), openSearch && /*#__PURE__*/_jsx(SearchBox, {
76
80
  classes: classes,
@@ -83,11 +87,11 @@ const PopperHeader = props => {
83
87
  children: /*#__PURE__*/_jsx(IconButton, {
84
88
  style: {
85
89
  marginRight: "8px",
86
- marginLeft: "8px"
90
+ marginLeft: "4px"
87
91
  },
88
- className: "close-popupbtn",
92
+ className: "close-popupbtn toogleFullScreenBtn",
89
93
  onClick: toggleFullscreen,
90
- children: fullScreen ? /*#__PURE__*/_jsx(CloseFullscreenIcon, {}) : /*#__PURE__*/_jsx(OpenInFullIcon, {})
94
+ children: fullScreen ? /*#__PURE__*/_jsx(CloseFullscreenIcon, {}) : /*#__PURE__*/_jsx(ToggleFullScreenIcon, {})
91
95
  })
92
96
  }) : null, /*#__PURE__*/_jsx(Tooltip, {
93
97
  title: "Close",