@botonic/react 0.44.1 → 0.45.0-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/botonic-tester.js +0 -1
- package/lib/cjs/botonic-tester.js.map +1 -1
- package/lib/cjs/components/audio.d.ts +1 -1
- package/lib/cjs/components/audio.js +2 -1
- package/lib/cjs/components/audio.js.map +1 -1
- package/lib/cjs/components/button/index.d.ts +1 -1
- package/lib/cjs/components/button/index.js +5 -8
- package/lib/cjs/components/button/index.js.map +1 -1
- package/lib/cjs/components/buttons-disabler.d.ts +2 -2
- package/lib/cjs/components/buttons-disabler.js +12 -6
- package/lib/cjs/components/buttons-disabler.js.map +1 -1
- package/lib/cjs/components/carousel.d.ts +1 -1
- package/lib/cjs/components/carousel.js +5 -4
- package/lib/cjs/components/carousel.js.map +1 -1
- package/lib/cjs/components/custom-message.d.ts +1 -1
- package/lib/cjs/components/custom-message.js +1 -2
- package/lib/cjs/components/custom-message.js.map +1 -1
- package/lib/cjs/components/document.d.ts +1 -1
- package/lib/cjs/components/document.js +2 -1
- package/lib/cjs/components/document.js.map +1 -1
- package/lib/cjs/components/element.d.ts +1 -1
- package/lib/cjs/components/element.js +7 -5
- package/lib/cjs/components/element.js.map +1 -1
- package/lib/cjs/components/handoff.d.ts +1 -1
- package/lib/cjs/components/handoff.js +2 -2
- package/lib/cjs/components/handoff.js.map +1 -1
- package/lib/cjs/components/image.d.ts +1 -1
- package/lib/cjs/components/image.js.map +1 -1
- package/lib/cjs/components/index-types.d.ts +2 -2
- package/lib/cjs/components/location.js +2 -3
- package/lib/cjs/components/location.js.map +1 -1
- package/lib/cjs/components/markdown.d.ts +1 -1
- package/lib/cjs/components/markdown.js +24 -16
- package/lib/cjs/components/markdown.js.map +1 -1
- package/lib/cjs/components/message/index.js +25 -20
- package/lib/cjs/components/message/index.js.map +1 -1
- package/lib/cjs/components/message/message-feedback.js.map +1 -1
- package/lib/cjs/components/message/message-footer.js.map +1 -1
- package/lib/cjs/components/message/message-image.js.map +1 -1
- package/lib/cjs/components/message/timestamps.js +1 -1
- package/lib/cjs/components/message/timestamps.js.map +1 -1
- package/lib/cjs/components/message-template.js +3 -4
- package/lib/cjs/components/message-template.js.map +1 -1
- package/lib/cjs/components/multichannel/facebook/facebook.js +3 -2
- package/lib/cjs/components/multichannel/facebook/facebook.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-button.js +6 -6
- package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-carousel.js +11 -7
- package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-reply.js +3 -3
- package/lib/cjs/components/multichannel/multichannel-reply.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-text.js +15 -9
- package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-utils.js +8 -4
- package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel.js +1 -2
- package/lib/cjs/components/multichannel/multichannel.js.map +1 -1
- package/lib/cjs/components/pic.js +1 -1
- package/lib/cjs/components/pic.js.map +1 -1
- package/lib/cjs/components/raw.js +3 -2
- package/lib/cjs/components/raw.js.map +1 -1
- package/lib/cjs/components/reply.d.ts +1 -1
- package/lib/cjs/components/reply.js +6 -4
- package/lib/cjs/components/reply.js.map +1 -1
- package/lib/cjs/components/share-button.js +3 -4
- package/lib/cjs/components/share-button.js.map +1 -1
- package/lib/cjs/components/subtitle.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/debug-message.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/debug-message.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/ai-agent.d.ts +2 -2
- package/lib/cjs/components/system-debug-trace/events/ai-agent.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/bot-action.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/events/bot-action.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/components/guardrail-item.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/events/components/sources-section.d.ts +2 -2
- package/lib/cjs/components/system-debug-trace/events/components/sources-section.js +2 -1
- package/lib/cjs/components/system-debug-trace/events/components/sources-section.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/conditional-channel.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/events/conditional-channel.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/conditional-country.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/events/conditional-country.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/conditional-custom.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/events/conditional-custom.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/conditional-queue-status.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/events/conditional-queue-status.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/fallback.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/events/fallback.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/handoff-success.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/events/handoff-success.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/keyword.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/events/keyword.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/knowledge-base.d.ts +2 -2
- package/lib/cjs/components/system-debug-trace/events/knowledge-base.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/redirect-flow.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/events/redirect-flow.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/smart-intent.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/events/smart-intent.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/events/webview-action-triggered.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/events/webview-action-triggered.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/hooks/use-knowledge-base-info.d.ts +2 -2
- package/lib/cjs/components/system-debug-trace/hooks/use-knowledge-base-info.js +2 -2
- package/lib/cjs/components/system-debug-trace/hooks/use-knowledge-base-info.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/hooks/use-last-label-position.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/hooks/use-last-label-position.js +6 -3
- package/lib/cjs/components/system-debug-trace/hooks/use-last-label-position.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/arrow-progress.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/arrow-progress.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/arrow-progress.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/brain.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/brain.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/brain.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/caret-down.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/caret-down.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/caret-down.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/caret-up.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/caret-up.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/caret-up.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/circle-check.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/circle-check.js +1 -0
- package/lib/cjs/components/system-debug-trace/icons/circle-check.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/code.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/code.js +1 -0
- package/lib/cjs/components/system-debug-trace/icons/code.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/file-pdf.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/file-pdf.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/file-pdf.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/file-word.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/file-word.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/file-word.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/hand.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/hand.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/hand.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/head-set.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/head-set.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/head-set.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/life-ring.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/life-ring.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/life-ring.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/link.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/link.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/link.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/quote-right.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/quote-right.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/quote-right.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/screwdriver-wrench.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/screwdriver-wrench.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/screwdriver-wrench.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/split.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/split.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/split.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/wand.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/wand.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/wand.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/icons/window-restore.d.ts +1 -1
- package/lib/cjs/components/system-debug-trace/icons/window-restore.js +3 -1
- package/lib/cjs/components/system-debug-trace/icons/window-restore.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/index.js.map +1 -1
- package/lib/cjs/components/system-debug-trace/types.d.ts +2 -2
- package/lib/cjs/components/text.d.ts +1 -1
- package/lib/cjs/components/text.js +8 -4
- package/lib/cjs/components/text.js.map +1 -1
- package/lib/cjs/components/title.d.ts +1 -1
- package/lib/cjs/components/video.d.ts +1 -1
- package/lib/cjs/components/video.js +2 -1
- package/lib/cjs/components/video.js.map +1 -1
- package/lib/cjs/components/webchat-settings.d.ts +3 -3
- package/lib/cjs/components/webchat-settings.js +40 -35
- package/lib/cjs/components/webchat-settings.js.map +1 -1
- package/lib/cjs/components/whatsapp-button-list.js +1 -1
- package/lib/cjs/components/whatsapp-button-list.js.map +1 -1
- package/lib/cjs/components/whatsapp-catalog.js +1 -1
- package/lib/cjs/components/whatsapp-catalog.js.map +1 -1
- package/lib/cjs/components/whatsapp-cta-url-button.js +1 -1
- package/lib/cjs/components/whatsapp-cta-url-button.js.map +1 -1
- package/lib/cjs/components/whatsapp-interactive-media-carousel.js +1 -1
- package/lib/cjs/components/whatsapp-interactive-media-carousel.js.map +1 -1
- package/lib/cjs/components/whatsapp-media-carousel.js +1 -1
- package/lib/cjs/components/whatsapp-media-carousel.js.map +1 -1
- package/lib/cjs/components/whatsapp-product-carousel.js +1 -1
- package/lib/cjs/components/whatsapp-product-carousel.js.map +1 -1
- package/lib/cjs/components/whatsapp-product-list.js +1 -1
- package/lib/cjs/components/whatsapp-product-list.js.map +1 -1
- package/lib/cjs/components/whatsapp-product.js +1 -1
- package/lib/cjs/components/whatsapp-product.js.map +1 -1
- package/lib/cjs/components/whatsapp-template/index.js +1 -1
- package/lib/cjs/components/whatsapp-template/index.js.map +1 -1
- package/lib/cjs/contexts.d.ts +2 -2
- package/lib/cjs/dev-app.js +4 -7
- package/lib/cjs/dev-app.js.map +1 -1
- package/lib/cjs/index-types.d.ts +7 -7
- package/lib/cjs/message-utils.js +2 -1
- package/lib/cjs/message-utils.js.map +1 -1
- package/lib/cjs/msg-to-botonic.d.ts +0 -1
- package/lib/cjs/msg-to-botonic.js +16 -15
- package/lib/cjs/msg-to-botonic.js.map +1 -1
- package/lib/cjs/react-bot.d.ts +2 -2
- package/lib/cjs/util/dom.js +3 -3
- package/lib/cjs/util/dom.js.map +1 -1
- package/lib/cjs/util/environment.d.ts +1 -1
- package/lib/cjs/util/environment.js +17 -12
- package/lib/cjs/util/environment.js.map +1 -1
- package/lib/cjs/util/error-boundary.js +4 -5
- package/lib/cjs/util/error-boundary.js.map +1 -1
- package/lib/cjs/util/logs.js +2 -1
- package/lib/cjs/util/logs.js.map +1 -1
- package/lib/cjs/util/objects.js +4 -3
- package/lib/cjs/util/objects.js.map +1 -1
- package/lib/cjs/util/react.js +6 -3
- package/lib/cjs/util/react.js.map +1 -1
- package/lib/cjs/util/regexs.js +3 -2
- package/lib/cjs/util/regexs.js.map +1 -1
- package/lib/cjs/util/webchat.d.ts +2 -2
- package/lib/cjs/util/webchat.js +13 -7
- package/lib/cjs/util/webchat.js.map +1 -1
- package/lib/cjs/webchat/chat-area/index.js.map +1 -1
- package/lib/cjs/webchat/components/common.js +0 -1
- package/lib/cjs/webchat/components/common.js.map +1 -1
- package/lib/cjs/webchat/components/conditional-animation.js +1 -2
- package/lib/cjs/webchat/components/conditional-animation.js.map +1 -1
- package/lib/cjs/webchat/components/opened-persistent-menu.js +4 -2
- package/lib/cjs/webchat/components/opened-persistent-menu.js.map +1 -1
- package/lib/cjs/webchat/context/index.d.ts +1 -1
- package/lib/cjs/webchat/context/messages-reducer.d.ts +1 -1
- package/lib/cjs/webchat/context/messages-reducer.js +2 -2
- package/lib/cjs/webchat/context/messages-reducer.js.map +1 -1
- package/lib/cjs/webchat/context/types.d.ts +5 -5
- package/lib/cjs/webchat/context/use-webchat.d.ts +6 -6
- package/lib/cjs/webchat/context/use-webchat.js.map +1 -1
- package/lib/cjs/webchat/context/webchat-reducer.d.ts +1 -1
- package/lib/cjs/webchat/cover-component/index.js.map +1 -1
- package/lib/cjs/webchat/custom-messages/rating/icons/face-angry.d.ts +2 -1
- package/lib/cjs/webchat/custom-messages/rating/icons/face-angry.js.map +1 -1
- package/lib/cjs/webchat/custom-messages/rating/icons/face-frown.d.ts +2 -1
- package/lib/cjs/webchat/custom-messages/rating/icons/face-frown.js.map +1 -1
- package/lib/cjs/webchat/custom-messages/rating/icons/face-grin-beam.d.ts +2 -1
- package/lib/cjs/webchat/custom-messages/rating/icons/face-grin-beam.js.map +1 -1
- package/lib/cjs/webchat/custom-messages/rating/icons/face-meh.d.ts +2 -1
- package/lib/cjs/webchat/custom-messages/rating/icons/face-meh.js.map +1 -1
- package/lib/cjs/webchat/custom-messages/rating/icons/face-smile.d.ts +2 -1
- package/lib/cjs/webchat/custom-messages/rating/icons/face-smile.js.map +1 -1
- package/lib/cjs/webchat/custom-messages/rating/icons/star.d.ts +2 -1
- package/lib/cjs/webchat/custom-messages/rating/icons/star.js.map +1 -1
- package/lib/cjs/webchat/custom-messages/rating/index.js +2 -1
- package/lib/cjs/webchat/custom-messages/rating/index.js.map +1 -1
- package/lib/cjs/webchat/custom-messages/rating/rating-selector.js +5 -2
- package/lib/cjs/webchat/custom-messages/rating/rating-selector.js.map +1 -1
- package/lib/cjs/webchat/custom-messages/rating/smileys.d.ts +1 -1
- package/lib/cjs/webchat/custom-messages/rating/smileys.js.map +1 -1
- package/lib/cjs/webchat/custom-messages/rating/stars.d.ts +1 -1
- package/lib/cjs/webchat/custom-messages/rating/stars.js.map +1 -1
- package/lib/cjs/webchat/header/default-header.js +1 -1
- package/lib/cjs/webchat/header/default-header.js.map +1 -1
- package/lib/cjs/webchat/header/index.d.ts +1 -2
- package/lib/cjs/webchat/header/index.js.map +1 -1
- package/lib/cjs/webchat/hooks/use-device-adapter.d.ts +1 -1
- package/lib/cjs/webchat/hooks/use-device-adapter.js +8 -5
- package/lib/cjs/webchat/hooks/use-device-adapter.js.map +1 -1
- package/lib/cjs/webchat/hooks/use-scroll-to-bottom.js +4 -2
- package/lib/cjs/webchat/hooks/use-scroll-to-bottom.js.map +1 -1
- package/lib/cjs/webchat/hooks/use-scrollbar-controller.js +15 -11
- package/lib/cjs/webchat/hooks/use-scrollbar-controller.js.map +1 -1
- package/lib/cjs/webchat/hooks/use-typing.d.ts +2 -2
- package/lib/cjs/webchat/hooks/use-typing.js +11 -6
- package/lib/cjs/webchat/hooks/use-typing.js.map +1 -1
- package/lib/cjs/webchat/hooks/use-virtual-keyboard-detection.d.ts +1 -1
- package/lib/cjs/webchat/hooks/use-virtual-keyboard-detection.js +3 -5
- package/lib/cjs/webchat/hooks/use-virtual-keyboard-detection.js.map +1 -1
- package/lib/cjs/webchat/hooks/use-webchat-dimensions.js +5 -4
- package/lib/cjs/webchat/hooks/use-webchat-dimensions.js.map +1 -1
- package/lib/cjs/webchat/index-types.d.ts +1 -1
- package/lib/cjs/webchat/input-panel/attachment.js.map +1 -1
- package/lib/cjs/webchat/input-panel/emoji-picker.js +2 -0
- package/lib/cjs/webchat/input-panel/emoji-picker.js.map +1 -1
- package/lib/cjs/webchat/input-panel/index.d.ts +1 -1
- package/lib/cjs/webchat/input-panel/index.js +4 -2
- package/lib/cjs/webchat/input-panel/index.js.map +1 -1
- package/lib/cjs/webchat/input-panel/persistent-menu.js +2 -0
- package/lib/cjs/webchat/input-panel/persistent-menu.js.map +1 -1
- package/lib/cjs/webchat/input-panel/send-button.js +2 -0
- package/lib/cjs/webchat/input-panel/send-button.js.map +1 -1
- package/lib/cjs/webchat/input-panel/textarea.d.ts +1 -1
- package/lib/cjs/webchat/input-panel/textarea.js +10 -5
- package/lib/cjs/webchat/input-panel/textarea.js.map +1 -1
- package/lib/cjs/webchat/message-list/index.js.map +1 -1
- package/lib/cjs/webchat/message-list/intro-message.js.map +1 -1
- package/lib/cjs/webchat/message-list/scroll-button.js +2 -1
- package/lib/cjs/webchat/message-list/scroll-button.js.map +1 -1
- package/lib/cjs/webchat/message-list/unread-messages-banner.d.ts +2 -1
- package/lib/cjs/webchat/message-list/unread-messages-banner.js.map +1 -1
- package/lib/cjs/webchat/replies/index.js +1 -1
- package/lib/cjs/webchat/replies/index.js.map +1 -1
- package/lib/cjs/webchat/session-view.js +0 -2
- package/lib/cjs/webchat/session-view.js.map +1 -1
- package/lib/cjs/webchat/theme/default-theme.d.ts +1 -1
- package/lib/cjs/webchat/theme/types.d.ts +1 -1
- package/lib/cjs/webchat/tracking.d.ts +1 -1
- package/lib/cjs/webchat/trigger-button/index.js +2 -0
- package/lib/cjs/webchat/trigger-button/index.js.map +1 -1
- package/lib/cjs/webchat/typing-indicator/index.d.ts +1 -2
- package/lib/cjs/webchat/typing-indicator/index.js.map +1 -1
- package/lib/cjs/webchat/utils.d.ts +1 -1
- package/lib/cjs/webchat/utils.js +2 -1
- package/lib/cjs/webchat/utils.js.map +1 -1
- package/lib/cjs/webchat/webchat-dev.d.ts +2 -3
- package/lib/cjs/webchat/webchat-dev.js +1 -2
- package/lib/cjs/webchat/webchat-dev.js.map +1 -1
- package/lib/cjs/webchat/webchat.d.ts +2 -3
- package/lib/cjs/webchat/webchat.js +72 -45
- package/lib/cjs/webchat/webchat.js.map +1 -1
- package/lib/cjs/webchat/webview/header.js.map +1 -1
- package/lib/cjs/webchat/webview/index.d.ts +1 -1
- package/lib/cjs/webchat/webview/index.js.map +1 -1
- package/lib/cjs/webchat/webview/styles.js.map +1 -1
- package/lib/cjs/webchat-app.d.ts +6 -6
- package/lib/cjs/webchat-app.js +25 -22
- package/lib/cjs/webchat-app.js.map +1 -1
- package/lib/cjs/webview-app.js +7 -4
- package/lib/cjs/webview-app.js.map +1 -1
- package/lib/esm/botonic-tester.js +0 -1
- package/lib/esm/botonic-tester.js.map +1 -1
- package/lib/esm/components/audio.d.ts +1 -1
- package/lib/esm/components/audio.js +2 -1
- package/lib/esm/components/audio.js.map +1 -1
- package/lib/esm/components/button/index.d.ts +1 -1
- package/lib/esm/components/button/index.js +5 -8
- package/lib/esm/components/button/index.js.map +1 -1
- package/lib/esm/components/buttons-disabler.d.ts +2 -2
- package/lib/esm/components/buttons-disabler.js +12 -6
- package/lib/esm/components/buttons-disabler.js.map +1 -1
- package/lib/esm/components/carousel.d.ts +1 -1
- package/lib/esm/components/carousel.js +5 -4
- package/lib/esm/components/carousel.js.map +1 -1
- package/lib/esm/components/custom-message.d.ts +1 -1
- package/lib/esm/components/custom-message.js +1 -2
- package/lib/esm/components/custom-message.js.map +1 -1
- package/lib/esm/components/document.d.ts +1 -1
- package/lib/esm/components/document.js +2 -1
- package/lib/esm/components/document.js.map +1 -1
- package/lib/esm/components/element.d.ts +1 -1
- package/lib/esm/components/element.js +7 -5
- package/lib/esm/components/element.js.map +1 -1
- package/lib/esm/components/handoff.d.ts +1 -1
- package/lib/esm/components/handoff.js +2 -2
- package/lib/esm/components/handoff.js.map +1 -1
- package/lib/esm/components/image.d.ts +1 -1
- package/lib/esm/components/image.js.map +1 -1
- package/lib/esm/components/index-types.d.ts +2 -2
- package/lib/esm/components/location.js +2 -3
- package/lib/esm/components/location.js.map +1 -1
- package/lib/esm/components/markdown.d.ts +1 -1
- package/lib/esm/components/markdown.js +24 -16
- package/lib/esm/components/markdown.js.map +1 -1
- package/lib/esm/components/message/index.js +25 -20
- package/lib/esm/components/message/index.js.map +1 -1
- package/lib/esm/components/message/message-feedback.js.map +1 -1
- package/lib/esm/components/message/message-footer.js.map +1 -1
- package/lib/esm/components/message/message-image.js.map +1 -1
- package/lib/esm/components/message/timestamps.js +1 -1
- package/lib/esm/components/message/timestamps.js.map +1 -1
- package/lib/esm/components/message-template.js +3 -4
- package/lib/esm/components/message-template.js.map +1 -1
- package/lib/esm/components/multichannel/facebook/facebook.js +3 -2
- package/lib/esm/components/multichannel/facebook/facebook.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-button.js +6 -6
- package/lib/esm/components/multichannel/multichannel-button.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-carousel.js +11 -7
- package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-reply.js +3 -3
- package/lib/esm/components/multichannel/multichannel-reply.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-text.js +15 -9
- package/lib/esm/components/multichannel/multichannel-text.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-utils.js +8 -4
- package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel.js +1 -2
- package/lib/esm/components/multichannel/multichannel.js.map +1 -1
- package/lib/esm/components/pic.js +1 -1
- package/lib/esm/components/pic.js.map +1 -1
- package/lib/esm/components/raw.js +3 -2
- package/lib/esm/components/raw.js.map +1 -1
- package/lib/esm/components/reply.d.ts +1 -1
- package/lib/esm/components/reply.js +6 -4
- package/lib/esm/components/reply.js.map +1 -1
- package/lib/esm/components/share-button.js +3 -4
- package/lib/esm/components/share-button.js.map +1 -1
- package/lib/esm/components/subtitle.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/debug-message.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/debug-message.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/ai-agent.d.ts +2 -2
- package/lib/esm/components/system-debug-trace/events/ai-agent.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/bot-action.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/events/bot-action.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/components/guardrail-item.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/events/components/sources-section.d.ts +2 -2
- package/lib/esm/components/system-debug-trace/events/components/sources-section.js +2 -1
- package/lib/esm/components/system-debug-trace/events/components/sources-section.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/conditional-channel.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/events/conditional-channel.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/conditional-country.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/events/conditional-country.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/conditional-custom.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/events/conditional-custom.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/conditional-queue-status.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/events/conditional-queue-status.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/fallback.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/events/fallback.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/handoff-success.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/events/handoff-success.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/keyword.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/events/keyword.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/knowledge-base.d.ts +2 -2
- package/lib/esm/components/system-debug-trace/events/knowledge-base.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/redirect-flow.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/events/redirect-flow.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/smart-intent.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/events/smart-intent.js.map +1 -1
- package/lib/esm/components/system-debug-trace/events/webview-action-triggered.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/events/webview-action-triggered.js.map +1 -1
- package/lib/esm/components/system-debug-trace/hooks/use-knowledge-base-info.d.ts +2 -2
- package/lib/esm/components/system-debug-trace/hooks/use-knowledge-base-info.js +2 -2
- package/lib/esm/components/system-debug-trace/hooks/use-knowledge-base-info.js.map +1 -1
- package/lib/esm/components/system-debug-trace/hooks/use-last-label-position.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/hooks/use-last-label-position.js +6 -3
- package/lib/esm/components/system-debug-trace/hooks/use-last-label-position.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/arrow-progress.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/arrow-progress.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/arrow-progress.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/brain.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/brain.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/brain.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/caret-down.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/caret-down.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/caret-down.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/caret-up.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/caret-up.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/caret-up.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/circle-check.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/circle-check.js +1 -0
- package/lib/esm/components/system-debug-trace/icons/circle-check.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/code.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/code.js +1 -0
- package/lib/esm/components/system-debug-trace/icons/code.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/file-pdf.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/file-pdf.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/file-pdf.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/file-word.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/file-word.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/file-word.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/hand.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/hand.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/hand.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/head-set.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/head-set.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/head-set.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/life-ring.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/life-ring.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/life-ring.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/link.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/link.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/link.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/quote-right.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/quote-right.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/quote-right.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/screwdriver-wrench.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/screwdriver-wrench.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/screwdriver-wrench.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/split.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/split.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/split.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/wand.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/wand.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/wand.js.map +1 -1
- package/lib/esm/components/system-debug-trace/icons/window-restore.d.ts +1 -1
- package/lib/esm/components/system-debug-trace/icons/window-restore.js +3 -1
- package/lib/esm/components/system-debug-trace/icons/window-restore.js.map +1 -1
- package/lib/esm/components/system-debug-trace/index.js.map +1 -1
- package/lib/esm/components/system-debug-trace/types.d.ts +2 -2
- package/lib/esm/components/text.d.ts +1 -1
- package/lib/esm/components/text.js +8 -4
- package/lib/esm/components/text.js.map +1 -1
- package/lib/esm/components/title.d.ts +1 -1
- package/lib/esm/components/video.d.ts +1 -1
- package/lib/esm/components/video.js +2 -1
- package/lib/esm/components/video.js.map +1 -1
- package/lib/esm/components/webchat-settings.d.ts +3 -3
- package/lib/esm/components/webchat-settings.js +40 -35
- package/lib/esm/components/webchat-settings.js.map +1 -1
- package/lib/esm/components/whatsapp-button-list.js +1 -1
- package/lib/esm/components/whatsapp-button-list.js.map +1 -1
- package/lib/esm/components/whatsapp-catalog.js +1 -1
- package/lib/esm/components/whatsapp-catalog.js.map +1 -1
- package/lib/esm/components/whatsapp-cta-url-button.js +1 -1
- package/lib/esm/components/whatsapp-cta-url-button.js.map +1 -1
- package/lib/esm/components/whatsapp-interactive-media-carousel.js +1 -1
- package/lib/esm/components/whatsapp-interactive-media-carousel.js.map +1 -1
- package/lib/esm/components/whatsapp-media-carousel.js +1 -1
- package/lib/esm/components/whatsapp-media-carousel.js.map +1 -1
- package/lib/esm/components/whatsapp-product-carousel.js +1 -1
- package/lib/esm/components/whatsapp-product-carousel.js.map +1 -1
- package/lib/esm/components/whatsapp-product-list.js +1 -1
- package/lib/esm/components/whatsapp-product-list.js.map +1 -1
- package/lib/esm/components/whatsapp-product.js +1 -1
- package/lib/esm/components/whatsapp-product.js.map +1 -1
- package/lib/esm/components/whatsapp-template/index.js +1 -1
- package/lib/esm/components/whatsapp-template/index.js.map +1 -1
- package/lib/esm/contexts.d.ts +2 -2
- package/lib/esm/dev-app.js +4 -7
- package/lib/esm/dev-app.js.map +1 -1
- package/lib/esm/index-types.d.ts +7 -7
- package/lib/esm/message-utils.js +2 -1
- package/lib/esm/message-utils.js.map +1 -1
- package/lib/esm/msg-to-botonic.d.ts +0 -1
- package/lib/esm/msg-to-botonic.js +16 -15
- package/lib/esm/msg-to-botonic.js.map +1 -1
- package/lib/esm/react-bot.d.ts +2 -2
- package/lib/esm/util/dom.js +3 -3
- package/lib/esm/util/dom.js.map +1 -1
- package/lib/esm/util/environment.d.ts +1 -1
- package/lib/esm/util/environment.js +17 -12
- package/lib/esm/util/environment.js.map +1 -1
- package/lib/esm/util/error-boundary.js +4 -5
- package/lib/esm/util/error-boundary.js.map +1 -1
- package/lib/esm/util/logs.js +2 -1
- package/lib/esm/util/logs.js.map +1 -1
- package/lib/esm/util/objects.js +4 -3
- package/lib/esm/util/objects.js.map +1 -1
- package/lib/esm/util/react.js +6 -3
- package/lib/esm/util/react.js.map +1 -1
- package/lib/esm/util/regexs.js +3 -2
- package/lib/esm/util/regexs.js.map +1 -1
- package/lib/esm/util/webchat.d.ts +2 -2
- package/lib/esm/util/webchat.js +13 -7
- package/lib/esm/util/webchat.js.map +1 -1
- package/lib/esm/webchat/chat-area/index.js.map +1 -1
- package/lib/esm/webchat/components/common.js +0 -1
- package/lib/esm/webchat/components/common.js.map +1 -1
- package/lib/esm/webchat/components/conditional-animation.js +1 -2
- package/lib/esm/webchat/components/conditional-animation.js.map +1 -1
- package/lib/esm/webchat/components/opened-persistent-menu.js +4 -2
- package/lib/esm/webchat/components/opened-persistent-menu.js.map +1 -1
- package/lib/esm/webchat/context/index.d.ts +1 -1
- package/lib/esm/webchat/context/messages-reducer.d.ts +1 -1
- package/lib/esm/webchat/context/messages-reducer.js +2 -2
- package/lib/esm/webchat/context/messages-reducer.js.map +1 -1
- package/lib/esm/webchat/context/types.d.ts +5 -5
- package/lib/esm/webchat/context/use-webchat.d.ts +6 -6
- package/lib/esm/webchat/context/use-webchat.js.map +1 -1
- package/lib/esm/webchat/context/webchat-reducer.d.ts +1 -1
- package/lib/esm/webchat/cover-component/index.js.map +1 -1
- package/lib/esm/webchat/custom-messages/rating/icons/face-angry.d.ts +2 -1
- package/lib/esm/webchat/custom-messages/rating/icons/face-angry.js.map +1 -1
- package/lib/esm/webchat/custom-messages/rating/icons/face-frown.d.ts +2 -1
- package/lib/esm/webchat/custom-messages/rating/icons/face-frown.js.map +1 -1
- package/lib/esm/webchat/custom-messages/rating/icons/face-grin-beam.d.ts +2 -1
- package/lib/esm/webchat/custom-messages/rating/icons/face-grin-beam.js.map +1 -1
- package/lib/esm/webchat/custom-messages/rating/icons/face-meh.d.ts +2 -1
- package/lib/esm/webchat/custom-messages/rating/icons/face-meh.js.map +1 -1
- package/lib/esm/webchat/custom-messages/rating/icons/face-smile.d.ts +2 -1
- package/lib/esm/webchat/custom-messages/rating/icons/face-smile.js.map +1 -1
- package/lib/esm/webchat/custom-messages/rating/icons/star.d.ts +2 -1
- package/lib/esm/webchat/custom-messages/rating/icons/star.js.map +1 -1
- package/lib/esm/webchat/custom-messages/rating/index.js +2 -1
- package/lib/esm/webchat/custom-messages/rating/index.js.map +1 -1
- package/lib/esm/webchat/custom-messages/rating/rating-selector.js +5 -2
- package/lib/esm/webchat/custom-messages/rating/rating-selector.js.map +1 -1
- package/lib/esm/webchat/custom-messages/rating/smileys.d.ts +1 -1
- package/lib/esm/webchat/custom-messages/rating/smileys.js.map +1 -1
- package/lib/esm/webchat/custom-messages/rating/stars.d.ts +1 -1
- package/lib/esm/webchat/custom-messages/rating/stars.js.map +1 -1
- package/lib/esm/webchat/header/default-header.js +1 -1
- package/lib/esm/webchat/header/default-header.js.map +1 -1
- package/lib/esm/webchat/header/index.d.ts +1 -2
- package/lib/esm/webchat/header/index.js.map +1 -1
- package/lib/esm/webchat/hooks/use-device-adapter.d.ts +1 -1
- package/lib/esm/webchat/hooks/use-device-adapter.js +8 -5
- package/lib/esm/webchat/hooks/use-device-adapter.js.map +1 -1
- package/lib/esm/webchat/hooks/use-scroll-to-bottom.js +4 -2
- package/lib/esm/webchat/hooks/use-scroll-to-bottom.js.map +1 -1
- package/lib/esm/webchat/hooks/use-scrollbar-controller.js +15 -11
- package/lib/esm/webchat/hooks/use-scrollbar-controller.js.map +1 -1
- package/lib/esm/webchat/hooks/use-typing.d.ts +2 -2
- package/lib/esm/webchat/hooks/use-typing.js +11 -6
- package/lib/esm/webchat/hooks/use-typing.js.map +1 -1
- package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.d.ts +1 -1
- package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js +3 -5
- package/lib/esm/webchat/hooks/use-virtual-keyboard-detection.js.map +1 -1
- package/lib/esm/webchat/hooks/use-webchat-dimensions.js +5 -4
- package/lib/esm/webchat/hooks/use-webchat-dimensions.js.map +1 -1
- package/lib/esm/webchat/index-types.d.ts +1 -1
- package/lib/esm/webchat/input-panel/attachment.js.map +1 -1
- package/lib/esm/webchat/input-panel/emoji-picker.js +2 -0
- package/lib/esm/webchat/input-panel/emoji-picker.js.map +1 -1
- package/lib/esm/webchat/input-panel/index.d.ts +1 -1
- package/lib/esm/webchat/input-panel/index.js +4 -2
- package/lib/esm/webchat/input-panel/index.js.map +1 -1
- package/lib/esm/webchat/input-panel/persistent-menu.js +2 -0
- package/lib/esm/webchat/input-panel/persistent-menu.js.map +1 -1
- package/lib/esm/webchat/input-panel/send-button.js +2 -0
- package/lib/esm/webchat/input-panel/send-button.js.map +1 -1
- package/lib/esm/webchat/input-panel/textarea.d.ts +1 -1
- package/lib/esm/webchat/input-panel/textarea.js +10 -5
- package/lib/esm/webchat/input-panel/textarea.js.map +1 -1
- package/lib/esm/webchat/message-list/index.js.map +1 -1
- package/lib/esm/webchat/message-list/intro-message.js.map +1 -1
- package/lib/esm/webchat/message-list/scroll-button.js +2 -1
- package/lib/esm/webchat/message-list/scroll-button.js.map +1 -1
- package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +2 -1
- package/lib/esm/webchat/message-list/unread-messages-banner.js.map +1 -1
- package/lib/esm/webchat/replies/index.js +1 -1
- package/lib/esm/webchat/replies/index.js.map +1 -1
- package/lib/esm/webchat/session-view.js +0 -2
- package/lib/esm/webchat/session-view.js.map +1 -1
- package/lib/esm/webchat/theme/default-theme.d.ts +1 -1
- package/lib/esm/webchat/theme/types.d.ts +1 -1
- package/lib/esm/webchat/tracking.d.ts +1 -1
- package/lib/esm/webchat/trigger-button/index.js +2 -0
- package/lib/esm/webchat/trigger-button/index.js.map +1 -1
- package/lib/esm/webchat/typing-indicator/index.d.ts +1 -2
- package/lib/esm/webchat/typing-indicator/index.js.map +1 -1
- package/lib/esm/webchat/utils.d.ts +1 -1
- package/lib/esm/webchat/utils.js +2 -1
- package/lib/esm/webchat/utils.js.map +1 -1
- package/lib/esm/webchat/webchat-dev.d.ts +2 -3
- package/lib/esm/webchat/webchat-dev.js +1 -2
- package/lib/esm/webchat/webchat-dev.js.map +1 -1
- package/lib/esm/webchat/webchat.d.ts +2 -3
- package/lib/esm/webchat/webchat.js +72 -45
- package/lib/esm/webchat/webchat.js.map +1 -1
- package/lib/esm/webchat/webview/header.js.map +1 -1
- package/lib/esm/webchat/webview/index.d.ts +1 -1
- package/lib/esm/webchat/webview/index.js.map +1 -1
- package/lib/esm/webchat/webview/styles.js.map +1 -1
- package/lib/esm/webchat-app.d.ts +6 -6
- package/lib/esm/webchat-app.js +25 -22
- package/lib/esm/webchat-app.js.map +1 -1
- package/lib/esm/webview-app.js +7 -4
- package/lib/esm/webview-app.js.map +1 -1
- package/package.json +5 -5
- package/src/botonic-tester.jsx +0 -1
- package/src/components/audio.tsx +3 -3
- package/src/components/button/index.tsx +7 -10
- package/src/components/buttons-disabler.ts +16 -8
- package/src/components/carousel.tsx +8 -8
- package/src/components/custom-message.tsx +2 -3
- package/src/components/document.tsx +4 -3
- package/src/components/element.tsx +10 -6
- package/src/components/handoff.jsx +2 -2
- package/src/components/image.tsx +2 -2
- package/src/components/index-types.ts +2 -2
- package/src/components/location.jsx +0 -1
- package/src/components/markdown.js +26 -22
- package/src/components/message/index.jsx +72 -64
- package/src/components/message/message-feedback.tsx +1 -1
- package/src/components/message/message-footer.tsx +1 -1
- package/src/components/message/message-image.tsx +1 -1
- package/src/components/message/timestamps.tsx +2 -1
- package/src/components/message-template.jsx +1 -2
- package/src/components/multichannel/facebook/facebook.jsx +3 -3
- package/src/components/multichannel/multichannel-button.jsx +7 -5
- package/src/components/multichannel/multichannel-carousel.jsx +16 -6
- package/src/components/multichannel/multichannel-reply.jsx +4 -2
- package/src/components/multichannel/multichannel-text.jsx +17 -9
- package/src/components/multichannel/multichannel-utils.ts +12 -4
- package/src/components/multichannel/multichannel.jsx +1 -1
- package/src/components/pic.tsx +1 -2
- package/src/components/raw.jsx +3 -2
- package/src/components/reply.tsx +11 -7
- package/src/components/share-button.jsx +1 -2
- package/src/components/subtitle.tsx +1 -1
- package/src/components/system-debug-trace/debug-message.tsx +3 -2
- package/src/components/system-debug-trace/events/ai-agent.tsx +3 -3
- package/src/components/system-debug-trace/events/bot-action.tsx +1 -2
- package/src/components/system-debug-trace/events/components/guardrail-item.tsx +1 -1
- package/src/components/system-debug-trace/events/components/sources-section.tsx +5 -3
- package/src/components/system-debug-trace/events/conditional-channel.tsx +1 -2
- package/src/components/system-debug-trace/events/conditional-country.tsx +1 -2
- package/src/components/system-debug-trace/events/conditional-custom.tsx +1 -2
- package/src/components/system-debug-trace/events/conditional-queue-status.tsx +1 -2
- package/src/components/system-debug-trace/events/fallback.tsx +1 -2
- package/src/components/system-debug-trace/events/handoff-success.tsx +2 -2
- package/src/components/system-debug-trace/events/keyword.tsx +1 -2
- package/src/components/system-debug-trace/events/knowledge-base.tsx +3 -3
- package/src/components/system-debug-trace/events/redirect-flow.tsx +1 -2
- package/src/components/system-debug-trace/events/smart-intent.tsx +1 -2
- package/src/components/system-debug-trace/events/webview-action-triggered.tsx +1 -2
- package/src/components/system-debug-trace/hooks/use-knowledge-base-info.tsx +9 -5
- package/src/components/system-debug-trace/hooks/use-last-label-position.ts +10 -4
- package/src/components/system-debug-trace/icons/arrow-progress.tsx +2 -3
- package/src/components/system-debug-trace/icons/brain.tsx +2 -3
- package/src/components/system-debug-trace/icons/caret-down.tsx +2 -3
- package/src/components/system-debug-trace/icons/caret-up.tsx +2 -3
- package/src/components/system-debug-trace/icons/circle-check.tsx +2 -3
- package/src/components/system-debug-trace/icons/code.tsx +2 -3
- package/src/components/system-debug-trace/icons/file-pdf.tsx +2 -3
- package/src/components/system-debug-trace/icons/file-word.tsx +2 -3
- package/src/components/system-debug-trace/icons/hand.tsx +2 -3
- package/src/components/system-debug-trace/icons/head-set.tsx +2 -3
- package/src/components/system-debug-trace/icons/life-ring.tsx +2 -3
- package/src/components/system-debug-trace/icons/link.tsx +2 -3
- package/src/components/system-debug-trace/icons/quote-right.tsx +2 -3
- package/src/components/system-debug-trace/icons/screwdriver-wrench.tsx +2 -3
- package/src/components/system-debug-trace/icons/split.tsx +2 -3
- package/src/components/system-debug-trace/icons/wand.tsx +2 -3
- package/src/components/system-debug-trace/icons/window-restore.tsx +2 -3
- package/src/components/system-debug-trace/index.tsx +0 -1
- package/src/components/system-debug-trace/types.ts +2 -2
- package/src/components/text.tsx +11 -6
- package/src/components/title.tsx +1 -1
- package/src/components/video.tsx +3 -3
- package/src/components/webchat-settings.tsx +51 -40
- package/src/components/whatsapp-button-list.tsx +1 -2
- package/src/components/whatsapp-catalog.tsx +1 -2
- package/src/components/whatsapp-cta-url-button.tsx +1 -2
- package/src/components/whatsapp-interactive-media-carousel.tsx +5 -4
- package/src/components/whatsapp-media-carousel.tsx +1 -2
- package/src/components/whatsapp-product-carousel.tsx +1 -2
- package/src/components/whatsapp-product-list.tsx +1 -2
- package/src/components/whatsapp-product.tsx +1 -2
- package/src/components/whatsapp-template/index.tsx +1 -2
- package/src/contexts.tsx +2 -2
- package/src/dev-app.jsx +4 -6
- package/src/index-types.ts +9 -9
- package/src/message-utils.js +3 -1
- package/src/msg-to-botonic.jsx +19 -20
- package/src/react-bot.tsx +2 -2
- package/src/util/dom.js +3 -3
- package/src/util/environment.js +18 -8
- package/src/util/error-boundary.jsx +4 -4
- package/src/util/logs.js +2 -1
- package/src/util/objects.js +5 -3
- package/src/util/react.js +8 -3
- package/src/util/regexs.js +4 -2
- package/src/util/webchat.ts +20 -9
- package/src/webchat/chat-area/index.tsx +1 -1
- package/src/webchat/components/common.jsx +0 -1
- package/src/webchat/components/conditional-animation.jsx +1 -1
- package/src/webchat/components/opened-persistent-menu.jsx +4 -2
- package/src/webchat/context/index.tsx +3 -3
- package/src/webchat/context/messages-reducer.ts +3 -5
- package/src/webchat/context/types.ts +5 -5
- package/src/webchat/context/use-webchat.ts +11 -6
- package/src/webchat/context/webchat-reducer.ts +1 -1
- package/src/webchat/cover-component/index.tsx +1 -1
- package/src/webchat/custom-messages/rating/icons/face-angry.tsx +2 -3
- package/src/webchat/custom-messages/rating/icons/face-frown.tsx +2 -3
- package/src/webchat/custom-messages/rating/icons/face-grin-beam.tsx +2 -3
- package/src/webchat/custom-messages/rating/icons/face-meh.tsx +2 -3
- package/src/webchat/custom-messages/rating/icons/face-smile.tsx +2 -3
- package/src/webchat/custom-messages/rating/icons/star.tsx +2 -3
- package/src/webchat/custom-messages/rating/index.tsx +7 -4
- package/src/webchat/custom-messages/rating/rating-selector.tsx +7 -3
- package/src/webchat/custom-messages/rating/smileys.tsx +1 -3
- package/src/webchat/custom-messages/rating/stars.tsx +1 -3
- package/src/webchat/header/default-header.tsx +2 -2
- package/src/webchat/header/index.tsx +1 -1
- package/src/webchat/hooks/use-device-adapter.ts +17 -4
- package/src/webchat/hooks/use-scroll-to-bottom.ts +6 -2
- package/src/webchat/hooks/use-scrollbar-controller.ts +18 -11
- package/src/webchat/hooks/use-typing.ts +14 -8
- package/src/webchat/hooks/use-virtual-keyboard-detection.ts +4 -5
- package/src/webchat/hooks/use-webchat-dimensions.ts +7 -5
- package/src/webchat/index-types.ts +1 -1
- package/src/webchat/input-panel/attachment.tsx +1 -1
- package/src/webchat/input-panel/emoji-picker.tsx +3 -1
- package/src/webchat/input-panel/index.tsx +8 -3
- package/src/webchat/input-panel/opened-emoji-picker.tsx +1 -1
- package/src/webchat/input-panel/persistent-menu.tsx +3 -1
- package/src/webchat/input-panel/send-button.tsx +3 -1
- package/src/webchat/input-panel/textarea.tsx +16 -7
- package/src/webchat/message-list/index.tsx +1 -1
- package/src/webchat/message-list/intro-message.tsx +1 -1
- package/src/webchat/message-list/scroll-button.tsx +8 -11
- package/src/webchat/message-list/unread-messages-banner.tsx +3 -1
- package/src/webchat/replies/index.tsx +2 -2
- package/src/webchat/session-view.jsx +0 -2
- package/src/webchat/theme/default-theme.ts +1 -1
- package/src/webchat/theme/types.ts +1 -1
- package/src/webchat/tracking.ts +2 -2
- package/src/webchat/trigger-button/index.tsx +3 -1
- package/src/webchat/typing-indicator/index.tsx +1 -1
- package/src/webchat/utils.ts +4 -2
- package/src/webchat/webchat-dev.jsx +1 -2
- package/src/webchat/webchat.tsx +99 -49
- package/src/webchat/webview/header.tsx +1 -1
- package/src/webchat/webview/index.tsx +7 -6
- package/src/webchat/webview/styles.ts +1 -1
- package/src/webchat-app.tsx +46 -38
- package/src/webview-app.tsx +12 -6
|
@@ -3,7 +3,7 @@ import MarkdownIt from 'markdown-it'
|
|
|
3
3
|
import { isInWebviewApp } from '../util/environment'
|
|
4
4
|
|
|
5
5
|
const BR_STRING_TAG = '<br/>'
|
|
6
|
-
const BR_STRING_TAG_REGEX =
|
|
6
|
+
const BR_STRING_TAG_REGEX = /<br\s*\/?>/g
|
|
7
7
|
export const ESCAPED_LINE_BREAK = '<br>'
|
|
8
8
|
const ESCAPED_LINE_BREAK_REGEX = new RegExp(ESCAPED_LINE_BREAK, 'g')
|
|
9
9
|
const isLineBreakElement = element => element.type === 'br'
|
|
@@ -12,19 +12,15 @@ const withLinksTarget = (renderer, target = '_blank') => {
|
|
|
12
12
|
// Support opening links in new tabs: https://github.com/markdown-it/markdown-it/blob/master/docs/architecture.md#renderer
|
|
13
13
|
const newRenderer =
|
|
14
14
|
renderer.renderer.rules.link_open ||
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
renderer.renderer.rules.link_open = function (
|
|
19
|
-
tokens,
|
|
20
|
-
idx,
|
|
21
|
-
options,
|
|
22
|
-
env,
|
|
23
|
-
self
|
|
24
|
-
) {
|
|
15
|
+
((tokens, idx, options, _env, self) =>
|
|
16
|
+
self.renderToken(tokens, idx, options))
|
|
17
|
+
renderer.renderer.rules.link_open = (tokens, idx, options, env, self) => {
|
|
25
18
|
const aIndex = tokens[idx].attrIndex('target')
|
|
26
|
-
if (aIndex < 0)
|
|
27
|
-
|
|
19
|
+
if (aIndex < 0) {
|
|
20
|
+
tokens[idx].attrPush(['target', target])
|
|
21
|
+
} else {
|
|
22
|
+
tokens[idx].attrs[aIndex][1] = target
|
|
23
|
+
}
|
|
28
24
|
return newRenderer(tokens, idx, options, env, self)
|
|
29
25
|
}
|
|
30
26
|
}
|
|
@@ -55,12 +51,15 @@ export const renderMarkdown = text => {
|
|
|
55
51
|
// Supporting multiline: https://stackoverflow.com/a/20543835
|
|
56
52
|
text = text
|
|
57
53
|
.map(e => {
|
|
58
|
-
if (isLineBreakElement(e))
|
|
59
|
-
|
|
54
|
+
if (isLineBreakElement(e)) {
|
|
55
|
+
return BR_STRING_TAG
|
|
56
|
+
} else if (typeof e === 'string') {
|
|
60
57
|
return e
|
|
61
58
|
.replace(BR_STRING_TAG_REGEX, BR_STRING_TAG)
|
|
62
59
|
.replace(ESCAPED_LINE_BREAK_REGEX, BR_STRING_TAG)
|
|
63
|
-
else
|
|
60
|
+
} else {
|
|
61
|
+
return String(e)
|
|
62
|
+
}
|
|
64
63
|
})
|
|
65
64
|
.join('')
|
|
66
65
|
return markdownRenderer.render(text)
|
|
@@ -76,9 +75,14 @@ export const serializeMarkdown = children => {
|
|
|
76
75
|
const text = children
|
|
77
76
|
.filter(e => isLineBreakElement(e) || !e.type)
|
|
78
77
|
.map(e => {
|
|
79
|
-
if (Array.isArray(e))
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
if (Array.isArray(e)) {
|
|
79
|
+
return serializeMarkdown(e)
|
|
80
|
+
}
|
|
81
|
+
if (isLineBreakElement(e)) {
|
|
82
|
+
return ESCAPED_LINE_BREAK
|
|
83
|
+
} else {
|
|
84
|
+
return String(e).replace(BR_STRING_TAG_REGEX, ESCAPED_LINE_BREAK)
|
|
85
|
+
}
|
|
82
86
|
})
|
|
83
87
|
.join('')
|
|
84
88
|
return text
|
|
@@ -87,9 +91,6 @@ export const serializeMarkdown = children => {
|
|
|
87
91
|
export const toMarkdownChildren = children =>
|
|
88
92
|
children.map(e => (isLineBreakElement(e) ? ESCAPED_LINE_BREAK : e))
|
|
89
93
|
|
|
90
|
-
export const getMarkdownStyle = (getThemeFn, defaultColor) =>
|
|
91
|
-
getThemeFn('markdownStyle', getDefaultMarkdownStyle(defaultColor))
|
|
92
|
-
|
|
93
94
|
export const getDefaultMarkdownStyle = color => `
|
|
94
95
|
*{
|
|
95
96
|
margin: 0px;
|
|
@@ -164,3 +165,6 @@ table, td, th {
|
|
|
164
165
|
padding:10px;
|
|
165
166
|
}
|
|
166
167
|
`
|
|
168
|
+
export const getMarkdownStyle = (getThemeFn, defaultColor) => {
|
|
169
|
+
return getThemeFn('markdownStyle', getDefaultMarkdownStyle(defaultColor))
|
|
170
|
+
}
|
|
@@ -68,10 +68,11 @@ export const Message = props => {
|
|
|
68
68
|
let textChildren = React.Children.toArray(children).filter(
|
|
69
69
|
e => ![Button, Reply].includes(e.type)
|
|
70
70
|
)
|
|
71
|
-
if (isSentByUser)
|
|
71
|
+
if (isSentByUser) {
|
|
72
72
|
textChildren = textChildren.map(e =>
|
|
73
73
|
typeof e === 'string' ? renderLinks(e) : e
|
|
74
74
|
)
|
|
75
|
+
}
|
|
75
76
|
|
|
76
77
|
const { timestampsEnabled, getFormattedTimestamp } = resolveMessageTimestamps(
|
|
77
78
|
getThemeProperty,
|
|
@@ -79,9 +80,15 @@ export const Message = props => {
|
|
|
79
80
|
)
|
|
80
81
|
|
|
81
82
|
const getEnvAck = () => {
|
|
82
|
-
if (isDev)
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
if (isDev) {
|
|
84
|
+
return 1
|
|
85
|
+
}
|
|
86
|
+
if (!isSentByUser) {
|
|
87
|
+
return 1
|
|
88
|
+
}
|
|
89
|
+
if (props.ack !== undefined) {
|
|
90
|
+
return props.ack
|
|
91
|
+
}
|
|
85
92
|
return 0
|
|
86
93
|
}
|
|
87
94
|
|
|
@@ -115,7 +122,7 @@ export const Message = props => {
|
|
|
115
122
|
url: r.props.url,
|
|
116
123
|
text: r.props.children,
|
|
117
124
|
})),
|
|
118
|
-
display: delay + typing
|
|
125
|
+
display: delay + typing === 0,
|
|
119
126
|
customTypeName: decomposedChildren.customTypeName,
|
|
120
127
|
ack: ack,
|
|
121
128
|
isUnread: isUnread === 1 || isUnread === true,
|
|
@@ -131,9 +138,8 @@ export const Message = props => {
|
|
|
131
138
|
if (isBrowser()) {
|
|
132
139
|
const msg = webchatState.messagesJSON.find(m => m.id === state.id)
|
|
133
140
|
if (
|
|
134
|
-
msg &&
|
|
135
|
-
|
|
136
|
-
webchatState.messagesJSON.filter(m => !m.display).length == 0
|
|
141
|
+
msg?.display &&
|
|
142
|
+
webchatState.messagesJSON.filter(m => !m.display).length === 0
|
|
137
143
|
) {
|
|
138
144
|
updateReplies(replies)
|
|
139
145
|
}
|
|
@@ -143,7 +149,9 @@ export const Message = props => {
|
|
|
143
149
|
const brandColor = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.brandColor)
|
|
144
150
|
|
|
145
151
|
const getBgColor = () => {
|
|
146
|
-
if (!blob)
|
|
152
|
+
if (!blob) {
|
|
153
|
+
return COLORS.TRANSPARENT
|
|
154
|
+
}
|
|
147
155
|
if (isSentByUser) {
|
|
148
156
|
return getThemeProperty(
|
|
149
157
|
WEBCHAT.CUSTOM_PROPERTIES.userMessageBackground,
|
|
@@ -167,7 +175,9 @@ export const Message = props => {
|
|
|
167
175
|
|
|
168
176
|
const renderBrowser = () => {
|
|
169
177
|
const messageJSON = webchatState.messagesJSON.find(m => m.id === state.id)
|
|
170
|
-
if (!messageJSON || !messageJSON.display)
|
|
178
|
+
if (!messageJSON || !messageJSON.display) {
|
|
179
|
+
return <></>
|
|
180
|
+
}
|
|
171
181
|
|
|
172
182
|
if (messageJSON?.type === INPUT.SYSTEM_DEBUG_TRACE) {
|
|
173
183
|
return children
|
|
@@ -178,7 +188,7 @@ export const Message = props => {
|
|
|
178
188
|
// that is why the color depends on the pointerSize
|
|
179
189
|
// https://developpaper.com/realization-code-of-css-drawing-triangle-border-method/
|
|
180
190
|
const color =
|
|
181
|
-
pointerSize
|
|
191
|
+
pointerSize === 5
|
|
182
192
|
? getBgColor()
|
|
183
193
|
: getThemeProperty(
|
|
184
194
|
`message.${userOrBotMessage}.style.borderColor`,
|
|
@@ -222,62 +232,60 @@ export const Message = props => {
|
|
|
222
232
|
condition={animationsEnabled}
|
|
223
233
|
wrapper={children => <Fade>{children}</Fade>}
|
|
224
234
|
>
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
235
|
+
<MessageContainer
|
|
236
|
+
isSentByUser={isSentByUser}
|
|
237
|
+
style={{
|
|
238
|
+
...getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.messageStyle),
|
|
239
|
+
}}
|
|
240
|
+
>
|
|
241
|
+
<MessageImage imagestyle={imagestyle} sentBy={sentBy} />
|
|
242
|
+
<BlobContainer
|
|
243
|
+
className={className}
|
|
244
|
+
issentbysystem={isSentBySystem}
|
|
245
|
+
bgcolor={getBgColor()}
|
|
246
|
+
color={isSentByUser ? COLORS.SOLID_WHITE : COLORS.SOLID_BLACK}
|
|
247
|
+
blobwidth={getThemeProperty(
|
|
248
|
+
WEBCHAT.CUSTOM_PROPERTIES.botMessageBlobWidth
|
|
249
|
+
)}
|
|
250
|
+
blob={blob}
|
|
228
251
|
style={{
|
|
229
|
-
...
|
|
252
|
+
...getMessageStyle(),
|
|
253
|
+
...style,
|
|
254
|
+
...{ opacity: ack === 0 ? 0.6 : 1 },
|
|
230
255
|
}}
|
|
256
|
+
{...otherProps}
|
|
231
257
|
>
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
{
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
{!!buttons.length && (
|
|
264
|
-
<div className='message-buttons-container'>{buttons}</div>
|
|
265
|
-
)}
|
|
266
|
-
{Boolean(blob) && hasBlobTick() && getBlobTick(6)}
|
|
267
|
-
{Boolean(blob) && hasBlobTick() && getBlobTick(5)}
|
|
268
|
-
</BlobContainer>
|
|
269
|
-
</MessageContainer>
|
|
270
|
-
{timestampsEnabled || feedbackEnabled ? (
|
|
271
|
-
<MessageFooter
|
|
272
|
-
enabletimestamps={timestampsEnabled}
|
|
273
|
-
messageJSON={messageJSON}
|
|
274
|
-
sentBy={sentBy}
|
|
275
|
-
feedbackEnabled={feedbackEnabled}
|
|
276
|
-
inferenceId={inferenceId}
|
|
277
|
-
botInteractionId={botInteractionId}
|
|
278
|
-
/>
|
|
279
|
-
) : null}
|
|
280
|
-
</>
|
|
258
|
+
{markdown ? (
|
|
259
|
+
<BlobText
|
|
260
|
+
blob={blob}
|
|
261
|
+
dangerouslySetInnerHTML={{
|
|
262
|
+
__html: renderMarkdown(textChildren),
|
|
263
|
+
}}
|
|
264
|
+
markdownstyle={getMarkdownStyle(
|
|
265
|
+
getThemeProperty,
|
|
266
|
+
isSentByUser ? COLORS.SEASHELL_WHITE : brandColor
|
|
267
|
+
)}
|
|
268
|
+
/>
|
|
269
|
+
) : (
|
|
270
|
+
<BlobText blob={blob}>{textChildren}</BlobText>
|
|
271
|
+
)}
|
|
272
|
+
{!!buttons.length && (
|
|
273
|
+
<div className='message-buttons-container'>{buttons}</div>
|
|
274
|
+
)}
|
|
275
|
+
{Boolean(blob) && hasBlobTick() && getBlobTick(6)}
|
|
276
|
+
{Boolean(blob) && hasBlobTick() && getBlobTick(5)}
|
|
277
|
+
</BlobContainer>
|
|
278
|
+
</MessageContainer>
|
|
279
|
+
{timestampsEnabled || feedbackEnabled ? (
|
|
280
|
+
<MessageFooter
|
|
281
|
+
enabletimestamps={timestampsEnabled}
|
|
282
|
+
messageJSON={messageJSON}
|
|
283
|
+
sentBy={sentBy}
|
|
284
|
+
feedbackEnabled={feedbackEnabled}
|
|
285
|
+
inferenceId={inferenceId}
|
|
286
|
+
botInteractionId={botInteractionId}
|
|
287
|
+
/>
|
|
288
|
+
) : null}
|
|
281
289
|
</ConditionalWrapper>
|
|
282
290
|
)
|
|
283
291
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useContext } from 'react'
|
|
2
2
|
|
|
3
3
|
import { WEBCHAT } from '../../constants'
|
|
4
4
|
import { SENDERS } from '../../index-types'
|
|
@@ -81,6 +81,7 @@ export const MessageTimestamp = ({
|
|
|
81
81
|
>
|
|
82
82
|
{timestampsWithImage && BotMessageImage && !isSentByUser && (
|
|
83
83
|
<img
|
|
84
|
+
alt={isSentByAgent ? 'Agent message image' : 'Bot message image'}
|
|
84
85
|
src={resolveImage(
|
|
85
86
|
isSentByAgent ? AgentMessageImage : BotMessageImage
|
|
86
87
|
)}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export const MAX_CHARACTERS_FACEBOOK = 640
|
|
2
2
|
|
|
3
3
|
export class MultichannelFacebook {
|
|
4
|
-
constructor() {}
|
|
5
|
-
|
|
6
4
|
convertText(props, originalText) {
|
|
7
5
|
if (originalText.length > MAX_CHARACTERS_FACEBOOK) {
|
|
8
6
|
const texts = this.splitText(originalText)
|
|
@@ -39,7 +37,9 @@ export class MultichannelFacebook {
|
|
|
39
37
|
if (Array.isArray(props.children)) {
|
|
40
38
|
props.children
|
|
41
39
|
.filter(e => e.type)
|
|
42
|
-
.forEach(e =>
|
|
40
|
+
.forEach(e => {
|
|
41
|
+
propsLastText.children.push(e)
|
|
42
|
+
})
|
|
43
43
|
}
|
|
44
44
|
const propsWithoutChildren = { ...props }
|
|
45
45
|
delete propsWithoutChildren.children
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isWhatsapp } from '@botonic/core'
|
|
2
|
-
import
|
|
2
|
+
import { useContext } from 'react'
|
|
3
3
|
|
|
4
4
|
import { RequestContext } from '../../contexts'
|
|
5
5
|
import { truncateText } from '../../util'
|
|
@@ -23,7 +23,7 @@ export const MultichannelButton = props => {
|
|
|
23
23
|
const hasWebview = () => Boolean(props.webview)
|
|
24
24
|
|
|
25
25
|
const getUrl = () => props.url
|
|
26
|
-
const
|
|
26
|
+
const _getWebview = () => props.webview
|
|
27
27
|
|
|
28
28
|
const increaseCurrentIndex = () => {
|
|
29
29
|
if (typeof multichannelContext.currentIndex === 'number') {
|
|
@@ -49,9 +49,9 @@ export const MultichannelButton = props => {
|
|
|
49
49
|
? `${formatIndex(multichannelContext.currentIndex + separator)} `
|
|
50
50
|
: ''
|
|
51
51
|
if (hasPostback()) {
|
|
52
|
-
text =
|
|
52
|
+
text = `${newline}${index}${text}`
|
|
53
53
|
} else if (hasUrl()) {
|
|
54
|
-
text = newline
|
|
54
|
+
text = `${newline}- ${text}`
|
|
55
55
|
}
|
|
56
56
|
return text
|
|
57
57
|
}
|
|
@@ -65,7 +65,9 @@ export const MultichannelButton = props => {
|
|
|
65
65
|
const text = getText()
|
|
66
66
|
increaseCurrentIndex()
|
|
67
67
|
return `${text}`
|
|
68
|
-
} else if (hasWebview())
|
|
68
|
+
} else if (hasWebview()) {
|
|
69
|
+
return <Button {...props}>{getText()}</Button>
|
|
70
|
+
}
|
|
69
71
|
}
|
|
70
72
|
return (
|
|
71
73
|
<Button {...props}>
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
isWebchat,
|
|
6
6
|
isWhatsapp,
|
|
7
7
|
} from '@botonic/core'
|
|
8
|
-
import
|
|
8
|
+
import { useContext } from 'react'
|
|
9
9
|
|
|
10
10
|
import { RequestContext } from '../../contexts'
|
|
11
11
|
import { Button } from '../button/index'
|
|
@@ -92,11 +92,21 @@ function parseCarouselElement(element) {
|
|
|
92
92
|
const buttonsChildren = []
|
|
93
93
|
|
|
94
94
|
for (const node of element) {
|
|
95
|
-
if (isNodePic(node))
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
if (
|
|
99
|
-
|
|
95
|
+
if (isNodePic(node)) {
|
|
96
|
+
imageProps = node.props
|
|
97
|
+
}
|
|
98
|
+
if (isNodeTitle(node)) {
|
|
99
|
+
title = node.props.children
|
|
100
|
+
}
|
|
101
|
+
if (isNodeSubtitle(node)) {
|
|
102
|
+
subtitle = node.props.children
|
|
103
|
+
}
|
|
104
|
+
if (isMultichannelButton(node)) {
|
|
105
|
+
buttonsChildren.push(node)
|
|
106
|
+
}
|
|
107
|
+
if (Array.isArray(node)) {
|
|
108
|
+
buttonsChildren.push(...getButtons(node))
|
|
109
|
+
}
|
|
100
110
|
}
|
|
101
111
|
|
|
102
112
|
const buttons = buttonsChildren.map(button => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isWhatsapp } from '@botonic/core'
|
|
2
|
-
import
|
|
2
|
+
import { useContext } from 'react'
|
|
3
3
|
|
|
4
4
|
import { RequestContext } from '../../contexts'
|
|
5
5
|
import { COMPONENT_DISPLAY_NAMES } from '../constants'
|
|
@@ -12,7 +12,9 @@ export const MultichannelReply = props => {
|
|
|
12
12
|
const getText = () => `${props.children}`
|
|
13
13
|
|
|
14
14
|
if (isWhatsapp(requestContext.session)) {
|
|
15
|
-
if (hasPath() || hasPayload())
|
|
15
|
+
if (hasPath() || hasPayload()) {
|
|
16
|
+
return `${getText()}`
|
|
17
|
+
}
|
|
16
18
|
return null
|
|
17
19
|
} else {
|
|
18
20
|
return <Reply {...props}>{props.children}</Reply>
|
|
@@ -40,11 +40,14 @@ export const MultichannelText = props => {
|
|
|
40
40
|
const text = children
|
|
41
41
|
.filter(e => e && !e.type)
|
|
42
42
|
.map(e => {
|
|
43
|
-
if (Array.isArray(e))
|
|
44
|
-
|
|
43
|
+
if (Array.isArray(e)) {
|
|
44
|
+
return getText(e)
|
|
45
|
+
} else {
|
|
46
|
+
return String(e)
|
|
47
|
+
}
|
|
45
48
|
})
|
|
46
49
|
.join('')
|
|
47
|
-
if (text
|
|
50
|
+
if (text === undefined) {
|
|
48
51
|
return []
|
|
49
52
|
}
|
|
50
53
|
return [text].filter(t => t !== '') // to avoid line breaks when the carousel doesn't have title or subtitle
|
|
@@ -61,15 +64,19 @@ export const MultichannelText = props => {
|
|
|
61
64
|
const urlButtons = []
|
|
62
65
|
const webviewButtons = []
|
|
63
66
|
for (const button of getButtonsAndReplies()) {
|
|
64
|
-
if (elementHasUrl(button))
|
|
65
|
-
|
|
66
|
-
else if (
|
|
67
|
+
if (elementHasUrl(button)) {
|
|
68
|
+
urlButtons.push(button)
|
|
69
|
+
} else if (elementHasWebview(button)) {
|
|
70
|
+
webviewButtons.push(button)
|
|
71
|
+
} else if (elementHasPostback(button)) {
|
|
72
|
+
postbackButtons.push(button)
|
|
73
|
+
}
|
|
67
74
|
}
|
|
68
75
|
return { postbackButtons, urlButtons, webviewButtons }
|
|
69
76
|
}
|
|
70
77
|
|
|
71
78
|
const getDefaultIndex = () => {
|
|
72
|
-
if (props.indexMode
|
|
79
|
+
if (props.indexMode === undefined) {
|
|
73
80
|
return undefined
|
|
74
81
|
}
|
|
75
82
|
if (multichannelContext.currentIndex != null) {
|
|
@@ -204,13 +211,14 @@ export const MultichannelText = props => {
|
|
|
204
211
|
return (
|
|
205
212
|
<>
|
|
206
213
|
{messages.map((message, i) => {
|
|
207
|
-
if (message.type === INPUT.WHATSAPP_BUTTON_LIST)
|
|
214
|
+
if (message.type === INPUT.WHATSAPP_BUTTON_LIST) {
|
|
208
215
|
return (
|
|
209
216
|
<WhatsappButtonList
|
|
210
217
|
key={`msg-${i}-whatsapp-list`}
|
|
211
218
|
{...message.props}
|
|
212
219
|
/>
|
|
213
220
|
)
|
|
221
|
+
}
|
|
214
222
|
return (
|
|
215
223
|
<Text
|
|
216
224
|
key={`msg-${i}-with-postback-buttons`}
|
|
@@ -311,7 +319,7 @@ export const MultichannelText = props => {
|
|
|
311
319
|
return (
|
|
312
320
|
<>
|
|
313
321
|
{texts?.map((message, i) => (
|
|
314
|
-
<Text key={i} {...propsWithoutChildren}>
|
|
322
|
+
<Text key={`msg-${i}-text`} {...propsWithoutChildren}>
|
|
315
323
|
{convertToMarkdownMeta(message)}
|
|
316
324
|
</Text>
|
|
317
325
|
))}
|
|
@@ -80,9 +80,15 @@ export type ButtonType = (typeof buttonTypes)[keyof typeof buttonTypes]
|
|
|
80
80
|
export function getButtonType(
|
|
81
81
|
multichannelButton?: ElementWithProps
|
|
82
82
|
): ButtonType | undefined {
|
|
83
|
-
if (elementHasUrl(multichannelButton))
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
if (elementHasUrl(multichannelButton)) {
|
|
84
|
+
return buttonTypes.URL
|
|
85
|
+
}
|
|
86
|
+
if (elementHasPostback(multichannelButton)) {
|
|
87
|
+
return buttonTypes.POSTBACK
|
|
88
|
+
}
|
|
89
|
+
if (elementHasWebview(multichannelButton)) {
|
|
90
|
+
return buttonTypes.WEBVIEW
|
|
91
|
+
}
|
|
86
92
|
|
|
87
93
|
return undefined
|
|
88
94
|
}
|
|
@@ -93,7 +99,9 @@ export function getFilteredElements<T extends ReactElementWithDisplayName>(
|
|
|
93
99
|
): T[] {
|
|
94
100
|
const elements: T[] = []
|
|
95
101
|
for (const n of node) {
|
|
96
|
-
if (filter(n))
|
|
102
|
+
if (filter(n)) {
|
|
103
|
+
elements.push(n)
|
|
104
|
+
}
|
|
97
105
|
}
|
|
98
106
|
return elements
|
|
99
107
|
}
|
package/src/components/pic.tsx
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import styled from 'styled-components'
|
|
3
2
|
|
|
4
3
|
import { COLORS, WEBCHAT } from '../constants'
|
|
@@ -24,7 +23,7 @@ export const Pic = (props: PicProps) => {
|
|
|
24
23
|
|
|
25
24
|
const renderBrowser = () => <PicStyled src={props.src} />
|
|
26
25
|
|
|
27
|
-
// @ts-
|
|
26
|
+
// @ts-expect-error
|
|
28
27
|
const renderNode = () => <pic>{props.src}</pic>
|
|
29
28
|
|
|
30
29
|
return renderComponent({ renderBrowser, renderNode })
|
package/src/components/raw.jsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { INPUT, isBrowser } from '@botonic/core'
|
|
2
|
-
import
|
|
2
|
+
import { useState } from 'react'
|
|
3
3
|
import styled from 'styled-components'
|
|
4
4
|
|
|
5
5
|
import { COLORS, ROLES } from '../constants'
|
|
@@ -35,7 +35,7 @@ export const Raw = props => {
|
|
|
35
35
|
let content = props.children
|
|
36
36
|
const data = JSON.stringify(props.data, null, ' ')
|
|
37
37
|
const [isOpen, setIsOpen] = useState(false)
|
|
38
|
-
if (isBrowser())
|
|
38
|
+
if (isBrowser()) {
|
|
39
39
|
content = (
|
|
40
40
|
<>
|
|
41
41
|
<div>{props.alt}</div>
|
|
@@ -49,6 +49,7 @@ export const Raw = props => {
|
|
|
49
49
|
)}
|
|
50
50
|
</>
|
|
51
51
|
)
|
|
52
|
+
}
|
|
52
53
|
return (
|
|
53
54
|
<Message
|
|
54
55
|
role={ROLES.RAW_MESSAGE}
|
package/src/components/reply.tsx
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useContext } from 'react'
|
|
2
2
|
import styled from 'styled-components'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { WEBCHAT } from '../constants'
|
|
5
5
|
import { renderComponent } from '../util/react'
|
|
6
6
|
import { WebchatContext } from '../webchat/context'
|
|
7
7
|
import { COMPONENT_DISPLAY_NAMES } from './constants'
|
|
8
|
-
import { ReplyProps } from './index-types'
|
|
8
|
+
import type { ReplyProps } from './index-types'
|
|
9
9
|
|
|
10
10
|
const StyledButton = styled.button`
|
|
11
11
|
width: 100%;
|
|
@@ -25,7 +25,9 @@ export const Reply = (props: ReplyProps) => {
|
|
|
25
25
|
event.preventDefault()
|
|
26
26
|
if (props.children) {
|
|
27
27
|
let payload = props.payload
|
|
28
|
-
if (props.path)
|
|
28
|
+
if (props.path) {
|
|
29
|
+
payload = `__PATH_PAYLOAD__${props.path}`
|
|
30
|
+
}
|
|
29
31
|
sendText(props.children, payload)
|
|
30
32
|
}
|
|
31
33
|
}
|
|
@@ -56,11 +58,11 @@ export const Reply = (props: ReplyProps) => {
|
|
|
56
58
|
const renderNode = () => {
|
|
57
59
|
if (props.path) {
|
|
58
60
|
const payload = `__PATH_PAYLOAD__${props.path}`
|
|
59
|
-
// @ts-
|
|
61
|
+
// @ts-expect-error
|
|
60
62
|
// eslint-disable-next-line react/no-unknown-property
|
|
61
63
|
return <reply payload={payload}>{props.children}</reply>
|
|
62
64
|
}
|
|
63
|
-
// @ts-
|
|
65
|
+
// @ts-expect-error
|
|
64
66
|
// eslint-disable-next-line react/no-unknown-property
|
|
65
67
|
return <reply payload={props.payload}>{props.children}</reply>
|
|
66
68
|
}
|
|
@@ -72,6 +74,8 @@ Reply.displayName = COMPONENT_DISPLAY_NAMES.Reply
|
|
|
72
74
|
|
|
73
75
|
Reply.serialize = (replyProps: ReplyProps) => {
|
|
74
76
|
let payload = replyProps.payload
|
|
75
|
-
if (replyProps.path)
|
|
77
|
+
if (replyProps.path) {
|
|
78
|
+
payload = `__PATH_PAYLOAD__${replyProps.path}`
|
|
79
|
+
}
|
|
76
80
|
return { reply: { title: replyProps.children, payload } }
|
|
77
81
|
}
|