@botonic/react 0.24.0-alpha.0 → 0.24.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/botonic-tester.js +4 -4
- package/lib/cjs/botonic-tester.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-text.js +4 -4
- package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -1
- package/lib/cjs/index-types.d.ts +1 -1
- package/lib/cjs/message-utils.d.ts +1 -1
- package/lib/cjs/message-utils.js +16 -16
- package/lib/cjs/message-utils.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 +2 -2
- package/lib/cjs/react-bot.js.map +1 -1
- package/lib/cjs/webchat/hooks/use-typing.js +0 -1
- package/lib/cjs/webchat/hooks/use-typing.js.map +1 -1
- package/lib/cjs/webchat/message-list/index.js +28 -9
- package/lib/cjs/webchat/message-list/index.js.map +1 -1
- package/lib/cjs/webchat/message-list/scroll-button.js +5 -2
- package/lib/cjs/webchat/message-list/scroll-button.js.map +1 -1
- package/lib/cjs/webchat/message-list/styles.js +2 -0
- package/lib/cjs/webchat/message-list/styles.js.map +1 -1
- package/lib/cjs/webchat/message-list/unread-messages-banner.d.ts +3 -2
- package/lib/cjs/webchat/message-list/unread-messages-banner.js +2 -11
- package/lib/cjs/webchat/message-list/unread-messages-banner.js.map +1 -1
- package/lib/cjs/webchat/message-list/use-debounce.d.ts +1 -0
- package/lib/cjs/webchat/message-list/use-debounce.js +18 -0
- package/lib/cjs/webchat/message-list/use-debounce.js.map +1 -0
- package/lib/cjs/webchat/webchat.js +6 -8
- package/lib/cjs/webchat/webchat.js.map +1 -1
- package/lib/cjs/webchat-app.js +3 -4
- package/lib/cjs/webchat-app.js.map +1 -1
- package/lib/cjs/webview-app.js +10 -12
- package/lib/cjs/webview-app.js.map +1 -1
- package/lib/esm/botonic-tester.js +1 -1
- package/lib/esm/botonic-tester.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-text.js +1 -1
- package/lib/esm/components/multichannel/multichannel-text.js.map +1 -1
- package/lib/esm/index-types.d.ts +1 -1
- package/lib/esm/message-utils.d.ts +1 -1
- package/lib/esm/message-utils.js +1 -1
- package/lib/esm/message-utils.js.map +1 -1
- package/lib/esm/node-app.d.ts +1 -1
- package/lib/esm/react-bot.d.ts +1 -1
- package/lib/esm/react-bot.js +1 -1
- package/lib/esm/react-bot.js.map +1 -1
- package/lib/esm/webchat/hooks/use-typing.js +0 -1
- package/lib/esm/webchat/hooks/use-typing.js.map +1 -1
- package/lib/esm/webchat/message-list/index.js +28 -9
- package/lib/esm/webchat/message-list/index.js.map +1 -1
- package/lib/esm/webchat/message-list/scroll-button.js +5 -2
- package/lib/esm/webchat/message-list/scroll-button.js.map +1 -1
- package/lib/esm/webchat/message-list/styles.js +2 -0
- package/lib/esm/webchat/message-list/styles.js.map +1 -1
- package/lib/esm/webchat/message-list/unread-messages-banner.d.ts +3 -2
- package/lib/esm/webchat/message-list/unread-messages-banner.js +3 -12
- package/lib/esm/webchat/message-list/unread-messages-banner.js.map +1 -1
- package/lib/esm/webchat/message-list/use-debounce.d.ts +1 -0
- package/lib/esm/webchat/message-list/use-debounce.js +14 -0
- package/lib/esm/webchat/message-list/use-debounce.js.map +1 -0
- package/lib/esm/webchat/webchat.js +6 -8
- package/lib/esm/webchat/webchat.js.map +1 -1
- package/lib/esm/webchat-app.js +1 -2
- package/lib/esm/webchat-app.js.map +1 -1
- package/lib/esm/webview-app.js +1 -3
- package/lib/esm/webview-app.js.map +1 -1
- package/package.json +1 -1
- package/src/botonic-tester.jsx +1 -1
- package/src/components/multichannel/multichannel-text.jsx +1 -1
- package/src/index-types.ts +1 -1
- package/src/message-utils.js +1 -1
- package/src/react-bot.jsx +1 -1
- package/src/webchat/hooks/use-typing.ts +1 -4
- package/src/webchat/message-list/index.tsx +33 -11
- package/src/webchat/message-list/scroll-button.tsx +8 -4
- package/src/webchat/message-list/styles.ts +2 -0
- package/src/webchat/message-list/unread-messages-banner.tsx +4 -14
- package/src/webchat/message-list/use-debounce.ts +16 -0
- package/src/webchat/webchat.jsx +7 -6
- package/src/webchat-app.jsx +1 -2
- package/src/webview-app.tsx +1 -3
- package/src/.DS_Store +0 -0
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BotonicOutputTester = exports.BotonicInputTester = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const
|
|
6
|
+
const core_1 = require("@botonic/core");
|
|
7
7
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
8
8
|
const server_1 = tslib_1.__importDefault(require("react-dom/server"));
|
|
9
9
|
const unescape_1 = tslib_1.__importDefault(require("unescape"));
|
|
@@ -15,7 +15,7 @@ class BotonicInputTester {
|
|
|
15
15
|
}
|
|
16
16
|
async text(inp, session = {}, lastRoutePath = '') {
|
|
17
17
|
const res = await this.bot.input({
|
|
18
|
-
input: { type:
|
|
18
|
+
input: { type: core_1.INPUT.TEXT, data: inp },
|
|
19
19
|
session: session,
|
|
20
20
|
lastRoutePath: lastRoutePath,
|
|
21
21
|
});
|
|
@@ -23,7 +23,7 @@ class BotonicInputTester {
|
|
|
23
23
|
}
|
|
24
24
|
async payload(inp, session = {}, lastRoutePath = '') {
|
|
25
25
|
const res = await this.bot.input({
|
|
26
|
-
input: { type:
|
|
26
|
+
input: { type: core_1.INPUT.POSTBACK, payload: inp },
|
|
27
27
|
session: session,
|
|
28
28
|
lastRoutePath: lastRoutePath,
|
|
29
29
|
});
|
|
@@ -31,7 +31,7 @@ class BotonicInputTester {
|
|
|
31
31
|
}
|
|
32
32
|
async path(inp, session = {}, lastRoutePath = '') {
|
|
33
33
|
const res = await this.bot.input({
|
|
34
|
-
input: { type:
|
|
34
|
+
input: { type: core_1.INPUT.TEXT, payload: `__PATH_PAYLOAD__${inp}` },
|
|
35
35
|
session: session,
|
|
36
36
|
lastRoutePath: lastRoutePath,
|
|
37
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"botonic-tester.js","sourceRoot":"src/","sources":["botonic-tester.jsx"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"botonic-tester.js","sourceRoot":"src/","sources":["botonic-tester.jsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MultichannelText = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const
|
|
6
|
+
const core_1 = require("@botonic/core");
|
|
7
7
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
8
8
|
const contexts_1 = require("../../contexts");
|
|
9
9
|
const __1 = require("..");
|
|
@@ -97,7 +97,7 @@ const MultichannelText = props => {
|
|
|
97
97
|
const messages = messagesPostbackButtonList.map((postbackButtons, index) => {
|
|
98
98
|
if (postbackButtons.length <= multichannel_utils_1.WHATSAPP_MAX_BUTTONS) {
|
|
99
99
|
return {
|
|
100
|
-
type:
|
|
100
|
+
type: core_1.INPUT.TEXT,
|
|
101
101
|
children: [...buttonsTextSeparator, ...postbackButtons],
|
|
102
102
|
};
|
|
103
103
|
}
|
|
@@ -116,14 +116,14 @@ const MultichannelText = props => {
|
|
|
116
116
|
sections: [{ rows }],
|
|
117
117
|
};
|
|
118
118
|
return {
|
|
119
|
-
type:
|
|
119
|
+
type: core_1.INPUT.WHATSAPP_BUTTON_LIST,
|
|
120
120
|
props: whatsbuttonlistProps,
|
|
121
121
|
};
|
|
122
122
|
});
|
|
123
123
|
const messageWithUrlButtonElements = ((0, jsx_runtime_1.jsx)(text_1.Text, Object.assign({}, multichannel_utils_1.MULTICHANNEL_WHATSAPP_PROPS, props, { children: urlButtonElements }), `msg-with-url-button`));
|
|
124
124
|
const messageWithWebviewButtonElements = ((0, jsx_runtime_1.jsxs)(text_1.Text, Object.assign({}, multichannel_utils_1.MULTICHANNEL_WHATSAPP_PROPS, props, { children: [buttonsTextSeparator, webviewButtonElements] }), `msg-with-webview-button`));
|
|
125
125
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [messages.map((message, i) => {
|
|
126
|
-
if (message.type ===
|
|
126
|
+
if (message.type === core_1.INPUT.WHATSAPP_BUTTON_LIST)
|
|
127
127
|
return ((0, jsx_runtime_1.jsx)(__1.WhatsappButtonList, Object.assign({}, message.props), `msg-${i}-whatsapp-list`));
|
|
128
128
|
return ((0, jsx_runtime_1.jsx)(text_1.Text, Object.assign({}, multichannel_utils_1.MULTICHANNEL_WHATSAPP_PROPS, props, { children: message.children }), `msg-${i}-with-postback-buttons`));
|
|
129
129
|
}), urlButtonElements.length > 0 && messageWithUrlButtonElements, webviewButtonElements.length > 0 && messageWithWebviewButtonElements] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multichannel-text.js","sourceRoot":"src/","sources":["components/multichannel/multichannel-text.jsx"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"multichannel-text.js","sourceRoot":"src/","sources":["components/multichannel/multichannel-text.jsx"],"names":[],"mappings":"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"}
|
package/lib/cjs/index-types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BotRequest as CoreBotRequest, Input as CoreInput, InputType as CoreInputType, Plugin as CorePlugin, Route as CoreRoute, Routes as CoreRoutes, Session as CoreSession, SessionUser as CoreSessionUser } from '@botonic/core
|
|
1
|
+
import { BotRequest as CoreBotRequest, Input as CoreInput, InputType as CoreInputType, Plugin as CorePlugin, Route as CoreRoute, Routes as CoreRoutes, Session as CoreSession, SessionUser as CoreSessionUser } from '@botonic/core';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { BlockInputOption, ButtonProps, CoverComponentOptions, PersistentMenuTheme, ReplyProps, ThemeProps, WebchatSettingsProps, Webview } from './components/index-types';
|
|
4
4
|
import { WebchatState } from './webchat';
|
|
@@ -16,4 +16,4 @@ export function readDataURL(file: any): Promise<any>;
|
|
|
16
16
|
export function isAllowedSize(fileSize: any): boolean;
|
|
17
17
|
export function getMediaType(fileType: any): string;
|
|
18
18
|
export function getFullMimeWhitelist(): string[];
|
|
19
|
-
import { INPUT } from '@botonic/core
|
|
19
|
+
import { INPUT } from '@botonic/core';
|
package/lib/cjs/message-utils.js
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getFullMimeWhitelist = exports.getMediaType = exports.isAllowedSize = exports.readDataURL = exports.isMedia = exports.INPUT_MEDIA_TYPES = exports.isButtonMessage = exports.isCustom = exports.isCarousel = exports.isContact = exports.isLocation = exports.isDocument = exports.isVideo = exports.isImage = exports.isAudio = exports.isPostback = exports.isText = exports.isOfType = void 0;
|
|
4
|
-
const
|
|
4
|
+
const core_1 = require("@botonic/core");
|
|
5
5
|
const constants_1 = require("./constants");
|
|
6
6
|
const isOfType = (msgType, type) => msgType === type;
|
|
7
7
|
exports.isOfType = isOfType;
|
|
8
|
-
const isText = msg => (0, exports.isOfType)(msg.type,
|
|
8
|
+
const isText = msg => (0, exports.isOfType)(msg.type, core_1.INPUT.TEXT);
|
|
9
9
|
exports.isText = isText;
|
|
10
|
-
const isPostback = msg => (0, exports.isOfType)(msg.type,
|
|
10
|
+
const isPostback = msg => (0, exports.isOfType)(msg.type, core_1.INPUT.POSTBACK);
|
|
11
11
|
exports.isPostback = isPostback;
|
|
12
|
-
const isAudio = msg => (0, exports.isOfType)(msg.type,
|
|
12
|
+
const isAudio = msg => (0, exports.isOfType)(msg.type, core_1.INPUT.AUDIO);
|
|
13
13
|
exports.isAudio = isAudio;
|
|
14
|
-
const isImage = msg => (0, exports.isOfType)(msg.type,
|
|
14
|
+
const isImage = msg => (0, exports.isOfType)(msg.type, core_1.INPUT.IMAGE);
|
|
15
15
|
exports.isImage = isImage;
|
|
16
|
-
const isVideo = msg => (0, exports.isOfType)(msg.type,
|
|
16
|
+
const isVideo = msg => (0, exports.isOfType)(msg.type, core_1.INPUT.VIDEO);
|
|
17
17
|
exports.isVideo = isVideo;
|
|
18
|
-
const isDocument = msg => (0, exports.isOfType)(msg.type,
|
|
18
|
+
const isDocument = msg => (0, exports.isOfType)(msg.type, core_1.INPUT.DOCUMENT);
|
|
19
19
|
exports.isDocument = isDocument;
|
|
20
|
-
const isLocation = msg => (0, exports.isOfType)(msg.type,
|
|
20
|
+
const isLocation = msg => (0, exports.isOfType)(msg.type, core_1.INPUT.LOCATION);
|
|
21
21
|
exports.isLocation = isLocation;
|
|
22
|
-
const isContact = msg => (0, exports.isOfType)(msg.type,
|
|
22
|
+
const isContact = msg => (0, exports.isOfType)(msg.type, core_1.INPUT.CONTACT);
|
|
23
23
|
exports.isContact = isContact;
|
|
24
|
-
const isCarousel = msg => (0, exports.isOfType)(msg.type,
|
|
24
|
+
const isCarousel = msg => (0, exports.isOfType)(msg.type, core_1.INPUT.CAROUSEL);
|
|
25
25
|
exports.isCarousel = isCarousel;
|
|
26
|
-
const isCustom = msg => (0, exports.isOfType)(msg.type,
|
|
26
|
+
const isCustom = msg => (0, exports.isOfType)(msg.type, core_1.INPUT.CUSTOM);
|
|
27
27
|
exports.isCustom = isCustom;
|
|
28
|
-
const isButtonMessage = msg => (0, exports.isOfType)(msg.type,
|
|
28
|
+
const isButtonMessage = msg => (0, exports.isOfType)(msg.type, core_1.INPUT.BUTTON_MESSAGE);
|
|
29
29
|
exports.isButtonMessage = isButtonMessage;
|
|
30
30
|
exports.INPUT_MEDIA_TYPES = [
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
core_1.INPUT.AUDIO,
|
|
32
|
+
core_1.INPUT.IMAGE,
|
|
33
|
+
core_1.INPUT.VIDEO,
|
|
34
|
+
core_1.INPUT.DOCUMENT,
|
|
35
35
|
];
|
|
36
36
|
const isMedia = message => exports.INPUT_MEDIA_TYPES.some(type => (0, exports.isOfType)(message.type, type));
|
|
37
37
|
exports.isMedia = isMedia;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-utils.js","sourceRoot":"src/","sources":["message-utils.js"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"message-utils.js","sourceRoot":"src/","sources":["message-utils.js"],"names":[],"mappings":"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"}
|
package/lib/cjs/node-app.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export class NodeApp {
|
|
|
2
2
|
constructor(options: any);
|
|
3
3
|
bot: ReactBot;
|
|
4
4
|
renderNode(args: any): Promise<string>;
|
|
5
|
-
input(args: any): Promise<import("@botonic/core
|
|
5
|
+
input(args: any): Promise<import("@botonic/core").BotResponse>;
|
|
6
6
|
getConfig(): {
|
|
7
7
|
id: string;
|
|
8
8
|
name: string;
|
package/lib/cjs/react-bot.d.ts
CHANGED
package/lib/cjs/react-bot.js
CHANGED
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ReactBot = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const
|
|
6
|
+
const core_1 = require("@botonic/core");
|
|
7
7
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
8
8
|
const text_1 = require("./components/text");
|
|
9
9
|
const contexts_1 = require("./contexts");
|
|
10
|
-
class ReactBot extends
|
|
10
|
+
class ReactBot extends core_1.CoreBot {
|
|
11
11
|
constructor(options) {
|
|
12
12
|
super(Object.assign({ defaultRoutes: [
|
|
13
13
|
{
|
package/lib/cjs/react-bot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-bot.js","sourceRoot":"src/","sources":["react-bot.jsx"],"names":[],"mappings":";;;;;AAAA
|
|
1
|
+
{"version":3,"file":"react-bot.js","sourceRoot":"src/","sources":["react-bot.jsx"],"names":[],"mappings":";;;;;AAAA,wCAAuC;AACvC,0DAAyB;AAEzB,4CAAwC;AACxC,yCAA2C;AAE3C,MAAa,QAAS,SAAQ,cAAO;IACnC,YAAY,OAAO;QACjB,KAAK,iBACH,aAAa,EAAE;gBACb;oBACE,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,GAAG,EAAE,CAAC,uBAAC,WAAI,yCAA8B,EAAE,sBAAsB;iBAC1E;aACF,EACD,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAC5C,OAAO,EACV,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;QAC3C,MAAM,eAAe,GAAG,EAAE,CAAA;QAC1B,IAAI,KAAK,CAAA;QACT,IAAI,cAAc,CAAA;QAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,MAAM,EAAE;gBACV,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBACnE,cAAc,GAAG,CACf,uBAAC,yBAAc,CAAC,QAAQ,kBAAC,KAAK,EAAE,OAAO,gBACrC,uBAAC,MAAM,oBAAK,KAAK,EAAI,IACG,CAC3B,CAAA;gBACD,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;aACrC;SACF;QACD,OAAO,eAAe,CAAA;IACxB,CAAC;CACF;AA/BD,4BA+BC"}
|
|
@@ -5,7 +5,6 @@ const react_1 = require("react");
|
|
|
5
5
|
function useTyping({ webchatState, updateTyping, updateMessage, }) {
|
|
6
6
|
(0, react_1.useEffect)(() => {
|
|
7
7
|
let delayTimeout, typingTimeout;
|
|
8
|
-
// scrollToBottom({ host })
|
|
9
8
|
try {
|
|
10
9
|
const nextMsg = webchatState.messagesJSON.filter(m => !m.display)[0];
|
|
11
10
|
if (nextMsg.delay && nextMsg.typing) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-typing.js","sourceRoot":"src/","sources":["webchat/hooks/use-typing.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;
|
|
1
|
+
{"version":3,"file":"use-typing.js","sourceRoot":"src/","sources":["webchat/hooks/use-typing.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAYjC,SAAgB,SAAS,CAAC,EACxB,YAAY,EACZ,YAAY,EACZ,aAAa,GACH;IACV,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,YAAY,EAAE,aAAa,CAAA;QAC/B,IAAI;YACF,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YACpE,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE;gBACnC,YAAY,GAAG,UAAU,CACvB,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EACxB,OAAO,CAAC,KAAK,GAAG,IAAI,CACrB,CAAA;aACF;iBAAM,IAAI,OAAO,CAAC,MAAM;gBAAE,YAAY,CAAC,IAAI,CAAC,CAAA;YAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAA;YACjD,IAAI,UAAU;gBACZ,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,aAAa,iCAAM,OAAO,KAAE,OAAO,EAAE,IAAI,IAAG,CAAA;oBAC5C,YAAY,CAAC,KAAK,CAAC,CAAA;gBACrB,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,CAAA;SACxB;QAAC,OAAO,CAAC,EAAE,GAAE;QACd,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,YAAY,CAAC,CAAA;YAC1B,YAAY,CAAC,aAAa,CAAC,CAAA;QAC7B,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;AACtD,CAAC;AA3BD,8BA2BC"}
|
|
@@ -16,12 +16,20 @@ const WebchatMessageList = props => {
|
|
|
16
16
|
const { webchatState, getThemeProperty, resetUnreadMessages, setLastMessageVisible, } = (0, react_1.useContext)(contexts_1.WebchatContext);
|
|
17
17
|
const scrollbarOptions = Object.assign({ enable: true, autoHide: true }, getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.scrollbar));
|
|
18
18
|
const [firstUnreadMessageId, setFirstUnreadMessageId] = (0, react_1.useState)();
|
|
19
|
+
const lastMessageRef = (0, react_1.useRef)(null);
|
|
20
|
+
const handleScrollToBottom = () => {
|
|
21
|
+
resetUnreadMessages();
|
|
22
|
+
(0, util_1.scrollToBottom)({ host: props.host });
|
|
23
|
+
};
|
|
24
|
+
const showUnreadMessagesBanner = (messageComponentId) => firstUnreadMessageId &&
|
|
25
|
+
messageComponentId === firstUnreadMessageId &&
|
|
26
|
+
webchatState.numUnreadMessages > 0;
|
|
27
|
+
const unreadMessagesBannerRef = (0, react_1.useRef)(null);
|
|
19
28
|
(0, react_1.useEffect)(() => {
|
|
20
29
|
var _a;
|
|
21
30
|
const firstUnreadMessage = webchatState.messagesComponents.find(message => message.props.isUnread);
|
|
22
31
|
setFirstUnreadMessageId((_a = firstUnreadMessage === null || firstUnreadMessage === void 0 ? void 0 : firstUnreadMessage.props) === null || _a === void 0 ? void 0 : _a.id);
|
|
23
32
|
}, [webchatState.messagesComponents]);
|
|
24
|
-
const lastMessageRef = (0, react_1.useRef)(null);
|
|
25
33
|
(0, react_1.useEffect)(() => {
|
|
26
34
|
if (webchatState.messagesComponents.length > 0 && lastMessageRef.current) {
|
|
27
35
|
const observer = new IntersectionObserver(entries => {
|
|
@@ -40,18 +48,29 @@ const WebchatMessageList = props => {
|
|
|
40
48
|
(0, util_1.scrollToBottom)({ host: props.host });
|
|
41
49
|
}
|
|
42
50
|
}, [webchatState.typing, webchatState.isLastMessageVisible]);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
(0, react_1.useEffect)(() => {
|
|
52
|
+
if (firstUnreadMessageId) {
|
|
53
|
+
if (unreadMessagesBannerRef.current) {
|
|
54
|
+
unreadMessagesBannerRef.current.scrollIntoView({
|
|
55
|
+
behavior: 'smooth',
|
|
56
|
+
block: 'center',
|
|
57
|
+
});
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else if (lastMessageRef.current) {
|
|
62
|
+
lastMessageRef.current.scrollIntoView({
|
|
63
|
+
behavior: 'smooth',
|
|
64
|
+
block: 'end',
|
|
65
|
+
});
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
}, [firstUnreadMessageId]);
|
|
50
69
|
const showScrollButton = webchatState.numUnreadMessages > 0 && !webchatState.isLastMessageVisible;
|
|
51
70
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(styled_scrollbar_1.StyledScrollbar, Object.assign({ role: constants_1.ROLES.MESSAGE_LIST,
|
|
52
71
|
// TODO: Distinguis between multiple instances of webchat, e.g. `${uniqueId}-botonic-scrollable`
|
|
53
72
|
id: 'botonic-scrollable-content', scrollbar: scrollbarOptions, autoHide: scrollbarOptions.autoHide, isMessagesContainer: true, style: Object.assign({}, props.style) }, { children: [(0, jsx_runtime_1.jsx)(intro_message_1.IntroMessage, {}), webchatState.messagesComponents.map((messageComponent, index) => {
|
|
54
|
-
return ((0, jsx_runtime_1.jsxs)(styles_1.ContainerMessage, Object.assign({ role: constants_1.ROLES.MESSAGE }, { children: [showUnreadMessagesBanner(messageComponent.props.id) && ((0, jsx_runtime_1.jsx)(unread_messages_banner_1.UnreadMessagesBanner, {
|
|
73
|
+
return ((0, jsx_runtime_1.jsxs)(styles_1.ContainerMessage, Object.assign({ role: constants_1.ROLES.MESSAGE }, { children: [showUnreadMessagesBanner(messageComponent.props.id) && ((0, jsx_runtime_1.jsx)(unread_messages_banner_1.UnreadMessagesBanner, { unreadMessagesBannerRef: unreadMessagesBannerRef })), index === webchatState.messagesComponents.length - 1 && ((0, jsx_runtime_1.jsx)("div", { ref: lastMessageRef, style: { content: '' } })), messageComponent] }), index));
|
|
55
74
|
}), webchatState.typing && (0, jsx_runtime_1.jsx)(typing_indicator_1.TypingIndicator, {})] })), showScrollButton && (0, jsx_runtime_1.jsx)(scroll_button_1.ScrollButton, { handleClick: handleScrollToBottom })] }));
|
|
56
75
|
};
|
|
57
76
|
exports.WebchatMessageList = WebchatMessageList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["webchat/message-list/index.tsx"],"names":[],"mappings":";;;;AAAA,iCAAsE;AAEtE,+CAAgD;AAChD,6CAA+C;AAC/C,qCAA2C;AAC3C,qEAAgE;AAChE,qEAAgE;AAChE,mDAA8C;AAC9C,mDAA8C;AAC9C,qCAA2C;AAC3C,qEAA+D;AAExD,MAAM,kBAAkB,GAAG,KAAK,CAAC,EAAE;IACxC,MAAM,EACJ,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,GACtB,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAA;IAE9B,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,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,IAAA,gBAAQ,GAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["webchat/message-list/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,14 @@ const constants_1 = require("../../constants");
|
|
|
9
9
|
const contexts_1 = require("../../contexts");
|
|
10
10
|
const environment_1 = require("../../util/environment");
|
|
11
11
|
const styles_1 = require("./styles");
|
|
12
|
+
const use_debounce_1 = require("./use-debounce");
|
|
12
13
|
const ScrollButton = ({ handleClick, }) => {
|
|
13
14
|
const { getThemeProperty } = (0, react_1.useContext)(contexts_1.WebchatContext);
|
|
15
|
+
const show = (0, use_debounce_1.useDebounce)();
|
|
14
16
|
const CustomScrollButton = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.scrollButtonCustom, undefined);
|
|
15
|
-
const scrollButtonEnabled = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.scrollButtonEnabled,
|
|
16
|
-
return (scrollButtonEnabled &&
|
|
17
|
+
const scrollButtonEnabled = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.scrollButtonEnabled, CustomScrollButton);
|
|
18
|
+
return (scrollButtonEnabled &&
|
|
19
|
+
show && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: CustomScrollButton ? ((0, jsx_runtime_1.jsx)(CustomScrollButton, { handleScrollToBottom: handleClick })) : ((0, jsx_runtime_1.jsx)(styles_1.ContainerScrollButton, Object.assign({ onClick: handleClick }, { children: (0, jsx_runtime_1.jsx)("img", { src: (0, environment_1.resolveImage)(arrow_scroll_down_svg_1.default) }) }))) })));
|
|
17
20
|
};
|
|
18
21
|
exports.ScrollButton = ScrollButton;
|
|
19
22
|
//# sourceMappingURL=scroll-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-button.js","sourceRoot":"src/","sources":["webchat/message-list/scroll-button.tsx"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"scroll-button.js","sourceRoot":"src/","sources":["webchat/message-list/scroll-button.tsx"],"names":[],"mappings":";;;;;AAAA,iCAAyC;AAEzC,uGAAgE;AAChE,+CAAyC;AACzC,6CAA+C;AAC/C,wDAAqD;AACrD,qCAAgD;AAChD,iDAA4C;AAMrC,MAAM,YAAY,GAAG,CAAC,EAC3B,WAAW,GACO,EAAe,EAAE;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAA;IAEvD,MAAM,IAAI,GAAG,IAAA,0BAAW,GAAE,CAAA;IAE1B,MAAM,kBAAkB,GAAG,gBAAgB,CACzC,mBAAO,CAAC,iBAAiB,CAAC,kBAAkB,EAC5C,SAAS,CACV,CAAA;IAED,MAAM,mBAAmB,GAAG,gBAAgB,CAC1C,mBAAO,CAAC,iBAAiB,CAAC,mBAAmB,EAC7C,kBAAkB,CACnB,CAAA;IAED,OAAO,CACL,mBAAmB;QACnB,IAAI,IAAI,CACN,2DACG,kBAAkB,CAAC,CAAC,CAAC,CACpB,uBAAC,kBAAkB,IAAC,oBAAoB,EAAE,WAAW,GAAI,CAC1D,CAAC,CAAC,CAAC,CACF,uBAAC,8BAAqB,kBAAC,OAAO,EAAE,WAAW,gBACzC,gCAAK,GAAG,EAAE,IAAA,0BAAY,EAAC,+BAAe,CAAC,GAAI,IACrB,CACzB,GACA,CACJ,CACF,CAAA;AACH,CAAC,CAAA;AA/BY,QAAA,YAAY,gBA+BxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"src/","sources":["webchat/message-list/styles.ts"],"names":[],"mappings":";;;;AAAA,kFAAsC;AAEzB,QAAA,gBAAgB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;;;CAOzC,CAAA;AAEY,QAAA,iBAAiB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;CAG1C,CAAA;AAEY,QAAA,qBAAqB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;CAc9C,CAAA;AAEY,QAAA,6BAA6B,GAAG,2BAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"src/","sources":["webchat/message-list/styles.ts"],"names":[],"mappings":";;;;AAAA,kFAAsC;AAEzB,QAAA,gBAAgB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;;;CAOzC,CAAA;AAEY,QAAA,iBAAiB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;CAG1C,CAAA;AAEY,QAAA,qBAAqB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;CAc9C,CAAA;AAEY,QAAA,6BAA6B,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;CAgBtD,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
interface UnreadMessagesBannerProps {
|
|
2
|
-
|
|
3
|
+
unreadMessagesBannerRef: React.RefObject<HTMLDivElement>;
|
|
3
4
|
}
|
|
4
|
-
export declare const UnreadMessagesBanner: ({
|
|
5
|
+
export declare const UnreadMessagesBanner: ({ unreadMessagesBannerRef, }: UnreadMessagesBannerProps) => JSX.Element;
|
|
5
6
|
export {};
|
|
@@ -9,22 +9,13 @@ const constants_1 = require("../../constants");
|
|
|
9
9
|
const contexts_1 = require("../../contexts");
|
|
10
10
|
const environment_1 = require("../../util/environment");
|
|
11
11
|
const styles_1 = require("./styles");
|
|
12
|
-
const UnreadMessagesBanner = ({
|
|
12
|
+
const UnreadMessagesBanner = ({ unreadMessagesBannerRef, }) => {
|
|
13
13
|
const { getThemeProperty, webchatState } = (0, react_1.useContext)(contexts_1.WebchatContext);
|
|
14
14
|
const CustomUnreadMessagesBanner = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.notificationsBannerCustom, undefined);
|
|
15
15
|
const notificationsBannerEnabled = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.notificationsBannerEnabled, undefined);
|
|
16
16
|
const notificationsEnabled = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.notificationsEnabled, CustomUnreadMessagesBanner || notificationsBannerEnabled);
|
|
17
17
|
const text = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.notificationsBannerText, 'unread messages');
|
|
18
|
-
|
|
19
|
-
(0, react_1.useEffect)(() => {
|
|
20
|
-
if (webchatState.isWebchatOpen && unreadMessagesBannerRef.current) {
|
|
21
|
-
unreadMessagesBannerRef.current.scrollIntoView({
|
|
22
|
-
behavior: 'smooth',
|
|
23
|
-
block: 'center',
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
}, [webchatState.isWebchatOpen, unreadMessagesBannerRef]);
|
|
27
|
-
return (notificationsEnabled && ((0, jsx_runtime_1.jsx)("div", Object.assign({ ref: unreadMessagesBannerRef }, { children: CustomUnreadMessagesBanner ? ((0, jsx_runtime_1.jsx)(CustomUnreadMessagesBanner, {})) : ((0, jsx_runtime_1.jsxs)(styles_1.ContainerUnreadMessagesBanner, { children: [(0, jsx_runtime_1.jsx)("img", { src: (0, environment_1.resolveImage)(arrow_down_svg_1.default) }), numUnreadMessages, " ", text] })) }))));
|
|
18
|
+
return (notificationsEnabled && ((0, jsx_runtime_1.jsx)("div", Object.assign({ ref: unreadMessagesBannerRef }, { children: CustomUnreadMessagesBanner ? ((0, jsx_runtime_1.jsx)(CustomUnreadMessagesBanner, {})) : ((0, jsx_runtime_1.jsxs)(styles_1.ContainerUnreadMessagesBanner, { children: [(0, jsx_runtime_1.jsx)("img", { src: (0, environment_1.resolveImage)(arrow_down_svg_1.default) }), webchatState.numUnreadMessages, " ", text] })) }))));
|
|
28
19
|
};
|
|
29
20
|
exports.UnreadMessagesBanner = UnreadMessagesBanner;
|
|
30
21
|
//# sourceMappingURL=unread-messages-banner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unread-messages-banner.js","sourceRoot":"src/","sources":["webchat/message-list/unread-messages-banner.tsx"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"unread-messages-banner.js","sourceRoot":"src/","sources":["webchat/message-list/unread-messages-banner.tsx"],"names":[],"mappings":";;;;;AAAA,iCAAyC;AAEzC,yFAAmD;AACnD,+CAAyC;AACzC,6CAA+C;AAC/C,wDAAqD;AACrD,qCAAwD;AAMjD,MAAM,oBAAoB,GAAG,CAAC,EACnC,uBAAuB,GACG,EAAe,EAAE;IAC3C,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAA;IAErE,MAAM,0BAA0B,GAAG,gBAAgB,CACjD,mBAAO,CAAC,iBAAiB,CAAC,yBAAyB,EACnD,SAAS,CACV,CAAA;IAED,MAAM,0BAA0B,GAAG,gBAAgB,CACjD,mBAAO,CAAC,iBAAiB,CAAC,0BAA0B,EACpD,SAAS,CACV,CAAA;IAED,MAAM,oBAAoB,GAAG,gBAAgB,CAC3C,mBAAO,CAAC,iBAAiB,CAAC,oBAAoB,EAC9C,0BAA0B,IAAI,0BAA0B,CACzD,CAAA;IAED,MAAM,IAAI,GAAG,gBAAgB,CAC3B,mBAAO,CAAC,iBAAiB,CAAC,uBAAuB,EACjD,iBAAiB,CAClB,CAAA;IAED,OAAO,CACL,oBAAoB,IAAI,CACtB,8CAAK,GAAG,EAAE,uBAAuB,gBAC9B,0BAA0B,CAAC,CAAC,CAAC,CAC5B,uBAAC,0BAA0B,KAAG,CAC/B,CAAC,CAAC,CAAC,CACF,wBAAC,sCAA6B,eAC5B,gCAAK,GAAG,EAAE,IAAA,0BAAY,EAAC,wBAAS,CAAC,GAAI,EACpC,YAAY,CAAC,iBAAiB,OAAG,IAAI,IACR,CACjC,IACG,CACP,CACF,CAAA;AACH,CAAC,CAAA;AAvCY,QAAA,oBAAoB,wBAuChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useDebounce(delay?: number): boolean;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useDebounce = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useDebounce(delay) {
|
|
6
|
+
const [show, setShow] = (0, react_1.useState)(false);
|
|
7
|
+
(0, react_1.useEffect)(() => {
|
|
8
|
+
const timeoutId = setTimeout(() => {
|
|
9
|
+
setShow(true);
|
|
10
|
+
}, delay || 500);
|
|
11
|
+
return () => {
|
|
12
|
+
clearTimeout(timeoutId);
|
|
13
|
+
};
|
|
14
|
+
}, []);
|
|
15
|
+
return show;
|
|
16
|
+
}
|
|
17
|
+
exports.useDebounce = useDebounce;
|
|
18
|
+
//# sourceMappingURL=use-debounce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-debounce.js","sourceRoot":"src/","sources":["webchat/message-list/use-debounce.ts"],"names":[],"mappings":";;;AAAA,iCAA2C;AAE3C,SAAgB,WAAW,CAAC,KAAc;IACxC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IACvC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC,CAAA;QAEhB,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,SAAS,CAAC,CAAA;QACzB,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,IAAI,CAAA;AACb,CAAC;AAbD,kCAaC"}
|
|
@@ -230,10 +230,13 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
230
230
|
setTimeout(() => props.onInit(), 100);
|
|
231
231
|
}, []);
|
|
232
232
|
(0, react_1.useEffect)(() => {
|
|
233
|
-
if (!webchatState.isWebchatOpen)
|
|
233
|
+
if (!webchatState.isWebchatOpen) {
|
|
234
|
+
if (webchatState.isLastMessageVisible) {
|
|
235
|
+
resetUnreadMessages();
|
|
236
|
+
}
|
|
234
237
|
return;
|
|
238
|
+
}
|
|
235
239
|
deviceAdapter.init(host);
|
|
236
|
-
// scrollToBottom({ behavior: 'auto', host })
|
|
237
240
|
}, [webchatState.isWebchatOpen]);
|
|
238
241
|
(0, react_1.useEffect)(() => {
|
|
239
242
|
if (onStateChange && typeof onStateChange === 'function') {
|
|
@@ -566,14 +569,10 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
566
569
|
const textArea = (0, react_1.useRef)(null);
|
|
567
570
|
const userInputArea = () => {
|
|
568
571
|
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: () => {
|
|
569
|
-
(0, dom_1.scrollToBottom)({ host });
|
|
570
|
-
resetUnreadMessages();
|
|
571
572
|
deviceAdapter.onFocus(host);
|
|
572
573
|
}, onBlur: () => {
|
|
573
574
|
deviceAdapter.onBlur();
|
|
574
|
-
}, maxRows: 4, wrap: 'soft', maxLength: '1000', placeholder: getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.textPlaceholder, constants_1.WEBCHAT.DEFAULTS.PLACEHOLDER),
|
|
575
|
-
// autoFocus={true}
|
|
576
|
-
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 })] }))));
|
|
575
|
+
}, maxRows: 4, wrap: 'soft', maxLength: '1000', placeholder: getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.textPlaceholder, constants_1.WEBCHAT.DEFAULTS.PLACEHOLDER), autoFocus: false, 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 })] }))));
|
|
577
576
|
};
|
|
578
577
|
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 }) })));
|
|
579
578
|
let mobileStyle = {};
|
|
@@ -589,7 +588,6 @@ exports.Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
589
588
|
(0, react_1.useEffect)(() => {
|
|
590
589
|
// Prod mode
|
|
591
590
|
saveWebchatState(webchatState);
|
|
592
|
-
// scrollToBottom({ host })
|
|
593
591
|
}, [webchatState.themeUpdates]);
|
|
594
592
|
// Only needed for dev/serve mode
|
|
595
593
|
const updateWebchatDevSettings = settings => {
|