@katechat/ui 1.0.4 → 1.0.5

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 (69) hide show
  1. package/README.md +16 -0
  2. package/dist/types/__mocks__/fileMock.d.ts +3 -0
  3. package/dist/types/__mocks__/fileMock.d.ts.map +1 -0
  4. package/dist/types/__mocks__/styleMock.d.ts +2 -0
  5. package/dist/types/__mocks__/styleMock.d.ts.map +1 -0
  6. package/dist/types/components/chat/ChatMessagesContainer.d.ts +23 -0
  7. package/dist/types/components/chat/ChatMessagesContainer.d.ts.map +1 -0
  8. package/dist/types/components/chat/ChatMessagesList.d.ts +16 -0
  9. package/dist/types/components/chat/ChatMessagesList.d.ts.map +1 -0
  10. package/dist/types/components/chat/index.d.ts +5 -0
  11. package/dist/types/components/chat/index.d.ts.map +1 -0
  12. package/dist/types/components/chat/input/ChatInput.d.ts +22 -0
  13. package/dist/types/components/chat/input/ChatInput.d.ts.map +1 -0
  14. package/dist/types/components/chat/input/index.d.ts +2 -0
  15. package/dist/types/components/chat/input/index.d.ts.map +1 -0
  16. package/dist/types/components/chat/message/ChatMessage.d.ts +16 -0
  17. package/dist/types/components/chat/message/ChatMessage.d.ts.map +1 -0
  18. package/dist/types/components/chat/message/ChatMessagePreview.d.ts +6 -0
  19. package/dist/types/components/chat/message/ChatMessagePreview.d.ts.map +1 -0
  20. package/dist/types/components/chat/message/LinkedChatMessage.d.ts +15 -0
  21. package/dist/types/components/chat/message/LinkedChatMessage.d.ts.map +1 -0
  22. package/dist/types/components/chat/message/MessageStatus.d.ts +6 -0
  23. package/dist/types/components/chat/message/MessageStatus.d.ts.map +1 -0
  24. package/dist/types/components/chat/message/controls/CopyMessageButton.d.ts +7 -0
  25. package/dist/types/components/chat/message/controls/CopyMessageButton.d.ts.map +1 -0
  26. package/dist/types/components/chat/message/index.d.ts +5 -0
  27. package/dist/types/components/chat/message/index.d.ts.map +1 -0
  28. package/dist/types/components/icons/ProviderIcon.d.ts +8 -0
  29. package/dist/types/components/icons/ProviderIcon.d.ts.map +1 -0
  30. package/dist/types/components/icons/index.d.ts +2 -0
  31. package/dist/types/components/icons/index.d.ts.map +1 -0
  32. package/dist/types/components/index.d.ts +4 -0
  33. package/dist/types/components/index.d.ts.map +1 -0
  34. package/dist/types/components/modal/ImagePopup.d.ts +13 -0
  35. package/dist/types/components/modal/ImagePopup.d.ts.map +1 -0
  36. package/dist/types/components/modal/index.d.ts +2 -0
  37. package/dist/types/components/modal/index.d.ts.map +1 -0
  38. package/dist/types/controls/FileDropzone/FileDropzone.d.ts +10 -0
  39. package/dist/types/controls/FileDropzone/FileDropzone.d.ts.map +1 -0
  40. package/dist/types/controls/index.d.ts +2 -0
  41. package/dist/types/controls/index.d.ts.map +1 -0
  42. package/dist/types/core/ai.d.ts +2 -0
  43. package/dist/types/core/ai.d.ts.map +1 -0
  44. package/dist/types/core/index.d.ts +5 -0
  45. package/dist/types/core/index.d.ts.map +1 -0
  46. package/dist/types/core/message.d.ts +57 -0
  47. package/dist/types/core/message.d.ts.map +1 -0
  48. package/dist/types/core/model.d.ts +22 -0
  49. package/dist/types/core/model.d.ts.map +1 -0
  50. package/dist/types/core/user.d.ts +9 -0
  51. package/dist/types/core/user.d.ts.map +1 -0
  52. package/dist/types/hooks/index.d.ts +3 -0
  53. package/dist/types/hooks/index.d.ts.map +1 -0
  54. package/dist/types/hooks/useIntersectionObserver.d.ts +3 -0
  55. package/dist/types/hooks/useIntersectionObserver.d.ts.map +1 -0
  56. package/dist/types/hooks/useTheme.d.ts +14 -0
  57. package/dist/types/hooks/useTheme.d.ts.map +1 -0
  58. package/dist/types/index.d.ts +6 -0
  59. package/dist/types/index.d.ts.map +1 -0
  60. package/dist/types/lib/__tests__/markdown.parser.testUtils.d.ts +13 -0
  61. package/dist/types/lib/__tests__/markdown.parser.testUtils.d.ts.map +1 -0
  62. package/dist/types/lib/assert.d.ts +3 -0
  63. package/dist/types/lib/assert.d.ts.map +1 -0
  64. package/dist/types/lib/markdown.parser.d.ts +11 -0
  65. package/dist/types/lib/markdown.parser.d.ts.map +1 -0
  66. package/dist/types/setupTests.d.ts +2 -0
  67. package/dist/types/setupTests.d.ts.map +1 -0
  68. package/dist/types/{tsconfig.tsbuildinfo → tsconfig.build.tsbuildinfo} +1 -1
  69. package/package.json +4 -3
package/README.md CHANGED
@@ -111,6 +111,22 @@ Custom React hooks:
111
111
 
112
112
  ## Usage
113
113
 
114
+ ### Importing Styles
115
+
116
+ The package includes pre-bundled CSS with all Mantine styles. Import it in your main entry file:
117
+
118
+ ```scss
119
+ // In your main SCSS file
120
+ @import "@katechat/ui/styles.css";
121
+ ```
122
+
123
+ Or in your JavaScript/TypeScript:
124
+
125
+ ```typescript
126
+ // In your main entry file (e.g., index.tsx)
127
+ import "@katechat/ui/styles.css";
128
+ ```
129
+
114
130
  ### Basic Import
115
131
 
116
132
  ```typescript
@@ -0,0 +1,3 @@
1
+ declare const _exports: string;
2
+ export = _exports;
3
+ //# sourceMappingURL=fileMock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileMock.d.ts","sourceRoot":"","sources":["../../../src/__mocks__/fileMock.js"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=styleMock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styleMock.d.ts","sourceRoot":"","sources":["../../../src/__mocks__/styleMock.js"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { Message, Model, PluginProps } from "@/core";
3
+ interface IProps {
4
+ messages?: Message[];
5
+ models: Model[];
6
+ addChatMessage: (message: Message) => void;
7
+ removeMessages: (args: {
8
+ messagesToDelete?: Message[];
9
+ deleteAfter?: Message;
10
+ }) => void;
11
+ loadMoreMessages?: () => void;
12
+ plugins?: React.FC<PluginProps<Message>>[];
13
+ detailsPlugins?: ((message: Message) => React.ReactNode)[];
14
+ streaming?: boolean;
15
+ loading?: boolean;
16
+ loadCompleted?: boolean;
17
+ }
18
+ export interface ChatMessagesContainerRef {
19
+ scrollToBottom: () => void;
20
+ }
21
+ export declare const ChatMessagesContainer: React.ForwardRefExoticComponent<IProps & React.RefAttributes<ChatMessagesContainerRef>>;
22
+ export {};
23
+ //# sourceMappingURL=ChatMessagesContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessagesContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/ChatMessagesContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAG7F,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAMrD,UAAU,MAAM;IACd,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,IAAI,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACxF,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,qBAAqB,yFA0HjC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { Message, Model, PluginProps } from "@/core";
3
+ interface ChatMessagesProps {
4
+ messages: Message[];
5
+ onMessageDeleted?: (args: {
6
+ messagesToDelete?: Message[];
7
+ deleteAfter?: Message;
8
+ }) => void;
9
+ onAddMessage?: (message: Message) => void;
10
+ plugins?: React.FC<PluginProps<Message>>[];
11
+ detailsPlugins?: ((message: Message) => React.ReactNode)[];
12
+ models: Model[];
13
+ }
14
+ export declare const ChatMessagesList: React.FC<ChatMessagesProps>;
15
+ export {};
16
+ //# sourceMappingURL=ChatMessagesList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessagesList.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/ChatMessagesList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAK7D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAIrD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3F,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAC3D,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqMxD,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./message";
2
+ export * from "./input";
3
+ export * from "./ChatMessagesList";
4
+ export { ChatMessagesContainer, type ChatMessagesContainerRef } from "./ChatMessagesContainer";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { ImageInput } from "@/core";
3
+ interface IProps {
4
+ chatId?: string;
5
+ loadCompleted?: boolean;
6
+ disabled?: boolean;
7
+ fullHeight?: boolean;
8
+ uploadAllowed?: boolean;
9
+ streaming: boolean;
10
+ setSending: (value: boolean) => void;
11
+ previousMessages?: string[];
12
+ header?: React.ReactNode;
13
+ inputPlugins?: React.ReactNode;
14
+ uploadFormats?: string[];
15
+ maxUploadFileSize?: number;
16
+ maxImagesCount?: number;
17
+ onSendMessage: (message: string, images?: ImageInput[]) => Promise<void>;
18
+ onDocumentsUpload?: (documents: File[]) => void;
19
+ }
20
+ export declare const ChatInput: ({ loadCompleted, disabled, fullHeight, uploadAllowed, streaming, setSending, previousMessages, header, inputPlugins, uploadFormats, maxUploadFileSize, maxImagesCount, onSendMessage, onDocumentsUpload, }: IProps) => React.JSX.Element;
21
+ export {};
22
+ //# sourceMappingURL=ChatInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/chat/input/ChatInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAIjF,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAKpC,UAAU,MAAM;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;CACjD;AAED,eAAO,MAAM,SAAS,GAAI,4MAevB,MAAM,sBAsNR,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./ChatInput";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/chat/input/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { Model, Message } from "@/core";
3
+ interface ChatMessageProps {
4
+ message: Message;
5
+ index: number;
6
+ disabled?: boolean;
7
+ pluginsLoader?: (message: Message) => React.ReactNode;
8
+ messageDetailsLoader?: (message: Message) => React.ReactNode;
9
+ models?: Model[];
10
+ }
11
+ export declare const ChatMessage: {
12
+ (props: ChatMessageProps): React.JSX.Element;
13
+ displayName: string;
14
+ };
15
+ export {};
16
+ //# sourceMappingURL=ChatMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../../../src/components/chat/message/ChatMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAIvE,OAAO,EAAe,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAQrD,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IACtD,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IAC7D,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,WAAW;YAAW,gBAAgB;;CAsPlD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export declare const ChatMessagePreview: React.FC<{
3
+ html?: string[];
4
+ text?: string;
5
+ }>;
6
+ //# sourceMappingURL=ChatMessagePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessagePreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/chat/message/ChatMessagePreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAgB3E,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { Message, Model } from "@/core";
3
+ interface IProps {
4
+ message: Message;
5
+ parentIndex: number;
6
+ index: number;
7
+ models?: Model[];
8
+ plugins?: React.ReactNode;
9
+ }
10
+ export declare const LinkedChatMessage: {
11
+ ({ message, parentIndex, index, plugins, models }: IProps): React.JSX.Element;
12
+ displayName: string;
13
+ };
14
+ export {};
15
+ //# sourceMappingURL=LinkedChatMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkedChatMessage.d.ts","sourceRoot":"","sources":["../../../../../src/components/chat/message/LinkedChatMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAOxC,UAAU,MAAM;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB;uDAAsD,MAAM;;CAyCzF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { ResponseStatus } from "@/core/message";
3
+ export declare const MessageStatus: ({ status }: {
4
+ status: ResponseStatus;
5
+ }) => React.JSX.Element;
6
+ //# sourceMappingURL=MessageStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageStatus.d.ts","sourceRoot":"","sources":["../../../../../src/components/chat/message/MessageStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA0BhD,eAAO,MAAM,aAAa,GAAI,YAAY;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,sBASnE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ export declare const CopyMessageButton: ({ messageId, messageIndex, linkedMessageIndex, }: {
3
+ messageId: string;
4
+ messageIndex: number;
5
+ linkedMessageIndex?: number;
6
+ }) => React.JSX.Element;
7
+ //# sourceMappingURL=CopyMessageButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyMessageButton.d.ts","sourceRoot":"","sources":["../../../../../../src/components/chat/message/controls/CopyMessageButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,iBAAiB,GAAI,kDAI/B;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,sBAmBA,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./MessageStatus";
2
+ export * from "./ChatMessage";
3
+ export * from "./ChatMessagePreview";
4
+ export * from "./LinkedChatMessage";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/chat/message/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { ApiProvider } from "@/core/ai";
3
+ export declare const ProviderIcon: ({ apiProvider, provider, size, }: {
4
+ apiProvider: ApiProvider;
5
+ provider?: string;
6
+ size?: number;
7
+ }) => React.JSX.Element;
8
+ //# sourceMappingURL=ProviderIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/ProviderIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,eAAO,MAAM,YAAY,GAAI,kCAI1B;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,sBA0BA,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./ProviderIcon";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./chat";
2
+ export * from "./modal";
3
+ export * from "./icons";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ interface IProps {
3
+ fileName: string;
4
+ fileUrl: string;
5
+ mimeType?: string;
6
+ createdAt?: string;
7
+ onOpenSource?: () => void;
8
+ sourceTitle?: string;
9
+ onClose: () => void;
10
+ }
11
+ export declare const ImagePopup: React.FC<IProps>;
12
+ export {};
13
+ //# sourceMappingURL=ImagePopup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImagePopup.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/ImagePopup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAKtD,UAAU,MAAM;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CA6EvC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./ImagePopup";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ interface IProps {
3
+ disabled?: boolean;
4
+ uploadFormats?: string[];
5
+ onFilesAdd: (images: File[]) => void;
6
+ }
7
+ export declare const IMAGE_UPLOAD_FORMATS: string[];
8
+ export declare const FileDropzone: React.FC<IProps>;
9
+ export {};
10
+ //# sourceMappingURL=FileDropzone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileDropzone.d.ts","sourceRoot":"","sources":["../../../../src/controls/FileDropzone/FileDropzone.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAMxE,UAAU,MAAM;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;CACtC;AAED,eAAO,MAAM,oBAAoB,UAA4C,CAAC;AAE9E,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAyGzC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./FileDropzone/FileDropzone";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/controls/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type ApiProvider = "AWS_BEDROCK" | "OPEN_AI" | "YANDEX_FM" | "GOOGLE_VERTEX_AI" | "DEEPSEEK" | "ANTHROPIC";
2
+ //# sourceMappingURL=ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/core/ai.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,kBAAkB,GAAG,UAAU,GAAG,WAAW,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./message";
2
+ export * from "./model";
3
+ export * from "./user";
4
+ export * from "./ai";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { User } from "./user";
2
+ export declare enum MessageType {
3
+ MESSAGE = "message",
4
+ SYSTEM = "system"
5
+ }
6
+ export declare enum MessageRole {
7
+ USER = "user",
8
+ ASSISTANT = "assistant",
9
+ ERROR = "error",
10
+ SYSTEM = "system"
11
+ }
12
+ export declare enum ResponseStatus {
13
+ IN_PROGRESS = "in_progress",
14
+ RAG_SEARCH = "rag_search",
15
+ WEB_SEARCH = "web_search",
16
+ CODE_INTERPRETER = "code_interpreter",
17
+ TOOL_CALL = "tool_call",
18
+ TOOL_CALL_COMPLETED = "tool_call_completed",
19
+ REASONING = "reasoning",
20
+ COMPLETED = "completed",
21
+ ERROR = "error"
22
+ }
23
+ export interface Message<TUser = User, TMetadata = Record<string, unknown>> {
24
+ id: string;
25
+ chatId: string;
26
+ content: string;
27
+ html?: string[];
28
+ role: MessageRole;
29
+ modelId?: string;
30
+ modelName?: string;
31
+ user?: TUser;
32
+ createdAt: string;
33
+ updatedAt: string;
34
+ streaming?: boolean;
35
+ linkedToMessageId?: string;
36
+ linkedMessages?: Message<TUser, TMetadata>[];
37
+ metadata?: TMetadata;
38
+ status?: ResponseStatus;
39
+ statusInfo?: string;
40
+ }
41
+ export interface PluginProps<TMessage = Message> {
42
+ message: TMessage;
43
+ disabled?: boolean;
44
+ onAddMessage?: (message: TMessage) => void;
45
+ onAction?: (messageId: string) => void;
46
+ onActionEnd?: (messageId: string) => void;
47
+ onMessageDeleted?: (args: {
48
+ messagesToDelete?: TMessage[];
49
+ deleteAfter?: TMessage;
50
+ }) => void;
51
+ }
52
+ export interface ImageInput {
53
+ fileName: string;
54
+ mimeType: string;
55
+ bytesBase64: string;
56
+ }
57
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/core/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,oBAAY,cAAc;IACxB,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;IACvB,mBAAmB,wBAAwB;IAC3C,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,OAAO,CAAC,KAAK,GAAG,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IAC7C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW,CAAC,QAAQ,GAAG,OAAO;IAC7C,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,QAAQ,CAAA;KAAE,KAAK,IAAI,CAAC;CAC9F;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,22 @@
1
+ import { ApiProvider } from "./ai";
2
+ import { User } from "./user";
3
+ export declare enum ModelType {
4
+ CHAT = "CHAT",
5
+ EMBEDDING = "EMBEDDING",
6
+ IMAGE_GENERATION = "IMAGE_GENERATION",
7
+ AUDIO_GENERATION = "AUDIO_GENERATION",
8
+ OTHER = "OTHER"
9
+ }
10
+ export interface Model<TUser = User> {
11
+ id: string;
12
+ name: string;
13
+ modelId: string;
14
+ apiProvider: ApiProvider;
15
+ type: ModelType;
16
+ provider: string;
17
+ isActive: boolean;
18
+ imageInput?: boolean;
19
+ maxInputTokens?: number;
20
+ user?: TUser;
21
+ }
22
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/core/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,KAAK,CAAC,KAAK,GAAG,IAAI;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd"}
@@ -0,0 +1,9 @@
1
+ export interface User {
2
+ id: string;
3
+ email: string;
4
+ firstName: string;
5
+ lastName: string;
6
+ avatarUrl?: string;
7
+ defaultModelId?: string;
8
+ }
9
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/core/user.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ export { useIntersectionObserver } from "./useIntersectionObserver";
2
+ export * from "./useTheme";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { DependencyList } from "react";
2
+ export declare function useIntersectionObserver<T extends HTMLElement>(callback: () => void, deps: DependencyList, delay?: number): import("react").RefObject<T | null>;
3
+ //# sourceMappingURL=useIntersectionObserver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIntersectionObserver.d.ts","sourceRoot":"","sources":["../../../src/hooks/useIntersectionObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,OAAO,CAAC;AAE1D,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,SAAI,uCAqBnH"}
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ type ColorScheme = "light" | "dark" | "auto";
3
+ interface ThemeContextType {
4
+ colorScheme: ColorScheme;
5
+ setColorScheme: (value: ColorScheme) => void;
6
+ toggleColorScheme: () => void;
7
+ }
8
+ export declare const ThemeContext: React.Context<ThemeContextType | undefined>;
9
+ export declare const ThemeProvider: React.FC<{
10
+ children: React.ReactNode;
11
+ }>;
12
+ export declare const useTheme: () => ThemeContextType;
13
+ export {};
14
+ //# sourceMappingURL=useTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTheme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAGpE,KAAK,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAG7C,UAAU,gBAAgB;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B;AAGD,eAAO,MAAM,YAAY,6CAAyD,CAAC;AAGnF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAwCjE,CAAC;AAGF,eAAO,MAAM,QAAQ,QAAO,gBAM3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./core";
2
+ export * from "./components";
3
+ export * from "./controls";
4
+ export * from "./hooks";
5
+ export * from "./lib/markdown.parser";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Test the sanitizeUrl function indirectly by checking link rendering
3
+ */
4
+ export declare function testSanitizeUrl(url: string): string;
5
+ /**
6
+ * Test if a URL gets blocked (returns empty href)
7
+ */
8
+ export declare function testUrlBlocked(url: string): boolean;
9
+ /**
10
+ * Test if a URL gets allowed and properly escaped
11
+ */
12
+ export declare function testUrlAllowed(url: string, expectedUrl?: string): boolean;
13
+ //# sourceMappingURL=markdown.parser.testUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.parser.testUtils.d.ts","sourceRoot":"","sources":["../../../../src/lib/__tests__/markdown.parser.testUtils.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAGzE"}
@@ -0,0 +1,3 @@
1
+ export declare function ok<T>(value: T, message?: string | Error): asserts value;
2
+ export declare function notEmpty<T>(value: T | undefined | null): value is T;
3
+ //# sourceMappingURL=assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../../src/lib/assert.ts"],"names":[],"mappings":"AACA,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,KAAK,CAQvE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,CAEnE"}
@@ -0,0 +1,11 @@
1
+ import { Message } from "@/core/message";
2
+ export declare function normalizeMatJAX(input: string): string;
3
+ /**
4
+ * Parse markdown to html blocks
5
+ * @param content Raw markdown
6
+ * @returns Array for formatted HTML blocks to be rendered
7
+ */
8
+ export declare function parseMarkdown(content?: string | null, simple?: boolean): string[];
9
+ export declare function parseChatMessages(messages?: Message[]): Message[];
10
+ export declare function escapeHtml(text?: string | null): string;
11
+ //# sourceMappingURL=markdown.parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.parser.d.ts","sourceRoot":"","sources":["../../../src/lib/markdown.parser.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAe,MAAM,gBAAgB,CAAC;AA0DtD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,UAAQ,GAAG,MAAM,EAAE,CAoB/E;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,EAAE,CAsCrE;AAUD,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGvD"}
@@ -0,0 +1,2 @@
1
+ import "@testing-library/jest-dom";
2
+ //# sourceMappingURL=setupTests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupTests.d.ts","sourceRoot":"","sources":["../../src/setupTests.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC"}