UNPKG

elmer-ui-core

Version:

web app framework

93 lines (92 loc) 4.12 kB
import { ElmerAnimation, TypeElmerAnimationType } from "../animation/ElmerAnimation"; import { TypeAnimationProperty } from "../animation/ElmerAnimationProperty"; import { ElmerDomQuery } from "./ElmerDomQuery"; declare type TypeAnimationOption = { type: TypeElmerAnimationType; from?: TypeAnimationProperty; to: TypeAnimationProperty; duration: number; beginTime?: number; dom: HTMLElement; optionA?: number; optionP?: number; optionS?: number; onStart?(): void; onFinish?(): void; }; declare type TypeAnimationOptions = { duration: number; beginTime?: number; options: TypeAnimationOption[]; onStart?(): void; onFinish?(): void; }; declare type TypeAnimationParam = { [P in Exclude<keyof TypeAnimationOptions, "options">]?: TypeAnimationOptions[P]; } & { type?: TypeElmerAnimationType; }; declare type TypeShowAnimationParam = TypeAnimationParam & { display?: string; }; export interface IElmerDOM { supportCss3: boolean; attr(dom: HTMLElement | Node | Element, attrName: any, attrValue?: any): any; addClass(dom: HTMLElement | NodeList, className: String): void; byId(id: string, dom?: HTMLElement | null): Element | HTMLElement; contains(parent: HTMLElement | Element | Node, node: HTMLElement | Element | Node): Function; css(dom: NodeList | HTMLElement, key: any, value?: string | number): void; query(queryString: string, dom?: HTMLElement | Node): NodeList; width(dom: HTMLElement): number; height(dom: HTMLElement): number; on(dom: HTMLElement | NodeList, eventName: string, callBack: Function): void; removeClass(dom: HTMLElement | NodeList, className: string): void; removeEvent(dom: HTMLElement | NodeList, eventName: String, callBack?: Function): void; support(key: string): boolean; } export interface IElmerDOMEvent { eventName: string; handler: Function; listener?: EventListenerObject; } export declare class ElmerDOM extends ElmerDomQuery { bindEvents: string[]; supportCss3: boolean; contains: Function; listener: any[]; private eventObj; private mDomModel; constructor(); support(key: string): boolean; byId(id: string, dom?: HTMLElement | Element | null): Element | HTMLElement | null; query(queryString: string, dom?: HTMLElement | null): NodeList; width(dom: HTMLElement): number; height(dom: HTMLElement): number; css(dom: NodeList | HTMLElement | HTMLElement[], key: any, value?: string | number): void; setCss(dom: HTMLElement, key: any, value?: string | number): void; setCss3(dom: HTMLElement, key: string, value?: string | number): void; getCss3(key: string, value: string): string; hasClass(dom: HTMLElement, className: string): boolean; attr(dom: HTMLElement | Node | Element, attrName: any, attrValue?: any): any; addClass(dom: HTMLElement | NodeList | HTMLElement[], className: string): void; removeClass(dom: HTMLElement | NodeList | HTMLElement[], className: string): void; on(dom: any | HTMLElement, eventName: string, callBack: Function, options?: AddEventListenerOptions): void; addEvent(dom: any | HTMLElement, eventName: string, callBack: Function, options?: AddEventListenerOptions): void; removeEvent(dom: any | HTMLElement, eventName: string, callBack: Function, options?: any): void; unbind(dom: HTMLElement): void; getMaxWidth(domList: HTMLElement[] | NodeList): number; find(dom: HTMLElement, selector: string): HTMLElement[]; animation(options: TypeAnimationOption): ElmerAnimation; animations(animationData: TypeAnimationOptions): ElmerAnimation; show(dom: HTMLElement, options?: TypeAnimationParam): void; hide(dom: HTMLElement, options?: TypeAnimationParam): void; slideIn(dom: HTMLElement, options?: TypeShowAnimationParam): void; slideOut(dom: HTMLElement, options?: TypeShowAnimationParam): void; private onAnimationChange; private queryInDom; private getElementsBySelectValue; private getNextSilbingElement; private matchQueryNode; private updateDomClassName; } export {};