@botonic/react 0.30.7-alpha.1 → 0.30.8-alpha.0

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 (388) hide show
  1. package/lib/cjs/components/carousel.d.ts +1 -2
  2. package/lib/cjs/contexts.d.ts +0 -1
  3. package/lib/cjs/message-utils.d.ts +1 -2
  4. package/lib/cjs/node-app.d.ts +1 -1
  5. package/lib/cjs/react-bot.d.ts +1 -2
  6. package/lib/cjs/webchat/hooks/use-scroll-to-bottom.d.ts +1 -2
  7. package/lib/cjs/webchat/hooks/use-scroll-to-bottom.js +1 -2
  8. package/lib/cjs/webchat/hooks/use-scroll-to-bottom.js.map +1 -1
  9. package/lib/cjs/webchat/hooks/use-webchat.d.ts +0 -1
  10. package/lib/cjs/webchat/message-list/index.js +0 -2
  11. package/lib/cjs/webchat/message-list/index.js.map +1 -1
  12. package/lib/cjs/webchat/message-list/styles.js +1 -0
  13. package/lib/cjs/webchat/message-list/styles.js.map +1 -1
  14. package/lib/cjs/webchat/utils.d.ts +0 -1
  15. package/lib/cjs/webchat-app.d.ts +3 -4
  16. package/package.json +1 -1
  17. package/src/webchat/hooks/use-scroll-to-bottom.ts +1 -6
  18. package/src/webchat/message-list/index.tsx +0 -2
  19. package/src/webchat/message-list/styles.ts +1 -0
  20. package/lib/esm/app.d.ts +0 -2
  21. package/lib/esm/app.js +0 -6
  22. package/lib/esm/app.js.map +0 -1
  23. package/lib/esm/botonic-tester.d.ts +0 -30
  24. package/lib/esm/botonic-tester.js +0 -78
  25. package/lib/esm/botonic-tester.js.map +0 -1
  26. package/lib/esm/components/audio.d.ts +0 -8
  27. package/lib/esm/components/audio.js +0 -18
  28. package/lib/esm/components/audio.js.map +0 -1
  29. package/lib/esm/components/button.d.ts +0 -17
  30. package/lib/esm/components/button.js +0 -160
  31. package/lib/esm/components/button.js.map +0 -1
  32. package/lib/esm/components/buttons-disabler.d.ts +0 -24
  33. package/lib/esm/components/buttons-disabler.js +0 -84
  34. package/lib/esm/components/buttons-disabler.js.map +0 -1
  35. package/lib/esm/components/carousel.d.ts +0 -10
  36. package/lib/esm/components/carousel.js +0 -105
  37. package/lib/esm/components/carousel.js.map +0 -1
  38. package/lib/esm/components/components.d.ts +0 -12
  39. package/lib/esm/components/components.js +0 -17
  40. package/lib/esm/components/components.js.map +0 -1
  41. package/lib/esm/components/custom-message.d.ts +0 -12
  42. package/lib/esm/components/custom-message.js +0 -56
  43. package/lib/esm/components/custom-message.js.map +0 -1
  44. package/lib/esm/components/document.d.ts +0 -8
  45. package/lib/esm/components/document.js +0 -42
  46. package/lib/esm/components/document.js.map +0 -1
  47. package/lib/esm/components/element.d.ts +0 -4
  48. package/lib/esm/components/element.js +0 -51
  49. package/lib/esm/components/element.js.map +0 -1
  50. package/lib/esm/components/handoff.d.ts +0 -1
  51. package/lib/esm/components/handoff.js +0 -49
  52. package/lib/esm/components/handoff.js.map +0 -1
  53. package/lib/esm/components/image.d.ts +0 -8
  54. package/lib/esm/components/image.js +0 -35
  55. package/lib/esm/components/image.js.map +0 -1
  56. package/lib/esm/components/index-types.d.ts +0 -186
  57. package/lib/esm/components/index-types.js +0 -2
  58. package/lib/esm/components/index-types.js.map +0 -1
  59. package/lib/esm/components/index.d.ts +0 -24
  60. package/lib/esm/components/index.js +0 -25
  61. package/lib/esm/components/index.js.map +0 -1
  62. package/lib/esm/components/location.d.ts +0 -11
  63. package/lib/esm/components/location.js +0 -27
  64. package/lib/esm/components/location.js.map +0 -1
  65. package/lib/esm/components/markdown.d.ts +0 -7
  66. package/lib/esm/components/markdown.js +0 -152
  67. package/lib/esm/components/markdown.js.map +0 -1
  68. package/lib/esm/components/message/index.d.ts +0 -1
  69. package/lib/esm/components/message/index.js +0 -146
  70. package/lib/esm/components/message/index.js.map +0 -1
  71. package/lib/esm/components/message/message-feedback.d.ts +0 -7
  72. package/lib/esm/components/message/message-feedback.js +0 -59
  73. package/lib/esm/components/message/message-feedback.js.map +0 -1
  74. package/lib/esm/components/message/message-footer.d.ts +0 -11
  75. package/lib/esm/components/message/message-footer.js +0 -17
  76. package/lib/esm/components/message/message-footer.js.map +0 -1
  77. package/lib/esm/components/message/message-image.d.ts +0 -7
  78. package/lib/esm/components/message/message-image.js +0 -19
  79. package/lib/esm/components/message/message-image.js.map +0 -1
  80. package/lib/esm/components/message/styles.d.ts +0 -33
  81. package/lib/esm/components/message/styles.js +0 -118
  82. package/lib/esm/components/message/styles.js.map +0 -1
  83. package/lib/esm/components/message/timestamps.d.ts +0 -13
  84. package/lib/esm/components/message/timestamps.js +0 -40
  85. package/lib/esm/components/message/timestamps.js.map +0 -1
  86. package/lib/esm/components/message-template.d.ts +0 -1
  87. package/lib/esm/components/message-template.js +0 -9
  88. package/lib/esm/components/message-template.js.map +0 -1
  89. package/lib/esm/components/multichannel/facebook/facebook.d.ts +0 -17
  90. package/lib/esm/components/multichannel/facebook/facebook.js +0 -43
  91. package/lib/esm/components/multichannel/facebook/facebook.js.map +0 -1
  92. package/lib/esm/components/multichannel/index-types.d.ts +0 -46
  93. package/lib/esm/components/multichannel/index-types.js +0 -2
  94. package/lib/esm/components/multichannel/index-types.js.map +0 -1
  95. package/lib/esm/components/multichannel/index.d.ts +0 -11
  96. package/lib/esm/components/multichannel/index.js +0 -12
  97. package/lib/esm/components/multichannel/index.js.map +0 -1
  98. package/lib/esm/components/multichannel/multichannel-button.d.ts +0 -1
  99. package/lib/esm/components/multichannel/multichannel-button.js +0 -67
  100. package/lib/esm/components/multichannel/multichannel-button.js.map +0 -1
  101. package/lib/esm/components/multichannel/multichannel-carousel.d.ts +0 -1
  102. package/lib/esm/components/multichannel/multichannel-carousel.js +0 -74
  103. package/lib/esm/components/multichannel/multichannel-carousel.js.map +0 -1
  104. package/lib/esm/components/multichannel/multichannel-context.d.ts +0 -11
  105. package/lib/esm/components/multichannel/multichannel-context.js +0 -12
  106. package/lib/esm/components/multichannel/multichannel-context.js.map +0 -1
  107. package/lib/esm/components/multichannel/multichannel-reply.d.ts +0 -1
  108. package/lib/esm/components/multichannel/multichannel-reply.js +0 -20
  109. package/lib/esm/components/multichannel/multichannel-reply.js.map +0 -1
  110. package/lib/esm/components/multichannel/multichannel-text.d.ts +0 -1
  111. package/lib/esm/components/multichannel/multichannel-text.js +0 -160
  112. package/lib/esm/components/multichannel/multichannel-text.js.map +0 -1
  113. package/lib/esm/components/multichannel/multichannel-utils.d.ts +0 -21
  114. package/lib/esm/components/multichannel/multichannel-utils.js +0 -81
  115. package/lib/esm/components/multichannel/multichannel-utils.js.map +0 -1
  116. package/lib/esm/components/multichannel/multichannel.d.ts +0 -1
  117. package/lib/esm/components/multichannel/multichannel.js +0 -57
  118. package/lib/esm/components/multichannel/multichannel.js.map +0 -1
  119. package/lib/esm/components/multichannel/whatsapp/constants.d.ts +0 -11
  120. package/lib/esm/components/multichannel/whatsapp/constants.js +0 -10
  121. package/lib/esm/components/multichannel/whatsapp/constants.js.map +0 -1
  122. package/lib/esm/components/multichannel/whatsapp/markdown-meta.d.ts +0 -1
  123. package/lib/esm/components/multichannel/whatsapp/markdown-meta.js +0 -38
  124. package/lib/esm/components/multichannel/whatsapp/markdown-meta.js.map +0 -1
  125. package/lib/esm/components/pic.d.ts +0 -6
  126. package/lib/esm/components/pic.js +0 -25
  127. package/lib/esm/components/pic.js.map +0 -1
  128. package/lib/esm/components/raw.d.ts +0 -9
  129. package/lib/esm/components/raw.js +0 -39
  130. package/lib/esm/components/raw.js.map +0 -1
  131. package/lib/esm/components/reply.d.ts +0 -9
  132. package/lib/esm/components/reply.js +0 -49
  133. package/lib/esm/components/reply.js.map +0 -1
  134. package/lib/esm/components/share-button.d.ts +0 -1
  135. package/lib/esm/components/share-button.js +0 -9
  136. package/lib/esm/components/share-button.js.map +0 -1
  137. package/lib/esm/components/subtitle.d.ts +0 -6
  138. package/lib/esm/components/subtitle.js +0 -19
  139. package/lib/esm/components/subtitle.js.map +0 -1
  140. package/lib/esm/components/text.d.ts +0 -7
  141. package/lib/esm/components/text.js +0 -40
  142. package/lib/esm/components/text.js.map +0 -1
  143. package/lib/esm/components/title.d.ts +0 -6
  144. package/lib/esm/components/title.js +0 -17
  145. package/lib/esm/components/title.js.map +0 -1
  146. package/lib/esm/components/video.d.ts +0 -8
  147. package/lib/esm/components/video.js +0 -26
  148. package/lib/esm/components/video.js.map +0 -1
  149. package/lib/esm/components/webchat-settings.d.ts +0 -3
  150. package/lib/esm/components/webchat-settings.js +0 -69
  151. package/lib/esm/components/webchat-settings.js.map +0 -1
  152. package/lib/esm/components/whatsapp-button-list.d.ts +0 -20
  153. package/lib/esm/components/whatsapp-button-list.js +0 -47
  154. package/lib/esm/components/whatsapp-button-list.js.map +0 -1
  155. package/lib/esm/components/whatsapp-cta-url-button.d.ts +0 -15
  156. package/lib/esm/components/whatsapp-cta-url-button.js +0 -33
  157. package/lib/esm/components/whatsapp-cta-url-button.js.map +0 -1
  158. package/lib/esm/components/whatsapp-template.d.ts +0 -1
  159. package/lib/esm/components/whatsapp-template.js +0 -20
  160. package/lib/esm/components/whatsapp-template.js.map +0 -1
  161. package/lib/esm/constants.d.ts +0 -165
  162. package/lib/esm/constants.js +0 -187
  163. package/lib/esm/constants.js.map +0 -1
  164. package/lib/esm/contexts.d.ts +0 -19
  165. package/lib/esm/contexts.js +0 -95
  166. package/lib/esm/contexts.js.map +0 -1
  167. package/lib/esm/dev-app.d.ts +0 -31
  168. package/lib/esm/dev-app.js +0 -78
  169. package/lib/esm/dev-app.js.map +0 -1
  170. package/lib/esm/index-types.d.ts +0 -150
  171. package/lib/esm/index-types.js +0 -12
  172. package/lib/esm/index-types.js.map +0 -1
  173. package/lib/esm/index.d.ts +0 -11
  174. package/lib/esm/index.js +0 -12
  175. package/lib/esm/index.js.map +0 -1
  176. package/lib/esm/message-utils.d.ts +0 -19
  177. package/lib/esm/message-utils.js +0 -41
  178. package/lib/esm/message-utils.js.map +0 -1
  179. package/lib/esm/msg-to-botonic.d.ts +0 -18
  180. package/lib/esm/msg-to-botonic.js +0 -135
  181. package/lib/esm/msg-to-botonic.js.map +0 -1
  182. package/lib/esm/node-app.d.ts +0 -7
  183. package/lib/esm/node-app.js +0 -19
  184. package/lib/esm/node-app.js.map +0 -1
  185. package/lib/esm/react-bot.d.ts +0 -8
  186. package/lib/esm/react-bot.js +0 -32
  187. package/lib/esm/react-bot.js.map +0 -1
  188. package/lib/esm/shared/styles.d.ts +0 -2
  189. package/lib/esm/shared/styles.js +0 -28
  190. package/lib/esm/shared/styles.js.map +0 -1
  191. package/lib/esm/util/dom.d.ts +0 -4
  192. package/lib/esm/util/dom.js +0 -24
  193. package/lib/esm/util/dom.js.map +0 -1
  194. package/lib/esm/util/environment.d.ts +0 -6
  195. package/lib/esm/util/environment.js +0 -61
  196. package/lib/esm/util/environment.js.map +0 -1
  197. package/lib/esm/util/error-boundary.d.ts +0 -7
  198. package/lib/esm/util/error-boundary.js +0 -28
  199. package/lib/esm/util/error-boundary.js.map +0 -1
  200. package/lib/esm/util/index.d.ts +0 -9
  201. package/lib/esm/util/index.js +0 -10
  202. package/lib/esm/util/index.js.map +0 -1
  203. package/lib/esm/util/logs.d.ts +0 -2
  204. package/lib/esm/util/logs.js +0 -15
  205. package/lib/esm/util/logs.js.map +0 -1
  206. package/lib/esm/util/objects.d.ts +0 -3
  207. package/lib/esm/util/objects.js +0 -38
  208. package/lib/esm/util/objects.js.map +0 -1
  209. package/lib/esm/util/react.d.ts +0 -12
  210. package/lib/esm/util/react.js +0 -34
  211. package/lib/esm/util/react.js.map +0 -1
  212. package/lib/esm/util/regexs.d.ts +0 -2
  213. package/lib/esm/util/regexs.js +0 -18
  214. package/lib/esm/util/regexs.js.map +0 -1
  215. package/lib/esm/util/strings.d.ts +0 -1
  216. package/lib/esm/util/strings.js +0 -7
  217. package/lib/esm/util/strings.js.map +0 -1
  218. package/lib/esm/util/webchat.d.ts +0 -11
  219. package/lib/esm/util/webchat.js +0 -53
  220. package/lib/esm/util/webchat.js.map +0 -1
  221. package/lib/esm/util/webviews.d.ts +0 -1
  222. package/lib/esm/util/webviews.js +0 -6
  223. package/lib/esm/util/webviews.js.map +0 -1
  224. package/lib/esm/webchat/actions.d.ts +0 -27
  225. package/lib/esm/webchat/actions.js +0 -29
  226. package/lib/esm/webchat/actions.js.map +0 -1
  227. package/lib/esm/webchat/chat-area/index.d.ts +0 -1
  228. package/lib/esm/webchat/chat-area/index.js +0 -18
  229. package/lib/esm/webchat/chat-area/index.js.map +0 -1
  230. package/lib/esm/webchat/chat-area/styles.d.ts +0 -3
  231. package/lib/esm/webchat/chat-area/styles.js +0 -9
  232. package/lib/esm/webchat/chat-area/styles.js.map +0 -1
  233. package/lib/esm/webchat/components/common.d.ts +0 -1
  234. package/lib/esm/webchat/components/common.js +0 -9
  235. package/lib/esm/webchat/components/common.js.map +0 -1
  236. package/lib/esm/webchat/components/conditional-animation.d.ts +0 -1
  237. package/lib/esm/webchat/components/conditional-animation.js +0 -12
  238. package/lib/esm/webchat/components/conditional-animation.js.map +0 -1
  239. package/lib/esm/webchat/components/opened-persistent-menu.d.ts +0 -6
  240. package/lib/esm/webchat/components/opened-persistent-menu.js +0 -30
  241. package/lib/esm/webchat/components/opened-persistent-menu.js.map +0 -1
  242. package/lib/esm/webchat/constants.d.ts +0 -8
  243. package/lib/esm/webchat/constants.js +0 -10
  244. package/lib/esm/webchat/constants.js.map +0 -1
  245. package/lib/esm/webchat/cover-component/index.d.ts +0 -6
  246. package/lib/esm/webchat/cover-component/index.js +0 -17
  247. package/lib/esm/webchat/cover-component/index.js.map +0 -1
  248. package/lib/esm/webchat/devices/index.d.ts +0 -11
  249. package/lib/esm/webchat/devices/index.js +0 -18
  250. package/lib/esm/webchat/devices/index.js.map +0 -1
  251. package/lib/esm/webchat/header.d.ts +0 -3
  252. package/lib/esm/webchat/header.js +0 -81
  253. package/lib/esm/webchat/header.js.map +0 -1
  254. package/lib/esm/webchat/hooks/index.d.ts +0 -11
  255. package/lib/esm/webchat/hooks/index.js +0 -12
  256. package/lib/esm/webchat/hooks/index.js.map +0 -1
  257. package/lib/esm/webchat/hooks/use-component-visible.d.ts +0 -8
  258. package/lib/esm/webchat/hooks/use-component-visible.js +0 -20
  259. package/lib/esm/webchat/hooks/use-component-visible.js.map +0 -1
  260. package/lib/esm/webchat/hooks/use-component-will-mount.d.ts +0 -1
  261. package/lib/esm/webchat/hooks/use-component-will-mount.js +0 -5
  262. package/lib/esm/webchat/hooks/use-component-will-mount.js.map +0 -1
  263. package/lib/esm/webchat/hooks/use-device-adapter.d.ts +0 -3
  264. package/lib/esm/webchat/hooks/use-device-adapter.js +0 -42
  265. package/lib/esm/webchat/hooks/use-device-adapter.js.map +0 -1
  266. package/lib/esm/webchat/hooks/use-previous.d.ts +0 -1
  267. package/lib/esm/webchat/hooks/use-previous.js +0 -9
  268. package/lib/esm/webchat/hooks/use-previous.js.map +0 -1
  269. package/lib/esm/webchat/hooks/use-scroll-to-bottom.d.ts +0 -7
  270. package/lib/esm/webchat/hooks/use-scroll-to-bottom.js +0 -19
  271. package/lib/esm/webchat/hooks/use-scroll-to-bottom.js.map +0 -1
  272. package/lib/esm/webchat/hooks/use-scrollbar-controller.d.ts +0 -6
  273. package/lib/esm/webchat/hooks/use-scrollbar-controller.js +0 -136
  274. package/lib/esm/webchat/hooks/use-scrollbar-controller.js.map +0 -1
  275. package/lib/esm/webchat/hooks/use-typing.d.ts +0 -10
  276. package/lib/esm/webchat/hooks/use-typing.js +0 -28
  277. package/lib/esm/webchat/hooks/use-typing.js.map +0 -1
  278. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.d.ts +0 -3
  279. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js +0 -24
  280. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js.map +0 -1
  281. package/lib/esm/webchat/hooks/use-webchat-dimensions.d.ts +0 -4
  282. package/lib/esm/webchat/hooks/use-webchat-dimensions.js +0 -36
  283. package/lib/esm/webchat/hooks/use-webchat-dimensions.js.map +0 -1
  284. package/lib/esm/webchat/hooks/use-webchat-resizer.d.ts +0 -4
  285. package/lib/esm/webchat/hooks/use-webchat-resizer.js +0 -30
  286. package/lib/esm/webchat/hooks/use-webchat-resizer.js.map +0 -1
  287. package/lib/esm/webchat/hooks/use-webchat.d.ts +0 -47
  288. package/lib/esm/webchat/hooks/use-webchat.js +0 -189
  289. package/lib/esm/webchat/hooks/use-webchat.js.map +0 -1
  290. package/lib/esm/webchat/index-types.d.ts +0 -62
  291. package/lib/esm/webchat/index-types.js +0 -2
  292. package/lib/esm/webchat/index-types.js.map +0 -1
  293. package/lib/esm/webchat/index.d.ts +0 -4
  294. package/lib/esm/webchat/index.js +0 -10
  295. package/lib/esm/webchat/index.js.map +0 -1
  296. package/lib/esm/webchat/input-panel/attachment.d.ts +0 -7
  297. package/lib/esm/webchat/input-panel/attachment.js +0 -26
  298. package/lib/esm/webchat/input-panel/attachment.js.map +0 -1
  299. package/lib/esm/webchat/input-panel/emoji-picker.d.ts +0 -6
  300. package/lib/esm/webchat/input-panel/emoji-picker.js +0 -23
  301. package/lib/esm/webchat/input-panel/emoji-picker.js.map +0 -1
  302. package/lib/esm/webchat/input-panel/index.d.ts +0 -12
  303. package/lib/esm/webchat/input-panel/index.js +0 -50
  304. package/lib/esm/webchat/input-panel/index.js.map +0 -1
  305. package/lib/esm/webchat/input-panel/opened-emoji-picker.d.ts +0 -6
  306. package/lib/esm/webchat/input-panel/opened-emoji-picker.js +0 -10
  307. package/lib/esm/webchat/input-panel/opened-emoji-picker.js.map +0 -1
  308. package/lib/esm/webchat/input-panel/persistent-menu.d.ts +0 -6
  309. package/lib/esm/webchat/input-panel/persistent-menu.js +0 -14
  310. package/lib/esm/webchat/input-panel/persistent-menu.js.map +0 -1
  311. package/lib/esm/webchat/input-panel/send-button.d.ts +0 -5
  312. package/lib/esm/webchat/input-panel/send-button.js +0 -14
  313. package/lib/esm/webchat/input-panel/send-button.js.map +0 -1
  314. package/lib/esm/webchat/input-panel/styles.d.ts +0 -3
  315. package/lib/esm/webchat/input-panel/styles.js +0 -27
  316. package/lib/esm/webchat/input-panel/styles.js.map +0 -1
  317. package/lib/esm/webchat/input-panel/textarea.d.ts +0 -11
  318. package/lib/esm/webchat/input-panel/textarea.js +0 -56
  319. package/lib/esm/webchat/input-panel/textarea.js.map +0 -1
  320. package/lib/esm/webchat/message-list/index.d.ts +0 -1
  321. package/lib/esm/webchat/message-list/index.js +0 -109
  322. package/lib/esm/webchat/message-list/index.js.map +0 -1
  323. package/lib/esm/webchat/message-list/intro-message.d.ts +0 -1
  324. package/lib/esm/webchat/message-list/intro-message.js +0 -18
  325. package/lib/esm/webchat/message-list/intro-message.js.map +0 -1
  326. package/lib/esm/webchat/message-list/scroll-button.d.ts +0 -5
  327. package/lib/esm/webchat/message-list/scroll-button.js +0 -12
  328. package/lib/esm/webchat/message-list/scroll-button.js.map +0 -1
  329. package/lib/esm/webchat/message-list/styles.d.ts +0 -5
  330. package/lib/esm/webchat/message-list/styles.js +0 -55
  331. package/lib/esm/webchat/message-list/styles.js.map +0 -1
  332. package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +0 -6
  333. package/lib/esm/webchat/message-list/unread-messages-banner.js +0 -13
  334. package/lib/esm/webchat/message-list/unread-messages-banner.js.map +0 -1
  335. package/lib/esm/webchat/message-list/use-debounce.d.ts +0 -1
  336. package/lib/esm/webchat/message-list/use-debounce.js +0 -14
  337. package/lib/esm/webchat/message-list/use-debounce.js.map +0 -1
  338. package/lib/esm/webchat/message-list/use-notifications.d.ts +0 -7
  339. package/lib/esm/webchat/message-list/use-notifications.js +0 -20
  340. package/lib/esm/webchat/message-list/use-notifications.js.map +0 -1
  341. package/lib/esm/webchat/messages-reducer.d.ts +0 -6
  342. package/lib/esm/webchat/messages-reducer.js +0 -83
  343. package/lib/esm/webchat/messages-reducer.js.map +0 -1
  344. package/lib/esm/webchat/replies.d.ts +0 -1
  345. package/lib/esm/webchat/replies.js +0 -42
  346. package/lib/esm/webchat/replies.js.map +0 -1
  347. package/lib/esm/webchat/session-view.d.ts +0 -1
  348. package/lib/esm/webchat/session-view.js +0 -96
  349. package/lib/esm/webchat/session-view.js.map +0 -1
  350. package/lib/esm/webchat/tracking.d.ts +0 -7
  351. package/lib/esm/webchat/tracking.js +0 -10
  352. package/lib/esm/webchat/tracking.js.map +0 -1
  353. package/lib/esm/webchat/trigger-button/index.d.ts +0 -1
  354. package/lib/esm/webchat/trigger-button/index.js +0 -28
  355. package/lib/esm/webchat/trigger-button/index.js.map +0 -1
  356. package/lib/esm/webchat/trigger-button/styles.d.ts +0 -3
  357. package/lib/esm/webchat/trigger-button/styles.js +0 -36
  358. package/lib/esm/webchat/trigger-button/styles.js.map +0 -1
  359. package/lib/esm/webchat/typing-indicator/index.d.ts +0 -3
  360. package/lib/esm/webchat/typing-indicator/index.js +0 -8
  361. package/lib/esm/webchat/typing-indicator/index.js.map +0 -1
  362. package/lib/esm/webchat/typing-indicator/styles.d.ts +0 -7
  363. package/lib/esm/webchat/typing-indicator/styles.js +0 -46
  364. package/lib/esm/webchat/typing-indicator/styles.js.map +0 -1
  365. package/lib/esm/webchat/use-storage-state-hook.d.ts +0 -1
  366. package/lib/esm/webchat/use-storage-state-hook.js +0 -38
  367. package/lib/esm/webchat/use-storage-state-hook.js.map +0 -1
  368. package/lib/esm/webchat/utils.d.ts +0 -2
  369. package/lib/esm/webchat/utils.js +0 -8
  370. package/lib/esm/webchat/utils.js.map +0 -1
  371. package/lib/esm/webchat/webchat-dev.d.ts +0 -7
  372. package/lib/esm/webchat/webchat-dev.js +0 -56
  373. package/lib/esm/webchat/webchat-dev.js.map +0 -1
  374. package/lib/esm/webchat/webchat-reducer.d.ts +0 -6
  375. package/lib/esm/webchat/webchat-reducer.js +0 -46
  376. package/lib/esm/webchat/webchat-reducer.js.map +0 -1
  377. package/lib/esm/webchat/webchat.d.ts +0 -2
  378. package/lib/esm/webchat/webchat.js +0 -543
  379. package/lib/esm/webchat/webchat.js.map +0 -1
  380. package/lib/esm/webchat/webview.d.ts +0 -2
  381. package/lib/esm/webchat/webview.js +0 -70
  382. package/lib/esm/webchat/webview.js.map +0 -1
  383. package/lib/esm/webchat-app.d.ts +0 -102
  384. package/lib/esm/webchat-app.js +0 -299
  385. package/lib/esm/webchat-app.js.map +0 -1
  386. package/lib/esm/webview-app.d.ts +0 -7
  387. package/lib/esm/webview-app.js +0 -102
  388. package/lib/esm/webview-app.js.map +0 -1
@@ -1,543 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { BotonicAction, INPUT, isMobile, params2queryString, } from '@botonic/core';
4
- import merge from 'lodash.merge';
5
- import React, { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from 'react';
6
- import styled, { StyleSheetManager } from 'styled-components';
7
- import { v7 as uuidv7 } from 'uuid';
8
- import { Audio, Document, Image, Text, Video } from '../components';
9
- import { Handoff } from '../components/handoff';
10
- import { normalizeWebchatSettings } from '../components/webchat-settings';
11
- import { COLORS, MAX_ALLOWED_SIZE_MB, ROLES, WEBCHAT } from '../constants';
12
- import { WebchatContext, WebviewRequestContext } from '../contexts';
13
- import { SENDERS } from '../index-types';
14
- import { getMediaType, isAllowedSize, isAudio, isDocument, isImage, isMedia, isText, isVideo, readDataURL, } from '../message-utils';
15
- import { msgToBotonic } from '../msg-to-botonic';
16
- import { isDev } from '../util/environment';
17
- import { deserializeRegex, stringifyWithRegexs } from '../util/regexs';
18
- import { _getThemeProperty, getServerErrorMessage, initSession, shouldKeepSessionOnReload, } from '../util/webchat';
19
- import { ChatArea } from './chat-area';
20
- import { OpenedPersistentMenu } from './components/opened-persistent-menu';
21
- import { BotonicContainerId } from './constants';
22
- import { CoverComponent } from './cover-component';
23
- import { WebchatHeader } from './header';
24
- import { useComponentWillMount, usePrevious, useScrollToBottom, useTyping, useWebchat, } from './hooks';
25
- import { InputPanel } from './input-panel';
26
- import { TriggerButton } from './trigger-button';
27
- import { useStorageState } from './use-storage-state-hook';
28
- import { getParsedAction } from './utils';
29
- import { WebviewContainer } from './webview';
30
- const StyledWebchat = styled.div `
31
- position: fixed;
32
- right: 20px;
33
- bottom: 20px;
34
- width: ${props => props.width}px;
35
- height: ${props => props.height}px;
36
- margin: auto;
37
- background-color: ${COLORS.SOLID_WHITE};
38
- border-radius: 10px;
39
- box-shadow: ${COLORS.SOLID_BLACK_ALPHA_0_2} 0px 0px 12px;
40
- display: flex;
41
- flex-direction: column;
42
- justify-content: space-between;
43
- overflow: hidden;
44
- `;
45
- const ErrorMessageContainer = styled.div `
46
- position: relative;
47
- display: flex;
48
- z-index: 1;
49
- justify-content: center;
50
- width: 100%;
51
- `;
52
- const ErrorMessage = styled.div `
53
- position: absolute;
54
- top: 10px;
55
- font-size: 14px;
56
- line-height: 20px;
57
- padding: 4px 11px;
58
- display: flex;
59
- background-color: ${COLORS.ERROR_RED};
60
- color: ${COLORS.CONCRETE_WHITE};
61
- border-radius: 5px;
62
- align-items: center;
63
- justify-content: center;
64
- font-family: ${WEBCHAT.DEFAULTS.FONT_FAMILY};
65
- `;
66
- const DarkBackgroundMenu = styled.div `
67
- background: ${COLORS.SOLID_BLACK};
68
- opacity: 0.3;
69
- z-index: 1;
70
- right: 0;
71
- bottom: 0;
72
- border-radius: 10px;
73
- position: absolute;
74
- width: 100%;
75
- height: 100%;
76
- `;
77
- // eslint-disable-next-line complexity, react/display-name
78
- export const Webchat = forwardRef((props, ref) => {
79
- var _a;
80
- const { addMessage, addMessageComponent, clearMessages, doRenderCustomComponent, openWebviewT, resetUnreadMessages, setCurrentAttachment, setError, setIsInputFocused, setLastMessageVisible, setOnline, toggleCoverComponent, toggleEmojiPicker, togglePersistentMenu, toggleWebchat, updateDevSettings, updateHandoff, updateLastMessageDate, updateLastRoutePath, updateLatestInput, updateMessage, updateReplies, updateSession, updateTheme, updateTyping, updateWebview, webchatState, webchatRef, chatAreaRef, inputPanelRef, headerRef, scrollableMessagesListRef,
81
- // eslint-disable-next-line react-hooks/rules-of-hooks
82
- } = props.webchatHooks || useWebchat();
83
- const firstUpdate = useRef(true);
84
- const isOnline = () => webchatState.online;
85
- const currentDateString = () => new Date().toISOString();
86
- const theme = merge(webchatState.theme, props.theme);
87
- const { initialSession, initialDevSettings, onStateChange } = props;
88
- const getThemeProperty = _getThemeProperty(theme);
89
- const [customComponent, setCustomComponent] = useState(null);
90
- const storage = props.storage;
91
- const storageKey = typeof props.storageKey === 'function'
92
- ? props.storageKey()
93
- : props.storageKey;
94
- const [botonicState, saveState] = useStorageState(storage, storageKey);
95
- const host = props.host || document.body;
96
- const { scrollToBottom } = useScrollToBottom({ host });
97
- const saveWebchatState = webchatState => {
98
- storage &&
99
- saveState(JSON.parse(stringifyWithRegexs({
100
- messages: webchatState.messagesJSON,
101
- session: webchatState.session,
102
- lastRoutePath: webchatState.lastRoutePath,
103
- devSettings: webchatState.devSettings,
104
- lastMessageUpdate: webchatState.lastMessageUpdate,
105
- themeUpdates: webchatState.themeUpdates,
106
- })));
107
- };
108
- const handleAttachment = event => {
109
- if (!isAllowedSize(event.target.files[0].size)) {
110
- throw new Error(`The file is too large. A maximum of ${MAX_ALLOWED_SIZE_MB}MB is allowed.`);
111
- }
112
- setCurrentAttachment({
113
- fileName: event.target.files[0].name,
114
- file: event.target.files[0],
115
- attachmentType: getMediaType(event.target.files[0].type),
116
- });
117
- };
118
- useEffect(() => {
119
- if (webchatState.currentAttachment)
120
- sendAttachment(webchatState.currentAttachment);
121
- }, [webchatState.currentAttachment]);
122
- const sendUserInput = (input) => __awaiter(void 0, void 0, void 0, function* () {
123
- if (props.onUserInput) {
124
- resetUnreadMessages();
125
- scrollToBottom({ host });
126
- props.onUserInput({
127
- user: webchatState.session.user,
128
- input: input,
129
- session: webchatState.session,
130
- lastRoutePath: webchatState.lastRoutePath,
131
- });
132
- }
133
- });
134
- // Load styles stored in window._botonicInsertStyles by Webpack
135
- useComponentWillMount(() => {
136
- if (window._botonicInsertStyles && window._botonicInsertStyles.length) {
137
- for (const botonicStyle of window._botonicInsertStyles) {
138
- // Injecting styles at head is needed even if we use shadowDOM
139
- // as some dependencies like simplebar rely on creating ephemeral elements
140
- // on document.body and assume styles will be available globally
141
- document.head.appendChild(botonicStyle);
142
- // injecting styles in host node too so that shadowDOM works
143
- if (props.shadowDOM)
144
- host.appendChild(botonicStyle.cloneNode(true));
145
- }
146
- delete window._botonicInsertStyles;
147
- }
148
- if (props.shadowDOM) {
149
- // emoji-picker-react injects styles in head, so we need to
150
- // re-inject them in our host node to make it work with shadowDOM
151
- for (const style of document.querySelectorAll('style')) {
152
- if (style.textContent &&
153
- style.textContent.includes('emoji-picker-react'))
154
- host.appendChild(style.cloneNode(true));
155
- }
156
- }
157
- });
158
- // Load initial state from storage
159
- useEffect(() => {
160
- let { messages, session, lastRoutePath, devSettings, lastMessageUpdate, themeUpdates, } = botonicState || {};
161
- session = initSession(session);
162
- updateSession(session);
163
- if (shouldKeepSessionOnReload({ initialDevSettings, devSettings })) {
164
- if (messages) {
165
- messages.forEach(message => {
166
- addMessage(message);
167
- const newMessageComponent = msgToBotonic(Object.assign(Object.assign({}, message), { delay: 0, typing: 0 }), (props.theme.message && props.theme.message.customTypes) ||
168
- props.theme.customMessageTypes);
169
- if (newMessageComponent)
170
- addMessageComponent(newMessageComponent);
171
- });
172
- }
173
- if (initialSession)
174
- updateSession(merge(initialSession, session));
175
- if (lastRoutePath)
176
- updateLastRoutePath(lastRoutePath);
177
- }
178
- else
179
- updateSession(merge(initialSession, session));
180
- if (devSettings)
181
- updateDevSettings(devSettings);
182
- else if (initialDevSettings)
183
- updateDevSettings(initialDevSettings);
184
- if (lastMessageUpdate)
185
- updateLastMessageDate(lastMessageUpdate);
186
- if (themeUpdates !== undefined)
187
- updateTheme(merge(props.theme, themeUpdates), themeUpdates);
188
- if (props.onInit)
189
- setTimeout(() => props.onInit(), 100);
190
- }, []);
191
- useEffect(() => {
192
- if (!webchatState.isWebchatOpen) {
193
- if (webchatState.isLastMessageVisible) {
194
- resetUnreadMessages();
195
- }
196
- return;
197
- }
198
- }, [webchatState.isWebchatOpen]);
199
- useEffect(() => {
200
- if (onStateChange && typeof onStateChange === 'function') {
201
- onStateChange(webchatState);
202
- }
203
- saveWebchatState(webchatState);
204
- }, [
205
- webchatState.messagesJSON,
206
- webchatState.session,
207
- webchatState.lastRoutePath,
208
- webchatState.devSettings,
209
- webchatState.lastMessageUpdate,
210
- ]);
211
- useEffect(() => {
212
- if (!webchatState.online) {
213
- setError({
214
- message: getServerErrorMessage(props.server),
215
- });
216
- }
217
- else {
218
- if (!firstUpdate.current) {
219
- setError(undefined);
220
- }
221
- }
222
- }, [webchatState.online]);
223
- useTyping({ webchatState, updateTyping, updateMessage, host });
224
- useEffect(() => {
225
- updateTheme(merge(props.theme, theme, webchatState.themeUpdates));
226
- }, [props.theme, webchatState.themeUpdates]);
227
- const openWebview = (webviewComponent, params) => {
228
- updateWebview(webviewComponent, params);
229
- };
230
- const textareaRef = useRef(null);
231
- const closeWebview = (options) => __awaiter(void 0, void 0, void 0, function* () {
232
- updateWebview();
233
- if (userInputEnabled) {
234
- textareaRef.current.focus();
235
- }
236
- if (options === null || options === void 0 ? void 0 : options.payload) {
237
- yield sendPayload(options.payload);
238
- }
239
- else if (options === null || options === void 0 ? void 0 : options.path) {
240
- const params = options.params ? params2queryString(options.params) : '';
241
- yield sendPayload(`__PATH_PAYLOAD__${options.path}?${params}`);
242
- }
243
- });
244
- const persistentMenuOptions = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.persistentMenu, props.persistentMenu);
245
- const darkBackgroundMenu = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.darkBackgroundMenu, false);
246
- const getBlockInputs = (rule, inputData) => {
247
- const processedInput = rule.preprocess
248
- ? rule.preprocess(inputData)
249
- : inputData;
250
- return rule.match.some(regex => {
251
- if (typeof regex === 'string')
252
- regex = deserializeRegex(regex);
253
- return regex.test(processedInput);
254
- });
255
- };
256
- const checkBlockInput = input => {
257
- // if is a text we check if it is a serialized RE
258
- const blockInputs = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.blockInputs, props.blockInputs);
259
- if (!Array.isArray(blockInputs))
260
- return false;
261
- for (const rule of blockInputs) {
262
- if (getBlockInputs(rule, input.data)) {
263
- addMessageComponent(_jsx(Text, Object.assign({ id: input.id, sentBy: SENDERS.user, blob: false, style: {
264
- backgroundColor: COLORS.SCORPION_GRAY,
265
- borderColor: COLORS.SCORPION_GRAY,
266
- padding: '8px 12px',
267
- } }, { children: rule.message })));
268
- updateReplies(false);
269
- return true;
270
- }
271
- }
272
- return false;
273
- };
274
- const closeMenu = () => {
275
- togglePersistentMenu(false);
276
- };
277
- const persistentMenu = () => {
278
- return (_jsx(OpenedPersistentMenu, { onClick: closeMenu, options: persistentMenuOptions, borderRadius: webchatState.theme.style.borderRadius || '10px' }));
279
- };
280
- const getCoverComponent = () => {
281
- return getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.coverComponent, props.coverComponent &&
282
- (props.coverComponent.component || props.coverComponent));
283
- };
284
- const coverComponent = getCoverComponent();
285
- const coverComponentProps = (_a = props.coverComponent) === null || _a === void 0 ? void 0 : _a.props;
286
- useEffect(() => {
287
- if (!coverComponent)
288
- return;
289
- if (!botonicState ||
290
- (botonicState.messages && botonicState.messages.length === 0))
291
- toggleCoverComponent(true);
292
- }, []);
293
- const messageComponentFromInput = input => {
294
- let messageComponent = null;
295
- if (isText(input)) {
296
- messageComponent = (_jsx(Text, Object.assign({ id: input.id, payload: input.payload, sentBy: SENDERS.user }, { children: input.data })));
297
- }
298
- else if (isMedia(input)) {
299
- const temporaryDisplayUrl = URL.createObjectURL(input.data);
300
- const mediaProps = {
301
- id: input.id,
302
- sentBy: SENDERS.user,
303
- src: temporaryDisplayUrl,
304
- };
305
- if (isImage(input)) {
306
- mediaProps.input = input;
307
- messageComponent = _jsx(Image, Object.assign({}, mediaProps));
308
- }
309
- else if (isAudio(input))
310
- messageComponent = _jsx(Audio, Object.assign({}, mediaProps));
311
- else if (isVideo(input))
312
- messageComponent = _jsx(Video, Object.assign({}, mediaProps));
313
- else if (isDocument(input))
314
- messageComponent = _jsx(Document, Object.assign({}, mediaProps));
315
- }
316
- return messageComponent;
317
- };
318
- const sendInput = (input) => __awaiter(void 0, void 0, void 0, function* () {
319
- if (!input || Object.keys(input).length == 0)
320
- return;
321
- if (isText(input) && (!input.data || !input.data.trim()))
322
- return; // in case trim() doesn't work in a browser we can use !/\S/.test(input.data)
323
- if (isText(input) && checkBlockInput(input))
324
- return;
325
- if (!input.id)
326
- input.id = uuidv7();
327
- const messageComponent = messageComponentFromInput(input);
328
- if (messageComponent)
329
- addMessageComponent(messageComponent);
330
- if (isMedia(input))
331
- input.data = yield readDataURL(input.data);
332
- sendUserInput(input);
333
- updateLatestInput(input);
334
- isOnline() && updateLastMessageDate(currentDateString());
335
- updateReplies(false);
336
- togglePersistentMenu(false);
337
- toggleEmojiPicker(false);
338
- });
339
- /* This is the public API this component exposes to its parents
340
- https://stackoverflow.com/questions/37949981/call-child-method-from-parent
341
- */
342
- const updateSessionWithUser = userToUpdate => updateSession(merge(webchatState.session, { user: userToUpdate }));
343
- useImperativeHandle(ref, () => ({
344
- addBotResponse: ({ response, session, lastRoutePath }) => {
345
- updateTyping(false);
346
- const isUnread = !webchatState.isLastMessageVisible || webchatState.numUnreadMessages > 0;
347
- if (Array.isArray(response)) {
348
- response.forEach(r => {
349
- addMessageComponent(Object.assign(Object.assign({}, r), { props: Object.assign(Object.assign({}, r.props), { isUnread }) }));
350
- });
351
- }
352
- else if (response) {
353
- addMessageComponent(Object.assign(Object.assign({}, response), { props: Object.assign(Object.assign({}, response.props), { isUnread }) }));
354
- }
355
- if (session) {
356
- updateSession(merge(session, { user: webchatState.session.user }));
357
- const action = session._botonic_action || '';
358
- const handoff = action.startsWith(BotonicAction.CreateCase);
359
- if (handoff && isDev)
360
- addMessageComponent(_jsx(Handoff, {}));
361
- updateHandoff(handoff);
362
- }
363
- if (lastRoutePath)
364
- updateLastRoutePath(lastRoutePath);
365
- updateLastMessageDate(currentDateString());
366
- },
367
- setTyping: typing => updateTyping(typing),
368
- addUserMessage: message => sendInput(message),
369
- updateUser: updateSessionWithUser,
370
- openWebchat: () => toggleWebchat(true),
371
- closeWebchat: () => toggleWebchat(false),
372
- toggleWebchat: () => toggleWebchat(!webchatState.isWebchatOpen),
373
- openCoverComponent: () => toggleCoverComponent(true),
374
- closeCoverComponent: () => toggleCoverComponent(false),
375
- renderCustomComponent: _customComponent => {
376
- setCustomComponent(_customComponent);
377
- doRenderCustomComponent(true);
378
- },
379
- unmountCustomComponent: () => doRenderCustomComponent(false),
380
- toggleCoverComponent: () => toggleCoverComponent(!webchatState.isCoverComponentOpen),
381
- openWebviewApi: component => openWebviewT(component),
382
- setError,
383
- setOnline,
384
- getMessages: () => webchatState.messagesJSON,
385
- isOnline,
386
- clearMessages: () => {
387
- clearMessages();
388
- updateReplies(false);
389
- },
390
- getLastMessageUpdate: () => webchatState.lastMessageUpdate,
391
- updateMessageInfo: (msgId, messageInfo) => {
392
- const messageToUpdate = webchatState.messagesJSON.filter(m => m.id == msgId)[0];
393
- const updatedMsg = merge(messageToUpdate, messageInfo);
394
- if (updatedMsg.ack === 1)
395
- delete updatedMsg.unsentInput;
396
- updateMessage(updatedMsg);
397
- },
398
- updateWebchatSettings: settings => {
399
- if (settings.user) {
400
- updateSessionWithUser(settings.user);
401
- }
402
- const themeUpdates = normalizeWebchatSettings(settings);
403
- updateTheme(merge(webchatState.theme, themeUpdates), themeUpdates);
404
- updateTyping(false);
405
- },
406
- closeWebview: closeWebview,
407
- }));
408
- const resolveCase = () => {
409
- updateHandoff(false);
410
- updateSession(Object.assign(Object.assign({}, webchatState.session), { _botonic_action: null }));
411
- };
412
- const prevSession = usePrevious(webchatState.session);
413
- useEffect(() => {
414
- // Resume conversation after handoff
415
- if (prevSession &&
416
- prevSession._botonic_action &&
417
- !webchatState.session._botonic_action) {
418
- const action = getParsedAction(prevSession._botonic_action);
419
- if (action && action.on_finish)
420
- sendPayload(action.on_finish);
421
- }
422
- }, [webchatState.session._botonic_action]);
423
- const sendText = (text, payload) => __awaiter(void 0, void 0, void 0, function* () {
424
- if (!text)
425
- return;
426
- const input = { type: INPUT.TEXT, data: text, payload };
427
- yield sendInput(input);
428
- });
429
- const sendPayload = (payload) => __awaiter(void 0, void 0, void 0, function* () {
430
- if (!payload)
431
- return;
432
- const input = { type: INPUT.POSTBACK, payload };
433
- yield sendInput(input);
434
- });
435
- const sendAttachment = (attachment) => __awaiter(void 0, void 0, void 0, function* () {
436
- if (attachment.file) {
437
- const attachmentType = getMediaType(attachment.file.type);
438
- if (!attachmentType)
439
- return;
440
- const input = {
441
- type: attachmentType,
442
- data: attachment.file,
443
- };
444
- yield sendInput(input);
445
- setCurrentAttachment(undefined);
446
- }
447
- });
448
- const webviewRequestContext = {
449
- closeWebview: closeWebview,
450
- getString: stringId => props.getString(stringId, webchatState.session),
451
- params: webchatState.webviewParams || {},
452
- session: webchatState.session || {},
453
- };
454
- useEffect(() => {
455
- if (firstUpdate.current) {
456
- firstUpdate.current = false;
457
- return;
458
- }
459
- if (webchatState.isWebchatOpen && props.onOpen)
460
- props.onOpen();
461
- if (!webchatState.isWebchatOpen && props.onClose && !firstUpdate.current) {
462
- props.onClose();
463
- toggleEmojiPicker(false);
464
- togglePersistentMenu(false);
465
- }
466
- }, [webchatState.isWebchatOpen]);
467
- const isUserInputEnabled = () => {
468
- const isUserInputEnabled = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.enableUserInput, props.enableUserInput !== undefined ? props.enableUserInput : true);
469
- return isUserInputEnabled && !webchatState.isCoverComponentOpen;
470
- };
471
- const userInputEnabled = isUserInputEnabled();
472
- const webchatWebview = () => (_jsx(WebviewRequestContext.Provider, Object.assign({ value: webviewRequestContext }, { children: _jsx(WebviewContainer, { style: Object.assign(Object.assign({}, getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.webviewStyle)), mobileStyle), webview: webchatState.webview }) })));
473
- let mobileStyle = {};
474
- if (isMobile(getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.mobileBreakpoint))) {
475
- mobileStyle = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.mobileStyle) || {
476
- width: '100%',
477
- height: '100%',
478
- right: 0,
479
- bottom: 0,
480
- borderRadius: 0,
481
- };
482
- }
483
- useEffect(() => {
484
- // Prod mode
485
- saveWebchatState(webchatState);
486
- }, [webchatState.themeUpdates]);
487
- // Only needed for dev/serve mode
488
- const updateWebchatDevSettings = settings => {
489
- // eslint-disable-next-line react-hooks/rules-of-hooks
490
- useEffect(() => {
491
- const themeUpdates = normalizeWebchatSettings(settings);
492
- updateTheme(merge(webchatState.theme, themeUpdates), themeUpdates);
493
- }, [webchatState.messagesJSON]);
494
- };
495
- const DarkenBackground = ({ component }) => {
496
- return (_jsxs("div", { children: [darkBackgroundMenu && (_jsx(DarkBackgroundMenu, { style: {
497
- borderRadius: webchatState.theme.style.borderRadius,
498
- } })), component] }));
499
- };
500
- const _renderCustomComponent = () => {
501
- if (!customComponent)
502
- return _jsx(_Fragment, {});
503
- else
504
- return customComponent;
505
- };
506
- const WebchatComponent = (_jsxs(WebchatContext.Provider, Object.assign({ value: {
507
- addMessage,
508
- getThemeProperty,
509
- openWebview,
510
- resolveCase,
511
- resetUnreadMessages,
512
- setIsInputFocused,
513
- setLastMessageVisible,
514
- sendAttachment,
515
- sendInput,
516
- sendPayload,
517
- sendText,
518
- toggleWebchat,
519
- toggleEmojiPicker,
520
- togglePersistentMenu,
521
- toggleCoverComponent,
522
- updateLatestInput,
523
- updateMessage,
524
- updateReplies,
525
- updateUser: updateSessionWithUser,
526
- updateWebchatDevSettings: updateWebchatDevSettings,
527
- webchatState,
528
- trackEvent: props.onTrackEvent,
529
- webchatRef,
530
- chatAreaRef,
531
- inputPanelRef,
532
- headerRef,
533
- scrollableMessagesListRef,
534
- } }, { children: [!webchatState.isWebchatOpen && _jsx(TriggerButton, {}), webchatState.isWebchatOpen && (_jsxs(StyledWebchat, Object.assign({ id: BotonicContainerId.Webchat, ref: webchatRef,
535
- // TODO: Distinguish between multiple instances of webchat, e.g. `${uniqueId}-botonic-webchat`
536
- role: ROLES.WEBCHAT, width: webchatState.width, height: webchatState.height, style: Object.assign(Object.assign({}, webchatState.theme.style), mobileStyle) }, { children: [_jsx(WebchatHeader, { id: BotonicContainerId.Header, ref: headerRef, onCloseClick: () => {
537
- toggleWebchat(false);
538
- } }), webchatState.isCoverComponentOpen ? (_jsx(CoverComponent, { component: coverComponent, componentProps: coverComponentProps })) : (_jsxs(_Fragment, { children: [webchatState.error.message && (_jsx(ErrorMessageContainer, { children: _jsx(ErrorMessage, { children: webchatState.error.message }) })), _jsx(ChatArea, {}), webchatState.isPersistentMenuOpen && (_jsx(DarkenBackground, { component: persistentMenu() })), !webchatState.handoff && userInputEnabled && (_jsx(InputPanel, { persistentMenu: props.persistentMenu, enableEmojiPicker: props.enableEmojiPicker, enableAttachments: props.enableAttachments, handleAttachment: handleAttachment, textareaRef: textareaRef, host: host, onUserInput: props.onUserInput })), webchatState.webview && webchatWebview(), webchatState.isCustomComponentRendered &&
539
- customComponent &&
540
- _renderCustomComponent()] }))] })))] })));
541
- return props.shadowDOM ? (_jsx(StyleSheetManager, Object.assign({ target: host }, { children: WebchatComponent }))) : (WebchatComponent);
542
- });
543
- //# sourceMappingURL=webchat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../src/webchat/webchat.jsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export function WebviewHeader(): JSX.Element;
2
- export function WebviewContainer(props: any): JSX.Element;
@@ -1,70 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import React, { useContext, useEffect } from 'react';
4
- import styled from 'styled-components';
5
- import { COLORS, ROLES, WEBCHAT } from '../constants';
6
- import { WebchatContext, WebviewRequestContext } from '../contexts';
7
- const StyledWebview = styled.div `
8
- position: absolute;
9
- display: flex;
10
- flex-direction: column;
11
- bottom: 0;
12
- width: 100%;
13
- height: 100%;
14
- background-color: ${COLORS.SOLID_WHITE};
15
- z-index: 2;
16
- border-radius: ${WEBCHAT.DEFAULTS.BORDER_RADIUS_TOP_CORNERS};
17
- `;
18
- const StyledWebviewHeader = styled.div `
19
- text-align: right;
20
- background-color: ${COLORS.WILD_SAND_WHITE};
21
- border-top: 1px solid ${COLORS.SOLID_BLACK_ALPHA_0_2};
22
- border-bottom: 1px solid ${COLORS.SOLID_BLACK_ALPHA_0_2};
23
- border-radius: ${WEBCHAT.DEFAULTS.BORDER_RADIUS_TOP_CORNERS};
24
- `;
25
- const StyledCloseHeader = styled.div `
26
- display: inline-block;
27
- padding: 8px 12px;
28
- cursor: pointer;
29
- `;
30
- const StyledWebviewContent = styled.div `
31
- flex: 1;
32
- overflow: auto;
33
- `;
34
- const FrameStyles = `
35
- border-style: none;
36
- width: 100%;
37
- height: 100%;
38
- `;
39
- const StyledFrame = styled.iframe `
40
- ${FrameStyles}
41
- `;
42
- const StyledFrameAsDiv = styled.div `
43
- ${FrameStyles}
44
- `;
45
- export const WebviewHeader = () => {
46
- const { closeWebview } = useContext(WebviewRequestContext);
47
- const { getThemeProperty } = useContext(WebchatContext);
48
- return (_jsx(StyledWebviewHeader, Object.assign({ role: ROLES.WEBVIEW_HEADER, style: Object.assign({}, getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.webviewHeaderStyle)) }, { children: _jsx(StyledCloseHeader, Object.assign({ onClick: closeWebview }, { children: "\u2715" })) })));
49
- };
50
- export const WebviewContainer = props => {
51
- const { webchatState } = useContext(WebchatContext);
52
- const { closeWebview } = useContext(WebviewRequestContext);
53
- const Webview = webchatState.webview;
54
- const close = (e) => __awaiter(void 0, void 0, void 0, function* () {
55
- if (e.data === 'botonicCloseWebview') {
56
- yield closeWebview();
57
- }
58
- });
59
- useEffect(() => {
60
- if (window.addEventListener) {
61
- window.addEventListener('message', close, false);
62
- }
63
- else if (window.attachEvent) {
64
- // ie8
65
- window.attachEvent('onmessage', close);
66
- }
67
- }, []);
68
- return (_jsxs(StyledWebview, Object.assign({ role: ROLES.WEBVIEW, style: Object.assign({}, props.style) }, { children: [_jsx(WebviewHeader, { style: { flex: 'none' } }), _jsx(StyledWebviewContent, { children: typeof Webview === 'string' ? (_jsx(StyledFrame, { src: Webview })) : (_jsx(StyledFrameAsDiv, { children: _jsx(Webview, {}) })) })] })));
69
- };
70
- //# sourceMappingURL=webview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webview.js","sourceRoot":"","sources":["../../../src/webchat/webview.jsx"],"names":[],"mappings":"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"}