hy-masonry
Version:
Animated Masonry Layout as Web Component - Living organisms that morph and breathe
115 lines • 2.57 kB
TypeScript
import { MasonryConfig, MasonryItem, LayoutInfo } from '../types';
export declare class HyMasonry extends HTMLElement {
private config;
private items;
private animationEngine;
private morphingManager;
private interactionHandler;
private layout;
private resizeObserver;
private intersectionObserver;
private container;
constructor();
/**
* Get default configuration
*/
private getDefaultConfig;
/**
* Read configuration from HTML attributes
*/
private readAttributes;
/**
* Connected callback - when element is added to DOM
*/
connectedCallback(): void;
/**
* Disconnected callback - when element is removed from DOM
*/
disconnectedCallback(): void;
/**
* Attribute changed callback
*/
static get observedAttributes(): string[];
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
/**
* Setup component structure
*/
private setupComponent;
/**
* Setup event listeners
*/
private setupEventListeners;
/**
* Setup observers
*/
private setupObservers;
/**
* Apply theme
*/
private applyTheme;
/**
* Add item to masonry
*/
addItem(item: MasonryItem): void;
/**
* Remove item from masonry
*/
removeItem(itemId: string): void;
/**
* Update item
*/
updateItem(itemId: string, newConfig: Partial<MasonryItem>): void;
/**
* Create item element
*/
private createItemElement;
/**
* Update item element
*/
private updateItemElement;
/**
* Refresh layout
*/
refresh(): void;
/**
* Morph item
*/
morphItem(itemId: string, newSize: string, duration?: number): void;
/**
* Reset item to original size
*/
resetItem(itemId: string): void;
/**
* Get item by ID
*/
getItem(itemId: string): MasonryItem | undefined;
/**
* Get all items
*/
getItems(): MasonryItem[];
/**
* Get layout information
*/
getLayoutInfo(): LayoutInfo | null;
/**
* Update configuration
*/
updateConfig(newConfig: Partial<MasonryConfig>): void;
/**
* Throttle function
*/
private throttle;
/**
* Dispatch custom event
*/
private dispatchCustomEvent;
/**
* Cleanup resources
*/
private cleanup;
/**
* Destroy component
*/
destroy(): void;
}
//# sourceMappingURL=hy-masonry.d.ts.map