@botonic/react 0.30.8-alpha.0 → 0.30.8
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/components/carousel.d.ts +2 -1
- package/lib/cjs/contexts.d.ts +1 -0
- package/lib/cjs/message-utils.d.ts +2 -1
- package/lib/cjs/node-app.d.ts +1 -1
- package/lib/cjs/react-bot.d.ts +2 -1
- package/lib/cjs/webchat/hooks/use-webchat.d.ts +1 -0
- package/lib/cjs/webchat/utils.d.ts +1 -0
- package/lib/cjs/webchat-app.d.ts +4 -3
- package/lib/esm/app.d.ts +2 -0
- package/lib/esm/app.js +6 -0
- package/lib/esm/app.js.map +1 -0
- package/lib/esm/botonic-tester.d.ts +30 -0
- package/lib/esm/botonic-tester.js +78 -0
- package/lib/esm/botonic-tester.js.map +1 -0
- package/lib/esm/components/audio.d.ts +8 -0
- package/lib/esm/components/audio.js +18 -0
- package/lib/esm/components/audio.js.map +1 -0
- package/lib/esm/components/button.d.ts +17 -0
- package/lib/esm/components/button.js +160 -0
- package/lib/esm/components/button.js.map +1 -0
- package/lib/esm/components/buttons-disabler.d.ts +24 -0
- package/lib/esm/components/buttons-disabler.js +84 -0
- package/lib/esm/components/buttons-disabler.js.map +1 -0
- package/lib/esm/components/carousel.d.ts +10 -0
- package/lib/esm/components/carousel.js +105 -0
- package/lib/esm/components/carousel.js.map +1 -0
- package/lib/esm/components/components.d.ts +12 -0
- package/lib/esm/components/components.js +17 -0
- package/lib/esm/components/components.js.map +1 -0
- package/lib/esm/components/custom-message.d.ts +12 -0
- package/lib/esm/components/custom-message.js +56 -0
- package/lib/esm/components/custom-message.js.map +1 -0
- package/lib/esm/components/document.d.ts +8 -0
- package/lib/esm/components/document.js +42 -0
- package/lib/esm/components/document.js.map +1 -0
- package/lib/esm/components/element.d.ts +4 -0
- package/lib/esm/components/element.js +51 -0
- package/lib/esm/components/element.js.map +1 -0
- package/lib/esm/components/handoff.d.ts +1 -0
- package/lib/esm/components/handoff.js +49 -0
- package/lib/esm/components/handoff.js.map +1 -0
- package/lib/esm/components/image.d.ts +8 -0
- package/lib/esm/components/image.js +35 -0
- package/lib/esm/components/image.js.map +1 -0
- package/lib/esm/components/index-types.d.ts +186 -0
- package/lib/esm/components/index-types.js +2 -0
- package/lib/esm/components/index-types.js.map +1 -0
- package/lib/esm/components/index.d.ts +24 -0
- package/lib/esm/components/index.js +25 -0
- package/lib/esm/components/index.js.map +1 -0
- package/lib/esm/components/location.d.ts +11 -0
- package/lib/esm/components/location.js +27 -0
- package/lib/esm/components/location.js.map +1 -0
- package/lib/esm/components/markdown.d.ts +7 -0
- package/lib/esm/components/markdown.js +152 -0
- package/lib/esm/components/markdown.js.map +1 -0
- package/lib/esm/components/message/index.d.ts +1 -0
- package/lib/esm/components/message/index.js +146 -0
- package/lib/esm/components/message/index.js.map +1 -0
- package/lib/esm/components/message/message-feedback.d.ts +7 -0
- package/lib/esm/components/message/message-feedback.js +59 -0
- package/lib/esm/components/message/message-feedback.js.map +1 -0
- package/lib/esm/components/message/message-footer.d.ts +11 -0
- package/lib/esm/components/message/message-footer.js +17 -0
- package/lib/esm/components/message/message-footer.js.map +1 -0
- package/lib/esm/components/message/message-image.d.ts +7 -0
- package/lib/esm/components/message/message-image.js +19 -0
- package/lib/esm/components/message/message-image.js.map +1 -0
- package/lib/esm/components/message/styles.d.ts +33 -0
- package/lib/esm/components/message/styles.js +118 -0
- package/lib/esm/components/message/styles.js.map +1 -0
- package/lib/esm/components/message/timestamps.d.ts +13 -0
- package/lib/esm/components/message/timestamps.js +40 -0
- package/lib/esm/components/message/timestamps.js.map +1 -0
- package/lib/esm/components/message-template.d.ts +1 -0
- package/lib/esm/components/message-template.js +9 -0
- package/lib/esm/components/message-template.js.map +1 -0
- package/lib/esm/components/multichannel/facebook/facebook.d.ts +17 -0
- package/lib/esm/components/multichannel/facebook/facebook.js +43 -0
- package/lib/esm/components/multichannel/facebook/facebook.js.map +1 -0
- package/lib/esm/components/multichannel/index-types.d.ts +46 -0
- package/lib/esm/components/multichannel/index-types.js +2 -0
- package/lib/esm/components/multichannel/index-types.js.map +1 -0
- package/lib/esm/components/multichannel/index.d.ts +11 -0
- package/lib/esm/components/multichannel/index.js +12 -0
- package/lib/esm/components/multichannel/index.js.map +1 -0
- package/lib/esm/components/multichannel/multichannel-button.d.ts +1 -0
- package/lib/esm/components/multichannel/multichannel-button.js +67 -0
- package/lib/esm/components/multichannel/multichannel-button.js.map +1 -0
- package/lib/esm/components/multichannel/multichannel-carousel.d.ts +1 -0
- package/lib/esm/components/multichannel/multichannel-carousel.js +74 -0
- package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -0
- package/lib/esm/components/multichannel/multichannel-context.d.ts +11 -0
- package/lib/esm/components/multichannel/multichannel-context.js +12 -0
- package/lib/esm/components/multichannel/multichannel-context.js.map +1 -0
- package/lib/esm/components/multichannel/multichannel-reply.d.ts +1 -0
- package/lib/esm/components/multichannel/multichannel-reply.js +20 -0
- package/lib/esm/components/multichannel/multichannel-reply.js.map +1 -0
- package/lib/esm/components/multichannel/multichannel-text.d.ts +1 -0
- package/lib/esm/components/multichannel/multichannel-text.js +160 -0
- package/lib/esm/components/multichannel/multichannel-text.js.map +1 -0
- package/lib/esm/components/multichannel/multichannel-utils.d.ts +21 -0
- package/lib/esm/components/multichannel/multichannel-utils.js +81 -0
- package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -0
- package/lib/esm/components/multichannel/multichannel.d.ts +1 -0
- package/lib/esm/components/multichannel/multichannel.js +57 -0
- package/lib/esm/components/multichannel/multichannel.js.map +1 -0
- package/lib/esm/components/multichannel/whatsapp/constants.d.ts +11 -0
- package/lib/esm/components/multichannel/whatsapp/constants.js +10 -0
- package/lib/esm/components/multichannel/whatsapp/constants.js.map +1 -0
- package/lib/esm/components/multichannel/whatsapp/markdown-meta.d.ts +1 -0
- package/lib/esm/components/multichannel/whatsapp/markdown-meta.js +38 -0
- package/lib/esm/components/multichannel/whatsapp/markdown-meta.js.map +1 -0
- package/lib/esm/components/pic.d.ts +6 -0
- package/lib/esm/components/pic.js +25 -0
- package/lib/esm/components/pic.js.map +1 -0
- package/lib/esm/components/raw.d.ts +9 -0
- package/lib/esm/components/raw.js +39 -0
- package/lib/esm/components/raw.js.map +1 -0
- package/lib/esm/components/reply.d.ts +9 -0
- package/lib/esm/components/reply.js +49 -0
- package/lib/esm/components/reply.js.map +1 -0
- package/lib/esm/components/share-button.d.ts +1 -0
- package/lib/esm/components/share-button.js +9 -0
- package/lib/esm/components/share-button.js.map +1 -0
- package/lib/esm/components/subtitle.d.ts +6 -0
- package/lib/esm/components/subtitle.js +19 -0
- package/lib/esm/components/subtitle.js.map +1 -0
- package/lib/esm/components/text.d.ts +7 -0
- package/lib/esm/components/text.js +40 -0
- package/lib/esm/components/text.js.map +1 -0
- package/lib/esm/components/title.d.ts +6 -0
- package/lib/esm/components/title.js +17 -0
- package/lib/esm/components/title.js.map +1 -0
- package/lib/esm/components/video.d.ts +8 -0
- package/lib/esm/components/video.js +26 -0
- package/lib/esm/components/video.js.map +1 -0
- package/lib/esm/components/webchat-settings.d.ts +3 -0
- package/lib/esm/components/webchat-settings.js +69 -0
- package/lib/esm/components/webchat-settings.js.map +1 -0
- package/lib/esm/components/whatsapp-button-list.d.ts +20 -0
- package/lib/esm/components/whatsapp-button-list.js +47 -0
- package/lib/esm/components/whatsapp-button-list.js.map +1 -0
- package/lib/esm/components/whatsapp-cta-url-button.d.ts +15 -0
- package/lib/esm/components/whatsapp-cta-url-button.js +33 -0
- package/lib/esm/components/whatsapp-cta-url-button.js.map +1 -0
- package/lib/esm/components/whatsapp-template.d.ts +1 -0
- package/lib/esm/components/whatsapp-template.js +20 -0
- package/lib/esm/components/whatsapp-template.js.map +1 -0
- package/lib/esm/constants.d.ts +165 -0
- package/lib/esm/constants.js +187 -0
- package/lib/esm/constants.js.map +1 -0
- package/lib/esm/contexts.d.ts +19 -0
- package/lib/esm/contexts.js +95 -0
- package/lib/esm/contexts.js.map +1 -0
- package/lib/esm/dev-app.d.ts +31 -0
- package/lib/esm/dev-app.js +78 -0
- package/lib/esm/dev-app.js.map +1 -0
- package/lib/esm/index-types.d.ts +150 -0
- package/lib/esm/index-types.js +12 -0
- package/lib/esm/index-types.js.map +1 -0
- package/lib/esm/index.d.ts +11 -0
- package/lib/esm/index.js +12 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/message-utils.d.ts +19 -0
- package/lib/esm/message-utils.js +41 -0
- package/lib/esm/message-utils.js.map +1 -0
- package/lib/esm/msg-to-botonic.d.ts +18 -0
- package/lib/esm/msg-to-botonic.js +135 -0
- package/lib/esm/msg-to-botonic.js.map +1 -0
- package/lib/esm/node-app.d.ts +7 -0
- package/lib/esm/node-app.js +19 -0
- package/lib/esm/node-app.js.map +1 -0
- package/lib/esm/react-bot.d.ts +8 -0
- package/lib/esm/react-bot.js +32 -0
- package/lib/esm/react-bot.js.map +1 -0
- package/lib/esm/shared/styles.d.ts +2 -0
- package/lib/esm/shared/styles.js +28 -0
- package/lib/esm/shared/styles.js.map +1 -0
- package/lib/esm/util/dom.d.ts +4 -0
- package/lib/esm/util/dom.js +24 -0
- package/lib/esm/util/dom.js.map +1 -0
- package/lib/esm/util/environment.d.ts +6 -0
- package/lib/esm/util/environment.js +61 -0
- package/lib/esm/util/environment.js.map +1 -0
- package/lib/esm/util/error-boundary.d.ts +7 -0
- package/lib/esm/util/error-boundary.js +28 -0
- package/lib/esm/util/error-boundary.js.map +1 -0
- package/lib/esm/util/index.d.ts +9 -0
- package/lib/esm/util/index.js +10 -0
- package/lib/esm/util/index.js.map +1 -0
- package/lib/esm/util/logs.d.ts +2 -0
- package/lib/esm/util/logs.js +15 -0
- package/lib/esm/util/logs.js.map +1 -0
- package/lib/esm/util/objects.d.ts +3 -0
- package/lib/esm/util/objects.js +38 -0
- package/lib/esm/util/objects.js.map +1 -0
- package/lib/esm/util/react.d.ts +12 -0
- package/lib/esm/util/react.js +34 -0
- package/lib/esm/util/react.js.map +1 -0
- package/lib/esm/util/regexs.d.ts +2 -0
- package/lib/esm/util/regexs.js +18 -0
- package/lib/esm/util/regexs.js.map +1 -0
- package/lib/esm/util/strings.d.ts +1 -0
- package/lib/esm/util/strings.js +7 -0
- package/lib/esm/util/strings.js.map +1 -0
- package/lib/esm/util/webchat.d.ts +11 -0
- package/lib/esm/util/webchat.js +53 -0
- package/lib/esm/util/webchat.js.map +1 -0
- package/lib/esm/util/webviews.d.ts +1 -0
- package/lib/esm/util/webviews.js +6 -0
- package/lib/esm/util/webviews.js.map +1 -0
- package/lib/esm/webchat/actions.d.ts +27 -0
- package/lib/esm/webchat/actions.js +29 -0
- package/lib/esm/webchat/actions.js.map +1 -0
- package/lib/esm/webchat/chat-area/index.d.ts +1 -0
- package/lib/esm/webchat/chat-area/index.js +18 -0
- package/lib/esm/webchat/chat-area/index.js.map +1 -0
- package/lib/esm/webchat/chat-area/styles.d.ts +3 -0
- package/lib/esm/webchat/chat-area/styles.js +9 -0
- package/lib/esm/webchat/chat-area/styles.js.map +1 -0
- package/lib/esm/webchat/components/common.d.ts +1 -0
- package/lib/esm/webchat/components/common.js +9 -0
- package/lib/esm/webchat/components/common.js.map +1 -0
- package/lib/esm/webchat/components/conditional-animation.d.ts +1 -0
- package/lib/esm/webchat/components/conditional-animation.js +12 -0
- package/lib/esm/webchat/components/conditional-animation.js.map +1 -0
- package/lib/esm/webchat/components/opened-persistent-menu.d.ts +6 -0
- package/lib/esm/webchat/components/opened-persistent-menu.js +30 -0
- package/lib/esm/webchat/components/opened-persistent-menu.js.map +1 -0
- package/lib/esm/webchat/constants.d.ts +8 -0
- package/lib/esm/webchat/constants.js +10 -0
- package/lib/esm/webchat/constants.js.map +1 -0
- package/lib/esm/webchat/cover-component/index.d.ts +6 -0
- package/lib/esm/webchat/cover-component/index.js +17 -0
- package/lib/esm/webchat/cover-component/index.js.map +1 -0
- package/lib/esm/webchat/devices/index.d.ts +11 -0
- package/lib/esm/webchat/devices/index.js +18 -0
- package/lib/esm/webchat/devices/index.js.map +1 -0
- package/lib/esm/webchat/header.d.ts +3 -0
- package/lib/esm/webchat/header.js +81 -0
- package/lib/esm/webchat/header.js.map +1 -0
- package/lib/esm/webchat/hooks/index.d.ts +11 -0
- package/lib/esm/webchat/hooks/index.js +12 -0
- package/lib/esm/webchat/hooks/index.js.map +1 -0
- package/lib/esm/webchat/hooks/use-component-visible.d.ts +8 -0
- package/lib/esm/webchat/hooks/use-component-visible.js +20 -0
- package/lib/esm/webchat/hooks/use-component-visible.js.map +1 -0
- package/lib/esm/webchat/hooks/use-component-will-mount.d.ts +1 -0
- package/lib/esm/webchat/hooks/use-component-will-mount.js +5 -0
- package/lib/esm/webchat/hooks/use-component-will-mount.js.map +1 -0
- package/lib/esm/webchat/hooks/use-device-adapter.d.ts +3 -0
- package/lib/esm/webchat/hooks/use-device-adapter.js +42 -0
- package/lib/esm/webchat/hooks/use-device-adapter.js.map +1 -0
- package/lib/esm/webchat/hooks/use-previous.d.ts +1 -0
- package/lib/esm/webchat/hooks/use-previous.js +9 -0
- package/lib/esm/webchat/hooks/use-previous.js.map +1 -0
- package/lib/esm/webchat/hooks/use-scroll-to-bottom.d.ts +6 -0
- package/lib/esm/webchat/hooks/use-scroll-to-bottom.js +18 -0
- package/lib/esm/webchat/hooks/use-scroll-to-bottom.js.map +1 -0
- package/lib/esm/webchat/hooks/use-scrollbar-controller.d.ts +6 -0
- package/lib/esm/webchat/hooks/use-scrollbar-controller.js +136 -0
- package/lib/esm/webchat/hooks/use-scrollbar-controller.js.map +1 -0
- package/lib/esm/webchat/hooks/use-typing.d.ts +10 -0
- package/lib/esm/webchat/hooks/use-typing.js +28 -0
- package/lib/esm/webchat/hooks/use-typing.js.map +1 -0
- package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.d.ts +3 -0
- package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js +24 -0
- package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js.map +1 -0
- package/lib/esm/webchat/hooks/use-webchat-dimensions.d.ts +4 -0
- package/lib/esm/webchat/hooks/use-webchat-dimensions.js +36 -0
- package/lib/esm/webchat/hooks/use-webchat-dimensions.js.map +1 -0
- package/lib/esm/webchat/hooks/use-webchat-resizer.d.ts +4 -0
- package/lib/esm/webchat/hooks/use-webchat-resizer.js +30 -0
- package/lib/esm/webchat/hooks/use-webchat-resizer.js.map +1 -0
- package/lib/esm/webchat/hooks/use-webchat.d.ts +47 -0
- package/lib/esm/webchat/hooks/use-webchat.js +189 -0
- package/lib/esm/webchat/hooks/use-webchat.js.map +1 -0
- package/lib/esm/webchat/index-types.d.ts +62 -0
- package/lib/esm/webchat/index-types.js +2 -0
- package/lib/esm/webchat/index-types.js.map +1 -0
- package/lib/esm/webchat/index.d.ts +4 -0
- package/lib/esm/webchat/index.js +10 -0
- package/lib/esm/webchat/index.js.map +1 -0
- package/lib/esm/webchat/input-panel/attachment.d.ts +7 -0
- package/lib/esm/webchat/input-panel/attachment.js +26 -0
- package/lib/esm/webchat/input-panel/attachment.js.map +1 -0
- package/lib/esm/webchat/input-panel/emoji-picker.d.ts +6 -0
- package/lib/esm/webchat/input-panel/emoji-picker.js +23 -0
- package/lib/esm/webchat/input-panel/emoji-picker.js.map +1 -0
- package/lib/esm/webchat/input-panel/index.d.ts +12 -0
- package/lib/esm/webchat/input-panel/index.js +50 -0
- package/lib/esm/webchat/input-panel/index.js.map +1 -0
- package/lib/esm/webchat/input-panel/opened-emoji-picker.d.ts +6 -0
- package/lib/esm/webchat/input-panel/opened-emoji-picker.js +10 -0
- package/lib/esm/webchat/input-panel/opened-emoji-picker.js.map +1 -0
- package/lib/esm/webchat/input-panel/persistent-menu.d.ts +6 -0
- package/lib/esm/webchat/input-panel/persistent-menu.js +14 -0
- package/lib/esm/webchat/input-panel/persistent-menu.js.map +1 -0
- package/lib/esm/webchat/input-panel/send-button.d.ts +5 -0
- package/lib/esm/webchat/input-panel/send-button.js +14 -0
- package/lib/esm/webchat/input-panel/send-button.js.map +1 -0
- package/lib/esm/webchat/input-panel/styles.d.ts +3 -0
- package/lib/esm/webchat/input-panel/styles.js +27 -0
- package/lib/esm/webchat/input-panel/styles.js.map +1 -0
- package/lib/esm/webchat/input-panel/textarea.d.ts +11 -0
- package/lib/esm/webchat/input-panel/textarea.js +56 -0
- package/lib/esm/webchat/input-panel/textarea.js.map +1 -0
- package/lib/esm/webchat/message-list/index.d.ts +1 -0
- package/lib/esm/webchat/message-list/index.js +107 -0
- package/lib/esm/webchat/message-list/index.js.map +1 -0
- package/lib/esm/webchat/message-list/intro-message.d.ts +1 -0
- package/lib/esm/webchat/message-list/intro-message.js +18 -0
- package/lib/esm/webchat/message-list/intro-message.js.map +1 -0
- package/lib/esm/webchat/message-list/scroll-button.d.ts +5 -0
- package/lib/esm/webchat/message-list/scroll-button.js +12 -0
- package/lib/esm/webchat/message-list/scroll-button.js.map +1 -0
- package/lib/esm/webchat/message-list/styles.d.ts +5 -0
- package/lib/esm/webchat/message-list/styles.js +56 -0
- package/lib/esm/webchat/message-list/styles.js.map +1 -0
- package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +6 -0
- package/lib/esm/webchat/message-list/unread-messages-banner.js +13 -0
- package/lib/esm/webchat/message-list/unread-messages-banner.js.map +1 -0
- package/lib/esm/webchat/message-list/use-debounce.d.ts +1 -0
- package/lib/esm/webchat/message-list/use-debounce.js +14 -0
- package/lib/esm/webchat/message-list/use-debounce.js.map +1 -0
- package/lib/esm/webchat/message-list/use-notifications.d.ts +7 -0
- package/lib/esm/webchat/message-list/use-notifications.js +20 -0
- package/lib/esm/webchat/message-list/use-notifications.js.map +1 -0
- package/lib/esm/webchat/messages-reducer.d.ts +6 -0
- package/lib/esm/webchat/messages-reducer.js +83 -0
- package/lib/esm/webchat/messages-reducer.js.map +1 -0
- package/lib/esm/webchat/replies.d.ts +1 -0
- package/lib/esm/webchat/replies.js +42 -0
- package/lib/esm/webchat/replies.js.map +1 -0
- package/lib/esm/webchat/session-view.d.ts +1 -0
- package/lib/esm/webchat/session-view.js +96 -0
- package/lib/esm/webchat/session-view.js.map +1 -0
- package/lib/esm/webchat/tracking.d.ts +7 -0
- package/lib/esm/webchat/tracking.js +10 -0
- package/lib/esm/webchat/tracking.js.map +1 -0
- package/lib/esm/webchat/trigger-button/index.d.ts +1 -0
- package/lib/esm/webchat/trigger-button/index.js +28 -0
- package/lib/esm/webchat/trigger-button/index.js.map +1 -0
- package/lib/esm/webchat/trigger-button/styles.d.ts +3 -0
- package/lib/esm/webchat/trigger-button/styles.js +36 -0
- package/lib/esm/webchat/trigger-button/styles.js.map +1 -0
- package/lib/esm/webchat/typing-indicator/index.d.ts +3 -0
- package/lib/esm/webchat/typing-indicator/index.js +8 -0
- package/lib/esm/webchat/typing-indicator/index.js.map +1 -0
- package/lib/esm/webchat/typing-indicator/styles.d.ts +7 -0
- package/lib/esm/webchat/typing-indicator/styles.js +46 -0
- package/lib/esm/webchat/typing-indicator/styles.js.map +1 -0
- package/lib/esm/webchat/use-storage-state-hook.d.ts +1 -0
- package/lib/esm/webchat/use-storage-state-hook.js +38 -0
- package/lib/esm/webchat/use-storage-state-hook.js.map +1 -0
- package/lib/esm/webchat/utils.d.ts +2 -0
- package/lib/esm/webchat/utils.js +8 -0
- package/lib/esm/webchat/utils.js.map +1 -0
- package/lib/esm/webchat/webchat-dev.d.ts +7 -0
- package/lib/esm/webchat/webchat-dev.js +56 -0
- package/lib/esm/webchat/webchat-dev.js.map +1 -0
- package/lib/esm/webchat/webchat-reducer.d.ts +6 -0
- package/lib/esm/webchat/webchat-reducer.js +46 -0
- package/lib/esm/webchat/webchat-reducer.js.map +1 -0
- package/lib/esm/webchat/webchat.d.ts +2 -0
- package/lib/esm/webchat/webchat.js +543 -0
- package/lib/esm/webchat/webchat.js.map +1 -0
- package/lib/esm/webchat/webview.d.ts +2 -0
- package/lib/esm/webchat/webview.js +70 -0
- package/lib/esm/webchat/webview.js.map +1 -0
- package/lib/esm/webchat-app.d.ts +102 -0
- package/lib/esm/webchat-app.js +299 -0
- package/lib/esm/webchat-app.js.map +1 -0
- package/lib/esm/webview-app.d.ts +7 -0
- package/lib/esm/webview-app.js +102 -0
- package/lib/esm/webview-app.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/util/react.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CACrE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;AAE1C,MAAM,UAAU,eAAe,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE;IAC3D,IAAI,SAAS,EAAE;QAAE,OAAO,aAAa,EAAE,CAAA;SAClC,IAAI,MAAM,EAAE;QAAE,OAAO,UAAU,EAAE,CAAA;IACtC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC,EAAE;IAC7C,kHAAkH;IAClH,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACrC,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3D,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACrB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE,CAC5B,cAAc,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;AAE5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,EAAE,CAC1C,WAAW,CAAC,OAAO,CAAC;IACpB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC7C,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC,EACtD,KAAK,CACN,CAAA;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;IACtD,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACrD,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;YACtD,qDAAqD;YACrD,OAAO,SAAS,CACd,YAAY,CACV,KAAK,EACL,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC5C,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC;aAC5D,CAAC,CACH,EACD,KAAK,EACL,QAAQ,CACT,CAAA;SACF;QACD,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const deserializeRegex = regexStr => {
|
|
2
|
+
/* eslint-disable no-useless-escape */
|
|
3
|
+
const fragments = regexStr.match(/\/(.[^\/]+)\/([a-z]{1})?$/i); // https://stackoverflow.com/a/33642463, https://github.com/hubtype/botonic/pull/805#discussion_r437309074
|
|
4
|
+
const deserialized = new RegExp(fragments[1], fragments[2] || '');
|
|
5
|
+
return deserialized;
|
|
6
|
+
};
|
|
7
|
+
/** Serialization of objects containing regexs:
|
|
8
|
+
* Ref.: https://stackoverflow.com/questions/12075927/serialization-of-regexp
|
|
9
|
+
* Ref.: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
|
|
10
|
+
*/
|
|
11
|
+
export const stringifyWithRegexs = object => {
|
|
12
|
+
return JSON.stringify(object, (_, value) => {
|
|
13
|
+
if (value instanceof RegExp)
|
|
14
|
+
return value.toString();
|
|
15
|
+
return value;
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=regexs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regexs.js","sourceRoot":"","sources":["../../../src/util/regexs.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,EAAE;IACzC,sCAAsC;IACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA,CAAC,0GAA0G;IACzK,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACjE,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AACD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,EAAE;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACzC,IAAI,KAAK,YAAY,MAAM;YAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;QACpD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const truncateText: (text: any, maxLength: any, ellipsis?: string) => any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../../../src/util/strings.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE;IAChE,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAA;KACjE;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function _getThemeProperty(theme: any): (property: any, defaultValue?: undefined) => any;
|
|
2
|
+
export function createUser(): {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
};
|
|
6
|
+
export function initSession(session: any): any;
|
|
7
|
+
export function shouldKeepSessionOnReload({ initialDevSettings, devSettings, }: {
|
|
8
|
+
initialDevSettings: any;
|
|
9
|
+
devSettings: any;
|
|
10
|
+
}): any;
|
|
11
|
+
export function getServerErrorMessage(serverConfig: any): any;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import merge from 'lodash.merge';
|
|
2
|
+
import UAParser from 'ua-parser-js';
|
|
3
|
+
import { v7 as uuidv7 } from 'uuid';
|
|
4
|
+
import { WEBCHAT } from '../constants';
|
|
5
|
+
import { getProperty } from './objects';
|
|
6
|
+
/**
|
|
7
|
+
* Returns the value of a property defined in bot's theme based on WEBCHAT.CUSTOM_PROPERTIES dictionary.
|
|
8
|
+
* It gives preference to nested defined properties (e.g.: header.style) over plain properties (e.g.: headerStyle).
|
|
9
|
+
* If property doesn't exist, returns the defaultValue.
|
|
10
|
+
*/
|
|
11
|
+
export const _getThemeProperty = theme => (property, defaultValue = undefined) => {
|
|
12
|
+
for (const [k, v] of Object.entries(WEBCHAT.CUSTOM_PROPERTIES)) {
|
|
13
|
+
if (v == property) {
|
|
14
|
+
const nestedProperty = getProperty(theme, v);
|
|
15
|
+
if (nestedProperty !== undefined)
|
|
16
|
+
return nestedProperty;
|
|
17
|
+
const plainProperty = getProperty(theme, k);
|
|
18
|
+
if (plainProperty !== undefined)
|
|
19
|
+
return plainProperty;
|
|
20
|
+
return defaultValue;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return undefined;
|
|
24
|
+
};
|
|
25
|
+
export const createUser = () => {
|
|
26
|
+
const parser = new UAParser();
|
|
27
|
+
const ua = parser.getResult();
|
|
28
|
+
let name = `${ua.os.name} ${ua.browser.name}`;
|
|
29
|
+
if (ua.device && ua.device.type)
|
|
30
|
+
name = `${ua.device.type} ${name}`;
|
|
31
|
+
return {
|
|
32
|
+
id: uuidv7(),
|
|
33
|
+
name,
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export const initSession = session => {
|
|
37
|
+
if (!session)
|
|
38
|
+
session = {};
|
|
39
|
+
const hasUserId = session.user && session.user.id !== undefined;
|
|
40
|
+
if (!session.user || Object.keys(session.user).length === 0 || !hasUserId)
|
|
41
|
+
session.user = !hasUserId ? merge(session.user, createUser()) : createUser();
|
|
42
|
+
return session;
|
|
43
|
+
};
|
|
44
|
+
export const shouldKeepSessionOnReload = ({ initialDevSettings, devSettings, }) => !initialDevSettings || (devSettings && devSettings.keepSessionOnReload);
|
|
45
|
+
export const getServerErrorMessage = serverConfig => {
|
|
46
|
+
if (!serverConfig || !serverConfig.errorMessage)
|
|
47
|
+
return 'Connection issues';
|
|
48
|
+
if (typeof serverConfig.errorMessage === 'function') {
|
|
49
|
+
return serverConfig.errorMessage();
|
|
50
|
+
}
|
|
51
|
+
return serverConfig.errorMessage;
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=webchat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../src/util/webchat.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,KAAK,CAAC,EAAE,CACR,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAAE,EAAE;IACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;QAC9D,IAAI,CAAC,IAAI,QAAQ,EAAE;YACjB,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC5C,IAAI,cAAc,KAAK,SAAS;gBAAE,OAAO,cAAc,CAAA;YACvD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC3C,IAAI,aAAa,KAAK,SAAS;gBAAE,OAAO,aAAa,CAAA;YACrD,OAAO,YAAY,CAAA;SACpB;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IAC7B,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAC7C,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI;QAAE,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAA;IACnE,OAAO;QACL,EAAE,EAAE,MAAM,EAAE;QACZ,IAAI;KACL,CAAA;AACH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,EAAE,CAAA;IAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAA;IAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS;QACvE,OAAO,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;IAC9E,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACxC,kBAAkB,EAClB,WAAW,GACZ,EAAE,EAAE,CAAC,CAAC,kBAAkB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,mBAAmB,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC,EAAE;IAClD,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,YAAY;QAAE,OAAO,mBAAmB,CAAA;IAC3E,IAAI,OAAO,YAAY,CAAC,YAAY,KAAK,UAAU,EAAE;QACnD,OAAO,YAAY,CAAC,YAAY,EAAE,CAAA;KACnC;IACD,OAAO,YAAY,CAAC,YAAY,CAAA;AAClC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function generateWebviewUrlWithParams(webview: any, params?: any): string;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { params2queryString } from '@botonic/core';
|
|
2
|
+
export function generateWebviewUrlWithParams(webview, params = '') {
|
|
3
|
+
const webviewParams = params ? params2queryString(params) : '';
|
|
4
|
+
return `/webviews/${webview.name}?${webviewParams}`;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=webviews.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webviews.js","sourceRoot":"","sources":["../../../src/util/webviews.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,UAAU,4BAA4B,CAC1C,OAAY,EACZ,SAAc,EAAE;IAEhB,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,OAAO,aAAa,OAAO,CAAC,IAAI,IAAI,aAAa,EAAE,CAAA;AACrD,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare enum WebchatAction {
|
|
2
|
+
ADD_MESSAGE = "addMessage",
|
|
3
|
+
ADD_MESSAGE_COMPONENT = "addMessageComponent",
|
|
4
|
+
CLEAR_MESSAGES = "clearMessages",
|
|
5
|
+
DO_RENDER_CUSTOM_COMPONENT = "doRenderCustomComponent",
|
|
6
|
+
RESET_UNREAD_MESSAGES = "resetUnreadMessages",
|
|
7
|
+
SET_CURRENT_ATTACHMENT = "setCurrentAttachment",
|
|
8
|
+
SET_ERROR = "setError",
|
|
9
|
+
SET_LAST_MESSAGE_VISIBLE = "setlastMessageVisible",
|
|
10
|
+
SET_ONLINE = "setOnline",
|
|
11
|
+
TOGGLE_COVER_COMPONENT = "toggleCoverComponent",
|
|
12
|
+
TOGGLE_EMOJI_PICKER = "toggleEmojiPicker",
|
|
13
|
+
TOGGLE_PERSISTENT_MENU = "togglePersistentMenu",
|
|
14
|
+
TOGGLE_WEBCHAT = "toggleWebchat",
|
|
15
|
+
UPDATE_DEV_SETTINGS = "updateDevSettings",
|
|
16
|
+
UPDATE_HANDOFF = "updateHandoff",
|
|
17
|
+
UPDATE_LAST_MESSAGE_DATE = "updateLastMessageDate",
|
|
18
|
+
UPDATE_LAST_ROUTE_PATH = "updateLastRoutePath",
|
|
19
|
+
UPDATE_LATEST_INPUT = "updateLatestInput",
|
|
20
|
+
UPDATE_MESSAGE = "updateMessage",
|
|
21
|
+
UPDATE_REPLIES = "updateReplies",
|
|
22
|
+
UPDATE_SESSION = "updateSession",
|
|
23
|
+
UPDATE_THEME = "updateTheme",
|
|
24
|
+
UPDATE_TYPING = "updateTyping",
|
|
25
|
+
UPDATE_WEBVIEW = "updateWebview",
|
|
26
|
+
SET_IS_INPUT_FOCUSED = "setIsInputFocused"
|
|
27
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export var WebchatAction;
|
|
2
|
+
(function (WebchatAction) {
|
|
3
|
+
WebchatAction["ADD_MESSAGE"] = "addMessage";
|
|
4
|
+
WebchatAction["ADD_MESSAGE_COMPONENT"] = "addMessageComponent";
|
|
5
|
+
WebchatAction["CLEAR_MESSAGES"] = "clearMessages";
|
|
6
|
+
WebchatAction["DO_RENDER_CUSTOM_COMPONENT"] = "doRenderCustomComponent";
|
|
7
|
+
WebchatAction["RESET_UNREAD_MESSAGES"] = "resetUnreadMessages";
|
|
8
|
+
WebchatAction["SET_CURRENT_ATTACHMENT"] = "setCurrentAttachment";
|
|
9
|
+
WebchatAction["SET_ERROR"] = "setError";
|
|
10
|
+
WebchatAction["SET_LAST_MESSAGE_VISIBLE"] = "setlastMessageVisible";
|
|
11
|
+
WebchatAction["SET_ONLINE"] = "setOnline";
|
|
12
|
+
WebchatAction["TOGGLE_COVER_COMPONENT"] = "toggleCoverComponent";
|
|
13
|
+
WebchatAction["TOGGLE_EMOJI_PICKER"] = "toggleEmojiPicker";
|
|
14
|
+
WebchatAction["TOGGLE_PERSISTENT_MENU"] = "togglePersistentMenu";
|
|
15
|
+
WebchatAction["TOGGLE_WEBCHAT"] = "toggleWebchat";
|
|
16
|
+
WebchatAction["UPDATE_DEV_SETTINGS"] = "updateDevSettings";
|
|
17
|
+
WebchatAction["UPDATE_HANDOFF"] = "updateHandoff";
|
|
18
|
+
WebchatAction["UPDATE_LAST_MESSAGE_DATE"] = "updateLastMessageDate";
|
|
19
|
+
WebchatAction["UPDATE_LAST_ROUTE_PATH"] = "updateLastRoutePath";
|
|
20
|
+
WebchatAction["UPDATE_LATEST_INPUT"] = "updateLatestInput";
|
|
21
|
+
WebchatAction["UPDATE_MESSAGE"] = "updateMessage";
|
|
22
|
+
WebchatAction["UPDATE_REPLIES"] = "updateReplies";
|
|
23
|
+
WebchatAction["UPDATE_SESSION"] = "updateSession";
|
|
24
|
+
WebchatAction["UPDATE_THEME"] = "updateTheme";
|
|
25
|
+
WebchatAction["UPDATE_TYPING"] = "updateTyping";
|
|
26
|
+
WebchatAction["UPDATE_WEBVIEW"] = "updateWebview";
|
|
27
|
+
WebchatAction["SET_IS_INPUT_FOCUSED"] = "setIsInputFocused";
|
|
28
|
+
})(WebchatAction || (WebchatAction = {}));
|
|
29
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/webchat/actions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aA0BX;AA1BD,WAAY,aAAa;IACvB,2CAA0B,CAAA;IAC1B,8DAA6C,CAAA;IAC7C,iDAAgC,CAAA;IAChC,uEAAsD,CAAA;IACtD,8DAA6C,CAAA;IAC7C,gEAA+C,CAAA;IAC/C,uCAAsB,CAAA;IACtB,mEAAkD,CAAA;IAClD,yCAAwB,CAAA;IACxB,gEAA+C,CAAA;IAC/C,0DAAyC,CAAA;IACzC,gEAA+C,CAAA;IAC/C,iDAAgC,CAAA;IAChC,0DAAyC,CAAA;IACzC,iDAAgC,CAAA;IAChC,mEAAkD,CAAA;IAClD,+DAA8C,CAAA;IAC9C,0DAAyC,CAAA;IACzC,iDAAgC,CAAA;IAChC,iDAAgC,CAAA;IAChC,iDAAgC,CAAA;IAChC,6CAA4B,CAAA;IAC5B,+CAA8B,CAAA;IAC9B,iDAAgC,CAAA;IAChC,2DAA0C,CAAA;AAC5C,CAAC,EA1BW,aAAa,KAAb,aAAa,QA0BxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ChatArea: () => JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useContext, useEffect, useState } from 'react';
|
|
3
|
+
import { WebchatContext } from '../../contexts';
|
|
4
|
+
import { BotonicContainerId } from '../constants';
|
|
5
|
+
import { useWebchatDimensions } from '../hooks';
|
|
6
|
+
import { WebchatMessageList } from '../message-list';
|
|
7
|
+
import { WebchatReplies } from '../replies';
|
|
8
|
+
import { StyledChatArea } from './styles';
|
|
9
|
+
export const ChatArea = () => {
|
|
10
|
+
const { webchatState: { replies }, chatAreaRef, } = useContext(WebchatContext);
|
|
11
|
+
const { calculateResizedPxChatAreaHeight } = useWebchatDimensions();
|
|
12
|
+
const [chatAreaHeight, setChatAreaHeight] = useState(0);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
setChatAreaHeight(calculateResizedPxChatAreaHeight());
|
|
15
|
+
}, []);
|
|
16
|
+
return (_jsxs(StyledChatArea, Object.assign({ id: BotonicContainerId.ChatArea, ref: chatAreaRef, height: chatAreaHeight }, { children: [_jsx(WebchatMessageList, {}), replies && Object.keys(replies).length > 0 && (_jsx(WebchatReplies, { replies: replies }))] })));
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/webchat/chat-area/index.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,EACJ,YAAY,EAAE,EAAE,OAAO,EAAE,EACzB,WAAW,GACZ,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAE9B,MAAM,EAAE,gCAAgC,EAAE,GAAG,oBAAoB,EAAE,CAAA;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,CAAC,gCAAgC,EAAE,CAAC,CAAA;IACvD,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CACL,MAAC,cAAc,kBACb,EAAE,EAAE,kBAAkB,CAAC,QAAQ,EAC/B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,cAAc,iBAEtB,KAAC,kBAAkB,KAAG,EACrB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7C,KAAC,cAAc,IAAC,OAAO,EAAE,OAAO,GAAI,CACrC,KACc,CAClB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/webchat/chat-area/styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAoB;;;YAGhD,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM;;;CAGhC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function Icon(props: any): JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import { resolveImage } from '../../util/environment';
|
|
5
|
+
const PointerImage = styled.img `
|
|
6
|
+
cursor: pointer;
|
|
7
|
+
`;
|
|
8
|
+
export const Icon = props => _jsx(PointerImage, { src: resolveImage(props.src) });
|
|
9
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/webchat/components/common.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAA;;CAE9B,CAAA;AACD,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,KAAC,YAAY,IAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function ConditionalAnimation(props: any): JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React, { useContext } from 'react';
|
|
3
|
+
import { WEBCHAT } from '../../constants';
|
|
4
|
+
import { WebchatContext } from '../../contexts';
|
|
5
|
+
import { Scale } from '../../shared/styles';
|
|
6
|
+
import { ConditionalWrapper } from '../../util/react';
|
|
7
|
+
export const ConditionalAnimation = props => {
|
|
8
|
+
const { getThemeProperty } = useContext(WebchatContext);
|
|
9
|
+
const animationsEnabled = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.enableAnimations, props.enableAnimations !== undefined ? props.enableAnimations : true);
|
|
10
|
+
return (_jsx(ConditionalWrapper, Object.assign({ condition: animationsEnabled, wrapper: children => _jsx(Scale, { children: children }) }, { children: props.children })));
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=conditional-animation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditional-animation.js","sourceRoot":"","sources":["../../../../src/webchat/components/conditional-animation.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,EAAE;IAC1C,MAAM,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAEvD,MAAM,iBAAiB,GAAG,gBAAgB,CACxC,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAC1C,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CACrE,CAAA;IACD,OAAO,CACL,KAAC,kBAAkB,kBACjB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAC,KAAK,cAAE,QAAQ,GAAS,gBAE7C,KAAK,CAAC,QAAQ,IACI,CACtB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useContext } from 'react';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import { Button } from '../../components/button';
|
|
5
|
+
import { ROLES, WEBCHAT } from '../../constants';
|
|
6
|
+
import { WebchatContext } from '../../contexts';
|
|
7
|
+
import { useComponentVisible } from '../hooks';
|
|
8
|
+
const ButtonsContainer = styled.div `
|
|
9
|
+
position: absolute;
|
|
10
|
+
z-index: 2;
|
|
11
|
+
width: 100%;
|
|
12
|
+
bottom: 0;
|
|
13
|
+
text-align: center;
|
|
14
|
+
`;
|
|
15
|
+
export const OpenedPersistentMenu = ({ onClick, options, borderRadius }) => {
|
|
16
|
+
const { ref, isComponentVisible } = useComponentVisible(true, onClick);
|
|
17
|
+
const { getThemeProperty } = useContext(WebchatContext);
|
|
18
|
+
const CustomPersistentMenu = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.customPersistentMenu, undefined);
|
|
19
|
+
let closeLabel = 'Cancel';
|
|
20
|
+
try {
|
|
21
|
+
closeLabel = options.filter(opt => opt.closeLabel !== undefined)[0]
|
|
22
|
+
.closeLabel;
|
|
23
|
+
}
|
|
24
|
+
catch (e) { }
|
|
25
|
+
return (_jsx("div", Object.assign({ ref: ref, role: ROLES.PERSISTENT_MENU }, { children: isComponentVisible && CustomPersistentMenu ? (_jsx(CustomPersistentMenu, { onClick: onClick, options: options })) : (_jsxs(ButtonsContainer, { children: [Object.values(options).map((e, i) => {
|
|
26
|
+
return (e.label && (_jsx(Button, Object.assign({ onClick: onClick, url: e.url, target: e.target, webview: e.webview, payload: e.payload }, { children: e.label }), i)));
|
|
27
|
+
}), _jsx(Button, Object.assign({ onClick: onClick, bottomRadius: borderRadius }, { children: closeLabel }))] })) })));
|
|
28
|
+
};
|
|
29
|
+
export default OpenedPersistentMenu;
|
|
30
|
+
//# sourceMappingURL=opened-persistent-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opened-persistent-menu.js","sourceRoot":"","sources":["../../../../src/webchat/components/opened-persistent-menu.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;CAMlC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;IACzE,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACtE,MAAM,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACvD,MAAM,oBAAoB,GAAG,gBAAgB,CAC3C,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,EAC9C,SAAS,CACV,CAAA;IACD,IAAI,UAAU,GAAG,QAAQ,CAAA;IACzB,IAAI;QACF,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;aAChE,UAAU,CAAA;KACd;IAAC,OAAO,CAAC,EAAE,GAAE;IACd,OAAO,CACL,4BAAK,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,eAAe,gBACvC,kBAAkB,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAC5C,KAAC,oBAAoB,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAI,CAC7D,CAAC,CAAC,CAAC,CACF,MAAC,gBAAgB,eACd,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACnC,OAAO,CACL,CAAC,CAAC,KAAK,IAAI,CACT,KAAC,MAAM,kBACL,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,OAAO,EAAE,CAAC,CAAC,OAAO,gBAGjB,CAAC,CAAC,KAAK,KAFH,CAAC,CAGC,CACV,CACF,CAAA;gBACH,CAAC,CAAC,EACF,KAAC,MAAM,kBAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,gBACjD,UAAU,IACJ,IACQ,CACpB,IACG,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Convert to an enum when all the files using these values are migrated to ts{x}
|
|
2
|
+
export const BotonicContainerId = {
|
|
3
|
+
Webchat: 'botonic-webchat',
|
|
4
|
+
Header: 'botonic-header',
|
|
5
|
+
ChatArea: 'botonic-chat-area',
|
|
6
|
+
ScrollableMessagesList: 'botonic-scrollable-messages-list',
|
|
7
|
+
RepliesContainer: 'botonic-replies-container',
|
|
8
|
+
InputPanel: 'botonic-input-panel',
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/webchat/constants.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,iBAAiB;IAC1B,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,mBAAmB;IAC7B,sBAAsB,EAAE,kCAAkC;IAC1D,gBAAgB,EAAE,2BAA2B;IAC7C,UAAU,EAAE,qBAAqB;CAClC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useContext } from 'react';
|
|
3
|
+
import { WEBCHAT } from '../../constants';
|
|
4
|
+
import { WebchatContext } from '../../contexts';
|
|
5
|
+
export const CoverComponent = ({ component, componentProps }) => {
|
|
6
|
+
const { getThemeProperty, toggleCoverComponent, webchatState } = useContext(WebchatContext);
|
|
7
|
+
const Cover = component;
|
|
8
|
+
const coverComponentProps = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.coverComponentProps, componentProps);
|
|
9
|
+
const closeCoverComponent = () => {
|
|
10
|
+
toggleCoverComponent(false);
|
|
11
|
+
};
|
|
12
|
+
if (!Cover || !webchatState.isCoverComponentOpen) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
return _jsx(Cover, Object.assign({ closeComponent: closeCoverComponent }, coverComponentProps));
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/webchat/cover-component/index.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAO/C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAS,EAAE,EAAE;IACrE,MAAM,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,YAAY,EAAE,GAC5D,UAAU,CAAC,cAAc,CAAC,CAAA;IAE5B,MAAM,KAAK,GAAG,SAAS,CAAA;IAEvB,MAAM,mBAAmB,GAAG,gBAAgB,CAC1C,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,EAC7C,cAAc,CACf,CAAA;IAED,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC,CAAA;IAED,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE;QAChD,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,KAAC,KAAK,kBAAC,cAAc,EAAE,mBAAmB,IAAM,mBAAmB,EAAI,CAAA;AAChF,CAAC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const DEVICES = Object.freeze({
|
|
2
|
+
MOBILE: {
|
|
3
|
+
IPHONE: 'iPhone',
|
|
4
|
+
ANDROID: 'Android',
|
|
5
|
+
WEBOS: 'webOS',
|
|
6
|
+
BLACKBERRY: 'BlackBerry',
|
|
7
|
+
WINDOWS_PHONE: 'Windows Phone',
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
export const isDevice = deviceName => {
|
|
11
|
+
// https://stackoverflow.com/questions/19877924/what-is-the-list-of-possible-values-for-navigator-platform-as-of-today
|
|
12
|
+
return (!!navigator.platform &&
|
|
13
|
+
navigator.platform.toLowerCase().includes(deviceName.toLowerCase()));
|
|
14
|
+
};
|
|
15
|
+
export const isMobileDevice = () => {
|
|
16
|
+
return Object.values(DEVICES.MOBILE).some(deviceName => isDevice(deviceName));
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/webchat/devices/index.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,eAAe;KAC/B;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE;IACnC,sHAAsH;IACtH,OAAO,CACL,CAAC,CAAC,SAAS,CAAC,QAAQ;QACpB,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CACpE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;AAC/E,CAAC,CAAA"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { forwardRef, useContext } from 'react';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import { COLORS, ROLES, WEBCHAT } from '../constants';
|
|
5
|
+
import { WebchatContext } from '../contexts';
|
|
6
|
+
import { Scale } from '../shared/styles';
|
|
7
|
+
import { resolveImage } from '../util/environment';
|
|
8
|
+
import { ConditionalWrapper } from '../util/react';
|
|
9
|
+
import { BotonicContainerId } from './constants';
|
|
10
|
+
const Header = styled.div `
|
|
11
|
+
display: flex;
|
|
12
|
+
background: linear-gradient(
|
|
13
|
+
90deg,
|
|
14
|
+
${COLORS.BLEACHED_CEDAR_PURPLE} 0%,
|
|
15
|
+
${props => props.color} 100%
|
|
16
|
+
);
|
|
17
|
+
border-radius: ${WEBCHAT.DEFAULTS.BORDER_RADIUS_TOP_CORNERS};
|
|
18
|
+
z-index: 2;
|
|
19
|
+
height: inherit;
|
|
20
|
+
`;
|
|
21
|
+
const ImageContainer = styled.div `
|
|
22
|
+
padding: 10px;
|
|
23
|
+
align-items: center;
|
|
24
|
+
`;
|
|
25
|
+
const Image = styled.img `
|
|
26
|
+
width: 32px;
|
|
27
|
+
border-radius: 50%;
|
|
28
|
+
`;
|
|
29
|
+
const TextContainer = styled.div `
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-direction: column;
|
|
32
|
+
justify-content: center;
|
|
33
|
+
flex: 1 1 auto;
|
|
34
|
+
`;
|
|
35
|
+
const Title = styled.div `
|
|
36
|
+
display: flex;
|
|
37
|
+
font-family: inherit;
|
|
38
|
+
font-size: 15px;
|
|
39
|
+
font-weight: bold;
|
|
40
|
+
color: ${COLORS.SOLID_WHITE};
|
|
41
|
+
`;
|
|
42
|
+
const Subtitle = styled.div `
|
|
43
|
+
display: flex;
|
|
44
|
+
font-family: inherit;
|
|
45
|
+
font-size: 11px;
|
|
46
|
+
color: ${COLORS.SOLID_WHITE};
|
|
47
|
+
`;
|
|
48
|
+
const CloseHeader = styled.div `
|
|
49
|
+
padding: 0px 16px;
|
|
50
|
+
cursor: pointer;
|
|
51
|
+
color: ${COLORS.SOLID_WHITE};
|
|
52
|
+
font-family: inherit;
|
|
53
|
+
font-size: 36px;
|
|
54
|
+
`;
|
|
55
|
+
export const DefaultHeader = props => {
|
|
56
|
+
const { getThemeProperty } = props;
|
|
57
|
+
const animationsEnabled = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.enableAnimations, true);
|
|
58
|
+
const headerImage = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.headerImage, getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.brandImage, WEBCHAT.DEFAULTS.LOGO));
|
|
59
|
+
const headerTitle = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.headerTitle, WEBCHAT.DEFAULTS.TITLE);
|
|
60
|
+
const headerSubtitle = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.headerSubtitle, '');
|
|
61
|
+
return (_jsxs(Header, Object.assign({ role: ROLES.HEADER, color: props.color, style: Object.assign({}, getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.headerStyle)) }, { children: [headerImage && (_jsx(ImageContainer, { children: _jsx(Image, { src: resolveImage(headerImage) }) })), _jsxs(TextContainer, Object.assign({ ml: headerImage ? '0px' : '16px' }, { children: [_jsx(Title, Object.assign({ mb: headerSubtitle ? '6px' : '0px' }, { children: headerTitle })), _jsx(Subtitle, { children: headerSubtitle })] })), _jsx(ConditionalWrapper, Object.assign({ condition: animationsEnabled, wrapper: children => _jsx(Scale, { children: children }) }, { children: _jsx(CloseHeader, Object.assign({ onClick: props.onCloseClick }, { children: "\u2A2F" })) }))] })));
|
|
62
|
+
};
|
|
63
|
+
const StyledWebchatHeader = styled.div `
|
|
64
|
+
border-radius: 8px 8px 0px 0px;
|
|
65
|
+
box-shadow: ${COLORS.PIGEON_POST_BLUE_ALPHA_0_5} 0px 2px 5px;
|
|
66
|
+
height: 55px;
|
|
67
|
+
flex: none;
|
|
68
|
+
`;
|
|
69
|
+
export const WebchatHeader = forwardRef((props, ref) => {
|
|
70
|
+
const { webchatState, getThemeProperty } = useContext(WebchatContext);
|
|
71
|
+
const handleCloseWebchat = event => {
|
|
72
|
+
props.onCloseClick(event.target.value);
|
|
73
|
+
};
|
|
74
|
+
const CustomHeader = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.customHeader);
|
|
75
|
+
if (CustomHeader) {
|
|
76
|
+
return (_jsx("div", Object.assign({ id: BotonicContainerId.Header, ref: ref }, { children: _jsx(CustomHeader, { onCloseClick: handleCloseWebchat }) })));
|
|
77
|
+
}
|
|
78
|
+
return (_jsx(StyledWebchatHeader, Object.assign({ id: BotonicContainerId.Header, ref: ref }, { children: _jsx(DefaultHeader, { webchatState: webchatState, getThemeProperty: getThemeProperty, color: getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.brandColor, COLORS.BOTONIC_BLUE), onCloseClick: handleCloseWebchat }) })));
|
|
79
|
+
});
|
|
80
|
+
WebchatHeader.displayName = 'WebchatHeader';
|
|
81
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/webchat/header.jsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { useComponentVisible } from './use-component-visible';
|
|
2
|
+
export { useComponentWillMount } from './use-component-will-mount';
|
|
3
|
+
export { useDeviceAdapter } from './use-device-adapter';
|
|
4
|
+
export { usePrevious } from './use-previous';
|
|
5
|
+
export { useScrollToBottom } from './use-scroll-to-bottom';
|
|
6
|
+
export { useScrollbarController } from './use-scrollbar-controller';
|
|
7
|
+
export { useTyping } from './use-typing';
|
|
8
|
+
export { useVirtualKeyboardDetection } from './use-virtual-keyboard-detection';
|
|
9
|
+
export { useWebchat, webchatInitialState } from './use-webchat';
|
|
10
|
+
export { useWebchatDimensions } from './use-webchat-dimensions';
|
|
11
|
+
export { useWebchatResizer } from './use-webchat-resizer';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { useComponentVisible } from './use-component-visible';
|
|
2
|
+
export { useComponentWillMount } from './use-component-will-mount';
|
|
3
|
+
export { useDeviceAdapter } from './use-device-adapter';
|
|
4
|
+
export { usePrevious } from './use-previous';
|
|
5
|
+
export { useScrollToBottom } from './use-scroll-to-bottom';
|
|
6
|
+
export { useScrollbarController } from './use-scrollbar-controller';
|
|
7
|
+
export { useTyping } from './use-typing';
|
|
8
|
+
export { useVirtualKeyboardDetection } from './use-virtual-keyboard-detection';
|
|
9
|
+
export { useWebchat, webchatInitialState } from './use-webchat';
|
|
10
|
+
export { useWebchatDimensions } from './use-webchat-dimensions';
|
|
11
|
+
export { useWebchatResizer } from './use-webchat-resizer';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/webchat/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface ComponentVisible {
|
|
3
|
+
ref: React.RefObject<HTMLElement>;
|
|
4
|
+
isComponentVisible: boolean;
|
|
5
|
+
setIsComponentVisible: React.Dispatch<React.SetStateAction<boolean>>;
|
|
6
|
+
}
|
|
7
|
+
export declare function useComponentVisible(initialIsVisible: boolean, onClickOutside: () => void): ComponentVisible;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from 'react';
|
|
2
|
+
export function useComponentVisible(initialIsVisible, onClickOutside) {
|
|
3
|
+
const [isComponentVisible, setIsComponentVisible] = useState(initialIsVisible);
|
|
4
|
+
const ref = useRef(null);
|
|
5
|
+
const handleClickOutside = event => {
|
|
6
|
+
const target = event.path ? event.path[0] : event.target;
|
|
7
|
+
if (ref.current && !ref.current.contains(target)) {
|
|
8
|
+
setIsComponentVisible(false);
|
|
9
|
+
onClickOutside();
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
document.addEventListener('click', handleClickOutside, false);
|
|
14
|
+
return () => {
|
|
15
|
+
document.removeEventListener('click', handleClickOutside, false);
|
|
16
|
+
};
|
|
17
|
+
});
|
|
18
|
+
return { ref, isComponentVisible, setIsComponentVisible };
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=use-component-visible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-component-visible.js","sourceRoot":"","sources":["../../../../src/webchat/hooks/use-component-visible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAQnD,MAAM,UAAU,mBAAmB,CACjC,gBAAyB,EACzB,cAA0B;IAE1B,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAC9E,MAAM,GAAG,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IACrC,MAAM,kBAAkB,GAAG,KAAK,CAAC,EAAE;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;QACxD,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChD,qBAAqB,CAAC,KAAK,CAAC,CAAA;YAC5B,cAAc,EAAE,CAAA;SACjB;IACH,CAAC,CAAA;IACD,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAA;QAC7D,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAA;QAClE,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,CAAA;AAC3D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useComponentWillMount: (func: any) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-component-will-mount.js","sourceRoot":"","sources":["../../../../src/webchat/hooks/use-component-will-mount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,EAAE;IAC1C,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AACnB,CAAC,CAAA"}
|