@botonic/react 0.57.0-rslib-esm.0 → 0.57.0-rslib-esm.1

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 (961) hide show
  1. package/lib/app.js.map +1 -0
  2. package/lib/botonic-tester.js.map +1 -0
  3. package/lib/components/audio.d.ts +9 -0
  4. package/lib/components/audio.js.map +1 -0
  5. package/lib/components/button/index.js.map +1 -0
  6. package/lib/components/button/styles.js.map +1 -0
  7. package/lib/components/buttons-disabler.js.map +1 -0
  8. package/lib/components/carousel.d.ts +10 -0
  9. package/lib/components/carousel.js.map +1 -0
  10. package/lib/components/components.js.map +1 -0
  11. package/lib/components/constants.js.map +1 -0
  12. package/lib/components/custom-message.js.map +1 -0
  13. package/lib/components/document.d.ts +9 -0
  14. package/lib/components/document.js.map +1 -0
  15. package/lib/components/element.js.map +1 -0
  16. package/lib/components/handoff.d.ts +1 -0
  17. package/lib/components/handoff.js.map +1 -0
  18. package/lib/components/image.d.ts +9 -0
  19. package/lib/components/image.js.map +1 -0
  20. package/lib/components/index-types.js.map +1 -0
  21. package/lib/components/index.js.map +1 -0
  22. package/lib/components/location.js.map +1 -0
  23. package/lib/components/markdown.js.map +1 -0
  24. package/lib/components/message/index.js.map +1 -0
  25. package/lib/components/message/message-footer.d.ts +8 -0
  26. package/lib/components/message/message-footer.js.map +1 -0
  27. package/lib/components/message/message-image.js.map +1 -0
  28. package/lib/components/message/styles.js.map +1 -0
  29. package/lib/components/message/timestamps.d.ts +13 -0
  30. package/lib/components/message/timestamps.js.map +1 -0
  31. package/lib/components/message-template.js.map +1 -0
  32. package/lib/components/multichannel/facebook/facebook.js.map +1 -0
  33. package/lib/components/multichannel/index-types.js.map +1 -0
  34. package/lib/components/multichannel/index.js.map +1 -0
  35. package/lib/components/multichannel/multichannel-button.d.ts +4 -0
  36. package/lib/components/multichannel/multichannel-button.js.map +1 -0
  37. package/lib/components/multichannel/multichannel-carousel.d.ts +1 -0
  38. package/lib/components/multichannel/multichannel-carousel.js.map +1 -0
  39. package/lib/components/multichannel/multichannel-context.js.map +1 -0
  40. package/lib/components/multichannel/multichannel-reply.d.ts +4 -0
  41. package/lib/components/multichannel/multichannel-reply.js.map +1 -0
  42. package/lib/components/multichannel/multichannel-text.d.ts +2 -0
  43. package/lib/components/multichannel/multichannel-text.js.map +1 -0
  44. package/lib/components/multichannel/multichannel-utils.js.map +1 -0
  45. package/lib/components/multichannel/multichannel.js.map +1 -0
  46. package/lib/components/multichannel/whatsapp/constants.js.map +1 -0
  47. package/lib/components/multichannel/whatsapp/markdown-meta.js.map +1 -0
  48. package/lib/components/pic.js.map +1 -0
  49. package/lib/components/raw.d.ts +9 -0
  50. package/lib/components/raw.js.map +1 -0
  51. package/lib/components/reply.js.map +1 -0
  52. package/lib/components/share-button.js.map +1 -0
  53. package/lib/components/subtitle.js.map +1 -0
  54. package/lib/components/system-debug-trace/debug-message.d.ts +8 -0
  55. package/lib/components/system-debug-trace/debug-message.js.map +1 -0
  56. package/lib/components/system-debug-trace/events/ai-agent/ai-agent.d.ts +4 -0
  57. package/lib/components/system-debug-trace/events/ai-agent/ai-agent.js.map +1 -0
  58. package/lib/components/system-debug-trace/events/ai-agent/executed-tools.d.ts +7 -0
  59. package/lib/components/system-debug-trace/events/ai-agent/executed-tools.js.map +1 -0
  60. package/lib/components/system-debug-trace/events/ai-agent/index.js.map +1 -0
  61. package/lib/components/system-debug-trace/events/ai-agent/parse-tools.js.map +1 -0
  62. package/lib/components/system-debug-trace/events/ai-agent/rehydrate-ai-agent-event.js.map +1 -0
  63. package/lib/components/system-debug-trace/events/ai-agent/types.js.map +1 -0
  64. package/lib/components/system-debug-trace/events/ai-agent/use-rehydrated-ai-agent-event.js.map +1 -0
  65. package/lib/components/system-debug-trace/events/ai-agent-router/ai-agent-router.d.ts +4 -0
  66. package/lib/components/system-debug-trace/events/ai-agent-router/ai-agent-router.js.map +1 -0
  67. package/lib/components/system-debug-trace/events/ai-agent-router/index.js.map +1 -0
  68. package/lib/components/system-debug-trace/events/ai-agent-router/types.js.map +1 -0
  69. package/lib/components/system-debug-trace/events/bot-action.js.map +1 -0
  70. package/lib/components/system-debug-trace/events/components/guardrail-item.js.map +1 -0
  71. package/lib/components/system-debug-trace/events/components/index.js.map +1 -0
  72. package/lib/components/system-debug-trace/events/components/sources-section.d.ts +11 -0
  73. package/lib/components/system-debug-trace/events/components/sources-section.js.map +1 -0
  74. package/lib/components/system-debug-trace/events/conditional-channel.js.map +1 -0
  75. package/lib/components/system-debug-trace/events/conditional-country.js.map +1 -0
  76. package/lib/components/system-debug-trace/events/conditional-custom.d.ts +10 -0
  77. package/lib/components/system-debug-trace/events/conditional-custom.js.map +1 -0
  78. package/lib/components/system-debug-trace/events/conditional-queue-status.d.ts +11 -0
  79. package/lib/components/system-debug-trace/events/conditional-queue-status.js.map +1 -0
  80. package/lib/components/system-debug-trace/events/constants.js.map +1 -0
  81. package/lib/components/system-debug-trace/events/fallback.js.map +1 -0
  82. package/lib/components/system-debug-trace/events/handoff-success.d.ts +11 -0
  83. package/lib/components/system-debug-trace/events/handoff-success.js.map +1 -0
  84. package/lib/components/system-debug-trace/events/index.js.map +1 -0
  85. package/lib/components/system-debug-trace/events/keyword.js.map +1 -0
  86. package/lib/components/system-debug-trace/events/knowledge-bases-types.js.map +1 -0
  87. package/lib/components/system-debug-trace/events/redirect-flow.js.map +1 -0
  88. package/lib/components/system-debug-trace/events/smart-intent.js.map +1 -0
  89. package/lib/components/system-debug-trace/events/webview-action-triggered.d.ts +10 -0
  90. package/lib/components/system-debug-trace/events/webview-action-triggered.js.map +1 -0
  91. package/lib/components/system-debug-trace/hooks/use-knowledge-base-info.d.ts +16 -0
  92. package/lib/components/system-debug-trace/hooks/use-knowledge-base-info.js.map +1 -0
  93. package/lib/components/system-debug-trace/hooks/use-last-label-position.js.map +1 -0
  94. package/lib/components/system-debug-trace/icons/ai-router.d.ts +1 -0
  95. package/lib/components/system-debug-trace/icons/ai-router.js.map +1 -0
  96. package/lib/components/system-debug-trace/icons/ai-specialist.d.ts +1 -0
  97. package/lib/components/system-debug-trace/icons/ai-specialist.js.map +1 -0
  98. package/lib/components/system-debug-trace/icons/arrow-progress.d.ts +2 -0
  99. package/lib/components/system-debug-trace/icons/arrow-progress.js.map +1 -0
  100. package/lib/components/system-debug-trace/icons/brain.d.ts +2 -0
  101. package/lib/components/system-debug-trace/icons/brain.js.map +1 -0
  102. package/lib/components/system-debug-trace/icons/caret-down.d.ts +2 -0
  103. package/lib/components/system-debug-trace/icons/caret-down.js.map +1 -0
  104. package/lib/components/system-debug-trace/icons/caret-up.d.ts +2 -0
  105. package/lib/components/system-debug-trace/icons/caret-up.js.map +1 -0
  106. package/lib/components/system-debug-trace/icons/circle-check.d.ts +2 -0
  107. package/lib/components/system-debug-trace/icons/circle-check.js.map +1 -0
  108. package/lib/components/system-debug-trace/icons/code.d.ts +2 -0
  109. package/lib/components/system-debug-trace/icons/code.js.map +1 -0
  110. package/lib/components/system-debug-trace/icons/file-pdf.d.ts +2 -0
  111. package/lib/components/system-debug-trace/icons/file-pdf.js.map +1 -0
  112. package/lib/components/system-debug-trace/icons/file-word.d.ts +2 -0
  113. package/lib/components/system-debug-trace/icons/file-word.js.map +1 -0
  114. package/lib/components/system-debug-trace/icons/hand.d.ts +2 -0
  115. package/lib/components/system-debug-trace/icons/hand.js.map +1 -0
  116. package/lib/components/system-debug-trace/icons/head-set.d.ts +2 -0
  117. package/lib/components/system-debug-trace/icons/head-set.js.map +1 -0
  118. package/lib/components/system-debug-trace/icons/index.js.map +1 -0
  119. package/lib/components/system-debug-trace/icons/life-ring.d.ts +2 -0
  120. package/lib/components/system-debug-trace/icons/life-ring.js.map +1 -0
  121. package/lib/components/system-debug-trace/icons/link.d.ts +2 -0
  122. package/lib/components/system-debug-trace/icons/link.js.map +1 -0
  123. package/lib/components/system-debug-trace/icons/quote-right.d.ts +2 -0
  124. package/lib/components/system-debug-trace/icons/quote-right.js.map +1 -0
  125. package/lib/components/system-debug-trace/icons/screwdriver-wrench.d.ts +2 -0
  126. package/lib/components/system-debug-trace/icons/screwdriver-wrench.js.map +1 -0
  127. package/lib/components/system-debug-trace/icons/split.d.ts +2 -0
  128. package/lib/components/system-debug-trace/icons/split.js.map +1 -0
  129. package/lib/components/system-debug-trace/icons/wand.d.ts +2 -0
  130. package/lib/components/system-debug-trace/icons/wand.js.map +1 -0
  131. package/lib/components/system-debug-trace/icons/window-restore.d.ts +2 -0
  132. package/lib/components/system-debug-trace/icons/window-restore.js.map +1 -0
  133. package/lib/components/system-debug-trace/index.d.ts +10 -0
  134. package/lib/components/system-debug-trace/index.js.map +1 -0
  135. package/lib/components/system-debug-trace/styles.js.map +1 -0
  136. package/lib/components/system-debug-trace/types.js.map +1 -0
  137. package/lib/components/text.d.ts +8 -0
  138. package/lib/components/text.js.map +1 -0
  139. package/lib/components/title.js.map +1 -0
  140. package/lib/components/video.d.ts +9 -0
  141. package/lib/components/video.js.map +1 -0
  142. package/lib/components/webchat-settings.js.map +1 -0
  143. package/lib/components/whatsapp-button-list.js.map +1 -0
  144. package/lib/components/whatsapp-catalog.js.map +1 -0
  145. package/lib/components/whatsapp-cta-url-button.js.map +1 -0
  146. package/lib/components/whatsapp-interactive-media-carousel.d.ts +31 -0
  147. package/lib/components/whatsapp-interactive-media-carousel.js.map +1 -0
  148. package/lib/components/whatsapp-media-carousel.js.map +1 -0
  149. package/lib/components/whatsapp-product-carousel.js.map +1 -0
  150. package/lib/components/whatsapp-product-list.js.map +1 -0
  151. package/lib/components/whatsapp-product.js.map +1 -0
  152. package/lib/components/whatsapp-request-contact-info.js.map +1 -0
  153. package/lib/components/whatsapp-template/index.js.map +1 -0
  154. package/lib/components/whatsapp-template/types.js.map +1 -0
  155. package/lib/constants.js.map +1 -0
  156. package/lib/contexts.js.map +1 -0
  157. package/lib/debug-system-messages.js.map +1 -0
  158. package/lib/dev-app.d.ts +213 -0
  159. package/lib/dev-app.js.map +1 -0
  160. package/lib/index-types.js.map +1 -0
  161. package/lib/index.js.map +1 -0
  162. package/lib/message-utils.js.map +1 -0
  163. package/lib/msg-to-botonic.js.map +1 -0
  164. package/lib/node-app.js.map +1 -0
  165. package/lib/react-bot.js.map +1 -0
  166. package/lib/shared/styles.js.map +1 -0
  167. package/lib/util/dom.js.map +1 -0
  168. package/lib/util/environment.js.map +1 -0
  169. package/lib/util/error-boundary.d.ts +7 -0
  170. package/lib/util/error-boundary.js.map +1 -0
  171. package/lib/util/functional.js.map +1 -0
  172. package/lib/util/i18n.js.map +1 -0
  173. package/lib/util/index.js.map +1 -0
  174. package/lib/util/logs.js.map +1 -0
  175. package/lib/util/objects.js.map +1 -0
  176. package/lib/util/react.js.map +1 -0
  177. package/lib/util/regexs.js.map +1 -0
  178. package/lib/util/strings.js.map +1 -0
  179. package/lib/util/webchat.js.map +1 -0
  180. package/lib/util/webviews.js.map +1 -0
  181. package/lib/webchat/chat-area/index.d.ts +1 -0
  182. package/lib/webchat/chat-area/index.js.map +1 -0
  183. package/lib/webchat/chat-area/styles.js.map +1 -0
  184. package/lib/webchat/components/common.d.ts +1 -0
  185. package/lib/webchat/components/common.js.map +1 -0
  186. package/lib/webchat/components/conditional-animation.d.ts +1 -0
  187. package/lib/webchat/components/conditional-animation.js.map +1 -0
  188. package/lib/webchat/components/opened-persistent-menu.d.ts +6 -0
  189. package/lib/webchat/components/opened-persistent-menu.js.map +1 -0
  190. package/lib/webchat/constants.js.map +1 -0
  191. package/lib/webchat/context/actions.js.map +1 -0
  192. package/lib/webchat/context/index.js.map +1 -0
  193. package/lib/webchat/context/messages-reducer.js.map +1 -0
  194. package/lib/webchat/context/types.js.map +1 -0
  195. package/lib/webchat/context/use-webchat.js.map +1 -0
  196. package/lib/webchat/context/webchat-reducer.js.map +1 -0
  197. package/lib/webchat/cover-component/index.d.ts +6 -0
  198. package/lib/webchat/cover-component/index.js.map +1 -0
  199. package/lib/webchat/custom-messages/index.js.map +1 -0
  200. package/lib/webchat/custom-messages/rating/icons/face-angry.d.ts +3 -0
  201. package/lib/webchat/custom-messages/rating/icons/face-angry.js.map +1 -0
  202. package/lib/webchat/custom-messages/rating/icons/face-frown.d.ts +3 -0
  203. package/lib/webchat/custom-messages/rating/icons/face-frown.js.map +1 -0
  204. package/lib/webchat/custom-messages/rating/icons/face-grin-beam.d.ts +3 -0
  205. package/lib/webchat/custom-messages/rating/icons/face-grin-beam.js.map +1 -0
  206. package/lib/webchat/custom-messages/rating/icons/face-meh.d.ts +3 -0
  207. package/lib/webchat/custom-messages/rating/icons/face-meh.js.map +1 -0
  208. package/lib/webchat/custom-messages/rating/icons/face-smile.d.ts +3 -0
  209. package/lib/webchat/custom-messages/rating/icons/face-smile.js.map +1 -0
  210. package/lib/webchat/custom-messages/rating/icons/index.js.map +1 -0
  211. package/lib/webchat/custom-messages/rating/icons/star.d.ts +3 -0
  212. package/lib/webchat/custom-messages/rating/icons/star.js.map +1 -0
  213. package/lib/webchat/custom-messages/rating/index.js.map +1 -0
  214. package/lib/webchat/custom-messages/rating/rating-selector.d.ts +11 -0
  215. package/lib/webchat/custom-messages/rating/rating-selector.js.map +1 -0
  216. package/lib/webchat/custom-messages/rating/smileys.d.ts +2 -0
  217. package/lib/webchat/custom-messages/rating/smileys.js.map +1 -0
  218. package/lib/webchat/custom-messages/rating/stars.d.ts +2 -0
  219. package/lib/webchat/custom-messages/rating/stars.js.map +1 -0
  220. package/lib/webchat/custom-messages/rating/styles.js.map +1 -0
  221. package/lib/webchat/custom-messages/rating/types.js.map +1 -0
  222. package/lib/webchat/devices/index.js.map +1 -0
  223. package/lib/webchat/header/default-header.d.ts +1 -0
  224. package/lib/webchat/header/default-header.js.map +1 -0
  225. package/lib/webchat/header/index.js.map +1 -0
  226. package/lib/webchat/header/styles.js.map +1 -0
  227. package/lib/webchat/hooks/index.js.map +1 -0
  228. package/lib/webchat/hooks/use-component-visible.js.map +1 -0
  229. package/lib/webchat/hooks/use-component-will-mount.js.map +1 -0
  230. package/lib/webchat/hooks/use-device-adapter.js.map +1 -0
  231. package/lib/webchat/hooks/use-previous.js.map +1 -0
  232. package/lib/webchat/hooks/use-scroll-to-bottom.js.map +1 -0
  233. package/lib/webchat/hooks/use-scrollbar-controller.js.map +1 -0
  234. package/lib/webchat/hooks/use-typing.js.map +1 -0
  235. package/lib/webchat/hooks/use-virtual-keyboard-detection.js.map +1 -0
  236. package/lib/webchat/hooks/use-webchat-dimensions.js.map +1 -0
  237. package/lib/webchat/hooks/use-webchat-resizer.js.map +1 -0
  238. package/lib/webchat/index-types.js.map +1 -0
  239. package/lib/webchat/index.js.map +1 -0
  240. package/lib/webchat/input-panel/attachment.d.ts +6 -0
  241. package/lib/webchat/input-panel/attachment.js.map +1 -0
  242. package/lib/webchat/input-panel/emoji-picker.d.ts +5 -0
  243. package/lib/webchat/input-panel/emoji-picker.js.map +1 -0
  244. package/lib/webchat/input-panel/index.d.ts +9 -0
  245. package/lib/webchat/input-panel/index.js.map +1 -0
  246. package/lib/webchat/input-panel/opened-emoji-picker.d.ts +6 -0
  247. package/lib/webchat/input-panel/opened-emoji-picker.js.map +1 -0
  248. package/lib/webchat/input-panel/persistent-menu.d.ts +5 -0
  249. package/lib/webchat/input-panel/persistent-menu.js.map +1 -0
  250. package/lib/webchat/input-panel/send-button.d.ts +5 -0
  251. package/lib/webchat/input-panel/send-button.js.map +1 -0
  252. package/lib/webchat/input-panel/styles.js.map +1 -0
  253. package/lib/webchat/input-panel/textarea.d.ts +10 -0
  254. package/lib/webchat/input-panel/textarea.js.map +1 -0
  255. package/lib/webchat/input-panel/typing-network-sender.js.map +1 -0
  256. package/lib/webchat/input-panel/use-typing-chat-event-sender.js.map +1 -0
  257. package/lib/webchat/input-panel/use-typing-session.js.map +1 -0
  258. package/lib/webchat/message-list/index.d.ts +2 -0
  259. package/lib/webchat/message-list/index.js.map +1 -0
  260. package/lib/webchat/message-list/intro-message.d.ts +1 -0
  261. package/lib/webchat/message-list/intro-message.js.map +1 -0
  262. package/lib/webchat/message-list/scroll-button.js.map +1 -0
  263. package/lib/webchat/message-list/styles.js.map +1 -0
  264. package/lib/webchat/message-list/unread-messages-banner.js.map +1 -0
  265. package/lib/webchat/message-list/use-debounce.js.map +1 -0
  266. package/lib/webchat/message-list/use-notifications.js.map +1 -0
  267. package/lib/webchat/replies/index.d.ts +1 -0
  268. package/lib/webchat/replies/index.js.map +1 -0
  269. package/lib/webchat/replies/styles.js.map +1 -0
  270. package/lib/webchat/session-view.d.ts +1 -0
  271. package/lib/webchat/session-view.js.map +1 -0
  272. package/lib/webchat/styles.js.map +1 -0
  273. package/lib/webchat/theme/default-theme.js.map +1 -0
  274. package/lib/webchat/theme/types.js.map +1 -0
  275. package/lib/webchat/tracking.js.map +1 -0
  276. package/lib/webchat/trigger-button/index.js.map +1 -0
  277. package/lib/webchat/trigger-button/styles.js.map +1 -0
  278. package/lib/webchat/typing-indicator/index.js.map +1 -0
  279. package/lib/webchat/typing-indicator/styles.js.map +1 -0
  280. package/lib/webchat/use-storage-state-hook.js.map +1 -0
  281. package/lib/webchat/utils.js.map +1 -0
  282. package/lib/webchat/webchat-dev.js.map +1 -0
  283. package/lib/webchat/webchat.js.map +1 -0
  284. package/lib/webchat/webview/header.d.ts +1 -0
  285. package/lib/webchat/webview/header.js.map +1 -0
  286. package/lib/webchat/webview/index.d.ts +6 -0
  287. package/lib/webchat/webview/index.js.map +1 -0
  288. package/lib/webchat/webview/styles.js.map +1 -0
  289. package/lib/webchat-app.d.ts +114 -0
  290. package/lib/webchat-app.js.map +1 -0
  291. package/lib/webview-app.js.map +1 -0
  292. package/package.json +11 -10
  293. package/src/components/multichannel/index.ts +7 -6
  294. package/src/webchat/webchat.tsx +1 -0
  295. package/lib/esm/app.js.map +0 -1
  296. package/lib/esm/botonic-tester.js.map +0 -1
  297. package/lib/esm/components/audio.d.ts +0 -9
  298. package/lib/esm/components/audio.js.map +0 -1
  299. package/lib/esm/components/button/index.js.map +0 -1
  300. package/lib/esm/components/button/styles.js.map +0 -1
  301. package/lib/esm/components/buttons-disabler.js.map +0 -1
  302. package/lib/esm/components/carousel.d.ts +0 -10
  303. package/lib/esm/components/carousel.js.map +0 -1
  304. package/lib/esm/components/components.js.map +0 -1
  305. package/lib/esm/components/constants.js.map +0 -1
  306. package/lib/esm/components/custom-message.js.map +0 -1
  307. package/lib/esm/components/document.d.ts +0 -9
  308. package/lib/esm/components/document.js.map +0 -1
  309. package/lib/esm/components/element.js.map +0 -1
  310. package/lib/esm/components/handoff.d.ts +0 -1
  311. package/lib/esm/components/handoff.js.map +0 -1
  312. package/lib/esm/components/image.d.ts +0 -9
  313. package/lib/esm/components/image.js.map +0 -1
  314. package/lib/esm/components/index-types.js.map +0 -1
  315. package/lib/esm/components/index.js.map +0 -1
  316. package/lib/esm/components/location.js.map +0 -1
  317. package/lib/esm/components/markdown.js.map +0 -1
  318. package/lib/esm/components/message/index.js.map +0 -1
  319. package/lib/esm/components/message/message-footer.d.ts +0 -8
  320. package/lib/esm/components/message/message-footer.js.map +0 -1
  321. package/lib/esm/components/message/message-image.js.map +0 -1
  322. package/lib/esm/components/message/styles.js.map +0 -1
  323. package/lib/esm/components/message/timestamps.d.ts +0 -13
  324. package/lib/esm/components/message/timestamps.js.map +0 -1
  325. package/lib/esm/components/message-template.js.map +0 -1
  326. package/lib/esm/components/multichannel/facebook/facebook.js.map +0 -1
  327. package/lib/esm/components/multichannel/index-types.js.map +0 -1
  328. package/lib/esm/components/multichannel/index.js.map +0 -1
  329. package/lib/esm/components/multichannel/multichannel-button.d.ts +0 -4
  330. package/lib/esm/components/multichannel/multichannel-button.js.map +0 -1
  331. package/lib/esm/components/multichannel/multichannel-carousel.d.ts +0 -1
  332. package/lib/esm/components/multichannel/multichannel-carousel.js.map +0 -1
  333. package/lib/esm/components/multichannel/multichannel-context.js.map +0 -1
  334. package/lib/esm/components/multichannel/multichannel-reply.d.ts +0 -4
  335. package/lib/esm/components/multichannel/multichannel-reply.js.map +0 -1
  336. package/lib/esm/components/multichannel/multichannel-text.d.ts +0 -1
  337. package/lib/esm/components/multichannel/multichannel-text.js.map +0 -1
  338. package/lib/esm/components/multichannel/multichannel-utils.js.map +0 -1
  339. package/lib/esm/components/multichannel/multichannel.js.map +0 -1
  340. package/lib/esm/components/multichannel/whatsapp/constants.js.map +0 -1
  341. package/lib/esm/components/multichannel/whatsapp/markdown-meta.js.map +0 -1
  342. package/lib/esm/components/pic.js.map +0 -1
  343. package/lib/esm/components/raw.d.ts +0 -9
  344. package/lib/esm/components/raw.js.map +0 -1
  345. package/lib/esm/components/reply.js.map +0 -1
  346. package/lib/esm/components/share-button.js.map +0 -1
  347. package/lib/esm/components/subtitle.js.map +0 -1
  348. package/lib/esm/components/system-debug-trace/debug-message.d.ts +0 -7
  349. package/lib/esm/components/system-debug-trace/debug-message.js.map +0 -1
  350. package/lib/esm/components/system-debug-trace/events/ai-agent/ai-agent.d.ts +0 -4
  351. package/lib/esm/components/system-debug-trace/events/ai-agent/ai-agent.js.map +0 -1
  352. package/lib/esm/components/system-debug-trace/events/ai-agent/executed-tools.d.ts +0 -7
  353. package/lib/esm/components/system-debug-trace/events/ai-agent/executed-tools.js.map +0 -1
  354. package/lib/esm/components/system-debug-trace/events/ai-agent/index.js.map +0 -1
  355. package/lib/esm/components/system-debug-trace/events/ai-agent/parse-tools.js.map +0 -1
  356. package/lib/esm/components/system-debug-trace/events/ai-agent/rehydrate-ai-agent-event.js.map +0 -1
  357. package/lib/esm/components/system-debug-trace/events/ai-agent/types.js.map +0 -1
  358. package/lib/esm/components/system-debug-trace/events/ai-agent/use-rehydrated-ai-agent-event.js.map +0 -1
  359. package/lib/esm/components/system-debug-trace/events/ai-agent-router/ai-agent-router.d.ts +0 -4
  360. package/lib/esm/components/system-debug-trace/events/ai-agent-router/ai-agent-router.js.map +0 -1
  361. package/lib/esm/components/system-debug-trace/events/ai-agent-router/index.js.map +0 -1
  362. package/lib/esm/components/system-debug-trace/events/ai-agent-router/types.js.map +0 -1
  363. package/lib/esm/components/system-debug-trace/events/bot-action.js.map +0 -1
  364. package/lib/esm/components/system-debug-trace/events/components/guardrail-item.js.map +0 -1
  365. package/lib/esm/components/system-debug-trace/events/components/index.js.map +0 -1
  366. package/lib/esm/components/system-debug-trace/events/components/sources-section.d.ts +0 -11
  367. package/lib/esm/components/system-debug-trace/events/components/sources-section.js.map +0 -1
  368. package/lib/esm/components/system-debug-trace/events/conditional-channel.js.map +0 -1
  369. package/lib/esm/components/system-debug-trace/events/conditional-country.js.map +0 -1
  370. package/lib/esm/components/system-debug-trace/events/conditional-custom.d.ts +0 -10
  371. package/lib/esm/components/system-debug-trace/events/conditional-custom.js.map +0 -1
  372. package/lib/esm/components/system-debug-trace/events/conditional-queue-status.d.ts +0 -11
  373. package/lib/esm/components/system-debug-trace/events/conditional-queue-status.js.map +0 -1
  374. package/lib/esm/components/system-debug-trace/events/constants.js.map +0 -1
  375. package/lib/esm/components/system-debug-trace/events/fallback.js.map +0 -1
  376. package/lib/esm/components/system-debug-trace/events/handoff-success.d.ts +0 -11
  377. package/lib/esm/components/system-debug-trace/events/handoff-success.js.map +0 -1
  378. package/lib/esm/components/system-debug-trace/events/index.js.map +0 -1
  379. package/lib/esm/components/system-debug-trace/events/keyword.js.map +0 -1
  380. package/lib/esm/components/system-debug-trace/events/knowledge-bases-types.js.map +0 -1
  381. package/lib/esm/components/system-debug-trace/events/redirect-flow.js.map +0 -1
  382. package/lib/esm/components/system-debug-trace/events/smart-intent.js.map +0 -1
  383. package/lib/esm/components/system-debug-trace/events/webview-action-triggered.d.ts +0 -10
  384. package/lib/esm/components/system-debug-trace/events/webview-action-triggered.js.map +0 -1
  385. package/lib/esm/components/system-debug-trace/hooks/use-knowledge-base-info.d.ts +0 -16
  386. package/lib/esm/components/system-debug-trace/hooks/use-knowledge-base-info.js.map +0 -1
  387. package/lib/esm/components/system-debug-trace/hooks/use-last-label-position.js.map +0 -1
  388. package/lib/esm/components/system-debug-trace/icons/ai-router.d.ts +0 -1
  389. package/lib/esm/components/system-debug-trace/icons/ai-router.js.map +0 -1
  390. package/lib/esm/components/system-debug-trace/icons/ai-specialist.d.ts +0 -1
  391. package/lib/esm/components/system-debug-trace/icons/ai-specialist.js.map +0 -1
  392. package/lib/esm/components/system-debug-trace/icons/arrow-progress.d.ts +0 -2
  393. package/lib/esm/components/system-debug-trace/icons/arrow-progress.js.map +0 -1
  394. package/lib/esm/components/system-debug-trace/icons/brain.d.ts +0 -2
  395. package/lib/esm/components/system-debug-trace/icons/brain.js.map +0 -1
  396. package/lib/esm/components/system-debug-trace/icons/caret-down.d.ts +0 -2
  397. package/lib/esm/components/system-debug-trace/icons/caret-down.js.map +0 -1
  398. package/lib/esm/components/system-debug-trace/icons/caret-up.d.ts +0 -2
  399. package/lib/esm/components/system-debug-trace/icons/caret-up.js.map +0 -1
  400. package/lib/esm/components/system-debug-trace/icons/circle-check.d.ts +0 -2
  401. package/lib/esm/components/system-debug-trace/icons/circle-check.js.map +0 -1
  402. package/lib/esm/components/system-debug-trace/icons/code.d.ts +0 -2
  403. package/lib/esm/components/system-debug-trace/icons/code.js.map +0 -1
  404. package/lib/esm/components/system-debug-trace/icons/file-pdf.d.ts +0 -2
  405. package/lib/esm/components/system-debug-trace/icons/file-pdf.js.map +0 -1
  406. package/lib/esm/components/system-debug-trace/icons/file-word.d.ts +0 -2
  407. package/lib/esm/components/system-debug-trace/icons/file-word.js.map +0 -1
  408. package/lib/esm/components/system-debug-trace/icons/hand.d.ts +0 -2
  409. package/lib/esm/components/system-debug-trace/icons/hand.js.map +0 -1
  410. package/lib/esm/components/system-debug-trace/icons/head-set.d.ts +0 -2
  411. package/lib/esm/components/system-debug-trace/icons/head-set.js.map +0 -1
  412. package/lib/esm/components/system-debug-trace/icons/index.js.map +0 -1
  413. package/lib/esm/components/system-debug-trace/icons/life-ring.d.ts +0 -2
  414. package/lib/esm/components/system-debug-trace/icons/life-ring.js.map +0 -1
  415. package/lib/esm/components/system-debug-trace/icons/link.d.ts +0 -2
  416. package/lib/esm/components/system-debug-trace/icons/link.js.map +0 -1
  417. package/lib/esm/components/system-debug-trace/icons/quote-right.d.ts +0 -2
  418. package/lib/esm/components/system-debug-trace/icons/quote-right.js.map +0 -1
  419. package/lib/esm/components/system-debug-trace/icons/screwdriver-wrench.d.ts +0 -2
  420. package/lib/esm/components/system-debug-trace/icons/screwdriver-wrench.js.map +0 -1
  421. package/lib/esm/components/system-debug-trace/icons/split.d.ts +0 -2
  422. package/lib/esm/components/system-debug-trace/icons/split.js.map +0 -1
  423. package/lib/esm/components/system-debug-trace/icons/wand.d.ts +0 -2
  424. package/lib/esm/components/system-debug-trace/icons/wand.js.map +0 -1
  425. package/lib/esm/components/system-debug-trace/icons/window-restore.d.ts +0 -2
  426. package/lib/esm/components/system-debug-trace/icons/window-restore.js.map +0 -1
  427. package/lib/esm/components/system-debug-trace/index.d.ts +0 -10
  428. package/lib/esm/components/system-debug-trace/index.js.map +0 -1
  429. package/lib/esm/components/system-debug-trace/styles.js.map +0 -1
  430. package/lib/esm/components/system-debug-trace/types.js.map +0 -1
  431. package/lib/esm/components/text.d.ts +0 -8
  432. package/lib/esm/components/text.js.map +0 -1
  433. package/lib/esm/components/title.js.map +0 -1
  434. package/lib/esm/components/video.d.ts +0 -9
  435. package/lib/esm/components/video.js.map +0 -1
  436. package/lib/esm/components/webchat-settings.js.map +0 -1
  437. package/lib/esm/components/whatsapp-button-list.js.map +0 -1
  438. package/lib/esm/components/whatsapp-catalog.js.map +0 -1
  439. package/lib/esm/components/whatsapp-cta-url-button.js.map +0 -1
  440. package/lib/esm/components/whatsapp-interactive-media-carousel.d.ts +0 -31
  441. package/lib/esm/components/whatsapp-interactive-media-carousel.js.map +0 -1
  442. package/lib/esm/components/whatsapp-media-carousel.js.map +0 -1
  443. package/lib/esm/components/whatsapp-product-carousel.js.map +0 -1
  444. package/lib/esm/components/whatsapp-product-list.js.map +0 -1
  445. package/lib/esm/components/whatsapp-product.js.map +0 -1
  446. package/lib/esm/components/whatsapp-request-contact-info.js.map +0 -1
  447. package/lib/esm/components/whatsapp-template/index.js.map +0 -1
  448. package/lib/esm/components/whatsapp-template/types.js.map +0 -1
  449. package/lib/esm/constants.js.map +0 -1
  450. package/lib/esm/contexts.js.map +0 -1
  451. package/lib/esm/debug-system-messages.js.map +0 -1
  452. package/lib/esm/dev-app.d.ts +0 -213
  453. package/lib/esm/dev-app.js.map +0 -1
  454. package/lib/esm/index-types.js.map +0 -1
  455. package/lib/esm/index.js.map +0 -1
  456. package/lib/esm/message-utils.js.map +0 -1
  457. package/lib/esm/msg-to-botonic.js.map +0 -1
  458. package/lib/esm/node-app.js.map +0 -1
  459. package/lib/esm/package.json +0 -3
  460. package/lib/esm/react-bot.js.map +0 -1
  461. package/lib/esm/shared/styles.js.map +0 -1
  462. package/lib/esm/util/dom.js.map +0 -1
  463. package/lib/esm/util/environment.js.map +0 -1
  464. package/lib/esm/util/error-boundary.d.ts +0 -7
  465. package/lib/esm/util/error-boundary.js.map +0 -1
  466. package/lib/esm/util/functional.js.map +0 -1
  467. package/lib/esm/util/i18n.js.map +0 -1
  468. package/lib/esm/util/index.js.map +0 -1
  469. package/lib/esm/util/logs.js.map +0 -1
  470. package/lib/esm/util/objects.js.map +0 -1
  471. package/lib/esm/util/react.js.map +0 -1
  472. package/lib/esm/util/regexs.js.map +0 -1
  473. package/lib/esm/util/strings.js.map +0 -1
  474. package/lib/esm/util/webchat.js.map +0 -1
  475. package/lib/esm/util/webviews.js.map +0 -1
  476. package/lib/esm/webchat/chat-area/index.d.ts +0 -1
  477. package/lib/esm/webchat/chat-area/index.js.map +0 -1
  478. package/lib/esm/webchat/chat-area/styles.js.map +0 -1
  479. package/lib/esm/webchat/components/common.d.ts +0 -1
  480. package/lib/esm/webchat/components/common.js.map +0 -1
  481. package/lib/esm/webchat/components/conditional-animation.d.ts +0 -1
  482. package/lib/esm/webchat/components/conditional-animation.js.map +0 -1
  483. package/lib/esm/webchat/components/opened-persistent-menu.d.ts +0 -6
  484. package/lib/esm/webchat/components/opened-persistent-menu.js.map +0 -1
  485. package/lib/esm/webchat/constants.js.map +0 -1
  486. package/lib/esm/webchat/context/actions.js.map +0 -1
  487. package/lib/esm/webchat/context/index.js.map +0 -1
  488. package/lib/esm/webchat/context/messages-reducer.js.map +0 -1
  489. package/lib/esm/webchat/context/types.js.map +0 -1
  490. package/lib/esm/webchat/context/use-webchat.js.map +0 -1
  491. package/lib/esm/webchat/context/webchat-reducer.js.map +0 -1
  492. package/lib/esm/webchat/cover-component/index.d.ts +0 -6
  493. package/lib/esm/webchat/cover-component/index.js.map +0 -1
  494. package/lib/esm/webchat/custom-messages/index.js.map +0 -1
  495. package/lib/esm/webchat/custom-messages/rating/icons/face-angry.d.ts +0 -3
  496. package/lib/esm/webchat/custom-messages/rating/icons/face-angry.js.map +0 -1
  497. package/lib/esm/webchat/custom-messages/rating/icons/face-frown.d.ts +0 -3
  498. package/lib/esm/webchat/custom-messages/rating/icons/face-frown.js.map +0 -1
  499. package/lib/esm/webchat/custom-messages/rating/icons/face-grin-beam.d.ts +0 -3
  500. package/lib/esm/webchat/custom-messages/rating/icons/face-grin-beam.js.map +0 -1
  501. package/lib/esm/webchat/custom-messages/rating/icons/face-meh.d.ts +0 -3
  502. package/lib/esm/webchat/custom-messages/rating/icons/face-meh.js.map +0 -1
  503. package/lib/esm/webchat/custom-messages/rating/icons/face-smile.d.ts +0 -3
  504. package/lib/esm/webchat/custom-messages/rating/icons/face-smile.js.map +0 -1
  505. package/lib/esm/webchat/custom-messages/rating/icons/index.js.map +0 -1
  506. package/lib/esm/webchat/custom-messages/rating/icons/star.d.ts +0 -3
  507. package/lib/esm/webchat/custom-messages/rating/icons/star.js.map +0 -1
  508. package/lib/esm/webchat/custom-messages/rating/index.js.map +0 -1
  509. package/lib/esm/webchat/custom-messages/rating/rating-selector.d.ts +0 -11
  510. package/lib/esm/webchat/custom-messages/rating/rating-selector.js.map +0 -1
  511. package/lib/esm/webchat/custom-messages/rating/smileys.d.ts +0 -2
  512. package/lib/esm/webchat/custom-messages/rating/smileys.js.map +0 -1
  513. package/lib/esm/webchat/custom-messages/rating/stars.d.ts +0 -2
  514. package/lib/esm/webchat/custom-messages/rating/stars.js.map +0 -1
  515. package/lib/esm/webchat/custom-messages/rating/styles.js.map +0 -1
  516. package/lib/esm/webchat/custom-messages/rating/types.js.map +0 -1
  517. package/lib/esm/webchat/devices/index.js.map +0 -1
  518. package/lib/esm/webchat/header/default-header.d.ts +0 -1
  519. package/lib/esm/webchat/header/default-header.js.map +0 -1
  520. package/lib/esm/webchat/header/index.js.map +0 -1
  521. package/lib/esm/webchat/header/styles.js.map +0 -1
  522. package/lib/esm/webchat/hooks/index.js.map +0 -1
  523. package/lib/esm/webchat/hooks/use-component-visible.js.map +0 -1
  524. package/lib/esm/webchat/hooks/use-component-will-mount.js.map +0 -1
  525. package/lib/esm/webchat/hooks/use-device-adapter.js.map +0 -1
  526. package/lib/esm/webchat/hooks/use-previous.js.map +0 -1
  527. package/lib/esm/webchat/hooks/use-scroll-to-bottom.js.map +0 -1
  528. package/lib/esm/webchat/hooks/use-scrollbar-controller.js.map +0 -1
  529. package/lib/esm/webchat/hooks/use-typing.js.map +0 -1
  530. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js.map +0 -1
  531. package/lib/esm/webchat/hooks/use-webchat-dimensions.js.map +0 -1
  532. package/lib/esm/webchat/hooks/use-webchat-resizer.js.map +0 -1
  533. package/lib/esm/webchat/index-types.js.map +0 -1
  534. package/lib/esm/webchat/index.js.map +0 -1
  535. package/lib/esm/webchat/input-panel/attachment.d.ts +0 -6
  536. package/lib/esm/webchat/input-panel/attachment.js.map +0 -1
  537. package/lib/esm/webchat/input-panel/emoji-picker.d.ts +0 -5
  538. package/lib/esm/webchat/input-panel/emoji-picker.js.map +0 -1
  539. package/lib/esm/webchat/input-panel/index.d.ts +0 -9
  540. package/lib/esm/webchat/input-panel/index.js.map +0 -1
  541. package/lib/esm/webchat/input-panel/opened-emoji-picker.d.ts +0 -6
  542. package/lib/esm/webchat/input-panel/opened-emoji-picker.js.map +0 -1
  543. package/lib/esm/webchat/input-panel/persistent-menu.d.ts +0 -5
  544. package/lib/esm/webchat/input-panel/persistent-menu.js.map +0 -1
  545. package/lib/esm/webchat/input-panel/send-button.d.ts +0 -5
  546. package/lib/esm/webchat/input-panel/send-button.js.map +0 -1
  547. package/lib/esm/webchat/input-panel/styles.js.map +0 -1
  548. package/lib/esm/webchat/input-panel/textarea.d.ts +0 -10
  549. package/lib/esm/webchat/input-panel/textarea.js.map +0 -1
  550. package/lib/esm/webchat/input-panel/typing-network-sender.js.map +0 -1
  551. package/lib/esm/webchat/input-panel/use-typing-chat-event-sender.js.map +0 -1
  552. package/lib/esm/webchat/input-panel/use-typing-session.js.map +0 -1
  553. package/lib/esm/webchat/message-list/index.d.ts +0 -1
  554. package/lib/esm/webchat/message-list/index.js.map +0 -1
  555. package/lib/esm/webchat/message-list/intro-message.d.ts +0 -1
  556. package/lib/esm/webchat/message-list/intro-message.js.map +0 -1
  557. package/lib/esm/webchat/message-list/scroll-button.js.map +0 -1
  558. package/lib/esm/webchat/message-list/styles.js.map +0 -1
  559. package/lib/esm/webchat/message-list/unread-messages-banner.js.map +0 -1
  560. package/lib/esm/webchat/message-list/use-debounce.js.map +0 -1
  561. package/lib/esm/webchat/message-list/use-notifications.js.map +0 -1
  562. package/lib/esm/webchat/replies/index.d.ts +0 -1
  563. package/lib/esm/webchat/replies/index.js.map +0 -1
  564. package/lib/esm/webchat/replies/styles.js.map +0 -1
  565. package/lib/esm/webchat/session-view.d.ts +0 -1
  566. package/lib/esm/webchat/session-view.js.map +0 -1
  567. package/lib/esm/webchat/styles.js.map +0 -1
  568. package/lib/esm/webchat/theme/default-theme.js.map +0 -1
  569. package/lib/esm/webchat/theme/types.js.map +0 -1
  570. package/lib/esm/webchat/tracking.js.map +0 -1
  571. package/lib/esm/webchat/trigger-button/index.js.map +0 -1
  572. package/lib/esm/webchat/trigger-button/styles.js.map +0 -1
  573. package/lib/esm/webchat/typing-indicator/index.js.map +0 -1
  574. package/lib/esm/webchat/typing-indicator/styles.js.map +0 -1
  575. package/lib/esm/webchat/use-storage-state-hook.js.map +0 -1
  576. package/lib/esm/webchat/utils.js.map +0 -1
  577. package/lib/esm/webchat/webchat-dev.js.map +0 -1
  578. package/lib/esm/webchat/webchat.js.map +0 -1
  579. package/lib/esm/webchat/webview/header.d.ts +0 -1
  580. package/lib/esm/webchat/webview/header.js.map +0 -1
  581. package/lib/esm/webchat/webview/index.d.ts +0 -6
  582. package/lib/esm/webchat/webview/index.js.map +0 -1
  583. package/lib/esm/webchat/webview/styles.js.map +0 -1
  584. package/lib/esm/webchat-app.d.ts +0 -114
  585. package/lib/esm/webchat-app.js.map +0 -1
  586. package/lib/esm/webview-app.js.map +0 -1
  587. /package/lib/{esm/app.d.ts → app.d.ts} +0 -0
  588. /package/lib/{esm/app.js → app.js} +0 -0
  589. /package/lib/{esm/assets → assets}/arrow-down.svg +0 -0
  590. /package/lib/{esm/assets → assets}/arrow-scroll-down.svg +0 -0
  591. /package/lib/{esm/assets → assets}/attachment-icon.svg +0 -0
  592. /package/lib/{esm/assets → assets}/audio.svg +0 -0
  593. /package/lib/{esm/assets → assets}/botonic_react_logo100x100.png +0 -0
  594. /package/lib/{esm/assets → assets}/document.svg +0 -0
  595. /package/lib/{esm/assets → assets}/emojiButton.svg +0 -0
  596. /package/lib/{esm/assets → assets}/image.svg +0 -0
  597. /package/lib/{esm/assets → assets}/leftArrow.svg +0 -0
  598. /package/lib/{esm/assets → assets}/menuButton.svg +0 -0
  599. /package/lib/{esm/assets → assets}/rightArrow.svg +0 -0
  600. /package/lib/{esm/assets → assets}/send-button.svg +0 -0
  601. /package/lib/{esm/assets → assets}/thumbs-down.svg +0 -0
  602. /package/lib/{esm/assets → assets}/thumbs-up.svg +0 -0
  603. /package/lib/{esm/assets → assets}/types.d.ts +0 -0
  604. /package/lib/{esm/assets → assets}/url-icon.png +0 -0
  605. /package/lib/{esm/assets → assets}/video.svg +0 -0
  606. /package/lib/{esm/botonic-tester.d.ts → botonic-tester.d.ts} +0 -0
  607. /package/lib/{esm/botonic-tester.js → botonic-tester.js} +0 -0
  608. /package/lib/{esm/components → components}/audio.js +0 -0
  609. /package/lib/{esm/components → components}/button/index.d.ts +0 -0
  610. /package/lib/{esm/components → components}/button/index.js +0 -0
  611. /package/lib/{esm/components → components}/button/styles.d.ts +0 -0
  612. /package/lib/{esm/components → components}/button/styles.js +0 -0
  613. /package/lib/{esm/components → components}/buttons-disabler.d.ts +0 -0
  614. /package/lib/{esm/components → components}/buttons-disabler.js +0 -0
  615. /package/lib/{esm/components → components}/carousel.js +0 -0
  616. /package/lib/{esm/components → components}/components.d.ts +0 -0
  617. /package/lib/{esm/components → components}/components.js +0 -0
  618. /package/lib/{esm/components → components}/constants.d.ts +0 -0
  619. /package/lib/{esm/components → components}/constants.js +0 -0
  620. /package/lib/{esm/components → components}/custom-message.d.ts +0 -0
  621. /package/lib/{esm/components → components}/custom-message.js +0 -0
  622. /package/lib/{esm/components → components}/document.js +0 -0
  623. /package/lib/{esm/components → components}/element.d.ts +0 -0
  624. /package/lib/{esm/components → components}/element.js +0 -0
  625. /package/lib/{esm/components → components}/handoff.js +0 -0
  626. /package/lib/{esm/components → components}/image.js +0 -0
  627. /package/lib/{esm/components → components}/index-types.d.ts +0 -0
  628. /package/lib/{esm/components → components}/index-types.js +0 -0
  629. /package/lib/{esm/components → components}/index.d.ts +0 -0
  630. /package/lib/{esm/components → components}/index.js +0 -0
  631. /package/lib/{esm/components → components}/location.d.ts +0 -0
  632. /package/lib/{esm/components → components}/location.js +0 -0
  633. /package/lib/{esm/components → components}/markdown.d.ts +0 -0
  634. /package/lib/{esm/components → components}/markdown.js +0 -0
  635. /package/lib/{esm/components → components}/message/index.d.ts +0 -0
  636. /package/lib/{esm/components → components}/message/index.js +0 -0
  637. /package/lib/{esm/components → components}/message/message-footer.js +0 -0
  638. /package/lib/{esm/components → components}/message/message-image.d.ts +0 -0
  639. /package/lib/{esm/components → components}/message/message-image.js +0 -0
  640. /package/lib/{esm/components → components}/message/styles.d.ts +0 -0
  641. /package/lib/{esm/components → components}/message/styles.js +0 -0
  642. /package/lib/{esm/components → components}/message/timestamps.js +0 -0
  643. /package/lib/{esm/components → components}/message-template.d.ts +0 -0
  644. /package/lib/{esm/components → components}/message-template.js +0 -0
  645. /package/lib/{esm/components → components}/multichannel/facebook/facebook.d.ts +0 -0
  646. /package/lib/{esm/components → components}/multichannel/facebook/facebook.js +0 -0
  647. /package/lib/{esm/components → components}/multichannel/index-types.d.ts +0 -0
  648. /package/lib/{esm/components → components}/multichannel/index-types.js +0 -0
  649. /package/lib/{esm/components → components}/multichannel/index.d.ts +0 -0
  650. /package/lib/{esm/components → components}/multichannel/index.js +0 -0
  651. /package/lib/{esm/components → components}/multichannel/multichannel-button.js +0 -0
  652. /package/lib/{esm/components → components}/multichannel/multichannel-carousel.js +0 -0
  653. /package/lib/{esm/components → components}/multichannel/multichannel-context.d.ts +0 -0
  654. /package/lib/{esm/components → components}/multichannel/multichannel-context.js +0 -0
  655. /package/lib/{esm/components → components}/multichannel/multichannel-reply.js +0 -0
  656. /package/lib/{esm/components → components}/multichannel/multichannel-text.js +0 -0
  657. /package/lib/{esm/components → components}/multichannel/multichannel-utils.d.ts +0 -0
  658. /package/lib/{esm/components → components}/multichannel/multichannel-utils.js +0 -0
  659. /package/lib/{esm/components → components}/multichannel/multichannel.d.ts +0 -0
  660. /package/lib/{esm/components → components}/multichannel/multichannel.js +0 -0
  661. /package/lib/{esm/components → components}/multichannel/whatsapp/constants.d.ts +0 -0
  662. /package/lib/{esm/components → components}/multichannel/whatsapp/constants.js +0 -0
  663. /package/lib/{esm/components → components}/multichannel/whatsapp/markdown-meta.d.ts +0 -0
  664. /package/lib/{esm/components → components}/multichannel/whatsapp/markdown-meta.js +0 -0
  665. /package/lib/{esm/components → components}/pic.d.ts +0 -0
  666. /package/lib/{esm/components → components}/pic.js +0 -0
  667. /package/lib/{esm/components → components}/raw.js +0 -0
  668. /package/lib/{esm/components → components}/reply.d.ts +0 -0
  669. /package/lib/{esm/components → components}/reply.js +0 -0
  670. /package/lib/{esm/components → components}/share-button.d.ts +0 -0
  671. /package/lib/{esm/components → components}/share-button.js +0 -0
  672. /package/lib/{esm/components → components}/subtitle.d.ts +0 -0
  673. /package/lib/{esm/components → components}/subtitle.js +0 -0
  674. /package/lib/{esm/components → components}/system-debug-trace/debug-message.js +0 -0
  675. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent/ai-agent.js +0 -0
  676. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent/executed-tools.js +0 -0
  677. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent/index.d.ts +0 -0
  678. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent/index.js +0 -0
  679. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent/parse-tools.d.ts +0 -0
  680. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent/parse-tools.js +0 -0
  681. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent/rehydrate-ai-agent-event.d.ts +0 -0
  682. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent/rehydrate-ai-agent-event.js +0 -0
  683. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent/types.d.ts +0 -0
  684. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent/types.js +0 -0
  685. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent/use-rehydrated-ai-agent-event.d.ts +0 -0
  686. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent/use-rehydrated-ai-agent-event.js +0 -0
  687. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent-router/ai-agent-router.js +0 -0
  688. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent-router/index.d.ts +0 -0
  689. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent-router/index.js +0 -0
  690. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent-router/types.d.ts +0 -0
  691. /package/lib/{esm/components → components}/system-debug-trace/events/ai-agent-router/types.js +0 -0
  692. /package/lib/{esm/components → components}/system-debug-trace/events/bot-action.d.ts +0 -0
  693. /package/lib/{esm/components → components}/system-debug-trace/events/bot-action.js +0 -0
  694. /package/lib/{esm/components → components}/system-debug-trace/events/components/guardrail-item.d.ts +0 -0
  695. /package/lib/{esm/components → components}/system-debug-trace/events/components/guardrail-item.js +0 -0
  696. /package/lib/{esm/components → components}/system-debug-trace/events/components/index.d.ts +0 -0
  697. /package/lib/{esm/components → components}/system-debug-trace/events/components/index.js +0 -0
  698. /package/lib/{esm/components → components}/system-debug-trace/events/components/sources-section.js +0 -0
  699. /package/lib/{esm/components → components}/system-debug-trace/events/conditional-channel.d.ts +0 -0
  700. /package/lib/{esm/components → components}/system-debug-trace/events/conditional-channel.js +0 -0
  701. /package/lib/{esm/components → components}/system-debug-trace/events/conditional-country.d.ts +0 -0
  702. /package/lib/{esm/components → components}/system-debug-trace/events/conditional-country.js +0 -0
  703. /package/lib/{esm/components → components}/system-debug-trace/events/conditional-custom.js +0 -0
  704. /package/lib/{esm/components → components}/system-debug-trace/events/conditional-queue-status.js +0 -0
  705. /package/lib/{esm/components → components}/system-debug-trace/events/constants.d.ts +0 -0
  706. /package/lib/{esm/components → components}/system-debug-trace/events/constants.js +0 -0
  707. /package/lib/{esm/components → components}/system-debug-trace/events/fallback.d.ts +0 -0
  708. /package/lib/{esm/components → components}/system-debug-trace/events/fallback.js +0 -0
  709. /package/lib/{esm/components → components}/system-debug-trace/events/handoff-success.js +0 -0
  710. /package/lib/{esm/components → components}/system-debug-trace/events/index.d.ts +0 -0
  711. /package/lib/{esm/components → components}/system-debug-trace/events/index.js +0 -0
  712. /package/lib/{esm/components → components}/system-debug-trace/events/keyword.d.ts +0 -0
  713. /package/lib/{esm/components → components}/system-debug-trace/events/keyword.js +0 -0
  714. /package/lib/{esm/components → components}/system-debug-trace/events/knowledge-bases-types.d.ts +0 -0
  715. /package/lib/{esm/components → components}/system-debug-trace/events/knowledge-bases-types.js +0 -0
  716. /package/lib/{esm/components → components}/system-debug-trace/events/redirect-flow.d.ts +0 -0
  717. /package/lib/{esm/components → components}/system-debug-trace/events/redirect-flow.js +0 -0
  718. /package/lib/{esm/components → components}/system-debug-trace/events/smart-intent.d.ts +0 -0
  719. /package/lib/{esm/components → components}/system-debug-trace/events/smart-intent.js +0 -0
  720. /package/lib/{esm/components → components}/system-debug-trace/events/webview-action-triggered.js +0 -0
  721. /package/lib/{esm/components → components}/system-debug-trace/hooks/use-knowledge-base-info.js +0 -0
  722. /package/lib/{esm/components → components}/system-debug-trace/hooks/use-last-label-position.d.ts +0 -0
  723. /package/lib/{esm/components → components}/system-debug-trace/hooks/use-last-label-position.js +0 -0
  724. /package/lib/{esm/components → components}/system-debug-trace/icons/ai-router.js +0 -0
  725. /package/lib/{esm/components → components}/system-debug-trace/icons/ai-specialist.js +0 -0
  726. /package/lib/{esm/components → components}/system-debug-trace/icons/arrow-progress.js +0 -0
  727. /package/lib/{esm/components → components}/system-debug-trace/icons/brain.js +0 -0
  728. /package/lib/{esm/components → components}/system-debug-trace/icons/caret-down.js +0 -0
  729. /package/lib/{esm/components → components}/system-debug-trace/icons/caret-up.js +0 -0
  730. /package/lib/{esm/components → components}/system-debug-trace/icons/circle-check.js +0 -0
  731. /package/lib/{esm/components → components}/system-debug-trace/icons/code.js +0 -0
  732. /package/lib/{esm/components → components}/system-debug-trace/icons/file-pdf.js +0 -0
  733. /package/lib/{esm/components → components}/system-debug-trace/icons/file-word.js +0 -0
  734. /package/lib/{esm/components → components}/system-debug-trace/icons/hand.js +0 -0
  735. /package/lib/{esm/components → components}/system-debug-trace/icons/head-set.js +0 -0
  736. /package/lib/{esm/components → components}/system-debug-trace/icons/index.d.ts +0 -0
  737. /package/lib/{esm/components → components}/system-debug-trace/icons/index.js +0 -0
  738. /package/lib/{esm/components → components}/system-debug-trace/icons/life-ring.js +0 -0
  739. /package/lib/{esm/components → components}/system-debug-trace/icons/link.js +0 -0
  740. /package/lib/{esm/components → components}/system-debug-trace/icons/quote-right.js +0 -0
  741. /package/lib/{esm/components → components}/system-debug-trace/icons/screwdriver-wrench.js +0 -0
  742. /package/lib/{esm/components → components}/system-debug-trace/icons/split.js +0 -0
  743. /package/lib/{esm/components → components}/system-debug-trace/icons/wand.js +0 -0
  744. /package/lib/{esm/components → components}/system-debug-trace/icons/window-restore.js +0 -0
  745. /package/lib/{esm/components → components}/system-debug-trace/index.js +0 -0
  746. /package/lib/{esm/components → components}/system-debug-trace/styles.d.ts +0 -0
  747. /package/lib/{esm/components → components}/system-debug-trace/styles.js +0 -0
  748. /package/lib/{esm/components → components}/system-debug-trace/types.d.ts +0 -0
  749. /package/lib/{esm/components → components}/system-debug-trace/types.js +0 -0
  750. /package/lib/{esm/components → components}/text.js +0 -0
  751. /package/lib/{esm/components → components}/title.d.ts +0 -0
  752. /package/lib/{esm/components → components}/title.js +0 -0
  753. /package/lib/{esm/components → components}/video.js +0 -0
  754. /package/lib/{esm/components → components}/webchat-settings.d.ts +0 -0
  755. /package/lib/{esm/components → components}/webchat-settings.js +0 -0
  756. /package/lib/{esm/components → components}/whatsapp-button-list.d.ts +0 -0
  757. /package/lib/{esm/components → components}/whatsapp-button-list.js +0 -0
  758. /package/lib/{esm/components → components}/whatsapp-catalog.d.ts +0 -0
  759. /package/lib/{esm/components → components}/whatsapp-catalog.js +0 -0
  760. /package/lib/{esm/components → components}/whatsapp-cta-url-button.d.ts +0 -0
  761. /package/lib/{esm/components → components}/whatsapp-cta-url-button.js +0 -0
  762. /package/lib/{esm/components → components}/whatsapp-interactive-media-carousel.js +0 -0
  763. /package/lib/{esm/components → components}/whatsapp-media-carousel.d.ts +0 -0
  764. /package/lib/{esm/components → components}/whatsapp-media-carousel.js +0 -0
  765. /package/lib/{esm/components → components}/whatsapp-product-carousel.d.ts +0 -0
  766. /package/lib/{esm/components → components}/whatsapp-product-carousel.js +0 -0
  767. /package/lib/{esm/components → components}/whatsapp-product-list.d.ts +0 -0
  768. /package/lib/{esm/components → components}/whatsapp-product-list.js +0 -0
  769. /package/lib/{esm/components → components}/whatsapp-product.d.ts +0 -0
  770. /package/lib/{esm/components → components}/whatsapp-product.js +0 -0
  771. /package/lib/{esm/components → components}/whatsapp-request-contact-info.d.ts +0 -0
  772. /package/lib/{esm/components → components}/whatsapp-request-contact-info.js +0 -0
  773. /package/lib/{esm/components → components}/whatsapp-template/index.d.ts +0 -0
  774. /package/lib/{esm/components → components}/whatsapp-template/index.js +0 -0
  775. /package/lib/{esm/components → components}/whatsapp-template/types.d.ts +0 -0
  776. /package/lib/{esm/components → components}/whatsapp-template/types.js +0 -0
  777. /package/lib/{esm/constants.d.ts → constants.d.ts} +0 -0
  778. /package/lib/{esm/constants.js → constants.js} +0 -0
  779. /package/lib/{esm/contexts.d.ts → contexts.d.ts} +0 -0
  780. /package/lib/{esm/contexts.js → contexts.js} +0 -0
  781. /package/lib/{esm/debug-system-messages.d.ts → debug-system-messages.d.ts} +0 -0
  782. /package/lib/{esm/debug-system-messages.js → debug-system-messages.js} +0 -0
  783. /package/lib/{esm/dev-app.js → dev-app.js} +0 -0
  784. /package/lib/{esm/index-types.d.ts → index-types.d.ts} +0 -0
  785. /package/lib/{esm/index-types.js → index-types.js} +0 -0
  786. /package/lib/{esm/index.d.ts → index.d.ts} +0 -0
  787. /package/lib/{esm/index.js → index.js} +0 -0
  788. /package/lib/{esm/message-utils.d.ts → message-utils.d.ts} +0 -0
  789. /package/lib/{esm/message-utils.js → message-utils.js} +0 -0
  790. /package/lib/{esm/msg-to-botonic.d.ts → msg-to-botonic.d.ts} +0 -0
  791. /package/lib/{esm/msg-to-botonic.js → msg-to-botonic.js} +0 -0
  792. /package/lib/{esm/node-app.d.ts → node-app.d.ts} +0 -0
  793. /package/lib/{esm/node-app.js → node-app.js} +0 -0
  794. /package/lib/{esm/react-bot.d.ts → react-bot.d.ts} +0 -0
  795. /package/lib/{esm/react-bot.js → react-bot.js} +0 -0
  796. /package/lib/{esm/shared → shared}/styles.d.ts +0 -0
  797. /package/lib/{esm/shared → shared}/styles.js +0 -0
  798. /package/lib/{esm/util → util}/dom.d.ts +0 -0
  799. /package/lib/{esm/util → util}/dom.js +0 -0
  800. /package/lib/{esm/util → util}/environment.d.ts +0 -0
  801. /package/lib/{esm/util → util}/environment.js +0 -0
  802. /package/lib/{esm/util → util}/error-boundary.js +0 -0
  803. /package/lib/{esm/util → util}/functional.d.ts +0 -0
  804. /package/lib/{esm/util → util}/functional.js +0 -0
  805. /package/lib/{esm/util → util}/i18n.d.ts +0 -0
  806. /package/lib/{esm/util → util}/i18n.js +0 -0
  807. /package/lib/{esm/util → util}/index.d.ts +0 -0
  808. /package/lib/{esm/util → util}/index.js +0 -0
  809. /package/lib/{esm/util → util}/logs.d.ts +0 -0
  810. /package/lib/{esm/util → util}/logs.js +0 -0
  811. /package/lib/{esm/util → util}/objects.d.ts +0 -0
  812. /package/lib/{esm/util → util}/objects.js +0 -0
  813. /package/lib/{esm/util → util}/react.d.ts +0 -0
  814. /package/lib/{esm/util → util}/react.js +0 -0
  815. /package/lib/{esm/util → util}/regexs.d.ts +0 -0
  816. /package/lib/{esm/util → util}/regexs.js +0 -0
  817. /package/lib/{esm/util → util}/strings.d.ts +0 -0
  818. /package/lib/{esm/util → util}/strings.js +0 -0
  819. /package/lib/{esm/util → util}/webchat.d.ts +0 -0
  820. /package/lib/{esm/util → util}/webchat.js +0 -0
  821. /package/lib/{esm/util → util}/webviews.d.ts +0 -0
  822. /package/lib/{esm/util → util}/webviews.js +0 -0
  823. /package/lib/{esm/webchat → webchat}/chat-area/index.js +0 -0
  824. /package/lib/{esm/webchat → webchat}/chat-area/styles.d.ts +0 -0
  825. /package/lib/{esm/webchat → webchat}/chat-area/styles.js +0 -0
  826. /package/lib/{esm/webchat → webchat}/components/common.js +0 -0
  827. /package/lib/{esm/webchat → webchat}/components/conditional-animation.js +0 -0
  828. /package/lib/{esm/webchat → webchat}/components/opened-persistent-menu.js +0 -0
  829. /package/lib/{esm/webchat → webchat}/constants.d.ts +0 -0
  830. /package/lib/{esm/webchat → webchat}/constants.js +0 -0
  831. /package/lib/{esm/webchat → webchat}/context/actions.d.ts +0 -0
  832. /package/lib/{esm/webchat → webchat}/context/actions.js +0 -0
  833. /package/lib/{esm/webchat → webchat}/context/index.d.ts +0 -0
  834. /package/lib/{esm/webchat → webchat}/context/index.js +0 -0
  835. /package/lib/{esm/webchat → webchat}/context/messages-reducer.d.ts +0 -0
  836. /package/lib/{esm/webchat → webchat}/context/messages-reducer.js +0 -0
  837. /package/lib/{esm/webchat → webchat}/context/types.d.ts +0 -0
  838. /package/lib/{esm/webchat → webchat}/context/types.js +0 -0
  839. /package/lib/{esm/webchat → webchat}/context/use-webchat.d.ts +0 -0
  840. /package/lib/{esm/webchat → webchat}/context/use-webchat.js +0 -0
  841. /package/lib/{esm/webchat → webchat}/context/webchat-reducer.d.ts +0 -0
  842. /package/lib/{esm/webchat → webchat}/context/webchat-reducer.js +0 -0
  843. /package/lib/{esm/webchat → webchat}/cover-component/index.js +0 -0
  844. /package/lib/{esm/webchat → webchat}/custom-messages/index.d.ts +0 -0
  845. /package/lib/{esm/webchat → webchat}/custom-messages/index.js +0 -0
  846. /package/lib/{esm/webchat → webchat}/custom-messages/rating/icons/face-angry.js +0 -0
  847. /package/lib/{esm/webchat → webchat}/custom-messages/rating/icons/face-frown.js +0 -0
  848. /package/lib/{esm/webchat → webchat}/custom-messages/rating/icons/face-grin-beam.js +0 -0
  849. /package/lib/{esm/webchat → webchat}/custom-messages/rating/icons/face-meh.js +0 -0
  850. /package/lib/{esm/webchat → webchat}/custom-messages/rating/icons/face-smile.js +0 -0
  851. /package/lib/{esm/webchat → webchat}/custom-messages/rating/icons/index.d.ts +0 -0
  852. /package/lib/{esm/webchat → webchat}/custom-messages/rating/icons/index.js +0 -0
  853. /package/lib/{esm/webchat → webchat}/custom-messages/rating/icons/star.js +0 -0
  854. /package/lib/{esm/webchat → webchat}/custom-messages/rating/index.d.ts +0 -0
  855. /package/lib/{esm/webchat → webchat}/custom-messages/rating/index.js +0 -0
  856. /package/lib/{esm/webchat → webchat}/custom-messages/rating/rating-selector.js +0 -0
  857. /package/lib/{esm/webchat → webchat}/custom-messages/rating/smileys.js +0 -0
  858. /package/lib/{esm/webchat → webchat}/custom-messages/rating/stars.js +0 -0
  859. /package/lib/{esm/webchat → webchat}/custom-messages/rating/styles.d.ts +0 -0
  860. /package/lib/{esm/webchat → webchat}/custom-messages/rating/styles.js +0 -0
  861. /package/lib/{esm/webchat → webchat}/custom-messages/rating/types.d.ts +0 -0
  862. /package/lib/{esm/webchat → webchat}/custom-messages/rating/types.js +0 -0
  863. /package/lib/{esm/webchat → webchat}/devices/index.d.ts +0 -0
  864. /package/lib/{esm/webchat → webchat}/devices/index.js +0 -0
  865. /package/lib/{esm/webchat → webchat}/global.d.ts +0 -0
  866. /package/lib/{esm/webchat → webchat}/header/default-header.js +0 -0
  867. /package/lib/{esm/webchat → webchat}/header/index.d.ts +0 -0
  868. /package/lib/{esm/webchat → webchat}/header/index.js +0 -0
  869. /package/lib/{esm/webchat → webchat}/header/styles.d.ts +0 -0
  870. /package/lib/{esm/webchat → webchat}/header/styles.js +0 -0
  871. /package/lib/{esm/webchat → webchat}/hooks/index.d.ts +0 -0
  872. /package/lib/{esm/webchat → webchat}/hooks/index.js +0 -0
  873. /package/lib/{esm/webchat → webchat}/hooks/use-component-visible.d.ts +0 -0
  874. /package/lib/{esm/webchat → webchat}/hooks/use-component-visible.js +0 -0
  875. /package/lib/{esm/webchat → webchat}/hooks/use-component-will-mount.d.ts +0 -0
  876. /package/lib/{esm/webchat → webchat}/hooks/use-component-will-mount.js +0 -0
  877. /package/lib/{esm/webchat → webchat}/hooks/use-device-adapter.d.ts +0 -0
  878. /package/lib/{esm/webchat → webchat}/hooks/use-device-adapter.js +0 -0
  879. /package/lib/{esm/webchat → webchat}/hooks/use-previous.d.ts +0 -0
  880. /package/lib/{esm/webchat → webchat}/hooks/use-previous.js +0 -0
  881. /package/lib/{esm/webchat → webchat}/hooks/use-scroll-to-bottom.d.ts +0 -0
  882. /package/lib/{esm/webchat → webchat}/hooks/use-scroll-to-bottom.js +0 -0
  883. /package/lib/{esm/webchat → webchat}/hooks/use-scrollbar-controller.d.ts +0 -0
  884. /package/lib/{esm/webchat → webchat}/hooks/use-scrollbar-controller.js +0 -0
  885. /package/lib/{esm/webchat → webchat}/hooks/use-typing.d.ts +0 -0
  886. /package/lib/{esm/webchat → webchat}/hooks/use-typing.js +0 -0
  887. /package/lib/{esm/webchat → webchat}/hooks/use-virtual-keyboard-detection.d.ts +0 -0
  888. /package/lib/{esm/webchat → webchat}/hooks/use-virtual-keyboard-detection.js +0 -0
  889. /package/lib/{esm/webchat → webchat}/hooks/use-webchat-dimensions.d.ts +0 -0
  890. /package/lib/{esm/webchat → webchat}/hooks/use-webchat-dimensions.js +0 -0
  891. /package/lib/{esm/webchat → webchat}/hooks/use-webchat-resizer.d.ts +0 -0
  892. /package/lib/{esm/webchat → webchat}/hooks/use-webchat-resizer.js +0 -0
  893. /package/lib/{esm/webchat → webchat}/index-types.d.ts +0 -0
  894. /package/lib/{esm/webchat → webchat}/index-types.js +0 -0
  895. /package/lib/{esm/webchat → webchat}/index.d.ts +0 -0
  896. /package/lib/{esm/webchat → webchat}/index.js +0 -0
  897. /package/lib/{esm/webchat → webchat}/input-panel/attachment.js +0 -0
  898. /package/lib/{esm/webchat → webchat}/input-panel/emoji-picker.js +0 -0
  899. /package/lib/{esm/webchat → webchat}/input-panel/index.js +0 -0
  900. /package/lib/{esm/webchat → webchat}/input-panel/opened-emoji-picker.js +0 -0
  901. /package/lib/{esm/webchat → webchat}/input-panel/persistent-menu.js +0 -0
  902. /package/lib/{esm/webchat → webchat}/input-panel/send-button.js +0 -0
  903. /package/lib/{esm/webchat → webchat}/input-panel/styles.d.ts +0 -0
  904. /package/lib/{esm/webchat → webchat}/input-panel/styles.js +0 -0
  905. /package/lib/{esm/webchat → webchat}/input-panel/textarea.js +0 -0
  906. /package/lib/{esm/webchat → webchat}/input-panel/typing-network-sender.d.ts +0 -0
  907. /package/lib/{esm/webchat → webchat}/input-panel/typing-network-sender.js +0 -0
  908. /package/lib/{esm/webchat → webchat}/input-panel/use-typing-chat-event-sender.d.ts +0 -0
  909. /package/lib/{esm/webchat → webchat}/input-panel/use-typing-chat-event-sender.js +0 -0
  910. /package/lib/{esm/webchat → webchat}/input-panel/use-typing-session.d.ts +0 -0
  911. /package/lib/{esm/webchat → webchat}/input-panel/use-typing-session.js +0 -0
  912. /package/lib/{esm/webchat → webchat}/message-list/index.js +0 -0
  913. /package/lib/{esm/webchat → webchat}/message-list/intro-message.js +0 -0
  914. /package/lib/{esm/webchat → webchat}/message-list/scroll-button.d.ts +0 -0
  915. /package/lib/{esm/webchat → webchat}/message-list/scroll-button.js +0 -0
  916. /package/lib/{esm/webchat → webchat}/message-list/styles.d.ts +0 -0
  917. /package/lib/{esm/webchat → webchat}/message-list/styles.js +0 -0
  918. /package/lib/{esm/webchat → webchat}/message-list/unread-messages-banner.d.ts +0 -0
  919. /package/lib/{esm/webchat → webchat}/message-list/unread-messages-banner.js +0 -0
  920. /package/lib/{esm/webchat → webchat}/message-list/use-debounce.d.ts +0 -0
  921. /package/lib/{esm/webchat → webchat}/message-list/use-debounce.js +0 -0
  922. /package/lib/{esm/webchat → webchat}/message-list/use-notifications.d.ts +0 -0
  923. /package/lib/{esm/webchat → webchat}/message-list/use-notifications.js +0 -0
  924. /package/lib/{esm/webchat → webchat}/replies/index.js +0 -0
  925. /package/lib/{esm/webchat → webchat}/replies/styles.d.ts +0 -0
  926. /package/lib/{esm/webchat → webchat}/replies/styles.js +0 -0
  927. /package/lib/{esm/webchat → webchat}/session-view.js +0 -0
  928. /package/lib/{esm/webchat → webchat}/styles.d.ts +0 -0
  929. /package/lib/{esm/webchat → webchat}/styles.js +0 -0
  930. /package/lib/{esm/webchat → webchat}/theme/default-theme.d.ts +0 -0
  931. /package/lib/{esm/webchat → webchat}/theme/default-theme.js +0 -0
  932. /package/lib/{esm/webchat → webchat}/theme/theme.d.ts +0 -0
  933. /package/lib/{esm/webchat → webchat}/theme/types.d.ts +0 -0
  934. /package/lib/{esm/webchat → webchat}/theme/types.js +0 -0
  935. /package/lib/{esm/webchat → webchat}/tracking.d.ts +0 -0
  936. /package/lib/{esm/webchat → webchat}/tracking.js +0 -0
  937. /package/lib/{esm/webchat → webchat}/trigger-button/index.d.ts +0 -0
  938. /package/lib/{esm/webchat → webchat}/trigger-button/index.js +0 -0
  939. /package/lib/{esm/webchat → webchat}/trigger-button/styles.d.ts +0 -0
  940. /package/lib/{esm/webchat → webchat}/trigger-button/styles.js +0 -0
  941. /package/lib/{esm/webchat → webchat}/typing-indicator/index.d.ts +0 -0
  942. /package/lib/{esm/webchat → webchat}/typing-indicator/index.js +0 -0
  943. /package/lib/{esm/webchat → webchat}/typing-indicator/styles.d.ts +0 -0
  944. /package/lib/{esm/webchat → webchat}/typing-indicator/styles.js +0 -0
  945. /package/lib/{esm/webchat → webchat}/use-storage-state-hook.d.ts +0 -0
  946. /package/lib/{esm/webchat → webchat}/use-storage-state-hook.js +0 -0
  947. /package/lib/{esm/webchat → webchat}/utils.d.ts +0 -0
  948. /package/lib/{esm/webchat → webchat}/utils.js +0 -0
  949. /package/lib/{esm/webchat → webchat}/webchat-dev.d.ts +0 -0
  950. /package/lib/{esm/webchat → webchat}/webchat-dev.js +0 -0
  951. /package/lib/{esm/webchat → webchat}/webchat.d.ts +0 -0
  952. /package/lib/{esm/webchat → webchat}/webchat.js +0 -0
  953. /package/lib/{esm/webchat → webchat}/webview/header.js +0 -0
  954. /package/lib/{esm/webchat → webchat}/webview/index.js +0 -0
  955. /package/lib/{esm/webchat → webchat}/webview/styles.d.ts +0 -0
  956. /package/lib/{esm/webchat → webchat}/webview/styles.js +0 -0
  957. /package/lib/{esm/webchat-app.js → webchat-app.js} +0 -0
  958. /package/lib/{esm/webchat.template.html → webchat.template.html} +0 -0
  959. /package/lib/{esm/webview-app.d.ts → webview-app.d.ts} +0 -0
  960. /package/lib/{esm/webview-app.js → webview-app.js} +0 -0
  961. /package/lib/{esm/webview.template.html → webview.template.html} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/context/use-webchat.js","sources":["../../../../src/webchat/context/use-webchat.ts"],"sourcesContent":["import type { Session } from '@botonic/core'\nimport { useReducer, useRef } from 'react'\n\nimport type { Reply } from '../../components'\nimport type { Webview } from '../../components/index-types'\nimport type { WebchatMessage } from '../../index-types'\nimport { defaultTheme } from '../theme/default-theme'\nimport type { WebchatTheme } from '../theme/types'\nimport { WebchatAction } from './actions'\nimport type {\n ClientInput,\n DevSettings,\n ErrorMessage,\n WebchatState,\n} from './types'\nimport { webchatReducer } from './webchat-reducer'\n\nfunction getWebchatInitialState(initialTheme: WebchatTheme): WebchatState {\n return {\n replies: [],\n messagesJSON: [],\n messagesComponents: [],\n latestInput: {},\n typing: false,\n webview: undefined,\n webviewParams: {},\n session: { user: undefined },\n lastRoutePath: undefined,\n handoff: false,\n theme: initialTheme,\n themeUpdates: {},\n error: {},\n online: true,\n devSettings: { keepSessionOnReload: false },\n isWebchatOpen: false,\n isEmojiPickerOpen: false,\n isPersistentMenuOpen: false,\n isCoverComponentOpen: false,\n isCustomComponentRendered: false,\n lastMessageUpdate: undefined,\n currentAttachment: undefined,\n numUnreadMessages: 0,\n isLastMessageVisible: true,\n isInputFocused: false,\n }\n}\n\nexport interface UseWebchat {\n addMessage: (message: WebchatMessage) => void\n addMessageComponent: (message: { props: WebchatMessage }) => void\n clearMessages: () => void\n doRenderCustomComponent: (toggle: boolean) => void\n resetUnreadMessages: () => void\n setCurrentAttachment: (attachment?: File) => void\n setError: (error?: ErrorMessage) => void\n setIsInputFocused: (isInputFocused: boolean) => void\n setLastMessageVisible: (isLastMessageVisible: boolean) => void\n setOnline: (online: boolean) => void\n toggleCoverComponent: (toggle: boolean) => void\n toggleEmojiPicker: (toggle: boolean) => void\n togglePersistentMenu: (toggle: boolean) => void\n toggleWebchat: (toggle: boolean) => void\n updateCustomMessageProps: (\n props: Record<string, any>,\n messageId?: string\n ) => void\n updateDevSettings: (settings: DevSettings) => void\n updateHandoff: (handoff: boolean) => void\n updateLastMessageDate: (date: string) => void\n updateLastRoutePath: (path: string) => void\n updateLatestInput: (input: ClientInput) => void\n updateMessage: (message: WebchatMessage) => void\n updateReplies: (replies: (typeof Reply)[]) => void\n updateSession: (session: Partial<Session>) => void\n updateTheme: (theme: WebchatTheme, themeUpdates?: WebchatTheme) => void\n updateTyping: (typing: boolean) => void\n updateWebview: (webview: Webview, params?: Record<string, string>) => void\n removeReplies: () => void\n removeWebview: () => void\n webchatState: WebchatState\n webchatContainerRef: React.MutableRefObject<HTMLDivElement | null>\n headerRef: React.MutableRefObject<HTMLDivElement | null>\n chatAreaRef: React.MutableRefObject<HTMLDivElement | null>\n scrollableMessagesListRef: React.MutableRefObject<HTMLDivElement | null>\n repliesRef: React.MutableRefObject<HTMLDivElement | null>\n inputPanelRef: React.MutableRefObject<HTMLDivElement | null>\n}\n\nexport function useWebchat(theme?: WebchatTheme): UseWebchat {\n const initialTheme = theme || defaultTheme\n const webchatInitialState = getWebchatInitialState(initialTheme)\n\n const [webchatState, webchatDispatch] = useReducer(\n webchatReducer,\n webchatInitialState\n )\n\n const webchatContainerRef = useRef<HTMLDivElement | null>(null)\n const chatAreaRef = useRef<HTMLDivElement | null>(null)\n const inputPanelRef = useRef<HTMLDivElement | null>(null)\n const headerRef = useRef<HTMLDivElement | null>(null)\n const scrollableMessagesListRef = useRef<HTMLDivElement | null>(null)\n const repliesRef = useRef<HTMLDivElement | null>(null)\n\n const addMessage = (message: WebchatMessage) =>\n webchatDispatch({ type: WebchatAction.ADD_MESSAGE, payload: message })\n\n const addMessageComponent = (message: { props: WebchatMessage }) =>\n webchatDispatch({\n type: WebchatAction.ADD_MESSAGE_COMPONENT,\n payload: message,\n })\n\n const updateCustomMessageProps = (\n props: Record<string, any>,\n messageId?: string\n ) =>\n webchatDispatch({\n type: WebchatAction.UPDATE_CUSTOM_MESSAGE_PROPS,\n payload: { messageId, props },\n })\n\n const updateMessage = (message: WebchatMessage) =>\n webchatDispatch({ type: WebchatAction.UPDATE_MESSAGE, payload: message })\n\n const updateReplies = (replies: (typeof Reply)[]) =>\n webchatDispatch({ type: WebchatAction.UPDATE_REPLIES, payload: replies })\n\n const removeReplies = () =>\n webchatDispatch({ type: WebchatAction.REMOVE_REPLIES, payload: [] })\n\n const updateLatestInput = (input: ClientInput) =>\n webchatDispatch({ type: WebchatAction.UPDATE_LATEST_INPUT, payload: input })\n\n const updateTyping = (typing: boolean) =>\n webchatDispatch({ type: WebchatAction.UPDATE_TYPING, payload: typing })\n\n const updateWebview = (webview: Webview, params?: Record<string, string>) =>\n webchatDispatch({\n type: WebchatAction.UPDATE_WEBVIEW,\n payload: { webview, webviewParams: params ?? {} },\n })\n\n const removeWebview = () =>\n webchatDispatch({\n type: WebchatAction.REMOVE_WEBVIEW,\n })\n\n const updateSession = (session: Partial<Session>) => {\n webchatDispatch({\n type: WebchatAction.UPDATE_SESSION,\n payload: session,\n })\n }\n\n const updateLastRoutePath = (path: string) =>\n webchatDispatch({\n type: WebchatAction.UPDATE_LAST_ROUTE_PATH,\n payload: path,\n })\n\n const updateHandoff = (handoff: boolean) =>\n webchatDispatch({\n type: WebchatAction.UPDATE_HANDOFF,\n payload: handoff,\n })\n\n const updateTheme = (theme: WebchatTheme, themeUpdates?: WebchatTheme) => {\n const payload =\n themeUpdates !== undefined ? { theme, themeUpdates } : { theme }\n webchatDispatch({\n type: WebchatAction.UPDATE_THEME,\n payload,\n })\n }\n\n const updateDevSettings = (settings: DevSettings) =>\n webchatDispatch({\n type: WebchatAction.UPDATE_DEV_SETTINGS,\n payload: settings,\n })\n\n const toggleWebchat = (toggle: boolean) => {\n webchatDispatch({\n type: WebchatAction.TOGGLE_WEBCHAT,\n payload: toggle,\n })\n }\n\n const toggleEmojiPicker = (toggle: boolean) =>\n webchatDispatch({\n type: WebchatAction.TOGGLE_EMOJI_PICKER,\n payload: toggle,\n })\n\n const togglePersistentMenu = (toggle: boolean) =>\n webchatDispatch({\n type: WebchatAction.TOGGLE_PERSISTENT_MENU,\n payload: toggle,\n })\n\n const toggleCoverComponent = (toggle: boolean) =>\n webchatDispatch({\n type: WebchatAction.TOGGLE_COVER_COMPONENT,\n payload: toggle,\n })\n\n const doRenderCustomComponent = (toggle: boolean) =>\n webchatDispatch({\n type: WebchatAction.DO_RENDER_CUSTOM_COMPONENT,\n payload: toggle,\n })\n\n const setError = (error?: ErrorMessage) =>\n webchatDispatch({\n type: WebchatAction.SET_ERROR,\n payload: error,\n })\n\n const setOnline = (online: boolean) =>\n webchatDispatch({\n type: WebchatAction.SET_ONLINE,\n payload: online,\n })\n\n const clearMessages = () => {\n webchatDispatch({\n type: WebchatAction.CLEAR_MESSAGES,\n })\n }\n\n const updateLastMessageDate = (date: string) => {\n webchatDispatch({\n type: WebchatAction.UPDATE_LAST_MESSAGE_DATE,\n payload: date,\n })\n }\n\n const setCurrentAttachment = (attachment?: File) => {\n webchatDispatch({\n type: WebchatAction.SET_CURRENT_ATTACHMENT,\n payload: attachment,\n })\n }\n\n const resetUnreadMessages = () => {\n webchatDispatch({\n type: WebchatAction.RESET_UNREAD_MESSAGES,\n })\n }\n\n const setLastMessageVisible = (isLastMessageVisible: boolean) => {\n webchatDispatch({\n type: WebchatAction.SET_LAST_MESSAGE_VISIBLE,\n payload: isLastMessageVisible,\n })\n }\n\n const setIsInputFocused = (isInputFocused: boolean) => {\n webchatDispatch({\n type: WebchatAction.SET_IS_INPUT_FOCUSED,\n payload: isInputFocused,\n })\n }\n\n return {\n addMessage,\n addMessageComponent,\n clearMessages,\n doRenderCustomComponent,\n resetUnreadMessages,\n setCurrentAttachment,\n setError,\n setIsInputFocused,\n setLastMessageVisible,\n setOnline,\n toggleCoverComponent,\n toggleEmojiPicker,\n togglePersistentMenu,\n toggleWebchat,\n updateCustomMessageProps,\n updateDevSettings,\n updateHandoff,\n updateLastMessageDate,\n updateLastRoutePath,\n updateLatestInput,\n updateMessage,\n updateReplies,\n updateSession,\n updateTheme,\n updateTyping,\n updateWebview,\n removeReplies,\n removeWebview,\n webchatState,\n webchatContainerRef,\n headerRef,\n chatAreaRef,\n scrollableMessagesListRef,\n repliesRef,\n inputPanelRef,\n }\n}\n"],"names":["useReducer","useRef","defaultTheme","WebchatAction","webchatReducer","getWebchatInitialState","initialTheme","undefined","useWebchat","theme","webchatInitialState","webchatState","webchatDispatch","webchatContainerRef","chatAreaRef","inputPanelRef","headerRef","scrollableMessagesListRef","repliesRef","addMessage","message","addMessageComponent","updateCustomMessageProps","props","messageId","updateMessage","updateReplies","replies","removeReplies","updateLatestInput","input","updateTyping","typing","updateWebview","webview","params","removeWebview","updateSession","session","updateLastRoutePath","path","updateHandoff","handoff","updateTheme","themeUpdates","payload","updateDevSettings","settings","toggleWebchat","toggle","toggleEmojiPicker","togglePersistentMenu","toggleCoverComponent","doRenderCustomComponent","setError","error","setOnline","online","clearMessages","updateLastMessageDate","date","setCurrentAttachment","attachment","resetUnreadMessages","setLastMessageVisible","isLastMessageVisible","setIsInputFocused","isInputFocused"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/context/webchat-reducer.js","sources":["../../../../src/webchat/context/webchat-reducer.ts"],"sourcesContent":["import { WebchatAction } from './actions'\nimport { messagesReducer } from './messages-reducer'\nimport type { WebchatState } from './types'\n\n// eslint-disable-next-line complexity\nexport function webchatReducer(\n state: WebchatState,\n action: { type: WebchatAction; payload?: any }\n): WebchatState {\n switch (action.type) {\n case WebchatAction.UPDATE_WEBVIEW:\n return { ...state, ...action.payload }\n case WebchatAction.REMOVE_WEBVIEW:\n return { ...state, webview: undefined, webviewParams: {} }\n case WebchatAction.UPDATE_SESSION:\n return { ...state, session: { ...action.payload } }\n case WebchatAction.UPDATE_TYPING:\n return { ...state, typing: action.payload }\n case WebchatAction.UPDATE_THEME:\n return {\n ...state,\n ...action.payload,\n }\n case WebchatAction.UPDATE_HANDOFF:\n return { ...state, handoff: action.payload }\n case WebchatAction.TOGGLE_WEBCHAT: {\n const isWebchatOpen = action.payload\n return {\n ...state,\n isWebchatOpen,\n }\n }\n case WebchatAction.TOGGLE_EMOJI_PICKER:\n return { ...state, isEmojiPickerOpen: action.payload }\n case WebchatAction.TOGGLE_PERSISTENT_MENU:\n return { ...state, isPersistentMenuOpen: action.payload }\n case WebchatAction.TOGGLE_COVER_COMPONENT:\n return { ...state, isCoverComponentOpen: action.payload }\n case WebchatAction.DO_RENDER_CUSTOM_COMPONENT:\n return { ...state, isCustomComponentRendered: action.payload }\n case WebchatAction.SET_ERROR:\n return { ...state, error: action.payload || {} }\n case WebchatAction.SET_ONLINE:\n return { ...state, online: action.payload }\n case WebchatAction.UPDATE_DEV_SETTINGS:\n return { ...state, devSettings: { ...action.payload } }\n case WebchatAction.UPDATE_LATEST_INPUT:\n return { ...state, latestInput: action.payload }\n case WebchatAction.UPDATE_LAST_ROUTE_PATH:\n return { ...state, lastRoutePath: action.payload }\n case WebchatAction.SET_CURRENT_ATTACHMENT:\n return { ...state, currentAttachment: action.payload }\n case WebchatAction.SET_IS_INPUT_FOCUSED:\n return { ...state, isInputFocused: action.payload }\n default:\n return messagesReducer(state, action)\n }\n}\n"],"names":["WebchatAction","messagesReducer","webchatReducer","state","action","undefined","isWebchatOpen"],"mappings":";;;;;AAAyC;AACW;AAGpD,sCAAsC;AAC/B,SAASE,cAAcA,CAC5BC,KAAmB,EACnBC,MAA8C;IAE9C,OAAQA,OAAO,IAAI;QACjB,KAAKJ,4BAA4B;YAC/B,OAAO;gBAAE,GAAGG,KAAK;gBAAE,GAAGC,OAAO,OAAO;YAAC;QACvC,KAAKJ,4BAA4B;YAC/B,OAAO;gBAAE,GAAGG,KAAK;gBAAE,SAASE;gBAAW,eAAe,CAAC;YAAE;QAC3D,KAAKL,4BAA4B;YAC/B,OAAO;gBAAE,GAAGG,KAAK;gBAAE,SAAS;oBAAE,GAAGC,OAAO,OAAO;gBAAC;YAAE;QACpD,KAAKJ,2BAA2B;YAC9B,OAAO;gBAAE,GAAGG,KAAK;gBAAE,QAAQC,OAAO,OAAO;YAAC;QAC5C,KAAKJ,0BAA0B;YAC7B,OAAO;gBACL,GAAGG,KAAK;gBACR,GAAGC,OAAO,OAAO;YACnB;QACF,KAAKJ,4BAA4B;YAC/B,OAAO;gBAAE,GAAGG,KAAK;gBAAE,SAASC,OAAO,OAAO;YAAC;QAC7C,KAAKJ,4BAA4B;YAAE;gBACjC,MAAMM,gBAAgBF,OAAO,OAAO;gBACpC,OAAO;oBACL,GAAGD,KAAK;oBACRG;gBACF;YACF;QACA,KAAKN,iCAAiC;YACpC,OAAO;gBAAE,GAAGG,KAAK;gBAAE,mBAAmBC,OAAO,OAAO;YAAC;QACvD,KAAKJ,oCAAoC;YACvC,OAAO;gBAAE,GAAGG,KAAK;gBAAE,sBAAsBC,OAAO,OAAO;YAAC;QAC1D,KAAKJ,oCAAoC;YACvC,OAAO;gBAAE,GAAGG,KAAK;gBAAE,sBAAsBC,OAAO,OAAO;YAAC;QAC1D,KAAKJ,wCAAwC;YAC3C,OAAO;gBAAE,GAAGG,KAAK;gBAAE,2BAA2BC,OAAO,OAAO;YAAC;QAC/D,KAAKJ,uBAAuB;YAC1B,OAAO;gBAAE,GAAGG,KAAK;gBAAE,OAAOC,OAAO,OAAO,IAAI,CAAC;YAAE;QACjD,KAAKJ,wBAAwB;YAC3B,OAAO;gBAAE,GAAGG,KAAK;gBAAE,QAAQC,OAAO,OAAO;YAAC;QAC5C,KAAKJ,iCAAiC;YACpC,OAAO;gBAAE,GAAGG,KAAK;gBAAE,aAAa;oBAAE,GAAGC,OAAO,OAAO;gBAAC;YAAE;QACxD,KAAKJ,iCAAiC;YACpC,OAAO;gBAAE,GAAGG,KAAK;gBAAE,aAAaC,OAAO,OAAO;YAAC;QACjD,KAAKJ,oCAAoC;YACvC,OAAO;gBAAE,GAAGG,KAAK;gBAAE,eAAeC,OAAO,OAAO;YAAC;QACnD,KAAKJ,oCAAoC;YACvC,OAAO;gBAAE,GAAGG,KAAK;gBAAE,mBAAmBC,OAAO,OAAO;YAAC;QACvD,KAAKJ,kCAAkC;YACrC,OAAO;gBAAE,GAAGG,KAAK;gBAAE,gBAAgBC,OAAO,OAAO;YAAC;QACpD;YACE,OAAOH,eAAeA,CAACE,OAAOC;IAClC;AACF"}
@@ -1,6 +0,0 @@
1
- interface Props {
2
- component: any;
3
- componentProps: any;
4
- }
5
- export declare const CoverComponent: ({ component, componentProps }: Props) => import("react/jsx-runtime").JSX.Element | null;
6
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/cover-component/index.js","sources":["../../../../src/webchat/cover-component/index.tsx"],"sourcesContent":["import { useContext } from 'react'\n\nimport { WEBCHAT } from '../../constants'\nimport { WebchatContext } from '../context'\n\ninterface Props {\n component: any\n componentProps: any\n}\n\nexport const CoverComponent = ({ component, componentProps }: Props) => {\n const { getThemeProperty, toggleCoverComponent, webchatState } =\n useContext(WebchatContext)\n\n const Cover = component\n\n const coverComponentProps = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.coverComponentProps,\n componentProps\n )\n\n const closeCoverComponent = () => {\n toggleCoverComponent(false)\n }\n\n if (!Cover || !webchatState.isCoverComponentOpen) {\n return null\n }\n\n return <Cover closeComponent={closeCoverComponent} {...coverComponentProps} />\n}\n"],"names":["useContext","WEBCHAT","WebchatContext","CoverComponent","component","componentProps","getThemeProperty","toggleCoverComponent","webchatState","Cover","coverComponentProps","closeCoverComponent"],"mappings":";;;;;;;;;;AAAkC;AAEO;AACE;AAOpC,MAAMG,cAAcA,GAAG,CAAC,EAAEC,SAAS,EAAEC,cAAc,EAAS;IACjE,MAAM,EAAEC,gBAAgB,EAAEC,oBAAoB,EAAEC,YAAY,EAAE,GAC5DR,UAAUA,CAACE,cAAcA;IAE3B,MAAMO,QAAQL;IAEd,MAAMM,sBAAsBJ,iBAC1BL,6CAA6C,EAC7CI;IAGF,MAAMM,sBAAsB;QAC1BJ,qBAAqB;IACvB;IAEA,IAAI,CAACE,SAAS,CAACD,aAAa,oBAAoB,EAAE;QAChD,OAAO;IACT;IAEA,qBAAO,IAACC;QAAM,gBAAgBE;QAAsB,GAAGD,mBAAmB;;AAC5E,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/index.js","sources":["../../../../src/webchat/custom-messages/index.ts"],"sourcesContent":["export { default as CustomRatingMessage } from './rating'\n"],"names":["default","CustomRatingMessage"],"mappings":";AAAyD"}
@@ -1,3 +0,0 @@
1
- /** biome-ignore-all lint/a11y/noSvgWithoutTitle: This is a SVG icon */
2
- import type { RatingIconProps } from '../types.js';
3
- export declare const FaceAngrySvg: ({ color, selected }: RatingIconProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/icons/face-angry.js","sources":["../../../../../../src/webchat/custom-messages/rating/icons/face-angry.tsx"],"sourcesContent":["/** biome-ignore-all lint/a11y/noSvgWithoutTitle: This is a SVG icon */\nimport type { RatingIconProps } from '../types'\n\nexport const FaceAngrySvg = ({ color, selected }: RatingIconProps) => {\n return selected ? (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' color={color}>\n <path\n d='M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM338.7 395.9c6.6-5.9 7.1-16 1.2-22.6C323.8 355.4 295.7 336 256 336s-67.8 19.4-83.9 37.3c-5.9 6.6-5.4 16.7 1.2 22.6s16.7 5.4 22.6-1.2c11.7-13 31.6-26.7 60.1-26.7s48.4 13.7 60.1 26.7c5.9 6.6 16 7.1 22.6 1.2zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z'\n fill='currentColor'\n />\n </svg>\n ) : (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' color={color}>\n <path\n d='M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm72.4-118.5c9.7-9 10.2-24.2 1.2-33.9C315.3 344.3 290.6 328 256 328s-59.3 16.3-73.5 31.6c-9 9.7-8.5 24.9 1.2 33.9s24.9 8.5 33.9-1.2c7.4-7.9 20-16.4 38.5-16.4s31.1 8.5 38.5 16.4c9 9.7 24.2 10.2 33.9 1.2zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z'\n fill='currentColor'\n />\n </svg>\n )\n}\n"],"names":["FaceAngrySvg","color","selected"],"mappings":";;;AAAA,qEAAqE;AAG9D,MAAMA,YAAYA,GAAG,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAmB;IAC/D,OAAOA,yBACL,IAAC;QAAI,OAAM;QAA6B,SAAQ;QAAc,OAAOD;kBACnE,kBAAC;YACC,GAAE;YACF,MAAK;;uBAIT,IAAC;QAAI,OAAM;QAA6B,SAAQ;QAAc,OAAOA;kBACnE,kBAAC;YACC,GAAE;YACF,MAAK;;;AAIb,EAAC"}
@@ -1,3 +0,0 @@
1
- /** biome-ignore-all lint/a11y/noSvgWithoutTitle: This is a SVG icon */
2
- import type { RatingIconProps } from '../types.js';
3
- export declare const FaceFrownSvg: ({ color, selected }: RatingIconProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/icons/face-frown.js","sources":["../../../../../../src/webchat/custom-messages/rating/icons/face-frown.tsx"],"sourcesContent":["/** biome-ignore-all lint/a11y/noSvgWithoutTitle: This is a SVG icon */\nimport type { RatingIconProps } from '../types'\n\nexport const FaceFrownSvg = ({ color, selected }: RatingIconProps) => {\n return selected ? (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' color={color}>\n <path\n d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.3 388.7c-2.6 8.4-11.6 13.2-20 10.5s-13.2-11.6-10.5-20C145.2 326.1 196.3 288 256 288s110.8 38.1 127.3 91.3c2.6 8.4-2.1 17.4-10.5 20s-17.4-2.1-20-10.5C340.5 349.4 302.1 320 256 320s-84.5 29.4-96.7 68.7zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'\n fill='currentColor'\n />\n </svg>\n ) : (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' color={color}>\n <path\n d='M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM174.6 384.1c-4.5 12.5-18.2 18.9-30.7 14.4s-18.9-18.2-14.4-30.7C146.9 319.4 198.9 288 256 288s109.1 31.4 126.6 79.9c4.5 12.5-2 26.2-14.4 30.7s-26.2-2-30.7-14.4C328.2 358.5 297.2 336 256 336s-72.2 22.5-81.4 48.1zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'\n fill='currentColor'\n />\n </svg>\n )\n}\n"],"names":["FaceFrownSvg","color","selected"],"mappings":";;;AAAA,qEAAqE;AAG9D,MAAMA,YAAYA,GAAG,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAmB;IAC/D,OAAOA,yBACL,IAAC;QAAI,OAAM;QAA6B,SAAQ;QAAc,OAAOD;kBACnE,kBAAC;YACC,GAAE;YACF,MAAK;;uBAIT,IAAC;QAAI,OAAM;QAA6B,SAAQ;QAAc,OAAOA;kBACnE,kBAAC;YACC,GAAE;YACF,MAAK;;;AAIb,EAAC"}
@@ -1,3 +0,0 @@
1
- /** biome-ignore-all lint/a11y/noSvgWithoutTitle: This is a SVG icon */
2
- import type { RatingIconProps } from '../types.js';
3
- export declare const FaceGrinBeamSvg: ({ color, selected }: RatingIconProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/icons/face-grin-beam.js","sources":["../../../../../../src/webchat/custom-messages/rating/icons/face-grin-beam.tsx"],"sourcesContent":["/** biome-ignore-all lint/a11y/noSvgWithoutTitle: This is a SVG icon */\nimport type { RatingIconProps } from '../types'\n\nexport const FaceGrinBeamSvg = ({ color, selected }: RatingIconProps) => {\n return selected ? (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' color={color}>\n <path\n d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-170.5-84s0 0 0 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0zm160 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0s0 0 0 0z'\n fill='currentColor'\n />\n </svg>\n ) : (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' color={color}>\n <path\n d='M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM217.6 228.8s0 0 0 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0zm160 0c0 0 0 0 0 0l-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2c0 0 0 0 0 0c0 0 0 0 0 0s0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8c0 0 0 0 0 0s0 0 0 0s0 0 0 0z'\n fill='currentColor'\n />\n </svg>\n )\n}\n"],"names":["FaceGrinBeamSvg","color","selected"],"mappings":";;;AAAA,qEAAqE;AAG9D,MAAMA,eAAeA,GAAG,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAmB;IAClE,OAAOA,yBACL,IAAC;QAAI,OAAM;QAA6B,SAAQ;QAAc,OAAOD;kBACnE,kBAAC;YACC,GAAE;YACF,MAAK;;uBAIT,IAAC;QAAI,OAAM;QAA6B,SAAQ;QAAc,OAAOA;kBACnE,kBAAC;YACC,GAAE;YACF,MAAK;;;AAIb,EAAC"}
@@ -1,3 +0,0 @@
1
- /** biome-ignore-all lint/a11y/noSvgWithoutTitle: we don't need a title for the svg */
2
- import type { RatingIconProps } from '../types.js';
3
- export declare const FaceMehSvg: ({ color, selected }: RatingIconProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/icons/face-meh.js","sources":["../../../../../../src/webchat/custom-messages/rating/icons/face-meh.tsx"],"sourcesContent":["/** biome-ignore-all lint/a11y/noSvgWithoutTitle: we don't need a title for the svg */\nimport type { RatingIconProps } from '../types'\n\nexport const FaceMehSvg = ({ color, selected }: RatingIconProps) => {\n return selected ? (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' color={color}>\n <path\n d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 336l192 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-192 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z'\n fill='currentColor'\n />\n </svg>\n ) : (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' color={color}>\n <path\n d='M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM184 328c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-144 0z'\n fill='currentColor'\n />\n </svg>\n )\n}\n"],"names":["FaceMehSvg","color","selected"],"mappings":";;;AAAA,oFAAoF;AAG7E,MAAMA,UAAUA,GAAG,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAmB;IAC7D,OAAOA,yBACL,IAAC;QAAI,OAAM;QAA6B,SAAQ;QAAc,OAAOD;kBACnE,kBAAC;YACC,GAAE;YACF,MAAK;;uBAIT,IAAC;QAAI,OAAM;QAA6B,SAAQ;QAAc,OAAOA;kBACnE,kBAAC;YACC,GAAE;YACF,MAAK;;;AAIb,EAAC"}
@@ -1,3 +0,0 @@
1
- /** biome-ignore-all lint/a11y/noSvgWithoutTitle: This is a SVG icon */
2
- import type { RatingIconProps } from '../types.js';
3
- export declare const FaceSmileSvg: ({ color, selected }: RatingIconProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/icons/face-smile.js","sources":["../../../../../../src/webchat/custom-messages/rating/icons/face-smile.tsx"],"sourcesContent":["/** biome-ignore-all lint/a11y/noSvgWithoutTitle: This is a SVG icon */\nimport type { RatingIconProps } from '../types'\n\nexport const FaceSmileSvg = ({ color, selected }: RatingIconProps) => {\n return selected ? (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' color={color}>\n <path\n d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'\n fill='currentColor'\n />\n </svg>\n ) : (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' color={color}>\n <path\n d='M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'\n fill='currentColor'\n />\n </svg>\n )\n}\n"],"names":["FaceSmileSvg","color","selected"],"mappings":";;;AAAA,qEAAqE;AAG9D,MAAMA,YAAYA,GAAG,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAmB;IAC/D,OAAOA,yBACL,IAAC;QAAI,OAAM;QAA6B,SAAQ;QAAc,OAAOD;kBACnE,kBAAC;YACC,GAAE;YACF,MAAK;;uBAIT,IAAC;QAAI,OAAM;QAA6B,SAAQ;QAAc,OAAOA;kBACnE,kBAAC;YACC,GAAE;YACF,MAAK;;;AAIb,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/icons/index.js","sources":["../../../../../../src/webchat/custom-messages/rating/icons/index.ts"],"sourcesContent":["export * from './face-angry'\nexport * from './face-frown'\nexport * from './face-grin-beam'\nexport * from './face-meh'\nexport * from './face-smile'\nexport * from './star'\n"],"names":[],"mappings":";;;;;;AAA4B;AACA;AACI;AACN;AACE;AACN"}
@@ -1,3 +0,0 @@
1
- /** biome-ignore-all lint/a11y/noSvgWithoutTitle: This is a SVG icon */
2
- import type { RatingIconProps } from '../types.js';
3
- export declare const StarSvg: ({ color, selected }: RatingIconProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/icons/star.js","sources":["../../../../../../src/webchat/custom-messages/rating/icons/star.tsx"],"sourcesContent":["/** biome-ignore-all lint/a11y/noSvgWithoutTitle: This is a SVG icon */\nimport type { RatingIconProps } from '../types'\n\nexport const StarSvg = ({ color, selected }: RatingIconProps) => {\n return selected ? (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' color={color}>\n <path\n d='M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z'\n fill='currentColor'\n />\n </svg>\n ) : (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' color={color}>\n <path\n d='M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0zm0 79L235.4 187.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2L384.2 324.1c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1L358.6 200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z'\n fill='currentColor'\n />\n </svg>\n )\n}\n"],"names":["StarSvg","color","selected"],"mappings":";;;AAAA,qEAAqE;AAG9D,MAAMA,OAAOA,GAAG,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAmB;IAC1D,OAAOA,yBACL,IAAC;QAAI,OAAM;QAA6B,SAAQ;QAAc,OAAOD;kBACnE,kBAAC;YACC,GAAE;YACF,MAAK;;uBAIT,IAAC;QAAI,OAAM;QAA6B,SAAQ;QAAc,OAAOA;kBACnE,kBAAC;YACC,GAAE;YACF,MAAK;;;AAIb,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/index.js","sources":["../../../../../src/webchat/custom-messages/rating/index.tsx"],"sourcesContent":["import { INPUT, type InputType } from '@botonic/core'\nimport type React from 'react'\nimport { useContext, useState } from 'react'\nimport { ThemeContext } from 'styled-components'\n\nimport { Button, customMessage } from '../../../components'\nimport { WebchatContext } from '../../context'\nimport { RatingSelector } from './rating-selector'\nimport { MessageBubble } from './styles'\nimport { RatingType } from './types'\n\ninterface CustomRatingMessageProps {\n payloads: string[]\n messageText: string\n buttonText: string\n ratingType: RatingType\n id?: string // This id not exist in local development\n valueSent?: number\n}\n\nconst ratingValues = {\n [RatingType.Stars]: [\n '⭐'.repeat(1),\n '⭐'.repeat(2),\n '⭐'.repeat(3),\n '⭐'.repeat(4),\n '⭐'.repeat(5),\n ],\n [RatingType.Smileys]: ['😠', '🙁', '😐', '🙂', '😄'],\n} as const\n\nconst CustomRatingMessage: React.FC<CustomRatingMessageProps> = props => {\n const { payloads, messageText, buttonText, ratingType, id, valueSent } = props\n const { updateCustomMessageProps, sendInput } = useContext(WebchatContext)\n\n const theme = useContext(ThemeContext)\n const color = theme?.brand?.color ?? ''\n\n const [ratingValue, setRatingValue] = useState(valueSent ? valueSent : -1)\n const [showRating, setShowRating] = useState(true)\n\n const ratingChanged = (newRating: number) => {\n setRatingValue(newRating)\n }\n\n const handleButtonSend = () => {\n if (ratingValue === -1) {\n return\n }\n\n const json = {\n valueSent: ratingValue,\n }\n updateCustomMessageProps(json, id)\n\n setShowRating(false)\n const payload = payloads[ratingValue - 1]\n\n const input = {\n type: INPUT.POSTBACK as InputType,\n payload,\n referral: ratingValues[ratingType][ratingValue - 1],\n }\n void sendInput(input)\n }\n\n const disabled = ratingValue === -1\n\n return (\n <div className='rating-message-container'>\n <MessageBubble className='rating-message-bubble'>\n {messageText}\n <RatingSelector\n color={color}\n onRatingChange={ratingChanged}\n ratingValue={ratingValue}\n ratingType={ratingType}\n valueSent={valueSent}\n />\n </MessageBubble>\n {!props?.valueSent && showRating && (\n <Button\n autodisable={true}\n disabled={disabled}\n onClick={handleButtonSend}\n >\n {buttonText}\n </Button>\n )}\n </div>\n )\n}\n\nexport default customMessage({\n name: 'custom-rating',\n component: CustomRatingMessage,\n})\n"],"names":["INPUT","useContext","useState","ThemeContext","Button","customMessage","WebchatContext","RatingSelector","MessageBubble","RatingType","ratingValues","CustomRatingMessage","props","payloads","messageText","buttonText","ratingType","id","valueSent","updateCustomMessageProps","sendInput","theme","color","ratingValue","setRatingValue","showRating","setShowRating","ratingChanged","newRating","handleButtonSend","json","payload","input","disabled"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAqD;AAET;AACI;AAEW;AACb;AACI;AACV;AACJ;AAWpC,MAAMU,YAAYA,GAAG;IACnB,CAACD,gBAAgB,CAAC,EAAE;QAClB,IAAI,MAAM,CAAC;QACX,IAAI,MAAM,CAAC;QACX,IAAI,MAAM,CAAC;QACX,IAAI,MAAM,CAAC;QACX,IAAI,MAAM,CAAC;KACZ;IACD,CAACA,kBAAkB,CAAC,EAAE;QAAC;QAAM;QAAM;QAAM;QAAM;KAAK;AACtD;AAEA,MAAME,mBAAmBA,GAAuCC,CAAAA;IAC9D,MAAM,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,UAAU,EAAEC,UAAU,EAAEC,EAAE,EAAEC,SAAS,EAAE,GAAGN;IACzE,MAAM,EAAEO,wBAAwB,EAAEC,SAAS,EAAE,GAAGnB,UAAUA,CAACK,cAAcA;IAEzE,MAAMe,QAAQpB,UAAUA,CAACE,YAAYA;IACrC,MAAMmB,QAAQD,OAAO,OAAO,SAAS;IAErC,MAAM,CAACE,aAAaC,eAAe,GAAGtB,QAAQA,CAACgB,YAAYA,YAAY,CAAC;IACxE,MAAM,CAACO,YAAYC,cAAc,GAAGxB,QAAQA,CAAC;IAE7C,MAAMyB,gBAAgB,CAACC;QACrBJ,eAAeI;IACjB;IAEA,MAAMC,mBAAmB;QACvB,IAAIN,gBAAgB,CAAC,GAAG;YACtB;QACF;QAEA,MAAMO,OAAO;YACX,WAAWP;QACb;QACAJ,yBAAyBW,MAAMb;QAE/BS,cAAc;QACd,MAAMK,UAAUlB,QAAQ,CAACU,cAAc,EAAE;QAEzC,MAAMS,QAAQ;YACZ,MAAMhC,cAAc;YACpB+B;YACA,UAAUrB,YAAY,CAACM,WAAW,CAACO,cAAc,EAAE;QACrD;QACA,KAAKH,UAAUY;IACjB;IAEA,MAAMC,WAAWV,gBAAgB,CAAC;IAElC,qBACE,KAAC;QAAI,WAAU;;0BACb,KAACf,aAAaA;gBAAC,WAAU;;oBACtBM;kCACD,IAACP,cAAcA;wBACb,OAAOe;wBACP,gBAAgBK;wBAChB,aAAaJ;wBACb,YAAYP;wBACZ,WAAWE;;;;YAGd,CAACN,OAAO,aAAaa,4BACpB,IAACrB,MAAMA;gBACL,aAAa;gBACb,UAAU6B;gBACV,SAASJ;0BAERd;;;;AAKX;AAEA,qCAAeV,aAAaA,CAAC;IAC3B,MAAM;IACN,WAAWM,mBAAmBA;AAChC,EAAE"}
@@ -1,11 +0,0 @@
1
- import { RatingType } from './types.js';
2
- interface RatingSelectorProps {
3
- color: string;
4
- isSent?: boolean;
5
- onRatingChange: (newRating: number) => void;
6
- ratingValue: number;
7
- ratingType: RatingType;
8
- valueSent?: number;
9
- }
10
- export declare const RatingSelector: ({ color, isSent, onRatingChange, ratingValue, ratingType, valueSent, }: RatingSelectorProps) => import("react/jsx-runtime").JSX.Element;
11
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/rating-selector.js","sources":["../../../../../src/webchat/custom-messages/rating/rating-selector.tsx"],"sourcesContent":["/** biome-ignore-all lint/a11y/noStaticElementInteractions: we need to use static elements for the rating selector */\n/** biome-ignore-all lint/a11y/useKeyWithClickEvents: we need to use key with click events for the rating selector */\nimport { useState } from 'react'\n\nimport { Smileys } from './smileys'\nimport { Stars } from './stars'\nimport { RatingSelectorContainer } from './styles'\nimport { RatingType } from './types'\n\nconst NUMBER_OF_RATING_BUTTONS = 5\ninterface RatingSelectorProps {\n color: string\n isSent?: boolean\n onRatingChange: (newRating: number) => void\n ratingValue: number\n ratingType: RatingType\n valueSent?: number\n}\n\nexport const RatingSelector = ({\n color,\n isSent,\n onRatingChange,\n ratingValue,\n ratingType,\n valueSent,\n}: RatingSelectorProps) => {\n const [hover, setHover] = useState<number>(valueSent ? valueSent : -1)\n\n const onHover = (ratingNumber: number) => {\n if (!valueSent) {\n setHover(ratingNumber)\n }\n }\n\n return (\n <RatingSelectorContainer isSent={isSent}>\n {Array.from({ length: NUMBER_OF_RATING_BUTTONS }, (_star, i) => {\n const ratingNumber = i + 1\n\n return (\n <div\n key={ratingNumber}\n onMouseEnter={() => onHover(ratingNumber)}\n onMouseLeave={() => onHover(ratingValue)}\n onClick={() => onRatingChange(ratingNumber)}\n >\n {ratingType === RatingType.Stars && (\n <Stars color={color} ratingNumber={ratingNumber} hover={hover} />\n )}\n {ratingType === RatingType.Smileys && (\n <Smileys\n color={color}\n ratingNumber={ratingNumber}\n hover={hover}\n />\n )}\n </div>\n )\n })}\n </RatingSelectorContainer>\n )\n}\n"],"names":["useState","Smileys","Stars","RatingSelectorContainer","RatingType","NUMBER_OF_RATING_BUTTONS","RatingSelector","color","isSent","onRatingChange","ratingValue","ratingType","valueSent","hover","setHover","onHover","ratingNumber","Array","_star","i"],"mappings":";;;;;;;;;;;;;;AAAA,mHAAmH,GACnH,mHAAmH,GACnF;AAEG;AACJ;AACmB;AACd;AAEpC,MAAMK,wBAAwBA,GAAG;AAU1B,MAAMC,cAAcA,GAAG,CAAC,EAC7BC,KAAK,EACLC,MAAM,EACNC,cAAc,EACdC,WAAW,EACXC,UAAU,EACVC,SAAS,EACW;IACpB,MAAM,CAACC,OAAOC,SAAS,GAAGd,QAAQA,CAASY,YAAYA,YAAY,CAAC;IAEpE,MAAMG,UAAU,CAACC;QACf,IAAI,CAACJ,WAAW;YACdE,SAASE;QACX;IACF;IAEA,qBACE,IAACb,uBAAuBA;QAAC,QAAQK;kBAC9BS,MAAM,IAAI,CAAC;YAAE,QAAQZ,wBAAwBA;QAAC,GAAG,CAACa,OAAOC;YACxD,MAAMH,eAAeG,IAAI;YAEzB,qBACE,KAAC;gBAEC,cAAc,IAAMJ,QAAQC;gBAC5B,cAAc,IAAMD,QAAQL;gBAC5B,SAAS,IAAMD,eAAeO;;oBAE7BL,eAAeP,gBAAgB,kBAC9B,IAACF,KAAKA;wBAAC,OAAOK;wBAAO,cAAcS;wBAAc,OAAOH;;oBAEzDF,eAAeP,kBAAkB,kBAChC,IAACH,OAAOA;wBACN,OAAOM;wBACP,cAAcS;wBACd,OAAOH;;;eAZNG;QAiBX;;AAGN,EAAC"}
@@ -1,2 +0,0 @@
1
- import type { RatingItemProps } from './types.js';
2
- export declare const Smileys: ({ color, ratingNumber, hover }: RatingItemProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/smileys.js","sources":["../../../../../src/webchat/custom-messages/rating/smileys.tsx"],"sourcesContent":["import {\n FaceAngrySvg,\n FaceFrownSvg,\n FaceGrinBeamSvg,\n FaceMehSvg,\n FaceSmileSvg,\n} from './icons'\nimport type { RatingItemProps } from './types'\n\nconst SMILEY_MAP = {\n 1: FaceAngrySvg,\n 2: FaceFrownSvg,\n 3: FaceMehSvg,\n 4: FaceSmileSvg,\n 5: FaceGrinBeamSvg,\n} as const\n\nexport const Smileys = ({ color, ratingNumber, hover }: RatingItemProps) => {\n const isSelected = hover === ratingNumber\n const SmileyComponent = SMILEY_MAP[ratingNumber as keyof typeof SMILEY_MAP]\n\n return SmileyComponent ? (\n <SmileyComponent color={color} selected={isSelected} />\n ) : null\n}\n"],"names":["FaceAngrySvg","FaceFrownSvg","FaceGrinBeamSvg","FaceMehSvg","FaceSmileSvg","SMILEY_MAP","Smileys","color","ratingNumber","hover","isSelected","SmileyComponent"],"mappings":";;;;;;AAMgB;AAGhB,MAAMK,UAAUA,GAAG;IACjB,GAAGL,YAAYA;IACf,GAAGC,YAAYA;IACf,GAAGE,UAAUA;IACb,GAAGC,YAAYA;IACf,GAAGF,eAAeA;AACpB;AAEO,MAAMI,OAAOA,GAAG,CAAC,EAAEC,KAAK,EAAEC,YAAY,EAAEC,KAAK,EAAmB;IACrE,MAAMC,aAAaD,UAAUD;IAC7B,MAAMG,kBAAkBN,UAAU,CAACG,aAAwC;IAE3E,OAAOG,gCACL,IAACA;QAAgB,OAAOJ;QAAO,UAAUG;SACvC;AACN,EAAC"}
@@ -1,2 +0,0 @@
1
- import type { RatingItemProps } from './types.js';
2
- export declare const Stars: ({ color, ratingNumber, hover }: RatingItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/stars.js","sources":["../../../../../src/webchat/custom-messages/rating/stars.tsx"],"sourcesContent":["import { StarSvg } from './icons/index'\nimport type { RatingItemProps } from './types'\n\nexport const Stars = ({ color, ratingNumber, hover }: RatingItemProps) => {\n const isSelected = hover >= ratingNumber\n return <StarSvg color={color} selected={isSelected} />\n}\n"],"names":["StarSvg","Stars","color","ratingNumber","hover","isSelected"],"mappings":";;;;;;AAAuC;AAGhC,MAAMC,KAAKA,GAAG,CAAC,EAAEC,KAAK,EAAEC,YAAY,EAAEC,KAAK,EAAmB;IACnE,MAAMC,aAAaD,SAASD;IAC5B,qBAAO,IAACH,OAAOA;QAAC,OAAOE;QAAO,UAAUG;;AAC1C,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/styles.js","sources":["../../../../../src/webchat/custom-messages/rating/styles.ts"],"sourcesContent":["import styled from 'styled-components'\n\n// TODO: Review how define all this styles\nexport const MessageBubble = styled.div`\n margin: 0px 0px 5px 0px;\n`\n\ninterface RatingSelectorContainerProps {\n isSent?: boolean\n}\n\nexport const RatingSelectorContainer = styled.div<RatingSelectorContainerProps>`\n display: flex;\n justify-content: center;\n gap: 8px;\n margin-top: 16px;\n\n & > div {\n cursor: ${props => (props.isSent ? 'default' : 'pointer')};\n\n svg {\n height: 27px;\n width: 27px;\n }\n }\n`\n"],"names":["styled","MessageBubble","RatingSelectorContainer","props"],"mappings":";;;AAAsC;AAEtC,0CAA0C;AACnC,MAAMC,aAAaA,GAAGD,qBAAU,CAAC;;AAExC,CAAC;AAMM,MAAME,uBAAuBA,GAAGF,qBAAwC,CAAC;;;;;;;YAOpE,EAAEG,CAAAA,QAAUA,MAAM,MAAM,GAAG,YAAY,UAAW;;;;;;;AAO9D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/custom-messages/rating/types.js","sources":["../../../../../src/webchat/custom-messages/rating/types.ts"],"sourcesContent":["export enum RatingType {\n Stars = 'stars',\n Smileys = 'smileys',\n}\n\nexport interface RatingItemProps {\n color: string\n ratingNumber: number\n hover: number\n}\n\nexport interface RatingIconProps {\n color: string\n selected?: boolean\n}\n"],"names":["RatingType"],"mappings":"AAAO,IAAKA,gBAAUA,0BAAVA;;;WAAAA;MAGX"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/devices/index.js","sources":["../../../../src/webchat/devices/index.js"],"sourcesContent":["export const DEVICES = Object.freeze({\n MOBILE: {\n IPHONE: 'iPhone',\n ANDROID: 'Android',\n WEBOS: 'webOS',\n BLACKBERRY: 'BlackBerry',\n WINDOWS_PHONE: 'Windows Phone',\n },\n})\n\nexport const isDevice = deviceName => {\n // https://stackoverflow.com/questions/19877924/what-is-the-list-of-possible-values-for-navigator-platform-as-of-today\n return (\n !!navigator.platform &&\n navigator.platform.toLowerCase().includes(deviceName.toLowerCase())\n )\n}\n\nexport const isMobileDevice = () => {\n return Object.values(DEVICES.MOBILE).some(deviceName => isDevice(deviceName))\n}\n"],"names":["DEVICES","Object","isDevice","deviceName","navigator","isMobileDevice"],"mappings":"AAAO,MAAMA,OAAOA,GAAGC,OAAO,MAAM,CAAC;IACnC,QAAQ;QACN,QAAQ;QACR,SAAS;QACT,OAAO;QACP,YAAY;QACZ,eAAe;IACjB;AACF,GAAE;AAEK,MAAMC,QAAQA,GAAGC,CAAAA;IACtB,sHAAsH;IACtH,OACE,CAAC,CAACC,UAAU,QAAQ,IACpBA,UAAU,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAACD,WAAW,WAAW;AAEpE,EAAC;AAEM,MAAME,cAAcA,GAAG;IAC5B,OAAOJ,OAAO,MAAM,CAACD,OAAOA,CAAC,MAAM,EAAE,IAAI,CAACG,CAAAA,aAAcD,QAAQA,CAACC;AACnE,EAAC"}
@@ -1 +0,0 @@
1
- export declare const DefaultHeader: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/header/default-header.js","sources":["../../../../src/webchat/header/default-header.tsx"],"sourcesContent":["import { useContext } from 'react'\n\nimport { ROLES, WEBCHAT } from '../../constants'\nimport { Scale } from '../../shared/styles'\nimport { resolveImage } from '../../util/environment'\nimport { ConditionalWrapper } from '../../util/react'\nimport { WebchatContext } from '../../webchat/context'\nimport {\n CloseHeader,\n HeaderContainer,\n ImageContainer,\n Subtitle,\n TextContainer,\n Title,\n} from './styles'\n\nexport const DefaultHeader = () => {\n const { getThemeProperty, toggleWebchat } = useContext(WebchatContext)\n\n const animationsEnabled = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.enableAnimations\n )\n\n const headerImage = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.headerImage,\n getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.brandImage)\n )\n\n const headerTitle = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.headerTitle)\n\n const headerSubtitle = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.headerSubtitle\n )\n\n const handleCloseWebchat = () => {\n toggleWebchat(false)\n }\n\n const color = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.brandColor)\n\n return (\n <HeaderContainer\n role={ROLES.HEADER}\n color={color}\n style={{ ...getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.headerStyle) }}\n >\n {headerImage && (\n <ImageContainer>\n <img src={resolveImage(headerImage)} alt='Header' />\n </ImageContainer>\n )}\n <TextContainer>\n <Title>{headerTitle}</Title>\n {headerSubtitle ? <Subtitle>{headerSubtitle}</Subtitle> : null}\n </TextContainer>\n <ConditionalWrapper\n condition={animationsEnabled}\n wrapper={children => <Scale>{children}</Scale>}\n >\n <CloseHeader onClick={handleCloseWebchat}>⨯</CloseHeader>\n </ConditionalWrapper>\n </HeaderContainer>\n )\n}\n"],"names":["useContext","ROLES","WEBCHAT","Scale","resolveImage","ConditionalWrapper","WebchatContext","CloseHeader","HeaderContainer","ImageContainer","Subtitle","TextContainer","Title","DefaultHeader","getThemeProperty","toggleWebchat","animationsEnabled","headerImage","headerTitle","headerSubtitle","handleCloseWebchat","color","children"],"mappings":";;;;;;;;;;;;;;;;;;AAAkC;AAEc;AACL;AACU;AACA;AACC;AAQrC;AAEV,MAAMa,aAAaA,GAAG;IAC3B,MAAM,EAAEC,gBAAgB,EAAEC,aAAa,EAAE,GAAGf,UAAUA,CAACM,cAAcA;IAErE,MAAMU,oBAAoBF,iBACxBZ,0CAA0C;IAG5C,MAAMe,cAAcH,iBAClBZ,qCAAqC,EACrCY,iBAAiBZ,oCAAoC;IAGvD,MAAMgB,cAAcJ,iBAAiBZ,qCAAqC;IAE1E,MAAMiB,iBAAiBL,iBACrBZ,wCAAwC;IAG1C,MAAMkB,qBAAqB;QACzBL,cAAc;IAChB;IAEA,MAAMM,QAAQP,iBAAiBZ,oCAAoC;IAEnE,qBACE,KAACM,eAAeA;QACd,MAAMP,YAAY;QAClB,OAAOoB;QACP,OAAO;YAAE,GAAGP,iBAAiBZ,qCAAqC,CAAC;QAAC;;YAEnEe,6BACC,IAACR,cAAcA;0BACb,kBAAC;oBAAI,KAAKL,YAAYA,CAACa;oBAAc,KAAI;;;0BAG7C,KAACN,aAAaA;;kCACZ,IAACC,KAAKA;kCAAEM;;oBACPC,+BAAiB,IAACT,QAAQA;kCAAES;yBAA6B;;;0BAE5D,IAACd,kBAAkBA;gBACjB,WAAWW;gBACX,SAASM,CAAAA,yBAAY,IAACnB,KAAKA;kCAAEmB;;0BAE7B,kBAACf,WAAWA;oBAAC,SAASa;8BAAoB;;;;;AAIlD,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/header/index.js","sources":["../../../../src/webchat/header/index.tsx"],"sourcesContent":["import { type ForwardedRef, forwardRef, useContext } from 'react'\n\nimport { WEBCHAT } from '../../constants'\nimport { WebchatContext } from '../../webchat/context'\nimport { BotonicContainerId } from '../constants'\nimport { DefaultHeader } from './default-header'\nimport { StyledWebchatHeader } from './styles'\n\nexport const WebchatHeader = forwardRef(\n (_, ref: ForwardedRef<HTMLDivElement>) => {\n const { getThemeProperty, toggleWebchat } = useContext(WebchatContext)\n\n const handleCloseWebchat = () => {\n toggleWebchat(false)\n }\n\n const CustomHeader = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customHeader\n )\n\n if (CustomHeader) {\n return (\n <div id={BotonicContainerId.Header} ref={ref}>\n <CustomHeader onCloseClick={handleCloseWebchat} />\n </div>\n )\n }\n\n return (\n <StyledWebchatHeader id={BotonicContainerId.Header} ref={ref}>\n <DefaultHeader />\n </StyledWebchatHeader>\n )\n }\n)\n\nWebchatHeader.displayName = 'WebchatHeader'\n"],"names":["forwardRef","useContext","WEBCHAT","WebchatContext","BotonicContainerId","DefaultHeader","StyledWebchatHeader","WebchatHeader","_","ref","getThemeProperty","toggleWebchat","handleCloseWebchat","CustomHeader"],"mappings":";;;;;;;;;;;;;;;;AAAiE;AAExB;AACa;AACL;AACD;AACF;AAEvC,MAAMO,aAAaA,iBAAGP,UAAUA,CACrC,CAACQ,GAAGC;IACF,MAAM,EAAEC,gBAAgB,EAAEC,aAAa,EAAE,GAAGV,UAAUA,CAACE,cAAcA;IAErE,MAAMS,qBAAqB;QACzBD,cAAc;IAChB;IAEA,MAAME,eAAeH,iBACnBR,sCAAsC;IAGxC,IAAIW,cAAc;QAChB,qBACE,IAAC;YAAI,IAAIT,yBAAyB;YAAE,KAAKK;sBACvC,kBAACI;gBAAa,cAAcD;;;IAGlC;IAEA,qBACE,IAACN,mBAAmBA;QAAC,IAAIF,yBAAyB;QAAE,KAAKK;kBACvD,kBAACJ,aAAaA;;AAGpB,GACD;AAEDE,aAAaA,CAAC,WAAW,GAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/header/styles.js","sources":["../../../../src/webchat/header/styles.ts"],"sourcesContent":["import styled from 'styled-components'\n\nimport { COLORS } from '../../constants'\n\nexport const HeaderContainer = styled.div`\n display: flex;\n background: linear-gradient(\n 90deg,\n ${COLORS.BLEACHED_CEDAR_PURPLE} 0%,\n ${props => props.color} 100%\n );\n border-radius: ${props => props.theme.header?.style?.borderRadius};\n z-index: 2;\n height: inherit;\n\n @media (max-width: ${props => props.theme.mobileBreakpoint}px) {\n border-radius: ${props => props.theme.header?.mobileStyle?.borderRadius};\n }\n`\n\nexport const ImageContainer = styled.div`\n padding: 10px;\n align-items: center;\n\n img {\n width: 32px;\n border-radius: 50%;\n }\n`\n\nexport const TextContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n flex: 1 1 auto;\n`\n\nexport const Title = styled.div`\n display: flex;\n font-family: inherit;\n font-size: 15px;\n font-weight: bold;\n color: ${COLORS.SOLID_WHITE};\n`\n\nexport const Subtitle = styled.div`\n display: flex;\n font-family: inherit;\n font-size: 11px;\n color: ${COLORS.SOLID_WHITE};\n`\n\nexport const CloseHeader = styled.div`\n padding: 0px 16px;\n cursor: pointer;\n color: ${COLORS.SOLID_WHITE};\n font-family: inherit;\n font-size: 36px;\n`\n\nexport const StyledWebchatHeader = styled.div`\n border-radius: 8px 8px 0px 0px;\n box-shadow: ${COLORS.PIGEON_POST_BLUE_ALPHA_0_5} 0px 2px 5px;\n height: 55px;\n flex: none;\n`\n"],"names":["styled","COLORS","HeaderContainer","props","ImageContainer","TextContainer","Title","Subtitle","CloseHeader","StyledWebchatHeader"],"mappings":";;;;;AAAsC;AAEE;AAEjC,MAAME,eAAeA,GAAGF,qBAAU,CAAC;;;;IAItC,EAAEC,4BAA4B,CAAC;IAC/B,EAAEE,CAAAA,QAASA,MAAM,KAAK,CAAC;;iBAEV,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,aAAa;;;;qBAI/C,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,gBAAgB,CAAC;mBAC1C,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,EAAE,aAAa,aAAa;;AAE5E,CAAC;AAEM,MAAMC,cAAcA,GAAGJ,qBAAU,CAAC;;;;;;;;AAQzC,CAAC;AAEM,MAAMK,aAAaA,GAAGL,qBAAU,CAAC;;;;;AAKxC,CAAC;AAEM,MAAMM,KAAKA,GAAGN,qBAAU,CAAC;;;;;SAKvB,EAAEC,kBAAkB,CAAC;AAC9B,CAAC;AAEM,MAAMM,QAAQA,GAAGP,qBAAU,CAAC;;;;SAI1B,EAAEC,kBAAkB,CAAC;AAC9B,CAAC;AAEM,MAAMO,WAAWA,GAAGR,qBAAU,CAAC;;;SAG7B,EAAEC,kBAAkB,CAAC;;;AAG9B,CAAC;AAEM,MAAMQ,mBAAmBA,GAAGT,qBAAU,CAAC;;cAEhC,EAAEC,iCAAiC,CAAC;;;AAGlD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/hooks/index.js","sources":["../../../../src/webchat/hooks/index.ts"],"sourcesContent":["export { useComponentVisible } from './use-component-visible'\nexport { useComponentWillMount } from './use-component-will-mount'\nexport { useDeviceAdapter } from './use-device-adapter'\nexport { usePrevious } from './use-previous'\nexport { useScrollToBottom } from './use-scroll-to-bottom'\nexport { useScrollbarController } from './use-scrollbar-controller'\nexport { useTyping } from './use-typing'\nexport { useVirtualKeyboardDetection } from './use-virtual-keyboard-detection'\nexport { useWebchatDimensions } from './use-webchat-dimensions'\nexport { useWebchatResizer } from './use-webchat-resizer'\n"],"names":["useComponentVisible","useComponentWillMount","useDeviceAdapter","usePrevious","useScrollToBottom","useScrollbarController","useTyping","useVirtualKeyboardDetection","useWebchatDimensions","useWebchatResizer"],"mappings":";;;;;;;;;;AAA6D;AACK;AACX;AACX;AACc;AACS;AAC3B;AACsC;AACf;AACN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/hooks/use-component-visible.js","sources":["../../../../src/webchat/hooks/use-component-visible.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\n\ninterface ComponentVisible {\n ref: React.RefObject<HTMLElement>\n isComponentVisible: boolean\n setIsComponentVisible: React.Dispatch<React.SetStateAction<boolean>>\n}\n\nexport function useComponentVisible(\n initialIsVisible: boolean,\n onClickOutside: () => void\n): ComponentVisible {\n const [isComponentVisible, setIsComponentVisible] = useState(initialIsVisible)\n const ref = useRef<HTMLElement>(null)\n const handleClickOutside = event => {\n const target = event.path ? event.path[0] : event.target\n if (ref.current && !ref.current.contains(target)) {\n setIsComponentVisible(false)\n onClickOutside()\n }\n }\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, false)\n return () => {\n document.removeEventListener('click', handleClickOutside, false)\n }\n })\n return { ref, isComponentVisible, setIsComponentVisible }\n}\n"],"names":["useEffect","useRef","useState","useComponentVisible","initialIsVisible","onClickOutside","isComponentVisible","setIsComponentVisible","ref","handleClickOutside","event","target","document"],"mappings":";;;AAAmD;AAQ5C,SAASG,mBAAmBA,CACjCC,gBAAyB,EACzBC,cAA0B;IAE1B,MAAM,CAACC,oBAAoBC,sBAAsB,GAAGL,QAAQA,CAACE;IAC7D,MAAMI,MAAMP,MAAMA,CAAc;IAChC,MAAMQ,qBAAqBC,CAAAA;QACzB,MAAMC,SAASD,MAAM,IAAI,GAAGA,MAAM,IAAI,CAAC,EAAE,GAAGA,MAAM,MAAM;QACxD,IAAIF,IAAI,OAAO,IAAI,CAACA,IAAI,OAAO,CAAC,QAAQ,CAACG,SAAS;YAChDJ,sBAAsB;YACtBF;QACF;IACF;IACAL,SAASA,CAAC;QACRY,SAAS,gBAAgB,CAAC,SAASH,oBAAoB;QACvD,OAAO;YACLG,SAAS,mBAAmB,CAAC,SAASH,oBAAoB;QAC5D;IACF;IACA,OAAO;QAAED;QAAKF;QAAoBC;IAAsB;AAC1D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/hooks/use-component-will-mount.js","sources":["../../../../src/webchat/hooks/use-component-will-mount.ts"],"sourcesContent":["import { useMemo } from 'react'\n\nexport const useComponentWillMount = func => {\n useMemo(func, [])\n}\n"],"names":["useMemo","useComponentWillMount","func"],"mappings":";;;AAA+B;AAExB,MAAMC,qBAAqBA,GAAGC,CAAAA;IACnCF,OAAOA,CAACE,MAAM,EAAE;AAClB,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/hooks/use-device-adapter.js","sources":["../../../../src/webchat/hooks/use-device-adapter.ts"],"sourcesContent":["import { useEffect } from 'react'\n\nimport { DEVICES } from '../devices'\nimport { useScrollToBottom } from './use-scroll-to-bottom'\nimport { useScrollbarController } from './use-scrollbar-controller'\nimport { useVirtualKeyboardDetection } from './use-virtual-keyboard-detection'\nimport { useWebchatResizer } from './use-webchat-resizer'\n\n// To avoid type error using experimental new API supported by some browsers like Chrome but not in Safari\ninterface NavigatorWithUserAgentData extends Navigator {\n userAgentData?: {\n platform: string\n }\n}\n\nfunction getCurrentDevice() {\n const nav = navigator as NavigatorWithUserAgentData\n if (nav.userAgentData) {\n return nav.userAgentData.platform\n }\n return navigator.platform\n}\n\nexport const useDeviceAdapter = (host, isWebchatOpen) => {\n const currentDevice = getCurrentDevice()\n\n const { scrollToBottom } = useScrollToBottom({ host })\n\n const { isVirtualKeyboardVisible } = useVirtualKeyboardDetection(\n window.innerHeight\n )\n\n const { handleKeyboardShown, handleKeyboardHidden } = useWebchatResizer()\n\n const { handleScrollEvents } = useScrollbarController(currentDevice, host)\n\n useEffect(() => {\n if (currentDevice !== DEVICES.MOBILE.IPHONE) {\n return\n }\n if (isVirtualKeyboardVisible) {\n handleKeyboardShown()\n scrollToBottom()\n } else {\n handleKeyboardHidden()\n }\n\n return\n }, [isVirtualKeyboardVisible])\n\n useEffect(() => {\n if (host && isWebchatOpen) {\n if (currentDevice !== DEVICES.MOBILE.IPHONE) {\n return\n }\n handleScrollEvents()\n }\n }, [host, isWebchatOpen, handleScrollEvents])\n\n return {\n currentDevice,\n }\n}\n"],"names":["useEffect","DEVICES","useScrollToBottom","useScrollbarController","useVirtualKeyboardDetection","useWebchatResizer","getCurrentDevice","nav","navigator","useDeviceAdapter","host","isWebchatOpen","currentDevice","scrollToBottom","isVirtualKeyboardVisible","window","handleKeyboardShown","handleKeyboardHidden","handleScrollEvents"],"mappings":";;;;;;;;;;;;;AAAiC;AAEG;AACsB;AACS;AACW;AACrB;AASzD,SAASM,gBAAgBA;IACvB,MAAMC,MAAMC;IACZ,IAAID,IAAI,aAAa,EAAE;QACrB,OAAOA,IAAI,aAAa,CAAC,QAAQ;IACnC;IACA,OAAOC,UAAU,QAAQ;AAC3B;AAEO,MAAMC,gBAAgBA,GAAG,CAACC,MAAMC;IACrC,MAAMC,gBAAgBN,gBAAgBA;IAEtC,MAAM,EAAEO,cAAc,EAAE,GAAGX,iBAAiBA,CAAC;QAAEQ;IAAK;IAEpD,MAAM,EAAEI,wBAAwB,EAAE,GAAGV,2BAA2BA,CAC9DW,OAAO,WAAW;IAGpB,MAAM,EAAEC,mBAAmB,EAAEC,oBAAoB,EAAE,GAAGZ,iBAAiBA;IAEvE,MAAM,EAAEa,kBAAkB,EAAE,GAAGf,sBAAsBA,CAACS,eAAeF;IAErEV,SAASA,CAAC;QACR,IAAIY,kBAAkBX,qBAAqB,EAAE;YAC3C;QACF;QACA,IAAIa,0BAA0B;YAC5BE;YACAH;QACF,OAAO;YACLI;QACF;QAEA;IACF,GAAG;QAACH;KAAyB;IAE7Bd,SAASA,CAAC;QACR,IAAIU,QAAQC,eAAe;YACzB,IAAIC,kBAAkBX,qBAAqB,EAAE;gBAC3C;YACF;YACAiB;QACF;IACF,GAAG;QAACR;QAAMC;QAAeO;KAAmB;IAE5C,OAAO;QACLN;IACF;AACF,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/hooks/use-previous.js","sources":["../../../../src/webchat/hooks/use-previous.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\n\nexport function usePrevious(value: any): any {\n const ref = useRef()\n useEffect(() => {\n ref.current = value\n })\n return ref.current\n}\n"],"names":["useEffect","useRef","usePrevious","value","ref"],"mappings":";;;AAAyC;AAElC,SAASE,WAAWA,CAACC,KAAU;IACpC,MAAMC,MAAMH,MAAMA;IAClBD,SAASA,CAAC;QACRI,IAAI,OAAO,GAAGD;IAChB;IACA,OAAOC,IAAI,OAAO;AACpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/hooks/use-scroll-to-bottom.js","sources":["../../../../src/webchat/hooks/use-scroll-to-bottom.ts"],"sourcesContent":["import {\n getScrollableMessagesListElement,\n getWebchatElement,\n} from '../../util/dom'\n\ninterface UseScrollToBottom {\n host: any\n behavior?: ScrollBehavior\n timeout?: number\n}\n\nexport const useScrollToBottom = ({\n host,\n behavior = 'smooth',\n timeout = 200,\n}: UseScrollToBottom) => {\n const scrollToBottom = () => {\n const webchatElement = getWebchatElement(host)\n if (!webchatElement) {\n return\n }\n const scrollableMessagesListElement = getScrollableMessagesListElement(host)\n if (!scrollableMessagesListElement) {\n return\n }\n\n setTimeout(() => {\n scrollableMessagesListElement.scrollTo({\n top: scrollableMessagesListElement.scrollHeight,\n behavior: behavior,\n })\n }, timeout)\n }\n\n return { scrollToBottom }\n}\n"],"names":["getScrollableMessagesListElement","getWebchatElement","useScrollToBottom","host","behavior","timeout","scrollToBottom","webchatElement","scrollableMessagesListElement","setTimeout"],"mappings":";;;AAGuB;AAQhB,MAAME,iBAAiBA,GAAG,CAAC,EAChCC,IAAI,EACJC,WAAW,QAAQ,EACnBC,UAAU,GAAG,EACK;IAClB,MAAMC,iBAAiB;QACrB,MAAMC,iBAAiBN,iBAAiBA,CAACE;QACzC,IAAI,CAACI,gBAAgB;YACnB;QACF;QACA,MAAMC,gCAAgCR,gCAAgCA,CAACG;QACvE,IAAI,CAACK,+BAA+B;YAClC;QACF;QAEAC,WAAW;YACTD,8BAA8B,QAAQ,CAAC;gBACrC,KAAKA,8BAA8B,YAAY;gBAC/C,UAAUJ;YACZ;QACF,GAAGC;IACL;IAEA,OAAO;QAAEC;IAAe;AAC1B,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/hooks/use-scrollbar-controller.js","sources":["../../../../src/webchat/hooks/use-scrollbar-controller.ts"],"sourcesContent":["import { useContext, useEffect } from 'react'\n\nimport { WebchatContext } from '../../webchat/context'\nimport { DEVICES, isMobileDevice } from '../devices'\n\n// TODO: Investigate why when we have some messages, scroll actions are not disabled properly\n\nconst debounced = (delay, fn) => {\n let timerId: NodeJS.Timeout | null = null\n return (...args) => {\n if (timerId) {\n clearTimeout(timerId)\n }\n timerId = setTimeout(() => {\n fn(...args)\n timerId = null\n }, delay)\n }\n}\n\nconst stopAtScrollLimit = element => {\n if (element.scrollTop === 0) {\n element.scrollTop = 1\n }\n if (element.scrollHeight - element.scrollTop === element.clientHeight) {\n element.scrollTop -= 1\n }\n}\n\nexport const useScrollbarController = (currentDevice, host) => {\n const {\n webchatContainerRef,\n chatAreaRef,\n repliesRef,\n scrollableMessagesListRef,\n } = useContext(WebchatContext)\n\n const hasScrollbar = () => {\n if (chatAreaRef.current && scrollableMessagesListRef.current) {\n if (!repliesRef?.current) {\n return (\n scrollableMessagesListRef.current?.scrollHeight >\n chatAreaRef.current?.clientHeight\n )\n }\n if (repliesRef.current) {\n return (\n scrollableMessagesListRef.current?.scrollHeight >\n chatAreaRef.current?.clientHeight - repliesRef.current?.clientHeight\n )\n }\n }\n\n return false\n }\n\n const toggleOnMouseWheelEvents = () => {\n if (scrollableMessagesListRef.current) {\n if (hasScrollbar()) {\n // @ts-expect-error\n scrollableMessagesListRef.current.onmousewheel = {}\n return\n }\n // @ts-expect-error\n scrollableMessagesListRef.current.onmousewheel = e => {\n e.preventDefault()\n }\n }\n }\n\n const handleOnMouseOverEvents = e => {\n let target = e.currentTarget\n while (target) {\n toggleOnMouseWheelEvents()\n target = target.parentNode\n }\n }\n\n const toggleOnTouchMoveEvents = () => {\n if (webchatContainerRef.current && scrollableMessagesListRef.current) {\n if (hasScrollbar()) {\n scrollableMessagesListRef.current.style.touchAction = 'auto'\n webchatContainerRef.current.style.touchAction = 'auto'\n webchatContainerRef.current.ontouchmove = null\n webchatContainerRef.current.ontouchstart = null\n return\n }\n\n scrollableMessagesListRef.current.style.touchAction = 'none'\n webchatContainerRef.current.style.touchAction = 'none'\n }\n if (webchatContainerRef.current) {\n webchatContainerRef.current.ontouchstart = e => {\n if (e.target === e.currentTarget) {\n e.preventDefault()\n }\n }\n webchatContainerRef.current.ontouchmove = e => {\n if (e.target === e.currentTarget) {\n e.preventDefault()\n }\n }\n }\n }\n\n const handleOnTouchMoveEvents = () => {\n toggleOnTouchMoveEvents()\n }\n\n const limitScrollBoundaries = () => {\n if (currentDevice !== DEVICES.MOBILE.IPHONE) {\n return\n }\n const chatArea = chatAreaRef.current\n const dStopAtScrollLimit = debounced(100, stopAtScrollLimit)\n\n if (chatArea) {\n // @ts-expect-error\n if (window.addEventListener) {\n chatArea.addEventListener(\n 'scroll',\n () => dStopAtScrollLimit(chatArea),\n true\n )\n // @ts-expect-error\n } else if (window.attachEvent) {\n // @ts-expect-error\n chatAreaRef.attachEvent('scroll', () => dStopAtScrollLimit(chatArea))\n }\n }\n }\n\n const handleScrollEvents = () => {\n if (webchatContainerRef.current) {\n if (isMobileDevice()) {\n if (currentDevice !== DEVICES.MOBILE.IPHONE) {\n return\n }\n\n limitScrollBoundaries()\n\n webchatContainerRef.current.ontouchstart = handleOnTouchMoveEvents\n webchatContainerRef.current.ontouchmove = handleOnTouchMoveEvents\n } else {\n webchatContainerRef.current.onmouseover = e =>\n handleOnMouseOverEvents(e)\n }\n }\n }\n\n useEffect(() => {\n const webchat = webchatContainerRef.current\n\n handleScrollEvents()\n\n return () => {\n if (webchat) {\n webchat.onmouseover = null\n webchat.ontouchstart = null\n webchat.ontouchmove = null\n }\n }\n }, [currentDevice, host])\n\n return {\n handleScrollEvents,\n handleOnTouchMoveEvents,\n handleOnMouseOverEvents,\n hasScrollbar,\n }\n}\n"],"names":["useContext","useEffect","WebchatContext","DEVICES","isMobileDevice","debounced","delay","fn","timerId","args","clearTimeout","setTimeout","stopAtScrollLimit","element","useScrollbarController","currentDevice","host","webchatContainerRef","chatAreaRef","repliesRef","scrollableMessagesListRef","hasScrollbar","toggleOnMouseWheelEvents","e","handleOnMouseOverEvents","target","toggleOnTouchMoveEvents","handleOnTouchMoveEvents","limitScrollBoundaries","chatArea","dStopAtScrollLimit","window","handleScrollEvents","webchat"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/hooks/use-typing.js","sources":["../../../../src/webchat/hooks/use-typing.ts"],"sourcesContent":["/* eslint-disable no-empty */\nimport { useEffect } from 'react'\n\nimport type { WebchatMessage } from '../../index-types'\nimport type { WebchatState } from '../context'\n\ninterface UseTyping {\n webchatState: WebchatState\n updateTyping: (typing: boolean) => void\n updateMessage: (message: WebchatMessage) => void\n host: any\n}\n\nexport function useTyping({\n webchatState,\n updateTyping,\n updateMessage,\n}: UseTyping): void {\n useEffect(() => {\n let delayTimeout: NodeJS.Timeout | null = null\n let typingTimeout: NodeJS.Timeout | null = null\n try {\n const nextMsg = webchatState.messagesJSON.filter(m => !m.display)[0]\n if (nextMsg) {\n if (nextMsg.delay && nextMsg.typing) {\n delayTimeout = setTimeout(\n () => updateTyping(true),\n nextMsg.delay * 1000\n )\n } else if (nextMsg.typing) {\n updateTyping(true)\n }\n const totalDelay = nextMsg.delay + nextMsg.typing\n if (totalDelay) {\n typingTimeout = setTimeout(() => {\n updateMessage({ ...nextMsg, display: true })\n updateTyping(false)\n }, totalDelay * 1000)\n }\n }\n // biome-ignore lint/suspicious/noEmptyBlockStatements: error is not used\n } catch (_e) {}\n return () => {\n delayTimeout && clearTimeout(delayTimeout)\n typingTimeout && clearTimeout(typingTimeout)\n }\n }, [webchatState.messagesJSON, webchatState.typing])\n}\n"],"names":["useEffect","useTyping","webchatState","updateTyping","updateMessage","delayTimeout","typingTimeout","nextMsg","m","setTimeout","totalDelay","_e","clearTimeout"],"mappings":";;;AAAA,2BAA2B,GACM;AAY1B,SAASC,SAASA,CAAC,EACxBC,YAAY,EACZC,YAAY,EACZC,aAAa,EACH;IACVJ,SAASA,CAAC;QACR,IAAIK,eAAsC;QAC1C,IAAIC,gBAAuC;QAC3C,IAAI;YACF,MAAMC,UAAUL,aAAa,YAAY,CAAC,MAAM,CAACM,CAAAA,IAAK,CAACA,EAAE,OAAO,CAAC,CAAC,EAAE;YACpE,IAAID,SAAS;gBACX,IAAIA,QAAQ,KAAK,IAAIA,QAAQ,MAAM,EAAE;oBACnCF,eAAeI,WACb,IAAMN,aAAa,OACnBI,QAAQ,KAAK,GAAG;gBAEpB,OAAO,IAAIA,QAAQ,MAAM,EAAE;oBACzBJ,aAAa;gBACf;gBACA,MAAMO,aAAaH,QAAQ,KAAK,GAAGA,QAAQ,MAAM;gBACjD,IAAIG,YAAY;oBACdJ,gBAAgBG,WAAW;wBACzBL,cAAc;4BAAE,GAAGG,OAAO;4BAAE,SAAS;wBAAK;wBAC1CJ,aAAa;oBACf,GAAGO,aAAa;gBAClB;YACF;QACA,yEAAyE;QAC3E,EAAE,OAAOC,IAAI,CAAC;QACd,OAAO;YACLN,gBAAgBO,aAAaP;YAC7BC,iBAAiBM,aAAaN;QAChC;IACF,GAAG;QAACJ,aAAa,YAAY;QAAEA,aAAa,MAAM;KAAC;AACrD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/hooks/use-virtual-keyboard-detection.js","sources":["../../../../src/webchat/hooks/use-virtual-keyboard-detection.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nexport const useVirtualKeyboardDetection = (originalHeight: number) => {\n const [isVirtualKeyboardVisible, setIsVirtualKeyboardVisible] =\n useState(false)\n\n useEffect(() => {\n const handleResize = () => {\n if (window.visualViewport) {\n if (window.visualViewport.height < originalHeight) {\n setIsVirtualKeyboardVisible(true)\n return\n }\n setIsVirtualKeyboardVisible(false)\n return\n }\n }\n window.visualViewport?.addEventListener('resize', handleResize)\n\n return () => {\n window.visualViewport?.removeEventListener('resize', handleResize)\n }\n }, [originalHeight])\n\n return { isVirtualKeyboardVisible }\n}\n"],"names":["useEffect","useState","useVirtualKeyboardDetection","originalHeight","isVirtualKeyboardVisible","setIsVirtualKeyboardVisible","handleResize","window"],"mappings":";;;AAA2C;AAEpC,MAAME,2BAA2BA,GAAG,CAACC;IAC1C,MAAM,CAACC,0BAA0BC,4BAA4B,GAC3DJ,QAAQA,CAAC;IAEXD,SAASA,CAAC;QACR,MAAMM,eAAe;YACnB,IAAIC,OAAO,cAAc,EAAE;gBACzB,IAAIA,OAAO,cAAc,CAAC,MAAM,GAAGJ,gBAAgB;oBACjDE,4BAA4B;oBAC5B;gBACF;gBACAA,4BAA4B;gBAC5B;YACF;QACF;QACAE,OAAO,cAAc,EAAE,iBAAiB,UAAUD;QAElD,OAAO;YACLC,OAAO,cAAc,EAAE,oBAAoB,UAAUD;QACvD;IACF,GAAG;QAACH;KAAe;IAEnB,OAAO;QAAEC;IAAyB;AACpC,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/hooks/use-webchat-dimensions.js","sources":["../../../../src/webchat/hooks/use-webchat-dimensions.ts"],"sourcesContent":["import { useCallback, useContext } from 'react'\n\nimport { WebchatContext } from '../../webchat/context'\n\nexport const useWebchatDimensions = () => {\n const {\n webchatContainerRef,\n headerRef,\n inputPanelRef,\n webchatState: { isWebchatOpen },\n } = useContext(WebchatContext)\n\n const calculateResizedPercentualWebchatHeight = useCallback(() => {\n const webchatElement = webchatContainerRef.current\n if (!isWebchatOpen || !webchatElement) {\n return 0\n }\n const webchatHeight = webchatElement.clientHeight || 0\n const keyboardOffset = window.visualViewport?.height || window.innerHeight\n let newWebchatPercentualHeight = keyboardOffset / webchatHeight\n newWebchatPercentualHeight =\n Math.round(newWebchatPercentualHeight * 100 * 100) / 100 // Two decimal places\n return newWebchatPercentualHeight\n }, [isWebchatOpen])\n\n const calculateResizedPxChatAreaHeight = useCallback(() => {\n const webchatElement = webchatContainerRef.current\n const headerElement = headerRef.current\n const inputPanelElement = inputPanelRef.current\n\n if (!isWebchatOpen || !webchatElement) {\n return 0\n }\n\n const headerElementHeight = headerElement ? headerElement.clientHeight : 0\n const inputPanelElementHeight = inputPanelElement\n ? inputPanelElement.clientHeight\n : 0\n\n return (\n webchatElement.clientHeight -\n headerElementHeight -\n inputPanelElementHeight\n )\n }, [isWebchatOpen])\n\n return {\n calculateResizedPercentualWebchatHeight,\n calculateResizedPxChatAreaHeight,\n }\n}\n"],"names":["useCallback","useContext","WebchatContext","useWebchatDimensions","webchatContainerRef","headerRef","inputPanelRef","isWebchatOpen","calculateResizedPercentualWebchatHeight","webchatElement","webchatHeight","keyboardOffset","window","newWebchatPercentualHeight","Math","calculateResizedPxChatAreaHeight","headerElement","inputPanelElement","headerElementHeight","inputPanelElementHeight"],"mappings":";;;;;AAA+C;AAEO;AAE/C,MAAMG,oBAAoBA,GAAG;IAClC,MAAM,EACJC,mBAAmB,EACnBC,SAAS,EACTC,aAAa,EACb,cAAc,EAAEC,aAAa,EAAE,EAChC,GAAGN,UAAUA,CAACC,cAAcA;IAE7B,MAAMM,0CAA0CR,WAAWA,CAAC;QAC1D,MAAMS,iBAAiBL,oBAAoB,OAAO;QAClD,IAAI,CAACG,iBAAiB,CAACE,gBAAgB;YACrC,OAAO;QACT;QACA,MAAMC,gBAAgBD,eAAe,YAAY,IAAI;QACrD,MAAME,iBAAiBC,OAAO,cAAc,EAAE,UAAUA,OAAO,WAAW;QAC1E,IAAIC,6BAA6BF,iBAAiBD;QAClDG,6BACEC,KAAK,KAAK,CAACD,6BAA6B,MAAM,OAAO,KAAI,qBAAqB;QAChF,OAAOA;IACT,GAAG;QAACN;KAAc;IAElB,MAAMQ,mCAAmCf,WAAWA,CAAC;QACnD,MAAMS,iBAAiBL,oBAAoB,OAAO;QAClD,MAAMY,gBAAgBX,UAAU,OAAO;QACvC,MAAMY,oBAAoBX,cAAc,OAAO;QAE/C,IAAI,CAACC,iBAAiB,CAACE,gBAAgB;YACrC,OAAO;QACT;QAEA,MAAMS,sBAAsBF,gBAAgBA,cAAc,YAAY,GAAG;QACzE,MAAMG,0BAA0BF,oBAC5BA,kBAAkB,YAAY,GAC9B;QAEJ,OACER,eAAe,YAAY,GAC3BS,sBACAC;IAEJ,GAAG;QAACZ;KAAc;IAElB,OAAO;QACLC;QACAO;IACF;AACF,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/hooks/use-webchat-resizer.js","sources":["../../../../src/webchat/hooks/use-webchat-resizer.ts"],"sourcesContent":["import { useContext } from 'react'\n\nimport { WebchatContext } from '../../webchat/context'\nimport { useWebchatDimensions } from './use-webchat-dimensions'\n\nexport const useWebchatResizer = () => {\n const { webchatContainerRef, chatAreaRef, inputPanelRef, headerRef } =\n useContext(WebchatContext)\n\n const {\n calculateResizedPercentualWebchatHeight,\n calculateResizedPxChatAreaHeight,\n } = useWebchatDimensions()\n\n const handleKeyboardShown = () => {\n if (\n webchatContainerRef.current &&\n chatAreaRef.current &&\n headerRef.current &&\n inputPanelRef.current\n ) {\n webchatContainerRef.current.style.height = `${calculateResizedPercentualWebchatHeight()}%`\n chatAreaRef.current.style.height = `${calculateResizedPxChatAreaHeight()}px`\n }\n }\n\n const handleKeyboardHidden = () => {\n if (\n webchatContainerRef.current &&\n chatAreaRef.current &&\n inputPanelRef.current &&\n headerRef.current\n ) {\n webchatContainerRef.current.style.height = '100%'\n chatAreaRef.current.style.height = `${calculateResizedPxChatAreaHeight()}px`\n }\n }\n\n return {\n handleKeyboardShown,\n handleKeyboardHidden,\n }\n}\n"],"names":["useContext","WebchatContext","useWebchatDimensions","useWebchatResizer","webchatContainerRef","chatAreaRef","inputPanelRef","headerRef","calculateResizedPercentualWebchatHeight","calculateResizedPxChatAreaHeight","handleKeyboardShown","handleKeyboardHidden"],"mappings":";;;;;;;AAAkC;AAEoB;AACS;AAExD,MAAMG,iBAAiBA,GAAG;IAC/B,MAAM,EAAEC,mBAAmB,EAAEC,WAAW,EAAEC,aAAa,EAAEC,SAAS,EAAE,GAClEP,UAAUA,CAACC,cAAcA;IAE3B,MAAM,EACJO,uCAAuC,EACvCC,gCAAgC,EACjC,GAAGP,oBAAoBA;IAExB,MAAMQ,sBAAsB;QAC1B,IACEN,oBAAoB,OAAO,IAC3BC,YAAY,OAAO,IACnBE,UAAU,OAAO,IACjBD,cAAc,OAAO,EACrB;YACAF,oBAAoB,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAGI,0CAA0C,CAAC,CAAC;YAC1FH,YAAY,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAGI,mCAAmC,EAAE,CAAC;QAC9E;IACF;IAEA,MAAME,uBAAuB;QAC3B,IACEP,oBAAoB,OAAO,IAC3BC,YAAY,OAAO,IACnBC,cAAc,OAAO,IACrBC,UAAU,OAAO,EACjB;YACAH,oBAAoB,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG;YAC3CC,YAAY,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAGI,mCAAmC,EAAE,CAAC;QAC9E;IACF;IAEA,OAAO;QACLC;QACAC;IACF;AACF,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/index-types.js","sources":["../../../src/webchat/index-types.ts"],"sourcesContent":["import type { WebchatArgs } from '../index-types'\n\nexport interface WebchatDevProps extends WebchatArgs {\n initialDevSettings?: {\n keepSessionOnReload?: boolean\n showSessionView?: boolean\n }\n}\n"],"names":[],"mappings":"AAOC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/index.js","sources":["../../../src/webchat/index.ts"],"sourcesContent":["// @ts-nocheck\nexport { type ClientSession, WebchatContext } from './context'\nexport * from './custom-messages'\nexport { Webchat } from './webchat'\nexport { WebchatDev } from './webchat-dev'\n\nexport function getBotonicApp() {\n // Botonic is exported from your bot\n // eslint-disable-next-line no-undef\n return Botonic\n}\n\nexport * from './index-types'\n"],"names":["WebchatContext","Webchat","WebchatDev","getBotonicApp","Botonic"],"mappings":";;;;;AAAA,cAAc;AACgD;AAC7B;AACE;AACO;AAEnC,SAASG,aAAaA;IAC3B,oCAAoC;IACpC,oCAAoC;IACpC,OAAOC;AACT;AAE6B"}
@@ -1,6 +0,0 @@
1
- interface AttachmentProps {
2
- accept: string;
3
- onChange: (event: any) => void;
4
- }
5
- export declare const Attachment: ({ accept, onChange }: AttachmentProps) => import("react/jsx-runtime").JSX.Element;
6
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/input-panel/attachment.js","sources":["../../../../src/webchat/input-panel/attachment.tsx"],"sourcesContent":["import { useContext, useRef } from 'react'\n\nimport AttachmentIcon from '../../assets/attachment-icon.svg'\nimport { ROLES } from '../../constants'\nimport { WebchatContext } from '../../webchat/context'\nimport { Icon } from '../components/common'\nimport { ConditionalAnimation } from '../components/conditional-animation'\n\ninterface AttachmentProps {\n accept: string\n onChange: (event: any) => void\n}\n\nexport const Attachment = ({ accept, onChange }: AttachmentProps) => {\n const { webchatState } = useContext(WebchatContext)\n\n const fileInputRef = useRef<HTMLInputElement | null>(null)\n\n const CustomAttachments = webchatState.theme.userInput?.attachments?.custom\n\n const isAttachmentsEnabled = () => {\n const hasCustomAttachments = !!CustomAttachments\n return (\n webchatState.theme.userInput?.attachments?.enable ?? hasCustomAttachments\n )\n }\n const attachmentsEnabled = isAttachmentsEnabled()\n\n const handleOnChange = event => {\n onChange(event)\n if (fileInputRef.current) {\n fileInputRef.current.value = ''\n }\n }\n\n return (\n <>\n {attachmentsEnabled ? (\n <ConditionalAnimation>\n <div role={ROLES.ATTACHMENT_ICON}>\n <label htmlFor='attachment' style={{ marginTop: 4 }}>\n {CustomAttachments ? (\n <CustomAttachments />\n ) : (\n <Icon src={AttachmentIcon} />\n )}\n </label>\n <input\n ref={fileInputRef}\n type='file'\n name='file'\n id='attachment'\n style={{ display: 'none' }}\n onChange={handleOnChange}\n accept={accept}\n />\n </div>\n </ConditionalAnimation>\n ) : null}\n </>\n )\n}\n"],"names":["useContext","useRef","AttachmentIcon","ROLES","WebchatContext","Icon","ConditionalAnimation","Attachment","accept","onChange","webchatState","fileInputRef","CustomAttachments","isAttachmentsEnabled","hasCustomAttachments","attachmentsEnabled","handleOnChange","event"],"mappings":";;;;;;;;;;;;;;;;AAA0C;AAEmB;AACtB;AACe;AACX;AAC+B;AAOnE,MAAMO,UAAUA,GAAG,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAAmB;IAC9D,MAAM,EAAEC,YAAY,EAAE,GAAGV,UAAUA,CAACI,cAAcA;IAElD,MAAMO,eAAeV,MAAMA,CAA0B;IAErD,MAAMW,oBAAoBF,aAAa,KAAK,CAAC,SAAS,EAAE,aAAa;IAErE,MAAMG,uBAAuB;QAC3B,MAAMC,uBAAuB,CAAC,CAACF;QAC/B,OACEF,aAAa,KAAK,CAAC,SAAS,EAAE,aAAa,UAAUI;IAEzD;IACA,MAAMC,qBAAqBF;IAE3B,MAAMG,iBAAiBC,CAAAA;QACrBR,SAASQ;QACT,IAAIN,aAAa,OAAO,EAAE;YACxBA,aAAa,OAAO,CAAC,KAAK,GAAG;QAC/B;IACF;IAEA,qBACE;kBACGI,mCACC,IAACT,oBAAoBA;sBACnB,mBAAC;gBAAI,MAAMH,qBAAqB;;kCAC9B,IAAC;wBAAM,SAAQ;wBAAa,OAAO;4BAAE,WAAW;wBAAE;kCAC/CS,kCACC,IAACA,uCAED,IAACP,IAAIA;4BAAC,KAAKH,eAAcA;;;kCAG7B,IAAC;wBACC,KAAKS;wBACL,MAAK;wBACL,MAAK;wBACL,IAAG;wBACH,OAAO;4BAAE,SAAS;wBAAO;wBACzB,UAAUK;wBACV,QAAQR;;;;aAIZ;;AAGV,EAAC"}
@@ -1,5 +0,0 @@
1
- interface EmojiPickerProps {
2
- onClick: () => void;
3
- }
4
- export declare const EmojiPicker: ({ onClick }: EmojiPickerProps) => import("react/jsx-runtime").JSX.Element;
5
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/input-panel/emoji-picker.js","sources":["../../../../src/webchat/input-panel/emoji-picker.tsx"],"sourcesContent":["/** biome-ignore-all lint/a11y/noStaticElementInteractions: we need to use static elements for the emoji picker */\n/** biome-ignore-all lint/a11y/useKeyWithClickEvents: we need to use key with click events for the emoji picker */\nimport { useContext } from 'react'\n\nimport LogoEmoji from '../../assets/emojiButton.svg'\nimport { ROLES } from '../../constants'\nimport { WebchatContext } from '../../webchat/context'\nimport { Icon } from '../components/common'\nimport { ConditionalAnimation } from '../components/conditional-animation'\n\ninterface EmojiPickerProps {\n onClick: () => void\n}\n\nexport const EmojiPicker = ({ onClick }: EmojiPickerProps) => {\n const { webchatState } = useContext(WebchatContext)\n\n const CustomEmojiPicker = webchatState.theme.userInput?.emojiPicker?.custom\n\n const isEmojiPickerEnabled = () => {\n const hasCustomEmojiPicker = !!CustomEmojiPicker\n return (\n webchatState.theme.userInput?.emojiPicker?.enable ?? hasCustomEmojiPicker\n )\n }\n const emojiPickerEnabled = isEmojiPickerEnabled()\n\n const handleClick = (event: any) => {\n onClick()\n event.stopPropagation()\n }\n\n return (\n <>\n {emojiPickerEnabled ? (\n <ConditionalAnimation>\n <div role={ROLES.EMOJI_PICKER_ICON} onClick={handleClick}>\n {CustomEmojiPicker ? (\n <CustomEmojiPicker />\n ) : (\n <Icon src={LogoEmoji} />\n )}\n </div>\n </ConditionalAnimation>\n ) : null}\n </>\n )\n}\n"],"names":["useContext","LogoEmoji","ROLES","WebchatContext","Icon","ConditionalAnimation","EmojiPicker","onClick","webchatState","CustomEmojiPicker","isEmojiPickerEnabled","hasCustomEmojiPicker","emojiPickerEnabled","handleClick","event"],"mappings":";;;;;;;;;;;;;;;;AAAA,gHAAgH,GAChH,gHAAgH,GAC9E;AAEkB;AACb;AACe;AACX;AAC+B;AAMnE,MAAMM,WAAWA,GAAG,CAAC,EAAEC,OAAO,EAAoB;IACvD,MAAM,EAAEC,YAAY,EAAE,GAAGR,UAAUA,CAACG,cAAcA;IAElD,MAAMM,oBAAoBD,aAAa,KAAK,CAAC,SAAS,EAAE,aAAa;IAErE,MAAME,uBAAuB;QAC3B,MAAMC,uBAAuB,CAAC,CAACF;QAC/B,OACED,aAAa,KAAK,CAAC,SAAS,EAAE,aAAa,UAAUG;IAEzD;IACA,MAAMC,qBAAqBF;IAE3B,MAAMG,cAAc,CAACC;QACnBP;QACAO,MAAM,eAAe;IACvB;IAEA,qBACE;kBACGF,mCACC,IAACP,oBAAoBA;sBACnB,kBAAC;gBAAI,MAAMH,uBAAuB;gBAAE,SAASW;0BAC1CJ,kCACC,IAACA,uCAED,IAACL,IAAIA;oBAAC,KAAKH,WAASA;;;aAIxB;;AAGV,EAAC"}
@@ -1,9 +0,0 @@
1
- import type React from 'react';
2
- interface InputPanelProps {
3
- handleAttachment: (event: any) => void;
4
- textareaRef: React.MutableRefObject<HTMLTextAreaElement | undefined>;
5
- host: HTMLElement;
6
- onUserInput?: (event: any) => Promise<void>;
7
- }
8
- export declare const InputPanel: ({ handleAttachment, textareaRef, host, onUserInput, }: InputPanelProps) => import("react/jsx-runtime").JSX.Element;
9
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/input-panel/index.js","sources":["../../../../src/webchat/input-panel/index.tsx"],"sourcesContent":["import type React from 'react'\nimport { useContext } from 'react'\n\nimport { WEBCHAT } from '../../constants'\nimport { getFullMimeWhitelist } from '../../message-utils'\nimport { WebchatContext } from '../../webchat/context'\nimport { BotonicContainerId } from '../constants'\nimport { Attachment } from './attachment'\nimport { EmojiPicker } from './emoji-picker'\nimport { OpenedEmojiPicker } from './opened-emoji-picker'\nimport { PersistentMenu } from './persistent-menu'\nimport { SendButton } from './send-button'\nimport { UserInputContainer } from './styles'\nimport { Textarea } from './textarea'\nimport { useTypingChatEventSender } from './use-typing-chat-event-sender'\n\ninterface InputPanelProps {\n handleAttachment: (event: any) => void\n textareaRef: React.MutableRefObject<HTMLTextAreaElement | undefined>\n host: HTMLElement\n onUserInput?: (event: any) => Promise<void>\n}\n\nexport const InputPanel = ({\n handleAttachment,\n textareaRef,\n host,\n onUserInput,\n}: InputPanelProps) => {\n const {\n getThemeProperty,\n sendText,\n togglePersistentMenu,\n toggleEmojiPicker,\n webchatState,\n inputPanelRef,\n } = useContext(WebchatContext)\n\n const handleSelectedEmoji = event => {\n if (!textareaRef.current) {\n return\n }\n\n textareaRef.current.value += event.emoji\n textareaRef.current.focus()\n }\n\n const handleEmojiClick = () => {\n toggleEmojiPicker(!webchatState.isEmojiPickerOpen)\n }\n\n const handleMenu = () => {\n togglePersistentMenu(!webchatState.isPersistentMenuOpen)\n }\n\n const sendTextAreaText = async () => {\n if (!textareaRef.current) {\n return\n }\n\n await sendText(textareaRef.current?.value)\n textareaRef.current.value = ''\n }\n\n // Network layer: deduplicates typing_on/off before they reach onUserInput.\n const sendChatEvent = useTypingChatEventSender({\n onUserInput,\n session: webchatState.session,\n lastRoutePath: webchatState.lastRoutePath,\n })\n\n return (\n <UserInputContainer\n id={BotonicContainerId.InputPanel}\n ref={inputPanelRef}\n style={{\n ...getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.userInputStyle),\n }}\n className='user-input-container'\n >\n {webchatState.isEmojiPickerOpen && (\n <OpenedEmojiPicker\n onEmojiClick={handleSelectedEmoji}\n onClick={handleEmojiClick}\n />\n )}\n\n <PersistentMenu onClick={handleMenu} />\n\n <Textarea\n host={host}\n textareaRef={textareaRef}\n sendChatEvent={sendChatEvent}\n sendTextAreaText={sendTextAreaText}\n />\n\n <EmojiPicker onClick={handleEmojiClick} />\n\n <Attachment\n onChange={handleAttachment}\n accept={getFullMimeWhitelist().join(',')}\n />\n\n <SendButton onClick={sendTextAreaText} />\n </UserInputContainer>\n )\n}\n"],"names":["useContext","WEBCHAT","getFullMimeWhitelist","WebchatContext","BotonicContainerId","Attachment","EmojiPicker","OpenedEmojiPicker","PersistentMenu","SendButton","UserInputContainer","Textarea","useTypingChatEventSender","InputPanel","handleAttachment","textareaRef","host","onUserInput","getThemeProperty","sendText","togglePersistentMenu","toggleEmojiPicker","webchatState","inputPanelRef","handleSelectedEmoji","event","handleEmojiClick","handleMenu","sendTextAreaText","sendChatEvent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACkC;AAEO;AACiB;AACJ;AACL;AACR;AACG;AACa;AACP;AACR;AACG;AACR;AACoC;AASlE,MAAMa,UAAUA,GAAG,CAAC,EACzBC,gBAAgB,EAChBC,WAAW,EACXC,IAAI,EACJC,WAAW,EACK;IAChB,MAAM,EACJC,gBAAgB,EAChBC,QAAQ,EACRC,oBAAoB,EACpBC,iBAAiB,EACjBC,YAAY,EACZC,aAAa,EACd,GAAGvB,UAAUA,CAACG,cAAcA;IAE7B,MAAMqB,sBAAsBC,CAAAA;QAC1B,IAAI,CAACV,YAAY,OAAO,EAAE;YACxB;QACF;QAEAA,YAAY,OAAO,CAAC,KAAK,IAAIU,MAAM,KAAK;QACxCV,YAAY,OAAO,CAAC,KAAK;IAC3B;IAEA,MAAMW,mBAAmB;QACvBL,kBAAkB,CAACC,aAAa,iBAAiB;IACnD;IAEA,MAAMK,aAAa;QACjBP,qBAAqB,CAACE,aAAa,oBAAoB;IACzD;IAEA,MAAMM,mBAAmB;QACvB,IAAI,CAACb,YAAY,OAAO,EAAE;YACxB;QACF;QAEA,MAAMI,SAASJ,YAAY,OAAO,EAAE;QACpCA,YAAY,OAAO,CAAC,KAAK,GAAG;IAC9B;IAEA,2EAA2E;IAC3E,MAAMc,gBAAgBjB,wBAAwBA,CAAC;QAC7CK;QACA,SAASK,aAAa,OAAO;QAC7B,eAAeA,aAAa,aAAa;IAC3C;IAEA,qBACE,KAACZ,kBAAkBA;QACjB,IAAIN,6BAA6B;QACjC,KAAKmB;QACL,OAAO;YACL,GAAGL,iBAAiBjB,wCAAwC,CAAC;QAC/D;QACA,WAAU;;YAETqB,aAAa,iBAAiB,kBAC7B,IAACf,iBAAiBA;gBAChB,cAAciB;gBACd,SAASE;;0BAIb,IAAClB,cAAcA;gBAAC,SAASmB;;0BAEzB,IAAChB,QAAQA;gBACP,MAAMK;gBACN,aAAaD;gBACb,eAAec;gBACf,kBAAkBD;;0BAGpB,IAACtB,WAAWA;gBAAC,SAASoB;;0BAEtB,IAACrB,UAAUA;gBACT,UAAUS;gBACV,QAAQZ,oBAAoBA,GAAG,IAAI,CAAC;;0BAGtC,IAACO,UAAUA;gBAAC,SAASmB;;;;AAG3B,EAAC"}
@@ -1,6 +0,0 @@
1
- interface OpenedEmojiPickerProps {
2
- onClick: () => void;
3
- onEmojiClick: (event: any) => void;
4
- }
5
- export declare const OpenedEmojiPicker: ({ onClick, onEmojiClick, }: OpenedEmojiPickerProps) => import("react/jsx-runtime").JSX.Element;
6
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/input-panel/opened-emoji-picker.js","sources":["../../../../src/webchat/input-panel/opened-emoji-picker.tsx"],"sourcesContent":["import Picker from 'emoji-picker-react'\nimport type { LegacyRef } from 'react'\n\nimport { ROLES } from '../../constants'\nimport { useComponentVisible } from '../hooks'\nimport { OpenedEmojiPickerContainer } from './styles'\n\ninterface OpenedEmojiPickerProps {\n onClick: () => void\n onEmojiClick: (event: any) => void\n}\n\nexport const OpenedEmojiPicker = ({\n onClick,\n onEmojiClick,\n}: OpenedEmojiPickerProps) => {\n const { ref, isComponentVisible } = useComponentVisible(true, onClick)\n return (\n <div ref={ref as LegacyRef<HTMLDivElement>}>\n {isComponentVisible && (\n <OpenedEmojiPickerContainer role={ROLES.EMOJI_PICKER}>\n <Picker\n width='100%'\n height='19rem'\n previewConfig={{ showPreview: false }}\n lazyLoadEmojis={true}\n onEmojiClick={onEmojiClick}\n autoFocusSearch={false}\n />\n </OpenedEmojiPickerContainer>\n )}\n </div>\n )\n}\n"],"names":["Picker","ROLES","useComponentVisible","OpenedEmojiPickerContainer","OpenedEmojiPicker","onClick","onEmojiClick","ref","isComponentVisible"],"mappings":";;;;;;;;;;;;AAAuC;AAGA;AACO;AACO;AAO9C,MAAMI,iBAAiBA,GAAG,CAAC,EAChCC,OAAO,EACPC,YAAY,EACW;IACvB,MAAM,EAAEC,GAAG,EAAEC,kBAAkB,EAAE,GAAGN,mBAAmBA,CAAC,MAAMG;IAC9D,qBACE,IAAC;QAAI,KAAKE;kBACPC,oCACC,IAACL,0BAA0BA;YAAC,MAAMF,kBAAkB;sBAClD,kBAACD,kBAAMA;gBACL,OAAM;gBACN,QAAO;gBACP,eAAe;oBAAE,aAAa;gBAAM;gBACpC,gBAAgB;gBAChB,cAAcM;gBACd,iBAAiB;;;;AAM7B,EAAC"}
@@ -1,5 +0,0 @@
1
- interface PersistentMenuProps {
2
- onClick: () => void;
3
- }
4
- export declare const PersistentMenu: ({ onClick }: PersistentMenuProps) => import("react/jsx-runtime").JSX.Element;
5
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/input-panel/persistent-menu.js","sources":["../../../../src/webchat/input-panel/persistent-menu.tsx"],"sourcesContent":["/** biome-ignore-all lint/a11y/noStaticElementInteractions: we need to use static elements for the persistent menu */\n/** biome-ignore-all lint/a11y/useKeyWithClickEvents: we need to use key with click events for the persistent menu */\nimport { useContext } from 'react'\n\nimport LogoMenu from '../../assets/menuButton.svg'\nimport { ROLES } from '../../constants'\nimport { WebchatContext } from '../../webchat/context'\nimport { Icon } from '../components/common'\nimport { ConditionalAnimation } from '../components/conditional-animation'\n\ninterface PersistentMenuProps {\n onClick: () => void\n}\n\nexport const PersistentMenu = ({ onClick }: PersistentMenuProps) => {\n const { webchatState } = useContext(WebchatContext)\n\n const persistentMenuOptions = webchatState.theme.userInput?.persistentMenu\n\n const CustomMenuButton = webchatState.theme.userInput?.menuButton?.custom\n\n return (\n <>\n {persistentMenuOptions ? (\n <ConditionalAnimation>\n <div role={ROLES.PERSISTENT_MENU_ICON} onClick={onClick}>\n {CustomMenuButton ? <CustomMenuButton /> : <Icon src={LogoMenu} />}\n </div>\n </ConditionalAnimation>\n ) : null}\n </>\n )\n}\n"],"names":["useContext","LogoMenu","ROLES","WebchatContext","Icon","ConditionalAnimation","PersistentMenu","onClick","webchatState","persistentMenuOptions","CustomMenuButton"],"mappings":";;;;;;;;;;;;;;;;AAAA,mHAAmH,GACnH,mHAAmH,GACjF;AAEgB;AACX;AACe;AACX;AAC+B;AAMnE,MAAMM,cAAcA,GAAG,CAAC,EAAEC,OAAO,EAAuB;IAC7D,MAAM,EAAEC,YAAY,EAAE,GAAGR,UAAUA,CAACG,cAAcA;IAElD,MAAMM,wBAAwBD,aAAa,KAAK,CAAC,SAAS,EAAE;IAE5D,MAAME,mBAAmBF,aAAa,KAAK,CAAC,SAAS,EAAE,YAAY;IAEnE,qBACE;kBACGC,sCACC,IAACJ,oBAAoBA;sBACnB,kBAAC;gBAAI,MAAMH,0BAA0B;gBAAE,SAASK;0BAC7CG,iCAAmB,IAACA,sCAAsB,IAACN,IAAIA;oBAAC,KAAKH,UAAQA;;;aAGhE;;AAGV,EAAC"}
@@ -1,5 +0,0 @@
1
- interface SendButtonProps {
2
- onClick: () => Promise<void>;
3
- }
4
- export declare const SendButton: ({ onClick }: SendButtonProps) => import("react/jsx-runtime").JSX.Element;
5
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/input-panel/send-button.js","sources":["../../../../src/webchat/input-panel/send-button.tsx"],"sourcesContent":["/** biome-ignore-all lint/a11y/noStaticElementInteractions: we need to use static elements for the send button */\n/** biome-ignore-all lint/a11y/useKeyWithClickEvents: we need to use key with click events for the send button */\nimport { useContext } from 'react'\n\nimport SendButtonIcon from '../../assets/send-button.svg'\nimport { ROLES } from '../../constants'\nimport { WebchatContext } from '../../webchat/context'\nimport { Icon } from '../components/common'\nimport { ConditionalAnimation } from '../components/conditional-animation'\n\ninterface SendButtonProps {\n onClick: () => Promise<void>\n}\n\nexport const SendButton = ({ onClick }: SendButtonProps) => {\n const { webchatState } = useContext(WebchatContext)\n\n const CustomSendButton = webchatState.theme.userInput?.sendButton?.custom\n\n const isSendButtonEnabled = () => {\n const hasCustomSendButton = !!CustomSendButton\n return (\n webchatState.theme.userInput?.sendButton?.enable ?? hasCustomSendButton\n )\n }\n const sendButtonEnabled = isSendButtonEnabled()\n\n return (\n <>\n {sendButtonEnabled ? (\n <ConditionalAnimation>\n <div onClick={onClick} role={ROLES.SEND_BUTTON_ICON}>\n {CustomSendButton ? (\n <CustomSendButton />\n ) : (\n <Icon src={SendButtonIcon} />\n )}\n </div>\n </ConditionalAnimation>\n ) : null}\n </>\n )\n}\n"],"names":["useContext","SendButtonIcon","ROLES","WebchatContext","Icon","ConditionalAnimation","SendButton","onClick","webchatState","CustomSendButton","isSendButtonEnabled","hasCustomSendButton","sendButtonEnabled"],"mappings":";;;;;;;;;;;;;;;;AAAA,+GAA+G,GAC/G,+GAA+G,GAC7E;AAEuB;AAClB;AACe;AACX;AAC+B;AAMnE,MAAMM,UAAUA,GAAG,CAAC,EAAEC,OAAO,EAAmB;IACrD,MAAM,EAAEC,YAAY,EAAE,GAAGR,UAAUA,CAACG,cAAcA;IAElD,MAAMM,mBAAmBD,aAAa,KAAK,CAAC,SAAS,EAAE,YAAY;IAEnE,MAAME,sBAAsB;QAC1B,MAAMC,sBAAsB,CAAC,CAACF;QAC9B,OACED,aAAa,KAAK,CAAC,SAAS,EAAE,YAAY,UAAUG;IAExD;IACA,MAAMC,oBAAoBF;IAE1B,qBACE;kBACGE,kCACC,IAACP,oBAAoBA;sBACnB,kBAAC;gBAAI,SAASE;gBAAS,MAAML,sBAAsB;0BAChDO,iCACC,IAACA,sCAED,IAACL,IAAIA;oBAAC,KAAKH,WAAcA;;;aAI7B;;AAGV,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/input-panel/styles.js","sources":["../../../../src/webchat/input-panel/styles.ts"],"sourcesContent":["import styled from 'styled-components'\n\nimport { COLORS } from '../../constants'\n\nexport const UserInputContainer = styled.div`\n min-height: 52px;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 16px;\n padding: 0px 16px;\n z-index: 1;\n border-top: 1px solid ${COLORS.SOLID_BLACK_ALPHA_0_5};\n`\n\nexport const TextAreaContainer = styled.div`\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n padding: 5px 0px;\n`\n\nexport const OpenedEmojiPickerContainer = styled.div`\n display: flex;\n justify-content: flex-end;\n position: absolute;\n right: 3px;\n top: -324px;\n`\n"],"names":["styled","COLORS","UserInputContainer","TextAreaContainer","OpenedEmojiPickerContainer"],"mappings":";;;;;AAAsC;AAEE;AAEjC,MAAME,kBAAkBA,GAAGF,qBAAU,CAAC;;;;;;;;;wBASrB,EAAEC,4BAA4B,CAAC;AACvD,CAAC;AAEM,MAAME,iBAAiBA,GAAGH,qBAAU,CAAC;;;;;AAK5C,CAAC;AAEM,MAAMI,0BAA0BA,GAAGJ,qBAAU,CAAC;;;;;;AAMrD,CAAC"}
@@ -1,10 +0,0 @@
1
- import type React from 'react';
2
- import type { TypingChatEvent } from './typing-network-sender.js';
3
- interface TextareaProps {
4
- host: HTMLElement;
5
- textareaRef: React.MutableRefObject<HTMLTextAreaElement | undefined>;
6
- sendChatEvent: (event: TypingChatEvent) => Promise<boolean>;
7
- sendTextAreaText: () => Promise<void>;
8
- }
9
- export { TYPING_IDLE_MS } from './use-typing-session.js';
10
- export declare const Textarea: ({ host, textareaRef, sendChatEvent, sendTextAreaText, }: TextareaProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/input-panel/textarea.js","sources":["../../../../src/webchat/input-panel/textarea.tsx"],"sourcesContent":["import type React from 'react'\nimport { useContext } from 'react'\nimport TextareaAutosize from 'react-textarea-autosize'\n\nimport { WebchatContext } from '../../webchat/context'\nimport { useDeviceAdapter } from '../hooks'\nimport { TextAreaContainer } from './styles'\nimport type { TypingChatEvent } from './typing-network-sender'\nimport { useTypingSession } from './use-typing-session'\n\ninterface TextareaProps {\n host: HTMLElement\n textareaRef: React.MutableRefObject<HTMLTextAreaElement | undefined>\n sendChatEvent: (event: TypingChatEvent) => Promise<boolean>\n sendTextAreaText: () => Promise<void>\n}\n\nexport { TYPING_IDLE_MS } from './use-typing-session'\n\nexport const Textarea = ({\n host,\n textareaRef,\n sendChatEvent,\n sendTextAreaText,\n}: TextareaProps) => {\n const { webchatState, setIsInputFocused } = useContext(WebchatContext)\n // UI layer: decides when the user is typing. Network dedup lives in sendChatEvent.\n const { stopTyping, onTextChange } = useTypingSession(sendChatEvent)\n\n useDeviceAdapter(host, webchatState.isWebchatOpen)\n\n const persistentMenuOptions = webchatState.theme.userInput?.persistentMenu\n const placeholder = webchatState.theme.userInput?.box?.placeholder\n const userInputBoxStyle = webchatState.theme.userInput?.box?.style\n\n const onKeyDown = async event => {\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault()\n // Run in parallel: stop typing must not wait for sendTextAreaText to finish.\n await Promise.all([stopTyping(), sendTextAreaText()])\n }\n }\n\n return (\n <TextAreaContainer>\n <TextareaAutosize\n ref={(ref: HTMLTextAreaElement) => {\n textareaRef.current = ref\n }}\n onFocus={() => setIsInputFocused(true)}\n onBlur={async () => {\n setIsInputFocused(false)\n await stopTyping()\n }}\n onChange={async event => {\n await onTextChange(event.target.value)\n }}\n name='text'\n maxRows={4}\n wrap='soft'\n maxLength={1000}\n placeholder={placeholder}\n autoFocus={false}\n onKeyDown={onKeyDown}\n style={{\n display: 'flex',\n fontSize: 16,\n width: '100%',\n border: 'none',\n resize: 'none',\n overflow: 'auto',\n outline: 'none',\n flex: '1 1 auto',\n padding: 10,\n paddingLeft: persistentMenuOptions ? 0 : 10,\n fontFamily: 'inherit',\n ...userInputBoxStyle,\n }}\n />\n </TextAreaContainer>\n )\n}\n"],"names":["useContext","TextareaAutosize","WebchatContext","useDeviceAdapter","TextAreaContainer","useTypingSession","TYPING_IDLE_MS","Textarea","host","textareaRef","sendChatEvent","sendTextAreaText","webchatState","setIsInputFocused","stopTyping","onTextChange","persistentMenuOptions","placeholder","userInputBoxStyle","onKeyDown","event","Promise","ref"],"mappings":";;;;;;;;;;;;;;;;AACkC;AACoB;AAEA;AACX;AACC;AAEW;AASF;AAE9C,MAAMO,QAAQA,GAAG,CAAC,EACvBC,IAAI,EACJC,WAAW,EACXC,aAAa,EACbC,gBAAgB,EACF;IACd,MAAM,EAAEC,YAAY,EAAEC,iBAAiB,EAAE,GAAGb,UAAUA,CAACE,cAAcA;IACrE,mFAAmF;IACnF,MAAM,EAAEY,UAAU,EAAEC,YAAY,EAAE,GAAGV,gBAAgBA,CAACK;IAEtDP,gBAAgBA,CAACK,MAAMI,aAAa,aAAa;IAEjD,MAAMI,wBAAwBJ,aAAa,KAAK,CAAC,SAAS,EAAE;IAC5D,MAAMK,cAAcL,aAAa,KAAK,CAAC,SAAS,EAAE,KAAK;IACvD,MAAMM,oBAAoBN,aAAa,KAAK,CAAC,SAAS,EAAE,KAAK;IAE7D,MAAMO,YAAY,OAAMC;QACtB,IAAIA,MAAM,GAAG,KAAK,WAAW,CAACA,MAAM,QAAQ,EAAE;YAC5CA,MAAM,cAAc;YACpB,6EAA6E;YAC7E,MAAMC,QAAQ,GAAG,CAAC;gBAACP;gBAAcH;aAAmB;QACtD;IACF;IAEA,qBACE,IAACP,iBAAiBA;kBAChB,kBAACH,uBAAgBA;YACf,KAAK,CAACqB;gBACJb,YAAY,OAAO,GAAGa;YACxB;YACA,SAAS,IAAMT,kBAAkB;YACjC,QAAQ;gBACNA,kBAAkB;gBAClB,MAAMC;YACR;YACA,UAAU,OAAMM;gBACd,MAAML,aAAaK,MAAM,MAAM,CAAC,KAAK;YACvC;YACA,MAAK;YACL,SAAS;YACT,MAAK;YACL,WAAW;YACX,aAAaH;YACb,WAAW;YACX,WAAWE;YACX,OAAO;gBACL,SAAS;gBACT,UAAU;gBACV,OAAO;gBACP,QAAQ;gBACR,QAAQ;gBACR,UAAU;gBACV,SAAS;gBACT,MAAM;gBACN,SAAS;gBACT,aAAaH,wBAAwB,IAAI;gBACzC,YAAY;gBACZ,GAAGE,iBAAiB;YACtB;;;AAIR,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/input-panel/typing-network-sender.js","sources":["../../../../src/webchat/input-panel/typing-network-sender.ts"],"sourcesContent":["import type { Session as CoreSession } from '@botonic/core'\nimport { INPUT } from '@botonic/core'\nimport { v7 as uuidv7 } from 'uuid'\n\nimport { Typing } from '../../index-types'\n\n/** Network debounce before `typing_off` is sent after a stop signal. */\nexport const TYPING_OFF_DEBOUNCE_MS = 2000\n\nexport type TypingChatEvent = Typing.On | Typing.Off\n\n/** `true` when `typing_on` was delivered to the server. */\nexport type TypingOnSendResult = boolean\n\n/** `true` when `typing_off` was scheduled; delivery happens after debounce. */\nexport type TypingOffSendResult = boolean\n\nexport interface ChatEventContext {\n session: Partial<CoreSession>\n lastRoutePath?: string\n}\n\nexport type SendToServer = (\n chatEvent: TypingChatEvent,\n context: ChatEventContext\n) => Promise<boolean>\n\nexport function buildChatEventPayload(\n chatEvent: TypingChatEvent,\n { session, lastRoutePath }: ChatEventContext\n) {\n return {\n user: session.user,\n input: {\n id: uuidv7(),\n type: INPUT.CHAT_EVENT,\n data: chatEvent,\n },\n session,\n lastRoutePath,\n }\n}\n\n/**\n * Network-layer sender for typing_on / typing_off.\n *\n * Guarantees at most one typing_on per session, debounced typing_off,\n * and matching session context between on/off pairs.\n */\nexport class TypingNetworkSender {\n private disposed = false\n private isTypingOnServer = false\n // Snapshot of session/route captured when typing_on was delivered.\n private activeContext: ChatEventContext | null = null\n private pendingOffTimer: ReturnType<typeof setTimeout> | null = null\n private pendingTypingOn: Promise<TypingOnSendResult> | null = null\n\n constructor(\n private readonly getContext: () => ChatEventContext,\n private readonly sendToServer: SendToServer\n ) {}\n\n /**\n * For `Typing.On`, returns whether the event was delivered.\n * For `Typing.Off`, returns whether the stop was scheduled.\n */\n async send(\n chatEvent: TypingChatEvent\n ): Promise<TypingOnSendResult | TypingOffSendResult> {\n if (chatEvent === Typing.On) {\n return this.userStartedTyping()\n }\n\n return this.userStoppedTyping()\n }\n\n private sendTypingOffBestEffort(context: ChatEventContext) {\n return this.sendToServer(Typing.Off, context).catch(() => {})\n }\n\n dispose() {\n this.disposed = true\n this.cancelPendingOff()\n\n if (!this.isTypingOnServer || !this.activeContext) {\n return\n }\n\n // Unmount should not leave the server thinking the user is still typing.\n const context = this.activeContext\n this.resetTypingState()\n this.sendTypingOffBestEffort(context)\n }\n\n private async userStartedTyping(): Promise<TypingOnSendResult> {\n if (this.pendingTypingOn) {\n return this.pendingTypingOn\n }\n\n // User resumed typing before the debounced typing_off was sent.\n this.cancelPendingOff()\n\n if (this.isTypingOnServer) {\n return true\n }\n\n this.pendingTypingOn = (async () => {\n const context = this.getContext()\n\n try {\n const delivered = await this.sendToServer(Typing.On, context)\n\n if (this.disposed) {\n // typing_on resolved after unmount: immediately balance with typing_off.\n if (delivered) {\n this.sendTypingOffBestEffort(context)\n }\n\n return false\n }\n\n if (delivered) {\n this.isTypingOnServer = true\n this.activeContext = context\n }\n\n return delivered\n } finally {\n this.pendingTypingOn = null\n }\n })()\n\n return this.pendingTypingOn\n }\n\n private userStoppedTyping(): Promise<TypingOffSendResult> {\n if (!this.isTypingOnServer || !this.activeContext) {\n return Promise.resolve(false)\n }\n\n this.cancelPendingOff()\n\n const context = this.activeContext\n\n // Coalesce blur + clear + send into a single typing_off.\n this.pendingOffTimer = setTimeout(() => {\n this.pendingOffTimer = null\n this.resetTypingState()\n this.sendTypingOffBestEffort(context)\n }, TYPING_OFF_DEBOUNCE_MS)\n\n return Promise.resolve(true)\n }\n\n private resetTypingState() {\n this.isTypingOnServer = false\n this.activeContext = null\n }\n\n private cancelPendingOff() {\n if (!this.pendingOffTimer) {\n return\n }\n\n clearTimeout(this.pendingOffTimer)\n this.pendingOffTimer = null\n }\n}\n"],"names":["INPUT","v7","uuidv7","Typing","TYPING_OFF_DEBOUNCE_MS","buildChatEventPayload","chatEvent","session","lastRoutePath","TypingNetworkSender","context","delivered","Promise","setTimeout","clearTimeout","getContext","sendToServer"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/input-panel/use-typing-chat-event-sender.js","sources":["../../../../src/webchat/input-panel/use-typing-chat-event-sender.ts"],"sourcesContent":["import type { Session as CoreSession } from '@botonic/core'\nimport { useCallback, useEffect, useRef } from 'react'\nimport {\n buildChatEventPayload,\n type TypingChatEvent,\n TypingNetworkSender,\n} from './typing-network-sender'\n\nexport type TypingChatEventPayload = ReturnType<typeof buildChatEventPayload>\n\ninterface UseTypingChatEventSenderArgs {\n onUserInput?: (args: TypingChatEventPayload) => Promise<void>\n session: Partial<CoreSession>\n lastRoutePath?: string\n}\n\n/**\n * React bridge from Textarea to TypingNetworkSender.\n *\n * Keeps one sender instance per input panel and forwards typing events\n * to onUserInput with the current session context.\n */\nexport function useTypingChatEventSender({\n onUserInput,\n session,\n lastRoutePath,\n}: UseTypingChatEventSenderArgs) {\n // Always read the latest handler/session without recreating the sender.\n const contextRef = useRef({ onUserInput, session, lastRoutePath })\n const typingSenderRef = useRef<TypingNetworkSender | null>(null)\n\n contextRef.current = { onUserInput, session, lastRoutePath }\n\n if (!typingSenderRef.current) {\n typingSenderRef.current = new TypingNetworkSender(\n () => ({\n session: contextRef.current.session,\n lastRoutePath: contextRef.current.lastRoutePath,\n }),\n async (chatEvent, context) => {\n const handler = contextRef.current.onUserInput\n\n if (!handler) {\n return false\n }\n\n try {\n await handler(buildChatEventPayload(chatEvent, context))\n return true\n } catch {\n // Let the UI retry on the next keystroke.\n return false\n }\n }\n )\n }\n\n useEffect(() => {\n return () => {\n typingSenderRef.current?.dispose()\n }\n }, [])\n\n return useCallback(async (chatEvent: TypingChatEvent): Promise<boolean> => {\n return (await typingSenderRef.current?.send(chatEvent)) ?? false\n }, [])\n}\n"],"names":["useCallback","useEffect","useRef","buildChatEventPayload","TypingNetworkSender","useTypingChatEventSender","onUserInput","session","lastRoutePath","contextRef","typingSenderRef","chatEvent","context","handler"],"mappings":";;;;;AACsD;AAKtB;AAUhC;;;;;CAKC,GACM,SAASK,wBAAwBA,CAAC,EACvCC,WAAW,EACXC,OAAO,EACPC,aAAa,EACgB;IAC7B,wEAAwE;IACxE,MAAMC,aAAaP,MAAMA,CAAC;QAAEI;QAAaC;QAASC;IAAc;IAChE,MAAME,kBAAkBR,MAAMA,CAA6B;IAE3DO,WAAW,OAAO,GAAG;QAAEH;QAAaC;QAASC;IAAc;IAE3D,IAAI,CAACE,gBAAgB,OAAO,EAAE;QAC5BA,gBAAgB,OAAO,GAAG,IAAIN,mBAAmBA,CAC/C,IAAO;gBACL,SAASK,WAAW,OAAO,CAAC,OAAO;gBACnC,eAAeA,WAAW,OAAO,CAAC,aAAa;YACjD,IACA,OAAOE,WAAWC;YAChB,MAAMC,UAAUJ,WAAW,OAAO,CAAC,WAAW;YAE9C,IAAI,CAACI,SAAS;gBACZ,OAAO;YACT;YAEA,IAAI;gBACF,MAAMA,QAAQV,qBAAqBA,CAACQ,WAAWC;gBAC/C,OAAO;YACT,EAAE,OAAM;gBACN,0CAA0C;gBAC1C,OAAO;YACT;QACF;IAEJ;IAEAX,SAASA,CAAC;QACR,OAAO;YACLS,gBAAgB,OAAO,EAAE;QAC3B;IACF,GAAG,EAAE;IAEL,OAAOV,WAAWA,CAAC,OAAOW;QACxB,OAAQ,MAAMD,gBAAgB,OAAO,EAAE,KAAKC,cAAe;IAC7D,GAAG,EAAE;AACP"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webchat/input-panel/use-typing-session.js","sources":["../../../../src/webchat/input-panel/use-typing-session.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react'\n\nimport { Typing } from '../../index-types'\nimport type { TypingChatEvent } from './typing-network-sender'\n\n/** Local UI inactivity before the textarea stops emitting typing events. */\nexport const TYPING_IDLE_MS = 10 * 1000\n\ntype SendTypingEvent = (event: TypingChatEvent) => Promise<boolean>\n\n/**\n * UI-layer typing session for the textarea.\n *\n * Decides *when* the user is typing and requests typing_on / typing_off.\n * Deduplication and network debouncing live in TypingNetworkSender instead.\n */\nexport function useTypingSession(sendChatEvent: SendTypingEvent) {\n const isTyping = useRef(false)\n // Bumps on each start/stop so stale async stopTyping() calls can be ignored.\n const startOrStopTypingCount = useRef(0)\n const idleTimer = useRef<ReturnType<typeof setTimeout> | null>(null)\n // Shares one in-flight typing_on while delivery is still pending.\n const pendingTypingOn = useRef<Promise<boolean> | null>(null)\n\n const stopTyping = useCallback(async () => {\n const countWhenStopWasRequested = ++startOrStopTypingCount.current\n\n if (idleTimer.current) {\n clearTimeout(idleTimer.current)\n idleTimer.current = null\n }\n\n // Wait for typing_on to settle before deciding whether to send typing_off.\n if (pendingTypingOn.current) {\n await pendingTypingOn.current\n }\n\n // Let same-turn input events (e.g. Enter then type next message) bump the counter first.\n await Promise.resolve()\n\n if (countWhenStopWasRequested !== startOrStopTypingCount.current) {\n return\n }\n\n if (!isTyping.current) {\n return\n }\n\n isTyping.current = false\n await sendChatEvent(Typing.Off)\n }, [sendChatEvent])\n\n const startTyping = useCallback(async () => {\n if (isTyping.current) {\n return true\n }\n\n if (pendingTypingOn.current) {\n return pendingTypingOn.current\n }\n\n pendingTypingOn.current = (async () => {\n try {\n const accepted = await sendChatEvent(Typing.On)\n\n // Only mark active after the network layer confirms delivery.\n if (accepted) {\n isTyping.current = true\n }\n\n return accepted\n } finally {\n pendingTypingOn.current = null\n }\n })()\n\n return pendingTypingOn.current\n }, [sendChatEvent])\n\n const onTextChange = useCallback(\n async (value: string) => {\n if (value === '') {\n await stopTyping()\n return\n }\n\n const countWhenUserTyped = ++startOrStopTypingCount.current\n await startTyping()\n\n if (countWhenUserTyped !== startOrStopTypingCount.current) {\n return\n }\n\n if (!isTyping.current) {\n return\n }\n\n // Reset the idle timer on every keystroke.\n if (idleTimer.current) {\n clearTimeout(idleTimer.current)\n }\n\n idleTimer.current = setTimeout(() => {\n stopTyping().catch(() => {})\n }, TYPING_IDLE_MS)\n },\n [startTyping, stopTyping]\n )\n\n const stopTypingRef = useRef(stopTyping)\n stopTypingRef.current = stopTyping\n\n useEffect(() => {\n return () => {\n if (idleTimer.current) {\n clearTimeout(idleTimer.current)\n }\n\n stopTypingRef.current().catch(() => {})\n }\n }, [])\n\n return { stopTyping, onTextChange }\n}\n"],"names":["useCallback","useEffect","useRef","Typing","TYPING_IDLE_MS","useTypingSession","sendChatEvent","isTyping","startOrStopTypingCount","idleTimer","pendingTypingOn","stopTyping","countWhenStopWasRequested","clearTimeout","Promise","startTyping","accepted","onTextChange","value","countWhenUserTyped","setTimeout","stopTypingRef"],"mappings":";;;;;AAAsD;AAEZ;AAG1C,0EAA0E,GACnE,MAAMI,cAAcA,GAAG,KAAK,KAAI;AAIvC;;;;;CAKC,GACM,SAASC,gBAAgBA,CAACC,aAA8B;IAC7D,MAAMC,WAAWL,MAAMA,CAAC;IACxB,6EAA6E;IAC7E,MAAMM,yBAAyBN,MAAMA,CAAC;IACtC,MAAMO,YAAYP,MAAMA,CAAuC;IAC/D,kEAAkE;IAClE,MAAMQ,kBAAkBR,MAAMA,CAA0B;IAExD,MAAMS,aAAaX,WAAWA,CAAC;QAC7B,MAAMY,4BAA4B,EAAEJ,uBAAuB,OAAO;QAElE,IAAIC,UAAU,OAAO,EAAE;YACrBI,aAAaJ,UAAU,OAAO;YAC9BA,UAAU,OAAO,GAAG;QACtB;QAEA,2EAA2E;QAC3E,IAAIC,gBAAgB,OAAO,EAAE;YAC3B,MAAMA,gBAAgB,OAAO;QAC/B;QAEA,yFAAyF;QACzF,MAAMI,QAAQ,OAAO;QAErB,IAAIF,8BAA8BJ,uBAAuB,OAAO,EAAE;YAChE;QACF;QAEA,IAAI,CAACD,SAAS,OAAO,EAAE;YACrB;QACF;QAEAA,SAAS,OAAO,GAAG;QACnB,MAAMD,cAAcH,UAAU;IAChC,GAAG;QAACG;KAAc;IAElB,MAAMS,cAAcf,WAAWA,CAAC;QAC9B,IAAIO,SAAS,OAAO,EAAE;YACpB,OAAO;QACT;QAEA,IAAIG,gBAAgB,OAAO,EAAE;YAC3B,OAAOA,gBAAgB,OAAO;QAChC;QAEAA,gBAAgB,OAAO,GAAI;YACzB,IAAI;gBACF,MAAMM,WAAW,MAAMV,cAAcH,SAAS;gBAE9C,8DAA8D;gBAC9D,IAAIa,UAAU;oBACZT,SAAS,OAAO,GAAG;gBACrB;gBAEA,OAAOS;YACT,SAAU;gBACRN,gBAAgB,OAAO,GAAG;YAC5B;QACF;QAEA,OAAOA,gBAAgB,OAAO;IAChC,GAAG;QAACJ;KAAc;IAElB,MAAMW,eAAejB,WAAWA,CAC9B,OAAOkB;QACL,IAAIA,UAAU,IAAI;YAChB,MAAMP;YACN;QACF;QAEA,MAAMQ,qBAAqB,EAAEX,uBAAuB,OAAO;QAC3D,MAAMO;QAEN,IAAII,uBAAuBX,uBAAuB,OAAO,EAAE;YACzD;QACF;QAEA,IAAI,CAACD,SAAS,OAAO,EAAE;YACrB;QACF;QAEA,2CAA2C;QAC3C,IAAIE,UAAU,OAAO,EAAE;YACrBI,aAAaJ,UAAU,OAAO;QAChC;QAEAA,UAAU,OAAO,GAAGW,WAAW;YAC7BT,aAAa,KAAK,CAAC,KAAO;QAC5B,GAAGP,cAAcA;IACnB,GACA;QAACW;QAAaJ;KAAW;IAG3B,MAAMU,gBAAgBnB,MAAMA,CAACS;IAC7BU,cAAc,OAAO,GAAGV;IAExBV,SAASA,CAAC;QACR,OAAO;YACL,IAAIQ,UAAU,OAAO,EAAE;gBACrBI,aAAaJ,UAAU,OAAO;YAChC;YAEAY,cAAc,OAAO,GAAG,KAAK,CAAC,KAAO;QACvC;IACF,GAAG,EAAE;IAEL,OAAO;QAAEV;QAAYM;IAAa;AACpC"}
@@ -1 +0,0 @@
1
- export declare const WebchatMessageList: () => import("react/jsx-runtime").JSX.Element;