@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
package/src/components/video.tsx
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { INPUT, isBrowser } from '@botonic/core'
|
|
2
|
-
import React from 'react'
|
|
3
2
|
import styled from 'styled-components'
|
|
4
3
|
|
|
5
4
|
import { COLORS, ROLES } from '../constants'
|
|
6
5
|
import { staticAsset } from '../util/environment'
|
|
7
|
-
import { VideoProps } from './index-types'
|
|
6
|
+
import type { VideoProps } from './index-types'
|
|
8
7
|
import { Message } from './message'
|
|
9
8
|
|
|
10
9
|
const StyledVideo = styled.video`
|
|
@@ -22,12 +21,13 @@ const serialize = (videoProps: { src: string }) => {
|
|
|
22
21
|
export const Video = (props: VideoProps) => {
|
|
23
22
|
props = { ...props, src: staticAsset(props.src) }
|
|
24
23
|
let content = props.children
|
|
25
|
-
if (isBrowser())
|
|
24
|
+
if (isBrowser()) {
|
|
26
25
|
content = (
|
|
27
26
|
<StyledVideo controls>
|
|
28
27
|
<source src={props.src} />
|
|
29
28
|
</StyledVideo>
|
|
30
29
|
)
|
|
30
|
+
}
|
|
31
31
|
return (
|
|
32
32
|
<Message
|
|
33
33
|
role={ROLES.VIDEO_MESSAGE}
|
|
@@ -1,14 +1,61 @@
|
|
|
1
1
|
import { INPUT } from '@botonic/core'
|
|
2
|
-
import
|
|
2
|
+
import { useContext } from 'react'
|
|
3
3
|
|
|
4
4
|
import { renderComponent } from '../util/react'
|
|
5
5
|
import { stringifyWithRegexs } from '../util/regexs'
|
|
6
6
|
import { WebchatContext } from '../webchat/context'
|
|
7
|
-
import {
|
|
7
|
+
import type {
|
|
8
8
|
PersistentMenuOptionsTheme,
|
|
9
9
|
WebchatTheme,
|
|
10
10
|
} from '../webchat/theme/types'
|
|
11
|
-
import { BlockInputOption } from './index-types'
|
|
11
|
+
import type { BlockInputOption } from './index-types'
|
|
12
|
+
|
|
13
|
+
export const normalizeWebchatSettings = (settings: WebchatSettingsProps) => {
|
|
14
|
+
let {
|
|
15
|
+
theme,
|
|
16
|
+
blockInputs,
|
|
17
|
+
persistentMenu,
|
|
18
|
+
enableEmojiPicker,
|
|
19
|
+
enableAttachments,
|
|
20
|
+
enableUserInput,
|
|
21
|
+
enableAnimations,
|
|
22
|
+
} = settings
|
|
23
|
+
if (!theme) {
|
|
24
|
+
theme = {}
|
|
25
|
+
}
|
|
26
|
+
if (!theme.userInput) {
|
|
27
|
+
theme.userInput = {}
|
|
28
|
+
}
|
|
29
|
+
if (persistentMenu !== undefined) {
|
|
30
|
+
theme.userInput.persistentMenu = persistentMenu
|
|
31
|
+
}
|
|
32
|
+
if (enableEmojiPicker !== undefined) {
|
|
33
|
+
if (!theme.userInput.emojiPicker) {
|
|
34
|
+
theme.userInput.emojiPicker = {}
|
|
35
|
+
}
|
|
36
|
+
theme.userInput.emojiPicker.enable = enableEmojiPicker
|
|
37
|
+
}
|
|
38
|
+
if (enableAttachments !== undefined) {
|
|
39
|
+
if (!theme.userInput.attachments) {
|
|
40
|
+
theme.userInput.attachments = {}
|
|
41
|
+
}
|
|
42
|
+
theme.userInput.attachments.enable = enableAttachments
|
|
43
|
+
}
|
|
44
|
+
if (enableUserInput !== undefined) {
|
|
45
|
+
theme.userInput.enable = enableUserInput
|
|
46
|
+
}
|
|
47
|
+
if (blockInputs !== undefined) {
|
|
48
|
+
theme.userInput.blockInputs = blockInputs
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (!theme.animations) {
|
|
52
|
+
theme.animations = {}
|
|
53
|
+
}
|
|
54
|
+
if (enableAnimations !== undefined) {
|
|
55
|
+
theme.animations.enable = enableAnimations
|
|
56
|
+
}
|
|
57
|
+
return theme
|
|
58
|
+
}
|
|
12
59
|
|
|
13
60
|
export interface WebchatSettingsProps {
|
|
14
61
|
blockInputs?: BlockInputOption[]
|
|
@@ -37,7 +84,6 @@ export const WebchatSettings = ({
|
|
|
37
84
|
user,
|
|
38
85
|
}: WebchatSettingsProps) => {
|
|
39
86
|
const renderBrowser = () => {
|
|
40
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
41
87
|
const { updateWebchatDevSettings } = useContext(WebchatContext)
|
|
42
88
|
updateWebchatDevSettings({
|
|
43
89
|
theme,
|
|
@@ -61,7 +107,7 @@ export const WebchatSettings = ({
|
|
|
61
107
|
enableAnimations,
|
|
62
108
|
})
|
|
63
109
|
return (
|
|
64
|
-
//@ts-
|
|
110
|
+
//@ts-expect-error
|
|
65
111
|
<message
|
|
66
112
|
type={INPUT.WEBCHAT_SETTINGS}
|
|
67
113
|
settings={stringifyWithRegexs({ theme: updatedTheme, user })}
|
|
@@ -70,38 +116,3 @@ export const WebchatSettings = ({
|
|
|
70
116
|
}
|
|
71
117
|
return renderComponent({ renderBrowser, renderNode })
|
|
72
118
|
}
|
|
73
|
-
|
|
74
|
-
export const normalizeWebchatSettings = (settings: WebchatSettingsProps) => {
|
|
75
|
-
let {
|
|
76
|
-
theme,
|
|
77
|
-
blockInputs,
|
|
78
|
-
persistentMenu,
|
|
79
|
-
enableEmojiPicker,
|
|
80
|
-
enableAttachments,
|
|
81
|
-
enableUserInput,
|
|
82
|
-
enableAnimations,
|
|
83
|
-
} = settings
|
|
84
|
-
if (!theme) theme = {}
|
|
85
|
-
if (!theme.userInput) theme.userInput = {}
|
|
86
|
-
if (persistentMenu !== undefined) {
|
|
87
|
-
theme.userInput.persistentMenu = persistentMenu
|
|
88
|
-
}
|
|
89
|
-
if (enableEmojiPicker !== undefined) {
|
|
90
|
-
if (!theme.userInput.emojiPicker) theme.userInput.emojiPicker = {}
|
|
91
|
-
theme.userInput.emojiPicker.enable = enableEmojiPicker
|
|
92
|
-
}
|
|
93
|
-
if (enableAttachments !== undefined) {
|
|
94
|
-
if (!theme.userInput.attachments) theme.userInput.attachments = {}
|
|
95
|
-
theme.userInput.attachments.enable = enableAttachments
|
|
96
|
-
}
|
|
97
|
-
if (enableUserInput !== undefined) {
|
|
98
|
-
theme.userInput.enable = enableUserInput
|
|
99
|
-
}
|
|
100
|
-
if (blockInputs !== undefined) theme.userInput.blockInputs = blockInputs
|
|
101
|
-
|
|
102
|
-
if (!theme.animations) theme.animations = {}
|
|
103
|
-
if (enableAnimations !== undefined) {
|
|
104
|
-
theme.animations.enable = enableAnimations
|
|
105
|
-
}
|
|
106
|
-
return theme
|
|
107
|
-
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { INPUT } from '@botonic/core'
|
|
2
|
-
import React from 'react'
|
|
3
2
|
|
|
4
3
|
import { truncateText } from '../util'
|
|
5
4
|
import { renderComponent } from '../util/react'
|
|
@@ -82,7 +81,7 @@ export const WhatsappButtonList = (props: WhatsappButtonListProps) => {
|
|
|
82
81
|
|
|
83
82
|
const renderNode = () => {
|
|
84
83
|
return (
|
|
85
|
-
// @ts-
|
|
84
|
+
// @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
|
|
86
85
|
<message
|
|
87
86
|
{...props}
|
|
88
87
|
body={convertToMarkdownMeta(props.body)}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { INPUT } from '@botonic/core'
|
|
2
|
-
import React from 'react'
|
|
3
2
|
|
|
4
3
|
import { renderComponent } from '../util/react'
|
|
5
4
|
import { Message } from './message'
|
|
@@ -27,7 +26,7 @@ export const WhatsappCatalog = (props: WhatsappCatalogProps) => {
|
|
|
27
26
|
|
|
28
27
|
const renderNode = () => {
|
|
29
28
|
return (
|
|
30
|
-
// @ts-
|
|
29
|
+
// @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
|
|
31
30
|
<message
|
|
32
31
|
{...props}
|
|
33
32
|
body={props.body}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { INPUT } from '@botonic/core'
|
|
2
|
-
import React from 'react'
|
|
3
2
|
|
|
4
3
|
import { truncateText } from '../util'
|
|
5
4
|
import { renderComponent } from '../util/react'
|
|
@@ -127,7 +126,7 @@ export const WhatsappCTAUrlButton = (props: WhatsappCTAUrlButtonProps) => {
|
|
|
127
126
|
: props.url,
|
|
128
127
|
}
|
|
129
128
|
return (
|
|
130
|
-
// @ts-
|
|
129
|
+
// @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
|
|
131
130
|
<message {...validatedProps} type={INPUT.WHATSAPP_CTA_URL_BUTTON} />
|
|
132
131
|
)
|
|
133
132
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
|
|
3
1
|
import { truncateText } from '../util'
|
|
4
2
|
import { Button } from './button'
|
|
5
3
|
import { Carousel } from './carousel'
|
|
@@ -55,7 +53,7 @@ export const WhatsappInteractiveMediaCarousel = (
|
|
|
55
53
|
return (
|
|
56
54
|
<Carousel text={truncateText(props.textMessage, WHATSAPP_MAX_BODY_CHARS)}>
|
|
57
55
|
{props.cards.map((card, index) => (
|
|
58
|
-
<Element key={index}>
|
|
56
|
+
<Element key={`card-${index}-${card.text}`}>
|
|
59
57
|
<Pic src={card.imageLink} />
|
|
60
58
|
<Title>
|
|
61
59
|
{truncateText(card.text, WHATSAPP_MAX_CAROUSEL_CARD_TEXT_CHARS)}
|
|
@@ -67,7 +65,10 @@ export const WhatsappInteractiveMediaCarousel = (
|
|
|
67
65
|
)}
|
|
68
66
|
{card.type === CardType.QUICK_REPLY &&
|
|
69
67
|
card.action.buttons.map((button, index) => (
|
|
70
|
-
<Button
|
|
68
|
+
<Button
|
|
69
|
+
key={`quick-reply-button-${index}-${button.text}`}
|
|
70
|
+
payload={button.payload}
|
|
71
|
+
>
|
|
71
72
|
{truncateText(button.text, WHATSAPP_MAX_BUTTON_CHARS)}
|
|
72
73
|
</Button>
|
|
73
74
|
))}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { INPUT } from '@botonic/core'
|
|
2
|
-
import React from 'react'
|
|
3
2
|
|
|
4
3
|
import { toSnakeCaseKeys } from '../util/functional'
|
|
5
4
|
import { renderComponent } from '../util/react'
|
|
@@ -91,7 +90,7 @@ export const WhatsappMediaCarousel = (props: WhatsappMediaCarouselProps) => {
|
|
|
91
90
|
|
|
92
91
|
const renderNode = () => {
|
|
93
92
|
return (
|
|
94
|
-
// @ts-
|
|
93
|
+
// @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
|
|
95
94
|
<message
|
|
96
95
|
{...props}
|
|
97
96
|
bodyParameters={JSON.stringify(toSnakeCaseKeys(props.bodyParameters))}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { INPUT } from '@botonic/core'
|
|
2
|
-
import React from 'react'
|
|
3
2
|
|
|
4
3
|
import { toSnakeCaseKeys } from '../util/functional'
|
|
5
4
|
import { renderComponent } from '../util/react'
|
|
@@ -67,7 +66,7 @@ export const WhatsappProductCarousel = (
|
|
|
67
66
|
|
|
68
67
|
const renderNode = () => {
|
|
69
68
|
return (
|
|
70
|
-
// @ts-
|
|
69
|
+
// @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
|
|
71
70
|
<message
|
|
72
71
|
{...props}
|
|
73
72
|
bodyParameters={JSON.stringify(toSnakeCaseKeys(props.bodyParameters))}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { INPUT } from '@botonic/core'
|
|
2
|
-
import React from 'react'
|
|
3
2
|
|
|
4
3
|
import { toSnakeCaseKeys } from '../util/functional'
|
|
5
4
|
import { renderComponent } from '../util/react'
|
|
@@ -39,7 +38,7 @@ export const WhatsappProductList = (props: WhatsappProductListProps) => {
|
|
|
39
38
|
|
|
40
39
|
const renderNode = () => {
|
|
41
40
|
return (
|
|
42
|
-
// @ts-
|
|
41
|
+
// @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
|
|
43
42
|
<message
|
|
44
43
|
{...props}
|
|
45
44
|
body={props.body}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { INPUT } from '@botonic/core'
|
|
2
|
-
import React from 'react'
|
|
3
2
|
|
|
4
3
|
import { renderComponent } from '../util/react'
|
|
5
4
|
import { Message } from './message'
|
|
@@ -28,7 +27,7 @@ export const WhatsappProduct = (props: WhatsappProductProps) => {
|
|
|
28
27
|
|
|
29
28
|
const renderNode = () => {
|
|
30
29
|
return (
|
|
31
|
-
// @ts-
|
|
30
|
+
// @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
|
|
32
31
|
<message
|
|
33
32
|
{...props}
|
|
34
33
|
body={props.body}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { INPUT } from '@botonic/core'
|
|
2
|
-
import React from 'react'
|
|
3
2
|
|
|
4
3
|
import { renderComponent } from '../../util/react'
|
|
5
4
|
import { Message } from '../message'
|
|
@@ -31,7 +30,7 @@ export const WhatsappTemplate = (props: WhatsappTemplateProps) => {
|
|
|
31
30
|
|
|
32
31
|
const renderNode = () => {
|
|
33
32
|
return (
|
|
34
|
-
// @ts-
|
|
33
|
+
// @ts-expect-error Property 'message' does not exist on type 'JSX.IntrinsicElements'.
|
|
35
34
|
<message
|
|
36
35
|
{...props}
|
|
37
36
|
name={props.name}
|
package/src/contexts.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Input as CoreInput, Session as CoreSession } from '@botonic/core'
|
|
1
|
+
import type { Input as CoreInput, Session as CoreSession } from '@botonic/core'
|
|
2
2
|
import { createContext } from 'react'
|
|
3
3
|
|
|
4
|
-
import { ActionRequest } from './index-types'
|
|
4
|
+
import type { ActionRequest } from './index-types'
|
|
5
5
|
|
|
6
6
|
export const RequestContext = createContext<ActionRequest>({
|
|
7
7
|
getUserCountry: () => '',
|
package/src/dev-app.jsx
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import { createRoot } from 'react-dom/client'
|
|
3
2
|
|
|
4
3
|
import { SENDERS } from './index-types'
|
|
@@ -106,11 +105,10 @@ export class DevApp extends WebchatApp {
|
|
|
106
105
|
}
|
|
107
106
|
|
|
108
107
|
async onUserInput({ input, session, lastRoutePath }) {
|
|
109
|
-
this.onMessage
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
})
|
|
108
|
+
this.onMessage?.(this, {
|
|
109
|
+
sentBy: SENDERS.user,
|
|
110
|
+
message: input,
|
|
111
|
+
})
|
|
114
112
|
const resp = await this.bot.input({ input, session, lastRoutePath })
|
|
115
113
|
this.onMessage &&
|
|
116
114
|
resp.response.map(r =>
|
package/src/index-types.ts
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
2
|
BotContext,
|
|
3
3
|
BotRequest as CoreBotRequest,
|
|
4
4
|
Input as CoreInput,
|
|
5
5
|
InputType as CoreInputType,
|
|
6
6
|
Route as CoreRoute,
|
|
7
7
|
Routes as CoreRoutes,
|
|
8
|
-
ServerConfig,
|
|
9
8
|
Session as CoreSession,
|
|
10
9
|
SessionUser as CoreSessionUser,
|
|
10
|
+
ServerConfig,
|
|
11
11
|
} from '@botonic/core'
|
|
12
|
-
import React from 'react'
|
|
12
|
+
import type React from 'react'
|
|
13
13
|
|
|
14
|
-
import {
|
|
14
|
+
import type {
|
|
15
15
|
BlockInputOption,
|
|
16
16
|
ButtonProps,
|
|
17
17
|
ReplyProps,
|
|
18
18
|
WebchatSettingsProps,
|
|
19
19
|
} from './components'
|
|
20
20
|
import { ChunkIdsGroupedBySourceData } from './components/system-debug-trace/events/knowledge-bases-types'
|
|
21
|
-
import { CloseWebviewOptions } from './contexts'
|
|
22
|
-
import { UseWebchat } from './webchat/context/use-webchat'
|
|
21
|
+
import type { CloseWebviewOptions } from './contexts'
|
|
22
|
+
import type { UseWebchat } from './webchat/context/use-webchat'
|
|
23
23
|
import {
|
|
24
|
-
CoverComponentOptions,
|
|
25
|
-
PersistentMenuOptionsTheme,
|
|
24
|
+
type CoverComponentOptions,
|
|
25
|
+
type PersistentMenuOptionsTheme,
|
|
26
26
|
WebchatTheme,
|
|
27
27
|
} from './webchat/theme/types'
|
|
28
|
-
import { WebchatApp } from './webchat-app'
|
|
28
|
+
import type { WebchatApp } from './webchat-app'
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* See @botonic/core's Response for the description of the Response's semantics*/
|
package/src/message-utils.js
CHANGED
|
@@ -40,7 +40,9 @@ export const readDataURL = file =>
|
|
|
40
40
|
|
|
41
41
|
export const isAllowedSize = fileSize => {
|
|
42
42
|
const maxAllowedBytesSize = MAX_ALLOWED_SIZE_MB * 1024 * 1024
|
|
43
|
-
if (fileSize > maxAllowedBytesSize)
|
|
43
|
+
if (fileSize > maxAllowedBytesSize) {
|
|
44
|
+
return false
|
|
45
|
+
}
|
|
44
46
|
return true
|
|
45
47
|
}
|
|
46
48
|
|
package/src/msg-to-botonic.jsx
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/* eslint-disable complexity */
|
|
2
|
-
import React from 'react'
|
|
3
|
-
|
|
4
1
|
import { Audio } from './components/audio'
|
|
5
2
|
import { Button } from './components/button/index'
|
|
6
3
|
import { ButtonsDisabler } from './components/buttons-disabler'
|
|
@@ -35,6 +32,7 @@ import {
|
|
|
35
32
|
* @param customMessageTypes {{customTypeName}[]?}
|
|
36
33
|
* @return {React.ReactNode}
|
|
37
34
|
*/
|
|
35
|
+
// eslint-disable-next-line complexity
|
|
38
36
|
export function msgToBotonic(msg, customMessageTypes = []) {
|
|
39
37
|
delete msg.display
|
|
40
38
|
if (isCustom(msg)) {
|
|
@@ -90,12 +88,10 @@ export function msgToBotonic(msg, customMessageTypes = []) {
|
|
|
90
88
|
} else if (isButtonMessage(msg)) {
|
|
91
89
|
const buttons = buttonsParse(msg.buttons)
|
|
92
90
|
return (
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
</Text>
|
|
98
|
-
</>
|
|
91
|
+
<Text {...msg} key={msg.key}>
|
|
92
|
+
{msg.text}
|
|
93
|
+
{buttons}
|
|
94
|
+
</Text>
|
|
99
95
|
)
|
|
100
96
|
} else if (isSystemDebugTrace(msg)) {
|
|
101
97
|
return <SystemDebugTrace {...msg} key={msg.key} />
|
|
@@ -127,23 +123,22 @@ export function msgsToBotonic(msgs, customMessageTypes) {
|
|
|
127
123
|
|
|
128
124
|
function textToBotonic(msg) {
|
|
129
125
|
const txt = msg.data?.text ?? String(msg.data)
|
|
130
|
-
if (
|
|
131
|
-
(msg.replies && msg.replies.length) ||
|
|
132
|
-
(msg.keyboard && msg.keyboard.length)
|
|
133
|
-
)
|
|
126
|
+
if (msg.replies?.length || msg.keyboard?.length) {
|
|
134
127
|
return (
|
|
135
128
|
<Text {...msg} key={msg.key}>
|
|
136
129
|
{txt}
|
|
137
130
|
{parseQuickReplies(msg)}
|
|
138
131
|
</Text>
|
|
139
132
|
)
|
|
140
|
-
|
|
133
|
+
}
|
|
134
|
+
if (msg.buttons?.length) {
|
|
141
135
|
return (
|
|
142
136
|
<Text {...msg} key={msg.key}>
|
|
143
137
|
{txt}
|
|
144
138
|
{buttonsParse(msg.buttons)}
|
|
145
139
|
</Text>
|
|
146
140
|
)
|
|
141
|
+
}
|
|
147
142
|
return (
|
|
148
143
|
<Text {...msg} key={msg.key}>
|
|
149
144
|
{txt}
|
|
@@ -153,7 +148,7 @@ function textToBotonic(msg) {
|
|
|
153
148
|
|
|
154
149
|
function elementsParse(elements) {
|
|
155
150
|
return elements.map((e, i) => (
|
|
156
|
-
<Element key={i}>
|
|
151
|
+
<Element key={`element-${i}`}>
|
|
157
152
|
<Pic src={e.img || e.pic || e.image_url} />
|
|
158
153
|
<Title>{e.title}</Title>
|
|
159
154
|
<Subtitle>{e.subtitle}</Subtitle>
|
|
@@ -166,7 +161,9 @@ function buttonsParse(buttons) {
|
|
|
166
161
|
return buttons.map((b, i) => {
|
|
167
162
|
const props = b.props || b
|
|
168
163
|
let payload = props.payload
|
|
169
|
-
if (props.path)
|
|
164
|
+
if (props.path) {
|
|
165
|
+
payload = `__PATH_PAYLOAD__${props.path}`
|
|
166
|
+
}
|
|
170
167
|
const url = props.messenger_extensions ? null : props.url
|
|
171
168
|
const target = props.messenger_extensions ? null : props.target
|
|
172
169
|
const title = props.title
|
|
@@ -174,7 +171,7 @@ function buttonsParse(buttons) {
|
|
|
174
171
|
const disabledProps = ButtonsDisabler.constructBrowserProps(props)
|
|
175
172
|
return (
|
|
176
173
|
<Button
|
|
177
|
-
key={i}
|
|
174
|
+
key={`button-${i}`}
|
|
178
175
|
payload={payload}
|
|
179
176
|
url={url}
|
|
180
177
|
target={target}
|
|
@@ -192,9 +189,11 @@ function parseQuickReplies(msg) {
|
|
|
192
189
|
if (msg.replies) {
|
|
193
190
|
replies = msg.replies.map((el, i) => {
|
|
194
191
|
let payload = el.payload
|
|
195
|
-
if (el.path)
|
|
192
|
+
if (el.path) {
|
|
193
|
+
payload = `__PATH_PAYLOAD__${el.path}`
|
|
194
|
+
}
|
|
196
195
|
return (
|
|
197
|
-
<Reply key={i} payload={payload}>
|
|
196
|
+
<Reply key={`reply-${i}`} payload={payload}>
|
|
198
197
|
{el.text}
|
|
199
198
|
</Reply>
|
|
200
199
|
)
|
|
@@ -202,7 +201,7 @@ function parseQuickReplies(msg) {
|
|
|
202
201
|
}
|
|
203
202
|
if (msg.keyboard) {
|
|
204
203
|
replies = msg.keyboard.map((el, i) => (
|
|
205
|
-
<Reply key={i} payload={el.data}>
|
|
204
|
+
<Reply key={`reply-${i}`} payload={el.data}>
|
|
206
205
|
{el.label}
|
|
207
206
|
</Reply>
|
|
208
207
|
))
|
package/src/react-bot.tsx
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { CoreBot } from '@botonic/core'
|
|
2
|
-
import React from 'react'
|
|
2
|
+
import type React from 'react'
|
|
3
3
|
|
|
4
4
|
import { Text } from './components/text'
|
|
5
5
|
import { RequestContext } from './contexts'
|
|
6
|
-
import { ActionRequest } from './index-types'
|
|
6
|
+
import type { ActionRequest } from './index-types'
|
|
7
7
|
|
|
8
8
|
type ActionComponentType<P = any> = React.ComponentType<P> & {
|
|
9
9
|
botonicInit?: (request: ActionRequest) => Promise<P>
|
package/src/util/dom.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BotonicContainerId } from '../webchat/constants'
|
|
2
2
|
|
|
3
3
|
export const getWebchatElement = host =>
|
|
4
|
-
host
|
|
4
|
+
host?.querySelector(`#${BotonicContainerId.Webchat}`)
|
|
5
5
|
|
|
6
6
|
export const getScrollableMessagesListElement = host =>
|
|
7
|
-
host
|
|
7
|
+
host?.querySelector(`#${BotonicContainerId.ScrollableMessagesList}`)
|
|
8
8
|
|
|
9
9
|
// https://stackoverflow.com/questions/9457891/how-to-detect-if-domcontentloaded-was-fired
|
|
10
10
|
export const onDOMLoaded = callback => {
|
|
@@ -21,7 +21,7 @@ export const onDOMLoaded = callback => {
|
|
|
21
21
|
export const isShadowDOMSupported = () => {
|
|
22
22
|
try {
|
|
23
23
|
return document.head.createShadowRoot || document.head.attachShadow
|
|
24
|
-
} catch (
|
|
24
|
+
} catch (_e) {
|
|
25
25
|
return false
|
|
26
26
|
}
|
|
27
27
|
}
|
package/src/util/environment.js
CHANGED
|
@@ -3,26 +3,30 @@ export const isProd = process.env.NODE_ENV === 'production'
|
|
|
3
3
|
|
|
4
4
|
export const staticAsset = path => {
|
|
5
5
|
try {
|
|
6
|
-
if (isURL(path))
|
|
6
|
+
if (isURL(path)) {
|
|
7
|
+
return path // Webpack 5 or Rspack >= fully resolves absolute path to assets
|
|
8
|
+
}
|
|
7
9
|
const scriptBaseURL = document
|
|
8
10
|
.querySelector('script[src*="webchat.botonic.js"]')
|
|
9
11
|
.getAttribute('src')
|
|
10
12
|
const scriptName = scriptBaseURL.split('/').pop()
|
|
11
|
-
const basePath = scriptBaseURL.replace(
|
|
13
|
+
const basePath = scriptBaseURL.replace(`/${scriptName}`, '/')
|
|
12
14
|
const resolvedStaticAssetPath = basePath + path
|
|
13
15
|
return resolvedStaticAssetPath
|
|
14
|
-
} catch (
|
|
16
|
+
} catch (_e) {
|
|
15
17
|
console.error(`Could not resolve path: '${path}'`)
|
|
16
18
|
return normalize(path)
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
export const resolveImage = src => {
|
|
21
|
-
if (isURL(src))
|
|
23
|
+
if (isURL(src)) {
|
|
24
|
+
return src
|
|
25
|
+
}
|
|
22
26
|
return staticAsset(src)
|
|
23
27
|
}
|
|
24
28
|
|
|
25
|
-
export
|
|
29
|
+
export function isURL(urlPath) {
|
|
26
30
|
// @stephenhay (38 chars) from: https://mathiasbynens.be/demo/url-regex
|
|
27
31
|
const pattern = new RegExp(/^(blob:)?(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/)
|
|
28
32
|
return !!pattern.test(urlPath)
|
|
@@ -33,8 +37,12 @@ export function normalize(path) {
|
|
|
33
37
|
const trailingSlash = path && path[path.length - 1] === '/'
|
|
34
38
|
// Normalize the path
|
|
35
39
|
path = normalizeArray(path.split('/'), !isAbsolute).join('/')
|
|
36
|
-
if (!path && !isAbsolute)
|
|
37
|
-
|
|
40
|
+
if (!path && !isAbsolute) {
|
|
41
|
+
path = '.'
|
|
42
|
+
}
|
|
43
|
+
if (path && trailingSlash) {
|
|
44
|
+
path += '/'
|
|
45
|
+
}
|
|
38
46
|
return (isAbsolute ? '/' : '') + path
|
|
39
47
|
}
|
|
40
48
|
|
|
@@ -42,7 +50,9 @@ function normalizeArray(parts, allowAboveRoot) {
|
|
|
42
50
|
const res = []
|
|
43
51
|
for (let i = 0; i < parts.length; i++) {
|
|
44
52
|
const p = parts[i]
|
|
45
|
-
if (!p || p === '.')
|
|
53
|
+
if (!p || p === '.') {
|
|
54
|
+
continue
|
|
55
|
+
}
|
|
46
56
|
if (p === '..') {
|
|
47
57
|
if (res.length && res[res.length - 1] !== '..') {
|
|
48
58
|
res.pop()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { isNode } from '@botonic/core'
|
|
3
|
-
import
|
|
3
|
+
import { useState } from 'react'
|
|
4
4
|
|
|
5
5
|
import { Text } from '../components/text'
|
|
6
6
|
|
|
@@ -10,15 +10,15 @@ export const createErrorBoundary = ({
|
|
|
10
10
|
),
|
|
11
11
|
} = {}) => {
|
|
12
12
|
const ErrorBoundary = ({ children }) => {
|
|
13
|
-
const [error,
|
|
13
|
+
const [error, _setError] = useState(null)
|
|
14
14
|
|
|
15
|
-
const
|
|
15
|
+
const _componentDidCatch = (error, _errorInfo) => {
|
|
16
16
|
if (isNode()) {
|
|
17
17
|
console.error(`Failure at:`, error)
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
const
|
|
21
|
+
const _getDerivedStateFromError = error => {
|
|
22
22
|
return { error }
|
|
23
23
|
}
|
|
24
24
|
|
package/src/util/logs.js
CHANGED
|
@@ -14,7 +14,8 @@ export function warnDeprecatedProps(props, extraInfo) {
|
|
|
14
14
|
{ legacy: 'imageStyle', new: 'imagestyle' },
|
|
15
15
|
]
|
|
16
16
|
legacyNewProps.forEach(p => {
|
|
17
|
-
if (getProperty(props, p.legacy) !== undefined)
|
|
17
|
+
if (getProperty(props, p.legacy) !== undefined) {
|
|
18
18
|
warnDeprecated(p.legacy, p.new, extraInfo)
|
|
19
|
+
}
|
|
19
20
|
})
|
|
20
21
|
}
|
package/src/util/objects.js
CHANGED
|
@@ -6,12 +6,14 @@
|
|
|
6
6
|
* getProperty(obj, 'a.b.z'), returns undefined
|
|
7
7
|
*/
|
|
8
8
|
export const getProperty = (obj, property) => {
|
|
9
|
-
if (!property)
|
|
9
|
+
if (!property) {
|
|
10
|
+
return undefined
|
|
11
|
+
}
|
|
10
12
|
const properties = property.split('.')
|
|
11
13
|
for (let i = 0; i < properties.length; i++) {
|
|
12
14
|
const prop = properties[i]
|
|
13
15
|
// eslint-disable-next-line no-prototype-builtins
|
|
14
|
-
if (!obj || !
|
|
16
|
+
if (!obj || !Object.hasOwn(obj, prop)) {
|
|
15
17
|
return undefined
|
|
16
18
|
} else {
|
|
17
19
|
obj = obj[prop]
|
|
@@ -31,7 +33,7 @@ export const mapObject = (obj, conversion = ([key, value]) => [key, value]) => {
|
|
|
31
33
|
obj &&
|
|
32
34
|
Object.entries(obj)
|
|
33
35
|
.map(conversion)
|
|
34
|
-
.reduce(
|
|
36
|
+
.reduce((prev, curr) => {
|
|
35
37
|
prev[curr[0]] = curr[1]
|
|
36
38
|
return prev
|
|
37
39
|
}, {})
|