@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
@@ -1,98 +1,39 @@
1
1
  /** ** Libraries *** */
2
2
  import PropTypes from 'prop-types';
3
-
4
3
  /** ** Constants *** */
5
- import integrationConstants from '@zohoim/chat-components-utils/es/constants/integrationConstants';
4
+
6
5
  import { defaultMessageActions } from '@zohoim/chat-components-utils/es/constants/messageActionConstants';
7
6
  import messageStatusConstants from '@zohoim/chat-components-utils/es/constants/messageStatusConstants';
8
7
  import { direction } from '@zohoim/chat-components-utils/es/constants/messageConstants';
9
- import sizes from '@zohoim/chat-components-utils/es/constants/sizes';
10
- const {
11
- REPLY,
12
- COPY,
13
- DOWNLOAD,
14
- CREATE_TICKET,
15
- RESEND,
16
- DELETE,
17
- FORWARD
18
- } = defaultMessageActions;
19
- const {
20
- WHATSAPP,
21
- TELEGRAM,
22
- INSTAGRAM,
23
- ASAP,
24
- WECHAT,
25
- TWILLIO,
26
- LINE
27
- } = integrationConstants;
28
- const {
29
- SENT,
30
- SAVED,
31
- QUEUED,
32
- DELIVERED,
33
- READ,
34
- UNSENT,
35
- FAILED,
36
- OUTGOING
37
- } = messageStatusConstants;
38
- const {
39
- IN,
40
- OUT
41
- } = direction;
42
8
  const messagePropTypes = {
43
- customStyle: PropTypes.object,
44
- direction: PropTypes.oneOf([IN, OUT]),
9
+ direction: PropTypes.oneOf(Object.values(direction)).isRequired,
10
+ renderContent: PropTypes.func.isRequired,
45
11
  isActive: PropTypes.bool,
46
- needMessageActions: PropTypes.bool,
47
- renderMessageBoxFooter: PropTypes.func,
48
- /* Avatar Related Props Start */
49
- needSender: PropTypes.bool,
50
12
  isShowSender: PropTypes.bool,
51
- senderSrc: PropTypes.string,
52
- senderAlternateSrc: PropTypes.string,
53
- senderTitle: PropTypes.string,
54
- senderAvatarSize: PropTypes.oneOf(['xxsmall', 'small', 'xsmall', 'medium', 'xmedium', 'large', 'xlarge']),
55
- senderName: PropTypes.string,
56
- avatarCustomStyle: PropTypes.object,
57
- senderIntegrationIcon: PropTypes.oneOf([WHATSAPP, TELEGRAM, INSTAGRAM, ASAP, WECHAT, TWILLIO, LINE]),
58
- senderIntegrationIconSize: PropTypes.oneOf([sizes.SMALL, sizes.MEDIUM]),
59
- senderIntegrationIconCustomStyle: PropTypes.object,
60
- isCustomIntegrationIcon: PropTypes.bool,
61
- isCustomSenderAvatar: PropTypes.bool,
62
- renderCustomIntegrationIcon: PropTypes.func,
63
- renderCustomSenderAvatar: PropTypes.func,
64
- /*Avatar Related Props End*/
65
-
66
- /* MessageBox Props Start */
67
- needMessageBox: PropTypes.bool,
68
- renderMessage: PropTypes.func.isRequired,
69
- renderMessageFooter: PropTypes.func,
70
- renderMessageHeader: PropTypes.func,
71
- messageBoxCustomStyle: PropTypes.object,
72
- isFailedMessage: PropTypes.bool,
73
- /*MessageBox Props End */
74
-
75
- /* MessageAction Props Start */
76
- messageActions: PropTypes.arrayOf(PropTypes.shape({
77
- id: PropTypes.oneOfType([PropTypes.string, PropTypes.oneOf([REPLY, COPY, DOWNLOAD, CREATE_TICKET, RESEND, DELETE, FORWARD])]).isRequired,
78
- displayText: PropTypes.string,
79
- renderFunction: PropTypes.func,
80
- iconTitle: PropTypes.string
13
+ needSender: PropTypes.bool,
14
+ ownerDetails: PropTypes.shape({
15
+ alternateSrc: PropTypes.string,
16
+ name: PropTypes.string,
17
+ src: PropTypes.string
18
+ }),
19
+ renderOwnerStatusIcon: PropTypes.func,
20
+ status: PropTypes.oneOf(Object.values(messageStatusConstants)),
21
+ statusTooltip: PropTypes.string,
22
+ actions: PropTypes.arrayOf(PropTypes.shape({
23
+ displayText: PropTypes.string.isRequired,
24
+ id: PropTypes.oneOfType([PropTypes.string, PropTypes.oneOf(Object.values(defaultMessageActions))]).isRequired,
25
+ iconTitle: PropTypes.string,
26
+ isDisabled: PropTypes.bool,
27
+ renderFunction: PropTypes.func
81
28
  })),
29
+ onSelectAction: PropTypes.func.isRequired,
82
30
  renderSecondaryActions: PropTypes.func,
83
- actionsDefaultShowCount: PropTypes.number,
84
- actionIconCustomStyle: PropTypes.object,
85
- moreActionItemCustomStyle: PropTypes.object,
86
- onSelectAction: PropTypes.func,
87
- messageActionCustomStyle: PropTypes.object,
88
- moreActionPopupCustomStyle: PropTypes.object,
89
- /* MessageAction Props End */
90
-
91
- /* MessageStatus Props Start */
92
- messageStatus: PropTypes.oneOf([SENT, SAVED, QUEUED, DELIVERED, READ, UNSENT, FAILED, OUTGOING]),
93
- messageStatusCustomStyle: PropTypes.object,
94
- statusTitle: PropTypes.string
95
- /*MessageStatus Props End */
31
+ customProps: PropTypes.shape({
32
+ messageActionsProps: PropTypes.object,
33
+ messageBoxProps: PropTypes.object,
34
+ messageBubbleProps: PropTypes.object,
35
+ messageOwnerProps: PropTypes.object,
36
+ messageStatusProps: PropTypes.object
37
+ })
96
38
  };
97
-
98
39
  export default messagePropTypes;
@@ -1,44 +1,57 @@
1
- /* eslint-disable max-len */
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
2
 
3
3
  /** ** Libraries *** */
4
- import React from 'react';
5
-
4
+ import React, { useCallback } from 'react';
6
5
  /** ** Components *** */
6
+
7
7
  import MoreActionItem from '../MoreActionItem/MoreActionItem';
8
8
  import ActionIcon from '../ActionIcon/ActionIcon';
9
-
10
9
  /** ** Constants *** */
10
+
11
11
  import messageActionsDefaultProps from './props/defaultProps';
12
12
  import messageActionsPropTypes from './props/propTypes';
13
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
13
14
  export default function MessageAction(props) {
14
15
  const {
15
16
  displayText,
16
17
  id,
17
- index,
18
- renderIcon,
19
18
  onClick,
20
19
  isShowInMore,
21
20
  iconTitle,
22
- actionIconCustomStyle,
23
- moreItemCustomStyle,
24
- closePopup
21
+ customProps,
22
+ closePopup,
23
+ isDisabled,
24
+ needMoreActionItemIcon
25
25
  } = props;
26
- return /*#__PURE__*/React.createElement(React.Fragment, null, isShowInMore ? /*#__PURE__*/React.createElement(MoreActionItem, {
26
+ const {
27
+ moreActionItemProps = dummyObject,
28
+ actionIconProps = dummyObject
29
+ } = customProps;
30
+ const renderIcon = useCallback( // eslint-disable-next-line no-confusing-arrow
31
+ function () {
32
+ let {
33
+ id
34
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
35
+ return needMoreActionItemIcon ? /*#__PURE__*/React.createElement(ActionIcon, _extends({
36
+ id: id,
37
+ needIconOnly: true
38
+ }, actionIconProps)) : null;
39
+ }, [actionIconProps, needMoreActionItemIcon]);
40
+ return isShowInMore ? /*#__PURE__*/React.createElement(MoreActionItem, _extends({
41
+ closePopup: closePopup,
27
42
  displayText: displayText,
28
- iconTitle: iconTitle,
29
43
  id: id,
30
- index: index,
31
- customStyle: moreItemCustomStyle,
44
+ isDisabled: isDisabled,
45
+ needIcon: needMoreActionItemIcon,
32
46
  onClick: onClick,
33
47
  renderIcon: renderIcon,
34
- closePopup: closePopup
35
- }) : /*#__PURE__*/React.createElement(ActionIcon, {
36
- renderIcon: renderIcon,
37
- customStyle: actionIconCustomStyle,
38
- onClick: onClick,
48
+ title: iconTitle
49
+ }, moreActionItemProps)) : /*#__PURE__*/React.createElement(ActionIcon, _extends({
39
50
  id: id,
51
+ isDisabled: isDisabled,
52
+ onClick: onClick,
40
53
  title: iconTitle
41
- }));
54
+ }, actionIconProps));
42
55
  }
43
56
  MessageAction.propTypes = messageActionsPropTypes;
44
57
  MessageAction.defaultProps = messageActionsDefaultProps;
@@ -1,8 +1,8 @@
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 messageActionDefaultProps = {
4
- actionIconCustomStyle: dummyObject,
5
- moreItemCustomStyle: dummyObject,
6
- isShowInMore: false
4
+ customProps: dummyObject,
5
+ isShowInMore: false,
6
+ needMoreActionItemIcon: true
7
7
  };
8
8
  export default messageActionDefaultProps;
@@ -1,14 +1,17 @@
1
1
  /** ** Libraries *** */
2
2
  import PropTypes from 'prop-types';
3
3
  const messageActionPropTypes = {
4
- displayText: PropTypes.string,
5
- id: PropTypes.string,
6
- index: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
7
- renderIcon: PropTypes.func,
8
- onClick: PropTypes.func,
9
- isShowInMore: PropTypes.bool,
4
+ displayText: PropTypes.string.isRequired,
5
+ id: PropTypes.string.isRequired,
6
+ onClick: PropTypes.func.isRequired,
7
+ closePopup: PropTypes.func,
8
+ customProps: PropTypes.shape({
9
+ actionIconProps: PropTypes.object,
10
+ moreActionItemProps: PropTypes.object
11
+ }),
10
12
  iconTitle: PropTypes.string,
11
- actionIconCustomStyle: PropTypes.object,
12
- moreItemCustomStyle: PropTypes.object
13
+ isDisabled: PropTypes.bool,
14
+ isShowInMore: PropTypes.bool,
15
+ needMoreActionItemIcon: PropTypes.bool
13
16
  };
14
17
  export default messageActionPropTypes;
@@ -1,75 +1,108 @@
1
- /* eslint-disable max-len */
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
2
 
3
3
  /** ** Libraries *** */
4
- import React from 'react';
5
-
4
+ import React, { useCallback } from 'react';
6
5
  /** ** Components *** */
7
- import { Container } from '@zohodesk/components/lib/Layout';
8
- import MessageActionsMore from '../MessageActionsMore/MessageActionsMore';
9
6
 
7
+ import ActionIconWrapper from '../ActionIconWrapper/ActionIconWrapper';
8
+ import MessageActionsWrapper from '../MessageActionsWrapper/MessageActionsWrapper';
9
+ import MessageAction from '../MessageAction/MessageAction';
10
+ /** ** Icons *** */
11
+
12
+ import MoreIcon from '@zohodesk/icon/es/general/More';
10
13
  /** ** Hooks *** */
11
- import { useMessageAction } from '@zohoim/chat-components-hooks';
12
14
 
15
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
16
+ import useMessageActions from '@zohoim/chat-components-hooks/es/MessageActions/useMessageActions';
17
+ /** ** Methods *** */
18
+
19
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
13
20
  /** ** Constants *** */
21
+
14
22
  import messageActionsDefaultProps from './props/defaultProps';
15
23
  import messageActionsPropTypes from './props/propTypes';
16
- import constantProps from './props/propConstants';
17
-
18
- /** ** Methods *** */
19
- import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
20
- import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
21
- import cssJSLogic from './css/cssJSLogic';
24
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
25
+ /** ** CSS *** */
22
26
 
23
- /** ** Style *** */
24
27
  import style from './css/MessageActions.module.css';
25
- function MessageActions(props) {
28
+ export default function MessageActions(props) {
26
29
  const {
27
30
  actions,
28
- renderMoreIcon,
29
31
  defaultShowCount,
32
+ onSelect,
33
+ renderSecondaryActions,
30
34
  customStyle,
31
- morePopupCustomStyle
35
+ customProps
32
36
  } = props;
37
+ const {
38
+ messageActionProps = dummyObject,
39
+ actionIconWrapperProps = dummyObject,
40
+ messageActionsWrapperProps = dummyObject
41
+ } = customProps;
42
+ /* External CSS Customization */
33
43
 
34
- /* external customization */
35
44
  const newStyle = useMergeStyle(style, customStyle);
36
- /* css classnames added based on logic */
37
- const {
38
- actionsClass
39
- } = cssJSLogic(props, newStyle);
45
+ const handleClickAction = useCallback(_ref => {
46
+ let {
47
+ id,
48
+ e
49
+ } = _ref;
50
+ onSelect && onSelect({
51
+ id,
52
+ e
53
+ });
54
+ }, [onSelect]);
55
+ const renderAction = useCallback(function () {
56
+ let {
57
+ id,
58
+ isShowInMore,
59
+ action,
60
+ closePopup
61
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
62
+ const {
63
+ displayText,
64
+ iconTitle,
65
+ isDisabled
66
+ } = action || dummyObject;
67
+ return /*#__PURE__*/React.createElement(MessageAction, _extends({
68
+ key: id,
69
+ closePopup: closePopup,
70
+ displayText: displayText,
71
+ iconTitle: iconTitle,
72
+ id: id,
73
+ isDisabled: isDisabled,
74
+ isShowInMore: isShowInMore,
75
+ onClick: handleClickAction
76
+ }, messageActionProps));
77
+ }, [handleClickAction, messageActionProps]);
78
+ /* Hooks handling */
79
+
40
80
  const {
41
- isShowMore: isShowMoreIcon,
42
- revampedActions = []
43
- } = useMessageAction(actions, defaultShowCount);
81
+ actionDetails
82
+ } = useMessageActions({
83
+ actions,
84
+ defaultRenderFunction: renderAction
85
+ });
44
86
  const {
45
- defaultActions = [],
46
- moreActions
47
- } = revampedActions;
48
- function renderRow(defaultActions, isShowMore) {
49
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Container, {
50
- alignBox: "row"
51
- }, defaultActions.map(action => {
52
- const {
53
- id,
54
- renderFunction
55
- } = action;
56
- return renderHandler(renderFunction)({
57
- id,
58
- isShowInMore: false,
59
- action
60
- }); // id, isRenderInMorePopup
61
- }), isShowMore ? /*#__PURE__*/React.createElement(MessageActionsMore, {
62
- actions: moreActions,
63
- renderMoreIcon: renderMoreIcon,
64
- customStyle: morePopupCustomStyle
65
- }) : null));
66
- }
67
- return /*#__PURE__*/React.createElement("div", {
68
- className: actionsClass
69
- }, renderRow(defaultActions, isShowMoreIcon));
87
+ allActions
88
+ } = actionDetails;
89
+ /* Render More Icon */
90
+
91
+ const renderMoreIcon = useCallback(() => /*#__PURE__*/React.createElement("div", {
92
+ className: newStyle.moreIcon
93
+ }, /*#__PURE__*/React.createElement(MoreIcon, null)), [newStyle.moreIcon]);
94
+ const renderMore = useCallback(() => /*#__PURE__*/React.createElement(ActionIconWrapper, _extends({
95
+ renderIcon: renderMoreIcon
96
+ }, actionIconWrapperProps)), [actionIconWrapperProps, renderMoreIcon]);
97
+ const secondaryActions = renderHandler(renderSecondaryActions)();
98
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(MessageActionsWrapper, _extends({
99
+ actions: allActions,
100
+ defaultShowCount: defaultShowCount,
101
+ renderMoreIcon: renderMore
102
+ }, messageActionsWrapperProps)), secondaryActions ? /*#__PURE__*/React.createElement("div", {
103
+ className: newStyle.secondaryActions
104
+ }, secondaryActions) : null);
70
105
  }
71
- MessageActions.defaultProps = messageActionsDefaultProps;
72
106
  MessageActions.propTypes = messageActionsPropTypes;
73
- MessageActions.constantProps = constantProps;
74
- MessageActions.displayName = 'MessageActions';
75
- export default MessageActions;
107
+ MessageActions.defaultProps = messageActionsDefaultProps;
108
+ MessageActions.displayName = 'MessageActions';
@@ -1,3 +1,24 @@
1
- .messageActions {
2
- /*Use this class for message actions customization*/
1
+ .varClass {
2
+ /* --messageActions-secondaryActions_margin: 5px; */
3
+ }
4
+
5
+ [dir=ltr] .moreIcon svg {
6
+ transform: rotate(90deg);
7
+ }
8
+
9
+ [dir=rtl] .moreIcon svg {
10
+ transform: rotate(-90deg);
11
+ }
12
+
13
+ .secondaryActions {
14
+ composes: varClass;
15
+ /* margin-top: var(--messageActions-secondaryActions_margin); */
16
+ }
17
+
18
+ [dir=ltr] .secondaryActions {
19
+ text-align: left;
20
+ }
21
+
22
+ [dir=rtl] .secondaryActions {
23
+ text-align: right;
3
24
  }
@@ -1,10 +1,10 @@
1
1
  /** ** Constants *** */
2
- import { dummyObject, dummyArray } from '@zohoim/chat-components-utils/es/constants';
3
- import propConstants from './propConstants';
2
+ import { dummyObject, dummyArray } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
+ import { actionsDefaultShowCount } from '@zohoim/chat-components-utils/es/constants/messageActionConstants';
4
4
  const messageActionsDefaultProps = {
5
- actions: dummyArray,
6
5
  customStyle: dummyObject,
7
- morePopupCustomStyle: dummyObject,
8
- defaultShowCount: propConstants.actions.defaultShowCount
6
+ customProps: dummyObject,
7
+ defaultShowCount: actionsDefaultShowCount,
8
+ actions: dummyArray
9
9
  };
10
10
  export default messageActionsDefaultProps;
@@ -1,12 +1,24 @@
1
1
  /** ** Libraries *** */
2
2
  import PropTypes from 'prop-types';
3
+ /** ** Constants *** */
4
+
5
+ import { defaultMessageActions } from '@zohoim/chat-components-utils/es/constants/messageActionConstants';
3
6
  const messageActionsPropTypes = {
4
- renderMoreIcon: PropTypes.func,
5
7
  actions: PropTypes.arrayOf(PropTypes.shape({
6
- id: PropTypes.string.isRequired,
8
+ displayText: PropTypes.string.isRequired,
9
+ id: PropTypes.oneOfType([PropTypes.string, PropTypes.oneOf(Object.values(defaultMessageActions))]).isRequired,
10
+ iconTitle: PropTypes.string,
11
+ isDisabled: PropTypes.bool,
7
12
  renderFunction: PropTypes.func
8
13
  })).isRequired,
14
+ onSelect: PropTypes.func.isRequired,
15
+ customProps: PropTypes.shape({
16
+ actionIconWrapperProps: PropTypes.object,
17
+ messageActionProps: PropTypes.object,
18
+ messageActionsWrapperProps: PropTypes.object
19
+ }),
20
+ customStyle: PropTypes.object,
9
21
  defaultShowCount: PropTypes.number,
10
- customStyle: PropTypes.object
22
+ renderSecondaryActions: PropTypes.func
11
23
  };
12
24
  export default messageActionsPropTypes;
@@ -1,33 +1,33 @@
1
- /* eslint-disable max-len */
2
-
3
1
  /** ** Libraries *** */
4
- import React from 'react';
5
-
2
+ import React, { useCallback, useMemo } from 'react';
6
3
  /** ** Components *** */
4
+
7
5
  import Popup from '@zohodesk/components/lib/Popup/Popup';
8
6
  import DropBox from '@zohodesk/components/lib/DropBox/DropBox';
9
-
10
7
  /** ** Constants *** */
8
+
11
9
  import messageActionsMoreDefaultProps from './props/defaultProps';
12
10
  import messageActionsMorePropTypes from './props/propTypes';
13
11
  import { MSG_ACTION_POPUP_PORTAL } from '../constants';
14
-
15
12
  /** ** Methods *** */
16
- import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
17
- import cssJSLogic from './css/cssJSLogic';
18
13
 
14
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
19
15
  /** ** Hooks *** */
20
- import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
21
16
 
17
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
22
18
  /** ** Styles *** */
19
+
23
20
  import style from './css/MessageActionsMore.module.css';
21
+
24
22
  function MessageActionsMoreComp(props) {
25
23
  const {
26
24
  actions,
27
25
  renderMoreIcon,
28
26
  customStyle,
29
27
  popupSize,
30
- /**** Popup Props ****/
28
+ defaultPopupPosition,
29
+
30
+ /** ** Popup Props *** */
31
31
  getTargetRef,
32
32
  getContainerRef,
33
33
  position,
@@ -40,34 +40,21 @@ function MessageActionsMoreComp(props) {
40
40
  positionsOffset
41
41
  } = props;
42
42
  const moreIcon = renderHandler(renderMoreIcon)();
43
+ /* External CSS Customization */
43
44
 
44
- /* External customization */
45
45
  const newStyle = useMergeStyle(style, customStyle);
46
- /* CSS classnames added based on logic */
47
- const {
48
- popupClass,
49
- morePopupContainerClass
50
- } = cssJSLogic(props, newStyle);
51
- return /*#__PURE__*/React.createElement("span", {
52
- className: morePopupContainerClass
53
- }, moreIcon ? /*#__PURE__*/React.createElement("div", {
54
- onClick: togglePopup,
55
- ref: getTargetRef
56
- }, moreIcon) : null, isPopupOpen ? /*#__PURE__*/React.createElement(DropBox, {
57
- boxPosition: position,
58
- getRef: getContainerRef,
59
- isActive: isPopupReady,
60
- isAnimate: true,
61
- isArrow: false,
62
- onClick: removeClose,
63
- isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
64
- positionMapping: positionsOffset,
65
- positionsOffset: positionsOffset,
66
- portalId: MSG_ACTION_POPUP_PORTAL,
67
- size: popupSize,
68
- customClass: popupClass
69
- // isModel
70
- }, actions.map(action => {
46
+ const popupClass = useMemo(() => ({
47
+ customDropBox: newStyle.popup,
48
+ customMobileDropBox: newStyle.mobilePopup,
49
+ customDropBoxWrap: newStyle.popupWrapper,
50
+ customMobileDropBoxWrap: newStyle.mobilePopupWrapper
51
+ }), [newStyle.popup, newStyle.mobilePopup, newStyle.popupWrapper, newStyle.mobilePopupWrapper]);
52
+
53
+ const handleTogglePopup = e => {
54
+ togglePopup(e, defaultPopupPosition);
55
+ };
56
+
57
+ const renderActions = useCallback(() => actions.map(action => {
71
58
  const {
72
59
  id,
73
60
  renderFunction
@@ -78,8 +65,29 @@ function MessageActionsMoreComp(props) {
78
65
  action,
79
66
  closePopup: closePopupOnly
80
67
  }); // id, isRenderInMorePopup
81
- })) : null);
68
+ }), [actions, closePopupOnly]);
69
+ const isRenderPopup = !!(moreIcon && isPopupOpen);
70
+ return /*#__PURE__*/React.createElement("span", {
71
+ className: newStyle.morePopupContainer
72
+ }, moreIcon ? /*#__PURE__*/React.createElement("span", {
73
+ ref: getTargetRef,
74
+ onClick: handleTogglePopup
75
+ }, moreIcon) : null, isRenderPopup ? /*#__PURE__*/React.createElement(DropBox, {
76
+ boxPosition: position,
77
+ customClass: popupClass,
78
+ getRef: getContainerRef,
79
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
80
+ isActive: isPopupReady,
81
+ isAnimate: true,
82
+ isArrow: false,
83
+ onClick: removeClose,
84
+ portalId: MSG_ACTION_POPUP_PORTAL,
85
+ positionsOffset: positionsOffset,
86
+ size: popupSize // isModel
87
+
88
+ }, renderActions()) : null);
82
89
  }
90
+
83
91
  const MessageActionsMore = Popup(MessageActionsMoreComp, '', '', {
84
92
  isAbsolutePositioningNeeded: false
85
93
  });
@@ -2,19 +2,22 @@
2
2
  display: inline-block;
3
3
  }
4
4
 
5
+ .morePopupContainer {
6
+ composes: container;
7
+ }
8
+
5
9
  .popup {
6
- /* use this class name for popup customization*/
7
- padding: var(--imlib_size_10) 0;
10
+ padding: var(--zd_size10) 0 ;
8
11
  }
9
12
 
10
13
  .popupWrapper {
11
- /* use this class name for popup wrapper customization*/
14
+ composes: container;
12
15
  }
13
16
 
14
17
  .mobilePopup {
15
- /* use this class name for mobile popup customization*/
18
+ composes: container;
16
19
  }
17
20
 
18
21
  .mobilePopupWrapper {
19
- /* use this class name for mobile popup wrapper customization*/
22
+ composes: container;
20
23
  }
@@ -1,8 +1,9 @@
1
1
  /** ** Constants *** */
2
- import { dummyObject, dummyArray } from '@zohoim/chat-components-utils/es/constants';
2
+ import { dummyObject, dummyArray } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
3
  const messageActionsMoreDefaultProps = {
4
4
  customStyle: dummyObject,
5
5
  actions: dummyArray,
6
- popupSize: 'small'
6
+ popupSize: 'small',
7
+ defaultPopupPosition: 'bottomCenter'
7
8
  };
8
9
  export default messageActionsMoreDefaultProps;
@@ -5,8 +5,9 @@ const messageActionsMorePropTypes = {
5
5
  id: PropTypes.string.isRequired,
6
6
  renderFunction: PropTypes.func
7
7
  })).isRequired,
8
- renderMoreIcon: PropTypes.func,
8
+ renderMoreIcon: PropTypes.func.isRequired,
9
9
  customStyle: PropTypes.object,
10
- popupSize: PropTypes.string
10
+ popupSize: PropTypes.oneOf(['mini', 'xmini', 'xsmall', 'small', 'medium', 'large', 'mlarge', 'xlarge', 'xxlarge', 'default']),
11
+ defaultPopupPosition: PropTypes.oneOf([['bottomCenter', 'bottomLeftToRight', 'bottomCenterToRight', 'bottomRightToLeft', 'bottomCenterToLeft', 'topCenter', 'topLeftToRight', 'topCenterToRight', 'topRightToLeft', 'topCenterToLeft', 'rightTopToBottom', 'rightCenterToBottom', 'rightCenter', 'rightBottomToTop', 'rightCenterToTop', 'leftTopToBottom', 'leftCenterToBottom', 'leftCenter', 'leftBottomToTop', 'leftCenterToTop', 'bottomRight', 'bottomLeft', 'topRight', 'topLeft', 'rightBottom', 'rightTop', 'leftBottom', 'leftTop']])
11
12
  };
12
13
  export default messageActionsMorePropTypes;