@botonic/react 0.21.6 → 0.21.7-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/lib/cjs/app.d.ts +2 -0
  2. package/lib/cjs/app.js +10 -0
  3. package/lib/cjs/app.js.map +1 -0
  4. package/lib/cjs/botonic-tester.d.ts +18 -0
  5. package/lib/cjs/botonic-tester.js +70 -0
  6. package/lib/cjs/botonic-tester.js.map +1 -0
  7. package/lib/cjs/components/audio.d.ts +8 -0
  8. package/lib/cjs/components/audio.js +27 -0
  9. package/lib/cjs/components/audio.js.map +1 -0
  10. package/lib/cjs/components/button.d.ts +15 -0
  11. package/lib/cjs/components/button.js +156 -0
  12. package/lib/cjs/components/button.js.map +1 -0
  13. package/lib/cjs/components/buttons-disabler.d.ts +24 -0
  14. package/lib/cjs/components/buttons-disabler.js +88 -0
  15. package/lib/cjs/components/buttons-disabler.js.map +1 -0
  16. package/lib/cjs/components/carousel.d.ts +9 -0
  17. package/lib/cjs/components/carousel.js +120 -0
  18. package/lib/cjs/components/carousel.js.map +1 -0
  19. package/lib/cjs/components/components.d.ts +12 -0
  20. package/lib/{components → cjs/components}/components.js +6 -11
  21. package/lib/cjs/components/components.js.map +1 -0
  22. package/lib/cjs/components/custom-message.d.ts +10 -0
  23. package/lib/cjs/components/custom-message.js +65 -0
  24. package/lib/cjs/components/custom-message.js.map +1 -0
  25. package/lib/cjs/components/document.d.ts +8 -0
  26. package/lib/cjs/components/document.js +50 -0
  27. package/lib/cjs/components/document.js.map +1 -0
  28. package/lib/cjs/components/element.d.ts +4 -0
  29. package/lib/cjs/components/element.js +55 -0
  30. package/lib/cjs/components/element.js.map +1 -0
  31. package/lib/cjs/components/handoff.d.ts +1 -0
  32. package/lib/cjs/components/handoff.js +58 -0
  33. package/lib/cjs/components/handoff.js.map +1 -0
  34. package/lib/cjs/components/image.d.ts +8 -0
  35. package/lib/cjs/components/image.js +42 -0
  36. package/lib/cjs/components/image.js.map +1 -0
  37. package/lib/cjs/components/index.d.ts +1 -0
  38. package/lib/cjs/components/index.js +44 -0
  39. package/lib/cjs/components/index.js.map +1 -0
  40. package/lib/cjs/components/location.d.ts +11 -0
  41. package/lib/cjs/components/location.js +38 -0
  42. package/lib/cjs/components/location.js.map +1 -0
  43. package/lib/cjs/components/markdown.d.ts +7 -0
  44. package/lib/cjs/components/markdown.js +162 -0
  45. package/lib/cjs/components/markdown.js.map +1 -0
  46. package/lib/cjs/components/message-template.d.ts +1 -0
  47. package/lib/cjs/components/message-template.js +15 -0
  48. package/lib/cjs/components/message-template.js.map +1 -0
  49. package/lib/cjs/components/message.d.ts +1 -0
  50. package/lib/cjs/components/message.js +206 -0
  51. package/lib/cjs/components/message.js.map +1 -0
  52. package/lib/cjs/components/multichannel/facebook/facebook.d.ts +17 -0
  53. package/lib/cjs/components/multichannel/facebook/facebook.js +47 -0
  54. package/lib/cjs/components/multichannel/facebook/facebook.js.map +1 -0
  55. package/lib/cjs/components/multichannel/index.d.ts +1 -0
  56. package/lib/cjs/components/multichannel/index.js +14 -0
  57. package/lib/cjs/components/multichannel/index.js.map +1 -0
  58. package/lib/cjs/components/multichannel/multichannel-button.d.ts +1 -0
  59. package/lib/cjs/components/multichannel/multichannel-button.js +77 -0
  60. package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -0
  61. package/lib/cjs/components/multichannel/multichannel-carousel.d.ts +1 -0
  62. package/lib/cjs/components/multichannel/multichannel-carousel.js +95 -0
  63. package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -0
  64. package/lib/cjs/components/multichannel/multichannel-context.d.ts +11 -0
  65. package/lib/cjs/components/multichannel/multichannel-context.js +16 -0
  66. package/lib/cjs/components/multichannel/multichannel-context.js.map +1 -0
  67. package/lib/cjs/components/multichannel/multichannel-reply.d.ts +1 -0
  68. package/lib/cjs/components/multichannel/multichannel-reply.js +24 -0
  69. package/lib/cjs/components/multichannel/multichannel-reply.js.map +1 -0
  70. package/lib/cjs/components/multichannel/multichannel-text.d.ts +1 -0
  71. package/lib/cjs/components/multichannel/multichannel-text.js +147 -0
  72. package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -0
  73. package/lib/cjs/components/multichannel/multichannel-utils.d.ts +24 -0
  74. package/lib/cjs/components/multichannel/multichannel-utils.js +83 -0
  75. package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -0
  76. package/lib/cjs/components/multichannel/multichannel.d.ts +1 -0
  77. package/lib/cjs/components/multichannel/multichannel.js +72 -0
  78. package/lib/cjs/components/multichannel/multichannel.js.map +1 -0
  79. package/lib/cjs/components/pic.d.ts +6 -0
  80. package/lib/cjs/components/pic.js +29 -0
  81. package/lib/cjs/components/pic.js.map +1 -0
  82. package/lib/cjs/components/raw.d.ts +9 -0
  83. package/lib/cjs/components/raw.js +53 -0
  84. package/lib/cjs/components/raw.js.map +1 -0
  85. package/lib/cjs/components/reply.d.ts +9 -0
  86. package/lib/cjs/components/reply.js +57 -0
  87. package/lib/cjs/components/reply.js.map +1 -0
  88. package/lib/cjs/components/share-button.d.ts +1 -0
  89. package/lib/cjs/components/share-button.js +15 -0
  90. package/lib/cjs/components/share-button.js.map +1 -0
  91. package/lib/cjs/components/subtitle.d.ts +6 -0
  92. package/lib/cjs/components/subtitle.js +25 -0
  93. package/lib/cjs/components/subtitle.js.map +1 -0
  94. package/lib/cjs/components/text.d.ts +8 -0
  95. package/lib/cjs/components/text.js +50 -0
  96. package/lib/cjs/components/text.js.map +1 -0
  97. package/lib/cjs/components/timestamps.d.ts +10 -0
  98. package/lib/cjs/components/timestamps.js +54 -0
  99. package/lib/cjs/components/timestamps.js.map +1 -0
  100. package/lib/cjs/components/title.d.ts +6 -0
  101. package/lib/cjs/components/title.js +21 -0
  102. package/lib/cjs/components/title.js.map +1 -0
  103. package/lib/cjs/components/video.d.ts +8 -0
  104. package/lib/cjs/components/video.js +34 -0
  105. package/lib/cjs/components/video.js.map +1 -0
  106. package/lib/cjs/components/webchat-settings.d.ts +10 -0
  107. package/lib/cjs/components/webchat-settings.js +78 -0
  108. package/lib/cjs/components/webchat-settings.js.map +1 -0
  109. package/lib/cjs/components/whatsapp-template.d.ts +1 -0
  110. package/lib/cjs/components/whatsapp-template.js +26 -0
  111. package/lib/cjs/components/whatsapp-template.js.map +1 -0
  112. package/lib/cjs/constants.d.ts +168 -0
  113. package/lib/cjs/constants.js +190 -0
  114. package/lib/cjs/constants.js.map +1 -0
  115. package/lib/cjs/contexts.d.ts +69 -0
  116. package/lib/cjs/contexts.js +38 -0
  117. package/lib/cjs/contexts.js.map +1 -0
  118. package/lib/cjs/dev-app.d.ts +34 -0
  119. package/lib/cjs/dev-app.js +71 -0
  120. package/lib/cjs/dev-app.js.map +1 -0
  121. package/lib/cjs/index.d.ts +3 -0
  122. package/lib/cjs/index.js +28 -0
  123. package/lib/cjs/index.js.map +1 -0
  124. package/lib/cjs/message-utils.d.ts +18 -0
  125. package/lib/cjs/message-utils.js +61 -0
  126. package/lib/cjs/message-utils.js.map +1 -0
  127. package/lib/cjs/msg-to-botonic.d.ts +18 -0
  128. package/lib/cjs/msg-to-botonic.js +160 -0
  129. package/lib/cjs/msg-to-botonic.js.map +1 -0
  130. package/lib/cjs/node-app.d.ts +11 -0
  131. package/lib/cjs/node-app.js +25 -0
  132. package/lib/cjs/node-app.js.map +1 -0
  133. package/lib/cjs/react-bot.d.ts +8 -0
  134. package/lib/cjs/react-bot.js +35 -0
  135. package/lib/cjs/react-bot.js.map +1 -0
  136. package/lib/cjs/util/dom.d.ts +13 -0
  137. package/lib/cjs/util/dom.js +55 -0
  138. package/lib/cjs/util/dom.js.map +1 -0
  139. package/lib/cjs/util/environment.d.ts +6 -0
  140. package/lib/cjs/util/environment.js +68 -0
  141. package/lib/cjs/util/environment.js.map +1 -0
  142. package/lib/cjs/util/error-boundary.js +47 -0
  143. package/lib/cjs/util/error-boundary.js.map +1 -0
  144. package/lib/cjs/util/index.d.ts +0 -0
  145. package/lib/cjs/util/index.js +2 -0
  146. package/lib/cjs/util/index.js.map +1 -0
  147. package/lib/cjs/util/logs.d.ts +2 -0
  148. package/lib/cjs/util/logs.js +20 -0
  149. package/lib/cjs/util/logs.js.map +1 -0
  150. package/lib/cjs/util/objects.d.ts +3 -0
  151. package/lib/cjs/util/objects.js +44 -0
  152. package/lib/cjs/util/objects.js.map +1 -0
  153. package/lib/cjs/util/react.d.ts +12 -0
  154. package/lib/cjs/util/react.js +42 -0
  155. package/lib/cjs/util/react.js.map +1 -0
  156. package/lib/cjs/util/regexs.d.ts +2 -0
  157. package/lib/cjs/util/regexs.js +23 -0
  158. package/lib/cjs/util/regexs.js.map +1 -0
  159. package/lib/cjs/util/webchat.d.ts +11 -0
  160. package/lib/cjs/util/webchat.js +62 -0
  161. package/lib/cjs/util/webchat.js.map +1 -0
  162. package/lib/cjs/webchat/actions.d.ts +23 -0
  163. package/lib/cjs/webchat/actions.js +27 -0
  164. package/lib/cjs/webchat/actions.js.map +1 -0
  165. package/lib/cjs/webchat/components/attachment.d.ts +5 -0
  166. package/lib/cjs/webchat/components/attachment.js +32 -0
  167. package/lib/cjs/webchat/components/attachment.js.map +1 -0
  168. package/lib/cjs/webchat/components/common.d.ts +1 -0
  169. package/lib/cjs/webchat/components/common.js +13 -0
  170. package/lib/cjs/webchat/components/common.js.map +1 -0
  171. package/lib/cjs/webchat/components/conditional-animation.d.ts +1 -0
  172. package/lib/cjs/webchat/components/conditional-animation.js +18 -0
  173. package/lib/cjs/webchat/components/conditional-animation.js.map +1 -0
  174. package/lib/cjs/webchat/components/emoji-picker.d.ts +5 -0
  175. package/lib/cjs/webchat/components/emoji-picker.js +52 -0
  176. package/lib/cjs/webchat/components/emoji-picker.js.map +1 -0
  177. package/lib/cjs/webchat/components/persistent-menu.d.ts +10 -0
  178. package/lib/cjs/webchat/components/persistent-menu.js +59 -0
  179. package/lib/cjs/webchat/components/persistent-menu.js.map +1 -0
  180. package/lib/cjs/webchat/components/send-button.d.ts +3 -0
  181. package/lib/cjs/webchat/components/send-button.js +24 -0
  182. package/lib/cjs/webchat/components/send-button.js.map +1 -0
  183. package/lib/cjs/webchat/components/styled-scrollbar.d.ts +1 -0
  184. package/lib/cjs/webchat/components/styled-scrollbar.js +54 -0
  185. package/lib/cjs/webchat/components/styled-scrollbar.js.map +1 -0
  186. package/lib/cjs/webchat/components/typing-indicator.d.ts +1 -0
  187. package/lib/cjs/webchat/components/typing-indicator.js +14 -0
  188. package/lib/cjs/webchat/components/typing-indicator.js.map +1 -0
  189. package/lib/cjs/webchat/devices/device-adapter.d.ts +12 -0
  190. package/lib/cjs/webchat/devices/device-adapter.js +47 -0
  191. package/lib/cjs/webchat/devices/device-adapter.js.map +1 -0
  192. package/lib/cjs/webchat/devices/index.d.ts +11 -0
  193. package/lib/cjs/webchat/devices/index.js +23 -0
  194. package/lib/cjs/webchat/devices/index.js.map +1 -0
  195. package/lib/cjs/webchat/devices/scrollbar-controller.d.ts +12 -0
  196. package/lib/cjs/webchat/devices/scrollbar-controller.js +103 -0
  197. package/lib/cjs/webchat/devices/scrollbar-controller.js.map +1 -0
  198. package/lib/cjs/webchat/devices/webchat-resizer.d.ts +9 -0
  199. package/lib/cjs/webchat/devices/webchat-resizer.js +47 -0
  200. package/lib/cjs/webchat/devices/webchat-resizer.js.map +1 -0
  201. package/lib/cjs/webchat/header.d.ts +3 -0
  202. package/lib/cjs/webchat/header.js +95 -0
  203. package/lib/cjs/webchat/header.js.map +1 -0
  204. package/lib/cjs/webchat/hooks.d.ts +80 -0
  205. package/lib/cjs/webchat/hooks.js +218 -0
  206. package/lib/cjs/webchat/hooks.js.map +1 -0
  207. package/lib/cjs/webchat/index.d.ts +4 -0
  208. package/lib/cjs/webchat/index.js +17 -0
  209. package/lib/cjs/webchat/index.js.map +1 -0
  210. package/lib/cjs/webchat/message-list.d.ts +1 -0
  211. package/lib/cjs/webchat/message-list.js +46 -0
  212. package/lib/cjs/webchat/message-list.js.map +1 -0
  213. package/lib/cjs/webchat/messages-reducer.d.ts +1 -0
  214. package/lib/cjs/webchat/messages-reducer.js +58 -0
  215. package/lib/cjs/webchat/messages-reducer.js.map +1 -0
  216. package/lib/cjs/webchat/replies.d.ts +1 -0
  217. package/lib/cjs/webchat/replies.js +46 -0
  218. package/lib/cjs/webchat/replies.js.map +1 -0
  219. package/lib/cjs/webchat/session-view.d.ts +1 -0
  220. package/lib/cjs/webchat/session-view.js +124 -0
  221. package/lib/cjs/webchat/session-view.js.map +1 -0
  222. package/lib/cjs/webchat/use-storage-state-hook.d.ts +1 -0
  223. package/lib/cjs/webchat/use-storage-state-hook.js +32 -0
  224. package/lib/cjs/webchat/use-storage-state-hook.js.map +1 -0
  225. package/lib/cjs/webchat/webchat-dev.d.ts +7 -0
  226. package/lib/cjs/webchat/webchat-dev.js +64 -0
  227. package/lib/cjs/webchat/webchat-dev.js.map +1 -0
  228. package/lib/cjs/webchat/webchat-reducer.d.ts +1 -0
  229. package/lib/cjs/webchat/webchat-reducer.js +48 -0
  230. package/lib/cjs/webchat/webchat-reducer.js.map +1 -0
  231. package/lib/cjs/webchat/webchat.d.ts +3 -0
  232. package/lib/cjs/webchat/webchat.js +703 -0
  233. package/lib/cjs/webchat/webchat.js.map +1 -0
  234. package/lib/cjs/webchat/webview.d.ts +2 -0
  235. package/lib/cjs/webchat/webview.js +92 -0
  236. package/lib/cjs/webchat/webview.js.map +1 -0
  237. package/lib/cjs/webchat-app.d.ts +99 -0
  238. package/lib/cjs/webchat-app.js +269 -0
  239. package/lib/cjs/webchat-app.js.map +1 -0
  240. package/lib/cjs/webview.d.ts +9 -0
  241. package/lib/cjs/webview.js +102 -0
  242. package/lib/cjs/webview.js.map +1 -0
  243. package/package.json +3 -3
  244. package/lib/app.js +0 -19
  245. package/lib/app.js.map +0 -1
  246. package/lib/assets/attachment-icon.svg +0 -7
  247. package/lib/assets/audio.svg +0 -4
  248. package/lib/assets/botonic_react_logo100x100.png +0 -0
  249. package/lib/assets/document.svg +0 -3
  250. package/lib/assets/emojiButton.svg +0 -6
  251. package/lib/assets/image.svg +0 -4
  252. package/lib/assets/leftArrow.svg +0 -3
  253. package/lib/assets/menuButton.svg +0 -3
  254. package/lib/assets/rightArrow.svg +0 -3
  255. package/lib/assets/send-button.svg +0 -1
  256. package/lib/assets/video.svg +0 -3
  257. package/lib/botonic-tester.js +0 -224
  258. package/lib/botonic-tester.js.map +0 -1
  259. package/lib/components/audio.js +0 -48
  260. package/lib/components/audio.js.map +0 -1
  261. package/lib/components/button.js +0 -224
  262. package/lib/components/button.js.map +0 -1
  263. package/lib/components/buttons-disabler.js +0 -133
  264. package/lib/components/buttons-disabler.js.map +0 -1
  265. package/lib/components/carousel.js +0 -194
  266. package/lib/components/carousel.js.map +0 -1
  267. package/lib/components/components.js.map +0 -1
  268. package/lib/components/custom-message.js +0 -131
  269. package/lib/components/custom-message.js.map +0 -1
  270. package/lib/components/document.js +0 -76
  271. package/lib/components/document.js.map +0 -1
  272. package/lib/components/element.js +0 -69
  273. package/lib/components/element.js.map +0 -1
  274. package/lib/components/handoff.js +0 -69
  275. package/lib/components/handoff.js.map +0 -1
  276. package/lib/components/image.js +0 -91
  277. package/lib/components/image.js.map +0 -1
  278. package/lib/components/index.d.ts +0 -228
  279. package/lib/components/index.js +0 -193
  280. package/lib/components/index.js.map +0 -1
  281. package/lib/components/location.js +0 -69
  282. package/lib/components/location.js.map +0 -1
  283. package/lib/components/markdown.js +0 -108
  284. package/lib/components/markdown.js.map +0 -1
  285. package/lib/components/message-template.js +0 -36
  286. package/lib/components/message-template.js.map +0 -1
  287. package/lib/components/message.js +0 -351
  288. package/lib/components/message.js.map +0 -1
  289. package/lib/components/multichannel/facebook/facebook.js +0 -96
  290. package/lib/components/multichannel/facebook/facebook.js.map +0 -1
  291. package/lib/components/multichannel/index.d.ts +0 -65
  292. package/lib/components/multichannel/index.js +0 -46
  293. package/lib/components/multichannel/index.js.map +0 -1
  294. package/lib/components/multichannel/multichannel-button.js +0 -119
  295. package/lib/components/multichannel/multichannel-button.js.map +0 -1
  296. package/lib/components/multichannel/multichannel-carousel.js +0 -143
  297. package/lib/components/multichannel/multichannel-carousel.js.map +0 -1
  298. package/lib/components/multichannel/multichannel-context.js +0 -24
  299. package/lib/components/multichannel/multichannel-context.js.map +0 -1
  300. package/lib/components/multichannel/multichannel-reply.js +0 -46
  301. package/lib/components/multichannel/multichannel-reply.js.map +0 -1
  302. package/lib/components/multichannel/multichannel-text.js +0 -222
  303. package/lib/components/multichannel/multichannel-text.js.map +0 -1
  304. package/lib/components/multichannel/multichannel-utils.js +0 -126
  305. package/lib/components/multichannel/multichannel-utils.js.map +0 -1
  306. package/lib/components/multichannel/multichannel.js +0 -111
  307. package/lib/components/multichannel/multichannel.js.map +0 -1
  308. package/lib/components/pic.js +0 -50
  309. package/lib/components/pic.js.map +0 -1
  310. package/lib/components/raw.js +0 -70
  311. package/lib/components/raw.js.map +0 -1
  312. package/lib/components/reply.js +0 -107
  313. package/lib/components/reply.js.map +0 -1
  314. package/lib/components/share-button.js +0 -36
  315. package/lib/components/share-button.js.map +0 -1
  316. package/lib/components/subtitle.js +0 -54
  317. package/lib/components/subtitle.js.map +0 -1
  318. package/lib/components/text.js +0 -80
  319. package/lib/components/text.js.map +0 -1
  320. package/lib/components/timestamps.js +0 -69
  321. package/lib/components/timestamps.js.map +0 -1
  322. package/lib/components/title.js +0 -52
  323. package/lib/components/title.js.map +0 -1
  324. package/lib/components/video.js +0 -51
  325. package/lib/components/video.js.map +0 -1
  326. package/lib/components/webchat-settings.js +0 -118
  327. package/lib/components/webchat-settings.js.map +0 -1
  328. package/lib/components/whatsapp-template.js +0 -53
  329. package/lib/components/whatsapp-template.js.map +0 -1
  330. package/lib/constants.js +0 -203
  331. package/lib/constants.js.map +0 -1
  332. package/lib/contexts.js +0 -57
  333. package/lib/contexts.js.map +0 -1
  334. package/lib/dev-app.js +0 -241
  335. package/lib/dev-app.js.map +0 -1
  336. package/lib/index.d.ts +0 -238
  337. package/lib/index.js +0 -131
  338. package/lib/index.js.map +0 -1
  339. package/lib/message-utils.js +0 -149
  340. package/lib/message-utils.js.map +0 -1
  341. package/lib/msg-to-botonic.js +0 -199
  342. package/lib/msg-to-botonic.js.map +0 -1
  343. package/lib/node-app.js +0 -97
  344. package/lib/node-app.js.map +0 -1
  345. package/lib/react-bot.js +0 -167
  346. package/lib/react-bot.js.map +0 -1
  347. package/lib/util/dom.js +0 -84
  348. package/lib/util/dom.js.map +0 -1
  349. package/lib/util/environment.js +0 -42
  350. package/lib/util/environment.js.map +0 -1
  351. package/lib/util/error-boundary.js +0 -105
  352. package/lib/util/error-boundary.js.map +0 -1
  353. package/lib/util/index.d.ts +0 -9
  354. package/lib/util/index.js +0 -2
  355. package/lib/util/index.js.map +0 -1
  356. package/lib/util/logs.js +0 -28
  357. package/lib/util/logs.js.map +0 -1
  358. package/lib/util/objects.js +0 -60
  359. package/lib/util/objects.js.map +0 -1
  360. package/lib/util/react.js +0 -75
  361. package/lib/util/react.js.map +0 -1
  362. package/lib/util/regexs.js +0 -31
  363. package/lib/util/regexs.js.map +0 -1
  364. package/lib/util/webchat.js +0 -92
  365. package/lib/util/webchat.js.map +0 -1
  366. package/lib/webchat/actions.js +0 -53
  367. package/lib/webchat/actions.js.map +0 -1
  368. package/lib/webchat/components/attachment.js +0 -68
  369. package/lib/webchat/components/attachment.js.map +0 -1
  370. package/lib/webchat/components/common.js +0 -29
  371. package/lib/webchat/components/common.js.map +0 -1
  372. package/lib/webchat/components/conditional-animation.js +0 -42
  373. package/lib/webchat/components/conditional-animation.js.map +0 -1
  374. package/lib/webchat/components/emoji-picker.js +0 -89
  375. package/lib/webchat/components/emoji-picker.js.map +0 -1
  376. package/lib/webchat/components/persistent-menu.js +0 -104
  377. package/lib/webchat/components/persistent-menu.js.map +0 -1
  378. package/lib/webchat/components/send-button.js +0 -45
  379. package/lib/webchat/components/send-button.js.map +0 -1
  380. package/lib/webchat/components/styled-scrollbar.js +0 -55
  381. package/lib/webchat/components/styled-scrollbar.js.map +0 -1
  382. package/lib/webchat/components/styled-scrollbar.scss +0 -12
  383. package/lib/webchat/components/typing-indicator.js +0 -27
  384. package/lib/webchat/components/typing-indicator.js.map +0 -1
  385. package/lib/webchat/components/typing-indicator.scss +0 -38
  386. package/lib/webchat/devices/device-adapter.js +0 -82
  387. package/lib/webchat/devices/device-adapter.js.map +0 -1
  388. package/lib/webchat/devices/index.js +0 -32
  389. package/lib/webchat/devices/index.js.map +0 -1
  390. package/lib/webchat/devices/scrollbar-controller.js +0 -152
  391. package/lib/webchat/devices/scrollbar-controller.js.map +0 -1
  392. package/lib/webchat/devices/webchat-resizer.js +0 -76
  393. package/lib/webchat/devices/webchat-resizer.js.map +0 -1
  394. package/lib/webchat/header.js +0 -116
  395. package/lib/webchat/header.js.map +0 -1
  396. package/lib/webchat/hooks.js +0 -359
  397. package/lib/webchat/hooks.js.map +0 -1
  398. package/lib/webchat/index.d.ts +0 -62
  399. package/lib/webchat/index.js +0 -32
  400. package/lib/webchat/index.js.map +0 -1
  401. package/lib/webchat/message-list.js +0 -88
  402. package/lib/webchat/message-list.js.map +0 -1
  403. package/lib/webchat/messages-reducer.js +0 -93
  404. package/lib/webchat/messages-reducer.js.map +0 -1
  405. package/lib/webchat/replies.js +0 -78
  406. package/lib/webchat/replies.js.map +0 -1
  407. package/lib/webchat/session-view.js +0 -106
  408. package/lib/webchat/session-view.js.map +0 -1
  409. package/lib/webchat/use-storage-state-hook.js +0 -60
  410. package/lib/webchat/use-storage-state-hook.js.map +0 -1
  411. package/lib/webchat/webchat-dev.js +0 -109
  412. package/lib/webchat/webchat-dev.js.map +0 -1
  413. package/lib/webchat/webchat-reducer.js +0 -108
  414. package/lib/webchat/webchat-reducer.js.map +0 -1
  415. package/lib/webchat/webchat.js +0 -1108
  416. package/lib/webchat/webchat.js.map +0 -1
  417. package/lib/webchat/webview.js +0 -122
  418. package/lib/webchat/webview.js.map +0 -1
  419. package/lib/webchat-app.js +0 -660
  420. package/lib/webchat-app.js.map +0 -1
  421. package/lib/webchat.template.html +0 -37
  422. package/lib/webview.js +0 -231
  423. package/lib/webview.js.map +0 -1
  424. package/lib/webview.template.html +0 -39
@@ -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":"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","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