@flozy/editor 5.4.0 → 5.4.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 (192) hide show
  1. package/dist/Editor/ChatEditor.js +34 -25
  2. package/dist/Editor/CommonEditor.js +15 -29
  3. package/dist/Editor/Editor.css +18 -100
  4. package/dist/Editor/Elements/AI/AIInput.js +1 -0
  5. package/dist/Editor/Elements/AI/CustomSelect.js +11 -19
  6. package/dist/Editor/Elements/AI/PopoverAIInput.js +52 -58
  7. package/dist/Editor/Elements/AI/Styles.js +6 -24
  8. package/dist/Editor/Elements/Accordion/Accordion.js +1 -8
  9. package/dist/Editor/Elements/AppHeader/AppHeader.js +6 -6
  10. package/dist/Editor/Elements/Button/EditorButton.js +2 -9
  11. package/dist/Editor/Elements/Carousel/CarouselItem.js +3 -11
  12. package/dist/Editor/Elements/Color Picker/ColorButtons.js +5 -7
  13. package/dist/Editor/Elements/Color Picker/Styles.js +3 -7
  14. package/dist/Editor/Elements/Color Picker/defaultColors.js +2 -2
  15. package/dist/Editor/Elements/Divider/Divider.js +20 -36
  16. package/dist/Editor/Elements/Embed/Image.js +16 -51
  17. package/dist/Editor/Elements/Embed/Video.js +3 -26
  18. package/dist/Editor/Elements/Form/Form.js +2 -39
  19. package/dist/Editor/Elements/Form/FormElements/FormCheckbox.js +1 -7
  20. package/dist/Editor/Elements/Form/FormElements/FormDate.js +1 -7
  21. package/dist/Editor/Elements/Form/FormElements/FormEmail.js +1 -7
  22. package/dist/Editor/Elements/Form/FormElements/FormNumbers.js +1 -7
  23. package/dist/Editor/Elements/Form/FormElements/FormRadioButton.js +1 -7
  24. package/dist/Editor/Elements/Form/FormElements/FormText.js +1 -7
  25. package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +1 -6
  26. package/dist/Editor/Elements/Form/FormPopup.js +9 -12
  27. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +1 -1
  28. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -20
  29. package/dist/Editor/Elements/FreeGrid/breakpointConstants.js +4 -4
  30. package/dist/Editor/Elements/FreeGrid/styles.js +1 -2
  31. package/dist/Editor/Elements/Grid/GridButton.js +2 -2
  32. package/dist/Editor/Elements/Grid/GridItem.js +36 -47
  33. package/dist/Editor/Elements/Grid/Styles.js +0 -50
  34. package/dist/Editor/Elements/Link/LinkButton.js +1 -1
  35. package/dist/Editor/Elements/List/CheckList.js +1 -2
  36. package/dist/Editor/Elements/Search/SearchAttachment.js +0 -1
  37. package/dist/Editor/Elements/Search/SearchButton.js +0 -1
  38. package/dist/Editor/Elements/Signature/Signature.css +1 -1
  39. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -2
  40. package/dist/Editor/Elements/Signature/SignaturePopup.js +52 -17
  41. package/dist/Editor/Elements/SimpleText/index.js +1 -8
  42. package/dist/Editor/Elements/SimpleText/style.js +1 -20
  43. package/dist/Editor/Elements/Table/Styles.js +79 -82
  44. package/dist/Editor/Elements/Table/Table.js +140 -258
  45. package/dist/Editor/Elements/Table/TableCell.js +111 -365
  46. package/dist/Editor/Elements/Table/TablePopup.js +3 -9
  47. package/dist/Editor/Elements/Table/TableRow.js +2 -10
  48. package/dist/Editor/Elements/TopBanner/TopBanner.js +1 -2
  49. package/dist/Editor/MiniEditor.js +1 -15
  50. package/dist/Editor/Styles/EditorStyles.js +4 -13
  51. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +0 -10
  52. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +12 -7
  53. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -26
  54. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +0 -3
  55. package/dist/Editor/Toolbar/FormatTools/TextSize.js +5 -5
  56. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +6 -3
  57. package/dist/Editor/Toolbar/Mini/Styles.js +1 -4
  58. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/InfinityAITool.js +3 -7
  59. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +4 -6
  60. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +15 -19
  61. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +57 -555
  62. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +16 -73
  63. package/dist/Editor/Toolbar/PopupTool/index.js +5 -3
  64. package/dist/Editor/Toolbar/Toolbar.js +0 -6
  65. package/dist/Editor/Toolbar/toolbarGroups.js +0 -4
  66. package/dist/Editor/assets/svg/BrainIcon.js +2 -2
  67. package/dist/Editor/assets/svg/SettingsIcon.js +4 -4
  68. package/dist/Editor/common/ColorPickerButton.js +45 -85
  69. package/dist/Editor/common/DnD/Draggable.js +1 -2
  70. package/dist/Editor/common/FontLoader/FontLoader.js +4 -4
  71. package/dist/Editor/common/Icon.js +20 -23
  72. package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -2
  73. package/dist/Editor/common/ImageSelector/Styles.js +6 -47
  74. package/dist/Editor/common/ImageSelector/UploadStyles.js +6 -18
  75. package/dist/Editor/common/LinkSettings/NavComponents.js +1 -2
  76. package/dist/Editor/common/LinkSettings/index.js +1 -2
  77. package/dist/Editor/common/MentionsPopup/Styles.js +8 -143
  78. package/dist/Editor/common/MentionsPopup/index.js +1 -1
  79. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +12 -108
  80. package/dist/Editor/common/RnD/GuideLines/styles.js +3 -3
  81. package/dist/Editor/common/RnD/ShadowElement.js +1 -1
  82. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -14
  83. package/dist/Editor/common/RnD/Utils/gridDropItem.js +6 -9
  84. package/dist/Editor/common/RnD/VirtualElement/index.js +1 -5
  85. package/dist/Editor/common/RnD/index.js +2 -3
  86. package/dist/Editor/common/Section/index.js +3 -3
  87. package/dist/Editor/common/Section/styles.js +1 -5
  88. package/dist/Editor/common/Shorthands/elements.js +1 -13
  89. package/dist/Editor/common/StyleBuilder/fieldStyle.js +1 -2
  90. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +3 -9
  91. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +7 -35
  92. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +2 -15
  93. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
  94. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +1 -2
  95. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +1 -1
  96. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +0 -2
  97. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +1 -3
  98. package/dist/Editor/common/StyleBuilder/fieldTypes/radiusStyle.js +11 -11
  99. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +6 -22
  100. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +2 -21
  101. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +4 -20
  102. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +2 -12
  103. package/dist/Editor/common/StyleBuilder/formStyle.js +149 -268
  104. package/dist/Editor/common/StyleBuilder/index.js +20 -101
  105. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +0 -4
  106. package/dist/Editor/common/StyleBuilder/tableStyle.js +25 -69
  107. package/dist/Editor/common/SwipeableDrawer/style.js +4 -15
  108. package/dist/Editor/common/ToolbarIcon.js +1 -1
  109. package/dist/Editor/common/Uploader.js +36 -46
  110. package/dist/Editor/common/iconListV2.js +60 -616
  111. package/dist/Editor/common/iconslist.js +17 -23
  112. package/dist/Editor/commonStyle.js +11 -417
  113. package/dist/Editor/helper/deserialize/index.js +1 -4
  114. package/dist/Editor/helper/index.js +4 -17
  115. package/dist/Editor/helper/theme.js +1 -24
  116. package/dist/Editor/hooks/useMouseMove.js +2 -5
  117. package/dist/Editor/plugins/withCustomDeleteBackward.js +4 -36
  118. package/dist/Editor/plugins/withEmbeds.js +26 -30
  119. package/dist/Editor/plugins/withHTML.js +10 -61
  120. package/dist/Editor/plugins/withLayout.js +0 -1
  121. package/dist/Editor/utils/SlateUtilityFunctions.js +12 -39
  122. package/dist/Editor/utils/brains.js +1 -1
  123. package/dist/Editor/utils/button.js +4 -4
  124. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +1 -26
  125. package/dist/Editor/utils/customHooks/useResize.js +4 -7
  126. package/dist/Editor/utils/customHooks/useTableResize.js +2 -6
  127. package/dist/Editor/utils/embed.js +1 -2
  128. package/dist/Editor/utils/events.js +1 -0
  129. package/dist/Editor/utils/font.js +4 -11
  130. package/dist/Editor/utils/formfield.js +4 -8
  131. package/dist/Editor/utils/helper.js +2 -103
  132. package/dist/Editor/utils/insertNewLine.js +1 -19
  133. package/dist/Editor/utils/pageSettings.js +2 -14
  134. package/dist/Editor/utils/serializeToText.js +0 -2
  135. package/dist/Editor/utils/table.js +24 -228
  136. package/package.json +2 -2
  137. package/dist/Editor/Elements/DataView/DataView.js +0 -124
  138. package/dist/Editor/Elements/DataView/DataViewButton.js +0 -23
  139. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +0 -67
  140. package/dist/Editor/Elements/DataView/Layouts/DataTypes/CheckType.js +0 -33
  141. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +0 -162
  142. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SimpleSelect.js +0 -40
  143. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +0 -67
  144. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +0 -35
  145. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +0 -39
  146. package/dist/Editor/Elements/DataView/Layouts/DataTypes/NumberType.js +0 -30
  147. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +0 -30
  148. package/dist/Editor/Elements/DataView/Layouts/DataTypes/SelectType.js +0 -35
  149. package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +0 -36
  150. package/dist/Editor/Elements/DataView/Layouts/DataTypes/index.js +0 -17
  151. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseField.js +0 -29
  152. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +0 -38
  153. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +0 -74
  154. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +0 -64
  155. package/dist/Editor/Elements/DataView/Layouts/FilterSort/styles.js +0 -106
  156. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +0 -174
  157. package/dist/Editor/Elements/DataView/Layouts/Formula.js +0 -29
  158. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +0 -113
  159. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +0 -37
  160. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +0 -111
  161. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +0 -60
  162. package/dist/Editor/Elements/DataView/Layouts/Options/ColumnsList.js +0 -36
  163. package/dist/Editor/Elements/DataView/Layouts/Options/Constants.js +0 -101
  164. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +0 -160
  165. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +0 -190
  166. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +0 -42
  167. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +0 -30
  168. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +0 -110
  169. package/dist/Editor/Elements/DataView/Layouts/Options/styles.js +0 -179
  170. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +0 -112
  171. package/dist/Editor/Elements/DataView/Layouts/TableView.js +0 -227
  172. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +0 -80
  173. package/dist/Editor/Elements/DataView/Layouts/colStyles.js +0 -10
  174. package/dist/Editor/Elements/DataView/Layouts/index.js +0 -25
  175. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +0 -281
  176. package/dist/Editor/Elements/DataView/Utils/globalSearch.js +0 -15
  177. package/dist/Editor/Elements/DataView/Utils/multiSortRows.js +0 -74
  178. package/dist/Editor/Elements/DataView/styles.js +0 -154
  179. package/dist/Editor/Elements/Table/AddRowCol.js +0 -77
  180. package/dist/Editor/Elements/Table/DragButton.js +0 -142
  181. package/dist/Editor/Elements/Table/DragStyles.js +0 -70
  182. package/dist/Editor/Elements/Table/Draggable.js +0 -25
  183. package/dist/Editor/Elements/Table/Droppable.js +0 -53
  184. package/dist/Editor/Elements/Table/TableTool.js +0 -101
  185. package/dist/Editor/Elements/Table/tableHelper.js +0 -71
  186. package/dist/Editor/assets/svg/TableIcons.js +0 -220
  187. package/dist/Editor/common/Select/index.js +0 -20
  188. package/dist/Editor/common/Select/styles.js +0 -17
  189. package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +0 -79
  190. package/dist/Editor/helper/enforceDateFormat.js +0 -41
  191. package/dist/Editor/hooks/useTable.js +0 -210
  192. package/dist/Editor/utils/dataView.js +0 -43
@@ -1,77 +0,0 @@
1
- import { Button } from "@mui/material";
2
- import { useMemo, useState } from "react";
3
- import useTable from "../../hooks/useTable";
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- const showAddButton = (addType, tableNode, hoverPath) => {
6
- const [row, col] = hoverPath && hoverPath?.length ? hoverPath.slice(-2) : [];
7
- if (addType === "row") {
8
- return tableNode?.rows - 1 === row;
9
- } else {
10
- return tableNode?.columns - 1 === col;
11
- }
12
- };
13
- const ADD_COL_BTN_WIDTH = 20;
14
- function AddRowCol(props) {
15
- const {
16
- tableRef,
17
- containerRef,
18
- addType,
19
- tableNode,
20
- onAdd,
21
- readOnly
22
- } = props;
23
- const {
24
- hoverPath
25
- } = useTable();
26
- const [hoveringAddBtn, setHoveringAddBtn] = useState(false);
27
- const {
28
- tableResizing
29
- } = useTable();
30
- const {
31
- clientHeight,
32
- scrollWidth
33
- } = tableRef?.current || {};
34
- const {
35
- clientWidth: containerWidth
36
- } = containerRef?.current || {};
37
- const buttonStyle = useMemo(() => {
38
- if (addType === "row") {
39
- const isScrollEnabled = scrollWidth > containerWidth;
40
- const width = isScrollEnabled ? containerWidth - ADD_COL_BTN_WIDTH : scrollWidth;
41
- return {
42
- width
43
- };
44
- } else {
45
- return {
46
- height: "100%",
47
- marginLeft: "3px"
48
- };
49
- }
50
- }, [scrollWidth, clientHeight, containerWidth, tableResizing]);
51
- const showAdd = showAddButton(addType, tableNode, hoverPath);
52
- const onMouseEnter = () => setHoveringAddBtn(true);
53
- const onMouseLeave = () => setHoveringAddBtn(false);
54
- const showBtn = (showAdd || hoveringAddBtn) && !tableResizing && !readOnly;
55
- return /*#__PURE__*/_jsx("div", {
56
- onMouseEnter: onMouseEnter,
57
- onMouseLeave: onMouseLeave,
58
- contentEditable: false,
59
- children: /*#__PURE__*/_jsx(Button, {
60
- sx: {
61
- fontSize: "14px",
62
- border: "1px dashed #8DA8E3",
63
- color: "#2563EB !important",
64
- padding: "0px 4px",
65
- minWidth: "unset",
66
- lineHeight: "18px",
67
- fontWeight: "normal !important",
68
- ...buttonStyle,
69
- opacity: showBtn ? 1 : 0
70
- },
71
- disabled: !showBtn,
72
- onClick: onAdd,
73
- children: "+"
74
- })
75
- });
76
- }
77
- export default AddRowCol;
@@ -1,142 +0,0 @@
1
- import { Box, ClickAwayListener, Fade, IconButton, Paper, Popper } from "@mui/material";
2
- import DragStyles from "./DragStyles";
3
- import { DragIcon } from "../../common/iconListV2";
4
- import { useEditorContext } from "../../hooks/useMouseMove";
5
- import { useRef, useState } from "react";
6
- import { TableToolOnDrag } from "./TableTool";
7
- import Draggable from "./Draggable";
8
- import SwipeableDrawerComponent from "../../common/SwipeableDrawer";
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- import { Fragment as _Fragment } from "react/jsx-runtime";
11
- import { jsxs as _jsxs } from "react/jsx-runtime";
12
- function DragButton({
13
- anchorEl,
14
- placement,
15
- dragType,
16
- onDrag = () => {},
17
- handleToolAction,
18
- hideDelete,
19
- className = "",
20
- customProps,
21
- dndProps,
22
- resetSelection,
23
- show
24
- }) {
25
- const {
26
- theme
27
- } = useEditorContext();
28
- const classes = DragStyles(theme);
29
- const dragElement = useRef(null);
30
- const [showTool, setShowTool] = useState(false);
31
- const {
32
- isMobile
33
- } = customProps || {};
34
- const onDragClick = () => {
35
- onDrag();
36
- setShowTool(true);
37
- };
38
- const onDragClose = () => {
39
- setShowTool(false);
40
- setTimeout(() => resetSelection(), 200);
41
- };
42
- const dragProps = {
43
- ...dndProps,
44
- id: dndProps?.id + dragType,
45
- disabled: isMobile,
46
- data: {
47
- ...dndProps.data,
48
- dragType
49
- }
50
- };
51
- const handleAction = (value, option, dragType) => {
52
- const omitValues = ["delete"];
53
- if (!omitValues.includes(value)) {
54
- setShowTool(false);
55
- }
56
- handleToolAction(value, option, dragType);
57
- };
58
- const commonToolProps = {
59
- theme,
60
- dragType,
61
- hideDelete,
62
- handleToolAction: (value, option, dragType) => {
63
- handleAction(value, option, dragType);
64
- }
65
- };
66
- return /*#__PURE__*/_jsx(_Fragment, {
67
- children: show || showTool ? /*#__PURE__*/_jsxs(_Fragment, {
68
- children: [/*#__PURE__*/_jsx(Popper, {
69
- sx: classes.popper,
70
- open: Boolean(anchorEl),
71
- anchorEl: anchorEl,
72
- placement: placement || "left",
73
- transition: true,
74
- contentEditable: false,
75
- ref: dragElement,
76
- modifiers: [{
77
- name: "offset",
78
- options: {
79
- offset: [0, -12]
80
- }
81
- }, {
82
- name: "flip",
83
- enabled: false // Disable dynamic flipping
84
- }],
85
-
86
- disablePortal: dragType !== "row",
87
- className: `${className}`,
88
- children: ({
89
- TransitionProps
90
- }) => /*#__PURE__*/_jsx(Fade, {
91
- ...TransitionProps,
92
- timeout: 350,
93
- children: /*#__PURE__*/_jsx("div", {
94
- children: /*#__PURE__*/_jsx(Draggable, {
95
- ...dragProps,
96
- children: /*#__PURE__*/_jsx(Paper, {
97
- sx: dragType === "row" ? {
98
- transform: "rotate(90deg)"
99
- } : {},
100
- className: `${showTool ? "active" : ""}`,
101
- style: {
102
- lineHeight: 0
103
- },
104
- children: /*#__PURE__*/_jsx(IconButton, {
105
- onClick: () => {
106
- onDragClick();
107
- },
108
- children: /*#__PURE__*/_jsx(DragIcon, {})
109
- })
110
- })
111
- })
112
- })
113
- })
114
- }), isMobile ? /*#__PURE__*/_jsx(SwipeableDrawerComponent, {
115
- open: showTool,
116
- onClose: onDragClose,
117
- swipeableDrawer: true,
118
- children: /*#__PURE__*/_jsx(Box, {
119
- sx: classes.mobileToolDrawer,
120
- children: /*#__PURE__*/_jsx(TableToolOnDrag, {
121
- ...commonToolProps
122
- })
123
- })
124
- }) : /*#__PURE__*/_jsx(Popper, {
125
- open: showTool,
126
- anchorEl: dragElement?.current,
127
- contentEditable: false,
128
- sx: classes.toolPopper,
129
- placement: dragType === "row" ? "bottom-start" : "right-start",
130
- children: /*#__PURE__*/_jsx(ClickAwayListener, {
131
- onClickAway: onDragClose,
132
- children: /*#__PURE__*/_jsx("div", {
133
- children: /*#__PURE__*/_jsx(TableToolOnDrag, {
134
- ...commonToolProps
135
- })
136
- })
137
- })
138
- })]
139
- }) : null
140
- });
141
- }
142
- export default DragButton;
@@ -1,70 +0,0 @@
1
- const DragStyles = theme => {
2
- const {
3
- containers,
4
- editor
5
- } = theme?.palette || {};
6
- const {
7
- buttonBorder,
8
- background,
9
- activeColor,
10
- signaturePopUpTabButtonSelectedBg,
11
- signaturePopUpTabButtonSelectedSvg
12
- } = editor || {};
13
- const onDragActive = {
14
- outline: `1.5px solid ${activeColor || "#2563EB"}`,
15
- background: `${signaturePopUpTabButtonSelectedBg} !important`,
16
- "& svg ellipse": {
17
- fill: `${signaturePopUpTabButtonSelectedSvg}`
18
- }
19
- };
20
- return {
21
- popper: {
22
- zIndex: 1000,
23
- "& .MuiPaper-root": {
24
- borderRadius: "3px !important",
25
- outline: `1.5px solid ${buttonBorder}`,
26
- backgroundColor: `${background}`,
27
- "&:hover": onDragActive,
28
- "&.active": onDragActive
29
- },
30
- "& .MuiIconButton-root": {
31
- padding: "4px 6px",
32
- borderRadius: "none",
33
- "& .dragIcon": {
34
- width: "14px",
35
- height: "10px"
36
- },
37
- "&:hover": {
38
- background: "none"
39
- }
40
- }
41
- },
42
- toolPopper: {
43
- zIndex: 4001,
44
- "& .MuiPaper-root": {
45
- borderRadius: "8px"
46
- }
47
- },
48
- mobileToolDrawer: {
49
- "& .customSelectContainer": {
50
- border: "none !important",
51
- padding: "0px !important",
52
- boxShadow: "none !important"
53
- }
54
- },
55
- drawerContainer: {
56
- "&.MuiDrawer-root": {
57
- zIndex: 1301
58
- },
59
- "& .MuiDrawer-paper": {
60
- borderTopLeftRadius: 8,
61
- borderTopRightRadius: 8,
62
- backgroundColor: containers?.card
63
- },
64
- "& .customSelectContainer": {
65
- border: "none"
66
- }
67
- }
68
- };
69
- };
70
- export default DragStyles;
@@ -1,25 +0,0 @@
1
- import { useDraggable } from "@dnd-kit/core";
2
- import { Box } from "@mui/material";
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- function Draggable(props) {
5
- const {
6
- attributes,
7
- listeners,
8
- setNodeRef,
9
- transform
10
- } = useDraggable(props);
11
- const {
12
- dragType
13
- } = props?.data || {};
14
- const style = transform ? {
15
- transform: dragType === "row" ? `translate3d(0, ${transform.y}px, 0)` : `translate3d(${transform.x}px, 0, 0)`
16
- } : undefined;
17
- return /*#__PURE__*/_jsx(Box, {
18
- style: style,
19
- ref: setNodeRef,
20
- ...listeners,
21
- ...attributes,
22
- children: props.children
23
- });
24
- }
25
- export default Draggable;
@@ -1,53 +0,0 @@
1
- import { useDroppable } from "@dnd-kit/core";
2
- import { Box } from "@mui/material";
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- import { Fragment as _Fragment } from "react/jsx-runtime";
5
- import { jsxs as _jsxs } from "react/jsx-runtime";
6
- function getStyle(dragType, isOver, tableDOM) {
7
- const style = {};
8
- const borderStyle = "4px solid #2563EB";
9
- if (isOver) {
10
- const {
11
- width,
12
- height
13
- } = tableDOM.getBoundingClientRect();
14
- if (dragType === "row") {
15
- style.borderTop = borderStyle;
16
- style.width = width;
17
- } else if (dragType === "col") {
18
- style.borderLeft = borderStyle;
19
- style.height = height;
20
- }
21
- }
22
- return style;
23
- }
24
- export function Droppable(props) {
25
- const {
26
- dragType,
27
- tableDOM,
28
- ...rest
29
- } = props;
30
- const {
31
- isOver,
32
- setNodeRef
33
- } = useDroppable(rest);
34
- return /*#__PURE__*/_jsxs(_Fragment, {
35
- children: [/*#__PURE__*/_jsx(Box, {
36
- ref: setNodeRef,
37
- sx: {
38
- position: "absolute",
39
- top: 0,
40
- left: 0,
41
- width: "100%",
42
- height: "100%"
43
- }
44
- }), isOver ? /*#__PURE__*/_jsx(Box, {
45
- sx: {
46
- position: "absolute",
47
- top: 0,
48
- left: 0,
49
- ...getStyle(dragType, isOver, tableDOM)
50
- }
51
- }) : null]
52
- });
53
- }
@@ -1,101 +0,0 @@
1
- import CustomSelect from "../AI/CustomSelect";
2
- import Styles from "../AI/Styles";
3
- import { CloseIcon, DeleteIcon } from "../../assets/svg/AIIcons";
4
- import { AboveArrow, BelowArrow, DuplicateIcon, LeftArrow, PaintIcon, RightArrow } from "../../assets/svg/TableIcons";
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- const wholeTableTools = [{
7
- group: "",
8
- groupLabel: "",
9
- options: [{
10
- label: "Duplicate",
11
- value: "duplicate",
12
- Icon: DuplicateIcon
13
- }, {
14
- label: "Delete",
15
- value: "delete",
16
- Icon: DeleteIcon
17
- }]
18
- }];
19
- const insertColOptions = [{
20
- label: "Insert Right",
21
- value: "insertRight",
22
- Icon: RightArrow
23
- }, {
24
- label: "Insert Left",
25
- value: "insertLeft",
26
- Icon: LeftArrow
27
- }];
28
- const insertRowOptions = [{
29
- label: "Insert Above",
30
- value: "insertAbove",
31
- Icon: AboveArrow,
32
- replace: false
33
- }, {
34
- label: "Insert Below",
35
- value: "insertBelow",
36
- Icon: BelowArrow,
37
- replace: false
38
- }];
39
- function getTools(dragType, hideDelete) {
40
- const insertOptions = dragType === "col" ? insertColOptions : insertRowOptions;
41
- const deleteOption = hideDelete ? [] : [{
42
- label: "Delete",
43
- value: "delete",
44
- Icon: DeleteIcon,
45
- replace: false
46
- }];
47
- let tools = [{
48
- group: "",
49
- groupLabel: "",
50
- options: [{
51
- label: "Color",
52
- value: "color",
53
- Icon: PaintIcon
54
- }, {
55
- label: "Duplicate",
56
- value: "duplicate",
57
- Icon: DuplicateIcon
58
- }, ...insertOptions, {
59
- label: "Clear Contents",
60
- value: "clear",
61
- Icon: CloseIcon
62
- }, ...deleteOption]
63
- }];
64
- return tools;
65
- }
66
- export function TableToolOnDrag({
67
- theme,
68
- dragType,
69
- handleToolAction,
70
- hideDelete
71
- }) {
72
- const classes = Styles(theme);
73
- const tools = getTools(dragType, hideDelete);
74
- return /*#__PURE__*/_jsx(CustomSelect, {
75
- classes: classes,
76
- show: true,
77
- options: tools,
78
- onSend: (value, option) => {
79
- handleToolAction(value, option, dragType);
80
- },
81
- btnProps: {
82
- onMouseDown: e => e.stopPropagation(),
83
- onMouseUp: e => e.stopPropagation()
84
- }
85
- });
86
- }
87
- function TableTool({
88
- theme,
89
- handleToolAction
90
- }) {
91
- const classes = Styles(theme);
92
- return /*#__PURE__*/_jsx(CustomSelect, {
93
- classes: classes,
94
- show: true,
95
- options: wholeTableTools,
96
- onSend: (value, option) => {
97
- handleToolAction(value, option);
98
- }
99
- });
100
- }
101
- export default TableTool;
@@ -1,71 +0,0 @@
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
- };