@zohoim/chat-components 0.0.5 → 0.0.7

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 (302) hide show
  1. package/es/ActionIcon/ActionIcon.js +13 -11
  2. package/es/ArticleBubble/ArticleBubble.js +60 -0
  3. package/es/ArticleBubble/css/ArticleBubble.module.css +1 -0
  4. package/es/ArticleBubble/css/cssJSLogic.js +34 -0
  5. package/es/ArticleBubble/index.js +1 -0
  6. package/es/ArticleBubble/props/defaultProps.js +6 -0
  7. package/es/ArticleBubble/props/propTypes.js +10 -0
  8. package/es/AttachmentBubble/AttachmentBubble.js +55 -0
  9. package/es/AttachmentBubble/css/AttachmentBubble.module.css +17 -0
  10. package/es/AttachmentBubble/css/cssJSLogic.js +18 -0
  11. package/es/AttachmentBubble/index.js +1 -0
  12. package/es/AttachmentBubble/props/defaultProps.js +7 -0
  13. package/es/AttachmentBubble/props/propTypes.js +10 -0
  14. package/es/AttachmentBubbleInfo/AttachmentBubbleInfo.js +45 -0
  15. package/es/AttachmentBubbleInfo/css/AttachmentBubbleInfo.module.css +18 -0
  16. package/es/AttachmentBubbleInfo/css/cssJSLogic.js +18 -0
  17. package/es/AttachmentBubbleInfo/index.js +1 -0
  18. package/es/AttachmentBubbleInfo/props/defaultProps.js +6 -0
  19. package/es/AttachmentBubbleInfo/props/propTypes.js +8 -0
  20. package/es/Audio/Audio.js +60 -0
  21. package/es/Audio/css/Audio.module.css +3 -0
  22. package/es/Audio/css/cssJSLogic.js +14 -0
  23. package/es/Audio/index.js +1 -0
  24. package/es/Audio/props/defaultProps.js +7 -0
  25. package/es/Audio/props/propTypes.js +9 -0
  26. package/es/AudioBubble/AudioBubble.js +58 -0
  27. package/es/AudioBubble/css/AudioBubble.module.css +3 -0
  28. package/es/AudioBubble/css/cssJSLogic.js +20 -0
  29. package/es/AudioBubble/index.js +1 -0
  30. package/es/AudioBubble/props/defaultProps.js +8 -0
  31. package/es/AudioBubble/props/propTypes.js +12 -0
  32. package/es/IMArticleBubble/IMArticleBubble.js +55 -0
  33. package/es/IMArticleBubble/css/IMArticleBubble.module.css +0 -0
  34. package/es/IMArticleBubble/css/cssJSLogic.js +10 -0
  35. package/es/IMArticleBubble/index.js +1 -0
  36. package/es/IMArticleBubble/props/defaultProps.js +8 -0
  37. package/es/IMArticleBubble/props/propTypes.js +14 -0
  38. package/es/IMAttachmentBubble/IMAttachmentBubble.js +63 -0
  39. package/es/IMAttachmentBubble/css/IMAttachmentBubble.module.css +1 -0
  40. package/es/IMAttachmentBubble/css/cssJSLogic.js +10 -0
  41. package/es/IMAttachmentBubble/index.js +1 -0
  42. package/es/IMAttachmentBubble/props/defaultProps.js +10 -0
  43. package/es/IMAttachmentBubble/props/propTypes.js +16 -0
  44. package/es/IMAttachmentIcon/IMAttachmentIcon.js +86 -0
  45. package/es/IMAttachmentIcon/css/IMAttachmentIcon.module.css +4 -0
  46. package/es/IMAttachmentIcon/css/cssJSLogic.js +16 -0
  47. package/es/IMAttachmentIcon/index.js +1 -0
  48. package/es/IMAttachmentIcon/props/defaultProps.js +6 -0
  49. package/es/IMAttachmentIcon/props/propTypes.js +26 -0
  50. package/es/IMAudioBubble/IMAudioBubble.js +63 -0
  51. package/es/IMAudioBubble/css/IMAudioBubble.module.css +8 -0
  52. package/es/IMAudioBubble/css/cssJSLogic.js +20 -0
  53. package/es/IMAudioBubble/index.js +1 -0
  54. package/es/IMAudioBubble/props/defaultProps.js +11 -0
  55. package/es/IMAudioBubble/props/propTypes.js +17 -0
  56. package/es/IMAutoMessageInfo/IMAutoMessageInfo.js +43 -0
  57. package/es/IMAutoMessageInfo/css/IMAutoMessageInfo.module.css +13 -0
  58. package/es/IMAutoMessageInfo/css/cssJSLogic.js +10 -0
  59. package/es/IMAutoMessageInfo/index.js +1 -0
  60. package/es/IMAutoMessageInfo/props/defaultProps.js +6 -0
  61. package/es/IMAutoMessageInfo/props/propTypes.js +26 -0
  62. package/es/IMDateTime/IMDateTime.js +41 -0
  63. package/es/IMDateTime/css/IMDateTime.module.css +5 -0
  64. package/es/IMDateTime/css/cssJSLogic.js +10 -0
  65. package/es/IMDateTime/index.js +1 -0
  66. package/es/IMDateTime/props/defaultProps.js +6 -0
  67. package/es/IMDateTime/props/propTypes.js +6 -0
  68. package/es/IMImageBubble/IMImageBubble.js +49 -0
  69. package/es/IMImageBubble/css/IMImageBubble.module.css +0 -0
  70. package/es/IMImageBubble/css/cssJSLogic.js +10 -0
  71. package/es/IMImageBubble/index.js +1 -0
  72. package/es/IMImageBubble/props/defaultProps.js +7 -0
  73. package/es/IMImageBubble/props/propTypes.js +13 -0
  74. package/es/IMInfoBubble/IMInfoBubble.js +37 -0
  75. package/es/IMInfoBubble/css/IMInfoBubble.module.css +0 -0
  76. package/es/IMInfoBubble/css/cssJSLogic.js +10 -0
  77. package/es/IMInfoBubble/index.js +1 -0
  78. package/es/IMInfoBubble/props/defaultProps.js +6 -0
  79. package/es/IMInfoBubble/props/propTypes.js +6 -0
  80. package/es/IMLocationBubble/IMLocationBubble.js +49 -0
  81. package/es/IMLocationBubble/css/IMLocationBubble.module.css +0 -0
  82. package/es/IMLocationBubble/css/cssJSLogic.js +10 -0
  83. package/es/IMLocationBubble/index.js +1 -0
  84. package/es/IMLocationBubble/props/defaultProps.js +8 -0
  85. package/es/IMLocationBubble/props/propTypes.js +11 -0
  86. package/es/IMMessage/IMMessage.js +156 -109
  87. package/es/IMMessage/props/defaultProps.js +22 -35
  88. package/es/IMMessage/props/propTypes.js +96 -49
  89. package/es/IMMessageActions/IMMessageActions.js +9 -5
  90. package/es/IMMessageActions/css/IMMessageActions.module.css +2 -2
  91. package/es/IMMessageAvatar/props/defaultProps.js +4 -2
  92. package/es/IMMessageContent/IMMessageContent.js +84 -0
  93. package/es/IMMessageContent/css/IMMessageContent.module.css +0 -0
  94. package/es/IMMessageContent/css/cssJSLogic.js +10 -0
  95. package/es/IMMessageContent/index.js +1 -0
  96. package/es/IMMessageContent/props/defaultProps.js +8 -0
  97. package/es/IMMessageContent/props/propTypes.js +35 -0
  98. package/es/IMMessageMeta/IMMessageMeta.js +60 -0
  99. package/es/IMMessageMeta/css/IMMessageMeta.module.css +32 -0
  100. package/es/IMMessageMeta/css/cssJSLogic.js +20 -0
  101. package/es/IMMessageMeta/index.js +1 -0
  102. package/es/IMMessageMeta/props/defaultProps.js +10 -0
  103. package/es/IMMessageMeta/props/propTypes.js +30 -0
  104. package/es/IMMessageStatus/css/IMMessageStatus.module.css +6 -3
  105. package/es/IMReplyBubble/IMReplyBubble.js +37 -0
  106. package/es/IMReplyBubble/css/IMReplyBubble.module.css +0 -0
  107. package/es/IMReplyBubble/css/cssJSLogic.js +10 -0
  108. package/es/IMReplyBubble/index.js +1 -0
  109. package/es/IMReplyBubble/props/defaultProps.js +6 -0
  110. package/es/IMReplyBubble/props/propTypes.js +6 -0
  111. package/es/IMTextBubble/IMTextBubble.js +53 -0
  112. package/es/IMTextBubble/css/IMTextBubble.module.css +1 -0
  113. package/es/IMTextBubble/css/cssJSLogic.js +10 -0
  114. package/es/IMTextBubble/index.js +1 -0
  115. package/es/IMTextBubble/props/defaultProps.js +14 -0
  116. package/es/IMTextBubble/props/propTypes.js +15 -0
  117. package/es/IMTicketLink/IMTicketLink.js +48 -0
  118. package/es/IMTicketLink/css/IMTicketLink.module.css +24 -0
  119. package/es/IMTicketLink/css/cssJSLogic.js +14 -0
  120. package/es/IMTicketLink/index.js +1 -0
  121. package/es/IMTicketLink/props/defaultProps.js +6 -0
  122. package/es/IMTicketLink/props/propTypes.js +10 -0
  123. package/es/IMVideoBubble/IMVideoBubble.js +62 -0
  124. package/es/IMVideoBubble/css/IMVideoBubble.module.css +1 -0
  125. package/es/IMVideoBubble/css/cssJSLogic.js +10 -0
  126. package/es/IMVideoBubble/index.js +1 -0
  127. package/es/IMVideoBubble/props/defaultProps.js +11 -0
  128. package/es/IMVideoBubble/props/propTypes.js +17 -0
  129. package/es/ImageBubble/ImageBubble.js +52 -0
  130. package/es/ImageBubble/css/ImageBubble.module.css +53 -0
  131. package/es/ImageBubble/css/cssJSLogic.js +22 -0
  132. package/es/ImageBubble/index.js +1 -0
  133. package/es/ImageBubble/props/defaultProps.js +6 -0
  134. package/es/ImageBubble/props/propTypes.js +8 -0
  135. package/es/InfoBubble/InfoBubble.js +37 -0
  136. package/es/InfoBubble/css/InfoBubble.module.css +0 -0
  137. package/es/InfoBubble/css/cssJSLogic.js +10 -0
  138. package/es/InfoBubble/index.js +1 -0
  139. package/es/InfoBubble/props/defaultProps.js +6 -0
  140. package/es/InfoBubble/props/propTypes.js +6 -0
  141. package/es/LazyLoadImage/LazyLoadImage.js +48 -0
  142. package/es/LazyLoadImage/css/LazyLoadImage.module.css +4 -0
  143. package/es/LazyLoadImage/css/cssJSLogic.js +10 -0
  144. package/es/LazyLoadImage/index.js +1 -0
  145. package/es/LazyLoadImage/props/defaultProps.js +6 -0
  146. package/es/LazyLoadImage/props/propTypes.js +8 -0
  147. package/es/LocationBubble/LocationBubble.js +63 -0
  148. package/es/LocationBubble/css/LocationBubble.module.css +3 -0
  149. package/es/LocationBubble/css/cssJSLogic.js +30 -0
  150. package/es/LocationBubble/images/location.png +0 -0
  151. package/es/LocationBubble/index.js +1 -0
  152. package/es/LocationBubble/props/defaultProps.js +6 -0
  153. package/es/LocationBubble/props/propTypes.js +7 -0
  154. package/es/MediaControls/MediaControls.js +60 -0
  155. package/es/MediaControls/css/MediaControls.module.css +1 -0
  156. package/es/MediaControls/css/cssJSLogic.js +22 -0
  157. package/es/MediaControls/index.js +1 -0
  158. package/es/MediaControls/props/defaultProps.js +6 -0
  159. package/es/MediaControls/props/propTypes.js +11 -0
  160. package/es/Message/Message.js +136 -0
  161. package/es/Message/css/Message.module.css +0 -0
  162. package/es/Message/css/cssJSLogic.js +10 -0
  163. package/es/Message/index.js +1 -0
  164. package/es/Message/props/defaultProps.js +43 -0
  165. package/es/Message/props/propTypes.js +98 -0
  166. package/es/MessageAction/MessageAction.js +4 -2
  167. package/es/MessageActions/MessageActions.js +1 -1
  168. package/es/MessageActionsMore/MessageActionsMore.js +5 -3
  169. package/es/MessageAvatar/MessageAvatar.js +9 -9
  170. package/es/MessageAvatar/props/defaultProps.js +4 -2
  171. package/es/MessageBox/MessageBox.js +5 -2
  172. package/es/MessageBox/css/MessageBox.module.css +14 -0
  173. package/es/MessageBox/css/cssJSLogic.js +12 -1
  174. package/es/MessageBox/props/defaultProps.js +3 -1
  175. package/es/MessageBox/props/propTypes.js +3 -1
  176. package/es/MessageBoxFooter/MessageBoxFooter.js +1 -1
  177. package/es/MessageBubble/MessageBubble.js +10 -10
  178. package/es/MessageWrapper/MessageWrapper.js +37 -0
  179. package/es/MessageWrapper/css/MessageWrapper.module.css +0 -0
  180. package/es/MessageWrapper/css/cssJSLogic.js +10 -0
  181. package/es/MessageWrapper/index.js +1 -0
  182. package/es/MessageWrapper/props/defaultProps.js +6 -0
  183. package/es/MessageWrapper/props/propTypes.js +6 -0
  184. package/es/MoreActionItem/MoreActionItem.js +9 -9
  185. package/es/MoreActionItem/props/defaultProps.js +1 -1
  186. package/es/MoreActionItem/props/propTypes.js +1 -1
  187. package/es/ReplyBubble/ReplyBubble.js +41 -0
  188. package/es/ReplyBubble/css/ReplyBubble.module.css +0 -0
  189. package/es/ReplyBubble/css/cssJSLogic.js +10 -0
  190. package/es/ReplyBubble/index.js +1 -0
  191. package/es/ReplyBubble/props/defaultProps.js +6 -0
  192. package/es/ReplyBubble/props/propTypes.js +6 -0
  193. package/es/ReplyBubbleHeader/ReplyBubbleHeader.js +53 -0
  194. package/es/ReplyBubbleHeader/css/ReplyBubbleHeader.module.css +0 -0
  195. package/es/ReplyBubbleHeader/css/cssJSLogic.js +10 -0
  196. package/es/ReplyBubbleHeader/index.js +1 -0
  197. package/es/ReplyBubbleHeader/props/defaultProps.js +9 -0
  198. package/es/ReplyBubbleHeader/props/propTypes.js +9 -0
  199. package/es/TextBubble/TextBubble.js +56 -0
  200. package/es/TextBubble/css/TextBubble.module.css +1 -0
  201. package/es/TextBubble/css/cssJSLogic.js +18 -0
  202. package/es/TextBubble/index.js +1 -0
  203. package/es/TextBubble/props/defaultProps.js +9 -0
  204. package/es/TextBubble/props/propTypes.js +10 -0
  205. package/es/Theme/DeskAssets.js +53 -0
  206. package/es/Theme/ThemeWrapper.js +82 -0
  207. package/es/Theme/ToolttipWrapper.js +81 -0
  208. package/es/Theme/constants/index.js +44 -0
  209. package/es/Theme/crm/dark/blueFanTheme.js +28 -0
  210. package/es/Theme/crm/dark/blueTheme.js +28 -0
  211. package/es/Theme/crm/dark/commonColorVariable.js +11 -0
  212. package/es/Theme/crm/dark/darkBlueTheme.js +28 -0
  213. package/es/Theme/crm/dark/darkGreyTheme.js +28 -0
  214. package/es/Theme/crm/dark/greenTheme.js +28 -0
  215. package/es/Theme/crm/dark/orangeTheme.js +28 -0
  216. package/es/Theme/crm/dark/pinkTheme.js +28 -0
  217. package/es/Theme/crm/dark/tealTheme.js +28 -0
  218. package/es/Theme/crm/dark/whiteTheme.js +28 -0
  219. package/es/Theme/crm/light/blueFanTheme.js +28 -0
  220. package/es/Theme/crm/light/blueTheme.js +31 -0
  221. package/es/Theme/crm/light/commonColorVariable.js +9 -0
  222. package/es/Theme/crm/light/darkBlueTheme.js +28 -0
  223. package/es/Theme/crm/light/darkGreyTheme.js +28 -0
  224. package/es/Theme/crm/light/greenTheme.js +28 -0
  225. package/es/Theme/crm/light/orangeTheme.js +28 -0
  226. package/es/Theme/crm/light/pinkTheme.js +28 -0
  227. package/es/Theme/crm/light/tealTheme.js +28 -0
  228. package/es/Theme/crm/light/whiteTheme.js +28 -0
  229. package/es/Theme/crm/pureDark/blueFanTheme.js +28 -0
  230. package/es/Theme/crm/pureDark/blueTheme.js +28 -0
  231. package/es/Theme/crm/pureDark/commonColorVariable.js +9 -0
  232. package/es/Theme/crm/pureDark/darkBlueTheme.js +28 -0
  233. package/es/Theme/crm/pureDark/darkGreyTheme.js +28 -0
  234. package/es/Theme/crm/pureDark/greenTheme.js +28 -0
  235. package/es/Theme/crm/pureDark/orangeTheme.js +28 -0
  236. package/es/Theme/crm/pureDark/pinkTheme.js +28 -0
  237. package/es/Theme/crm/pureDark/tealTheme.js +28 -0
  238. package/es/Theme/crm/pureDark/whiteTheme.js +28 -0
  239. package/es/Theme/css/TooltipWrapper.module.css +10 -0
  240. package/es/Theme/css/cssJSLogic.js +14 -0
  241. package/es/Theme/desk/commonDeskColorVariable.js +12 -0
  242. package/es/Theme/desk/dark/blueTheme.js +30 -0
  243. package/es/Theme/desk/dark/commonColorVariable.js +5 -0
  244. package/es/Theme/desk/dark/greenTheme.js +30 -0
  245. package/es/Theme/desk/dark/orangeTheme.js +30 -0
  246. package/es/Theme/desk/dark/redTheme.js +30 -0
  247. package/es/Theme/desk/dark/yellowTheme.js +30 -0
  248. package/es/Theme/desk/light/blueTheme.js +33 -0
  249. package/es/Theme/desk/light/commonColorVariable.js +5 -0
  250. package/es/Theme/desk/light/greenTheme.js +30 -0
  251. package/es/Theme/desk/light/orangeTheme.js +29 -0
  252. package/es/Theme/desk/light/redTheme.js +29 -0
  253. package/es/Theme/desk/light/yellowTheme.js +30 -0
  254. package/es/Theme/desk/pureDark/blueTheme.js +30 -0
  255. package/es/Theme/desk/pureDark/commonColorVariable.js +6 -0
  256. package/es/Theme/desk/pureDark/greenTheme.js +30 -0
  257. package/es/Theme/desk/pureDark/orangeTheme.js +30 -0
  258. package/es/Theme/desk/pureDark/redTheme.js +30 -0
  259. package/es/Theme/desk/pureDark/yellowTheme.js +30 -0
  260. package/es/Theme/index.js +1 -0
  261. package/es/Theme/props/defaultProps.js +13 -0
  262. package/es/Theme/props/propTypes.js +15 -0
  263. package/es/Theme/utils/getThemeConfigurations.js +209 -0
  264. package/es/Video/Video.js +69 -0
  265. package/es/Video/css/Video.module.css +9 -0
  266. package/es/Video/css/cssJSLogic.js +14 -0
  267. package/es/Video/index.js +1 -0
  268. package/es/Video/props/defaultProps.js +7 -0
  269. package/es/Video/props/propTypes.js +9 -0
  270. package/es/VideoBubble/VideoBubble.js +57 -0
  271. package/es/VideoBubble/css/VideoBubble.module.css +4 -0
  272. package/es/VideoBubble/css/cssJSLogic.js +10 -0
  273. package/es/VideoBubble/index.js +1 -0
  274. package/es/VideoBubble/props/defaultProps.js +8 -0
  275. package/es/VideoBubble/props/propTypes.js +12 -0
  276. package/es/icons/create-icon-components.js +1 -1
  277. package/es/icons/factory/attachments/audio.svg +19 -0
  278. package/es/icons/factory/attachments/code.svg +21 -0
  279. package/es/icons/factory/attachments/image.svg +20 -0
  280. package/es/icons/factory/attachments/pdf.svg +19 -0
  281. package/es/icons/factory/attachments/txt.svg +22 -0
  282. package/es/icons/factory/attachments/unknown.svg +21 -0
  283. package/es/icons/factory/attachments/video.svg +19 -0
  284. package/es/icons/factory/attachments/zip.svg +27 -0
  285. package/es/icons/iconSrc/actions/ConvertTicket.js +1 -1
  286. package/es/icons/iconSrc/attachments/Audio.js +37 -0
  287. package/es/icons/iconSrc/attachments/Code.js +43 -0
  288. package/es/icons/iconSrc/attachments/Image.js +42 -0
  289. package/es/icons/iconSrc/attachments/Pdf.js +37 -0
  290. package/es/icons/iconSrc/attachments/Txt.js +46 -0
  291. package/es/icons/iconSrc/attachments/Unknown.js +41 -0
  292. package/es/icons/iconSrc/attachments/Video.js +37 -0
  293. package/es/icons/iconSrc/attachments/Zip.js +85 -0
  294. package/es/icons/iconSrc/attachments/index.js +8 -0
  295. package/es/icons/iconSrc/integrations/TtASAP.js +1 -1
  296. package/es/icons/iconSrc/integrations/TtTelegram.js +1 -1
  297. package/es/icons/iconSrc/integrations/TtTwillio.js +1 -1
  298. package/es/icons/iconSrc/integrations/TtTwitter.js +1 -1
  299. package/es/icons/iconSrc/integrations/TtWechat.js +1 -1
  300. package/es/index.js +33 -0
  301. package/package.json +8 -4
  302. /package/es/MessageActionsMore/css/{cssJsLogic.js → cssJSLogic.js} +0 -0
File without changes
@@ -0,0 +1,10 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from '@zohodesk/utils';
3
+ export default function cssJSLogic(props, style) {
4
+ const imImageBubbleClass = compileClassNames({
5
+ [style.imImageBubble]: true
6
+ });
7
+ return {
8
+ imImageBubbleClass
9
+ };
10
+ }
@@ -0,0 +1 @@
1
+ export { default as IMImageBubble } from './IMImageBubble';
@@ -0,0 +1,7 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const imImageBubbleDefaultProps = {
4
+ customStyle: dummyObject,
5
+ attachmentDetails: dummyObject
6
+ };
7
+ export default imImageBubbleDefaultProps;
@@ -0,0 +1,13 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const imImageBubblePropTypes = {
4
+ customStyle: PropTypes.object,
5
+ attachmentDetails: PropTypes.shape({
6
+ name: PropTypes.string,
7
+ size: PropTypes.string,
8
+ type: PropTypes.string,
9
+ url: PropTypes.string,
10
+ id: PropTypes.string
11
+ })
12
+ };
13
+ export default imImageBubblePropTypes;
@@ -0,0 +1,37 @@
1
+ /* eslint-disable react/jsx-no-bind */
2
+ /* eslint-disable max-len */
3
+
4
+ /** ** Libraries *** */
5
+ import React from 'react';
6
+
7
+ /** ** Hooks *** */
8
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
+
10
+ /** ** Constants *** */
11
+ import imInfoBubbleDefaultProps from './props/defaultProps';
12
+ import imInfoBubblePropTypes from './props/propTypes';
13
+
14
+ /** ** Methods *** */
15
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
16
+ import cssJSLogic from './css/cssJSLogic';
17
+
18
+ /** ** Styles *** */
19
+ import style from './css/IMInfoBubble.module.css';
20
+ export default function IMInfoBubble(props) {
21
+ const {
22
+ customStyle
23
+ } = props;
24
+
25
+ /* External customization */
26
+ const newStyle = useMergeStyle(style, customStyle);
27
+ /* CSS classnames added based on logic */
28
+ const {
29
+ imInfoBubbleClass
30
+ } = cssJSLogic(props, newStyle);
31
+ return /*#__PURE__*/React.createElement("div", {
32
+ className: imInfoBubbleClass
33
+ }, "Working On this...");
34
+ }
35
+ IMInfoBubble.propTypes = imInfoBubblePropTypes;
36
+ IMInfoBubble.defaultProps = imInfoBubbleDefaultProps;
37
+ IMInfoBubble.displayName = 'IMInfoBubble';
File without changes
@@ -0,0 +1,10 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from '@zohodesk/utils';
3
+ export default function cssJSLogic(props, style) {
4
+ const imInfoBubbleClass = compileClassNames({
5
+ [style.imInfoBubble]: true
6
+ });
7
+ return {
8
+ imInfoBubbleClass
9
+ };
10
+ }
@@ -0,0 +1 @@
1
+ export { default as IMInfoBubble } from './IMInfoBubble';
@@ -0,0 +1,6 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const imInfoBubbleDefaultProps = {
4
+ customStyle: dummyObject
5
+ };
6
+ export default imInfoBubbleDefaultProps;
@@ -0,0 +1,6 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const imInfoBubblePropTypes = {
4
+ customStyle: PropTypes.object
5
+ };
6
+ export default imInfoBubblePropTypes;
@@ -0,0 +1,49 @@
1
+ /* eslint-disable react/jsx-no-bind */
2
+ /* eslint-disable max-len */
3
+
4
+ /** ** Libraries *** */
5
+ import React from 'react';
6
+
7
+ /** ** Hooks *** */
8
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
+
10
+ /** ** Constants *** */
11
+ import imLocationBubbleDefaultProps from './props/defaultProps';
12
+ import imLocationBubblePropTypes from './props/propTypes';
13
+
14
+ /** ** Methods *** */
15
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
16
+ import cssJSLogic from './css/cssJSLogic';
17
+
18
+ /** ** Styles *** */
19
+ import style from './css/IMLocationBubble.module.css';
20
+ import useIMLocationBubble from '@zohoim/chat-components-hooks/es/IMLocationBubble/useIMLocationBubble';
21
+ import LocationBubble from '../LocationBubble/LocationBubble';
22
+ export default function IMLocationBubble(props) {
23
+ const {
24
+ customStyle,
25
+ locationDetails,
26
+ locationCustomStyle
27
+ } = props;
28
+
29
+ /* External customization */
30
+ const newStyle = useMergeStyle(style, customStyle);
31
+ /* CSS classnames added based on logic */
32
+ const {
33
+ imLocationBubbleClass
34
+ } = cssJSLogic(props, newStyle);
35
+ const {
36
+ locationURL
37
+ } = useIMLocationBubble({
38
+ locationDetails
39
+ });
40
+ return /*#__PURE__*/React.createElement("div", {
41
+ className: imLocationBubbleClass
42
+ }, /*#__PURE__*/React.createElement(LocationBubble, {
43
+ locationURL: locationURL,
44
+ customStyle: locationCustomStyle
45
+ }));
46
+ }
47
+ IMLocationBubble.propTypes = imLocationBubblePropTypes;
48
+ IMLocationBubble.defaultProps = imLocationBubbleDefaultProps;
49
+ IMLocationBubble.displayName = 'IMLocationBubble';
@@ -0,0 +1,10 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from '@zohodesk/utils';
3
+ export default function cssJSLogic(props, style) {
4
+ const imLocationBubbleClass = compileClassNames({
5
+ [style.imLocationBubble]: true
6
+ });
7
+ return {
8
+ imLocationBubbleClass
9
+ };
10
+ }
@@ -0,0 +1 @@
1
+ export { default as IMLocationBubble } from './IMLocationBubble';
@@ -0,0 +1,8 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const imLocationBubbleDefaultProps = {
4
+ customStyle: dummyObject,
5
+ locationCustomStyle: dummyObject,
6
+ locationDetails: dummyObject
7
+ };
8
+ export default imLocationBubbleDefaultProps;
@@ -0,0 +1,11 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const imLocationBubblePropTypes = {
4
+ customStyle: PropTypes.object,
5
+ locationCustomStyle: PropTypes.object,
6
+ locationDetails: PropTypes.shape({
7
+ latitude: PropTypes.string,
8
+ longitude: PropTypes.string
9
+ })
10
+ };
11
+ export default imLocationBubblePropTypes;
@@ -1,142 +1,189 @@
1
1
  /* eslint-disable react/jsx-no-bind */
2
- /* eslint-disable max-len */
3
2
 
4
3
  /** ** Libraries *** */
5
4
  import React from 'react';
6
5
 
7
6
  /** ** Hooks *** */
8
- // import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
7
+ import useIMMessage from '@zohoim/chat-components-hooks/es/IMMessage/useIMMessage';
9
8
 
10
9
  /** ** Constants *** */
11
10
  import imMessageDefaultProps from './props/defaultProps';
12
11
  import imMessagePropTypes from './props/propTypes';
13
12
 
14
- /** ** Methods *** */
15
- // import renderHandler from '@zohoim/chat-components-utils/es/renderHandler';
16
- // import cssJSLogic from './css/cssJSLogic';
17
-
18
- /** ** Styles *** */
19
- // import style from './css/IMMessage.module.css';
20
-
21
13
  /** ** Components *** */
22
- import MessageBubble from '../MessageBubble/MessageBubble';
23
- import MessageBox from '../MessageBox/MessageBox';
24
- import IMMessageAvatar from '../IMMessageAvatar/IMMessageAvatar';
25
- import IMMessageActions from '../IMMessageActions/IMMessageActions';
26
- import IMMessageStatus from '../IMMessageStatus/IMMessageStatus';
14
+ import Message from '../Message/Message';
15
+ import IMMessageContent from '../IMMessageContent/IMMessageContent';
16
+ import IMTicketLink from '../IMTicketLink/IMTicketLink';
27
17
  export default function IMMessage(props) {
28
18
  const {
29
- customStyle,
30
- direction,
31
- isActive,
32
- needMessageActions,
33
- renderMessageBoxFooter,
34
- /* Avatar Related Props Start */
35
- needSender,
36
- isShowSender,
37
- senderSrc,
38
- senderAlternateSrc,
39
- senderTitle,
40
- senderAvatarSize,
41
- senderName,
19
+ defaultAgentAvatar,
20
+ autoMessageAvatar,
21
+ defaultContactAvatar,
22
+ messageDetails,
23
+ sessionDetails,
24
+ highlightMessageId,
25
+ isSameSender,
26
+ isSingleMessage,
27
+ messageStatusI18N,
28
+ isCurrentAgent,
29
+ isSameTimeMessage,
30
+ messageActionDetails,
31
+ canReply,
32
+ /*Customization Props*/
33
+ messageBubbleCustomStyle,
42
34
  avatarCustomStyle,
43
- senderIntegrationIcon,
44
- senderIntegrationIconSize,
45
35
  senderIntegrationIconCustomStyle,
46
- isCustomIntegrationIcon,
47
- isCustomSenderAvatar,
48
- renderCustomIntegrationIcon,
49
- renderCustomSenderAvatar,
50
- /*Avatar Related Props End*/
51
-
52
- /* MessageBox Props Start */
53
- isFailedMessage,
54
- needMessageBox,
55
- renderMessage,
56
- renderMessageFooter,
57
- renderMessageHeader,
58
36
  messageBoxCustomStyle,
59
- /*MessageBox Props End */
60
-
61
- /* MessageAction Props Start */
62
- messageActions,
63
- actionsDefaultShowCount,
64
37
  actionIconCustomStyle,
65
38
  moreActionItemCustomStyle,
66
- onSelectAction,
67
39
  messageActionCustomStyle,
68
40
  moreActionPopupCustomStyle,
69
- renderSecondaryActions,
70
- /* MessageAction Props End */
71
-
72
- /*MessageStatus Props Start */
73
- messageStatus,
74
41
  messageStatusCustomStyle,
75
- statusTitle
76
- /*MessageStatus Props End */
42
+ needMessageActions,
43
+ needSender,
44
+ needMessageBox,
45
+ isCustomIntegrationIcon,
46
+ isCustomSenderAvatar,
47
+ senderAvatarSize,
48
+ senderIntegrationIconSize,
49
+ actionsDefaultShowCount,
50
+ renderCustomIntegrationIcon,
51
+ renderCustomSenderAvatar,
52
+ renderMessageFooter,
53
+ renderMessageHeader
77
54
  } = props;
78
- function handleRenderMessageStatus() {
79
- const props = {
80
- messageStatus,
81
- customStyle: messageStatusCustomStyle,
82
- title: statusTitle
83
- };
84
- return /*#__PURE__*/React.createElement(IMMessageStatus, props);
55
+ const {
56
+ direction,
57
+ isDeletedMessage,
58
+ isFailedMessage,
59
+ isActive,
60
+ isShowSender,
61
+ isBot,
62
+ senderSrc,
63
+ senderAlternateSrc,
64
+ senderTitle,
65
+ senderName,
66
+ isShowIntegrationIcon,
67
+ integrationName,
68
+ messageMetaType,
69
+ messageType,
70
+ messageStatus,
71
+ isAgentMessage,
72
+ messageStatusTitle,
73
+ displayMessage,
74
+ createdTime,
75
+ messageId,
76
+ ticketNumber,
77
+ ticketId,
78
+ messageActions
79
+ } = useIMMessage({
80
+ defaultAgentAvatar,
81
+ autoMessageAvatar,
82
+ defaultContactAvatar,
83
+ messageDetails,
84
+ sessionDetails,
85
+ highlightMessageId,
86
+ isSameSender,
87
+ isSingleMessage,
88
+ messageStatusI18N,
89
+ messageActionDetails,
90
+ isCurrentAgent,
91
+ canReply
92
+ });
93
+ function handleRenderMessageBoxFooter() {
94
+ return !isSameTimeMessage ?
95
+ /*#__PURE__*/
96
+ // <CommonDateWithTime
97
+ // to={createdTime}
98
+ // isNeedTime
99
+ // prefix=''
100
+ // isTimeOnly
101
+ // hideTitle
102
+ // />
103
+ // ) :
104
+ React.createElement("div", null, createdTime) : null;
85
105
  }
86
- function handleRenderMessageBox() {
87
- const props = {
88
- renderMessageFooter,
89
- renderMessageHeader,
90
- renderMessageStatus: handleRenderMessageStatus,
91
- renderMessage,
92
- customStyle: messageBoxCustomStyle,
93
- isFailed: isFailedMessage
94
- };
95
- return /*#__PURE__*/React.createElement(MessageBox, props);
106
+ function handleRenderMessage() {
107
+ return /*#__PURE__*/React.createElement(IMMessageContent, {
108
+ messageDetails: messageDetails
109
+ });
110
+ // return <div>{displayMessage}</div>;
96
111
  }
97
- function handleRenderMessageOwner() {
98
- const props = {
99
- src: senderSrc,
100
- alternateSrc: senderAlternateSrc,
101
- title: senderTitle,
102
- avatarSize: senderAvatarSize,
103
- name: senderName,
104
- customStyle: avatarCustomStyle,
105
- integrationName: senderIntegrationIcon,
106
- iconSize: senderIntegrationIconSize,
107
- iconCustomStyle: senderIntegrationIconCustomStyle,
108
- isCustomIcon: isCustomIntegrationIcon,
109
- renderCustomIcon: renderCustomIntegrationIcon,
110
- isCustomAvatar: isCustomSenderAvatar,
111
- renderCustomAvatar: renderCustomSenderAvatar
112
- };
113
- return isShowSender ? /*#__PURE__*/React.createElement(IMMessageAvatar, props) : null;
112
+
113
+ function handleSelectAction(_ref) {
114
+ let {
115
+ id,
116
+ e
117
+ } = _ref;
118
+ const {
119
+ onClick
120
+ } = messageActionDetails[id] || {};
121
+ onClick && onClick({
122
+ id,
123
+ e,
124
+ messageId,
125
+ messageDetails,
126
+ sessionDetails
127
+ });
114
128
  }
115
- function handleRenderMessageActions() {
116
- const props = {
117
- actions: messageActions,
118
- renderSecondaryActions: renderSecondaryActions,
119
- defaultShowCount: actionsDefaultShowCount,
120
- actionIconCustomStyle: actionIconCustomStyle,
121
- moreItemCustomStyle: moreActionItemCustomStyle,
122
- onSelect: onSelectAction,
123
- customStyle: messageActionCustomStyle,
124
- morePopupCustomStyle: moreActionPopupCustomStyle
125
- };
126
- return /*#__PURE__*/React.createElement(IMMessageActions, props);
129
+ function handleRenderSecondaryActions() {
130
+ // return null;
131
+ return /*#__PURE__*/React.createElement(IMTicketLink, {
132
+ ticketNumber: ticketNumber
133
+ });
134
+
135
+ /*
136
+ <a
137
+ data-id={`ticketLink_${ticketNumber}`}
138
+ // className={style.ticketId}
139
+ // href='javascript:;'
140
+ target='_blank'
141
+ rel='noopener noreferrer'
142
+ >
143
+ {`#${ticketNumber}`}
144
+ </a>
145
+ */
127
146
  }
128
- return /*#__PURE__*/React.createElement(MessageBubble, {
147
+
148
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Message, {
129
149
  direction: direction,
130
150
  isActive: isActive,
131
- needMessageActions: needMessageActions,
132
- renderMessageBox: handleRenderMessageBox,
133
- renderMessageBoxFooter: renderMessageBoxFooter,
134
- renderMessageOwner: handleRenderMessageOwner,
135
- renderMessageActions: handleRenderMessageActions,
136
- customStyle: customStyle,
151
+ isShowSender: isShowSender,
152
+ senderName: senderName,
153
+ senderSrc: senderSrc,
154
+ senderAlternateSrc: senderAlternateSrc,
155
+ senderTitle: senderTitle,
156
+ senderIntegrationIcon: isShowIntegrationIcon ? integrationName : '',
157
+ isFailedMessage: isFailedMessage,
158
+ messageActions: messageActions,
159
+ needMessageActions: needMessageActions ? messageActions.length >= 0 : false,
160
+ onSelectAction: handleSelectAction,
161
+ messageStatus: isAgentMessage ? messageStatus : '',
162
+ statusTitle: messageStatusTitle,
163
+ customStyle: messageBubbleCustomStyle,
164
+ avatarCustomStyle: avatarCustomStyle,
165
+ senderIntegrationIconCustomStyle: senderIntegrationIconCustomStyle,
166
+ messageBoxCustomStyle: messageBoxCustomStyle,
167
+ actionIconCustomStyle: actionIconCustomStyle,
168
+ moreActionItemCustomStyle: moreActionItemCustomStyle,
169
+ messageActionCustomStyle: messageActionCustomStyle,
170
+ moreActionPopupCustomStyle: moreActionPopupCustomStyle,
171
+ messageStatusCustomStyle: messageStatusCustomStyle,
137
172
  needSender: needSender,
138
- isShowSender: isShowSender
139
- });
173
+ needMessageBox: needMessageBox,
174
+ isCustomIntegrationIcon: isCustomIntegrationIcon,
175
+ isCustomSenderAvatar: isCustomSenderAvatar,
176
+ senderAvatarSize: senderAvatarSize,
177
+ senderIntegrationIconSize: senderIntegrationIconSize,
178
+ actionsDefaultShowCount: actionsDefaultShowCount,
179
+ renderCustomIntegrationIcon: renderCustomIntegrationIcon,
180
+ renderCustomSenderAvatar: renderCustomSenderAvatar,
181
+ renderSecondaryActions: handleRenderSecondaryActions,
182
+ renderMessage: handleRenderMessage,
183
+ renderMessageFooter: renderMessageFooter,
184
+ renderMessageHeader: renderMessageHeader,
185
+ renderMessageBoxFooter: handleRenderMessageBoxFooter
186
+ }));
140
187
  }
141
188
  IMMessage.propTypes = imMessagePropTypes;
142
189
  IMMessage.defaultProps = imMessageDefaultProps;
@@ -1,51 +1,38 @@
1
1
  // import React from 'react';
2
2
 
3
3
  /** ** Constants *** */
4
- import { dummyObject, dummyArray } from '@zohoim/chat-components-utils/es/constants';
5
- import { direction } from '@zohoim/chat-components-utils/es/constants/messageConstants';
6
- // import integrationConstants from '@zohoim/chat-components-utils/es/constants/integrationConstants';
4
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
7
5
  import sizes from '@zohoim/chat-components-utils/es/constants/sizes';
8
6
  import { actionsDefaultShowCount } from '@zohoim/chat-components-utils/es/constants/messageActionConstants';
9
- // import messageStatusConstants from '@zohoim/chat-components-utils/es/constants/messageStatusConstants';
10
-
11
- // const { WHATSAPP } = integrationConstants;
12
- // const { READ } = messageStatusConstants;
13
-
14
7
  const imMessageDefaultProps = {
15
- customStyle: dummyObject,
16
- direction: direction.IN,
17
- isActive: false,
18
- needMessageActions: true,
19
- needSender: true,
20
- isShowSender: true,
21
- senderSrc: '',
22
- senderAlternateSrc: '',
23
- senderTitle: '',
24
- //'RAVI KUMAR',
25
- senderAvatarSize: 'medium',
26
- senderName: '',
27
- //'Ravi kumar',
8
+ messageDetails: dummyObject,
9
+ sessionDetails: dummyObject,
10
+ defaultAgentAvatar: '',
11
+ autoMessageAvatar: '',
12
+ defaultContactAvatar: '',
13
+ highlightMessageId: '',
14
+ isSameSender: false,
15
+ isSingleMessage: false,
16
+ messageStatusI18N: dummyObject,
17
+ messageActionDetails: dummyObject,
18
+ isCurrentAgent: false,
19
+ canReply: false,
20
+ messageBubbleCustomStyle: dummyObject,
28
21
  avatarCustomStyle: dummyObject,
29
- senderIntegrationIcon: '',
30
- //WHATSAPP
31
- senderIntegrationIconSize: sizes.SMALL,
32
22
  senderIntegrationIconCustomStyle: dummyObject,
33
- isCustomIntegrationIcon: false,
34
- isCustomSenderAvatar: false,
35
- needMessageBox: true,
36
- isFailedMessage: false,
37
23
  messageBoxCustomStyle: dummyObject,
38
- messageActions: dummyArray,
39
- actionsDefaultShowCount: actionsDefaultShowCount,
40
24
  actionIconCustomStyle: dummyObject,
41
25
  moreActionItemCustomStyle: dummyObject,
42
26
  messageActionCustomStyle: dummyObject,
43
27
  moreActionPopupCustomStyle: dummyObject,
44
- messageStatus: '',
45
- // READ,
46
28
  messageStatusCustomStyle: dummyObject,
47
- statusTitle: '' // READ,
48
- // renderMessage: () => <div>Test</div>
29
+ needMessageActions: true,
30
+ needSender: true,
31
+ needMessageBox: true,
32
+ isCustomIntegrationIcon: false,
33
+ isCustomSenderAvatar: false,
34
+ senderAvatarSize: 'medium',
35
+ senderIntegrationIconSize: sizes.SMALL,
36
+ actionsDefaultShowCount: actionsDefaultShowCount
49
37
  };
50
-
51
38
  export default imMessageDefaultProps;