neumorphic-peripheral
Version:
A lightweight, framework-agnostic JavaScript/TypeScript library for beautiful neumorphic styling
30 lines • 1.49 kB
TypeScript
import { BaseComponentConfig, ComponentInstance, NeumorphicTheme } from '../types';
export declare abstract class BaseComponent implements ComponentInstance {
protected _element: HTMLElement;
protected _config: BaseComponentConfig;
protected _theme: NeumorphicTheme;
protected _listeners: Array<{
element: Element | Window;
event: string;
handler: EventListener;
}>;
protected _destroyed: boolean;
constructor(element: HTMLElement, config?: BaseComponentConfig);
get element(): HTMLElement;
get config(): BaseComponentConfig;
protected abstract init(): void;
protected bindEvents(): void;
protected addEventListener(element: Element | Window, event: string, handler: EventListener, options?: AddEventListenerOptions): void;
protected applyBaseStyles(): void;
protected onThemeChange(): void;
protected setDisabled(disabled: boolean): void;
protected emit(eventName: string, detail?: any): void;
update(newConfig: Partial<BaseComponentConfig>): void;
protected onUpdate(newConfig: Partial<BaseComponentConfig>, oldConfig: BaseComponentConfig): void;
destroy(): void;
protected onDestroy(): void;
protected createShadowStyle(variant?: 'raised' | 'inset' | 'flat'): string;
protected createHoverShadowStyle(variant?: 'raised' | 'inset' | 'flat'): string;
protected createActiveShadowStyle(variant?: 'raised' | 'inset' | 'flat'): string;
}
//# sourceMappingURL=base.d.ts.map