@botonic/react 0.21.6 → 0.21.7-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/lib/cjs/app.d.ts +2 -0
  2. package/lib/cjs/app.js +10 -0
  3. package/lib/cjs/app.js.map +1 -0
  4. package/lib/cjs/botonic-tester.d.ts +18 -0
  5. package/lib/cjs/botonic-tester.js +70 -0
  6. package/lib/cjs/botonic-tester.js.map +1 -0
  7. package/lib/cjs/components/audio.d.ts +8 -0
  8. package/lib/cjs/components/audio.js +27 -0
  9. package/lib/cjs/components/audio.js.map +1 -0
  10. package/lib/cjs/components/button.d.ts +15 -0
  11. package/lib/cjs/components/button.js +156 -0
  12. package/lib/cjs/components/button.js.map +1 -0
  13. package/lib/cjs/components/buttons-disabler.d.ts +24 -0
  14. package/lib/cjs/components/buttons-disabler.js +88 -0
  15. package/lib/cjs/components/buttons-disabler.js.map +1 -0
  16. package/lib/cjs/components/carousel.d.ts +9 -0
  17. package/lib/cjs/components/carousel.js +120 -0
  18. package/lib/cjs/components/carousel.js.map +1 -0
  19. package/lib/cjs/components/components.d.ts +12 -0
  20. package/lib/{components → cjs/components}/components.js +6 -11
  21. package/lib/cjs/components/components.js.map +1 -0
  22. package/lib/cjs/components/custom-message.d.ts +10 -0
  23. package/lib/cjs/components/custom-message.js +65 -0
  24. package/lib/cjs/components/custom-message.js.map +1 -0
  25. package/lib/cjs/components/document.d.ts +8 -0
  26. package/lib/cjs/components/document.js +50 -0
  27. package/lib/cjs/components/document.js.map +1 -0
  28. package/lib/cjs/components/element.d.ts +4 -0
  29. package/lib/cjs/components/element.js +55 -0
  30. package/lib/cjs/components/element.js.map +1 -0
  31. package/lib/cjs/components/handoff.d.ts +1 -0
  32. package/lib/cjs/components/handoff.js +58 -0
  33. package/lib/cjs/components/handoff.js.map +1 -0
  34. package/lib/cjs/components/image.d.ts +8 -0
  35. package/lib/cjs/components/image.js +42 -0
  36. package/lib/cjs/components/image.js.map +1 -0
  37. package/lib/cjs/components/index.d.ts +1 -0
  38. package/lib/cjs/components/index.js +44 -0
  39. package/lib/cjs/components/index.js.map +1 -0
  40. package/lib/cjs/components/location.d.ts +11 -0
  41. package/lib/cjs/components/location.js +38 -0
  42. package/lib/cjs/components/location.js.map +1 -0
  43. package/lib/cjs/components/markdown.d.ts +7 -0
  44. package/lib/cjs/components/markdown.js +162 -0
  45. package/lib/cjs/components/markdown.js.map +1 -0
  46. package/lib/cjs/components/message-template.d.ts +1 -0
  47. package/lib/cjs/components/message-template.js +15 -0
  48. package/lib/cjs/components/message-template.js.map +1 -0
  49. package/lib/cjs/components/message.d.ts +1 -0
  50. package/lib/cjs/components/message.js +206 -0
  51. package/lib/cjs/components/message.js.map +1 -0
  52. package/lib/cjs/components/multichannel/facebook/facebook.d.ts +17 -0
  53. package/lib/cjs/components/multichannel/facebook/facebook.js +47 -0
  54. package/lib/cjs/components/multichannel/facebook/facebook.js.map +1 -0
  55. package/lib/cjs/components/multichannel/index.d.ts +1 -0
  56. package/lib/cjs/components/multichannel/index.js +14 -0
  57. package/lib/cjs/components/multichannel/index.js.map +1 -0
  58. package/lib/cjs/components/multichannel/multichannel-button.d.ts +1 -0
  59. package/lib/cjs/components/multichannel/multichannel-button.js +77 -0
  60. package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -0
  61. package/lib/cjs/components/multichannel/multichannel-carousel.d.ts +1 -0
  62. package/lib/cjs/components/multichannel/multichannel-carousel.js +95 -0
  63. package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -0
  64. package/lib/cjs/components/multichannel/multichannel-context.d.ts +11 -0
  65. package/lib/cjs/components/multichannel/multichannel-context.js +16 -0
  66. package/lib/cjs/components/multichannel/multichannel-context.js.map +1 -0
  67. package/lib/cjs/components/multichannel/multichannel-reply.d.ts +1 -0
  68. package/lib/cjs/components/multichannel/multichannel-reply.js +24 -0
  69. package/lib/cjs/components/multichannel/multichannel-reply.js.map +1 -0
  70. package/lib/cjs/components/multichannel/multichannel-text.d.ts +1 -0
  71. package/lib/cjs/components/multichannel/multichannel-text.js +147 -0
  72. package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -0
  73. package/lib/cjs/components/multichannel/multichannel-utils.d.ts +24 -0
  74. package/lib/cjs/components/multichannel/multichannel-utils.js +83 -0
  75. package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -0
  76. package/lib/cjs/components/multichannel/multichannel.d.ts +1 -0
  77. package/lib/cjs/components/multichannel/multichannel.js +72 -0
  78. package/lib/cjs/components/multichannel/multichannel.js.map +1 -0
  79. package/lib/cjs/components/pic.d.ts +6 -0
  80. package/lib/cjs/components/pic.js +29 -0
  81. package/lib/cjs/components/pic.js.map +1 -0
  82. package/lib/cjs/components/raw.d.ts +9 -0
  83. package/lib/cjs/components/raw.js +53 -0
  84. package/lib/cjs/components/raw.js.map +1 -0
  85. package/lib/cjs/components/reply.d.ts +9 -0
  86. package/lib/cjs/components/reply.js +57 -0
  87. package/lib/cjs/components/reply.js.map +1 -0
  88. package/lib/cjs/components/share-button.d.ts +1 -0
  89. package/lib/cjs/components/share-button.js +15 -0
  90. package/lib/cjs/components/share-button.js.map +1 -0
  91. package/lib/cjs/components/subtitle.d.ts +6 -0
  92. package/lib/cjs/components/subtitle.js +25 -0
  93. package/lib/cjs/components/subtitle.js.map +1 -0
  94. package/lib/cjs/components/text.d.ts +8 -0
  95. package/lib/cjs/components/text.js +50 -0
  96. package/lib/cjs/components/text.js.map +1 -0
  97. package/lib/cjs/components/timestamps.d.ts +10 -0
  98. package/lib/cjs/components/timestamps.js +54 -0
  99. package/lib/cjs/components/timestamps.js.map +1 -0
  100. package/lib/cjs/components/title.d.ts +6 -0
  101. package/lib/cjs/components/title.js +21 -0
  102. package/lib/cjs/components/title.js.map +1 -0
  103. package/lib/cjs/components/video.d.ts +8 -0
  104. package/lib/cjs/components/video.js +34 -0
  105. package/lib/cjs/components/video.js.map +1 -0
  106. package/lib/cjs/components/webchat-settings.d.ts +10 -0
  107. package/lib/cjs/components/webchat-settings.js +78 -0
  108. package/lib/cjs/components/webchat-settings.js.map +1 -0
  109. package/lib/cjs/components/whatsapp-template.d.ts +1 -0
  110. package/lib/cjs/components/whatsapp-template.js +26 -0
  111. package/lib/cjs/components/whatsapp-template.js.map +1 -0
  112. package/lib/cjs/constants.d.ts +168 -0
  113. package/lib/cjs/constants.js +190 -0
  114. package/lib/cjs/constants.js.map +1 -0
  115. package/lib/cjs/contexts.d.ts +69 -0
  116. package/lib/cjs/contexts.js +38 -0
  117. package/lib/cjs/contexts.js.map +1 -0
  118. package/lib/cjs/dev-app.d.ts +34 -0
  119. package/lib/cjs/dev-app.js +71 -0
  120. package/lib/cjs/dev-app.js.map +1 -0
  121. package/lib/cjs/index.d.ts +3 -0
  122. package/lib/cjs/index.js +28 -0
  123. package/lib/cjs/index.js.map +1 -0
  124. package/lib/cjs/message-utils.d.ts +18 -0
  125. package/lib/cjs/message-utils.js +61 -0
  126. package/lib/cjs/message-utils.js.map +1 -0
  127. package/lib/cjs/msg-to-botonic.d.ts +18 -0
  128. package/lib/cjs/msg-to-botonic.js +160 -0
  129. package/lib/cjs/msg-to-botonic.js.map +1 -0
  130. package/lib/cjs/node-app.d.ts +11 -0
  131. package/lib/cjs/node-app.js +25 -0
  132. package/lib/cjs/node-app.js.map +1 -0
  133. package/lib/cjs/react-bot.d.ts +8 -0
  134. package/lib/cjs/react-bot.js +35 -0
  135. package/lib/cjs/react-bot.js.map +1 -0
  136. package/lib/cjs/util/dom.d.ts +13 -0
  137. package/lib/cjs/util/dom.js +55 -0
  138. package/lib/cjs/util/dom.js.map +1 -0
  139. package/lib/cjs/util/environment.d.ts +6 -0
  140. package/lib/cjs/util/environment.js +68 -0
  141. package/lib/cjs/util/environment.js.map +1 -0
  142. package/lib/cjs/util/error-boundary.js +47 -0
  143. package/lib/cjs/util/error-boundary.js.map +1 -0
  144. package/lib/cjs/util/index.d.ts +0 -0
  145. package/lib/cjs/util/index.js +2 -0
  146. package/lib/cjs/util/index.js.map +1 -0
  147. package/lib/cjs/util/logs.d.ts +2 -0
  148. package/lib/cjs/util/logs.js +20 -0
  149. package/lib/cjs/util/logs.js.map +1 -0
  150. package/lib/cjs/util/objects.d.ts +3 -0
  151. package/lib/cjs/util/objects.js +44 -0
  152. package/lib/cjs/util/objects.js.map +1 -0
  153. package/lib/cjs/util/react.d.ts +12 -0
  154. package/lib/cjs/util/react.js +42 -0
  155. package/lib/cjs/util/react.js.map +1 -0
  156. package/lib/cjs/util/regexs.d.ts +2 -0
  157. package/lib/cjs/util/regexs.js +23 -0
  158. package/lib/cjs/util/regexs.js.map +1 -0
  159. package/lib/cjs/util/webchat.d.ts +11 -0
  160. package/lib/cjs/util/webchat.js +62 -0
  161. package/lib/cjs/util/webchat.js.map +1 -0
  162. package/lib/cjs/webchat/actions.d.ts +23 -0
  163. package/lib/cjs/webchat/actions.js +27 -0
  164. package/lib/cjs/webchat/actions.js.map +1 -0
  165. package/lib/cjs/webchat/components/attachment.d.ts +5 -0
  166. package/lib/cjs/webchat/components/attachment.js +32 -0
  167. package/lib/cjs/webchat/components/attachment.js.map +1 -0
  168. package/lib/cjs/webchat/components/common.d.ts +1 -0
  169. package/lib/cjs/webchat/components/common.js +13 -0
  170. package/lib/cjs/webchat/components/common.js.map +1 -0
  171. package/lib/cjs/webchat/components/conditional-animation.d.ts +1 -0
  172. package/lib/cjs/webchat/components/conditional-animation.js +18 -0
  173. package/lib/cjs/webchat/components/conditional-animation.js.map +1 -0
  174. package/lib/cjs/webchat/components/emoji-picker.d.ts +5 -0
  175. package/lib/cjs/webchat/components/emoji-picker.js +52 -0
  176. package/lib/cjs/webchat/components/emoji-picker.js.map +1 -0
  177. package/lib/cjs/webchat/components/persistent-menu.d.ts +10 -0
  178. package/lib/cjs/webchat/components/persistent-menu.js +59 -0
  179. package/lib/cjs/webchat/components/persistent-menu.js.map +1 -0
  180. package/lib/cjs/webchat/components/send-button.d.ts +3 -0
  181. package/lib/cjs/webchat/components/send-button.js +24 -0
  182. package/lib/cjs/webchat/components/send-button.js.map +1 -0
  183. package/lib/cjs/webchat/components/styled-scrollbar.d.ts +1 -0
  184. package/lib/cjs/webchat/components/styled-scrollbar.js +54 -0
  185. package/lib/cjs/webchat/components/styled-scrollbar.js.map +1 -0
  186. package/lib/cjs/webchat/components/typing-indicator.d.ts +1 -0
  187. package/lib/cjs/webchat/components/typing-indicator.js +14 -0
  188. package/lib/cjs/webchat/components/typing-indicator.js.map +1 -0
  189. package/lib/cjs/webchat/devices/device-adapter.d.ts +12 -0
  190. package/lib/cjs/webchat/devices/device-adapter.js +47 -0
  191. package/lib/cjs/webchat/devices/device-adapter.js.map +1 -0
  192. package/lib/cjs/webchat/devices/index.d.ts +11 -0
  193. package/lib/cjs/webchat/devices/index.js +23 -0
  194. package/lib/cjs/webchat/devices/index.js.map +1 -0
  195. package/lib/cjs/webchat/devices/scrollbar-controller.d.ts +12 -0
  196. package/lib/cjs/webchat/devices/scrollbar-controller.js +103 -0
  197. package/lib/cjs/webchat/devices/scrollbar-controller.js.map +1 -0
  198. package/lib/cjs/webchat/devices/webchat-resizer.d.ts +9 -0
  199. package/lib/cjs/webchat/devices/webchat-resizer.js +47 -0
  200. package/lib/cjs/webchat/devices/webchat-resizer.js.map +1 -0
  201. package/lib/cjs/webchat/header.d.ts +3 -0
  202. package/lib/cjs/webchat/header.js +95 -0
  203. package/lib/cjs/webchat/header.js.map +1 -0
  204. package/lib/cjs/webchat/hooks.d.ts +80 -0
  205. package/lib/cjs/webchat/hooks.js +218 -0
  206. package/lib/cjs/webchat/hooks.js.map +1 -0
  207. package/lib/cjs/webchat/index.d.ts +4 -0
  208. package/lib/cjs/webchat/index.js +17 -0
  209. package/lib/cjs/webchat/index.js.map +1 -0
  210. package/lib/cjs/webchat/message-list.d.ts +1 -0
  211. package/lib/cjs/webchat/message-list.js +46 -0
  212. package/lib/cjs/webchat/message-list.js.map +1 -0
  213. package/lib/cjs/webchat/messages-reducer.d.ts +1 -0
  214. package/lib/cjs/webchat/messages-reducer.js +58 -0
  215. package/lib/cjs/webchat/messages-reducer.js.map +1 -0
  216. package/lib/cjs/webchat/replies.d.ts +1 -0
  217. package/lib/cjs/webchat/replies.js +46 -0
  218. package/lib/cjs/webchat/replies.js.map +1 -0
  219. package/lib/cjs/webchat/session-view.d.ts +1 -0
  220. package/lib/cjs/webchat/session-view.js +124 -0
  221. package/lib/cjs/webchat/session-view.js.map +1 -0
  222. package/lib/cjs/webchat/use-storage-state-hook.d.ts +1 -0
  223. package/lib/cjs/webchat/use-storage-state-hook.js +32 -0
  224. package/lib/cjs/webchat/use-storage-state-hook.js.map +1 -0
  225. package/lib/cjs/webchat/webchat-dev.d.ts +7 -0
  226. package/lib/cjs/webchat/webchat-dev.js +64 -0
  227. package/lib/cjs/webchat/webchat-dev.js.map +1 -0
  228. package/lib/cjs/webchat/webchat-reducer.d.ts +1 -0
  229. package/lib/cjs/webchat/webchat-reducer.js +48 -0
  230. package/lib/cjs/webchat/webchat-reducer.js.map +1 -0
  231. package/lib/cjs/webchat/webchat.d.ts +3 -0
  232. package/lib/cjs/webchat/webchat.js +703 -0
  233. package/lib/cjs/webchat/webchat.js.map +1 -0
  234. package/lib/cjs/webchat/webview.d.ts +2 -0
  235. package/lib/cjs/webchat/webview.js +92 -0
  236. package/lib/cjs/webchat/webview.js.map +1 -0
  237. package/lib/cjs/webchat-app.d.ts +99 -0
  238. package/lib/cjs/webchat-app.js +269 -0
  239. package/lib/cjs/webchat-app.js.map +1 -0
  240. package/lib/cjs/webview.d.ts +9 -0
  241. package/lib/cjs/webview.js +102 -0
  242. package/lib/cjs/webview.js.map +1 -0
  243. package/package.json +3 -3
  244. package/lib/app.js +0 -19
  245. package/lib/app.js.map +0 -1
  246. package/lib/assets/attachment-icon.svg +0 -7
  247. package/lib/assets/audio.svg +0 -4
  248. package/lib/assets/botonic_react_logo100x100.png +0 -0
  249. package/lib/assets/document.svg +0 -3
  250. package/lib/assets/emojiButton.svg +0 -6
  251. package/lib/assets/image.svg +0 -4
  252. package/lib/assets/leftArrow.svg +0 -3
  253. package/lib/assets/menuButton.svg +0 -3
  254. package/lib/assets/rightArrow.svg +0 -3
  255. package/lib/assets/send-button.svg +0 -1
  256. package/lib/assets/video.svg +0 -3
  257. package/lib/botonic-tester.js +0 -224
  258. package/lib/botonic-tester.js.map +0 -1
  259. package/lib/components/audio.js +0 -48
  260. package/lib/components/audio.js.map +0 -1
  261. package/lib/components/button.js +0 -224
  262. package/lib/components/button.js.map +0 -1
  263. package/lib/components/buttons-disabler.js +0 -133
  264. package/lib/components/buttons-disabler.js.map +0 -1
  265. package/lib/components/carousel.js +0 -194
  266. package/lib/components/carousel.js.map +0 -1
  267. package/lib/components/components.js.map +0 -1
  268. package/lib/components/custom-message.js +0 -131
  269. package/lib/components/custom-message.js.map +0 -1
  270. package/lib/components/document.js +0 -76
  271. package/lib/components/document.js.map +0 -1
  272. package/lib/components/element.js +0 -69
  273. package/lib/components/element.js.map +0 -1
  274. package/lib/components/handoff.js +0 -69
  275. package/lib/components/handoff.js.map +0 -1
  276. package/lib/components/image.js +0 -91
  277. package/lib/components/image.js.map +0 -1
  278. package/lib/components/index.d.ts +0 -228
  279. package/lib/components/index.js +0 -193
  280. package/lib/components/index.js.map +0 -1
  281. package/lib/components/location.js +0 -69
  282. package/lib/components/location.js.map +0 -1
  283. package/lib/components/markdown.js +0 -108
  284. package/lib/components/markdown.js.map +0 -1
  285. package/lib/components/message-template.js +0 -36
  286. package/lib/components/message-template.js.map +0 -1
  287. package/lib/components/message.js +0 -351
  288. package/lib/components/message.js.map +0 -1
  289. package/lib/components/multichannel/facebook/facebook.js +0 -96
  290. package/lib/components/multichannel/facebook/facebook.js.map +0 -1
  291. package/lib/components/multichannel/index.d.ts +0 -65
  292. package/lib/components/multichannel/index.js +0 -46
  293. package/lib/components/multichannel/index.js.map +0 -1
  294. package/lib/components/multichannel/multichannel-button.js +0 -119
  295. package/lib/components/multichannel/multichannel-button.js.map +0 -1
  296. package/lib/components/multichannel/multichannel-carousel.js +0 -143
  297. package/lib/components/multichannel/multichannel-carousel.js.map +0 -1
  298. package/lib/components/multichannel/multichannel-context.js +0 -24
  299. package/lib/components/multichannel/multichannel-context.js.map +0 -1
  300. package/lib/components/multichannel/multichannel-reply.js +0 -46
  301. package/lib/components/multichannel/multichannel-reply.js.map +0 -1
  302. package/lib/components/multichannel/multichannel-text.js +0 -222
  303. package/lib/components/multichannel/multichannel-text.js.map +0 -1
  304. package/lib/components/multichannel/multichannel-utils.js +0 -126
  305. package/lib/components/multichannel/multichannel-utils.js.map +0 -1
  306. package/lib/components/multichannel/multichannel.js +0 -111
  307. package/lib/components/multichannel/multichannel.js.map +0 -1
  308. package/lib/components/pic.js +0 -50
  309. package/lib/components/pic.js.map +0 -1
  310. package/lib/components/raw.js +0 -70
  311. package/lib/components/raw.js.map +0 -1
  312. package/lib/components/reply.js +0 -107
  313. package/lib/components/reply.js.map +0 -1
  314. package/lib/components/share-button.js +0 -36
  315. package/lib/components/share-button.js.map +0 -1
  316. package/lib/components/subtitle.js +0 -54
  317. package/lib/components/subtitle.js.map +0 -1
  318. package/lib/components/text.js +0 -80
  319. package/lib/components/text.js.map +0 -1
  320. package/lib/components/timestamps.js +0 -69
  321. package/lib/components/timestamps.js.map +0 -1
  322. package/lib/components/title.js +0 -52
  323. package/lib/components/title.js.map +0 -1
  324. package/lib/components/video.js +0 -51
  325. package/lib/components/video.js.map +0 -1
  326. package/lib/components/webchat-settings.js +0 -118
  327. package/lib/components/webchat-settings.js.map +0 -1
  328. package/lib/components/whatsapp-template.js +0 -53
  329. package/lib/components/whatsapp-template.js.map +0 -1
  330. package/lib/constants.js +0 -203
  331. package/lib/constants.js.map +0 -1
  332. package/lib/contexts.js +0 -57
  333. package/lib/contexts.js.map +0 -1
  334. package/lib/dev-app.js +0 -241
  335. package/lib/dev-app.js.map +0 -1
  336. package/lib/index.d.ts +0 -238
  337. package/lib/index.js +0 -131
  338. package/lib/index.js.map +0 -1
  339. package/lib/message-utils.js +0 -149
  340. package/lib/message-utils.js.map +0 -1
  341. package/lib/msg-to-botonic.js +0 -199
  342. package/lib/msg-to-botonic.js.map +0 -1
  343. package/lib/node-app.js +0 -97
  344. package/lib/node-app.js.map +0 -1
  345. package/lib/react-bot.js +0 -167
  346. package/lib/react-bot.js.map +0 -1
  347. package/lib/util/dom.js +0 -84
  348. package/lib/util/dom.js.map +0 -1
  349. package/lib/util/environment.js +0 -42
  350. package/lib/util/environment.js.map +0 -1
  351. package/lib/util/error-boundary.js +0 -105
  352. package/lib/util/error-boundary.js.map +0 -1
  353. package/lib/util/index.d.ts +0 -9
  354. package/lib/util/index.js +0 -2
  355. package/lib/util/index.js.map +0 -1
  356. package/lib/util/logs.js +0 -28
  357. package/lib/util/logs.js.map +0 -1
  358. package/lib/util/objects.js +0 -60
  359. package/lib/util/objects.js.map +0 -1
  360. package/lib/util/react.js +0 -75
  361. package/lib/util/react.js.map +0 -1
  362. package/lib/util/regexs.js +0 -31
  363. package/lib/util/regexs.js.map +0 -1
  364. package/lib/util/webchat.js +0 -92
  365. package/lib/util/webchat.js.map +0 -1
  366. package/lib/webchat/actions.js +0 -53
  367. package/lib/webchat/actions.js.map +0 -1
  368. package/lib/webchat/components/attachment.js +0 -68
  369. package/lib/webchat/components/attachment.js.map +0 -1
  370. package/lib/webchat/components/common.js +0 -29
  371. package/lib/webchat/components/common.js.map +0 -1
  372. package/lib/webchat/components/conditional-animation.js +0 -42
  373. package/lib/webchat/components/conditional-animation.js.map +0 -1
  374. package/lib/webchat/components/emoji-picker.js +0 -89
  375. package/lib/webchat/components/emoji-picker.js.map +0 -1
  376. package/lib/webchat/components/persistent-menu.js +0 -104
  377. package/lib/webchat/components/persistent-menu.js.map +0 -1
  378. package/lib/webchat/components/send-button.js +0 -45
  379. package/lib/webchat/components/send-button.js.map +0 -1
  380. package/lib/webchat/components/styled-scrollbar.js +0 -55
  381. package/lib/webchat/components/styled-scrollbar.js.map +0 -1
  382. package/lib/webchat/components/styled-scrollbar.scss +0 -12
  383. package/lib/webchat/components/typing-indicator.js +0 -27
  384. package/lib/webchat/components/typing-indicator.js.map +0 -1
  385. package/lib/webchat/components/typing-indicator.scss +0 -38
  386. package/lib/webchat/devices/device-adapter.js +0 -82
  387. package/lib/webchat/devices/device-adapter.js.map +0 -1
  388. package/lib/webchat/devices/index.js +0 -32
  389. package/lib/webchat/devices/index.js.map +0 -1
  390. package/lib/webchat/devices/scrollbar-controller.js +0 -152
  391. package/lib/webchat/devices/scrollbar-controller.js.map +0 -1
  392. package/lib/webchat/devices/webchat-resizer.js +0 -76
  393. package/lib/webchat/devices/webchat-resizer.js.map +0 -1
  394. package/lib/webchat/header.js +0 -116
  395. package/lib/webchat/header.js.map +0 -1
  396. package/lib/webchat/hooks.js +0 -359
  397. package/lib/webchat/hooks.js.map +0 -1
  398. package/lib/webchat/index.d.ts +0 -62
  399. package/lib/webchat/index.js +0 -32
  400. package/lib/webchat/index.js.map +0 -1
  401. package/lib/webchat/message-list.js +0 -88
  402. package/lib/webchat/message-list.js.map +0 -1
  403. package/lib/webchat/messages-reducer.js +0 -93
  404. package/lib/webchat/messages-reducer.js.map +0 -1
  405. package/lib/webchat/replies.js +0 -78
  406. package/lib/webchat/replies.js.map +0 -1
  407. package/lib/webchat/session-view.js +0 -106
  408. package/lib/webchat/session-view.js.map +0 -1
  409. package/lib/webchat/use-storage-state-hook.js +0 -60
  410. package/lib/webchat/use-storage-state-hook.js.map +0 -1
  411. package/lib/webchat/webchat-dev.js +0 -109
  412. package/lib/webchat/webchat-dev.js.map +0 -1
  413. package/lib/webchat/webchat-reducer.js +0 -108
  414. package/lib/webchat/webchat-reducer.js.map +0 -1
  415. package/lib/webchat/webchat.js +0 -1108
  416. package/lib/webchat/webchat.js.map +0 -1
  417. package/lib/webchat/webview.js +0 -122
  418. package/lib/webchat/webview.js.map +0 -1
  419. package/lib/webchat-app.js +0 -660
  420. package/lib/webchat-app.js.map +0 -1
  421. package/lib/webchat.template.html +0 -37
  422. package/lib/webview.js +0 -231
  423. package/lib/webview.js.map +0 -1
  424. package/lib/webview.template.html +0 -39
package/lib/index.d.ts DELETED
@@ -1,238 +0,0 @@
1
- import * as core from '@botonic/core'
2
- import * as React from 'react'
3
-
4
- import {
5
- BlockInputOption,
6
- ButtonProps,
7
- CoverComponentOptions,
8
- PersistentMenuTheme,
9
- ReplyProps,
10
- ThemeProps,
11
- WebchatSettingsProps,
12
- Webview,
13
- } from './components'
14
- import { WebchatState } from './webchat'
15
-
16
- /**
17
- * See @botonic/core's Response for the description of the Response's semantics*/
18
- export interface BotResponse extends core.BotRequest {
19
- response: [React.ReactNode]
20
- }
21
-
22
- export interface Route extends core.Route {
23
- action?: React.ComponentType<any>
24
- retryAction?: React.ComponentType<any>
25
- }
26
- type Routes = core.Routes<Route>
27
-
28
- export class ReactBot extends core.CoreBot {
29
- renderReactActions({
30
- actions,
31
- request: ActionRequest,
32
- }): Promise<React.ReactNode>
33
- }
34
-
35
- export class NodeApp {
36
- constructor(options: Omit<core.CoreBotConfig, 'renderer'>)
37
- bot: ReactBot
38
- input(request: core.BotRequest): Promise<BotResponse>
39
- renderNode(args): string
40
- }
41
-
42
- // Parameters of the actions' botonicInit method
43
- export interface ActionRequest {
44
- defaultDelay: number
45
- defaultTyping: number
46
- input: core.Input
47
- lastRoutePath: string
48
- params: { [key: string]: string }
49
- plugins: { [id: string]: core.Plugin }
50
- session: core.Session
51
- }
52
-
53
- export class BotonicInputTester {
54
- constructor(app: NodeApp)
55
-
56
- text(
57
- inp: string,
58
- session?: core.Session,
59
- lastRoutePath?: string
60
- ): Promise<string>
61
-
62
- payload(
63
- inp: string,
64
- session?: core.Session,
65
- lastRoutePath?: string
66
- ): Promise<string>
67
- }
68
-
69
- export class BotonicOutputTester {
70
- constructor(app: NodeApp)
71
-
72
- text(out: string, replies?: any): Promise<string>
73
- }
74
-
75
- export interface RequestContextInterface extends ActionRequest {
76
- getString: (stringId: string) => string
77
- setLocale: (locale: string) => string
78
- }
79
-
80
- export const RequestContext: React.Context<RequestContextInterface>
81
- export type RequestContext = React.Context<RequestContextInterface>
82
-
83
- export interface CustomMessageType {
84
- customTypeName: string
85
- }
86
-
87
- export function msgToBotonic(
88
- msg: any,
89
- customMessageTypes?: CustomMessageType[]
90
- ): React.ReactNode
91
-
92
- export function msgsToBotonic(
93
- msgs: any | any[],
94
- customMessageTypes?: CustomMessageType[]
95
- ): React.ReactNode
96
-
97
- export interface WebchatArgs {
98
- blockInputs?: BlockInputOption[]
99
- coverComponent?: CoverComponentOptions
100
- defaultDelay?: number
101
- defaultTyping?: number
102
- enableAnimations?: boolean
103
- enableAttachments?: boolean
104
- enableEmojiPicker?: boolean
105
- enableUserInput?: boolean
106
- shadowDOM?: boolean | (() => boolean)
107
- hostId?: string
108
- getString?: (stringId: string, session: core.Session) => string
109
- onClose?: (app: WebchatApp, args: any) => void
110
- onInit?: (app: WebchatApp, args: any) => void
111
- onMessage?: (app: WebchatApp, message: WebchatMessage) => void
112
- onOpen?: (app: WebchatApp, args: any) => void
113
- onConnectionChange?: (app: WebchatApp, isOnline: boolean) => void
114
- persistentMenu?: PersistentMenuTheme
115
- storage?: Storage | null
116
- storageKey?: any
117
- theme?: ThemeProps
118
- }
119
-
120
- export interface WebchatAppArgs extends WebchatArgs {
121
- appId?: string
122
- visibility?: () => boolean
123
- }
124
-
125
- export interface WebchatMessage {
126
- ack: 0 | 1
127
- buttons: ButtonProps[]
128
- data: any
129
- delay: number
130
- display: boolean
131
- from: 'user' | 'bot'
132
- id: string
133
- markdown: boolean
134
- replies: ReplyProps[]
135
- timestamp: string
136
- type: core.InputType
137
- typing: number
138
- }
139
-
140
- export interface OnUserInputArgs {
141
- input: core.Input
142
- lastRoutePath?: string
143
- session?: core.Session
144
- user: core.SessionUser
145
- }
146
-
147
- export interface OnStateChangeArgs {
148
- messagesJSON: WebchatMessage[]
149
- user: core.SessionUser
150
- }
151
-
152
- export interface MessageInfo {
153
- data: any | 'typing_on'
154
- id: string
155
- type: 'update_webchat_settings' | 'sender_action'
156
- }
157
-
158
- export interface Event {
159
- action?: 'update_message_info'
160
- isError?: boolean
161
- message?: MessageInfo
162
- }
163
-
164
- export class WebchatApp {
165
- constructor(options: WebchatAppArgs)
166
- addBotMessage(message: WebchatMessage): void
167
- addBotText(text: string): void
168
- addUserMessage(message: WebchatMessage): void
169
- addUserPayload(payload: string): void
170
- addUserText(text: string): void
171
- clearMessages(): void
172
- close(): void
173
- closeCoverComponent(): void
174
- destroy(): void
175
- getComponent(
176
- host: HTMLElement,
177
- optionsAtRuntime?: WebchatAppArgs
178
- ): React.ForwardRefExoticComponent<any>
179
- getLastMessageUpdate(): string
180
- getMessages(): WebchatMessage[]
181
- getVisibility(): Promise<boolean>
182
- isWebchatVisible({ appId: string }): Promise<boolean>
183
- onCloseWebchat(args: any): void
184
- onInitWebchat(args: any): void
185
- onOpenWebchat(args: any): void
186
- onServiceEvent(event: Event): void
187
- onStateChange(args: OnStateChangeArgs): void
188
- onUserInput(args: OnUserInputArgs): Promise<void>
189
- open(): void
190
- openCoverComponent(): void
191
- render(dest?: HTMLElement, optionsAtRuntime?: WebchatAppArgs): void
192
- resendUnsentInputs(): Promise<void>
193
- resolveWebchatVisibility(optionsAtRuntime: {
194
- appId: string
195
- visibility: () => boolean
196
- }): Promise<boolean>
197
- setTyping(enable: boolean): void
198
- toggle(): void
199
- toggleCoverComponent(): void
200
- updateMessageInfo(msgId: string, messageInfo: MessageInfo): void
201
- updateLastMessageDate(date: string): void
202
- updateUser(user: Partial<core.SessionUser>): void
203
- updateWebchatSettings(settings: WebchatSettingsProps): void
204
- renderCustomComponent(customComponent: React.ReactNode): void
205
- unmountCustomComponent(): void
206
- }
207
-
208
- export interface WebchatContextProps {
209
- sendText: (text: string, payload?: string) => void
210
- sendAttachment: (attachment: File) => void
211
- sendPayload: (payload: string) => void
212
- sendInput: (input: core.Input) => void
213
- openWebview: (webviewComponent: Webview) => void
214
- addMessage: (message: WebchatMessage) => void
215
- updateMessage: (message: WebchatMessage) => void
216
- updateReplies: (replies: boolean) => void
217
- updateLatestInput: (input: core.Input) => void
218
- closeWebview: () => void
219
- toggleWebchat: () => void
220
- getThemeProperty: (property: string, defaultValue?: string) => any
221
- resolveCase: () => void
222
- theme: ThemeProps
223
- webchatState: WebchatState
224
- updateWebchatDevSettings: (settings: WebchatSettingsProps) => void
225
- updateUser: (user: Partial<core.SessionUser>) => void
226
- }
227
- export const WebchatContext: React.Context<WebchatContextProps>
228
- export type WebchatContext = React.Context<WebchatContextProps>
229
-
230
- export class DevApp extends WebchatApp {
231
- constructor(args: WebchatAppArgs)
232
- onUserInput(args: OnUserInputArgs): Promise<void>
233
- render(dest: HTMLElement, optionsAtRuntime: WebchatAppArgs): void
234
- }
235
-
236
- export * from './components'
237
- export * from './util'
238
- export * from './webchat'
package/lib/index.js DELETED
@@ -1,131 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- BotonicInputTester: true,
8
- BotonicOutputTester: true,
9
- RequestContext: true,
10
- WebchatContext: true,
11
- DevApp: true,
12
- msgsToBotonic: true,
13
- msgToBotonic: true,
14
- NodeApp: true,
15
- staticAsset: true,
16
- getBotonicApp: true,
17
- Webchat: true,
18
- WebchatApp: true,
19
- WebviewApp: true
20
- };
21
- Object.defineProperty(exports, "BotonicInputTester", {
22
- enumerable: true,
23
- get: function get() {
24
- return _botonicTester.BotonicInputTester;
25
- }
26
- });
27
- Object.defineProperty(exports, "BotonicOutputTester", {
28
- enumerable: true,
29
- get: function get() {
30
- return _botonicTester.BotonicOutputTester;
31
- }
32
- });
33
- Object.defineProperty(exports, "DevApp", {
34
- enumerable: true,
35
- get: function get() {
36
- return _devApp.DevApp;
37
- }
38
- });
39
- Object.defineProperty(exports, "NodeApp", {
40
- enumerable: true,
41
- get: function get() {
42
- return _nodeApp.NodeApp;
43
- }
44
- });
45
- Object.defineProperty(exports, "RequestContext", {
46
- enumerable: true,
47
- get: function get() {
48
- return _contexts.RequestContext;
49
- }
50
- });
51
- Object.defineProperty(exports, "Webchat", {
52
- enumerable: true,
53
- get: function get() {
54
- return _index.Webchat;
55
- }
56
- });
57
- Object.defineProperty(exports, "WebchatApp", {
58
- enumerable: true,
59
- get: function get() {
60
- return _webchatApp.WebchatApp;
61
- }
62
- });
63
- Object.defineProperty(exports, "WebchatContext", {
64
- enumerable: true,
65
- get: function get() {
66
- return _contexts.WebchatContext;
67
- }
68
- });
69
- Object.defineProperty(exports, "WebviewApp", {
70
- enumerable: true,
71
- get: function get() {
72
- return _webview.WebviewApp;
73
- }
74
- });
75
- Object.defineProperty(exports, "getBotonicApp", {
76
- enumerable: true,
77
- get: function get() {
78
- return _index.getBotonicApp;
79
- }
80
- });
81
- Object.defineProperty(exports, "msgToBotonic", {
82
- enumerable: true,
83
- get: function get() {
84
- return _msgToBotonic.msgToBotonic;
85
- }
86
- });
87
- Object.defineProperty(exports, "msgsToBotonic", {
88
- enumerable: true,
89
- get: function get() {
90
- return _msgToBotonic.msgsToBotonic;
91
- }
92
- });
93
- Object.defineProperty(exports, "staticAsset", {
94
- enumerable: true,
95
- get: function get() {
96
- return _environment.staticAsset;
97
- }
98
- });
99
-
100
- var _botonicTester = require("./botonic-tester");
101
-
102
- var _components = require("./components");
103
-
104
- Object.keys(_components).forEach(function (key) {
105
- if (key === "default" || key === "__esModule") return;
106
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
107
- if (key in exports && exports[key] === _components[key]) return;
108
- Object.defineProperty(exports, key, {
109
- enumerable: true,
110
- get: function get() {
111
- return _components[key];
112
- }
113
- });
114
- });
115
-
116
- var _contexts = require("./contexts");
117
-
118
- var _devApp = require("./dev-app");
119
-
120
- var _msgToBotonic = require("./msg-to-botonic");
121
-
122
- var _nodeApp = require("./node-app");
123
-
124
- var _environment = require("./util/environment");
125
-
126
- var _index = require("./webchat/index.js");
127
-
128
- var _webchatApp = require("./webchat-app");
129
-
130
- var _webview = require("./webview");
131
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["export { BotonicInputTester, BotonicOutputTester } from './botonic-tester'\nexport * from './components'\nexport { RequestContext, WebchatContext } from './contexts'\nexport { DevApp } from './dev-app'\nexport { msgsToBotonic, msgToBotonic } from './msg-to-botonic'\nexport { NodeApp } from './node-app'\nexport { staticAsset } from './util/environment'\nexport { getBotonicApp, Webchat } from './webchat/index.js'\nexport { WebchatApp } from './webchat-app'\nexport { WebviewApp } from './webview'\n"],"file":"index.js"}
@@ -1,149 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.readDataURL = exports.isVideo = exports.isText = exports.isPostback = exports.isOfType = exports.isMedia = exports.isLocation = exports.isImage = exports.isDocument = exports.isCustom = exports.isContact = exports.isCarousel = exports.isButtonMessage = exports.isAudio = exports.isAllowedSize = exports.getMediaType = exports.getFullMimeWhitelist = exports.INPUT_MEDIA_TYPES = void 0;
9
-
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
- var _core = require("@botonic/core");
13
-
14
- var _constants = require("./constants");
15
-
16
- var isOfType = function isOfType(msgType, type) {
17
- return msgType === type;
18
- };
19
-
20
- exports.isOfType = isOfType;
21
-
22
- var isText = function isText(msg) {
23
- return isOfType(msg.type, _core.INPUT.TEXT);
24
- };
25
-
26
- exports.isText = isText;
27
-
28
- var isPostback = function isPostback(msg) {
29
- return isOfType(msg.type, _core.INPUT.POSTBACK);
30
- };
31
-
32
- exports.isPostback = isPostback;
33
-
34
- var isAudio = function isAudio(msg) {
35
- return isOfType(msg.type, _core.INPUT.AUDIO);
36
- };
37
-
38
- exports.isAudio = isAudio;
39
-
40
- var isImage = function isImage(msg) {
41
- return isOfType(msg.type, _core.INPUT.IMAGE);
42
- };
43
-
44
- exports.isImage = isImage;
45
-
46
- var isVideo = function isVideo(msg) {
47
- return isOfType(msg.type, _core.INPUT.VIDEO);
48
- };
49
-
50
- exports.isVideo = isVideo;
51
-
52
- var isDocument = function isDocument(msg) {
53
- return isOfType(msg.type, _core.INPUT.DOCUMENT);
54
- };
55
-
56
- exports.isDocument = isDocument;
57
-
58
- var isLocation = function isLocation(msg) {
59
- return isOfType(msg.type, _core.INPUT.LOCATION);
60
- };
61
-
62
- exports.isLocation = isLocation;
63
-
64
- var isContact = function isContact(msg) {
65
- return isOfType(msg.type, _core.INPUT.CONTACT);
66
- };
67
-
68
- exports.isContact = isContact;
69
-
70
- var isCarousel = function isCarousel(msg) {
71
- return isOfType(msg.type, _core.INPUT.CAROUSEL);
72
- };
73
-
74
- exports.isCarousel = isCarousel;
75
-
76
- var isCustom = function isCustom(msg) {
77
- return isOfType(msg.type, _core.INPUT.CUSTOM);
78
- };
79
-
80
- exports.isCustom = isCustom;
81
-
82
- var isButtonMessage = function isButtonMessage(msg) {
83
- return isOfType(msg.type, _core.INPUT.BUTTON_MESSAGE);
84
- };
85
-
86
- exports.isButtonMessage = isButtonMessage;
87
- var INPUT_MEDIA_TYPES = [_core.INPUT.AUDIO, _core.INPUT.IMAGE, _core.INPUT.VIDEO, _core.INPUT.DOCUMENT];
88
- exports.INPUT_MEDIA_TYPES = INPUT_MEDIA_TYPES;
89
-
90
- var isMedia = function isMedia(message) {
91
- return INPUT_MEDIA_TYPES.some(function (type) {
92
- return isOfType(message.type, type);
93
- });
94
- }; // TODO: Centralize handling attachments in class
95
-
96
-
97
- exports.isMedia = isMedia;
98
-
99
- var readDataURL = function readDataURL(file) {
100
- return new Promise(function (resolve, reject) {
101
- var reader = new FileReader();
102
- reader.readAsDataURL(file);
103
-
104
- reader.onload = function () {
105
- return resolve(reader.result);
106
- };
107
-
108
- reader.onerror = function (error) {
109
- return reject(error);
110
- };
111
- });
112
- };
113
-
114
- exports.readDataURL = readDataURL;
115
-
116
- var isAllowedSize = function isAllowedSize(fileSize) {
117
- var maxAllowedBytesSize = _constants.MAX_ALLOWED_SIZE_MB * 1024 * 1024;
118
- if (fileSize > maxAllowedBytesSize) return false;
119
- return true;
120
- };
121
-
122
- exports.isAllowedSize = isAllowedSize;
123
-
124
- var getMediaType = function getMediaType(fileType) {
125
- return Object.entries(_constants.MIME_WHITELIST).filter(function (_ref) {
126
- var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
127
- _ = _ref2[0],
128
- formatsForType = _ref2[1];
129
-
130
- return formatsForType.includes(fileType);
131
- }).map(function (_ref3) {
132
- var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2),
133
- type = _ref4[0],
134
- _ = _ref4[1];
135
-
136
- return type;
137
- })[0];
138
- };
139
-
140
- exports.getMediaType = getMediaType;
141
-
142
- var getFullMimeWhitelist = function getFullMimeWhitelist() {
143
- return Object.values(_constants.MIME_WHITELIST).map(function (acceptedFormatsForType) {
144
- return acceptedFormatsForType.join(',');
145
- });
146
- };
147
-
148
- exports.getFullMimeWhitelist = getFullMimeWhitelist;
149
- //# sourceMappingURL=message-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/message-utils.js"],"names":["isOfType","msgType","type","isText","msg","INPUT","TEXT","isPostback","POSTBACK","isAudio","AUDIO","isImage","IMAGE","isVideo","VIDEO","isDocument","DOCUMENT","isLocation","LOCATION","isContact","CONTACT","isCarousel","CAROUSEL","isCustom","CUSTOM","isButtonMessage","BUTTON_MESSAGE","INPUT_MEDIA_TYPES","isMedia","message","some","readDataURL","file","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","result","onerror","error","isAllowedSize","fileSize","maxAllowedBytesSize","MAX_ALLOWED_SIZE_MB","getMediaType","fileType","Object","entries","MIME_WHITELIST","filter","_","formatsForType","includes","map","getFullMimeWhitelist","values","acceptedFormatsForType","join"],"mappings":"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","sourcesContent":["import { INPUT } from '@botonic/core'\n\nimport { MAX_ALLOWED_SIZE_MB, MIME_WHITELIST } from './constants'\n\nexport const isOfType = (msgType, type) => msgType === type\n\nexport const isText = msg => isOfType(msg.type, INPUT.TEXT)\nexport const isPostback = msg => isOfType(msg.type, INPUT.POSTBACK)\nexport const isAudio = msg => isOfType(msg.type, INPUT.AUDIO)\nexport const isImage = msg => isOfType(msg.type, INPUT.IMAGE)\nexport const isVideo = msg => isOfType(msg.type, INPUT.VIDEO)\nexport const isDocument = msg => isOfType(msg.type, INPUT.DOCUMENT)\nexport const isLocation = msg => isOfType(msg.type, INPUT.LOCATION)\nexport const isContact = msg => isOfType(msg.type, INPUT.CONTACT)\nexport const isCarousel = msg => isOfType(msg.type, INPUT.CAROUSEL)\nexport const isCustom = msg => isOfType(msg.type, INPUT.CUSTOM)\nexport const isButtonMessage = msg => isOfType(msg.type, INPUT.BUTTON_MESSAGE)\n\nexport const INPUT_MEDIA_TYPES = [\n INPUT.AUDIO,\n INPUT.IMAGE,\n INPUT.VIDEO,\n INPUT.DOCUMENT,\n]\n\nexport const isMedia = message =>\n INPUT_MEDIA_TYPES.some(type => isOfType(message.type, type))\n\n// TODO: Centralize handling attachments in class\n\nexport const readDataURL = file =>\n new Promise((resolve, reject) => {\n const reader = new FileReader()\n reader.readAsDataURL(file)\n reader.onload = () => resolve(reader.result)\n reader.onerror = error => reject(error)\n })\n\nexport const isAllowedSize = fileSize => {\n const maxAllowedBytesSize = MAX_ALLOWED_SIZE_MB * 1024 * 1024\n if (fileSize > maxAllowedBytesSize) return false\n return true\n}\n\nexport const getMediaType = fileType => {\n return Object.entries(MIME_WHITELIST)\n .filter(([_, formatsForType]) => formatsForType.includes(fileType))\n .map(([type, _]) => type)[0]\n}\n\nexport const getFullMimeWhitelist = () =>\n Object.values(MIME_WHITELIST).map(acceptedFormatsForType =>\n acceptedFormatsForType.join(',')\n )\n"],"file":"message-utils.js"}