@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
@@ -3,7 +3,7 @@ import MarkdownIt from 'markdown-it'
3
3
  import { isInWebviewApp } from '../util/environment'
4
4
 
5
5
  const BR_STRING_TAG = '<br/>'
6
- const BR_STRING_TAG_REGEX = new RegExp('<br\\s*/?>', 'g')
6
+ const BR_STRING_TAG_REGEX = /<br\s*\/?>/g
7
7
  export const ESCAPED_LINE_BREAK = '&lt;br&gt;'
8
8
  const ESCAPED_LINE_BREAK_REGEX = new RegExp(ESCAPED_LINE_BREAK, 'g')
9
9
  const isLineBreakElement = element => element.type === 'br'
@@ -12,19 +12,15 @@ const withLinksTarget = (renderer, target = '_blank') => {
12
12
  // Support opening links in new tabs: https://github.com/markdown-it/markdown-it/blob/master/docs/architecture.md#renderer
13
13
  const newRenderer =
14
14
  renderer.renderer.rules.link_open ||
15
- function (tokens, idx, options, env, self) {
16
- return self.renderToken(tokens, idx, options)
17
- }
18
- renderer.renderer.rules.link_open = function (
19
- tokens,
20
- idx,
21
- options,
22
- env,
23
- self
24
- ) {
15
+ ((tokens, idx, options, _env, self) =>
16
+ self.renderToken(tokens, idx, options))
17
+ renderer.renderer.rules.link_open = (tokens, idx, options, env, self) => {
25
18
  const aIndex = tokens[idx].attrIndex('target')
26
- if (aIndex < 0) tokens[idx].attrPush(['target', target])
27
- else tokens[idx].attrs[aIndex][1] = target
19
+ if (aIndex < 0) {
20
+ tokens[idx].attrPush(['target', target])
21
+ } else {
22
+ tokens[idx].attrs[aIndex][1] = target
23
+ }
28
24
  return newRenderer(tokens, idx, options, env, self)
29
25
  }
30
26
  }
@@ -55,12 +51,15 @@ export const renderMarkdown = text => {
55
51
  // Supporting multiline: https://stackoverflow.com/a/20543835
56
52
  text = text
57
53
  .map(e => {
58
- if (isLineBreakElement(e)) return BR_STRING_TAG
59
- else if (typeof e === 'string')
54
+ if (isLineBreakElement(e)) {
55
+ return BR_STRING_TAG
56
+ } else if (typeof e === 'string') {
60
57
  return e
61
58
  .replace(BR_STRING_TAG_REGEX, BR_STRING_TAG)
62
59
  .replace(ESCAPED_LINE_BREAK_REGEX, BR_STRING_TAG)
63
- else return String(e)
60
+ } else {
61
+ return String(e)
62
+ }
64
63
  })
65
64
  .join('')
66
65
  return markdownRenderer.render(text)
@@ -76,9 +75,14 @@ export const serializeMarkdown = children => {
76
75
  const text = children
77
76
  .filter(e => isLineBreakElement(e) || !e.type)
78
77
  .map(e => {
79
- if (Array.isArray(e)) return serializeMarkdown(e)
80
- if (isLineBreakElement(e)) return ESCAPED_LINE_BREAK
81
- else return String(e).replace(BR_STRING_TAG_REGEX, ESCAPED_LINE_BREAK)
78
+ if (Array.isArray(e)) {
79
+ return serializeMarkdown(e)
80
+ }
81
+ if (isLineBreakElement(e)) {
82
+ return ESCAPED_LINE_BREAK
83
+ } else {
84
+ return String(e).replace(BR_STRING_TAG_REGEX, ESCAPED_LINE_BREAK)
85
+ }
82
86
  })
83
87
  .join('')
84
88
  return text
@@ -87,9 +91,6 @@ export const serializeMarkdown = children => {
87
91
  export const toMarkdownChildren = children =>
88
92
  children.map(e => (isLineBreakElement(e) ? ESCAPED_LINE_BREAK : e))
89
93
 
90
- export const getMarkdownStyle = (getThemeFn, defaultColor) =>
91
- getThemeFn('markdownStyle', getDefaultMarkdownStyle(defaultColor))
92
-
93
94
  export const getDefaultMarkdownStyle = color => `
94
95
  *{
95
96
  margin: 0px;
@@ -164,3 +165,6 @@ table, td, th {
164
165
  padding:10px;
165
166
  }
166
167
  `
168
+ export const getMarkdownStyle = (getThemeFn, defaultColor) => {
169
+ return getThemeFn('markdownStyle', getDefaultMarkdownStyle(defaultColor))
170
+ }
@@ -68,10 +68,11 @@ export const Message = props => {
68
68
  let textChildren = React.Children.toArray(children).filter(
69
69
  e => ![Button, Reply].includes(e.type)
70
70
  )
71
- if (isSentByUser)
71
+ if (isSentByUser) {
72
72
  textChildren = textChildren.map(e =>
73
73
  typeof e === 'string' ? renderLinks(e) : e
74
74
  )
75
+ }
75
76
 
76
77
  const { timestampsEnabled, getFormattedTimestamp } = resolveMessageTimestamps(
77
78
  getThemeProperty,
@@ -79,9 +80,15 @@ export const Message = props => {
79
80
  )
80
81
 
81
82
  const getEnvAck = () => {
82
- if (isDev) return 1
83
- if (!isSentByUser) return 1
84
- if (props.ack !== undefined) return props.ack
83
+ if (isDev) {
84
+ return 1
85
+ }
86
+ if (!isSentByUser) {
87
+ return 1
88
+ }
89
+ if (props.ack !== undefined) {
90
+ return props.ack
91
+ }
85
92
  return 0
86
93
  }
87
94
 
@@ -115,7 +122,7 @@ export const Message = props => {
115
122
  url: r.props.url,
116
123
  text: r.props.children,
117
124
  })),
118
- display: delay + typing == 0,
125
+ display: delay + typing === 0,
119
126
  customTypeName: decomposedChildren.customTypeName,
120
127
  ack: ack,
121
128
  isUnread: isUnread === 1 || isUnread === true,
@@ -131,9 +138,8 @@ export const Message = props => {
131
138
  if (isBrowser()) {
132
139
  const msg = webchatState.messagesJSON.find(m => m.id === state.id)
133
140
  if (
134
- msg &&
135
- msg.display &&
136
- webchatState.messagesJSON.filter(m => !m.display).length == 0
141
+ msg?.display &&
142
+ webchatState.messagesJSON.filter(m => !m.display).length === 0
137
143
  ) {
138
144
  updateReplies(replies)
139
145
  }
@@ -143,7 +149,9 @@ export const Message = props => {
143
149
  const brandColor = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.brandColor)
144
150
 
145
151
  const getBgColor = () => {
146
- if (!blob) return COLORS.TRANSPARENT
152
+ if (!blob) {
153
+ return COLORS.TRANSPARENT
154
+ }
147
155
  if (isSentByUser) {
148
156
  return getThemeProperty(
149
157
  WEBCHAT.CUSTOM_PROPERTIES.userMessageBackground,
@@ -167,7 +175,9 @@ export const Message = props => {
167
175
 
168
176
  const renderBrowser = () => {
169
177
  const messageJSON = webchatState.messagesJSON.find(m => m.id === state.id)
170
- if (!messageJSON || !messageJSON.display) return <></>
178
+ if (!messageJSON || !messageJSON.display) {
179
+ return <></>
180
+ }
171
181
 
172
182
  if (messageJSON?.type === INPUT.SYSTEM_DEBUG_TRACE) {
173
183
  return children
@@ -178,7 +188,7 @@ export const Message = props => {
178
188
  // that is why the color depends on the pointerSize
179
189
  // https://developpaper.com/realization-code-of-css-drawing-triangle-border-method/
180
190
  const color =
181
- pointerSize == 5
191
+ pointerSize === 5
182
192
  ? getBgColor()
183
193
  : getThemeProperty(
184
194
  `message.${userOrBotMessage}.style.borderColor`,
@@ -222,62 +232,60 @@ export const Message = props => {
222
232
  condition={animationsEnabled}
223
233
  wrapper={children => <Fade>{children}</Fade>}
224
234
  >
225
- <>
226
- <MessageContainer
227
- isSentByUser={isSentByUser}
235
+ <MessageContainer
236
+ isSentByUser={isSentByUser}
237
+ style={{
238
+ ...getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.messageStyle),
239
+ }}
240
+ >
241
+ <MessageImage imagestyle={imagestyle} sentBy={sentBy} />
242
+ <BlobContainer
243
+ className={className}
244
+ issentbysystem={isSentBySystem}
245
+ bgcolor={getBgColor()}
246
+ color={isSentByUser ? COLORS.SOLID_WHITE : COLORS.SOLID_BLACK}
247
+ blobwidth={getThemeProperty(
248
+ WEBCHAT.CUSTOM_PROPERTIES.botMessageBlobWidth
249
+ )}
250
+ blob={blob}
228
251
  style={{
229
- ...getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.messageStyle),
252
+ ...getMessageStyle(),
253
+ ...style,
254
+ ...{ opacity: ack === 0 ? 0.6 : 1 },
230
255
  }}
256
+ {...otherProps}
231
257
  >
232
- <MessageImage imagestyle={imagestyle} sentBy={sentBy} />
233
- <BlobContainer
234
- className={className}
235
- issentbysystem={isSentBySystem}
236
- bgcolor={getBgColor()}
237
- color={isSentByUser ? COLORS.SOLID_WHITE : COLORS.SOLID_BLACK}
238
- blobwidth={getThemeProperty(
239
- WEBCHAT.CUSTOM_PROPERTIES.botMessageBlobWidth
240
- )}
241
- blob={blob}
242
- style={{
243
- ...getMessageStyle(),
244
- ...style,
245
- ...{ opacity: ack === 0 ? 0.6 : 1 },
246
- }}
247
- {...otherProps}
248
- >
249
- {markdown ? (
250
- <BlobText
251
- blob={blob}
252
- dangerouslySetInnerHTML={{
253
- __html: renderMarkdown(textChildren),
254
- }}
255
- markdownstyle={getMarkdownStyle(
256
- getThemeProperty,
257
- isSentByUser ? COLORS.SEASHELL_WHITE : brandColor
258
- )}
259
- />
260
- ) : (
261
- <BlobText blob={blob}>{textChildren}</BlobText>
262
- )}
263
- {!!buttons.length && (
264
- <div className='message-buttons-container'>{buttons}</div>
265
- )}
266
- {Boolean(blob) && hasBlobTick() && getBlobTick(6)}
267
- {Boolean(blob) && hasBlobTick() && getBlobTick(5)}
268
- </BlobContainer>
269
- </MessageContainer>
270
- {timestampsEnabled || feedbackEnabled ? (
271
- <MessageFooter
272
- enabletimestamps={timestampsEnabled}
273
- messageJSON={messageJSON}
274
- sentBy={sentBy}
275
- feedbackEnabled={feedbackEnabled}
276
- inferenceId={inferenceId}
277
- botInteractionId={botInteractionId}
278
- />
279
- ) : null}
280
- </>
258
+ {markdown ? (
259
+ <BlobText
260
+ blob={blob}
261
+ dangerouslySetInnerHTML={{
262
+ __html: renderMarkdown(textChildren),
263
+ }}
264
+ markdownstyle={getMarkdownStyle(
265
+ getThemeProperty,
266
+ isSentByUser ? COLORS.SEASHELL_WHITE : brandColor
267
+ )}
268
+ />
269
+ ) : (
270
+ <BlobText blob={blob}>{textChildren}</BlobText>
271
+ )}
272
+ {!!buttons.length && (
273
+ <div className='message-buttons-container'>{buttons}</div>
274
+ )}
275
+ {Boolean(blob) && hasBlobTick() && getBlobTick(6)}
276
+ {Boolean(blob) && hasBlobTick() && getBlobTick(5)}
277
+ </BlobContainer>
278
+ </MessageContainer>
279
+ {timestampsEnabled || feedbackEnabled ? (
280
+ <MessageFooter
281
+ enabletimestamps={timestampsEnabled}
282
+ messageJSON={messageJSON}
283
+ sentBy={sentBy}
284
+ feedbackEnabled={feedbackEnabled}
285
+ inferenceId={inferenceId}
286
+ botInteractionId={botInteractionId}
287
+ />
288
+ ) : null}
281
289
  </ConditionalWrapper>
282
290
  )
283
291
  }
@@ -1,4 +1,4 @@
1
- import React, { useContext, useEffect, useState } from 'react'
1
+ import { useContext, useEffect, useState } from 'react'
2
2
 
3
3
  import ThumbsDown from '../../assets/thumbs-down.svg'
4
4
  import ThumbsUp from '../../assets/thumbs-up.svg'
@@ -1,4 +1,4 @@
1
- import React, { useContext } from 'react'
1
+ import { useContext } from 'react'
2
2
 
3
3
  import { SENDERS } from '../../index-types'
4
4
  import { WebchatContext } from '../../webchat/context'
@@ -1,4 +1,4 @@
1
- import React, { useContext } from 'react'
1
+ import { useContext } from 'react'
2
2
 
3
3
  import { WEBCHAT } from '../../constants'
4
4
  import { SENDERS } from '../../index-types'
@@ -1,4 +1,4 @@
1
- import React, { useContext } from 'react'
1
+ import { useContext } from 'react'
2
2
 
3
3
  import { WEBCHAT } from '../../constants'
4
4
  import { SENDERS } from '../../index-types'
@@ -81,6 +81,7 @@ export const MessageTimestamp = ({
81
81
  >
82
82
  {timestampsWithImage && BotMessageImage && !isSentByUser && (
83
83
  <img
84
+ alt={isSentByAgent ? 'Agent message image' : 'Bot message image'}
84
85
  src={resolveImage(
85
86
  isSentByAgent ? AgentMessageImage : BotMessageImage
86
87
  )}
@@ -1,5 +1,4 @@
1
- import React from 'react'
2
-
1
+ /** biome-ignore-all lint/security/noDangerouslySetInnerHtml: MessageTemplate is a component that renders a message template */
3
2
  import { renderComponent } from '../util/react'
4
3
 
5
4
  export const MessageTemplate = props => {
@@ -1,8 +1,6 @@
1
1
  export const MAX_CHARACTERS_FACEBOOK = 640
2
2
 
3
3
  export class MultichannelFacebook {
4
- constructor() {}
5
-
6
4
  convertText(props, originalText) {
7
5
  if (originalText.length > MAX_CHARACTERS_FACEBOOK) {
8
6
  const texts = this.splitText(originalText)
@@ -39,7 +37,9 @@ export class MultichannelFacebook {
39
37
  if (Array.isArray(props.children)) {
40
38
  props.children
41
39
  .filter(e => e.type)
42
- .forEach(e => propsLastText.children.push(e))
40
+ .forEach(e => {
41
+ propsLastText.children.push(e)
42
+ })
43
43
  }
44
44
  const propsWithoutChildren = { ...props }
45
45
  delete propsWithoutChildren.children
@@ -1,5 +1,5 @@
1
1
  import { isWhatsapp } from '@botonic/core'
2
- import React, { useContext } from 'react'
2
+ import { useContext } from 'react'
3
3
 
4
4
  import { RequestContext } from '../../contexts'
5
5
  import { truncateText } from '../../util'
@@ -23,7 +23,7 @@ export const MultichannelButton = props => {
23
23
  const hasWebview = () => Boolean(props.webview)
24
24
 
25
25
  const getUrl = () => props.url
26
- const getWebview = () => props.webview
26
+ const _getWebview = () => props.webview
27
27
 
28
28
  const increaseCurrentIndex = () => {
29
29
  if (typeof multichannelContext.currentIndex === 'number') {
@@ -49,9 +49,9 @@ export const MultichannelButton = props => {
49
49
  ? `${formatIndex(multichannelContext.currentIndex + separator)} `
50
50
  : ''
51
51
  if (hasPostback()) {
52
- text = newline + `${index}${text}`
52
+ text = `${newline}${index}${text}`
53
53
  } else if (hasUrl()) {
54
- text = newline + `- ${text}`
54
+ text = `${newline}- ${text}`
55
55
  }
56
56
  return text
57
57
  }
@@ -65,7 +65,9 @@ export const MultichannelButton = props => {
65
65
  const text = getText()
66
66
  increaseCurrentIndex()
67
67
  return `${text}`
68
- } else if (hasWebview()) return <Button {...props}>{getText()}</Button>
68
+ } else if (hasWebview()) {
69
+ return <Button {...props}>{getText()}</Button>
70
+ }
69
71
  }
70
72
  return (
71
73
  <Button {...props}>
@@ -5,7 +5,7 @@ import {
5
5
  isWebchat,
6
6
  isWhatsapp,
7
7
  } from '@botonic/core'
8
- import React, { useContext } from 'react'
8
+ import { useContext } from 'react'
9
9
 
10
10
  import { RequestContext } from '../../contexts'
11
11
  import { Button } from '../button/index'
@@ -92,11 +92,21 @@ function parseCarouselElement(element) {
92
92
  const buttonsChildren = []
93
93
 
94
94
  for (const node of element) {
95
- if (isNodePic(node)) imageProps = node.props
96
- if (isNodeTitle(node)) title = node.props.children
97
- if (isNodeSubtitle(node)) subtitle = node.props.children
98
- if (isMultichannelButton(node)) buttonsChildren.push(node)
99
- if (Array.isArray(node)) buttonsChildren.push(...getButtons(node))
95
+ if (isNodePic(node)) {
96
+ imageProps = node.props
97
+ }
98
+ if (isNodeTitle(node)) {
99
+ title = node.props.children
100
+ }
101
+ if (isNodeSubtitle(node)) {
102
+ subtitle = node.props.children
103
+ }
104
+ if (isMultichannelButton(node)) {
105
+ buttonsChildren.push(node)
106
+ }
107
+ if (Array.isArray(node)) {
108
+ buttonsChildren.push(...getButtons(node))
109
+ }
100
110
  }
101
111
 
102
112
  const buttons = buttonsChildren.map(button => {
@@ -1,5 +1,5 @@
1
1
  import { isWhatsapp } from '@botonic/core'
2
- import React, { useContext } from 'react'
2
+ import { useContext } from 'react'
3
3
 
4
4
  import { RequestContext } from '../../contexts'
5
5
  import { COMPONENT_DISPLAY_NAMES } from '../constants'
@@ -12,7 +12,9 @@ export const MultichannelReply = props => {
12
12
  const getText = () => `${props.children}`
13
13
 
14
14
  if (isWhatsapp(requestContext.session)) {
15
- if (hasPath() || hasPayload()) return `${getText()}`
15
+ if (hasPath() || hasPayload()) {
16
+ return `${getText()}`
17
+ }
16
18
  return null
17
19
  } else {
18
20
  return <Reply {...props}>{props.children}</Reply>
@@ -40,11 +40,14 @@ export const MultichannelText = props => {
40
40
  const text = children
41
41
  .filter(e => e && !e.type)
42
42
  .map(e => {
43
- if (Array.isArray(e)) return getText(e)
44
- else return String(e)
43
+ if (Array.isArray(e)) {
44
+ return getText(e)
45
+ } else {
46
+ return String(e)
47
+ }
45
48
  })
46
49
  .join('')
47
- if (text == undefined) {
50
+ if (text === undefined) {
48
51
  return []
49
52
  }
50
53
  return [text].filter(t => t !== '') // to avoid line breaks when the carousel doesn't have title or subtitle
@@ -61,15 +64,19 @@ export const MultichannelText = props => {
61
64
  const urlButtons = []
62
65
  const webviewButtons = []
63
66
  for (const button of getButtonsAndReplies()) {
64
- if (elementHasUrl(button)) urlButtons.push(button)
65
- else if (elementHasWebview(button)) webviewButtons.push(button)
66
- else if (elementHasPostback(button)) postbackButtons.push(button)
67
+ if (elementHasUrl(button)) {
68
+ urlButtons.push(button)
69
+ } else if (elementHasWebview(button)) {
70
+ webviewButtons.push(button)
71
+ } else if (elementHasPostback(button)) {
72
+ postbackButtons.push(button)
73
+ }
67
74
  }
68
75
  return { postbackButtons, urlButtons, webviewButtons }
69
76
  }
70
77
 
71
78
  const getDefaultIndex = () => {
72
- if (props.indexMode == undefined) {
79
+ if (props.indexMode === undefined) {
73
80
  return undefined
74
81
  }
75
82
  if (multichannelContext.currentIndex != null) {
@@ -204,13 +211,14 @@ export const MultichannelText = props => {
204
211
  return (
205
212
  <>
206
213
  {messages.map((message, i) => {
207
- if (message.type === INPUT.WHATSAPP_BUTTON_LIST)
214
+ if (message.type === INPUT.WHATSAPP_BUTTON_LIST) {
208
215
  return (
209
216
  <WhatsappButtonList
210
217
  key={`msg-${i}-whatsapp-list`}
211
218
  {...message.props}
212
219
  />
213
220
  )
221
+ }
214
222
  return (
215
223
  <Text
216
224
  key={`msg-${i}-with-postback-buttons`}
@@ -311,7 +319,7 @@ export const MultichannelText = props => {
311
319
  return (
312
320
  <>
313
321
  {texts?.map((message, i) => (
314
- <Text key={i} {...propsWithoutChildren}>
322
+ <Text key={`msg-${i}-text`} {...propsWithoutChildren}>
315
323
  {convertToMarkdownMeta(message)}
316
324
  </Text>
317
325
  ))}
@@ -80,9 +80,15 @@ export type ButtonType = (typeof buttonTypes)[keyof typeof buttonTypes]
80
80
  export function getButtonType(
81
81
  multichannelButton?: ElementWithProps
82
82
  ): ButtonType | undefined {
83
- if (elementHasUrl(multichannelButton)) return buttonTypes.URL
84
- if (elementHasPostback(multichannelButton)) return buttonTypes.POSTBACK
85
- if (elementHasWebview(multichannelButton)) return buttonTypes.WEBVIEW
83
+ if (elementHasUrl(multichannelButton)) {
84
+ return buttonTypes.URL
85
+ }
86
+ if (elementHasPostback(multichannelButton)) {
87
+ return buttonTypes.POSTBACK
88
+ }
89
+ if (elementHasWebview(multichannelButton)) {
90
+ return buttonTypes.WEBVIEW
91
+ }
86
92
 
87
93
  return undefined
88
94
  }
@@ -93,7 +99,9 @@ export function getFilteredElements<T extends ReactElementWithDisplayName>(
93
99
  ): T[] {
94
100
  const elements: T[] = []
95
101
  for (const n of node) {
96
- if (filter(n)) elements.push(n)
102
+ if (filter(n)) {
103
+ elements.push(n)
104
+ }
97
105
  }
98
106
  return elements
99
107
  }
@@ -1,5 +1,5 @@
1
1
  import { isFacebook, isInstagram, isWhatsapp } from '@botonic/core'
2
- import React, { useContext } from 'react'
2
+ import { useContext } from 'react'
3
3
 
4
4
  import { RequestContext } from '../../contexts'
5
5
  import { deepMapWithIndex } from '../../util/react'
@@ -1,4 +1,3 @@
1
- import React from 'react'
2
1
  import styled from 'styled-components'
3
2
 
4
3
  import { COLORS, WEBCHAT } from '../constants'
@@ -24,7 +23,7 @@ export const Pic = (props: PicProps) => {
24
23
 
25
24
  const renderBrowser = () => <PicStyled src={props.src} />
26
25
 
27
- // @ts-ignore
26
+ // @ts-expect-error
28
27
  const renderNode = () => <pic>{props.src}</pic>
29
28
 
30
29
  return renderComponent({ renderBrowser, renderNode })
@@ -1,5 +1,5 @@
1
1
  import { INPUT, isBrowser } from '@botonic/core'
2
- import React, { useState } from 'react'
2
+ import { useState } from 'react'
3
3
  import styled from 'styled-components'
4
4
 
5
5
  import { COLORS, ROLES } from '../constants'
@@ -35,7 +35,7 @@ export const Raw = props => {
35
35
  let content = props.children
36
36
  const data = JSON.stringify(props.data, null, ' ')
37
37
  const [isOpen, setIsOpen] = useState(false)
38
- if (isBrowser())
38
+ if (isBrowser()) {
39
39
  content = (
40
40
  <>
41
41
  <div>{props.alt}</div>
@@ -49,6 +49,7 @@ export const Raw = props => {
49
49
  )}
50
50
  </>
51
51
  )
52
+ }
52
53
  return (
53
54
  <Message
54
55
  role={ROLES.RAW_MESSAGE}
@@ -1,11 +1,11 @@
1
- import React, { useContext } from 'react'
1
+ import { useContext } from 'react'
2
2
  import styled from 'styled-components'
3
3
 
4
- import { COLORS, WEBCHAT } from '../constants'
4
+ import { WEBCHAT } from '../constants'
5
5
  import { renderComponent } from '../util/react'
6
6
  import { WebchatContext } from '../webchat/context'
7
7
  import { COMPONENT_DISPLAY_NAMES } from './constants'
8
- import { ReplyProps } from './index-types'
8
+ import type { ReplyProps } from './index-types'
9
9
 
10
10
  const StyledButton = styled.button`
11
11
  width: 100%;
@@ -25,7 +25,9 @@ export const Reply = (props: ReplyProps) => {
25
25
  event.preventDefault()
26
26
  if (props.children) {
27
27
  let payload = props.payload
28
- if (props.path) payload = `__PATH_PAYLOAD__${props.path}`
28
+ if (props.path) {
29
+ payload = `__PATH_PAYLOAD__${props.path}`
30
+ }
29
31
  sendText(props.children, payload)
30
32
  }
31
33
  }
@@ -56,11 +58,11 @@ export const Reply = (props: ReplyProps) => {
56
58
  const renderNode = () => {
57
59
  if (props.path) {
58
60
  const payload = `__PATH_PAYLOAD__${props.path}`
59
- // @ts-ignore
61
+ // @ts-expect-error
60
62
  // eslint-disable-next-line react/no-unknown-property
61
63
  return <reply payload={payload}>{props.children}</reply>
62
64
  }
63
- // @ts-ignore
65
+ // @ts-expect-error
64
66
  // eslint-disable-next-line react/no-unknown-property
65
67
  return <reply payload={props.payload}>{props.children}</reply>
66
68
  }
@@ -72,6 +74,8 @@ Reply.displayName = COMPONENT_DISPLAY_NAMES.Reply
72
74
 
73
75
  Reply.serialize = (replyProps: ReplyProps) => {
74
76
  let payload = replyProps.payload
75
- if (replyProps.path) payload = `__PATH_PAYLOAD__${replyProps.path}`
77
+ if (replyProps.path) {
78
+ payload = `__PATH_PAYLOAD__${replyProps.path}`
79
+ }
76
80
  return { reply: { title: replyProps.children, payload } }
77
81
  }
@@ -1,5 +1,4 @@
1
- import React from 'react'
2
-
1
+ /** biome-ignore-all lint/security/noDangerouslySetInnerHtml: ShareButton is a component that renders a share button */
3
2
  import { renderComponent } from '../util/react'
4
3
 
5
4
  export const ShareButton = props => {
@@ -1,4 +1,4 @@
1
- import React from 'react'
1
+ import type React from 'react'
2
2
  import styled from 'styled-components'
3
3
 
4
4
  import { COLORS } from '../constants'