@botonic/react 0.22.0-alpha.1 → 0.22.0-beta.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 +4 -6
- package/lib/cjs/botonic-tester.js.map +1 -1
- package/lib/cjs/components/audio.js +3 -7
- package/lib/cjs/components/audio.js.map +1 -1
- package/lib/cjs/components/button.js +7 -18
- package/lib/cjs/components/button.js.map +1 -1
- package/lib/cjs/components/carousel.d.ts +1 -1
- package/lib/cjs/components/carousel.js +6 -19
- package/lib/cjs/components/carousel.js.map +1 -1
- package/lib/cjs/components/custom-message.d.ts +3 -34
- package/lib/cjs/components/custom-message.js +4 -10
- package/lib/cjs/components/custom-message.js.map +1 -1
- package/lib/cjs/components/document.js +3 -6
- package/lib/cjs/components/document.js.map +1 -1
- package/lib/cjs/components/element.js +3 -2
- package/lib/cjs/components/element.js.map +1 -1
- package/lib/cjs/components/handoff.js +3 -7
- package/lib/cjs/components/handoff.js.map +1 -1
- package/lib/cjs/components/image.js +3 -7
- package/lib/cjs/components/image.js.map +1 -1
- package/lib/cjs/components/index-types.d.ts +174 -0
- package/lib/cjs/components/index-types.js +17 -0
- package/lib/cjs/components/index-types.js.map +1 -0
- package/lib/cjs/components/index.d.ts +22 -20
- package/lib/cjs/components/index.js +4 -1
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/components/location.js +3 -9
- package/lib/cjs/components/location.js.map +1 -1
- package/lib/cjs/components/message-template.js +2 -3
- package/lib/cjs/components/message-template.js.map +1 -1
- package/lib/cjs/components/message.js +9 -27
- package/lib/cjs/components/message.js.map +1 -1
- package/lib/cjs/components/multichannel/index-types.d.ts +45 -0
- package/lib/cjs/components/multichannel/index-types.js +3 -0
- package/lib/cjs/components/multichannel/index-types.js.map +1 -0
- package/lib/cjs/components/multichannel/index.d.ts +11 -6
- package/lib/cjs/components/multichannel/index.js +2 -0
- package/lib/cjs/components/multichannel/index.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-button.js +4 -5
- package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-carousel.js +3 -20
- package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-context.d.ts +1 -1
- package/lib/cjs/components/multichannel/multichannel-reply.js +2 -1
- package/lib/cjs/components/multichannel/multichannel-reply.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-text.d.ts +1 -1
- package/lib/cjs/components/multichannel/multichannel-text.js +10 -25
- package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel.js +16 -28
- package/lib/cjs/components/multichannel/multichannel.js.map +1 -1
- package/lib/cjs/components/pic.js +3 -2
- package/lib/cjs/components/pic.js.map +1 -1
- package/lib/cjs/components/raw.js +3 -12
- package/lib/cjs/components/raw.js.map +1 -1
- package/lib/cjs/components/reply.js +5 -8
- package/lib/cjs/components/reply.js.map +1 -1
- package/lib/cjs/components/share-button.js +2 -3
- package/lib/cjs/components/share-button.js.map +1 -1
- package/lib/cjs/components/subtitle.js +3 -4
- package/lib/cjs/components/subtitle.js.map +1 -1
- package/lib/cjs/components/text.js +3 -6
- package/lib/cjs/components/text.js.map +1 -1
- package/lib/cjs/components/timestamps.js +2 -5
- package/lib/cjs/components/timestamps.js.map +1 -1
- package/lib/cjs/components/title.js +3 -2
- package/lib/cjs/components/title.js.map +1 -1
- package/lib/cjs/components/video.js +3 -6
- package/lib/cjs/components/video.js.map +1 -1
- package/lib/cjs/components/webchat-settings.js +2 -1
- package/lib/cjs/components/webchat-settings.js.map +1 -1
- package/lib/cjs/components/whatsapp-template.js +3 -4
- package/lib/cjs/components/whatsapp-template.js.map +1 -1
- package/lib/cjs/contexts.d.ts +2 -3
- package/lib/cjs/contexts.js +3 -4
- package/lib/cjs/contexts.js.map +1 -1
- package/lib/cjs/dev-app.d.ts +2 -2
- package/lib/cjs/dev-app.js +2 -1
- package/lib/cjs/dev-app.js.map +1 -1
- package/lib/cjs/index-types.d.ts +96 -0
- package/lib/cjs/index-types.js +12 -0
- package/lib/cjs/index-types.js.map +1 -0
- package/lib/cjs/index.d.ts +7 -10
- package/lib/cjs/index.js +6 -10
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/message-utils.d.ts +1 -1
- package/lib/cjs/msg-to-botonic.d.ts +1 -1
- package/lib/cjs/msg-to-botonic.js +24 -46
- package/lib/cjs/msg-to-botonic.js.map +1 -1
- package/lib/cjs/node-app.d.ts +1 -1
- package/lib/cjs/react-bot.d.ts +1 -1
- package/lib/cjs/react-bot.js +3 -4
- package/lib/cjs/react-bot.js.map +1 -1
- package/lib/cjs/util/error-boundary.d.ts +6 -39
- package/lib/cjs/util/error-boundary.js +17 -30
- package/lib/cjs/util/error-boundary.js.map +1 -1
- package/lib/cjs/util/webchat.js.map +1 -1
- package/lib/cjs/webchat/components/attachment.js +7 -10
- package/lib/cjs/webchat/components/attachment.js.map +1 -1
- package/lib/cjs/webchat/components/common.js +2 -1
- package/lib/cjs/webchat/components/common.js.map +1 -1
- package/lib/cjs/webchat/components/conditional-animation.js +2 -3
- package/lib/cjs/webchat/components/conditional-animation.js.map +1 -1
- package/lib/cjs/webchat/components/emoji-picker.js +3 -12
- package/lib/cjs/webchat/components/emoji-picker.js.map +1 -1
- package/lib/cjs/webchat/components/persistent-menu.js +5 -19
- package/lib/cjs/webchat/components/persistent-menu.js.map +1 -1
- package/lib/cjs/webchat/components/send-button.js +2 -7
- package/lib/cjs/webchat/components/send-button.js.map +1 -1
- package/lib/cjs/webchat/components/typing-indicator.js +2 -5
- package/lib/cjs/webchat/components/typing-indicator.js.map +1 -1
- package/lib/cjs/webchat/devices/device-adapter.d.ts +2 -2
- package/lib/cjs/webchat/header.js +4 -14
- package/lib/cjs/webchat/header.js.map +1 -1
- package/lib/cjs/webchat/hooks.js +2 -1
- package/lib/cjs/webchat/hooks.js.map +1 -1
- package/lib/cjs/webchat/index-types.d.ts +55 -0
- package/lib/cjs/webchat/index-types.js +3 -0
- package/lib/cjs/webchat/index-types.js.map +1 -0
- package/lib/cjs/webchat/index.d.ts +4 -6
- package/lib/cjs/webchat/index.js +3 -3
- package/lib/cjs/webchat/index.js.map +1 -1
- package/lib/cjs/webchat/message-list.js +5 -12
- package/lib/cjs/webchat/message-list.js.map +1 -1
- package/lib/cjs/webchat/replies.js +2 -5
- package/lib/cjs/webchat/replies.js.map +1 -1
- package/lib/cjs/webchat/session-view.js +7 -30
- package/lib/cjs/webchat/session-view.js.map +1 -1
- package/lib/cjs/webchat/use-storage-state-hook.js +12 -2
- package/lib/cjs/webchat/use-storage-state-hook.js.map +1 -1
- package/lib/cjs/webchat/webchat-dev.d.ts +1 -1
- package/lib/cjs/webchat/webchat-dev.js +6 -10
- package/lib/cjs/webchat/webchat-dev.js.map +1 -1
- package/lib/cjs/webchat/webchat.d.ts +1 -1
- package/lib/cjs/webchat/webchat.js +43 -86
- package/lib/cjs/webchat/webchat.js.map +1 -1
- package/lib/cjs/webchat/webview.js +5 -13
- package/lib/cjs/webchat/webview.js.map +1 -1
- package/lib/cjs/webchat-app.d.ts +2 -2
- package/lib/cjs/webchat-app.js +2 -1
- package/lib/cjs/webchat-app.js.map +1 -1
- package/lib/cjs/webview-app.js +12 -13
- package/lib/cjs/webview-app.js.map +1 -1
- package/lib/esm/botonic-tester.js +4 -6
- package/lib/esm/botonic-tester.js.map +1 -1
- package/lib/esm/components/audio.js +3 -7
- package/lib/esm/components/audio.js.map +1 -1
- package/lib/esm/components/button.js +7 -18
- package/lib/esm/components/button.js.map +1 -1
- package/lib/esm/components/carousel.d.ts +2 -1
- package/lib/esm/components/carousel.js +6 -19
- package/lib/esm/components/carousel.js.map +1 -1
- package/lib/esm/components/custom-message.d.ts +3 -34
- package/lib/esm/components/custom-message.js +4 -10
- package/lib/esm/components/custom-message.js.map +1 -1
- package/lib/esm/components/document.js +3 -6
- package/lib/esm/components/document.js.map +1 -1
- package/lib/esm/components/element.js +3 -2
- package/lib/esm/components/element.js.map +1 -1
- package/lib/esm/components/handoff.js +3 -7
- package/lib/esm/components/handoff.js.map +1 -1
- package/lib/esm/components/image.js +3 -7
- package/lib/esm/components/image.js.map +1 -1
- package/lib/esm/components/index-types.d.ts +174 -0
- package/lib/esm/components/index-types.js +16 -0
- package/lib/esm/components/index-types.js.map +1 -0
- package/lib/esm/components/index.d.ts +22 -19
- package/lib/esm/components/index.js +2 -0
- package/lib/esm/components/index.js.map +1 -1
- package/lib/esm/components/location.js +3 -9
- package/lib/esm/components/location.js.map +1 -1
- package/lib/esm/components/message-template.js +2 -3
- package/lib/esm/components/message-template.js.map +1 -1
- package/lib/esm/components/message.js +9 -27
- package/lib/esm/components/message.js.map +1 -1
- package/lib/esm/components/multichannel/index-types.d.ts +45 -0
- package/lib/esm/components/multichannel/index-types.js +2 -0
- package/lib/esm/components/multichannel/index-types.js.map +1 -0
- package/lib/esm/components/multichannel/index.d.ts +11 -6
- package/lib/esm/components/multichannel/index.js +1 -0
- package/lib/esm/components/multichannel/index.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-button.js +4 -5
- package/lib/esm/components/multichannel/multichannel-button.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-carousel.js +3 -20
- package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-context.d.ts +1 -1
- package/lib/esm/components/multichannel/multichannel-reply.js +2 -1
- package/lib/esm/components/multichannel/multichannel-reply.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-text.d.ts +1 -1
- package/lib/esm/components/multichannel/multichannel-text.js +10 -25
- package/lib/esm/components/multichannel/multichannel-text.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel.js +11 -23
- package/lib/esm/components/multichannel/multichannel.js.map +1 -1
- package/lib/esm/components/pic.js +3 -2
- package/lib/esm/components/pic.js.map +1 -1
- package/lib/esm/components/raw.js +3 -12
- package/lib/esm/components/raw.js.map +1 -1
- package/lib/esm/components/reply.js +5 -8
- package/lib/esm/components/reply.js.map +1 -1
- package/lib/esm/components/share-button.js +2 -3
- package/lib/esm/components/share-button.js.map +1 -1
- package/lib/esm/components/subtitle.js +3 -4
- package/lib/esm/components/subtitle.js.map +1 -1
- package/lib/esm/components/text.js +3 -6
- package/lib/esm/components/text.js.map +1 -1
- package/lib/esm/components/timestamps.js +2 -5
- package/lib/esm/components/timestamps.js.map +1 -1
- package/lib/esm/components/title.js +3 -2
- package/lib/esm/components/title.js.map +1 -1
- package/lib/esm/components/video.js +3 -6
- package/lib/esm/components/video.js.map +1 -1
- package/lib/esm/components/webchat-settings.js +2 -1
- package/lib/esm/components/webchat-settings.js.map +1 -1
- package/lib/esm/components/whatsapp-template.js +3 -4
- package/lib/esm/components/whatsapp-template.js.map +1 -1
- package/lib/esm/contexts.d.ts +2 -3
- package/lib/esm/contexts.js +3 -3
- package/lib/esm/contexts.js.map +1 -1
- package/lib/esm/dev-app.d.ts +2 -2
- package/lib/esm/dev-app.js +2 -1
- package/lib/esm/dev-app.js.map +1 -1
- package/lib/esm/index-types.d.ts +96 -0
- package/lib/esm/index-types.js +9 -0
- package/lib/esm/index-types.js.map +1 -0
- package/lib/esm/index.d.ts +7 -9
- package/lib/esm/index.js +5 -4
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/message-utils.d.ts +2 -1
- package/lib/esm/msg-to-botonic.d.ts +1 -1
- package/lib/esm/msg-to-botonic.js +23 -45
- package/lib/esm/msg-to-botonic.js.map +1 -1
- package/lib/esm/node-app.d.ts +4 -4
- package/lib/esm/react-bot.d.ts +2 -1
- package/lib/esm/react-bot.js +3 -4
- package/lib/esm/react-bot.js.map +1 -1
- package/lib/esm/util/error-boundary.d.ts +6 -39
- package/lib/esm/util/error-boundary.js +17 -30
- package/lib/esm/util/error-boundary.js.map +1 -1
- package/lib/esm/util/webchat.js.map +1 -1
- package/lib/esm/webchat/components/attachment.js +8 -11
- package/lib/esm/webchat/components/attachment.js.map +1 -1
- package/lib/esm/webchat/components/common.js +2 -1
- package/lib/esm/webchat/components/common.js.map +1 -1
- package/lib/esm/webchat/components/conditional-animation.js +2 -3
- package/lib/esm/webchat/components/conditional-animation.js.map +1 -1
- package/lib/esm/webchat/components/emoji-picker.js +3 -12
- package/lib/esm/webchat/components/emoji-picker.js.map +1 -1
- package/lib/esm/webchat/components/persistent-menu.js +5 -19
- package/lib/esm/webchat/components/persistent-menu.js.map +1 -1
- package/lib/esm/webchat/components/send-button.js +2 -7
- package/lib/esm/webchat/components/send-button.js.map +1 -1
- package/lib/esm/webchat/components/typing-indicator.js +2 -5
- package/lib/esm/webchat/components/typing-indicator.js.map +1 -1
- package/lib/esm/webchat/devices/device-adapter.d.ts +2 -2
- package/lib/esm/webchat/header.js +4 -14
- package/lib/esm/webchat/header.js.map +1 -1
- package/lib/esm/webchat/hooks.js +2 -1
- package/lib/esm/webchat/hooks.js.map +1 -1
- package/lib/esm/webchat/index-types.d.ts +55 -0
- package/lib/esm/webchat/index-types.js +2 -0
- package/lib/esm/webchat/index-types.js.map +1 -0
- package/lib/esm/webchat/index.d.ts +4 -6
- package/lib/esm/webchat/index.js +2 -3
- package/lib/esm/webchat/index.js.map +1 -1
- package/lib/esm/webchat/message-list.js +5 -12
- package/lib/esm/webchat/message-list.js.map +1 -1
- package/lib/esm/webchat/replies.js +2 -5
- package/lib/esm/webchat/replies.js.map +1 -1
- package/lib/esm/webchat/session-view.js +7 -30
- package/lib/esm/webchat/session-view.js.map +1 -1
- package/lib/esm/webchat/use-storage-state-hook.js +12 -2
- package/lib/esm/webchat/use-storage-state-hook.js.map +1 -1
- package/lib/esm/webchat/webchat-dev.d.ts +1 -1
- package/lib/esm/webchat/webchat-dev.js +6 -10
- package/lib/esm/webchat/webchat-dev.js.map +1 -1
- package/lib/esm/webchat/webchat.d.ts +1 -1
- package/lib/esm/webchat/webchat.js +43 -86
- package/lib/esm/webchat/webchat.js.map +1 -1
- package/lib/esm/webchat/webview.js +5 -13
- package/lib/esm/webchat/webview.js.map +1 -1
- package/lib/esm/webchat-app.d.ts +5 -4
- package/lib/esm/webchat-app.js +2 -1
- package/lib/esm/webchat-app.js.map +1 -1
- package/lib/esm/webview-app.js +5 -6
- package/lib/esm/webview-app.js.map +1 -1
- package/package.json +21 -15
- package/src/components/{index.d.ts → index-types.ts} +22 -43
- package/src/components/{index.js → index.ts} +2 -0
- package/src/components/message.jsx +4 -11
- package/src/components/multichannel/{index.d.ts → index-types.ts} +1 -10
- package/src/components/multichannel/{index.js → index.ts} +2 -0
- package/src/components/multichannel/multichannel-text.jsx +2 -5
- package/src/contexts.jsx +3 -3
- package/src/index-types.ts +190 -0
- package/src/{index.js → index.ts} +5 -4
- package/src/msg-to-botonic.jsx +11 -11
- package/src/util/error-boundary.jsx +15 -30
- package/src/util/webchat.js +12 -13
- package/src/webchat/components/attachment.jsx +10 -2
- package/src/webchat/components/emoji-picker.jsx +7 -1
- package/src/webchat/hooks.js +2 -1
- package/src/webchat/{index.d.ts → index-types.ts} +5 -10
- package/src/webchat/{index.js → index.ts} +3 -3
- package/src/webchat/use-storage-state-hook.js +13 -2
- package/src/webchat/webchat.jsx +5 -7
- package/src/webview-app.tsx +1 -1
- package/src/index.d.ts +0 -238
package/lib/cjs/webchat/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getBotonicApp = exports.WebchatDev = exports.Webchat = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
// @ts-nocheck
|
|
4
6
|
var webchat_1 = require("./webchat");
|
|
5
7
|
Object.defineProperty(exports, "Webchat", { enumerable: true, get: function () { return webchat_1.Webchat; } });
|
|
6
8
|
var webchat_dev_1 = require("./webchat-dev");
|
|
7
9
|
Object.defineProperty(exports, "WebchatDev", { enumerable: true, get: function () { return webchat_dev_1.WebchatDev; } });
|
|
8
|
-
/**
|
|
9
|
-
* @returns {WebChatApp}
|
|
10
|
-
*/
|
|
11
10
|
function getBotonicApp() {
|
|
12
11
|
// Botonic is exported from your bot
|
|
13
12
|
// eslint-disable-next-line no-undef
|
|
14
13
|
return Botonic;
|
|
15
14
|
}
|
|
16
15
|
exports.getBotonicApp = getBotonicApp;
|
|
16
|
+
tslib_1.__exportStar(require("./index-types"), exports);
|
|
17
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["webchat/index.
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["webchat/index.ts"],"names":[],"mappings":";;;;AAAA,cAAc;AACd,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,6CAA0C;AAAjC,yGAAA,UAAU,OAAA;AAEnB,SAAgB,aAAa;IAC3B,oCAAoC;IACpC,oCAAoC;IACpC,OAAO,OAAO,CAAA;AAChB,CAAC;AAJD,sCAIC;AAED,wDAA6B"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebchatMessageList = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
6
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
7
|
const Fade_1 = tslib_1.__importDefault(require("react-reveal/Fade"));
|
|
7
8
|
const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
|
|
@@ -29,18 +30,10 @@ const WebchatMessageList = props => {
|
|
|
29
30
|
const introImage = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.introImage);
|
|
30
31
|
const introStyle = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.introStyle);
|
|
31
32
|
const scrollbarOptions = Object.assign({ enable: true, autoHide: true }, getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.scrollbar));
|
|
32
|
-
const DefaultIntro = introImage && (
|
|
33
|
-
return (
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
{(CustomIntro || DefaultIntro) && (<react_2.ConditionalWrapper condition={animationsEnabled} wrapper={children => <Fade_1.default>{children}</Fade_1.default>}>
|
|
37
|
-
{CustomIntro ? <CustomIntro /> : DefaultIntro}
|
|
38
|
-
</react_2.ConditionalWrapper>)}
|
|
39
|
-
{webchatState.messagesComponents.map((e, i) => (<StyledMessages role={constants_1.ROLES.MESSAGE} key={i}>
|
|
40
|
-
{e}
|
|
41
|
-
</StyledMessages>))}
|
|
42
|
-
{props.children}
|
|
43
|
-
</styled_scrollbar_1.StyledScrollbar>);
|
|
33
|
+
const DefaultIntro = introImage && ((0, jsx_runtime_1.jsx)(DefaultIntroImage, { style: Object.assign({}, introStyle), src: (0, environment_1.resolveImage)(introImage) }));
|
|
34
|
+
return ((0, jsx_runtime_1.jsxs)(styled_scrollbar_1.StyledScrollbar, Object.assign({ role: constants_1.ROLES.MESSAGE_LIST,
|
|
35
|
+
// TODO: Distinguis between multiple instances of webchat, e.g. `${uniqueId}-botonic-scrollable`
|
|
36
|
+
id: 'botonic-scrollable-content', scrollbar: scrollbarOptions, autoHide: scrollbarOptions.autoHide, ismessagescontainer: 'true', style: Object.assign({}, props.style) }, { children: [(CustomIntro || DefaultIntro) && ((0, jsx_runtime_1.jsx)(react_2.ConditionalWrapper, Object.assign({ condition: animationsEnabled, wrapper: children => (0, jsx_runtime_1.jsx)(Fade_1.default, { children: children }) }, { children: CustomIntro ? (0, jsx_runtime_1.jsx)(CustomIntro, {}) : DefaultIntro }))), webchatState.messagesComponents.map((e, i) => ((0, jsx_runtime_1.jsx)(StyledMessages, Object.assign({ role: constants_1.ROLES.MESSAGE }, { children: e }), i))), props.children] })));
|
|
44
37
|
};
|
|
45
38
|
exports.WebchatMessageList = WebchatMessageList;
|
|
46
39
|
//# sourceMappingURL=message-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-list.js","sourceRoot":"src/","sources":["webchat/message-list.jsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-list.js","sourceRoot":"src/","sources":["webchat/message-list.jsx"],"names":[],"mappings":";;;;;AAAA,uDAAyC;AACzC,qEAAoC;AACpC,kFAAsC;AAEtC,4CAA6C;AAC7C,0CAA4C;AAC5C,qDAAkD;AAClD,yCAAkD;AAClD,oEAA+D;AAE/D,MAAM,cAAc,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;;;CAOhC,CAAA;AAED,MAAM,iBAAiB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;CAGnC,CAAA;AAEM,MAAM,kBAAkB,GAAG,KAAK,CAAC,EAAE;IACxC,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAA;IACrE,MAAM,iBAAiB,GAAG,gBAAgB,CACxC,mBAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAC1C,IAAI,CACL,CAAA;IACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,mBAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAC3E,MAAM,UAAU,GAAG,gBAAgB,CAAC,mBAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,gBAAgB,CAAC,mBAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IAEzE,MAAM,gBAAgB,iBACjB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAChC,gBAAgB,CAAC,mBAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CACzD,CAAA;IAED,MAAM,YAAY,GAAG,UAAU,IAAI,CACjC,uBAAC,iBAAiB,IAChB,KAAK,oBACA,UAAU,GAEf,GAAG,EAAE,IAAA,0BAAY,EAAC,UAAU,CAAC,GAC7B,CACH,CAAA;IAED,OAAO,CACL,wBAAC,kCAAe,kBACd,IAAI,EAAE,iBAAK,CAAC,YAAY;QACxB,gGAAgG;QAChG,EAAE,EAAC,4BAA4B,EAC/B,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EACnC,mBAAmB,EAAC,MAAM,EAC1B,KAAK,oBACA,KAAK,CAAC,KAAK,kBAGf,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAChC,uBAAC,0BAAkB,kBACjB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,uBAAC,cAAI,cAAE,QAAQ,GAAQ,gBAE3C,WAAW,CAAC,CAAC,CAAC,uBAAC,WAAW,KAAG,CAAC,CAAC,CAAC,YAAY,IAC1B,CACtB,EACA,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC7C,uBAAC,cAAc,kBAAC,IAAI,EAAE,iBAAK,CAAC,OAAO,gBAChC,CAAC,KADsC,CAAC,CAE1B,CAClB,CAAC,EACD,KAAK,CAAC,QAAQ,KACC,CACnB,CAAA;AACH,CAAC,CAAA;AApDY,QAAA,kBAAkB,sBAoD9B"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebchatReplies = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
6
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
7
|
const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
|
|
7
8
|
const constants_1 = require("../constants");
|
|
@@ -36,11 +37,7 @@ const WebchatReplies = props => {
|
|
|
36
37
|
else if (getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.alignReplies))
|
|
37
38
|
justifyContent =
|
|
38
39
|
options[getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.alignReplies)];
|
|
39
|
-
return (
|
|
40
|
-
<RepliesContainer justify={justifyContent} wrap={flexWrap} style={Object.assign({}, props.style)}>
|
|
41
|
-
{webchatState.replies.map((r, i) => (<ReplyContainer key={i}>{r}</ReplyContainer>))}
|
|
42
|
-
</RepliesContainer>
|
|
43
|
-
</styled_scrollbar_1.StyledScrollbar>);
|
|
40
|
+
return ((0, jsx_runtime_1.jsx)(styled_scrollbar_1.StyledScrollbar, Object.assign({ scrollbar: scrollbarOptions, autoHide: scrollbarOptions.autoHide }, { children: (0, jsx_runtime_1.jsx)(RepliesContainer, Object.assign({ justify: justifyContent, wrap: flexWrap, style: Object.assign({}, props.style) }, { children: webchatState.replies.map((r, i) => ((0, jsx_runtime_1.jsx)(ReplyContainer, { children: r }, i))) })) })));
|
|
44
41
|
};
|
|
45
42
|
exports.WebchatReplies = WebchatReplies;
|
|
46
43
|
//# sourceMappingURL=replies.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replies.js","sourceRoot":"src/","sources":["webchat/replies.jsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replies.js","sourceRoot":"src/","sources":["webchat/replies.jsx"],"names":[],"mappings":";;;;;AAAA,uDAAyC;AACzC,kFAAsC;AAEtC,4CAAsC;AACtC,0CAA4C;AAC5C,6EAAwE;AAExE,MAAM,gBAAgB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;qBAGd,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO;eAC5B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI;;;;CAIjC,CAAA;AAED,MAAM,cAAc,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;CAIhC,CAAA;AAED,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,UAAU;CAClB,CAAA;AAEM,MAAM,cAAc,GAAG,KAAK,CAAC,EAAE;IACpC,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAA;IACrE,MAAM,gBAAgB,iBACjB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAChC,gBAAgB,CAAC,mBAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CACzD,CAAA;IACD,IAAI,cAAc,GAAG,QAAQ,CAAA;IAC7B,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,mBAAO,CAAC,iBAAiB,CAAC,WAAW,EACrC,MAAM,CACP,CAAA;IACD,IAAI,QAAQ,IAAI,QAAQ;QAAE,cAAc,GAAG,YAAY,CAAA;SAClD,IAAI,gBAAgB,CAAC,mBAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC;QAC/D,cAAc;YACZ,OAAO,CAAC,gBAAgB,CAAC,mBAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAA;IAErE,OAAO,CACL,uBAAC,kCAAe,kBACd,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,gBAEnC,uBAAC,gBAAgB,kBACf,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,QAAQ,EACd,KAAK,oBACA,KAAK,CAAC,KAAK,iBAGf,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAClC,uBAAC,cAAc,cAAU,CAAC,IAAL,CAAC,CAAsB,CAC7C,CAAC,IACe,IACH,CACnB,CAAA;AACH,CAAC,CAAA;AAlCY,QAAA,cAAc,kBAkC1B"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SessionView = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
6
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
7
|
const react_json_tree_1 = tslib_1.__importDefault(require("react-json-tree"));
|
|
7
8
|
const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
|
|
@@ -29,10 +30,7 @@ const Value = styled_components_1.default.div `
|
|
|
29
30
|
color: ${constants_1.COLORS.CURIOUS_BLUE};
|
|
30
31
|
overflow-x: hidden;
|
|
31
32
|
`;
|
|
32
|
-
const SessionViewAttribute = props => (
|
|
33
|
-
<Label>{props.label}</Label>
|
|
34
|
-
<Value>{props.value}</Value>
|
|
35
|
-
</AttributeContainer>);
|
|
33
|
+
const SessionViewAttribute = props => ((0, jsx_runtime_1.jsxs)(AttributeContainer, { children: [(0, jsx_runtime_1.jsx)(Label, { children: props.label }), (0, jsx_runtime_1.jsx)(Value, { children: props.value })] }));
|
|
36
34
|
const SessionViewContent = styled_components_1.default.div `
|
|
37
35
|
position: relative;
|
|
38
36
|
width: ${props => (props.show ? '100%' : '0%')};
|
|
@@ -93,32 +91,11 @@ const SessionView = props => {
|
|
|
93
91
|
const { latestInput: input, session, lastRoutePath } = webchatState;
|
|
94
92
|
const toggleSessionView = () => updateDevSettings(Object.assign(Object.assign({}, webchatState.devSettings), { showSessionView: !webchatState.devSettings.showSessionView }));
|
|
95
93
|
const toggleKeepSessionOnReload = () => updateDevSettings(Object.assign(Object.assign({}, webchatState.devSettings), { keepSessionOnReload: !webchatState.devSettings.keepSessionOnReload }));
|
|
96
|
-
return (
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
<Title>Botonic Dev Console</Title>
|
|
102
|
-
<SessionViewAttribute label='INPUT:' value={input && Object.keys(input).length
|
|
103
|
-
? `[${input.type}] ${input.data || ''}`
|
|
104
|
-
: ''}/>
|
|
105
|
-
<SessionViewAttribute label='PAYLOAD:' value={input.payload}/>
|
|
106
|
-
<SessionViewAttribute label='INTENT:' value={input.intent
|
|
107
|
-
? `${input.intent} (${(input.confidence * 100).toFixed(1)}%)`
|
|
108
|
-
: ''}/>
|
|
109
|
-
<SessionViewAttribute label='PATH:' value={lastRoutePath ? `/${lastRoutePath}` : '/'}/>
|
|
110
|
-
<SessionViewAttribute label='SESSION:'/>
|
|
111
|
-
<SessionContainer>
|
|
112
|
-
<react_json_tree_1.default data={session} hideRoot={true}/>
|
|
113
|
-
</SessionContainer>
|
|
114
|
-
<KeepSessionContainer>
|
|
115
|
-
<label>
|
|
116
|
-
<input type='checkbox' name='toggleKeepSessionOnReload' checked={Boolean(webchatState.devSettings.keepSessionOnReload)} onChange={toggleKeepSessionOnReload}/>
|
|
117
|
-
Keep session on reload
|
|
118
|
-
</label>
|
|
119
|
-
</KeepSessionContainer>
|
|
120
|
-
</ContentContainer>
|
|
121
|
-
</SessionViewContent>);
|
|
94
|
+
return ((0, jsx_runtime_1.jsxs)(SessionViewContent, Object.assign({ show: webchatState.devSettings.showSessionView }, { children: [(0, jsx_runtime_1.jsx)(ToggleTab, Object.assign({ onClick: toggleSessionView }, { children: webchatState.devSettings.showSessionView ? '⇤' : '⇥' })), (0, jsx_runtime_1.jsxs)(ContentContainer, { children: [(0, jsx_runtime_1.jsx)(Title, { children: "Botonic Dev Console" }), (0, jsx_runtime_1.jsx)(SessionViewAttribute, { label: 'INPUT:', value: input && Object.keys(input).length
|
|
95
|
+
? `[${input.type}] ${input.data || ''}`
|
|
96
|
+
: '' }), (0, jsx_runtime_1.jsx)(SessionViewAttribute, { label: 'PAYLOAD:', value: input.payload }), (0, jsx_runtime_1.jsx)(SessionViewAttribute, { label: 'INTENT:', value: input.intent
|
|
97
|
+
? `${input.intent} (${(input.confidence * 100).toFixed(1)}%)`
|
|
98
|
+
: '' }), (0, jsx_runtime_1.jsx)(SessionViewAttribute, { label: 'PATH:', value: lastRoutePath ? `/${lastRoutePath}` : '/' }), (0, jsx_runtime_1.jsx)(SessionViewAttribute, { label: 'SESSION:' }), (0, jsx_runtime_1.jsx)(SessionContainer, { children: (0, jsx_runtime_1.jsx)(react_json_tree_1.default, { data: session, hideRoot: true }) }), (0, jsx_runtime_1.jsx)(KeepSessionContainer, { children: (0, jsx_runtime_1.jsxs)("label", { children: [(0, jsx_runtime_1.jsx)("input", { type: 'checkbox', name: 'toggleKeepSessionOnReload', checked: Boolean(webchatState.devSettings.keepSessionOnReload), onChange: toggleKeepSessionOnReload }), "Keep session on reload"] }) })] })] })));
|
|
122
99
|
};
|
|
123
100
|
exports.SessionView = SessionView;
|
|
124
101
|
//# sourceMappingURL=session-view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-view.js","sourceRoot":"src/","sources":["webchat/session-view.jsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-view.js","sourceRoot":"src/","sources":["webchat/session-view.jsx"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useStorageState = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
|
-
//Code taken from https://github.com/leny/react-use-storage
|
|
6
|
-
const
|
|
5
|
+
// Code taken from https://github.com/leny/react-use-storage/blob/master/src/index.js
|
|
6
|
+
const IS_BROWSER = typeof window !== 'undefined' &&
|
|
7
|
+
typeof navigator !== 'undefined' &&
|
|
8
|
+
typeof document !== 'undefined';
|
|
7
9
|
function useStorageState(storage, key, defaultValue) {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
let evtTarget;
|
|
12
|
+
try {
|
|
13
|
+
evtTarget = new EventTarget();
|
|
14
|
+
}
|
|
15
|
+
catch (_c) {
|
|
16
|
+
evtTarget = (_b = (_a = (IS_BROWSER ? document : {})) === null || _a === void 0 ? void 0 : _a.createElement) === null || _b === void 0 ? void 0 : _b.call(_a, 'phony');
|
|
17
|
+
}
|
|
8
18
|
const raw = storage === null || storage === void 0 ? void 0 : storage.getItem(key);
|
|
9
19
|
const [value, setValue] = (0, react_1.useState)(raw ? JSON.parse(raw) : defaultValue);
|
|
10
20
|
const updater = (0, react_1.useCallback)((updatedValue, remove = false) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-storage-state-hook.js","sourceRoot":"src/","sources":["webchat/use-storage-state-hook.js"],"names":[],"mappings":";;;AAAA,iCAAwD;AAExD,
|
|
1
|
+
{"version":3,"file":"use-storage-state-hook.js","sourceRoot":"src/","sources":["webchat/use-storage-state-hook.js"],"names":[],"mappings":";;;AAAA,iCAAwD;AAExD,qFAAqF;AACrF,MAAM,UAAU,GACd,OAAO,MAAM,KAAK,WAAW;IAC7B,OAAO,SAAS,KAAK,WAAW;IAChC,OAAO,QAAQ,KAAK,WAAW,CAAA;AAEjC,SAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY;;IACxD,IAAI,SAAS,CAAA;IAEb,IAAI;QACF,SAAS,GAAG,IAAI,WAAW,EAAE,CAAA;KAC9B;IAAC,WAAM;QACN,SAAS,GAAG,MAAA,MAAA,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,0CAAE,aAAa,mDAAG,OAAO,CAAC,CAAA;KACnE;IAED,MAAM,GAAG,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAEjC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAExE,MAAM,OAAO,GAAG,IAAA,mBAAW,EACzB,CAAC,YAAY,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE;QAC/B,QAAQ,CAAC,YAAY,CAAC,CAAA;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CACxC,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAC7B,CAAA;QACD,SAAS,CAAC,aAAa,CACrB,IAAI,WAAW,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACvD,CAAA;IACH,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAA;IAED,YAAY,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;IAErD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAC9B,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE;gBACtB,MAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,GAAG,CAAC,CAAA;gBAElC,IAAI,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;aAC3C;QACH,CAAC,CAAA;QAED,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;QACtD,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;KAC9B;IACD,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AACpD,CAAC;AA9CD,0CA8CC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebchatDev = exports.DebugTabPortal = exports.DebugTab = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
6
|
const core_1 = require("@botonic/core");
|
|
6
7
|
const lodash_merge_1 = tslib_1.__importDefault(require("lodash.merge"));
|
|
7
8
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
@@ -21,9 +22,7 @@ exports.DebugTab = styled_components_1.default.div `
|
|
|
21
22
|
// webchat is being rendered in a shadowDOM, that's why we need a portal
|
|
22
23
|
const DebugTabPortal = (_a) => {
|
|
23
24
|
var { webchatHooks } = _a, props = tslib_1.__rest(_a, ["webchatHooks"]);
|
|
24
|
-
return (0, react_dom_1.createPortal)(
|
|
25
|
-
<session_view_1.SessionView webchatHooks={webchatHooks}/>
|
|
26
|
-
</exports.DebugTab>, document.body);
|
|
25
|
+
return (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)(exports.DebugTab, Object.assign({}, props, { children: (0, jsx_runtime_1.jsx)(session_view_1.SessionView, { webchatHooks: webchatHooks }) })), document.body);
|
|
27
26
|
};
|
|
28
27
|
exports.DebugTabPortal = DebugTabPortal;
|
|
29
28
|
const initialSession = {
|
|
@@ -53,12 +52,9 @@ exports.WebchatDev = (0, react_1.forwardRef)((props, ref) => {
|
|
|
53
52
|
(0, react_1.useEffect)(() => {
|
|
54
53
|
updateTheme((0, lodash_merge_1.default)(webchatState.theme, props.theme));
|
|
55
54
|
}, [props.theme]);
|
|
56
|
-
return (
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}}/>
|
|
61
|
-
<exports.DebugTabPortal show={webchatState.devSettings.showSessionView} webchatHooks={webchatHooks}/>
|
|
62
|
-
</>);
|
|
55
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(webchat_1.Webchat, Object.assign({ style: { flex: 1, position: 'relative' } }, props, { ref: ref, webchatHooks: webchatHooks, initialSession: initialSession, initialDevSettings: {
|
|
56
|
+
keepSessionOnReload: webchatState.devSettings.keepSessionOnReload,
|
|
57
|
+
showSessionView: webchatState.devSettings.showSessionView,
|
|
58
|
+
} })), (0, jsx_runtime_1.jsx)(exports.DebugTabPortal, { show: webchatState.devSettings.showSessionView, webchatHooks: webchatHooks })] }));
|
|
63
59
|
});
|
|
64
60
|
//# sourceMappingURL=webchat-dev.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webchat-dev.js","sourceRoot":"src/","sources":["webchat/webchat-dev.jsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webchat-dev.js","sourceRoot":"src/","sources":["webchat/webchat-dev.jsx"],"names":[],"mappings":";;;;;AAAA,wCAAwC;AACxC,wEAAgC;AAChC,uDAAoD;AACpD,yCAAwC;AACxC,kFAAsC;AAEtC,mCAAoC;AACpC,iDAA4C;AAC5C,uCAAmC;AAEtB,QAAA,QAAQ,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;WAIvB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACvC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;CAClD,CAAA;AAED,iEAAiE;AACjE,wEAAwE;AACjE,MAAM,cAAc,GAAG,CAAC,EAA0B,EAAE,EAAE;QAA9B,EAAE,YAAY,OAAY,EAAP,KAAK,sBAAxB,gBAA0B,CAAF;IACrD,OAAA,IAAA,wBAAY,EACV,uBAAC,gBAAQ,oBAAK,KAAK,cACjB,uBAAC,0BAAW,IAAC,YAAY,EAAE,YAAY,GAAI,IAClC,EACX,QAAQ,CAAC,IAAI,CACd,CAAA;CAAA,CAAA;AANU,QAAA,cAAc,kBAMxB;AAEH,MAAM,cAAc,GAAG;IACrB,oBAAoB,EAAE,IAAI;IAC1B,YAAY,EAAE,EAAE;IAChB,IAAI,EAAE;QACJ,EAAE,EAAE,QAAQ;QACZ,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,eAAQ,CAAC,GAAG;QACtB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,EAAE;KACf;IACD,YAAY,EAAE,EAAE;IAChB,GAAG,EAAE;QACH,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;KAChB;CACF,CAAA;AAED,8CAA8C;AACjC,QAAA,UAAU,GAAG,IAAA,kBAAU,EAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClD,MAAM,YAAY,GAAG,IAAA,kBAAU,GAAE,CAAA;IACjC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,YAAY,CAAA;IAElD;;6CAEyC;IACzC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,WAAW,CAAC,IAAA,sBAAK,EAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IACrD,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAEjB,OAAO,CACL,6DACE,uBAAC,iBAAO,kBACN,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IACpC,KAAK,IACT,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,kBAAkB,EAAE;oBAClB,mBAAmB,EAAE,YAAY,CAAC,WAAW,CAAC,mBAAmB;oBACjE,eAAe,EAAE,YAAY,CAAC,WAAW,CAAC,eAAe;iBAC1D,IACD,EACF,uBAAC,sBAAc,IACb,IAAI,EAAE,YAAY,CAAC,WAAW,CAAC,eAAe,EAC9C,YAAY,EAAE,YAAY,GAC1B,IACD,CACJ,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Webchat = exports.getParsedAction = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
6
|
const core_1 = require("@botonic/core");
|
|
6
|
-
const framer_motion_1 = require("framer-motion");
|
|
7
7
|
const lodash_merge_1 = tslib_1.__importDefault(require("lodash.merge"));
|
|
8
8
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
9
9
|
const react_textarea_autosize_1 = tslib_1.__importDefault(require("react-textarea-autosize"));
|
|
@@ -120,7 +120,7 @@ const DarkBackgroundMenu = styled_components_1.default.div `
|
|
|
120
120
|
width: 100%;
|
|
121
121
|
height: 100%;
|
|
122
122
|
`;
|
|
123
|
-
// eslint-disable-next-line complexity
|
|
123
|
+
// eslint-disable-next-line complexity, react/display-name
|
|
124
124
|
exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
125
125
|
const { webchatState, addMessage, addMessageComponent, updateMessage, updateReplies, updateLatestInput, updateTyping, updateWebview, updateSession, updateLastRoutePath, updateHandoff, updateTheme, updateDevSettings, toggleWebchat, toggleEmojiPicker, togglePersistentMenu, toggleCoverComponent, doRenderCustomComponent, setError, setOnline, clearMessages, openWebviewT, closeWebviewT, updateLastMessageDate, setCurrentAttachment,
|
|
126
126
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
@@ -278,8 +278,8 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
278
278
|
updateTheme((0, lodash_merge_1.default)(props.theme, theme, webchatState.themeUpdates));
|
|
279
279
|
}, [props.theme, webchatState.themeUpdates]);
|
|
280
280
|
const openWebview = (webviewComponent, params) => updateWebview(webviewComponent, params);
|
|
281
|
-
const handleSelectedEmoji =
|
|
282
|
-
textArea.current.value +=
|
|
281
|
+
const handleSelectedEmoji = event => {
|
|
282
|
+
textArea.current.value += event.emoji;
|
|
283
283
|
textArea.current.focus();
|
|
284
284
|
};
|
|
285
285
|
const closeWebview = options => {
|
|
@@ -322,13 +322,11 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
322
322
|
return false;
|
|
323
323
|
for (const rule of blockInputs) {
|
|
324
324
|
if (getBlockInputs(rule, input.data)) {
|
|
325
|
-
addMessageComponent(
|
|
325
|
+
addMessageComponent((0, jsx_runtime_1.jsx)(components_1.Text, Object.assign({ id: input.id, from: constants_1.SENDERS.user, blob: false, style: {
|
|
326
326
|
backgroundColor: constants_1.COLORS.SCORPION_GRAY,
|
|
327
327
|
borderColor: constants_1.COLORS.SCORPION_GRAY,
|
|
328
328
|
padding: '8px 12px',
|
|
329
|
-
}}
|
|
330
|
-
{rule.message}
|
|
331
|
-
</components_1.Text>);
|
|
329
|
+
} }, { children: rule.message })));
|
|
332
330
|
updateReplies(false);
|
|
333
331
|
return true;
|
|
334
332
|
}
|
|
@@ -339,7 +337,7 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
339
337
|
togglePersistentMenu(false);
|
|
340
338
|
};
|
|
341
339
|
const persistentMenu = () => {
|
|
342
|
-
return (
|
|
340
|
+
return ((0, jsx_runtime_1.jsx)(persistent_menu_1.OpenedPersistentMenu, { onClick: closeMenu, options: persistentMenuOptions, borderRadius: webchatState.theme.style.borderRadius || '10px' }));
|
|
343
341
|
};
|
|
344
342
|
const getCoverComponent = () => {
|
|
345
343
|
return getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.coverComponent, props.coverComponent &&
|
|
@@ -359,15 +357,13 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
359
357
|
const coverComponent = () => {
|
|
360
358
|
const coverComponentProps = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.coverComponentProps, props.coverComponent && props.coverComponent.props);
|
|
361
359
|
if (CoverComponent && webchatState.isCoverComponentOpen)
|
|
362
|
-
return (
|
|
360
|
+
return ((0, jsx_runtime_1.jsx)(CoverComponent, Object.assign({ closeComponent: closeCoverComponent }, coverComponentProps)));
|
|
363
361
|
return null;
|
|
364
362
|
};
|
|
365
363
|
const messageComponentFromInput = input => {
|
|
366
364
|
let messageComponent = null;
|
|
367
365
|
if ((0, message_utils_1.isText)(input)) {
|
|
368
|
-
messageComponent = (
|
|
369
|
-
{input.data}
|
|
370
|
-
</components_1.Text>);
|
|
366
|
+
messageComponent = ((0, jsx_runtime_1.jsx)(components_1.Text, Object.assign({ id: input.id, payload: input.payload, from: constants_1.SENDERS.user }, { children: input.data })));
|
|
371
367
|
}
|
|
372
368
|
else if ((0, message_utils_1.isMedia)(input)) {
|
|
373
369
|
const temporaryDisplayUrl = URL.createObjectURL(input.data);
|
|
@@ -377,13 +373,13 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
377
373
|
src: temporaryDisplayUrl,
|
|
378
374
|
};
|
|
379
375
|
if ((0, message_utils_1.isImage)(input))
|
|
380
|
-
messageComponent =
|
|
376
|
+
messageComponent = (0, jsx_runtime_1.jsx)(components_1.Image, Object.assign({}, mediaProps));
|
|
381
377
|
else if ((0, message_utils_1.isAudio)(input))
|
|
382
|
-
messageComponent =
|
|
378
|
+
messageComponent = (0, jsx_runtime_1.jsx)(components_1.Audio, Object.assign({}, mediaProps));
|
|
383
379
|
else if ((0, message_utils_1.isVideo)(input))
|
|
384
|
-
messageComponent =
|
|
380
|
+
messageComponent = (0, jsx_runtime_1.jsx)(components_1.Video, Object.assign({}, mediaProps));
|
|
385
381
|
else if ((0, message_utils_1.isDocument)(input))
|
|
386
|
-
messageComponent =
|
|
382
|
+
messageComponent = (0, jsx_runtime_1.jsx)(components_1.Document, Object.assign({}, mediaProps));
|
|
387
383
|
}
|
|
388
384
|
return messageComponent;
|
|
389
385
|
};
|
|
@@ -424,7 +420,7 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
424
420
|
const action = session._botonic_action || '';
|
|
425
421
|
const handoff = action.startsWith('create_case');
|
|
426
422
|
if (handoff && environment_1.isDev)
|
|
427
|
-
addMessageComponent(
|
|
423
|
+
addMessageComponent((0, jsx_runtime_1.jsx)(handoff_1.Handoff, {}));
|
|
428
424
|
updateHandoff(handoff);
|
|
429
425
|
}
|
|
430
426
|
if (lastRoutePath)
|
|
@@ -568,7 +564,6 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
568
564
|
togglePersistentMenu(false);
|
|
569
565
|
}
|
|
570
566
|
}, [webchatState.isWebchatOpen]);
|
|
571
|
-
const textArea = (0, react_1.useRef)();
|
|
572
567
|
const getTriggerImage = () => {
|
|
573
568
|
const triggerImage = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.triggerButtonImage, null);
|
|
574
569
|
if (triggerImage === null) {
|
|
@@ -581,41 +576,22 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
581
576
|
const CustomTriggerButton = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.customTrigger, undefined);
|
|
582
577
|
const triggerButton = () => {
|
|
583
578
|
if (CustomTriggerButton) {
|
|
584
|
-
return
|
|
579
|
+
return (0, jsx_runtime_1.jsx)(CustomTriggerButton, {});
|
|
585
580
|
}
|
|
586
|
-
return (
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
};
|
|
590
|
-
const webchatMessageList = () => (<message_list_1.WebchatMessageList style={{ flex: 1 }}>
|
|
591
|
-
{webchatState.typing && <typing_indicator_1.TypingIndicator />}
|
|
592
|
-
</message_list_1.WebchatMessageList>);
|
|
593
|
-
const webchatReplies = () => <replies_1.WebchatReplies replies={webchatState.replies}/>;
|
|
581
|
+
return ((0, jsx_runtime_1.jsx)(StyledTriggerButton, Object.assign({ role: constants_1.ROLES.TRIGGER_BUTTON, style: Object.assign({}, triggerButtonStyle) }, { children: getTriggerImage() && ((0, jsx_runtime_1.jsx)(TriggerImage, { src: (0, environment_1.resolveImage)(getTriggerImage()) })) })));
|
|
582
|
+
};
|
|
583
|
+
const webchatMessageList = () => ((0, jsx_runtime_1.jsx)(message_list_1.WebchatMessageList, Object.assign({ style: { flex: 1 } }, { children: webchatState.typing && (0, jsx_runtime_1.jsx)(typing_indicator_1.TypingIndicator, {}) })));
|
|
584
|
+
const webchatReplies = () => (0, jsx_runtime_1.jsx)(replies_1.WebchatReplies, { replies: webchatState.replies });
|
|
594
585
|
const isUserInputEnabled = () => {
|
|
595
586
|
const isUserInputEnabled = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.enableUserInput, props.enableUserInput !== undefined ? props.enableUserInput : true);
|
|
596
587
|
return isUserInputEnabled && !webchatState.isCoverComponentOpen;
|
|
597
588
|
};
|
|
598
589
|
const userInputEnabled = isUserInputEnabled();
|
|
590
|
+
const textArea = (0, react_1.useRef)(null);
|
|
599
591
|
const userInputArea = () => {
|
|
600
|
-
return (userInputEnabled && (
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
<persistent_menu_1.PersistentMenu onClick={handleMenu} persistentMenu={props.persistentMenu}/>
|
|
604
|
-
|
|
605
|
-
<TextAreaContainer>
|
|
606
|
-
<react_textarea_autosize_1.default name='text' onFocus={() => deviceAdapter.onFocus(host)} onBlur={() => deviceAdapter.onBlur()} maxRows={4} wrap='soft' maxLength='1000' placeholder={getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.textPlaceholder, constants_1.WEBCHAT.DEFAULTS.PLACEHOLDER)} autoFocus={true} inputRef={textArea} onKeyDown={e => onKeyDown(e)} onKeyUp={onKeyUp} style={Object.assign({ display: 'flex', fontSize: deviceAdapter.fontSize(14), width: '100%', border: 'none', resize: 'none', overflow: 'auto', outline: 'none', flex: '1 1 auto', padding: 10, paddingLeft: persistentMenuOptions ? 0 : 10, fontFamily: 'inherit' }, getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.userInputBoxStyle))}/>
|
|
607
|
-
</TextAreaContainer>
|
|
608
|
-
|
|
609
|
-
<emoji_picker_1.EmojiPicker enableEmojiPicker={props.enableEmojiPicker} onClick={handleEmojiClick}/>
|
|
610
|
-
|
|
611
|
-
<attachment_1.Attachment enableAttachments={props.enableAttachments} onChange={handleAttachment} accept={(0, message_utils_1.getFullMimeWhitelist)().join(',')}/>
|
|
612
|
-
|
|
613
|
-
<send_button_1.SendButton onClick={sendTextAreaText}/>
|
|
614
|
-
</UserInputContainer>));
|
|
615
|
-
};
|
|
616
|
-
const webchatWebview = () => (<contexts_1.RequestContext.Provider value={webviewRequestContext}>
|
|
617
|
-
<webview_1.WebviewContainer style={Object.assign(Object.assign({}, getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.webviewStyle)), mobileStyle)} webview={webchatState.webview}/>
|
|
618
|
-
</contexts_1.RequestContext.Provider>);
|
|
592
|
+
return (userInputEnabled && ((0, jsx_runtime_1.jsxs)(UserInputContainer, Object.assign({ style: Object.assign({}, getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.userInputStyle)), className: 'user-input-container' }, { children: [webchatState.isEmojiPickerOpen && ((0, jsx_runtime_1.jsx)(emoji_picker_1.OpenedEmojiPicker, { height: webchatState.theme.style.height, onEmojiClick: handleSelectedEmoji, onClick: handleEmojiClick })), (0, jsx_runtime_1.jsx)(persistent_menu_1.PersistentMenu, { onClick: handleMenu, persistentMenu: props.persistentMenu }), (0, jsx_runtime_1.jsx)(TextAreaContainer, { children: (0, jsx_runtime_1.jsx)(react_textarea_autosize_1.default, { inputRef: textArea, name: 'text', onFocus: () => deviceAdapter.onFocus(host), onBlur: () => deviceAdapter.onBlur(), maxRows: 4, wrap: 'soft', maxLength: '1000', placeholder: getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.textPlaceholder, constants_1.WEBCHAT.DEFAULTS.PLACEHOLDER), autoFocus: true, onKeyDown: e => onKeyDown(e), onKeyUp: onKeyUp, style: Object.assign({ display: 'flex', fontSize: deviceAdapter.fontSize(14), width: '100%', border: 'none', resize: 'none', overflow: 'auto', outline: 'none', flex: '1 1 auto', padding: 10, paddingLeft: persistentMenuOptions ? 0 : 10, fontFamily: 'inherit' }, getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.userInputBoxStyle)) }) }), (0, jsx_runtime_1.jsx)(emoji_picker_1.EmojiPicker, { enableEmojiPicker: props.enableEmojiPicker, onClick: handleEmojiClick }), (0, jsx_runtime_1.jsx)(attachment_1.Attachment, { enableAttachments: props.enableAttachments, onChange: handleAttachment, accept: (0, message_utils_1.getFullMimeWhitelist)().join(',') }), (0, jsx_runtime_1.jsx)(send_button_1.SendButton, { onClick: sendTextAreaText })] }))));
|
|
593
|
+
};
|
|
594
|
+
const webchatWebview = () => ((0, jsx_runtime_1.jsx)(contexts_1.RequestContext.Provider, Object.assign({ value: webviewRequestContext }, { children: (0, jsx_runtime_1.jsx)(webview_1.WebviewContainer, { style: Object.assign(Object.assign({}, getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.webviewStyle)), mobileStyle), webview: webchatState.webview }) })));
|
|
619
595
|
let mobileStyle = {};
|
|
620
596
|
if ((0, core_1.isMobile)(getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.mobileBreakpoint))) {
|
|
621
597
|
mobileStyle = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.mobileStyle) || {
|
|
@@ -640,20 +616,17 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
640
616
|
}, [webchatState.messagesJSON]);
|
|
641
617
|
};
|
|
642
618
|
const DarkenBackground = ({ component }) => {
|
|
643
|
-
return (
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
}}/>)}
|
|
647
|
-
{component}
|
|
648
|
-
</div>);
|
|
619
|
+
return ((0, jsx_runtime_1.jsxs)("div", { children: [darkBackgroundMenu && ((0, jsx_runtime_1.jsx)(DarkBackgroundMenu, { style: {
|
|
620
|
+
borderRadius: webchatState.theme.style.borderRadius,
|
|
621
|
+
} })), component] }));
|
|
649
622
|
};
|
|
650
623
|
const _renderCustomComponent = () => {
|
|
651
624
|
if (!customComponent)
|
|
652
|
-
return
|
|
625
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
|
653
626
|
else
|
|
654
627
|
return customComponent;
|
|
655
628
|
};
|
|
656
|
-
const WebchatComponent = (
|
|
629
|
+
const WebchatComponent = ((0, jsx_runtime_1.jsxs)(contexts_1.WebchatContext.Provider, Object.assign({ value: {
|
|
657
630
|
sendText,
|
|
658
631
|
sendAttachment,
|
|
659
632
|
sendPayload,
|
|
@@ -669,36 +642,20 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
669
642
|
updateLatestInput,
|
|
670
643
|
updateUser: updateSessionWithUser,
|
|
671
644
|
updateWebchatDevSettings: updateWebchatDevSettings,
|
|
672
|
-
}}
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
}
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
<ErrorMessage>{webchatState.error.message}</ErrorMessage>
|
|
688
|
-
</ErrorMessageContainer>)}
|
|
689
|
-
{webchatMessageList()}
|
|
690
|
-
{webchatState.replies &&
|
|
691
|
-
Object.keys(webchatState.replies).length > 0 &&
|
|
692
|
-
webchatReplies()}
|
|
693
|
-
{webchatState.isPersistentMenuOpen && (<DarkenBackground component={persistentMenu()}/>)}
|
|
694
|
-
{!webchatState.handoff && userInputArea()}
|
|
695
|
-
{webchatState.webview && webchatWebview()}
|
|
696
|
-
{webchatState.isCoverComponentOpen && coverComponent()}
|
|
697
|
-
{webchatState.isCustomComponentRendered &&
|
|
698
|
-
customComponent &&
|
|
699
|
-
_renderCustomComponent()}
|
|
700
|
-
</StyledWebchat>)}
|
|
701
|
-
</contexts_1.WebchatContext.Provider>);
|
|
702
|
-
return props.shadowDOM ? (<styled_components_1.StyleSheetManager target={host}>{WebchatComponent}</styled_components_1.StyleSheetManager>) : (WebchatComponent);
|
|
645
|
+
} }, { children: [!webchatState.isWebchatOpen && ((0, jsx_runtime_1.jsx)("div", Object.assign({ onClick: event => {
|
|
646
|
+
toggleWebchat(true);
|
|
647
|
+
event.preventDefault();
|
|
648
|
+
} }, { children: triggerButton() }))), webchatState.isWebchatOpen && ((0, jsx_runtime_1.jsxs)(StyledWebchat
|
|
649
|
+
// TODO: Distinguis between multiple instances of webchat, e.g. `${uniqueId}-botonic-webchat`
|
|
650
|
+
, Object.assign({
|
|
651
|
+
// TODO: Distinguis between multiple instances of webchat, e.g. `${uniqueId}-botonic-webchat`
|
|
652
|
+
role: constants_1.ROLES.WEBCHAT, id: constants_1.WEBCHAT.DEFAULTS.ID, width: webchatState.width, height: webchatState.height, style: Object.assign(Object.assign({}, webchatState.theme.style), mobileStyle) }, { children: [(0, jsx_runtime_1.jsx)(header_1.StyledWebchatHeader, { onCloseClick: () => {
|
|
653
|
+
toggleWebchat(false);
|
|
654
|
+
} }), webchatState.error.message && ((0, jsx_runtime_1.jsx)(ErrorMessageContainer, { children: (0, jsx_runtime_1.jsx)(ErrorMessage, { children: webchatState.error.message }) })), webchatMessageList(), webchatState.replies &&
|
|
655
|
+
Object.keys(webchatState.replies).length > 0 &&
|
|
656
|
+
webchatReplies(), webchatState.isPersistentMenuOpen && ((0, jsx_runtime_1.jsx)(DarkenBackground, { component: persistentMenu() })), !webchatState.handoff && userInputArea(), webchatState.webview && webchatWebview(), webchatState.isCoverComponentOpen && coverComponent(), webchatState.isCustomComponentRendered &&
|
|
657
|
+
customComponent &&
|
|
658
|
+
_renderCustomComponent()] })))] })));
|
|
659
|
+
return props.shadowDOM ? ((0, jsx_runtime_1.jsx)(styled_components_1.StyleSheetManager, Object.assign({ target: host }, { children: WebchatComponent }))) : (WebchatComponent);
|
|
703
660
|
});
|
|
704
661
|
//# sourceMappingURL=webchat.js.map
|