@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
@@ -9,51 +9,43 @@
9
9
  max-width: 100%;
10
10
  column-gap: @spacing-2;
11
11
  row-gap: @spacing-1;
12
- grid-template-areas:
13
- 'avatar content .'
14
- '. footer .';
15
- grid-template-rows: auto auto;
12
+ grid-template-areas: 'avatar content .';
13
+ grid-template-rows: auto;
16
14
  grid-template-columns: minmax(@spacing-5, auto) 1fr minmax(@spacing-5, auto);
17
15
 
18
16
  &.fullWidth {
19
- width: 100%;
20
- grid-template-areas:
21
- 'avatar content'
22
- '. footer ';
23
- grid-template-rows: auto auto;
17
+ //width: 100%;
18
+ grid-template-areas: 'avatar content';
19
+ grid-template-rows: auto;
24
20
  grid-template-columns: minmax(@spacing-5, auto) 1fr;
25
21
  }
26
- }
27
-
28
- .messageFooter {
29
- grid-area: footer;
30
- }
31
-
32
- .messageAvatar {
33
- grid-area: avatar;
34
- }
35
22
 
36
- .messageContent {
37
- max-width: 100%;
38
- grid-area: content;
39
- overflow-wrap: anywhere;
40
- justify-self: flex-start;
41
- }
42
-
43
- .messageBubble {
44
- color: @color-neutral-200;
45
- padding: @spacing-2 @spacing-3;
46
- background-color: @color-blue-100;
47
- position: relative;
48
- border-radius: @spacing-0 @spacing-3 @spacing-3 @spacing-3;
49
- box-sizing: border-box;
23
+ .messageAvatar {
24
+ grid-area: avatar;
25
+ }
50
26
 
51
- &.error {
52
- color: @color-neutral-400;
53
- background-color: @color-red-100;
27
+ .messageContent {
28
+ max-width: 100%;
29
+ grid-area: content;
30
+ overflow-wrap: anywhere;
31
+ justify-self: flex-start;
32
+ }
54
33
 
55
- &::after {
56
- background: @color-red-200;
34
+ .messageBubble {
35
+ color: @color-neutral-200;
36
+ padding: @spacing-2 @spacing-3;
37
+ background-color: @color-blue-100;
38
+ position: relative;
39
+ border-radius: @spacing-0 @spacing-3 @spacing-3 @spacing-3;
40
+ box-sizing: border-box;
41
+
42
+ &.error {
43
+ color: @color-neutral-400;
44
+ background-color: @color-red-100;
45
+
46
+ &::after {
47
+ background: @color-red-200;
48
+ }
57
49
  }
58
50
  }
59
51
  }
@@ -1,6 +1,6 @@
1
1
  import { FC } from 'react';
2
2
  export interface IMessageFooterProps {
3
- timestamp: Date;
3
+ timestamp?: Date;
4
4
  name?: string;
5
5
  }
6
6
  export declare const MessageFooter: FC<IMessageFooterProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"message-footer.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-footer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,mBAAmB,CAOjD,CAAC"}
1
+ {"version":3,"file":"message-footer.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-footer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,mBAAmB,CAQjD,CAAC"}
@@ -2,6 +2,6 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Eyebrow } from '@servicetitan/design-system';
3
3
  import { formatChatMessageDate } from '../../utils/text-utils';
4
4
  export const MessageFooter = ({ name, timestamp }) => {
5
- return (_jsxs(Eyebrow, { children: [name && `${name}`, formatChatMessageDate(timestamp)] }));
5
+ return (_jsxs(Eyebrow, { children: [Boolean(name) && name, name && timestamp && ' ', timestamp && formatChatMessageDate(timestamp)] }));
6
6
  };
7
7
  //# sourceMappingURL=message-footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-footer.js","sourceRoot":"","sources":["../../../src/components/messages/message-footer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,CAAC,MAAM,aAAa,GAA4B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IAC1E,OAAO,CACH,MAAC,OAAO,eACH,IAAI,IAAI,GAAG,IAAI,KAAK,EACpB,qBAAqB,CAAC,SAAS,CAAC,IAC3B,CACb,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"message-footer.js","sourceRoot":"","sources":["../../../src/components/messages/message-footer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,CAAC,MAAM,aAAa,GAA4B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IAC1E,OAAO,CACH,MAAC,OAAO,eACH,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EACrB,IAAI,IAAI,SAAS,IAAI,KAAK,EAC1B,SAAS,IAAI,qBAAqB,CAAC,SAAS,CAAC,IACxC,CACb,CAAC;AACN,CAAC,CAAC"}
@@ -6,8 +6,8 @@ export const MessageUser = ({ children, className, isError, messageFooter, ...re
6
6
  var _a;
7
7
  const dataCy = (_a = rest['data-cy']) !== null && _a !== void 0 ? _a : 'chat-message-user';
8
8
  const dataCy2 = isError ? 'chat-message-error' : 'chat-message-normal';
9
- return (_jsxs("div", { className: classNames(Styles.messageRoot, 'max-w-100'), "data-cy": dataCy, "data-cy2": dataCy2, children: [_jsx(Stack, { direction: "column", spacing: "1", className: classNames('max-w-100', Styles.messageContent), children: _jsx("div", { className: classNames(Styles.messageBubble, {
9
+ return (_jsx("div", { className: classNames(Styles.messageRoot, 'max-w-100'), "data-cy": dataCy, "data-cy2": dataCy2, children: _jsxs(Stack, { direction: "column", spacing: "1", className: classNames('max-w-100', Styles.messageContent), children: [_jsx("div", { className: classNames(Styles.messageBubble, {
10
10
  [Styles.error]: isError,
11
- }), "data-cy": `${dataCy}-content`, children: children }) }), Boolean(messageFooter) && (_jsx("div", { className: Styles.messageFooter, "data-cy": `${dataCy}-footer`, children: messageFooter }))] }));
11
+ }), "data-cy": `${dataCy}-content`, children: children }), Boolean(messageFooter) && (_jsx("div", { className: Styles.messageFooter, "data-cy": `${dataCy}-footer`, children: messageFooter }))] }) }));
12
12
  };
13
13
  //# sourceMappingURL=message-user.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-user.js","sourceRoot":"","sources":["../../../src/components/messages/message-user.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AAQrD,MAAM,CAAC,MAAM,WAAW,GAA6C,CAAC,EAClE,QAAQ,EACR,SAAS,EACT,OAAO,EACP,aAAa,EACb,GAAG,IAAI,EACV,EAAE,EAAE;;IACD,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,mCAAI,mBAAmB,CAAC;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACvE,OAAO,CACH,eACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,aAC7C,MAAM,cACL,OAAO,aAEjB,KAAC,KAAK,IACF,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAC,GAAG,EACX,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,YAEzD,cACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE;wBACxC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO;qBAC1B,CAAC,aACO,GAAG,MAAM,UAAU,YAE3B,QAAQ,GACP,GACF,EACP,OAAO,CAAC,aAAa,CAAC,IAAI,CACvB,cAAK,SAAS,EAAE,MAAM,CAAC,aAAa,aAAW,GAAG,MAAM,SAAS,YAC5D,aAAa,GACZ,CACT,IACC,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"message-user.js","sourceRoot":"","sources":["../../../src/components/messages/message-user.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AAQrD,MAAM,CAAC,MAAM,WAAW,GAA6C,CAAC,EAClE,QAAQ,EACR,SAAS,EACT,OAAO,EACP,aAAa,EACb,GAAG,IAAI,EACV,EAAE,EAAE;;IACD,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,mCAAI,mBAAmB,CAAC;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACvE,OAAO,CACH,cACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,aAC7C,MAAM,cACL,OAAO,YAEjB,MAAC,KAAK,IACF,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAC,GAAG,EACX,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,aAEzD,cACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE;wBACxC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO;qBAC1B,CAAC,aACO,GAAG,MAAM,UAAU,YAE3B,QAAQ,GACP,EACL,OAAO,CAAC,aAAa,CAAC,IAAI,CACvB,cAAK,SAAS,EAAE,MAAM,CAAC,aAAa,aAAW,GAAG,MAAM,SAAS,YAC5D,aAAa,GACZ,CACT,IACG,GACN,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -3,18 +3,15 @@
3
3
  /* stylelint-disable declaration-property-value-no-unknown */
4
4
  .messageRoot {
5
5
  display: grid;
6
- grid-template-areas:
7
- '. content'
8
- '. footer';
9
- grid-template-rows: auto auto;
6
+ grid-template-areas: '. content';
7
+ grid-template-rows: auto;
10
8
  grid-template-columns: minmax(@spacing-5, auto) 1fr;
11
9
  column-gap: @spacing-2;
12
10
  row-gap: @spacing-1;
13
11
  }
14
12
 
15
13
  .messageFooter {
16
- grid-area: footer;
17
- justify-self: end;
14
+ text-align: right;
18
15
  }
19
16
 
20
17
  .messageContent {
package/dist/index.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ export { ChatMessages } from './components/chat/chat-messages';
2
+ export { Chat, IChatProps } from './components/chat/chat';
3
+ export { ChatLog } from './components/chat/chat-log';
1
4
  export { MessageAgent, IMessageAgentProps } from './components/messages/message-agent';
2
5
  export { MessageUser, IMessageUserProps } from './components/messages/message-user';
3
6
  export { MessageSystem, IMessageSystemProps } from './components/messages/message-system';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,6 @@
1
+ export { ChatMessages } from './components/chat/chat-messages';
2
+ export { Chat } from './components/chat/chat';
3
+ export { ChatLog } from './components/chat/chat-log';
1
4
  export { MessageAgent } from './components/messages/message-agent';
2
5
  export { MessageUser } from './components/messages/message-user';
3
6
  export { MessageSystem } from './components/messages/message-system';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,WAAW,EAAqB,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAuB,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAuB,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAwB,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAuB,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAuB,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAc,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAsB,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,WAAW,EAAqB,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAuB,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAuB,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAwB,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAuB,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAuB,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ChatMessageModelFile, ChatMessageModelText, ChatMessageModelTimeout, ChatMessageModelWelcome, ChatParticipantModel } from '../support-chat';
2
+ export declare function mockChatAgent(overrides?: Partial<ChatParticipantModel>): ChatParticipantModel;
3
+ export declare function mockChatUser(overrides?: Partial<ChatParticipantModel>): ChatParticipantModel;
4
+ export declare function mockChatMessageModelText(isAgent: boolean, overrides?: Partial<ChatMessageModelText>): ChatMessageModelText;
5
+ export declare function mockChatMessageModelWelcome(overrides?: Partial<ChatMessageModelWelcome>): ChatMessageModelWelcome;
6
+ export declare function mockChatMessageModelFile(overrides?: Partial<ChatMessageModelFile>): ChatMessageModelFile;
7
+ export declare function mockChatMessageModelTimeout(overrides?: Partial<ChatMessageModelTimeout>): ChatMessageModelTimeout;
8
+ export declare function mockChatConversation(): (ChatMessageModelText | ChatMessageModelWelcome)[];
9
+ //# sourceMappingURL=support-chat.mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-chat.mock.d.ts","sourceRoot":"","sources":["../../../src/models/__mocks__/support-chat.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EAGvB,oBAAoB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAO7F;AAED,wBAAgB,YAAY,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAO5F;AAED,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAC1C,oBAAoB,CAWtB;AAED,wBAAgB,2BAA2B,CACvC,SAAS,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAC7C,uBAAuB,CAWzB;AAED,wBAAgB,wBAAwB,CACpC,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAC1C,oBAAoB,CAWtB;AAED,wBAAgB,2BAA2B,CACvC,SAAS,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAC7C,uBAAuB,CAUzB;AAED,wBAAgB,oBAAoB,uDAgBnC"}
@@ -0,0 +1,82 @@
1
+ import { ChatMessageState, ChatParticipantIcon, } from '../support-chat';
2
+ export function mockChatAgent(overrides) {
3
+ return {
4
+ isAgent: true,
5
+ name: 'agent name',
6
+ icon: ChatParticipantIcon.Bot,
7
+ ...overrides,
8
+ };
9
+ }
10
+ export function mockChatUser(overrides) {
11
+ return {
12
+ isAgent: false,
13
+ name: 'user name',
14
+ icon: ChatParticipantIcon.Initials,
15
+ ...overrides,
16
+ };
17
+ }
18
+ export function mockChatMessageModelText(isAgent, overrides) {
19
+ return {
20
+ id: 'id',
21
+ type: 'message',
22
+ message: 'message',
23
+ timestamp: new Date('2000-01-01T00:00:00Z'),
24
+ state: ChatMessageState.Delivered,
25
+ data: {},
26
+ participant: isAgent ? mockChatAgent() : mockChatUser(),
27
+ ...overrides,
28
+ };
29
+ }
30
+ export function mockChatMessageModelWelcome(overrides) {
31
+ return {
32
+ id: 'id',
33
+ type: 'welcome',
34
+ message: 'message welcome',
35
+ timestamp: new Date('2000-01-01T00:00:00Z'),
36
+ state: ChatMessageState.Delivered,
37
+ data: {},
38
+ participant: mockChatAgent(),
39
+ ...overrides,
40
+ };
41
+ }
42
+ export function mockChatMessageModelFile(overrides) {
43
+ return {
44
+ id: 'id',
45
+ type: 'file',
46
+ timestamp: new Date('2000-01-01T00:00:00Z'),
47
+ state: ChatMessageState.Delivered,
48
+ fileName: 'file name',
49
+ data: {},
50
+ participant: mockChatUser(),
51
+ ...overrides,
52
+ };
53
+ }
54
+ export function mockChatMessageModelTimeout(overrides) {
55
+ return {
56
+ id: 'id',
57
+ type: 'timeout',
58
+ timestamp: new Date('2000-01-01T00:00:00Z'),
59
+ state: ChatMessageState.Delivered,
60
+ data: {},
61
+ participant: mockChatAgent(),
62
+ ...overrides,
63
+ };
64
+ }
65
+ export function mockChatConversation() {
66
+ return [
67
+ mockChatMessageModelWelcome(),
68
+ mockChatMessageModelText(false, {
69
+ message: 'question 1',
70
+ }),
71
+ mockChatMessageModelText(true, {
72
+ message: 'answer 1',
73
+ }),
74
+ mockChatMessageModelText(false, {
75
+ message: 'question 2',
76
+ }),
77
+ mockChatMessageModelText(true, {
78
+ message: 'answer 2',
79
+ }),
80
+ ];
81
+ }
82
+ //# sourceMappingURL=support-chat.mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-chat.mock.js","sourceRoot":"","sources":["../../../src/models/__mocks__/support-chat.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,gBAAgB,EAChB,mBAAmB,GAEtB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,UAAU,aAAa,CAAC,SAAyC;IACnE,OAAO;QACH,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,mBAAmB,CAAC,GAAG;QAC7B,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAyC;IAClE,OAAO;QACH,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,mBAAmB,CAAC,QAAQ;QAClC,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,OAAgB,EAChB,SAAyC;IAEzC,OAAO;QACH,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;QAC3C,KAAK,EAAE,gBAAgB,CAAC,SAAS;QACjC,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE;QACvD,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,2BAA2B,CACvC,SAA4C;IAE5C,OAAO;QACH,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,iBAAiB;QAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;QAC3C,KAAK,EAAE,gBAAgB,CAAC,SAAS;QACjC,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,aAAa,EAAE;QAC5B,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,SAAyC;IAEzC,OAAO;QACH,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;QAC3C,KAAK,EAAE,gBAAgB,CAAC,SAAS;QACjC,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,YAAY,EAAE;QAC3B,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,2BAA2B,CACvC,SAA4C;IAE5C,OAAO;QACH,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;QAC3C,KAAK,EAAE,gBAAgB,CAAC,SAAS;QACjC,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,aAAa,EAAE;QAC5B,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB;IAChC,OAAO;QACH,2BAA2B,EAAE;QAC7B,wBAAwB,CAAC,KAAK,EAAE;YAC5B,OAAO,EAAE,YAAY;SACxB,CAAC;QACF,wBAAwB,CAAC,IAAI,EAAE;YAC3B,OAAO,EAAE,UAAU;SACtB,CAAC;QACF,wBAAwB,CAAC,KAAK,EAAE;YAC5B,OAAO,EAAE,YAAY;SACxB,CAAC;QACF,wBAAwB,CAAC,IAAI,EAAE;YAC3B,OAAO,EAAE,UAAU;SACtB,CAAC;KACL,CAAC;AACN,CAAC"}
@@ -3,27 +3,35 @@ import { IMessageTypingProps } from '../components/messages/message-typing';
3
3
  import { ChatMessageModelBase } from './support-chat';
4
4
  export interface IChatMessageProps<T extends ChatMessageModelBase = ChatMessageModelBase> {
5
5
  message: T;
6
+ omitAvatar?: boolean;
7
+ omitTimestamp?: boolean;
6
8
  }
7
- export interface ChatMessageTemplateCustomization {
8
- component: FC<PropsWithChildren<IChatMessageProps>>;
9
- predicate: (message: ChatMessageModelBase) => boolean;
9
+ export interface ChatMessageTemplateCustomization<T extends ChatMessageModelBase = ChatMessageModelBase> {
10
+ component: FC<PropsWithChildren<IChatMessageProps<T>>>;
11
+ predicate: (message: T) => boolean;
10
12
  }
11
13
  export type ChatMessageTemplateCustomizations = Partial<{
12
14
  agent: ChatMessageTemplateCustomization;
13
15
  user: ChatMessageTemplateCustomization;
14
16
  }>;
15
- export interface ChatMessageCustomization {
16
- component: FC<IChatMessageProps>;
17
- predicate: (message: ChatMessageModelBase) => boolean;
17
+ export interface ChatMessageCustomization<T extends ChatMessageModelBase = ChatMessageModelBase> {
18
+ predicate: (message: T) => boolean;
19
+ component?: FC<IChatMessageProps<T>>;
18
20
  isSystem?: boolean;
21
+ isIgnored?: boolean;
19
22
  }
20
23
  export interface ChatMessageTypingCustomization {
21
24
  component: FC<IMessageTypingProps>;
22
25
  }
26
+ export interface ChatInputCustomization {
27
+ isDisabled?: boolean;
28
+ }
23
29
  export type ChatCustomizations = Partial<{
24
30
  messageTemplates: ChatMessageTemplateCustomizations;
25
31
  messages: ChatMessageCustomization[];
26
32
  messageTyping: ChatMessageTypingCustomization;
33
+ input: ChatInputCustomization;
27
34
  footerComponent: ReactNode;
35
+ loadingComponent: ReactNode;
28
36
  }>;
29
37
  //# sourceMappingURL=chat-customizations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-customizations.d.ts","sourceRoot":"","sources":["../../src/models/chat-customizations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IACpF,OAAO,EAAE,CAAC,CAAC;CACd;AAED,MAAM,WAAW,gCAAgC;IAC7C,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpD,SAAS,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC;CACzD;AAED,MAAM,MAAM,iCAAiC,GAAG,OAAO,CAAC;IACpD,KAAK,EAAE,gCAAgC,CAAC;IACxC,IAAI,EAAE,gCAAgC,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;IACjC,SAAS,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,8BAA8B;IAC3C,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACrC,gBAAgB,EAAE,iCAAiC,CAAC;IACpD,QAAQ,EAAE,wBAAwB,EAAE,CAAC;IACrC,aAAa,EAAE,8BAA8B,CAAC;IAC9C,eAAe,EAAE,SAAS,CAAC;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"chat-customizations.d.ts","sourceRoot":"","sources":["../../src/models/chat-customizations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IACpF,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,gCAAgC,CAC7C,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAErD,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC;CACtC;AAED,MAAM,MAAM,iCAAiC,GAAG,OAAO,CAAC;IACpD,KAAK,EAAE,gCAAgC,CAAC;IACxC,IAAI,EAAE,gCAAgC,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAC3F,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC;IACnC,SAAS,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,8BAA8B;IAC3C,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACrC,gBAAgB,EAAE,iCAAiC,CAAC;IACpD,QAAQ,EAAE,wBAAwB,EAAE,CAAC;IACrC,aAAa,EAAE,8BAA8B,CAAC;IAC9C,KAAK,EAAE,sBAAsB,CAAC;IAC9B,eAAe,EAAE,SAAS,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;CAC/B,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './support-chat';
2
+ export * from './__mocks__/support-chat.mock';
2
3
  export * from './chat-customizations';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './support-chat';
2
+ export * from './__mocks__/support-chat.mock';
2
3
  export * from './chat-customizations';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC"}
@@ -23,7 +23,6 @@ export interface ChatParticipantModel {
23
23
  name: string;
24
24
  icon: ChatParticipantIcon;
25
25
  }
26
- export type ChatMessageModelType = 'welcome' | 'message' | 'timeout' | 'file' | 'askSupport' | 'askSupportButtons';
27
26
  export interface ChatConfiguration {
28
27
  agentName?: string;
29
28
  agentIcon?: ChatParticipantIcon;
@@ -31,7 +30,7 @@ export interface ChatConfiguration {
31
30
  export interface ChatMessageModelBase {
32
31
  id: string;
33
32
  timestamp: Date;
34
- type: ChatMessageModelType;
33
+ type: string;
35
34
  participant: ChatParticipantModel;
36
35
  state: ChatMessageState;
37
36
  data?: any;
@@ -51,7 +50,7 @@ export interface ChatMessageModelFile extends ChatMessageModelBase {
51
50
  type: 'file';
52
51
  fileName: string;
53
52
  }
54
- type ChatErrorRecoverStrategy = {
53
+ export type ChatErrorRecoverStrategy = {
55
54
  recoverButtonTitle: string;
56
55
  } | false;
57
56
  export interface ChatErrorOptions<T = any> {
@@ -64,6 +63,8 @@ export declare class ChatError<T = any> extends Error {
64
63
  recoverStrategy: ChatErrorRecoverStrategy;
65
64
  data?: T;
66
65
  constructor(message: string, options?: ChatErrorOptions<T>);
66
+ toJSON(): Record<string, any>;
67
+ fromJSON(json: Record<string, any>): ChatError<T>;
67
68
  }
68
69
  export declare enum ChatRunState {
69
70
  Offline = 0,
@@ -72,5 +73,4 @@ export declare enum ChatRunState {
72
73
  Ended = 3,
73
74
  Error = 4
74
75
  }
75
- export {};
76
76
  //# sourceMappingURL=support-chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"support-chat.d.ts","sourceRoot":"","sources":["../../src/models/support-chat.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,oBAAY,gBAAgB;IACxB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,MAAM,WAAW;CACpB;AAED,oBAAY,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,eAAe,oBAAoB;CACtC;AAED,oBAAY,mBAAmB;IAC3B,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,GAAG,QAAQ;CACd;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,MAAM,oBAAoB,GAC1B,SAAS,GACT,SAAS,GACT,SAAS,GACT,MAAM,GACN,YAAY,GACZ,mBAAmB,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,WAAW,EAAE,oBAAoB,CAAC;IAClC,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACjE,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAC9D,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACjE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,wBAAwB,GACvB;IACI,kBAAkB,EAAE,MAAM,CAAC;CAC9B,GACD,KAAK,CAAC;AAEZ,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,GAAG;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;CACZ;AAED,qBAAa,SAAS,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,KAAK;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,wBAAwB,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEG,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;CAQ7D;AAED,oBAAY,YAAY;IACpB,OAAO,IAAI;IACX,YAAY,IAAI;IAChB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,KAAK,IAAI;CACZ"}
1
+ {"version":3,"file":"support-chat.d.ts","sourceRoot":"","sources":["../../src/models/support-chat.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,oBAAY,gBAAgB;IACxB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,MAAM,WAAW;CACpB;AAED,oBAAY,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,eAAe,oBAAoB;CACtC;AAED,oBAAY,mBAAmB;IAC3B,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,GAAG,QAAQ;CACd;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,oBAAoB,CAAC;IAClC,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACjE,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAC9D,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACjE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,wBAAwB,GAC9B;IACI,kBAAkB,EAAE,MAAM,CAAC;CAC9B,GACD,KAAK,CAAC;AAEZ,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,GAAG;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;CACZ;AAED,qBAAa,SAAS,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,KAAK;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,wBAAwB,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEG,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAS1D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAU7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;CASpD;AAED,oBAAY,YAAY;IACpB,OAAO,IAAI;IACX,YAAY,IAAI;IAChB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,KAAK,IAAI;CACZ"}
@@ -45,6 +45,24 @@ export class ChatError extends Error {
45
45
  this.data = options === null || options === void 0 ? void 0 : options.data;
46
46
  Object.setPrototypeOf(this, ChatError.prototype);
47
47
  }
48
+ toJSON() {
49
+ return {
50
+ name: this.name,
51
+ message: this.message,
52
+ title: this.title,
53
+ recoverStrategy: this.recoverStrategy,
54
+ data: this.data,
55
+ };
56
+ }
57
+ fromJSON(json) {
58
+ const error = new ChatError(json.message, {
59
+ title: json.title,
60
+ recoverStrategy: json.recoverStrategy,
61
+ data: json.data,
62
+ });
63
+ error.name = json.name;
64
+ return error;
65
+ }
48
66
  }
49
67
  export var ChatRunState;
50
68
  (function (ChatRunState) {
@@ -1 +1 @@
1
- {"version":3,"file":"support-chat.js","sourceRoot":"","sources":["../../src/models/support-chat.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,qCAAiB,CAAA;AACrB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACrB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;IACvB,oDAAmC,CAAA;AACvC,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,sCAAe,CAAA;IACf,4CAAqB,CAAA;IACrB,kCAAW,CAAA;AACf,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AA6DD,MAAM,OAAO,SAAmB,SAAQ,KAAK;IAKzC,YAAY,OAAe,EAAE,OAA6B;;QACtD,KAAK,CAAC,OAAO,CAAC,CAAC;QALnB;;;;;WAAc;QACd;;;;;WAA0C;QAC1C;;;;;WAAS;QAIL,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,YAAY,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,mCAAI,KAAK,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACpB,qDAAW,CAAA;IACX,+DAAgB,CAAA;IAChB,qDAAW,CAAA;IACX,iDAAS,CAAA;IACT,iDAAS,CAAA;AACb,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
1
+ {"version":3,"file":"support-chat.js","sourceRoot":"","sources":["../../src/models/support-chat.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,qCAAiB,CAAA;AACrB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACrB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;IACvB,oDAAmC,CAAA;AACvC,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,sCAAe,CAAA;IACf,4CAAqB,CAAA;IACrB,kCAAW,CAAA;AACf,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAqDD,MAAM,OAAO,SAAmB,SAAQ,KAAK;IAKzC,YAAY,OAAe,EAAE,OAA6B;;QACtD,KAAK,CAAC,OAAO,CAAC,CAAC;QALnB;;;;;WAAc;QACd;;;;;WAA0C;QAC1C;;;;;WAAS;QAIL,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,YAAY,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,mCAAI,KAAK,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,MAAM;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC;IACN,CAAC;IAED,QAAQ,CAAC,IAAyB;QAC9B,MAAM,KAAK,GAAG,IAAI,SAAS,CAAI,IAAI,CAAC,OAAO,EAAE;YACzC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACpB,qDAAW,CAAA;IACX,+DAAgB,CAAA;IAChB,qDAAW,CAAA;IACX,iDAAS,CAAA;IACT,iDAAS,CAAA;AACb,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
@@ -1,5 +1,5 @@
1
1
  import { FileDescriptor } from '@servicetitan/form';
2
- import { ChatConfiguration, ChatCustomizations, ChatError, ChatErrorOptions, ChatMessageModelBase, ChatMessageState, ChatParticipantIcon, ChatRunState, ChatTimer } from '../../models';
2
+ import { ChatConfiguration, ChatCustomizations, ChatEndReason, ChatError, ChatErrorOptions, ChatMessageModelBase, ChatMessageState, ChatParticipantIcon, ChatRunState, ChatTimer } from '../../models';
3
3
  import { ChatUiEventListener, IChatUiStore, symbolAgent, symbolUser } from '../chat-ui.store';
4
4
  export declare class ChatUiStoreMock implements IChatUiStore {
5
5
  scrollCounter: number;
@@ -43,6 +43,8 @@ export declare class ChatUiStoreMock implements IChatUiStore {
43
43
  off: <T>(event: string, listener: ChatUiEventListener<T>) => void;
44
44
  on: <T>(event: string, listener: ChatUiEventListener<T>) => void;
45
45
  resetError: (runState: ChatRunState) => void;
46
+ reset: (resetState?: boolean) => void;
47
+ resetFile: () => void;
46
48
  setAgentTyping: (typing: boolean) => void;
47
49
  setChatError: (chatError: ChatError) => void;
48
50
  setError: <T = any>(message: string, options?: ChatErrorOptions<T>) => void;
@@ -62,5 +64,8 @@ export declare class ChatUiStoreMock implements IChatUiStore {
62
64
  setStatus: (status: ChatRunState) => void;
63
65
  setTimer: (timer?: ChatTimer) => void;
64
66
  restartTimers: () => Promise<void>;
67
+ restart: () => Promise<void>;
68
+ cancelChat: () => Promise<void>;
69
+ endChat: (endReason?: ChatEndReason) => Promise<void>;
65
70
  }
66
71
  //# sourceMappingURL=chat-ui.store.mock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-ui.store.mock.d.ts","sourceRoot":"","sources":["../../../src/stores/__mocks-cy__/chat-ui.store.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACH,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EAGpB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9F,qBAAa,eAAgB,YAAW,YAAY;IAChD,aAAa,SAAK;IAClB,mBAAmB,UAAQ;IAC3B,UAAU,UAAS;IACnB,SAAS,UAAQ;IACjB,aAAa,UAAS;IACtB,MAAM,eAAwB;IAC9B,IAAI,YAAa;IACjB,YAAY;;;;;;;;;;;MAWV;IACF,IAAI,IAAI;;;;MAEP;IACD,IAAI,KAAK;;;;MAER;IACD,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,cAAc,IAAI,kBAAkB,CAEvC;IACD,QAAQ,EAAE,oBAAoB,EAAE,CA0B9B;IACF,gBAAgB,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAa;IAC/E,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAa;IAChE,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAa;IAChE,aAAa,EAAE,MAAM,IAAI,CAAa;IACtC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAa;IAChF,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAa;IAC9E,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAa;IAC7E,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAa;IACzD,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAa;IACtD,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAa;IACzD,QAAQ,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAa;IACxF,oBAAoB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAa;IAC/D,eAAe,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAC/E;IACd,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAa;IACzD,uBAAuB,EAAE,CAAC,oBAAoB,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAa;IACzF,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAa;IACjE,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAa;IACnE,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAa;IACtF,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAa;IACzC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAa;IACzC,YAAY,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAa;IAC9D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAa;IACjD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAa;IACzD,WAAW,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAa;IACpE,SAAS,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAa;IACtD,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,KAAK,IAAI,CAAa;IAClD,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAa;CAClD"}
1
+ {"version":3,"file":"chat-ui.store.mock.d.ts","sourceRoot":"","sources":["../../../src/stores/__mocks-cy__/chat-ui.store.mock.ts"],"names":[],"mappings":"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"}
@@ -140,6 +140,18 @@ export class ChatUiStoreMock {
140
140
  writable: true,
141
141
  value: cy.stub()
142
142
  });
143
+ Object.defineProperty(this, "reset", {
144
+ enumerable: true,
145
+ configurable: true,
146
+ writable: true,
147
+ value: cy.stub()
148
+ });
149
+ Object.defineProperty(this, "resetFile", {
150
+ enumerable: true,
151
+ configurable: true,
152
+ writable: true,
153
+ value: cy.stub()
154
+ });
143
155
  Object.defineProperty(this, "setAgentTyping", {
144
156
  enumerable: true,
145
157
  configurable: true,
@@ -254,6 +266,24 @@ export class ChatUiStoreMock {
254
266
  writable: true,
255
267
  value: cy.stub()
256
268
  });
269
+ Object.defineProperty(this, "restart", {
270
+ enumerable: true,
271
+ configurable: true,
272
+ writable: true,
273
+ value: cy.stub()
274
+ });
275
+ Object.defineProperty(this, "cancelChat", {
276
+ enumerable: true,
277
+ configurable: true,
278
+ writable: true,
279
+ value: cy.stub()
280
+ });
281
+ Object.defineProperty(this, "endChat", {
282
+ enumerable: true,
283
+ configurable: true,
284
+ writable: true,
285
+ value: cy.stub()
286
+ });
257
287
  }
258
288
  get user() {
259
289
  return this.participants[symbolUser];
@@ -1 +1 @@
1
- {"version":3,"file":"chat-ui.store.mock.js","sourceRoot":"","sources":["../../../src/stores/__mocks-cy__/chat-ui.store.mock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-ui.store.mock.js","sourceRoot":"","sources":["../../../src/stores/__mocks-cy__/chat-ui.store.mock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=chat-input.store.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-input.store.test.d.ts","sourceRoot":"","sources":["../../../src/stores/__tests__/chat-input.store.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { expect } from '@jest/globals';
2
+ import { initTestContainer } from '../../utils/test-utils';
3
+ import { ChatInputStore } from '../chat-input.store';
4
+ const initContainer = initTestContainer(ChatInputStore, () => { });
5
+ describe('[ChatInputStore]', () => {
6
+ let container;
7
+ let store;
8
+ beforeEach(() => {
9
+ container = initContainer();
10
+ store = container.get(ChatInputStore);
11
+ });
12
+ test('should have proper form state', async () => {
13
+ expect(store.formState.$.message).toBeDefined();
14
+ expect(store.formState.$.message.value).toBe('');
15
+ const validateResult = await store.formState.validate();
16
+ expect(validateResult.hasError).toBe(false);
17
+ store.formState.$.message.onChange('test');
18
+ expect(store.formState.$.message.value).toBe('test');
19
+ const validateResult2 = await store.formState.validate();
20
+ expect(validateResult2.hasError).toBe(false);
21
+ store.formState.$.message.onChange('a'.repeat(6000));
22
+ expect(store.formState.$.message.value).toBe('a'.repeat(6000));
23
+ const validateResult3 = await store.formState.validate();
24
+ expect(validateResult3.hasError).toBe(false);
25
+ store.formState.$.message.onChange('a'.repeat(6001));
26
+ expect(store.formState.$.message.value).toBe('a'.repeat(6001));
27
+ const validateResult4 = await store.formState.validate();
28
+ expect(validateResult4.hasError).toBe(true);
29
+ expect(store.formState.$.message.error).toBe('Message character max is 6000.');
30
+ });
31
+ });
32
+ //# sourceMappingURL=chat-input.store.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-input.store.test.js","sourceRoot":"","sources":["../../../src/stores/__tests__/chat-input.store.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,aAAa,GAAG,iBAAiB,CAAC,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAElE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,IAAI,SAAoB,CAAC;IACzB,IAAI,KAAqB,CAAC;IAE1B,UAAU,CAAC,GAAG,EAAE;QACZ,SAAS,GAAG,aAAa,EAAE,CAAC;QAC5B,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACxD,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5C,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzD,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7C,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzD,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7C,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzD,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}