@sendbird/ai-agent-messenger-react 1.17.0 → 1.18.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/dist/cjs/9pP8_kBW.cjs +1 -0
- package/dist/cjs/B9Q2LOZZ.cjs +1 -0
- package/dist/cjs/{CbkA2p0b.cjs → Bu3zzr6j.cjs} +1 -1
- package/dist/cjs/BuBoF2qI.cjs +1 -0
- package/dist/cjs/CZIjo9nb.cjs +1 -0
- package/dist/cjs/D11KPdOs.cjs +1 -0
- package/dist/cjs/DAF2JUxO.cjs +1 -0
- package/dist/cjs/DAP4nAvQ.cjs +1 -0
- package/dist/cjs/DBHlAmeA.cjs +1 -0
- package/dist/cjs/DEGDJBmd.cjs +1 -0
- package/dist/cjs/DXUsaL2W.cjs +330 -0
- package/dist/cjs/DqdBRt6e.cjs +1 -0
- package/dist/cjs/GQlGFYP2.cjs +1 -0
- package/dist/cjs/gbzRqe1a.cjs +1 -0
- package/dist/cjs/oKi8u6wj.cjs +1 -0
- package/dist/es/{CNexWEM3.js → 3LbHdnQ8.js} +20 -14
- package/dist/es/{CAEiRRZ2.js → BFTnuMEy.js} +19 -13
- package/dist/es/{DIXZOSKS.js → BSu_ZpXq.js} +17 -11
- package/dist/es/{DUaBaiMV.js → BatMiKXs.js} +18 -12
- package/dist/es/{BgPmlRRI.js → Bo9TA_Z-.js} +21 -15
- package/dist/es/{B3kItOVy.js → C60MlOyZ.js} +1 -1
- package/dist/es/{BTU2lQ0s.js → CeWycJIw.js} +24 -18
- package/dist/es/{BCQjlPPt.js → CjvNmTwL.js} +19 -13
- package/dist/es/Cv8qOSU6.js +5 -0
- package/dist/es/{81y7Pu9p.js → DJzTBusb.js} +17 -11
- package/dist/es/Dp48Y7fJ.js +5 -0
- package/dist/es/{BAb_pPqd.js → Dzr6sXdx.js} +2861 -2598
- package/dist/es/ewYUFKEK.js +5 -0
- package/dist/es/{lYZg4xku.js → hblOq7Ks.js} +18 -12
- package/dist/es/hu7PS5ZI.js +5 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +487 -27
- package/dist/index.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/C5lX5LQR.cjs +0 -1
- package/dist/cjs/CNa0-eAY.cjs +0 -1
- package/dist/cjs/CUee2Pmu.cjs +0 -1
- package/dist/cjs/D5vtBiPX.cjs +0 -1
- package/dist/cjs/DA_vneB6.cjs +0 -1
- package/dist/cjs/DKm5JuUx.cjs +0 -306
- package/dist/cjs/DPnOw54X.cjs +0 -1
- package/dist/cjs/YHH1eQbl.cjs +0 -1
- package/dist/cjs/e2wnpTfT.cjs +0 -1
- package/dist/cjs/mi34snx7.cjs +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,8 @@ import { JSX } from 'react/jsx-runtime';
|
|
|
19
19
|
import { LazyExoticComponent } from 'react';
|
|
20
20
|
import type { Locale } from 'date-fns';
|
|
21
21
|
import { LogLevel as LogLevel_2 } from '@sendbird/chat';
|
|
22
|
+
import { MultipleFilesMessage } from '@sendbird/chat/message';
|
|
23
|
+
import { MultipleFilesMessageCreateParams } from '@sendbird/chat/message';
|
|
22
24
|
import { PropsWithChildren } from 'react';
|
|
23
25
|
import { ReactNode } from 'react';
|
|
24
26
|
import { RefAttributes } from 'react';
|
|
@@ -269,10 +271,6 @@ origin?: string;
|
|
|
269
271
|
messageTemplate?: {
|
|
270
272
|
__internalVariables?: InternalMessageTemplateVariables;
|
|
271
273
|
};
|
|
272
|
-
/**
|
|
273
|
-
* @internal DO NOT USE THIS - Used for conversation initial render stat tracking.
|
|
274
|
-
*/
|
|
275
|
-
presentMethod?: PresentMethod;
|
|
276
274
|
} & {
|
|
277
275
|
children?: ReactNode | undefined;
|
|
278
276
|
} & RefAttributes<MessengerSessionRef>>;
|
|
@@ -411,13 +409,13 @@ declare interface AIAgentConfig {
|
|
|
411
409
|
photoEnabled?: boolean;
|
|
412
410
|
};
|
|
413
411
|
/**
|
|
414
|
-
*
|
|
412
|
+
* Whether to enable the gallery/photo option in the attachment menu.
|
|
415
413
|
* */
|
|
416
414
|
gallery?: {
|
|
417
415
|
photoEnabled?: boolean;
|
|
418
416
|
};
|
|
419
417
|
/**
|
|
420
|
-
*
|
|
418
|
+
* Whether to enable the file option in the attachment menu.
|
|
421
419
|
* */
|
|
422
420
|
fileEnabled?: boolean;
|
|
423
421
|
};
|
|
@@ -476,8 +474,11 @@ declare interface AIAgentConversationContextValue {
|
|
|
476
474
|
loadNext: () => Promise<void>;
|
|
477
475
|
sendUserMessage: (params: UserMessageCreateParams) => Promise<UserMessage>;
|
|
478
476
|
sendFileMessage: (params: FileMessageCreateParams) => Promise<FileMessage>;
|
|
479
|
-
|
|
480
|
-
|
|
477
|
+
sendMultipleFilesMessage: (params: MultipleFilesMessageCreateParams) => Promise<MultipleFilesMessage>;
|
|
478
|
+
deleteMessage: (message: UserMessage | FileMessage | MultipleFilesMessage) => Promise<void>;
|
|
479
|
+
resendMessage: (
|
|
480
|
+
message: UserMessage | FileMessage | MultipleFilesMessage,
|
|
481
|
+
) => Promise<UserMessage | FileMessage | MultipleFilesMessage>;
|
|
481
482
|
resetNewMessages: () => void;
|
|
482
483
|
};
|
|
483
484
|
|
|
@@ -568,7 +569,6 @@ declare interface AIAgentMessengerSessionContextValue {
|
|
|
568
569
|
userSession: null | UserSession;
|
|
569
570
|
aiAgentInfo: null | AIAgentInfo;
|
|
570
571
|
launcherInfo: null | LauncherInfo;
|
|
571
|
-
presentMethod: PresentMethod;
|
|
572
572
|
|
|
573
573
|
connectionError?: Error;
|
|
574
574
|
|
|
@@ -755,10 +755,6 @@ export declare type AIAgentProps = PropsWithChildren<{
|
|
|
755
755
|
messageTemplate?: {
|
|
756
756
|
__internalVariables?: InternalMessageTemplateVariables;
|
|
757
757
|
};
|
|
758
|
-
/**
|
|
759
|
-
* @internal DO NOT USE THIS - Used for conversation initial render stat tracking.
|
|
760
|
-
*/
|
|
761
|
-
presentMethod?: PresentMethod;
|
|
762
758
|
}>;
|
|
763
759
|
|
|
764
760
|
declare interface AIAgentQueryParams {
|
|
@@ -816,6 +812,7 @@ declare interface AIAgentStringSet {
|
|
|
816
812
|
header_title: string;
|
|
817
813
|
ended: string;
|
|
818
814
|
footer_title: string;
|
|
815
|
+
multiple_files_count: (count: number) => string;
|
|
819
816
|
};
|
|
820
817
|
|
|
821
818
|
date_format: {
|
|
@@ -910,7 +907,9 @@ declare type BaseMessageProps<T> = T & {
|
|
|
910
907
|
maxBodyWidth?: number;
|
|
911
908
|
|
|
912
909
|
// handlers
|
|
910
|
+
/** @deprecated Use onClickMediaFiles instead */
|
|
913
911
|
onClickMedia?: (params: { url: string; type: string }) => void;
|
|
912
|
+
onClickMediaFiles?: (params: { files: Array<{ url: string; type: string; name?: string }>; index: number }) => void;
|
|
914
913
|
onClickFile?: (params: { url: string; type: string }) => void;
|
|
915
914
|
|
|
916
915
|
children?: ReactNode;
|
|
@@ -1055,11 +1054,11 @@ declare interface ConversationHeaderTemplateProps {
|
|
|
1055
1054
|
}
|
|
1056
1055
|
|
|
1057
1056
|
declare class ConversationInitialRenderStats extends AIAgentBaseStats {
|
|
1058
|
-
private presentMethod: PresentMethod;
|
|
1057
|
+
private presentMethod: PresentMethod = 'direct_present';
|
|
1059
1058
|
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
this
|
|
1059
|
+
setPresentMethod(method: PresentMethod): this {
|
|
1060
|
+
this.presentMethod = method;
|
|
1061
|
+
return this;
|
|
1063
1062
|
}
|
|
1064
1063
|
|
|
1065
1064
|
protected getMetricKey(): string {
|
|
@@ -1102,18 +1101,18 @@ declare class ConversationInitialRenderStats extends AIAgentBaseStats {
|
|
|
1102
1101
|
*/
|
|
1103
1102
|
declare class ConversationInitialRenderStatsTracker {
|
|
1104
1103
|
private readonly commitCallback: StatsAppendCallback;
|
|
1105
|
-
private
|
|
1104
|
+
private presentMethod: PresentMethod = 'direct_present';
|
|
1106
1105
|
private stats: ConversationInitialRenderStats | null = null;
|
|
1107
1106
|
|
|
1108
|
-
constructor(commitCallback: StatsAppendCallback
|
|
1107
|
+
constructor(commitCallback: StatsAppendCallback) {
|
|
1109
1108
|
this.commitCallback = commitCallback;
|
|
1110
|
-
this.presentMethod = presentMethod;
|
|
1111
1109
|
}
|
|
1112
1110
|
|
|
1113
1111
|
private getOrCreateStats(): ConversationInitialRenderStats {
|
|
1114
1112
|
if (!this.stats || this.stats.isCommitted()) {
|
|
1115
|
-
this.stats = new ConversationInitialRenderStats(
|
|
1116
|
-
|
|
1113
|
+
this.stats = new ConversationInitialRenderStats()
|
|
1114
|
+
.setCommitCallback(this.commitCallback)
|
|
1115
|
+
.setPresentMethod(this.presentMethod);
|
|
1117
1116
|
}
|
|
1118
1117
|
return this.stats;
|
|
1119
1118
|
}
|
|
@@ -1189,6 +1188,11 @@ declare class ConversationInitialRenderStatsTracker {
|
|
|
1189
1188
|
this.stats?.commit();
|
|
1190
1189
|
}
|
|
1191
1190
|
|
|
1191
|
+
setPresentMethod(method: PresentMethod): void {
|
|
1192
|
+
this.presentMethod = method;
|
|
1193
|
+
this.stats?.setPresentMethod(method);
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1192
1196
|
clear(): void {
|
|
1193
1197
|
this.stats = null;
|
|
1194
1198
|
}
|
|
@@ -1693,6 +1697,10 @@ declare const icons: {
|
|
|
1693
1697
|
readonly 'good-filled': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
|
|
1694
1698
|
readonly 'bad-filled': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
|
|
1695
1699
|
readonly delight: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
|
|
1700
|
+
readonly photo: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
|
|
1701
|
+
readonly 'arrow-left': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
|
|
1702
|
+
readonly add: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
|
|
1703
|
+
readonly document: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
|
|
1696
1704
|
};
|
|
1697
1705
|
|
|
1698
1706
|
declare type IconType = keyof typeof icons;
|
|
@@ -1735,6 +1743,10 @@ BaseMessageProps<{
|
|
|
1735
1743
|
messageTemplateLoadingFallback?: ReactNode;
|
|
1736
1744
|
}>;
|
|
1737
1745
|
|
|
1746
|
+
declare function IncomingFileBody({ file, children, onClickFile }: IncomingMessageProps<'file'>): JSX.Element;
|
|
1747
|
+
|
|
1748
|
+
declare function IncomingMediaBody({ file, onClickMedia, onClickMediaFiles, children, }: IncomingMessageBodyProps<'file'>): JSX.Element | null;
|
|
1749
|
+
|
|
1738
1750
|
declare type IncomingMessageBodyProps<T extends MessageType = MessageType> = IncomingMessageProps<T> & {
|
|
1739
1751
|
customStyle?: {
|
|
1740
1752
|
bubbleContentColor?: string;
|
|
@@ -1751,6 +1763,10 @@ export declare const IncomingMessageLayout: {
|
|
|
1751
1763
|
SenderAvatar: ({ sender, isBotMessage, }: Pick<IncomingMessageProps, "sender" | "isBotMessage">) => ReactNode;
|
|
1752
1764
|
SentTime: ({ createdAt }: Pick<IncomingMessageProps, "createdAt">) => ReactNode;
|
|
1753
1765
|
MessageBody: (props: IncomingMessageBodyProps) => ReactNode;
|
|
1766
|
+
TextMessageBody: typeof IncomingTextBody;
|
|
1767
|
+
MediaMessageBody: typeof IncomingMediaBody;
|
|
1768
|
+
FileMessageBody: typeof IncomingFileBody;
|
|
1769
|
+
MultipleFilesMessageBody: ({ files, children, onClickMedia, onClickMediaFiles, }: IncomingMessageBodyProps<"multipleFiles">) => JSX.Element;
|
|
1754
1770
|
TypingIndicator: ({ customStyle }: IncomingMessageProps & {
|
|
1755
1771
|
customStyle?: {
|
|
1756
1772
|
bubbleContentColor?: string;
|
|
@@ -1820,6 +1836,14 @@ export declare const IncomingMessageLayout: {
|
|
|
1820
1836
|
url: string;
|
|
1821
1837
|
type: string;
|
|
1822
1838
|
}) => void;
|
|
1839
|
+
onClickMediaFiles?: (params: {
|
|
1840
|
+
files: Array<{
|
|
1841
|
+
url: string;
|
|
1842
|
+
type: string;
|
|
1843
|
+
name?: string;
|
|
1844
|
+
}>;
|
|
1845
|
+
index: number;
|
|
1846
|
+
}) => void;
|
|
1823
1847
|
onClickFile?: (params: {
|
|
1824
1848
|
url: string;
|
|
1825
1849
|
type: string;
|
|
@@ -1884,6 +1908,86 @@ export declare const IncomingMessageLayout: {
|
|
|
1884
1908
|
url: string;
|
|
1885
1909
|
type: string;
|
|
1886
1910
|
}) => void;
|
|
1911
|
+
onClickMediaFiles?: (params: {
|
|
1912
|
+
files: Array<{
|
|
1913
|
+
url: string;
|
|
1914
|
+
type: string;
|
|
1915
|
+
name?: string;
|
|
1916
|
+
}>;
|
|
1917
|
+
index: number;
|
|
1918
|
+
}) => void;
|
|
1919
|
+
onClickFile?: (params: {
|
|
1920
|
+
url: string;
|
|
1921
|
+
type: string;
|
|
1922
|
+
}) => void;
|
|
1923
|
+
children?: ReactNode;
|
|
1924
|
+
}) | ({
|
|
1925
|
+
messageType: "multipleFiles";
|
|
1926
|
+
message: string;
|
|
1927
|
+
files: {
|
|
1928
|
+
type: string;
|
|
1929
|
+
url: string;
|
|
1930
|
+
name: string;
|
|
1931
|
+
}[];
|
|
1932
|
+
} & {
|
|
1933
|
+
sender: {
|
|
1934
|
+
nickname: string;
|
|
1935
|
+
profileUrl?: string;
|
|
1936
|
+
};
|
|
1937
|
+
suggestedRepliesVisible?: boolean;
|
|
1938
|
+
suggestedRepliesDirection?: "vertical" | "horizontal";
|
|
1939
|
+
isBotMessage?: boolean;
|
|
1940
|
+
isTyping?: boolean;
|
|
1941
|
+
isStreaming?: boolean;
|
|
1942
|
+
isHandedOff?: boolean;
|
|
1943
|
+
isConversationClosed?: boolean;
|
|
1944
|
+
isFeedbackEnabled?: boolean;
|
|
1945
|
+
isFeedbackCommentEnabled?: boolean;
|
|
1946
|
+
isSenderAvatarVisible?: boolean;
|
|
1947
|
+
onGetCachedMessageTemplate?: (templateKey: string) => string | null;
|
|
1948
|
+
onRequestMessageTemplate?: (templateKey: string) => Promise<string>;
|
|
1949
|
+
onHandleTemplateInternalAction?: (action: Action) => void;
|
|
1950
|
+
onClickSuggestedReply?: (params: {
|
|
1951
|
+
reply: string;
|
|
1952
|
+
}) => void;
|
|
1953
|
+
onClickCTA?: (params: {
|
|
1954
|
+
url: string;
|
|
1955
|
+
}) => void;
|
|
1956
|
+
onClickCitation?: (citation: CitationInfo) => void;
|
|
1957
|
+
onFeedbackUpdate?: (params: {
|
|
1958
|
+
rating: "good" | "bad";
|
|
1959
|
+
comment?: string;
|
|
1960
|
+
} | null) => void;
|
|
1961
|
+
onSubmitForm?: (params: {
|
|
1962
|
+
key: string;
|
|
1963
|
+
data: Record<string, FormFieldValue>;
|
|
1964
|
+
}) => Promise<void>;
|
|
1965
|
+
onCancelForm?: (params: {
|
|
1966
|
+
key: string;
|
|
1967
|
+
}) => Promise<void>;
|
|
1968
|
+
onStreamAnimationStart?: () => void;
|
|
1969
|
+
onStreamAnimationProgress?: () => void;
|
|
1970
|
+
onStreamAnimationComplete?: () => void;
|
|
1971
|
+
messageTemplateErrorFallback?: ReactNode;
|
|
1972
|
+
messageTemplateLoadingFallback?: ReactNode;
|
|
1973
|
+
} & {
|
|
1974
|
+
data?: string;
|
|
1975
|
+
createdAt?: number;
|
|
1976
|
+
extendedMessagePayload?: Partial<ExtendedMessagePayload>;
|
|
1977
|
+
groupType?: MessageGroupType;
|
|
1978
|
+
maxBodyWidth?: number;
|
|
1979
|
+
onClickMedia?: (params: {
|
|
1980
|
+
url: string;
|
|
1981
|
+
type: string;
|
|
1982
|
+
}) => void;
|
|
1983
|
+
onClickMediaFiles?: (params: {
|
|
1984
|
+
files: Array<{
|
|
1985
|
+
url: string;
|
|
1986
|
+
type: string;
|
|
1987
|
+
name?: string;
|
|
1988
|
+
}>;
|
|
1989
|
+
index: number;
|
|
1990
|
+
}) => void;
|
|
1887
1991
|
onClickFile?: (params: {
|
|
1888
1992
|
url: string;
|
|
1889
1993
|
type: string;
|
|
@@ -1906,6 +2010,10 @@ export declare const IncomingMessageLayout: {
|
|
|
1906
2010
|
SenderAvatar: ({ sender, isBotMessage, }: Pick<IncomingMessageProps, "sender" | "isBotMessage">) => ReactNode;
|
|
1907
2011
|
SentTime: ({ createdAt }: Pick<IncomingMessageProps, "createdAt">) => ReactNode;
|
|
1908
2012
|
MessageBody: (props: IncomingMessageBodyProps) => ReactNode;
|
|
2013
|
+
TextMessageBody: typeof IncomingTextBody;
|
|
2014
|
+
MediaMessageBody: typeof IncomingMediaBody;
|
|
2015
|
+
FileMessageBody: typeof IncomingFileBody;
|
|
2016
|
+
MultipleFilesMessageBody: ({ files, children, onClickMedia, onClickMediaFiles, }: IncomingMessageBodyProps<"multipleFiles">) => JSX.Element;
|
|
1909
2017
|
TypingIndicator: ({ customStyle }: IncomingMessageProps & {
|
|
1910
2018
|
customStyle?: {
|
|
1911
2019
|
bubbleContentColor?: string;
|
|
@@ -1975,6 +2083,14 @@ export declare const IncomingMessageLayout: {
|
|
|
1975
2083
|
url: string;
|
|
1976
2084
|
type: string;
|
|
1977
2085
|
}) => void;
|
|
2086
|
+
onClickMediaFiles?: (params: {
|
|
2087
|
+
files: Array<{
|
|
2088
|
+
url: string;
|
|
2089
|
+
type: string;
|
|
2090
|
+
name?: string;
|
|
2091
|
+
}>;
|
|
2092
|
+
index: number;
|
|
2093
|
+
}) => void;
|
|
1978
2094
|
onClickFile?: (params: {
|
|
1979
2095
|
url: string;
|
|
1980
2096
|
type: string;
|
|
@@ -2039,6 +2155,86 @@ export declare const IncomingMessageLayout: {
|
|
|
2039
2155
|
url: string;
|
|
2040
2156
|
type: string;
|
|
2041
2157
|
}) => void;
|
|
2158
|
+
onClickMediaFiles?: (params: {
|
|
2159
|
+
files: Array<{
|
|
2160
|
+
url: string;
|
|
2161
|
+
type: string;
|
|
2162
|
+
name?: string;
|
|
2163
|
+
}>;
|
|
2164
|
+
index: number;
|
|
2165
|
+
}) => void;
|
|
2166
|
+
onClickFile?: (params: {
|
|
2167
|
+
url: string;
|
|
2168
|
+
type: string;
|
|
2169
|
+
}) => void;
|
|
2170
|
+
children?: ReactNode;
|
|
2171
|
+
}) | ({
|
|
2172
|
+
messageType: "multipleFiles";
|
|
2173
|
+
message: string;
|
|
2174
|
+
files: {
|
|
2175
|
+
type: string;
|
|
2176
|
+
url: string;
|
|
2177
|
+
name: string;
|
|
2178
|
+
}[];
|
|
2179
|
+
} & {
|
|
2180
|
+
sender: {
|
|
2181
|
+
nickname: string;
|
|
2182
|
+
profileUrl?: string;
|
|
2183
|
+
};
|
|
2184
|
+
suggestedRepliesVisible?: boolean;
|
|
2185
|
+
suggestedRepliesDirection?: "vertical" | "horizontal";
|
|
2186
|
+
isBotMessage?: boolean;
|
|
2187
|
+
isTyping?: boolean;
|
|
2188
|
+
isStreaming?: boolean;
|
|
2189
|
+
isHandedOff?: boolean;
|
|
2190
|
+
isConversationClosed?: boolean;
|
|
2191
|
+
isFeedbackEnabled?: boolean;
|
|
2192
|
+
isFeedbackCommentEnabled?: boolean;
|
|
2193
|
+
isSenderAvatarVisible?: boolean;
|
|
2194
|
+
onGetCachedMessageTemplate?: (templateKey: string) => string | null;
|
|
2195
|
+
onRequestMessageTemplate?: (templateKey: string) => Promise<string>;
|
|
2196
|
+
onHandleTemplateInternalAction?: (action: Action) => void;
|
|
2197
|
+
onClickSuggestedReply?: (params: {
|
|
2198
|
+
reply: string;
|
|
2199
|
+
}) => void;
|
|
2200
|
+
onClickCTA?: (params: {
|
|
2201
|
+
url: string;
|
|
2202
|
+
}) => void;
|
|
2203
|
+
onClickCitation?: (citation: CitationInfo) => void;
|
|
2204
|
+
onFeedbackUpdate?: (params: {
|
|
2205
|
+
rating: "good" | "bad";
|
|
2206
|
+
comment?: string;
|
|
2207
|
+
} | null) => void;
|
|
2208
|
+
onSubmitForm?: (params: {
|
|
2209
|
+
key: string;
|
|
2210
|
+
data: Record<string, FormFieldValue>;
|
|
2211
|
+
}) => Promise<void>;
|
|
2212
|
+
onCancelForm?: (params: {
|
|
2213
|
+
key: string;
|
|
2214
|
+
}) => Promise<void>;
|
|
2215
|
+
onStreamAnimationStart?: () => void;
|
|
2216
|
+
onStreamAnimationProgress?: () => void;
|
|
2217
|
+
onStreamAnimationComplete?: () => void;
|
|
2218
|
+
messageTemplateErrorFallback?: ReactNode;
|
|
2219
|
+
messageTemplateLoadingFallback?: ReactNode;
|
|
2220
|
+
} & {
|
|
2221
|
+
data?: string;
|
|
2222
|
+
createdAt?: number;
|
|
2223
|
+
extendedMessagePayload?: Partial<ExtendedMessagePayload>;
|
|
2224
|
+
groupType?: MessageGroupType;
|
|
2225
|
+
maxBodyWidth?: number;
|
|
2226
|
+
onClickMedia?: (params: {
|
|
2227
|
+
url: string;
|
|
2228
|
+
type: string;
|
|
2229
|
+
}) => void;
|
|
2230
|
+
onClickMediaFiles?: (params: {
|
|
2231
|
+
files: Array<{
|
|
2232
|
+
url: string;
|
|
2233
|
+
type: string;
|
|
2234
|
+
name?: string;
|
|
2235
|
+
}>;
|
|
2236
|
+
index: number;
|
|
2237
|
+
}) => void;
|
|
2042
2238
|
onClickFile?: (params: {
|
|
2043
2239
|
url: string;
|
|
2044
2240
|
type: string;
|
|
@@ -2056,6 +2252,10 @@ export declare const IncomingMessageLayout: {
|
|
|
2056
2252
|
SenderAvatar: ({ sender, isBotMessage, }: Pick<IncomingMessageProps, "sender" | "isBotMessage">) => ReactNode;
|
|
2057
2253
|
SentTime: ({ createdAt }: Pick<IncomingMessageProps, "createdAt">) => ReactNode;
|
|
2058
2254
|
MessageBody: (props: IncomingMessageBodyProps) => ReactNode;
|
|
2255
|
+
TextMessageBody: typeof IncomingTextBody;
|
|
2256
|
+
MediaMessageBody: typeof IncomingMediaBody;
|
|
2257
|
+
FileMessageBody: typeof IncomingFileBody;
|
|
2258
|
+
MultipleFilesMessageBody: ({ files, children, onClickMedia, onClickMediaFiles, }: IncomingMessageBodyProps<"multipleFiles">) => JSX.Element;
|
|
2059
2259
|
TypingIndicator: ({ customStyle }: IncomingMessageProps & {
|
|
2060
2260
|
customStyle?: {
|
|
2061
2261
|
bubbleContentColor?: string;
|
|
@@ -2125,6 +2325,14 @@ export declare const IncomingMessageLayout: {
|
|
|
2125
2325
|
url: string;
|
|
2126
2326
|
type: string;
|
|
2127
2327
|
}) => void;
|
|
2328
|
+
onClickMediaFiles?: (params: {
|
|
2329
|
+
files: Array<{
|
|
2330
|
+
url: string;
|
|
2331
|
+
type: string;
|
|
2332
|
+
name?: string;
|
|
2333
|
+
}>;
|
|
2334
|
+
index: number;
|
|
2335
|
+
}) => void;
|
|
2128
2336
|
onClickFile?: (params: {
|
|
2129
2337
|
url: string;
|
|
2130
2338
|
type: string;
|
|
@@ -2189,6 +2397,86 @@ export declare const IncomingMessageLayout: {
|
|
|
2189
2397
|
url: string;
|
|
2190
2398
|
type: string;
|
|
2191
2399
|
}) => void;
|
|
2400
|
+
onClickMediaFiles?: (params: {
|
|
2401
|
+
files: Array<{
|
|
2402
|
+
url: string;
|
|
2403
|
+
type: string;
|
|
2404
|
+
name?: string;
|
|
2405
|
+
}>;
|
|
2406
|
+
index: number;
|
|
2407
|
+
}) => void;
|
|
2408
|
+
onClickFile?: (params: {
|
|
2409
|
+
url: string;
|
|
2410
|
+
type: string;
|
|
2411
|
+
}) => void;
|
|
2412
|
+
children?: ReactNode;
|
|
2413
|
+
}) | ({
|
|
2414
|
+
messageType: "multipleFiles";
|
|
2415
|
+
message: string;
|
|
2416
|
+
files: {
|
|
2417
|
+
type: string;
|
|
2418
|
+
url: string;
|
|
2419
|
+
name: string;
|
|
2420
|
+
}[];
|
|
2421
|
+
} & {
|
|
2422
|
+
sender: {
|
|
2423
|
+
nickname: string;
|
|
2424
|
+
profileUrl?: string;
|
|
2425
|
+
};
|
|
2426
|
+
suggestedRepliesVisible?: boolean;
|
|
2427
|
+
suggestedRepliesDirection?: "vertical" | "horizontal";
|
|
2428
|
+
isBotMessage?: boolean;
|
|
2429
|
+
isTyping?: boolean;
|
|
2430
|
+
isStreaming?: boolean;
|
|
2431
|
+
isHandedOff?: boolean;
|
|
2432
|
+
isConversationClosed?: boolean;
|
|
2433
|
+
isFeedbackEnabled?: boolean;
|
|
2434
|
+
isFeedbackCommentEnabled?: boolean;
|
|
2435
|
+
isSenderAvatarVisible?: boolean;
|
|
2436
|
+
onGetCachedMessageTemplate?: (templateKey: string) => string | null;
|
|
2437
|
+
onRequestMessageTemplate?: (templateKey: string) => Promise<string>;
|
|
2438
|
+
onHandleTemplateInternalAction?: (action: Action) => void;
|
|
2439
|
+
onClickSuggestedReply?: (params: {
|
|
2440
|
+
reply: string;
|
|
2441
|
+
}) => void;
|
|
2442
|
+
onClickCTA?: (params: {
|
|
2443
|
+
url: string;
|
|
2444
|
+
}) => void;
|
|
2445
|
+
onClickCitation?: (citation: CitationInfo) => void;
|
|
2446
|
+
onFeedbackUpdate?: (params: {
|
|
2447
|
+
rating: "good" | "bad";
|
|
2448
|
+
comment?: string;
|
|
2449
|
+
} | null) => void;
|
|
2450
|
+
onSubmitForm?: (params: {
|
|
2451
|
+
key: string;
|
|
2452
|
+
data: Record<string, FormFieldValue>;
|
|
2453
|
+
}) => Promise<void>;
|
|
2454
|
+
onCancelForm?: (params: {
|
|
2455
|
+
key: string;
|
|
2456
|
+
}) => Promise<void>;
|
|
2457
|
+
onStreamAnimationStart?: () => void;
|
|
2458
|
+
onStreamAnimationProgress?: () => void;
|
|
2459
|
+
onStreamAnimationComplete?: () => void;
|
|
2460
|
+
messageTemplateErrorFallback?: ReactNode;
|
|
2461
|
+
messageTemplateLoadingFallback?: ReactNode;
|
|
2462
|
+
} & {
|
|
2463
|
+
data?: string;
|
|
2464
|
+
createdAt?: number;
|
|
2465
|
+
extendedMessagePayload?: Partial<ExtendedMessagePayload>;
|
|
2466
|
+
groupType?: MessageGroupType;
|
|
2467
|
+
maxBodyWidth?: number;
|
|
2468
|
+
onClickMedia?: (params: {
|
|
2469
|
+
url: string;
|
|
2470
|
+
type: string;
|
|
2471
|
+
}) => void;
|
|
2472
|
+
onClickMediaFiles?: (params: {
|
|
2473
|
+
files: Array<{
|
|
2474
|
+
url: string;
|
|
2475
|
+
type: string;
|
|
2476
|
+
name?: string;
|
|
2477
|
+
}>;
|
|
2478
|
+
index: number;
|
|
2479
|
+
}) => void;
|
|
2192
2480
|
onClickFile?: (params: {
|
|
2193
2481
|
url: string;
|
|
2194
2482
|
type: string;
|
|
@@ -2224,6 +2512,18 @@ export declare const IncomingMessageLayout: {
|
|
|
2224
2512
|
MessageBody: (props: {
|
|
2225
2513
|
component: (props: IncomingMessageBodyProps) => ReactNode;
|
|
2226
2514
|
}) => null;
|
|
2515
|
+
TextMessageBody: (props: {
|
|
2516
|
+
component: typeof IncomingTextBody;
|
|
2517
|
+
}) => null;
|
|
2518
|
+
MediaMessageBody: (props: {
|
|
2519
|
+
component: typeof IncomingMediaBody;
|
|
2520
|
+
}) => null;
|
|
2521
|
+
FileMessageBody: (props: {
|
|
2522
|
+
component: typeof IncomingFileBody;
|
|
2523
|
+
}) => null;
|
|
2524
|
+
MultipleFilesMessageBody: (props: {
|
|
2525
|
+
component: ({ files, children, onClickMedia, onClickMediaFiles, }: IncomingMessageBodyProps<"multipleFiles">) => JSX.Element;
|
|
2526
|
+
}) => null;
|
|
2227
2527
|
TypingIndicator: (props: {
|
|
2228
2528
|
component: ({ customStyle }: IncomingMessageProps & {
|
|
2229
2529
|
customStyle?: {
|
|
@@ -2290,6 +2590,14 @@ export declare const IncomingMessageLayout: {
|
|
|
2290
2590
|
url: string;
|
|
2291
2591
|
type: string;
|
|
2292
2592
|
}) => void;
|
|
2593
|
+
onClickMediaFiles?: (params: {
|
|
2594
|
+
files: Array<{
|
|
2595
|
+
url: string;
|
|
2596
|
+
type: string;
|
|
2597
|
+
name?: string;
|
|
2598
|
+
}>;
|
|
2599
|
+
index: number;
|
|
2600
|
+
}) => void;
|
|
2293
2601
|
onClickFile?: (params: {
|
|
2294
2602
|
url: string;
|
|
2295
2603
|
type: string;
|
|
@@ -2354,6 +2662,86 @@ export declare const IncomingMessageLayout: {
|
|
|
2354
2662
|
url: string;
|
|
2355
2663
|
type: string;
|
|
2356
2664
|
}) => void;
|
|
2665
|
+
onClickMediaFiles?: (params: {
|
|
2666
|
+
files: Array<{
|
|
2667
|
+
url: string;
|
|
2668
|
+
type: string;
|
|
2669
|
+
name?: string;
|
|
2670
|
+
}>;
|
|
2671
|
+
index: number;
|
|
2672
|
+
}) => void;
|
|
2673
|
+
onClickFile?: (params: {
|
|
2674
|
+
url: string;
|
|
2675
|
+
type: string;
|
|
2676
|
+
}) => void;
|
|
2677
|
+
children?: ReactNode;
|
|
2678
|
+
}) | ({
|
|
2679
|
+
messageType: "multipleFiles";
|
|
2680
|
+
message: string;
|
|
2681
|
+
files: {
|
|
2682
|
+
type: string;
|
|
2683
|
+
url: string;
|
|
2684
|
+
name: string;
|
|
2685
|
+
}[];
|
|
2686
|
+
} & {
|
|
2687
|
+
sender: {
|
|
2688
|
+
nickname: string;
|
|
2689
|
+
profileUrl?: string;
|
|
2690
|
+
};
|
|
2691
|
+
suggestedRepliesVisible?: boolean;
|
|
2692
|
+
suggestedRepliesDirection?: "vertical" | "horizontal";
|
|
2693
|
+
isBotMessage?: boolean;
|
|
2694
|
+
isTyping?: boolean;
|
|
2695
|
+
isStreaming?: boolean;
|
|
2696
|
+
isHandedOff?: boolean;
|
|
2697
|
+
isConversationClosed?: boolean;
|
|
2698
|
+
isFeedbackEnabled?: boolean;
|
|
2699
|
+
isFeedbackCommentEnabled?: boolean;
|
|
2700
|
+
isSenderAvatarVisible?: boolean;
|
|
2701
|
+
onGetCachedMessageTemplate?: (templateKey: string) => string | null;
|
|
2702
|
+
onRequestMessageTemplate?: (templateKey: string) => Promise<string>;
|
|
2703
|
+
onHandleTemplateInternalAction?: (action: Action) => void;
|
|
2704
|
+
onClickSuggestedReply?: (params: {
|
|
2705
|
+
reply: string;
|
|
2706
|
+
}) => void;
|
|
2707
|
+
onClickCTA?: (params: {
|
|
2708
|
+
url: string;
|
|
2709
|
+
}) => void;
|
|
2710
|
+
onClickCitation?: (citation: CitationInfo) => void;
|
|
2711
|
+
onFeedbackUpdate?: (params: {
|
|
2712
|
+
rating: "good" | "bad";
|
|
2713
|
+
comment?: string;
|
|
2714
|
+
} | null) => void;
|
|
2715
|
+
onSubmitForm?: (params: {
|
|
2716
|
+
key: string;
|
|
2717
|
+
data: Record<string, FormFieldValue>;
|
|
2718
|
+
}) => Promise<void>;
|
|
2719
|
+
onCancelForm?: (params: {
|
|
2720
|
+
key: string;
|
|
2721
|
+
}) => Promise<void>;
|
|
2722
|
+
onStreamAnimationStart?: () => void;
|
|
2723
|
+
onStreamAnimationProgress?: () => void;
|
|
2724
|
+
onStreamAnimationComplete?: () => void;
|
|
2725
|
+
messageTemplateErrorFallback?: ReactNode;
|
|
2726
|
+
messageTemplateLoadingFallback?: ReactNode;
|
|
2727
|
+
} & {
|
|
2728
|
+
data?: string;
|
|
2729
|
+
createdAt?: number;
|
|
2730
|
+
extendedMessagePayload?: Partial<ExtendedMessagePayload>;
|
|
2731
|
+
groupType?: MessageGroupType;
|
|
2732
|
+
maxBodyWidth?: number;
|
|
2733
|
+
onClickMedia?: (params: {
|
|
2734
|
+
url: string;
|
|
2735
|
+
type: string;
|
|
2736
|
+
}) => void;
|
|
2737
|
+
onClickMediaFiles?: (params: {
|
|
2738
|
+
files: Array<{
|
|
2739
|
+
url: string;
|
|
2740
|
+
type: string;
|
|
2741
|
+
name?: string;
|
|
2742
|
+
}>;
|
|
2743
|
+
index: number;
|
|
2744
|
+
}) => void;
|
|
2357
2745
|
onClickFile?: (params: {
|
|
2358
2746
|
url: string;
|
|
2359
2747
|
type: string;
|
|
@@ -2394,8 +2782,19 @@ declare type IncomingMessageUnion =
|
|
|
2394
2782
|
url: string;
|
|
2395
2783
|
name: string;
|
|
2396
2784
|
};
|
|
2785
|
+
}>
|
|
2786
|
+
| IncomingBaseMessageProps<{
|
|
2787
|
+
messageType: 'multipleFiles';
|
|
2788
|
+
message: string;
|
|
2789
|
+
files: {
|
|
2790
|
+
type: string;
|
|
2791
|
+
url: string;
|
|
2792
|
+
name: string;
|
|
2793
|
+
}[];
|
|
2397
2794
|
}>;
|
|
2398
2795
|
|
|
2796
|
+
declare function IncomingTextBody(props: IncomingMessageBodyProps): JSX.Element | null;
|
|
2797
|
+
|
|
2399
2798
|
declare type InputState = {
|
|
2400
2799
|
disabled: boolean;
|
|
2401
2800
|
disabledBy:
|
|
@@ -2698,6 +3097,7 @@ declare interface MessengerSettingsResponse {
|
|
|
2698
3097
|
upload_size_limit_per_type: Record<string, number>;
|
|
2699
3098
|
supported_image_mime_types: string[];
|
|
2700
3099
|
supported_file_mime_types: string[];
|
|
3100
|
+
max_attachment_count?: number;
|
|
2701
3101
|
};
|
|
2702
3102
|
}
|
|
2703
3103
|
|
|
@@ -2758,6 +3158,10 @@ BaseMessageProps<{
|
|
|
2758
3158
|
onClickFailedMessage?: () => void;
|
|
2759
3159
|
}>;
|
|
2760
3160
|
|
|
3161
|
+
declare function OutgoingFileBody({ file, children, onClickFile, sendingStatus }: OutgoingMessageBodyProps<'file'>): JSX.Element;
|
|
3162
|
+
|
|
3163
|
+
declare function OutgoingImageBody({ sendingStatus, file, metadata, onClickMedia, onClickMediaFiles, children, }: OutgoingMessageBodyProps<'file'>): JSX.Element;
|
|
3164
|
+
|
|
2761
3165
|
declare type OutgoingMessageBodyProps<T extends MessageType_2 = MessageType_2> = OutgoingMessageProps<T> & {
|
|
2762
3166
|
customStyle?: {
|
|
2763
3167
|
bubbleContentColor?: string;
|
|
@@ -2773,6 +3177,10 @@ export declare const OutgoingMessageLayout: {
|
|
|
2773
3177
|
SendingStatus: ({ sendingStatus }: OutgoingMessageProps) => ReactNode;
|
|
2774
3178
|
SentTime: ({ createdAt }: OutgoingMessageProps) => ReactNode;
|
|
2775
3179
|
MessageBody: (props: OutgoingMessageBodyProps) => ReactNode;
|
|
3180
|
+
TextMessageBody: typeof OutgoingTextBody;
|
|
3181
|
+
MediaMessageBody: typeof OutgoingImageBody;
|
|
3182
|
+
FileMessageBody: typeof OutgoingFileBody;
|
|
3183
|
+
MultipleFilesMessageBody: ({ sendingStatus, files, metadata, onClickMedia, onClickMediaFiles, children, }: OutgoingMessageBodyProps<"multipleFiles">) => JSX.Element;
|
|
2776
3184
|
};
|
|
2777
3185
|
};
|
|
2778
3186
|
Template: ({ template, children }: {
|
|
@@ -2783,11 +3191,19 @@ export declare const OutgoingMessageLayout: {
|
|
|
2783
3191
|
SendingStatus: ({ sendingStatus }: OutgoingMessageProps) => ReactNode;
|
|
2784
3192
|
SentTime: ({ createdAt }: OutgoingMessageProps) => ReactNode;
|
|
2785
3193
|
MessageBody: (props: OutgoingMessageBodyProps) => ReactNode;
|
|
3194
|
+
TextMessageBody: typeof OutgoingTextBody;
|
|
3195
|
+
MediaMessageBody: typeof OutgoingImageBody;
|
|
3196
|
+
FileMessageBody: typeof OutgoingFileBody;
|
|
3197
|
+
MultipleFilesMessageBody: ({ sendingStatus, files, metadata, onClickMedia, onClickMediaFiles, children, }: OutgoingMessageBodyProps<"multipleFiles">) => JSX.Element;
|
|
2786
3198
|
}>>;
|
|
2787
3199
|
useContext: () => LayoutContextValue<OutgoingMessageProps, {
|
|
2788
3200
|
SendingStatus: ({ sendingStatus }: OutgoingMessageProps) => ReactNode;
|
|
2789
3201
|
SentTime: ({ createdAt }: OutgoingMessageProps) => ReactNode;
|
|
2790
3202
|
MessageBody: (props: OutgoingMessageBodyProps) => ReactNode;
|
|
3203
|
+
TextMessageBody: typeof OutgoingTextBody;
|
|
3204
|
+
MediaMessageBody: typeof OutgoingImageBody;
|
|
3205
|
+
FileMessageBody: typeof OutgoingFileBody;
|
|
3206
|
+
MultipleFilesMessageBody: ({ sendingStatus, files, metadata, onClickMedia, onClickMediaFiles, children, }: OutgoingMessageBodyProps<"multipleFiles">) => JSX.Element;
|
|
2791
3207
|
}>;
|
|
2792
3208
|
} & {
|
|
2793
3209
|
SentTime: (props: {
|
|
@@ -2796,6 +3212,18 @@ export declare const OutgoingMessageLayout: {
|
|
|
2796
3212
|
MessageBody: (props: {
|
|
2797
3213
|
component: (props: OutgoingMessageBodyProps) => ReactNode;
|
|
2798
3214
|
}) => null;
|
|
3215
|
+
TextMessageBody: (props: {
|
|
3216
|
+
component: typeof OutgoingTextBody;
|
|
3217
|
+
}) => null;
|
|
3218
|
+
MediaMessageBody: (props: {
|
|
3219
|
+
component: typeof OutgoingImageBody;
|
|
3220
|
+
}) => null;
|
|
3221
|
+
FileMessageBody: (props: {
|
|
3222
|
+
component: typeof OutgoingFileBody;
|
|
3223
|
+
}) => null;
|
|
3224
|
+
MultipleFilesMessageBody: (props: {
|
|
3225
|
+
component: ({ sendingStatus, files, metadata, onClickMedia, onClickMediaFiles, children, }: OutgoingMessageBodyProps<"multipleFiles">) => JSX.Element;
|
|
3226
|
+
}) => null;
|
|
2799
3227
|
SendingStatus: (props: {
|
|
2800
3228
|
component: ({ sendingStatus }: OutgoingMessageProps) => ReactNode;
|
|
2801
3229
|
}) => null;
|
|
@@ -2821,8 +3249,22 @@ declare type OutgoingMessageUnion =
|
|
|
2821
3249
|
aspectRatio: string;
|
|
2822
3250
|
localFile?: unknown;
|
|
2823
3251
|
};
|
|
3252
|
+
}>
|
|
3253
|
+
| OutgoingBaseMessageProps<{
|
|
3254
|
+
messageType: 'multipleFiles';
|
|
3255
|
+
message: string;
|
|
3256
|
+
files: {
|
|
3257
|
+
type: string;
|
|
3258
|
+
url: string;
|
|
3259
|
+
name: string;
|
|
3260
|
+
}[];
|
|
3261
|
+
metadata: {
|
|
3262
|
+
localFiles?: unknown[];
|
|
3263
|
+
};
|
|
2824
3264
|
}>;
|
|
2825
3265
|
|
|
3266
|
+
declare function OutgoingTextBody(props: OutgoingMessageBodyProps): JSX.Element;
|
|
3267
|
+
|
|
2826
3268
|
declare interface PaletteColor {
|
|
2827
3269
|
extraDark: string;
|
|
2828
3270
|
dark: string;
|
|
@@ -3065,8 +3507,12 @@ declare type StringSet = {
|
|
|
3065
3507
|
DATE_FORMAT__DATE_SHORT: string;
|
|
3066
3508
|
FILE_UPLOAD_NOTIFICATION__COUNT_LIMIT: string;
|
|
3067
3509
|
FILE_UPLOAD_NOTIFICATION__SIZE_LIMIT: string;
|
|
3510
|
+
FILE_UPLOAD_NOTIFICATION__FILES_EXCLUDED_BY_VALIDATION: string;
|
|
3068
3511
|
FILE_UPLOAD_NO_SUPPORTED_FILES: string;
|
|
3512
|
+
FILE_UPLOAD_PHOTOS: string;
|
|
3513
|
+
FILE_UPLOAD_FILES: string;
|
|
3069
3514
|
FILE_VIEWER__UNSUPPORT: string;
|
|
3515
|
+
IMAGE_VIEWER__DEFAULT_TITLE: string;
|
|
3070
3516
|
CSAT_TITLE_UNSUBMITTED: string;
|
|
3071
3517
|
CSAT_TITLE_SUBMITTED: string;
|
|
3072
3518
|
CSAT_CRE_TITLE: string;
|
|
@@ -3074,17 +3520,26 @@ declare type StringSet = {
|
|
|
3074
3520
|
CSAT_CRE_NOT_SOLVED: string;
|
|
3075
3521
|
CSAT_REASON_PLACEHOLDER: string;
|
|
3076
3522
|
CSAT_RATING_TITLE: string;
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3523
|
+
/**
|
|
3524
|
+
* @deprecated Use dynamic values from server payload instead.
|
|
3525
|
+
* The CSAT component now uses labels provided by the server (csatPayload.csat_scores[n].label).
|
|
3526
|
+
*/
|
|
3527
|
+
CSAT5_RATING_SCORE_1?: string;
|
|
3528
|
+
/** @deprecated Use dynamic values from server payload instead. **/
|
|
3529
|
+
CSAT5_RATING_SCORE_2?: string;
|
|
3530
|
+
/** @deprecated Use dynamic values from server payload instead. **/
|
|
3531
|
+
CSAT5_RATING_SCORE_3?: string;
|
|
3532
|
+
/** @deprecated Use dynamic values from server payload instead. **/
|
|
3533
|
+
CSAT5_RATING_SCORE_4?: string;
|
|
3534
|
+
/** @deprecated Use dynamic values from server payload instead. **/
|
|
3535
|
+
CSAT5_RATING_SCORE_5?: string;
|
|
3082
3536
|
CSAT_SUBMIT_LABEL: string;
|
|
3083
3537
|
CSAT_SUBMISSION_EXPIRED: string;
|
|
3084
3538
|
TALK_TO_AGENT: string;
|
|
3085
3539
|
CONVERSATION_LIST__HEADER_TITLE: string;
|
|
3086
3540
|
CONVERSATION_LIST__NO_CONVERSATIONS: string;
|
|
3087
3541
|
CONVERSATION_LIST__ENDED: string;
|
|
3542
|
+
CONVERSATION_LIST__MULTIPLE_FILES_COUNT: (count: number) => string;
|
|
3088
3543
|
CITATION_SOURCE_TITLE: string;
|
|
3089
3544
|
FORM_PLACEHOLDER: string;
|
|
3090
3545
|
FORM_UNAVAILABLE: string;
|
|
@@ -3113,6 +3568,11 @@ declare type StringSet = {
|
|
|
3113
3568
|
A11Y_SCROLL_TO_BOTTOM: string;
|
|
3114
3569
|
A11Y_SCROLL_TO_NEW_MESSAGES: string;
|
|
3115
3570
|
A11Y_OPEN_CONVERSATION_LIST: string;
|
|
3571
|
+
A11Y_IMAGE_VIEWER_CLOSE: string;
|
|
3572
|
+
A11Y_IMAGE_VIEWER_PREVIOUS: string;
|
|
3573
|
+
A11Y_IMAGE_VIEWER_NEXT: string;
|
|
3574
|
+
A11Y_IMAGE_VIEWER_DOWNLOAD: string;
|
|
3575
|
+
A11Y_ATTACH_FILE: string;
|
|
3116
3576
|
SCROLL_TO_NEW_MESSAGES_LABEL: (messages: BaseMessage[]) => string;
|
|
3117
3577
|
/** @deprecated Please use DATE_FORMAT__DATE_SHORT instead. **/
|
|
3118
3578
|
DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE: string;
|