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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (693) hide show
  1. package/lib/cjs/app.d.ts +2 -0
  2. package/lib/cjs/app.js +10 -0
  3. package/lib/cjs/app.js.map +1 -0
  4. package/lib/cjs/botonic-tester.d.ts +18 -0
  5. package/lib/cjs/botonic-tester.js +70 -0
  6. package/lib/cjs/botonic-tester.js.map +1 -0
  7. package/lib/cjs/components/audio.d.ts +8 -0
  8. package/lib/cjs/components/audio.js +27 -0
  9. package/lib/cjs/components/audio.js.map +1 -0
  10. package/lib/cjs/components/button.d.ts +15 -0
  11. package/lib/cjs/components/button.js +156 -0
  12. package/lib/cjs/components/button.js.map +1 -0
  13. package/lib/cjs/components/buttons-disabler.d.ts +24 -0
  14. package/lib/cjs/components/buttons-disabler.js +88 -0
  15. package/lib/cjs/components/buttons-disabler.js.map +1 -0
  16. package/lib/cjs/components/carousel.d.ts +10 -0
  17. package/lib/cjs/components/carousel.js +120 -0
  18. package/lib/cjs/components/carousel.js.map +1 -0
  19. package/lib/cjs/components/components.d.ts +12 -0
  20. package/lib/{components → cjs/components}/components.js +6 -11
  21. package/lib/cjs/components/components.js.map +1 -0
  22. package/lib/cjs/components/custom-message.d.ts +43 -0
  23. package/lib/cjs/components/custom-message.js +65 -0
  24. package/lib/cjs/components/custom-message.js.map +1 -0
  25. package/lib/cjs/components/document.d.ts +8 -0
  26. package/lib/cjs/components/document.js +50 -0
  27. package/lib/cjs/components/document.js.map +1 -0
  28. package/lib/cjs/components/element.d.ts +4 -0
  29. package/lib/cjs/components/element.js +55 -0
  30. package/lib/cjs/components/element.js.map +1 -0
  31. package/lib/cjs/components/handoff.d.ts +1 -0
  32. package/lib/cjs/components/handoff.js +58 -0
  33. package/lib/cjs/components/handoff.js.map +1 -0
  34. package/lib/cjs/components/image.d.ts +8 -0
  35. package/lib/cjs/components/image.js +42 -0
  36. package/lib/cjs/components/image.js.map +1 -0
  37. package/lib/cjs/components/index.d.ts +20 -0
  38. package/lib/cjs/components/index.js +44 -0
  39. package/lib/cjs/components/index.js.map +1 -0
  40. package/lib/cjs/components/location.d.ts +11 -0
  41. package/lib/cjs/components/location.js +38 -0
  42. package/lib/cjs/components/location.js.map +1 -0
  43. package/lib/cjs/components/markdown.d.ts +7 -0
  44. package/lib/cjs/components/markdown.js +162 -0
  45. package/lib/cjs/components/markdown.js.map +1 -0
  46. package/lib/cjs/components/message-template.d.ts +1 -0
  47. package/lib/cjs/components/message-template.js +15 -0
  48. package/lib/cjs/components/message-template.js.map +1 -0
  49. package/lib/cjs/components/message.d.ts +1 -0
  50. package/lib/cjs/components/message.js +206 -0
  51. package/lib/cjs/components/message.js.map +1 -0
  52. package/lib/cjs/components/multichannel/facebook/facebook.d.ts +17 -0
  53. package/lib/cjs/components/multichannel/facebook/facebook.js +47 -0
  54. package/lib/cjs/components/multichannel/facebook/facebook.js.map +1 -0
  55. package/lib/cjs/components/multichannel/index.d.ts +6 -0
  56. package/lib/cjs/components/multichannel/index.js +14 -0
  57. package/lib/cjs/components/multichannel/index.js.map +1 -0
  58. package/lib/cjs/components/multichannel/multichannel-button.d.ts +1 -0
  59. package/lib/cjs/components/multichannel/multichannel-button.js +77 -0
  60. package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -0
  61. package/lib/cjs/components/multichannel/multichannel-carousel.d.ts +1 -0
  62. package/lib/cjs/components/multichannel/multichannel-carousel.js +95 -0
  63. package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -0
  64. package/lib/cjs/components/multichannel/multichannel-context.d.ts +11 -0
  65. package/lib/cjs/components/multichannel/multichannel-context.js +16 -0
  66. package/lib/cjs/components/multichannel/multichannel-context.js.map +1 -0
  67. package/lib/cjs/components/multichannel/multichannel-reply.d.ts +1 -0
  68. package/lib/cjs/components/multichannel/multichannel-reply.js +24 -0
  69. package/lib/cjs/components/multichannel/multichannel-reply.js.map +1 -0
  70. package/lib/cjs/components/multichannel/multichannel-text.d.ts +1 -0
  71. package/lib/cjs/components/multichannel/multichannel-text.js +147 -0
  72. package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -0
  73. package/lib/cjs/components/multichannel/multichannel-utils.d.ts +24 -0
  74. package/lib/cjs/components/multichannel/multichannel-utils.js +83 -0
  75. package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -0
  76. package/lib/cjs/components/multichannel/multichannel.d.ts +1 -0
  77. package/lib/cjs/components/multichannel/multichannel.js +72 -0
  78. package/lib/cjs/components/multichannel/multichannel.js.map +1 -0
  79. package/lib/cjs/components/pic.d.ts +6 -0
  80. package/lib/cjs/components/pic.js +29 -0
  81. package/lib/cjs/components/pic.js.map +1 -0
  82. package/lib/cjs/components/raw.d.ts +9 -0
  83. package/lib/cjs/components/raw.js +53 -0
  84. package/lib/cjs/components/raw.js.map +1 -0
  85. package/lib/cjs/components/reply.d.ts +9 -0
  86. package/lib/cjs/components/reply.js +57 -0
  87. package/lib/cjs/components/reply.js.map +1 -0
  88. package/lib/cjs/components/share-button.d.ts +1 -0
  89. package/lib/cjs/components/share-button.js +15 -0
  90. package/lib/cjs/components/share-button.js.map +1 -0
  91. package/lib/cjs/components/subtitle.d.ts +6 -0
  92. package/lib/cjs/components/subtitle.js +25 -0
  93. package/lib/cjs/components/subtitle.js.map +1 -0
  94. package/lib/cjs/components/text.d.ts +8 -0
  95. package/lib/cjs/components/text.js +50 -0
  96. package/lib/cjs/components/text.js.map +1 -0
  97. package/lib/cjs/components/timestamps.d.ts +10 -0
  98. package/lib/cjs/components/timestamps.js +54 -0
  99. package/lib/cjs/components/timestamps.js.map +1 -0
  100. package/lib/cjs/components/title.d.ts +6 -0
  101. package/lib/cjs/components/title.js +21 -0
  102. package/lib/cjs/components/title.js.map +1 -0
  103. package/lib/cjs/components/video.d.ts +8 -0
  104. package/lib/cjs/components/video.js +34 -0
  105. package/lib/cjs/components/video.js.map +1 -0
  106. package/lib/cjs/components/webchat-settings.d.ts +10 -0
  107. package/lib/cjs/components/webchat-settings.js +78 -0
  108. package/lib/cjs/components/webchat-settings.js.map +1 -0
  109. package/lib/cjs/components/whatsapp-template.d.ts +1 -0
  110. package/lib/cjs/components/whatsapp-template.js +26 -0
  111. package/lib/cjs/components/whatsapp-template.js.map +1 -0
  112. package/lib/cjs/constants.d.ts +168 -0
  113. package/lib/cjs/constants.js +190 -0
  114. package/lib/cjs/constants.js.map +1 -0
  115. package/lib/cjs/contexts.d.ts +69 -0
  116. package/lib/cjs/contexts.js +38 -0
  117. package/lib/cjs/contexts.js.map +1 -0
  118. package/lib/cjs/dev-app.d.ts +30 -0
  119. package/lib/cjs/dev-app.js +71 -0
  120. package/lib/cjs/dev-app.js.map +1 -0
  121. package/lib/cjs/index.d.ts +10 -0
  122. package/lib/cjs/index.js +28 -0
  123. package/lib/cjs/index.js.map +1 -0
  124. package/lib/cjs/message-utils.d.ts +19 -0
  125. package/lib/cjs/message-utils.js +61 -0
  126. package/lib/cjs/message-utils.js.map +1 -0
  127. package/lib/cjs/msg-to-botonic.d.ts +18 -0
  128. package/lib/cjs/msg-to-botonic.js +160 -0
  129. package/lib/cjs/msg-to-botonic.js.map +1 -0
  130. package/lib/cjs/node-app.d.ts +12 -0
  131. package/lib/cjs/node-app.js +25 -0
  132. package/lib/cjs/node-app.js.map +1 -0
  133. package/lib/cjs/react-bot.d.ts +8 -0
  134. package/lib/cjs/react-bot.js +35 -0
  135. package/lib/cjs/react-bot.js.map +1 -0
  136. package/lib/cjs/util/dom.d.ts +13 -0
  137. package/lib/cjs/util/dom.js +55 -0
  138. package/lib/cjs/util/dom.js.map +1 -0
  139. package/lib/cjs/util/environment.d.ts +6 -0
  140. package/lib/cjs/util/environment.js +68 -0
  141. package/lib/cjs/util/environment.js.map +1 -0
  142. package/lib/cjs/util/error-boundary.d.ts +40 -0
  143. package/lib/cjs/util/error-boundary.js +46 -0
  144. package/lib/cjs/util/error-boundary.js.map +1 -0
  145. package/lib/cjs/util/index.d.ts +0 -0
  146. package/lib/cjs/util/index.js +2 -0
  147. package/lib/cjs/util/index.js.map +1 -0
  148. package/lib/cjs/util/logs.d.ts +2 -0
  149. package/lib/cjs/util/logs.js +20 -0
  150. package/lib/cjs/util/logs.js.map +1 -0
  151. package/lib/cjs/util/objects.d.ts +3 -0
  152. package/lib/cjs/util/objects.js +44 -0
  153. package/lib/cjs/util/objects.js.map +1 -0
  154. package/lib/cjs/util/react.d.ts +12 -0
  155. package/lib/cjs/util/react.js +42 -0
  156. package/lib/cjs/util/react.js.map +1 -0
  157. package/lib/cjs/util/regexs.d.ts +2 -0
  158. package/lib/cjs/util/regexs.js +23 -0
  159. package/lib/cjs/util/regexs.js.map +1 -0
  160. package/lib/cjs/util/webchat.d.ts +11 -0
  161. package/lib/cjs/util/webchat.js +62 -0
  162. package/lib/cjs/util/webchat.js.map +1 -0
  163. package/lib/cjs/webchat/actions.d.ts +23 -0
  164. package/lib/cjs/webchat/actions.js +27 -0
  165. package/lib/cjs/webchat/actions.js.map +1 -0
  166. package/lib/cjs/webchat/components/attachment.d.ts +5 -0
  167. package/lib/cjs/webchat/components/attachment.js +32 -0
  168. package/lib/cjs/webchat/components/attachment.js.map +1 -0
  169. package/lib/cjs/webchat/components/common.d.ts +1 -0
  170. package/lib/cjs/webchat/components/common.js +13 -0
  171. package/lib/cjs/webchat/components/common.js.map +1 -0
  172. package/lib/cjs/webchat/components/conditional-animation.d.ts +1 -0
  173. package/lib/cjs/webchat/components/conditional-animation.js +18 -0
  174. package/lib/cjs/webchat/components/conditional-animation.js.map +1 -0
  175. package/lib/cjs/webchat/components/emoji-picker.d.ts +5 -0
  176. package/lib/cjs/webchat/components/emoji-picker.js +52 -0
  177. package/lib/cjs/webchat/components/emoji-picker.js.map +1 -0
  178. package/lib/cjs/webchat/components/persistent-menu.d.ts +10 -0
  179. package/lib/cjs/webchat/components/persistent-menu.js +59 -0
  180. package/lib/cjs/webchat/components/persistent-menu.js.map +1 -0
  181. package/lib/cjs/webchat/components/send-button.d.ts +3 -0
  182. package/lib/cjs/webchat/components/send-button.js +24 -0
  183. package/lib/cjs/webchat/components/send-button.js.map +1 -0
  184. package/lib/cjs/webchat/components/styled-scrollbar.d.ts +1 -0
  185. package/lib/cjs/webchat/components/styled-scrollbar.js +54 -0
  186. package/lib/cjs/webchat/components/styled-scrollbar.js.map +1 -0
  187. package/lib/cjs/webchat/components/typing-indicator.d.ts +1 -0
  188. package/lib/cjs/webchat/components/typing-indicator.js +14 -0
  189. package/lib/cjs/webchat/components/typing-indicator.js.map +1 -0
  190. package/lib/cjs/webchat/devices/device-adapter.d.ts +12 -0
  191. package/lib/cjs/webchat/devices/device-adapter.js +47 -0
  192. package/lib/cjs/webchat/devices/device-adapter.js.map +1 -0
  193. package/lib/cjs/webchat/devices/index.d.ts +11 -0
  194. package/lib/cjs/webchat/devices/index.js +23 -0
  195. package/lib/cjs/webchat/devices/index.js.map +1 -0
  196. package/lib/cjs/webchat/devices/scrollbar-controller.d.ts +12 -0
  197. package/lib/cjs/webchat/devices/scrollbar-controller.js +103 -0
  198. package/lib/cjs/webchat/devices/scrollbar-controller.js.map +1 -0
  199. package/lib/cjs/webchat/devices/webchat-resizer.d.ts +9 -0
  200. package/lib/cjs/webchat/devices/webchat-resizer.js +47 -0
  201. package/lib/cjs/webchat/devices/webchat-resizer.js.map +1 -0
  202. package/lib/cjs/webchat/header.d.ts +3 -0
  203. package/lib/cjs/webchat/header.js +95 -0
  204. package/lib/cjs/webchat/header.js.map +1 -0
  205. package/lib/cjs/webchat/hooks.d.ts +80 -0
  206. package/lib/cjs/webchat/hooks.js +218 -0
  207. package/lib/cjs/webchat/hooks.js.map +1 -0
  208. package/lib/cjs/webchat/index.d.ts +6 -0
  209. package/lib/cjs/webchat/index.js +17 -0
  210. package/lib/cjs/webchat/index.js.map +1 -0
  211. package/lib/cjs/webchat/message-list.d.ts +1 -0
  212. package/lib/cjs/webchat/message-list.js +46 -0
  213. package/lib/cjs/webchat/message-list.js.map +1 -0
  214. package/lib/cjs/webchat/messages-reducer.d.ts +1 -0
  215. package/lib/cjs/webchat/messages-reducer.js +58 -0
  216. package/lib/cjs/webchat/messages-reducer.js.map +1 -0
  217. package/lib/cjs/webchat/replies.d.ts +1 -0
  218. package/lib/cjs/webchat/replies.js +46 -0
  219. package/lib/cjs/webchat/replies.js.map +1 -0
  220. package/lib/cjs/webchat/session-view.d.ts +1 -0
  221. package/lib/cjs/webchat/session-view.js +124 -0
  222. package/lib/cjs/webchat/session-view.js.map +1 -0
  223. package/lib/cjs/webchat/use-storage-state-hook.d.ts +1 -0
  224. package/lib/cjs/webchat/use-storage-state-hook.js +32 -0
  225. package/lib/cjs/webchat/use-storage-state-hook.js.map +1 -0
  226. package/lib/cjs/webchat/webchat-dev.d.ts +7 -0
  227. package/lib/cjs/webchat/webchat-dev.js +64 -0
  228. package/lib/cjs/webchat/webchat-dev.js.map +1 -0
  229. package/lib/cjs/webchat/webchat-reducer.d.ts +1 -0
  230. package/lib/cjs/webchat/webchat-reducer.js +48 -0
  231. package/lib/cjs/webchat/webchat-reducer.js.map +1 -0
  232. package/lib/cjs/webchat/webchat.d.ts +3 -0
  233. package/lib/cjs/webchat/webchat.js +704 -0
  234. package/lib/cjs/webchat/webchat.js.map +1 -0
  235. package/lib/cjs/webchat/webview.d.ts +2 -0
  236. package/lib/cjs/webchat/webview.js +92 -0
  237. package/lib/cjs/webchat/webview.js.map +1 -0
  238. package/lib/cjs/webchat-app.d.ts +99 -0
  239. package/lib/cjs/webchat-app.js +269 -0
  240. package/lib/cjs/webchat-app.js.map +1 -0
  241. package/lib/cjs/webview-app.d.ts +7 -0
  242. package/lib/cjs/webview-app.js +103 -0
  243. package/lib/cjs/webview-app.js.map +1 -0
  244. package/lib/esm/app.d.ts +2 -0
  245. package/lib/esm/app.js +6 -0
  246. package/lib/esm/app.js.map +1 -0
  247. package/lib/esm/assets/attachment-icon.svg +7 -0
  248. package/lib/esm/assets/audio.svg +4 -0
  249. package/lib/esm/assets/botonic_react_logo100x100.png +0 -0
  250. package/lib/esm/assets/document.svg +3 -0
  251. package/lib/esm/assets/emojiButton.svg +6 -0
  252. package/lib/esm/assets/image.svg +4 -0
  253. package/lib/esm/assets/leftArrow.svg +3 -0
  254. package/lib/esm/assets/menuButton.svg +3 -0
  255. package/lib/esm/assets/rightArrow.svg +3 -0
  256. package/lib/esm/assets/send-button.svg +1 -0
  257. package/lib/esm/assets/video.svg +3 -0
  258. package/lib/esm/botonic-tester.d.ts +18 -0
  259. package/lib/esm/botonic-tester.js +64 -0
  260. package/lib/esm/botonic-tester.js.map +1 -0
  261. package/lib/esm/components/audio.d.ts +8 -0
  262. package/lib/esm/components/audio.js +22 -0
  263. package/lib/esm/components/audio.js.map +1 -0
  264. package/lib/esm/components/button.d.ts +15 -0
  265. package/lib/esm/components/button.js +151 -0
  266. package/lib/esm/components/button.js.map +1 -0
  267. package/lib/esm/components/buttons-disabler.d.ts +24 -0
  268. package/lib/esm/components/buttons-disabler.js +84 -0
  269. package/lib/esm/components/buttons-disabler.js.map +1 -0
  270. package/lib/esm/components/carousel.d.ts +9 -0
  271. package/lib/esm/components/carousel.js +115 -0
  272. package/lib/esm/components/carousel.js.map +1 -0
  273. package/lib/esm/components/components.d.ts +12 -0
  274. package/lib/esm/components/components.js +17 -0
  275. package/lib/esm/components/components.js.map +1 -0
  276. package/lib/esm/components/custom-message.d.ts +43 -0
  277. package/lib/esm/components/custom-message.js +61 -0
  278. package/lib/esm/components/custom-message.js.map +1 -0
  279. package/lib/esm/components/document.d.ts +8 -0
  280. package/lib/esm/components/document.js +45 -0
  281. package/lib/esm/components/document.js.map +1 -0
  282. package/lib/esm/components/element.d.ts +4 -0
  283. package/lib/esm/components/element.js +50 -0
  284. package/lib/esm/components/element.js.map +1 -0
  285. package/lib/esm/components/handoff.d.ts +1 -0
  286. package/lib/esm/components/handoff.js +53 -0
  287. package/lib/esm/components/handoff.js.map +1 -0
  288. package/lib/esm/components/image.d.ts +8 -0
  289. package/lib/esm/components/image.js +37 -0
  290. package/lib/esm/components/image.js.map +1 -0
  291. package/lib/esm/components/index.d.ts +19 -0
  292. package/lib/esm/components/index.js +21 -0
  293. package/lib/esm/components/index.js.map +1 -0
  294. package/lib/esm/components/location.d.ts +11 -0
  295. package/lib/esm/components/location.js +33 -0
  296. package/lib/esm/components/location.js.map +1 -0
  297. package/lib/esm/components/markdown.d.ts +7 -0
  298. package/lib/esm/components/markdown.js +152 -0
  299. package/lib/esm/components/markdown.js.map +1 -0
  300. package/lib/esm/components/message-template.d.ts +1 -0
  301. package/lib/esm/components/message-template.js +10 -0
  302. package/lib/esm/components/message-template.js.map +1 -0
  303. package/lib/esm/components/message.d.ts +1 -0
  304. package/lib/esm/components/message.js +202 -0
  305. package/lib/esm/components/message.js.map +1 -0
  306. package/lib/esm/components/multichannel/facebook/facebook.d.ts +17 -0
  307. package/lib/esm/components/multichannel/facebook/facebook.js +43 -0
  308. package/lib/esm/components/multichannel/facebook/facebook.js.map +1 -0
  309. package/lib/esm/components/multichannel/index.d.ts +6 -0
  310. package/lib/esm/components/multichannel/index.js +11 -0
  311. package/lib/esm/components/multichannel/index.js.map +1 -0
  312. package/lib/esm/components/multichannel/multichannel-button.d.ts +1 -0
  313. package/lib/esm/components/multichannel/multichannel-button.js +72 -0
  314. package/lib/esm/components/multichannel/multichannel-button.js.map +1 -0
  315. package/lib/esm/components/multichannel/multichannel-carousel.d.ts +1 -0
  316. package/lib/esm/components/multichannel/multichannel-carousel.js +90 -0
  317. package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -0
  318. package/lib/esm/components/multichannel/multichannel-context.d.ts +11 -0
  319. package/lib/esm/components/multichannel/multichannel-context.js +12 -0
  320. package/lib/esm/components/multichannel/multichannel-context.js.map +1 -0
  321. package/lib/esm/components/multichannel/multichannel-reply.d.ts +1 -0
  322. package/lib/esm/components/multichannel/multichannel-reply.js +19 -0
  323. package/lib/esm/components/multichannel/multichannel-reply.js.map +1 -0
  324. package/lib/esm/components/multichannel/multichannel-text.d.ts +1 -0
  325. package/lib/esm/components/multichannel/multichannel-text.js +142 -0
  326. package/lib/esm/components/multichannel/multichannel-text.js.map +1 -0
  327. package/lib/esm/components/multichannel/multichannel-utils.d.ts +24 -0
  328. package/lib/esm/components/multichannel/multichannel-utils.js +67 -0
  329. package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -0
  330. package/lib/esm/components/multichannel/multichannel.d.ts +1 -0
  331. package/lib/esm/components/multichannel/multichannel.js +67 -0
  332. package/lib/esm/components/multichannel/multichannel.js.map +1 -0
  333. package/lib/esm/components/pic.d.ts +6 -0
  334. package/lib/esm/components/pic.js +24 -0
  335. package/lib/esm/components/pic.js.map +1 -0
  336. package/lib/esm/components/raw.d.ts +9 -0
  337. package/lib/esm/components/raw.js +48 -0
  338. package/lib/esm/components/raw.js.map +1 -0
  339. package/lib/esm/components/reply.d.ts +9 -0
  340. package/lib/esm/components/reply.js +52 -0
  341. package/lib/esm/components/reply.js.map +1 -0
  342. package/lib/esm/components/share-button.d.ts +1 -0
  343. package/lib/esm/components/share-button.js +10 -0
  344. package/lib/esm/components/share-button.js.map +1 -0
  345. package/lib/esm/components/subtitle.d.ts +6 -0
  346. package/lib/esm/components/subtitle.js +20 -0
  347. package/lib/esm/components/subtitle.js.map +1 -0
  348. package/lib/esm/components/text.d.ts +8 -0
  349. package/lib/esm/components/text.js +45 -0
  350. package/lib/esm/components/text.js.map +1 -0
  351. package/lib/esm/components/timestamps.d.ts +10 -0
  352. package/lib/esm/components/timestamps.js +48 -0
  353. package/lib/esm/components/timestamps.js.map +1 -0
  354. package/lib/esm/components/title.d.ts +6 -0
  355. package/lib/esm/components/title.js +16 -0
  356. package/lib/esm/components/title.js.map +1 -0
  357. package/lib/esm/components/video.d.ts +8 -0
  358. package/lib/esm/components/video.js +29 -0
  359. package/lib/esm/components/video.js.map +1 -0
  360. package/lib/esm/components/webchat-settings.d.ts +10 -0
  361. package/lib/esm/components/webchat-settings.js +72 -0
  362. package/lib/esm/components/webchat-settings.js.map +1 -0
  363. package/lib/esm/components/whatsapp-template.d.ts +1 -0
  364. package/lib/esm/components/whatsapp-template.js +21 -0
  365. package/lib/esm/components/whatsapp-template.js.map +1 -0
  366. package/lib/esm/constants.d.ts +168 -0
  367. package/lib/esm/constants.js +186 -0
  368. package/lib/esm/constants.js.map +1 -0
  369. package/lib/esm/contexts.d.ts +69 -0
  370. package/lib/esm/contexts.js +34 -0
  371. package/lib/esm/contexts.js.map +1 -0
  372. package/lib/esm/dev-app.d.ts +30 -0
  373. package/lib/esm/dev-app.js +67 -0
  374. package/lib/esm/dev-app.js.map +1 -0
  375. package/lib/esm/index.d.ts +9 -0
  376. package/lib/esm/index.js +11 -0
  377. package/lib/esm/index.js.map +1 -0
  378. package/lib/esm/message-utils.d.ts +18 -0
  379. package/lib/esm/message-utils.js +41 -0
  380. package/lib/esm/message-utils.js.map +1 -0
  381. package/lib/esm/msg-to-botonic.d.ts +18 -0
  382. package/lib/esm/msg-to-botonic.js +154 -0
  383. package/lib/esm/msg-to-botonic.js.map +1 -0
  384. package/lib/esm/node-app.d.ts +12 -0
  385. package/lib/esm/node-app.js +21 -0
  386. package/lib/esm/node-app.js.map +1 -0
  387. package/lib/esm/react-bot.d.ts +7 -0
  388. package/lib/esm/react-bot.js +30 -0
  389. package/lib/esm/react-bot.js.map +1 -0
  390. package/lib/esm/util/dom.d.ts +13 -0
  391. package/lib/esm/util/dom.js +46 -0
  392. package/lib/esm/util/dom.js.map +1 -0
  393. package/lib/esm/util/environment.d.ts +6 -0
  394. package/lib/esm/util/environment.js +61 -0
  395. package/lib/esm/util/environment.js.map +1 -0
  396. package/lib/esm/util/error-boundary.d.ts +40 -0
  397. package/lib/esm/util/error-boundary.js +41 -0
  398. package/lib/esm/util/error-boundary.js.map +1 -0
  399. package/lib/esm/util/index.d.ts +0 -0
  400. package/lib/esm/util/index.js +2 -0
  401. package/lib/esm/util/index.js.map +1 -0
  402. package/lib/esm/util/logs.d.ts +2 -0
  403. package/lib/esm/util/logs.js +15 -0
  404. package/lib/esm/util/logs.js.map +1 -0
  405. package/lib/esm/util/objects.d.ts +3 -0
  406. package/lib/esm/util/objects.js +38 -0
  407. package/lib/esm/util/objects.js.map +1 -0
  408. package/lib/esm/util/react.d.ts +12 -0
  409. package/lib/esm/util/react.js +34 -0
  410. package/lib/esm/util/react.js.map +1 -0
  411. package/lib/esm/util/regexs.d.ts +2 -0
  412. package/lib/esm/util/regexs.js +18 -0
  413. package/lib/esm/util/regexs.js.map +1 -0
  414. package/lib/esm/util/webchat.d.ts +11 -0
  415. package/lib/esm/util/webchat.js +53 -0
  416. package/lib/esm/util/webchat.js.map +1 -0
  417. package/lib/esm/webchat/actions.d.ts +23 -0
  418. package/lib/esm/webchat/actions.js +24 -0
  419. package/lib/esm/webchat/actions.js.map +1 -0
  420. package/lib/esm/webchat/components/attachment.d.ts +5 -0
  421. package/lib/esm/webchat/components/attachment.js +27 -0
  422. package/lib/esm/webchat/components/attachment.js.map +1 -0
  423. package/lib/esm/webchat/components/common.d.ts +1 -0
  424. package/lib/esm/webchat/components/common.js +8 -0
  425. package/lib/esm/webchat/components/common.js.map +1 -0
  426. package/lib/esm/webchat/components/conditional-animation.d.ts +1 -0
  427. package/lib/esm/webchat/components/conditional-animation.js +13 -0
  428. package/lib/esm/webchat/components/conditional-animation.js.map +1 -0
  429. package/lib/esm/webchat/components/emoji-picker.d.ts +5 -0
  430. package/lib/esm/webchat/components/emoji-picker.js +46 -0
  431. package/lib/esm/webchat/components/emoji-picker.js.map +1 -0
  432. package/lib/esm/webchat/components/persistent-menu.d.ts +10 -0
  433. package/lib/esm/webchat/components/persistent-menu.js +53 -0
  434. package/lib/esm/webchat/components/persistent-menu.js.map +1 -0
  435. package/lib/esm/webchat/components/send-button.d.ts +3 -0
  436. package/lib/esm/webchat/components/send-button.js +19 -0
  437. package/lib/esm/webchat/components/send-button.js.map +1 -0
  438. package/lib/esm/webchat/components/styled-scrollbar.d.ts +1 -0
  439. package/lib/esm/webchat/components/styled-scrollbar.js +50 -0
  440. package/lib/esm/webchat/components/styled-scrollbar.js.map +1 -0
  441. package/lib/esm/webchat/components/styled-scrollbar.scss +12 -0
  442. package/lib/esm/webchat/components/typing-indicator.d.ts +1 -0
  443. package/lib/esm/webchat/components/typing-indicator.js +9 -0
  444. package/lib/esm/webchat/components/typing-indicator.js.map +1 -0
  445. package/lib/esm/webchat/components/typing-indicator.scss +38 -0
  446. package/lib/esm/webchat/devices/device-adapter.d.ts +12 -0
  447. package/lib/esm/webchat/devices/device-adapter.js +43 -0
  448. package/lib/esm/webchat/devices/device-adapter.js.map +1 -0
  449. package/lib/esm/webchat/devices/index.d.ts +11 -0
  450. package/lib/esm/webchat/devices/index.js +18 -0
  451. package/lib/esm/webchat/devices/index.js.map +1 -0
  452. package/lib/esm/webchat/devices/scrollbar-controller.d.ts +12 -0
  453. package/lib/esm/webchat/devices/scrollbar-controller.js +99 -0
  454. package/lib/esm/webchat/devices/scrollbar-controller.js.map +1 -0
  455. package/lib/esm/webchat/devices/webchat-resizer.d.ts +9 -0
  456. package/lib/esm/webchat/devices/webchat-resizer.js +43 -0
  457. package/lib/esm/webchat/devices/webchat-resizer.js.map +1 -0
  458. package/lib/esm/webchat/header.d.ts +3 -0
  459. package/lib/esm/webchat/header.js +89 -0
  460. package/lib/esm/webchat/header.js.map +1 -0
  461. package/lib/esm/webchat/hooks.d.ts +80 -0
  462. package/lib/esm/webchat/hooks.js +210 -0
  463. package/lib/esm/webchat/hooks.js.map +1 -0
  464. package/lib/esm/webchat/index.d.ts +6 -0
  465. package/lib/esm/webchat/index.js +11 -0
  466. package/lib/esm/webchat/index.js.map +1 -0
  467. package/lib/esm/webchat/message-list.d.ts +1 -0
  468. package/lib/esm/webchat/message-list.js +41 -0
  469. package/lib/esm/webchat/message-list.js.map +1 -0
  470. package/lib/esm/webchat/messages-reducer.d.ts +1 -0
  471. package/lib/esm/webchat/messages-reducer.js +54 -0
  472. package/lib/esm/webchat/messages-reducer.js.map +1 -0
  473. package/lib/esm/webchat/replies.d.ts +1 -0
  474. package/lib/esm/webchat/replies.js +41 -0
  475. package/lib/esm/webchat/replies.js.map +1 -0
  476. package/lib/esm/webchat/session-view.d.ts +1 -0
  477. package/lib/esm/webchat/session-view.js +119 -0
  478. package/lib/esm/webchat/session-view.js.map +1 -0
  479. package/lib/esm/webchat/use-storage-state-hook.d.ts +1 -0
  480. package/lib/esm/webchat/use-storage-state-hook.js +28 -0
  481. package/lib/esm/webchat/use-storage-state-hook.js.map +1 -0
  482. package/lib/esm/webchat/webchat-dev.d.ts +7 -0
  483. package/lib/esm/webchat/webchat-dev.js +60 -0
  484. package/lib/esm/webchat/webchat-dev.js.map +1 -0
  485. package/lib/esm/webchat/webchat-reducer.d.ts +1 -0
  486. package/lib/esm/webchat/webchat-reducer.js +44 -0
  487. package/lib/esm/webchat/webchat-reducer.js.map +1 -0
  488. package/lib/esm/webchat/webchat.d.ts +3 -0
  489. package/lib/esm/webchat/webchat.js +699 -0
  490. package/lib/esm/webchat/webchat.js.map +1 -0
  491. package/lib/esm/webchat/webview.d.ts +2 -0
  492. package/lib/esm/webchat/webview.js +86 -0
  493. package/lib/esm/webchat/webview.js.map +1 -0
  494. package/lib/esm/webchat-app.d.ts +98 -0
  495. package/lib/esm/webchat-app.js +265 -0
  496. package/lib/esm/webchat-app.js.map +1 -0
  497. package/lib/esm/webchat.template.html +37 -0
  498. package/lib/esm/webview-app.d.ts +7 -0
  499. package/lib/esm/webview-app.js +98 -0
  500. package/lib/esm/webview-app.js.map +1 -0
  501. package/lib/esm/webview.template.html +39 -0
  502. package/package.json +27 -20
  503. package/src/components/audio.jsx +2 -0
  504. package/src/components/document.jsx +2 -0
  505. package/src/components/image.jsx +2 -0
  506. package/src/components/location.jsx +2 -2
  507. package/src/components/pic.jsx +3 -1
  508. package/src/components/video.jsx +2 -0
  509. package/src/index.js +1 -1
  510. package/src/msg-to-botonic.jsx +1 -1
  511. package/src/util/environment.js +31 -2
  512. package/src/{webview.jsx → webview-app.tsx} +7 -1
  513. package/lib/app.js +0 -19
  514. package/lib/app.js.map +0 -1
  515. package/lib/botonic-tester.js +0 -224
  516. package/lib/botonic-tester.js.map +0 -1
  517. package/lib/components/audio.js +0 -48
  518. package/lib/components/audio.js.map +0 -1
  519. package/lib/components/button.js +0 -224
  520. package/lib/components/button.js.map +0 -1
  521. package/lib/components/buttons-disabler.js +0 -133
  522. package/lib/components/buttons-disabler.js.map +0 -1
  523. package/lib/components/carousel.js +0 -194
  524. package/lib/components/carousel.js.map +0 -1
  525. package/lib/components/components.js.map +0 -1
  526. package/lib/components/custom-message.js +0 -131
  527. package/lib/components/custom-message.js.map +0 -1
  528. package/lib/components/document.js +0 -76
  529. package/lib/components/document.js.map +0 -1
  530. package/lib/components/element.js +0 -69
  531. package/lib/components/element.js.map +0 -1
  532. package/lib/components/handoff.js +0 -69
  533. package/lib/components/handoff.js.map +0 -1
  534. package/lib/components/image.js +0 -91
  535. package/lib/components/image.js.map +0 -1
  536. package/lib/components/index.d.ts +0 -228
  537. package/lib/components/index.js +0 -193
  538. package/lib/components/index.js.map +0 -1
  539. package/lib/components/location.js +0 -69
  540. package/lib/components/location.js.map +0 -1
  541. package/lib/components/markdown.js +0 -108
  542. package/lib/components/markdown.js.map +0 -1
  543. package/lib/components/message-template.js +0 -36
  544. package/lib/components/message-template.js.map +0 -1
  545. package/lib/components/message.js +0 -351
  546. package/lib/components/message.js.map +0 -1
  547. package/lib/components/multichannel/facebook/facebook.js +0 -96
  548. package/lib/components/multichannel/facebook/facebook.js.map +0 -1
  549. package/lib/components/multichannel/index.d.ts +0 -65
  550. package/lib/components/multichannel/index.js +0 -46
  551. package/lib/components/multichannel/index.js.map +0 -1
  552. package/lib/components/multichannel/multichannel-button.js +0 -119
  553. package/lib/components/multichannel/multichannel-button.js.map +0 -1
  554. package/lib/components/multichannel/multichannel-carousel.js +0 -143
  555. package/lib/components/multichannel/multichannel-carousel.js.map +0 -1
  556. package/lib/components/multichannel/multichannel-context.js +0 -24
  557. package/lib/components/multichannel/multichannel-context.js.map +0 -1
  558. package/lib/components/multichannel/multichannel-reply.js +0 -46
  559. package/lib/components/multichannel/multichannel-reply.js.map +0 -1
  560. package/lib/components/multichannel/multichannel-text.js +0 -222
  561. package/lib/components/multichannel/multichannel-text.js.map +0 -1
  562. package/lib/components/multichannel/multichannel-utils.js +0 -126
  563. package/lib/components/multichannel/multichannel-utils.js.map +0 -1
  564. package/lib/components/multichannel/multichannel.js +0 -111
  565. package/lib/components/multichannel/multichannel.js.map +0 -1
  566. package/lib/components/pic.js +0 -50
  567. package/lib/components/pic.js.map +0 -1
  568. package/lib/components/raw.js +0 -70
  569. package/lib/components/raw.js.map +0 -1
  570. package/lib/components/reply.js +0 -107
  571. package/lib/components/reply.js.map +0 -1
  572. package/lib/components/share-button.js +0 -36
  573. package/lib/components/share-button.js.map +0 -1
  574. package/lib/components/subtitle.js +0 -54
  575. package/lib/components/subtitle.js.map +0 -1
  576. package/lib/components/text.js +0 -80
  577. package/lib/components/text.js.map +0 -1
  578. package/lib/components/timestamps.js +0 -69
  579. package/lib/components/timestamps.js.map +0 -1
  580. package/lib/components/title.js +0 -52
  581. package/lib/components/title.js.map +0 -1
  582. package/lib/components/video.js +0 -51
  583. package/lib/components/video.js.map +0 -1
  584. package/lib/components/webchat-settings.js +0 -118
  585. package/lib/components/webchat-settings.js.map +0 -1
  586. package/lib/components/whatsapp-template.js +0 -53
  587. package/lib/components/whatsapp-template.js.map +0 -1
  588. package/lib/constants.js +0 -203
  589. package/lib/constants.js.map +0 -1
  590. package/lib/contexts.js +0 -57
  591. package/lib/contexts.js.map +0 -1
  592. package/lib/dev-app.js +0 -241
  593. package/lib/dev-app.js.map +0 -1
  594. package/lib/index.d.ts +0 -238
  595. package/lib/index.js +0 -131
  596. package/lib/index.js.map +0 -1
  597. package/lib/message-utils.js +0 -149
  598. package/lib/message-utils.js.map +0 -1
  599. package/lib/msg-to-botonic.js +0 -199
  600. package/lib/msg-to-botonic.js.map +0 -1
  601. package/lib/node-app.js +0 -97
  602. package/lib/node-app.js.map +0 -1
  603. package/lib/react-bot.js +0 -167
  604. package/lib/react-bot.js.map +0 -1
  605. package/lib/util/dom.js +0 -84
  606. package/lib/util/dom.js.map +0 -1
  607. package/lib/util/environment.js +0 -42
  608. package/lib/util/environment.js.map +0 -1
  609. package/lib/util/error-boundary.js +0 -105
  610. package/lib/util/error-boundary.js.map +0 -1
  611. package/lib/util/index.d.ts +0 -9
  612. package/lib/util/index.js +0 -2
  613. package/lib/util/index.js.map +0 -1
  614. package/lib/util/logs.js +0 -28
  615. package/lib/util/logs.js.map +0 -1
  616. package/lib/util/objects.js +0 -60
  617. package/lib/util/objects.js.map +0 -1
  618. package/lib/util/react.js +0 -75
  619. package/lib/util/react.js.map +0 -1
  620. package/lib/util/regexs.js +0 -31
  621. package/lib/util/regexs.js.map +0 -1
  622. package/lib/util/webchat.js +0 -92
  623. package/lib/util/webchat.js.map +0 -1
  624. package/lib/webchat/actions.js +0 -53
  625. package/lib/webchat/actions.js.map +0 -1
  626. package/lib/webchat/components/attachment.js +0 -68
  627. package/lib/webchat/components/attachment.js.map +0 -1
  628. package/lib/webchat/components/common.js +0 -29
  629. package/lib/webchat/components/common.js.map +0 -1
  630. package/lib/webchat/components/conditional-animation.js +0 -42
  631. package/lib/webchat/components/conditional-animation.js.map +0 -1
  632. package/lib/webchat/components/emoji-picker.js +0 -89
  633. package/lib/webchat/components/emoji-picker.js.map +0 -1
  634. package/lib/webchat/components/persistent-menu.js +0 -104
  635. package/lib/webchat/components/persistent-menu.js.map +0 -1
  636. package/lib/webchat/components/send-button.js +0 -45
  637. package/lib/webchat/components/send-button.js.map +0 -1
  638. package/lib/webchat/components/styled-scrollbar.js +0 -55
  639. package/lib/webchat/components/styled-scrollbar.js.map +0 -1
  640. package/lib/webchat/components/typing-indicator.js +0 -27
  641. package/lib/webchat/components/typing-indicator.js.map +0 -1
  642. package/lib/webchat/devices/device-adapter.js +0 -82
  643. package/lib/webchat/devices/device-adapter.js.map +0 -1
  644. package/lib/webchat/devices/index.js +0 -32
  645. package/lib/webchat/devices/index.js.map +0 -1
  646. package/lib/webchat/devices/scrollbar-controller.js +0 -152
  647. package/lib/webchat/devices/scrollbar-controller.js.map +0 -1
  648. package/lib/webchat/devices/webchat-resizer.js +0 -76
  649. package/lib/webchat/devices/webchat-resizer.js.map +0 -1
  650. package/lib/webchat/header.js +0 -116
  651. package/lib/webchat/header.js.map +0 -1
  652. package/lib/webchat/hooks.js +0 -359
  653. package/lib/webchat/hooks.js.map +0 -1
  654. package/lib/webchat/index.d.ts +0 -62
  655. package/lib/webchat/index.js +0 -32
  656. package/lib/webchat/index.js.map +0 -1
  657. package/lib/webchat/message-list.js +0 -88
  658. package/lib/webchat/message-list.js.map +0 -1
  659. package/lib/webchat/messages-reducer.js +0 -93
  660. package/lib/webchat/messages-reducer.js.map +0 -1
  661. package/lib/webchat/replies.js +0 -78
  662. package/lib/webchat/replies.js.map +0 -1
  663. package/lib/webchat/session-view.js +0 -106
  664. package/lib/webchat/session-view.js.map +0 -1
  665. package/lib/webchat/use-storage-state-hook.js +0 -60
  666. package/lib/webchat/use-storage-state-hook.js.map +0 -1
  667. package/lib/webchat/webchat-dev.js +0 -109
  668. package/lib/webchat/webchat-dev.js.map +0 -1
  669. package/lib/webchat/webchat-reducer.js +0 -108
  670. package/lib/webchat/webchat-reducer.js.map +0 -1
  671. package/lib/webchat/webchat.js +0 -1108
  672. package/lib/webchat/webchat.js.map +0 -1
  673. package/lib/webchat/webview.js +0 -122
  674. package/lib/webchat/webview.js.map +0 -1
  675. package/lib/webchat-app.js +0 -660
  676. package/lib/webchat-app.js.map +0 -1
  677. package/lib/webview.js +0 -231
  678. package/lib/webview.js.map +0 -1
  679. /package/lib/{assets → cjs/assets}/attachment-icon.svg +0 -0
  680. /package/lib/{assets → cjs/assets}/audio.svg +0 -0
  681. /package/lib/{assets → cjs/assets}/botonic_react_logo100x100.png +0 -0
  682. /package/lib/{assets → cjs/assets}/document.svg +0 -0
  683. /package/lib/{assets → cjs/assets}/emojiButton.svg +0 -0
  684. /package/lib/{assets → cjs/assets}/image.svg +0 -0
  685. /package/lib/{assets → cjs/assets}/leftArrow.svg +0 -0
  686. /package/lib/{assets → cjs/assets}/menuButton.svg +0 -0
  687. /package/lib/{assets → cjs/assets}/rightArrow.svg +0 -0
  688. /package/lib/{assets → cjs/assets}/send-button.svg +0 -0
  689. /package/lib/{assets → cjs/assets}/video.svg +0 -0
  690. /package/lib/{webchat → cjs/webchat}/components/styled-scrollbar.scss +0 -0
  691. /package/lib/{webchat → cjs/webchat}/components/typing-indicator.scss +0 -0
  692. /package/lib/{webchat.template.html → cjs/webchat.template.html} +0 -0
  693. /package/lib/{webview.template.html → cjs/webview.template.html} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/botonic-tester.jsx"],"names":["BotonicInputTester","bot","inp","session","lastRoutePath","input","type","INPUT","TEXT","data","res","response","POSTBACK","payload","BotonicOutputTester","out","replies","ReactDOMServer","renderToStaticMarkup","text","path","Error","i","length","r","push","reply"],"mappings":"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","sourcesContent":["import { INPUT } from '@botonic/core'\nimport React from 'react'\nimport ReactDOMServer from 'react-dom/server'\nimport decode from 'unescape'\n\nimport { Reply } from './components/reply'\nimport { Text } from './components/text'\n\nexport class BotonicInputTester {\n constructor(bot) {\n this.bot = bot\n }\n async text(inp, session = {}, lastRoutePath = '') {\n const res = await this.bot.input({\n input: { type: INPUT.TEXT, data: inp },\n session: session,\n lastRoutePath: lastRoutePath,\n })\n return decode(res.response)\n }\n\n async payload(inp, session = {}, lastRoutePath = '') {\n const res = await this.bot.input({\n input: { type: INPUT.POSTBACK, payload: inp },\n session: session,\n lastRoutePath: lastRoutePath,\n })\n return decode(res.response)\n }\n\n async path(inp, session = {}, lastRoutePath = '') {\n const res = await this.bot.input({\n input: { type: INPUT.TEXT, payload: `__PATH_PAYLOAD__${inp}` },\n session: session,\n lastRoutePath: lastRoutePath,\n })\n return decode(res.response)\n }\n}\n\nexport class BotonicOutputTester {\n constructor(bot) {\n this.bot = bot\n }\n\n text(out, replies = null) {\n return decode(\n ReactDOMServer.renderToStaticMarkup(\n !replies ? (\n <Text>{out}</Text>\n ) : (\n <Text>\n {out}\n {replies}\n </Text>\n )\n )\n )\n }\n\n reply({ text, payload = null, path = null }) {\n if (payload) {\n return decode(\n ReactDOMServer.renderToStaticMarkup(\n <Reply payload={payload}>{text}</Reply>\n )\n )\n }\n if (path) {\n return decode(\n ReactDOMServer.renderToStaticMarkup(<Reply path={path}>{text}</Reply>)\n )\n }\n throw new Error('reply should contain a payload or a path')\n }\n\n replies(...args) {\n const replies = []\n for (let i = 0; i < args.length; i++) {\n const r = args[i]\n replies.push(\n this.reply({ text: r.text, payload: r.payload, path: r.path })\n )\n }\n return replies\n }\n}\n"],"file":"botonic-tester.js"}
@@ -1,48 +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.Audio = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _core = require("@botonic/core");
13
-
14
- var _react = _interopRequireDefault(require("react"));
15
-
16
- var _constants = require("../constants");
17
-
18
- var _message = require("./message");
19
-
20
- var serialize = function serialize(audioProps) {
21
- return {
22
- audio: audioProps.src
23
- };
24
- };
25
-
26
- var Audio = function Audio(props) {
27
- var content = props.children;
28
- if ((0, _core.isBrowser)()) content = /*#__PURE__*/_react["default"].createElement("audio", {
29
- style: {
30
- maxWidth: '100%'
31
- },
32
- id: "myAudio",
33
- controls: true
34
- }, /*#__PURE__*/_react["default"].createElement("source", {
35
- src: props.src,
36
- type: "audio/mpeg"
37
- }), "Your browser does not support this audio format.");
38
- return /*#__PURE__*/_react["default"].createElement(_message.Message, (0, _extends2["default"])({
39
- role: _constants.ROLES.AUDIO_MESSAGE,
40
- json: serialize(props)
41
- }, props, {
42
- type: _core.INPUT.AUDIO
43
- }), content);
44
- };
45
-
46
- exports.Audio = Audio;
47
- Audio.serialize = serialize;
48
- //# sourceMappingURL=audio.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/audio.jsx"],"names":["serialize","audioProps","audio","src","Audio","props","content","children","maxWidth","ROLES","AUDIO_MESSAGE","INPUT","AUDIO"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAAAC,UAAU,EAAI;AAC9B,SAAO;AAAEC,IAAAA,KAAK,EAAED,UAAU,CAACE;AAApB,GAAP;AACD,CAFD;;AAIO,IAAMC,KAAK,GAAG,SAARA,KAAQ,CAAAC,KAAK,EAAI;AAC5B,MAAIC,OAAO,GAAGD,KAAK,CAACE,QAApB;AACA,MAAI,sBAAJ,EACED,OAAO,gBACL;AAAO,IAAA,KAAK,EAAE;AAAEE,MAAAA,QAAQ,EAAE;AAAZ,KAAd;AAAoC,IAAA,EAAE,EAAC,SAAvC;AAAiD,IAAA,QAAQ;AAAzD,kBACE;AAAQ,IAAA,GAAG,EAAEH,KAAK,CAACF,GAAnB;AAAwB,IAAA,IAAI,EAAC;AAA7B,IADF,qDADF;AAMF,sBACE,gCAAC,gBAAD;AACE,IAAA,IAAI,EAAEM,iBAAMC,aADd;AAEE,IAAA,IAAI,EAAEV,SAAS,CAACK,KAAD;AAFjB,KAGMA,KAHN;AAIE,IAAA,IAAI,EAAEM,YAAMC;AAJd,MAMGN,OANH,CADF;AAUD,CAnBM;;;AAqBPF,KAAK,CAACJ,SAAN,GAAkBA,SAAlB","sourcesContent":["import { INPUT, isBrowser } from '@botonic/core'\nimport React from 'react'\n\nimport { ROLES } from '../constants'\nimport { Message } from './message'\n\nconst serialize = audioProps => {\n return { audio: audioProps.src }\n}\n\nexport const Audio = props => {\n let content = props.children\n if (isBrowser())\n content = (\n <audio style={{ maxWidth: '100%' }} id='myAudio' controls>\n <source src={props.src} type='audio/mpeg' />\n Your browser does not support this audio format.\n </audio>\n )\n return (\n <Message\n role={ROLES.AUDIO_MESSAGE}\n json={serialize(props)}\n {...props}\n type={INPUT.AUDIO}\n >\n {content}\n </Message>\n )\n}\n\nAudio.serialize = serialize\n"],"file":"audio.js"}
@@ -1,224 +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.Button = void 0;
11
-
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
19
-
20
- var _core = require("@botonic/core");
21
-
22
- var _react = _interopRequireWildcard(require("react"));
23
-
24
- var _styledComponents = _interopRequireDefault(require("styled-components"));
25
-
26
- var _constants = require("../constants");
27
-
28
- var _contexts = require("../contexts");
29
-
30
- var _react2 = require("../util/react");
31
-
32
- var _buttonsDisabler = require("./buttons-disabler");
33
-
34
- var _templateObject;
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
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
-
42
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
43
-
44
- var StyledButton = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n width: 100%;\n max-height: 80px;\n font-size: 14px;\n text-align: center;\n align-content: center;\n justify-content: center;\n padding: 12px 32px;\n font-family: inherit;\n border: none;\n border: 1px solid ", ";\n cursor: pointer;\n outline: 0;\n border-top-right-radius: ", ";\n border-top-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-bottom-left-radius: ", ";\n overflow: hidden;\n"])), _constants.COLORS.SEASHELL_WHITE, function (props) {
45
- return props.top || '0px';
46
- }, function (props) {
47
- return props.top || '0px';
48
- }, function (props) {
49
- return props.bottom || '0px';
50
- }, function (props) {
51
- return props.bottom || '0px';
52
- });
53
-
54
- var Button = function Button(props) {
55
- var _useContext = (0, _react.useContext)(_contexts.WebchatContext),
56
- webchatState = _useContext.webchatState,
57
- openWebview = _useContext.openWebview,
58
- sendPayload = _useContext.sendPayload,
59
- sendInput = _useContext.sendInput,
60
- getThemeProperty = _useContext.getThemeProperty,
61
- updateMessage = _useContext.updateMessage;
62
-
63
- var _useState = (0, _react.useState)(false),
64
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
65
- hover = _useState2[0],
66
- setHover = _useState2[1];
67
-
68
- var theme = webchatState.theme;
69
-
70
- var _ButtonsDisabler$reso = _buttonsDisabler.ButtonsDisabler.resolveDisabling(webchatState.theme, props),
71
- autoDisable = _ButtonsDisabler$reso.autoDisable,
72
- disabledStyle = _ButtonsDisabler$reso.disabledStyle;
73
-
74
- var handleClick = function handleClick(event) {
75
- event.preventDefault();
76
- var type = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonMessageType, _core.INPUT.TEXT);
77
- if (props.webview) openWebview(props.webview, props.params);else if (props.path) {
78
- type == _core.INPUT.POSTBACK ? sendPayload("__PATH_PAYLOAD__".concat(props.path)) : sendInput({
79
- type: _core.INPUT.TEXT,
80
- data: String(props.children),
81
- text: String(props.children),
82
- payload: "__PATH_PAYLOAD__".concat(props.path)
83
- });
84
- } else if (props.payload) {
85
- type == _core.INPUT.POSTBACK ? sendPayload(props.payload) : sendInput({
86
- type: _core.INPUT.TEXT,
87
- data: String(props.children),
88
- text: String(props.children),
89
- payload: props.payload
90
- });
91
- } else if (props.url) {
92
- window.open(props.url, props.target || '_blank');
93
- }
94
- if (props.onClick) props.onClick();
95
-
96
- if (props.setDisabled) {
97
- props.setDisabled(true);
98
- var messageToUpdate = webchatState.messagesJSON.filter(function (m) {
99
- return m.id == props.parentId;
100
- })[0];
101
-
102
- var updatedMsg = _buttonsDisabler.ButtonsDisabler.getUpdatedMessage(messageToUpdate, {
103
- autoDisable: autoDisable,
104
- disabledStyle: disabledStyle
105
- });
106
-
107
- updateMessage(updatedMsg);
108
- }
109
- };
110
-
111
- var getClassName = function getClassName() {
112
- var isCustom = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
113
-
114
- if (isCustom) {
115
- return 'button-custom';
116
- }
117
-
118
- if (props.payload) {
119
- return 'button-payload';
120
- }
121
-
122
- if (props.url) {
123
- return 'button-url';
124
- }
125
-
126
- if (props.webview) {
127
- return 'button-webview';
128
- }
129
-
130
- if (props.path) {
131
- return 'button-path';
132
- }
133
-
134
- return '';
135
- };
136
-
137
- var renderBrowser = function renderBrowser() {
138
- var buttonStyle = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonStyle);
139
- var CustomButton = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.customButton);
140
-
141
- if (CustomButton) {
142
- return /*#__PURE__*/_react["default"].createElement("div", {
143
- className: getClassName(true),
144
- onClick: function onClick(e) {
145
- return handleClick(e);
146
- }
147
- }, /*#__PURE__*/_react["default"].createElement(CustomButton, null, props.children));
148
- }
149
-
150
- var buttonBgColor = hover ? getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonHoverBackground, _constants.COLORS.CONCRETE_WHITE) : getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonStyleBackground, _constants.COLORS.SOLID_WHITE);
151
- var buttonTextColor = hover ? getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonHoverTextColor, _constants.COLORS.SOLID_BLACK) : getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonStyleColor, _constants.COLORS.SOLID_BLACK);
152
- return /*#__PURE__*/_react["default"].createElement(StyledButton, {
153
- className: getClassName(),
154
- theme: theme,
155
- onMouseEnter: function onMouseEnter() {
156
- return setHover(true);
157
- },
158
- onMouseLeave: function onMouseLeave() {
159
- return setHover(false);
160
- },
161
- onClick: function onClick(e) {
162
- return handleClick(e);
163
- },
164
- style: _objectSpread(_objectSpread({}, buttonStyle), {}, {
165
- color: buttonTextColor,
166
- backgroundColor: buttonBgColor
167
- }, props.disabled && autoDisable && disabledStyle),
168
- bottom: props.bottomRadius
169
- }, props.children);
170
- };
171
-
172
- var renderNode = function renderNode() {
173
- var disabledProps = _buttonsDisabler.ButtonsDisabler.constructNodeProps(props);
174
-
175
- if (props.webview) {
176
- var Webview = props.webview;
177
- var params = '';
178
- if (props.params) params = (0, _core.params2queryString)(props.params);
179
- return /*#__PURE__*/_react["default"].createElement("button", (0, _extends2["default"])({
180
- url: "/webviews/".concat(Webview.name, "?").concat(params)
181
- }, disabledProps), props.children);
182
- } else if (props.path) {
183
- var payload = "__PATH_PAYLOAD__".concat(props.path);
184
- return /*#__PURE__*/_react["default"].createElement("button", (0, _extends2["default"])({
185
- payload: payload
186
- }, disabledProps), props.children);
187
- } else if (props.payload) {
188
- return /*#__PURE__*/_react["default"].createElement("button", (0, _extends2["default"])({
189
- payload: props.payload
190
- }, disabledProps), props.children);
191
- } else if (props.url) {
192
- return /*#__PURE__*/_react["default"].createElement("button", (0, _extends2["default"])({
193
- url: props.url,
194
- target: props.target
195
- }, disabledProps), props.children);
196
- } else if (props.onClick) {
197
- return null;
198
- }
199
-
200
- throw new Error('Button missing payload, path, webviews, url or onClick');
201
- };
202
-
203
- return (0, _react2.renderComponent)({
204
- renderBrowser: renderBrowser,
205
- renderNode: renderNode
206
- });
207
- };
208
-
209
- exports.Button = Button;
210
-
211
- Button.serialize = function (buttonProps) {
212
- var payload = buttonProps.payload;
213
- if (buttonProps.path) payload = "__PATH_PAYLOAD__".concat(buttonProps.path);
214
- return {
215
- button: _objectSpread({
216
- payload: payload,
217
- url: buttonProps.url,
218
- target: buttonProps.target,
219
- webview: buttonProps.webview && String(buttonProps.webview),
220
- title: buttonProps.children && String(buttonProps.children)
221
- }, _buttonsDisabler.ButtonsDisabler.withDisabledProps(buttonProps))
222
- };
223
- };
224
- //# sourceMappingURL=button.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/button.jsx"],"names":["StyledButton","styled","button","COLORS","SEASHELL_WHITE","props","top","bottom","Button","WebchatContext","webchatState","openWebview","sendPayload","sendInput","getThemeProperty","updateMessage","hover","setHover","theme","ButtonsDisabler","resolveDisabling","autoDisable","disabledStyle","handleClick","event","preventDefault","type","WEBCHAT","CUSTOM_PROPERTIES","buttonMessageType","INPUT","TEXT","webview","params","path","POSTBACK","data","String","children","text","payload","url","window","open","target","onClick","setDisabled","messageToUpdate","messagesJSON","filter","m","id","parentId","updatedMsg","getUpdatedMessage","getClassName","isCustom","renderBrowser","buttonStyle","CustomButton","customButton","e","buttonBgColor","buttonHoverBackground","CONCRETE_WHITE","buttonStyleBackground","SOLID_WHITE","buttonTextColor","buttonHoverTextColor","SOLID_BLACK","buttonStyleColor","color","backgroundColor","disabled","bottomRadius","renderNode","disabledProps","constructNodeProps","Webview","name","Error","serialize","buttonProps","title","withDisabledProps"],"mappings":"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","sourcesContent":["import { INPUT, params2queryString } from '@botonic/core'\nimport React, { useContext, useState } from 'react'\nimport styled from 'styled-components'\n\nimport { COLORS, WEBCHAT } from '../constants'\nimport { WebchatContext } from '../contexts'\nimport { renderComponent } from '../util/react'\nimport { ButtonsDisabler } from './buttons-disabler'\n\nconst StyledButton = styled.button`\n display: flex;\n width: 100%;\n max-height: 80px;\n font-size: 14px;\n text-align: center;\n align-content: center;\n justify-content: center;\n padding: 12px 32px;\n font-family: inherit;\n border: none;\n border: 1px solid ${COLORS.SEASHELL_WHITE};\n cursor: pointer;\n outline: 0;\n border-top-right-radius: ${props => props.top || '0px'};\n border-top-left-radius: ${props => props.top || '0px'};\n border-bottom-right-radius: ${props => props.bottom || '0px'};\n border-bottom-left-radius: ${props => props.bottom || '0px'};\n overflow: hidden;\n`\n\nexport const Button = props => {\n const {\n webchatState,\n openWebview,\n sendPayload,\n sendInput,\n getThemeProperty,\n updateMessage,\n } = useContext(WebchatContext)\n const [hover, setHover] = useState(false)\n const { theme } = webchatState\n const { autoDisable, disabledStyle } = ButtonsDisabler.resolveDisabling(\n webchatState.theme,\n props\n )\n const handleClick = event => {\n event.preventDefault()\n const type = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonMessageType,\n INPUT.TEXT\n )\n if (props.webview) openWebview(props.webview, props.params)\n else if (props.path) {\n type == INPUT.POSTBACK\n ? sendPayload(`__PATH_PAYLOAD__${props.path}`)\n : sendInput({\n type: INPUT.TEXT,\n data: String(props.children),\n text: String(props.children),\n payload: `__PATH_PAYLOAD__${props.path}`,\n })\n } else if (props.payload) {\n type == INPUT.POSTBACK\n ? sendPayload(props.payload)\n : sendInput({\n type: INPUT.TEXT,\n data: String(props.children),\n text: String(props.children),\n payload: props.payload,\n })\n } else if (props.url) {\n window.open(props.url, props.target || '_blank')\n }\n if (props.onClick) props.onClick()\n if (props.setDisabled) {\n props.setDisabled(true)\n const messageToUpdate = webchatState.messagesJSON.filter(\n m => m.id == props.parentId\n )[0]\n const updatedMsg = ButtonsDisabler.getUpdatedMessage(messageToUpdate, {\n autoDisable,\n disabledStyle,\n })\n updateMessage(updatedMsg)\n }\n }\n\n const getClassName = (isCustom = false) => {\n if (isCustom) {\n return 'button-custom'\n }\n if (props.payload) {\n return 'button-payload'\n }\n if (props.url) {\n return 'button-url'\n }\n if (props.webview) {\n return 'button-webview'\n }\n if (props.path) {\n return 'button-path'\n }\n return ''\n }\n\n const renderBrowser = () => {\n const buttonStyle = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.buttonStyle)\n const CustomButton = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customButton\n )\n if (CustomButton) {\n return (\n <div className={getClassName(true)} onClick={e => handleClick(e)}>\n <CustomButton>{props.children}</CustomButton>\n </div>\n )\n }\n\n const buttonBgColor = hover\n ? getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonHoverBackground,\n COLORS.CONCRETE_WHITE\n )\n : getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonStyleBackground,\n COLORS.SOLID_WHITE\n )\n const buttonTextColor = hover\n ? getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonHoverTextColor,\n COLORS.SOLID_BLACK\n )\n : getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonStyleColor,\n COLORS.SOLID_BLACK\n )\n\n return (\n <StyledButton\n className={getClassName()}\n theme={theme}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={e => handleClick(e)}\n style={{\n ...buttonStyle,\n color: buttonTextColor,\n backgroundColor: buttonBgColor,\n ...(props.disabled && autoDisable && disabledStyle),\n }}\n bottom={props.bottomRadius}\n >\n {props.children}\n </StyledButton>\n )\n }\n\n const renderNode = () => {\n const disabledProps = ButtonsDisabler.constructNodeProps(props)\n if (props.webview) {\n const Webview = props.webview\n let params = ''\n if (props.params) params = params2queryString(props.params)\n return (\n <button url={`/webviews/${Webview.name}?${params}`} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.path) {\n const payload = `__PATH_PAYLOAD__${props.path}`\n return (\n <button payload={payload} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.payload) {\n return (\n <button payload={props.payload} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.url) {\n return (\n <button url={props.url} target={props.target} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.onClick) {\n return null\n }\n throw new Error('Button missing payload, path, webviews, url or onClick')\n }\n\n return renderComponent({ renderBrowser, renderNode })\n}\n\nButton.serialize = buttonProps => {\n let payload = buttonProps.payload\n if (buttonProps.path) payload = `__PATH_PAYLOAD__${buttonProps.path}`\n return {\n button: {\n payload,\n url: buttonProps.url,\n target: buttonProps.target,\n webview: buttonProps.webview && String(buttonProps.webview),\n title: buttonProps.children && String(buttonProps.children),\n ...ButtonsDisabler.withDisabledProps(buttonProps),\n },\n }\n}\n"],"file":"button.js"}
@@ -1,133 +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.ButtonsDisabler = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _button = require("../components/button");
17
-
18
- var _constants = require("../constants");
19
-
20
- var _messageUtils = require("../message-utils");
21
-
22
- var _objects = require("../util/objects");
23
-
24
- var _react = require("../util/react");
25
-
26
- var _webchat = require("../util/webchat");
27
-
28
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
-
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
-
32
- var ButtonsDisabler = /*#__PURE__*/function () {
33
- function ButtonsDisabler() {
34
- (0, _classCallCheck2["default"])(this, ButtonsDisabler);
35
- }
36
-
37
- (0, _createClass2["default"])(ButtonsDisabler, null, [{
38
- key: "constructBrowserProps",
39
- value: function constructBrowserProps(props) {
40
- var disabledProps = {
41
- disabled: props.disabled
42
- };
43
- if (props.autodisable !== undefined) disabledProps.autodisable = (0, _objects.strToBool)(props.autodisable);
44
- if (props.disabledstyle !== undefined) disabledProps.disabledstyle = props.disabledstyle;
45
- return disabledProps;
46
- }
47
- }, {
48
- key: "constructNodeProps",
49
- value: function constructNodeProps(props) {
50
- var disabledProps = {};
51
- if (props.autodisable !== undefined) disabledProps.autodisable = String(props.autodisable);
52
- if (props.disabledstyle !== undefined) disabledProps.disabledstyle = JSON.stringify(props.disabledstyle);
53
- return disabledProps;
54
- }
55
- }, {
56
- key: "withDisabledProps",
57
- value: function withDisabledProps(props) {
58
- return {
59
- disabled: props.disabled,
60
- autodisable: props.autodisable,
61
- disabledstyle: props.disabledstyle
62
- };
63
- }
64
- }, {
65
- key: "resolveDisabling",
66
- value: function resolveDisabling(theme, props) {
67
- var getThemeProperty = (0, _webchat._getThemeProperty)(theme);
68
- var autoDisable = props.autodisable !== undefined ? props.autodisable : getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonAutoDisable, _constants.WEBCHAT.DEFAULTS.BUTTON_AUTO_DISABLE);
69
- var computedDisabledStyle = props.disabledstyle !== undefined ? props.disabledstyle : getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonDisabledStyle, {});
70
-
71
- var disabledStyle = _objectSpread(_objectSpread({}, _constants.WEBCHAT.DEFAULTS.BUTTON_DISABLED_STYLE), computedDisabledStyle);
72
-
73
- return {
74
- autoDisable: autoDisable,
75
- disabledStyle: disabledStyle
76
- };
77
- }
78
- }, {
79
- key: "updateChildrenButtons",
80
- value: function updateChildrenButtons(children) {
81
- var _this = this;
82
-
83
- var additionalProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
84
- return (0, _react.deepMapWithIndex)(children, function (n) {
85
- if (n.type === _button.Button) return _this.updateButtons(n, additionalProps);
86
- return n;
87
- });
88
- }
89
- }, {
90
- key: "updateButtons",
91
- value: function updateButtons(node, additionalProps) {
92
- if (!additionalProps) additionalProps = {};else {
93
- additionalProps = {
94
- disabled: node.props.disabled === true ? node.props.disabled : additionalProps.disabled,
95
- setDisabled: additionalProps.setDisabled,
96
- parentId: additionalProps.parentId
97
- };
98
- }
99
- return _objectSpread(_objectSpread({}, node), {}, {
100
- props: _objectSpread(_objectSpread({}, node.props), additionalProps)
101
- });
102
- }
103
- }, {
104
- key: "getUpdatedMessage",
105
- value: function getUpdatedMessage(messageToUpdate, _ref) {
106
- var autoDisable = _ref.autoDisable,
107
- disabledStyle = _ref.disabledStyle;
108
-
109
- var updateMsgButton = function updateMsgButton(button) {
110
- return _objectSpread(_objectSpread({}, button), {
111
- disabled: true
112
- });
113
- };
114
-
115
- if ((0, _messageUtils.isCarousel)(messageToUpdate) && messageToUpdate.data && messageToUpdate.data.elements) {
116
- messageToUpdate.data.elements = messageToUpdate.data.elements.map(function (e) {
117
- return _objectSpread(_objectSpread({}, e), {
118
- buttons: e.buttons.map(updateMsgButton)
119
- });
120
- });
121
- return messageToUpdate;
122
- } else {
123
- return _objectSpread(_objectSpread({}, messageToUpdate), {
124
- buttons: messageToUpdate.buttons.map(updateMsgButton)
125
- });
126
- }
127
- }
128
- }]);
129
- return ButtonsDisabler;
130
- }();
131
-
132
- exports.ButtonsDisabler = ButtonsDisabler;
133
- //# sourceMappingURL=buttons-disabler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/buttons-disabler.js"],"names":["ButtonsDisabler","props","disabledProps","disabled","autodisable","undefined","disabledstyle","String","JSON","stringify","theme","getThemeProperty","autoDisable","WEBCHAT","CUSTOM_PROPERTIES","buttonAutoDisable","DEFAULTS","BUTTON_AUTO_DISABLE","computedDisabledStyle","buttonDisabledStyle","disabledStyle","BUTTON_DISABLED_STYLE","children","additionalProps","n","type","Button","updateButtons","node","setDisabled","parentId","messageToUpdate","updateMsgButton","button","data","elements","map","e","buttons"],"mappings":"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","sourcesContent":["import { Button } from '../components/button'\nimport { WEBCHAT } from '../constants'\nimport { isCarousel } from '../message-utils'\nimport { strToBool } from '../util/objects'\nimport { deepMapWithIndex } from '../util/react'\nimport { _getThemeProperty } from '../util/webchat'\n\nexport class ButtonsDisabler {\n static constructBrowserProps(props) {\n const disabledProps = { disabled: props.disabled }\n if (props.autodisable !== undefined)\n disabledProps.autodisable = strToBool(props.autodisable)\n if (props.disabledstyle !== undefined)\n disabledProps.disabledstyle = props.disabledstyle\n return disabledProps\n }\n static constructNodeProps(props) {\n const disabledProps = {}\n if (props.autodisable !== undefined)\n disabledProps.autodisable = String(props.autodisable)\n if (props.disabledstyle !== undefined)\n disabledProps.disabledstyle = JSON.stringify(props.disabledstyle)\n return disabledProps\n }\n\n static withDisabledProps(props) {\n return {\n disabled: props.disabled,\n autodisable: props.autodisable,\n disabledstyle: props.disabledstyle,\n }\n }\n\n static resolveDisabling(theme, props) {\n const getThemeProperty = _getThemeProperty(theme)\n const autoDisable =\n props.autodisable !== undefined\n ? props.autodisable\n : getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonAutoDisable,\n WEBCHAT.DEFAULTS.BUTTON_AUTO_DISABLE\n )\n const computedDisabledStyle =\n props.disabledstyle !== undefined\n ? props.disabledstyle\n : getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.buttonDisabledStyle, {})\n\n const disabledStyle = {\n ...WEBCHAT.DEFAULTS.BUTTON_DISABLED_STYLE,\n ...computedDisabledStyle,\n }\n return { autoDisable, disabledStyle }\n }\n\n static updateChildrenButtons(children, additionalProps = undefined) {\n return deepMapWithIndex(children, n => {\n if (n.type === Button) return this.updateButtons(n, additionalProps)\n return n\n })\n }\n\n static updateButtons(node, additionalProps) {\n if (!additionalProps) additionalProps = {}\n else {\n additionalProps = {\n disabled:\n node.props.disabled === true\n ? node.props.disabled\n : additionalProps.disabled,\n setDisabled: additionalProps.setDisabled,\n parentId: additionalProps.parentId,\n }\n }\n return {\n ...node,\n props: {\n ...node.props,\n ...additionalProps,\n },\n }\n }\n\n static getUpdatedMessage(messageToUpdate, { autoDisable, disabledStyle }) {\n const updateMsgButton = button => {\n return {\n ...button,\n ...{\n disabled: true,\n },\n }\n }\n if (\n isCarousel(messageToUpdate) &&\n messageToUpdate.data &&\n messageToUpdate.data.elements\n ) {\n messageToUpdate.data.elements = messageToUpdate.data.elements.map(e => ({\n ...e,\n ...{\n buttons: e.buttons.map(updateMsgButton),\n },\n }))\n return messageToUpdate\n } else {\n return {\n ...messageToUpdate,\n ...{\n buttons: messageToUpdate.buttons.map(updateMsgButton),\n },\n }\n }\n }\n}\n"],"file":"buttons-disabler.js"}