@flozy/editor 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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;