@flozy/editor 9.2.8 → 9.2.9

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 (255) hide show
  1. package/dist/Editor/ChatEditor.js +33 -9
  2. package/dist/Editor/CommonEditor.js +164 -28
  3. package/dist/Editor/DialogWrapper.js +31 -25
  4. package/dist/Editor/Editor.css +19 -1
  5. package/dist/Editor/Elements/AI/AIInput.js +5 -3
  6. package/dist/Editor/Elements/AI/CustomSelect.js +9 -5
  7. package/dist/Editor/Elements/AI/PopoverAIInput.js +4 -2
  8. package/dist/Editor/Elements/Accordion/Accordion.js +4 -3
  9. package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +4 -1
  10. package/dist/Editor/Elements/Accordion/AccordionButton.js +6 -2
  11. package/dist/Editor/Elements/Accordion/AccordionTitlePopup.js +4 -1
  12. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  13. package/dist/Editor/Elements/AppHeader/AppHeaderButton.js +6 -2
  14. package/dist/Editor/Elements/AppHeader/AppHeaderPopup.js +4 -1
  15. package/dist/Editor/Elements/Attachments/AttachmentsButton.js +4 -1
  16. package/dist/Editor/Elements/Button/ButtonPopup.js +4 -1
  17. package/dist/Editor/Elements/Button/ButtonToolIcon.js +6 -2
  18. package/dist/Editor/Elements/Button/EditorButton.js +31 -14
  19. package/dist/Editor/Elements/Carousel/Carousel.js +5 -4
  20. package/dist/Editor/Elements/Carousel/CarouselButton.js +6 -2
  21. package/dist/Editor/Elements/Carousel/CarouselItem.js +3 -2
  22. package/dist/Editor/Elements/ChipText/ChipTextPopup.js +4 -1
  23. package/dist/Editor/Elements/CodeToText/CodeToText.js +5 -4
  24. package/dist/Editor/Elements/CodeToText/HtmlContextMenu.js +6 -2
  25. package/dist/Editor/Elements/Color Picker/ColorButtons.js +57 -12
  26. package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
  27. package/dist/Editor/Elements/Color Picker/ColorPicker.js +5 -5
  28. package/dist/Editor/Elements/Color Picker/Styles.js +1 -1
  29. package/dist/Editor/Elements/Colorbox/ColorboxButton.js +6 -2
  30. package/dist/Editor/Elements/DataView/DataView.js +5 -2
  31. package/dist/Editor/Elements/DataView/DataViewButton.js +6 -2
  32. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +4 -1
  33. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +3 -4
  34. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +6 -1
  35. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +19 -9
  36. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +13 -12
  37. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +7 -4
  38. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +7 -5
  39. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +9 -7
  40. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +3 -2
  41. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +5 -3
  42. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +6 -5
  43. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +5 -3
  44. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +7 -6
  45. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +15 -12
  46. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +3 -2
  47. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +3 -2
  48. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +12 -6
  49. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +32 -2
  50. package/dist/Editor/Elements/DataView/Layouts/TableView.js +132 -33
  51. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +3 -3
  52. package/dist/Editor/Elements/DataView/Layouts/index.js +3 -1
  53. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +6 -3
  54. package/dist/Editor/Elements/DataView/styles.js +8 -8
  55. package/dist/Editor/Elements/Divider/Divider.js +5 -3
  56. package/dist/Editor/Elements/Divider/DividerButton.js +6 -2
  57. package/dist/Editor/Elements/Divider/DividerPopup.js +3 -2
  58. package/dist/Editor/Elements/Embed/Embed.js +4 -1
  59. package/dist/Editor/Elements/Embed/EmbedPopup.js +4 -1
  60. package/dist/Editor/Elements/Embed/Image.js +16 -11
  61. package/dist/Editor/Elements/Embed/Video.js +10 -7
  62. package/dist/Editor/Elements/EmbedScript/Code.js +7 -4
  63. package/dist/Editor/Elements/EmbedScript/EmbedScript.js +6 -2
  64. package/dist/Editor/Elements/EmbedScript/EmbedScriptPopup.js +8 -5
  65. package/dist/Editor/Elements/Emoji/EmojiButton.js +6 -2
  66. package/dist/Editor/Elements/Form/FieldPopup.js +4 -1
  67. package/dist/Editor/Elements/Form/Form.js +12 -9
  68. package/dist/Editor/Elements/Form/FormButton.js +6 -2
  69. package/dist/Editor/Elements/Form/FormPopup.js +3 -2
  70. package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +18 -12
  71. package/dist/Editor/Elements/Form/Workflow/ListWorkflow.js +13 -8
  72. package/dist/Editor/Elements/Form/Workflow/MoreOptions.js +3 -2
  73. package/dist/Editor/Elements/Form/Workflow/UserInputs.js +4 -2
  74. package/dist/Editor/Elements/Form/Workflow/index.js +15 -9
  75. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +21 -18
  76. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +6 -2
  77. package/dist/Editor/Elements/FreeGrid/FreeGridButton.js +6 -2
  78. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +8 -3
  79. package/dist/Editor/Elements/FreeGrid/Options/AddElement.js +3 -2
  80. package/dist/Editor/Elements/FreeGrid/Options/More.js +4 -3
  81. package/dist/Editor/Elements/FreeGrid/styles.js +3 -0
  82. package/dist/Editor/Elements/Grid/Grid.js +13 -10
  83. package/dist/Editor/Elements/Grid/GridButton.js +9 -5
  84. package/dist/Editor/Elements/Grid/GridItem.js +15 -10
  85. package/dist/Editor/Elements/Grid/GridItemPopup.js +4 -1
  86. package/dist/Editor/Elements/Grid/GridPopup.js +4 -1
  87. package/dist/Editor/Elements/Grid/SectionPopup.js +4 -1
  88. package/dist/Editor/Elements/Link/Link.js +79 -45
  89. package/dist/Editor/Elements/Link/LinkButton.js +4 -1
  90. package/dist/Editor/Elements/List/CheckList.js +14 -9
  91. package/dist/Editor/Elements/NewLine/NewLineButton.js +6 -2
  92. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +16 -5
  93. package/dist/Editor/Elements/PageSettings/PageSettingsPopup.js +4 -1
  94. package/dist/Editor/Elements/Search/SearchButton.js +6 -3
  95. package/dist/Editor/Elements/Search/SearchList.js +7 -3
  96. package/dist/Editor/Elements/Signature/SignatureButton.js +6 -2
  97. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +6 -2
  98. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +4 -1
  99. package/dist/Editor/Elements/Signature/SignaturePopup.js +17 -16
  100. package/dist/Editor/Elements/SimpleText/index.js +5 -5
  101. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  102. package/dist/Editor/Elements/Table/DragButton.js +4 -2
  103. package/dist/Editor/Elements/Table/Table.js +56 -32
  104. package/dist/Editor/Elements/Table/TableCell.js +6 -27
  105. package/dist/Editor/Elements/Table/TablePopup.js +4 -1
  106. package/dist/Editor/Elements/Table/TableSelector.js +10 -6
  107. package/dist/Editor/Elements/Table/TableTool.js +8 -4
  108. package/dist/Editor/Elements/Title/title.js +10 -0
  109. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +4 -1
  110. package/dist/Editor/Elements/Variables/Style.js +28 -2
  111. package/dist/Editor/Elements/Variables/VariableButton.js +17 -4
  112. package/dist/Editor/MiniEditor.js +9 -3
  113. package/dist/Editor/Styles/EditorStyles.js +5 -5
  114. package/dist/Editor/Toolbar/Basic/index.js +2 -1
  115. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +6 -2
  116. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
  117. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
  118. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +8 -4
  119. package/dist/Editor/Toolbar/FormatTools/TextSize.js +7 -15
  120. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +20 -15
  121. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +19 -13
  122. package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +10 -4
  123. package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +10 -4
  124. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +6 -2
  125. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectAlignment.js +42 -35
  126. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
  127. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +58 -51
  128. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectSuperSubscript.js +29 -22
  129. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +226 -87
  130. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +15 -7
  131. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +8 -4
  132. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +16 -12
  133. package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +11 -5
  134. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +84 -32
  135. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +438 -0
  136. package/dist/Editor/Toolbar/PopupTool/index.js +3 -8
  137. package/dist/Editor/Toolbar/Toolbar.js +20 -10
  138. package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
  139. package/dist/Editor/assets/svg/CalenderIconTick.js +1 -0
  140. package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
  141. package/dist/Editor/common/ColorPickerButton.js +35 -9
  142. package/dist/Editor/common/CustomColorPicker/index.js +106 -0
  143. package/dist/Editor/common/CustomColorPicker/style.js +53 -0
  144. package/dist/Editor/common/CustomDialog/index.js +88 -0
  145. package/dist/Editor/common/CustomDialog/styles.js +80 -0
  146. package/dist/Editor/common/CustomDialog2/index.js +94 -0
  147. package/dist/Editor/common/CustomDialog2/style.js +67 -0
  148. package/dist/Editor/common/CustomSelect.js +33 -0
  149. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  150. package/dist/Editor/common/DnD/Draggable.js +0 -1
  151. package/dist/Editor/common/FontLoader/FontLoader.js +3 -0
  152. package/dist/Editor/common/Icon.js +28 -0
  153. package/dist/Editor/common/ImageSelector/ImageSelector.js +10 -8
  154. package/dist/Editor/common/ImageSelector/Options/AddLink.js +6 -4
  155. package/dist/Editor/common/ImageSelector/Styles.js +3 -9
  156. package/dist/Editor/common/ImageSelector/UploadStyles.js +0 -1
  157. package/dist/Editor/common/LinkSettings/NavComponents.js +14 -10
  158. package/dist/Editor/common/LinkSettings/index.js +20 -14
  159. package/dist/Editor/common/LinkSettings/navOptions.js +1 -1
  160. package/dist/Editor/common/MentionsPopup/Styles.js +109 -71
  161. package/dist/Editor/common/MentionsPopup/index.js +8 -4
  162. package/dist/Editor/common/RnD/ContextMenu/CMenus.js +22 -22
  163. package/dist/Editor/common/RnD/ContextMenu/index.js +3 -2
  164. package/dist/Editor/common/RnD/ElementOptions/index.js +7 -2
  165. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/SaveAsTemplate.js +8 -3
  166. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +7 -3
  167. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
  168. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
  169. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
  170. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
  171. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +7 -4
  172. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +3 -2
  173. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
  174. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +4 -2
  175. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
  176. package/dist/Editor/common/RnD/OptionsPopup/index.js +4 -3
  177. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +11 -4
  178. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
  179. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +20 -8
  180. package/dist/Editor/common/RnD/Utils/gridDropItem.js +5 -4
  181. package/dist/Editor/common/RnD/Utils/index.js +45 -0
  182. package/dist/Editor/common/RnD/VirtualElement/index.js +1 -2
  183. package/dist/Editor/common/RnD/index.js +34 -7
  184. package/dist/Editor/common/Section/index.js +7 -4
  185. package/dist/Editor/common/Shorthands/elements.js +93 -10
  186. package/dist/Editor/common/StyleBuilder/appHeaderStyle.js +4 -4
  187. package/dist/Editor/common/StyleBuilder/boxStyle.js +2 -2
  188. package/dist/Editor/common/StyleBuilder/buttonStyle.js +6 -4
  189. package/dist/Editor/common/StyleBuilder/dividerStyles.js +2 -2
  190. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +6 -6
  191. package/dist/Editor/common/StyleBuilder/fieldStyle.js +2 -2
  192. package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +13 -9
  193. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +11 -3
  194. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +19 -5
  195. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +22 -10
  196. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +6 -3
  197. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +27 -13
  198. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +41 -14
  199. package/dist/Editor/common/StyleBuilder/fieldTypes/elementSize.js +10 -6
  200. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +19 -6
  201. package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +6 -2
  202. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +5 -2
  203. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +9 -6
  204. package/dist/Editor/common/StyleBuilder/fieldTypes/metaDataMapping.js +8 -2
  205. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +12 -11
  206. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +6 -2
  207. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +8 -4
  208. package/dist/Editor/common/StyleBuilder/fieldTypes/textAlign.js +6 -2
  209. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +21 -12
  210. package/dist/Editor/common/StyleBuilder/formStyle.js +7 -7
  211. package/dist/Editor/common/StyleBuilder/gridItemStyle.js +6 -6
  212. package/dist/Editor/common/StyleBuilder/gridStyle.js +5 -5
  213. package/dist/Editor/common/StyleBuilder/index.js +8 -5
  214. package/dist/Editor/common/Uploader.js +16 -5
  215. package/dist/Editor/commonStyle.js +114 -69
  216. package/dist/Editor/helper/index.js +8 -12
  217. package/dist/Editor/helper/textIndeces.js +58 -0
  218. package/dist/Editor/helper/theme.js +200 -2
  219. package/dist/Editor/hooks/useDrag.js +16 -10
  220. package/dist/Editor/hooks/useEditorScroll.js +10 -5
  221. package/dist/Editor/hooks/useEditorTheme.js +153 -0
  222. package/dist/Editor/hooks/useMouseMove.js +25 -13
  223. package/dist/Editor/hooks/useTable.js +1 -1
  224. package/dist/Editor/plugins/withEmbeds.js +1 -1
  225. package/dist/Editor/plugins/withHTML.js +19 -14
  226. package/dist/Editor/plugins/withLayout.js +3 -2
  227. package/dist/Editor/plugins/withTable.js +1 -1
  228. package/dist/Editor/theme/ThemeList.js +50 -173
  229. package/dist/Editor/theme/index.js +144 -0
  230. package/dist/Editor/themeSettings/ActiveTheme.js +72 -0
  231. package/dist/Editor/themeSettings/buttons/index.js +283 -0
  232. package/dist/Editor/themeSettings/buttons/style.js +21 -0
  233. package/dist/Editor/themeSettings/colorTheme/index.js +292 -0
  234. package/dist/Editor/themeSettings/colorTheme/style.js +77 -0
  235. package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
  236. package/dist/Editor/themeSettings/fonts/index.js +220 -0
  237. package/dist/Editor/themeSettings/fonts/style.js +44 -0
  238. package/dist/Editor/themeSettings/icons.js +60 -0
  239. package/dist/Editor/themeSettings/index.js +320 -0
  240. package/dist/Editor/themeSettings/style.js +152 -0
  241. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  242. package/dist/Editor/themeSettingsAI/index.js +356 -0
  243. package/dist/Editor/themeSettingsAI/saveTheme.js +197 -0
  244. package/dist/Editor/themeSettingsAI/style.js +250 -0
  245. package/dist/Editor/utils/SlateUtilityFunctions.js +162 -45
  246. package/dist/Editor/utils/button.js +0 -14
  247. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +23 -0
  248. package/dist/Editor/utils/divider.js +8 -0
  249. package/dist/Editor/utils/draftToSlate.js +3 -2
  250. package/dist/Editor/utils/embed.js +9 -4
  251. package/dist/Editor/utils/font.js +40 -37
  252. package/dist/Editor/utils/helper.js +77 -19
  253. package/dist/Editor/utils/link.js +1 -1
  254. package/dist/Editor/utils/table.js +8 -0
  255. package/package.json +5 -2
@@ -11,7 +11,8 @@ const FilterProperty = props => {
11
11
  } = useDataView();
12
12
  const {
13
13
  edit,
14
- onEvent
14
+ onEvent,
15
+ translation
15
16
  } = props;
16
17
  const handleChangeOption = m => () => {
17
18
  onEvent("addSort", {
@@ -33,7 +34,7 @@ const FilterProperty = props => {
33
34
  icon: m?.Icon
34
35
  })
35
36
  }), /*#__PURE__*/_jsx(ListItemText, {
36
- primary: m.label
37
+ primary: translation(m.label)
37
38
  })]
38
39
  }, i);
39
40
  })
@@ -7,7 +7,8 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
7
7
  const PropertyList = props => {
8
8
  const {
9
9
  onSelect,
10
- selected
10
+ selected,
11
+ translation
11
12
  } = props;
12
13
  return /*#__PURE__*/_jsx(List, {
13
14
  children: PROPERTY_TYPES?.map(({
@@ -22,7 +23,7 @@ const PropertyList = props => {
22
23
  icon: rest?.Icon
23
24
  })
24
25
  }), /*#__PURE__*/_jsx(ListItemText, {
25
- primary: rest?.label
26
+ primary: translation(rest?.label)
26
27
  })]
27
28
  }, i);
28
29
  })
@@ -41,7 +41,8 @@ const PropertySettings = props => {
41
41
  anchorEl,
42
42
  mode,
43
43
  onClose,
44
- onEvent
44
+ onEvent,
45
+ translation
45
46
  } = props;
46
47
  const classes = useOptionsStyles(theme, appTheme);
47
48
  const isMobile = window.matchMedia("(max-width: 899px)")?.matches || false;
@@ -53,35 +54,40 @@ const PropertySettings = props => {
53
54
  classes: classes,
54
55
  onClose: onClose,
55
56
  onEvent: onEvent,
56
- mode: mode
57
+ mode: mode,
58
+ translation: translation
57
59
  });
58
60
  case "editProperty":
59
61
  return /*#__PURE__*/_jsx(EditProperty, {
60
62
  classes: classes,
61
63
  onClose: onClose,
62
64
  onEvent: onEvent,
63
- mode: mode
65
+ mode: mode,
66
+ translation: translation
64
67
  });
65
68
  case "changeProperty":
66
69
  return /*#__PURE__*/_jsx(ChangeProperty, {
67
70
  classes: classes,
68
71
  onClose: onClose,
69
72
  onEvent: onEvent,
70
- mode: mode
73
+ mode: mode,
74
+ translation: translation
71
75
  });
72
76
  case "allProperties":
73
77
  return /*#__PURE__*/_jsx(AllProperties, {
74
78
  classes: classes,
75
79
  onClose: onClose,
76
80
  onEvent: onEvent,
77
- mode: mode
81
+ mode: mode,
82
+ translation: translation
78
83
  });
79
84
  case "editOption":
80
85
  return /*#__PURE__*/_jsx(EditOption, {
81
86
  classes: classes,
82
87
  onClose: onClose,
83
88
  onEvent: onEvent,
84
- mode: mode
89
+ mode: mode,
90
+ translation: translation
85
91
  });
86
92
  default:
87
93
  return null;
@@ -10,12 +10,16 @@ const useTableStyles = (theme, appTheme) => ({
10
10
  borderSpacing: 0,
11
11
  borderRadius: "7px 7px 0px 0px",
12
12
  overflow: "hidden",
13
+ width: "auto !important",
14
+ minWidth: "100%",
13
15
  border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
16
+ tableLayout: "fixed",
14
17
  "& thead": {
15
18
  background: appTheme?.palette?.editor?.tv_header,
16
19
  height: "40px"
17
20
  },
18
21
  "& th": {
22
+ position: "relative",
19
23
  "& svg": {
20
24
  "& .fillStroke": {
21
25
  stroke: appTheme?.palette?.editor?.tv_stroke
@@ -27,6 +31,8 @@ const useTableStyles = (theme, appTheme) => ({
27
31
  },
28
32
  "& td": {
29
33
  height: "40px",
34
+ maxWidth: "0px !important",
35
+ minWidth: "0px !important",
30
36
  "& input": {
31
37
  color: appTheme?.palette?.editor?.tv_text_primary,
32
38
  background: "transparent",
@@ -39,6 +45,11 @@ const useTableStyles = (theme, appTheme) => ({
39
45
  "& th, tr, td": {
40
46
  border: `1px solid ${appTheme?.palette?.editor?.tv_border}`
41
47
  },
48
+ "& th, & td": {
49
+ overflowX: "clip",
50
+ textOverflow: "ellipsis",
51
+ whiteSpace: "nowrap"
52
+ },
42
53
  "& .tv-act-btn": {
43
54
  color: appTheme?.palette?.editor?.tv_text,
44
55
  textTransform: "none",
@@ -85,13 +96,18 @@ const useTableStyles = (theme, appTheme) => ({
85
96
  paddingTop: "3px",
86
97
  paddingBottom: "3px",
87
98
  paddingLeft: "3px",
88
- maxWidth: "250px",
99
+ // maxWidth: "250px",
89
100
  overflow: "hidden",
90
101
  position: "relative",
91
102
  "& .tv-ms-tag-wrpr": {
92
103
  display: "flex",
93
104
  flexWrap: "nowrap",
94
- overflow: "auto"
105
+ overflow: "auto",
106
+ minWidth: "58px",
107
+ "& .MuiChip-deleteIcon": {
108
+ minWidth: "22px",
109
+ minHeight: "22px"
110
+ }
95
111
  },
96
112
  "&.Mui-disabled": {
97
113
  "& input": {
@@ -129,6 +145,20 @@ const useTableStyles = (theme, appTheme) => ({
129
145
  opacity: 1
130
146
  }
131
147
  }
148
+ },
149
+ cellResizer: {
150
+ position: "absolute",
151
+ cursor: "col-resize",
152
+ right: "0px",
153
+ top: 0,
154
+ width: "3px",
155
+ borderRadius: "0px",
156
+ zIndex: 1,
157
+ background: "transparent",
158
+ height: "100%",
159
+ "&:hover, &.active": {
160
+ background: "#2563EB"
161
+ }
132
162
  }
133
163
  });
134
164
  export default useTableStyles;
@@ -1,4 +1,4 @@
1
- import React, { useState } from "react";
1
+ import React, { useEffect, useRef, useState } from "react";
2
2
  import { Box, Button, useTheme } from "@mui/material";
3
3
  import { useDataView } from "../Providers/DataViewProvider";
4
4
  import PropertySettings from "./Options";
@@ -7,47 +7,139 @@ import useTableStyles from "./TableStyles";
7
7
  import { GridSettingsIcon, GridAddSectionIcon } from "../../../common/iconslist";
8
8
  import { useEditorContext } from "../../../hooks/useMouseMove";
9
9
  import Icon from "../../../common/Icon";
10
+ import useTableResize from "../../../utils/customHooks/useTableResize";
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
12
  import { Fragment as _Fragment } from "react/jsx-runtime";
12
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
14
+ const Resizer = ({
15
+ classes,
16
+ onMouseDown,
17
+ height,
18
+ resizing
19
+ }) => {
20
+ return /*#__PURE__*/_jsx(_Fragment, {
21
+ children: /*#__PURE__*/_jsx(Box, {
22
+ component: "div",
23
+ className: `cell-resizer ${resizing ? "active" : ""}`,
24
+ contentEditable: false,
25
+ onPointerDown: onMouseDown,
26
+ sx: classes.cellResizer,
27
+ style: {
28
+ height: `${height}px`
29
+ }
30
+ })
31
+ });
32
+ };
13
33
  const SortIcon = props => {
14
34
  const {
15
35
  sortBy
16
36
  } = props;
17
37
  return sortBy ? sortBy === "asc" ? /*#__PURE__*/_jsx(Box, {
18
38
  sx: {
19
- '& svg': {
20
- '& path': {
39
+ "& svg": {
40
+ "& path": {
21
41
  stroke: "rgba(37, 99, 235, 1) !important"
22
42
  }
23
43
  }
24
44
  },
25
45
  children: /*#__PURE__*/_jsx(Icon, {
26
- icon: 'chervUp'
46
+ icon: "chervUp"
27
47
  })
28
48
  }) : /*#__PURE__*/_jsx(Box, {
29
49
  sx: {
30
- '& svg': {
31
- '& path': {
50
+ "& svg": {
51
+ "& path": {
32
52
  stroke: "rgba(37, 99, 235, 1) !important"
33
53
  }
34
54
  }
35
55
  },
36
56
  children: /*#__PURE__*/_jsx(Icon, {
37
- icon: 'chervDown'
57
+ icon: "chervDown"
38
58
  })
39
59
  }) : null;
40
60
  };
61
+ const THead = props => {
62
+ const thRef = useRef(null);
63
+ const [headerTextWidth, setHeaderTextWidth] = useState(200);
64
+ const {
65
+ iconType,
66
+ isSort,
67
+ classes,
68
+ onEditProperty,
69
+ m,
70
+ tableRef,
71
+ handleResize
72
+ } = props;
73
+ // do not remove extra coma it will lead to swap of variable
74
+ const [size, onMouseDown, resizing,, isDone] = useTableResize({
75
+ parentDOM: thRef?.current,
76
+ size: m?.size,
77
+ minMaxProps: {
78
+ minWidth: 30
79
+ }
80
+ });
81
+ const finalWidth = size?.width < headerTextWidth ? headerTextWidth : size?.width || 200;
82
+ useEffect(() => {
83
+ if (thRef?.current) {
84
+ const tw = (thRef?.current?.querySelectorAll(".dht-text")[0]?.getBoundingClientRect()?.width || 0) + 16 + 30;
85
+ setHeaderTextWidth(tw);
86
+ }
87
+ }, [thRef?.current, m?.label]);
88
+ useEffect(() => {
89
+ if (isDone) {
90
+ handleResize({
91
+ ...m,
92
+ size: size
93
+ });
94
+ }
95
+ }, [isDone]);
96
+ return /*#__PURE__*/_jsxs("th", {
97
+ style: {
98
+ minWidth: finalWidth,
99
+ maxWidth: finalWidth,
100
+ width: finalWidth
101
+ },
102
+ ref: thRef,
103
+ children: [/*#__PURE__*/_jsx(Box, {
104
+ sx: {
105
+ maxWidth: "100%",
106
+ overflow: "hidden"
107
+ },
108
+ children: /*#__PURE__*/_jsx(Button, {
109
+ className: "tv-act-btn la",
110
+ startIcon: /*#__PURE__*/_jsx(Icon, {
111
+ icon: iconType
112
+ }),
113
+ endIcon: /*#__PURE__*/_jsx(SortIcon, {
114
+ sortBy: isSort
115
+ }),
116
+ fullWidth: true,
117
+ onClick: onEditProperty(m),
118
+ children: /*#__PURE__*/_jsx("span", {
119
+ className: "dht-text",
120
+ children: m.label
121
+ })
122
+ })
123
+ }), /*#__PURE__*/_jsx(Resizer, {
124
+ classes: classes,
125
+ onMouseDown: onMouseDown,
126
+ height: tableRef?.current?.getBoundingClientRect()?.height,
127
+ resizing: resizing
128
+ })]
129
+ });
130
+ };
41
131
  const TableView = props => {
42
132
  const {
43
133
  theme: appTheme
44
134
  } = useEditorContext();
45
135
  const {
46
136
  children,
47
- readOnly
137
+ readOnly,
138
+ translation
48
139
  } = props;
49
140
  const theme = useTheme();
50
141
  const classes = useTableStyles(theme, appTheme);
142
+ const tableRef = useRef(null);
51
143
  const {
52
144
  properties,
53
145
  onAddProperty,
@@ -75,7 +167,7 @@ const TableView = props => {
75
167
  case "addProperty":
76
168
  const np = onAddProperty({
77
169
  type: data?.type
78
- }, data?.overrides || {});
170
+ }, data?.overrides || {}, translation);
79
171
  if (navToEdit) {
80
172
  setMode({
81
173
  type: "editProperty",
@@ -164,6 +256,9 @@ const TableView = props => {
164
256
  setMode({});
165
257
  setAnchorEl(null);
166
258
  };
259
+ const handleResize = data => {
260
+ onUpdateProperty(data);
261
+ };
167
262
  return /*#__PURE__*/_jsxs(_Fragment, {
168
263
  children: [/*#__PURE__*/_jsx(Box, {
169
264
  component: "div",
@@ -173,6 +268,7 @@ const TableView = props => {
173
268
  children: /*#__PURE__*/_jsxs(Box, {
174
269
  component: "table",
175
270
  sx: classes.table,
271
+ ref: tableRef,
176
272
  children: [/*#__PURE__*/_jsx("thead", {
177
273
  children: /*#__PURE__*/_jsxs("tr", {
178
274
  children: [shownProperties?.map((m, i) => {
@@ -180,26 +276,23 @@ const TableView = props => {
180
276
  Icon: iconType
181
277
  } = PROPERTY_TYPES?.find(f => f.type === m.type) || {};
182
278
  const isSort = sortBy?.key === m.key ? sortBy?.operator : null;
183
- return /*#__PURE__*/_jsx("th", {
184
- style: {
185
- minWidth: "200px"
186
- },
187
- children: /*#__PURE__*/_jsx(Button, {
188
- className: "tv-act-btn la",
189
- startIcon: /*#__PURE__*/_jsx(Icon, {
190
- icon: iconType
191
- }),
192
- endIcon: /*#__PURE__*/_jsx(SortIcon, {
193
- sortBy: isSort
194
- }),
195
- fullWidth: true,
196
- onClick: onEditProperty(m),
197
- children: m.label
198
- })
279
+ return /*#__PURE__*/_jsx(THead, {
280
+ iconType: iconType,
281
+ isSort: isSort,
282
+ onEditProperty: onEditProperty,
283
+ m: m,
284
+ classes: classes,
285
+ tableRef: tableRef,
286
+ handleResize: handleResize
199
287
  }, i);
200
288
  }), !readOnly ? /*#__PURE__*/_jsxs(_Fragment, {
201
289
  children: [/*#__PURE__*/_jsx("th", {
202
290
  className: "tv-act-btn ico",
291
+ style: {
292
+ maxWidth: "80px",
293
+ minWidth: "80px",
294
+ width: "auto"
295
+ },
203
296
  children: /*#__PURE__*/_jsx(Button, {
204
297
  onClick: onAddClick,
205
298
  fullWidth: true,
@@ -207,6 +300,11 @@ const TableView = props => {
207
300
  })
208
301
  }), /*#__PURE__*/_jsx("th", {
209
302
  className: "tv-act-btn ico",
303
+ style: {
304
+ maxWidth: "80px",
305
+ minWidth: "80px",
306
+ width: "auto"
307
+ },
210
308
  children: /*#__PURE__*/_jsx(Button, {
211
309
  onClick: onSettings,
212
310
  fullWidth: true,
@@ -226,27 +324,28 @@ const TableView = props => {
226
324
  textTransform: "none",
227
325
  justifyContent: "start",
228
326
  color: appTheme?.palette?.editor?.activeColor,
229
- '& svg': {
230
- width: '18px',
231
- height: '18px',
327
+ "& svg": {
328
+ width: "18px",
329
+ height: "18px",
232
330
  strokeWidth: 1.2,
233
- '& path': {
331
+ "& path": {
234
332
  stroke: appTheme?.palette?.editor?.activeColor
235
333
  }
236
334
  },
237
- fontFamily: 'inter'
335
+ fontFamily: "inter"
238
336
  },
239
337
  startIcon: /*#__PURE__*/_jsx(Icon, {
240
- icon: 'addRounded'
338
+ icon: "addRounded"
241
339
  }),
242
- children: "Add new row"
340
+ children: translation("Add new row")
243
341
  }) : null, open && !readOnly ? /*#__PURE__*/_jsx(PropertySettings, {
244
342
  open: open,
245
343
  anchorEl: anchorEl,
246
344
  mode: mode,
247
345
  properties: properties,
248
346
  onClose: onClose,
249
- onEvent: onEvent
347
+ onEvent: onEvent,
348
+ translation: translation
250
349
  }) : null]
251
350
  });
252
351
  };
@@ -58,17 +58,17 @@ const ViewData = props => {
58
58
  }
59
59
  },
60
60
  children: [rows?.map((row, i) => {
61
- return /*#__PURE__*/_jsx(Box, {
61
+ return /*#__PURE__*/_jsxs(Box, {
62
62
  component: "tr",
63
63
  className: "tv-act-row",
64
- children: /*#__PURE__*/_jsx(RenderRow, {
64
+ children: [/*#__PURE__*/_jsx(RenderRow, {
65
65
  rowIndex: row?.id,
66
66
  row: row,
67
67
  properties: properties,
68
68
  onSelect: onSelect,
69
69
  selected: selectedRows?.includes(row?.id),
70
70
  readOnly: readOnly
71
- })
71
+ }), /*#__PURE__*/_jsx("td", {}), /*#__PURE__*/_jsx("td", {})]
72
72
  }, i);
73
73
  }), /*#__PURE__*/_jsx("tr", {
74
74
  style: {
@@ -9,7 +9,8 @@ const LAYOUT_COMPONENT = {
9
9
  const LayoutView = props => {
10
10
  const {
11
11
  readOnly,
12
- children
12
+ children,
13
+ translation
13
14
  } = props;
14
15
  const {
15
16
  layoutType
@@ -18,6 +19,7 @@ const LayoutView = props => {
18
19
  return /*#__PURE__*/_jsx(_Fragment, {
19
20
  children: /*#__PURE__*/_jsx(Layout, {
20
21
  readOnly: readOnly,
22
+ translation: translation,
21
23
  children: children
22
24
  })
23
25
  });
@@ -1,5 +1,5 @@
1
1
  import React, { createContext, useContext, useEffect, useState } from "react";
2
- import { Editor, Transforms, Node } from "slate";
2
+ import { Transforms, Node } from "slate";
3
3
  import { PROPERTY_DEFAULTS } from "../Layouts/Options/Constants";
4
4
  import multiSortRows from "../Utils/multiSortRows";
5
5
  import globalSearch from "../Utils/globalSearch";
@@ -67,15 +67,18 @@ export const DataViewProvider = ({
67
67
  setRows(globalSearch(initialData?.rows || [], search));
68
68
  }
69
69
  }, [sort, search]);
70
- const onAddProperty = (data, overrides = {}) => {
70
+ const onAddProperty = (data, overrides = {}, translation) => {
71
71
  try {
72
72
  const {
73
73
  type
74
74
  } = data;
75
75
  const key = `col_${new Date().getTime()}`;
76
+ const defaultProperty = PROPERTY_DEFAULTS[type] || {};
77
+ const translatedLabel = translation ? translation(defaultProperty.label) : defaultProperty.label;
76
78
  const newProperty = {
77
- ...(PROPERTY_DEFAULTS[type] || {}),
79
+ ...defaultProperty,
78
80
  ...overrides,
81
+ label: translatedLabel,
79
82
  key: key,
80
83
  type
81
84
  };
@@ -11,7 +11,7 @@ const useDataViewStyles = (theme, appTheme) => ({
11
11
  },
12
12
  "& table th": {
13
13
  cursor: "pointer",
14
- width: "200px"
14
+ minWidth: "200px"
15
15
  },
16
16
  "& table, th, td": {
17
17
  border: "1px solid black",
@@ -48,7 +48,7 @@ const useDataViewStyles = (theme, appTheme) => ({
48
48
  "& .tv-ck-box": {
49
49
  "& svg": {
50
50
  color: appTheme?.palette?.editor?.tv_border,
51
- '& rect': {
51
+ "& rect": {
52
52
  fill: appTheme?.palette?.editor?.tv_chk_box_fill,
53
53
  stroke: appTheme?.palette?.editor?.tv_chk_box_stroke
54
54
  }
@@ -56,9 +56,9 @@ const useDataViewStyles = (theme, appTheme) => ({
56
56
  "&.Mui-checked": {
57
57
  "& svg": {
58
58
  color: "rgba(37, 99, 235, 1)",
59
- '& rect': {
59
+ "& rect": {
60
60
  fill: appTheme?.palette?.editor?.activeColor,
61
- stroke: 'none'
61
+ stroke: "none"
62
62
  }
63
63
  }
64
64
  }
@@ -94,7 +94,7 @@ const useDataViewStyles = (theme, appTheme) => ({
94
94
  border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
95
95
  boxShadow: "0px 4px 18px 0px #0000000D",
96
96
  borderRadius: "8px",
97
- minWidth: '148px'
97
+ minWidth: "148px"
98
98
  },
99
99
  "& input": {
100
100
  paddingBottom: "0px",
@@ -140,12 +140,12 @@ const useDataViewStyles = (theme, appTheme) => ({
140
140
  width: "150px",
141
141
  border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
142
142
  borderRadius: "8px",
143
- fontFamily: 'Inter !important',
143
+ fontFamily: "Inter !important",
144
144
  background: appTheme?.palette?.editor?.tv_pop_bg,
145
145
  color: appTheme?.palette?.editor?.tv_text_primary,
146
146
  "& .MuiButtonBase-root": {
147
147
  fontSize: "14px",
148
- padding: '6px 8px',
148
+ padding: "6px 8px",
149
149
  "& svg": {
150
150
  width: "16px",
151
151
  height: "16px",
@@ -157,7 +157,7 @@ const useDataViewStyles = (theme, appTheme) => ({
157
157
  color: `${appTheme?.palette?.editor?.tv_hover_text} !important`,
158
158
  "& svg": {
159
159
  color: `${appTheme?.palette?.editor?.tv_hover_text} !important`,
160
- '& path': {
160
+ "& path": {
161
161
  stroke: `${appTheme?.palette?.editor?.tv_hover_text} !important`
162
162
  }
163
163
  }
@@ -25,7 +25,8 @@ const Divider = props => {
25
25
  borderStyle = "solid"
26
26
  } = element;
27
27
  const {
28
- readOnly
28
+ readOnly,
29
+ translation
29
30
  } = customProps;
30
31
  const editor = useSlateStatic();
31
32
  const path = ReactEditor.findPath(editor, element);
@@ -63,7 +64,7 @@ const Divider = props => {
63
64
  left: 0
64
65
  },
65
66
  children: /*#__PURE__*/_jsx(Tooltip, {
66
- title: "Divider Settings",
67
+ title: translation("Divider Settings"),
67
68
  arrow: true,
68
69
  children: /*#__PURE__*/_jsx(IconButton, {
69
70
  size: "small",
@@ -154,7 +155,8 @@ const Divider = props => {
154
155
  onSave: onSave,
155
156
  onClose: onClose,
156
157
  onDelete: onDelete,
157
- customProps: customProps
158
+ customProps: customProps,
159
+ translation: translation
158
160
  }) : null]
159
161
  });
160
162
  };
@@ -6,13 +6,17 @@ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  const DividerButton = props => {
7
7
  const {
8
8
  editor,
9
- icoBtnType
9
+ icoBtnType,
10
+ customProps
10
11
  } = props;
12
+ const {
13
+ translation
14
+ } = customProps;
11
15
  const handleClick = () => {
12
16
  insertDivider(editor);
13
17
  };
14
18
  return /*#__PURE__*/_jsx(ToolbarIcon, {
15
- title: "Divider",
19
+ title: translation("Divider"),
16
20
  onClick: handleClick,
17
21
  icon: /*#__PURE__*/_jsx(Icon, {
18
22
  icon: "divider"
@@ -8,10 +8,11 @@ const DividerPopup = props => {
8
8
  onSave,
9
9
  onClose,
10
10
  onDelete,
11
- customProps
11
+ customProps,
12
+ translation
12
13
  } = props;
13
14
  return /*#__PURE__*/_jsx(StyleBuilder, {
14
- title: "Divider",
15
+ title: translation("Divider"),
15
16
  type: "dividerStyle",
16
17
  element: element,
17
18
  onSave: onSave,
@@ -29,6 +29,9 @@ const Embed = ({
29
29
  images: []
30
30
  });
31
31
  const [selection, setSelection] = useState();
32
+ const {
33
+ translation
34
+ } = customProps;
32
35
  const handleFormSubmit = fd => {
33
36
  if (fd?.url || fd?.images.length > 0) {
34
37
  selection && Transforms.select(editor, selection);
@@ -72,7 +75,7 @@ const Embed = ({
72
75
  return /*#__PURE__*/_jsxs(_Fragment, {
73
76
  children: [/*#__PURE__*/_jsx(ToolbarIcon, {
74
77
  className: isBlockActive(editor, format) ? "active" : "",
75
- title: EMBED_LABEL[lbT || format],
78
+ title: translation(EMBED_LABEL[lbT || format]),
76
79
  onClick: onToggle,
77
80
  icon: /*#__PURE__*/_jsx(Icon, {
78
81
  icon: lbT || format
@@ -18,8 +18,11 @@ const EmbedPopup = props => {
18
18
  }
19
19
  return true;
20
20
  });
21
+ const {
22
+ translation
23
+ } = customProps;
21
24
  return /*#__PURE__*/_jsx(StyleBuilder, {
22
- title: format === "image" ? "Image" : format === "video" ? "video" : format === "calendly" ? "calendly" : "Embed",
25
+ title: format === "image" ? translation("Image") : format === "video" ? translation("video") : format === "calendly" ? "calendly" : translation("Embed"),
23
26
  type: format === "image" ? "embedImageStyle" : "embedVideoStyle",
24
27
  element: element,
25
28
  onSave: onSave,