@botonic/react 0.31.0 → 0.31.1-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 (419) hide show
  1. package/lib/cjs/components/index.d.ts +5 -0
  2. package/lib/cjs/components/index.js +11 -1
  3. package/lib/cjs/components/index.js.map +1 -1
  4. package/lib/cjs/components/whatsapp-catalog.d.ts +6 -0
  5. package/lib/cjs/components/whatsapp-catalog.js +25 -0
  6. package/lib/cjs/components/whatsapp-catalog.js.map +1 -0
  7. package/lib/cjs/components/whatsapp-media-carousel.d.ts +46 -0
  8. package/lib/cjs/components/whatsapp-media-carousel.js +40 -0
  9. package/lib/cjs/components/whatsapp-media-carousel.js.map +1 -0
  10. package/lib/cjs/components/whatsapp-product-carousel.d.ts +32 -0
  11. package/lib/cjs/components/whatsapp-product-carousel.js +34 -0
  12. package/lib/cjs/components/whatsapp-product-carousel.js.map +1 -0
  13. package/lib/cjs/components/whatsapp-product-list.d.ts +15 -0
  14. package/lib/cjs/components/whatsapp-product-list.js +26 -0
  15. package/lib/cjs/components/whatsapp-product-list.js.map +1 -0
  16. package/lib/cjs/components/whatsapp-product.d.ts +7 -0
  17. package/lib/cjs/components/whatsapp-product.js +25 -0
  18. package/lib/cjs/components/whatsapp-product.js.map +1 -0
  19. package/lib/cjs/util/functional.d.ts +3 -0
  20. package/lib/cjs/util/functional.js +30 -0
  21. package/lib/cjs/util/functional.js.map +1 -0
  22. package/package.json +2 -2
  23. package/src/components/index.ts +16 -0
  24. package/src/components/whatsapp-catalog.tsx +42 -0
  25. package/src/components/whatsapp-media-carousel.tsx +104 -0
  26. package/src/components/whatsapp-product-carousel.tsx +83 -0
  27. package/src/components/whatsapp-product-list.tsx +56 -0
  28. package/src/components/whatsapp-product.tsx +44 -0
  29. package/src/util/functional.ts +31 -0
  30. package/lib/esm/app.d.ts +0 -2
  31. package/lib/esm/app.js +0 -6
  32. package/lib/esm/app.js.map +0 -1
  33. package/lib/esm/botonic-tester.d.ts +0 -30
  34. package/lib/esm/botonic-tester.js +0 -78
  35. package/lib/esm/botonic-tester.js.map +0 -1
  36. package/lib/esm/components/audio.d.ts +0 -9
  37. package/lib/esm/components/audio.js +0 -21
  38. package/lib/esm/components/audio.js.map +0 -1
  39. package/lib/esm/components/button.d.ts +0 -17
  40. package/lib/esm/components/button.js +0 -159
  41. package/lib/esm/components/button.js.map +0 -1
  42. package/lib/esm/components/buttons-disabler.d.ts +0 -24
  43. package/lib/esm/components/buttons-disabler.js +0 -84
  44. package/lib/esm/components/buttons-disabler.js.map +0 -1
  45. package/lib/esm/components/carousel.d.ts +0 -10
  46. package/lib/esm/components/carousel.js +0 -105
  47. package/lib/esm/components/carousel.js.map +0 -1
  48. package/lib/esm/components/components.d.ts +0 -12
  49. package/lib/esm/components/components.js +0 -17
  50. package/lib/esm/components/components.js.map +0 -1
  51. package/lib/esm/components/custom-message.d.ts +0 -16
  52. package/lib/esm/components/custom-message.js +0 -50
  53. package/lib/esm/components/custom-message.js.map +0 -1
  54. package/lib/esm/components/document.d.ts +0 -9
  55. package/lib/esm/components/document.js +0 -42
  56. package/lib/esm/components/document.js.map +0 -1
  57. package/lib/esm/components/element.d.ts +0 -4
  58. package/lib/esm/components/element.js +0 -51
  59. package/lib/esm/components/element.js.map +0 -1
  60. package/lib/esm/components/handoff.d.ts +0 -1
  61. package/lib/esm/components/handoff.js +0 -49
  62. package/lib/esm/components/handoff.js.map +0 -1
  63. package/lib/esm/components/image.d.ts +0 -9
  64. package/lib/esm/components/image.js +0 -35
  65. package/lib/esm/components/image.js.map +0 -1
  66. package/lib/esm/components/index-types.d.ts +0 -89
  67. package/lib/esm/components/index-types.js +0 -2
  68. package/lib/esm/components/index-types.js.map +0 -1
  69. package/lib/esm/components/index.d.ts +0 -25
  70. package/lib/esm/components/index.js +0 -26
  71. package/lib/esm/components/index.js.map +0 -1
  72. package/lib/esm/components/location.d.ts +0 -11
  73. package/lib/esm/components/location.js +0 -27
  74. package/lib/esm/components/location.js.map +0 -1
  75. package/lib/esm/components/markdown.d.ts +0 -7
  76. package/lib/esm/components/markdown.js +0 -152
  77. package/lib/esm/components/markdown.js.map +0 -1
  78. package/lib/esm/components/message/index.d.ts +0 -1
  79. package/lib/esm/components/message/index.js +0 -147
  80. package/lib/esm/components/message/index.js.map +0 -1
  81. package/lib/esm/components/message/message-feedback.d.ts +0 -7
  82. package/lib/esm/components/message/message-feedback.js +0 -59
  83. package/lib/esm/components/message/message-feedback.js.map +0 -1
  84. package/lib/esm/components/message/message-footer.d.ts +0 -11
  85. package/lib/esm/components/message/message-footer.js +0 -17
  86. package/lib/esm/components/message/message-footer.js.map +0 -1
  87. package/lib/esm/components/message/message-image.d.ts +0 -7
  88. package/lib/esm/components/message/message-image.js +0 -19
  89. package/lib/esm/components/message/message-image.js.map +0 -1
  90. package/lib/esm/components/message/styles.d.ts +0 -33
  91. package/lib/esm/components/message/styles.js +0 -118
  92. package/lib/esm/components/message/styles.js.map +0 -1
  93. package/lib/esm/components/message/timestamps.d.ts +0 -13
  94. package/lib/esm/components/message/timestamps.js +0 -40
  95. package/lib/esm/components/message/timestamps.js.map +0 -1
  96. package/lib/esm/components/message-template.d.ts +0 -1
  97. package/lib/esm/components/message-template.js +0 -9
  98. package/lib/esm/components/message-template.js.map +0 -1
  99. package/lib/esm/components/multichannel/facebook/facebook.d.ts +0 -17
  100. package/lib/esm/components/multichannel/facebook/facebook.js +0 -43
  101. package/lib/esm/components/multichannel/facebook/facebook.js.map +0 -1
  102. package/lib/esm/components/multichannel/index-types.d.ts +0 -46
  103. package/lib/esm/components/multichannel/index-types.js +0 -2
  104. package/lib/esm/components/multichannel/index-types.js.map +0 -1
  105. package/lib/esm/components/multichannel/index.d.ts +0 -11
  106. package/lib/esm/components/multichannel/index.js +0 -12
  107. package/lib/esm/components/multichannel/index.js.map +0 -1
  108. package/lib/esm/components/multichannel/multichannel-button.d.ts +0 -1
  109. package/lib/esm/components/multichannel/multichannel-button.js +0 -67
  110. package/lib/esm/components/multichannel/multichannel-button.js.map +0 -1
  111. package/lib/esm/components/multichannel/multichannel-carousel.d.ts +0 -1
  112. package/lib/esm/components/multichannel/multichannel-carousel.js +0 -74
  113. package/lib/esm/components/multichannel/multichannel-carousel.js.map +0 -1
  114. package/lib/esm/components/multichannel/multichannel-context.d.ts +0 -11
  115. package/lib/esm/components/multichannel/multichannel-context.js +0 -12
  116. package/lib/esm/components/multichannel/multichannel-context.js.map +0 -1
  117. package/lib/esm/components/multichannel/multichannel-reply.d.ts +0 -1
  118. package/lib/esm/components/multichannel/multichannel-reply.js +0 -20
  119. package/lib/esm/components/multichannel/multichannel-reply.js.map +0 -1
  120. package/lib/esm/components/multichannel/multichannel-text.d.ts +0 -1
  121. package/lib/esm/components/multichannel/multichannel-text.js +0 -160
  122. package/lib/esm/components/multichannel/multichannel-text.js.map +0 -1
  123. package/lib/esm/components/multichannel/multichannel-utils.d.ts +0 -21
  124. package/lib/esm/components/multichannel/multichannel-utils.js +0 -81
  125. package/lib/esm/components/multichannel/multichannel-utils.js.map +0 -1
  126. package/lib/esm/components/multichannel/multichannel.d.ts +0 -1
  127. package/lib/esm/components/multichannel/multichannel.js +0 -57
  128. package/lib/esm/components/multichannel/multichannel.js.map +0 -1
  129. package/lib/esm/components/multichannel/whatsapp/constants.d.ts +0 -11
  130. package/lib/esm/components/multichannel/whatsapp/constants.js +0 -10
  131. package/lib/esm/components/multichannel/whatsapp/constants.js.map +0 -1
  132. package/lib/esm/components/multichannel/whatsapp/markdown-meta.d.ts +0 -1
  133. package/lib/esm/components/multichannel/whatsapp/markdown-meta.js +0 -38
  134. package/lib/esm/components/multichannel/whatsapp/markdown-meta.js.map +0 -1
  135. package/lib/esm/components/pic.d.ts +0 -6
  136. package/lib/esm/components/pic.js +0 -25
  137. package/lib/esm/components/pic.js.map +0 -1
  138. package/lib/esm/components/raw.d.ts +0 -9
  139. package/lib/esm/components/raw.js +0 -39
  140. package/lib/esm/components/raw.js.map +0 -1
  141. package/lib/esm/components/reply.d.ts +0 -10
  142. package/lib/esm/components/reply.js +0 -53
  143. package/lib/esm/components/reply.js.map +0 -1
  144. package/lib/esm/components/share-button.d.ts +0 -1
  145. package/lib/esm/components/share-button.js +0 -9
  146. package/lib/esm/components/share-button.js.map +0 -1
  147. package/lib/esm/components/subtitle.d.ts +0 -6
  148. package/lib/esm/components/subtitle.js +0 -19
  149. package/lib/esm/components/subtitle.js.map +0 -1
  150. package/lib/esm/components/text.d.ts +0 -7
  151. package/lib/esm/components/text.js +0 -40
  152. package/lib/esm/components/text.js.map +0 -1
  153. package/lib/esm/components/title.d.ts +0 -6
  154. package/lib/esm/components/title.js +0 -17
  155. package/lib/esm/components/title.js.map +0 -1
  156. package/lib/esm/components/video.d.ts +0 -9
  157. package/lib/esm/components/video.js +0 -25
  158. package/lib/esm/components/video.js.map +0 -1
  159. package/lib/esm/components/webchat-settings.d.ts +0 -16
  160. package/lib/esm/components/webchat-settings.js +0 -69
  161. package/lib/esm/components/webchat-settings.js.map +0 -1
  162. package/lib/esm/components/whatsapp-button-list.d.ts +0 -20
  163. package/lib/esm/components/whatsapp-button-list.js +0 -47
  164. package/lib/esm/components/whatsapp-button-list.js.map +0 -1
  165. package/lib/esm/components/whatsapp-cta-url-button.d.ts +0 -15
  166. package/lib/esm/components/whatsapp-cta-url-button.js +0 -33
  167. package/lib/esm/components/whatsapp-cta-url-button.js.map +0 -1
  168. package/lib/esm/components/whatsapp-template.d.ts +0 -1
  169. package/lib/esm/components/whatsapp-template.js +0 -20
  170. package/lib/esm/components/whatsapp-template.js.map +0 -1
  171. package/lib/esm/constants.d.ts +0 -165
  172. package/lib/esm/constants.js +0 -187
  173. package/lib/esm/constants.js.map +0 -1
  174. package/lib/esm/contexts.d.ts +0 -18
  175. package/lib/esm/contexts.js +0 -18
  176. package/lib/esm/contexts.js.map +0 -1
  177. package/lib/esm/dev-app.d.ts +0 -38
  178. package/lib/esm/dev-app.js +0 -81
  179. package/lib/esm/dev-app.js.map +0 -1
  180. package/lib/esm/index-types.d.ts +0 -178
  181. package/lib/esm/index-types.js +0 -12
  182. package/lib/esm/index-types.js.map +0 -1
  183. package/lib/esm/index.d.ts +0 -11
  184. package/lib/esm/index.js +0 -12
  185. package/lib/esm/index.js.map +0 -1
  186. package/lib/esm/message-utils.d.ts +0 -19
  187. package/lib/esm/message-utils.js +0 -41
  188. package/lib/esm/message-utils.js.map +0 -1
  189. package/lib/esm/msg-to-botonic.d.ts +0 -18
  190. package/lib/esm/msg-to-botonic.js +0 -132
  191. package/lib/esm/msg-to-botonic.js.map +0 -1
  192. package/lib/esm/node-app.d.ts +0 -7
  193. package/lib/esm/node-app.js +0 -19
  194. package/lib/esm/node-app.js.map +0 -1
  195. package/lib/esm/react-bot.d.ts +0 -8
  196. package/lib/esm/react-bot.js +0 -32
  197. package/lib/esm/react-bot.js.map +0 -1
  198. package/lib/esm/shared/styles.d.ts +0 -2
  199. package/lib/esm/shared/styles.js +0 -28
  200. package/lib/esm/shared/styles.js.map +0 -1
  201. package/lib/esm/util/dom.d.ts +0 -4
  202. package/lib/esm/util/dom.js +0 -24
  203. package/lib/esm/util/dom.js.map +0 -1
  204. package/lib/esm/util/environment.d.ts +0 -6
  205. package/lib/esm/util/environment.js +0 -61
  206. package/lib/esm/util/environment.js.map +0 -1
  207. package/lib/esm/util/error-boundary.d.ts +0 -7
  208. package/lib/esm/util/error-boundary.js +0 -28
  209. package/lib/esm/util/error-boundary.js.map +0 -1
  210. package/lib/esm/util/index.d.ts +0 -9
  211. package/lib/esm/util/index.js +0 -10
  212. package/lib/esm/util/index.js.map +0 -1
  213. package/lib/esm/util/logs.d.ts +0 -2
  214. package/lib/esm/util/logs.js +0 -15
  215. package/lib/esm/util/logs.js.map +0 -1
  216. package/lib/esm/util/objects.d.ts +0 -3
  217. package/lib/esm/util/objects.js +0 -38
  218. package/lib/esm/util/objects.js.map +0 -1
  219. package/lib/esm/util/react.d.ts +0 -12
  220. package/lib/esm/util/react.js +0 -34
  221. package/lib/esm/util/react.js.map +0 -1
  222. package/lib/esm/util/regexs.d.ts +0 -2
  223. package/lib/esm/util/regexs.js +0 -18
  224. package/lib/esm/util/regexs.js.map +0 -1
  225. package/lib/esm/util/strings.d.ts +0 -1
  226. package/lib/esm/util/strings.js +0 -7
  227. package/lib/esm/util/strings.js.map +0 -1
  228. package/lib/esm/util/webchat.d.ts +0 -22
  229. package/lib/esm/util/webchat.js +0 -55
  230. package/lib/esm/util/webchat.js.map +0 -1
  231. package/lib/esm/util/webviews.d.ts +0 -1
  232. package/lib/esm/util/webviews.js +0 -6
  233. package/lib/esm/util/webviews.js.map +0 -1
  234. package/lib/esm/webchat/chat-area/index.d.ts +0 -1
  235. package/lib/esm/webchat/chat-area/index.js +0 -18
  236. package/lib/esm/webchat/chat-area/index.js.map +0 -1
  237. package/lib/esm/webchat/chat-area/styles.d.ts +0 -3
  238. package/lib/esm/webchat/chat-area/styles.js +0 -9
  239. package/lib/esm/webchat/chat-area/styles.js.map +0 -1
  240. package/lib/esm/webchat/components/common.d.ts +0 -1
  241. package/lib/esm/webchat/components/common.js +0 -9
  242. package/lib/esm/webchat/components/common.js.map +0 -1
  243. package/lib/esm/webchat/components/conditional-animation.d.ts +0 -1
  244. package/lib/esm/webchat/components/conditional-animation.js +0 -12
  245. package/lib/esm/webchat/components/conditional-animation.js.map +0 -1
  246. package/lib/esm/webchat/components/opened-persistent-menu.d.ts +0 -6
  247. package/lib/esm/webchat/components/opened-persistent-menu.js +0 -30
  248. package/lib/esm/webchat/components/opened-persistent-menu.js.map +0 -1
  249. package/lib/esm/webchat/constants.d.ts +0 -8
  250. package/lib/esm/webchat/constants.js +0 -10
  251. package/lib/esm/webchat/constants.js.map +0 -1
  252. package/lib/esm/webchat/context/actions.d.ts +0 -29
  253. package/lib/esm/webchat/context/actions.js +0 -32
  254. package/lib/esm/webchat/context/actions.js.map +0 -1
  255. package/lib/esm/webchat/context/index.d.ts +0 -5
  256. package/lib/esm/webchat/context/index.js +0 -78
  257. package/lib/esm/webchat/context/index.js.map +0 -1
  258. package/lib/esm/webchat/context/messages-reducer.d.ts +0 -6
  259. package/lib/esm/webchat/context/messages-reducer.js +0 -85
  260. package/lib/esm/webchat/context/messages-reducer.js.map +0 -1
  261. package/lib/esm/webchat/context/types.d.ts +0 -74
  262. package/lib/esm/webchat/context/types.js +0 -2
  263. package/lib/esm/webchat/context/types.js.map +0 -1
  264. package/lib/esm/webchat/context/use-webchat.d.ts +0 -47
  265. package/lib/esm/webchat/context/use-webchat.js +0 -195
  266. package/lib/esm/webchat/context/use-webchat.js.map +0 -1
  267. package/lib/esm/webchat/context/webchat-reducer.d.ts +0 -6
  268. package/lib/esm/webchat/context/webchat-reducer.js +0 -48
  269. package/lib/esm/webchat/context/webchat-reducer.js.map +0 -1
  270. package/lib/esm/webchat/cover-component/index.d.ts +0 -6
  271. package/lib/esm/webchat/cover-component/index.js +0 -17
  272. package/lib/esm/webchat/cover-component/index.js.map +0 -1
  273. package/lib/esm/webchat/devices/index.d.ts +0 -11
  274. package/lib/esm/webchat/devices/index.js +0 -18
  275. package/lib/esm/webchat/devices/index.js.map +0 -1
  276. package/lib/esm/webchat/header/default-header.d.ts +0 -1
  277. package/lib/esm/webchat/header/default-header.js +0 -21
  278. package/lib/esm/webchat/header/default-header.js.map +0 -1
  279. package/lib/esm/webchat/header/index.d.ts +0 -2
  280. package/lib/esm/webchat/header/index.js +0 -20
  281. package/lib/esm/webchat/header/index.js.map +0 -1
  282. package/lib/esm/webchat/header/styles.d.ts +0 -7
  283. package/lib/esm/webchat/header/styles.js +0 -55
  284. package/lib/esm/webchat/header/styles.js.map +0 -1
  285. package/lib/esm/webchat/hooks/index.d.ts +0 -10
  286. package/lib/esm/webchat/hooks/index.js +0 -11
  287. package/lib/esm/webchat/hooks/index.js.map +0 -1
  288. package/lib/esm/webchat/hooks/use-component-visible.d.ts +0 -8
  289. package/lib/esm/webchat/hooks/use-component-visible.js +0 -20
  290. package/lib/esm/webchat/hooks/use-component-visible.js.map +0 -1
  291. package/lib/esm/webchat/hooks/use-component-will-mount.d.ts +0 -1
  292. package/lib/esm/webchat/hooks/use-component-will-mount.js +0 -5
  293. package/lib/esm/webchat/hooks/use-component-will-mount.js.map +0 -1
  294. package/lib/esm/webchat/hooks/use-device-adapter.d.ts +0 -3
  295. package/lib/esm/webchat/hooks/use-device-adapter.js +0 -42
  296. package/lib/esm/webchat/hooks/use-device-adapter.js.map +0 -1
  297. package/lib/esm/webchat/hooks/use-previous.d.ts +0 -1
  298. package/lib/esm/webchat/hooks/use-previous.js +0 -9
  299. package/lib/esm/webchat/hooks/use-previous.js.map +0 -1
  300. package/lib/esm/webchat/hooks/use-scroll-to-bottom.d.ts +0 -9
  301. package/lib/esm/webchat/hooks/use-scroll-to-bottom.js +0 -19
  302. package/lib/esm/webchat/hooks/use-scroll-to-bottom.js.map +0 -1
  303. package/lib/esm/webchat/hooks/use-scrollbar-controller.d.ts +0 -6
  304. package/lib/esm/webchat/hooks/use-scrollbar-controller.js +0 -136
  305. package/lib/esm/webchat/hooks/use-scrollbar-controller.js.map +0 -1
  306. package/lib/esm/webchat/hooks/use-typing.d.ts +0 -10
  307. package/lib/esm/webchat/hooks/use-typing.js +0 -28
  308. package/lib/esm/webchat/hooks/use-typing.js.map +0 -1
  309. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.d.ts +0 -3
  310. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js +0 -24
  311. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js.map +0 -1
  312. package/lib/esm/webchat/hooks/use-webchat-dimensions.d.ts +0 -4
  313. package/lib/esm/webchat/hooks/use-webchat-dimensions.js +0 -36
  314. package/lib/esm/webchat/hooks/use-webchat-dimensions.js.map +0 -1
  315. package/lib/esm/webchat/hooks/use-webchat-resizer.d.ts +0 -4
  316. package/lib/esm/webchat/hooks/use-webchat-resizer.js +0 -30
  317. package/lib/esm/webchat/hooks/use-webchat-resizer.js.map +0 -1
  318. package/lib/esm/webchat/index-types.d.ts +0 -18
  319. package/lib/esm/webchat/index-types.js +0 -2
  320. package/lib/esm/webchat/index-types.js.map +0 -1
  321. package/lib/esm/webchat/index.d.ts +0 -5
  322. package/lib/esm/webchat/index.js +0 -11
  323. package/lib/esm/webchat/index.js.map +0 -1
  324. package/lib/esm/webchat/input-panel/attachment.d.ts +0 -7
  325. package/lib/esm/webchat/input-panel/attachment.js +0 -26
  326. package/lib/esm/webchat/input-panel/attachment.js.map +0 -1
  327. package/lib/esm/webchat/input-panel/emoji-picker.d.ts +0 -6
  328. package/lib/esm/webchat/input-panel/emoji-picker.js +0 -23
  329. package/lib/esm/webchat/input-panel/emoji-picker.js.map +0 -1
  330. package/lib/esm/webchat/input-panel/index.d.ts +0 -12
  331. package/lib/esm/webchat/input-panel/index.js +0 -55
  332. package/lib/esm/webchat/input-panel/index.js.map +0 -1
  333. package/lib/esm/webchat/input-panel/opened-emoji-picker.d.ts +0 -6
  334. package/lib/esm/webchat/input-panel/opened-emoji-picker.js +0 -10
  335. package/lib/esm/webchat/input-panel/opened-emoji-picker.js.map +0 -1
  336. package/lib/esm/webchat/input-panel/persistent-menu.d.ts +0 -6
  337. package/lib/esm/webchat/input-panel/persistent-menu.js +0 -14
  338. package/lib/esm/webchat/input-panel/persistent-menu.js.map +0 -1
  339. package/lib/esm/webchat/input-panel/send-button.d.ts +0 -5
  340. package/lib/esm/webchat/input-panel/send-button.js +0 -14
  341. package/lib/esm/webchat/input-panel/send-button.js.map +0 -1
  342. package/lib/esm/webchat/input-panel/styles.d.ts +0 -3
  343. package/lib/esm/webchat/input-panel/styles.js +0 -27
  344. package/lib/esm/webchat/input-panel/styles.js.map +0 -1
  345. package/lib/esm/webchat/input-panel/textarea.d.ts +0 -11
  346. package/lib/esm/webchat/input-panel/textarea.js +0 -58
  347. package/lib/esm/webchat/input-panel/textarea.js.map +0 -1
  348. package/lib/esm/webchat/message-list/index.d.ts +0 -1
  349. package/lib/esm/webchat/message-list/index.js +0 -107
  350. package/lib/esm/webchat/message-list/index.js.map +0 -1
  351. package/lib/esm/webchat/message-list/intro-message.d.ts +0 -1
  352. package/lib/esm/webchat/message-list/intro-message.js +0 -18
  353. package/lib/esm/webchat/message-list/intro-message.js.map +0 -1
  354. package/lib/esm/webchat/message-list/scroll-button.d.ts +0 -6
  355. package/lib/esm/webchat/message-list/scroll-button.js +0 -12
  356. package/lib/esm/webchat/message-list/scroll-button.js.map +0 -1
  357. package/lib/esm/webchat/message-list/styles.d.ts +0 -5
  358. package/lib/esm/webchat/message-list/styles.js +0 -56
  359. package/lib/esm/webchat/message-list/styles.js.map +0 -1
  360. package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +0 -6
  361. package/lib/esm/webchat/message-list/unread-messages-banner.js +0 -13
  362. package/lib/esm/webchat/message-list/unread-messages-banner.js.map +0 -1
  363. package/lib/esm/webchat/message-list/use-debounce.d.ts +0 -1
  364. package/lib/esm/webchat/message-list/use-debounce.js +0 -14
  365. package/lib/esm/webchat/message-list/use-debounce.js.map +0 -1
  366. package/lib/esm/webchat/message-list/use-notifications.d.ts +0 -7
  367. package/lib/esm/webchat/message-list/use-notifications.js +0 -20
  368. package/lib/esm/webchat/message-list/use-notifications.js.map +0 -1
  369. package/lib/esm/webchat/replies/index.d.ts +0 -1
  370. package/lib/esm/webchat/replies/index.js +0 -28
  371. package/lib/esm/webchat/replies/index.js.map +0 -1
  372. package/lib/esm/webchat/replies/styles.d.ts +0 -8
  373. package/lib/esm/webchat/replies/styles.js +0 -21
  374. package/lib/esm/webchat/replies/styles.js.map +0 -1
  375. package/lib/esm/webchat/session-view.d.ts +0 -1
  376. package/lib/esm/webchat/session-view.js +0 -96
  377. package/lib/esm/webchat/session-view.js.map +0 -1
  378. package/lib/esm/webchat/styles.d.ts +0 -9
  379. package/lib/esm/webchat/styles.js +0 -50
  380. package/lib/esm/webchat/styles.js.map +0 -1
  381. package/lib/esm/webchat/theme/types.d.ts +0 -167
  382. package/lib/esm/webchat/theme/types.js +0 -2
  383. package/lib/esm/webchat/theme/types.js.map +0 -1
  384. package/lib/esm/webchat/tracking.d.ts +0 -7
  385. package/lib/esm/webchat/tracking.js +0 -10
  386. package/lib/esm/webchat/tracking.js.map +0 -1
  387. package/lib/esm/webchat/trigger-button/index.d.ts +0 -2
  388. package/lib/esm/webchat/trigger-button/index.js +0 -28
  389. package/lib/esm/webchat/trigger-button/index.js.map +0 -1
  390. package/lib/esm/webchat/trigger-button/styles.d.ts +0 -3
  391. package/lib/esm/webchat/trigger-button/styles.js +0 -36
  392. package/lib/esm/webchat/trigger-button/styles.js.map +0 -1
  393. package/lib/esm/webchat/typing-indicator/index.d.ts +0 -3
  394. package/lib/esm/webchat/typing-indicator/index.js +0 -8
  395. package/lib/esm/webchat/typing-indicator/index.js.map +0 -1
  396. package/lib/esm/webchat/typing-indicator/styles.d.ts +0 -7
  397. package/lib/esm/webchat/typing-indicator/styles.js +0 -46
  398. package/lib/esm/webchat/typing-indicator/styles.js.map +0 -1
  399. package/lib/esm/webchat/use-storage-state-hook.d.ts +0 -1
  400. package/lib/esm/webchat/use-storage-state-hook.js +0 -38
  401. package/lib/esm/webchat/use-storage-state-hook.js.map +0 -1
  402. package/lib/esm/webchat/utils.d.ts +0 -2
  403. package/lib/esm/webchat/utils.js +0 -8
  404. package/lib/esm/webchat/utils.js.map +0 -1
  405. package/lib/esm/webchat/webchat-dev.d.ts +0 -7
  406. package/lib/esm/webchat/webchat-dev.js +0 -56
  407. package/lib/esm/webchat/webchat-dev.js.map +0 -1
  408. package/lib/esm/webchat/webchat.d.ts +0 -4
  409. package/lib/esm/webchat/webchat.js +0 -522
  410. package/lib/esm/webchat/webchat.js.map +0 -1
  411. package/lib/esm/webchat/webview.d.ts +0 -2
  412. package/lib/esm/webchat/webview.js +0 -71
  413. package/lib/esm/webchat/webview.js.map +0 -1
  414. package/lib/esm/webchat-app.d.ts +0 -78
  415. package/lib/esm/webchat-app.js +0 -363
  416. package/lib/esm/webchat-app.js.map +0 -1
  417. package/lib/esm/webview-app.d.ts +0 -7
  418. package/lib/esm/webview-app.js +0 -105
  419. package/lib/esm/webview-app.js.map +0 -1
@@ -1,56 +0,0 @@
1
- import { __rest } from "tslib";
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { PROVIDER } from '@botonic/core';
4
- import merge from 'lodash.merge';
5
- import React, { forwardRef, useEffect } from 'react';
6
- import { createPortal } from 'react-dom';
7
- import styled from 'styled-components';
8
- import { useWebchat } from './context/use-webchat';
9
- import { SessionView } from './session-view';
10
- import { Webchat } from './webchat';
11
- export const DebugTab = styled.div `
12
- position: fixed;
13
- left: 0;
14
- top: 0;
15
- width: ${props => (props.show ? '350px' : '32px')};
16
- height: ${props => (props.show ? '100%' : '42px')};
17
- `;
18
- // We want the debug tab to be rendered in the <body> even if the
19
- // webchat is being rendered in a shadowDOM, that's why we need a portal
20
- export const DebugTabPortal = (_a) => {
21
- var { webchatHooks } = _a, props = __rest(_a, ["webchatHooks"]);
22
- return createPortal(_jsx(DebugTab, Object.assign({}, props, { children: _jsx(SessionView, { webchatHooks: webchatHooks }) })), document.body);
23
- };
24
- const initialSession = {
25
- is_first_interaction: true,
26
- last_session: {},
27
- user: {
28
- id: '000001',
29
- username: 'johndoe',
30
- name: 'John Doe',
31
- provider: PROVIDER.DEV,
32
- provider_id: '0000000',
33
- extra_data: {},
34
- },
35
- organization: '',
36
- bot: {
37
- id: '0000000',
38
- name: 'botName',
39
- },
40
- };
41
- // eslint-disable-next-line react/display-name
42
- export const WebchatDev = forwardRef((props, ref) => {
43
- const webchatHooks = useWebchat();
44
- const { webchatState, updateTheme } = webchatHooks;
45
- /* TODO: webchatState.theme should be included in the dependencies array
46
- together with props.theme. The problem is that this effect modifies webchatState
47
- so we enter an infinite rerender loop. */
48
- useEffect(() => {
49
- updateTheme(merge(webchatState.theme, props.theme));
50
- }, [props.theme]);
51
- return (_jsxs(_Fragment, { children: [_jsx(Webchat, Object.assign({ style: { flex: 1, position: 'relative' } }, props, { ref: ref, webchatHooks: webchatHooks, initialSession: initialSession, initialDevSettings: {
52
- keepSessionOnReload: webchatState.devSettings.keepSessionOnReload,
53
- showSessionView: webchatState.devSettings.showSessionView,
54
- } })), _jsx(DebugTabPortal, { show: webchatState.devSettings.showSessionView, webchatHooks: webchatHooks })] }));
55
- });
56
- //# sourceMappingURL=webchat-dev.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat-dev.js","sourceRoot":"","sources":["../../../src/webchat/webchat-dev.jsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAA;;;;WAIvB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACvC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;CAClD,CAAA;AAED,iEAAiE;AACjE,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAA0B,EAAE,EAAE;QAA9B,EAAE,YAAY,OAAY,EAAP,KAAK,cAAxB,gBAA0B,CAAF;IACrD,OAAA,YAAY,CACV,KAAC,QAAQ,oBAAK,KAAK,cACjB,KAAC,WAAW,IAAC,YAAY,EAAE,YAAY,GAAI,IAClC,EACX,QAAQ,CAAC,IAAI,CACd,CAAA;CAAA,CAAA;AAEH,MAAM,cAAc,GAAG;IACrB,oBAAoB,EAAE,IAAI;IAC1B,YAAY,EAAE,EAAE;IAChB,IAAI,EAAE;QACJ,EAAE,EAAE,QAAQ;QACZ,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,QAAQ,CAAC,GAAG;QACtB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,EAAE;KACf;IACD,YAAY,EAAE,EAAE;IAChB,GAAG,EAAE;QACH,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;KAChB;CACF,CAAA;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClD,MAAM,YAAY,GAAG,UAAU,EAAE,CAAA;IACjC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,YAAY,CAAA;IAElD;;6CAEyC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IACrD,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAEjB,OAAO,CACL,8BACE,KAAC,OAAO,kBACN,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IACpC,KAAK,IACT,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,kBAAkB,EAAE;oBAClB,mBAAmB,EAAE,YAAY,CAAC,WAAW,CAAC,mBAAmB;oBACjE,eAAe,EAAE,YAAY,CAAC,WAAW,CAAC,eAAe;iBAC1D,IACD,EACF,KAAC,cAAc,IACb,IAAI,EAAE,YAAY,CAAC,WAAW,CAAC,eAAe,EAC9C,YAAY,EAAE,YAAY,GAC1B,IACD,CACJ,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { WebchatProps, WebchatRef } from '../index-types';
3
- declare const Webchat: React.ForwardRefExoticComponent<WebchatProps & React.RefAttributes<WebchatRef | null>>;
4
- export { Webchat };
@@ -1,522 +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 { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from 'react';
6
- import { StyleSheetManager } from 'styled-components';
7
- import { v7 as uuidv7 } from 'uuid';
8
- import { Audio, Document, Handoff, Image, normalizeWebchatSettings, Text, Video, } from '../components';
9
- import { COLORS, MAX_ALLOWED_SIZE_MB, ROLES, WEBCHAT } from '../constants';
10
- import { WebviewRequestContext } from '../contexts';
11
- import { SENDERS } from '../index-types';
12
- import { getMediaType, isAllowedSize, isAudio, isDocument, isImage, isMedia, isText, isVideo, readDataURL, } from '../message-utils';
13
- import { msgToBotonic } from '../msg-to-botonic';
14
- import { isDev } from '../util/environment';
15
- import { deserializeRegex, stringifyWithRegexs } from '../util/regexs';
16
- import { _getThemeProperty, getServerErrorMessage, initSession, shouldKeepSessionOnReload, } from '../util/webchat';
17
- import { ChatArea } from './chat-area';
18
- import { OpenedPersistentMenu } from './components/opened-persistent-menu';
19
- import { BotonicContainerId } from './constants';
20
- import { useWebchat, WebchatContext } from './context';
21
- import { CoverComponent } from './cover-component';
22
- import { WebchatHeader } from './header';
23
- import { useComponentWillMount, usePrevious, useScrollToBottom, useTyping, } from './hooks';
24
- import { InputPanel } from './input-panel';
25
- import { DarkBackgroundMenu, ErrorMessage, ErrorMessageContainer, StyledWebchat, } from './styles';
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
- // eslint-disable-next-line complexity, react/display-name
31
- const Webchat = forwardRef((props, ref) => {
32
- var _a;
33
- const { addMessage, addMessageComponent, clearMessages, doRenderCustomComponent, resetUnreadMessages, setCurrentAttachment, setError, setIsInputFocused, setLastMessageVisible, setOnline, toggleCoverComponent, toggleEmojiPicker, togglePersistentMenu, toggleWebchat, updateDevSettings, updateHandoff, updateLastMessageDate, updateLastRoutePath, updateLatestInput, updateMessage, updateReplies, updateSession, updateTheme, updateTyping, updateWebview, removeWebview, removeReplies, webchatState, webchatRef, chatAreaRef, inputPanelRef, headerRef, repliesRef, scrollableMessagesListRef,
34
- // eslint-disable-next-line react-hooks/rules-of-hooks
35
- } = props.webchatHooks || useWebchat();
36
- const firstUpdate = useRef(true);
37
- const isOnline = () => webchatState.online;
38
- const currentDateString = () => new Date().toISOString();
39
- const theme = merge(webchatState.theme, props.theme);
40
- const { initialSession, initialDevSettings, onStateChange } = props;
41
- const getThemeProperty = _getThemeProperty(theme);
42
- const [customComponent, setCustomComponent] = useState(null);
43
- const storage = props.storage;
44
- const storageKey = typeof props.storageKey === 'function'
45
- ? props.storageKey()
46
- : props.storageKey;
47
- const [botonicState, saveState] = useStorageState(storage, storageKey);
48
- const host = props.host || document.body;
49
- const { scrollToBottom } = useScrollToBottom({ host });
50
- const saveWebchatState = (webchatState) => {
51
- storage &&
52
- saveState(JSON.parse(stringifyWithRegexs({
53
- messages: webchatState.messagesJSON,
54
- session: webchatState.session,
55
- lastRoutePath: webchatState.lastRoutePath,
56
- devSettings: webchatState.devSettings,
57
- lastMessageUpdate: webchatState.lastMessageUpdate,
58
- themeUpdates: webchatState.themeUpdates,
59
- })));
60
- };
61
- const handleAttachment = (event) => {
62
- if (!isAllowedSize(event.target.files[0].size)) {
63
- throw new Error(`The file is too large. A maximum of ${MAX_ALLOWED_SIZE_MB}MB is allowed.`);
64
- }
65
- // TODO: Attach more files?
66
- setCurrentAttachment(event.target.files[0]);
67
- };
68
- useEffect(() => {
69
- if (webchatState.currentAttachment) {
70
- sendAttachment(webchatState.currentAttachment);
71
- }
72
- }, [webchatState.currentAttachment]);
73
- const sendUserInput = (input) => __awaiter(void 0, void 0, void 0, function* () {
74
- if (props.onUserInput) {
75
- resetUnreadMessages();
76
- scrollToBottom();
77
- props.onUserInput({
78
- user: webchatState.session.user,
79
- // TODO: Review if this input.sentBy exists in the frontend
80
- input: input,
81
- //@ts-ignore
82
- session: webchatState.session,
83
- // TODO: Review why we were passing lastRoutePath, is only for devMode?
84
- lastRoutePath: webchatState.lastRoutePath,
85
- });
86
- }
87
- });
88
- // Load styles stored in window._botonicInsertStyles by Webpack
89
- useComponentWillMount(() => {
90
- if (window._botonicInsertStyles && window._botonicInsertStyles.length) {
91
- for (const botonicStyle of window._botonicInsertStyles) {
92
- // Injecting styles at head is needed even if we use shadowDOM
93
- // as some dependencies like simplebar rely on creating ephemeral elements
94
- // on document.body and assume styles will be available globally
95
- document.head.appendChild(botonicStyle);
96
- // injecting styles in host node too so that shadowDOM works
97
- if (props.shadowDOM)
98
- host.appendChild(botonicStyle.cloneNode(true));
99
- }
100
- delete window._botonicInsertStyles;
101
- }
102
- if (props.shadowDOM) {
103
- // emoji-picker-react injects styles in head, so we need to
104
- // re-inject them in our host node to make it work with shadowDOM
105
- for (const style of document.querySelectorAll('style')) {
106
- if (style.textContent &&
107
- style.textContent.includes('emoji-picker-react'))
108
- host.appendChild(style.cloneNode(true));
109
- }
110
- }
111
- });
112
- // Load initial state from storage
113
- useEffect(() => {
114
- let { messages, session, lastRoutePath, devSettings, lastMessageUpdate, themeUpdates, } = botonicState || {};
115
- session = initSession(session);
116
- updateSession(session);
117
- if (shouldKeepSessionOnReload({ initialDevSettings, devSettings })) {
118
- if (messages) {
119
- messages.forEach(message => {
120
- var _a, _b, _c;
121
- addMessage(message);
122
- const newMessageComponent = msgToBotonic(Object.assign(Object.assign({}, message), { delay: 0, typing: 0 }), ((_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.customTypes) || ((_c = props.theme) === null || _c === void 0 ? void 0 : _c.customMessageTypes));
123
- //@ts-ignore
124
- if (newMessageComponent)
125
- addMessageComponent(newMessageComponent);
126
- });
127
- }
128
- if (initialSession)
129
- updateSession(merge(initialSession, session));
130
- if (lastRoutePath)
131
- updateLastRoutePath(lastRoutePath);
132
- }
133
- else
134
- updateSession(merge(initialSession, session));
135
- if (devSettings)
136
- updateDevSettings(devSettings);
137
- else if (initialDevSettings)
138
- updateDevSettings(initialDevSettings);
139
- if (lastMessageUpdate) {
140
- updateLastMessageDate(lastMessageUpdate);
141
- }
142
- if (themeUpdates !== undefined) {
143
- updateTheme(merge(props.theme, themeUpdates), themeUpdates);
144
- }
145
- if (props.onInit) {
146
- setTimeout(() => props.onInit && props.onInit(), 100);
147
- }
148
- }, []);
149
- useEffect(() => {
150
- if (!webchatState.isWebchatOpen) {
151
- if (webchatState.isLastMessageVisible) {
152
- resetUnreadMessages();
153
- }
154
- return;
155
- }
156
- }, [webchatState.isWebchatOpen]);
157
- useEffect(() => {
158
- const { messagesJSON, session } = webchatState;
159
- if (onStateChange && typeof onStateChange === 'function' && session.user) {
160
- onStateChange({ messagesJSON, user: session.user });
161
- }
162
- saveWebchatState(webchatState);
163
- }, [
164
- webchatState.messagesJSON,
165
- webchatState.session,
166
- webchatState.lastRoutePath,
167
- webchatState.devSettings,
168
- webchatState.lastMessageUpdate,
169
- ]);
170
- useEffect(() => {
171
- if (!webchatState.online) {
172
- setError({
173
- message: getServerErrorMessage(props.server),
174
- });
175
- }
176
- else {
177
- if (!firstUpdate.current) {
178
- setError(undefined);
179
- }
180
- }
181
- }, [webchatState.online]);
182
- useTyping({ webchatState, updateTyping, updateMessage, host });
183
- useEffect(() => {
184
- updateTheme(merge(props.theme, theme, webchatState.themeUpdates));
185
- }, [props.theme, webchatState.themeUpdates]);
186
- const openWebview = (webviewComponent, params) => {
187
- updateWebview(webviewComponent, params);
188
- };
189
- const textareaRef = useRef();
190
- const closeWebview = (options) => __awaiter(void 0, void 0, void 0, function* () {
191
- var _b;
192
- removeWebview();
193
- if (userInputEnabled) {
194
- (_b = textareaRef.current) === null || _b === void 0 ? void 0 : _b.focus();
195
- }
196
- if (options === null || options === void 0 ? void 0 : options.payload) {
197
- yield sendPayload(options.payload);
198
- }
199
- else if (options === null || options === void 0 ? void 0 : options.path) {
200
- const params = options.params ? params2queryString(options.params) : '';
201
- yield sendPayload(`__PATH_PAYLOAD__${options.path}?${params}`);
202
- }
203
- });
204
- const persistentMenuOptions = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.persistentMenu, props.persistentMenu);
205
- const darkBackgroundMenu = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.darkBackgroundMenu, false);
206
- const getBlockInputs = (rule, inputData) => {
207
- const processedInput = rule.preprocess
208
- ? rule.preprocess(inputData)
209
- : inputData;
210
- return rule.match.some(regex => {
211
- if (typeof regex === 'string')
212
- regex = deserializeRegex(regex);
213
- return regex.test(processedInput);
214
- });
215
- };
216
- const checkBlockInput = input => {
217
- // if is a text we check if it is a serialized RE
218
- const blockInputs = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.blockInputs, props.blockInputs);
219
- if (!Array.isArray(blockInputs))
220
- return false;
221
- for (const rule of blockInputs) {
222
- if (getBlockInputs(rule, input.data)) {
223
- addMessageComponent(_jsx(Text
224
- // Is necessary to add the id of the input
225
- // to keep the input.id generated in the frontend as id of the message
226
- // @ts-ignore
227
- , Object.assign({
228
- // Is necessary to add the id of the input
229
- // to keep the input.id generated in the frontend as id of the message
230
- // @ts-ignore
231
- id: input.id, sentBy: SENDERS.user, blob: false, style: {
232
- backgroundColor: COLORS.SCORPION_GRAY,
233
- borderColor: COLORS.SCORPION_GRAY,
234
- padding: '8px 12px',
235
- } }, { children: rule.message })));
236
- removeReplies();
237
- return true;
238
- }
239
- }
240
- return false;
241
- };
242
- const closeMenu = () => {
243
- togglePersistentMenu(false);
244
- };
245
- const persistentMenu = () => {
246
- return (_jsx(OpenedPersistentMenu, { onClick: closeMenu, options: persistentMenuOptions, borderRadius: webchatState.theme.style.borderRadius || '10px' }));
247
- };
248
- const getCoverComponent = () => {
249
- return getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.coverComponent, props.coverComponent &&
250
- (props.coverComponent.component || props.coverComponent));
251
- };
252
- const coverComponent = getCoverComponent();
253
- const coverComponentProps = (_a = props.coverComponent) === null || _a === void 0 ? void 0 : _a.props;
254
- useEffect(() => {
255
- if (!coverComponent)
256
- return;
257
- if (!botonicState ||
258
- (botonicState.messages && botonicState.messages.length === 0))
259
- toggleCoverComponent(true);
260
- }, []);
261
- const messageComponentFromInput = input => {
262
- let messageComponent = null;
263
- if (isText(input)) {
264
- messageComponent = (_jsx(Text
265
- // Is necessary to add the id of the input
266
- // to keep the input.id generated in the frontend as id of the message
267
- // @ts-ignore
268
- , Object.assign({
269
- // Is necessary to add the id of the input
270
- // to keep the input.id generated in the frontend as id of the message
271
- // @ts-ignore
272
- id: input.id,
273
- // Is necessary to add the payload of the input when user clicks a button
274
- // @ts-ignore
275
- payload: input.payload, sentBy: SENDERS.user }, { children: input.data })));
276
- }
277
- else if (isMedia(input)) {
278
- const temporaryDisplayUrl = URL.createObjectURL(input.data);
279
- // TODO: We sould use URL.revokeObjectURL(temporaryDisplayUrl) when the component is unmounted
280
- // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL_static#memory_management
281
- const mediaProps = {
282
- id: input.id,
283
- sentBy: SENDERS.user,
284
- src: temporaryDisplayUrl,
285
- };
286
- if (isImage(input)) {
287
- mediaProps.input = input;
288
- messageComponent = _jsx(Image, Object.assign({}, mediaProps));
289
- }
290
- else if (isAudio(input))
291
- messageComponent = _jsx(Audio, Object.assign({}, mediaProps));
292
- else if (isVideo(input))
293
- messageComponent = _jsx(Video, Object.assign({}, mediaProps));
294
- else if (isDocument(input))
295
- messageComponent = _jsx(Document, Object.assign({}, mediaProps));
296
- }
297
- return messageComponent;
298
- };
299
- const sendInput = (input) => __awaiter(void 0, void 0, void 0, function* () {
300
- if (!input || Object.keys(input).length == 0)
301
- return;
302
- if (isText(input) && (!input.data || !input.data.trim()))
303
- return; // in case trim() doesn't work in a browser we can use !/\S/.test(input.data)
304
- if (isText(input) && checkBlockInput(input))
305
- return;
306
- if (!input.id)
307
- input.id = uuidv7();
308
- const messageComponent = messageComponentFromInput(input);
309
- if (messageComponent)
310
- addMessageComponent(messageComponent);
311
- if (isMedia(input))
312
- input.data = yield readDataURL(input.data);
313
- sendUserInput(input);
314
- updateLatestInput(input);
315
- isOnline() && updateLastMessageDate(currentDateString());
316
- removeReplies();
317
- togglePersistentMenu(false);
318
- toggleEmojiPicker(false);
319
- });
320
- /* This is the public API this component exposes to its parents
321
- https://stackoverflow.com/questions/37949981/call-child-method-from-parent
322
- */
323
- const updateSessionWithUser = (userToUpdate) => updateSession(merge(webchatState.session, { user: userToUpdate }));
324
- useImperativeHandle(ref, () => ({
325
- addBotResponse: ({ response, session, lastRoutePath }) => {
326
- updateTyping(false);
327
- const isUnread = !webchatState.isLastMessageVisible || webchatState.numUnreadMessages > 0;
328
- if (Array.isArray(response)) {
329
- response.forEach(r => {
330
- addMessageComponent(Object.assign(Object.assign({}, r), { props: Object.assign(Object.assign({}, r.props), { isUnread }) }));
331
- });
332
- }
333
- else if (response) {
334
- addMessageComponent(Object.assign(Object.assign({}, response), { props: Object.assign(Object.assign({}, response.props), { isUnread }) }));
335
- }
336
- if (session) {
337
- updateSession(merge(session, { user: webchatState.session.user }));
338
- const action = session._botonic_action || '';
339
- const handoff = action.startsWith(BotonicAction.CreateCase);
340
- if (handoff && isDev)
341
- addMessageComponent(_jsx(Handoff, {}));
342
- updateHandoff(handoff);
343
- }
344
- if (lastRoutePath)
345
- updateLastRoutePath(lastRoutePath);
346
- updateLastMessageDate(currentDateString());
347
- },
348
- setTyping: (typing) => updateTyping(typing),
349
- addUserMessage: message => sendInput(message),
350
- updateUser: updateSessionWithUser,
351
- openWebchat: () => toggleWebchat(true),
352
- closeWebchat: () => toggleWebchat(false),
353
- toggleWebchat: () => toggleWebchat(!webchatState.isWebchatOpen),
354
- openCoverComponent: () => toggleCoverComponent(true),
355
- closeCoverComponent: () => toggleCoverComponent(false),
356
- renderCustomComponent: _customComponent => {
357
- setCustomComponent(_customComponent);
358
- doRenderCustomComponent(true);
359
- },
360
- unmountCustomComponent: () => doRenderCustomComponent(false),
361
- toggleCoverComponent: () => toggleCoverComponent(!webchatState.isCoverComponentOpen),
362
- setOnline,
363
- getMessages: () => webchatState.messagesJSON,
364
- isOnline,
365
- clearMessages: () => {
366
- clearMessages();
367
- removeReplies();
368
- },
369
- getLastMessageUpdate: () => webchatState.lastMessageUpdate,
370
- updateMessageInfo: (msgId, messageInfo) => {
371
- const messageToUpdate = webchatState.messagesJSON.filter(m => m.id === msgId)[0];
372
- const updatedMsg = merge(messageToUpdate, messageInfo);
373
- if (updatedMsg.ack === 1)
374
- delete updatedMsg.unsentInput;
375
- updateMessage(updatedMsg);
376
- },
377
- updateWebchatSettings: (settings) => {
378
- if (settings.user) {
379
- updateSessionWithUser(settings.user);
380
- }
381
- const themeUpdates = normalizeWebchatSettings(settings);
382
- updateTheme(merge(webchatState.theme, themeUpdates), themeUpdates);
383
- updateTyping(false);
384
- },
385
- closeWebview: (options) => __awaiter(void 0, void 0, void 0, function* () { return closeWebview(options); }),
386
- }));
387
- const resolveCase = () => {
388
- updateHandoff(false);
389
- updateSession(Object.assign(Object.assign({}, webchatState.session), { _botonic_action: undefined }));
390
- };
391
- const prevSession = usePrevious(webchatState.session);
392
- useEffect(() => {
393
- // Resume conversation after handoff
394
- if ((prevSession === null || prevSession === void 0 ? void 0 : prevSession._botonic_action) && !webchatState.session._botonic_action) {
395
- const action = getParsedAction(prevSession._botonic_action);
396
- if (action === null || action === void 0 ? void 0 : action.on_finish)
397
- sendPayload(action.on_finish);
398
- }
399
- }, [webchatState.session._botonic_action]);
400
- const sendText = (text, payload) => __awaiter(void 0, void 0, void 0, function* () {
401
- if (!text)
402
- return;
403
- const input = { type: INPUT.TEXT, data: text, payload };
404
- yield sendInput(input);
405
- });
406
- const sendPayload = (payload) => __awaiter(void 0, void 0, void 0, function* () {
407
- if (!payload)
408
- return;
409
- const input = { type: INPUT.POSTBACK, payload };
410
- yield sendInput(input);
411
- });
412
- const sendAttachment = (attachment) => __awaiter(void 0, void 0, void 0, function* () {
413
- if (attachment) {
414
- const attachmentType = getMediaType(attachment.type);
415
- if (!attachmentType)
416
- return;
417
- const input = {
418
- type: attachmentType,
419
- data: attachment,
420
- };
421
- yield sendInput(input);
422
- setCurrentAttachment();
423
- }
424
- });
425
- const webviewRequestContext = {
426
- closeWebview: (options) => __awaiter(void 0, void 0, void 0, function* () { return yield closeWebview(options); }),
427
- params: webchatState.webviewParams || {},
428
- session: webchatState.session || {},
429
- };
430
- useEffect(() => {
431
- if (firstUpdate.current) {
432
- firstUpdate.current = false;
433
- return;
434
- }
435
- if (webchatState.isWebchatOpen && props.onOpen)
436
- props.onOpen();
437
- if (!webchatState.isWebchatOpen && props.onClose && !firstUpdate.current) {
438
- props.onClose();
439
- toggleEmojiPicker(false);
440
- togglePersistentMenu(false);
441
- }
442
- }, [webchatState.isWebchatOpen]);
443
- const isUserInputEnabled = () => {
444
- const isUserInputEnabled = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.enableUserInput, props.enableUserInput !== undefined ? props.enableUserInput : true);
445
- return isUserInputEnabled && !webchatState.isCoverComponentOpen;
446
- };
447
- const userInputEnabled = isUserInputEnabled();
448
- 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 }) })));
449
- let mobileStyle = {};
450
- if (isMobile(getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.mobileBreakpoint))) {
451
- mobileStyle = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.mobileStyle) || {
452
- width: '100%',
453
- height: '100%',
454
- right: 0,
455
- bottom: 0,
456
- borderRadius: 0,
457
- };
458
- }
459
- useEffect(() => {
460
- // Prod mode
461
- saveWebchatState(webchatState);
462
- }, [webchatState.themeUpdates]);
463
- // Only needed for dev/serve mode
464
- const updateWebchatDevSettings = settings => {
465
- // eslint-disable-next-line react-hooks/rules-of-hooks
466
- useEffect(() => {
467
- const themeUpdates = normalizeWebchatSettings(settings);
468
- updateTheme(merge(webchatState.theme, themeUpdates), themeUpdates);
469
- }, [webchatState.messagesJSON]);
470
- };
471
- const DarkenBackground = ({ component }) => {
472
- return (_jsxs("div", { children: [darkBackgroundMenu && (_jsx(DarkBackgroundMenu, { style: {
473
- borderRadius: webchatState.theme.style.borderRadius,
474
- } })), component] }));
475
- };
476
- const _renderCustomComponent = () => {
477
- if (!customComponent)
478
- return _jsx(_Fragment, {});
479
- else
480
- return customComponent;
481
- };
482
- const WebchatComponent = (_jsxs(WebchatContext.Provider, Object.assign({ value: {
483
- addMessage,
484
- getThemeProperty,
485
- openWebview,
486
- resolveCase,
487
- resetUnreadMessages,
488
- setIsInputFocused,
489
- setLastMessageVisible,
490
- sendAttachment,
491
- sendInput,
492
- sendPayload,
493
- sendText,
494
- toggleWebchat,
495
- toggleEmojiPicker,
496
- togglePersistentMenu,
497
- toggleCoverComponent,
498
- updateLatestInput,
499
- updateMessage,
500
- updateReplies,
501
- updateUser: updateSessionWithUser,
502
- updateWebchatDevSettings: updateWebchatDevSettings,
503
- trackEvent: props.onTrackEvent,
504
- webchatState,
505
- // TODO: Review if need theme inside Context, already exist innside webchatState
506
- theme,
507
- webchatRef,
508
- chatAreaRef,
509
- inputPanelRef,
510
- headerRef,
511
- repliesRef,
512
- scrollableMessagesListRef,
513
- } }, { children: [!webchatState.isWebchatOpen && _jsx(TriggerButton, {}), webchatState.isWebchatOpen && (_jsxs(StyledWebchat, Object.assign({ id: BotonicContainerId.Webchat, ref: webchatRef,
514
- // TODO: Distinguish between multiple instances of webchat, e.g. `${uniqueId}-botonic-webchat`
515
- role: ROLES.WEBCHAT, width: webchatState.width, height: webchatState.height, style: Object.assign(Object.assign({}, webchatState.theme.style), mobileStyle) }, { children: [_jsx(WebchatHeader, { ref: headerRef }), 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 &&
516
- customComponent &&
517
- _renderCustomComponent()] }))] })))] })));
518
- return props.shadowDOM ? (_jsx(StyleSheetManager, Object.assign({ target: host }, { children: WebchatComponent }))) : (WebchatComponent);
519
- });
520
- Webchat.displayName = 'Webchat';
521
- export { Webchat };
522
- //# sourceMappingURL=webchat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../src/webchat/webchat.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export function WebviewHeader(): import("react/jsx-runtime").JSX.Element;
2
- export function WebviewContainer(props: any): import("react/jsx-runtime").JSX.Element;