@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,152 +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.ScrollbarController = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _dom = require("../../util/dom");
|
|
15
|
-
|
|
16
|
-
var _ = require(".");
|
|
17
|
-
|
|
18
|
-
var debounced = function debounced(delay, fn) {
|
|
19
|
-
var timerId;
|
|
20
|
-
return function () {
|
|
21
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
22
|
-
args[_key] = arguments[_key];
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
if (timerId) {
|
|
26
|
-
clearTimeout(timerId);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
timerId = setTimeout(function () {
|
|
30
|
-
fn.apply(void 0, args);
|
|
31
|
-
timerId = null;
|
|
32
|
-
}, delay);
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
var stopAtScrollLimit = function stopAtScrollLimit(element) {
|
|
37
|
-
if (element.scrollTop === 0) element.scrollTop = 1;
|
|
38
|
-
if (element.scrollHeight - element.scrollTop === element.clientHeight) element.scrollTop -= 1;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
var ScrollbarController = /*#__PURE__*/function () {
|
|
42
|
-
function ScrollbarController(currentDevice, host) {
|
|
43
|
-
(0, _classCallCheck2["default"])(this, ScrollbarController);
|
|
44
|
-
this.currentDevice = currentDevice;
|
|
45
|
-
this.webchat = (0, _dom.getWebchatElement)(host);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
(0, _createClass2["default"])(ScrollbarController, [{
|
|
49
|
-
key: "handleScrollEvents",
|
|
50
|
-
value: function handleScrollEvents() {
|
|
51
|
-
var _this = this;
|
|
52
|
-
|
|
53
|
-
/*
|
|
54
|
-
It handles scroll events for Mobile/Desktop.
|
|
55
|
-
"ontouchmove" is the phone equivalent for "onmouseover"
|
|
56
|
-
*/
|
|
57
|
-
if ((0, _.isMobileDevice)()) {
|
|
58
|
-
if (this.currentDevice !== _.DEVICES.MOBILE.IPHONE) return;
|
|
59
|
-
this.limitScrollBoundaries();
|
|
60
|
-
|
|
61
|
-
this.webchat.ontouchstart = function (e) {
|
|
62
|
-
_this.handleOnTouchMoveEvents(e);
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
this.webchat.ontouchmove = function (e) {
|
|
66
|
-
_this.handleOnTouchMoveEvents(e);
|
|
67
|
-
};
|
|
68
|
-
} else {
|
|
69
|
-
this.webchat.onmouseover = function (e) {
|
|
70
|
-
return _this.handleOnMouseOverEvents(e);
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}, {
|
|
75
|
-
key: "hasScrollbar",
|
|
76
|
-
value: function hasScrollbar() {
|
|
77
|
-
var scrollableArea = (0, _dom.getScrollableArea)(this.webchat);
|
|
78
|
-
var isScrollable = scrollableArea.visible.clientHeight - scrollableArea.full.clientHeight < 0;
|
|
79
|
-
return isScrollable;
|
|
80
|
-
}
|
|
81
|
-
}, {
|
|
82
|
-
key: "handleOnMouseOverEvents",
|
|
83
|
-
value: function handleOnMouseOverEvents(e) {
|
|
84
|
-
var target = e.currentTarget;
|
|
85
|
-
|
|
86
|
-
while (target) {
|
|
87
|
-
this.toggleOnMouseWheelEvents();
|
|
88
|
-
target = target.parentNode;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}, {
|
|
92
|
-
key: "toggleOnMouseWheelEvents",
|
|
93
|
-
value: function toggleOnMouseWheelEvents() {
|
|
94
|
-
var scrollableContent = (0, _dom.getScrollableContent)(this.webchat);
|
|
95
|
-
|
|
96
|
-
if (this.hasScrollbar()) {
|
|
97
|
-
scrollableContent.onmousewheel = {};
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
scrollableContent.onmousewheel = function (e) {
|
|
102
|
-
return e.preventDefault();
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
}, {
|
|
106
|
-
key: "handleOnTouchMoveEvents",
|
|
107
|
-
value: function handleOnTouchMoveEvents(e) {
|
|
108
|
-
this.toggleOnTouchMoveEvents();
|
|
109
|
-
}
|
|
110
|
-
}, {
|
|
111
|
-
key: "toggleOnTouchMoveEvents",
|
|
112
|
-
value: function toggleOnTouchMoveEvents() {
|
|
113
|
-
if (this.hasScrollbar()) {
|
|
114
|
-
this.webchat.ontouchmove = {};
|
|
115
|
-
this.webchat.ontouchstart = {};
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
this.webchat.ontouchmove = function (e) {
|
|
120
|
-
if (e.target === e.currentTarget) e.preventDefault();
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
}, {
|
|
124
|
-
key: "limitScrollBoundaries",
|
|
125
|
-
value: function limitScrollBoundaries() {
|
|
126
|
-
if (this.currentDevice !== _.DEVICES.MOBILE.IPHONE) return;
|
|
127
|
-
/*
|
|
128
|
-
It adds a bounce effect when top or bottom limits of the scrollbar are reached for iOS,
|
|
129
|
-
as an alternative of overscroll-behavior (https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior)
|
|
130
|
-
*/
|
|
131
|
-
|
|
132
|
-
var frame = (0, _dom.getScrollableArea)(this.webchat).visible;
|
|
133
|
-
var dStopAtScrollLimit = debounced(100, stopAtScrollLimit);
|
|
134
|
-
|
|
135
|
-
if (frame) {
|
|
136
|
-
if (window.addEventListener) {
|
|
137
|
-
frame.addEventListener('scroll', function () {
|
|
138
|
-
return dStopAtScrollLimit(frame);
|
|
139
|
-
}, true);
|
|
140
|
-
} else if (window.attachEvent) {
|
|
141
|
-
frame.attachEvent('scroll', function () {
|
|
142
|
-
return dStopAtScrollLimit(frame);
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}]);
|
|
148
|
-
return ScrollbarController;
|
|
149
|
-
}();
|
|
150
|
-
|
|
151
|
-
exports.ScrollbarController = ScrollbarController;
|
|
152
|
-
//# sourceMappingURL=scrollbar-controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/webchat/devices/scrollbar-controller.js"],"names":["debounced","delay","fn","timerId","args","clearTimeout","setTimeout","stopAtScrollLimit","element","scrollTop","scrollHeight","clientHeight","ScrollbarController","currentDevice","host","webchat","DEVICES","MOBILE","IPHONE","limitScrollBoundaries","ontouchstart","e","handleOnTouchMoveEvents","ontouchmove","onmouseover","handleOnMouseOverEvents","scrollableArea","isScrollable","visible","full","target","currentTarget","toggleOnMouseWheelEvents","parentNode","scrollableContent","hasScrollbar","onmousewheel","preventDefault","toggleOnTouchMoveEvents","frame","dStopAtScrollLimit","window","addEventListener","attachEvent"],"mappings":"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","sourcesContent":["import {\n getScrollableArea,\n getScrollableContent,\n getWebchatElement,\n} from '../../util/dom'\nimport { DEVICES, isMobileDevice } from '.'\n\nconst debounced = (delay, fn) => {\n let timerId\n return function (...args) {\n if (timerId) {\n clearTimeout(timerId)\n }\n timerId = setTimeout(() => {\n fn(...args)\n timerId = null\n }, delay)\n }\n}\n\nconst stopAtScrollLimit = element => {\n if (element.scrollTop === 0) element.scrollTop = 1\n if (element.scrollHeight - element.scrollTop === element.clientHeight)\n element.scrollTop -= 1\n}\n\nexport class ScrollbarController {\n constructor(currentDevice, host) {\n this.currentDevice = currentDevice\n this.webchat = getWebchatElement(host)\n }\n\n handleScrollEvents() {\n /*\n It handles scroll events for Mobile/Desktop.\n \"ontouchmove\" is the phone equivalent for \"onmouseover\"\n */\n if (isMobileDevice()) {\n if (this.currentDevice !== DEVICES.MOBILE.IPHONE) return\n this.limitScrollBoundaries()\n this.webchat.ontouchstart = e => {\n this.handleOnTouchMoveEvents(e)\n }\n this.webchat.ontouchmove = e => {\n this.handleOnTouchMoveEvents(e)\n }\n } else {\n this.webchat.onmouseover = e => this.handleOnMouseOverEvents(e)\n }\n }\n\n hasScrollbar() {\n const scrollableArea = getScrollableArea(this.webchat)\n const isScrollable =\n scrollableArea.visible.clientHeight - scrollableArea.full.clientHeight < 0\n return isScrollable\n }\n\n handleOnMouseOverEvents(e) {\n let target = e.currentTarget\n while (target) {\n this.toggleOnMouseWheelEvents()\n target = target.parentNode\n }\n }\n\n toggleOnMouseWheelEvents() {\n const scrollableContent = getScrollableContent(this.webchat)\n if (this.hasScrollbar()) {\n scrollableContent.onmousewheel = {}\n return\n }\n scrollableContent.onmousewheel = e => e.preventDefault()\n }\n\n handleOnTouchMoveEvents(e) {\n this.toggleOnTouchMoveEvents()\n }\n\n toggleOnTouchMoveEvents() {\n if (this.hasScrollbar()) {\n this.webchat.ontouchmove = {}\n this.webchat.ontouchstart = {}\n return\n }\n this.webchat.ontouchmove = e => {\n if (e.target === e.currentTarget) e.preventDefault()\n }\n }\n\n limitScrollBoundaries() {\n if (this.currentDevice !== DEVICES.MOBILE.IPHONE) return\n /*\n It adds a bounce effect when top or bottom limits of the scrollbar are reached for iOS,\n as an alternative of overscroll-behavior (https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior)\n */\n const frame = getScrollableArea(this.webchat).visible\n const dStopAtScrollLimit = debounced(100, stopAtScrollLimit)\n if (frame) {\n if (window.addEventListener) {\n frame.addEventListener('scroll', () => dStopAtScrollLimit(frame), true)\n } else if (window.attachEvent) {\n frame.attachEvent('scroll', () => dStopAtScrollLimit(frame))\n }\n }\n }\n}\n"],"file":"scrollbar-controller.js"}
|
|
@@ -1,76 +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.WebchatResizer = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _dom = require("../../util/dom");
|
|
15
|
-
|
|
16
|
-
var _ = require(".");
|
|
17
|
-
|
|
18
|
-
var WebchatResizer = /*#__PURE__*/function () {
|
|
19
|
-
function WebchatResizer(currentDevice, host) {
|
|
20
|
-
(0, _classCallCheck2["default"])(this, WebchatResizer);
|
|
21
|
-
this.currentDevice = currentDevice;
|
|
22
|
-
this.host = host;
|
|
23
|
-
this.webchat = (0, _dom.getWebchatElement)(host);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
(0, _createClass2["default"])(WebchatResizer, [{
|
|
27
|
-
key: "onFocus",
|
|
28
|
-
value: function onFocus(onKeyboardShownFn) {
|
|
29
|
-
var _this = this;
|
|
30
|
-
|
|
31
|
-
if (this.currentDevice !== _.DEVICES.MOBILE.IPHONE) return;
|
|
32
|
-
/*
|
|
33
|
-
Based on Tip #4 from https://blog.opendigerati.com/the-eccentric-ways-of-ios-safari-with-the-keyboard-b5aa3f34228d,
|
|
34
|
-
taking window.innerHeight as the amount of pixels the virtual keyboard adds
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
var waitUntilKeyboardIsShown = 400;
|
|
38
|
-
|
|
39
|
-
var calculateNewWebchatElementHeight = function calculateNewWebchatElementHeight() {
|
|
40
|
-
var webchatHeight = _this.webchat.clientHeight; // Some iOS versions keep track of this height with VisualViewport API: https://stackoverflow.com/a/59056851
|
|
41
|
-
|
|
42
|
-
var keyboardOffset = window.visualViewport && window.visualViewport.height || window.innerHeight;
|
|
43
|
-
var newWebchatPercentualHeight = keyboardOffset / webchatHeight;
|
|
44
|
-
|
|
45
|
-
var toTwoDecimal = function toTwoDecimal(toRound) {
|
|
46
|
-
return Math.round(toRound * 100) / 100;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
newWebchatPercentualHeight = toTwoDecimal(newWebchatPercentualHeight) * 100;
|
|
50
|
-
return newWebchatPercentualHeight;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
setTimeout(function () {
|
|
54
|
-
_this.setWebchatElementHeight("".concat(calculateNewWebchatElementHeight(), "%"));
|
|
55
|
-
|
|
56
|
-
(0, _dom.scrollToBottom)(_this.host);
|
|
57
|
-
onKeyboardShownFn();
|
|
58
|
-
}, waitUntilKeyboardIsShown);
|
|
59
|
-
}
|
|
60
|
-
}, {
|
|
61
|
-
key: "onBlur",
|
|
62
|
-
value: function onBlur() {
|
|
63
|
-
if (this.currentDevice !== _.DEVICES.MOBILE.IPHONE) return;
|
|
64
|
-
this.setWebchatElementHeight('100%');
|
|
65
|
-
}
|
|
66
|
-
}, {
|
|
67
|
-
key: "setWebchatElementHeight",
|
|
68
|
-
value: function setWebchatElementHeight(newHeight) {
|
|
69
|
-
this.webchat.style.height = newHeight;
|
|
70
|
-
}
|
|
71
|
-
}]);
|
|
72
|
-
return WebchatResizer;
|
|
73
|
-
}();
|
|
74
|
-
|
|
75
|
-
exports.WebchatResizer = WebchatResizer;
|
|
76
|
-
//# sourceMappingURL=webchat-resizer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/webchat/devices/webchat-resizer.js"],"names":["WebchatResizer","currentDevice","host","webchat","onKeyboardShownFn","DEVICES","MOBILE","IPHONE","waitUntilKeyboardIsShown","calculateNewWebchatElementHeight","webchatHeight","clientHeight","keyboardOffset","window","visualViewport","height","innerHeight","newWebchatPercentualHeight","toTwoDecimal","toRound","Math","round","setTimeout","setWebchatElementHeight","newHeight","style"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;IAEaA,c;AACX,0BAAYC,aAAZ,EAA2BC,IAA3B,EAAiC;AAAA;AAC/B,SAAKD,aAAL,GAAqBA,aAArB;AACA,SAAKC,IAAL,GAAYA,IAAZ;AACA,SAAKC,OAAL,GAAe,4BAAkBD,IAAlB,CAAf;AACD;;;;WAED,iBAAQE,iBAAR,EAA2B;AAAA;;AACzB,UAAI,KAAKH,aAAL,KAAuBI,UAAQC,MAAR,CAAeC,MAA1C,EAAkD;AAClD;AACJ;AACA;AACA;;AACI,UAAMC,wBAAwB,GAAG,GAAjC;;AACA,UAAMC,gCAAgC,GAAG,SAAnCA,gCAAmC,GAAM;AAC7C,YAAMC,aAAa,GAAG,KAAI,CAACP,OAAL,CAAaQ,YAAnC,CAD6C,CAE7C;;AACA,YAAMC,cAAc,GACjBC,MAAM,CAACC,cAAP,IAAyBD,MAAM,CAACC,cAAP,CAAsBC,MAAhD,IACAF,MAAM,CAACG,WAFT;AAGA,YAAIC,0BAA0B,GAAGL,cAAc,GAAGF,aAAlD;;AACA,YAAMQ,YAAY,GAAG,SAAfA,YAAe,CAAAC,OAAO;AAAA,iBAAIC,IAAI,CAACC,KAAL,CAAWF,OAAO,GAAG,GAArB,IAA4B,GAAhC;AAAA,SAA5B;;AACAF,QAAAA,0BAA0B,GACxBC,YAAY,CAACD,0BAAD,CAAZ,GAA2C,GAD7C;AAEA,eAAOA,0BAAP;AACD,OAXD;;AAYAK,MAAAA,UAAU,CAAC,YAAM;AACf,QAAA,KAAI,CAACC,uBAAL,WAAgCd,gCAAgC,EAAhE;;AACA,iCAAe,KAAI,CAACP,IAApB;AACAE,QAAAA,iBAAiB;AAClB,OAJS,EAIPI,wBAJO,CAAV;AAKD;;;WAED,kBAAS;AACP,UAAI,KAAKP,aAAL,KAAuBI,UAAQC,MAAR,CAAeC,MAA1C,EAAkD;AAClD,WAAKgB,uBAAL,CAA6B,MAA7B;AACD;;;WAED,iCAAwBC,SAAxB,EAAmC;AACjC,WAAKrB,OAAL,CAAasB,KAAb,CAAmBV,MAAnB,GAA4BS,SAA5B;AACD","sourcesContent":["import { getWebchatElement, scrollToBottom } from '../../util/dom'\nimport { DEVICES } from '.'\n\nexport class WebchatResizer {\n constructor(currentDevice, host) {\n this.currentDevice = currentDevice\n this.host = host\n this.webchat = getWebchatElement(host)\n }\n\n onFocus(onKeyboardShownFn) {\n if (this.currentDevice !== DEVICES.MOBILE.IPHONE) return\n /*\n Based on Tip #4 from https://blog.opendigerati.com/the-eccentric-ways-of-ios-safari-with-the-keyboard-b5aa3f34228d,\n taking window.innerHeight as the amount of pixels the virtual keyboard adds\n */\n const waitUntilKeyboardIsShown = 400\n const calculateNewWebchatElementHeight = () => {\n const webchatHeight = this.webchat.clientHeight\n // Some iOS versions keep track of this height with VisualViewport API: https://stackoverflow.com/a/59056851\n const keyboardOffset =\n (window.visualViewport && window.visualViewport.height) ||\n window.innerHeight\n let newWebchatPercentualHeight = keyboardOffset / webchatHeight\n const toTwoDecimal = toRound => Math.round(toRound * 100) / 100\n newWebchatPercentualHeight =\n toTwoDecimal(newWebchatPercentualHeight) * 100\n return newWebchatPercentualHeight\n }\n setTimeout(() => {\n this.setWebchatElementHeight(`${calculateNewWebchatElementHeight()}%`)\n scrollToBottom(this.host)\n onKeyboardShownFn()\n }, waitUntilKeyboardIsShown)\n }\n\n onBlur() {\n if (this.currentDevice !== DEVICES.MOBILE.IPHONE) return\n this.setWebchatElementHeight('100%')\n }\n\n setWebchatElementHeight(newHeight) {\n this.webchat.style.height = newHeight\n }\n}\n"],"file":"webchat-resizer.js"}
|
package/lib/webchat/header.js
DELETED
|
@@ -1,116 +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.WebchatHeader = exports.StyledWebchatHeader = exports.DefaultHeader = void 0;
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
|
-
var _framerMotion = require("framer-motion");
|
|
17
|
-
|
|
18
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
21
|
-
|
|
22
|
-
var _constants = require("../constants");
|
|
23
|
-
|
|
24
|
-
var _contexts = require("../contexts");
|
|
25
|
-
|
|
26
|
-
var _environment = require("../util/environment");
|
|
27
|
-
|
|
28
|
-
var _react2 = require("../util/react");
|
|
29
|
-
|
|
30
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
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 Header = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n background: linear-gradient(\n 90deg,\n ", " 0%,\n ", " 100%\n );\n height: 55px;\n border-radius: ", ";\n z-index: 2;\n"])), _constants.COLORS.BLEACHED_CEDAR_PURPLE, function (props) {
|
|
41
|
-
return props.color;
|
|
42
|
-
}, _constants.WEBCHAT.DEFAULTS.BORDER_RADIUS_TOP_CORNERS);
|
|
43
|
-
|
|
44
|
-
var ImageContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 10px;\n align-items: center;\n"])));
|
|
45
|
-
|
|
46
|
-
var Image = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 32px;\n border-radius: 50%;\n"])));
|
|
47
|
-
|
|
48
|
-
var TextContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n flex: 1 1 auto;\n"])));
|
|
49
|
-
|
|
50
|
-
var Title = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n font-family: inherit;\n font-size: 15px;\n font-weight: bold;\n color: ", ";\n"])), _constants.COLORS.SOLID_WHITE);
|
|
51
|
-
|
|
52
|
-
var Subtitle = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n font-family: inherit;\n font-size: 11px;\n color: ", ";\n"])), _constants.COLORS.SOLID_WHITE);
|
|
53
|
-
|
|
54
|
-
var CloseHeader = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0px 16px;\n cursor: pointer;\n color: ", ";\n font-family: inherit;\n font-size: 36px;\n"])), _constants.COLORS.SOLID_WHITE);
|
|
55
|
-
|
|
56
|
-
var DefaultHeader = function DefaultHeader(props) {
|
|
57
|
-
var getThemeProperty = props.getThemeProperty;
|
|
58
|
-
var animationsEnabled = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.enableAnimations, true);
|
|
59
|
-
var headerImage = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.headerImage, getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.brandImage, _constants.WEBCHAT.DEFAULTS.LOGO));
|
|
60
|
-
var headerTitle = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.headerTitle, _constants.WEBCHAT.DEFAULTS.TITLE);
|
|
61
|
-
var headerSubtitle = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.headerSubtitle, '');
|
|
62
|
-
return /*#__PURE__*/_react["default"].createElement(Header, {
|
|
63
|
-
role: _constants.ROLES.HEADER,
|
|
64
|
-
color: props.color,
|
|
65
|
-
style: _objectSpread({}, getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.headerStyle))
|
|
66
|
-
}, headerImage && /*#__PURE__*/_react["default"].createElement(ImageContainer, null, /*#__PURE__*/_react["default"].createElement(Image, {
|
|
67
|
-
src: (0, _environment.resolveImage)(headerImage)
|
|
68
|
-
})), /*#__PURE__*/_react["default"].createElement(TextContainer, {
|
|
69
|
-
ml: headerImage ? '0px' : '16px'
|
|
70
|
-
}, /*#__PURE__*/_react["default"].createElement(Title, {
|
|
71
|
-
mb: headerSubtitle ? '6px' : '0px'
|
|
72
|
-
}, headerTitle), /*#__PURE__*/_react["default"].createElement(Subtitle, null, headerSubtitle)), /*#__PURE__*/_react["default"].createElement(_react2.ConditionalWrapper, {
|
|
73
|
-
condition: animationsEnabled,
|
|
74
|
-
wrapper: function wrapper(children) {
|
|
75
|
-
return /*#__PURE__*/_react["default"].createElement(_framerMotion.motion.div, {
|
|
76
|
-
whileHover: {
|
|
77
|
-
scale: 1.2
|
|
78
|
-
}
|
|
79
|
-
}, children);
|
|
80
|
-
}
|
|
81
|
-
}, /*#__PURE__*/_react["default"].createElement(CloseHeader, {
|
|
82
|
-
onClick: props.onCloseClick
|
|
83
|
-
}, "\u2A2F")));
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
exports.DefaultHeader = DefaultHeader;
|
|
87
|
-
|
|
88
|
-
var WebchatHeader = function WebchatHeader(props) {
|
|
89
|
-
var _useContext = (0, _react.useContext)(_contexts.WebchatContext),
|
|
90
|
-
webchatState = _useContext.webchatState,
|
|
91
|
-
getThemeProperty = _useContext.getThemeProperty;
|
|
92
|
-
|
|
93
|
-
var handleCloseWebchat = function handleCloseWebchat(event) {
|
|
94
|
-
props.onCloseClick(event.target.value);
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
var CustomHeader = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.customHeader);
|
|
98
|
-
|
|
99
|
-
if (CustomHeader) {
|
|
100
|
-
return /*#__PURE__*/_react["default"].createElement(CustomHeader, {
|
|
101
|
-
onCloseClick: handleCloseWebchat
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
return /*#__PURE__*/_react["default"].createElement(DefaultHeader, {
|
|
106
|
-
webchatState: webchatState,
|
|
107
|
-
getThemeProperty: getThemeProperty,
|
|
108
|
-
color: getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.brandColor, _constants.COLORS.BOTONIC_BLUE),
|
|
109
|
-
onCloseClick: handleCloseWebchat
|
|
110
|
-
});
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
exports.WebchatHeader = WebchatHeader;
|
|
114
|
-
var StyledWebchatHeader = (0, _styledComponents["default"])(WebchatHeader)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 8px 8px 0px 0px;\n box-shadow: ", " 0px 2px 5px;\n height: 36px;\n flex: none;\n"])), _constants.COLORS.PIGEON_POST_BLUE_ALPHA_0_5);
|
|
115
|
-
exports.StyledWebchatHeader = StyledWebchatHeader;
|
|
116
|
-
//# sourceMappingURL=header.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/webchat/header.jsx"],"names":["Header","styled","div","COLORS","BLEACHED_CEDAR_PURPLE","props","color","WEBCHAT","DEFAULTS","BORDER_RADIUS_TOP_CORNERS","ImageContainer","Image","img","TextContainer","Title","SOLID_WHITE","Subtitle","CloseHeader","DefaultHeader","getThemeProperty","animationsEnabled","CUSTOM_PROPERTIES","enableAnimations","headerImage","brandImage","LOGO","headerTitle","TITLE","headerSubtitle","ROLES","HEADER","headerStyle","children","scale","onCloseClick","WebchatHeader","WebchatContext","webchatState","handleCloseWebchat","event","target","value","CustomHeader","customHeader","brandColor","BOTONIC_BLUE","StyledWebchatHeader","PIGEON_POST_BLUE_ALPHA_0_5"],"mappings":"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","sourcesContent":["import { motion } from 'framer-motion'\nimport React, { useContext } from 'react'\nimport styled from 'styled-components'\n\nimport { COLORS, ROLES, WEBCHAT } from '../constants'\nimport { WebchatContext } from '../contexts'\nimport { resolveImage } from '../util/environment'\nimport { ConditionalWrapper } from '../util/react'\n\nconst Header = styled.div`\n display: flex;\n background: linear-gradient(\n 90deg,\n ${COLORS.BLEACHED_CEDAR_PURPLE} 0%,\n ${props => props.color} 100%\n );\n height: 55px;\n border-radius: ${WEBCHAT.DEFAULTS.BORDER_RADIUS_TOP_CORNERS};\n z-index: 2;\n`\n\nconst ImageContainer = styled.div`\n padding: 10px;\n align-items: center;\n`\n\nconst Image = styled.img`\n width: 32px;\n border-radius: 50%;\n`\n\nconst TextContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n flex: 1 1 auto;\n`\n\nconst Title = styled.div`\n display: flex;\n font-family: inherit;\n font-size: 15px;\n font-weight: bold;\n color: ${COLORS.SOLID_WHITE};\n`\n\nconst Subtitle = styled.div`\n display: flex;\n font-family: inherit;\n font-size: 11px;\n color: ${COLORS.SOLID_WHITE};\n`\n\nconst CloseHeader = styled.div`\n padding: 0px 16px;\n cursor: pointer;\n color: ${COLORS.SOLID_WHITE};\n font-family: inherit;\n font-size: 36px;\n`\n\nexport const DefaultHeader = props => {\n const { getThemeProperty } = props\n const animationsEnabled = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.enableAnimations,\n true\n )\n const headerImage = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.headerImage,\n getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.brandImage,\n WEBCHAT.DEFAULTS.LOGO\n )\n )\n\n const headerTitle = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.headerTitle,\n WEBCHAT.DEFAULTS.TITLE\n )\n const headerSubtitle = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.headerSubtitle,\n ''\n )\n\n return (\n <Header\n role={ROLES.HEADER}\n color={props.color}\n style={{ ...getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.headerStyle) }}\n >\n {headerImage && (\n <ImageContainer>\n <Image src={resolveImage(headerImage)} />\n </ImageContainer>\n )}\n <TextContainer ml={headerImage ? '0px' : '16px'}>\n <Title mb={headerSubtitle ? '6px' : '0px'}>{headerTitle}</Title>\n <Subtitle>{headerSubtitle}</Subtitle>\n </TextContainer>\n <ConditionalWrapper\n condition={animationsEnabled}\n wrapper={children => (\n <motion.div whileHover={{ scale: 1.2 }}>{children}</motion.div>\n )}\n >\n <CloseHeader onClick={props.onCloseClick}>⨯</CloseHeader>\n </ConditionalWrapper>\n </Header>\n )\n}\n\nexport const WebchatHeader = props => {\n const { webchatState, getThemeProperty } = useContext(WebchatContext)\n\n const handleCloseWebchat = event => {\n props.onCloseClick(event.target.value)\n }\n const CustomHeader = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.customHeader)\n if (CustomHeader) {\n return <CustomHeader onCloseClick={handleCloseWebchat} />\n }\n return (\n <DefaultHeader\n webchatState={webchatState}\n getThemeProperty={getThemeProperty}\n color={getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.brandColor,\n COLORS.BOTONIC_BLUE\n )}\n onCloseClick={handleCloseWebchat}\n />\n )\n}\n\nexport const StyledWebchatHeader = styled(WebchatHeader)`\n border-radius: 8px 8px 0px 0px;\n box-shadow: ${COLORS.PIGEON_POST_BLUE_ALPHA_0_5} 0px 2px 5px;\n height: 36px;\n flex: none;\n`\n"],"file":"header.js"}
|