@flozy/editor 10.5.5 → 10.5.7

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 (169) hide show
  1. package/dist/Editor/ChatEditor.js +17 -16
  2. package/dist/Editor/CommonEditor.js +128 -14
  3. package/dist/Editor/DialogWrapper.js +31 -25
  4. package/dist/Editor/Editor.css +49 -11
  5. package/dist/Editor/Elements/AI/PopoverAIInput.js +11 -3
  6. package/dist/Editor/Elements/Accordion/Accordion.js +46 -9
  7. package/dist/Editor/Elements/Accordion/AccordionSummary.js +1 -23
  8. package/dist/Editor/Elements/AppHeader/AppHeader.js +10 -5
  9. package/dist/Editor/Elements/Button/EditorButton.js +26 -10
  10. package/dist/Editor/Elements/Carousel/CarouselItem.js +2 -1
  11. package/dist/Editor/Elements/Color Picker/ColorButtons.js +61 -14
  12. package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
  13. package/dist/Editor/Elements/Color Picker/ColorPicker.js +10 -7
  14. package/dist/Editor/Elements/Color Picker/Styles.js +15 -13
  15. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/{MultiSelect.js → SelectV1.js} +125 -69
  16. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +10 -10
  17. package/dist/Editor/Elements/DataView/Layouts/DataTypes/SelectType.js +28 -9
  18. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +12 -5
  19. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +40 -14
  20. package/dist/Editor/Elements/Divider/Divider.js +1 -1
  21. package/dist/Editor/Elements/Embed/Video.js +1 -1
  22. package/dist/Editor/Elements/Form/Form.js +3 -3
  23. package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +0 -1
  24. package/dist/Editor/Elements/Form/FormField.js +3 -2
  25. package/dist/Editor/Elements/Form/Workflow/Styles.js +24 -22
  26. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +35 -31
  27. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +7 -4
  28. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -0
  29. package/dist/Editor/Elements/FreeGrid/Options/More.js +7 -7
  30. package/dist/Editor/Elements/FreeGrid/Options/sectionItemOptions.js +1 -1
  31. package/dist/Editor/Elements/FreeGrid/helper.js +115 -0
  32. package/dist/Editor/Elements/FreeGrid/styles.js +14 -0
  33. package/dist/Editor/Elements/Grid/Grid.js +14 -2
  34. package/dist/Editor/Elements/Grid/GridItem.js +1 -1
  35. package/dist/Editor/Elements/Signature/Signature.css +2 -1
  36. package/dist/Editor/Elements/Signature/SignatureOptions/DrawSignature.js +18 -5
  37. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +16 -3
  38. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  39. package/dist/Editor/Elements/Table/AddRowCol.js +8 -2
  40. package/dist/Editor/Elements/Table/DragButton.js +0 -1
  41. package/dist/Editor/Elements/Table/Draggable.js +6 -2
  42. package/dist/Editor/Elements/Table/Styles.js +7 -0
  43. package/dist/Editor/Elements/Table/Table.js +3 -3
  44. package/dist/Editor/Elements/Table/TableCell.js +24 -5
  45. package/dist/Editor/Elements/Title/title.js +6 -6
  46. package/dist/Editor/Elements/Variables/VariableButton.js +10 -1
  47. package/dist/Editor/MiniEditor.js +2 -1
  48. package/dist/Editor/Styles/EditorStyles.js +4 -4
  49. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
  50. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
  51. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  52. package/dist/Editor/Toolbar/FormatTools/TextSize.js +10 -13
  53. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +2 -1
  54. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +4 -2
  55. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
  56. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +167 -42
  57. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +7 -4
  58. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +2 -1
  59. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +73 -13
  60. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +58 -10
  61. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +439 -0
  62. package/dist/Editor/Toolbar/PopupTool/index.js +12 -5
  63. package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
  64. package/dist/Editor/assets/svg/BackIcon.js +18 -0
  65. package/dist/Editor/assets/svg/ThemeIcons.js +293 -0
  66. package/dist/Editor/common/Checkbox/index.js +46 -0
  67. package/dist/Editor/common/Checkbox/styles.js +45 -0
  68. package/dist/Editor/common/ColorPickerButton.js +41 -16
  69. package/dist/Editor/common/CustomColorPicker/index.js +130 -0
  70. package/dist/Editor/common/CustomColorPicker/style.js +53 -0
  71. package/dist/Editor/common/CustomDialog2/index.js +94 -0
  72. package/dist/Editor/common/CustomDialog2/style.js +67 -0
  73. package/dist/Editor/common/CustomSelect.js +43 -0
  74. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  75. package/dist/Editor/common/FontLoader/FontLoader.js +3 -0
  76. package/dist/Editor/common/Icon.js +28 -0
  77. package/dist/Editor/common/ImageSelector/ImageSelector.js +2 -2
  78. package/dist/Editor/common/ImageSelector/Styles.js +3 -9
  79. package/dist/Editor/common/LinkSettings/NavComponents.js +45 -65
  80. package/dist/Editor/common/LinkSettings/index.js +14 -28
  81. package/dist/Editor/common/LinkSettings/navOptions.js +2 -2
  82. package/dist/Editor/common/LinkSettings/style.js +164 -244
  83. package/dist/Editor/common/RadioGroup/index.js +48 -0
  84. package/dist/Editor/common/RadioGroup/styles.js +29 -0
  85. package/dist/Editor/common/RnD/ElementOptions/Actions.js +4 -5
  86. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +2 -1
  87. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Signature.js +4 -3
  88. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
  89. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
  90. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
  91. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
  92. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +4 -2
  93. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +3 -2
  94. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
  95. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +3 -1
  96. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
  97. package/dist/Editor/common/RnD/ElementSettings/styles.js +0 -1
  98. package/dist/Editor/common/RnD/OptionsPopup/style.js +0 -1
  99. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +11 -2
  100. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
  101. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +6 -3
  102. package/dist/Editor/common/RnD/Utils/gridDropItem.js +28 -19
  103. package/dist/Editor/common/RnD/Utils/index.js +3 -1
  104. package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +42 -58
  105. package/dist/Editor/common/RnD/VirtualElement/helper.js +323 -132
  106. package/dist/Editor/common/RnD/VirtualElement/styles.js +16 -0
  107. package/dist/Editor/common/RnD/index.js +67 -38
  108. package/dist/Editor/common/Select/index.js +44 -7
  109. package/dist/Editor/common/Select/styles.js +30 -2
  110. package/dist/Editor/common/Shorthands/elements.js +54 -0
  111. package/dist/Editor/common/StyleBuilder/accordionTitleBtnStyle.js +2 -2
  112. package/dist/Editor/common/StyleBuilder/accordionTitleStyle.js +12 -9
  113. package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
  114. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +4 -0
  115. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +5 -0
  116. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +12 -2
  117. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
  118. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +16 -8
  119. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +36 -10
  120. package/dist/Editor/common/StyleBuilder/fieldTypes/embedUpload.js +115 -0
  121. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +16 -7
  122. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
  123. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
  124. package/dist/Editor/common/SwipeableDrawer/style.js +14 -12
  125. package/dist/Editor/common/Uploader.js +16 -0
  126. package/dist/Editor/common/iconListV2.js +76 -0
  127. package/dist/Editor/common/iconslist.js +21 -0
  128. package/dist/Editor/commonStyle.js +116 -61
  129. package/dist/Editor/helper/deserialize/index.js +6 -4
  130. package/dist/Editor/helper/index.js +5 -1
  131. package/dist/Editor/helper/textIndeces.js +58 -0
  132. package/dist/Editor/helper/theme.js +203 -2
  133. package/dist/Editor/hooks/useEditorTheme.js +153 -0
  134. package/dist/Editor/hooks/useMouseMove.js +9 -3
  135. package/dist/Editor/hooks/useTable.js +5 -4
  136. package/dist/Editor/hooks/useThemeValues.js +63 -0
  137. package/dist/Editor/plugins/withEmbeds.js +1 -1
  138. package/dist/Editor/plugins/withHTML.js +14 -5
  139. package/dist/Editor/plugins/withTable.js +1 -1
  140. package/dist/Editor/theme/ThemeList.js +50 -173
  141. package/dist/Editor/theme/index.js +149 -0
  142. package/dist/Editor/themeSettings/ActiveTheme.js +82 -0
  143. package/dist/Editor/themeSettings/buttons/index.js +300 -0
  144. package/dist/Editor/themeSettings/buttons/style.js +23 -0
  145. package/dist/Editor/themeSettings/colorTheme/index.js +310 -0
  146. package/dist/Editor/themeSettings/colorTheme/style.js +81 -0
  147. package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
  148. package/dist/Editor/themeSettings/fonts/index.js +240 -0
  149. package/dist/Editor/themeSettings/fonts/style.js +62 -0
  150. package/dist/Editor/themeSettings/icons.js +60 -0
  151. package/dist/Editor/themeSettings/index.js +380 -0
  152. package/dist/Editor/themeSettings/style.js +299 -0
  153. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  154. package/dist/Editor/themeSettingsAI/index.js +355 -0
  155. package/dist/Editor/themeSettingsAI/saveTheme.js +202 -0
  156. package/dist/Editor/themeSettingsAI/style.js +332 -0
  157. package/dist/Editor/utils/SlateUtilityFunctions.js +161 -37
  158. package/dist/Editor/utils/accordion.js +26 -7
  159. package/dist/Editor/utils/button.js +1 -17
  160. package/dist/Editor/utils/customHooks/useTableResize.js +49 -9
  161. package/dist/Editor/utils/draftToSlate.js +3 -2
  162. package/dist/Editor/utils/events.js +50 -6
  163. package/dist/Editor/utils/font.js +40 -37
  164. package/dist/Editor/utils/formfield.js +1 -0
  165. package/dist/Editor/utils/helper.js +142 -28
  166. package/dist/Editor/utils/insertAppHeader.js +1 -1
  167. package/dist/Editor/utils/signature.js +2 -9
  168. package/dist/Editor/utils/updateFormName.js +22 -0
  169. package/package.json +4 -4
@@ -9,20 +9,20 @@ const FormStyles = theme => ({
9
9
  color: "#94A3B8"
10
10
  },
11
11
  bodyTextArea: {
12
- '& .mini-editor-cls': {
13
- padding: '12px',
14
- '&:focus-visible': {
15
- outline: 'none',
16
- border: 'none'
12
+ "& .mini-editor-cls": {
13
+ padding: "12px",
14
+ "&:focus-visible": {
15
+ outline: "none",
16
+ border: "none"
17
17
  }
18
18
  },
19
19
  "& .editorWorkflow": {
20
- minHeight: '130px',
21
- padding: '12px',
20
+ minHeight: "130px",
21
+ padding: "12px",
22
22
  paddingBottom: 0,
23
- '&:focus-visible': {
24
- outline: 'none',
25
- border: 'none'
23
+ "&:focus-visible": {
24
+ outline: "none",
25
+ border: "none"
26
26
  }
27
27
  }
28
28
  },
@@ -105,7 +105,7 @@ const FormStyles = theme => ({
105
105
  padding: "4px 22px",
106
106
  textTransform: "none",
107
107
  border: "1px solid #D8DDE1",
108
- minWidth: '126px',
108
+ minWidth: "126px",
109
109
  "& svg": {
110
110
  "& path": {
111
111
  stroke: "#64748B"
@@ -169,17 +169,19 @@ const FormStyles = theme => ({
169
169
  }
170
170
  },
171
171
  colorButtonSingle: {
172
+ border: "1.5px solid #DCE4EC !important",
172
173
  "&.active": {
173
- "&:before": {
174
- content: '" "',
175
- position: "absolute",
176
- top: "-5px",
177
- left: "-5px",
178
- width: "calc(100% + 4px)",
179
- height: "calc(100% + 4px)",
180
- border: "3px solid blue",
181
- borderRadius: "50%"
182
- }
174
+ // "&:before": {
175
+ // content: '" "',
176
+ // position: "absolute",
177
+ // top: "-5px",
178
+ // left: "-5px",
179
+ // width: "calc(100% + 4px)",
180
+ // height: "calc(100% + 4px)",
181
+ // border: "3px solid blue",
182
+ // borderRadius: "50%",
183
+ // },
184
+ outline: "2px solid #2563EB"
183
185
  }
184
186
  },
185
187
  colorButtonsInner: {
@@ -249,7 +251,7 @@ const FormStyles = theme => ({
249
251
  }
250
252
  },
251
253
  root: {
252
- padding: '10px'
254
+ padding: "10px"
253
255
  }
254
256
  });
255
257
  export default FormStyles;
@@ -22,6 +22,8 @@ import { DEFAULT_TABLE_NODE } from "../../utils/table";
22
22
  import itemOptions from "./Options/sectionItemOptions";
23
23
  import { getBreakPointsValue, groupByBreakpoint } from "../../helper/theme";
24
24
  import { useDebouncedCallback } from "use-debounce";
25
+ import { getNewElementXsValues } from "./helper";
26
+ import updateFormName from "../../utils/updateFormName";
25
27
  import { jsx as _jsx } from "react/jsx-runtime";
26
28
  import { jsxs as _jsxs } from "react/jsx-runtime";
27
29
  const MAX_DEVICE_WIDTH = {
@@ -140,8 +142,10 @@ const FreeGrid = props => {
140
142
  });
141
143
  break;
142
144
  case "duplicateSection":
145
+ const currentNode = Node.get(editor, cur_root_path);
146
+ const updatedFormNameNode = updateFormName(currentNode);
143
147
  Transforms.insertNodes(editor, [{
144
- ...JSON.parse(JSON.stringify(Node.get(editor, cur_root_path)))
148
+ ...JSON.parse(JSON.stringify(updatedFormNameNode))
145
149
  }], {
146
150
  at: next_path
147
151
  });
@@ -180,6 +184,10 @@ const FreeGrid = props => {
180
184
  const handleAddElementClick = type => () => {
181
185
  const isEmpty = isEmptySection();
182
186
  const insertAt = isEmpty ? [...path, 0] : [...path, childrenCountRef.current];
187
+ const {
188
+ xsVal,
189
+ sectionHeightXs
190
+ } = getNewElementXsValues(type, element?.children);
183
191
  switch (type) {
184
192
  case "addText":
185
193
  Transforms.insertNodes(editor, [{
@@ -196,7 +204,8 @@ const FreeGrid = props => {
196
204
  marginTop: 0,
197
205
  top: 0,
198
206
  width: 170,
199
- height: 30
207
+ height: 30,
208
+ ...(xsVal || {})
200
209
  }], {
201
210
  at: [...insertAt]
202
211
  });
@@ -214,20 +223,6 @@ const FreeGrid = props => {
214
223
  linkType: "webAddress"
215
224
  },
216
225
  iconPosition: "start",
217
- bgColor: "#2563EB",
218
- textColor: "#FFF",
219
- borderRadius: {
220
- topLeft: 30,
221
- topRight: 30,
222
- bottomLeft: 30,
223
- bottomRight: 30
224
- },
225
- bannerSpacing: {
226
- left: 12,
227
- top: 12,
228
- right: 12,
229
- bottom: 12
230
- },
231
226
  textAlign: "center",
232
227
  label: "Get Started"
233
228
  }],
@@ -236,7 +231,8 @@ const FreeGrid = props => {
236
231
  marginTop: 0,
237
232
  top: 0,
238
233
  width: 143,
239
- height: 50
234
+ height: 50,
235
+ ...(xsVal || {})
240
236
  }], {
241
237
  at: [...insertAt]
242
238
  });
@@ -262,8 +258,9 @@ const FreeGrid = props => {
262
258
  top: 0,
263
259
  width: 217,
264
260
  height: 173,
265
- width_xs: 217,
266
- height_xs: 173
261
+ // width_xs: 217,
262
+ // height_xs: 173,
263
+ ...(xsVal || {})
267
264
  }], {
268
265
  at: [...insertAt]
269
266
  });
@@ -286,7 +283,8 @@ const FreeGrid = props => {
286
283
  marginTop: 0,
287
284
  top: 0,
288
285
  width: 170,
289
- height: 80
286
+ height: 80,
287
+ ...(xsVal || {})
290
288
  }], {
291
289
  at: [...insertAt]
292
290
  });
@@ -299,7 +297,8 @@ const FreeGrid = props => {
299
297
  images: []
300
298
  }), {
301
299
  height: 370,
302
- width: 650
300
+ width: 650,
301
+ ...(xsVal || {})
303
302
  })
304
303
  }], {
305
304
  at: [...insertAt]
@@ -311,7 +310,8 @@ const FreeGrid = props => {
311
310
  ...DEFAULT_TABLE_NODE()
312
311
  }, {
313
312
  height: 150,
314
- width: 400
313
+ width: 400,
314
+ ...(xsVal || {})
315
315
  })
316
316
  }], {
317
317
  at: [...insertAt]
@@ -335,7 +335,8 @@ const FreeGrid = props => {
335
335
  marginTop: 0,
336
336
  top: 0,
337
337
  width: 400,
338
- height: 300
338
+ height: 300,
339
+ ...(xsVal || {})
339
340
  }], {
340
341
  at: [...insertAt]
341
342
  });
@@ -347,7 +348,9 @@ const FreeGrid = props => {
347
348
  children: [{
348
349
  text: ""
349
350
  }]
350
- }, {}, "freegridBox")
351
+ }, {
352
+ ...(xsVal || {})
353
+ }, "freegridBox")
351
354
  }], {
352
355
  at: [...insertAt]
353
356
  });
@@ -358,7 +361,8 @@ const FreeGrid = props => {
358
361
  ...FORM_NODE()
359
362
  }, {
360
363
  height: 92,
361
- width: 400
364
+ width: 400,
365
+ ...(xsVal || {})
362
366
  })
363
367
  }], {
364
368
  at: [...insertAt]
@@ -372,7 +376,8 @@ const FreeGrid = props => {
372
376
  })
373
377
  }, {
374
378
  height: 60,
375
- width: 400
379
+ width: 400,
380
+ ...(xsVal || {})
376
381
  })
377
382
  }], {
378
383
  at: [...insertAt]
@@ -393,19 +398,18 @@ const FreeGrid = props => {
393
398
  marginTop: 0,
394
399
  top: 0,
395
400
  width: 170,
396
- height: 30
401
+ height: 30,
402
+ ...(xsVal || {})
397
403
  }], {
398
404
  at: [...insertAt]
399
405
  });
400
406
  break;
401
407
  default:
402
408
  }
403
- if (breakpoint === "lg") {
409
+ if (xsVal) {
404
410
  setSelectedElement({});
405
-
406
- // auto align in mobile
407
411
  Transforms.setNodes(editor, {
408
- xs_updatedOn: null,
412
+ height_xs: sectionHeightXs,
409
413
  updated_at: new Date().getTime()
410
414
  }, {
411
415
  at: path
@@ -8,7 +8,7 @@ import { onDropItem, ROW_HEIGHT } from "../../common/RnD/Utils/gridDropItem";
8
8
  import useBreakpoints from "../../hooks/useBreakpoints";
9
9
  import { breakpointValues, formatBreakpointValues } from "./breakpointConstants";
10
10
  import { useEditorContext } from "../../hooks/useMouseMove";
11
- import { getBreakPointsValue } from "../../helper/theme";
11
+ import { getBreakPointsValue, groupByBreakpoint } from "../../helper/theme";
12
12
  import focusOnNewItem from "../../helper/RnD/focusOnNewItem";
13
13
  import { bringItemToFB } from "../../helper";
14
14
  import itemOptions from "./Options/sectionItemOptions";
@@ -160,6 +160,11 @@ const FreeGridBox = props => {
160
160
  const isBoxHeader = useMemo(() => {
161
161
  return element?.children?.some(c => c.childType === "appHeader" && !c.xs_updatedOn);
162
162
  }, [element]);
163
+ const boxSp = groupByBreakpoint({
164
+ borderRadius: {
165
+ ...getBreakPointsValue(sectionBorderRadius || {}, null, "overrideBorderRadius", true)
166
+ }
167
+ }, theme);
163
168
  return /*#__PURE__*/_jsx(RnD, {
164
169
  id: `freegrid_box_item_${path.join("|")}_${updated_at}_${breakpoint}`,
165
170
  className: `freegrid-item path-${path.length} breakpoint-${breakpoint} freegrid-box_${path.join("_")}`,
@@ -226,9 +231,7 @@ const FreeGridBox = props => {
226
231
  "--rows": `repeat(${repeatTimes}, ${ROW_HEIGHT}px)`
227
232
  },
228
233
  sx: {
229
- borderRadius: {
230
- ...getBreakPointsValue(sectionBorderRadius || {}, null, "overrideBorderRadius", true)
231
- },
234
+ ...boxSp,
232
235
  background: sectionBgColor,
233
236
  backgroundImage: sectionBackgroundImage ? `url('${sectionBackgroundImage}')` : "",
234
237
  borderColor: borderColor || "transparent",
@@ -320,6 +320,7 @@ const FreeGridItem = props => {
320
320
  breakpoint: breakpoint,
321
321
  customProps: customProps,
322
322
  translation: translation,
323
+ xsHidden: xsHidden,
323
324
  children: /*#__PURE__*/_jsxs(Box, {
324
325
  component: "div",
325
326
  ...attributes,
@@ -5,8 +5,8 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
5
5
  const More = props => {
6
6
  const {
7
7
  handleClick,
8
- breakpoint,
9
- translation
8
+ translation,
9
+ breakpoint
10
10
  } = props;
11
11
  return /*#__PURE__*/_jsx(Box, {
12
12
  children: /*#__PURE__*/_jsxs(List, {
@@ -19,15 +19,15 @@ const More = props => {
19
19
  className: "item-wrapper",
20
20
  onClick: handleClick("duplicateSection"),
21
21
  children: translation?.translation("Duplicate Section")
22
- }), /*#__PURE__*/_jsx(ListItemButton, {
23
- className: "item-wrapper",
24
- onClick: handleClick("deleteSection"),
25
- children: "Delete Section"
26
22
  }), breakpoint === "xs" ? /*#__PURE__*/_jsx(ListItemButton, {
27
23
  className: "item-wrapper",
28
24
  onClick: handleClick("forceAutoAlignment"),
29
25
  children: "Force Auto Alignment"
30
- }) : null]
26
+ }) : null, /*#__PURE__*/_jsx(ListItemButton, {
27
+ className: "item-wrapper",
28
+ onClick: handleClick("deleteSection"),
29
+ children: "Delete Section"
30
+ })]
31
31
  })
32
32
  });
33
33
  };
@@ -3,7 +3,7 @@ const textOptions = ["edit", "settings", "link", "saveAsTemplate", "close"];
3
3
  const buttonOptions = ["settings", "link", "saveAsTemplate", "close"];
4
4
  const imageOptions = ["settings", "link", "imageFrame", "saveAsTemplate", "close"];
5
5
  const videoOptions = ["settings", "saveAsTemplate", "close"];
6
- const boxOptions = ["settings", "saveAsTemplate", "close"];
6
+ const boxOptions = ["settings", "link", "saveAsTemplate", "close"];
7
7
  const appHeaderOptions = ["settings", "saveAsTemplate", "close"];
8
8
  const tableOptions = ["drag", "edit", "settings", "saveAsTemplate", "close"];
9
9
  const embedScriptOptions = ["embedScript", "saveAsTemplate", "close"];
@@ -0,0 +1,115 @@
1
+ import { ROW_HEIGHT } from "../../common/RnD/Utils/gridDropItem";
2
+ import { getElementOffset } from "../../common/RnD/VirtualElement/VirtualTextElement";
3
+ import { RND_ITEMS } from "../../helper";
4
+ export const ELEMENT_CASE = {
5
+ ADD_TEXT: "addText",
6
+ ADD_BUTTON: "addButton",
7
+ ADD_SIGNATURE: "addSignature",
8
+ ADD_IMAGE: "addImage",
9
+ ADD_VIDEO: "addVideo",
10
+ ADD_TABLE: "addTable",
11
+ ADD_CODE: "addCode",
12
+ ADD_BOX: "addBox",
13
+ ADD_FORM: "addForm",
14
+ ADD_APP_HEADER: "addAppHeader",
15
+ ADD_DIVIDER: "addDivider"
16
+ };
17
+ const commonXsValues = {
18
+ top_xs: 0,
19
+ marginTop_xs: 12,
20
+ left_xs: 24,
21
+ width_xs: 272,
22
+ xs_updatedOn: new Date().getTime()
23
+ };
24
+ const elementXsValues = {
25
+ [ELEMENT_CASE.ADD_TEXT]: {
26
+ ...commonXsValues,
27
+ height_xs: 50
28
+ },
29
+ [ELEMENT_CASE.ADD_BUTTON]: {
30
+ ...commonXsValues,
31
+ height_xs: 50
32
+ },
33
+ [ELEMENT_CASE.ADD_SIGNATURE]: {
34
+ ...commonXsValues,
35
+ height_xs: 173
36
+ },
37
+ [ELEMENT_CASE.ADD_IMAGE]: {
38
+ ...commonXsValues,
39
+ height_xs: 80
40
+ },
41
+ [ELEMENT_CASE.ADD_VIDEO]: {
42
+ ...commonXsValues,
43
+ height_xs: 300
44
+ },
45
+ [ELEMENT_CASE.ADD_TABLE]: {
46
+ ...commonXsValues,
47
+ height_xs: 165
48
+ },
49
+ [ELEMENT_CASE.ADD_CODE]: {
50
+ ...commonXsValues,
51
+ height: 300
52
+ },
53
+ [ELEMENT_CASE.ADD_BOX]: {
54
+ ...commonXsValues,
55
+ height_xs: 300
56
+ },
57
+ [ELEMENT_CASE.ADD_FORM]: {
58
+ ...commonXsValues,
59
+ height_xs: 80
60
+ },
61
+ [ELEMENT_CASE.ADD_APP_HEADER]: {
62
+ ...commonXsValues,
63
+ height_xs: 80
64
+ },
65
+ [ELEMENT_CASE.ADD_DIVIDER]: {
66
+ ...commonXsValues,
67
+ height_xs: 24
68
+ }
69
+ };
70
+ export const findMaxYValue = (sectionItems, breakpoint) => {
71
+ let maxY = 0;
72
+ sectionItems.forEach(item => {
73
+ const isHidden = breakpoint === "xs" && item.children.some(c => c.xsHidden);
74
+ if (item?.type && RND_ITEMS.includes(item.type) && !isHidden) {
75
+ const {
76
+ bottom
77
+ } = getElementOffset(item, breakpoint === "lg" ? "lg" : "xs");
78
+ maxY = Math.max(maxY, bottom);
79
+ }
80
+ });
81
+ return maxY;
82
+ };
83
+ export const convertToGridArea = y => {
84
+ // Calculate grid position
85
+ const row = Math.floor(y / ROW_HEIGHT) + 1;
86
+
87
+ // to calculate difference inside the grid
88
+ const marginTop = Math.abs((row - 1) * ROW_HEIGHT - y);
89
+
90
+ // Update grid area
91
+ const gridArea = `${row} / 1 / ${row + 1} / 2`;
92
+ return {
93
+ gridArea,
94
+ marginTop
95
+ };
96
+ };
97
+ export const getNewElementXsValues = (type, sectionItems) => {
98
+ const values = elementXsValues[type] || {};
99
+ const y = sectionItems?.length ? findMaxYValue(sectionItems) : 0;
100
+ const {
101
+ gridArea,
102
+ marginTop
103
+ } = convertToGridArea(y);
104
+ const BUFFER_MARGIN_TOP = 12;
105
+ const xsVal = {
106
+ ...values,
107
+ gridArea_xs: gridArea,
108
+ marginTop_xs: marginTop + BUFFER_MARGIN_TOP
109
+ };
110
+ const sectionHeightXs = y + values?.height_xs + BUFFER_MARGIN_TOP + 12;
111
+ return {
112
+ xsVal,
113
+ sectionHeightXs
114
+ };
115
+ };
@@ -247,6 +247,9 @@ const useFreeGridStyles = ({
247
247
  },
248
248
  "& > .simple-text": {
249
249
  display: "none"
250
+ },
251
+ "& > .edt-paragraphs": {
252
+ display: "none"
250
253
  }
251
254
  },
252
255
  "& .fgi_type_form": {
@@ -350,6 +353,17 @@ const useFreeGridStyles = ({
350
353
  "& .fgi_type_text": {
351
354
  "& .edt-headings": {
352
355
  margin: "0px"
356
+ },
357
+ "& .edt-paragraphs": {
358
+ margin: "0px"
359
+ }
360
+ },
361
+ "& .fgi_type_table": {
362
+ "& .edt-headings": {
363
+ margin: "0px"
364
+ },
365
+ "& .edt-paragraphs": {
366
+ margin: "0px"
353
367
  }
354
368
  },
355
369
  /** element toolbar hide */
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable no-unused-vars */
2
2
  import React, { useState } from "react";
3
- import { Transforms, Path, Node } from "slate";
3
+ import { Transforms, Path, Node, Editor, Element } from "slate";
4
4
  import { useSlateStatic, ReactEditor } from "slate-react";
5
5
  import { IconButton, Tooltip, Grid as GridContainer, useTheme } from "@mui/material";
6
6
  import ArrowUpwardIcon from "@mui/icons-material/ArrowUpward";
@@ -206,7 +206,19 @@ const Grid = props => {
206
206
  };
207
207
  const onAddSection = () => () => {
208
208
  try {
209
- const duplicateGrid = JSON.parse(JSON.stringify(element));
209
+ let duplicateGrid = JSON.parse(JSON.stringify(element));
210
+ const carousel = Editor.above(editor, {
211
+ at: path,
212
+ match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "carousel-item"
213
+ });
214
+ if (carousel) {
215
+ const [carouselNode, carouselItemPath] = carousel || [];
216
+ const duplicatecCarousel = JSON.parse(JSON.stringify(carouselNode));
217
+ Transforms.insertNodes(editor, duplicatecCarousel, {
218
+ at: Path.next(carouselItemPath)
219
+ });
220
+ return;
221
+ }
210
222
  insertGrid(editor, duplicateGrid, [path[0] + 1, 0]);
211
223
  } catch (err) {
212
224
  console.log(err);
@@ -292,7 +292,7 @@ const GridItem = props => {
292
292
  ...getBRProps,
293
293
  display: "flex",
294
294
  flexDirection: flexDirection || "column",
295
- background: bgColor || "transparent",
295
+ background: bgColor,
296
296
  borderColor: getBorderColor(),
297
297
  borderWidth: borderWidth || "1px",
298
298
  borderStyle: borderStyle || "solid",
@@ -46,11 +46,12 @@
46
46
 
47
47
  .upload-input-wrapper {
48
48
  width: 100%;
49
+ height: 100%;
49
50
  position: relative;
50
51
  }
51
52
  .upload-input-wrapper input {
52
53
  width: 100%;
53
- height: 100px;
54
+ height: 100%;
54
55
  opacity: 0;
55
56
  z-index: 1;
56
57
  position: relative;
@@ -1,6 +1,7 @@
1
1
  import React, { useRef, useState } from "react";
2
2
  import SignatureCanvas from "react-signature-canvas";
3
- import { Grid, useMediaQuery } from "@mui/material";
3
+ import { Grid, IconButton, useMediaQuery } from "@mui/material";
4
+ import { ResetIcon } from "../../../common/iconListV2";
4
5
  import { jsx as _jsx } from "react/jsx-runtime";
5
6
  import { jsxs as _jsxs } from "react/jsx-runtime";
6
7
  const DrawSignature = props => {
@@ -24,6 +25,13 @@ const DrawSignature = props => {
24
25
  signature: result?.imageURL || strImage
25
26
  });
26
27
  };
28
+ const onClear = () => {
29
+ canvasRef.clear();
30
+ setUploading(false);
31
+ onDataChange({
32
+ signature: ""
33
+ });
34
+ };
27
35
  const isMobile = useMediaQuery("(max-width:599px)");
28
36
  const signatureCanvasStyle = isMobile ? {
29
37
  width: "260px",
@@ -31,14 +39,15 @@ const DrawSignature = props => {
31
39
  } : {};
32
40
  return /*#__PURE__*/_jsxs(Grid, {
33
41
  container: true,
34
- children: [uploading ? "Uploading..." : "", /*#__PURE__*/_jsx(Grid, {
42
+ children: [uploading ? "Uploading..." : "", /*#__PURE__*/_jsxs(Grid, {
35
43
  item: true,
36
44
  xs: 12,
37
45
  style: {
38
46
  width: "100%",
39
- height: "209px"
47
+ height: "209px",
48
+ position: "relative"
40
49
  },
41
- children: /*#__PURE__*/_jsx(SignatureCanvas, {
50
+ children: [/*#__PURE__*/_jsx(SignatureCanvas, {
42
51
  canvasProps: {
43
52
  className: "signature-canvas",
44
53
  ...signatureCanvasStyle
@@ -47,7 +56,11 @@ const DrawSignature = props => {
47
56
  ref: ref => canvasRef = ref,
48
57
  maxWidth: brush.size || 2,
49
58
  penColor: brush?.color || "#000"
50
- })
59
+ }), /*#__PURE__*/_jsx(IconButton, {
60
+ className: "clear-canvas",
61
+ onClick: onClear,
62
+ children: /*#__PURE__*/_jsx(ResetIcon, {})
63
+ })]
51
64
  })]
52
65
  });
53
66
  };
@@ -30,15 +30,28 @@ const UploadSignature = props => {
30
30
  signature: result?.imageURL || strImage
31
31
  });
32
32
  };
33
+ const onRemove = () => {
34
+ setBase64(null);
35
+ setUploading(false);
36
+ onUploadDone({
37
+ signature: ""
38
+ });
39
+ };
33
40
  return /*#__PURE__*/_jsxs("div", {
34
41
  className: "signature-tab2",
35
- children: [uploading ? "Uploading..." : "", base64 ? /*#__PURE__*/_jsx("div", {
42
+ children: [uploading ? "Uploading..." : "", base64 ? /*#__PURE__*/_jsxs("div", {
36
43
  className: "upload-sign-img-wrapper",
37
- children: /*#__PURE__*/_jsx("img", {
44
+ children: [/*#__PURE__*/_jsx("img", {
38
45
  className: "upload-sign-img",
39
46
  src: base64,
40
47
  alt: "Signature"
41
- })
48
+ }), /*#__PURE__*/_jsx(Typography, {
49
+ variant: "body2",
50
+ gutterBottom: true,
51
+ className: "remove-sign-img-btn",
52
+ onClick: onRemove,
53
+ children: "Remove"
54
+ })]
42
55
  }) : /*#__PURE__*/_jsxs("div", {
43
56
  className: "upload-input-wrapper",
44
57
  children: [/*#__PURE__*/_jsx("input", {
@@ -35,8 +35,8 @@ const SimpleTextStyle = ({
35
35
  height: "24px",
36
36
  overflow: "hidden",
37
37
  fontSize: "14px",
38
- display: 'inline-flex',
39
- alignItems: 'center',
38
+ display: "inline-flex",
39
+ alignItems: "center",
40
40
  "& .bg-pad-sl": {
41
41
  padding: "2px 4px 2px 4px",
42
42
  background: "transparent",
@@ -1,6 +1,7 @@
1
1
  import { Button } from "@mui/material";
2
2
  import { useMemo, useState } from "react";
3
3
  import useTable from "../../hooks/useTable";
4
+ import AddRoundedIcon from "@mui/icons-material/AddRounded";
4
5
  import { jsx as _jsx } from "react/jsx-runtime";
5
6
  const showAddButton = (addType, tableNode, hoverPath) => {
6
7
  const [row, col] = hoverPath && hoverPath?.length ? hoverPath.slice(-2) : [];
@@ -61,7 +62,7 @@ function AddRowCol(props) {
61
62
  fontSize: "14px",
62
63
  border: "1px dashed #8DA8E3",
63
64
  color: "#2563EB !important",
64
- padding: "0px 4px",
65
+ padding: "4px 4px",
65
66
  minWidth: "unset",
66
67
  lineHeight: "18px",
67
68
  fontWeight: "normal !important",
@@ -70,7 +71,12 @@ function AddRowCol(props) {
70
71
  },
71
72
  disabled: !showBtn,
72
73
  onClick: onAdd,
73
- children: "+"
74
+ children: /*#__PURE__*/_jsx(AddRoundedIcon, {
75
+ sx: {
76
+ width: 18,
77
+ height: 18
78
+ }
79
+ })
74
80
  })
75
81
  });
76
82
  }
@@ -44,7 +44,6 @@ function DragButton({
44
44
  const dragProps = {
45
45
  ...dndProps,
46
46
  id: dndProps?.id + dragType,
47
- disabled: isMobile,
48
47
  data: {
49
48
  ...dndProps.data,
50
49
  dragType