ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
75 lines (74 loc) • 4.06 kB
TypeScript
import { type AnyObject } from '../_util/type';
import { AttachmentsProps } from '../attachments';
import type { BubbleProps } from '../bubble';
import { ComputedRef, CSSProperties } from 'vue';
import type { ConfigProviderProps as OriAntdConfigProviderProps } from 'ant-design-vue/es/config-provider';
import type { ConversationsProps } from '../conversations';
import type { PromptsProps } from '../prompts';
import type { SenderProps } from '../sender';
import type { SuggestionProps } from '../suggestion';
import type { ThoughtChainProps } from '../thought-chain';
import type { WelcomeProps } from '../welcome';
export interface AntdConfigProviderProps {
iconPrefixCls?: OriAntdConfigProviderProps['iconPrefixCls'];
getTargetContainer?: OriAntdConfigProviderProps['getTargetContainer'];
getPopupContainer?: OriAntdConfigProviderProps['getPopupContainer'];
prefixCls?: OriAntdConfigProviderProps['prefixCls'];
getPrefixCls?: OriAntdConfigProviderProps['getPrefixCls'];
renderEmpty?: OriAntdConfigProviderProps['renderEmpty'];
transformCellText?: OriAntdConfigProviderProps['transformCellText'];
csp?: OriAntdConfigProviderProps['csp'];
input?: OriAntdConfigProviderProps['input'];
autoInsertSpaceInButton?: OriAntdConfigProviderProps['autoInsertSpaceInButton'];
locale?: OriAntdConfigProviderProps['locale'];
pageHeader?: OriAntdConfigProviderProps['pageHeader'];
componentSize?: OriAntdConfigProviderProps['componentSize'];
componentDisabled?: OriAntdConfigProviderProps['componentDisabled'];
direction?: OriAntdConfigProviderProps['direction'];
space?: OriAntdConfigProviderProps['space'];
virtual?: OriAntdConfigProviderProps['virtual'];
dropdownMatchSelectWidth?: OriAntdConfigProviderProps['dropdownMatchSelectWidth'];
form?: OriAntdConfigProviderProps['form'];
pagination?: OriAntdConfigProviderProps['pagination'];
theme?: OriAntdConfigProviderProps['theme'];
select?: OriAntdConfigProviderProps['select'];
wave?: OriAntdConfigProviderProps['wave'];
}
export interface XComponentStyleConfig {
classNames: Record<string, string>;
styles: Record<string, CSSProperties>;
className: string;
style: CSSProperties;
}
export type DefaultPickType = keyof XComponentStyleConfig;
export type ComponentStyleConfig<CompProps extends AnyObject, PickType extends keyof CompProps = DefaultPickType> = Pick<CompProps, PickType | DefaultPickType>;
export interface XComponentsConfig {
bubble?: ComponentStyleConfig<BubbleProps>;
conversations?: ComponentStyleConfig<ConversationsProps>;
prompts?: ComponentStyleConfig<PromptsProps>;
sender?: ComponentStyleConfig<SenderProps>;
suggestion?: ComponentStyleConfig<SuggestionProps>;
thoughtChain?: ComponentStyleConfig<ThoughtChainProps>;
attachments?: ComponentStyleConfig<AttachmentsProps>;
welcome?: ComponentStyleConfig<WelcomeProps>;
}
export type XProviderProps = XComponentsConfig & AntdConfigProviderProps & {};
export declare const globalXProviderApi: import("vue").ShallowRef<XProviderProps, XProviderProps>;
export declare const useXProviderContextProvider: (value: ComputedRef<XProviderProps>) => void;
export declare const useXProviderContextInject: () => ComputedRef<XProviderProps>;
export declare const XProviderContextProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
value: {
type: import("vue").PropType<XProviderProps>;
default: XProviderProps;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
value: {
type: import("vue").PropType<XProviderProps>;
default: XProviderProps;
};
}>> & Readonly<{}>, {
value: XProviderProps;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default XProviderContextProvider;