UNPKG

ag-charts-community

Version:

Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue

77 lines (76 loc) 3.54 kB
import { type BaseAttributeTypeMap, type BaseStyleTypeMap } from '../util/attributeUtil'; import type { BBoxValues } from '../util/bboxinterface'; import { type WidgetEventMap } from './widgetEvents'; import { WidgetListenerHTML } from './widgetListenerHTML'; import { WidgetListenerInternal } from './widgetListenerInternal'; type EventMap = WidgetEventMap; type EventType = keyof WidgetEventMap; interface IWidget<TElement extends HTMLElement> { index: number; domIndex?: number; parent?: Widget; destroy(): void; getElement(): TElement; } export type BeforeWidget<T extends IWidget<HTMLElement>> = T & { domIndex: number; }; declare abstract class WidgetBounds { protected readonly elem: HTMLElement; protected elemContainer?: HTMLDivElement; constructor(elem: HTMLElement); setBounds(bounds: Partial<BBoxValues>): void; getBounds(): BBoxValues; protected static setElementContainer(widget: WidgetBounds, elemContainer: HTMLDivElement): void; } export declare abstract class Widget<TElement extends HTMLElement = HTMLElement, TChildWidget extends IWidget<HTMLElement> = IWidget<HTMLElement>> extends WidgetBounds implements IWidget<TElement> { protected readonly elem: TElement; index: number; domIndex?: number; parent?: Widget; protected readonly children: TChildWidget[]; protected htmlListener?: WidgetListenerHTML; protected internalListener?: WidgetListenerInternal; constructor(elem: TElement); protected abstract destructor(): void; getElement(): TElement; getBoundingClientRect(): DOMRect; get clientWidth(): number; get clientHeight(): number; destroy(): void; setHidden(hidden: boolean): void; isHidden(): boolean; setCursor(cursor: BaseStyleTypeMap['cursor'] | undefined): void; setTextContent(textContent: string | undefined): void; setAriaDescribedBy(ariaDescribedBy: BaseAttributeTypeMap['aria-describedby'] | undefined): void; setAriaHidden(ariaHidden: BaseAttributeTypeMap['aria-hidden'] | undefined): void; setAriaLabel(ariaLabel: BaseAttributeTypeMap['aria-label'] | undefined): void; setInnerHTML(html: string): void; isDisabled(): boolean; private parseFloat; cssLeft(): number; cssTop(): number; cssWidth(): number; cssHeight(): number; focus(): void; setPreventsDefault(preventDefault: boolean): void; setTabIndex(tabIndex: BaseAttributeTypeMap['tabindex']): void; addChild(child: TChildWidget): void; removeChild(child: TChildWidget): void; moveChild(child: TChildWidget, domIndex: number): void; addClass(...tokens: string[]): void; removeClass(...tokens: string[]): void; toggleClass(token: string, force?: boolean): void; protected appendOrInsert(child: HTMLElement, before: TChildWidget | undefined): void; protected addChildToDOM(child: TChildWidget, before: TChildWidget | undefined): void; protected removeChildFromDOM(child: TChildWidget): void; protected onChildAdded(_child: TChildWidget): void; protected onChildRemoved(_child: TChildWidget): void; private getBefore; addListener<K extends EventType>(type: K, listener: (ev: EventMap[K], current: typeof this) => unknown): () => void; removeListener<K extends EventType>(type: K, listener: (ev: EventMap[K], current: typeof this) => unknown): void; setDragTouchEnabled(dragTouchEnabled: boolean): void; private onDispatch; static addWindowEvent(_type: 'page-left', listener: () => unknown): () => void; } export {};