@botonic/react 0.30.8-alpha.0 → 0.30.8

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 (378) hide show
  1. package/lib/cjs/components/carousel.d.ts +2 -1
  2. package/lib/cjs/contexts.d.ts +1 -0
  3. package/lib/cjs/message-utils.d.ts +2 -1
  4. package/lib/cjs/node-app.d.ts +1 -1
  5. package/lib/cjs/react-bot.d.ts +2 -1
  6. package/lib/cjs/webchat/hooks/use-webchat.d.ts +1 -0
  7. package/lib/cjs/webchat/utils.d.ts +1 -0
  8. package/lib/cjs/webchat-app.d.ts +4 -3
  9. package/lib/esm/app.d.ts +2 -0
  10. package/lib/esm/app.js +6 -0
  11. package/lib/esm/app.js.map +1 -0
  12. package/lib/esm/botonic-tester.d.ts +30 -0
  13. package/lib/esm/botonic-tester.js +78 -0
  14. package/lib/esm/botonic-tester.js.map +1 -0
  15. package/lib/esm/components/audio.d.ts +8 -0
  16. package/lib/esm/components/audio.js +18 -0
  17. package/lib/esm/components/audio.js.map +1 -0
  18. package/lib/esm/components/button.d.ts +17 -0
  19. package/lib/esm/components/button.js +160 -0
  20. package/lib/esm/components/button.js.map +1 -0
  21. package/lib/esm/components/buttons-disabler.d.ts +24 -0
  22. package/lib/esm/components/buttons-disabler.js +84 -0
  23. package/lib/esm/components/buttons-disabler.js.map +1 -0
  24. package/lib/esm/components/carousel.d.ts +10 -0
  25. package/lib/esm/components/carousel.js +105 -0
  26. package/lib/esm/components/carousel.js.map +1 -0
  27. package/lib/esm/components/components.d.ts +12 -0
  28. package/lib/esm/components/components.js +17 -0
  29. package/lib/esm/components/components.js.map +1 -0
  30. package/lib/esm/components/custom-message.d.ts +12 -0
  31. package/lib/esm/components/custom-message.js +56 -0
  32. package/lib/esm/components/custom-message.js.map +1 -0
  33. package/lib/esm/components/document.d.ts +8 -0
  34. package/lib/esm/components/document.js +42 -0
  35. package/lib/esm/components/document.js.map +1 -0
  36. package/lib/esm/components/element.d.ts +4 -0
  37. package/lib/esm/components/element.js +51 -0
  38. package/lib/esm/components/element.js.map +1 -0
  39. package/lib/esm/components/handoff.d.ts +1 -0
  40. package/lib/esm/components/handoff.js +49 -0
  41. package/lib/esm/components/handoff.js.map +1 -0
  42. package/lib/esm/components/image.d.ts +8 -0
  43. package/lib/esm/components/image.js +35 -0
  44. package/lib/esm/components/image.js.map +1 -0
  45. package/lib/esm/components/index-types.d.ts +186 -0
  46. package/lib/esm/components/index-types.js +2 -0
  47. package/lib/esm/components/index-types.js.map +1 -0
  48. package/lib/esm/components/index.d.ts +24 -0
  49. package/lib/esm/components/index.js +25 -0
  50. package/lib/esm/components/index.js.map +1 -0
  51. package/lib/esm/components/location.d.ts +11 -0
  52. package/lib/esm/components/location.js +27 -0
  53. package/lib/esm/components/location.js.map +1 -0
  54. package/lib/esm/components/markdown.d.ts +7 -0
  55. package/lib/esm/components/markdown.js +152 -0
  56. package/lib/esm/components/markdown.js.map +1 -0
  57. package/lib/esm/components/message/index.d.ts +1 -0
  58. package/lib/esm/components/message/index.js +146 -0
  59. package/lib/esm/components/message/index.js.map +1 -0
  60. package/lib/esm/components/message/message-feedback.d.ts +7 -0
  61. package/lib/esm/components/message/message-feedback.js +59 -0
  62. package/lib/esm/components/message/message-feedback.js.map +1 -0
  63. package/lib/esm/components/message/message-footer.d.ts +11 -0
  64. package/lib/esm/components/message/message-footer.js +17 -0
  65. package/lib/esm/components/message/message-footer.js.map +1 -0
  66. package/lib/esm/components/message/message-image.d.ts +7 -0
  67. package/lib/esm/components/message/message-image.js +19 -0
  68. package/lib/esm/components/message/message-image.js.map +1 -0
  69. package/lib/esm/components/message/styles.d.ts +33 -0
  70. package/lib/esm/components/message/styles.js +118 -0
  71. package/lib/esm/components/message/styles.js.map +1 -0
  72. package/lib/esm/components/message/timestamps.d.ts +13 -0
  73. package/lib/esm/components/message/timestamps.js +40 -0
  74. package/lib/esm/components/message/timestamps.js.map +1 -0
  75. package/lib/esm/components/message-template.d.ts +1 -0
  76. package/lib/esm/components/message-template.js +9 -0
  77. package/lib/esm/components/message-template.js.map +1 -0
  78. package/lib/esm/components/multichannel/facebook/facebook.d.ts +17 -0
  79. package/lib/esm/components/multichannel/facebook/facebook.js +43 -0
  80. package/lib/esm/components/multichannel/facebook/facebook.js.map +1 -0
  81. package/lib/esm/components/multichannel/index-types.d.ts +46 -0
  82. package/lib/esm/components/multichannel/index-types.js +2 -0
  83. package/lib/esm/components/multichannel/index-types.js.map +1 -0
  84. package/lib/esm/components/multichannel/index.d.ts +11 -0
  85. package/lib/esm/components/multichannel/index.js +12 -0
  86. package/lib/esm/components/multichannel/index.js.map +1 -0
  87. package/lib/esm/components/multichannel/multichannel-button.d.ts +1 -0
  88. package/lib/esm/components/multichannel/multichannel-button.js +67 -0
  89. package/lib/esm/components/multichannel/multichannel-button.js.map +1 -0
  90. package/lib/esm/components/multichannel/multichannel-carousel.d.ts +1 -0
  91. package/lib/esm/components/multichannel/multichannel-carousel.js +74 -0
  92. package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -0
  93. package/lib/esm/components/multichannel/multichannel-context.d.ts +11 -0
  94. package/lib/esm/components/multichannel/multichannel-context.js +12 -0
  95. package/lib/esm/components/multichannel/multichannel-context.js.map +1 -0
  96. package/lib/esm/components/multichannel/multichannel-reply.d.ts +1 -0
  97. package/lib/esm/components/multichannel/multichannel-reply.js +20 -0
  98. package/lib/esm/components/multichannel/multichannel-reply.js.map +1 -0
  99. package/lib/esm/components/multichannel/multichannel-text.d.ts +1 -0
  100. package/lib/esm/components/multichannel/multichannel-text.js +160 -0
  101. package/lib/esm/components/multichannel/multichannel-text.js.map +1 -0
  102. package/lib/esm/components/multichannel/multichannel-utils.d.ts +21 -0
  103. package/lib/esm/components/multichannel/multichannel-utils.js +81 -0
  104. package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -0
  105. package/lib/esm/components/multichannel/multichannel.d.ts +1 -0
  106. package/lib/esm/components/multichannel/multichannel.js +57 -0
  107. package/lib/esm/components/multichannel/multichannel.js.map +1 -0
  108. package/lib/esm/components/multichannel/whatsapp/constants.d.ts +11 -0
  109. package/lib/esm/components/multichannel/whatsapp/constants.js +10 -0
  110. package/lib/esm/components/multichannel/whatsapp/constants.js.map +1 -0
  111. package/lib/esm/components/multichannel/whatsapp/markdown-meta.d.ts +1 -0
  112. package/lib/esm/components/multichannel/whatsapp/markdown-meta.js +38 -0
  113. package/lib/esm/components/multichannel/whatsapp/markdown-meta.js.map +1 -0
  114. package/lib/esm/components/pic.d.ts +6 -0
  115. package/lib/esm/components/pic.js +25 -0
  116. package/lib/esm/components/pic.js.map +1 -0
  117. package/lib/esm/components/raw.d.ts +9 -0
  118. package/lib/esm/components/raw.js +39 -0
  119. package/lib/esm/components/raw.js.map +1 -0
  120. package/lib/esm/components/reply.d.ts +9 -0
  121. package/lib/esm/components/reply.js +49 -0
  122. package/lib/esm/components/reply.js.map +1 -0
  123. package/lib/esm/components/share-button.d.ts +1 -0
  124. package/lib/esm/components/share-button.js +9 -0
  125. package/lib/esm/components/share-button.js.map +1 -0
  126. package/lib/esm/components/subtitle.d.ts +6 -0
  127. package/lib/esm/components/subtitle.js +19 -0
  128. package/lib/esm/components/subtitle.js.map +1 -0
  129. package/lib/esm/components/text.d.ts +7 -0
  130. package/lib/esm/components/text.js +40 -0
  131. package/lib/esm/components/text.js.map +1 -0
  132. package/lib/esm/components/title.d.ts +6 -0
  133. package/lib/esm/components/title.js +17 -0
  134. package/lib/esm/components/title.js.map +1 -0
  135. package/lib/esm/components/video.d.ts +8 -0
  136. package/lib/esm/components/video.js +26 -0
  137. package/lib/esm/components/video.js.map +1 -0
  138. package/lib/esm/components/webchat-settings.d.ts +3 -0
  139. package/lib/esm/components/webchat-settings.js +69 -0
  140. package/lib/esm/components/webchat-settings.js.map +1 -0
  141. package/lib/esm/components/whatsapp-button-list.d.ts +20 -0
  142. package/lib/esm/components/whatsapp-button-list.js +47 -0
  143. package/lib/esm/components/whatsapp-button-list.js.map +1 -0
  144. package/lib/esm/components/whatsapp-cta-url-button.d.ts +15 -0
  145. package/lib/esm/components/whatsapp-cta-url-button.js +33 -0
  146. package/lib/esm/components/whatsapp-cta-url-button.js.map +1 -0
  147. package/lib/esm/components/whatsapp-template.d.ts +1 -0
  148. package/lib/esm/components/whatsapp-template.js +20 -0
  149. package/lib/esm/components/whatsapp-template.js.map +1 -0
  150. package/lib/esm/constants.d.ts +165 -0
  151. package/lib/esm/constants.js +187 -0
  152. package/lib/esm/constants.js.map +1 -0
  153. package/lib/esm/contexts.d.ts +19 -0
  154. package/lib/esm/contexts.js +95 -0
  155. package/lib/esm/contexts.js.map +1 -0
  156. package/lib/esm/dev-app.d.ts +31 -0
  157. package/lib/esm/dev-app.js +78 -0
  158. package/lib/esm/dev-app.js.map +1 -0
  159. package/lib/esm/index-types.d.ts +150 -0
  160. package/lib/esm/index-types.js +12 -0
  161. package/lib/esm/index-types.js.map +1 -0
  162. package/lib/esm/index.d.ts +11 -0
  163. package/lib/esm/index.js +12 -0
  164. package/lib/esm/index.js.map +1 -0
  165. package/lib/esm/message-utils.d.ts +19 -0
  166. package/lib/esm/message-utils.js +41 -0
  167. package/lib/esm/message-utils.js.map +1 -0
  168. package/lib/esm/msg-to-botonic.d.ts +18 -0
  169. package/lib/esm/msg-to-botonic.js +135 -0
  170. package/lib/esm/msg-to-botonic.js.map +1 -0
  171. package/lib/esm/node-app.d.ts +7 -0
  172. package/lib/esm/node-app.js +19 -0
  173. package/lib/esm/node-app.js.map +1 -0
  174. package/lib/esm/react-bot.d.ts +8 -0
  175. package/lib/esm/react-bot.js +32 -0
  176. package/lib/esm/react-bot.js.map +1 -0
  177. package/lib/esm/shared/styles.d.ts +2 -0
  178. package/lib/esm/shared/styles.js +28 -0
  179. package/lib/esm/shared/styles.js.map +1 -0
  180. package/lib/esm/util/dom.d.ts +4 -0
  181. package/lib/esm/util/dom.js +24 -0
  182. package/lib/esm/util/dom.js.map +1 -0
  183. package/lib/esm/util/environment.d.ts +6 -0
  184. package/lib/esm/util/environment.js +61 -0
  185. package/lib/esm/util/environment.js.map +1 -0
  186. package/lib/esm/util/error-boundary.d.ts +7 -0
  187. package/lib/esm/util/error-boundary.js +28 -0
  188. package/lib/esm/util/error-boundary.js.map +1 -0
  189. package/lib/esm/util/index.d.ts +9 -0
  190. package/lib/esm/util/index.js +10 -0
  191. package/lib/esm/util/index.js.map +1 -0
  192. package/lib/esm/util/logs.d.ts +2 -0
  193. package/lib/esm/util/logs.js +15 -0
  194. package/lib/esm/util/logs.js.map +1 -0
  195. package/lib/esm/util/objects.d.ts +3 -0
  196. package/lib/esm/util/objects.js +38 -0
  197. package/lib/esm/util/objects.js.map +1 -0
  198. package/lib/esm/util/react.d.ts +12 -0
  199. package/lib/esm/util/react.js +34 -0
  200. package/lib/esm/util/react.js.map +1 -0
  201. package/lib/esm/util/regexs.d.ts +2 -0
  202. package/lib/esm/util/regexs.js +18 -0
  203. package/lib/esm/util/regexs.js.map +1 -0
  204. package/lib/esm/util/strings.d.ts +1 -0
  205. package/lib/esm/util/strings.js +7 -0
  206. package/lib/esm/util/strings.js.map +1 -0
  207. package/lib/esm/util/webchat.d.ts +11 -0
  208. package/lib/esm/util/webchat.js +53 -0
  209. package/lib/esm/util/webchat.js.map +1 -0
  210. package/lib/esm/util/webviews.d.ts +1 -0
  211. package/lib/esm/util/webviews.js +6 -0
  212. package/lib/esm/util/webviews.js.map +1 -0
  213. package/lib/esm/webchat/actions.d.ts +27 -0
  214. package/lib/esm/webchat/actions.js +29 -0
  215. package/lib/esm/webchat/actions.js.map +1 -0
  216. package/lib/esm/webchat/chat-area/index.d.ts +1 -0
  217. package/lib/esm/webchat/chat-area/index.js +18 -0
  218. package/lib/esm/webchat/chat-area/index.js.map +1 -0
  219. package/lib/esm/webchat/chat-area/styles.d.ts +3 -0
  220. package/lib/esm/webchat/chat-area/styles.js +9 -0
  221. package/lib/esm/webchat/chat-area/styles.js.map +1 -0
  222. package/lib/esm/webchat/components/common.d.ts +1 -0
  223. package/lib/esm/webchat/components/common.js +9 -0
  224. package/lib/esm/webchat/components/common.js.map +1 -0
  225. package/lib/esm/webchat/components/conditional-animation.d.ts +1 -0
  226. package/lib/esm/webchat/components/conditional-animation.js +12 -0
  227. package/lib/esm/webchat/components/conditional-animation.js.map +1 -0
  228. package/lib/esm/webchat/components/opened-persistent-menu.d.ts +6 -0
  229. package/lib/esm/webchat/components/opened-persistent-menu.js +30 -0
  230. package/lib/esm/webchat/components/opened-persistent-menu.js.map +1 -0
  231. package/lib/esm/webchat/constants.d.ts +8 -0
  232. package/lib/esm/webchat/constants.js +10 -0
  233. package/lib/esm/webchat/constants.js.map +1 -0
  234. package/lib/esm/webchat/cover-component/index.d.ts +6 -0
  235. package/lib/esm/webchat/cover-component/index.js +17 -0
  236. package/lib/esm/webchat/cover-component/index.js.map +1 -0
  237. package/lib/esm/webchat/devices/index.d.ts +11 -0
  238. package/lib/esm/webchat/devices/index.js +18 -0
  239. package/lib/esm/webchat/devices/index.js.map +1 -0
  240. package/lib/esm/webchat/header.d.ts +3 -0
  241. package/lib/esm/webchat/header.js +81 -0
  242. package/lib/esm/webchat/header.js.map +1 -0
  243. package/lib/esm/webchat/hooks/index.d.ts +11 -0
  244. package/lib/esm/webchat/hooks/index.js +12 -0
  245. package/lib/esm/webchat/hooks/index.js.map +1 -0
  246. package/lib/esm/webchat/hooks/use-component-visible.d.ts +8 -0
  247. package/lib/esm/webchat/hooks/use-component-visible.js +20 -0
  248. package/lib/esm/webchat/hooks/use-component-visible.js.map +1 -0
  249. package/lib/esm/webchat/hooks/use-component-will-mount.d.ts +1 -0
  250. package/lib/esm/webchat/hooks/use-component-will-mount.js +5 -0
  251. package/lib/esm/webchat/hooks/use-component-will-mount.js.map +1 -0
  252. package/lib/esm/webchat/hooks/use-device-adapter.d.ts +3 -0
  253. package/lib/esm/webchat/hooks/use-device-adapter.js +42 -0
  254. package/lib/esm/webchat/hooks/use-device-adapter.js.map +1 -0
  255. package/lib/esm/webchat/hooks/use-previous.d.ts +1 -0
  256. package/lib/esm/webchat/hooks/use-previous.js +9 -0
  257. package/lib/esm/webchat/hooks/use-previous.js.map +1 -0
  258. package/lib/esm/webchat/hooks/use-scroll-to-bottom.d.ts +6 -0
  259. package/lib/esm/webchat/hooks/use-scroll-to-bottom.js +18 -0
  260. package/lib/esm/webchat/hooks/use-scroll-to-bottom.js.map +1 -0
  261. package/lib/esm/webchat/hooks/use-scrollbar-controller.d.ts +6 -0
  262. package/lib/esm/webchat/hooks/use-scrollbar-controller.js +136 -0
  263. package/lib/esm/webchat/hooks/use-scrollbar-controller.js.map +1 -0
  264. package/lib/esm/webchat/hooks/use-typing.d.ts +10 -0
  265. package/lib/esm/webchat/hooks/use-typing.js +28 -0
  266. package/lib/esm/webchat/hooks/use-typing.js.map +1 -0
  267. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.d.ts +3 -0
  268. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js +24 -0
  269. package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js.map +1 -0
  270. package/lib/esm/webchat/hooks/use-webchat-dimensions.d.ts +4 -0
  271. package/lib/esm/webchat/hooks/use-webchat-dimensions.js +36 -0
  272. package/lib/esm/webchat/hooks/use-webchat-dimensions.js.map +1 -0
  273. package/lib/esm/webchat/hooks/use-webchat-resizer.d.ts +4 -0
  274. package/lib/esm/webchat/hooks/use-webchat-resizer.js +30 -0
  275. package/lib/esm/webchat/hooks/use-webchat-resizer.js.map +1 -0
  276. package/lib/esm/webchat/hooks/use-webchat.d.ts +47 -0
  277. package/lib/esm/webchat/hooks/use-webchat.js +189 -0
  278. package/lib/esm/webchat/hooks/use-webchat.js.map +1 -0
  279. package/lib/esm/webchat/index-types.d.ts +62 -0
  280. package/lib/esm/webchat/index-types.js +2 -0
  281. package/lib/esm/webchat/index-types.js.map +1 -0
  282. package/lib/esm/webchat/index.d.ts +4 -0
  283. package/lib/esm/webchat/index.js +10 -0
  284. package/lib/esm/webchat/index.js.map +1 -0
  285. package/lib/esm/webchat/input-panel/attachment.d.ts +7 -0
  286. package/lib/esm/webchat/input-panel/attachment.js +26 -0
  287. package/lib/esm/webchat/input-panel/attachment.js.map +1 -0
  288. package/lib/esm/webchat/input-panel/emoji-picker.d.ts +6 -0
  289. package/lib/esm/webchat/input-panel/emoji-picker.js +23 -0
  290. package/lib/esm/webchat/input-panel/emoji-picker.js.map +1 -0
  291. package/lib/esm/webchat/input-panel/index.d.ts +12 -0
  292. package/lib/esm/webchat/input-panel/index.js +50 -0
  293. package/lib/esm/webchat/input-panel/index.js.map +1 -0
  294. package/lib/esm/webchat/input-panel/opened-emoji-picker.d.ts +6 -0
  295. package/lib/esm/webchat/input-panel/opened-emoji-picker.js +10 -0
  296. package/lib/esm/webchat/input-panel/opened-emoji-picker.js.map +1 -0
  297. package/lib/esm/webchat/input-panel/persistent-menu.d.ts +6 -0
  298. package/lib/esm/webchat/input-panel/persistent-menu.js +14 -0
  299. package/lib/esm/webchat/input-panel/persistent-menu.js.map +1 -0
  300. package/lib/esm/webchat/input-panel/send-button.d.ts +5 -0
  301. package/lib/esm/webchat/input-panel/send-button.js +14 -0
  302. package/lib/esm/webchat/input-panel/send-button.js.map +1 -0
  303. package/lib/esm/webchat/input-panel/styles.d.ts +3 -0
  304. package/lib/esm/webchat/input-panel/styles.js +27 -0
  305. package/lib/esm/webchat/input-panel/styles.js.map +1 -0
  306. package/lib/esm/webchat/input-panel/textarea.d.ts +11 -0
  307. package/lib/esm/webchat/input-panel/textarea.js +56 -0
  308. package/lib/esm/webchat/input-panel/textarea.js.map +1 -0
  309. package/lib/esm/webchat/message-list/index.d.ts +1 -0
  310. package/lib/esm/webchat/message-list/index.js +107 -0
  311. package/lib/esm/webchat/message-list/index.js.map +1 -0
  312. package/lib/esm/webchat/message-list/intro-message.d.ts +1 -0
  313. package/lib/esm/webchat/message-list/intro-message.js +18 -0
  314. package/lib/esm/webchat/message-list/intro-message.js.map +1 -0
  315. package/lib/esm/webchat/message-list/scroll-button.d.ts +5 -0
  316. package/lib/esm/webchat/message-list/scroll-button.js +12 -0
  317. package/lib/esm/webchat/message-list/scroll-button.js.map +1 -0
  318. package/lib/esm/webchat/message-list/styles.d.ts +5 -0
  319. package/lib/esm/webchat/message-list/styles.js +56 -0
  320. package/lib/esm/webchat/message-list/styles.js.map +1 -0
  321. package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +6 -0
  322. package/lib/esm/webchat/message-list/unread-messages-banner.js +13 -0
  323. package/lib/esm/webchat/message-list/unread-messages-banner.js.map +1 -0
  324. package/lib/esm/webchat/message-list/use-debounce.d.ts +1 -0
  325. package/lib/esm/webchat/message-list/use-debounce.js +14 -0
  326. package/lib/esm/webchat/message-list/use-debounce.js.map +1 -0
  327. package/lib/esm/webchat/message-list/use-notifications.d.ts +7 -0
  328. package/lib/esm/webchat/message-list/use-notifications.js +20 -0
  329. package/lib/esm/webchat/message-list/use-notifications.js.map +1 -0
  330. package/lib/esm/webchat/messages-reducer.d.ts +6 -0
  331. package/lib/esm/webchat/messages-reducer.js +83 -0
  332. package/lib/esm/webchat/messages-reducer.js.map +1 -0
  333. package/lib/esm/webchat/replies.d.ts +1 -0
  334. package/lib/esm/webchat/replies.js +42 -0
  335. package/lib/esm/webchat/replies.js.map +1 -0
  336. package/lib/esm/webchat/session-view.d.ts +1 -0
  337. package/lib/esm/webchat/session-view.js +96 -0
  338. package/lib/esm/webchat/session-view.js.map +1 -0
  339. package/lib/esm/webchat/tracking.d.ts +7 -0
  340. package/lib/esm/webchat/tracking.js +10 -0
  341. package/lib/esm/webchat/tracking.js.map +1 -0
  342. package/lib/esm/webchat/trigger-button/index.d.ts +1 -0
  343. package/lib/esm/webchat/trigger-button/index.js +28 -0
  344. package/lib/esm/webchat/trigger-button/index.js.map +1 -0
  345. package/lib/esm/webchat/trigger-button/styles.d.ts +3 -0
  346. package/lib/esm/webchat/trigger-button/styles.js +36 -0
  347. package/lib/esm/webchat/trigger-button/styles.js.map +1 -0
  348. package/lib/esm/webchat/typing-indicator/index.d.ts +3 -0
  349. package/lib/esm/webchat/typing-indicator/index.js +8 -0
  350. package/lib/esm/webchat/typing-indicator/index.js.map +1 -0
  351. package/lib/esm/webchat/typing-indicator/styles.d.ts +7 -0
  352. package/lib/esm/webchat/typing-indicator/styles.js +46 -0
  353. package/lib/esm/webchat/typing-indicator/styles.js.map +1 -0
  354. package/lib/esm/webchat/use-storage-state-hook.d.ts +1 -0
  355. package/lib/esm/webchat/use-storage-state-hook.js +38 -0
  356. package/lib/esm/webchat/use-storage-state-hook.js.map +1 -0
  357. package/lib/esm/webchat/utils.d.ts +2 -0
  358. package/lib/esm/webchat/utils.js +8 -0
  359. package/lib/esm/webchat/utils.js.map +1 -0
  360. package/lib/esm/webchat/webchat-dev.d.ts +7 -0
  361. package/lib/esm/webchat/webchat-dev.js +56 -0
  362. package/lib/esm/webchat/webchat-dev.js.map +1 -0
  363. package/lib/esm/webchat/webchat-reducer.d.ts +6 -0
  364. package/lib/esm/webchat/webchat-reducer.js +46 -0
  365. package/lib/esm/webchat/webchat-reducer.js.map +1 -0
  366. package/lib/esm/webchat/webchat.d.ts +2 -0
  367. package/lib/esm/webchat/webchat.js +543 -0
  368. package/lib/esm/webchat/webchat.js.map +1 -0
  369. package/lib/esm/webchat/webview.d.ts +2 -0
  370. package/lib/esm/webchat/webview.js +70 -0
  371. package/lib/esm/webchat/webview.js.map +1 -0
  372. package/lib/esm/webchat-app.d.ts +102 -0
  373. package/lib/esm/webchat-app.js +299 -0
  374. package/lib/esm/webchat-app.js.map +1 -0
  375. package/lib/esm/webview-app.d.ts +7 -0
  376. package/lib/esm/webview-app.js +102 -0
  377. package/lib/esm/webview-app.js.map +1 -0
  378. package/package.json +2 -2
@@ -0,0 +1,187 @@
1
+ import BotonicLogo from './assets/botonic_react_logo100x100.png';
2
+ import UrlIcon from './assets/url-icon.png';
3
+ export const COLORS = {
4
+ // http://chir.ag/projects/name-that-color
5
+ APPLE_GREEN: 'rgba(58, 156, 53, 1)',
6
+ BLEACHED_CEDAR_PURPLE: 'rgba(46, 32, 59, 1)',
7
+ BOTONIC_BLUE: 'rgba(0, 153, 255, 1)',
8
+ CACTUS_GREEN: 'rgba(96, 115, 94, 1)',
9
+ CONCRETE_WHITE: 'rgba(243, 243, 243, 1)',
10
+ CURIOUS_BLUE: 'rgba(38, 139, 210, 1)',
11
+ DAINTREE_BLUE: 'rgba(0, 43, 53, 1)',
12
+ ERROR_RED: 'rgba(255, 43, 94)',
13
+ FRINGY_FLOWER_GREEN: 'rgba(198, 231, 192, 1)',
14
+ GRAY: 'rgba(129, 129, 129, 1)',
15
+ LIGHT_GRAY: 'rgba(209, 209, 209, 1)',
16
+ MID_GRAY: 'rgba(105, 105, 115, 1)',
17
+ PIGEON_POST_BLUE_ALPHA_0_5: 'rgba(176, 196, 222, 0.5)',
18
+ RED_NOTIFICATIONS: 'rgba(255, 66, 111, 1)',
19
+ SCORPION_GRAY: 'rgba(87, 87, 87, 1)',
20
+ SEASHELL_WHITE: 'rgba(241, 240, 240, 1)',
21
+ SILVER: 'rgba(200, 200, 200, 1)',
22
+ SOLID_BLACK_ALPHA_0_2: 'rgba(0, 0, 0, 0.2)',
23
+ SOLID_BLACK_ALPHA_0_5: 'rgba(0, 0, 0, 0.5)',
24
+ SOLID_BLACK: 'rgba(0, 0, 0, 1)',
25
+ SOLID_WHITE_ALPHA_0_2: 'rgba(255, 255, 255, 0.2)',
26
+ SOLID_WHITE_ALPHA_0_8: 'rgba(255, 255, 255, 0.8)',
27
+ SOLID_WHITE: 'rgba(255, 255, 255, 1)',
28
+ TASMAN_GRAY: 'rgba(209, 216, 207, 1)',
29
+ TRANSPARENT: 'rgba(0, 0, 0, 0)',
30
+ WILD_SAND_WHITE: 'rgba(244, 244, 244, 1)',
31
+ };
32
+ export const WEBCHAT = {
33
+ DEFAULTS: {
34
+ WIDTH: 300,
35
+ HEIGHT: 450,
36
+ TITLE: 'Botonic',
37
+ LOGO: BotonicLogo,
38
+ URL_ICON: UrlIcon,
39
+ PLACEHOLDER: 'Ask me something...',
40
+ FONT_FAMILY: "'Noto Sans JP', sans-serif",
41
+ BORDER_RADIUS_TOP_CORNERS: '6px 6px 0px 0px',
42
+ ELEMENT_WIDTH: 222,
43
+ ELEMENT_MARGIN_RIGHT: 6,
44
+ STORAGE_KEY: 'botonicState',
45
+ HOST_ID: 'root',
46
+ ID: 'botonic-webchat',
47
+ BUTTON_AUTO_DISABLE: false,
48
+ BUTTON_DISABLED_STYLE: {
49
+ opacity: 0.5,
50
+ cursor: 'auto',
51
+ pointerEvents: 'none',
52
+ },
53
+ },
54
+ CUSTOM_PROPERTIES: {
55
+ // General
56
+ enableAnimations: 'animations.enable',
57
+ markdownStyle: 'markdownStyle',
58
+ imagePreviewer: 'imagePreviewer',
59
+ // Mobile
60
+ mobileBreakpoint: 'mobileBreakpoint',
61
+ mobileStyle: 'mobileStyle',
62
+ // Webviews
63
+ webviewHeaderStyle: 'webview.header.style',
64
+ webviewStyle: 'webview.style',
65
+ // Brand
66
+ brandColor: 'brand.color',
67
+ brandImage: 'brand.image',
68
+ // Header
69
+ customHeader: 'header.custom',
70
+ headerImage: 'header.image',
71
+ headerStyle: 'header.style',
72
+ headerSubtitle: 'header.subtitle',
73
+ headerTitle: 'header.title',
74
+ // Bot Message
75
+ botMessageBackground: 'message.bot.style.background',
76
+ botMessageBlobTick: 'message.bot.blobTick',
77
+ botMessageBlobTickStyle: 'message.bot.blobTickStyle',
78
+ botMessageBlobWidth: 'message.bot.blobWidth',
79
+ botMessageBorderColor: 'message.bot.style.borderColor',
80
+ botMessageImage: 'message.bot.image',
81
+ botMessageImageStyle: 'message.bot.imageStyle',
82
+ botMessageStyle: 'message.bot.style',
83
+ // Agent Message
84
+ agentMessageImage: 'message.agent.image',
85
+ // User Message
86
+ customMessageTypes: 'message.customTypes',
87
+ messageStyle: 'message.style',
88
+ userMessageBackground: 'message.user.style.background',
89
+ userMessageBlobTick: 'message.user.blobTick',
90
+ userMessageBlobTickStyle: 'message.user.blobTickStyle',
91
+ userMessageBorderColor: 'message.user.style.borderColor',
92
+ userMessageStyle: 'message.user.style',
93
+ // Timestamps
94
+ enableMessageTimestamps: 'message.timestamps.enable',
95
+ messageTimestampsFormat: 'message.timestamps.format',
96
+ messageTimestampsStyle: 'message.timestamps.style',
97
+ messageTimestampsWithImage: 'message.timestamps.withImage',
98
+ // Intro
99
+ customIntro: 'intro.custom',
100
+ introImage: 'intro.image',
101
+ introStyle: 'intro.style',
102
+ // Buttons
103
+ buttonHoverBackground: 'button.hoverBackground',
104
+ buttonHoverTextColor: 'button.hoverTextColor',
105
+ buttonMessageType: 'button.messageType',
106
+ buttonStyle: 'button.style',
107
+ buttonDisabledStyle: 'button.disabledstyle',
108
+ buttonAutoDisable: 'button.autodisable',
109
+ buttonStyleBackground: 'button.style.background',
110
+ buttonStyleColor: 'button.style.color',
111
+ customButton: 'button.custom',
112
+ urlIconImage: 'button.urlIcon.image',
113
+ urlIconEnabled: 'button.urlIcon.enable',
114
+ // Replies
115
+ alignReplies: 'replies.align',
116
+ customReply: 'reply.custom',
117
+ replyStyle: 'reply.style',
118
+ wrapReplies: 'replies.wrap',
119
+ // TriggerButton
120
+ customTrigger: 'triggerButton.custom',
121
+ triggerButtonImage: 'triggerButton.image',
122
+ triggerButtonStyle: 'triggerButton.style',
123
+ // Notifications
124
+ notificationsEnabled: 'notifications.enable',
125
+ notificationsBannerEnabled: 'notifications.banner.enable',
126
+ notificationsBannerCustom: 'notifications.banner.custom',
127
+ notificationsBannerText: 'notifications.banner.text',
128
+ notificationsTriggerButtonEnabled: 'notifications.triggerButton.enable',
129
+ // Scroll Button
130
+ scrollButtonEnabled: 'scrollButton.enable',
131
+ scrollButtonCustom: 'scrollButton.custom',
132
+ // User Input
133
+ blockInputs: 'userInput.blockInputs',
134
+ documentDownload: 'documentDownload',
135
+ customMenuButton: 'userInput.menuButton.custom',
136
+ customPersistentMenu: 'userInput.menu.custom',
137
+ customEmojiPicker: 'userInput.emojiPicker.custom',
138
+ customAttachments: 'userInput.attachments.custom',
139
+ customSendButton: 'userInput.sendButton.custom',
140
+ darkBackgroundMenu: 'userInput.menu.darkBackground',
141
+ enableAttachments: 'userInput.attachments.enable',
142
+ enableEmojiPicker: 'userInput.emojiPicker.enable',
143
+ enableSendButton: 'userInput.sendButton.enable',
144
+ enableUserInput: 'userInput.enable',
145
+ persistentMenu: 'userInput.persistentMenu',
146
+ textPlaceholder: 'userInput.box.placeholder',
147
+ userInputBoxStyle: 'userInput.box.style',
148
+ userInputStyle: 'userInput.style',
149
+ // Cover Component
150
+ coverComponent: 'coverComponent.component',
151
+ coverComponentProps: 'coverComponent.props',
152
+ // Carousel
153
+ customCarouselLeftArrow: 'carousel.arrow.left',
154
+ customCarouselRightArrow: 'carousel.arrow.right',
155
+ enableCarouselArrows: 'carousel.enableArrows',
156
+ },
157
+ };
158
+ export const MIME_WHITELIST = {
159
+ audio: ['audio/mpeg', 'audio/mp3'],
160
+ document: ['application/pdf'],
161
+ image: ['image/jpeg', 'image/png'],
162
+ video: ['video/mp4', 'video/quicktime'],
163
+ };
164
+ export const MAX_ALLOWED_SIZE_MB = 10;
165
+ export const ROLES = {
166
+ ATTACHMENT_ICON: 'attachment-icon',
167
+ EMOJI_PICKER_ICON: 'emoji-picker-icon',
168
+ EMOJI_PICKER: 'emoji-picker',
169
+ HEADER: 'header',
170
+ MESSAGE_LIST: 'message-list',
171
+ PERSISTENT_MENU_ICON: 'persistent-menu-icon',
172
+ PERSISTENT_MENU: 'persistent-menu',
173
+ SEND_BUTTON_ICON: 'send-button-icon',
174
+ WEBCHAT: 'webchat',
175
+ TRIGGER_BUTTON: 'trigger-button',
176
+ TYPING_INDICATOR: 'typing-indicator',
177
+ TEXT_BOX: 'textbox',
178
+ WEBVIEW: 'webview',
179
+ WEBVIEW_HEADER: 'webview-header',
180
+ MESSAGE: 'message',
181
+ IMAGE_MESSAGE: 'image-message',
182
+ AUDIO_MESSAGE: 'audio-message',
183
+ VIDEO_MESSAGE: 'video-message',
184
+ DOCUMENT_MESSAGE: 'document-message',
185
+ RAW_MESSAGE: 'raw-message',
186
+ };
187
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import { Session as CoreSession } from '@botonic/core';
3
+ import { ActionRequest, WebchatContextProps } from './index-types';
4
+ export declare const RequestContext: import("react").Context<Partial<ActionRequest> & {
5
+ getString: () => string;
6
+ setLocale: () => void;
7
+ }>;
8
+ export interface CloseWebviewOptions {
9
+ payload?: string;
10
+ path?: string;
11
+ params?: Record<string, any>;
12
+ }
13
+ export declare const WebviewRequestContext: import("react").Context<{
14
+ closeWebview: (options?: CloseWebviewOptions) => Promise<void>;
15
+ getString: (stringId: string) => string;
16
+ params: Record<string, any>;
17
+ session: CoreSession;
18
+ }>;
19
+ export declare const WebchatContext: import("react").Context<WebchatContextProps>;
@@ -0,0 +1,95 @@
1
+ import { __awaiter } from "tslib";
2
+ import { createContext } from 'react';
3
+ import { webchatInitialState } from './webchat/hooks';
4
+ export const RequestContext = createContext({
5
+ getString: () => '',
6
+ setLocale: () => undefined,
7
+ session: {},
8
+ params: {},
9
+ input: {},
10
+ defaultDelay: 0,
11
+ defaultTyping: 0,
12
+ });
13
+ export const WebviewRequestContext = createContext({
14
+ closeWebview: () => __awaiter(void 0, void 0, void 0, function* () { return undefined; }),
15
+ getString: () => '',
16
+ params: {},
17
+ session: {},
18
+ });
19
+ export const WebchatContext = createContext({
20
+ addMessage: () => {
21
+ return;
22
+ },
23
+ closeWebview: () => __awaiter(void 0, void 0, void 0, function* () {
24
+ return;
25
+ }),
26
+ getThemeProperty: () => {
27
+ return;
28
+ },
29
+ openWebview: () => {
30
+ return;
31
+ },
32
+ resolveCase: () => {
33
+ return;
34
+ },
35
+ resetUnreadMessages: () => {
36
+ return;
37
+ },
38
+ setIsInputFocused: () => {
39
+ return;
40
+ },
41
+ setLastMessageVisible: () => {
42
+ return;
43
+ },
44
+ sendAttachment: () => __awaiter(void 0, void 0, void 0, function* () {
45
+ return;
46
+ }),
47
+ sendInput: () => __awaiter(void 0, void 0, void 0, function* () {
48
+ return;
49
+ }),
50
+ sendPayload: () => __awaiter(void 0, void 0, void 0, function* () {
51
+ return;
52
+ }),
53
+ sendText: () => __awaiter(void 0, void 0, void 0, function* () {
54
+ return;
55
+ }),
56
+ theme: {},
57
+ toggleCoverComponent: () => {
58
+ return;
59
+ },
60
+ toggleWebchat: () => {
61
+ return;
62
+ },
63
+ toggleEmojiPicker: () => {
64
+ return;
65
+ },
66
+ togglePersistentMenu: () => {
67
+ return;
68
+ },
69
+ updateLatestInput: () => {
70
+ return;
71
+ },
72
+ updateMessage: () => {
73
+ return;
74
+ },
75
+ updateReplies: () => {
76
+ return;
77
+ },
78
+ updateUser: () => {
79
+ return;
80
+ },
81
+ updateWebchatDevSettings: () => {
82
+ return;
83
+ },
84
+ webchatState: webchatInitialState,
85
+ trackEvent: () => __awaiter(void 0, void 0, void 0, function* () {
86
+ return;
87
+ }),
88
+ webchatRef: { current: null },
89
+ chatAreaRef: { current: null },
90
+ inputPanelRef: { current: null },
91
+ headerRef: { current: null },
92
+ scrollableMessagesListRef: { current: null },
93
+ repliesRef: { current: null },
94
+ });
95
+ //# sourceMappingURL=contexts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../src/contexts.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAGrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAKzC;IACA,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;IACnB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;IAC1B,OAAO,EAAE,EAAiB;IAC1B,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAe;IACtB,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;CACjB,CAAC,CAAA;AAQF,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAK/C;IACD,YAAY,EAAE,GAAS,EAAE,kDAAC,OAAA,SAAS,CAAA,GAAA;IACnC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;IACnB,MAAM,EAAE,EAAyB;IACjC,OAAO,EAAE,EAAiB;CAC3B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAsB;IAC/D,UAAU,EAAE,GAAG,EAAE;QACf,OAAM;IACR,CAAC;IACD,YAAY,EAAE,GAAS,EAAE;QACvB,OAAM;IACR,CAAC,CAAA;IACD,gBAAgB,EAAE,GAAG,EAAE;QACrB,OAAM;IACR,CAAC;IACD,WAAW,EAAE,GAAG,EAAE;QAChB,OAAM;IACR,CAAC;IACD,WAAW,EAAE,GAAG,EAAE;QAChB,OAAM;IACR,CAAC;IACD,mBAAmB,EAAE,GAAG,EAAE;QACxB,OAAM;IACR,CAAC;IACD,iBAAiB,EAAE,GAAG,EAAE;QACtB,OAAM;IACR,CAAC;IACD,qBAAqB,EAAE,GAAG,EAAE;QAC1B,OAAM;IACR,CAAC;IACD,cAAc,EAAE,GAAS,EAAE;QACzB,OAAM;IACR,CAAC,CAAA;IACD,SAAS,EAAE,GAAS,EAAE;QACpB,OAAM;IACR,CAAC,CAAA;IACD,WAAW,EAAE,GAAS,EAAE;QACtB,OAAM;IACR,CAAC,CAAA;IACD,QAAQ,EAAE,GAAS,EAAE;QACnB,OAAM;IACR,CAAC,CAAA;IACD,KAAK,EAAE,EAAE;IACT,oBAAoB,EAAE,GAAG,EAAE;QACzB,OAAM;IACR,CAAC;IACD,aAAa,EAAE,GAAG,EAAE;QAClB,OAAM;IACR,CAAC;IACD,iBAAiB,EAAE,GAAG,EAAE;QACtB,OAAM;IACR,CAAC;IACD,oBAAoB,EAAE,GAAG,EAAE;QACzB,OAAM;IACR,CAAC;IACD,iBAAiB,EAAE,GAAG,EAAE;QACtB,OAAM;IACR,CAAC;IACD,aAAa,EAAE,GAAG,EAAE;QAClB,OAAM;IACR,CAAC;IACD,aAAa,EAAE,GAAG,EAAE;QAClB,OAAM;IACR,CAAC;IACD,UAAU,EAAE,GAAG,EAAE;QACf,OAAM;IACR,CAAC;IACD,wBAAwB,EAAE,GAAG,EAAE;QAC7B,OAAM;IACR,CAAC;IACD,YAAY,EAAE,mBAAmB;IACjC,UAAU,EAAE,GAAS,EAAE;QACrB,OAAM;IACR,CAAC,CAAA;IACD,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAC7B,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAC9B,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAChC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAC5B,yBAAyB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAC5C,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;CAC9B,CAAC,CAAA"}
@@ -0,0 +1,31 @@
1
+ export class DevApp extends WebchatApp {
2
+ constructor({ theme, persistentMenu, coverComponent, blockInputs, enableEmojiPicker, enableAttachments, enableUserInput, enableAnimations, shadowDOM, hostId, storage, storageKey, onInit, onOpen, onClose, onMessage, onTrackEvent, ...botOptions }: {
3
+ [x: string]: any;
4
+ theme?: {} | undefined;
5
+ persistentMenu: any;
6
+ coverComponent: any;
7
+ blockInputs: any;
8
+ enableEmojiPicker: any;
9
+ enableAttachments: any;
10
+ enableUserInput: any;
11
+ enableAnimations: any;
12
+ shadowDOM: any;
13
+ hostId: any;
14
+ storage: any;
15
+ storageKey: any;
16
+ onInit: any;
17
+ onOpen: any;
18
+ onClose: any;
19
+ onMessage: any;
20
+ onTrackEvent: any;
21
+ });
22
+ bot: ReactBot;
23
+ render(dest: any, optionsAtRuntime?: {}): void;
24
+ onUserInput({ input, session, lastRoutePath }: {
25
+ input: any;
26
+ session: any;
27
+ lastRoutePath: any;
28
+ }): Promise<void>;
29
+ }
30
+ import { WebchatApp } from "./webchat-app";
31
+ import { ReactBot } from "./react-bot";
@@ -0,0 +1,78 @@
1
+ import { __awaiter, __rest } from "tslib";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import merge from 'lodash.merge';
4
+ import React from 'react';
5
+ import { render } from 'react-dom';
6
+ import { SENDERS } from './index-types';
7
+ import { ReactBot } from './react-bot';
8
+ import { onDOMLoaded } from './util/dom';
9
+ import { WebchatDev } from './webchat/webchat-dev';
10
+ import { WebchatApp } from './webchat-app';
11
+ export class DevApp extends WebchatApp {
12
+ constructor(_a) {
13
+ var { theme = {}, persistentMenu, coverComponent, blockInputs, enableEmojiPicker, enableAttachments, enableUserInput, enableAnimations, shadowDOM, hostId, storage, storageKey, onInit, onOpen, onClose, onMessage, onTrackEvent } = _a, botOptions = __rest(_a, ["theme", "persistentMenu", "coverComponent", "blockInputs", "enableEmojiPicker", "enableAttachments", "enableUserInput", "enableAnimations", "shadowDOM", "hostId", "storage", "storageKey", "onInit", "onOpen", "onClose", "onMessage", "onTrackEvent"]);
14
+ super({
15
+ theme,
16
+ persistentMenu,
17
+ coverComponent,
18
+ blockInputs,
19
+ enableEmojiPicker,
20
+ enableAttachments,
21
+ enableUserInput,
22
+ enableAnimations,
23
+ shadowDOM,
24
+ hostId,
25
+ storage,
26
+ storageKey,
27
+ onInit,
28
+ onOpen,
29
+ onClose,
30
+ onMessage,
31
+ onTrackEvent,
32
+ });
33
+ this.bot = new ReactBot(Object.assign({}, botOptions));
34
+ }
35
+ getComponent(host, optionsAtRuntime = {}) {
36
+ let { theme = {}, persistentMenu, coverComponent, blockInputs, enableEmojiPicker, enableAttachments, enableUserInput, enableAnimations, storage, storageKey, onInit, onOpen, onClose, onMessage, onTrackEvent, hostId } = optionsAtRuntime, webchatOptions = __rest(optionsAtRuntime, ["theme", "persistentMenu", "coverComponent", "blockInputs", "enableEmojiPicker", "enableAttachments", "enableUserInput", "enableAnimations", "storage", "storageKey", "onInit", "onOpen", "onClose", "onMessage", "onTrackEvent", "hostId"]);
37
+ theme = merge(this.theme, theme);
38
+ persistentMenu = persistentMenu || this.persistentMenu;
39
+ coverComponent = coverComponent || this.coverComponent;
40
+ blockInputs = blockInputs || this.blockInputs;
41
+ enableEmojiPicker = enableEmojiPicker || this.enableEmojiPicker;
42
+ enableAttachments = enableAttachments || this.enableAttachments;
43
+ enableUserInput = enableUserInput || this.enableUserInput;
44
+ enableAnimations = enableAnimations || this.enableAnimations;
45
+ storage = storage || this.storage;
46
+ storageKey = storageKey || this.storageKey;
47
+ this.onInit = onInit || this.onInit;
48
+ this.onOpen = onOpen || this.onOpen;
49
+ this.onClose = onClose || this.onClose;
50
+ this.onMessage = onMessage || this.onMessage;
51
+ this.onTrackEvent = onTrackEvent || this.onTrackEvent;
52
+ this.hostId = hostId || this.hostId;
53
+ this.createRootElement(host);
54
+ return (_jsx(WebchatDev, Object.assign({}, webchatOptions, { ref: this.webchatRef, host: this.host, shadowDOM: this.shadowDOM, theme: theme, persistentMenu: persistentMenu, coverComponent: coverComponent, blockInputs: blockInputs, enableEmojiPicker: enableEmojiPicker, enableAttachments: enableAttachments, enableUserInput: enableUserInput, enableAnimations: enableAnimations, storage: storage, storageKey: storageKey, getString: (stringId, session) => this.bot.getString(stringId, session), setLocale: (locale, session) => this.bot.setLocale(locale, session), onInit: (...args) => this.onInitWebchat(...args), onOpen: (...args) => this.onOpenWebchat(...args), onClose: (...args) => this.onCloseWebchat(...args), onUserInput: (...args) => this.onUserInput(...args), onTrackEvent: (...args) => this.onTrackEvent(...args) })));
55
+ }
56
+ render(dest, optionsAtRuntime = {}) {
57
+ onDOMLoaded(() => {
58
+ render(this.getComponent(dest, optionsAtRuntime), this.getReactMountNode(dest));
59
+ });
60
+ }
61
+ onUserInput({ input, session, lastRoutePath }) {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ this.onMessage &&
64
+ this.onMessage(this, {
65
+ sentBy: SENDERS.user,
66
+ message: input,
67
+ });
68
+ const resp = yield this.bot.input({ input, session, lastRoutePath });
69
+ this.onMessage &&
70
+ resp.response.map(r => this.onMessage(this, {
71
+ sentBy: SENDERS.bot,
72
+ message: r,
73
+ }));
74
+ this.webchatRef.current.addBotResponse(resp);
75
+ });
76
+ }
77
+ }
78
+ //# sourceMappingURL=dev-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-app.js","sourceRoot":"","sources":["../../src/dev-app.jsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ import { BotRequest as CoreBotRequest, Input as CoreInput, InputType as CoreInputType, Plugin as CorePlugin, Route as CoreRoute, Routes as CoreRoutes, Session as CoreSession, SessionUser as CoreSessionUser } from '@botonic/core';
2
+ import React from 'react';
3
+ import { BlockInputOption, ButtonProps, CoverComponentOptions, PersistentMenuTheme, ReplyProps, ThemeProps, WebchatSettingsProps, Webview } from './components/index-types';
4
+ import { WebchatState } from './webchat/index-types';
5
+ import { WebchatApp } from './webchat-app';
6
+ /**
7
+ * See @botonic/core's Response for the description of the Response's semantics*/
8
+ export interface BotResponse extends CoreBotRequest {
9
+ response: [React.ReactNode];
10
+ }
11
+ export interface Route extends CoreRoute {
12
+ action?: React.ComponentType<any>;
13
+ retryAction?: React.ComponentType<any>;
14
+ }
15
+ export type Routes = CoreRoutes<Route>;
16
+ export interface ActionRequest {
17
+ defaultDelay: number;
18
+ defaultTyping: number;
19
+ input: CoreInput;
20
+ lastRoutePath: string;
21
+ params: {
22
+ [key: string]: string;
23
+ };
24
+ plugins: {
25
+ [id: string]: CorePlugin;
26
+ };
27
+ session: CoreSession;
28
+ }
29
+ export interface RequestContextInterface extends ActionRequest {
30
+ getString: (stringId: string) => string;
31
+ setLocale: (locale: string) => string;
32
+ }
33
+ export interface CustomMessageType {
34
+ customTypeName: string;
35
+ }
36
+ export interface WebchatArgs {
37
+ blockInputs?: BlockInputOption[];
38
+ coverComponent?: CoverComponentOptions;
39
+ defaultDelay?: number;
40
+ defaultTyping?: number;
41
+ enableAnimations?: boolean;
42
+ enableAttachments?: boolean;
43
+ enableEmojiPicker?: boolean;
44
+ enableUserInput?: boolean;
45
+ shadowDOM?: boolean | (() => boolean);
46
+ hostId?: string;
47
+ getString?: (stringId: string, session: CoreSession) => string;
48
+ onClose?: (app: WebchatApp, args: any) => void;
49
+ onInit?: (app: WebchatApp, args: any) => void;
50
+ onMessage?: (app: WebchatApp, message: WebchatMessage) => void;
51
+ onOpen?: (app: WebchatApp, args: any) => void;
52
+ onConnectionChange?: (app: WebchatApp, isOnline: boolean) => void;
53
+ onTrackEvent?: TrackEventFunction;
54
+ persistentMenu?: PersistentMenuTheme;
55
+ storage?: Storage | null;
56
+ storageKey?: any;
57
+ theme?: ThemeProps;
58
+ }
59
+ type EventArgs = {
60
+ [key: string]: any;
61
+ };
62
+ type TrackEventFunction = (request: ActionRequest, eventName: string, args?: EventArgs) => Promise<void>;
63
+ export interface WebchatAppArgs {
64
+ appId?: string;
65
+ visibility?: () => boolean;
66
+ }
67
+ export declare enum SENDERS {
68
+ bot = "bot",
69
+ user = "user",
70
+ agent = "agent"
71
+ }
72
+ export declare enum Typing {
73
+ On = "typing_on",
74
+ Off = "typing_off"
75
+ }
76
+ export interface WebchatMessage {
77
+ ack: 0 | 1;
78
+ blob: boolean;
79
+ buttons: ButtonProps[];
80
+ children: any;
81
+ data: any;
82
+ delay: number;
83
+ display: boolean;
84
+ enabletimestamps: boolean;
85
+ id: string;
86
+ imagestyle: any;
87
+ isUnread: boolean;
88
+ json: any;
89
+ markdown: boolean;
90
+ replies: ReplyProps[];
91
+ sentBy: SENDERS;
92
+ style: any;
93
+ timestamp: string;
94
+ type: CoreInputType;
95
+ typing: number;
96
+ }
97
+ export interface OnUserInputArgs {
98
+ input: CoreInput;
99
+ lastRoutePath?: string;
100
+ session?: CoreSession;
101
+ user: CoreSessionUser;
102
+ }
103
+ export interface OnStateChangeArgs {
104
+ messagesJSON: WebchatMessage[];
105
+ user: CoreSessionUser;
106
+ }
107
+ export interface MessageInfo {
108
+ data: any | Typing.On;
109
+ id: string;
110
+ type: 'update_webchat_settings' | 'sender_action';
111
+ }
112
+ export interface Event {
113
+ action?: 'update_message_info';
114
+ isError?: boolean;
115
+ message?: MessageInfo;
116
+ }
117
+ export type ClientInput = Omit<CoreInput, 'message_id' | 'bot_interaction_id'>;
118
+ export interface WebchatContextProps {
119
+ addMessage: (message: WebchatMessage) => void;
120
+ closeWebview: () => Promise<void>;
121
+ getThemeProperty: (property: string, defaultValue?: any) => any;
122
+ openWebview: (webviewComponent: Webview, params?: any) => void;
123
+ resetUnreadMessages: () => void;
124
+ resolveCase: () => void;
125
+ sendAttachment: (attachment: File) => Promise<void>;
126
+ sendInput: (input: ClientInput) => Promise<void>;
127
+ sendPayload: (payload: string) => Promise<void>;
128
+ sendText: (text: string, payload?: string) => Promise<void>;
129
+ setIsInputFocused: (isInputFocused: boolean) => void;
130
+ setLastMessageVisible: (isLastMessageVisible: boolean) => void;
131
+ theme: ThemeProps;
132
+ toggleWebchat: (toggle: boolean) => void;
133
+ toggleEmojiPicker: (toggle: boolean) => void;
134
+ togglePersistentMenu: (toggle: boolean) => void;
135
+ toggleCoverComponent: (toggle: boolean) => void;
136
+ updateLatestInput: (input: ClientInput) => void;
137
+ updateMessage: (message: WebchatMessage) => void;
138
+ updateReplies: (replies: boolean) => void;
139
+ updateUser: (user: Partial<CoreSessionUser>) => void;
140
+ updateWebchatDevSettings: (settings: WebchatSettingsProps) => void;
141
+ webchatState: WebchatState;
142
+ trackEvent: TrackEventFunction;
143
+ webchatRef: React.MutableRefObject<HTMLDivElement | null>;
144
+ chatAreaRef: React.MutableRefObject<HTMLDivElement | null>;
145
+ inputPanelRef: React.MutableRefObject<HTMLDivElement | null>;
146
+ headerRef: React.MutableRefObject<HTMLDivElement | null>;
147
+ scrollableMessagesListRef: React.MutableRefObject<HTMLDivElement | null>;
148
+ repliesRef: React.MutableRefObject<HTMLDivElement | null>;
149
+ }
150
+ export {};
@@ -0,0 +1,12 @@
1
+ export var SENDERS;
2
+ (function (SENDERS) {
3
+ SENDERS["bot"] = "bot";
4
+ SENDERS["user"] = "user";
5
+ SENDERS["agent"] = "agent";
6
+ })(SENDERS || (SENDERS = {}));
7
+ export var Typing;
8
+ (function (Typing) {
9
+ Typing["On"] = "typing_on";
10
+ Typing["Off"] = "typing_off";
11
+ })(Typing || (Typing = {}));
12
+ //# sourceMappingURL=index-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-types.js","sourceRoot":"","sources":["../../src/index-types.ts"],"names":[],"mappings":"AA6FA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,sBAAW,CAAA;IACX,wBAAa,CAAA;IACb,0BAAe,CAAA;AACjB,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,MAAM,CAAN,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,0BAAgB,CAAA;IAChB,4BAAkB,CAAA;AACpB,CAAC,EAHW,MAAM,KAAN,MAAM,QAGjB"}
@@ -0,0 +1,11 @@
1
+ export { BotonicInputTester, BotonicOutputTester } from './botonic-tester';
2
+ export * from './components';
3
+ export { RequestContext, WebchatContext, WebviewRequestContext, } from './contexts';
4
+ export { DevApp } from './dev-app';
5
+ export * from './index-types';
6
+ export { msgsToBotonic, msgToBotonic } from './msg-to-botonic';
7
+ export { NodeApp } from './node-app';
8
+ export * from './util';
9
+ export * from './webchat';
10
+ export { WebchatApp } from './webchat-app';
11
+ export { WebviewApp } from './webview-app';
@@ -0,0 +1,12 @@
1
+ export { BotonicInputTester, BotonicOutputTester } from './botonic-tester';
2
+ export * from './components';
3
+ export { RequestContext, WebchatContext, WebviewRequestContext, } from './contexts';
4
+ export { DevApp } from './dev-app';
5
+ export * from './index-types';
6
+ export { msgsToBotonic, msgToBotonic } from './msg-to-botonic';
7
+ export { NodeApp } from './node-app';
8
+ export * from './util';
9
+ export * from './webchat';
10
+ export { WebchatApp } from './webchat-app';
11
+ export { WebviewApp } from './webview-app';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC1E,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,cAAc,EACd,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,19 @@
1
+ export function isOfType(msgType: any, type: any): boolean;
2
+ export function isText(msg: any): boolean;
3
+ export function isPostback(msg: any): boolean;
4
+ export function isAudio(msg: any): boolean;
5
+ export function isImage(msg: any): boolean;
6
+ export function isVideo(msg: any): boolean;
7
+ export function isDocument(msg: any): boolean;
8
+ export function isLocation(msg: any): boolean;
9
+ export function isContact(msg: any): boolean;
10
+ export function isCarousel(msg: any): boolean;
11
+ export function isCustom(msg: any): boolean;
12
+ export function isButtonMessage(msg: any): boolean;
13
+ export const INPUT_MEDIA_TYPES: INPUT[];
14
+ export function isMedia(message: any): boolean;
15
+ export function readDataURL(file: any): Promise<any>;
16
+ export function isAllowedSize(fileSize: any): boolean;
17
+ export function getMediaType(fileType: any): string;
18
+ export function getFullMimeWhitelist(): string[];
19
+ import { INPUT } from "@botonic/core/lib/cjs/models/legacy-types";