@flozy/editor 5.1.2 → 5.1.4

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 (146) hide show
  1. package/dist/Editor/ChatEditor.js +34 -25
  2. package/dist/Editor/CommonEditor.js +7 -13
  3. package/dist/Editor/Editor.css +10 -52
  4. package/dist/Editor/Elements/AI/AIInput.js +1 -0
  5. package/dist/Editor/Elements/AI/CustomSelect.js +10 -17
  6. package/dist/Editor/Elements/AI/Styles.js +1 -7
  7. package/dist/Editor/Elements/Button/EditorButton.js +1 -0
  8. package/dist/Editor/Elements/Color Picker/ColorButtons.js +5 -7
  9. package/dist/Editor/Elements/Color Picker/Styles.js +3 -7
  10. package/dist/Editor/Elements/Color Picker/defaultColors.js +2 -2
  11. package/dist/Editor/Elements/Form/Form.js +2 -38
  12. package/dist/Editor/Elements/Form/FormElements/FormCheckbox.js +1 -7
  13. package/dist/Editor/Elements/Form/FormElements/FormDate.js +1 -7
  14. package/dist/Editor/Elements/Form/FormElements/FormEmail.js +1 -7
  15. package/dist/Editor/Elements/Form/FormElements/FormNumbers.js +1 -7
  16. package/dist/Editor/Elements/Form/FormElements/FormRadioButton.js +1 -7
  17. package/dist/Editor/Elements/Form/FormElements/FormText.js +1 -7
  18. package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +1 -6
  19. package/dist/Editor/Elements/Form/FormPopup.js +9 -12
  20. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +1 -1
  21. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -20
  22. package/dist/Editor/Elements/Grid/GridButton.js +1 -2
  23. package/dist/Editor/Elements/Grid/GridItem.js +2 -3
  24. package/dist/Editor/Elements/Grid/Styles.js +3 -0
  25. package/dist/Editor/Elements/Link/LinkButton.js +1 -1
  26. package/dist/Editor/Elements/Signature/Signature.css +1 -1
  27. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -2
  28. package/dist/Editor/Elements/Signature/SignaturePopup.js +48 -13
  29. package/dist/Editor/Elements/SimpleText/index.js +1 -8
  30. package/dist/Editor/Elements/SimpleText/style.js +1 -8
  31. package/dist/Editor/Elements/Table/Styles.js +43 -25
  32. package/dist/Editor/Elements/Table/Table.js +138 -206
  33. package/dist/Editor/Elements/Table/TableCell.js +102 -355
  34. package/dist/Editor/Elements/Table/TablePopup.js +3 -9
  35. package/dist/Editor/Elements/Table/TableRow.js +2 -10
  36. package/dist/Editor/Styles/EditorStyles.js +1 -3
  37. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +0 -10
  38. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +11 -7
  39. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -10
  40. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +0 -3
  41. package/dist/Editor/Toolbar/FormatTools/TextSize.js +2 -0
  42. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +6 -3
  43. package/dist/Editor/Toolbar/Mini/Styles.js +1 -4
  44. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +3 -3
  45. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +11 -16
  46. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +49 -416
  47. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +8 -62
  48. package/dist/Editor/Toolbar/PopupTool/index.js +6 -5
  49. package/dist/Editor/Toolbar/Toolbar.js +0 -6
  50. package/dist/Editor/Toolbar/toolbarGroups.js +0 -4
  51. package/dist/Editor/assets/svg/BrainIcon.js +2 -2
  52. package/dist/Editor/common/ColorPickerButton.js +2 -3
  53. package/dist/Editor/common/FontLoader/FontLoader.js +4 -4
  54. package/dist/Editor/common/Icon.js +23 -24
  55. package/dist/Editor/common/LinkSettings/NavComponents.js +1 -2
  56. package/dist/Editor/common/LinkSettings/index.js +1 -2
  57. package/dist/Editor/common/MentionsPopup/Styles.js +3 -151
  58. package/dist/Editor/common/MentionsPopup/index.js +1 -1
  59. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +12 -108
  60. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -14
  61. package/dist/Editor/common/Shorthands/elements.js +1 -13
  62. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +0 -5
  63. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
  64. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +1 -3
  65. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +2 -5
  66. package/dist/Editor/common/StyleBuilder/formStyle.js +149 -268
  67. package/dist/Editor/common/StyleBuilder/index.js +11 -84
  68. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +0 -4
  69. package/dist/Editor/common/StyleBuilder/tableStyle.js +25 -69
  70. package/dist/Editor/common/Uploader.js +0 -8
  71. package/dist/Editor/common/iconListV2.js +40 -378
  72. package/dist/Editor/common/iconslist.js +5 -8
  73. package/dist/Editor/commonStyle.js +9 -117
  74. package/dist/Editor/helper/deserialize/index.js +1 -4
  75. package/dist/Editor/helper/index.js +2 -2
  76. package/dist/Editor/helper/theme.js +1 -24
  77. package/dist/Editor/hooks/useMouseMove.js +2 -5
  78. package/dist/Editor/plugins/withCustomDeleteBackward.js +2 -3
  79. package/dist/Editor/plugins/withHTML.js +1 -17
  80. package/dist/Editor/plugins/withLayout.js +1 -48
  81. package/dist/Editor/utils/SlateUtilityFunctions.js +0 -18
  82. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +0 -21
  83. package/dist/Editor/utils/embed.js +1 -2
  84. package/dist/Editor/utils/events.js +1 -0
  85. package/dist/Editor/utils/font.js +4 -11
  86. package/dist/Editor/utils/formfield.js +4 -8
  87. package/dist/Editor/utils/helper.js +1 -34
  88. package/dist/Editor/utils/insertNewLine.js +1 -19
  89. package/dist/Editor/utils/pageSettings.js +2 -14
  90. package/dist/Editor/utils/serializeToText.js +0 -2
  91. package/dist/Editor/utils/table.js +24 -228
  92. package/package.json +1 -1
  93. package/dist/Editor/Elements/DataView/DataView.js +0 -101
  94. package/dist/Editor/Elements/DataView/DataViewButton.js +0 -23
  95. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +0 -59
  96. package/dist/Editor/Elements/DataView/Layouts/DataTypes/CheckType.js +0 -30
  97. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +0 -140
  98. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SimpleSelect.js +0 -40
  99. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +0 -59
  100. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +0 -26
  101. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +0 -38
  102. package/dist/Editor/Elements/DataView/Layouts/DataTypes/NumberType.js +0 -30
  103. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +0 -30
  104. package/dist/Editor/Elements/DataView/Layouts/DataTypes/SelectType.js +0 -35
  105. package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +0 -36
  106. package/dist/Editor/Elements/DataView/Layouts/DataTypes/index.js +0 -17
  107. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseField.js +0 -29
  108. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +0 -38
  109. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +0 -74
  110. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +0 -64
  111. package/dist/Editor/Elements/DataView/Layouts/FilterSort/styles.js +0 -106
  112. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +0 -174
  113. package/dist/Editor/Elements/DataView/Layouts/Formula.js +0 -29
  114. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +0 -113
  115. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +0 -37
  116. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +0 -111
  117. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +0 -62
  118. package/dist/Editor/Elements/DataView/Layouts/Options/ColumnsList.js +0 -36
  119. package/dist/Editor/Elements/DataView/Layouts/Options/Constants.js +0 -101
  120. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +0 -160
  121. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +0 -190
  122. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +0 -42
  123. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +0 -30
  124. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +0 -110
  125. package/dist/Editor/Elements/DataView/Layouts/Options/styles.js +0 -179
  126. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +0 -100
  127. package/dist/Editor/Elements/DataView/Layouts/TableView.js +0 -227
  128. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +0 -70
  129. package/dist/Editor/Elements/DataView/Layouts/index.js +0 -25
  130. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +0 -288
  131. package/dist/Editor/Elements/DataView/Utils/globalSearch.js +0 -15
  132. package/dist/Editor/Elements/DataView/Utils/multiSortRows.js +0 -72
  133. package/dist/Editor/Elements/DataView/styles.js +0 -143
  134. package/dist/Editor/Elements/Table/AddRowCol.js +0 -77
  135. package/dist/Editor/Elements/Table/DragButton.js +0 -141
  136. package/dist/Editor/Elements/Table/DragStyles.js +0 -69
  137. package/dist/Editor/Elements/Table/Draggable.js +0 -25
  138. package/dist/Editor/Elements/Table/Droppable.js +0 -53
  139. package/dist/Editor/Elements/Table/TableTool.js +0 -101
  140. package/dist/Editor/Elements/Table/tableHelper.js +0 -71
  141. package/dist/Editor/assets/svg/TableIcons.js +0 -220
  142. package/dist/Editor/common/Select/index.js +0 -20
  143. package/dist/Editor/common/Select/styles.js +0 -17
  144. package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +0 -79
  145. package/dist/Editor/hooks/useTable.js +0 -175
  146. package/dist/Editor/utils/dataView.js +0 -43
@@ -1,288 +0,0 @@
1
- import React, { createContext, useContext, useEffect, useState } from "react";
2
- import { Transforms } from "slate";
3
- import { PROPERTY_DEFAULTS } from "../Layouts/Options/Constants";
4
- import multiSortRows from "../Utils/multiSortRows";
5
- import globalSearch from "../Utils/globalSearch";
6
-
7
- // Data View context
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- const DataViewContext = /*#__PURE__*/createContext();
10
- export const useDataView = () => useContext(DataViewContext);
11
- const DEFAULT_PROPERTIES = [{
12
- key: "column1",
13
- label: "Name",
14
- dataType: "text"
15
- }, {
16
- key: "column2",
17
- label: "Status",
18
- dataType: "select",
19
- options: ["Active", "Inactive"]
20
- }, {
21
- key: "column3",
22
- label: "Agree?",
23
- dataType: "checkbox"
24
- }];
25
-
26
- // Combined provider
27
- export const DataViewProvider = ({
28
- children,
29
- ...props
30
- }) => {
31
- const {
32
- initialData,
33
- path,
34
- editor
35
- } = props;
36
- const [layouts, setLayouts] = useState(initialData?.layouts || []);
37
- const [seletectedLayout, setSelectedLayout] = useState({
38
- ...(layouts[0] || {})
39
- });
40
- const [layoutType, setLayoutType] = useState(seletectedLayout?.type || "table");
41
- const [properties, setProperties] = useState(initialData?.properties || [...DEFAULT_PROPERTIES]);
42
- const [sort, setSort] = useState(seletectedLayout?.sort || []);
43
- const [filter, setFilter] = useState(seletectedLayout?.filter || []);
44
- const [rows, setRows] = useState(initialData?.rows || []);
45
- const [selectedRows, setSelectedRows] = useState([]);
46
- const [search, setSearch] = useState("");
47
- const [title, setTitle] = useState(initialData?.tableTitle || "");
48
- let {
49
- users
50
- } = initialData || {};
51
- users = users?.map(m => {
52
- return {
53
- value: m?.name
54
- };
55
- });
56
-
57
- // re-order when sort val changes
58
- useEffect(() => {
59
- if ((sort?.length > 0 || search) && rows?.length > 0) {
60
- const reOrderRows = sort?.length > 0 ? multiSortRows(rows, sort, properties) : [...rows];
61
- setRows(globalSearch(reOrderRows, search));
62
- } else {
63
- // reset to default order
64
- setRows(globalSearch(initialData?.rows || [], search));
65
- }
66
- }, [sort, search]);
67
- const onAddProperty = (data, overrides = {}) => {
68
- try {
69
- const {
70
- type
71
- } = data;
72
- const key = `col_${new Date().getTime()}`;
73
- const newProperty = {
74
- ...(PROPERTY_DEFAULTS[type] || {}),
75
- ...overrides,
76
- key: key,
77
- type
78
- };
79
- const updatedProperties = [...properties, {
80
- ...newProperty
81
- }];
82
- Transforms.setNodes(editor, {
83
- properties: [...updatedProperties]
84
- }, {
85
- at: path
86
- });
87
- setProperties([...updatedProperties]);
88
- return newProperty;
89
- } catch (err) {
90
- console.log(err);
91
- }
92
- };
93
- const onUpdateProperty = (data, isDelete = false) => {
94
- try {
95
- const {
96
- key
97
- } = data;
98
- let up = {
99
- ...data
100
- };
101
- const updatedProperties = properties?.map(m => {
102
- if (m.key === key) {
103
- up = {
104
- ...m,
105
- ...data
106
- };
107
- return up;
108
- }
109
- return m;
110
- });
111
- if (isDelete) {
112
- const deleteIndex = updatedProperties.findIndex(f => f.key === key);
113
- updatedProperties.splice(deleteIndex, 1);
114
- }
115
- Transforms.setNodes(editor, {
116
- properties: [...updatedProperties]
117
- }, {
118
- at: path
119
- });
120
- setProperties([...updatedProperties]);
121
- return up;
122
- } catch (err) {
123
- console.log(err);
124
- }
125
- };
126
- const onChange = (rowIndex, rowData) => {
127
- try {
128
- const updatedRows = rows?.map(m => {
129
- if (m?.id === rowIndex) {
130
- m = {
131
- ...m,
132
- ...rowData
133
- };
134
- }
135
- return m;
136
- });
137
- Transforms.setNodes(editor, {
138
- rows: [...updatedRows]
139
- }, {
140
- at: path
141
- });
142
- setRows(updatedRows);
143
- } catch (err) {
144
- console.log(err);
145
- }
146
- };
147
- const onAddRow = () => {
148
- try {
149
- const newRow = properties?.reduce((a, b) => {
150
- a[b.key] = "";
151
- return a;
152
- }, {
153
- id: `row_${new Date().getTime()}`
154
- });
155
- const updatedRows = [...rows, newRow];
156
- Transforms.setNodes(editor, {
157
- rows: [...updatedRows]
158
- }, {
159
- at: path
160
- });
161
- setRows(updatedRows);
162
- } catch (err) {
163
- console.log(err);
164
- }
165
- };
166
- const formatSort = (sorts = [], sortData, isDelete = false) => {
167
- let upSort = [];
168
- const isUpdate = sorts?.find(f => f.key === sortData?.key);
169
- if (isUpdate) {
170
- // update if any
171
- upSort = sorts?.map(m => {
172
- if (m.key === sortData.key) {
173
- // if update col
174
- if (sortData["newKey"]) {
175
- sortData["key"] = sortData["newKey"];
176
- delete sortData["newKey"];
177
- }
178
- return {
179
- ...sortData
180
- };
181
- }
182
- return m;
183
- });
184
- } else {
185
- upSort = [...sorts, {
186
- ...sortData
187
- }];
188
- }
189
-
190
- // if no sort
191
- if (sorts?.length === 0 && !isDelete) {
192
- upSort = [{
193
- ...sortData
194
- }];
195
- }
196
-
197
- // if delete
198
- if (isDelete) {
199
- const deleteIndex = upSort.findIndex(f => f.key === sortData.key);
200
- upSort.splice(deleteIndex, 1);
201
- }
202
- return upSort;
203
- };
204
- const onUpdateSort = (sortData = {}, isDelete = false, deleteAll = false) => {
205
- try {
206
- let upSort = {};
207
- const updatedLayouts = layouts?.map((m, i) => {
208
- if (seletectedLayout?.key === m.key) {
209
- upSort = !deleteAll ? formatSort(m?.sort || [], sortData, isDelete) : [];
210
- return {
211
- ...m,
212
- sort: [...upSort]
213
- };
214
- }
215
- return m;
216
- });
217
- Transforms.setNodes(editor, {
218
- layouts: [...updatedLayouts]
219
- }, {
220
- at: path
221
- });
222
- setLayouts(updatedLayouts);
223
- setSort(upSort);
224
- } catch (err) {
225
- console.log(err);
226
- }
227
- };
228
- const onDeleteRows = () => {
229
- try {
230
- const updatedRows = [...rows].filter(f => selectedRows.includes(f.id) === false);
231
- Transforms.setNodes(editor, {
232
- rows: [...updatedRows]
233
- }, {
234
- at: path
235
- });
236
- setRows(updatedRows);
237
- setSelectedRows([]);
238
- } catch (err) {
239
- console.log(err);
240
- }
241
- };
242
- const onSearch = e => {
243
- setSearch(e?.target?.value);
244
- };
245
- const onTitleChange = value => {
246
- try {
247
- Transforms.setNodes(editor, {
248
- title: value
249
- }, {
250
- at: path
251
- });
252
- setTitle(value);
253
- } catch (err) {
254
- console.log(err);
255
- }
256
- };
257
- const value = {
258
- layoutType,
259
- setLayoutType,
260
- properties,
261
- setProperties,
262
- rows,
263
- setRows,
264
- onAddProperty,
265
- layouts,
266
- setLayouts,
267
- onUpdateProperty,
268
- onChange,
269
- onAddRow,
270
- users: users,
271
- onUpdateSort,
272
- sort,
273
- filter,
274
- setSelectedLayout,
275
- setFilter,
276
- selectedRows,
277
- setSelectedRows,
278
- onDeleteRows,
279
- search,
280
- onSearch,
281
- title,
282
- setTitle: onTitleChange
283
- };
284
- return /*#__PURE__*/_jsx(DataViewContext.Provider, {
285
- value: value,
286
- children: children
287
- });
288
- };
@@ -1,15 +0,0 @@
1
- const globalSearch = (array, searchTerm) => {
2
- if (!searchTerm) {
3
- return array;
4
- }
5
- const lowerCaseSearchTerm = searchTerm.toLowerCase();
6
- return array.filter(item => Object.values(item).some(value => {
7
- if (typeof value === "string" && value) {
8
- return value?.toLowerCase().includes(lowerCaseSearchTerm);
9
- } else if (Array.isArray(value)) {
10
- return value?.map(m => m?.value).some(d => d.toLowerCase().includes(lowerCaseSearchTerm));
11
- }
12
- return false;
13
- }));
14
- };
15
- export default globalSearch;
@@ -1,72 +0,0 @@
1
- function sortByDate(a, b) {
2
- const dateA = new Date(a);
3
- const dateB = new Date(b);
4
-
5
- // Check if both dates are valid
6
- const isValidA = !isNaN(dateA.getTime());
7
- const isValidB = !isNaN(dateB.getTime());
8
- if (isValidA && isValidB) {
9
- // Compare valid dates
10
- return dateA - dateB;
11
- } else if (isValidA) {
12
- // Invalid date in `b` pushes `a` before `b`
13
- return -1;
14
- } else if (isValidB) {
15
- // Invalid date in `a` pushes `b` before `a`
16
- return 1;
17
- } else {
18
- // Both are invalid, maintain their relative order
19
- return 0;
20
- }
21
- }
22
-
23
- /**
24
- * Multi-sort rows based on multiple criteria.
25
- * @param {Array} rows - Array of row objects.
26
- * @param {Array} criteria - Array of sort criteria [{key, sortBy}].
27
- * @param {Object} columnConfig - Column configurations with data types.
28
- */
29
- const multiSortRows = (rows, criteria, columnConfig) => {
30
- return rows.slice().sort((a, b) => {
31
- for (let {
32
- key,
33
- operator
34
- } of criteria) {
35
- const column = columnConfig.find(col => col.key === key);
36
- if (!column) continue;
37
- const dataType = column.type;
38
- const valueA = a[key];
39
- const valueB = b[key];
40
- let comparison = 0;
41
- switch (dataType) {
42
- case "text":
43
- comparison = valueA.localeCompare(valueB, undefined, {
44
- sensitivity: "base"
45
- });
46
- break;
47
- case "number":
48
- comparison = parseInt(valueA || 0) - parseInt(valueB || 0);
49
- break;
50
- case "select":
51
- case "multi-select":
52
- comparison = valueA?.map(m => m?.value).join(", ").localeCompare(valueB?.map(m => m?.value).join(", "), undefined, {
53
- sensitivity: "base"
54
- });
55
- break;
56
- case "date":
57
- comparison = sortByDate(valueA, valueB);
58
- break;
59
- case "check":
60
- return valueA && operator === "desc" ? 1 : -1;
61
- default:
62
- break;
63
- }
64
- if (comparison !== 0) {
65
- return operator === "asc" ? comparison : -comparison;
66
- }
67
- }
68
- return 0; // Rows are equal based on all criteria
69
- });
70
- };
71
-
72
- export default multiSortRows;
@@ -1,143 +0,0 @@
1
- const useDataViewStyles = (theme, appTheme) => ({
2
- root: {
3
- width: "100%",
4
- overflowX: "auto",
5
- marginTop: "8px",
6
- "& table": {
7
- width: "100%",
8
- "& th.fe-tv-ap-ico": {
9
- width: "50px"
10
- }
11
- },
12
- "& table th": {
13
- cursor: "pointer",
14
- width: "200px"
15
- },
16
- "& table, th, td": {
17
- border: "1px solid black",
18
- borderCollapse: "collapse"
19
- },
20
- "& .react-datepicker-wrapper": {
21
- width: "100%",
22
- "& input": {
23
- padding: "6px 12px"
24
- }
25
- },
26
- "& .MuiInputBase-root": {
27
- "& fieldset": {
28
- border: "none"
29
- }
30
- },
31
- // filter view
32
- "& .fe-tv-fv": {
33
- marginBottom: "8px",
34
- "& .mr": {
35
- marginRight: "4px"
36
- },
37
- [theme.breakpoints.between("xs", "md")]: {
38
- display: "flex",
39
- flexDirection: "column"
40
- }
41
- },
42
- "& .tv-act-row": {
43
- "& .tv-tr-pop": {
44
- opacity: 0,
45
- "&.active": {
46
- opacity: 1
47
- },
48
- "& .tv-ck-box": {
49
- "& svg": {
50
- color: appTheme?.palette?.editor?.tv_border
51
- },
52
- "&.Mui-checked": {
53
- "& svg": {
54
- color: "rgba(37, 99, 235, 1)"
55
- }
56
- }
57
- }
58
- },
59
- "&:hover": {
60
- "& .tv-tr-pop": {
61
- opacity: 1
62
- }
63
- }
64
- }
65
- },
66
- filterView: {
67
- display: "flex",
68
- justifyContent: "space-between",
69
- alignItems: "center",
70
- "& .MuiButtonBase-root": {
71
- padding: "6px",
72
- width: "24px",
73
- height: "24px",
74
- "&.active": {
75
- color: "rgba(37, 99, 235, 1)"
76
- }
77
- },
78
- "& .tv-sb": {
79
- display: "flex",
80
- border: "1px solid transparent",
81
- width: "24px",
82
- transition: "width 1s",
83
- "&.open": {
84
- width: "fit-content",
85
- border: "1px solid rgba(236, 236, 236, 1)",
86
- borderRadius: "8px"
87
- },
88
- "& input": {
89
- paddingBottom: "0px",
90
- fontSize: "14px"
91
- }
92
- },
93
- "& .tv-title-wrpr, .tv-fi-wrpr": {
94
- display: "flex",
95
- "& button": {
96
- color: appTheme?.palette?.editor?.tv_text
97
- },
98
- "& input": {
99
- color: appTheme?.palette?.editor?.tv_text
100
- }
101
- },
102
- "& .tv-title-wrpr": {
103
- width: "80%",
104
- marginRight: "8px",
105
- "& .MuiInputBase-root": {
106
- width: "100%"
107
- },
108
- [theme.breakpoints.between("xs", "md")]: {
109
- width: "100%",
110
- marginRight: "0px"
111
- }
112
- },
113
- "& .tv-fi-wrpr": {
114
- [theme.breakpoints.between("xs", "md")]: {
115
- width: "100%",
116
- justifyContent: "end"
117
- }
118
- }
119
- },
120
- basicMenu: {
121
- "& .MuiPaper-root": {
122
- padding: "0px 6px",
123
- width: "150px",
124
- border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
125
- borderRadius: "8px",
126
- background: appTheme?.palette?.editor?.tv_pop_bg,
127
- color: appTheme?.palette?.editor?.tv_text_primary,
128
- "& .MuiButtonBase-root": {
129
- fontSize: "14px",
130
- "& svg": {
131
- width: "16px",
132
- height: "16px"
133
- },
134
- "&:hover": {
135
- background: appTheme?.palette?.editor?.tv_hover_bg,
136
- borderRadius: "8px",
137
- color: appTheme?.palette?.editor?.tv_hover_text
138
- }
139
- }
140
- }
141
- }
142
- });
143
- export default useDataViewStyles;
@@ -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;