@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,10 +1,9 @@
1
1
  import { INPUT, isBrowser } from '@botonic/core'
2
- import React from 'react'
3
2
  import styled from 'styled-components'
4
3
 
5
4
  import { COLORS, ROLES } from '../constants'
6
5
  import { staticAsset } from '../util/environment'
7
- import { VideoProps } from './index-types'
6
+ import type { VideoProps } from './index-types'
8
7
  import { Message } from './message'
9
8
 
10
9
  const StyledVideo = styled.video`
@@ -22,12 +21,13 @@ const serialize = (videoProps: { src: string }) => {
22
21
  export const Video = (props: VideoProps) => {
23
22
  props = { ...props, src: staticAsset(props.src) }
24
23
  let content = props.children
25
- if (isBrowser())
24
+ if (isBrowser()) {
26
25
  content = (
27
26
  <StyledVideo controls>
28
27
  <source src={props.src} />
29
28
  </StyledVideo>
30
29
  )
30
+ }
31
31
  return (
32
32
  <Message
33
33
  role={ROLES.VIDEO_MESSAGE}
@@ -1,14 +1,61 @@
1
1
  import { INPUT } from '@botonic/core'
2
- import React, { useContext } from 'react'
2
+ import { useContext } from 'react'
3
3
 
4
4
  import { renderComponent } from '../util/react'
5
5
  import { stringifyWithRegexs } from '../util/regexs'
6
6
  import { WebchatContext } from '../webchat/context'
7
- import {
7
+ import type {
8
8
  PersistentMenuOptionsTheme,
9
9
  WebchatTheme,
10
10
  } from '../webchat/theme/types'
11
- import { BlockInputOption } from './index-types'
11
+ import type { BlockInputOption } from './index-types'
12
+
13
+ export const normalizeWebchatSettings = (settings: WebchatSettingsProps) => {
14
+ let {
15
+ theme,
16
+ blockInputs,
17
+ persistentMenu,
18
+ enableEmojiPicker,
19
+ enableAttachments,
20
+ enableUserInput,
21
+ enableAnimations,
22
+ } = settings
23
+ if (!theme) {
24
+ theme = {}
25
+ }
26
+ if (!theme.userInput) {
27
+ theme.userInput = {}
28
+ }
29
+ if (persistentMenu !== undefined) {
30
+ theme.userInput.persistentMenu = persistentMenu
31
+ }
32
+ if (enableEmojiPicker !== undefined) {
33
+ if (!theme.userInput.emojiPicker) {
34
+ theme.userInput.emojiPicker = {}
35
+ }
36
+ theme.userInput.emojiPicker.enable = enableEmojiPicker
37
+ }
38
+ if (enableAttachments !== undefined) {
39
+ if (!theme.userInput.attachments) {
40
+ theme.userInput.attachments = {}
41
+ }
42
+ theme.userInput.attachments.enable = enableAttachments
43
+ }
44
+ if (enableUserInput !== undefined) {
45
+ theme.userInput.enable = enableUserInput
46
+ }
47
+ if (blockInputs !== undefined) {
48
+ theme.userInput.blockInputs = blockInputs
49
+ }
50
+
51
+ if (!theme.animations) {
52
+ theme.animations = {}
53
+ }
54
+ if (enableAnimations !== undefined) {
55
+ theme.animations.enable = enableAnimations
56
+ }
57
+ return theme
58
+ }
12
59
 
13
60
  export interface WebchatSettingsProps {
14
61
  blockInputs?: BlockInputOption[]
@@ -37,7 +84,6 @@ export const WebchatSettings = ({
37
84
  user,
38
85
  }: WebchatSettingsProps) => {
39
86
  const renderBrowser = () => {
40
- // eslint-disable-next-line react-hooks/rules-of-hooks
41
87
  const { updateWebchatDevSettings } = useContext(WebchatContext)
42
88
  updateWebchatDevSettings({
43
89
  theme,
@@ -61,7 +107,7 @@ export const WebchatSettings = ({
61
107
  enableAnimations,
62
108
  })
63
109
  return (
64
- //@ts-ignore
110
+ //@ts-expect-error
65
111
  <message
66
112
  type={INPUT.WEBCHAT_SETTINGS}
67
113
  settings={stringifyWithRegexs({ theme: updatedTheme, user })}
@@ -70,38 +116,3 @@ export const WebchatSettings = ({
70
116
  }
71
117
  return renderComponent({ renderBrowser, renderNode })
72
118
  }
73
-
74
- export const normalizeWebchatSettings = (settings: WebchatSettingsProps) => {
75
- let {
76
- theme,
77
- blockInputs,
78
- persistentMenu,
79
- enableEmojiPicker,
80
- enableAttachments,
81
- enableUserInput,
82
- enableAnimations,
83
- } = settings
84
- if (!theme) theme = {}
85
- if (!theme.userInput) theme.userInput = {}
86
- if (persistentMenu !== undefined) {
87
- theme.userInput.persistentMenu = persistentMenu
88
- }
89
- if (enableEmojiPicker !== undefined) {
90
- if (!theme.userInput.emojiPicker) theme.userInput.emojiPicker = {}
91
- theme.userInput.emojiPicker.enable = enableEmojiPicker
92
- }
93
- if (enableAttachments !== undefined) {
94
- if (!theme.userInput.attachments) theme.userInput.attachments = {}
95
- theme.userInput.attachments.enable = enableAttachments
96
- }
97
- if (enableUserInput !== undefined) {
98
- theme.userInput.enable = enableUserInput
99
- }
100
- if (blockInputs !== undefined) theme.userInput.blockInputs = blockInputs
101
-
102
- if (!theme.animations) theme.animations = {}
103
- if (enableAnimations !== undefined) {
104
- theme.animations.enable = enableAnimations
105
- }
106
- return theme
107
- }
@@ -1,5 +1,4 @@
1
1
  import { INPUT } from '@botonic/core'
2
- import React from 'react'
3
2
 
4
3
  import { truncateText } from '../util'
5
4
  import { renderComponent } from '../util/react'
@@ -82,7 +81,7 @@ export const WhatsappButtonList = (props: WhatsappButtonListProps) => {
82
81
 
83
82
  const renderNode = () => {
84
83
  return (
85
- // @ts-ignore Property 'message' does not exist on type 'JSX.IntrinsicElements'.
84
+ // @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
86
85
  <message
87
86
  {...props}
88
87
  body={convertToMarkdownMeta(props.body)}
@@ -1,5 +1,4 @@
1
1
  import { INPUT } from '@botonic/core'
2
- import React from 'react'
3
2
 
4
3
  import { renderComponent } from '../util/react'
5
4
  import { Message } from './message'
@@ -27,7 +26,7 @@ export const WhatsappCatalog = (props: WhatsappCatalogProps) => {
27
26
 
28
27
  const renderNode = () => {
29
28
  return (
30
- // @ts-ignore Property 'message' does not exist on type 'JSX.IntrinsicElements'.
29
+ // @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
31
30
  <message
32
31
  {...props}
33
32
  body={props.body}
@@ -1,5 +1,4 @@
1
1
  import { INPUT } from '@botonic/core'
2
- import React from 'react'
3
2
 
4
3
  import { truncateText } from '../util'
5
4
  import { renderComponent } from '../util/react'
@@ -127,7 +126,7 @@ export const WhatsappCTAUrlButton = (props: WhatsappCTAUrlButtonProps) => {
127
126
  : props.url,
128
127
  }
129
128
  return (
130
- // @ts-ignore Property 'message' does not exist on type 'JSX.IntrinsicElements'.
129
+ // @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
131
130
  <message {...validatedProps} type={INPUT.WHATSAPP_CTA_URL_BUTTON} />
132
131
  )
133
132
  }
@@ -1,5 +1,3 @@
1
- import React from 'react'
2
-
3
1
  import { truncateText } from '../util'
4
2
  import { Button } from './button'
5
3
  import { Carousel } from './carousel'
@@ -55,7 +53,7 @@ export const WhatsappInteractiveMediaCarousel = (
55
53
  return (
56
54
  <Carousel text={truncateText(props.textMessage, WHATSAPP_MAX_BODY_CHARS)}>
57
55
  {props.cards.map((card, index) => (
58
- <Element key={index}>
56
+ <Element key={`card-${index}-${card.text}`}>
59
57
  <Pic src={card.imageLink} />
60
58
  <Title>
61
59
  {truncateText(card.text, WHATSAPP_MAX_CAROUSEL_CARD_TEXT_CHARS)}
@@ -67,7 +65,10 @@ export const WhatsappInteractiveMediaCarousel = (
67
65
  )}
68
66
  {card.type === CardType.QUICK_REPLY &&
69
67
  card.action.buttons.map((button, index) => (
70
- <Button key={index} payload={button.payload}>
68
+ <Button
69
+ key={`quick-reply-button-${index}-${button.text}`}
70
+ payload={button.payload}
71
+ >
71
72
  {truncateText(button.text, WHATSAPP_MAX_BUTTON_CHARS)}
72
73
  </Button>
73
74
  ))}
@@ -1,5 +1,4 @@
1
1
  import { INPUT } from '@botonic/core'
2
- import React from 'react'
3
2
 
4
3
  import { toSnakeCaseKeys } from '../util/functional'
5
4
  import { renderComponent } from '../util/react'
@@ -91,7 +90,7 @@ export const WhatsappMediaCarousel = (props: WhatsappMediaCarouselProps) => {
91
90
 
92
91
  const renderNode = () => {
93
92
  return (
94
- // @ts-ignore Property 'message' does not exist on type 'JSX.IntrinsicElements'.
93
+ // @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
95
94
  <message
96
95
  {...props}
97
96
  bodyParameters={JSON.stringify(toSnakeCaseKeys(props.bodyParameters))}
@@ -1,5 +1,4 @@
1
1
  import { INPUT } from '@botonic/core'
2
- import React from 'react'
3
2
 
4
3
  import { toSnakeCaseKeys } from '../util/functional'
5
4
  import { renderComponent } from '../util/react'
@@ -67,7 +66,7 @@ export const WhatsappProductCarousel = (
67
66
 
68
67
  const renderNode = () => {
69
68
  return (
70
- // @ts-ignore Property 'message' does not exist on type 'JSX.IntrinsicElements'.
69
+ // @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
71
70
  <message
72
71
  {...props}
73
72
  bodyParameters={JSON.stringify(toSnakeCaseKeys(props.bodyParameters))}
@@ -1,5 +1,4 @@
1
1
  import { INPUT } from '@botonic/core'
2
- import React from 'react'
3
2
 
4
3
  import { toSnakeCaseKeys } from '../util/functional'
5
4
  import { renderComponent } from '../util/react'
@@ -39,7 +38,7 @@ export const WhatsappProductList = (props: WhatsappProductListProps) => {
39
38
 
40
39
  const renderNode = () => {
41
40
  return (
42
- // @ts-ignore Property 'message' does not exist on type 'JSX.IntrinsicElements'.
41
+ // @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
43
42
  <message
44
43
  {...props}
45
44
  body={props.body}
@@ -1,5 +1,4 @@
1
1
  import { INPUT } from '@botonic/core'
2
- import React from 'react'
3
2
 
4
3
  import { renderComponent } from '../util/react'
5
4
  import { Message } from './message'
@@ -28,7 +27,7 @@ export const WhatsappProduct = (props: WhatsappProductProps) => {
28
27
 
29
28
  const renderNode = () => {
30
29
  return (
31
- // @ts-ignore Property 'message' does not exist on type 'JSX.IntrinsicElements'.
30
+ // @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
32
31
  <message
33
32
  {...props}
34
33
  body={props.body}
@@ -1,5 +1,4 @@
1
1
  import { INPUT } from '@botonic/core'
2
- import React from 'react'
3
2
 
4
3
  import { renderComponent } from '../../util/react'
5
4
  import { Message } from '../message'
@@ -31,7 +30,7 @@ export const WhatsappTemplate = (props: WhatsappTemplateProps) => {
31
30
 
32
31
  const renderNode = () => {
33
32
  return (
34
- // @ts-ignore Property 'message' does not exist on type 'JSX.IntrinsicElements'.
33
+ // @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
35
34
  <message
36
35
  {...props}
37
36
  name={props.name}
package/src/contexts.tsx CHANGED
@@ -1,7 +1,7 @@
1
- import { Input as CoreInput, Session as CoreSession } from '@botonic/core'
1
+ import type { Input as CoreInput, Session as CoreSession } from '@botonic/core'
2
2
  import { createContext } from 'react'
3
3
 
4
- import { ActionRequest } from './index-types'
4
+ import type { ActionRequest } from './index-types'
5
5
 
6
6
  export const RequestContext = createContext<ActionRequest>({
7
7
  getUserCountry: () => '',
package/src/dev-app.jsx CHANGED
@@ -1,4 +1,3 @@
1
- import React from 'react'
2
1
  import { createRoot } from 'react-dom/client'
3
2
 
4
3
  import { SENDERS } from './index-types'
@@ -106,11 +105,10 @@ export class DevApp extends WebchatApp {
106
105
  }
107
106
 
108
107
  async onUserInput({ input, session, lastRoutePath }) {
109
- this.onMessage &&
110
- this.onMessage(this, {
111
- sentBy: SENDERS.user,
112
- message: input,
113
- })
108
+ this.onMessage?.(this, {
109
+ sentBy: SENDERS.user,
110
+ message: input,
111
+ })
114
112
  const resp = await this.bot.input({ input, session, lastRoutePath })
115
113
  this.onMessage &&
116
114
  resp.response.map(r =>
@@ -1,31 +1,31 @@
1
- import {
1
+ import type {
2
2
  BotContext,
3
3
  BotRequest as CoreBotRequest,
4
4
  Input as CoreInput,
5
5
  InputType as CoreInputType,
6
6
  Route as CoreRoute,
7
7
  Routes as CoreRoutes,
8
- ServerConfig,
9
8
  Session as CoreSession,
10
9
  SessionUser as CoreSessionUser,
10
+ ServerConfig,
11
11
  } from '@botonic/core'
12
- import React from 'react'
12
+ import type React from 'react'
13
13
 
14
- import {
14
+ import type {
15
15
  BlockInputOption,
16
16
  ButtonProps,
17
17
  ReplyProps,
18
18
  WebchatSettingsProps,
19
19
  } from './components'
20
20
  import { ChunkIdsGroupedBySourceData } from './components/system-debug-trace/events/knowledge-bases-types'
21
- import { CloseWebviewOptions } from './contexts'
22
- import { UseWebchat } from './webchat/context/use-webchat'
21
+ import type { CloseWebviewOptions } from './contexts'
22
+ import type { UseWebchat } from './webchat/context/use-webchat'
23
23
  import {
24
- CoverComponentOptions,
25
- PersistentMenuOptionsTheme,
24
+ type CoverComponentOptions,
25
+ type PersistentMenuOptionsTheme,
26
26
  WebchatTheme,
27
27
  } from './webchat/theme/types'
28
- import { WebchatApp } from './webchat-app'
28
+ import type { WebchatApp } from './webchat-app'
29
29
 
30
30
  /**
31
31
  * See @botonic/core's Response for the description of the Response's semantics*/
@@ -40,7 +40,9 @@ export const readDataURL = file =>
40
40
 
41
41
  export const isAllowedSize = fileSize => {
42
42
  const maxAllowedBytesSize = MAX_ALLOWED_SIZE_MB * 1024 * 1024
43
- if (fileSize > maxAllowedBytesSize) return false
43
+ if (fileSize > maxAllowedBytesSize) {
44
+ return false
45
+ }
44
46
  return true
45
47
  }
46
48
 
@@ -1,6 +1,3 @@
1
- /* eslint-disable complexity */
2
- import React from 'react'
3
-
4
1
  import { Audio } from './components/audio'
5
2
  import { Button } from './components/button/index'
6
3
  import { ButtonsDisabler } from './components/buttons-disabler'
@@ -35,6 +32,7 @@ import {
35
32
  * @param customMessageTypes {{customTypeName}[]?}
36
33
  * @return {React.ReactNode}
37
34
  */
35
+ // eslint-disable-next-line complexity
38
36
  export function msgToBotonic(msg, customMessageTypes = []) {
39
37
  delete msg.display
40
38
  if (isCustom(msg)) {
@@ -90,12 +88,10 @@ export function msgToBotonic(msg, customMessageTypes = []) {
90
88
  } else if (isButtonMessage(msg)) {
91
89
  const buttons = buttonsParse(msg.buttons)
92
90
  return (
93
- <>
94
- <Text {...msg} key={msg.key}>
95
- {msg.text}
96
- {buttons}
97
- </Text>
98
- </>
91
+ <Text {...msg} key={msg.key}>
92
+ {msg.text}
93
+ {buttons}
94
+ </Text>
99
95
  )
100
96
  } else if (isSystemDebugTrace(msg)) {
101
97
  return <SystemDebugTrace {...msg} key={msg.key} />
@@ -127,23 +123,22 @@ export function msgsToBotonic(msgs, customMessageTypes) {
127
123
 
128
124
  function textToBotonic(msg) {
129
125
  const txt = msg.data?.text ?? String(msg.data)
130
- if (
131
- (msg.replies && msg.replies.length) ||
132
- (msg.keyboard && msg.keyboard.length)
133
- )
126
+ if (msg.replies?.length || msg.keyboard?.length) {
134
127
  return (
135
128
  <Text {...msg} key={msg.key}>
136
129
  {txt}
137
130
  {parseQuickReplies(msg)}
138
131
  </Text>
139
132
  )
140
- if (msg.buttons && msg.buttons.length)
133
+ }
134
+ if (msg.buttons?.length) {
141
135
  return (
142
136
  <Text {...msg} key={msg.key}>
143
137
  {txt}
144
138
  {buttonsParse(msg.buttons)}
145
139
  </Text>
146
140
  )
141
+ }
147
142
  return (
148
143
  <Text {...msg} key={msg.key}>
149
144
  {txt}
@@ -153,7 +148,7 @@ function textToBotonic(msg) {
153
148
 
154
149
  function elementsParse(elements) {
155
150
  return elements.map((e, i) => (
156
- <Element key={i}>
151
+ <Element key={`element-${i}`}>
157
152
  <Pic src={e.img || e.pic || e.image_url} />
158
153
  <Title>{e.title}</Title>
159
154
  <Subtitle>{e.subtitle}</Subtitle>
@@ -166,7 +161,9 @@ function buttonsParse(buttons) {
166
161
  return buttons.map((b, i) => {
167
162
  const props = b.props || b
168
163
  let payload = props.payload
169
- if (props.path) payload = `__PATH_PAYLOAD__${props.path}`
164
+ if (props.path) {
165
+ payload = `__PATH_PAYLOAD__${props.path}`
166
+ }
170
167
  const url = props.messenger_extensions ? null : props.url
171
168
  const target = props.messenger_extensions ? null : props.target
172
169
  const title = props.title
@@ -174,7 +171,7 @@ function buttonsParse(buttons) {
174
171
  const disabledProps = ButtonsDisabler.constructBrowserProps(props)
175
172
  return (
176
173
  <Button
177
- key={i}
174
+ key={`button-${i}`}
178
175
  payload={payload}
179
176
  url={url}
180
177
  target={target}
@@ -192,9 +189,11 @@ function parseQuickReplies(msg) {
192
189
  if (msg.replies) {
193
190
  replies = msg.replies.map((el, i) => {
194
191
  let payload = el.payload
195
- if (el.path) payload = `__PATH_PAYLOAD__${el.path}`
192
+ if (el.path) {
193
+ payload = `__PATH_PAYLOAD__${el.path}`
194
+ }
196
195
  return (
197
- <Reply key={i} payload={payload}>
196
+ <Reply key={`reply-${i}`} payload={payload}>
198
197
  {el.text}
199
198
  </Reply>
200
199
  )
@@ -202,7 +201,7 @@ function parseQuickReplies(msg) {
202
201
  }
203
202
  if (msg.keyboard) {
204
203
  replies = msg.keyboard.map((el, i) => (
205
- <Reply key={i} payload={el.data}>
204
+ <Reply key={`reply-${i}`} payload={el.data}>
206
205
  {el.label}
207
206
  </Reply>
208
207
  ))
package/src/react-bot.tsx CHANGED
@@ -1,9 +1,9 @@
1
1
  import { CoreBot } from '@botonic/core'
2
- import React from 'react'
2
+ import type React from 'react'
3
3
 
4
4
  import { Text } from './components/text'
5
5
  import { RequestContext } from './contexts'
6
- import { ActionRequest } from './index-types'
6
+ import type { ActionRequest } from './index-types'
7
7
 
8
8
  type ActionComponentType<P = any> = React.ComponentType<P> & {
9
9
  botonicInit?: (request: ActionRequest) => Promise<P>
package/src/util/dom.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { BotonicContainerId } from '../webchat/constants'
2
2
 
3
3
  export const getWebchatElement = host =>
4
- host && host.querySelector(`#${BotonicContainerId.Webchat}`)
4
+ host?.querySelector(`#${BotonicContainerId.Webchat}`)
5
5
 
6
6
  export const getScrollableMessagesListElement = host =>
7
- host && host.querySelector(`#${BotonicContainerId.ScrollableMessagesList}`)
7
+ host?.querySelector(`#${BotonicContainerId.ScrollableMessagesList}`)
8
8
 
9
9
  // https://stackoverflow.com/questions/9457891/how-to-detect-if-domcontentloaded-was-fired
10
10
  export const onDOMLoaded = callback => {
@@ -21,7 +21,7 @@ export const onDOMLoaded = callback => {
21
21
  export const isShadowDOMSupported = () => {
22
22
  try {
23
23
  return document.head.createShadowRoot || document.head.attachShadow
24
- } catch (e) {
24
+ } catch (_e) {
25
25
  return false
26
26
  }
27
27
  }
@@ -3,26 +3,30 @@ export const isProd = process.env.NODE_ENV === 'production'
3
3
 
4
4
  export const staticAsset = path => {
5
5
  try {
6
- if (isURL(path)) return path // Webpack 5 >= fully resolves absolute path to assets
6
+ if (isURL(path)) {
7
+ return path // Webpack 5 or Rspack >= fully resolves absolute path to assets
8
+ }
7
9
  const scriptBaseURL = document
8
10
  .querySelector('script[src*="webchat.botonic.js"]')
9
11
  .getAttribute('src')
10
12
  const scriptName = scriptBaseURL.split('/').pop()
11
- const basePath = scriptBaseURL.replace('/' + scriptName, '/')
13
+ const basePath = scriptBaseURL.replace(`/${scriptName}`, '/')
12
14
  const resolvedStaticAssetPath = basePath + path
13
15
  return resolvedStaticAssetPath
14
- } catch (e) {
16
+ } catch (_e) {
15
17
  console.error(`Could not resolve path: '${path}'`)
16
18
  return normalize(path)
17
19
  }
18
20
  }
19
21
 
20
22
  export const resolveImage = src => {
21
- if (isURL(src)) return src
23
+ if (isURL(src)) {
24
+ return src
25
+ }
22
26
  return staticAsset(src)
23
27
  }
24
28
 
25
- export const isURL = urlPath => {
29
+ export function isURL(urlPath) {
26
30
  // @stephenhay (38 chars) from: https://mathiasbynens.be/demo/url-regex
27
31
  const pattern = new RegExp(/^(blob:)?(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/)
28
32
  return !!pattern.test(urlPath)
@@ -33,8 +37,12 @@ export function normalize(path) {
33
37
  const trailingSlash = path && path[path.length - 1] === '/'
34
38
  // Normalize the path
35
39
  path = normalizeArray(path.split('/'), !isAbsolute).join('/')
36
- if (!path && !isAbsolute) path = '.'
37
- if (path && trailingSlash) path += '/'
40
+ if (!path && !isAbsolute) {
41
+ path = '.'
42
+ }
43
+ if (path && trailingSlash) {
44
+ path += '/'
45
+ }
38
46
  return (isAbsolute ? '/' : '') + path
39
47
  }
40
48
 
@@ -42,7 +50,9 @@ function normalizeArray(parts, allowAboveRoot) {
42
50
  const res = []
43
51
  for (let i = 0; i < parts.length; i++) {
44
52
  const p = parts[i]
45
- if (!p || p === '.') continue
53
+ if (!p || p === '.') {
54
+ continue
55
+ }
46
56
  if (p === '..') {
47
57
  if (res.length && res[res.length - 1] !== '..') {
48
58
  res.pop()
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
2
  import { isNode } from '@botonic/core'
3
- import React, { useState } from 'react'
3
+ import { useState } from 'react'
4
4
 
5
5
  import { Text } from '../components/text'
6
6
 
@@ -10,15 +10,15 @@ export const createErrorBoundary = ({
10
10
  ),
11
11
  } = {}) => {
12
12
  const ErrorBoundary = ({ children }) => {
13
- const [error, setError] = useState(null)
13
+ const [error, _setError] = useState(null)
14
14
 
15
- const componentDidCatch = (error, errorInfo) => {
15
+ const _componentDidCatch = (error, _errorInfo) => {
16
16
  if (isNode()) {
17
17
  console.error(`Failure at:`, error)
18
18
  }
19
19
  }
20
20
 
21
- const getDerivedStateFromError = error => {
21
+ const _getDerivedStateFromError = error => {
22
22
  return { error }
23
23
  }
24
24
 
package/src/util/logs.js CHANGED
@@ -14,7 +14,8 @@ export function warnDeprecatedProps(props, extraInfo) {
14
14
  { legacy: 'imageStyle', new: 'imagestyle' },
15
15
  ]
16
16
  legacyNewProps.forEach(p => {
17
- if (getProperty(props, p.legacy) !== undefined)
17
+ if (getProperty(props, p.legacy) !== undefined) {
18
18
  warnDeprecated(p.legacy, p.new, extraInfo)
19
+ }
19
20
  })
20
21
  }
@@ -6,12 +6,14 @@
6
6
  * getProperty(obj, 'a.b.z'), returns undefined
7
7
  */
8
8
  export const getProperty = (obj, property) => {
9
- if (!property) return undefined
9
+ if (!property) {
10
+ return undefined
11
+ }
10
12
  const properties = property.split('.')
11
13
  for (let i = 0; i < properties.length; i++) {
12
14
  const prop = properties[i]
13
15
  // eslint-disable-next-line no-prototype-builtins
14
- if (!obj || !obj.hasOwnProperty(prop)) {
16
+ if (!obj || !Object.hasOwn(obj, prop)) {
15
17
  return undefined
16
18
  } else {
17
19
  obj = obj[prop]
@@ -31,7 +33,7 @@ export const mapObject = (obj, conversion = ([key, value]) => [key, value]) => {
31
33
  obj &&
32
34
  Object.entries(obj)
33
35
  .map(conversion)
34
- .reduce(function (prev, curr) {
36
+ .reduce((prev, curr) => {
35
37
  prev[curr[0]] = curr[1]
36
38
  return prev
37
39
  }, {})