@botonic/react 0.31.0 → 0.31.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/index.d.ts +5 -0
- package/lib/cjs/components/index.js +11 -1
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/components/whatsapp-catalog.d.ts +6 -0
- package/lib/cjs/components/whatsapp-catalog.js +25 -0
- package/lib/cjs/components/whatsapp-catalog.js.map +1 -0
- package/lib/cjs/components/whatsapp-media-carousel.d.ts +46 -0
- package/lib/cjs/components/whatsapp-media-carousel.js +40 -0
- package/lib/cjs/components/whatsapp-media-carousel.js.map +1 -0
- package/lib/cjs/components/whatsapp-product-carousel.d.ts +32 -0
- package/lib/cjs/components/whatsapp-product-carousel.js +34 -0
- package/lib/cjs/components/whatsapp-product-carousel.js.map +1 -0
- package/lib/cjs/components/whatsapp-product-list.d.ts +15 -0
- package/lib/cjs/components/whatsapp-product-list.js +26 -0
- package/lib/cjs/components/whatsapp-product-list.js.map +1 -0
- package/lib/cjs/components/whatsapp-product.d.ts +7 -0
- package/lib/cjs/components/whatsapp-product.js +25 -0
- package/lib/cjs/components/whatsapp-product.js.map +1 -0
- package/lib/cjs/util/functional.d.ts +3 -0
- package/lib/cjs/util/functional.js +30 -0
- package/lib/cjs/util/functional.js.map +1 -0
- package/package.json +2 -2
- package/src/components/index.ts +16 -0
- package/src/components/whatsapp-catalog.tsx +42 -0
- package/src/components/whatsapp-media-carousel.tsx +104 -0
- package/src/components/whatsapp-product-carousel.tsx +83 -0
- package/src/components/whatsapp-product-list.tsx +56 -0
- package/src/components/whatsapp-product.tsx +44 -0
- package/src/util/functional.ts +31 -0
- package/lib/esm/app.d.ts +0 -2
- package/lib/esm/app.js +0 -6
- package/lib/esm/app.js.map +0 -1
- package/lib/esm/botonic-tester.d.ts +0 -30
- package/lib/esm/botonic-tester.js +0 -78
- package/lib/esm/botonic-tester.js.map +0 -1
- package/lib/esm/components/audio.d.ts +0 -9
- package/lib/esm/components/audio.js +0 -21
- package/lib/esm/components/audio.js.map +0 -1
- package/lib/esm/components/button.d.ts +0 -17
- package/lib/esm/components/button.js +0 -159
- package/lib/esm/components/button.js.map +0 -1
- package/lib/esm/components/buttons-disabler.d.ts +0 -24
- package/lib/esm/components/buttons-disabler.js +0 -84
- package/lib/esm/components/buttons-disabler.js.map +0 -1
- package/lib/esm/components/carousel.d.ts +0 -10
- package/lib/esm/components/carousel.js +0 -105
- package/lib/esm/components/carousel.js.map +0 -1
- package/lib/esm/components/components.d.ts +0 -12
- package/lib/esm/components/components.js +0 -17
- package/lib/esm/components/components.js.map +0 -1
- package/lib/esm/components/custom-message.d.ts +0 -16
- package/lib/esm/components/custom-message.js +0 -50
- package/lib/esm/components/custom-message.js.map +0 -1
- package/lib/esm/components/document.d.ts +0 -9
- package/lib/esm/components/document.js +0 -42
- package/lib/esm/components/document.js.map +0 -1
- package/lib/esm/components/element.d.ts +0 -4
- package/lib/esm/components/element.js +0 -51
- package/lib/esm/components/element.js.map +0 -1
- package/lib/esm/components/handoff.d.ts +0 -1
- package/lib/esm/components/handoff.js +0 -49
- package/lib/esm/components/handoff.js.map +0 -1
- package/lib/esm/components/image.d.ts +0 -9
- package/lib/esm/components/image.js +0 -35
- package/lib/esm/components/image.js.map +0 -1
- package/lib/esm/components/index-types.d.ts +0 -89
- package/lib/esm/components/index-types.js +0 -2
- package/lib/esm/components/index-types.js.map +0 -1
- package/lib/esm/components/index.d.ts +0 -25
- package/lib/esm/components/index.js +0 -26
- package/lib/esm/components/index.js.map +0 -1
- package/lib/esm/components/location.d.ts +0 -11
- package/lib/esm/components/location.js +0 -27
- package/lib/esm/components/location.js.map +0 -1
- package/lib/esm/components/markdown.d.ts +0 -7
- package/lib/esm/components/markdown.js +0 -152
- package/lib/esm/components/markdown.js.map +0 -1
- package/lib/esm/components/message/index.d.ts +0 -1
- package/lib/esm/components/message/index.js +0 -147
- package/lib/esm/components/message/index.js.map +0 -1
- package/lib/esm/components/message/message-feedback.d.ts +0 -7
- package/lib/esm/components/message/message-feedback.js +0 -59
- package/lib/esm/components/message/message-feedback.js.map +0 -1
- package/lib/esm/components/message/message-footer.d.ts +0 -11
- package/lib/esm/components/message/message-footer.js +0 -17
- package/lib/esm/components/message/message-footer.js.map +0 -1
- package/lib/esm/components/message/message-image.d.ts +0 -7
- package/lib/esm/components/message/message-image.js +0 -19
- package/lib/esm/components/message/message-image.js.map +0 -1
- package/lib/esm/components/message/styles.d.ts +0 -33
- package/lib/esm/components/message/styles.js +0 -118
- package/lib/esm/components/message/styles.js.map +0 -1
- package/lib/esm/components/message/timestamps.d.ts +0 -13
- package/lib/esm/components/message/timestamps.js +0 -40
- package/lib/esm/components/message/timestamps.js.map +0 -1
- package/lib/esm/components/message-template.d.ts +0 -1
- package/lib/esm/components/message-template.js +0 -9
- package/lib/esm/components/message-template.js.map +0 -1
- package/lib/esm/components/multichannel/facebook/facebook.d.ts +0 -17
- package/lib/esm/components/multichannel/facebook/facebook.js +0 -43
- package/lib/esm/components/multichannel/facebook/facebook.js.map +0 -1
- package/lib/esm/components/multichannel/index-types.d.ts +0 -46
- package/lib/esm/components/multichannel/index-types.js +0 -2
- package/lib/esm/components/multichannel/index-types.js.map +0 -1
- package/lib/esm/components/multichannel/index.d.ts +0 -11
- package/lib/esm/components/multichannel/index.js +0 -12
- package/lib/esm/components/multichannel/index.js.map +0 -1
- package/lib/esm/components/multichannel/multichannel-button.d.ts +0 -1
- package/lib/esm/components/multichannel/multichannel-button.js +0 -67
- package/lib/esm/components/multichannel/multichannel-button.js.map +0 -1
- package/lib/esm/components/multichannel/multichannel-carousel.d.ts +0 -1
- package/lib/esm/components/multichannel/multichannel-carousel.js +0 -74
- package/lib/esm/components/multichannel/multichannel-carousel.js.map +0 -1
- package/lib/esm/components/multichannel/multichannel-context.d.ts +0 -11
- package/lib/esm/components/multichannel/multichannel-context.js +0 -12
- package/lib/esm/components/multichannel/multichannel-context.js.map +0 -1
- package/lib/esm/components/multichannel/multichannel-reply.d.ts +0 -1
- package/lib/esm/components/multichannel/multichannel-reply.js +0 -20
- package/lib/esm/components/multichannel/multichannel-reply.js.map +0 -1
- package/lib/esm/components/multichannel/multichannel-text.d.ts +0 -1
- package/lib/esm/components/multichannel/multichannel-text.js +0 -160
- package/lib/esm/components/multichannel/multichannel-text.js.map +0 -1
- package/lib/esm/components/multichannel/multichannel-utils.d.ts +0 -21
- package/lib/esm/components/multichannel/multichannel-utils.js +0 -81
- package/lib/esm/components/multichannel/multichannel-utils.js.map +0 -1
- package/lib/esm/components/multichannel/multichannel.d.ts +0 -1
- package/lib/esm/components/multichannel/multichannel.js +0 -57
- package/lib/esm/components/multichannel/multichannel.js.map +0 -1
- package/lib/esm/components/multichannel/whatsapp/constants.d.ts +0 -11
- package/lib/esm/components/multichannel/whatsapp/constants.js +0 -10
- package/lib/esm/components/multichannel/whatsapp/constants.js.map +0 -1
- package/lib/esm/components/multichannel/whatsapp/markdown-meta.d.ts +0 -1
- package/lib/esm/components/multichannel/whatsapp/markdown-meta.js +0 -38
- package/lib/esm/components/multichannel/whatsapp/markdown-meta.js.map +0 -1
- package/lib/esm/components/pic.d.ts +0 -6
- package/lib/esm/components/pic.js +0 -25
- package/lib/esm/components/pic.js.map +0 -1
- package/lib/esm/components/raw.d.ts +0 -9
- package/lib/esm/components/raw.js +0 -39
- package/lib/esm/components/raw.js.map +0 -1
- package/lib/esm/components/reply.d.ts +0 -10
- package/lib/esm/components/reply.js +0 -53
- package/lib/esm/components/reply.js.map +0 -1
- package/lib/esm/components/share-button.d.ts +0 -1
- package/lib/esm/components/share-button.js +0 -9
- package/lib/esm/components/share-button.js.map +0 -1
- package/lib/esm/components/subtitle.d.ts +0 -6
- package/lib/esm/components/subtitle.js +0 -19
- package/lib/esm/components/subtitle.js.map +0 -1
- package/lib/esm/components/text.d.ts +0 -7
- package/lib/esm/components/text.js +0 -40
- package/lib/esm/components/text.js.map +0 -1
- package/lib/esm/components/title.d.ts +0 -6
- package/lib/esm/components/title.js +0 -17
- package/lib/esm/components/title.js.map +0 -1
- package/lib/esm/components/video.d.ts +0 -9
- package/lib/esm/components/video.js +0 -25
- package/lib/esm/components/video.js.map +0 -1
- package/lib/esm/components/webchat-settings.d.ts +0 -16
- package/lib/esm/components/webchat-settings.js +0 -69
- package/lib/esm/components/webchat-settings.js.map +0 -1
- package/lib/esm/components/whatsapp-button-list.d.ts +0 -20
- package/lib/esm/components/whatsapp-button-list.js +0 -47
- package/lib/esm/components/whatsapp-button-list.js.map +0 -1
- package/lib/esm/components/whatsapp-cta-url-button.d.ts +0 -15
- package/lib/esm/components/whatsapp-cta-url-button.js +0 -33
- package/lib/esm/components/whatsapp-cta-url-button.js.map +0 -1
- package/lib/esm/components/whatsapp-template.d.ts +0 -1
- package/lib/esm/components/whatsapp-template.js +0 -20
- package/lib/esm/components/whatsapp-template.js.map +0 -1
- package/lib/esm/constants.d.ts +0 -165
- package/lib/esm/constants.js +0 -187
- package/lib/esm/constants.js.map +0 -1
- package/lib/esm/contexts.d.ts +0 -18
- package/lib/esm/contexts.js +0 -18
- package/lib/esm/contexts.js.map +0 -1
- package/lib/esm/dev-app.d.ts +0 -38
- package/lib/esm/dev-app.js +0 -81
- package/lib/esm/dev-app.js.map +0 -1
- package/lib/esm/index-types.d.ts +0 -178
- package/lib/esm/index-types.js +0 -12
- package/lib/esm/index-types.js.map +0 -1
- package/lib/esm/index.d.ts +0 -11
- package/lib/esm/index.js +0 -12
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/message-utils.d.ts +0 -19
- package/lib/esm/message-utils.js +0 -41
- package/lib/esm/message-utils.js.map +0 -1
- package/lib/esm/msg-to-botonic.d.ts +0 -18
- package/lib/esm/msg-to-botonic.js +0 -132
- package/lib/esm/msg-to-botonic.js.map +0 -1
- package/lib/esm/node-app.d.ts +0 -7
- package/lib/esm/node-app.js +0 -19
- package/lib/esm/node-app.js.map +0 -1
- package/lib/esm/react-bot.d.ts +0 -8
- package/lib/esm/react-bot.js +0 -32
- package/lib/esm/react-bot.js.map +0 -1
- package/lib/esm/shared/styles.d.ts +0 -2
- package/lib/esm/shared/styles.js +0 -28
- package/lib/esm/shared/styles.js.map +0 -1
- package/lib/esm/util/dom.d.ts +0 -4
- package/lib/esm/util/dom.js +0 -24
- package/lib/esm/util/dom.js.map +0 -1
- package/lib/esm/util/environment.d.ts +0 -6
- package/lib/esm/util/environment.js +0 -61
- package/lib/esm/util/environment.js.map +0 -1
- package/lib/esm/util/error-boundary.d.ts +0 -7
- package/lib/esm/util/error-boundary.js +0 -28
- package/lib/esm/util/error-boundary.js.map +0 -1
- package/lib/esm/util/index.d.ts +0 -9
- package/lib/esm/util/index.js +0 -10
- package/lib/esm/util/index.js.map +0 -1
- package/lib/esm/util/logs.d.ts +0 -2
- package/lib/esm/util/logs.js +0 -15
- package/lib/esm/util/logs.js.map +0 -1
- package/lib/esm/util/objects.d.ts +0 -3
- package/lib/esm/util/objects.js +0 -38
- package/lib/esm/util/objects.js.map +0 -1
- package/lib/esm/util/react.d.ts +0 -12
- package/lib/esm/util/react.js +0 -34
- package/lib/esm/util/react.js.map +0 -1
- package/lib/esm/util/regexs.d.ts +0 -2
- package/lib/esm/util/regexs.js +0 -18
- package/lib/esm/util/regexs.js.map +0 -1
- package/lib/esm/util/strings.d.ts +0 -1
- package/lib/esm/util/strings.js +0 -7
- package/lib/esm/util/strings.js.map +0 -1
- package/lib/esm/util/webchat.d.ts +0 -22
- package/lib/esm/util/webchat.js +0 -55
- package/lib/esm/util/webchat.js.map +0 -1
- package/lib/esm/util/webviews.d.ts +0 -1
- package/lib/esm/util/webviews.js +0 -6
- package/lib/esm/util/webviews.js.map +0 -1
- package/lib/esm/webchat/chat-area/index.d.ts +0 -1
- package/lib/esm/webchat/chat-area/index.js +0 -18
- package/lib/esm/webchat/chat-area/index.js.map +0 -1
- package/lib/esm/webchat/chat-area/styles.d.ts +0 -3
- package/lib/esm/webchat/chat-area/styles.js +0 -9
- package/lib/esm/webchat/chat-area/styles.js.map +0 -1
- package/lib/esm/webchat/components/common.d.ts +0 -1
- package/lib/esm/webchat/components/common.js +0 -9
- package/lib/esm/webchat/components/common.js.map +0 -1
- package/lib/esm/webchat/components/conditional-animation.d.ts +0 -1
- package/lib/esm/webchat/components/conditional-animation.js +0 -12
- package/lib/esm/webchat/components/conditional-animation.js.map +0 -1
- package/lib/esm/webchat/components/opened-persistent-menu.d.ts +0 -6
- package/lib/esm/webchat/components/opened-persistent-menu.js +0 -30
- package/lib/esm/webchat/components/opened-persistent-menu.js.map +0 -1
- package/lib/esm/webchat/constants.d.ts +0 -8
- package/lib/esm/webchat/constants.js +0 -10
- package/lib/esm/webchat/constants.js.map +0 -1
- package/lib/esm/webchat/context/actions.d.ts +0 -29
- package/lib/esm/webchat/context/actions.js +0 -32
- package/lib/esm/webchat/context/actions.js.map +0 -1
- package/lib/esm/webchat/context/index.d.ts +0 -5
- package/lib/esm/webchat/context/index.js +0 -78
- package/lib/esm/webchat/context/index.js.map +0 -1
- package/lib/esm/webchat/context/messages-reducer.d.ts +0 -6
- package/lib/esm/webchat/context/messages-reducer.js +0 -85
- package/lib/esm/webchat/context/messages-reducer.js.map +0 -1
- package/lib/esm/webchat/context/types.d.ts +0 -74
- package/lib/esm/webchat/context/types.js +0 -2
- package/lib/esm/webchat/context/types.js.map +0 -1
- package/lib/esm/webchat/context/use-webchat.d.ts +0 -47
- package/lib/esm/webchat/context/use-webchat.js +0 -195
- package/lib/esm/webchat/context/use-webchat.js.map +0 -1
- package/lib/esm/webchat/context/webchat-reducer.d.ts +0 -6
- package/lib/esm/webchat/context/webchat-reducer.js +0 -48
- package/lib/esm/webchat/context/webchat-reducer.js.map +0 -1
- package/lib/esm/webchat/cover-component/index.d.ts +0 -6
- package/lib/esm/webchat/cover-component/index.js +0 -17
- package/lib/esm/webchat/cover-component/index.js.map +0 -1
- package/lib/esm/webchat/devices/index.d.ts +0 -11
- package/lib/esm/webchat/devices/index.js +0 -18
- package/lib/esm/webchat/devices/index.js.map +0 -1
- package/lib/esm/webchat/header/default-header.d.ts +0 -1
- package/lib/esm/webchat/header/default-header.js +0 -21
- package/lib/esm/webchat/header/default-header.js.map +0 -1
- package/lib/esm/webchat/header/index.d.ts +0 -2
- package/lib/esm/webchat/header/index.js +0 -20
- package/lib/esm/webchat/header/index.js.map +0 -1
- package/lib/esm/webchat/header/styles.d.ts +0 -7
- package/lib/esm/webchat/header/styles.js +0 -55
- package/lib/esm/webchat/header/styles.js.map +0 -1
- package/lib/esm/webchat/hooks/index.d.ts +0 -10
- package/lib/esm/webchat/hooks/index.js +0 -11
- package/lib/esm/webchat/hooks/index.js.map +0 -1
- package/lib/esm/webchat/hooks/use-component-visible.d.ts +0 -8
- package/lib/esm/webchat/hooks/use-component-visible.js +0 -20
- package/lib/esm/webchat/hooks/use-component-visible.js.map +0 -1
- package/lib/esm/webchat/hooks/use-component-will-mount.d.ts +0 -1
- package/lib/esm/webchat/hooks/use-component-will-mount.js +0 -5
- package/lib/esm/webchat/hooks/use-component-will-mount.js.map +0 -1
- package/lib/esm/webchat/hooks/use-device-adapter.d.ts +0 -3
- package/lib/esm/webchat/hooks/use-device-adapter.js +0 -42
- package/lib/esm/webchat/hooks/use-device-adapter.js.map +0 -1
- package/lib/esm/webchat/hooks/use-previous.d.ts +0 -1
- package/lib/esm/webchat/hooks/use-previous.js +0 -9
- package/lib/esm/webchat/hooks/use-previous.js.map +0 -1
- package/lib/esm/webchat/hooks/use-scroll-to-bottom.d.ts +0 -9
- package/lib/esm/webchat/hooks/use-scroll-to-bottom.js +0 -19
- package/lib/esm/webchat/hooks/use-scroll-to-bottom.js.map +0 -1
- package/lib/esm/webchat/hooks/use-scrollbar-controller.d.ts +0 -6
- package/lib/esm/webchat/hooks/use-scrollbar-controller.js +0 -136
- package/lib/esm/webchat/hooks/use-scrollbar-controller.js.map +0 -1
- package/lib/esm/webchat/hooks/use-typing.d.ts +0 -10
- package/lib/esm/webchat/hooks/use-typing.js +0 -28
- package/lib/esm/webchat/hooks/use-typing.js.map +0 -1
- package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.d.ts +0 -3
- package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js +0 -24
- package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js.map +0 -1
- package/lib/esm/webchat/hooks/use-webchat-dimensions.d.ts +0 -4
- package/lib/esm/webchat/hooks/use-webchat-dimensions.js +0 -36
- package/lib/esm/webchat/hooks/use-webchat-dimensions.js.map +0 -1
- package/lib/esm/webchat/hooks/use-webchat-resizer.d.ts +0 -4
- package/lib/esm/webchat/hooks/use-webchat-resizer.js +0 -30
- package/lib/esm/webchat/hooks/use-webchat-resizer.js.map +0 -1
- package/lib/esm/webchat/index-types.d.ts +0 -18
- package/lib/esm/webchat/index-types.js +0 -2
- package/lib/esm/webchat/index-types.js.map +0 -1
- package/lib/esm/webchat/index.d.ts +0 -5
- package/lib/esm/webchat/index.js +0 -11
- package/lib/esm/webchat/index.js.map +0 -1
- package/lib/esm/webchat/input-panel/attachment.d.ts +0 -7
- package/lib/esm/webchat/input-panel/attachment.js +0 -26
- package/lib/esm/webchat/input-panel/attachment.js.map +0 -1
- package/lib/esm/webchat/input-panel/emoji-picker.d.ts +0 -6
- package/lib/esm/webchat/input-panel/emoji-picker.js +0 -23
- package/lib/esm/webchat/input-panel/emoji-picker.js.map +0 -1
- package/lib/esm/webchat/input-panel/index.d.ts +0 -12
- package/lib/esm/webchat/input-panel/index.js +0 -55
- package/lib/esm/webchat/input-panel/index.js.map +0 -1
- package/lib/esm/webchat/input-panel/opened-emoji-picker.d.ts +0 -6
- package/lib/esm/webchat/input-panel/opened-emoji-picker.js +0 -10
- package/lib/esm/webchat/input-panel/opened-emoji-picker.js.map +0 -1
- package/lib/esm/webchat/input-panel/persistent-menu.d.ts +0 -6
- package/lib/esm/webchat/input-panel/persistent-menu.js +0 -14
- package/lib/esm/webchat/input-panel/persistent-menu.js.map +0 -1
- package/lib/esm/webchat/input-panel/send-button.d.ts +0 -5
- package/lib/esm/webchat/input-panel/send-button.js +0 -14
- package/lib/esm/webchat/input-panel/send-button.js.map +0 -1
- package/lib/esm/webchat/input-panel/styles.d.ts +0 -3
- package/lib/esm/webchat/input-panel/styles.js +0 -27
- package/lib/esm/webchat/input-panel/styles.js.map +0 -1
- package/lib/esm/webchat/input-panel/textarea.d.ts +0 -11
- package/lib/esm/webchat/input-panel/textarea.js +0 -58
- package/lib/esm/webchat/input-panel/textarea.js.map +0 -1
- package/lib/esm/webchat/message-list/index.d.ts +0 -1
- package/lib/esm/webchat/message-list/index.js +0 -107
- package/lib/esm/webchat/message-list/index.js.map +0 -1
- package/lib/esm/webchat/message-list/intro-message.d.ts +0 -1
- package/lib/esm/webchat/message-list/intro-message.js +0 -18
- package/lib/esm/webchat/message-list/intro-message.js.map +0 -1
- package/lib/esm/webchat/message-list/scroll-button.d.ts +0 -6
- package/lib/esm/webchat/message-list/scroll-button.js +0 -12
- package/lib/esm/webchat/message-list/scroll-button.js.map +0 -1
- package/lib/esm/webchat/message-list/styles.d.ts +0 -5
- package/lib/esm/webchat/message-list/styles.js +0 -56
- package/lib/esm/webchat/message-list/styles.js.map +0 -1
- package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +0 -6
- package/lib/esm/webchat/message-list/unread-messages-banner.js +0 -13
- package/lib/esm/webchat/message-list/unread-messages-banner.js.map +0 -1
- package/lib/esm/webchat/message-list/use-debounce.d.ts +0 -1
- package/lib/esm/webchat/message-list/use-debounce.js +0 -14
- package/lib/esm/webchat/message-list/use-debounce.js.map +0 -1
- package/lib/esm/webchat/message-list/use-notifications.d.ts +0 -7
- package/lib/esm/webchat/message-list/use-notifications.js +0 -20
- package/lib/esm/webchat/message-list/use-notifications.js.map +0 -1
- package/lib/esm/webchat/replies/index.d.ts +0 -1
- package/lib/esm/webchat/replies/index.js +0 -28
- package/lib/esm/webchat/replies/index.js.map +0 -1
- package/lib/esm/webchat/replies/styles.d.ts +0 -8
- package/lib/esm/webchat/replies/styles.js +0 -21
- package/lib/esm/webchat/replies/styles.js.map +0 -1
- package/lib/esm/webchat/session-view.d.ts +0 -1
- package/lib/esm/webchat/session-view.js +0 -96
- package/lib/esm/webchat/session-view.js.map +0 -1
- package/lib/esm/webchat/styles.d.ts +0 -9
- package/lib/esm/webchat/styles.js +0 -50
- package/lib/esm/webchat/styles.js.map +0 -1
- package/lib/esm/webchat/theme/types.d.ts +0 -167
- package/lib/esm/webchat/theme/types.js +0 -2
- package/lib/esm/webchat/theme/types.js.map +0 -1
- package/lib/esm/webchat/tracking.d.ts +0 -7
- package/lib/esm/webchat/tracking.js +0 -10
- package/lib/esm/webchat/tracking.js.map +0 -1
- package/lib/esm/webchat/trigger-button/index.d.ts +0 -2
- package/lib/esm/webchat/trigger-button/index.js +0 -28
- package/lib/esm/webchat/trigger-button/index.js.map +0 -1
- package/lib/esm/webchat/trigger-button/styles.d.ts +0 -3
- package/lib/esm/webchat/trigger-button/styles.js +0 -36
- package/lib/esm/webchat/trigger-button/styles.js.map +0 -1
- package/lib/esm/webchat/typing-indicator/index.d.ts +0 -3
- package/lib/esm/webchat/typing-indicator/index.js +0 -8
- package/lib/esm/webchat/typing-indicator/index.js.map +0 -1
- package/lib/esm/webchat/typing-indicator/styles.d.ts +0 -7
- package/lib/esm/webchat/typing-indicator/styles.js +0 -46
- package/lib/esm/webchat/typing-indicator/styles.js.map +0 -1
- package/lib/esm/webchat/use-storage-state-hook.d.ts +0 -1
- package/lib/esm/webchat/use-storage-state-hook.js +0 -38
- package/lib/esm/webchat/use-storage-state-hook.js.map +0 -1
- package/lib/esm/webchat/utils.d.ts +0 -2
- package/lib/esm/webchat/utils.js +0 -8
- package/lib/esm/webchat/utils.js.map +0 -1
- package/lib/esm/webchat/webchat-dev.d.ts +0 -7
- package/lib/esm/webchat/webchat-dev.js +0 -56
- package/lib/esm/webchat/webchat-dev.js.map +0 -1
- package/lib/esm/webchat/webchat.d.ts +0 -4
- package/lib/esm/webchat/webchat.js +0 -522
- package/lib/esm/webchat/webchat.js.map +0 -1
- package/lib/esm/webchat/webview.d.ts +0 -2
- package/lib/esm/webchat/webview.js +0 -71
- package/lib/esm/webchat/webview.js.map +0 -1
- package/lib/esm/webchat-app.d.ts +0 -78
- package/lib/esm/webchat-app.js +0 -363
- package/lib/esm/webchat-app.js.map +0 -1
- package/lib/esm/webview-app.d.ts +0 -7
- package/lib/esm/webview-app.js +0 -105
- package/lib/esm/webview-app.js.map +0 -1
package/lib/esm/util/strings.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ThemeProps } from '../webchat/theme/types';
|
|
2
|
-
/**
|
|
3
|
-
* Returns the value of a property defined in bot's theme based on WEBCHAT.CUSTOM_PROPERTIES dictionary.
|
|
4
|
-
* It gives preference to nested defined properties (e.g.: header.style) over plain properties (e.g.: headerStyle).
|
|
5
|
-
* If property doesn't exist, returns the defaultValue.
|
|
6
|
-
*/
|
|
7
|
-
export declare const _getThemeProperty: (theme: ThemeProps) => (property: string, defaultValue?: any) => any;
|
|
8
|
-
export declare const createUser: () => {
|
|
9
|
-
id: string;
|
|
10
|
-
name: string;
|
|
11
|
-
};
|
|
12
|
-
export declare const initSession: (session: any) => {
|
|
13
|
-
user: {
|
|
14
|
-
id: string;
|
|
15
|
-
name: string;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
export declare const shouldKeepSessionOnReload: ({ initialDevSettings, devSettings, }: {
|
|
19
|
-
initialDevSettings: any;
|
|
20
|
-
devSettings: any;
|
|
21
|
-
}) => any;
|
|
22
|
-
export declare const getServerErrorMessage: (serverConfig: any) => any;
|
package/lib/esm/util/webchat.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
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) => {
|
|
12
|
-
for (const [key, value] of Object.entries(WEBCHAT.CUSTOM_PROPERTIES)) {
|
|
13
|
-
if (value === property) {
|
|
14
|
-
const nestedProperty = getProperty(theme, value);
|
|
15
|
-
if (nestedProperty !== undefined)
|
|
16
|
-
return nestedProperty;
|
|
17
|
-
const plainProperty = getProperty(theme, key);
|
|
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
|
-
var _a;
|
|
38
|
-
if (!session)
|
|
39
|
-
session = {};
|
|
40
|
-
const hasUserId = ((_a = session === null || session === void 0 ? void 0 : session.user) === null || _a === void 0 ? void 0 : _a.id) !== undefined;
|
|
41
|
-
if (!session.user || Object.keys(session.user).length === 0 || !hasUserId)
|
|
42
|
-
session.user = !hasUserId ? merge(session.user, createUser()) : createUser();
|
|
43
|
-
return session;
|
|
44
|
-
};
|
|
45
|
-
export const shouldKeepSessionOnReload = ({ initialDevSettings, devSettings, }) => !initialDevSettings || (devSettings && devSettings.keepSessionOnReload);
|
|
46
|
-
//TODO: Review param serverConfig if is of type ServerConfig this never have errorMessage
|
|
47
|
-
export const getServerErrorMessage = serverConfig => {
|
|
48
|
-
if (!serverConfig || !serverConfig.errorMessage)
|
|
49
|
-
return 'Connection issues';
|
|
50
|
-
if (typeof serverConfig.errorMessage === 'function') {
|
|
51
|
-
return serverConfig.errorMessage();
|
|
52
|
-
}
|
|
53
|
-
return serverConfig.errorMessage;
|
|
54
|
-
};
|
|
55
|
-
//# sourceMappingURL=webchat.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../src/util/webchat.ts"],"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;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,CAAC,KAAiB,EAAE,EAAE,CAAC,CAAC,QAAgB,EAAE,YAAkB,EAAE,EAAE;IAC9D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;QACpE,IAAI,KAAK,KAAK,QAAQ,EAAE;YACtB,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAChD,IAAI,cAAc,KAAK,SAAS;gBAAE,OAAO,cAAc,CAAA;YACvD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAC7C,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,GAGxB,EAAE;IACF,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,CACzB,OAAY,EAC4B,EAAE;;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,EAAE,CAAA;IAC1B,MAAM,SAAS,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,EAAE,MAAK,SAAS,CAAA;IACjD,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,yFAAyF;AACzF,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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function generateWebviewUrlWithParams(webview: any, params?: any): string;
|
package/lib/esm/util/webviews.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const ChatArea: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useContext, useEffect, useState } from 'react';
|
|
3
|
-
import { BotonicContainerId } from '../constants';
|
|
4
|
-
import { WebchatContext } from '../context';
|
|
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 && replies.length > 0 && _jsx(WebchatReplies, {})] })));
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,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,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAC,cAAc,KAAG,KACrC,CAClB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export function Icon(props: any): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export function ConditionalAnimation(props: any): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import React, { useContext } from 'react';
|
|
3
|
-
import { WEBCHAT } from '../../constants';
|
|
4
|
-
import { Scale } from '../../shared/styles';
|
|
5
|
-
import { ConditionalWrapper } from '../../util/react';
|
|
6
|
-
import { WebchatContext } from '../context';
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,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"}
|
|
@@ -1,30 +0,0 @@
|
|
|
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 '../context';
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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,YAAY,CAAA;AAC3C,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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,29 +0,0 @@
|
|
|
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
|
-
REMOVE_REPLIES = "removeReplies",
|
|
27
|
-
REMOVE_WEBVIEW = "removeWebview",
|
|
28
|
-
SET_IS_INPUT_FOCUSED = "setIsInputFocused"
|
|
29
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
2
|
-
export var WebchatAction;
|
|
3
|
-
(function (WebchatAction) {
|
|
4
|
-
WebchatAction["ADD_MESSAGE"] = "addMessage";
|
|
5
|
-
WebchatAction["ADD_MESSAGE_COMPONENT"] = "addMessageComponent";
|
|
6
|
-
WebchatAction["CLEAR_MESSAGES"] = "clearMessages";
|
|
7
|
-
WebchatAction["DO_RENDER_CUSTOM_COMPONENT"] = "doRenderCustomComponent";
|
|
8
|
-
WebchatAction["RESET_UNREAD_MESSAGES"] = "resetUnreadMessages";
|
|
9
|
-
WebchatAction["SET_CURRENT_ATTACHMENT"] = "setCurrentAttachment";
|
|
10
|
-
WebchatAction["SET_ERROR"] = "setError";
|
|
11
|
-
WebchatAction["SET_LAST_MESSAGE_VISIBLE"] = "setlastMessageVisible";
|
|
12
|
-
WebchatAction["SET_ONLINE"] = "setOnline";
|
|
13
|
-
WebchatAction["TOGGLE_COVER_COMPONENT"] = "toggleCoverComponent";
|
|
14
|
-
WebchatAction["TOGGLE_EMOJI_PICKER"] = "toggleEmojiPicker";
|
|
15
|
-
WebchatAction["TOGGLE_PERSISTENT_MENU"] = "togglePersistentMenu";
|
|
16
|
-
WebchatAction["TOGGLE_WEBCHAT"] = "toggleWebchat";
|
|
17
|
-
WebchatAction["UPDATE_DEV_SETTINGS"] = "updateDevSettings";
|
|
18
|
-
WebchatAction["UPDATE_HANDOFF"] = "updateHandoff";
|
|
19
|
-
WebchatAction["UPDATE_LAST_MESSAGE_DATE"] = "updateLastMessageDate";
|
|
20
|
-
WebchatAction["UPDATE_LAST_ROUTE_PATH"] = "updateLastRoutePath";
|
|
21
|
-
WebchatAction["UPDATE_LATEST_INPUT"] = "updateLatestInput";
|
|
22
|
-
WebchatAction["UPDATE_MESSAGE"] = "updateMessage";
|
|
23
|
-
WebchatAction["UPDATE_REPLIES"] = "updateReplies";
|
|
24
|
-
WebchatAction["UPDATE_SESSION"] = "updateSession";
|
|
25
|
-
WebchatAction["UPDATE_THEME"] = "updateTheme";
|
|
26
|
-
WebchatAction["UPDATE_TYPING"] = "updateTyping";
|
|
27
|
-
WebchatAction["UPDATE_WEBVIEW"] = "updateWebview";
|
|
28
|
-
WebchatAction["REMOVE_REPLIES"] = "removeReplies";
|
|
29
|
-
WebchatAction["REMOVE_WEBVIEW"] = "removeWebview";
|
|
30
|
-
WebchatAction["SET_IS_INPUT_FOCUSED"] = "setIsInputFocused";
|
|
31
|
-
})(WebchatAction || (WebchatAction = {}));
|
|
32
|
-
//# sourceMappingURL=actions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/webchat/context/actions.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,MAAM,CAAN,IAAY,aA4BX;AA5BD,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,iDAAgC,CAAA;IAChC,iDAAgC,CAAA;IAChC,2DAA0C,CAAA;AAC5C,CAAC,EA5BW,aAAa,KAAb,aAAa,QA4BxB"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { WebchatContextProps } from './types';
|
|
3
|
-
export { WebchatState } from './types';
|
|
4
|
-
export { useWebchat, webchatInitialState } from './use-webchat';
|
|
5
|
-
export declare const WebchatContext: import("react").Context<WebchatContextProps>;
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { createContext } from 'react';
|
|
3
|
-
import { webchatInitialState } from './use-webchat';
|
|
4
|
-
export { useWebchat, webchatInitialState } from './use-webchat';
|
|
5
|
-
export const WebchatContext = createContext({
|
|
6
|
-
addMessage: () => {
|
|
7
|
-
return;
|
|
8
|
-
},
|
|
9
|
-
getThemeProperty: () => {
|
|
10
|
-
return;
|
|
11
|
-
},
|
|
12
|
-
openWebview: () => {
|
|
13
|
-
return;
|
|
14
|
-
},
|
|
15
|
-
resolveCase: () => {
|
|
16
|
-
return;
|
|
17
|
-
},
|
|
18
|
-
resetUnreadMessages: () => {
|
|
19
|
-
return;
|
|
20
|
-
},
|
|
21
|
-
setIsInputFocused: () => {
|
|
22
|
-
return;
|
|
23
|
-
},
|
|
24
|
-
setLastMessageVisible: () => {
|
|
25
|
-
return;
|
|
26
|
-
},
|
|
27
|
-
sendAttachment: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
-
return;
|
|
29
|
-
}),
|
|
30
|
-
sendInput: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
|
-
return;
|
|
32
|
-
}),
|
|
33
|
-
sendPayload: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
-
return;
|
|
35
|
-
}),
|
|
36
|
-
sendText: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
37
|
-
return;
|
|
38
|
-
}),
|
|
39
|
-
theme: {},
|
|
40
|
-
toggleCoverComponent: () => {
|
|
41
|
-
return;
|
|
42
|
-
},
|
|
43
|
-
toggleWebchat: () => {
|
|
44
|
-
return;
|
|
45
|
-
},
|
|
46
|
-
toggleEmojiPicker: () => {
|
|
47
|
-
return;
|
|
48
|
-
},
|
|
49
|
-
togglePersistentMenu: () => {
|
|
50
|
-
return;
|
|
51
|
-
},
|
|
52
|
-
updateLatestInput: () => {
|
|
53
|
-
return;
|
|
54
|
-
},
|
|
55
|
-
updateMessage: () => {
|
|
56
|
-
return;
|
|
57
|
-
},
|
|
58
|
-
updateReplies: () => {
|
|
59
|
-
return;
|
|
60
|
-
},
|
|
61
|
-
updateUser: () => {
|
|
62
|
-
return;
|
|
63
|
-
},
|
|
64
|
-
updateWebchatDevSettings: () => {
|
|
65
|
-
return;
|
|
66
|
-
},
|
|
67
|
-
webchatState: webchatInitialState,
|
|
68
|
-
trackEvent: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
69
|
-
return;
|
|
70
|
-
}),
|
|
71
|
-
webchatRef: { current: null },
|
|
72
|
-
chatAreaRef: { current: null },
|
|
73
|
-
inputPanelRef: { current: null },
|
|
74
|
-
headerRef: { current: null },
|
|
75
|
-
scrollableMessagesListRef: { current: null },
|
|
76
|
-
repliesRef: { current: null },
|
|
77
|
-
});
|
|
78
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/webchat/context/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAGrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAGnD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAsB;IAC/D,UAAU,EAAE,GAAG,EAAE;QACf,OAAM;IACR,CAAC;IACD,gBAAgB,EAAE,GAAG,EAAE;QACrB,OAAM;IACR,CAAC;IACD,WAAW,EAAE,GAAG,EAAE;QAChB,OAAM;IACR,CAAC;IACD,WAAW,EAAE,GAAG,EAAE;QAChB,OAAM;IACR,CAAC;IACD,mBAAmB,EAAE,GAAG,EAAE;QACxB,OAAM;IACR,CAAC;IACD,iBAAiB,EAAE,GAAG,EAAE;QACtB,OAAM;IACR,CAAC;IACD,qBAAqB,EAAE,GAAG,EAAE;QAC1B,OAAM;IACR,CAAC;IACD,cAAc,EAAE,GAAS,EAAE;QACzB,OAAM;IACR,CAAC,CAAA;IACD,SAAS,EAAE,GAAS,EAAE;QACpB,OAAM;IACR,CAAC,CAAA;IACD,WAAW,EAAE,GAAS,EAAE;QACtB,OAAM;IACR,CAAC,CAAA;IACD,QAAQ,EAAE,GAAS,EAAE;QACnB,OAAM;IACR,CAAC,CAAA;IACD,KAAK,EAAE,EAAE;IACT,oBAAoB,EAAE,GAAG,EAAE;QACzB,OAAM;IACR,CAAC;IACD,aAAa,EAAE,GAAG,EAAE;QAClB,OAAM;IACR,CAAC;IACD,iBAAiB,EAAE,GAAG,EAAE;QACtB,OAAM;IACR,CAAC;IACD,oBAAoB,EAAE,GAAG,EAAE;QACzB,OAAM;IACR,CAAC;IACD,iBAAiB,EAAE,GAAG,EAAE;QACtB,OAAM;IACR,CAAC;IACD,aAAa,EAAE,GAAG,EAAE;QAClB,OAAM;IACR,CAAC;IACD,aAAa,EAAE,GAAG,EAAE;QAClB,OAAM;IACR,CAAC;IACD,UAAU,EAAE,GAAG,EAAE;QACf,OAAM;IACR,CAAC;IACD,wBAAwB,EAAE,GAAG,EAAE;QAC7B,OAAM;IACR,CAAC;IACD,YAAY,EAAE,mBAAmB;IACjC,UAAU,EAAE,GAAS,EAAE;QACrB,OAAM;IACR,CAAC,CAAA;IACD,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAC7B,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAC9B,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAChC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAC5B,yBAAyB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IAC5C,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;CAC9B,CAAC,CAAA"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { SENDERS } from '../../index-types';
|
|
2
|
-
import { WebchatAction } from './actions';
|
|
3
|
-
export const messagesReducer = (state, action) => {
|
|
4
|
-
switch (action.type) {
|
|
5
|
-
case WebchatAction.ADD_MESSAGE:
|
|
6
|
-
return addMessageReducer(state, action);
|
|
7
|
-
case WebchatAction.ADD_MESSAGE_COMPONENT:
|
|
8
|
-
return addMessageComponent(state, action);
|
|
9
|
-
case WebchatAction.UPDATE_MESSAGE:
|
|
10
|
-
return updateMessageReducer(state, action);
|
|
11
|
-
case WebchatAction.UPDATE_REPLIES:
|
|
12
|
-
return Object.assign(Object.assign({}, state), { replies: action.payload });
|
|
13
|
-
case WebchatAction.REMOVE_REPLIES:
|
|
14
|
-
return Object.assign(Object.assign({}, state), { replies: undefined });
|
|
15
|
-
case WebchatAction.CLEAR_MESSAGES:
|
|
16
|
-
return Object.assign(Object.assign({}, state), { messagesJSON: [], messagesComponents: [], numUnreadMessages: 0 });
|
|
17
|
-
case WebchatAction.UPDATE_LAST_MESSAGE_DATE:
|
|
18
|
-
return Object.assign(Object.assign({}, state), { lastMessageUpdate: action.payload });
|
|
19
|
-
case WebchatAction.RESET_UNREAD_MESSAGES:
|
|
20
|
-
return resetUnreadMessages(state);
|
|
21
|
-
case WebchatAction.SET_LAST_MESSAGE_VISIBLE:
|
|
22
|
-
return Object.assign(Object.assign({}, state), { isLastMessageVisible: action.payload });
|
|
23
|
-
default:
|
|
24
|
-
throw new Error();
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
function addMessageComponent(state, action) {
|
|
28
|
-
var _a, _b;
|
|
29
|
-
const messageComponent = action.payload;
|
|
30
|
-
const isUnreadMessage = ((_a = messageComponent.props) === null || _a === void 0 ? void 0 : _a.isUnread) &&
|
|
31
|
-
((_b = messageComponent.props) === null || _b === void 0 ? void 0 : _b.sentBy) !== SENDERS.user;
|
|
32
|
-
const numUnreadMessages = isUnreadMessage
|
|
33
|
-
? state.numUnreadMessages + 1
|
|
34
|
-
: state.numUnreadMessages;
|
|
35
|
-
return Object.assign(Object.assign({}, state), { messagesComponents: [...(state.messagesComponents || []), messageComponent], numUnreadMessages });
|
|
36
|
-
}
|
|
37
|
-
function resetUnreadMessages(state) {
|
|
38
|
-
const messagesComponents = state.messagesComponents.map(messageComponent => {
|
|
39
|
-
if (messageComponent.props.isUnread) {
|
|
40
|
-
messageComponent = Object.assign(Object.assign({}, messageComponent), { props: Object.assign(Object.assign({}, messageComponent.props), { isUnread: false }) });
|
|
41
|
-
}
|
|
42
|
-
return messageComponent;
|
|
43
|
-
});
|
|
44
|
-
const messagesJSON = state.messagesJSON.map(messageJSON => {
|
|
45
|
-
if (messageJSON.isUnread) {
|
|
46
|
-
messageJSON.isUnread = false;
|
|
47
|
-
}
|
|
48
|
-
return messageJSON;
|
|
49
|
-
});
|
|
50
|
-
return Object.assign(Object.assign({}, state), { messagesComponents,
|
|
51
|
-
messagesJSON, numUnreadMessages: 0 });
|
|
52
|
-
}
|
|
53
|
-
function updateMessageReducer(state, action) {
|
|
54
|
-
const msgIndex = state.messagesJSON.map(m => m.id).indexOf(action.payload.id);
|
|
55
|
-
if (msgIndex > -1) {
|
|
56
|
-
const msgComponent = state.messagesComponents[msgIndex];
|
|
57
|
-
let updatedMessageComponents = {};
|
|
58
|
-
if (msgComponent) {
|
|
59
|
-
const updatedMsgComponent = Object.assign(Object.assign({}, msgComponent), {
|
|
60
|
-
props: Object.assign(Object.assign({}, msgComponent.props), { ack: action.payload.ack }),
|
|
61
|
-
});
|
|
62
|
-
updatedMessageComponents = {
|
|
63
|
-
messagesComponents: [
|
|
64
|
-
...state.messagesComponents.slice(0, msgIndex),
|
|
65
|
-
Object.assign({}, updatedMsgComponent),
|
|
66
|
-
...state.messagesComponents.slice(msgIndex + 1),
|
|
67
|
-
],
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
const numUnreadMessages = state.messagesComponents.filter(messageComponent => messageComponent.props.isUnread).length;
|
|
71
|
-
return Object.assign(Object.assign(Object.assign(Object.assign({}, state), { messagesJSON: [
|
|
72
|
-
...state.messagesJSON.slice(0, msgIndex),
|
|
73
|
-
Object.assign({}, action.payload),
|
|
74
|
-
...state.messagesJSON.slice(msgIndex + 1),
|
|
75
|
-
] }), updatedMessageComponents), { numUnreadMessages });
|
|
76
|
-
}
|
|
77
|
-
return state;
|
|
78
|
-
}
|
|
79
|
-
function addMessageReducer(state, action) {
|
|
80
|
-
if (state.messagesJSON &&
|
|
81
|
-
state.messagesJSON.find(m => m.id === action.payload.id))
|
|
82
|
-
return state;
|
|
83
|
-
return Object.assign(Object.assign({}, state), { messagesJSON: [...(state.messagesJSON || []), action.payload] });
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=messages-reducer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messages-reducer.js","sourceRoot":"","sources":["../../../../src/webchat/context/messages-reducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { Input as CoreInput, Session as CoreSession, SessionUser as CoreSessionUser } from '@botonic/core';
|
|
3
|
-
import { Reply, WebchatSettingsProps, Webview } from '../../components';
|
|
4
|
-
import { TrackEventFunction, WebchatMessage } from '../../index-types';
|
|
5
|
-
import { WebchatStateTheme } from '../index-types';
|
|
6
|
-
import { ThemeProps } from '../theme/types';
|
|
7
|
-
export interface ErrorMessage {
|
|
8
|
-
message?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface DevSettings {
|
|
11
|
-
keepSessionOnReload?: boolean;
|
|
12
|
-
showSessionView?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export interface WebchatState {
|
|
15
|
-
width: number;
|
|
16
|
-
height: number;
|
|
17
|
-
messagesJSON: any[];
|
|
18
|
-
messagesComponents: any[];
|
|
19
|
-
replies?: (typeof Reply)[];
|
|
20
|
-
latestInput: Partial<CoreInput>;
|
|
21
|
-
typing: boolean;
|
|
22
|
-
webview: Webview | null;
|
|
23
|
-
webviewParams: null;
|
|
24
|
-
session: Partial<CoreSession>;
|
|
25
|
-
lastRoutePath?: string;
|
|
26
|
-
handoff: boolean;
|
|
27
|
-
theme: WebchatStateTheme;
|
|
28
|
-
themeUpdates: Partial<WebchatStateTheme>;
|
|
29
|
-
error: ErrorMessage;
|
|
30
|
-
online: boolean;
|
|
31
|
-
devSettings: DevSettings;
|
|
32
|
-
isWebchatOpen: boolean;
|
|
33
|
-
isEmojiPickerOpen: boolean;
|
|
34
|
-
isPersistentMenuOpen: boolean;
|
|
35
|
-
isCoverComponentOpen: boolean;
|
|
36
|
-
isCustomComponentRendered: boolean;
|
|
37
|
-
lastMessageUpdate?: string;
|
|
38
|
-
currentAttachment?: File;
|
|
39
|
-
numUnreadMessages: number;
|
|
40
|
-
isLastMessageVisible: boolean;
|
|
41
|
-
isInputFocused: boolean;
|
|
42
|
-
}
|
|
43
|
-
export type ClientInput = Omit<CoreInput, 'message_id' | 'bot_interaction_id'>;
|
|
44
|
-
export interface WebchatContextProps {
|
|
45
|
-
addMessage: (message: WebchatMessage) => void;
|
|
46
|
-
getThemeProperty: (property: string, defaultValue?: any) => any;
|
|
47
|
-
openWebview: (webviewComponent: Webview, params?: any) => void;
|
|
48
|
-
resetUnreadMessages: () => void;
|
|
49
|
-
resolveCase: () => void;
|
|
50
|
-
sendAttachment: (attachment: File) => Promise<void>;
|
|
51
|
-
sendInput: (input: ClientInput) => Promise<void>;
|
|
52
|
-
sendPayload: (payload: string) => Promise<void>;
|
|
53
|
-
sendText: (text: string, payload?: string) => Promise<void>;
|
|
54
|
-
setIsInputFocused: (isInputFocused: boolean) => void;
|
|
55
|
-
setLastMessageVisible: (isLastMessageVisible: boolean) => void;
|
|
56
|
-
theme: ThemeProps;
|
|
57
|
-
toggleWebchat: (toggle: boolean) => void;
|
|
58
|
-
toggleEmojiPicker: (toggle: boolean) => void;
|
|
59
|
-
togglePersistentMenu: (toggle: boolean) => void;
|
|
60
|
-
toggleCoverComponent: (toggle: boolean) => void;
|
|
61
|
-
updateLatestInput: (input: ClientInput) => void;
|
|
62
|
-
updateMessage: (message: WebchatMessage) => void;
|
|
63
|
-
updateReplies: (replies: (typeof Reply)[]) => void;
|
|
64
|
-
updateUser: (user: Partial<CoreSessionUser>) => void;
|
|
65
|
-
updateWebchatDevSettings: (settings: WebchatSettingsProps) => void;
|
|
66
|
-
trackEvent?: TrackEventFunction;
|
|
67
|
-
webchatState: WebchatState;
|
|
68
|
-
webchatRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
69
|
-
chatAreaRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
70
|
-
inputPanelRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
71
|
-
headerRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
72
|
-
scrollableMessagesListRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
73
|
-
repliesRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
74
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/webchat/context/types.ts"],"names":[],"mappings":""}
|