@servicetitan/titan-chat-ui 2.1.2 → 3.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 (175) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/components/chat/__tests-cy__/chat-messages.test.js +3 -5
  3. package/dist/components/chat/__tests-cy__/chat-messages.test.js.map +1 -1
  4. package/dist/components/chat/__tests-cy__/chat.test.js +2 -4
  5. package/dist/components/chat/__tests-cy__/chat.test.js.map +1 -1
  6. package/dist/components/chat/chat-error.d.ts.map +1 -1
  7. package/dist/components/chat/chat-error.js +1 -1
  8. package/dist/components/chat/chat-error.js.map +1 -1
  9. package/dist/components/chat/chat-input-file.d.ts.map +1 -1
  10. package/dist/components/chat/chat-input-file.js +1 -1
  11. package/dist/components/chat/chat-input-file.js.map +1 -1
  12. package/dist/components/chat/chat-input.d.ts.map +1 -1
  13. package/dist/components/chat/chat-input.js +1 -1
  14. package/dist/components/chat/chat-input.js.map +1 -1
  15. package/dist/components/chat/chat-log.d.ts +1 -1
  16. package/dist/components/chat/chat-log.d.ts.map +1 -1
  17. package/dist/components/chat/chat-log.js +1 -1
  18. package/dist/components/chat/chat-log.js.map +1 -1
  19. package/dist/components/chat/chat-message-template-agent.d.ts +1 -1
  20. package/dist/components/chat/chat-message-template-agent.d.ts.map +1 -1
  21. package/dist/components/chat/chat-message-template-agent.js +1 -1
  22. package/dist/components/chat/chat-message-template-agent.js.map +1 -1
  23. package/dist/components/chat/chat-message-template-user.d.ts +1 -1
  24. package/dist/components/chat/chat-message-template-user.d.ts.map +1 -1
  25. package/dist/components/chat/chat-message-template-user.js +1 -2
  26. package/dist/components/chat/chat-message-template-user.js.map +1 -1
  27. package/dist/components/chat/chat-message-typing.d.ts.map +1 -1
  28. package/dist/components/chat/chat-message-typing.js +1 -1
  29. package/dist/components/chat/chat-message-typing.js.map +1 -1
  30. package/dist/components/chat/chat-message.d.ts +1 -1
  31. package/dist/components/chat/chat-message.d.ts.map +1 -1
  32. package/dist/components/chat/chat-message.js +1 -1
  33. package/dist/components/chat/chat-message.js.map +1 -1
  34. package/dist/components/chat/chat-messages.d.ts +1 -1
  35. package/dist/components/chat/chat-messages.d.ts.map +1 -1
  36. package/dist/components/chat/chat-messages.js +1 -1
  37. package/dist/components/chat/chat-messages.js.map +1 -1
  38. package/dist/components/chat/chat-notifications.d.ts.map +1 -1
  39. package/dist/components/chat/chat-notifications.js +1 -1
  40. package/dist/components/chat/chat-notifications.js.map +1 -1
  41. package/dist/components/chat/chat-timer.d.ts.map +1 -1
  42. package/dist/components/chat/chat-timer.js +1 -1
  43. package/dist/components/chat/chat-timer.js.map +1 -1
  44. package/dist/components/chat/chat.d.ts +1 -1
  45. package/dist/components/chat/chat.d.ts.map +1 -1
  46. package/dist/components/chat/chat.js +1 -1
  47. package/dist/components/chat/chat.js.map +1 -1
  48. package/dist/components/message-content/message-content-file.d.ts +1 -1
  49. package/dist/components/message-content/message-content-file.d.ts.map +1 -1
  50. package/dist/components/message-content/message-content-file.js +1 -1
  51. package/dist/components/message-content/message-content-file.js.map +1 -1
  52. package/dist/components/message-content/message-content-text.d.ts +1 -1
  53. package/dist/components/message-content/message-content-text.d.ts.map +1 -1
  54. package/dist/components/message-content/message-content-text.js.map +1 -1
  55. package/dist/components/messages/__tests-cy__/message-agent.test.js +2 -2
  56. package/dist/components/messages/__tests-cy__/message-agent.test.js.map +1 -1
  57. package/dist/components/messages/__tests-cy__/message-system.test.js +1 -1
  58. package/dist/components/messages/__tests-cy__/message-system.test.js.map +1 -1
  59. package/dist/components/messages/__tests-cy__/message-timeout.test.js +1 -1
  60. package/dist/components/messages/__tests-cy__/message-timeout.test.js.map +1 -1
  61. package/dist/components/messages/__tests-cy__/message-typing.test.js +2 -2
  62. package/dist/components/messages/__tests-cy__/message-typing.test.js.map +1 -1
  63. package/dist/components/messages/__tests-cy__/message-user.test.js +1 -1
  64. package/dist/components/messages/__tests-cy__/message-user.test.js.map +1 -1
  65. package/dist/components/messages/message-avatar.d.ts +1 -1
  66. package/dist/components/messages/message-avatar.d.ts.map +1 -1
  67. package/dist/components/messages/message-avatar.js +1 -2
  68. package/dist/components/messages/message-avatar.js.map +1 -1
  69. package/dist/components/messages/message-footer.d.ts.map +1 -1
  70. package/dist/components/messages/message-footer.js +1 -1
  71. package/dist/components/messages/message-footer.js.map +1 -1
  72. package/dist/components/messages/use-avatar-props.d.ts +1 -1
  73. package/dist/components/messages/use-avatar-props.d.ts.map +1 -1
  74. package/dist/components/messages/use-avatar-props.js +1 -2
  75. package/dist/components/messages/use-avatar-props.js.map +1 -1
  76. package/dist/index.d.ts +1 -3
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +1 -3
  79. package/dist/index.js.map +1 -1
  80. package/dist/stores/__tests__/chat-input.store.test.js +1 -1
  81. package/dist/stores/__tests__/chat-input.store.test.js.map +1 -1
  82. package/package.json +5 -6
  83. package/src/components/chat/__tests-cy__/chat-messages.test.tsx +4 -6
  84. package/src/components/chat/__tests-cy__/chat.test.tsx +6 -6
  85. package/src/components/chat/chat-error.tsx +1 -1
  86. package/src/components/chat/chat-input-file.tsx +1 -1
  87. package/src/components/chat/chat-input.tsx +1 -1
  88. package/src/components/chat/chat-log.tsx +1 -2
  89. package/src/components/chat/chat-message-template-agent.tsx +1 -2
  90. package/src/components/chat/chat-message-template-user.tsx +5 -2
  91. package/src/components/chat/chat-message-typing.tsx +1 -1
  92. package/src/components/chat/chat-message.tsx +5 -5
  93. package/src/components/chat/chat-messages.tsx +1 -2
  94. package/src/components/chat/chat-notifications.tsx +1 -1
  95. package/src/components/chat/chat-timer.tsx +1 -1
  96. package/src/components/chat/chat.tsx +1 -2
  97. package/src/components/message-content/message-content-file.tsx +1 -1
  98. package/src/components/message-content/message-content-text.tsx +1 -1
  99. package/src/components/messages/__tests-cy__/message-agent.test.tsx +2 -2
  100. package/src/components/messages/__tests-cy__/message-system.test.tsx +1 -1
  101. package/src/components/messages/__tests-cy__/message-timeout.test.tsx +1 -1
  102. package/src/components/messages/__tests-cy__/message-typing.test.tsx +2 -2
  103. package/src/components/messages/__tests-cy__/message-user.test.tsx +1 -1
  104. package/src/components/messages/message-avatar.tsx +1 -2
  105. package/src/components/messages/message-footer.tsx +1 -1
  106. package/src/components/messages/use-avatar-props.tsx +1 -2
  107. package/src/index.ts +1 -3
  108. package/src/stores/__tests__/chat-input.store.test.ts +1 -1
  109. package/tsconfig.json +7 -2
  110. package/tsconfig.tsbuildinfo +1 -1
  111. package/dist/models/__mocks__/support-chat.mock.d.ts +0 -9
  112. package/dist/models/__mocks__/support-chat.mock.d.ts.map +0 -1
  113. package/dist/models/__mocks__/support-chat.mock.js +0 -82
  114. package/dist/models/__mocks__/support-chat.mock.js.map +0 -1
  115. package/dist/models/chat-customizations.d.ts +0 -37
  116. package/dist/models/chat-customizations.d.ts.map +0 -1
  117. package/dist/models/chat-customizations.js +0 -2
  118. package/dist/models/chat-customizations.js.map +0 -1
  119. package/dist/models/index.d.ts +0 -4
  120. package/dist/models/index.d.ts.map +0 -1
  121. package/dist/models/index.js +0 -4
  122. package/dist/models/index.js.map +0 -1
  123. package/dist/models/support-chat.d.ts +0 -76
  124. package/dist/models/support-chat.d.ts.map +0 -1
  125. package/dist/models/support-chat.js +0 -75
  126. package/dist/models/support-chat.js.map +0 -1
  127. package/dist/stores/__mocks-cy__/chat-ui.store.mock.d.ts +0 -71
  128. package/dist/stores/__mocks-cy__/chat-ui.store.mock.d.ts.map +0 -1
  129. package/dist/stores/__mocks-cy__/chat-ui.store.mock.js +0 -304
  130. package/dist/stores/__mocks-cy__/chat-ui.store.mock.js.map +0 -1
  131. package/dist/stores/__tests__/chat-ui.store.test.d.ts +0 -2
  132. package/dist/stores/__tests__/chat-ui.store.test.d.ts.map +0 -1
  133. package/dist/stores/__tests__/chat-ui.store.test.js +0 -424
  134. package/dist/stores/__tests__/chat-ui.store.test.js.map +0 -1
  135. package/dist/stores/chat-ui-backend-echo.store.d.ts +0 -13
  136. package/dist/stores/chat-ui-backend-echo.store.d.ts.map +0 -1
  137. package/dist/stores/chat-ui-backend-echo.store.js +0 -115
  138. package/dist/stores/chat-ui-backend-echo.store.js.map +0 -1
  139. package/dist/stores/chat-ui-backend.store.d.ts +0 -6
  140. package/dist/stores/chat-ui-backend.store.d.ts.map +0 -1
  141. package/dist/stores/chat-ui-backend.store.js +0 -3
  142. package/dist/stores/chat-ui-backend.store.js.map +0 -1
  143. package/dist/stores/chat-ui.store.d.ts +0 -153
  144. package/dist/stores/chat-ui.store.d.ts.map +0 -1
  145. package/dist/stores/chat-ui.store.js +0 -683
  146. package/dist/stores/chat-ui.store.js.map +0 -1
  147. package/dist/stores/index.d.ts +0 -3
  148. package/dist/stores/index.d.ts.map +0 -1
  149. package/dist/stores/index.js +0 -3
  150. package/dist/stores/index.js.map +0 -1
  151. package/dist/utils/__tests__/text-utils.test.d.ts +0 -2
  152. package/dist/utils/__tests__/text-utils.test.d.ts.map +0 -1
  153. package/dist/utils/__tests__/text-utils.test.js +0 -59
  154. package/dist/utils/__tests__/text-utils.test.js.map +0 -1
  155. package/dist/utils/test-utils.d.ts +0 -5
  156. package/dist/utils/test-utils.d.ts.map +0 -1
  157. package/dist/utils/test-utils.js +0 -17
  158. package/dist/utils/test-utils.js.map +0 -1
  159. package/dist/utils/text-utils.d.ts +0 -6
  160. package/dist/utils/text-utils.d.ts.map +0 -1
  161. package/dist/utils/text-utils.js +0 -33
  162. package/dist/utils/text-utils.js.map +0 -1
  163. package/src/models/__mocks__/support-chat.mock.ts +0 -105
  164. package/src/models/chat-customizations.ts +0 -45
  165. package/src/models/index.ts +0 -3
  166. package/src/models/support-chat.ts +0 -117
  167. package/src/stores/__mocks-cy__/chat-ui.store.mock.ts +0 -113
  168. package/src/stores/__tests__/chat-ui.store.test.ts +0 -531
  169. package/src/stores/chat-ui-backend-echo.store.ts +0 -98
  170. package/src/stores/chat-ui-backend.store.ts +0 -10
  171. package/src/stores/chat-ui.store.ts +0 -539
  172. package/src/stores/index.ts +0 -10
  173. package/src/utils/__tests__/text-utils.test.ts +0 -70
  174. package/src/utils/test-utils.ts +0 -22
  175. package/src/utils/text-utils.ts +0 -36
@@ -1,153 +0,0 @@
1
- import { FileDescriptor } from '@servicetitan/form';
2
- import { ChatConfiguration, ChatCustomizations, ChatEndReason, ChatError, ChatErrorOptions, ChatMessageModelBase, ChatMessageModelFile, ChatMessageModelText, ChatMessageModelTimeout, ChatMessageModelWelcome, ChatMessageState, ChatParticipantIcon, ChatParticipantModel, ChatRunState, ChatTimer } from '../models';
3
- export declare const symbolAgent: unique symbol;
4
- export declare const symbolUser: unique symbol;
5
- export declare enum ChatUiEvent {
6
- eventRun = "eventRun",
7
- eventDestroy = "eventDestroy",
8
- eventRestart = "eventRestart",
9
- eventCancel = "eventCancel",
10
- eventEndChat = "eventEndChat",
11
- eventRecover = "eventRecover",
12
- eventChasitorTyping = "eventChasitorTyping",
13
- eventTimerRestart = "eventTimerRestart",
14
- eventMessageSend = "eventMessageSend",
15
- eventMessageSendRetry = "eventMessageSendRetry",
16
- eventMessageSendFile = "eventMessageSendFile",
17
- eventMessageSendFileRetry = "eventMessageSendFileRetry"
18
- }
19
- export type ChatUiEventListener<T = void> = (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void, ...args: unknown[]) => void;
20
- export interface IChatUiStore<T extends ChatCustomizations = ChatCustomizations> {
21
- scrollCounter: number;
22
- status: ChatRunState;
23
- get isStarting(): boolean;
24
- get isStarted(): boolean;
25
- get isError(): boolean;
26
- get isEnded(): boolean;
27
- get customizations(): T;
28
- timer?: ChatTimer;
29
- endReason?: ChatEndReason;
30
- participants: {
31
- [key: symbol]: ChatParticipantModel;
32
- };
33
- messages: ChatMessageModelBase[];
34
- isAgentTyping: boolean;
35
- isFilePickerEnabled: boolean;
36
- file?: FileDescriptor;
37
- error?: ChatError;
38
- get agent(): ChatParticipantModel;
39
- get user(): ChatParticipantModel;
40
- on<T>(event: string, listener: ChatUiEventListener<T>): void;
41
- off<T>(event: string, listener: ChatUiEventListener<T>): void;
42
- setCustomizationContext(customizationContext?: T): void;
43
- setIncomingSound(soundUrl: string): void;
44
- setTimer(timer?: ChatTimer): void;
45
- setFile(file: FileDescriptor | undefined): void;
46
- setFilePickerEnabled(isEnabled: boolean): void;
47
- setAgentTyping(typing: boolean): void;
48
- setMessageState(message: ChatMessageModelBase, state: ChatMessageState, data?: any): void;
49
- setMessages(messages: ChatMessageModelBase[]): void;
50
- setAgentName(name: string): void;
51
- setAgentIcon(icon: ChatParticipantIcon): void;
52
- setChatError(chatError: ChatError): void;
53
- setError<T = any>(message: string, options?: ChatErrorOptions<T>): void;
54
- setStatus(status: ChatRunState): void;
55
- resetError(runState: ChatRunState): void;
56
- reset(resetStatus?: boolean): void;
57
- resetFile(): void;
58
- triggerScroll(): void;
59
- configure(configuration?: ChatConfiguration): void;
60
- run(configuration?: ChatConfiguration, data?: unknown): Promise<void>;
61
- recover(): Promise<void>;
62
- destroy(): Promise<void>;
63
- chasitorTyping(isTyping: boolean): Promise<void>;
64
- restartTimers(): Promise<void>;
65
- restart(): Promise<void>;
66
- cancelChat(): Promise<void>;
67
- endChat(endReason?: ChatEndReason): Promise<void>;
68
- sendMessageText(messageText: string): Promise<void>;
69
- sendMessageRetry(message: ChatMessageModelBase): Promise<void>;
70
- addMessage(isAgent: boolean, message: string, data?: any): void;
71
- addMessageWelcome(message: string): void;
72
- }
73
- export declare const CHAT_UI_STORE_TOKEN: import("@servicetitan/react-ioc").SymbolToken<IChatUiStore<Partial<{
74
- messageTemplates: import("..").ChatMessageTemplateCustomizations;
75
- messages: import("..").ChatMessageCustomization[];
76
- messageTyping: import("..").ChatMessageTypingCustomization;
77
- input: import("..").ChatInputCustomization;
78
- footerComponent: import("react").ReactNode;
79
- loadingComponent: import("react").ReactNode;
80
- }>>>;
81
- export declare class ChatUiStore<T extends ChatCustomizations> implements IChatUiStore<T> {
82
- isAgentTyping: boolean;
83
- status: ChatRunState;
84
- isFilePickerEnabled: boolean;
85
- file?: FileDescriptor;
86
- error?: ChatError;
87
- endReason?: ChatEndReason;
88
- messages: ChatMessageModelBase[];
89
- currentFileMessage?: ChatMessageModelFile;
90
- scrollCounter: number;
91
- timer?: ChatTimer;
92
- participants: {
93
- [key: symbol]: ChatParticipantModel;
94
- };
95
- get agent(): ChatParticipantModel;
96
- get user(): ChatParticipantModel;
97
- get isStarted(): boolean;
98
- get isError(): boolean;
99
- get isEnded(): boolean;
100
- get isStarting(): boolean;
101
- get customizations(): T;
102
- protected customizationContext: T;
103
- private eventEmitter;
104
- private incomingMessageSound?;
105
- private incomingMessageSoundPromise?;
106
- constructor();
107
- on: <T>(event: string, listener: ChatUiEventListener<T_1>) => void;
108
- off: <T>(event: string, listener: ChatUiEventListener<T_1>) => void;
109
- setCustomizationContext(customizationContext?: T): void;
110
- setIncomingSound(soundUrl: string): void;
111
- setFile(file?: FileDescriptor): void;
112
- setFilePickerEnabled(isEnabled: boolean): void;
113
- setTimer(timer?: ChatTimer): void;
114
- resetError(runState: ChatRunState): void;
115
- setChatError(chatError: ChatError): void;
116
- setError<T = any>(message: string, options?: ChatErrorOptions<T>): void;
117
- setStatus(status: ChatRunState): void;
118
- setMessages(messages: ChatMessageModelBase[]): void;
119
- setAgentName(name: string): void;
120
- setAgentIcon(icon: ChatParticipantIcon): void;
121
- setAgentTyping(isAgentTyping: boolean): void;
122
- setEndReason(reason?: ChatEndReason): void;
123
- setEndedChatState(endReason: ChatEndReason): void;
124
- configure(configuration?: ChatConfiguration): void;
125
- run(configuration?: ChatConfiguration, data?: unknown): Promise<void>;
126
- recover(): Promise<void>;
127
- destroy(): Promise<void>;
128
- restart(): Promise<void>;
129
- cancelChat(): Promise<void>;
130
- endChat(endReason?: ChatEndReason): Promise<void>;
131
- chasitorTyping(isTyping: boolean): Promise<void>;
132
- sendMessageText(message: string): Promise<void>;
133
- sendMessageRetry(messageModel: ChatMessageModelBase): Promise<void>;
134
- sendMessageFileRetry(messageModel: ChatMessageModelFile): Promise<void>;
135
- getParticipant(participantKey: symbol): ChatParticipantModel;
136
- addMessage(isAgent: boolean, message: string, data?: any): ChatMessageModelText;
137
- addMessageTimeout(): ChatMessageModelTimeout | undefined;
138
- addMessageWelcome(message: string): ChatMessageModelWelcome;
139
- addMessageFile(file: FileDescriptor): ChatMessageModelFile;
140
- restartTimers(): Promise<void>;
141
- setMessageState(message: ChatMessageModelBase, state: ChatMessageState, data?: any): void;
142
- resetFile(): void;
143
- reset(resetStatus?: boolean): void;
144
- getLastFailedMessages(): ChatMessageModelText[];
145
- triggerScroll(): void;
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;
149
- private sendMessageTextInternal;
150
- private createMessage;
151
- private beepIncoming;
152
- }
153
- //# sourceMappingURL=chat-ui.store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-ui.store.d.ts","sourceRoot":"","sources":["../../src/stores/chat-ui.store.ts"],"names":[],"mappings":"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"}