UNPKG

@bitrix24/b24ui-nuxt

Version:

Bitrix24 UI-Kit for developing web applications REST API for NUXT & VUE

79 lines (78 loc) 2.71 kB
import type { CollapsibleRootProps } from 'reka-ui'; import type { VNode } from 'vue'; import type { AppConfig } from '@nuxt/schema'; import theme from '#build/b24ui/chat-reasoning'; import type { IconComponent } from '../types'; import type { ChatShimmerProps } from './ChatShimmer.vue'; import type { ComponentConfig } from '../types/tv'; type ChatReasoning = ComponentConfig<typeof theme, AppConfig, 'chatReasoning'>; export interface ChatReasoningProps extends Pick<CollapsibleRootProps, 'defaultOpen' | 'open' | 'disabled' | 'unmountOnHide'> { /** * The reasoning text content to display. */ text?: string; /** * Whether the reasoning content is currently streaming. * @defaultValue false */ streaming?: boolean; /** * The duration in seconds that the AI spent reasoning. * If not provided, it will be calculated automatically based on streaming time. */ duration?: number; /** * The icon displayed next to the trigger. * @IconifyIcon */ icon?: IconComponent; /** * The position of the chevron icon. * @defaultValue 'trailing' */ chevron?: 'leading' | 'trailing'; /** * The icon displayed as the chevron. * @defaultValue icons.chevronDown * @IconifyIcon */ chevronIcon?: IconComponent; /** * The delay in milliseconds before auto-closing when streaming ends. * Set to `0` to disable auto-close. * @defaultValue 500 */ autoCloseDelay?: number; /** * Customize the [`ChatShimmer`](https://bitrix24.github.io/b24ui/docs/components/chat-shimmer/) component when streaming. */ shimmer?: Partial<Omit<ChatShimmerProps, 'text'>>; class?: any; b24ui?: ChatReasoning['slots']; } export interface ChatReasoningEmits { 'update:open': [value: boolean]; } export interface ChatReasoningSlots { default?(props: { open: boolean; }): VNode[]; } declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ChatReasoningProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { "update:open": (value: boolean) => any; }, string, import("vue").PublicProps, Readonly<ChatReasoningProps> & Readonly<{ "onUpdate:open"?: ((value: boolean) => any) | undefined; }>, { open: boolean; streaming: boolean; unmountOnHide: boolean; chevron: "leading" | "trailing"; autoCloseDelay: number; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ChatReasoningSlots>; type __VLS_WithSlots<T, S> = T & { new (): { $slots: S; }; };