@cleartrip/talos-use-chat-controller 1.1.0-TEST.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/ChatDispatcherProvider.d.ts +34 -0
- package/dist/ChatDispatcherProvider.d.ts.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/mocks/PreviousChat.d.ts +426 -0
- package/dist/mocks/PreviousChat.d.ts.map +1 -0
- package/dist/mocks/PreviousChatListing.d.ts +36 -0
- package/dist/mocks/PreviousChatListing.d.ts.map +1 -0
- package/dist/talos-use-chat-controller.browser.cjs.js +2 -0
- package/dist/talos-use-chat-controller.browser.cjs.js.map +1 -0
- package/dist/talos-use-chat-controller.browser.esm.js +2 -0
- package/dist/talos-use-chat-controller.browser.esm.js.map +1 -0
- package/dist/talos-use-chat-controller.cjs.js +1025 -0
- package/dist/talos-use-chat-controller.cjs.js.map +1 -0
- package/dist/talos-use-chat-controller.esm.js +1016 -0
- package/dist/talos-use-chat-controller.esm.js.map +1 -0
- package/dist/talos-use-chat-controller.umd.js +1243 -0
- package/dist/talos-use-chat-controller.umd.js.map +1 -0
- package/dist/type.d.ts +46 -0
- package/dist/type.d.ts.map +1 -0
- package/dist/useChatAction.d.ts +14 -0
- package/dist/useChatAction.d.ts.map +1 -0
- package/dist/useChatController.d.ts +24 -0
- package/dist/useChatController.d.ts.map +1 -0
- package/dist/util.d.ts +3 -0
- package/dist/util.d.ts.map +1 -0
- package/package.json +32 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { IAction } from "@cleartrip/talos-widget-types";
|
|
3
|
+
type Dispatch = (action: IAction) => void;
|
|
4
|
+
type DispatchAll = (actions: IAction[]) => void;
|
|
5
|
+
type HasPresented = (chatId: string, id: string) => boolean;
|
|
6
|
+
type MarkPresented = (chatId: string, id: string) => void;
|
|
7
|
+
interface IChatDispatchContextValue {
|
|
8
|
+
dispatch: Dispatch;
|
|
9
|
+
dispatchAll: DispatchAll;
|
|
10
|
+
hasPresented: HasPresented;
|
|
11
|
+
markPresented: MarkPresented;
|
|
12
|
+
}
|
|
13
|
+
interface IChatDispatchProviderProps extends IChatDispatchContextValue {
|
|
14
|
+
children: ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export declare const ChatDispatchProvider: ({ dispatch, dispatchAll, hasPresented, markPresented, children, }: IChatDispatchProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare const useDispatch: () => Dispatch;
|
|
18
|
+
export declare const useDispatchAll: () => DispatchAll;
|
|
19
|
+
export declare const useAppDispatch: () => {
|
|
20
|
+
dispatch: Dispatch;
|
|
21
|
+
dispatchAll: DispatchAll;
|
|
22
|
+
};
|
|
23
|
+
export declare const usePresentation: () => {
|
|
24
|
+
hasPresented: HasPresented;
|
|
25
|
+
markPresented: MarkPresented;
|
|
26
|
+
};
|
|
27
|
+
export declare const useChatContext: () => {
|
|
28
|
+
dispatch: Dispatch;
|
|
29
|
+
dispatchAll: DispatchAll;
|
|
30
|
+
hasPresented: HasPresented;
|
|
31
|
+
markPresented: MarkPresented;
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=ChatDispatcherProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatDispatcherProvider.d.ts","sourceRoot":"","sources":["../packages/hooks/use-chat-controller/src/ChatDispatcherProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAIxD,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAC1C,KAAK,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAChD,KAAK,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;AAC5D,KAAK,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;AAE1D,UAAU,yBAAyB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;CAChC;AAID,UAAU,0BAA2B,SAAQ,yBAAyB;IAClE,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,eAAO,MAAM,oBAAoB,sEAM9B,0BAA0B,4CAI5B,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,QAI9B,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,WAIjC,CAAC;AAEF,eAAO,MAAM,cAAc;;;CAI1B,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAI3B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;CAI1B,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as useChatController } from './useChatController';
|
|
2
|
+
export { default as useChatAction } from './useChatAction';
|
|
3
|
+
export { ChatDispatchProvider, useDispatch, useDispatchAll, useAppDispatch, usePresentation, useChatContext } from './ChatDispatcherProvider';
|
|
4
|
+
export type { IUseChatActionProps } from './useChatAction';
|
|
5
|
+
export * from './type';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../packages/hooks/use-chat-controller/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC9I,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
export declare const BOT_INTERACTION_WIDGET: {
|
|
2
|
+
type: string;
|
|
3
|
+
data: {
|
|
4
|
+
heading: {
|
|
5
|
+
type: string;
|
|
6
|
+
data: {
|
|
7
|
+
content: {
|
|
8
|
+
text: string;
|
|
9
|
+
prefixIcon: string;
|
|
10
|
+
}[];
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
dynamicSlot: {
|
|
14
|
+
type: string;
|
|
15
|
+
data: {
|
|
16
|
+
title: string;
|
|
17
|
+
description: string;
|
|
18
|
+
icon: string;
|
|
19
|
+
status: {
|
|
20
|
+
label: string;
|
|
21
|
+
id: string;
|
|
22
|
+
};
|
|
23
|
+
origin: {
|
|
24
|
+
name: string;
|
|
25
|
+
date: string;
|
|
26
|
+
time: string;
|
|
27
|
+
};
|
|
28
|
+
destination: {
|
|
29
|
+
name: string;
|
|
30
|
+
date: string;
|
|
31
|
+
time: string;
|
|
32
|
+
};
|
|
33
|
+
duration: string;
|
|
34
|
+
};
|
|
35
|
+
tracking: {};
|
|
36
|
+
};
|
|
37
|
+
highlight: {
|
|
38
|
+
type: string;
|
|
39
|
+
data: {
|
|
40
|
+
text: string;
|
|
41
|
+
variant: string;
|
|
42
|
+
color: string;
|
|
43
|
+
};
|
|
44
|
+
events: {
|
|
45
|
+
onClick: never[];
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
bodyContent: {
|
|
49
|
+
type: string;
|
|
50
|
+
data: {
|
|
51
|
+
content: {
|
|
52
|
+
text: string;
|
|
53
|
+
}[];
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
listSelection: {
|
|
57
|
+
type: string;
|
|
58
|
+
data: {
|
|
59
|
+
options: {
|
|
60
|
+
type: string;
|
|
61
|
+
data: {
|
|
62
|
+
label: string;
|
|
63
|
+
};
|
|
64
|
+
events: {
|
|
65
|
+
onClick: {
|
|
66
|
+
type: string;
|
|
67
|
+
payload: {};
|
|
68
|
+
}[];
|
|
69
|
+
};
|
|
70
|
+
}[];
|
|
71
|
+
};
|
|
72
|
+
behavior: string;
|
|
73
|
+
};
|
|
74
|
+
workflowOptions: {};
|
|
75
|
+
};
|
|
76
|
+
metaData: {
|
|
77
|
+
createdAt: string;
|
|
78
|
+
};
|
|
79
|
+
events: {
|
|
80
|
+
onLoad: {
|
|
81
|
+
type: string;
|
|
82
|
+
}[];
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
export declare const INITIAL_CHAT_AND_PREVIOUS_CHATS: {
|
|
86
|
+
messages: {
|
|
87
|
+
type: string;
|
|
88
|
+
id: string;
|
|
89
|
+
chunks: {
|
|
90
|
+
type: string;
|
|
91
|
+
data: {
|
|
92
|
+
heading: {
|
|
93
|
+
type: string;
|
|
94
|
+
data: {
|
|
95
|
+
content: {
|
|
96
|
+
text: string;
|
|
97
|
+
prefixIcon: string;
|
|
98
|
+
}[];
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
dynamicSlot: {
|
|
102
|
+
type: string;
|
|
103
|
+
data: {
|
|
104
|
+
title: string;
|
|
105
|
+
description: string;
|
|
106
|
+
icon: string;
|
|
107
|
+
status: {
|
|
108
|
+
label: string;
|
|
109
|
+
id: string;
|
|
110
|
+
};
|
|
111
|
+
origin: {
|
|
112
|
+
name: string;
|
|
113
|
+
date: string;
|
|
114
|
+
time: string;
|
|
115
|
+
};
|
|
116
|
+
destination: {
|
|
117
|
+
name: string;
|
|
118
|
+
date: string;
|
|
119
|
+
time: string;
|
|
120
|
+
};
|
|
121
|
+
duration: string;
|
|
122
|
+
};
|
|
123
|
+
tracking: {};
|
|
124
|
+
};
|
|
125
|
+
highlight: {
|
|
126
|
+
type: string;
|
|
127
|
+
data: {
|
|
128
|
+
text: string;
|
|
129
|
+
variant: string;
|
|
130
|
+
color: string;
|
|
131
|
+
};
|
|
132
|
+
events: {
|
|
133
|
+
onClick: never[];
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
bodyContent: {
|
|
137
|
+
type: string;
|
|
138
|
+
data: {
|
|
139
|
+
content: {
|
|
140
|
+
text: string;
|
|
141
|
+
}[];
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
listSelection: {
|
|
145
|
+
type: string;
|
|
146
|
+
data: {
|
|
147
|
+
options: {
|
|
148
|
+
type: string;
|
|
149
|
+
data: {
|
|
150
|
+
label: string;
|
|
151
|
+
};
|
|
152
|
+
events: {
|
|
153
|
+
onClick: {
|
|
154
|
+
type: string;
|
|
155
|
+
payload: {};
|
|
156
|
+
}[];
|
|
157
|
+
};
|
|
158
|
+
}[];
|
|
159
|
+
};
|
|
160
|
+
behavior: string;
|
|
161
|
+
};
|
|
162
|
+
workflowOptions: {};
|
|
163
|
+
};
|
|
164
|
+
metaData: {
|
|
165
|
+
createdAt: string;
|
|
166
|
+
};
|
|
167
|
+
events: {
|
|
168
|
+
onLoad: {
|
|
169
|
+
type: string;
|
|
170
|
+
}[];
|
|
171
|
+
};
|
|
172
|
+
}[];
|
|
173
|
+
metaData: {
|
|
174
|
+
createdAt: string;
|
|
175
|
+
};
|
|
176
|
+
}[];
|
|
177
|
+
pageData: {
|
|
178
|
+
isActiveChat: boolean;
|
|
179
|
+
};
|
|
180
|
+
status: string;
|
|
181
|
+
id: string;
|
|
182
|
+
};
|
|
183
|
+
export declare const PREVIOUS_CHAT_1: {
|
|
184
|
+
messages: {
|
|
185
|
+
type: string;
|
|
186
|
+
id: string;
|
|
187
|
+
chunks: {
|
|
188
|
+
type: string;
|
|
189
|
+
data: {
|
|
190
|
+
heading: {
|
|
191
|
+
type: string;
|
|
192
|
+
data: {
|
|
193
|
+
content: {
|
|
194
|
+
text: string;
|
|
195
|
+
prefixIcon: string;
|
|
196
|
+
}[];
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
dynamicSlot: {
|
|
200
|
+
type: string;
|
|
201
|
+
data: {
|
|
202
|
+
title: string;
|
|
203
|
+
description: string;
|
|
204
|
+
icon: string;
|
|
205
|
+
status: {
|
|
206
|
+
label: string;
|
|
207
|
+
id: string;
|
|
208
|
+
};
|
|
209
|
+
origin: {
|
|
210
|
+
name: string;
|
|
211
|
+
date: string;
|
|
212
|
+
time: string;
|
|
213
|
+
};
|
|
214
|
+
destination: {
|
|
215
|
+
name: string;
|
|
216
|
+
date: string;
|
|
217
|
+
time: string;
|
|
218
|
+
};
|
|
219
|
+
duration: string;
|
|
220
|
+
};
|
|
221
|
+
tracking: {};
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
metaData: {
|
|
225
|
+
createdAt: string;
|
|
226
|
+
};
|
|
227
|
+
events: {
|
|
228
|
+
onLoad: {
|
|
229
|
+
type: string;
|
|
230
|
+
}[];
|
|
231
|
+
};
|
|
232
|
+
}[];
|
|
233
|
+
metaData: {
|
|
234
|
+
createdAt: string;
|
|
235
|
+
};
|
|
236
|
+
}[];
|
|
237
|
+
pageData: {
|
|
238
|
+
title: string;
|
|
239
|
+
isActiveChat: boolean;
|
|
240
|
+
};
|
|
241
|
+
status: string;
|
|
242
|
+
id: string;
|
|
243
|
+
};
|
|
244
|
+
export declare const PREVIOUS_CHAT_2: {
|
|
245
|
+
messages: {
|
|
246
|
+
type: string;
|
|
247
|
+
id: string;
|
|
248
|
+
chunks: {
|
|
249
|
+
type: string;
|
|
250
|
+
data: {
|
|
251
|
+
heading: {
|
|
252
|
+
type: string;
|
|
253
|
+
data: {
|
|
254
|
+
content: {
|
|
255
|
+
text: string;
|
|
256
|
+
prefixIcon: string;
|
|
257
|
+
}[];
|
|
258
|
+
};
|
|
259
|
+
};
|
|
260
|
+
dynamicSlot: {
|
|
261
|
+
type: string;
|
|
262
|
+
data: {
|
|
263
|
+
title: string;
|
|
264
|
+
description: string;
|
|
265
|
+
icon: string;
|
|
266
|
+
status: {
|
|
267
|
+
label: string;
|
|
268
|
+
id: string;
|
|
269
|
+
};
|
|
270
|
+
origin: {
|
|
271
|
+
name: string;
|
|
272
|
+
date: string;
|
|
273
|
+
time: string;
|
|
274
|
+
};
|
|
275
|
+
destination: {
|
|
276
|
+
name: string;
|
|
277
|
+
date: string;
|
|
278
|
+
time: string;
|
|
279
|
+
};
|
|
280
|
+
duration: string;
|
|
281
|
+
};
|
|
282
|
+
tracking: {};
|
|
283
|
+
};
|
|
284
|
+
bodyContent: {
|
|
285
|
+
type: string;
|
|
286
|
+
data: {
|
|
287
|
+
content: {
|
|
288
|
+
text: string;
|
|
289
|
+
}[];
|
|
290
|
+
};
|
|
291
|
+
};
|
|
292
|
+
listSelection: {
|
|
293
|
+
type: string;
|
|
294
|
+
data: {
|
|
295
|
+
options: {
|
|
296
|
+
type: string;
|
|
297
|
+
data: {
|
|
298
|
+
label: string;
|
|
299
|
+
};
|
|
300
|
+
events: {
|
|
301
|
+
onClick: {
|
|
302
|
+
type: string;
|
|
303
|
+
payload: {};
|
|
304
|
+
}[];
|
|
305
|
+
};
|
|
306
|
+
}[];
|
|
307
|
+
};
|
|
308
|
+
behavior: string;
|
|
309
|
+
};
|
|
310
|
+
workflowOptions: {};
|
|
311
|
+
};
|
|
312
|
+
metaData: {
|
|
313
|
+
createdAt: string;
|
|
314
|
+
};
|
|
315
|
+
events: {
|
|
316
|
+
onLoad: {
|
|
317
|
+
type: string;
|
|
318
|
+
}[];
|
|
319
|
+
};
|
|
320
|
+
}[];
|
|
321
|
+
metaData: {
|
|
322
|
+
createdAt: string;
|
|
323
|
+
};
|
|
324
|
+
}[];
|
|
325
|
+
pageData: {
|
|
326
|
+
title: string;
|
|
327
|
+
footerSlots: {
|
|
328
|
+
type: string;
|
|
329
|
+
data: {
|
|
330
|
+
message: string;
|
|
331
|
+
};
|
|
332
|
+
behavior: string;
|
|
333
|
+
}[];
|
|
334
|
+
isActiveChat: boolean;
|
|
335
|
+
};
|
|
336
|
+
status: string;
|
|
337
|
+
id: string;
|
|
338
|
+
};
|
|
339
|
+
export declare const PREVIOUS_CHAT_3: {
|
|
340
|
+
messages: ({
|
|
341
|
+
type: string;
|
|
342
|
+
id: string;
|
|
343
|
+
chunks: {
|
|
344
|
+
type: string;
|
|
345
|
+
data: {
|
|
346
|
+
highlight: {
|
|
347
|
+
type: string;
|
|
348
|
+
data: {
|
|
349
|
+
text: string;
|
|
350
|
+
variant: string;
|
|
351
|
+
color: string;
|
|
352
|
+
};
|
|
353
|
+
events: {
|
|
354
|
+
onClick: never[];
|
|
355
|
+
};
|
|
356
|
+
};
|
|
357
|
+
bodyContent: {
|
|
358
|
+
type: string;
|
|
359
|
+
data: {
|
|
360
|
+
content: {
|
|
361
|
+
text: string;
|
|
362
|
+
}[];
|
|
363
|
+
};
|
|
364
|
+
};
|
|
365
|
+
listSelection: {
|
|
366
|
+
type: string;
|
|
367
|
+
data: {
|
|
368
|
+
options: {
|
|
369
|
+
type: string;
|
|
370
|
+
data: {
|
|
371
|
+
label: string;
|
|
372
|
+
};
|
|
373
|
+
events: {
|
|
374
|
+
onClick: {
|
|
375
|
+
type: string;
|
|
376
|
+
payload: {};
|
|
377
|
+
}[];
|
|
378
|
+
};
|
|
379
|
+
}[];
|
|
380
|
+
};
|
|
381
|
+
behavior: string;
|
|
382
|
+
};
|
|
383
|
+
workflowOptions: {};
|
|
384
|
+
};
|
|
385
|
+
metaData: {
|
|
386
|
+
createdAt: string;
|
|
387
|
+
};
|
|
388
|
+
events: {
|
|
389
|
+
onLoad: {
|
|
390
|
+
type: string;
|
|
391
|
+
}[];
|
|
392
|
+
};
|
|
393
|
+
}[];
|
|
394
|
+
metaData: {
|
|
395
|
+
createdAt: string;
|
|
396
|
+
};
|
|
397
|
+
} | {
|
|
398
|
+
type: string;
|
|
399
|
+
id: string;
|
|
400
|
+
chunks: {
|
|
401
|
+
type: string;
|
|
402
|
+
data: {
|
|
403
|
+
text: string;
|
|
404
|
+
media: never[];
|
|
405
|
+
files: never[];
|
|
406
|
+
};
|
|
407
|
+
}[];
|
|
408
|
+
metaData: {
|
|
409
|
+
createdAt: string;
|
|
410
|
+
};
|
|
411
|
+
})[];
|
|
412
|
+
pageData: {
|
|
413
|
+
title: string;
|
|
414
|
+
footerSlots: {
|
|
415
|
+
type: string;
|
|
416
|
+
data: {
|
|
417
|
+
message: string;
|
|
418
|
+
};
|
|
419
|
+
behavior: string;
|
|
420
|
+
}[];
|
|
421
|
+
isActiveChat: boolean;
|
|
422
|
+
};
|
|
423
|
+
status: string;
|
|
424
|
+
id: string;
|
|
425
|
+
};
|
|
426
|
+
//# sourceMappingURL=PreviousChat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PreviousChat.d.ts","sourceRoot":"","sources":["../../packages/hooks/use-chat-controller/src/mocks/PreviousChat.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwHlC,CAAA;AAED,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB3C,CAAA;AAuDD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmB3B,CAAA;AAiHD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B3B,CAAA;AAuFD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyJ3B,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export declare const PREVIOUS_CHAT_LISTING: {
|
|
2
|
+
response: {
|
|
3
|
+
previousChats: {
|
|
4
|
+
type: string;
|
|
5
|
+
data: {
|
|
6
|
+
list: {
|
|
7
|
+
title: string;
|
|
8
|
+
chats: {
|
|
9
|
+
type: string;
|
|
10
|
+
data: {
|
|
11
|
+
title: string;
|
|
12
|
+
status: {
|
|
13
|
+
label: string;
|
|
14
|
+
variant: string;
|
|
15
|
+
};
|
|
16
|
+
dateAndTime: string;
|
|
17
|
+
id: string;
|
|
18
|
+
};
|
|
19
|
+
events: {
|
|
20
|
+
onClick: {
|
|
21
|
+
type: string;
|
|
22
|
+
payload: {
|
|
23
|
+
id: string;
|
|
24
|
+
};
|
|
25
|
+
}[];
|
|
26
|
+
};
|
|
27
|
+
}[];
|
|
28
|
+
}[];
|
|
29
|
+
};
|
|
30
|
+
}[];
|
|
31
|
+
pageData: {
|
|
32
|
+
isActiveChat: boolean;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=PreviousChatListing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PreviousChatListing.d.ts","sourceRoot":"","sources":["../../packages/hooks/use-chat-controller/src/mocks/PreviousChatListing.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FjC,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e,t,a=require("tslib"),s=require("react"),n=require("uuid"),r=require("@cleartrip/talos-use-chat"),i=require("@cleartrip/talos-widget-types"),o=require("react/jsx-runtime"),c=function(e){var t=e.sendMessage,n=e.pushToChatStack,r=e.getPreviousChatById,o=e.handleCreateNewChat,c=s.useCallback(function(e){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,c,d;return a.__generator(this,function(a){switch(a.label){case 0:switch(s=e.type,n=e.payload,s){case i.ActionType.SEND_MESSAGE:return[3,1];case i.ActionType.GET_PREVIOUS_CHAT:return[3,3];case i.ActionType.CREATE_NEW_CHAT:return[3,5]}return[3,6];case 1:return c=n.message,[4,t(c)];case 2:return a.sent(),[3,7];case 3:return d=n.id,[4,r(d)];case 4:return a.sent(),[3,7];case 5:return o(),[3,7];case 6:console.warn("[useChatAction] Unhandled action type: ".concat(e.type)),a.label=7;case 7:return[2]}})})},[t,n]),d=s.useCallback(function(e){return a.__awaiter(void 0,void 0,void 0,function(){var t,s,n;return a.__generator(this,function(a){switch(a.label){case 0:t=0,s=e,a.label=1;case 1:return t<s.length?(n=s[t],[4,c(n)]):[3,4];case 2:a.sent(),a.label=3;case 3:return t++,[3,1];case 4:return[2]}})})},[c]);return{dispatch:c,dispatchAll:d}};exports.ChatStatus=void 0,(e=exports.ChatStatus||(exports.ChatStatus={})).ON_GOING="ON_GOING",e.CLOSED="CLOSED",exports.ChatPageType=void 0,(t=exports.ChatPageType||(exports.ChatPageType={})).CHAT="CHAT",t.PREVIOUS_CHAT_LISTING="PREVIOUS_CHAT_LISTING",t.PREVIOUS_CHAT="PREVIOUS_CHAT";var d={previousChats:[{type:"PREVIOUS_CHAT_LISTING",data:{list:[{title:"Today",chats:[{type:"PREVIOUS_CHAT_CARD",data:{title:"Cancel booking",status:{label:"closed",variant:"CLOSED"},dateAndTime:"11 Mar, 1:12 PM",id:"chat_id_1"},events:{onClick:[{type:"GET_PREVIOUS_CHAT",payload:{id:"chat_id_1"}}]}}]},{title:"Last 7 days",chats:[{type:"PREVIOUS_CHAT_CARD",data:{title:"Bus is delayed",status:{label:"closed",variant:"CLOSED"},dateAndTime:"11 Mar, 1:12 PM",id:"chat_id_2"},events:{onClick:[{type:"GET_PREVIOUS_CHAT",payload:{id:"chat_id_2"}}]}},{type:"PREVIOUS_CHAT_CARD",data:{title:"I want to cancel booking for 2 passengers",status:{label:"closed",variant:"CLOSED"},dateAndTime:"11 Mar, 1:12 PM",id:"chat_id_3"},events:{onClick:[{type:"GET_PREVIOUS_CHAT",payload:{id:"chat_id_3"}}]}}]}]}}],pageData:{isActiveChat:!1}},u={type:"BOT_INTERACTION_WIDGET",data:{heading:{type:"HEADING",data:{content:[{text:"Your ticket has been successfully cancelled!",prefixIcon:"SUCCESS_TICK"}]}},dynamicSlot:{type:"TRIP_CARD",data:{title:"Kaveri Kamaksi Travels",description:"TRIP ID: Q28742382719",icon:"BUS_ICON",status:{label:"completed",id:"COMPLETED"},origin:{name:"Thiruvananthapuram",date:"Sat, 3 Sep",time:"03:30 PM"},destination:{name:"Bangalore",date:"Sun, 4 Sep",time:"12:30 AM"},duration:"10h 20m"},tracking:{}},highlight:{type:"HIGHLIGHT",data:{text:"Refund: ₹580.00",variant:"PHONE",color:"SUCCESS"},events:{onClick:[]}},bodyContent:{type:"BODY_CONTENT",data:{content:[{text:"Please contact your bank for any details."},{text:"Is there anything else I can help you with?"}]}},listSelection:{type:"LIST_SELECT_OPTIONS",data:{options:[{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Operator cancelled the Bus"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}},{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Get driver’s contact"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}}]},behavior:"HIDE_IF_NOT_LAST_MESSAGE"},workflowOptions:{}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}},l={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[u],metaData:{createdAt:"1777552525693"}}],pageData:{isActiveChat:!0},status:"ON_GOING",id:"chat_id_1"},_={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[{type:"BOT_INTERACTION_WIDGET",data:{heading:{type:"HEADING",data:{content:[{text:"Your ticket has been successfully cancelled!",prefixIcon:"SUCCESS_TICK"}]}},dynamicSlot:{type:"TRIP_CARD",data:{title:"Kaveri Kamaksi Travels",description:"TRIP ID: Q28742382719",icon:"BUS_ICON",status:{label:"completed",id:"COMPLETED"},origin:{name:"Thiruvananthapuram",date:"Sat, 3 Sep",time:"03:30 PM"},destination:{name:"Bangalore",date:"Sun, 4 Sep",time:"12:30 AM"},duration:"10h 20m"},tracking:{}}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}}],metaData:{createdAt:"1777552525693"}}],pageData:{title:"Cancel booking",isActiveChat:!1},status:"CLOSED",id:"chat_id_1"},p={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[{type:"BOT_INTERACTION_WIDGET",data:{heading:{type:"HEADING",data:{content:[{text:"Your ticket has been successfully cancelled!",prefixIcon:"SUCCESS_TICK"}]}},dynamicSlot:{type:"TRIP_CARD",data:{title:"Kaveri Kamaksi Travels",description:"TRIP ID: Q28742382719",icon:"BUS_ICON",status:{label:"completed",id:"COMPLETED"},origin:{name:"Thiruvananthapuram",date:"Sat, 3 Sep",time:"03:30 PM"},destination:{name:"Bangalore",date:"Sun, 4 Sep",time:"12:30 AM"},duration:"10h 20m"},tracking:{}},bodyContent:{type:"BODY_CONTENT",data:{content:[{text:"Please contact your bank for any details."},{text:"Is there anything else I can help you with?"}]}},listSelection:{type:"LIST_SELECT_OPTIONS",data:{options:[{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Operator cancelled the Bus"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}},{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Get driver’s contact"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}}]},behavior:"HIDE_IF_NOT_LAST_MESSAGE"},workflowOptions:{}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}}],metaData:{createdAt:"1777552525693"}}],pageData:{title:"Bus is delayed",footerSlots:[{type:"MESSAGE_CONTAINER",data:{message:"This query was closed on 11 Mar, If you have a query regarding this trip, you can start a new chat."},behavior:"FIXED_BOTTOM"}],isActiveChat:!1},status:"CLOSED",id:"chat_id_2"},h={type:"BOT_INTERACTION_WIDGET",data:{highlight:{type:"HIGHLIGHT",data:{text:"Refund: ₹580.00",variant:"PHONE",color:"SUCCESS"},events:{onClick:[]}},bodyContent:{type:"BODY_CONTENT",data:{content:[{text:"Please contact your bank for any details."},{text:"Is there anything else I can help you with?"}]}},listSelection:{type:"LIST_SELECT_OPTIONS",data:{options:[{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Operator cancelled the Bus"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}},{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Get driver’s contact"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}}]},behavior:"HIDE_IF_NOT_LAST_MESSAGE"},workflowOptions:{}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}},S={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[h],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[h],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[h],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[h],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[h],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}}],pageData:{title:"I want to cancel booking for 2 passengers",footerSlots:[{type:"MESSAGE_CONTAINER",data:{message:"This query was closed on 11 Mar, If you have a query regarding this trip, you can start a new chat."},behavior:"FIXED_BOTTOM"}],isActiveChat:!1},status:"CLOSED",id:"chat_id_3"},E=function(){return new Promise(function(e){return setTimeout(e,5e3)})},T=s.createContext(null),C=function(){var e,t=(null!==(e=s.useContext(T))&&void 0!==e?e:{}).dispatch;if(!t)throw new Error("useDispatch must be used within ChatDispatchProvider");return t},y=function(){var e,t=(null!==(e=s.useContext(T))&&void 0!==e?e:{}).dispatchAll;if(!t)throw new Error("useDispatchAll must be used within ChatDispatchProvider");return t};exports.ChatDispatchProvider=function(e){var t=e.dispatch,s=e.dispatchAll,n=e.hasPresented,r=e.markPresented,i=e.children;return o.jsx(T.Provider,a.__assign({value:{dispatch:t,dispatchAll:s,hasPresented:n,markPresented:r}},{children:i}))},exports.useAppDispatch=function(){return{dispatch:C(),dispatchAll:y()}},exports.useChatAction=c,exports.useChatContext=function(){var e,t=null!==(e=s.useContext(T))&&void 0!==e?e:{},a=t.dispatch,n=t.dispatchAll,r=t.hasPresented,i=t.markPresented;if(!(a&&n&&r&&i))throw new Error("useChatContext must be used within ChatDispatchProvider");return{dispatch:a,dispatchAll:n,hasPresented:r,markPresented:i}},exports.useChatController=function(e){var t=r.useChat(e),o=t.chat,h=t.status,T=t.sendMessage,C=t.stop,y=s.useState({}),A=y[0],v=y[1],I=s.useState(!1),g=I[0],m=I[1],O=s.useState(!1),f=O[0],D=O[1],P=s.useState([]),N=P[0],k=P[1],M=s.useState(null),G=M[0],w=M[1],b=s.useState(!1),R=b[0],x=b[1],L=s.useRef(new Map),H=s.useCallback(function(e,t){var a,s;return null!==(s=null===(a=L.current.get(e))||void 0===a?void 0:a.has(t))&&void 0!==s&&s},[]),U=s.useCallback(function(e,t){var a=L.current.get(e);a||(a=new Set,L.current.set(e,a)),a.add(t)},[]),B=function(e,t){var a=L.current.get(e);a||(a=new Set,L.current.set(e,a)),t.forEach(function(e){return a.add(e)})},V=s.useMemo(function(){var e;return(null===(e=N[N.length-1])||void 0===e?void 0:e.id)||""},[N]),q=function(){return a.__awaiter(void 0,void 0,void 0,function(){var e,t,s,n,r;return a.__generator(this,function(i){switch(i.label){case 0:return i.trys.push([0,2,3,4]),m(!0),t=(e=l).messages,s=e.status,n=e.id,k([{type:exports.ChatPageType.CHAT,id:n}]),[4,E()];case 1:return i.sent(),B(n,t.map(function(e){return e.id})),v(function(e){var r;return a.__assign(a.__assign({},e),((r={})[n]={messages:t,status:s,id:n},r))}),[3,4];case 2:return r=i.sent(),console.error(r),[3,4];case 3:return m(!1),[7];case 4:return[2]}})})};s.useEffect(function(){q()},[]);var K=s.useCallback(function(e){e.chunk,e.chatId},[]);s.useEffect(function(){var e=o.on(r.ChatEventName.CHUNK,K);return function(){e()}},[o,K]);var W=function(e){var t=function(e){return{type:i.WidgetType.USER_MESSAGE,data:{text:e}}}(e);v(function(e){var s,r,i;return a.__assign(a.__assign({},e),((s={})[V]=a.__assign(a.__assign({},e[V]),{messages:a.__spreadArray(a.__spreadArray([],null!==(i=null===(r=e[V])||void 0===r?void 0:r.messages)&&void 0!==i?i:[],!0),[{id:n.v4(),type:"USER_MESSAGE",chunks:[t],metaData:{createdAt:Date.now()}}],!1)}),s))})},F=s.useCallback(function(e){return a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(t){switch(t.label){case 0:return W(e),a.__awaiter(void 0,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,3,4]),D(!0),[4,E()];case 1:return t.sent(),v(function(e){var t,s,r;return a.__assign(a.__assign({},e),((t={})[V]=a.__assign(a.__assign({},e[V]),{messages:a.__spreadArray(a.__spreadArray([],null!==(r=null===(s=e[V])||void 0===s?void 0:s.messages)&&void 0!==r?r:[],!0),[{id:n.v4(),type:"BOT_MESSAGE",chunks:[u],metaData:{createdAt:Date.now(),messageId:n.v4()}}],!1)}),t))}),[3,4];case 2:return e=t.sent(),console.error(e),[3,4];case 3:return D(!1),[7];case 4:return[2]}})}),[4,T(e)];case 1:return t.sent(),[2]}})})},[T,W]),Y=function(e){k(function(t){return a.__spreadArray(a.__spreadArray([],t,!0),[e],!1)})},Q=function(){k([])},j=c({sendMessage:F,pushToChatStack:Y,getPreviousChatById:function(e){return a.__awaiter(void 0,void 0,void 0,function(){var t,s,n;return a.__generator(this,function(r){switch(r.label){case 0:if(t=[_,p,S],A.hasOwnProperty(e))return Y({type:exports.ChatPageType.PREVIOUS_CHAT,id:e}),[2];r.label=1;case 1:return r.trys.push([1,3,4,5]),m(!0),Y({type:exports.ChatPageType.PREVIOUS_CHAT,id:e}),[4,E()];case 2:return r.sent(),s=t.find(function(t){return t.id===e}),s&&(B(e,s.messages.map(function(e){return e.id})),v(function(t){var n;return a.__assign(a.__assign({},t),((n={})[e]=a.__assign(a.__assign({},t[e]),{messages:s.messages,status:s.status,pageData:s.pageData}),n))})),[3,5];case 3:return n=r.sent(),console.error(n),[3,5];case 4:return m(!1),[7];case 5:return[2]}})})},handleCreateNewChat:function(){Q(),v({}),q()}}),X=j.dispatch,z=j.dispatchAll;return{chat:o,chatStack:N,messages:A,previousChats:G,previousChatLoading:R,status:h,isInitialLoading:g,isReplyLoading:f,dispatch:X,dispatchAll:z,pushToChatStack:Y,popFromChatStack:function(){k(function(e){return e.slice(0,-1)})},getPreviousChats:function(){return a.__awaiter(void 0,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,3,4]),x(!0),[4,E()];case 1:return t.sent(),w(d),[3,4];case 2:return e=t.sent(),console.error(e),[3,4];case 3:return x(!1),[7];case 4:return[2]}})})},clearChatStack:Q,sendMessage:F,stop:C,hasPresented:H,markPresented:U}},exports.useDispatch=C,exports.useDispatchAll=y,exports.usePresentation=function(){var e,t=null!==(e=s.useContext(T))&&void 0!==e?e:{},a=t.hasPresented,n=t.markPresented;if(!a||!n)throw new Error("usePresentation must be used within ChatDispatchProvider");return{hasPresented:a,markPresented:n}};
|
|
2
|
+
//# sourceMappingURL=talos-use-chat-controller.browser.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talos-use-chat-controller.browser.cjs.js","sources":["../packages/hooks/use-chat-controller/src/type.ts","../packages/hooks/use-chat-controller/src/useChatAction.ts","../packages/hooks/use-chat-controller/src/mocks/PreviousChatListing.ts","../packages/hooks/use-chat-controller/src/mocks/PreviousChat.ts","../packages/hooks/use-chat-controller/src/useChatController.tsx","../packages/hooks/use-chat-controller/src/ChatDispatcherProvider.tsx","../packages/hooks/use-chat-controller/src/util.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["ChatStatus","ChatPageType","useChatAction","props","sendMessage","pushToChatStack","getPreviousChatById","handleCreateNewChat","dispatch","useCallback","action","__awaiter","type","payload","ActionType","SEND_MESSAGE","GET_PREVIOUS_CHAT","CREATE_NEW_CHAT","message","_b","sent","id","console","warn","concat","dispatchAll","actions","_i","actions_1","_a","PREVIOUS_CHAT_LISTING","previousChats","data","list","title","chats","status","label","variant","dateAndTime","events","onClick","pageData","isActiveChat","BOT_INTERACTION_WIDGET","heading","content","text","prefixIcon","dynamicSlot","description","icon","origin","name","date","time","destination","duration","tracking","highlight","color","bodyContent","listSelection","options","behavior","workflowOptions","metaData","createdAt","onLoad","INITIAL_CHAT_AND_PREVIOUS_CHATS","messages","chunks","PREVIOUS_CHAT_1","PREVIOUS_CHAT_2","footerSlots","BOT_INTERACTION_WIDGET_3","PREVIOUS_CHAT_3","media","files","sleep","Promise","resolve","setTimeout","ChatDispatchContext","createContext","useDispatch","useContext","Error","useDispatchAll","hasPresented","markPresented","children","_jsx","jsx","Provider","value","config","useChat","chat","baseSendMessage","stop","useState","setMessages","_c","isInitialLoading","setIsInitialLoading","_d","isReplyLoading","setIsReplyLoading","_e","chatStack","setChatStack","_f","setPreviousChats","_g","previousChatLoading","setPreviousChatLoading","presentedRef","useRef","Map","cid","current","get","has","set","Set","add","seedPresented","ids","forEach","currentChatId","useMemo","length","seedInitialChat","initialChatMessages_1","initialChatStatus_1","initialChatId_1","CHAT","map","m","prev","__assign","error","error_1","useEffect","handleChunk","chunk","chatId","removeChunkListener","on","ChatEventName","CHUNK","pushUserMessage","userMessageWidget","WidgetType","USER_MESSAGE","formUserMessageWidget","__spreadArray","uuid","Date","now","v4","messageId","error_2","item","clearChatStack","_h","MOCK_PREVIOUS_CHATS","hasOwnProperty","PREVIOUS_CHAT","previousChat_1","find","error_4","popFromChatStack","slice","getPreviousChats","error_3"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__awaiter as t,__generator as e,__assign as a,__spreadArray as n}from"tslib";import{useCallback as s,useState as r,useRef as i,useMemo as o,useEffect as c,createContext as d,useContext as u}from"react";import{v4 as l}from"uuid";import{useChat as S,ChatEventName as h}from"@cleartrip/talos-use-chat";import{ActionType as E,WidgetType as p}from"@cleartrip/talos-widget-types";import{jsx as _}from"react/jsx-runtime";var T,y,v=function(a){var n=a.sendMessage,r=a.pushToChatStack,i=a.getPreviousChatById,o=a.handleCreateNewChat,c=s(function(a){return t(void 0,void 0,void 0,function(){var t,s,r,c;return e(this,function(e){switch(e.label){case 0:switch(t=a.type,s=a.payload,t){case E.SEND_MESSAGE:return[3,1];case E.GET_PREVIOUS_CHAT:return[3,3];case E.CREATE_NEW_CHAT:return[3,5]}return[3,6];case 1:return r=s.message,[4,n(r)];case 2:return e.sent(),[3,7];case 3:return c=s.id,[4,i(c)];case 4:return e.sent(),[3,7];case 5:return o(),[3,7];case 6:console.warn("[useChatAction] Unhandled action type: ".concat(a.type)),e.label=7;case 7:return[2]}})})},[n,r]),d=s(function(a){return t(void 0,void 0,void 0,function(){var t,n,s;return e(this,function(e){switch(e.label){case 0:t=0,n=a,e.label=1;case 1:return t<n.length?(s=n[t],[4,c(s)]):[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}})})},[c]);return{dispatch:c,dispatchAll:d}};!function(t){t.ON_GOING="ON_GOING",t.CLOSED="CLOSED"}(T||(T={})),function(t){t.CHAT="CHAT",t.PREVIOUS_CHAT_LISTING="PREVIOUS_CHAT_LISTING",t.PREVIOUS_CHAT="PREVIOUS_CHAT"}(y||(y={}));var A={previousChats:[{type:"PREVIOUS_CHAT_LISTING",data:{list:[{title:"Today",chats:[{type:"PREVIOUS_CHAT_CARD",data:{title:"Cancel booking",status:{label:"closed",variant:"CLOSED"},dateAndTime:"11 Mar, 1:12 PM",id:"chat_id_1"},events:{onClick:[{type:"GET_PREVIOUS_CHAT",payload:{id:"chat_id_1"}}]}}]},{title:"Last 7 days",chats:[{type:"PREVIOUS_CHAT_CARD",data:{title:"Bus is delayed",status:{label:"closed",variant:"CLOSED"},dateAndTime:"11 Mar, 1:12 PM",id:"chat_id_2"},events:{onClick:[{type:"GET_PREVIOUS_CHAT",payload:{id:"chat_id_2"}}]}},{type:"PREVIOUS_CHAT_CARD",data:{title:"I want to cancel booking for 2 passengers",status:{label:"closed",variant:"CLOSED"},dateAndTime:"11 Mar, 1:12 PM",id:"chat_id_3"},events:{onClick:[{type:"GET_PREVIOUS_CHAT",payload:{id:"chat_id_3"}}]}}]}]}}],pageData:{isActiveChat:!1}},C={type:"BOT_INTERACTION_WIDGET",data:{heading:{type:"HEADING",data:{content:[{text:"Your ticket has been successfully cancelled!",prefixIcon:"SUCCESS_TICK"}]}},dynamicSlot:{type:"TRIP_CARD",data:{title:"Kaveri Kamaksi Travels",description:"TRIP ID: Q28742382719",icon:"BUS_ICON",status:{label:"completed",id:"COMPLETED"},origin:{name:"Thiruvananthapuram",date:"Sat, 3 Sep",time:"03:30 PM"},destination:{name:"Bangalore",date:"Sun, 4 Sep",time:"12:30 AM"},duration:"10h 20m"},tracking:{}},highlight:{type:"HIGHLIGHT",data:{text:"Refund: ₹580.00",variant:"PHONE",color:"SUCCESS"},events:{onClick:[]}},bodyContent:{type:"BODY_CONTENT",data:{content:[{text:"Please contact your bank for any details."},{text:"Is there anything else I can help you with?"}]}},listSelection:{type:"LIST_SELECT_OPTIONS",data:{options:[{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Operator cancelled the Bus"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}},{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Get driver’s contact"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}}]},behavior:"HIDE_IF_NOT_LAST_MESSAGE"},workflowOptions:{}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}},I={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[C],metaData:{createdAt:"1777552525693"}}],pageData:{isActiveChat:!0},status:"ON_GOING",id:"chat_id_1"},m={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[{type:"BOT_INTERACTION_WIDGET",data:{heading:{type:"HEADING",data:{content:[{text:"Your ticket has been successfully cancelled!",prefixIcon:"SUCCESS_TICK"}]}},dynamicSlot:{type:"TRIP_CARD",data:{title:"Kaveri Kamaksi Travels",description:"TRIP ID: Q28742382719",icon:"BUS_ICON",status:{label:"completed",id:"COMPLETED"},origin:{name:"Thiruvananthapuram",date:"Sat, 3 Sep",time:"03:30 PM"},destination:{name:"Bangalore",date:"Sun, 4 Sep",time:"12:30 AM"},duration:"10h 20m"},tracking:{}}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}}],metaData:{createdAt:"1777552525693"}}],pageData:{title:"Cancel booking",isActiveChat:!1},status:"CLOSED",id:"chat_id_1"},O={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[{type:"BOT_INTERACTION_WIDGET",data:{heading:{type:"HEADING",data:{content:[{text:"Your ticket has been successfully cancelled!",prefixIcon:"SUCCESS_TICK"}]}},dynamicSlot:{type:"TRIP_CARD",data:{title:"Kaveri Kamaksi Travels",description:"TRIP ID: Q28742382719",icon:"BUS_ICON",status:{label:"completed",id:"COMPLETED"},origin:{name:"Thiruvananthapuram",date:"Sat, 3 Sep",time:"03:30 PM"},destination:{name:"Bangalore",date:"Sun, 4 Sep",time:"12:30 AM"},duration:"10h 20m"},tracking:{}},bodyContent:{type:"BODY_CONTENT",data:{content:[{text:"Please contact your bank for any details."},{text:"Is there anything else I can help you with?"}]}},listSelection:{type:"LIST_SELECT_OPTIONS",data:{options:[{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Operator cancelled the Bus"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}},{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Get driver’s contact"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}}]},behavior:"HIDE_IF_NOT_LAST_MESSAGE"},workflowOptions:{}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}}],metaData:{createdAt:"1777552525693"}}],pageData:{title:"Bus is delayed",footerSlots:[{type:"MESSAGE_CONTAINER",data:{message:"This query was closed on 11 Mar, If you have a query regarding this trip, you can start a new chat."},behavior:"FIXED_BOTTOM"}],isActiveChat:!1},status:"CLOSED",id:"chat_id_2"},f={type:"BOT_INTERACTION_WIDGET",data:{highlight:{type:"HIGHLIGHT",data:{text:"Refund: ₹580.00",variant:"PHONE",color:"SUCCESS"},events:{onClick:[]}},bodyContent:{type:"BODY_CONTENT",data:{content:[{text:"Please contact your bank for any details."},{text:"Is there anything else I can help you with?"}]}},listSelection:{type:"LIST_SELECT_OPTIONS",data:{options:[{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Operator cancelled the Bus"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}},{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Get driver’s contact"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}}]},behavior:"HIDE_IF_NOT_LAST_MESSAGE"},workflowOptions:{}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}},g={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[f],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[f],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[f],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[f],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[f],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}}],pageData:{title:"I want to cancel booking for 2 passengers",footerSlots:[{type:"MESSAGE_CONTAINER",data:{message:"This query was closed on 11 Mar, If you have a query regarding this trip, you can start a new chat."},behavior:"FIXED_BOTTOM"}],isActiveChat:!1},status:"CLOSED",id:"chat_id_3"},D=function(){return new Promise(function(t){return setTimeout(t,5e3)})},P=function(d){var u=S(d),E=u.chat,_=u.status,T=u.sendMessage,f=u.stop,P=r({}),N=P[0],M=P[1],G=r(!1),k=G[0],w=G[1],R=r(!1),b=R[0],L=R[1],H=r([]),U=H[0],B=H[1],x=r(null),V=x[0],K=x[1],W=r(!1),F=W[0],Y=W[1],q=i(new Map),Q=s(function(t,e){var a,n;return null!==(n=null===(a=q.current.get(t))||void 0===a?void 0:a.has(e))&&void 0!==n&&n},[]),X=s(function(t,e){var a=q.current.get(t);a||(a=new Set,q.current.set(t,a)),a.add(e)},[]),j=function(t,e){var a=q.current.get(t);a||(a=new Set,q.current.set(t,a)),e.forEach(function(t){return a.add(t)})},z=o(function(){var t;return(null===(t=U[U.length-1])||void 0===t?void 0:t.id)||""},[U]),J=function(){return t(void 0,void 0,void 0,function(){var t,n,s,r,i;return e(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,3,4]),w(!0),n=(t=I).messages,s=t.status,r=t.id,B([{type:y.CHAT,id:r}]),[4,D()];case 1:return e.sent(),j(r,n.map(function(t){return t.id})),M(function(t){var e;return a(a({},t),((e={})[r]={messages:n,status:s,id:r},e))}),[3,4];case 2:return i=e.sent(),console.error(i),[3,4];case 3:return w(!1),[7];case 4:return[2]}})})};c(function(){J()},[]);var Z=s(function(t){t.chunk,t.chatId},[]);c(function(){var t=E.on(h.CHUNK,Z);return function(){t()}},[E,Z]);var $=function(t){var e=function(t){return{type:p.USER_MESSAGE,data:{text:t}}}(t);M(function(t){var s,r,i;return a(a({},t),((s={})[z]=a(a({},t[z]),{messages:n(n([],null!==(i=null===(r=t[z])||void 0===r?void 0:r.messages)&&void 0!==i?i:[],!0),[{id:l(),type:"USER_MESSAGE",chunks:[e],metaData:{createdAt:Date.now()}}],!1)}),s))})},tt=s(function(s){return t(void 0,void 0,void 0,function(){return e(this,function(r){switch(r.label){case 0:return $(s),t(void 0,void 0,void 0,function(){var t;return e(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,3,4]),L(!0),[4,D()];case 1:return e.sent(),M(function(t){var e,s,r;return a(a({},t),((e={})[z]=a(a({},t[z]),{messages:n(n([],null!==(r=null===(s=t[z])||void 0===s?void 0:s.messages)&&void 0!==r?r:[],!0),[{id:l(),type:"BOT_MESSAGE",chunks:[C],metaData:{createdAt:Date.now(),messageId:l()}}],!1)}),e))}),[3,4];case 2:return t=e.sent(),console.error(t),[3,4];case 3:return L(!1),[7];case 4:return[2]}})}),[4,T(s)];case 1:return r.sent(),[2]}})})},[T,$]),et=function(t){B(function(e){return n(n([],e,!0),[t],!1)})},at=function(){B([])},nt=v({sendMessage:tt,pushToChatStack:et,getPreviousChatById:function(n){return t(void 0,void 0,void 0,function(){var t,s,r;return e(this,function(e){switch(e.label){case 0:if(t=[m,O,g],N.hasOwnProperty(n))return et({type:y.PREVIOUS_CHAT,id:n}),[2];e.label=1;case 1:return e.trys.push([1,3,4,5]),w(!0),et({type:y.PREVIOUS_CHAT,id:n}),[4,D()];case 2:return e.sent(),s=t.find(function(t){return t.id===n}),s&&(j(n,s.messages.map(function(t){return t.id})),M(function(t){var e;return a(a({},t),((e={})[n]=a(a({},t[n]),{messages:s.messages,status:s.status,pageData:s.pageData}),e))})),[3,5];case 3:return r=e.sent(),console.error(r),[3,5];case 4:return w(!1),[7];case 5:return[2]}})})},handleCreateNewChat:function(){at(),M({}),J()}}),st=nt.dispatch,rt=nt.dispatchAll;return{chat:E,chatStack:U,messages:N,previousChats:V,previousChatLoading:F,status:_,isInitialLoading:k,isReplyLoading:b,dispatch:st,dispatchAll:rt,pushToChatStack:et,popFromChatStack:function(){B(function(t){return t.slice(0,-1)})},getPreviousChats:function(){return t(void 0,void 0,void 0,function(){var t;return e(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,3,4]),Y(!0),[4,D()];case 1:return e.sent(),K(A),[3,4];case 2:return t=e.sent(),console.error(t),[3,4];case 3:return Y(!1),[7];case 4:return[2]}})})},clearChatStack:at,sendMessage:tt,stop:f,hasPresented:Q,markPresented:X}},N=d(null),M=function(t){var e=t.dispatch,n=t.dispatchAll,s=t.hasPresented,r=t.markPresented,i=t.children;return _(N.Provider,a({value:{dispatch:e,dispatchAll:n,hasPresented:s,markPresented:r}},{children:i}))},G=function(){var t,e=(null!==(t=u(N))&&void 0!==t?t:{}).dispatch;if(!e)throw new Error("useDispatch must be used within ChatDispatchProvider");return e},k=function(){var t,e=(null!==(t=u(N))&&void 0!==t?t:{}).dispatchAll;if(!e)throw new Error("useDispatchAll must be used within ChatDispatchProvider");return e},w=function(){return{dispatch:G(),dispatchAll:k()}},R=function(){var t,e=null!==(t=u(N))&&void 0!==t?t:{},a=e.hasPresented,n=e.markPresented;if(!a||!n)throw new Error("usePresentation must be used within ChatDispatchProvider");return{hasPresented:a,markPresented:n}},b=function(){var t,e=null!==(t=u(N))&&void 0!==t?t:{},a=e.dispatch,n=e.dispatchAll,s=e.hasPresented,r=e.markPresented;if(!(a&&n&&s&&r))throw new Error("useChatContext must be used within ChatDispatchProvider");return{dispatch:a,dispatchAll:n,hasPresented:s,markPresented:r}};export{M as ChatDispatchProvider,y as ChatPageType,T as ChatStatus,w as useAppDispatch,v as useChatAction,b as useChatContext,P as useChatController,G as useDispatch,k as useDispatchAll,R as usePresentation};
|
|
2
|
+
//# sourceMappingURL=talos-use-chat-controller.browser.esm.js.map
|