UNPKG

radix-vue

Version:

Vue port for Radix UI Primitives.

150 lines (149 loc) 7.46 kB
import type { Ref } from 'vue'; import type { Direction } from '../shared/types'; import type { PrimitiveProps } from '../Primitive'; export type AcceptableValue = string | number | boolean | object; type ArrayOrWrapped<T> = T extends any[] ? T : Array<T>; type ComboboxRootContext<T> = { modelValue: Ref<T | Array<T>>; onValueChange: (val: T) => void; searchTerm: Ref<string>; multiple: Ref<boolean>; disabled: Ref<boolean>; open: Ref<boolean>; onOpenChange: (value: boolean) => void; isUserInputted: Ref<boolean>; filteredOptions: Ref<Array<T>>; contentId: string; contentElement: Ref<HTMLElement | undefined>; onContentElementChange: (el: HTMLElement) => void; inputElement: Ref<HTMLInputElement | undefined>; onInputElementChange: (el: HTMLInputElement) => void; onInputNavigation: (dir: 'up' | 'down' | 'home' | 'end') => void; onInputEnter: () => void; selectedValue: Ref<T | undefined>; onSelectedValueChange: (val: T) => void; parentElement: Ref<HTMLElement | undefined>; }; export declare const injectComboboxRootContext: <T extends ComboboxRootContext<AcceptableValue> | null | undefined = ComboboxRootContext<AcceptableValue>>(fallback?: T | undefined) => T extends null ? ComboboxRootContext<AcceptableValue> | null : ComboboxRootContext<AcceptableValue>, provideComboboxRootContext: (contextValue: ComboboxRootContext<AcceptableValue>) => ComboboxRootContext<AcceptableValue>; export type ComboboxRootEmits<T = AcceptableValue> = { 'update:modelValue': [value: T]; 'update:open': [value: boolean]; 'update:searchTerm': [value: string]; }; export interface ComboboxRootProps<T = AcceptableValue> extends PrimitiveProps { modelValue?: T; defaultValue?: T; open?: boolean; defaultOpen?: boolean; searchTerm?: string; multiple?: boolean; disabled?: boolean; name?: string; dir?: Direction; filterFunction?: (val: ArrayOrWrapped<T>, term: string) => ArrayOrWrapped<T>; displayValue?: (val: T) => string; } declare const _default: <T extends AcceptableValue = AcceptableValue>(__VLS_props: { dir?: Direction | undefined; disabled?: boolean | undefined; multiple?: boolean | undefined; name?: string | undefined; asChild?: boolean | undefined; as?: import('../Primitive').AsTag | import("vue").Component | undefined; defaultOpen?: boolean | undefined; open?: boolean | undefined; "onUpdate:open"?: ((value: boolean) => any) | undefined; defaultValue?: T | undefined; modelValue?: T | undefined; "onUpdate:modelValue"?: ((value: T) => any) | undefined; searchTerm?: string | undefined; filterFunction?: ((val: ArrayOrWrapped<T>, term: string) => ArrayOrWrapped<T>) | undefined; displayValue?: ((val: T) => string) | undefined; "onUpdate:searchTerm"?: ((value: string) => any) | undefined; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: { slots: { default?(_: { activeIndex: number; open: boolean; value: (([{ type: import("vue").PropType<__VLS_NonUndefinedable<T>>; }] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? import('../../node_modules/@vue/shared').IfAny<V, V, D> : V : { type: import("vue").PropType<__VLS_NonUndefinedable<T>>; }) | undefined) & T; }): any; }; attrs: any; emit: ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "update:searchTerm", value: string) => void); } | undefined, __VLS_expose?: ((exposed: import('vue').ShallowUnwrapRef<{}>) => void) | undefined, __VLS_setup?: Promise<{ props: { dir?: Direction | undefined; disabled?: boolean | undefined; multiple?: boolean | undefined; name?: string | undefined; asChild?: boolean | undefined; as?: import('../Primitive').AsTag | import("vue").Component | undefined; defaultOpen?: boolean | undefined; open?: boolean | undefined; "onUpdate:open"?: ((value: boolean) => any) | undefined; defaultValue?: T | undefined; modelValue?: T | undefined; "onUpdate:modelValue"?: ((value: T) => any) | undefined; searchTerm?: string | undefined; filterFunction?: ((val: ArrayOrWrapped<T>, term: string) => ArrayOrWrapped<T>) | undefined; displayValue?: ((val: T) => string) | undefined; "onUpdate:searchTerm"?: ((value: string) => any) | undefined; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps; expose(exposed: import('vue').ShallowUnwrapRef<{}>): void; attrs: any; slots: { default?(_: { activeIndex: number; open: boolean; value: (([{ type: import("vue").PropType<__VLS_NonUndefinedable<T>>; }] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? import('../../node_modules/@vue/shared').IfAny<V, V, D> : V : { type: import("vue").PropType<__VLS_NonUndefinedable<T>>; }) | undefined) & T; }): any; }; emit: ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "update:searchTerm", value: string) => void); }>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }> & { __ctx?: { props: { dir?: Direction | undefined; disabled?: boolean | undefined; multiple?: boolean | undefined; name?: string | undefined; asChild?: boolean | undefined; as?: import('../Primitive').AsTag | import("vue").Component | undefined; defaultOpen?: boolean | undefined; open?: boolean | undefined; "onUpdate:open"?: ((value: boolean) => any) | undefined; defaultValue?: T | undefined; modelValue?: T | undefined; "onUpdate:modelValue"?: ((value: T) => any) | undefined; searchTerm?: string | undefined; filterFunction?: ((val: ArrayOrWrapped<T>, term: string) => ArrayOrWrapped<T>) | undefined; displayValue?: ((val: T) => string) | undefined; "onUpdate:searchTerm"?: ((value: string) => any) | undefined; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps; expose(exposed: import('vue').ShallowUnwrapRef<{}>): void; attrs: any; slots: { default?(_: { activeIndex: number; open: boolean; value: (([{ type: import("vue").PropType<__VLS_NonUndefinedable<T>>; }] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? import('../../node_modules/@vue/shared').IfAny<V, V, D> : V : { type: import("vue").PropType<__VLS_NonUndefinedable<T>>; }) | undefined) & T; }): any; }; emit: ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "update:searchTerm", value: string) => void); } | undefined; }; export default _default; type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;