@botonic/react 0.22.0-alpha.0 → 0.22.0-alpha.2
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 +68 -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 +23 -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 +145 -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 +10 -0
- package/lib/cjs/components/carousel.js +107 -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 +12 -0
- package/lib/cjs/components/custom-message.js +59 -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 +47 -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 +56 -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 +54 -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 +38 -0
- package/lib/cjs/components/image.js.map +1 -0
- package/lib/cjs/components/index.d.ts +20 -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 +32 -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 +14 -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 +188 -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 +6 -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 +76 -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 +78 -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 +25 -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 +132 -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 +60 -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 +30 -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 +44 -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 +54 -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 +14 -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 +24 -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 +47 -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 +51 -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 +22 -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 +31 -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 +79 -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 +25 -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 +30 -0
- package/lib/cjs/dev-app.js +72 -0
- package/lib/cjs/dev-app.js.map +1 -0
- package/lib/cjs/index.d.ts +10 -0
- package/lib/cjs/index.js +28 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/message-utils.d.ts +19 -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 +138 -0
- package/lib/cjs/msg-to-botonic.js.map +1 -0
- package/lib/cjs/node-app.d.ts +12 -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 +34 -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.d.ts +7 -0
- package/lib/cjs/util/error-boundary.js +33 -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 +29 -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 +14 -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 +17 -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 +43 -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 +45 -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 +19 -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 +11 -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 +85 -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 +219 -0
- package/lib/cjs/webchat/hooks.js.map +1 -0
- package/lib/cjs/webchat/index.d.ts +6 -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 +39 -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 +43 -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 +101 -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 +42 -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 +60 -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 +661 -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 +84 -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 +270 -0
- package/lib/cjs/webchat-app.js.map +1 -0
- package/lib/cjs/webview-app.d.ts +7 -0
- package/lib/cjs/webview-app.js +102 -0
- package/lib/cjs/webview-app.js.map +1 -0
- 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/assets/attachment-icon.svg +7 -0
- package/lib/esm/assets/audio.svg +4 -0
- package/lib/esm/assets/botonic_react_logo100x100.png +0 -0
- package/lib/esm/assets/document.svg +3 -0
- package/lib/esm/assets/emojiButton.svg +6 -0
- package/lib/esm/assets/image.svg +4 -0
- package/lib/esm/assets/leftArrow.svg +3 -0
- package/lib/esm/assets/menuButton.svg +3 -0
- package/lib/esm/assets/rightArrow.svg +3 -0
- package/lib/esm/assets/send-button.svg +1 -0
- package/lib/esm/assets/video.svg +3 -0
- package/lib/esm/botonic-tester.d.ts +18 -0
- package/lib/esm/botonic-tester.js +62 -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 +15 -0
- package/lib/esm/components/button.js +140 -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 +9 -0
- package/lib/esm/components/carousel.js +102 -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 +55 -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 +33 -0
- package/lib/esm/components/image.js.map +1 -0
- package/lib/esm/components/index.d.ts +19 -0
- package/lib/esm/components/index.js +21 -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-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/message.d.ts +1 -0
- package/lib/esm/components/message.js +184 -0
- package/lib/esm/components/message.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.d.ts +6 -0
- package/lib/esm/components/multichannel/index.js +11 -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 +71 -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 +73 -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 +127 -0
- package/lib/esm/components/multichannel/multichannel-text.js.map +1 -0
- package/lib/esm/components/multichannel/multichannel-utils.d.ts +24 -0
- package/lib/esm/components/multichannel/multichannel-utils.js +67 -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 +55 -0
- package/lib/esm/components/multichannel/multichannel.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 +8 -0
- package/lib/esm/components/text.js +42 -0
- package/lib/esm/components/text.js.map +1 -0
- package/lib/esm/components/timestamps.d.ts +10 -0
- package/lib/esm/components/timestamps.js +45 -0
- package/lib/esm/components/timestamps.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 +10 -0
- package/lib/esm/components/webchat-settings.js +73 -0
- package/lib/esm/components/webchat-settings.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 +168 -0
- package/lib/esm/constants.js +186 -0
- package/lib/esm/constants.js.map +1 -0
- package/lib/esm/contexts.d.ts +69 -0
- package/lib/esm/contexts.js +34 -0
- package/lib/esm/contexts.js.map +1 -0
- package/lib/esm/dev-app.d.ts +30 -0
- package/lib/esm/dev-app.js +68 -0
- package/lib/esm/dev-app.js.map +1 -0
- package/lib/esm/index.d.ts +9 -0
- package/lib/esm/index.js +11 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/message-utils.d.ts +18 -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 +132 -0
- package/lib/esm/msg-to-botonic.js.map +1 -0
- package/lib/esm/node-app.d.ts +12 -0
- package/lib/esm/node-app.js +21 -0
- package/lib/esm/node-app.js.map +1 -0
- package/lib/esm/react-bot.d.ts +7 -0
- package/lib/esm/react-bot.js +29 -0
- package/lib/esm/react-bot.js.map +1 -0
- package/lib/esm/util/dom.d.ts +13 -0
- package/lib/esm/util/dom.js +46 -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 +0 -0
- package/lib/esm/util/index.js +2 -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/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/webchat/actions.d.ts +23 -0
- package/lib/esm/webchat/actions.js +24 -0
- package/lib/esm/webchat/actions.js.map +1 -0
- package/lib/esm/webchat/components/attachment.d.ts +5 -0
- package/lib/esm/webchat/components/attachment.js +24 -0
- package/lib/esm/webchat/components/attachment.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/emoji-picker.d.ts +5 -0
- package/lib/esm/webchat/components/emoji-picker.js +37 -0
- package/lib/esm/webchat/components/emoji-picker.js.map +1 -0
- package/lib/esm/webchat/components/persistent-menu.d.ts +10 -0
- package/lib/esm/webchat/components/persistent-menu.js +39 -0
- package/lib/esm/webchat/components/persistent-menu.js.map +1 -0
- package/lib/esm/webchat/components/send-button.d.ts +3 -0
- package/lib/esm/webchat/components/send-button.js +14 -0
- package/lib/esm/webchat/components/send-button.js.map +1 -0
- package/lib/esm/webchat/components/styled-scrollbar.d.ts +1 -0
- package/lib/esm/webchat/components/styled-scrollbar.js +50 -0
- package/lib/esm/webchat/components/styled-scrollbar.js.map +1 -0
- package/lib/esm/webchat/components/styled-scrollbar.scss +12 -0
- package/lib/esm/webchat/components/typing-indicator.d.ts +1 -0
- package/lib/esm/webchat/components/typing-indicator.js +6 -0
- package/lib/esm/webchat/components/typing-indicator.js.map +1 -0
- package/lib/esm/webchat/components/typing-indicator.scss +38 -0
- package/lib/esm/webchat/devices/device-adapter.d.ts +12 -0
- package/lib/esm/webchat/devices/device-adapter.js +43 -0
- package/lib/esm/webchat/devices/device-adapter.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/devices/scrollbar-controller.d.ts +12 -0
- package/lib/esm/webchat/devices/scrollbar-controller.js +99 -0
- package/lib/esm/webchat/devices/scrollbar-controller.js.map +1 -0
- package/lib/esm/webchat/devices/webchat-resizer.d.ts +9 -0
- package/lib/esm/webchat/devices/webchat-resizer.js +43 -0
- package/lib/esm/webchat/devices/webchat-resizer.js.map +1 -0
- package/lib/esm/webchat/header.d.ts +3 -0
- package/lib/esm/webchat/header.js +79 -0
- package/lib/esm/webchat/header.js.map +1 -0
- package/lib/esm/webchat/hooks.d.ts +80 -0
- package/lib/esm/webchat/hooks.js +211 -0
- package/lib/esm/webchat/hooks.js.map +1 -0
- package/lib/esm/webchat/index.d.ts +6 -0
- package/lib/esm/webchat/index.js +11 -0
- package/lib/esm/webchat/index.js.map +1 -0
- package/lib/esm/webchat/message-list.d.ts +1 -0
- package/lib/esm/webchat/message-list.js +34 -0
- package/lib/esm/webchat/message-list.js.map +1 -0
- package/lib/esm/webchat/messages-reducer.d.ts +1 -0
- package/lib/esm/webchat/messages-reducer.js +54 -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 +38 -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/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/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 +1 -0
- package/lib/esm/webchat/webchat-reducer.js +44 -0
- package/lib/esm/webchat/webchat-reducer.js.map +1 -0
- package/lib/esm/webchat/webchat.d.ts +3 -0
- package/lib/esm/webchat/webchat.js +656 -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 +78 -0
- package/lib/esm/webchat/webview.js.map +1 -0
- package/lib/esm/webchat-app.d.ts +98 -0
- package/lib/esm/webchat-app.js +266 -0
- package/lib/esm/webchat-app.js.map +1 -0
- package/lib/esm/webchat.template.html +37 -0
- package/lib/esm/webview-app.d.ts +7 -0
- package/lib/esm/webview-app.js +97 -0
- package/lib/esm/webview-app.js.map +1 -0
- package/lib/esm/webview.template.html +39 -0
- package/package.json +40 -27
- package/src/components/audio.jsx +2 -0
- package/src/components/document.jsx +2 -0
- package/src/components/image.jsx +2 -0
- package/src/components/location.jsx +2 -2
- package/src/components/message.jsx +4 -11
- package/src/components/multichannel/multichannel-text.jsx +2 -5
- package/src/components/pic.jsx +3 -1
- package/src/components/video.jsx +2 -0
- package/src/index.js +1 -1
- package/src/msg-to-botonic.jsx +11 -11
- package/src/util/environment.js +31 -2
- package/src/util/error-boundary.jsx +15 -30
- package/src/util/webchat.js +12 -13
- package/src/webchat/components/attachment.jsx +10 -2
- package/src/webchat/components/emoji-picker.jsx +7 -1
- package/src/webchat/hooks.js +2 -1
- package/src/webchat/use-storage-state-hook.js +13 -2
- package/src/webchat/webchat.jsx +5 -7
- package/src/{webview.jsx → webview-app.tsx} +7 -1
- package/lib/app.js +0 -19
- package/lib/app.js.map +0 -1
- 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/typing-indicator.js +0 -27
- package/lib/webchat/components/typing-indicator.js.map +0 -1
- 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/webview.js +0 -231
- package/lib/webview.js.map +0 -1
- /package/lib/{assets → cjs/assets}/attachment-icon.svg +0 -0
- /package/lib/{assets → cjs/assets}/audio.svg +0 -0
- /package/lib/{assets → cjs/assets}/botonic_react_logo100x100.png +0 -0
- /package/lib/{assets → cjs/assets}/document.svg +0 -0
- /package/lib/{assets → cjs/assets}/emojiButton.svg +0 -0
- /package/lib/{assets → cjs/assets}/image.svg +0 -0
- /package/lib/{assets → cjs/assets}/leftArrow.svg +0 -0
- /package/lib/{assets → cjs/assets}/menuButton.svg +0 -0
- /package/lib/{assets → cjs/assets}/rightArrow.svg +0 -0
- /package/lib/{assets → cjs/assets}/send-button.svg +0 -0
- /package/lib/{assets → cjs/assets}/video.svg +0 -0
- /package/lib/{webchat → cjs/webchat}/components/styled-scrollbar.scss +0 -0
- /package/lib/{webchat → cjs/webchat}/components/typing-indicator.scss +0 -0
- /package/lib/{webchat.template.html → cjs/webchat.template.html} +0 -0
- /package/lib/{webview.template.html → cjs/webview.template.html} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/button.jsx"],"names":["StyledButton","styled","button","COLORS","SEASHELL_WHITE","props","top","bottom","Button","WebchatContext","webchatState","openWebview","sendPayload","sendInput","getThemeProperty","updateMessage","hover","setHover","theme","ButtonsDisabler","resolveDisabling","autoDisable","disabledStyle","handleClick","event","preventDefault","type","WEBCHAT","CUSTOM_PROPERTIES","buttonMessageType","INPUT","TEXT","webview","params","path","POSTBACK","data","String","children","text","payload","url","window","open","target","onClick","setDisabled","messageToUpdate","messagesJSON","filter","m","id","parentId","updatedMsg","getUpdatedMessage","getClassName","isCustom","renderBrowser","buttonStyle","CustomButton","customButton","e","buttonBgColor","buttonHoverBackground","CONCRETE_WHITE","buttonStyleBackground","SOLID_WHITE","buttonTextColor","buttonHoverTextColor","SOLID_BLACK","buttonStyleColor","color","backgroundColor","disabled","bottomRadius","renderNode","disabledProps","constructNodeProps","Webview","name","Error","serialize","buttonProps","title","withDisabledProps"],"mappings":"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","sourcesContent":["import { INPUT, params2queryString } from '@botonic/core'\nimport React, { useContext, useState } from 'react'\nimport styled from 'styled-components'\n\nimport { COLORS, WEBCHAT } from '../constants'\nimport { WebchatContext } from '../contexts'\nimport { renderComponent } from '../util/react'\nimport { ButtonsDisabler } from './buttons-disabler'\n\nconst StyledButton = styled.button`\n display: flex;\n width: 100%;\n max-height: 80px;\n font-size: 14px;\n text-align: center;\n align-content: center;\n justify-content: center;\n padding: 12px 32px;\n font-family: inherit;\n border: none;\n border: 1px solid ${COLORS.SEASHELL_WHITE};\n cursor: pointer;\n outline: 0;\n border-top-right-radius: ${props => props.top || '0px'};\n border-top-left-radius: ${props => props.top || '0px'};\n border-bottom-right-radius: ${props => props.bottom || '0px'};\n border-bottom-left-radius: ${props => props.bottom || '0px'};\n overflow: hidden;\n`\n\nexport const Button = props => {\n const {\n webchatState,\n openWebview,\n sendPayload,\n sendInput,\n getThemeProperty,\n updateMessage,\n } = useContext(WebchatContext)\n const [hover, setHover] = useState(false)\n const { theme } = webchatState\n const { autoDisable, disabledStyle } = ButtonsDisabler.resolveDisabling(\n webchatState.theme,\n props\n )\n const handleClick = event => {\n event.preventDefault()\n const type = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonMessageType,\n INPUT.TEXT\n )\n if (props.webview) openWebview(props.webview, props.params)\n else if (props.path) {\n type == INPUT.POSTBACK\n ? sendPayload(`__PATH_PAYLOAD__${props.path}`)\n : sendInput({\n type: INPUT.TEXT,\n data: String(props.children),\n text: String(props.children),\n payload: `__PATH_PAYLOAD__${props.path}`,\n })\n } else if (props.payload) {\n type == INPUT.POSTBACK\n ? sendPayload(props.payload)\n : sendInput({\n type: INPUT.TEXT,\n data: String(props.children),\n text: String(props.children),\n payload: props.payload,\n })\n } else if (props.url) {\n window.open(props.url, props.target || '_blank')\n }\n if (props.onClick) props.onClick()\n if (props.setDisabled) {\n props.setDisabled(true)\n const messageToUpdate = webchatState.messagesJSON.filter(\n m => m.id == props.parentId\n )[0]\n const updatedMsg = ButtonsDisabler.getUpdatedMessage(messageToUpdate, {\n autoDisable,\n disabledStyle,\n })\n updateMessage(updatedMsg)\n }\n }\n\n const getClassName = (isCustom = false) => {\n if (isCustom) {\n return 'button-custom'\n }\n if (props.payload) {\n return 'button-payload'\n }\n if (props.url) {\n return 'button-url'\n }\n if (props.webview) {\n return 'button-webview'\n }\n if (props.path) {\n return 'button-path'\n }\n return ''\n }\n\n const renderBrowser = () => {\n const buttonStyle = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.buttonStyle)\n const CustomButton = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customButton\n )\n if (CustomButton) {\n return (\n <div className={getClassName(true)} onClick={e => handleClick(e)}>\n <CustomButton>{props.children}</CustomButton>\n </div>\n )\n }\n\n const buttonBgColor = hover\n ? getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonHoverBackground,\n COLORS.CONCRETE_WHITE\n )\n : getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonStyleBackground,\n COLORS.SOLID_WHITE\n )\n const buttonTextColor = hover\n ? getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonHoverTextColor,\n COLORS.SOLID_BLACK\n )\n : getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonStyleColor,\n COLORS.SOLID_BLACK\n )\n\n return (\n <StyledButton\n className={getClassName()}\n theme={theme}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={e => handleClick(e)}\n style={{\n ...buttonStyle,\n color: buttonTextColor,\n backgroundColor: buttonBgColor,\n ...(props.disabled && autoDisable && disabledStyle),\n }}\n bottom={props.bottomRadius}\n >\n {props.children}\n </StyledButton>\n )\n }\n\n const renderNode = () => {\n const disabledProps = ButtonsDisabler.constructNodeProps(props)\n if (props.webview) {\n const Webview = props.webview\n let params = ''\n if (props.params) params = params2queryString(props.params)\n return (\n <button url={`/webviews/${Webview.name}?${params}`} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.path) {\n const payload = `__PATH_PAYLOAD__${props.path}`\n return (\n <button payload={payload} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.payload) {\n return (\n <button payload={props.payload} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.url) {\n return (\n <button url={props.url} target={props.target} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.onClick) {\n return null\n }\n throw new Error('Button missing payload, path, webviews, url or onClick')\n }\n\n return renderComponent({ renderBrowser, renderNode })\n}\n\nButton.serialize = buttonProps => {\n let payload = buttonProps.payload\n if (buttonProps.path) payload = `__PATH_PAYLOAD__${buttonProps.path}`\n return {\n button: {\n payload,\n url: buttonProps.url,\n target: buttonProps.target,\n webview: buttonProps.webview && String(buttonProps.webview),\n title: buttonProps.children && String(buttonProps.children),\n ...ButtonsDisabler.withDisabledProps(buttonProps),\n },\n }\n}\n"],"file":"button.js"}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.ButtonsDisabler = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _button = require("../components/button");
|
|
17
|
-
|
|
18
|
-
var _constants = require("../constants");
|
|
19
|
-
|
|
20
|
-
var _messageUtils = require("../message-utils");
|
|
21
|
-
|
|
22
|
-
var _objects = require("../util/objects");
|
|
23
|
-
|
|
24
|
-
var _react = require("../util/react");
|
|
25
|
-
|
|
26
|
-
var _webchat = require("../util/webchat");
|
|
27
|
-
|
|
28
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
|
-
|
|
30
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
|
-
|
|
32
|
-
var ButtonsDisabler = /*#__PURE__*/function () {
|
|
33
|
-
function ButtonsDisabler() {
|
|
34
|
-
(0, _classCallCheck2["default"])(this, ButtonsDisabler);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
(0, _createClass2["default"])(ButtonsDisabler, null, [{
|
|
38
|
-
key: "constructBrowserProps",
|
|
39
|
-
value: function constructBrowserProps(props) {
|
|
40
|
-
var disabledProps = {
|
|
41
|
-
disabled: props.disabled
|
|
42
|
-
};
|
|
43
|
-
if (props.autodisable !== undefined) disabledProps.autodisable = (0, _objects.strToBool)(props.autodisable);
|
|
44
|
-
if (props.disabledstyle !== undefined) disabledProps.disabledstyle = props.disabledstyle;
|
|
45
|
-
return disabledProps;
|
|
46
|
-
}
|
|
47
|
-
}, {
|
|
48
|
-
key: "constructNodeProps",
|
|
49
|
-
value: function constructNodeProps(props) {
|
|
50
|
-
var disabledProps = {};
|
|
51
|
-
if (props.autodisable !== undefined) disabledProps.autodisable = String(props.autodisable);
|
|
52
|
-
if (props.disabledstyle !== undefined) disabledProps.disabledstyle = JSON.stringify(props.disabledstyle);
|
|
53
|
-
return disabledProps;
|
|
54
|
-
}
|
|
55
|
-
}, {
|
|
56
|
-
key: "withDisabledProps",
|
|
57
|
-
value: function withDisabledProps(props) {
|
|
58
|
-
return {
|
|
59
|
-
disabled: props.disabled,
|
|
60
|
-
autodisable: props.autodisable,
|
|
61
|
-
disabledstyle: props.disabledstyle
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
}, {
|
|
65
|
-
key: "resolveDisabling",
|
|
66
|
-
value: function resolveDisabling(theme, props) {
|
|
67
|
-
var getThemeProperty = (0, _webchat._getThemeProperty)(theme);
|
|
68
|
-
var autoDisable = props.autodisable !== undefined ? props.autodisable : getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonAutoDisable, _constants.WEBCHAT.DEFAULTS.BUTTON_AUTO_DISABLE);
|
|
69
|
-
var computedDisabledStyle = props.disabledstyle !== undefined ? props.disabledstyle : getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonDisabledStyle, {});
|
|
70
|
-
|
|
71
|
-
var disabledStyle = _objectSpread(_objectSpread({}, _constants.WEBCHAT.DEFAULTS.BUTTON_DISABLED_STYLE), computedDisabledStyle);
|
|
72
|
-
|
|
73
|
-
return {
|
|
74
|
-
autoDisable: autoDisable,
|
|
75
|
-
disabledStyle: disabledStyle
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
}, {
|
|
79
|
-
key: "updateChildrenButtons",
|
|
80
|
-
value: function updateChildrenButtons(children) {
|
|
81
|
-
var _this = this;
|
|
82
|
-
|
|
83
|
-
var additionalProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
84
|
-
return (0, _react.deepMapWithIndex)(children, function (n) {
|
|
85
|
-
if (n.type === _button.Button) return _this.updateButtons(n, additionalProps);
|
|
86
|
-
return n;
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
}, {
|
|
90
|
-
key: "updateButtons",
|
|
91
|
-
value: function updateButtons(node, additionalProps) {
|
|
92
|
-
if (!additionalProps) additionalProps = {};else {
|
|
93
|
-
additionalProps = {
|
|
94
|
-
disabled: node.props.disabled === true ? node.props.disabled : additionalProps.disabled,
|
|
95
|
-
setDisabled: additionalProps.setDisabled,
|
|
96
|
-
parentId: additionalProps.parentId
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
return _objectSpread(_objectSpread({}, node), {}, {
|
|
100
|
-
props: _objectSpread(_objectSpread({}, node.props), additionalProps)
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}, {
|
|
104
|
-
key: "getUpdatedMessage",
|
|
105
|
-
value: function getUpdatedMessage(messageToUpdate, _ref) {
|
|
106
|
-
var autoDisable = _ref.autoDisable,
|
|
107
|
-
disabledStyle = _ref.disabledStyle;
|
|
108
|
-
|
|
109
|
-
var updateMsgButton = function updateMsgButton(button) {
|
|
110
|
-
return _objectSpread(_objectSpread({}, button), {
|
|
111
|
-
disabled: true
|
|
112
|
-
});
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
if ((0, _messageUtils.isCarousel)(messageToUpdate) && messageToUpdate.data && messageToUpdate.data.elements) {
|
|
116
|
-
messageToUpdate.data.elements = messageToUpdate.data.elements.map(function (e) {
|
|
117
|
-
return _objectSpread(_objectSpread({}, e), {
|
|
118
|
-
buttons: e.buttons.map(updateMsgButton)
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
return messageToUpdate;
|
|
122
|
-
} else {
|
|
123
|
-
return _objectSpread(_objectSpread({}, messageToUpdate), {
|
|
124
|
-
buttons: messageToUpdate.buttons.map(updateMsgButton)
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}]);
|
|
129
|
-
return ButtonsDisabler;
|
|
130
|
-
}();
|
|
131
|
-
|
|
132
|
-
exports.ButtonsDisabler = ButtonsDisabler;
|
|
133
|
-
//# sourceMappingURL=buttons-disabler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/buttons-disabler.js"],"names":["ButtonsDisabler","props","disabledProps","disabled","autodisable","undefined","disabledstyle","String","JSON","stringify","theme","getThemeProperty","autoDisable","WEBCHAT","CUSTOM_PROPERTIES","buttonAutoDisable","DEFAULTS","BUTTON_AUTO_DISABLE","computedDisabledStyle","buttonDisabledStyle","disabledStyle","BUTTON_DISABLED_STYLE","children","additionalProps","n","type","Button","updateButtons","node","setDisabled","parentId","messageToUpdate","updateMsgButton","button","data","elements","map","e","buttons"],"mappings":"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","sourcesContent":["import { Button } from '../components/button'\nimport { WEBCHAT } from '../constants'\nimport { isCarousel } from '../message-utils'\nimport { strToBool } from '../util/objects'\nimport { deepMapWithIndex } from '../util/react'\nimport { _getThemeProperty } from '../util/webchat'\n\nexport class ButtonsDisabler {\n static constructBrowserProps(props) {\n const disabledProps = { disabled: props.disabled }\n if (props.autodisable !== undefined)\n disabledProps.autodisable = strToBool(props.autodisable)\n if (props.disabledstyle !== undefined)\n disabledProps.disabledstyle = props.disabledstyle\n return disabledProps\n }\n static constructNodeProps(props) {\n const disabledProps = {}\n if (props.autodisable !== undefined)\n disabledProps.autodisable = String(props.autodisable)\n if (props.disabledstyle !== undefined)\n disabledProps.disabledstyle = JSON.stringify(props.disabledstyle)\n return disabledProps\n }\n\n static withDisabledProps(props) {\n return {\n disabled: props.disabled,\n autodisable: props.autodisable,\n disabledstyle: props.disabledstyle,\n }\n }\n\n static resolveDisabling(theme, props) {\n const getThemeProperty = _getThemeProperty(theme)\n const autoDisable =\n props.autodisable !== undefined\n ? props.autodisable\n : getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonAutoDisable,\n WEBCHAT.DEFAULTS.BUTTON_AUTO_DISABLE\n )\n const computedDisabledStyle =\n props.disabledstyle !== undefined\n ? props.disabledstyle\n : getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.buttonDisabledStyle, {})\n\n const disabledStyle = {\n ...WEBCHAT.DEFAULTS.BUTTON_DISABLED_STYLE,\n ...computedDisabledStyle,\n }\n return { autoDisable, disabledStyle }\n }\n\n static updateChildrenButtons(children, additionalProps = undefined) {\n return deepMapWithIndex(children, n => {\n if (n.type === Button) return this.updateButtons(n, additionalProps)\n return n\n })\n }\n\n static updateButtons(node, additionalProps) {\n if (!additionalProps) additionalProps = {}\n else {\n additionalProps = {\n disabled:\n node.props.disabled === true\n ? node.props.disabled\n : additionalProps.disabled,\n setDisabled: additionalProps.setDisabled,\n parentId: additionalProps.parentId,\n }\n }\n return {\n ...node,\n props: {\n ...node.props,\n ...additionalProps,\n },\n }\n }\n\n static getUpdatedMessage(messageToUpdate, { autoDisable, disabledStyle }) {\n const updateMsgButton = button => {\n return {\n ...button,\n ...{\n disabled: true,\n },\n }\n }\n if (\n isCarousel(messageToUpdate) &&\n messageToUpdate.data &&\n messageToUpdate.data.elements\n ) {\n messageToUpdate.data.elements = messageToUpdate.data.elements.map(e => ({\n ...e,\n ...{\n buttons: e.buttons.map(updateMsgButton),\n },\n }))\n return messageToUpdate\n } else {\n return {\n ...messageToUpdate,\n ...{\n buttons: messageToUpdate.buttons.map(updateMsgButton),\n },\n }\n }\n }\n}\n"],"file":"buttons-disabler.js"}
|
|
@@ -1,194 +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.Carousel = void 0;
|
|
11
|
-
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
|
|
18
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
19
|
-
|
|
20
|
-
var _core = require("@botonic/core");
|
|
21
|
-
|
|
22
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
23
|
-
|
|
24
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
25
|
-
|
|
26
|
-
var _leftArrow = _interopRequireDefault(require("../assets/leftArrow.svg"));
|
|
27
|
-
|
|
28
|
-
var _rightArrow = _interopRequireDefault(require("../assets/rightArrow.svg"));
|
|
29
|
-
|
|
30
|
-
var _constants = require("../constants");
|
|
31
|
-
|
|
32
|
-
var _contexts = require("../contexts");
|
|
33
|
-
|
|
34
|
-
var _environment = require("../util/environment");
|
|
35
|
-
|
|
36
|
-
var _styledScrollbar = require("../webchat/components/styled-scrollbar");
|
|
37
|
-
|
|
38
|
-
var _buttonsDisabler = require("./buttons-disabler");
|
|
39
|
-
|
|
40
|
-
var _message = require("./message");
|
|
41
|
-
|
|
42
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
43
|
-
|
|
44
|
-
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); }
|
|
45
|
-
|
|
46
|
-
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; }
|
|
47
|
-
|
|
48
|
-
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; }
|
|
49
|
-
|
|
50
|
-
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; }
|
|
51
|
-
|
|
52
|
-
var StyledCarousel = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 10px 0px;\n display: flex;\n flex-direction: row;\n max-width: 100%;\n ", "\n"])), function (props) {
|
|
53
|
-
return props.carouselArrowsEnabled && 'overflow-x: auto;';
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
var StyledItems = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"])));
|
|
57
|
-
|
|
58
|
-
var StyledArrowContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: calc(50% - 20px);\n height: 40px;\n width: 25px;\n background: ", ";\n display: flex;\n align-items: center;\n cursor: pointer;\n justify-content: ", ";\n left: ", "px;\n right: ", "px;\n border-top-", "-radius: 30px;\n border-bottom-", "-radius: 30px;\n"])), _constants.COLORS.SILVER, function (props) {
|
|
59
|
-
return props.justifyContent;
|
|
60
|
-
}, function (props) {
|
|
61
|
-
return props.left;
|
|
62
|
-
}, function (props) {
|
|
63
|
-
return props.right;
|
|
64
|
-
}, function (props) {
|
|
65
|
-
return props.arrow;
|
|
66
|
-
}, function (props) {
|
|
67
|
-
return props.arrow;
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
var StyledArrow = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 20px;\n height: 20px;\n"])));
|
|
71
|
-
|
|
72
|
-
var serialize = function serialize(carouselProps) {
|
|
73
|
-
var carouselChildren = carouselProps.children;
|
|
74
|
-
if (!Array.isArray(carouselChildren)) carouselChildren = [carouselChildren];
|
|
75
|
-
return {
|
|
76
|
-
type: _core.INPUT.CAROUSEL,
|
|
77
|
-
elements: carouselChildren.map(function (e) {
|
|
78
|
-
return e && e.type && e.type.serialize && e.type.serialize(e.props);
|
|
79
|
-
})
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
/**
|
|
83
|
-
*
|
|
84
|
-
* @param {MessageProps} props
|
|
85
|
-
* @returns {JSX.Element}
|
|
86
|
-
*/
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
var Carousel = function Carousel(props) {
|
|
90
|
-
var _useContext = (0, _react.useContext)(_contexts.WebchatContext),
|
|
91
|
-
getThemeProperty = _useContext.getThemeProperty;
|
|
92
|
-
|
|
93
|
-
var content = props.children;
|
|
94
|
-
|
|
95
|
-
var scrollbarOptions = _objectSpread(_objectSpread({}, {
|
|
96
|
-
enable: true,
|
|
97
|
-
autoHide: true
|
|
98
|
-
}), getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.scrollbar));
|
|
99
|
-
|
|
100
|
-
var _useState = (0, _react.useState)(false),
|
|
101
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
102
|
-
hasLeftArrow = _useState2[0],
|
|
103
|
-
setLeftArrow = _useState2[1];
|
|
104
|
-
|
|
105
|
-
var _useState3 = (0, _react.useState)(true),
|
|
106
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
107
|
-
hasRightArrow = _useState4[0],
|
|
108
|
-
setRightArrow = _useState4[1];
|
|
109
|
-
|
|
110
|
-
var carouselRef = (0, _react.useRef)(null);
|
|
111
|
-
var CustomCarouselLeftArrow = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.customCarouselLeftArrow, undefined);
|
|
112
|
-
var CustomCarouselRightArrow = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.customCarouselRightArrow, undefined);
|
|
113
|
-
var carouselArrowsEnabled = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.enableCarouselArrows, true);
|
|
114
|
-
|
|
115
|
-
var scrollCarouselBy = function scrollCarouselBy(value) {
|
|
116
|
-
carouselRef.current.scrollBy({
|
|
117
|
-
left: value,
|
|
118
|
-
behavior: 'smooth'
|
|
119
|
-
});
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
var setArrowsVisibility = function setArrowsVisibility(event) {
|
|
123
|
-
var carousel = event.currentTarget;
|
|
124
|
-
var maxRightScroll = carousel.scrollWidth - carousel.offsetWidth - _constants.WEBCHAT.DEFAULTS.ELEMENT_MARGIN_RIGHT;
|
|
125
|
-
setLeftArrow(carousel.scrollLeft !== 0);
|
|
126
|
-
setRightArrow(carousel.scrollLeft < maxRightScroll);
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
var getArrows = function getArrows() {
|
|
130
|
-
var scrollBy = _constants.WEBCHAT.DEFAULTS.ELEMENT_WIDTH + _constants.WEBCHAT.DEFAULTS.ELEMENT_MARGIN_RIGHT;
|
|
131
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, hasLeftArrow && (CustomCarouselLeftArrow ? /*#__PURE__*/_react["default"].createElement(CustomCarouselLeftArrow, {
|
|
132
|
-
scrollCarouselBy: scrollCarouselBy
|
|
133
|
-
}) : /*#__PURE__*/_react["default"].createElement(StyledArrowContainer, {
|
|
134
|
-
left: 0,
|
|
135
|
-
arrow: 'right',
|
|
136
|
-
justifyContent: 'flex-start',
|
|
137
|
-
onClick: function onClick() {
|
|
138
|
-
return scrollCarouselBy(-scrollBy);
|
|
139
|
-
}
|
|
140
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledArrow, {
|
|
141
|
-
src: (0, _environment.resolveImage)(_leftArrow["default"])
|
|
142
|
-
}))), hasRightArrow && (CustomCarouselRightArrow ? /*#__PURE__*/_react["default"].createElement(CustomCarouselRightArrow, {
|
|
143
|
-
scrollCarouselBy: scrollCarouselBy
|
|
144
|
-
}) : /*#__PURE__*/_react["default"].createElement(StyledArrowContainer, {
|
|
145
|
-
right: 0,
|
|
146
|
-
arrow: 'left',
|
|
147
|
-
justifyContent: 'flex-end',
|
|
148
|
-
onClick: function onClick() {
|
|
149
|
-
return scrollCarouselBy(scrollBy);
|
|
150
|
-
}
|
|
151
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledArrow, {
|
|
152
|
-
src: (0, _environment.resolveImage)(_rightArrow["default"])
|
|
153
|
-
}))));
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
(0, _react.useEffect)(function () {
|
|
157
|
-
var carousel = carouselRef.current;
|
|
158
|
-
|
|
159
|
-
if (carousel && carousel.addEventListener) {
|
|
160
|
-
carousel.addEventListener('scroll', setArrowsVisibility, false);
|
|
161
|
-
} else if (carousel && carousel.attachEvent) {
|
|
162
|
-
carousel.attachEvent('scroll', setArrowsVisibility);
|
|
163
|
-
}
|
|
164
|
-
}, [carouselRef.current]);
|
|
165
|
-
|
|
166
|
-
var carouselProps = _objectSpread(_objectSpread({}, props), {}, {
|
|
167
|
-
children: _buttonsDisabler.ButtonsDisabler.updateChildrenButtons(props.children)
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
if ((0, _core.isBrowser)()) {
|
|
171
|
-
content = /*#__PURE__*/_react["default"].createElement(_styledScrollbar.StyledScrollbar, {
|
|
172
|
-
scrollbar: scrollbarOptions,
|
|
173
|
-
autoHide: scrollbarOptions.autoHide
|
|
174
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledCarousel, {
|
|
175
|
-
ref: carouselRef,
|
|
176
|
-
carouselArrowsEnabled: carouselArrowsEnabled
|
|
177
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledItems, null, carouselProps.children), carouselArrowsEnabled && getArrows()));
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
return /*#__PURE__*/_react["default"].createElement(_message.Message, (0, _extends2["default"])({
|
|
181
|
-
style: {
|
|
182
|
-
width: '85%',
|
|
183
|
-
padding: 0,
|
|
184
|
-
backgroundColor: _constants.COLORS.TRANSPARENT
|
|
185
|
-
},
|
|
186
|
-
blob: false,
|
|
187
|
-
json: serialize(carouselProps),
|
|
188
|
-
type: _core.INPUT.CAROUSEL
|
|
189
|
-
}, carouselProps), content);
|
|
190
|
-
};
|
|
191
|
-
|
|
192
|
-
exports.Carousel = Carousel;
|
|
193
|
-
Carousel.serialize = serialize;
|
|
194
|
-
//# sourceMappingURL=carousel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/carousel.jsx"],"names":["StyledCarousel","styled","div","props","carouselArrowsEnabled","StyledItems","StyledArrowContainer","COLORS","SILVER","justifyContent","left","right","arrow","StyledArrow","img","serialize","carouselProps","carouselChildren","children","Array","isArray","type","INPUT","CAROUSEL","elements","map","e","Carousel","WebchatContext","getThemeProperty","content","scrollbarOptions","enable","autoHide","WEBCHAT","CUSTOM_PROPERTIES","scrollbar","hasLeftArrow","setLeftArrow","hasRightArrow","setRightArrow","carouselRef","CustomCarouselLeftArrow","customCarouselLeftArrow","undefined","CustomCarouselRightArrow","customCarouselRightArrow","enableCarouselArrows","scrollCarouselBy","value","current","scrollBy","behavior","setArrowsVisibility","event","carousel","currentTarget","maxRightScroll","scrollWidth","offsetWidth","DEFAULTS","ELEMENT_MARGIN_RIGHT","scrollLeft","getArrows","ELEMENT_WIDTH","LeftArrow","RightArrow","addEventListener","attachEvent","ButtonsDisabler","updateChildrenButtons","width","padding","backgroundColor","TRANSPARENT"],"mappings":"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","sourcesContent":["import { INPUT, isBrowser } from '@botonic/core'\nimport React, { useContext, useEffect, useRef, useState } from 'react'\nimport styled from 'styled-components'\n\nimport LeftArrow from '../assets/leftArrow.svg'\nimport RightArrow from '../assets/rightArrow.svg'\nimport { COLORS, WEBCHAT } from '../constants'\nimport { WebchatContext } from '../contexts'\nimport { resolveImage } from '../util/environment'\nimport { StyledScrollbar } from '../webchat/components/styled-scrollbar'\nimport { ButtonsDisabler } from './buttons-disabler'\nimport { Message } from './message'\n\nconst StyledCarousel = styled.div`\n padding: 10px 0px;\n display: flex;\n flex-direction: row;\n max-width: 100%;\n ${props => props.carouselArrowsEnabled && 'overflow-x: auto;'}\n`\n\nconst StyledItems = styled.div`\n display: flex;\n`\n\nconst StyledArrowContainer = styled.div`\n position: absolute;\n top: calc(50% - 20px);\n height: 40px;\n width: 25px;\n background: ${COLORS.SILVER};\n display: flex;\n align-items: center;\n cursor: pointer;\n justify-content: ${props => props.justifyContent};\n left: ${props => props.left}px;\n right: ${props => props.right}px;\n border-top-${props => props.arrow}-radius: 30px;\n border-bottom-${props => props.arrow}-radius: 30px;\n`\nconst StyledArrow = styled.img`\n width: 20px;\n height: 20px;\n`\n\nconst serialize = carouselProps => {\n let carouselChildren = carouselProps.children\n if (!Array.isArray(carouselChildren)) carouselChildren = [carouselChildren]\n return {\n type: INPUT.CAROUSEL,\n elements: carouselChildren.map(\n e => e && e.type && e.type.serialize && e.type.serialize(e.props)\n ),\n }\n}\n\n/**\n *\n * @param {MessageProps} props\n * @returns {JSX.Element}\n */\nexport const Carousel = props => {\n const { getThemeProperty } = useContext(WebchatContext)\n let content = props.children\n const scrollbarOptions = {\n ...{ enable: true, autoHide: true },\n ...getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.scrollbar),\n }\n const [hasLeftArrow, setLeftArrow] = useState(false)\n const [hasRightArrow, setRightArrow] = useState(true)\n const carouselRef = useRef(null)\n const CustomCarouselLeftArrow = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customCarouselLeftArrow,\n undefined\n )\n const CustomCarouselRightArrow = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customCarouselRightArrow,\n undefined\n )\n const carouselArrowsEnabled = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.enableCarouselArrows,\n true\n )\n\n const scrollCarouselBy = value => {\n carouselRef.current.scrollBy({\n left: value,\n behavior: 'smooth',\n })\n }\n\n const setArrowsVisibility = event => {\n const carousel = event.currentTarget\n const maxRightScroll =\n carousel.scrollWidth -\n carousel.offsetWidth -\n WEBCHAT.DEFAULTS.ELEMENT_MARGIN_RIGHT\n setLeftArrow(carousel.scrollLeft !== 0)\n setRightArrow(carousel.scrollLeft < maxRightScroll)\n }\n\n const getArrows = () => {\n const scrollBy =\n WEBCHAT.DEFAULTS.ELEMENT_WIDTH + WEBCHAT.DEFAULTS.ELEMENT_MARGIN_RIGHT\n return (\n <>\n {hasLeftArrow &&\n (CustomCarouselLeftArrow ? (\n <CustomCarouselLeftArrow scrollCarouselBy={scrollCarouselBy} />\n ) : (\n <StyledArrowContainer\n left={0}\n arrow={'right'}\n justifyContent={'flex-start'}\n onClick={() => scrollCarouselBy(-scrollBy)}\n >\n <StyledArrow src={resolveImage(LeftArrow)} />\n </StyledArrowContainer>\n ))}\n {hasRightArrow &&\n (CustomCarouselRightArrow ? (\n <CustomCarouselRightArrow scrollCarouselBy={scrollCarouselBy} />\n ) : (\n <StyledArrowContainer\n right={0}\n arrow={'left'}\n justifyContent={'flex-end'}\n onClick={() => scrollCarouselBy(scrollBy)}\n >\n <StyledArrow src={resolveImage(RightArrow)} />\n </StyledArrowContainer>\n ))}\n </>\n )\n }\n\n useEffect(() => {\n const carousel = carouselRef.current\n if (carousel && carousel.addEventListener) {\n carousel.addEventListener('scroll', setArrowsVisibility, false)\n } else if (carousel && carousel.attachEvent) {\n carousel.attachEvent('scroll', setArrowsVisibility)\n }\n }, [carouselRef.current])\n\n const carouselProps = {\n ...props,\n children: ButtonsDisabler.updateChildrenButtons(props.children),\n }\n\n if (isBrowser()) {\n content = (\n <StyledScrollbar\n scrollbar={scrollbarOptions}\n autoHide={scrollbarOptions.autoHide}\n >\n <StyledCarousel\n ref={carouselRef}\n carouselArrowsEnabled={carouselArrowsEnabled}\n >\n <StyledItems>{carouselProps.children}</StyledItems>\n {carouselArrowsEnabled && getArrows()}\n </StyledCarousel>\n </StyledScrollbar>\n )\n }\n\n return (\n <Message\n style={{ width: '85%', padding: 0, backgroundColor: COLORS.TRANSPARENT }}\n blob={false}\n json={serialize(carouselProps)}\n type={INPUT.CAROUSEL}\n {...carouselProps}\n >\n {content}\n </Message>\n )\n}\n\nCarousel.serialize = serialize\n"],"file":"carousel.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/components.js"],"names":["getElementName","component","type","name","getComponentTypeName","displayName"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,SAASA,cAAT,CAAwBC,SAAxB,EAAmC;AACxC,SAAOA,SAAS,CAACC,IAAV,CAAeC,IAAtB;AACD;AAED;AACA;AACA;AACA;AACA;;;AACO,SAASC,oBAAT,CAA8BH,SAA9B,EAAyC;AAC9C,SAAOA,SAAS,CAACI,WAAV,IAAyBJ,SAAS,CAACE,IAAnC,IAA2C,WAAlD;AACD","sourcesContent":["/**\n * Get the name of an element (instantiated component)\n * @param {React.Element} component\n * @returns {string}\n */\nexport function getElementName(component) {\n return component.type.name\n}\n\n/**\n * Get the name of a component TYPE\n * @param {React.ComponentType} component\n * @returns {string}\n */\nexport function getComponentTypeName(component) {\n return component.displayName || component.name || 'Component'\n}\n"],"file":"components.js"}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.customMessage = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
-
|
|
14
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
-
|
|
16
|
-
var _core = require("@botonic/core");
|
|
17
|
-
|
|
18
|
-
var _lodash = _interopRequireDefault(require("lodash.merge"));
|
|
19
|
-
|
|
20
|
-
var _react = _interopRequireDefault(require("react"));
|
|
21
|
-
|
|
22
|
-
var _constants = require("../constants");
|
|
23
|
-
|
|
24
|
-
var _errorBoundary = require("../util/error-boundary");
|
|
25
|
-
|
|
26
|
-
var _logs = require("../util/logs");
|
|
27
|
-
|
|
28
|
-
var _react2 = require("../util/react");
|
|
29
|
-
|
|
30
|
-
var _message = require("./message");
|
|
31
|
-
|
|
32
|
-
var _reply = require("./reply");
|
|
33
|
-
|
|
34
|
-
var _excluded = ["id", "children"];
|
|
35
|
-
|
|
36
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
37
|
-
|
|
38
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
*
|
|
42
|
-
* @param name as it appears at ThemeProps' message.customTypes key
|
|
43
|
-
* @param CustomMessageComponent
|
|
44
|
-
* @param defaultProps Props for the wrapper Message
|
|
45
|
-
* @param ErrorBoundary to recover in case it fails
|
|
46
|
-
*/
|
|
47
|
-
var customMessage = function customMessage(_ref) {
|
|
48
|
-
var name = _ref.name,
|
|
49
|
-
CustomMessageComponent = _ref.component,
|
|
50
|
-
_ref$defaultProps = _ref.defaultProps,
|
|
51
|
-
defaultProps = _ref$defaultProps === void 0 ? {} : _ref$defaultProps,
|
|
52
|
-
_ref$errorBoundary = _ref.errorBoundary,
|
|
53
|
-
ErrorBoundary = _ref$errorBoundary === void 0 ? (0, _errorBoundary.createErrorBoundary)() : _ref$errorBoundary;
|
|
54
|
-
|
|
55
|
-
var CustomMessage = function CustomMessage(props) {
|
|
56
|
-
(0, _logs.warnDeprecatedProps)(defaultProps, 'customMessage:');
|
|
57
|
-
if (defaultProps.from === _constants.SENDERS.user) defaultProps.ack = 1;
|
|
58
|
-
return /*#__PURE__*/_react["default"].createElement(_message.Message, (0, _extends2["default"])({}, (0, _lodash["default"])((0, _react2.mapObjectNonBooleanValues)(defaultProps), props), {
|
|
59
|
-
type: _core.INPUT.CUSTOM
|
|
60
|
-
}));
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
var splitChildren = function splitChildren(props) {
|
|
64
|
-
var children = props.children;
|
|
65
|
-
|
|
66
|
-
var isReply = function isReply(e) {
|
|
67
|
-
return e.type === _reply.Reply;
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
try {
|
|
71
|
-
if (!Array.isArray(children) && !isReply(children)) {
|
|
72
|
-
return {
|
|
73
|
-
replies: null,
|
|
74
|
-
childrenWithoutReplies: children
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
var childrenArray = _react["default"].Children.toArray(children);
|
|
79
|
-
|
|
80
|
-
var replies = childrenArray.filter(isReply);
|
|
81
|
-
var childrenWithoutReplies = childrenArray.filter(function (e) {
|
|
82
|
-
return !isReply(e);
|
|
83
|
-
});
|
|
84
|
-
return {
|
|
85
|
-
replies: replies,
|
|
86
|
-
childrenWithoutReplies: childrenWithoutReplies
|
|
87
|
-
};
|
|
88
|
-
} catch (e) {
|
|
89
|
-
return {
|
|
90
|
-
replies: null,
|
|
91
|
-
childrenWithoutReplies: children
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
var WrappedComponent = function WrappedComponent(props) {
|
|
97
|
-
var id = props.id,
|
|
98
|
-
children = props.children,
|
|
99
|
-
customMessageProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
100
|
-
|
|
101
|
-
var _splitChildren = splitChildren(props),
|
|
102
|
-
replies = _splitChildren.replies,
|
|
103
|
-
childrenWithoutReplies = _splitChildren.childrenWithoutReplies;
|
|
104
|
-
|
|
105
|
-
return /*#__PURE__*/_react["default"].createElement(CustomMessage, {
|
|
106
|
-
id: id,
|
|
107
|
-
json: _objectSpread(_objectSpread({}, customMessageProps), {}, {
|
|
108
|
-
id: id,
|
|
109
|
-
children: childrenWithoutReplies,
|
|
110
|
-
customTypeName: name
|
|
111
|
-
})
|
|
112
|
-
}, /*#__PURE__*/_react["default"].createElement(ErrorBoundary, (0, _extends2["default"])({
|
|
113
|
-
key: 'errorBoundary'
|
|
114
|
-
}, customMessageProps), /*#__PURE__*/_react["default"].createElement(CustomMessageComponent, customMessageProps, childrenWithoutReplies)), replies);
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
WrappedComponent.customTypeName = name; // eslint-disable-next-line react/display-name
|
|
118
|
-
|
|
119
|
-
WrappedComponent.deserialize = function (msg) {
|
|
120
|
-
return /*#__PURE__*/_react["default"].createElement(WrappedComponent, (0, _extends2["default"])({
|
|
121
|
-
id: msg.id,
|
|
122
|
-
key: msg.key,
|
|
123
|
-
json: msg.data
|
|
124
|
-
}, msg.data));
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
return WrappedComponent;
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
exports.customMessage = customMessage;
|
|
131
|
-
//# sourceMappingURL=custom-message.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/custom-message.jsx"],"names":["customMessage","name","CustomMessageComponent","component","defaultProps","errorBoundary","ErrorBoundary","CustomMessage","props","from","SENDERS","user","ack","INPUT","CUSTOM","splitChildren","children","isReply","e","type","Reply","Array","isArray","replies","childrenWithoutReplies","childrenArray","React","Children","toArray","filter","WrappedComponent","id","customMessageProps","customTypeName","deserialize","msg","key","data"],"mappings":"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","sourcesContent":["import { INPUT } from '@botonic/core'\nimport merge from 'lodash.merge'\nimport React from 'react'\n\nimport { SENDERS } from '../constants'\nimport { createErrorBoundary } from '../util/error-boundary'\nimport { warnDeprecatedProps } from '../util/logs'\nimport { mapObjectNonBooleanValues } from '../util/react'\nimport { Message } from './message'\nimport { Reply } from './reply'\n\n/**\n *\n * @param name as it appears at ThemeProps' message.customTypes key\n * @param CustomMessageComponent\n * @param defaultProps Props for the wrapper Message\n * @param ErrorBoundary to recover in case it fails\n */\nexport const customMessage = ({\n name,\n component: CustomMessageComponent,\n defaultProps = {},\n errorBoundary: ErrorBoundary = createErrorBoundary(),\n}) => {\n const CustomMessage = props => {\n warnDeprecatedProps(defaultProps, 'customMessage:')\n if (defaultProps.from === SENDERS.user) defaultProps.ack = 1\n return (\n <Message\n {...merge(mapObjectNonBooleanValues(defaultProps), props)}\n type={INPUT.CUSTOM}\n />\n )\n }\n\n const splitChildren = props => {\n const { children } = props\n const isReply = e => e.type === Reply\n try {\n if (!Array.isArray(children) && !isReply(children)) {\n return { replies: null, childrenWithoutReplies: children }\n }\n const childrenArray = React.Children.toArray(children)\n const replies = childrenArray.filter(isReply)\n const childrenWithoutReplies = childrenArray.filter(e => !isReply(e))\n return {\n replies: replies,\n childrenWithoutReplies,\n }\n } catch (e) {\n return { replies: null, childrenWithoutReplies: children }\n }\n }\n\n const WrappedComponent = props => {\n const { id, children, ...customMessageProps } = props\n const { replies, childrenWithoutReplies } = splitChildren(props)\n return (\n <CustomMessage\n id={id}\n json={{\n ...customMessageProps,\n id,\n children: childrenWithoutReplies,\n customTypeName: name,\n }}\n >\n <ErrorBoundary key={'errorBoundary'} {...customMessageProps}>\n <CustomMessageComponent {...customMessageProps}>\n {childrenWithoutReplies}\n </CustomMessageComponent>\n </ErrorBoundary>\n {replies}\n </CustomMessage>\n )\n }\n WrappedComponent.customTypeName = name\n // eslint-disable-next-line react/display-name\n WrappedComponent.deserialize = msg => (\n <WrappedComponent id={msg.id} key={msg.key} json={msg.data} {...msg.data} />\n )\n return WrappedComponent\n}\n"],"file":"custom-message.js"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.Document = void 0;
|
|
11
|
-
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
-
|
|
18
|
-
var _core = require("@botonic/core");
|
|
19
|
-
|
|
20
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
23
|
-
|
|
24
|
-
var _constants = require("../constants");
|
|
25
|
-
|
|
26
|
-
var _contexts = require("../contexts");
|
|
27
|
-
|
|
28
|
-
var _message = require("./message");
|
|
29
|
-
|
|
30
|
-
var _templateObject;
|
|
31
|
-
|
|
32
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
-
|
|
34
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
-
|
|
36
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
37
|
-
|
|
38
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
39
|
-
|
|
40
|
-
var StyledButton = _styledComponents["default"].a(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: block;\n height: 25px;\n background-color: #f0f0f0;\n padding: 10px;\n text-align: center;\n border-radius: 5px;\n color: black;\n font-weight: bold;\n line-height: 25px;\n text-decoration: none;\n border: 1px solid black;\n opacity: 0.9;\n &:hover {\n opacity: 1;\n }\n"])));
|
|
41
|
-
|
|
42
|
-
var serialize = function serialize(documentProps) {
|
|
43
|
-
return {
|
|
44
|
-
document: documentProps.src
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
var Document = function Document(props) {
|
|
49
|
-
var content = props.children;
|
|
50
|
-
|
|
51
|
-
var _useContext = (0, _react.useContext)(_contexts.WebchatContext),
|
|
52
|
-
getThemeProperty = _useContext.getThemeProperty;
|
|
53
|
-
|
|
54
|
-
var documentDownload = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.documentDownload, {});
|
|
55
|
-
if (typeof documentDownload === 'function') documentDownload = documentDownload(props.from);
|
|
56
|
-
|
|
57
|
-
if ((0, _core.isBrowser)()) {
|
|
58
|
-
content = /*#__PURE__*/_react["default"].createElement(StyledButton, {
|
|
59
|
-
href: props.src,
|
|
60
|
-
target: "_blank",
|
|
61
|
-
rel: "noreferrer",
|
|
62
|
-
style: _objectSpread({}, documentDownload.style)
|
|
63
|
-
}, documentDownload.text || 'Download');
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
return /*#__PURE__*/_react["default"].createElement(_message.Message, (0, _extends2["default"])({
|
|
67
|
-
role: _constants.ROLES.DOCUMENT_MESSAGE,
|
|
68
|
-
json: serialize(props)
|
|
69
|
-
}, props, {
|
|
70
|
-
type: _core.INPUT.DOCUMENT
|
|
71
|
-
}), content);
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
exports.Document = Document;
|
|
75
|
-
Document.serialize = serialize;
|
|
76
|
-
//# sourceMappingURL=document.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/document.jsx"],"names":["StyledButton","styled","a","serialize","documentProps","document","src","Document","props","content","children","WebchatContext","getThemeProperty","documentDownload","WEBCHAT","CUSTOM_PROPERTIES","from","style","text","ROLES","DOCUMENT_MESSAGE","INPUT","DOCUMENT"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,YAAY,GAAGC,6BAAOC,CAAV,iYAAlB;;AAkBA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,aAAa,EAAI;AACjC,SAAO;AAAEC,IAAAA,QAAQ,EAAED,aAAa,CAACE;AAA1B,GAAP;AACD,CAFD;;AAIO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,KAAK,EAAI;AAC/B,MAAIC,OAAO,GAAGD,KAAK,CAACE,QAApB;;AAEA,oBAA6B,uBAAWC,wBAAX,CAA7B;AAAA,MAAQC,gBAAR,eAAQA,gBAAR;;AACA,MAAIC,gBAAgB,GAAGD,gBAAgB,CACrCE,mBAAQC,iBAAR,CAA0BF,gBADW,EAErC,EAFqC,CAAvC;AAIA,MAAI,OAAOA,gBAAP,KAA4B,UAAhC,EACEA,gBAAgB,GAAGA,gBAAgB,CAACL,KAAK,CAACQ,IAAP,CAAnC;;AAEF,MAAI,sBAAJ,EAAiB;AACfP,IAAAA,OAAO,gBACL,gCAAC,YAAD;AACE,MAAA,IAAI,EAAED,KAAK,CAACF,GADd;AAEE,MAAA,MAAM,EAAC,QAFT;AAGE,MAAA,GAAG,EAAC,YAHN;AAIE,MAAA,KAAK,oBACAO,gBAAgB,CAACI,KADjB;AAJP,OAQGJ,gBAAgB,CAACK,IAAjB,IAAyB,UAR5B,CADF;AAYD;;AAED,sBACE,gCAAC,gBAAD;AACE,IAAA,IAAI,EAAEC,iBAAMC,gBADd;AAEE,IAAA,IAAI,EAAEjB,SAAS,CAACK,KAAD;AAFjB,KAGMA,KAHN;AAIE,IAAA,IAAI,EAAEa,YAAMC;AAJd,MAMGb,OANH,CADF;AAUD,CApCM;;;AAsCPF,QAAQ,CAACJ,SAAT,GAAqBA,SAArB","sourcesContent":["import { INPUT, isBrowser } from '@botonic/core'\nimport React, { useContext } from 'react'\nimport styled from 'styled-components'\n\nimport { ROLES, WEBCHAT } from '../constants'\nimport { WebchatContext } from '../contexts'\nimport { Message } from './message'\n\nconst StyledButton = styled.a`\n display: block;\n height: 25px;\n background-color: #f0f0f0;\n padding: 10px;\n text-align: center;\n border-radius: 5px;\n color: black;\n font-weight: bold;\n line-height: 25px;\n text-decoration: none;\n border: 1px solid black;\n opacity: 0.9;\n &:hover {\n opacity: 1;\n }\n`\n\nconst serialize = documentProps => {\n return { document: documentProps.src }\n}\n\nexport const Document = props => {\n let content = props.children\n\n const { getThemeProperty } = useContext(WebchatContext)\n let documentDownload = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.documentDownload,\n {}\n )\n if (typeof documentDownload === 'function')\n documentDownload = documentDownload(props.from)\n\n if (isBrowser()) {\n content = (\n <StyledButton\n href={props.src}\n target='_blank'\n rel='noreferrer'\n style={{\n ...documentDownload.style,\n }}\n >\n {documentDownload.text || 'Download'}\n </StyledButton>\n )\n }\n\n return (\n <Message\n role={ROLES.DOCUMENT_MESSAGE}\n json={serialize(props)}\n {...props}\n type={INPUT.DOCUMENT}\n >\n {content}\n </Message>\n )\n}\n\nDocument.serialize = serialize\n"],"file":"document.js"}
|