@flozy/editor 5.5.9 → 5.6.1

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 (212) hide show
  1. package/dist/Editor/ChatEditor.js +25 -34
  2. package/dist/Editor/CommonEditor.js +33 -16
  3. package/dist/Editor/Editor.css +105 -20
  4. package/dist/Editor/Elements/AI/AIInput.js +0 -1
  5. package/dist/Editor/Elements/AI/CustomSelect.js +17 -10
  6. package/dist/Editor/Elements/AI/PopoverAIInput.js +59 -53
  7. package/dist/Editor/Elements/AI/Styles.js +24 -6
  8. package/dist/Editor/Elements/Accordion/Accordion.js +8 -1
  9. package/dist/Editor/Elements/AppHeader/AppHeader.js +6 -6
  10. package/dist/Editor/Elements/Button/EditorButton.js +9 -2
  11. package/dist/Editor/Elements/Carousel/CarouselItem.js +11 -3
  12. package/dist/Editor/Elements/Color Picker/ColorButtons.js +7 -5
  13. package/dist/Editor/Elements/Color Picker/Styles.js +8 -3
  14. package/dist/Editor/Elements/Color Picker/defaultColors.js +2 -2
  15. package/dist/Editor/Elements/DataView/DataView.js +124 -0
  16. package/dist/Editor/Elements/DataView/DataViewButton.js +23 -0
  17. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +83 -0
  18. package/dist/Editor/Elements/DataView/Layouts/DataTypes/CheckType.js +33 -0
  19. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +180 -0
  20. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SimpleSelect.js +62 -0
  21. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +68 -0
  22. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +35 -0
  23. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +39 -0
  24. package/dist/Editor/Elements/DataView/Layouts/DataTypes/NumberType.js +30 -0
  25. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +30 -0
  26. package/dist/Editor/Elements/DataView/Layouts/DataTypes/SelectType.js +35 -0
  27. package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +36 -0
  28. package/dist/Editor/Elements/DataView/Layouts/DataTypes/index.js +17 -0
  29. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseField.js +29 -0
  30. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +38 -0
  31. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +86 -0
  32. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +71 -0
  33. package/dist/Editor/Elements/DataView/Layouts/FilterSort/styles.js +138 -0
  34. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +213 -0
  35. package/dist/Editor/Elements/DataView/Layouts/Formula.js +29 -0
  36. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +113 -0
  37. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +44 -0
  38. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +146 -0
  39. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +79 -0
  40. package/dist/Editor/Elements/DataView/Layouts/Options/ColumnsList.js +57 -0
  41. package/dist/Editor/Elements/DataView/Layouts/Options/Constants.js +101 -0
  42. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +174 -0
  43. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +241 -0
  44. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +45 -0
  45. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +32 -0
  46. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +110 -0
  47. package/dist/Editor/Elements/DataView/Layouts/Options/styles.js +217 -0
  48. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +131 -0
  49. package/dist/Editor/Elements/DataView/Layouts/TableView.js +253 -0
  50. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +85 -0
  51. package/dist/Editor/Elements/DataView/Layouts/colStyles.js +10 -0
  52. package/dist/Editor/Elements/DataView/Layouts/index.js +25 -0
  53. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +277 -0
  54. package/dist/Editor/Elements/DataView/Utils/globalSearch.js +15 -0
  55. package/dist/Editor/Elements/DataView/Utils/multiSortRows.js +88 -0
  56. package/dist/Editor/Elements/DataView/styles.js +169 -0
  57. package/dist/Editor/Elements/Divider/Divider.js +36 -20
  58. package/dist/Editor/Elements/Embed/Image.js +51 -16
  59. package/dist/Editor/Elements/Embed/Video.js +26 -3
  60. package/dist/Editor/Elements/Form/Form.js +39 -2
  61. package/dist/Editor/Elements/Form/FormElements/FormCheckbox.js +7 -1
  62. package/dist/Editor/Elements/Form/FormElements/FormDate.js +7 -1
  63. package/dist/Editor/Elements/Form/FormElements/FormEmail.js +7 -1
  64. package/dist/Editor/Elements/Form/FormElements/FormNumbers.js +7 -1
  65. package/dist/Editor/Elements/Form/FormElements/FormRadioButton.js +7 -1
  66. package/dist/Editor/Elements/Form/FormElements/FormText.js +7 -1
  67. package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +6 -1
  68. package/dist/Editor/Elements/Form/FormPopup.js +12 -9
  69. package/dist/Editor/Elements/Form/Workflow/Styles.js +2 -0
  70. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +1 -1
  71. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +4 -2
  72. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +20 -1
  73. package/dist/Editor/Elements/FreeGrid/breakpointConstants.js +4 -4
  74. package/dist/Editor/Elements/FreeGrid/styles.js +2 -1
  75. package/dist/Editor/Elements/Grid/GridButton.js +2 -2
  76. package/dist/Editor/Elements/Grid/GridItem.js +47 -36
  77. package/dist/Editor/Elements/Grid/Styles.js +50 -0
  78. package/dist/Editor/Elements/Link/LinkButton.js +1 -1
  79. package/dist/Editor/Elements/List/CheckList.js +2 -1
  80. package/dist/Editor/Elements/Search/SearchAttachment.js +1 -0
  81. package/dist/Editor/Elements/Search/SearchButton.js +1 -0
  82. package/dist/Editor/Elements/Signature/Signature.css +1 -1
  83. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -2
  84. package/dist/Editor/Elements/Signature/SignaturePopup.js +17 -52
  85. package/dist/Editor/Elements/SimpleText/index.js +11 -3
  86. package/dist/Editor/Elements/SimpleText/style.js +20 -1
  87. package/dist/Editor/Elements/Table/AddRowCol.js +77 -0
  88. package/dist/Editor/Elements/Table/DragButton.js +142 -0
  89. package/dist/Editor/Elements/Table/DragStyles.js +70 -0
  90. package/dist/Editor/Elements/Table/Draggable.js +25 -0
  91. package/dist/Editor/Elements/Table/Droppable.js +53 -0
  92. package/dist/Editor/Elements/Table/Styles.js +88 -78
  93. package/dist/Editor/Elements/Table/Table.js +263 -140
  94. package/dist/Editor/Elements/Table/TableCell.js +365 -111
  95. package/dist/Editor/Elements/Table/TablePopup.js +9 -3
  96. package/dist/Editor/Elements/Table/TableRow.js +10 -2
  97. package/dist/Editor/Elements/Table/TableTool.js +101 -0
  98. package/dist/Editor/Elements/Table/tableHelper.js +71 -0
  99. package/dist/Editor/Elements/TopBanner/TopBanner.js +2 -1
  100. package/dist/Editor/MiniEditor.js +21 -2
  101. package/dist/Editor/Styles/EditorStyles.js +13 -4
  102. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +10 -0
  103. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +7 -12
  104. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +26 -4
  105. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +3 -0
  106. package/dist/Editor/Toolbar/FormatTools/TextSize.js +5 -5
  107. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +8 -8
  108. package/dist/Editor/Toolbar/Mini/Styles.js +9 -1
  109. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +13 -3
  110. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/InfinityAITool.js +7 -3
  111. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +6 -4
  112. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +19 -15
  113. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +557 -58
  114. package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +1 -1
  115. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +73 -16
  116. package/dist/Editor/Toolbar/PopupTool/index.js +3 -5
  117. package/dist/Editor/Toolbar/Toolbar.js +6 -0
  118. package/dist/Editor/Toolbar/toolbarGroups.js +4 -0
  119. package/dist/Editor/assets/svg/ArrowDownIcon.js +25 -0
  120. package/dist/Editor/assets/svg/ArrowUpIcon.js +25 -0
  121. package/dist/Editor/assets/svg/BrainIcon.js +2 -2
  122. package/dist/Editor/assets/svg/CalenderIconTick.js +64 -0
  123. package/dist/Editor/assets/svg/ChervDown.js +18 -0
  124. package/dist/Editor/assets/svg/ChervUp.js +18 -0
  125. package/dist/Editor/assets/svg/DataTableIcon.js +50 -0
  126. package/dist/Editor/assets/svg/DuplicateIcon.js +23 -0
  127. package/dist/Editor/assets/svg/EyeIcon.js +23 -0
  128. package/dist/Editor/assets/svg/EyeSlash.js +43 -0
  129. package/dist/Editor/assets/svg/HashtagIcon.js +33 -0
  130. package/dist/Editor/assets/svg/PlusIcon.js +23 -0
  131. package/dist/Editor/assets/svg/SelectRoundedIcon.js +24 -0
  132. package/dist/Editor/assets/svg/SettingsIcon.js +4 -4
  133. package/dist/Editor/assets/svg/SortByIcon.js +33 -0
  134. package/dist/Editor/assets/svg/TableIcons.js +220 -0
  135. package/dist/Editor/assets/svg/TickOutlined.js +23 -0
  136. package/dist/Editor/assets/svg/TrashCanIcon.js +38 -0
  137. package/dist/Editor/common/ColorPickerButton.js +85 -45
  138. package/dist/Editor/common/DnD/Draggable.js +2 -1
  139. package/dist/Editor/common/FontLoader/FontLoader.js +6 -6
  140. package/dist/Editor/common/Icon.js +54 -21
  141. package/dist/Editor/common/ImageSelector/Options/Upload.js +2 -1
  142. package/dist/Editor/common/ImageSelector/Styles.js +47 -6
  143. package/dist/Editor/common/ImageSelector/UploadStyles.js +18 -6
  144. package/dist/Editor/common/LinkSettings/NavComponents.js +2 -1
  145. package/dist/Editor/common/LinkSettings/index.js +2 -1
  146. package/dist/Editor/common/MentionsPopup/Styles.js +143 -8
  147. package/dist/Editor/common/MentionsPopup/index.js +1 -1
  148. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +108 -12
  149. package/dist/Editor/common/RnD/GuideLines/styles.js +3 -3
  150. package/dist/Editor/common/RnD/ShadowElement.js +1 -1
  151. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +14 -2
  152. package/dist/Editor/common/RnD/Utils/gridDropItem.js +26 -7
  153. package/dist/Editor/common/RnD/VirtualElement/index.js +5 -1
  154. package/dist/Editor/common/RnD/index.js +4 -3
  155. package/dist/Editor/common/Section/index.js +3 -3
  156. package/dist/Editor/common/Section/styles.js +5 -1
  157. package/dist/Editor/common/Select/index.js +20 -0
  158. package/dist/Editor/common/Select/styles.js +17 -0
  159. package/dist/Editor/common/Shorthands/elements.js +13 -1
  160. package/dist/Editor/common/StyleBuilder/fieldStyle.js +2 -1
  161. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +9 -3
  162. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +35 -7
  163. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -2
  164. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +10 -2
  165. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +2 -1
  166. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +1 -1
  167. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +2 -0
  168. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
  169. package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +79 -0
  170. package/dist/Editor/common/StyleBuilder/fieldTypes/radiusStyle.js +11 -11
  171. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +22 -6
  172. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +21 -2
  173. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +20 -4
  174. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +12 -2
  175. package/dist/Editor/common/StyleBuilder/formStyle.js +268 -149
  176. package/dist/Editor/common/StyleBuilder/index.js +101 -20
  177. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +4 -0
  178. package/dist/Editor/common/StyleBuilder/tableStyle.js +69 -25
  179. package/dist/Editor/common/SwipeableDrawer/style.js +15 -4
  180. package/dist/Editor/common/ToolbarIcon.js +1 -1
  181. package/dist/Editor/common/Uploader.js +46 -36
  182. package/dist/Editor/common/iconListV2.js +598 -74
  183. package/dist/Editor/common/iconslist.js +25 -19
  184. package/dist/Editor/commonStyle.js +421 -15
  185. package/dist/Editor/helper/deserialize/index.js +31 -2
  186. package/dist/Editor/helper/enforceDateFormat.js +41 -0
  187. package/dist/Editor/helper/index.js +17 -4
  188. package/dist/Editor/helper/theme.js +39 -2
  189. package/dist/Editor/hooks/useBreakpoints.js +1 -1
  190. package/dist/Editor/hooks/useMouseMove.js +5 -2
  191. package/dist/Editor/hooks/useTable.js +210 -0
  192. package/dist/Editor/plugins/withCustomDeleteBackward.js +34 -3
  193. package/dist/Editor/plugins/withEmbeds.js +30 -26
  194. package/dist/Editor/plugins/withHTML.js +100 -12
  195. package/dist/Editor/plugins/withLayout.js +1 -0
  196. package/dist/Editor/utils/SlateUtilityFunctions.js +39 -12
  197. package/dist/Editor/utils/brains.js +1 -1
  198. package/dist/Editor/utils/button.js +4 -4
  199. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +75 -6
  200. package/dist/Editor/utils/customHooks/useResize.js +7 -4
  201. package/dist/Editor/utils/customHooks/useTableResize.js +6 -2
  202. package/dist/Editor/utils/dataView.js +43 -0
  203. package/dist/Editor/utils/embed.js +2 -1
  204. package/dist/Editor/utils/events.js +0 -1
  205. package/dist/Editor/utils/font.js +11 -4
  206. package/dist/Editor/utils/formfield.js +8 -4
  207. package/dist/Editor/utils/helper.js +103 -2
  208. package/dist/Editor/utils/insertNewLine.js +19 -1
  209. package/dist/Editor/utils/pageSettings.js +14 -2
  210. package/dist/Editor/utils/serializeToText.js +2 -0
  211. package/dist/Editor/utils/table.js +228 -24
  212. package/package.json +2 -2
@@ -0,0 +1,241 @@
1
+ import React, { useEffect, useRef, useState } from "react";
2
+ import { Box, IconButton, TextField, List, ListItemButton, ListItemText, ListItemIcon, FormControlLabel, Divider } from "@mui/material";
3
+ import { TYPE_ICONS, TYPE_LABELS } from "./Constants";
4
+ import AddOptions from "./AddOptions";
5
+ import FilterProperty from "./FilterProperty";
6
+ import Icon from "../../../../common/Icon";
7
+ import CloseIcon from "@mui/icons-material/Close";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ import { jsxs as _jsxs } from "react/jsx-runtime";
10
+ const EditProperty = props => {
11
+ const {
12
+ classes,
13
+ onClose,
14
+ mode,
15
+ onEvent
16
+ } = props;
17
+ const [edit, setEdit] = useState({
18
+ ...(mode?.edit || {})
19
+ });
20
+ const editData = useRef({
21
+ ...edit
22
+ });
23
+ useEffect(() => {
24
+ return () => {
25
+ // on un-mount update the label
26
+ if (edit?.label !== editData?.current?.label) {
27
+ onEvent("updateProperty", {
28
+ ...editData?.current
29
+ }, false);
30
+ }
31
+ };
32
+ }, []);
33
+ const onChange = key => e => {
34
+ const latest = {
35
+ ...edit,
36
+ [key]: e?.target?.value
37
+ };
38
+ setEdit({
39
+ ...edit,
40
+ [key]: e?.target?.value
41
+ });
42
+ editData.current = {
43
+ ...latest
44
+ };
45
+ };
46
+ const onChangeProperty = () => {
47
+ onEvent("changeProperty", {
48
+ edit: {
49
+ ...edit
50
+ }
51
+ });
52
+ };
53
+ const onBack = () => {
54
+ onEvent("allProperties", {
55
+ edit: null
56
+ });
57
+ };
58
+ const onUpdate = data => {
59
+ const latest = {
60
+ ...edit,
61
+ ...data
62
+ };
63
+ setEdit({
64
+ ...edit,
65
+ ...data
66
+ });
67
+ editData.current = {
68
+ ...latest
69
+ };
70
+ onEvent("updateProperty", {
71
+ ...editData?.current
72
+ });
73
+ };
74
+ const onAction = action => () => {
75
+ switch (action) {
76
+ case "Visibilty":
77
+ onUpdate({
78
+ visible: !edit?.visible
79
+ });
80
+ onEvent("close");
81
+ break;
82
+ case "Duplicate":
83
+ onEvent("addProperty", {
84
+ type: editData?.current?.type,
85
+ overrides: {
86
+ ...editData?.current
87
+ }
88
+ }, false);
89
+ onEvent("close");
90
+ break;
91
+ case "Delete":
92
+ onEvent("deleteProperty", {
93
+ ...editData?.current
94
+ });
95
+ onEvent("close");
96
+ break;
97
+ default:
98
+ return;
99
+ }
100
+ };
101
+ return /*#__PURE__*/_jsxs(Box, {
102
+ sx: classes.addProperty,
103
+ children: [/*#__PURE__*/_jsxs(Box, {
104
+ className: "fe-dv-ap-title",
105
+ children: [/*#__PURE__*/_jsxs("span", {
106
+ children: [/*#__PURE__*/_jsx(IconButton, {
107
+ className: "tv-act-ico",
108
+ size: "small",
109
+ onClick: onBack,
110
+ sx: {
111
+ paddingLeft: '0px',
112
+ '&:hover': {
113
+ background: 'transparent !important'
114
+ },
115
+ '& svg': {
116
+ width: '14px !important',
117
+ height: '14px !important'
118
+ }
119
+ },
120
+ children: /*#__PURE__*/_jsx(Icon, {
121
+ icon: 'leftArrow'
122
+ })
123
+ }), "Edit Property"]
124
+ }), /*#__PURE__*/_jsx(IconButton, {
125
+ className: "tv-act-ico bg br1",
126
+ size: "small",
127
+ onClick: onClose,
128
+ sx: {
129
+ '& svg': {
130
+ '& path': {
131
+ strokeWidth: 0
132
+ }
133
+ }
134
+ },
135
+ children: /*#__PURE__*/_jsx(CloseIcon, {})
136
+ })]
137
+ }), /*#__PURE__*/_jsxs(Box, {
138
+ className: "fe-dv-ap-opt-content",
139
+ children: [/*#__PURE__*/_jsx(FormControlLabel, {
140
+ label: "Field Name",
141
+ labelPlacement: "top",
142
+ sx: {
143
+ '& .MuiFormControl-root': {
144
+ marginBottom: '4px'
145
+ }
146
+ },
147
+ control: /*#__PURE__*/_jsx(TextField, {
148
+ size: "small",
149
+ value: edit?.label,
150
+ onChange: onChange("label"),
151
+ fullWidth: true,
152
+ placeholder: "Field Name"
153
+ })
154
+ }), /*#__PURE__*/_jsx(List, {
155
+ className: "fe-dv-opt-list st",
156
+ children: /*#__PURE__*/_jsxs(ListItemButton, {
157
+ sx: {
158
+ paddingBottom: '12px'
159
+ },
160
+ onClick: onChangeProperty,
161
+ children: [/*#__PURE__*/_jsx(ListItemText, {
162
+ children: "Type"
163
+ }), /*#__PURE__*/_jsxs(ListItemIcon, {
164
+ sx: {
165
+ display: 'flex',
166
+ alignItems: "center",
167
+ gap: 1
168
+ },
169
+ children: [/*#__PURE__*/_jsx(Box, {
170
+ sx: {
171
+ background: "#64748B1F",
172
+ borderRadius: '4px',
173
+ display: 'flex',
174
+ alignItems: 'center',
175
+ padding: '2px',
176
+ '& svg': {
177
+ width: '16px',
178
+ height: '16px'
179
+ }
180
+ },
181
+ children: /*#__PURE__*/_jsx(Icon, {
182
+ icon: `${TYPE_ICONS[edit?.type]}`
183
+ })
184
+ }), /*#__PURE__*/_jsx("span", {
185
+ className: "label-tp",
186
+ children: TYPE_LABELS[edit?.type]
187
+ }), /*#__PURE__*/_jsx(Icon, {
188
+ icon: 'rightArrow'
189
+ })]
190
+ })]
191
+ })
192
+ }), /*#__PURE__*/_jsx(Divider, {
193
+ className: "divider_sty"
194
+ }), /*#__PURE__*/_jsx(AddOptions, {
195
+ edit: edit,
196
+ onUpdate: onUpdate,
197
+ onEvent: onEvent
198
+ }), /*#__PURE__*/_jsx(FilterProperty, {
199
+ edit: edit,
200
+ onUpdate: onUpdate,
201
+ onEvent: onEvent
202
+ }), /*#__PURE__*/_jsxs(List, {
203
+ className: "fe-dv-opt-list",
204
+ children: [/*#__PURE__*/_jsxs(ListItemButton, {
205
+ onClick: onAction("Visibilty"),
206
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
207
+ children: edit?.visible ? /*#__PURE__*/_jsx(Icon, {
208
+ icon: 'eyeSlash'
209
+ }) : /*#__PURE__*/_jsx(Icon, {
210
+ icon: 'eyeIcon'
211
+ })
212
+ }), /*#__PURE__*/_jsxs(ListItemText, {
213
+ children: [edit?.visible ? "Hide" : "Show", " in View"]
214
+ })]
215
+ }), /*#__PURE__*/_jsxs(ListItemButton, {
216
+ onClick: onAction("Duplicate"),
217
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
218
+ children: /*#__PURE__*/_jsx(Icon, {
219
+ icon: 'duplicateIcon'
220
+ })
221
+ }), /*#__PURE__*/_jsx(ListItemText, {
222
+ children: "Duplicate Property"
223
+ })]
224
+ }), /*#__PURE__*/_jsxs(ListItemButton, {
225
+ onClick: onAction("Delete"),
226
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
227
+ children: /*#__PURE__*/_jsx(Icon, {
228
+ icon: 'trashIcon'
229
+ })
230
+ }), /*#__PURE__*/_jsx(ListItemText, {
231
+ children: "Delete Property"
232
+ })]
233
+ })]
234
+ })]
235
+ })]
236
+ });
237
+ };
238
+ EditProperty.defaultProps = {
239
+ onEvent: () => {}
240
+ };
241
+ export default EditProperty;
@@ -0,0 +1,45 @@
1
+ import React from "react";
2
+ import { List, ListItemButton, ListItemText, ListItemIcon } from "@mui/material";
3
+ import { FILTER_TYPES } from "./Constants";
4
+ import { useDataView } from "../../Providers/DataViewProvider";
5
+ import Icon from "../../../../common/Icon";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ const FilterProperty = props => {
9
+ const {
10
+ sort
11
+ } = useDataView();
12
+ const {
13
+ edit,
14
+ onEvent
15
+ } = props;
16
+ const handleChangeOption = m => () => {
17
+ onEvent("addSort", {
18
+ key: edit?.key,
19
+ ...(sort[0] || {}),
20
+ newKey: edit?.key,
21
+ operator: m?.operator
22
+ });
23
+ };
24
+ return /*#__PURE__*/_jsx(List, {
25
+ className: "fe-dv-opt-list mt",
26
+ children: FILTER_TYPES?.map(({
27
+ ...m
28
+ }, i) => {
29
+ return /*#__PURE__*/_jsxs(ListItemButton, {
30
+ onClick: handleChangeOption(m),
31
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
32
+ children: /*#__PURE__*/_jsx(Icon, {
33
+ icon: m?.Icon
34
+ })
35
+ }), /*#__PURE__*/_jsx(ListItemText, {
36
+ primary: m.label
37
+ })]
38
+ }, i);
39
+ })
40
+ });
41
+ };
42
+ FilterProperty.defaultProps = {
43
+ onEvent: () => {}
44
+ };
45
+ export default FilterProperty;
@@ -0,0 +1,32 @@
1
+ import React from "react";
2
+ import { List, ListItemButton, ListItemIcon, ListItemText } from "@mui/material";
3
+ import { PROPERTY_TYPES } from "./Constants";
4
+ import Icon from "../../../../common/Icon";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ import { jsxs as _jsxs } from "react/jsx-runtime";
7
+ const PropertyList = props => {
8
+ const {
9
+ onSelect,
10
+ selected
11
+ } = props;
12
+ return /*#__PURE__*/_jsx(List, {
13
+ children: PROPERTY_TYPES?.map(({
14
+ ...rest
15
+ }, i) => {
16
+ return /*#__PURE__*/_jsxs(ListItemButton, {
17
+ className: selected?.type === rest?.type ? "active" : "",
18
+ onClick: onSelect(rest),
19
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
20
+ className: "needBg",
21
+ children: /*#__PURE__*/_jsx(Icon, {
22
+ icon: rest?.Icon
23
+ })
24
+ }), /*#__PURE__*/_jsx(ListItemText, {
25
+ primary: rest?.label
26
+ })]
27
+ }, i);
28
+ })
29
+ });
30
+ };
31
+ PropertyList.defaultProps = {};
32
+ export default PropertyList;
@@ -0,0 +1,110 @@
1
+ import React from "react";
2
+ import { Popover, SwipeableDrawer } from "@mui/material";
3
+ import useOptionsStyles from "./styles";
4
+ import AddProperty from "./AddProperty";
5
+ import EditProperty from "./EditProperty";
6
+ import ChangeProperty from "./ChangeProperty";
7
+ import AllProperties from "./AllProperties";
8
+ import EditOption from "./EditOption";
9
+ import { useTheme } from "@emotion/react";
10
+ import { useEditorContext } from "../../../../hooks/useMouseMove";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ const POSITIONS = {
13
+ addProperty: {
14
+ anchorOrigin: {
15
+ vertical: "bottom",
16
+ horizontal: "right"
17
+ },
18
+ transformOrigin: {
19
+ vertical: "top",
20
+ horizontal: "right"
21
+ }
22
+ },
23
+ allProperties: {
24
+ anchorOrigin: {
25
+ vertical: "bottom",
26
+ horizontal: "right"
27
+ },
28
+ transformOrigin: {
29
+ vertical: "top",
30
+ horizontal: "right"
31
+ }
32
+ }
33
+ };
34
+ const PropertySettings = props => {
35
+ const {
36
+ theme: appTheme
37
+ } = useEditorContext();
38
+ const theme = useTheme();
39
+ const {
40
+ open,
41
+ anchorEl,
42
+ mode,
43
+ onClose,
44
+ onEvent
45
+ } = props;
46
+ const classes = useOptionsStyles(theme, appTheme);
47
+ const isMobile = window.matchMedia("(max-width: 899px)")?.matches || false;
48
+ const PoperComponent = isMobile ? SwipeableDrawer : Popover;
49
+ const renderMode = () => {
50
+ switch (mode?.type) {
51
+ case "addProperty":
52
+ return /*#__PURE__*/_jsx(AddProperty, {
53
+ classes: classes,
54
+ onClose: onClose,
55
+ onEvent: onEvent,
56
+ mode: mode
57
+ });
58
+ case "editProperty":
59
+ return /*#__PURE__*/_jsx(EditProperty, {
60
+ classes: classes,
61
+ onClose: onClose,
62
+ onEvent: onEvent,
63
+ mode: mode
64
+ });
65
+ case "changeProperty":
66
+ return /*#__PURE__*/_jsx(ChangeProperty, {
67
+ classes: classes,
68
+ onClose: onClose,
69
+ onEvent: onEvent,
70
+ mode: mode
71
+ });
72
+ case "allProperties":
73
+ return /*#__PURE__*/_jsx(AllProperties, {
74
+ classes: classes,
75
+ onClose: onClose,
76
+ onEvent: onEvent,
77
+ mode: mode
78
+ });
79
+ case "editOption":
80
+ return /*#__PURE__*/_jsx(EditOption, {
81
+ classes: classes,
82
+ onClose: onClose,
83
+ onEvent: onEvent,
84
+ mode: mode
85
+ });
86
+ default:
87
+ return null;
88
+ }
89
+ };
90
+ return /*#__PURE__*/_jsx(PoperComponent, {
91
+ open: open,
92
+ anchorEl: anchorEl,
93
+ anchorOrigin: {
94
+ vertical: "top",
95
+ horizontal: "right"
96
+ },
97
+ transformOrigin: {
98
+ vertical: "top",
99
+ horizontal: "right"
100
+ },
101
+ onClose: onClose,
102
+ anchor: "bottom",
103
+ sx: classes.popover
104
+ // override position
105
+ ,
106
+ ...(POSITIONS[mode?.type] || {}),
107
+ children: renderMode()
108
+ });
109
+ };
110
+ export default PropertySettings;
@@ -0,0 +1,217 @@
1
+ const useOptionsStyles = (theme, appTheme) => ({
2
+ popover: {
3
+ "& .MuiPaper-root": {
4
+ boxShadow: "0px 4px 10px 0px rgba(0, 0, 0, 0.16)",
5
+ border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
6
+ borderRadius: "20px !important",
7
+ background: appTheme?.palette?.editor?.tv_pop_bg,
8
+ fontFamily: 'Inter !important',
9
+ color: appTheme?.palette?.editor?.tv_text_primary,
10
+ [theme?.breakpoints?.between("xs", "md")]: {
11
+ borderRadius: "16px 16px 0px 0px",
12
+ maxHeight: "50%"
13
+ },
14
+ "& .tv-act-ico": {
15
+ color: appTheme?.palette?.editor?.tv_text,
16
+ "&.br1": {
17
+ borderRadius: "6px"
18
+ },
19
+ "&.bg": {
20
+ background: appTheme?.palette?.editor?.tv_ico_bg,
21
+ "&:hover": {
22
+ background: "rgba(100, 116, 139, 0.12)"
23
+ }
24
+ },
25
+ "& svg": {
26
+ width: "16px",
27
+ height: "16px",
28
+ '& path': {
29
+ stroke: appTheme?.palette?.editor?.closeButtonSvgStroke
30
+ }
31
+ }
32
+ },
33
+ "& .MuiInputBase-root": {
34
+ color: appTheme?.palette?.editor?.tv_text_primary,
35
+ fontSize: "14px",
36
+ // background: appTheme?.palette?.editor?.tv_input_bg,
37
+ background: 'transparent',
38
+ borderRadius: "8px",
39
+ boxShadow: '0px 4px 18px 0px #0000000D'
40
+ },
41
+ '& .MuiInputBase-input': {
42
+ padding: '0px 12px',
43
+ height: '34px'
44
+ },
45
+ "& .MuiOutlinedInput-notchedOutline": {
46
+ borderRadius: "8px",
47
+ border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
48
+ background: 'transparent'
49
+ },
50
+ "& .MuiList-root": {
51
+ padding: "4px 2px",
52
+ fontFamily: 'Inter',
53
+ "& .MuiListItemButton-root": {
54
+ color: appTheme?.palette?.editor?.tv_text_primary,
55
+ padding: "2px 4px",
56
+ borderRadius: "8px",
57
+ "& .MuiListItemIcon-root": {
58
+ minWidth: "26px",
59
+ "&.needBg": {
60
+ minWidth: "20px",
61
+ width: "20px",
62
+ height: "20px",
63
+ alignItems: "center",
64
+ justifyContent: "center",
65
+ borderRadius: "4px",
66
+ marginRight: "12px",
67
+ background: appTheme?.palette?.editor?.tv_ico_bg
68
+ },
69
+ color: `${appTheme?.palette?.editor?.tv_text} !important`,
70
+ "& svg": {
71
+ // width: "16px",
72
+ '& path': {
73
+ stroke: appTheme?.palette?.editor?.closeButtonSvgStroke
74
+ }
75
+ }
76
+ },
77
+ "& .MuiTypography-root": {
78
+ fontSize: "14px",
79
+ fontFamily: 'Inter'
80
+ },
81
+ "&:hover": {
82
+ background: appTheme?.palette?.editor?.tv_hover_bg,
83
+ color: `${appTheme?.palette?.editor?.tv_hover_text} !important`,
84
+ "& .MuiListItemIcon-root": {
85
+ color: `${appTheme?.palette?.editor?.tv_hover_text} !important`,
86
+ "& svg": {
87
+ color: `${appTheme?.palette?.editor?.tv_hover_text} !important`,
88
+ '& path': {
89
+ stroke: `${appTheme?.palette?.editor?.tv_hover_text} !important`
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ },
96
+ "& .st": {
97
+ borderTop: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
98
+ marginTop: "8px",
99
+ paddingTop: "8px"
100
+ },
101
+ "& .sb": {
102
+ borderBottom: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
103
+ marginBottom: "8px",
104
+ // paddingBottom: "8px",
105
+ paddingBottom: "0px"
106
+ },
107
+ "& .mt": {
108
+ marginTop: "8px"
109
+ },
110
+ "& .mt-1": {
111
+ marginTop: "12px"
112
+ },
113
+ "& .mb": {
114
+ marginBottom: "8px"
115
+ },
116
+ "& .mb-1": {
117
+ marginBottom: "12px"
118
+ },
119
+ "& .ml": {
120
+ marginLeft: "8px"
121
+ },
122
+ "& .mb-0": {
123
+ marginBottom: "0px"
124
+ },
125
+ "& .ml-0": {
126
+ marginLeft: "0px !important"
127
+ },
128
+ "& .pl-0": {
129
+ paddingLeft: "0px"
130
+ },
131
+ "& .label-desc": {},
132
+ "& .MuiFormControlLabel-root": {
133
+ alignItems: "flex-start",
134
+ margin: "0px 0px 0px 0px",
135
+ width: "100%",
136
+ "& .MuiFormControlLabel-label": {
137
+ marginBottom: "8px",
138
+ fontSize: "14px"
139
+ }
140
+ },
141
+ "& .label-tp": {
142
+ fontFamily: '"Roboto","Helvetica","Arial",sans-serif',
143
+ fontSize: "14px"
144
+ },
145
+ // "& .MuiInputBase-input": {
146
+ // height: "32px",
147
+ // padding: "4px 8px",
148
+ // },
149
+ "& .more-btn-cbs": {
150
+ color: appTheme?.palette?.editor?.tv_text_primary
151
+ }
152
+ }
153
+ },
154
+ addProperty: {
155
+ padding: "12px",
156
+ width: "253px",
157
+ "& .divider_sty": {
158
+ borderBottom: `1px solid ${appTheme?.palette?.editor?.tv_border}`
159
+ },
160
+ "& .fe-dv-ap-title": {
161
+ display: "flex",
162
+ fontWeight: "600",
163
+ fontFamily: 'Inter',
164
+ padding: "0px 0px 12px 0px",
165
+ justifyContent: "space-between",
166
+ fontSize: "14px",
167
+ alignItems: "center",
168
+ borderBottom: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
169
+ marginBottom: "8px",
170
+ "& span": {
171
+ display: "flex",
172
+ alignItems: "center",
173
+ fontFamily: 'Inter'
174
+ }
175
+ },
176
+ "& .fe-dv-ap-desc": {
177
+ fontSize: "12px",
178
+ color: "rgba(148, 163, 184, 1)"
179
+ },
180
+ "& .fe-dv-ap-opt-list": {
181
+ margin: "12px 0px"
182
+ },
183
+ "& .fe-tv-addopt": {
184
+ marginTop: "8px",
185
+ paddingLeft: "4px",
186
+ "& .MuiList-root": {
187
+ maxHeight: "200px",
188
+ overflowY: "auto"
189
+ },
190
+ "& .MuiFormHelperText-root": {
191
+ color: "red",
192
+ marginLeft: "2px",
193
+ marginTop: "4px"
194
+ },
195
+ '& svg': {
196
+ '& path': {
197
+ stroke: appTheme?.palette?.editor?.closeButtonSvgStroke
198
+ }
199
+ }
200
+ },
201
+ "& .fe-tv-opt-sub-title": {
202
+ display: "flex",
203
+ alignItems: "center",
204
+ justifyContent: "space-between",
205
+ marginBottom: "8px"
206
+ },
207
+ "& .more-btn-cbs": {
208
+ color: `${appTheme?.palette?.editor?.closeButtonSvgStroke}`,
209
+ border: `1.5px solid ${appTheme?.palette?.editor?.closeButtonSvgStroke}`,
210
+ paddingTop: "10px"
211
+ },
212
+ [theme?.breakpoints?.between("xs", "md")]: {
213
+ width: "100%"
214
+ }
215
+ }
216
+ });
217
+ export default useOptionsStyles;