@servicetitan/titan-chat-ui 1.1.1 → 2.0.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.
Files changed (100) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/components/chat/__tests-cy__/chat-messages.test.js +69 -1
  3. package/dist/components/chat/__tests-cy__/chat-messages.test.js.map +1 -1
  4. package/dist/components/chat/chat-input.js +2 -2
  5. package/dist/components/chat/chat-input.js.map +1 -1
  6. package/dist/components/chat/chat-log.d.ts +8 -0
  7. package/dist/components/chat/chat-log.d.ts.map +1 -0
  8. package/dist/components/chat/chat-log.js +15 -0
  9. package/dist/components/chat/chat-log.js.map +1 -0
  10. package/dist/components/chat/chat-message-template-agent.d.ts.map +1 -1
  11. package/dist/components/chat/chat-message-template-agent.js +2 -2
  12. package/dist/components/chat/chat-message-template-agent.js.map +1 -1
  13. package/dist/components/chat/chat-message-template-user.js +2 -2
  14. package/dist/components/chat/chat-message-template-user.js.map +1 -1
  15. package/dist/components/chat/chat-message.d.ts +1 -5
  16. package/dist/components/chat/chat-message.d.ts.map +1 -1
  17. package/dist/components/chat/chat-message.js +4 -4
  18. package/dist/components/chat/chat-message.js.map +1 -1
  19. package/dist/components/chat/chat-messages.d.ts +3 -0
  20. package/dist/components/chat/chat-messages.d.ts.map +1 -1
  21. package/dist/components/chat/chat-messages.js +35 -7
  22. package/dist/components/chat/chat-messages.js.map +1 -1
  23. package/dist/components/chat/chat.d.ts.map +1 -1
  24. package/dist/components/chat/chat.js +3 -1
  25. package/dist/components/chat/chat.js.map +1 -1
  26. package/dist/components/messages/__tests-cy__/message-agent.test.js +1 -1
  27. package/dist/components/messages/__tests-cy__/message-agent.test.js.map +1 -1
  28. package/dist/components/messages/message-agent.d.ts +1 -0
  29. package/dist/components/messages/message-agent.d.ts.map +1 -1
  30. package/dist/components/messages/message-agent.js +2 -4
  31. package/dist/components/messages/message-agent.js.map +1 -1
  32. package/dist/components/messages/message-agent.module.less +29 -37
  33. package/dist/components/messages/message-footer.d.ts +1 -1
  34. package/dist/components/messages/message-footer.d.ts.map +1 -1
  35. package/dist/components/messages/message-footer.js +1 -1
  36. package/dist/components/messages/message-footer.js.map +1 -1
  37. package/dist/components/messages/message-user.js +2 -2
  38. package/dist/components/messages/message-user.js.map +1 -1
  39. package/dist/components/messages/message-user.module.less +3 -6
  40. package/dist/index.d.ts +3 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +3 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/models/__mocks__/support-chat.mock.d.ts +9 -0
  45. package/dist/models/__mocks__/support-chat.mock.d.ts.map +1 -0
  46. package/dist/models/__mocks__/support-chat.mock.js +82 -0
  47. package/dist/models/__mocks__/support-chat.mock.js.map +1 -0
  48. package/dist/models/chat-customizations.d.ts +14 -6
  49. package/dist/models/chat-customizations.d.ts.map +1 -1
  50. package/dist/models/index.d.ts +1 -0
  51. package/dist/models/index.d.ts.map +1 -1
  52. package/dist/models/index.js +1 -0
  53. package/dist/models/index.js.map +1 -1
  54. package/dist/models/support-chat.d.ts +4 -4
  55. package/dist/models/support-chat.d.ts.map +1 -1
  56. package/dist/models/support-chat.js +18 -0
  57. package/dist/models/support-chat.js.map +1 -1
  58. package/dist/stores/__mocks-cy__/chat-ui.store.mock.d.ts +6 -1
  59. package/dist/stores/__mocks-cy__/chat-ui.store.mock.d.ts.map +1 -1
  60. package/dist/stores/__mocks-cy__/chat-ui.store.mock.js +30 -0
  61. package/dist/stores/__mocks-cy__/chat-ui.store.mock.js.map +1 -1
  62. package/dist/stores/__tests__/chat-input.store.test.d.ts +2 -0
  63. package/dist/stores/__tests__/chat-input.store.test.d.ts.map +1 -0
  64. package/dist/stores/__tests__/chat-input.store.test.js +32 -0
  65. package/dist/stores/__tests__/chat-input.store.test.js.map +1 -0
  66. package/dist/stores/chat-ui.store.d.ts +19 -10
  67. package/dist/stores/chat-ui.store.d.ts.map +1 -1
  68. package/dist/stores/chat-ui.store.js +47 -48
  69. package/dist/stores/chat-ui.store.js.map +1 -1
  70. package/dist/utils/test-utils.d.ts +5 -0
  71. package/dist/utils/test-utils.d.ts.map +1 -0
  72. package/dist/utils/test-utils.js +17 -0
  73. package/dist/utils/test-utils.js.map +1 -0
  74. package/package.json +2 -2
  75. package/src/components/chat/__tests-cy__/chat-messages.test.tsx +78 -1
  76. package/src/components/chat/chat-input.tsx +4 -4
  77. package/src/components/chat/chat-log.tsx +29 -0
  78. package/src/components/chat/chat-message-template-agent.tsx +7 -3
  79. package/src/components/chat/chat-message-template-user.tsx +3 -3
  80. package/src/components/chat/chat-message.tsx +58 -52
  81. package/src/components/chat/chat-messages.tsx +55 -11
  82. package/src/components/chat/chat.tsx +14 -8
  83. package/src/components/messages/__tests-cy__/message-agent.test.tsx +1 -1
  84. package/src/components/messages/message-agent.module.less +29 -37
  85. package/src/components/messages/message-agent.module.less.d.ts +0 -1
  86. package/src/components/messages/message-agent.tsx +4 -4
  87. package/src/components/messages/message-footer.tsx +4 -3
  88. package/src/components/messages/message-user.module.less +3 -6
  89. package/src/components/messages/message-user.tsx +5 -5
  90. package/src/index.ts +3 -0
  91. package/src/models/__mocks__/support-chat.mock.ts +105 -0
  92. package/src/models/chat-customizations.ts +17 -6
  93. package/src/models/index.ts +1 -0
  94. package/src/models/support-chat.ts +22 -10
  95. package/src/stores/__mocks-cy__/chat-ui.store.mock.ts +6 -0
  96. package/src/stores/__tests__/chat-input.store.test.ts +39 -0
  97. package/src/stores/chat-ui.store.ts +54 -55
  98. package/src/utils/test-utils.ts +22 -0
  99. package/tsconfig.json +1 -2
  100. package/tsconfig.tsbuildinfo +1 -1
@@ -6,12 +6,15 @@ export declare enum ChatUiEvent {
6
6
  eventRun = "eventRun",
7
7
  eventDestroy = "eventDestroy",
8
8
  eventRestart = "eventRestart",
9
+ eventCancel = "eventCancel",
10
+ eventEndChat = "eventEndChat",
9
11
  eventRecover = "eventRecover",
10
12
  eventChasitorTyping = "eventChasitorTyping",
11
13
  eventTimerRestart = "eventTimerRestart",
12
14
  eventMessageSend = "eventMessageSend",
15
+ eventMessageSendRetry = "eventMessageSendRetry",
13
16
  eventMessageSendFile = "eventMessageSendFile",
14
- eventMessageSendRetry = "eventMessageSendRetry"
17
+ eventMessageSendFileRetry = "eventMessageSendFileRetry"
15
18
  }
16
19
  export type ChatUiEventListener<T = void> = (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void, ...args: unknown[]) => void;
17
20
  export interface IChatUiStore<T extends ChatCustomizations = ChatCustomizations> {
@@ -50,6 +53,8 @@ export interface IChatUiStore<T extends ChatCustomizations = ChatCustomizations>
50
53
  setError<T = any>(message: string, options?: ChatErrorOptions<T>): void;
51
54
  setStatus(status: ChatRunState): void;
52
55
  resetError(runState: ChatRunState): void;
56
+ reset(resetStatus?: boolean): void;
57
+ resetFile(): void;
53
58
  triggerScroll(): void;
54
59
  configure(configuration?: ChatConfiguration): void;
55
60
  run(configuration?: ChatConfiguration, data?: unknown): Promise<void>;
@@ -57,6 +62,9 @@ export interface IChatUiStore<T extends ChatCustomizations = ChatCustomizations>
57
62
  destroy(): Promise<void>;
58
63
  chasitorTyping(isTyping: boolean): Promise<void>;
59
64
  restartTimers(): Promise<void>;
65
+ restart(): Promise<void>;
66
+ cancelChat(): Promise<void>;
67
+ endChat(endReason?: ChatEndReason): Promise<void>;
60
68
  sendMessageText(messageText: string): Promise<void>;
61
69
  sendMessageRetry(message: ChatMessageModelBase): Promise<void>;
62
70
  addMessage(isAgent: boolean, message: string, data?: any): void;
@@ -66,7 +74,9 @@ export declare const CHAT_UI_STORE_TOKEN: import("@servicetitan/react-ioc").Symb
66
74
  messageTemplates: import("..").ChatMessageTemplateCustomizations;
67
75
  messages: import("..").ChatMessageCustomization[];
68
76
  messageTyping: import("..").ChatMessageTypingCustomization;
77
+ input: import("..").ChatInputCustomization;
69
78
  footerComponent: import("react").ReactNode;
79
+ loadingComponent: import("react").ReactNode;
70
80
  }>>>;
71
81
  export declare class ChatUiStore<T extends ChatCustomizations> implements IChatUiStore<T> {
72
82
  isAgentTyping: boolean;
@@ -115,13 +125,13 @@ export declare class ChatUiStore<T extends ChatCustomizations> implements IChatU
115
125
  run(configuration?: ChatConfiguration, data?: unknown): Promise<void>;
116
126
  recover(): Promise<void>;
117
127
  destroy(): Promise<void>;
118
- restart(): void;
119
- cancelChat(): void;
120
- endChat(): void;
128
+ restart(): Promise<void>;
129
+ cancelChat(): Promise<void>;
130
+ endChat(endReason?: ChatEndReason): Promise<void>;
121
131
  chasitorTyping(isTyping: boolean): Promise<void>;
122
132
  sendMessageText(message: string): Promise<void>;
123
133
  sendMessageRetry(messageModel: ChatMessageModelBase): Promise<void>;
124
- sendMessageFileRetry(messageModel: ChatMessageModelFile): void;
134
+ sendMessageFileRetry(messageModel: ChatMessageModelFile): Promise<void>;
125
135
  getParticipant(participantKey: symbol): ChatParticipantModel;
126
136
  addMessage(isAgent: boolean, message: string, data?: any): ChatMessageModelText;
127
137
  addMessageTimeout(): ChatMessageModelTimeout | undefined;
@@ -129,16 +139,15 @@ export declare class ChatUiStore<T extends ChatCustomizations> implements IChatU
129
139
  addMessageFile(file: FileDescriptor): ChatMessageModelFile;
130
140
  restartTimers(): Promise<void>;
131
141
  setMessageState(message: ChatMessageModelBase, state: ChatMessageState, data?: any): void;
142
+ resetFile(): void;
143
+ reset(resetStatus?: boolean): void;
132
144
  getLastFailedMessages(): ChatMessageModelText[];
133
145
  triggerScroll(): void;
134
- protected reset(resetStatus?: boolean): void;
135
- protected resetFile(): void;
136
146
  protected emitAsync<T>(event: string, ...args: unknown[]): Promise<void | T>;
147
+ protected addMessageInternal<T extends ChatMessageModelBase>(message: Omit<T, 'id' | 'timestamp'>): T;
148
+ protected removeMessageByType(type: string): void;
137
149
  private sendMessageTextInternal;
138
- private addMessageInternal;
139
150
  private createMessage;
140
151
  private beepIncoming;
141
- private removeMessageByType;
142
- private removeAskSupportButtons;
143
152
  }
144
153
  //# sourceMappingURL=chat-ui.store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-ui.store.d.ts","sourceRoot":"","sources":["../../src/stores/chat-ui.store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-ui.store.d.ts","sourceRoot":"","sources":["../../src/stores/chat-ui.store.ts"],"names":[],"mappings":"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"}
@@ -19,12 +19,15 @@ export var ChatUiEvent;
19
19
  ChatUiEvent["eventRun"] = "eventRun";
20
20
  ChatUiEvent["eventDestroy"] = "eventDestroy";
21
21
  ChatUiEvent["eventRestart"] = "eventRestart";
22
+ ChatUiEvent["eventCancel"] = "eventCancel";
23
+ ChatUiEvent["eventEndChat"] = "eventEndChat";
22
24
  ChatUiEvent["eventRecover"] = "eventRecover";
23
25
  ChatUiEvent["eventChasitorTyping"] = "eventChasitorTyping";
24
26
  ChatUiEvent["eventTimerRestart"] = "eventTimerRestart";
25
27
  ChatUiEvent["eventMessageSend"] = "eventMessageSend";
26
- ChatUiEvent["eventMessageSendFile"] = "eventMessageSendFile";
27
28
  ChatUiEvent["eventMessageSendRetry"] = "eventMessageSendRetry";
29
+ ChatUiEvent["eventMessageSendFile"] = "eventMessageSendFile";
30
+ ChatUiEvent["eventMessageSendFileRetry"] = "eventMessageSendFileRetry";
28
31
  })(ChatUiEvent || (ChatUiEvent = {}));
29
32
  export const CHAT_UI_STORE_TOKEN = symbolToken('CHAT_UI_STORE_TOKEN');
30
33
  let ChatUiStore = class ChatUiStore {
@@ -257,18 +260,18 @@ let ChatUiStore = class ChatUiStore {
257
260
  this.reset();
258
261
  await this.emitAsync(ChatUiEvent.eventDestroy);
259
262
  }
260
- restart() {
263
+ async restart() {
261
264
  this.reset();
262
- this.eventEmitter.emit('restart');
265
+ await this.emitAsync(ChatUiEvent.eventRestart);
263
266
  }
264
- cancelChat() {
265
- this.eventEmitter.emit('cancelChat');
267
+ async cancelChat() {
268
+ await this.emitAsync(ChatUiEvent.eventCancel);
266
269
  }
267
- endChat() {
268
- this.eventEmitter.emit('endChat');
270
+ async endChat(endReason) {
271
+ await this.emitAsync(ChatUiEvent.eventEndChat, endReason);
269
272
  }
270
273
  async chasitorTyping(isTyping) {
271
- await this.emitAsync(ChatUiEvent.eventChasitorTyping, isTyping ? 'chasitorTyping' : 'chasitorNotTyping');
274
+ await this.emitAsync(ChatUiEvent.eventChasitorTyping, isTyping);
272
275
  }
273
276
  async sendMessageText(message) {
274
277
  await this.restartTimers();
@@ -293,10 +296,10 @@ let ChatUiStore = class ChatUiStore {
293
296
  this.setMessageState(messageModel, ChatMessageState.Delivering);
294
297
  await this.emitAsync(ChatUiEvent.eventMessageSendRetry, messageModel);
295
298
  }
296
- sendMessageFileRetry(messageModel) {
299
+ async sendMessageFileRetry(messageModel) {
297
300
  this.resetError(ChatRunState.Started);
298
301
  this.setMessageState(messageModel, ChatMessageState.Delivering);
299
- this.eventEmitter.emit('sendMessageFileRetry', messageModel);
302
+ await this.emitAsync(ChatUiEvent.eventMessageSendFileRetry, messageModel);
300
303
  }
301
304
  getParticipant(participantKey) {
302
305
  const participant = this.participants[participantKey];
@@ -352,6 +355,22 @@ let ChatUiStore = class ChatUiStore {
352
355
  }
353
356
  }
354
357
  }
358
+ resetFile() {
359
+ this.currentFileMessage = undefined;
360
+ this.file = undefined;
361
+ this.isFilePickerEnabled = false;
362
+ this.triggerScroll();
363
+ }
364
+ reset(resetStatus = true) {
365
+ this.setMessages([]);
366
+ if (resetStatus) {
367
+ this.status = ChatRunState.Offline;
368
+ }
369
+ this.error = undefined;
370
+ this.isAgentTyping = false;
371
+ this.endReason = undefined;
372
+ this.resetFile();
373
+ }
355
374
  getLastFailedMessages() {
356
375
  const result = [];
357
376
  for (let i = this.messages.length - 1; i >= 0; i--) {
@@ -372,22 +391,6 @@ let ChatUiStore = class ChatUiStore {
372
391
  });
373
392
  }, 0);
374
393
  }
375
- reset(resetStatus = true) {
376
- this.setMessages([]);
377
- if (resetStatus) {
378
- this.status = ChatRunState.Offline;
379
- }
380
- this.error = undefined;
381
- this.isAgentTyping = false;
382
- this.endReason = undefined;
383
- this.resetFile();
384
- }
385
- resetFile() {
386
- this.currentFileMessage = undefined;
387
- this.file = undefined;
388
- this.isFilePickerEnabled = false;
389
- this.triggerScroll();
390
- }
391
394
  async emitAsync(event, ...args) {
392
395
  if (!this.eventEmitter.listenerCount(event)) {
393
396
  return Promise.resolve();
@@ -396,21 +399,13 @@ let ChatUiStore = class ChatUiStore {
396
399
  this.eventEmitter.emit(event, resolve, reject, ...args);
397
400
  });
398
401
  }
399
- async sendMessageTextInternal(message) {
400
- if (message.trim() === '') {
401
- return;
402
- }
403
- const messageModel = this.addMessage(false, message);
404
- await this.emitAsync(ChatUiEvent.eventMessageSend, messageModel);
405
- }
406
402
  addMessageInternal(message) {
407
403
  if (message.type === 'timeout') {
408
404
  this.removeMessageByType('timeout'); // Remove previous timeout messages
409
405
  }
410
406
  else {
411
- this.restartTimers();
407
+ this.restartTimers().then(() => { });
412
408
  }
413
- this.removeAskSupportButtons();
414
409
  const newMessage = this.createMessage(message);
415
410
  this.setMessages([...this.messages, newMessage]);
416
411
  if (message.participant.isAgent) {
@@ -418,6 +413,18 @@ let ChatUiStore = class ChatUiStore {
418
413
  }
419
414
  return newMessage;
420
415
  }
416
+ removeMessageByType(type) {
417
+ if (this.messages.some(m => m.type === type)) {
418
+ this.setMessages(this.messages.filter(m => m.type !== type));
419
+ }
420
+ }
421
+ async sendMessageTextInternal(message) {
422
+ if (message.trim() === '') {
423
+ return;
424
+ }
425
+ const messageModel = this.addMessage(false, message);
426
+ await this.emitAsync(ChatUiEvent.eventMessageSend, messageModel);
427
+ }
421
428
  createMessage(rest) {
422
429
  return {
423
430
  id: nanoid(),
@@ -439,14 +446,6 @@ let ChatUiStore = class ChatUiStore {
439
446
  this.incomingMessageSoundPromise = undefined;
440
447
  }
441
448
  }
442
- removeMessageByType(type) {
443
- if (this.messages.some(m => m.type === type)) {
444
- this.setMessages(this.messages.filter(m => m.type !== type));
445
- }
446
- }
447
- removeAskSupportButtons() {
448
- this.removeMessageByType('askSupportButtons');
449
- }
450
449
  };
451
450
  __decorate([
452
451
  observable,
@@ -627,7 +626,7 @@ __decorate([
627
626
  action,
628
627
  __metadata("design:type", Function),
629
628
  __metadata("design:paramtypes", [Object]),
630
- __metadata("design:returntype", void 0)
629
+ __metadata("design:returntype", Promise)
631
630
  ], ChatUiStore.prototype, "sendMessageFileRetry", null);
632
631
  __decorate([
633
632
  action,
@@ -668,15 +667,15 @@ __decorate([
668
667
  __decorate([
669
668
  action,
670
669
  __metadata("design:type", Function),
671
- __metadata("design:paramtypes", [Object]),
670
+ __metadata("design:paramtypes", []),
672
671
  __metadata("design:returntype", void 0)
673
- ], ChatUiStore.prototype, "reset", null);
672
+ ], ChatUiStore.prototype, "resetFile", null);
674
673
  __decorate([
675
674
  action,
676
675
  __metadata("design:type", Function),
677
- __metadata("design:paramtypes", []),
676
+ __metadata("design:paramtypes", [Object]),
678
677
  __metadata("design:returntype", void 0)
679
- ], ChatUiStore.prototype, "resetFile", null);
678
+ ], ChatUiStore.prototype, "reset", null);
680
679
  ChatUiStore = __decorate([
681
680
  injectable(),
682
681
  __metadata("design:paramtypes", [])
@@ -1 +1 @@
1
- {"version":3,"file":"chat-ui.store.js","sourceRoot":"","sources":["../../src/stores/chat-ui.store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-ui.store.js","sourceRoot":"","sources":["../../src/stores/chat-ui.store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Container } from '@servicetitan/react-ioc';
2
+ type Newable<T> = new (...args: never[]) => T;
3
+ export declare const initTestContainer: (serviceIdentifier: Newable<unknown> | Newable<unknown>[], initDependenciesFn: (container: Container) => void) => () => Container;
4
+ export {};
5
+ //# sourceMappingURL=test-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/utils/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,KAAK,OAAO,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE9C,eAAO,MAAM,iBAAiB,GAC1B,mBAAmB,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,EACxD,oBAAoB,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,oBAerD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { Container } from '@servicetitan/react-ioc';
2
+ export const initTestContainer = (serviceIdentifier, initDependenciesFn) => {
3
+ const rootContainer = new Container();
4
+ if (Array.isArray(serviceIdentifier)) {
5
+ serviceIdentifier.forEach(identifier => rootContainer.bind(identifier).toSelf());
6
+ }
7
+ else {
8
+ rootContainer.bind(serviceIdentifier).toSelf();
9
+ }
10
+ return () => {
11
+ const container = new Container();
12
+ container.parent = rootContainer;
13
+ initDependenciesFn(container);
14
+ return container;
15
+ };
16
+ };
17
+ //# sourceMappingURL=test-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/utils/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,iBAAwD,EACxD,kBAAkD,EACpD,EAAE;IACA,MAAM,aAAa,GAAG,IAAI,SAAS,EAAE,CAAC;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;SAAM,CAAC;QACJ,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;IACnD,CAAC;IAED,OAAO,GAAG,EAAE;QACR,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,SAAS,CAAC,MAAM,GAAG,aAAa,CAAC;QACjC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;AACN,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/titan-chat-ui",
3
- "version": "1.1.1",
3
+ "version": "2.0.0",
4
4
  "description": "Chat experience UI package",
5
5
  "repository": {
6
6
  "type": "git",
@@ -48,5 +48,5 @@
48
48
  "cli": {
49
49
  "webpack": false
50
50
  },
51
- "gitHead": "d2c4035c00367dcd8e83062df272047284c8fade"
51
+ "gitHead": "8d2294bfd41ba7e359158d45136505e4e596b72c"
52
52
  }
@@ -1,5 +1,6 @@
1
1
  import { Provider } from '@servicetitan/react-ioc';
2
2
  import { mount } from 'cypress/react';
3
+ import { mockChatMessageModelText } from '../../../models';
3
4
  import { CHAT_UI_STORE_TOKEN } from '../../../stores';
4
5
  import { ChatUiStoreMock } from '../../../stores/__mocks-cy__/chat-ui.store.mock';
5
6
  import { ChatMessages } from '../chat-messages';
@@ -23,7 +24,7 @@ describe('[ChatMessages]', () => {
23
24
  },
24
25
  ]}
25
26
  >
26
- <ChatMessages />
27
+ <ChatMessages messages={storeMock.messages} />
27
28
  </Provider>
28
29
  );
29
30
  };
@@ -33,4 +34,80 @@ describe('[ChatMessages]', () => {
33
34
  cy.getCy('titan-chat-messages').should('be.visible');
34
35
  cy.getCy2('chat-message-normal').should('have.length', 2);
35
36
  });
37
+
38
+ it('should render several consecutive agent messages without extra avatars', () => {
39
+ storeMock.messages = [
40
+ mockChatMessageModelText(true, {
41
+ id: 'id1',
42
+ timestamp: new Date('2023-01-01T10:10:00Z'),
43
+ message: 'Hello, this is the first message',
44
+ }),
45
+ mockChatMessageModelText(true, {
46
+ id: 'id2',
47
+ message: 'Hello, this is the second message. '.repeat(5).trim(),
48
+ timestamp: new Date('2023-01-01T10:10:59.999Z'),
49
+ }),
50
+ mockChatMessageModelText(true, {
51
+ id: 'id3',
52
+ message: 'Hello, this is the third message',
53
+ timestamp: new Date('2023-01-01T10:11:00Z'),
54
+ }),
55
+ mockChatMessageModelText(true, {
56
+ id: 'id4',
57
+ message: 'Hello, this is the forth message',
58
+ timestamp: new Date('2023-01-01T10:11:01Z'),
59
+ }),
60
+ mockChatMessageModelText(false, {
61
+ id: 'id11',
62
+ timestamp: new Date('2023-01-01T11:10:00Z'),
63
+ message: 'Hello, this is the first message',
64
+ }),
65
+ mockChatMessageModelText(false, {
66
+ id: 'id22',
67
+ message: 'Hello, this is the second message',
68
+ timestamp: new Date('2023-01-01T11:11:00Z'),
69
+ }),
70
+ mockChatMessageModelText(false, {
71
+ id: 'id33',
72
+ message: 'Hello, this is the third message',
73
+ timestamp: new Date('2023-01-01T11:12:00Z'),
74
+ }),
75
+ mockChatMessageModelText(false, {
76
+ id: 'id44',
77
+ message: 'Hello, this is the forth message',
78
+ timestamp: new Date('2023-01-01T11:12:01Z'),
79
+ }),
80
+ ];
81
+ render();
82
+
83
+ const getAgentMessages = () =>
84
+ cy.getCy2('chat-message-normal').filter('[data-cy="chat-message-agent"]');
85
+ const getUserMessages = () =>
86
+ cy.getCy2('chat-message-normal').filter('[data-cy="chat-message-user"]');
87
+ const getAvatar = (i: number) =>
88
+ getAgentMessages().eq(i).find('[data-cy="chat-avatar-bot"]');
89
+ const getTimestamp = (i: number, isUser = false) =>
90
+ (isUser ? getUserMessages() : getAgentMessages())
91
+ .eq(i)
92
+ .find(`[data-cy="chat-message-${isUser ? 'user' : 'agent'}-footer"]`);
93
+
94
+ getAgentMessages().should('have.length', 4);
95
+ getUserMessages().should('have.length', 4);
96
+
97
+ // Agent avatar should be visible only for the first message in group
98
+ getAvatar(0).should('be.visible');
99
+ getAvatar(1).should('not.exist');
100
+ getAvatar(2).should('not.exist');
101
+ getAvatar(3).should('not.exist');
102
+
103
+ // Footer with date should be visible only for the different formatted timestamps
104
+ getTimestamp(0).should('not.exist');
105
+ getTimestamp(1).should('be.visible').should('contain.text', 'agent • 10:10 AM');
106
+ getTimestamp(2).should('not.exist');
107
+ getTimestamp(3).should('be.visible').should('contain.text', 'agent • 10:11 AM');
108
+ getTimestamp(0, true).should('be.visible').should('contain.text', '11:10 AM');
109
+ getTimestamp(1, true).should('be.visible').should('contain.text', '11:11 AM');
110
+ getTimestamp(2, true).should('not.exist');
111
+ getTimestamp(3, true).should('be.visible').should('contain.text', '11:12 AM');
112
+ });
36
113
  });
@@ -1,4 +1,4 @@
1
- import { Button, Form, FormTextArea, Stack } from '@servicetitan/design-system';
1
+ import { Button, Form, FormTextArea } from '@servicetitan/design-system';
2
2
  import { provide, useDependencies } from '@servicetitan/react-ioc';
3
3
  import classNames from 'classnames';
4
4
  import { observer } from 'mobx-react';
@@ -96,8 +96,8 @@ export const ChatInput: FC<{ className?: string }> = provide({
96
96
  }, []);
97
97
 
98
98
  return (
99
- <Form className={className} onSubmit={handleSendMessage}>
100
- <Stack direction="row" spacing="2">
99
+ <Form className={classNames(className)} onSubmit={handleSendMessage}>
100
+ <div className={classNames('d-f flex-row gap-2')}>
101
101
  <FormTextArea
102
102
  ref={textareaRef}
103
103
  name="question"
@@ -136,7 +136,7 @@ export const ChatInput: FC<{ className?: string }> = provide({
136
136
  supportChatInputStore.isEmpty
137
137
  }
138
138
  />
139
- </Stack>
139
+ </div>
140
140
  </Form>
141
141
  );
142
142
  })
@@ -0,0 +1,29 @@
1
+ import { Stack } from '@servicetitan/design-system';
2
+ import { useDependencies } from '@servicetitan/react-ioc';
3
+ import { observer } from 'mobx-react';
4
+ import { FC, useEffect } from 'react';
5
+ import { ChatCustomizations } from '../../models';
6
+ import { CHAT_UI_STORE_TOKEN } from '../../stores';
7
+ import { ChatMessages } from './chat-messages';
8
+
9
+ export interface IChatProps {
10
+ className?: string;
11
+ customizations?: ChatCustomizations;
12
+ }
13
+
14
+ export const ChatLog: FC<IChatProps> = observer(({ className, customizations }) => {
15
+ const [chatUiStore] = useDependencies(CHAT_UI_STORE_TOKEN);
16
+
17
+ useEffect(() => {
18
+ chatUiStore.setCustomizationContext(customizations);
19
+ }, [chatUiStore, customizations]);
20
+
21
+ return (
22
+ <Stack direction="column" className={className} data-cy="titan-chat">
23
+ <ChatMessages
24
+ messages={chatUiStore.messages}
25
+ showTypingIndicator={chatUiStore.isAgentTyping}
26
+ />
27
+ </Stack>
28
+ );
29
+ });
@@ -7,17 +7,21 @@ import { MessageFooter } from '../messages/message-footer';
7
7
  import { useAvatarProps } from '../messages/use-avatar-props';
8
8
 
9
9
  export const ChatMessageTemplateAgent: FC<PropsWithChildren<IChatMessageProps>> = observer(
10
- ({ children, message }) => {
10
+ ({ children, message, omitAvatar, omitTimestamp }) => {
11
11
  const {
12
12
  participant: { icon, name },
13
13
  } = message;
14
14
  const firstName = useMemo(() => getFirstName(name), [name]);
15
15
  const avatarProps = useAvatarProps(name, icon);
16
-
17
16
  return (
18
17
  <MessageAgent
19
18
  avatar={avatarProps}
20
- messageFooter={<MessageFooter name={firstName} timestamp={message.timestamp} />}
19
+ omitAvatar={omitAvatar}
20
+ messageFooter={
21
+ !omitTimestamp ? (
22
+ <MessageFooter name={firstName} timestamp={message.timestamp} />
23
+ ) : undefined
24
+ }
21
25
  >
22
26
  {children}
23
27
  </MessageAgent>
@@ -8,7 +8,7 @@ import { MessageFooter } from '../messages/message-footer';
8
8
  import { MessageUser } from '../messages/message-user';
9
9
 
10
10
  export const ChatMessageTemplateUser: FC<PropsWithChildren<IChatMessageProps>> = observer(
11
- ({ children, message }) => {
11
+ ({ children, message, omitTimestamp }) => {
12
12
  const [chatUiStore] = useDependencies(CHAT_UI_STORE_TOKEN);
13
13
  const isError = message.state === ChatMessageState.Failed;
14
14
 
@@ -34,9 +34,9 @@ export const ChatMessageTemplateUser: FC<PropsWithChildren<IChatMessageProps>> =
34
34
  data-cy="titan-chat-message-user-retry"
35
35
  />
36
36
  </Eyebrow>
37
- ) : (
37
+ ) : !omitTimestamp ? (
38
38
  <MessageFooter timestamp={message.timestamp} />
39
- )
39
+ ) : null
40
40
  }
41
41
  >
42
42
  {children}