@zohoim/chat-components 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/es/ActionIcon/ActionIcon.js +13 -11
  2. package/es/ArticleBubble/ArticleBubble.js +60 -0
  3. package/es/ArticleBubble/css/ArticleBubble.module.css +1 -0
  4. package/es/ArticleBubble/css/cssJSLogic.js +34 -0
  5. package/es/ArticleBubble/index.js +1 -0
  6. package/es/ArticleBubble/props/defaultProps.js +6 -0
  7. package/es/ArticleBubble/props/propTypes.js +10 -0
  8. package/es/AttachmentBubble/AttachmentBubble.js +55 -0
  9. package/es/AttachmentBubble/css/AttachmentBubble.module.css +17 -0
  10. package/es/AttachmentBubble/css/cssJSLogic.js +18 -0
  11. package/es/AttachmentBubble/index.js +1 -0
  12. package/es/AttachmentBubble/props/defaultProps.js +7 -0
  13. package/es/AttachmentBubble/props/propTypes.js +10 -0
  14. package/es/AttachmentBubbleInfo/AttachmentBubbleInfo.js +45 -0
  15. package/es/AttachmentBubbleInfo/css/AttachmentBubbleInfo.module.css +18 -0
  16. package/es/AttachmentBubbleInfo/css/cssJSLogic.js +18 -0
  17. package/es/AttachmentBubbleInfo/index.js +1 -0
  18. package/es/AttachmentBubbleInfo/props/defaultProps.js +6 -0
  19. package/es/AttachmentBubbleInfo/props/propTypes.js +8 -0
  20. package/es/Audio/Audio.js +60 -0
  21. package/es/Audio/css/Audio.module.css +3 -0
  22. package/es/Audio/css/cssJSLogic.js +14 -0
  23. package/es/Audio/index.js +1 -0
  24. package/es/Audio/props/defaultProps.js +7 -0
  25. package/es/Audio/props/propTypes.js +9 -0
  26. package/es/AudioBubble/AudioBubble.js +58 -0
  27. package/es/AudioBubble/css/AudioBubble.module.css +3 -0
  28. package/es/AudioBubble/css/cssJSLogic.js +20 -0
  29. package/es/AudioBubble/index.js +1 -0
  30. package/es/AudioBubble/props/defaultProps.js +8 -0
  31. package/es/AudioBubble/props/propTypes.js +12 -0
  32. package/es/IMArticleBubble/IMArticleBubble.js +55 -0
  33. package/es/IMArticleBubble/css/IMArticleBubble.module.css +0 -0
  34. package/es/IMArticleBubble/css/cssJSLogic.js +10 -0
  35. package/es/IMArticleBubble/index.js +1 -0
  36. package/es/IMArticleBubble/props/defaultProps.js +8 -0
  37. package/es/IMArticleBubble/props/propTypes.js +14 -0
  38. package/es/IMAttachmentBubble/IMAttachmentBubble.js +63 -0
  39. package/es/IMAttachmentBubble/css/IMAttachmentBubble.module.css +1 -0
  40. package/es/IMAttachmentBubble/css/cssJSLogic.js +10 -0
  41. package/es/IMAttachmentBubble/index.js +1 -0
  42. package/es/IMAttachmentBubble/props/defaultProps.js +10 -0
  43. package/es/IMAttachmentBubble/props/propTypes.js +16 -0
  44. package/es/IMAttachmentIcon/IMAttachmentIcon.js +86 -0
  45. package/es/IMAttachmentIcon/css/IMAttachmentIcon.module.css +4 -0
  46. package/es/IMAttachmentIcon/css/cssJSLogic.js +16 -0
  47. package/es/IMAttachmentIcon/index.js +1 -0
  48. package/es/IMAttachmentIcon/props/defaultProps.js +6 -0
  49. package/es/IMAttachmentIcon/props/propTypes.js +26 -0
  50. package/es/IMAudioBubble/IMAudioBubble.js +63 -0
  51. package/es/IMAudioBubble/css/IMAudioBubble.module.css +8 -0
  52. package/es/IMAudioBubble/css/cssJSLogic.js +20 -0
  53. package/es/IMAudioBubble/index.js +1 -0
  54. package/es/IMAudioBubble/props/defaultProps.js +11 -0
  55. package/es/IMAudioBubble/props/propTypes.js +17 -0
  56. package/es/IMAutoMessageInfo/IMAutoMessageInfo.js +43 -0
  57. package/es/IMAutoMessageInfo/css/IMAutoMessageInfo.module.css +13 -0
  58. package/es/IMAutoMessageInfo/css/cssJSLogic.js +10 -0
  59. package/es/IMAutoMessageInfo/index.js +1 -0
  60. package/es/IMAutoMessageInfo/props/defaultProps.js +6 -0
  61. package/es/IMAutoMessageInfo/props/propTypes.js +26 -0
  62. package/es/IMDateTime/IMDateTime.js +41 -0
  63. package/es/IMDateTime/css/IMDateTime.module.css +5 -0
  64. package/es/IMDateTime/css/cssJSLogic.js +10 -0
  65. package/es/IMDateTime/index.js +1 -0
  66. package/es/IMDateTime/props/defaultProps.js +6 -0
  67. package/es/IMDateTime/props/propTypes.js +6 -0
  68. package/es/IMImageBubble/IMImageBubble.js +49 -0
  69. package/es/IMImageBubble/css/IMImageBubble.module.css +0 -0
  70. package/es/IMImageBubble/css/cssJSLogic.js +10 -0
  71. package/es/IMImageBubble/index.js +1 -0
  72. package/es/IMImageBubble/props/defaultProps.js +7 -0
  73. package/es/IMImageBubble/props/propTypes.js +13 -0
  74. package/es/IMInfoBubble/IMInfoBubble.js +37 -0
  75. package/es/IMInfoBubble/css/IMInfoBubble.module.css +0 -0
  76. package/es/IMInfoBubble/css/cssJSLogic.js +10 -0
  77. package/es/IMInfoBubble/index.js +1 -0
  78. package/es/IMInfoBubble/props/defaultProps.js +6 -0
  79. package/es/IMInfoBubble/props/propTypes.js +6 -0
  80. package/es/IMLocationBubble/IMLocationBubble.js +49 -0
  81. package/es/IMLocationBubble/css/IMLocationBubble.module.css +0 -0
  82. package/es/IMLocationBubble/css/cssJSLogic.js +10 -0
  83. package/es/IMLocationBubble/index.js +1 -0
  84. package/es/IMLocationBubble/props/defaultProps.js +8 -0
  85. package/es/IMLocationBubble/props/propTypes.js +11 -0
  86. package/es/IMMessage/IMMessage.js +156 -109
  87. package/es/IMMessage/props/defaultProps.js +22 -35
  88. package/es/IMMessage/props/propTypes.js +95 -48
  89. package/es/IMMessageActions/IMMessageActions.js +9 -5
  90. package/es/IMMessageActions/css/IMMessageActions.module.css +2 -2
  91. package/es/IMMessageAvatar/props/defaultProps.js +4 -2
  92. package/es/IMMessageContent/IMMessageContent.js +84 -0
  93. package/es/IMMessageContent/css/IMMessageContent.module.css +0 -0
  94. package/es/IMMessageContent/css/cssJSLogic.js +10 -0
  95. package/es/IMMessageContent/index.js +1 -0
  96. package/es/IMMessageContent/props/defaultProps.js +8 -0
  97. package/es/IMMessageContent/props/propTypes.js +35 -0
  98. package/es/IMMessageMeta/IMMessageMeta.js +60 -0
  99. package/es/IMMessageMeta/css/IMMessageMeta.module.css +32 -0
  100. package/es/IMMessageMeta/css/cssJSLogic.js +20 -0
  101. package/es/IMMessageMeta/index.js +1 -0
  102. package/es/IMMessageMeta/props/defaultProps.js +10 -0
  103. package/es/IMMessageMeta/props/propTypes.js +30 -0
  104. package/es/IMMessageStatus/css/IMMessageStatus.module.css +6 -3
  105. package/es/IMReplyBubble/IMReplyBubble.js +37 -0
  106. package/es/IMReplyBubble/css/IMReplyBubble.module.css +0 -0
  107. package/es/IMReplyBubble/css/cssJSLogic.js +10 -0
  108. package/es/IMReplyBubble/index.js +1 -0
  109. package/es/IMReplyBubble/props/defaultProps.js +6 -0
  110. package/es/IMReplyBubble/props/propTypes.js +6 -0
  111. package/es/IMTextBubble/IMTextBubble.js +53 -0
  112. package/es/IMTextBubble/css/IMTextBubble.module.css +1 -0
  113. package/es/IMTextBubble/css/cssJSLogic.js +10 -0
  114. package/es/IMTextBubble/index.js +1 -0
  115. package/es/IMTextBubble/props/defaultProps.js +14 -0
  116. package/es/IMTextBubble/props/propTypes.js +15 -0
  117. package/es/IMTicketLink/IMTicketLink.js +48 -0
  118. package/es/IMTicketLink/css/IMTicketLink.module.css +24 -0
  119. package/es/IMTicketLink/css/cssJSLogic.js +14 -0
  120. package/es/IMTicketLink/index.js +1 -0
  121. package/es/IMTicketLink/props/defaultProps.js +6 -0
  122. package/es/IMTicketLink/props/propTypes.js +10 -0
  123. package/es/IMVideoBubble/IMVideoBubble.js +62 -0
  124. package/es/IMVideoBubble/css/IMVideoBubble.module.css +1 -0
  125. package/es/IMVideoBubble/css/cssJSLogic.js +10 -0
  126. package/es/IMVideoBubble/index.js +1 -0
  127. package/es/IMVideoBubble/props/defaultProps.js +11 -0
  128. package/es/IMVideoBubble/props/propTypes.js +17 -0
  129. package/es/ImageBubble/ImageBubble.js +52 -0
  130. package/es/ImageBubble/css/ImageBubble.module.css +53 -0
  131. package/es/ImageBubble/css/cssJSLogic.js +22 -0
  132. package/es/ImageBubble/index.js +1 -0
  133. package/es/ImageBubble/props/defaultProps.js +6 -0
  134. package/es/ImageBubble/props/propTypes.js +8 -0
  135. package/es/InfoBubble/InfoBubble.js +37 -0
  136. package/es/InfoBubble/css/InfoBubble.module.css +0 -0
  137. package/es/InfoBubble/css/cssJSLogic.js +10 -0
  138. package/es/InfoBubble/index.js +1 -0
  139. package/es/InfoBubble/props/defaultProps.js +6 -0
  140. package/es/InfoBubble/props/propTypes.js +6 -0
  141. package/es/LazyLoadImage/LazyLoadImage.js +48 -0
  142. package/es/LazyLoadImage/css/LazyLoadImage.module.css +4 -0
  143. package/es/LazyLoadImage/css/cssJSLogic.js +10 -0
  144. package/es/LazyLoadImage/index.js +1 -0
  145. package/es/LazyLoadImage/props/defaultProps.js +6 -0
  146. package/es/LazyLoadImage/props/propTypes.js +8 -0
  147. package/es/LocationBubble/LocationBubble.js +63 -0
  148. package/es/LocationBubble/css/LocationBubble.module.css +3 -0
  149. package/es/LocationBubble/css/cssJSLogic.js +30 -0
  150. package/es/LocationBubble/images/location.png +0 -0
  151. package/es/LocationBubble/index.js +1 -0
  152. package/es/LocationBubble/props/defaultProps.js +6 -0
  153. package/es/LocationBubble/props/propTypes.js +7 -0
  154. package/es/MediaControls/MediaControls.js +60 -0
  155. package/es/MediaControls/css/MediaControls.module.css +1 -0
  156. package/es/MediaControls/css/cssJSLogic.js +22 -0
  157. package/es/MediaControls/index.js +1 -0
  158. package/es/MediaControls/props/defaultProps.js +6 -0
  159. package/es/MediaControls/props/propTypes.js +11 -0
  160. package/es/Message/Message.js +136 -0
  161. package/es/Message/css/Message.module.css +0 -0
  162. package/es/Message/css/cssJSLogic.js +10 -0
  163. package/es/Message/index.js +1 -0
  164. package/es/Message/props/defaultProps.js +43 -0
  165. package/es/Message/props/propTypes.js +98 -0
  166. package/es/MessageAction/MessageAction.js +4 -2
  167. package/es/MessageActions/MessageActions.js +1 -1
  168. package/es/MessageActionsMore/MessageActionsMore.js +5 -3
  169. package/es/MessageAvatar/MessageAvatar.js +9 -9
  170. package/es/MessageAvatar/props/defaultProps.js +4 -2
  171. package/es/MessageBox/MessageBox.js +5 -2
  172. package/es/MessageBox/css/MessageBox.module.css +14 -0
  173. package/es/MessageBox/css/cssJSLogic.js +12 -1
  174. package/es/MessageBox/props/defaultProps.js +3 -1
  175. package/es/MessageBox/props/propTypes.js +3 -1
  176. package/es/MessageBoxFooter/MessageBoxFooter.js +1 -1
  177. package/es/MessageBubble/MessageBubble.js +10 -10
  178. package/es/MessageWrapper/MessageWrapper.js +37 -0
  179. package/es/MessageWrapper/css/MessageWrapper.module.css +0 -0
  180. package/es/MessageWrapper/css/cssJSLogic.js +10 -0
  181. package/es/MessageWrapper/index.js +1 -0
  182. package/es/MessageWrapper/props/defaultProps.js +6 -0
  183. package/es/MessageWrapper/props/propTypes.js +6 -0
  184. package/es/MoreActionItem/MoreActionItem.js +9 -9
  185. package/es/MoreActionItem/props/defaultProps.js +1 -1
  186. package/es/MoreActionItem/props/propTypes.js +1 -1
  187. package/es/ReplyBubble/ReplyBubble.js +41 -0
  188. package/es/ReplyBubble/css/ReplyBubble.module.css +0 -0
  189. package/es/ReplyBubble/css/cssJSLogic.js +10 -0
  190. package/es/ReplyBubble/index.js +1 -0
  191. package/es/ReplyBubble/props/defaultProps.js +6 -0
  192. package/es/ReplyBubble/props/propTypes.js +6 -0
  193. package/es/ReplyBubbleHeader/ReplyBubbleHeader.js +53 -0
  194. package/es/ReplyBubbleHeader/css/ReplyBubbleHeader.module.css +0 -0
  195. package/es/ReplyBubbleHeader/css/cssJSLogic.js +10 -0
  196. package/es/ReplyBubbleHeader/index.js +1 -0
  197. package/es/ReplyBubbleHeader/props/defaultProps.js +9 -0
  198. package/es/ReplyBubbleHeader/props/propTypes.js +9 -0
  199. package/es/TextBubble/TextBubble.js +56 -0
  200. package/es/TextBubble/css/TextBubble.module.css +1 -0
  201. package/es/TextBubble/css/cssJSLogic.js +18 -0
  202. package/es/TextBubble/index.js +1 -0
  203. package/es/TextBubble/props/defaultProps.js +9 -0
  204. package/es/TextBubble/props/propTypes.js +10 -0
  205. package/es/Theme/DeskAssets.js +53 -0
  206. package/es/Theme/ThemeWrapper.js +82 -0
  207. package/es/Theme/ToolttipWrapper.js +81 -0
  208. package/es/Theme/constants/index.js +44 -0
  209. package/es/Theme/crm/dark/blueFanTheme.js +28 -0
  210. package/es/Theme/crm/dark/blueTheme.js +28 -0
  211. package/es/Theme/crm/dark/commonColorVariable.js +11 -0
  212. package/es/Theme/crm/dark/darkBlueTheme.js +28 -0
  213. package/es/Theme/crm/dark/darkGreyTheme.js +28 -0
  214. package/es/Theme/crm/dark/greenTheme.js +28 -0
  215. package/es/Theme/crm/dark/orangeTheme.js +28 -0
  216. package/es/Theme/crm/dark/pinkTheme.js +28 -0
  217. package/es/Theme/crm/dark/tealTheme.js +28 -0
  218. package/es/Theme/crm/dark/whiteTheme.js +28 -0
  219. package/es/Theme/crm/light/blueFanTheme.js +28 -0
  220. package/es/Theme/crm/light/blueTheme.js +31 -0
  221. package/es/Theme/crm/light/commonColorVariable.js +9 -0
  222. package/es/Theme/crm/light/darkBlueTheme.js +28 -0
  223. package/es/Theme/crm/light/darkGreyTheme.js +28 -0
  224. package/es/Theme/crm/light/greenTheme.js +28 -0
  225. package/es/Theme/crm/light/orangeTheme.js +28 -0
  226. package/es/Theme/crm/light/pinkTheme.js +28 -0
  227. package/es/Theme/crm/light/tealTheme.js +28 -0
  228. package/es/Theme/crm/light/whiteTheme.js +28 -0
  229. package/es/Theme/crm/pureDark/blueFanTheme.js +28 -0
  230. package/es/Theme/crm/pureDark/blueTheme.js +28 -0
  231. package/es/Theme/crm/pureDark/commonColorVariable.js +9 -0
  232. package/es/Theme/crm/pureDark/darkBlueTheme.js +28 -0
  233. package/es/Theme/crm/pureDark/darkGreyTheme.js +28 -0
  234. package/es/Theme/crm/pureDark/greenTheme.js +28 -0
  235. package/es/Theme/crm/pureDark/orangeTheme.js +28 -0
  236. package/es/Theme/crm/pureDark/pinkTheme.js +28 -0
  237. package/es/Theme/crm/pureDark/tealTheme.js +28 -0
  238. package/es/Theme/crm/pureDark/whiteTheme.js +28 -0
  239. package/es/Theme/css/TooltipWrapper.module.css +10 -0
  240. package/es/Theme/css/cssJSLogic.js +14 -0
  241. package/es/Theme/desk/commonDeskColorVariable.js +12 -0
  242. package/es/Theme/desk/dark/blueTheme.js +30 -0
  243. package/es/Theme/desk/dark/commonColorVariable.js +5 -0
  244. package/es/Theme/desk/dark/greenTheme.js +30 -0
  245. package/es/Theme/desk/dark/orangeTheme.js +30 -0
  246. package/es/Theme/desk/dark/redTheme.js +30 -0
  247. package/es/Theme/desk/dark/yellowTheme.js +30 -0
  248. package/es/Theme/desk/light/blueTheme.js +33 -0
  249. package/es/Theme/desk/light/commonColorVariable.js +5 -0
  250. package/es/Theme/desk/light/greenTheme.js +30 -0
  251. package/es/Theme/desk/light/orangeTheme.js +29 -0
  252. package/es/Theme/desk/light/redTheme.js +29 -0
  253. package/es/Theme/desk/light/yellowTheme.js +30 -0
  254. package/es/Theme/desk/pureDark/blueTheme.js +30 -0
  255. package/es/Theme/desk/pureDark/commonColorVariable.js +6 -0
  256. package/es/Theme/desk/pureDark/greenTheme.js +30 -0
  257. package/es/Theme/desk/pureDark/orangeTheme.js +30 -0
  258. package/es/Theme/desk/pureDark/redTheme.js +30 -0
  259. package/es/Theme/desk/pureDark/yellowTheme.js +30 -0
  260. package/es/Theme/index.js +1 -0
  261. package/es/Theme/props/defaultProps.js +13 -0
  262. package/es/Theme/props/propTypes.js +15 -0
  263. package/es/Theme/utils/getThemeConfigurations.js +209 -0
  264. package/es/Video/Video.js +69 -0
  265. package/es/Video/css/Video.module.css +9 -0
  266. package/es/Video/css/cssJSLogic.js +14 -0
  267. package/es/Video/index.js +1 -0
  268. package/es/Video/props/defaultProps.js +7 -0
  269. package/es/Video/props/propTypes.js +9 -0
  270. package/es/VideoBubble/VideoBubble.js +57 -0
  271. package/es/VideoBubble/css/VideoBubble.module.css +4 -0
  272. package/es/VideoBubble/css/cssJSLogic.js +10 -0
  273. package/es/VideoBubble/index.js +1 -0
  274. package/es/VideoBubble/props/defaultProps.js +8 -0
  275. package/es/VideoBubble/props/propTypes.js +12 -0
  276. package/es/icons/create-icon-components.js +1 -1
  277. package/es/icons/factory/attachments/audio.svg +19 -0
  278. package/es/icons/factory/attachments/code.svg +21 -0
  279. package/es/icons/factory/attachments/image.svg +20 -0
  280. package/es/icons/factory/attachments/pdf.svg +19 -0
  281. package/es/icons/factory/attachments/txt.svg +22 -0
  282. package/es/icons/factory/attachments/unknown.svg +21 -0
  283. package/es/icons/factory/attachments/video.svg +19 -0
  284. package/es/icons/factory/attachments/zip.svg +27 -0
  285. package/es/icons/iconSrc/actions/ConvertTicket.js +1 -1
  286. package/es/icons/iconSrc/attachments/Audio.js +37 -0
  287. package/es/icons/iconSrc/attachments/Code.js +43 -0
  288. package/es/icons/iconSrc/attachments/Image.js +42 -0
  289. package/es/icons/iconSrc/attachments/Pdf.js +37 -0
  290. package/es/icons/iconSrc/attachments/Txt.js +46 -0
  291. package/es/icons/iconSrc/attachments/Unknown.js +41 -0
  292. package/es/icons/iconSrc/attachments/Video.js +37 -0
  293. package/es/icons/iconSrc/attachments/Zip.js +85 -0
  294. package/es/icons/iconSrc/attachments/index.js +8 -0
  295. package/es/icons/iconSrc/integrations/TtASAP.js +1 -1
  296. package/es/icons/iconSrc/integrations/TtTelegram.js +1 -1
  297. package/es/icons/iconSrc/integrations/TtTwillio.js +1 -1
  298. package/es/icons/iconSrc/integrations/TtTwitter.js +1 -1
  299. package/es/icons/iconSrc/integrations/TtWechat.js +1 -1
  300. package/es/index.js +33 -0
  301. package/package.json +8 -4
  302. /package/es/MessageActionsMore/css/{cssJsLogic.js → cssJSLogic.js} +0 -0
@@ -6,31 +6,33 @@ import React from 'react';
6
6
 
7
7
  /** ** Hooks *** */
8
8
  import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
+ import useActionIcon from '@zohoim/chat-components-hooks/es/ActionIcon/useActionIcon';
9
10
 
10
11
  /** ** Constants *** */
11
12
  import actionIconDefaultProps from './props/defaultProps';
12
13
  import actionIconPropTypes from './props/propTypes';
13
14
 
14
15
  /** ** Methods *** */
15
- import renderHandler from '@zohoim/chat-components-utils/es/renderHandler';
16
16
  import cssJSLogic from './css/cssJSLogic';
17
17
 
18
18
  /** ** Styles *** */
19
19
  import style from './css/ActionIcon.module.css';
20
20
  export default function ActionIcon(props) {
21
21
  const {
22
- renderIcon,
22
+ renderIcon: propRenderIcon,
23
23
  customStyle,
24
- onClick,
24
+ onClick: propOnClick,
25
25
  id,
26
26
  title
27
27
  } = props;
28
- function handleClick(e) {
29
- onClick && onClick({
30
- e,
31
- id
32
- });
33
- }
28
+ const {
29
+ onClick,
30
+ renderIcon
31
+ } = useActionIcon({
32
+ renderIcon: propRenderIcon,
33
+ onClick: propOnClick,
34
+ id
35
+ });
34
36
 
35
37
  /* External customization */
36
38
  const newStyle = useMergeStyle(style, customStyle);
@@ -41,11 +43,11 @@ export default function ActionIcon(props) {
41
43
  } = cssJSLogic(props, newStyle);
42
44
 
43
45
  /* Render Icon */
44
- const icon = renderHandler(renderIcon)({
46
+ const icon = renderIcon({
45
47
  id
46
48
  });
47
49
  return icon ? /*#__PURE__*/React.createElement("div", {
48
- onClick: handleClick,
50
+ onClick: onClick,
49
51
  className: actionIconClass,
50
52
  "data-title": title
51
53
  }, icon) : null;
@@ -0,0 +1,60 @@
1
+ /* eslint-disable react/jsx-no-bind */
2
+ /* eslint-disable max-len */
3
+
4
+ /** ** Libraries *** */
5
+ import React from 'react';
6
+
7
+ /** ** Hooks *** */
8
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
+
10
+ /** ** Constants *** */
11
+ import articleBubbleDefaultProps from './props/defaultProps';
12
+ import articleBubblePropTypes from './props/propTypes';
13
+
14
+ /** ** Methods *** */
15
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
16
+ import cssJSLogic from './css/cssJSLogic';
17
+
18
+ /** ** Styles *** */
19
+ import style from './css/ArticleBubble.module.css';
20
+ import ArticleIcon from '../icons/iconSrc/actions/ConvertTicket';
21
+ export default function ArticleBubble(props) {
22
+ const {
23
+ customStyle,
24
+ bubbleInfo,
25
+ title,
26
+ summary,
27
+ articleURL
28
+ } = props;
29
+
30
+ /* External customization */
31
+ const newStyle = useMergeStyle(style, customStyle);
32
+ /* CSS classnames added based on logic */
33
+ const {
34
+ articleBubbleClass,
35
+ headerClass,
36
+ iconClass,
37
+ headerTextClass,
38
+ articleWrapperClass,
39
+ titleClass,
40
+ summaryClass
41
+ } = cssJSLogic(props, newStyle);
42
+ return /*#__PURE__*/React.createElement("div", {
43
+ className: articleBubbleClass
44
+ }, /*#__PURE__*/React.createElement("div", {
45
+ className: headerClass
46
+ }, /*#__PURE__*/React.createElement("div", {
47
+ className: iconClass
48
+ }, /*#__PURE__*/React.createElement(ArticleIcon, null)), /*#__PURE__*/React.createElement("div", {
49
+ className: headerTextClass
50
+ }, bubbleInfo)), /*#__PURE__*/React.createElement("div", {
51
+ className: articleWrapperClass
52
+ }, /*#__PURE__*/React.createElement("div", {
53
+ className: titleClass
54
+ }, title), /*#__PURE__*/React.createElement("div", {
55
+ className: summaryClass
56
+ }, summary)));
57
+ }
58
+ ArticleBubble.propTypes = articleBubblePropTypes;
59
+ ArticleBubble.defaultProps = articleBubbleDefaultProps;
60
+ ArticleBubble.displayName = 'ArticleBubble';
@@ -0,0 +1,34 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from '@zohodesk/utils';
3
+ export default function cssJSLogic(props, style) {
4
+ const articleBubbleClass = compileClassNames({
5
+ [style.articleBubble]: true
6
+ });
7
+ const headerClass = compileClassNames({
8
+ [style.header]: true
9
+ });
10
+ const iconClass = compileClassNames({
11
+ [style.icon]: true
12
+ });
13
+ const headerTextClass = compileClassNames({
14
+ [style.headerText]: true
15
+ });
16
+ const articleWrapperClass = compileClassNames({
17
+ [style.articleWrapper]: true
18
+ });
19
+ const titleClass = compileClassNames({
20
+ [style.title]: true
21
+ });
22
+ const summaryClass = compileClassNames({
23
+ [style.summary]: true
24
+ });
25
+ return {
26
+ articleBubbleClass,
27
+ headerClass,
28
+ iconClass,
29
+ headerTextClass,
30
+ articleWrapperClass,
31
+ titleClass,
32
+ summaryClass
33
+ };
34
+ }
@@ -0,0 +1 @@
1
+ export { default as ArticleBubble } from './ArticleBubble';
@@ -0,0 +1,6 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const articleBubbleDefaultProps = {
4
+ customStyle: dummyObject
5
+ };
6
+ export default articleBubbleDefaultProps;
@@ -0,0 +1,10 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const articleBubblePropTypes = {
4
+ customStyle: PropTypes.object,
5
+ bubbleInfo: PropTypes.string,
6
+ title: PropTypes.string,
7
+ summary: PropTypes.string,
8
+ articleURL: PropTypes.string
9
+ };
10
+ export default articleBubblePropTypes;
@@ -0,0 +1,55 @@
1
+ /* eslint-disable react/jsx-no-bind */
2
+ /* eslint-disable max-len */
3
+
4
+ /** ** Libraries *** */
5
+ import React from 'react';
6
+
7
+ /** ** Hooks *** */
8
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
+
10
+ /** ** Constants *** */
11
+ import 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
+
18
+ /** ** Styles *** */
19
+ import style from './css/AttachmentBubble.module.css';
20
+ import AttachmentBubbleInfo from '../AttachmentBubbleInfo/AttachmentBubbleInfo';
21
+ import { Container, Box } from '@zohodesk/components/es/Layout';
22
+ export default function AttachmentBubble(props) {
23
+ const {
24
+ customStyle,
25
+ renderFileTypeIcon,
26
+ fileName,
27
+ fileSize,
28
+ bubbleInfoCustomStyle
29
+ } = props;
30
+
31
+ /* External customization */
32
+ const newStyle = useMergeStyle(style, customStyle);
33
+ /* CSS classnames added based on logic */
34
+ const {
35
+ attachmentBubbleClass,
36
+ attachmentBubbleIconClass,
37
+ attachmentBubbleContentClass
38
+ } = cssJSLogic(props, newStyle);
39
+ const fileIcon = renderHandler(renderFileTypeIcon)();
40
+ return /*#__PURE__*/React.createElement(Container, {
41
+ alignBox: "row",
42
+ className: attachmentBubbleClass
43
+ }, /*#__PURE__*/React.createElement("div", {
44
+ className: attachmentBubbleIconClass
45
+ }, fileIcon), /*#__PURE__*/React.createElement("div", {
46
+ className: attachmentBubbleContentClass
47
+ }, /*#__PURE__*/React.createElement(AttachmentBubbleInfo, {
48
+ customStyle: bubbleInfoCustomStyle,
49
+ fileName: fileName,
50
+ fileSize: fileSize
51
+ })));
52
+ }
53
+ AttachmentBubble.propTypes = attachmentBubblePropTypes;
54
+ AttachmentBubble.defaultProps = attachmentBubbleDefaultProps;
55
+ AttachmentBubble.displayName = 'AttachmentBubble';
@@ -0,0 +1,17 @@
1
+ .attachmentBubble {
2
+ background-color: #fff;
3
+ border-radius: 3px;
4
+ border: 1px solid #ebf0f5;
5
+ }
6
+
7
+ [dir=ltr] .attachmentBubbleIcon{
8
+ border-right: 1px solid #ebf0f5;
9
+ }
10
+
11
+ [dir=rtl] .attachmentBubbleIcon{
12
+ border-left: 1px solid #ebf0f5;
13
+ }
14
+
15
+ .attachmentBubbleIcon, .attachmentBubbleContent{
16
+ padding: 10px;
17
+ }
@@ -0,0 +1,18 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from "@zohodesk/utils";
3
+ export default function cssJSLogic(props, style) {
4
+ const attachmentBubbleClass = compileClassNames({
5
+ [style.attachmentBubble]: true
6
+ });
7
+ const attachmentBubbleIconClass = compileClassNames({
8
+ [style.attachmentBubbleIcon]: true
9
+ });
10
+ const attachmentBubbleContentClass = compileClassNames({
11
+ [style.attachmentBubbleContent]: true
12
+ });
13
+ return {
14
+ attachmentBubbleClass,
15
+ attachmentBubbleIconClass,
16
+ attachmentBubbleContentClass
17
+ };
18
+ }
@@ -0,0 +1 @@
1
+ export { default as AttachmentBubble } from './AttachmentBubble';
@@ -0,0 +1,7 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const attachmentBubbleDefaultProps = {
4
+ customStyle: dummyObject,
5
+ bubbleInfoCustomStyle: dummyObject
6
+ };
7
+ export default attachmentBubbleDefaultProps;
@@ -0,0 +1,10 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const attachmentBubblePropTypes = {
4
+ customStyle: PropTypes.object,
5
+ bubbleInfoCustomStyle: PropTypes.object,
6
+ renderFileTypeIcon: PropTypes.func,
7
+ fileName: PropTypes.string,
8
+ fileSize: PropTypes.string
9
+ };
10
+ export default attachmentBubblePropTypes;
@@ -0,0 +1,45 @@
1
+ /* eslint-disable react/jsx-no-bind */
2
+ /* eslint-disable max-len */
3
+
4
+ /** ** Libraries *** */
5
+ import React from 'react';
6
+
7
+ /** ** Hooks *** */
8
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
+
10
+ /** ** Constants *** */
11
+ import attachmentBubbleInfoDefaultProps from './props/defaultProps';
12
+ 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
+ /** ** Styles *** */
19
+ import style from './css/AttachmentBubbleInfo.module.css';
20
+ export default function AttachmentBubbleInfo(props) {
21
+ const {
22
+ customStyle,
23
+ fileName,
24
+ fileSize
25
+ } = props;
26
+
27
+ /* External customization */
28
+ 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
+ return /*#__PURE__*/React.createElement("div", {
36
+ className: attachmentBubbleInfoClass
37
+ }, /*#__PURE__*/React.createElement("div", {
38
+ className: fileNameClass
39
+ }, fileName), /*#__PURE__*/React.createElement("div", {
40
+ className: fileSizeClass
41
+ }, fileSize));
42
+ }
43
+ AttachmentBubbleInfo.propTypes = attachmentBubbleInfoPropTypes;
44
+ AttachmentBubbleInfo.defaultProps = attachmentBubbleInfoDefaultProps;
45
+ AttachmentBubbleInfo.displayName = 'AttachmentBubbleInfo';
@@ -0,0 +1,18 @@
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);
5
+ }
6
+
7
+ .fileName {
8
+ composes: varClass;
9
+ font-size: var(--attachmentBubbleInfo-fileName_font_size);
10
+ font-family: var(--attachmentBubbleInfo-fileName_font_family);
11
+ color: #000;
12
+ margin-bottom: var(--imlib_size_5);
13
+ }
14
+
15
+ .fileSize {
16
+ font-size: var(--attachmentBubbleInfo-fileSize_font_size);
17
+ color: #5a616f;
18
+ }
@@ -0,0 +1,18 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from "@zohodesk/utils";
3
+ export default function cssJSLogic(props, style) {
4
+ const attachmentBubbleInfoClass = compileClassNames({
5
+ [style.attachmentBubbleInfo]: true
6
+ });
7
+ const fileNameClass = compileClassNames({
8
+ [style.fileName]: true
9
+ });
10
+ const fileSizeClass = compileClassNames({
11
+ [style.fileSize]: true
12
+ });
13
+ return {
14
+ attachmentBubbleInfoClass,
15
+ fileNameClass,
16
+ fileSizeClass
17
+ };
18
+ }
@@ -0,0 +1 @@
1
+ export { default as AttachmentBubbleInfo } from './AttachmentBubbleInfo';
@@ -0,0 +1,6 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const attachmentBubbleInfoDefaultProps = {
4
+ customStyle: dummyObject
5
+ };
6
+ export default attachmentBubbleInfoDefaultProps;
@@ -0,0 +1,8 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const attachmentBubbleInfoPropTypes = {
4
+ customStyle: PropTypes.object,
5
+ fileName: PropTypes.string,
6
+ fileSize: PropTypes.string
7
+ };
8
+ export default attachmentBubbleInfoPropTypes;
@@ -0,0 +1,60 @@
1
+ /* eslint-disable react/jsx-no-bind */
2
+ /* eslint-disable max-len */
3
+
4
+ /** ** Libraries *** */
5
+ import React from 'react';
6
+
7
+ /** ** Hooks *** */
8
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
+ import useMedia from '@zohoim/chat-components-hooks/es/Media/useMedia';
10
+
11
+ /** ** Constants *** */
12
+ import audioDefaultProps from './props/defaultProps';
13
+ import audioPropTypes from './props/propTypes';
14
+
15
+ /** ** Methods *** */
16
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
17
+ import cssJSLogic from './css/cssJSLogic';
18
+
19
+ /** ** Styles *** */
20
+ import style from './css/Audio.module.css';
21
+ // import MediaControls from '../MediaControls/MediaControls';
22
+
23
+ export default function Audio(props) {
24
+ const {
25
+ customStyle,
26
+ controlsCustomStyle,
27
+ fileType,
28
+ fileURL
29
+ } = props;
30
+ const {
31
+ mediaElementRef,
32
+ durationTime,
33
+ onTogglePlay,
34
+ currentTime,
35
+ progressPercentage,
36
+ isMediaPlayed
37
+ } = useMedia(props);
38
+
39
+ /* External customization */
40
+ const newStyle = useMergeStyle(style, customStyle);
41
+ /* CSS classnames added based on logic */
42
+ const {
43
+ audioClass,
44
+ audioWrapperClass
45
+ } = cssJSLogic(props, newStyle);
46
+ return /*#__PURE__*/React.createElement("div", {
47
+ className: audioWrapperClass
48
+ }, /*#__PURE__*/React.createElement("audio", {
49
+ preload: "metadata",
50
+ controls: true,
51
+ ref: mediaElementRef,
52
+ className: audioClass
53
+ }, /*#__PURE__*/React.createElement("source", {
54
+ type: fileType,
55
+ "data-src": fileURL
56
+ })));
57
+ }
58
+ Audio.propTypes = audioPropTypes;
59
+ Audio.defaultProps = audioDefaultProps;
60
+ Audio.displayName = 'Audio';
@@ -0,0 +1,3 @@
1
+ .audio {
2
+ width: 100%;
3
+ }
@@ -0,0 +1,14 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from '@zohodesk/utils';
3
+ export default function cssJSLogic(props, style) {
4
+ const audioClass = compileClassNames({
5
+ [style.audio]: true
6
+ });
7
+ const audioWrapperClass = compileClassNames({
8
+ [style.audio]: true
9
+ });
10
+ return {
11
+ audioClass,
12
+ audioWrapperClass
13
+ };
14
+ }
@@ -0,0 +1 @@
1
+ export { default as Audio } from './Audio';
@@ -0,0 +1,7 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const audioDefaultProps = {
4
+ customStyle: dummyObject,
5
+ controlsCustomStyle: dummyObject
6
+ };
7
+ export default audioDefaultProps;
@@ -0,0 +1,9 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const audioPropTypes = {
4
+ customStyle: PropTypes.object,
5
+ controlsCustomStyle: PropTypes.object,
6
+ fileType: PropTypes.string,
7
+ fileURL: PropTypes.string
8
+ };
9
+ export default audioPropTypes;
@@ -0,0 +1,58 @@
1
+ /* eslint-disable react/jsx-no-bind */
2
+ /* eslint-disable max-len */
3
+
4
+ /** ** Libraries *** */
5
+ import React from 'react';
6
+
7
+ /** ** Hooks *** */
8
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
+
10
+ /** ** Constants *** */
11
+ import audioBubbleDefaultProps from './props/defaultProps';
12
+ import audioBubblePropTypes from './props/propTypes';
13
+
14
+ /** ** Methods *** */
15
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
16
+ import cssJSLogic from './css/cssJSLogic';
17
+
18
+ /** ** Styles *** */
19
+ import style from './css/AudioBubble.module.css';
20
+
21
+ /** ** Components *** */
22
+ import AttachmentBubbleInfo from '../AttachmentBubbleInfo/AttachmentBubbleInfo';
23
+ import Audio from '../Audio/Audio';
24
+ export default function AudioBubble(props) {
25
+ const {
26
+ customStyle,
27
+ // headerCustomStyle,
28
+ audioCustomStyle,
29
+ controlsCustomStyle,
30
+ fileName,
31
+ fileSize,
32
+ fileURL,
33
+ fileType
34
+ } = props;
35
+
36
+ /* External customization */
37
+ const newStyle = useMergeStyle(style, customStyle);
38
+ /* CSS classnames added based on logic */
39
+ const {
40
+ audioBubbleClass,
41
+ headerCustomStyle
42
+ } = cssJSLogic(props, newStyle);
43
+ return /*#__PURE__*/React.createElement("div", {
44
+ className: audioBubbleClass
45
+ }, /*#__PURE__*/React.createElement(AttachmentBubbleInfo, {
46
+ customStyle: headerCustomStyle,
47
+ fileName: fileName,
48
+ fileSize: fileSize
49
+ }), /*#__PURE__*/React.createElement(Audio, {
50
+ customStyle: audioCustomStyle,
51
+ fileURL: fileURL,
52
+ fileType: fileType,
53
+ controlsCustomStyle: controlsCustomStyle
54
+ }));
55
+ }
56
+ AudioBubble.propTypes = audioBubblePropTypes;
57
+ AudioBubble.defaultProps = audioBubbleDefaultProps;
58
+ AudioBubble.displayName = 'AudioBubble';
@@ -0,0 +1,3 @@
1
+ .header{
2
+ margin-bottom: 5px;
3
+ }
@@ -0,0 +1,20 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from "@zohodesk/utils";
3
+ export default function cssJSLogic(props, style) {
4
+ let {
5
+ headerCustomStyle: propHeaderCustomStyle
6
+ } = props;
7
+ const audioBubbleClass = compileClassNames({
8
+ [style.audioBubble]: true
9
+ });
10
+ const headerCustomStyle = compileClassNames({
11
+ [style.header]: true
12
+ });
13
+ return {
14
+ audioBubbleClass,
15
+ headerCustomStyle: {
16
+ attachmentBubbleInfo: headerCustomStyle,
17
+ ...propHeaderCustomStyle
18
+ }
19
+ };
20
+ }
@@ -0,0 +1 @@
1
+ export { default as AudioBubble } from './AudioBubble';
@@ -0,0 +1,8 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const audioBubbleDefaultProps = {
4
+ customStyle: dummyObject,
5
+ headerCustomStyle: dummyObject,
6
+ audioCustomStyle: dummyObject
7
+ };
8
+ export default audioBubbleDefaultProps;
@@ -0,0 +1,12 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const audioBubblePropTypes = {
4
+ customStyle: PropTypes.object,
5
+ headerCustomStyle: PropTypes.object,
6
+ audioCustomStyle: PropTypes.object,
7
+ fileName: PropTypes.string,
8
+ fileSize: PropTypes.string,
9
+ fileURL: PropTypes.string,
10
+ fileType: PropTypes.string
11
+ };
12
+ export default audioBubblePropTypes;
@@ -0,0 +1,55 @@
1
+ /* eslint-disable react/jsx-no-bind */
2
+ /* eslint-disable max-len */
3
+
4
+ /** ** Libraries *** */
5
+ import React from 'react';
6
+
7
+ /** ** Hooks *** */
8
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
+
10
+ /** ** Constants *** */
11
+ import imArticleBubbleDefaultProps from './props/defaultProps';
12
+ import imArticleBubblePropTypes from './props/propTypes';
13
+
14
+ /** ** Methods *** */
15
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
16
+ import cssJSLogic from './css/cssJSLogic';
17
+
18
+ /** ** Styles *** */
19
+ import style from './css/IMArticleBubble.module.css';
20
+ import useIMArticleBubble from '../../../chat-components-hooks/src/IMArticleBubble/useIMArticleBubble';
21
+ import ArticleBubble from '../ArticleBubble/ArticleBubble';
22
+ export default function IMArticleBubble(props) {
23
+ const {
24
+ customStyle,
25
+ articleCustomStyle,
26
+ articleDetails,
27
+ articleShareI18N
28
+ } = props;
29
+
30
+ /* External customization */
31
+ const newStyle = useMergeStyle(style, customStyle);
32
+ /* CSS classnames added based on logic */
33
+ const {
34
+ imArticleBubbleClass
35
+ } = cssJSLogic(props, newStyle);
36
+ const {
37
+ articleURL,
38
+ summary,
39
+ title
40
+ } = useIMArticleBubble({
41
+ articleDetails
42
+ });
43
+ return /*#__PURE__*/React.createElement("div", {
44
+ className: imArticleBubbleClass
45
+ }, /*#__PURE__*/React.createElement(ArticleBubble, {
46
+ bubbleInfo: articleShareI18N,
47
+ customStyle: articleCustomStyle,
48
+ articleURL: articleURL,
49
+ summary: summary,
50
+ title: title
51
+ }));
52
+ }
53
+ IMArticleBubble.propTypes = imArticleBubblePropTypes;
54
+ IMArticleBubble.defaultProps = imArticleBubbleDefaultProps;
55
+ IMArticleBubble.displayName = 'IMArticleBubble';