@botonic/react 0.24.0-alpha.3 → 0.24.0-alpha.4

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 (338) hide show
  1. package/lib/cjs/components/index-types.d.ts +1 -0
  2. package/lib/cjs/components/index-types.js.map +1 -1
  3. package/lib/cjs/components/{message.js → message/index.js} +20 -65
  4. package/lib/cjs/components/message/index.js.map +1 -0
  5. package/lib/cjs/components/message/message-image.d.ts +7 -0
  6. package/lib/cjs/components/message/message-image.js +18 -0
  7. package/lib/cjs/components/message/message-image.js.map +1 -0
  8. package/lib/cjs/components/message/styles.d.ts +8 -0
  9. package/lib/cjs/components/message/styles.js +69 -0
  10. package/lib/cjs/components/message/styles.js.map +1 -0
  11. package/lib/cjs/components/{timestamps.d.ts → message/timestamps.d.ts} +2 -1
  12. package/lib/cjs/components/message/timestamps.js +36 -0
  13. package/lib/cjs/components/message/timestamps.js.map +1 -0
  14. package/lib/cjs/constants.d.ts +1 -0
  15. package/lib/cjs/constants.js +2 -0
  16. package/lib/cjs/constants.js.map +1 -1
  17. package/lib/cjs/webchat/trigger-button/index.js +3 -2
  18. package/lib/cjs/webchat/trigger-button/index.js.map +1 -1
  19. package/lib/esm/app.d.ts +2 -0
  20. package/lib/esm/app.js +6 -0
  21. package/lib/esm/app.js.map +1 -0
  22. package/lib/esm/assets/index-types.d.ts +4 -0
  23. package/lib/esm/assets/index-types.js +2 -0
  24. package/lib/esm/assets/index-types.js.map +1 -0
  25. package/lib/esm/botonic-tester.d.ts +18 -0
  26. package/lib/esm/botonic-tester.js +62 -0
  27. package/lib/esm/botonic-tester.js.map +1 -0
  28. package/lib/esm/components/audio.d.ts +8 -0
  29. package/lib/esm/components/audio.js +18 -0
  30. package/lib/esm/components/audio.js.map +1 -0
  31. package/lib/esm/components/button.d.ts +15 -0
  32. package/lib/esm/components/button.js +140 -0
  33. package/lib/esm/components/button.js.map +1 -0
  34. package/lib/esm/components/buttons-disabler.d.ts +24 -0
  35. package/lib/esm/components/buttons-disabler.js +84 -0
  36. package/lib/esm/components/buttons-disabler.js.map +1 -0
  37. package/lib/esm/components/carousel.d.ts +10 -0
  38. package/lib/esm/components/carousel.js +102 -0
  39. package/lib/esm/components/carousel.js.map +1 -0
  40. package/lib/esm/components/components.d.ts +12 -0
  41. package/lib/esm/components/components.js +17 -0
  42. package/lib/esm/components/components.js.map +1 -0
  43. package/lib/esm/components/custom-message.d.ts +12 -0
  44. package/lib/esm/components/custom-message.js +55 -0
  45. package/lib/esm/components/custom-message.js.map +1 -0
  46. package/lib/esm/components/document.d.ts +8 -0
  47. package/lib/esm/components/document.js +42 -0
  48. package/lib/esm/components/document.js.map +1 -0
  49. package/lib/esm/components/element.d.ts +4 -0
  50. package/lib/esm/components/element.js +51 -0
  51. package/lib/esm/components/element.js.map +1 -0
  52. package/lib/esm/components/handoff.d.ts +1 -0
  53. package/lib/esm/components/handoff.js +49 -0
  54. package/lib/esm/components/handoff.js.map +1 -0
  55. package/lib/esm/components/image.d.ts +8 -0
  56. package/lib/esm/components/image.js +35 -0
  57. package/lib/esm/components/image.js.map +1 -0
  58. package/lib/esm/components/index-types.d.ts +190 -0
  59. package/lib/esm/components/index-types.js +16 -0
  60. package/lib/esm/components/index-types.js.map +1 -0
  61. package/lib/esm/components/index.d.ts +23 -0
  62. package/lib/esm/components/index.js +24 -0
  63. package/lib/esm/components/index.js.map +1 -0
  64. package/lib/esm/components/location.d.ts +11 -0
  65. package/lib/esm/components/location.js +27 -0
  66. package/lib/esm/components/location.js.map +1 -0
  67. package/lib/esm/components/markdown.d.ts +7 -0
  68. package/lib/esm/components/markdown.js +152 -0
  69. package/lib/esm/components/markdown.js.map +1 -0
  70. package/lib/esm/components/message/index.d.ts +1 -0
  71. package/lib/esm/components/message/index.js +143 -0
  72. package/lib/esm/components/message/index.js.map +1 -0
  73. package/lib/esm/components/message/message-image.d.ts +7 -0
  74. package/lib/esm/components/message/message-image.js +14 -0
  75. package/lib/esm/components/message/message-image.js.map +1 -0
  76. package/lib/esm/components/message/styles.d.ts +8 -0
  77. package/lib/esm/components/message/styles.js +65 -0
  78. package/lib/esm/components/message/styles.js.map +1 -0
  79. package/lib/esm/components/message/timestamps.d.ts +11 -0
  80. package/lib/esm/components/message/timestamps.js +30 -0
  81. package/lib/esm/components/message/timestamps.js.map +1 -0
  82. package/lib/esm/components/message-template.d.ts +1 -0
  83. package/lib/esm/components/message-template.js +9 -0
  84. package/lib/esm/components/message-template.js.map +1 -0
  85. package/lib/esm/components/multichannel/facebook/facebook.d.ts +17 -0
  86. package/lib/esm/components/multichannel/facebook/facebook.js +43 -0
  87. package/lib/esm/components/multichannel/facebook/facebook.js.map +1 -0
  88. package/lib/esm/components/multichannel/index-types.d.ts +46 -0
  89. package/lib/esm/components/multichannel/index-types.js +2 -0
  90. package/lib/esm/components/multichannel/index-types.js.map +1 -0
  91. package/lib/esm/components/multichannel/index.d.ts +11 -0
  92. package/lib/esm/components/multichannel/index.js +12 -0
  93. package/lib/esm/components/multichannel/index.js.map +1 -0
  94. package/lib/esm/components/multichannel/multichannel-button.d.ts +1 -0
  95. package/lib/esm/components/multichannel/multichannel-button.js +71 -0
  96. package/lib/esm/components/multichannel/multichannel-button.js.map +1 -0
  97. package/lib/esm/components/multichannel/multichannel-carousel.d.ts +1 -0
  98. package/lib/esm/components/multichannel/multichannel-carousel.js +73 -0
  99. package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -0
  100. package/lib/esm/components/multichannel/multichannel-context.d.ts +11 -0
  101. package/lib/esm/components/multichannel/multichannel-context.js +12 -0
  102. package/lib/esm/components/multichannel/multichannel-context.js.map +1 -0
  103. package/lib/esm/components/multichannel/multichannel-reply.d.ts +1 -0
  104. package/lib/esm/components/multichannel/multichannel-reply.js +20 -0
  105. package/lib/esm/components/multichannel/multichannel-reply.js.map +1 -0
  106. package/lib/esm/components/multichannel/multichannel-text.d.ts +1 -0
  107. package/lib/esm/components/multichannel/multichannel-text.js +153 -0
  108. package/lib/esm/components/multichannel/multichannel-text.js.map +1 -0
  109. package/lib/esm/components/multichannel/multichannel-utils.d.ts +26 -0
  110. package/lib/esm/components/multichannel/multichannel-utils.js +69 -0
  111. package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -0
  112. package/lib/esm/components/multichannel/multichannel.d.ts +1 -0
  113. package/lib/esm/components/multichannel/multichannel.js +55 -0
  114. package/lib/esm/components/multichannel/multichannel.js.map +1 -0
  115. package/lib/esm/components/multichannel/whatsapp/markdown.d.ts +1 -0
  116. package/lib/esm/components/multichannel/whatsapp/markdown.js +53 -0
  117. package/lib/esm/components/multichannel/whatsapp/markdown.js.map +1 -0
  118. package/lib/esm/components/pic.d.ts +6 -0
  119. package/lib/esm/components/pic.js +25 -0
  120. package/lib/esm/components/pic.js.map +1 -0
  121. package/lib/esm/components/raw.d.ts +9 -0
  122. package/lib/esm/components/raw.js +39 -0
  123. package/lib/esm/components/raw.js.map +1 -0
  124. package/lib/esm/components/reply.d.ts +9 -0
  125. package/lib/esm/components/reply.js +49 -0
  126. package/lib/esm/components/reply.js.map +1 -0
  127. package/lib/esm/components/share-button.d.ts +1 -0
  128. package/lib/esm/components/share-button.js +9 -0
  129. package/lib/esm/components/share-button.js.map +1 -0
  130. package/lib/esm/components/subtitle.d.ts +6 -0
  131. package/lib/esm/components/subtitle.js +19 -0
  132. package/lib/esm/components/subtitle.js.map +1 -0
  133. package/lib/esm/components/text.d.ts +8 -0
  134. package/lib/esm/components/text.js +42 -0
  135. package/lib/esm/components/text.js.map +1 -0
  136. package/lib/esm/components/title.d.ts +6 -0
  137. package/lib/esm/components/title.js +17 -0
  138. package/lib/esm/components/title.js.map +1 -0
  139. package/lib/esm/components/video.d.ts +8 -0
  140. package/lib/esm/components/video.js +26 -0
  141. package/lib/esm/components/video.js.map +1 -0
  142. package/lib/esm/components/webchat-settings.d.ts +3 -0
  143. package/lib/esm/components/webchat-settings.js +69 -0
  144. package/lib/esm/components/webchat-settings.js.map +1 -0
  145. package/lib/esm/components/whatsapp-button-list.d.ts +17 -0
  146. package/lib/esm/components/whatsapp-button-list.js +22 -0
  147. package/lib/esm/components/whatsapp-button-list.js.map +1 -0
  148. package/lib/esm/components/whatsapp-template.d.ts +1 -0
  149. package/lib/esm/components/whatsapp-template.js +20 -0
  150. package/lib/esm/components/whatsapp-template.js.map +1 -0
  151. package/lib/esm/constants.d.ts +173 -0
  152. package/lib/esm/constants.js +194 -0
  153. package/lib/esm/constants.js.map +1 -0
  154. package/lib/esm/contexts.d.ts +12 -0
  155. package/lib/esm/contexts.js +67 -0
  156. package/lib/esm/contexts.js.map +1 -0
  157. package/lib/esm/dev-app.d.ts +30 -0
  158. package/lib/esm/dev-app.js +74 -0
  159. package/lib/esm/dev-app.js.map +1 -0
  160. package/lib/esm/index-types.d.ts +128 -0
  161. package/lib/esm/index-types.js +12 -0
  162. package/lib/esm/index-types.js.map +1 -0
  163. package/lib/esm/index.d.ts +11 -0
  164. package/lib/esm/index.js +12 -0
  165. package/lib/esm/index.js.map +1 -0
  166. package/lib/esm/message-utils.d.ts +19 -0
  167. package/lib/esm/message-utils.js +41 -0
  168. package/lib/esm/message-utils.js.map +1 -0
  169. package/lib/esm/msg-to-botonic.d.ts +18 -0
  170. package/lib/esm/msg-to-botonic.js +135 -0
  171. package/lib/esm/msg-to-botonic.js.map +1 -0
  172. package/lib/esm/node-app.d.ts +12 -0
  173. package/lib/esm/node-app.js +21 -0
  174. package/lib/esm/node-app.js.map +1 -0
  175. package/lib/esm/react-bot.d.ts +8 -0
  176. package/lib/esm/react-bot.js +29 -0
  177. package/lib/esm/react-bot.js.map +1 -0
  178. package/lib/esm/util/dom.d.ts +13 -0
  179. package/lib/esm/util/dom.js +46 -0
  180. package/lib/esm/util/dom.js.map +1 -0
  181. package/lib/esm/util/environment.d.ts +6 -0
  182. package/lib/esm/util/environment.js +61 -0
  183. package/lib/esm/util/environment.js.map +1 -0
  184. package/lib/esm/util/error-boundary.d.ts +7 -0
  185. package/lib/esm/util/error-boundary.js +28 -0
  186. package/lib/esm/util/error-boundary.js.map +1 -0
  187. package/lib/esm/util/index.d.ts +8 -0
  188. package/lib/esm/util/index.js +9 -0
  189. package/lib/esm/util/index.js.map +1 -0
  190. package/lib/esm/util/logs.d.ts +2 -0
  191. package/lib/esm/util/logs.js +15 -0
  192. package/lib/esm/util/logs.js.map +1 -0
  193. package/lib/esm/util/objects.d.ts +3 -0
  194. package/lib/esm/util/objects.js +38 -0
  195. package/lib/esm/util/objects.js.map +1 -0
  196. package/lib/esm/util/react.d.ts +12 -0
  197. package/lib/esm/util/react.js +34 -0
  198. package/lib/esm/util/react.js.map +1 -0
  199. package/lib/esm/util/regexs.d.ts +2 -0
  200. package/lib/esm/util/regexs.js +18 -0
  201. package/lib/esm/util/regexs.js.map +1 -0
  202. package/lib/esm/util/webchat.d.ts +11 -0
  203. package/lib/esm/util/webchat.js +53 -0
  204. package/lib/esm/util/webchat.js.map +1 -0
  205. package/lib/esm/webchat/actions.d.ts +27 -0
  206. package/lib/esm/webchat/actions.js +29 -0
  207. package/lib/esm/webchat/actions.js.map +1 -0
  208. package/lib/esm/webchat/components/attachment.d.ts +5 -0
  209. package/lib/esm/webchat/components/attachment.js +24 -0
  210. package/lib/esm/webchat/components/attachment.js.map +1 -0
  211. package/lib/esm/webchat/components/common.d.ts +1 -0
  212. package/lib/esm/webchat/components/common.js +9 -0
  213. package/lib/esm/webchat/components/common.js.map +1 -0
  214. package/lib/esm/webchat/components/conditional-animation.d.ts +1 -0
  215. package/lib/esm/webchat/components/conditional-animation.js +12 -0
  216. package/lib/esm/webchat/components/conditional-animation.js.map +1 -0
  217. package/lib/esm/webchat/components/emoji-picker.d.ts +5 -0
  218. package/lib/esm/webchat/components/emoji-picker.js +37 -0
  219. package/lib/esm/webchat/components/emoji-picker.js.map +1 -0
  220. package/lib/esm/webchat/components/persistent-menu.d.ts +10 -0
  221. package/lib/esm/webchat/components/persistent-menu.js +39 -0
  222. package/lib/esm/webchat/components/persistent-menu.js.map +1 -0
  223. package/lib/esm/webchat/components/send-button.d.ts +3 -0
  224. package/lib/esm/webchat/components/send-button.js +14 -0
  225. package/lib/esm/webchat/components/send-button.js.map +1 -0
  226. package/lib/esm/webchat/components/styled-scrollbar.d.ts +1 -0
  227. package/lib/esm/webchat/components/styled-scrollbar.js +50 -0
  228. package/lib/esm/webchat/components/styled-scrollbar.js.map +1 -0
  229. package/lib/esm/webchat/components/typing-indicator.d.ts +1 -0
  230. package/lib/esm/webchat/components/typing-indicator.js +6 -0
  231. package/lib/esm/webchat/components/typing-indicator.js.map +1 -0
  232. package/lib/esm/webchat/devices/device-adapter.d.ts +12 -0
  233. package/lib/esm/webchat/devices/device-adapter.js +43 -0
  234. package/lib/esm/webchat/devices/device-adapter.js.map +1 -0
  235. package/lib/esm/webchat/devices/index.d.ts +11 -0
  236. package/lib/esm/webchat/devices/index.js +18 -0
  237. package/lib/esm/webchat/devices/index.js.map +1 -0
  238. package/lib/esm/webchat/devices/scrollbar-controller.d.ts +12 -0
  239. package/lib/esm/webchat/devices/scrollbar-controller.js +99 -0
  240. package/lib/esm/webchat/devices/scrollbar-controller.js.map +1 -0
  241. package/lib/esm/webchat/devices/webchat-resizer.d.ts +9 -0
  242. package/lib/esm/webchat/devices/webchat-resizer.js +43 -0
  243. package/lib/esm/webchat/devices/webchat-resizer.js.map +1 -0
  244. package/lib/esm/webchat/header.d.ts +3 -0
  245. package/lib/esm/webchat/header.js +79 -0
  246. package/lib/esm/webchat/header.js.map +1 -0
  247. package/lib/esm/webchat/hooks/index.d.ts +5 -0
  248. package/lib/esm/webchat/hooks/index.js +6 -0
  249. package/lib/esm/webchat/hooks/index.js.map +1 -0
  250. package/lib/esm/webchat/hooks/use-component-visible.d.ts +8 -0
  251. package/lib/esm/webchat/hooks/use-component-visible.js +20 -0
  252. package/lib/esm/webchat/hooks/use-component-visible.js.map +1 -0
  253. package/lib/esm/webchat/hooks/use-component-will-mount.d.ts +1 -0
  254. package/lib/esm/webchat/hooks/use-component-will-mount.js +5 -0
  255. package/lib/esm/webchat/hooks/use-component-will-mount.js.map +1 -0
  256. package/lib/esm/webchat/hooks/use-previous.d.ts +1 -0
  257. package/lib/esm/webchat/hooks/use-previous.js +9 -0
  258. package/lib/esm/webchat/hooks/use-previous.js.map +1 -0
  259. package/lib/esm/webchat/hooks/use-typing.d.ts +10 -0
  260. package/lib/esm/webchat/hooks/use-typing.js +26 -0
  261. package/lib/esm/webchat/hooks/use-typing.js.map +1 -0
  262. package/lib/esm/webchat/hooks/use-webchat.d.ts +41 -0
  263. package/lib/esm/webchat/hooks/use-webchat.js +177 -0
  264. package/lib/esm/webchat/hooks/use-webchat.js.map +1 -0
  265. package/lib/esm/webchat/index-types.d.ts +62 -0
  266. package/lib/esm/webchat/index-types.js +2 -0
  267. package/lib/esm/webchat/index-types.js.map +1 -0
  268. package/lib/esm/webchat/index.d.ts +4 -0
  269. package/lib/esm/webchat/index.js +10 -0
  270. package/lib/esm/webchat/index.js.map +1 -0
  271. package/lib/esm/webchat/message-list/index.d.ts +1 -0
  272. package/lib/esm/webchat/message-list/index.js +73 -0
  273. package/lib/esm/webchat/message-list/index.js.map +1 -0
  274. package/lib/esm/webchat/message-list/intro-message.d.ts +1 -0
  275. package/lib/esm/webchat/message-list/intro-message.js +18 -0
  276. package/lib/esm/webchat/message-list/intro-message.js.map +1 -0
  277. package/lib/esm/webchat/message-list/scroll-button.d.ts +5 -0
  278. package/lib/esm/webchat/message-list/scroll-button.js +17 -0
  279. package/lib/esm/webchat/message-list/scroll-button.js.map +1 -0
  280. package/lib/esm/webchat/message-list/styles.d.ts +4 -0
  281. package/lib/esm/webchat/message-list/styles.js +46 -0
  282. package/lib/esm/webchat/message-list/styles.js.map +1 -0
  283. package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +6 -0
  284. package/lib/esm/webchat/message-list/unread-messages-banner.js +16 -0
  285. package/lib/esm/webchat/message-list/unread-messages-banner.js.map +1 -0
  286. package/lib/esm/webchat/message-list/use-debounce.d.ts +1 -0
  287. package/lib/esm/webchat/message-list/use-debounce.js +14 -0
  288. package/lib/esm/webchat/message-list/use-debounce.js.map +1 -0
  289. package/lib/esm/webchat/messages-reducer.d.ts +6 -0
  290. package/lib/esm/webchat/messages-reducer.js +82 -0
  291. package/lib/esm/webchat/messages-reducer.js.map +1 -0
  292. package/lib/esm/webchat/replies.d.ts +1 -0
  293. package/lib/esm/webchat/replies.js +38 -0
  294. package/lib/esm/webchat/replies.js.map +1 -0
  295. package/lib/esm/webchat/session-view.d.ts +1 -0
  296. package/lib/esm/webchat/session-view.js +96 -0
  297. package/lib/esm/webchat/session-view.js.map +1 -0
  298. package/lib/esm/webchat/trigger-button/index.d.ts +1 -0
  299. package/lib/esm/webchat/trigger-button/index.js +28 -0
  300. package/lib/esm/webchat/trigger-button/index.js.map +1 -0
  301. package/lib/esm/webchat/trigger-button/styles.d.ts +3 -0
  302. package/lib/esm/webchat/trigger-button/styles.js +36 -0
  303. package/lib/esm/webchat/trigger-button/styles.js.map +1 -0
  304. package/lib/esm/webchat/use-storage-state-hook.d.ts +1 -0
  305. package/lib/esm/webchat/use-storage-state-hook.js +38 -0
  306. package/lib/esm/webchat/use-storage-state-hook.js.map +1 -0
  307. package/lib/esm/webchat/webchat-dev.d.ts +7 -0
  308. package/lib/esm/webchat/webchat-dev.js +56 -0
  309. package/lib/esm/webchat/webchat-dev.js.map +1 -0
  310. package/lib/esm/webchat/webchat-reducer.d.ts +6 -0
  311. package/lib/esm/webchat/webchat-reducer.js +46 -0
  312. package/lib/esm/webchat/webchat-reducer.js.map +1 -0
  313. package/lib/esm/webchat/webchat.d.ts +3 -0
  314. package/lib/esm/webchat/webchat.js +637 -0
  315. package/lib/esm/webchat/webchat.js.map +1 -0
  316. package/lib/esm/webchat/webview.d.ts +2 -0
  317. package/lib/esm/webchat/webview.js +78 -0
  318. package/lib/esm/webchat/webview.js.map +1 -0
  319. package/lib/esm/webchat-app.d.ts +99 -0
  320. package/lib/esm/webchat-app.js +281 -0
  321. package/lib/esm/webchat-app.js.map +1 -0
  322. package/lib/esm/webview-app.d.ts +7 -0
  323. package/lib/esm/webview-app.js +95 -0
  324. package/lib/esm/webview-app.js.map +1 -0
  325. package/package.json +2 -2
  326. package/src/.DS_Store +0 -0
  327. package/src/components/index-types.ts +1 -0
  328. package/src/components/{message.jsx → message/index.jsx} +32 -92
  329. package/src/components/message/message-image.tsx +52 -0
  330. package/src/components/message/styles.ts +73 -0
  331. package/src/components/message/timestamps.jsx +62 -0
  332. package/src/constants.js +2 -0
  333. package/src/webchat/trigger-button/index.tsx +10 -5
  334. package/lib/cjs/components/message.js.map +0 -1
  335. package/lib/cjs/components/timestamps.js +0 -51
  336. package/lib/cjs/components/timestamps.js.map +0 -1
  337. package/src/components/timestamps.jsx +0 -68
  338. /package/lib/cjs/components/{message.d.ts → message/index.d.ts} +0 -0
@@ -0,0 +1,194 @@
1
+ import BotonicLogo from './assets/botonic_react_logo100x100.png';
2
+ export const COLORS = {
3
+ // http://chir.ag/projects/name-that-color
4
+ APPLE_GREEN: 'rgba(58, 156, 53, 1)',
5
+ BLEACHED_CEDAR_PURPLE: 'rgba(46, 32, 59, 1)',
6
+ BOTONIC_BLUE: 'rgba(0, 153, 255, 1)',
7
+ CACTUS_GREEN: 'rgba(96, 115, 94, 1)',
8
+ CONCRETE_WHITE: 'rgba(243, 243, 243, 1)',
9
+ CURIOUS_BLUE: 'rgba(38, 139, 210, 1)',
10
+ DAINTREE_BLUE: 'rgba(0, 43, 53, 1)',
11
+ ERROR_RED: 'rgba(255, 43, 94)',
12
+ FRINGY_FLOWER_GREEN: 'rgba(198, 231, 192, 1)',
13
+ GRAY: 'rgba(129, 129, 129, 1)',
14
+ LIGHT_GRAY: 'rgba(209, 209, 209, 1)',
15
+ MID_GRAY: 'rgba(105, 105, 115, 1)',
16
+ PIGEON_POST_BLUE_ALPHA_0_5: 'rgba(176, 196, 222, 0.5)',
17
+ RED_NOTIFICATIONS: 'rgba(255, 66, 111, 1)',
18
+ SCORPION_GRAY: 'rgba(87, 87, 87, 1)',
19
+ SEASHELL_WHITE: 'rgba(241, 240, 240, 1)',
20
+ SILVER: 'rgba(200, 200, 200, 1)',
21
+ SOLID_BLACK_ALPHA_0_2: 'rgba(0, 0, 0, 0.2)',
22
+ SOLID_BLACK_ALPHA_0_5: 'rgba(0, 0, 0, 0.5)',
23
+ SOLID_BLACK: 'rgba(0, 0, 0, 1)',
24
+ SOLID_WHITE_ALPHA_0_2: 'rgba(255, 255, 255, 0.2)',
25
+ SOLID_WHITE_ALPHA_0_8: 'rgba(255, 255, 255, 0.8)',
26
+ SOLID_WHITE: 'rgba(255, 255, 255, 1)',
27
+ TASMAN_GRAY: 'rgba(209, 216, 207, 1)',
28
+ TRANSPARENT: 'rgba(0, 0, 0, 0)',
29
+ WILD_SAND_WHITE: 'rgba(244, 244, 244, 1)',
30
+ };
31
+ export const WEBCHAT = {
32
+ DEFAULTS: {
33
+ WIDTH: 300,
34
+ HEIGHT: 450,
35
+ TITLE: 'Botonic',
36
+ LOGO: BotonicLogo,
37
+ PLACEHOLDER: 'Ask me something...',
38
+ FONT_FAMILY: "'Noto Sans JP', sans-serif",
39
+ BORDER_RADIUS_TOP_CORNERS: '6px 6px 0px 0px',
40
+ ELEMENT_WIDTH: 222,
41
+ ELEMENT_MARGIN_RIGHT: 6,
42
+ STORAGE_KEY: 'botonicState',
43
+ HOST_ID: 'root',
44
+ ID: 'botonic-webchat',
45
+ BUTTON_AUTO_DISABLE: false,
46
+ BUTTON_DISABLED_STYLE: {
47
+ opacity: 0.5,
48
+ cursor: 'auto',
49
+ pointerEvents: 'none',
50
+ },
51
+ },
52
+ SELECTORS: {
53
+ SCROLLABLE_CONTENT: '#botonic-scrollable-content',
54
+ SIMPLEBAR_CONTENT: '.simplebar-content',
55
+ SIMPLEBAR_WRAPPER: '.simplebar-content-wrapper',
56
+ },
57
+ CUSTOM_PROPERTIES: {
58
+ // General
59
+ enableAnimations: 'animations.enable',
60
+ markdownStyle: 'markdownStyle',
61
+ scrollbar: 'scrollbar',
62
+ imagePreviewer: 'imagePreviewer',
63
+ // Mobile
64
+ mobileBreakpoint: 'mobileBreakpoint',
65
+ mobileStyle: 'mobileStyle',
66
+ // Webviews
67
+ webviewHeaderStyle: 'webview.header.style',
68
+ webviewStyle: 'webview.style',
69
+ // Brand
70
+ brandColor: 'brand.color',
71
+ brandImage: 'brand.image',
72
+ // Header
73
+ customHeader: 'header.custom',
74
+ headerImage: 'header.image',
75
+ headerStyle: 'header.style',
76
+ headerSubtitle: 'header.subtitle',
77
+ headerTitle: 'header.title',
78
+ // Bot Message
79
+ botMessageBackground: 'message.bot.style.background',
80
+ botMessageBlobTick: 'message.bot.blobTick',
81
+ botMessageBlobTickStyle: 'message.bot.blobTickStyle',
82
+ botMessageBlobWidth: 'message.bot.blobWidth',
83
+ botMessageBorderColor: 'message.bot.style.borderColor',
84
+ botMessageImage: 'message.bot.image',
85
+ botMessageImageStyle: 'message.bot.imageStyle',
86
+ botMessageStyle: 'message.bot.style',
87
+ // Agent Message
88
+ agentMessageImage: 'message.agent.image',
89
+ // User Message
90
+ customMessageTypes: 'message.customTypes',
91
+ messageStyle: 'message.style',
92
+ userMessageBackground: 'message.user.style.background',
93
+ userMessageBlobTick: 'message.user.blobTick',
94
+ userMessageBlobTickStyle: 'message.user.blobTickStyle',
95
+ userMessageBorderColor: 'message.user.style.borderColor',
96
+ userMessageStyle: 'message.user.style',
97
+ // Timestamps
98
+ enableMessageTimestamps: 'message.timestamps.enable',
99
+ messageTimestampsFormat: 'message.timestamps.format',
100
+ messageTimestampsStyle: 'message.timestamps.style',
101
+ // Intro
102
+ customIntro: 'intro.custom',
103
+ introImage: 'intro.image',
104
+ introStyle: 'intro.style',
105
+ // Buttons
106
+ buttonHoverBackground: 'button.hoverBackground',
107
+ buttonHoverTextColor: 'button.hoverTextColor',
108
+ buttonMessageType: 'button.messageType',
109
+ buttonStyle: 'button.style',
110
+ buttonDisabledStyle: 'button.disabledstyle',
111
+ buttonAutoDisable: 'button.autodisable',
112
+ buttonStyleBackground: 'button.style.background',
113
+ buttonStyleColor: 'button.style.color',
114
+ customButton: 'button.custom',
115
+ // Replies
116
+ alignReplies: 'replies.align',
117
+ customReply: 'reply.custom',
118
+ replyStyle: 'reply.style',
119
+ wrapReplies: 'replies.wrap',
120
+ // TriggerButton
121
+ customTrigger: 'triggerButton.custom',
122
+ triggerButtonImage: 'triggerButton.image',
123
+ triggerButtonStyle: 'triggerButton.style',
124
+ // Notifications
125
+ notificationsEnabled: 'notifications.enable',
126
+ notificationsBannerEnabled: 'notifications.banner.enable',
127
+ notificationsBannerCustom: 'notifications.banner.custom',
128
+ notificationsBannerText: 'notifications.banner.text',
129
+ notificationsTriggerButtonEnabled: 'notifications.triggerButton.enable',
130
+ // Scroll Button
131
+ scrollButtonEnabled: 'scrollButton.enable',
132
+ scrollButtonCustom: 'scrollButton.custom',
133
+ // User Input
134
+ blockInputs: 'userInput.blockInputs',
135
+ documentDownload: 'documentDownload',
136
+ customMenuButton: 'userInput.menuButton.custom',
137
+ customPersistentMenu: 'userInput.menu.custom',
138
+ customEmojiPicker: 'userInput.emojiPicker.custom',
139
+ customAttachments: 'userInput.attachments.custom',
140
+ customSendButton: 'userInput.sendButton.custom',
141
+ darkBackgroundMenu: 'userInput.menu.darkBackground',
142
+ enableAttachments: 'userInput.attachments.enable',
143
+ enableEmojiPicker: 'userInput.emojiPicker.enable',
144
+ enableSendButton: 'userInput.sendButton.enable',
145
+ enableUserInput: 'userInput.enable',
146
+ persistentMenu: 'userInput.persistentMenu',
147
+ textPlaceholder: 'userInput.box.placeholder',
148
+ userInputBoxStyle: 'userInput.box.style',
149
+ userInputStyle: 'userInput.style',
150
+ // Cover Component
151
+ coverComponent: 'coverComponent.component',
152
+ coverComponentProps: 'coverComponent.props',
153
+ // Carousel
154
+ customCarouselLeftArrow: 'carousel.arrow.left',
155
+ customCarouselRightArrow: 'carousel.arrow.right',
156
+ enableCarouselArrows: 'carousel.enableArrows',
157
+ },
158
+ };
159
+ export const MIME_WHITELIST = {
160
+ audio: ['audio/mpeg', 'audio/mp3'],
161
+ document: ['application/pdf'],
162
+ image: ['image/jpeg', 'image/png'],
163
+ video: ['video/mp4', 'video/quicktime'],
164
+ };
165
+ export const MAX_ALLOWED_SIZE_MB = 10;
166
+ export const ROLES = {
167
+ ATTACHMENT_ICON: 'attachment-icon',
168
+ EMOJI_PICKER_ICON: 'emoji-picker-icon',
169
+ EMOJI_PICKER: 'emoji-picker',
170
+ HEADER: 'header',
171
+ MESSAGE_LIST: 'message-list',
172
+ PERSISTENT_MENU_ICON: 'persistent-menu-icon',
173
+ PERSISTENT_MENU: 'persistent-menu',
174
+ SEND_BUTTON_ICON: 'send-button-icon',
175
+ WEBCHAT: 'webchat',
176
+ TRIGGER_BUTTON: 'trigger-button',
177
+ TYPING_INDICATOR: 'typing-indicator',
178
+ TEXT_BOX: 'textbox',
179
+ WEBVIEW: 'webview',
180
+ WEBVIEW_HEADER: 'webview-header',
181
+ MESSAGE: 'message',
182
+ IMAGE_MESSAGE: 'image-message',
183
+ AUDIO_MESSAGE: 'audio-message',
184
+ VIDEO_MESSAGE: 'video-message',
185
+ DOCUMENT_MESSAGE: 'document-message',
186
+ RAW_MESSAGE: 'raw-message',
187
+ };
188
+ export const COMPONENT_TYPE = {
189
+ TEXT: 'Text',
190
+ BUTTON: 'Button',
191
+ REPLY: 'Reply',
192
+ CAROUSEL: 'Carousel',
193
+ };
194
+ //# 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,12 @@
1
+ /// <reference types="react" />
2
+ import { WebchatContextProps } from './index-types';
3
+ export declare const RequestContext: import("react").Context<{
4
+ getString: () => "";
5
+ setLocale: () => "";
6
+ session: {};
7
+ params: {};
8
+ input: {};
9
+ defaultDelay: number;
10
+ defaultTyping: number;
11
+ }>;
12
+ export declare const WebchatContext: import("react").Context<WebchatContextProps>;
@@ -0,0 +1,67 @@
1
+ import { createContext } from 'react';
2
+ import { webchatInitialState } from './webchat/hooks';
3
+ export const RequestContext = createContext({
4
+ getString: () => '',
5
+ setLocale: () => '',
6
+ session: {},
7
+ params: {},
8
+ input: {},
9
+ defaultDelay: 0,
10
+ defaultTyping: 0,
11
+ });
12
+ export const WebchatContext = createContext({
13
+ addMessage: () => {
14
+ return;
15
+ },
16
+ closeWebview: () => {
17
+ return;
18
+ },
19
+ getThemeProperty: () => {
20
+ return;
21
+ },
22
+ openWebview: () => {
23
+ return;
24
+ },
25
+ resolveCase: () => {
26
+ return;
27
+ },
28
+ resetUnreadMessages: () => {
29
+ return;
30
+ },
31
+ setLastMessageVisible: () => {
32
+ return;
33
+ },
34
+ sendAttachment: () => {
35
+ return;
36
+ },
37
+ sendInput: () => {
38
+ return;
39
+ },
40
+ sendPayload: () => {
41
+ return;
42
+ },
43
+ sendText: () => {
44
+ return;
45
+ },
46
+ theme: {},
47
+ toggleWebchat: () => {
48
+ return;
49
+ },
50
+ updateLatestInput: () => {
51
+ return;
52
+ },
53
+ updateMessage: () => {
54
+ return;
55
+ },
56
+ updateReplies: () => {
57
+ return;
58
+ },
59
+ updateUser: () => {
60
+ return;
61
+ },
62
+ updateWebchatDevSettings: () => {
63
+ return;
64
+ },
65
+ webchatState: webchatInitialState,
66
+ });
67
+ //# sourceMappingURL=contexts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contexts.js","sourceRoot":"src/","sources":["contexts.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAGrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;IAC1C,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,aAAa,CAAsB;IAC/D,UAAU,EAAE,GAAG,EAAE;QACf,OAAM;IACR,CAAC;IACD,YAAY,EAAE,GAAG,EAAE;QACjB,OAAM;IACR,CAAC;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,qBAAqB,EAAE,GAAG,EAAE;QAC1B,OAAM;IACR,CAAC;IACD,cAAc,EAAE,GAAG,EAAE;QACnB,OAAM;IACR,CAAC;IACD,SAAS,EAAE,GAAG,EAAE;QACd,OAAM;IACR,CAAC;IACD,WAAW,EAAE,GAAG,EAAE;QAChB,OAAM;IACR,CAAC;IACD,QAAQ,EAAE,GAAG,EAAE;QACb,OAAM;IACR,CAAC;IACD,KAAK,EAAE,EAAE;IACT,aAAa,EAAE,GAAG,EAAE;QAClB,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;CAClC,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,74 @@
1
+ import { __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 } = _a, botOptions = __rest(_a, ["theme", "persistentMenu", "coverComponent", "blockInputs", "enableEmojiPicker", "enableAttachments", "enableUserInput", "enableAnimations", "shadowDOM", "hostId", "storage", "storageKey", "onInit", "onOpen", "onClose", "onMessage"]);
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
+ });
32
+ this.bot = new ReactBot(Object.assign({}, botOptions));
33
+ }
34
+ getComponent(host, optionsAtRuntime = {}) {
35
+ 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"]);
36
+ theme = merge(this.theme, theme);
37
+ persistentMenu = persistentMenu || this.persistentMenu;
38
+ coverComponent = coverComponent || this.coverComponent;
39
+ blockInputs = blockInputs || this.blockInputs;
40
+ enableEmojiPicker = enableEmojiPicker || this.enableEmojiPicker;
41
+ enableAttachments = enableAttachments || this.enableAttachments;
42
+ enableUserInput = enableUserInput || this.enableUserInput;
43
+ enableAnimations = enableAnimations || this.enableAnimations;
44
+ storage = storage || this.storage;
45
+ storageKey = storageKey || this.storageKey;
46
+ this.onInit = onInit || this.onInit;
47
+ this.onOpen = onOpen || this.onOpen;
48
+ this.onClose = onClose || this.onClose;
49
+ this.onMessage = onMessage || this.onMessage;
50
+ this.hostId = hostId || this.hostId;
51
+ this.createRootElement(host);
52
+ 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) })));
53
+ }
54
+ render(dest, optionsAtRuntime = {}) {
55
+ onDOMLoaded(() => {
56
+ render(this.getComponent(dest, optionsAtRuntime), this.getReactMountNode(dest));
57
+ });
58
+ }
59
+ async onUserInput({ input, session, lastRoutePath }) {
60
+ this.onMessage &&
61
+ this.onMessage(this, {
62
+ sentBy: SENDERS.user,
63
+ message: input,
64
+ });
65
+ const resp = await this.bot.input({ input, session, lastRoutePath });
66
+ this.onMessage &&
67
+ resp.response.map(r => this.onMessage(this, {
68
+ sentBy: SENDERS.bot,
69
+ message: r,
70
+ }));
71
+ this.webchatRef.current.addBotResponse(resp);
72
+ }
73
+ }
74
+ //# 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,128 @@
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';
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
+ persistentMenu?: PersistentMenuTheme;
54
+ storage?: Storage | null;
55
+ storageKey?: any;
56
+ theme?: ThemeProps;
57
+ }
58
+ export interface WebchatAppArgs {
59
+ appId?: string;
60
+ visibility?: () => boolean;
61
+ }
62
+ export declare enum SENDERS {
63
+ bot = "bot",
64
+ user = "user",
65
+ agent = "agent"
66
+ }
67
+ export interface WebchatMessage {
68
+ ack: 0 | 1;
69
+ blob: boolean;
70
+ buttons: ButtonProps[];
71
+ children: any;
72
+ data: any;
73
+ delay: number;
74
+ display: boolean;
75
+ enabletimestamps: boolean;
76
+ id: string;
77
+ imagestyle: any;
78
+ isUnread: boolean;
79
+ json: any;
80
+ markdown: boolean;
81
+ replies: ReplyProps[];
82
+ sentBy: SENDERS;
83
+ style: any;
84
+ timestamp: string;
85
+ type: CoreInputType;
86
+ typing: number;
87
+ }
88
+ export interface OnUserInputArgs {
89
+ input: CoreInput;
90
+ lastRoutePath?: string;
91
+ session?: CoreSession;
92
+ user: CoreSessionUser;
93
+ }
94
+ export interface OnStateChangeArgs {
95
+ messagesJSON: WebchatMessage[];
96
+ user: CoreSessionUser;
97
+ }
98
+ export interface MessageInfo {
99
+ data: any | 'typing_on';
100
+ id: string;
101
+ type: 'update_webchat_settings' | 'sender_action';
102
+ }
103
+ export interface Event {
104
+ action?: 'update_message_info';
105
+ isError?: boolean;
106
+ message?: MessageInfo;
107
+ }
108
+ export interface WebchatContextProps {
109
+ addMessage: (message: WebchatMessage) => void;
110
+ closeWebview: () => void;
111
+ getThemeProperty: (property: string, defaultValue?: string | boolean) => any;
112
+ openWebview: (webviewComponent: Webview) => void;
113
+ resetUnreadMessages: () => void;
114
+ resolveCase: () => void;
115
+ sendAttachment: (attachment: File) => void;
116
+ sendInput: (input: CoreInput) => void;
117
+ sendPayload: (payload: string) => void;
118
+ sendText: (text: string, payload?: string) => void;
119
+ setLastMessageVisible: (isLastMessageVisible: boolean) => void;
120
+ theme: ThemeProps;
121
+ toggleWebchat: (toggle: boolean) => void;
122
+ updateLatestInput: (input: CoreInput) => void;
123
+ updateMessage: (message: WebchatMessage) => void;
124
+ updateReplies: (replies: boolean) => void;
125
+ updateUser: (user: Partial<CoreSessionUser>) => void;
126
+ updateWebchatDevSettings: (settings: WebchatSettingsProps) => void;
127
+ webchatState: WebchatState;
128
+ }
@@ -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 class DevApp extends WebchatApp {
8
+ // constructor(args: WebchatAppArgs)
9
+ // onUserInput(args: OnUserInputArgs): Promise<void>
10
+ // render(dest: HTMLElement, optionsAtRuntime: WebchatAppArgs): void
11
+ // }
12
+ //# sourceMappingURL=index-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-types.js","sourceRoot":"src/","sources":["index-types.ts"],"names":[],"mappings":"AAmIA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,sBAAW,CAAA;IACX,wBAAa,CAAA;IACb,0BAAe,CAAA;AACjB,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAsED,2CAA2C;AAC3C,sCAAsC;AACtC,sDAAsD;AACtD,sEAAsE;AACtE,IAAI"}
@@ -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 * 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 } 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":"src/","sources":["index.ts"],"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,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';
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-utils.js","sourceRoot":"src/","sources":["message-utils.js"],"names":[],"mappings":"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"}