radix-vue
Version:
Vue port for Radix UI Primitives.
158 lines (157 loc) • 5.41 kB
TypeScript
import type { Ref } from 'vue';
import type { DismissableLayerEmits } from '../DismissableLayer';
import type { PopperContentProps } from '../Popper';
export type ComboboxContentImplEmits = DismissableLayerEmits;
export interface ComboboxContentImplProps extends PopperContentProps {
position?: 'inline' | 'popper';
bodyLock?: boolean;
disableOutsidePointerEvents?: boolean;
}
export declare const injectComboboxContentContext: <T extends {
position: Ref<'inline' | 'popper'>;
} | null | undefined = {
position: Ref<'inline' | 'popper'>;
}>(fallback?: T | undefined) => T extends null ? {
position: Ref<'inline' | 'popper'>;
} | null : {
position: Ref<'inline' | 'popper'>;
}, provideComboboxContentContext: (contextValue: {
position: Ref<'inline' | 'popper'>;
}) => {
position: Ref<'inline' | 'popper'>;
};
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
asChild: {
type: import("vue").PropType<boolean>;
};
as: {
type: import("vue").PropType<import('../Primitive').AsTag | import("vue").Component>;
};
position: {
type: import("vue").PropType<"inline" | "popper">;
default: string;
};
align: {
type: import("vue").PropType<"center" | "end" | "start">;
};
disableOutsidePointerEvents: {
type: import("vue").PropType<boolean>;
};
sticky: {
type: import("vue").PropType<"partial" | "always">;
};
side: {
type: import("vue").PropType<"right" | "left" | "bottom" | "top">;
};
sideOffset: {
type: import("vue").PropType<number>;
};
alignOffset: {
type: import("vue").PropType<number>;
};
avoidCollisions: {
type: import("vue").PropType<boolean>;
};
collisionBoundary: {
type: import("vue").PropType<Element | (Element | null)[] | null>;
};
collisionPadding: {
type: import("vue").PropType<number | Partial<Record<"right" | "left" | "bottom" | "top", number>>>;
};
arrowPadding: {
type: import("vue").PropType<number>;
};
hideWhenDetached: {
type: import("vue").PropType<boolean>;
};
updatePositionStrategy: {
type: import("vue").PropType<"always" | "optimized">;
};
onPlaced: {
type: import("vue").PropType<() => void>;
};
prioritizePosition: {
type: import("vue").PropType<boolean>;
};
bodyLock: {
type: import("vue").PropType<boolean>;
};
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
escapeKeyDown: (event: KeyboardEvent) => void;
pointerDownOutside: (event: import('../DismissableLayer').PointerDownOutsideEvent) => void;
focusOutside: (event: import('../DismissableLayer').FocusOutsideEvent) => void;
interactOutside: (event: import('../DismissableLayer').PointerDownOutsideEvent | import('../DismissableLayer').FocusOutsideEvent) => void;
dismiss: () => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
asChild: {
type: import("vue").PropType<boolean>;
};
as: {
type: import("vue").PropType<import('../Primitive').AsTag | import("vue").Component>;
};
position: {
type: import("vue").PropType<"inline" | "popper">;
default: string;
};
align: {
type: import("vue").PropType<"center" | "end" | "start">;
};
disableOutsidePointerEvents: {
type: import("vue").PropType<boolean>;
};
sticky: {
type: import("vue").PropType<"partial" | "always">;
};
side: {
type: import("vue").PropType<"right" | "left" | "bottom" | "top">;
};
sideOffset: {
type: import("vue").PropType<number>;
};
alignOffset: {
type: import("vue").PropType<number>;
};
avoidCollisions: {
type: import("vue").PropType<boolean>;
};
collisionBoundary: {
type: import("vue").PropType<Element | (Element | null)[] | null>;
};
collisionPadding: {
type: import("vue").PropType<number | Partial<Record<"right" | "left" | "bottom" | "top", number>>>;
};
arrowPadding: {
type: import("vue").PropType<number>;
};
hideWhenDetached: {
type: import("vue").PropType<boolean>;
};
updatePositionStrategy: {
type: import("vue").PropType<"always" | "optimized">;
};
onPlaced: {
type: import("vue").PropType<() => void>;
};
prioritizePosition: {
type: import("vue").PropType<boolean>;
};
bodyLock: {
type: import("vue").PropType<boolean>;
};
}>> & {
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
onPointerDownOutside?: ((event: import('../DismissableLayer').PointerDownOutsideEvent) => any) | undefined;
onFocusOutside?: ((event: import('../DismissableLayer').FocusOutsideEvent) => any) | undefined;
onInteractOutside?: ((event: import('../DismissableLayer').PointerDownOutsideEvent | import('../DismissableLayer').FocusOutsideEvent) => any) | undefined;
onDismiss?: (() => any) | undefined;
}, {
position: "inline" | "popper";
}, {}>, {
default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};