3d-grass-title
Version:
A customizable 3D grass-textured title web component using Lit + TypeScript + Three.js
39 lines (38 loc) • 1.06 kB
TypeScript
import { LitElement } from 'lit';
export declare class GrassTitle extends LitElement {
text: string;
color: string;
lightIntensity: number;
rotation: [number, number, number];
cameraDistance: number;
fontUrl?: string;
grassDensity: number;
grassHeight: number;
link?: string;
private scene;
private camera;
private renderer;
private grassField;
private light;
private canvas;
private animationId;
private fontLoader;
private font;
private resizeObserver;
private isAnimating;
static styles: import('lit').CSSResult;
render(): import('lit-html').TemplateResult<1>;
firstUpdated(): void;
disconnectedCallback(): void;
private initThreeJS;
private loadFont;
private createGrassField;
private animateScene;
private setupResizeObserver;
private handleResize;
private cleanup;
updated(changedProperties: Map<string, any>): void;
private handleClick;
private startParticleSpreadAnimation;
private startParticleReturnAnimation;
}