@aws-amplify/ui-react-ai 0.3.1 → 0.4.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.
- package/dist/esm/components/AIConversation/AIConversation.mjs +31 -27
- package/dist/esm/components/AIConversation/{createProvider.mjs → AIConversationProvider.mjs} +15 -14
- package/dist/esm/components/AIConversation/context/MessageRenderContext.mjs +9 -0
- package/dist/esm/components/AIConversation/context/WelcomeMessageContext.mjs +8 -0
- package/dist/esm/components/AIConversation/createAIConversation.mjs +34 -31
- package/dist/esm/components/AIConversation/views/Controls/ActionsBarControl.mjs +3 -0
- package/dist/esm/components/AIConversation/views/Controls/AttachFileControl.mjs +3 -0
- package/dist/esm/components/AIConversation/views/Controls/AttachmentListControl.mjs +3 -0
- package/dist/esm/components/AIConversation/views/Controls/AvatarControl.mjs +3 -0
- package/dist/esm/components/AIConversation/views/Controls/DefaultMessageControl.mjs +29 -0
- package/dist/esm/components/AIConversation/views/Controls/{FieldControl.mjs → FormControl.mjs} +11 -9
- package/dist/esm/components/AIConversation/views/Controls/MessagesControl.mjs +25 -18
- package/dist/esm/components/AIConversation/views/Controls/PromptControl.mjs +7 -36
- package/dist/esm/components/AIConversation/views/default/MessageList.mjs +3 -0
- package/dist/esm/components/AIConversation/views/default/PromptList.mjs +1 -1
- package/dist/esm/hooks/useAIGeneration.mjs +29 -15
- package/dist/esm/version.mjs +3 -0
- package/dist/index.js +263 -284
- package/dist/types/components/AIConversation/AIConversation.d.ts +2 -16
- package/dist/types/components/AIConversation/AIConversationProvider.d.ts +6 -0
- package/dist/types/components/AIConversation/context/MessageRenderContext.d.ts +5 -0
- package/dist/types/components/AIConversation/context/WelcomeMessageContext.d.ts +8 -0
- package/dist/types/components/AIConversation/context/index.d.ts +3 -0
- package/dist/types/components/AIConversation/types.d.ts +21 -13
- package/dist/types/components/AIConversation/utils.d.ts +2 -2
- package/dist/types/components/AIConversation/views/Controls/DefaultMessageControl.d.ts +2 -0
- package/dist/types/components/AIConversation/views/Controls/{FieldControl.d.ts → FormControl.d.ts} +2 -2
- package/dist/types/components/AIConversation/views/Controls/MessagesControl.d.ts +2 -4
- package/dist/types/components/AIConversation/views/Controls/PromptControl.d.ts +0 -3
- package/dist/types/components/AIConversation/views/Controls/index.d.ts +3 -4
- package/dist/types/components/AIConversation/views/index.d.ts +2 -3
- package/dist/types/hooks/useAIGeneration.d.ts +12 -2
- package/dist/types/types.d.ts +6 -6
- package/dist/types/version.d.ts +1 -0
- package/package.json +20 -6
- package/dist/esm/components/AIConversation/views/Controls/HeaderControl.mjs +0 -34
- package/dist/esm/components/AIConversation/views/ConversationView.mjs +0 -20
- package/dist/types/components/AIConversation/createProvider.d.ts +0 -5
- package/dist/types/components/AIConversation/views/Controls/HeaderControl.d.ts +0 -9
- package/dist/types/components/AIConversation/views/ConversationView.d.ts +0 -2
|
@@ -1,22 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { AIConversationInput, AIConversationProps } from './types';
|
|
1
|
+
import { AIConversation as AIConversationType, AIConversationInput, AIConversationProps } from './types';
|
|
3
2
|
interface AIConversationBaseProps extends AIConversationProps, AIConversationInput {
|
|
4
3
|
}
|
|
5
|
-
declare function AIConversationBase({ actions, avatars, controls, handleSendMessage, messages, responseComponents, suggestedPrompts, variant, isLoading, displayText, allowAttachments, }: AIConversationBaseProps): JSX.Element;
|
|
6
4
|
/**
|
|
7
5
|
* @experimental
|
|
8
6
|
*/
|
|
9
|
-
export declare const AIConversation:
|
|
10
|
-
MessageList: React.ComponentType<{
|
|
11
|
-
messages: import("@aws-amplify/data-schema/dist/esm/ai/ConversationType").ConversationMessage[];
|
|
12
|
-
}> | undefined;
|
|
13
|
-
PromptList: React.ComponentType<{
|
|
14
|
-
suggestedPrompts?: import("./types").SuggestedPrompt[] | undefined;
|
|
15
|
-
setInput: React.Dispatch<React.SetStateAction<import("./context").ConversationInput | undefined>> | undefined;
|
|
16
|
-
}> | undefined;
|
|
17
|
-
Form: NonNullable<React.ComponentType<{
|
|
18
|
-
handleSubmit: (e: React.FormEvent<HTMLFormElement>) => void;
|
|
19
|
-
allowAttachments?: boolean | undefined;
|
|
20
|
-
} & Required<import("./context").ConversationInputContext>> | undefined>;
|
|
21
|
-
};
|
|
7
|
+
export declare const AIConversation: AIConversationType<AIConversationBaseProps>;
|
|
22
8
|
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AIConversationInput, AIConversationProps } from './types';
|
|
3
|
+
export interface AIConversationProviderProps extends AIConversationInput, AIConversationProps {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export declare const AIConversationProvider: ({ actions, allowAttachments, avatars, children, controls, displayText, elements, handleSendMessage, isLoading, messages, responseComponents, suggestedPrompts, variant, welcomeMessage, }: AIConversationProviderProps) => React.JSX.Element;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { MessageRenderer } from '../types';
|
|
3
|
+
export declare const MessageRendererContext: import("react").Context<MessageRenderer | undefined>, MessageRendererProvider: import("react").ComponentType<import("react").PropsWithChildren<MessageRenderer>>, useMessageRenderer: (params?: {
|
|
4
|
+
errorMessage?: string | undefined;
|
|
5
|
+
} | undefined) => MessageRenderer;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
type WelcomeMessageContextProps = React.ReactNode | undefined;
|
|
3
|
+
export declare const WelcomeMessageContext: React.Context<WelcomeMessageContextProps>;
|
|
4
|
+
export declare const WelcomeMessageProvider: ({ children, welcomeMessage, }: {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
welcomeMessage?: React.ReactNode;
|
|
7
|
+
}) => JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -9,4 +9,7 @@ export { ControlsContext, ControlsContextProps, ControlsProvider, } from './Cont
|
|
|
9
9
|
export { LoadingContextProvider } from './LoadingContext';
|
|
10
10
|
export { ResponseComponentsProvider, RESPONSE_COMPONENT_PREFIX, } from './ResponseComponentsContext';
|
|
11
11
|
export { SendMessageContextProvider } from './SendMessageContext';
|
|
12
|
+
export { MessageRendererProvider, MessageRendererContext, useMessageRenderer, } from './MessageRenderContext';
|
|
13
|
+
export { AttachmentProvider, AttachmentContext } from './AttachmentContext';
|
|
14
|
+
export { WelcomeMessageContext, WelcomeMessageProvider, } from './WelcomeMessageContext';
|
|
12
15
|
export * from './elements';
|
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { AIConversationElements } from './context/elements';
|
|
3
|
-
import { ActionsBarControl, AvatarControl,
|
|
3
|
+
import { ActionsBarControl, AvatarControl, FormControl, MessagesControl, PromptControl } from './views';
|
|
4
4
|
import { DisplayTextTemplate } from '@aws-amplify/ui';
|
|
5
5
|
import { AIConversationDisplayText } from './displayText';
|
|
6
|
-
import { ConversationMessage, SendMessage } from '../../types';
|
|
6
|
+
import { ConversationMessage, ImageContentBlock, SendMessage, TextContentBlock } from '../../types';
|
|
7
7
|
import { ControlsContextProps } from './context/ControlsContext';
|
|
8
|
+
import { AIConversationProviderProps } from './AIConversationProvider';
|
|
8
9
|
export interface Controls {
|
|
9
10
|
Avatars: AvatarControl;
|
|
10
11
|
ActionsBar: ActionsBarControl;
|
|
11
|
-
|
|
12
|
-
Header: HeaderControl;
|
|
12
|
+
Form: FormControl;
|
|
13
13
|
Messages: MessagesControl;
|
|
14
14
|
SuggestedPrompts: PromptControl;
|
|
15
15
|
}
|
|
16
16
|
export interface AIConversationInput {
|
|
17
17
|
elements?: Partial<AIConversationElements>;
|
|
18
18
|
displayText?: DisplayTextTemplate<AIConversationDisplayText>;
|
|
19
|
+
welcomeMessage?: React.ReactNode;
|
|
19
20
|
suggestedPrompts?: SuggestedPrompt[];
|
|
20
21
|
actions?: CustomAction[];
|
|
21
22
|
responseComponents?: ResponseComponents;
|
|
22
23
|
variant?: MessageVariant;
|
|
23
24
|
controls?: ControlsContextProps;
|
|
24
25
|
allowAttachments?: boolean;
|
|
26
|
+
messageRenderer?: MessageRenderer;
|
|
25
27
|
}
|
|
26
28
|
export interface AIConversationProps {
|
|
27
29
|
messages: ConversationMessage[];
|
|
@@ -29,15 +31,22 @@ export interface AIConversationProps {
|
|
|
29
31
|
avatars?: Avatars;
|
|
30
32
|
isLoading?: boolean;
|
|
31
33
|
}
|
|
32
|
-
export interface AIConversation {
|
|
33
|
-
(props:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
} & Pick<AIConversationProps, 'messages' | 'avatars' | 'handleSendMessage'>) => React.JSX.Element;
|
|
34
|
+
export interface AIConversation<PropsType extends AIConversationProps = AIConversationProps> {
|
|
35
|
+
(props: PropsType): JSX.Element;
|
|
36
|
+
DefaultMessage: () => JSX.Element | undefined;
|
|
37
|
+
Messages: () => JSX.Element;
|
|
38
|
+
Form: () => JSX.Element;
|
|
39
|
+
Provider: (props: AIConversationProviderProps) => React.JSX.Element;
|
|
39
40
|
}
|
|
40
41
|
export type MessageVariant = 'bubble' | 'default';
|
|
42
|
+
export interface MessageRenderer {
|
|
43
|
+
text?: (input: {
|
|
44
|
+
text: TextContentBlock;
|
|
45
|
+
}) => React.JSX.Element;
|
|
46
|
+
image?: (input: {
|
|
47
|
+
image: ImageContentBlock;
|
|
48
|
+
}) => React.JSX.Element;
|
|
49
|
+
}
|
|
41
50
|
export interface Avatar {
|
|
42
51
|
username?: string;
|
|
43
52
|
avatar?: React.ReactNode;
|
|
@@ -52,8 +61,7 @@ export interface CustomAction {
|
|
|
52
61
|
icon: React.ReactNode;
|
|
53
62
|
}
|
|
54
63
|
export interface SuggestedPrompt {
|
|
55
|
-
|
|
56
|
-
header: string;
|
|
64
|
+
component?: React.ReactNode;
|
|
57
65
|
inputText: string;
|
|
58
66
|
}
|
|
59
67
|
type JSONType = 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null' | 'any';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ImageContentBlock } from '../../types';
|
|
2
2
|
export declare function formatDate(date: Date): string;
|
|
3
|
-
export declare function convertBufferToBase64(buffer: ArrayBuffer, format:
|
|
3
|
+
export declare function convertBufferToBase64(buffer: ArrayBuffer, format: ImageContentBlock['format']): string;
|
|
4
4
|
export declare function getImageTypeFromMimeType(mimeType: string): 'png' | 'jpeg' | 'gif' | 'webp';
|
package/dist/types/components/AIConversation/views/Controls/{FieldControl.d.ts → FormControl.d.ts}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { AIConversationElements } from '../../context/elements';
|
|
3
3
|
import { AttachFileControl } from './AttachFileControl';
|
|
4
|
-
export declare const
|
|
5
|
-
export interface
|
|
4
|
+
export declare const FormControl: FormControl;
|
|
5
|
+
export interface FormControl {
|
|
6
6
|
(): React.JSX.Element;
|
|
7
7
|
AttachFile: AttachFileControl;
|
|
8
8
|
InputContainer: AIConversationElements['View'];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { AIConversationElements } from '../../context/elements';
|
|
3
3
|
import { ActionsBarControl } from './ActionsBarControl';
|
|
4
4
|
import { AvatarControl } from './AvatarControl';
|
|
@@ -14,9 +14,7 @@ interface MessageControl<T extends Partial<AIConversationElements> = AIConversat
|
|
|
14
14
|
}
|
|
15
15
|
export declare const MessagesControl: MessagesControl;
|
|
16
16
|
export interface MessagesControl {
|
|
17
|
-
(
|
|
18
|
-
renderMessage?: (message: ConversationMessage) => React.ReactNode;
|
|
19
|
-
}): JSX.Element;
|
|
17
|
+
(): JSX.Element;
|
|
20
18
|
ActionsBar: ActionsBarControl;
|
|
21
19
|
Avatar: AvatarControl;
|
|
22
20
|
Container: AIConversationElements['View'];
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { AIConversationElements } from '../../context';
|
|
3
3
|
export declare const PromptControl: PromptControl;
|
|
4
|
-
export declare const AutoHidablePromptControl: () => JSX.Element | undefined;
|
|
5
4
|
export interface PromptControl {
|
|
6
5
|
(): React.JSX.Element;
|
|
7
6
|
Container: AIConversationElements['View'];
|
|
8
|
-
Header: AIConversationElements['Heading'];
|
|
9
|
-
Icon: AIConversationElements['Icon'];
|
|
10
7
|
PromptGroup: AIConversationElements['View'];
|
|
11
8
|
PromptCard: AIConversationElements['Button'];
|
|
12
9
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ActionsBarControl } from './ActionsBarControl';
|
|
2
2
|
import { AvatarControl } from './AvatarControl';
|
|
3
|
-
import {
|
|
4
|
-
import { FieldControl } from './FieldControl';
|
|
3
|
+
import { FormControl } from './FormControl';
|
|
5
4
|
import { MessagesControl } from './MessagesControl';
|
|
6
|
-
import {
|
|
7
|
-
export { ActionsBarControl, AvatarControl,
|
|
5
|
+
import { PromptControl } from './PromptControl';
|
|
6
|
+
export { ActionsBarControl, AvatarControl, FormControl, MessagesControl, PromptControl, };
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export { ActionsBarControl, AvatarControl, Conversation, FieldControl, HeaderControl, MessagesControl, PromptControl, };
|
|
1
|
+
import { ActionsBarControl, AvatarControl, FormControl, MessagesControl, PromptControl } from './Controls';
|
|
2
|
+
export { ActionsBarControl, AvatarControl, FormControl, MessagesControl, PromptControl, };
|
|
@@ -3,14 +3,24 @@ import { V6Client } from '@aws-amplify/api-graphql';
|
|
|
3
3
|
import { getSchema } from '../types';
|
|
4
4
|
export interface UseAIGenerationHookWrapper<Key extends keyof AIGenerationClient<Schema>['generations'], Schema extends Record<any, any>> {
|
|
5
5
|
useAIGeneration: <U extends Key>(routeName: U) => [
|
|
6
|
-
Awaited<
|
|
6
|
+
Awaited<GenerationState<Schema[U]['returnType']>>,
|
|
7
7
|
(input: Schema[U]['args']) => void
|
|
8
8
|
];
|
|
9
9
|
}
|
|
10
10
|
export type UseAIGenerationHook<Key extends keyof AIGenerationClient<Schema>['generations'], Schema extends Record<any, any>> = (routeName: Key) => [
|
|
11
|
-
Awaited<
|
|
11
|
+
Awaited<GenerationState<Schema[Key]['returnType']>>,
|
|
12
12
|
(input: Schema[Key]['args']) => void
|
|
13
13
|
];
|
|
14
14
|
type AIGenerationClient<T extends Record<any, any>> = Pick<V6Client<T>, 'generations'>;
|
|
15
|
+
interface GraphQLFormattedError {
|
|
16
|
+
readonly message: string;
|
|
17
|
+
readonly errorType: string;
|
|
18
|
+
readonly errorInfo: null | {
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
type GenerationState<T> = Omit<DataState<T>, 'message'> & {
|
|
23
|
+
messages?: GraphQLFormattedError[];
|
|
24
|
+
};
|
|
15
25
|
export declare function createUseAIGeneration<Client extends Record<'generations' | 'conversations', Record<string, any>>, Schema extends getSchema<Client>>(client: Client): UseAIGenerationHook<keyof Client['generations'], Client>;
|
|
16
26
|
export {};
|
package/dist/types/types.d.ts
CHANGED
|
@@ -3,12 +3,12 @@ export type ConversationRoute = V6Client<any>['conversations'][string];
|
|
|
3
3
|
export type Conversation = NonNullable<Awaited<ReturnType<ConversationRoute['create']>>['data']>;
|
|
4
4
|
export type ConversationMessage = NonNullable<Awaited<ReturnType<Conversation['sendMessage']>>['data']>;
|
|
5
5
|
export type ConversationMessageContent = ConversationMessage['content'][number];
|
|
6
|
-
export type
|
|
7
|
-
export type
|
|
8
|
-
export type InputContent = Parameters<Conversation['sendMessage']>[0]['content'][number];
|
|
9
|
-
export type SendMessageContent = Parameters<Conversation['sendMessage']>[0]['content'];
|
|
10
|
-
export type SendMessageContext = Parameters<Conversation['sendMessage']>[0]['aiContext'];
|
|
11
|
-
export type ToolConfiguration = NonNullable<Parameters<Conversation['sendMessage']>[0]['toolConfiguration']>;
|
|
6
|
+
export type TextContentBlock = NonNullable<ConversationMessageContent['text']>;
|
|
7
|
+
export type ImageContentBlock = NonNullable<ConversationMessageContent['image']>;
|
|
8
|
+
export type InputContent = Exclude<Parameters<Conversation['sendMessage']>[0], string>['content'][number];
|
|
9
|
+
export type SendMessageContent = Exclude<Parameters<Conversation['sendMessage']>[0], string>['content'];
|
|
10
|
+
export type SendMessageContext = Exclude<Parameters<Conversation['sendMessage']>[0], string>['aiContext'];
|
|
11
|
+
export type ToolConfiguration = NonNullable<Exclude<Parameters<Conversation['sendMessage']>[0], string>['toolConfiguration']>;
|
|
12
12
|
export interface SendMesageParameters {
|
|
13
13
|
content: SendMessageContent;
|
|
14
14
|
aiContext?: SendMessageContext;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VERSION = "0.4.0";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/ui-react-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/esm/index.mjs",
|
|
6
6
|
"exports": {
|
|
@@ -43,17 +43,31 @@
|
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@aws-amplify/api-graphql": "^4.3.0",
|
|
46
|
-
"aws-amplify": "^6.6.
|
|
46
|
+
"aws-amplify": "^6.6.5",
|
|
47
47
|
"react": "^16.14.0 || ^17.0 || ^18.0",
|
|
48
48
|
"react-dom": "^16.14.0 || ^17.0 || ^18.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@aws-amplify/ui": "^6.6.
|
|
52
|
-
"@aws-amplify/ui-react": "^6.5.
|
|
53
|
-
"@aws-amplify/ui-react-core": "^3.0.
|
|
51
|
+
"@aws-amplify/ui": "^6.6.5",
|
|
52
|
+
"@aws-amplify/ui-react": "^6.5.5",
|
|
53
|
+
"@aws-amplify/ui-react-core": "^3.0.29"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/jest-when": "^3.5.0",
|
|
57
57
|
"jest-when": "^3.5.1"
|
|
58
|
-
}
|
|
58
|
+
},
|
|
59
|
+
"size-limit": [
|
|
60
|
+
{
|
|
61
|
+
"name": "AIConversation",
|
|
62
|
+
"path": "dist/esm/index.mjs",
|
|
63
|
+
"import": "{ AIConversation }",
|
|
64
|
+
"limit": "25 kB"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "createAIConversation",
|
|
68
|
+
"path": "dist/esm/index.mjs",
|
|
69
|
+
"import": "{ createAIConversation }",
|
|
70
|
+
"limit": "7 kB"
|
|
71
|
+
}
|
|
72
|
+
]
|
|
59
73
|
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
import { withBaseElementProps } from '@aws-amplify/ui-react-core/elements';
|
|
3
|
-
import { AIConversationElements } from '../../context/elements/definitions.mjs';
|
|
4
|
-
|
|
5
|
-
const { View, Button, Icon, Text } = AIConversationElements;
|
|
6
|
-
const HEADER_BLOCK = 'ai-header';
|
|
7
|
-
const HeaderTextBase = withBaseElementProps(Text, {
|
|
8
|
-
className: `${HEADER_BLOCK}__text`,
|
|
9
|
-
});
|
|
10
|
-
const HeaderText = React__default.forwardRef(function HeaderText(props, ref) {
|
|
11
|
-
return React__default.createElement(HeaderTextBase, { ...props, ref: ref });
|
|
12
|
-
});
|
|
13
|
-
const CloseIcon = withBaseElementProps(Icon, {
|
|
14
|
-
className: `${HEADER_BLOCK}__icon`,
|
|
15
|
-
variant: 'close',
|
|
16
|
-
});
|
|
17
|
-
const CloseButtonBase = withBaseElementProps(Button, {
|
|
18
|
-
className: `${HEADER_BLOCK}__button`,
|
|
19
|
-
});
|
|
20
|
-
const CloseButton = React__default.forwardRef(function CloseButton(props, ref) {
|
|
21
|
-
return React__default.createElement(CloseButtonBase, { ...props, ref: ref });
|
|
22
|
-
});
|
|
23
|
-
const Container = withBaseElementProps(View, {
|
|
24
|
-
className: `${HEADER_BLOCK}__container`,
|
|
25
|
-
});
|
|
26
|
-
const HeaderControl = () => (React__default.createElement(Container, null,
|
|
27
|
-
React__default.createElement(HeaderText, null, "Raven Chat"),
|
|
28
|
-
React__default.createElement(CloseButton, null,
|
|
29
|
-
React__default.createElement(CloseIcon, null))));
|
|
30
|
-
HeaderControl.Container = Container;
|
|
31
|
-
HeaderControl.Text = HeaderText;
|
|
32
|
-
HeaderControl.Button = CloseButton;
|
|
33
|
-
|
|
34
|
-
export { HeaderControl };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
import { ViewElement } from '../context/elements/definitions.mjs';
|
|
3
|
-
import './Controls/ActionsBarControl.mjs';
|
|
4
|
-
import './Controls/AvatarControl.mjs';
|
|
5
|
-
import { HeaderControl } from './Controls/HeaderControl.mjs';
|
|
6
|
-
import { FieldControl } from './Controls/FieldControl.mjs';
|
|
7
|
-
import { MessagesControl } from './Controls/MessagesControl.mjs';
|
|
8
|
-
import { AutoHidablePromptControl } from './Controls/PromptControl.mjs';
|
|
9
|
-
|
|
10
|
-
function Conversation() {
|
|
11
|
-
return (React__default.createElement(ViewElement, null,
|
|
12
|
-
React__default.createElement(HeaderControl, null),
|
|
13
|
-
React__default.createElement(ViewElement, null,
|
|
14
|
-
React__default.createElement(AutoHidablePromptControl, null),
|
|
15
|
-
React__default.createElement(MessagesControl, null)),
|
|
16
|
-
React__default.createElement(ViewElement, null,
|
|
17
|
-
React__default.createElement(FieldControl, null))));
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export { Conversation as default };
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { AIConversationInput, AIConversationProps } from './types';
|
|
3
|
-
export default function createProvider({ elements, actions, suggestedPrompts, responseComponents, variant, controls, displayText, allowAttachments, }: Pick<AIConversationInput, 'elements' | 'actions' | 'suggestedPrompts' | 'responseComponents' | 'variant' | 'controls' | 'displayText' | 'allowAttachments'>): ({ children, messages, avatars, handleSendMessage, isLoading, }: {
|
|
4
|
-
children?: React.ReactNode;
|
|
5
|
-
} & Pick<AIConversationProps, "avatars" | "messages" | "isLoading" | "handleSendMessage">) => React.JSX.Element;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { AIConversationElements } from '../../context/elements';
|
|
3
|
-
export declare const HeaderControl: HeaderControl;
|
|
4
|
-
export interface HeaderControl {
|
|
5
|
-
(): React.JSX.Element;
|
|
6
|
-
Container: AIConversationElements['View'];
|
|
7
|
-
Button: AIConversationElements['Button'];
|
|
8
|
-
Text: AIConversationElements['Text'];
|
|
9
|
-
}
|