@zohoim/chat-components 0.0.14 → 0.0.16
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.
- package/es/ActionIcon/ActionIcon.js +2 -0
- package/es/ActionIconWrapper/ActionIconWrapper.js +15 -3
- package/es/ActionIconWrapper/css/ActionIconWrapper.module.css +5 -0
- package/es/ActionIconWrapper/css/cssJSLogic.js +14 -0
- package/es/ActionIconWrapper/props/propTypes.js +1 -0
- package/es/AttachmentBubble/AttachmentBubble.js +26 -9
- package/es/AttachmentBubble/css/AttachmentBubble.module.css +16 -1
- package/es/AttachmentBubble/css/cssJSLogic.js +15 -0
- package/es/AttachmentBubble/props/propTypes.js +2 -1
- package/es/AttachmentBubbleInfo/AttachmentBubbleInfo.js +20 -5
- package/es/AttachmentBubbleInfo/css/AttachmentBubbleInfo.module.css +11 -3
- package/es/AttachmentBubbleInfo/css/cssJSLogic.js +13 -0
- package/es/AttachmentBubbleInfo/props/propTypes.js +2 -1
- package/es/AttachmentIcon/AttachmentIcon.js +3 -1
- package/es/AttachmentIcon/css/AttachmentIcon.module.css +2 -2
- package/es/AttachmentIcon/props/propTypes.js +6 -0
- package/es/AttachmentIcon/utils/getAttachmentIconComponent.js +12 -5
- package/es/AudioBubble/AudioBubble.js +21 -5
- package/es/AudioBubble/css/AudioBubble.module.css +4 -0
- package/es/AudioBubble/props/defaultProps.js +1 -0
- package/es/AudioBubble/props/propTypes.js +2 -1
- package/es/ImageBubble/ImageBubble.js +13 -2
- package/es/ImageBubble/css/ImageBubble.module.css +8 -2
- package/es/ImageBubble/css/cssJSLogic.js +13 -0
- package/es/ImageBubble/props/propTypes.js +2 -1
- package/es/LocationBubble/LocationBubble.js +15 -3
- package/es/LocationBubble/css/LocationBubble.module.css +17 -5
- package/es/LocationBubble/css/cssJSLogic.js +13 -0
- package/es/LocationBubble/props/propTypes.js +2 -1
- package/es/MediaBubbleWrapper/MediaBubbleWrapper.js +7 -4
- package/es/MediaBubbleWrapper/css/MediaBubbleWrapper.module.css +4 -0
- package/es/MediaBubbleWrapper/props/propTypes.js +2 -1
- package/es/Message/Message.js +4 -2
- package/es/MessageAction/MessageAction.js +3 -0
- package/es/MessageAction/props/propTypes.js +1 -0
- package/es/MessageActions/MessageActions.js +18 -4
- package/es/MessageActions/props/propTypes.js +1 -0
- package/es/MessageBox/MessageBox.js +10 -6
- package/es/MessageBox/css/MessageBox.module.css +1 -6
- package/es/MessageBubble/MessageBubble.js +21 -13
- package/es/MessageStatus/css/MessageStatus.module.css +0 -3
- package/es/MoreActionItem/MoreActionItem.js +8 -0
- package/es/MoreActionItem/css/MoreActionItem.module.css +1 -3
- package/es/MoreActionItem/props/propTypes.js +1 -0
- package/es/ReplyBubble/ReplyBubble.js +32 -14
- package/es/ReplyBubble/css/ReplyBubble.module.css +3 -3
- package/es/ReplyBubble/props/propTypes.js +8 -2
- package/es/ReplyBubbleContent/ReplyBubbleContent.js +15 -5
- package/es/ReplyBubbleContent/css/ReplyBubbleContent.module.css +22 -7
- package/es/ReplyBubbleContent/css/cssJSLogic.js +13 -0
- package/es/ReplyBubbleContent/props/propTypes.js +2 -1
- package/es/ReplyBubbleHeader/ReplyBubbleHeader.js +24 -9
- package/es/ReplyBubbleHeader/css/ReplyBubbleHeader.module.css +37 -6
- package/es/ReplyBubbleHeader/css/cssJSLogic.js +12 -0
- package/es/ReplyBubbleHeader/props/defaultProps.js +2 -1
- package/es/ReplyBubbleHeader/props/propTypes.js +6 -2
- package/es/TextBubble/TextBubble.js +17 -5
- package/es/TextBubble/css/TextBubble.module.css +16 -1
- package/es/TextBubble/css/cssJSLogic.js +18 -0
- package/es/TextBubble/props/propTypes.js +2 -1
- package/es/Theme/ThemeWrapper.js +2 -2
- package/es/Theme/themeVariables/commonThemeColorVariable.js +1 -2
- package/es/Theme/themeVariables/dark/blueTheme.js +97 -40
- package/es/Theme/themeVariables/dark/commonColorVariable.js +7 -1
- package/es/Theme/themeVariables/dark/greenTheme.js +95 -38
- package/es/Theme/themeVariables/dark/orangeTheme.js +94 -37
- package/es/Theme/themeVariables/dark/redTheme.js +94 -46
- package/es/Theme/themeVariables/dark/yellowTheme.js +94 -37
- package/es/Theme/themeVariables/light/blueTheme.js +96 -35
- package/es/Theme/themeVariables/light/commonColorVariable.js +8 -1
- package/es/Theme/themeVariables/light/greenTheme.js +96 -35
- package/es/Theme/themeVariables/light/orangeTheme.js +97 -34
- package/es/Theme/themeVariables/light/redTheme.js +97 -34
- package/es/Theme/themeVariables/light/yellowTheme.js +96 -35
- package/es/Theme/themeVariables/pureDark/blueTheme.js +93 -37
- package/es/Theme/themeVariables/pureDark/commonColorVariable.js +7 -1
- package/es/Theme/themeVariables/pureDark/greenTheme.js +94 -37
- package/es/Theme/themeVariables/pureDark/orangeTheme.js +94 -37
- package/es/Theme/themeVariables/pureDark/redTheme.js +94 -37
- package/es/Theme/themeVariables/pureDark/yellowTheme.js +94 -37
- package/es/VideoBubble/VideoBubble.js +7 -3
- package/es/VideoBubble/props/propTypes.js +2 -1
- package/es/css/common.module.css +6 -0
- package/es/icons/factory/common/article.svg +4 -4
- package/es/icons/factory/integrations/chInstagram.svg +2 -2
- package/es/icons/factory/integrations/chWhatsApp.svg +2 -2
- package/es/icons/factory/integrations/ttASAP.svg +6 -1
- package/es/icons/factory/integrations/ttLine.svg +8 -0
- package/es/icons/factory/integrations/ttTelegram.svg +4 -1
- package/es/icons/factory/integrations/ttTwillio.svg +8 -1
- package/es/icons/factory/integrations/ttWechat.svg +9 -1
- package/es/icons/iconSrc/attachments/Text.js +47 -0
- package/es/icons/iconSrc/attachments/index.js +1 -1
- package/es/icons/iconSrc/common/Article.js +2 -3
- package/es/icons/iconSrc/integrations/ChInstagram.js +2 -3
- package/es/icons/iconSrc/integrations/ChWhatsApp.js +2 -3
- package/es/icons/iconSrc/integrations/TtASAP.js +11 -15
- package/es/icons/iconSrc/integrations/{TtTwitter.js → TtLine.js} +14 -18
- package/es/icons/iconSrc/integrations/TtTelegram.js +8 -12
- package/es/icons/iconSrc/integrations/TtTwillio.js +15 -19
- package/es/icons/iconSrc/integrations/TtWechat.js +19 -20
- package/es/icons/iconSrc/integrations/index.js +1 -1
- package/es/im/ArticleBubble/ArticleBubble.js +22 -8
- package/es/im/ArticleBubble/css/ArticleBubble.module.css +40 -15
- package/es/im/ArticleBubble/css/cssJSLogic.js +12 -0
- package/es/im/ArticleBubble/props/propTypes.js +2 -1
- package/es/im/IMAutoMessageInfo/css/IMAutoMessageInfo.module.css +1 -0
- package/es/im/IMIntegrationIcon/IMIntegrationIcon.js +1 -1
- package/es/im/IMIntegrationIcon/css/IMIntegrationIcon.module.css +1 -6
- package/es/im/IMMessage/IMMessage.js +57 -11
- package/es/im/{IMTicketLink/css/IMTicketLink.module.css → IMMessage/css/IMMessage.module.css} +21 -11
- package/es/im/IMMessage/css/cssJSLogic.js +23 -0
- package/es/im/IMMessage/props/defaultProps.js +2 -1
- package/es/im/IMMessage/props/propTypes.js +28 -2
- package/es/im/IMMessageContent/IMMessageContent.js +41 -42
- package/es/im/IMMessageContent/css/IMMessageContent.module.css +6 -2
- package/es/im/IMMessageContent/props/propTypes.js +8 -2
- package/es/im/IMMessageMeta/IMMessageMeta.js +8 -8
- package/es/im/IMMessageMeta/css/IMMessageMeta.module.css +2 -4
- package/es/im/IMMessageMeta/props/defaultProps.js +1 -1
- package/es/im/IMPermaLink/IMPermaLink.js +48 -0
- package/es/im/IMPermaLink/css/IMPermaLink.module.css +14 -0
- package/es/im/{IMTicketLink → IMPermaLink}/css/cssJSLogic.js +3 -3
- package/es/im/IMPermaLink/index.js +1 -0
- package/es/{InfoBubble → im/IMPermaLink}/props/defaultProps.js +2 -2
- package/es/im/IMPermaLink/props/propTypes.js +11 -0
- package/es/im/IMReplyBubble/IMReplyBubble.js +10 -5
- package/es/im/IMReplyBubble/props/propTypes.js +7 -2
- package/es/im/IMTextBubble/IMTextBubble.js +5 -2
- package/es/im/IMTextBubble/props/propTypes.js +2 -1
- package/es/im/css/common.module.css +6 -0
- package/es/im/index.js +1 -2
- package/es/index.js +0 -1
- package/package.json +4 -21
- package/es/InfoBubble/InfoBubble.js +0 -34
- package/es/InfoBubble/css/InfoBubble.module.css +0 -0
- package/es/InfoBubble/css/cssJSLogic.js +0 -10
- package/es/InfoBubble/index.js +0 -1
- package/es/InfoBubble/props/propTypes.js +0 -6
- package/es/Theme/crm/dark/blueFanTheme.js +0 -28
- package/es/Theme/crm/dark/blueTheme.js +0 -28
- package/es/Theme/crm/dark/commonColorVariable.js +0 -11
- package/es/Theme/crm/dark/darkBlueTheme.js +0 -28
- package/es/Theme/crm/dark/darkGreyTheme.js +0 -28
- package/es/Theme/crm/dark/greenTheme.js +0 -28
- package/es/Theme/crm/dark/orangeTheme.js +0 -28
- package/es/Theme/crm/dark/pinkTheme.js +0 -28
- package/es/Theme/crm/dark/tealTheme.js +0 -28
- package/es/Theme/crm/dark/whiteTheme.js +0 -28
- package/es/Theme/crm/light/blueFanTheme.js +0 -28
- package/es/Theme/crm/light/blueTheme.js +0 -31
- package/es/Theme/crm/light/commonColorVariable.js +0 -9
- package/es/Theme/crm/light/darkBlueTheme.js +0 -28
- package/es/Theme/crm/light/darkGreyTheme.js +0 -28
- package/es/Theme/crm/light/greenTheme.js +0 -28
- package/es/Theme/crm/light/orangeTheme.js +0 -28
- package/es/Theme/crm/light/pinkTheme.js +0 -28
- package/es/Theme/crm/light/tealTheme.js +0 -28
- package/es/Theme/crm/light/whiteTheme.js +0 -28
- package/es/Theme/crm/pureDark/blueFanTheme.js +0 -28
- package/es/Theme/crm/pureDark/blueTheme.js +0 -28
- package/es/Theme/crm/pureDark/commonColorVariable.js +0 -9
- package/es/Theme/crm/pureDark/darkBlueTheme.js +0 -28
- package/es/Theme/crm/pureDark/darkGreyTheme.js +0 -28
- package/es/Theme/crm/pureDark/greenTheme.js +0 -28
- package/es/Theme/crm/pureDark/orangeTheme.js +0 -28
- package/es/Theme/crm/pureDark/pinkTheme.js +0 -28
- package/es/Theme/crm/pureDark/tealTheme.js +0 -28
- package/es/Theme/crm/pureDark/whiteTheme.js +0 -28
- package/es/icons/factory/integrations/ttTwitter.svg +0 -1
- package/es/im/IMInfoBubble/IMInfoBubble.js +0 -34
- package/es/im/IMInfoBubble/css/IMInfoBubble.module.css +0 -0
- package/es/im/IMInfoBubble/css/cssJSLogic.js +0 -10
- package/es/im/IMInfoBubble/index.js +0 -1
- package/es/im/IMInfoBubble/props/defaultProps.js +0 -6
- package/es/im/IMInfoBubble/props/propTypes.js +0 -6
- package/es/im/IMTicketLink/IMTicketLink.js +0 -48
- package/es/im/IMTicketLink/index.js +0 -1
- package/es/im/IMTicketLink/props/defaultProps.js +0 -6
- package/es/im/IMTicketLink/props/propTypes.js +0 -11
- /package/es/icons/factory/attachments/{txt.svg → text.svg} +0 -0
|
@@ -3,39 +3,35 @@ import React from 'react';
|
|
|
3
3
|
import Icon from '@zohodesk/icon/es/Icon/Icon';
|
|
4
4
|
export default function IconComponent(props) {
|
|
5
5
|
return /*#__PURE__*/React.createElement(Icon, props, /*#__PURE__*/React.createElement("svg", {
|
|
6
|
-
id: "
|
|
7
|
-
"data-name": "Layer 1",
|
|
8
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
id: "ttLine",
|
|
9
7
|
viewBox: "0 0 40 40"
|
|
10
|
-
}, " ", /*#__PURE__*/React.createElement("
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}), " "), " ", /*#__PURE__*/React.createElement("ellipse", {
|
|
15
|
-
className: "cls-1",
|
|
8
|
+
}, " ", /*#__PURE__*/React.createElement("ellipse", {
|
|
9
|
+
fill: "#c8cadb",
|
|
10
|
+
isolation: "isolate",
|
|
11
|
+
opacity: "0.5",
|
|
16
12
|
cx: "23.38",
|
|
17
13
|
cy: "21.39",
|
|
18
14
|
rx: "14.03",
|
|
19
15
|
ry: "11.35"
|
|
20
16
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
d: "M28.79,15.92H24.94a.26.26,0,0,0-.26.26v6a.26.26,0,0,0,.26.26h3.85a.25.25,0,0,0,.26-.26v-1a.26.26,0,0,0-.26-.26H26.17v-1h2.62a.26.26,0,0,0,.26-.26v-1a.26.26,0,0,0-.26-.27H26.17v-1h2.62a.25.25,0,0,0,.26-.26v-1A.26.26,0,0,0,28.79,15.92Z",
|
|
18
|
+
className: "path-0"
|
|
23
19
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
d: "M14.55,20.93H11.93V16.18a.26.26,0,0,0-.26-.26h-1a.27.27,0,0,0-.27.26v6a.27.27,0,0,0,.27.26h3.85a.26.26,0,0,0,.26-.26v-1A.26.26,0,0,0,14.55,20.93Z",
|
|
21
|
+
className: "path-1"
|
|
26
22
|
}), " ", /*#__PURE__*/React.createElement("rect", {
|
|
27
|
-
|
|
23
|
+
fill: "#010101",
|
|
28
24
|
x: "15.63",
|
|
29
25
|
y: "15.92",
|
|
30
26
|
width: "1.5",
|
|
31
27
|
height: "6.51",
|
|
32
28
|
rx: "0.26"
|
|
33
29
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
d: "M23.48,15.92h-1a.26.26,0,0,0-.26.26v3.55L19.5,16s0,0,0,0v0H18.32a.27.27,0,0,0-.26.27v6a.26.26,0,0,0,.26.26h1a.27.27,0,0,0,.27-.26V18.61l2.74,3.71s0,.05.06.06h.07a.06.06,0,0,0,.06,0h1a.25.25,0,0,0,.26-.25h0V16.18A.25.25,0,0,0,23.48,15.92Z",
|
|
31
|
+
className: "path-2"
|
|
36
32
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
d: "M19.89,6.17c-8.56,0-15.53,5.72-15.53,12.77,0,6.31,5.47,11.61,12.94,12.59a2.06,2.06,0,0,1,.63.22,2.42,2.42,0,0,1,0,.76l-.22,1.27a1.74,1.74,0,0,0,.47,1.75,1.45,1.45,0,0,0,.92.3,3.14,3.14,0,0,0,1.17-.28C22,34.83,28.94,30.42,32,26.84a11.45,11.45,0,0,0,3.37-7.91C35.41,11.89,28.44,6.17,19.89,6.17ZM30.65,25.61h0c-2.86,3.29-9.4,7.46-11.07,8.2l.17-1a3.7,3.7,0,0,0-.1-1.79,2.51,2.51,0,0,0-2-1.29c-6.6-.88-11.4-5.4-11.4-10.77,0-6,6.13-10.9,13.67-10.9s13.66,4.89,13.66,10.9A9.61,9.61,0,0,1,30.65,25.61Z",
|
|
34
|
+
className: "path-3"
|
|
39
35
|
}), " "));
|
|
40
36
|
}
|
|
41
37
|
IconComponent.propTypes = Icon.propTypes;
|
|
@@ -3,20 +3,16 @@ import React from 'react';
|
|
|
3
3
|
import Icon from '@zohodesk/icon/es/Icon/Icon';
|
|
4
4
|
export default function IconComponent(props) {
|
|
5
5
|
return /*#__PURE__*/React.createElement(Icon, props, /*#__PURE__*/React.createElement("svg", {
|
|
6
|
-
id: "
|
|
7
|
-
"data-name": "Layer 1",
|
|
8
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
id: "ttTelegram",
|
|
9
7
|
viewBox: "0 0 40 40"
|
|
10
|
-
}, " ", /*#__PURE__*/React.createElement("
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
className: "path-0",
|
|
16
|
-
d: "M23.73,36.75l-7.52-7.36a1.07,1.07,0,0,1-.06-1.46l8.18-9.38a.22.22,0,0,0-.29-.32L13.46,25.84a1.07,1.07,0,0,1-1.25,0l-5.79-4.3a1.51,1.51,0,0,1,.42-2.65l24.45-8.23a1.52,1.52,0,0,1,1.94,1.87l-7,23.58A1.52,1.52,0,0,1,23.73,36.75Z"
|
|
8
|
+
}, " ", /*#__PURE__*/React.createElement("path", {
|
|
9
|
+
fill: "#999",
|
|
10
|
+
fillRule: "evenodd",
|
|
11
|
+
d: "M23.73,36.75l-7.52-7.36a1.07,1.07,0,0,1-.06-1.46l8.18-9.38a.22.22,0,0,0-.29-.32L13.46,25.84a1.07,1.07,0,0,1-1.25,0l-5.79-4.3a1.51,1.51,0,0,1,.42-2.65l24.45-8.23a1.52,1.52,0,0,1,1.94,1.87l-7,23.58A1.52,1.52,0,0,1,23.73,36.75Z",
|
|
12
|
+
className: "path-0"
|
|
17
13
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
d: "M22.79,35.19A2.51,2.51,0,0,1,21,34.47L13.51,27.1a2.06,2.06,0,0,1-.11-2.83L17.12,20,12,23.65a2,2,0,0,1-2.43,0L3.82,19.34a2.52,2.52,0,0,1-1-2.42,2.49,2.49,0,0,1,1.68-2L29,6.71a2.52,2.52,0,0,1,3.22,3.1l-7,23.57a2.51,2.51,0,0,1-1.78,1.73A2.8,2.8,0,0,1,22.79,35.19Zm-.62-21a1.22,1.22,0,0,1,.91,2l-8.17,9.37L22.43,33h0a.54.54,0,0,0,.5.13.5.5,0,0,0,.36-.35l7-23.58a.52.52,0,0,0-.66-.64L5.16,16.83a.51.51,0,0,0-.35.4.53.53,0,0,0,.2.5L10.8,22l10.66-7.61A1.16,1.16,0,0,1,22.17,14.19Zm-.59.7Z",
|
|
15
|
+
className: "path-1"
|
|
20
16
|
}), " "));
|
|
21
17
|
}
|
|
22
18
|
IconComponent.propTypes = Icon.propTypes;
|
|
@@ -3,34 +3,30 @@ import React from 'react';
|
|
|
3
3
|
import Icon from '@zohodesk/icon/es/Icon/Icon';
|
|
4
4
|
export default function IconComponent(props) {
|
|
5
5
|
return /*#__PURE__*/React.createElement(Icon, props, /*#__PURE__*/React.createElement("svg", {
|
|
6
|
-
id: "
|
|
7
|
-
"data-name": "Layer 1",
|
|
8
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
id: "ttTwillio",
|
|
9
7
|
viewBox: "0 0 40 40"
|
|
10
|
-
}, " ", /*#__PURE__*/React.createElement("
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}), " "), " ", /*#__PURE__*/React.createElement("circle", {
|
|
15
|
-
className: "cls-1",
|
|
8
|
+
}, " ", /*#__PURE__*/React.createElement("circle", {
|
|
9
|
+
fill: "#c8cadb",
|
|
10
|
+
isolation: "isolate",
|
|
11
|
+
opacity: "0.5",
|
|
16
12
|
cx: "23.21",
|
|
17
13
|
cy: "23",
|
|
18
14
|
r: "11.54"
|
|
19
15
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
d: "M20,4.65A15.35,15.35,0,1,0,35.35,20,15.35,15.35,0,0,0,20,4.65Zm0,28.57A13.22,13.22,0,1,1,33.22,20,13.22,13.22,0,0,1,20,33.22Z",
|
|
17
|
+
className: "path-0"
|
|
22
18
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
d: "M15.61,13A3.07,3.07,0,1,0,18.67,16h0A3.07,3.07,0,0,0,15.61,13ZM16.55,16a.94.94,0,1,1-.94-.94.94.94,0,0,1,.94.94Z",
|
|
20
|
+
className: "path-1"
|
|
25
21
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
d: "M24.51,13A3.07,3.07,0,1,0,27.57,16h0A3.07,3.07,0,0,0,24.51,13ZM25.45,16a.94.94,0,1,1-.95-.94,1,1,0,0,1,.95.93Z",
|
|
23
|
+
className: "path-2"
|
|
28
24
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
d: "M15.61,21.25a3.07,3.07,0,1,0,3.06,3.06h0A3.06,3.06,0,0,0,15.61,21.25Zm.94,3.06a.94.94,0,0,1-.93.94h0a.94.94,0,1,1,.94-.94Z",
|
|
26
|
+
className: "path-3"
|
|
31
27
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
d: "M24.51,21.25a3.07,3.07,0,1,0,3.06,3.06h0A3.06,3.06,0,0,0,24.51,21.25Zm.94,3.06a.94.94,0,0,1-.94.94h0a.94.94,0,0,1,0-1.88,1,1,0,0,1,.95.94Z",
|
|
29
|
+
className: "path-4"
|
|
34
30
|
}), " "));
|
|
35
31
|
}
|
|
36
32
|
IconComponent.propTypes = Icon.propTypes;
|
|
@@ -3,40 +3,39 @@ import React from 'react';
|
|
|
3
3
|
import Icon from '@zohodesk/icon/es/Icon/Icon';
|
|
4
4
|
export default function IconComponent(props) {
|
|
5
5
|
return /*#__PURE__*/React.createElement(Icon, props, /*#__PURE__*/React.createElement("svg", {
|
|
6
|
-
id: "
|
|
7
|
-
"data-name": "Layer 1",
|
|
8
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
id: "ttWechat",
|
|
9
7
|
viewBox: "0 0 40 40"
|
|
10
|
-
}, " ", /*#__PURE__*/React.createElement("
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}), " "), " ", /*#__PURE__*/React.createElement("ellipse", {
|
|
15
|
-
className: "cls-1",
|
|
8
|
+
}, " ", /*#__PURE__*/React.createElement("ellipse", {
|
|
9
|
+
fill: "#c8cadb",
|
|
10
|
+
isolation: "isolate",
|
|
11
|
+
opacity: "0.5",
|
|
16
12
|
cx: "27.55",
|
|
17
13
|
cy: "23",
|
|
18
14
|
rx: "7.04",
|
|
19
15
|
ry: "5.69"
|
|
20
16
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
fill: "#c8cadb",
|
|
18
|
+
isolation: "isolate",
|
|
19
|
+
opacity: "0.5",
|
|
20
|
+
d: "M25.26,16.47C24.51,12.81,20.58,10,15.83,10c-5.28,0-9.57,3.47-9.57,7.74s4.29,7.74,9.57,7.74a11.52,11.52,0,0,0,3.67-.59,5.55,5.55,0,0,1-.34-1.9C19.16,19.9,21.74,17.28,25.26,16.47Z",
|
|
21
|
+
className: "path-0"
|
|
23
22
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
d: "M27.55,14.7h-.13C25.89,10,21,6.7,15.33,6.7c-6.92,0-12.57,4.94-12.57,11a10.24,10.24,0,0,0,3.52,7.63V31a.93.93,0,0,0,.93.93h0a.83.83,0,0,0,.49-.14l5.24-3.24a14.53,14.53,0,0,0,6.65-.44,10.12,10.12,0,0,0,8,3.66,10.31,10.31,0,0,0,1.75-.13L33.17,34a.91.91,0,0,0,.49.14.93.93,0,0,0,.93-.93V29.07a7.94,7.94,0,0,0,2.65-5.86C37.24,18.52,32.89,14.7,27.55,14.7Zm-9,11.72a12.59,12.59,0,0,1-5.63.19.93.93,0,0,0-.67.13L8.15,29.28V24.92a.93.93,0,0,0-.34-.71,8.49,8.49,0,0,1-3.18-6.5c0-5,4.8-9.14,10.7-9.14,4.7,0,8.76,2.56,10.18,6.32-4.38.82-7.66,4.24-7.66,8.32A7.59,7.59,0,0,0,18.56,26.42Zm14.49,1.51h0a.92.92,0,0,0-.34.71v2.87L30,29.82a1,1,0,0,0-.5-.14l-.17,0a9.43,9.43,0,0,1-1.75.17c-4.32,0-7.83-3-7.83-6.65s3.5-6.65,7.83-6.65,7.82,3,7.82,6.65A6.15,6.15,0,0,1,33.05,27.93Z",
|
|
24
|
+
className: "path-1"
|
|
26
25
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
d: "M25.53,21.11a1.29,1.29,0,1,0,1.16,1.41A1.3,1.3,0,0,0,25.53,21.11Z",
|
|
27
|
+
className: "path-2"
|
|
29
28
|
}), " ", /*#__PURE__*/React.createElement("circle", {
|
|
30
|
-
|
|
29
|
+
fill: "#010101",
|
|
31
30
|
cx: "29.99",
|
|
32
31
|
cy: "22.4",
|
|
33
32
|
r: "1.29"
|
|
34
33
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
d: "M11.52,15.16a1.3,1.3,0,1,0,1.29,1.3A1.3,1.3,0,0,0,11.52,15.16Z",
|
|
35
|
+
className: "path-3"
|
|
37
36
|
}), " ", /*#__PURE__*/React.createElement("path", {
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
d: "M18,15.16a1.3,1.3,0,1,0,1.3,1.3A1.29,1.29,0,0,0,18,15.16Z",
|
|
38
|
+
className: "path-4"
|
|
40
39
|
}), " "));
|
|
41
40
|
}
|
|
42
41
|
IconComponent.propTypes = Icon.propTypes;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { default as ChInstagram } from './ChInstagram';
|
|
2
2
|
export { default as ChWhatsApp } from './ChWhatsApp';
|
|
3
3
|
export { default as TtASAP } from './TtASAP';
|
|
4
|
+
export { default as TtLine } from './TtLine';
|
|
4
5
|
export { default as TtTelegram } from './TtTelegram';
|
|
5
6
|
export { default as TtTwillio } from './TtTwillio';
|
|
6
|
-
export { default as TtTwitter } from './TtTwitter';
|
|
7
7
|
export { default as TtWechat } from './TtWechat';
|
|
@@ -10,19 +10,23 @@ import articleBubbleDefaultProps from './props/defaultProps';
|
|
|
10
10
|
import articleBubblePropTypes from './props/propTypes';
|
|
11
11
|
/** ** Components *** */
|
|
12
12
|
|
|
13
|
-
import { Container } from '@zohodesk/components/es/Layout';
|
|
13
|
+
import { Container, Box } from '@zohodesk/components/es/Layout';
|
|
14
14
|
/** ** Styles *** */
|
|
15
15
|
|
|
16
16
|
import style from './css/ArticleBubble.module.css';
|
|
17
17
|
/** ** Icons *** */
|
|
18
18
|
|
|
19
19
|
import ArticleIcon from '../../icons/iconSrc/common/Article';
|
|
20
|
+
/** ** Methods *** */
|
|
21
|
+
|
|
22
|
+
import cssJSLogic from './css/cssJSLogic';
|
|
20
23
|
export default function ArticleBubble(props) {
|
|
21
24
|
const {
|
|
22
25
|
customStyle,
|
|
23
26
|
info,
|
|
24
27
|
articleDetails,
|
|
25
|
-
onClick: propOnClick
|
|
28
|
+
onClick: propOnClick,
|
|
29
|
+
isFailed
|
|
26
30
|
} = props;
|
|
27
31
|
const {
|
|
28
32
|
title,
|
|
@@ -41,23 +45,33 @@ export default function ArticleBubble(props) {
|
|
|
41
45
|
const iconCustomStyle = useMemo(() => ({
|
|
42
46
|
base: newStyle.articleIcon
|
|
43
47
|
}), [newStyle.articleIcon]);
|
|
44
|
-
|
|
48
|
+
/* css classnames added based on logic */
|
|
49
|
+
|
|
50
|
+
const {
|
|
51
|
+
articleBubbleClass
|
|
52
|
+
} = cssJSLogic({
|
|
53
|
+
isFailed
|
|
54
|
+
}, newStyle);
|
|
55
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
56
|
+
className: articleBubbleClass
|
|
57
|
+
}, /*#__PURE__*/React.createElement(Container, {
|
|
45
58
|
align: "vertical",
|
|
46
59
|
alignBox: "row",
|
|
47
60
|
isCover: false
|
|
48
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
49
|
-
className: newStyle.icon
|
|
50
61
|
}, /*#__PURE__*/React.createElement(ArticleIcon, {
|
|
51
62
|
customStyle: iconCustomStyle
|
|
52
|
-
})
|
|
63
|
+
}), /*#__PURE__*/React.createElement(Box, {
|
|
64
|
+
className: style.content,
|
|
65
|
+
flexible: true
|
|
66
|
+
}, info)), /*#__PURE__*/React.createElement("a", {
|
|
53
67
|
className: newStyle.articleWrapper,
|
|
54
68
|
href: webUrl,
|
|
55
69
|
onClick: onClick,
|
|
56
70
|
rel: "noopener noreferrer",
|
|
57
71
|
target: "_blank"
|
|
58
|
-
}, /*#__PURE__*/React.createElement(
|
|
72
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
59
73
|
className: newStyle.title
|
|
60
|
-
}, title), /*#__PURE__*/React.createElement(
|
|
74
|
+
}, title), /*#__PURE__*/React.createElement(Box, {
|
|
61
75
|
className: newStyle.summary
|
|
62
76
|
}, summary)));
|
|
63
77
|
}
|
|
@@ -1,28 +1,32 @@
|
|
|
1
|
-
.icon {
|
|
2
|
-
display: flex;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
1
|
.articleWrapper {
|
|
2
|
+
display: block;
|
|
6
3
|
padding: var(--zd_size8) var(--zd_size10) ;
|
|
7
4
|
background-color: var(--imlib_chat_components_articleBubble_bg_color);
|
|
8
5
|
border-radius: 3px;
|
|
9
6
|
cursor: pointer;
|
|
10
7
|
border: 1px solid var(--imlib_chat_components_articleBubble_border_color);
|
|
11
|
-
margin: var(--zd_size4)
|
|
8
|
+
margin-top: var(--zd_size4) ;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.failedArticleBubbleClass .articleWrapper{
|
|
12
|
+
background-color: var(--imlib_chat_components_articleBubble_bg_color_failed);
|
|
13
|
+
border-color: var(--imlib_chat_components_articleBubble_border_color_failed);
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
.title {
|
|
15
|
-
color: var(--
|
|
17
|
+
color: var(--imlib_chat_components_articleBubble_title_color);
|
|
16
18
|
font-size: var(--zd_font_size15) ;
|
|
17
19
|
line-height: 1.5;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
composes: dotted from "../../css/common.module.css";
|
|
21
|
+
font-family: var(--zd_semibold);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.failedArticleBubbleClass .title{
|
|
25
|
+
color: var(--imlib_chat_components_articleBubble_title_color_failed);
|
|
22
26
|
}
|
|
23
27
|
|
|
24
28
|
.summary {
|
|
25
|
-
color: var(--
|
|
29
|
+
color: var(--imlib_chat_components_articleBubble_summary_color);
|
|
26
30
|
font-size: var(--zd_font_size13) ;
|
|
27
31
|
line-height: 1.5;
|
|
28
32
|
max-height: var(--zd_size40) ;
|
|
@@ -33,15 +37,36 @@
|
|
|
33
37
|
overflow: hidden;
|
|
34
38
|
}
|
|
35
39
|
|
|
40
|
+
.failedArticleBubbleClass .summary{
|
|
41
|
+
color: var(--imlib_chat_components_articleBubble_summary_color_failed);
|
|
42
|
+
}
|
|
43
|
+
|
|
36
44
|
.articleIcon {
|
|
37
|
-
|
|
38
|
-
|
|
45
|
+
display: flex;
|
|
46
|
+
flex-shrink: 0;
|
|
47
|
+
width: var(--zd_size21) !important;
|
|
48
|
+
height: var(--zd_size21) !important;
|
|
39
49
|
}
|
|
40
50
|
|
|
41
51
|
.articleIcon :global(.path-0) {
|
|
42
|
-
fill: var(--imlib_chat_components_imIntegrationIcon_path0_color);
|
|
52
|
+
/* fill: var(--imlib_chat_components_imIntegrationIcon_path0_color); */
|
|
53
|
+
fill: rgba(200,203,220,0.7);
|
|
43
54
|
}
|
|
44
55
|
|
|
45
56
|
.articleIcon :global(.path-1) {
|
|
46
|
-
fill: var(--imlib_chat_components_imIntegrationIcon_path1_color);
|
|
57
|
+
/* fill: var(--imlib_chat_components_imIntegrationIcon_path1_color); */
|
|
58
|
+
fill: #000;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.content{
|
|
62
|
+
composes: dotted from "../../css/common.module.css";
|
|
63
|
+
font-size: var(--zd_font_size13) ;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
[dir=ltr] .content{
|
|
67
|
+
margin-left: var(--zd_size8);
|
|
47
68
|
}
|
|
69
|
+
|
|
70
|
+
[dir=rtl] .content{
|
|
71
|
+
margin-right: var(--zd_size8);
|
|
72
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { compileClassNames } from '@zohodesk/utils';
|
|
2
|
+
export default function cssJSLogic(props, style) {
|
|
3
|
+
const {
|
|
4
|
+
isFailed
|
|
5
|
+
} = props;
|
|
6
|
+
const articleBubbleClass = compileClassNames({
|
|
7
|
+
[style.failedArticleBubbleClass]: isFailed
|
|
8
|
+
});
|
|
9
|
+
return {
|
|
10
|
+
articleBubbleClass
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -8,7 +8,7 @@ import InstagramIcon from '../../icons/iconSrc/integrations/ChInstagram';
|
|
|
8
8
|
import ASAPIcon from '../../icons/iconSrc/integrations/TtASAP';
|
|
9
9
|
import WeChatIcon from '../../icons/iconSrc/integrations/TtWechat';
|
|
10
10
|
import TwillioIcon from '../../icons/iconSrc/integrations/TtTwillio';
|
|
11
|
-
import LineIcon from '../../icons/iconSrc/integrations/
|
|
11
|
+
import LineIcon from '../../icons/iconSrc/integrations/TtLine'; // import TwitterIcon from '../icons/iconSrc/integrations/TtTwitter';
|
|
12
12
|
|
|
13
13
|
/** ** CSS *** */
|
|
14
14
|
|
|
@@ -4,7 +4,11 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
4
4
|
import React, { useCallback, useMemo } from 'react';
|
|
5
5
|
/** ** Hooks *** */
|
|
6
6
|
|
|
7
|
+
import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
|
|
7
8
|
import useIMMessage from '@zohoim/chat-components-hooks/es/im/IMMessage/useIMMessage';
|
|
9
|
+
/** ** Methods *** */
|
|
10
|
+
|
|
11
|
+
import cssJSLogic from './css/cssJSLogic';
|
|
8
12
|
/** ** Constants *** */
|
|
9
13
|
|
|
10
14
|
import imMessageDefaultProps from './props/defaultProps';
|
|
@@ -14,8 +18,12 @@ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyCon
|
|
|
14
18
|
|
|
15
19
|
import Message from '../../Message/Message';
|
|
16
20
|
import IMMessageContent from '../IMMessageContent/IMMessageContent';
|
|
17
|
-
import
|
|
21
|
+
import IMPermaLink from '../IMPermaLink/IMPermaLink';
|
|
18
22
|
import IMIntegrationIcon from '../IMIntegrationIcon/IMIntegrationIcon';
|
|
23
|
+
import IMMessageMeta from '../IMMessageMeta/IMMessageMeta';
|
|
24
|
+
/** ** Styles *** */
|
|
25
|
+
|
|
26
|
+
import style from './css/IMMessage.module.css';
|
|
19
27
|
export default function IMMessage(props) {
|
|
20
28
|
const {
|
|
21
29
|
defaultAvatarUrls,
|
|
@@ -24,19 +32,26 @@ export default function IMMessage(props) {
|
|
|
24
32
|
messageDisplayProps,
|
|
25
33
|
actions,
|
|
26
34
|
onSelectAction,
|
|
35
|
+
onMouseEnterAction,
|
|
27
36
|
replyText,
|
|
28
37
|
seeMoreText,
|
|
38
|
+
deleteMessageText,
|
|
39
|
+
autoMessagesI18N,
|
|
40
|
+
autoMessagesTitleI18N,
|
|
29
41
|
messageStatusI18N,
|
|
30
42
|
onLoadFullMessage,
|
|
31
43
|
onClickReply,
|
|
32
44
|
onTicketClick,
|
|
45
|
+
onMessageContentClick,
|
|
46
|
+
customStyle,
|
|
33
47
|
customProps
|
|
34
48
|
} = props;
|
|
35
49
|
const {
|
|
36
50
|
messageProps = dummyObject,
|
|
37
51
|
imMessageContentProps = dummyObject,
|
|
38
52
|
imTicketLinkProps = dummyObject,
|
|
39
|
-
imIntegrationIconProps = dummyObject
|
|
53
|
+
imIntegrationIconProps = dummyObject,
|
|
54
|
+
imMessageMetaProps = dummyObject
|
|
40
55
|
} = customProps;
|
|
41
56
|
const {
|
|
42
57
|
isHighlightMessage,
|
|
@@ -44,6 +59,7 @@ export default function IMMessage(props) {
|
|
|
44
59
|
isShowSender,
|
|
45
60
|
isShowMessageTime
|
|
46
61
|
} = messageDisplayProps;
|
|
62
|
+
const newStyle = useMergeStyle(style, customStyle);
|
|
47
63
|
const {
|
|
48
64
|
direction,
|
|
49
65
|
// isBot,
|
|
@@ -55,9 +71,11 @@ export default function IMMessage(props) {
|
|
|
55
71
|
// messageMetaType,
|
|
56
72
|
// messageType,
|
|
57
73
|
messageStatus,
|
|
74
|
+
isFailedMessage,
|
|
58
75
|
isAgentMessage,
|
|
59
76
|
messageStatusTitle,
|
|
60
|
-
|
|
77
|
+
dateTimeDetails,
|
|
78
|
+
autoMessageType,
|
|
61
79
|
// messageId,
|
|
62
80
|
ticketId,
|
|
63
81
|
ticketNumber,
|
|
@@ -70,25 +88,52 @@ export default function IMMessage(props) {
|
|
|
70
88
|
});
|
|
71
89
|
/** ** Render Footer *** */
|
|
72
90
|
|
|
73
|
-
const handleRenderMessageBoxFooter = useCallback(() =>
|
|
91
|
+
const handleRenderMessageBoxFooter = useCallback(() => {
|
|
92
|
+
const {
|
|
93
|
+
displayDateTime,
|
|
94
|
+
tooltip
|
|
95
|
+
} = dateTimeDetails || {};
|
|
96
|
+
return /*#__PURE__*/React.createElement(IMMessageMeta, _extends({
|
|
97
|
+
autoMessagesI18N: autoMessagesI18N,
|
|
98
|
+
autoMessagesTitleI18N: autoMessagesTitleI18N,
|
|
99
|
+
autoMessageType: autoMessageType,
|
|
100
|
+
direction: direction,
|
|
101
|
+
time: isShowMessageTime ? displayDateTime : '',
|
|
102
|
+
timeTooltip: tooltip
|
|
103
|
+
}, imMessageMetaProps));
|
|
104
|
+
}, [isShowMessageTime, dateTimeDetails, direction, autoMessageType, imMessageMetaProps, autoMessagesI18N, autoMessagesTitleI18N]);
|
|
74
105
|
/** ** Render Message Content *** */
|
|
75
106
|
|
|
76
107
|
const handleRenderMessage = useCallback(() => /*#__PURE__*/React.createElement(IMMessageContent, _extends({
|
|
108
|
+
deleteMessageText: deleteMessageText,
|
|
109
|
+
isFailed: isFailedMessage,
|
|
77
110
|
messageDetails: messageDetails,
|
|
111
|
+
onClick: onMessageContentClick,
|
|
78
112
|
onClickReply: onClickReply,
|
|
79
113
|
onLoadFullMessage: onLoadFullMessage,
|
|
80
114
|
replyText: replyText,
|
|
81
115
|
seeMoreText: seeMoreText,
|
|
82
116
|
sessionDetails: sessionDetails
|
|
83
|
-
}, imMessageContentProps)), [seeMoreText, replyText, messageDetails, sessionDetails, onLoadFullMessage, onClickReply, imMessageContentProps]);
|
|
117
|
+
}, imMessageContentProps)), [seeMoreText, replyText, deleteMessageText, messageDetails, sessionDetails, onMessageContentClick, onLoadFullMessage, onClickReply, isFailedMessage, imMessageContentProps]);
|
|
84
118
|
/** ** Render Secondary Actions - TicketId *** */
|
|
85
119
|
|
|
86
|
-
const handleRenderSecondaryActions = useCallback(() =>
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
120
|
+
const handleRenderSecondaryActions = useCallback(() => {
|
|
121
|
+
const {
|
|
122
|
+
imTicketLinkClass
|
|
123
|
+
} = cssJSLogic({
|
|
124
|
+
messageDetails
|
|
125
|
+
}, newStyle);
|
|
126
|
+
const customStyle = {
|
|
127
|
+
text: imTicketLinkClass
|
|
128
|
+
};
|
|
129
|
+
return /*#__PURE__*/React.createElement(IMPermaLink, _extends({
|
|
130
|
+
customStyle: customStyle,
|
|
131
|
+
href: ticketUrl,
|
|
132
|
+
id: ticketId,
|
|
133
|
+
onClick: onTicketClick,
|
|
134
|
+
text: ticketNumber ? `#${ticketNumber}` : ''
|
|
135
|
+
}, imTicketLinkProps));
|
|
136
|
+
}, [ticketNumber, ticketUrl, ticketId, onTicketClick, imTicketLinkProps, messageDetails, newStyle]);
|
|
92
137
|
/** ** Render Owner Status Icon *** */
|
|
93
138
|
|
|
94
139
|
const handleRenderIntegIcon = useCallback(() => /*#__PURE__*/React.createElement(IMIntegrationIcon, _extends({
|
|
@@ -121,6 +166,7 @@ export default function IMMessage(props) {
|
|
|
121
166
|
isActive: isHighlightMessage,
|
|
122
167
|
isShowSender: isShowSender,
|
|
123
168
|
needSender: needSender,
|
|
169
|
+
onMouseEnterAction: onMouseEnterAction,
|
|
124
170
|
onSelectAction: onSelectAction,
|
|
125
171
|
ownerDetails: ownerDetails,
|
|
126
172
|
renderContent: handleRenderMessage,
|
package/es/im/{IMTicketLink/css/IMTicketLink.module.css → IMMessage/css/IMMessage.module.css}
RENAMED
|
@@ -4,23 +4,33 @@
|
|
|
4
4
|
--imTicketLink-max_width: var(--zd_size150);
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
.
|
|
7
|
+
.ticketLink {
|
|
8
8
|
composes: varClass;
|
|
9
9
|
font-size: var(--imTicketLink-font_size);
|
|
10
10
|
max-width: var(--imTicketLink-max_width);
|
|
11
|
-
color: var(--imlib_chat_components_imTicketLink_color);
|
|
12
|
-
display: block;
|
|
13
|
-
white-space: nowrap;
|
|
14
|
-
overflow: hidden;
|
|
15
|
-
text-overflow: ellipsis;
|
|
16
11
|
margin-top: var(--imTicketLink-top_gap);
|
|
17
|
-
cursor: pointer;
|
|
18
12
|
}
|
|
19
13
|
|
|
20
|
-
.
|
|
21
|
-
|
|
14
|
+
.ticketLinkRight {
|
|
15
|
+
composes: ticketLink;
|
|
22
16
|
}
|
|
23
17
|
|
|
24
|
-
|
|
25
|
-
text-
|
|
18
|
+
[dir=ltr] .ticketLinkRight {
|
|
19
|
+
text-align: left;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
[dir=rtl] .ticketLinkRight {
|
|
23
|
+
text-align: right;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.ticketLinkLeft {
|
|
27
|
+
composes: ticketLink;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
[dir=ltr] .ticketLinkLeft {
|
|
31
|
+
text-align: right;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
[dir=rtl] .ticketLinkLeft {
|
|
35
|
+
text-align: left;
|
|
26
36
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** ** Methods *** */
|
|
2
|
+
import { compileClassNames } from '@zohodesk/utils';
|
|
3
|
+
import getMessageDirectionType from '@zohoim/chat-components-utils/es/imUtils/getMessageDirection';
|
|
4
|
+
/** ** Constants *** */
|
|
5
|
+
|
|
6
|
+
import { direction as directionConstants } from '@zohoim/chat-components-utils/es/constants/messageConstants';
|
|
7
|
+
export default function cssJSLogic(props, style) {
|
|
8
|
+
const {
|
|
9
|
+
messageDetails
|
|
10
|
+
} = props;
|
|
11
|
+
const {
|
|
12
|
+
direction
|
|
13
|
+
} = getMessageDirectionType({
|
|
14
|
+
messageDetails
|
|
15
|
+
});
|
|
16
|
+
const imTicketLinkClass = compileClassNames({
|
|
17
|
+
[style.ticketLinkLeft]: directionConstants.OUT === direction,
|
|
18
|
+
[style.ticketLinkRight]: directionConstants.IN === direction
|
|
19
|
+
});
|
|
20
|
+
return {
|
|
21
|
+
imTicketLinkClass
|
|
22
|
+
};
|
|
23
|
+
}
|