@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/components/components.js"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,cAAc,CAAC,SAAS;IACtC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA;AAC5B,CAAC;AAFD,wCAEC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,SAAS;IAC5C,OAAO,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,IAAI,WAAW,CAAA;AAC/D,CAAC;AAFD,oDAEC"}
@@ -0,0 +1,10 @@
1
+ export function customMessage({ name, component: CustomMessageComponent, defaultProps, errorBoundary: ErrorBoundary, }: {
2
+ name: any;
3
+ component: any;
4
+ defaultProps?: {} | undefined;
5
+ errorBoundary?: any;
6
+ }): {
7
+ (props: any): JSX.Element;
8
+ customTypeName: any;
9
+ deserialize(msg: any): JSX.Element;
10
+ };
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.customMessage = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@botonic/core");
6
+ const lodash_merge_1 = tslib_1.__importDefault(require("lodash.merge"));
7
+ const react_1 = tslib_1.__importDefault(require("react"));
8
+ const constants_1 = require("../constants");
9
+ const error_boundary_1 = require("../util/error-boundary");
10
+ const logs_1 = require("../util/logs");
11
+ const react_2 = require("../util/react");
12
+ const message_1 = require("./message");
13
+ const reply_1 = require("./reply");
14
+ /**
15
+ *
16
+ * @param name as it appears at ThemeProps' message.customTypes key
17
+ * @param CustomMessageComponent
18
+ * @param defaultProps Props for the wrapper Message
19
+ * @param ErrorBoundary to recover in case it fails
20
+ */
21
+ const customMessage = ({ name, component: CustomMessageComponent, defaultProps = {}, errorBoundary: ErrorBoundary = error_boundary_1.createErrorBoundary(), }) => {
22
+ const CustomMessage = props => {
23
+ logs_1.warnDeprecatedProps(defaultProps, 'customMessage:');
24
+ if (defaultProps.from === constants_1.SENDERS.user)
25
+ defaultProps.ack = 1;
26
+ return (<message_1.Message {...lodash_merge_1.default(react_2.mapObjectNonBooleanValues(defaultProps), props)} type={core_1.INPUT.CUSTOM}/>);
27
+ };
28
+ const splitChildren = props => {
29
+ const { children } = props;
30
+ const isReply = e => e.type === reply_1.Reply;
31
+ try {
32
+ if (!Array.isArray(children) && !isReply(children)) {
33
+ return { replies: null, childrenWithoutReplies: children };
34
+ }
35
+ const childrenArray = react_1.default.Children.toArray(children);
36
+ const replies = childrenArray.filter(isReply);
37
+ const childrenWithoutReplies = childrenArray.filter(e => !isReply(e));
38
+ return {
39
+ replies: replies,
40
+ childrenWithoutReplies,
41
+ };
42
+ }
43
+ catch (e) {
44
+ return { replies: null, childrenWithoutReplies: children };
45
+ }
46
+ };
47
+ const WrappedComponent = props => {
48
+ const { id, children } = props, customMessageProps = tslib_1.__rest(props, ["id", "children"]);
49
+ const { replies, childrenWithoutReplies } = splitChildren(props);
50
+ return (<CustomMessage id={id} json={Object.assign(Object.assign({}, customMessageProps), { id, children: childrenWithoutReplies, customTypeName: name })}>
51
+ <ErrorBoundary key={'errorBoundary'} {...customMessageProps}>
52
+ <CustomMessageComponent {...customMessageProps}>
53
+ {childrenWithoutReplies}
54
+ </CustomMessageComponent>
55
+ </ErrorBoundary>
56
+ {replies}
57
+ </CustomMessage>);
58
+ };
59
+ WrappedComponent.customTypeName = name;
60
+ // eslint-disable-next-line react/display-name
61
+ WrappedComponent.deserialize = msg => (<WrappedComponent id={msg.id} key={msg.key} json={msg.data} {...msg.data}/>);
62
+ return WrappedComponent;
63
+ };
64
+ exports.customMessage = customMessage;
65
+ //# sourceMappingURL=custom-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-message.js","sourceRoot":"","sources":["../../../src/components/custom-message.jsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export function Document(props: any): JSX.Element;
2
+ export namespace Document {
3
+ export { serialize };
4
+ }
5
+ declare function serialize(documentProps: any): {
6
+ document: any;
7
+ };
8
+ export {};
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Document = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@botonic/core");
6
+ const react_1 = tslib_1.__importStar(require("react"));
7
+ const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
8
+ const constants_1 = require("../constants");
9
+ const contexts_1 = require("../contexts");
10
+ const environment_1 = require("../util/environment");
11
+ const message_1 = require("./message");
12
+ const StyledButton = styled_components_1.default.a `
13
+ display: block;
14
+ height: 25px;
15
+ background-color: #f0f0f0;
16
+ padding: 10px;
17
+ text-align: center;
18
+ border-radius: 5px;
19
+ color: black;
20
+ font-weight: bold;
21
+ line-height: 25px;
22
+ text-decoration: none;
23
+ border: 1px solid black;
24
+ opacity: 0.9;
25
+ &:hover {
26
+ opacity: 1;
27
+ }
28
+ `;
29
+ const serialize = documentProps => {
30
+ return { document: documentProps.src };
31
+ };
32
+ const Document = props => {
33
+ props = Object.assign(Object.assign({}, props), { src: environment_1.staticAsset(props.src) });
34
+ let content = props.children;
35
+ const { getThemeProperty } = react_1.useContext(contexts_1.WebchatContext);
36
+ let documentDownload = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.documentDownload, {});
37
+ if (typeof documentDownload === 'function')
38
+ documentDownload = documentDownload(props.from);
39
+ if (core_1.isBrowser()) {
40
+ content = (<StyledButton href={props.src} target='_blank' rel='noreferrer' style={Object.assign({}, documentDownload.style)}>
41
+ {documentDownload.text || 'Download'}
42
+ </StyledButton>);
43
+ }
44
+ return (<message_1.Message role={constants_1.ROLES.DOCUMENT_MESSAGE} json={serialize(props)} {...props} type={core_1.INPUT.DOCUMENT}>
45
+ {content}
46
+ </message_1.Message>);
47
+ };
48
+ exports.Document = Document;
49
+ exports.Document.serialize = serialize;
50
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/components/document.jsx"],"names":[],"mappings":";;;;AAAA,wCAAgD;AAChD,uDAAyC;AACzC,kFAAsC;AAEtC,4CAA6C;AAC7C,0CAA4C;AAC5C,qDAAiD;AACjD,uCAAmC;AAEnC,MAAM,YAAY,GAAG,2BAAM,CAAC,CAAC,CAAA;;;;;;;;;;;;;;;;CAgB5B,CAAA;AAED,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE;IAChC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,CAAA;AACxC,CAAC,CAAA;AAEM,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE;IAC9B,KAAK,mCAAQ,KAAK,KAAE,GAAG,EAAE,yBAAW,CAAC,KAAK,CAAC,GAAG,CAAC,GAAE,CAAA;IACjD,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAA;IAE5B,MAAM,EAAE,gBAAgB,EAAE,GAAG,kBAAU,CAAC,yBAAc,CAAC,CAAA;IACvD,IAAI,gBAAgB,GAAG,gBAAgB,CACrC,mBAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAC1C,EAAE,CACH,CAAA;IACD,IAAI,OAAO,gBAAgB,KAAK,UAAU;QACxC,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAEjD,IAAI,gBAAS,EAAE,EAAE;QACf,OAAO,GAAG,CACR,CAAC,YAAY,CACX,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAChB,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,YAAY,CAChB,KAAK,CAAC,mBACD,gBAAgB,CAAC,KAAK,EACzB,CAEF;QAAA,CAAC,gBAAgB,CAAC,IAAI,IAAI,UAAU,CACtC;MAAA,EAAE,YAAY,CAAC,CAChB,CAAA;KACF;IAED,OAAO,CACL,CAAC,iBAAO,CACN,IAAI,CAAC,CAAC,iBAAK,CAAC,gBAAgB,CAAC,CAC7B,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACvB,IAAI,KAAK,CAAC,CACV,IAAI,CAAC,CAAC,YAAK,CAAC,QAAQ,CAAC,CAErB;MAAA,CAAC,OAAO,CACV;IAAA,EAAE,iBAAO,CAAC,CACX,CAAA;AACH,CAAC,CAAA;AArCY,QAAA,QAAQ,YAqCpB;AAED,gBAAQ,CAAC,SAAS,GAAG,SAAS,CAAA"}
@@ -0,0 +1,4 @@
1
+ export function Element(props: any): any;
2
+ export namespace Element {
3
+ function serialize(elementProps: any): any;
4
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Element = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
7
+ const constants_1 = require("../constants");
8
+ const react_2 = require("../util/react");
9
+ const ElementContainer = styled_components_1.default.div `
10
+ display: flex;
11
+ flex-direction: column;
12
+ width: ${constants_1.WEBCHAT.DEFAULTS.ELEMENT_WIDTH}px;
13
+ margin-right: ${constants_1.WEBCHAT.DEFAULTS.ELEMENT_MARGIN_RIGHT}px;
14
+ border-radius: 6px;
15
+ border: 1px solid ${constants_1.COLORS.SEASHELL_WHITE};
16
+ overflow: hidden;
17
+ justify-content: space-between;
18
+ `;
19
+ const Element = props => {
20
+ const renderBrowser = () => (<ElementContainer>{props.children}</ElementContainer>);
21
+ const renderNode = () => <element>{props.children}</element>;
22
+ return react_2.renderComponent({ renderBrowser, renderNode });
23
+ };
24
+ exports.Element = Element;
25
+ exports.Element.serialize = elementProps => {
26
+ const element = Object.assign({}, ...elementProps.children
27
+ .filter(c => c && c.type && c.type.name != 'Button')
28
+ .map(c => c.type.serialize && c.type.serialize(c.props)));
29
+ // When we are serializer buttons from backend, we are receiving the data
30
+ // as an array of buttons, so we have to keep robust with serve and deal with arrays
31
+ element.buttons = [
32
+ ...elementProps.children
33
+ .filter(c => {
34
+ if (c instanceof Array)
35
+ return true;
36
+ return c && c.type && c.type.name == 'Button';
37
+ })
38
+ .map(b => {
39
+ if (b instanceof Array) {
40
+ return b.map(bb => bb &&
41
+ bb.type &&
42
+ bb.type.serialize &&
43
+ bb.type.serialize(bb.props).button);
44
+ }
45
+ return (b && b.type && b.type.serialize && b.type.serialize(b.props).button);
46
+ }),
47
+ ];
48
+ // When we have the buttons from backend, we have all buttons inside an array on the first position
49
+ // of another array in element['buttons'] we want that element['buttons'] to be an array of buttons,
50
+ // not an array of another array of buttons
51
+ if (element.buttons[0] instanceof Array)
52
+ element.buttons = element.buttons[0];
53
+ return element;
54
+ };
55
+ //# sourceMappingURL=element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../../../src/components/element.jsx"],"names":[],"mappings":";;;;AAAA,0DAAyB;AACzB,kFAAsC;AAEtC,4CAA8C;AAC9C,yCAA+C;AAE/C,MAAM,gBAAgB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;WAGxB,mBAAO,CAAC,QAAQ,CAAC,aAAa;kBACvB,mBAAO,CAAC,QAAQ,CAAC,oBAAoB;;sBAEjC,kBAAM,CAAC,cAAc;;;CAG1C,CAAA;AAEM,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE;IAC7B,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAC1B,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CACtD,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;IAE5D,OAAO,uBAAe,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA;AARY,QAAA,OAAO,WAQnB;AAED,eAAO,CAAC,SAAS,GAAG,YAAY,CAAC,EAAE;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,EAAE,EACF,GAAG,YAAY,CAAC,QAAQ;SACrB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;SACnD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAC3D,CAAA;IACD,yEAAyE;IACzE,oFAAoF;IACpF,OAAO,CAAC,OAAO,GAAG;QAChB,GAAG,YAAY,CAAC,QAAQ;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK;gBAAE,OAAO,IAAI,CAAA;YACnC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAA;QAC/C,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,EAAE;YACP,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,OAAO,CAAC,CAAC,GAAG,CACV,EAAE,CAAC,EAAE,CACH,EAAE;oBACF,EAAE,CAAC,IAAI;oBACP,EAAE,CAAC,IAAI,CAAC,SAAS;oBACjB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CACrC,CAAA;aACF;YACD,OAAO,CACL,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CACpE,CAAA;QACH,CAAC,CAAC;KACL,CAAA;IACD,mGAAmG;IACnG,oGAAoG;IACpG,2CAA2C;IAC3C,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,KAAK;QAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC7E,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export function Handoff(props: any): JSX.Element;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Handoff = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
7
+ const constants_1 = require("../constants");
8
+ const contexts_1 = require("../contexts");
9
+ const Container = styled_components_1.default.div `
10
+ display: flex;
11
+ font-family: inherit;
12
+ flex-direction: column;
13
+ justify-content: center;
14
+ align-items: center;
15
+ padding: 24px;
16
+ `;
17
+ const TransferredContainer = styled_components_1.default.div `
18
+ text-align: center;
19
+ white-space: normal;
20
+ `;
21
+ const EndedContainer = styled_components_1.default.div `
22
+ text-align: center;
23
+ white-space: normal;
24
+ `;
25
+ const StyledButton = styled_components_1.default.button `
26
+ max-width: 60%;
27
+ padding: 12px 24px;
28
+ background-color: ${constants_1.COLORS.SOLID_WHITE};
29
+ border: none;
30
+ border-radius: 4px;
31
+ margin-top: 8px;
32
+ cursor: pointer;
33
+ `;
34
+ const Handoff = props => {
35
+ const { resolveCase } = react_1.useContext(contexts_1.WebchatContext);
36
+ const [state, setState] = react_1.useState({ showContinue: true });
37
+ const continueClick = () => {
38
+ setState({ showContinue: false });
39
+ resolveCase();
40
+ };
41
+ const bgColor = state.showContinue
42
+ ? constants_1.COLORS.FRINGY_FLOWER_GREEN
43
+ : constants_1.COLORS.TASMAN_GRAY;
44
+ const fontColor = state.showContinue
45
+ ? constants_1.COLORS.APPLE_GREEN
46
+ : constants_1.COLORS.CACTUS_GREEN;
47
+ return (<Container style={{
48
+ color: fontColor,
49
+ backgroundColor: bgColor,
50
+ }}>
51
+ {state.showContinue ? (<TransferredContainer>
52
+ Conversation transferred to a human agent...
53
+ </TransferredContainer>) : (<EndedContainer>Human handoff ended</EndedContainer>)}
54
+ {state.showContinue && (<StyledButton onClick={continueClick}>Continue</StyledButton>)}
55
+ </Container>);
56
+ };
57
+ exports.Handoff = Handoff;
58
+ //# sourceMappingURL=handoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/components/handoff.jsx"],"names":[],"mappings":";;;;AAAA,uDAAmD;AACnD,kFAAsC;AAEtC,4CAAqC;AACrC,0CAA4C;AAE5C,MAAM,SAAS,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;;;CAO3B,CAAA;AAED,MAAM,oBAAoB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;CAGtC,CAAA;AAED,MAAM,cAAc,GAAG,2BAAM,CAAC,GAAG,CAAA;;;CAGhC,CAAA;AAED,MAAM,YAAY,GAAG,2BAAM,CAAC,MAAM,CAAA;;;sBAGZ,kBAAM,CAAC,WAAW;;;;;CAKvC,CAAA;AAEM,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE;IAC7B,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAU,CAAC,yBAAc,CAAC,CAAA;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,gBAAQ,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;IAE1D,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;QACjC,WAAW,EAAE,CAAA;IACf,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY;QAChC,CAAC,CAAC,kBAAM,CAAC,mBAAmB;QAC5B,CAAC,CAAC,kBAAM,CAAC,WAAW,CAAA;IACtB,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY;QAClC,CAAC,CAAC,kBAAM,CAAC,WAAW;QACpB,CAAC,CAAC,kBAAM,CAAC,YAAY,CAAA;IACvB,OAAO,CACL,CAAC,SAAS,CACR,KAAK,CAAC,CAAC;YACL,KAAK,EAAE,SAAS;YAChB,eAAe,EAAE,OAAO;SACzB,CAAC,CAEF;MAAA,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CACpB,CAAC,oBAAoB,CACnB;;QACF,EAAE,oBAAoB,CAAC,CACxB,CAAC,CAAC,CAAC,CACF,CAAC,cAAc,CAAC,mBAAmB,EAAE,cAAc,CAAC,CACrD,CACD;MAAA,CAAC,KAAK,CAAC,YAAY,IAAI,CACrB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAC9D,CACH;IAAA,EAAE,SAAS,CAAC,CACb,CAAA;AACH,CAAC,CAAA;AAlCY,QAAA,OAAO,WAkCnB"}
@@ -0,0 +1,8 @@
1
+ export function Image(props: any): JSX.Element;
2
+ export namespace Image {
3
+ export { serialize };
4
+ }
5
+ declare function serialize(imageProps: any): {
6
+ image: any;
7
+ };
8
+ export {};
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Image = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@botonic/core");
6
+ const react_1 = tslib_1.__importStar(require("react"));
7
+ const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
8
+ const constants_1 = require("../constants");
9
+ const contexts_1 = require("../contexts");
10
+ const environment_1 = require("../util/environment");
11
+ const message_1 = require("./message");
12
+ const StyledImage = styled_components_1.default.img `
13
+ border-radius: 8px;
14
+ max-width: 150px;
15
+ max-height: 150px;
16
+ margin: -3px -6px;
17
+ cursor: ${({ hasPreviewer }) => (hasPreviewer ? 'pointer' : 'auto')};
18
+ `;
19
+ const serialize = imageProps => {
20
+ return { image: imageProps.src };
21
+ };
22
+ const Image = props => {
23
+ props = Object.assign(Object.assign({}, props), { src: environment_1.staticAsset(props.src) });
24
+ let content = props.children;
25
+ const [isPreviewerOpened, setIsPreviewerOpened] = react_1.useState(false);
26
+ const openPreviewer = () => setIsPreviewerOpened(true);
27
+ const closePreviewer = () => setIsPreviewerOpened(false);
28
+ const { getThemeProperty } = react_1.useContext(contexts_1.WebchatContext);
29
+ const ImagePreviewer = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.imagePreviewer, null);
30
+ if (core_1.isBrowser()) {
31
+ content = (<>
32
+ <StyledImage src={props.src} onClick={openPreviewer} hasPreviewer={Boolean(ImagePreviewer)}/>
33
+ {ImagePreviewer && (<ImagePreviewer src={props.src} isPreviewerOpened={isPreviewerOpened} openPreviewer={openPreviewer} closePreviewer={closePreviewer}/>)}
34
+ </>);
35
+ }
36
+ return (<message_1.Message role={constants_1.ROLES.IMAGE_MESSAGE} json={serialize(props)} {...props} type={core_1.INPUT.IMAGE}>
37
+ {content}
38
+ </message_1.Message>);
39
+ };
40
+ exports.Image = Image;
41
+ exports.Image.serialize = serialize;
42
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/components/image.jsx"],"names":[],"mappings":";;;;AAAA,wCAAgD;AAChD,uDAAmD;AACnD,kFAAsC;AAEtC,4CAA6C;AAC7C,0CAA4C;AAC5C,qDAAiD;AACjD,uCAAmC;AAEnC,MAAM,WAAW,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;YAKlB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;CACpE,CAAA;AAED,MAAM,SAAS,GAAG,UAAU,CAAC,EAAE;IAC7B,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,CAAA;AAClC,CAAC,CAAA;AAEM,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE;IAC3B,KAAK,mCAAQ,KAAK,KAAE,GAAG,EAAE,yBAAW,CAAC,KAAK,CAAC,GAAG,CAAC,GAAE,CAAA;IACjD,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAA;IAE5B,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,gBAAQ,CAAC,KAAK,CAAC,CAAA;IACjE,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACtD,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAExD,MAAM,EAAE,gBAAgB,EAAE,GAAG,kBAAU,CAAC,yBAAc,CAAC,CAAA;IACvD,MAAM,cAAc,GAAG,gBAAgB,CACrC,mBAAO,CAAC,iBAAiB,CAAC,cAAc,EACxC,IAAI,CACL,CAAA;IACD,IAAI,gBAAS,EAAE,EAAE;QACf,OAAO,GAAG,CACR,EACE;QAAA,CAAC,WAAW,CACV,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,OAAO,CAAC,CAAC,aAAa,CAAC,CACvB,YAAY,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAExC;QAAA,CAAC,cAAc,IAAI,CACjB,CAAC,cAAc,CACb,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,cAAc,CAAC,CAAC,cAAc,CAAC,EAC/B,CACH,CACH;MAAA,GAAG,CACJ,CAAA;KACF;IACD,OAAO,CACL,CAAC,iBAAO,CACN,IAAI,CAAC,CAAC,iBAAK,CAAC,aAAa,CAAC,CAC1B,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACvB,IAAI,KAAK,CAAC,CACV,IAAI,CAAC,CAAC,YAAK,CAAC,KAAK,CAAC,CAElB;MAAA,CAAC,OAAO,CACV;IAAA,EAAE,iBAAO,CAAC,CACX,CAAA;AACH,CAAC,CAAA;AA1CY,QAAA,KAAK,SA0CjB;AAED,aAAK,CAAC,SAAS,GAAG,SAAS,CAAA"}
@@ -0,0 +1 @@
1
+ export * from "./multichannel";
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WhatsappTemplate = exports.WebchatSettings = exports.Video = exports.Title = exports.Text = exports.Subtitle = exports.ShareButton = exports.Reply = exports.Raw = exports.Pic = exports.MessageTemplate = exports.Location = exports.Image = exports.Element = exports.Document = exports.customMessage = exports.Carousel = exports.Button = exports.Audio = void 0;
4
+ const tslib_1 = require("tslib");
5
+ var audio_1 = require("./audio");
6
+ Object.defineProperty(exports, "Audio", { enumerable: true, get: function () { return audio_1.Audio; } });
7
+ var button_1 = require("./button");
8
+ Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return button_1.Button; } });
9
+ var carousel_1 = require("./carousel");
10
+ Object.defineProperty(exports, "Carousel", { enumerable: true, get: function () { return carousel_1.Carousel; } });
11
+ var custom_message_1 = require("./custom-message");
12
+ Object.defineProperty(exports, "customMessage", { enumerable: true, get: function () { return custom_message_1.customMessage; } });
13
+ var document_1 = require("./document");
14
+ Object.defineProperty(exports, "Document", { enumerable: true, get: function () { return document_1.Document; } });
15
+ var element_1 = require("./element");
16
+ Object.defineProperty(exports, "Element", { enumerable: true, get: function () { return element_1.Element; } });
17
+ var image_1 = require("./image");
18
+ Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return image_1.Image; } });
19
+ var location_1 = require("./location");
20
+ Object.defineProperty(exports, "Location", { enumerable: true, get: function () { return location_1.Location; } });
21
+ var message_template_1 = require("./message-template");
22
+ Object.defineProperty(exports, "MessageTemplate", { enumerable: true, get: function () { return message_template_1.MessageTemplate; } });
23
+ tslib_1.__exportStar(require("./multichannel"), exports);
24
+ var pic_1 = require("./pic");
25
+ Object.defineProperty(exports, "Pic", { enumerable: true, get: function () { return pic_1.Pic; } });
26
+ var raw_1 = require("./raw");
27
+ Object.defineProperty(exports, "Raw", { enumerable: true, get: function () { return raw_1.Raw; } });
28
+ var reply_1 = require("./reply");
29
+ Object.defineProperty(exports, "Reply", { enumerable: true, get: function () { return reply_1.Reply; } });
30
+ var share_button_1 = require("./share-button");
31
+ Object.defineProperty(exports, "ShareButton", { enumerable: true, get: function () { return share_button_1.ShareButton; } });
32
+ var subtitle_1 = require("./subtitle");
33
+ Object.defineProperty(exports, "Subtitle", { enumerable: true, get: function () { return subtitle_1.Subtitle; } });
34
+ var text_1 = require("./text");
35
+ Object.defineProperty(exports, "Text", { enumerable: true, get: function () { return text_1.Text; } });
36
+ var title_1 = require("./title");
37
+ Object.defineProperty(exports, "Title", { enumerable: true, get: function () { return title_1.Title; } });
38
+ var video_1 = require("./video");
39
+ Object.defineProperty(exports, "Video", { enumerable: true, get: function () { return video_1.Video; } });
40
+ var webchat_settings_1 = require("./webchat-settings");
41
+ Object.defineProperty(exports, "WebchatSettings", { enumerable: true, get: function () { return webchat_settings_1.WebchatSettings; } });
42
+ var whatsapp_template_1 = require("./whatsapp-template");
43
+ Object.defineProperty(exports, "WhatsappTemplate", { enumerable: true, get: function () { return whatsapp_template_1.WhatsappTemplate; } });
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.js"],"names":[],"mappings":";;;;AAAA,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,mDAAgD;AAAvC,+GAAA,aAAa,OAAA;AACtB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,uDAAoD;AAA3C,mHAAA,eAAe,OAAA;AACxB,yDAA8B;AAC9B,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AACpB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,uDAAoD;AAA3C,mHAAA,eAAe,OAAA;AACxB,yDAAsD;AAA7C,qHAAA,gBAAgB,OAAA"}
@@ -0,0 +1,11 @@
1
+ export function Location(props: any): any;
2
+ export namespace Location {
3
+ export { serialize };
4
+ }
5
+ declare function serialize(locationProps: any): {
6
+ location: {
7
+ lat: any;
8
+ long: any;
9
+ };
10
+ };
11
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Location = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@botonic/core");
6
+ const react_1 = tslib_1.__importDefault(require("react"));
7
+ const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
8
+ const react_2 = require("../util/react");
9
+ const message_1 = require("./message");
10
+ const Link = styled_components_1.default.a `
11
+ text-decoration: none;
12
+ font-weight: bold;
13
+ target: blank;
14
+ `;
15
+ const serialize = locationProps => {
16
+ return { location: { lat: locationProps.lat, long: locationProps.long } };
17
+ };
18
+ const Location = props => {
19
+ const { lat, long } = props;
20
+ const renderBrowser = () => {
21
+ const locationUrl = `https://www.google.com/maps/search/?api=1&query=${lat},${long}`;
22
+ return (<message_1.Message json={serialize(props)} {...props} type={core_1.INPUT.LOCATION}>
23
+ <Link href={locationUrl} target='_blank' rel='noopener noreferrer'>
24
+ {props.text || 'Open Location'}
25
+ </Link>
26
+ </message_1.Message>);
27
+ };
28
+ const renderNode = () => {
29
+ return (<message type={core_1.INPUT.LOCATION}>
30
+ <lat>{lat}</lat>
31
+ <long>{long}</long>
32
+ </message>);
33
+ };
34
+ return react_2.renderComponent({ renderBrowser, renderNode });
35
+ };
36
+ exports.Location = Location;
37
+ exports.Location.serialize = serialize;
38
+ //# sourceMappingURL=location.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../../src/components/location.jsx"],"names":[],"mappings":";;;;AAAA,wCAAqC;AACrC,0DAAyB;AACzB,kFAAsC;AAEtC,yCAA+C;AAC/C,uCAAmC;AAEnC,MAAM,IAAI,GAAG,2BAAM,CAAC,CAAC,CAAA;;;;CAIpB,CAAA;AAED,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE;IAChC,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,EAAE,CAAA;AAC3E,CAAC,CAAA;AAEM,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE;IAC9B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAE3B,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,MAAM,WAAW,GAAG,mDAAmD,GAAG,IAAI,IAAI,EAAE,CAAA;QACpF,OAAO,CACL,CAAC,iBAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,YAAK,CAAC,QAAQ,CAAC,CAC/D;QAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAChE;UAAA,CAAC,KAAK,CAAC,IAAI,IAAI,eAAe,CAChC;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,iBAAO,CAAC,CACX,CAAA;IACH,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,OAAO,CACL,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAK,CAAC,QAAQ,CAAC,CAC5B;QAAA,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CACf;QAAA,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CACpB;MAAA,EAAE,OAAO,CAAC,CACX,CAAA;IACH,CAAC,CAAA;IAED,OAAO,uBAAe,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA;AAxBY,QAAA,QAAQ,YAwBpB;AAED,gBAAQ,CAAC,SAAS,GAAG,SAAS,CAAA"}
@@ -0,0 +1,7 @@
1
+ export const ESCAPED_LINE_BREAK: "&lt;br&gt;";
2
+ export function renderMarkdown(text: any): any;
3
+ export function renderLinks(text: any): any;
4
+ export function serializeMarkdown(children: any): any;
5
+ export function toMarkdownChildren(children: any): any;
6
+ export function getMarkdownStyle(getThemeFn: any, defaultColor: any): any;
7
+ export function getDefaultMarkdownStyle(color: any): string;
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDefaultMarkdownStyle = exports.getMarkdownStyle = exports.toMarkdownChildren = exports.serializeMarkdown = exports.renderLinks = exports.renderMarkdown = exports.ESCAPED_LINE_BREAK = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const markdown_it_1 = tslib_1.__importDefault(require("markdown-it"));
6
+ const BR_STRING_TAG = '<br/>';
7
+ const BR_STRING_TAG_REGEX = new RegExp('<br\\s*/?>', 'g');
8
+ exports.ESCAPED_LINE_BREAK = '&lt;br&gt;';
9
+ const ESCAPED_LINE_BREAK_REGEX = new RegExp(exports.ESCAPED_LINE_BREAK, 'g');
10
+ const isLineBreakElement = element => element.type === 'br';
11
+ const withLinksTarget = (renderer, target = '_blank') => {
12
+ // Support opening links in new tabs: https://github.com/markdown-it/markdown-it/blob/master/docs/architecture.md#renderer
13
+ const newRenderer = renderer.renderer.rules.link_open ||
14
+ function (tokens, idx, options, env, self) {
15
+ return self.renderToken(tokens, idx, options);
16
+ };
17
+ renderer.renderer.rules.link_open = function (tokens, idx, options, env, self) {
18
+ const aIndex = tokens[idx].attrIndex('target');
19
+ if (aIndex < 0)
20
+ tokens[idx].attrPush(['target', target]);
21
+ else
22
+ tokens[idx].attrs[aIndex][1] = target;
23
+ return newRenderer(tokens, idx, options, env, self);
24
+ };
25
+ };
26
+ const configureLinksRenderer = () => {
27
+ // zero preset comes with all options disabled, only enabling links
28
+ const linksRenderer = new markdown_it_1.default('zero', { linkify: true }).enable([
29
+ 'linkify',
30
+ ]);
31
+ withLinksTarget(linksRenderer);
32
+ return linksRenderer;
33
+ };
34
+ const configureMarkdownRenderer = () => {
35
+ const markdownRenderer = new markdown_it_1.default({
36
+ html: true,
37
+ linkify: true,
38
+ typographer: true,
39
+ });
40
+ withLinksTarget(markdownRenderer);
41
+ return markdownRenderer;
42
+ };
43
+ const markdownRenderer = configureMarkdownRenderer();
44
+ const renderMarkdown = text => {
45
+ // markdown-it renderer expects '<br/>' strings to render correctly line breaks
46
+ // Supporting multiline: https://stackoverflow.com/a/20543835
47
+ text = text
48
+ .map(e => {
49
+ if (isLineBreakElement(e))
50
+ return BR_STRING_TAG;
51
+ else if (typeof e === 'string')
52
+ return e
53
+ .replace(BR_STRING_TAG_REGEX, BR_STRING_TAG)
54
+ .replace(ESCAPED_LINE_BREAK_REGEX, BR_STRING_TAG);
55
+ else
56
+ return String(e);
57
+ })
58
+ .join('');
59
+ return markdownRenderer.render(text);
60
+ };
61
+ exports.renderMarkdown = renderMarkdown;
62
+ const linksRenderer = configureLinksRenderer();
63
+ const renderLinks = text => {
64
+ return linksRenderer.render(text);
65
+ };
66
+ exports.renderLinks = renderLinks;
67
+ const serializeMarkdown = children => {
68
+ children = Array.isArray(children) ? children : [children];
69
+ const text = children
70
+ .filter(e => isLineBreakElement(e) || !e.type)
71
+ .map(e => {
72
+ if (Array.isArray(e))
73
+ return exports.serializeMarkdown(e);
74
+ if (isLineBreakElement(e))
75
+ return exports.ESCAPED_LINE_BREAK;
76
+ else
77
+ return String(e).replace(BR_STRING_TAG_REGEX, exports.ESCAPED_LINE_BREAK);
78
+ })
79
+ .join('');
80
+ return text;
81
+ };
82
+ exports.serializeMarkdown = serializeMarkdown;
83
+ const toMarkdownChildren = children => children.map(e => (isLineBreakElement(e) ? exports.ESCAPED_LINE_BREAK : e));
84
+ exports.toMarkdownChildren = toMarkdownChildren;
85
+ const getMarkdownStyle = (getThemeFn, defaultColor) => getThemeFn('markdownStyle', exports.getDefaultMarkdownStyle(defaultColor));
86
+ exports.getMarkdownStyle = getMarkdownStyle;
87
+ const getDefaultMarkdownStyle = color => `
88
+ *{
89
+ margin: 0px;
90
+ }
91
+
92
+ a {
93
+ text-decoration:none;
94
+ }
95
+
96
+ a:link{
97
+ color:${color};
98
+ }
99
+
100
+ a:visited {
101
+ color:${color};
102
+ }
103
+
104
+ a:hover {
105
+ text-shadow: 0px 1px black;
106
+ }
107
+
108
+ blockquote {
109
+ margin: 0;
110
+ padding-left: 1.4rem;
111
+ border-left: 4px solid #dadada;
112
+ }
113
+
114
+ pre code {
115
+ margin: 0;
116
+ padding: 0;
117
+ white-space: pre;
118
+ border: none;
119
+ background: transparent;
120
+ }
121
+
122
+ pre {
123
+ background-color: #f8f8f8;
124
+ border: 1px solid #cccccc;
125
+ font-size: 13px;
126
+ line-height: 19px;
127
+ overflow: auto;
128
+ padding: 6px 10px;
129
+ border-radius: 3px;
130
+ }
131
+
132
+ code, tt {
133
+ margin: 0 2px;
134
+ padding: 0 5px;
135
+ white-space: nowrap;
136
+ border: 1px solid #eaeaea;
137
+ background-color: #f8f8f8;
138
+ border-radius: 3px;
139
+ }
140
+
141
+ pre {
142
+ background-color: #f8f8f8;
143
+ border: 1px solid #cccccc;
144
+ font-size: 13px;
145
+ line-height: 19px;
146
+ overflow: auto;
147
+ padding: 6px 10px;
148
+ border-radius: 3px;
149
+ }
150
+
151
+ pre code, pre tt {
152
+ background-color: transparent;
153
+ border: none;
154
+ }
155
+
156
+ table, td, th {
157
+ border: 1px solid black;
158
+ padding:10px;
159
+ }
160
+ `;
161
+ exports.getDefaultMarkdownStyle = getDefaultMarkdownStyle;
162
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/components/markdown.js"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export function MessageTemplate(props: any): any;