@flozy/editor 9.2.8 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/dist/Editor/ChatEditor.js +46 -11
  2. package/dist/Editor/CommonEditor.js +165 -29
  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 +48 -25
  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 +120 -41
  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/StyleBuilder/pageSettingsStyle.js +5 -7
  215. package/dist/Editor/common/Uploader.js +16 -5
  216. package/dist/Editor/commonStyle.js +114 -69
  217. package/dist/Editor/helper/index.js +8 -12
  218. package/dist/Editor/helper/textIndeces.js +58 -0
  219. package/dist/Editor/helper/theme.js +200 -2
  220. package/dist/Editor/hooks/useDrag.js +16 -10
  221. package/dist/Editor/hooks/useEditorScroll.js +10 -5
  222. package/dist/Editor/hooks/useEditorTheme.js +153 -0
  223. package/dist/Editor/hooks/useMouseMove.js +25 -13
  224. package/dist/Editor/hooks/useTable.js +1 -1
  225. package/dist/Editor/plugins/withEmbeds.js +1 -1
  226. package/dist/Editor/plugins/withHTML.js +19 -14
  227. package/dist/Editor/plugins/withLayout.js +3 -2
  228. package/dist/Editor/plugins/withTable.js +1 -1
  229. package/dist/Editor/theme/ThemeList.js +50 -173
  230. package/dist/Editor/theme/index.js +144 -0
  231. package/dist/Editor/themeSettings/ActiveTheme.js +72 -0
  232. package/dist/Editor/themeSettings/buttons/index.js +283 -0
  233. package/dist/Editor/themeSettings/buttons/style.js +21 -0
  234. package/dist/Editor/themeSettings/colorTheme/index.js +292 -0
  235. package/dist/Editor/themeSettings/colorTheme/style.js +77 -0
  236. package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
  237. package/dist/Editor/themeSettings/fonts/index.js +220 -0
  238. package/dist/Editor/themeSettings/fonts/style.js +44 -0
  239. package/dist/Editor/themeSettings/icons.js +60 -0
  240. package/dist/Editor/themeSettings/index.js +320 -0
  241. package/dist/Editor/themeSettings/style.js +152 -0
  242. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  243. package/dist/Editor/themeSettingsAI/index.js +356 -0
  244. package/dist/Editor/themeSettingsAI/saveTheme.js +197 -0
  245. package/dist/Editor/themeSettingsAI/style.js +250 -0
  246. package/dist/Editor/utils/SlateUtilityFunctions.js +162 -45
  247. package/dist/Editor/utils/button.js +0 -14
  248. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +23 -0
  249. package/dist/Editor/utils/divider.js +8 -0
  250. package/dist/Editor/utils/draftToSlate.js +3 -2
  251. package/dist/Editor/utils/embed.js +9 -4
  252. package/dist/Editor/utils/font.js +40 -37
  253. package/dist/Editor/utils/helper.js +77 -19
  254. package/dist/Editor/utils/link.js +1 -1
  255. package/dist/Editor/utils/table.js +8 -0
  256. package/package.json +5 -2
@@ -1,4 +1,4 @@
1
- import React, { useCallback, useMemo, useRef, useState, useEffect, useImperativeHandle, forwardRef } from "react";
1
+ import React, { useCallback, useMemo, useRef, useState, useImperativeHandle, forwardRef } from "react";
2
2
  import { Editable, Slate, ReactEditor } from 'slate-react';
3
3
  import { createEditor, Transforms, Editor } from 'slate';
4
4
  import withCommon from "./hooks/withCommon";
@@ -14,6 +14,7 @@ import Shorthands from "./common/Shorthands";
14
14
  import usePopupStyle from "./Toolbar/PopupTool/PopupToolStyle";
15
15
  import { EditorProvider } from "./hooks/useMouseMove";
16
16
  import decorators from "./utils/Decorators";
17
+ import convertMDToHTML from "./helper/markdown";
17
18
  import { useDebouncedCallback } from "use-debounce";
18
19
  import { jsx as _jsx } from "react/jsx-runtime";
19
20
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -30,7 +31,10 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
30
31
  onsubmit,
31
32
  onBlur = () => {},
32
33
  isMobile = false,
33
- debounceTimeOut = 10
34
+ debounceTimeOut = 10,
35
+ translation,
36
+ isMarkDown = false,
37
+ markDownContent = ''
34
38
  } = props;
35
39
  const classes = usePopupStyle(theme);
36
40
  const convertedContent = draftToSlate({
@@ -41,8 +45,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
41
45
  }]
42
46
  }]
43
47
  });
44
- const [value, setValue] = useState(convertedContent);
45
- const debouncedValue = useRef(value);
48
+ const debouncedValue = useRef(convertedContent);
46
49
  const debounced = useDebouncedCallback(
47
50
  // function
48
51
  value => {
@@ -82,6 +85,14 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
82
85
  // Focus enable
83
86
  enableFocus: () => {
84
87
  if (editor) {
88
+ if (editor.children.length === 0) {
89
+ Transforms.insertNodes(editor, {
90
+ type: "paragraph",
91
+ children: [{
92
+ text: ""
93
+ }]
94
+ });
95
+ }
85
96
  const position = {
86
97
  anchor: {
87
98
  path: [0],
@@ -136,15 +147,18 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
136
147
  };
137
148
  const {
138
149
  CHARACTERS = [],
139
- hideTools
150
+ hideTools,
151
+ translationMock
140
152
  // needLayout = true,
141
153
  } = otherProps || {};
142
154
  const mentionsRef = useRef();
143
155
  const customProps = {
144
156
  ...(otherProps || {}),
157
+ hideTools: ["settings", "add_column", "drag", "resize"],
145
158
  readOnly: isReadOnly,
146
159
  editorPlaceholder: "Write Something",
147
- page_id: 1
160
+ page_id: 1,
161
+ translation: translation || translationMock
148
162
  };
149
163
  const [mentions, setMentions] = useMentions({
150
164
  editor,
@@ -164,7 +178,8 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
164
178
  const chars = type ? Shorthands[type]({
165
179
  ...mentions,
166
180
  CHARACTERS,
167
- hideTools: hideTools
181
+ hideTools: hideTools,
182
+ translation: translation || translationMock
168
183
  }) : [];
169
184
  const Leaf = ({
170
185
  attributes,
@@ -178,6 +193,14 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
178
193
  });
179
194
  };
180
195
  const handleEditorChange = newValue => {
196
+ if (editor.children.length === 0) {
197
+ Transforms.insertNodes(editor, {
198
+ type: "paragraph",
199
+ children: [{
200
+ text: ""
201
+ }]
202
+ });
203
+ }
181
204
  debounced(newValue);
182
205
  debouncedValue.current = newValue;
183
206
  };
@@ -255,7 +278,8 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
255
278
  }
256
279
  };
257
280
 
258
- return /*#__PURE__*/_jsx(EditorProvider, {
281
+ const html = isMarkDown ? convertMDToHTML(markDownContent) : null;
282
+ return !isMarkDown ? /*#__PURE__*/_jsx(EditorProvider, {
259
283
  theme: theme,
260
284
  editor: editor,
261
285
  children: /*#__PURE__*/_jsxs(Slate, {
@@ -265,7 +289,8 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
265
289
  children: [toolBar && /*#__PURE__*/_jsx(MiniTextFormat, {
266
290
  classes: classes,
267
291
  editor: editor,
268
- closeMainPopup: handleClose
292
+ closeMainPopup: handleClose,
293
+ customProps: customProps
269
294
  }), /*#__PURE__*/_jsx(Editable, {
270
295
  className: "chatEditorRoot",
271
296
  renderElement: renderElement,
@@ -275,7 +300,8 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
275
300
  spellCheck: true,
276
301
  onBlur: handleBlur,
277
302
  onKeyDown: onKeyDown,
278
- onPaste: handlePaste
303
+ onPaste: handlePaste,
304
+ customProps: customProps
279
305
  }), !readOnly ? /*#__PURE__*/_jsx(MentionsPopup, {
280
306
  ref: mentionsRef,
281
307
  mentions: mentions,
@@ -285,9 +311,18 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
285
311
  index: index,
286
312
  chars: chars,
287
313
  type: type,
288
- theme: theme
314
+ theme: theme,
315
+ customProps: customProps
289
316
  }) : null]
290
317
  }, id)
318
+ }) : /*#__PURE__*/_jsx("div", {
319
+ ref: debouncedValue,
320
+ dangerouslySetInnerHTML: {
321
+ __html: html || ""
322
+ },
323
+ style: {
324
+ overflow: "hidden"
325
+ }
291
326
  });
292
327
  });
293
328
  ChatEditor.displayName = "ChatEditor";
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable no-unused-vars */
2
- import React, { useRef, useCallback, useEffect, useMemo, useState, forwardRef, useImperativeHandle } from "react";
2
+ import React, { useRef, useCallback, useEffect, useMemo, useState, forwardRef, useImperativeHandle, createContext } from "react";
3
3
  import PropTypes from "prop-types";
4
- import { createEditor, Range, Transforms } from "slate";
4
+ import { createEditor, Editor, Range, Transforms } from "slate";
5
5
  import { Slate, Editable, ReactEditor } from "slate-react";
6
6
  import { useDebouncedCallback } from "use-debounce";
7
7
  import { getMarked, getBlock } from "./utils/SlateUtilityFunctions";
@@ -17,7 +17,7 @@ import { serializeToText } from "./utils/serializeToText";
17
17
  import { getPageSettings } from "./utils/pageSettings";
18
18
  import { getThumbnailImage, invertColor } from "./helper";
19
19
  import PopupTool from "./Toolbar/PopupTool";
20
- import { Box, Typography, useTheme } from "@mui/material";
20
+ import { Box, Typography, useTheme, IconButton } from "@mui/material";
21
21
  import Shorthands from "./common/Shorthands";
22
22
  import MiniToolbar from "./Toolbar/Mini/MiniToolbar";
23
23
  import { EditorProvider } from "./hooks/useMouseMove";
@@ -26,9 +26,12 @@ import editorStyles from "./Styles/EditorStyles";
26
26
  import DragAndDrop from "./common/DnD";
27
27
  import Section from "./common/Section";
28
28
  import decorators from "./utils/Decorators";
29
- import { getBreakpointLineSpacing, getTRBLBreakPoints } from "./helper/theme";
30
- import { getInitialValue, handleInsertLastElement, isFreeGrid, isFreeGridFragment, isRestrictedNode, outsideEditorClickLabel } from "./utils/helper";
29
+ import { getTRBLBreakPoints, getVariableValue, getBreakpointLineSpacing } from "./helper/theme";
30
+ import { getInitialValue, handleInsertLastElement, isEverythingSelected, isFreeGrid, isFreeGridFragment, isRestrictedNode, outsideEditorClickLabel } from "./utils/helper";
31
31
  import useWindowResize from "./hooks/useWindowResize";
32
+ import { getTheme } from "./theme";
33
+ import ThemeSettings from "./themeSettings";
34
+ import ThemeSettingsAI from "./themeSettingsAI";
32
35
  import PopoverAIInput from "./Elements/AI/PopoverAIInput";
33
36
  import RnDCopy from "./common/RnD/RnDCopy";
34
37
  import SwitchViewport from "./common/RnD/SwitchViewport/SwitchViewport";
@@ -37,8 +40,12 @@ import "./font.css";
37
40
  import "./Editor.css";
38
41
  import "animate.css";
39
42
  import FontLoader from "./common/FontLoader/FontLoader";
43
+ import { ThemeAIIcon, ThemePaintIcon } from "./assets/svg/ThemeIcons";
44
+ import { CustomDialogComponent } from "./common/CustomDialog";
45
+ import { extractTextWithPath, replaceTextPath } from "./helper/textIndeces.js";
40
46
  import { jsx as _jsx } from "react/jsx-runtime";
41
47
  import { jsxs as _jsxs } from "react/jsx-runtime";
48
+ export const ThemeContext = /*#__PURE__*/createContext(null);
42
49
  const Item = /*#__PURE__*/forwardRef(({
43
50
  children,
44
51
  ...props
@@ -80,6 +87,7 @@ const updateTopBanner = (content = [], setTopBanner) => {
80
87
  return firstNode?.type === "topbanner" ? firstNode : null;
81
88
  });
82
89
  };
90
+ const dummyTranslation = () => {};
83
91
  const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
84
92
  const {
85
93
  id,
@@ -93,13 +101,16 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
93
101
  otherProps,
94
102
  isIframe,
95
103
  theme,
104
+ showThemeButtons,
96
105
  showViewport = false,
97
- overrideWrapperStyles = {}
106
+ overrideWrapperStyles = {},
107
+ translation
98
108
  } = props;
99
109
  const editorWrapper = useRef();
100
110
  const mentionsRef = useRef();
101
111
  const convertedContent = draftToSlate({
102
- data: content
112
+ data: content,
113
+ needLayout: otherProps?.needLayout
103
114
  });
104
115
  const [value, setValue] = useState(convertedContent);
105
116
  const [isInteracted, setIsInteracted] = useState(false);
@@ -114,6 +125,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
114
125
  const [breakpoint, setBreakpoint] = useState("");
115
126
  const [topBanner, setTopBanner] = useState();
116
127
  const debouncedValue = useRef(value);
128
+ const dialogRef = useRef(null);
117
129
  const [size] = useWindowResize();
118
130
  const {
119
131
  needDotsBG,
@@ -123,12 +135,15 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
123
135
  editorClass,
124
136
  fixedWidth = "60%",
125
137
  fullWidth = "80%",
126
- hideTools = []
138
+ hideTools = [],
139
+ translationMock
127
140
  } = otherProps || {};
141
+ const translationFn = translation || translationMock || dummyTranslation;
128
142
  const editor = useMemo(() => {
129
143
  if (collaborativeEditor) return collaborativeEditor;
130
144
  const editor = createEditor();
131
145
  editor.needLayout = needLayout;
146
+ editor.translation = translationFn;
132
147
  return withCommon(editor, {
133
148
  needLayout
134
149
  });
@@ -139,10 +154,11 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
139
154
  const {
140
155
  bannerSpacing,
141
156
  pageBgImage,
142
- pageColor,
157
+ pageColor = "",
143
158
  color: pageTextColor,
144
159
  pageWidth,
145
160
  maxWidth: pageMaxWidth,
161
+ theme: selectedTheme,
146
162
  lineHeight
147
163
  } = pageSt?.pageProps || {
148
164
  bannerSpacing: {
@@ -154,10 +170,17 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
154
170
  };
155
171
  const classes = editorStyles({
156
172
  padHeight: !fullScreen ? otherProps?.padHeight : 20,
157
- placeHolderColor: invertColor(pageColor || "#FFF"),
173
+ placeHolderColor: invertColor(pageColor.startsWith("var") ? getVariableValue(pageColor) : pageColor || "#FFF"),
158
174
  theme,
159
175
  overrideWrapperStyles
160
176
  });
177
+ const [openTheme, setOpenTheme] = useState(false);
178
+ const [openAITheme, setOpenAITheme] = useState(false);
179
+ const [, setThemeUpdated] = useState(0);
180
+ const triggerRender = () => {
181
+ setThemeUpdated(prev => prev + 1); // Incrementing forces a re-render while updating theme
182
+ };
183
+
161
184
  const isMobile = window.matchMedia("(max-width: 899px)")?.matches || false;
162
185
  useEffect(() => {
163
186
  setValue(draftToSlate({
@@ -171,11 +194,11 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
171
194
  const debounced = useDebouncedCallback(
172
195
  // function
173
196
  value => {
197
+ debouncedValue.current = value;
174
198
  const {
175
199
  value: strVal,
176
200
  ...restVal
177
201
  } = getOnSaveData(value);
178
- debouncedValue.current = value;
179
202
  onSave(strVal, restVal);
180
203
  },
181
204
  // delay in ms
@@ -186,7 +209,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
186
209
  return {
187
210
  value: JSON.stringify(val),
188
211
  text: text,
189
- title: serializeToText(title?.children) || "Untitled"
212
+ title: serializeToText(title?.children) || ""
190
213
  };
191
214
  };
192
215
  const getTitleSaveData = title => {
@@ -296,6 +319,12 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
296
319
  redo() {
297
320
  editor?.redo();
298
321
  },
322
+ toggleTheme() {
323
+ setOpenTheme(!openTheme);
324
+ },
325
+ toggleAITheme() {
326
+ setOpenAITheme(!openAITheme);
327
+ },
299
328
  getPageSettings: {
300
329
  background: pageBgImage && pageBgImage !== "none" ? `url(${pageBgImage})` : pageColor || ""
301
330
  }
@@ -320,7 +349,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
320
349
  const chars = type && !isFreeGrid(content) ? Shorthands[type]({
321
350
  ...mentions,
322
351
  CHARACTERS,
323
- hideTools: updatedHideTools || []
352
+ hideTools: updatedHideTools || [],
353
+ translation: translation || translationFn
324
354
  }) : [];
325
355
  const handleEditorChange = newValue => {
326
356
  if (JSON.stringify(newValue) !== JSON.stringify(debouncedValue?.current)) {
@@ -345,9 +375,10 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
345
375
  isIframe: isIframe,
346
376
  onDrawerOpen: onDrawerOpen,
347
377
  ICON_API: "https://assets.agenciflow.com",
378
+ translation: translationFn,
348
379
  getTitleSaveData
349
380
  };
350
- const lineH = getBreakpointLineSpacing(lineHeight, breakpoint);
381
+ const lineH = getBreakpointLineSpacing(lineHeight, breakpoint || (isMobile ? "xs" : ""));
351
382
  const renderElement = useCallback(props => {
352
383
  return /*#__PURE__*/_jsx(Element, {
353
384
  ...props,
@@ -367,6 +398,15 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
367
398
  ...partialState
368
399
  }));
369
400
  };
401
+ const handleDeleteAll = () => {
402
+ const {
403
+ selection
404
+ } = editor;
405
+ if (selection) {
406
+ editor.deleteFragment();
407
+ dialogRef.current?.handleClose();
408
+ }
409
+ };
370
410
  const onKeyDown = useCallback(event => {
371
411
  const isMetaKey = event.metaKey && event.keyCode >= 65 && event.keyCode <= 90;
372
412
  const isCtrlKey = event.ctrlKey || isMetaKey;
@@ -413,16 +453,27 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
413
453
  const {
414
454
  selection
415
455
  } = editor;
456
+ const everythingSelect = isEverythingSelected(editor);
416
457
  event.preventDefault();
417
- if (selection) {
418
- if (!Range.isCollapsed(selection)) {
419
- editor.deleteFragment();
420
- } else {
421
- editor.deleteBackward({
422
- unit: "character"
423
- });
458
+ if (everythingSelect) {
459
+ dialogRef.current?.handleOpen();
460
+ } else {
461
+ if (selection) {
462
+ if (!Range.isCollapsed(selection)) {
463
+ editor.deleteFragment();
464
+ } else {
465
+ editor.deleteBackward({
466
+ unit: "character"
467
+ });
468
+ }
424
469
  }
425
470
  }
471
+ } else if (event.key === "Delete") {
472
+ const everythingSelect = isEverythingSelected(editor);
473
+ if (everythingSelect) {
474
+ event.preventDefault();
475
+ dialogRef.current?.handleOpen();
476
+ }
426
477
  }
427
478
  }, [chars, target, mentions, setMentions, search, type, mentionsRef]);
428
479
  const Overlay = collaborativeEditor && !isReadOnly ? RemoteCursorOverlay : React.Fragment;
@@ -472,6 +523,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
472
523
  }
473
524
  return style;
474
525
  }, [pageBgImage, pageColor]);
526
+ const themeProps = getTheme(selectedTheme);
475
527
 
476
528
  // const handleContextMenu = (e) => {
477
529
  // if (!readOnly) {
@@ -501,14 +553,74 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
501
553
  console.log("handleCursorScroll", err);
502
554
  }
503
555
  };
504
- return /*#__PURE__*/_jsx(EditorProvider, {
556
+ window.getTextIndeces = () => {
557
+ try {
558
+ const textWithPaths = extractTextWithPath(editor.children, []);
559
+ return textWithPaths;
560
+ } catch (err) {
561
+ console.log(err);
562
+ }
563
+ };
564
+ window.replaceTextIndeces = (path_data = []) => {
565
+ try {
566
+ const replacedJson = replaceTextPath(JSON.parse(JSON.stringify(editor.children)), path_data);
567
+
568
+ // loop delete all
569
+ editor.children.forEach(() => {
570
+ Transforms.delete(editor, {
571
+ at: [0]
572
+ });
573
+ });
574
+
575
+ // Insert new nodes
576
+ Transforms.insertNodes(editor, replacedJson, {
577
+ at: [0]
578
+ });
579
+ } catch (err) {
580
+ console.log(err);
581
+ }
582
+ };
583
+ window.replaceEditorContent = (fragments = []) => {
584
+ try {
585
+ // loop delete all
586
+ editor.children.forEach(() => {
587
+ Transforms.delete(editor, {
588
+ at: [0]
589
+ });
590
+ });
591
+
592
+ // Insert new nodes
593
+ Transforms.insertNodes(editor, fragments, {
594
+ at: [0]
595
+ });
596
+ } catch (err) {
597
+ console.log(err);
598
+ }
599
+ };
600
+ return /*#__PURE__*/_jsxs(EditorProvider, {
505
601
  theme: theme,
506
602
  editor: editor,
507
- children: /*#__PURE__*/_jsx(DialogWrapper, {
603
+ openTheme: openTheme,
604
+ setOpenTheme: setOpenTheme,
605
+ triggerRender: triggerRender,
606
+ children: [showThemeButtons ? /*#__PURE__*/_jsxs("div", {
607
+ className: "theme-buttons",
608
+ children: [/*#__PURE__*/_jsx(IconButton, {
609
+ onClick: () => setOpenTheme(true),
610
+ children: /*#__PURE__*/_jsx(ThemePaintIcon, {})
611
+ }), /*#__PURE__*/_jsx(IconButton, {
612
+ onClick: () => setOpenAITheme(true),
613
+ style: {
614
+ marginTop: "4px"
615
+ },
616
+ children: /*#__PURE__*/_jsx(ThemeAIIcon, {})
617
+ })]
618
+ }) : null, /*#__PURE__*/_jsx(DialogWrapper, {
508
619
  classes: classes,
509
620
  ...props,
510
621
  fullScreen: fullScreen,
511
622
  footer: footer || "",
623
+ selectedTheme: selectedTheme,
512
624
  children: /*#__PURE__*/_jsxs(Box, {
513
625
  component: "div",
514
626
  className: `et-wrpr stimulate-${breakpoint} ${editorClass || ""} ${isIframe ? "iframe-editor" : ""}`,
@@ -538,6 +650,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
538
650
  children: /*#__PURE__*/_jsxs(Box, {
539
651
  component: "div",
540
652
  className: "max-content",
653
+ sx: themeProps?.sxProps || {},
541
654
  "data-info": outsideEditorClickLabel,
542
655
  children: [renderTopBanner(), /*#__PURE__*/_jsx("div", {
543
656
  className: "scroll-area",
@@ -582,7 +695,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
582
695
  chars: chars,
583
696
  type: type,
584
697
  theme: theme,
585
- otherProps: otherProps
698
+ otherProps: otherProps,
699
+ customProps: customProps
586
700
  }) : null, /*#__PURE__*/_jsx(RnDCopy, {
587
701
  readOnly: readOnly
588
702
  })]
@@ -592,7 +706,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
592
706
  theme: theme
593
707
  }) : null, /*#__PURE__*/_jsx(PopoverAIInput, {
594
708
  otherProps: otherProps || {},
595
- editorWrapper: editorWrapper
709
+ editorWrapper: editorWrapper,
710
+ translation: translation || translationMock
596
711
  }), footer && (fullScreen || readOnly) && /*#__PURE__*/_jsx(Typography, {
597
712
  sx: {
598
713
  color: "rgb(100, 116, 139)",
@@ -604,6 +719,15 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
604
719
  "data-info": outsideEditorClickLabel,
605
720
  onClick: handleFooterClick,
606
721
  children: footer
722
+ }), openTheme ? /*#__PURE__*/_jsx(ThemeSettings, {
723
+ open: openTheme,
724
+ setOpen: setOpenTheme,
725
+ editor: editor,
726
+ services: otherProps?.services
727
+ }) : null, /*#__PURE__*/_jsx(ThemeSettingsAI, {
728
+ openAITheme: openAITheme,
729
+ setOpenAITheme: setOpenAITheme,
730
+ onSaveTheme: otherProps?.onSaveTheme
607
731
  })]
608
732
  })
609
733
  }), !readOnly ? /*#__PURE__*/_jsx(PopupTool, {
@@ -612,14 +736,17 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
612
736
  setIsTextSelected: setIsTextSelected,
613
737
  customProps: customProps,
614
738
  editorWrapper: editorWrapper
615
- }) : null, !readOnly && showViewport ? /*#__PURE__*/_jsx(SwitchViewport, {
739
+ }) : null, !readOnly ? /*#__PURE__*/_jsx(SwitchViewport, {
616
740
  breakpoint: breakpoint,
617
- onChange: b => onSwitchBreakpoint(b)
741
+ show: showViewport,
742
+ onChange: b => onSwitchBreakpoint(b),
743
+ translation: translation || translationMock
618
744
  }) : null]
619
745
  })
620
746
  }), htmlAction.showInput && /*#__PURE__*/_jsx(CodeToText, {
621
747
  ...htmlAction,
622
- handleCodeToText: handleCodeToText
748
+ handleCodeToText: handleCodeToText,
749
+ translation: translation || translationMock
623
750
  })]
624
751
  }, id), /*#__PURE__*/_jsx(FontLoader, {
625
752
  otherProps: {
@@ -628,7 +755,16 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
628
755
  readOnly: readOnly
629
756
  })]
630
757
  })
631
- })
758
+ }), /*#__PURE__*/_jsx(CustomDialogComponent, {
759
+ ref: dialogRef,
760
+ content: "Are you sure you want to delete All the content?",
761
+ confirmText: "Delete",
762
+ cancelText: "Cancel",
763
+ onConfirm: () => {
764
+ handleDeleteAll();
765
+ },
766
+ translation: translation || translationMock
767
+ })]
632
768
  });
633
769
  });
634
770
  CommonEditor.displayName = "CommonEditor";
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { Dialog, DialogTitle, DialogContent, IconButton, Grid } from "@mui/material";
3
3
  import CloseIcon from "@mui/icons-material/Close";
4
4
  import ViewportStimulator from "./common/RnD/Theme/ViewportStimulator";
5
+ import MainThemeProvider from "./common/RnD/Theme/MainThemeProvider";
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
6
7
  import { jsxs as _jsxs } from "react/jsx-runtime";
7
8
  const DialogWrapper = props => {
@@ -9,40 +10,45 @@ const DialogWrapper = props => {
9
10
  fullScreen,
10
11
  onClose,
11
12
  children,
12
- classes
13
+ classes,
14
+ selectedTheme
13
15
  } = props;
14
- return fullScreen ? /*#__PURE__*/_jsxs(Dialog, {
15
- className: `dialogComp`,
16
- open: fullScreen,
17
- fullScreen: fullScreen,
18
- onClose: onClose,
19
- style: {
20
- zIndex: 1000
21
- },
22
- sx: classes.fullScreenWrapper,
23
- children: [/*#__PURE__*/_jsx(DialogTitle, {
16
+ return fullScreen ? /*#__PURE__*/_jsx(MainThemeProvider, {
17
+ userSelectedTheme: selectedTheme,
18
+ children: /*#__PURE__*/_jsxs(Dialog, {
19
+ className: `dialogComp`,
20
+ open: fullScreen,
21
+ fullScreen: fullScreen,
22
+ onClose: onClose,
24
23
  style: {
25
- padding: "6px 8px"
24
+ zIndex: 1000
26
25
  },
27
- children: /*#__PURE__*/_jsx(Grid, {
26
+ sx: classes.fullScreenWrapper,
27
+ children: [/*#__PURE__*/_jsx(DialogTitle, {
28
+ style: {
29
+ padding: "6px 8px"
30
+ },
28
31
  children: /*#__PURE__*/_jsx(Grid, {
29
- style: {
30
- display: "flex",
31
- justifyContent: "end"
32
- },
33
- children: /*#__PURE__*/_jsx(IconButton, {
34
- onClick: onClose,
32
+ children: /*#__PURE__*/_jsx(Grid, {
35
33
  style: {
36
- background: "rgba(255,255,255,0.5)"
34
+ display: "flex",
35
+ justifyContent: "end"
37
36
  },
38
- children: /*#__PURE__*/_jsx(CloseIcon, {})
37
+ children: /*#__PURE__*/_jsx(IconButton, {
38
+ onClick: onClose,
39
+ style: {
40
+ background: "rgba(255,255,255,0.5)"
41
+ },
42
+ children: /*#__PURE__*/_jsx(CloseIcon, {})
43
+ })
39
44
  })
40
45
  })
41
- })
42
- }), /*#__PURE__*/_jsx(DialogContent, {
43
- children: children
44
- })]
46
+ }), /*#__PURE__*/_jsx(DialogContent, {
47
+ children: children
48
+ })]
49
+ })
45
50
  }) : /*#__PURE__*/_jsx(ViewportStimulator, {
51
+ selectedTheme: selectedTheme,
46
52
  children: children
47
53
  });
48
54
  };
@@ -1339,4 +1339,22 @@ code.markcode {
1339
1339
  display: block;
1340
1340
  background-color: #f3f3f3;
1341
1341
  font-family: 'Source Code Pro' !important;
1342
- }
1342
+ }
1343
+
1344
+ /* Hide the popper when the reference is hidden */
1345
+ .hide-popper-on-overlap[data-popper-escaped],
1346
+ .hide-popper-on-overlap[data-popper-reference-hidden] {
1347
+ visibility: hidden;
1348
+ pointer-events: none;
1349
+ }
1350
+
1351
+ .theme-buttons {
1352
+ display: flex;
1353
+ justify-content: end;
1354
+ align-items: center;
1355
+ margin: auto;
1356
+ position: absolute;
1357
+ top: 60px;
1358
+ right: 20px;
1359
+ z-index: 1000;
1360
+ }
@@ -43,7 +43,8 @@ function AIInput({
43
43
  onClickOutside,
44
44
  startRecording,
45
45
  loading,
46
- isMobile
46
+ isMobile,
47
+ translation
47
48
  }, ref) {
48
49
  const {
49
50
  theme
@@ -115,7 +116,7 @@ function AIInput({
115
116
  children: /*#__PURE__*/_jsx(WaveLoading, {})
116
117
  }) : /*#__PURE__*/_jsx(TextareaAutosize, {
117
118
  className: "ai-input",
118
- placeholder: "Ask AI to write anything...",
119
+ placeholder: translation("askAItoWrite"),
119
120
  ref: inputRef,
120
121
  value: inputValue,
121
122
  onChange: onInputChange,
@@ -150,7 +151,8 @@ function AIInput({
150
151
  children: /*#__PURE__*/_jsx(CustomSelect, {
151
152
  ...props,
152
153
  onSend: onSend,
153
- classes: classes
154
+ classes: classes,
155
+ translation: translation
154
156
  })
155
157
  })]
156
158
  });