@botonic/react 0.22.0-alpha.0 → 0.22.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (693) 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 +10 -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 +43 -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 +20 -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 +6 -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 +30 -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 +10 -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 +19 -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 +12 -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.d.ts +40 -0
  143. package/lib/cjs/util/error-boundary.js +46 -0
  144. package/lib/cjs/util/error-boundary.js.map +1 -0
  145. package/lib/cjs/util/index.d.ts +0 -0
  146. package/lib/cjs/util/index.js +2 -0
  147. package/lib/cjs/util/index.js.map +1 -0
  148. package/lib/cjs/util/logs.d.ts +2 -0
  149. package/lib/cjs/util/logs.js +20 -0
  150. package/lib/cjs/util/logs.js.map +1 -0
  151. package/lib/cjs/util/objects.d.ts +3 -0
  152. package/lib/cjs/util/objects.js +44 -0
  153. package/lib/cjs/util/objects.js.map +1 -0
  154. package/lib/cjs/util/react.d.ts +12 -0
  155. package/lib/cjs/util/react.js +42 -0
  156. package/lib/cjs/util/react.js.map +1 -0
  157. package/lib/cjs/util/regexs.d.ts +2 -0
  158. package/lib/cjs/util/regexs.js +23 -0
  159. package/lib/cjs/util/regexs.js.map +1 -0
  160. package/lib/cjs/util/webchat.d.ts +11 -0
  161. package/lib/cjs/util/webchat.js +62 -0
  162. package/lib/cjs/util/webchat.js.map +1 -0
  163. package/lib/cjs/webchat/actions.d.ts +23 -0
  164. package/lib/cjs/webchat/actions.js +27 -0
  165. package/lib/cjs/webchat/actions.js.map +1 -0
  166. package/lib/cjs/webchat/components/attachment.d.ts +5 -0
  167. package/lib/cjs/webchat/components/attachment.js +32 -0
  168. package/lib/cjs/webchat/components/attachment.js.map +1 -0
  169. package/lib/cjs/webchat/components/common.d.ts +1 -0
  170. package/lib/cjs/webchat/components/common.js +13 -0
  171. package/lib/cjs/webchat/components/common.js.map +1 -0
  172. package/lib/cjs/webchat/components/conditional-animation.d.ts +1 -0
  173. package/lib/cjs/webchat/components/conditional-animation.js +18 -0
  174. package/lib/cjs/webchat/components/conditional-animation.js.map +1 -0
  175. package/lib/cjs/webchat/components/emoji-picker.d.ts +5 -0
  176. package/lib/cjs/webchat/components/emoji-picker.js +52 -0
  177. package/lib/cjs/webchat/components/emoji-picker.js.map +1 -0
  178. package/lib/cjs/webchat/components/persistent-menu.d.ts +10 -0
  179. package/lib/cjs/webchat/components/persistent-menu.js +59 -0
  180. package/lib/cjs/webchat/components/persistent-menu.js.map +1 -0
  181. package/lib/cjs/webchat/components/send-button.d.ts +3 -0
  182. package/lib/cjs/webchat/components/send-button.js +24 -0
  183. package/lib/cjs/webchat/components/send-button.js.map +1 -0
  184. package/lib/cjs/webchat/components/styled-scrollbar.d.ts +1 -0
  185. package/lib/cjs/webchat/components/styled-scrollbar.js +54 -0
  186. package/lib/cjs/webchat/components/styled-scrollbar.js.map +1 -0
  187. package/lib/cjs/webchat/components/typing-indicator.d.ts +1 -0
  188. package/lib/cjs/webchat/components/typing-indicator.js +14 -0
  189. package/lib/cjs/webchat/components/typing-indicator.js.map +1 -0
  190. package/lib/cjs/webchat/devices/device-adapter.d.ts +12 -0
  191. package/lib/cjs/webchat/devices/device-adapter.js +47 -0
  192. package/lib/cjs/webchat/devices/device-adapter.js.map +1 -0
  193. package/lib/cjs/webchat/devices/index.d.ts +11 -0
  194. package/lib/cjs/webchat/devices/index.js +23 -0
  195. package/lib/cjs/webchat/devices/index.js.map +1 -0
  196. package/lib/cjs/webchat/devices/scrollbar-controller.d.ts +12 -0
  197. package/lib/cjs/webchat/devices/scrollbar-controller.js +103 -0
  198. package/lib/cjs/webchat/devices/scrollbar-controller.js.map +1 -0
  199. package/lib/cjs/webchat/devices/webchat-resizer.d.ts +9 -0
  200. package/lib/cjs/webchat/devices/webchat-resizer.js +47 -0
  201. package/lib/cjs/webchat/devices/webchat-resizer.js.map +1 -0
  202. package/lib/cjs/webchat/header.d.ts +3 -0
  203. package/lib/cjs/webchat/header.js +95 -0
  204. package/lib/cjs/webchat/header.js.map +1 -0
  205. package/lib/cjs/webchat/hooks.d.ts +80 -0
  206. package/lib/cjs/webchat/hooks.js +218 -0
  207. package/lib/cjs/webchat/hooks.js.map +1 -0
  208. package/lib/cjs/webchat/index.d.ts +6 -0
  209. package/lib/cjs/webchat/index.js +17 -0
  210. package/lib/cjs/webchat/index.js.map +1 -0
  211. package/lib/cjs/webchat/message-list.d.ts +1 -0
  212. package/lib/cjs/webchat/message-list.js +46 -0
  213. package/lib/cjs/webchat/message-list.js.map +1 -0
  214. package/lib/cjs/webchat/messages-reducer.d.ts +1 -0
  215. package/lib/cjs/webchat/messages-reducer.js +58 -0
  216. package/lib/cjs/webchat/messages-reducer.js.map +1 -0
  217. package/lib/cjs/webchat/replies.d.ts +1 -0
  218. package/lib/cjs/webchat/replies.js +46 -0
  219. package/lib/cjs/webchat/replies.js.map +1 -0
  220. package/lib/cjs/webchat/session-view.d.ts +1 -0
  221. package/lib/cjs/webchat/session-view.js +124 -0
  222. package/lib/cjs/webchat/session-view.js.map +1 -0
  223. package/lib/cjs/webchat/use-storage-state-hook.d.ts +1 -0
  224. package/lib/cjs/webchat/use-storage-state-hook.js +32 -0
  225. package/lib/cjs/webchat/use-storage-state-hook.js.map +1 -0
  226. package/lib/cjs/webchat/webchat-dev.d.ts +7 -0
  227. package/lib/cjs/webchat/webchat-dev.js +64 -0
  228. package/lib/cjs/webchat/webchat-dev.js.map +1 -0
  229. package/lib/cjs/webchat/webchat-reducer.d.ts +1 -0
  230. package/lib/cjs/webchat/webchat-reducer.js +48 -0
  231. package/lib/cjs/webchat/webchat-reducer.js.map +1 -0
  232. package/lib/cjs/webchat/webchat.d.ts +3 -0
  233. package/lib/cjs/webchat/webchat.js +704 -0
  234. package/lib/cjs/webchat/webchat.js.map +1 -0
  235. package/lib/cjs/webchat/webview.d.ts +2 -0
  236. package/lib/cjs/webchat/webview.js +92 -0
  237. package/lib/cjs/webchat/webview.js.map +1 -0
  238. package/lib/cjs/webchat-app.d.ts +99 -0
  239. package/lib/cjs/webchat-app.js +269 -0
  240. package/lib/cjs/webchat-app.js.map +1 -0
  241. package/lib/cjs/webview-app.d.ts +7 -0
  242. package/lib/cjs/webview-app.js +103 -0
  243. package/lib/cjs/webview-app.js.map +1 -0
  244. package/lib/esm/app.d.ts +2 -0
  245. package/lib/esm/app.js +6 -0
  246. package/lib/esm/app.js.map +1 -0
  247. package/lib/esm/assets/attachment-icon.svg +7 -0
  248. package/lib/esm/assets/audio.svg +4 -0
  249. package/lib/esm/assets/botonic_react_logo100x100.png +0 -0
  250. package/lib/esm/assets/document.svg +3 -0
  251. package/lib/esm/assets/emojiButton.svg +6 -0
  252. package/lib/esm/assets/image.svg +4 -0
  253. package/lib/esm/assets/leftArrow.svg +3 -0
  254. package/lib/esm/assets/menuButton.svg +3 -0
  255. package/lib/esm/assets/rightArrow.svg +3 -0
  256. package/lib/esm/assets/send-button.svg +1 -0
  257. package/lib/esm/assets/video.svg +3 -0
  258. package/lib/esm/botonic-tester.d.ts +18 -0
  259. package/lib/esm/botonic-tester.js +64 -0
  260. package/lib/esm/botonic-tester.js.map +1 -0
  261. package/lib/esm/components/audio.d.ts +8 -0
  262. package/lib/esm/components/audio.js +22 -0
  263. package/lib/esm/components/audio.js.map +1 -0
  264. package/lib/esm/components/button.d.ts +15 -0
  265. package/lib/esm/components/button.js +151 -0
  266. package/lib/esm/components/button.js.map +1 -0
  267. package/lib/esm/components/buttons-disabler.d.ts +24 -0
  268. package/lib/esm/components/buttons-disabler.js +84 -0
  269. package/lib/esm/components/buttons-disabler.js.map +1 -0
  270. package/lib/esm/components/carousel.d.ts +9 -0
  271. package/lib/esm/components/carousel.js +115 -0
  272. package/lib/esm/components/carousel.js.map +1 -0
  273. package/lib/esm/components/components.d.ts +12 -0
  274. package/lib/esm/components/components.js +17 -0
  275. package/lib/esm/components/components.js.map +1 -0
  276. package/lib/esm/components/custom-message.d.ts +43 -0
  277. package/lib/esm/components/custom-message.js +61 -0
  278. package/lib/esm/components/custom-message.js.map +1 -0
  279. package/lib/esm/components/document.d.ts +8 -0
  280. package/lib/esm/components/document.js +45 -0
  281. package/lib/esm/components/document.js.map +1 -0
  282. package/lib/esm/components/element.d.ts +4 -0
  283. package/lib/esm/components/element.js +50 -0
  284. package/lib/esm/components/element.js.map +1 -0
  285. package/lib/esm/components/handoff.d.ts +1 -0
  286. package/lib/esm/components/handoff.js +53 -0
  287. package/lib/esm/components/handoff.js.map +1 -0
  288. package/lib/esm/components/image.d.ts +8 -0
  289. package/lib/esm/components/image.js +37 -0
  290. package/lib/esm/components/image.js.map +1 -0
  291. package/lib/esm/components/index.d.ts +19 -0
  292. package/lib/esm/components/index.js +21 -0
  293. package/lib/esm/components/index.js.map +1 -0
  294. package/lib/esm/components/location.d.ts +11 -0
  295. package/lib/esm/components/location.js +33 -0
  296. package/lib/esm/components/location.js.map +1 -0
  297. package/lib/esm/components/markdown.d.ts +7 -0
  298. package/lib/esm/components/markdown.js +152 -0
  299. package/lib/esm/components/markdown.js.map +1 -0
  300. package/lib/esm/components/message-template.d.ts +1 -0
  301. package/lib/esm/components/message-template.js +10 -0
  302. package/lib/esm/components/message-template.js.map +1 -0
  303. package/lib/esm/components/message.d.ts +1 -0
  304. package/lib/esm/components/message.js +202 -0
  305. package/lib/esm/components/message.js.map +1 -0
  306. package/lib/esm/components/multichannel/facebook/facebook.d.ts +17 -0
  307. package/lib/esm/components/multichannel/facebook/facebook.js +43 -0
  308. package/lib/esm/components/multichannel/facebook/facebook.js.map +1 -0
  309. package/lib/esm/components/multichannel/index.d.ts +6 -0
  310. package/lib/esm/components/multichannel/index.js +11 -0
  311. package/lib/esm/components/multichannel/index.js.map +1 -0
  312. package/lib/esm/components/multichannel/multichannel-button.d.ts +1 -0
  313. package/lib/esm/components/multichannel/multichannel-button.js +72 -0
  314. package/lib/esm/components/multichannel/multichannel-button.js.map +1 -0
  315. package/lib/esm/components/multichannel/multichannel-carousel.d.ts +1 -0
  316. package/lib/esm/components/multichannel/multichannel-carousel.js +90 -0
  317. package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -0
  318. package/lib/esm/components/multichannel/multichannel-context.d.ts +11 -0
  319. package/lib/esm/components/multichannel/multichannel-context.js +12 -0
  320. package/lib/esm/components/multichannel/multichannel-context.js.map +1 -0
  321. package/lib/esm/components/multichannel/multichannel-reply.d.ts +1 -0
  322. package/lib/esm/components/multichannel/multichannel-reply.js +19 -0
  323. package/lib/esm/components/multichannel/multichannel-reply.js.map +1 -0
  324. package/lib/esm/components/multichannel/multichannel-text.d.ts +1 -0
  325. package/lib/esm/components/multichannel/multichannel-text.js +142 -0
  326. package/lib/esm/components/multichannel/multichannel-text.js.map +1 -0
  327. package/lib/esm/components/multichannel/multichannel-utils.d.ts +24 -0
  328. package/lib/esm/components/multichannel/multichannel-utils.js +67 -0
  329. package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -0
  330. package/lib/esm/components/multichannel/multichannel.d.ts +1 -0
  331. package/lib/esm/components/multichannel/multichannel.js +67 -0
  332. package/lib/esm/components/multichannel/multichannel.js.map +1 -0
  333. package/lib/esm/components/pic.d.ts +6 -0
  334. package/lib/esm/components/pic.js +24 -0
  335. package/lib/esm/components/pic.js.map +1 -0
  336. package/lib/esm/components/raw.d.ts +9 -0
  337. package/lib/esm/components/raw.js +48 -0
  338. package/lib/esm/components/raw.js.map +1 -0
  339. package/lib/esm/components/reply.d.ts +9 -0
  340. package/lib/esm/components/reply.js +52 -0
  341. package/lib/esm/components/reply.js.map +1 -0
  342. package/lib/esm/components/share-button.d.ts +1 -0
  343. package/lib/esm/components/share-button.js +10 -0
  344. package/lib/esm/components/share-button.js.map +1 -0
  345. package/lib/esm/components/subtitle.d.ts +6 -0
  346. package/lib/esm/components/subtitle.js +20 -0
  347. package/lib/esm/components/subtitle.js.map +1 -0
  348. package/lib/esm/components/text.d.ts +8 -0
  349. package/lib/esm/components/text.js +45 -0
  350. package/lib/esm/components/text.js.map +1 -0
  351. package/lib/esm/components/timestamps.d.ts +10 -0
  352. package/lib/esm/components/timestamps.js +48 -0
  353. package/lib/esm/components/timestamps.js.map +1 -0
  354. package/lib/esm/components/title.d.ts +6 -0
  355. package/lib/esm/components/title.js +16 -0
  356. package/lib/esm/components/title.js.map +1 -0
  357. package/lib/esm/components/video.d.ts +8 -0
  358. package/lib/esm/components/video.js +29 -0
  359. package/lib/esm/components/video.js.map +1 -0
  360. package/lib/esm/components/webchat-settings.d.ts +10 -0
  361. package/lib/esm/components/webchat-settings.js +72 -0
  362. package/lib/esm/components/webchat-settings.js.map +1 -0
  363. package/lib/esm/components/whatsapp-template.d.ts +1 -0
  364. package/lib/esm/components/whatsapp-template.js +21 -0
  365. package/lib/esm/components/whatsapp-template.js.map +1 -0
  366. package/lib/esm/constants.d.ts +168 -0
  367. package/lib/esm/constants.js +186 -0
  368. package/lib/esm/constants.js.map +1 -0
  369. package/lib/esm/contexts.d.ts +69 -0
  370. package/lib/esm/contexts.js +34 -0
  371. package/lib/esm/contexts.js.map +1 -0
  372. package/lib/esm/dev-app.d.ts +30 -0
  373. package/lib/esm/dev-app.js +67 -0
  374. package/lib/esm/dev-app.js.map +1 -0
  375. package/lib/esm/index.d.ts +9 -0
  376. package/lib/esm/index.js +11 -0
  377. package/lib/esm/index.js.map +1 -0
  378. package/lib/esm/message-utils.d.ts +18 -0
  379. package/lib/esm/message-utils.js +41 -0
  380. package/lib/esm/message-utils.js.map +1 -0
  381. package/lib/esm/msg-to-botonic.d.ts +18 -0
  382. package/lib/esm/msg-to-botonic.js +154 -0
  383. package/lib/esm/msg-to-botonic.js.map +1 -0
  384. package/lib/esm/node-app.d.ts +12 -0
  385. package/lib/esm/node-app.js +21 -0
  386. package/lib/esm/node-app.js.map +1 -0
  387. package/lib/esm/react-bot.d.ts +7 -0
  388. package/lib/esm/react-bot.js +30 -0
  389. package/lib/esm/react-bot.js.map +1 -0
  390. package/lib/esm/util/dom.d.ts +13 -0
  391. package/lib/esm/util/dom.js +46 -0
  392. package/lib/esm/util/dom.js.map +1 -0
  393. package/lib/esm/util/environment.d.ts +6 -0
  394. package/lib/esm/util/environment.js +61 -0
  395. package/lib/esm/util/environment.js.map +1 -0
  396. package/lib/esm/util/error-boundary.d.ts +40 -0
  397. package/lib/esm/util/error-boundary.js +41 -0
  398. package/lib/esm/util/error-boundary.js.map +1 -0
  399. package/lib/esm/util/index.d.ts +0 -0
  400. package/lib/esm/util/index.js +2 -0
  401. package/lib/esm/util/index.js.map +1 -0
  402. package/lib/esm/util/logs.d.ts +2 -0
  403. package/lib/esm/util/logs.js +15 -0
  404. package/lib/esm/util/logs.js.map +1 -0
  405. package/lib/esm/util/objects.d.ts +3 -0
  406. package/lib/esm/util/objects.js +38 -0
  407. package/lib/esm/util/objects.js.map +1 -0
  408. package/lib/esm/util/react.d.ts +12 -0
  409. package/lib/esm/util/react.js +34 -0
  410. package/lib/esm/util/react.js.map +1 -0
  411. package/lib/esm/util/regexs.d.ts +2 -0
  412. package/lib/esm/util/regexs.js +18 -0
  413. package/lib/esm/util/regexs.js.map +1 -0
  414. package/lib/esm/util/webchat.d.ts +11 -0
  415. package/lib/esm/util/webchat.js +53 -0
  416. package/lib/esm/util/webchat.js.map +1 -0
  417. package/lib/esm/webchat/actions.d.ts +23 -0
  418. package/lib/esm/webchat/actions.js +24 -0
  419. package/lib/esm/webchat/actions.js.map +1 -0
  420. package/lib/esm/webchat/components/attachment.d.ts +5 -0
  421. package/lib/esm/webchat/components/attachment.js +27 -0
  422. package/lib/esm/webchat/components/attachment.js.map +1 -0
  423. package/lib/esm/webchat/components/common.d.ts +1 -0
  424. package/lib/esm/webchat/components/common.js +8 -0
  425. package/lib/esm/webchat/components/common.js.map +1 -0
  426. package/lib/esm/webchat/components/conditional-animation.d.ts +1 -0
  427. package/lib/esm/webchat/components/conditional-animation.js +13 -0
  428. package/lib/esm/webchat/components/conditional-animation.js.map +1 -0
  429. package/lib/esm/webchat/components/emoji-picker.d.ts +5 -0
  430. package/lib/esm/webchat/components/emoji-picker.js +46 -0
  431. package/lib/esm/webchat/components/emoji-picker.js.map +1 -0
  432. package/lib/esm/webchat/components/persistent-menu.d.ts +10 -0
  433. package/lib/esm/webchat/components/persistent-menu.js +53 -0
  434. package/lib/esm/webchat/components/persistent-menu.js.map +1 -0
  435. package/lib/esm/webchat/components/send-button.d.ts +3 -0
  436. package/lib/esm/webchat/components/send-button.js +19 -0
  437. package/lib/esm/webchat/components/send-button.js.map +1 -0
  438. package/lib/esm/webchat/components/styled-scrollbar.d.ts +1 -0
  439. package/lib/esm/webchat/components/styled-scrollbar.js +50 -0
  440. package/lib/esm/webchat/components/styled-scrollbar.js.map +1 -0
  441. package/lib/esm/webchat/components/styled-scrollbar.scss +12 -0
  442. package/lib/esm/webchat/components/typing-indicator.d.ts +1 -0
  443. package/lib/esm/webchat/components/typing-indicator.js +9 -0
  444. package/lib/esm/webchat/components/typing-indicator.js.map +1 -0
  445. package/lib/esm/webchat/components/typing-indicator.scss +38 -0
  446. package/lib/esm/webchat/devices/device-adapter.d.ts +12 -0
  447. package/lib/esm/webchat/devices/device-adapter.js +43 -0
  448. package/lib/esm/webchat/devices/device-adapter.js.map +1 -0
  449. package/lib/esm/webchat/devices/index.d.ts +11 -0
  450. package/lib/esm/webchat/devices/index.js +18 -0
  451. package/lib/esm/webchat/devices/index.js.map +1 -0
  452. package/lib/esm/webchat/devices/scrollbar-controller.d.ts +12 -0
  453. package/lib/esm/webchat/devices/scrollbar-controller.js +99 -0
  454. package/lib/esm/webchat/devices/scrollbar-controller.js.map +1 -0
  455. package/lib/esm/webchat/devices/webchat-resizer.d.ts +9 -0
  456. package/lib/esm/webchat/devices/webchat-resizer.js +43 -0
  457. package/lib/esm/webchat/devices/webchat-resizer.js.map +1 -0
  458. package/lib/esm/webchat/header.d.ts +3 -0
  459. package/lib/esm/webchat/header.js +89 -0
  460. package/lib/esm/webchat/header.js.map +1 -0
  461. package/lib/esm/webchat/hooks.d.ts +80 -0
  462. package/lib/esm/webchat/hooks.js +210 -0
  463. package/lib/esm/webchat/hooks.js.map +1 -0
  464. package/lib/esm/webchat/index.d.ts +6 -0
  465. package/lib/esm/webchat/index.js +11 -0
  466. package/lib/esm/webchat/index.js.map +1 -0
  467. package/lib/esm/webchat/message-list.d.ts +1 -0
  468. package/lib/esm/webchat/message-list.js +41 -0
  469. package/lib/esm/webchat/message-list.js.map +1 -0
  470. package/lib/esm/webchat/messages-reducer.d.ts +1 -0
  471. package/lib/esm/webchat/messages-reducer.js +54 -0
  472. package/lib/esm/webchat/messages-reducer.js.map +1 -0
  473. package/lib/esm/webchat/replies.d.ts +1 -0
  474. package/lib/esm/webchat/replies.js +41 -0
  475. package/lib/esm/webchat/replies.js.map +1 -0
  476. package/lib/esm/webchat/session-view.d.ts +1 -0
  477. package/lib/esm/webchat/session-view.js +119 -0
  478. package/lib/esm/webchat/session-view.js.map +1 -0
  479. package/lib/esm/webchat/use-storage-state-hook.d.ts +1 -0
  480. package/lib/esm/webchat/use-storage-state-hook.js +28 -0
  481. package/lib/esm/webchat/use-storage-state-hook.js.map +1 -0
  482. package/lib/esm/webchat/webchat-dev.d.ts +7 -0
  483. package/lib/esm/webchat/webchat-dev.js +60 -0
  484. package/lib/esm/webchat/webchat-dev.js.map +1 -0
  485. package/lib/esm/webchat/webchat-reducer.d.ts +1 -0
  486. package/lib/esm/webchat/webchat-reducer.js +44 -0
  487. package/lib/esm/webchat/webchat-reducer.js.map +1 -0
  488. package/lib/esm/webchat/webchat.d.ts +3 -0
  489. package/lib/esm/webchat/webchat.js +699 -0
  490. package/lib/esm/webchat/webchat.js.map +1 -0
  491. package/lib/esm/webchat/webview.d.ts +2 -0
  492. package/lib/esm/webchat/webview.js +86 -0
  493. package/lib/esm/webchat/webview.js.map +1 -0
  494. package/lib/esm/webchat-app.d.ts +98 -0
  495. package/lib/esm/webchat-app.js +265 -0
  496. package/lib/esm/webchat-app.js.map +1 -0
  497. package/lib/esm/webchat.template.html +37 -0
  498. package/lib/esm/webview-app.d.ts +7 -0
  499. package/lib/esm/webview-app.js +98 -0
  500. package/lib/esm/webview-app.js.map +1 -0
  501. package/lib/esm/webview.template.html +39 -0
  502. package/package.json +27 -20
  503. package/src/components/audio.jsx +2 -0
  504. package/src/components/document.jsx +2 -0
  505. package/src/components/image.jsx +2 -0
  506. package/src/components/location.jsx +2 -2
  507. package/src/components/pic.jsx +3 -1
  508. package/src/components/video.jsx +2 -0
  509. package/src/index.js +1 -1
  510. package/src/msg-to-botonic.jsx +1 -1
  511. package/src/util/environment.js +31 -2
  512. package/src/{webview.jsx → webview-app.tsx} +7 -1
  513. package/lib/app.js +0 -19
  514. package/lib/app.js.map +0 -1
  515. package/lib/botonic-tester.js +0 -224
  516. package/lib/botonic-tester.js.map +0 -1
  517. package/lib/components/audio.js +0 -48
  518. package/lib/components/audio.js.map +0 -1
  519. package/lib/components/button.js +0 -224
  520. package/lib/components/button.js.map +0 -1
  521. package/lib/components/buttons-disabler.js +0 -133
  522. package/lib/components/buttons-disabler.js.map +0 -1
  523. package/lib/components/carousel.js +0 -194
  524. package/lib/components/carousel.js.map +0 -1
  525. package/lib/components/components.js.map +0 -1
  526. package/lib/components/custom-message.js +0 -131
  527. package/lib/components/custom-message.js.map +0 -1
  528. package/lib/components/document.js +0 -76
  529. package/lib/components/document.js.map +0 -1
  530. package/lib/components/element.js +0 -69
  531. package/lib/components/element.js.map +0 -1
  532. package/lib/components/handoff.js +0 -69
  533. package/lib/components/handoff.js.map +0 -1
  534. package/lib/components/image.js +0 -91
  535. package/lib/components/image.js.map +0 -1
  536. package/lib/components/index.d.ts +0 -228
  537. package/lib/components/index.js +0 -193
  538. package/lib/components/index.js.map +0 -1
  539. package/lib/components/location.js +0 -69
  540. package/lib/components/location.js.map +0 -1
  541. package/lib/components/markdown.js +0 -108
  542. package/lib/components/markdown.js.map +0 -1
  543. package/lib/components/message-template.js +0 -36
  544. package/lib/components/message-template.js.map +0 -1
  545. package/lib/components/message.js +0 -351
  546. package/lib/components/message.js.map +0 -1
  547. package/lib/components/multichannel/facebook/facebook.js +0 -96
  548. package/lib/components/multichannel/facebook/facebook.js.map +0 -1
  549. package/lib/components/multichannel/index.d.ts +0 -65
  550. package/lib/components/multichannel/index.js +0 -46
  551. package/lib/components/multichannel/index.js.map +0 -1
  552. package/lib/components/multichannel/multichannel-button.js +0 -119
  553. package/lib/components/multichannel/multichannel-button.js.map +0 -1
  554. package/lib/components/multichannel/multichannel-carousel.js +0 -143
  555. package/lib/components/multichannel/multichannel-carousel.js.map +0 -1
  556. package/lib/components/multichannel/multichannel-context.js +0 -24
  557. package/lib/components/multichannel/multichannel-context.js.map +0 -1
  558. package/lib/components/multichannel/multichannel-reply.js +0 -46
  559. package/lib/components/multichannel/multichannel-reply.js.map +0 -1
  560. package/lib/components/multichannel/multichannel-text.js +0 -222
  561. package/lib/components/multichannel/multichannel-text.js.map +0 -1
  562. package/lib/components/multichannel/multichannel-utils.js +0 -126
  563. package/lib/components/multichannel/multichannel-utils.js.map +0 -1
  564. package/lib/components/multichannel/multichannel.js +0 -111
  565. package/lib/components/multichannel/multichannel.js.map +0 -1
  566. package/lib/components/pic.js +0 -50
  567. package/lib/components/pic.js.map +0 -1
  568. package/lib/components/raw.js +0 -70
  569. package/lib/components/raw.js.map +0 -1
  570. package/lib/components/reply.js +0 -107
  571. package/lib/components/reply.js.map +0 -1
  572. package/lib/components/share-button.js +0 -36
  573. package/lib/components/share-button.js.map +0 -1
  574. package/lib/components/subtitle.js +0 -54
  575. package/lib/components/subtitle.js.map +0 -1
  576. package/lib/components/text.js +0 -80
  577. package/lib/components/text.js.map +0 -1
  578. package/lib/components/timestamps.js +0 -69
  579. package/lib/components/timestamps.js.map +0 -1
  580. package/lib/components/title.js +0 -52
  581. package/lib/components/title.js.map +0 -1
  582. package/lib/components/video.js +0 -51
  583. package/lib/components/video.js.map +0 -1
  584. package/lib/components/webchat-settings.js +0 -118
  585. package/lib/components/webchat-settings.js.map +0 -1
  586. package/lib/components/whatsapp-template.js +0 -53
  587. package/lib/components/whatsapp-template.js.map +0 -1
  588. package/lib/constants.js +0 -203
  589. package/lib/constants.js.map +0 -1
  590. package/lib/contexts.js +0 -57
  591. package/lib/contexts.js.map +0 -1
  592. package/lib/dev-app.js +0 -241
  593. package/lib/dev-app.js.map +0 -1
  594. package/lib/index.d.ts +0 -238
  595. package/lib/index.js +0 -131
  596. package/lib/index.js.map +0 -1
  597. package/lib/message-utils.js +0 -149
  598. package/lib/message-utils.js.map +0 -1
  599. package/lib/msg-to-botonic.js +0 -199
  600. package/lib/msg-to-botonic.js.map +0 -1
  601. package/lib/node-app.js +0 -97
  602. package/lib/node-app.js.map +0 -1
  603. package/lib/react-bot.js +0 -167
  604. package/lib/react-bot.js.map +0 -1
  605. package/lib/util/dom.js +0 -84
  606. package/lib/util/dom.js.map +0 -1
  607. package/lib/util/environment.js +0 -42
  608. package/lib/util/environment.js.map +0 -1
  609. package/lib/util/error-boundary.js +0 -105
  610. package/lib/util/error-boundary.js.map +0 -1
  611. package/lib/util/index.d.ts +0 -9
  612. package/lib/util/index.js +0 -2
  613. package/lib/util/index.js.map +0 -1
  614. package/lib/util/logs.js +0 -28
  615. package/lib/util/logs.js.map +0 -1
  616. package/lib/util/objects.js +0 -60
  617. package/lib/util/objects.js.map +0 -1
  618. package/lib/util/react.js +0 -75
  619. package/lib/util/react.js.map +0 -1
  620. package/lib/util/regexs.js +0 -31
  621. package/lib/util/regexs.js.map +0 -1
  622. package/lib/util/webchat.js +0 -92
  623. package/lib/util/webchat.js.map +0 -1
  624. package/lib/webchat/actions.js +0 -53
  625. package/lib/webchat/actions.js.map +0 -1
  626. package/lib/webchat/components/attachment.js +0 -68
  627. package/lib/webchat/components/attachment.js.map +0 -1
  628. package/lib/webchat/components/common.js +0 -29
  629. package/lib/webchat/components/common.js.map +0 -1
  630. package/lib/webchat/components/conditional-animation.js +0 -42
  631. package/lib/webchat/components/conditional-animation.js.map +0 -1
  632. package/lib/webchat/components/emoji-picker.js +0 -89
  633. package/lib/webchat/components/emoji-picker.js.map +0 -1
  634. package/lib/webchat/components/persistent-menu.js +0 -104
  635. package/lib/webchat/components/persistent-menu.js.map +0 -1
  636. package/lib/webchat/components/send-button.js +0 -45
  637. package/lib/webchat/components/send-button.js.map +0 -1
  638. package/lib/webchat/components/styled-scrollbar.js +0 -55
  639. package/lib/webchat/components/styled-scrollbar.js.map +0 -1
  640. package/lib/webchat/components/typing-indicator.js +0 -27
  641. package/lib/webchat/components/typing-indicator.js.map +0 -1
  642. package/lib/webchat/devices/device-adapter.js +0 -82
  643. package/lib/webchat/devices/device-adapter.js.map +0 -1
  644. package/lib/webchat/devices/index.js +0 -32
  645. package/lib/webchat/devices/index.js.map +0 -1
  646. package/lib/webchat/devices/scrollbar-controller.js +0 -152
  647. package/lib/webchat/devices/scrollbar-controller.js.map +0 -1
  648. package/lib/webchat/devices/webchat-resizer.js +0 -76
  649. package/lib/webchat/devices/webchat-resizer.js.map +0 -1
  650. package/lib/webchat/header.js +0 -116
  651. package/lib/webchat/header.js.map +0 -1
  652. package/lib/webchat/hooks.js +0 -359
  653. package/lib/webchat/hooks.js.map +0 -1
  654. package/lib/webchat/index.d.ts +0 -62
  655. package/lib/webchat/index.js +0 -32
  656. package/lib/webchat/index.js.map +0 -1
  657. package/lib/webchat/message-list.js +0 -88
  658. package/lib/webchat/message-list.js.map +0 -1
  659. package/lib/webchat/messages-reducer.js +0 -93
  660. package/lib/webchat/messages-reducer.js.map +0 -1
  661. package/lib/webchat/replies.js +0 -78
  662. package/lib/webchat/replies.js.map +0 -1
  663. package/lib/webchat/session-view.js +0 -106
  664. package/lib/webchat/session-view.js.map +0 -1
  665. package/lib/webchat/use-storage-state-hook.js +0 -60
  666. package/lib/webchat/use-storage-state-hook.js.map +0 -1
  667. package/lib/webchat/webchat-dev.js +0 -109
  668. package/lib/webchat/webchat-dev.js.map +0 -1
  669. package/lib/webchat/webchat-reducer.js +0 -108
  670. package/lib/webchat/webchat-reducer.js.map +0 -1
  671. package/lib/webchat/webchat.js +0 -1108
  672. package/lib/webchat/webchat.js.map +0 -1
  673. package/lib/webchat/webview.js +0 -122
  674. package/lib/webchat/webview.js.map +0 -1
  675. package/lib/webchat-app.js +0 -660
  676. package/lib/webchat-app.js.map +0 -1
  677. package/lib/webview.js +0 -231
  678. package/lib/webview.js.map +0 -1
  679. /package/lib/{assets → cjs/assets}/attachment-icon.svg +0 -0
  680. /package/lib/{assets → cjs/assets}/audio.svg +0 -0
  681. /package/lib/{assets → cjs/assets}/botonic_react_logo100x100.png +0 -0
  682. /package/lib/{assets → cjs/assets}/document.svg +0 -0
  683. /package/lib/{assets → cjs/assets}/emojiButton.svg +0 -0
  684. /package/lib/{assets → cjs/assets}/image.svg +0 -0
  685. /package/lib/{assets → cjs/assets}/leftArrow.svg +0 -0
  686. /package/lib/{assets → cjs/assets}/menuButton.svg +0 -0
  687. /package/lib/{assets → cjs/assets}/rightArrow.svg +0 -0
  688. /package/lib/{assets → cjs/assets}/send-button.svg +0 -0
  689. /package/lib/{assets → cjs/assets}/video.svg +0 -0
  690. /package/lib/{webchat → cjs/webchat}/components/styled-scrollbar.scss +0 -0
  691. /package/lib/{webchat → cjs/webchat}/components/typing-indicator.scss +0 -0
  692. /package/lib/{webchat.template.html → cjs/webchat.template.html} +0 -0
  693. /package/lib/{webview.template.html → cjs/webview.template.html} +0 -0
@@ -1,222 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.MultichannelText = void 0;
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
-
16
- var _react = _interopRequireWildcard(require("react"));
17
-
18
- var _contexts = require("../../contexts");
19
-
20
- var _text = require("../text");
21
-
22
- var _facebook = require("./facebook/facebook");
23
-
24
- var _multichannelButton = require("./multichannel-button");
25
-
26
- var _multichannelContext = require("./multichannel-context");
27
-
28
- var _multichannelUtils = require("./multichannel-utils");
29
-
30
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
-
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
-
34
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
35
-
36
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
37
-
38
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
39
-
40
- var MultichannelText = function MultichannelText(props) {
41
- var _props$buttonsAsText;
42
-
43
- var requestContext = (0, _react.useContext)(_contexts.RequestContext);
44
- var multichannelContext = (0, _react.useContext)(_multichannelContext.MultichannelContext);
45
- var postbackButtonsAsText = (_props$buttonsAsText = props.buttonsAsText) !== null && _props$buttonsAsText !== void 0 ? _props$buttonsAsText : true;
46
- var elements = [];
47
-
48
- var getText = function getText(children) {
49
- children = Array.isArray(children) ? children : [children];
50
- var text = children.filter(function (e) {
51
- return e && !e.type;
52
- }).map(function (e) {
53
- if (Array.isArray(e)) return getText(e);else return String(e);
54
- }).join('');
55
-
56
- if (text == undefined) {
57
- return [];
58
- }
59
-
60
- return [text].filter(function (t) {
61
- return t !== '';
62
- }); // to avoid line breaks when the carousel doesn't have title or subtitle
63
- };
64
-
65
- var getButtonsAndReplies = function getButtonsAndReplies() {
66
- return [].concat((0, _multichannelUtils.getMultichannelButtons)(_react["default"].Children.toArray(props.children)), (0, _multichannelUtils.getMultichannelReplies)(_react["default"].Children.toArray(props.children)));
67
- };
68
-
69
- var getWhatsappButtons = function getWhatsappButtons() {
70
- var postbackButtons = [];
71
- var urlButtons = [];
72
- var webviewButtons = [];
73
-
74
- var _iterator = _createForOfIteratorHelper(getButtonsAndReplies()),
75
- _step;
76
-
77
- try {
78
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
79
- var button = _step.value;
80
- if ((0, _multichannelUtils.elementHasUrl)(button)) urlButtons.push(button);
81
- if ((0, _multichannelUtils.elementHasPostback)(button)) postbackButtons.push(button);
82
- if ((0, _multichannelUtils.elementHasWebview)(button)) webviewButtons.push(button);
83
- }
84
- } catch (err) {
85
- _iterator.e(err);
86
- } finally {
87
- _iterator.f();
88
- }
89
-
90
- return {
91
- postbackButtons: postbackButtons,
92
- urlButtons: urlButtons,
93
- webviewButtons: webviewButtons
94
- };
95
- };
96
-
97
- var getDefaultIndex = function getDefaultIndex() {
98
- if (props.indexMode == undefined) {
99
- return undefined;
100
- }
101
-
102
- if (multichannelContext.currentIndex != null) {
103
- return multichannelContext.currentIndex;
104
- }
105
-
106
- return props.indexMode === 'letter' ? 'a' : 1;
107
- };
108
-
109
- var regenerateMultichannelButtons = function regenerateMultichannelButtons() {
110
- var newLineFirstButton = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
111
-
112
- var generator = function generator(multichannelButton, i) {
113
- var type = (0, _multichannelUtils.getButtonType)(multichannelButton);
114
- var asText = type === _multichannelUtils.buttonTypes.POSTBACK ? postbackButtonsAsText : true;
115
- var newline = multichannelContext.messageSeparator == null && !newLineFirstButton && i === 0 ? '' : '\n';
116
- return /*#__PURE__*/_react["default"].createElement(_multichannelButton.MultichannelButton, (0, _extends2["default"])({
117
- key: "".concat(type).concat(i),
118
- newline: newline,
119
- asText: asText
120
- }, multichannelButton.props), multichannelButton.props.children);
121
- };
122
-
123
- return generator;
124
- };
125
-
126
- var splitPostbackButtons = function splitPostbackButtons(postbackButtons) {
127
- var messages = [];
128
-
129
- for (var i = 0; i < postbackButtons.length; i += _multichannelUtils.WHATSAPP_MAX_BUTTONS) {
130
- messages.push(postbackButtons.slice(i, i + _multichannelUtils.WHATSAPP_MAX_BUTTONS));
131
- }
132
-
133
- return messages;
134
- };
135
-
136
- if ((0, _multichannelUtils.isWhatsapp)(requestContext)) {
137
- var texts = getText(props.children);
138
-
139
- var _getWhatsappButtons = getWhatsappButtons(),
140
- postbackButtons = _getWhatsappButtons.postbackButtons,
141
- urlButtons = _getWhatsappButtons.urlButtons,
142
- webviewButtons = _getWhatsappButtons.webviewButtons;
143
-
144
- var textElements = texts.map(function (text) {
145
- return (props.newline || '') + text;
146
- });
147
- var webviewButtonElements = webviewButtons.map(regenerateMultichannelButtons(false));
148
- var buttonsTextSeparator = props.buttonsTextSeparator || _multichannelUtils.DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR;
149
-
150
- if (!postbackButtonsAsText && postbackButtons.length > _multichannelUtils.WHATSAPP_MAX_BUTTONS) {
151
- var _urlButtonElements = urlButtons.map(regenerateMultichannelButtons(!!texts.length));
152
-
153
- var _postbackButtonElements = postbackButtons.map(regenerateMultichannelButtons(!!texts.length || !!urlButtons.length));
154
-
155
- var messagesPostbackButtons = splitPostbackButtons(_postbackButtonElements);
156
-
157
- var _messages = messagesPostbackButtons.map(function (postbackButtons, i) {
158
- if (i === 0) {
159
- var _ref;
160
-
161
- return (_ref = []).concat.apply(_ref, (0, _toConsumableArray2["default"])(textElements).concat((0, _toConsumableArray2["default"])(_urlButtonElements), (0, _toConsumableArray2["default"])(postbackButtons)));
162
- } else {
163
- var _ref2;
164
-
165
- return (_ref2 = []).concat.apply(_ref2, [buttonsTextSeparator].concat((0, _toConsumableArray2["default"])(postbackButtons)));
166
- }
167
- });
168
-
169
- if (webviewButtonElements.length) {
170
- _messages.push([buttonsTextSeparator].concat((0, _toConsumableArray2["default"])(webviewButtonElements)));
171
- }
172
-
173
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _messages.map(function (message, i) {
174
- return /*#__PURE__*/_react["default"].createElement(_text.Text, (0, _extends2["default"])({
175
- key: i
176
- }, _multichannelUtils.MULTICHANNEL_WHATSAPP_PROPS, props), message);
177
- }));
178
- }
179
-
180
- multichannelContext.currentIndex = getDefaultIndex();
181
- var postbackButtonElements = postbackButtons.map(regenerateMultichannelButtons(!!texts.length));
182
- var urlButtonElements = urlButtons.map(regenerateMultichannelButtons(!!texts.length || !!postbackButtons.length));
183
- elements = [].concat((0, _toConsumableArray2["default"])(textElements), (0, _toConsumableArray2["default"])(postbackButtonElements), (0, _toConsumableArray2["default"])(urlButtonElements));
184
-
185
- if (multichannelContext.messageSeparator != null) {
186
- return elements;
187
- }
188
-
189
- var messages = [/*#__PURE__*/_react["default"].createElement(_text.Text, (0, _extends2["default"])({
190
- key: 0
191
- }, _multichannelUtils.MULTICHANNEL_WHATSAPP_PROPS, props), elements)];
192
-
193
- if (webviewButtonElements.length) {
194
- messages.push( /*#__PURE__*/_react["default"].createElement(_text.Text, (0, _extends2["default"])({
195
- key: 1
196
- }, _multichannelUtils.MULTICHANNEL_WHATSAPP_PROPS, props), buttonsTextSeparator, webviewButtonElements));
197
- }
198
-
199
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, messages);
200
- }
201
-
202
- if ((0, _multichannelUtils.isFacebook)(requestContext)) {
203
- var text = getText(props.children);
204
- var multichannelFacebook = new _facebook.MultichannelFacebook();
205
-
206
- var _multichannelFacebook = multichannelFacebook.convertText(props, text[0]),
207
- _texts = _multichannelFacebook.texts,
208
- propsLastText = _multichannelFacebook.propsLastText,
209
- propsWithoutChildren = _multichannelFacebook.propsWithoutChildren;
210
-
211
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _texts && _texts.map(function (e, i) {
212
- return /*#__PURE__*/_react["default"].createElement(_text.Text, (0, _extends2["default"])({
213
- key: i
214
- }, propsWithoutChildren), e);
215
- }), /*#__PURE__*/_react["default"].createElement(_text.Text, propsLastText, propsLastText.children));
216
- } else {
217
- return /*#__PURE__*/_react["default"].createElement(_text.Text, props, props.children);
218
- }
219
- };
220
-
221
- exports.MultichannelText = MultichannelText;
222
- //# sourceMappingURL=multichannel-text.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/multichannel/multichannel-text.jsx"],"names":["MultichannelText","props","requestContext","RequestContext","multichannelContext","MultichannelContext","postbackButtonsAsText","buttonsAsText","elements","getText","children","Array","isArray","text","filter","e","type","map","String","join","undefined","t","getButtonsAndReplies","concat","React","Children","toArray","getWhatsappButtons","postbackButtons","urlButtons","webviewButtons","button","push","getDefaultIndex","indexMode","currentIndex","regenerateMultichannelButtons","newLineFirstButton","generator","multichannelButton","i","asText","buttonTypes","POSTBACK","newline","messageSeparator","splitPostbackButtons","messages","length","WHATSAPP_MAX_BUTTONS","slice","texts","textElements","webviewButtonElements","buttonsTextSeparator","DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR","urlButtonElements","postbackButtonElements","messagesPostbackButtons","message","MULTICHANNEL_WHATSAPP_PROPS","multichannelFacebook","MultichannelFacebook","convertText","propsLastText","propsWithoutChildren"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react'\n\nimport { RequestContext } from '../../contexts'\nimport { Text } from '../text'\nimport { MultichannelFacebook } from './facebook/facebook'\nimport { MultichannelButton } from './multichannel-button'\nimport { MultichannelContext } from './multichannel-context'\nimport {\n buttonTypes,\n DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR,\n elementHasPostback,\n elementHasUrl,\n elementHasWebview,\n getButtonType,\n getMultichannelButtons,\n getMultichannelReplies,\n isFacebook,\n isWhatsapp,\n MULTICHANNEL_WHATSAPP_PROPS,\n WHATSAPP_MAX_BUTTONS,\n} from './multichannel-utils'\n\nexport const MultichannelText = props => {\n const requestContext = useContext(RequestContext)\n const multichannelContext = useContext(MultichannelContext)\n const postbackButtonsAsText = props.buttonsAsText ?? true\n\n let elements = []\n\n const getText = children => {\n children = Array.isArray(children) ? children : [children]\n const text = children\n .filter(e => e && !e.type)\n .map(e => {\n if (Array.isArray(e)) return getText(e)\n else return String(e)\n })\n .join('')\n if (text == undefined) {\n return []\n }\n return [text].filter(t => t !== '') // to avoid line breaks when the carousel doesn't have title or subtitle\n }\n\n const getButtonsAndReplies = () =>\n [].concat(\n getMultichannelButtons(React.Children.toArray(props.children)),\n getMultichannelReplies(React.Children.toArray(props.children))\n )\n\n const getWhatsappButtons = () => {\n const postbackButtons = []\n const urlButtons = []\n const webviewButtons = []\n for (const button of getButtonsAndReplies()) {\n if (elementHasUrl(button)) urlButtons.push(button)\n if (elementHasPostback(button)) postbackButtons.push(button)\n if (elementHasWebview(button)) webviewButtons.push(button)\n }\n return { postbackButtons, urlButtons, webviewButtons }\n }\n\n const getDefaultIndex = () => {\n if (props.indexMode == undefined) {\n return undefined\n }\n if (multichannelContext.currentIndex != null) {\n return multichannelContext.currentIndex\n }\n return props.indexMode === 'letter' ? 'a' : 1\n }\n\n const regenerateMultichannelButtons = (newLineFirstButton = true) => {\n const generator = (multichannelButton, i) => {\n const type = getButtonType(multichannelButton)\n const asText =\n type === buttonTypes.POSTBACK ? postbackButtonsAsText : true\n const newline =\n multichannelContext.messageSeparator == null &&\n !newLineFirstButton &&\n i === 0\n ? ''\n : '\\n'\n return (\n <MultichannelButton\n key={`${type}${i}`}\n newline={newline}\n asText={asText}\n {...multichannelButton.props}\n >\n {multichannelButton.props.children}\n </MultichannelButton>\n )\n }\n return generator\n }\n\n const splitPostbackButtons = postbackButtons => {\n const messages = []\n for (let i = 0; i < postbackButtons.length; i += WHATSAPP_MAX_BUTTONS) {\n messages.push(postbackButtons.slice(i, i + WHATSAPP_MAX_BUTTONS))\n }\n return messages\n }\n\n if (isWhatsapp(requestContext)) {\n const texts = getText(props.children)\n const { postbackButtons, urlButtons, webviewButtons } = getWhatsappButtons()\n\n const textElements = texts.map(text => {\n return (props.newline || '') + text\n })\n\n const webviewButtonElements = webviewButtons.map(\n regenerateMultichannelButtons(false)\n )\n\n const buttonsTextSeparator =\n props.buttonsTextSeparator || DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR\n\n if (\n !postbackButtonsAsText &&\n postbackButtons.length > WHATSAPP_MAX_BUTTONS\n ) {\n const urlButtonElements = urlButtons.map(\n regenerateMultichannelButtons(!!texts.length)\n )\n const postbackButtonElements = postbackButtons.map(\n regenerateMultichannelButtons(!!texts.length || !!urlButtons.length)\n )\n const messagesPostbackButtons = splitPostbackButtons(\n postbackButtonElements\n )\n\n const messages = messagesPostbackButtons.map((postbackButtons, i) => {\n if (i === 0) {\n return [].concat(\n ...textElements,\n ...urlButtonElements,\n ...postbackButtons\n )\n } else {\n return [].concat(buttonsTextSeparator, ...postbackButtons)\n }\n })\n if (webviewButtonElements.length) {\n messages.push([buttonsTextSeparator, ...webviewButtonElements])\n }\n\n return (\n <>\n {messages.map((message, i) => (\n <Text key={i} {...MULTICHANNEL_WHATSAPP_PROPS} {...props}>\n {message}\n </Text>\n ))}\n </>\n )\n }\n\n multichannelContext.currentIndex = getDefaultIndex()\n const postbackButtonElements = postbackButtons.map(\n regenerateMultichannelButtons(!!texts.length)\n )\n const urlButtonElements = urlButtons.map(\n regenerateMultichannelButtons(!!texts.length || !!postbackButtons.length)\n )\n\n elements = [].concat(\n [...textElements],\n [...postbackButtonElements],\n [...urlButtonElements]\n )\n if (multichannelContext.messageSeparator != null) {\n return elements\n }\n const messages = [\n <Text key={0} {...MULTICHANNEL_WHATSAPP_PROPS} {...props}>\n {elements}\n </Text>,\n ]\n if (webviewButtonElements.length) {\n messages.push(\n <Text key={1} {...MULTICHANNEL_WHATSAPP_PROPS} {...props}>\n {buttonsTextSeparator}\n {webviewButtonElements}\n </Text>\n )\n }\n\n return <>{messages}</>\n }\n\n if (isFacebook(requestContext)) {\n const text = getText(props.children)\n const multichannelFacebook = new MultichannelFacebook()\n const {\n texts,\n propsLastText,\n propsWithoutChildren,\n } = multichannelFacebook.convertText(props, text[0])\n return (\n <>\n {texts &&\n texts.map((e, i) => (\n <Text key={i} {...propsWithoutChildren}>\n {e}\n </Text>\n ))}\n <Text {...propsLastText}>{propsLastText.children}</Text>\n </>\n )\n } else {\n return <Text {...props}>{props.children}</Text>\n }\n}\n"],"file":"multichannel-text.js"}
@@ -1,126 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.buttonTypes = exports.WHATSAPP_MAX_BUTTON_CHARS = exports.WHATSAPP_MAX_BUTTONS = exports.MULTICHANNEL_WHATSAPP_PROPS = exports.DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR = void 0;
7
- exports.elementHasPostback = elementHasPostback;
8
- exports.elementHasUrl = elementHasUrl;
9
- exports.elementHasWebview = elementHasWebview;
10
- exports.getButtonType = getButtonType;
11
- exports.getFilteredElements = getFilteredElements;
12
- exports.getMultichannelButtons = getMultichannelButtons;
13
- exports.getMultichannelReplies = getMultichannelReplies;
14
- exports.isButton = isButton;
15
- exports.isFacebook = void 0;
16
- exports.isMultichannelButton = isMultichannelButton;
17
- exports.isMultichannelReply = isMultichannelReply;
18
- exports.isNodeKind = isNodeKind;
19
- exports.isWhatsapp = void 0;
20
-
21
- var _core = require("@botonic/core");
22
-
23
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
24
-
25
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
26
-
27
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
28
-
29
- /**
30
- *
31
- * Whatsapp does not support Markdown
32
- * (its markup syntax is different)
33
- */
34
- var MULTICHANNEL_WHATSAPP_PROPS = {
35
- markdown: false
36
- };
37
- exports.MULTICHANNEL_WHATSAPP_PROPS = MULTICHANNEL_WHATSAPP_PROPS;
38
- var WHATSAPP_MAX_BUTTONS = 3;
39
- exports.WHATSAPP_MAX_BUTTONS = WHATSAPP_MAX_BUTTONS;
40
- var WHATSAPP_MAX_BUTTON_CHARS = 20;
41
- exports.WHATSAPP_MAX_BUTTON_CHARS = WHATSAPP_MAX_BUTTON_CHARS;
42
- var DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR = 'More options:';
43
- exports.DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR = DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR;
44
-
45
- function isMultichannelButton(node) {
46
- return isNodeKind(node, 'MultichannelButton');
47
- }
48
-
49
- function isMultichannelReply(node) {
50
- return isNodeKind(node, 'MultichannelReply');
51
- }
52
-
53
- function isButton(node) {
54
- return isNodeKind(node, 'Button');
55
- }
56
-
57
- function isNodeKind(node, kind) {
58
- return node.type && node.type.name == kind;
59
- }
60
-
61
- function elementHasUrl(element) {
62
- return element.props && element.props.url;
63
- }
64
-
65
- function elementHasPostback(element) {
66
- return element.props && element.props.payload || element.props && element.props.path;
67
- }
68
-
69
- function elementHasWebview(element) {
70
- return element.props && element.props.webview;
71
- }
72
-
73
- var buttonTypes = {
74
- POSTBACK: 'postback',
75
- URL: 'url',
76
- WEBVIEW: 'webview'
77
- };
78
- exports.buttonTypes = buttonTypes;
79
-
80
- function getButtonType(multichannelButton) {
81
- if (elementHasUrl(multichannelButton)) return buttonTypes.URL;
82
- if (elementHasPostback(multichannelButton)) return buttonTypes.POSTBACK;
83
- if (elementHasWebview(multichannelButton)) return buttonTypes.WEBVIEW;
84
- return undefined;
85
- }
86
-
87
- function getFilteredElements(node, filter) {
88
- var elements = [];
89
-
90
- var _iterator = _createForOfIteratorHelper(node),
91
- _step;
92
-
93
- try {
94
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
95
- var n = _step.value;
96
- if (filter(n)) elements.push(n);
97
- }
98
- } catch (err) {
99
- _iterator.e(err);
100
- } finally {
101
- _iterator.f();
102
- }
103
-
104
- return elements;
105
- }
106
-
107
- function getMultichannelButtons(node) {
108
- return getFilteredElements(node, isMultichannelButton);
109
- }
110
-
111
- function getMultichannelReplies(node) {
112
- return getFilteredElements(node, isMultichannelReply);
113
- }
114
-
115
- var isWhatsapp = function isWhatsapp(context) {
116
- return context.session && context.session.user && context.session.user.provider == _core.Providers.Messaging.WHATSAPP;
117
- };
118
-
119
- exports.isWhatsapp = isWhatsapp;
120
-
121
- var isFacebook = function isFacebook(context) {
122
- return context.session && context.session.user && context.session.user.provider == _core.Providers.Messaging.FACEBOOK;
123
- };
124
-
125
- exports.isFacebook = isFacebook;
126
- //# sourceMappingURL=multichannel-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/multichannel/multichannel-utils.js"],"names":["MULTICHANNEL_WHATSAPP_PROPS","markdown","WHATSAPP_MAX_BUTTONS","WHATSAPP_MAX_BUTTON_CHARS","DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR","isMultichannelButton","node","isNodeKind","isMultichannelReply","isButton","kind","type","name","elementHasUrl","element","props","url","elementHasPostback","payload","path","elementHasWebview","webview","buttonTypes","POSTBACK","URL","WEBVIEW","getButtonType","multichannelButton","undefined","getFilteredElements","filter","elements","n","push","getMultichannelButtons","getMultichannelReplies","isWhatsapp","context","session","user","provider","Providers","Messaging","WHATSAPP","isFacebook","FACEBOOK"],"mappings":"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","sourcesContent":["import { Providers } from '@botonic/core'\n\n/**\n *\n * Whatsapp does not support Markdown\n * (its markup syntax is different)\n */\nexport const MULTICHANNEL_WHATSAPP_PROPS = { markdown: false }\n\nexport const WHATSAPP_MAX_BUTTONS = 3\nexport const WHATSAPP_MAX_BUTTON_CHARS = 20\nexport const DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR = 'More options:'\n\nexport function isMultichannelButton(node) {\n return isNodeKind(node, 'MultichannelButton')\n}\n\nexport function isMultichannelReply(node) {\n return isNodeKind(node, 'MultichannelReply')\n}\n\nexport function isButton(node) {\n return isNodeKind(node, 'Button')\n}\n\nexport function isNodeKind(node, kind) {\n return node.type && node.type.name == kind\n}\nexport function elementHasUrl(element) {\n return element.props && element.props.url\n}\nexport function elementHasPostback(element) {\n return (\n (element.props && element.props.payload) ||\n (element.props && element.props.path)\n )\n}\nexport function elementHasWebview(element) {\n return element.props && element.props.webview\n}\n\nexport const buttonTypes = {\n POSTBACK: 'postback',\n URL: 'url',\n WEBVIEW: 'webview',\n}\n\nexport function getButtonType(multichannelButton) {\n if (elementHasUrl(multichannelButton)) return buttonTypes.URL\n if (elementHasPostback(multichannelButton)) return buttonTypes.POSTBACK\n if (elementHasWebview(multichannelButton)) return buttonTypes.WEBVIEW\n\n return undefined\n}\n\nexport function getFilteredElements(node, filter) {\n const elements = []\n for (const n of node) {\n if (filter(n)) elements.push(n)\n }\n return elements\n}\n\nexport function getMultichannelButtons(node) {\n return getFilteredElements(node, isMultichannelButton)\n}\n\nexport function getMultichannelReplies(node) {\n return getFilteredElements(node, isMultichannelReply)\n}\n\nexport const isWhatsapp = context =>\n context.session &&\n context.session.user &&\n context.session.user.provider == Providers.Messaging.WHATSAPP\n\nexport const isFacebook = context =>\n context.session &&\n context.session.user &&\n context.session.user.provider == Providers.Messaging.FACEBOOK\n"],"file":"multichannel-utils.js"}
@@ -1,111 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.Multichannel = void 0;
11
-
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
15
-
16
- var _constants = require("../../constants");
17
-
18
- var _contexts = require("../../contexts");
19
-
20
- var _react2 = require("../../util/react");
21
-
22
- var _text = require("../text");
23
-
24
- var _multichannelButton = require("./multichannel-button");
25
-
26
- var _multichannelCarousel = require("./multichannel-carousel");
27
-
28
- var _multichannelContext = require("./multichannel-context");
29
-
30
- var _multichannelReply = require("./multichannel-reply");
31
-
32
- var _multichannelText = require("./multichannel-text");
33
-
34
- var _multichannelUtils = require("./multichannel-utils");
35
-
36
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
-
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
-
40
- var Multichannel = function Multichannel(props) {
41
- var requestContext = (0, _react.useContext)(_contexts.RequestContext);
42
-
43
- if (!(0, _multichannelUtils.isWhatsapp)(requestContext) && !(0, _multichannelUtils.isFacebook)(requestContext)) {
44
- return props.children;
45
- }
46
-
47
- if ((0, _multichannelUtils.isFacebook)(requestContext)) {
48
- var _newChildren = (0, _react2.deepMapWithIndex)(props.children, function (child) {
49
- if (child && child.type && child.type.name === _constants.COMPONENT_TYPE.TEXT) {
50
- return /*#__PURE__*/_react["default"].createElement(_multichannelText.MultichannelText, (0, _extends2["default"])({}, child.props, {
51
- key: child.key
52
- }), child.props.children);
53
- }
54
-
55
- return child;
56
- });
57
-
58
- return _newChildren;
59
- }
60
-
61
- var newChildren = (0, _react2.deepMapWithIndex)(props.children, function (child, index) {
62
- if (child && child.type && child.type.name === _constants.COMPONENT_TYPE.BUTTON) {
63
- return /*#__PURE__*/_react["default"].createElement(_multichannelButton.MultichannelButton, (0, _extends2["default"])({}, child.props, {
64
- key: child.key
65
- }), child.props.children);
66
- }
67
-
68
- if (child && child.type && child.type.name === _constants.COMPONENT_TYPE.REPLY) {
69
- return /*#__PURE__*/_react["default"].createElement(_multichannelReply.MultichannelReply, (0, _extends2["default"])({}, child.props, {
70
- key: child.key
71
- }), child.props.children);
72
- }
73
-
74
- if (child && child.type && child.type.name === _constants.COMPONENT_TYPE.TEXT) {
75
- return /*#__PURE__*/_react["default"].createElement(_multichannelText.MultichannelText, (0, _extends2["default"])({}, child.props, props.text, {
76
- key: child.key
77
- }, props.messageSeparator && index > 0 && {
78
- newline: props.messageSeparator
79
- }), child.props.children);
80
- }
81
-
82
- if (child && child.type && child.type.name === _constants.COMPONENT_TYPE.CAROUSEL) {
83
- return /*#__PURE__*/_react["default"].createElement(_multichannelCarousel.MultichannelCarousel, (0, _extends2["default"])({}, child.props, props.carousel, {
84
- key: child.key
85
- }), child.props.children);
86
- }
87
-
88
- return child;
89
- });
90
-
91
- if (props.messageSeparator != null) {
92
- newChildren = newChildren.map(function (c, index) {
93
- return index > 0 && typeof c === 'string' ? props.messageSeparator + c : c;
94
- });
95
- newChildren = /*#__PURE__*/_react["default"].createElement(_text.Text, (0, _extends2["default"])({
96
- key: props.key
97
- }, _multichannelUtils.MULTICHANNEL_WHATSAPP_PROPS), newChildren);
98
- }
99
-
100
- return /*#__PURE__*/_react["default"].createElement(_multichannelContext.MultichannelContext.Provider, {
101
- value: {
102
- currentIndex: props.firstIndex,
103
- boldIndex: props.boldIndex,
104
- indexSeparator: props.indexSeparator,
105
- messageSeparator: props.messageSeparator
106
- }
107
- }, newChildren);
108
- };
109
-
110
- exports.Multichannel = Multichannel;
111
- //# sourceMappingURL=multichannel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/multichannel/multichannel.jsx"],"names":["Multichannel","props","requestContext","RequestContext","children","newChildren","child","type","name","COMPONENT_TYPE","TEXT","key","index","BUTTON","REPLY","text","messageSeparator","newline","CAROUSEL","carousel","map","c","MULTICHANNEL_WHATSAPP_PROPS","currentIndex","firstIndex","boldIndex","indexSeparator"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAMO,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAAAC,KAAK,EAAI;AACnC,MAAMC,cAAc,GAAG,uBAAWC,wBAAX,CAAvB;;AAEA,MAAI,CAAC,mCAAWD,cAAX,CAAD,IAA+B,CAAC,mCAAWA,cAAX,CAApC,EAAgE;AAC9D,WAAOD,KAAK,CAACG,QAAb;AACD;;AACD,MAAI,mCAAWF,cAAX,CAAJ,EAAgC;AAC9B,QAAMG,YAAW,GAAG,8BAAiBJ,KAAK,CAACG,QAAvB,EAAiC,UAAAE,KAAK,EAAI;AAC5D,UAAIA,KAAK,IAAIA,KAAK,CAACC,IAAf,IAAuBD,KAAK,CAACC,IAAN,CAAWC,IAAX,KAAoBC,0BAAeC,IAA9D,EAAoE;AAClE,4BACE,gCAAC,kCAAD,gCAAsBJ,KAAK,CAACL,KAA5B;AAAmC,UAAA,GAAG,EAAEK,KAAK,CAACK;AAA9C,YACGL,KAAK,CAACL,KAAN,CAAYG,QADf,CADF;AAKD;;AACD,aAAOE,KAAP;AACD,KATmB,CAApB;;AAUA,WAAOD,YAAP;AACD;;AAED,MAAIA,WAAW,GAAG,8BAAiBJ,KAAK,CAACG,QAAvB,EAAiC,UAACE,KAAD,EAAQM,KAAR,EAAkB;AACnE,QAAIN,KAAK,IAAIA,KAAK,CAACC,IAAf,IAAuBD,KAAK,CAACC,IAAN,CAAWC,IAAX,KAAoBC,0BAAeI,MAA9D,EAAsE;AACpE,0BACE,gCAAC,sCAAD,gCAAwBP,KAAK,CAACL,KAA9B;AAAqC,QAAA,GAAG,EAAEK,KAAK,CAACK;AAAhD,UACGL,KAAK,CAACL,KAAN,CAAYG,QADf,CADF;AAKD;;AACD,QAAIE,KAAK,IAAIA,KAAK,CAACC,IAAf,IAAuBD,KAAK,CAACC,IAAN,CAAWC,IAAX,KAAoBC,0BAAeK,KAA9D,EAAqE;AACnE,0BACE,gCAAC,oCAAD,gCAAuBR,KAAK,CAACL,KAA7B;AAAoC,QAAA,GAAG,EAAEK,KAAK,CAACK;AAA/C,UACGL,KAAK,CAACL,KAAN,CAAYG,QADf,CADF;AAKD;;AACD,QAAIE,KAAK,IAAIA,KAAK,CAACC,IAAf,IAAuBD,KAAK,CAACC,IAAN,CAAWC,IAAX,KAAoBC,0BAAeC,IAA9D,EAAoE;AAClE,0BACE,gCAAC,kCAAD,gCACMJ,KAAK,CAACL,KADZ,EAEMA,KAAK,CAACc,IAFZ;AAGE,QAAA,GAAG,EAAET,KAAK,CAACK;AAHb,SAIOV,KAAK,CAACe,gBAAN,IACHJ,KAAK,GAAG,CADL,IACU;AAAEK,QAAAA,OAAO,EAAEhB,KAAK,CAACe;AAAjB,OALjB,GAOGV,KAAK,CAACL,KAAN,CAAYG,QAPf,CADF;AAWD;;AACD,QAAIE,KAAK,IAAIA,KAAK,CAACC,IAAf,IAAuBD,KAAK,CAACC,IAAN,CAAWC,IAAX,KAAoBC,0BAAeS,QAA9D,EAAwE;AACtE,0BACE,gCAAC,0CAAD,gCACMZ,KAAK,CAACL,KADZ,EAEMA,KAAK,CAACkB,QAFZ;AAGE,QAAA,GAAG,EAAEb,KAAK,CAACK;AAHb,UAKGL,KAAK,CAACL,KAAN,CAAYG,QALf,CADF;AASD;;AACD,WAAOE,KAAP;AACD,GAxCiB,CAAlB;;AAyCA,MAAIL,KAAK,CAACe,gBAAN,IAA0B,IAA9B,EAAoC;AAClCX,IAAAA,WAAW,GAAGA,WAAW,CAACe,GAAZ,CAAgB,UAACC,CAAD,EAAIT,KAAJ;AAAA,aAC5BA,KAAK,GAAG,CAAR,IAAa,OAAOS,CAAP,KAAa,QAA1B,GAAqCpB,KAAK,CAACe,gBAAN,GAAyBK,CAA9D,GAAkEA,CADtC;AAAA,KAAhB,CAAd;AAGAhB,IAAAA,WAAW,gBACT,gCAAC,UAAD;AAAM,MAAA,GAAG,EAAEJ,KAAK,CAACU;AAAjB,OAA0BW,8CAA1B,GACGjB,WADH,CADF;AAKD;;AACD,sBACE,gCAAC,wCAAD,CAAqB,QAArB;AACE,IAAA,KAAK,EAAE;AACLkB,MAAAA,YAAY,EAAEtB,KAAK,CAACuB,UADf;AAELC,MAAAA,SAAS,EAAExB,KAAK,CAACwB,SAFZ;AAGLC,MAAAA,cAAc,EAAEzB,KAAK,CAACyB,cAHjB;AAILV,MAAAA,gBAAgB,EAAEf,KAAK,CAACe;AAJnB;AADT,KAQGX,WARH,CADF;AAYD,CAnFM","sourcesContent":["import React, { useContext } from 'react'\n\nimport { COMPONENT_TYPE } from '../../constants'\nimport { RequestContext } from '../../contexts'\nimport { deepMapWithIndex } from '../../util/react'\nimport { Text } from '../text'\nimport { MultichannelButton } from './multichannel-button'\nimport { MultichannelCarousel } from './multichannel-carousel'\nimport { MultichannelContext } from './multichannel-context'\nimport { MultichannelReply } from './multichannel-reply'\nimport { MultichannelText } from './multichannel-text'\nimport {\n isFacebook,\n isWhatsapp,\n MULTICHANNEL_WHATSAPP_PROPS,\n} from './multichannel-utils'\n\nexport const Multichannel = props => {\n const requestContext = useContext(RequestContext)\n\n if (!isWhatsapp(requestContext) && !isFacebook(requestContext)) {\n return props.children\n }\n if (isFacebook(requestContext)) {\n const newChildren = deepMapWithIndex(props.children, child => {\n if (child && child.type && child.type.name === COMPONENT_TYPE.TEXT) {\n return (\n <MultichannelText {...child.props} key={child.key}>\n {child.props.children}\n </MultichannelText>\n )\n }\n return child\n })\n return newChildren\n }\n\n let newChildren = deepMapWithIndex(props.children, (child, index) => {\n if (child && child.type && child.type.name === COMPONENT_TYPE.BUTTON) {\n return (\n <MultichannelButton {...child.props} key={child.key}>\n {child.props.children}\n </MultichannelButton>\n )\n }\n if (child && child.type && child.type.name === COMPONENT_TYPE.REPLY) {\n return (\n <MultichannelReply {...child.props} key={child.key}>\n {child.props.children}\n </MultichannelReply>\n )\n }\n if (child && child.type && child.type.name === COMPONENT_TYPE.TEXT) {\n return (\n <MultichannelText\n {...child.props}\n {...props.text}\n key={child.key}\n {...(props.messageSeparator &&\n index > 0 && { newline: props.messageSeparator })}\n >\n {child.props.children}\n </MultichannelText>\n )\n }\n if (child && child.type && child.type.name === COMPONENT_TYPE.CAROUSEL) {\n return (\n <MultichannelCarousel\n {...child.props}\n {...props.carousel}\n key={child.key}\n >\n {child.props.children}\n </MultichannelCarousel>\n )\n }\n return child\n })\n if (props.messageSeparator != null) {\n newChildren = newChildren.map((c, index) =>\n index > 0 && typeof c === 'string' ? props.messageSeparator + c : c\n )\n newChildren = (\n <Text key={props.key} {...MULTICHANNEL_WHATSAPP_PROPS}>\n {newChildren}\n </Text>\n )\n }\n return (\n <MultichannelContext.Provider\n value={{\n currentIndex: props.firstIndex,\n boldIndex: props.boldIndex,\n indexSeparator: props.indexSeparator,\n messageSeparator: props.messageSeparator,\n }}\n >\n {newChildren}\n </MultichannelContext.Provider>\n )\n}\n"],"file":"multichannel.js"}
@@ -1,50 +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.Pic = void 0;
9
-
10
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var _styledComponents = _interopRequireDefault(require("styled-components"));
15
-
16
- var _constants = require("../constants");
17
-
18
- var _react2 = require("../util/react");
19
-
20
- var _templateObject;
21
-
22
- var PicStyled = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n width: ", "px;\n height: 140px;\n background: ", " url(", ") no-repeat\n center/cover;\n border-bottom: 1px solid ", ";\n"])), _constants.WEBCHAT.DEFAULTS.ELEMENT_WIDTH, _constants.COLORS.SOLID_WHITE, function (props) {
23
- return props.src;
24
- }, _constants.COLORS.SEASHELL_WHITE);
25
-
26
- var Pic = function Pic(props) {
27
- var renderBrowser = function renderBrowser() {
28
- return /*#__PURE__*/_react["default"].createElement(PicStyled, {
29
- src: props.src
30
- });
31
- };
32
-
33
- var renderNode = function renderNode() {
34
- return /*#__PURE__*/_react["default"].createElement("pic", null, props.src);
35
- };
36
-
37
- return (0, _react2.renderComponent)({
38
- renderBrowser: renderBrowser,
39
- renderNode: renderNode
40
- });
41
- };
42
-
43
- exports.Pic = Pic;
44
-
45
- Pic.serialize = function (picProps) {
46
- return {
47
- pic: picProps.src
48
- };
49
- };
50
- //# sourceMappingURL=pic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/pic.jsx"],"names":["PicStyled","styled","div","WEBCHAT","DEFAULTS","ELEMENT_WIDTH","COLORS","SOLID_WHITE","props","src","SEASHELL_WHITE","Pic","renderBrowser","renderNode","serialize","picProps","pic"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;AAEA,IAAMA,SAAS,GAAGC,6BAAOC,GAAV,2RAGJC,mBAAQC,QAAR,CAAiBC,aAHb,EAKCC,kBAAOC,WALR,EAK2B,UAAAC,KAAK;AAAA,SAAIA,KAAK,CAACC,GAAV;AAAA,CALhC,EAOcH,kBAAOI,cAPrB,CAAf;;AAUO,IAAMC,GAAG,GAAG,SAANA,GAAM,CAAAH,KAAK,EAAI;AAC1B,MAAMI,aAAa,GAAG,SAAhBA,aAAgB;AAAA,wBAAM,gCAAC,SAAD;AAAW,MAAA,GAAG,EAAEJ,KAAK,CAACC;AAAtB,MAAN;AAAA,GAAtB;;AACA,MAAMI,UAAU,GAAG,SAAbA,UAAa;AAAA,wBAAM,6CAAML,KAAK,CAACC,GAAZ,CAAN;AAAA,GAAnB;;AACA,SAAO,6BAAgB;AAAEG,IAAAA,aAAa,EAAbA,aAAF;AAAiBC,IAAAA,UAAU,EAAVA;AAAjB,GAAhB,CAAP;AACD,CAJM;;;;AAMPF,GAAG,CAACG,SAAJ,GAAgB,UAAAC,QAAQ,EAAI;AAC1B,SAAO;AAAEC,IAAAA,GAAG,EAAED,QAAQ,CAACN;AAAhB,GAAP;AACD,CAFD","sourcesContent":["import React from 'react'\nimport styled from 'styled-components'\n\nimport { COLORS, WEBCHAT } from '../constants'\nimport { renderComponent } from '../util/react'\n\nconst PicStyled = styled.div`\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n width: ${WEBCHAT.DEFAULTS.ELEMENT_WIDTH}px;\n height: 140px;\n background: ${COLORS.SOLID_WHITE} url(${props => props.src}) no-repeat\n center/cover;\n border-bottom: 1px solid ${COLORS.SEASHELL_WHITE};\n`\n\nexport const Pic = props => {\n const renderBrowser = () => <PicStyled src={props.src} />\n const renderNode = () => <pic>{props.src}</pic>\n return renderComponent({ renderBrowser, renderNode })\n}\n\nPic.serialize = picProps => {\n return { pic: picProps.src }\n}\n"],"file":"pic.js"}
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.Raw = void 0;
11
-
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
-
18
- var _core = require("@botonic/core");
19
-
20
- var _react = _interopRequireWildcard(require("react"));
21
-
22
- var _styledComponents = _interopRequireDefault(require("styled-components"));
23
-
24
- var _constants = require("../constants");
25
-
26
- var _message = require("./message");
27
-
28
- var _templateObject, _templateObject2;
29
-
30
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
-
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
-
34
- var RawDataButton = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n align-self: flex-start;\n background-color: ", ";\n padding: 4px;\n margin: 4px 0px;\n cursor: pointer;\n color: ", ";\n font-size: 10px;\n border-radius: 2px;\n"])), _constants.COLORS.CURIOUS_BLUE, _constants.COLORS.SOLID_WHITE_ALPHA_0_8);
35
-
36
- var Popover = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n max-width: 100%;\n max-height: 500px;\n overflow: auto;\n background-color: ", ";\n padding: 10px;\n pre {\n margin: 0px;\n }\n"])), _constants.COLORS.LIGHT_GRAY);
37
-
38
- var serialize = function serialize(rawProps) {
39
- return {
40
- data: rawProps.data,
41
- alt: rawProps.alt
42
- };
43
- };
44
-
45
- var Raw = function Raw(props) {
46
- var content = props.children;
47
- var data = JSON.stringify(props.data, null, ' ');
48
-
49
- var _useState = (0, _react.useState)(false),
50
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
51
- isOpen = _useState2[0],
52
- setIsOpen = _useState2[1];
53
-
54
- if ((0, _core.isBrowser)()) content = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", null, props.alt), /*#__PURE__*/_react["default"].createElement(RawDataButton, {
55
- onClick: function onClick() {
56
- return setIsOpen(!isOpen);
57
- }
58
- }, "RAW DATA ", /*#__PURE__*/_react["default"].createElement("small", null, isOpen ? '▲' : '▼')), isOpen && /*#__PURE__*/_react["default"].createElement(Popover, null, /*#__PURE__*/_react["default"].createElement("pre", null, data)));
59
- return /*#__PURE__*/_react["default"].createElement(_message.Message, (0, _extends2["default"])({
60
- role: _constants.ROLES.RAW_MESSAGE,
61
- json: serialize(props)
62
- }, props, {
63
- data: data,
64
- type: _core.INPUT.RAW
65
- }), content);
66
- };
67
-
68
- exports.Raw = Raw;
69
- Raw.serialize = serialize;
70
- //# sourceMappingURL=raw.js.map