@flozy/editor 4.0.3 → 4.0.5

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 (148) hide show
  1. package/dist/Editor/CommonEditor.js +85 -13
  2. package/dist/Editor/DialogWrapper.js +4 -3
  3. package/dist/Editor/Editor.css +28 -2
  4. package/dist/Editor/Elements/AI/AIInput.js +31 -33
  5. package/dist/Editor/Elements/AI/CustomSelect.js +19 -12
  6. package/dist/Editor/Elements/AI/PopoverAIInput.js +124 -133
  7. package/dist/Editor/Elements/AI/Styles.js +2 -2
  8. package/dist/Editor/Elements/AI/VoiceToText/AudioWave.js +73 -0
  9. package/dist/Editor/Elements/AI/VoiceToText/index.js +184 -0
  10. package/dist/Editor/Elements/AI/VoiceToText/style.js +40 -0
  11. package/dist/Editor/Elements/AI/helper.js +5 -3
  12. package/dist/Editor/Elements/AppHeader/AppHeader.js +36 -23
  13. package/dist/Editor/Elements/Button/EditorButton.js +23 -16
  14. package/dist/Editor/Elements/Carousel/CarouselButton.js +2 -2
  15. package/dist/Editor/Elements/Color Picker/ColorButtons.js +1 -1
  16. package/dist/Editor/Elements/Color Picker/Styles.js +1 -0
  17. package/dist/Editor/Elements/Embed/Image.js +15 -14
  18. package/dist/Editor/Elements/Embed/Video.js +12 -8
  19. package/dist/Editor/Elements/Emoji/EmojiButton.js +11 -7
  20. package/dist/Editor/Elements/Form/Form.js +43 -27
  21. package/dist/Editor/Elements/Form/FormField.js +21 -10
  22. package/dist/Editor/Elements/Form/Workflow/index.js +5 -2
  23. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +437 -0
  24. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +206 -0
  25. package/dist/Editor/Elements/FreeGrid/FreeGridButton.js +23 -0
  26. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +236 -0
  27. package/dist/Editor/Elements/FreeGrid/Options/AddElement.js +44 -0
  28. package/dist/Editor/Elements/FreeGrid/Options/More.js +24 -0
  29. package/dist/Editor/Elements/FreeGrid/Options/SectionSettings.js +47 -0
  30. package/dist/Editor/Elements/FreeGrid/Options/sectionItemOptions.js +19 -0
  31. package/dist/Editor/Elements/FreeGrid/breakpointConstants.js +75 -0
  32. package/dist/Editor/Elements/FreeGrid/styles.js +214 -0
  33. package/dist/Editor/Elements/Grid/Grid.js +12 -8
  34. package/dist/Editor/Elements/Grid/GridItem.js +31 -21
  35. package/dist/Editor/Elements/Link/LinkPopup.js +69 -13
  36. package/dist/Editor/Elements/Link/LinkPopupStyles.js +28 -0
  37. package/dist/Editor/Elements/NewLine/NewLineButton.js +2 -2
  38. package/dist/Editor/Elements/Signature/Signature.css +13 -6
  39. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +2 -1
  40. package/dist/Editor/Elements/Signature/SignaturePopup.js +186 -31
  41. package/dist/Editor/Elements/SimpleText/index.js +19 -7
  42. package/dist/Editor/Elements/SimpleText/style.js +44 -1
  43. package/dist/Editor/ErrorBoundary.js +30 -0
  44. package/dist/Editor/Styles/EditorStyles.js +28 -0
  45. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +1 -1
  46. package/dist/Editor/Toolbar/FormatTools/TextSize.js +2 -2
  47. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +33 -5
  48. package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +12 -13
  49. package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +12 -13
  50. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/CustomSelectTool.js +3 -0
  51. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectSuperSubscript.js +59 -0
  52. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +2 -1
  53. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +107 -40
  54. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +57 -61
  55. package/dist/Editor/Toolbar/PopupTool/index.js +13 -3
  56. package/dist/Editor/Toolbar/Toolbar.js +7 -0
  57. package/dist/Editor/Toolbar/toolbarGroups.js +15 -5
  58. package/dist/Editor/assets/svg/AIIcons.js +153 -1
  59. package/dist/Editor/common/EditorCmds.js +0 -3
  60. package/dist/Editor/common/EditorIcons.js +7 -7
  61. package/dist/Editor/common/Icon.js +39 -30
  62. package/dist/Editor/common/ImageList.js +16 -3
  63. package/dist/Editor/common/ImageSelector/ImageSelector.js +30 -9
  64. package/dist/Editor/common/ImageSelector/Styles.js +2 -1
  65. package/dist/Editor/common/LinkSettings/index.js +2 -1
  66. package/dist/Editor/common/LinkSettings/style.js +11 -8
  67. package/dist/Editor/common/MentionsPopup/Styles.js +1 -1
  68. package/dist/Editor/common/MentionsPopup/index.js +12 -8
  69. package/dist/Editor/common/RnD/ContextMenu/CMenus.js +142 -0
  70. package/dist/Editor/common/RnD/ContextMenu/index.js +38 -0
  71. package/dist/Editor/common/RnD/ContextMenu/styles.js +21 -0
  72. package/dist/Editor/common/RnD/DragInfo/index.js +31 -0
  73. package/dist/Editor/common/RnD/DragInfo/styles.js +15 -0
  74. package/dist/Editor/common/RnD/DragOver/index.js +55 -0
  75. package/dist/Editor/common/RnD/DragOver/styles.js +23 -0
  76. package/dist/Editor/common/RnD/ElementOptions/Actions.js +102 -0
  77. package/dist/Editor/common/RnD/ElementOptions/Icons/LinkIcon.js +26 -0
  78. package/dist/Editor/common/RnD/ElementOptions/index.js +95 -0
  79. package/dist/Editor/common/RnD/ElementOptions/styles.js +41 -0
  80. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Link.js +153 -0
  81. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/SaveAsTemplate.js +36 -0
  82. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +60 -0
  83. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/index.js +9 -0
  84. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +47 -0
  85. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +47 -0
  86. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +47 -0
  87. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +48 -0
  88. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +47 -0
  89. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +30 -0
  90. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +47 -0
  91. package/dist/Editor/common/RnD/ElementSettings/Settings/index.js +17 -0
  92. package/dist/Editor/common/RnD/ElementSettings/index.js +17 -0
  93. package/dist/Editor/common/RnD/ElementSettings/settingsConstants.js +18 -0
  94. package/dist/Editor/common/RnD/ElementSettings/styles.js +94 -0
  95. package/dist/Editor/common/RnD/GuideLines/BoundaryLine.js +52 -0
  96. package/dist/Editor/common/RnD/GuideLines/index.js +33 -0
  97. package/dist/Editor/common/RnD/GuideLines/styles.js +62 -0
  98. package/dist/Editor/common/RnD/OptionsPopup/index.js +50 -0
  99. package/dist/Editor/common/RnD/OptionsPopup/style.js +36 -0
  100. package/dist/Editor/common/RnD/RnDCopy.js +23 -0
  101. package/dist/Editor/common/RnD/ShadowElement.js +34 -0
  102. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +40 -0
  103. package/dist/Editor/common/RnD/SwitchViewport/styles.js +24 -0
  104. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +63 -0
  105. package/dist/Editor/common/RnD/TransformHandles/CornerHandle.js +19 -0
  106. package/dist/Editor/common/RnD/TransformHandles/Icons/BottomRightIcon.js +13 -0
  107. package/dist/Editor/common/RnD/TransformHandles/SizeHandle.js +20 -0
  108. package/dist/Editor/common/RnD/TransformHandles/index.js +67 -0
  109. package/dist/Editor/common/RnD/Utils/alignmentDetection.js +26 -0
  110. package/dist/Editor/common/RnD/Utils/calculateDropItem.js +98 -0
  111. package/dist/Editor/common/RnD/Utils/collisionDetection.js +52 -0
  112. package/dist/Editor/common/RnD/Utils/gridDropItem.js +181 -0
  113. package/dist/Editor/common/RnD/Utils/index.js +251 -0
  114. package/dist/Editor/common/RnD/VirtualElement/index.js +77 -0
  115. package/dist/Editor/common/RnD/VirtualElement/styles.js +27 -0
  116. package/dist/Editor/common/RnD/VirtualElement/updateAutoProps.js +28 -0
  117. package/dist/Editor/common/RnD/index.js +567 -0
  118. package/dist/Editor/common/RnD/styles.js +4 -0
  119. package/dist/Editor/common/Section/index.js +21 -12
  120. package/dist/Editor/common/Section/styles.js +7 -4
  121. package/dist/Editor/common/Shorthands/elements.js +21 -9
  122. package/dist/Editor/common/StyleBuilder/boxStyle.js +30 -0
  123. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +18 -10
  124. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +18 -5
  125. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +4 -2
  126. package/dist/Editor/common/StyleBuilder/index.js +6 -4
  127. package/dist/Editor/common/StyleBuilder/sectionStyle.js +13 -2
  128. package/dist/Editor/common/iconListV2.js +843 -0
  129. package/dist/Editor/commonStyle.js +6 -0
  130. package/dist/Editor/helper/RnD/focusOnNewItem.js +39 -0
  131. package/dist/Editor/helper/RnD/scrollToNewSection.js +24 -0
  132. package/dist/Editor/helper/breakpoint.js +5 -0
  133. package/dist/Editor/helper/index.js +139 -0
  134. package/dist/Editor/helper/theme.js +50 -1
  135. package/dist/Editor/hooks/useBreakpoints.js +34 -0
  136. package/dist/Editor/hooks/useMouseMove.js +36 -8
  137. package/dist/Editor/hooks/useWindowMessage.js +10 -7
  138. package/dist/Editor/hooks/withCommon.js +2 -1
  139. package/dist/Editor/hooks/withErrorHandling.js +14 -0
  140. package/dist/Editor/utils/RnD/RnDCtrlCmds.js +197 -0
  141. package/dist/Editor/utils/SlateUtilityFunctions.js +36 -4
  142. package/dist/Editor/utils/events.js +5 -0
  143. package/dist/Editor/utils/form.js +7 -2
  144. package/dist/Editor/utils/formfield.js +1 -1
  145. package/dist/Editor/utils/freegrid.js +91 -0
  146. package/dist/Editor/utils/helper.js +43 -0
  147. package/dist/Editor/utils/insertAppHeader.js +47 -40
  148. package/package.json +6 -2
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from "react";
2
- import { Dialog, DialogTitle, DialogContent, DialogActions, Button, IconButton, Grid, TextField, Typography, Tabs, Tab } from "@mui/material";
2
+ import { Dialog, DialogTitle, DialogContent, DialogActions, Button, IconButton, Grid, TextField, Typography, Tabs, Tab, InputAdornment } from "@mui/material";
3
3
  import CloseIcon from "@mui/icons-material/Close";
4
4
  import DatePicker from "react-datepicker";
5
5
  import "react-datepicker/dist/react-datepicker.css";
@@ -9,6 +9,7 @@ import { DrawSignature, PencilIcon, TypeSignature, UploadSignature } from "../..
9
9
  import useCommonStyle from "../../commonStyle";
10
10
  import { useEditorContext } from "../../hooks/useMouseMove";
11
11
  import { validationMethods } from "../Form/FormElements/validations";
12
+ import { CalenderDownIconSignature, CalenderIconSignature } from "../../common/iconListV2";
12
13
  import { jsx as _jsx } from "react/jsx-runtime";
13
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
14
15
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -32,12 +33,14 @@ const SignaturePopup = props => {
32
33
  const [open, setOpen] = useState(false);
33
34
  const [tab, setTab] = useState(0);
34
35
  const SeletectedTab = SignatureOptions[tab];
36
+ const defaultName = metadata?.signatureDetails?.name;
37
+ const defaultEmail = metadata?.signatureDetails?.email;
35
38
  const [signedData, setSignedData] = useState({
36
39
  signedOn: new Date(),
37
40
  signature: "",
38
41
  signedText: "",
39
- signedBy: "",
40
- signedByEmail: ""
42
+ signedBy: defaultName || "",
43
+ signedByEmail: defaultEmail || ""
41
44
  });
42
45
  const [brush, setBrush] = useState({
43
46
  size: 1,
@@ -133,7 +136,15 @@ const SignaturePopup = props => {
133
136
  open: open,
134
137
  onClose: handleClose,
135
138
  fullWidth: true,
136
- sx: classes.signaturePopup,
139
+ PaperProps: {
140
+ sx: {
141
+ borderRadius: '8px',
142
+ boxShadow: "0px 4px 10px 0px #00000029",
143
+ overflowY: tab === 0 ? "hidden" : "auto",
144
+ maxWidth: "560px",
145
+ ...classes.signaturePopup
146
+ }
147
+ },
137
148
  children: /*#__PURE__*/_jsx(Grid, {
138
149
  container: true,
139
150
  children: /*#__PURE__*/_jsxs(Grid, {
@@ -154,9 +165,13 @@ const SignaturePopup = props => {
154
165
  item: true,
155
166
  children: /*#__PURE__*/_jsx(Typography, {
156
167
  variant: "h6",
157
- className: "popupTitle",
168
+ className: `${classes.popupTitle2}`,
158
169
  color: "primary",
159
- children: "SIGNATURE"
170
+ sx: {
171
+ fontWeight: 600,
172
+ color: "#000000"
173
+ },
174
+ children: "Signature"
160
175
  })
161
176
  }), /*#__PURE__*/_jsx(Grid, {
162
177
  item: true,
@@ -196,24 +211,39 @@ const SignaturePopup = props => {
196
211
  children: [/*#__PURE__*/_jsx(Tab, {
197
212
  label: /*#__PURE__*/_jsxs(Grid, {
198
213
  className: "dflex alignCenter",
199
- children: [/*#__PURE__*/_jsx(DrawSignature, {}), /*#__PURE__*/_jsx("span", {
214
+ children: [/*#__PURE__*/_jsx(DrawSignature, {
215
+ fill: tab === 0 ? "#2563EB" : "#A2B0B9"
216
+ }), /*#__PURE__*/_jsx("span", {
200
217
  className: "ml-1",
218
+ style: {
219
+ textTransform: "none"
220
+ },
201
221
  children: "Draw Signature"
202
222
  })]
203
223
  })
204
224
  }), /*#__PURE__*/_jsx(Tab, {
205
225
  label: /*#__PURE__*/_jsxs(Grid, {
206
226
  className: "dflex alignCenter",
207
- children: [/*#__PURE__*/_jsx(TypeSignature, {}), /*#__PURE__*/_jsx("span", {
227
+ children: [/*#__PURE__*/_jsx(TypeSignature, {
228
+ fill: tab === 1 ? "#2563EB" : "#A2B0B9"
229
+ }), /*#__PURE__*/_jsx("span", {
208
230
  className: "ml-1",
231
+ style: {
232
+ textTransform: "none"
233
+ },
209
234
  children: "Type Signature"
210
235
  })]
211
236
  })
212
237
  }), /*#__PURE__*/_jsx(Tab, {
213
238
  label: /*#__PURE__*/_jsxs(Grid, {
214
239
  className: "dflex alignCenter",
215
- children: [/*#__PURE__*/_jsx(UploadSignature, {}), /*#__PURE__*/_jsx("span", {
240
+ children: [/*#__PURE__*/_jsx(UploadSignature, {
241
+ fill: tab === 2 ? "#2563EB" : "#A2B0B9"
242
+ }), /*#__PURE__*/_jsx("span", {
216
243
  className: "ml-1",
244
+ style: {
245
+ textTransform: "none"
246
+ },
217
247
  children: "Upload Signature"
218
248
  })]
219
249
  })
@@ -244,7 +274,9 @@ const SignaturePopup = props => {
244
274
  xs: 6,
245
275
  style: {
246
276
  display: "flex",
247
- alignItems: "center"
277
+ alignItems: "center",
278
+ fontSize: "14px",
279
+ fontFamily: '"Inter", sans-serif"'
248
280
  },
249
281
  children: [/*#__PURE__*/_jsx(Grid, {
250
282
  style: {
@@ -252,6 +284,11 @@ const SignaturePopup = props => {
252
284
  },
253
285
  children: /*#__PURE__*/_jsx("label", {
254
286
  htmlFor: "signedBy",
287
+ style: {
288
+ fontFamily: '"Inter", sans-serif',
289
+ fontWeight: 500,
290
+ fontSize: "14px"
291
+ },
255
292
  children: "Name:"
256
293
  })
257
294
  }), /*#__PURE__*/_jsx(Grid, {
@@ -262,8 +299,28 @@ const SignaturePopup = props => {
262
299
  id: "signedBy",
263
300
  name: "signedBy",
264
301
  placeholder: "Enter Name",
302
+ defaultValue: defaultName || "",
265
303
  size: "small",
266
- onChange: onChange
304
+ onChange: onChange,
305
+ sx: {
306
+ '& .MuiOutlinedInput-root': {
307
+ borderRadius: '10px',
308
+ '& fieldset': {
309
+ borderColor: "1px solid #D8DDE1"
310
+ }
311
+ // '&:hover fieldset': {
312
+ // borderColor: 'yourHoverColor',
313
+ // },
314
+ // '&.Mui-focused fieldset': {
315
+ // borderColor: 'yourFocusedColor',
316
+ // },
317
+ },
318
+
319
+ '& .MuiInputBase-input::placeholder': {
320
+ fontFamily: '"Inter", sans-serif"',
321
+ fontSize: "14px"
322
+ }
323
+ }
267
324
  })
268
325
  })]
269
326
  }), /*#__PURE__*/_jsxs(Grid, {
@@ -277,8 +334,14 @@ const SignaturePopup = props => {
277
334
  style: {
278
335
  marginRight: "8px"
279
336
  },
337
+ xs: 2,
280
338
  children: /*#__PURE__*/_jsx("label", {
281
339
  htmlFor: "signedOn",
340
+ style: {
341
+ fontFamily: '"Inter", sans-serif',
342
+ fontWeight: 500,
343
+ fontSize: "14px"
344
+ },
282
345
  children: "Date:"
283
346
  })
284
347
  }), /*#__PURE__*/_jsx(Grid, {
@@ -288,45 +351,121 @@ const SignaturePopup = props => {
288
351
  },
289
352
  xs: 12,
290
353
  children: /*#__PURE__*/_jsx(DatePicker, {
291
- showIcon: true,
292
- id: "signedOn",
293
- name: "signedOn",
294
- selected: signedData?.signedOn ? new Date(signedData?.signedOn) : new Date(),
295
- value: signedData?.signedOn || "",
296
- dateFormat: "MM/dd/yyyy",
354
+ selected: signedData.signedOn,
297
355
  onChange: date => {
298
356
  setSignedData({
299
357
  ...signedData,
300
- signedOn: date ? new Date(date).toISOString().split("T")[0] : ""
358
+ signedOn: date
301
359
  });
302
- }
360
+ },
361
+ dateFormat: "yyyy/MM/dd",
362
+ customInput: /*#__PURE__*/_jsx(TextField, {
363
+ fullWidth: true,
364
+ name: "signedOn",
365
+ placeholder: "Select Date",
366
+ size: "small",
367
+ InputProps: {
368
+ startAdornment: /*#__PURE__*/_jsx(InputAdornment, {
369
+ position: "start",
370
+ sx: {
371
+ padding: 0,
372
+ // Remove padding around the InputAdornment
373
+ margin: 0 // Remove any margins
374
+ },
375
+ children: /*#__PURE__*/_jsx(IconButton, {
376
+ children: /*#__PURE__*/_jsx(CalenderIconSignature, {})
377
+ })
378
+ }),
379
+ endAdornment: /*#__PURE__*/_jsx(InputAdornment, {
380
+ position: "end",
381
+ children: /*#__PURE__*/_jsx(IconButton, {
382
+ children: /*#__PURE__*/_jsx(CalenderDownIconSignature, {})
383
+ })
384
+ }),
385
+ sx: {
386
+ "& .MuiOutlinedInput-notchedOutline": {
387
+ borderColor: "transparent" // Remove the internal border
388
+ },
389
+
390
+ "& .MuiInputBase-input": {
391
+ border: "none",
392
+ // Ensure no border inside the input field
393
+ padding: "4px 0",
394
+ // Adjust padding for consistency
395
+ boxShadow: "none !important",
396
+ color: "#778599 !important"
397
+ }
398
+ }
399
+ },
400
+ sx: {
401
+ "& .MuiOutlinedInput-root": {
402
+ borderRadius: "10px",
403
+ backgroundColor: "#fff",
404
+ padding: "0px !important",
405
+ "&:hover fieldset": {
406
+ borderColor: "#D8DDE1" // Keeps the border on hover only around the outer field
407
+ },
408
+
409
+ "& fieldset": {
410
+ borderColor: "#D8DDE1" // Keeps the outer border light
411
+ }
412
+ }
413
+ }
414
+ })
303
415
  })
304
416
  })]
305
417
  }), /*#__PURE__*/_jsxs(Grid, {
306
418
  item: true,
307
- xs: 6,
419
+ xs: 12,
308
420
  style: {
309
421
  display: "flex",
310
422
  alignItems: "center"
311
423
  },
312
424
  children: [/*#__PURE__*/_jsx(Grid, {
313
425
  style: {
314
- marginRight: "8px"
426
+ marginRight: "6px"
315
427
  },
428
+ xs: 1,
316
429
  children: /*#__PURE__*/_jsx("label", {
317
430
  htmlFor: "signedByEmail",
431
+ style: {
432
+ fontFamily: '"Inter", sans-serif',
433
+ fontWeight: 500,
434
+ fontSize: "14px"
435
+ },
318
436
  children: "Email:"
319
437
  })
320
438
  }), /*#__PURE__*/_jsx(Grid, {
439
+ container: true,
321
440
  item: true,
322
- xs: 12,
441
+ xs: 11,
323
442
  children: /*#__PURE__*/_jsx(TextField, {
324
443
  fullWidth: true,
325
444
  id: "signedByEmail",
326
445
  name: "signedByEmail",
327
446
  placeholder: "Enter Email",
328
447
  size: "small",
329
- onChange: onChange
448
+ onChange: onChange,
449
+ sx: {
450
+ '& .MuiOutlinedInput-root': {
451
+ borderRadius: '10px',
452
+ '& fieldset': {
453
+ borderColor: "1px solid #D8DDE1"
454
+ }
455
+ // '&:hover fieldset': {
456
+ // borderColor: 'yourHoverColor',
457
+ // },
458
+ // '&.Mui-focused fieldset': {
459
+ // borderColor: 'yourFocusedColor',
460
+ // },
461
+ },
462
+
463
+ '& .MuiInputBase-input::placeholder': {
464
+ fontFamily: '"Inter", sans-serif"',
465
+ fontSize: "14px"
466
+ }
467
+ },
468
+ defaultValue: defaultEmail || ""
330
469
  })
331
470
  })]
332
471
  })]
@@ -343,14 +482,30 @@ const SignaturePopup = props => {
343
482
  children: [/*#__PURE__*/_jsx(Grid, {
344
483
  item: true,
345
484
  sx: {
346
- mr: 4
485
+ mr: 3
347
486
  },
348
- children: /*#__PURE__*/_jsx("input", {
349
- type: "color",
350
- className: "brushcolorpic signColorPicker",
351
- onChange: onBrushColor,
352
- size: "4",
353
- value: brush?.color
487
+ children: /*#__PURE__*/_jsxs(Grid, {
488
+ container: true,
489
+ alignItems: "center",
490
+ sx: {
491
+ display: 'flex'
492
+ },
493
+ children: [/*#__PURE__*/_jsx("input", {
494
+ type: "color",
495
+ className: "brushcolorpic signColorPicker",
496
+ onChange: onBrushColor,
497
+ size: "4",
498
+ value: brush?.color
499
+ }), /*#__PURE__*/_jsx("span", {
500
+ style: {
501
+ marginLeft: "10px",
502
+ fontFamily: '"Inter", sans-serif',
503
+ fontSize: "14px",
504
+ fontWeight: 500,
505
+ color: "#333"
506
+ },
507
+ children: brush.color
508
+ })]
354
509
  })
355
510
  }), /*#__PURE__*/_jsx(Grid, {
356
511
  item: true,
@@ -381,7 +536,7 @@ const SignaturePopup = props => {
381
536
  children: [!readOnly ? /*#__PURE__*/_jsx(Button, {
382
537
  onClick: handleClear,
383
538
  className: "secondaryBtn",
384
- children: "Delete"
539
+ children: "Clear"
385
540
  }) : null, /*#__PURE__*/_jsx(Button, {
386
541
  onClick: handleSave,
387
542
  className: `primaryBtn ${isEmpty ? "disabled" : ""}`,
@@ -6,7 +6,9 @@ import { isTextSelected } from "../../utils/helper";
6
6
  import { useEditorContext } from "../../hooks/useMouseMove";
7
7
  import SimpleTextStyle from "./style";
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
+ import { Fragment as _Fragment } from "react/jsx-runtime";
9
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { createElement as _createElement } from "react";
10
12
  const SimpleText = props => {
11
13
  const {
12
14
  theme,
@@ -38,15 +40,25 @@ const SimpleText = props => {
38
40
  const showPlaceHolder = !readOnly && path.length === 1 && isEmpty;
39
41
  const isEmptyEditor = !readOnly && isEmpty && editor.children.length === 1 && !selected;
40
42
  const opacity = !isTextSelected(editor?.selection);
41
- return /*#__PURE__*/_jsxs(Box, {
43
+ const nextType = element?.children[0]?.type;
44
+ return /*#__PURE__*/_createElement(Box, {
42
45
  ...element.attr,
43
46
  ...attributes,
44
- className: `simple-text`,
47
+ className: `simple-text ${nextType}`,
45
48
  sx: classes.root,
46
- children: [children, openAI ? null : /*#__PURE__*/_jsx("span", {
47
- className: "placeholder-simple-text",
48
- children: isEmptyEditor ? editorPlaceholder || "Write Something..." : showPlaceHolder ? opacity && selected ? "Type / to browse elements" : "" : ""
49
- })]
50
- });
49
+ key: `para_${path.join("|")}`
50
+ }, children, openAI ? null : /*#__PURE__*/_jsx("span", {
51
+ className: "placeholder-simple-text",
52
+ children: isEmptyEditor ? editorPlaceholder || "Write Something..." : showPlaceHolder ? opacity && selected ? /*#__PURE__*/_jsxs(_Fragment, {
53
+ children: ["Type ", /*#__PURE__*/_jsx("span", {
54
+ style: {
55
+ backgroundColor: '#F2F6FA',
56
+ padding: "0px 2px",
57
+ borderRadius: "2px"
58
+ },
59
+ children: "/"
60
+ }), " to browse elements"]
61
+ }) : "" : ""
62
+ }));
51
63
  };
52
64
  export default SimpleText;
@@ -6,7 +6,7 @@ const SimpleTextStyle = ({
6
6
  position: "relative",
7
7
  padding: "0px",
8
8
  "& .placeholder-simple-text": {
9
- color: invertColor(pageColor),
9
+ color: "#94A3B8",
10
10
  background: "transparent",
11
11
  position: "absolute",
12
12
  zIndex: -1,
@@ -23,6 +23,49 @@ const SimpleTextStyle = ({
23
23
  background: "transparent",
24
24
  color: invertColor(pageColor)
25
25
  }
26
+ },
27
+ "& .freegrid-section": {
28
+ "&.enable-1:before": {
29
+ content: "' '",
30
+ pointerEvents: "none",
31
+ position: "absolute",
32
+ left: "2px",
33
+ top: "2px",
34
+ width: "calc(100% - 4px)",
35
+ height: "calc(100% - 4px)",
36
+ outline: "2px solid #2563EB",
37
+ zIndex: 1
38
+ },
39
+ "&:hover, &.enable-1": {
40
+ "& .freegrid-section-infos": {
41
+ pointerEvents: "none",
42
+ position: "absolute",
43
+ top: 0,
44
+ left: 0,
45
+ width: "100%",
46
+ zIndex: 1,
47
+ ":before": {
48
+ position: "absolute",
49
+ content: "attr(placeholder)",
50
+ left: "0px",
51
+ top: "0px",
52
+ width: "auto",
53
+ height: "auto",
54
+ backgroundColor: "#8360FD",
55
+ padding: "4px 6px",
56
+ fontSize: "12px",
57
+ fontWeight: "500",
58
+ color: "#FFF",
59
+ lineHeight: "12px"
60
+ }
61
+ }
62
+ },
63
+ "& .bottom-handle": {
64
+ "&.parent": {
65
+ bottom: "2px !important",
66
+ zIndex: 1
67
+ }
68
+ }
26
69
  }
27
70
  },
28
71
  section: {
@@ -0,0 +1,30 @@
1
+ import React, { Component } from "react";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ class ErrorBoundary extends Component {
4
+ constructor(props) {
5
+ super(props);
6
+ this.state = {
7
+ hasError: false
8
+ };
9
+ }
10
+ static getDerivedStateFromError(error) {
11
+ // Update state so the next render will show the fallback UI.
12
+ return {
13
+ hasError: true
14
+ };
15
+ }
16
+ componentDidCatch(error, errorInfo) {
17
+ // You can also log the error to an error reporting service
18
+ console.error("Error caught in Error Boundary: ", error, errorInfo);
19
+ }
20
+ render() {
21
+ if (this.state.hasError) {
22
+ // You can render any custom fallback UI
23
+ return /*#__PURE__*/_jsx("h1", {
24
+ children: "Something went wrong."
25
+ });
26
+ }
27
+ return this.props.children;
28
+ }
29
+ }
30
+ export default ErrorBoundary;
@@ -29,6 +29,33 @@ const editorStyles = ({
29
29
  "& .MuiOutlinedInput-input": {
30
30
  color: theme?.palette?.editor?.textColor || "black"
31
31
  }
32
+ },
33
+ "&.stimulate-xs": {
34
+ "& .scrollable-content": {
35
+ width: "320px"
36
+ },
37
+ ":before": {
38
+ content: '" "',
39
+ position: "absolute",
40
+ top: 0,
41
+ left: 0,
42
+ width: "calc(50% - 162px)",
43
+ height: "100%",
44
+ pointerEvents: "none",
45
+ backgroundColor: "#FFF",
46
+ zIndex: 10
47
+ },
48
+ ":after": {
49
+ content: '" "',
50
+ position: "absolute",
51
+ top: 0,
52
+ right: 0,
53
+ width: "calc(50% - 160px)",
54
+ height: "100%",
55
+ pointerEvents: "none",
56
+ backgroundColor: "#FFF",
57
+ zIndex: 10
58
+ }
32
59
  }
33
60
  },
34
61
  slateWrapper: {
@@ -243,6 +270,7 @@ const editorStyles = ({
243
270
  }
244
271
  },
245
272
  "&.hideScroll": {
273
+ overflowAnchor: "none",
246
274
  "&::-webkit-scrollbar-track": {
247
275
  background: "none !important"
248
276
  },
@@ -28,7 +28,7 @@ const Dropdown = ({
28
28
  width: width || "100%",
29
29
  height: "36px",
30
30
  borderRadius: "10px",
31
- fontSize: "14px"
31
+ fontSize: "12px"
32
32
  },
33
33
  MenuProps: {
34
34
  PaperProps: {
@@ -93,9 +93,9 @@ const TextSize = ({
93
93
  inputProps: {
94
94
  style: {
95
95
  width: fullWidth ? "100%" : "30px",
96
- textAlign: "center",
96
+ // textAlign: "center",
97
97
  height: "19px",
98
- fontSize: "14px"
98
+ fontSize: "12px"
99
99
  }
100
100
  },
101
101
  fullWidth: fullWidth,
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useState } from "react";
1
+ import React, { useEffect, useRef, useState } from "react";
2
2
  import { useSlate } from "slate-react";
3
3
  import { Box, Dialog, IconButton, Paper, Popper, Tooltip } from "@mui/material";
4
4
  import MENU_OPTIONS from "./Options/Options";
@@ -18,6 +18,11 @@ const POPUP_TYPES = {
18
18
  addElement: AddElements,
19
19
  addTemplate: AddTemplates
20
20
  };
21
+ const POPUP_OFFSETS = {
22
+ textFormat: [80, 5],
23
+ addElement: [60, 5],
24
+ addTemplate: [20, 5]
25
+ };
21
26
  const FULLSCREEN_POPUP = {
22
27
  addTemplate: true
23
28
  };
@@ -44,6 +49,7 @@ const MiniToolbar = props => {
44
49
  const {
45
50
  hideTools
46
51
  } = customProps;
52
+ const boxRef = useRef(null); // Add ref to get the Box element
47
53
  const UPDATED_MENU_OPTIONS = MENU_OPTIONS.filter(f => (hideTools || [])?.indexOf(f.type) === -1);
48
54
  const {
49
55
  popupType
@@ -82,20 +88,35 @@ const MiniToolbar = props => {
82
88
  };
83
89
  const closePopper = data => {
84
90
  setData(data);
85
- setToolTip("false");
91
+ setToolTip(false);
92
+ };
93
+
94
+ // Calculate center of Box for Popper/Modal positioning
95
+ const getBoxCenter = () => {
96
+ if (boxRef.current) {
97
+ const rect = boxRef.current.getBoundingClientRect();
98
+ return {
99
+ top: rect.top + rect.height / 2,
100
+ left: rect.left + rect.width / 2
101
+ };
102
+ }
103
+ return {
104
+ top: 0,
105
+ left: 0
106
+ };
86
107
  };
87
108
  return /*#__PURE__*/_jsxs(_Fragment, {
88
109
  children: [/*#__PURE__*/_jsx(Box, {
89
110
  component: "div",
90
111
  className: "mini-tool-wrpr-ei",
91
112
  sx: classes.root,
113
+ ref: boxRef,
92
114
  children: UPDATED_MENU_OPTIONS.map(({
93
115
  type,
94
116
  label,
95
117
  icon: Icon
96
118
  }) => {
97
- const isDisabled = popupType === type || type === 'undo' ? !canUndo : type === 'redo' ? !canRedo : false; // for textFormat type
98
-
119
+ const isDisabled = popupType === type || type === 'undo' ? !canUndo : type === 'redo' ? !canRedo : false;
99
120
  return /*#__PURE__*/_jsx(Tooltip, {
100
121
  arrow: true,
101
122
  title: label,
@@ -123,11 +144,18 @@ const MiniToolbar = props => {
123
144
  }), /*#__PURE__*/_jsx(DialogComp, {
124
145
  open: open,
125
146
  onClose: onClose,
126
- anchorEl: anchorEl,
147
+ anchorEl: anchorEl || getBoxCenter() // Positioning at center of Box
148
+ ,
127
149
  placement: "top",
128
150
  sx: popupStyles.popupWrapper,
129
151
  className: `tools-drawer ${fullScreen ? "fullscreen" : ""}`,
130
152
  fullScreen: fullScreen,
153
+ modifiers: [{
154
+ name: "offset",
155
+ options: {
156
+ offset: POPUP_OFFSETS[popper] || [0, 10] // Add some space between anchor and popper
157
+ }
158
+ }],
131
159
  children: PopupComponent ? /*#__PURE__*/_jsxs(Paper, {
132
160
  className: "papper-wrpr",
133
161
  style: {
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
2
  import { Box, Button, Card, CardMedia, Grid } from "@mui/material";
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
- import { jsxs as _jsxs } from "react/jsx-runtime";
5
4
  const Select = props => {
6
5
  const {
7
6
  classes,
@@ -34,19 +33,19 @@ const ButtonTemplateCard = props => {
34
33
  xs: 3,
35
34
  children: /*#__PURE__*/_jsx(Card, {
36
35
  sx: classes.paperOverrides,
37
- children: /*#__PURE__*/_jsxs(Box, {
36
+ children: /*#__PURE__*/_jsx(Box, {
38
37
  sx: classes.buttonCardMediaWrpr,
39
- children: [/*#__PURE__*/_jsx(CardMedia, {
40
- className: `template-card-media`,
41
- component: "div",
42
- image: m?.thumbnail,
43
- alt: m?.title,
44
- sx: classes.buttonCardMedia
45
- }), /*#__PURE__*/_jsx(Select, {
46
- classes: classes,
47
- onSelectTemplate: onSelectTemplate,
48
- data: m
49
- })]
38
+ onClick: onSelectTemplate(m),
39
+ children: /*#__PURE__*/_jsx("div", {
40
+ className: "img-wrapper",
41
+ children: /*#__PURE__*/_jsx(CardMedia, {
42
+ className: `template-card-media`,
43
+ component: "div",
44
+ image: m?.thumbnail,
45
+ alt: m?.title,
46
+ sx: classes.buttonCardMedia
47
+ })
48
+ })
50
49
  })
51
50
  })
52
51
  }, `template_${m.id}`);