@flozy/editor 5.2.9 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. package/dist/Editor/ChatEditor.js +34 -25
  2. package/dist/Editor/CommonEditor.js +10 -16
  3. package/dist/Editor/Editor.css +16 -14
  4. package/dist/Editor/Elements/AI/AIInput.js +3 -0
  5. package/dist/Editor/Elements/AppHeader/AppHeader.js +6 -6
  6. package/dist/Editor/Elements/Button/EditorButton.js +2 -8
  7. package/dist/Editor/Elements/Color Picker/ColorButtons.js +2 -4
  8. package/dist/Editor/Elements/Form/Form.js +0 -1
  9. package/dist/Editor/Elements/FreeGrid/breakpointConstants.js +4 -4
  10. package/dist/Editor/Elements/FreeGrid/styles.js +1 -2
  11. package/dist/Editor/Elements/List/CheckList.js +1 -2
  12. package/dist/Editor/Elements/Search/SearchAttachment.js +0 -1
  13. package/dist/Editor/Elements/SimpleText/index.js +1 -8
  14. package/dist/Editor/Elements/SimpleText/style.js +1 -10
  15. package/dist/Editor/Elements/Table/Table.js +1 -1
  16. package/dist/Editor/Elements/TopBanner/TopBanner.js +1 -2
  17. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +0 -10
  18. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +0 -45
  19. package/dist/Editor/Toolbar/Toolbar.js +0 -6
  20. package/dist/Editor/Toolbar/toolbarGroups.js +0 -4
  21. package/dist/Editor/common/FontLoader/FontLoader.js +4 -4
  22. package/dist/Editor/common/Icon.js +0 -6
  23. package/dist/Editor/common/MentionsPopup/Styles.js +5 -2
  24. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +0 -1
  25. package/dist/Editor/common/RnD/GuideLines/styles.js +3 -3
  26. package/dist/Editor/common/RnD/ShadowElement.js +1 -1
  27. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -14
  28. package/dist/Editor/common/RnD/Utils/gridDropItem.js +6 -9
  29. package/dist/Editor/common/Shorthands/elements.js +1 -13
  30. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +0 -5
  31. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
  32. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +1 -3
  33. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +0 -4
  34. package/dist/Editor/common/Uploader.js +0 -8
  35. package/dist/Editor/common/iconListV2.js +53 -53
  36. package/dist/Editor/common/iconslist.js +3 -6
  37. package/dist/Editor/commonStyle.js +0 -9
  38. package/dist/Editor/helper/index.js +2 -2
  39. package/dist/Editor/helper/theme.js +1 -24
  40. package/dist/Editor/hooks/useMouseMove.js +2 -5
  41. package/dist/Editor/plugins/withEmbeds.js +26 -30
  42. package/dist/Editor/plugins/withHTML.js +2 -42
  43. package/dist/Editor/plugins/withLayout.js +0 -42
  44. package/dist/Editor/utils/SlateUtilityFunctions.js +2 -25
  45. package/dist/Editor/utils/button.js +4 -4
  46. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +1 -26
  47. package/dist/Editor/utils/events.js +1 -0
  48. package/dist/Editor/utils/helper.js +1 -51
  49. package/dist/Editor/utils/pageSettings.js +2 -14
  50. package/dist/Editor/utils/serializeToText.js +0 -2
  51. package/package.json +1 -1
  52. package/dist/Editor/Elements/DataView/DataView.js +0 -124
  53. package/dist/Editor/Elements/DataView/DataViewButton.js +0 -23
  54. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +0 -68
  55. package/dist/Editor/Elements/DataView/Layouts/DataTypes/CheckType.js +0 -33
  56. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +0 -162
  57. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SimpleSelect.js +0 -40
  58. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +0 -67
  59. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +0 -35
  60. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +0 -39
  61. package/dist/Editor/Elements/DataView/Layouts/DataTypes/NumberType.js +0 -30
  62. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +0 -30
  63. package/dist/Editor/Elements/DataView/Layouts/DataTypes/SelectType.js +0 -35
  64. package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +0 -36
  65. package/dist/Editor/Elements/DataView/Layouts/DataTypes/index.js +0 -17
  66. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseField.js +0 -29
  67. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +0 -38
  68. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +0 -74
  69. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +0 -64
  70. package/dist/Editor/Elements/DataView/Layouts/FilterSort/styles.js +0 -106
  71. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +0 -174
  72. package/dist/Editor/Elements/DataView/Layouts/Formula.js +0 -29
  73. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +0 -113
  74. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +0 -37
  75. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +0 -111
  76. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +0 -60
  77. package/dist/Editor/Elements/DataView/Layouts/Options/ColumnsList.js +0 -36
  78. package/dist/Editor/Elements/DataView/Layouts/Options/Constants.js +0 -101
  79. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +0 -160
  80. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +0 -190
  81. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +0 -42
  82. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +0 -30
  83. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +0 -110
  84. package/dist/Editor/Elements/DataView/Layouts/Options/styles.js +0 -179
  85. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +0 -112
  86. package/dist/Editor/Elements/DataView/Layouts/TableView.js +0 -227
  87. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +0 -81
  88. package/dist/Editor/Elements/DataView/Layouts/index.js +0 -25
  89. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +0 -273
  90. package/dist/Editor/Elements/DataView/Utils/globalSearch.js +0 -15
  91. package/dist/Editor/Elements/DataView/Utils/multiSortRows.js +0 -74
  92. package/dist/Editor/Elements/DataView/styles.js +0 -154
  93. package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +0 -79
  94. package/dist/Editor/helper/enforceDateFormat.js +0 -41
  95. package/dist/Editor/utils/dataView.js +0 -43
@@ -1,273 +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
- let {
48
- users
49
- } = initialData || {};
50
- users = users?.map(m => {
51
- return {
52
- value: m?.name
53
- };
54
- });
55
-
56
- // re-order when sort val changes
57
- useEffect(() => {
58
- if ((sort?.length > 0 || search) && rows?.length > 0) {
59
- const reOrderRows = sort?.length > 0 ? multiSortRows(initialData?.rows, sort, properties) : [...initialData?.rows];
60
- setRows(globalSearch(reOrderRows, search));
61
- } else {
62
- // reset to default order
63
- setRows(globalSearch(initialData?.rows || [], search));
64
- }
65
- }, [sort, search]);
66
- const onAddProperty = (data, overrides = {}) => {
67
- try {
68
- const {
69
- type
70
- } = data;
71
- const key = `col_${new Date().getTime()}`;
72
- const newProperty = {
73
- ...(PROPERTY_DEFAULTS[type] || {}),
74
- ...overrides,
75
- key: key,
76
- type
77
- };
78
- const updatedProperties = [...properties, {
79
- ...newProperty
80
- }];
81
- Transforms.setNodes(editor, {
82
- properties: [...updatedProperties]
83
- }, {
84
- at: path
85
- });
86
- setProperties([...updatedProperties]);
87
- return newProperty;
88
- } catch (err) {
89
- console.log(err);
90
- }
91
- };
92
- const onUpdateProperty = (data, isDelete = false) => {
93
- try {
94
- const {
95
- key
96
- } = data;
97
- let up = {
98
- ...data
99
- };
100
- const updatedProperties = properties?.map(m => {
101
- if (m.key === key) {
102
- up = {
103
- ...m,
104
- ...data
105
- };
106
- return up;
107
- }
108
- return m;
109
- });
110
- if (isDelete) {
111
- const deleteIndex = updatedProperties.findIndex(f => f.key === key);
112
- updatedProperties.splice(deleteIndex, 1);
113
- }
114
- Transforms.setNodes(editor, {
115
- properties: [...updatedProperties]
116
- }, {
117
- at: path
118
- });
119
- setProperties([...updatedProperties]);
120
- return up;
121
- } catch (err) {
122
- console.log(err);
123
- }
124
- };
125
- const onChange = (rowIndex, rowData) => {
126
- try {
127
- const updatedRows = rows?.map(m => {
128
- if (m?.id === rowIndex) {
129
- m = {
130
- ...m,
131
- ...rowData
132
- };
133
- }
134
- return m;
135
- });
136
- Transforms.setNodes(editor, {
137
- rows: [...updatedRows]
138
- }, {
139
- at: path
140
- });
141
- setRows(updatedRows);
142
- } catch (err) {
143
- console.log(err);
144
- }
145
- };
146
- const onAddRow = () => {
147
- try {
148
- const newRow = properties?.reduce((a, b) => {
149
- a[b.key] = "";
150
- return a;
151
- }, {
152
- id: `row_${new Date().getTime()}`
153
- });
154
- const updatedRows = [...rows, newRow];
155
- Transforms.setNodes(editor, {
156
- rows: [...updatedRows]
157
- }, {
158
- at: path
159
- });
160
- setRows(updatedRows);
161
- } catch (err) {
162
- console.log(err);
163
- }
164
- };
165
- const formatSort = (sorts = [], sortData, isDelete = false) => {
166
- let upSort = [];
167
- const isUpdate = sorts?.find(f => f.key === sortData?.key);
168
- if (isUpdate) {
169
- // update if any
170
- upSort = sorts?.map(m => {
171
- if (m.key === sortData.key) {
172
- // if update col
173
- if (sortData["newKey"]) {
174
- sortData["key"] = sortData["newKey"];
175
- delete sortData["newKey"];
176
- }
177
- return {
178
- ...sortData
179
- };
180
- }
181
- return m;
182
- });
183
- } else {
184
- upSort = [...sorts, {
185
- ...sortData
186
- }];
187
- }
188
-
189
- // if no sort
190
- if (sorts?.length === 0 && !isDelete) {
191
- upSort = [{
192
- ...sortData
193
- }];
194
- }
195
-
196
- // if delete
197
- if (isDelete) {
198
- const deleteIndex = upSort.findIndex(f => f.key === sortData.key);
199
- upSort.splice(deleteIndex, 1);
200
- }
201
- return upSort;
202
- };
203
- const onUpdateSort = (sortData = {}, isDelete = false, deleteAll = false) => {
204
- try {
205
- let upSort = {};
206
- const updatedLayouts = layouts?.map((m, i) => {
207
- if (seletectedLayout?.key === m.key) {
208
- upSort = !deleteAll ? formatSort(m?.sort || [], sortData, isDelete) : [];
209
- return {
210
- ...m,
211
- sort: [...upSort]
212
- };
213
- }
214
- return m;
215
- });
216
- Transforms.setNodes(editor, {
217
- layouts: [...updatedLayouts]
218
- }, {
219
- at: path
220
- });
221
- setLayouts(updatedLayouts);
222
- setSort(upSort);
223
- } catch (err) {
224
- console.log(err);
225
- }
226
- };
227
- const onDeleteRows = () => {
228
- try {
229
- const updatedRows = [...rows].filter(f => selectedRows.includes(f.id) === false);
230
- Transforms.setNodes(editor, {
231
- rows: [...updatedRows]
232
- }, {
233
- at: path
234
- });
235
- setRows(updatedRows);
236
- setSelectedRows([]);
237
- } catch (err) {
238
- console.log(err);
239
- }
240
- };
241
- const onSearch = e => {
242
- setSearch(e?.target?.value);
243
- };
244
- const value = {
245
- layoutType,
246
- setLayoutType,
247
- properties,
248
- setProperties,
249
- rows,
250
- setRows,
251
- onAddProperty,
252
- layouts,
253
- setLayouts,
254
- onUpdateProperty,
255
- onChange,
256
- onAddRow,
257
- users: users,
258
- onUpdateSort,
259
- sort,
260
- filter,
261
- setSelectedLayout,
262
- setFilter,
263
- selectedRows,
264
- setSelectedRows,
265
- onDeleteRows,
266
- search,
267
- onSearch
268
- };
269
- return /*#__PURE__*/_jsx(DataViewContext.Provider, {
270
- value: value,
271
- children: children
272
- });
273
- };
@@ -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,74 +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
- if (Array.isArray(valueA) && Array.isArray(valueB)) {
53
- comparison = Array.isArray(valueA) ? valueA?.map(m => m?.value).join(", ").localeCompare(valueB?.map(m => m?.value).join(", "), undefined, {
54
- sensitivity: "base"
55
- }) : 0;
56
- }
57
- break;
58
- case "date":
59
- comparison = sortByDate(valueA, valueB);
60
- break;
61
- case "check":
62
- return valueA && operator === "desc" ? 1 : -1;
63
- default:
64
- break;
65
- }
66
- if (comparison !== 0) {
67
- return operator === "asc" ? comparison : -comparison;
68
- }
69
- }
70
- return 0; // Rows are equal based on all criteria
71
- });
72
- };
73
-
74
- export default multiSortRows;
@@ -1,154 +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
- marginLeft: "4px",
73
- width: "29px",
74
- height: "29px",
75
- "&.active": {
76
- color: "rgba(37, 99, 235, 1)"
77
- }
78
- },
79
- "& .tv-sb": {
80
- display: "flex",
81
- border: "1px solid transparent",
82
- width: "24px",
83
- transition: "width 1s",
84
- "&.open": {
85
- width: "fit-content",
86
- border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
87
- boxShadow: "0px 4px 18px 0px #0000000D",
88
- borderRadius: "8px"
89
- },
90
- "& input": {
91
- paddingBottom: "0px",
92
- fontSize: "14px"
93
- }
94
- },
95
- "& .tv-title-wrpr, .tv-fi-wrpr": {
96
- display: "flex",
97
- "& button": {
98
- color: appTheme?.palette?.editor?.tv_text
99
- },
100
- "& input": {
101
- color: appTheme?.palette?.editor?.tv_text
102
- }
103
- },
104
- "& .tv-title-wrpr": {
105
- width: "80%",
106
- marginRight: "8px",
107
- "& .MuiInputBase-root": {
108
- width: "100%"
109
- },
110
- "& .MuiInputBase-input": {
111
- paddingBottom: "0px",
112
- fontWeight: "bold",
113
- fontSize: "16px"
114
- },
115
- [theme?.breakpoints?.between("xs", "md")]: {
116
- width: "100%",
117
- marginRight: "0px"
118
- }
119
- },
120
- "& .tv-fi-wrpr": {
121
- [theme?.breakpoints?.between("xs", "md")]: {
122
- width: "100%",
123
- justifyContent: "end"
124
- }
125
- }
126
- },
127
- basicMenu: {
128
- "& .MuiPaper-root": {
129
- padding: "0px 6px",
130
- width: "150px",
131
- border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
132
- borderRadius: "8px",
133
- background: appTheme?.palette?.editor?.tv_pop_bg,
134
- color: appTheme?.palette?.editor?.tv_text_primary,
135
- "& .MuiButtonBase-root": {
136
- fontSize: "14px",
137
- "& svg": {
138
- width: "16px",
139
- height: "16px",
140
- color: `${appTheme?.palette?.editor?.tv_text}`
141
- },
142
- "&:hover": {
143
- background: appTheme?.palette?.editor?.tv_hover_bg,
144
- borderRadius: "8px",
145
- color: `${appTheme?.palette?.editor?.tv_hover_text} !important`,
146
- "& svg": {
147
- color: `${appTheme?.palette?.editor?.tv_hover_text} !important`
148
- }
149
- }
150
- }
151
- }
152
- }
153
- });
154
- export default useDataViewStyles;
@@ -1,79 +0,0 @@
1
- import React, { useState } from "react";
2
- import { Grid, Slider, Typography, Box } from "@mui/material";
3
- import { getBreakPointsValue } from "../../../helper/theme";
4
- import useWindowResize from "../../../hooks/useWindowResize";
5
- import { useEditorContext } from "../../../hooks/useMouseMove";
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- import { jsxs as _jsxs } from "react/jsx-runtime";
8
- const LineSpacing = props => {
9
- const {
10
- value: val,
11
- data,
12
- onChange
13
- } = props;
14
- const {
15
- theme
16
- } = useEditorContext();
17
- const {
18
- key
19
- } = data;
20
- const [size] = useWindowResize();
21
- const pro_value = getBreakPointsValue(val, size?.device);
22
- const [value, setValue] = useState(pro_value);
23
- let breakpointValue = getBreakPointsValue(val, null);
24
- breakpointValue = typeof breakpointValue['lg'] === 'object' ? breakpointValue['lg'] : breakpointValue;
25
- useState(() => {
26
- setValue(pro_value);
27
- }, [pro_value]);
28
- const handleChange = e => {
29
- onChange({
30
- [key]: {
31
- ...breakpointValue,
32
- [size?.device]: e.target.value
33
- }
34
- });
35
- };
36
- return /*#__PURE__*/_jsxs(Grid, {
37
- item: true,
38
- xs: 12,
39
- children: [/*#__PURE__*/_jsx(Typography, {
40
- variant: "body1",
41
- color: "primary",
42
- style: {
43
- fontSize: "14px",
44
- fontWeight: 500
45
- },
46
- children: data?.label
47
- }), /*#__PURE__*/_jsxs(Grid, {
48
- container: true,
49
- wrap: "nowrap",
50
- className: "sld-wrpr",
51
- children: [/*#__PURE__*/_jsx(Slider, {
52
- className: "spacingSlider",
53
- defaultValue: value || 1.43,
54
- "aria-label": "Default",
55
- valueLabelDisplay: "auto",
56
- min: 0.5,
57
- max: 3.0,
58
- step: 0.1,
59
- name: "lineHeight",
60
- onChange: handleChange
61
- }), /*#__PURE__*/_jsx(Box, {
62
- component: "input",
63
- sx: {
64
- background: theme?.palette?.editor?.background,
65
- color: theme?.palette?.editor?.textColor
66
- },
67
- name: "lineHeight",
68
- value: pro_value,
69
- className: "sliderInput",
70
- onChange: handleChange,
71
- type: "number",
72
- placeholder: "0",
73
- disabled: true,
74
- defaultValue: pro_value || 1.43
75
- })]
76
- })]
77
- });
78
- };
79
- export default LineSpacing;
@@ -1,41 +0,0 @@
1
- function enforceDateFormat(inputElement) {
2
- inputElement.addEventListener("input", event => {
3
- const input = event.target;
4
- let value = input.value;
5
-
6
- // Allow only numbers and forward slashes
7
- value = value.replace(/[^\d/]/g, "");
8
-
9
- // Enforce MM/DD/YYYY structure
10
- if (value.length > 10) {
11
- value = value.slice(0, 10);
12
- }
13
- const parts = value.split("/");
14
- if (parts.length > 1) {
15
- parts[0] = parts[0].slice(0, 2); // Limit MM to 2 digits
16
- if (parts[0] > 12) parts[0] = "12"; // Max month value
17
- }
18
-
19
- if (parts.length > 2) {
20
- parts[1] = parts[1].slice(0, 2); // Limit DD to 2 digits
21
- if (parts[1] > 31) parts[1] = "31"; // Max day value
22
- }
23
-
24
- if (parts.length > 3) {
25
- parts[2] = parts[2].slice(0, 4); // Limit YYYY to 4 digits
26
- }
27
-
28
- input.value = parts.join("/");
29
-
30
- // Optionally, validate the full date
31
- if (input.value.length === 10) {
32
- const [month, day, year] = input.value.split("/").map(Number);
33
- const isValidDate = !isNaN(Date.parse(`${year}-${month}-${day}`));
34
- if (!isValidDate) {
35
- input.value = ""; // Clear input if invalid
36
- alert("Invalid date format. Please enter a valid MM/DD/YYYY date.");
37
- }
38
- }
39
- });
40
- }
41
- export default enforceDateFormat;
@@ -1,43 +0,0 @@
1
- import { Transforms } from "slate";
2
- import insertNewLine from "./insertNewLine";
3
- const getDefaultDatView = () => ({
4
- type: "dataView",
5
- title: "",
6
- layouts: [{
7
- key: "view1",
8
- type: "table",
9
- label: "Table 1 View",
10
- value: "table1",
11
- filter: [],
12
- sort: []
13
- }],
14
- properties: [{
15
- key: "column1",
16
- label: "Task",
17
- type: "text",
18
- visible: true,
19
- default: true
20
- }],
21
- rows: [{
22
- id: new Date().getTime(),
23
- column1: ""
24
- }],
25
- children: [{
26
- type: "viewData",
27
- children: [{
28
- text: ""
29
- }]
30
- }]
31
- });
32
- export const insertDataView = editor => {
33
- try {
34
- Transforms.insertNodes(editor, {
35
- ...getDefaultDatView()
36
- }, {
37
- at: editor?.selection.focus.path
38
- });
39
- insertNewLine(editor);
40
- } catch (err) {
41
- console.log(err);
42
- }
43
- };