export default class TimerIcon extends HTMLElement {
rootElement: HTMLDivElement;
borderBackgroundElement: HTMLDivElement;
borderForegroundElement: HTMLDivElement;
iconElement: HTMLDivElement;
textElement: HTMLDivElement;
readonly kBackgroundOpacity: number;
readonly kOuterBorderSize: number;
readonly kAnimateMs: number;
private _value;
private _duration;
private _width;
private _height;
private _borderBg;
private _borderFg;
private _scale;
private _hideAfter;
private _icon;
private _zoom;
private _text;
private _textColor;
private _colorBorderSize;
private _connected;
private _timer;
private _hideTimer;
startTimeMs: number;
static get observedAttributes(): string[];
/** create an instance of TimerIcon with attributes */
static create(o?: {
icon?: string;
zoom?: number;
duration?: number;
width?: string;
height?: string;
bordercolor?: string;
bordersize?: string;
text?: string;
textcolor?: string;
}): TimerIcon;
set scale(s: number | null);
get scale(): number | null;
set bordercolor(c: string | null);
get bordercolor(): string | null;
set bordersize(c: string | null);
get bordersize(): string | null;
set width(w: string | null);
get width(): string | null;
set height(h: string | null);
get height(): string | null;
set duration(s: number | null);
get duration(): number | null;
set hideafter(h: number | null);
get hideafter(): number | null;
set icon(p: string | null);
get icon(): string | null;
set zoom(p: number | null);
get zoom(): number | null;
set text(p: string | null);
get text(): string | null;
set textcolor(p: string | null);
get textcolor(): string | null;
constructor();
init(root: ShadowRoot): void;
connectedCallback(): void;
disconnectedCallback(): void;
attributeChangedCallback(name: string, _oldValue: string | number, newValue: string): void;
layout(): void;
draw(): void;
reset(): void;
advance(): void;
}
declare global {
interface HTMLElementTagNameMap {
'timer-icon': TimerIcon;
}
}