@flozy/editor 10.9.4 → 10.9.5

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 (157) hide show
  1. package/dist/Editor/ChatEditor.js +16 -17
  2. package/dist/Editor/CommonEditor.js +27 -138
  3. package/dist/Editor/DialogWrapper.js +25 -31
  4. package/dist/Editor/Editor.css +11 -39
  5. package/dist/Editor/Elements/AI/PopoverAIInput.js +3 -11
  6. package/dist/Editor/Elements/AI/Styles.js +0 -1
  7. package/dist/Editor/Elements/Accordion/Accordion.js +22 -28
  8. package/dist/Editor/Elements/Accordion/AccordionButton.js +3 -12
  9. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  10. package/dist/Editor/Elements/Attachments/Attachments.js +11 -153
  11. package/dist/Editor/Elements/Attachments/AttachmentsButton.js +3 -8
  12. package/dist/Editor/Elements/Button/EditorButton.js +7 -23
  13. package/dist/Editor/Elements/Color Picker/ColorButtons.js +14 -61
  14. package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
  15. package/dist/Editor/Elements/Color Picker/ColorPicker.js +7 -10
  16. package/dist/Editor/Elements/Color Picker/Styles.js +13 -15
  17. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/MultiSelect.js +454 -0
  18. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +55 -134
  19. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SelectV1.js +8 -7
  20. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +3 -8
  21. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +1 -1
  22. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +1 -1
  23. package/dist/Editor/Elements/Embed/Embed.js +43 -36
  24. package/dist/Editor/Elements/Embed/Image.js +23 -236
  25. package/dist/Editor/Elements/Embed/Video.js +15 -246
  26. package/dist/Editor/Elements/Form/FormField.js +1 -1
  27. package/dist/Editor/Elements/Form/Workflow/Styles.js +22 -24
  28. package/dist/Editor/Elements/Form/Workflow/constant.js +1 -25
  29. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +33 -39
  30. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +4 -7
  31. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +0 -1
  32. package/dist/Editor/Elements/FreeGrid/Options/More.js +7 -7
  33. package/dist/Editor/Elements/FreeGrid/styles.js +0 -15
  34. package/dist/Editor/Elements/Grid/GridItem.js +1 -1
  35. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +1 -2
  36. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  37. package/dist/Editor/Elements/Table/Table.js +4 -5
  38. package/dist/Editor/Elements/Table/TableCell.js +3 -10
  39. package/dist/Editor/Elements/Title/title.js +11 -10
  40. package/dist/Editor/Elements/TopBanner/TopBanner.js +2 -4
  41. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +3 -5
  42. package/dist/Editor/Elements/Variables/VariableButton.js +1 -10
  43. package/dist/Editor/MiniEditor.js +1 -2
  44. package/dist/Editor/Styles/EditorStyles.js +8 -20
  45. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
  46. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
  47. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  48. package/dist/Editor/Toolbar/FormatTools/TextSize.js +29 -33
  49. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +1 -2
  50. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +2 -4
  51. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +23 -25
  52. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +7 -25
  53. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +42 -167
  54. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +8 -24
  55. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +1 -2
  56. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +10 -70
  57. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +14 -73
  58. package/dist/Editor/Toolbar/PopupTool/index.js +4 -7
  59. package/dist/Editor/Toolbar/toolbarGroups.js +10 -56
  60. package/dist/Editor/common/ColorPickerButton.js +16 -38
  61. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  62. package/dist/Editor/common/FontLoader/FontLoader.js +0 -4
  63. package/dist/Editor/common/Icon.js +0 -28
  64. package/dist/Editor/common/ImageSelector/ImageSelector.js +7 -45
  65. package/dist/Editor/common/ImageSelector/Options/Upload.js +11 -26
  66. package/dist/Editor/common/ImageSelector/Styles.js +9 -3
  67. package/dist/Editor/common/LinkSettings/NavComponents.js +2 -6
  68. package/dist/Editor/common/MentionsPopup/index.js +1 -9
  69. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
  70. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  71. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  72. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  73. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  74. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -4
  75. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +7 -20
  76. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  77. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +1 -9
  78. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +7 -20
  79. package/dist/Editor/common/RnD/GuideLines/styles.js +1 -1
  80. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -11
  81. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
  82. package/dist/Editor/common/RnD/Utils/gridDropItem.js +18 -28
  83. package/dist/Editor/common/RnD/Utils/index.js +1 -3
  84. package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +58 -45
  85. package/dist/Editor/common/RnD/VirtualElement/helper.js +130 -320
  86. package/dist/Editor/common/RnD/VirtualElement/styles.js +0 -22
  87. package/dist/Editor/common/RnD/index.js +13 -48
  88. package/dist/Editor/common/Shorthands/elements.js +4 -62
  89. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  90. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +0 -4
  91. package/dist/Editor/common/StyleBuilder/fieldStyle.js +0 -1
  92. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +2 -15
  93. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
  94. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  95. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +8 -16
  96. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +10 -36
  97. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +7 -16
  98. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +1 -3
  99. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +0 -2
  100. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +1 -0
  101. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
  102. package/dist/Editor/common/StyleBuilder/formStyle.js +13 -19
  103. package/dist/Editor/common/StyleBuilder/index.js +4 -8
  104. package/dist/Editor/common/Uploader.js +17 -125
  105. package/dist/Editor/common/iconslist.js +0 -21
  106. package/dist/Editor/commonStyle.js +45 -64
  107. package/dist/Editor/helper/index.js +2 -10
  108. package/dist/Editor/helper/theme.js +2 -203
  109. package/dist/Editor/hooks/useMouseMove.js +3 -9
  110. package/dist/Editor/hooks/useTable.js +1 -62
  111. package/dist/Editor/plugins/withEmbeds.js +1 -12
  112. package/dist/Editor/plugins/withHTML.js +3 -58
  113. package/dist/Editor/plugins/withTable.js +1 -1
  114. package/dist/Editor/service/fileupload.js +0 -70
  115. package/dist/Editor/theme/ThemeList.js +173 -50
  116. package/dist/Editor/utils/SlateUtilityFunctions.js +40 -189
  117. package/dist/Editor/utils/accordion.js +40 -68
  118. package/dist/Editor/utils/button.js +17 -1
  119. package/dist/Editor/utils/draftToSlate.js +2 -3
  120. package/dist/Editor/utils/events.js +89 -94
  121. package/dist/Editor/utils/font.js +37 -40
  122. package/dist/Editor/utils/formfield.js +2 -2
  123. package/dist/Editor/utils/helper.js +22 -98
  124. package/dist/Editor/utils/insertAppHeader.js +4 -8
  125. package/package.json +4 -4
  126. package/dist/Editor/Elements/Attachments/AttachmentStyles.js +0 -16
  127. package/dist/Editor/Elements/FreeGrid/helper.js +0 -115
  128. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -439
  129. package/dist/Editor/assets/svg/BackIcon.js +0 -18
  130. package/dist/Editor/assets/svg/ThemeIcons.js +0 -293
  131. package/dist/Editor/common/CustomColorPicker/index.js +0 -130
  132. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  133. package/dist/Editor/common/CustomDialog2/index.js +0 -94
  134. package/dist/Editor/common/CustomDialog2/style.js +0 -67
  135. package/dist/Editor/common/CustomSelect.js +0 -43
  136. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
  137. package/dist/Editor/common/StyleBuilder/fieldTypes/embedUpload.js +0 -115
  138. package/dist/Editor/common/UploaderWithProgress.js +0 -183
  139. package/dist/Editor/helper/textIndeces.js +0 -58
  140. package/dist/Editor/hooks/useEditorTheme.js +0 -153
  141. package/dist/Editor/hooks/useThemeValues.js +0 -63
  142. package/dist/Editor/theme/index.js +0 -149
  143. package/dist/Editor/themeSettings/ActiveTheme.js +0 -82
  144. package/dist/Editor/themeSettings/buttons/index.js +0 -300
  145. package/dist/Editor/themeSettings/buttons/style.js +0 -23
  146. package/dist/Editor/themeSettings/colorTheme/index.js +0 -310
  147. package/dist/Editor/themeSettings/colorTheme/style.js +0 -81
  148. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
  149. package/dist/Editor/themeSettings/fonts/index.js +0 -240
  150. package/dist/Editor/themeSettings/fonts/style.js +0 -62
  151. package/dist/Editor/themeSettings/icons.js +0 -60
  152. package/dist/Editor/themeSettings/index.js +0 -380
  153. package/dist/Editor/themeSettings/style.js +0 -299
  154. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  155. package/dist/Editor/themeSettingsAI/index.js +0 -355
  156. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -202
  157. package/dist/Editor/themeSettingsAI/style.js +0 -332
@@ -1,17 +1,10 @@
1
- import React, { useEffect, useRef, useState } from "react";
1
+ import React, { useEffect, useState } from "react";
2
2
  import { useSlateStatic, ReactEditor } from "slate-react";
3
3
  import { Node, Transforms, Editor } from "slate";
4
4
  import AspectRatioIcon from "@mui/icons-material/AspectRatio";
5
- import IconButton from "@mui/material/IconButton";
6
- import Tooltip from "@mui/material/Tooltip";
7
- import Box from "@mui/material/Box";
8
- import useTheme from "@mui/material/styles/useTheme";
9
- import useMediaQuery from "@mui/material/useMediaQuery";
10
- import Grid from "@mui/material/Grid";
11
- import CircularProgress from "@mui/material/CircularProgress";
12
- import HighlightOffRoundedIcon from "@mui/icons-material/HighlightOffRounded";
13
5
  import useResize from "../../utils/customHooks/useResize";
14
6
  import EmbedPopup from "./EmbedPopup";
7
+ import { IconButton, Tooltip, Box, useTheme, useMediaQuery } from "@mui/material";
15
8
  import { LinkIcon } from "../../common/iconslist";
16
9
  import { useEditorContext } from "../../hooks/useMouseMove";
17
10
  import { getTRBLBreakPoints, getBreakPointsValue, groupByBreakpoint } from "../../helper/theme";
@@ -23,11 +16,8 @@ import { handleLinkType } from "../../utils/helper";
23
16
  import { wrapThemeBreakpoints } from "../FreeGrid/breakpointConstants";
24
17
  import useCommonStyle from "../../commonStyle";
25
18
  import SettingsIcon from "../../assets/svg/SettingsIcon";
26
- import ImageSelector from "../../common/ImageSelector/ImageSelector";
27
- import { buildUpdateData } from "../../service/fileupload";
28
19
  import { jsx as _jsx } from "react/jsx-runtime";
29
20
  import { jsxs as _jsxs } from "react/jsx-runtime";
30
- import { Fragment as _Fragment } from "react/jsx-runtime";
31
21
  const ToolBar = ({
32
22
  isEmpty,
33
23
  onSettings,
@@ -77,105 +67,27 @@ const ImageContent = props => {
77
67
  objectFit,
78
68
  webAddress,
79
69
  readOnly,
70
+ setOpenSettings,
80
71
  handleImageClick,
81
72
  onTouchEnd,
82
73
  path,
83
74
  theme,
84
75
  classes,
85
- translation,
86
- setUploadPopupOpen,
87
- uploadStatus,
88
- setUploadStatus,
89
- uniqueId,
90
- uploadTerminator,
91
- editor
76
+ translation
92
77
  } = props;
93
- const cancelUpload = e => {
94
- e.stopPropagation();
95
- uploadTerminator(uniqueId, setUploadStatus);
96
- Transforms.setNodes(editor, {
97
- isUpload: false,
98
- isUploading: false,
99
- file: null
100
- }, {
101
- at: path
102
- });
103
- };
104
- return !url ? !readOnly ? /*#__PURE__*/_jsx(Box, {
78
+ return !url ? !readOnly ? /*#__PURE__*/_jsxs(Box, {
105
79
  component: "button",
106
80
  className: "element-empty-btn",
107
81
  contentEditable: false,
108
82
  onClick: () => {
109
- if (!uploadStatus?.isUploading) setUploadPopupOpen(true);
83
+ setOpenSettings(true);
110
84
  },
111
85
  sx: {
112
86
  ...classes.emptyThumbBtn
113
87
  },
114
- children: uploadStatus?.isUploading ? /*#__PURE__*/_jsxs(Grid, {
115
- container: true,
116
- direction: "row",
117
- sx: {
118
- justifyContent: "space-between",
119
- alignItems: "center"
120
- },
121
- children: [/*#__PURE__*/_jsx(Grid, {
122
- children: /*#__PURE__*/_jsxs(Grid, {
123
- container: true,
124
- direction: "row",
125
- sx: {
126
- justifyContent: "space-between",
127
- alignItems: "center",
128
- gap: 1
129
- },
130
- children: [/*#__PURE__*/_jsx(Grid, {
131
- children: /*#__PURE__*/_jsx(Icon, {
132
- icon: "image"
133
- })
134
- }), /*#__PURE__*/_jsx(Grid, {
135
- children: /*#__PURE__*/_jsxs(Box, {
136
- display: "flex",
137
- flexDirection: "column",
138
- alignItems: "flex-start",
139
- justifyContent: "space-between",
140
- children: [/*#__PURE__*/_jsx(Box, {
141
- className: "truncateText",
142
- children: uploadStatus?.fileName
143
- }), /*#__PURE__*/_jsxs(Box, {
144
- display: "flex",
145
- alignItems: "center",
146
- gap: 1,
147
- marginTop: 1,
148
- children: [/*#__PURE__*/_jsx(Box, {
149
- children: uploadStatus?.fileSize
150
- }), /*#__PURE__*/_jsx(CircularProgress, {
151
- variant: "determinate",
152
- value: uploadStatus?.uploadPercentage ?? 0,
153
- className: "circularProgress-cls",
154
- size: 15,
155
- thickness: 8
156
- }), /*#__PURE__*/_jsx(Box, {
157
- children: `${uploadStatus?.uploadPercentage?.toFixed(0) ?? 0}%`
158
- })]
159
- })]
160
- })
161
- })]
162
- })
163
- }), /*#__PURE__*/_jsx(Grid, {
164
- children: /*#__PURE__*/_jsx(HighlightOffRoundedIcon, {
165
- className: "uploadCancel",
166
- sx: {
167
- cursor: "pointer"
168
- },
169
- onClick: e => {
170
- cancelUpload(e);
171
- }
172
- })
173
- })]
174
- }) : /*#__PURE__*/_jsxs(_Fragment, {
175
- children: [/*#__PURE__*/_jsx(Icon, {
176
- icon: "image"
177
- }), translation("Add Image")]
178
- })
88
+ children: [/*#__PURE__*/_jsx(Icon, {
89
+ icon: "image"
90
+ }), translation("Add Image")]
179
91
  }) : /*#__PURE__*/_jsxs(Box, {
180
92
  sx: {
181
93
  color: "#64748B !important",
@@ -231,20 +143,11 @@ const Image = props => {
231
143
  webAddress,
232
144
  isNewTab,
233
145
  linkType,
234
- framePos,
235
- file,
236
- isUploading,
237
- uniqueId,
238
- fromFreeGrid
146
+ framePos
239
147
  } = element;
240
148
  const {
241
149
  readOnly,
242
- translation,
243
- services,
244
- uploadFile,
245
- resumeUploadState,
246
- uploadTerminator,
247
- isUploadInProgress = () => false
150
+ translation
248
151
  } = customProps;
249
152
  const {
250
153
  vertical,
@@ -259,12 +162,6 @@ const Image = props => {
259
162
  const path = ReactEditor.findPath(editor, element);
260
163
  const [openNav, setOpenNav] = useState(false);
261
164
  const isEmpty = !url && !readOnly;
262
- const [openUploadPopup, setUploadPopupOpen] = useState(false);
263
- const [uploadStatus, setUploadStatus] = useState({
264
- isUploading: false,
265
- uploadPercentage: 0
266
- });
267
- const xhrRef = useRef(null);
268
165
  const getSize = () => {
269
166
  if (element?.size === undefined) {
270
167
  return {
@@ -320,120 +217,32 @@ const Image = props => {
320
217
  console.log(err);
321
218
  }
322
219
  };
323
- const noUploadTracks = () => {
324
- setUploadStatus({
325
- isUploading: false,
326
- uploadPercentage: 0,
327
- fileName: null,
328
- fileSize: null
329
- });
330
- Transforms.setNodes(editor, {
331
- isUploading: false
332
- }, {
333
- at: path
334
- });
335
- };
336
- useEffect(() => {
337
- const isUploading = isUploadInProgress(uniqueId);
338
- if (fromFreeGrid) {
339
- if (isUploading) {
340
- resumeUploadState(uniqueId, setUploadStatus, onSave, noUploadTracks, "image");
341
- } else {
342
- if (!isUploading) {
343
- handleImageUpload({
344
- file: file
345
- });
346
- }
347
- }
348
- }
349
- }, [uniqueId, isUploading, file]);
350
220
  useEffect(() => {
351
221
  if (editor && ele && ele[1] !== undefined) {
352
222
  const dom = ReactEditor.toDOMNode(editor, element);
353
223
  setParentDOM(dom);
354
224
  onLoad(getSize());
355
225
  }
356
- if (uniqueId && isUploading) {
357
- resumeUploadState(uniqueId, setUploadStatus, onSave, noUploadTracks, "image");
358
- } else if (file && isUploading) {
359
- handleImageUpload({
360
- file: file
361
- });
362
- }
363
226
  }, []);
364
227
  const onSettings = () => {
365
228
  setOpenSettings(true);
366
229
  };
367
230
  const onSave = data => {
368
231
  try {
369
- if (!data?.url?.file) {
370
- const updateData = buildUpdateData(data, url);
371
- delete updateData.children;
372
- Transforms.select(editor, path);
373
- ReactEditor.focus(editor);
374
- Transforms.setNodes(editor, {
375
- ...updateData,
376
- isUpload: false,
377
- isUploading: false,
378
- file: null
379
- }, {
380
- at: path
381
- });
382
- onClose();
383
- } else {
384
- handleImageUpload({
385
- file: data?.url?.file,
386
- isUpload: true,
387
- setUploadStatus,
388
- services: services
389
- });
390
- onClose();
391
- onSave("");
392
- }
232
+ const updateData = {
233
+ ...data
234
+ };
235
+ delete updateData.children;
236
+ Transforms.setNodes(editor, {
237
+ ...updateData
238
+ }, {
239
+ at: path
240
+ });
241
+ onClose();
393
242
  } catch (err) {
394
243
  console.log(err);
395
244
  }
396
245
  };
397
- const handleImageUpload = async uploadProp => {
398
- try {
399
- if (uploadProp?.isUpload === false) {
400
- onSave(uploadProp?.embedURL);
401
- } else {
402
- const isAlreadyUploading = isUploadInProgress(uniqueId);
403
- let result = {};
404
- if (uploadProp?.file && !isAlreadyUploading) {
405
- result = await services("uploadFile", uploadProp?.file);
406
- }
407
- const uploadUrl = result?.data?.[0];
408
- if (uploadUrl) {
409
- const id = !uniqueId ? crypto?.randomUUID() : uniqueId;
410
- const fileEntry = {
411
- ...uploadProp,
412
- xhrRef,
413
- presidnedURL: uploadUrl,
414
- status: "uploading"
415
- };
416
- uploadFile(id, fileEntry, setUploadStatus, onSave, "image");
417
- if (!fromFreeGrid) {
418
- Transforms.setNodes(editor, {
419
- uniqueId: id,
420
- isUploading: true
421
- }, {
422
- at: path
423
- });
424
- } else {
425
- Transforms.setNodes(editor, {
426
- isUploading: true
427
- }, {
428
- at: path
429
- });
430
- }
431
- }
432
- }
433
- } catch (error) {
434
- console.log(error);
435
- }
436
- };
437
246
  const onClose = () => {
438
247
  setOpenSettings(false);
439
248
  };
@@ -515,16 +324,7 @@ const Image = props => {
515
324
  path: path,
516
325
  theme: theme,
517
326
  classes: classes,
518
- translation: translation,
519
- setUploadPopupOpen: setUploadPopupOpen,
520
- openUploadPopup: openUploadPopup,
521
- uploadStatus: uploadStatus,
522
- setUploadStatus: setUploadStatus,
523
- xhrRef: xhrRef,
524
- onClose: onClose,
525
- uniqueId: uniqueId,
526
- uploadTerminator: uploadTerminator,
527
- editor: editor
327
+ translation: translation
528
328
  }), url && frames[frame] ? /*#__PURE__*/_jsx(Box, {
529
329
  component: "div",
530
330
  className: "image-frame",
@@ -572,20 +372,7 @@ const Image = props => {
572
372
  navValue: webAddress,
573
373
  openInNewTab: isNewTab,
574
374
  customProps: customProps
575
- }) : null, openUploadPopup && /*#__PURE__*/_jsx(ImageSelector, {
576
- open: true,
577
- title: "Image",
578
- onClose: () => setUploadPopupOpen(false),
579
- customProps: customProps,
580
- onSelectImage: img => {
581
- handleImageUpload(img);
582
- setUploadPopupOpen(false);
583
- },
584
- openUploadPopup: openUploadPopup,
585
- setUploadPopupOpen: setUploadPopupOpen,
586
- setUploadStatus: setUploadStatus,
587
- xhrRef: xhrRef
588
- })]
375
+ }) : null]
589
376
  });
590
377
  };
591
378
  export default Image;
@@ -1,15 +1,9 @@
1
1
  import React, { useState, useEffect, useRef } from "react";
2
2
  import { useSlateStatic, ReactEditor } from "slate-react";
3
3
  import { Node, Transforms } from "slate";
4
- import IconButton from '@mui/material/IconButton';
5
- import Tooltip from '@mui/material/Tooltip';
6
- import Box from '@mui/material/Box';
7
- import useTheme from '@mui/material/styles/useTheme';
8
- import Grid from '@mui/material/Grid';
9
- import CircularProgress from '@mui/material/CircularProgress';
4
+ import { IconButton, Tooltip, Box, useTheme } from "@mui/material";
10
5
  import DeleteIcon from "@mui/icons-material/Delete";
11
6
  import AspectRatioIcon from "@mui/icons-material/AspectRatio";
12
- import HighlightOffRoundedIcon from "@mui/icons-material/HighlightOffRounded";
13
7
  import Icon from "../../common/Icon";
14
8
  import useResize from "../../utils/customHooks/useResize";
15
9
  import EmbedPopup from "./EmbedPopup";
@@ -19,10 +13,8 @@ import { getEmbedURL } from "../../helper";
19
13
  import { getBreakPointsValue, getTRBLBreakPoints, groupByBreakpoint } from "../../helper/theme";
20
14
  import { useEditorContext } from "../../hooks/useMouseMove";
21
15
  import useCommonStyle from "../../commonStyle";
22
- import ImageSelector from "../../common/ImageSelector/ImageSelector";
23
16
  import { jsx as _jsx } from "react/jsx-runtime";
24
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
25
- import { Fragment as _Fragment } from "react/jsx-runtime";
26
18
  const TYPE_LABELS = {
27
19
  calendly: "Embed Calendly or Other",
28
20
  video: "Embed Video or Other",
@@ -86,97 +78,18 @@ const VideoPlaceholder = props => {
86
78
  onSettings,
87
79
  classes,
88
80
  type,
89
- translation,
90
- uploadStatus,
91
- setUploadStatus,
92
- uploadTerminator,
93
- uniqueId,
94
- editor,
95
- path
81
+ translation
96
82
  } = props;
97
- const cancelUpload = e => {
98
- e.stopPropagation();
99
- uploadTerminator(uniqueId, setUploadStatus);
100
- Transforms.setNodes(editor, {
101
- isUpload: false,
102
- isUploading: false,
103
- file: null
104
- }, {
105
- at: path
106
- });
107
- };
108
- return !url ? !readOnly ? /*#__PURE__*/_jsx(Box, {
83
+ return !url ? !readOnly ? /*#__PURE__*/_jsxs(Box, {
109
84
  component: "button",
110
85
  className: "element-empty-btn",
111
- onClick: !uploadStatus?.isUploading ? onSettings : () => {},
86
+ onClick: onSettings,
112
87
  sx: {
113
88
  ...classes.emptyThumbBtn
114
89
  },
115
- children: uploadStatus?.isUploading ? /*#__PURE__*/_jsxs(Grid, {
116
- container: true,
117
- direction: "row",
118
- sx: {
119
- justifyContent: "space-between",
120
- alignItems: "center"
121
- },
122
- children: [/*#__PURE__*/_jsx(Grid, {
123
- children: /*#__PURE__*/_jsxs(Grid, {
124
- container: true,
125
- direction: "row",
126
- sx: {
127
- justifyContent: "space-between",
128
- alignItems: "center",
129
- gap: 1
130
- },
131
- children: [/*#__PURE__*/_jsx(Grid, {
132
- children: /*#__PURE__*/_jsx(Icon, {
133
- icon: "image"
134
- })
135
- }), /*#__PURE__*/_jsx(Grid, {
136
- children: /*#__PURE__*/_jsxs(Box, {
137
- display: "flex",
138
- flexDirection: "column",
139
- alignItems: "flex-start",
140
- justifyContent: "space-between",
141
- children: [/*#__PURE__*/_jsx(Box, {
142
- className: "truncateText",
143
- children: uploadStatus?.fileName
144
- }), /*#__PURE__*/_jsxs(Box, {
145
- display: "flex",
146
- alignItems: "center",
147
- gap: 1,
148
- marginTop: 1,
149
- children: [/*#__PURE__*/_jsx(Box, {
150
- children: uploadStatus?.fileSize
151
- }), /*#__PURE__*/_jsx(CircularProgress, {
152
- variant: "determinate",
153
- value: uploadStatus?.uploadPercentage ?? 0,
154
- className: "circularProgress-cls",
155
- size: 15,
156
- thickness: 8
157
- }), /*#__PURE__*/_jsx(Box, {
158
- children: `${uploadStatus?.uploadPercentage?.toFixed(0) ?? 0}%`
159
- })]
160
- })]
161
- })
162
- })]
163
- })
164
- }), /*#__PURE__*/_jsx(Grid, {
165
- children: /*#__PURE__*/_jsx(HighlightOffRoundedIcon, {
166
- className: "uploadCancel",
167
- sx: {
168
- cursor: "pointer"
169
- },
170
- onClick: e => {
171
- cancelUpload(e);
172
- }
173
- })
174
- })]
175
- }) : /*#__PURE__*/_jsxs(_Fragment, {
176
- children: [/*#__PURE__*/_jsx(Icon, {
177
- icon: "video"
178
- }), TYPE_LABELS[type] || translation("Embed Video or Other")]
179
- })
90
+ children: [/*#__PURE__*/_jsx(Icon, {
91
+ icon: "video"
92
+ }), TYPE_LABELS[type] || translation("Embed Video or Other")]
180
93
  }) : /*#__PURE__*/_jsxs(Box, {
181
94
  sx: {
182
95
  color: "#64748B !important",
@@ -207,23 +120,14 @@ const Video = ({
207
120
  xsHidden,
208
121
  width: oldWidth,
209
122
  bannerSpacing,
210
- aspectRatio,
211
- file,
212
- isUploading,
213
- uniqueId,
214
- fromFreeGrid
123
+ aspectRatio
215
124
  } = element;
216
125
  const editor = useSlateStatic();
217
126
  const [openSetttings, setOpenSettings] = useState(false);
218
127
  const [parentDOM, setParentDOM] = useState(null);
219
128
  const {
220
129
  readOnly,
221
- translation,
222
- services,
223
- uploadFile,
224
- resumeUploadState,
225
- uploadTerminator,
226
- isUploadInProgress = () => false
130
+ translation
227
131
  } = customProps;
228
132
  const {
229
133
  vertical,
@@ -244,63 +148,6 @@ const Video = ({
244
148
  return element?.size || {};
245
149
  }
246
150
  };
247
- const xhrRef = useRef(null);
248
- const [openUploadPopup, setUploadPopupOpen] = useState(false);
249
- const [uploadStatus, setUploadStatus] = useState({
250
- isUploading: false,
251
- uploadPercentage: 0
252
- });
253
- const onClickUpload = () => {
254
- setUploadPopupOpen(true);
255
- };
256
- const onSelectVideo = async video => {
257
- handleClose();
258
- let finalURL = null;
259
- try {
260
- if (video?.isUpload === false) {
261
- finalURL = video?.embedURL;
262
- } else {
263
- const id = !uniqueId ? crypto?.randomUUID() : uniqueId;
264
- const result = await services("uploadFile", video?.file);
265
- const uploadUrl = result?.data?.[0];
266
- const fileEntry = {
267
- ...video,
268
- xhrRef,
269
- presidnedURL: uploadUrl,
270
- status: "uploading"
271
- };
272
- uploadFile(id, fileEntry, setUploadStatus, onSave, "video");
273
- if (!fromFreeGrid) {
274
- Transforms.setNodes(editor, {
275
- uniqueId: id,
276
- isUploading: true
277
- }, {
278
- at: path
279
- });
280
- } else {
281
- Transforms.setNodes(editor, {
282
- isUploading: true
283
- }, {
284
- at: path
285
- });
286
- }
287
- }
288
- if (finalURL) {
289
- const updateObject = {
290
- ...element,
291
- url: finalURL
292
- };
293
- onSave(updateObject);
294
- } else {
295
- return;
296
- }
297
- } catch (error) {
298
- console.log(error);
299
- }
300
- };
301
- const handleClose = () => {
302
- setUploadPopupOpen(false);
303
- };
304
151
  const [size, onMouseDown, resizing, onLoad] = useResize({
305
152
  parentDOM,
306
153
  size: getSize(),
@@ -314,49 +161,12 @@ const Video = ({
314
161
  });
315
162
  const arr = Array.from(Node.elements(editor));
316
163
  const ele = arr.find(([elem]) => element === elem);
317
- const noUploadTracks = () => {
318
- setUploadStatus({
319
- isUploading: false,
320
- uploadPercentage: 0,
321
- fileName: null,
322
- fileSize: null
323
- });
324
- };
325
- useEffect(() => {
326
- const isUploading = isUploadInProgress(uniqueId);
327
- if (fromFreeGrid) {
328
- if (isUploading) {
329
- resumeUploadState(uniqueId, setUploadStatus, onSave, noUploadTracks, "image");
330
- } else {
331
- if (!isUploading && file) {
332
- onSelectVideo({
333
- file: file
334
- });
335
- }
336
- }
337
- }
338
- return () => {
339
- // Transforms.setNodes(editor, { isUploading: false }, { at: path });
340
- };
341
- }, [uniqueId, isUploading, file]);
342
164
  useEffect(() => {
343
165
  if (editor && ele && ele[1] !== undefined) {
344
166
  const dom = ReactEditor.toDOMNode(editor, Node.get(editor, ele[1]));
345
167
  setParentDOM(dom);
346
168
  onLoad(element?.size || {});
347
169
  }
348
- if (!fromFreeGrid) {
349
- if (uniqueId && isUploading) {
350
- resumeUploadState(uniqueId, setUploadStatus, onSave, noUploadTracks, "video");
351
- } else if (file && isUploading) {
352
- onSelectVideo({
353
- file: file
354
- });
355
- }
356
- }
357
- return () => {
358
- // xhrRef?.current?.abort();
359
- };
360
170
  }, []);
361
171
  const ToolBar = () => {
362
172
  return /*#__PURE__*/_jsxs("div", {
@@ -384,35 +194,12 @@ const Video = ({
384
194
  };
385
195
  const onSave = data => {
386
196
  try {
387
- let updateData = {};
388
- if (typeof data === "string") {
389
- updateData = {
390
- url: data,
391
- uniqueId: undefined,
392
- isUploading: false
393
- };
394
- } else if (typeof data?.url !== "string") {
395
- updateData = {
396
- ...data,
397
- url: ""
398
- };
399
- onSelectVideo({
400
- file: data?.url?.file,
401
- isUpload: true,
402
- setUploadStatus,
403
- services: customProps?.services
404
- });
405
- } else {
406
- updateData = data;
407
- }
197
+ const updateData = {
198
+ ...data
199
+ };
408
200
  delete updateData.children;
409
- Transforms.select(editor, path);
410
- ReactEditor.focus(editor);
411
201
  Transforms.setNodes(editor, {
412
- ...updateData,
413
- isUpload: false,
414
- isUploading: false,
415
- file: null
202
+ ...updateData
416
203
  }, {
417
204
  at: path
418
205
  });
@@ -494,19 +281,13 @@ const Video = ({
494
281
  children: [!readOnly && url && /*#__PURE__*/_jsx(ToolBar, {}), /*#__PURE__*/_jsx(VideoPlaceholder, {
495
282
  ...element,
496
283
  embedURL: embedURL,
497
- onSettings: onClickUpload,
284
+ onSettings: onSettings,
498
285
  videoSX: videoSX,
499
286
  url: url,
500
287
  readOnly: readOnly,
501
288
  resizing: resizing,
502
289
  classes: classes,
503
- translation: translation,
504
- uploadStatus: uploadStatus,
505
- setUploadStatus: setUploadStatus,
506
- uploadTerminator: uploadTerminator,
507
- uniqueId: uniqueId,
508
- editor: editor,
509
- path: path
290
+ translation: translation
510
291
  }), !readOnly && url ? /*#__PURE__*/_jsx(IconButton, {
511
292
  onPointerDown: onMouseDown,
512
293
  style: {
@@ -514,18 +295,6 @@ const Video = ({
514
295
  },
515
296
  className: "resize-br visible-on-hover",
516
297
  children: /*#__PURE__*/_jsx(AspectRatioIcon, {})
517
- }) : null, openUploadPopup ? /*#__PURE__*/_jsx(ImageSelector, {
518
- open: true,
519
- Add: true,
520
- commentMore: true,
521
- actions: true,
522
- title: "Video",
523
- onClose: handleClose,
524
- customProps: customProps,
525
- onSelectImage: onSelectVideo,
526
- setUploadPopupOpen: setUploadPopupOpen,
527
- setUploadStatus: setUploadStatus,
528
- xhrRef: xhrRef
529
298
  }) : null]
530
299
  }), children]
531
300
  });
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from "react";
2
- import { Transforms } from "slate";
2
+ import { Transforms, Node } from "slate";
3
3
  import { useSlateStatic, ReactEditor } from "slate-react";
4
4
  import { IconButton, Tooltip, Grid, useTheme } from "@mui/material";
5
5
  import FormElements from "./FormElements";