@flozy/editor 3.6.7 → 3.6.8

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 (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
- }