@flozy/editor 1.1.2 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. package/dist/Editor/CollaborativeEditor.js +7 -2
  2. package/dist/Editor/CommonEditor.js +53 -34
  3. package/dist/Editor/Editor.css +93 -17
  4. package/dist/Editor/Elements/Accordion/Accordion.js +67 -2
  5. package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +20 -0
  6. package/dist/Editor/Elements/Accordion/AccordionButton.js +2 -1
  7. package/dist/Editor/Elements/Accordion/AccordionSummary.js +59 -4
  8. package/dist/Editor/Elements/Accordion/AccordionTitlePopup.js +20 -0
  9. package/dist/Editor/Elements/Button/ButtonPopup.js +20 -0
  10. package/dist/Editor/Elements/Button/ButtonToolIcon.js +19 -0
  11. package/dist/Editor/Elements/Button/EditorButton.js +124 -0
  12. package/dist/Editor/Elements/Carousel/Arrows.js +39 -0
  13. package/dist/Editor/Elements/Carousel/Carousel.js +82 -0
  14. package/dist/Editor/Elements/Carousel/CarouselButton.js +19 -0
  15. package/dist/Editor/Elements/Carousel/CarouselItem.js +13 -0
  16. package/dist/Editor/Elements/Carousel/slick-theme.min.css +143 -0
  17. package/dist/Editor/Elements/Carousel/slick.min.css +83 -0
  18. package/dist/Editor/Elements/Color Picker/ColorPicker.js +1 -1
  19. package/dist/Editor/Elements/Embed/Embed.css +22 -2
  20. package/dist/Editor/Elements/Embed/Embed.js +89 -74
  21. package/dist/Editor/Elements/Embed/EmbedPopup.js +23 -0
  22. package/dist/Editor/Elements/Embed/Image.js +92 -10
  23. package/dist/Editor/Elements/Embed/Video.js +1 -0
  24. package/dist/Editor/Elements/Equation/EquationButton.js +12 -12
  25. package/dist/Editor/Elements/Grid/Grid.js +64 -8
  26. package/dist/Editor/Elements/Grid/GridButton.js +2 -4
  27. package/dist/Editor/Elements/Grid/GridItem.js +59 -5
  28. package/dist/Editor/Elements/Grid/GridItemPopup.js +20 -0
  29. package/dist/Editor/Elements/Grid/GridPopup.js +22 -0
  30. package/dist/Editor/Elements/ID/Id.js +1 -1
  31. package/dist/Editor/Elements/ImageText/ImageText.js +14 -0
  32. package/dist/Editor/Elements/ImageText/ImageTextWrapper.js +14 -0
  33. package/dist/Editor/Elements/Link/LinkButton.js +1 -1
  34. package/dist/Editor/Elements/NewLine/NewLineButton.js +2 -1
  35. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +88 -0
  36. package/dist/Editor/Elements/PageSettings/PageSettingsPopup.js +22 -0
  37. package/dist/Editor/Elements/Signature/Signature.js +4 -2
  38. package/dist/Editor/Elements/Signature/SignatureButton.js +2 -1
  39. package/dist/Editor/Elements/Signature/SignatureOptions/DrawSignature.js +7 -2
  40. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -1
  41. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +50 -0
  42. package/dist/Editor/Elements/Signature/SignatureOptions/index.js +2 -1
  43. package/dist/Editor/Elements/Signature/SignaturePopup.js +79 -10
  44. package/dist/Editor/Elements/Table/DeleteCellIcon.js +24 -0
  45. package/dist/Editor/Elements/Table/DeleteRowIcon.js +24 -0
  46. package/dist/Editor/Elements/Table/Table.js +9 -1
  47. package/dist/Editor/Elements/Table/TableCell.js +181 -0
  48. package/dist/Editor/Elements/Table/TablePopup.js +22 -0
  49. package/dist/Editor/Elements/Table/TableRow.js +31 -0
  50. package/dist/Editor/Elements/Table/TableSelector.js +62 -68
  51. package/dist/Editor/Toolbar/Toolbar.js +22 -7
  52. package/dist/Editor/Toolbar/styles.css +20 -11
  53. package/dist/Editor/Toolbar/toolbarGroups.js +9 -9
  54. package/dist/Editor/common/Button.js +4 -8
  55. package/dist/Editor/common/StyleBuilder/accordionTitleBtnStyle.js +23 -0
  56. package/dist/Editor/common/StyleBuilder/accordionTitleStyle.js +35 -0
  57. package/dist/Editor/common/StyleBuilder/buttonStyle.js +47 -0
  58. package/dist/Editor/common/StyleBuilder/embedImageStyle.js +63 -0
  59. package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +88 -0
  60. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +87 -0
  61. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +136 -0
  62. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +126 -0
  63. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +89 -0
  64. package/dist/Editor/common/StyleBuilder/fieldTypes/elementSize.js +110 -0
  65. package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +42 -0
  66. package/dist/Editor/common/StyleBuilder/fieldTypes/imageTexts.js +75 -0
  67. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +21 -0
  68. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +46 -0
  69. package/dist/Editor/common/StyleBuilder/gridItemStyle.js +51 -0
  70. package/dist/Editor/common/StyleBuilder/gridStyle.js +51 -0
  71. package/dist/Editor/common/StyleBuilder/index.js +114 -0
  72. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +10 -0
  73. package/dist/Editor/common/StyleBuilder/tableStyle.js +38 -0
  74. package/dist/Editor/common/Uploader.js +87 -0
  75. package/dist/Editor/plugins/withEmbeds.js +12 -5
  76. package/dist/Editor/plugins/withTable.js +5 -4
  77. package/dist/Editor/service/fileupload.js +17 -0
  78. package/dist/Editor/utils/SlateUtilityFunctions.js +46 -12
  79. package/dist/Editor/utils/button.js +11 -0
  80. package/dist/Editor/utils/carousel.js +13 -0
  81. package/dist/Editor/utils/carouselItem.js +19 -0
  82. package/dist/Editor/utils/customHooks/useContextMenu.js +8 -8
  83. package/dist/Editor/utils/customHooks/useResize.js +1 -1
  84. package/dist/Editor/utils/font.js +4 -4
  85. package/dist/Editor/utils/helper.js +16 -0
  86. package/dist/Editor/utils/imageText.js +19 -0
  87. package/dist/Editor/utils/table.js +172 -0
  88. package/package.json +2 -1
@@ -0,0 +1,181 @@
1
+ import React, { useState } from "react";
2
+ import { Transforms, Editor, Element } from "slate";
3
+ import { useSelected, useSlateStatic, ReactEditor } from "slate-react";
4
+ import { IconButton } from "@mui/material";
5
+ import AlignHorizontalLeftIcon from "@mui/icons-material/AlignHorizontalLeft";
6
+ import AlignHorizontalRightIcon from "@mui/icons-material/AlignHorizontalRight";
7
+ import AlignVerticalTopIcon from "@mui/icons-material/AlignVerticalTop";
8
+ import AlignVerticalBottomIcon from "@mui/icons-material/AlignVerticalBottom";
9
+ import DeleteForeverIcon from "@mui/icons-material/DeleteForever";
10
+ import SettingsIcon from "@mui/icons-material/Settings";
11
+ import DeleteCellIcon from "./DeleteCellIcon";
12
+ import DeleteRowIcon from "./DeleteRowIcon";
13
+ import { TableUtil } from "../../utils/table";
14
+ import TablePopup from "./TablePopup";
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
+ import { jsxs as _jsxs } from "react/jsx-runtime";
17
+ const TABLE_MENUS = [{
18
+ Icon: AlignHorizontalRightIcon,
19
+ text: "Insert Columns to the Right",
20
+ action: {
21
+ type: "insertColumn",
22
+ position: "after"
23
+ }
24
+ }, {
25
+ Icon: AlignHorizontalLeftIcon,
26
+ text: "Insert Columns to the Left",
27
+ action: {
28
+ type: "insertColumn",
29
+ position: "at"
30
+ }
31
+ }, {
32
+ Icon: AlignVerticalTopIcon,
33
+ text: "Insert Row Above",
34
+ action: {
35
+ type: "insertRow",
36
+ positon: "at"
37
+ }
38
+ }, {
39
+ Icon: AlignVerticalBottomIcon,
40
+ text: "Insert Row Below",
41
+ action: {
42
+ type: "insertRow",
43
+ position: "after"
44
+ }
45
+ }, {
46
+ Icon: DeleteRowIcon,
47
+ text: "Delete Row",
48
+ action: {
49
+ type: "deleteRow"
50
+ }
51
+ }, {
52
+ Icon: DeleteCellIcon,
53
+ text: "Delete Column",
54
+ action: {
55
+ type: "deleteColumn"
56
+ }
57
+ }, {
58
+ Icon: SettingsIcon,
59
+ text: "Settings",
60
+ action: {
61
+ type: "settings"
62
+ }
63
+ }, {
64
+ Icon: DeleteForeverIcon,
65
+ text: "Remove Table",
66
+ action: {
67
+ type: "remove"
68
+ }
69
+ }];
70
+ const TableCell = props => {
71
+ const {
72
+ element,
73
+ attributes,
74
+ children,
75
+ customProps
76
+ } = props;
77
+ const [openSetttings, setOpenSettings] = useState(false);
78
+ const {
79
+ bgColor,
80
+ borderColor
81
+ } = element;
82
+ const editor = useSlateStatic();
83
+ const selected = useSelected();
84
+ const table = new TableUtil(editor);
85
+ const tableProps = table.getTableProps();
86
+ const path = ReactEditor.findPath(editor, element);
87
+ const [tableNode] = Editor.nodes(editor, {
88
+ at: path,
89
+ match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "table"
90
+ });
91
+ const [rowNode] = Editor.nodes(editor, {
92
+ at: path,
93
+ match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "table-row"
94
+ });
95
+ const [parentProps] = tableNode || [{}];
96
+ const [rowProps] = rowNode || [{}];
97
+ const handleInsert = ({
98
+ type,
99
+ position
100
+ }) => () => {
101
+ Transforms.select(editor, editor.selection);
102
+ switch (type) {
103
+ case "insertRow":
104
+ table.insertRow(position);
105
+ break;
106
+ case "insertColumn":
107
+ table.insertColumn(position);
108
+ break;
109
+ case "deleteRow":
110
+ table.deleteRow();
111
+ break;
112
+ case "deleteColumn":
113
+ table.deleteColumn();
114
+ break;
115
+ case "remove":
116
+ table.removeTable();
117
+ break;
118
+ case "settings":
119
+ if (tableProps) {
120
+ onSettings(true);
121
+ }
122
+ break;
123
+ default:
124
+ return;
125
+ }
126
+ };
127
+ const ToolBar = () => {
128
+ return selected ? /*#__PURE__*/_jsx("div", {
129
+ contentEditable: false,
130
+ style: {
131
+ position: "absolute",
132
+ top: "-40px",
133
+ left: 0,
134
+ backgroundColor: "#CCC"
135
+ },
136
+ children: TABLE_MENUS.map(({
137
+ Icon,
138
+ text,
139
+ action
140
+ }) => {
141
+ return /*#__PURE__*/_jsx(IconButton, {
142
+ title: text,
143
+ onClick: handleInsert(action),
144
+ children: /*#__PURE__*/_jsx(Icon, {})
145
+ }, text);
146
+ })
147
+ }) : null;
148
+ };
149
+ const onSettings = () => {
150
+ setOpenSettings(true);
151
+ };
152
+ const onSave = data => {
153
+ const updateData = {
154
+ ...data
155
+ };
156
+ delete updateData.children;
157
+ delete updateData.type;
158
+ table.updateTableStyle(updateData, {
159
+ ...tableProps
160
+ });
161
+ onClose();
162
+ };
163
+ const onClose = () => {
164
+ setOpenSettings(false);
165
+ };
166
+ return /*#__PURE__*/_jsxs("td", {
167
+ ...element.attr,
168
+ ...attributes,
169
+ style: {
170
+ backgroundColor: bgColor,
171
+ border: `3px solid ${borderColor || rowProps?.borderColor || parentProps?.borderColor}`
172
+ },
173
+ children: [/*#__PURE__*/_jsx(ToolBar, {}), children, openSetttings ? /*#__PURE__*/_jsx(TablePopup, {
174
+ element: tableProps?.styleProps || {},
175
+ onSave: onSave,
176
+ onClose: onClose,
177
+ customProps: customProps
178
+ }) : null]
179
+ });
180
+ };
181
+ export default TableCell;
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import StyleBuilder from "../../common/StyleBuilder";
3
+ import tableStyle from "../../common/StyleBuilder/tableStyle";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ const TablePopup = props => {
6
+ const {
7
+ element,
8
+ onSave,
9
+ onClose,
10
+ customProps
11
+ } = props;
12
+ return /*#__PURE__*/_jsx(StyleBuilder, {
13
+ title: "Table",
14
+ type: "gridStyle",
15
+ element: element,
16
+ onSave: onSave,
17
+ onClose: onClose,
18
+ renderTabs: tableStyle,
19
+ customProps: customProps
20
+ });
21
+ };
22
+ export default TablePopup;
@@ -0,0 +1,31 @@
1
+ import React from "react";
2
+ import { Editor, Element } from "slate";
3
+ import { useSlateStatic, ReactEditor } from "slate-react";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ const TableRow = props => {
6
+ const {
7
+ attributes,
8
+ children,
9
+ element
10
+ } = props;
11
+ const {
12
+ bgColor,
13
+ borderColor
14
+ } = element;
15
+ const editor = useSlateStatic();
16
+ const path = ReactEditor.findPath(editor, element);
17
+ const [tableNode] = Editor.nodes(editor, {
18
+ at: path,
19
+ match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "table"
20
+ });
21
+ const [tableProps] = tableNode || [{}];
22
+ return /*#__PURE__*/_jsx("tr", {
23
+ ...attributes,
24
+ style: {
25
+ backgroundColor: bgColor,
26
+ border: `1px solid ${borderColor || tableProps?.borderColor}`
27
+ },
28
+ children: children
29
+ });
30
+ };
31
+ export default TableRow;
@@ -1,9 +1,9 @@
1
- import React, { useEffect, useRef, useState } from 'react';
2
- import Icon from '../../common/Icon';
3
- import usePopup from '../../utils/customHooks/usePopup';
4
- import { Transforms } from 'slate';
5
- import { TableUtil } from '../../utils/table.js';
6
- import './TableSelector.css';
1
+ import React, { useRef, useState } from "react";
2
+ import { Grid, Button, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, TextField } from "@mui/material";
3
+ import Icon from "../../common/Icon";
4
+ import { Transforms } from "slate";
5
+ import { TableUtil } from "../../utils/table.js";
6
+ import "./TableSelector.css";
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
9
9
  const TableSelector = ({
@@ -11,91 +11,85 @@ const TableSelector = ({
11
11
  }) => {
12
12
  const tableOptionsRef = useRef();
13
13
  const [selection, setSelection] = useState();
14
- const [showOptions, setShowOptions] = usePopup(tableOptionsRef);
14
+ const [showOptions, setShowOptions] = useState(false);
15
15
  const [tableData, setTableData] = useState({
16
- row: 0,
17
- column: 0
16
+ row: 2,
17
+ column: 2
18
18
  });
19
- const [tableInput, setTableInput] = useState(Array.from({
20
- length: 6
21
- }, () => Array.from({
22
- length: 6
23
- }, (v, i) => ({
24
- bg: 'lightGray',
25
- column: i
26
- }))));
27
- useEffect(() => {
28
- const newTable = Array.from({
29
- length: 6
30
- }, (obj, row) => Array.from({
31
- length: 6
32
- }, (v, col) => ({
33
- bg: row + 1 <= tableData.row && col + 1 <= tableData.column ? 'orange' : 'lightgray',
34
- column: col
35
- })));
36
- setTableInput(newTable);
37
- }, [tableData]);
38
- useEffect(() => {
39
- if (!showOptions) {
40
- setTableData({
41
- row: 0,
42
- column: 0
43
- });
44
- }
45
- }, [showOptions]);
46
19
  const table = new TableUtil(editor);
47
20
  const handleButtonClick = () => {
48
21
  setSelection(editor.selection);
49
- setShowOptions(prev => !prev);
22
+ setShowOptions(true);
50
23
  };
51
24
  const handleInsert = () => {
52
25
  selection && Transforms.select(editor, selection);
26
+ table.insertTable(tableData.row, tableData.column);
27
+ setShowOptions(false);
28
+ };
29
+ const handleChange = e => {
53
30
  setTableData({
54
- row: -1,
55
- column: -1
31
+ ...tableData,
32
+ [e.target.name]: e.target.value
56
33
  });
57
- table.insertTable(tableData.row, tableData.column);
34
+ };
35
+ const onCancel = () => {
58
36
  setShowOptions(false);
59
37
  };
60
38
  return /*#__PURE__*/_jsxs("div", {
61
39
  ref: tableOptionsRef,
62
- className: "popup-wrapper",
63
- children: [/*#__PURE__*/_jsx("button", {
40
+ className: "popup-wrapper1",
41
+ children: [/*#__PURE__*/_jsx(IconButton, {
64
42
  style: {
65
- border: showOptions ? '1px solid lightgray' : 'none'
43
+ border: showOptions ? "1px solid lightgray" : "none"
66
44
  },
67
45
  title: "table",
68
46
  onClick: handleButtonClick,
69
47
  children: /*#__PURE__*/_jsx(Icon, {
70
48
  icon: "table"
71
49
  })
72
- }), showOptions && /*#__PURE__*/_jsxs("div", {
73
- className: "popup",
74
- children: [/*#__PURE__*/_jsx("span", {
75
- style: {
76
- fontSize: '0.85em'
77
- },
78
- children: /*#__PURE__*/_jsx("i", {
79
- children: `Insert a ${tableData.row >= 1 ? `${tableData.row} x ${tableData.column}` : ''} table`
50
+ }), showOptions ? /*#__PURE__*/_jsxs(Dialog, {
51
+ open: showOptions,
52
+ children: [/*#__PURE__*/_jsx(DialogTitle, {
53
+ children: "Table"
54
+ }), /*#__PURE__*/_jsx(DialogContent, {
55
+ children: /*#__PURE__*/_jsxs(Grid, {
56
+ container: true,
57
+ padding: 3,
58
+ spacing: 2,
59
+ children: [/*#__PURE__*/_jsx(Grid, {
60
+ item: true,
61
+ xs: 12,
62
+ children: /*#__PURE__*/_jsx(TextField, {
63
+ fullWidth: true,
64
+ name: "row",
65
+ value: tableData?.row,
66
+ onChange: handleChange,
67
+ label: "No.of Rows",
68
+ placeholder: "No.of Rows"
69
+ })
70
+ }), /*#__PURE__*/_jsx(Grid, {
71
+ item: true,
72
+ xs: 12,
73
+ children: /*#__PURE__*/_jsx(TextField, {
74
+ fullWidth: true,
75
+ name: "column",
76
+ value: tableData?.column,
77
+ onChange: handleChange,
78
+ label: "No.of Columns",
79
+ placeholder: "No.of Columns"
80
+ })
81
+ })]
80
82
  })
81
- }), /*#__PURE__*/_jsx("div", {
82
- className: "table-input",
83
- children: tableInput.map((grp, row) => grp.map(({
84
- column,
85
- bg
86
- }, col) => /*#__PURE__*/_jsx("div", {
87
- onClick: () => handleInsert(),
88
- onMouseOver: () => setTableData({
89
- row: row + 1,
90
- column: column + 1
91
- }),
92
- className: "table-unit",
93
- style: {
94
- border: `1px solid ${bg}`
95
- }
96
- }, row + col)))
83
+ }), /*#__PURE__*/_jsxs(DialogActions, {
84
+ children: [/*#__PURE__*/_jsx(Button, {
85
+ onClick: onCancel,
86
+ children: "Cancel"
87
+ }), /*#__PURE__*/_jsx(Button, {
88
+ onClick: handleInsert,
89
+ children: "Save"
90
+ })]
97
91
  })]
98
- })]
92
+ }) : null]
99
93
  });
100
94
  };
101
95
  export default TableSelector;
@@ -14,18 +14,21 @@ import Embed from "../Elements/Embed/Embed";
14
14
  import TableSelector from "../Elements/Table/TableSelector";
15
15
  import EquationButton from "../Elements/Equation/EquationButton";
16
16
  import Id from "../Elements/ID/Id";
17
- import TableContextMenu from "../Elements/TableContextMenu/TableContextMenu";
18
17
  import CodeToTextButton from "../Elements/CodeToText/CodeToTextButton";
19
18
  import HtmlContextMenu from "../Elements/CodeToText/HtmlContextMenu";
20
19
  import GridButton from "../Elements/Grid/GridButton";
21
20
  import NewLineButton from "../Elements/NewLine/NewLineButton";
22
21
  import AccordionButton from "../Elements/Accordion/AccordionButton";
23
22
  import SignatureButton from "../Elements/Signature/SignatureButton";
23
+ import ButtonToolIcon from "../Elements/Button/ButtonToolIcon";
24
+ import PageSettingsButton from "../Elements/PageSettings/PageSettingsButton";
25
+ import CarouselButton from "../Elements/Carousel/CarouselButton";
24
26
  import { jsx as _jsx } from "react/jsx-runtime";
25
27
  import { jsxs as _jsxs } from "react/jsx-runtime";
26
28
  const Toolbar = props => {
27
29
  const {
28
- handleCodeToText
30
+ handleCodeToText,
31
+ customProps
29
32
  } = props;
30
33
  const editor = useSlate();
31
34
  const isTable = useFormat(editor, "table");
@@ -79,6 +82,7 @@ const Toolbar = props => {
79
82
  const value = activeMark(editor, format);
80
83
  return /*#__PURE__*/_jsx(Select, {
81
84
  value: value,
85
+ className: "editor-dd",
82
86
  onChange: e => changeMarkData(e, format),
83
87
  style: {
84
88
  fontFamily: fontFamilyMap[value],
@@ -106,7 +110,7 @@ const Toolbar = props => {
106
110
  return /*#__PURE__*/_jsxs("div", {
107
111
  className: "toolbar",
108
112
  children: [toolbarGroups.map((group, index) => /*#__PURE__*/_jsx("span", {
109
- className: "toolbar-grp",
113
+ className: "toolbar-grp1",
110
114
  children: group.map((element, gi) => {
111
115
  switch (element.type) {
112
116
  case "block":
@@ -129,7 +133,8 @@ const Toolbar = props => {
129
133
  case "embed":
130
134
  return /*#__PURE__*/_jsx(Embed, {
131
135
  format: element.format,
132
- editor: editor
136
+ editor: editor,
137
+ customProps: customProps
133
138
  }, element.id);
134
139
  case "color-picker":
135
140
  return /*#__PURE__*/_jsx(ColorPicker, {
@@ -169,13 +174,23 @@ const Toolbar = props => {
169
174
  return /*#__PURE__*/_jsx(SignatureButton, {
170
175
  editor: editor
171
176
  }, element.id);
177
+ case "button":
178
+ return /*#__PURE__*/_jsx(ButtonToolIcon, {
179
+ editor: editor
180
+ }, element.id);
181
+ case "page-settings":
182
+ return /*#__PURE__*/_jsx(PageSettingsButton, {
183
+ editor: editor
184
+ }, element.id);
185
+ case "carousel":
186
+ return /*#__PURE__*/_jsx(CarouselButton, {
187
+ editor: editor
188
+ }, element.id);
172
189
  default:
173
190
  return null;
174
191
  }
175
192
  })
176
- }, index)), /*#__PURE__*/_jsx(TableContextMenu, {
177
- editor: editor
178
- }), /*#__PURE__*/_jsx(HtmlContextMenu, {
193
+ }, index)), /*#__PURE__*/_jsx(HtmlContextMenu, {
179
194
  editor: editor,
180
195
  handleCodeToText: handleCodeToText
181
196
  })]
@@ -1,28 +1,37 @@
1
- .toolbar{
2
- border-radius: 10px;
3
- background: #ffffff;
4
- box-shadow: -8px 8px 13px #ededed,
5
- 8px -8px 13px #ffffff;
1
+ .toolbar {
2
+ background: #ffffff;
6
3
  margin:4px 0;
7
4
  display:flex;
8
5
  flex-wrap:wrap;
9
6
  align-items:center;
10
- padding: 15px 10px;
7
+ padding: 12px 0px;
11
8
  row-gap: 15px;
12
9
  position: -webkit-sticky;
13
- position: sticky;
14
- top: 0;
15
- z-index: 2;
10
+ position: sticky;
11
+ top: 0;
12
+ z-index: 2;
13
+ margin-bottom: 12px;
14
+ border-bottom: 2px solid #CCC;
16
15
  }
17
- .toolbar-grp>*{
16
+ .toolbar-grp1>*{
18
17
  margin-right: 10px;
19
18
  cursor: pointer;
20
19
  }
21
- .toolbar-grp{
20
+ .toolbar-grp1{
22
21
  margin:0 10px;
22
+ display: flex;
23
+ align-items: center;
23
24
  }
24
25
  select{
25
26
  height: 30px;
26
27
  border: none;
27
28
  width: 6.9rem;
28
29
  }
30
+
31
+ .toolbar .editor-dd {
32
+ width: 200px !important;
33
+ }
34
+
35
+ .toolbar .MuiIconButton-root {
36
+
37
+ }
@@ -105,15 +105,6 @@ const toolbarGroups = [[{
105
105
  id: 23,
106
106
  type: "table"
107
107
  }], [{
108
- id: 25,
109
- type: "id"
110
- }, {
111
- id: 26,
112
- type: "equation"
113
- }, {
114
- id: 27,
115
- type: "codeToText"
116
- }, {
117
108
  id: 28,
118
109
  type: "grid"
119
110
  }, {
@@ -125,5 +116,14 @@ const toolbarGroups = [[{
125
116
  }, {
126
117
  id: 31,
127
118
  type: "signature"
119
+ }, {
120
+ id: 32,
121
+ type: "button"
122
+ }, {
123
+ id: 33,
124
+ type: "page-settings"
125
+ }, {
126
+ id: 34,
127
+ type: "carousel"
128
128
  }]];
129
129
  export default toolbarGroups;
@@ -1,4 +1,5 @@
1
- import React from 'react';
1
+ import React from "react";
2
+ import { IconButton } from "@mui/material";
2
3
  import { jsx as _jsx } from "react/jsx-runtime";
3
4
  const Button = props => {
4
5
  const {
@@ -7,15 +8,10 @@ const Button = props => {
7
8
  active,
8
9
  ...rest
9
10
  } = props;
10
- return /*#__PURE__*/_jsx("button", {
11
- className: active ? 'btnActive' : '',
11
+ return /*#__PURE__*/_jsx(IconButton, {
12
+ className: active ? "btnActive" : "",
12
13
  title: format,
13
14
  ...rest,
14
- style: {
15
- width: '30px',
16
- height: '20px',
17
- margin: '0 2px'
18
- },
19
15
  children: children
20
16
  });
21
17
  };
@@ -0,0 +1,23 @@
1
+ const accordionTitleBtnStyle = [{
2
+ tab: "Colors",
3
+ value: "colors",
4
+ fields: [{
5
+ label: "Text",
6
+ key: "textColor",
7
+ type: "color",
8
+ needPreview: true
9
+ }, {
10
+ label: "Button",
11
+ key: "btnBg",
12
+ type: "color"
13
+ }, {
14
+ label: "Background",
15
+ key: "bgColor",
16
+ type: "color"
17
+ }, {
18
+ label: "Border",
19
+ key: "borderColor",
20
+ type: "color"
21
+ }]
22
+ }];
23
+ export default accordionTitleBtnStyle;
@@ -0,0 +1,35 @@
1
+ const accordionTitleStyle = [{
2
+ tab: "Banner Spacing",
3
+ value: "bannerSpacing",
4
+ fields: [{
5
+ label: "Banner Spacing",
6
+ key: "bannerSpacing",
7
+ type: "bannerSpacing"
8
+ }]
9
+ }, {
10
+ tab: "Border Radius",
11
+ value: "borderRadius",
12
+ fields: [{
13
+ label: "Border Radius",
14
+ key: "borderRadius",
15
+ type: "borderRadius"
16
+ }]
17
+ }, {
18
+ tab: "Colors",
19
+ value: "colors",
20
+ fields: [{
21
+ label: "Text",
22
+ key: "textColor",
23
+ type: "color",
24
+ needPreview: true
25
+ }, {
26
+ label: "Background",
27
+ key: "bgColor",
28
+ type: "color"
29
+ }, {
30
+ label: "Border",
31
+ key: "borderColor",
32
+ type: "color"
33
+ }]
34
+ }];
35
+ export default accordionTitleStyle;
@@ -0,0 +1,47 @@
1
+ const buttonStyle = [{
2
+ tab: "Content",
3
+ value: "content",
4
+ fields: [{
5
+ label: "Button Text",
6
+ key: "label",
7
+ type: "text"
8
+ }, {
9
+ label: "Button URL",
10
+ type: "text",
11
+ key: "url"
12
+ }]
13
+ }, {
14
+ tab: "Banner Spacing",
15
+ value: "bannerSpacing",
16
+ fields: [{
17
+ label: "Banner Spacing",
18
+ key: "bannerSpacing",
19
+ type: "bannerSpacing"
20
+ }]
21
+ }, {
22
+ tab: "Border Radius",
23
+ value: "borderRadius",
24
+ fields: [{
25
+ label: "Border Radius",
26
+ key: "borderRadius",
27
+ type: "borderRadius"
28
+ }]
29
+ }, {
30
+ tab: "Colors",
31
+ value: "colors",
32
+ fields: [{
33
+ label: "Text",
34
+ key: "textColor",
35
+ type: "color",
36
+ needPreview: true
37
+ }, {
38
+ label: "Background",
39
+ key: "bgColor",
40
+ type: "color"
41
+ }, {
42
+ label: "Border",
43
+ key: "borderColor",
44
+ type: "color"
45
+ }]
46
+ }];
47
+ export default buttonStyle;