@servicetitan/titan-chat-ui 2.0.0 → 2.0.2

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 +25 -0
  2. package/dist/components/chat/__tests-cy__/chat-messages.test.js +14 -13
  3. package/dist/components/chat/__tests-cy__/chat-messages.test.js.map +1 -1
  4. package/dist/components/chat/__tests-cy__/chat.test.js +21 -20
  5. package/dist/components/chat/__tests-cy__/chat.test.js.map +1 -1
  6. package/dist/components/chat/chat-error.js +1 -1
  7. package/dist/components/chat/chat-error.js.map +1 -1
  8. package/dist/components/chat/chat-message-template-user.js +1 -1
  9. package/dist/components/chat/chat-message-template-user.js.map +1 -1
  10. package/dist/components/chat/chat.js +1 -1
  11. package/dist/components/chat/chat.js.map +1 -1
  12. package/dist/components/messages/__tests-cy__/message-agent.test.js +13 -22
  13. package/dist/components/messages/__tests-cy__/message-agent.test.js.map +1 -1
  14. package/dist/components/messages/__tests-cy__/message-system.test.js +3 -2
  15. package/dist/components/messages/__tests-cy__/message-system.test.js.map +1 -1
  16. package/dist/components/messages/__tests-cy__/message-timeout.test.js +6 -11
  17. package/dist/components/messages/__tests-cy__/message-timeout.test.js.map +1 -1
  18. package/dist/components/messages/__tests-cy__/message-typing.test.js +10 -9
  19. package/dist/components/messages/__tests-cy__/message-typing.test.js.map +1 -1
  20. package/dist/components/messages/__tests-cy__/message-user.test.js +5 -9
  21. package/dist/components/messages/__tests-cy__/message-user.test.js.map +1 -1
  22. package/dist/components/messages/message-agent.d.ts +3 -2
  23. package/dist/components/messages/message-agent.d.ts.map +1 -1
  24. package/dist/components/messages/message-agent.js +4 -5
  25. package/dist/components/messages/message-agent.js.map +1 -1
  26. package/dist/components/messages/message-avatar.d.ts.map +1 -1
  27. package/dist/components/messages/message-avatar.js +5 -1
  28. package/dist/components/messages/message-avatar.js.map +1 -1
  29. package/dist/components/messages/message-system.d.ts +2 -2
  30. package/dist/components/messages/message-system.d.ts.map +1 -1
  31. package/dist/components/messages/message-system.js +2 -2
  32. package/dist/components/messages/message-system.js.map +1 -1
  33. package/dist/components/messages/message-timeout.d.ts +1 -2
  34. package/dist/components/messages/message-timeout.d.ts.map +1 -1
  35. package/dist/components/messages/message-timeout.js +2 -4
  36. package/dist/components/messages/message-timeout.js.map +1 -1
  37. package/dist/components/messages/message-typing.d.ts +1 -2
  38. package/dist/components/messages/message-typing.d.ts.map +1 -1
  39. package/dist/components/messages/message-typing.js +1 -5
  40. package/dist/components/messages/message-typing.js.map +1 -1
  41. package/dist/components/messages/message-user.d.ts +1 -2
  42. package/dist/components/messages/message-user.d.ts.map +1 -1
  43. package/dist/components/messages/message-user.js +3 -6
  44. package/dist/components/messages/message-user.js.map +1 -1
  45. package/dist/index.d.ts +1 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +1 -0
  48. package/dist/index.js.map +1 -1
  49. package/dist/stores/__tests__/chat-input.store.test.js +5 -1
  50. package/dist/stores/__tests__/chat-input.store.test.js.map +1 -1
  51. package/dist/stores/__tests__/chat-ui.store.test.d.ts +2 -0
  52. package/dist/stores/__tests__/chat-ui.store.test.d.ts.map +1 -0
  53. package/dist/stores/__tests__/chat-ui.store.test.js +424 -0
  54. package/dist/stores/__tests__/chat-ui.store.test.js.map +1 -0
  55. package/dist/stores/chat-ui.store.d.ts.map +1 -1
  56. package/dist/stores/chat-ui.store.js +9 -10
  57. package/dist/stores/chat-ui.store.js.map +1 -1
  58. package/dist/utils/__tests__/text-utils.test.d.ts +2 -0
  59. package/dist/utils/__tests__/text-utils.test.d.ts.map +1 -0
  60. package/dist/utils/__tests__/text-utils.test.js +59 -0
  61. package/dist/utils/__tests__/text-utils.test.js.map +1 -0
  62. package/dist/utils/text-utils.d.ts +0 -5
  63. package/dist/utils/text-utils.d.ts.map +1 -1
  64. package/dist/utils/text-utils.js +2 -51
  65. package/dist/utils/text-utils.js.map +1 -1
  66. package/package.json +9 -3
  67. package/src/components/chat/__tests-cy__/chat-messages.test.tsx +17 -17
  68. package/src/components/chat/__tests-cy__/chat.test.tsx +21 -20
  69. package/src/components/chat/chat-error.tsx +1 -1
  70. package/src/components/chat/chat-message-template-user.tsx +2 -2
  71. package/src/components/chat/chat.tsx +1 -1
  72. package/src/components/messages/__tests-cy__/message-agent.test.tsx +13 -31
  73. package/src/components/messages/__tests-cy__/message-system.test.tsx +3 -2
  74. package/src/components/messages/__tests-cy__/message-timeout.test.tsx +6 -13
  75. package/src/components/messages/__tests-cy__/message-typing.test.tsx +10 -9
  76. package/src/components/messages/__tests-cy__/message-user.test.tsx +5 -14
  77. package/src/components/messages/message-agent.tsx +18 -11
  78. package/src/components/messages/message-avatar.tsx +7 -3
  79. package/src/components/messages/message-system.tsx +5 -4
  80. package/src/components/messages/message-timeout.tsx +9 -8
  81. package/src/components/messages/message-typing.tsx +12 -16
  82. package/src/components/messages/message-user.tsx +7 -10
  83. package/src/index.ts +1 -0
  84. package/src/stores/__tests__/chat-input.store.test.ts +5 -1
  85. package/src/stores/__tests__/chat-ui.store.test.ts +531 -0
  86. package/src/stores/chat-ui.store.ts +9 -10
  87. package/src/utils/__tests__/text-utils.test.ts +70 -0
  88. package/src/utils/text-utils.ts +2 -59
  89. package/tsconfig.json +5 -0
  90. package/tsconfig.tsbuildinfo +1 -1
  91. package/dist/models/component.d.ts +0 -4
  92. package/dist/models/component.d.ts.map +0 -1
  93. package/dist/models/component.js +0 -2
  94. package/dist/models/component.js.map +0 -1
  95. package/dist/utils/test-utils.d.ts +0 -5
  96. package/dist/utils/test-utils.d.ts.map +0 -1
  97. package/dist/utils/test-utils.js +0 -17
  98. package/dist/utils/test-utils.js.map +0 -1
  99. package/src/models/component.ts +0 -3
  100. package/src/utils/test-utils.ts +0 -22
@@ -1,13 +1,14 @@
1
1
  import { FC, PropsWithChildren, ReactNode } from 'react';
2
- import { IDataCyProps } from '../../models/component';
3
2
  import { IMessageAvatarProps } from './message-avatar';
4
- export interface IMessageAgentProps extends IDataCyProps {
3
+ export interface IMessageAgentProps {
5
4
  avatar?: IMessageAvatarProps;
6
5
  messageFooter?: ReactNode;
7
6
  isError?: boolean;
8
7
  fullWidth?: boolean;
9
8
  subtle?: boolean;
10
9
  omitAvatar?: boolean;
10
+ className?: string;
11
+ ['data-cy2']?: string;
11
12
  }
12
13
  export declare const MessageAgent: FC<PropsWithChildren<IMessageAgentProps>>;
13
14
  //# sourceMappingURL=message-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-agent.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-agent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAiB,MAAM,kBAAkB,CAAC;AAEtE,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACpD,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CA6ClE,CAAC"}
1
+ {"version":3,"file":"message-agent.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-agent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAiB,MAAM,kBAAkB,CAAC;AAEtE,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAmDlE,CAAC"}
@@ -3,14 +3,13 @@ import { Stack } from '@servicetitan/design-system';
3
3
  import classNames from 'classnames';
4
4
  import * as Styles from './message-agent.module.less';
5
5
  import { MessageAvatar } from './message-avatar';
6
- export const MessageAgent = ({ avatar, children, fullWidth, isError, messageFooter, omitAvatar, subtle, ...rest }) => {
6
+ export const MessageAgent = ({ avatar, children, className, fullWidth, isError, messageFooter, omitAvatar, subtle, ...rest }) => {
7
7
  var _a;
8
- const dataCy = (_a = rest['data-cy']) !== null && _a !== void 0 ? _a : 'chat-message-agent';
9
- const dataCy2 = isError ? 'chat-message-error' : 'chat-message-normal';
8
+ const dataCy2 = (_a = rest['data-cy2']) !== null && _a !== void 0 ? _a : 'titan-chat-message-agent';
10
9
  return (_jsxs("div", { className: classNames(Styles.messageRoot, {
11
10
  [Styles.fullWidth]: Boolean(fullWidth),
12
- }), "data-cy": dataCy, "data-cy2": dataCy2, children: [_jsx("div", { className: Styles.messageAvatar, children: !omitAvatar && avatar ? _jsx(MessageAvatar, { ...avatar }) : _jsx("div", {}) }), _jsxs(Stack, { direction: "column", spacing: "1", className: classNames(Styles.messageContent), "data-cy": `${dataCy}-center`, children: [subtle ? (children) : (_jsx("div", { className: classNames(Styles.messageBubble, {
11
+ }, className), "data-cy": "titan-chat-message", "data-cy2": dataCy2, children: [_jsx("div", { className: Styles.messageAvatar, children: !omitAvatar && avatar ? _jsx(MessageAvatar, { ...avatar }) : _jsx("div", {}) }), _jsxs(Stack, { direction: "column", spacing: "1", className: classNames(Styles.messageContent), "data-cy": "titan-chat-message-content", "data-cy2": "titan-chat-message-content-agent", children: [subtle ? (children) : (_jsx("div", { className: classNames(Styles.messageBubble, {
13
12
  [Styles.error]: Boolean(isError),
14
- }), "data-cy": `${dataCy}-content`, children: children })), Boolean(messageFooter) && _jsx("div", { "data-cy": `${dataCy}-footer`, children: messageFooter })] })] }));
13
+ }), children: children })), Boolean(messageFooter) && (_jsx("div", { "data-cy": "titan-chat-message-footer", children: messageFooter }))] })] }));
15
14
  };
16
15
  //# sourceMappingURL=message-agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-agent.js","sourceRoot":"","sources":["../../../src/components/messages/message-agent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAuB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAWtE,MAAM,CAAC,MAAM,YAAY,GAA8C,CAAC,EACpE,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,aAAa,EACb,UAAU,EACV,MAAM,EACN,GAAG,IAAI,EACV,EAAE,EAAE;;IACD,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,mCAAI,oBAAoB,CAAC;IACvD,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;YACtC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;SACzC,CAAC,aACO,MAAM,cACL,OAAO,aAEjB,cAAK,SAAS,EAAE,MAAM,CAAC,aAAa,YAC/B,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,KAAC,aAAa,OAAK,MAAM,GAAI,CAAC,CAAC,CAAC,eAAO,GAC9D,EACN,MAAC,KAAK,IACF,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAC,GAAG,EACX,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,aACnC,GAAG,MAAM,SAAS,aAE1B,MAAM,CAAC,CAAC,CAAC,CACN,QAAQ,CACX,CAAC,CAAC,CAAC,CACA,cACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE;4BACxC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;yBACnC,CAAC,aACO,GAAG,MAAM,UAAU,YAE3B,QAAQ,GACP,CACT,EACA,OAAO,CAAC,aAAa,CAAC,IAAI,yBAAc,GAAG,MAAM,SAAS,YAAG,aAAa,GAAO,IAC9E,IACN,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"message-agent.js","sourceRoot":"","sources":["../../../src/components/messages/message-agent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAuB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAatE,MAAM,CAAC,MAAM,YAAY,GAA8C,CAAC,EACpE,MAAM,EACN,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,EACP,aAAa,EACb,UAAU,EACV,MAAM,EACN,GAAG,IAAI,EACV,EAAE,EAAE;;IACD,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,UAAU,CAAC,mCAAI,0BAA0B,CAAC;IAC/D,OAAO,CACH,eACI,SAAS,EAAE,UAAU,CACjB,MAAM,CAAC,WAAW,EAClB;YACI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;SACzC,EACD,SAAS,CACZ,aACO,oBAAoB,cAClB,OAAO,aAEjB,cAAK,SAAS,EAAE,MAAM,CAAC,aAAa,YAC/B,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,KAAC,aAAa,OAAK,MAAM,GAAI,CAAC,CAAC,CAAC,eAAO,GAC9D,EACN,MAAC,KAAK,IACF,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAC,GAAG,EACX,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,aACpC,4BAA4B,cAC3B,kCAAkC,aAE1C,MAAM,CAAC,CAAC,CAAC,CACN,QAAQ,CACX,CAAC,CAAC,CAAC,CACA,cACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE;4BACxC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;yBACnC,CAAC,YAED,QAAQ,GACP,CACT,EACA,OAAO,CAAC,aAAa,CAAC,IAAI,CACvB,yBAAa,2BAA2B,YAAE,aAAa,GAAO,CACjE,IACG,IACN,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-avatar.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-avatar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,mBAAmB,CAqBjD,CAAC"}
1
+ {"version":3,"file":"message-avatar.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,mBAAmB,CAuBjD,CAAC"}
@@ -1,14 +1,18 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { BodyText } from '@servicetitan/design-system';
2
3
  import classNames from 'classnames';
4
+ import { useMemo } from 'react';
3
5
  import { ChatParticipantIcon } from '../../models/support-chat';
6
+ import { getNameInitials } from '../../utils/text-utils';
4
7
  import * as Styles from './message-avatar.module.less';
5
8
  export const MessageAvatar = ({ className, icon, name }) => {
6
9
  const isEmpty = icon === ChatParticipantIcon.Empty;
7
10
  const isInitials = icon === ChatParticipantIcon.Initials;
8
11
  const isBot = icon === ChatParticipantIcon.Bot;
12
+ const nameInitials = useMemo(() => getNameInitials(name), [name]);
9
13
  return (_jsx("div", { className: classNames('align-self-end', Styles.userIcon, {
10
14
  [Styles.bot]: isBot,
11
15
  [Styles.system]: isEmpty,
12
- }, className), "data-cy": `chat-avatar-${icon}`, children: isInitials ? name : null }));
16
+ }, className), "data-cy": "titan-chat-avatar", "data-cy2": `titan-chat-avatar-${icon}`, children: _jsx(BodyText, { el: "span", children: isInitials ? nameInitials : null }) }));
13
17
  };
14
18
  //# sourceMappingURL=message-avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-avatar.js","sourceRoot":"","sources":["../../../src/components/messages/message-avatar.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,MAAM,MAAM,8BAA8B,CAAC;AAQvD,MAAM,CAAC,MAAM,aAAa,GAA4B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;IAChF,MAAM,OAAO,GAAG,IAAI,KAAK,mBAAmB,CAAC,KAAK,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,KAAK,mBAAmB,CAAC,QAAQ,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,KAAK,mBAAmB,CAAC,GAAG,CAAC;IAE/C,OAAO,CACH,cACI,SAAS,EAAE,UAAU,CACjB,gBAAgB,EAChB,MAAM,CAAC,QAAQ,EACf;YACI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK;YACnB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO;SAC3B,EACD,SAAS,CACZ,aACQ,eAAe,IAAI,EAAE,YAE7B,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GACvB,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"message-avatar.js","sourceRoot":"","sources":["../../../src/components/messages/message-avatar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAM,OAAO,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,8BAA8B,CAAC;AAQvD,MAAM,CAAC,MAAM,aAAa,GAA4B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;IAChF,MAAM,OAAO,GAAG,IAAI,KAAK,mBAAmB,CAAC,KAAK,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,KAAK,mBAAmB,CAAC,QAAQ,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,KAAK,mBAAmB,CAAC,GAAG,CAAC;IAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAElE,OAAO,CACH,cACI,SAAS,EAAE,UAAU,CACjB,gBAAgB,EAChB,MAAM,CAAC,QAAQ,EACf;YACI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK;YACnB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO;SAC3B,EACD,SAAS,CACZ,aACO,mBAAmB,cACjB,qBAAqB,IAAI,EAAE,YAErC,KAAC,QAAQ,IAAC,EAAE,EAAC,MAAM,YAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAY,GAC/D,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { FC, PropsWithChildren } from 'react';
2
- import { IDataCyProps } from '../../models/component';
3
- export interface IMessageSystemProps extends IDataCyProps {
2
+ export interface IMessageSystemProps {
4
3
  fullWidth?: boolean;
5
4
  className?: string;
5
+ ['data-cy2']?: string;
6
6
  }
7
7
  export declare const MessageSystem: FC<PropsWithChildren<IMessageSystemProps>>;
8
8
  //# sourceMappingURL=message-system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-system.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-system.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAuBpE,CAAC"}
1
+ {"version":3,"file":"message-system.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-system.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG9C,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAwBpE,CAAC"}
@@ -4,9 +4,9 @@ import classNames from 'classnames';
4
4
  import * as Styles from './message-system.module.less';
5
5
  export const MessageSystem = ({ children, className, fullWidth, ...rest }) => {
6
6
  var _a;
7
- const dataCy = (_a = rest['data-cy']) !== null && _a !== void 0 ? _a : 'chat-message-system';
7
+ const dataCy2 = (_a = rest['data-cy2']) !== null && _a !== void 0 ? _a : 'titan-chat-message-system';
8
8
  return (_jsx("div", { className: classNames(Styles.messageRoot, {
9
9
  [Styles.fullWidth]: Boolean(fullWidth),
10
- }, className), "data-cy": dataCy, children: _jsx(Stack, { direction: "column", spacing: "1", className: Styles.messageContent, children: children }) }));
10
+ }, className), "data-cy": "titan-chat-message", "data-cy2": dataCy2, children: _jsx(Stack, { direction: "column", spacing: "1", className: Styles.messageContent, children: children }) }));
11
11
  };
12
12
  //# sourceMappingURL=message-system.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-system.js","sourceRoot":"","sources":["../../../src/components/messages/message-system.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,8BAA8B,CAAC;AAOvD,MAAM,CAAC,MAAM,aAAa,GAA+C,CAAC,EACtE,QAAQ,EACR,SAAS,EACT,SAAS,EACT,GAAG,IAAI,EACV,EAAE,EAAE;;IACD,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,mCAAI,qBAAqB,CAAC;IACxD,OAAO,CACH,cACI,SAAS,EAAE,UAAU,CACjB,MAAM,CAAC,WAAW,EAClB;YACI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;SACzC,EACD,SAAS,CACZ,aACQ,MAAM,YAEf,KAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,GAAG,EAAC,SAAS,EAAE,MAAM,CAAC,cAAc,YACjE,QAAQ,GACL,GACN,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"message-system.js","sourceRoot":"","sources":["../../../src/components/messages/message-system.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,KAAK,MAAM,MAAM,8BAA8B,CAAC;AAQvD,MAAM,CAAC,MAAM,aAAa,GAA+C,CAAC,EACtE,QAAQ,EACR,SAAS,EACT,SAAS,EACT,GAAG,IAAI,EACV,EAAE,EAAE;;IACD,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,UAAU,CAAC,mCAAI,2BAA2B,CAAC;IAChE,OAAO,CACH,cACI,SAAS,EAAE,UAAU,CACjB,MAAM,CAAC,WAAW,EAClB;YACI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;SACzC,EACD,SAAS,CACZ,aACO,oBAAoB,cAClB,OAAO,YAEjB,KAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,GAAG,EAAC,SAAS,EAAE,MAAM,CAAC,cAAc,YACjE,QAAQ,GACL,GACN,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { IDataCyProps } from '../../models/component';
3
- export interface IMessageTimeoutProps extends IDataCyProps {
2
+ export interface IMessageTimeoutProps {
4
3
  onResume: () => void;
5
4
  onReset: () => void;
6
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"message-timeout.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-timeout.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACtD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,oBAAoB,CA+BnD,CAAC"}
1
+ {"version":3,"file":"message-timeout.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-timeout.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AAGxC,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,oBAAoB,CAiCnD,CAAC"}
@@ -2,15 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { BodyText, Divider, Link, Stack } from '@servicetitan/design-system';
3
3
  import { useCallback } from 'react';
4
4
  import { MessageSystem } from './message-system';
5
- export const MessageTimeout = ({ onReset, onResume, ...rest }) => {
6
- var _a;
7
- const dataCy = (_a = rest['data-cy']) !== null && _a !== void 0 ? _a : 'chat-message-timeout';
5
+ export const MessageTimeout = ({ onReset, onResume }) => {
8
6
  const handleResume = useCallback(() => {
9
7
  onResume();
10
8
  }, [onResume]);
11
9
  const handleReset = useCallback(() => {
12
10
  onReset();
13
11
  }, [onReset]);
14
- return (_jsx(MessageSystem, { "data-cy": dataCy, fullWidth: true, children: _jsxs(Stack, { direction: "column", spacing: "2", children: [_jsx(Divider, {}), _jsxs(BodyText, { el: "div", className: "ta-center", children: ["Your session has timed out.", _jsx("br", {}), "Would you like to resume it or start a new one?", _jsx("br", {}), _jsx(Link, { onClick: handleResume, primary: true, "data-cy": `${dataCy}-resume`, children: "Continue session" }), ' ', "or", ' ', _jsx(Link, { onClick: handleReset, primary: true, "data-cy": `${dataCy}-reset`, children: "Start new session" })] })] }) }));
12
+ return (_jsx(MessageSystem, { "data-cy2": "titan-chat-message-timeout", fullWidth: true, children: _jsxs(Stack, { direction: "column", spacing: "2", children: [_jsx(Divider, {}), _jsxs(BodyText, { el: "div", className: "ta-center", children: ["Your session has timed out.", _jsx("br", {}), "Would you like to resume it or start a new one?", _jsx("br", {}), _jsx(Link, { onClick: handleResume, primary: true, "data-cy": "titan-chat-message-timeout-resume", children: "Continue session" }), ' ', "or", ' ', _jsx(Link, { onClick: handleReset, primary: true, "data-cy": "titan-chat-message-timeout-reset", children: "Start new session" })] })] }) }));
15
13
  };
16
14
  //# sourceMappingURL=message-timeout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-timeout.js","sourceRoot":"","sources":["../../../src/components/messages/message-timeout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAM,WAAW,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOjD,MAAM,CAAC,MAAM,cAAc,GAA6B,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;;IACvF,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,mCAAI,sBAAsB,CAAC;IAEzD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,QAAQ,EAAE,CAAC;IACf,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,OAAO,EAAE,CAAC;IACd,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACH,KAAC,aAAa,eAAU,MAAM,EAAE,SAAS,kBACrC,MAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,GAAG,aACjC,KAAC,OAAO,KAAG,EACX,MAAC,QAAQ,IAAC,EAAE,EAAC,KAAK,EAAC,SAAS,EAAC,WAAW,4CAEpC,cAAM,qDAEN,cAAM,EACN,KAAC,IAAI,IAAC,OAAO,EAAE,YAAY,EAAE,OAAO,mBAAU,GAAG,MAAM,SAAS,iCAEzD,EAAC,GAAG,QACR,GAAG,EACN,KAAC,IAAI,IAAC,OAAO,EAAE,WAAW,EAAE,OAAO,mBAAU,GAAG,MAAM,QAAQ,kCAEvD,IACA,IACP,GACI,CACnB,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"message-timeout.js","sourceRoot":"","sources":["../../../src/components/messages/message-timeout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAM,WAAW,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOjD,MAAM,CAAC,MAAM,cAAc,GAA6B,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9E,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,QAAQ,EAAE,CAAC;IACf,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,OAAO,EAAE,CAAC;IACd,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACH,KAAC,aAAa,gBAAU,4BAA4B,EAAC,SAAS,kBAC1D,MAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,GAAG,aACjC,KAAC,OAAO,KAAG,EACX,MAAC,QAAQ,IAAC,EAAE,EAAC,KAAK,EAAC,SAAS,EAAC,WAAW,4CAEpC,cAAM,qDAEN,cAAM,EACN,KAAC,IAAI,IACD,OAAO,EAAE,YAAY,EACrB,OAAO,mBACC,mCAAmC,iCAGxC,EAAC,GAAG,QACR,GAAG,EACN,KAAC,IAAI,IAAC,OAAO,EAAE,WAAW,EAAE,OAAO,mBAAS,kCAAkC,kCAEvE,IACA,IACP,GACI,CACnB,CAAC;AACN,CAAC,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { FC } from 'react';
2
- import { IDataCyProps } from '../../models/component';
3
2
  import { IMessageAvatarProps } from './message-avatar';
4
- export interface IMessageTypingProps extends IDataCyProps {
3
+ export interface IMessageTypingProps {
5
4
  avatar: IMessageAvatarProps;
6
5
  }
7
6
  export declare const MessageTyping: FC<IMessageTypingProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"message-typing.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-typing.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACrD,MAAM,EAAE,mBAAmB,CAAC;CAC/B;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,mBAAmB,CAajD,CAAC"}
1
+ {"version":3,"file":"message-typing.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-typing.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,mBAAmB,CAAC;CAC/B;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,mBAAmB,CAUjD,CAAC"}
@@ -2,9 +2,5 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Stack } from '@servicetitan/design-system';
3
3
  import { MessageAgent } from './message-agent';
4
4
  import * as Styles from './message-typing.module.less';
5
- export const MessageTyping = ({ avatar, ...rest }) => {
6
- var _a;
7
- const dataCy = (_a = rest['data-cy']) !== null && _a !== void 0 ? _a : 'chat-message-typing';
8
- return (_jsx(MessageAgent, { avatar: avatar, "data-cy": dataCy, subtle: true, children: _jsx(Stack, { className: "h-100", alignItems: "center", children: _jsxs("div", { className: Styles.dotsContainer, "data-cy": `${dataCy}-dots`, children: [_jsx("span", { className: Styles.dot }), _jsx("span", { className: Styles.dot }), _jsx("span", { className: Styles.dot })] }) }) }));
9
- };
5
+ export const MessageTyping = ({ avatar }) => (_jsx(MessageAgent, { avatar: avatar, "data-cy2": "titan-chat-message-typing", subtle: true, children: _jsx(Stack, { className: "h-100", alignItems: "center", children: _jsxs("div", { className: Styles.dotsContainer, "data-cy": "titan-chat-message-typing-dots", children: [_jsx("span", { className: Styles.dot }), _jsx("span", { className: Styles.dot }), _jsx("span", { className: Styles.dot })] }) }) }));
10
6
  //# sourceMappingURL=message-typing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-typing.js","sourceRoot":"","sources":["../../../src/components/messages/message-typing.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,8BAA8B,CAAC;AAMvD,MAAM,CAAC,MAAM,aAAa,GAA4B,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;;IAC1E,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,mCAAI,qBAAqB,CAAC;IACxD,OAAO,CACH,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,aAAW,MAAM,EAAE,MAAM,kBACjD,KAAC,KAAK,IAAC,SAAS,EAAC,OAAO,EAAC,UAAU,EAAC,QAAQ,YACxC,eAAK,SAAS,EAAE,MAAM,CAAC,aAAa,aAAW,GAAG,MAAM,OAAO,aAC3D,eAAM,SAAS,EAAE,MAAM,CAAC,GAAG,GAAI,EAC/B,eAAM,SAAS,EAAE,MAAM,CAAC,GAAG,GAAI,EAC/B,eAAM,SAAS,EAAE,MAAM,CAAC,GAAG,GAAI,IAC7B,GACF,GACG,CAClB,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"message-typing.js","sourceRoot":"","sources":["../../../src/components/messages/message-typing.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,8BAA8B,CAAC;AAMvD,MAAM,CAAC,MAAM,aAAa,GAA4B,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAClE,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,cAAW,2BAA2B,EAAC,MAAM,kBACrE,KAAC,KAAK,IAAC,SAAS,EAAC,OAAO,EAAC,UAAU,EAAC,QAAQ,YACxC,eAAK,SAAS,EAAE,MAAM,CAAC,aAAa,aAAU,gCAAgC,aAC1E,eAAM,SAAS,EAAE,MAAM,CAAC,GAAG,GAAI,EAC/B,eAAM,SAAS,EAAE,MAAM,CAAC,GAAG,GAAI,EAC/B,eAAM,SAAS,EAAE,MAAM,CAAC,GAAG,GAAI,IAC7B,GACF,GACG,CAClB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { FC, PropsWithChildren, ReactNode } from 'react';
2
- import { IDataCyProps } from '../../models/component';
3
- export interface IMessageUserProps extends IDataCyProps {
2
+ export interface IMessageUserProps {
4
3
  messageFooter?: ReactNode;
5
4
  isError?: boolean;
6
5
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"message-user.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-user.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACnD,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAoChE,CAAC"}
1
+ {"version":3,"file":"message-user.d.ts","sourceRoot":"","sources":["../../../src/components/messages/message-user.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzD,MAAM,WAAW,iBAAiB;IAC9B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAkChE,CAAC"}
@@ -2,12 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Stack } from '@servicetitan/design-system';
3
3
  import classNames from 'classnames';
4
4
  import * as Styles from './message-user.module.less';
5
- export const MessageUser = ({ children, className, isError, messageFooter, ...rest }) => {
6
- var _a;
7
- const dataCy = (_a = rest['data-cy']) !== null && _a !== void 0 ? _a : 'chat-message-user';
8
- const dataCy2 = isError ? 'chat-message-error' : 'chat-message-normal';
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, {
5
+ export const MessageUser = ({ children, className, isError, messageFooter, }) => {
6
+ return (_jsx("div", { className: classNames(Styles.messageRoot, 'max-w-100', className), "data-cy": "titan-chat-message", "data-cy2": "titan-chat-message-user", children: _jsxs(Stack, { direction: "column", spacing: "1", className: classNames('max-w-100', Styles.messageContent), children: [_jsx("div", { className: classNames(Styles.messageBubble, {
10
7
  [Styles.error]: isError,
11
- }), "data-cy": `${dataCy}-content`, children: children }), Boolean(messageFooter) && (_jsx("div", { className: Styles.messageFooter, "data-cy": `${dataCy}-footer`, children: messageFooter }))] }) }));
8
+ }), "data-cy": "titan-chat-message-content", "data-cy2": "titan-chat-message-content-user", children: children }), Boolean(messageFooter) && (_jsx("div", { className: Styles.messageFooter, "data-cy": "titan-chat-message-footer", children: messageFooter }))] }) }));
12
9
  };
13
10
  //# 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,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"}
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;AAEpC,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AAQrD,MAAM,CAAC,MAAM,WAAW,GAA6C,CAAC,EAClE,QAAQ,EACR,SAAS,EACT,OAAO,EACP,aAAa,GAChB,EAAE,EAAE;IACD,OAAO,CACH,cACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,aACzD,oBAAoB,cACnB,yBAAyB,YAElC,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,aACM,4BAA4B,cAC3B,iCAAiC,YAEzC,QAAQ,GACP,EACL,OAAO,CAAC,aAAa,CAAC,IAAI,CACvB,cAAK,SAAS,EAAE,MAAM,CAAC,aAAa,aAAU,2BAA2B,YACpE,aAAa,GACZ,CACT,IACG,GACN,CACT,CAAC;AACN,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -12,4 +12,5 @@ export { useAvatarProps } from './components/messages/use-avatar-props';
12
12
  export { MultilineText } from './components/common/multiline-text';
13
13
  export * from './stores';
14
14
  export * from './models';
15
+ export * from './utils/text-utils';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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"}
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;AACzB,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -12,4 +12,5 @@ export { useAvatarProps } from './components/messages/use-avatar-props';
12
12
  export { MultilineText } from './components/common/multiline-text';
13
13
  export * from './stores';
14
14
  export * from './models';
15
+ export * from './utils/text-utils';
15
16
  //# sourceMappingURL=index.js.map
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,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"}
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;AACzB,cAAc,oBAAoB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { expect } from '@jest/globals';
2
- import { initTestContainer } from '../../utils/test-utils';
2
+ import { initTestContainer } from '@local/utils';
3
3
  import { ChatInputStore } from '../chat-input.store';
4
4
  const initContainer = initTestContainer(ChatInputStore, () => { });
5
5
  describe('[ChatInputStore]', () => {
@@ -14,19 +14,23 @@ describe('[ChatInputStore]', () => {
14
14
  expect(store.formState.$.message.value).toBe('');
15
15
  const validateResult = await store.formState.validate();
16
16
  expect(validateResult.hasError).toBe(false);
17
+ expect(store.isEmpty).toBe(true);
17
18
  store.formState.$.message.onChange('test');
18
19
  expect(store.formState.$.message.value).toBe('test');
19
20
  const validateResult2 = await store.formState.validate();
20
21
  expect(validateResult2.hasError).toBe(false);
22
+ expect(store.isEmpty).toBe(false);
21
23
  store.formState.$.message.onChange('a'.repeat(6000));
22
24
  expect(store.formState.$.message.value).toBe('a'.repeat(6000));
23
25
  const validateResult3 = await store.formState.validate();
24
26
  expect(validateResult3.hasError).toBe(false);
27
+ expect(store.isEmpty).toBe(false);
25
28
  store.formState.$.message.onChange('a'.repeat(6001));
26
29
  expect(store.formState.$.message.value).toBe('a'.repeat(6001));
27
30
  const validateResult4 = await store.formState.validate();
28
31
  expect(validateResult4.hasError).toBe(true);
29
32
  expect(store.formState.$.message.error).toBe('Message character max is 6000.');
33
+ expect(store.isEmpty).toBe(false);
30
34
  });
31
35
  });
32
36
  //# sourceMappingURL=chat-input.store.test.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"chat-input.store.test.js","sourceRoot":"","sources":["../../../src/stores/__tests__/chat-input.store.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=chat-ui.store.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-ui.store.test.d.ts","sourceRoot":"","sources":["../../../src/stores/__tests__/chat-ui.store.test.ts"],"names":[],"mappings":""}