@volverjs/ui-vue
Version:
@volverjs/ui-vue is a lightweight Vue 3 component library to accompany @volverjs/style.
325 lines (324 loc) • 12.6 kB
TypeScript
import type { AutoPlacementOptions, FlipOptions, OffsetOptions, ShiftOptions, SizeOptions } from '../../types/floating-ui';
import { Side, Strategy } from '../../constants';
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
modelValue: {
type: BooleanConstructor;
default: undefined;
};
reference: {
type: PropType<HTMLElement | null>;
default: null;
};
role: {
type: PropType<`${import("../../constants").DropdownRole}`>;
default: import("../../constants").DropdownRole;
validator: (value: import("../../constants").DropdownRole) => boolean;
};
modifiers: {
type: PropType<string | string[]>;
default: undefined;
};
placement: {
type: PropType<`${Side}` | `${import("../../constants").Placement}`>;
default: Side;
validator: (value: Side & import("../../constants").Placement) => boolean;
};
strategy: {
type: PropType<`${Strategy}`>;
default: undefined;
validator: (value: Strategy) => boolean;
};
transitionName: {
type: StringConstructor;
default: undefined;
};
offset: {
type: PropType<OffsetOptions | number | string>;
default: number;
};
shift: {
type: PropType<ShiftOptions | boolean>;
default: boolean;
};
flip: {
type: PropType<FlipOptions | boolean>;
default: boolean;
};
size: {
type: PropType<SizeOptions | boolean>;
default: () => {
padding: number;
};
};
autoPlacement: {
type: PropType<AutoPlacementOptions | boolean>;
default: boolean;
};
arrow: {
type: BooleanConstructor;
default: boolean;
};
keepOpen: {
type: BooleanConstructor;
default: boolean;
};
autofocusFirst: {
type: BooleanConstructor;
default: boolean;
};
triggerWidth: {
type: BooleanConstructor;
default: boolean;
};
id: (StringConstructor | NumberConstructor)[];
}>, {
toggle: () => void;
show: () => void;
hide: () => void;
init: (el: HTMLElement) => void;
focusFirst: () => void;
focusFirstListElement: () => void;
focusNext: () => void;
focusPrev: () => void;
customPosition: globalThis.Ref<boolean, boolean>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
"update:modelValue": (...args: any[]) => void;
beforeEnter: (...args: any[]) => void;
afterLeave: (...args: any[]) => void;
enter: (...args: any[]) => void;
afterEnter: (...args: any[]) => void;
enterCancelled: (...args: any[]) => void;
beforeLeave: (...args: any[]) => void;
leave: (...args: any[]) => void;
leaveCancelled: (...args: any[]) => void;
beforeExpand: (...args: any[]) => void;
beforeCollapse: (...args: any[]) => void;
afterExpand: (...args: any[]) => void;
afterCollapse: (...args: any[]) => void;
"before-enter": (...args: any[]) => void;
"after-leave": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
modelValue: {
type: BooleanConstructor;
default: undefined;
};
reference: {
type: PropType<HTMLElement | null>;
default: null;
};
role: {
type: PropType<`${import("../../constants").DropdownRole}`>;
default: import("../../constants").DropdownRole;
validator: (value: import("../../constants").DropdownRole) => boolean;
};
modifiers: {
type: PropType<string | string[]>;
default: undefined;
};
placement: {
type: PropType<`${Side}` | `${import("../../constants").Placement}`>;
default: Side;
validator: (value: Side & import("../../constants").Placement) => boolean;
};
strategy: {
type: PropType<`${Strategy}`>;
default: undefined;
validator: (value: Strategy) => boolean;
};
transitionName: {
type: StringConstructor;
default: undefined;
};
offset: {
type: PropType<OffsetOptions | number | string>;
default: number;
};
shift: {
type: PropType<ShiftOptions | boolean>;
default: boolean;
};
flip: {
type: PropType<FlipOptions | boolean>;
default: boolean;
};
size: {
type: PropType<SizeOptions | boolean>;
default: () => {
padding: number;
};
};
autoPlacement: {
type: PropType<AutoPlacementOptions | boolean>;
default: boolean;
};
arrow: {
type: BooleanConstructor;
default: boolean;
};
keepOpen: {
type: BooleanConstructor;
default: boolean;
};
autofocusFirst: {
type: BooleanConstructor;
default: boolean;
};
triggerWidth: {
type: BooleanConstructor;
default: boolean;
};
id: (StringConstructor | NumberConstructor)[];
}>> & Readonly<{
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
onBeforeEnter?: ((...args: any[]) => any) | undefined;
onAfterLeave?: ((...args: any[]) => any) | undefined;
onEnter?: ((...args: any[]) => any) | undefined;
onAfterEnter?: ((...args: any[]) => any) | undefined;
onEnterCancelled?: ((...args: any[]) => any) | undefined;
onBeforeLeave?: ((...args: any[]) => any) | undefined;
onLeave?: ((...args: any[]) => any) | undefined;
onLeaveCancelled?: ((...args: any[]) => any) | undefined;
onBeforeExpand?: ((...args: any[]) => any) | undefined;
onBeforeCollapse?: ((...args: any[]) => any) | undefined;
onAfterExpand?: ((...args: any[]) => any) | undefined;
onAfterCollapse?: ((...args: any[]) => any) | undefined;
"onBefore-enter"?: ((...args: any[]) => any) | undefined;
"onAfter-leave"?: ((...args: any[]) => any) | undefined;
}>, {
reference: HTMLElement | null;
placement: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
strategy: "absolute" | "fixed";
size: boolean | {
rootBoundary?: import("@floating-ui/core").RootBoundary | undefined;
elementContext?: import("@floating-ui/core").ElementContext | undefined;
altBoundary?: boolean | undefined;
padding?: import("@floating-ui/utils").Padding | undefined;
boundary?: import("@floating-ui/dom").Boundary | undefined;
apply?: ((args: import("@floating-ui/dom").MiddlewareState & {
availableWidth: number;
availableHeight: number;
}) => void | Promise<void>) | undefined;
} | import("@floating-ui/dom").Derivable<{
rootBoundary?: import("@floating-ui/core").RootBoundary | undefined;
elementContext?: import("@floating-ui/core").ElementContext | undefined;
altBoundary?: boolean | undefined;
padding?: import("@floating-ui/utils").Padding | undefined;
boundary?: import("@floating-ui/dom").Boundary | undefined;
apply?: ((args: import("@floating-ui/dom").MiddlewareState & {
availableWidth: number;
availableHeight: number;
}) => void | Promise<void>) | undefined;
}> | undefined;
shift: boolean | {
crossAxis?: boolean | undefined;
rootBoundary?: import("@floating-ui/core").RootBoundary | undefined;
elementContext?: import("@floating-ui/core").ElementContext | undefined;
altBoundary?: boolean | undefined;
padding?: import("@floating-ui/utils").Padding | undefined;
mainAxis?: boolean | undefined;
limiter?: {
fn: (state: import("@floating-ui/core").MiddlewareState) => import("@floating-ui/utils").Coords;
options?: any;
} | undefined;
boundary?: import("@floating-ui/dom").Boundary | undefined;
} | import("@floating-ui/dom").Derivable<{
crossAxis?: boolean | undefined;
rootBoundary?: import("@floating-ui/core").RootBoundary | undefined;
elementContext?: import("@floating-ui/core").ElementContext | undefined;
altBoundary?: boolean | undefined;
padding?: import("@floating-ui/utils").Padding | undefined;
mainAxis?: boolean | undefined;
limiter?: {
fn: (state: import("@floating-ui/core").MiddlewareState) => import("@floating-ui/utils").Coords;
options?: any;
} | undefined;
boundary?: import("@floating-ui/dom").Boundary | undefined;
}> | undefined;
modelValue: boolean;
modifiers: string | string[];
role: "listbox" | "menu";
flip: boolean | {
crossAxis?: boolean | "alignment" | undefined;
rootBoundary?: import("@floating-ui/core").RootBoundary | undefined;
elementContext?: import("@floating-ui/core").ElementContext | undefined;
altBoundary?: boolean | undefined;
padding?: import("@floating-ui/utils").Padding | undefined;
mainAxis?: boolean | undefined;
fallbackPlacements?: Array<import("@floating-ui/utils").Placement> | undefined;
fallbackStrategy?: "bestFit" | "initialPlacement" | undefined;
fallbackAxisSideDirection?: "none" | "start" | "end" | undefined;
flipAlignment?: boolean | undefined;
boundary?: import("@floating-ui/dom").Boundary | undefined;
} | import("@floating-ui/dom").Derivable<{
crossAxis?: boolean | "alignment" | undefined;
rootBoundary?: import("@floating-ui/core").RootBoundary | undefined;
elementContext?: import("@floating-ui/core").ElementContext | undefined;
altBoundary?: boolean | undefined;
padding?: import("@floating-ui/utils").Padding | undefined;
mainAxis?: boolean | undefined;
fallbackPlacements?: Array<import("@floating-ui/utils").Placement> | undefined;
fallbackStrategy?: "bestFit" | "initialPlacement" | undefined;
fallbackAxisSideDirection?: "none" | "start" | "end" | undefined;
flipAlignment?: boolean | undefined;
boundary?: import("@floating-ui/dom").Boundary | undefined;
}> | undefined;
transitionName: string;
offset: string | import("@floating-ui/dom").OffsetOptions | undefined;
autoPlacement: boolean | {
crossAxis?: boolean | undefined;
alignment?: (import("@floating-ui/utils").Alignment | null) | undefined;
autoAlignment?: boolean | undefined;
allowedPlacements?: Array<import("@floating-ui/utils").Placement> | undefined;
rootBoundary?: import("@floating-ui/core").RootBoundary | undefined;
elementContext?: import("@floating-ui/core").ElementContext | undefined;
altBoundary?: boolean | undefined;
padding?: import("@floating-ui/utils").Padding | undefined;
boundary?: import("@floating-ui/dom").Boundary | undefined;
} | import("@floating-ui/dom").Derivable<{
crossAxis?: boolean | undefined;
alignment?: (import("@floating-ui/utils").Alignment | null) | undefined;
autoAlignment?: boolean | undefined;
allowedPlacements?: Array<import("@floating-ui/utils").Placement> | undefined;
rootBoundary?: import("@floating-ui/core").RootBoundary | undefined;
elementContext?: import("@floating-ui/core").ElementContext | undefined;
altBoundary?: boolean | undefined;
padding?: import("@floating-ui/utils").Padding | undefined;
boundary?: import("@floating-ui/dom").Boundary | undefined;
}> | undefined;
arrow: boolean;
keepOpen: boolean;
autofocusFirst: boolean;
triggerWidth: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
default?: (props: {
init: (el: HTMLElement) => void;
show: () => void;
hide: () => void;
toggle: () => void;
expanded: boolean;
aria: {
'aria-controls': string;
'aria-haspopup': boolean;
'aria-expanded': boolean;
};
}) => any;
} & {
before?: (props: {
expanded: boolean;
}) => any;
} & {
items?: (props: {
role: import("../../constants").DropdownItemRole;
}) => any;
} & {
after?: (props: {
expanded: boolean;
}) => any;
}>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
new (): {
$slots: S;
};
};