@flozy/editor 3.9.7 → 3.9.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/Editor/CommonEditor.js +177 -109
  2. package/dist/Editor/Editor.css +7 -0
  3. package/dist/Editor/Elements/AI/AIInput.js +18 -24
  4. package/dist/Editor/Elements/AI/CustomSelect.js +19 -12
  5. package/dist/Editor/Elements/AI/PopoverAIInput.js +66 -89
  6. package/dist/Editor/Elements/AI/Styles.js +2 -1
  7. package/dist/Editor/Elements/AI/VoiceToText/AudioWave.js +73 -0
  8. package/dist/Editor/Elements/AI/VoiceToText/index.js +184 -0
  9. package/dist/Editor/Elements/AI/VoiceToText/style.js +40 -0
  10. package/dist/Editor/Elements/AI/helper.js +5 -3
  11. package/dist/Editor/Elements/AppHeader/AppHeader.js +26 -4
  12. package/dist/Editor/Elements/Button/EditorButton.js +28 -16
  13. package/dist/Editor/Elements/Color Picker/ColorButtons.js +60 -17
  14. package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
  15. package/dist/Editor/Elements/Color Picker/ColorPicker.js +4 -4
  16. package/dist/Editor/Elements/Color Picker/Styles.js +2 -1
  17. package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +12 -3
  18. package/dist/Editor/Elements/Form/Workflow/UserInputs.js +2 -1
  19. package/dist/Editor/Elements/Grid/Grid.js +27 -3
  20. package/dist/Editor/Elements/Grid/GridItem.js +3 -1
  21. package/dist/Editor/Elements/Link/Link.js +6 -1
  22. package/dist/Editor/Elements/Link/LinkButton.js +4 -2
  23. package/dist/Editor/Elements/Link/LinkPopup.js +10 -3
  24. package/dist/Editor/Elements/Link/LinkPopupStyles.js +28 -0
  25. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +3 -3
  26. package/dist/Editor/Elements/Redo/RedoButton.js +14 -0
  27. package/dist/Editor/Elements/Signature/SignaturePopup.js +20 -5
  28. package/dist/Editor/Elements/Table/Styles.js +23 -1
  29. package/dist/Editor/Elements/Table/Table.js +2 -1
  30. package/dist/Editor/Elements/Table/TableCell.js +69 -7
  31. package/dist/Editor/Elements/TableContextMenu/TableContextMenu.js +1 -0
  32. package/dist/Editor/Elements/Undo/UndoButton.js +14 -0
  33. package/dist/Editor/MiniEditor.js +3 -1
  34. package/dist/Editor/Styles/EditorStyles.js +1 -1
  35. package/dist/Editor/Toolbar/Basic/index.js +4 -2
  36. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +26 -2
  37. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  38. package/dist/Editor/Toolbar/FormatTools/TextSize.js +5 -11
  39. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +4 -2
  40. package/dist/Editor/Toolbar/Mini/Options/Options.js +10 -0
  41. package/dist/Editor/Toolbar/Mini/Styles.js +7 -0
  42. package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +12 -13
  43. package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +12 -13
  44. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +4 -11
  45. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +213 -86
  46. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +2 -1
  47. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +40 -33
  48. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +52 -7
  49. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +438 -0
  50. package/dist/Editor/Toolbar/PopupTool/index.js +2 -2
  51. package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
  52. package/dist/Editor/assets/svg/AIIcons.js +153 -1
  53. package/dist/Editor/assets/svg/AddTemplateIcon.js +13 -10
  54. package/dist/Editor/assets/svg/RedoIcon.js +27 -0
  55. package/dist/Editor/assets/svg/SettingsIcon.js +28 -0
  56. package/dist/Editor/assets/svg/TextIcon.js +8 -5
  57. package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
  58. package/dist/Editor/assets/svg/UndoIcon.js +27 -0
  59. package/dist/Editor/common/ColorPickerButton.js +25 -9
  60. package/dist/Editor/common/CustomColorPicker/index.js +106 -0
  61. package/dist/Editor/common/CustomColorPicker/style.js +53 -0
  62. package/dist/Editor/common/CustomDialog/index.js +94 -0
  63. package/dist/Editor/common/CustomDialog/style.js +67 -0
  64. package/dist/Editor/common/CustomSelect.js +33 -0
  65. package/dist/Editor/common/DnD/DragHandleButton.js +56 -47
  66. package/dist/Editor/common/Icon.js +43 -3
  67. package/dist/Editor/common/LinkSettings/NavComponents.js +5 -2
  68. package/dist/Editor/common/LinkSettings/index.js +4 -2
  69. package/dist/Editor/common/LinkSettings/navOptions.js +7 -2
  70. package/dist/Editor/common/LinkSettings/style.js +11 -8
  71. package/dist/Editor/common/Section/index.js +57 -7
  72. package/dist/Editor/common/Section/styles.js +11 -0
  73. package/dist/Editor/common/Shorthands/elements.js +54 -0
  74. package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
  75. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +13 -3
  76. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
  77. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +1 -1
  78. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +31 -7
  79. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +13 -4
  80. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +14 -4
  81. package/dist/Editor/common/StyleBuilder/index.js +1 -1
  82. package/dist/Editor/common/iconslist.js +0 -31
  83. package/dist/Editor/helper/theme.js +190 -4
  84. package/dist/Editor/hooks/useEditorTheme.js +139 -0
  85. package/dist/Editor/hooks/useMouseMove.js +4 -1
  86. package/dist/Editor/hooks/useWindowMessage.js +10 -7
  87. package/dist/Editor/plugins/withEmbeds.js +1 -1
  88. package/dist/Editor/plugins/withHTML.js +1 -1
  89. package/dist/Editor/plugins/withTable.js +1 -1
  90. package/dist/Editor/theme/ThemeList.js +50 -173
  91. package/dist/Editor/theme/index.js +144 -0
  92. package/dist/Editor/themeSettings/ActiveTheme.js +72 -0
  93. package/dist/Editor/themeSettings/buttons/index.js +290 -0
  94. package/dist/Editor/themeSettings/buttons/style.js +21 -0
  95. package/dist/Editor/themeSettings/colorTheme/index.js +290 -0
  96. package/dist/Editor/themeSettings/colorTheme/style.js +77 -0
  97. package/dist/Editor/themeSettings/fonts/PreviewElement.js +123 -0
  98. package/dist/Editor/themeSettings/fonts/index.js +213 -0
  99. package/dist/Editor/themeSettings/fonts/style.js +44 -0
  100. package/dist/Editor/themeSettings/icons.js +60 -0
  101. package/dist/Editor/themeSettings/index.js +320 -0
  102. package/dist/Editor/themeSettings/style.js +152 -0
  103. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  104. package/dist/Editor/themeSettingsAI/index.js +356 -0
  105. package/dist/Editor/themeSettingsAI/saveTheme.js +190 -0
  106. package/dist/Editor/themeSettingsAI/style.js +247 -0
  107. package/dist/Editor/utils/SlateUtilityFunctions.js +161 -25
  108. package/dist/Editor/utils/button.js +1 -17
  109. package/dist/Editor/utils/events.js +54 -2
  110. package/dist/Editor/utils/font.js +40 -37
  111. package/dist/Editor/utils/helper.js +31 -2
  112. package/dist/Editor/utils/table.js +51 -43
  113. package/package.json +3 -2
@@ -0,0 +1,53 @@
1
+ const styles = () => ({
2
+ customColorPickerContainer: {
3
+ background: "white",
4
+ width: "300px",
5
+ "& .popup_tabs": {
6
+ boxShadow: "none"
7
+ },
8
+ ".customColorPickerWrapper": {
9
+ padding: "10px 0px",
10
+ margin: "0px 16px",
11
+ borderTop: "1px solid #DCE4EC"
12
+ },
13
+ ".colorTitleWrapper": {
14
+ display: "flex",
15
+ justifyContent: "space-between",
16
+ alignItems: "center",
17
+ paddingBottom: "10px",
18
+ ".MuiTypography-root": {
19
+ fontWeight: "600"
20
+ },
21
+ ".editBtn": {
22
+ textTransform: "none",
23
+ color: "#2563EB",
24
+ textDecoration: "underline",
25
+ padding: "0px",
26
+ minWidth: "unset"
27
+ }
28
+ },
29
+ ".colorPickerBtnContainer": {
30
+ display: "flex",
31
+ flexWrap: "wrap",
32
+ gap: "10px"
33
+ },
34
+ ".colorPicketBtn": {
35
+ width: "26px",
36
+ height: "26px",
37
+ outline: "none",
38
+ borderRadius: "50%",
39
+ cursor: "pointer",
40
+ border: "1.5px solid #DCE4EC"
41
+ },
42
+ ".colorPicketBtnActive": {
43
+ borderRadius: "50%",
44
+ padding: "1px",
45
+ border: "1.5px solid rgb(83, 83, 249)",
46
+ width: "fit-content",
47
+ height: "fit-content",
48
+ display: "flex",
49
+ justifyContent: "center"
50
+ }
51
+ }
52
+ });
53
+ export default styles;
@@ -0,0 +1,94 @@
1
+ import Dialog from "@mui/material/Dialog";
2
+ import DialogTitle from "@mui/material/DialogTitle";
3
+ import DialogContent from "@mui/material/DialogContent";
4
+ import DialogActions from "@mui/material/DialogActions";
5
+ import IconButton from "@mui/material/IconButton";
6
+ import CloseIcon from "@mui/icons-material/Close";
7
+ import { Box, Typography, Button } from "@mui/material";
8
+ import SwipeableDrawer from "../SwipeableDrawer";
9
+ import customDialogStyles from "./style";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ import { Fragment as _Fragment } from "react/jsx-runtime";
13
+ function CustomDialog(props) {
14
+ const {
15
+ handleClose,
16
+ customProps,
17
+ children,
18
+ onSubmit
19
+ } = props;
20
+ const {
21
+ isMobile
22
+ } = customProps;
23
+ const classes = customDialogStyles();
24
+ if (isMobile) {
25
+ return /*#__PURE__*/_jsx(Box, {
26
+ sx: classes.dialogContainer,
27
+ children: /*#__PURE__*/_jsxs(SwipeableDrawer, {
28
+ onClose: handleClose,
29
+ children: [/*#__PURE__*/_jsx(Typography, {
30
+ variant: "subtitle1",
31
+ gutterBottom: true,
32
+ sx: {
33
+ fontWeight: 600
34
+ },
35
+ children: "What do you want to link to?"
36
+ }), /*#__PURE__*/_jsx(Box, {
37
+ sx: classes.mobileDialogContent,
38
+ children: children
39
+ }), /*#__PURE__*/_jsx(Box, {
40
+ component: "div",
41
+ sx: classes.mobileActionBtns,
42
+ children: /*#__PURE__*/_jsx(ActionsButtons, {
43
+ classes: classes,
44
+ onCancel: handleClose,
45
+ onSave: onSubmit
46
+ })
47
+ })]
48
+ })
49
+ });
50
+ } else {
51
+ return /*#__PURE__*/_jsxs(Dialog, {
52
+ onClose: handleClose,
53
+ open: true,
54
+ sx: classes.dialogContainer,
55
+ fullWidth: true,
56
+ maxWidth: "sm",
57
+ children: [/*#__PURE__*/_jsx(DialogTitle, {
58
+ children: "What do you want to link to?"
59
+ }), /*#__PURE__*/_jsx(IconButton, {
60
+ "aria-label": "close",
61
+ onClick: handleClose,
62
+ sx: classes.closeIcon,
63
+ children: /*#__PURE__*/_jsx(CloseIcon, {})
64
+ }), /*#__PURE__*/_jsx(DialogContent, {
65
+ dividers: true,
66
+ children: children
67
+ }), /*#__PURE__*/_jsx(DialogActions, {
68
+ children: /*#__PURE__*/_jsx(ActionsButtons, {
69
+ classes: classes,
70
+ onCancel: handleClose,
71
+ onSave: onSubmit
72
+ })
73
+ })]
74
+ });
75
+ }
76
+ }
77
+ export default CustomDialog;
78
+ function ActionsButtons({
79
+ classes,
80
+ onCancel,
81
+ onSave
82
+ }) {
83
+ return /*#__PURE__*/_jsxs(_Fragment, {
84
+ children: [/*#__PURE__*/_jsx(Button, {
85
+ onClick: onCancel,
86
+ sx: classes.closeBtn,
87
+ children: "Cancel"
88
+ }), /*#__PURE__*/_jsx(Button, {
89
+ onClick: onSave,
90
+ sx: classes.saveBtn,
91
+ children: "Save"
92
+ })]
93
+ });
94
+ }
@@ -0,0 +1,67 @@
1
+ const styles = () => ({
2
+ dialogContainer: {
3
+ "& .MuiDialogContent-root": {
4
+ padding: "0px 20px"
5
+ },
6
+ "& .MuiDialogActions-root": {
7
+ padding: "10px"
8
+ },
9
+ "& .MuiTypography-h6": {
10
+ fontWeight: 600,
11
+ fontSize: "16px",
12
+ paddingRight: "20px"
13
+ },
14
+ "& .MuiGrid-container": {
15
+ marginTop: "0px"
16
+ },
17
+ "& .MuiGrid-item": {
18
+ padding: "14px"
19
+ }
20
+ },
21
+ saveBtn: {
22
+ color: "#fff",
23
+ background: "#2563EB",
24
+ fontSize: "14px",
25
+ fontWeight: 500,
26
+ padding: "4px 24px",
27
+ textTransform: "none",
28
+ "&:hover": {
29
+ color: "#fff",
30
+ background: "#2563EB"
31
+ }
32
+ },
33
+ closeBtn: {
34
+ backgroundColor: "#F4F6F9",
35
+ color: "#64748B",
36
+ fontSize: "14px",
37
+ fontWeight: 500,
38
+ padding: "4px 22px",
39
+ textTransform: "none",
40
+ border: "1px solid #D8DDE1",
41
+ "&:hover": {
42
+ border: "1px solid #64748B"
43
+ }
44
+ },
45
+ closeIcon: {
46
+ position: "absolute",
47
+ right: 8,
48
+ top: 8,
49
+ color: theme => theme.palette.grey[500]
50
+ },
51
+ gridDivider: {
52
+ borderRight: "1px solid rgba(0, 0, 0, 0.12)"
53
+ },
54
+ mobileActionBtns: {
55
+ display: "flex",
56
+ justifyContent: "flex-end",
57
+ gap: "8px",
58
+ paddingTop: "14px",
59
+ marginTop: "14px",
60
+ borderTop: theme => `1px solid ${theme.palette.grey[300]}`
61
+ },
62
+ mobileDialogContent: {
63
+ borderTop: theme => `1px solid ${theme.palette.grey[300]}`,
64
+ paddingTop: "14px"
65
+ }
66
+ });
67
+ export default styles;
@@ -0,0 +1,33 @@
1
+ import { MenuItem, Select } from "@mui/material";
2
+ import { fontFamilyMap } from "../utils/font";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ function CustomSelect(props) {
5
+ const {
6
+ onChange,
7
+ options = [],
8
+ value
9
+ } = props;
10
+ return /*#__PURE__*/_jsx(Select, {
11
+ fullWidth: true,
12
+ value: value,
13
+ onChange: onChange,
14
+ className: "editor-dd",
15
+ style: {
16
+ fontFamily: fontFamilyMap[value],
17
+ width: "100%",
18
+ height: "36px",
19
+ borderRadius: "10px",
20
+ fontSize: "14px"
21
+ },
22
+ children: options.map((option, i) => {
23
+ return /*#__PURE__*/_jsx(MenuItem, {
24
+ value: option.value,
25
+ style: {
26
+ fontFamily: option.text
27
+ },
28
+ children: option?.label || option?.text
29
+ }, i);
30
+ })
31
+ });
32
+ }
33
+ export default CustomSelect;
@@ -7,59 +7,68 @@ import { useEditorContext } from "../../hooks/useMouseMove";
7
7
  import { Transforms } from "slate";
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
10
- const DRAGGABLE_TYPES = ["paragraph", "headingOne", "headingTwo", "headingThree", "grid"];
11
- const DragHandleStyle = () => ({
12
- dragHandle: {
13
- opacity: 0,
14
- content: '" "',
10
+ const DRAGGABLE_TYPES = ["paragraph", "headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree", "grid"];
11
+ const DragHandleStyle = fromPopper => {
12
+ const handleDragStyle = fromPopper ? {
13
+ position: "absolute",
14
+ top: "6px",
15
+ left: "4px"
16
+ } : {
15
17
  position: "absolute",
16
18
  top: "3px",
17
- left: "-52px",
18
- borderRadius: "0px",
19
- padding: "0px",
20
- width: "20px",
21
- height: "20px",
22
- border: 0,
23
- display: "flex",
24
- alignItems: "center",
25
- justifyContent: "center",
26
- cursor: "grab",
27
- color: "#D7D7D6",
28
- background: "rgb(221, 221, 221, 0.1)",
29
- "& svg": {
30
- width: "20px"
19
+ left: "-52px"
20
+ };
21
+ return {
22
+ dragHandle: {
23
+ opacity: 0,
24
+ content: '" "',
25
+ ...handleDragStyle,
26
+ borderRadius: "0px",
27
+ padding: "0px",
28
+ width: "20px",
29
+ height: "20px",
30
+ border: 0,
31
+ display: "flex",
32
+ alignItems: "center",
33
+ justifyContent: "center",
34
+ cursor: "grab",
35
+ color: "#D7D7D6",
36
+ background: "rgb(221, 221, 221, 0.1)",
37
+ "& svg": {
38
+ width: "20px"
39
+ },
40
+ "&:hover": {
41
+ opacity: 1,
42
+ background: "rgb(221, 221, 221, 0.8)"
43
+ },
44
+ "&.active": {
45
+ opacity: 1,
46
+ cursor: "grabbing"
47
+ }
31
48
  },
32
- "&:hover": {
33
- opacity: 1,
34
- background: "rgb(221, 221, 221, 0.8)"
49
+ dropArea: {
50
+ position: "absolute",
51
+ left: 0,
52
+ top: 0,
53
+ width: "100%",
54
+ height: "100%",
55
+ pointerEvents: "none",
56
+ zIndex: -1,
57
+ "&.dragging": {
58
+ backgroundColor: "#def4ff"
59
+ }
35
60
  },
36
- "&.active": {
37
- opacity: 1,
38
- cursor: "grabbing"
61
+ dropAreaOver: {
62
+ position: "absolute",
63
+ left: 0,
64
+ top: 0,
65
+ width: "100%",
66
+ height: "4px"
39
67
  }
40
- },
41
- dropArea: {
42
- position: "absolute",
43
- left: 0,
44
- top: 0,
45
- width: "100%",
46
- height: "100%",
47
- pointerEvents: "none",
48
- zIndex: -1,
49
- "&.dragging": {
50
- backgroundColor: "#def4ff"
51
- }
52
- },
53
- dropAreaOver: {
54
- position: "absolute",
55
- left: 0,
56
- top: 0,
57
- width: "100%",
58
- height: "4px"
59
- }
60
- });
68
+ };
69
+ };
61
70
  const DragHandle = props => {
62
- const classes = DragHandleStyle();
71
+ const classes = DragHandleStyle(props.fromPopper);
63
72
  const editor = useSlateStatic();
64
73
  const [dragging, setDragging] = useState(false);
65
74
  const {
@@ -10,10 +10,26 @@ import { IoIosImage } from "react-icons/io";
10
10
  import { GridIcon, AccordionIcon, SignatureIcon, ButtonIcon, Carousal, FormIcon, BoldIcon, FontFamilyIcon, FontSizeIcon, ImageIcon, ItalicIcon, LinkIcon, StrikethroughIcon, TableIcon, UnderLineIcon, VideoIcon, CheckboxIcon, AppHeader, MoreHorizontal, UploadImage, DocsUpload, LeftArrow, RightArrow, CheckListButton, CheckListButtonActive, ExcelIcon, CsvIcon, DividerIcon, CloseIcon, SearchIcon, ExpandIcon, CalendarIconNew, Text, TextAreaIcon, Phone, BriefCase, Bank, CalendarTick, DollarSquare, Checkbox, Description, RadioButtonIcon, CheckedIcon, UncheckedIcon, InfinityIcon, ResetIcon } from "./iconslist";
11
11
  import ArrowRightIcon from "@mui/icons-material/ArrowRight";
12
12
  import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown";
13
- import EmailRoundedIcon from '@mui/icons-material/EmailRounded';
14
- import InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';
13
+ import EmailRoundedIcon from "@mui/icons-material/EmailRounded";
14
+ import InfoOutlinedIcon from "@mui/icons-material/InfoOutlined";
15
+ import SettingsIcon from "../assets/svg/SettingsIcon";
16
+ import UndoIcon from "../assets/svg/UndoIcon";
17
+ import RedoIcon from "../assets/svg/RedoIcon";
18
+ import TextIcon from "../assets/svg/TextIcon";
19
+ import AddElementIcon from "../assets/svg/AddElementIcon";
20
+ import AddTemplateIcon from "../assets/svg/AddTemplateIcon";
15
21
  import { jsx as _jsx } from "react/jsx-runtime";
16
22
  import { jsxs as _jsxs } from "react/jsx-runtime";
23
+ const HeadingIcon = ({
24
+ variant
25
+ }) => {
26
+ return /*#__PURE__*/_jsx("div", {
27
+ style: {
28
+ color: "#64748B"
29
+ },
30
+ children: variant
31
+ });
32
+ };
17
33
  const iconList = {
18
34
  fontFamily: /*#__PURE__*/_jsx(FontFamilyIcon, {
19
35
  size: 20
@@ -49,6 +65,24 @@ const iconList = {
49
65
  size: 18,
50
66
  fill: "#64748B"
51
67
  }),
68
+ headingFour: /*#__PURE__*/_jsx(HeadingIcon, {
69
+ variant: "H4"
70
+ }),
71
+ headingFive: /*#__PURE__*/_jsx(HeadingIcon, {
72
+ variant: "H5"
73
+ }),
74
+ headingSix: /*#__PURE__*/_jsx(HeadingIcon, {
75
+ variant: "H6"
76
+ }),
77
+ paragraphOne: /*#__PURE__*/_jsx(HeadingIcon, {
78
+ variant: "P1"
79
+ }),
80
+ paragraphTwo: /*#__PURE__*/_jsx(HeadingIcon, {
81
+ variant: "P2"
82
+ }),
83
+ paragraphThree: /*#__PURE__*/_jsx(HeadingIcon, {
84
+ variant: "P3"
85
+ }),
52
86
  blockquote: /*#__PURE__*/_jsx(MdFormatQuote, {
53
87
  size: 20,
54
88
  fill: "#64748B"
@@ -244,7 +278,13 @@ const iconList = {
244
278
  checkedIcon: /*#__PURE__*/_jsx(CheckedIcon, {}),
245
279
  uncheckedIcon: /*#__PURE__*/_jsx(UncheckedIcon, {}),
246
280
  infinityIcon: /*#__PURE__*/_jsx(InfinityIcon, {}),
247
- resetIcon: /*#__PURE__*/_jsx(ResetIcon, {})
281
+ resetIcon: /*#__PURE__*/_jsx(ResetIcon, {}),
282
+ pagesSettings: /*#__PURE__*/_jsx(SettingsIcon, {}),
283
+ undoIcon: /*#__PURE__*/_jsx(UndoIcon, {}),
284
+ redoIcon: /*#__PURE__*/_jsx(RedoIcon, {}),
285
+ textIcon: /*#__PURE__*/_jsx(TextIcon, {}),
286
+ addElement: /*#__PURE__*/_jsx(AddElementIcon, {}),
287
+ addTemplate: /*#__PURE__*/_jsx(AddTemplateIcon, {})
248
288
  };
249
289
  const Icon = props => {
250
290
  const {
@@ -134,10 +134,13 @@ export const SelectPage = props => {
134
134
  });
135
135
  };
136
136
  export const Trigger = props => {
137
- return /*#__PURE__*/_jsx(Typography, {
137
+ const {
138
+ nav
139
+ } = props;
140
+ return /*#__PURE__*/_jsxs(Typography, {
138
141
  variant: "subtitle1",
139
142
  gutterBottom: true,
140
- children: "Choosing this will trigger the next step"
143
+ children: ["Choosing this will trigger the ", nav.type, " step"]
141
144
  });
142
145
  };
143
146
  const scrollToOptions = [{
@@ -18,7 +18,8 @@ const MAP_COMPONENT = {
18
18
  webAddress: TextInput,
19
19
  email: TextInput,
20
20
  phone: TextInput,
21
- actionTrigger: Trigger,
21
+ nextTrigger: Trigger,
22
+ prevTrigger: Trigger,
22
23
  scrollTopOrBottom: ScrollTopBottom,
23
24
  page: SelectPage
24
25
  };
@@ -35,11 +36,12 @@ export default function LinkSettings(props) {
35
36
  customProps,
36
37
  navType
37
38
  } = props;
39
+ const themeType = localStorage.getItem("themeType");
38
40
  const {
39
41
  isMobile
40
42
  } = customProps;
41
43
  const navOptions = getNavOptions(customProps.hideTools);
42
- const classes = LinkSettingsStyles();
44
+ const classes = LinkSettingsStyles(themeType);
43
45
  const [nav, setNav] = useState(getNav(navType, navOptions));
44
46
  const [navValue, setNavValue] = useState(props?.navValue || "");
45
47
  const [openInNewTab, setOpenInNewTab] = useState(props.openInNewTab || false);
@@ -3,8 +3,13 @@ export const getNavOptions = (hideTools = []) => {
3
3
  label: "None",
4
4
  value: ""
5
5
  }, {
6
- label: "Trigger",
7
- value: "actionTrigger"
6
+ label: "Next Trigger",
7
+ value: "nextTrigger",
8
+ type: "next"
9
+ }, {
10
+ label: "Previous Trigger",
11
+ value: "prevTrigger",
12
+ type: "previous"
8
13
  }, {
9
14
  label: "Web Address",
10
15
  value: "webAddress",
@@ -1,32 +1,35 @@
1
- const ButtonNavSettingsStyles = () => ({
1
+ const ButtonNavSettingsStyles = themeType => ({
2
2
  dialogContainer: {
3
- '& .MuiDialogContent-root': {
3
+ "& .MuiPaper-root": {
4
+ background: themeType === "dark" ? "#141720 !important" : "#ffffff !important"
5
+ },
6
+ "& .MuiDialogContent-root": {
4
7
  padding: "0px 20px"
5
8
  },
6
- '& .MuiDialogActions-root': {
9
+ "& .MuiDialogActions-root": {
7
10
  padding: "10px"
8
11
  },
9
- '& .MuiTypography-h6': {
12
+ "& .MuiTypography-h6": {
10
13
  fontWeight: 600,
11
14
  fontSize: "16px",
12
15
  paddingRight: "20px"
13
16
  },
14
17
  "& .MuiGrid-container": {
15
- marginTop: '0px'
18
+ marginTop: "0px"
16
19
  },
17
20
  "& .MuiGrid-item": {
18
21
  padding: "14px"
19
22
  }
20
23
  },
21
24
  saveBtn: {
22
- color: '#fff',
25
+ color: "#fff",
23
26
  background: "#2563EB",
24
27
  fontSize: "14px",
25
28
  fontWeight: 500,
26
29
  padding: "4px 24px",
27
30
  textTransform: "none",
28
31
  "&:hover": {
29
- color: '#fff',
32
+ color: "#fff",
30
33
  background: "#2563EB"
31
34
  }
32
35
  },
@@ -43,7 +46,7 @@ const ButtonNavSettingsStyles = () => ({
43
46
  }
44
47
  },
45
48
  closeIcon: {
46
- position: 'absolute',
49
+ position: "absolute",
47
50
  right: 8,
48
51
  top: 8,
49
52
  color: theme => theme.palette.grey[500]
@@ -1,15 +1,17 @@
1
- import React, { useState } from "react";
1
+ import React, { useRef, useState } from "react";
2
2
  import { Transforms } from "slate";
3
3
  import { ReactEditor, useSlateStatic } from "slate-react";
4
- import { Box, IconButton, Tooltip } from "@mui/material";
4
+ import { Box, IconButton, Popper, Tooltip } from "@mui/material";
5
5
  import TuneIcon from "@mui/icons-material/Tune";
6
6
  import SectionPopup from "../../Elements/Grid/SectionPopup";
7
7
  import { getBreakPointsValue, getTRBLBreakPoints } from "../../helper/theme";
8
8
  import DragHandle from "../DnD/DragHandleButton";
9
9
  import { useEditorSelection } from "../../hooks/useMouseMove";
10
10
  import SectionStyle from "./styles";
11
+ import useWindowResize from "../../hooks/useWindowResize";
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
14
+ import { Fragment as _Fragment } from "react/jsx-runtime";
13
15
  const list_types = ["orderedList", "unorderedList"];
14
16
  const Section = props => {
15
17
  const classes = SectionStyle();
@@ -38,14 +40,33 @@ const Section = props => {
38
40
  flexDirection
39
41
  } = sectionAlignment || {};
40
42
  const path = ReactEditor.findPath(editor, element);
43
+ const anchorEl = useRef(null);
44
+ const popperEl = useRef(null);
45
+ const [size] = useWindowResize();
46
+ const isSectionFullWidth = sectionGridSize && sectionGridSize[size?.device] >= 12;
47
+ const [isHovering, setIsHovering] = useState(false);
48
+ const onMouseEnter = () => {
49
+ setIsHovering(true);
50
+ };
51
+ const onMouseLeave = () => {
52
+ setIsHovering(false);
53
+ };
41
54
  const onSettings = () => {
42
55
  setOpenSettings(true);
43
56
  };
44
- const Toolbar = () => {
57
+ const Toolbar = ({
58
+ fromPopper
59
+ }) => {
45
60
  return !readOnly && !showTool ? /*#__PURE__*/_jsx(Box, {
46
61
  component: "div",
47
62
  className: `element-toolbar no-border-button hr section-tw sectionIcon`,
48
- style: {
63
+ style: fromPopper ? {
64
+ position: "unset",
65
+ marginLeft: "28px",
66
+ paddingTop: "4px",
67
+ marginRight: "10px",
68
+ height: "100%"
69
+ } : {
49
70
  left: "-28px",
50
71
  top: "3px"
51
72
  },
@@ -99,6 +120,8 @@ const Section = props => {
99
120
  alignItems: horizantal,
100
121
  justifyContent: vertical
101
122
  },
123
+ onMouseEnter: onMouseEnter,
124
+ onMouseLeave: onMouseLeave,
102
125
  children: [/*#__PURE__*/_jsxs(Box, {
103
126
  className: "ed-section-inner",
104
127
  sx: {
@@ -107,9 +130,36 @@ const Section = props => {
107
130
  ...getBreakPointsValue(sectionGridSize || 8, null, "overrideGridSize", true)
108
131
  }
109
132
  },
110
- children: [!readOnly && !showTool ? /*#__PURE__*/_jsx(DragHandle, {
111
- ...props
112
- }) : null, children, /*#__PURE__*/_jsx(Toolbar, {})]
133
+ ref: anchorEl,
134
+ children: [isHovering && isSectionFullWidth ? /*#__PURE__*/_jsx(Popper, {
135
+ open: isHovering && isSectionFullWidth,
136
+ anchorEl: anchorEl?.current,
137
+ placement: "top-start",
138
+ sx: {
139
+ zIndex: 9999
140
+ },
141
+ disablePortal: true,
142
+ ref: popperEl,
143
+ className: "sectionPopper",
144
+ children: /*#__PURE__*/_jsxs(Box, {
145
+ sx: {
146
+ bgcolor: "background.paper",
147
+ background: "#F6F6F6",
148
+ height: "30px",
149
+ position: "relative"
150
+ },
151
+ children: [!readOnly && !showTool ? /*#__PURE__*/_jsx(DragHandle, {
152
+ ...props,
153
+ fromPopper: true
154
+ }) : null, /*#__PURE__*/_jsx(Toolbar, {
155
+ fromPopper: true
156
+ })]
157
+ })
158
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
159
+ children: [!readOnly && !showTool ? /*#__PURE__*/_jsx(DragHandle, {
160
+ ...props
161
+ }) : null, /*#__PURE__*/_jsx(Toolbar, {})]
162
+ }), children]
113
163
  }), openSetttings ? /*#__PURE__*/_jsx(SectionPopup, {
114
164
  element: {
115
165
  ...element,
@@ -6,6 +6,9 @@ const SectionStyle = () => ({
6
6
  },
7
7
  "& .sectionIcon": {
8
8
  opacity: 1
9
+ },
10
+ "& .sectionPopper": {
11
+ opacity: 1
9
12
  }
10
13
  },
11
14
  "& .element-toolbar": {
@@ -13,6 +16,14 @@ const SectionStyle = () => ({
13
16
  display: "block"
14
17
  }
15
18
  },
19
+ "& .sectionPopper": {
20
+ "&:hover": {
21
+ opacity: 1
22
+ }
23
+ },
24
+ "& .sectionPopper": {
25
+ opacity: 0
26
+ },
16
27
  "& .sectionIcon": {
17
28
  opacity: 0,
18
29
  padding: "0px",