vue-ts-responsive-grid-layout
Version:
Vue 3 Responsive & Dynamic Grid / Dashboard layout with drag, drop and resizable actions.
146 lines (145 loc) • 4.7 kB
TypeScript
import { EventType } from 'mitt';
import elementResizeDetectorMaker from 'element-resize-detector';
import { TLayout } from '@/components';
import { IPlaceholder } from '@/core/gridlayout/interfaces/layout-data.interface';
import { IBreakpoints, IColumns } from './grid-layout-props.interface';
export interface IGridLayoutProps {
autoSize?: boolean;
borderRadiusPx?: number;
breakpoints?: IBreakpoints;
colNum?: number;
cols?: IColumns;
distributeEvenly?: boolean;
horizontalShift?: boolean;
isBounded?: boolean;
isDraggable?: boolean;
isMirrored?: boolean;
isResizable?: boolean;
layout: TLayout;
margin?: number[];
maxRows?: number;
preventCollision?: boolean;
responsive?: boolean;
responsiveLayouts?: {
[key: string]: TLayout;
};
restoreOnDrag?: boolean;
rowHeight?: number;
showCloseButton?: boolean;
showGridLines?: boolean;
transformScale?: number;
useBorderRadius?: boolean;
useCssTransforms?: boolean;
verticalCompact?: boolean;
}
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<IGridLayoutProps, {
defaultGridItem: import("vue").Ref<any, any>;
dragEvent: (eventName?: EventType, id?: string | number, x?: number, y?: number, h?: number, w?: number) => void;
erd: import("vue").Ref<{
listenTo: (element: HTMLElement, callback: (elem: HTMLElement) => void) => void;
removeListener: (element: HTMLElement, callback: (elem: HTMLElement) => void) => void;
removeAllListeners: (element: HTMLElement) => void;
uninstall: (element: HTMLElement) => void;
} | null, elementResizeDetectorMaker.Erd | {
listenTo: (element: HTMLElement, callback: (elem: HTMLElement) => void) => void;
removeListener: (element: HTMLElement, callback: (elem: HTMLElement) => void) => void;
removeAllListeners: (element: HTMLElement) => void;
uninstall: (element: HTMLElement) => void;
} | null>;
isDragging: import("vue").Ref<boolean, boolean>;
lastBreakpoint: import("vue").Ref<string | null, string | null>;
lastLayoutLength: import("vue").Ref<number, number>;
layouts: import("vue").Ref<{
[key: string]: any;
}, {
[key: string]: any;
}>;
mergeStyle: import("vue").Ref<{
[key: string]: string;
}, {
[key: string]: string;
}>;
originalLayout: import("vue").Ref<TLayout | undefined, TLayout | undefined>;
placeholder: import("vue").Ref<{
h: number;
i: number | string;
x: number;
y: number;
w: number;
}, IPlaceholder | {
h: number;
i: number | string;
x: number;
y: number;
w: number;
}>;
width: import("vue").Ref<number | null, number | null>;
layout: TLayout;
autoSize: boolean;
borderRadiusPx: number;
breakpoints: IBreakpoints;
colNum: number;
cols: IColumns;
distributeEvenly: boolean;
horizontalShift: boolean;
isBounded: boolean;
isDraggable: boolean;
isMirrored: boolean;
isResizable: boolean;
margin: number[];
maxRows: number;
preventCollision: boolean;
responsive: boolean;
responsiveLayouts: {
[key: string]: TLayout;
};
restoreOnDrag: boolean;
rowHeight: number;
showCloseButton: boolean;
showGridLines: boolean;
transformScale: number;
useBorderRadius: boolean;
useCssTransforms: boolean;
verticalCompact: boolean;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
[x: string]: any;
} & {
[x: string]: any;
}, string, import("vue").PublicProps, Readonly<IGridLayoutProps> & Readonly<{
[x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
}>, {
borderRadiusPx: number;
isBounded: boolean;
isDraggable: boolean;
isMirrored: boolean;
isResizable: boolean;
showCloseButton: boolean;
useBorderRadius: boolean;
autoSize: boolean;
responsive: boolean;
cols: IColumns;
colNum: number;
rowHeight: number;
margin: number[];
maxRows: number;
transformScale: number;
breakpoints: IBreakpoints;
distributeEvenly: boolean;
horizontalShift: boolean;
preventCollision: boolean;
responsiveLayouts: {
[key: string]: TLayout;
};
restoreOnDrag: boolean;
showGridLines: boolean;
useCssTransforms: boolean;
verticalCompact: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
default?: (props: {}) => any;
}>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
new (): {
$slots: S;
};
};