@zohoim/chat-components 1.0.9-beta.2 → 1.0.9-beta.4

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 (138) hide show
  1. package/es/Message/Message.js +8 -2
  2. package/es/MessageActions/MessageActions.js +2 -0
  3. package/es/MessageActions/props/propTypes.js +2 -1
  4. package/es/MessageActionsMore/MessageActionsMore.js +5 -3
  5. package/es/MessageActionsMore/props/propTypes.js +3 -5
  6. package/es/MessageActionsWrapper/MessageActionsWrapper.js +7 -4
  7. package/es/MessageActionsWrapper/props/propTypes.js +2 -1
  8. package/es/MessageBubble/css/MessageBubble.module.css +0 -7
  9. package/es/MessageBubble/props/defaultProps.js +2 -1
  10. package/es/MessageBubble/props/propTypes.js +2 -1
  11. package/es/Theme/ThemeAssets.js +2 -2
  12. package/es/Theme/ThemeWrapper.js +7 -18
  13. package/es/Theme/TooltipWrapper.js +1 -1
  14. package/es/Theme/constants/index.js +41 -0
  15. package/es/Theme/props/defaultProps.js +1 -2
  16. package/es/Theme/props/propTypes.js +1 -2
  17. package/es/Theme/themeVariables/dark/blueTheme.js +1 -15
  18. package/es/Theme/themeVariables/dark/commonColorVariable.js +1 -20
  19. package/es/Theme/themeVariables/dark/greenTheme.js +1 -15
  20. package/es/Theme/themeVariables/dark/orangeTheme.js +1 -15
  21. package/es/Theme/themeVariables/dark/redTheme.js +1 -15
  22. package/es/Theme/themeVariables/dark/yellowTheme.js +1 -15
  23. package/es/Theme/themeVariables/light/blueTheme.js +1 -19
  24. package/es/Theme/themeVariables/light/commonColorVariable.js +0 -19
  25. package/es/Theme/themeVariables/light/greenTheme.js +1 -14
  26. package/es/Theme/themeVariables/light/orangeTheme.js +1 -14
  27. package/es/Theme/themeVariables/light/redTheme.js +1 -14
  28. package/es/Theme/themeVariables/light/yellowTheme.js +1 -14
  29. package/es/Theme/themeVariables/pureDark/blueTheme.js +1 -15
  30. package/es/Theme/themeVariables/pureDark/commonColorVariable.js +1 -20
  31. package/es/Theme/themeVariables/pureDark/greenTheme.js +1 -15
  32. package/es/Theme/themeVariables/pureDark/orangeTheme.js +1 -15
  33. package/es/Theme/themeVariables/pureDark/redTheme.js +1 -15
  34. package/es/Theme/themeVariables/pureDark/yellowTheme.js +1 -15
  35. package/es/Theme/utils/getThemeConfigurations.js +1 -1
  36. package/es/constants/index.js +1 -7
  37. package/es/im/index.js +1 -8
  38. package/es/index.js +2 -13
  39. package/package.json +7 -7
  40. package/es/AttachmentHandler/AttachmentHandler.js +0 -84
  41. package/es/AttachmentHandler/css/AttachmentHandler.module.css +0 -17
  42. package/es/AttachmentHandler/index.js +0 -1
  43. package/es/AttachmentHandler/props/defaultProps.js +0 -10
  44. package/es/AttachmentHandler/props/propTypes.js +0 -17
  45. package/es/AttachmentPreview/AttachmentPreview.js +0 -113
  46. package/es/AttachmentPreview/css/AttachmentPreview.module.css +0 -30
  47. package/es/AttachmentPreview/index.js +0 -1
  48. package/es/AttachmentPreview/props/defaultProps.js +0 -7
  49. package/es/AttachmentPreview/props/propTypes.js +0 -31
  50. package/es/AttachmentPreviewBody/AttachmentPreviewBody.js +0 -81
  51. package/es/AttachmentPreviewBody/css/AttachmentPreviewBody.module.css +0 -68
  52. package/es/AttachmentPreviewBody/index.js +0 -1
  53. package/es/AttachmentPreviewBody/props/defaultProps.js +0 -7
  54. package/es/AttachmentPreviewBody/props/propTypes.js +0 -20
  55. package/es/AttachmentPreviewHeader/AttachmentPreviewHeader.js +0 -84
  56. package/es/AttachmentPreviewHeader/css/AttachmentPreviewHeader.module.css +0 -47
  57. package/es/AttachmentPreviewHeader/index.js +0 -1
  58. package/es/AttachmentPreviewHeader/props/defaultProps.js +0 -7
  59. package/es/AttachmentPreviewHeader/props/propTypes.js +0 -16
  60. package/es/Emoji/Emoji.js +0 -72
  61. package/es/Emoji/css/Emoji.module.css +0 -47
  62. package/es/Emoji/css/cssJSLogic.js +0 -18
  63. package/es/Emoji/index.js +0 -1
  64. package/es/Emoji/props/defaultProps.js +0 -8
  65. package/es/Emoji/props/propTypes.js +0 -16
  66. package/es/EmojiPopup/EmojiPopup.js +0 -116
  67. package/es/EmojiPopup/css/EmojiPopup.module.css +0 -50
  68. package/es/EmojiPopup/index.js +0 -1
  69. package/es/EmojiPopup/props/defaultProps.js +0 -11
  70. package/es/EmojiPopup/props/propTypes.js +0 -21
  71. package/es/Emojis/Emojis.js +0 -81
  72. package/es/Emojis/index.js +0 -1
  73. package/es/Emojis/props/defaultProps.js +0 -10
  74. package/es/Emojis/props/propTypes.js +0 -19
  75. package/es/EmojisEmptyState/EmojisEmptyState.js +0 -50
  76. package/es/EmojisEmptyState/css/EmojisEmptyState.module.css +0 -18
  77. package/es/EmojisEmptyState/index.js +0 -1
  78. package/es/EmojisEmptyState/props/defaultProps.js +0 -9
  79. package/es/EmojisEmptyState/props/propTypes.js +0 -8
  80. package/es/EmojisFooter/EmojisFooter.js +0 -71
  81. package/es/EmojisFooter/css/EmojisFooter.module.css +0 -40
  82. package/es/EmojisFooter/index.js +0 -1
  83. package/es/EmojisFooter/props/defaultProps.js +0 -7
  84. package/es/EmojisFooter/props/propTypes.js +0 -12
  85. package/es/EmojisHeader/EmojisHeader.js +0 -65
  86. package/es/EmojisHeader/css/EmojisHeader.module.css +0 -36
  87. package/es/EmojisHeader/index.js +0 -1
  88. package/es/EmojisHeader/props/defaultProps.js +0 -8
  89. package/es/EmojisHeader/props/propTypes.js +0 -13
  90. package/es/EmojisList/EmojisList.js +0 -133
  91. package/es/EmojisList/css/EmojisList.module.css +0 -50
  92. package/es/EmojisList/css/cssJSLogic.js +0 -25
  93. package/es/EmojisList/index.js +0 -1
  94. package/es/EmojisList/props/defaultProps.js +0 -10
  95. package/es/EmojisList/props/propTypes.js +0 -20
  96. package/es/constants/propConstants/editorPropConstants.js +0 -3
  97. package/es/constants/propConstants/popupPropConstants.js +0 -2
  98. package/es/im/IMAttachmentHandler/IMAttachmentHandler.js +0 -50
  99. package/es/im/IMAttachmentHandler/index.js +0 -1
  100. package/es/im/IMAttachmentHandler/props/defaultProps.js +0 -10
  101. package/es/im/IMAttachmentHandler/props/propTypes.js +0 -28
  102. package/es/im/ReplyComposer/ReplyComposer.js +0 -137
  103. package/es/im/ReplyComposer/css/ReplyComposer.module.css +0 -5
  104. package/es/im/ReplyComposer/index.js +0 -1
  105. package/es/im/ReplyComposer/props/defaultProps.js +0 -7
  106. package/es/im/ReplyComposer/props/propTypes.js +0 -60
  107. package/es/im/ReplyComposerFooter/ReplyComposerFooter.js +0 -41
  108. package/es/im/ReplyComposerFooter/css/ReplyComposerFooter.module.css +0 -5
  109. package/es/im/ReplyComposerFooter/index.js +0 -1
  110. package/es/im/ReplyComposerFooter/props/defaultProps.js +0 -8
  111. package/es/im/ReplyComposerFooter/props/propTypes.js +0 -17
  112. package/es/im/ReplyEditor/ReplyEditor.js +0 -103
  113. package/es/im/ReplyEditor/css/ReplyEditor.module.css +0 -38
  114. package/es/im/ReplyEditor/css/cssJSLogic.js +0 -10
  115. package/es/im/ReplyEditor/index.js +0 -1
  116. package/es/im/ReplyEditor/props/defaultProps.js +0 -8
  117. package/es/im/ReplyEditor/props/propTypes.js +0 -27
  118. package/es/im/ReplyEditorExtensions/ReplyEditorExtensions.js +0 -149
  119. package/es/im/ReplyEditorExtensions/css/ReplyEditorExtensions.module.css +0 -5
  120. package/es/im/ReplyEditorExtensions/index.js +0 -1
  121. package/es/im/ReplyEditorExtensions/props/defaultProps.js +0 -6
  122. package/es/im/ReplyEditorExtensions/props/propTypes.js +0 -16
  123. package/es/im/ReplyEditorSuggestions/ReplyEditorSuggestions.js +0 -87
  124. package/es/im/ReplyEditorSuggestions/css/ReplyEditorSuggestions.module.css +0 -8
  125. package/es/im/ReplyEditorSuggestions/index.js +0 -1
  126. package/es/im/ReplyEditorSuggestions/props/defaultProps.js +0 -6
  127. package/es/im/ReplyEditorSuggestions/props/propTypes.js +0 -20
  128. package/es/im/ReplyEditorSuggestionsPopup/ReplyEditorSuggestionsPopup.js +0 -90
  129. package/es/im/ReplyEditorSuggestionsPopup/css/ReplyEditorSuggestionsPopup.module.css +0 -7
  130. package/es/im/ReplyEditorSuggestionsPopup/index.js +0 -1
  131. package/es/im/ReplyEditorSuggestionsPopup/props/defaultProps.js +0 -10
  132. package/es/im/ReplyEditorSuggestionsPopup/props/propTypes.js +0 -21
  133. package/es/rte/Editor/Editor.js +0 -80
  134. package/es/rte/Editor/css/Editor.module.css +0 -19
  135. package/es/rte/Editor/index.js +0 -1
  136. package/es/rte/Editor/props/defaultProps.js +0 -21
  137. package/es/rte/Editor/props/propTypes.js +0 -52
  138. package/es/rte/index.js +0 -1
@@ -1,11 +0,0 @@
1
- /** ** Constants *** */
2
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
- const emojiPopupDefaultProps = {
4
- customStyle: dummyObject,
5
- customProps: dummyObject,
6
- popupSize: 'large',
7
- defaultPopupPosition: 'topCenter',
8
- tooltip: 'Add Emoji',
9
- needCloseOnSelect: true
10
- };
11
- export default emojiPopupDefaultProps;
@@ -1,21 +0,0 @@
1
- /** ** Libraries *** */
2
- import PropTypes from 'prop-types';
3
- /** ** Constants *** */
4
-
5
- import { popupSize, popupPosition } from "../../constants/propConstants/popupPropConstants";
6
- const emojiPopupPropTypes = {
7
- customStyle: PropTypes.object,
8
- customProps: PropTypes.shape({
9
- dropBoxProps: PropTypes.object,
10
- emojisProps: PropTypes.object,
11
- iconProps: PropTypes.object
12
- }),
13
- popupSize: PropTypes.oneOf(popupSize),
14
- defaultPopupPosition: PropTypes.oneOf(popupPosition),
15
- tooltip: PropTypes.string,
16
- onSelect: PropTypes.func,
17
- needCloseOnSelect: PropTypes.bool,
18
- onPopupOpen: PropTypes.func,
19
- onPopupClose: PropTypes.func
20
- };
21
- export default emojiPopupPropTypes;
@@ -1,81 +0,0 @@
1
- /* eslint-disable max-len */
2
-
3
- /** ** Libraries *** */
4
- import React from 'react';
5
- /** ** Components *** */
6
-
7
- import EmojisList from "../EmojisList/EmojisList";
8
- import EmojisHeader from "../EmojisHeader/EmojisHeader";
9
- import EmojisFooter from "../EmojisFooter/EmojisFooter";
10
- /** ** Hooks *** */
11
-
12
- import useEmojis from '@zohoim/chat-components-hooks/es/Emojis/useEmojis';
13
- /** ** Constants *** */
14
-
15
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
16
- import emojisList from '@zohoim/chat-components-utils/es/constants/emojisList';
17
- import emojisDefaultProps from "./props/defaultProps";
18
- import emojisPropTypes from "./props/propTypes";
19
- export default function Emojis(props) {
20
- const {
21
- searchString,
22
- isShowGroupBasedList,
23
- isShowSearchBox,
24
- emojisRowType,
25
- onSelect: propOnSelect,
26
- needAutoFocus,
27
- customProps,
28
- isShowOnlyContent,
29
- searchPlaceHolder
30
- } = props;
31
- const {
32
- emojisListProps = dummyObject,
33
- emojisHeaderProps = dummyObject,
34
- emojisFooterProps = dummyObject
35
- } = customProps || dummyObject;
36
- const {
37
- searchValue,
38
- onSearch,
39
- getSearchRef,
40
- onChangeGroup,
41
- selectedGroup,
42
- getEmojisListMethods,
43
- onSelect,
44
- onSelectTab,
45
- isRenderEmojis,
46
- isRenderEmojisList
47
- } = useEmojis({
48
- searchString,
49
- isShowSearchBox,
50
- needAutoFocus,
51
- onSelect: propOnSelect,
52
- emojisList,
53
- isShowGroupBasedList
54
- });
55
- return isRenderEmojis ? /*#__PURE__*/React.createElement(React.Fragment, null, isShowSearchBox ? /*#__PURE__*/React.createElement(EmojisHeader, {
56
- getRef: getSearchRef,
57
- onChange: onSearch,
58
- searchPlaceHolder: searchPlaceHolder,
59
- searchString: searchValue,
60
- ...emojisHeaderProps
61
- }) : null, isRenderEmojisList ? /*#__PURE__*/React.createElement(EmojisList, {
62
- emojisList: emojisList,
63
- getMethods: getEmojisListMethods,
64
- isShowGroupBasedList: searchValue ? false : isShowGroupBasedList,
65
- isShowOnlyContent: isShowOnlyContent,
66
- onChangeGroup: onChangeGroup,
67
- onSelect: onSelect,
68
- rowType: emojisRowType,
69
- searchString: searchValue,
70
- selectedGroup: selectedGroup,
71
- ...emojisListProps
72
- }) : null, isShowGroupBasedList ? /*#__PURE__*/React.createElement(EmojisFooter, {
73
- emojisList: emojisList,
74
- onSelect: onSelectTab,
75
- selectedTab: selectedGroup,
76
- ...emojisFooterProps
77
- }) : null) : null;
78
- }
79
- Emojis.propTypes = emojisPropTypes;
80
- Emojis.defaultProps = emojisDefaultProps;
81
- Emojis.displayName = 'Emojis';
@@ -1 +0,0 @@
1
- export { default as Emojis } from "./Emojis";
@@ -1,10 +0,0 @@
1
- /** ** Constants *** */
2
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
- const emojisDefaultProps = {
4
- customStyle: dummyObject,
5
- isShowGroupBasedList: true,
6
- emojisRowType: 'multiple',
7
- needAutoFocus: true,
8
- isShowSearchBox: true
9
- };
10
- export default emojisDefaultProps;
@@ -1,19 +0,0 @@
1
- /** ** Libraries *** */
2
- import PropTypes from 'prop-types';
3
- const emojisPropTypes = {
4
- customStyle: PropTypes.object,
5
- searchString: PropTypes.string,
6
- isShowGroupBasedList: PropTypes.bool,
7
- isShowSearchBox: PropTypes.bool,
8
- emojisRowType: PropTypes.oneOf(['single', 'multiple']),
9
- onSelect: PropTypes.func,
10
- needAutoFocus: PropTypes.bool,
11
- customProps: PropTypes.shape({
12
- emojisFooterProps: PropTypes.object,
13
- emojisHeaderProps: PropTypes.object,
14
- emojisListProps: PropTypes.object
15
- }),
16
- isShowOnlyContent: PropTypes.bool,
17
- searchPlaceHolder: PropTypes.string
18
- };
19
- export default emojisPropTypes;
@@ -1,50 +0,0 @@
1
- /** ** Libraries *** */
2
- import React, { useMemo } from 'react';
3
- /** ** Components *** */
4
-
5
- import { Container, Box } from '@zohodesk/components/es/Layout';
6
- import Emoji from "../Emoji/Emoji";
7
- /** ** Hooks *** */
8
-
9
- import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
10
- /** ** Constants *** */
11
-
12
- import emojisEmptyStateDefaultProps from "./props/defaultProps";
13
- import emojisEmptyStatePropTypes from "./props/propTypes";
14
- /** ** Styles *** */
15
-
16
- import style from "./css/EmojisEmptyState.module.css";
17
- export default function EmojisEmptyState(props) {
18
- const {
19
- customStyle,
20
- title,
21
- description
22
- } = props;
23
- /* External customization */
24
-
25
- const newStyle = useMergeStyle(style, customStyle);
26
- const {
27
- emoji,
28
- name
29
- } = useMemo(() => ({
30
- emoji: ['#x1f622'],
31
- name: ':cry:'
32
- }), []);
33
- return /*#__PURE__*/React.createElement(Container, {
34
- align: "both"
35
- }, /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(Emoji, {
36
- autoHover: false,
37
- emoji: emoji,
38
- emojiName: name,
39
- needTitle: false
40
- })), /*#__PURE__*/React.createElement(Box, {
41
- className: newStyle.title,
42
- "data-title": title
43
- }, title), /*#__PURE__*/React.createElement(Box, {
44
- className: newStyle.description,
45
- "data-title": description
46
- }, description));
47
- }
48
- EmojisEmptyState.propTypes = emojisEmptyStatePropTypes;
49
- EmojisEmptyState.defaultProps = emojisEmptyStateDefaultProps;
50
- EmojisEmptyState.displayName = 'EmojisEmptyState';
@@ -1,18 +0,0 @@
1
- .title {
2
- color: var(--zd_im_primary_text);
3
- font-size: var(--zd_font_size16);
4
- font-family: var(--zd_semibold);
5
- max-width: 100% ;
6
- composes: dotted from '../../css/common.module.css';
7
- margin-bottom: var(--zd_size7);
8
- }
9
-
10
- .description {
11
- font-size: var(--zd_font_size14);
12
- color: var(--zd_im_secondary_text);
13
- display: -webkit-box;
14
- -webkit-line-clamp: 2;
15
- -webkit-box-orient: vertical;
16
- overflow: hidden;
17
- text-align: center;
18
- }
@@ -1 +0,0 @@
1
- export { default as EmojisEmptyState } from "./EmojisEmptyState";
@@ -1,9 +0,0 @@
1
- /** ** Constants *** */
2
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
- const emojisEmptyStateDefaultProps = {
4
- customStyle: dummyObject,
5
- title: 'No Emoji(s) found!',
6
- // eslint-disable-next-line quotes
7
- description: "Sorry, we couldn't find any emojis."
8
- };
9
- export default emojisEmptyStateDefaultProps;
@@ -1,8 +0,0 @@
1
- /** ** Libraries *** */
2
- import PropTypes from 'prop-types';
3
- const emojisEmptyStatePropTypes = {
4
- customStyle: PropTypes.object,
5
- title: PropTypes.string.isRequired,
6
- description: PropTypes.string
7
- };
8
- export default emojisEmptyStatePropTypes;
@@ -1,71 +0,0 @@
1
- /* eslint-disable max-len */
2
-
3
- /** ** Libraries *** */
4
- import React, { useMemo } from 'react';
5
- /** ** Components *** */
6
-
7
- import { Container, Box } from '@zohodesk/components/es/Layout';
8
- import Emoji from "../Emoji/Emoji";
9
- /** ** Hooks *** */
10
-
11
- import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
12
- /** ** Constants *** */
13
-
14
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
15
- import emojisFooterDefaultProps from "./props/defaultProps";
16
- import emojisFooterPropTypes from "./props/propTypes";
17
- /** ** Styles *** */
18
-
19
- import style from "./css/EmojisFooter.module.css";
20
-
21
- const capitalize = function () {
22
- let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
23
- return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
24
- };
25
-
26
- export default function EmojisFooter(props) {
27
- const {
28
- customStyle,
29
- customProps,
30
- emojisList = dummyObject,
31
- onSelect,
32
- selectedTab
33
- } = props;
34
- const {
35
- emojiProps = dummyObject
36
- } = customProps || dummyObject;
37
- /* External customization */
38
-
39
- const newStyle = useMergeStyle(style, customStyle);
40
- const emojiCustomStyle = useMemo(() => ({
41
- emoji: newStyle.emoji
42
- }), [newStyle.emoji]);
43
- return /*#__PURE__*/React.createElement(Container, {
44
- alignBox: "row",
45
- className: newStyle.footerTab,
46
- isCover: false
47
- }, Object.keys(emojisList).map(groupName => {
48
- const emojis = emojisList[groupName];
49
- const emojiName = Object.keys(emojis)[0];
50
- const emoji = emojis[emojiName];
51
- const id = `emoji_${emojiName}`;
52
- return /*#__PURE__*/React.createElement(Box, {
53
- key: id,
54
- className: newStyle.tabIcon,
55
- flexible: true
56
- }, /*#__PURE__*/React.createElement(Emoji, {
57
- customStyle: emojiCustomStyle,
58
- customTitle: capitalize(groupName),
59
- emoji: emoji,
60
- emojiName: emojiName,
61
- id: groupName,
62
- onSelect: onSelect,
63
- ...emojiProps
64
- }), selectedTab === groupName ? /*#__PURE__*/React.createElement("span", {
65
- className: newStyle.tabLine
66
- }) : null);
67
- }));
68
- }
69
- EmojisFooter.propTypes = emojisFooterPropTypes;
70
- EmojisFooter.defaultProps = emojisFooterDefaultProps;
71
- EmojisFooter.displayName = 'EmojisFooter';
@@ -1,40 +0,0 @@
1
- .footerTab {
2
- position: relative;
3
- border-top: 1px solid var(--imlib_chat_components_emojiFooter_border_color);
4
- }
5
-
6
- .tabIcon {
7
- /* padding: var(--zd_size10) var(--zd_size16); */
8
- position: relative;
9
- height: var(--zd_size35) ;
10
- display: flex;
11
- align-items: center;
12
- justify-content: center;
13
- text-align: center;
14
- padding: 1% ;
15
- }
16
-
17
- .tabLine {
18
- display: inline-block;
19
- position: absolute;
20
- top: 0 ;
21
- height: var(--zd_size2) ;
22
- transition: 0.3s ease;
23
- width: 100% ;
24
- background-color: var(--imlib_chat_components_emojiFooter_tabLine);
25
- }
26
-
27
- [dir=ltr] .tabLine {
28
- left: 0 ;
29
- }
30
-
31
- [dir=rtl] .tabLine {
32
- right: 0 ;
33
- }
34
-
35
- .emoji {
36
- width: auto ;
37
- height: auto ;
38
- margin: 0 ;
39
- padding: 8% ;
40
- }
@@ -1 +0,0 @@
1
- export { default as EmojisFooter } from "./EmojisFooter";
@@ -1,7 +0,0 @@
1
- /** ** Constants *** */
2
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
- const emojisFooterDefaultProps = {
4
- customStyle: dummyObject,
5
- customProps: dummyObject
6
- };
7
- export default emojisFooterDefaultProps;
@@ -1,12 +0,0 @@
1
- /** ** Libraries *** */
2
- import PropTypes from 'prop-types';
3
- const emojisFooterPropTypes = {
4
- customStyle: PropTypes.object,
5
- customProps: PropTypes.shape({
6
- emojiProps: PropTypes.object
7
- }),
8
- emojisList: PropTypes.object.isRequired,
9
- onSelect: PropTypes.func,
10
- selectedTab: PropTypes.string
11
- };
12
- export default emojisFooterPropTypes;
@@ -1,65 +0,0 @@
1
- /** ** Libraries *** */
2
- import React from 'react';
3
- /** ** Components *** */
4
-
5
- import { Container, Box } from '@zohodesk/components/es/Layout';
6
- import Icon from '@zohodesk/icons/es/Icon';
7
- import TextBox from '@zohodesk/components/es/TextBox/TextBox';
8
- /** ** Hooks *** */
9
-
10
- import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
11
- /** ** Constants *** */
12
-
13
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
14
- import emojisHeaderDefaultProps from "./props/defaultProps";
15
- import emojisHeaderPropTypes from "./props/propTypes";
16
- /** ** Styles *** */
17
-
18
- import style from "./css/EmojisHeader.module.css";
19
- export default function EmojisHeader(props) {
20
- const {
21
- customStyle,
22
- customProps = dummyObject,
23
- searchString,
24
- getRef,
25
- onChange,
26
- searchPlaceHolder
27
- } = props;
28
- const {
29
- textBoxProps = dummyObject
30
- } = customProps;
31
- /* External customization */
32
-
33
- const newStyle = useMergeStyle(style, customStyle);
34
- return /*#__PURE__*/React.createElement(Box, {
35
- className: newStyle.container
36
- }, /*#__PURE__*/React.createElement(Container, {
37
- align: "vertical",
38
- alignBox: "row",
39
- className: newStyle.emojisSearch
40
- }, /*#__PURE__*/React.createElement(Box, {
41
- className: newStyle.searchIcon
42
- }, /*#__PURE__*/React.createElement(Icon, {
43
- name: "ZD-search",
44
- size: "13"
45
- })), /*#__PURE__*/React.createElement(Box, {
46
- flexible: true
47
- }, /*#__PURE__*/React.createElement(TextBox, {
48
- customClass: newStyle.searchInput,
49
- inputRef: getRef,
50
- isDisabled: false,
51
- isReadOnly: false,
52
- name: "emojiSearch",
53
- needBorder: false,
54
- onChange: onChange,
55
- placeHolder: searchPlaceHolder,
56
- size: "medium",
57
- type: "text",
58
- value: searchString,
59
- variant: "default",
60
- ...textBoxProps
61
- }))));
62
- }
63
- EmojisHeader.propTypes = emojisHeaderPropTypes;
64
- EmojisHeader.defaultProps = emojisHeaderDefaultProps;
65
- EmojisHeader.displayName = 'EmojisHeader';
@@ -1,36 +0,0 @@
1
- .container {
2
- padding: var(--zd_size10) ;
3
- border-bottom: 1px solid
4
- var(--imlib_chat_components_emojisHeader_border_color);
5
- }
6
-
7
- .emojisSearch {
8
- position: relative;
9
- background-color: var(--imlib_chat_components_emojisHeader_bg_color);
10
- }
11
-
12
- .searchInput {
13
- box-sizing: border-box;
14
- min-height: var(--zd_size38) ;
15
- outline: 0;
16
- }
17
-
18
- [dir=ltr] .searchInput {
19
- padding-left: var(--zd_size31) ;
20
- }
21
-
22
- [dir=rtl] .searchInput {
23
- padding-right: var(--zd_size31) ;
24
- }
25
-
26
- .searchIcon {
27
- position: absolute;
28
- }
29
-
30
- [dir=ltr] .searchIcon {
31
- left: var(--zd_size10) ;
32
- }
33
-
34
- [dir=rtl] .searchIcon {
35
- right: var(--zd_size10) ;
36
- }
@@ -1 +0,0 @@
1
- export { default as EmojisHeader } from "./EmojisHeader";
@@ -1,8 +0,0 @@
1
- /** ** Constants *** */
2
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
- const emojisHeaderDefaultProps = {
4
- customStyle: dummyObject,
5
- customProps: dummyObject,
6
- searchPlaceHolder: 'Search...'
7
- };
8
- export default emojisHeaderDefaultProps;
@@ -1,13 +0,0 @@
1
- /** ** Libraries *** */
2
- import PropTypes from 'prop-types';
3
- const emojisHeaderPropTypes = {
4
- customStyle: PropTypes.object,
5
- customProps: PropTypes.shape({
6
- textBoxProps: PropTypes.object
7
- }),
8
- searchString: PropTypes.string,
9
- getRef: PropTypes.func,
10
- onChange: PropTypes.func,
11
- searchPlaceHolder: PropTypes.string
12
- };
13
- export default emojisHeaderPropTypes;
@@ -1,133 +0,0 @@
1
- /* eslint-disable max-len */
2
-
3
- /** ** Libraries *** */
4
- import React, { useCallback } from 'react';
5
- /** ** Components *** */
6
-
7
- import Emoji from "../Emoji/Emoji";
8
- import EmojisEmptyState from "../EmojisEmptyState/EmojisEmptyState";
9
- /** ** Hooks *** */
10
-
11
- import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
12
- import useEmojisList from '@zohoim/chat-components-hooks/es/EmojisList/useEmojisList';
13
- /** ** Constants *** */
14
-
15
- import emojisListDefaultProps from "./props/defaultProps";
16
- import emojisListPropTypes from "./props/propTypes";
17
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
18
- /** ** Methods *** */
19
-
20
- import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
21
- import cssJSLogic from "./css/cssJSLogic";
22
- /** ** Styles *** */
23
-
24
- import style from "./css/EmojisList.module.css";
25
- export default function EmojisList(props) {
26
- const {
27
- customStyle,
28
- customProps,
29
- searchString,
30
- isShowGroupBasedList,
31
- onChangeGroup,
32
- getMethods,
33
- onSelect,
34
- selectedGroup,
35
- rowType,
36
- emojisList: propsEmojisList,
37
- renderEmpty,
38
- isShowOnlyContent
39
- } = props;
40
- const {
41
- emojiProps = dummyObject,
42
- emojisEmptyStateProps = dummyObject
43
- } = customProps;
44
- const {
45
- emojisList,
46
- setGroupRefs,
47
- setContainerRef: listContainerRef,
48
- emptyState,
49
- isRenderEmptyState,
50
- isRenderElement
51
- } = useEmojisList({
52
- emojisList: propsEmojisList,
53
- searchString,
54
- isShowGroupBasedList,
55
- onChangeGroup,
56
- getMethods,
57
- selectedGroup,
58
- isShowOnlyContent
59
- });
60
- const {
61
- isEmpty,
62
- isGroupEmpty
63
- } = emptyState;
64
- /* External customization */
65
-
66
- const newStyle = useMergeStyle(style, customStyle);
67
- /* CSS classnames added based on logic */
68
-
69
- const {
70
- emojisListClass,
71
- groupClass
72
- } = cssJSLogic({
73
- rowType,
74
- isShowGroupBasedList,
75
- isShowOnlyContent,
76
- isEmpty
77
- }, newStyle);
78
- const renderGroup = useCallback(_ref => {
79
- let {
80
- groupName,
81
- emojis
82
- } = _ref;
83
- const isEmptyGroup = isGroupEmpty[groupName];
84
- return !isEmptyGroup ? /*#__PURE__*/React.createElement("div", {
85
- key: groupName,
86
- ref: el => {
87
- setGroupRefs(el, groupName);
88
- },
89
- className: groupClass
90
- }, isShowGroupBasedList ? /*#__PURE__*/React.createElement("div", {
91
- className: newStyle.groupName
92
- }, groupName) : null, Object.keys(emojis).map(emojiName => {
93
- const emoji = emojis[emojiName];
94
- const id = `emoji_${emojiName}`;
95
- return /*#__PURE__*/React.createElement(Emoji, {
96
- key: id,
97
- emoji: emoji,
98
- emojiName: emojiName,
99
- onSelect: onSelect,
100
- ...emojiProps
101
- });
102
- })) : null;
103
- }, [emojiProps, isGroupEmpty, groupClass, isShowGroupBasedList, newStyle.groupName, onSelect, setGroupRefs]);
104
- const renderDefaultEmptyState = useCallback(() => /*#__PURE__*/React.createElement(EmojisEmptyState, { ...emojisEmptyStateProps
105
- }), [emojisEmptyStateProps]);
106
- const renderEmptyState = useCallback(() => {
107
- /* Render EmptyState */
108
- if (isRenderEmptyState) {
109
- const emptyState = renderHandler(renderEmpty || renderDefaultEmptyState)();
110
-
111
- if (emptyState) {
112
- return emptyState;
113
- }
114
-
115
- return null;
116
- }
117
-
118
- return null;
119
- }, [renderEmpty, renderDefaultEmptyState, isRenderEmptyState]);
120
- return /*#__PURE__*/React.createElement(React.Fragment, null, isRenderElement ? /*#__PURE__*/React.createElement("div", {
121
- ref: listContainerRef,
122
- className: emojisListClass
123
- }, !isEmpty ? Object.keys(emojisList).map(groupName => {
124
- const emojis = emojisList[groupName];
125
- return renderGroup({
126
- groupName,
127
- emojis
128
- });
129
- }) : renderEmptyState()) : null);
130
- }
131
- EmojisList.propTypes = emojisListPropTypes;
132
- EmojisList.defaultProps = emojisListDefaultProps;
133
- EmojisList.displayName = 'EmojisList';