@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.
Files changed (181) hide show
  1. package/es/ActionIcon/ActionIcon.js +2 -0
  2. package/es/ActionIconWrapper/ActionIconWrapper.js +15 -3
  3. package/es/ActionIconWrapper/css/ActionIconWrapper.module.css +5 -0
  4. package/es/ActionIconWrapper/css/cssJSLogic.js +14 -0
  5. package/es/ActionIconWrapper/props/propTypes.js +1 -0
  6. package/es/AttachmentBubble/AttachmentBubble.js +26 -9
  7. package/es/AttachmentBubble/css/AttachmentBubble.module.css +16 -1
  8. package/es/AttachmentBubble/css/cssJSLogic.js +15 -0
  9. package/es/AttachmentBubble/props/propTypes.js +2 -1
  10. package/es/AttachmentBubbleInfo/AttachmentBubbleInfo.js +20 -5
  11. package/es/AttachmentBubbleInfo/css/AttachmentBubbleInfo.module.css +11 -3
  12. package/es/AttachmentBubbleInfo/css/cssJSLogic.js +13 -0
  13. package/es/AttachmentBubbleInfo/props/propTypes.js +2 -1
  14. package/es/AttachmentIcon/AttachmentIcon.js +3 -1
  15. package/es/AttachmentIcon/css/AttachmentIcon.module.css +2 -2
  16. package/es/AttachmentIcon/props/propTypes.js +6 -0
  17. package/es/AttachmentIcon/utils/getAttachmentIconComponent.js +12 -5
  18. package/es/AudioBubble/AudioBubble.js +21 -5
  19. package/es/AudioBubble/css/AudioBubble.module.css +4 -0
  20. package/es/AudioBubble/props/defaultProps.js +1 -0
  21. package/es/AudioBubble/props/propTypes.js +2 -1
  22. package/es/ImageBubble/ImageBubble.js +13 -2
  23. package/es/ImageBubble/css/ImageBubble.module.css +8 -2
  24. package/es/ImageBubble/css/cssJSLogic.js +13 -0
  25. package/es/ImageBubble/props/propTypes.js +2 -1
  26. package/es/LocationBubble/LocationBubble.js +15 -3
  27. package/es/LocationBubble/css/LocationBubble.module.css +17 -5
  28. package/es/LocationBubble/css/cssJSLogic.js +13 -0
  29. package/es/LocationBubble/props/propTypes.js +2 -1
  30. package/es/MediaBubbleWrapper/MediaBubbleWrapper.js +7 -4
  31. package/es/MediaBubbleWrapper/css/MediaBubbleWrapper.module.css +4 -0
  32. package/es/MediaBubbleWrapper/props/propTypes.js +2 -1
  33. package/es/Message/Message.js +4 -2
  34. package/es/MessageAction/MessageAction.js +3 -0
  35. package/es/MessageAction/props/propTypes.js +1 -0
  36. package/es/MessageActions/MessageActions.js +18 -4
  37. package/es/MessageActions/props/propTypes.js +1 -0
  38. package/es/MessageBox/MessageBox.js +10 -6
  39. package/es/MessageBox/css/MessageBox.module.css +1 -6
  40. package/es/MessageBubble/MessageBubble.js +21 -13
  41. package/es/MessageStatus/css/MessageStatus.module.css +0 -3
  42. package/es/MoreActionItem/MoreActionItem.js +8 -0
  43. package/es/MoreActionItem/css/MoreActionItem.module.css +1 -3
  44. package/es/MoreActionItem/props/propTypes.js +1 -0
  45. package/es/ReplyBubble/ReplyBubble.js +32 -14
  46. package/es/ReplyBubble/css/ReplyBubble.module.css +3 -3
  47. package/es/ReplyBubble/props/propTypes.js +8 -2
  48. package/es/ReplyBubbleContent/ReplyBubbleContent.js +15 -5
  49. package/es/ReplyBubbleContent/css/ReplyBubbleContent.module.css +22 -7
  50. package/es/ReplyBubbleContent/css/cssJSLogic.js +13 -0
  51. package/es/ReplyBubbleContent/props/propTypes.js +2 -1
  52. package/es/ReplyBubbleHeader/ReplyBubbleHeader.js +24 -9
  53. package/es/ReplyBubbleHeader/css/ReplyBubbleHeader.module.css +37 -6
  54. package/es/ReplyBubbleHeader/css/cssJSLogic.js +12 -0
  55. package/es/ReplyBubbleHeader/props/defaultProps.js +2 -1
  56. package/es/ReplyBubbleHeader/props/propTypes.js +6 -2
  57. package/es/TextBubble/TextBubble.js +17 -5
  58. package/es/TextBubble/css/TextBubble.module.css +16 -1
  59. package/es/TextBubble/css/cssJSLogic.js +18 -0
  60. package/es/TextBubble/props/propTypes.js +2 -1
  61. package/es/Theme/ThemeWrapper.js +2 -2
  62. package/es/Theme/themeVariables/commonThemeColorVariable.js +1 -2
  63. package/es/Theme/themeVariables/dark/blueTheme.js +97 -40
  64. package/es/Theme/themeVariables/dark/commonColorVariable.js +7 -1
  65. package/es/Theme/themeVariables/dark/greenTheme.js +95 -38
  66. package/es/Theme/themeVariables/dark/orangeTheme.js +94 -37
  67. package/es/Theme/themeVariables/dark/redTheme.js +94 -46
  68. package/es/Theme/themeVariables/dark/yellowTheme.js +94 -37
  69. package/es/Theme/themeVariables/light/blueTheme.js +96 -35
  70. package/es/Theme/themeVariables/light/commonColorVariable.js +8 -1
  71. package/es/Theme/themeVariables/light/greenTheme.js +96 -35
  72. package/es/Theme/themeVariables/light/orangeTheme.js +97 -34
  73. package/es/Theme/themeVariables/light/redTheme.js +97 -34
  74. package/es/Theme/themeVariables/light/yellowTheme.js +96 -35
  75. package/es/Theme/themeVariables/pureDark/blueTheme.js +93 -37
  76. package/es/Theme/themeVariables/pureDark/commonColorVariable.js +7 -1
  77. package/es/Theme/themeVariables/pureDark/greenTheme.js +94 -37
  78. package/es/Theme/themeVariables/pureDark/orangeTheme.js +94 -37
  79. package/es/Theme/themeVariables/pureDark/redTheme.js +94 -37
  80. package/es/Theme/themeVariables/pureDark/yellowTheme.js +94 -37
  81. package/es/VideoBubble/VideoBubble.js +7 -3
  82. package/es/VideoBubble/props/propTypes.js +2 -1
  83. package/es/css/common.module.css +6 -0
  84. package/es/icons/factory/common/article.svg +4 -4
  85. package/es/icons/factory/integrations/chInstagram.svg +2 -2
  86. package/es/icons/factory/integrations/chWhatsApp.svg +2 -2
  87. package/es/icons/factory/integrations/ttASAP.svg +6 -1
  88. package/es/icons/factory/integrations/ttLine.svg +8 -0
  89. package/es/icons/factory/integrations/ttTelegram.svg +4 -1
  90. package/es/icons/factory/integrations/ttTwillio.svg +8 -1
  91. package/es/icons/factory/integrations/ttWechat.svg +9 -1
  92. package/es/icons/iconSrc/attachments/Text.js +47 -0
  93. package/es/icons/iconSrc/attachments/index.js +1 -1
  94. package/es/icons/iconSrc/common/Article.js +2 -3
  95. package/es/icons/iconSrc/integrations/ChInstagram.js +2 -3
  96. package/es/icons/iconSrc/integrations/ChWhatsApp.js +2 -3
  97. package/es/icons/iconSrc/integrations/TtASAP.js +11 -15
  98. package/es/icons/iconSrc/integrations/{TtTwitter.js → TtLine.js} +14 -18
  99. package/es/icons/iconSrc/integrations/TtTelegram.js +8 -12
  100. package/es/icons/iconSrc/integrations/TtTwillio.js +15 -19
  101. package/es/icons/iconSrc/integrations/TtWechat.js +19 -20
  102. package/es/icons/iconSrc/integrations/index.js +1 -1
  103. package/es/im/ArticleBubble/ArticleBubble.js +22 -8
  104. package/es/im/ArticleBubble/css/ArticleBubble.module.css +40 -15
  105. package/es/im/ArticleBubble/css/cssJSLogic.js +12 -0
  106. package/es/im/ArticleBubble/props/propTypes.js +2 -1
  107. package/es/im/IMAutoMessageInfo/css/IMAutoMessageInfo.module.css +1 -0
  108. package/es/im/IMIntegrationIcon/IMIntegrationIcon.js +1 -1
  109. package/es/im/IMIntegrationIcon/css/IMIntegrationIcon.module.css +1 -6
  110. package/es/im/IMMessage/IMMessage.js +57 -11
  111. package/es/im/{IMTicketLink/css/IMTicketLink.module.css → IMMessage/css/IMMessage.module.css} +21 -11
  112. package/es/im/IMMessage/css/cssJSLogic.js +23 -0
  113. package/es/im/IMMessage/props/defaultProps.js +2 -1
  114. package/es/im/IMMessage/props/propTypes.js +28 -2
  115. package/es/im/IMMessageContent/IMMessageContent.js +41 -42
  116. package/es/im/IMMessageContent/css/IMMessageContent.module.css +6 -2
  117. package/es/im/IMMessageContent/props/propTypes.js +8 -2
  118. package/es/im/IMMessageMeta/IMMessageMeta.js +8 -8
  119. package/es/im/IMMessageMeta/css/IMMessageMeta.module.css +2 -4
  120. package/es/im/IMMessageMeta/props/defaultProps.js +1 -1
  121. package/es/im/IMPermaLink/IMPermaLink.js +48 -0
  122. package/es/im/IMPermaLink/css/IMPermaLink.module.css +14 -0
  123. package/es/im/{IMTicketLink → IMPermaLink}/css/cssJSLogic.js +3 -3
  124. package/es/im/IMPermaLink/index.js +1 -0
  125. package/es/{InfoBubble → im/IMPermaLink}/props/defaultProps.js +2 -2
  126. package/es/im/IMPermaLink/props/propTypes.js +11 -0
  127. package/es/im/IMReplyBubble/IMReplyBubble.js +10 -5
  128. package/es/im/IMReplyBubble/props/propTypes.js +7 -2
  129. package/es/im/IMTextBubble/IMTextBubble.js +5 -2
  130. package/es/im/IMTextBubble/props/propTypes.js +2 -1
  131. package/es/im/css/common.module.css +6 -0
  132. package/es/im/index.js +1 -2
  133. package/es/index.js +0 -1
  134. package/package.json +4 -21
  135. package/es/InfoBubble/InfoBubble.js +0 -34
  136. package/es/InfoBubble/css/InfoBubble.module.css +0 -0
  137. package/es/InfoBubble/css/cssJSLogic.js +0 -10
  138. package/es/InfoBubble/index.js +0 -1
  139. package/es/InfoBubble/props/propTypes.js +0 -6
  140. package/es/Theme/crm/dark/blueFanTheme.js +0 -28
  141. package/es/Theme/crm/dark/blueTheme.js +0 -28
  142. package/es/Theme/crm/dark/commonColorVariable.js +0 -11
  143. package/es/Theme/crm/dark/darkBlueTheme.js +0 -28
  144. package/es/Theme/crm/dark/darkGreyTheme.js +0 -28
  145. package/es/Theme/crm/dark/greenTheme.js +0 -28
  146. package/es/Theme/crm/dark/orangeTheme.js +0 -28
  147. package/es/Theme/crm/dark/pinkTheme.js +0 -28
  148. package/es/Theme/crm/dark/tealTheme.js +0 -28
  149. package/es/Theme/crm/dark/whiteTheme.js +0 -28
  150. package/es/Theme/crm/light/blueFanTheme.js +0 -28
  151. package/es/Theme/crm/light/blueTheme.js +0 -31
  152. package/es/Theme/crm/light/commonColorVariable.js +0 -9
  153. package/es/Theme/crm/light/darkBlueTheme.js +0 -28
  154. package/es/Theme/crm/light/darkGreyTheme.js +0 -28
  155. package/es/Theme/crm/light/greenTheme.js +0 -28
  156. package/es/Theme/crm/light/orangeTheme.js +0 -28
  157. package/es/Theme/crm/light/pinkTheme.js +0 -28
  158. package/es/Theme/crm/light/tealTheme.js +0 -28
  159. package/es/Theme/crm/light/whiteTheme.js +0 -28
  160. package/es/Theme/crm/pureDark/blueFanTheme.js +0 -28
  161. package/es/Theme/crm/pureDark/blueTheme.js +0 -28
  162. package/es/Theme/crm/pureDark/commonColorVariable.js +0 -9
  163. package/es/Theme/crm/pureDark/darkBlueTheme.js +0 -28
  164. package/es/Theme/crm/pureDark/darkGreyTheme.js +0 -28
  165. package/es/Theme/crm/pureDark/greenTheme.js +0 -28
  166. package/es/Theme/crm/pureDark/orangeTheme.js +0 -28
  167. package/es/Theme/crm/pureDark/pinkTheme.js +0 -28
  168. package/es/Theme/crm/pureDark/tealTheme.js +0 -28
  169. package/es/Theme/crm/pureDark/whiteTheme.js +0 -28
  170. package/es/icons/factory/integrations/ttTwitter.svg +0 -1
  171. package/es/im/IMInfoBubble/IMInfoBubble.js +0 -34
  172. package/es/im/IMInfoBubble/css/IMInfoBubble.module.css +0 -0
  173. package/es/im/IMInfoBubble/css/cssJSLogic.js +0 -10
  174. package/es/im/IMInfoBubble/index.js +0 -1
  175. package/es/im/IMInfoBubble/props/defaultProps.js +0 -6
  176. package/es/im/IMInfoBubble/props/propTypes.js +0 -6
  177. package/es/im/IMTicketLink/IMTicketLink.js +0 -48
  178. package/es/im/IMTicketLink/index.js +0 -1
  179. package/es/im/IMTicketLink/props/defaultProps.js +0 -6
  180. package/es/im/IMTicketLink/props/propTypes.js +0 -11
  181. /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: "Layer_1",
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("defs", null, " ", /*#__PURE__*/React.createElement("style", {
11
- dangerouslySetInnerHTML: {
12
- __html: `.cls-1{fill:#c8cadb;isolation:isolate;opacity:0.5;}.cls-2{fill:#010101;}`
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
- className: "path-0",
22
- 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"
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
- className: "path-1",
25
- 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"
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
- className: "cls-2",
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
- className: "path-2",
35
- 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"
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
- className: "path-3",
38
- 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"
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: "Layer_1",
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("defs", null, " ", /*#__PURE__*/React.createElement("style", {
11
- dangerouslySetInnerHTML: {
12
- __html: `.cls-1{fill:#999;fill-rule:evenodd;}.cls-2{fill:#010101;}`
13
- }
14
- }), " "), " ", /*#__PURE__*/React.createElement("path", {
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
- className: "path-1",
19
- 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"
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: "Layer_1",
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("defs", null, " ", /*#__PURE__*/React.createElement("style", {
11
- dangerouslySetInnerHTML: {
12
- __html: `.cls-1{fill:#c8cadb;isolation:isolate;opacity:0.5;}.cls-2{fill:#010101;}`
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
- className: "path-0",
21
- 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"
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
- className: "path-1",
24
- 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"
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
- className: "path-2",
27
- 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"
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
- className: "path-3",
30
- 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"
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
- className: "path-4",
33
- 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"
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: "Layer_1",
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("defs", null, " ", /*#__PURE__*/React.createElement("style", {
11
- dangerouslySetInnerHTML: {
12
- __html: `.cls-1{fill:#c8cadb;isolation:isolate;opacity:0.5;}.cls-2{fill:#010101;}`
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
- className: "path-0",
22
- 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"
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
- className: "path-1",
25
- 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"
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
- className: "path-2",
28
- 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"
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
- className: "cls-2",
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
- className: "path-3",
36
- 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"
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
- className: "path-4",
39
- d: "M18,15.16a1.3,1.3,0,1,0,1.3,1.3A1.29,1.29,0,0,0,18,15.16Z"
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
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Container, {
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
- })), /*#__PURE__*/React.createElement("div", null, info)), /*#__PURE__*/React.createElement("a", {
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("div", {
72
+ }, /*#__PURE__*/React.createElement(Box, {
59
73
  className: newStyle.title
60
- }, title), /*#__PURE__*/React.createElement("div", {
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) 0 var(--zd_size2) ;
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(--imlib_chat_components_articleBubble_color);
17
+ color: var(--imlib_chat_components_articleBubble_title_color);
16
18
  font-size: var(--zd_font_size15) ;
17
19
  line-height: 1.5;
18
- overflow: hidden;
19
- white-space: nowrap;
20
- word-wrap: normal;
21
- text-overflow: ellipsis;
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(--imlib_chat_components_articleBubble_color);
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
- width: var(--zd_size16) ;
38
- height: var(--zd_size16) ;
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,6 +8,7 @@ const articleBubblePropTypes = {
8
8
  }).isRequired,
9
9
  customStyle: PropTypes.object,
10
10
  info: PropTypes.string,
11
- onClick: PropTypes.func
11
+ onClick: PropTypes.func,
12
+ isFailed: PropTypes.bool
12
13
  };
13
14
  export default articleBubblePropTypes;
@@ -9,4 +9,5 @@
9
9
  font-size: var(--imAutoMessageInfo-font_size);
10
10
  letter-spacing: var(--imAutoMessageInfo-letter_spacing);
11
11
  max-width: var(--imAutoMessageInfo-max_width);
12
+ color: var(--imlib_chat_components_imAutoMessageInfo_text_color);
12
13
  }
@@ -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/TtTwitter'; // import TwitterIcon from '../icons/iconSrc/integrations/TtTwitter';
11
+ import LineIcon from '../../icons/iconSrc/integrations/TtLine'; // import TwitterIcon from '../icons/iconSrc/integrations/TtTwitter';
12
12
 
13
13
  /** ** CSS *** */
14
14
 
@@ -87,9 +87,4 @@
87
87
 
88
88
  .asapIcon {
89
89
  background-color: var(--imlib_chat_components_imIntegrationIcon_asap_color);
90
- }
91
- /* .twitterIcon {
92
- background-color: var(
93
- --imlib_chat_components_imIntegrationIcon_twitter_color
94
- );
95
- } */
90
+ }
@@ -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 IMTicketLink from '../IMTicketLink/IMTicketLink';
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
- createdTime,
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(() => isShowMessageTime ? /*#__PURE__*/React.createElement("div", null, createdTime) : null, [isShowMessageTime, createdTime]);
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(() => /*#__PURE__*/React.createElement(IMTicketLink, _extends({
87
- onClick: onTicketClick,
88
- ticketId: ticketId,
89
- ticketNumber: ticketNumber,
90
- ticketUrl: ticketUrl
91
- }, imTicketLinkProps)), [ticketNumber, ticketUrl, ticketId, onTicketClick, imTicketLinkProps]);
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,
@@ -4,23 +4,33 @@
4
4
  --imTicketLink-max_width: var(--zd_size150);
5
5
  }
6
6
 
7
- .ticketNumber {
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
- .disabled {
21
- pointer-events: none;
14
+ .ticketLinkRight {
15
+ composes: ticketLink;
22
16
  }
23
17
 
24
- a.ticketNumber:hover {
25
- text-decoration: underline;
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
+ }
@@ -6,6 +6,7 @@ const imMessageDefaultProps = {
6
6
  messageDetails: dummyObject,
7
7
  sessionDetails: dummyObject,
8
8
  messageStatusI18N: dummyObject,
9
- customProps: dummyObject
9
+ customProps: dummyObject,
10
+ customStyle: dummyObject
10
11
  };
11
12
  export default imMessageDefaultProps;