@flozy/editor 4.0.2 → 4.0.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 (110) hide show
  1. package/dist/Editor/ChatEditor.js +14 -9
  2. package/dist/Editor/CommonEditor.js +110 -167
  3. package/dist/Editor/Editor.css +3 -43
  4. package/dist/Editor/Elements/AI/AIInput.js +33 -31
  5. package/dist/Editor/Elements/AI/CustomSelect.js +12 -19
  6. package/dist/Editor/Elements/AI/PopoverAIInput.js +97 -73
  7. package/dist/Editor/Elements/AI/Styles.js +2 -2
  8. package/dist/Editor/Elements/AI/helper.js +3 -5
  9. package/dist/Editor/Elements/Accordion/AccordionSummary.js +4 -15
  10. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  11. package/dist/Editor/Elements/Button/EditorButton.js +16 -28
  12. package/dist/Editor/Elements/Carousel/CarouselButton.js +1 -2
  13. package/dist/Editor/Elements/Color Picker/ColorButtons.js +15 -60
  14. package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
  15. package/dist/Editor/Elements/Color Picker/ColorPicker.js +4 -4
  16. package/dist/Editor/Elements/Color Picker/Styles.js +1 -3
  17. package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +3 -12
  18. package/dist/Editor/Elements/Form/Workflow/UserInputs.js +1 -2
  19. package/dist/Editor/Elements/Grid/Grid.js +0 -2
  20. package/dist/Editor/Elements/Grid/GridItem.js +1 -3
  21. package/dist/Editor/Elements/Link/Link.js +1 -6
  22. package/dist/Editor/Elements/Link/LinkButton.js +2 -4
  23. package/dist/Editor/Elements/Link/LinkPopup.js +14 -73
  24. package/dist/Editor/Elements/NewLine/NewLineButton.js +1 -2
  25. package/dist/Editor/Elements/Signature/Signature.css +6 -13
  26. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +1 -2
  27. package/dist/Editor/Elements/Signature/SignaturePopup.js +30 -185
  28. package/dist/Editor/Elements/SimpleText/index.js +1 -11
  29. package/dist/Editor/Elements/SimpleText/style.js +1 -1
  30. package/dist/Editor/MiniEditor.js +1 -3
  31. package/dist/Editor/Toolbar/Basic/index.js +2 -4
  32. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
  33. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  34. package/dist/Editor/Toolbar/FormatTools/TextSize.js +13 -7
  35. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +5 -34
  36. package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +13 -12
  37. package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +13 -12
  38. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/CustomSelectTool.js +0 -3
  39. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +11 -4
  40. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +86 -213
  41. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +2 -4
  42. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +44 -123
  43. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +44 -106
  44. package/dist/Editor/Toolbar/PopupTool/index.js +3 -5
  45. package/dist/Editor/Toolbar/toolbarGroups.js +11 -53
  46. package/dist/Editor/assets/svg/AIIcons.js +1 -153
  47. package/dist/Editor/common/ColorPickerButton.js +9 -25
  48. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  49. package/dist/Editor/common/EditorIcons.js +7 -7
  50. package/dist/Editor/common/Icon.js +24 -51
  51. package/dist/Editor/common/ImageList.js +3 -16
  52. package/dist/Editor/common/ImageSelector/ImageSelector.js +9 -30
  53. package/dist/Editor/common/ImageSelector/Styles.js +1 -2
  54. package/dist/Editor/common/LinkSettings/NavComponents.js +2 -5
  55. package/dist/Editor/common/LinkSettings/index.js +2 -4
  56. package/dist/Editor/common/LinkSettings/navOptions.js +2 -7
  57. package/dist/Editor/common/LinkSettings/style.js +8 -11
  58. package/dist/Editor/common/MentionsPopup/Styles.js +1 -1
  59. package/dist/Editor/common/Shorthands/elements.js +9 -63
  60. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  61. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +23 -39
  62. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +23 -33
  63. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +1 -1
  64. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +7 -31
  65. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
  66. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +4 -14
  67. package/dist/Editor/common/StyleBuilder/index.js +1 -1
  68. package/dist/Editor/commonStyle.js +0 -6
  69. package/dist/Editor/helper/theme.js +4 -191
  70. package/dist/Editor/hooks/useMouseMove.js +1 -4
  71. package/dist/Editor/hooks/useWindowMessage.js +7 -10
  72. package/dist/Editor/plugins/withEmbeds.js +1 -1
  73. package/dist/Editor/plugins/withHTML.js +1 -1
  74. package/dist/Editor/plugins/withTable.js +1 -1
  75. package/dist/Editor/theme/ThemeList.js +173 -50
  76. package/dist/Editor/utils/SlateUtilityFunctions.js +25 -161
  77. package/dist/Editor/utils/button.js +17 -1
  78. package/dist/Editor/utils/font.js +37 -40
  79. package/dist/Editor/utils/helper.js +1 -30
  80. package/package.json +1 -2
  81. package/dist/Editor/Elements/AI/VoiceToText/AudioWave.js +0 -73
  82. package/dist/Editor/Elements/AI/VoiceToText/index.js +0 -184
  83. package/dist/Editor/Elements/AI/VoiceToText/style.js +0 -40
  84. package/dist/Editor/Elements/Link/LinkPopupStyles.js +0 -28
  85. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectSuperSubscript.js +0 -59
  86. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -438
  87. package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
  88. package/dist/Editor/common/CustomColorPicker/index.js +0 -106
  89. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  90. package/dist/Editor/common/CustomDialog/index.js +0 -94
  91. package/dist/Editor/common/CustomDialog/style.js +0 -67
  92. package/dist/Editor/common/CustomSelect.js +0 -33
  93. package/dist/Editor/common/iconListV2.js +0 -843
  94. package/dist/Editor/hooks/useEditorTheme.js +0 -139
  95. package/dist/Editor/theme/index.js +0 -144
  96. package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
  97. package/dist/Editor/themeSettings/buttons/index.js +0 -290
  98. package/dist/Editor/themeSettings/buttons/style.js +0 -21
  99. package/dist/Editor/themeSettings/colorTheme/index.js +0 -290
  100. package/dist/Editor/themeSettings/colorTheme/style.js +0 -77
  101. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -123
  102. package/dist/Editor/themeSettings/fonts/index.js +0 -213
  103. package/dist/Editor/themeSettings/fonts/style.js +0 -44
  104. package/dist/Editor/themeSettings/icons.js +0 -60
  105. package/dist/Editor/themeSettings/index.js +0 -320
  106. package/dist/Editor/themeSettings/style.js +0 -152
  107. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  108. package/dist/Editor/themeSettingsAI/index.js +0 -356
  109. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -190
  110. package/dist/Editor/themeSettingsAI/style.js +0 -247
@@ -110,12 +110,12 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
110
110
  }
111
111
  }
112
112
  }));
113
-
114
- // useEffect(() => {
115
- // setIsExternalUpdate(true);
116
- // setValue(draftToSlate({ data: content }));
117
- // }, [content]);
118
-
113
+ useEffect(() => {
114
+ setIsExternalUpdate(true);
115
+ setValue(draftToSlate({
116
+ data: content
117
+ }));
118
+ }, [content]);
119
119
  useEffect(() => {
120
120
  if (JSON.stringify(loadedValue) !== JSON.stringify(deboundedValue) && isInteracted && onSave) {
121
121
  const {
@@ -178,9 +178,14 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
178
178
  });
179
179
  };
180
180
  const handleEditorChange = newValue => {
181
- setValue(newValue);
182
- if (!isInteracted) {
183
- setIsInteracted(true);
181
+ if (isExternalUpdate) {
182
+ setIsExternalUpdate(false);
183
+ return;
184
+ } else {
185
+ setValue(newValue);
186
+ if (!isInteracted) {
187
+ setIsInteracted(true);
188
+ }
184
189
  }
185
190
  };
186
191
  const Element = props => {
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable no-unused-vars */
2
- import React, { useRef, useCallback, useEffect, useMemo, useState, forwardRef, useImperativeHandle, createContext } from "react";
2
+ import React, { useRef, useCallback, useEffect, useMemo, useState, forwardRef, useImperativeHandle } from "react";
3
3
  import { createEditor, Transforms } from "slate";
4
4
  import { Slate, Editable, ReactEditor } from "slate-react";
5
5
  import { useDebounce, useDebouncedCallback } from "use-debounce";
@@ -18,7 +18,7 @@ import { getThumbnailImage, invertColor } from "./helper";
18
18
  import PopupTool from "./Toolbar/PopupTool";
19
19
  import "./font.css";
20
20
  import "./Editor.css";
21
- import { Box, IconButton, Typography } from "@mui/material";
21
+ import { Box, Button, Typography } from "@mui/material";
22
22
  import Shorthands from "./common/Shorthands";
23
23
  import MiniToolbar from "./Toolbar/Mini/MiniToolbar";
24
24
  import { EditorProvider } from "./hooks/useMouseMove";
@@ -28,19 +28,12 @@ import DragAndDrop from "./common/DnD";
28
28
  import Section from "./common/Section";
29
29
  import "animate.css";
30
30
  import decorators from "./utils/Decorators";
31
- import { getTRBLBreakPoints, getVariableValue } from "./helper/theme";
31
+ import { getTRBLBreakPoints } from "./helper/theme";
32
32
  import { handleInsertLastElement, onDeleteKey, outsideEditorClickLabel } from "./utils/helper";
33
33
  import useWindowResize from "./hooks/useWindowResize";
34
- import { getTheme } from "./theme";
35
- import { useTheme } from "@emotion/react";
36
- import ThemeSettings from "./themeSettings";
37
- import ThemeSettingsAI from "./themeSettingsAI";
38
- import { Experimental_CssVarsProvider as CssVarsProvider, experimental_extendTheme as extendTheme } from "@mui/material/styles";
39
34
  import PopoverAIInput from "./Elements/AI/PopoverAIInput";
40
- import { ThemeAIIcon, ThemePaintIcon } from "./assets/svg/ThemeIcons";
41
35
  import { jsx as _jsx } from "react/jsx-runtime";
42
36
  import { jsxs as _jsxs } from "react/jsx-runtime";
43
- export const ThemeContext = /*#__PURE__*/createContext(null);
44
37
  const Item = /*#__PURE__*/forwardRef(({
45
38
  children,
46
39
  ...props
@@ -67,8 +60,7 @@ const Leaf = ({
67
60
  children,
68
61
  leaf
69
62
  }) => {
70
- const theme = useTheme();
71
- children = getMarked(leaf, children, theme);
63
+ children = getMarked(leaf, children);
72
64
  return /*#__PURE__*/_jsx("span", {
73
65
  ...attributes,
74
66
  children: children
@@ -87,8 +79,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
87
79
  toolbarOptions,
88
80
  otherProps,
89
81
  isIframe,
90
- theme,
91
- showThemeButtons
82
+ theme
92
83
  } = props;
93
84
  const editorWrapper = useRef();
94
85
  const mentionsRef = useRef();
@@ -132,11 +123,10 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
132
123
  const {
133
124
  bannerSpacing,
134
125
  pageBgImage,
135
- pageColor = "",
126
+ pageColor,
136
127
  color: pageTextColor,
137
128
  pageWidth,
138
- maxWidth: pageMaxWidth,
139
- theme: selectedTheme
129
+ maxWidth: pageMaxWidth
140
130
  } = pageSt?.pageProps || {
141
131
  bannerSpacing: {
142
132
  left: 0,
@@ -147,11 +137,9 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
147
137
  };
148
138
  const classes = editorStyles({
149
139
  padHeight: !fullScreen ? otherProps?.padHeight : 20,
150
- placeHolderColor: invertColor(pageColor.startsWith("var") ? getVariableValue(pageColor) : pageColor || "#FFF"),
140
+ placeHolderColor: invertColor(pageColor || "#FFF"),
151
141
  theme
152
142
  });
153
- const [openTheme, setOpenTheme] = useState(false);
154
- const [openAITheme, setOpenAITheme] = useState(false);
155
143
  useEffect(() => {
156
144
  setValue(draftToSlate({
157
145
  data: content
@@ -251,12 +239,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
251
239
  redo() {
252
240
  editor?.redo();
253
241
  },
254
- toggleTheme() {
255
- setOpenTheme(!openTheme);
256
- },
257
- toggleAITheme() {
258
- setOpenAITheme(!openAITheme);
259
- },
260
242
  getPageSettings: {
261
243
  background: pageBgImage && pageBgImage !== "none" ? `url(${pageBgImage})` : pageColor || ""
262
244
  }
@@ -404,7 +386,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
404
386
  }
405
387
  return style;
406
388
  }, [pageBgImage, pageColor]);
407
- const themeProps = getTheme(selectedTheme);
408
389
  const handleCursorScroll = container => {
409
390
  try {
410
391
  const cursorPosition = window.getSelection()?.getRangeAt(0).getBoundingClientRect();
@@ -419,152 +400,114 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
419
400
  console.log(err);
420
401
  }
421
402
  };
422
- return /*#__PURE__*/_jsx(ThemeContext.Provider, {
423
- value: {
424
- openTheme,
425
- setOpenTheme
426
- },
427
- children: /*#__PURE__*/_jsx(CssVarsProvider, {
428
- theme: extendTheme(selectedTheme?.theme?.cssVars || {}),
429
- children: /*#__PURE__*/_jsxs(EditorProvider, {
430
- theme: theme,
431
- editor: editor,
432
- children: [showThemeButtons ? /*#__PURE__*/_jsxs("div", {
433
- style: {
434
- display: "flex",
435
- justifyContent: "end",
436
- alignItems: "center",
437
- gap: "8px",
438
- width: "70vw",
439
- margin: "auto"
440
- },
441
- children: [/*#__PURE__*/_jsx(IconButton, {
442
- onClick: () => setOpenTheme(true),
443
- children: /*#__PURE__*/_jsx(ThemePaintIcon, {})
444
- }), /*#__PURE__*/_jsx(IconButton, {
445
- onClick: () => setOpenAITheme(true),
446
- style: {
447
- marginTop: "4px"
448
- },
449
- children: /*#__PURE__*/_jsx(ThemeAIIcon, {})
450
- })]
451
- }) : null, /*#__PURE__*/_jsx(DialogWrapper, {
452
- classes: classes,
453
- ...props,
454
- fullScreen: fullScreen,
455
- footer: footer || "",
456
- children: /*#__PURE__*/_jsx(Box, {
457
- component: "div",
458
- className: `${editorClass || ""} ${isIframe ? "iframe-editor" : ""}`,
459
- sx: classes.root,
460
- style: {
461
- ...dotBg
462
- },
463
- children: /*#__PURE__*/_jsxs(Slate, {
464
- editor: editor,
465
- initialValue: value,
466
- onChange: handleEditorChange,
467
- children: [/*#__PURE__*/_jsx(DragAndDrop, {
468
- children: /*#__PURE__*/_jsxs(Overlay, {
469
- children: [/*#__PURE__*/_jsx(Box, {
470
- className: `${hasTopBanner() ? "has-topbanner" : ""} ${!pageColor ? "no-color" : ""} ${isScrolling ? "" : "hideScroll"} scrollable-content scrollSmooth`,
471
- sx: classes.slateWrapper,
472
- id: "slate-wrapper-scroll-container"
473
- // style={editorWrapperStyle}
474
- ,
475
- ref: editorWrapper,
476
- onClick: e => {
477
- handleInsertLastElement(e, editor);
478
- },
479
- onScroll: handleScroll,
480
- style: editorWrapperStyle,
403
+ return /*#__PURE__*/_jsx(EditorProvider, {
404
+ theme: theme,
405
+ editor: editor,
406
+ children: /*#__PURE__*/_jsx(DialogWrapper, {
407
+ classes: classes,
408
+ ...props,
409
+ fullScreen: fullScreen,
410
+ footer: footer || "",
411
+ children: /*#__PURE__*/_jsx(Box, {
412
+ component: "div",
413
+ className: `${editorClass || ""} ${isIframe ? "iframe-editor" : ""}`,
414
+ sx: classes.root,
415
+ style: {
416
+ ...dotBg
417
+ },
418
+ children: /*#__PURE__*/_jsxs(Slate, {
419
+ editor: editor,
420
+ initialValue: value,
421
+ onChange: handleEditorChange,
422
+ children: [/*#__PURE__*/_jsx(DragAndDrop, {
423
+ children: /*#__PURE__*/_jsxs(Overlay, {
424
+ children: [/*#__PURE__*/_jsx(Box, {
425
+ className: `${hasTopBanner() ? "has-topbanner" : ""} ${!pageColor ? "no-color" : ""} ${isScrolling ? "" : "hideScroll"} scrollable-content scrollSmooth`,
426
+ sx: classes.slateWrapper,
427
+ id: "slate-wrapper-scroll-container"
428
+ // style={editorWrapperStyle}
429
+ ,
430
+ ref: editorWrapper,
431
+ onClick: e => {
432
+ handleInsertLastElement(e, editor);
433
+ },
434
+ onScroll: handleScroll,
435
+ style: editorWrapperStyle,
436
+ children: /*#__PURE__*/_jsxs(Box, {
437
+ component: "div",
438
+ className: "max-content",
439
+ "data-info": outsideEditorClickLabel,
440
+ children: [renderTopBanner(), /*#__PURE__*/_jsx("div", {
441
+ className: "scroll-area",
442
+ "data-info": outsideEditorClickLabel,
481
443
  children: /*#__PURE__*/_jsxs(Box, {
482
444
  component: "div",
483
- className: "max-content",
484
- sx: themeProps?.sxProps || {},
485
- "data-info": outsideEditorClickLabel,
486
- children: [renderTopBanner(), /*#__PURE__*/_jsx("div", {
487
- className: "scroll-area",
488
- "data-info": outsideEditorClickLabel,
489
- children: /*#__PURE__*/_jsxs(Box, {
490
- component: "div",
491
- className: `editor-wrapper ${pageWidth === "fixed" ? "fixed" : "full"}`,
492
- sx: {
493
- backgroundColor: "transparent",
494
- padding: {
495
- ...getTRBLBreakPoints(bannerSpacing)
496
- },
497
- width: !pageWidth || pageWidth === "fixed" ? fixedWidth : fullWidth,
498
- height: viewport.h ? `${viewport.h}px` : `100%`,
499
- alignSelf: "center",
500
- transformOrigin: "left top",
501
- transition: "all 0.3s",
502
- minHeight: "87%",
503
- maxWidth: pageMaxWidth ? `${parseInt(pageMaxWidth)}px !important` : "auto"
504
- },
505
- "data-info": outsideEditorClickLabel,
506
- children: [/*#__PURE__*/_jsx(Editable, {
507
- className: "innert-editor-textbox",
508
- readOnly: isReadOnly,
509
- renderElement: renderElement,
510
- renderLeaf: renderLeaf,
511
- decorate: decorators,
512
- onKeyDown: onKeyDown,
513
- onSelect: () => handleCursorScroll(editorWrapper.current)
514
- }), !readOnly ? /*#__PURE__*/_jsx(MentionsPopup, {
515
- ref: mentionsRef,
516
- mentions: mentions,
517
- setMentions: setMentions,
518
- editor: editor,
519
- target: target,
520
- index: index,
521
- chars: chars,
522
- type: type,
523
- theme: theme
524
- }) : null]
525
- })
526
- }), !hideMiniToolBar ? /*#__PURE__*/_jsx(MiniToolbar, {
527
- customProps: customProps,
528
- toolbarOptions: toolbarOptions,
529
- theme: theme
530
- }) : null, /*#__PURE__*/_jsx(PopoverAIInput, {
531
- otherProps: otherProps || {}
532
- }), footer && (fullScreen || readOnly) && /*#__PURE__*/_jsx(Typography, {
533
- sx: {
534
- color: "rgb(100, 116, 139)",
535
- fontSize: "13px",
536
- paddingBottom: hideMiniToolBar ? "0px" : "12px",
537
- cursor: "pointer"
445
+ className: `editor-wrapper ${pageWidth === "fixed" ? "fixed" : "full"}`,
446
+ sx: {
447
+ backgroundColor: "transparent",
448
+ padding: {
449
+ ...getTRBLBreakPoints(bannerSpacing)
538
450
  },
539
- align: "center",
540
- "data-info": outsideEditorClickLabel,
541
- onClick: handleFooterClick,
542
- children: footer
543
- }), openTheme ? /*#__PURE__*/_jsx(ThemeSettings, {
544
- open: openTheme,
545
- setOpen: setOpenTheme,
451
+ width: !pageWidth || pageWidth === "fixed" ? fixedWidth : fullWidth,
452
+ height: viewport.h ? `${viewport.h}px` : `100%`,
453
+ alignSelf: "center",
454
+ transformOrigin: "left top",
455
+ transition: "all 0.3s",
456
+ minHeight: "87%",
457
+ maxWidth: pageMaxWidth ? `${parseInt(pageMaxWidth)}px !important` : "auto"
458
+ },
459
+ "data-info": outsideEditorClickLabel,
460
+ children: [/*#__PURE__*/_jsx(Editable, {
461
+ className: "innert-editor-textbox",
462
+ readOnly: isReadOnly,
463
+ renderElement: renderElement,
464
+ renderLeaf: renderLeaf,
465
+ decorate: decorators,
466
+ onKeyDown: onKeyDown,
467
+ onSelect: () => handleCursorScroll(editorWrapper.current)
468
+ }), !readOnly ? /*#__PURE__*/_jsx(MentionsPopup, {
469
+ ref: mentionsRef,
470
+ mentions: mentions,
471
+ setMentions: setMentions,
546
472
  editor: editor,
547
- services: otherProps?.services
548
- }) : null, /*#__PURE__*/_jsx(ThemeSettingsAI, {
549
- openAITheme: openAITheme,
550
- setOpenAITheme: setOpenAITheme,
551
- onSaveTheme: otherProps?.onSaveTheme
552
- })]
473
+ target: target,
474
+ index: index,
475
+ chars: chars,
476
+ type: type,
477
+ theme: theme
478
+ }) : null]
553
479
  })
554
- }), !readOnly ? /*#__PURE__*/_jsx(PopupTool, {
555
- onDrawerOpen: onDrawerOpen,
556
- theme: theme,
557
- setIsTextSelected: setIsTextSelected,
558
- customProps: customProps
559
- }) : null]
480
+ }), !hideMiniToolBar ? /*#__PURE__*/_jsx(MiniToolbar, {
481
+ customProps: customProps,
482
+ toolbarOptions: toolbarOptions,
483
+ theme: theme
484
+ }) : null, /*#__PURE__*/_jsx(PopoverAIInput, {
485
+ otherProps: otherProps || {}
486
+ }), footer && (fullScreen || readOnly) && /*#__PURE__*/_jsx(Typography, {
487
+ sx: {
488
+ color: "rgb(100, 116, 139)",
489
+ fontSize: "13px",
490
+ paddingBottom: hideMiniToolBar ? "0px" : "12px",
491
+ cursor: "pointer"
492
+ },
493
+ align: "center",
494
+ "data-info": outsideEditorClickLabel,
495
+ onClick: handleFooterClick,
496
+ children: footer
497
+ })]
560
498
  })
561
- }), htmlAction.showInput && /*#__PURE__*/_jsx(CodeToText, {
562
- ...htmlAction,
563
- handleCodeToText: handleCodeToText
564
- })]
565
- }, id)
566
- })
567
- })]
499
+ }), !readOnly ? /*#__PURE__*/_jsx(PopupTool, {
500
+ onDrawerOpen: onDrawerOpen,
501
+ theme: theme,
502
+ setIsTextSelected: setIsTextSelected,
503
+ customProps: customProps
504
+ }) : null]
505
+ })
506
+ }), htmlAction.showInput && /*#__PURE__*/_jsx(CodeToText, {
507
+ ...htmlAction,
508
+ handleCodeToText: handleCodeToText
509
+ })]
510
+ }, id)
568
511
  })
569
512
  })
570
513
  });
@@ -244,13 +244,6 @@ blockquote {
244
244
  width: 17px !important;
245
245
  }
246
246
 
247
- .react-datepicker__input-container input {
248
- height: 40px !important;
249
- border: 1px solid #ccc;
250
- border-radius: 5px;
251
- width: 100%;
252
- }
253
-
254
247
  .close-popupbtn {
255
248
  border-radius: 4px !important;
256
249
  width: 24px;
@@ -274,7 +267,7 @@ blockquote {
274
267
  margin: 12px 0px;
275
268
  padding: 0px 5px;
276
269
  border: 0px solid #ccc;
277
- min-height: 211px;
270
+ min-height: 100px;
278
271
  }
279
272
 
280
273
  .signature-signed-wrapper {
@@ -338,7 +331,7 @@ blockquote {
338
331
  .signature-canvas {
339
332
  height: 100%;
340
333
  width: 100%;
341
- border: 1px solid #2563EB;
334
+ border: 1px solid #0052cc;
342
335
  border-radius: 12px;
343
336
  }
344
337
 
@@ -371,7 +364,6 @@ blockquote {
371
364
 
372
365
  .dialog-actions-si .MuiButtonBase-root {
373
366
  opacity: 1;
374
- padding: 6px 5px 0px 3px !important
375
367
  }
376
368
 
377
369
  .signature-tab {
@@ -382,19 +374,6 @@ blockquote {
382
374
  width: 100%;
383
375
  }
384
376
 
385
- .signature-tab2 {
386
- /* display: flex; */
387
- align-items: center;
388
- border-width: 0px, 0px, 0px, 0px;
389
- border-style: solid;
390
- border-color: #2563EB;
391
- justify-content: center;
392
- flex-direction: column;
393
- width: 100%;
394
- border-radius: 7px;
395
- padding: 10px;
396
- }
397
-
398
377
  .upload-sign-img-wrapper {
399
378
  text-align: center;
400
379
  }
@@ -460,10 +439,6 @@ blockquote {
460
439
  color: #ffffff !important;
461
440
  border: 1px solid #2563eb !important;
462
441
  width: auto !important;
463
- padding: 2px 0px 0px 0px !important;
464
- min-width: 89px !important;
465
- font-family: Inter, sans-serif;
466
- text-transform: none;
467
442
  }
468
443
 
469
444
  .MuiButton-root.primaryBtn.disabled,
@@ -484,10 +459,6 @@ blockquote {
484
459
  margin-right: 15px !important;
485
460
  color: #2563eb;
486
461
  width: auto !important;
487
- padding: 2px 0px 0px 0px !important;
488
- min-width: 89px !important;
489
- font-family: Inter, sans-serif;
490
- text-transform: none;
491
462
  }
492
463
 
493
464
  .deleteBtn {
@@ -858,17 +829,6 @@ blockquote {
858
829
  text-align: center;
859
830
  }
860
831
 
861
- .removeScroll::-webkit-outer-spin-button,
862
- .removeScroll::-webkit-inner-spin-button {
863
- -webkit-appearance: none;
864
- margin: 0;
865
- }
866
-
867
- /* For Firefox */
868
- .removeScroll {
869
- -moz-appearance: textfield;
870
- }
871
-
872
832
  .borderInput:focus-visible {
873
833
  outline: none !important;
874
834
  }
@@ -918,7 +878,7 @@ blockquote {
918
878
  }
919
879
 
920
880
  .sliderInput {
921
- width: 30px;
881
+ width: 66px;
922
882
  padding: 2px 10px;
923
883
  margin-left: 18px;
924
884
  box-shadow: 0px 4px 16px 0px #0000000d;
@@ -4,13 +4,13 @@ import Icon from "../../common/Icon";
4
4
  // import { TbRotateClockwise } from "react-icons/tb";
5
5
  // import { FaRegCircleCheck } from "react-icons/fa6";
6
6
  import { IoSend } from "react-icons/io5";
7
- import React, { forwardRef, useEffect, useRef, useState } from "react";
7
+ import React, { forwardRef, useEffect, useRef } from "react";
8
8
  import WaveLoading from "../../common/WaveLoading";
9
+ import useWindowResize from "../../hooks/useWindowResize";
9
10
  import CustomSelect from "./CustomSelect";
10
11
  import { editContentOptions, newContentOptions, generatedContentOptions } from "./helper";
11
12
  import useClickOutside from "../../hooks/useClickOutside";
12
13
  import { useEditorContext } from "../../hooks/useMouseMove";
13
- import { ChatMicIcon } from "../../assets/svg/AIIcons";
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
16
16
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -18,7 +18,7 @@ function getProps(openAI, generatedText) {
18
18
  const dropDownProps = {
19
19
  fromElements: {
20
20
  options: newContentOptions,
21
- show: generatedText?.length
21
+ show: window.getSelection().toString().length
22
22
  },
23
23
  fromToolBar: {
24
24
  options: editContentOptions,
@@ -36,21 +36,20 @@ function getProps(openAI, generatedText) {
36
36
  }
37
37
  function AIInput({
38
38
  onSend,
39
+ loading,
39
40
  generatedText,
40
41
  openAI,
41
42
  inputValue,
42
43
  onInputChange,
43
- onClickOutside,
44
- startRecording,
45
- loading
44
+ onClickOutside
46
45
  }, ref) {
47
46
  const {
48
47
  theme
49
48
  } = useEditorContext();
50
49
  const classes = Styles(theme);
51
50
  const inputRef = useRef();
51
+ const [size] = useWindowResize();
52
52
  const inputWrapperRef = useRef();
53
- const [contentHeight, setContentHeight] = useState("100px");
54
53
  const refs = useClickOutside({
55
54
  onClickOutside,
56
55
  omitIds: ["infinity-select-popover"],
@@ -75,28 +74,35 @@ function AIInput({
75
74
  if (isSendBtnDisabled) {
76
75
  return;
77
76
  }
78
- onSend("", {});
77
+ onSend("", {
78
+ replace: true,
79
+ isSendBtn: true
80
+ });
79
81
  };
80
- useEffect(() => {
81
- const selectWrapper = refs?.length ? refs[1]?.current : null;
82
- const slateWrapper = document.getElementById("slate-wrapper-scroll-container");
83
- if (selectWrapper && slateWrapper) {
84
- const height = slateWrapper.offsetHeight - selectWrapper.offsetHeight - 80;
85
- setContentHeight(height + "px");
86
- }
87
- }, [refs, generatedText]);
88
82
  return /*#__PURE__*/_jsxs(_Fragment, {
89
- children: [/*#__PURE__*/_jsxs(Box, {
83
+ children: [size.device === "xs" ? /*#__PURE__*/_jsx(Box, {
84
+ component: "div",
85
+ ref: refs[1],
86
+ sx: classes.customSelectWrapper,
87
+ children: /*#__PURE__*/_jsx(CustomSelect, {
88
+ ...props,
89
+ onSend: onSend,
90
+ classes: classes
91
+ })
92
+ }) : null, /*#__PURE__*/_jsxs(Box, {
90
93
  component: "div",
91
94
  sx: classes.aiContainer,
92
95
  children: [generatedText ? /*#__PURE__*/_jsx(Typography, {
93
96
  sx: classes.generatedText,
94
- style: {
95
- maxHeight: contentHeight
96
- },
97
- dangerouslySetInnerHTML: {
98
- __html: generatedText
99
- }
97
+ children: /*#__PURE__*/_jsx("pre", {
98
+ style: {
99
+ whiteSpace: "pre-wrap",
100
+ wordWrap: "break-word",
101
+ fontFamily: "inherit",
102
+ margin: 0
103
+ },
104
+ children: generatedText
105
+ })
100
106
  }) : null, /*#__PURE__*/_jsxs(Box, {
101
107
  component: "form",
102
108
  sx: classes.aiInputWrapper,
@@ -126,25 +132,21 @@ function AIInput({
126
132
  handleSendBtnClick();
127
133
  }
128
134
  }
129
- }), fromToolBar ? null : /*#__PURE__*/_jsxs(Box, {
135
+ }), fromToolBar ? null : /*#__PURE__*/_jsx(Box, {
130
136
  component: "div",
131
137
  style: classes.sendIconContainer,
132
138
  className: "icons-elements",
133
- children: [/*#__PURE__*/_jsx(IconButton, {
134
- disabled: loading,
135
- onClick: () => startRecording(),
136
- children: /*#__PURE__*/_jsx(ChatMicIcon, {})
137
- }), /*#__PURE__*/_jsx(IconButton, {
139
+ children: /*#__PURE__*/_jsx(IconButton, {
138
140
  sx: isSendBtnDisabled ? classes.sendBtnDisabled : classes.sendBtn,
139
141
  onClick: () => handleSendBtnClick(),
140
142
  children: /*#__PURE__*/_jsx(IoSend, {
141
143
  color: "#fff",
142
144
  size: 14
143
145
  })
144
- })]
146
+ })
145
147
  })]
146
148
  })]
147
- }), /*#__PURE__*/_jsx(Box, {
149
+ }), size.device === "xs" ? null : /*#__PURE__*/_jsx(Box, {
148
150
  component: "div",
149
151
  ref: refs[1],
150
152
  sx: classes.customSelectWrapper,