@flozy/editor 10.0.3 → 10.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dist/Editor/ChatEditor.js +14 -7
  2. package/dist/Editor/CommonEditor.js +30 -13
  3. package/dist/Editor/Editor.css +1 -1
  4. package/dist/Editor/Elements/AI/AIInput.js +5 -3
  5. package/dist/Editor/Elements/AI/CustomSelect.js +9 -5
  6. package/dist/Editor/Elements/AI/PopoverAIInput.js +4 -2
  7. package/dist/Editor/Elements/Accordion/Accordion.js +4 -3
  8. package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +4 -1
  9. package/dist/Editor/Elements/Accordion/AccordionButton.js +6 -2
  10. package/dist/Editor/Elements/Accordion/AccordionTitlePopup.js +4 -1
  11. package/dist/Editor/Elements/AppHeader/AppHeaderButton.js +6 -2
  12. package/dist/Editor/Elements/AppHeader/AppHeaderPopup.js +4 -1
  13. package/dist/Editor/Elements/Attachments/AttachmentsButton.js +4 -1
  14. package/dist/Editor/Elements/Button/ButtonPopup.js +4 -1
  15. package/dist/Editor/Elements/Button/ButtonToolIcon.js +6 -2
  16. package/dist/Editor/Elements/Button/EditorButton.js +6 -5
  17. package/dist/Editor/Elements/Carousel/Carousel.js +5 -4
  18. package/dist/Editor/Elements/Carousel/CarouselButton.js +6 -2
  19. package/dist/Editor/Elements/Carousel/CarouselItem.js +3 -2
  20. package/dist/Editor/Elements/ChipText/ChipTextPopup.js +4 -1
  21. package/dist/Editor/Elements/CodeToText/CodeToText.js +5 -4
  22. package/dist/Editor/Elements/CodeToText/HtmlContextMenu.js +6 -2
  23. package/dist/Editor/Elements/Colorbox/ColorboxButton.js +6 -2
  24. package/dist/Editor/Elements/DataView/DataView.js +5 -2
  25. package/dist/Editor/Elements/DataView/DataViewButton.js +6 -2
  26. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +13 -12
  27. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +7 -4
  28. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +7 -5
  29. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +9 -7
  30. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +3 -2
  31. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +5 -3
  32. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +6 -5
  33. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +5 -3
  34. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +7 -6
  35. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +15 -12
  36. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +3 -2
  37. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +3 -2
  38. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +12 -6
  39. package/dist/Editor/Elements/DataView/Layouts/TableView.js +6 -4
  40. package/dist/Editor/Elements/DataView/Layouts/index.js +3 -1
  41. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +5 -2
  42. package/dist/Editor/Elements/Divider/Divider.js +5 -3
  43. package/dist/Editor/Elements/Divider/DividerButton.js +6 -2
  44. package/dist/Editor/Elements/Divider/DividerPopup.js +3 -2
  45. package/dist/Editor/Elements/Embed/Embed.js +4 -1
  46. package/dist/Editor/Elements/Embed/EmbedPopup.js +4 -1
  47. package/dist/Editor/Elements/Embed/Image.js +16 -11
  48. package/dist/Editor/Elements/Embed/Video.js +10 -7
  49. package/dist/Editor/Elements/EmbedScript/Code.js +7 -4
  50. package/dist/Editor/Elements/EmbedScript/EmbedScript.js +6 -2
  51. package/dist/Editor/Elements/EmbedScript/EmbedScriptPopup.js +8 -5
  52. package/dist/Editor/Elements/Emoji/EmojiButton.js +6 -2
  53. package/dist/Editor/Elements/Form/FieldPopup.js +4 -1
  54. package/dist/Editor/Elements/Form/Form.js +12 -9
  55. package/dist/Editor/Elements/Form/FormButton.js +6 -2
  56. package/dist/Editor/Elements/Form/FormPopup.js +3 -2
  57. package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +18 -12
  58. package/dist/Editor/Elements/Form/Workflow/ListWorkflow.js +13 -8
  59. package/dist/Editor/Elements/Form/Workflow/MoreOptions.js +3 -2
  60. package/dist/Editor/Elements/Form/Workflow/UserInputs.js +4 -2
  61. package/dist/Editor/Elements/Form/Workflow/index.js +15 -9
  62. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +168 -97
  63. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +31 -6
  64. package/dist/Editor/Elements/FreeGrid/FreeGridButton.js +6 -2
  65. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +54 -6
  66. package/dist/Editor/Elements/FreeGrid/Options/AddElement.js +3 -2
  67. package/dist/Editor/Elements/FreeGrid/Options/More.js +10 -4
  68. package/dist/Editor/Elements/Grid/Grid.js +13 -10
  69. package/dist/Editor/Elements/Grid/GridButton.js +9 -5
  70. package/dist/Editor/Elements/Grid/GridItem.js +13 -7
  71. package/dist/Editor/Elements/Grid/GridItemPopup.js +4 -1
  72. package/dist/Editor/Elements/Grid/GridPopup.js +4 -1
  73. package/dist/Editor/Elements/Grid/SectionPopup.js +4 -1
  74. package/dist/Editor/Elements/Link/Link.js +8 -5
  75. package/dist/Editor/Elements/Link/LinkButton.js +4 -1
  76. package/dist/Editor/Elements/List/CheckList.js +14 -9
  77. package/dist/Editor/Elements/NewLine/NewLineButton.js +6 -2
  78. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +4 -1
  79. package/dist/Editor/Elements/PageSettings/PageSettingsPopup.js +4 -1
  80. package/dist/Editor/Elements/Search/SearchButton.js +6 -3
  81. package/dist/Editor/Elements/Search/SearchList.js +7 -3
  82. package/dist/Editor/Elements/Signature/SignatureButton.js +6 -2
  83. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +6 -2
  84. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +4 -1
  85. package/dist/Editor/Elements/Signature/SignaturePopup.js +17 -16
  86. package/dist/Editor/Elements/SimpleText/index.js +5 -4
  87. package/dist/Editor/Elements/Table/DragButton.js +4 -2
  88. package/dist/Editor/Elements/Table/Table.js +21 -9
  89. package/dist/Editor/Elements/Table/TablePopup.js +4 -1
  90. package/dist/Editor/Elements/Table/TableSelector.js +10 -6
  91. package/dist/Editor/Elements/Table/TableTool.js +8 -4
  92. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +4 -1
  93. package/dist/Editor/MiniEditor.js +9 -3
  94. package/dist/Editor/Toolbar/Basic/index.js +2 -1
  95. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +6 -2
  96. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +6 -2
  97. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +17 -5
  98. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +10 -5
  99. package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +10 -4
  100. package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +10 -4
  101. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +6 -2
  102. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectAlignment.js +42 -35
  103. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +58 -51
  104. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectSuperSubscript.js +29 -22
  105. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +87 -73
  106. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +14 -7
  107. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +8 -4
  108. package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +11 -5
  109. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +32 -27
  110. package/dist/Editor/Toolbar/PopupTool/index.js +17 -1
  111. package/dist/Editor/Toolbar/Toolbar.js +20 -10
  112. package/dist/Editor/common/CustomDialog/index.js +8 -10
  113. package/dist/Editor/common/ImageSelector/ImageSelector.js +10 -8
  114. package/dist/Editor/common/ImageSelector/Options/AddLink.js +6 -4
  115. package/dist/Editor/common/LinkSettings/NavComponents.js +14 -10
  116. package/dist/Editor/common/LinkSettings/index.js +20 -14
  117. package/dist/Editor/common/LinkSettings/navOptions.js +1 -1
  118. package/dist/Editor/common/MentionsPopup/index.js +6 -2
  119. package/dist/Editor/common/RnD/ContextMenu/CMenus.js +46 -22
  120. package/dist/Editor/common/RnD/ContextMenu/index.js +3 -2
  121. package/dist/Editor/common/RnD/ElementOptions/index.js +7 -2
  122. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/SaveAsTemplate.js +8 -3
  123. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +5 -2
  124. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +3 -2
  125. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +4 -2
  126. package/dist/Editor/common/RnD/OptionsPopup/index.js +4 -3
  127. package/dist/Editor/common/RnD/ShadowElement.js +2 -1
  128. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +4 -3
  129. package/dist/Editor/common/RnD/Utils/gridDropItem.js +74 -9
  130. package/dist/Editor/common/RnD/Utils/index.js +3 -0
  131. package/dist/Editor/common/RnD/VirtualElement/BoxHeaderAutoAlignment.js +43 -0
  132. package/dist/Editor/common/RnD/VirtualElement/ForceAutoAlignment.js +44 -0
  133. package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +134 -0
  134. package/dist/Editor/common/RnD/VirtualElement/helper.js +382 -0
  135. package/dist/Editor/common/RnD/VirtualElement/index.js +187 -103
  136. package/dist/Editor/common/RnD/VirtualElement/styles.js +157 -7
  137. package/dist/Editor/common/RnD/VirtualElement/updateAutoProps.js +5 -3
  138. package/dist/Editor/common/RnD/index.js +76 -8
  139. package/dist/Editor/common/Section/index.js +7 -4
  140. package/dist/Editor/common/Shorthands/elements.js +18 -3
  141. package/dist/Editor/common/StyleBuilder/appHeaderStyle.js +4 -4
  142. package/dist/Editor/common/StyleBuilder/boxStyle.js +2 -2
  143. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -2
  144. package/dist/Editor/common/StyleBuilder/dividerStyles.js +2 -2
  145. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +6 -6
  146. package/dist/Editor/common/StyleBuilder/fieldStyle.js +2 -2
  147. package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +13 -9
  148. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +6 -3
  149. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +7 -3
  150. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -3
  151. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +6 -3
  152. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +11 -5
  153. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +9 -5
  154. package/dist/Editor/common/StyleBuilder/fieldTypes/elementSize.js +10 -6
  155. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +6 -2
  156. package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +6 -2
  157. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +5 -2
  158. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +9 -6
  159. package/dist/Editor/common/StyleBuilder/fieldTypes/metaDataMapping.js +8 -2
  160. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +12 -11
  161. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +6 -2
  162. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +8 -4
  163. package/dist/Editor/common/StyleBuilder/fieldTypes/textAlign.js +6 -2
  164. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +6 -5
  165. package/dist/Editor/common/StyleBuilder/formStyle.js +7 -7
  166. package/dist/Editor/common/StyleBuilder/gridItemStyle.js +6 -6
  167. package/dist/Editor/common/StyleBuilder/gridStyle.js +5 -5
  168. package/dist/Editor/common/StyleBuilder/index.js +8 -5
  169. package/dist/Editor/common/Uploader.js +8 -5
  170. package/dist/Editor/helper/index.js +27 -3
  171. package/dist/Editor/hooks/useAutoScroll.js +38 -0
  172. package/dist/Editor/plugins/withHTML.js +7 -6
  173. package/dist/Editor/plugins/withLayout.js +3 -2
  174. package/dist/Editor/plugins/withLinks.js +9 -0
  175. package/dist/Editor/utils/SlateUtilityFunctions.js +20 -11
  176. package/dist/Editor/utils/brains.js +1 -2
  177. package/dist/Editor/utils/freegrid.js +3 -4
  178. package/dist/Editor/utils/helper.js +2 -2
  179. package/package.json +1 -1
@@ -6,7 +6,8 @@ const PreviewAndSelect = props => {
6
6
  const {
7
7
  classes,
8
8
  data,
9
- onSelectTemplate
9
+ onSelectTemplate,
10
+ translation
10
11
  } = props;
11
12
  return /*#__PURE__*/_jsxs(Box, {
12
13
  className: "template-card-action",
@@ -15,12 +16,12 @@ const PreviewAndSelect = props => {
15
16
  children: [/*#__PURE__*/_jsx(Button, {
16
17
  className: "blueBtn",
17
18
  onClick: onSelectTemplate(data),
18
- children: "Select"
19
+ children: translation("Select")
19
20
  }), /*#__PURE__*/_jsx(Button, {
20
21
  href: data?.previewLink,
21
22
  target: "_blank",
22
23
  className: "outlineBtn",
23
- children: "Preview"
24
+ children: translation("Preview")
24
25
  })]
25
26
  });
26
27
  };
@@ -29,8 +30,12 @@ const TemplateCard = props => {
29
30
  classes,
30
31
  m,
31
32
  onSelectTemplate,
32
- fullScreen
33
+ fullScreen,
34
+ customProps
33
35
  } = props;
36
+ const {
37
+ translation
38
+ } = customProps;
34
39
  return /*#__PURE__*/_jsx(Grid, {
35
40
  item: true,
36
41
  xs: 4,
@@ -53,7 +58,8 @@ const TemplateCard = props => {
53
58
  }), /*#__PURE__*/_jsx(PreviewAndSelect, {
54
59
  classes: classes,
55
60
  onSelectTemplate: onSelectTemplate,
56
- data: m
61
+ data: m,
62
+ translation: translation
57
63
  })]
58
64
  }), /*#__PURE__*/_jsx(CardContent, {
59
65
  sx: classes.templateCardTitle,
@@ -15,7 +15,7 @@ import { ColorResetIcon, TextDefaultStyleIcon } from "../../common/iconListV2";
15
15
  import FontFamilyAutocomplete from "../FormatTools/FontFamilyAutocomplete";
16
16
  import { useEditorContext } from "../../hooks/useMouseMove";
17
17
  // import LineSpacing from "../../common/StyleBuilder/fieldTypes/lineSpacing";
18
- import { getPageSettings } from "../../utils/pageSettings";
18
+ // import { getPageSettings } from "../../utils/pageSettings";
19
19
  import { jsx as _jsx } from "react/jsx-runtime";
20
20
  import { jsxs as _jsxs } from "react/jsx-runtime";
21
21
  const allTools = toolbarGroups.flat();
@@ -34,16 +34,16 @@ const TextFormat = props => {
34
34
  const [type, setType] = useState(null);
35
35
  const open = Boolean(anchorEl);
36
36
  const {
37
- element: pageSt
38
- } = getPageSettings(editor) || {};
37
+ translation
38
+ } = customProps;
39
+
40
+ // const { element: pageSt } = getPageSettings(editor) || {};
39
41
  // const pageSettingLine = pageSt?.pageProps?.lineHeight;
40
42
  const {
41
43
  fontFamilies,
42
44
  theme
43
45
  } = useEditorContext();
44
- const {
45
- activeBreakPoint
46
- } = useEditorContext();
46
+ // const { activeBreakPoint } = useEditorContext();
47
47
  // const breakpoint = activeBreakPoint === "" ? "lg" : activeBreakPoint;
48
48
  const fontWeight = allTools.find(f => f.format === "fontWeight");
49
49
  const fontStyle = allTools.filter(f => f.type === "mark" && f.format !== "strikethrough" && f.format !== "superscript" && f.format !== "subscript");
@@ -129,7 +129,7 @@ const TextFormat = props => {
129
129
  variant: "body1",
130
130
  color: "primary",
131
131
  sx: classes.typoLabel,
132
- children: "Font Family"
132
+ children: translation("fontFamily")
133
133
  })
134
134
  }), /*#__PURE__*/_jsx(Grid, {
135
135
  item: true,
@@ -141,7 +141,7 @@ const TextFormat = props => {
141
141
  val: Object.values(fontFamilyMap)[0]
142
142
  }),
143
143
  className: "npr-0",
144
- children: "Default Text"
144
+ children: translation("defaultText")
145
145
  })
146
146
  })]
147
147
  }), /*#__PURE__*/_jsx(Grid, {
@@ -166,7 +166,7 @@ const TextFormat = props => {
166
166
  variant: "body1",
167
167
  color: "primary",
168
168
  sx: classes.typoLabel3,
169
- children: "Font Weight"
169
+ children: translation("fontWeight")
170
170
  }), /*#__PURE__*/_jsx(Grid, {
171
171
  item: true,
172
172
  xs: 12,
@@ -187,7 +187,7 @@ const TextFormat = props => {
187
187
  variant: "body1",
188
188
  color: "primary",
189
189
  sx: classes.typoLabel3,
190
- children: "Font Size"
190
+ children: translation("fontSize")
191
191
  }), /*#__PURE__*/_jsx(Grid, {
192
192
  item: true,
193
193
  xs: 12,
@@ -220,7 +220,7 @@ const TextFormat = props => {
220
220
  variant: "body1",
221
221
  color: "primary",
222
222
  sx: classes.typoLabel,
223
- children: "Text Color"
223
+ children: translation("textColor")
224
224
  })
225
225
  }), /*#__PURE__*/_jsx(Grid, {
226
226
  item: true,
@@ -230,7 +230,7 @@ const TextFormat = props => {
230
230
  onClick: handleDefault({
231
231
  format: "color"
232
232
  }),
233
- children: "Default Color"
233
+ children: translation("defaultColor")
234
234
  })
235
235
  })]
236
236
  }), /*#__PURE__*/_jsx(Grid, {
@@ -241,7 +241,7 @@ const TextFormat = props => {
241
241
  editor: editor,
242
242
  showHex: false,
243
243
  rounded: true,
244
- title: "Text Color",
244
+ title: translation("textColor"),
245
245
  id: "11_cc",
246
246
  classes: classes
247
247
  }, "11_cc")
@@ -260,7 +260,7 @@ const TextFormat = props => {
260
260
  variant: "body1",
261
261
  color: "primary",
262
262
  sx: classes.typoLabel,
263
- children: "Background Color"
263
+ children: translation("backgroundColor")
264
264
  })
265
265
  }), /*#__PURE__*/_jsx(Grid, {
266
266
  item: true,
@@ -274,7 +274,7 @@ const TextFormat = props => {
274
274
  onClick: handleDefault({
275
275
  format: "bgColor"
276
276
  }),
277
- children: "Default Color"
277
+ children: translation("defaultColor")
278
278
  })
279
279
  })
280
280
  })]
@@ -288,7 +288,7 @@ const TextFormat = props => {
288
288
  editor: editor,
289
289
  showHex: false,
290
290
  rounded: true,
291
- title: "Text Background Color",
291
+ title: translation("textBgColor"),
292
292
  classes: classes,
293
293
  id: "12_cc"
294
294
  }, "12_cc")
@@ -306,7 +306,7 @@ const TextFormat = props => {
306
306
  variant: "body1",
307
307
  color: "primary",
308
308
  sx: classes.typoLabel2,
309
- children: "Alignment"
309
+ children: translation("Alignment")
310
310
  }), /*#__PURE__*/_jsx(Grid, {
311
311
  item: true,
312
312
  xs: 12,
@@ -314,7 +314,8 @@ const TextFormat = props => {
314
314
  children: fontAlign?.map((m, i) => {
315
315
  return /*#__PURE__*/_jsx(BlockButton, {
316
316
  editor: editor,
317
- ...m
317
+ ...m,
318
+ customProps: customProps
318
319
  }, `pptool_block_${i}_${m.id}`);
319
320
  })
320
321
  })]
@@ -326,7 +327,7 @@ const TextFormat = props => {
326
327
  variant: "body1",
327
328
  color: "primary",
328
329
  sx: classes.typoLabel2,
329
- children: "Lists"
330
+ children: translation("Lists")
330
331
  }), /*#__PURE__*/_jsx(Grid, {
331
332
  item: true,
332
333
  xs: 12,
@@ -335,7 +336,8 @@ const TextFormat = props => {
335
336
  const Comp = ButtonComp[m?.component] || BlockButton;
336
337
  return /*#__PURE__*/_jsx(Comp, {
337
338
  editor: editor,
338
- ...m
339
+ ...m,
340
+ customProps: customProps
339
341
  }, `pptool_block_${i}_${m.id}`);
340
342
  })
341
343
  })]
@@ -351,7 +353,7 @@ const TextFormat = props => {
351
353
  variant: "body1",
352
354
  color: "primary",
353
355
  sx: classes.typoLabel,
354
- children: "Typography"
356
+ children: translation("Typography")
355
357
  }), /*#__PURE__*/_jsxs(Grid, {
356
358
  item: true,
357
359
  xs: 12,
@@ -360,11 +362,13 @@ const TextFormat = props => {
360
362
  children: [/*#__PURE__*/_jsx(SelectTypography, {
361
363
  classes: classes,
362
364
  editor: editor,
363
- closeMainPopup: closeMainPopup || onClose
365
+ closeMainPopup: closeMainPopup || onClose,
366
+ customProps: customProps
364
367
  }), fontStyle?.map((m, i) => {
365
368
  return /*#__PURE__*/_jsx(MarkButton, {
366
369
  editor: editor,
367
- ...m
370
+ ...m,
371
+ customProps: customProps
368
372
  }, `pptool_mark_${i}_${m.id}`);
369
373
  }), /*#__PURE__*/_jsx(LinkButton, {
370
374
  active: isBlockActive(editor, link.format),
@@ -373,7 +377,8 @@ const TextFormat = props => {
373
377
  }, link.id), /*#__PURE__*/_jsx(SelectSuperSubscript, {
374
378
  classes: classes,
375
379
  editor: editor,
376
- closeMainPopup: closeMainPopup || onClose
380
+ closeMainPopup: closeMainPopup || onClose,
381
+ customProps: customProps
377
382
  })]
378
383
  })]
379
384
  }), /*#__PURE__*/_jsx(Grid, {
@@ -392,7 +397,7 @@ const TextFormat = props => {
392
397
  variant: "body1",
393
398
  color: "primary",
394
399
  sx: classes.typoLabel3,
395
- children: "Decorations"
400
+ children: translation("Decorations")
396
401
  })
397
402
  }), /*#__PURE__*/_jsxs(Grid, {
398
403
  item: true,
@@ -412,7 +417,7 @@ const TextFormat = props => {
412
417
  style: {
413
418
  background: bqBgColor
414
419
  },
415
- children: "Colorbox"
420
+ children: translation("Colorbox")
416
421
  }), /*#__PURE__*/_jsx("div", {
417
422
  className: "vl"
418
423
  }), /*#__PURE__*/_jsx(Button, {
@@ -433,7 +438,7 @@ const TextFormat = props => {
433
438
  ...getBorderColor(bqColor || "transparent", 3),
434
439
  borderWidth: bqColor ? "0px 0px 0px 3px" : "0px"
435
440
  },
436
- children: "Quote"
441
+ children: translation("Quote")
437
442
  })
438
443
  }), /*#__PURE__*/_jsx("div", {
439
444
  className: "vl"
@@ -11,6 +11,9 @@ import useEditorScroll from "../../hooks/useEditorScroll";
11
11
  import { isCarouselSelected } from "../../helper";
12
12
  import { hideSlateSelection } from "../../utils/helper";
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
+ const isSlateDOM = event => {
15
+ return event.target.getAttribute("data-slate-string") === "true";
16
+ };
14
17
  const PopupTool = props => {
15
18
  const {
16
19
  theme,
@@ -33,6 +36,7 @@ const PopupTool = props => {
33
36
  const [event] = useDrag(anchorEl);
34
37
  const id = open ? "popup-edit-tool" : "";
35
38
  const [size] = useWindowResize();
39
+ const isMobile = window.matchMedia("(max-width: 899px)")?.matches || false;
36
40
  const updateAnchorEl = isScroll => {
37
41
  try {
38
42
  const isHavingSelection = selection && !Range.isCollapsed(selection);
@@ -104,8 +108,20 @@ const PopupTool = props => {
104
108
  return open && !openAI ? /*#__PURE__*/_jsx(ClickAwayListener, {
105
109
  onClickAway: e => {
106
110
  // close the mini toolbar, if user clicks outside the editor (in Flozy app.)
107
- if (e.target !== document.body) {
111
+
112
+ if (isSlateDOM(e)) {
113
+ return;
114
+ }
115
+ const wrapper = document.getElementById("slate-wrapper-scroll-container");
116
+ const isInsideWrapper = wrapper && wrapper.contains(e.target);
117
+ if (isInsideWrapper) {
118
+ return;
119
+ }
120
+ if (e.target === document.body) {
108
121
  // e.target returns body, if the user clicks material ui select popup inside the tool bar, on that time, we don't need to close
122
+ return;
123
+ }
124
+ if (!isMobile) {
109
125
  handleClose();
110
126
  }
111
127
  },
@@ -50,7 +50,8 @@ export const RenderToolbarIcon = props => {
50
50
  case "block":
51
51
  return /*#__PURE__*/_jsx(BlockButton, {
52
52
  ...element,
53
- editor: editor
53
+ editor: editor,
54
+ customProps: customProps
54
55
  }, element.id);
55
56
  case "mark":
56
57
  return /*#__PURE__*/_jsx(MarkButton, {
@@ -105,7 +106,8 @@ export const RenderToolbarIcon = props => {
105
106
  editor: editor,
106
107
  customProps: customProps,
107
108
  icoBtnType: icoBtnType,
108
- lbT: element.lbT
109
+ lbT: element.lbT,
110
+ onClose: () => {}
109
111
  }, element.id);
110
112
  case "color-picker":
111
113
  return /*#__PURE__*/_jsx(ColorPicker, {
@@ -117,12 +119,14 @@ export const RenderToolbarIcon = props => {
117
119
  case "table":
118
120
  return /*#__PURE__*/_jsx(TableSelector, {
119
121
  editor: editor,
120
- icoBtnType: icoBtnType
122
+ icoBtnType: icoBtnType,
123
+ customProps: customProps
121
124
  }, element.id);
122
125
  case "dataView":
123
126
  return /*#__PURE__*/_jsx(DataViewButton, {
124
127
  editor: editor,
125
- icoBtnType: icoBtnType
128
+ icoBtnType: icoBtnType,
129
+ customProps: customProps
126
130
  }, element.id);
127
131
  case "id":
128
132
  return /*#__PURE__*/_jsx(Id, {
@@ -151,21 +155,25 @@ export const RenderToolbarIcon = props => {
151
155
  case "newLine":
152
156
  return /*#__PURE__*/_jsx(NewLineButton, {
153
157
  editor: editor,
154
- icoBtnType: icoBtnType
158
+ icoBtnType: icoBtnType,
159
+ customProps: customProps
155
160
  }, element.id);
156
161
  case "accordion":
157
162
  return /*#__PURE__*/_jsx(AccordionButton, {
158
- editor: editor
163
+ editor: editor,
164
+ customProps: customProps
159
165
  }, element.id);
160
166
  case "signature":
161
167
  return /*#__PURE__*/_jsx(SignatureButton, {
162
168
  editor: editor,
163
- icoBtnType: icoBtnType
169
+ icoBtnType: icoBtnType,
170
+ customProps: customProps
164
171
  }, element.id);
165
172
  case "button":
166
173
  return /*#__PURE__*/_jsx(ButtonToolIcon, {
167
174
  editor: editor,
168
- icoBtnType: icoBtnType
175
+ icoBtnType: icoBtnType,
176
+ customProps: customProps
169
177
  }, element.id);
170
178
  case "page-settings":
171
179
  return /*#__PURE__*/_jsx(PageSettingsButton, {
@@ -176,7 +184,8 @@ export const RenderToolbarIcon = props => {
176
184
  case "carousel":
177
185
  return /*#__PURE__*/_jsx(CarouselButton, {
178
186
  editor: editor,
179
- icoBtnType: icoBtnType
187
+ icoBtnType: icoBtnType,
188
+ customProps: customProps
180
189
  }, element.id);
181
190
  case "chip-text":
182
191
  return /*#__PURE__*/_jsx(ChipTextButton, {
@@ -284,7 +293,8 @@ const Toolbar = props => {
284
293
  })
285
294
  }, index)), /*#__PURE__*/_jsx(HtmlContextMenu, {
286
295
  editor: editor,
287
- handleCodeToText: handleCodeToText
296
+ handleCodeToText: handleCodeToText,
297
+ customProps: customProps
288
298
  })]
289
299
  });
290
300
  };
@@ -11,7 +11,8 @@ const CustomDialog = (props, ref) => {
11
11
  content,
12
12
  confirmText,
13
13
  cancelText,
14
- onConfirm
14
+ onConfirm,
15
+ translation
15
16
  } = props;
16
17
  const [open, setOpen] = useState(false);
17
18
  const isMobile = useMediaQuery("(max-width:899px)");
@@ -19,6 +20,9 @@ const CustomDialog = (props, ref) => {
19
20
  theme
20
21
  } = useEditorContext();
21
22
  const classes = CustomDialogStyles(theme);
23
+ const translatedContent = content || translation("custonDialogueDefaultText");
24
+ const translatedConfirmText = confirmText || translation("confirmText");
25
+ const translatedCancelText = cancelText || translation("cancelText");
22
26
  useImperativeHandle(ref, () => ({
23
27
  handleOpen: () => setOpen(true),
24
28
  handleClose: () => setOpen(false)
@@ -26,20 +30,20 @@ const CustomDialog = (props, ref) => {
26
30
  const DialogueContent = () => /*#__PURE__*/_jsxs(_Fragment, {
27
31
  children: [/*#__PURE__*/_jsx(DialogContent, {
28
32
  children: /*#__PURE__*/_jsx(Typography, {
29
- children: content
33
+ children: translatedContent
30
34
  })
31
35
  }), /*#__PURE__*/_jsxs(DialogActions, {
32
36
  children: [/*#__PURE__*/_jsx(Button, {
33
37
  className: "closeBtn",
34
38
  onClick: () => setOpen(false),
35
- children: cancelText
39
+ children: translatedCancelText
36
40
  }), /*#__PURE__*/_jsx(Button, {
37
41
  className: "confirmBtn",
38
42
  onClick: () => {
39
43
  onConfirm();
40
44
  setOpen(false);
41
45
  },
42
- children: confirmText
46
+ children: translatedConfirmText
43
47
  })]
44
48
  })]
45
49
  });
@@ -75,12 +79,6 @@ const CustomDialog = (props, ref) => {
75
79
  });
76
80
  };
77
81
  const CustomDialogComponent = /*#__PURE__*/forwardRef(CustomDialog);
78
- CustomDialogComponent.defaultProps = {
79
- content: "Are you sure you want to proceed?",
80
- confirmText: "Confirm",
81
- cancelText: "Cancel",
82
- onConfirm: () => console.warn("onConfirm not provided")
83
- };
84
82
  CustomDialogComponent.propTypes = {
85
83
  content: PropTypes.string,
86
84
  confirmText: PropTypes.string,
@@ -31,8 +31,10 @@ const ImageSelector = props => {
31
31
  onClose,
32
32
  open,
33
33
  onSelectImage,
34
- title
34
+ title,
35
+ customProps
35
36
  } = props;
37
+ const translation = customProps?.translation;
36
38
  const [tabValue, setTabValue] = useState(title === "Image" ? "choose" : "addLink");
37
39
  const [image, setImage] = useState(value || "");
38
40
  const handleTabChange = (e, newValue) => {
@@ -59,9 +61,9 @@ const ImageSelector = props => {
59
61
  justifyContent: "space-between",
60
62
  alignItems: "center"
61
63
  },
62
- children: [/*#__PURE__*/_jsxs(Typography, {
64
+ children: [/*#__PURE__*/_jsx(Typography, {
63
65
  sx: classes.titleTypo,
64
- children: ["Add ", title]
66
+ children: `${translation("addText")} ${translation(title)}`
65
67
  }), /*#__PURE__*/_jsx(IconButton, {
66
68
  sx: {
67
69
  padding: "0px"
@@ -98,14 +100,14 @@ const ImageSelector = props => {
98
100
  }),
99
101
  iconPosition: "start",
100
102
  value: "upload",
101
- label: `Upload ${title}`
103
+ label: `${translation("Upload")} ${translation(title)}`
102
104
  }), /*#__PURE__*/_jsx(Tab, {
103
105
  className: `${isActive("choose")} ${TAB_SHOW[title].indexOf("choose") === -1 ? "hidden" : ""}`,
104
106
  sx: classes.tab,
105
107
  icon: /*#__PURE__*/_jsx(ImageElementIcon, {}),
106
108
  iconPosition: "start",
107
109
  value: "choose",
108
- label: `Choose ${title}`
110
+ label: `${translation("Choose")} ${translation(title)}`
109
111
  }), /*#__PURE__*/_jsx(Tab, {
110
112
  className: `${isActive("addLink")} ${TAB_SHOW[title].indexOf("addLink") === -1 ? "hidden" : ""}`,
111
113
  sx: classes.tab,
@@ -117,7 +119,7 @@ const ImageSelector = props => {
117
119
  }),
118
120
  iconPosition: "start",
119
121
  value: "addLink",
120
- label: `Add ${title} Link`
122
+ label: `${translation("addText")} ${translation(title)} ${translation("Link")}`
121
123
  })]
122
124
  })
123
125
  }), /*#__PURE__*/_jsx(Grid, {
@@ -144,13 +146,13 @@ const ImageSelector = props => {
144
146
  onClick: onClose,
145
147
  className: "secondaryBtn",
146
148
  sx: classes.closeBtn,
147
- children: "Cancel"
149
+ children: translation("Cancel")
148
150
  }), /*#__PURE__*/_jsx(Button, {
149
151
  disabled: !image,
150
152
  onClick: onSave,
151
153
  className: `primaryBtn ${!image ? "disabled" : ""}`,
152
154
  sx: classes.saveBtn,
153
- children: "Save"
155
+ children: translation("Save")
154
156
  })]
155
157
  })]
156
158
  }) : null;
@@ -6,8 +6,10 @@ const AddLink = props => {
6
6
  const {
7
7
  classes,
8
8
  onUploaded,
9
- title
9
+ title,
10
+ customProps
10
11
  } = props;
12
+ const translation = customProps?.translation;
11
13
  const [url, setUrl] = useState("");
12
14
  const handleChange = e => {
13
15
  setUrl(e.target.value);
@@ -23,16 +25,16 @@ const AddLink = props => {
23
25
  paddingTop: "8px"
24
26
  },
25
27
  children: /*#__PURE__*/_jsx(TextField, {
26
- placeholder: `Add ${title} URL`,
28
+ placeholder: `${translation("Add")} ${translation(title)} ${translation("URL")}`,
27
29
  fullWidth: true,
28
30
  size: "small",
29
31
  value: url,
30
32
  onChange: handleChange,
31
- helperText: "Click Check Icon and Save...",
33
+ helperText: translation("addLinkHelperText"),
32
34
  sx: classes.addLinkField,
33
35
  InputProps: {
34
36
  endAdornment: /*#__PURE__*/_jsx(Tooltip, {
35
- title: `Add ${title} URL`,
37
+ title: `${translation("Add")} ${translation(title)} ${translation("URL")}`,
36
38
  arrow: true,
37
39
  children: /*#__PURE__*/_jsx(IconButton, {
38
40
  sx: classes.addLinkBtn,
@@ -24,7 +24,8 @@ const OpenInNewTab = props => {
24
24
  const {
25
25
  nav,
26
26
  openInNewTab,
27
- onNewTabChange
27
+ onNewTabChange,
28
+ translation
28
29
  } = props;
29
30
  return nav?.showOpenInNewTab ? /*#__PURE__*/_jsx(FormControlLabel, {
30
31
  className: "ccheckbox-primary",
@@ -34,7 +35,7 @@ const OpenInNewTab = props => {
34
35
  }),
35
36
  label: /*#__PURE__*/_jsx(Typography, {
36
37
  variant: "body2",
37
- children: "Open in new tab"
38
+ children: translation("Open in new tab")
38
39
  })
39
40
  }) : null;
40
41
  };
@@ -56,7 +57,8 @@ export const SelectPage = props => {
56
57
  const {
57
58
  value,
58
59
  onChange,
59
- services
60
+ services,
61
+ translation
60
62
  } = props;
61
63
  const [pages, setPages] = useState([]);
62
64
  const editor = useSlate();
@@ -112,7 +114,7 @@ export const SelectPage = props => {
112
114
  children: [/*#__PURE__*/_jsx(FreeSoloCreateOption, {
113
115
  label: page?.label,
114
116
  setValue: val => onChange(val?.value || ""),
115
- placeholder: "Select Page",
117
+ placeholder: translation("Select Page"),
116
118
  options: pages,
117
119
  disabled: isCurrentPage
118
120
  }), /*#__PURE__*/_jsx(FreeSoloCreateOption, {
@@ -124,7 +126,7 @@ export const SelectPage = props => {
124
126
  }
125
127
  onChange(url);
126
128
  },
127
- placeholder: "Select Section or anchor",
129
+ placeholder: translation("Select Section or anchor"),
128
130
  options: page?.sections?.map(p => ({
129
131
  label: p,
130
132
  value: p
@@ -136,12 +138,13 @@ export const SelectPage = props => {
136
138
  };
137
139
  export const Trigger = props => {
138
140
  const {
139
- nav
141
+ nav,
142
+ translation
140
143
  } = props;
141
- return /*#__PURE__*/_jsxs(Typography, {
144
+ return /*#__PURE__*/_jsx(Typography, {
142
145
  variant: "subtitle1",
143
146
  gutterBottom: true,
144
- children: ["Choosing this will trigger the ", nav.type, " step"]
147
+ children: `${translation("Choosing this will trigger the")} ${translation(nav.type)} ${translation("step")}`
145
148
  });
146
149
  };
147
150
  const scrollToOptions = [{
@@ -155,6 +158,7 @@ export const ScrollTopBottom = props => {
155
158
  const {
156
159
  value,
157
160
  onChange,
161
+ translation,
158
162
  classes
159
163
  } = props;
160
164
  return /*#__PURE__*/_jsxs(_Fragment, {
@@ -163,7 +167,7 @@ export const ScrollTopBottom = props => {
163
167
  sx: {
164
168
  paddingBottom: "4px"
165
169
  },
166
- children: "Choose Top/Bottom of page"
170
+ children: translation("Choose Top/Bottom of page")
167
171
  }), /*#__PURE__*/_jsx(Select, {
168
172
  size: "small",
169
173
  fullWidth: true,
@@ -177,7 +181,7 @@ export const ScrollTopBottom = props => {
177
181
  value: option.value,
178
182
  children: /*#__PURE__*/_jsx(Typography, {
179
183
  variant: "body2",
180
- children: option.label
184
+ children: translation(option.label)
181
185
  })
182
186
  }, i);
183
187
  })