@flozy/editor 5.2.8 → 5.3.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 (95) hide show
  1. package/dist/Editor/ChatEditor.js +34 -25
  2. package/dist/Editor/CommonEditor.js +11 -17
  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 +1 -24
  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
- };