@botonic/react 0.21.5 → 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 (425) 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/src/util/environment.js +29 -1
  245. package/lib/app.js +0 -19
  246. package/lib/app.js.map +0 -1
  247. package/lib/assets/attachment-icon.svg +0 -7
  248. package/lib/assets/audio.svg +0 -4
  249. package/lib/assets/botonic_react_logo100x100.png +0 -0
  250. package/lib/assets/document.svg +0 -3
  251. package/lib/assets/emojiButton.svg +0 -6
  252. package/lib/assets/image.svg +0 -4
  253. package/lib/assets/leftArrow.svg +0 -3
  254. package/lib/assets/menuButton.svg +0 -3
  255. package/lib/assets/rightArrow.svg +0 -3
  256. package/lib/assets/send-button.svg +0 -1
  257. package/lib/assets/video.svg +0 -3
  258. package/lib/botonic-tester.js +0 -224
  259. package/lib/botonic-tester.js.map +0 -1
  260. package/lib/components/audio.js +0 -48
  261. package/lib/components/audio.js.map +0 -1
  262. package/lib/components/button.js +0 -224
  263. package/lib/components/button.js.map +0 -1
  264. package/lib/components/buttons-disabler.js +0 -133
  265. package/lib/components/buttons-disabler.js.map +0 -1
  266. package/lib/components/carousel.js +0 -194
  267. package/lib/components/carousel.js.map +0 -1
  268. package/lib/components/components.js.map +0 -1
  269. package/lib/components/custom-message.js +0 -131
  270. package/lib/components/custom-message.js.map +0 -1
  271. package/lib/components/document.js +0 -76
  272. package/lib/components/document.js.map +0 -1
  273. package/lib/components/element.js +0 -69
  274. package/lib/components/element.js.map +0 -1
  275. package/lib/components/handoff.js +0 -69
  276. package/lib/components/handoff.js.map +0 -1
  277. package/lib/components/image.js +0 -91
  278. package/lib/components/image.js.map +0 -1
  279. package/lib/components/index.d.ts +0 -228
  280. package/lib/components/index.js +0 -193
  281. package/lib/components/index.js.map +0 -1
  282. package/lib/components/location.js +0 -69
  283. package/lib/components/location.js.map +0 -1
  284. package/lib/components/markdown.js +0 -108
  285. package/lib/components/markdown.js.map +0 -1
  286. package/lib/components/message-template.js +0 -36
  287. package/lib/components/message-template.js.map +0 -1
  288. package/lib/components/message.js +0 -351
  289. package/lib/components/message.js.map +0 -1
  290. package/lib/components/multichannel/facebook/facebook.js +0 -96
  291. package/lib/components/multichannel/facebook/facebook.js.map +0 -1
  292. package/lib/components/multichannel/index.d.ts +0 -65
  293. package/lib/components/multichannel/index.js +0 -46
  294. package/lib/components/multichannel/index.js.map +0 -1
  295. package/lib/components/multichannel/multichannel-button.js +0 -119
  296. package/lib/components/multichannel/multichannel-button.js.map +0 -1
  297. package/lib/components/multichannel/multichannel-carousel.js +0 -143
  298. package/lib/components/multichannel/multichannel-carousel.js.map +0 -1
  299. package/lib/components/multichannel/multichannel-context.js +0 -24
  300. package/lib/components/multichannel/multichannel-context.js.map +0 -1
  301. package/lib/components/multichannel/multichannel-reply.js +0 -46
  302. package/lib/components/multichannel/multichannel-reply.js.map +0 -1
  303. package/lib/components/multichannel/multichannel-text.js +0 -222
  304. package/lib/components/multichannel/multichannel-text.js.map +0 -1
  305. package/lib/components/multichannel/multichannel-utils.js +0 -126
  306. package/lib/components/multichannel/multichannel-utils.js.map +0 -1
  307. package/lib/components/multichannel/multichannel.js +0 -111
  308. package/lib/components/multichannel/multichannel.js.map +0 -1
  309. package/lib/components/pic.js +0 -50
  310. package/lib/components/pic.js.map +0 -1
  311. package/lib/components/raw.js +0 -70
  312. package/lib/components/raw.js.map +0 -1
  313. package/lib/components/reply.js +0 -107
  314. package/lib/components/reply.js.map +0 -1
  315. package/lib/components/share-button.js +0 -36
  316. package/lib/components/share-button.js.map +0 -1
  317. package/lib/components/subtitle.js +0 -54
  318. package/lib/components/subtitle.js.map +0 -1
  319. package/lib/components/text.js +0 -80
  320. package/lib/components/text.js.map +0 -1
  321. package/lib/components/timestamps.js +0 -69
  322. package/lib/components/timestamps.js.map +0 -1
  323. package/lib/components/title.js +0 -52
  324. package/lib/components/title.js.map +0 -1
  325. package/lib/components/video.js +0 -51
  326. package/lib/components/video.js.map +0 -1
  327. package/lib/components/webchat-settings.js +0 -118
  328. package/lib/components/webchat-settings.js.map +0 -1
  329. package/lib/components/whatsapp-template.js +0 -53
  330. package/lib/components/whatsapp-template.js.map +0 -1
  331. package/lib/constants.js +0 -203
  332. package/lib/constants.js.map +0 -1
  333. package/lib/contexts.js +0 -57
  334. package/lib/contexts.js.map +0 -1
  335. package/lib/dev-app.js +0 -241
  336. package/lib/dev-app.js.map +0 -1
  337. package/lib/index.d.ts +0 -238
  338. package/lib/index.js +0 -131
  339. package/lib/index.js.map +0 -1
  340. package/lib/message-utils.js +0 -149
  341. package/lib/message-utils.js.map +0 -1
  342. package/lib/msg-to-botonic.js +0 -199
  343. package/lib/msg-to-botonic.js.map +0 -1
  344. package/lib/node-app.js +0 -97
  345. package/lib/node-app.js.map +0 -1
  346. package/lib/react-bot.js +0 -167
  347. package/lib/react-bot.js.map +0 -1
  348. package/lib/util/dom.js +0 -84
  349. package/lib/util/dom.js.map +0 -1
  350. package/lib/util/environment.js +0 -42
  351. package/lib/util/environment.js.map +0 -1
  352. package/lib/util/error-boundary.js +0 -105
  353. package/lib/util/error-boundary.js.map +0 -1
  354. package/lib/util/index.d.ts +0 -9
  355. package/lib/util/index.js +0 -2
  356. package/lib/util/index.js.map +0 -1
  357. package/lib/util/logs.js +0 -28
  358. package/lib/util/logs.js.map +0 -1
  359. package/lib/util/objects.js +0 -60
  360. package/lib/util/objects.js.map +0 -1
  361. package/lib/util/react.js +0 -75
  362. package/lib/util/react.js.map +0 -1
  363. package/lib/util/regexs.js +0 -31
  364. package/lib/util/regexs.js.map +0 -1
  365. package/lib/util/webchat.js +0 -92
  366. package/lib/util/webchat.js.map +0 -1
  367. package/lib/webchat/actions.js +0 -53
  368. package/lib/webchat/actions.js.map +0 -1
  369. package/lib/webchat/components/attachment.js +0 -68
  370. package/lib/webchat/components/attachment.js.map +0 -1
  371. package/lib/webchat/components/common.js +0 -29
  372. package/lib/webchat/components/common.js.map +0 -1
  373. package/lib/webchat/components/conditional-animation.js +0 -42
  374. package/lib/webchat/components/conditional-animation.js.map +0 -1
  375. package/lib/webchat/components/emoji-picker.js +0 -89
  376. package/lib/webchat/components/emoji-picker.js.map +0 -1
  377. package/lib/webchat/components/persistent-menu.js +0 -104
  378. package/lib/webchat/components/persistent-menu.js.map +0 -1
  379. package/lib/webchat/components/send-button.js +0 -45
  380. package/lib/webchat/components/send-button.js.map +0 -1
  381. package/lib/webchat/components/styled-scrollbar.js +0 -55
  382. package/lib/webchat/components/styled-scrollbar.js.map +0 -1
  383. package/lib/webchat/components/styled-scrollbar.scss +0 -12
  384. package/lib/webchat/components/typing-indicator.js +0 -27
  385. package/lib/webchat/components/typing-indicator.js.map +0 -1
  386. package/lib/webchat/components/typing-indicator.scss +0 -38
  387. package/lib/webchat/devices/device-adapter.js +0 -82
  388. package/lib/webchat/devices/device-adapter.js.map +0 -1
  389. package/lib/webchat/devices/index.js +0 -32
  390. package/lib/webchat/devices/index.js.map +0 -1
  391. package/lib/webchat/devices/scrollbar-controller.js +0 -152
  392. package/lib/webchat/devices/scrollbar-controller.js.map +0 -1
  393. package/lib/webchat/devices/webchat-resizer.js +0 -76
  394. package/lib/webchat/devices/webchat-resizer.js.map +0 -1
  395. package/lib/webchat/header.js +0 -116
  396. package/lib/webchat/header.js.map +0 -1
  397. package/lib/webchat/hooks.js +0 -359
  398. package/lib/webchat/hooks.js.map +0 -1
  399. package/lib/webchat/index.d.ts +0 -62
  400. package/lib/webchat/index.js +0 -32
  401. package/lib/webchat/index.js.map +0 -1
  402. package/lib/webchat/message-list.js +0 -88
  403. package/lib/webchat/message-list.js.map +0 -1
  404. package/lib/webchat/messages-reducer.js +0 -93
  405. package/lib/webchat/messages-reducer.js.map +0 -1
  406. package/lib/webchat/replies.js +0 -78
  407. package/lib/webchat/replies.js.map +0 -1
  408. package/lib/webchat/session-view.js +0 -106
  409. package/lib/webchat/session-view.js.map +0 -1
  410. package/lib/webchat/use-storage-state-hook.js +0 -60
  411. package/lib/webchat/use-storage-state-hook.js.map +0 -1
  412. package/lib/webchat/webchat-dev.js +0 -109
  413. package/lib/webchat/webchat-dev.js.map +0 -1
  414. package/lib/webchat/webchat-reducer.js +0 -108
  415. package/lib/webchat/webchat-reducer.js.map +0 -1
  416. package/lib/webchat/webchat.js +0 -1108
  417. package/lib/webchat/webchat.js.map +0 -1
  418. package/lib/webchat/webview.js +0 -122
  419. package/lib/webchat/webview.js.map +0 -1
  420. package/lib/webchat-app.js +0 -660
  421. package/lib/webchat-app.js.map +0 -1
  422. package/lib/webchat.template.html +0 -37
  423. package/lib/webview.js +0 -231
  424. package/lib/webview.js.map +0 -1
  425. 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"}