@botonic/react 0.44.1-alpha.3 → 0.45.0-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 (787) hide show
  1. package/lib/cjs/botonic-tester.js +0 -1
  2. package/lib/cjs/botonic-tester.js.map +1 -1
  3. package/lib/cjs/components/audio.d.ts +1 -1
  4. package/lib/cjs/components/audio.js +2 -1
  5. package/lib/cjs/components/audio.js.map +1 -1
  6. package/lib/cjs/components/button/index.d.ts +1 -1
  7. package/lib/cjs/components/button/index.js +5 -8
  8. package/lib/cjs/components/button/index.js.map +1 -1
  9. package/lib/cjs/components/buttons-disabler.d.ts +2 -2
  10. package/lib/cjs/components/buttons-disabler.js +12 -6
  11. package/lib/cjs/components/buttons-disabler.js.map +1 -1
  12. package/lib/cjs/components/carousel.d.ts +1 -1
  13. package/lib/cjs/components/carousel.js +5 -4
  14. package/lib/cjs/components/carousel.js.map +1 -1
  15. package/lib/cjs/components/custom-message.d.ts +1 -1
  16. package/lib/cjs/components/custom-message.js +1 -2
  17. package/lib/cjs/components/custom-message.js.map +1 -1
  18. package/lib/cjs/components/document.d.ts +1 -1
  19. package/lib/cjs/components/document.js +2 -1
  20. package/lib/cjs/components/document.js.map +1 -1
  21. package/lib/cjs/components/element.d.ts +1 -1
  22. package/lib/cjs/components/element.js +7 -5
  23. package/lib/cjs/components/element.js.map +1 -1
  24. package/lib/cjs/components/handoff.d.ts +1 -1
  25. package/lib/cjs/components/handoff.js +2 -2
  26. package/lib/cjs/components/handoff.js.map +1 -1
  27. package/lib/cjs/components/image.d.ts +1 -1
  28. package/lib/cjs/components/image.js.map +1 -1
  29. package/lib/cjs/components/index-types.d.ts +2 -2
  30. package/lib/cjs/components/location.js +2 -3
  31. package/lib/cjs/components/location.js.map +1 -1
  32. package/lib/cjs/components/markdown.d.ts +1 -1
  33. package/lib/cjs/components/markdown.js +24 -16
  34. package/lib/cjs/components/markdown.js.map +1 -1
  35. package/lib/cjs/components/message/index.js +25 -20
  36. package/lib/cjs/components/message/index.js.map +1 -1
  37. package/lib/cjs/components/message/message-feedback.js.map +1 -1
  38. package/lib/cjs/components/message/message-footer.js.map +1 -1
  39. package/lib/cjs/components/message/message-image.js.map +1 -1
  40. package/lib/cjs/components/message/timestamps.js +1 -1
  41. package/lib/cjs/components/message/timestamps.js.map +1 -1
  42. package/lib/cjs/components/message-template.js +3 -4
  43. package/lib/cjs/components/message-template.js.map +1 -1
  44. package/lib/cjs/components/multichannel/facebook/facebook.js +3 -2
  45. package/lib/cjs/components/multichannel/facebook/facebook.js.map +1 -1
  46. package/lib/cjs/components/multichannel/multichannel-button.js +6 -6
  47. package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -1
  48. package/lib/cjs/components/multichannel/multichannel-carousel.js +11 -7
  49. package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -1
  50. package/lib/cjs/components/multichannel/multichannel-reply.js +3 -3
  51. package/lib/cjs/components/multichannel/multichannel-reply.js.map +1 -1
  52. package/lib/cjs/components/multichannel/multichannel-text.js +15 -9
  53. package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -1
  54. package/lib/cjs/components/multichannel/multichannel-utils.js +8 -4
  55. package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -1
  56. package/lib/cjs/components/multichannel/multichannel.js +1 -2
  57. package/lib/cjs/components/multichannel/multichannel.js.map +1 -1
  58. package/lib/cjs/components/pic.js +1 -1
  59. package/lib/cjs/components/pic.js.map +1 -1
  60. package/lib/cjs/components/raw.js +3 -2
  61. package/lib/cjs/components/raw.js.map +1 -1
  62. package/lib/cjs/components/reply.d.ts +1 -1
  63. package/lib/cjs/components/reply.js +6 -4
  64. package/lib/cjs/components/reply.js.map +1 -1
  65. package/lib/cjs/components/share-button.js +3 -4
  66. package/lib/cjs/components/share-button.js.map +1 -1
  67. package/lib/cjs/components/subtitle.d.ts +1 -1
  68. package/lib/cjs/components/system-debug-trace/debug-message.d.ts +1 -1
  69. package/lib/cjs/components/system-debug-trace/debug-message.js.map +1 -1
  70. package/lib/cjs/components/system-debug-trace/events/ai-agent.d.ts +2 -2
  71. package/lib/cjs/components/system-debug-trace/events/ai-agent.js.map +1 -1
  72. package/lib/cjs/components/system-debug-trace/events/bot-action.d.ts +1 -1
  73. package/lib/cjs/components/system-debug-trace/events/bot-action.js.map +1 -1
  74. package/lib/cjs/components/system-debug-trace/events/components/guardrail-item.d.ts +1 -1
  75. package/lib/cjs/components/system-debug-trace/events/components/sources-section.d.ts +2 -2
  76. package/lib/cjs/components/system-debug-trace/events/components/sources-section.js +2 -1
  77. package/lib/cjs/components/system-debug-trace/events/components/sources-section.js.map +1 -1
  78. package/lib/cjs/components/system-debug-trace/events/conditional-channel.d.ts +1 -1
  79. package/lib/cjs/components/system-debug-trace/events/conditional-channel.js.map +1 -1
  80. package/lib/cjs/components/system-debug-trace/events/conditional-country.d.ts +1 -1
  81. package/lib/cjs/components/system-debug-trace/events/conditional-country.js.map +1 -1
  82. package/lib/cjs/components/system-debug-trace/events/conditional-custom.d.ts +1 -1
  83. package/lib/cjs/components/system-debug-trace/events/conditional-custom.js.map +1 -1
  84. package/lib/cjs/components/system-debug-trace/events/conditional-queue-status.d.ts +1 -1
  85. package/lib/cjs/components/system-debug-trace/events/conditional-queue-status.js.map +1 -1
  86. package/lib/cjs/components/system-debug-trace/events/fallback.d.ts +1 -1
  87. package/lib/cjs/components/system-debug-trace/events/fallback.js.map +1 -1
  88. package/lib/cjs/components/system-debug-trace/events/handoff-success.d.ts +1 -1
  89. package/lib/cjs/components/system-debug-trace/events/handoff-success.js.map +1 -1
  90. package/lib/cjs/components/system-debug-trace/events/keyword.d.ts +1 -1
  91. package/lib/cjs/components/system-debug-trace/events/keyword.js.map +1 -1
  92. package/lib/cjs/components/system-debug-trace/events/knowledge-base.d.ts +2 -2
  93. package/lib/cjs/components/system-debug-trace/events/knowledge-base.js.map +1 -1
  94. package/lib/cjs/components/system-debug-trace/events/redirect-flow.d.ts +1 -1
  95. package/lib/cjs/components/system-debug-trace/events/redirect-flow.js.map +1 -1
  96. package/lib/cjs/components/system-debug-trace/events/smart-intent.d.ts +1 -1
  97. package/lib/cjs/components/system-debug-trace/events/smart-intent.js.map +1 -1
  98. package/lib/cjs/components/system-debug-trace/events/webview-action-triggered.d.ts +1 -1
  99. package/lib/cjs/components/system-debug-trace/events/webview-action-triggered.js.map +1 -1
  100. package/lib/cjs/components/system-debug-trace/hooks/use-knowledge-base-info.d.ts +2 -2
  101. package/lib/cjs/components/system-debug-trace/hooks/use-knowledge-base-info.js +2 -2
  102. package/lib/cjs/components/system-debug-trace/hooks/use-knowledge-base-info.js.map +1 -1
  103. package/lib/cjs/components/system-debug-trace/hooks/use-last-label-position.d.ts +1 -1
  104. package/lib/cjs/components/system-debug-trace/hooks/use-last-label-position.js +6 -3
  105. package/lib/cjs/components/system-debug-trace/hooks/use-last-label-position.js.map +1 -1
  106. package/lib/cjs/components/system-debug-trace/icons/arrow-progress.d.ts +1 -1
  107. package/lib/cjs/components/system-debug-trace/icons/arrow-progress.js +3 -1
  108. package/lib/cjs/components/system-debug-trace/icons/arrow-progress.js.map +1 -1
  109. package/lib/cjs/components/system-debug-trace/icons/brain.d.ts +1 -1
  110. package/lib/cjs/components/system-debug-trace/icons/brain.js +3 -1
  111. package/lib/cjs/components/system-debug-trace/icons/brain.js.map +1 -1
  112. package/lib/cjs/components/system-debug-trace/icons/caret-down.d.ts +1 -1
  113. package/lib/cjs/components/system-debug-trace/icons/caret-down.js +3 -1
  114. package/lib/cjs/components/system-debug-trace/icons/caret-down.js.map +1 -1
  115. package/lib/cjs/components/system-debug-trace/icons/caret-up.d.ts +1 -1
  116. package/lib/cjs/components/system-debug-trace/icons/caret-up.js +3 -1
  117. package/lib/cjs/components/system-debug-trace/icons/caret-up.js.map +1 -1
  118. package/lib/cjs/components/system-debug-trace/icons/circle-check.d.ts +1 -1
  119. package/lib/cjs/components/system-debug-trace/icons/circle-check.js +1 -0
  120. package/lib/cjs/components/system-debug-trace/icons/circle-check.js.map +1 -1
  121. package/lib/cjs/components/system-debug-trace/icons/code.d.ts +1 -1
  122. package/lib/cjs/components/system-debug-trace/icons/code.js +1 -0
  123. package/lib/cjs/components/system-debug-trace/icons/code.js.map +1 -1
  124. package/lib/cjs/components/system-debug-trace/icons/file-pdf.d.ts +1 -1
  125. package/lib/cjs/components/system-debug-trace/icons/file-pdf.js +3 -1
  126. package/lib/cjs/components/system-debug-trace/icons/file-pdf.js.map +1 -1
  127. package/lib/cjs/components/system-debug-trace/icons/file-word.d.ts +1 -1
  128. package/lib/cjs/components/system-debug-trace/icons/file-word.js +3 -1
  129. package/lib/cjs/components/system-debug-trace/icons/file-word.js.map +1 -1
  130. package/lib/cjs/components/system-debug-trace/icons/hand.d.ts +1 -1
  131. package/lib/cjs/components/system-debug-trace/icons/hand.js +3 -1
  132. package/lib/cjs/components/system-debug-trace/icons/hand.js.map +1 -1
  133. package/lib/cjs/components/system-debug-trace/icons/head-set.d.ts +1 -1
  134. package/lib/cjs/components/system-debug-trace/icons/head-set.js +3 -1
  135. package/lib/cjs/components/system-debug-trace/icons/head-set.js.map +1 -1
  136. package/lib/cjs/components/system-debug-trace/icons/life-ring.d.ts +1 -1
  137. package/lib/cjs/components/system-debug-trace/icons/life-ring.js +3 -1
  138. package/lib/cjs/components/system-debug-trace/icons/life-ring.js.map +1 -1
  139. package/lib/cjs/components/system-debug-trace/icons/link.d.ts +1 -1
  140. package/lib/cjs/components/system-debug-trace/icons/link.js +3 -1
  141. package/lib/cjs/components/system-debug-trace/icons/link.js.map +1 -1
  142. package/lib/cjs/components/system-debug-trace/icons/quote-right.d.ts +1 -1
  143. package/lib/cjs/components/system-debug-trace/icons/quote-right.js +3 -1
  144. package/lib/cjs/components/system-debug-trace/icons/quote-right.js.map +1 -1
  145. package/lib/cjs/components/system-debug-trace/icons/screwdriver-wrench.d.ts +1 -1
  146. package/lib/cjs/components/system-debug-trace/icons/screwdriver-wrench.js +3 -1
  147. package/lib/cjs/components/system-debug-trace/icons/screwdriver-wrench.js.map +1 -1
  148. package/lib/cjs/components/system-debug-trace/icons/split.d.ts +1 -1
  149. package/lib/cjs/components/system-debug-trace/icons/split.js +3 -1
  150. package/lib/cjs/components/system-debug-trace/icons/split.js.map +1 -1
  151. package/lib/cjs/components/system-debug-trace/icons/wand.d.ts +1 -1
  152. package/lib/cjs/components/system-debug-trace/icons/wand.js +3 -1
  153. package/lib/cjs/components/system-debug-trace/icons/wand.js.map +1 -1
  154. package/lib/cjs/components/system-debug-trace/icons/window-restore.d.ts +1 -1
  155. package/lib/cjs/components/system-debug-trace/icons/window-restore.js +3 -1
  156. package/lib/cjs/components/system-debug-trace/icons/window-restore.js.map +1 -1
  157. package/lib/cjs/components/system-debug-trace/index.js.map +1 -1
  158. package/lib/cjs/components/system-debug-trace/types.d.ts +2 -2
  159. package/lib/cjs/components/text.d.ts +1 -1
  160. package/lib/cjs/components/text.js +8 -4
  161. package/lib/cjs/components/text.js.map +1 -1
  162. package/lib/cjs/components/title.d.ts +1 -1
  163. package/lib/cjs/components/video.d.ts +1 -1
  164. package/lib/cjs/components/video.js +2 -1
  165. package/lib/cjs/components/video.js.map +1 -1
  166. package/lib/cjs/components/webchat-settings.d.ts +3 -3
  167. package/lib/cjs/components/webchat-settings.js +40 -35
  168. package/lib/cjs/components/webchat-settings.js.map +1 -1
  169. package/lib/cjs/components/whatsapp-button-list.js +1 -1
  170. package/lib/cjs/components/whatsapp-button-list.js.map +1 -1
  171. package/lib/cjs/components/whatsapp-catalog.js +1 -1
  172. package/lib/cjs/components/whatsapp-catalog.js.map +1 -1
  173. package/lib/cjs/components/whatsapp-cta-url-button.js +1 -1
  174. package/lib/cjs/components/whatsapp-cta-url-button.js.map +1 -1
  175. package/lib/cjs/components/whatsapp-interactive-media-carousel.js +1 -1
  176. package/lib/cjs/components/whatsapp-interactive-media-carousel.js.map +1 -1
  177. package/lib/cjs/components/whatsapp-media-carousel.js +1 -1
  178. package/lib/cjs/components/whatsapp-media-carousel.js.map +1 -1
  179. package/lib/cjs/components/whatsapp-product-carousel.js +1 -1
  180. package/lib/cjs/components/whatsapp-product-carousel.js.map +1 -1
  181. package/lib/cjs/components/whatsapp-product-list.js +1 -1
  182. package/lib/cjs/components/whatsapp-product-list.js.map +1 -1
  183. package/lib/cjs/components/whatsapp-product.js +1 -1
  184. package/lib/cjs/components/whatsapp-product.js.map +1 -1
  185. package/lib/cjs/components/whatsapp-template/index.js +1 -1
  186. package/lib/cjs/components/whatsapp-template/index.js.map +1 -1
  187. package/lib/cjs/contexts.d.ts +2 -2
  188. package/lib/cjs/dev-app.js +4 -7
  189. package/lib/cjs/dev-app.js.map +1 -1
  190. package/lib/cjs/index-types.d.ts +7 -7
  191. package/lib/cjs/message-utils.js +2 -1
  192. package/lib/cjs/message-utils.js.map +1 -1
  193. package/lib/cjs/msg-to-botonic.d.ts +0 -1
  194. package/lib/cjs/msg-to-botonic.js +16 -15
  195. package/lib/cjs/msg-to-botonic.js.map +1 -1
  196. package/lib/cjs/react-bot.d.ts +2 -2
  197. package/lib/cjs/util/dom.js +3 -3
  198. package/lib/cjs/util/dom.js.map +1 -1
  199. package/lib/cjs/util/environment.d.ts +1 -1
  200. package/lib/cjs/util/environment.js +17 -12
  201. package/lib/cjs/util/environment.js.map +1 -1
  202. package/lib/cjs/util/error-boundary.js +4 -5
  203. package/lib/cjs/util/error-boundary.js.map +1 -1
  204. package/lib/cjs/util/logs.js +2 -1
  205. package/lib/cjs/util/logs.js.map +1 -1
  206. package/lib/cjs/util/objects.js +4 -3
  207. package/lib/cjs/util/objects.js.map +1 -1
  208. package/lib/cjs/util/react.js +6 -3
  209. package/lib/cjs/util/react.js.map +1 -1
  210. package/lib/cjs/util/regexs.js +3 -2
  211. package/lib/cjs/util/regexs.js.map +1 -1
  212. package/lib/cjs/util/webchat.d.ts +2 -2
  213. package/lib/cjs/util/webchat.js +13 -7
  214. package/lib/cjs/util/webchat.js.map +1 -1
  215. package/lib/cjs/webchat/chat-area/index.js.map +1 -1
  216. package/lib/cjs/webchat/components/common.js +0 -1
  217. package/lib/cjs/webchat/components/common.js.map +1 -1
  218. package/lib/cjs/webchat/components/conditional-animation.js +1 -2
  219. package/lib/cjs/webchat/components/conditional-animation.js.map +1 -1
  220. package/lib/cjs/webchat/components/opened-persistent-menu.js +4 -2
  221. package/lib/cjs/webchat/components/opened-persistent-menu.js.map +1 -1
  222. package/lib/cjs/webchat/context/index.d.ts +1 -1
  223. package/lib/cjs/webchat/context/messages-reducer.d.ts +1 -1
  224. package/lib/cjs/webchat/context/messages-reducer.js +2 -2
  225. package/lib/cjs/webchat/context/messages-reducer.js.map +1 -1
  226. package/lib/cjs/webchat/context/types.d.ts +5 -5
  227. package/lib/cjs/webchat/context/use-webchat.d.ts +6 -6
  228. package/lib/cjs/webchat/context/use-webchat.js.map +1 -1
  229. package/lib/cjs/webchat/context/webchat-reducer.d.ts +1 -1
  230. package/lib/cjs/webchat/cover-component/index.js.map +1 -1
  231. package/lib/cjs/webchat/custom-messages/rating/icons/face-angry.d.ts +2 -1
  232. package/lib/cjs/webchat/custom-messages/rating/icons/face-angry.js.map +1 -1
  233. package/lib/cjs/webchat/custom-messages/rating/icons/face-frown.d.ts +2 -1
  234. package/lib/cjs/webchat/custom-messages/rating/icons/face-frown.js.map +1 -1
  235. package/lib/cjs/webchat/custom-messages/rating/icons/face-grin-beam.d.ts +2 -1
  236. package/lib/cjs/webchat/custom-messages/rating/icons/face-grin-beam.js.map +1 -1
  237. package/lib/cjs/webchat/custom-messages/rating/icons/face-meh.d.ts +2 -1
  238. package/lib/cjs/webchat/custom-messages/rating/icons/face-meh.js.map +1 -1
  239. package/lib/cjs/webchat/custom-messages/rating/icons/face-smile.d.ts +2 -1
  240. package/lib/cjs/webchat/custom-messages/rating/icons/face-smile.js.map +1 -1
  241. package/lib/cjs/webchat/custom-messages/rating/icons/star.d.ts +2 -1
  242. package/lib/cjs/webchat/custom-messages/rating/icons/star.js.map +1 -1
  243. package/lib/cjs/webchat/custom-messages/rating/index.js +2 -1
  244. package/lib/cjs/webchat/custom-messages/rating/index.js.map +1 -1
  245. package/lib/cjs/webchat/custom-messages/rating/rating-selector.js +5 -2
  246. package/lib/cjs/webchat/custom-messages/rating/rating-selector.js.map +1 -1
  247. package/lib/cjs/webchat/custom-messages/rating/smileys.d.ts +1 -1
  248. package/lib/cjs/webchat/custom-messages/rating/smileys.js.map +1 -1
  249. package/lib/cjs/webchat/custom-messages/rating/stars.d.ts +1 -1
  250. package/lib/cjs/webchat/custom-messages/rating/stars.js.map +1 -1
  251. package/lib/cjs/webchat/header/default-header.js +1 -1
  252. package/lib/cjs/webchat/header/default-header.js.map +1 -1
  253. package/lib/cjs/webchat/header/index.d.ts +1 -2
  254. package/lib/cjs/webchat/header/index.js.map +1 -1
  255. package/lib/cjs/webchat/hooks/use-device-adapter.d.ts +1 -1
  256. package/lib/cjs/webchat/hooks/use-device-adapter.js +8 -5
  257. package/lib/cjs/webchat/hooks/use-device-adapter.js.map +1 -1
  258. package/lib/cjs/webchat/hooks/use-scroll-to-bottom.js +4 -2
  259. package/lib/cjs/webchat/hooks/use-scroll-to-bottom.js.map +1 -1
  260. package/lib/cjs/webchat/hooks/use-scrollbar-controller.js +15 -11
  261. package/lib/cjs/webchat/hooks/use-scrollbar-controller.js.map +1 -1
  262. package/lib/cjs/webchat/hooks/use-typing.d.ts +2 -2
  263. package/lib/cjs/webchat/hooks/use-typing.js +11 -6
  264. package/lib/cjs/webchat/hooks/use-typing.js.map +1 -1
  265. package/lib/cjs/webchat/hooks/use-virtual-keyboard-detection.d.ts +1 -1
  266. package/lib/cjs/webchat/hooks/use-virtual-keyboard-detection.js +3 -5
  267. package/lib/cjs/webchat/hooks/use-virtual-keyboard-detection.js.map +1 -1
  268. package/lib/cjs/webchat/hooks/use-webchat-dimensions.js +5 -4
  269. package/lib/cjs/webchat/hooks/use-webchat-dimensions.js.map +1 -1
  270. package/lib/cjs/webchat/index-types.d.ts +1 -1
  271. package/lib/cjs/webchat/input-panel/attachment.js.map +1 -1
  272. package/lib/cjs/webchat/input-panel/emoji-picker.js +2 -0
  273. package/lib/cjs/webchat/input-panel/emoji-picker.js.map +1 -1
  274. package/lib/cjs/webchat/input-panel/index.d.ts +1 -1
  275. package/lib/cjs/webchat/input-panel/index.js +4 -2
  276. package/lib/cjs/webchat/input-panel/index.js.map +1 -1
  277. package/lib/cjs/webchat/input-panel/persistent-menu.js +2 -0
  278. package/lib/cjs/webchat/input-panel/persistent-menu.js.map +1 -1
  279. package/lib/cjs/webchat/input-panel/send-button.js +2 -0
  280. package/lib/cjs/webchat/input-panel/send-button.js.map +1 -1
  281. package/lib/cjs/webchat/input-panel/textarea.d.ts +1 -1
  282. package/lib/cjs/webchat/input-panel/textarea.js +10 -5
  283. package/lib/cjs/webchat/input-panel/textarea.js.map +1 -1
  284. package/lib/cjs/webchat/message-list/index.js.map +1 -1
  285. package/lib/cjs/webchat/message-list/intro-message.js.map +1 -1
  286. package/lib/cjs/webchat/message-list/scroll-button.js +2 -1
  287. package/lib/cjs/webchat/message-list/scroll-button.js.map +1 -1
  288. package/lib/cjs/webchat/message-list/unread-messages-banner.d.ts +2 -1
  289. package/lib/cjs/webchat/message-list/unread-messages-banner.js.map +1 -1
  290. package/lib/cjs/webchat/replies/index.js +1 -1
  291. package/lib/cjs/webchat/replies/index.js.map +1 -1
  292. package/lib/cjs/webchat/session-view.js +0 -2
  293. package/lib/cjs/webchat/session-view.js.map +1 -1
  294. package/lib/cjs/webchat/theme/default-theme.d.ts +1 -1
  295. package/lib/cjs/webchat/theme/types.d.ts +1 -1
  296. package/lib/cjs/webchat/tracking.d.ts +1 -1
  297. package/lib/cjs/webchat/trigger-button/index.js +2 -0
  298. package/lib/cjs/webchat/trigger-button/index.js.map +1 -1
  299. package/lib/cjs/webchat/typing-indicator/index.d.ts +1 -2
  300. package/lib/cjs/webchat/typing-indicator/index.js.map +1 -1
  301. package/lib/cjs/webchat/utils.d.ts +1 -1
  302. package/lib/cjs/webchat/utils.js +2 -1
  303. package/lib/cjs/webchat/utils.js.map +1 -1
  304. package/lib/cjs/webchat/webchat-dev.d.ts +2 -3
  305. package/lib/cjs/webchat/webchat-dev.js +1 -2
  306. package/lib/cjs/webchat/webchat-dev.js.map +1 -1
  307. package/lib/cjs/webchat/webchat.d.ts +2 -3
  308. package/lib/cjs/webchat/webchat.js +72 -45
  309. package/lib/cjs/webchat/webchat.js.map +1 -1
  310. package/lib/cjs/webchat/webview/header.js.map +1 -1
  311. package/lib/cjs/webchat/webview/index.d.ts +1 -1
  312. package/lib/cjs/webchat/webview/index.js.map +1 -1
  313. package/lib/cjs/webchat/webview/styles.js.map +1 -1
  314. package/lib/cjs/webchat-app.d.ts +6 -6
  315. package/lib/cjs/webchat-app.js +25 -22
  316. package/lib/cjs/webchat-app.js.map +1 -1
  317. package/lib/cjs/webview-app.js +7 -4
  318. package/lib/cjs/webview-app.js.map +1 -1
  319. package/lib/esm/botonic-tester.js +0 -1
  320. package/lib/esm/botonic-tester.js.map +1 -1
  321. package/lib/esm/components/audio.d.ts +1 -1
  322. package/lib/esm/components/audio.js +2 -1
  323. package/lib/esm/components/audio.js.map +1 -1
  324. package/lib/esm/components/button/index.d.ts +1 -1
  325. package/lib/esm/components/button/index.js +5 -8
  326. package/lib/esm/components/button/index.js.map +1 -1
  327. package/lib/esm/components/buttons-disabler.d.ts +2 -2
  328. package/lib/esm/components/buttons-disabler.js +12 -6
  329. package/lib/esm/components/buttons-disabler.js.map +1 -1
  330. package/lib/esm/components/carousel.d.ts +1 -1
  331. package/lib/esm/components/carousel.js +5 -4
  332. package/lib/esm/components/carousel.js.map +1 -1
  333. package/lib/esm/components/custom-message.d.ts +1 -1
  334. package/lib/esm/components/custom-message.js +1 -2
  335. package/lib/esm/components/custom-message.js.map +1 -1
  336. package/lib/esm/components/document.d.ts +1 -1
  337. package/lib/esm/components/document.js +2 -1
  338. package/lib/esm/components/document.js.map +1 -1
  339. package/lib/esm/components/element.d.ts +1 -1
  340. package/lib/esm/components/element.js +7 -5
  341. package/lib/esm/components/element.js.map +1 -1
  342. package/lib/esm/components/handoff.d.ts +1 -1
  343. package/lib/esm/components/handoff.js +2 -2
  344. package/lib/esm/components/handoff.js.map +1 -1
  345. package/lib/esm/components/image.d.ts +1 -1
  346. package/lib/esm/components/image.js.map +1 -1
  347. package/lib/esm/components/index-types.d.ts +2 -2
  348. package/lib/esm/components/location.js +2 -3
  349. package/lib/esm/components/location.js.map +1 -1
  350. package/lib/esm/components/markdown.d.ts +1 -1
  351. package/lib/esm/components/markdown.js +24 -16
  352. package/lib/esm/components/markdown.js.map +1 -1
  353. package/lib/esm/components/message/index.js +25 -20
  354. package/lib/esm/components/message/index.js.map +1 -1
  355. package/lib/esm/components/message/message-feedback.js.map +1 -1
  356. package/lib/esm/components/message/message-footer.js.map +1 -1
  357. package/lib/esm/components/message/message-image.js.map +1 -1
  358. package/lib/esm/components/message/timestamps.js +1 -1
  359. package/lib/esm/components/message/timestamps.js.map +1 -1
  360. package/lib/esm/components/message-template.js +3 -4
  361. package/lib/esm/components/message-template.js.map +1 -1
  362. package/lib/esm/components/multichannel/facebook/facebook.js +3 -2
  363. package/lib/esm/components/multichannel/facebook/facebook.js.map +1 -1
  364. package/lib/esm/components/multichannel/multichannel-button.js +6 -6
  365. package/lib/esm/components/multichannel/multichannel-button.js.map +1 -1
  366. package/lib/esm/components/multichannel/multichannel-carousel.js +11 -7
  367. package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -1
  368. package/lib/esm/components/multichannel/multichannel-reply.js +3 -3
  369. package/lib/esm/components/multichannel/multichannel-reply.js.map +1 -1
  370. package/lib/esm/components/multichannel/multichannel-text.js +15 -9
  371. package/lib/esm/components/multichannel/multichannel-text.js.map +1 -1
  372. package/lib/esm/components/multichannel/multichannel-utils.js +8 -4
  373. package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -1
  374. package/lib/esm/components/multichannel/multichannel.js +1 -2
  375. package/lib/esm/components/multichannel/multichannel.js.map +1 -1
  376. package/lib/esm/components/pic.js +1 -1
  377. package/lib/esm/components/pic.js.map +1 -1
  378. package/lib/esm/components/raw.js +3 -2
  379. package/lib/esm/components/raw.js.map +1 -1
  380. package/lib/esm/components/reply.d.ts +1 -1
  381. package/lib/esm/components/reply.js +6 -4
  382. package/lib/esm/components/reply.js.map +1 -1
  383. package/lib/esm/components/share-button.js +3 -4
  384. package/lib/esm/components/share-button.js.map +1 -1
  385. package/lib/esm/components/subtitle.d.ts +1 -1
  386. package/lib/esm/components/system-debug-trace/debug-message.d.ts +1 -1
  387. package/lib/esm/components/system-debug-trace/debug-message.js.map +1 -1
  388. package/lib/esm/components/system-debug-trace/events/ai-agent.d.ts +2 -2
  389. package/lib/esm/components/system-debug-trace/events/ai-agent.js.map +1 -1
  390. package/lib/esm/components/system-debug-trace/events/bot-action.d.ts +1 -1
  391. package/lib/esm/components/system-debug-trace/events/bot-action.js.map +1 -1
  392. package/lib/esm/components/system-debug-trace/events/components/guardrail-item.d.ts +1 -1
  393. package/lib/esm/components/system-debug-trace/events/components/sources-section.d.ts +2 -2
  394. package/lib/esm/components/system-debug-trace/events/components/sources-section.js +2 -1
  395. package/lib/esm/components/system-debug-trace/events/components/sources-section.js.map +1 -1
  396. package/lib/esm/components/system-debug-trace/events/conditional-channel.d.ts +1 -1
  397. package/lib/esm/components/system-debug-trace/events/conditional-channel.js.map +1 -1
  398. package/lib/esm/components/system-debug-trace/events/conditional-country.d.ts +1 -1
  399. package/lib/esm/components/system-debug-trace/events/conditional-country.js.map +1 -1
  400. package/lib/esm/components/system-debug-trace/events/conditional-custom.d.ts +1 -1
  401. package/lib/esm/components/system-debug-trace/events/conditional-custom.js.map +1 -1
  402. package/lib/esm/components/system-debug-trace/events/conditional-queue-status.d.ts +1 -1
  403. package/lib/esm/components/system-debug-trace/events/conditional-queue-status.js.map +1 -1
  404. package/lib/esm/components/system-debug-trace/events/fallback.d.ts +1 -1
  405. package/lib/esm/components/system-debug-trace/events/fallback.js.map +1 -1
  406. package/lib/esm/components/system-debug-trace/events/handoff-success.d.ts +1 -1
  407. package/lib/esm/components/system-debug-trace/events/handoff-success.js.map +1 -1
  408. package/lib/esm/components/system-debug-trace/events/keyword.d.ts +1 -1
  409. package/lib/esm/components/system-debug-trace/events/keyword.js.map +1 -1
  410. package/lib/esm/components/system-debug-trace/events/knowledge-base.d.ts +2 -2
  411. package/lib/esm/components/system-debug-trace/events/knowledge-base.js.map +1 -1
  412. package/lib/esm/components/system-debug-trace/events/redirect-flow.d.ts +1 -1
  413. package/lib/esm/components/system-debug-trace/events/redirect-flow.js.map +1 -1
  414. package/lib/esm/components/system-debug-trace/events/smart-intent.d.ts +1 -1
  415. package/lib/esm/components/system-debug-trace/events/smart-intent.js.map +1 -1
  416. package/lib/esm/components/system-debug-trace/events/webview-action-triggered.d.ts +1 -1
  417. package/lib/esm/components/system-debug-trace/events/webview-action-triggered.js.map +1 -1
  418. package/lib/esm/components/system-debug-trace/hooks/use-knowledge-base-info.d.ts +2 -2
  419. package/lib/esm/components/system-debug-trace/hooks/use-knowledge-base-info.js +2 -2
  420. package/lib/esm/components/system-debug-trace/hooks/use-knowledge-base-info.js.map +1 -1
  421. package/lib/esm/components/system-debug-trace/hooks/use-last-label-position.d.ts +1 -1
  422. package/lib/esm/components/system-debug-trace/hooks/use-last-label-position.js +6 -3
  423. package/lib/esm/components/system-debug-trace/hooks/use-last-label-position.js.map +1 -1
  424. package/lib/esm/components/system-debug-trace/icons/arrow-progress.d.ts +1 -1
  425. package/lib/esm/components/system-debug-trace/icons/arrow-progress.js +3 -1
  426. package/lib/esm/components/system-debug-trace/icons/arrow-progress.js.map +1 -1
  427. package/lib/esm/components/system-debug-trace/icons/brain.d.ts +1 -1
  428. package/lib/esm/components/system-debug-trace/icons/brain.js +3 -1
  429. package/lib/esm/components/system-debug-trace/icons/brain.js.map +1 -1
  430. package/lib/esm/components/system-debug-trace/icons/caret-down.d.ts +1 -1
  431. package/lib/esm/components/system-debug-trace/icons/caret-down.js +3 -1
  432. package/lib/esm/components/system-debug-trace/icons/caret-down.js.map +1 -1
  433. package/lib/esm/components/system-debug-trace/icons/caret-up.d.ts +1 -1
  434. package/lib/esm/components/system-debug-trace/icons/caret-up.js +3 -1
  435. package/lib/esm/components/system-debug-trace/icons/caret-up.js.map +1 -1
  436. package/lib/esm/components/system-debug-trace/icons/circle-check.d.ts +1 -1
  437. package/lib/esm/components/system-debug-trace/icons/circle-check.js +1 -0
  438. package/lib/esm/components/system-debug-trace/icons/circle-check.js.map +1 -1
  439. package/lib/esm/components/system-debug-trace/icons/code.d.ts +1 -1
  440. package/lib/esm/components/system-debug-trace/icons/code.js +1 -0
  441. package/lib/esm/components/system-debug-trace/icons/code.js.map +1 -1
  442. package/lib/esm/components/system-debug-trace/icons/file-pdf.d.ts +1 -1
  443. package/lib/esm/components/system-debug-trace/icons/file-pdf.js +3 -1
  444. package/lib/esm/components/system-debug-trace/icons/file-pdf.js.map +1 -1
  445. package/lib/esm/components/system-debug-trace/icons/file-word.d.ts +1 -1
  446. package/lib/esm/components/system-debug-trace/icons/file-word.js +3 -1
  447. package/lib/esm/components/system-debug-trace/icons/file-word.js.map +1 -1
  448. package/lib/esm/components/system-debug-trace/icons/hand.d.ts +1 -1
  449. package/lib/esm/components/system-debug-trace/icons/hand.js +3 -1
  450. package/lib/esm/components/system-debug-trace/icons/hand.js.map +1 -1
  451. package/lib/esm/components/system-debug-trace/icons/head-set.d.ts +1 -1
  452. package/lib/esm/components/system-debug-trace/icons/head-set.js +3 -1
  453. package/lib/esm/components/system-debug-trace/icons/head-set.js.map +1 -1
  454. package/lib/esm/components/system-debug-trace/icons/life-ring.d.ts +1 -1
  455. package/lib/esm/components/system-debug-trace/icons/life-ring.js +3 -1
  456. package/lib/esm/components/system-debug-trace/icons/life-ring.js.map +1 -1
  457. package/lib/esm/components/system-debug-trace/icons/link.d.ts +1 -1
  458. package/lib/esm/components/system-debug-trace/icons/link.js +3 -1
  459. package/lib/esm/components/system-debug-trace/icons/link.js.map +1 -1
  460. package/lib/esm/components/system-debug-trace/icons/quote-right.d.ts +1 -1
  461. package/lib/esm/components/system-debug-trace/icons/quote-right.js +3 -1
  462. package/lib/esm/components/system-debug-trace/icons/quote-right.js.map +1 -1
  463. package/lib/esm/components/system-debug-trace/icons/screwdriver-wrench.d.ts +1 -1
  464. package/lib/esm/components/system-debug-trace/icons/screwdriver-wrench.js +3 -1
  465. package/lib/esm/components/system-debug-trace/icons/screwdriver-wrench.js.map +1 -1
  466. package/lib/esm/components/system-debug-trace/icons/split.d.ts +1 -1
  467. package/lib/esm/components/system-debug-trace/icons/split.js +3 -1
  468. package/lib/esm/components/system-debug-trace/icons/split.js.map +1 -1
  469. package/lib/esm/components/system-debug-trace/icons/wand.d.ts +1 -1
  470. package/lib/esm/components/system-debug-trace/icons/wand.js +3 -1
  471. package/lib/esm/components/system-debug-trace/icons/wand.js.map +1 -1
  472. package/lib/esm/components/system-debug-trace/icons/window-restore.d.ts +1 -1
  473. package/lib/esm/components/system-debug-trace/icons/window-restore.js +3 -1
  474. package/lib/esm/components/system-debug-trace/icons/window-restore.js.map +1 -1
  475. package/lib/esm/components/system-debug-trace/index.js.map +1 -1
  476. package/lib/esm/components/system-debug-trace/types.d.ts +2 -2
  477. package/lib/esm/components/text.d.ts +1 -1
  478. package/lib/esm/components/text.js +8 -4
  479. package/lib/esm/components/text.js.map +1 -1
  480. package/lib/esm/components/title.d.ts +1 -1
  481. package/lib/esm/components/video.d.ts +1 -1
  482. package/lib/esm/components/video.js +2 -1
  483. package/lib/esm/components/video.js.map +1 -1
  484. package/lib/esm/components/webchat-settings.d.ts +3 -3
  485. package/lib/esm/components/webchat-settings.js +40 -35
  486. package/lib/esm/components/webchat-settings.js.map +1 -1
  487. package/lib/esm/components/whatsapp-button-list.js +1 -1
  488. package/lib/esm/components/whatsapp-button-list.js.map +1 -1
  489. package/lib/esm/components/whatsapp-catalog.js +1 -1
  490. package/lib/esm/components/whatsapp-catalog.js.map +1 -1
  491. package/lib/esm/components/whatsapp-cta-url-button.js +1 -1
  492. package/lib/esm/components/whatsapp-cta-url-button.js.map +1 -1
  493. package/lib/esm/components/whatsapp-interactive-media-carousel.js +1 -1
  494. package/lib/esm/components/whatsapp-interactive-media-carousel.js.map +1 -1
  495. package/lib/esm/components/whatsapp-media-carousel.js +1 -1
  496. package/lib/esm/components/whatsapp-media-carousel.js.map +1 -1
  497. package/lib/esm/components/whatsapp-product-carousel.js +1 -1
  498. package/lib/esm/components/whatsapp-product-carousel.js.map +1 -1
  499. package/lib/esm/components/whatsapp-product-list.js +1 -1
  500. package/lib/esm/components/whatsapp-product-list.js.map +1 -1
  501. package/lib/esm/components/whatsapp-product.js +1 -1
  502. package/lib/esm/components/whatsapp-product.js.map +1 -1
  503. package/lib/esm/components/whatsapp-template/index.js +1 -1
  504. package/lib/esm/components/whatsapp-template/index.js.map +1 -1
  505. package/lib/esm/contexts.d.ts +2 -2
  506. package/lib/esm/dev-app.js +4 -7
  507. package/lib/esm/dev-app.js.map +1 -1
  508. package/lib/esm/index-types.d.ts +7 -7
  509. package/lib/esm/message-utils.js +2 -1
  510. package/lib/esm/message-utils.js.map +1 -1
  511. package/lib/esm/msg-to-botonic.d.ts +0 -1
  512. package/lib/esm/msg-to-botonic.js +16 -15
  513. package/lib/esm/msg-to-botonic.js.map +1 -1
  514. package/lib/esm/react-bot.d.ts +2 -2
  515. package/lib/esm/util/dom.js +3 -3
  516. package/lib/esm/util/dom.js.map +1 -1
  517. package/lib/esm/util/environment.d.ts +1 -1
  518. package/lib/esm/util/environment.js +17 -12
  519. package/lib/esm/util/environment.js.map +1 -1
  520. package/lib/esm/util/error-boundary.js +4 -5
  521. package/lib/esm/util/error-boundary.js.map +1 -1
  522. package/lib/esm/util/logs.js +2 -1
  523. package/lib/esm/util/logs.js.map +1 -1
  524. package/lib/esm/util/objects.js +4 -3
  525. package/lib/esm/util/objects.js.map +1 -1
  526. package/lib/esm/util/react.js +6 -3
  527. package/lib/esm/util/react.js.map +1 -1
  528. package/lib/esm/util/regexs.js +3 -2
  529. package/lib/esm/util/regexs.js.map +1 -1
  530. package/lib/esm/util/webchat.d.ts +2 -2
  531. package/lib/esm/util/webchat.js +13 -7
  532. package/lib/esm/util/webchat.js.map +1 -1
  533. package/lib/esm/webchat/chat-area/index.js.map +1 -1
  534. package/lib/esm/webchat/components/common.js +0 -1
  535. package/lib/esm/webchat/components/common.js.map +1 -1
  536. package/lib/esm/webchat/components/conditional-animation.js +1 -2
  537. package/lib/esm/webchat/components/conditional-animation.js.map +1 -1
  538. package/lib/esm/webchat/components/opened-persistent-menu.js +4 -2
  539. package/lib/esm/webchat/components/opened-persistent-menu.js.map +1 -1
  540. package/lib/esm/webchat/context/index.d.ts +1 -1
  541. package/lib/esm/webchat/context/messages-reducer.d.ts +1 -1
  542. package/lib/esm/webchat/context/messages-reducer.js +2 -2
  543. package/lib/esm/webchat/context/messages-reducer.js.map +1 -1
  544. package/lib/esm/webchat/context/types.d.ts +5 -5
  545. package/lib/esm/webchat/context/use-webchat.d.ts +6 -6
  546. package/lib/esm/webchat/context/use-webchat.js.map +1 -1
  547. package/lib/esm/webchat/context/webchat-reducer.d.ts +1 -1
  548. package/lib/esm/webchat/cover-component/index.js.map +1 -1
  549. package/lib/esm/webchat/custom-messages/rating/icons/face-angry.d.ts +2 -1
  550. package/lib/esm/webchat/custom-messages/rating/icons/face-angry.js.map +1 -1
  551. package/lib/esm/webchat/custom-messages/rating/icons/face-frown.d.ts +2 -1
  552. package/lib/esm/webchat/custom-messages/rating/icons/face-frown.js.map +1 -1
  553. package/lib/esm/webchat/custom-messages/rating/icons/face-grin-beam.d.ts +2 -1
  554. package/lib/esm/webchat/custom-messages/rating/icons/face-grin-beam.js.map +1 -1
  555. package/lib/esm/webchat/custom-messages/rating/icons/face-meh.d.ts +2 -1
  556. package/lib/esm/webchat/custom-messages/rating/icons/face-meh.js.map +1 -1
  557. package/lib/esm/webchat/custom-messages/rating/icons/face-smile.d.ts +2 -1
  558. package/lib/esm/webchat/custom-messages/rating/icons/face-smile.js.map +1 -1
  559. package/lib/esm/webchat/custom-messages/rating/icons/star.d.ts +2 -1
  560. package/lib/esm/webchat/custom-messages/rating/icons/star.js.map +1 -1
  561. package/lib/esm/webchat/custom-messages/rating/index.js +2 -1
  562. package/lib/esm/webchat/custom-messages/rating/index.js.map +1 -1
  563. package/lib/esm/webchat/custom-messages/rating/rating-selector.js +5 -2
  564. package/lib/esm/webchat/custom-messages/rating/rating-selector.js.map +1 -1
  565. package/lib/esm/webchat/custom-messages/rating/smileys.d.ts +1 -1
  566. package/lib/esm/webchat/custom-messages/rating/smileys.js.map +1 -1
  567. package/lib/esm/webchat/custom-messages/rating/stars.d.ts +1 -1
  568. package/lib/esm/webchat/custom-messages/rating/stars.js.map +1 -1
  569. package/lib/esm/webchat/header/default-header.js +1 -1
  570. package/lib/esm/webchat/header/default-header.js.map +1 -1
  571. package/lib/esm/webchat/header/index.d.ts +1 -2
  572. package/lib/esm/webchat/header/index.js.map +1 -1
  573. package/lib/esm/webchat/hooks/use-device-adapter.d.ts +1 -1
  574. package/lib/esm/webchat/hooks/use-device-adapter.js +8 -5
  575. package/lib/esm/webchat/hooks/use-device-adapter.js.map +1 -1
  576. package/lib/esm/webchat/hooks/use-scroll-to-bottom.js +4 -2
  577. package/lib/esm/webchat/hooks/use-scroll-to-bottom.js.map +1 -1
  578. package/lib/esm/webchat/hooks/use-scrollbar-controller.js +15 -11
  579. package/lib/esm/webchat/hooks/use-scrollbar-controller.js.map +1 -1
  580. package/lib/esm/webchat/hooks/use-typing.d.ts +2 -2
  581. package/lib/esm/webchat/hooks/use-typing.js +11 -6
  582. package/lib/esm/webchat/hooks/use-typing.js.map +1 -1
  583. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.d.ts +1 -1
  584. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js +3 -5
  585. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js.map +1 -1
  586. package/lib/esm/webchat/hooks/use-webchat-dimensions.js +5 -4
  587. package/lib/esm/webchat/hooks/use-webchat-dimensions.js.map +1 -1
  588. package/lib/esm/webchat/index-types.d.ts +1 -1
  589. package/lib/esm/webchat/input-panel/attachment.js.map +1 -1
  590. package/lib/esm/webchat/input-panel/emoji-picker.js +2 -0
  591. package/lib/esm/webchat/input-panel/emoji-picker.js.map +1 -1
  592. package/lib/esm/webchat/input-panel/index.d.ts +1 -1
  593. package/lib/esm/webchat/input-panel/index.js +4 -2
  594. package/lib/esm/webchat/input-panel/index.js.map +1 -1
  595. package/lib/esm/webchat/input-panel/persistent-menu.js +2 -0
  596. package/lib/esm/webchat/input-panel/persistent-menu.js.map +1 -1
  597. package/lib/esm/webchat/input-panel/send-button.js +2 -0
  598. package/lib/esm/webchat/input-panel/send-button.js.map +1 -1
  599. package/lib/esm/webchat/input-panel/textarea.d.ts +1 -1
  600. package/lib/esm/webchat/input-panel/textarea.js +10 -5
  601. package/lib/esm/webchat/input-panel/textarea.js.map +1 -1
  602. package/lib/esm/webchat/message-list/index.js.map +1 -1
  603. package/lib/esm/webchat/message-list/intro-message.js.map +1 -1
  604. package/lib/esm/webchat/message-list/scroll-button.js +2 -1
  605. package/lib/esm/webchat/message-list/scroll-button.js.map +1 -1
  606. package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +2 -1
  607. package/lib/esm/webchat/message-list/unread-messages-banner.js.map +1 -1
  608. package/lib/esm/webchat/replies/index.js +1 -1
  609. package/lib/esm/webchat/replies/index.js.map +1 -1
  610. package/lib/esm/webchat/session-view.js +0 -2
  611. package/lib/esm/webchat/session-view.js.map +1 -1
  612. package/lib/esm/webchat/theme/default-theme.d.ts +1 -1
  613. package/lib/esm/webchat/theme/types.d.ts +1 -1
  614. package/lib/esm/webchat/tracking.d.ts +1 -1
  615. package/lib/esm/webchat/trigger-button/index.js +2 -0
  616. package/lib/esm/webchat/trigger-button/index.js.map +1 -1
  617. package/lib/esm/webchat/typing-indicator/index.d.ts +1 -2
  618. package/lib/esm/webchat/typing-indicator/index.js.map +1 -1
  619. package/lib/esm/webchat/utils.d.ts +1 -1
  620. package/lib/esm/webchat/utils.js +2 -1
  621. package/lib/esm/webchat/utils.js.map +1 -1
  622. package/lib/esm/webchat/webchat-dev.d.ts +2 -3
  623. package/lib/esm/webchat/webchat-dev.js +1 -2
  624. package/lib/esm/webchat/webchat-dev.js.map +1 -1
  625. package/lib/esm/webchat/webchat.d.ts +2 -3
  626. package/lib/esm/webchat/webchat.js +72 -45
  627. package/lib/esm/webchat/webchat.js.map +1 -1
  628. package/lib/esm/webchat/webview/header.js.map +1 -1
  629. package/lib/esm/webchat/webview/index.d.ts +1 -1
  630. package/lib/esm/webchat/webview/index.js.map +1 -1
  631. package/lib/esm/webchat/webview/styles.js.map +1 -1
  632. package/lib/esm/webchat-app.d.ts +6 -6
  633. package/lib/esm/webchat-app.js +25 -22
  634. package/lib/esm/webchat-app.js.map +1 -1
  635. package/lib/esm/webview-app.js +7 -4
  636. package/lib/esm/webview-app.js.map +1 -1
  637. package/package.json +5 -5
  638. package/src/botonic-tester.jsx +0 -1
  639. package/src/components/audio.tsx +3 -3
  640. package/src/components/button/index.tsx +7 -10
  641. package/src/components/buttons-disabler.ts +16 -8
  642. package/src/components/carousel.tsx +8 -8
  643. package/src/components/custom-message.tsx +2 -3
  644. package/src/components/document.tsx +4 -3
  645. package/src/components/element.tsx +10 -6
  646. package/src/components/handoff.jsx +2 -2
  647. package/src/components/image.tsx +2 -2
  648. package/src/components/index-types.ts +2 -2
  649. package/src/components/location.jsx +0 -1
  650. package/src/components/markdown.js +26 -22
  651. package/src/components/message/index.jsx +72 -64
  652. package/src/components/message/message-feedback.tsx +1 -1
  653. package/src/components/message/message-footer.tsx +1 -1
  654. package/src/components/message/message-image.tsx +1 -1
  655. package/src/components/message/timestamps.tsx +2 -1
  656. package/src/components/message-template.jsx +1 -2
  657. package/src/components/multichannel/facebook/facebook.jsx +3 -3
  658. package/src/components/multichannel/multichannel-button.jsx +7 -5
  659. package/src/components/multichannel/multichannel-carousel.jsx +16 -6
  660. package/src/components/multichannel/multichannel-reply.jsx +4 -2
  661. package/src/components/multichannel/multichannel-text.jsx +17 -9
  662. package/src/components/multichannel/multichannel-utils.ts +12 -4
  663. package/src/components/multichannel/multichannel.jsx +1 -1
  664. package/src/components/pic.tsx +1 -2
  665. package/src/components/raw.jsx +3 -2
  666. package/src/components/reply.tsx +11 -7
  667. package/src/components/share-button.jsx +1 -2
  668. package/src/components/subtitle.tsx +1 -1
  669. package/src/components/system-debug-trace/debug-message.tsx +3 -2
  670. package/src/components/system-debug-trace/events/ai-agent.tsx +3 -3
  671. package/src/components/system-debug-trace/events/bot-action.tsx +1 -2
  672. package/src/components/system-debug-trace/events/components/guardrail-item.tsx +1 -1
  673. package/src/components/system-debug-trace/events/components/sources-section.tsx +5 -3
  674. package/src/components/system-debug-trace/events/conditional-channel.tsx +1 -2
  675. package/src/components/system-debug-trace/events/conditional-country.tsx +1 -2
  676. package/src/components/system-debug-trace/events/conditional-custom.tsx +1 -2
  677. package/src/components/system-debug-trace/events/conditional-queue-status.tsx +1 -2
  678. package/src/components/system-debug-trace/events/fallback.tsx +1 -2
  679. package/src/components/system-debug-trace/events/handoff-success.tsx +2 -2
  680. package/src/components/system-debug-trace/events/keyword.tsx +1 -2
  681. package/src/components/system-debug-trace/events/knowledge-base.tsx +3 -3
  682. package/src/components/system-debug-trace/events/redirect-flow.tsx +1 -2
  683. package/src/components/system-debug-trace/events/smart-intent.tsx +1 -2
  684. package/src/components/system-debug-trace/events/webview-action-triggered.tsx +1 -2
  685. package/src/components/system-debug-trace/hooks/use-knowledge-base-info.tsx +9 -5
  686. package/src/components/system-debug-trace/hooks/use-last-label-position.ts +10 -4
  687. package/src/components/system-debug-trace/icons/arrow-progress.tsx +2 -3
  688. package/src/components/system-debug-trace/icons/brain.tsx +2 -3
  689. package/src/components/system-debug-trace/icons/caret-down.tsx +2 -3
  690. package/src/components/system-debug-trace/icons/caret-up.tsx +2 -3
  691. package/src/components/system-debug-trace/icons/circle-check.tsx +2 -3
  692. package/src/components/system-debug-trace/icons/code.tsx +2 -3
  693. package/src/components/system-debug-trace/icons/file-pdf.tsx +2 -3
  694. package/src/components/system-debug-trace/icons/file-word.tsx +2 -3
  695. package/src/components/system-debug-trace/icons/hand.tsx +2 -3
  696. package/src/components/system-debug-trace/icons/head-set.tsx +2 -3
  697. package/src/components/system-debug-trace/icons/life-ring.tsx +2 -3
  698. package/src/components/system-debug-trace/icons/link.tsx +2 -3
  699. package/src/components/system-debug-trace/icons/quote-right.tsx +2 -3
  700. package/src/components/system-debug-trace/icons/screwdriver-wrench.tsx +2 -3
  701. package/src/components/system-debug-trace/icons/split.tsx +2 -3
  702. package/src/components/system-debug-trace/icons/wand.tsx +2 -3
  703. package/src/components/system-debug-trace/icons/window-restore.tsx +2 -3
  704. package/src/components/system-debug-trace/index.tsx +0 -1
  705. package/src/components/system-debug-trace/types.ts +2 -2
  706. package/src/components/text.tsx +11 -6
  707. package/src/components/title.tsx +1 -1
  708. package/src/components/video.tsx +3 -3
  709. package/src/components/webchat-settings.tsx +51 -40
  710. package/src/components/whatsapp-button-list.tsx +1 -2
  711. package/src/components/whatsapp-catalog.tsx +1 -2
  712. package/src/components/whatsapp-cta-url-button.tsx +1 -2
  713. package/src/components/whatsapp-interactive-media-carousel.tsx +5 -4
  714. package/src/components/whatsapp-media-carousel.tsx +1 -2
  715. package/src/components/whatsapp-product-carousel.tsx +1 -2
  716. package/src/components/whatsapp-product-list.tsx +1 -2
  717. package/src/components/whatsapp-product.tsx +1 -2
  718. package/src/components/whatsapp-template/index.tsx +1 -2
  719. package/src/contexts.tsx +2 -2
  720. package/src/dev-app.jsx +4 -6
  721. package/src/index-types.ts +9 -9
  722. package/src/message-utils.js +3 -1
  723. package/src/msg-to-botonic.jsx +19 -20
  724. package/src/react-bot.tsx +2 -2
  725. package/src/util/dom.js +3 -3
  726. package/src/util/environment.js +18 -8
  727. package/src/util/error-boundary.jsx +4 -4
  728. package/src/util/logs.js +2 -1
  729. package/src/util/objects.js +5 -3
  730. package/src/util/react.js +8 -3
  731. package/src/util/regexs.js +4 -2
  732. package/src/util/webchat.ts +20 -9
  733. package/src/webchat/chat-area/index.tsx +1 -1
  734. package/src/webchat/components/common.jsx +0 -1
  735. package/src/webchat/components/conditional-animation.jsx +1 -1
  736. package/src/webchat/components/opened-persistent-menu.jsx +4 -2
  737. package/src/webchat/context/index.tsx +3 -3
  738. package/src/webchat/context/messages-reducer.ts +3 -5
  739. package/src/webchat/context/types.ts +5 -5
  740. package/src/webchat/context/use-webchat.ts +11 -6
  741. package/src/webchat/context/webchat-reducer.ts +1 -1
  742. package/src/webchat/cover-component/index.tsx +1 -1
  743. package/src/webchat/custom-messages/rating/icons/face-angry.tsx +2 -3
  744. package/src/webchat/custom-messages/rating/icons/face-frown.tsx +2 -3
  745. package/src/webchat/custom-messages/rating/icons/face-grin-beam.tsx +2 -3
  746. package/src/webchat/custom-messages/rating/icons/face-meh.tsx +2 -3
  747. package/src/webchat/custom-messages/rating/icons/face-smile.tsx +2 -3
  748. package/src/webchat/custom-messages/rating/icons/star.tsx +2 -3
  749. package/src/webchat/custom-messages/rating/index.tsx +7 -4
  750. package/src/webchat/custom-messages/rating/rating-selector.tsx +7 -3
  751. package/src/webchat/custom-messages/rating/smileys.tsx +1 -3
  752. package/src/webchat/custom-messages/rating/stars.tsx +1 -3
  753. package/src/webchat/header/default-header.tsx +2 -2
  754. package/src/webchat/header/index.tsx +1 -1
  755. package/src/webchat/hooks/use-device-adapter.ts +17 -4
  756. package/src/webchat/hooks/use-scroll-to-bottom.ts +6 -2
  757. package/src/webchat/hooks/use-scrollbar-controller.ts +18 -11
  758. package/src/webchat/hooks/use-typing.ts +14 -8
  759. package/src/webchat/hooks/use-virtual-keyboard-detection.ts +4 -5
  760. package/src/webchat/hooks/use-webchat-dimensions.ts +7 -5
  761. package/src/webchat/index-types.ts +1 -1
  762. package/src/webchat/input-panel/attachment.tsx +1 -1
  763. package/src/webchat/input-panel/emoji-picker.tsx +3 -1
  764. package/src/webchat/input-panel/index.tsx +8 -3
  765. package/src/webchat/input-panel/opened-emoji-picker.tsx +1 -1
  766. package/src/webchat/input-panel/persistent-menu.tsx +3 -1
  767. package/src/webchat/input-panel/send-button.tsx +3 -1
  768. package/src/webchat/input-panel/textarea.tsx +16 -7
  769. package/src/webchat/message-list/index.tsx +1 -1
  770. package/src/webchat/message-list/intro-message.tsx +1 -1
  771. package/src/webchat/message-list/scroll-button.tsx +8 -11
  772. package/src/webchat/message-list/unread-messages-banner.tsx +3 -1
  773. package/src/webchat/replies/index.tsx +2 -2
  774. package/src/webchat/session-view.jsx +0 -2
  775. package/src/webchat/theme/default-theme.ts +1 -1
  776. package/src/webchat/theme/types.ts +1 -1
  777. package/src/webchat/tracking.ts +2 -2
  778. package/src/webchat/trigger-button/index.tsx +3 -1
  779. package/src/webchat/typing-indicator/index.tsx +1 -1
  780. package/src/webchat/utils.ts +4 -2
  781. package/src/webchat/webchat-dev.jsx +1 -2
  782. package/src/webchat/webchat.tsx +99 -49
  783. package/src/webchat/webview/header.tsx +1 -1
  784. package/src/webchat/webview/index.tsx +7 -6
  785. package/src/webchat/webview/styles.ts +1 -1
  786. package/src/webchat-app.tsx +46 -38
  787. package/src/webview-app.tsx +12 -6
@@ -1,6 +1,7 @@
1
+ /* eslint-disable @typescript-eslint/no-use-before-define */
1
2
  import { BotonicAction, INPUT, params2queryString } from '@botonic/core'
2
3
  import merge from 'lodash.merge'
3
- import React, {
4
+ import {
4
5
  forwardRef,
5
6
  useEffect,
6
7
  useImperativeHandle,
@@ -18,11 +19,11 @@ import {
18
19
  normalizeWebchatSettings,
19
20
  Text,
20
21
  Video,
21
- WebchatSettingsProps,
22
+ type WebchatSettingsProps,
22
23
  } from '../components'
23
24
  import { COLORS, MAX_ALLOWED_SIZE_MB, ROLES, WEBCHAT } from '../constants'
24
- import { CloseWebviewOptions } from '../contexts'
25
- import { SENDERS, WebchatProps, WebchatRef } from '../index-types'
25
+ import type { CloseWebviewOptions } from '../contexts'
26
+ import { SENDERS, type WebchatProps, type WebchatRef } from '../index-types'
26
27
  import {
27
28
  getMediaType,
28
29
  isAllowedSize,
@@ -47,7 +48,7 @@ import {
47
48
  import { ChatArea } from './chat-area'
48
49
  import { OpenedPersistentMenu } from './components/opened-persistent-menu'
49
50
  import { BotonicContainerId } from './constants'
50
- import { useWebchat, WebchatContext, WebchatState } from './context'
51
+ import { useWebchat, WebchatContext, type WebchatState } from './context'
51
52
  import { CoverComponent } from './cover-component'
52
53
  import { WebchatHeader } from './header'
53
54
  import {
@@ -63,13 +64,12 @@ import {
63
64
  ErrorMessageContainer,
64
65
  StyledWebchat,
65
66
  } from './styles'
66
- import { WebchatTheme } from './theme/types'
67
+ import type { WebchatTheme } from './theme/types'
67
68
  import { TriggerButton } from './trigger-button'
68
69
  import { useStorageState } from './use-storage-state-hook'
69
70
  import { getParsedAction } from './utils'
70
71
  import { WebviewContainer } from './webview/index'
71
72
 
72
- // eslint-disable-next-line complexity, react/display-name
73
73
  const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
74
74
  const {
75
75
  addMessage,
@@ -107,7 +107,6 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
107
107
  headerRef,
108
108
  repliesRef,
109
109
  scrollableMessagesListRef,
110
- // eslint-disable-next-line react-hooks/rules-of-hooks
111
110
  } = props.webchatHooks || useWebchat(props.theme)
112
111
 
113
112
  const firstUpdate = useRef(true)
@@ -171,7 +170,7 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
171
170
  user: webchatState.session.user,
172
171
  // TODO: Review if this input.sentBy exists in the frontend
173
172
  input: input,
174
- //@ts-ignore
173
+ //@ts-expect-error
175
174
  session: webchatState.session,
176
175
  // TODO: Review why we were passing lastRoutePath, is only for devMode?
177
176
  lastRoutePath: webchatState.lastRoutePath,
@@ -180,8 +179,9 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
180
179
  }
181
180
 
182
181
  // Load styles stored in window._botonicInsertStyles by Webpack
182
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: this is a complex useEffect that needs to be refactored, but it's not a problem for now
183
183
  useComponentWillMount(() => {
184
- if (window._botonicInsertStyles && window._botonicInsertStyles.length) {
184
+ if (window._botonicInsertStyles?.length) {
185
185
  for (const botonicStyle of window._botonicInsertStyles) {
186
186
  // Injecting styles at head is needed even if we use shadowDOM
187
187
  // as some dependencies like simplebar rely on creating ephemeral elements
@@ -189,7 +189,9 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
189
189
  document.head.appendChild(botonicStyle)
190
190
 
191
191
  // injecting styles in host node too so that shadowDOM works
192
- if (props.shadowDOM) host.appendChild(botonicStyle.cloneNode(true))
192
+ if (props.shadowDOM) {
193
+ host.appendChild(botonicStyle.cloneNode(true))
194
+ }
193
195
  }
194
196
  delete window._botonicInsertStyles
195
197
  }
@@ -198,11 +200,9 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
198
200
  // emoji-picker-react injects styles in head, so we need to
199
201
  // re-inject them in our host node to make it work with shadowDOM
200
202
  for (const style of document.querySelectorAll('style')) {
201
- if (
202
- style.textContent &&
203
- style.textContent.includes('emoji-picker-react')
204
- )
203
+ if (style.textContent?.includes('emoji-picker-react')) {
205
204
  host.appendChild(style.cloneNode(true))
205
+ }
206
206
  }
207
207
  }
208
208
  })
@@ -227,15 +227,25 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
227
227
  { ...message, delay: 0, typing: 0 },
228
228
  props.theme?.message?.customTypes
229
229
  )
230
- //@ts-ignore
231
- if (newMessageComponent) addMessageComponent(newMessageComponent)
230
+ if (newMessageComponent) {
231
+ addMessageComponent(newMessageComponent as any)
232
+ }
232
233
  })
233
234
  }
234
- if (initialSession) updateSession(merge(initialSession, session))
235
- if (lastRoutePath) updateLastRoutePath(lastRoutePath)
236
- } else updateSession(merge(initialSession, session))
237
- if (devSettings) updateDevSettings(devSettings)
238
- else if (initialDevSettings) updateDevSettings(initialDevSettings)
235
+ if (initialSession) {
236
+ updateSession(merge(initialSession, session))
237
+ }
238
+ if (lastRoutePath) {
239
+ updateLastRoutePath(lastRoutePath)
240
+ }
241
+ } else {
242
+ updateSession(merge(initialSession, session))
243
+ }
244
+ if (devSettings) {
245
+ updateDevSettings(devSettings)
246
+ } else if (initialDevSettings) {
247
+ updateDevSettings(initialDevSettings)
248
+ }
239
249
 
240
250
  if (lastMessageUpdate) {
241
251
  updateLastMessageDate(lastMessageUpdate)
@@ -329,7 +339,9 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
329
339
  : inputData
330
340
 
331
341
  return rule.match.some(regex => {
332
- if (typeof regex === 'string') regex = deserializeRegex(regex)
342
+ if (typeof regex === 'string') {
343
+ regex = deserializeRegex(regex)
344
+ }
333
345
  return regex.test(processedInput)
334
346
  })
335
347
  }
@@ -337,14 +349,16 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
337
349
  const checkBlockInput = input => {
338
350
  // if is a text we check if it is a serialized RE
339
351
  const blockInputs = webchatState.theme.userInput?.blockInputs
340
- if (!Array.isArray(blockInputs)) return false
352
+ if (!Array.isArray(blockInputs)) {
353
+ return false
354
+ }
341
355
  for (const rule of blockInputs) {
342
356
  if (getBlockInputs(rule, input.data)) {
343
357
  addMessageComponent(
344
358
  <Text
345
359
  // Is necessary to add the id of the input
346
360
  // to keep the input.id generated in the frontend as id of the message
347
- // @ts-ignore
361
+ // @ts-expect-error input.id is not typed
348
362
  id={input.id}
349
363
  sentBy={SENDERS.user}
350
364
  blob={false}
@@ -382,14 +396,18 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
382
396
  const coverComponentProps = webchatState.theme.coverComponent?.props
383
397
 
384
398
  useEffect(() => {
385
- if (!coverComponent) return
399
+ if (!coverComponent) {
400
+ return
401
+ }
386
402
  if (
387
403
  !botonicState ||
388
404
  (botonicState.messages && botonicState.messages.length === 0)
389
- )
405
+ ) {
390
406
  toggleCoverComponent(true)
407
+ }
391
408
  }, [])
392
409
 
410
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: messageComponentFromInput is a complex
393
411
  const messageComponentFromInput = input => {
394
412
  let messageComponent: any = null
395
413
  if (isText(input)) {
@@ -397,10 +415,9 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
397
415
  <Text
398
416
  // Is necessary to add the id of the input
399
417
  // to keep the input.id generated in the frontend as id of the message
400
- // @ts-ignore
418
+ // @ts-expect-error input.id is not typed
401
419
  id={input.id}
402
420
  // Is necessary to add the payload of the input when user clicks a button
403
- // @ts-ignore
404
421
  payload={input.payload}
405
422
  sentBy={SENDERS.user}
406
423
  >
@@ -424,22 +441,37 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
424
441
  if (isImage(input)) {
425
442
  mediaProps.input = input
426
443
  messageComponent = <Image {...mediaProps} />
427
- } else if (isAudio(input)) messageComponent = <Audio {...mediaProps} />
428
- else if (isVideo(input)) messageComponent = <Video {...mediaProps} />
429
- else if (isDocument(input))
444
+ } else if (isAudio(input)) {
445
+ messageComponent = <Audio {...mediaProps} />
446
+ } else if (isVideo(input)) {
447
+ messageComponent = <Video {...mediaProps} />
448
+ } else if (isDocument(input)) {
430
449
  messageComponent = <Document {...mediaProps} />
450
+ }
431
451
  }
432
452
  return messageComponent
433
453
  }
434
454
 
435
455
  const sendInput = async (input: any) => {
436
- if (!input || Object.keys(input).length == 0) return
437
- if (isText(input) && (!input.data || !input.data.trim())) return // in case trim() doesn't work in a browser we can use !/\S/.test(input.data)
438
- if (isText(input) && checkBlockInput(input)) return
439
- if (!input.id) input.id = uuidv7()
456
+ if (!input || Object.keys(input).length === 0) {
457
+ return
458
+ }
459
+ if (isText(input) && (!input.data || !input.data.trim())) {
460
+ return // in case trim() doesn't work in a browser we can use !/\S/.test(input.data)
461
+ }
462
+ if (isText(input) && checkBlockInput(input)) {
463
+ return
464
+ }
465
+ if (!input.id) {
466
+ input.id = uuidv7()
467
+ }
440
468
  const messageComponent = messageComponentFromInput(input)
441
- if (messageComponent) addMessageComponent(messageComponent)
442
- if (isMedia(input)) input.data = await readDataURL(input.data)
469
+ if (messageComponent) {
470
+ addMessageComponent(messageComponent)
471
+ }
472
+ if (isMedia(input)) {
473
+ input.data = await readDataURL(input.data)
474
+ }
443
475
  sendUserInput(input)
444
476
  updateLatestInput(input)
445
477
  isOnline() && updateLastMessageDate(currentDateString())
@@ -478,11 +510,15 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
478
510
  updateSession(merge(session, { user: webchatState.session.user }))
479
511
  const action = session._botonic_action || ''
480
512
  const handoff = action.startsWith(BotonicAction.CreateCase)
481
- if (handoff && isDev) addMessageComponent(<Handoff />)
513
+ if (handoff && isDev) {
514
+ addMessageComponent(<Handoff />)
515
+ }
482
516
  updateHandoff(handoff)
483
517
  }
484
518
 
485
- if (lastRoutePath) updateLastRoutePath(lastRoutePath)
519
+ if (lastRoutePath) {
520
+ updateLastRoutePath(lastRoutePath)
521
+ }
486
522
 
487
523
  updateLastMessageDate(currentDateString())
488
524
  },
@@ -527,7 +563,9 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
527
563
  m => m.id === msgId
528
564
  )[0]
529
565
  const updatedMsg = merge(messageToUpdate, messageInfo)
530
- if (updatedMsg.ack === 1) delete updatedMsg.unsentInput
566
+ if (updatedMsg.ack === 1) {
567
+ delete updatedMsg.unsentInput
568
+ }
531
569
  updateMessage(updatedMsg)
532
570
  },
533
571
  updateWebchatSettings: (settings: WebchatSettingsProps) => {
@@ -555,18 +593,24 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
555
593
  // Resume conversation after handoff
556
594
  if (prevSession?._botonic_action && !webchatState.session._botonic_action) {
557
595
  const action = getParsedAction(prevSession._botonic_action)
558
- if (action?.on_finish) sendPayload(action.on_finish)
596
+ if (action?.on_finish) {
597
+ sendPayload(action.on_finish)
598
+ }
559
599
  }
560
600
  }, [webchatState.session._botonic_action])
561
601
 
562
602
  const sendText = async (text: string, payload?: string) => {
563
- if (!text) return
603
+ if (!text) {
604
+ return
605
+ }
564
606
  const input = { type: INPUT.TEXT, data: text, payload }
565
607
  await sendInput(input)
566
608
  }
567
609
 
568
610
  const sendPayload = async (payload: string) => {
569
- if (!payload) return
611
+ if (!payload) {
612
+ return
613
+ }
570
614
  const input = { type: INPUT.POSTBACK, payload }
571
615
  await sendInput(input)
572
616
  }
@@ -574,7 +618,9 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
574
618
  const sendAttachment = async (attachment: File) => {
575
619
  if (attachment) {
576
620
  const attachmentType = getMediaType(attachment.type)
577
- if (!attachmentType) return
621
+ if (!attachmentType) {
622
+ return
623
+ }
578
624
  const input = {
579
625
  type: attachmentType,
580
626
  data: attachment,
@@ -590,7 +636,9 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
590
636
  return
591
637
  }
592
638
 
593
- if (webchatState.isWebchatOpen && props.onOpen) props.onOpen()
639
+ if (webchatState.isWebchatOpen && props.onOpen) {
640
+ props.onOpen()
641
+ }
594
642
 
595
643
  if (!webchatState.isWebchatOpen && props.onClose && !firstUpdate.current) {
596
644
  props.onClose()
@@ -615,7 +663,6 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
615
663
 
616
664
  // Only needed for dev/serve mode
617
665
  const updateWebchatDevSettings = settings => {
618
- // eslint-disable-next-line react-hooks/rules-of-hooks
619
666
  useEffect(() => {
620
667
  const themeUpdates = normalizeWebchatSettings(settings)
621
668
  updateTheme(
@@ -641,8 +688,11 @@ const Webchat = forwardRef<WebchatRef | null, WebchatProps>((props, ref) => {
641
688
  }
642
689
 
643
690
  const _renderCustomComponent = () => {
644
- if (!customComponent) return <></>
645
- else return customComponent
691
+ if (!customComponent) {
692
+ return <></>
693
+ } else {
694
+ return customComponent
695
+ }
646
696
  }
647
697
 
648
698
  const WebchatComponent = (
@@ -1,4 +1,4 @@
1
- import React, { useContext } from 'react'
1
+ import { useContext } from 'react'
2
2
 
3
3
  import { ROLES, WEBCHAT } from '../../constants'
4
4
  import { WebviewRequestContext } from '../../contexts'
@@ -1,13 +1,14 @@
1
- import { isDev, Session as CoreSession, Session } from '@botonic/core'
2
- import React, { useContext, useEffect } from 'react'
1
+ import { type Session as CoreSession, isDev } from '@botonic/core'
2
+ import type React from 'react'
3
+ import { useContext, useEffect } from 'react'
3
4
 
4
5
  import { ROLES, WEBCHAT } from '../../constants'
5
6
  import {
6
- CloseWebviewOptions,
7
+ type CloseWebviewOptions,
7
8
  WebviewRequestContext,
8
- WebviewRequestContextType,
9
+ type WebviewRequestContextType,
9
10
  } from '../../contexts'
10
- import { WebchatContext, WebchatState } from '../context'
11
+ import { WebchatContext, type WebchatState } from '../context'
11
12
  import { WebviewHeader } from './header'
12
13
  import {
13
14
  StyledFrame,
@@ -47,7 +48,7 @@ export const WebviewContainer = ({
47
48
  return () => window.removeEventListener('message', close, false)
48
49
  }, [])
49
50
 
50
- if (isDev(webchatState.session as Session)) {
51
+ if (isDev(webchatState.session as CoreSession)) {
51
52
  // eslint-disable-next-line @typescript-eslint/naming-convention
52
53
  const Webview = getWebviewInDevMode(localWebviews, webchatState)
53
54
 
@@ -1,6 +1,6 @@
1
1
  import styled from 'styled-components'
2
2
 
3
- import { COLORS, WEBCHAT } from '../../constants'
3
+ import { COLORS } from '../../constants'
4
4
 
5
5
  export const StyledWebview = styled.div`
6
6
  position: absolute;
@@ -1,28 +1,29 @@
1
- import { HubtypeService, INPUT, ServerConfig } from '@botonic/core'
1
+ import { HubtypeService, INPUT, type ServerConfig } from '@botonic/core'
2
2
  import merge from 'lodash.merge'
3
- import React, { createRef } from 'react'
4
- import { createRoot, Root } from 'react-dom/client'
3
+ import type React from 'react'
4
+ import { createRef } from 'react'
5
+ import { createRoot, type Root } from 'react-dom/client'
5
6
 
6
- import { BlockInputOption, WebchatSettingsProps } from './components'
7
+ import type { BlockInputOption, WebchatSettingsProps } from './components'
7
8
  import { WEBCHAT } from './constants'
8
- import { CloseWebviewOptions } from './contexts'
9
+ import type { CloseWebviewOptions } from './contexts'
9
10
  import {
10
- ActionRequest,
11
- Event,
12
- EventArgs,
13
- OnStateChangeArgs,
14
- OnUserInputArgs,
15
- PreviewUtils,
11
+ type ActionRequest,
12
+ type Event,
13
+ type EventArgs,
14
+ type OnStateChangeArgs,
15
+ type OnUserInputArgs,
16
+ type PreviewUtils,
16
17
  SENDERS,
17
18
  Typing,
18
- WebchatArgs,
19
- WebchatMessage,
20
- WebchatRef,
19
+ type WebchatArgs,
20
+ type WebchatMessage,
21
+ type WebchatRef,
21
22
  } from './index-types'
22
23
  import { msgToBotonic } from './msg-to-botonic'
23
24
  import { isShadowDOMSupported, onDOMLoaded } from './util/dom'
24
25
  import { defaultTheme } from './webchat/theme/default-theme'
25
- import {
26
+ import type {
26
27
  CoverComponentOptions,
27
28
  PersistentMenuOptionsTheme,
28
29
  WebchatTheme,
@@ -128,12 +129,13 @@ export class WebchatApp {
128
129
  this.reactRoot = null
129
130
  }
130
131
 
132
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: createRootElement is a complex function that creates a root element for the webchat
131
133
  createRootElement(host: HTMLElement | null) {
132
134
  // Create root element <div id='root'> if not exists
133
135
  // Create shadowDOM to root element if needed
134
136
  if (host) {
135
137
  if (host.id && this.hostId) {
136
- if (host.id != this.hostId) {
138
+ if (host.id !== this.hostId) {
137
139
  console.warn(
138
140
  `[botonic] Host ID "${host.id}" don't match 'hostId' option: ${this.hostId}. Using value: ${host.id}.`
139
141
  )
@@ -180,26 +182,27 @@ export class WebchatApp {
180
182
  }
181
183
 
182
184
  onInitWebchat(...args: [any]) {
183
- this.onInit && this.onInit(this, ...args)
185
+ this.onInit?.(this, ...args)
184
186
  }
185
187
 
186
188
  onOpenWebchat(...args: [any]) {
187
- this.onOpen && this.onOpen(this, ...args)
189
+ this.onOpen?.(this, ...args)
188
190
  }
189
191
 
190
192
  onCloseWebchat(...args: [any]) {
191
- this.onClose && this.onClose(this, ...args)
193
+ this.onClose?.(this, ...args)
192
194
  }
193
195
 
194
196
  async onUserInput({ user, input }: OnUserInputArgs): Promise<void> {
195
- if (!user) return
197
+ if (!user) {
198
+ return
199
+ }
196
200
 
197
- this.onMessage &&
198
- this.onMessage(this, {
199
- ...input,
200
- sentBy: SENDERS.user,
201
- isUnread: false,
202
- } as unknown as WebchatMessage)
201
+ this.onMessage?.(this, {
202
+ ...input,
203
+ sentBy: SENDERS.user,
204
+ isUnread: false,
205
+ } as unknown as WebchatMessage)
203
206
  this.hubtypeService.postMessage(user, {
204
207
  ...input,
205
208
  // TODO: Review if this is correct add sent_by or this is added in backend
@@ -225,7 +228,7 @@ export class WebchatApp {
225
228
  onStateChange(args: OnStateChangeArgs) {
226
229
  const { user, messagesJSON } = args
227
230
  const lastMessage = messagesJSON[messagesJSON.length - 1]
228
- const lastMessageId = lastMessage && lastMessage.id
231
+ const lastMessageId = lastMessage?.id
229
232
  const lastMessageUpdateDate = this.getLastMessageUpdate()
230
233
 
231
234
  if (this.hubtypeService) {
@@ -251,7 +254,7 @@ export class WebchatApp {
251
254
 
252
255
  onServiceEvent(event: Event) {
253
256
  if (event.action === 'connectionChange') {
254
- this.onConnectionChange && this.onConnectionChange(this, event.online)
257
+ this.onConnectionChange?.(this, event.online)
255
258
  this.webchatRef.current?.setOnline(event.online)
256
259
  } else if (event.action === 'update_message_info' && event.message?.id) {
257
260
  this.updateMessageInfo(event.message.id, event.message)
@@ -261,11 +264,10 @@ export class WebchatApp {
261
264
  this.setTyping(event.message.data === Typing.On)
262
265
  } else {
263
266
  const isSystemMessage = (event.message as any)?.sent_by === SENDERS.system
264
- this.onMessage &&
265
- this.onMessage(this, {
266
- sentBy: isSystemMessage ? SENDERS.system : SENDERS.bot,
267
- ...event.message,
268
- } as unknown as WebchatMessage)
267
+ this.onMessage?.(this, {
268
+ sentBy: isSystemMessage ? SENDERS.system : SENDERS.bot,
269
+ ...event.message,
270
+ } as unknown as WebchatMessage)
269
271
 
270
272
  if (isSystemMessage) {
271
273
  this.addSystemMessage(event.message)
@@ -383,7 +385,7 @@ export class WebchatApp {
383
385
 
384
386
  async getVisibility() {
385
387
  return this.resolveWebchatVisibility({
386
- appId: this.appId!,
388
+ appId: this.appId,
387
389
  visibility: this.visibility,
388
390
  })
389
391
  }
@@ -426,7 +428,9 @@ export class WebchatApp {
426
428
  theme: WebchatTheme,
427
429
  optionsAtRuntime: WebchatArgs = {}
428
430
  ) {
429
- if (!theme.userInput) theme.userInput = {}
431
+ if (!theme.userInput) {
432
+ theme.userInput = {}
433
+ }
430
434
 
431
435
  // Set main userInput properties
432
436
  theme.userInput = {
@@ -537,7 +541,7 @@ export class WebchatApp {
537
541
  try {
538
542
  const { status } = await HubtypeService.getWebchatVisibility(appId)
539
543
  return status === 200
540
- } catch (e) {
544
+ } catch (_e) {
541
545
  return false
542
546
  }
543
547
  }
@@ -577,9 +581,13 @@ export class WebchatApp {
577
581
  }
578
582
 
579
583
  destroy() {
580
- if (this.hubtypeService) this.hubtypeService.destroyPusher()
584
+ if (this.hubtypeService) {
585
+ this.hubtypeService.destroyPusher()
586
+ }
581
587
  this.reactRoot?.unmount()
582
- if (this.storage) this.storage.removeItem(this.storageKey)
588
+ if (this.storage) {
589
+ this.storage.removeItem(this.storageKey)
590
+ }
583
591
  }
584
592
 
585
593
  async render(dest: HTMLDivElement, optionsAtRuntime?: WebchatArgs) {
@@ -1,14 +1,15 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-function */
1
2
  // @ts-nocheck
2
- import { params2queryString, PROVIDER, Session } from '@botonic/core'
3
+ import { PROVIDER, params2queryString, type Session } from '@botonic/core'
3
4
  import axios from 'axios'
4
5
  import React from 'react'
5
6
  import { createRoot } from 'react-dom/client'
6
7
  import { BrowserRouter, Route } from 'react-router-dom'
7
8
 
8
9
  import {
9
- CloseWebviewOptions,
10
+ type CloseWebviewOptions,
10
11
  WebviewRequestContext,
11
- WebviewRequestContextType,
12
+ type WebviewRequestContextType,
12
13
  } from './contexts'
13
14
 
14
15
  enum WebviewUrlParams {
@@ -113,7 +114,7 @@ class App extends React.Component {
113
114
  private async closeWebviewForProvider(
114
115
  provider: string,
115
116
  session: Session,
116
- payload?: string
117
+ _payload?: string
117
118
  ) {
118
119
  const { user } = session
119
120
 
@@ -136,10 +137,11 @@ class App extends React.Component {
136
137
  case PROVIDER.FACEBOOK:
137
138
  try {
138
139
  window.MessengerExtensions.requestCloseBrowser(
140
+ // biome-ignore lint/suspicious/noEmptyBlockStatements: success callback is empty
139
141
  () => {}, // success callback
140
142
  () => window.close() // error callback
141
143
  )
142
- } catch (error) {
144
+ } catch (_error) {
143
145
  window.close()
144
146
  }
145
147
  break
@@ -208,7 +210,11 @@ class App extends React.Component {
208
210
  return (
209
211
  <WebviewRequestContext.Provider value={webviewRequestContext}>
210
212
  {this.props.webviews.map((Webview, i) => (
211
- <Route key={i} path={`/${Webview.name}`} component={Webview} />
213
+ <Route
214
+ key={`route-${i}-${Webview.name}`}
215
+ path={`/${Webview.name}`}
216
+ component={Webview}
217
+ />
212
218
  ))}
213
219
  </WebviewRequestContext.Provider>
214
220
  )