@flozy/editor 9.1.9 → 9.2.0

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 (32) hide show
  1. package/dist/Editor/ChatEditor.js +2 -2
  2. package/dist/Editor/CommonEditor.js +41 -11
  3. package/dist/Editor/Editor.css +15 -1
  4. package/dist/Editor/Elements/Color Picker/ColorPicker.js +0 -1
  5. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +4 -1
  6. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +3 -4
  7. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +6 -1
  8. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +19 -9
  9. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +32 -2
  10. package/dist/Editor/Elements/DataView/Layouts/TableView.js +126 -29
  11. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +3 -3
  12. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +1 -1
  13. package/dist/Editor/Elements/DataView/styles.js +8 -8
  14. package/dist/Editor/Elements/Grid/GridItem.js +1 -2
  15. package/dist/Editor/Elements/Link/Link.js +70 -43
  16. package/dist/Editor/Elements/SimpleText/index.js +0 -1
  17. package/dist/Editor/Elements/Variables/Style.js +28 -2
  18. package/dist/Editor/Elements/Variables/VariableButton.js +7 -3
  19. package/dist/Editor/Toolbar/FormatTools/TextSize.js +0 -2
  20. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +9 -8
  21. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +3 -6
  22. package/dist/Editor/common/CustomDialog/index.js +90 -0
  23. package/dist/Editor/common/CustomDialog/styles.js +80 -0
  24. package/dist/Editor/common/DnD/Draggable.js +0 -1
  25. package/dist/Editor/common/ImageSelector/UploadStyles.js +0 -1
  26. package/dist/Editor/common/MentionsPopup/Styles.js +3 -3
  27. package/dist/Editor/common/RnD/Utils/gridDropItem.js +5 -4
  28. package/dist/Editor/commonStyle.js +59 -4
  29. package/dist/Editor/plugins/withHTML.js +1 -1
  30. package/dist/Editor/utils/helper.js +13 -1
  31. package/dist/Editor/utils/link.js +1 -1
  32. package/package.json +5 -2
@@ -1,4 +1,4 @@
1
- import React, { useCallback, useMemo, useRef, useState, useEffect, useImperativeHandle, forwardRef } from "react";
1
+ import React, { useCallback, useMemo, useRef, useState, useImperativeHandle, forwardRef } from "react";
2
2
  import { Editable, Slate, ReactEditor } from 'slate-react';
3
3
  import { createEditor, Transforms, Editor } from 'slate';
4
4
  import withCommon from "./hooks/withCommon";
@@ -41,7 +41,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
41
41
  }]
42
42
  }]
43
43
  });
44
- const [value, setValue] = useState(convertedContent);
44
+ const [value] = useState(convertedContent);
45
45
  const debouncedValue = useRef(value);
46
46
  const debounced = useDebouncedCallback(
47
47
  // function
@@ -27,7 +27,7 @@ import DragAndDrop from "./common/DnD";
27
27
  import Section from "./common/Section";
28
28
  import decorators from "./utils/Decorators";
29
29
  import { getBreakpointLineSpacing, getTRBLBreakPoints } from "./helper/theme";
30
- import { getInitialValue, handleInsertLastElement, isFreeGrid, isFreeGridFragment, isRestrictedNode, outsideEditorClickLabel } from "./utils/helper";
30
+ import { getInitialValue, handleInsertLastElement, isEverythingSelected, isFreeGrid, isFreeGridFragment, isRestrictedNode, outsideEditorClickLabel } from "./utils/helper";
31
31
  import useWindowResize from "./hooks/useWindowResize";
32
32
  import PopoverAIInput from "./Elements/AI/PopoverAIInput";
33
33
  import RnDCopy from "./common/RnD/RnDCopy";
@@ -37,6 +37,7 @@ import "./font.css";
37
37
  import "./Editor.css";
38
38
  import "animate.css";
39
39
  import FontLoader from "./common/FontLoader/FontLoader";
40
+ import { CustomDialogComponent } from "./common/CustomDialog";
40
41
  import { jsx as _jsx } from "react/jsx-runtime";
41
42
  import { jsxs as _jsxs } from "react/jsx-runtime";
42
43
  const Item = /*#__PURE__*/forwardRef(({
@@ -114,6 +115,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
114
115
  const [breakpoint, setBreakpoint] = useState("");
115
116
  const [topBanner, setTopBanner] = useState();
116
117
  const debouncedValue = useRef(value);
118
+ const dialogRef = useRef(null);
117
119
  const [size] = useWindowResize();
118
120
  const {
119
121
  needDotsBG,
@@ -367,6 +369,15 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
367
369
  ...partialState
368
370
  }));
369
371
  };
372
+ const handleDeleteAll = () => {
373
+ const {
374
+ selection
375
+ } = editor;
376
+ if (selection) {
377
+ editor.deleteFragment();
378
+ dialogRef.current?.handleClose();
379
+ }
380
+ };
370
381
  const onKeyDown = useCallback(event => {
371
382
  const isMetaKey = event.metaKey && event.keyCode >= 65 && event.keyCode <= 90;
372
383
  const isCtrlKey = event.ctrlKey || isMetaKey;
@@ -413,16 +424,27 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
413
424
  const {
414
425
  selection
415
426
  } = editor;
427
+ const everythingSelect = isEverythingSelected(editor);
416
428
  event.preventDefault();
417
- if (selection) {
418
- if (!Range.isCollapsed(selection)) {
419
- editor.deleteFragment();
420
- } else {
421
- editor.deleteBackward({
422
- unit: "character"
423
- });
429
+ if (everythingSelect) {
430
+ dialogRef.current?.handleOpen();
431
+ } else {
432
+ if (selection) {
433
+ if (!Range.isCollapsed(selection)) {
434
+ editor.deleteFragment();
435
+ } else {
436
+ editor.deleteBackward({
437
+ unit: "character"
438
+ });
439
+ }
424
440
  }
425
441
  }
442
+ } else if (event.key === "Delete") {
443
+ const everythingSelect = isEverythingSelected(editor);
444
+ if (everythingSelect) {
445
+ event.preventDefault();
446
+ dialogRef.current?.handleOpen();
447
+ }
426
448
  }
427
449
  }, [chars, target, mentions, setMentions, search, type, mentionsRef]);
428
450
  const Overlay = collaborativeEditor && !isReadOnly ? RemoteCursorOverlay : React.Fragment;
@@ -501,10 +523,10 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
501
523
  console.log("handleCursorScroll", err);
502
524
  }
503
525
  };
504
- return /*#__PURE__*/_jsx(EditorProvider, {
526
+ return /*#__PURE__*/_jsxs(EditorProvider, {
505
527
  theme: theme,
506
528
  editor: editor,
507
- children: /*#__PURE__*/_jsx(DialogWrapper, {
529
+ children: [/*#__PURE__*/_jsx(DialogWrapper, {
508
530
  classes: classes,
509
531
  ...props,
510
532
  fullScreen: fullScreen,
@@ -628,7 +650,15 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
628
650
  readOnly: readOnly
629
651
  })]
630
652
  })
631
- })
653
+ }), /*#__PURE__*/_jsx(CustomDialogComponent, {
654
+ ref: dialogRef,
655
+ content: "Are you sure you want to delete All the content?",
656
+ confirmText: "Delete",
657
+ cancelText: "Cancel",
658
+ onConfirm: () => {
659
+ handleDeleteAll();
660
+ }
661
+ })]
632
662
  });
633
663
  });
634
664
  CommonEditor.displayName = "CommonEditor";
@@ -1339,4 +1339,18 @@ code.markcode {
1339
1339
  display: block;
1340
1340
  background-color: #f3f3f3;
1341
1341
  font-family: 'Source Code Pro' !important;
1342
- }
1342
+ }
1343
+ /* Hide the popper when the reference is hidden */
1344
+ .hide-popper-on-overlap[data-popper-escaped],
1345
+ .hide-popper-on-overlap[data-popper-reference-hidden] {
1346
+ visibility: hidden;
1347
+ pointer-events: none;
1348
+ }
1349
+ code.markcode {
1350
+ border-radius: 4px;
1351
+ padding: 6px 8px;
1352
+ margin: 8px 0px;
1353
+ display: block;
1354
+ background-color: #f3f3f3;
1355
+ font-family: 'Source Code Pro' !important;
1356
+ }
@@ -1,6 +1,5 @@
1
1
  import React, { useState } from "react";
2
2
  import { ReactEditor } from "slate-react";
3
- import { Transforms } from "slate";
4
3
  import ColorPickerTool from "react-gcolor-picker";
5
4
  import { IconButton, Tooltip, Box, Popover } from "@mui/material";
6
5
  import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions";
@@ -16,7 +16,10 @@ const ColumnView = props => {
16
16
  selected,
17
17
  readOnly
18
18
  } = props;
19
- const DataType = DataTypes[property?.type] || DataTypes["text"];
19
+ const {
20
+ type
21
+ } = property;
22
+ const DataType = DataTypes[type] || DataTypes["text"];
20
23
  const anchorRef = useRef(null);
21
24
  const [anchorEl, setAnchorEl] = useState(null);
22
25
  const [popperRefresh, setPopperRefresh] = useState(new Date().getTime());
@@ -153,11 +153,9 @@ export default function Select(props) {
153
153
  ...optionProps,
154
154
  children: /*#__PURE__*/_jsx(Chip, {
155
155
  label: option.label || option.value || "",
156
+ classes: classes.chipText,
156
157
  sx: {
157
- background: option.color || appTheme?.palette?.editor?.tv_border1,
158
- "& .MuiChip-label": {
159
- paddingLeft: "12px !important"
160
- }
158
+ background: option.color || appTheme?.palette?.editor?.tv_border1
161
159
  },
162
160
  avatar: /*#__PURE__*/_jsx(AvatarIcon, {
163
161
  option: option,
@@ -172,6 +170,7 @@ export default function Select(props) {
172
170
  fullWidth: true,
173
171
  renderInput: params => {
174
172
  return /*#__PURE__*/_jsx(TextField, {
173
+ fullWidth: true,
175
174
  size: "small",
176
175
  ...params,
177
176
  placeholder: placeholder
@@ -3,7 +3,7 @@ const useCompStyles = (theme, appTheme) => ({
3
3
  border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
4
4
  background: appTheme?.palette?.editor?.tv_pop_bg,
5
5
  color: appTheme?.palette?.editor?.tv_text,
6
- fontSize: '14px',
6
+ fontSize: "14px",
7
7
  borderRadius: "8px",
8
8
  [theme?.breakpoints?.between("xs", "md")]: {},
9
9
  "& ul": {
@@ -63,6 +63,11 @@ const useCompStyles = (theme, appTheme) => ({
63
63
  }
64
64
  }
65
65
  }
66
+ },
67
+ chipText: {
68
+ "& .MuiChip-label": {
69
+ paddingLeft: "12px !important"
70
+ }
66
71
  }
67
72
  });
68
73
  export default useCompStyles;
@@ -1,6 +1,9 @@
1
1
  import React from "react";
2
2
  import DatePicker from "react-datepicker";
3
+ import { Grid } from "@mui/material";
3
4
  import { useDataView } from "../../Providers/DataViewProvider";
5
+ import useCommonStyle from "../../../../commonStyle";
6
+ import { useEditorContext } from "../../../../hooks/useMouseMove";
4
7
  import { jsx as _jsx } from "react/jsx-runtime";
5
8
  function isValidDate(dateString) {
6
9
  const date = new Date(dateString);
@@ -16,20 +19,27 @@ const DateType = props => {
16
19
  const {
17
20
  onChange
18
21
  } = useDataView();
22
+ const {
23
+ theme
24
+ } = useEditorContext();
25
+ const classes = useCommonStyle(theme);
19
26
  const handleChange = date => {
20
27
  onChange(rowIndex, {
21
28
  [property]: date
22
29
  });
23
30
  };
24
- return /*#__PURE__*/_jsx(DatePicker, {
25
- disabled: readOnly,
26
- selected: isValidDate(value) ? new Date(value) : "",
27
- onChange: handleChange,
28
- onKeyDown: e => {
29
- e.preventDefault();
30
- console.log(e?.target.value);
31
- },
32
- placeholderText: "MM/DD/YYYY"
31
+ return /*#__PURE__*/_jsx(Grid, {
32
+ sx: classes.datePicker,
33
+ children: /*#__PURE__*/_jsx(DatePicker, {
34
+ disabled: readOnly,
35
+ selected: isValidDate(value) ? new Date(value) : "",
36
+ onChange: handleChange,
37
+ onKeyDown: e => {
38
+ e.preventDefault();
39
+ console.log(e?.target.value);
40
+ },
41
+ placeholderText: "MM/DD/YYYY"
42
+ })
33
43
  });
34
44
  };
35
45
  export default DateType;
@@ -10,12 +10,16 @@ const useTableStyles = (theme, appTheme) => ({
10
10
  borderSpacing: 0,
11
11
  borderRadius: "7px 7px 0px 0px",
12
12
  overflow: "hidden",
13
+ width: "auto !important",
14
+ minWidth: "100%",
13
15
  border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
16
+ tableLayout: "fixed",
14
17
  "& thead": {
15
18
  background: appTheme?.palette?.editor?.tv_header,
16
19
  height: "40px"
17
20
  },
18
21
  "& th": {
22
+ position: "relative",
19
23
  "& svg": {
20
24
  "& .fillStroke": {
21
25
  stroke: appTheme?.palette?.editor?.tv_stroke
@@ -27,6 +31,8 @@ const useTableStyles = (theme, appTheme) => ({
27
31
  },
28
32
  "& td": {
29
33
  height: "40px",
34
+ maxWidth: "0px !important",
35
+ minWidth: "0px !important",
30
36
  "& input": {
31
37
  color: appTheme?.palette?.editor?.tv_text_primary,
32
38
  background: "transparent",
@@ -39,6 +45,11 @@ const useTableStyles = (theme, appTheme) => ({
39
45
  "& th, tr, td": {
40
46
  border: `1px solid ${appTheme?.palette?.editor?.tv_border}`
41
47
  },
48
+ "& th, & td": {
49
+ overflowX: "clip",
50
+ textOverflow: "ellipsis",
51
+ whiteSpace: "nowrap"
52
+ },
42
53
  "& .tv-act-btn": {
43
54
  color: appTheme?.palette?.editor?.tv_text,
44
55
  textTransform: "none",
@@ -85,13 +96,18 @@ const useTableStyles = (theme, appTheme) => ({
85
96
  paddingTop: "3px",
86
97
  paddingBottom: "3px",
87
98
  paddingLeft: "3px",
88
- maxWidth: "250px",
99
+ // maxWidth: "250px",
89
100
  overflow: "hidden",
90
101
  position: "relative",
91
102
  "& .tv-ms-tag-wrpr": {
92
103
  display: "flex",
93
104
  flexWrap: "nowrap",
94
- overflow: "auto"
105
+ overflow: "auto",
106
+ minWidth: "58px",
107
+ "& .MuiChip-deleteIcon": {
108
+ minWidth: "22px",
109
+ minHeight: "22px"
110
+ }
95
111
  },
96
112
  "&.Mui-disabled": {
97
113
  "& input": {
@@ -129,6 +145,20 @@ const useTableStyles = (theme, appTheme) => ({
129
145
  opacity: 1
130
146
  }
131
147
  }
148
+ },
149
+ cellResizer: {
150
+ position: "absolute",
151
+ cursor: "col-resize",
152
+ right: "0px",
153
+ top: 0,
154
+ width: "3px",
155
+ borderRadius: "0px",
156
+ zIndex: 1,
157
+ background: "transparent",
158
+ height: "100%",
159
+ "&:hover, &.active": {
160
+ background: "#2563EB"
161
+ }
132
162
  }
133
163
  });
134
164
  export default useTableStyles;
@@ -1,4 +1,4 @@
1
- import React, { useState } from "react";
1
+ import React, { useEffect, useRef, useState } from "react";
2
2
  import { Box, Button, useTheme } from "@mui/material";
3
3
  import { useDataView } from "../Providers/DataViewProvider";
4
4
  import PropertySettings from "./Options";
@@ -7,37 +7,127 @@ import useTableStyles from "./TableStyles";
7
7
  import { GridSettingsIcon, GridAddSectionIcon } from "../../../common/iconslist";
8
8
  import { useEditorContext } from "../../../hooks/useMouseMove";
9
9
  import Icon from "../../../common/Icon";
10
+ import useTableResize from "../../../utils/customHooks/useTableResize";
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
12
  import { Fragment as _Fragment } from "react/jsx-runtime";
12
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
14
+ const Resizer = ({
15
+ classes,
16
+ onMouseDown,
17
+ height,
18
+ resizing
19
+ }) => {
20
+ return /*#__PURE__*/_jsx(_Fragment, {
21
+ children: /*#__PURE__*/_jsx(Box, {
22
+ component: "div",
23
+ className: `cell-resizer ${resizing ? "active" : ""}`,
24
+ contentEditable: false,
25
+ onPointerDown: onMouseDown,
26
+ sx: classes.cellResizer,
27
+ style: {
28
+ height: `${height}px`
29
+ }
30
+ })
31
+ });
32
+ };
13
33
  const SortIcon = props => {
14
34
  const {
15
35
  sortBy
16
36
  } = props;
17
37
  return sortBy ? sortBy === "asc" ? /*#__PURE__*/_jsx(Box, {
18
38
  sx: {
19
- '& svg': {
20
- '& path': {
39
+ "& svg": {
40
+ "& path": {
21
41
  stroke: "rgba(37, 99, 235, 1) !important"
22
42
  }
23
43
  }
24
44
  },
25
45
  children: /*#__PURE__*/_jsx(Icon, {
26
- icon: 'chervUp'
46
+ icon: "chervUp"
27
47
  })
28
48
  }) : /*#__PURE__*/_jsx(Box, {
29
49
  sx: {
30
- '& svg': {
31
- '& path': {
50
+ "& svg": {
51
+ "& path": {
32
52
  stroke: "rgba(37, 99, 235, 1) !important"
33
53
  }
34
54
  }
35
55
  },
36
56
  children: /*#__PURE__*/_jsx(Icon, {
37
- icon: 'chervDown'
57
+ icon: "chervDown"
38
58
  })
39
59
  }) : null;
40
60
  };
61
+ const THead = props => {
62
+ const thRef = useRef(null);
63
+ const [headerTextWidth, setHeaderTextWidth] = useState(200);
64
+ const {
65
+ iconType,
66
+ isSort,
67
+ classes,
68
+ onEditProperty,
69
+ m,
70
+ tableRef,
71
+ handleResize
72
+ } = props;
73
+ // do not remove extra coma it will lead to swap of variable
74
+ const [size, onMouseDown, resizing,, isDone] = useTableResize({
75
+ parentDOM: thRef?.current,
76
+ size: m?.size,
77
+ minMaxProps: {
78
+ minWidth: 30
79
+ }
80
+ });
81
+ const finalWidth = size?.width < headerTextWidth ? headerTextWidth : size?.width || 200;
82
+ useEffect(() => {
83
+ if (thRef?.current) {
84
+ const tw = (thRef?.current?.querySelectorAll(".dht-text")[0]?.getBoundingClientRect()?.width || 0) + 16 + 30;
85
+ setHeaderTextWidth(tw);
86
+ }
87
+ }, [thRef?.current, m?.label]);
88
+ useEffect(() => {
89
+ if (isDone) {
90
+ handleResize({
91
+ ...m,
92
+ size: size
93
+ });
94
+ }
95
+ }, [isDone]);
96
+ return /*#__PURE__*/_jsxs("th", {
97
+ style: {
98
+ minWidth: finalWidth,
99
+ maxWidth: finalWidth,
100
+ width: finalWidth
101
+ },
102
+ ref: thRef,
103
+ children: [/*#__PURE__*/_jsx(Box, {
104
+ sx: {
105
+ maxWidth: "100%",
106
+ overflow: "hidden"
107
+ },
108
+ children: /*#__PURE__*/_jsx(Button, {
109
+ className: "tv-act-btn la",
110
+ startIcon: /*#__PURE__*/_jsx(Icon, {
111
+ icon: iconType
112
+ }),
113
+ endIcon: /*#__PURE__*/_jsx(SortIcon, {
114
+ sortBy: isSort
115
+ }),
116
+ fullWidth: true,
117
+ onClick: onEditProperty(m),
118
+ children: /*#__PURE__*/_jsx("span", {
119
+ className: "dht-text",
120
+ children: m.label
121
+ })
122
+ })
123
+ }), /*#__PURE__*/_jsx(Resizer, {
124
+ classes: classes,
125
+ onMouseDown: onMouseDown,
126
+ height: tableRef?.current?.getBoundingClientRect()?.height,
127
+ resizing: resizing
128
+ })]
129
+ });
130
+ };
41
131
  const TableView = props => {
42
132
  const {
43
133
  theme: appTheme
@@ -48,6 +138,7 @@ const TableView = props => {
48
138
  } = props;
49
139
  const theme = useTheme();
50
140
  const classes = useTableStyles(theme, appTheme);
141
+ const tableRef = useRef(null);
51
142
  const {
52
143
  properties,
53
144
  onAddProperty,
@@ -164,6 +255,9 @@ const TableView = props => {
164
255
  setMode({});
165
256
  setAnchorEl(null);
166
257
  };
258
+ const handleResize = data => {
259
+ onUpdateProperty(data);
260
+ };
167
261
  return /*#__PURE__*/_jsxs(_Fragment, {
168
262
  children: [/*#__PURE__*/_jsx(Box, {
169
263
  component: "div",
@@ -173,6 +267,7 @@ const TableView = props => {
173
267
  children: /*#__PURE__*/_jsxs(Box, {
174
268
  component: "table",
175
269
  sx: classes.table,
270
+ ref: tableRef,
176
271
  children: [/*#__PURE__*/_jsx("thead", {
177
272
  children: /*#__PURE__*/_jsxs("tr", {
178
273
  children: [shownProperties?.map((m, i) => {
@@ -180,26 +275,23 @@ const TableView = props => {
180
275
  Icon: iconType
181
276
  } = PROPERTY_TYPES?.find(f => f.type === m.type) || {};
182
277
  const isSort = sortBy?.key === m.key ? sortBy?.operator : null;
183
- return /*#__PURE__*/_jsx("th", {
184
- style: {
185
- minWidth: "200px"
186
- },
187
- children: /*#__PURE__*/_jsx(Button, {
188
- className: "tv-act-btn la",
189
- startIcon: /*#__PURE__*/_jsx(Icon, {
190
- icon: iconType
191
- }),
192
- endIcon: /*#__PURE__*/_jsx(SortIcon, {
193
- sortBy: isSort
194
- }),
195
- fullWidth: true,
196
- onClick: onEditProperty(m),
197
- children: m.label
198
- })
278
+ return /*#__PURE__*/_jsx(THead, {
279
+ iconType: iconType,
280
+ isSort: isSort,
281
+ onEditProperty: onEditProperty,
282
+ m: m,
283
+ classes: classes,
284
+ tableRef: tableRef,
285
+ handleResize: handleResize
199
286
  }, i);
200
287
  }), !readOnly ? /*#__PURE__*/_jsxs(_Fragment, {
201
288
  children: [/*#__PURE__*/_jsx("th", {
202
289
  className: "tv-act-btn ico",
290
+ style: {
291
+ maxWidth: "80px",
292
+ minWidth: "80px",
293
+ width: "auto"
294
+ },
203
295
  children: /*#__PURE__*/_jsx(Button, {
204
296
  onClick: onAddClick,
205
297
  fullWidth: true,
@@ -207,6 +299,11 @@ const TableView = props => {
207
299
  })
208
300
  }), /*#__PURE__*/_jsx("th", {
209
301
  className: "tv-act-btn ico",
302
+ style: {
303
+ maxWidth: "80px",
304
+ minWidth: "80px",
305
+ width: "auto"
306
+ },
210
307
  children: /*#__PURE__*/_jsx(Button, {
211
308
  onClick: onSettings,
212
309
  fullWidth: true,
@@ -226,18 +323,18 @@ const TableView = props => {
226
323
  textTransform: "none",
227
324
  justifyContent: "start",
228
325
  color: appTheme?.palette?.editor?.activeColor,
229
- '& svg': {
230
- width: '18px',
231
- height: '18px',
326
+ "& svg": {
327
+ width: "18px",
328
+ height: "18px",
232
329
  strokeWidth: 1.2,
233
- '& path': {
330
+ "& path": {
234
331
  stroke: appTheme?.palette?.editor?.activeColor
235
332
  }
236
333
  },
237
- fontFamily: 'inter'
334
+ fontFamily: "inter"
238
335
  },
239
336
  startIcon: /*#__PURE__*/_jsx(Icon, {
240
- icon: 'addRounded'
337
+ icon: "addRounded"
241
338
  }),
242
339
  children: "Add new row"
243
340
  }) : null, open && !readOnly ? /*#__PURE__*/_jsx(PropertySettings, {
@@ -58,17 +58,17 @@ const ViewData = props => {
58
58
  }
59
59
  },
60
60
  children: [rows?.map((row, i) => {
61
- return /*#__PURE__*/_jsx(Box, {
61
+ return /*#__PURE__*/_jsxs(Box, {
62
62
  component: "tr",
63
63
  className: "tv-act-row",
64
- children: /*#__PURE__*/_jsx(RenderRow, {
64
+ children: [/*#__PURE__*/_jsx(RenderRow, {
65
65
  rowIndex: row?.id,
66
66
  row: row,
67
67
  properties: properties,
68
68
  onSelect: onSelect,
69
69
  selected: selectedRows?.includes(row?.id),
70
70
  readOnly: readOnly
71
- })
71
+ }), /*#__PURE__*/_jsx("td", {}), /*#__PURE__*/_jsx("td", {})]
72
72
  }, i);
73
73
  }), /*#__PURE__*/_jsx("tr", {
74
74
  style: {
@@ -1,5 +1,5 @@
1
1
  import React, { createContext, useContext, useEffect, useState } from "react";
2
- import { Editor, Transforms, Node } from "slate";
2
+ import { Transforms, Node } from "slate";
3
3
  import { PROPERTY_DEFAULTS } from "../Layouts/Options/Constants";
4
4
  import multiSortRows from "../Utils/multiSortRows";
5
5
  import globalSearch from "../Utils/globalSearch";
@@ -11,7 +11,7 @@ const useDataViewStyles = (theme, appTheme) => ({
11
11
  },
12
12
  "& table th": {
13
13
  cursor: "pointer",
14
- width: "200px"
14
+ minWidth: "200px"
15
15
  },
16
16
  "& table, th, td": {
17
17
  border: "1px solid black",
@@ -48,7 +48,7 @@ const useDataViewStyles = (theme, appTheme) => ({
48
48
  "& .tv-ck-box": {
49
49
  "& svg": {
50
50
  color: appTheme?.palette?.editor?.tv_border,
51
- '& rect': {
51
+ "& rect": {
52
52
  fill: appTheme?.palette?.editor?.tv_chk_box_fill,
53
53
  stroke: appTheme?.palette?.editor?.tv_chk_box_stroke
54
54
  }
@@ -56,9 +56,9 @@ const useDataViewStyles = (theme, appTheme) => ({
56
56
  "&.Mui-checked": {
57
57
  "& svg": {
58
58
  color: "rgba(37, 99, 235, 1)",
59
- '& rect': {
59
+ "& rect": {
60
60
  fill: appTheme?.palette?.editor?.activeColor,
61
- stroke: 'none'
61
+ stroke: "none"
62
62
  }
63
63
  }
64
64
  }
@@ -94,7 +94,7 @@ const useDataViewStyles = (theme, appTheme) => ({
94
94
  border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
95
95
  boxShadow: "0px 4px 18px 0px #0000000D",
96
96
  borderRadius: "8px",
97
- minWidth: '148px'
97
+ minWidth: "148px"
98
98
  },
99
99
  "& input": {
100
100
  paddingBottom: "0px",
@@ -140,12 +140,12 @@ const useDataViewStyles = (theme, appTheme) => ({
140
140
  width: "150px",
141
141
  border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
142
142
  borderRadius: "8px",
143
- fontFamily: 'Inter !important',
143
+ fontFamily: "Inter !important",
144
144
  background: appTheme?.palette?.editor?.tv_pop_bg,
145
145
  color: appTheme?.palette?.editor?.tv_text_primary,
146
146
  "& .MuiButtonBase-root": {
147
147
  fontSize: "14px",
148
- padding: '6px 8px',
148
+ padding: "6px 8px",
149
149
  "& svg": {
150
150
  width: "16px",
151
151
  height: "16px",
@@ -157,7 +157,7 @@ const useDataViewStyles = (theme, appTheme) => ({
157
157
  color: `${appTheme?.palette?.editor?.tv_hover_text} !important`,
158
158
  "& svg": {
159
159
  color: `${appTheme?.palette?.editor?.tv_hover_text} !important`,
160
- '& path': {
160
+ "& path": {
161
161
  stroke: `${appTheme?.palette?.editor?.tv_hover_text} !important`
162
162
  }
163
163
  }
@@ -50,8 +50,7 @@ const GridItemToolbar = props => {
50
50
  open: true,
51
51
  placement: "top-end",
52
52
  sx: classes.popTools,
53
- className: "gi-tool-pp",
54
- disablePortal: true,
53
+ className: "gi-tool-pp hide-popper-on-overlap",
55
54
  contentEditable: false,
56
55
  children: /*#__PURE__*/_jsxs(Box, {
57
56
  className: "ico-grp-ss",