@jiaozhiye/qm-design-vue
Version:
A Component Library for Vue3.0
54 lines (53 loc) • 1.52 kB
TypeScript
import type { PropType, Ref, CSSProperties, ExtractPropTypes, InjectionKey, StyleValue } from 'vue';
import type { Arrayable } from '../../_utils/types';
type IEvent = {
scrollTop: number;
scrollLeft: number;
};
export declare const _props: {
wrapClassName: {
type: StringConstructor;
};
wrapStyle: {
type: PropType<string | CSSProperties>;
};
barWidth: {
type: NumberConstructor;
default: number;
};
always: {
type: BooleanConstructor;
};
minSize: {
type: NumberConstructor;
default: number;
};
native: {
type: BooleanConstructor;
};
class: {
type: PropType<string | Arrayable<Record<string, boolean>>>;
};
style: {
type: PropType<StyleValue>;
};
};
export declare const _emits: {
scroll: ({ scrollTop, scrollLeft }: IEvent) => boolean;
};
export type ScrollbarProps = ExtractPropTypes<typeof _props>;
export type ScrollbarPropsEmits = typeof _emits;
export type ScrollbarInstance = {
container: Ref<HTMLElement | undefined>;
scrollTop: () => number;
scrollLeft: () => number;
SET_SCROLL_TOP: (value: number, animate?: boolean) => void;
SET_SCROLL_LEFT: (value: number, animate?: boolean) => void;
};
export type ScrollbarInject = {
dragging: Ref<boolean>;
scrollbarElement: Ref<HTMLElement | undefined>;
wrapElement: Ref<HTMLElement | undefined>;
};
export declare const scrollbarContextKey: InjectionKey<ScrollbarInject>;
export {};