vue-ts-responsive-grid-layout
Version:
Vue 3 Responsive & Dynamic Grid / Dashboard layout with drag, drop and resizable actions.
48 lines (47 loc) • 978 B
TypeScript
export interface ILayoutItemRequired {
i: string | number;
h: number;
w: number;
x: number;
y: number;
}
export interface ILayoutItem extends ILayoutItemRequired {
isDraggable?: boolean;
isResizable?: boolean;
isStatic?: boolean;
maxH?: number;
maxW?: number;
minH?: number;
minW?: number;
moved?: boolean;
}
export type TLayoutItem = ILayoutItemRequired & {
isDraggable?: boolean;
isResizable?: boolean;
isStatic?: boolean;
maxH?: number;
maxW?: number;
minH?: number;
minW?: number;
moved?: boolean;
};
export type TLayout = ILayoutItem[];
export type TResponsiveLayout = {
xxl?: TLayout;
xl?: TLayout;
lg?: TLayout;
md?: TLayout;
sm?: TLayout;
xs?: TLayout;
xxs?: TLayout;
};
export type TBreakpoint = string;
export type TBreakpoints = {
xxl?: number;
xl?: number;
lg?: number;
md?: number;
sm?: number;
xs?: number;
xxs?: number;
};