@flozy/editor 3.6.7 → 3.6.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. package/dist/Editor/ChatEditor.js +11 -2
  2. package/dist/Editor/CommonEditor.js +109 -166
  3. package/dist/Editor/Elements/AppHeader/AppHeader.js +4 -26
  4. package/dist/Editor/Elements/Button/EditorButton.js +14 -25
  5. package/dist/Editor/Elements/Color Picker/ColorButtons.js +17 -60
  6. package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
  7. package/dist/Editor/Elements/Color Picker/ColorPicker.js +4 -4
  8. package/dist/Editor/Elements/Color Picker/Styles.js +1 -2
  9. package/dist/Editor/Elements/Embed/Frames/ImageFrame.js +0 -1
  10. package/dist/Editor/Elements/Form/Workflow/UserInputs.js +1 -2
  11. package/dist/Editor/Elements/Grid/Grid.js +0 -2
  12. package/dist/Editor/Elements/Grid/GridItem.js +1 -3
  13. package/dist/Editor/Elements/Link/Link.js +1 -6
  14. package/dist/Editor/Elements/Link/LinkButton.js +2 -4
  15. package/dist/Editor/Elements/Link/LinkPopup.js +3 -11
  16. package/dist/Editor/Elements/Table/TableCell.js +1 -1
  17. package/dist/Editor/MiniEditor.js +1 -3
  18. package/dist/Editor/Toolbar/Basic/index.js +2 -4
  19. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +2 -26
  20. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  21. package/dist/Editor/Toolbar/FormatTools/TextSize.js +11 -5
  22. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +11 -4
  23. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +86 -213
  24. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +1 -2
  25. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +13 -20
  26. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +7 -52
  27. package/dist/Editor/Toolbar/PopupTool/index.js +2 -4
  28. package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
  29. package/dist/Editor/common/ColorPickerButton.js +9 -25
  30. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  31. package/dist/Editor/common/Icon.js +2 -30
  32. package/dist/Editor/common/MentionsPopup/MentionsListCard.js +5 -2
  33. package/dist/Editor/common/MentionsPopup/Styles.js +1 -1
  34. package/dist/Editor/common/Shorthands/elements.js +0 -54
  35. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  36. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +3 -13
  37. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  38. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +7 -31
  39. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
  40. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +4 -14
  41. package/dist/Editor/common/StyleBuilder/index.js +1 -1
  42. package/dist/Editor/helper/theme.js +4 -190
  43. package/dist/Editor/hooks/useMouseMove.js +1 -4
  44. package/dist/Editor/plugins/withEmbeds.js +1 -1
  45. package/dist/Editor/plugins/withHTML.js +5 -47
  46. package/dist/Editor/plugins/withTable.js +1 -1
  47. package/dist/Editor/theme/ThemeList.js +173 -50
  48. package/dist/Editor/utils/SlateUtilityFunctions.js +25 -157
  49. package/dist/Editor/utils/button.js +17 -1
  50. package/dist/Editor/utils/font.js +37 -40
  51. package/dist/Editor/utils/helper.js +12 -50
  52. package/package.json +1 -1
  53. package/dist/Editor/Elements/Link/LinkPopupStyles.js +0 -28
  54. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -438
  55. package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
  56. package/dist/Editor/common/CustomColorPicker/index.js +0 -106
  57. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  58. package/dist/Editor/common/CustomDialog/index.js +0 -94
  59. package/dist/Editor/common/CustomDialog/style.js +0 -67
  60. package/dist/Editor/common/CustomSelect.js +0 -33
  61. package/dist/Editor/hooks/useEditorTheme.js +0 -139
  62. package/dist/Editor/theme/index.js +0 -144
  63. package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
  64. package/dist/Editor/themeSettings/buttons/index.js +0 -290
  65. package/dist/Editor/themeSettings/buttons/style.js +0 -21
  66. package/dist/Editor/themeSettings/colorTheme/index.js +0 -290
  67. package/dist/Editor/themeSettings/colorTheme/style.js +0 -77
  68. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -123
  69. package/dist/Editor/themeSettings/fonts/index.js +0 -213
  70. package/dist/Editor/themeSettings/fonts/style.js +0 -44
  71. package/dist/Editor/themeSettings/icons.js +0 -60
  72. package/dist/Editor/themeSettings/index.js +0 -320
  73. package/dist/Editor/themeSettings/style.js +0 -152
  74. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  75. package/dist/Editor/themeSettingsAI/index.js +0 -356
  76. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -190
  77. package/dist/Editor/themeSettingsAI/style.js +0 -247
@@ -1,438 +0,0 @@
1
- import { Button, Grid, IconButton, Popover, TextField, Tooltip, Typography } from "@mui/material";
2
- import { useEditorContext } from "../../hooks/useMouseMove";
3
- import { fontFamilyMap, fontOptions } from "../../utils/font";
4
- import FormatClearIcon from "@mui/icons-material/FormatClear";
5
- import usePopupStyles from "../PopupTool/PopupToolStyle";
6
- import { TextMinusIcon, TextPlusIcon } from "../../common/iconslist";
7
- import { BREAKPOINTS_DEVICES, getBreakPointsValue, getVariableValue } from "../../helper/theme";
8
- import useWindowResize from "../../hooks/useWindowResize";
9
- import { toolbarGroups } from "../toolbarGroups";
10
- import Icon from "../../common/Icon";
11
- import { useMemo, useState } from "react";
12
- import CommonButton from "../../common/Button";
13
- import CustomSelect from "../../common/CustomSelect";
14
- import ColorButtons from "../../Elements/Color Picker/ColorButtons";
15
- import FormatColorResetIcon from "@mui/icons-material/FormatColorReset";
16
- import ColorPickerStyles from "../../Elements/Color Picker/Styles";
17
- import colorWheel from "../../Elements/Color Picker/colorWheel.png";
18
- import CustomColorPicker from "../../common/CustomColorPicker";
19
- import { jsx as _jsx } from "react/jsx-runtime";
20
- import { jsxs as _jsxs } from "react/jsx-runtime";
21
- import { Fragment as _Fragment } from "react/jsx-runtime";
22
- function getFontStyleProps(settings = {}, format) {
23
- const {
24
- fontWeight,
25
- fontStyle
26
- } = settings;
27
- let isActive;
28
- let onClick;
29
- switch (format) {
30
- case "bold":
31
- isActive = fontWeight === "bold" || fontWeight === "700";
32
- onClick = () => {
33
- return {
34
- fontWeight: isActive ? "normal" : "bold"
35
- };
36
- };
37
- break;
38
- case "italic":
39
- isActive = fontStyle === "italic";
40
- onClick = () => {
41
- return {
42
- fontStyle: isActive ? "unset" : "italic"
43
- };
44
- };
45
- break;
46
-
47
- // case "underline":
48
- // isActive = textDecoration.includes("underline");
49
- // onClick = () => {
50
- // let otherTextDecoration = textDecoration?.includes("line-through")
51
- // ? "line-through"
52
- // : "";
53
-
54
- // otherTextDecoration += isActive ? "" : " underline";
55
-
56
- // return { textDecoration: otherTextDecoration };
57
- // };
58
- // break;
59
- // case "strikethrough":
60
- // isActive = textDecoration.includes("line-through");
61
- // onClick = () => {
62
- // let otherTextDecoration = textDecoration?.includes("underline")
63
- // ? "underline"
64
- // : "";
65
-
66
- // otherTextDecoration += isActive ? "" : " line-through";
67
-
68
- // return { textDecoration: otherTextDecoration };
69
- // };
70
- // break;
71
-
72
- default:
73
- isActive = false;
74
- onClick = () => {};
75
- break;
76
- }
77
- return {
78
- isActive,
79
- onClick
80
- };
81
- }
82
- const allTools = toolbarGroups.flat();
83
- function ThemeTextFormat(props) {
84
- const {
85
- settings,
86
- updateSettings,
87
- onSaveTextSettings,
88
- onClose
89
- } = props;
90
- const {
91
- theme
92
- } = useEditorContext();
93
- const classes = usePopupStyles(theme);
94
- const pickerStyles = ColorPickerStyles(theme);
95
- const fontStyle = allTools.filter(f => f.type === "mark" && f.themeEnabled);
96
- const fontWeight = allTools.find(f => f.format === "fontWeight");
97
- const fontFamilyVal = useMemo(() => {
98
- const {
99
- fontFamily = ""
100
- } = settings;
101
- let font = fontFamily.startsWith("var") ? getVariableValue(fontFamily) : fontFamily;
102
- return fontOptions?.find(f => f.text === font)?.value;
103
- }, [settings, fontOptions]);
104
- const fontWeightVal = useMemo(() => {
105
- const {
106
- options
107
- } = fontWeight || {};
108
- const selected = options?.find(o => o.value === settings?.fontWeight || o.numVal === settings?.fontWeight);
109
- return selected?.value;
110
- }, [settings?.fontWeight]);
111
- return /*#__PURE__*/_jsxs(Grid, {
112
- container: true,
113
- sx: classes.textFormatWrapper,
114
- children: [/*#__PURE__*/_jsxs(Grid, {
115
- item: true,
116
- xs: 12,
117
- children: [/*#__PURE__*/_jsxs(Grid, {
118
- container: true,
119
- justifyContent: "space-between",
120
- alignItems: "center",
121
- children: [/*#__PURE__*/_jsx(Grid, {
122
- item: true,
123
- children: /*#__PURE__*/_jsx(Typography, {
124
- variant: "body1",
125
- color: "primary",
126
- sx: classes.typoLabel,
127
- children: "Font Family"
128
- })
129
- }), /*#__PURE__*/_jsx(Grid, {
130
- item: true,
131
- children: /*#__PURE__*/_jsx(Button, {
132
- sx: classes.defaultBtn,
133
- startIcon: /*#__PURE__*/_jsx(FormatClearIcon, {}),
134
- onClick: () => updateSettings({
135
- fontFamily: Object.values(fontFamilyMap)[0]
136
- }),
137
- children: "Default"
138
- })
139
- })]
140
- }), /*#__PURE__*/_jsx(Grid, {
141
- item: true,
142
- xs: 12,
143
- sx: classes.textFormatField,
144
- children: /*#__PURE__*/_jsx(CustomSelect, {
145
- options: fontOptions,
146
- classes: classes,
147
- onChange: e => {
148
- const fontFamily = fontOptions.find(f => f.value === e.target.value)?.text;
149
- updateSettings({
150
- fontFamily
151
- });
152
- },
153
- value: fontFamilyVal || fontOptions[0].value
154
- })
155
- })]
156
- }), /*#__PURE__*/_jsxs(Grid, {
157
- container: true,
158
- spacing: 2,
159
- children: [/*#__PURE__*/_jsxs(Grid, {
160
- item: true,
161
- xs: 6,
162
- children: [/*#__PURE__*/_jsx(Typography, {
163
- variant: "body1",
164
- color: "primary",
165
- sx: classes.typoLabel,
166
- children: "Font Weight"
167
- }), /*#__PURE__*/_jsx(Grid, {
168
- item: true,
169
- xs: 12,
170
- sx: classes.textFormatField,
171
- children: /*#__PURE__*/_jsx(CustomSelect, {
172
- options: fontWeight?.options || [],
173
- classes: classes,
174
- onChange: e => {
175
- updateSettings({
176
- fontWeight: e.target.value
177
- });
178
- },
179
- value: fontWeightVal
180
- })
181
- })]
182
- }), /*#__PURE__*/_jsxs(Grid, {
183
- item: true,
184
- xs: 6,
185
- children: [/*#__PURE__*/_jsx(Typography, {
186
- variant: "body1",
187
- color: "primary",
188
- sx: classes.typoLabel,
189
- children: "Font Size"
190
- }), /*#__PURE__*/_jsx(Grid, {
191
- item: true,
192
- xs: 12,
193
- sx: classes.textFormatCG,
194
- children: /*#__PURE__*/_jsx(TextSize, {
195
- classes: classes,
196
- value: settings?.fontSize || 16,
197
- onChange: fontSize => updateSettings({
198
- fontSize
199
- }),
200
- fullWidth: true
201
- })
202
- })]
203
- })]
204
- }), /*#__PURE__*/_jsxs(Grid, {
205
- item: true,
206
- xs: 12,
207
- sx: classes.textFormatField,
208
- style: {
209
- marginTop: "14px"
210
- },
211
- children: [/*#__PURE__*/_jsxs(Grid, {
212
- container: true,
213
- justifyContent: "space-between",
214
- alignItems: "center",
215
- children: [/*#__PURE__*/_jsx(Grid, {
216
- item: true,
217
- children: /*#__PURE__*/_jsx(Typography, {
218
- variant: "body1",
219
- color: "primary",
220
- sx: classes.typoLabel,
221
- children: "Text Color"
222
- })
223
- }), /*#__PURE__*/_jsx(Grid, {
224
- item: true,
225
- children: /*#__PURE__*/_jsx(Button, {
226
- sx: classes.defaultBtn,
227
- startIcon: /*#__PURE__*/_jsx(FormatColorResetIcon, {}),
228
- onClick: () => updateSettings({
229
- color: "#ddd"
230
- }),
231
- children: "Default"
232
- })
233
- })]
234
- }), /*#__PURE__*/_jsx(Grid, {
235
- sx: classes.textFormatColorWrpr,
236
- children: /*#__PURE__*/_jsx(ColorPicker, {
237
- classes: classes,
238
- pickerStyles: pickerStyles,
239
- onChange: color => updateSettings({
240
- color
241
- }),
242
- color: settings?.color,
243
- disableEditTheme: true
244
- })
245
- })]
246
- }), /*#__PURE__*/_jsxs(Grid, {
247
- item: true,
248
- xs: 12,
249
- children: [/*#__PURE__*/_jsx(Typography, {
250
- variant: "body1",
251
- color: "primary",
252
- sx: classes.typoLabel,
253
- children: "Typography"
254
- }), /*#__PURE__*/_jsx(Grid, {
255
- item: true,
256
- xs: 12,
257
- className: "typo-icons",
258
- sx: classes.evenSpace,
259
- children: fontStyle?.map((m, i) => {
260
- const {
261
- isActive,
262
- onClick
263
- } = getFontStyleProps(settings, m.format) || {};
264
- return /*#__PURE__*/_jsx(CommonButton, {
265
- active: isActive,
266
- onClick: () => {
267
- const style = onClick();
268
- updateSettings(style);
269
- },
270
- children: /*#__PURE__*/_jsx(Icon, {
271
- icon: m.format
272
- })
273
- }, i);
274
- })
275
- })]
276
- }), /*#__PURE__*/_jsx(Grid, {
277
- item: true,
278
- xs: 12,
279
- sx: {
280
- mt: 2
281
- },
282
- children: /*#__PURE__*/_jsxs("div", {
283
- style: {
284
- display: "flex",
285
- justifyContent: "end",
286
- margin: "8px",
287
- position: "absolute",
288
- bottom: 0,
289
- right: 0
290
- },
291
- children: [/*#__PURE__*/_jsx(Button, {
292
- onClick: onClose,
293
- className: "secondaryBtn",
294
- children: "Cancel"
295
- }), /*#__PURE__*/_jsx(Button, {
296
- onClick: onSaveTextSettings,
297
- className: "primaryBtn",
298
- children: "Save"
299
- })]
300
- })
301
- })]
302
- });
303
- }
304
- export default ThemeTextFormat;
305
- function TextSize(props) {
306
- const {
307
- classes,
308
- value: val,
309
- onChange,
310
- fullWidth
311
- } = props;
312
- const [size] = useWindowResize();
313
- const value = getBreakPointsValue(val, size?.device);
314
- const updateMarkData = newVal => {
315
- let upData = {
316
- ...getBreakPointsValue(val),
317
- [size?.device]: `${newVal}px`
318
- };
319
-
320
- // if desktop update to all other devices
321
- // to avoid default normal size
322
- if (size?.device === "lg") {
323
- upData = BREAKPOINTS_DEVICES.reduce((a, b) => {
324
- a[b] = `${newVal}px`;
325
- return a;
326
- }, {});
327
- }
328
- onChange(upData);
329
- };
330
- const onChangeSize = e => {
331
- let inc = parseInt(e.target.value) || 8;
332
- inc = inc > 200 ? 200 : inc;
333
- updateMarkData(inc || 8);
334
- };
335
- const getSizeVal = () => {
336
- try {
337
- return parseInt(value);
338
- } catch (err) {
339
- return "";
340
- }
341
- };
342
- const combinedOldVal = getSizeVal();
343
- const onIncreaseSize = () => {
344
- let inc = (combinedOldVal || 0) + 1;
345
- inc = inc > 200 ? 200 : inc;
346
- updateMarkData(inc);
347
- };
348
- const onDecreaseSize = () => {
349
- const newVal = combinedOldVal - 1 < 0 ? 0 : combinedOldVal - 1;
350
- updateMarkData(newVal);
351
- };
352
- return /*#__PURE__*/_jsx(TextField, {
353
- sx: classes?.textSize,
354
- value: combinedOldVal,
355
- onChange: onChangeSize,
356
- size: "small",
357
- inputProps: {
358
- style: {
359
- width: fullWidth ? "100%" : "30px",
360
- textAlign: "center",
361
- height: "19px",
362
- fontSize: "14px"
363
- }
364
- },
365
- fullWidth: fullWidth,
366
- InputProps: {
367
- style: {
368
- borderRadius: "8px"
369
- },
370
- endAdornment: /*#__PURE__*/_jsxs("div", {
371
- className: "textFontArrows",
372
- children: [/*#__PURE__*/_jsx(IconButton, {
373
- onClick: onIncreaseSize,
374
- size: "small",
375
- children: /*#__PURE__*/_jsx(TextPlusIcon, {})
376
- }), /*#__PURE__*/_jsx(IconButton, {
377
- onClick: onDecreaseSize,
378
- size: "small",
379
- children: /*#__PURE__*/_jsx(TextMinusIcon, {})
380
- })]
381
- })
382
- }
383
- });
384
- }
385
- function ColorPicker(props) {
386
- const {
387
- classes,
388
- pickerStyles,
389
- onChange,
390
- color,
391
- disableEditTheme
392
- } = props;
393
- const [anchorEl, setAnchorEl] = useState(null);
394
- const open = Boolean(anchorEl);
395
- const handleClose = () => {
396
- setAnchorEl(null);
397
- };
398
- return /*#__PURE__*/_jsxs(_Fragment, {
399
- children: [/*#__PURE__*/_jsx(Tooltip, {
400
- title: "",
401
- arrow: true,
402
- children: /*#__PURE__*/_jsx(IconButton, {
403
- sx: pickerStyles.colorPickerIcon,
404
- onClick: e => {
405
- setAnchorEl(e.currentTarget);
406
- },
407
- children: /*#__PURE__*/_jsx("img", {
408
- src: colorWheel,
409
- alt: "color wheel"
410
- })
411
- })
412
- }), /*#__PURE__*/_jsx(ColorButtons, {
413
- classes: pickerStyles,
414
- onSelect: onChange,
415
- activeColor: color,
416
- disableEditTheme: disableEditTheme
417
- }), /*#__PURE__*/_jsx(Popover, {
418
- open: open,
419
- anchorEl: anchorEl,
420
- onClose: handleClose,
421
- anchorOrigin: {
422
- vertical: "top",
423
- horizontal: "center"
424
- },
425
- transformOrigin: {
426
- vertical: "bottom",
427
- horizontal: "top"
428
- },
429
- sx: classes.colorPickerPopup,
430
- children: /*#__PURE__*/_jsx(CustomColorPicker, {
431
- gradient: true,
432
- onChange: onChange,
433
- color: color,
434
- disableEditTheme: disableEditTheme
435
- })
436
- })]
437
- });
438
- }