@botonic/react 0.36.0-alpha.0 → 0.36.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 (707) hide show
  1. package/lib/cjs/components/audio.d.ts +8 -7
  2. package/lib/cjs/components/audio.js +7 -4
  3. package/lib/cjs/components/audio.js.map +1 -1
  4. package/lib/cjs/components/{button.d.ts → button/index.d.ts} +4 -5
  5. package/lib/cjs/components/{button.js → button/index.js} +26 -57
  6. package/lib/cjs/components/button/index.js.map +1 -0
  7. package/lib/cjs/components/button/styles.d.ts +2 -0
  8. package/lib/cjs/components/button/styles.js +40 -0
  9. package/lib/cjs/components/button/styles.js.map +1 -0
  10. package/lib/cjs/components/buttons-disabler.d.ts +20 -23
  11. package/lib/cjs/components/buttons-disabler.js +11 -26
  12. package/lib/cjs/components/buttons-disabler.js.map +1 -1
  13. package/lib/cjs/components/carousel.d.ts +8 -9
  14. package/lib/cjs/components/carousel.js +28 -24
  15. package/lib/cjs/components/carousel.js.map +1 -1
  16. package/lib/cjs/components/custom-message.d.ts +16 -12
  17. package/lib/cjs/components/custom-message.js +3 -9
  18. package/lib/cjs/components/custom-message.js.map +1 -1
  19. package/lib/cjs/components/document.d.ts +8 -7
  20. package/lib/cjs/components/document.js +5 -5
  21. package/lib/cjs/components/document.js.map +1 -1
  22. package/lib/cjs/components/element.d.ts +7 -3
  23. package/lib/cjs/components/element.js +12 -12
  24. package/lib/cjs/components/element.js.map +1 -1
  25. package/lib/cjs/components/handoff.d.ts +1 -1
  26. package/lib/cjs/components/handoff.js +2 -2
  27. package/lib/cjs/components/handoff.js.map +1 -1
  28. package/lib/cjs/components/image.d.ts +8 -7
  29. package/lib/cjs/components/image.js +6 -6
  30. package/lib/cjs/components/image.js.map +1 -1
  31. package/lib/cjs/components/index-types.d.ts +31 -132
  32. package/lib/cjs/components/index.d.ts +8 -2
  33. package/lib/cjs/components/index.js +16 -3
  34. package/lib/cjs/components/index.js.map +1 -1
  35. package/lib/cjs/components/message/index.js +9 -8
  36. package/lib/cjs/components/message/index.js.map +1 -1
  37. package/lib/cjs/components/message/message-feedback.d.ts +1 -1
  38. package/lib/cjs/components/message/message-feedback.js +9 -20
  39. package/lib/cjs/components/message/message-feedback.js.map +1 -1
  40. package/lib/cjs/components/message/message-footer.d.ts +1 -1
  41. package/lib/cjs/components/message/message-footer.js +4 -4
  42. package/lib/cjs/components/message/message-footer.js.map +1 -1
  43. package/lib/cjs/components/message/message-image.js +3 -3
  44. package/lib/cjs/components/message/message-image.js.map +1 -1
  45. package/lib/cjs/components/message/styles.d.ts +11 -11
  46. package/lib/cjs/components/message/timestamps.d.ts +1 -1
  47. package/lib/cjs/components/message/timestamps.js +3 -3
  48. package/lib/cjs/components/message/timestamps.js.map +1 -1
  49. package/lib/cjs/components/multichannel/index-types.d.ts +0 -4
  50. package/lib/cjs/components/multichannel/multichannel-button.d.ts +1 -1
  51. package/lib/cjs/components/multichannel/multichannel-button.js +5 -5
  52. package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -1
  53. package/lib/cjs/components/multichannel/multichannel-carousel.d.ts +1 -1
  54. package/lib/cjs/components/multichannel/multichannel-carousel.js +59 -62
  55. package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -1
  56. package/lib/cjs/components/multichannel/multichannel-context.d.ts +0 -3
  57. package/lib/cjs/components/multichannel/multichannel-context.js +0 -3
  58. package/lib/cjs/components/multichannel/multichannel-context.js.map +1 -1
  59. package/lib/cjs/components/multichannel/multichannel-reply.d.ts +1 -1
  60. package/lib/cjs/components/multichannel/multichannel-text.d.ts +1 -1
  61. package/lib/cjs/components/multichannel/multichannel-text.js +19 -15
  62. package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -1
  63. package/lib/cjs/components/multichannel/multichannel-utils.d.ts +9 -15
  64. package/lib/cjs/components/multichannel/multichannel-utils.js +48 -27
  65. package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -1
  66. package/lib/cjs/components/multichannel/multichannel.js +7 -7
  67. package/lib/cjs/components/multichannel/multichannel.js.map +1 -1
  68. package/lib/cjs/components/multichannel/whatsapp/constants.d.ts +11 -0
  69. package/lib/cjs/components/multichannel/whatsapp/constants.js +13 -0
  70. package/lib/cjs/components/multichannel/whatsapp/constants.js.map +1 -0
  71. package/lib/cjs/components/pic.d.ts +8 -5
  72. package/lib/cjs/components/pic.js +8 -8
  73. package/lib/cjs/components/pic.js.map +1 -1
  74. package/lib/cjs/components/raw.d.ts +1 -1
  75. package/lib/cjs/components/reply.d.ts +7 -6
  76. package/lib/cjs/components/reply.js +13 -7
  77. package/lib/cjs/components/reply.js.map +1 -1
  78. package/lib/cjs/components/subtitle.d.ts +9 -5
  79. package/lib/cjs/components/subtitle.js +6 -7
  80. package/lib/cjs/components/subtitle.js.map +1 -1
  81. package/lib/cjs/components/text.d.ts +1 -1
  82. package/lib/cjs/components/title.d.ts +9 -5
  83. package/lib/cjs/components/title.js +6 -7
  84. package/lib/cjs/components/title.js.map +1 -1
  85. package/lib/cjs/components/video.d.ts +8 -7
  86. package/lib/cjs/components/video.js +2 -3
  87. package/lib/cjs/components/video.js.map +1 -1
  88. package/lib/cjs/components/webchat-settings.d.ts +18 -2
  89. package/lib/cjs/components/webchat-settings.js +2 -2
  90. package/lib/cjs/components/webchat-settings.js.map +1 -1
  91. package/lib/cjs/components/whatsapp-button-list.js +6 -6
  92. package/lib/cjs/components/whatsapp-button-list.js.map +1 -1
  93. package/lib/cjs/components/whatsapp-catalog.d.ts +6 -0
  94. package/lib/cjs/components/whatsapp-catalog.js +25 -0
  95. package/lib/cjs/components/whatsapp-catalog.js.map +1 -0
  96. package/lib/cjs/components/whatsapp-cta-url-button.js +6 -6
  97. package/lib/cjs/components/whatsapp-cta-url-button.js.map +1 -1
  98. package/lib/cjs/components/whatsapp-media-carousel.d.ts +46 -0
  99. package/lib/cjs/components/whatsapp-media-carousel.js +40 -0
  100. package/lib/cjs/components/whatsapp-media-carousel.js.map +1 -0
  101. package/lib/cjs/components/whatsapp-product-carousel.d.ts +32 -0
  102. package/lib/cjs/components/whatsapp-product-carousel.js +34 -0
  103. package/lib/cjs/components/whatsapp-product-carousel.js.map +1 -0
  104. package/lib/cjs/components/whatsapp-product-list.d.ts +15 -0
  105. package/lib/cjs/components/whatsapp-product-list.js +26 -0
  106. package/lib/cjs/components/whatsapp-product-list.js.map +1 -0
  107. package/lib/cjs/components/whatsapp-product.d.ts +7 -0
  108. package/lib/cjs/components/whatsapp-product.js +25 -0
  109. package/lib/cjs/components/whatsapp-product.js.map +1 -0
  110. package/lib/cjs/constants.d.ts +0 -18
  111. package/lib/cjs/constants.js +1 -19
  112. package/lib/cjs/constants.js.map +1 -1
  113. package/lib/cjs/contexts.d.ts +10 -11
  114. package/lib/cjs/contexts.js +15 -78
  115. package/lib/cjs/contexts.js.map +1 -1
  116. package/lib/cjs/dev-app.d.ts +7 -0
  117. package/lib/cjs/dev-app.js +8 -13
  118. package/lib/cjs/dev-app.js.map +1 -1
  119. package/lib/cjs/index-types.d.ts +85 -77
  120. package/lib/cjs/index-types.js.map +1 -1
  121. package/lib/cjs/index.d.ts +1 -1
  122. package/lib/cjs/index.js +1 -2
  123. package/lib/cjs/index.js.map +1 -1
  124. package/lib/cjs/msg-to-botonic.d.ts +1 -1
  125. package/lib/cjs/msg-to-botonic.js +9 -12
  126. package/lib/cjs/msg-to-botonic.js.map +1 -1
  127. package/lib/cjs/react-bot.d.ts +16 -6
  128. package/lib/cjs/react-bot.js +5 -6
  129. package/lib/cjs/react-bot.js.map +1 -1
  130. package/lib/cjs/shared/styles.d.ts +2 -2
  131. package/lib/cjs/time-zone-to-country-code.d.ts +1 -0
  132. package/lib/cjs/time-zone-to-country-code.js +108 -0
  133. package/lib/cjs/time-zone-to-country-code.js.map +1 -0
  134. package/lib/cjs/util/error-boundary.d.ts +1 -1
  135. package/lib/cjs/util/functional.d.ts +3 -0
  136. package/lib/cjs/util/functional.js +30 -0
  137. package/lib/cjs/util/functional.js.map +1 -0
  138. package/lib/cjs/util/react.d.ts +1 -1
  139. package/lib/cjs/util/webchat.d.ts +19 -6
  140. package/lib/cjs/util/webchat.js +44 -8
  141. package/lib/cjs/util/webchat.js.map +1 -1
  142. package/lib/cjs/webchat/chat-area/index.d.ts +1 -1
  143. package/lib/cjs/webchat/chat-area/index.js +3 -3
  144. package/lib/cjs/webchat/chat-area/index.js.map +1 -1
  145. package/lib/cjs/webchat/chat-area/styles.d.ts +1 -1
  146. package/lib/cjs/webchat/components/common.d.ts +1 -1
  147. package/lib/cjs/webchat/components/conditional-animation.d.ts +1 -1
  148. package/lib/cjs/webchat/components/conditional-animation.js +3 -3
  149. package/lib/cjs/webchat/components/conditional-animation.js.map +1 -1
  150. package/lib/cjs/webchat/components/opened-persistent-menu.d.ts +1 -1
  151. package/lib/cjs/webchat/components/opened-persistent-menu.js +6 -6
  152. package/lib/cjs/webchat/components/opened-persistent-menu.js.map +1 -1
  153. package/lib/{esm/webchat → cjs/webchat/context}/actions.d.ts +4 -1
  154. package/lib/cjs/webchat/{actions.js → context/actions.js} +4 -0
  155. package/lib/cjs/webchat/context/actions.js.map +1 -0
  156. package/lib/cjs/webchat/context/index.d.ts +5 -0
  157. package/lib/cjs/webchat/context/index.js +83 -0
  158. package/lib/cjs/webchat/context/index.js.map +1 -0
  159. package/lib/cjs/webchat/{messages-reducer.d.ts → context/messages-reducer.d.ts} +1 -1
  160. package/lib/cjs/webchat/{messages-reducer.js → context/messages-reducer.js} +3 -1
  161. package/lib/cjs/webchat/context/messages-reducer.js.map +1 -0
  162. package/lib/cjs/webchat/context/types.d.ts +83 -0
  163. package/lib/cjs/webchat/context/types.js +3 -0
  164. package/lib/cjs/webchat/context/types.js.map +1 -0
  165. package/lib/cjs/webchat/context/use-webchat.d.ts +46 -0
  166. package/lib/cjs/webchat/{hooks → context}/use-webchat.js +53 -47
  167. package/lib/cjs/webchat/context/use-webchat.js.map +1 -0
  168. package/lib/cjs/webchat/{webchat-reducer.d.ts → context/webchat-reducer.d.ts} +1 -1
  169. package/lib/cjs/webchat/{webchat-reducer.js → context/webchat-reducer.js} +4 -0
  170. package/lib/cjs/webchat/context/webchat-reducer.js.map +1 -0
  171. package/lib/cjs/webchat/cover-component/index.d.ts +6 -0
  172. package/lib/cjs/webchat/cover-component/index.js +21 -0
  173. package/lib/cjs/webchat/cover-component/index.js.map +1 -0
  174. package/lib/cjs/webchat/header/default-header.d.ts +1 -0
  175. package/lib/cjs/webchat/header/default-header.js +25 -0
  176. package/lib/cjs/webchat/header/default-header.js.map +1 -0
  177. package/lib/cjs/webchat/header/index.d.ts +2 -0
  178. package/lib/cjs/webchat/header/index.js +23 -0
  179. package/lib/cjs/webchat/header/index.js.map +1 -0
  180. package/lib/cjs/webchat/header/styles.d.ts +7 -0
  181. package/lib/cjs/webchat/header/styles.js +63 -0
  182. package/lib/cjs/webchat/header/styles.js.map +1 -0
  183. package/lib/cjs/webchat/hooks/index.d.ts +0 -1
  184. package/lib/cjs/webchat/hooks/index.js +1 -4
  185. package/lib/cjs/webchat/hooks/index.js.map +1 -1
  186. package/lib/cjs/webchat/hooks/use-previous.d.ts +1 -1
  187. package/lib/cjs/webchat/hooks/use-previous.js.map +1 -1
  188. package/lib/cjs/webchat/hooks/use-scroll-to-bottom.d.ts +6 -4
  189. package/lib/cjs/webchat/hooks/use-scroll-to-bottom.js.map +1 -1
  190. package/lib/cjs/webchat/hooks/use-scrollbar-controller.js +16 -16
  191. package/lib/cjs/webchat/hooks/use-scrollbar-controller.js.map +1 -1
  192. package/lib/cjs/webchat/hooks/use-typing.d.ts +1 -1
  193. package/lib/cjs/webchat/hooks/use-webchat-dimensions.js +4 -4
  194. package/lib/cjs/webchat/hooks/use-webchat-dimensions.js.map +1 -1
  195. package/lib/cjs/webchat/hooks/use-webchat-resizer.js +6 -6
  196. package/lib/cjs/webchat/hooks/use-webchat-resizer.js.map +1 -1
  197. package/lib/cjs/webchat/index-types.d.ts +2 -56
  198. package/lib/cjs/webchat/index.d.ts +1 -0
  199. package/lib/cjs/webchat/index.js +3 -1
  200. package/lib/cjs/webchat/index.js.map +1 -1
  201. package/lib/cjs/webchat/input-panel/attachment.d.ts +1 -2
  202. package/lib/cjs/webchat/input-panel/attachment.js +7 -6
  203. package/lib/cjs/webchat/input-panel/attachment.js.map +1 -1
  204. package/lib/cjs/webchat/input-panel/emoji-picker.d.ts +1 -2
  205. package/lib/cjs/webchat/input-panel/emoji-picker.js +7 -6
  206. package/lib/cjs/webchat/input-panel/emoji-picker.js.map +1 -1
  207. package/lib/cjs/webchat/input-panel/index.d.ts +2 -5
  208. package/lib/cjs/webchat/input-panel/index.js +10 -5
  209. package/lib/cjs/webchat/input-panel/index.js.map +1 -1
  210. package/lib/cjs/webchat/input-panel/opened-emoji-picker.d.ts +1 -1
  211. package/lib/cjs/webchat/input-panel/persistent-menu.d.ts +1 -2
  212. package/lib/cjs/webchat/input-panel/persistent-menu.js +6 -5
  213. package/lib/cjs/webchat/input-panel/persistent-menu.js.map +1 -1
  214. package/lib/cjs/webchat/input-panel/send-button.d.ts +1 -1
  215. package/lib/cjs/webchat/input-panel/send-button.js +5 -4
  216. package/lib/cjs/webchat/input-panel/send-button.js.map +1 -1
  217. package/lib/cjs/webchat/input-panel/styles.d.ts +3 -3
  218. package/lib/cjs/webchat/input-panel/textarea.d.ts +2 -4
  219. package/lib/cjs/webchat/input-panel/textarea.js +16 -6
  220. package/lib/cjs/webchat/input-panel/textarea.js.map +1 -1
  221. package/lib/cjs/webchat/message-list/index.d.ts +1 -1
  222. package/lib/cjs/webchat/message-list/index.js +64 -38
  223. package/lib/cjs/webchat/message-list/index.js.map +1 -1
  224. package/lib/cjs/webchat/message-list/intro-message.d.ts +1 -1
  225. package/lib/cjs/webchat/message-list/intro-message.js +3 -3
  226. package/lib/cjs/webchat/message-list/intro-message.js.map +1 -1
  227. package/lib/cjs/webchat/message-list/scroll-button.d.ts +1 -0
  228. package/lib/cjs/webchat/message-list/styles.d.ts +5 -5
  229. package/lib/cjs/webchat/message-list/styles.js +4 -3
  230. package/lib/cjs/webchat/message-list/styles.js.map +1 -1
  231. package/lib/cjs/webchat/message-list/unread-messages-banner.js +2 -2
  232. package/lib/cjs/webchat/message-list/unread-messages-banner.js.map +1 -1
  233. package/lib/cjs/webchat/message-list/use-notifications.js +6 -6
  234. package/lib/cjs/webchat/message-list/use-notifications.js.map +1 -1
  235. package/lib/cjs/webchat/replies/index.d.ts +1 -0
  236. package/lib/cjs/webchat/replies/index.js +32 -0
  237. package/lib/cjs/webchat/replies/index.js.map +1 -0
  238. package/lib/cjs/webchat/replies/styles.d.ts +8 -0
  239. package/lib/cjs/webchat/replies/styles.js +25 -0
  240. package/lib/cjs/webchat/replies/styles.js.map +1 -0
  241. package/lib/cjs/webchat/session-view.d.ts +1 -1
  242. package/lib/cjs/webchat/session-view.js +4 -4
  243. package/lib/cjs/webchat/session-view.js.map +1 -1
  244. package/lib/cjs/webchat/styles.d.ts +4 -0
  245. package/lib/cjs/webchat/styles.js +65 -0
  246. package/lib/cjs/webchat/styles.js.map +1 -0
  247. package/lib/cjs/webchat/theme/default-theme.d.ts +2 -0
  248. package/lib/cjs/webchat/theme/default-theme.js +104 -0
  249. package/lib/cjs/webchat/theme/default-theme.js.map +1 -0
  250. package/lib/cjs/webchat/theme/types.d.ts +214 -0
  251. package/lib/cjs/webchat/theme/types.js +3 -0
  252. package/lib/cjs/webchat/theme/types.js.map +1 -0
  253. package/lib/cjs/webchat/tracking.d.ts +10 -0
  254. package/lib/cjs/webchat/tracking.js +39 -1
  255. package/lib/cjs/webchat/tracking.js.map +1 -1
  256. package/lib/cjs/webchat/trigger-button/index.d.ts +1 -0
  257. package/lib/cjs/webchat/trigger-button/index.js +5 -5
  258. package/lib/cjs/webchat/trigger-button/index.js.map +1 -1
  259. package/lib/cjs/webchat/trigger-button/styles.d.ts +3 -3
  260. package/lib/cjs/webchat/typing-indicator/index.d.ts +3 -1
  261. package/lib/cjs/webchat/typing-indicator/index.js +4 -3
  262. package/lib/cjs/webchat/typing-indicator/index.js.map +1 -1
  263. package/lib/cjs/webchat/typing-indicator/styles.d.ts +4 -3
  264. package/lib/cjs/webchat/typing-indicator/styles.js +6 -3
  265. package/lib/cjs/webchat/typing-indicator/styles.js.map +1 -1
  266. package/lib/cjs/webchat/webchat-dev.d.ts +3 -3
  267. package/lib/cjs/webchat/webchat-dev.js +2 -2
  268. package/lib/cjs/webchat/webchat-dev.js.map +1 -1
  269. package/lib/cjs/webchat/webchat.d.ts +4 -2
  270. package/lib/cjs/webchat/webchat.js +110 -148
  271. package/lib/cjs/webchat/webchat.js.map +1 -1
  272. package/lib/cjs/webchat/webview/header.d.ts +1 -0
  273. package/lib/cjs/webchat/webview/header.js +16 -0
  274. package/lib/cjs/webchat/webview/header.js.map +1 -0
  275. package/lib/cjs/webchat/webview/index.d.ts +1 -0
  276. package/lib/cjs/webchat/webview/index.js +39 -0
  277. package/lib/cjs/webchat/webview/index.js.map +1 -0
  278. package/lib/cjs/webchat/webview/styles.d.ts +7 -0
  279. package/lib/cjs/webchat/webview/styles.js +60 -0
  280. package/lib/cjs/webchat/webview/styles.js.map +1 -0
  281. package/lib/cjs/webchat-app.d.ts +95 -86
  282. package/lib/cjs/webchat-app.js +164 -72
  283. package/lib/cjs/webchat-app.js.map +1 -1
  284. package/lib/cjs/webview-app.js +62 -14
  285. package/lib/cjs/webview-app.js.map +1 -1
  286. package/lib/esm/components/audio.d.ts +8 -7
  287. package/lib/esm/components/audio.js +7 -4
  288. package/lib/esm/components/audio.js.map +1 -1
  289. package/lib/esm/components/{button.d.ts → button/index.d.ts} +4 -5
  290. package/lib/esm/components/{button.js → button/index.js} +26 -56
  291. package/lib/esm/components/button/index.js.map +1 -0
  292. package/lib/esm/components/button/styles.d.ts +2 -0
  293. package/lib/esm/components/button/styles.js +36 -0
  294. package/lib/esm/components/button/styles.js.map +1 -0
  295. package/lib/esm/components/buttons-disabler.d.ts +20 -23
  296. package/lib/esm/components/buttons-disabler.js +11 -26
  297. package/lib/esm/components/buttons-disabler.js.map +1 -1
  298. package/lib/esm/components/carousel.d.ts +8 -9
  299. package/lib/esm/components/carousel.js +27 -23
  300. package/lib/esm/components/carousel.js.map +1 -1
  301. package/lib/esm/components/custom-message.d.ts +16 -12
  302. package/lib/esm/components/custom-message.js +3 -9
  303. package/lib/esm/components/custom-message.js.map +1 -1
  304. package/lib/esm/components/document.d.ts +8 -7
  305. package/lib/esm/components/document.js +4 -4
  306. package/lib/esm/components/document.js.map +1 -1
  307. package/lib/esm/components/element.d.ts +7 -3
  308. package/lib/esm/components/element.js +10 -10
  309. package/lib/esm/components/element.js.map +1 -1
  310. package/lib/esm/components/handoff.d.ts +1 -1
  311. package/lib/esm/components/handoff.js +1 -1
  312. package/lib/esm/components/handoff.js.map +1 -1
  313. package/lib/esm/components/image.d.ts +8 -7
  314. package/lib/esm/components/image.js +5 -5
  315. package/lib/esm/components/image.js.map +1 -1
  316. package/lib/esm/components/index-types.d.ts +31 -132
  317. package/lib/esm/components/index.d.ts +8 -2
  318. package/lib/esm/components/index.js +8 -2
  319. package/lib/esm/components/index.js.map +1 -1
  320. package/lib/esm/components/message/index.js +7 -6
  321. package/lib/esm/components/message/index.js.map +1 -1
  322. package/lib/esm/components/message/message-feedback.d.ts +1 -1
  323. package/lib/esm/components/message/message-feedback.js +10 -21
  324. package/lib/esm/components/message/message-feedback.js.map +1 -1
  325. package/lib/esm/components/message/message-footer.d.ts +1 -1
  326. package/lib/esm/components/message/message-footer.js +3 -3
  327. package/lib/esm/components/message/message-footer.js.map +1 -1
  328. package/lib/esm/components/message/message-image.js +2 -2
  329. package/lib/esm/components/message/message-image.js.map +1 -1
  330. package/lib/esm/components/message/styles.d.ts +11 -11
  331. package/lib/esm/components/message/timestamps.d.ts +1 -1
  332. package/lib/esm/components/message/timestamps.js +2 -2
  333. package/lib/esm/components/message/timestamps.js.map +1 -1
  334. package/lib/esm/components/multichannel/index-types.d.ts +0 -4
  335. package/lib/esm/components/multichannel/multichannel-button.d.ts +1 -1
  336. package/lib/esm/components/multichannel/multichannel-button.js +2 -2
  337. package/lib/esm/components/multichannel/multichannel-button.js.map +1 -1
  338. package/lib/esm/components/multichannel/multichannel-carousel.d.ts +1 -1
  339. package/lib/esm/components/multichannel/multichannel-carousel.js +62 -65
  340. package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -1
  341. package/lib/esm/components/multichannel/multichannel-context.d.ts +0 -3
  342. package/lib/esm/components/multichannel/multichannel-context.js +0 -3
  343. package/lib/esm/components/multichannel/multichannel-context.js.map +1 -1
  344. package/lib/esm/components/multichannel/multichannel-reply.d.ts +1 -1
  345. package/lib/esm/components/multichannel/multichannel-text.d.ts +1 -1
  346. package/lib/esm/components/multichannel/multichannel-text.js +9 -5
  347. package/lib/esm/components/multichannel/multichannel-text.js.map +1 -1
  348. package/lib/esm/components/multichannel/multichannel-utils.d.ts +9 -15
  349. package/lib/esm/components/multichannel/multichannel-utils.js +40 -24
  350. package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -1
  351. package/lib/esm/components/multichannel/multichannel.js +7 -7
  352. package/lib/esm/components/multichannel/multichannel.js.map +1 -1
  353. package/lib/esm/components/multichannel/whatsapp/constants.d.ts +11 -0
  354. package/lib/esm/components/multichannel/whatsapp/constants.js +10 -0
  355. package/lib/esm/components/multichannel/whatsapp/constants.js.map +1 -0
  356. package/lib/esm/components/pic.d.ts +8 -5
  357. package/lib/esm/components/pic.js +6 -6
  358. package/lib/esm/components/pic.js.map +1 -1
  359. package/lib/esm/components/raw.d.ts +1 -1
  360. package/lib/esm/components/reply.d.ts +7 -6
  361. package/lib/esm/components/reply.js +13 -7
  362. package/lib/esm/components/reply.js.map +1 -1
  363. package/lib/esm/components/subtitle.d.ts +9 -5
  364. package/lib/esm/components/subtitle.js +4 -5
  365. package/lib/esm/components/subtitle.js.map +1 -1
  366. package/lib/esm/components/text.d.ts +1 -1
  367. package/lib/esm/components/title.d.ts +9 -5
  368. package/lib/esm/components/title.js +4 -5
  369. package/lib/esm/components/title.js.map +1 -1
  370. package/lib/esm/components/video.d.ts +8 -7
  371. package/lib/esm/components/video.js +2 -3
  372. package/lib/esm/components/video.js.map +1 -1
  373. package/lib/esm/components/webchat-settings.d.ts +18 -2
  374. package/lib/esm/components/webchat-settings.js +1 -1
  375. package/lib/esm/components/webchat-settings.js.map +1 -1
  376. package/lib/esm/components/whatsapp-button-list.js +6 -6
  377. package/lib/esm/components/whatsapp-button-list.js.map +1 -1
  378. package/lib/esm/components/whatsapp-catalog.d.ts +6 -0
  379. package/lib/esm/components/whatsapp-catalog.js +21 -0
  380. package/lib/esm/components/whatsapp-catalog.js.map +1 -0
  381. package/lib/esm/components/whatsapp-cta-url-button.js +3 -3
  382. package/lib/esm/components/whatsapp-cta-url-button.js.map +1 -1
  383. package/lib/esm/components/whatsapp-media-carousel.d.ts +46 -0
  384. package/lib/esm/components/whatsapp-media-carousel.js +36 -0
  385. package/lib/esm/components/whatsapp-media-carousel.js.map +1 -0
  386. package/lib/esm/components/whatsapp-product-carousel.d.ts +32 -0
  387. package/lib/esm/components/whatsapp-product-carousel.js +30 -0
  388. package/lib/esm/components/whatsapp-product-carousel.js.map +1 -0
  389. package/lib/esm/components/whatsapp-product-list.d.ts +15 -0
  390. package/lib/esm/components/whatsapp-product-list.js +22 -0
  391. package/lib/esm/components/whatsapp-product-list.js.map +1 -0
  392. package/lib/esm/components/whatsapp-product.d.ts +7 -0
  393. package/lib/esm/components/whatsapp-product.js +21 -0
  394. package/lib/esm/components/whatsapp-product.js.map +1 -0
  395. package/lib/esm/constants.d.ts +0 -18
  396. package/lib/esm/constants.js +0 -18
  397. package/lib/esm/constants.js.map +1 -1
  398. package/lib/esm/contexts.d.ts +10 -11
  399. package/lib/esm/contexts.js +14 -77
  400. package/lib/esm/contexts.js.map +1 -1
  401. package/lib/esm/dev-app.d.ts +7 -0
  402. package/lib/esm/dev-app.js +8 -13
  403. package/lib/esm/dev-app.js.map +1 -1
  404. package/lib/esm/index-types.d.ts +85 -77
  405. package/lib/esm/index-types.js.map +1 -1
  406. package/lib/esm/index.d.ts +1 -1
  407. package/lib/esm/index.js +1 -1
  408. package/lib/esm/index.js.map +1 -1
  409. package/lib/esm/msg-to-botonic.d.ts +1 -1
  410. package/lib/esm/msg-to-botonic.js +8 -11
  411. package/lib/esm/msg-to-botonic.js.map +1 -1
  412. package/lib/esm/react-bot.d.ts +16 -6
  413. package/lib/esm/react-bot.js +5 -6
  414. package/lib/esm/react-bot.js.map +1 -1
  415. package/lib/esm/shared/styles.d.ts +2 -2
  416. package/lib/esm/time-zone-to-country-code.d.ts +1 -0
  417. package/lib/esm/time-zone-to-country-code.js +105 -0
  418. package/lib/esm/time-zone-to-country-code.js.map +1 -0
  419. package/lib/esm/util/error-boundary.d.ts +1 -1
  420. package/lib/esm/util/functional.d.ts +3 -0
  421. package/lib/esm/util/functional.js +26 -0
  422. package/lib/esm/util/functional.js.map +1 -0
  423. package/lib/esm/util/react.d.ts +1 -1
  424. package/lib/esm/util/webchat.d.ts +19 -6
  425. package/lib/esm/util/webchat.js +42 -7
  426. package/lib/esm/util/webchat.js.map +1 -1
  427. package/lib/esm/webchat/chat-area/index.d.ts +1 -1
  428. package/lib/esm/webchat/chat-area/index.js +2 -2
  429. package/lib/esm/webchat/chat-area/index.js.map +1 -1
  430. package/lib/esm/webchat/chat-area/styles.d.ts +1 -1
  431. package/lib/esm/webchat/components/common.d.ts +1 -1
  432. package/lib/esm/webchat/components/conditional-animation.d.ts +1 -1
  433. package/lib/esm/webchat/components/conditional-animation.js +2 -2
  434. package/lib/esm/webchat/components/conditional-animation.js.map +1 -1
  435. package/lib/esm/webchat/components/opened-persistent-menu.d.ts +1 -1
  436. package/lib/esm/webchat/components/opened-persistent-menu.js +3 -3
  437. package/lib/esm/webchat/components/opened-persistent-menu.js.map +1 -1
  438. package/lib/{cjs/webchat → esm/webchat/context}/actions.d.ts +4 -1
  439. package/lib/esm/webchat/{actions.js → context/actions.js} +4 -0
  440. package/lib/esm/webchat/context/actions.js.map +1 -0
  441. package/lib/esm/webchat/context/index.d.ts +5 -0
  442. package/lib/esm/webchat/context/index.js +79 -0
  443. package/lib/esm/webchat/context/index.js.map +1 -0
  444. package/lib/esm/webchat/{messages-reducer.d.ts → context/messages-reducer.d.ts} +1 -1
  445. package/lib/esm/webchat/{messages-reducer.js → context/messages-reducer.js} +3 -1
  446. package/lib/esm/webchat/context/messages-reducer.js.map +1 -0
  447. package/lib/esm/webchat/context/types.d.ts +83 -0
  448. package/lib/esm/webchat/context/types.js +2 -0
  449. package/lib/esm/webchat/context/types.js.map +1 -0
  450. package/lib/esm/webchat/context/use-webchat.d.ts +46 -0
  451. package/lib/esm/webchat/{hooks → context}/use-webchat.js +51 -45
  452. package/lib/esm/webchat/context/use-webchat.js.map +1 -0
  453. package/lib/esm/webchat/{webchat-reducer.d.ts → context/webchat-reducer.d.ts} +1 -1
  454. package/lib/esm/webchat/{webchat-reducer.js → context/webchat-reducer.js} +4 -0
  455. package/lib/esm/webchat/context/webchat-reducer.js.map +1 -0
  456. package/lib/esm/webchat/cover-component/index.d.ts +6 -0
  457. package/lib/esm/webchat/cover-component/index.js +17 -0
  458. package/lib/esm/webchat/cover-component/index.js.map +1 -0
  459. package/lib/esm/webchat/header/default-header.d.ts +1 -0
  460. package/lib/esm/webchat/header/default-header.js +21 -0
  461. package/lib/esm/webchat/header/default-header.js.map +1 -0
  462. package/lib/esm/webchat/header/index.d.ts +2 -0
  463. package/lib/esm/webchat/header/index.js +20 -0
  464. package/lib/esm/webchat/header/index.js.map +1 -0
  465. package/lib/esm/webchat/header/styles.d.ts +7 -0
  466. package/lib/esm/webchat/header/styles.js +59 -0
  467. package/lib/esm/webchat/header/styles.js.map +1 -0
  468. package/lib/esm/webchat/hooks/index.d.ts +0 -1
  469. package/lib/esm/webchat/hooks/index.js +0 -1
  470. package/lib/esm/webchat/hooks/index.js.map +1 -1
  471. package/lib/esm/webchat/hooks/use-previous.d.ts +1 -1
  472. package/lib/esm/webchat/hooks/use-previous.js.map +1 -1
  473. package/lib/esm/webchat/hooks/use-scroll-to-bottom.d.ts +6 -4
  474. package/lib/esm/webchat/hooks/use-scroll-to-bottom.js.map +1 -1
  475. package/lib/esm/webchat/hooks/use-scrollbar-controller.js +16 -16
  476. package/lib/esm/webchat/hooks/use-scrollbar-controller.js.map +1 -1
  477. package/lib/esm/webchat/hooks/use-typing.d.ts +1 -1
  478. package/lib/esm/webchat/hooks/use-webchat-dimensions.js +4 -4
  479. package/lib/esm/webchat/hooks/use-webchat-dimensions.js.map +1 -1
  480. package/lib/esm/webchat/hooks/use-webchat-resizer.js +6 -6
  481. package/lib/esm/webchat/hooks/use-webchat-resizer.js.map +1 -1
  482. package/lib/esm/webchat/index-types.d.ts +2 -56
  483. package/lib/esm/webchat/index.d.ts +1 -0
  484. package/lib/esm/webchat/index.js +1 -0
  485. package/lib/esm/webchat/index.js.map +1 -1
  486. package/lib/esm/webchat/input-panel/attachment.d.ts +1 -2
  487. package/lib/esm/webchat/input-panel/attachment.js +8 -7
  488. package/lib/esm/webchat/input-panel/attachment.js.map +1 -1
  489. package/lib/esm/webchat/input-panel/emoji-picker.d.ts +1 -2
  490. package/lib/esm/webchat/input-panel/emoji-picker.js +8 -7
  491. package/lib/esm/webchat/input-panel/emoji-picker.js.map +1 -1
  492. package/lib/esm/webchat/input-panel/index.d.ts +2 -5
  493. package/lib/esm/webchat/input-panel/index.js +9 -4
  494. package/lib/esm/webchat/input-panel/index.js.map +1 -1
  495. package/lib/esm/webchat/input-panel/opened-emoji-picker.d.ts +1 -1
  496. package/lib/esm/webchat/input-panel/persistent-menu.d.ts +1 -2
  497. package/lib/esm/webchat/input-panel/persistent-menu.js +7 -6
  498. package/lib/esm/webchat/input-panel/persistent-menu.js.map +1 -1
  499. package/lib/esm/webchat/input-panel/send-button.d.ts +1 -1
  500. package/lib/esm/webchat/input-panel/send-button.js +6 -5
  501. package/lib/esm/webchat/input-panel/send-button.js.map +1 -1
  502. package/lib/esm/webchat/input-panel/styles.d.ts +3 -3
  503. package/lib/esm/webchat/input-panel/textarea.d.ts +2 -4
  504. package/lib/esm/webchat/input-panel/textarea.js +16 -6
  505. package/lib/esm/webchat/input-panel/textarea.js.map +1 -1
  506. package/lib/esm/webchat/message-list/index.d.ts +1 -1
  507. package/lib/esm/webchat/message-list/index.js +62 -37
  508. package/lib/esm/webchat/message-list/index.js.map +1 -1
  509. package/lib/esm/webchat/message-list/intro-message.d.ts +1 -1
  510. package/lib/esm/webchat/message-list/intro-message.js +2 -2
  511. package/lib/esm/webchat/message-list/intro-message.js.map +1 -1
  512. package/lib/esm/webchat/message-list/scroll-button.d.ts +1 -0
  513. package/lib/esm/webchat/message-list/styles.d.ts +5 -5
  514. package/lib/esm/webchat/message-list/styles.js +4 -3
  515. package/lib/esm/webchat/message-list/styles.js.map +1 -1
  516. package/lib/esm/webchat/message-list/unread-messages-banner.js +1 -1
  517. package/lib/esm/webchat/message-list/unread-messages-banner.js.map +1 -1
  518. package/lib/esm/webchat/message-list/use-notifications.js +5 -5
  519. package/lib/esm/webchat/message-list/use-notifications.js.map +1 -1
  520. package/lib/esm/webchat/replies/index.d.ts +1 -0
  521. package/lib/esm/webchat/replies/index.js +28 -0
  522. package/lib/esm/webchat/replies/index.js.map +1 -0
  523. package/lib/esm/webchat/replies/styles.d.ts +8 -0
  524. package/lib/esm/webchat/replies/styles.js +21 -0
  525. package/lib/esm/webchat/replies/styles.js.map +1 -0
  526. package/lib/esm/webchat/session-view.d.ts +1 -1
  527. package/lib/esm/webchat/session-view.js +2 -2
  528. package/lib/esm/webchat/session-view.js.map +1 -1
  529. package/lib/esm/webchat/styles.d.ts +4 -0
  530. package/lib/esm/webchat/styles.js +61 -0
  531. package/lib/esm/webchat/styles.js.map +1 -0
  532. package/lib/esm/webchat/theme/default-theme.d.ts +2 -0
  533. package/lib/esm/webchat/theme/default-theme.js +101 -0
  534. package/lib/esm/webchat/theme/default-theme.js.map +1 -0
  535. package/lib/esm/webchat/theme/types.d.ts +214 -0
  536. package/lib/esm/webchat/theme/types.js +2 -0
  537. package/lib/esm/webchat/theme/types.js.map +1 -0
  538. package/lib/esm/webchat/tracking.d.ts +10 -0
  539. package/lib/esm/webchat/tracking.js +37 -0
  540. package/lib/esm/webchat/tracking.js.map +1 -1
  541. package/lib/esm/webchat/trigger-button/index.d.ts +1 -0
  542. package/lib/esm/webchat/trigger-button/index.js +4 -4
  543. package/lib/esm/webchat/trigger-button/index.js.map +1 -1
  544. package/lib/esm/webchat/trigger-button/styles.d.ts +3 -3
  545. package/lib/esm/webchat/typing-indicator/index.d.ts +3 -1
  546. package/lib/esm/webchat/typing-indicator/index.js +5 -2
  547. package/lib/esm/webchat/typing-indicator/index.js.map +1 -1
  548. package/lib/esm/webchat/typing-indicator/styles.d.ts +4 -3
  549. package/lib/esm/webchat/typing-indicator/styles.js +5 -2
  550. package/lib/esm/webchat/typing-indicator/styles.js.map +1 -1
  551. package/lib/esm/webchat/webchat-dev.d.ts +3 -3
  552. package/lib/esm/webchat/webchat-dev.js +1 -1
  553. package/lib/esm/webchat/webchat-dev.js.map +1 -1
  554. package/lib/esm/webchat/webchat.d.ts +4 -2
  555. package/lib/esm/webchat/webchat.js +110 -148
  556. package/lib/esm/webchat/webchat.js.map +1 -1
  557. package/lib/esm/webchat/webview/header.d.ts +1 -0
  558. package/lib/esm/webchat/webview/header.js +12 -0
  559. package/lib/esm/webchat/webview/header.js.map +1 -0
  560. package/lib/esm/webchat/webview/index.d.ts +1 -0
  561. package/lib/esm/webchat/webview/index.js +35 -0
  562. package/lib/esm/webchat/webview/index.js.map +1 -0
  563. package/lib/esm/webchat/webview/styles.d.ts +7 -0
  564. package/lib/esm/webchat/webview/styles.js +56 -0
  565. package/lib/esm/webchat/webview/styles.js.map +1 -0
  566. package/lib/esm/webchat-app.d.ts +95 -86
  567. package/lib/esm/webchat-app.js +165 -73
  568. package/lib/esm/webchat-app.js.map +1 -1
  569. package/lib/esm/webview-app.js +64 -16
  570. package/lib/esm/webview-app.js.map +1 -1
  571. package/package.json +23 -18
  572. package/src/components/{audio.jsx → audio.tsx} +10 -4
  573. package/src/components/{button.tsx → button/index.tsx} +26 -104
  574. package/src/components/button/styles.ts +38 -0
  575. package/src/components/{buttons-disabler.js → buttons-disabler.ts} +35 -39
  576. package/src/components/{carousel.jsx → carousel.tsx} +60 -36
  577. package/src/components/{custom-message.jsx → custom-message.tsx} +19 -7
  578. package/src/components/{document.jsx → document.tsx} +5 -3
  579. package/src/components/{element.jsx → element.tsx} +12 -14
  580. package/src/components/handoff.jsx +1 -1
  581. package/src/components/{image.jsx → image.tsx} +13 -6
  582. package/src/components/index-types.ts +24 -119
  583. package/src/components/index.ts +23 -2
  584. package/src/components/message/index.jsx +7 -10
  585. package/src/components/message/message-feedback.tsx +10 -27
  586. package/src/components/message/message-footer.tsx +3 -3
  587. package/src/components/message/message-image.tsx +2 -5
  588. package/src/components/message/timestamps.tsx +2 -3
  589. package/src/components/multichannel/index-types.ts +0 -4
  590. package/src/components/multichannel/multichannel-button.jsx +2 -2
  591. package/src/components/multichannel/multichannel-carousel.jsx +96 -94
  592. package/src/components/multichannel/multichannel-context.jsx +0 -3
  593. package/src/components/multichannel/multichannel-text.jsx +12 -6
  594. package/src/components/multichannel/multichannel-utils.js +45 -27
  595. package/src/components/multichannel/multichannel.jsx +12 -7
  596. package/src/components/multichannel/whatsapp/constants.ts +10 -0
  597. package/src/components/{pic.jsx → pic.tsx} +12 -5
  598. package/src/components/{reply.jsx → reply.tsx} +12 -12
  599. package/src/components/{subtitle.jsx → subtitle.tsx} +10 -10
  600. package/src/components/{title.jsx → title.tsx} +8 -6
  601. package/src/components/{video.jsx → video.tsx} +3 -2
  602. package/src/components/webchat-settings.tsx +22 -2
  603. package/src/components/whatsapp-button-list.tsx +6 -6
  604. package/src/components/whatsapp-catalog.tsx +42 -0
  605. package/src/components/whatsapp-cta-url-button.tsx +6 -3
  606. package/src/components/whatsapp-media-carousel.tsx +104 -0
  607. package/src/components/whatsapp-product-carousel.tsx +83 -0
  608. package/src/components/whatsapp-product-list.tsx +56 -0
  609. package/src/components/whatsapp-product.tsx +44 -0
  610. package/src/constants.js +0 -19
  611. package/src/contexts.tsx +26 -91
  612. package/src/dev-app.jsx +6 -30
  613. package/src/index-types.ts +100 -84
  614. package/src/index.ts +1 -5
  615. package/src/msg-to-botonic.jsx +8 -12
  616. package/src/react-bot.tsx +51 -0
  617. package/src/time-zone-to-country-code.ts +104 -0
  618. package/src/util/functional.ts +31 -0
  619. package/src/util/webchat.ts +102 -0
  620. package/src/webchat/chat-area/index.tsx +2 -4
  621. package/src/webchat/components/conditional-animation.jsx +3 -3
  622. package/src/webchat/components/opened-persistent-menu.jsx +3 -4
  623. package/src/webchat/{actions.ts → context/actions.ts} +4 -0
  624. package/src/webchat/context/index.tsx +82 -0
  625. package/src/webchat/{messages-reducer.ts → context/messages-reducer.ts} +4 -2
  626. package/src/webchat/context/types.ts +91 -0
  627. package/src/webchat/{hooks → context}/use-webchat.ts +104 -53
  628. package/src/webchat/{webchat-reducer.ts → context/webchat-reducer.ts} +5 -1
  629. package/src/webchat/cover-component/index.tsx +31 -0
  630. package/src/webchat/global.d.ts +3 -0
  631. package/src/webchat/header/default-header.tsx +64 -0
  632. package/src/webchat/header/index.tsx +37 -0
  633. package/src/webchat/header/styles.ts +66 -0
  634. package/src/webchat/hooks/index.ts +0 -1
  635. package/src/webchat/hooks/use-previous.ts +1 -1
  636. package/src/webchat/hooks/use-scroll-to-bottom.ts +8 -2
  637. package/src/webchat/hooks/use-scrollbar-controller.ts +22 -17
  638. package/src/webchat/hooks/use-typing.ts +1 -1
  639. package/src/webchat/hooks/use-webchat-dimensions.ts +4 -4
  640. package/src/webchat/hooks/use-webchat-resizer.ts +6 -6
  641. package/src/webchat/index-types.ts +2 -63
  642. package/src/webchat/index.ts +1 -0
  643. package/src/webchat/input-panel/attachment.tsx +6 -17
  644. package/src/webchat/input-panel/emoji-picker.tsx +6 -16
  645. package/src/webchat/input-panel/index.tsx +9 -16
  646. package/src/webchat/input-panel/persistent-menu.tsx +6 -16
  647. package/src/webchat/input-panel/send-button.tsx +4 -10
  648. package/src/webchat/input-panel/textarea.tsx +22 -15
  649. package/src/webchat/message-list/index.tsx +78 -49
  650. package/src/webchat/message-list/intro-message.tsx +2 -3
  651. package/src/webchat/message-list/styles.ts +4 -3
  652. package/src/webchat/message-list/unread-messages-banner.tsx +1 -1
  653. package/src/webchat/message-list/use-notifications.ts +5 -9
  654. package/src/webchat/replies/index.tsx +47 -0
  655. package/src/webchat/replies/styles.ts +28 -0
  656. package/src/webchat/session-view.jsx +2 -2
  657. package/src/webchat/styles.ts +65 -0
  658. package/src/webchat/theme/default-theme.ts +102 -0
  659. package/src/webchat/theme/theme.d.ts +8 -0
  660. package/src/webchat/theme/types.ts +206 -0
  661. package/src/webchat/tracking.ts +59 -0
  662. package/src/webchat/trigger-button/index.tsx +4 -6
  663. package/src/webchat/typing-indicator/index.tsx +20 -12
  664. package/src/webchat/typing-indicator/styles.ts +7 -3
  665. package/src/webchat/webchat-dev.jsx +1 -1
  666. package/src/webchat/{webchat.jsx → webchat.tsx} +191 -243
  667. package/src/webchat/webview/header.tsx +22 -0
  668. package/src/webchat/webview/index.tsx +73 -0
  669. package/src/webchat/webview/styles.ts +62 -0
  670. package/src/webchat-app.tsx +575 -0
  671. package/src/webview-app.tsx +75 -20
  672. package/lib/cjs/components/button.js.map +0 -1
  673. package/lib/cjs/webchat/actions.js.map +0 -1
  674. package/lib/cjs/webchat/header.d.ts +0 -3
  675. package/lib/cjs/webchat/header.js +0 -86
  676. package/lib/cjs/webchat/header.js.map +0 -1
  677. package/lib/cjs/webchat/hooks/use-webchat.d.ts +0 -46
  678. package/lib/cjs/webchat/hooks/use-webchat.js.map +0 -1
  679. package/lib/cjs/webchat/messages-reducer.js.map +0 -1
  680. package/lib/cjs/webchat/replies.d.ts +0 -1
  681. package/lib/cjs/webchat/replies.js +0 -47
  682. package/lib/cjs/webchat/replies.js.map +0 -1
  683. package/lib/cjs/webchat/webchat-reducer.js.map +0 -1
  684. package/lib/cjs/webchat/webview.d.ts +0 -2
  685. package/lib/cjs/webchat/webview.js +0 -75
  686. package/lib/cjs/webchat/webview.js.map +0 -1
  687. package/lib/esm/components/button.js.map +0 -1
  688. package/lib/esm/webchat/actions.js.map +0 -1
  689. package/lib/esm/webchat/header.d.ts +0 -3
  690. package/lib/esm/webchat/header.js +0 -81
  691. package/lib/esm/webchat/header.js.map +0 -1
  692. package/lib/esm/webchat/hooks/use-webchat.d.ts +0 -46
  693. package/lib/esm/webchat/hooks/use-webchat.js.map +0 -1
  694. package/lib/esm/webchat/messages-reducer.js.map +0 -1
  695. package/lib/esm/webchat/replies.d.ts +0 -1
  696. package/lib/esm/webchat/replies.js +0 -42
  697. package/lib/esm/webchat/replies.js.map +0 -1
  698. package/lib/esm/webchat/webchat-reducer.js.map +0 -1
  699. package/lib/esm/webchat/webview.d.ts +0 -2
  700. package/lib/esm/webchat/webview.js +0 -70
  701. package/lib/esm/webchat/webview.js.map +0 -1
  702. package/src/react-bot.jsx +0 -38
  703. package/src/util/webchat.js +0 -57
  704. package/src/webchat/header.jsx +0 -149
  705. package/src/webchat/replies.jsx +0 -64
  706. package/src/webchat/webview.jsx +0 -105
  707. package/src/webchat-app.jsx +0 -389
@@ -2,19 +2,20 @@ import merge from 'lodash.merge';
2
2
  import UAParser from 'ua-parser-js';
3
3
  import { v7 as uuidv7 } from 'uuid';
4
4
  import { WEBCHAT } from '../constants';
5
+ import { timeZoneToCountryCode } from '../time-zone-to-country-code';
5
6
  import { getProperty } from './objects';
6
7
  /**
7
8
  * Returns the value of a property defined in bot's theme based on WEBCHAT.CUSTOM_PROPERTIES dictionary.
8
9
  * It gives preference to nested defined properties (e.g.: header.style) over plain properties (e.g.: headerStyle).
9
10
  * If property doesn't exist, returns the defaultValue.
10
11
  */
11
- export const _getThemeProperty = theme => (property, defaultValue = undefined) => {
12
- for (const [k, v] of Object.entries(WEBCHAT.CUSTOM_PROPERTIES)) {
13
- if (v == property) {
14
- const nestedProperty = getProperty(theme, v);
12
+ export const _getThemeProperty = (theme) => (property, defaultValue) => {
13
+ for (const [key, value] of Object.entries(WEBCHAT.CUSTOM_PROPERTIES)) {
14
+ if (value === property) {
15
+ const nestedProperty = getProperty(theme, value);
15
16
  if (nestedProperty !== undefined)
16
17
  return nestedProperty;
17
- const plainProperty = getProperty(theme, k);
18
+ const plainProperty = getProperty(theme, key);
18
19
  if (plainProperty !== undefined)
19
20
  return plainProperty;
20
21
  return defaultValue;
@@ -33,15 +34,49 @@ export const createUser = () => {
33
34
  name,
34
35
  };
35
36
  };
36
- export const initSession = session => {
37
+ export const initSession = (session) => {
38
+ var _a;
37
39
  if (!session)
38
40
  session = {};
39
- const hasUserId = session.user && session.user.id !== undefined;
41
+ const hasUserId = ((_a = session === null || session === void 0 ? void 0 : session.user) === null || _a === void 0 ? void 0 : _a.id) !== undefined;
40
42
  if (!session.user || Object.keys(session.user).length === 0 || !hasUserId)
41
43
  session.user = !hasUserId ? merge(session.user, createUser()) : createUser();
42
44
  return session;
43
45
  };
46
+ export function updateUserLocaleAndCountry(user) {
47
+ user.locale = getLocale(user);
48
+ user.country = getCountry(user);
49
+ user.system_locale = getSystemLocale(user);
50
+ return user;
51
+ }
52
+ function getLocale(user) {
53
+ var _a, _b;
54
+ if (user.locale) {
55
+ return user.locale;
56
+ }
57
+ return ((_a = user.extra_data) === null || _a === void 0 ? void 0 : _a.language)
58
+ ? (_b = user.extra_data) === null || _b === void 0 ? void 0 : _b.language
59
+ : navigator.language;
60
+ }
61
+ function getCountry(user) {
62
+ var _a, _b;
63
+ if (user.country) {
64
+ return user.country;
65
+ }
66
+ const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
67
+ const userCountry = timeZoneToCountryCode[timeZone];
68
+ return ((_a = user.extra_data) === null || _a === void 0 ? void 0 : _a.country)
69
+ ? (_b = user.extra_data) === null || _b === void 0 ? void 0 : _b.country
70
+ : userCountry;
71
+ }
72
+ function getSystemLocale(user) {
73
+ if (user.system_locale) {
74
+ return user.system_locale;
75
+ }
76
+ return getLocale(user);
77
+ }
44
78
  export const shouldKeepSessionOnReload = ({ initialDevSettings, devSettings, }) => !initialDevSettings || (devSettings && devSettings.keepSessionOnReload);
79
+ //TODO: Review param serverConfig if is of type ServerConfig this never have errorMessage
45
80
  export const getServerErrorMessage = serverConfig => {
46
81
  if (!serverConfig || !serverConfig.errorMessage)
47
82
  return 'Connection issues';
@@ -1 +1 @@
1
- {"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../src/util/webchat.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,KAAK,CAAC,EAAE,CACR,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAAE,EAAE;IACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;QAC9D,IAAI,CAAC,IAAI,QAAQ,EAAE;YACjB,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC5C,IAAI,cAAc,KAAK,SAAS;gBAAE,OAAO,cAAc,CAAA;YACvD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC3C,IAAI,aAAa,KAAK,SAAS;gBAAE,OAAO,aAAa,CAAA;YACrD,OAAO,YAAY,CAAA;SACpB;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IAC7B,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAC7C,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI;QAAE,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAA;IACnE,OAAO;QACL,EAAE,EAAE,MAAM,EAAE;QACZ,IAAI;KACL,CAAA;AACH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,EAAE,CAAA;IAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAA;IAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS;QACvE,OAAO,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;IAC9E,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACxC,kBAAkB,EAClB,WAAW,GACZ,EAAE,EAAE,CAAC,CAAC,kBAAkB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,mBAAmB,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC,EAAE;IAClD,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,YAAY;QAAE,OAAO,mBAAmB,CAAA;IAC3E,IAAI,OAAO,YAAY,CAAC,YAAY,KAAK,UAAU,EAAE;QACnD,OAAO,YAAY,CAAC,YAAY,EAAE,CAAA;KACnC;IACD,OAAO,YAAY,CAAC,YAAY,CAAA;AAClC,CAAC,CAAA"}
1
+ {"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../src/util/webchat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const ChatArea: () => JSX.Element;
1
+ export declare const ChatArea: () => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useContext, useEffect, useState } from 'react';
3
- import { WebchatContext } from '../../contexts';
4
3
  import { BotonicContainerId } from '../constants';
4
+ import { WebchatContext } from '../context';
5
5
  import { useWebchatDimensions } from '../hooks';
6
6
  import { WebchatMessageList } from '../message-list';
7
7
  import { WebchatReplies } from '../replies';
@@ -13,6 +13,6 @@ export const ChatArea = () => {
13
13
  useEffect(() => {
14
14
  setChatAreaHeight(calculateResizedPxChatAreaHeight());
15
15
  }, []);
16
- return (_jsxs(StyledChatArea, Object.assign({ id: BotonicContainerId.ChatArea, ref: chatAreaRef, height: chatAreaHeight }, { children: [_jsx(WebchatMessageList, {}), replies && Object.keys(replies).length > 0 && (_jsx(WebchatReplies, { replies: replies }))] })));
16
+ return (_jsxs(StyledChatArea, Object.assign({ id: BotonicContainerId.ChatArea, ref: chatAreaRef, height: chatAreaHeight }, { children: [_jsx(WebchatMessageList, {}), replies && replies.length > 0 && _jsx(WebchatReplies, {})] })));
17
17
  };
18
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/webchat/chat-area/index.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,EACJ,YAAY,EAAE,EAAE,OAAO,EAAE,EACzB,WAAW,GACZ,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAE9B,MAAM,EAAE,gCAAgC,EAAE,GAAG,oBAAoB,EAAE,CAAA;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,CAAC,gCAAgC,EAAE,CAAC,CAAA;IACvD,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CACL,MAAC,cAAc,kBACb,EAAE,EAAE,kBAAkB,CAAC,QAAQ,EAC/B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,cAAc,iBAEtB,KAAC,kBAAkB,KAAG,EACrB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7C,KAAC,cAAc,IAAC,OAAO,EAAE,OAAO,GAAI,CACrC,KACc,CAClB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/webchat/chat-area/index.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,EACJ,YAAY,EAAE,EAAE,OAAO,EAAE,EACzB,WAAW,GACZ,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAE9B,MAAM,EAAE,gCAAgC,EAAE,GAAG,oBAAoB,EAAE,CAAA;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,CAAC,gCAAgC,EAAE,CAAC,CAAA;IACvD,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CACL,MAAC,cAAc,kBACb,EAAE,EAAE,kBAAkB,CAAC,QAAQ,EAC/B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,cAAc,iBAEtB,KAAC,kBAAkB,KAAG,EACrB,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAC,cAAc,KAAG,KACrC,CAClB,CAAA;AACH,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
- export declare const StyledChatArea: import("styled-components").StyledComponent<"div", any, {
1
+ export declare const StyledChatArea: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
2
2
  height: number;
3
3
  }, never>;
@@ -1 +1 @@
1
- export function Icon(props: any): JSX.Element;
1
+ export function Icon(props: any): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- export function ConditionalAnimation(props: any): JSX.Element;
1
+ export function ConditionalAnimation(props: any): import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React, { useContext } from 'react';
3
3
  import { WEBCHAT } from '../../constants';
4
- import { WebchatContext } from '../../contexts';
5
4
  import { Scale } from '../../shared/styles';
6
5
  import { ConditionalWrapper } from '../../util/react';
6
+ import { WebchatContext } from '../context';
7
7
  export const ConditionalAnimation = props => {
8
8
  const { getThemeProperty } = useContext(WebchatContext);
9
- const animationsEnabled = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.enableAnimations, props.enableAnimations !== undefined ? props.enableAnimations : true);
9
+ const animationsEnabled = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.enableAnimations);
10
10
  return (_jsx(ConditionalWrapper, Object.assign({ condition: animationsEnabled, wrapper: children => _jsx(Scale, { children: children }) }, { children: props.children })));
11
11
  };
12
12
  //# sourceMappingURL=conditional-animation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conditional-animation.js","sourceRoot":"","sources":["../../../../src/webchat/components/conditional-animation.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,EAAE;IAC1C,MAAM,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAEvD,MAAM,iBAAiB,GAAG,gBAAgB,CACxC,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAC1C,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CACrE,CAAA;IACD,OAAO,CACL,KAAC,kBAAkB,kBACjB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAC,KAAK,cAAE,QAAQ,GAAS,gBAE7C,KAAK,CAAC,QAAQ,IACI,CACtB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"conditional-animation.js","sourceRoot":"","sources":["../../../../src/webchat/components/conditional-animation.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,EAAE;IAC1C,MAAM,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAEvD,MAAM,iBAAiB,GAAG,gBAAgB,CACxC,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAC3C,CAAA;IAED,OAAO,CACL,KAAC,kBAAkB,kBACjB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAC,KAAK,cAAE,QAAQ,GAAS,gBAE7C,KAAK,CAAC,QAAQ,IACI,CACtB,CAAA;AACH,CAAC,CAAA"}
@@ -2,5 +2,5 @@ export function OpenedPersistentMenu({ onClick, options, borderRadius }: {
2
2
  onClick: any;
3
3
  options: any;
4
4
  borderRadius: any;
5
- }): JSX.Element;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
6
  export default OpenedPersistentMenu;
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useContext } from 'react';
3
3
  import styled from 'styled-components';
4
- import { Button } from '../../components/button';
4
+ import { Button } from '../../components/button/index';
5
5
  import { ROLES, WEBCHAT } from '../../constants';
6
- import { WebchatContext } from '../../contexts';
6
+ import { WebchatContext } from '../context';
7
7
  import { useComponentVisible } from '../hooks';
8
8
  const ButtonsContainer = styled.div `
9
9
  position: absolute;
@@ -15,7 +15,7 @@ const ButtonsContainer = styled.div `
15
15
  export const OpenedPersistentMenu = ({ onClick, options, borderRadius }) => {
16
16
  const { ref, isComponentVisible } = useComponentVisible(true, onClick);
17
17
  const { getThemeProperty } = useContext(WebchatContext);
18
- const CustomPersistentMenu = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.customPersistentMenu, undefined);
18
+ const CustomPersistentMenu = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.customPersistentMenu);
19
19
  let closeLabel = 'Cancel';
20
20
  try {
21
21
  closeLabel = options.filter(opt => opt.closeLabel !== undefined)[0]
@@ -1 +1 @@
1
- {"version":3,"file":"opened-persistent-menu.js","sourceRoot":"","sources":["../../../../src/webchat/components/opened-persistent-menu.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;CAMlC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;IACzE,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACtE,MAAM,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACvD,MAAM,oBAAoB,GAAG,gBAAgB,CAC3C,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,EAC9C,SAAS,CACV,CAAA;IACD,IAAI,UAAU,GAAG,QAAQ,CAAA;IACzB,IAAI;QACF,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;aAChE,UAAU,CAAA;KACd;IAAC,OAAO,CAAC,EAAE,GAAE;IACd,OAAO,CACL,4BAAK,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,eAAe,gBACvC,kBAAkB,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAC5C,KAAC,oBAAoB,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAI,CAC7D,CAAC,CAAC,CAAC,CACF,MAAC,gBAAgB,eACd,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACnC,OAAO,CACL,CAAC,CAAC,KAAK,IAAI,CACT,KAAC,MAAM,kBACL,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,OAAO,EAAE,CAAC,CAAC,OAAO,gBAGjB,CAAC,CAAC,KAAK,KAFH,CAAC,CAGC,CACV,CACF,CAAA;gBACH,CAAC,CAAC,EACF,KAAC,MAAM,kBAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,gBACjD,UAAU,IACJ,IACQ,CACpB,IACG,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"opened-persistent-menu.js","sourceRoot":"","sources":["../../../../src/webchat/components/opened-persistent-menu.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;CAMlC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;IACzE,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACtE,MAAM,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACvD,MAAM,oBAAoB,GAAG,gBAAgB,CAC3C,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,CAC/C,CAAA;IACD,IAAI,UAAU,GAAG,QAAQ,CAAA;IACzB,IAAI;QACF,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;aAChE,UAAU,CAAA;KACd;IAAC,OAAO,CAAC,EAAE,GAAE;IACd,OAAO,CACL,4BAAK,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,eAAe,gBACvC,kBAAkB,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAC5C,KAAC,oBAAoB,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAI,CAC7D,CAAC,CAAC,CAAC,CACF,MAAC,gBAAgB,eACd,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACnC,OAAO,CACL,CAAC,CAAC,KAAK,IAAI,CACT,KAAC,MAAM,kBACL,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,OAAO,EAAE,CAAC,CAAC,OAAO,gBAGjB,CAAC,CAAC,KAAK,KAFH,CAAC,CAGC,CACV,CACF,CAAA;gBACH,CAAC,CAAC,EACF,KAAC,MAAM,kBAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,gBACjD,UAAU,IACJ,IACQ,CACpB,IACG,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,oBAAoB,CAAA"}
@@ -22,5 +22,8 @@ export declare enum WebchatAction {
22
22
  UPDATE_SESSION = "updateSession",
23
23
  UPDATE_THEME = "updateTheme",
24
24
  UPDATE_TYPING = "updateTyping",
25
- UPDATE_WEBVIEW = "updateWebview"
25
+ UPDATE_WEBVIEW = "updateWebview",
26
+ REMOVE_REPLIES = "removeReplies",
27
+ REMOVE_WEBVIEW = "removeWebview",
28
+ SET_IS_INPUT_FOCUSED = "setIsInputFocused"
26
29
  }
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
1
2
  export var WebchatAction;
2
3
  (function (WebchatAction) {
3
4
  WebchatAction["ADD_MESSAGE"] = "addMessage";
@@ -24,5 +25,8 @@ export var WebchatAction;
24
25
  WebchatAction["UPDATE_THEME"] = "updateTheme";
25
26
  WebchatAction["UPDATE_TYPING"] = "updateTyping";
26
27
  WebchatAction["UPDATE_WEBVIEW"] = "updateWebview";
28
+ WebchatAction["REMOVE_REPLIES"] = "removeReplies";
29
+ WebchatAction["REMOVE_WEBVIEW"] = "removeWebview";
30
+ WebchatAction["SET_IS_INPUT_FOCUSED"] = "setIsInputFocused";
27
31
  })(WebchatAction || (WebchatAction = {}));
28
32
  //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/webchat/context/actions.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,MAAM,CAAN,IAAY,aA4BX;AA5BD,WAAY,aAAa;IACvB,2CAA0B,CAAA;IAC1B,8DAA6C,CAAA;IAC7C,iDAAgC,CAAA;IAChC,uEAAsD,CAAA;IACtD,8DAA6C,CAAA;IAC7C,gEAA+C,CAAA;IAC/C,uCAAsB,CAAA;IACtB,mEAAkD,CAAA;IAClD,yCAAwB,CAAA;IACxB,gEAA+C,CAAA;IAC/C,0DAAyC,CAAA;IACzC,gEAA+C,CAAA;IAC/C,iDAAgC,CAAA;IAChC,0DAAyC,CAAA;IACzC,iDAAgC,CAAA;IAChC,mEAAkD,CAAA;IAClD,+DAA8C,CAAA;IAC9C,0DAAyC,CAAA;IACzC,iDAAgC,CAAA;IAChC,iDAAgC,CAAA;IAChC,iDAAgC,CAAA;IAChC,6CAA4B,CAAA;IAC5B,+CAA8B,CAAA;IAC9B,iDAAgC,CAAA;IAChC,iDAAgC,CAAA;IAChC,iDAAgC,CAAA;IAChC,2DAA0C,CAAA;AAC5C,CAAC,EA5BW,aAAa,KAAb,aAAa,QA4BxB"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { WebchatContextProps } from './types';
3
+ export { WebchatState } from './types';
4
+ export { useWebchat } from './use-webchat';
5
+ export declare const WebchatContext: import("react").Context<WebchatContextProps>;
@@ -0,0 +1,79 @@
1
+ import { __awaiter } from "tslib";
2
+ import { createContext } from 'react';
3
+ export { useWebchat } from './use-webchat';
4
+ export const WebchatContext = createContext({
5
+ addMessage: () => {
6
+ return;
7
+ },
8
+ getThemeProperty: () => {
9
+ return;
10
+ },
11
+ closeWebview: () => __awaiter(void 0, void 0, void 0, function* () {
12
+ return;
13
+ }),
14
+ openWebview: () => {
15
+ return;
16
+ },
17
+ resolveCase: () => {
18
+ return;
19
+ },
20
+ resetUnreadMessages: () => {
21
+ return;
22
+ },
23
+ setIsInputFocused: () => {
24
+ return;
25
+ },
26
+ setLastMessageVisible: () => {
27
+ return;
28
+ },
29
+ sendAttachment: () => __awaiter(void 0, void 0, void 0, function* () {
30
+ return;
31
+ }),
32
+ sendInput: () => __awaiter(void 0, void 0, void 0, function* () {
33
+ return;
34
+ }),
35
+ sendPayload: () => __awaiter(void 0, void 0, void 0, function* () {
36
+ return;
37
+ }),
38
+ sendText: () => __awaiter(void 0, void 0, void 0, function* () {
39
+ return;
40
+ }),
41
+ toggleCoverComponent: () => {
42
+ return;
43
+ },
44
+ toggleWebchat: () => {
45
+ return;
46
+ },
47
+ toggleEmojiPicker: () => {
48
+ return;
49
+ },
50
+ togglePersistentMenu: () => {
51
+ return;
52
+ },
53
+ updateLatestInput: () => {
54
+ return;
55
+ },
56
+ updateMessage: () => {
57
+ return;
58
+ },
59
+ updateReplies: () => {
60
+ return;
61
+ },
62
+ updateUser: () => {
63
+ return;
64
+ },
65
+ updateWebchatDevSettings: () => {
66
+ return;
67
+ },
68
+ webchatState: {},
69
+ trackEvent: () => __awaiter(void 0, void 0, void 0, function* () {
70
+ return;
71
+ }),
72
+ webchatContainerRef: { current: null },
73
+ chatAreaRef: { current: null },
74
+ inputPanelRef: { current: null },
75
+ headerRef: { current: null },
76
+ scrollableMessagesListRef: { current: null },
77
+ repliesRef: { current: null },
78
+ });
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/webchat/context/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAKrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAsB;IAC/D,UAAU,EAAE,GAAG,EAAE;QACf,OAAM;IACR,CAAC;IACD,gBAAgB,EAAE,GAAG,EAAE;QACrB,OAAM;IACR,CAAC;IACD,YAAY,EAAE,GAAS,EAAE;QACvB,OAAM;IACR,CAAC,CAAA;IACD,WAAW,EAAE,GAAG,EAAE;QAChB,OAAM;IACR,CAAC;IACD,WAAW,EAAE,GAAG,EAAE;QAChB,OAAM;IACR,CAAC;IACD,mBAAmB,EAAE,GAAG,EAAE;QACxB,OAAM;IACR,CAAC;IACD,iBAAiB,EAAE,GAAG,EAAE;QACtB,OAAM;IACR,CAAC;IACD,qBAAqB,EAAE,GAAG,EAAE;QAC1B,OAAM;IACR,CAAC;IACD,cAAc,EAAE,GAAS,EAAE;QACzB,OAAM;IACR,CAAC,CAAA;IACD,SAAS,EAAE,GAAS,EAAE;QACpB,OAAM;IACR,CAAC,CAAA;IACD,WAAW,EAAE,GAAS,EAAE;QACtB,OAAM;IACR,CAAC,CAAA;IACD,QAAQ,EAAE,GAAS,EAAE;QACnB,OAAM;IACR,CAAC,CAAA;IACD,oBAAoB,EAAE,GAAG,EAAE;QACzB,OAAM;IACR,CAAC;IACD,aAAa,EAAE,GAAG,EAAE;QAClB,OAAM;IACR,CAAC;IACD,iBAAiB,EAAE,GAAG,EAAE;QACtB,OAAM;IACR,CAAC;IACD,oBAAoB,EAAE,GAAG,EAAE;QACzB,OAAM;IACR,CAAC;IACD,iBAAiB,EAAE,GAAG,EAAE;QACtB,OAAM;IACR,CAAC;IACD,aAAa,EAAE,GAAG,EAAE;QAClB,OAAM;IACR,CAAC;IACD,aAAa,EAAE,GAAG,EAAE;QAClB,OAAM;IACR,CAAC;IACD,UAAU,EAAE,GAAG,EAAE;QACf,OAAM;IACR,CAAC;IACD,wBAAwB,EAAE,GAAG,EAAE;QAC7B,OAAM;IACR,CAAC;IACD,YAAY,EAAE,EAAkB;IAChC,UAAU,EAAE,GAAS,EAAE;QACrB,OAAM;IACR,CAAC,CAAA;IACD,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IACtC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAC9B,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAChC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAC5B,yBAAyB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAC5C,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;CAC9B,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { WebchatAction } from './actions';
2
- import { WebchatState } from './index-types';
2
+ import { WebchatState } from './types';
3
3
  export declare const messagesReducer: (state: WebchatState, action: {
4
4
  type: WebchatAction;
5
5
  payload?: any;
@@ -1,4 +1,4 @@
1
- import { SENDERS } from '../index-types';
1
+ import { SENDERS } from '../../index-types';
2
2
  import { WebchatAction } from './actions';
3
3
  export const messagesReducer = (state, action) => {
4
4
  switch (action.type) {
@@ -10,6 +10,8 @@ export const messagesReducer = (state, action) => {
10
10
  return updateMessageReducer(state, action);
11
11
  case WebchatAction.UPDATE_REPLIES:
12
12
  return Object.assign(Object.assign({}, state), { replies: action.payload });
13
+ case WebchatAction.REMOVE_REPLIES:
14
+ return Object.assign(Object.assign({}, state), { replies: undefined });
13
15
  case WebchatAction.CLEAR_MESSAGES:
14
16
  return Object.assign(Object.assign({}, state), { messagesJSON: [], messagesComponents: [], numUnreadMessages: 0 });
15
17
  case WebchatAction.UPDATE_LAST_MESSAGE_DATE:
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-reducer.js","sourceRoot":"","sources":["../../../../src/webchat/context/messages-reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAGzC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAmB,EACnB,MAA8C,EAChC,EAAE;IAChB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,aAAa,CAAC,WAAW;YAC5B,OAAO,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACzC,KAAK,aAAa,CAAC,qBAAqB;YACtC,OAAO,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC3C,KAAK,aAAa,CAAC,cAAc;YAC/B,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC5C,KAAK,aAAa,CAAC,cAAc;YAC/B,uCAAY,KAAK,KAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAE;QAC9C,KAAK,aAAa,CAAC,cAAc;YAC/B,uCAAY,KAAK,KAAE,OAAO,EAAE,SAAS,IAAE;QACzC,KAAK,aAAa,CAAC,cAAc;YAC/B,uCACK,KAAK,KACR,YAAY,EAAE,EAAE,EAChB,kBAAkB,EAAE,EAAE,EACtB,iBAAiB,EAAE,CAAC,IACrB;QACH,KAAK,aAAa,CAAC,wBAAwB;YACzC,uCACK,KAAK,KACR,iBAAiB,EAAE,MAAM,CAAC,OAAO,IAClC;QACH,KAAK,aAAa,CAAC,qBAAqB;YACtC,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAA;QACnC,KAAK,aAAa,CAAC,wBAAwB;YACzC,uCACK,KAAK,KACR,oBAAoB,EAAE,MAAM,CAAC,OAAO,IACrC;QACH;YACE,MAAM,IAAI,KAAK,EAAE,CAAA;KACpB;AACH,CAAC,CAAA;AAED,SAAS,mBAAmB,CAC1B,KAAmB,EACnB,MAA8C;;IAE9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAA;IACvC,MAAM,eAAe,GACnB,CAAA,MAAA,gBAAgB,CAAC,KAAK,0CAAE,QAAQ;QAChC,CAAA,MAAA,gBAAgB,CAAC,KAAK,0CAAE,MAAM,MAAK,OAAO,CAAC,IAAI,CAAA;IAEjD,MAAM,iBAAiB,GAAG,eAAe;QACvC,CAAC,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC;QAC7B,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAA;IAE3B,uCACK,KAAK,KACR,kBAAkB,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAAE,gBAAgB,CAAC,EAC3E,iBAAiB,IAClB;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAmB;IAC9C,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;QACzE,IAAI,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE;YACnC,gBAAgB,mCACX,gBAAgB,KACnB,KAAK,kCAAO,gBAAgB,CAAC,KAAK,KAAE,QAAQ,EAAE,KAAK,MACpD,CAAA;SACF;QACD,OAAO,gBAAgB,CAAA;IACzB,CAAC,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACxD,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAA;SAC7B;QACD,OAAO,WAAW,CAAA;IACpB,CAAC,CAAC,CAAA;IACF,uCACK,KAAK,KACR,kBAAkB;QAClB,YAAY,EACZ,iBAAiB,EAAE,CAAC,IACrB;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAmB,EACnB,MAA8C;IAE9C,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC7E,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE;QACjB,MAAM,YAAY,GAAG,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QACvD,IAAI,wBAAwB,GAAG,EAAE,CAAA;QACjC,IAAI,YAAY,EAAE;YAChB,MAAM,mBAAmB,mCACpB,YAAY,GACZ;gBACD,KAAK,kCAAO,YAAY,CAAC,KAAK,KAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,GAAE;aAC1D,CACF,CAAA;YACD,wBAAwB,GAAG;gBACzB,kBAAkB,EAAE;oBAClB,GAAG,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;sCACzC,mBAAmB;oBACxB,GAAG,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;iBAChD;aACF,CAAA;SACF;QAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,CACvD,gBAAgB,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CACpD,CAAC,MAAM,CAAA;QAER,mEACK,KAAK,KACR,YAAY,EAAE;gBACZ,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;kCACnC,MAAM,CAAC,OAAO;gBACnB,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;aAC1C,KACE,wBAAwB,KAC3B,iBAAiB,IAClB;KACF;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAmB,EACnB,MAA8C;IAE9C,IACE,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAExD,OAAO,KAAK,CAAA;IACd,uCACK,KAAK,KACR,YAAY,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,IAC9D;AACH,CAAC"}
@@ -0,0 +1,83 @@
1
+ /// <reference types="react" />
2
+ import { Input as CoreInput, Session as CoreSession } from '@botonic/core';
3
+ import { Reply, WebchatSettingsProps, Webview } from '../../components';
4
+ import { CloseWebviewOptions } from '../../contexts';
5
+ import { TrackEventFunction, WebchatMessage } from '../../index-types';
6
+ import { WebchatTheme } from '../theme/types';
7
+ export interface ErrorMessage {
8
+ message?: string;
9
+ }
10
+ export interface DevSettings {
11
+ keepSessionOnReload?: boolean;
12
+ showSessionView?: boolean;
13
+ }
14
+ export interface WebchatState {
15
+ messagesJSON: any[];
16
+ messagesComponents: any[];
17
+ replies?: (typeof Reply)[];
18
+ latestInput: Partial<CoreInput>;
19
+ typing: boolean;
20
+ webview: Webview | null;
21
+ webviewParams: null;
22
+ session: Partial<CoreSession>;
23
+ lastRoutePath?: string;
24
+ handoff: boolean;
25
+ theme: WebchatTheme;
26
+ themeUpdates: Partial<WebchatTheme>;
27
+ error: ErrorMessage;
28
+ online: boolean;
29
+ devSettings: DevSettings;
30
+ isWebchatOpen: boolean;
31
+ isEmojiPickerOpen: boolean;
32
+ isPersistentMenuOpen: boolean;
33
+ isCoverComponentOpen: boolean;
34
+ isCustomComponentRendered: boolean;
35
+ lastMessageUpdate?: string;
36
+ currentAttachment?: File;
37
+ numUnreadMessages: number;
38
+ isLastMessageVisible: boolean;
39
+ isInputFocused: boolean;
40
+ }
41
+ export type ClientInput = Omit<CoreInput, 'message_id' | 'bot_interaction_id'>;
42
+ export type ClientSession = {
43
+ user: ClientUser;
44
+ };
45
+ export type ClientUser = {
46
+ id: string;
47
+ name: string;
48
+ locale: string;
49
+ country: string;
50
+ system_locale?: string;
51
+ extra_data?: Record<string, any>;
52
+ };
53
+ export interface WebchatContextProps {
54
+ addMessage: (message: WebchatMessage) => void;
55
+ getThemeProperty: (property: string, defaultValue?: any) => any;
56
+ closeWebview: (options?: CloseWebviewOptions) => Promise<void>;
57
+ openWebview: (webviewComponent: Webview, params?: any) => void;
58
+ resetUnreadMessages: () => void;
59
+ resolveCase: () => void;
60
+ sendAttachment: (attachment: File) => Promise<void>;
61
+ sendInput: (input: ClientInput) => Promise<void>;
62
+ sendPayload: (payload: string) => Promise<void>;
63
+ sendText: (text: string, payload?: string) => Promise<void>;
64
+ setIsInputFocused: (isInputFocused: boolean) => void;
65
+ setLastMessageVisible: (isLastMessageVisible: boolean) => void;
66
+ toggleWebchat: (toggle: boolean) => void;
67
+ toggleEmojiPicker: (toggle: boolean) => void;
68
+ togglePersistentMenu: (toggle: boolean) => void;
69
+ toggleCoverComponent: (toggle: boolean) => void;
70
+ updateLatestInput: (input: ClientInput) => void;
71
+ updateMessage: (message: WebchatMessage) => void;
72
+ updateReplies: (replies: (typeof Reply)[]) => void;
73
+ updateUser: (user: ClientUser) => void;
74
+ updateWebchatDevSettings: (settings: WebchatSettingsProps) => void;
75
+ trackEvent?: TrackEventFunction;
76
+ webchatState: WebchatState;
77
+ webchatContainerRef: React.MutableRefObject<HTMLDivElement | null>;
78
+ chatAreaRef: React.MutableRefObject<HTMLDivElement | null>;
79
+ inputPanelRef: React.MutableRefObject<HTMLDivElement | null>;
80
+ headerRef: React.MutableRefObject<HTMLDivElement | null>;
81
+ scrollableMessagesListRef: React.MutableRefObject<HTMLDivElement | null>;
82
+ repliesRef: React.MutableRefObject<HTMLDivElement | null>;
83
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/webchat/context/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,46 @@
1
+ /// <reference types="react" />
2
+ import { Session } from '@botonic/core';
3
+ import { Reply } from '../../components';
4
+ import { Webview } from '../../components/index-types';
5
+ import { WebchatMessage } from '../../index-types';
6
+ import { WebchatTheme } from '../theme/types';
7
+ import { ClientInput, DevSettings, ErrorMessage, WebchatState } from './types';
8
+ export interface UseWebchat {
9
+ addMessage: (message: WebchatMessage) => void;
10
+ addMessageComponent: (message: {
11
+ props: WebchatMessage;
12
+ }) => void;
13
+ clearMessages: () => void;
14
+ doRenderCustomComponent: (toggle: boolean) => void;
15
+ resetUnreadMessages: () => void;
16
+ setCurrentAttachment: (attachment?: File) => void;
17
+ setError: (error?: ErrorMessage) => void;
18
+ setIsInputFocused: (isInputFocused: boolean) => void;
19
+ setLastMessageVisible: (isLastMessageVisible: boolean) => void;
20
+ setOnline: (online: boolean) => void;
21
+ toggleCoverComponent: (toggle: boolean) => void;
22
+ toggleEmojiPicker: (toggle: boolean) => void;
23
+ togglePersistentMenu: (toggle: boolean) => void;
24
+ toggleWebchat: (toggle: boolean) => void;
25
+ updateDevSettings: (settings: DevSettings) => void;
26
+ updateHandoff: (handoff: boolean) => void;
27
+ updateLastMessageDate: (date: string) => void;
28
+ updateLastRoutePath: (path: string) => void;
29
+ updateLatestInput: (input: ClientInput) => void;
30
+ updateMessage: (message: WebchatMessage) => void;
31
+ updateReplies: (replies: (typeof Reply)[]) => void;
32
+ updateSession: (session: Partial<Session>) => void;
33
+ updateTheme: (theme: WebchatTheme, themeUpdates?: WebchatTheme) => void;
34
+ updateTyping: (typing: boolean) => void;
35
+ updateWebview: (webview: Webview, params: Record<string, string>) => void;
36
+ removeReplies: () => void;
37
+ removeWebview: () => void;
38
+ webchatState: WebchatState;
39
+ webchatContainerRef: React.MutableRefObject<HTMLDivElement | null>;
40
+ headerRef: React.MutableRefObject<HTMLDivElement | null>;
41
+ chatAreaRef: React.MutableRefObject<HTMLDivElement | null>;
42
+ scrollableMessagesListRef: React.MutableRefObject<HTMLDivElement | null>;
43
+ repliesRef: React.MutableRefObject<HTMLDivElement | null>;
44
+ inputPanelRef: React.MutableRefObject<HTMLDivElement | null>;
45
+ }
46
+ export declare function useWebchat(theme?: WebchatTheme): UseWebchat;
@@ -1,47 +1,41 @@
1
1
  import { useReducer, useRef } from 'react';
2
- import { COLORS, WEBCHAT } from '../../constants';
3
- import { WebchatAction } from '../actions';
4
- import { webchatReducer } from '../webchat-reducer';
5
- export const webchatInitialState = {
6
- width: WEBCHAT.DEFAULTS.WIDTH,
7
- height: WEBCHAT.DEFAULTS.HEIGHT,
8
- messagesJSON: [],
9
- messagesComponents: [],
10
- replies: [],
11
- latestInput: {},
12
- typing: false,
13
- webview: null,
14
- webviewParams: null,
15
- session: { user: undefined },
16
- lastRoutePath: null,
17
- handoff: false,
18
- theme: {
19
- headerTitle: WEBCHAT.DEFAULTS.TITLE,
20
- brandColor: COLORS.BOTONIC_BLUE,
21
- brandImage: WEBCHAT.DEFAULTS.LOGO,
22
- triggerButtonImage: undefined,
23
- textPlaceholder: WEBCHAT.DEFAULTS.PLACEHOLDER,
24
- style: {
25
- fontFamily: WEBCHAT.DEFAULTS.FONT_FAMILY,
26
- },
27
- },
28
- themeUpdates: {},
29
- error: {},
30
- online: true,
31
- devSettings: { keepSessionOnReload: false },
32
- isWebchatOpen: false,
33
- isEmojiPickerOpen: false,
34
- isPersistentMenuOpen: false,
35
- isCoverComponentOpen: false,
36
- isCustomComponentRendered: false,
37
- lastMessageUpdate: undefined,
38
- currentAttachment: undefined,
39
- numUnreadMessages: 0,
40
- isLastMessageVisible: true,
41
- };
42
- export function useWebchat() {
2
+ import { defaultTheme } from '../theme/default-theme';
3
+ import { WebchatAction } from './actions';
4
+ import { webchatReducer } from './webchat-reducer';
5
+ function getWebchatInitialState(initialTheme) {
6
+ return {
7
+ replies: [],
8
+ messagesJSON: [],
9
+ messagesComponents: [],
10
+ latestInput: {},
11
+ typing: false,
12
+ webview: null,
13
+ webviewParams: null,
14
+ session: { user: undefined },
15
+ lastRoutePath: undefined,
16
+ handoff: false,
17
+ theme: initialTheme,
18
+ themeUpdates: {},
19
+ error: {},
20
+ online: true,
21
+ devSettings: { keepSessionOnReload: false },
22
+ isWebchatOpen: false,
23
+ isEmojiPickerOpen: false,
24
+ isPersistentMenuOpen: false,
25
+ isCoverComponentOpen: false,
26
+ isCustomComponentRendered: false,
27
+ lastMessageUpdate: undefined,
28
+ currentAttachment: undefined,
29
+ numUnreadMessages: 0,
30
+ isLastMessageVisible: true,
31
+ isInputFocused: false,
32
+ };
33
+ }
34
+ export function useWebchat(theme) {
35
+ const initialTheme = theme || defaultTheme;
36
+ const webchatInitialState = getWebchatInitialState(initialTheme);
43
37
  const [webchatState, webchatDispatch] = useReducer(webchatReducer, webchatInitialState);
44
- const webchatRef = useRef(null);
38
+ const webchatContainerRef = useRef(null);
45
39
  const chatAreaRef = useRef(null);
46
40
  const inputPanelRef = useRef(null);
47
41
  const headerRef = useRef(null);
@@ -53,13 +47,17 @@ export function useWebchat() {
53
47
  payload: message,
54
48
  });
55
49
  const updateMessage = (message) => webchatDispatch({ type: WebchatAction.UPDATE_MESSAGE, payload: message });
56
- const updateReplies = replies => webchatDispatch({ type: WebchatAction.UPDATE_REPLIES, payload: replies });
50
+ const updateReplies = (replies) => webchatDispatch({ type: WebchatAction.UPDATE_REPLIES, payload: replies });
51
+ const removeReplies = () => webchatDispatch({ type: WebchatAction.REMOVE_REPLIES, payload: [] });
57
52
  const updateLatestInput = (input) => webchatDispatch({ type: WebchatAction.UPDATE_LATEST_INPUT, payload: input });
58
53
  const updateTyping = (typing) => webchatDispatch({ type: WebchatAction.UPDATE_TYPING, payload: typing });
59
54
  const updateWebview = (webview, params) => webchatDispatch({
60
55
  type: WebchatAction.UPDATE_WEBVIEW,
61
56
  payload: { webview, webviewParams: params },
62
57
  });
58
+ const removeWebview = () => webchatDispatch({
59
+ type: WebchatAction.REMOVE_WEBVIEW,
60
+ });
63
61
  const updateSession = (session) => {
64
62
  webchatDispatch({
65
63
  type: WebchatAction.UPDATE_SESSION,
@@ -143,6 +141,12 @@ export function useWebchat() {
143
141
  payload: isLastMessageVisible,
144
142
  });
145
143
  };
144
+ const setIsInputFocused = (isInputFocused) => {
145
+ webchatDispatch({
146
+ type: WebchatAction.SET_IS_INPUT_FOCUSED,
147
+ payload: isInputFocused,
148
+ });
149
+ };
146
150
  return {
147
151
  addMessage,
148
152
  addMessageComponent,
@@ -151,6 +155,7 @@ export function useWebchat() {
151
155
  resetUnreadMessages,
152
156
  setCurrentAttachment,
153
157
  setError,
158
+ setIsInputFocused,
154
159
  setLastMessageVisible,
155
160
  setOnline,
156
161
  toggleCoverComponent,
@@ -168,9 +173,10 @@ export function useWebchat() {
168
173
  updateTheme,
169
174
  updateTyping,
170
175
  updateWebview,
171
- webchatDispatch,
176
+ removeReplies,
177
+ removeWebview,
172
178
  webchatState,
173
- webchatRef,
179
+ webchatContainerRef,
174
180
  headerRef,
175
181
  chatAreaRef,
176
182
  scrollableMessagesListRef,