@omnedia/ngx-orb
Version:
An Angular standalone component for an animated, interactive 3D orb with procedural GLSL shaders (OGL/WebGL).
42 lines (39 loc) • 1.7 kB
TypeScript
import * as _angular_core from '@angular/core';
import { AfterViewInit, OnDestroy, ElementRef } from '@angular/core';
declare class NgxOrbComponent implements AfterViewInit, OnDestroy {
private platformId;
containerRef: ElementRef<HTMLDivElement>;
canvasWrapperRef: ElementRef<HTMLDivElement>;
set hue(v: number);
set hoverIntensity(v: number);
set rotateOnHover(v: boolean);
set forceHoverState(v: boolean);
hueSignal: _angular_core.WritableSignal<number>;
hoverIntensitySignal: _angular_core.WritableSignal<number>;
rotateOnHoverSignal: _angular_core.WritableSignal<boolean>;
forceHoverStateSignal: _angular_core.WritableSignal<boolean>;
private renderer;
private gl?;
private program?;
private mesh?;
private rafId?;
private initialized;
private lastTime;
private targetHover;
private currentRot;
private running;
private intersectionObserver?;
constructor(platformId: Object);
ngAfterViewInit(): void;
ngOnDestroy(): void;
private observeInView;
private setupOGL;
private resizeHandler;
private handleMouseMove;
private handleMouseLeave;
private updateUniform;
private update;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxOrbComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxOrbComponent, "om-orb", never, { "hue": { "alias": "hue"; "required": false; }; "hoverIntensity": { "alias": "hoverIntensity"; "required": false; }; "rotateOnHover": { "alias": "rotateOnHover"; "required": false; }; "forceHoverState": { "alias": "forceHoverState"; "required": false; }; }, {}, never, ["*"], true, never>;
}
export { NgxOrbComponent };