@zohoim/chat-components 0.0.11 → 0.0.14

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 (421) hide show
  1. package/es/ActionIcon/ActionIcon.js +56 -34
  2. package/es/ActionIcon/css/ActionIcon.module.css +4 -23
  3. package/es/ActionIcon/props/defaultProps.js +4 -2
  4. package/es/ActionIcon/props/propTypes.js +10 -3
  5. package/es/ActionIconWrapper/ActionIconWrapper.js +49 -0
  6. package/es/ActionIconWrapper/css/ActionIconWrapper.module.css +27 -0
  7. package/es/ActionIconWrapper/index.js +1 -0
  8. package/es/{MessageWrapper → ActionIconWrapper}/props/defaultProps.js +3 -3
  9. package/es/ActionIconWrapper/props/propTypes.js +11 -0
  10. package/es/AttachmentBubble/AttachmentBubble.js +36 -34
  11. package/es/AttachmentBubble/css/AttachmentBubble.module.css +16 -15
  12. package/es/AttachmentBubble/props/defaultProps.js +2 -2
  13. package/es/AttachmentBubble/props/propTypes.js +10 -5
  14. package/es/AttachmentBubbleInfo/AttachmentBubbleInfo.js +7 -20
  15. package/es/AttachmentBubbleInfo/css/AttachmentBubbleInfo.module.css +20 -15
  16. package/es/AttachmentBubbleInfo/props/defaultProps.js +1 -1
  17. package/es/AttachmentBubbleInfo/props/propTypes.js +3 -3
  18. package/es/AttachmentIcon/AttachmentIcon.js +47 -0
  19. package/es/AttachmentIcon/css/AttachmentIcon.module.css +4 -0
  20. package/es/AttachmentIcon/index.js +1 -0
  21. package/es/{MediaControls → AttachmentIcon}/props/defaultProps.js +3 -3
  22. package/es/AttachmentIcon/props/propTypes.js +11 -0
  23. package/es/AttachmentIcon/utils/getAttachmentIconComponent.js +55 -0
  24. package/es/Audio/Audio.js +12 -34
  25. package/es/Audio/css/Audio.module.css +3 -3
  26. package/es/Audio/props/defaultProps.js +2 -3
  27. package/es/Audio/props/propTypes.js +3 -4
  28. package/es/AudioBubble/AudioBubble.js +25 -43
  29. package/es/AudioBubble/props/defaultProps.js +2 -4
  30. package/es/AudioBubble/props/propTypes.js +10 -7
  31. package/es/Fonts/puviFont.module.css +55 -54
  32. package/es/ImageBubble/ImageBubble.js +26 -25
  33. package/es/ImageBubble/css/ImageBubble.module.css +8 -11
  34. package/es/ImageBubble/props/defaultProps.js +1 -1
  35. package/es/ImageBubble/props/propTypes.js +5 -3
  36. package/es/InfoBubble/InfoBubble.js +6 -9
  37. package/es/InfoBubble/props/defaultProps.js +1 -1
  38. package/es/LazyLoadImage/LazyLoadImage.js +8 -19
  39. package/es/LazyLoadImage/css/LazyLoadImage.module.css +1 -0
  40. package/es/LazyLoadImage/props/defaultProps.js +1 -1
  41. package/es/LazyLoadImage/props/propTypes.js +3 -3
  42. package/es/LocationBubble/LocationBubble.js +25 -44
  43. package/es/LocationBubble/css/LocationBubble.module.css +11 -9
  44. package/es/LocationBubble/props/defaultProps.js +1 -1
  45. package/es/LocationBubble/props/propTypes.js +2 -2
  46. package/es/MediaBubbleWrapper/MediaBubbleWrapper.js +59 -0
  47. package/es/MediaBubbleWrapper/css/MediaBubbleWrapper.module.css +3 -0
  48. package/es/MediaBubbleWrapper/index.js +1 -0
  49. package/es/MediaBubbleWrapper/props/defaultProps.js +7 -0
  50. package/es/MediaBubbleWrapper/props/propTypes.js +16 -0
  51. package/es/Message/Message.js +91 -104
  52. package/es/Message/props/defaultProps.js +3 -35
  53. package/es/Message/props/propTypes.js +26 -85
  54. package/es/MessageAction/MessageAction.js +32 -19
  55. package/es/MessageAction/props/defaultProps.js +4 -4
  56. package/es/MessageAction/props/propTypes.js +11 -8
  57. package/es/MessageActions/MessageActions.js +86 -53
  58. package/es/MessageActions/css/MessageActions.module.css +23 -2
  59. package/es/MessageActions/props/defaultProps.js +5 -5
  60. package/es/MessageActions/props/propTypes.js +15 -3
  61. package/es/MessageActionsMore/MessageActionsMore.js +45 -37
  62. package/es/MessageActionsMore/css/MessageActionsMore.module.css +8 -5
  63. package/es/MessageActionsMore/props/defaultProps.js +3 -2
  64. package/es/MessageActionsMore/props/propTypes.js +3 -2
  65. package/es/MessageActionsWrapper/MessageActionsWrapper.js +67 -0
  66. package/es/MessageActionsWrapper/css/MessageActionsWrapper.module.css +3 -0
  67. package/es/MessageActionsWrapper/index.js +1 -0
  68. package/es/MessageActionsWrapper/props/defaultProps.js +9 -0
  69. package/es/MessageActionsWrapper/props/propTypes.js +15 -0
  70. package/es/MessageAvatar/MessageAvatar.js +15 -22
  71. package/es/MessageAvatar/css/MessageAvatar.module.css +3 -3
  72. package/es/MessageAvatar/props/defaultProps.js +2 -6
  73. package/es/MessageAvatar/props/propTypes.js +5 -5
  74. package/es/MessageBox/MessageBox.js +24 -25
  75. package/es/MessageBox/css/MessageBox.module.css +12 -14
  76. package/es/MessageBox/css/cssJSLogic.js +1 -21
  77. package/es/MessageBox/props/defaultProps.js +1 -3
  78. package/es/MessageBox/props/propTypes.js +8 -7
  79. package/es/MessageBubble/MessageBubble.js +61 -38
  80. package/es/MessageBubble/css/MessageBubble.module.css +11 -8
  81. package/es/MessageBubble/css/cssJSLogic.js +10 -26
  82. package/es/MessageBubble/props/defaultProps.js +2 -2
  83. package/es/MessageBubble/props/propTypes.js +9 -9
  84. package/es/MessageStatus/MessageStatus.js +72 -0
  85. package/es/{im/IMMessageStatus/css/IMMessageStatus.module.css → MessageStatus/css/MessageStatus.module.css} +1 -1
  86. package/es/MessageStatus/css/cssJSLogic.js +26 -0
  87. package/es/MessageStatus/index.js +1 -0
  88. package/es/{im/IMAttachmentIcon → MessageStatus}/props/defaultProps.js +3 -3
  89. package/es/MessageStatus/props/propTypes.js +12 -0
  90. package/es/MoreActionItem/MoreActionItem.js +25 -37
  91. package/es/MoreActionItem/css/MoreActionItem.module.css +5 -11
  92. package/es/MoreActionItem/props/defaultProps.js +1 -5
  93. package/es/MoreActionItem/props/propTypes.js +6 -5
  94. package/es/ReplyBubble/ReplyBubble.js +62 -30
  95. package/es/ReplyBubble/css/ReplyBubble.module.css +17 -0
  96. package/es/ReplyBubble/props/defaultProps.js +3 -4
  97. package/es/ReplyBubble/props/propTypes.js +15 -8
  98. package/es/ReplyBubbleContent/ReplyBubbleContent.js +21 -28
  99. package/es/ReplyBubbleContent/css/ReplyBubbleContent.module.css +44 -34
  100. package/es/ReplyBubbleContent/props/defaultProps.js +1 -1
  101. package/es/ReplyBubbleContent/props/propTypes.js +4 -4
  102. package/es/ReplyBubbleHeader/ReplyBubbleHeader.js +25 -29
  103. package/es/ReplyBubbleHeader/css/ReplyBubbleHeader.module.css +12 -4
  104. package/es/ReplyBubbleHeader/props/defaultProps.js +2 -5
  105. package/es/ReplyBubbleHeader/props/propTypes.js +2 -2
  106. package/es/TextBubble/TextBubble.js +15 -34
  107. package/es/TextBubble/css/TextBubble.module.css +16 -3
  108. package/es/TextBubble/props/defaultProps.js +2 -5
  109. package/es/TextBubble/props/propTypes.js +3 -4
  110. package/es/Theme/{DeskAssets.js → ThemeAssets.js} +10 -6
  111. package/es/Theme/ThemeWrapper.js +62 -62
  112. package/es/Theme/{ToolttipWrapper.js → TooltipWrapper.js} +29 -25
  113. package/es/Theme/constants/index.js +1 -4
  114. package/es/Theme/crm/dark/blueFanTheme.js +5 -5
  115. package/es/Theme/crm/dark/blueTheme.js +5 -5
  116. package/es/Theme/crm/dark/commonColorVariable.js +5 -5
  117. package/es/Theme/crm/dark/darkBlueTheme.js +5 -5
  118. package/es/Theme/crm/dark/darkGreyTheme.js +5 -5
  119. package/es/Theme/crm/dark/greenTheme.js +5 -5
  120. package/es/Theme/crm/dark/orangeTheme.js +5 -5
  121. package/es/Theme/crm/dark/pinkTheme.js +5 -5
  122. package/es/Theme/crm/dark/tealTheme.js +5 -5
  123. package/es/Theme/crm/dark/whiteTheme.js +5 -5
  124. package/es/Theme/crm/light/blueFanTheme.js +5 -5
  125. package/es/Theme/crm/light/blueTheme.js +3 -3
  126. package/es/Theme/crm/light/commonColorVariable.js +3 -3
  127. package/es/Theme/crm/light/darkBlueTheme.js +5 -5
  128. package/es/Theme/crm/light/darkGreyTheme.js +5 -5
  129. package/es/Theme/crm/light/greenTheme.js +3 -3
  130. package/es/Theme/crm/light/orangeTheme.js +3 -3
  131. package/es/Theme/crm/light/pinkTheme.js +3 -3
  132. package/es/Theme/crm/light/tealTheme.js +3 -3
  133. package/es/Theme/crm/light/whiteTheme.js +5 -5
  134. package/es/Theme/crm/pureDark/blueFanTheme.js +5 -5
  135. package/es/Theme/crm/pureDark/blueTheme.js +5 -5
  136. package/es/Theme/crm/pureDark/commonColorVariable.js +3 -3
  137. package/es/Theme/crm/pureDark/darkBlueTheme.js +5 -5
  138. package/es/Theme/crm/pureDark/darkGreyTheme.js +5 -5
  139. package/es/Theme/crm/pureDark/greenTheme.js +5 -5
  140. package/es/Theme/crm/pureDark/orangeTheme.js +5 -5
  141. package/es/Theme/crm/pureDark/pinkTheme.js +5 -5
  142. package/es/Theme/crm/pureDark/tealTheme.js +5 -5
  143. package/es/Theme/crm/pureDark/whiteTheme.js +5 -5
  144. package/es/Theme/css/TooltipWrapper.module.css +2 -2
  145. package/es/Theme/props/defaultProps.js +2 -3
  146. package/es/Theme/props/propTypes.js +5 -6
  147. package/es/Theme/themeVariables/commonThemeColorVariable.js +13 -0
  148. package/es/Theme/themeVariables/dark/blueTheme.js +68 -0
  149. package/es/Theme/themeVariables/dark/commonColorVariable.js +10 -0
  150. package/es/Theme/themeVariables/dark/greenTheme.js +67 -0
  151. package/es/Theme/themeVariables/dark/orangeTheme.js +67 -0
  152. package/es/Theme/themeVariables/dark/redTheme.js +76 -0
  153. package/es/Theme/themeVariables/dark/yellowTheme.js +67 -0
  154. package/es/Theme/themeVariables/light/blueTheme.js +63 -0
  155. package/es/Theme/themeVariables/light/commonColorVariable.js +12 -0
  156. package/es/Theme/themeVariables/light/greenTheme.js +63 -0
  157. package/es/Theme/themeVariables/light/orangeTheme.js +61 -0
  158. package/es/Theme/themeVariables/light/redTheme.js +61 -0
  159. package/es/Theme/themeVariables/light/yellowTheme.js +63 -0
  160. package/es/Theme/themeVariables/pureDark/blueTheme.js +68 -0
  161. package/es/Theme/themeVariables/pureDark/commonColorVariable.js +12 -0
  162. package/es/Theme/themeVariables/pureDark/greenTheme.js +67 -0
  163. package/es/Theme/themeVariables/pureDark/orangeTheme.js +67 -0
  164. package/es/Theme/themeVariables/pureDark/redTheme.js +67 -0
  165. package/es/Theme/themeVariables/pureDark/yellowTheme.js +67 -0
  166. package/es/Theme/utils/combineConfigurations.js +17 -0
  167. package/es/Theme/utils/flatVariables.js +12 -0
  168. package/es/Theme/utils/getCustomizedCssVariables.js +19 -0
  169. package/es/Theme/utils/getThemeConfigurations.js +47 -175
  170. package/es/Theme/utils/getWrapperDivProps.js +12 -0
  171. package/es/Video/Video.js +14 -45
  172. package/es/Video/css/Video.module.css +2 -7
  173. package/es/Video/props/defaultProps.js +2 -3
  174. package/es/Video/props/propTypes.js +3 -4
  175. package/es/VideoBubble/VideoBubble.js +31 -36
  176. package/es/VideoBubble/css/VideoBubble.module.css +4 -4
  177. package/es/VideoBubble/props/defaultProps.js +2 -3
  178. package/es/VideoBubble/props/propTypes.js +11 -7
  179. package/es/icons/create-icon-components.js +31 -0
  180. package/es/icons/icon.template.js +10 -9
  181. package/es/icons/iconSrc/attachments/Audio.js +1 -0
  182. package/es/icons/iconSrc/attachments/Code.js +1 -0
  183. package/es/icons/iconSrc/attachments/Image.js +1 -0
  184. package/es/icons/iconSrc/attachments/Pdf.js +1 -0
  185. package/es/icons/iconSrc/attachments/Txt.js +1 -0
  186. package/es/icons/iconSrc/attachments/Unknown.js +1 -0
  187. package/es/icons/iconSrc/attachments/Video.js +1 -0
  188. package/es/icons/iconSrc/attachments/Zip.js +1 -0
  189. package/es/icons/iconSrc/attachments/index.js +8 -8
  190. package/es/icons/iconSrc/common/Article.js +1 -0
  191. package/es/icons/iconSrc/common/index.js +1 -2
  192. package/es/icons/iconSrc/integrations/ChInstagram.js +1 -0
  193. package/es/icons/iconSrc/integrations/ChWhatsApp.js +1 -0
  194. package/es/icons/iconSrc/integrations/TtASAP.js +1 -0
  195. package/es/icons/iconSrc/integrations/TtTelegram.js +1 -0
  196. package/es/icons/iconSrc/integrations/TtTwillio.js +1 -0
  197. package/es/icons/iconSrc/integrations/TtTwitter.js +1 -0
  198. package/es/icons/iconSrc/integrations/TtWechat.js +1 -0
  199. package/es/icons/iconSrc/integrations/index.js +7 -7
  200. package/es/icons/iconSrc/messageStatus/Clock.js +1 -0
  201. package/es/icons/iconSrc/messageStatus/DoubleTick.js +1 -0
  202. package/es/icons/iconSrc/messageStatus/Failed.js +1 -0
  203. package/es/icons/iconSrc/messageStatus/Tick.js +1 -0
  204. package/es/icons/iconSrc/messageStatus/index.js +4 -4
  205. package/es/im/ArticleBubble/ArticleBubble.js +66 -0
  206. package/es/im/ArticleBubble/css/ArticleBubble.module.css +47 -0
  207. package/es/{ArticleBubble → im/ArticleBubble}/props/defaultProps.js +1 -1
  208. package/es/im/ArticleBubble/props/propTypes.js +13 -0
  209. package/es/im/IMAutoMessageInfo/IMAutoMessageInfo.js +10 -21
  210. package/es/im/IMAutoMessageInfo/css/IMAutoMessageInfo.module.css +2 -3
  211. package/es/im/IMAutoMessageInfo/props/defaultProps.js +1 -1
  212. package/es/im/IMAutoMessageInfo/props/propTypes.js +11 -9
  213. package/es/im/IMInfoBubble/IMInfoBubble.js +6 -9
  214. package/es/im/IMInfoBubble/props/defaultProps.js +1 -1
  215. package/es/im/IMIntegrationIcon/IMIntegrationIcon.js +31 -38
  216. package/es/im/IMIntegrationIcon/css/IMIntegrationIcon.module.css +5 -8
  217. package/es/im/IMIntegrationIcon/css/cssJSLogic.js +9 -13
  218. package/es/im/IMIntegrationIcon/index.js +1 -2
  219. package/es/im/IMIntegrationIcon/props/defaultProps.js +6 -4
  220. package/es/im/IMIntegrationIcon/props/propTypes.js +6 -17
  221. package/es/im/IMMessage/IMMessage.js +95 -156
  222. package/es/im/IMMessage/props/defaultProps.js +2 -29
  223. package/es/im/IMMessage/props/propTypes.js +57 -117
  224. package/es/im/IMMessageContent/IMMessageContent.js +80 -55
  225. package/es/im/IMMessageContent/css/IMMessageContent.module.css +3 -0
  226. package/es/im/IMMessageContent/props/defaultProps.js +2 -3
  227. package/es/im/IMMessageContent/props/propTypes.js +28 -23
  228. package/es/im/IMMessageMeta/IMMessageMeta.js +28 -24
  229. package/es/im/IMMessageMeta/css/IMMessageMeta.module.css +15 -4
  230. package/es/im/IMMessageMeta/css/cssJSLogic.js +11 -3
  231. package/es/im/IMMessageMeta/props/defaultProps.js +1 -1
  232. package/es/im/IMMessageMeta/props/propTypes.js +17 -12
  233. package/es/im/IMReplyBubble/IMReplyBubble.js +21 -61
  234. package/es/im/IMReplyBubble/props/defaultProps.js +2 -4
  235. package/es/im/IMReplyBubble/props/propTypes.js +16 -14
  236. package/es/im/IMTextBubble/IMTextBubble.js +16 -33
  237. package/es/im/IMTextBubble/props/defaultProps.js +3 -9
  238. package/es/im/IMTextBubble/props/propTypes.js +22 -8
  239. package/es/im/IMTicketLink/IMTicketLink.js +13 -13
  240. package/es/im/IMTicketLink/css/IMTicketLink.module.css +3 -4
  241. package/es/im/IMTicketLink/props/defaultProps.js +1 -1
  242. package/es/im/IMTicketLink/props/propTypes.js +4 -3
  243. package/es/im/index.js +1 -11
  244. package/es/index.js +30 -34
  245. package/package.json +32 -14
  246. package/es/ActionIcon/css/cssJSLogic.js +0 -10
  247. package/es/ArticleBubble/ArticleBubble.js +0 -68
  248. package/es/ArticleBubble/css/ArticleBubble.module.css +0 -40
  249. package/es/ArticleBubble/css/cssJSLogic.js +0 -34
  250. package/es/ArticleBubble/props/propTypes.js +0 -10
  251. package/es/AttachmentBubble/css/cssJSLogic.js +0 -18
  252. package/es/AttachmentBubbleInfo/css/cssJSLogic.js +0 -18
  253. package/es/Audio/css/cssJSLogic.js +0 -14
  254. package/es/AudioBubble/css/AudioBubble.module.css +0 -3
  255. package/es/AudioBubble/css/cssJSLogic.js +0 -20
  256. package/es/ImageBubble/css/cssJSLogic.js +0 -22
  257. package/es/LazyLoadImage/css/cssJSLogic.js +0 -10
  258. package/es/LocationBubble/css/cssJSLogic.js +0 -30
  259. package/es/MediaControls/MediaControls.js +0 -60
  260. package/es/MediaControls/css/MediaControls.module.css +0 -1
  261. package/es/MediaControls/css/cssJSLogic.js +0 -22
  262. package/es/MediaControls/index.js +0 -1
  263. package/es/MediaControls/props/propTypes.js +0 -11
  264. package/es/Message/css/Message.module.css +0 -0
  265. package/es/Message/css/cssJSLogic.js +0 -10
  266. package/es/MessageAction/css/MessageAction.module.css +0 -0
  267. package/es/MessageAction/css/cssJSLogic.js +0 -0
  268. package/es/MessageActions/css/cssJSLogic.js +0 -10
  269. package/es/MessageActions/props/propConstants.js +0 -7
  270. package/es/MessageActionsMore/css/cssJSLogic.js +0 -28
  271. package/es/MessageAvatar/css/cssJSLogic.js +0 -18
  272. package/es/MessageBoxFooter/MessageBoxFooter.js +0 -39
  273. package/es/MessageBoxFooter/css/MessageBoxFooter.module.css +0 -3
  274. package/es/MessageBoxFooter/css/cssJSLogic.js +0 -10
  275. package/es/MessageBoxFooter/index.js +0 -1
  276. package/es/MessageBoxFooter/props/defaultProps.js +0 -5
  277. package/es/MessageBoxFooter/props/propTypes.js +0 -6
  278. package/es/MessageBoxHeader/MessageBoxHeader.js +0 -7
  279. package/es/MessageBoxHeader/css/MessageBoxHeader.module.css +0 -0
  280. package/es/MessageBoxHeader/css/cssJsLogic.js +0 -0
  281. package/es/MessageBoxHeader/index.js +0 -2
  282. package/es/MessageBoxHeader/props/defaultProps.js +0 -0
  283. package/es/MessageBoxHeader/props/propTypes.js +0 -0
  284. package/es/MessageBubble/props/propConstants.js +0 -6
  285. package/es/MessageWrapper/MessageWrapper.js +0 -37
  286. package/es/MessageWrapper/css/MessageWrapper.module.css +0 -0
  287. package/es/MessageWrapper/css/cssJSLogic.js +0 -10
  288. package/es/MessageWrapper/index.js +0 -1
  289. package/es/MessageWrapper/props/propTypes.js +0 -6
  290. package/es/MoreActionItem/css/cssJSLogic.js +0 -27
  291. package/es/ReplyBubble/css/cssJSLogic.js +0 -10
  292. package/es/ReplyBubbleContent/css/cssJSLogic.js +0 -22
  293. package/es/ReplyBubbleHeader/css/cssJSLogic.js +0 -10
  294. package/es/TextBubble/css/cssJSLogic.js +0 -18
  295. package/es/TextMessage/DefaultActions.js +0 -60
  296. package/es/TextMessage/TextMessage.js +0 -67
  297. package/es/TextMessage/TextMessage1.js +0 -69
  298. package/es/TextMessage/css/TextMessage.module.css +0 -5
  299. package/es/TextMessage/css/cssJSLogic.js +0 -0
  300. package/es/TextMessage/index.js +0 -1
  301. package/es/TextMessage/props/defaultProps.js +0 -4
  302. package/es/TextMessage/props/propConstants.js +0 -3
  303. package/es/TextMessage/props/propTypes.js +0 -17
  304. package/es/Theme/css/cssJSLogic.js +0 -14
  305. package/es/Theme/darkTheme.js +0 -9
  306. package/es/Theme/defaultTheme.js +0 -33
  307. package/es/Theme/desk/commonDeskColorVariable.js +0 -14
  308. package/es/Theme/desk/dark/blueTheme.js +0 -42
  309. package/es/Theme/desk/dark/commonColorVariable.js +0 -5
  310. package/es/Theme/desk/dark/greenTheme.js +0 -41
  311. package/es/Theme/desk/dark/orangeTheme.js +0 -41
  312. package/es/Theme/desk/dark/redTheme.js +0 -41
  313. package/es/Theme/desk/dark/yellowTheme.js +0 -41
  314. package/es/Theme/desk/light/blueTheme.js +0 -46
  315. package/es/Theme/desk/light/commonColorVariable.js +0 -6
  316. package/es/Theme/desk/light/greenTheme.js +0 -37
  317. package/es/Theme/desk/light/orangeTheme.js +0 -36
  318. package/es/Theme/desk/light/redTheme.js +0 -36
  319. package/es/Theme/desk/light/yellowTheme.js +0 -37
  320. package/es/Theme/desk/pureDark/blueTheme.js +0 -41
  321. package/es/Theme/desk/pureDark/commonColorVariable.js +0 -7
  322. package/es/Theme/desk/pureDark/greenTheme.js +0 -41
  323. package/es/Theme/desk/pureDark/orangeTheme.js +0 -41
  324. package/es/Theme/desk/pureDark/redTheme.js +0 -41
  325. package/es/Theme/desk/pureDark/yellowTheme.js +0 -41
  326. package/es/Video/css/cssJSLogic.js +0 -14
  327. package/es/VideoBubble/css/cssJSLogic.js +0 -10
  328. package/es/icons/factory/actions/convertTicket.svg +0 -21
  329. package/es/icons/factory/common/quote.svg +0 -1
  330. package/es/icons/iconSrc/actions/ConvertTicket.js +0 -24
  331. package/es/icons/iconSrc/actions/index.js +0 -1
  332. package/es/icons/iconSrc/common/Quote.js +0 -16
  333. package/es/im/IMArticleBubble/IMArticleBubble.js +0 -55
  334. package/es/im/IMArticleBubble/css/IMArticleBubble.module.css +0 -0
  335. package/es/im/IMArticleBubble/css/cssJSLogic.js +0 -10
  336. package/es/im/IMArticleBubble/index.js +0 -1
  337. package/es/im/IMArticleBubble/props/defaultProps.js +0 -8
  338. package/es/im/IMArticleBubble/props/propTypes.js +0 -14
  339. package/es/im/IMAttachmentBubble/IMAttachmentBubble.js +0 -63
  340. package/es/im/IMAttachmentBubble/css/IMAttachmentBubble.module.css +0 -1
  341. package/es/im/IMAttachmentBubble/css/cssJSLogic.js +0 -10
  342. package/es/im/IMAttachmentBubble/index.js +0 -1
  343. package/es/im/IMAttachmentBubble/props/defaultProps.js +0 -10
  344. package/es/im/IMAttachmentBubble/props/propTypes.js +0 -16
  345. package/es/im/IMAttachmentIcon/IMAttachmentIcon.js +0 -86
  346. package/es/im/IMAttachmentIcon/css/IMAttachmentIcon.module.css +0 -4
  347. package/es/im/IMAttachmentIcon/css/cssJSLogic.js +0 -16
  348. package/es/im/IMAttachmentIcon/index.js +0 -1
  349. package/es/im/IMAttachmentIcon/props/propTypes.js +0 -26
  350. package/es/im/IMAudioBubble/IMAudioBubble.js +0 -63
  351. package/es/im/IMAudioBubble/css/IMAudioBubble.module.css +0 -8
  352. package/es/im/IMAudioBubble/css/cssJSLogic.js +0 -20
  353. package/es/im/IMAudioBubble/index.js +0 -1
  354. package/es/im/IMAudioBubble/props/defaultProps.js +0 -11
  355. package/es/im/IMAudioBubble/props/propTypes.js +0 -17
  356. package/es/im/IMAutoMessageInfo/css/cssJSLogic.js +0 -10
  357. package/es/im/IMDateTime/IMDateTime.js +0 -41
  358. package/es/im/IMDateTime/css/IMDateTime.module.css +0 -5
  359. package/es/im/IMDateTime/css/cssJSLogic.js +0 -10
  360. package/es/im/IMDateTime/index.js +0 -1
  361. package/es/im/IMDateTime/props/defaultProps.js +0 -6
  362. package/es/im/IMDateTime/props/propTypes.js +0 -6
  363. package/es/im/IMImageBubble/IMImageBubble.js +0 -49
  364. package/es/im/IMImageBubble/css/IMImageBubble.module.css +0 -0
  365. package/es/im/IMImageBubble/css/cssJSLogic.js +0 -10
  366. package/es/im/IMImageBubble/index.js +0 -1
  367. package/es/im/IMImageBubble/props/defaultProps.js +0 -7
  368. package/es/im/IMImageBubble/props/propTypes.js +0 -13
  369. package/es/im/IMIntegrationIcon/props/propConstants.js +0 -8
  370. package/es/im/IMLocationBubble/IMLocationBubble.js +0 -49
  371. package/es/im/IMLocationBubble/css/IMLocationBubble.module.css +0 -0
  372. package/es/im/IMLocationBubble/css/cssJSLogic.js +0 -10
  373. package/es/im/IMLocationBubble/index.js +0 -1
  374. package/es/im/IMLocationBubble/props/defaultProps.js +0 -8
  375. package/es/im/IMLocationBubble/props/propTypes.js +0 -11
  376. package/es/im/IMMessage/css/IMMessage.module.css +0 -0
  377. package/es/im/IMMessage/css/cssJSLogic.js +0 -10
  378. package/es/im/IMMessage/renderChild/renderMessage.js +0 -8
  379. package/es/im/IMMessage/renderChild/renderMessageActions.js +0 -8
  380. package/es/im/IMMessage/renderChild/renderMessageBox.js +0 -15
  381. package/es/im/IMMessage/renderChild/renderMessageBoxFooter.js +0 -8
  382. package/es/im/IMMessage/renderChild/renderMessageFooter.js +0 -8
  383. package/es/im/IMMessage/renderChild/renderMessageHeader.js +0 -8
  384. package/es/im/IMMessage/renderChild/renderMessageOwner.js +0 -8
  385. package/es/im/IMMessage/renderChild/renderMessageStatus.js +0 -8
  386. package/es/im/IMMessageActions/IMMessageActions.js +0 -150
  387. package/es/im/IMMessageActions/css/IMMessageActions.module.css +0 -31
  388. package/es/im/IMMessageActions/css/cssJSLogic.js +0 -20
  389. package/es/im/IMMessageActions/index.js +0 -1
  390. package/es/im/IMMessageActions/props/defaultProps.js +0 -12
  391. package/es/im/IMMessageActions/props/propTypes.js +0 -30
  392. package/es/im/IMMessageAvatar/IMMessageAvatar.js +0 -45
  393. package/es/im/IMMessageAvatar/css/IMMessageAvatar.module.css +0 -0
  394. package/es/im/IMMessageAvatar/css/cssJSLogic.js +0 -0
  395. package/es/im/IMMessageAvatar/index.js +0 -1
  396. package/es/im/IMMessageAvatar/props/defaultProps.js +0 -12
  397. package/es/im/IMMessageAvatar/props/propTypes.js +0 -28
  398. package/es/im/IMMessageContent/css/cssJSLogic.js +0 -10
  399. package/es/im/IMMessageStatus/IMMessageStatus.js +0 -69
  400. package/es/im/IMMessageStatus/css/cssJSLogic.js +0 -22
  401. package/es/im/IMMessageStatus/index.js +0 -1
  402. package/es/im/IMMessageStatus/props/defaultProps.js +0 -6
  403. package/es/im/IMMessageStatus/props/propTypes.js +0 -21
  404. package/es/im/IMReplyBubble/css/IMReplyBubble.module.css +0 -24
  405. package/es/im/IMReplyBubble/css/cssJSLogic.js +0 -10
  406. package/es/im/IMTextBubble/css/IMTextBubble.module.css +0 -1
  407. package/es/im/IMTextBubble/css/cssJSLogic.js +0 -10
  408. package/es/im/IMVideoBubble/IMVideoBubble.js +0 -62
  409. package/es/im/IMVideoBubble/css/IMVideoBubble.module.css +0 -1
  410. package/es/im/IMVideoBubble/css/cssJSLogic.js +0 -10
  411. package/es/im/IMVideoBubble/index.js +0 -1
  412. package/es/im/IMVideoBubble/props/defaultProps.js +0 -11
  413. package/es/im/IMVideoBubble/props/propTypes.js +0 -17
  414. package/es/unused/AvatarSpace/AvatarSpace.js +0 -40
  415. package/es/unused/AvatarSpace/css/AvatarSpace.module.css +0 -1
  416. package/es/unused/AvatarSpace/css/cssJSLogic.js +0 -15
  417. package/es/unused/AvatarSpace/index.js +0 -1
  418. package/es/unused/AvatarSpace/props/defaultProps.js +0 -10
  419. package/es/unused/AvatarSpace/props/propConstants.js +0 -7
  420. package/es/unused/AvatarSpace/props/propTypes.js +0 -8
  421. /package/es/{ArticleBubble → im/ArticleBubble}/index.js +0 -0
@@ -0,0 +1,67 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ /** ** Libraries *** */
4
+ import React, { useCallback } from 'react';
5
+ /** ** Components *** */
6
+
7
+ import { Container } from '@zohodesk/components/lib/Layout';
8
+ import MessageActionsMore from '../MessageActionsMore/MessageActionsMore';
9
+ /** ** Hooks *** */
10
+
11
+ import useMessageActionsWrapper from '@zohoim/chat-components-hooks/es/MessageActionsWrapper/useMessageActionsWrapper';
12
+ /** ** Constants *** */
13
+
14
+ import messageActionsWrapperDefaultProps from './props/defaultProps';
15
+ import messageActionsWrapperPropTypes from './props/propTypes';
16
+ import { dummyArray, dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
17
+ /** ** Methods *** */
18
+
19
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
20
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
21
+ /** ** Style *** */
22
+
23
+ import style from './css/MessageActionsWrapper.module.css';
24
+ export default function MessageActionsWrapper(props) {
25
+ const {
26
+ actions,
27
+ renderMoreIcon,
28
+ defaultShowCount,
29
+ customStyle,
30
+ customProps
31
+ } = props;
32
+ const {
33
+ messageActionsMoreProps = dummyObject
34
+ } = customProps;
35
+ /* External CSS Customization */
36
+
37
+ const newStyle = useMergeStyle(style, customStyle);
38
+ const {
39
+ isShowMore: isShowMoreIcon,
40
+ actions: defaultActions = dummyArray,
41
+ moreActions = dummyArray
42
+ } = useMessageActionsWrapper(actions, defaultShowCount);
43
+ const renderDefaultActions = useCallback(() => defaultActions.map(action => {
44
+ const {
45
+ id,
46
+ renderFunction
47
+ } = action;
48
+ return renderHandler(renderFunction)({
49
+ id,
50
+ isShowInMore: false,
51
+ action
52
+ }); // id, isRenderInMorePopup
53
+ }), [defaultActions]);
54
+ const renderMoreActions = useCallback(() => /*#__PURE__*/React.createElement(MessageActionsMore, _extends({
55
+ actions: moreActions,
56
+ renderMoreIcon: renderMoreIcon
57
+ }, messageActionsMoreProps)), [moreActions, renderMoreIcon, messageActionsMoreProps]);
58
+ const renderRow = useCallback(() => /*#__PURE__*/React.createElement(Container, {
59
+ alignBox: "row"
60
+ }, renderDefaultActions(), isShowMoreIcon ? renderMoreActions() : null), [renderDefaultActions, renderMoreActions, isShowMoreIcon]);
61
+ return /*#__PURE__*/React.createElement("div", {
62
+ className: newStyle.messageActionsWrapper
63
+ }, renderRow(defaultActions, isShowMoreIcon));
64
+ }
65
+ MessageActionsWrapper.defaultProps = messageActionsWrapperDefaultProps;
66
+ MessageActionsWrapper.propTypes = messageActionsWrapperPropTypes;
67
+ MessageActionsWrapper.displayName = 'MessageActionsWrapper';
@@ -0,0 +1,3 @@
1
+ .messageActionsWrapper {
2
+ /* Use this class for message actions customization */
3
+ }
@@ -0,0 +1 @@
1
+ export { default as MessageActionsWrapper } from './MessageActionsWrapper';
@@ -0,0 +1,9 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
+ import { actionsDefaultShowCount } from '@zohoim/chat-components-utils/es/constants/messageActionConstants';
4
+ const messageActionsWrapperDefaultProps = {
5
+ customStyle: dummyObject,
6
+ customProps: dummyObject,
7
+ defaultShowCount: actionsDefaultShowCount
8
+ };
9
+ export default messageActionsWrapperDefaultProps;
@@ -0,0 +1,15 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const messageActionsWrapperPropTypes = {
4
+ actions: PropTypes.arrayOf(PropTypes.shape({
5
+ id: PropTypes.string.isRequired,
6
+ renderFunction: PropTypes.func
7
+ })).isRequired,
8
+ customProps: PropTypes.shape({
9
+ messageActionsMoreProps: PropTypes.object
10
+ }),
11
+ customStyle: PropTypes.object,
12
+ defaultShowCount: PropTypes.number,
13
+ renderMoreIcon: PropTypes.func
14
+ };
15
+ export default messageActionsWrapperPropTypes;
@@ -1,19 +1,19 @@
1
1
  /** ** Libraries *** */
2
2
  import React from 'react';
3
-
4
3
  /** ** Components *** */
5
- import Avatar from '@zohodesk/components/es/Avatar/Avatar';
6
- import { Container, Box } from '@zohodesk/components/es/Layout';
7
4
 
5
+ import Avatar from '@zohodesk/components/es/Avatar/Avatar';
8
6
  /** ** CSS *** */
7
+
9
8
  import style from './css/MessageAvatar.module.css';
9
+ /** ** Hooks *** */
10
10
 
11
- /** ** Methods *** */
12
11
  import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
13
- import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
14
- import cssJSLogic from './css/cssJSLogic';
12
+ /** ** Methods *** */
15
13
 
14
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
16
15
  /** ** Constants *** */
16
+
17
17
  import messageAvatarDefaultProps from './props/defaultProps';
18
18
  import messageAvatarPropTypes from './props/propTypes';
19
19
  export default function MessageAvatar(props) {
@@ -27,30 +27,23 @@ export default function MessageAvatar(props) {
27
27
  iconTitle,
28
28
  renderIcon
29
29
  } = props;
30
+ /* External CSS Customization */
30
31
 
31
- /* external customization */
32
32
  const newStyle = useMergeStyle(style, customStyle);
33
33
  const icon = renderHandler(renderIcon)();
34
-
35
- /* css classnames added based on logic */
36
- const {
37
- avatarWrapperClass,
38
- iconClass,
39
- avatarClass
40
- } = cssJSLogic(props, newStyle);
41
34
  return /*#__PURE__*/React.createElement("div", {
42
- className: avatarWrapperClass
35
+ className: newStyle.msgAvatar
43
36
  }, /*#__PURE__*/React.createElement(Avatar, {
44
- src: src,
45
37
  alternateSrc: alternateSrc,
46
- title: title,
47
- size: size,
38
+ customClass: newStyle.avatar,
48
39
  name: name,
49
- customClass: avatarClass
50
- }), /*#__PURE__*/React.createElement("span", {
51
- className: iconClass,
40
+ size: size,
41
+ src: src,
42
+ title: title
43
+ }), icon ? /*#__PURE__*/React.createElement("span", {
44
+ className: newStyle.icon,
52
45
  "data-title": iconTitle
53
- }, icon));
46
+ }, icon) : null);
54
47
  }
55
48
  MessageAvatar.defaultProps = messageAvatarDefaultProps;
56
49
  MessageAvatar.propTypes = messageAvatarPropTypes;
@@ -5,15 +5,15 @@
5
5
 
6
6
  .icon {
7
7
  position: absolute;
8
- bottom: calc(-1*var(--imlib_size_6));
8
+ bottom: calc( var(--zd_size6) * -1 ) ;
9
9
  }
10
10
 
11
11
  [dir=ltr] .icon {
12
- right: calc(-1*var(--imlib_size_7));
12
+ right: calc( var(--zd_size7) * -1 ) ;
13
13
  }
14
14
 
15
15
  [dir=rtl] .icon {
16
- left: calc(-1*var(--imlib_size_7));
16
+ left: calc( var(--zd_size7) * -1 ) ;
17
17
  }
18
18
 
19
19
  .avatar {
@@ -1,11 +1,7 @@
1
1
  /** ** Constants *** */
2
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
3
  const messageAvatarDefaultProps = {
4
4
  customStyle: dummyObject,
5
- name: '',
6
- //'RAVI KUMAR',
7
- size: 'small',
8
- iconTitle: '' //'RAVI KUMAR',
5
+ size: 'medium'
9
6
  };
10
-
11
7
  export default messageAvatarDefaultProps;
@@ -1,13 +1,13 @@
1
1
  /** ** Libraries *** */
2
2
  import PropTypes from 'prop-types';
3
3
  const messageAvatarPropTypes = {
4
- src: PropTypes.string,
4
+ src: PropTypes.string.isRequired,
5
5
  alternateSrc: PropTypes.string,
6
- title: PropTypes.string,
7
- size: PropTypes.string,
8
- name: PropTypes.string,
6
+ customStyle: PropTypes.object,
9
7
  iconTitle: PropTypes.string,
8
+ name: PropTypes.string,
10
9
  renderIcon: PropTypes.func,
11
- customStyle: PropTypes.object
10
+ size: PropTypes.oneOf(['xxsmall', 'small', 'xsmall', 'medium', 'xmedium', 'large', 'xlarge']),
11
+ title: PropTypes.string
12
12
  };
13
13
  export default messageAvatarPropTypes;
@@ -1,44 +1,44 @@
1
- /* eslint-disable max-len */
2
-
3
1
  /** ** Libraries *** */
4
2
  import React from 'react';
5
-
6
3
  /** ** Hooks *** */
7
- import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
8
4
 
5
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
6
  /** ** Constants *** */
7
+
10
8
  import messageBoxDefaultProps from './props/defaultProps';
11
9
  import messageBoxPropTypes from './props/propTypes';
12
-
13
10
  /** ** Methods *** */
11
+
14
12
  import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
15
13
  import cssJSLogic from './css/cssJSLogic';
16
-
17
14
  /** ** Styles *** */
15
+
18
16
  import style from './css/MessageBox.module.css';
19
- function MessageBox(props) {
17
+ export default function MessageBox(props) {
20
18
  const {
21
19
  renderMessage: renderMessageContent,
22
20
  renderMessageFooter,
23
21
  renderMessageHeader,
24
22
  customStyle,
25
- renderMessageStatus
23
+ renderMessageStatus,
24
+ isFailed,
25
+ isIncoming,
26
+ isOutgoing
26
27
  } = props;
28
+ /* External CSS Customization */
27
29
 
28
- /* external customization */
29
30
  const newStyle = useMergeStyle(style, customStyle);
30
-
31
31
  /* css classnames added based on logic */
32
- const {
33
- messageBoxClass,
34
- messageBoxInner,
35
- messageContentWrapperClass,
36
- messageHeaderWrapperClass,
37
- messageFooterWrapperClass,
38
- messageStatusWrapperClass
39
- } = cssJSLogic(props, newStyle);
40
32
 
33
+ const {
34
+ messageBoxClass
35
+ } = cssJSLogic({
36
+ isFailed,
37
+ isIncoming,
38
+ isOutgoing
39
+ }, newStyle);
41
40
  /* Render Childrens */
41
+
42
42
  const messageHeader = renderHandler(renderMessageHeader)();
43
43
  const messageConent = renderHandler(renderMessageContent)();
44
44
  const messageFooter = renderHandler(renderMessageFooter)();
@@ -46,18 +46,17 @@ function MessageBox(props) {
46
46
  return /*#__PURE__*/React.createElement("div", {
47
47
  className: messageBoxClass
48
48
  }, /*#__PURE__*/React.createElement("div", {
49
- className: messageBoxInner
49
+ className: newStyle.messageBoxInner
50
50
  }, messageHeader ? /*#__PURE__*/React.createElement("div", {
51
- className: messageHeaderWrapperClass
51
+ className: newStyle.messageHeaderWrapper
52
52
  }, messageHeader) : null, messageConent ? /*#__PURE__*/React.createElement("div", {
53
- className: messageContentWrapperClass
53
+ className: newStyle.messageContentWrapper
54
54
  }, messageConent) : null, messageFooter ? /*#__PURE__*/React.createElement("div", {
55
- className: messageFooterWrapperClass
55
+ className: newStyle.messageFooterWrapper
56
56
  }, messageFooter) : null), messageStatus ? /*#__PURE__*/React.createElement("div", {
57
- className: messageStatusWrapperClass
57
+ className: newStyle.messageStatusWrapper
58
58
  }, messageStatus) : null);
59
59
  }
60
60
  MessageBox.propTypes = messageBoxPropTypes;
61
61
  MessageBox.defaultProps = messageBoxDefaultProps;
62
- MessageBox.displayName = 'MessageBox';
63
- export default MessageBox;
62
+ MessageBox.displayName = 'MessageBox';
@@ -1,16 +1,15 @@
1
1
  .varClass {
2
- --messageBox-content_padding: var(--imlib_size_14);
3
- --messageBox-content_size: var(--imlib_size_14);
4
- --messageBox-border_radius: var(--imlib_size_9);
5
- --messageBox-message_status_gap: var(--imlib_size_12);
6
- --messageBox-message_header_gap: var(--imlib_size_1);
7
- --messageBox-message_footer_gap: var(--imlib_size_1);
8
- /* --messageBox-max_width: var(--imlib_size_410); */
2
+ --messageBox-content_padding: var(--zd_size14);
3
+ --messageBox-content_size: var(--zd_font_size14);
4
+ --messageBox-border_radius: 9px;
5
+ --messageBox-message_status_gap: var(--zd_size12);
6
+ --messageBox-message_header_gap: var(--zd_size1);
7
+ --messageBox-message_footer_gap: var(--zd_size1);
8
+ /* --messageBox-max_width: 410px; */
9
9
  }
10
10
 
11
11
  .messageBoxContainer {
12
12
  composes: varClass;
13
-
14
13
  display: grid;
15
14
  /* flex-direction: row; */
16
15
  grid-template-columns: 1fr auto;
@@ -19,20 +18,19 @@
19
18
  /* max-width: var(--messageBox-max_width); */
20
19
  word-wrap: break-word;
21
20
  font-size: var(--messageBox-content_size);
22
-
23
21
  background-color: var(--imlib_chat_components_messageBox_bg_color);
24
22
  padding: var(--messageBox-content_padding);
25
23
  border-radius: var(--messageBox-border_radius);
26
24
  }
27
25
 
28
- .messageBoxInner{
29
- flex:1;
30
- min-width: 0;
31
- min-height: 0;
26
+ .messageBoxInner {
27
+ flex: 1 ;
28
+ min-width: 0 ;
29
+ min-height: 0 ;
32
30
  }
33
31
 
34
32
  .messageContentWrapper {
35
- /*Use this class for message content customization*/
33
+ /* Use this class for message content customization */
36
34
  line-height: 150%;
37
35
  }
38
36
 
@@ -12,27 +12,7 @@ export default function cssJSLogic(props, style) {
12
12
  [style.incomingMessageBox]: isIncoming && !isFailed,
13
13
  [style.outgoingMessageBox]: isOutgoing && !isFailed
14
14
  });
15
- const messageBoxInner = compileClassNames({
16
- [style.messageBoxInner]: true
17
- });
18
- const messageContentWrapperClass = compileClassNames({
19
- [style.messageContentWrapper]: true
20
- });
21
- const messageHeaderWrapperClass = compileClassNames({
22
- [style.messageHeaderWrapper]: true
23
- });
24
- const messageFooterWrapperClass = compileClassNames({
25
- [style.messageFooterWrapper]: true
26
- });
27
- const messageStatusWrapperClass = compileClassNames({
28
- [style.messageStatusWrapper]: true
29
- });
30
15
  return {
31
- messageBoxClass,
32
- messageBoxInner,
33
- messageContentWrapperClass,
34
- messageHeaderWrapperClass,
35
- messageFooterWrapperClass,
36
- messageStatusWrapperClass
16
+ messageBoxClass
37
17
  };
38
18
  }
@@ -1,8 +1,6 @@
1
1
  /** ** Constants *** */
2
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
3
  export default {
4
4
  customStyle: dummyObject,
5
- isFailed: false,
6
- isIncoming: false,
7
5
  isOutgoing: true
8
6
  };
@@ -1,12 +1,13 @@
1
1
  /** ** Libraries *** */
2
2
  import PropTypes from 'prop-types';
3
- export default {
4
- renderMessageFooter: PropTypes.func,
5
- renderMessageHeader: PropTypes.func,
6
- renderMessageStatus: PropTypes.func,
3
+ const messageBoxPropTypes = {
4
+ isIncoming: PropTypes.bool.isRequired,
5
+ isOutgoing: PropTypes.bool.isRequired,
7
6
  renderMessage: PropTypes.func.isRequired,
8
7
  customStyle: PropTypes.object,
9
8
  isFailed: PropTypes.bool,
10
- isIncoming: PropTypes.bool,
11
- isOutgoing: PropTypes.bool
12
- };
9
+ renderMessageFooter: PropTypes.func,
10
+ renderMessageHeader: PropTypes.func,
11
+ renderMessageStatus: PropTypes.func
12
+ };
13
+ export default messageBoxPropTypes;
@@ -1,23 +1,19 @@
1
- /* eslint-disable max-len */
2
- /* eslint-disable sort-imports */
3
-
4
1
  /** ** Libraries *** */
5
- import React from 'react';
6
-
2
+ import React, { useCallback } from 'react';
7
3
  /** ** Hooks *** */
8
- import { useMessageBubbleAction } from '@zohoim/chat-components-hooks/es/MessageBubble';
9
4
 
5
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
6
+ import useMessageBubbleAction from '@zohoim/chat-components-hooks/es/MessageBubble/useMessageBubbleAction';
10
7
  /** ** Constants *** */
8
+
11
9
  import messageBubbleDefaultProps from './props/defaultProps';
12
10
  import messageBubblePropTypes from './props/propTypes';
13
- import constantProps from './props/propConstants';
14
-
15
11
  /** ** Methods *** */
16
- import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
12
+
17
13
  import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
18
14
  import cssJSLogic from './css/cssJSLogic';
19
-
20
15
  /** ** Styles *** */
16
+
21
17
  import style from './css/MessageBubble.module.css';
22
18
  export default function MessageBubble(props) {
23
19
  const {
@@ -26,53 +22,80 @@ export default function MessageBubble(props) {
26
22
  renderMessageOwner,
27
23
  renderMessageActions,
28
24
  customStyle,
29
- needSender
25
+ needSender,
26
+ isActive,
27
+ direction
30
28
  } = props;
29
+ /* External CSS Customization */
31
30
 
32
- /* external customization */
33
31
  const newStyle = useMergeStyle(style, customStyle);
34
32
  /* css classnames added based on logic */
35
- const {
36
- bubbleClass,
37
- messageOwnerWrapperClass,
38
- messageContainerClass,
39
- messageBoxWrapperClass,
40
- messageActionWrapperClass,
41
- messageBoxFooterWrapperClass
42
- } = cssJSLogic(props, newStyle);
43
33
 
34
+ const {
35
+ bubbleClass
36
+ } = cssJSLogic({
37
+ isActive,
38
+ direction
39
+ }, newStyle);
44
40
  /* Use Hooks */
41
+
45
42
  const {
46
43
  onMouseEnter,
47
44
  onMouseLeave,
48
- isRenderMessageAction
45
+ isRenderMessageActions
49
46
  } = useMessageBubbleAction(props);
50
-
51
47
  /* Render Childrens */
52
- const messageActions = isRenderMessageAction ? renderHandler(renderMessageActions)() : null;
53
- const messageOwner = renderHandler(renderMessageOwner)();
54
- const messageBox = renderHandler(renderMessageBox)();
55
- const messageBoxFooter = renderHandler(renderMessageBoxFooter)();
56
48
 
49
+ /* Message Sender Render */
50
+
51
+ const messageSenderRenderer = useCallback(() => {
52
+ const messageOwner = renderHandler(renderMessageOwner)();
53
+ return needSender ? /*#__PURE__*/React.createElement("div", {
54
+ className: newStyle.messageOwnerWrapper
55
+ }, messageOwner) : null;
56
+ }, [renderMessageOwner, needSender, newStyle.messageOwnerWrapper]);
57
+ /* Message Actions Render */
58
+
59
+ const messageActionsRenderer = useCallback(() => {
60
+ const messageActions = isRenderMessageActions ? renderHandler(renderMessageActions)() : null;
61
+ return messageActions ? /*#__PURE__*/React.createElement("div", {
62
+ className: newStyle.messageActionWrapper
63
+ }, messageActions) : null;
64
+ }, [isRenderMessageActions, renderMessageActions, newStyle.messageActionWrapper]);
65
+ /* Message Box Render */
66
+
67
+ const messageBoxRenderer = useCallback(() => {
68
+ const messageBox = renderHandler(renderMessageBox)();
69
+ return messageBox ? /*#__PURE__*/React.createElement("div", {
70
+ className: newStyle.messageBoxWrapper
71
+ }, messageBox) : null;
72
+ }, [renderMessageBox, newStyle.messageBoxWrapper]);
73
+ /* Message BoxWithActions Render */
74
+
75
+ const messageBoxWithActionsRenderer = useCallback(() => {
76
+ const messageBox = messageBoxRenderer();
77
+ const messageActions = messageActionsRenderer();
78
+ return messageBox || messageActions ? /*#__PURE__*/React.createElement("div", {
79
+ className: newStyle.messageContainer
80
+ }, messageBox, messageActions) : null;
81
+ }, [messageBoxRenderer, messageActionsRenderer, newStyle.messageContainer]);
82
+ /* Message Footer Render */
83
+
84
+ const messageFooterRenderer = useCallback(() => {
85
+ const messageBoxFooter = renderHandler(renderMessageBoxFooter)();
86
+ return messageBoxFooter ? /*#__PURE__*/React.createElement("div", {
87
+ className: newStyle.messageBoxFooterWrapper
88
+ }, messageBoxFooter) : null;
89
+ }, [renderMessageBoxFooter, newStyle.messageBoxFooterWrapper]);
57
90
  /* Construct Layout */
91
+
58
92
  const messageLayout = /*#__PURE__*/React.createElement("div", {
59
93
  className: bubbleClass,
60
94
  onMouseEnter: onMouseEnter,
61
95
  onMouseLeave: onMouseLeave
62
- }, needSender ? /*#__PURE__*/React.createElement("div", {
63
- className: messageOwnerWrapperClass
64
- }, messageOwner) : null, messageBox || messageActions ? /*#__PURE__*/React.createElement("div", {
65
- className: messageContainerClass
66
- }, messageBox ? /*#__PURE__*/React.createElement("div", {
67
- className: messageBoxWrapperClass
68
- }, messageBox) : null, messageActions ? /*#__PURE__*/React.createElement("div", {
69
- className: messageActionWrapperClass
70
- }, messageActions) : null) : null, messageBoxFooter ? /*#__PURE__*/React.createElement("div", {
71
- className: messageBoxFooterWrapperClass
72
- }, messageBoxFooter) : null);
96
+ }, messageSenderRenderer(), messageBoxWithActionsRenderer(), messageFooterRenderer());
73
97
  return messageLayout;
74
98
  }
75
99
  MessageBubble.propTypes = messageBubblePropTypes;
76
100
  MessageBubble.defaultProps = messageBubbleDefaultProps;
77
- MessageBubble.constantProps = constantProps;
78
101
  MessageBubble.displayName = 'MessageBubble';
@@ -1,15 +1,15 @@
1
1
  .varClass {
2
- --messageBubble-bubble_footer_gap: var(--imlib_size_5);
3
- --messageBubble-message_owner_gap: var(--imlib_size_13);
4
- --messageBubble-message_action_gap: var(--imlib_size_12);
5
- --messageBox-max_width: var(--imlib_size_410);
6
- --messageBox-footer_fontSize: var(--imlib_size_11);
7
- --messageBox-owner_width: var(--imlib_size_34);
2
+ --messageBubble-bubble_footer_gap: var(--zd_size5);
3
+ --messageBubble-message_owner_gap: 13px;
4
+ --messageBubble-message_action_gap: var(--zd_size12);
5
+ --messageBox-max_width: var(--zd_size410);
6
+ --messageBox-footer_fontSize: var(--zd_font_size11);
7
+ --messageBox-owner_width: var(--zd_size34);
8
8
  }
9
9
 
10
10
  .messageBubble {
11
11
  composes: varClass;
12
- width: 100%;
12
+ width: 100% ;
13
13
  display: grid;
14
14
  grid-column-gap: var(--messageBubble-message_owner_gap);
15
15
  }
@@ -38,7 +38,9 @@
38
38
  .messageBoxFooterWrapper {
39
39
  grid-area: messageBoxFooter;
40
40
  font-size: var(--messageBox-footer_fontSize);
41
- color: var(--imlib_chat_components_messageBubble_messageBox_footer_text_color);
41
+ color: var(
42
+ --imlib_chat_components_messageBubble_messageBox_footer_text_color
43
+ );
42
44
  margin-top: var(--messageBubble-bubble_footer_gap);
43
45
  }
44
46
 
@@ -65,6 +67,7 @@
65
67
  grid-template-columns: auto 1fr;
66
68
  grid-template-areas: 'messageBox messageAction';
67
69
  }
70
+
68
71
  .directionOut .messageContainer {
69
72
  grid-template-columns: 1fr auto;
70
73
  grid-template-areas: 'messageAction messageBox';
@@ -1,42 +1,26 @@
1
1
  /** ** Methods *** */
2
2
  import { compileClassNames } from '@zohodesk/utils';
3
-
4
- /** ** Constants *** */
5
- import propConstants from '../props/propConstants';
3
+ import getMessageDirectionType from '@zohoim/chat-components-utils/es/getMessageDirectionType';
6
4
  export default function cssJSLogic(props, style) {
7
5
  const {
8
6
  isActive,
9
7
  direction
10
8
  } = props;
11
- const isIncoming = direction === propConstants.direction.IN;
12
- const isOutgoing = direction === propConstants.direction.OUT;
9
+ const {
10
+ isIncoming,
11
+ isOutgoing
12
+ } = getMessageDirectionType({
13
+ messageDetails: {
14
+ direction
15
+ }
16
+ });
13
17
  const bubbleClass = compileClassNames({
14
18
  [style.messageBubble]: true,
15
19
  [style.directionIn]: isIncoming,
16
20
  [style.directionOut]: isOutgoing,
17
21
  [style.active]: isActive
18
22
  });
19
- const messageOwnerWrapperClass = compileClassNames({
20
- [style.messageOwnerWrapper]: true
21
- });
22
- const messageContainerClass = compileClassNames({
23
- [style.messageContainer]: true
24
- });
25
- const messageBoxWrapperClass = compileClassNames({
26
- [style.messageBoxWrapper]: true
27
- });
28
- const messageActionWrapperClass = compileClassNames({
29
- [style.messageActionWrapper]: true
30
- });
31
- const messageBoxFooterWrapperClass = compileClassNames({
32
- [style.messageBoxFooterWrapper]: true
33
- });
34
23
  return {
35
- bubbleClass,
36
- messageOwnerWrapperClass,
37
- messageContainerClass,
38
- messageBoxWrapperClass,
39
- messageActionWrapperClass,
40
- messageBoxFooterWrapperClass
24
+ bubbleClass
41
25
  };
42
26
  }
@@ -1,6 +1,6 @@
1
1
  /** ** Constants *** */
2
- import { dummyObject } from "@zohoim/chat-components-utils/es/constants";
3
- import { direction } from "@zohoim/chat-components-utils/es/constants/messageConstants";
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
+ import { direction } from '@zohoim/chat-components-utils/es/constants/messageConstants';
4
4
  const messageBubbleDefaultProps = {
5
5
  direction: direction.IN,
6
6
  isActive: false,