@flozy/editor 9.3.2 → 9.3.3

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 (248) hide show
  1. package/dist/Editor/ChatEditor.js +50 -15
  2. package/dist/Editor/CommonEditor.js +129 -20
  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 +93 -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 +0 -14
  241. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +23 -0
  242. package/dist/Editor/utils/divider.js +8 -0
  243. package/dist/Editor/utils/draftToSlate.js +3 -2
  244. package/dist/Editor/utils/embed.js +9 -4
  245. package/dist/Editor/utils/font.js +40 -37
  246. package/dist/Editor/utils/helper.js +65 -19
  247. package/dist/Editor/utils/table.js +8 -0
  248. 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 => {
@@ -298,6 +319,12 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
298
319
  redo() {
299
320
  editor?.redo();
300
321
  },
322
+ toggleTheme() {
323
+ setOpenTheme(!openTheme);
324
+ },
325
+ toggleAITheme() {
326
+ setOpenAITheme(!openAITheme);
327
+ },
301
328
  getPageSettings: {
302
329
  background: pageBgImage && pageBgImage !== "none" ? `url(${pageBgImage})` : pageColor || ""
303
330
  }
@@ -322,7 +349,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
322
349
  const chars = type && !isFreeGrid(content) ? Shorthands[type]({
323
350
  ...mentions,
324
351
  CHARACTERS,
325
- hideTools: updatedHideTools || []
352
+ hideTools: updatedHideTools || [],
353
+ translation: translation || translationFn
326
354
  }) : [];
327
355
  const handleEditorChange = newValue => {
328
356
  if (JSON.stringify(newValue) !== JSON.stringify(debouncedValue?.current)) {
@@ -347,9 +375,10 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
347
375
  isIframe: isIframe,
348
376
  onDrawerOpen: onDrawerOpen,
349
377
  ICON_API: "https://assets.agenciflow.com",
378
+ translation: translationFn,
350
379
  getTitleSaveData
351
380
  };
352
- const lineH = getBreakpointLineSpacing(lineHeight, breakpoint);
381
+ const lineH = getBreakpointLineSpacing(lineHeight, breakpoint || (isMobile ? "xs" : ""));
353
382
  const renderElement = useCallback(props => {
354
383
  return /*#__PURE__*/_jsx(Element, {
355
384
  ...props,
@@ -494,6 +523,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
494
523
  }
495
524
  return style;
496
525
  }, [pageBgImage, pageColor]);
526
+ const themeProps = getTheme(selectedTheme);
497
527
 
498
528
  // const handleContextMenu = (e) => {
499
529
  // if (!readOnly) {
@@ -523,14 +553,74 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
523
553
  console.log("handleCursorScroll", err);
524
554
  }
525
555
  };
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
+ };
526
600
  return /*#__PURE__*/_jsxs(EditorProvider, {
527
601
  theme: theme,
528
602
  editor: editor,
529
- 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, {
530
619
  classes: classes,
531
620
  ...props,
532
621
  fullScreen: fullScreen,
533
622
  footer: footer || "",
623
+ selectedTheme: selectedTheme,
534
624
  children: /*#__PURE__*/_jsxs(Box, {
535
625
  component: "div",
536
626
  className: `et-wrpr stimulate-${breakpoint} ${editorClass || ""} ${isIframe ? "iframe-editor" : ""}`,
@@ -560,6 +650,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
560
650
  children: /*#__PURE__*/_jsxs(Box, {
561
651
  component: "div",
562
652
  className: "max-content",
653
+ sx: themeProps?.sxProps || {},
563
654
  "data-info": outsideEditorClickLabel,
564
655
  children: [renderTopBanner(), /*#__PURE__*/_jsx("div", {
565
656
  className: "scroll-area",
@@ -604,7 +695,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
604
695
  chars: chars,
605
696
  type: type,
606
697
  theme: theme,
607
- otherProps: otherProps
698
+ otherProps: otherProps,
699
+ customProps: customProps
608
700
  }) : null, /*#__PURE__*/_jsx(RnDCopy, {
609
701
  readOnly: readOnly
610
702
  })]
@@ -614,7 +706,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
614
706
  theme: theme
615
707
  }) : null, /*#__PURE__*/_jsx(PopoverAIInput, {
616
708
  otherProps: otherProps || {},
617
- editorWrapper: editorWrapper
709
+ editorWrapper: editorWrapper,
710
+ translation: translation || translationMock
618
711
  }), footer && (fullScreen || readOnly) && /*#__PURE__*/_jsx(Typography, {
619
712
  sx: {
620
713
  color: "rgb(100, 116, 139)",
@@ -626,6 +719,18 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
626
719
  "data-info": outsideEditorClickLabel,
627
720
  onClick: handleFooterClick,
628
721
  children: footer
722
+ }), openTheme ? /*#__PURE__*/_jsx(ThemeSettings, {
723
+ open: openTheme,
724
+ setOpen: setOpenTheme,
725
+ editor: editor,
726
+ services: otherProps?.services,
727
+ appTheme: theme,
728
+ customProps: customProps
729
+ }) : null, /*#__PURE__*/_jsx(ThemeSettingsAI, {
730
+ openAITheme: openAITheme,
731
+ setOpenAITheme: setOpenAITheme,
732
+ onSaveTheme: otherProps?.onSaveTheme,
733
+ theme: theme
629
734
  })]
630
735
  })
631
736
  }), !readOnly ? /*#__PURE__*/_jsx(PopupTool, {
@@ -634,14 +739,17 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
634
739
  setIsTextSelected: setIsTextSelected,
635
740
  customProps: customProps,
636
741
  editorWrapper: editorWrapper
637
- }) : null, !readOnly && showViewport ? /*#__PURE__*/_jsx(SwitchViewport, {
742
+ }) : null, !readOnly ? /*#__PURE__*/_jsx(SwitchViewport, {
638
743
  breakpoint: breakpoint,
639
- onChange: b => onSwitchBreakpoint(b)
744
+ show: showViewport,
745
+ onChange: b => onSwitchBreakpoint(b),
746
+ translation: translation || translationMock
640
747
  }) : null]
641
748
  })
642
749
  }), htmlAction.showInput && /*#__PURE__*/_jsx(CodeToText, {
643
750
  ...htmlAction,
644
- handleCodeToText: handleCodeToText
751
+ handleCodeToText: handleCodeToText,
752
+ translation: translation || translationMock
645
753
  })]
646
754
  }, id), /*#__PURE__*/_jsx(FontLoader, {
647
755
  otherProps: {
@@ -657,7 +765,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
657
765
  cancelText: "Cancel",
658
766
  onConfirm: () => {
659
767
  handleDeleteAll();
660
- }
768
+ },
769
+ translation: translation || translationMock
661
770
  })]
662
771
  });
663
772
  });
@@ -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
  });