@flozy/editor 9.3.2 → 9.3.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 (250) hide show
  1. package/dist/Editor/ChatEditor.js +50 -15
  2. package/dist/Editor/CommonEditor.js +133 -22
  3. package/dist/Editor/DialogWrapper.js +31 -25
  4. package/dist/Editor/Editor.css +17 -7
  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 +60 -14
  26. package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
  27. package/dist/Editor/Elements/Color Picker/ColorPicker.js +4 -4
  28. package/dist/Editor/Elements/Color Picker/Styles.js +3 -3
  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 +4 -3
  34. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +6 -1
  35. package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +7 -2
  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 +64 -38
  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 +4 -1
  50. package/dist/Editor/Elements/DataView/Layouts/TableView.js +6 -4
  51. package/dist/Editor/Elements/DataView/Layouts/index.js +3 -1
  52. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +5 -2
  53. package/dist/Editor/Elements/Divider/Divider.js +5 -3
  54. package/dist/Editor/Elements/Divider/DividerButton.js +6 -2
  55. package/dist/Editor/Elements/Divider/DividerPopup.js +3 -2
  56. package/dist/Editor/Elements/Embed/Embed.js +4 -1
  57. package/dist/Editor/Elements/Embed/EmbedPopup.js +4 -1
  58. package/dist/Editor/Elements/Embed/Image.js +16 -11
  59. package/dist/Editor/Elements/Embed/Video.js +10 -7
  60. package/dist/Editor/Elements/EmbedScript/Code.js +7 -4
  61. package/dist/Editor/Elements/EmbedScript/EmbedScript.js +6 -2
  62. package/dist/Editor/Elements/EmbedScript/EmbedScriptPopup.js +8 -5
  63. package/dist/Editor/Elements/Emoji/EmojiButton.js +6 -2
  64. package/dist/Editor/Elements/Form/FieldPopup.js +4 -1
  65. package/dist/Editor/Elements/Form/Form.js +12 -9
  66. package/dist/Editor/Elements/Form/FormButton.js +6 -2
  67. package/dist/Editor/Elements/Form/FormPopup.js +3 -2
  68. package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +18 -12
  69. package/dist/Editor/Elements/Form/Workflow/ListWorkflow.js +13 -8
  70. package/dist/Editor/Elements/Form/Workflow/MoreOptions.js +3 -2
  71. package/dist/Editor/Elements/Form/Workflow/UserInputs.js +4 -2
  72. package/dist/Editor/Elements/Form/Workflow/index.js +15 -9
  73. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +21 -18
  74. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +6 -2
  75. package/dist/Editor/Elements/FreeGrid/FreeGridButton.js +6 -2
  76. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +8 -3
  77. package/dist/Editor/Elements/FreeGrid/Options/AddElement.js +3 -2
  78. package/dist/Editor/Elements/FreeGrid/Options/More.js +4 -3
  79. package/dist/Editor/Elements/FreeGrid/styles.js +3 -0
  80. package/dist/Editor/Elements/Grid/Grid.js +13 -10
  81. package/dist/Editor/Elements/Grid/GridButton.js +9 -5
  82. package/dist/Editor/Elements/Grid/GridItem.js +14 -8
  83. package/dist/Editor/Elements/Grid/GridItemPopup.js +4 -1
  84. package/dist/Editor/Elements/Grid/GridPopup.js +4 -1
  85. package/dist/Editor/Elements/Grid/SectionPopup.js +4 -1
  86. package/dist/Editor/Elements/Link/Link.js +14 -7
  87. package/dist/Editor/Elements/Link/LinkButton.js +4 -1
  88. package/dist/Editor/Elements/List/CheckList.js +14 -9
  89. package/dist/Editor/Elements/NewLine/NewLineButton.js +6 -2
  90. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +16 -5
  91. package/dist/Editor/Elements/PageSettings/PageSettingsPopup.js +4 -1
  92. package/dist/Editor/Elements/Search/SearchButton.js +6 -3
  93. package/dist/Editor/Elements/Search/SearchList.js +7 -3
  94. package/dist/Editor/Elements/Signature/SignatureButton.js +6 -2
  95. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +6 -2
  96. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +4 -1
  97. package/dist/Editor/Elements/Signature/SignaturePopup.js +17 -16
  98. package/dist/Editor/Elements/SimpleText/index.js +5 -4
  99. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  100. package/dist/Editor/Elements/Table/DragButton.js +4 -2
  101. package/dist/Editor/Elements/Table/Table.js +48 -25
  102. package/dist/Editor/Elements/Table/TableCell.js +6 -27
  103. package/dist/Editor/Elements/Table/TablePopup.js +4 -1
  104. package/dist/Editor/Elements/Table/TableSelector.js +10 -6
  105. package/dist/Editor/Elements/Table/TableTool.js +8 -4
  106. package/dist/Editor/Elements/Title/title.js +10 -0
  107. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +4 -1
  108. package/dist/Editor/Elements/Variables/VariableButton.js +10 -1
  109. package/dist/Editor/MiniEditor.js +9 -3
  110. package/dist/Editor/Styles/EditorStyles.js +5 -5
  111. package/dist/Editor/Toolbar/Basic/index.js +2 -1
  112. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +6 -2
  113. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
  114. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
  115. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +8 -4
  116. package/dist/Editor/Toolbar/FormatTools/TextSize.js +7 -13
  117. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +20 -15
  118. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +10 -5
  119. package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +10 -4
  120. package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +10 -4
  121. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +6 -2
  122. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectAlignment.js +42 -35
  123. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
  124. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +58 -51
  125. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectSuperSubscript.js +29 -22
  126. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +226 -87
  127. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +15 -7
  128. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +8 -4
  129. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +16 -9
  130. package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +11 -5
  131. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +120 -41
  132. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +441 -0
  133. package/dist/Editor/Toolbar/PopupTool/index.js +3 -8
  134. package/dist/Editor/Toolbar/Toolbar.js +20 -10
  135. package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
  136. package/dist/Editor/assets/svg/CalenderIconTick.js +1 -0
  137. package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
  138. package/dist/Editor/common/ColorPickerButton.js +45 -10
  139. package/dist/Editor/common/CustomColorPicker/index.js +125 -0
  140. package/dist/Editor/common/CustomColorPicker/style.js +53 -0
  141. package/dist/Editor/common/CustomDialog/index.js +8 -10
  142. package/dist/Editor/common/CustomDialog2/index.js +94 -0
  143. package/dist/Editor/common/CustomDialog2/style.js +67 -0
  144. package/dist/Editor/common/CustomSelect.js +33 -0
  145. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  146. package/dist/Editor/common/FontLoader/FontLoader.js +3 -0
  147. package/dist/Editor/common/Icon.js +46 -1
  148. package/dist/Editor/common/ImageSelector/ImageSelector.js +10 -8
  149. package/dist/Editor/common/ImageSelector/Options/AddLink.js +6 -4
  150. package/dist/Editor/common/ImageSelector/Styles.js +3 -9
  151. package/dist/Editor/common/LinkSettings/NavComponents.js +14 -10
  152. package/dist/Editor/common/LinkSettings/index.js +20 -14
  153. package/dist/Editor/common/LinkSettings/navOptions.js +1 -1
  154. package/dist/Editor/common/MentionsPopup/Styles.js +106 -68
  155. package/dist/Editor/common/MentionsPopup/index.js +8 -4
  156. package/dist/Editor/common/RnD/ContextMenu/CMenus.js +22 -22
  157. package/dist/Editor/common/RnD/ContextMenu/index.js +3 -2
  158. package/dist/Editor/common/RnD/ElementOptions/index.js +7 -2
  159. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/SaveAsTemplate.js +8 -3
  160. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +7 -3
  161. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
  162. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
  163. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
  164. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
  165. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +7 -4
  166. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +3 -2
  167. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
  168. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +6 -2
  169. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
  170. package/dist/Editor/common/RnD/OptionsPopup/index.js +4 -3
  171. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +11 -4
  172. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
  173. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +20 -8
  174. package/dist/Editor/common/RnD/Utils/index.js +45 -0
  175. package/dist/Editor/common/RnD/VirtualElement/index.js +1 -2
  176. package/dist/Editor/common/RnD/index.js +34 -7
  177. package/dist/Editor/common/Section/index.js +7 -4
  178. package/dist/Editor/common/Shorthands/elements.js +98 -10
  179. package/dist/Editor/common/StyleBuilder/appHeaderStyle.js +4 -4
  180. package/dist/Editor/common/StyleBuilder/boxStyle.js +2 -2
  181. package/dist/Editor/common/StyleBuilder/buttonStyle.js +6 -4
  182. package/dist/Editor/common/StyleBuilder/dividerStyles.js +2 -2
  183. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +6 -6
  184. package/dist/Editor/common/StyleBuilder/fieldStyle.js +2 -2
  185. package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +13 -9
  186. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +11 -3
  187. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +19 -5
  188. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +22 -10
  189. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +6 -3
  190. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +27 -13
  191. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +41 -14
  192. package/dist/Editor/common/StyleBuilder/fieldTypes/elementSize.js +10 -6
  193. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +19 -6
  194. package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +6 -2
  195. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +5 -2
  196. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +9 -6
  197. package/dist/Editor/common/StyleBuilder/fieldTypes/metaDataMapping.js +8 -2
  198. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +12 -11
  199. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +6 -2
  200. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +8 -4
  201. package/dist/Editor/common/StyleBuilder/fieldTypes/textAlign.js +6 -2
  202. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +21 -12
  203. package/dist/Editor/common/StyleBuilder/formStyle.js +7 -7
  204. package/dist/Editor/common/StyleBuilder/gridItemStyle.js +6 -6
  205. package/dist/Editor/common/StyleBuilder/gridStyle.js +5 -5
  206. package/dist/Editor/common/StyleBuilder/index.js +8 -5
  207. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +5 -7
  208. package/dist/Editor/common/Uploader.js +16 -5
  209. package/dist/Editor/commonStyle.js +55 -65
  210. package/dist/Editor/helper/index.js +8 -12
  211. package/dist/Editor/helper/textIndeces.js +58 -0
  212. package/dist/Editor/helper/theme.js +200 -2
  213. package/dist/Editor/hooks/useDrag.js +16 -10
  214. package/dist/Editor/hooks/useEditorScroll.js +10 -5
  215. package/dist/Editor/hooks/useEditorTheme.js +153 -0
  216. package/dist/Editor/hooks/useMouseMove.js +25 -13
  217. package/dist/Editor/hooks/useTable.js +1 -1
  218. package/dist/Editor/plugins/withEmbeds.js +1 -1
  219. package/dist/Editor/plugins/withHTML.js +18 -13
  220. package/dist/Editor/plugins/withLayout.js +3 -2
  221. package/dist/Editor/plugins/withTable.js +1 -1
  222. package/dist/Editor/theme/ThemeList.js +50 -173
  223. package/dist/Editor/theme/index.js +144 -0
  224. package/dist/Editor/themeSettings/ActiveTheme.js +72 -0
  225. package/dist/Editor/themeSettings/buttons/index.js +285 -0
  226. package/dist/Editor/themeSettings/buttons/style.js +23 -0
  227. package/dist/Editor/themeSettings/colorTheme/index.js +297 -0
  228. package/dist/Editor/themeSettings/colorTheme/style.js +81 -0
  229. package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
  230. package/dist/Editor/themeSettings/fonts/index.js +222 -0
  231. package/dist/Editor/themeSettings/fonts/style.js +59 -0
  232. package/dist/Editor/themeSettings/icons.js +60 -0
  233. package/dist/Editor/themeSettings/index.js +328 -0
  234. package/dist/Editor/themeSettings/style.js +193 -0
  235. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  236. package/dist/Editor/themeSettingsAI/index.js +355 -0
  237. package/dist/Editor/themeSettingsAI/saveTheme.js +215 -0
  238. package/dist/Editor/themeSettingsAI/style.js +250 -0
  239. package/dist/Editor/utils/SlateUtilityFunctions.js +171 -47
  240. package/dist/Editor/utils/button.js +7 -2
  241. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +23 -0
  242. package/dist/Editor/utils/dataView.js +5 -2
  243. package/dist/Editor/utils/divider.js +8 -0
  244. package/dist/Editor/utils/draftToSlate.js +3 -2
  245. package/dist/Editor/utils/embed.js +9 -4
  246. package/dist/Editor/utils/font.js +40 -37
  247. package/dist/Editor/utils/helper.js +74 -20
  248. package/dist/Editor/utils/signature.js +5 -2
  249. package/dist/Editor/utils/table.js +8 -0
  250. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import React, { useCallback, useMemo, useRef, useState, useImperativeHandle, forwardRef } from "react";
2
- import { Editable, Slate, ReactEditor } from 'slate-react';
3
- import { createEditor, Transforms, Editor } from 'slate';
2
+ import { Editable, Slate, ReactEditor } from "slate-react";
3
+ import { createEditor, Transforms, Editor } from "slate";
4
4
  import withCommon from "./hooks/withCommon";
5
5
  import { getBlock, getMarked, serializeMentions } from "./utils/chatEditor/SlateUtilityFunctions";
6
6
  import MiniTextFormat from "./Toolbar/PopupTool/MiniTextFormat";
@@ -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,19 +31,21 @@ 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({
37
41
  data: content && content?.length > 0 ? content : [{
38
- type: 'paragraph',
42
+ type: "paragraph",
39
43
  children: [{
40
- text: ''
44
+ text: ""
41
45
  }]
42
46
  }]
43
47
  });
44
- const [value] = 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
  };
@@ -216,7 +239,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
216
239
  editor
217
240
  });
218
241
  } else if (event.key === "Enter" && !isMobile) {
219
- const isEmpty = debouncedValue?.current.length === 1 && debouncedValue?.current[0].type === 'paragraph' && debouncedValue?.current[0].children.length === 1 && debouncedValue?.current[0].children[0].text === '';
242
+ const isEmpty = debouncedValue?.current.length === 1 && debouncedValue?.current[0].type === "paragraph" && debouncedValue?.current[0].children.length === 1 && debouncedValue?.current[0].children[0].text === "";
220
243
  if (isEmpty) {
221
244
  event.preventDefault();
222
245
  return;
@@ -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";
29
+ import { getTRBLBreakPoints, getVariableValue, getBreakpointLineSpacing } from "./helper/theme";
30
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,9 +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";
40
44
  import { CustomDialogComponent } from "./common/CustomDialog";
45
+ import { extractTextWithPath, replaceTextPath } from "./helper/textIndeces.js";
41
46
  import { jsx as _jsx } from "react/jsx-runtime";
42
47
  import { jsxs as _jsxs } from "react/jsx-runtime";
48
+ export const ThemeContext = /*#__PURE__*/createContext(null);
43
49
  const Item = /*#__PURE__*/forwardRef(({
44
50
  children,
45
51
  ...props
@@ -81,6 +87,7 @@ const updateTopBanner = (content = [], setTopBanner) => {
81
87
  return firstNode?.type === "topbanner" ? firstNode : null;
82
88
  });
83
89
  };
90
+ const dummyTranslation = () => {};
84
91
  const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
85
92
  const {
86
93
  id,
@@ -94,13 +101,16 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
94
101
  otherProps,
95
102
  isIframe,
96
103
  theme,
104
+ showThemeButtons,
97
105
  showViewport = false,
98
- overrideWrapperStyles = {}
106
+ overrideWrapperStyles = {},
107
+ translation
99
108
  } = props;
100
109
  const editorWrapper = useRef();
101
110
  const mentionsRef = useRef();
102
111
  const convertedContent = draftToSlate({
103
- data: content
112
+ data: content,
113
+ needLayout: otherProps?.needLayout
104
114
  });
105
115
  const [value, setValue] = useState(convertedContent);
106
116
  const [isInteracted, setIsInteracted] = useState(false);
@@ -125,12 +135,15 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
125
135
  editorClass,
126
136
  fixedWidth = "60%",
127
137
  fullWidth = "80%",
128
- hideTools = []
138
+ hideTools = [],
139
+ translationMock
129
140
  } = otherProps || {};
141
+ const translationFn = translation || translationMock || dummyTranslation;
130
142
  const editor = useMemo(() => {
131
143
  if (collaborativeEditor) return collaborativeEditor;
132
144
  const editor = createEditor();
133
145
  editor.needLayout = needLayout;
146
+ editor.translation = translationFn;
134
147
  return withCommon(editor, {
135
148
  needLayout
136
149
  });
@@ -141,10 +154,11 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
141
154
  const {
142
155
  bannerSpacing,
143
156
  pageBgImage,
144
- pageColor,
157
+ pageColor = "",
145
158
  color: pageTextColor,
146
159
  pageWidth,
147
160
  maxWidth: pageMaxWidth,
161
+ theme: selectedTheme,
148
162
  lineHeight
149
163
  } = pageSt?.pageProps || {
150
164
  bannerSpacing: {
@@ -156,10 +170,17 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
156
170
  };
157
171
  const classes = editorStyles({
158
172
  padHeight: !fullScreen ? otherProps?.padHeight : 20,
159
- placeHolderColor: invertColor(pageColor || "#FFF"),
173
+ placeHolderColor: invertColor(pageColor.startsWith("var") ? getVariableValue(pageColor) : pageColor || "#FFF"),
160
174
  theme,
161
175
  overrideWrapperStyles
162
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
+
163
184
  const isMobile = window.matchMedia("(max-width: 899px)")?.matches || false;
164
185
  useEffect(() => {
165
186
  setValue(draftToSlate({
@@ -173,11 +194,11 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
173
194
  const debounced = useDebouncedCallback(
174
195
  // function
175
196
  value => {
197
+ debouncedValue.current = value;
176
198
  const {
177
199
  value: strVal,
178
200
  ...restVal
179
201
  } = getOnSaveData(value);
180
- debouncedValue.current = value;
181
202
  onSave(strVal, restVal);
182
203
  },
183
204
  // delay in ms
@@ -188,7 +209,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
188
209
  return {
189
210
  value: JSON.stringify(val),
190
211
  text: text,
191
- title: serializeToText(title?.children) || "Untitled"
212
+ title: serializeToText(title?.children) || ""
192
213
  };
193
214
  };
194
215
  const getTitleSaveData = title => {
@@ -220,7 +241,9 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
220
241
 
221
242
  const onSwitchBreakpoint = b => {
222
243
  setBreakpoint(b);
223
- reRenderAllNodes();
244
+ setTimeout(() => {
245
+ reRenderAllNodes();
246
+ }, 0);
224
247
  };
225
248
  useImperativeHandle(ref, () => ({
226
249
  async getThumbnail(needBackground = false, options = {}) {
@@ -298,6 +321,12 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
298
321
  redo() {
299
322
  editor?.redo();
300
323
  },
324
+ toggleTheme() {
325
+ setOpenTheme(!openTheme);
326
+ },
327
+ toggleAITheme() {
328
+ setOpenAITheme(!openAITheme);
329
+ },
301
330
  getPageSettings: {
302
331
  background: pageBgImage && pageBgImage !== "none" ? `url(${pageBgImage})` : pageColor || ""
303
332
  }
@@ -322,7 +351,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
322
351
  const chars = type && !isFreeGrid(content) ? Shorthands[type]({
323
352
  ...mentions,
324
353
  CHARACTERS,
325
- hideTools: updatedHideTools || []
354
+ hideTools: updatedHideTools || [],
355
+ translation: translation || translationFn
326
356
  }) : [];
327
357
  const handleEditorChange = newValue => {
328
358
  if (JSON.stringify(newValue) !== JSON.stringify(debouncedValue?.current)) {
@@ -347,9 +377,10 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
347
377
  isIframe: isIframe,
348
378
  onDrawerOpen: onDrawerOpen,
349
379
  ICON_API: "https://assets.agenciflow.com",
380
+ translation: translationFn,
350
381
  getTitleSaveData
351
382
  };
352
- const lineH = getBreakpointLineSpacing(lineHeight, breakpoint);
383
+ const lineH = getBreakpointLineSpacing(lineHeight, breakpoint || (isMobile ? "xs" : ""));
353
384
  const renderElement = useCallback(props => {
354
385
  return /*#__PURE__*/_jsx(Element, {
355
386
  ...props,
@@ -493,7 +524,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
493
524
  style.background = pageColor || "";
494
525
  }
495
526
  return style;
496
- }, [pageBgImage, pageColor]);
527
+ }, [pageBgImage, pageColor, pageTextColor]);
528
+ const themeProps = getTheme(selectedTheme);
497
529
 
498
530
  // const handleContextMenu = (e) => {
499
531
  // if (!readOnly) {
@@ -523,14 +555,74 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
523
555
  console.log("handleCursorScroll", err);
524
556
  }
525
557
  };
558
+ window.getTextIndeces = () => {
559
+ try {
560
+ const textWithPaths = extractTextWithPath(editor.children, []);
561
+ return textWithPaths;
562
+ } catch (err) {
563
+ console.log(err);
564
+ }
565
+ };
566
+ window.replaceTextIndeces = (path_data = []) => {
567
+ try {
568
+ const replacedJson = replaceTextPath(JSON.parse(JSON.stringify(editor.children)), path_data);
569
+
570
+ // loop delete all
571
+ editor.children.forEach(() => {
572
+ Transforms.delete(editor, {
573
+ at: [0]
574
+ });
575
+ });
576
+
577
+ // Insert new nodes
578
+ Transforms.insertNodes(editor, replacedJson, {
579
+ at: [0]
580
+ });
581
+ } catch (err) {
582
+ console.log(err);
583
+ }
584
+ };
585
+ window.replaceEditorContent = (fragments = []) => {
586
+ try {
587
+ // loop delete all
588
+ editor.children.forEach(() => {
589
+ Transforms.delete(editor, {
590
+ at: [0]
591
+ });
592
+ });
593
+
594
+ // Insert new nodes
595
+ Transforms.insertNodes(editor, fragments, {
596
+ at: [0]
597
+ });
598
+ } catch (err) {
599
+ console.log(err);
600
+ }
601
+ };
526
602
  return /*#__PURE__*/_jsxs(EditorProvider, {
527
603
  theme: theme,
528
604
  editor: editor,
529
- children: [/*#__PURE__*/_jsx(DialogWrapper, {
605
+ openTheme: openTheme,
606
+ setOpenTheme: setOpenTheme,
607
+ triggerRender: triggerRender,
608
+ children: [showThemeButtons ? /*#__PURE__*/_jsxs("div", {
609
+ className: "theme-buttons",
610
+ children: [/*#__PURE__*/_jsx(IconButton, {
611
+ onClick: () => setOpenTheme(true),
612
+ children: /*#__PURE__*/_jsx(ThemePaintIcon, {})
613
+ }), /*#__PURE__*/_jsx(IconButton, {
614
+ onClick: () => setOpenAITheme(true),
615
+ style: {
616
+ marginTop: "4px"
617
+ },
618
+ children: /*#__PURE__*/_jsx(ThemeAIIcon, {})
619
+ })]
620
+ }) : null, /*#__PURE__*/_jsx(DialogWrapper, {
530
621
  classes: classes,
531
622
  ...props,
532
623
  fullScreen: fullScreen,
533
624
  footer: footer || "",
625
+ selectedTheme: selectedTheme,
534
626
  children: /*#__PURE__*/_jsxs(Box, {
535
627
  component: "div",
536
628
  className: `et-wrpr stimulate-${breakpoint} ${editorClass || ""} ${isIframe ? "iframe-editor" : ""}`,
@@ -560,6 +652,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
560
652
  children: /*#__PURE__*/_jsxs(Box, {
561
653
  component: "div",
562
654
  className: "max-content",
655
+ sx: themeProps?.sxProps || {},
563
656
  "data-info": outsideEditorClickLabel,
564
657
  children: [renderTopBanner(), /*#__PURE__*/_jsx("div", {
565
658
  className: "scroll-area",
@@ -604,7 +697,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
604
697
  chars: chars,
605
698
  type: type,
606
699
  theme: theme,
607
- otherProps: otherProps
700
+ otherProps: otherProps,
701
+ customProps: customProps
608
702
  }) : null, /*#__PURE__*/_jsx(RnDCopy, {
609
703
  readOnly: readOnly
610
704
  })]
@@ -614,7 +708,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
614
708
  theme: theme
615
709
  }) : null, /*#__PURE__*/_jsx(PopoverAIInput, {
616
710
  otherProps: otherProps || {},
617
- editorWrapper: editorWrapper
711
+ editorWrapper: editorWrapper,
712
+ translation: translation || translationMock
618
713
  }), footer && (fullScreen || readOnly) && /*#__PURE__*/_jsx(Typography, {
619
714
  sx: {
620
715
  color: "rgb(100, 116, 139)",
@@ -626,6 +721,18 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
626
721
  "data-info": outsideEditorClickLabel,
627
722
  onClick: handleFooterClick,
628
723
  children: footer
724
+ }), openTheme ? /*#__PURE__*/_jsx(ThemeSettings, {
725
+ open: openTheme,
726
+ setOpen: setOpenTheme,
727
+ editor: editor,
728
+ services: otherProps?.services,
729
+ appTheme: theme,
730
+ customProps: customProps
731
+ }) : null, /*#__PURE__*/_jsx(ThemeSettingsAI, {
732
+ openAITheme: openAITheme,
733
+ setOpenAITheme: setOpenAITheme,
734
+ onSaveTheme: otherProps?.onSaveTheme,
735
+ theme: theme
629
736
  })]
630
737
  })
631
738
  }), !readOnly ? /*#__PURE__*/_jsx(PopupTool, {
@@ -634,14 +741,17 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
634
741
  setIsTextSelected: setIsTextSelected,
635
742
  customProps: customProps,
636
743
  editorWrapper: editorWrapper
637
- }) : null, !readOnly && showViewport ? /*#__PURE__*/_jsx(SwitchViewport, {
744
+ }) : null, !readOnly ? /*#__PURE__*/_jsx(SwitchViewport, {
638
745
  breakpoint: breakpoint,
639
- onChange: b => onSwitchBreakpoint(b)
746
+ show: showViewport,
747
+ onChange: b => onSwitchBreakpoint(b),
748
+ translation: translation || translationMock
640
749
  }) : null]
641
750
  })
642
751
  }), htmlAction.showInput && /*#__PURE__*/_jsx(CodeToText, {
643
752
  ...htmlAction,
644
- handleCodeToText: handleCodeToText
753
+ handleCodeToText: handleCodeToText,
754
+ translation: translation || translationMock
645
755
  })]
646
756
  }, id), /*#__PURE__*/_jsx(FontLoader, {
647
757
  otherProps: {
@@ -657,7 +767,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
657
767
  cancelText: "Cancel",
658
768
  onConfirm: () => {
659
769
  handleDeleteAll();
660
- }
770
+ },
771
+ translation: translation || translationMock
661
772
  })]
662
773
  });
663
774
  });
@@ -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
  };
@@ -1017,6 +1017,8 @@ blockquote {
1017
1017
  height: 16px;
1018
1018
  border: 2px solid #fff;
1019
1019
  box-shadow: 0px 1px 6px #aaa;
1020
+ top: 50%;
1021
+ transform: translate(-50%, -50%);
1020
1022
  }
1021
1023
  .spacingSlider {
1022
1024
  height: 9px !important;
@@ -1340,17 +1342,25 @@ code.markcode {
1340
1342
  background-color: #f3f3f3;
1341
1343
  font-family: 'Source Code Pro' !important;
1342
1344
  }
1345
+
1343
1346
  /* Hide the popper when the reference is hidden */
1344
1347
  .hide-popper-on-overlap[data-popper-escaped],
1345
1348
  .hide-popper-on-overlap[data-popper-reference-hidden] {
1346
1349
  visibility: hidden;
1347
1350
  pointer-events: none;
1348
1351
  }
1349
- code.markcode {
1350
- border-radius: 4px;
1351
- padding: 6px 8px;
1352
- margin: 8px 0px;
1353
- display: block;
1354
- background-color: #f3f3f3;
1355
- font-family: 'Source Code Pro' !important;
1352
+
1353
+ .theme-buttons {
1354
+ display: flex;
1355
+ justify-content: end;
1356
+ align-items: center;
1357
+ margin: auto;
1358
+ position: absolute;
1359
+ top: 60px;
1360
+ right: 20px;
1361
+ z-index: 1000;
1356
1362
  }
1363
+
1364
+ .hyperLink {
1365
+ word-break: break-all;
1366
+ }
@@ -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
  });