@botonic/react 0.21.7-alpha.0 → 0.22.0-alpha.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 (440) hide show
  1. package/lib/cjs/app.js.map +1 -1
  2. package/lib/cjs/assets/attachment-icon.svg +7 -0
  3. package/lib/cjs/assets/audio.svg +4 -0
  4. package/lib/cjs/assets/botonic_react_logo100x100.png +0 -0
  5. package/lib/cjs/assets/document.svg +3 -0
  6. package/lib/cjs/assets/emojiButton.svg +6 -0
  7. package/lib/cjs/assets/image.svg +4 -0
  8. package/lib/cjs/assets/leftArrow.svg +3 -0
  9. package/lib/cjs/assets/menuButton.svg +3 -0
  10. package/lib/cjs/assets/rightArrow.svg +3 -0
  11. package/lib/cjs/assets/send-button.svg +1 -0
  12. package/lib/cjs/assets/video.svg +3 -0
  13. package/lib/cjs/botonic-tester.d.ts +3 -3
  14. package/lib/cjs/botonic-tester.js +6 -6
  15. package/lib/cjs/botonic-tester.js.map +1 -1
  16. package/lib/cjs/components/audio.js +2 -2
  17. package/lib/cjs/components/audio.js.map +1 -1
  18. package/lib/cjs/components/button.js +4 -4
  19. package/lib/cjs/components/button.js.map +1 -1
  20. package/lib/cjs/components/buttons-disabler.d.ts +1 -1
  21. package/lib/cjs/components/buttons-disabler.js +4 -4
  22. package/lib/cjs/components/buttons-disabler.js.map +1 -1
  23. package/lib/cjs/components/carousel.d.ts +3 -2
  24. package/lib/cjs/components/carousel.js +8 -8
  25. package/lib/cjs/components/carousel.js.map +1 -1
  26. package/lib/cjs/components/components.d.ts +1 -1
  27. package/lib/cjs/components/components.js.map +1 -1
  28. package/lib/cjs/components/custom-message.d.ts +34 -1
  29. package/lib/cjs/components/custom-message.js +3 -3
  30. package/lib/cjs/components/custom-message.js.map +1 -1
  31. package/lib/cjs/components/document.js +3 -3
  32. package/lib/cjs/components/document.js.map +1 -1
  33. package/lib/cjs/components/element.js +1 -1
  34. package/lib/cjs/components/element.js.map +1 -1
  35. package/lib/cjs/components/handoff.js +2 -2
  36. package/lib/cjs/components/handoff.js.map +1 -1
  37. package/lib/cjs/components/image.js +4 -4
  38. package/lib/cjs/components/image.js.map +1 -1
  39. package/lib/cjs/components/index.d.ts +19 -0
  40. package/lib/cjs/components/index.js.map +1 -1
  41. package/lib/cjs/components/location.js +1 -1
  42. package/lib/cjs/components/location.js.map +1 -1
  43. package/lib/cjs/components/markdown.js +2 -2
  44. package/lib/cjs/components/markdown.js.map +1 -1
  45. package/lib/cjs/components/message-template.js +1 -1
  46. package/lib/cjs/components/message-template.js.map +1 -1
  47. package/lib/cjs/components/message.js +14 -14
  48. package/lib/cjs/components/message.js.map +1 -1
  49. package/lib/cjs/components/multichannel/facebook/facebook.js.map +1 -1
  50. package/lib/cjs/components/multichannel/index.d.ts +5 -0
  51. package/lib/cjs/components/multichannel/index.js.map +1 -1
  52. package/lib/cjs/components/multichannel/multichannel-button.js +3 -3
  53. package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -1
  54. package/lib/cjs/components/multichannel/multichannel-carousel.js +7 -7
  55. package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -1
  56. package/lib/cjs/components/multichannel/multichannel-context.js.map +1 -1
  57. package/lib/cjs/components/multichannel/multichannel-reply.js +2 -2
  58. package/lib/cjs/components/multichannel/multichannel-reply.js.map +1 -1
  59. package/lib/cjs/components/multichannel/multichannel-text.js +9 -9
  60. package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -1
  61. package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -1
  62. package/lib/cjs/components/multichannel/multichannel.js +5 -5
  63. package/lib/cjs/components/multichannel/multichannel.js.map +1 -1
  64. package/lib/cjs/components/pic.js +2 -2
  65. package/lib/cjs/components/pic.js.map +1 -1
  66. package/lib/cjs/components/raw.js +2 -2
  67. package/lib/cjs/components/raw.js.map +1 -1
  68. package/lib/cjs/components/reply.js +2 -2
  69. package/lib/cjs/components/reply.js.map +1 -1
  70. package/lib/cjs/components/share-button.js +1 -1
  71. package/lib/cjs/components/share-button.js.map +1 -1
  72. package/lib/cjs/components/subtitle.js +1 -1
  73. package/lib/cjs/components/subtitle.js.map +1 -1
  74. package/lib/cjs/components/text.d.ts +1 -1
  75. package/lib/cjs/components/text.js +3 -3
  76. package/lib/cjs/components/text.js.map +1 -1
  77. package/lib/cjs/components/timestamps.js.map +1 -1
  78. package/lib/cjs/components/title.js +1 -1
  79. package/lib/cjs/components/title.js.map +1 -1
  80. package/lib/cjs/components/video.js +2 -2
  81. package/lib/cjs/components/video.js.map +1 -1
  82. package/lib/cjs/components/webchat-settings.js +4 -4
  83. package/lib/cjs/components/webchat-settings.js.map +1 -1
  84. package/lib/cjs/components/whatsapp-template.js +1 -1
  85. package/lib/cjs/components/whatsapp-template.js.map +1 -1
  86. package/lib/cjs/constants.js.map +1 -1
  87. package/lib/cjs/contexts.js.map +1 -1
  88. package/lib/cjs/dev-app.d.ts +4 -8
  89. package/lib/cjs/dev-app.js +3 -3
  90. package/lib/cjs/dev-app.js.map +1 -1
  91. package/lib/cjs/index.d.ts +7 -0
  92. package/lib/cjs/index.js +2 -2
  93. package/lib/cjs/index.js.map +1 -1
  94. package/lib/cjs/message-utils.d.ts +2 -1
  95. package/lib/cjs/message-utils.js +12 -12
  96. package/lib/cjs/message-utils.js.map +1 -1
  97. package/lib/cjs/msg-to-botonic.js +10 -10
  98. package/lib/cjs/msg-to-botonic.js.map +1 -1
  99. package/lib/cjs/node-app.d.ts +6 -5
  100. package/lib/cjs/node-app.js +1 -1
  101. package/lib/cjs/node-app.js.map +1 -1
  102. package/lib/cjs/react-bot.js.map +1 -1
  103. package/lib/cjs/util/dom.js +3 -3
  104. package/lib/cjs/util/dom.js.map +1 -1
  105. package/lib/cjs/util/environment.js +3 -3
  106. package/lib/cjs/util/environment.js.map +1 -1
  107. package/lib/cjs/util/error-boundary.d.ts +40 -0
  108. package/lib/cjs/util/error-boundary.js +1 -2
  109. package/lib/cjs/util/error-boundary.js.map +1 -1
  110. package/lib/cjs/util/index.js.map +1 -1
  111. package/lib/cjs/util/logs.d.ts +1 -1
  112. package/lib/cjs/util/logs.js +1 -1
  113. package/lib/cjs/util/logs.js.map +1 -1
  114. package/lib/cjs/util/objects.js.map +1 -1
  115. package/lib/cjs/util/react.js +8 -8
  116. package/lib/cjs/util/react.js.map +1 -1
  117. package/lib/cjs/util/regexs.js.map +1 -1
  118. package/lib/cjs/util/webchat.d.ts +1 -1
  119. package/lib/cjs/util/webchat.js +4 -4
  120. package/lib/cjs/util/webchat.js.map +1 -1
  121. package/lib/cjs/webchat/actions.js.map +1 -1
  122. package/lib/cjs/webchat/components/attachment.js +1 -1
  123. package/lib/cjs/webchat/components/attachment.js.map +1 -1
  124. package/lib/cjs/webchat/components/common.js +1 -1
  125. package/lib/cjs/webchat/components/common.js.map +1 -1
  126. package/lib/cjs/webchat/components/conditional-animation.js +1 -1
  127. package/lib/cjs/webchat/components/conditional-animation.js.map +1 -1
  128. package/lib/cjs/webchat/components/emoji-picker.js +2 -2
  129. package/lib/cjs/webchat/components/emoji-picker.js.map +1 -1
  130. package/lib/cjs/webchat/components/persistent-menu.js +3 -3
  131. package/lib/cjs/webchat/components/persistent-menu.js.map +1 -1
  132. package/lib/cjs/webchat/components/send-button.js +1 -1
  133. package/lib/cjs/webchat/components/send-button.js.map +1 -1
  134. package/lib/cjs/webchat/components/styled-scrollbar.js +2 -2
  135. package/lib/cjs/webchat/components/styled-scrollbar.js.map +1 -1
  136. package/lib/cjs/webchat/components/styled-scrollbar.scss +12 -0
  137. package/lib/cjs/webchat/components/typing-indicator.js.map +1 -1
  138. package/lib/cjs/webchat/components/typing-indicator.scss +38 -0
  139. package/lib/cjs/webchat/devices/device-adapter.js +1 -1
  140. package/lib/cjs/webchat/devices/device-adapter.js.map +1 -1
  141. package/lib/cjs/webchat/devices/index.js +1 -1
  142. package/lib/cjs/webchat/devices/index.js.map +1 -1
  143. package/lib/cjs/webchat/devices/scrollbar-controller.js +5 -5
  144. package/lib/cjs/webchat/devices/scrollbar-controller.js.map +1 -1
  145. package/lib/cjs/webchat/devices/webchat-resizer.js +2 -2
  146. package/lib/cjs/webchat/devices/webchat-resizer.js.map +1 -1
  147. package/lib/cjs/webchat/header.js +3 -3
  148. package/lib/cjs/webchat/header.js.map +1 -1
  149. package/lib/cjs/webchat/hooks.d.ts +1 -1
  150. package/lib/cjs/webchat/hooks.js +9 -9
  151. package/lib/cjs/webchat/hooks.js.map +1 -1
  152. package/lib/cjs/webchat/index.d.ts +3 -1
  153. package/lib/cjs/webchat/index.js.map +1 -1
  154. package/lib/cjs/webchat/message-list.js +2 -2
  155. package/lib/cjs/webchat/message-list.js.map +1 -1
  156. package/lib/cjs/webchat/messages-reducer.js.map +1 -1
  157. package/lib/cjs/webchat/replies.js +1 -1
  158. package/lib/cjs/webchat/replies.js.map +1 -1
  159. package/lib/cjs/webchat/session-view.js +1 -1
  160. package/lib/cjs/webchat/session-view.js.map +1 -1
  161. package/lib/cjs/webchat/use-storage-state-hook.js +3 -3
  162. package/lib/cjs/webchat/use-storage-state-hook.js.map +1 -1
  163. package/lib/cjs/webchat/webchat-dev.js +5 -5
  164. package/lib/cjs/webchat/webchat-dev.js.map +1 -1
  165. package/lib/cjs/webchat/webchat-reducer.js +1 -1
  166. package/lib/cjs/webchat/webchat-reducer.js.map +1 -1
  167. package/lib/cjs/webchat/webchat.js +63 -62
  168. package/lib/cjs/webchat/webchat.js.map +1 -1
  169. package/lib/cjs/webchat/webview.js +5 -5
  170. package/lib/cjs/webchat/webview.js.map +1 -1
  171. package/lib/cjs/webchat-app.js +7 -7
  172. package/lib/cjs/webchat-app.js.map +1 -1
  173. package/lib/cjs/webchat.template.html +37 -0
  174. package/lib/cjs/{webview.d.ts → webview-app.d.ts} +1 -3
  175. package/lib/cjs/{webview.js → webview-app.js} +14 -13
  176. package/lib/cjs/webview-app.js.map +1 -0
  177. package/lib/cjs/webview.template.html +39 -0
  178. package/lib/esm/app.d.ts +2 -0
  179. package/lib/esm/app.js +6 -0
  180. package/lib/esm/app.js.map +1 -0
  181. package/lib/esm/assets/attachment-icon.svg +7 -0
  182. package/lib/esm/assets/audio.svg +4 -0
  183. package/lib/esm/assets/botonic_react_logo100x100.png +0 -0
  184. package/lib/esm/assets/document.svg +3 -0
  185. package/lib/esm/assets/emojiButton.svg +6 -0
  186. package/lib/esm/assets/image.svg +4 -0
  187. package/lib/esm/assets/leftArrow.svg +3 -0
  188. package/lib/esm/assets/menuButton.svg +3 -0
  189. package/lib/esm/assets/rightArrow.svg +3 -0
  190. package/lib/esm/assets/send-button.svg +1 -0
  191. package/lib/esm/assets/video.svg +3 -0
  192. package/lib/esm/botonic-tester.d.ts +18 -0
  193. package/lib/esm/botonic-tester.js +64 -0
  194. package/lib/esm/botonic-tester.js.map +1 -0
  195. package/lib/esm/components/audio.d.ts +8 -0
  196. package/lib/esm/components/audio.js +22 -0
  197. package/lib/esm/components/audio.js.map +1 -0
  198. package/lib/esm/components/button.d.ts +15 -0
  199. package/lib/esm/components/button.js +151 -0
  200. package/lib/esm/components/button.js.map +1 -0
  201. package/lib/esm/components/buttons-disabler.d.ts +24 -0
  202. package/lib/esm/components/buttons-disabler.js +84 -0
  203. package/lib/esm/components/buttons-disabler.js.map +1 -0
  204. package/lib/esm/components/carousel.d.ts +9 -0
  205. package/lib/esm/components/carousel.js +115 -0
  206. package/lib/esm/components/carousel.js.map +1 -0
  207. package/lib/esm/components/components.d.ts +12 -0
  208. package/lib/esm/components/components.js +17 -0
  209. package/lib/esm/components/components.js.map +1 -0
  210. package/lib/esm/components/custom-message.d.ts +43 -0
  211. package/lib/esm/components/custom-message.js +61 -0
  212. package/lib/esm/components/custom-message.js.map +1 -0
  213. package/lib/esm/components/document.d.ts +8 -0
  214. package/lib/esm/components/document.js +45 -0
  215. package/lib/esm/components/document.js.map +1 -0
  216. package/lib/esm/components/element.d.ts +4 -0
  217. package/lib/esm/components/element.js +50 -0
  218. package/lib/esm/components/element.js.map +1 -0
  219. package/lib/esm/components/handoff.d.ts +1 -0
  220. package/lib/esm/components/handoff.js +53 -0
  221. package/lib/esm/components/handoff.js.map +1 -0
  222. package/lib/esm/components/image.d.ts +8 -0
  223. package/lib/esm/components/image.js +37 -0
  224. package/lib/esm/components/image.js.map +1 -0
  225. package/lib/esm/components/index.d.ts +19 -0
  226. package/lib/esm/components/index.js +21 -0
  227. package/lib/esm/components/index.js.map +1 -0
  228. package/lib/esm/components/location.d.ts +11 -0
  229. package/lib/esm/components/location.js +33 -0
  230. package/lib/esm/components/location.js.map +1 -0
  231. package/lib/esm/components/markdown.d.ts +7 -0
  232. package/lib/esm/components/markdown.js +152 -0
  233. package/lib/esm/components/markdown.js.map +1 -0
  234. package/lib/esm/components/message-template.d.ts +1 -0
  235. package/lib/esm/components/message-template.js +10 -0
  236. package/lib/esm/components/message-template.js.map +1 -0
  237. package/lib/esm/components/message.d.ts +1 -0
  238. package/lib/esm/components/message.js +202 -0
  239. package/lib/esm/components/message.js.map +1 -0
  240. package/lib/esm/components/multichannel/facebook/facebook.d.ts +17 -0
  241. package/lib/esm/components/multichannel/facebook/facebook.js +43 -0
  242. package/lib/esm/components/multichannel/facebook/facebook.js.map +1 -0
  243. package/lib/esm/components/multichannel/index.d.ts +6 -0
  244. package/lib/esm/components/multichannel/index.js +11 -0
  245. package/lib/esm/components/multichannel/index.js.map +1 -0
  246. package/lib/esm/components/multichannel/multichannel-button.d.ts +1 -0
  247. package/lib/esm/components/multichannel/multichannel-button.js +72 -0
  248. package/lib/esm/components/multichannel/multichannel-button.js.map +1 -0
  249. package/lib/esm/components/multichannel/multichannel-carousel.d.ts +1 -0
  250. package/lib/esm/components/multichannel/multichannel-carousel.js +90 -0
  251. package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -0
  252. package/lib/esm/components/multichannel/multichannel-context.d.ts +11 -0
  253. package/lib/esm/components/multichannel/multichannel-context.js +12 -0
  254. package/lib/esm/components/multichannel/multichannel-context.js.map +1 -0
  255. package/lib/esm/components/multichannel/multichannel-reply.d.ts +1 -0
  256. package/lib/esm/components/multichannel/multichannel-reply.js +19 -0
  257. package/lib/esm/components/multichannel/multichannel-reply.js.map +1 -0
  258. package/lib/esm/components/multichannel/multichannel-text.d.ts +1 -0
  259. package/lib/esm/components/multichannel/multichannel-text.js +142 -0
  260. package/lib/esm/components/multichannel/multichannel-text.js.map +1 -0
  261. package/lib/esm/components/multichannel/multichannel-utils.d.ts +24 -0
  262. package/lib/esm/components/multichannel/multichannel-utils.js +67 -0
  263. package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -0
  264. package/lib/esm/components/multichannel/multichannel.d.ts +1 -0
  265. package/lib/esm/components/multichannel/multichannel.js +67 -0
  266. package/lib/esm/components/multichannel/multichannel.js.map +1 -0
  267. package/lib/esm/components/pic.d.ts +6 -0
  268. package/lib/esm/components/pic.js +24 -0
  269. package/lib/esm/components/pic.js.map +1 -0
  270. package/lib/esm/components/raw.d.ts +9 -0
  271. package/lib/esm/components/raw.js +48 -0
  272. package/lib/esm/components/raw.js.map +1 -0
  273. package/lib/esm/components/reply.d.ts +9 -0
  274. package/lib/esm/components/reply.js +52 -0
  275. package/lib/esm/components/reply.js.map +1 -0
  276. package/lib/esm/components/share-button.d.ts +1 -0
  277. package/lib/esm/components/share-button.js +10 -0
  278. package/lib/esm/components/share-button.js.map +1 -0
  279. package/lib/esm/components/subtitle.d.ts +6 -0
  280. package/lib/esm/components/subtitle.js +20 -0
  281. package/lib/esm/components/subtitle.js.map +1 -0
  282. package/lib/esm/components/text.d.ts +8 -0
  283. package/lib/esm/components/text.js +45 -0
  284. package/lib/esm/components/text.js.map +1 -0
  285. package/lib/esm/components/timestamps.d.ts +10 -0
  286. package/lib/esm/components/timestamps.js +48 -0
  287. package/lib/esm/components/timestamps.js.map +1 -0
  288. package/lib/esm/components/title.d.ts +6 -0
  289. package/lib/esm/components/title.js +16 -0
  290. package/lib/esm/components/title.js.map +1 -0
  291. package/lib/esm/components/video.d.ts +8 -0
  292. package/lib/esm/components/video.js +29 -0
  293. package/lib/esm/components/video.js.map +1 -0
  294. package/lib/esm/components/webchat-settings.d.ts +10 -0
  295. package/lib/esm/components/webchat-settings.js +72 -0
  296. package/lib/esm/components/webchat-settings.js.map +1 -0
  297. package/lib/esm/components/whatsapp-template.d.ts +1 -0
  298. package/lib/esm/components/whatsapp-template.js +21 -0
  299. package/lib/esm/components/whatsapp-template.js.map +1 -0
  300. package/lib/esm/constants.d.ts +168 -0
  301. package/lib/esm/constants.js +186 -0
  302. package/lib/esm/constants.js.map +1 -0
  303. package/lib/esm/contexts.d.ts +69 -0
  304. package/lib/esm/contexts.js +34 -0
  305. package/lib/esm/contexts.js.map +1 -0
  306. package/lib/esm/dev-app.d.ts +30 -0
  307. package/lib/esm/dev-app.js +67 -0
  308. package/lib/esm/dev-app.js.map +1 -0
  309. package/lib/esm/index.d.ts +9 -0
  310. package/lib/esm/index.js +11 -0
  311. package/lib/esm/index.js.map +1 -0
  312. package/lib/esm/message-utils.d.ts +18 -0
  313. package/lib/esm/message-utils.js +41 -0
  314. package/lib/esm/message-utils.js.map +1 -0
  315. package/lib/esm/msg-to-botonic.d.ts +18 -0
  316. package/lib/esm/msg-to-botonic.js +154 -0
  317. package/lib/esm/msg-to-botonic.js.map +1 -0
  318. package/lib/esm/node-app.d.ts +12 -0
  319. package/lib/esm/node-app.js +21 -0
  320. package/lib/esm/node-app.js.map +1 -0
  321. package/lib/esm/react-bot.d.ts +7 -0
  322. package/lib/esm/react-bot.js +30 -0
  323. package/lib/esm/react-bot.js.map +1 -0
  324. package/lib/esm/util/dom.d.ts +13 -0
  325. package/lib/esm/util/dom.js +46 -0
  326. package/lib/esm/util/dom.js.map +1 -0
  327. package/lib/esm/util/environment.d.ts +6 -0
  328. package/lib/esm/util/environment.js +61 -0
  329. package/lib/esm/util/environment.js.map +1 -0
  330. package/lib/esm/util/error-boundary.d.ts +40 -0
  331. package/lib/esm/util/error-boundary.js +41 -0
  332. package/lib/esm/util/error-boundary.js.map +1 -0
  333. package/lib/esm/util/index.d.ts +0 -0
  334. package/lib/esm/util/index.js +2 -0
  335. package/lib/esm/util/index.js.map +1 -0
  336. package/lib/esm/util/logs.d.ts +2 -0
  337. package/lib/esm/util/logs.js +15 -0
  338. package/lib/esm/util/logs.js.map +1 -0
  339. package/lib/esm/util/objects.d.ts +3 -0
  340. package/lib/esm/util/objects.js +38 -0
  341. package/lib/esm/util/objects.js.map +1 -0
  342. package/lib/esm/util/react.d.ts +12 -0
  343. package/lib/esm/util/react.js +34 -0
  344. package/lib/esm/util/react.js.map +1 -0
  345. package/lib/esm/util/regexs.d.ts +2 -0
  346. package/lib/esm/util/regexs.js +18 -0
  347. package/lib/esm/util/regexs.js.map +1 -0
  348. package/lib/esm/util/webchat.d.ts +11 -0
  349. package/lib/esm/util/webchat.js +53 -0
  350. package/lib/esm/util/webchat.js.map +1 -0
  351. package/lib/esm/webchat/actions.d.ts +23 -0
  352. package/lib/esm/webchat/actions.js +24 -0
  353. package/lib/esm/webchat/actions.js.map +1 -0
  354. package/lib/esm/webchat/components/attachment.d.ts +5 -0
  355. package/lib/esm/webchat/components/attachment.js +27 -0
  356. package/lib/esm/webchat/components/attachment.js.map +1 -0
  357. package/lib/esm/webchat/components/common.d.ts +1 -0
  358. package/lib/esm/webchat/components/common.js +8 -0
  359. package/lib/esm/webchat/components/common.js.map +1 -0
  360. package/lib/esm/webchat/components/conditional-animation.d.ts +1 -0
  361. package/lib/esm/webchat/components/conditional-animation.js +13 -0
  362. package/lib/esm/webchat/components/conditional-animation.js.map +1 -0
  363. package/lib/esm/webchat/components/emoji-picker.d.ts +5 -0
  364. package/lib/esm/webchat/components/emoji-picker.js +46 -0
  365. package/lib/esm/webchat/components/emoji-picker.js.map +1 -0
  366. package/lib/esm/webchat/components/persistent-menu.d.ts +10 -0
  367. package/lib/esm/webchat/components/persistent-menu.js +53 -0
  368. package/lib/esm/webchat/components/persistent-menu.js.map +1 -0
  369. package/lib/esm/webchat/components/send-button.d.ts +3 -0
  370. package/lib/esm/webchat/components/send-button.js +19 -0
  371. package/lib/esm/webchat/components/send-button.js.map +1 -0
  372. package/lib/esm/webchat/components/styled-scrollbar.d.ts +1 -0
  373. package/lib/esm/webchat/components/styled-scrollbar.js +50 -0
  374. package/lib/esm/webchat/components/styled-scrollbar.js.map +1 -0
  375. package/lib/esm/webchat/components/styled-scrollbar.scss +12 -0
  376. package/lib/esm/webchat/components/typing-indicator.d.ts +1 -0
  377. package/lib/esm/webchat/components/typing-indicator.js +9 -0
  378. package/lib/esm/webchat/components/typing-indicator.js.map +1 -0
  379. package/lib/esm/webchat/components/typing-indicator.scss +38 -0
  380. package/lib/esm/webchat/devices/device-adapter.d.ts +12 -0
  381. package/lib/esm/webchat/devices/device-adapter.js +43 -0
  382. package/lib/esm/webchat/devices/device-adapter.js.map +1 -0
  383. package/lib/esm/webchat/devices/index.d.ts +11 -0
  384. package/lib/esm/webchat/devices/index.js +18 -0
  385. package/lib/esm/webchat/devices/index.js.map +1 -0
  386. package/lib/esm/webchat/devices/scrollbar-controller.d.ts +12 -0
  387. package/lib/esm/webchat/devices/scrollbar-controller.js +99 -0
  388. package/lib/esm/webchat/devices/scrollbar-controller.js.map +1 -0
  389. package/lib/esm/webchat/devices/webchat-resizer.d.ts +9 -0
  390. package/lib/esm/webchat/devices/webchat-resizer.js +43 -0
  391. package/lib/esm/webchat/devices/webchat-resizer.js.map +1 -0
  392. package/lib/esm/webchat/header.d.ts +3 -0
  393. package/lib/esm/webchat/header.js +89 -0
  394. package/lib/esm/webchat/header.js.map +1 -0
  395. package/lib/esm/webchat/hooks.d.ts +80 -0
  396. package/lib/esm/webchat/hooks.js +210 -0
  397. package/lib/esm/webchat/hooks.js.map +1 -0
  398. package/lib/esm/webchat/index.d.ts +6 -0
  399. package/lib/esm/webchat/index.js +11 -0
  400. package/lib/esm/webchat/index.js.map +1 -0
  401. package/lib/esm/webchat/message-list.d.ts +1 -0
  402. package/lib/esm/webchat/message-list.js +41 -0
  403. package/lib/esm/webchat/message-list.js.map +1 -0
  404. package/lib/esm/webchat/messages-reducer.d.ts +1 -0
  405. package/lib/esm/webchat/messages-reducer.js +54 -0
  406. package/lib/esm/webchat/messages-reducer.js.map +1 -0
  407. package/lib/esm/webchat/replies.d.ts +1 -0
  408. package/lib/esm/webchat/replies.js +41 -0
  409. package/lib/esm/webchat/replies.js.map +1 -0
  410. package/lib/esm/webchat/session-view.d.ts +1 -0
  411. package/lib/esm/webchat/session-view.js +119 -0
  412. package/lib/esm/webchat/session-view.js.map +1 -0
  413. package/lib/esm/webchat/use-storage-state-hook.d.ts +1 -0
  414. package/lib/esm/webchat/use-storage-state-hook.js +28 -0
  415. package/lib/esm/webchat/use-storage-state-hook.js.map +1 -0
  416. package/lib/esm/webchat/webchat-dev.d.ts +7 -0
  417. package/lib/esm/webchat/webchat-dev.js +60 -0
  418. package/lib/esm/webchat/webchat-dev.js.map +1 -0
  419. package/lib/esm/webchat/webchat-reducer.d.ts +1 -0
  420. package/lib/esm/webchat/webchat-reducer.js +44 -0
  421. package/lib/esm/webchat/webchat-reducer.js.map +1 -0
  422. package/lib/esm/webchat/webchat.d.ts +3 -0
  423. package/lib/esm/webchat/webchat.js +699 -0
  424. package/lib/esm/webchat/webchat.js.map +1 -0
  425. package/lib/esm/webchat/webview.d.ts +2 -0
  426. package/lib/esm/webchat/webview.js +86 -0
  427. package/lib/esm/webchat/webview.js.map +1 -0
  428. package/lib/esm/webchat-app.d.ts +98 -0
  429. package/lib/esm/webchat-app.js +265 -0
  430. package/lib/esm/webchat-app.js.map +1 -0
  431. package/lib/esm/webchat.template.html +37 -0
  432. package/lib/esm/webview-app.d.ts +7 -0
  433. package/lib/esm/webview-app.js +98 -0
  434. package/lib/esm/webview-app.js.map +1 -0
  435. package/lib/esm/webview.template.html +39 -0
  436. package/package.json +16 -9
  437. package/src/index.js +1 -1
  438. package/src/msg-to-botonic.jsx +1 -1
  439. package/src/{webview.jsx → webview-app.tsx} +4 -1
  440. package/lib/cjs/webview.js.map +0 -1
@@ -0,0 +1,168 @@
1
+ export namespace SENDERS {
2
+ const bot: string;
3
+ const user: string;
4
+ }
5
+ export namespace COLORS {
6
+ const APPLE_GREEN: string;
7
+ const BLEACHED_CEDAR_PURPLE: string;
8
+ const BOTONIC_BLUE: string;
9
+ const CACTUS_GREEN: string;
10
+ const CONCRETE_WHITE: string;
11
+ const CURIOUS_BLUE: string;
12
+ const DAINTREE_BLUE: string;
13
+ const ERROR_RED: string;
14
+ const FRINGY_FLOWER_GREEN: string;
15
+ const GRAY: string;
16
+ const LIGHT_GRAY: string;
17
+ const MID_GRAY: string;
18
+ const PIGEON_POST_BLUE_ALPHA_0_5: string;
19
+ const SCORPION_GRAY: string;
20
+ const SEASHELL_WHITE: string;
21
+ const SILVER: string;
22
+ const SOLID_BLACK_ALPHA_0_2: string;
23
+ const SOLID_BLACK_ALPHA_0_5: string;
24
+ const SOLID_BLACK: string;
25
+ const SOLID_WHITE_ALPHA_0_2: string;
26
+ const SOLID_WHITE_ALPHA_0_8: string;
27
+ const SOLID_WHITE: string;
28
+ const TASMAN_GRAY: string;
29
+ const TRANSPARENT: string;
30
+ const WILD_SAND_WHITE: string;
31
+ }
32
+ export namespace WEBCHAT {
33
+ namespace DEFAULTS {
34
+ export const WIDTH: number;
35
+ export const HEIGHT: number;
36
+ export const TITLE: string;
37
+ export { BotonicLogo as LOGO };
38
+ export const PLACEHOLDER: string;
39
+ export const FONT_FAMILY: string;
40
+ export const BORDER_RADIUS_TOP_CORNERS: string;
41
+ export const ELEMENT_WIDTH: number;
42
+ export const ELEMENT_MARGIN_RIGHT: number;
43
+ export const STORAGE_KEY: string;
44
+ export const HOST_ID: string;
45
+ export const ID: string;
46
+ export const BUTTON_AUTO_DISABLE: boolean;
47
+ export namespace BUTTON_DISABLED_STYLE {
48
+ const opacity: number;
49
+ const cursor: string;
50
+ const pointerEvents: string;
51
+ }
52
+ }
53
+ namespace SELECTORS {
54
+ const SCROLLABLE_CONTENT: string;
55
+ const SIMPLEBAR_CONTENT: string;
56
+ const SIMPLEBAR_WRAPPER: string;
57
+ }
58
+ namespace CUSTOM_PROPERTIES {
59
+ const enableAnimations: string;
60
+ const markdownStyle: string;
61
+ const scrollbar: string;
62
+ const imagePreviewer: string;
63
+ const mobileBreakpoint: string;
64
+ const mobileStyle: string;
65
+ const webviewHeaderStyle: string;
66
+ const webviewStyle: string;
67
+ const brandColor: string;
68
+ const brandImage: string;
69
+ const customHeader: string;
70
+ const headerImage: string;
71
+ const headerStyle: string;
72
+ const headerSubtitle: string;
73
+ const headerTitle: string;
74
+ const botMessageBackground: string;
75
+ const botMessageBlobTick: string;
76
+ const botMessageBlobTickStyle: string;
77
+ const botMessageBlobWidth: string;
78
+ const botMessageBorderColor: string;
79
+ const botMessageImage: string;
80
+ const botMessageImageStyle: string;
81
+ const botMessageStyle: string;
82
+ const customMessageTypes: string;
83
+ const messageStyle: string;
84
+ const userMessageBackground: string;
85
+ const userMessageBlobTick: string;
86
+ const userMessageBlobTickStyle: string;
87
+ const userMessageBorderColor: string;
88
+ const userMessageStyle: string;
89
+ const enableMessageTimestamps: string;
90
+ const messageTimestampsFormat: string;
91
+ const messageTimestampsStyle: string;
92
+ const customIntro: string;
93
+ const introImage: string;
94
+ const introStyle: string;
95
+ const buttonHoverBackground: string;
96
+ const buttonHoverTextColor: string;
97
+ const buttonMessageType: string;
98
+ const buttonStyle: string;
99
+ const buttonDisabledStyle: string;
100
+ const buttonAutoDisable: string;
101
+ const buttonStyleBackground: string;
102
+ const buttonStyleColor: string;
103
+ const customButton: string;
104
+ const alignReplies: string;
105
+ const customReply: string;
106
+ const replyStyle: string;
107
+ const wrapReplies: string;
108
+ const customTrigger: string;
109
+ const triggerButtonImage: string;
110
+ const triggerButtonStyle: string;
111
+ const blockInputs: string;
112
+ const documentDownload: string;
113
+ const customMenuButton: string;
114
+ const customPersistentMenu: string;
115
+ const customEmojiPicker: string;
116
+ const customAttachments: string;
117
+ const customSendButton: string;
118
+ const darkBackgroundMenu: string;
119
+ const enableAttachments: string;
120
+ const enableEmojiPicker: string;
121
+ const enableSendButton: string;
122
+ const enableUserInput: string;
123
+ const persistentMenu: string;
124
+ const textPlaceholder: string;
125
+ const userInputBoxStyle: string;
126
+ const userInputStyle: string;
127
+ const coverComponent: string;
128
+ const coverComponentProps: string;
129
+ const customCarouselLeftArrow: string;
130
+ const customCarouselRightArrow: string;
131
+ const enableCarouselArrows: string;
132
+ }
133
+ }
134
+ export namespace MIME_WHITELIST {
135
+ const audio: string[];
136
+ const document: string[];
137
+ const image: string[];
138
+ const video: string[];
139
+ }
140
+ export const MAX_ALLOWED_SIZE_MB: 10;
141
+ export namespace ROLES {
142
+ const ATTACHMENT_ICON: string;
143
+ const EMOJI_PICKER_ICON: string;
144
+ const EMOJI_PICKER: string;
145
+ const HEADER: string;
146
+ const MESSAGE_LIST: string;
147
+ const PERSISTENT_MENU_ICON: string;
148
+ const PERSISTENT_MENU: string;
149
+ const SEND_BUTTON_ICON: string;
150
+ const WEBCHAT: string;
151
+ const TRIGGER_BUTTON: string;
152
+ const TYPING_INDICATOR: string;
153
+ const TEXT_BOX: string;
154
+ const WEBVIEW: string;
155
+ const WEBVIEW_HEADER: string;
156
+ const MESSAGE: string;
157
+ const IMAGE_MESSAGE: string;
158
+ const AUDIO_MESSAGE: string;
159
+ const VIDEO_MESSAGE: string;
160
+ const DOCUMENT_MESSAGE: string;
161
+ const RAW_MESSAGE: string;
162
+ }
163
+ export namespace COMPONENT_TYPE {
164
+ const TEXT: string;
165
+ const BUTTON: string;
166
+ const REPLY: string;
167
+ const CAROUSEL: string;
168
+ }
@@ -0,0 +1,186 @@
1
+ import BotonicLogo from './assets/botonic_react_logo100x100.png';
2
+ export const SENDERS = {
3
+ bot: 'bot',
4
+ user: 'user',
5
+ };
6
+ export const COLORS = {
7
+ // http://chir.ag/projects/name-that-color
8
+ APPLE_GREEN: 'rgba(58, 156, 53, 1)',
9
+ BLEACHED_CEDAR_PURPLE: 'rgba(46, 32, 59, 1)',
10
+ BOTONIC_BLUE: 'rgba(0, 153, 255, 1)',
11
+ CACTUS_GREEN: 'rgba(96, 115, 94, 1)',
12
+ CONCRETE_WHITE: 'rgba(243, 243, 243, 1)',
13
+ CURIOUS_BLUE: 'rgba(38, 139, 210, 1)',
14
+ DAINTREE_BLUE: 'rgba(0, 43, 53, 1)',
15
+ ERROR_RED: 'rgba(255, 43, 94)',
16
+ FRINGY_FLOWER_GREEN: 'rgba(198, 231, 192, 1)',
17
+ GRAY: 'rgba(129, 129, 129, 1)',
18
+ LIGHT_GRAY: 'rgba(209, 209, 209, 1)',
19
+ MID_GRAY: 'rgba(105, 105, 115, 1)',
20
+ PIGEON_POST_BLUE_ALPHA_0_5: 'rgba(176, 196, 222, 0.5)',
21
+ SCORPION_GRAY: 'rgba(87, 87, 87, 1)',
22
+ SEASHELL_WHITE: 'rgba(241, 240, 240, 1)',
23
+ SILVER: 'rgba(200, 200, 200, 1)',
24
+ SOLID_BLACK_ALPHA_0_2: 'rgba(0, 0, 0, 0.2)',
25
+ SOLID_BLACK_ALPHA_0_5: 'rgba(0, 0, 0, 0.5)',
26
+ SOLID_BLACK: 'rgba(0, 0, 0, 1)',
27
+ SOLID_WHITE_ALPHA_0_2: 'rgba(255, 255, 255, 0.2)',
28
+ SOLID_WHITE_ALPHA_0_8: 'rgba(255, 255, 255, 0.8)',
29
+ SOLID_WHITE: 'rgba(255, 255, 255, 1)',
30
+ TASMAN_GRAY: 'rgba(209, 216, 207, 1)',
31
+ TRANSPARENT: 'rgba(0, 0, 0, 0)',
32
+ WILD_SAND_WHITE: 'rgba(244, 244, 244, 1)',
33
+ };
34
+ export const WEBCHAT = {
35
+ DEFAULTS: {
36
+ WIDTH: 300,
37
+ HEIGHT: 450,
38
+ TITLE: 'Botonic',
39
+ LOGO: BotonicLogo,
40
+ PLACEHOLDER: 'Ask me something...',
41
+ FONT_FAMILY: "'Noto Sans JP', sans-serif",
42
+ BORDER_RADIUS_TOP_CORNERS: '6px 6px 0px 0px',
43
+ ELEMENT_WIDTH: 222,
44
+ ELEMENT_MARGIN_RIGHT: 6,
45
+ STORAGE_KEY: 'botonicState',
46
+ HOST_ID: 'root',
47
+ ID: 'botonic-webchat',
48
+ BUTTON_AUTO_DISABLE: false,
49
+ BUTTON_DISABLED_STYLE: {
50
+ opacity: 0.5,
51
+ cursor: 'auto',
52
+ pointerEvents: 'none',
53
+ },
54
+ },
55
+ SELECTORS: {
56
+ SCROLLABLE_CONTENT: '#botonic-scrollable-content',
57
+ SIMPLEBAR_CONTENT: '.simplebar-content',
58
+ SIMPLEBAR_WRAPPER: '.simplebar-content-wrapper',
59
+ },
60
+ CUSTOM_PROPERTIES: {
61
+ // General
62
+ enableAnimations: 'animations.enable',
63
+ markdownStyle: 'markdownStyle',
64
+ scrollbar: 'scrollbar',
65
+ imagePreviewer: 'imagePreviewer',
66
+ // Mobile
67
+ mobileBreakpoint: 'mobileBreakpoint',
68
+ mobileStyle: 'mobileStyle',
69
+ // Webviews
70
+ webviewHeaderStyle: 'webview.header.style',
71
+ webviewStyle: 'webview.style',
72
+ // Brand
73
+ brandColor: 'brand.color',
74
+ brandImage: 'brand.image',
75
+ // Header
76
+ customHeader: 'header.custom',
77
+ headerImage: 'header.image',
78
+ headerStyle: 'header.style',
79
+ headerSubtitle: 'header.subtitle',
80
+ headerTitle: 'header.title',
81
+ // Bot Message
82
+ botMessageBackground: 'message.bot.style.background',
83
+ botMessageBlobTick: 'message.bot.blobTick',
84
+ botMessageBlobTickStyle: 'message.bot.blobTickStyle',
85
+ botMessageBlobWidth: 'message.bot.blobWidth',
86
+ botMessageBorderColor: 'message.bot.style.borderColor',
87
+ botMessageImage: 'message.bot.image',
88
+ botMessageImageStyle: 'message.bot.imageStyle',
89
+ botMessageStyle: 'message.bot.style',
90
+ // User Message
91
+ customMessageTypes: 'message.customTypes',
92
+ messageStyle: 'message.style',
93
+ userMessageBackground: 'message.user.style.background',
94
+ userMessageBlobTick: 'message.user.blobTick',
95
+ userMessageBlobTickStyle: 'message.user.blobTickStyle',
96
+ userMessageBorderColor: 'message.user.style.borderColor',
97
+ userMessageStyle: 'message.user.style',
98
+ // Timestamps
99
+ enableMessageTimestamps: 'message.timestamps.enable',
100
+ messageTimestampsFormat: 'message.timestamps.format',
101
+ messageTimestampsStyle: 'message.timestamps.style',
102
+ // Intro
103
+ customIntro: 'intro.custom',
104
+ introImage: 'intro.image',
105
+ introStyle: 'intro.style',
106
+ // Buttons
107
+ buttonHoverBackground: 'button.hoverBackground',
108
+ buttonHoverTextColor: 'button.hoverTextColor',
109
+ buttonMessageType: 'button.messageType',
110
+ buttonStyle: 'button.style',
111
+ buttonDisabledStyle: 'button.disabledstyle',
112
+ buttonAutoDisable: 'button.autodisable',
113
+ buttonStyleBackground: 'button.style.background',
114
+ buttonStyleColor: 'button.style.color',
115
+ customButton: 'button.custom',
116
+ // Replies
117
+ alignReplies: 'replies.align',
118
+ customReply: 'reply.custom',
119
+ replyStyle: 'reply.style',
120
+ wrapReplies: 'replies.wrap',
121
+ // TriggerButton
122
+ customTrigger: 'triggerButton.custom',
123
+ triggerButtonImage: 'triggerButton.image',
124
+ triggerButtonStyle: 'triggerButton.style',
125
+ // User Input
126
+ blockInputs: 'userInput.blockInputs',
127
+ documentDownload: 'documentDownload',
128
+ customMenuButton: 'userInput.menuButton.custom',
129
+ customPersistentMenu: 'userInput.menu.custom',
130
+ customEmojiPicker: 'userInput.emojiPicker.custom',
131
+ customAttachments: 'userInput.attachments.custom',
132
+ customSendButton: 'userInput.sendButton.custom',
133
+ darkBackgroundMenu: 'userInput.menu.darkBackground',
134
+ enableAttachments: 'userInput.attachments.enable',
135
+ enableEmojiPicker: 'userInput.emojiPicker.enable',
136
+ enableSendButton: 'userInput.sendButton.enable',
137
+ enableUserInput: 'userInput.enable',
138
+ persistentMenu: 'userInput.persistentMenu',
139
+ textPlaceholder: 'userInput.box.placeholder',
140
+ userInputBoxStyle: 'userInput.box.style',
141
+ userInputStyle: 'userInput.style',
142
+ // Cover Component
143
+ coverComponent: 'coverComponent.component',
144
+ coverComponentProps: 'coverComponent.props',
145
+ // Carousel
146
+ customCarouselLeftArrow: 'carousel.arrow.left',
147
+ customCarouselRightArrow: 'carousel.arrow.right',
148
+ enableCarouselArrows: 'carousel.enableArrows',
149
+ },
150
+ };
151
+ export const MIME_WHITELIST = {
152
+ audio: ['audio/mpeg', 'audio/mp3'],
153
+ document: ['application/pdf'],
154
+ image: ['image/jpeg', 'image/png'],
155
+ video: ['video/mp4', 'video/quicktime'],
156
+ };
157
+ export const MAX_ALLOWED_SIZE_MB = 10;
158
+ export const ROLES = {
159
+ ATTACHMENT_ICON: 'attachment-icon',
160
+ EMOJI_PICKER_ICON: 'emoji-picker-icon',
161
+ EMOJI_PICKER: 'emoji-picker',
162
+ HEADER: 'header',
163
+ MESSAGE_LIST: 'message-list',
164
+ PERSISTENT_MENU_ICON: 'persistent-menu-icon',
165
+ PERSISTENT_MENU: 'persistent-menu',
166
+ SEND_BUTTON_ICON: 'send-button-icon',
167
+ WEBCHAT: 'webchat',
168
+ TRIGGER_BUTTON: 'trigger-button',
169
+ TYPING_INDICATOR: 'typing-indicator',
170
+ TEXT_BOX: 'textbox',
171
+ WEBVIEW: 'webview',
172
+ WEBVIEW_HEADER: 'webview-header',
173
+ MESSAGE: 'message',
174
+ IMAGE_MESSAGE: 'image-message',
175
+ AUDIO_MESSAGE: 'audio-message',
176
+ VIDEO_MESSAGE: 'video-message',
177
+ DOCUMENT_MESSAGE: 'document-message',
178
+ RAW_MESSAGE: 'raw-message',
179
+ };
180
+ export const COMPONENT_TYPE = {
181
+ TEXT: 'Text',
182
+ BUTTON: 'Button',
183
+ REPLY: 'Reply',
184
+ CAROUSEL: 'Carousel',
185
+ };
186
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"src/","sources":["constants.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ export const RequestContext: React.Context<{
2
+ getString: () => "";
3
+ setLocale: () => "";
4
+ session: {};
5
+ params: {};
6
+ input: {};
7
+ defaultDelay: number;
8
+ defaultTyping: number;
9
+ }>;
10
+ export const WebchatContext: React.Context<{
11
+ sendText: (text: any) => void;
12
+ sendAttachment: (attachment: any) => void;
13
+ sendPayload: (payload: any) => void;
14
+ sendInput: (input: any) => void;
15
+ setReplies: (replies: any) => void;
16
+ openWebview: (webviewComponent: any) => void;
17
+ addMessage: (message: any) => void;
18
+ updateMessage: (message: any) => void;
19
+ updateReplies: (replies: any) => void;
20
+ updateLatestInput: (input: any) => void;
21
+ closeWebview: () => void;
22
+ toggleWebchat: () => void;
23
+ getThemeProperty: (property: any) => undefined;
24
+ resolveCase: () => void;
25
+ theme: {};
26
+ webchatState: {
27
+ width: number;
28
+ height: number;
29
+ messagesJSON: never[];
30
+ messagesComponents: never[];
31
+ replies: never[];
32
+ latestInput: {};
33
+ typing: boolean;
34
+ webview: null;
35
+ webviewParams: null;
36
+ session: {
37
+ user: null;
38
+ };
39
+ lastRoutePath: null;
40
+ handoff: boolean;
41
+ theme: {
42
+ headerTitle: string;
43
+ brandColor: string;
44
+ brandImage: any;
45
+ triggerButtonImage: undefined;
46
+ textPlaceholder: string;
47
+ style: {
48
+ fontFamily: string;
49
+ };
50
+ };
51
+ themeUpdates: {};
52
+ error: {};
53
+ online: boolean;
54
+ devSettings: {
55
+ keepSessionOnReload: boolean;
56
+ };
57
+ isWebchatOpen: boolean;
58
+ isEmojiPickerOpen: boolean;
59
+ isPersistentMenuOpen: boolean;
60
+ isCoverComponentOpen: boolean;
61
+ isCustomComponentRendered: boolean;
62
+ lastMessageUpdate: undefined;
63
+ currentAttachment: undefined;
64
+ jwt: null;
65
+ };
66
+ updateWebchatDevSettings: (settings: any) => {};
67
+ updateUser: (user: any) => void;
68
+ }>;
69
+ import React from "react";
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { webchatInitialState } from './webchat/hooks';
3
+ export const RequestContext = React.createContext({
4
+ getString: () => '',
5
+ setLocale: () => '',
6
+ session: {},
7
+ params: {},
8
+ input: {},
9
+ defaultDelay: 0,
10
+ defaultTyping: 0,
11
+ });
12
+ export const WebchatContext = React.createContext({
13
+ sendText: text => { },
14
+ sendAttachment: attachment => { },
15
+ sendPayload: payload => { },
16
+ sendInput: input => { },
17
+ setReplies: replies => { },
18
+ openWebview: webviewComponent => { },
19
+ addMessage: message => { },
20
+ updateMessage: message => { },
21
+ updateReplies: replies => { },
22
+ updateLatestInput: input => { },
23
+ closeWebview: () => { },
24
+ toggleWebchat: () => { },
25
+ getThemeProperty: property => undefined,
26
+ resolveCase: () => { },
27
+ theme: {},
28
+ webchatState: webchatInitialState,
29
+ updateWebchatDevSettings: settings => {
30
+ return {};
31
+ },
32
+ updateUser: user => { },
33
+ });
34
+ //# sourceMappingURL=contexts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contexts.js","sourceRoot":"src/","sources":["contexts.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC;IAChD,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;IACnB,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;IACnB,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;CACjB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC;IAChD,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAE,CAAC;IACpB,cAAc,EAAE,UAAU,CAAC,EAAE,GAAE,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC,EAAE,GAAE,CAAC;IAC1B,SAAS,EAAE,KAAK,CAAC,EAAE,GAAE,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC,EAAE,GAAE,CAAC;IACzB,WAAW,EAAE,gBAAgB,CAAC,EAAE,GAAE,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC,EAAE,GAAE,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC,EAAE,GAAE,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC,EAAE,GAAE,CAAC;IAC5B,iBAAiB,EAAE,KAAK,CAAC,EAAE,GAAE,CAAC;IAC9B,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;IACtB,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;IACvB,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC,SAAS;IACvC,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;IACrB,KAAK,EAAE,EAAE;IACT,YAAY,EAAE,mBAAmB;IACjC,wBAAwB,EAAE,QAAQ,CAAC,EAAE;QACnC,OAAO,EAAE,CAAA;IACX,CAAC;IACD,UAAU,EAAE,IAAI,CAAC,EAAE,GAAE,CAAC;CACvB,CAAC,CAAA"}
@@ -0,0 +1,30 @@
1
+ export class DevApp extends WebchatApp {
2
+ constructor({ theme, persistentMenu, coverComponent, blockInputs, enableEmojiPicker, enableAttachments, enableUserInput, enableAnimations, shadowDOM, hostId, storage, storageKey, onInit, onOpen, onClose, onMessage, ...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
+ });
21
+ bot: ReactBot;
22
+ render(dest: any, optionsAtRuntime?: {}): void;
23
+ onUserInput({ input, session, lastRoutePath }: {
24
+ input: any;
25
+ session: any;
26
+ lastRoutePath: any;
27
+ }): Promise<void>;
28
+ }
29
+ import { WebchatApp } from "./webchat-app";
30
+ import { ReactBot } from "./react-bot";
@@ -0,0 +1,67 @@
1
+ import { __rest } from "tslib";
2
+ import merge from 'lodash.merge';
3
+ import React from 'react';
4
+ import { render } from 'react-dom';
5
+ import { SENDERS } from './constants';
6
+ import { ReactBot } from './react-bot';
7
+ import { onDOMLoaded } from './util/dom';
8
+ import { WebchatDev } from './webchat/webchat-dev';
9
+ import { WebchatApp } from './webchat-app';
10
+ export class DevApp extends WebchatApp {
11
+ constructor(_a) {
12
+ var { theme = {}, persistentMenu, coverComponent, blockInputs, enableEmojiPicker, enableAttachments, enableUserInput, enableAnimations, shadowDOM, hostId, storage, storageKey, onInit, onOpen, onClose, onMessage } = _a, botOptions = __rest(_a, ["theme", "persistentMenu", "coverComponent", "blockInputs", "enableEmojiPicker", "enableAttachments", "enableUserInput", "enableAnimations", "shadowDOM", "hostId", "storage", "storageKey", "onInit", "onOpen", "onClose", "onMessage"]);
13
+ super({
14
+ theme,
15
+ persistentMenu,
16
+ coverComponent,
17
+ blockInputs,
18
+ enableEmojiPicker,
19
+ enableAttachments,
20
+ enableUserInput,
21
+ enableAnimations,
22
+ shadowDOM,
23
+ hostId,
24
+ storage,
25
+ storageKey,
26
+ onInit,
27
+ onOpen,
28
+ onClose,
29
+ onMessage,
30
+ });
31
+ this.bot = new ReactBot(Object.assign({}, botOptions));
32
+ }
33
+ getComponent(host, optionsAtRuntime = {}) {
34
+ let { theme = {}, persistentMenu, coverComponent, blockInputs, enableEmojiPicker, enableAttachments, enableUserInput, enableAnimations, storage, storageKey, onInit, onOpen, onClose, onMessage, hostId } = optionsAtRuntime, webchatOptions = __rest(optionsAtRuntime, ["theme", "persistentMenu", "coverComponent", "blockInputs", "enableEmojiPicker", "enableAttachments", "enableUserInput", "enableAnimations", "storage", "storageKey", "onInit", "onOpen", "onClose", "onMessage", "hostId"]);
35
+ theme = merge(this.theme, theme);
36
+ persistentMenu = persistentMenu || this.persistentMenu;
37
+ coverComponent = coverComponent || this.coverComponent;
38
+ blockInputs = blockInputs || this.blockInputs;
39
+ enableEmojiPicker = enableEmojiPicker || this.enableEmojiPicker;
40
+ enableAttachments = enableAttachments || this.enableAttachments;
41
+ enableUserInput = enableUserInput || this.enableUserInput;
42
+ enableAnimations = enableAnimations || this.enableAnimations;
43
+ storage = storage || this.storage;
44
+ storageKey = storageKey || this.storageKey;
45
+ this.onInit = onInit || this.onInit;
46
+ this.onOpen = onOpen || this.onOpen;
47
+ this.onClose = onClose || this.onClose;
48
+ this.onMessage = onMessage || this.onMessage;
49
+ this.hostId = hostId || this.hostId;
50
+ this.createRootElement(host);
51
+ return (<WebchatDev {...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)}/>);
52
+ }
53
+ render(dest, optionsAtRuntime = {}) {
54
+ onDOMLoaded(() => {
55
+ render(this.getComponent(dest, optionsAtRuntime), this.getReactMountNode(dest));
56
+ });
57
+ }
58
+ async onUserInput({ input, session, lastRoutePath }) {
59
+ this.onMessage &&
60
+ this.onMessage(this, { from: SENDERS.user, message: input });
61
+ const resp = await this.bot.input({ input, session, lastRoutePath });
62
+ this.onMessage &&
63
+ resp.response.map(r => this.onMessage(this, { from: SENDERS.bot, message: r }));
64
+ this.webchatRef.current.addBotResponse(resp);
65
+ }
66
+ }
67
+ //# sourceMappingURL=dev-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-app.js","sourceRoot":"src/","sources":["dev-app.jsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export { DevApp } from "./dev-app";
2
+ export { NodeApp } from "./node-app";
3
+ export { staticAsset } from "./util/environment";
4
+ export { getBotonicApp } from "./webchat/index.js";
5
+ export { WebchatApp } from "./webchat-app";
6
+ export { WebviewApp } from "./webview-app";
7
+ export { BotonicInputTester, BotonicOutputTester } from "./botonic-tester";
8
+ export { RequestContext, WebchatContext } from "./contexts";
9
+ export { msgsToBotonic, msgToBotonic } from "./msg-to-botonic";
@@ -0,0 +1,11 @@
1
+ export { BotonicInputTester, BotonicOutputTester } from './botonic-tester';
2
+ export * from './components';
3
+ export { RequestContext, WebchatContext } from './contexts';
4
+ export { DevApp } from './dev-app';
5
+ export { msgsToBotonic, msgToBotonic } from './msg-to-botonic';
6
+ export { NodeApp } from './node-app';
7
+ export { staticAsset } from './util/environment';
8
+ export { getBotonicApp, Webchat } from './webchat/index.js';
9
+ export { WebchatApp } from './webchat-app';
10
+ export { WebviewApp } from './webview-app';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC1E,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,18 @@
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: any[];
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[];
@@ -0,0 +1,41 @@
1
+ import { INPUT } from '@botonic/core';
2
+ import { MAX_ALLOWED_SIZE_MB, MIME_WHITELIST } from './constants';
3
+ export const isOfType = (msgType, type) => msgType === type;
4
+ export const isText = msg => isOfType(msg.type, INPUT.TEXT);
5
+ export const isPostback = msg => isOfType(msg.type, INPUT.POSTBACK);
6
+ export const isAudio = msg => isOfType(msg.type, INPUT.AUDIO);
7
+ export const isImage = msg => isOfType(msg.type, INPUT.IMAGE);
8
+ export const isVideo = msg => isOfType(msg.type, INPUT.VIDEO);
9
+ export const isDocument = msg => isOfType(msg.type, INPUT.DOCUMENT);
10
+ export const isLocation = msg => isOfType(msg.type, INPUT.LOCATION);
11
+ export const isContact = msg => isOfType(msg.type, INPUT.CONTACT);
12
+ export const isCarousel = msg => isOfType(msg.type, INPUT.CAROUSEL);
13
+ export const isCustom = msg => isOfType(msg.type, INPUT.CUSTOM);
14
+ export const isButtonMessage = msg => isOfType(msg.type, INPUT.BUTTON_MESSAGE);
15
+ export const INPUT_MEDIA_TYPES = [
16
+ INPUT.AUDIO,
17
+ INPUT.IMAGE,
18
+ INPUT.VIDEO,
19
+ INPUT.DOCUMENT,
20
+ ];
21
+ export const isMedia = message => INPUT_MEDIA_TYPES.some(type => isOfType(message.type, type));
22
+ // TODO: Centralize handling attachments in class
23
+ export const readDataURL = file => new Promise((resolve, reject) => {
24
+ const reader = new FileReader();
25
+ reader.readAsDataURL(file);
26
+ reader.onload = () => resolve(reader.result);
27
+ reader.onerror = error => reject(error);
28
+ });
29
+ export const isAllowedSize = fileSize => {
30
+ const maxAllowedBytesSize = MAX_ALLOWED_SIZE_MB * 1024 * 1024;
31
+ if (fileSize > maxAllowedBytesSize)
32
+ return false;
33
+ return true;
34
+ };
35
+ export const getMediaType = fileType => {
36
+ return Object.entries(MIME_WHITELIST)
37
+ .filter(([_, formatsForType]) => formatsForType.includes(fileType))
38
+ .map(([type, _]) => type)[0];
39
+ };
40
+ export const getFullMimeWhitelist = () => Object.values(MIME_WHITELIST).map(acceptedFormatsForType => acceptedFormatsForType.join(','));
41
+ //# sourceMappingURL=message-utils.js.map