@zohoim/chat-components 0.0.1-cx

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 (277) hide show
  1. package/README.md +9 -0
  2. package/es/ActionIcon/ActionIcon.js +82 -0
  3. package/es/ActionIcon/css/ActionIcon.module.css +8 -0
  4. package/es/ActionIcon/index.js +1 -0
  5. package/es/ActionIcon/props/defaultProps.js +8 -0
  6. package/es/ActionIcon/props/propTypes.js +17 -0
  7. package/es/ActionIconWrapper/ActionIconWrapper.js +61 -0
  8. package/es/ActionIconWrapper/css/ActionIconWrapper.module.css +32 -0
  9. package/es/ActionIconWrapper/css/cssJSLogic.js +14 -0
  10. package/es/ActionIconWrapper/index.js +1 -0
  11. package/es/ActionIconWrapper/props/defaultProps.js +6 -0
  12. package/es/ActionIconWrapper/props/propTypes.js +12 -0
  13. package/es/AttachmentBubble/AttachmentBubble.js +87 -0
  14. package/es/AttachmentBubble/css/AttachmentBubble.module.css +55 -0
  15. package/es/AttachmentBubble/css/cssJSLogic.js +18 -0
  16. package/es/AttachmentBubble/index.js +1 -0
  17. package/es/AttachmentBubble/props/defaultProps.js +8 -0
  18. package/es/AttachmentBubble/props/propTypes.js +19 -0
  19. package/es/AttachmentBubbleInfo/AttachmentBubbleInfo.js +48 -0
  20. package/es/AttachmentBubbleInfo/css/AttachmentBubbleInfo.module.css +39 -0
  21. package/es/AttachmentBubbleInfo/css/cssJSLogic.js +13 -0
  22. package/es/AttachmentBubbleInfo/index.js +1 -0
  23. package/es/AttachmentBubbleInfo/props/defaultProps.js +6 -0
  24. package/es/AttachmentBubbleInfo/props/propTypes.js +9 -0
  25. package/es/AttachmentIcon/AttachmentIcon.js +60 -0
  26. package/es/AttachmentIcon/css/AttachmentIcon.module.css +8 -0
  27. package/es/AttachmentIcon/css/cssJSLogic.js +13 -0
  28. package/es/AttachmentIcon/index.js +1 -0
  29. package/es/AttachmentIcon/props/defaultProps.js +8 -0
  30. package/es/AttachmentIcon/props/propTypes.js +21 -0
  31. package/es/AttachmentIcon/utils/getAttachmentIconComponent.js +81 -0
  32. package/es/Audio/Audio.js +38 -0
  33. package/es/Audio/css/Audio.module.css +7 -0
  34. package/es/Audio/index.js +1 -0
  35. package/es/Audio/props/defaultProps.js +6 -0
  36. package/es/Audio/props/propTypes.js +8 -0
  37. package/es/AudioBubble/AudioBubble.js +56 -0
  38. package/es/AudioBubble/css/AudioBubble.module.css +4 -0
  39. package/es/AudioBubble/index.js +1 -0
  40. package/es/AudioBubble/props/defaultProps.js +7 -0
  41. package/es/AudioBubble/props/propTypes.js +16 -0
  42. package/es/Fonts/puviFont.module.css +62 -0
  43. package/es/ImageBubble/ImageBubble.js +70 -0
  44. package/es/ImageBubble/css/ImageBubble.module.css +63 -0
  45. package/es/ImageBubble/css/cssJSLogic.js +15 -0
  46. package/es/ImageBubble/index.js +1 -0
  47. package/es/ImageBubble/props/defaultProps.js +6 -0
  48. package/es/ImageBubble/props/propTypes.js +13 -0
  49. package/es/LazyLoadImage/LazyLoadImage.js +37 -0
  50. package/es/LazyLoadImage/css/LazyLoadImage.module.css +5 -0
  51. package/es/LazyLoadImage/index.js +1 -0
  52. package/es/LazyLoadImage/props/defaultProps.js +6 -0
  53. package/es/LazyLoadImage/props/propTypes.js +8 -0
  54. package/es/LocationBubble/LocationBubble.js +62 -0
  55. package/es/LocationBubble/css/LocationBubble.module.css +57 -0
  56. package/es/LocationBubble/css/cssJSLogic.js +13 -0
  57. package/es/LocationBubble/images/location.png +0 -0
  58. package/es/LocationBubble/index.js +1 -0
  59. package/es/LocationBubble/props/defaultProps.js +6 -0
  60. package/es/LocationBubble/props/propTypes.js +8 -0
  61. package/es/MediaBubbleWrapper/MediaBubbleWrapper.js +62 -0
  62. package/es/MediaBubbleWrapper/css/MediaBubbleWrapper.module.css +7 -0
  63. package/es/MediaBubbleWrapper/index.js +1 -0
  64. package/es/MediaBubbleWrapper/props/defaultProps.js +7 -0
  65. package/es/MediaBubbleWrapper/props/propTypes.js +17 -0
  66. package/es/Message/Message.js +126 -0
  67. package/es/Message/index.js +1 -0
  68. package/es/Message/props/defaultProps.js +12 -0
  69. package/es/Message/props/propTypes.js +41 -0
  70. package/es/MessageAction/MessageAction.js +60 -0
  71. package/es/MessageAction/index.js +1 -0
  72. package/es/MessageAction/props/defaultProps.js +8 -0
  73. package/es/MessageAction/props/propTypes.js +21 -0
  74. package/es/MessageActions/MessageActions.js +120 -0
  75. package/es/MessageActions/css/MessageActions.module.css +24 -0
  76. package/es/MessageActions/index.js +1 -0
  77. package/es/MessageActions/props/defaultProps.js +10 -0
  78. package/es/MessageActions/props/propTypes.js +25 -0
  79. package/es/MessageActionsMore/MessageActionsMore.js +101 -0
  80. package/es/MessageActionsMore/css/MessageActionsMore.module.css +23 -0
  81. package/es/MessageActionsMore/index.js +1 -0
  82. package/es/MessageActionsMore/props/defaultProps.js +9 -0
  83. package/es/MessageActionsMore/props/propTypes.js +13 -0
  84. package/es/MessageActionsWrapper/MessageActionsWrapper.js +68 -0
  85. package/es/MessageActionsWrapper/css/MessageActionsWrapper.module.css +3 -0
  86. package/es/MessageActionsWrapper/index.js +1 -0
  87. package/es/MessageActionsWrapper/props/defaultProps.js +9 -0
  88. package/es/MessageActionsWrapper/props/propTypes.js +15 -0
  89. package/es/MessageAvatar/MessageAvatar.js +49 -0
  90. package/es/MessageAvatar/css/MessageAvatar.module.css +23 -0
  91. package/es/MessageAvatar/index.js +1 -0
  92. package/es/MessageAvatar/props/defaultProps.js +7 -0
  93. package/es/MessageAvatar/props/propTypes.js +13 -0
  94. package/es/MessageBox/MessageBox.js +66 -0
  95. package/es/MessageBox/css/MessageBox.module.css +56 -0
  96. package/es/MessageBox/css/cssJSLogic.js +18 -0
  97. package/es/MessageBox/index.js +1 -0
  98. package/es/MessageBox/props/defaultProps.js +6 -0
  99. package/es/MessageBox/props/propTypes.js +13 -0
  100. package/es/MessageBubble/MessageBubble.js +116 -0
  101. package/es/MessageBubble/css/MessageBubble.module.css +101 -0
  102. package/es/MessageBubble/css/cssJSLogic.js +34 -0
  103. package/es/MessageBubble/index.js +1 -0
  104. package/es/MessageBubble/props/defaultProps.js +11 -0
  105. package/es/MessageBubble/props/propTypes.js +17 -0
  106. package/es/MessageStatus/MessageStatus.js +77 -0
  107. package/es/MessageStatus/css/MessageStatus.module.css +17 -0
  108. package/es/MessageStatus/css/cssJSLogic.js +26 -0
  109. package/es/MessageStatus/index.js +1 -0
  110. package/es/MessageStatus/props/defaultProps.js +6 -0
  111. package/es/MessageStatus/props/propTypes.js +12 -0
  112. package/es/MoreActionItem/MoreActionItem.js +72 -0
  113. package/es/MoreActionItem/css/MoreActionItem.module.css +27 -0
  114. package/es/MoreActionItem/index.js +1 -0
  115. package/es/MoreActionItem/props/defaultProps.js +7 -0
  116. package/es/MoreActionItem/props/propTypes.js +14 -0
  117. package/es/ReplyBubble/ReplyBubble.js +118 -0
  118. package/es/ReplyBubble/css/ReplyBubble.module.css +23 -0
  119. package/es/ReplyBubble/css/cssJSLogic.js +14 -0
  120. package/es/ReplyBubble/index.js +1 -0
  121. package/es/ReplyBubble/props/defaultProps.js +8 -0
  122. package/es/ReplyBubble/props/propTypes.js +28 -0
  123. package/es/ReplyBubbleContent/ReplyBubbleContent.js +61 -0
  124. package/es/ReplyBubbleContent/css/ReplyBubbleContent.module.css +75 -0
  125. package/es/ReplyBubbleContent/css/cssJSLogic.js +13 -0
  126. package/es/ReplyBubbleContent/index.js +1 -0
  127. package/es/ReplyBubbleContent/props/defaultProps.js +6 -0
  128. package/es/ReplyBubbleContent/props/propTypes.js +11 -0
  129. package/es/ReplyBubbleHeader/ReplyBubbleHeader.js +74 -0
  130. package/es/ReplyBubbleHeader/css/ReplyBubbleHeader.module.css +44 -0
  131. package/es/ReplyBubbleHeader/css/cssJSLogic.js +12 -0
  132. package/es/ReplyBubbleHeader/index.js +1 -0
  133. package/es/ReplyBubbleHeader/props/defaultProps.js +7 -0
  134. package/es/ReplyBubbleHeader/props/propTypes.js +13 -0
  135. package/es/TextBubble/TextBubble.js +49 -0
  136. package/es/TextBubble/css/TextBubble.module.css +35 -0
  137. package/es/TextBubble/css/cssJSLogic.js +18 -0
  138. package/es/TextBubble/index.js +1 -0
  139. package/es/TextBubble/props/defaultProps.js +6 -0
  140. package/es/TextBubble/props/propTypes.js +10 -0
  141. package/es/Theme/ThemeAssets.js +78 -0
  142. package/es/Theme/ThemeWrapper.js +88 -0
  143. package/es/Theme/TooltipWrapper.js +85 -0
  144. package/es/Theme/constants/index.js +41 -0
  145. package/es/Theme/css/TooltipWrapper.module.css +10 -0
  146. package/es/Theme/index.js +1 -0
  147. package/es/Theme/props/defaultProps.js +10 -0
  148. package/es/Theme/props/propTypes.js +14 -0
  149. package/es/Theme/themeVariables/commonThemeColorVariable.js +17 -0
  150. package/es/Theme/themeVariables/dark/blueTheme.js +116 -0
  151. package/es/Theme/themeVariables/dark/commonColorVariable.js +16 -0
  152. package/es/Theme/themeVariables/dark/greenTheme.js +115 -0
  153. package/es/Theme/themeVariables/dark/orangeTheme.js +115 -0
  154. package/es/Theme/themeVariables/dark/redTheme.js +115 -0
  155. package/es/Theme/themeVariables/dark/yellowTheme.js +115 -0
  156. package/es/Theme/themeVariables/light/blueTheme.js +114 -0
  157. package/es/Theme/themeVariables/light/commonColorVariable.js +35 -0
  158. package/es/Theme/themeVariables/light/greenTheme.js +114 -0
  159. package/es/Theme/themeVariables/light/orangeTheme.js +114 -0
  160. package/es/Theme/themeVariables/light/redTheme.js +114 -0
  161. package/es/Theme/themeVariables/light/yellowTheme.js +114 -0
  162. package/es/Theme/themeVariables/pureDark/blueTheme.js +115 -0
  163. package/es/Theme/themeVariables/pureDark/commonColorVariable.js +18 -0
  164. package/es/Theme/themeVariables/pureDark/greenTheme.js +115 -0
  165. package/es/Theme/themeVariables/pureDark/orangeTheme.js +115 -0
  166. package/es/Theme/themeVariables/pureDark/redTheme.js +115 -0
  167. package/es/Theme/themeVariables/pureDark/yellowTheme.js +115 -0
  168. package/es/Theme/utils/combineConfigurations.js +17 -0
  169. package/es/Theme/utils/flatVariables.js +12 -0
  170. package/es/Theme/utils/getCustomizedCssVariables.js +19 -0
  171. package/es/Theme/utils/getThemeConfigurations.js +81 -0
  172. package/es/Theme/utils/getWrapperDivProps.js +16 -0
  173. package/es/Video/Video.js +38 -0
  174. package/es/Video/css/Video.module.css +5 -0
  175. package/es/Video/index.js +1 -0
  176. package/es/Video/props/defaultProps.js +6 -0
  177. package/es/Video/props/propTypes.js +8 -0
  178. package/es/VideoBubble/VideoBubble.js +66 -0
  179. package/es/VideoBubble/css/VideoBubble.module.css +12 -0
  180. package/es/VideoBubble/css/cssJSLogic.js +14 -0
  181. package/es/VideoBubble/index.js +1 -0
  182. package/es/VideoBubble/props/defaultProps.js +7 -0
  183. package/es/VideoBubble/props/propTypes.js +17 -0
  184. package/es/constants/index.js +1 -0
  185. package/es/css/common.module.css +6 -0
  186. package/es/icons/create-icon-components.js +172 -0
  187. package/es/icons/factory/attachments/audio.svg +19 -0
  188. package/es/icons/factory/attachments/code.svg +21 -0
  189. package/es/icons/factory/attachments/image.svg +20 -0
  190. package/es/icons/factory/attachments/pdf.svg +19 -0
  191. package/es/icons/factory/attachments/ppt.svg +1 -0
  192. package/es/icons/factory/attachments/text.svg +22 -0
  193. package/es/icons/factory/attachments/unknown.svg +21 -0
  194. package/es/icons/factory/attachments/video.svg +19 -0
  195. package/es/icons/factory/attachments/xls.svg +1 -0
  196. package/es/icons/factory/attachments/zip.svg +27 -0
  197. package/es/icons/factory/common/alertTriangle.svg +5 -0
  198. package/es/icons/factory/common/article.svg +4 -0
  199. package/es/icons/factory/common/reply.svg +6 -0
  200. package/es/icons/factory/messageStatus/clock.svg +7 -0
  201. package/es/icons/factory/messageStatus/doubleTick.svg +1 -0
  202. package/es/icons/factory/messageStatus/failed.svg +7 -0
  203. package/es/icons/factory/messageStatus/tick.svg +1 -0
  204. package/es/icons/icon.template.js +28 -0
  205. package/es/icons/iconSrc/attachments/Audio.js +38 -0
  206. package/es/icons/iconSrc/attachments/Code.js +44 -0
  207. package/es/icons/iconSrc/attachments/Image.js +43 -0
  208. package/es/icons/iconSrc/attachments/Pdf.js +38 -0
  209. package/es/icons/iconSrc/attachments/Ppt.js +26 -0
  210. package/es/icons/iconSrc/attachments/Text.js +47 -0
  211. package/es/icons/iconSrc/attachments/Txt.js +47 -0
  212. package/es/icons/iconSrc/attachments/Unknown.js +42 -0
  213. package/es/icons/iconSrc/attachments/Video.js +38 -0
  214. package/es/icons/iconSrc/attachments/Xls.js +26 -0
  215. package/es/icons/iconSrc/attachments/Zip.js +86 -0
  216. package/es/icons/iconSrc/attachments/index.js +10 -0
  217. package/es/icons/iconSrc/common/AlertTriangle.js +23 -0
  218. package/es/icons/iconSrc/common/Article.js +17 -0
  219. package/es/icons/iconSrc/common/Reply.js +13 -0
  220. package/es/icons/iconSrc/common/index.js +3 -0
  221. package/es/icons/iconSrc/messageStatus/Clock.js +14 -0
  222. package/es/icons/iconSrc/messageStatus/DoubleTick.js +16 -0
  223. package/es/icons/iconSrc/messageStatus/Failed.js +14 -0
  224. package/es/icons/iconSrc/messageStatus/Tick.js +13 -0
  225. package/es/icons/iconSrc/messageStatus/index.js +4 -0
  226. package/es/im/ArticleBubble/ArticleBubble.js +80 -0
  227. package/es/im/ArticleBubble/css/ArticleBubble.module.css +75 -0
  228. package/es/im/ArticleBubble/css/cssJSLogic.js +12 -0
  229. package/es/im/ArticleBubble/index.js +1 -0
  230. package/es/im/ArticleBubble/props/defaultProps.js +6 -0
  231. package/es/im/ArticleBubble/props/propTypes.js +14 -0
  232. package/es/im/IMIntegrationIcon/IMIntegrationIcon.js +73 -0
  233. package/es/im/IMIntegrationIcon/css/IMIntegrationIcon.module.css +72 -0
  234. package/es/im/IMIntegrationIcon/css/cssJSLogic.js +53 -0
  235. package/es/im/IMIntegrationIcon/index.js +1 -0
  236. package/es/im/IMIntegrationIcon/props/defaultProps.js +11 -0
  237. package/es/im/IMIntegrationIcon/props/propTypes.js +14 -0
  238. package/es/im/IMMessage/IMMessage.js +197 -0
  239. package/es/im/IMMessage/css/IMMessage.module.css +36 -0
  240. package/es/im/IMMessage/css/cssJSLogic.js +15 -0
  241. package/es/im/IMMessage/index.js +1 -0
  242. package/es/im/IMMessage/props/defaultProps.js +16 -0
  243. package/es/im/IMMessage/props/propTypes.js +126 -0
  244. package/es/im/IMMessageContent/IMMessageContent.js +128 -0
  245. package/es/im/IMMessageContent/css/IMMessageContent.module.css +8 -0
  246. package/es/im/IMMessageContent/index.js +1 -0
  247. package/es/im/IMMessageContent/props/defaultProps.js +9 -0
  248. package/es/im/IMMessageContent/props/propTypes.js +54 -0
  249. package/es/im/IMMessageMeta/IMMessageMeta.js +72 -0
  250. package/es/im/IMMessageMeta/css/IMMessageMeta.module.css +46 -0
  251. package/es/im/IMMessageMeta/css/cssJSLogic.js +29 -0
  252. package/es/im/IMMessageMeta/index.js +1 -0
  253. package/es/im/IMMessageMeta/props/defaultProps.js +11 -0
  254. package/es/im/IMMessageMeta/props/propTypes.js +42 -0
  255. package/es/im/IMMessageMetaInfo/IMMessageMetaInfo.js +29 -0
  256. package/es/im/IMMessageMetaInfo/css/IMMessageMetaInfo.module.css +14 -0
  257. package/es/im/IMMessageMetaInfo/index.js +1 -0
  258. package/es/im/IMMessageMetaInfo/props/defaultProps.js +8 -0
  259. package/es/im/IMMessageMetaInfo/props/propTypes.js +8 -0
  260. package/es/im/IMPermaLink/IMPermaLink.js +48 -0
  261. package/es/im/IMPermaLink/css/IMPermaLink.module.css +14 -0
  262. package/es/im/IMPermaLink/css/cssJSLogic.js +14 -0
  263. package/es/im/IMPermaLink/index.js +1 -0
  264. package/es/im/IMPermaLink/props/defaultProps.js +6 -0
  265. package/es/im/IMPermaLink/props/propTypes.js +11 -0
  266. package/es/im/IMReplyBubble/IMReplyBubble.js +52 -0
  267. package/es/im/IMReplyBubble/index.js +1 -0
  268. package/es/im/IMReplyBubble/props/defaultProps.js +7 -0
  269. package/es/im/IMReplyBubble/props/propTypes.js +29 -0
  270. package/es/im/IMTextBubble/IMTextBubble.js +40 -0
  271. package/es/im/IMTextBubble/index.js +1 -0
  272. package/es/im/IMTextBubble/props/defaultProps.js +8 -0
  273. package/es/im/IMTextBubble/props/propTypes.js +31 -0
  274. package/es/im/css/common.module.css +6 -0
  275. package/es/im/index.js +9 -0
  276. package/es/index.js +32 -0
  277. package/package.json +49 -0
@@ -0,0 +1,46 @@
1
+ .varClass {
2
+ --imMessageMeta-gap: var(--zd_size5);
3
+ --imMessageMeta-separator_gap: var(--zd_size5);
4
+ --imMessageMeta-time_padding: var(--zd_size45);
5
+ }
6
+
7
+ .imMessageMeta {
8
+ max-width: 100% ;
9
+ align-items: center;
10
+ margin-top: var(--imMessageMeta-gap);
11
+ }
12
+
13
+ .imMessageMetaIncoming {
14
+ flex-direction: row-reverse;
15
+ justify-content: flex-end;
16
+ }
17
+
18
+ .dot {
19
+ composes: varClass;
20
+ margin: 0 var(--imMessageMeta-separator_gap);
21
+ }
22
+
23
+ [dir=ltr] .leftTime {
24
+ padding-left: var(--imMessageMeta-time_padding);
25
+ }
26
+
27
+ [dir=rtl] .leftTime {
28
+ padding-right: var(--imMessageMeta-time_padding);
29
+ }
30
+
31
+ [dir=ltr] .rightTime {
32
+ padding-right: var(--imMessageMeta-time_padding);
33
+ }
34
+
35
+ [dir=rtl] .rightTime {
36
+ padding-left: var(--imMessageMeta-time_padding);
37
+ }
38
+
39
+ .dateTime {
40
+ font-size: var(--zd_font_size11) ;
41
+ /* max-width: 100px; */
42
+ /* display: flex; */
43
+ max-width: var(--zd_size100) ;
44
+ composes: dotted from '../../css/common.module.css';
45
+ color: var(--imlib_chat_components_imMessageMeta_time_color);
46
+ }
@@ -0,0 +1,29 @@
1
+ /** ** Methods *** */
2
+ import { compileClassNames } from '@zohodesk/utils';
3
+ import getMessageDirectionType from '@zohoim/chat-components-utils/es/getMessageDirectionType';
4
+ export default function cssJSLogic(props, style) {
5
+ const {
6
+ direction
7
+ } = props;
8
+ const {
9
+ isIncoming,
10
+ isOutgoing
11
+ } = getMessageDirectionType({
12
+ messageDetails: {
13
+ direction
14
+ }
15
+ });
16
+ const imMessageMetaClass = compileClassNames({
17
+ [style.imMessageMeta]: true,
18
+ [style.imMessageMetaIncoming]: isIncoming,
19
+ [style.leftTime]: isIncoming,
20
+ [style.rightTime]: isOutgoing
21
+ });
22
+ const dotClass = compileClassNames({
23
+ [style.dot]: true
24
+ });
25
+ return {
26
+ imMessageMetaClass,
27
+ dotClass
28
+ };
29
+ }
@@ -0,0 +1 @@
1
+ export { default as IMMessageMeta } from './IMMessageMeta';
@@ -0,0 +1,11 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
+ import { direction as directionConstants } from '@zohoim/chat-components-utils/es/constants/messageConstants';
4
+ const imMessageMetaDefaultProps = {
5
+ customStyle: dummyObject,
6
+ customProps: dummyObject,
7
+ messageMetaInfoI18N: dummyObject,
8
+ isValidAttachment: true,
9
+ direction: directionConstants.IN
10
+ };
11
+ export default imMessageMetaDefaultProps;
@@ -0,0 +1,42 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ /** ** Constants *** */
4
+
5
+ import { direction } from '@zohoim/chat-components-utils/es/constants/messageConstants';
6
+ import autoMessageTypes from '@zohoim/chat-components-utils/es/imUtils/constants/autoMessageTypes';
7
+ const {
8
+ WELCOMEMSG,
9
+ WORKFLOW_MESSAGE,
10
+ WORKFLOW_NOTIFICATION,
11
+ UN_SUPPORTED_FILE
12
+ } = autoMessageTypes;
13
+ const imMessageMetaPropTypes = {
14
+ direction: PropTypes.oneOf(Object.values(direction)).isRequired,
15
+ time: PropTypes.string.isRequired,
16
+ isValidAttachment: PropTypes.bool,
17
+ autoMessageType: PropTypes.oneOf(Object.values(autoMessageTypes)),
18
+ messageMetaInfoI18N: PropTypes.shape({
19
+ autoMessagesI18N: PropTypes.shape({
20
+ [UN_SUPPORTED_FILE]: PropTypes.string,
21
+ [WELCOMEMSG]: PropTypes.string,
22
+ [WORKFLOW_MESSAGE]: PropTypes.string,
23
+ [WORKFLOW_NOTIFICATION]: PropTypes.string
24
+ }),
25
+ autoMessagesTitleI18N: PropTypes.shape({
26
+ [UN_SUPPORTED_FILE]: PropTypes.string,
27
+ [WELCOMEMSG]: PropTypes.string,
28
+ [WORKFLOW_MESSAGE]: PropTypes.string,
29
+ [WORKFLOW_NOTIFICATION]: PropTypes.string
30
+ }),
31
+ restrictedAttachmentMetaInfo: PropTypes.shape({
32
+ info: PropTypes.string,
33
+ title: PropTypes.string
34
+ })
35
+ }),
36
+ customProps: PropTypes.shape({
37
+ imMessageMetaInfoProps: PropTypes.object
38
+ }),
39
+ customStyle: PropTypes.object,
40
+ timeTooltip: PropTypes.string
41
+ };
42
+ export default imMessageMetaPropTypes;
@@ -0,0 +1,29 @@
1
+ /** ** Libraries *** */
2
+ import React from 'react';
3
+ /** ** Hooks *** */
4
+
5
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
6
+ /** ** Constants *** */
7
+
8
+ import imMessageMetaInfoDefaultProps from './props/defaultProps';
9
+ import imMessageMetaInfoPropTypes from './props/propTypes';
10
+ /** ** Styles *** */
11
+
12
+ import style from './css/IMMessageMetaInfo.module.css';
13
+ export default function IMMessageMetaInfo(props) {
14
+ const {
15
+ imMessageMetaInfoTitle,
16
+ imMessageMetaInfoContent,
17
+ customStyle
18
+ } = props;
19
+ /* External CSS Customization */
20
+
21
+ const newStyle = useMergeStyle(style, customStyle);
22
+ return /*#__PURE__*/React.createElement("div", {
23
+ className: newStyle.imMessageMetaInfo,
24
+ "data-title": imMessageMetaInfoTitle
25
+ }, imMessageMetaInfoContent);
26
+ }
27
+ IMMessageMetaInfo.propTypes = imMessageMetaInfoPropTypes;
28
+ IMMessageMetaInfo.defaultProps = imMessageMetaInfoDefaultProps;
29
+ IMMessageMetaInfo.displayName = 'IMMessageMetaInfo';
@@ -0,0 +1,14 @@
1
+ .varClass {
2
+ --imMessageMetaInfo-font_size: var(--zd_font_size13);
3
+ --imMessageMetaInfo-max_width: var(--zd_size150);
4
+ --imMessageMetaInfo-letter_spacing: 0.2px;
5
+ }
6
+
7
+ .imMessageMetaInfo {
8
+ composes: varClass;
9
+ composes: dotted from '../../../css/common.module.css';
10
+ font-size: var(--imMessageMetaInfo-font_size);
11
+ letter-spacing: var(--imMessageMetaInfo-letter_spacing);
12
+ max-width: var(--imMessageMetaInfo-max_width);
13
+ color: var(--imlib_chat_components_imAutoMessageInfo_text_color);
14
+ }
@@ -0,0 +1 @@
1
+ export { default as IMMessageMetaInfo } from './IMMessageMetaInfo';
@@ -0,0 +1,8 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
+ const imMessageMetaInfoDefaultProps = {
4
+ imMessageMetaInfoTitle: '',
5
+ imMessageMetaInfoContent: '',
6
+ customStyle: dummyObject
7
+ };
8
+ export default imMessageMetaInfoDefaultProps;
@@ -0,0 +1,8 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const imMessageMetaInfoPropTypes = {
4
+ imMessageMetaInfoTitle: PropTypes.string,
5
+ imMessageMetaInfoContent: PropTypes.string,
6
+ customStyle: PropTypes.object
7
+ };
8
+ export default imMessageMetaInfoPropTypes;
@@ -0,0 +1,48 @@
1
+ /* eslint-disable @zohodesk/zsecurity/no-protocol-check */
2
+
3
+ /** ** Libraries *** */
4
+ import React from 'react';
5
+ /** ** Hooks *** */
6
+
7
+ import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
8
+ import useIMPermaLink from '@zohoim/chat-components-hooks/es/im/IMPermaLink/useIMPermaLink';
9
+ /** ** Constants *** */
10
+
11
+ import imPermaLinkDefaultProps from './props/defaultProps';
12
+ import imPermaLinkPropTypes from './props/propTypes';
13
+ /** ** Methods *** */
14
+
15
+ import cssJSLogic from './css/cssJSLogic';
16
+ /** ** Styles *** */
17
+
18
+ import style from './css/IMPermaLink.module.css';
19
+ export default function IMPermaLink(props) {
20
+ const {
21
+ customStyle,
22
+ isDisabled
23
+ } = props;
24
+ const {
25
+ href,
26
+ onClick,
27
+ text
28
+ } = useIMPermaLink(props);
29
+ /* External CSS Customization */
30
+
31
+ const newStyle = useMergeStyle(style, customStyle);
32
+ /* CSS classnames added based on logic */
33
+
34
+ const {
35
+ imPermaLinkClass
36
+ } = cssJSLogic({
37
+ isDisabled
38
+ }, newStyle);
39
+ return text ? /*#__PURE__*/React.createElement("a", {
40
+ className: imPermaLinkClass,
41
+ href: href,
42
+ onClick: onClick,
43
+ rel: "noopener noreferrer"
44
+ }, text) : null;
45
+ }
46
+ IMPermaLink.propTypes = imPermaLinkPropTypes;
47
+ IMPermaLink.defaultProps = imPermaLinkDefaultProps;
48
+ IMPermaLink.displayName = 'IMPermaLink';
@@ -0,0 +1,14 @@
1
+ .text {
2
+ color: var(--imlib_chat_components_imPermaLink_url_color);
3
+ display: block;
4
+ composes: dotted from '../../css/common.module.css';
5
+ cursor: pointer;
6
+ }
7
+
8
+ .disabled {
9
+ pointer-events: none;
10
+ }
11
+
12
+ a.text:hover {
13
+ text-decoration: underline;
14
+ }
@@ -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 imPermaLinkClass = compileClassNames({
8
+ [style.text]: true,
9
+ [style.disabled]: isDisabled === true
10
+ });
11
+ return {
12
+ imPermaLinkClass
13
+ };
14
+ }
@@ -0,0 +1 @@
1
+ export { default as IMPermaLink } from './IMPermaLink';
@@ -0,0 +1,6 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
+ const imPermaLinkDefaultProps = {
4
+ customStyle: dummyObject
5
+ };
6
+ export default imPermaLinkDefaultProps;
@@ -0,0 +1,11 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const imPermaLinkPropTypes = {
4
+ text: PropTypes.string.isRequired,
5
+ customStyle: PropTypes.object,
6
+ isDisabled: PropTypes.bool,
7
+ onClick: PropTypes.func,
8
+ id: PropTypes.string,
9
+ href: PropTypes.string
10
+ };
11
+ export default imPermaLinkPropTypes;
@@ -0,0 +1,52 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ /** ** Libraries *** */
4
+ import React from 'react';
5
+ /** ** Hooks *** */
6
+
7
+ import useIMReplyBubble from '@zohoim/chat-components-hooks/es/im/IMReplyBubble/useIMReplyBubble';
8
+ /** ** Constants *** */
9
+
10
+ import imReplyBubbleDefaultProps from './props/defaultProps';
11
+ import imReplyBubblePropTypes from './props/propTypes';
12
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
13
+ /** ** Components *** */
14
+
15
+ import ReplyBubble from '../../ReplyBubble/ReplyBubble';
16
+ export default function IMReplyBubble(props) {
17
+ const {
18
+ replyText,
19
+ messageDetails,
20
+ customProps,
21
+ onClick: propOnClick,
22
+ isFailed
23
+ } = props;
24
+ const {
25
+ replyBubbleProps = dummyObject
26
+ } = customProps;
27
+ const {
28
+ message,
29
+ senderName,
30
+ dateTimeDetails,
31
+ attachmentDetails,
32
+ locationUrl,
33
+ onClick
34
+ } = useIMReplyBubble({
35
+ messageDetails,
36
+ onClick: propOnClick
37
+ });
38
+ return /*#__PURE__*/React.createElement(ReplyBubble, _extends({
39
+ attachmentDetails: attachmentDetails,
40
+ dateTimeDetails: dateTimeDetails,
41
+ locationUrl: locationUrl,
42
+ message: message,
43
+ onClick: onClick,
44
+ replyText: replyText,
45
+ senderName: senderName
46
+ }, replyBubbleProps, {
47
+ isFailed: isFailed
48
+ }));
49
+ }
50
+ IMReplyBubble.propTypes = imReplyBubblePropTypes;
51
+ IMReplyBubble.defaultProps = imReplyBubbleDefaultProps;
52
+ IMReplyBubble.displayName = 'IMReplyBubble';
@@ -0,0 +1 @@
1
+ export { default as IMReplyBubble } from './IMReplyBubble';
@@ -0,0 +1,7 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
+ const imReplyBubbleDefaultProps = {
4
+ customStyle: dummyObject,
5
+ customProps: dummyObject
6
+ };
7
+ export default imReplyBubbleDefaultProps;
@@ -0,0 +1,29 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const imReplyBubblePropTypes = {
4
+ messageDetails: PropTypes.shape({
5
+ actor: PropTypes.shape({
6
+ contactName: PropTypes.string,
7
+ externalId: PropTypes.string,
8
+ name: PropTypes.string
9
+ }).isRequired,
10
+ displayMessage: PropTypes.string.isRequired,
11
+ attachment: PropTypes.shape({
12
+ name: PropTypes.string,
13
+ type: PropTypes.string,
14
+ url: PropTypes.string
15
+ }),
16
+ dateTimeDetails: PropTypes.shape({
17
+ displayDateTime: PropTypes.string,
18
+ tooltip: PropTypes.string
19
+ }),
20
+ locationUrl: PropTypes.string
21
+ }).isRequired,
22
+ onClick: PropTypes.func.isRequired,
23
+ replyText: PropTypes.string.isRequired,
24
+ customProps: PropTypes.shape({
25
+ replyBubbleProps: PropTypes.object
26
+ }),
27
+ isFailed: PropTypes.bool
28
+ };
29
+ export default imReplyBubblePropTypes;
@@ -0,0 +1,40 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ /** ** Libraries *** */
4
+ import React from 'react';
5
+ /** ** Constants *** */
6
+
7
+ import imTextBubbleDefaultProps from './props/defaultProps';
8
+ import imTextBubblePropTypes from './props/propTypes';
9
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
10
+ /** ** Components *** */
11
+
12
+ import TextBubble from '../../TextBubble/TextBubble';
13
+ /** ** Hooks *** */
14
+
15
+ import useIMTextBubble from '@zohoim/chat-components-hooks/es/im/IMTextBubble/useIMTextBubble';
16
+ export default function IMTextBubble(props) {
17
+ const {
18
+ moreText,
19
+ customProps,
20
+ isFailed
21
+ } = props;
22
+ const {
23
+ textBubbleProps = dummyObject
24
+ } = customProps;
25
+ const {
26
+ onLoadFullMessage,
27
+ sanitizedDisplayMessage,
28
+ isShowSeeMore
29
+ } = useIMTextBubble(props);
30
+ return /*#__PURE__*/React.createElement(TextBubble, _extends({
31
+ message: sanitizedDisplayMessage,
32
+ moreText: isShowSeeMore ? moreText : '',
33
+ onClickMore: onLoadFullMessage
34
+ }, textBubbleProps, {
35
+ isFailed: isFailed
36
+ }));
37
+ }
38
+ IMTextBubble.propTypes = imTextBubblePropTypes;
39
+ IMTextBubble.defaultProps = imTextBubbleDefaultProps;
40
+ IMTextBubble.displayName = 'IMTextBubble';
@@ -0,0 +1 @@
1
+ export { default as IMTextBubble } from './IMTextBubble';
@@ -0,0 +1,8 @@
1
+ /** ** Constants *** */
2
+ import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
3
+ import { TEXT_MESSAGE_MAX_LENGTH } from '@zohoim/chat-components-utils/es/constants/messageConstants';
4
+ const imTextBubbleDefaultProps = {
5
+ customProps: dummyObject,
6
+ messageMaxLength: TEXT_MESSAGE_MAX_LENGTH
7
+ };
8
+ export default imTextBubbleDefaultProps;
@@ -0,0 +1,31 @@
1
+ /** ** Libraries *** */
2
+ import PropTypes from 'prop-types';
3
+ const imTextBubblePropTypes = {
4
+ messageDetails: PropTypes.shape({
5
+ displayMessage: PropTypes.string.isRequired,
6
+ attachment: PropTypes.shape({
7
+ name: PropTypes.string,
8
+ type: PropTypes.string
9
+ }),
10
+ contentType: PropTypes.string,
11
+ fullContentURL: PropTypes.string,
12
+ fullMessage: PropTypes.string,
13
+ id: PropTypes.string
14
+ }).isRequired,
15
+ customProps: PropTypes.shape({
16
+ textBubbleProps: PropTypes.object
17
+ }),
18
+ messageMaxLength: PropTypes.number,
19
+ markDownOptions: PropTypes.shape({
20
+ applyLink: PropTypes.bool,
21
+ isRemoveUrl: PropTypes.bool
22
+ }),
23
+ moreText: PropTypes.string,
24
+ onLoadFullMessage: PropTypes.func,
25
+ sessionDetails: PropTypes.shape({
26
+ id: PropTypes.string
27
+ }),
28
+ isFailed: PropTypes.bool,
29
+ isShowFullContent: PropTypes.bool
30
+ };
31
+ export default imTextBubblePropTypes;
@@ -0,0 +1,6 @@
1
+ .dotted {
2
+ /* overflow: hidden;
3
+ white-space: nowrap;
4
+ word-wrap: normal;
5
+ text-overflow: ellipsis; */
6
+ }
package/es/im/index.js ADDED
@@ -0,0 +1,9 @@
1
+ export * from './IMIntegrationIcon';
2
+ export * from './IMMessage';
3
+ export * from './IMPermaLink';
4
+ export * from './IMMessageMeta';
5
+ export * from './IMMessageMetaInfo';
6
+ export * from './IMMessageContent';
7
+ export * from './IMTextBubble';
8
+ export * from './IMReplyBubble';
9
+ export * from './ArticleBubble';
package/es/index.js ADDED
@@ -0,0 +1,32 @@
1
+ export * from './MessageBubble';
2
+ export * from './MessageActionsWrapper';
3
+ export * from './MessageActions';
4
+ export * from './MessageBox';
5
+ export * from './ActionIcon';
6
+ export * from './ActionIconWrapper';
7
+ export * from './MessageActionsMore';
8
+ export * from './MessageAvatar';
9
+ export * from './MoreActionItem';
10
+ export * from './MessageAction';
11
+ export * from './Theme';
12
+ export * from './Message';
13
+ export * from './AudioBubble';
14
+ export * from './AttachmentBubble';
15
+ export * from './AttachmentIcon';
16
+ export * from './VideoBubble';
17
+ export * from './ImageBubble';
18
+ export * from './TextBubble';
19
+ export * from './LocationBubble';
20
+ export * from './AttachmentBubbleInfo';
21
+ export * from './Audio';
22
+ export * from './Video';
23
+ export * from './ReplyBubble';
24
+ export * from './ReplyBubbleHeader';
25
+ export * from './LazyLoadImage';
26
+ export * from './ReplyBubbleContent';
27
+ export * from './MessageStatus';
28
+ export * from './im'; // ... export other components
29
+
30
+ /** * CONSTANTS ** */
31
+
32
+ export * from './constants';
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@zohoim/chat-components",
3
+ "version": "0.0.1-cx",
4
+ "description": "Chat Components",
5
+ "main": "es/index.js",
6
+ "module": "es/index.js",
7
+ "scripts": {
8
+ "build": "react-cli build:component:es",
9
+ "build_watch": "npm run build -- -w",
10
+ "clean": "react-cli clean unittest coverage es result.json",
11
+ "rtl": "react-cli rtl ./src ./es",
12
+ "prepare": "npm run clean && npm run build && npm run rtl && npm run cssVariableConvert",
13
+ "test": "react-cli test",
14
+ "test:debug": "react-cli test --runInBand --watch",
15
+ "create-icons": "node ./src/icons/create-icon-components --sourucePath=./factory --targetPath=./iconSrc",
16
+ "cssVariableConvert": "react-cli variableConverter ./es ./es",
17
+ "variable:addignore": "node ../../node_modules/@zohodesk-private/css-variable-migrator/es/variableIgnore.js ./src",
18
+ "variable:convert": "node ../../node_modules/@zohodesk-private/css-variable-migrator/es/pxParserPostcss.js ./src",
19
+ "variable:check": "node ../../node_modules/@zohodesk-private/css-variable-migrator/es/variableErrorCheck.js ./src ../../node_modules/@zohodesk-private/css-variable-migrator/es/config/cssVariableReplacementOptions.json"
20
+ },
21
+ "author": "ZohoDesk - IM Team",
22
+ "license": "ISC",
23
+ "private": false,
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "files": [
28
+ "es",
29
+ "!**/__tests__"
30
+ ],
31
+ "dependencies": {
32
+ "@zohodesk/components": "1.2.23",
33
+ "@zohodesk/hooks": "2.0.2",
34
+ "@zohodesk/icon": "1.3.15",
35
+ "@zohodesk/icons": "1.0.20",
36
+ "@zohodesk/utils": "1.3.13",
37
+ "@zohodesk/variables": "1.0.0",
38
+ "@zohodesk/virtualizer": "1.0.13",
39
+ "@zohoim/chat-components-hooks": "^0.0.1-cx",
40
+ "@zohoim/chat-components-utils": "^0.0.1-cx"
41
+ },
42
+ "devDependencies": {
43
+ "@zohodesk-private/css-variable-migrator": "1.0.7",
44
+ "html-to-react": "1.7.0 ",
45
+ "jsdom": "23.0.0",
46
+ "react-to-jsx": "1.3.2"
47
+ },
48
+ "gitHead": "b60f44be95eec75bcc98f775228661b538e2b490"
49
+ }