@flozy/editor 11.1.1 → 11.1.2

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 (143) hide show
  1. package/dist/Editor/ChatEditor.js +6 -6
  2. package/dist/Editor/CommonEditor.js +82 -21
  3. package/dist/Editor/DialogWrapper.js +31 -25
  4. package/dist/Editor/Editor.css +37 -4
  5. package/dist/Editor/Elements/AI/PopoverAIInput.js +11 -3
  6. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  7. package/dist/Editor/Elements/Attachments/AttachmentStyles.js +16 -0
  8. package/dist/Editor/Elements/Attachments/Attachments.js +154 -11
  9. package/dist/Editor/Elements/Attachments/AttachmentsButton.js +8 -3
  10. package/dist/Editor/Elements/Button/EditorButton.js +22 -7
  11. package/dist/Editor/Elements/Color Picker/ColorButtons.js +61 -14
  12. package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
  13. package/dist/Editor/Elements/Color Picker/ColorPicker.js +10 -7
  14. package/dist/Editor/Elements/Color Picker/Styles.js +15 -13
  15. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +134 -55
  16. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SelectV1.js +7 -8
  17. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +8 -3
  18. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +1 -1
  19. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +1 -1
  20. package/dist/Editor/Elements/Embed/Embed.css +5 -0
  21. package/dist/Editor/Elements/Embed/Embed.js +37 -43
  22. package/dist/Editor/Elements/Embed/Image.js +242 -22
  23. package/dist/Editor/Elements/Embed/Video.js +277 -32
  24. package/dist/Editor/Elements/Form/Form.js +10 -35
  25. package/dist/Editor/Elements/Form/FormField.js +1 -1
  26. package/dist/Editor/Elements/Form/Workflow/Styles.js +24 -22
  27. package/dist/Editor/Elements/Form/Workflow/constant.js +25 -1
  28. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +34 -75
  29. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +9 -5
  30. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +3 -1
  31. package/dist/Editor/Elements/FreeGrid/helper.js +194 -0
  32. package/dist/Editor/Elements/FreeGrid/styles.js +15 -0
  33. package/dist/Editor/Elements/Grid/GridItem.js +1 -1
  34. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +2 -1
  35. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -3
  36. package/dist/Editor/Elements/Signature/SignaturePopup.js +2 -13
  37. package/dist/Editor/Elements/SimpleText/index.js +4 -1
  38. package/dist/Editor/Elements/Table/Table.js +2 -1
  39. package/dist/Editor/Elements/Table/TableCell.js +10 -3
  40. package/dist/Editor/Elements/Title/title.js +4 -5
  41. package/dist/Editor/Elements/TopBanner/TopBanner.js +4 -2
  42. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +5 -3
  43. package/dist/Editor/Styles/EditorStyles.js +16 -5
  44. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
  45. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
  46. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  47. package/dist/Editor/Toolbar/FormatTools/TextSize.js +33 -29
  48. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +2 -1
  49. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +3 -1
  50. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +25 -23
  51. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +167 -42
  52. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +15 -5
  53. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +2 -1
  54. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +65 -7
  55. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +66 -12
  56. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +439 -0
  57. package/dist/Editor/Toolbar/PopupTool/index.js +7 -4
  58. package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
  59. package/dist/Editor/assets/svg/BackIcon.js +18 -0
  60. package/dist/Editor/assets/svg/ThemeIcons.js +293 -0
  61. package/dist/Editor/common/ColorPickerButton.js +38 -19
  62. package/dist/Editor/common/CustomColorPicker/index.js +130 -0
  63. package/dist/Editor/common/CustomColorPicker/style.js +53 -0
  64. package/dist/Editor/common/CustomDialog2/index.js +94 -0
  65. package/dist/Editor/common/CustomDialog2/style.js +67 -0
  66. package/dist/Editor/common/CustomSelect.js +43 -0
  67. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  68. package/dist/Editor/common/FontLoader/FontLoader.js +1 -0
  69. package/dist/Editor/common/Icon.js +28 -0
  70. package/dist/Editor/common/ImageSelector/ImageSelector.js +45 -7
  71. package/dist/Editor/common/ImageSelector/Options/Upload.js +26 -11
  72. package/dist/Editor/common/ImageSelector/Styles.js +3 -9
  73. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +2 -1
  74. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
  75. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
  76. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
  77. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
  78. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +3 -2
  79. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +20 -7
  80. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
  81. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +2 -0
  82. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +20 -7
  83. package/dist/Editor/common/RnD/GuideLines/styles.js +1 -1
  84. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
  85. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +6 -3
  86. package/dist/Editor/common/RnD/Utils/gridDropItem.js +28 -11
  87. package/dist/Editor/common/RnD/Utils/index.js +3 -1
  88. package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +52 -63
  89. package/dist/Editor/common/RnD/VirtualElement/helper.js +248 -68
  90. package/dist/Editor/common/RnD/VirtualElement/styles.js +22 -0
  91. package/dist/Editor/common/RnD/index.js +61 -14
  92. package/dist/Editor/common/Shorthands/elements.js +54 -0
  93. package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
  94. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +4 -0
  95. package/dist/Editor/common/StyleBuilder/fieldStyle.js +1 -0
  96. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +18 -4
  97. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +12 -2
  98. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
  99. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +36 -10
  100. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +13 -4
  101. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +2 -0
  102. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +15 -4
  103. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
  104. package/dist/Editor/common/StyleBuilder/formStyle.js +19 -13
  105. package/dist/Editor/common/StyleBuilder/index.js +8 -4
  106. package/dist/Editor/common/Uploader.js +118 -17
  107. package/dist/Editor/common/UploaderWithProgress.js +183 -0
  108. package/dist/Editor/common/iconslist.js +21 -0
  109. package/dist/Editor/commonStyle.js +37 -3
  110. package/dist/Editor/helper/index.js +4 -1
  111. package/dist/Editor/helper/theme.js +203 -2
  112. package/dist/Editor/hooks/useEditorTheme.js +153 -0
  113. package/dist/Editor/hooks/useMouseMove.js +12 -3
  114. package/dist/Editor/hooks/useTable.js +62 -1
  115. package/dist/Editor/hooks/useThemeValues.js +63 -0
  116. package/dist/Editor/plugins/withEmbeds.js +1 -1
  117. package/dist/Editor/plugins/withHTML.js +56 -3
  118. package/dist/Editor/plugins/withTable.js +1 -1
  119. package/dist/Editor/service/fileupload.js +70 -0
  120. package/dist/Editor/theme/ThemeList.js +50 -173
  121. package/dist/Editor/theme/index.js +149 -0
  122. package/dist/Editor/themeSettings/ActiveTheme.js +82 -0
  123. package/dist/Editor/themeSettings/buttons/index.js +300 -0
  124. package/dist/Editor/themeSettings/buttons/style.js +23 -0
  125. package/dist/Editor/themeSettings/colorTheme/index.js +310 -0
  126. package/dist/Editor/themeSettings/colorTheme/style.js +81 -0
  127. package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
  128. package/dist/Editor/themeSettings/fonts/index.js +240 -0
  129. package/dist/Editor/themeSettings/fonts/style.js +62 -0
  130. package/dist/Editor/themeSettings/icons.js +60 -0
  131. package/dist/Editor/themeSettings/index.js +380 -0
  132. package/dist/Editor/themeSettings/style.js +299 -0
  133. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  134. package/dist/Editor/themeSettingsAI/index.js +355 -0
  135. package/dist/Editor/themeSettingsAI/saveTheme.js +202 -0
  136. package/dist/Editor/themeSettingsAI/style.js +332 -0
  137. package/dist/Editor/utils/SlateUtilityFunctions.js +162 -38
  138. package/dist/Editor/utils/accordion.js +1 -1
  139. package/dist/Editor/utils/button.js +1 -17
  140. package/dist/Editor/utils/font.js +40 -37
  141. package/dist/Editor/utils/helper.js +76 -3
  142. package/dist/Editor/utils/insertAppHeader.js +8 -4
  143. package/package.json +1 -1
@@ -6,6 +6,7 @@ import { useEditorContext } from "../../../../../hooks/useMouseMove";
6
6
  import useCompStyles from "./styles";
7
7
  import { CloseIcon } from "../../../../../common/iconslist";
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
+ import { jsxs as _jsxs } from "react/jsx-runtime";
9
10
  const AvatarIcon = props => {
10
11
  const {
11
12
  option,
@@ -41,7 +42,8 @@ export default function Select(props) {
41
42
  placeholder = "",
42
43
  disabled = false,
43
44
  optionAvatar = false,
44
- className = ""
45
+ className = "",
46
+ wrapColumn = false
45
47
  } = props;
46
48
  const value = Array.isArray(pValue) ? pValue : [];
47
49
  const options = selectOptions?.length ? selectOptions.filter(s => s.value) : [];
@@ -57,7 +59,8 @@ export default function Select(props) {
57
59
  newValue?.forEach(m => {
58
60
  if (multiple) {
59
61
  fv.push({
60
- value: m.inputValue || m.value
62
+ value: m.inputValue || m.value,
63
+ ...m
61
64
  });
62
65
  } else {
63
66
  fv[0] = {
@@ -100,51 +103,51 @@ export default function Select(props) {
100
103
  }
101
104
  // Regular option
102
105
  return option.value || "";
103
- },
104
- renderTags: (value, getTagProps) => {
105
- return /*#__PURE__*/_jsx(Box, {
106
- className: `tv-ms-tag-wrpr ${className}`,
107
- sx: {
108
- "& svg": {
109
- marginRight: "5px",
110
- "& path": {
111
- stroke: "#000"
112
- }
113
- }
114
- },
115
- children: value?.map((option, index) => {
116
- const {
117
- key,
118
- ...tagProps
119
- } = getTagProps({
120
- index
121
- }) || {};
122
- return option?.value ? /*#__PURE__*/_jsx(Chip, {
123
- variant: "outlined",
124
- label: option?.label || option?.value,
125
- ...tagProps,
126
- sx: {
127
- background: option?.color || appTheme?.palette?.editor?.tv_border1,
128
- border: "none",
129
- "& .MuiChip-label": {
130
- paddingLeft: "12px !important",
131
- paddingRight: disabled ? "12px !important" : ""
132
- }
133
- },
134
- avatar: /*#__PURE__*/_jsx(AvatarIcon, {
135
- option: option,
136
- avatar: optionAvatar
137
- }),
138
- deleteIcon: /*#__PURE__*/_jsx(CloseIcon, {
139
- style: {
140
- cursor: "pointer",
141
- display: disabled ? "none" : ""
142
- }
143
- })
144
- }, key) : null;
145
- })
146
- });
147
- },
106
+ }
107
+ // renderTags={(value, getTagProps) => {
108
+ // return (
109
+ // <Box
110
+ // className={`tv-ms-tag-wrpr ${className}`}
111
+ // sx={{
112
+ // "& svg": { marginRight: "5px", "& path": { stroke: "#000" } },
113
+ // flexWrap: wrapColumn ? "wrap" : "nowrap",
114
+ // overflowX: wrapColumn ? "hidden" : "auto",
115
+ // }}
116
+ // >
117
+ // {value?.map((option, index) => {
118
+ // const { key, ...tagProps } = getTagProps({ index }) || {};
119
+ // return option?.value ? (
120
+ // <Chip
121
+ // variant="outlined"
122
+ // label={option?.label || option?.value}
123
+ // key={key}
124
+ // {...tagProps}
125
+ // sx={{
126
+ // background:
127
+ // option?.color || appTheme?.palette?.editor?.tv_border1,
128
+ // border: "none",
129
+ // "& .MuiChip-label": {
130
+ // paddingLeft: "12px !important",
131
+ // paddingRight: disabled ? "12px !important" : "",
132
+ // },
133
+ // }}
134
+ // avatar={<AvatarIcon option={option} avatar={optionAvatar} />}
135
+ // deleteIcon={
136
+ // <CloseIcon
137
+ // style={{
138
+ // cursor: "pointer",
139
+ // display: disabled ? "none" : "",
140
+ // }}
141
+ // />
142
+ // }
143
+ // />
144
+ // ) : null;
145
+ // })}
146
+ // </Box>
147
+ // );
148
+ // }}
149
+ ,
150
+ renderTags: () => null,
148
151
  renderOption: (props, option) => {
149
152
  const {
150
153
  key,
@@ -161,20 +164,96 @@ export default function Select(props) {
161
164
  avatar: /*#__PURE__*/_jsx(AvatarIcon, {
162
165
  option: option,
163
166
  avatar: optionAvatar
164
- }),
165
- deleteIcon: /*#__PURE__*/_jsx(CloseIcon, {})
167
+ })
168
+ // deleteIcon={<CloseIcon />}
166
169
  })
167
170
  }, key);
168
171
  },
169
172
  freeSolo: true,
170
173
  size: "small",
171
- fullWidth: true,
174
+ fullWidth: true
175
+ // renderInput={(params) => {
176
+ // return (
177
+ // <TextField
178
+ // fullWidth
179
+ // size="small"
180
+ // {...params}
181
+ // placeholder={placeholder}
182
+ // />
183
+ // );
184
+ // }}
185
+ ,
172
186
  renderInput: params => {
173
- return /*#__PURE__*/_jsx(TextField, {
174
- fullWidth: true,
175
- size: "small",
176
- ...params,
177
- placeholder: placeholder
187
+ const {
188
+ InputProps,
189
+ ...rest
190
+ } = params;
191
+ return /*#__PURE__*/_jsxs(Box, {
192
+ className: `tv-ms-tag-wrpr ${className}`,
193
+ sx: {
194
+ display: "flex",
195
+ flexWrap: wrapColumn ? "wrap" : "nowrap",
196
+ alignItems: "center",
197
+ minHeight: "40px",
198
+ padding: "2px",
199
+ gap: "4px",
200
+ overflowX: 'auto',
201
+ "& .MuiChip-root": {
202
+ margin: "2px"
203
+ }
204
+ },
205
+ children: [value?.map((option, index) => /*#__PURE__*/_jsx(Chip, {
206
+ variant: "outlined",
207
+ label: option?.label || option?.value,
208
+ sx: {
209
+ background: option?.color || appTheme?.palette?.editor?.tv_border1,
210
+ maxWidth: '150px',
211
+ border: "none",
212
+ "& .MuiChip-label": {
213
+ // paddingLeft: "12px !important",
214
+ // paddingRight: disabled ? "12px !important" : "",
215
+ maxWidth: '100px'
216
+ },
217
+ "& .MuiChip-deleteIcon": {
218
+ '& path': {
219
+ stroke: '#0F172A'
220
+ }
221
+ }
222
+ },
223
+ avatar: /*#__PURE__*/_jsx(AvatarIcon, {
224
+ option: option,
225
+ avatar: optionAvatar
226
+ }),
227
+ onDelete: !disabled ? () => {
228
+ const newValue = [...value];
229
+ newValue.splice(index, 1);
230
+ onChange(newValue);
231
+ } : undefined,
232
+ deleteIcon: /*#__PURE__*/_jsx(CloseIcon, {
233
+ style: {
234
+ cursor: "pointer",
235
+ display: disabled ? "none" : ""
236
+ }
237
+ }),
238
+ ...InputProps?.startAdornment?.[index]?.props
239
+ }, index)), /*#__PURE__*/_jsx(TextField, {
240
+ ...rest,
241
+ InputProps: {
242
+ ...InputProps,
243
+ disableUnderline: true,
244
+ sx: {
245
+ minWidth: 120,
246
+ flexGrow: 1,
247
+ input: {
248
+ padding: "4px 8px"
249
+ }
250
+ }
251
+ },
252
+ size: "small",
253
+ placeholder: placeholder,
254
+ disabled: disabled,
255
+ variant: "standard"
256
+ })]
178
257
  });
179
258
  },
180
259
  slotProps: {
@@ -40,7 +40,8 @@ const SelectV1 = props => {
40
40
  wrapColumn = false,
41
41
  onChange,
42
42
  onUpdate,
43
- translation
43
+ translation,
44
+ disabled
44
45
  } = props;
45
46
  const [anchorEl, setAnchorEl] = useState(null);
46
47
  const [anchorElOption, setAnchorElOption] = useState(null);
@@ -217,15 +218,13 @@ const SelectV1 = props => {
217
218
  overflowX: wrapColumn ? "hidden" : "auto",
218
219
  gap: 0.5,
219
220
  padding: "8px",
220
- cursor: "pointer"
221
+ cursor: disabled ? "auto" : "pointer"
221
222
  },
222
- onClick: handleOpenPopover,
223
+ onClick: disabled ? undefined : handleOpenPopover,
223
224
  children: resolvedSelectedOptions?.map((option, index) => /*#__PURE__*/_jsx(Chip, {
224
225
  label: option?.value,
225
- onDelete: event => {
226
- handleDeleteChip(event, option);
227
- },
228
- deleteIcon: /*#__PURE__*/_jsx(CloseIcon, {}),
226
+ onDelete: !disabled ? event => handleDeleteChip(event, option) : undefined,
227
+ deleteIcon: !disabled ? /*#__PURE__*/_jsx(CloseIcon, {}) : undefined,
229
228
  variant: "filled",
230
229
  sx: {
231
230
  backgroundColor: option?.color,
@@ -237,7 +236,7 @@ const SelectV1 = props => {
237
236
  }
238
237
  },
239
238
  "&:hover": {
240
- opacity: 0.8
239
+ opacity: disabled ? 1 : 0.8
241
240
  }
242
241
  }
243
242
  }, index))
@@ -7,8 +7,12 @@ const PersonType = props => {
7
7
  rowIndex,
8
8
  property,
9
9
  value,
10
- readOnly
10
+ readOnly,
11
+ settings
11
12
  } = props;
13
+ const {
14
+ wrapColumn
15
+ } = settings;
12
16
  const {
13
17
  onChange,
14
18
  users
@@ -22,9 +26,10 @@ const PersonType = props => {
22
26
  value: value || [],
23
27
  onChange: handleChange,
24
28
  options: users || [],
25
- multiple: false,
29
+ multiple: true,
26
30
  disabled: readOnly,
27
- optionAvatar: true
31
+ optionAvatar: true,
32
+ wrapColumn: wrapColumn
28
33
  });
29
34
  };
30
35
  export default PersonType;
@@ -7,7 +7,7 @@ import Icon from "../../../../common/Icon";
7
7
  import CloseIcon from "@mui/icons-material/Close";
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
10
- const NEED_WRAPS = ["text", "multi-select"];
10
+ const NEED_WRAPS = ["text", "multi-select", "person"];
11
11
  const EditProperty = props => {
12
12
  const {
13
13
  classes,
@@ -101,7 +101,7 @@ const useTableStyles = (theme, appTheme) => ({
101
101
  position: "relative",
102
102
  "& .tv-ms-tag-wrpr": {
103
103
  display: "flex",
104
- flexWrap: "nowrap",
104
+ // flexWrap: "nowrap",
105
105
  overflow: "auto",
106
106
  minWidth: "58px",
107
107
  "& .MuiChip-deleteIcon": {
@@ -95,4 +95,9 @@
95
95
 
96
96
  .disablePointerEvent {
97
97
  pointer-events: none;
98
+ }
99
+
100
+ .cursorStabilityElement {
101
+ pointer-events: none;
102
+ user-select: none;
98
103
  }
@@ -1,9 +1,9 @@
1
- import React, { useState } from "react";
1
+ import React, { useRef, useState } from "react";
2
2
  import { Transforms } from "slate";
3
3
  import { ReactEditor } from "slate-react";
4
4
  import Icon from "../../common/Icon";
5
5
  import { isBlockActive } from "../../utils/SlateUtilityFunctions";
6
- import { insertEmbed } from "../../utils/embed";
6
+ import { insertDefaultEmbed, insertEmbed } from "../../utils/embed";
7
7
  import "./Embed.css";
8
8
  import ToolbarIcon from "../../common/ToolbarIcon";
9
9
  import ImageSelector from "../../common/ImageSelector/ImageSelector";
@@ -22,55 +22,45 @@ const Embed = ({
22
22
  customProps,
23
23
  icoBtnType
24
24
  }) => {
25
- const [open, setOpen] = useState(false);
26
- const [formData, setFormData] = useState({
27
- url: "",
28
- alt: "",
29
- images: []
30
- });
25
+ const [openSetttings, setUploadPopupOpen] = useState(false);
31
26
  const [selection, setSelection] = useState();
32
27
  const {
33
28
  translation
34
29
  } = customProps;
35
- const handleFormSubmit = fd => {
36
- if (fd?.url || fd?.images.length > 0) {
37
- selection && Transforms.select(editor, selection);
38
- selection && ReactEditor.focus(editor);
39
- insertEmbed(editor, {
40
- ...fd
41
- }, format);
42
- setFormData({
43
- url: "",
44
- alt: ""
45
- });
46
- }
47
- handleClose();
48
- };
30
+ const [uploadStatus, setUploadStatus] = useState({
31
+ isUploading: false,
32
+ uploadPercentage: 0,
33
+ fileName: null,
34
+ fileSize: null
35
+ });
36
+ const xhrRef = useRef(null);
49
37
  const onToggle = e => {
50
38
  e.preventDefault();
51
39
  setSelection(editor.selection);
52
40
  selection && ReactEditor.focus(editor);
53
- setOpen(true);
41
+ setUploadPopupOpen(true);
54
42
  };
55
43
  const handleClose = () => {
56
- setOpen(false);
44
+ setUploadPopupOpen(false);
57
45
  };
58
- const onSelectImage = img => {
59
- const fd = {
60
- ...formData,
61
- url: img
62
- };
63
- setFormData(fd);
64
- let extProps = {};
65
- if (format === "video") {
66
- extProps = {
67
- aspectRatio: "16 / 9"
68
- };
46
+ const onSelectImage = async img => {
47
+ if (img?.isUpload === false) {
48
+ insertEmbed(editor, {
49
+ url: img.embedURL,
50
+ isUploading: false,
51
+ isUpload: false
52
+ }, format);
53
+ } else {
54
+ insertEmbed(editor, {
55
+ url: "",
56
+ file: img.file,
57
+ isUploading: true,
58
+ isUpload: true,
59
+ fileName: img.file?.name,
60
+ fileSize: img.file?.size,
61
+ mimeType: img.file?.type
62
+ }, format);
69
63
  }
70
- handleFormSubmit({
71
- ...fd,
72
- ...extProps
73
- });
74
64
  };
75
65
  return /*#__PURE__*/_jsxs(_Fragment, {
76
66
  children: [/*#__PURE__*/_jsx(ToolbarIcon, {
@@ -82,13 +72,17 @@ const Embed = ({
82
72
  }),
83
73
  icoBtnType: icoBtnType
84
74
  }), /*#__PURE__*/_jsx(ImageSelector, {
85
- open: open,
75
+ open: openSetttings,
86
76
  onClose: handleClose,
87
77
  customProps: customProps,
88
78
  onSelectImage: onSelectImage,
89
- title: EMBED_LABEL[lbT || format]
79
+ title: EMBED_LABEL[lbT || format],
80
+ setUploadStatus: setUploadStatus,
81
+ uploadStatus: uploadStatus,
82
+ xhrRef: xhrRef,
83
+ setUploadPopupOpen: setUploadPopupOpen,
84
+ fromEmbed: true
90
85
  })]
91
86
  });
92
87
  };
93
- export default Embed;
94
- // export default styled(commonStyle)(Embed);
88
+ export default Embed;