@xlit/grid
Version:
xlit draggable grid layout custom element
44 lines (43 loc) • 1.22 kB
TypeScript
import { LitElement } from 'lit';
import { Layout } from './Layout.js';
import { Item } from './Item.js';
import { Dimension } from './types.js';
interface ItemElement extends Element {
item: Item;
x?: number;
y?: number;
w?: number;
h?: number;
}
export declare class Grid extends LitElement {
static styles: import("lit").CSSResult[];
container: HTMLElement;
cols: number;
gutter: number;
hfactor: number;
layout: Layout;
private containerOffset;
private unitDimension;
private mutationObserver;
private resizeObserver;
private dragState?;
private nextKey;
get unitGutterDimension(): Dimension;
connectedCallback(): Promise<void>;
disconnectedCallback(): void;
scan(): ItemElement[];
private readRectFromItemElement;
protected render(): import("lit").TemplateResult<1>;
private renderItem;
private renderShadowItem;
private _calculateContainerStyle;
private _calculatedMoveItemStyle;
private _calculatedResizeItemStyle;
private _calculateItemStyle;
private calculateViewport;
private handleDragStarted;
private handleDragged;
private handleDropped;
private pxToUnit;
}
export {};