@botonic/react 0.31.0-alpha.5 → 0.31.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/index-types.d.ts +4 -131
- package/lib/cjs/components/index.d.ts +2 -1
- package/lib/cjs/components/index.js +4 -1
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/components/webchat-settings.d.ts +15 -2
- package/lib/cjs/components/webchat-settings.js.map +1 -1
- package/lib/cjs/index-types.d.ts +4 -3
- package/lib/cjs/index-types.js.map +1 -1
- package/lib/cjs/util/webchat.d.ts +1 -1
- package/lib/cjs/util/webchat.js.map +1 -1
- package/lib/cjs/webchat/context/types.d.ts +2 -2
- package/lib/cjs/webchat/context/use-webchat.d.ts +2 -1
- package/lib/cjs/webchat/context/use-webchat.js +1 -0
- package/lib/cjs/webchat/context/use-webchat.js.map +1 -1
- package/lib/cjs/webchat/index-types.d.ts +0 -3
- package/lib/cjs/webchat/input-panel/textarea.d.ts +2 -2
- package/lib/cjs/webchat/input-panel/textarea.js.map +1 -1
- package/lib/cjs/webchat/theme/types.d.ts +167 -0
- package/lib/cjs/webchat/theme/types.js +3 -0
- package/lib/cjs/webchat/theme/types.js.map +1 -0
- package/lib/cjs/webchat/webchat.js +3 -5
- package/lib/cjs/webchat/webchat.js.map +1 -1
- package/lib/cjs/webchat-app.d.ts +3 -2
- package/lib/cjs/webchat-app.js.map +1 -1
- package/lib/esm/components/index-types.d.ts +4 -131
- package/lib/esm/components/index.d.ts +2 -1
- package/lib/esm/components/index.js +2 -1
- package/lib/esm/components/index.js.map +1 -1
- package/lib/esm/components/webchat-settings.d.ts +15 -2
- package/lib/esm/components/webchat-settings.js.map +1 -1
- package/lib/esm/index-types.d.ts +4 -3
- package/lib/esm/index-types.js.map +1 -1
- package/lib/esm/util/webchat.d.ts +1 -1
- package/lib/esm/util/webchat.js.map +1 -1
- package/lib/esm/webchat/context/types.d.ts +2 -2
- package/lib/esm/webchat/context/use-webchat.d.ts +2 -1
- package/lib/esm/webchat/context/use-webchat.js +1 -0
- package/lib/esm/webchat/context/use-webchat.js.map +1 -1
- package/lib/esm/webchat/index-types.d.ts +0 -3
- package/lib/esm/webchat/input-panel/textarea.d.ts +2 -2
- package/lib/esm/webchat/input-panel/textarea.js.map +1 -1
- package/lib/esm/webchat/theme/types.d.ts +167 -0
- package/lib/esm/webchat/theme/types.js +2 -0
- package/lib/esm/webchat/theme/types.js.map +1 -0
- package/lib/esm/webchat/webchat.js +1 -3
- package/lib/esm/webchat/webchat.js.map +1 -1
- package/lib/esm/webchat-app.d.ts +3 -2
- package/lib/esm/webchat-app.js.map +1 -1
- package/package.json +1 -1
- package/src/components/index-types.ts +4 -121
- package/src/components/index.ts +6 -1
- package/src/components/webchat-settings.tsx +13 -1
- package/src/index-types.ts +8 -6
- package/src/util/webchat.ts +1 -1
- package/src/webchat/context/index.tsx +1 -1
- package/src/webchat/context/types.ts +7 -11
- package/src/webchat/context/use-webchat.ts +3 -1
- package/src/webchat/index-types.ts +0 -4
- package/src/webchat/input-panel/textarea.tsx +2 -2
- package/src/webchat/theme/types.ts +119 -0
- package/src/webchat/webchat.tsx +2 -2
- package/src/webchat-app.tsx +7 -8
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SENDERS } from '../index-types';
|
|
3
|
-
import { CoverComponentProps } from '../webchat/index-types';
|
|
4
3
|
export type MessageType = 'audio' | 'buttonmessage' | 'carousel' | 'custom' | 'document' | 'image' | 'location' | 'text' | 'video';
|
|
5
4
|
export interface MessageProps {
|
|
6
5
|
blob?: boolean;
|
|
@@ -75,142 +74,16 @@ export interface TitleProps {
|
|
|
75
74
|
style: string;
|
|
76
75
|
}
|
|
77
76
|
export type SubtitleProps = TitleProps;
|
|
78
|
-
export
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
enable?: boolean;
|
|
83
|
-
};
|
|
84
|
-
export type ImageProp = {
|
|
85
|
-
image?: string;
|
|
86
|
-
};
|
|
87
|
-
export type PersistentMenuCloseOption = {
|
|
88
|
-
closeLabel: string;
|
|
89
|
-
};
|
|
90
|
-
export type PersistentMenuOption = {
|
|
91
|
-
label: string;
|
|
92
|
-
} & ButtonProps;
|
|
93
|
-
export type StyleProp = {
|
|
94
|
-
style?: any;
|
|
95
|
-
};
|
|
96
|
-
export type PersistentMenuTheme = (PersistentMenuCloseOption | PersistentMenuOption)[];
|
|
97
|
-
export interface PersistentMenuProps {
|
|
98
|
-
onClick: () => void;
|
|
99
|
-
options: any;
|
|
77
|
+
export interface CustomMessageType {
|
|
78
|
+
(props: any): JSX.Element;
|
|
79
|
+
customTypeName: string;
|
|
80
|
+
deserialize(msg: any): JSX.Element;
|
|
100
81
|
}
|
|
101
82
|
export type BlockInputOption = {
|
|
102
83
|
preprocess?: (message: string) => string;
|
|
103
84
|
match: RegExp[];
|
|
104
85
|
message: string;
|
|
105
86
|
};
|
|
106
|
-
export interface BlobProps {
|
|
107
|
-
blobTick?: boolean;
|
|
108
|
-
blobTickStyle?: any;
|
|
109
|
-
blobWidth?: string;
|
|
110
|
-
imageStyle?: any;
|
|
111
|
-
}
|
|
112
|
-
export interface CustomMessageType {
|
|
113
|
-
(props: any): JSX.Element;
|
|
114
|
-
customTypeName: string;
|
|
115
|
-
deserialize(msg: any): JSX.Element;
|
|
116
|
-
}
|
|
117
|
-
export interface ThemeProps extends StyleProp {
|
|
118
|
-
coverComponent?: CoverComponentOptions;
|
|
119
|
-
mobileBreakpoint?: number;
|
|
120
|
-
mobileStyle?: any;
|
|
121
|
-
webview?: StyleProp & {
|
|
122
|
-
header?: StyleProp;
|
|
123
|
-
};
|
|
124
|
-
animations?: EnableProp;
|
|
125
|
-
intro?: StyleProp & ImageProp & CustomProp;
|
|
126
|
-
brand?: {
|
|
127
|
-
color?: string;
|
|
128
|
-
} & ImageProp;
|
|
129
|
-
header?: {
|
|
130
|
-
title?: string;
|
|
131
|
-
subtitle?: string;
|
|
132
|
-
} & ImageProp & StyleProp & CustomProp;
|
|
133
|
-
customMessageTypes?: CustomMessageType[];
|
|
134
|
-
message?: {
|
|
135
|
-
bot?: BlobProps & ImageProp & StyleProp;
|
|
136
|
-
agent?: ImageProp;
|
|
137
|
-
user?: BlobProps & StyleProp;
|
|
138
|
-
customTypes?: CustomMessageType[];
|
|
139
|
-
} & StyleProp & {
|
|
140
|
-
timestamps?: {
|
|
141
|
-
withImage?: boolean;
|
|
142
|
-
format: () => string;
|
|
143
|
-
} & StyleProp & EnableProp;
|
|
144
|
-
};
|
|
145
|
-
button?: {
|
|
146
|
-
autodisable?: boolean;
|
|
147
|
-
disabledstyle?: any;
|
|
148
|
-
hoverBackground?: string;
|
|
149
|
-
hoverTextColor?: string;
|
|
150
|
-
messageType?: 'text' | 'payload';
|
|
151
|
-
urlIcon?: ImageProp & EnableProp;
|
|
152
|
-
} & StyleProp & CustomProp;
|
|
153
|
-
replies?: {
|
|
154
|
-
align?: 'left' | 'center' | 'right';
|
|
155
|
-
wrap?: 'wrap' | 'nowrap';
|
|
156
|
-
};
|
|
157
|
-
carousel?: {
|
|
158
|
-
arrow?: {
|
|
159
|
-
left: CustomProp;
|
|
160
|
-
right: CustomProp;
|
|
161
|
-
};
|
|
162
|
-
enableArrows?: boolean;
|
|
163
|
-
};
|
|
164
|
-
reply?: StyleProp & CustomProp;
|
|
165
|
-
triggerButton?: ImageProp & StyleProp & CustomProp;
|
|
166
|
-
notifications?: EnableProp & {
|
|
167
|
-
banner?: CustomProp & EnableProp & {
|
|
168
|
-
text?: string;
|
|
169
|
-
};
|
|
170
|
-
triggerButton?: EnableProp;
|
|
171
|
-
};
|
|
172
|
-
scrollButton?: EnableProp & CustomProp;
|
|
173
|
-
markdownStyle?: string;
|
|
174
|
-
userInput?: {
|
|
175
|
-
attachments?: EnableProp & CustomProp;
|
|
176
|
-
blockInputs?: BlockInputOption[];
|
|
177
|
-
box?: {
|
|
178
|
-
placeholder: string;
|
|
179
|
-
} & StyleProp;
|
|
180
|
-
emojiPicker?: EnableProp & CustomProp;
|
|
181
|
-
menu?: {
|
|
182
|
-
darkBackground?: boolean;
|
|
183
|
-
} & {
|
|
184
|
-
custom?: React.ComponentType<PersistentMenuProps>;
|
|
185
|
-
};
|
|
186
|
-
menuButton?: CustomProp;
|
|
187
|
-
persistentMenu?: PersistentMenuTheme;
|
|
188
|
-
sendButton?: EnableProp & CustomProp;
|
|
189
|
-
} & EnableProp & StyleProp;
|
|
190
|
-
imagePreviewer?: React.ComponentType<ImagePreviewerProps>;
|
|
191
|
-
}
|
|
192
|
-
interface ImagePreviewerProps {
|
|
193
|
-
src: string;
|
|
194
|
-
isPreviewerOpened: boolean;
|
|
195
|
-
closePreviewer: () => void;
|
|
196
|
-
}
|
|
197
|
-
export interface CoverComponentOptions {
|
|
198
|
-
component: React.ComponentType<CoverComponentProps>;
|
|
199
|
-
props?: any;
|
|
200
|
-
}
|
|
201
|
-
export interface WebchatSettingsProps {
|
|
202
|
-
blockInputs?: BlockInputOption[];
|
|
203
|
-
enableAnimations?: boolean;
|
|
204
|
-
enableAttachments?: boolean;
|
|
205
|
-
enableEmojiPicker?: boolean;
|
|
206
|
-
enableUserInput?: boolean;
|
|
207
|
-
persistentMenu?: PersistentMenuTheme;
|
|
208
|
-
theme?: ThemeProps;
|
|
209
|
-
user?: {
|
|
210
|
-
extra_data?: any;
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
87
|
export type WrappedComponent<Props> = React.FunctionComponent<Props> & {
|
|
214
88
|
customTypeName: string;
|
|
215
89
|
};
|
|
216
|
-
export {};
|
|
@@ -4,6 +4,7 @@ export { Carousel } from './carousel';
|
|
|
4
4
|
export { customMessage } from './custom-message';
|
|
5
5
|
export { Document } from './document';
|
|
6
6
|
export { Element } from './element';
|
|
7
|
+
export { Handoff } from './handoff';
|
|
7
8
|
export { Image } from './image';
|
|
8
9
|
export * from './index-types';
|
|
9
10
|
export { Location } from './location';
|
|
@@ -18,7 +19,7 @@ export { Subtitle } from './subtitle';
|
|
|
18
19
|
export { Text } from './text';
|
|
19
20
|
export { Title } from './title';
|
|
20
21
|
export { Video } from './video';
|
|
21
|
-
export { WebchatSettings } from './webchat-settings';
|
|
22
|
+
export { normalizeWebchatSettings, WebchatSettings, WebchatSettingsProps, } from './webchat-settings';
|
|
22
23
|
export { WhatsappButtonList, WhatsappButtonListProps, WhatsappButtonListRowProps, WhatsappButtonListSectionProps, } from './whatsapp-button-list';
|
|
23
24
|
export { WhatsappCTAUrlButton, WhatsappCTAUrlButtonProps, } from './whatsapp-cta-url-button';
|
|
24
25
|
export { WhatsappTemplate } from './whatsapp-template';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WhatsappTemplate = exports.WhatsappCTAUrlButton = exports.WhatsappButtonList = exports.WebchatSettings = exports.Video = exports.Title = exports.Text = exports.Subtitle = exports.ShareButton = exports.Reply = exports.Raw = exports.Pic = exports.MessageTemplate = exports.Message = exports.Location = exports.Image = exports.Element = exports.Document = exports.customMessage = exports.Carousel = exports.Button = exports.Audio = void 0;
|
|
3
|
+
exports.WhatsappTemplate = exports.WhatsappCTAUrlButton = exports.WhatsappButtonList = exports.WebchatSettings = exports.normalizeWebchatSettings = exports.Video = exports.Title = exports.Text = exports.Subtitle = exports.ShareButton = exports.Reply = exports.Raw = exports.Pic = exports.MessageTemplate = exports.Message = exports.Location = exports.Image = exports.Handoff = exports.Element = exports.Document = exports.customMessage = exports.Carousel = exports.Button = exports.Audio = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
var audio_1 = require("./audio");
|
|
6
6
|
Object.defineProperty(exports, "Audio", { enumerable: true, get: function () { return audio_1.Audio; } });
|
|
@@ -14,6 +14,8 @@ var document_1 = require("./document");
|
|
|
14
14
|
Object.defineProperty(exports, "Document", { enumerable: true, get: function () { return document_1.Document; } });
|
|
15
15
|
var element_1 = require("./element");
|
|
16
16
|
Object.defineProperty(exports, "Element", { enumerable: true, get: function () { return element_1.Element; } });
|
|
17
|
+
var handoff_1 = require("./handoff");
|
|
18
|
+
Object.defineProperty(exports, "Handoff", { enumerable: true, get: function () { return handoff_1.Handoff; } });
|
|
17
19
|
var image_1 = require("./image");
|
|
18
20
|
Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return image_1.Image; } });
|
|
19
21
|
tslib_1.__exportStar(require("./index-types"), exports);
|
|
@@ -41,6 +43,7 @@ Object.defineProperty(exports, "Title", { enumerable: true, get: function () { r
|
|
|
41
43
|
var video_1 = require("./video");
|
|
42
44
|
Object.defineProperty(exports, "Video", { enumerable: true, get: function () { return video_1.Video; } });
|
|
43
45
|
var webchat_settings_1 = require("./webchat-settings");
|
|
46
|
+
Object.defineProperty(exports, "normalizeWebchatSettings", { enumerable: true, get: function () { return webchat_settings_1.normalizeWebchatSettings; } });
|
|
44
47
|
Object.defineProperty(exports, "WebchatSettings", { enumerable: true, get: function () { return webchat_settings_1.WebchatSettings; } });
|
|
45
48
|
var whatsapp_button_list_1 = require("./whatsapp-button-list");
|
|
46
49
|
Object.defineProperty(exports, "WhatsappButtonList", { enumerable: true, get: function () { return whatsapp_button_list_1.WhatsappButtonList; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;;AAAA,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,mDAAgD;AAAvC,+GAAA,aAAa,OAAA;AACtB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,wDAA6B;AAC7B,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,uDAAoD;AAA3C,mHAAA,eAAe,OAAA;AACxB,yDAA8B;AAC9B,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AACpB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;;AAAA,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,mDAAgD;AAAvC,+GAAA,aAAa,OAAA;AACtB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,wDAA6B;AAC7B,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,uDAAoD;AAA3C,mHAAA,eAAe,OAAA;AACxB,yDAA8B;AAC9B,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AACpB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,uDAI2B;AAHzB,4HAAA,wBAAwB,OAAA;AACxB,mHAAA,eAAe,OAAA;AAGjB,+DAK+B;AAJ7B,0HAAA,kBAAkB,OAAA;AAKpB,qEAGkC;AAFhC,+HAAA,oBAAoB,OAAA;AAGtB,yDAAsD;AAA7C,qHAAA,gBAAgB,OAAA"}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PersistentMenuOptionsTheme, ThemeProps } from '../webchat/theme/types';
|
|
2
|
+
import { BlockInputOption } from './index-types';
|
|
3
|
+
export interface WebchatSettingsProps {
|
|
4
|
+
blockInputs?: BlockInputOption[];
|
|
5
|
+
enableAnimations?: boolean;
|
|
6
|
+
enableAttachments?: boolean;
|
|
7
|
+
enableEmojiPicker?: boolean;
|
|
8
|
+
enableUserInput?: boolean;
|
|
9
|
+
persistentMenu?: PersistentMenuOptionsTheme;
|
|
10
|
+
theme?: ThemeProps;
|
|
11
|
+
user?: {
|
|
12
|
+
extra_data?: any;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
2
15
|
export declare const WebchatSettings: ({ theme, blockInputs, persistentMenu, enableEmojiPicker, enableAttachments, enableUserInput, enableAnimations, user, }: WebchatSettingsProps) => any;
|
|
3
|
-
export declare const normalizeWebchatSettings: (settings: WebchatSettingsProps) =>
|
|
16
|
+
export declare const normalizeWebchatSettings: (settings: WebchatSettingsProps) => ThemeProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webchat-settings.js","sourceRoot":"","sources":["../../../src/components/webchat-settings.tsx"],"names":[],"mappings":";;;;AAAA,wCAAqC;AACrC,iCAAyC;AAEzC,yCAA+C;AAC/C,2CAAoD;AACpD,gDAAmD;
|
|
1
|
+
{"version":3,"file":"webchat-settings.js","sourceRoot":"","sources":["../../../src/components/webchat-settings.tsx"],"names":[],"mappings":";;;;AAAA,wCAAqC;AACrC,iCAAyC;AAEzC,yCAA+C;AAC/C,2CAAoD;AACpD,gDAAmD;AAe5C,MAAM,eAAe,GAAG,CAAC,EAC9B,KAAK,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,IAAI,GACiB,EAAE,EAAE;IACzB,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,sDAAsD;QACtD,MAAM,EAAE,wBAAwB,EAAE,GAAG,IAAA,kBAAU,EAAC,wBAAc,CAAC,CAAA;QAC/D,wBAAwB,CAAC;YACvB,KAAK;YACL,WAAW;YACX,cAAc;YACd,iBAAiB;YACjB,iBAAiB;YACjB,eAAe;YACf,gBAAgB;SACjB,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IACD,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,YAAY,GAAG,IAAA,gCAAwB,EAAC;YAC5C,KAAK;YACL,WAAW;YACX,cAAc;YACd,iBAAiB;YACjB,iBAAiB;YACjB,eAAe;YACf,gBAAgB;SACjB,CAAC,CAAA;QACF,OAAO;QACL,YAAY;QACZ,oCACE,IAAI,EAAE,YAAK,CAAC,gBAAgB,EAC5B,QAAQ,EAAE,IAAA,4BAAmB,EAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,GAC5D,CACH,CAAA;IACH,CAAC,CAAA;IACD,OAAO,IAAA,uBAAe,EAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA;AA3CY,QAAA,eAAe,mBA2C3B;AAEM,MAAM,wBAAwB,GAAG,CAAC,QAA8B,EAAE,EAAE;IACzE,IAAI,EACF,KAAK,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GACjB,GAAG,QAAQ,CAAA;IACZ,IAAI,CAAC,KAAK;QAAE,KAAK,GAAG,EAAE,CAAA;IACtB,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,EAAE,CAAA;IAC1C,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,cAAc,CAAA;KAChD;IACD,IAAI,iBAAiB,KAAK,SAAS,EAAE;QACnC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW;YAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,EAAE,CAAA;QAClE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,iBAAiB,CAAA;KACvD;IACD,IAAI,iBAAiB,KAAK,SAAS,EAAE;QACnC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW;YAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,EAAE,CAAA;QAClE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,iBAAiB,CAAA;KACvD;IACD,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,eAAe,CAAA;KACzC;IACD,IAAI,WAAW,KAAK,SAAS;QAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;IAExE,IAAI,CAAC,KAAK,CAAC,UAAU;QAAE,KAAK,CAAC,UAAU,GAAG,EAAE,CAAA;IAC5C,IAAI,gBAAgB,KAAK,SAAS,EAAE;QAClC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,gBAAgB,CAAA;KAC3C;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAjCY,QAAA,wBAAwB,4BAiCpC"}
|
package/lib/cjs/index-types.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { BotRequest as CoreBotRequest, Input as CoreInput, InputType as CoreInputType, Plugin as CorePlugin, Route as CoreRoute, Routes as CoreRoutes, ServerConfig, Session as CoreSession, SessionUser as CoreSessionUser } from '@botonic/core';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { BlockInputOption, ButtonProps,
|
|
3
|
+
import { BlockInputOption, ButtonProps, ReplyProps, WebchatSettingsProps } from './components';
|
|
4
4
|
import { CloseWebviewOptions } from './contexts';
|
|
5
5
|
import { UseWebchat } from './webchat/context/use-webchat';
|
|
6
|
+
import { CoverComponentOptions, PersistentMenuOptionsTheme, ThemeProps } from './webchat/theme/types';
|
|
6
7
|
import { WebchatApp } from './webchat-app';
|
|
7
8
|
/**
|
|
8
9
|
* See @botonic/core's Response for the description of the Response's semantics*/
|
|
@@ -64,7 +65,7 @@ interface AddBotResponseArgs {
|
|
|
64
65
|
}
|
|
65
66
|
export interface WebchatArgs {
|
|
66
67
|
theme?: ThemeProps;
|
|
67
|
-
persistentMenu?:
|
|
68
|
+
persistentMenu?: PersistentMenuOptionsTheme;
|
|
68
69
|
coverComponent?: CoverComponentOptions;
|
|
69
70
|
blockInputs?: BlockInputOption[];
|
|
70
71
|
enableEmojiPicker?: boolean;
|
|
@@ -94,7 +95,7 @@ export interface WebchatProps {
|
|
|
94
95
|
onStateChange: (args: OnStateChangeArgs) => void;
|
|
95
96
|
shadowDOM?: any;
|
|
96
97
|
theme?: ThemeProps;
|
|
97
|
-
persistentMenu?:
|
|
98
|
+
persistentMenu?: PersistentMenuOptionsTheme;
|
|
98
99
|
coverComponent?: CoverComponentOptions;
|
|
99
100
|
blockInputs?: BlockInputOption[];
|
|
100
101
|
enableEmojiPicker?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-types.js","sourceRoot":"","sources":["../../src/index-types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index-types.js","sourceRoot":"","sources":["../../src/index-types.ts"],"names":[],"mappings":";;;AAsJA,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,sBAAW,CAAA;IACX,wBAAa,CAAA;IACb,0BAAe,CAAA;AACjB,CAAC,EAJW,OAAO,GAAP,eAAO,KAAP,eAAO,QAIlB;AAED,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,0BAAgB,CAAA;IAChB,4BAAkB,CAAA;AACpB,CAAC,EAHW,MAAM,GAAN,cAAM,KAAN,cAAM,QAGjB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ThemeProps } from '../
|
|
1
|
+
import { ThemeProps } from '../webchat/theme/types';
|
|
2
2
|
/**
|
|
3
3
|
* Returns the value of a property defined in bot's theme based on WEBCHAT.CUSTOM_PROPERTIES dictionary.
|
|
4
4
|
* It gives preference to nested defined properties (e.g.: header.style) over plain properties (e.g.: headerStyle).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../src/util/webchat.ts"],"names":[],"mappings":";;;;AAAA,wEAAgC;AAChC,wEAAmC;AACnC,+BAAmC;
|
|
1
|
+
{"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../src/util/webchat.ts"],"names":[],"mappings":";;;;AAAA,wEAAgC;AAChC,wEAAmC;AACnC,+BAAmC;AAEnC,4CAAsC;AAEtC,uCAAuC;AAEvC;;;;GAIG;AACI,MAAM,iBAAiB,GAC5B,CAAC,KAAiB,EAAE,EAAE,CAAC,CAAC,QAAgB,EAAE,YAAkB,EAAE,EAAE;IAC9D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAO,CAAC,iBAAiB,CAAC,EAAE;QACpE,IAAI,KAAK,KAAK,QAAQ,EAAE;YACtB,MAAM,cAAc,GAAG,IAAA,qBAAW,EAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAChD,IAAI,cAAc,KAAK,SAAS;gBAAE,OAAO,cAAc,CAAA;YACvD,MAAM,aAAa,GAAG,IAAA,qBAAW,EAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAC7C,IAAI,aAAa,KAAK,SAAS;gBAAE,OAAO,aAAa,CAAA;YACrD,OAAO,YAAY,CAAA;SACpB;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAZU,QAAA,iBAAiB,qBAY3B;AAEI,MAAM,UAAU,GAAG,GAGxB,EAAE;IACF,MAAM,MAAM,GAAG,IAAI,sBAAQ,EAAE,CAAA;IAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IAC7B,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAC7C,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI;QAAE,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAA;IACnE,OAAO;QACL,EAAE,EAAE,IAAA,SAAM,GAAE;QACZ,IAAI;KACL,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,UAAU,cAYtB;AACM,MAAM,WAAW,GAAG,CACzB,OAAY,EAC4B,EAAE;;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,EAAE,CAAA;IAC1B,MAAM,SAAS,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,EAAE,MAAK,SAAS,CAAA;IACjD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS;QACvE,OAAO,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,sBAAK,EAAC,OAAO,CAAC,IAAI,EAAE,IAAA,kBAAU,GAAE,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAU,GAAE,CAAA;IAC9E,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AARY,QAAA,WAAW,eAQvB;AAEM,MAAM,yBAAyB,GAAG,CAAC,EACxC,kBAAkB,EAClB,WAAW,GACZ,EAAE,EAAE,CAAC,CAAC,kBAAkB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,mBAAmB,CAAC,CAAA;AAHhE,QAAA,yBAAyB,6BAGuC;AAE7E,yFAAyF;AAClF,MAAM,qBAAqB,GAAG,YAAY,CAAC,EAAE;IAClD,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,YAAY;QAAE,OAAO,mBAAmB,CAAA;IAC3E,IAAI,OAAO,YAAY,CAAC,YAAY,KAAK,UAAU,EAAE;QACnD,OAAO,YAAY,CAAC,YAAY,EAAE,CAAA;KACnC;IACD,OAAO,YAAY,CAAC,YAAY,CAAA;AAClC,CAAC,CAAA;AANY,QAAA,qBAAqB,yBAMjC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Input as CoreInput, Session as CoreSession, SessionUser as CoreSessionUser } from '@botonic/core';
|
|
3
|
-
import { Reply } from '../../components';
|
|
4
|
-
import { ThemeProps, WebchatSettingsProps, Webview } from '../../components/index-types';
|
|
3
|
+
import { Reply, WebchatSettingsProps, Webview } from '../../components';
|
|
5
4
|
import { TrackEventFunction, WebchatMessage } from '../../index-types';
|
|
6
5
|
import { WebchatStateTheme } from '../index-types';
|
|
6
|
+
import { ThemeProps } from '../theme/types';
|
|
7
7
|
export interface ErrorMessage {
|
|
8
8
|
message?: string;
|
|
9
9
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Session } from '@botonic/core';
|
|
3
3
|
import { Reply } from '../../components';
|
|
4
|
-
import {
|
|
4
|
+
import { Webview } from '../../components/index-types';
|
|
5
5
|
import { WebchatMessage } from '../../index-types';
|
|
6
|
+
import { ThemeProps } from '../theme/types';
|
|
6
7
|
import { ClientInput, DevSettings, ErrorMessage, WebchatState } from './types';
|
|
7
8
|
export declare const webchatInitialState: WebchatState;
|
|
8
9
|
export interface UseWebchat {
|
|
@@ -18,6 +18,7 @@ exports.webchatInitialState = {
|
|
|
18
18
|
session: { user: undefined },
|
|
19
19
|
lastRoutePath: undefined,
|
|
20
20
|
handoff: false,
|
|
21
|
+
// TODO: type create a defaultTheme using ThemeProps, and put this in initialState
|
|
21
22
|
theme: {
|
|
22
23
|
headerTitle: constants_1.WEBCHAT.DEFAULTS.TITLE,
|
|
23
24
|
brandColor: constants_1.COLORS.BOTONIC_BLUE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-webchat.js","sourceRoot":"","sources":["../../../../src/webchat/context/use-webchat.ts"],"names":[],"mappings":";;;AACA,iCAA0C;AAI1C,+CAAiD;
|
|
1
|
+
{"version":3,"file":"use-webchat.js","sourceRoot":"","sources":["../../../../src/webchat/context/use-webchat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { PersistentMenuOptionsTheme } from '../theme/types';
|
|
3
3
|
interface TextareaProps {
|
|
4
4
|
host: HTMLElement;
|
|
5
|
-
persistentMenu:
|
|
5
|
+
persistentMenu: PersistentMenuOptionsTheme;
|
|
6
6
|
textareaRef: React.MutableRefObject<HTMLTextAreaElement | undefined>;
|
|
7
7
|
sendChatEvent: (event: string) => Promise<void>;
|
|
8
8
|
sendTextAreaText: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../../src/webchat/input-panel/textarea.tsx"],"names":[],"mappings":";;;;;AAAA,iCAAyC;AACzC,8FAAsD;
|
|
1
|
+
{"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../../src/webchat/input-panel/textarea.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { BlockInputOption, ButtonProps, CustomMessageType } from '../../components/index-types';
|
|
3
|
+
interface ImagePreviewerProps {
|
|
4
|
+
src: string;
|
|
5
|
+
isPreviewerOpened: boolean;
|
|
6
|
+
closePreviewer: () => void;
|
|
7
|
+
}
|
|
8
|
+
export interface CoverComponentProps {
|
|
9
|
+
closeComponent: () => void;
|
|
10
|
+
}
|
|
11
|
+
export interface CoverComponentOptions {
|
|
12
|
+
component: React.ComponentType<CoverComponentProps>;
|
|
13
|
+
props?: any;
|
|
14
|
+
}
|
|
15
|
+
export type PersistentMenuCloseOption = {
|
|
16
|
+
closeLabel: string;
|
|
17
|
+
};
|
|
18
|
+
export type PersistentMenuOption = {
|
|
19
|
+
label: string;
|
|
20
|
+
} & ButtonProps;
|
|
21
|
+
export type PersistentMenuOptionsTheme = (PersistentMenuCloseOption | PersistentMenuOption)[];
|
|
22
|
+
export interface PersistentMenuOptionsProps {
|
|
23
|
+
onClick: () => void;
|
|
24
|
+
options: any;
|
|
25
|
+
}
|
|
26
|
+
export interface BlobProps {
|
|
27
|
+
blobTick?: boolean;
|
|
28
|
+
blobTickStyle?: any;
|
|
29
|
+
blobWidth?: string;
|
|
30
|
+
imageStyle?: any;
|
|
31
|
+
}
|
|
32
|
+
export interface ThemeProps {
|
|
33
|
+
style?: any;
|
|
34
|
+
coverComponent?: CoverComponentOptions;
|
|
35
|
+
mobileBreakpoint?: number;
|
|
36
|
+
mobileStyle?: any;
|
|
37
|
+
webview?: {
|
|
38
|
+
style?: any;
|
|
39
|
+
header?: {
|
|
40
|
+
style?: any;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
animations?: {
|
|
44
|
+
enable?: boolean;
|
|
45
|
+
};
|
|
46
|
+
intro?: {
|
|
47
|
+
style?: any;
|
|
48
|
+
image?: string;
|
|
49
|
+
custom?: React.ComponentType;
|
|
50
|
+
};
|
|
51
|
+
brand?: {
|
|
52
|
+
color?: string;
|
|
53
|
+
image?: string;
|
|
54
|
+
};
|
|
55
|
+
header?: {
|
|
56
|
+
title?: string;
|
|
57
|
+
subtitle?: string;
|
|
58
|
+
image?: string;
|
|
59
|
+
style?: any;
|
|
60
|
+
custom?: React.ComponentType;
|
|
61
|
+
};
|
|
62
|
+
customMessageTypes?: CustomMessageType[];
|
|
63
|
+
message?: {
|
|
64
|
+
bot?: BlobProps & {
|
|
65
|
+
image?: string;
|
|
66
|
+
style?: any;
|
|
67
|
+
};
|
|
68
|
+
agent?: {
|
|
69
|
+
image?: string;
|
|
70
|
+
};
|
|
71
|
+
user?: BlobProps & {
|
|
72
|
+
style?: any;
|
|
73
|
+
};
|
|
74
|
+
customTypes?: CustomMessageType[];
|
|
75
|
+
style?: any;
|
|
76
|
+
timestamps?: {
|
|
77
|
+
withImage?: boolean;
|
|
78
|
+
format: () => string;
|
|
79
|
+
style?: any;
|
|
80
|
+
enable?: boolean;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
button?: {
|
|
84
|
+
autodisable?: boolean;
|
|
85
|
+
disabledstyle?: any;
|
|
86
|
+
hoverBackground?: string;
|
|
87
|
+
hoverTextColor?: string;
|
|
88
|
+
messageType?: 'text' | 'payload';
|
|
89
|
+
urlIcon?: {
|
|
90
|
+
image?: string;
|
|
91
|
+
enable?: boolean;
|
|
92
|
+
};
|
|
93
|
+
style?: any;
|
|
94
|
+
custom?: React.ComponentType;
|
|
95
|
+
};
|
|
96
|
+
replies?: {
|
|
97
|
+
align?: 'left' | 'center' | 'right';
|
|
98
|
+
wrap?: 'wrap' | 'nowrap';
|
|
99
|
+
};
|
|
100
|
+
carousel?: {
|
|
101
|
+
arrow?: {
|
|
102
|
+
left: {
|
|
103
|
+
custom?: React.ComponentType;
|
|
104
|
+
};
|
|
105
|
+
right: {
|
|
106
|
+
custom?: React.ComponentType;
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
enableArrows?: boolean;
|
|
110
|
+
};
|
|
111
|
+
reply?: {
|
|
112
|
+
style?: any;
|
|
113
|
+
custom?: React.ComponentType;
|
|
114
|
+
};
|
|
115
|
+
triggerButton?: {
|
|
116
|
+
image?: string;
|
|
117
|
+
style?: any;
|
|
118
|
+
custom?: React.ComponentType;
|
|
119
|
+
};
|
|
120
|
+
notifications?: {
|
|
121
|
+
enable?: boolean;
|
|
122
|
+
banner?: {
|
|
123
|
+
custom?: React.ComponentType;
|
|
124
|
+
enable?: boolean;
|
|
125
|
+
text?: string;
|
|
126
|
+
};
|
|
127
|
+
triggerButton?: {
|
|
128
|
+
enable?: boolean;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
scrollButton?: {
|
|
132
|
+
enable?: boolean;
|
|
133
|
+
custom?: React.ComponentType;
|
|
134
|
+
};
|
|
135
|
+
markdownStyle?: string;
|
|
136
|
+
userInput?: {
|
|
137
|
+
attachments?: {
|
|
138
|
+
enable?: boolean;
|
|
139
|
+
custom?: React.ComponentType;
|
|
140
|
+
};
|
|
141
|
+
blockInputs?: BlockInputOption[];
|
|
142
|
+
box?: {
|
|
143
|
+
placeholder: string;
|
|
144
|
+
style?: any;
|
|
145
|
+
};
|
|
146
|
+
emojiPicker?: {
|
|
147
|
+
enable?: boolean;
|
|
148
|
+
custom?: React.ComponentType;
|
|
149
|
+
};
|
|
150
|
+
menu?: {
|
|
151
|
+
darkBackground?: boolean;
|
|
152
|
+
custom?: React.ComponentType<PersistentMenuOptionsProps>;
|
|
153
|
+
};
|
|
154
|
+
menuButton?: {
|
|
155
|
+
custom?: React.ComponentType;
|
|
156
|
+
};
|
|
157
|
+
persistentMenu?: PersistentMenuOptionsTheme;
|
|
158
|
+
sendButton?: {
|
|
159
|
+
enable?: boolean;
|
|
160
|
+
custom?: React.ComponentType;
|
|
161
|
+
};
|
|
162
|
+
enable?: boolean;
|
|
163
|
+
style?: any;
|
|
164
|
+
};
|
|
165
|
+
imagePreviewer?: React.ComponentType<ImagePreviewerProps>;
|
|
166
|
+
}
|
|
167
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/webchat/theme/types.ts"],"names":[],"mappings":""}
|
|
@@ -9,8 +9,6 @@ const react_1 = require("react");
|
|
|
9
9
|
const styled_components_1 = require("styled-components");
|
|
10
10
|
const uuid_1 = require("uuid");
|
|
11
11
|
const components_1 = require("../components");
|
|
12
|
-
const handoff_1 = require("../components/handoff");
|
|
13
|
-
const webchat_settings_1 = require("../components/webchat-settings");
|
|
14
12
|
const constants_1 = require("../constants");
|
|
15
13
|
const contexts_1 = require("../contexts");
|
|
16
14
|
const index_types_1 = require("../index-types");
|
|
@@ -343,7 +341,7 @@ const Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
343
341
|
const action = session._botonic_action || '';
|
|
344
342
|
const handoff = action.startsWith(core_1.BotonicAction.CreateCase);
|
|
345
343
|
if (handoff && environment_1.isDev)
|
|
346
|
-
addMessageComponent((0, jsx_runtime_1.jsx)(
|
|
344
|
+
addMessageComponent((0, jsx_runtime_1.jsx)(components_1.Handoff, {}));
|
|
347
345
|
updateHandoff(handoff);
|
|
348
346
|
}
|
|
349
347
|
if (lastRoutePath)
|
|
@@ -383,7 +381,7 @@ const Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
383
381
|
if (settings.user) {
|
|
384
382
|
updateSessionWithUser(settings.user);
|
|
385
383
|
}
|
|
386
|
-
const themeUpdates = (0,
|
|
384
|
+
const themeUpdates = (0, components_1.normalizeWebchatSettings)(settings);
|
|
387
385
|
updateTheme((0, lodash_merge_1.default)(webchatState.theme, themeUpdates), themeUpdates);
|
|
388
386
|
updateTyping(false);
|
|
389
387
|
},
|
|
@@ -469,7 +467,7 @@ const Webchat = (0, react_1.forwardRef)((props, ref) => {
|
|
|
469
467
|
const updateWebchatDevSettings = settings => {
|
|
470
468
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
471
469
|
(0, react_1.useEffect)(() => {
|
|
472
|
-
const themeUpdates = (0,
|
|
470
|
+
const themeUpdates = (0, components_1.normalizeWebchatSettings)(settings);
|
|
473
471
|
updateTheme((0, lodash_merge_1.default)(webchatState.theme, themeUpdates), themeUpdates);
|
|
474
472
|
}, [webchatState.messagesJSON]);
|
|
475
473
|
};
|