asciitorium
Version:
an ASCII CLUI framework
32 lines (31 loc) • 900 B
TypeScript
import { Component, ComponentProps } from '../core/Component.js';
import { State } from '../core/State.js';
export interface ArtOptions extends Omit<ComponentProps, 'children'> {
content?: string | State<string>;
sprite?: string;
children?: string | string[];
}
export declare class Art extends Component {
private frames;
private frameIndex;
private loop;
private timer;
private contentState?;
private isLoading;
private loadError?;
private sprite?;
private spriteTransparentChar?;
private isDestroyed;
constructor(options: ArtOptions);
private startAnimation;
private scheduleNext;
private advanceFrame;
private maybePlaySound;
private clearTimer;
private updateContent;
private updateContentFromAsset;
private extractSpriteName;
private forceRenderIfNeeded;
destroy(): void;
draw(): string[][];
}