@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,56 +1,78 @@
1
- /* eslint-disable react/jsx-no-bind */
2
- /* 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); }
3
2
 
4
3
  /** ** Libraries *** */
5
- import React from 'react';
4
+ import React, { useCallback, useMemo } from 'react';
5
+ /** ** Components *** */
6
6
 
7
+ import ActionIconWrapper from '../ActionIconWrapper/ActionIconWrapper';
8
+ /** ** Icons *** */
9
+
10
+ import ReplyIcon from '@zohodesk/icon/es/general/Reply';
11
+ import ReloadIcon from '@zohodesk/icon/es/general/Reload';
12
+ import CopyIcon from '@zohodesk/icon/es/general/Copy';
13
+ import DownloadIcon from '@zohodesk/icon/es/general/Cloud';
14
+ import DeleteIcon from '@zohodesk/icon/es/general/Delete';
15
+ import ForwardIcon from '@zohodesk/icon/es/channels/EmailForward';
7
16
  /** ** Hooks *** */
8
- import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
- import useActionIcon from '@zohoim/chat-components-hooks/es/ActionIcon/useActionIcon';
10
17
 
18
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
11
19
  /** ** Constants *** */
20
+
12
21
  import actionIconDefaultProps from './props/defaultProps';
13
22
  import actionIconPropTypes from './props/propTypes';
14
-
15
- /** ** Methods *** */
16
- import cssJSLogic from './css/cssJSLogic';
17
-
23
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
24
+ import { defaultMessageActions } from '@zohoim/chat-components-utils/es/constants/messageActionConstants';
18
25
  /** ** Styles *** */
26
+
19
27
  import style from './css/ActionIcon.module.css';
28
+ const {
29
+ REPLY,
30
+ COPY,
31
+ DOWNLOAD,
32
+ RESEND,
33
+ DELETE,
34
+ FORWARD
35
+ } = defaultMessageActions;
20
36
  export default function ActionIcon(props) {
21
37
  const {
22
- renderIcon: propRenderIcon,
23
38
  customStyle,
24
- onClick: propOnClick,
39
+ customProps,
40
+ onClick,
25
41
  id,
26
- title
42
+ title,
43
+ isDisabled,
44
+ needIconOnly
27
45
  } = props;
28
46
  const {
29
- onClick,
30
- renderIcon
31
- } = useActionIcon({
32
- renderIcon: propRenderIcon,
33
- onClick: propOnClick,
34
- id
35
- });
36
-
47
+ actionIconWrapperProps = dummyObject
48
+ } = customProps;
37
49
  /* External customization */
38
- const newStyle = useMergeStyle(style, customStyle);
39
50
 
40
- /* CSS classnames added based on logic */
41
- const {
42
- actionIconClass
43
- } = cssJSLogic(props, newStyle);
44
-
45
- /* Render Icon */
46
- const icon = renderIcon({
47
- id
48
- });
49
- return icon ? /*#__PURE__*/React.createElement("div", {
51
+ const newStyle = useMergeStyle(style, customStyle);
52
+ const iconStyle = useMemo(() => ({
53
+ base: newStyle.icon
54
+ }), [newStyle.icon]);
55
+ const renderIcon = useCallback(() => {
56
+ const iconMapping = {
57
+ [REPLY]: ReplyIcon,
58
+ [COPY]: CopyIcon,
59
+ [DOWNLOAD]: DownloadIcon,
60
+ [RESEND]: ReloadIcon,
61
+ [DELETE]: DeleteIcon,
62
+ [FORWARD]: ForwardIcon
63
+ };
64
+ const IconComponent = iconMapping[id];
65
+ return IconComponent ? /*#__PURE__*/React.createElement(IconComponent, {
66
+ customStyle: iconStyle
67
+ }) : null;
68
+ }, [iconStyle, id]);
69
+ return needIconOnly ? renderIcon() : /*#__PURE__*/React.createElement(ActionIconWrapper, _extends({
70
+ id: id,
71
+ isDisabled: isDisabled,
50
72
  onClick: onClick,
51
- className: actionIconClass,
52
- "data-title": title
53
- }, icon) : null;
73
+ renderIcon: renderIcon,
74
+ title: title
75
+ }, actionIconWrapperProps));
54
76
  }
55
77
  ActionIcon.propTypes = actionIconPropTypes;
56
78
  ActionIcon.defaultProps = actionIconDefaultProps;
@@ -1,28 +1,9 @@
1
1
  .varClass {
2
- --actionIcon-height: var(--imlib_size_26);
3
- --actionIcon-width: var(--imlib_size_26);
4
- --actionIcon-border: var(--imlib_size_1);
5
- --actionIcon-border_radius: var(--imlib_size_4);
2
+ --actionIcon_icon_size: var(--zd_size15);
6
3
  }
7
4
 
8
- .actionIcon {
5
+ .icon {
9
6
  composes: varClass;
10
-
11
- display: inline-flex;
12
- display: -webkit-inline-flex;
13
- display: -ms-inline-flexbox;
14
- color: var(--imlib_chat_components_actionIcon_color);
15
- position: relative;
16
- width: var(--actionIcon-width);
17
- height: var(--actionIcon-height);
18
- align-items: center;
19
- justify-content: center;
20
- cursor: pointer;
21
- border: var(--actionIcon-border) solid transparent;
22
- border-radius: var(--actionIcon-border_radius);
23
- }
24
-
25
- .actionIcon:hover {
26
- background-color: var(--imlib_chat_components_actionIcon_bg_color);
27
- border-color: var(--imlib_chat_components_actionIcon_border_color);
7
+ width: var(--actionIcon_icon_size);
8
+ height: var(--actionIcon_icon_size);
28
9
  }
@@ -1,6 +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 actionIconDefaultProps = {
4
- customStyle: dummyObject
4
+ customStyle: dummyObject,
5
+ customProps: dummyObject,
6
+ needIconOnly: false
5
7
  };
6
8
  export default actionIconDefaultProps;
@@ -1,10 +1,17 @@
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 actionIconPropTypes = {
7
+ id: PropTypes.oneOf(Object.values(defaultMessageActions)).isRequired,
8
+ onClick: PropTypes.func.isRequired,
9
+ customProps: PropTypes.shape({
10
+ actionIconWrapperProps: PropTypes.object
11
+ }),
4
12
  customStyle: PropTypes.object,
5
- renderIcon: PropTypes.func.isRequired,
6
- onClick: PropTypes.func,
7
- id: PropTypes.string,
13
+ isDisabled: PropTypes.bool,
14
+ needIconOnly: PropTypes.bool,
8
15
  title: PropTypes.string
9
16
  };
10
17
  export default actionIconPropTypes;
@@ -0,0 +1,49 @@
1
+ /** ** Libraries *** */
2
+ import React from 'react';
3
+ /** ** Hooks *** */
4
+
5
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
6
+ import useActionIconWrapper from '@zohoim/chat-components-hooks/es/ActionIconWrapper/useActionIconWrapper';
7
+ /** ** Constants *** */
8
+
9
+ import actionIconWrapperDefaultProps from './props/defaultProps';
10
+ import actionIconWrapperPropTypes from './props/propTypes';
11
+ /** ** Methods *** */
12
+
13
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
14
+ /** ** Styles *** */
15
+
16
+ import style from './css/ActionIconWrapper.module.css';
17
+ export default function ActionIconWrapper(props) {
18
+ const {
19
+ renderIcon,
20
+ customStyle,
21
+ onClick: propOnClick,
22
+ id,
23
+ title,
24
+ isDisabled
25
+ } = props;
26
+ const {
27
+ onClick
28
+ } = useActionIconWrapper({
29
+ onClick: propOnClick,
30
+ id,
31
+ isDisabled
32
+ });
33
+ /* External CSS Customization */
34
+
35
+ const newStyle = useMergeStyle(style, customStyle);
36
+ /* Render Icon */
37
+
38
+ const icon = renderHandler(renderIcon)({
39
+ id
40
+ });
41
+ return icon ? /*#__PURE__*/React.createElement("div", {
42
+ className: newStyle.actionIconWrapper,
43
+ "data-title": title,
44
+ onClick: onClick
45
+ }, icon) : null;
46
+ }
47
+ ActionIconWrapper.propTypes = actionIconWrapperPropTypes;
48
+ ActionIconWrapper.defaultProps = actionIconWrapperDefaultProps;
49
+ ActionIconWrapper.displayName = 'ActionIconWrapper';
@@ -0,0 +1,27 @@
1
+ .varClass {
2
+ --actionIconWrapper-height: var(--zd_size26);
3
+ --actionIconWrapper-width: var(--zd_size26);
4
+ --actionIconWrapper-border: 1px;
5
+ --actionIconWrapper-border_radius: 4px;
6
+ }
7
+
8
+ .actionIconWrapper {
9
+ composes: varClass;
10
+ display: inline-flex;
11
+ display: -webkit-inline-flex;
12
+ display: -ms-inline-flexbox;
13
+ color: var(--imlib_chat_components_actionIconWrapper_color);
14
+ position: relative;
15
+ width: var(--actionIconWrapper-width);
16
+ height: var(--actionIconWrapper-height);
17
+ align-items: center;
18
+ justify-content: center;
19
+ cursor: pointer;
20
+ border: var(--actionIconWrapper-border) solid transparent;
21
+ border-radius: var(--actionIconWrapper-border_radius);
22
+ }
23
+
24
+ .actionIconWrapper:hover {
25
+ background-color: var(--imlib_chat_components_actionIconWrapper_bg_color);
26
+ border-color: var(--imlib_chat_components_actionIconWrapper_border_color);
27
+ }
@@ -0,0 +1 @@
1
+ export { default as ActionIconWrapper } from './ActionIconWrapper';
@@ -1,6 +1,6 @@
1
1
  /** ** Constants *** */
2
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
- const messageWrapperDefaultProps = {
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
+ const actionIconWrapperDefaultProps = {
4
4
  customStyle: dummyObject
5
5
  };
6
- export default messageWrapperDefaultProps;
6
+ export default actionIconWrapperDefaultProps;
@@ -0,0 +1,11 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const actionIconWrapperPropTypes = {
4
+ id: PropTypes.string.isRequired,
5
+ onClick: PropTypes.func.isRequired,
6
+ renderIcon: PropTypes.func.isRequired,
7
+ customStyle: PropTypes.object,
8
+ isDisabled: PropTypes.bool,
9
+ title: PropTypes.string
10
+ };
11
+ export default actionIconWrapperPropTypes;
@@ -1,56 +1,58 @@
1
- /* eslint-disable react/jsx-no-bind */
2
- /* 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); }
3
2
 
4
3
  /** ** Libraries *** */
5
- import React from "react";
6
-
4
+ import React from 'react';
7
5
  /** ** Hooks *** */
8
- import useMergeStyle from "@zohodesk/hooks/es/utils/useMergeStyle";
9
6
 
7
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
8
+ import useAttachmentBubble from '@zohoim/chat-components-hooks/es/AttachmentBubble/useAttachmentBubble';
10
9
  /** ** Constants *** */
11
- import attachmentBubbleDefaultProps from "./props/defaultProps";
12
- import attachmentBubblePropTypes from "./props/propTypes";
13
-
14
- /** ** Methods *** */
15
- import renderHandler from "@zohoim/chat-components-utils/es/common/renderHandler";
16
- import cssJSLogic from "./css/cssJSLogic";
17
10
 
11
+ import attachmentBubbleDefaultProps from './props/defaultProps';
12
+ import attachmentBubblePropTypes from './props/propTypes';
18
13
  /** ** Styles *** */
19
- import style from "./css/AttachmentBubble.module.css";
20
- import AttachmentBubbleInfo from "../AttachmentBubbleInfo/AttachmentBubbleInfo";
21
- import { Container, Box } from "@zohodesk/components/es/Layout";
14
+
15
+ import style from './css/AttachmentBubble.module.css';
16
+ /** ** Components *** */
17
+
18
+ import AttachmentBubbleInfo from '../AttachmentBubbleInfo/AttachmentBubbleInfo';
19
+ import AttachmentIcon from '../AttachmentIcon/AttachmentIcon';
20
+ import { Container, Box } from '@zohodesk/components/es/Layout';
22
21
  export default function AttachmentBubble(props) {
23
22
  const {
24
23
  customStyle,
25
- renderFileTypeIcon,
26
- fileName,
27
- fileSize,
28
- bubbleInfoCustomStyle
24
+ customProps,
25
+ attachmentDetails
29
26
  } = props;
27
+ const {
28
+ attachmentBubbleInfoProps,
29
+ attachmentIconProps
30
+ } = customProps;
31
+ /* External CSS Customization */
30
32
 
31
- /* External customization */
32
33
  const newStyle = useMergeStyle(style, customStyle);
33
- /* CSS classnames added based on logic */
34
34
  const {
35
- attachmentBubbleClass,
36
- attachmentBubbleIconClass,
37
- attachmentBubbleContentClass
38
- } = cssJSLogic(props, newStyle);
39
- const fileIcon = renderHandler(renderFileTypeIcon)();
35
+ formattedFileSize: fileSize,
36
+ fileName,
37
+ fileFormat
38
+ } = useAttachmentBubble({
39
+ attachmentDetails
40
+ });
40
41
  return /*#__PURE__*/React.createElement(Container, {
41
42
  alignBox: "row",
42
- className: attachmentBubbleClass
43
+ className: newStyle.attachmentBubble
43
44
  }, /*#__PURE__*/React.createElement("div", {
44
- className: attachmentBubbleIconClass
45
- }, fileIcon), /*#__PURE__*/React.createElement(Box, {
46
- flexible: true,
47
- className: attachmentBubbleContentClass
48
- }, /*#__PURE__*/React.createElement(AttachmentBubbleInfo, {
49
- customStyle: bubbleInfoCustomStyle,
45
+ className: newStyle.attachmentBubbleIcon
46
+ }, /*#__PURE__*/React.createElement(AttachmentIcon, _extends({
47
+ fileFormat: fileFormat
48
+ }, attachmentIconProps))), /*#__PURE__*/React.createElement(Box, {
49
+ className: newStyle.attachmentBubbleContent,
50
+ flexible: true
51
+ }, /*#__PURE__*/React.createElement(AttachmentBubbleInfo, _extends({
50
52
  fileName: fileName,
51
53
  fileSize: fileSize
52
- })));
54
+ }, attachmentBubbleInfoProps))));
53
55
  }
54
56
  AttachmentBubble.propTypes = attachmentBubblePropTypes;
55
57
  AttachmentBubble.defaultProps = attachmentBubbleDefaultProps;
56
- AttachmentBubble.displayName = "AttachmentBubble";
58
+ AttachmentBubble.displayName = 'AttachmentBubble';
@@ -1,24 +1,25 @@
1
1
  .attachmentBubble {
2
- background-color: var(--imlib_chat_components_attachmentBubble_bg_color);
3
- border-radius: 3px;
4
- border: 1px solid var(--imlib_chat_components_attachmentBubble_border_color);
2
+ background-color: var(--imlib_chat_components_attachmentBubble_bg_color);
3
+ border-radius: 3px;
4
+ border: 1px solid var(--imlib_chat_components_attachmentBubble_border_color);
5
5
  }
6
6
 
7
- .attachmentBubbleIcon{
8
- width: var(--imlib_size_60);
9
- display: flex;
10
- align-items: center;
11
- justify-content: center;
7
+ .attachmentBubbleIcon {
8
+ width: var(--zd_size60) ;
9
+ display: flex;
10
+ align-items: center;
11
+ justify-content: center;
12
12
  }
13
13
 
14
- [dir=ltr] .attachmentBubbleIcon{
15
- border-right: 1px solid var(--imlib_chat_components_attachmentBubble_border_color);
14
+ [dir=ltr] .attachmentBubbleIcon {
15
+ border-right: 1px solid
16
+ var(--imlib_chat_components_attachmentBubble_border_color);
16
17
  }
17
18
 
18
- [dir=rtl] .attachmentBubbleIcon{
19
- border-left: 1px solid var(--imlib_chat_components_attachmentBubble_border_color);
19
+ [dir=rtl] .attachmentBubbleIcon {
20
+ border-left: 1px solid var(--imlib_chat_components_attachmentBubble_border_color);
20
21
  }
21
22
 
22
- .attachmentBubbleIcon, .attachmentBubbleContent{
23
- padding: var(--imlib_size_10);
24
- }
23
+ .attachmentBubbleIcon, .attachmentBubbleContent {
24
+ padding: var(--zd_size10) ;
25
+ }
@@ -1,7 +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 attachmentBubbleDefaultProps = {
4
4
  customStyle: dummyObject,
5
- bubbleInfoCustomStyle: dummyObject
5
+ customProps: dummyObject
6
6
  };
7
7
  export default attachmentBubbleDefaultProps;
@@ -1,10 +1,15 @@
1
1
  /** ** Libraries *** */
2
2
  import PropTypes from 'prop-types';
3
3
  const attachmentBubblePropTypes = {
4
- customStyle: PropTypes.object,
5
- bubbleInfoCustomStyle: PropTypes.object,
6
- renderFileTypeIcon: PropTypes.func,
7
- fileName: PropTypes.string,
8
- fileSize: PropTypes.string
4
+ attachmentDetails: PropTypes.shape({
5
+ name: PropTypes.string.isRequired,
6
+ size: PropTypes.string.isRequired,
7
+ type: PropTypes.string.isRequired
8
+ }).isRequired,
9
+ customProps: PropTypes.shape({
10
+ attachmentBubbleInfoProps: PropTypes.object,
11
+ attachmentIconProps: PropTypes.object
12
+ }),
13
+ customStyle: PropTypes.object
9
14
  };
10
15
  export default attachmentBubblePropTypes;
@@ -1,21 +1,14 @@
1
- /* eslint-disable react/jsx-no-bind */
2
- /* eslint-disable max-len */
3
-
4
1
  /** ** Libraries *** */
5
2
  import React from 'react';
6
-
7
3
  /** ** Hooks *** */
8
- import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
4
 
5
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
10
6
  /** ** Constants *** */
7
+
11
8
  import attachmentBubbleInfoDefaultProps from './props/defaultProps';
12
9
  import attachmentBubbleInfoPropTypes from './props/propTypes';
13
-
14
- /** ** Methods *** */
15
- import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
16
- import cssJSLogic from './css/cssJSLogic';
17
-
18
10
  /** ** Styles *** */
11
+
19
12
  import style from './css/AttachmentBubbleInfo.module.css';
20
13
  export default function AttachmentBubbleInfo(props) {
21
14
  const {
@@ -23,21 +16,15 @@ export default function AttachmentBubbleInfo(props) {
23
16
  fileName,
24
17
  fileSize
25
18
  } = props;
19
+ /* External css customization */
26
20
 
27
- /* External customization */
28
21
  const newStyle = useMergeStyle(style, customStyle);
29
- /* CSS classnames added based on logic */
30
- const {
31
- attachmentBubbleInfoClass,
32
- fileNameClass,
33
- fileSizeClass
34
- } = cssJSLogic(props, newStyle);
35
22
  return /*#__PURE__*/React.createElement("div", {
36
- className: attachmentBubbleInfoClass
23
+ className: newStyle.attachmentBubbleInfo
37
24
  }, /*#__PURE__*/React.createElement("div", {
38
- className: fileNameClass
25
+ className: newStyle.fileName
39
26
  }, fileName), /*#__PURE__*/React.createElement("div", {
40
- className: fileSizeClass
27
+ className: newStyle.fileSize
41
28
  }, fileSize));
42
29
  }
43
30
  AttachmentBubbleInfo.propTypes = attachmentBubbleInfoPropTypes;
@@ -1,25 +1,30 @@
1
- .varClass{
2
- --attachmentBubbleInfo-fileName_font_size: var(--imlib_size_15);
3
- --attachmentBubbleInfo-fileName_font_family: var(--zd_semibold);
4
- --attachmentBubbleInfo-fileSize_font_size: var(--imlib_size_13);
1
+ .varClass {
2
+ --attachmentBubbleInfo-fileName_font_size: var(--zd_font_size15);
3
+ --attachmentBubbleInfo-fileName_font_family: var(--zd_semibold);
4
+ --attachmentBubbleInfo-fileSize_font_size: var(--zd_font_size13);
5
5
  }
6
6
 
7
7
  .fileName {
8
- composes: varClass;
9
- font-size: var(--attachmentBubbleInfo-fileName_font_size);
10
- font-family: var(--attachmentBubbleInfo-fileName_font_family);
11
- color: var(--imlib_chat_components_attachmentBubbleInfo_fileName_color);
12
- margin-bottom: var(--imlib_size_5);
8
+ composes: varClass;
9
+ font-size: var(--attachmentBubbleInfo-fileName_font_size);
10
+ font-family: var(--attachmentBubbleInfo-fileName_font_family);
11
+ color: var(--imlib_chat_components_attachmentBubbleInfo_fileName_color);
12
+ margin-bottom: var(--zd_size5) ;
13
13
  }
14
14
 
15
15
  .fileSize {
16
- font-size: var(--attachmentBubbleInfo-fileSize_font_size);
17
- color: var(--imlib_chat_components_attachmentBubbleInfo_fileSize_color);
16
+ composes: varClass;
17
+ font-size: var(--attachmentBubbleInfo-fileSize_font_size);
18
+ color: var(--imlib_chat_components_attachmentBubbleInfo_fileSize_color);
18
19
  }
19
20
 
20
21
  .fileName,
21
- .fileSize{
22
- white-space: nowrap;
23
- overflow: hidden;
24
- text-overflow: ellipsis;
22
+ .fileSize {
23
+ white-space: nowrap;
24
+ overflow: hidden;
25
+ text-overflow: ellipsis;
26
+ }
27
+
28
+ .attachmentBubbleInfo {
29
+ /* Use this class name for css customization */
25
30
  }
@@ -1,5 +1,5 @@
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 attachmentBubbleInfoDefaultProps = {
4
4
  customStyle: dummyObject
5
5
  };
@@ -1,8 +1,8 @@
1
1
  /** ** Libraries *** */
2
2
  import PropTypes from 'prop-types';
3
3
  const attachmentBubbleInfoPropTypes = {
4
- customStyle: PropTypes.object,
5
- fileName: PropTypes.string,
6
- fileSize: PropTypes.string
4
+ fileName: PropTypes.string.isRequired,
5
+ fileSize: PropTypes.string.isRequired,
6
+ customStyle: PropTypes.object
7
7
  };
8
8
  export default attachmentBubbleInfoPropTypes;
@@ -0,0 +1,47 @@
1
+ /** ** Libraries *** */
2
+ import React, { useMemo } from 'react';
3
+ /** ** Hooks *** */
4
+
5
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
6
+ /** ** Constants *** */
7
+
8
+ import attachmentIconDefaultProps from './props/defaultProps';
9
+ import attachmentIconPropTypes from './props/propTypes';
10
+ /** ** Methods *** */
11
+
12
+ import getAttachmentIconComponent from './utils/getAttachmentIconComponent';
13
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
14
+ /** ** Styles *** */
15
+
16
+ import style from './css/AttachmentIcon.module.css';
17
+ export default function AttachmentIcon(props) {
18
+ const {
19
+ customStyle,
20
+ fileFormat,
21
+ renderCustomIcon
22
+ } = props;
23
+ /* External CSS Customization */
24
+
25
+ const newStyle = useMergeStyle(style, customStyle);
26
+ const iconCustomStyle = useMemo(() => ({
27
+ base: newStyle.icon
28
+ }), [newStyle.icon]);
29
+ /* Custom Icon Renderer */
30
+
31
+ if (renderCustomIcon) {
32
+ const fileIcon = renderHandler(renderCustomIcon)();
33
+ return fileIcon;
34
+ }
35
+
36
+ const {
37
+ IconComponent
38
+ } = getAttachmentIconComponent({
39
+ fileFormat
40
+ });
41
+ return IconComponent ? /*#__PURE__*/React.createElement(IconComponent, {
42
+ customStyle: iconCustomStyle
43
+ }) : null;
44
+ }
45
+ AttachmentIcon.propTypes = attachmentIconPropTypes;
46
+ AttachmentIcon.defaultProps = attachmentIconDefaultProps;
47
+ AttachmentIcon.displayName = 'AttachmentIcon';
@@ -0,0 +1,4 @@
1
+ .icon {
2
+ width: var(--zd_size20) ;
3
+ height: var(--zd_size20) ;
4
+ }
@@ -0,0 +1 @@
1
+ export { default as AttachmentIcon } from './AttachmentIcon';
@@ -1,6 +1,6 @@
1
1
  /** ** Constants *** */
2
- import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
- const mediaControlsDefaultProps = {
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
+ const attachmentIconDefaultProps = {
4
4
  customStyle: dummyObject
5
5
  };
6
- export default mediaControlsDefaultProps;
6
+ export default attachmentIconDefaultProps;
@@ -0,0 +1,11 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ /** ** Constants *** */
4
+
5
+ import attachmentFileTypes from '@zohoim/chat-components-utils/es/constants/attachmentFileTypes';
6
+ const attachmentIconPropTypes = {
7
+ fileFormat: PropTypes.oneOf(Object.values(attachmentFileTypes)).isRequired,
8
+ customStyle: PropTypes.object,
9
+ renderCustomIcon: PropTypes.func
10
+ };
11
+ export default attachmentIconPropTypes;