ivue-material-plus
Version:
A high quality UI components Library with Vue.js
47 lines (41 loc) • 943 B
text/typescript
import { CSSProperties } from 'vue';
export interface Props {
offsetTop: number;
offsetBottom?: number;
useCapture: boolean;
target?: HTMLElement;
}
// 固定状态
export enum AffixStatus {
// 不能执行
None,
// 可以执行
Start,
}
// 状态
export interface AffixState {
// 固定节点style
affixStyle?: AffixStyle;
// 占位节点style
placeholderStyle?: PlaceholderStyle;
// 判断是否可以执行
status: AffixStatus;
// 是否固定
fixed: boolean;
// 上一个目标节点
prevTarget: Window | HTMLElement | null;
}
// 绑定事件的节点
export declare type BindElement = HTMLElement | Window | null | undefined;
// 初始化固定样式
export type AffixStyle = {
width?: string;
height?: string;
top?: string;
bottom?: string;
};
// 初始化占位样式
export type PlaceholderStyle = {
width?: string;
height?: string;
};