@flozy/editor 5.1.4 → 5.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 (151) hide show
  1. package/dist/Editor/ChatEditor.js +25 -34
  2. package/dist/Editor/CommonEditor.js +15 -9
  3. package/dist/Editor/Editor.css +56 -12
  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/Styles.js +7 -1
  7. package/dist/Editor/Elements/Button/EditorButton.js +1 -1
  8. package/dist/Editor/Elements/Carousel/CarouselItem.js +1 -1
  9. package/dist/Editor/Elements/Color Picker/ColorButtons.js +7 -5
  10. package/dist/Editor/Elements/Color Picker/Styles.js +7 -3
  11. package/dist/Editor/Elements/Color Picker/defaultColors.js +2 -2
  12. package/dist/Editor/Elements/DataView/DataView.js +101 -0
  13. package/dist/Editor/Elements/DataView/DataViewButton.js +23 -0
  14. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +59 -0
  15. package/dist/Editor/Elements/DataView/Layouts/DataTypes/CheckType.js +30 -0
  16. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +140 -0
  17. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SimpleSelect.js +40 -0
  18. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +59 -0
  19. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +26 -0
  20. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +38 -0
  21. package/dist/Editor/Elements/DataView/Layouts/DataTypes/NumberType.js +30 -0
  22. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +30 -0
  23. package/dist/Editor/Elements/DataView/Layouts/DataTypes/SelectType.js +35 -0
  24. package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +36 -0
  25. package/dist/Editor/Elements/DataView/Layouts/DataTypes/index.js +17 -0
  26. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseField.js +29 -0
  27. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +38 -0
  28. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +74 -0
  29. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +64 -0
  30. package/dist/Editor/Elements/DataView/Layouts/FilterSort/styles.js +106 -0
  31. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +174 -0
  32. package/dist/Editor/Elements/DataView/Layouts/Formula.js +29 -0
  33. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +113 -0
  34. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +37 -0
  35. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +111 -0
  36. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +62 -0
  37. package/dist/Editor/Elements/DataView/Layouts/Options/ColumnsList.js +36 -0
  38. package/dist/Editor/Elements/DataView/Layouts/Options/Constants.js +101 -0
  39. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +160 -0
  40. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +190 -0
  41. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +42 -0
  42. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +30 -0
  43. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +110 -0
  44. package/dist/Editor/Elements/DataView/Layouts/Options/styles.js +179 -0
  45. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +100 -0
  46. package/dist/Editor/Elements/DataView/Layouts/TableView.js +227 -0
  47. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +70 -0
  48. package/dist/Editor/Elements/DataView/Layouts/index.js +25 -0
  49. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +288 -0
  50. package/dist/Editor/Elements/DataView/Utils/globalSearch.js +15 -0
  51. package/dist/Editor/Elements/DataView/Utils/multiSortRows.js +72 -0
  52. package/dist/Editor/Elements/DataView/styles.js +143 -0
  53. package/dist/Editor/Elements/Divider/Divider.js +15 -14
  54. package/dist/Editor/Elements/Form/Form.js +38 -2
  55. package/dist/Editor/Elements/Form/FormElements/FormCheckbox.js +7 -1
  56. package/dist/Editor/Elements/Form/FormElements/FormDate.js +7 -1
  57. package/dist/Editor/Elements/Form/FormElements/FormEmail.js +7 -1
  58. package/dist/Editor/Elements/Form/FormElements/FormNumbers.js +7 -1
  59. package/dist/Editor/Elements/Form/FormElements/FormRadioButton.js +7 -1
  60. package/dist/Editor/Elements/Form/FormElements/FormText.js +7 -1
  61. package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +6 -1
  62. package/dist/Editor/Elements/Form/FormPopup.js +12 -9
  63. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +1 -1
  64. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +20 -1
  65. package/dist/Editor/Elements/Grid/GridButton.js +2 -1
  66. package/dist/Editor/Elements/Grid/GridItem.js +12 -0
  67. package/dist/Editor/Elements/Link/LinkButton.js +1 -1
  68. package/dist/Editor/Elements/Signature/Signature.css +1 -1
  69. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -2
  70. package/dist/Editor/Elements/Signature/SignaturePopup.js +13 -48
  71. package/dist/Editor/Elements/SimpleText/index.js +8 -1
  72. package/dist/Editor/Elements/SimpleText/style.js +8 -1
  73. package/dist/Editor/Elements/Table/AddRowCol.js +77 -0
  74. package/dist/Editor/Elements/Table/DragButton.js +141 -0
  75. package/dist/Editor/Elements/Table/DragStyles.js +70 -0
  76. package/dist/Editor/Elements/Table/Draggable.js +25 -0
  77. package/dist/Editor/Elements/Table/Droppable.js +53 -0
  78. package/dist/Editor/Elements/Table/Styles.js +25 -43
  79. package/dist/Editor/Elements/Table/Table.js +205 -138
  80. package/dist/Editor/Elements/Table/TableCell.js +355 -102
  81. package/dist/Editor/Elements/Table/TablePopup.js +9 -3
  82. package/dist/Editor/Elements/Table/TableRow.js +10 -2
  83. package/dist/Editor/Elements/Table/TableTool.js +101 -0
  84. package/dist/Editor/Elements/Table/tableHelper.js +71 -0
  85. package/dist/Editor/Styles/EditorStyles.js +3 -1
  86. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +10 -0
  87. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +7 -11
  88. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +10 -4
  89. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +3 -0
  90. package/dist/Editor/Toolbar/FormatTools/TextSize.js +0 -2
  91. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +3 -6
  92. package/dist/Editor/Toolbar/Mini/Styles.js +4 -1
  93. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +3 -3
  94. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +16 -11
  95. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +416 -49
  96. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +62 -8
  97. package/dist/Editor/Toolbar/PopupTool/index.js +5 -6
  98. package/dist/Editor/Toolbar/Toolbar.js +6 -0
  99. package/dist/Editor/Toolbar/toolbarGroups.js +4 -0
  100. package/dist/Editor/assets/svg/BrainIcon.js +2 -2
  101. package/dist/Editor/assets/svg/TableIcons.js +220 -0
  102. package/dist/Editor/common/ColorPickerButton.js +3 -2
  103. package/dist/Editor/common/FontLoader/FontLoader.js +4 -4
  104. package/dist/Editor/common/Icon.js +24 -23
  105. package/dist/Editor/common/LinkSettings/NavComponents.js +2 -1
  106. package/dist/Editor/common/LinkSettings/index.js +2 -1
  107. package/dist/Editor/common/MentionsPopup/Styles.js +151 -3
  108. package/dist/Editor/common/MentionsPopup/index.js +1 -1
  109. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +108 -12
  110. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +14 -2
  111. package/dist/Editor/common/Select/index.js +20 -0
  112. package/dist/Editor/common/Select/styles.js +17 -0
  113. package/dist/Editor/common/Shorthands/elements.js +13 -1
  114. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +5 -0
  115. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +8 -4
  116. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +10 -2
  117. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
  118. package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +79 -0
  119. package/dist/Editor/common/StyleBuilder/fieldTypes/radiusStyle.js +7 -7
  120. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +5 -2
  121. package/dist/Editor/common/StyleBuilder/formStyle.js +268 -149
  122. package/dist/Editor/common/StyleBuilder/index.js +84 -11
  123. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +4 -0
  124. package/dist/Editor/common/StyleBuilder/tableStyle.js +69 -25
  125. package/dist/Editor/common/SwipeableDrawer/style.js +15 -4
  126. package/dist/Editor/common/Uploader.js +8 -0
  127. package/dist/Editor/common/iconListV2.js +378 -40
  128. package/dist/Editor/common/iconslist.js +23 -17
  129. package/dist/Editor/commonStyle.js +126 -9
  130. package/dist/Editor/helper/deserialize/index.js +4 -1
  131. package/dist/Editor/helper/index.js +2 -2
  132. package/dist/Editor/helper/theme.js +24 -1
  133. package/dist/Editor/hooks/useMouseMove.js +5 -2
  134. package/dist/Editor/hooks/useTable.js +195 -0
  135. package/dist/Editor/plugins/withCustomDeleteBackward.js +3 -2
  136. package/dist/Editor/plugins/withHTML.js +17 -1
  137. package/dist/Editor/plugins/withLayout.js +48 -1
  138. package/dist/Editor/utils/SlateUtilityFunctions.js +18 -0
  139. package/dist/Editor/utils/button.js +4 -4
  140. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +21 -0
  141. package/dist/Editor/utils/dataView.js +43 -0
  142. package/dist/Editor/utils/embed.js +2 -1
  143. package/dist/Editor/utils/events.js +0 -1
  144. package/dist/Editor/utils/font.js +11 -4
  145. package/dist/Editor/utils/formfield.js +8 -4
  146. package/dist/Editor/utils/helper.js +67 -2
  147. package/dist/Editor/utils/insertNewLine.js +19 -1
  148. package/dist/Editor/utils/pageSettings.js +14 -2
  149. package/dist/Editor/utils/serializeToText.js +2 -0
  150. package/dist/Editor/utils/table.js +228 -24
  151. package/package.json +1 -1
@@ -1,122 +1,106 @@
1
- import React, { useState } from "react";
2
- import { Transforms } from "slate";
3
- import { useSelected, useSlateStatic } from "slate-react";
4
- import { Box, IconButton, Tooltip, Table as TableComp, TableBody, useTheme } from "@mui/material";
5
- import AlignHorizontalLeftIcon from "@mui/icons-material/AlignHorizontalLeft";
6
- import AlignHorizontalRightIcon from "@mui/icons-material/AlignHorizontalRight";
7
- import AlignVerticalTopIcon from "@mui/icons-material/AlignVerticalTop";
8
- import AlignVerticalBottomIcon from "@mui/icons-material/AlignVerticalBottom";
9
- import DeleteForeverIcon from "@mui/icons-material/DeleteForever";
10
- import MoreVertIcon from "@mui/icons-material/MoreVert";
11
- import SettingsIcon from "@mui/icons-material/Settings";
12
- import DeleteCellIcon from "./DeleteCellIcon";
13
- import DeleteRowIcon from "./DeleteRowIcon";
1
+ import React, { useEffect, useRef, useState } from "react";
2
+ import { Editor, Transforms } from "slate";
3
+ import { ReactEditor, useSelected, useSlateStatic } from "slate-react";
4
+ import { Box, IconButton, Tooltip, Table as TableComp, TableBody, useTheme, Popper, Fade } from "@mui/material";
14
5
  import { TableUtil } from "../../utils/table";
15
6
  import TablePopup from "./TablePopup";
16
- import { useEditorSelection } from "../../hooks/useMouseMove";
7
+ import { useEditorContext, useEditorSelection } from "../../hooks/useMouseMove";
17
8
  import TableStyles from "./Styles";
18
9
  import "./table.css";
19
10
  import { groupByBreakpoint } from "../../helper/theme";
11
+ import useTable, { TableProvider } from "../../hooks/useTable";
12
+ import AddRowCol from "./AddRowCol";
13
+ import TableTool from "./TableTool";
14
+ import { MoreIcon, SettingsIcon } from "../../assets/svg/TableIcons";
20
15
  import { jsx as _jsx } from "react/jsx-runtime";
21
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
22
- const TABLE_MENUS = [{
23
- Icon: AlignHorizontalRightIcon,
24
- text: "Insert Columns to the Right",
25
- action: {
26
- type: "insertColumn",
27
- position: "after"
17
+ const hideRowDragBtns = (hide, dragRowBtnCls) => {
18
+ const rowDragBtns = document.querySelectorAll(`.${dragRowBtnCls}`);
19
+ if (rowDragBtns?.length) {
20
+ rowDragBtns?.forEach(btn => btn.style.display = hide);
28
21
  }
29
- }, {
30
- Icon: AlignHorizontalLeftIcon,
31
- text: "Insert Columns to the Left",
32
- action: {
33
- type: "insertColumn",
34
- position: "at"
35
- }
36
- }, {
37
- Icon: AlignVerticalTopIcon,
38
- text: "Insert Row Above",
39
- action: {
40
- type: "insertRow",
41
- positon: "at"
42
- }
43
- }, {
44
- Icon: AlignVerticalBottomIcon,
45
- text: "Insert Row Below",
46
- action: {
47
- type: "insertRow",
48
- position: "after"
49
- }
50
- }, {
51
- Icon: DeleteRowIcon,
52
- text: "Delete Row",
53
- action: {
54
- type: "deleteRow"
55
- }
56
- }, {
57
- Icon: DeleteCellIcon,
58
- text: "Delete Column",
59
- action: {
60
- type: "deleteColumn"
61
- }
62
- }, {
63
- Icon: SettingsIcon,
64
- text: "Settings",
65
- action: {
66
- type: "settings"
67
- }
68
- }, {
69
- Icon: DeleteForeverIcon,
70
- text: "Remove Table",
71
- action: {
72
- type: "remove"
73
- }
74
- }];
22
+ };
23
+ const ToolBar = props => {
24
+ const {
25
+ selected,
26
+ showTool,
27
+ classes,
28
+ handleExpand,
29
+ handleAction,
30
+ exandTools
31
+ } = props;
32
+ const {
33
+ getSelectedCells
34
+ } = useTable();
35
+ const viewTool = selected && !showTool && getSelectedCells()?.length <= 1;
36
+ return viewTool ? /*#__PURE__*/_jsxs(Box, {
37
+ component: "div",
38
+ contentEditable: false,
39
+ className: `tableToolBar ${exandTools ? "active" : ""}`,
40
+ sx: classes.tableToolBar,
41
+ children: [/*#__PURE__*/_jsx(Tooltip, {
42
+ title: "Settings",
43
+ arrow: true,
44
+ onClick: () => handleAction("settings"),
45
+ children: /*#__PURE__*/_jsx(IconButton, {
46
+ className: "toolbtn toggle",
47
+ children: /*#__PURE__*/_jsx(SettingsIcon, {})
48
+ })
49
+ }), /*#__PURE__*/_jsx(Tooltip, {
50
+ title: "Show Tools",
51
+ arrow: true,
52
+ onClick: handleExpand,
53
+ children: /*#__PURE__*/_jsx(IconButton, {
54
+ className: "toolbtn toggle",
55
+ children: /*#__PURE__*/_jsx(MoreIcon, {})
56
+ })
57
+ })]
58
+ }) : null;
59
+ };
75
60
  const Table = props => {
76
61
  const theme = useTheme();
62
+ const {
63
+ theme: editorTheme
64
+ } = useEditorContext();
77
65
  const {
78
66
  element,
79
67
  attributes,
80
68
  children,
81
69
  customProps
82
70
  } = props;
83
- const classes = TableStyles();
71
+ const classes = TableStyles(editorTheme);
84
72
  const {
85
73
  readOnly
86
74
  } = customProps;
87
75
  const [openSetttings, setOpenSettings] = useState(false);
88
- const [exandTools, setExpandTools] = useState(false);
76
+ const [exandTools, setExpandTools] = useState(null);
89
77
  const {
90
78
  bgColor,
91
79
  borderColor,
92
- xsHidden
80
+ xsHidden,
81
+ fontFamily,
82
+ fontWeight,
83
+ textSize,
84
+ textColor
93
85
  } = element;
94
86
  const editor = useSlateStatic();
95
87
  const selected = useSelected();
96
88
  const table = new TableUtil(editor);
97
89
  const tableProps = table.getTableProps();
98
90
  const [showTool] = useEditorSelection(editor);
99
- const handleAction = ({
100
- type,
101
- position
102
- }) => () => {
91
+ const tableRef = useRef(null);
92
+ const containerRef = useRef(null);
93
+ const path = ReactEditor.findPath(editor, element);
94
+ const dragRowBtnCls = `table-${path?.toString()?.replaceAll(",", "-")}-row-drag-btn`;
95
+ const handleAction = type => {
103
96
  Transforms.select(editor, editor.selection);
104
97
  switch (type) {
105
- case "insertRow":
106
- table.insertRow(position);
107
- break;
108
- case "insertColumn":
109
- table.insertColumn(position);
110
- break;
111
- case "deleteRow":
112
- table.deleteRow();
113
- break;
114
- case "deleteColumn":
115
- table.deleteColumn();
116
- break;
117
- case "remove":
98
+ case "delete":
118
99
  table.removeTable();
119
100
  break;
101
+ case "duplicate":
102
+ table.duplicateTable();
103
+ break;
120
104
  case "settings":
121
105
  if (tableProps) {
122
106
  onSettings(true);
@@ -126,42 +110,16 @@ const Table = props => {
126
110
  return;
127
111
  }
128
112
  };
129
- const handleExpand = () => {
130
- setExpandTools(!exandTools);
131
- };
132
- const ToolBar = () => {
133
- return selected && !showTool ? /*#__PURE__*/_jsxs(Box, {
134
- component: "div",
135
- contentEditable: false,
136
- className: `tableToolBar ${exandTools ? "active" : ""}`,
137
- sx: classes.tableToolBar,
138
- children: [/*#__PURE__*/_jsx(Tooltip, {
139
- title: "Show Tools",
140
- arrow: true,
141
- onClick: handleExpand,
142
- children: /*#__PURE__*/_jsx(IconButton, {
143
- className: "toolbtn toggle",
144
- children: /*#__PURE__*/_jsx(MoreVertIcon, {})
145
- })
146
- }), TABLE_MENUS.map(({
147
- Icon,
148
- text,
149
- action
150
- }) => {
151
- return /*#__PURE__*/_jsx(Tooltip, {
152
- title: text,
153
- arrow: true,
154
- children: /*#__PURE__*/_jsx(IconButton, {
155
- className: `toolbtn ${action?.type}`,
156
- onClick: handleAction(action),
157
- children: /*#__PURE__*/_jsx(Icon, {})
158
- })
159
- }, text);
160
- })]
161
- }) : null;
113
+ const handleExpand = e => {
114
+ setExpandTools(prev => prev ? false : e.currentTarget);
162
115
  };
116
+ useEffect(() => {
117
+ if (!selected) {
118
+ setExpandTools(false);
119
+ }
120
+ }, [selected]);
163
121
  const onSettings = () => {
164
- setOpenSettings(true);
122
+ setOpenSettings(!openSetttings);
165
123
  };
166
124
  const onSave = data => {
167
125
  const updateData = {
@@ -183,28 +141,137 @@ const Table = props => {
183
141
  lg: "inline-block"
184
142
  }
185
143
  }, theme);
186
- return /*#__PURE__*/_jsxs("div", {
187
- style: {
188
- minWidth: "100%",
189
- maxWidth: "100%",
190
- position: "relative"
144
+ const addRow = () => {
145
+ const lastRow = element?.rows - 1;
146
+ const firstCol = 0;
147
+ const lastRowPath = [...path, lastRow, firstCol];
148
+ const position = Editor.start(editor, lastRowPath);
149
+ const selection = {
150
+ anchor: position,
151
+ focus: position
152
+ };
153
+
154
+ // select the last row first col to insert row below
155
+ Transforms.select(editor, selection);
156
+ table.insertRow("after");
157
+ Transforms.deselect(editor);
158
+ };
159
+ const addCol = () => {
160
+ const lastCol = element?.columns - 1;
161
+ const firstRow = 0;
162
+ const lastColumnPath = [...path, firstRow, lastCol];
163
+ const position = Editor.start(editor, lastColumnPath);
164
+ const selection = {
165
+ anchor: position,
166
+ focus: position
167
+ };
168
+
169
+ // select the last row first col to insert row below
170
+ Transforms.select(editor, selection);
171
+ table.insertColumn("after");
172
+ Transforms.deselect(editor);
173
+ };
174
+ const handleRowDragBtns = () => {
175
+ if (containerRef?.current?.scrollLeft > 0) {
176
+ hideRowDragBtns("none", dragRowBtnCls);
177
+ } else {
178
+ hideRowDragBtns("", dragRowBtnCls);
179
+ }
180
+ };
181
+ const handleScroll = () => {
182
+ handleRowDragBtns();
183
+ };
184
+ const onMouseOver = () => {
185
+ containerRef?.current?.classList.remove("hideScroll");
186
+ };
187
+ const onMouseLeave = () => {
188
+ containerRef?.current?.classList.add("hideScroll");
189
+ };
190
+ const commonAddBtnProps = {
191
+ tableRef,
192
+ containerRef,
193
+ readOnly,
194
+ tableNode: element
195
+ };
196
+ return /*#__PURE__*/_jsxs(TableProvider, {
197
+ editor: editor,
198
+ otherProps: {
199
+ dragRowBtnCls,
200
+ tablePath: path,
201
+ openSetttings
191
202
  },
192
- children: [/*#__PURE__*/_jsx(TableComp, {
193
- className: readOnly ? "readOnly" : "",
194
- sx: {
195
- ...classes.table,
196
- ...tableSX
197
- },
203
+ children: [/*#__PURE__*/_jsxs("div", {
198
204
  style: {
199
- background: bgColor,
200
- border: borderColor ? `1px solid ${borderColor}` : "",
201
- width: "auto"
205
+ minWidth: "100%",
206
+ maxWidth: "100%",
207
+ position: "relative",
208
+ overflowX: "auto",
209
+ display: "flex",
210
+ paddingTop: "10px"
202
211
  },
203
- children: /*#__PURE__*/_jsx(TableBody, {
204
- ...attributes,
205
- children: children
212
+ ref: containerRef,
213
+ onScroll: handleScroll,
214
+ onMouseOver: onMouseOver,
215
+ onMouseLeave: onMouseLeave,
216
+ className: "custom-scroll",
217
+ children: [/*#__PURE__*/_jsx(TableComp, {
218
+ className: readOnly ? "readOnly" : "",
219
+ sx: {
220
+ ...classes.table,
221
+ ...tableSX
222
+ },
223
+ style: {
224
+ background: bgColor,
225
+ border: borderColor ? `1px solid ${borderColor}` : "",
226
+ width: "auto",
227
+ fontFamily,
228
+ fontWeight,
229
+ fontSize: textSize,
230
+ color: textColor
231
+ },
232
+ ref: tableRef,
233
+ children: /*#__PURE__*/_jsx(TableBody, {
234
+ ...attributes,
235
+ children: children
236
+ })
237
+ }), /*#__PURE__*/_jsx(AddRowCol, {
238
+ ...commonAddBtnProps,
239
+ addType: "col",
240
+ onAdd: addCol
241
+ })]
242
+ }), /*#__PURE__*/_jsx(AddRowCol, {
243
+ ...commonAddBtnProps,
244
+ addType: "row",
245
+ onAdd: addRow
246
+ }), !readOnly && /*#__PURE__*/_jsx(ToolBar, {
247
+ selected: selected,
248
+ showTool: showTool,
249
+ classes: classes,
250
+ handleExpand: handleExpand,
251
+ handleAction: handleAction,
252
+ exandTools: exandTools
253
+ }), /*#__PURE__*/_jsx(Popper, {
254
+ open: Boolean(exandTools),
255
+ anchorEl: exandTools,
256
+ transition: true,
257
+ contentEditable: false,
258
+ sx: {
259
+ zIndex: 2000
260
+ },
261
+ placement: "bottom-start",
262
+ children: ({
263
+ TransitionProps
264
+ }) => /*#__PURE__*/_jsx(Fade, {
265
+ ...TransitionProps,
266
+ timeout: 350,
267
+ children: /*#__PURE__*/_jsx("div", {
268
+ children: /*#__PURE__*/_jsx(TableTool, {
269
+ theme: editorTheme,
270
+ handleToolAction: handleAction
271
+ })
272
+ })
206
273
  })
207
- }), !readOnly && /*#__PURE__*/_jsx(ToolBar, {}), openSetttings ? /*#__PURE__*/_jsx(TablePopup, {
274
+ }), openSetttings ? /*#__PURE__*/_jsx(TablePopup, {
208
275
  element: tableProps?.styleProps || {},
209
276
  onSave: onSave,
210
277
  onClose: onClose,