@zohoim/chat-components 0.0.5 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/es/ActionIcon/ActionIcon.js +13 -11
  2. package/es/ArticleBubble/ArticleBubble.js +60 -0
  3. package/es/ArticleBubble/css/ArticleBubble.module.css +1 -0
  4. package/es/ArticleBubble/css/cssJSLogic.js +34 -0
  5. package/es/ArticleBubble/index.js +1 -0
  6. package/es/ArticleBubble/props/defaultProps.js +6 -0
  7. package/es/ArticleBubble/props/propTypes.js +10 -0
  8. package/es/AttachmentBubble/AttachmentBubble.js +55 -0
  9. package/es/AttachmentBubble/css/AttachmentBubble.module.css +17 -0
  10. package/es/AttachmentBubble/css/cssJSLogic.js +18 -0
  11. package/es/AttachmentBubble/index.js +1 -0
  12. package/es/AttachmentBubble/props/defaultProps.js +7 -0
  13. package/es/AttachmentBubble/props/propTypes.js +10 -0
  14. package/es/AttachmentBubbleInfo/AttachmentBubbleInfo.js +45 -0
  15. package/es/AttachmentBubbleInfo/css/AttachmentBubbleInfo.module.css +18 -0
  16. package/es/AttachmentBubbleInfo/css/cssJSLogic.js +18 -0
  17. package/es/AttachmentBubbleInfo/index.js +1 -0
  18. package/es/AttachmentBubbleInfo/props/defaultProps.js +6 -0
  19. package/es/AttachmentBubbleInfo/props/propTypes.js +8 -0
  20. package/es/Audio/Audio.js +60 -0
  21. package/es/Audio/css/Audio.module.css +3 -0
  22. package/es/Audio/css/cssJSLogic.js +14 -0
  23. package/es/Audio/index.js +1 -0
  24. package/es/Audio/props/defaultProps.js +7 -0
  25. package/es/Audio/props/propTypes.js +9 -0
  26. package/es/AudioBubble/AudioBubble.js +58 -0
  27. package/es/AudioBubble/css/AudioBubble.module.css +3 -0
  28. package/es/AudioBubble/css/cssJSLogic.js +20 -0
  29. package/es/AudioBubble/index.js +1 -0
  30. package/es/AudioBubble/props/defaultProps.js +8 -0
  31. package/es/AudioBubble/props/propTypes.js +12 -0
  32. package/es/IMArticleBubble/IMArticleBubble.js +55 -0
  33. package/es/IMArticleBubble/css/IMArticleBubble.module.css +0 -0
  34. package/es/IMArticleBubble/css/cssJSLogic.js +10 -0
  35. package/es/IMArticleBubble/index.js +1 -0
  36. package/es/IMArticleBubble/props/defaultProps.js +8 -0
  37. package/es/IMArticleBubble/props/propTypes.js +14 -0
  38. package/es/IMAttachmentBubble/IMAttachmentBubble.js +63 -0
  39. package/es/IMAttachmentBubble/css/IMAttachmentBubble.module.css +1 -0
  40. package/es/IMAttachmentBubble/css/cssJSLogic.js +10 -0
  41. package/es/IMAttachmentBubble/index.js +1 -0
  42. package/es/IMAttachmentBubble/props/defaultProps.js +10 -0
  43. package/es/IMAttachmentBubble/props/propTypes.js +16 -0
  44. package/es/IMAttachmentIcon/IMAttachmentIcon.js +86 -0
  45. package/es/IMAttachmentIcon/css/IMAttachmentIcon.module.css +4 -0
  46. package/es/IMAttachmentIcon/css/cssJSLogic.js +16 -0
  47. package/es/IMAttachmentIcon/index.js +1 -0
  48. package/es/IMAttachmentIcon/props/defaultProps.js +6 -0
  49. package/es/IMAttachmentIcon/props/propTypes.js +26 -0
  50. package/es/IMAudioBubble/IMAudioBubble.js +63 -0
  51. package/es/IMAudioBubble/css/IMAudioBubble.module.css +8 -0
  52. package/es/IMAudioBubble/css/cssJSLogic.js +20 -0
  53. package/es/IMAudioBubble/index.js +1 -0
  54. package/es/IMAudioBubble/props/defaultProps.js +11 -0
  55. package/es/IMAudioBubble/props/propTypes.js +17 -0
  56. package/es/IMAutoMessageInfo/IMAutoMessageInfo.js +43 -0
  57. package/es/IMAutoMessageInfo/css/IMAutoMessageInfo.module.css +13 -0
  58. package/es/IMAutoMessageInfo/css/cssJSLogic.js +10 -0
  59. package/es/IMAutoMessageInfo/index.js +1 -0
  60. package/es/IMAutoMessageInfo/props/defaultProps.js +6 -0
  61. package/es/IMAutoMessageInfo/props/propTypes.js +26 -0
  62. package/es/IMDateTime/IMDateTime.js +41 -0
  63. package/es/IMDateTime/css/IMDateTime.module.css +5 -0
  64. package/es/IMDateTime/css/cssJSLogic.js +10 -0
  65. package/es/IMDateTime/index.js +1 -0
  66. package/es/IMDateTime/props/defaultProps.js +6 -0
  67. package/es/IMDateTime/props/propTypes.js +6 -0
  68. package/es/IMImageBubble/IMImageBubble.js +49 -0
  69. package/es/IMImageBubble/css/IMImageBubble.module.css +0 -0
  70. package/es/IMImageBubble/css/cssJSLogic.js +10 -0
  71. package/es/IMImageBubble/index.js +1 -0
  72. package/es/IMImageBubble/props/defaultProps.js +7 -0
  73. package/es/IMImageBubble/props/propTypes.js +13 -0
  74. package/es/IMInfoBubble/IMInfoBubble.js +37 -0
  75. package/es/IMInfoBubble/css/IMInfoBubble.module.css +0 -0
  76. package/es/IMInfoBubble/css/cssJSLogic.js +10 -0
  77. package/es/IMInfoBubble/index.js +1 -0
  78. package/es/IMInfoBubble/props/defaultProps.js +6 -0
  79. package/es/IMInfoBubble/props/propTypes.js +6 -0
  80. package/es/IMLocationBubble/IMLocationBubble.js +49 -0
  81. package/es/IMLocationBubble/css/IMLocationBubble.module.css +0 -0
  82. package/es/IMLocationBubble/css/cssJSLogic.js +10 -0
  83. package/es/IMLocationBubble/index.js +1 -0
  84. package/es/IMLocationBubble/props/defaultProps.js +8 -0
  85. package/es/IMLocationBubble/props/propTypes.js +11 -0
  86. package/es/IMMessage/IMMessage.js +156 -109
  87. package/es/IMMessage/props/defaultProps.js +22 -35
  88. package/es/IMMessage/props/propTypes.js +96 -49
  89. package/es/IMMessageActions/IMMessageActions.js +9 -5
  90. package/es/IMMessageActions/css/IMMessageActions.module.css +2 -2
  91. package/es/IMMessageAvatar/props/defaultProps.js +4 -2
  92. package/es/IMMessageContent/IMMessageContent.js +84 -0
  93. package/es/IMMessageContent/css/IMMessageContent.module.css +0 -0
  94. package/es/IMMessageContent/css/cssJSLogic.js +10 -0
  95. package/es/IMMessageContent/index.js +1 -0
  96. package/es/IMMessageContent/props/defaultProps.js +8 -0
  97. package/es/IMMessageContent/props/propTypes.js +35 -0
  98. package/es/IMMessageMeta/IMMessageMeta.js +60 -0
  99. package/es/IMMessageMeta/css/IMMessageMeta.module.css +32 -0
  100. package/es/IMMessageMeta/css/cssJSLogic.js +20 -0
  101. package/es/IMMessageMeta/index.js +1 -0
  102. package/es/IMMessageMeta/props/defaultProps.js +10 -0
  103. package/es/IMMessageMeta/props/propTypes.js +30 -0
  104. package/es/IMMessageStatus/css/IMMessageStatus.module.css +6 -3
  105. package/es/IMReplyBubble/IMReplyBubble.js +37 -0
  106. package/es/IMReplyBubble/css/IMReplyBubble.module.css +0 -0
  107. package/es/IMReplyBubble/css/cssJSLogic.js +10 -0
  108. package/es/IMReplyBubble/index.js +1 -0
  109. package/es/IMReplyBubble/props/defaultProps.js +6 -0
  110. package/es/IMReplyBubble/props/propTypes.js +6 -0
  111. package/es/IMTextBubble/IMTextBubble.js +53 -0
  112. package/es/IMTextBubble/css/IMTextBubble.module.css +1 -0
  113. package/es/IMTextBubble/css/cssJSLogic.js +10 -0
  114. package/es/IMTextBubble/index.js +1 -0
  115. package/es/IMTextBubble/props/defaultProps.js +14 -0
  116. package/es/IMTextBubble/props/propTypes.js +15 -0
  117. package/es/IMTicketLink/IMTicketLink.js +48 -0
  118. package/es/IMTicketLink/css/IMTicketLink.module.css +24 -0
  119. package/es/IMTicketLink/css/cssJSLogic.js +14 -0
  120. package/es/IMTicketLink/index.js +1 -0
  121. package/es/IMTicketLink/props/defaultProps.js +6 -0
  122. package/es/IMTicketLink/props/propTypes.js +10 -0
  123. package/es/IMVideoBubble/IMVideoBubble.js +62 -0
  124. package/es/IMVideoBubble/css/IMVideoBubble.module.css +1 -0
  125. package/es/IMVideoBubble/css/cssJSLogic.js +10 -0
  126. package/es/IMVideoBubble/index.js +1 -0
  127. package/es/IMVideoBubble/props/defaultProps.js +11 -0
  128. package/es/IMVideoBubble/props/propTypes.js +17 -0
  129. package/es/ImageBubble/ImageBubble.js +52 -0
  130. package/es/ImageBubble/css/ImageBubble.module.css +53 -0
  131. package/es/ImageBubble/css/cssJSLogic.js +22 -0
  132. package/es/ImageBubble/index.js +1 -0
  133. package/es/ImageBubble/props/defaultProps.js +6 -0
  134. package/es/ImageBubble/props/propTypes.js +8 -0
  135. package/es/InfoBubble/InfoBubble.js +37 -0
  136. package/es/InfoBubble/css/InfoBubble.module.css +0 -0
  137. package/es/InfoBubble/css/cssJSLogic.js +10 -0
  138. package/es/InfoBubble/index.js +1 -0
  139. package/es/InfoBubble/props/defaultProps.js +6 -0
  140. package/es/InfoBubble/props/propTypes.js +6 -0
  141. package/es/LazyLoadImage/LazyLoadImage.js +48 -0
  142. package/es/LazyLoadImage/css/LazyLoadImage.module.css +4 -0
  143. package/es/LazyLoadImage/css/cssJSLogic.js +10 -0
  144. package/es/LazyLoadImage/index.js +1 -0
  145. package/es/LazyLoadImage/props/defaultProps.js +6 -0
  146. package/es/LazyLoadImage/props/propTypes.js +8 -0
  147. package/es/LocationBubble/LocationBubble.js +63 -0
  148. package/es/LocationBubble/css/LocationBubble.module.css +3 -0
  149. package/es/LocationBubble/css/cssJSLogic.js +30 -0
  150. package/es/LocationBubble/images/location.png +0 -0
  151. package/es/LocationBubble/index.js +1 -0
  152. package/es/LocationBubble/props/defaultProps.js +6 -0
  153. package/es/LocationBubble/props/propTypes.js +7 -0
  154. package/es/MediaControls/MediaControls.js +60 -0
  155. package/es/MediaControls/css/MediaControls.module.css +1 -0
  156. package/es/MediaControls/css/cssJSLogic.js +22 -0
  157. package/es/MediaControls/index.js +1 -0
  158. package/es/MediaControls/props/defaultProps.js +6 -0
  159. package/es/MediaControls/props/propTypes.js +11 -0
  160. package/es/Message/Message.js +136 -0
  161. package/es/Message/css/Message.module.css +0 -0
  162. package/es/Message/css/cssJSLogic.js +10 -0
  163. package/es/Message/index.js +1 -0
  164. package/es/Message/props/defaultProps.js +43 -0
  165. package/es/Message/props/propTypes.js +98 -0
  166. package/es/MessageAction/MessageAction.js +4 -2
  167. package/es/MessageActions/MessageActions.js +1 -1
  168. package/es/MessageActionsMore/MessageActionsMore.js +5 -3
  169. package/es/MessageAvatar/MessageAvatar.js +9 -9
  170. package/es/MessageAvatar/props/defaultProps.js +4 -2
  171. package/es/MessageBox/MessageBox.js +5 -2
  172. package/es/MessageBox/css/MessageBox.module.css +14 -0
  173. package/es/MessageBox/css/cssJSLogic.js +12 -1
  174. package/es/MessageBox/props/defaultProps.js +3 -1
  175. package/es/MessageBox/props/propTypes.js +3 -1
  176. package/es/MessageBoxFooter/MessageBoxFooter.js +1 -1
  177. package/es/MessageBubble/MessageBubble.js +10 -10
  178. package/es/MessageWrapper/MessageWrapper.js +37 -0
  179. package/es/MessageWrapper/css/MessageWrapper.module.css +0 -0
  180. package/es/MessageWrapper/css/cssJSLogic.js +10 -0
  181. package/es/MessageWrapper/index.js +1 -0
  182. package/es/MessageWrapper/props/defaultProps.js +6 -0
  183. package/es/MessageWrapper/props/propTypes.js +6 -0
  184. package/es/MoreActionItem/MoreActionItem.js +9 -9
  185. package/es/MoreActionItem/props/defaultProps.js +1 -1
  186. package/es/MoreActionItem/props/propTypes.js +1 -1
  187. package/es/ReplyBubble/ReplyBubble.js +41 -0
  188. package/es/ReplyBubble/css/ReplyBubble.module.css +0 -0
  189. package/es/ReplyBubble/css/cssJSLogic.js +10 -0
  190. package/es/ReplyBubble/index.js +1 -0
  191. package/es/ReplyBubble/props/defaultProps.js +6 -0
  192. package/es/ReplyBubble/props/propTypes.js +6 -0
  193. package/es/ReplyBubbleHeader/ReplyBubbleHeader.js +53 -0
  194. package/es/ReplyBubbleHeader/css/ReplyBubbleHeader.module.css +0 -0
  195. package/es/ReplyBubbleHeader/css/cssJSLogic.js +10 -0
  196. package/es/ReplyBubbleHeader/index.js +1 -0
  197. package/es/ReplyBubbleHeader/props/defaultProps.js +9 -0
  198. package/es/ReplyBubbleHeader/props/propTypes.js +9 -0
  199. package/es/TextBubble/TextBubble.js +56 -0
  200. package/es/TextBubble/css/TextBubble.module.css +1 -0
  201. package/es/TextBubble/css/cssJSLogic.js +18 -0
  202. package/es/TextBubble/index.js +1 -0
  203. package/es/TextBubble/props/defaultProps.js +9 -0
  204. package/es/TextBubble/props/propTypes.js +10 -0
  205. package/es/Theme/DeskAssets.js +53 -0
  206. package/es/Theme/ThemeWrapper.js +82 -0
  207. package/es/Theme/ToolttipWrapper.js +81 -0
  208. package/es/Theme/constants/index.js +44 -0
  209. package/es/Theme/crm/dark/blueFanTheme.js +28 -0
  210. package/es/Theme/crm/dark/blueTheme.js +28 -0
  211. package/es/Theme/crm/dark/commonColorVariable.js +11 -0
  212. package/es/Theme/crm/dark/darkBlueTheme.js +28 -0
  213. package/es/Theme/crm/dark/darkGreyTheme.js +28 -0
  214. package/es/Theme/crm/dark/greenTheme.js +28 -0
  215. package/es/Theme/crm/dark/orangeTheme.js +28 -0
  216. package/es/Theme/crm/dark/pinkTheme.js +28 -0
  217. package/es/Theme/crm/dark/tealTheme.js +28 -0
  218. package/es/Theme/crm/dark/whiteTheme.js +28 -0
  219. package/es/Theme/crm/light/blueFanTheme.js +28 -0
  220. package/es/Theme/crm/light/blueTheme.js +31 -0
  221. package/es/Theme/crm/light/commonColorVariable.js +9 -0
  222. package/es/Theme/crm/light/darkBlueTheme.js +28 -0
  223. package/es/Theme/crm/light/darkGreyTheme.js +28 -0
  224. package/es/Theme/crm/light/greenTheme.js +28 -0
  225. package/es/Theme/crm/light/orangeTheme.js +28 -0
  226. package/es/Theme/crm/light/pinkTheme.js +28 -0
  227. package/es/Theme/crm/light/tealTheme.js +28 -0
  228. package/es/Theme/crm/light/whiteTheme.js +28 -0
  229. package/es/Theme/crm/pureDark/blueFanTheme.js +28 -0
  230. package/es/Theme/crm/pureDark/blueTheme.js +28 -0
  231. package/es/Theme/crm/pureDark/commonColorVariable.js +9 -0
  232. package/es/Theme/crm/pureDark/darkBlueTheme.js +28 -0
  233. package/es/Theme/crm/pureDark/darkGreyTheme.js +28 -0
  234. package/es/Theme/crm/pureDark/greenTheme.js +28 -0
  235. package/es/Theme/crm/pureDark/orangeTheme.js +28 -0
  236. package/es/Theme/crm/pureDark/pinkTheme.js +28 -0
  237. package/es/Theme/crm/pureDark/tealTheme.js +28 -0
  238. package/es/Theme/crm/pureDark/whiteTheme.js +28 -0
  239. package/es/Theme/css/TooltipWrapper.module.css +10 -0
  240. package/es/Theme/css/cssJSLogic.js +14 -0
  241. package/es/Theme/desk/commonDeskColorVariable.js +12 -0
  242. package/es/Theme/desk/dark/blueTheme.js +30 -0
  243. package/es/Theme/desk/dark/commonColorVariable.js +5 -0
  244. package/es/Theme/desk/dark/greenTheme.js +30 -0
  245. package/es/Theme/desk/dark/orangeTheme.js +30 -0
  246. package/es/Theme/desk/dark/redTheme.js +30 -0
  247. package/es/Theme/desk/dark/yellowTheme.js +30 -0
  248. package/es/Theme/desk/light/blueTheme.js +33 -0
  249. package/es/Theme/desk/light/commonColorVariable.js +5 -0
  250. package/es/Theme/desk/light/greenTheme.js +30 -0
  251. package/es/Theme/desk/light/orangeTheme.js +29 -0
  252. package/es/Theme/desk/light/redTheme.js +29 -0
  253. package/es/Theme/desk/light/yellowTheme.js +30 -0
  254. package/es/Theme/desk/pureDark/blueTheme.js +30 -0
  255. package/es/Theme/desk/pureDark/commonColorVariable.js +6 -0
  256. package/es/Theme/desk/pureDark/greenTheme.js +30 -0
  257. package/es/Theme/desk/pureDark/orangeTheme.js +30 -0
  258. package/es/Theme/desk/pureDark/redTheme.js +30 -0
  259. package/es/Theme/desk/pureDark/yellowTheme.js +30 -0
  260. package/es/Theme/index.js +1 -0
  261. package/es/Theme/props/defaultProps.js +13 -0
  262. package/es/Theme/props/propTypes.js +15 -0
  263. package/es/Theme/utils/getThemeConfigurations.js +209 -0
  264. package/es/Video/Video.js +69 -0
  265. package/es/Video/css/Video.module.css +9 -0
  266. package/es/Video/css/cssJSLogic.js +14 -0
  267. package/es/Video/index.js +1 -0
  268. package/es/Video/props/defaultProps.js +7 -0
  269. package/es/Video/props/propTypes.js +9 -0
  270. package/es/VideoBubble/VideoBubble.js +57 -0
  271. package/es/VideoBubble/css/VideoBubble.module.css +4 -0
  272. package/es/VideoBubble/css/cssJSLogic.js +10 -0
  273. package/es/VideoBubble/index.js +1 -0
  274. package/es/VideoBubble/props/defaultProps.js +8 -0
  275. package/es/VideoBubble/props/propTypes.js +12 -0
  276. package/es/icons/create-icon-components.js +1 -1
  277. package/es/icons/factory/attachments/audio.svg +19 -0
  278. package/es/icons/factory/attachments/code.svg +21 -0
  279. package/es/icons/factory/attachments/image.svg +20 -0
  280. package/es/icons/factory/attachments/pdf.svg +19 -0
  281. package/es/icons/factory/attachments/txt.svg +22 -0
  282. package/es/icons/factory/attachments/unknown.svg +21 -0
  283. package/es/icons/factory/attachments/video.svg +19 -0
  284. package/es/icons/factory/attachments/zip.svg +27 -0
  285. package/es/icons/iconSrc/actions/ConvertTicket.js +1 -1
  286. package/es/icons/iconSrc/attachments/Audio.js +37 -0
  287. package/es/icons/iconSrc/attachments/Code.js +43 -0
  288. package/es/icons/iconSrc/attachments/Image.js +42 -0
  289. package/es/icons/iconSrc/attachments/Pdf.js +37 -0
  290. package/es/icons/iconSrc/attachments/Txt.js +46 -0
  291. package/es/icons/iconSrc/attachments/Unknown.js +41 -0
  292. package/es/icons/iconSrc/attachments/Video.js +37 -0
  293. package/es/icons/iconSrc/attachments/Zip.js +85 -0
  294. package/es/icons/iconSrc/attachments/index.js +8 -0
  295. package/es/icons/iconSrc/integrations/TtASAP.js +1 -1
  296. package/es/icons/iconSrc/integrations/TtTelegram.js +1 -1
  297. package/es/icons/iconSrc/integrations/TtTwillio.js +1 -1
  298. package/es/icons/iconSrc/integrations/TtTwitter.js +1 -1
  299. package/es/icons/iconSrc/integrations/TtWechat.js +1 -1
  300. package/es/index.js +33 -0
  301. package/package.json +8 -4
  302. /package/es/MessageActionsMore/css/{cssJsLogic.js → cssJSLogic.js} +0 -0
@@ -0,0 +1,53 @@
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 imTextBubbleDefaultProps from './props/defaultProps';
12
+ import imTextBubblePropTypes 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/IMTextBubble.module.css';
20
+ import TextBubble from '../TextBubble/TextBubble';
21
+ import useIMTextBubble from '@zohoim/chat-components-hooks/es/IMTextBubble/useIMTextBubble';
22
+ export default function IMTextBubble(props) {
23
+ const {
24
+ customStyle,
25
+ textBubbleCustomStyle,
26
+ moreText
27
+ } = props;
28
+ const {
29
+ onLoadFullMessage,
30
+ sanitizedDisplayMessage,
31
+ isShowSeeMore,
32
+ isShowQuote
33
+ } = useIMTextBubble(props);
34
+
35
+ /* External customization */
36
+ const newStyle = useMergeStyle(style, customStyle);
37
+ /* CSS classnames added based on logic */
38
+ const {
39
+ imTextBubbleWrapperClass
40
+ } = cssJSLogic(props, newStyle);
41
+ return /*#__PURE__*/React.createElement("div", {
42
+ className: imTextBubbleWrapperClass
43
+ }, isShowQuote ? /*#__PURE__*/React.createElement("span", null, "[QuoteIcon]") : null, /*#__PURE__*/React.createElement(TextBubble, {
44
+ customStyle: textBubbleCustomStyle,
45
+ message: sanitizedDisplayMessage,
46
+ isShowMoreText: isShowSeeMore,
47
+ onClickMore: onLoadFullMessage,
48
+ moreText: moreText
49
+ }));
50
+ }
51
+ IMTextBubble.propTypes = imTextBubblePropTypes;
52
+ IMTextBubble.defaultProps = imTextBubbleDefaultProps;
53
+ IMTextBubble.displayName = 'IMTextBubble';
@@ -0,0 +1,10 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from '@zohodesk/utils';
3
+ export default function cssJSLogic(props, style) {
4
+ const imTextBubbleWrapperClass = compileClassNames({
5
+ [style.imTextBubbleWrapper]: true
6
+ });
7
+ return {
8
+ imTextBubbleWrapperClass
9
+ };
10
+ }
@@ -0,0 +1 @@
1
+ export { default as IMTextBubble } from './IMTextBubble';
@@ -0,0 +1,14 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ import { TEXT_MESSAGE_MAX_LENGTH } from '@zohoim/chat-components-utils/es/constants/messageConstants';
4
+ const imTextBubbleDefaultProps = {
5
+ customStyle: dummyObject,
6
+ textBubbleCustomStyle: dummyObject,
7
+ message: '',
8
+ fullMessage: '',
9
+ messageMaxLength: TEXT_MESSAGE_MAX_LENGTH,
10
+ fullContentURL: '',
11
+ messageId: '',
12
+ sessionId: ''
13
+ };
14
+ export default imTextBubbleDefaultProps;
@@ -0,0 +1,15 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const imTextBubblePropTypes = {
4
+ customStyle: PropTypes.object,
5
+ textBubbleCustomStyle: PropTypes.object,
6
+ message: PropTypes.string,
7
+ fullMessage: PropTypes.string,
8
+ messageMaxLength: PropTypes.number,
9
+ fullContentURL: PropTypes.string,
10
+ messageId: PropTypes.string,
11
+ sessionId: PropTypes.string,
12
+ onLoadFullMessage: PropTypes.func,
13
+ moreText: PropTypes.string
14
+ };
15
+ export default imTextBubblePropTypes;
@@ -0,0 +1,48 @@
1
+ /* eslint-disable @zohodesk/zsecurity/no-protocol-check */
2
+ /* eslint-disable react/jsx-no-bind */
3
+ /* eslint-disable max-len */
4
+
5
+ /** ** Libraries *** */
6
+ import React from 'react';
7
+
8
+ /** ** Hooks *** */
9
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
10
+ import useIMTicketLink from '@zohoim/chat-components-hooks/es/IMTicketLink/useIMTicketLink';
11
+
12
+ /** ** Constants *** */
13
+ import imTicketLinkDefaultProps from './props/defaultProps';
14
+ import imTicketLinkPropTypes from './props/propTypes';
15
+
16
+ /** ** Methods *** */
17
+ import renderHandler from '@zohoim/chat-components-utils/es/common/renderHandler';
18
+ import cssJSLogic from './css/cssJSLogic';
19
+ import { URLValidator } from '@zohoim/chat-components-utils/es/imUtils/security';
20
+
21
+ /** ** Styles *** */
22
+ import style from './css/IMTicketLink.module.css';
23
+ export default function IMTicketLink(props) {
24
+ const {
25
+ customStyle
26
+ } = props;
27
+ const {
28
+ ticketURL,
29
+ onClick,
30
+ ticketNumber
31
+ } = useIMTicketLink(props);
32
+
33
+ /* External customization */
34
+ const newStyle = useMergeStyle(style, customStyle);
35
+ /* CSS classnames added based on logic */
36
+ const {
37
+ imTicketLinkClass
38
+ } = cssJSLogic(props, newStyle);
39
+ return ticketNumber ? /*#__PURE__*/React.createElement("a", {
40
+ className: imTicketLinkClass,
41
+ onClick: onClick,
42
+ href: ticketURL,
43
+ rel: "noopener noreferrer"
44
+ }, ticketNumber) : null;
45
+ }
46
+ IMTicketLink.propTypes = imTicketLinkPropTypes;
47
+ IMTicketLink.defaultProps = imTicketLinkDefaultProps;
48
+ IMTicketLink.displayName = 'IMTicketLink';
@@ -0,0 +1,24 @@
1
+ .varClass {
2
+ --imTicketLink-top_gap: var(--imlib_size_5);
3
+ --imTicketLink-font_size: var(--imlib_size_12);
4
+ --imTicketLink-max_width: var(--imlib_size_150);
5
+ }
6
+
7
+ .ticketNumber {
8
+ composes: varClass;
9
+ font-size: var(--imTicketLink-font_size);
10
+ max-width: var(--imTicketLink-max_width);
11
+ color: var(--imlib_chat_components_imTicketLink_color);
12
+ display: inline-block;
13
+
14
+ margin-top: var(--imTicketLink-top_gap);
15
+ cursor: pointer;
16
+ }
17
+
18
+ .disabled {
19
+ pointer-events: none;
20
+ }
21
+
22
+ a.ticketNumber:hover {
23
+ text-decoration: underline;
24
+ }
@@ -0,0 +1,14 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from '@zohodesk/utils';
3
+ export default function cssJSLogic(props, style) {
4
+ const {
5
+ isDisabled
6
+ } = props;
7
+ const imTicketLinkClass = compileClassNames({
8
+ [style.ticketNumber]: true,
9
+ [style.disabled]: isDisabled === true
10
+ });
11
+ return {
12
+ imTicketLinkClass
13
+ };
14
+ }
@@ -0,0 +1 @@
1
+ export { default as IMTicketLink } from './IMTicketLink';
@@ -0,0 +1,6 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const imTicketLinkDefaultProps = {
4
+ customStyle: dummyObject
5
+ };
6
+ export default imTicketLinkDefaultProps;
@@ -0,0 +1,10 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const imTicketLinkPropTypes = {
4
+ customStyle: PropTypes.object,
5
+ ticketURL: PropTypes.string,
6
+ onClick: PropTypes.func,
7
+ ticketNumber: PropTypes.string,
8
+ ticketId: PropTypes.string
9
+ };
10
+ export default imTicketLinkPropTypes;
@@ -0,0 +1,62 @@
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 imVideoBubbleDefaultProps from './props/defaultProps';
12
+ import imVideoBubblePropTypes 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/IMVideoBubble.module.css';
20
+ import VideoBubble from '../VideoBubble/VideoBubble';
21
+ import useIMVideoBubble from '@zohoim/chat-components-hooks/src/IMVideoBubble/useIMVideoBubble';
22
+ export default function IMVideoBubble(props) {
23
+ const {
24
+ attachmentDetails,
25
+ customStyle,
26
+ videoBubbleCustomStyle,
27
+ headerCustomStyle,
28
+ videoCustomStyle,
29
+ controlsCustomStyle
30
+ } = props;
31
+ const {
32
+ isShow,
33
+ fileName,
34
+ formattedFileSize: fileSize,
35
+ attachmentURL: fileURL,
36
+ attachmentType: fileType
37
+ } = useIMVideoBubble({
38
+ attachmentDetails
39
+ });
40
+
41
+ /* External customization */
42
+ const newStyle = useMergeStyle(style, customStyle);
43
+ /* CSS classnames added based on logic */
44
+ const {
45
+ imVideoBubbleClass
46
+ } = cssJSLogic(props, newStyle);
47
+ return isShow ? /*#__PURE__*/React.createElement("div", {
48
+ className: imVideoBubbleClass
49
+ }, /*#__PURE__*/React.createElement(VideoBubble, {
50
+ customStyle: videoBubbleCustomStyle,
51
+ headerCustomStyle: headerCustomStyle,
52
+ audioCustomStyle: videoCustomStyle,
53
+ controlsCustomStyle: controlsCustomStyle,
54
+ fileName: fileName,
55
+ fileSize: fileSize,
56
+ fileURL: fileURL,
57
+ fileType: fileType
58
+ })) : null;
59
+ }
60
+ IMVideoBubble.propTypes = imVideoBubblePropTypes;
61
+ IMVideoBubble.defaultProps = imVideoBubbleDefaultProps;
62
+ IMVideoBubble.displayName = 'IMVideoBubble';
@@ -0,0 +1,10 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from '@zohodesk/utils';
3
+ export default function cssJSLogic(props, style) {
4
+ const imVideoBubbleClass = compileClassNames({
5
+ [style.imVideoBubble]: true
6
+ });
7
+ return {
8
+ imVideoBubbleClass
9
+ };
10
+ }
@@ -0,0 +1 @@
1
+ export { default as IMVideoBubble } from './IMVideoBubble';
@@ -0,0 +1,11 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const imVideoBubbleDefaultProps = {
4
+ customStyle: dummyObject,
5
+ videoBubbleCustomStyle: dummyObject,
6
+ headerCustomStyle: dummyObject,
7
+ videoCustomStyle: dummyObject,
8
+ controlsCustomStyle: dummyObject,
9
+ attachmentDetails: dummyObject
10
+ };
11
+ export default imVideoBubbleDefaultProps;
@@ -0,0 +1,17 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const imVideoBubblePropTypes = {
4
+ attachmentDetails: PropTypes.shape({
5
+ name: PropTypes.string,
6
+ size: PropTypes.string,
7
+ type: PropTypes.string,
8
+ url: PropTypes.string,
9
+ id: PropTypes.string
10
+ }),
11
+ customStyle: PropTypes.object,
12
+ videoBubbleCustomStyle: PropTypes.object,
13
+ headerCustomStyle: PropTypes.object,
14
+ videoCustomStyle: PropTypes.object,
15
+ controlsCustomStyle: PropTypes.object
16
+ };
17
+ export default imVideoBubblePropTypes;
@@ -0,0 +1,52 @@
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 { Container, Box } from '@zohodesk/components/es/Layout';
10
+
11
+ /** ** Constants *** */
12
+ import imageBubbleDefaultProps from './props/defaultProps';
13
+ import imageBubblePropTypes 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/ImageBubble.module.css';
21
+ import LazyLoadImage from '../LazyLoadImage/LazyLoadImage';
22
+ export default function ImageBubble(props) {
23
+ const {
24
+ customStyle,
25
+ src,
26
+ alternate
27
+ } = props;
28
+
29
+ /* External customization */
30
+ const newStyle = useMergeStyle(style, customStyle);
31
+ /* CSS classnames added based on logic */
32
+ const {
33
+ imageBubbleWrapperClass,
34
+ blurImageStyle,
35
+ imageStyle
36
+ } = cssJSLogic(props, newStyle);
37
+ return /*#__PURE__*/React.createElement(Container, {
38
+ align: "both",
39
+ className: imageBubbleWrapperClass
40
+ }, /*#__PURE__*/React.createElement(LazyLoadImage, {
41
+ src: src,
42
+ customStyle: blurImageStyle,
43
+ alternate: alternate
44
+ }), /*#__PURE__*/React.createElement(LazyLoadImage, {
45
+ src: src,
46
+ customStyle: imageStyle,
47
+ alternate: alternate
48
+ }));
49
+ }
50
+ ImageBubble.propTypes = imageBubblePropTypes;
51
+ ImageBubble.defaultProps = imageBubbleDefaultProps;
52
+ ImageBubble.displayName = 'ImageBubble';
@@ -0,0 +1,53 @@
1
+ .varClass {
2
+ --imageBubble-wrapper_height: var(--imlib_size_200);
3
+ --imageBubble-wrapper_width: 23.75rem;
4
+ --imageBubble-wrapper_max_width: 100%;
5
+
6
+ --imageBubble-blur_img_width: 100%;
7
+ --imageBubble-blur_img_height: 100%;
8
+ /* --imageBubble-blur_img_blurpx: 90px; */
9
+
10
+ --imageBubble-img_max_width: 100%;
11
+ --imageBubble-img_max_height: 100%;
12
+ }
13
+
14
+ .imageBubbleWrapper {
15
+ composes: varClass;
16
+
17
+ width: var(--imageBubble-wrapper_width);
18
+ max-width: var(--imageBubble-wrapper_max_width);
19
+ height: var(--imageBubble-wrapper_height);
20
+ overflow: hidden;
21
+ position: relative;
22
+ cursor: pointer;
23
+ background-color: var(--imlib_chat_components_imageBubble_bg_color);
24
+ border-radius: var(--imlib_size_3);
25
+ }
26
+
27
+ .blurImage {
28
+ object-fit: cover;
29
+ -webkit-filter: blur(90px);
30
+ filter: blur(90px);
31
+ position: absolute;
32
+ top: 0;
33
+ bottom: 0;
34
+ width: var(--imageBubble-blur_img_width);
35
+ height: var(--imageBubble-blur_img_height);
36
+ }
37
+
38
+ [dir=ltr] .blurImage {
39
+ right: 0;
40
+ left: 0;
41
+ }
42
+
43
+ [dir=rtl] .blurImage {
44
+ left: 0;
45
+ right: 0;
46
+ }
47
+
48
+ .image {
49
+ max-width: var(--imageBubble-img_max_width);
50
+ max-height: var(--imageBubble-img_max_height);
51
+ object-fit: contain;
52
+ position: relative;
53
+ }
@@ -0,0 +1,22 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from '@zohodesk/utils';
3
+ export default function cssJSLogic(props, style) {
4
+ const imageBubbleWrapperClass = compileClassNames({
5
+ [style.imageBubbleWrapper]: true
6
+ });
7
+ const imageClass = compileClassNames({
8
+ [style.image]: true
9
+ });
10
+ const blurImageClass = compileClassNames({
11
+ [style.blurImage]: true
12
+ });
13
+ return {
14
+ imageBubbleWrapperClass,
15
+ blurImageStyle: {
16
+ lazyLoadImage: blurImageClass
17
+ },
18
+ imageStyle: {
19
+ lazyLoadImage: imageClass
20
+ }
21
+ };
22
+ }
@@ -0,0 +1 @@
1
+ export { default as ImageBubble } from './ImageBubble';
@@ -0,0 +1,6 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const imageBubbleDefaultProps = {
4
+ customStyle: dummyObject
5
+ };
6
+ export default imageBubbleDefaultProps;
@@ -0,0 +1,8 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const imageBubblePropTypes = {
4
+ customStyle: PropTypes.object,
5
+ src: PropTypes.string,
6
+ alternate: PropTypes.string
7
+ };
8
+ export default imageBubblePropTypes;
@@ -0,0 +1,37 @@
1
+ /* eslint-disable react/jsx-no-bind */
2
+ /* eslint-disable max-len */
3
+
4
+ /** ** Libraries *** */
5
+ import React from 'react';
6
+
7
+ /** ** Hooks *** */
8
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
9
+
10
+ /** ** Constants *** */
11
+ import infoBubbleDefaultProps from './props/defaultProps';
12
+ import infoBubblePropTypes 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/InfoBubble.module.css';
20
+ export default function InfoBubble(props) {
21
+ const {
22
+ customStyle
23
+ } = props;
24
+
25
+ /* External customization */
26
+ const newStyle = useMergeStyle(style, customStyle);
27
+ /* CSS classnames added based on logic */
28
+ const {
29
+ infoBubbleClass
30
+ } = cssJSLogic(props, newStyle);
31
+ return /*#__PURE__*/React.createElement("div", {
32
+ className: infoBubbleClass
33
+ }, "Working On this...");
34
+ }
35
+ InfoBubble.propTypes = infoBubblePropTypes;
36
+ InfoBubble.defaultProps = infoBubbleDefaultProps;
37
+ InfoBubble.displayName = 'InfoBubble';
File without changes
@@ -0,0 +1,10 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from '@zohodesk/utils';
3
+ export default function cssJSLogic(props, style) {
4
+ const infoBubbleClass = compileClassNames({
5
+ [style.infoBubble]: true
6
+ });
7
+ return {
8
+ infoBubbleClass
9
+ };
10
+ }
@@ -0,0 +1 @@
1
+ export { default as InfoBubble } from './InfoBubble';
@@ -0,0 +1,6 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const infoBubbleDefaultProps = {
4
+ customStyle: dummyObject
5
+ };
6
+ export default infoBubbleDefaultProps;
@@ -0,0 +1,6 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const infoBubblePropTypes = {
4
+ customStyle: PropTypes.object
5
+ };
6
+ export default infoBubblePropTypes;
@@ -0,0 +1,48 @@
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 lazyLoadImageDefaultProps from './props/defaultProps';
12
+ import lazyLoadImagePropTypes 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/LazyLoadImage.module.css';
20
+ import useLazyLoadImage from '@zohoim/chat-components-hooks/es/ImageBubble/useLazyLoadImage';
21
+ export default function LazyLoadImage(props) {
22
+ const {
23
+ customStyle,
24
+ src,
25
+ alternate
26
+ } = props;
27
+ const {
28
+ imageElementRef
29
+ } = useLazyLoadImage();
30
+
31
+ /* External customization */
32
+ const newStyle = useMergeStyle(style, customStyle);
33
+ /* CSS classnames added based on logic */
34
+ const {
35
+ lazyLoadImageClass
36
+ } = cssJSLogic(props, newStyle);
37
+ return /*#__PURE__*/React.createElement("img", {
38
+ ref: imageElementRef,
39
+ src: "",
40
+ "data-src": src,
41
+ "data-srcset": src,
42
+ className: `lazy ${lazyLoadImageClass || ''}`,
43
+ alt: alternate
44
+ });
45
+ }
46
+ LazyLoadImage.propTypes = lazyLoadImagePropTypes;
47
+ LazyLoadImage.defaultProps = lazyLoadImageDefaultProps;
48
+ LazyLoadImage.displayName = 'LazyLoadImage';
@@ -0,0 +1,4 @@
1
+ .lazyLoadImage {
2
+ /* height: 100%;
3
+ width: 100%; */
4
+ }
@@ -0,0 +1,10 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from '@zohodesk/utils';
3
+ export default function cssJSLogic(props, style) {
4
+ const lazyLoadImageClass = compileClassNames({
5
+ [style.lazyLoadImage]: true
6
+ });
7
+ return {
8
+ lazyLoadImageClass
9
+ };
10
+ }
@@ -0,0 +1 @@
1
+ export { default as LazyLoadImage } from './LazyLoadImage';
@@ -0,0 +1,6 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants';
3
+ const lazyLoadImageDefaultProps = {
4
+ customStyle: dummyObject
5
+ };
6
+ export default lazyLoadImageDefaultProps;
@@ -0,0 +1,8 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const lazyLoadImagePropTypes = {
4
+ customStyle: PropTypes.object,
5
+ src: PropTypes.string,
6
+ alternate: PropTypes.string
7
+ };
8
+ export default lazyLoadImagePropTypes;