@botonic/react 0.21.5 → 0.21.7-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/app.d.ts +2 -0
- package/lib/cjs/app.js +10 -0
- package/lib/cjs/app.js.map +1 -0
- package/lib/cjs/botonic-tester.d.ts +18 -0
- package/lib/cjs/botonic-tester.js +70 -0
- package/lib/cjs/botonic-tester.js.map +1 -0
- package/lib/cjs/components/audio.d.ts +8 -0
- package/lib/cjs/components/audio.js +27 -0
- package/lib/cjs/components/audio.js.map +1 -0
- package/lib/cjs/components/button.d.ts +15 -0
- package/lib/cjs/components/button.js +156 -0
- package/lib/cjs/components/button.js.map +1 -0
- package/lib/cjs/components/buttons-disabler.d.ts +24 -0
- package/lib/cjs/components/buttons-disabler.js +88 -0
- package/lib/cjs/components/buttons-disabler.js.map +1 -0
- package/lib/cjs/components/carousel.d.ts +9 -0
- package/lib/cjs/components/carousel.js +120 -0
- package/lib/cjs/components/carousel.js.map +1 -0
- package/lib/cjs/components/components.d.ts +12 -0
- package/lib/{components → cjs/components}/components.js +6 -11
- package/lib/cjs/components/components.js.map +1 -0
- package/lib/cjs/components/custom-message.d.ts +10 -0
- package/lib/cjs/components/custom-message.js +65 -0
- package/lib/cjs/components/custom-message.js.map +1 -0
- package/lib/cjs/components/document.d.ts +8 -0
- package/lib/cjs/components/document.js +50 -0
- package/lib/cjs/components/document.js.map +1 -0
- package/lib/cjs/components/element.d.ts +4 -0
- package/lib/cjs/components/element.js +55 -0
- package/lib/cjs/components/element.js.map +1 -0
- package/lib/cjs/components/handoff.d.ts +1 -0
- package/lib/cjs/components/handoff.js +58 -0
- package/lib/cjs/components/handoff.js.map +1 -0
- package/lib/cjs/components/image.d.ts +8 -0
- package/lib/cjs/components/image.js +42 -0
- package/lib/cjs/components/image.js.map +1 -0
- package/lib/cjs/components/index.d.ts +1 -0
- package/lib/cjs/components/index.js +44 -0
- package/lib/cjs/components/index.js.map +1 -0
- package/lib/cjs/components/location.d.ts +11 -0
- package/lib/cjs/components/location.js +38 -0
- package/lib/cjs/components/location.js.map +1 -0
- package/lib/cjs/components/markdown.d.ts +7 -0
- package/lib/cjs/components/markdown.js +162 -0
- package/lib/cjs/components/markdown.js.map +1 -0
- package/lib/cjs/components/message-template.d.ts +1 -0
- package/lib/cjs/components/message-template.js +15 -0
- package/lib/cjs/components/message-template.js.map +1 -0
- package/lib/cjs/components/message.d.ts +1 -0
- package/lib/cjs/components/message.js +206 -0
- package/lib/cjs/components/message.js.map +1 -0
- package/lib/cjs/components/multichannel/facebook/facebook.d.ts +17 -0
- package/lib/cjs/components/multichannel/facebook/facebook.js +47 -0
- package/lib/cjs/components/multichannel/facebook/facebook.js.map +1 -0
- package/lib/cjs/components/multichannel/index.d.ts +1 -0
- package/lib/cjs/components/multichannel/index.js +14 -0
- package/lib/cjs/components/multichannel/index.js.map +1 -0
- package/lib/cjs/components/multichannel/multichannel-button.d.ts +1 -0
- package/lib/cjs/components/multichannel/multichannel-button.js +77 -0
- package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -0
- package/lib/cjs/components/multichannel/multichannel-carousel.d.ts +1 -0
- package/lib/cjs/components/multichannel/multichannel-carousel.js +95 -0
- package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -0
- package/lib/cjs/components/multichannel/multichannel-context.d.ts +11 -0
- package/lib/cjs/components/multichannel/multichannel-context.js +16 -0
- package/lib/cjs/components/multichannel/multichannel-context.js.map +1 -0
- package/lib/cjs/components/multichannel/multichannel-reply.d.ts +1 -0
- package/lib/cjs/components/multichannel/multichannel-reply.js +24 -0
- package/lib/cjs/components/multichannel/multichannel-reply.js.map +1 -0
- package/lib/cjs/components/multichannel/multichannel-text.d.ts +1 -0
- package/lib/cjs/components/multichannel/multichannel-text.js +147 -0
- package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -0
- package/lib/cjs/components/multichannel/multichannel-utils.d.ts +24 -0
- package/lib/cjs/components/multichannel/multichannel-utils.js +83 -0
- package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -0
- package/lib/cjs/components/multichannel/multichannel.d.ts +1 -0
- package/lib/cjs/components/multichannel/multichannel.js +72 -0
- package/lib/cjs/components/multichannel/multichannel.js.map +1 -0
- package/lib/cjs/components/pic.d.ts +6 -0
- package/lib/cjs/components/pic.js +29 -0
- package/lib/cjs/components/pic.js.map +1 -0
- package/lib/cjs/components/raw.d.ts +9 -0
- package/lib/cjs/components/raw.js +53 -0
- package/lib/cjs/components/raw.js.map +1 -0
- package/lib/cjs/components/reply.d.ts +9 -0
- package/lib/cjs/components/reply.js +57 -0
- package/lib/cjs/components/reply.js.map +1 -0
- package/lib/cjs/components/share-button.d.ts +1 -0
- package/lib/cjs/components/share-button.js +15 -0
- package/lib/cjs/components/share-button.js.map +1 -0
- package/lib/cjs/components/subtitle.d.ts +6 -0
- package/lib/cjs/components/subtitle.js +25 -0
- package/lib/cjs/components/subtitle.js.map +1 -0
- package/lib/cjs/components/text.d.ts +8 -0
- package/lib/cjs/components/text.js +50 -0
- package/lib/cjs/components/text.js.map +1 -0
- package/lib/cjs/components/timestamps.d.ts +10 -0
- package/lib/cjs/components/timestamps.js +54 -0
- package/lib/cjs/components/timestamps.js.map +1 -0
- package/lib/cjs/components/title.d.ts +6 -0
- package/lib/cjs/components/title.js +21 -0
- package/lib/cjs/components/title.js.map +1 -0
- package/lib/cjs/components/video.d.ts +8 -0
- package/lib/cjs/components/video.js +34 -0
- package/lib/cjs/components/video.js.map +1 -0
- package/lib/cjs/components/webchat-settings.d.ts +10 -0
- package/lib/cjs/components/webchat-settings.js +78 -0
- package/lib/cjs/components/webchat-settings.js.map +1 -0
- package/lib/cjs/components/whatsapp-template.d.ts +1 -0
- package/lib/cjs/components/whatsapp-template.js +26 -0
- package/lib/cjs/components/whatsapp-template.js.map +1 -0
- package/lib/cjs/constants.d.ts +168 -0
- package/lib/cjs/constants.js +190 -0
- package/lib/cjs/constants.js.map +1 -0
- package/lib/cjs/contexts.d.ts +69 -0
- package/lib/cjs/contexts.js +38 -0
- package/lib/cjs/contexts.js.map +1 -0
- package/lib/cjs/dev-app.d.ts +34 -0
- package/lib/cjs/dev-app.js +71 -0
- package/lib/cjs/dev-app.js.map +1 -0
- package/lib/cjs/index.d.ts +3 -0
- package/lib/cjs/index.js +28 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/message-utils.d.ts +18 -0
- package/lib/cjs/message-utils.js +61 -0
- package/lib/cjs/message-utils.js.map +1 -0
- package/lib/cjs/msg-to-botonic.d.ts +18 -0
- package/lib/cjs/msg-to-botonic.js +160 -0
- package/lib/cjs/msg-to-botonic.js.map +1 -0
- package/lib/cjs/node-app.d.ts +11 -0
- package/lib/cjs/node-app.js +25 -0
- package/lib/cjs/node-app.js.map +1 -0
- package/lib/cjs/react-bot.d.ts +8 -0
- package/lib/cjs/react-bot.js +35 -0
- package/lib/cjs/react-bot.js.map +1 -0
- package/lib/cjs/util/dom.d.ts +13 -0
- package/lib/cjs/util/dom.js +55 -0
- package/lib/cjs/util/dom.js.map +1 -0
- package/lib/cjs/util/environment.d.ts +6 -0
- package/lib/cjs/util/environment.js +68 -0
- package/lib/cjs/util/environment.js.map +1 -0
- package/lib/cjs/util/error-boundary.js +47 -0
- package/lib/cjs/util/error-boundary.js.map +1 -0
- package/lib/cjs/util/index.d.ts +0 -0
- package/lib/cjs/util/index.js +2 -0
- package/lib/cjs/util/index.js.map +1 -0
- package/lib/cjs/util/logs.d.ts +2 -0
- package/lib/cjs/util/logs.js +20 -0
- package/lib/cjs/util/logs.js.map +1 -0
- package/lib/cjs/util/objects.d.ts +3 -0
- package/lib/cjs/util/objects.js +44 -0
- package/lib/cjs/util/objects.js.map +1 -0
- package/lib/cjs/util/react.d.ts +12 -0
- package/lib/cjs/util/react.js +42 -0
- package/lib/cjs/util/react.js.map +1 -0
- package/lib/cjs/util/regexs.d.ts +2 -0
- package/lib/cjs/util/regexs.js +23 -0
- package/lib/cjs/util/regexs.js.map +1 -0
- package/lib/cjs/util/webchat.d.ts +11 -0
- package/lib/cjs/util/webchat.js +62 -0
- package/lib/cjs/util/webchat.js.map +1 -0
- package/lib/cjs/webchat/actions.d.ts +23 -0
- package/lib/cjs/webchat/actions.js +27 -0
- package/lib/cjs/webchat/actions.js.map +1 -0
- package/lib/cjs/webchat/components/attachment.d.ts +5 -0
- package/lib/cjs/webchat/components/attachment.js +32 -0
- package/lib/cjs/webchat/components/attachment.js.map +1 -0
- package/lib/cjs/webchat/components/common.d.ts +1 -0
- package/lib/cjs/webchat/components/common.js +13 -0
- package/lib/cjs/webchat/components/common.js.map +1 -0
- package/lib/cjs/webchat/components/conditional-animation.d.ts +1 -0
- package/lib/cjs/webchat/components/conditional-animation.js +18 -0
- package/lib/cjs/webchat/components/conditional-animation.js.map +1 -0
- package/lib/cjs/webchat/components/emoji-picker.d.ts +5 -0
- package/lib/cjs/webchat/components/emoji-picker.js +52 -0
- package/lib/cjs/webchat/components/emoji-picker.js.map +1 -0
- package/lib/cjs/webchat/components/persistent-menu.d.ts +10 -0
- package/lib/cjs/webchat/components/persistent-menu.js +59 -0
- package/lib/cjs/webchat/components/persistent-menu.js.map +1 -0
- package/lib/cjs/webchat/components/send-button.d.ts +3 -0
- package/lib/cjs/webchat/components/send-button.js +24 -0
- package/lib/cjs/webchat/components/send-button.js.map +1 -0
- package/lib/cjs/webchat/components/styled-scrollbar.d.ts +1 -0
- package/lib/cjs/webchat/components/styled-scrollbar.js +54 -0
- package/lib/cjs/webchat/components/styled-scrollbar.js.map +1 -0
- package/lib/cjs/webchat/components/typing-indicator.d.ts +1 -0
- package/lib/cjs/webchat/components/typing-indicator.js +14 -0
- package/lib/cjs/webchat/components/typing-indicator.js.map +1 -0
- package/lib/cjs/webchat/devices/device-adapter.d.ts +12 -0
- package/lib/cjs/webchat/devices/device-adapter.js +47 -0
- package/lib/cjs/webchat/devices/device-adapter.js.map +1 -0
- package/lib/cjs/webchat/devices/index.d.ts +11 -0
- package/lib/cjs/webchat/devices/index.js +23 -0
- package/lib/cjs/webchat/devices/index.js.map +1 -0
- package/lib/cjs/webchat/devices/scrollbar-controller.d.ts +12 -0
- package/lib/cjs/webchat/devices/scrollbar-controller.js +103 -0
- package/lib/cjs/webchat/devices/scrollbar-controller.js.map +1 -0
- package/lib/cjs/webchat/devices/webchat-resizer.d.ts +9 -0
- package/lib/cjs/webchat/devices/webchat-resizer.js +47 -0
- package/lib/cjs/webchat/devices/webchat-resizer.js.map +1 -0
- package/lib/cjs/webchat/header.d.ts +3 -0
- package/lib/cjs/webchat/header.js +95 -0
- package/lib/cjs/webchat/header.js.map +1 -0
- package/lib/cjs/webchat/hooks.d.ts +80 -0
- package/lib/cjs/webchat/hooks.js +218 -0
- package/lib/cjs/webchat/hooks.js.map +1 -0
- package/lib/cjs/webchat/index.d.ts +4 -0
- package/lib/cjs/webchat/index.js +17 -0
- package/lib/cjs/webchat/index.js.map +1 -0
- package/lib/cjs/webchat/message-list.d.ts +1 -0
- package/lib/cjs/webchat/message-list.js +46 -0
- package/lib/cjs/webchat/message-list.js.map +1 -0
- package/lib/cjs/webchat/messages-reducer.d.ts +1 -0
- package/lib/cjs/webchat/messages-reducer.js +58 -0
- package/lib/cjs/webchat/messages-reducer.js.map +1 -0
- package/lib/cjs/webchat/replies.d.ts +1 -0
- package/lib/cjs/webchat/replies.js +46 -0
- package/lib/cjs/webchat/replies.js.map +1 -0
- package/lib/cjs/webchat/session-view.d.ts +1 -0
- package/lib/cjs/webchat/session-view.js +124 -0
- package/lib/cjs/webchat/session-view.js.map +1 -0
- package/lib/cjs/webchat/use-storage-state-hook.d.ts +1 -0
- package/lib/cjs/webchat/use-storage-state-hook.js +32 -0
- package/lib/cjs/webchat/use-storage-state-hook.js.map +1 -0
- package/lib/cjs/webchat/webchat-dev.d.ts +7 -0
- package/lib/cjs/webchat/webchat-dev.js +64 -0
- package/lib/cjs/webchat/webchat-dev.js.map +1 -0
- package/lib/cjs/webchat/webchat-reducer.d.ts +1 -0
- package/lib/cjs/webchat/webchat-reducer.js +48 -0
- package/lib/cjs/webchat/webchat-reducer.js.map +1 -0
- package/lib/cjs/webchat/webchat.d.ts +3 -0
- package/lib/cjs/webchat/webchat.js +703 -0
- package/lib/cjs/webchat/webchat.js.map +1 -0
- package/lib/cjs/webchat/webview.d.ts +2 -0
- package/lib/cjs/webchat/webview.js +92 -0
- package/lib/cjs/webchat/webview.js.map +1 -0
- package/lib/cjs/webchat-app.d.ts +99 -0
- package/lib/cjs/webchat-app.js +269 -0
- package/lib/cjs/webchat-app.js.map +1 -0
- package/lib/cjs/webview.d.ts +9 -0
- package/lib/cjs/webview.js +102 -0
- package/lib/cjs/webview.js.map +1 -0
- package/package.json +3 -3
- package/src/util/environment.js +29 -1
- package/lib/app.js +0 -19
- package/lib/app.js.map +0 -1
- package/lib/assets/attachment-icon.svg +0 -7
- package/lib/assets/audio.svg +0 -4
- package/lib/assets/botonic_react_logo100x100.png +0 -0
- package/lib/assets/document.svg +0 -3
- package/lib/assets/emojiButton.svg +0 -6
- package/lib/assets/image.svg +0 -4
- package/lib/assets/leftArrow.svg +0 -3
- package/lib/assets/menuButton.svg +0 -3
- package/lib/assets/rightArrow.svg +0 -3
- package/lib/assets/send-button.svg +0 -1
- package/lib/assets/video.svg +0 -3
- package/lib/botonic-tester.js +0 -224
- package/lib/botonic-tester.js.map +0 -1
- package/lib/components/audio.js +0 -48
- package/lib/components/audio.js.map +0 -1
- package/lib/components/button.js +0 -224
- package/lib/components/button.js.map +0 -1
- package/lib/components/buttons-disabler.js +0 -133
- package/lib/components/buttons-disabler.js.map +0 -1
- package/lib/components/carousel.js +0 -194
- package/lib/components/carousel.js.map +0 -1
- package/lib/components/components.js.map +0 -1
- package/lib/components/custom-message.js +0 -131
- package/lib/components/custom-message.js.map +0 -1
- package/lib/components/document.js +0 -76
- package/lib/components/document.js.map +0 -1
- package/lib/components/element.js +0 -69
- package/lib/components/element.js.map +0 -1
- package/lib/components/handoff.js +0 -69
- package/lib/components/handoff.js.map +0 -1
- package/lib/components/image.js +0 -91
- package/lib/components/image.js.map +0 -1
- package/lib/components/index.d.ts +0 -228
- package/lib/components/index.js +0 -193
- package/lib/components/index.js.map +0 -1
- package/lib/components/location.js +0 -69
- package/lib/components/location.js.map +0 -1
- package/lib/components/markdown.js +0 -108
- package/lib/components/markdown.js.map +0 -1
- package/lib/components/message-template.js +0 -36
- package/lib/components/message-template.js.map +0 -1
- package/lib/components/message.js +0 -351
- package/lib/components/message.js.map +0 -1
- package/lib/components/multichannel/facebook/facebook.js +0 -96
- package/lib/components/multichannel/facebook/facebook.js.map +0 -1
- package/lib/components/multichannel/index.d.ts +0 -65
- package/lib/components/multichannel/index.js +0 -46
- package/lib/components/multichannel/index.js.map +0 -1
- package/lib/components/multichannel/multichannel-button.js +0 -119
- package/lib/components/multichannel/multichannel-button.js.map +0 -1
- package/lib/components/multichannel/multichannel-carousel.js +0 -143
- package/lib/components/multichannel/multichannel-carousel.js.map +0 -1
- package/lib/components/multichannel/multichannel-context.js +0 -24
- package/lib/components/multichannel/multichannel-context.js.map +0 -1
- package/lib/components/multichannel/multichannel-reply.js +0 -46
- package/lib/components/multichannel/multichannel-reply.js.map +0 -1
- package/lib/components/multichannel/multichannel-text.js +0 -222
- package/lib/components/multichannel/multichannel-text.js.map +0 -1
- package/lib/components/multichannel/multichannel-utils.js +0 -126
- package/lib/components/multichannel/multichannel-utils.js.map +0 -1
- package/lib/components/multichannel/multichannel.js +0 -111
- package/lib/components/multichannel/multichannel.js.map +0 -1
- package/lib/components/pic.js +0 -50
- package/lib/components/pic.js.map +0 -1
- package/lib/components/raw.js +0 -70
- package/lib/components/raw.js.map +0 -1
- package/lib/components/reply.js +0 -107
- package/lib/components/reply.js.map +0 -1
- package/lib/components/share-button.js +0 -36
- package/lib/components/share-button.js.map +0 -1
- package/lib/components/subtitle.js +0 -54
- package/lib/components/subtitle.js.map +0 -1
- package/lib/components/text.js +0 -80
- package/lib/components/text.js.map +0 -1
- package/lib/components/timestamps.js +0 -69
- package/lib/components/timestamps.js.map +0 -1
- package/lib/components/title.js +0 -52
- package/lib/components/title.js.map +0 -1
- package/lib/components/video.js +0 -51
- package/lib/components/video.js.map +0 -1
- package/lib/components/webchat-settings.js +0 -118
- package/lib/components/webchat-settings.js.map +0 -1
- package/lib/components/whatsapp-template.js +0 -53
- package/lib/components/whatsapp-template.js.map +0 -1
- package/lib/constants.js +0 -203
- package/lib/constants.js.map +0 -1
- package/lib/contexts.js +0 -57
- package/lib/contexts.js.map +0 -1
- package/lib/dev-app.js +0 -241
- package/lib/dev-app.js.map +0 -1
- package/lib/index.d.ts +0 -238
- package/lib/index.js +0 -131
- package/lib/index.js.map +0 -1
- package/lib/message-utils.js +0 -149
- package/lib/message-utils.js.map +0 -1
- package/lib/msg-to-botonic.js +0 -199
- package/lib/msg-to-botonic.js.map +0 -1
- package/lib/node-app.js +0 -97
- package/lib/node-app.js.map +0 -1
- package/lib/react-bot.js +0 -167
- package/lib/react-bot.js.map +0 -1
- package/lib/util/dom.js +0 -84
- package/lib/util/dom.js.map +0 -1
- package/lib/util/environment.js +0 -42
- package/lib/util/environment.js.map +0 -1
- package/lib/util/error-boundary.js +0 -105
- package/lib/util/error-boundary.js.map +0 -1
- package/lib/util/index.d.ts +0 -9
- package/lib/util/index.js +0 -2
- package/lib/util/index.js.map +0 -1
- package/lib/util/logs.js +0 -28
- package/lib/util/logs.js.map +0 -1
- package/lib/util/objects.js +0 -60
- package/lib/util/objects.js.map +0 -1
- package/lib/util/react.js +0 -75
- package/lib/util/react.js.map +0 -1
- package/lib/util/regexs.js +0 -31
- package/lib/util/regexs.js.map +0 -1
- package/lib/util/webchat.js +0 -92
- package/lib/util/webchat.js.map +0 -1
- package/lib/webchat/actions.js +0 -53
- package/lib/webchat/actions.js.map +0 -1
- package/lib/webchat/components/attachment.js +0 -68
- package/lib/webchat/components/attachment.js.map +0 -1
- package/lib/webchat/components/common.js +0 -29
- package/lib/webchat/components/common.js.map +0 -1
- package/lib/webchat/components/conditional-animation.js +0 -42
- package/lib/webchat/components/conditional-animation.js.map +0 -1
- package/lib/webchat/components/emoji-picker.js +0 -89
- package/lib/webchat/components/emoji-picker.js.map +0 -1
- package/lib/webchat/components/persistent-menu.js +0 -104
- package/lib/webchat/components/persistent-menu.js.map +0 -1
- package/lib/webchat/components/send-button.js +0 -45
- package/lib/webchat/components/send-button.js.map +0 -1
- package/lib/webchat/components/styled-scrollbar.js +0 -55
- package/lib/webchat/components/styled-scrollbar.js.map +0 -1
- package/lib/webchat/components/styled-scrollbar.scss +0 -12
- package/lib/webchat/components/typing-indicator.js +0 -27
- package/lib/webchat/components/typing-indicator.js.map +0 -1
- package/lib/webchat/components/typing-indicator.scss +0 -38
- package/lib/webchat/devices/device-adapter.js +0 -82
- package/lib/webchat/devices/device-adapter.js.map +0 -1
- package/lib/webchat/devices/index.js +0 -32
- package/lib/webchat/devices/index.js.map +0 -1
- package/lib/webchat/devices/scrollbar-controller.js +0 -152
- package/lib/webchat/devices/scrollbar-controller.js.map +0 -1
- package/lib/webchat/devices/webchat-resizer.js +0 -76
- package/lib/webchat/devices/webchat-resizer.js.map +0 -1
- package/lib/webchat/header.js +0 -116
- package/lib/webchat/header.js.map +0 -1
- package/lib/webchat/hooks.js +0 -359
- package/lib/webchat/hooks.js.map +0 -1
- package/lib/webchat/index.d.ts +0 -62
- package/lib/webchat/index.js +0 -32
- package/lib/webchat/index.js.map +0 -1
- package/lib/webchat/message-list.js +0 -88
- package/lib/webchat/message-list.js.map +0 -1
- package/lib/webchat/messages-reducer.js +0 -93
- package/lib/webchat/messages-reducer.js.map +0 -1
- package/lib/webchat/replies.js +0 -78
- package/lib/webchat/replies.js.map +0 -1
- package/lib/webchat/session-view.js +0 -106
- package/lib/webchat/session-view.js.map +0 -1
- package/lib/webchat/use-storage-state-hook.js +0 -60
- package/lib/webchat/use-storage-state-hook.js.map +0 -1
- package/lib/webchat/webchat-dev.js +0 -109
- package/lib/webchat/webchat-dev.js.map +0 -1
- package/lib/webchat/webchat-reducer.js +0 -108
- package/lib/webchat/webchat-reducer.js.map +0 -1
- package/lib/webchat/webchat.js +0 -1108
- package/lib/webchat/webchat.js.map +0 -1
- package/lib/webchat/webview.js +0 -122
- package/lib/webchat/webview.js.map +0 -1
- package/lib/webchat-app.js +0 -660
- package/lib/webchat-app.js.map +0 -1
- package/lib/webchat.template.html +0 -37
- package/lib/webview.js +0 -231
- package/lib/webview.js.map +0 -1
- package/lib/webview.template.html +0 -39
|
@@ -1,131 +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.customMessage = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
-
|
|
14
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
-
|
|
16
|
-
var _core = require("@botonic/core");
|
|
17
|
-
|
|
18
|
-
var _lodash = _interopRequireDefault(require("lodash.merge"));
|
|
19
|
-
|
|
20
|
-
var _react = _interopRequireDefault(require("react"));
|
|
21
|
-
|
|
22
|
-
var _constants = require("../constants");
|
|
23
|
-
|
|
24
|
-
var _errorBoundary = require("../util/error-boundary");
|
|
25
|
-
|
|
26
|
-
var _logs = require("../util/logs");
|
|
27
|
-
|
|
28
|
-
var _react2 = require("../util/react");
|
|
29
|
-
|
|
30
|
-
var _message = require("./message");
|
|
31
|
-
|
|
32
|
-
var _reply = require("./reply");
|
|
33
|
-
|
|
34
|
-
var _excluded = ["id", "children"];
|
|
35
|
-
|
|
36
|
-
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; }
|
|
37
|
-
|
|
38
|
-
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; }
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
*
|
|
42
|
-
* @param name as it appears at ThemeProps' message.customTypes key
|
|
43
|
-
* @param CustomMessageComponent
|
|
44
|
-
* @param defaultProps Props for the wrapper Message
|
|
45
|
-
* @param ErrorBoundary to recover in case it fails
|
|
46
|
-
*/
|
|
47
|
-
var customMessage = function customMessage(_ref) {
|
|
48
|
-
var name = _ref.name,
|
|
49
|
-
CustomMessageComponent = _ref.component,
|
|
50
|
-
_ref$defaultProps = _ref.defaultProps,
|
|
51
|
-
defaultProps = _ref$defaultProps === void 0 ? {} : _ref$defaultProps,
|
|
52
|
-
_ref$errorBoundary = _ref.errorBoundary,
|
|
53
|
-
ErrorBoundary = _ref$errorBoundary === void 0 ? (0, _errorBoundary.createErrorBoundary)() : _ref$errorBoundary;
|
|
54
|
-
|
|
55
|
-
var CustomMessage = function CustomMessage(props) {
|
|
56
|
-
(0, _logs.warnDeprecatedProps)(defaultProps, 'customMessage:');
|
|
57
|
-
if (defaultProps.from === _constants.SENDERS.user) defaultProps.ack = 1;
|
|
58
|
-
return /*#__PURE__*/_react["default"].createElement(_message.Message, (0, _extends2["default"])({}, (0, _lodash["default"])((0, _react2.mapObjectNonBooleanValues)(defaultProps), props), {
|
|
59
|
-
type: _core.INPUT.CUSTOM
|
|
60
|
-
}));
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
var splitChildren = function splitChildren(props) {
|
|
64
|
-
var children = props.children;
|
|
65
|
-
|
|
66
|
-
var isReply = function isReply(e) {
|
|
67
|
-
return e.type === _reply.Reply;
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
try {
|
|
71
|
-
if (!Array.isArray(children) && !isReply(children)) {
|
|
72
|
-
return {
|
|
73
|
-
replies: null,
|
|
74
|
-
childrenWithoutReplies: children
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
var childrenArray = _react["default"].Children.toArray(children);
|
|
79
|
-
|
|
80
|
-
var replies = childrenArray.filter(isReply);
|
|
81
|
-
var childrenWithoutReplies = childrenArray.filter(function (e) {
|
|
82
|
-
return !isReply(e);
|
|
83
|
-
});
|
|
84
|
-
return {
|
|
85
|
-
replies: replies,
|
|
86
|
-
childrenWithoutReplies: childrenWithoutReplies
|
|
87
|
-
};
|
|
88
|
-
} catch (e) {
|
|
89
|
-
return {
|
|
90
|
-
replies: null,
|
|
91
|
-
childrenWithoutReplies: children
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
var WrappedComponent = function WrappedComponent(props) {
|
|
97
|
-
var id = props.id,
|
|
98
|
-
children = props.children,
|
|
99
|
-
customMessageProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
100
|
-
|
|
101
|
-
var _splitChildren = splitChildren(props),
|
|
102
|
-
replies = _splitChildren.replies,
|
|
103
|
-
childrenWithoutReplies = _splitChildren.childrenWithoutReplies;
|
|
104
|
-
|
|
105
|
-
return /*#__PURE__*/_react["default"].createElement(CustomMessage, {
|
|
106
|
-
id: id,
|
|
107
|
-
json: _objectSpread(_objectSpread({}, customMessageProps), {}, {
|
|
108
|
-
id: id,
|
|
109
|
-
children: childrenWithoutReplies,
|
|
110
|
-
customTypeName: name
|
|
111
|
-
})
|
|
112
|
-
}, /*#__PURE__*/_react["default"].createElement(ErrorBoundary, (0, _extends2["default"])({
|
|
113
|
-
key: 'errorBoundary'
|
|
114
|
-
}, customMessageProps), /*#__PURE__*/_react["default"].createElement(CustomMessageComponent, customMessageProps, childrenWithoutReplies)), replies);
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
WrappedComponent.customTypeName = name; // eslint-disable-next-line react/display-name
|
|
118
|
-
|
|
119
|
-
WrappedComponent.deserialize = function (msg) {
|
|
120
|
-
return /*#__PURE__*/_react["default"].createElement(WrappedComponent, (0, _extends2["default"])({
|
|
121
|
-
id: msg.id,
|
|
122
|
-
key: msg.key,
|
|
123
|
-
json: msg.data
|
|
124
|
-
}, msg.data));
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
return WrappedComponent;
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
exports.customMessage = customMessage;
|
|
131
|
-
//# sourceMappingURL=custom-message.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/custom-message.jsx"],"names":["customMessage","name","CustomMessageComponent","component","defaultProps","errorBoundary","ErrorBoundary","CustomMessage","props","from","SENDERS","user","ack","INPUT","CUSTOM","splitChildren","children","isReply","e","type","Reply","Array","isArray","replies","childrenWithoutReplies","childrenArray","React","Children","toArray","filter","WrappedComponent","id","customMessageProps","customTypeName","deserialize","msg","key","data"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAKvB;AAAA,MAJJC,IAII,QAJJA,IAII;AAAA,MAHOC,sBAGP,QAHJC,SAGI;AAAA,+BAFJC,YAEI;AAAA,MAFJA,YAEI,kCAFW,EAEX;AAAA,gCADJC,aACI;AAAA,MADWC,aACX,mCAD2B,yCAC3B;;AACJ,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,KAAK,EAAI;AAC7B,mCAAoBJ,YAApB,EAAkC,gBAAlC;AACA,QAAIA,YAAY,CAACK,IAAb,KAAsBC,mBAAQC,IAAlC,EAAwCP,YAAY,CAACQ,GAAb,GAAmB,CAAnB;AACxC,wBACE,gCAAC,gBAAD,gCACM,wBAAM,uCAA0BR,YAA1B,CAAN,EAA+CI,KAA/C,CADN;AAEE,MAAA,IAAI,EAAEK,YAAMC;AAFd,OADF;AAMD,GATD;;AAWA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAP,KAAK,EAAI;AAC7B,QAAQQ,QAAR,GAAqBR,KAArB,CAAQQ,QAAR;;AACA,QAAMC,OAAO,GAAG,SAAVA,OAAU,CAAAC,CAAC;AAAA,aAAIA,CAAC,CAACC,IAAF,KAAWC,YAAf;AAAA,KAAjB;;AACA,QAAI;AACF,UAAI,CAACC,KAAK,CAACC,OAAN,CAAcN,QAAd,CAAD,IAA4B,CAACC,OAAO,CAACD,QAAD,CAAxC,EAAoD;AAClD,eAAO;AAAEO,UAAAA,OAAO,EAAE,IAAX;AAAiBC,UAAAA,sBAAsB,EAAER;AAAzC,SAAP;AACD;;AACD,UAAMS,aAAa,GAAGC,kBAAMC,QAAN,CAAeC,OAAf,CAAuBZ,QAAvB,CAAtB;;AACA,UAAMO,OAAO,GAAGE,aAAa,CAACI,MAAd,CAAqBZ,OAArB,CAAhB;AACA,UAAMO,sBAAsB,GAAGC,aAAa,CAACI,MAAd,CAAqB,UAAAX,CAAC;AAAA,eAAI,CAACD,OAAO,CAACC,CAAD,CAAZ;AAAA,OAAtB,CAA/B;AACA,aAAO;AACLK,QAAAA,OAAO,EAAEA,OADJ;AAELC,QAAAA,sBAAsB,EAAtBA;AAFK,OAAP;AAID,KAXD,CAWE,OAAON,CAAP,EAAU;AACV,aAAO;AAAEK,QAAAA,OAAO,EAAE,IAAX;AAAiBC,QAAAA,sBAAsB,EAAER;AAAzC,OAAP;AACD;AACF,GAjBD;;AAmBA,MAAMc,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAtB,KAAK,EAAI;AAChC,QAAQuB,EAAR,GAAgDvB,KAAhD,CAAQuB,EAAR;AAAA,QAAYf,QAAZ,GAAgDR,KAAhD,CAAYQ,QAAZ;AAAA,QAAyBgB,kBAAzB,6CAAgDxB,KAAhD;;AACA,yBAA4CO,aAAa,CAACP,KAAD,CAAzD;AAAA,QAAQe,OAAR,kBAAQA,OAAR;AAAA,QAAiBC,sBAAjB,kBAAiBA,sBAAjB;;AACA,wBACE,gCAAC,aAAD;AACE,MAAA,EAAE,EAAEO,EADN;AAEE,MAAA,IAAI,kCACCC,kBADD;AAEFD,QAAAA,EAAE,EAAFA,EAFE;AAGFf,QAAAA,QAAQ,EAAEQ,sBAHR;AAIFS,QAAAA,cAAc,EAAEhC;AAJd;AAFN,oBASE,gCAAC,aAAD;AAAe,MAAA,GAAG,EAAE;AAApB,OAAyC+B,kBAAzC,gBACE,gCAAC,sBAAD,EAA4BA,kBAA5B,EACGR,sBADH,CADF,CATF,EAcGD,OAdH,CADF;AAkBD,GArBD;;AAsBAO,EAAAA,gBAAgB,CAACG,cAAjB,GAAkChC,IAAlC,CArDI,CAsDJ;;AACA6B,EAAAA,gBAAgB,CAACI,WAAjB,GAA+B,UAAAC,GAAG;AAAA,wBAChC,gCAAC,gBAAD;AAAkB,MAAA,EAAE,EAAEA,GAAG,CAACJ,EAA1B;AAA8B,MAAA,GAAG,EAAEI,GAAG,CAACC,GAAvC;AAA4C,MAAA,IAAI,EAAED,GAAG,CAACE;AAAtD,OAAgEF,GAAG,CAACE,IAApE,EADgC;AAAA,GAAlC;;AAGA,SAAOP,gBAAP;AACD,CAhEM","sourcesContent":["import { INPUT } from '@botonic/core'\nimport merge from 'lodash.merge'\nimport React from 'react'\n\nimport { SENDERS } from '../constants'\nimport { createErrorBoundary } from '../util/error-boundary'\nimport { warnDeprecatedProps } from '../util/logs'\nimport { mapObjectNonBooleanValues } from '../util/react'\nimport { Message } from './message'\nimport { Reply } from './reply'\n\n/**\n *\n * @param name as it appears at ThemeProps' message.customTypes key\n * @param CustomMessageComponent\n * @param defaultProps Props for the wrapper Message\n * @param ErrorBoundary to recover in case it fails\n */\nexport const customMessage = ({\n name,\n component: CustomMessageComponent,\n defaultProps = {},\n errorBoundary: ErrorBoundary = createErrorBoundary(),\n}) => {\n const CustomMessage = props => {\n warnDeprecatedProps(defaultProps, 'customMessage:')\n if (defaultProps.from === SENDERS.user) defaultProps.ack = 1\n return (\n <Message\n {...merge(mapObjectNonBooleanValues(defaultProps), props)}\n type={INPUT.CUSTOM}\n />\n )\n }\n\n const splitChildren = props => {\n const { children } = props\n const isReply = e => e.type === Reply\n try {\n if (!Array.isArray(children) && !isReply(children)) {\n return { replies: null, childrenWithoutReplies: children }\n }\n const childrenArray = React.Children.toArray(children)\n const replies = childrenArray.filter(isReply)\n const childrenWithoutReplies = childrenArray.filter(e => !isReply(e))\n return {\n replies: replies,\n childrenWithoutReplies,\n }\n } catch (e) {\n return { replies: null, childrenWithoutReplies: children }\n }\n }\n\n const WrappedComponent = props => {\n const { id, children, ...customMessageProps } = props\n const { replies, childrenWithoutReplies } = splitChildren(props)\n return (\n <CustomMessage\n id={id}\n json={{\n ...customMessageProps,\n id,\n children: childrenWithoutReplies,\n customTypeName: name,\n }}\n >\n <ErrorBoundary key={'errorBoundary'} {...customMessageProps}>\n <CustomMessageComponent {...customMessageProps}>\n {childrenWithoutReplies}\n </CustomMessageComponent>\n </ErrorBoundary>\n {replies}\n </CustomMessage>\n )\n }\n WrappedComponent.customTypeName = name\n // eslint-disable-next-line react/display-name\n WrappedComponent.deserialize = msg => (\n <WrappedComponent id={msg.id} key={msg.key} json={msg.data} {...msg.data} />\n )\n return WrappedComponent\n}\n"],"file":"custom-message.js"}
|
|
@@ -1,76 +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.Document = 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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
-
|
|
18
|
-
var _core = require("@botonic/core");
|
|
19
|
-
|
|
20
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
23
|
-
|
|
24
|
-
var _constants = require("../constants");
|
|
25
|
-
|
|
26
|
-
var _contexts = require("../contexts");
|
|
27
|
-
|
|
28
|
-
var _message = require("./message");
|
|
29
|
-
|
|
30
|
-
var _templateObject;
|
|
31
|
-
|
|
32
|
-
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); }
|
|
33
|
-
|
|
34
|
-
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; }
|
|
35
|
-
|
|
36
|
-
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; }
|
|
37
|
-
|
|
38
|
-
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; }
|
|
39
|
-
|
|
40
|
-
var StyledButton = _styledComponents["default"].a(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: block;\n height: 25px;\n background-color: #f0f0f0;\n padding: 10px;\n text-align: center;\n border-radius: 5px;\n color: black;\n font-weight: bold;\n line-height: 25px;\n text-decoration: none;\n border: 1px solid black;\n opacity: 0.9;\n &:hover {\n opacity: 1;\n }\n"])));
|
|
41
|
-
|
|
42
|
-
var serialize = function serialize(documentProps) {
|
|
43
|
-
return {
|
|
44
|
-
document: documentProps.src
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
var Document = function Document(props) {
|
|
49
|
-
var content = props.children;
|
|
50
|
-
|
|
51
|
-
var _useContext = (0, _react.useContext)(_contexts.WebchatContext),
|
|
52
|
-
getThemeProperty = _useContext.getThemeProperty;
|
|
53
|
-
|
|
54
|
-
var documentDownload = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.documentDownload, {});
|
|
55
|
-
if (typeof documentDownload === 'function') documentDownload = documentDownload(props.from);
|
|
56
|
-
|
|
57
|
-
if ((0, _core.isBrowser)()) {
|
|
58
|
-
content = /*#__PURE__*/_react["default"].createElement(StyledButton, {
|
|
59
|
-
href: props.src,
|
|
60
|
-
target: "_blank",
|
|
61
|
-
rel: "noreferrer",
|
|
62
|
-
style: _objectSpread({}, documentDownload.style)
|
|
63
|
-
}, documentDownload.text || 'Download');
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
return /*#__PURE__*/_react["default"].createElement(_message.Message, (0, _extends2["default"])({
|
|
67
|
-
role: _constants.ROLES.DOCUMENT_MESSAGE,
|
|
68
|
-
json: serialize(props)
|
|
69
|
-
}, props, {
|
|
70
|
-
type: _core.INPUT.DOCUMENT
|
|
71
|
-
}), content);
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
exports.Document = Document;
|
|
75
|
-
Document.serialize = serialize;
|
|
76
|
-
//# sourceMappingURL=document.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/document.jsx"],"names":["StyledButton","styled","a","serialize","documentProps","document","src","Document","props","content","children","WebchatContext","getThemeProperty","documentDownload","WEBCHAT","CUSTOM_PROPERTIES","from","style","text","ROLES","DOCUMENT_MESSAGE","INPUT","DOCUMENT"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,YAAY,GAAGC,6BAAOC,CAAV,iYAAlB;;AAkBA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,aAAa,EAAI;AACjC,SAAO;AAAEC,IAAAA,QAAQ,EAAED,aAAa,CAACE;AAA1B,GAAP;AACD,CAFD;;AAIO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,KAAK,EAAI;AAC/B,MAAIC,OAAO,GAAGD,KAAK,CAACE,QAApB;;AAEA,oBAA6B,uBAAWC,wBAAX,CAA7B;AAAA,MAAQC,gBAAR,eAAQA,gBAAR;;AACA,MAAIC,gBAAgB,GAAGD,gBAAgB,CACrCE,mBAAQC,iBAAR,CAA0BF,gBADW,EAErC,EAFqC,CAAvC;AAIA,MAAI,OAAOA,gBAAP,KAA4B,UAAhC,EACEA,gBAAgB,GAAGA,gBAAgB,CAACL,KAAK,CAACQ,IAAP,CAAnC;;AAEF,MAAI,sBAAJ,EAAiB;AACfP,IAAAA,OAAO,gBACL,gCAAC,YAAD;AACE,MAAA,IAAI,EAAED,KAAK,CAACF,GADd;AAEE,MAAA,MAAM,EAAC,QAFT;AAGE,MAAA,GAAG,EAAC,YAHN;AAIE,MAAA,KAAK,oBACAO,gBAAgB,CAACI,KADjB;AAJP,OAQGJ,gBAAgB,CAACK,IAAjB,IAAyB,UAR5B,CADF;AAYD;;AAED,sBACE,gCAAC,gBAAD;AACE,IAAA,IAAI,EAAEC,iBAAMC,gBADd;AAEE,IAAA,IAAI,EAAEjB,SAAS,CAACK,KAAD;AAFjB,KAGMA,KAHN;AAIE,IAAA,IAAI,EAAEa,YAAMC;AAJd,MAMGb,OANH,CADF;AAUD,CApCM;;;AAsCPF,QAAQ,CAACJ,SAAT,GAAqBA,SAArB","sourcesContent":["import { INPUT, isBrowser } from '@botonic/core'\nimport React, { useContext } from 'react'\nimport styled from 'styled-components'\n\nimport { ROLES, WEBCHAT } from '../constants'\nimport { WebchatContext } from '../contexts'\nimport { Message } from './message'\n\nconst StyledButton = styled.a`\n display: block;\n height: 25px;\n background-color: #f0f0f0;\n padding: 10px;\n text-align: center;\n border-radius: 5px;\n color: black;\n font-weight: bold;\n line-height: 25px;\n text-decoration: none;\n border: 1px solid black;\n opacity: 0.9;\n &:hover {\n opacity: 1;\n }\n`\n\nconst serialize = documentProps => {\n return { document: documentProps.src }\n}\n\nexport const Document = props => {\n let content = props.children\n\n const { getThemeProperty } = useContext(WebchatContext)\n let documentDownload = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.documentDownload,\n {}\n )\n if (typeof documentDownload === 'function')\n documentDownload = documentDownload(props.from)\n\n if (isBrowser()) {\n content = (\n <StyledButton\n href={props.src}\n target='_blank'\n rel='noreferrer'\n style={{\n ...documentDownload.style,\n }}\n >\n {documentDownload.text || 'Download'}\n </StyledButton>\n )\n }\n\n return (\n <Message\n role={ROLES.DOCUMENT_MESSAGE}\n json={serialize(props)}\n {...props}\n type={INPUT.DOCUMENT}\n >\n {content}\n </Message>\n )\n}\n\nDocument.serialize = serialize\n"],"file":"document.js"}
|
|
@@ -1,69 +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.Element = void 0;
|
|
9
|
-
|
|
10
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
|
-
var _react = _interopRequireDefault(require("react"));
|
|
15
|
-
|
|
16
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
|
-
|
|
18
|
-
var _constants = require("../constants");
|
|
19
|
-
|
|
20
|
-
var _react2 = require("../util/react");
|
|
21
|
-
|
|
22
|
-
var _templateObject;
|
|
23
|
-
|
|
24
|
-
var ElementContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: ", "px;\n margin-right: ", "px;\n border-radius: 6px;\n border: 1px solid ", ";\n overflow: hidden;\n justify-content: space-between;\n"])), _constants.WEBCHAT.DEFAULTS.ELEMENT_WIDTH, _constants.WEBCHAT.DEFAULTS.ELEMENT_MARGIN_RIGHT, _constants.COLORS.SEASHELL_WHITE);
|
|
25
|
-
|
|
26
|
-
var Element = function Element(props) {
|
|
27
|
-
var renderBrowser = function renderBrowser() {
|
|
28
|
-
return /*#__PURE__*/_react["default"].createElement(ElementContainer, null, props.children);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
var renderNode = function renderNode() {
|
|
32
|
-
return /*#__PURE__*/_react["default"].createElement("element", null, props.children);
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
return (0, _react2.renderComponent)({
|
|
36
|
-
renderBrowser: renderBrowser,
|
|
37
|
-
renderNode: renderNode
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
exports.Element = Element;
|
|
42
|
-
|
|
43
|
-
Element.serialize = function (elementProps) {
|
|
44
|
-
var element = Object.assign.apply(Object, [{}].concat((0, _toConsumableArray2["default"])(elementProps.children.filter(function (c) {
|
|
45
|
-
return c && c.type && c.type.name != 'Button';
|
|
46
|
-
}).map(function (c) {
|
|
47
|
-
return c.type.serialize && c.type.serialize(c.props);
|
|
48
|
-
})))); // When we are serializer buttons from backend, we are receiving the data
|
|
49
|
-
// as an array of buttons, so we have to keep robust with serve and deal with arrays
|
|
50
|
-
|
|
51
|
-
element.buttons = (0, _toConsumableArray2["default"])(elementProps.children.filter(function (c) {
|
|
52
|
-
if (c instanceof Array) return true;
|
|
53
|
-
return c && c.type && c.type.name == 'Button';
|
|
54
|
-
}).map(function (b) {
|
|
55
|
-
if (b instanceof Array) {
|
|
56
|
-
return b.map(function (bb) {
|
|
57
|
-
return bb && bb.type && bb.type.serialize && bb.type.serialize(bb.props).button;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return b && b.type && b.type.serialize && b.type.serialize(b.props).button;
|
|
62
|
-
})); // When we have the buttons from backend, we have all buttons inside an array on the first position
|
|
63
|
-
// of another array in element['buttons'] we want that element['buttons'] to be an array of buttons,
|
|
64
|
-
// not an array of another array of buttons
|
|
65
|
-
|
|
66
|
-
if (element.buttons[0] instanceof Array) element.buttons = element.buttons[0];
|
|
67
|
-
return element;
|
|
68
|
-
};
|
|
69
|
-
//# sourceMappingURL=element.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/element.jsx"],"names":["ElementContainer","styled","div","WEBCHAT","DEFAULTS","ELEMENT_WIDTH","ELEMENT_MARGIN_RIGHT","COLORS","SEASHELL_WHITE","Element","props","renderBrowser","children","renderNode","serialize","elementProps","element","Object","assign","filter","c","type","name","map","buttons","Array","b","bb","button"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;AAEA,IAAMA,gBAAgB,GAAGC,6BAAOC,GAAV,2RAGXC,mBAAQC,QAAR,CAAiBC,aAHN,EAIJF,mBAAQC,QAAR,CAAiBE,oBAJb,EAMAC,kBAAOC,cANP,CAAtB;;AAWO,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAAC,KAAK,EAAI;AAC9B,MAAMC,aAAa,GAAG,SAAhBA,aAAgB;AAAA,wBACpB,gCAAC,gBAAD,QAAmBD,KAAK,CAACE,QAAzB,CADoB;AAAA,GAAtB;;AAIA,MAAMC,UAAU,GAAG,SAAbA,UAAa;AAAA,wBAAM,iDAAUH,KAAK,CAACE,QAAhB,CAAN;AAAA,GAAnB;;AAEA,SAAO,6BAAgB;AAAED,IAAAA,aAAa,EAAbA,aAAF;AAAiBE,IAAAA,UAAU,EAAVA;AAAjB,GAAhB,CAAP;AACD,CARM;;;;AAUPJ,OAAO,CAACK,SAAR,GAAoB,UAAAC,YAAY,EAAI;AAClC,MAAMC,OAAO,GAAGC,MAAM,CAACC,MAAP,OAAAD,MAAM,GACpB,EADoB,6CAEjBF,YAAY,CAACH,QAAb,CACAO,MADA,CACO,UAAAC,CAAC;AAAA,WAAIA,CAAC,IAAIA,CAAC,CAACC,IAAP,IAAeD,CAAC,CAACC,IAAF,CAAOC,IAAP,IAAe,QAAlC;AAAA,GADR,EAEAC,GAFA,CAEI,UAAAH,CAAC;AAAA,WAAIA,CAAC,CAACC,IAAF,CAAOP,SAAP,IAAoBM,CAAC,CAACC,IAAF,CAAOP,SAAP,CAAiBM,CAAC,CAACV,KAAnB,CAAxB;AAAA,GAFL,CAFiB,GAAtB,CADkC,CAOlC;AACA;;AACAM,EAAAA,OAAO,CAACQ,OAAR,uCACKT,YAAY,CAACH,QAAb,CACAO,MADA,CACO,UAAAC,CAAC,EAAI;AACX,QAAIA,CAAC,YAAYK,KAAjB,EAAwB,OAAO,IAAP;AACxB,WAAOL,CAAC,IAAIA,CAAC,CAACC,IAAP,IAAeD,CAAC,CAACC,IAAF,CAAOC,IAAP,IAAe,QAArC;AACD,GAJA,EAKAC,GALA,CAKI,UAAAG,CAAC,EAAI;AACR,QAAIA,CAAC,YAAYD,KAAjB,EAAwB;AACtB,aAAOC,CAAC,CAACH,GAAF,CACL,UAAAI,EAAE;AAAA,eACAA,EAAE,IACFA,EAAE,CAACN,IADH,IAEAM,EAAE,CAACN,IAAH,CAAQP,SAFR,IAGAa,EAAE,CAACN,IAAH,CAAQP,SAAR,CAAkBa,EAAE,CAACjB,KAArB,EAA4BkB,MAJ5B;AAAA,OADG,CAAP;AAOD;;AACD,WACEF,CAAC,IAAIA,CAAC,CAACL,IAAP,IAAeK,CAAC,CAACL,IAAF,CAAOP,SAAtB,IAAmCY,CAAC,CAACL,IAAF,CAAOP,SAAP,CAAiBY,CAAC,CAAChB,KAAnB,EAA0BkB,MAD/D;AAGD,GAlBA,CADL,EATkC,CA8BlC;AACA;AACA;;AACA,MAAIZ,OAAO,CAACQ,OAAR,CAAgB,CAAhB,aAA8BC,KAAlC,EAAyCT,OAAO,CAACQ,OAAR,GAAkBR,OAAO,CAACQ,OAAR,CAAgB,CAAhB,CAAlB;AACzC,SAAOR,OAAP;AACD,CAnCD","sourcesContent":["import React from 'react'\nimport styled from 'styled-components'\n\nimport { COLORS, WEBCHAT } from '../constants'\nimport { renderComponent } from '../util/react'\n\nconst ElementContainer = styled.div`\n display: flex;\n flex-direction: column;\n width: ${WEBCHAT.DEFAULTS.ELEMENT_WIDTH}px;\n margin-right: ${WEBCHAT.DEFAULTS.ELEMENT_MARGIN_RIGHT}px;\n border-radius: 6px;\n border: 1px solid ${COLORS.SEASHELL_WHITE};\n overflow: hidden;\n justify-content: space-between;\n`\n\nexport const Element = props => {\n const renderBrowser = () => (\n <ElementContainer>{props.children}</ElementContainer>\n )\n\n const renderNode = () => <element>{props.children}</element>\n\n return renderComponent({ renderBrowser, renderNode })\n}\n\nElement.serialize = elementProps => {\n const element = Object.assign(\n {},\n ...elementProps.children\n .filter(c => c && c.type && c.type.name != 'Button')\n .map(c => c.type.serialize && c.type.serialize(c.props))\n )\n // When we are serializer buttons from backend, we are receiving the data\n // as an array of buttons, so we have to keep robust with serve and deal with arrays\n element.buttons = [\n ...elementProps.children\n .filter(c => {\n if (c instanceof Array) return true\n return c && c.type && c.type.name == 'Button'\n })\n .map(b => {\n if (b instanceof Array) {\n return b.map(\n bb =>\n bb &&\n bb.type &&\n bb.type.serialize &&\n bb.type.serialize(bb.props).button\n )\n }\n return (\n b && b.type && b.type.serialize && b.type.serialize(b.props).button\n )\n }),\n ]\n // When we have the buttons from backend, we have all buttons inside an array on the first position\n // of another array in element['buttons'] we want that element['buttons'] to be an array of buttons,\n // not an array of another array of buttons\n if (element.buttons[0] instanceof Array) element.buttons = element.buttons[0]\n return element\n}\n"],"file":"element.js"}
|
|
@@ -1,69 +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.Handoff = void 0;
|
|
11
|
-
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
18
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
19
|
-
|
|
20
|
-
var _constants = require("../constants");
|
|
21
|
-
|
|
22
|
-
var _contexts = require("../contexts");
|
|
23
|
-
|
|
24
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
25
|
-
|
|
26
|
-
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); }
|
|
27
|
-
|
|
28
|
-
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; }
|
|
29
|
-
|
|
30
|
-
var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n font-family: inherit;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 24px;\n"])));
|
|
31
|
-
|
|
32
|
-
var TransferredContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: center;\n white-space: normal;\n"])));
|
|
33
|
-
|
|
34
|
-
var EndedContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: center;\n white-space: normal;\n"])));
|
|
35
|
-
|
|
36
|
-
var StyledButton = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-width: 60%;\n padding: 12px 24px;\n background-color: ", ";\n border: none;\n border-radius: 4px;\n margin-top: 8px;\n cursor: pointer;\n"])), _constants.COLORS.SOLID_WHITE);
|
|
37
|
-
|
|
38
|
-
var Handoff = function Handoff(props) {
|
|
39
|
-
var _useContext = (0, _react.useContext)(_contexts.WebchatContext),
|
|
40
|
-
resolveCase = _useContext.resolveCase;
|
|
41
|
-
|
|
42
|
-
var _useState = (0, _react.useState)({
|
|
43
|
-
showContinue: true
|
|
44
|
-
}),
|
|
45
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
46
|
-
state = _useState2[0],
|
|
47
|
-
setState = _useState2[1];
|
|
48
|
-
|
|
49
|
-
var continueClick = function continueClick() {
|
|
50
|
-
setState({
|
|
51
|
-
showContinue: false
|
|
52
|
-
});
|
|
53
|
-
resolveCase();
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
var bgColor = state.showContinue ? _constants.COLORS.FRINGY_FLOWER_GREEN : _constants.COLORS.TASMAN_GRAY;
|
|
57
|
-
var fontColor = state.showContinue ? _constants.COLORS.APPLE_GREEN : _constants.COLORS.CACTUS_GREEN;
|
|
58
|
-
return /*#__PURE__*/_react["default"].createElement(Container, {
|
|
59
|
-
style: {
|
|
60
|
-
color: fontColor,
|
|
61
|
-
backgroundColor: bgColor
|
|
62
|
-
}
|
|
63
|
-
}, state.showContinue ? /*#__PURE__*/_react["default"].createElement(TransferredContainer, null, "Conversation transferred to a human agent...") : /*#__PURE__*/_react["default"].createElement(EndedContainer, null, "Human handoff ended"), state.showContinue && /*#__PURE__*/_react["default"].createElement(StyledButton, {
|
|
64
|
-
onClick: continueClick
|
|
65
|
-
}, "Continue"));
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
exports.Handoff = Handoff;
|
|
69
|
-
//# sourceMappingURL=handoff.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/handoff.jsx"],"names":["Container","styled","div","TransferredContainer","EndedContainer","StyledButton","button","COLORS","SOLID_WHITE","Handoff","props","WebchatContext","resolveCase","showContinue","state","setState","continueClick","bgColor","FRINGY_FLOWER_GREEN","TASMAN_GRAY","fontColor","APPLE_GREEN","CACTUS_GREEN","color","backgroundColor"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;;;AAEA,IAAMA,SAAS,GAAGC,6BAAOC,GAAV,oOAAf;;AASA,IAAMC,oBAAoB,GAAGF,6BAAOC,GAAV,yIAA1B;;AAKA,IAAME,cAAc,GAAGH,6BAAOC,GAAV,yIAApB;;AAKA,IAAMG,YAAY,GAAGJ,6BAAOK,MAAV,gPAGIC,kBAAOC,WAHX,CAAlB;;AAUO,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAAC,KAAK,EAAI;AAC9B,oBAAwB,uBAAWC,wBAAX,CAAxB;AAAA,MAAQC,WAAR,eAAQA,WAAR;;AACA,kBAA0B,qBAAS;AAAEC,IAAAA,YAAY,EAAE;AAAhB,GAAT,CAA1B;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AAEA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BD,IAAAA,QAAQ,CAAC;AAAEF,MAAAA,YAAY,EAAE;AAAhB,KAAD,CAAR;AACAD,IAAAA,WAAW;AACZ,GAHD;;AAKA,MAAMK,OAAO,GAAGH,KAAK,CAACD,YAAN,GACZN,kBAAOW,mBADK,GAEZX,kBAAOY,WAFX;AAGA,MAAMC,SAAS,GAAGN,KAAK,CAACD,YAAN,GACdN,kBAAOc,WADO,GAEdd,kBAAOe,YAFX;AAGA,sBACE,gCAAC,SAAD;AACE,IAAA,KAAK,EAAE;AACLC,MAAAA,KAAK,EAAEH,SADF;AAELI,MAAAA,eAAe,EAAEP;AAFZ;AADT,KAMGH,KAAK,CAACD,YAAN,gBACC,gCAAC,oBAAD,uDADD,gBAKC,gCAAC,cAAD,8BAXJ,EAaGC,KAAK,CAACD,YAAN,iBACC,gCAAC,YAAD;AAAc,IAAA,OAAO,EAAEG;AAAvB,gBAdJ,CADF;AAmBD,CAlCM","sourcesContent":["import React, { useContext, useState } from 'react'\nimport styled from 'styled-components'\n\nimport { COLORS } from '../constants'\nimport { WebchatContext } from '../contexts'\n\nconst Container = styled.div`\n display: flex;\n font-family: inherit;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 24px;\n`\n\nconst TransferredContainer = styled.div`\n text-align: center;\n white-space: normal;\n`\n\nconst EndedContainer = styled.div`\n text-align: center;\n white-space: normal;\n`\n\nconst StyledButton = styled.button`\n max-width: 60%;\n padding: 12px 24px;\n background-color: ${COLORS.SOLID_WHITE};\n border: none;\n border-radius: 4px;\n margin-top: 8px;\n cursor: pointer;\n`\n\nexport const Handoff = props => {\n const { resolveCase } = useContext(WebchatContext)\n const [state, setState] = useState({ showContinue: true })\n\n const continueClick = () => {\n setState({ showContinue: false })\n resolveCase()\n }\n\n const bgColor = state.showContinue\n ? COLORS.FRINGY_FLOWER_GREEN\n : COLORS.TASMAN_GRAY\n const fontColor = state.showContinue\n ? COLORS.APPLE_GREEN\n : COLORS.CACTUS_GREEN\n return (\n <Container\n style={{\n color: fontColor,\n backgroundColor: bgColor,\n }}\n >\n {state.showContinue ? (\n <TransferredContainer>\n Conversation transferred to a human agent...\n </TransferredContainer>\n ) : (\n <EndedContainer>Human handoff ended</EndedContainer>\n )}\n {state.showContinue && (\n <StyledButton onClick={continueClick}>Continue</StyledButton>\n )}\n </Container>\n )\n}\n"],"file":"handoff.js"}
|
package/lib/components/image.js
DELETED
|
@@ -1,91 +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.Image = void 0;
|
|
11
|
-
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
-
|
|
18
|
-
var _core = require("@botonic/core");
|
|
19
|
-
|
|
20
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
23
|
-
|
|
24
|
-
var _constants = require("../constants");
|
|
25
|
-
|
|
26
|
-
var _contexts = require("../contexts");
|
|
27
|
-
|
|
28
|
-
var _message = require("./message");
|
|
29
|
-
|
|
30
|
-
var _templateObject;
|
|
31
|
-
|
|
32
|
-
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); }
|
|
33
|
-
|
|
34
|
-
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; }
|
|
35
|
-
|
|
36
|
-
var StyledImage = _styledComponents["default"].img(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 8px;\n max-width: 150px;\n max-height: 150px;\n margin: -3px -6px;\n cursor: ", ";\n"])), function (_ref) {
|
|
37
|
-
var hasPreviewer = _ref.hasPreviewer;
|
|
38
|
-
return hasPreviewer ? 'pointer' : 'auto';
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
var serialize = function serialize(imageProps) {
|
|
42
|
-
return {
|
|
43
|
-
image: imageProps.src
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
var Image = function Image(props) {
|
|
48
|
-
var content = props.children;
|
|
49
|
-
|
|
50
|
-
var _useState = (0, _react.useState)(false),
|
|
51
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
52
|
-
isPreviewerOpened = _useState2[0],
|
|
53
|
-
setIsPreviewerOpened = _useState2[1];
|
|
54
|
-
|
|
55
|
-
var openPreviewer = function openPreviewer() {
|
|
56
|
-
return setIsPreviewerOpened(true);
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
var closePreviewer = function closePreviewer() {
|
|
60
|
-
return setIsPreviewerOpened(false);
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
var _useContext = (0, _react.useContext)(_contexts.WebchatContext),
|
|
64
|
-
getThemeProperty = _useContext.getThemeProperty;
|
|
65
|
-
|
|
66
|
-
var ImagePreviewer = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.imagePreviewer, null);
|
|
67
|
-
|
|
68
|
-
if ((0, _core.isBrowser)()) {
|
|
69
|
-
content = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(StyledImage, {
|
|
70
|
-
src: props.src,
|
|
71
|
-
onClick: openPreviewer,
|
|
72
|
-
hasPreviewer: Boolean(ImagePreviewer)
|
|
73
|
-
}), ImagePreviewer && /*#__PURE__*/_react["default"].createElement(ImagePreviewer, {
|
|
74
|
-
src: props.src,
|
|
75
|
-
isPreviewerOpened: isPreviewerOpened,
|
|
76
|
-
openPreviewer: openPreviewer,
|
|
77
|
-
closePreviewer: closePreviewer
|
|
78
|
-
}));
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return /*#__PURE__*/_react["default"].createElement(_message.Message, (0, _extends2["default"])({
|
|
82
|
-
role: _constants.ROLES.IMAGE_MESSAGE,
|
|
83
|
-
json: serialize(props)
|
|
84
|
-
}, props, {
|
|
85
|
-
type: _core.INPUT.IMAGE
|
|
86
|
-
}), content);
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
exports.Image = Image;
|
|
90
|
-
Image.serialize = serialize;
|
|
91
|
-
//# sourceMappingURL=image.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/image.jsx"],"names":["StyledImage","styled","img","hasPreviewer","serialize","imageProps","image","src","Image","props","content","children","isPreviewerOpened","setIsPreviewerOpened","openPreviewer","closePreviewer","WebchatContext","getThemeProperty","ImagePreviewer","WEBCHAT","CUSTOM_PROPERTIES","imagePreviewer","Boolean","ROLES","IMAGE_MESSAGE","INPUT","IMAGE"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,WAAW,GAAGC,6BAAOC,GAAV,kMAKL;AAAA,MAAGC,YAAH,QAAGA,YAAH;AAAA,SAAuBA,YAAY,GAAG,SAAH,GAAe,MAAlD;AAAA,CALK,CAAjB;;AAQA,IAAMC,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;;AAEA,kBAAkD,qBAAS,KAAT,CAAlD;AAAA;AAAA,MAAOC,iBAAP;AAAA,MAA0BC,oBAA1B;;AACA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB;AAAA,WAAMD,oBAAoB,CAAC,IAAD,CAA1B;AAAA,GAAtB;;AACA,MAAME,cAAc,GAAG,SAAjBA,cAAiB;AAAA,WAAMF,oBAAoB,CAAC,KAAD,CAA1B;AAAA,GAAvB;;AAEA,oBAA6B,uBAAWG,wBAAX,CAA7B;AAAA,MAAQC,gBAAR,eAAQA,gBAAR;;AACA,MAAMC,cAAc,GAAGD,gBAAgB,CACrCE,mBAAQC,iBAAR,CAA0BC,cADW,EAErC,IAFqC,CAAvC;;AAIA,MAAI,sBAAJ,EAAiB;AACfX,IAAAA,OAAO,gBACL,+EACE,gCAAC,WAAD;AACE,MAAA,GAAG,EAAED,KAAK,CAACF,GADb;AAEE,MAAA,OAAO,EAAEO,aAFX;AAGE,MAAA,YAAY,EAAEQ,OAAO,CAACJ,cAAD;AAHvB,MADF,EAMGA,cAAc,iBACb,gCAAC,cAAD;AACE,MAAA,GAAG,EAAET,KAAK,CAACF,GADb;AAEE,MAAA,iBAAiB,EAAEK,iBAFrB;AAGE,MAAA,aAAa,EAAEE,aAHjB;AAIE,MAAA,cAAc,EAAEC;AAJlB,MAPJ,CADF;AAiBD;;AACD,sBACE,gCAAC,gBAAD;AACE,IAAA,IAAI,EAAEQ,iBAAMC,aADd;AAEE,IAAA,IAAI,EAAEpB,SAAS,CAACK,KAAD;AAFjB,KAGMA,KAHN;AAIE,IAAA,IAAI,EAAEgB,YAAMC;AAJd,MAMGhB,OANH,CADF;AAUD,CAzCM;;;AA2CPF,KAAK,CAACJ,SAAN,GAAkBA,SAAlB","sourcesContent":["import { INPUT, isBrowser } from '@botonic/core'\nimport React, { useContext, useState } from 'react'\nimport styled from 'styled-components'\n\nimport { ROLES, WEBCHAT } from '../constants'\nimport { WebchatContext } from '../contexts'\nimport { Message } from './message'\n\nconst StyledImage = styled.img`\n border-radius: 8px;\n max-width: 150px;\n max-height: 150px;\n margin: -3px -6px;\n cursor: ${({ hasPreviewer }) => (hasPreviewer ? 'pointer' : 'auto')};\n`\n\nconst serialize = imageProps => {\n return { image: imageProps.src }\n}\n\nexport const Image = props => {\n let content = props.children\n\n const [isPreviewerOpened, setIsPreviewerOpened] = useState(false)\n const openPreviewer = () => setIsPreviewerOpened(true)\n const closePreviewer = () => setIsPreviewerOpened(false)\n\n const { getThemeProperty } = useContext(WebchatContext)\n const ImagePreviewer = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.imagePreviewer,\n null\n )\n if (isBrowser()) {\n content = (\n <>\n <StyledImage\n src={props.src}\n onClick={openPreviewer}\n hasPreviewer={Boolean(ImagePreviewer)}\n />\n {ImagePreviewer && (\n <ImagePreviewer\n src={props.src}\n isPreviewerOpened={isPreviewerOpened}\n openPreviewer={openPreviewer}\n closePreviewer={closePreviewer}\n />\n )}\n </>\n )\n }\n return (\n <Message\n role={ROLES.IMAGE_MESSAGE}\n json={serialize(props)}\n {...props}\n type={INPUT.IMAGE}\n >\n {content}\n </Message>\n )\n}\n\nImage.serialize = serialize\n"],"file":"image.js"}
|