vue-ts-responsive-grid-layout
Version:
Vue 3 Responsive & Dynamic Grid / Dashboard layout with drag, drop and resizable actions.
136 lines (135 loc) • 4.8 kB
TypeScript
import '@interactjs/auto-start';
import '@interactjs/auto-scroll';
import '@interactjs/actions/drag';
import '@interactjs/actions/resize';
import '@interactjs/modifiers';
import '@interactjs/dev-tools';
import { ICalcXy, IGridItemPosition } from '@/core/griditem/interfaces/grid-item.interfaces';
export interface IGridItemProps {
borderRadiusPx?: number;
dragAllowFrom?: string | null;
dragIgnoreFrom?: string;
dragOption?: {
[key: string]: any;
};
enableEditMode?: boolean;
h: number;
i: string | number;
isBounded?: boolean | null;
isDraggable?: boolean | null;
isMirrored?: boolean | null;
isResizable?: boolean | null;
isStatic?: boolean | null;
maxW?: number;
maxH?: number;
minH?: number;
minW?: number;
preserveAspectRatio?: boolean;
resizeIgnoreFrom?: string | null;
resizeOption?: {
[key: string]: any;
};
showCloseButton?: boolean | null;
useBorderRadius?: boolean | null;
w: number;
x: number;
y: number;
}
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<IGridItemProps, {
h: number;
w: number;
x: number;
y: number;
borderRadiusPx: number;
dragAllowFrom: string | null;
dragIgnoreFrom: string;
dragOption: {
[key: string]: any;
};
enableEditMode: boolean;
i: string | number;
isBounded: boolean | null;
isDraggable: boolean | null;
isMirrored: boolean | null;
isResizable: boolean | null;
isStatic: boolean | null;
maxH: number;
maxW: number;
minH: number;
minW: number;
preserveAspectRatio: boolean;
resizeIgnoreFrom: string | null;
resizeOption: {
[key: string]: any;
};
showCloseButton: boolean | null;
useBorderRadius: boolean | null;
autoSize: () => void;
calcXY: (top: number, left: number) => ICalcXy;
dragging: import("vue").Ref<{
left?: number | undefined;
right?: number | undefined;
top: number;
width: number;
height: number;
} | undefined, IGridItemPosition | {
left?: number | undefined;
right?: number | undefined;
top: number;
width: number;
height: number;
} | undefined>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
"container-resized": (i: string | number, h: number, w: number, height: number, width: number) => any;
drag: (i: string | number, h: number, w: number, height: number, width: number) => any;
dragged: (i: string | number, h: number, w: number, height: number, width: number) => any;
"item-move": (i: string | number, x: number, y: number) => any;
"item-moved": (i: string | number, x: number, y: number) => any;
"remove-grid-item": (i: string | number) => any;
resize: (i: string | number, h: number, w: number, height: number, width: number) => any;
resized: (i: string | number, h: number, w: number, height: number, width: number) => any;
}, string, import("vue").PublicProps, Readonly<IGridItemProps> & Readonly<{
"onContainer-resized"?: ((i: string | number, h: number, w: number, height: number, width: number) => any) | undefined;
onDrag?: ((i: string | number, h: number, w: number, height: number, width: number) => any) | undefined;
onDragged?: ((i: string | number, h: number, w: number, height: number, width: number) => any) | undefined;
"onItem-move"?: ((i: string | number, x: number, y: number) => any) | undefined;
"onItem-moved"?: ((i: string | number, x: number, y: number) => any) | undefined;
"onRemove-grid-item"?: ((i: string | number) => any) | undefined;
onResize?: ((i: string | number, h: number, w: number, height: number, width: number) => any) | undefined;
onResized?: ((i: string | number, h: number, w: number, height: number, width: number) => any) | undefined;
}>, {
borderRadiusPx: number;
dragAllowFrom: string | null;
dragIgnoreFrom: string;
dragOption: {
[key: string]: any;
};
enableEditMode: boolean;
i: string | number;
isBounded: boolean | null;
isDraggable: boolean | null;
isMirrored: boolean | null;
isResizable: boolean | null;
isStatic: boolean | null;
maxW: number;
maxH: number;
minH: number;
minW: number;
preserveAspectRatio: boolean;
resizeIgnoreFrom: string | null;
resizeOption: {
[key: string]: any;
};
showCloseButton: boolean | null;
useBorderRadius: boolean | null;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
default?: (props: {
style: any;
}) => any;
}>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
new (): {
$slots: S;
};
};