@flozy/editor 5.3.6 → 5.3.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 (126) hide show
  1. package/dist/Editor/CommonEditor.js +14 -8
  2. package/dist/Editor/Editor.css +58 -22
  3. package/dist/Editor/Elements/Accordion/Accordion.js +8 -1
  4. package/dist/Editor/Elements/AppHeader/AppHeader.js +6 -6
  5. package/dist/Editor/Elements/Button/EditorButton.js +9 -2
  6. package/dist/Editor/Elements/Color Picker/ColorButtons.js +4 -2
  7. package/dist/Editor/Elements/DataView/DataView.js +124 -0
  8. package/dist/Editor/Elements/DataView/DataViewButton.js +23 -0
  9. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +67 -0
  10. package/dist/Editor/Elements/DataView/Layouts/DataTypes/CheckType.js +33 -0
  11. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +162 -0
  12. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SimpleSelect.js +40 -0
  13. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +67 -0
  14. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +35 -0
  15. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +39 -0
  16. package/dist/Editor/Elements/DataView/Layouts/DataTypes/NumberType.js +30 -0
  17. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +30 -0
  18. package/dist/Editor/Elements/DataView/Layouts/DataTypes/SelectType.js +35 -0
  19. package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +36 -0
  20. package/dist/Editor/Elements/DataView/Layouts/DataTypes/index.js +17 -0
  21. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseField.js +29 -0
  22. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +38 -0
  23. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +74 -0
  24. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +64 -0
  25. package/dist/Editor/Elements/DataView/Layouts/FilterSort/styles.js +106 -0
  26. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +174 -0
  27. package/dist/Editor/Elements/DataView/Layouts/Formula.js +29 -0
  28. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +113 -0
  29. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +37 -0
  30. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +111 -0
  31. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +60 -0
  32. package/dist/Editor/Elements/DataView/Layouts/Options/ColumnsList.js +36 -0
  33. package/dist/Editor/Elements/DataView/Layouts/Options/Constants.js +101 -0
  34. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +160 -0
  35. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +190 -0
  36. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +42 -0
  37. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +30 -0
  38. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +110 -0
  39. package/dist/Editor/Elements/DataView/Layouts/Options/styles.js +179 -0
  40. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +112 -0
  41. package/dist/Editor/Elements/DataView/Layouts/TableView.js +227 -0
  42. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +80 -0
  43. package/dist/Editor/Elements/DataView/Layouts/colStyles.js +10 -0
  44. package/dist/Editor/Elements/DataView/Layouts/index.js +25 -0
  45. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +281 -0
  46. package/dist/Editor/Elements/DataView/Utils/globalSearch.js +15 -0
  47. package/dist/Editor/Elements/DataView/Utils/multiSortRows.js +74 -0
  48. package/dist/Editor/Elements/DataView/styles.js +154 -0
  49. package/dist/Editor/Elements/Divider/Divider.js +24 -9
  50. package/dist/Editor/Elements/Embed/Image.js +31 -12
  51. package/dist/Editor/Elements/Embed/Video.js +13 -2
  52. package/dist/Editor/Elements/Form/Form.js +1 -0
  53. package/dist/Editor/Elements/FreeGrid/breakpointConstants.js +4 -4
  54. package/dist/Editor/Elements/FreeGrid/styles.js +2 -1
  55. package/dist/Editor/Elements/Grid/GridItem.js +2 -0
  56. package/dist/Editor/Elements/Grid/Styles.js +44 -0
  57. package/dist/Editor/Elements/List/CheckList.js +2 -1
  58. package/dist/Editor/Elements/Search/SearchAttachment.js +1 -0
  59. package/dist/Editor/Elements/Signature/SignaturePopup.js +4 -4
  60. package/dist/Editor/Elements/SimpleText/index.js +8 -1
  61. package/dist/Editor/Elements/SimpleText/style.js +10 -1
  62. package/dist/Editor/Elements/Table/Table.js +2 -4
  63. package/dist/Editor/Elements/Table/TableCell.js +5 -10
  64. package/dist/Editor/Elements/TopBanner/TopBanner.js +2 -1
  65. package/dist/Editor/MiniEditor.js +15 -1
  66. package/dist/Editor/Styles/EditorStyles.js +5 -3
  67. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +17 -1
  68. package/dist/Editor/Toolbar/FormatTools/TextSize.js +5 -3
  69. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +210 -72
  70. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +56 -8
  71. package/dist/Editor/Toolbar/Toolbar.js +6 -0
  72. package/dist/Editor/Toolbar/toolbarGroups.js +4 -0
  73. package/dist/Editor/assets/svg/SettingsIcon.js +4 -4
  74. package/dist/Editor/common/ColorPickerButton.js +5 -3
  75. package/dist/Editor/common/DnD/Draggable.js +2 -1
  76. package/dist/Editor/common/FontLoader/FontLoader.js +4 -4
  77. package/dist/Editor/common/Icon.js +6 -0
  78. package/dist/Editor/common/ImageSelector/Options/Upload.js +2 -1
  79. package/dist/Editor/common/ImageSelector/Styles.js +47 -6
  80. package/dist/Editor/common/ImageSelector/UploadStyles.js +18 -6
  81. package/dist/Editor/common/MentionsPopup/Styles.js +109 -122
  82. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +1 -0
  83. package/dist/Editor/common/RnD/GuideLines/styles.js +3 -3
  84. package/dist/Editor/common/RnD/ShadowElement.js +1 -1
  85. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +14 -2
  86. package/dist/Editor/common/RnD/Utils/gridDropItem.js +9 -6
  87. package/dist/Editor/common/RnD/index.js +2 -1
  88. package/dist/Editor/common/Section/index.js +3 -3
  89. package/dist/Editor/common/Section/styles.js +5 -1
  90. package/dist/Editor/common/Shorthands/elements.js +13 -1
  91. package/dist/Editor/common/StyleBuilder/fieldStyle.js +2 -1
  92. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +9 -3
  93. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +27 -3
  94. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -2
  95. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +10 -2
  96. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +2 -1
  97. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +1 -1
  98. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +2 -0
  99. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
  100. package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +79 -0
  101. package/dist/Editor/common/StyleBuilder/fieldTypes/radiusStyle.js +4 -4
  102. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +22 -6
  103. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +21 -2
  104. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +15 -4
  105. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -0
  106. package/dist/Editor/common/StyleBuilder/index.js +17 -9
  107. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +4 -0
  108. package/dist/Editor/common/ToolbarIcon.js +1 -1
  109. package/dist/Editor/common/Uploader.js +46 -36
  110. package/dist/Editor/common/iconListV2.js +348 -130
  111. package/dist/Editor/common/iconslist.js +6 -3
  112. package/dist/Editor/commonStyle.js +290 -4
  113. package/dist/Editor/helper/deserialize/index.js +19 -23
  114. package/dist/Editor/helper/enforceDateFormat.js +41 -0
  115. package/dist/Editor/helper/index.js +16 -3
  116. package/dist/Editor/helper/theme.js +24 -1
  117. package/dist/Editor/hooks/useMouseMove.js +5 -2
  118. package/dist/Editor/hooks/useTable.js +22 -19
  119. package/dist/Editor/plugins/withCustomDeleteBackward.js +33 -2
  120. package/dist/Editor/plugins/withEmbeds.js +30 -26
  121. package/dist/Editor/utils/SlateUtilityFunctions.js +27 -4
  122. package/dist/Editor/utils/button.js +4 -4
  123. package/dist/Editor/utils/dataView.js +43 -0
  124. package/dist/Editor/utils/helper.js +50 -10
  125. package/dist/Editor/utils/pageSettings.js +14 -2
  126. package/package.json +2 -2
@@ -26,7 +26,7 @@ import editorStyles from "./Styles/EditorStyles";
26
26
  import DragAndDrop from "./common/DnD";
27
27
  import Section from "./common/Section";
28
28
  import decorators from "./utils/Decorators";
29
- import { getTRBLBreakPoints } from "./helper/theme";
29
+ import { getBreakpointLineSpacing, getTRBLBreakPoints } from "./helper/theme";
30
30
  import { getInitialValue, handleInsertLastElement, isFreeGrid, isFreeGridFragment, isPageSettings, outsideEditorClickLabel } from "./utils/helper";
31
31
  import useWindowResize from "./hooks/useWindowResize";
32
32
  import PopoverAIInput from "./Elements/AI/PopoverAIInput";
@@ -139,7 +139,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
139
139
  pageColor,
140
140
  color: pageTextColor,
141
141
  pageWidth,
142
- maxWidth: pageMaxWidth
142
+ maxWidth: pageMaxWidth,
143
+ lineHeight
143
144
  } = pageSt?.pageProps || {
144
145
  bannerSpacing: {
145
146
  left: 0,
@@ -307,11 +308,13 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
307
308
  hideTools: updatedHideTools || []
308
309
  }) : [];
309
310
  const handleEditorChange = newValue => {
310
- if (JSON.stringify(newValue) !== JSON.stringify(debouncedValue?.current)) {
311
- updateTopBanner(newValue, setTopBanner);
312
- debounced(newValue);
313
- if (!isInteracted) {
314
- setIsInteracted(true);
311
+ if (!readOnly) {
312
+ if (JSON.stringify(newValue) !== JSON.stringify(debouncedValue?.current)) {
313
+ updateTopBanner(newValue, setTopBanner);
314
+ debounced(newValue);
315
+ if (!isInteracted) {
316
+ setIsInteracted(true);
317
+ }
315
318
  }
316
319
  }
317
320
  };
@@ -330,6 +333,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
330
333
  onDrawerOpen: onDrawerOpen,
331
334
  ICON_API: "https://assets.agenciflow.com"
332
335
  };
336
+ const lineH = getBreakpointLineSpacing(lineHeight, breakpoint);
333
337
  const renderElement = useCallback(props => {
334
338
  return /*#__PURE__*/_jsx(Element, {
335
339
  ...props,
@@ -532,6 +536,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
532
536
  padding: {
533
537
  ...getTRBLBreakPoints(bannerSpacing)
534
538
  },
539
+ lineHeight: lineH,
535
540
  width: !pageWidth || pageWidth === "fixed" ? fixedWidth : fullWidth,
536
541
  height: viewport.h ? `${viewport.h}px` : `100%`,
537
542
  alignSelf: "center",
@@ -589,8 +594,9 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
589
594
  setIsTextSelected: setIsTextSelected,
590
595
  customProps: customProps,
591
596
  editorWrapper: editorWrapper
592
- }) : null, !readOnly && showViewport ? /*#__PURE__*/_jsx(SwitchViewport, {
597
+ }) : null, !readOnly ? /*#__PURE__*/_jsx(SwitchViewport, {
593
598
  breakpoint: breakpoint,
599
+ show: showViewport,
594
600
  onChange: b => onSwitchBreakpoint(b)
595
601
  }) : null]
596
602
  })
@@ -31,7 +31,7 @@ blockquote {
31
31
  border-left: 3px solid transparent;
32
32
  margin-left: 0;
33
33
  margin-right: 0;
34
- padding-left: 10px;
34
+ /* padding-left: 10px; */
35
35
  margin: 0px;
36
36
  }
37
37
 
@@ -149,7 +149,7 @@ blockquote {
149
149
  .grid-item-toolbar button,
150
150
  .element-toolbar button,
151
151
  .element-toolbar a {
152
- border-radius: 10px;
152
+ border-radius: 50%;
153
153
  border: 1px solid rgba(37, 99, 235, 0.32);
154
154
  background: #fff;
155
155
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16);
@@ -225,9 +225,13 @@ blockquote {
225
225
  background-color: #0052cc;
226
226
  padding: 8px 12px;
227
227
  color: #ffffff;
228
- font-weight: bold;
228
+ font-weight: 600;
229
+ font-size: 14px;
229
230
  opacity: 1;
230
231
  border-radius: 32px;
232
+ text-transform: math-auto;
233
+ height: 36px;
234
+ padding: 0px 12px;
231
235
  }
232
236
 
233
237
  .signature-btn-container button:hover {
@@ -358,6 +362,10 @@ blockquote {
358
362
  stroke: #2563eb;
359
363
  }
360
364
 
365
+ .brushIcon:hover {
366
+ background: unset;
367
+ }
368
+
361
369
  .react-datepicker__input-container {
362
370
  display: flex !important;
363
371
  align-items: center;
@@ -491,6 +499,14 @@ blockquote {
491
499
  text-transform: none;
492
500
  }
493
501
 
502
+ .MuiButton-root.primaryBtn:disabled {
503
+ background: #eee !important;
504
+ box-shadow: none !important;
505
+ color: #ccc !important;
506
+ border: 1px solid #ccc !important;
507
+ cursor: not-allowed;
508
+ }
509
+
494
510
  .MuiButton-root.primaryBtn.disabled,
495
511
  .MuiButton-root.secondaryBtn.disabled {
496
512
  background: #eee;
@@ -516,7 +532,7 @@ blockquote {
516
532
  }
517
533
 
518
534
  .deleteBtn {
519
- background: #ffffff;
535
+ background: #d32f2f ;
520
536
  border: 1px solid #d32f2f !important;
521
537
  box-shadow: 0px 8px 24px rgba(30, 64, 175, 0.08);
522
538
  border-radius: 8px !important;
@@ -526,6 +542,7 @@ blockquote {
526
542
  margin-right: 15px !important;
527
543
  color: #d32f2f;
528
544
  width: auto !important;
545
+ text-transform: capitalize !important;
529
546
  }
530
547
 
531
548
  @media (max-width: 480px) {
@@ -663,7 +680,8 @@ blockquote {
663
680
  }
664
681
 
665
682
  .resize-br.img-resizer {
666
- bottom: 8px;
683
+ bottom: 10px;
684
+ right: 5px;
667
685
  }
668
686
 
669
687
  .visible-on-hover {
@@ -1023,11 +1041,11 @@ blockquote {
1023
1041
  width: 200px;
1024
1042
  cursor: pointer;
1025
1043
  color: #464646;
1026
- background-color: #fff;
1044
+ /* background-color: #fff; */
1027
1045
  padding: 4px 6px;
1028
1046
  border-radius: 12px;
1029
1047
  span {
1030
- text-transform: capitalize;
1048
+ text-transform: math-auto;
1031
1049
  }
1032
1050
  @media only screen and (max-width: 599px) {
1033
1051
  background-color: unset;
@@ -1049,7 +1067,7 @@ blockquote {
1049
1067
  }
1050
1068
 
1051
1069
  .textFontArrows .MuiIconButton-root {
1052
- padding: 2px;
1070
+ padding: 0px;
1053
1071
  }
1054
1072
 
1055
1073
  .tools-drawer .MuiTypography-root {
@@ -1236,6 +1254,19 @@ blockquote {
1236
1254
  pointer-events: auto;
1237
1255
  }
1238
1256
 
1257
+ @media (max-width: 899px) {
1258
+ .MuiPopover-root {
1259
+ z-index: 1302 !important;
1260
+ }
1261
+ canvas {
1262
+ max-width: 100% !important;
1263
+ }
1264
+ }
1265
+
1266
+ .settingsHeader {
1267
+ font-size: 14px !important;
1268
+ font-weight: 500 !important;
1269
+ }
1239
1270
  .hideScroll {
1240
1271
  overflow-anchor: none;
1241
1272
  }
@@ -1251,20 +1282,6 @@ blockquote {
1251
1282
  .hideScroll::-webkit-scrollbar-thumb:hover {
1252
1283
  background: none !important;
1253
1284
  }
1254
- @media (max-width: 899px) {
1255
- .MuiPopover-root {
1256
- z-index: 1302 !important;
1257
- }
1258
-
1259
- canvas {
1260
- max-width: 100% !important;
1261
- }
1262
- }
1263
-
1264
- .settingsHeader {
1265
- font-size: 14px !important;
1266
- font-weight: 500 !important;
1267
- }
1268
1285
 
1269
1286
  .custom-scroll::-webkit-scrollbar {
1270
1287
  height: .6rem;
@@ -1284,3 +1301,22 @@ blockquote {
1284
1301
  background: #A7AEC1;
1285
1302
  }
1286
1303
 
1304
+ ::selection {
1305
+ color: inherit;
1306
+ background: rgba(35, 131, 226, 0.35) !important;
1307
+ }
1308
+
1309
+ ::-moz-selection {
1310
+ background: rgba(35, 131, 226, 0.35) !important;
1311
+ color: inherit;
1312
+ }
1313
+
1314
+ ::-webkit-selection {
1315
+ background: rgba(35, 131, 226, 0.35) !important;
1316
+ color: inherit;
1317
+ }
1318
+
1319
+ .gradientFillBtn {
1320
+ background: linear-gradient(112.61deg, #2C63ED 19.3%, #8360FD 88.14%) !important;
1321
+ text-transform: math-auto !important;
1322
+ }
@@ -6,7 +6,8 @@ import { IconButton, Tooltip, Box } from "@mui/material";
6
6
  import DeleteIcon from "@mui/icons-material/Delete";
7
7
  import { GridSettingsIcon } from "../../common/iconslist";
8
8
  import Icon from "../../common/Icon";
9
- import { useEditorSelection } from "../../hooks/useMouseMove";
9
+ import { useEditorContext, useEditorSelection } from "../../hooks/useMouseMove";
10
+ import useCommonStyle from "../../commonStyle";
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
13
  const accordionBtnStyleKeys = {
@@ -78,6 +79,10 @@ const Accordion = props => {
78
79
  textColor,
79
80
  bgColor
80
81
  } = element;
82
+ const {
83
+ theme
84
+ } = useEditorContext();
85
+ const classes = useCommonStyle(theme);
81
86
  const onToggle = () => {
82
87
  setToggle(!toggle);
83
88
  };
@@ -97,6 +102,7 @@ const Accordion = props => {
97
102
  children: /*#__PURE__*/_jsx(IconButton, {
98
103
  size: "small",
99
104
  onClick: onSettings,
105
+ sx: classes.buttonMoreOption,
100
106
  children: /*#__PURE__*/_jsx(GridSettingsIcon, {})
101
107
  })
102
108
  }), /*#__PURE__*/_jsx(Tooltip, {
@@ -105,6 +111,7 @@ const Accordion = props => {
105
111
  children: /*#__PURE__*/_jsx(IconButton, {
106
112
  size: "small",
107
113
  onClick: onDelete,
114
+ sx: classes.buttonMoreOption2,
108
115
  children: /*#__PURE__*/_jsx(DeleteIcon, {})
109
116
  })
110
117
  })]
@@ -250,10 +250,10 @@ function AppHeader(props) {
250
250
  },
251
251
  sx: {
252
252
  mr: 2,
253
- [theme.breakpoints.up("sm")]: {
253
+ [theme?.breakpoints?.up("sm")]: {
254
254
  display: "none"
255
255
  },
256
- [theme.breakpoints.between("xs", "md")]: {
256
+ [theme?.breakpoints.between("xs", "md")]: {
257
257
  display: "block"
258
258
  }
259
259
  },
@@ -272,10 +272,10 @@ function AppHeader(props) {
272
272
  },
273
273
  sx: {
274
274
  flexGrow: 1,
275
- [theme.breakpoints.up("sm")]: {
275
+ [theme?.breakpoints?.up("sm")]: {
276
276
  display: "block"
277
277
  },
278
- [theme.breakpoints.between("xs", "md")]: {
278
+ [theme?.breakpoints?.between("xs", "md")]: {
279
279
  display: "none"
280
280
  },
281
281
  "& img": {
@@ -293,10 +293,10 @@ function AppHeader(props) {
293
293
  }) : null, appTitle]
294
294
  }), /*#__PURE__*/_jsxs(Box, {
295
295
  sx: {
296
- [theme.breakpoints.up("sm")]: {
296
+ [theme?.breakpoints?.up("sm")]: {
297
297
  display: "block"
298
298
  },
299
- [theme.breakpoints.between("xs", "md")]: {
299
+ [theme?.breakpoints?.between("xs", "md")]: {
300
300
  display: "none"
301
301
  }
302
302
  },
@@ -11,6 +11,7 @@ import { handleLinkType, windowVar } from "../../utils/helper";
11
11
  import LinkSettings from "../../common/LinkSettings";
12
12
  import Icon from "../../common/Icon";
13
13
  import { useEditorContext } from "../../hooks/useMouseMove";
14
+ import useCommonStyle from "../../commonStyle";
14
15
  import { jsx as _jsx } from "react/jsx-runtime";
15
16
  import { Fragment as _Fragment } from "react/jsx-runtime";
16
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -36,6 +37,7 @@ const EditorButton = props => {
36
37
  const [edit, setEdit] = useState(false);
37
38
  const [openNav, setOpenNav] = useState(false);
38
39
  const [openMoreOptions, setOpenMoreOptions] = useState(false);
40
+ const classes = useCommonStyle(appTheme);
39
41
  const {
40
42
  label,
41
43
  bgColor,
@@ -136,6 +138,7 @@ const EditorButton = props => {
136
138
  arrow: true,
137
139
  children: /*#__PURE__*/_jsx(IconButton, {
138
140
  onClick: onMenuClick("edit"),
141
+ sx: classes.buttonMoreOption,
139
142
  children: /*#__PURE__*/_jsx(Icon, {
140
143
  icon: "pagesSettings"
141
144
  })
@@ -145,6 +148,7 @@ const EditorButton = props => {
145
148
  arrow: true,
146
149
  children: /*#__PURE__*/_jsx(IconButton, {
147
150
  onClick: onMenuClick("nav"),
151
+ sx: classes.buttonMoreOption,
148
152
  children: /*#__PURE__*/_jsx(Icon, {
149
153
  icon: "link"
150
154
  })
@@ -157,7 +161,9 @@ const EditorButton = props => {
157
161
  sx: {
158
162
  display: "inline-flex",
159
163
  color: "rgba(0, 0, 0, 0.54)",
160
- marginBottom: "0px !important"
164
+ marginBottom: "0px !important",
165
+ ...classes.buttonMoreOption,
166
+ ...classes.buttonMoreOption3
161
167
  },
162
168
  ...btnProps,
163
169
  children: /*#__PURE__*/_jsx(Icon, {
@@ -259,11 +265,12 @@ const EditorButton = props => {
259
265
  ...btnSp,
260
266
  borderStyle: borderStyle || "solid",
261
267
  color: `${textColor || "#FFFFFF"}`,
262
- fontSize: textSize || "inherit",
268
+ fontSize: textSize || "12px",
263
269
  fontFamily: fontFamily || "PoppinsRegular",
264
270
  display: "inline-flex",
265
271
  alignItems: "center",
266
272
  position: "relative",
273
+ lineHeight: 1.43,
267
274
  "& .element-toolbar": {
268
275
  display: "none"
269
276
  },
@@ -109,11 +109,13 @@ const ColorButtons = props => {
109
109
  forMiniTool,
110
110
  openColorTool,
111
111
  onClose,
112
- onColorPickerClick
112
+ onColorPickerClick,
113
+ defaultColors = []
113
114
  } = props;
114
115
  const [row1, ...restRows] = ColorChunks([]);
115
116
  const [anchorEl, setAnchorEl] = useState(null);
116
117
  const open = Boolean(anchorEl);
118
+ const firstRow = defaultColors?.length ? defaultColors : row1;
117
119
  const handleMore = e => {
118
120
  setAnchorEl(e.currentTarget);
119
121
  };
@@ -131,7 +133,7 @@ const ColorButtons = props => {
131
133
  sx: classes.colorButtons,
132
134
  children: [forMiniTool ? null : /*#__PURE__*/_jsx(Box, {
133
135
  className: "buttonsWrpr first",
134
- children: [row1].map((m, i) => {
136
+ children: [firstRow].map((m, i) => {
135
137
  return /*#__PURE__*/_jsx(SingleColorButton, {
136
138
  id: `p1_${id}`,
137
139
  crs: m,
@@ -0,0 +1,124 @@
1
+ import React from "react";
2
+ import { Node, Path, Transforms } from "slate";
3
+ import { ReactEditor, useSlateStatic } from "slate-react";
4
+ import { Box, useTheme } from "@mui/material";
5
+ import { DataViewProvider } from "./Providers/DataViewProvider";
6
+ import useDataViewStyles from "./styles";
7
+ import LayoutView from "./Layouts";
8
+ import FilterView from "./Layouts/FilterView";
9
+ import { insertLineBreakAtEndOfPath } from "../../utils/helper";
10
+ import { useEditorContext } from "../../hooks/useMouseMove";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ import { jsxs as _jsxs } from "react/jsx-runtime";
13
+ const DataView = props => {
14
+ const {
15
+ theme: appTheme
16
+ } = useEditorContext();
17
+ const theme = useTheme();
18
+ const editor = useSlateStatic();
19
+ const {
20
+ attributes,
21
+ children,
22
+ element,
23
+ customProps
24
+ } = props;
25
+ const {
26
+ CHARACTERS,
27
+ readOnly
28
+ } = customProps || {};
29
+ const {
30
+ properties,
31
+ layouts,
32
+ rows,
33
+ title
34
+ } = element;
35
+ const classes = useDataViewStyles(theme, appTheme);
36
+ const path = ReactEditor.findPath(editor, element);
37
+ const users = CHARACTERS?.map(m => {
38
+ const name = [m?.first_name || "", m?.last_name || ""]?.join(" ").trim();
39
+ return {
40
+ value: m?.email,
41
+ name: name || m?.username || m?.email,
42
+ avatar: m?.avatar || null
43
+ };
44
+ });
45
+ const onDuplicate = () => {
46
+ try {
47
+ const newPath = ReactEditor.findPath(editor, element);
48
+ const dataViewNode = Node.get(editor, newPath);
49
+ const cloneNode = JSON.parse(JSON.stringify(dataViewNode));
50
+ const toPath = Path.next(Path.parent(newPath));
51
+ Transforms.insertNodes(editor, [{
52
+ type: "paragraph",
53
+ children: [{
54
+ ...cloneNode
55
+ }]
56
+ }], {
57
+ at: toPath
58
+ });
59
+ } catch (err) {
60
+ console.log(err);
61
+ }
62
+ };
63
+ const onDelete = () => {
64
+ try {
65
+ const newPath = ReactEditor.findPath(editor, element);
66
+ Transforms.removeNodes(editor, {
67
+ at: newPath
68
+ });
69
+ } catch (err) {
70
+ console.log(err);
71
+ }
72
+ };
73
+ const onEnter = () => {
74
+ try {
75
+ const newPath = ReactEditor.findPath(editor, element);
76
+ const toPath = Path.previous(Path.parent(newPath));
77
+ insertLineBreakAtEndOfPath(editor, toPath);
78
+ } catch (err) {
79
+ console.log(err);
80
+ }
81
+ };
82
+ const onTitleChange = value => {
83
+ try {
84
+ Transforms.setNodes(editor, {
85
+ title: value
86
+ }, {
87
+ at: path
88
+ });
89
+ } catch (err) {
90
+ console.log(err);
91
+ }
92
+ };
93
+ return /*#__PURE__*/_jsx(Box, {
94
+ ...attributes,
95
+ className: "fe-dataview",
96
+ sx: classes.root,
97
+ contentEditable: false,
98
+ "data-title": title,
99
+ children: /*#__PURE__*/_jsxs(DataViewProvider, {
100
+ data: {
101
+ properties,
102
+ layouts,
103
+ rows
104
+ },
105
+ path: path,
106
+ editor: editor,
107
+ title: title,
108
+ users: users,
109
+ children: [/*#__PURE__*/_jsx(FilterView, {
110
+ classes: classes,
111
+ onEnter: onEnter,
112
+ onDelete: onDelete,
113
+ onDuplicate: onDuplicate,
114
+ readOnly: readOnly,
115
+ title: title,
116
+ onTitleChange: onTitleChange
117
+ }), /*#__PURE__*/_jsx(LayoutView, {
118
+ readOnly: readOnly,
119
+ children: children
120
+ })]
121
+ })
122
+ });
123
+ };
124
+ export default DataView;
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import ToolbarIcon from "../../common/ToolbarIcon";
3
+ import Icon from "../../common/Icon";
4
+ import { insertDataView } from "../../utils/dataView";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const DataViewButton = props => {
7
+ const {
8
+ editor,
9
+ icoBtnType
10
+ } = props;
11
+ const onClick = () => {
12
+ insertDataView(editor);
13
+ };
14
+ return /*#__PURE__*/_jsx(ToolbarIcon, {
15
+ title: "Dynamic Table",
16
+ onClick: onClick,
17
+ icon: /*#__PURE__*/_jsx(Icon, {
18
+ icon: "dataView"
19
+ }),
20
+ icoBtnType: icoBtnType
21
+ });
22
+ };
23
+ export default DataViewButton;
@@ -0,0 +1,67 @@
1
+ import React, { useEffect, useRef, useState } from "react";
2
+ import { Box, Checkbox, Popper, useTheme } from "@mui/material";
3
+ import CheckBoxTwoToneIcon from "@mui/icons-material/CheckBoxTwoTone";
4
+ import DataTypes from "./DataTypes";
5
+ import useColumnStyles from "./colStyles";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ const ColumnView = props => {
9
+ const theme = useTheme();
10
+ const {
11
+ needAnchor,
12
+ rowIndex,
13
+ row,
14
+ property,
15
+ onSelect,
16
+ selected,
17
+ readOnly
18
+ } = props;
19
+ const DataType = DataTypes[property?.type] || DataTypes["text"];
20
+ const anchorRef = useRef(null);
21
+ const [anchorEl, setAnchorEl] = useState(null);
22
+ const open = Boolean(anchorEl);
23
+ const classes = useColumnStyles(theme);
24
+ useEffect(() => {
25
+ if (anchorRef?.current) {
26
+ setAnchorEl(anchorRef?.current);
27
+ }
28
+ }, [anchorRef?.current]);
29
+ const handleSelect = id => e => {
30
+ onSelect(id, e.target.checked);
31
+ };
32
+ return /*#__PURE__*/_jsxs(Box, {
33
+ component: "td",
34
+ children: [needAnchor ? /*#__PURE__*/_jsx("span", {
35
+ ref: anchorRef,
36
+ style: {
37
+ position: "absolute",
38
+ width: "1px"
39
+ }
40
+ }) : null, /*#__PURE__*/_jsx(DataType, {
41
+ options: property?.options,
42
+ property: property?.key,
43
+ value: row[property?.key] || "",
44
+ rowIndex: rowIndex,
45
+ label: property?.label,
46
+ readOnly: readOnly
47
+ }), needAnchor && !readOnly ? /*#__PURE__*/_jsx(Popper, {
48
+ sx: classes.root,
49
+ open: open,
50
+ anchorEl: anchorEl,
51
+ placement: "left",
52
+ className: `tv-tr-pop ${selected ? "active" : ""}`,
53
+ disablePortal: true,
54
+ children: /*#__PURE__*/_jsx(Checkbox, {
55
+ onClick: handleSelect(row?.id),
56
+ size: "small",
57
+ className: "tv-ck-box",
58
+ sx: {
59
+ mr: 0
60
+ },
61
+ checked: selected,
62
+ checkedIcon: /*#__PURE__*/_jsx(CheckBoxTwoToneIcon, {})
63
+ })
64
+ }) : null]
65
+ });
66
+ };
67
+ export default ColumnView;
@@ -0,0 +1,33 @@
1
+ import React from "react";
2
+ import { useDataView } from "../../Providers/DataViewProvider";
3
+ import Checkbox from "@mui/material/Checkbox";
4
+ import Icon from "../../../../common/Icon";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const CheckType = props => {
7
+ const {
8
+ rowIndex,
9
+ property,
10
+ value,
11
+ readOnly
12
+ } = props;
13
+ const {
14
+ onChange
15
+ } = useDataView();
16
+ const handleChange = e => {
17
+ onChange(rowIndex, {
18
+ [property]: e?.target?.checked
19
+ });
20
+ };
21
+ return /*#__PURE__*/_jsx(Checkbox, {
22
+ checked: value || false,
23
+ icon: /*#__PURE__*/_jsx(Icon, {
24
+ icon: "checkListButton"
25
+ }),
26
+ checkedIcon: /*#__PURE__*/_jsx(Icon, {
27
+ icon: "checkListButtonActive"
28
+ }),
29
+ onChange: handleChange,
30
+ disabled: readOnly
31
+ }, rowIndex);
32
+ };
33
+ export default CheckType;