@flozy/editor 5.4.1 → 5.4.2

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 (192) hide show
  1. package/dist/Editor/ChatEditor.js +25 -34
  2. package/dist/Editor/CommonEditor.js +29 -15
  3. package/dist/Editor/Editor.css +100 -18
  4. package/dist/Editor/Elements/AI/AIInput.js +0 -1
  5. package/dist/Editor/Elements/AI/CustomSelect.js +19 -11
  6. package/dist/Editor/Elements/AI/PopoverAIInput.js +58 -52
  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 +7 -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 +67 -0
  18. package/dist/Editor/Elements/DataView/Layouts/DataTypes/CheckType.js +33 -0
  19. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +162 -0
  20. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SimpleSelect.js +40 -0
  21. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +67 -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 +74 -0
  32. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +64 -0
  33. package/dist/Editor/Elements/DataView/Layouts/FilterSort/styles.js +106 -0
  34. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +174 -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 +37 -0
  38. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +111 -0
  39. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +60 -0
  40. package/dist/Editor/Elements/DataView/Layouts/Options/ColumnsList.js +36 -0
  41. package/dist/Editor/Elements/DataView/Layouts/Options/Constants.js +101 -0
  42. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +160 -0
  43. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +190 -0
  44. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +42 -0
  45. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +30 -0
  46. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +110 -0
  47. package/dist/Editor/Elements/DataView/Layouts/Options/styles.js +179 -0
  48. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +112 -0
  49. package/dist/Editor/Elements/DataView/Layouts/TableView.js +227 -0
  50. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +80 -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 +281 -0
  54. package/dist/Editor/Elements/DataView/Utils/globalSearch.js +15 -0
  55. package/dist/Editor/Elements/DataView/Utils/multiSortRows.js +74 -0
  56. package/dist/Editor/Elements/DataView/styles.js +154 -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/FreeGrid/FreeGrid.js +1 -1
  70. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +20 -1
  71. package/dist/Editor/Elements/FreeGrid/breakpointConstants.js +4 -4
  72. package/dist/Editor/Elements/FreeGrid/styles.js +2 -1
  73. package/dist/Editor/Elements/Grid/GridButton.js +2 -2
  74. package/dist/Editor/Elements/Grid/GridItem.js +47 -36
  75. package/dist/Editor/Elements/Grid/Styles.js +50 -0
  76. package/dist/Editor/Elements/Link/LinkButton.js +1 -1
  77. package/dist/Editor/Elements/List/CheckList.js +2 -1
  78. package/dist/Editor/Elements/Search/SearchAttachment.js +1 -0
  79. package/dist/Editor/Elements/Search/SearchButton.js +1 -0
  80. package/dist/Editor/Elements/Signature/Signature.css +1 -1
  81. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -2
  82. package/dist/Editor/Elements/Signature/SignaturePopup.js +17 -52
  83. package/dist/Editor/Elements/SimpleText/index.js +8 -1
  84. package/dist/Editor/Elements/SimpleText/style.js +20 -1
  85. package/dist/Editor/Elements/Table/AddRowCol.js +77 -0
  86. package/dist/Editor/Elements/Table/DragButton.js +142 -0
  87. package/dist/Editor/Elements/Table/DragStyles.js +70 -0
  88. package/dist/Editor/Elements/Table/Draggable.js +25 -0
  89. package/dist/Editor/Elements/Table/Droppable.js +53 -0
  90. package/dist/Editor/Elements/Table/Styles.js +82 -79
  91. package/dist/Editor/Elements/Table/Table.js +258 -140
  92. package/dist/Editor/Elements/Table/TableCell.js +365 -111
  93. package/dist/Editor/Elements/Table/TablePopup.js +9 -3
  94. package/dist/Editor/Elements/Table/TableRow.js +10 -2
  95. package/dist/Editor/Elements/Table/TableTool.js +101 -0
  96. package/dist/Editor/Elements/Table/tableHelper.js +71 -0
  97. package/dist/Editor/Elements/TopBanner/TopBanner.js +2 -1
  98. package/dist/Editor/MiniEditor.js +15 -1
  99. package/dist/Editor/Styles/EditorStyles.js +13 -4
  100. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +10 -0
  101. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +7 -12
  102. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +26 -4
  103. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +3 -0
  104. package/dist/Editor/Toolbar/FormatTools/TextSize.js +5 -5
  105. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +3 -6
  106. package/dist/Editor/Toolbar/Mini/Styles.js +4 -1
  107. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/InfinityAITool.js +7 -3
  108. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +6 -4
  109. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +19 -15
  110. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +555 -57
  111. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +73 -16
  112. package/dist/Editor/Toolbar/PopupTool/index.js +3 -5
  113. package/dist/Editor/Toolbar/Toolbar.js +6 -0
  114. package/dist/Editor/Toolbar/toolbarGroups.js +4 -0
  115. package/dist/Editor/assets/svg/BrainIcon.js +2 -2
  116. package/dist/Editor/assets/svg/SettingsIcon.js +4 -4
  117. package/dist/Editor/assets/svg/TableIcons.js +220 -0
  118. package/dist/Editor/common/ColorPickerButton.js +85 -45
  119. package/dist/Editor/common/DnD/Draggable.js +2 -1
  120. package/dist/Editor/common/FontLoader/FontLoader.js +4 -4
  121. package/dist/Editor/common/Icon.js +23 -20
  122. package/dist/Editor/common/ImageSelector/Options/Upload.js +2 -1
  123. package/dist/Editor/common/ImageSelector/Styles.js +47 -6
  124. package/dist/Editor/common/ImageSelector/UploadStyles.js +18 -6
  125. package/dist/Editor/common/LinkSettings/NavComponents.js +2 -1
  126. package/dist/Editor/common/LinkSettings/index.js +2 -1
  127. package/dist/Editor/common/MentionsPopup/Styles.js +143 -8
  128. package/dist/Editor/common/MentionsPopup/index.js +1 -1
  129. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +108 -12
  130. package/dist/Editor/common/RnD/GuideLines/styles.js +3 -3
  131. package/dist/Editor/common/RnD/ShadowElement.js +1 -1
  132. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +14 -2
  133. package/dist/Editor/common/RnD/Utils/gridDropItem.js +9 -6
  134. package/dist/Editor/common/RnD/VirtualElement/index.js +5 -1
  135. package/dist/Editor/common/RnD/index.js +3 -2
  136. package/dist/Editor/common/Section/index.js +3 -3
  137. package/dist/Editor/common/Section/styles.js +5 -1
  138. package/dist/Editor/common/Select/index.js +20 -0
  139. package/dist/Editor/common/Select/styles.js +17 -0
  140. package/dist/Editor/common/Shorthands/elements.js +13 -1
  141. package/dist/Editor/common/StyleBuilder/fieldStyle.js +2 -1
  142. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +9 -3
  143. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +35 -7
  144. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -2
  145. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +10 -2
  146. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +2 -1
  147. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +1 -1
  148. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +2 -0
  149. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
  150. package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +79 -0
  151. package/dist/Editor/common/StyleBuilder/fieldTypes/radiusStyle.js +11 -11
  152. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +22 -6
  153. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +21 -2
  154. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +20 -4
  155. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +12 -2
  156. package/dist/Editor/common/StyleBuilder/formStyle.js +268 -149
  157. package/dist/Editor/common/StyleBuilder/index.js +101 -20
  158. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +4 -0
  159. package/dist/Editor/common/StyleBuilder/tableStyle.js +69 -25
  160. package/dist/Editor/common/SwipeableDrawer/style.js +15 -4
  161. package/dist/Editor/common/ToolbarIcon.js +1 -1
  162. package/dist/Editor/common/Uploader.js +46 -36
  163. package/dist/Editor/common/iconListV2.js +616 -60
  164. package/dist/Editor/common/iconslist.js +23 -17
  165. package/dist/Editor/commonStyle.js +417 -11
  166. package/dist/Editor/helper/deserialize/index.js +25 -13
  167. package/dist/Editor/helper/enforceDateFormat.js +41 -0
  168. package/dist/Editor/helper/index.js +17 -4
  169. package/dist/Editor/helper/theme.js +24 -1
  170. package/dist/Editor/hooks/useMouseMove.js +5 -2
  171. package/dist/Editor/hooks/useTable.js +210 -0
  172. package/dist/Editor/plugins/withCustomDeleteBackward.js +36 -4
  173. package/dist/Editor/plugins/withEmbeds.js +30 -26
  174. package/dist/Editor/plugins/withHTML.js +61 -10
  175. package/dist/Editor/plugins/withLayout.js +1 -0
  176. package/dist/Editor/utils/SlateUtilityFunctions.js +39 -12
  177. package/dist/Editor/utils/brains.js +1 -1
  178. package/dist/Editor/utils/button.js +4 -4
  179. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +26 -1
  180. package/dist/Editor/utils/customHooks/useResize.js +7 -4
  181. package/dist/Editor/utils/customHooks/useTableResize.js +6 -2
  182. package/dist/Editor/utils/dataView.js +43 -0
  183. package/dist/Editor/utils/embed.js +2 -1
  184. package/dist/Editor/utils/events.js +0 -1
  185. package/dist/Editor/utils/font.js +11 -4
  186. package/dist/Editor/utils/formfield.js +8 -4
  187. package/dist/Editor/utils/helper.js +103 -2
  188. package/dist/Editor/utils/insertNewLine.js +19 -1
  189. package/dist/Editor/utils/pageSettings.js +14 -2
  190. package/dist/Editor/utils/serializeToText.js +2 -0
  191. package/dist/Editor/utils/table.js +228 -24
  192. package/package.json +2 -2
@@ -0,0 +1,111 @@
1
+ import React from "react";
2
+ import { Box, IconButton, List, ListItemButton, ListItemText, ListItemIcon } from "@mui/material";
3
+ import CloseIcon from "@mui/icons-material/Close";
4
+ import KeyboardArrowRightIcon from "@mui/icons-material/KeyboardArrowRight";
5
+ import AddIcon from "@mui/icons-material/Add";
6
+ import { TYPE_LABELS, PROPERTY_TYPES } from "./Constants";
7
+ import { useDataView } from "../../Providers/DataViewProvider";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ import { jsxs as _jsxs } from "react/jsx-runtime";
10
+ import { Fragment as _Fragment } from "react/jsx-runtime";
11
+ const AllProperties = props => {
12
+ const {
13
+ classes,
14
+ onClose,
15
+ onEvent
16
+ } = props;
17
+ const {
18
+ properties,
19
+ onAddProperty
20
+ } = useDataView();
21
+ const shownProperties = properties?.filter(f => f.visible === true);
22
+ const hiddenProperties = properties?.filter(f => f.visible === false);
23
+ const onEditProperty = data => () => {
24
+ onEvent("editProperty", {
25
+ edit: {
26
+ ...data
27
+ }
28
+ });
29
+ };
30
+ const onAdd = () => {
31
+ const np = onAddProperty({
32
+ type: "text"
33
+ });
34
+ onEvent("editProperty", {
35
+ edit: {
36
+ ...np
37
+ }
38
+ });
39
+ };
40
+ return /*#__PURE__*/_jsxs(Box, {
41
+ sx: classes.addProperty,
42
+ children: [/*#__PURE__*/_jsxs(Box, {
43
+ className: "fe-dv-ap-title",
44
+ children: ["Properties", /*#__PURE__*/_jsx(IconButton, {
45
+ className: "tv-act-ico bg br1",
46
+ size: "small",
47
+ onClick: onClose,
48
+ children: /*#__PURE__*/_jsx(CloseIcon, {})
49
+ })]
50
+ }), /*#__PURE__*/_jsx(Box, {
51
+ className: "fe-dv-ap-desc",
52
+ children: "Displayed Properties"
53
+ }), /*#__PURE__*/_jsxs(Box, {
54
+ className: "fe-dv-ap-opt-content",
55
+ children: [/*#__PURE__*/_jsx(List, {
56
+ className: "fe-dv-opt-list",
57
+ children: shownProperties?.map((m, i) => {
58
+ const {
59
+ Icon
60
+ } = PROPERTY_TYPES?.find(f => f.type === m.type) || {};
61
+ return /*#__PURE__*/_jsxs(ListItemButton, {
62
+ onClick: onEditProperty(m),
63
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
64
+ className: "needBg",
65
+ children: /*#__PURE__*/_jsx(Icon, {})
66
+ }), /*#__PURE__*/_jsx(ListItemText, {
67
+ children: m?.label
68
+ }), /*#__PURE__*/_jsx(ListItemIcon, {
69
+ sx: {
70
+ justifyContent: "end"
71
+ },
72
+ children: /*#__PURE__*/_jsx(KeyboardArrowRightIcon, {})
73
+ })]
74
+ }, i);
75
+ })
76
+ }), hiddenProperties?.length > 0 ? /*#__PURE__*/_jsxs(_Fragment, {
77
+ children: [/*#__PURE__*/_jsx(Box, {
78
+ className: "fe-dv-ap-desc",
79
+ children: "Hidden Properties"
80
+ }), /*#__PURE__*/_jsx(List, {
81
+ className: "fe-dv-opt-list",
82
+ children: hiddenProperties?.map((m, i) => {
83
+ return /*#__PURE__*/_jsxs(ListItemButton, {
84
+ onClick: onEditProperty(m),
85
+ children: [/*#__PURE__*/_jsx(ListItemText, {
86
+ children: m?.label
87
+ }), /*#__PURE__*/_jsxs(ListItemIcon, {
88
+ sx: {
89
+ alignItems: "center"
90
+ },
91
+ children: [TYPE_LABELS[m?.type], /*#__PURE__*/_jsx(KeyboardArrowRightIcon, {})]
92
+ })]
93
+ }, i);
94
+ })
95
+ })]
96
+ }) : null, /*#__PURE__*/_jsx(List, {
97
+ className: "fe-dv-opt-list",
98
+ children: /*#__PURE__*/_jsxs(ListItemButton, {
99
+ onClick: onAdd,
100
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
101
+ children: /*#__PURE__*/_jsx(AddIcon, {})
102
+ }), /*#__PURE__*/_jsx(ListItemText, {
103
+ children: "Add New Property"
104
+ })]
105
+ })
106
+ })]
107
+ })]
108
+ });
109
+ };
110
+ AllProperties.defaultProps = {};
111
+ export default AllProperties;
@@ -0,0 +1,60 @@
1
+ import React from "react";
2
+ import { Box, IconButton } from "@mui/material";
3
+ import CloseIcon from "@mui/icons-material/Close";
4
+ import PropertyList from "./PropertyList";
5
+ import ArrowBackIcon from "@mui/icons-material/ArrowBack";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ const ChangeProperty = props => {
9
+ const {
10
+ classes,
11
+ onClose,
12
+ onEvent,
13
+ mode
14
+ } = props;
15
+ const onSelect = property => () => {
16
+ onEvent("updateProperty", {
17
+ ...(mode?.edit || {}),
18
+ type: property?.type
19
+ });
20
+ };
21
+ const onBack = () => {
22
+ onEvent("editProperty", {
23
+ edit: {
24
+ ...(mode?.edit || {})
25
+ }
26
+ });
27
+ };
28
+ return /*#__PURE__*/_jsxs(Box, {
29
+ sx: classes.addProperty,
30
+ children: [/*#__PURE__*/_jsxs(Box, {
31
+ className: "fe-dv-ap-title",
32
+ children: [/*#__PURE__*/_jsxs("span", {
33
+ children: [/*#__PURE__*/_jsx(IconButton, {
34
+ className: "tv-act-ico",
35
+ size: "small",
36
+ onClick: onBack,
37
+ children: /*#__PURE__*/_jsx(ArrowBackIcon, {})
38
+ }), "Change Property"]
39
+ }), /*#__PURE__*/_jsx(IconButton, {
40
+ className: "tv-act-ico bg br1",
41
+ size: "small",
42
+ onClick: onClose,
43
+ children: /*#__PURE__*/_jsx(CloseIcon, {})
44
+ })]
45
+ }), /*#__PURE__*/_jsx(Box, {
46
+ className: "fe-dv-ap-desc",
47
+ children: "Select Property Type"
48
+ }), /*#__PURE__*/_jsx(Box, {
49
+ className: "fe-dv-ap-opt-content mt",
50
+ children: /*#__PURE__*/_jsx(PropertyList, {
51
+ onSelect: onSelect,
52
+ selected: mode?.edit
53
+ })
54
+ })]
55
+ });
56
+ };
57
+ ChangeProperty.defaultProps = {
58
+ onEvent: () => {}
59
+ };
60
+ export default ChangeProperty;
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ import { List, ListItemButton, ListItemIcon, ListItemText, Box } from "@mui/material";
3
+ import { PROPERTY_TYPES } from "./Constants";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { jsxs as _jsxs } from "react/jsx-runtime";
6
+ const ColumnsList = props => {
7
+ const {
8
+ properties
9
+ } = props;
10
+ const {
11
+ onSelect,
12
+ selected
13
+ } = props;
14
+ return /*#__PURE__*/_jsx(Box, {
15
+ className: "opt-wrpr",
16
+ children: /*#__PURE__*/_jsx(List, {
17
+ className: "tv-opt-list",
18
+ children: properties?.map((m, i) => {
19
+ const {
20
+ Icon
21
+ } = PROPERTY_TYPES?.find(f => f.type === m.type) || {};
22
+ return /*#__PURE__*/_jsxs(ListItemButton, {
23
+ className: selected?.type === m?.type ? "active" : "",
24
+ onClick: onSelect(m),
25
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
26
+ children: /*#__PURE__*/_jsx(Icon, {})
27
+ }), /*#__PURE__*/_jsx(ListItemText, {
28
+ primary: m?.label
29
+ })]
30
+ }, i);
31
+ })
32
+ })
33
+ });
34
+ };
35
+ ColumnsList.defaultProps = {};
36
+ export default ColumnsList;
@@ -0,0 +1,101 @@
1
+ import NotesIcon from "@mui/icons-material/Notes";
2
+ import TagIcon from "@mui/icons-material/Tag";
3
+ import ArrowDropDownCircleIcon from "@mui/icons-material/ArrowDropDownCircle";
4
+ import ChecklistIcon from "@mui/icons-material/Checklist";
5
+ import InsertInvitationIcon from "@mui/icons-material/InsertInvitation";
6
+ import PersonIcon from "@mui/icons-material/Person";
7
+ import CheckCircleOutlineIcon from "@mui/icons-material/CheckCircleOutline";
8
+ import ArrowUpwardIcon from "@mui/icons-material/ArrowUpward";
9
+ import ArrowDownwardIcon from "@mui/icons-material/ArrowDownward";
10
+ // import FilterListIcon from "@mui/icons-material/FilterList";
11
+
12
+ export const TYPE_LABELS = {
13
+ text: "Text",
14
+ number: "Number",
15
+ select: "Select",
16
+ "multi-select": "Multi Select",
17
+ date: "Date",
18
+ person: "Person",
19
+ check: "Checkbox"
20
+ };
21
+ export const PROPERTY_DEFAULTS = {
22
+ text: {
23
+ label: TYPE_LABELS?.text,
24
+ visible: true
25
+ },
26
+ number: {
27
+ label: TYPE_LABELS.number,
28
+ visible: true
29
+ },
30
+ select: {
31
+ label: TYPE_LABELS.select,
32
+ visible: true
33
+ },
34
+ "multi-select": {
35
+ label: TYPE_LABELS["multi-select"],
36
+ visible: true
37
+ },
38
+ date: {
39
+ label: TYPE_LABELS.date,
40
+ visible: true
41
+ },
42
+ check: {
43
+ label: TYPE_LABELS.check,
44
+ visible: true
45
+ },
46
+ person: {
47
+ label: TYPE_LABELS.person,
48
+ visible: true
49
+ }
50
+ };
51
+ export const PROPERTY_TYPES = [{
52
+ type: "text",
53
+ label: TYPE_LABELS.text,
54
+ Icon: NotesIcon
55
+ }, {
56
+ type: "number",
57
+ label: TYPE_LABELS.number,
58
+ Icon: TagIcon
59
+ }, {
60
+ type: "select",
61
+ label: TYPE_LABELS.select,
62
+ Icon: ArrowDropDownCircleIcon
63
+ }, {
64
+ type: "multi-select",
65
+ label: TYPE_LABELS["multi-select"],
66
+ Icon: ChecklistIcon
67
+ }, {
68
+ type: "date",
69
+ label: TYPE_LABELS.date,
70
+ Icon: InsertInvitationIcon
71
+ }, {
72
+ type: "check",
73
+ label: TYPE_LABELS.check,
74
+ Icon: CheckCircleOutlineIcon
75
+ }, {
76
+ type: "person",
77
+ label: TYPE_LABELS.person,
78
+ Icon: PersonIcon
79
+ }];
80
+ export const FILTER_TYPES = [{
81
+ type: "sort",
82
+ operator: "asc",
83
+ label: "Sort Ascending",
84
+ value: "",
85
+ Icon: ArrowUpwardIcon
86
+ }, {
87
+ type: "sort",
88
+ operator: "desc",
89
+ label: "Sort Descending",
90
+ Icon: ArrowDownwardIcon
91
+ }
92
+ // {
93
+ // type: "filter",
94
+ // operator: "contains",
95
+ // label: "Filter",
96
+ // value: "",
97
+ // Icon: FilterListIcon,
98
+ // },
99
+ ];
100
+
101
+ export const DEFAULT_OPTION_COLORS = ["rgba(131, 96, 253, 0.5)", "rgba(180, 180, 180, 1)", "rgba(72, 159, 248, 0.5)", "rgba(254, 122, 0, 0.5)", "rgba(214, 105, 190, 0.5)", "rgba(255, 229, 0, 0.5)"];
@@ -0,0 +1,160 @@
1
+ import React, { useEffect, useRef, useState } from "react";
2
+ import { Box, IconButton, TextField, List, ListItemButton, ListItemIcon, ListItemText, FormControlLabel } from "@mui/material";
3
+ import CloseIcon from "@mui/icons-material/Close";
4
+ import ArrowBackIcon from "@mui/icons-material/ArrowBack";
5
+ import DeleteIcon from "@mui/icons-material/Delete";
6
+ import ColorButtons from "../../../Color Picker/ColorButtons";
7
+ import ColorPickerStyles from "../../../Color Picker/Styles";
8
+ import { DEFAULT_OPTION_COLORS } from "./Constants";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ import { jsxs as _jsxs } from "react/jsx-runtime";
11
+ const EditOption = props => {
12
+ const {
13
+ classes,
14
+ onClose,
15
+ mode,
16
+ onEvent
17
+ } = props;
18
+ const [edit, setEdit] = useState({
19
+ ...(mode?.edit || {})
20
+ });
21
+ const editData = useRef({
22
+ ...edit
23
+ });
24
+ const {
25
+ optionIndex
26
+ } = edit;
27
+ const selectedOption = edit?.options[optionIndex] || {};
28
+ const pickerStyles = ColorPickerStyles();
29
+ useEffect(() => {
30
+ return () => {
31
+ // on un-mount update the option change
32
+ if (editData?.current) {
33
+ delete editData?.current?.edited;
34
+ onEvent("updateProperty", {
35
+ ...editData?.current
36
+ });
37
+ }
38
+ };
39
+ }, []);
40
+ const onChange = e => {
41
+ const updatedOptions = edit?.options.map((m, i) => {
42
+ if (i === edit?.optionIndex) {
43
+ return {
44
+ ...m,
45
+ [e.target.name]: e?.target?.value
46
+ };
47
+ }
48
+ return m;
49
+ });
50
+
51
+ // for delete
52
+ if (edit?.optionIndex > -1 && e?.target?.delete) {
53
+ updatedOptions.splice(edit?.optionIndex, 1);
54
+ }
55
+ const latest = {
56
+ ...edit,
57
+ options: [...updatedOptions]
58
+ };
59
+ setEdit({
60
+ ...latest
61
+ });
62
+ editData.current = {
63
+ ...latest,
64
+ edited: true
65
+ };
66
+
67
+ // if delete go back
68
+ if (e?.target?.delete) {
69
+ onEvent("editProperty", {
70
+ edit: {
71
+ ...latest
72
+ }
73
+ });
74
+ }
75
+ };
76
+ const onBack = () => {
77
+ onEvent("editProperty", {
78
+ edit: {
79
+ ...edit
80
+ }
81
+ });
82
+ };
83
+ const onDeleteOption = () => {
84
+ onChange({
85
+ target: {
86
+ delete: true
87
+ }
88
+ });
89
+ };
90
+ const onColorChange = color => {
91
+ onChange({
92
+ target: {
93
+ name: "color",
94
+ value: color
95
+ }
96
+ });
97
+ };
98
+ return /*#__PURE__*/_jsxs(Box, {
99
+ sx: classes.addProperty,
100
+ children: [/*#__PURE__*/_jsxs(Box, {
101
+ className: "fe-dv-ap-title",
102
+ children: [/*#__PURE__*/_jsxs("span", {
103
+ children: [/*#__PURE__*/_jsx(IconButton, {
104
+ className: "tv-act-ico",
105
+ size: "small",
106
+ onClick: onBack,
107
+ children: /*#__PURE__*/_jsx(ArrowBackIcon, {})
108
+ }), "Edit Option"]
109
+ }), /*#__PURE__*/_jsx(IconButton, {
110
+ className: "tv-act-ico bg",
111
+ size: "small",
112
+ onClick: onClose,
113
+ children: /*#__PURE__*/_jsx(CloseIcon, {})
114
+ })]
115
+ }), /*#__PURE__*/_jsx(Box, {
116
+ className: "fe-dv-ap-opt-content mt-1 mb",
117
+ children: /*#__PURE__*/_jsx(FormControlLabel, {
118
+ className: "ml-0",
119
+ label: "Option Name",
120
+ control: /*#__PURE__*/_jsx(TextField, {
121
+ size: "small",
122
+ name: "value",
123
+ value: selectedOption?.value,
124
+ onChange: onChange,
125
+ fullWidth: true,
126
+ placeholder: "Option Name"
127
+ }),
128
+ labelPlacement: "top"
129
+ })
130
+ }), /*#__PURE__*/_jsxs(Box, {
131
+ className: "label-desc mt-1",
132
+ children: [/*#__PURE__*/_jsx(Box, {
133
+ className: "label-tp mb",
134
+ children: "Choose Color"
135
+ }), /*#__PURE__*/_jsx(Box, {
136
+ className: "ml",
137
+ children: /*#__PURE__*/_jsx(ColorButtons, {
138
+ classes: pickerStyles,
139
+ onSelect: onColorChange,
140
+ activeColor: selectedOption?.color,
141
+ defaultColors: DEFAULT_OPTION_COLORS
142
+ })
143
+ })]
144
+ }), /*#__PURE__*/_jsx(List, {
145
+ className: "fe-dv-opt-list st",
146
+ children: /*#__PURE__*/_jsxs(ListItemButton, {
147
+ onClick: onDeleteOption,
148
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
149
+ children: /*#__PURE__*/_jsx(DeleteIcon, {})
150
+ }), /*#__PURE__*/_jsx(ListItemText, {
151
+ children: "Delete Option"
152
+ })]
153
+ })
154
+ })]
155
+ });
156
+ };
157
+ EditOption.defaultProps = {
158
+ onEvent: () => {}
159
+ };
160
+ export default EditOption;
@@ -0,0 +1,190 @@
1
+ import React, { useEffect, useRef, useState } from "react";
2
+ import { Box, IconButton, TextField, List, ListItemButton, ListItemText, ListItemIcon, FormControlLabel } from "@mui/material";
3
+ import CloseIcon from "@mui/icons-material/Close";
4
+ import KeyboardArrowRightIcon from "@mui/icons-material/KeyboardArrowRight";
5
+ import DeleteIcon from "@mui/icons-material/Delete";
6
+ import ContentCopyIcon from "@mui/icons-material/ContentCopy";
7
+ import VisibilityIcon from "@mui/icons-material/Visibility";
8
+ import VisibilityOffIcon from "@mui/icons-material/VisibilityOff";
9
+ import ArrowBackIosIcon from "@mui/icons-material/ArrowBackIos";
10
+ import { TYPE_LABELS } from "./Constants";
11
+ import AddOptions from "./AddOptions";
12
+ import FilterProperty from "./FilterProperty";
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ const EditProperty = props => {
16
+ const {
17
+ classes,
18
+ onClose,
19
+ mode,
20
+ onEvent
21
+ } = props;
22
+ const [edit, setEdit] = useState({
23
+ ...(mode?.edit || {})
24
+ });
25
+ const editData = useRef({
26
+ ...edit
27
+ });
28
+ useEffect(() => {
29
+ return () => {
30
+ // on un-mount update the label
31
+ if (edit?.label !== editData?.current?.label) {
32
+ onEvent("updateProperty", {
33
+ ...editData?.current
34
+ }, false);
35
+ }
36
+ };
37
+ }, []);
38
+ const onChange = key => e => {
39
+ const latest = {
40
+ ...edit,
41
+ [key]: e?.target?.value
42
+ };
43
+ setEdit({
44
+ ...edit,
45
+ [key]: e?.target?.value
46
+ });
47
+ editData.current = {
48
+ ...latest
49
+ };
50
+ };
51
+ const onChangeProperty = () => {
52
+ onEvent("changeProperty", {
53
+ edit: {
54
+ ...edit
55
+ }
56
+ });
57
+ };
58
+ const onBack = () => {
59
+ onEvent("allProperties", {
60
+ edit: null
61
+ });
62
+ };
63
+ const onUpdate = data => {
64
+ const latest = {
65
+ ...edit,
66
+ ...data
67
+ };
68
+ setEdit({
69
+ ...edit,
70
+ ...data
71
+ });
72
+ editData.current = {
73
+ ...latest
74
+ };
75
+ onEvent("updateProperty", {
76
+ ...editData?.current
77
+ });
78
+ };
79
+ const onAction = action => () => {
80
+ switch (action) {
81
+ case "Visibilty":
82
+ onUpdate({
83
+ visible: !edit?.visible
84
+ });
85
+ onEvent("close");
86
+ break;
87
+ case "Duplicate":
88
+ onEvent("addProperty", {
89
+ type: editData?.current?.type,
90
+ overrides: {
91
+ ...editData?.current
92
+ }
93
+ }, false);
94
+ onEvent("close");
95
+ break;
96
+ case "Delete":
97
+ onEvent("deleteProperty", {
98
+ ...editData?.current
99
+ });
100
+ onEvent("close");
101
+ break;
102
+ default:
103
+ return;
104
+ }
105
+ };
106
+ return /*#__PURE__*/_jsxs(Box, {
107
+ sx: classes.addProperty,
108
+ children: [/*#__PURE__*/_jsxs(Box, {
109
+ className: "fe-dv-ap-title",
110
+ children: [/*#__PURE__*/_jsxs("span", {
111
+ children: [/*#__PURE__*/_jsx(IconButton, {
112
+ className: "tv-act-ico",
113
+ size: "small",
114
+ onClick: onBack,
115
+ children: /*#__PURE__*/_jsx(ArrowBackIosIcon, {})
116
+ }), "Edit Property"]
117
+ }), /*#__PURE__*/_jsx(IconButton, {
118
+ className: "tv-act-ico bg br1",
119
+ size: "small",
120
+ onClick: onClose,
121
+ children: /*#__PURE__*/_jsx(CloseIcon, {})
122
+ })]
123
+ }), /*#__PURE__*/_jsxs(Box, {
124
+ className: "fe-dv-ap-opt-content",
125
+ children: [/*#__PURE__*/_jsx(FormControlLabel, {
126
+ label: "Field Name",
127
+ labelPlacement: "top",
128
+ control: /*#__PURE__*/_jsx(TextField, {
129
+ size: "small",
130
+ value: edit?.label,
131
+ onChange: onChange("label"),
132
+ fullWidth: true,
133
+ placeholder: "Field Name"
134
+ })
135
+ }), /*#__PURE__*/_jsx(AddOptions, {
136
+ edit: edit,
137
+ onUpdate: onUpdate,
138
+ onEvent: onEvent
139
+ }), /*#__PURE__*/_jsx(FilterProperty, {
140
+ edit: edit,
141
+ onUpdate: onUpdate,
142
+ onEvent: onEvent
143
+ }), /*#__PURE__*/_jsx(List, {
144
+ className: "fe-dv-opt-list st sb",
145
+ children: /*#__PURE__*/_jsxs(ListItemButton, {
146
+ onClick: onChangeProperty,
147
+ children: [/*#__PURE__*/_jsx(ListItemText, {
148
+ children: "Type"
149
+ }), /*#__PURE__*/_jsxs(ListItemIcon, {
150
+ sx: {
151
+ alignItems: "center"
152
+ },
153
+ children: [/*#__PURE__*/_jsx("span", {
154
+ className: "label-tp",
155
+ children: TYPE_LABELS[edit?.type]
156
+ }), /*#__PURE__*/_jsx(KeyboardArrowRightIcon, {})]
157
+ })]
158
+ })
159
+ }), /*#__PURE__*/_jsxs(List, {
160
+ className: "fe-dv-opt-list",
161
+ children: [/*#__PURE__*/_jsxs(ListItemButton, {
162
+ onClick: onAction("Visibilty"),
163
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
164
+ children: edit?.visible ? /*#__PURE__*/_jsx(VisibilityOffIcon, {}) : /*#__PURE__*/_jsx(VisibilityIcon, {})
165
+ }), /*#__PURE__*/_jsxs(ListItemText, {
166
+ children: [edit?.visible ? "Hide" : "Show", " in View"]
167
+ })]
168
+ }), /*#__PURE__*/_jsxs(ListItemButton, {
169
+ onClick: onAction("Duplicate"),
170
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
171
+ children: /*#__PURE__*/_jsx(ContentCopyIcon, {})
172
+ }), /*#__PURE__*/_jsx(ListItemText, {
173
+ children: "Duplicate Property"
174
+ })]
175
+ }), /*#__PURE__*/_jsxs(ListItemButton, {
176
+ onClick: onAction("Delete"),
177
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
178
+ children: /*#__PURE__*/_jsx(DeleteIcon, {})
179
+ }), /*#__PURE__*/_jsx(ListItemText, {
180
+ children: "Delete Property"
181
+ })]
182
+ })]
183
+ })]
184
+ })]
185
+ });
186
+ };
187
+ EditProperty.defaultProps = {
188
+ onEvent: () => {}
189
+ };
190
+ export default EditProperty;
@@ -0,0 +1,42 @@
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 { jsx as _jsx } from "react/jsx-runtime";
6
+ import { jsxs as _jsxs } from "react/jsx-runtime";
7
+ const FilterProperty = props => {
8
+ const {
9
+ sort
10
+ } = useDataView();
11
+ const {
12
+ edit,
13
+ onEvent
14
+ } = props;
15
+ const handleChangeOption = m => () => {
16
+ onEvent("addSort", {
17
+ ...(sort[0] || {}),
18
+ newKey: edit?.key,
19
+ operator: m?.operator
20
+ });
21
+ };
22
+ return /*#__PURE__*/_jsx(List, {
23
+ className: "fe-dv-opt-list mt",
24
+ children: FILTER_TYPES?.map(({
25
+ Icon,
26
+ ...m
27
+ }, i) => {
28
+ return /*#__PURE__*/_jsxs(ListItemButton, {
29
+ onClick: handleChangeOption(m),
30
+ children: [/*#__PURE__*/_jsx(ListItemIcon, {
31
+ children: /*#__PURE__*/_jsx(Icon, {})
32
+ }), /*#__PURE__*/_jsx(ListItemText, {
33
+ primary: m.label
34
+ })]
35
+ }, i);
36
+ })
37
+ });
38
+ };
39
+ FilterProperty.defaultProps = {
40
+ onEvent: () => {}
41
+ };
42
+ export default FilterProperty;