vault66-crt-effect
Version:
A customizable CRT (retro monitor) visual effect for React, Vue, and Web Components
352 lines (351 loc) • 8.81 kB
text/typescript
import { type PropType } from "vue";
import type { CRTOptions } from "../core/options";
type Level = "low" | "medium" | "high" | number;
/**
* Every prop defaults to `undefined` (never `false`/`0`) so that options the
* user doesn't set fall through to the preset and built-in defaults. Vue would
* otherwise coerce absent Boolean props to `false` and override the preset.
*/
declare const CRTEffect: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
preset: {
type: PropType<CRTOptions["preset"]>;
default: undefined;
};
enabled: {
type: BooleanConstructor;
default: undefined;
};
fill: {
type: BooleanConstructor;
default: undefined;
};
theme: {
type: PropType<CRTOptions["theme"]>;
default: undefined;
};
sweepDuration: {
type: NumberConstructor;
default: undefined;
};
sweepThickness: {
type: NumberConstructor;
default: undefined;
};
sweepStyle: {
type: PropType<CRTOptions["sweepStyle"]>;
default: undefined;
};
scanlineOpacity: {
type: NumberConstructor;
default: undefined;
};
scanlineColor: {
type: StringConstructor;
default: undefined;
};
scanlineThickness: {
type: NumberConstructor;
default: undefined;
};
scanlineGap: {
type: NumberConstructor;
default: undefined;
};
scanlineOrientation: {
type: PropType<CRTOptions["scanlineOrientation"]>;
default: undefined;
};
enableScanlines: {
type: BooleanConstructor;
default: undefined;
};
enableSweep: {
type: BooleanConstructor;
default: undefined;
};
enableGlow: {
type: BooleanConstructor;
default: undefined;
};
glowColor: {
type: StringConstructor;
default: undefined;
};
enableEdgeGlow: {
type: BooleanConstructor;
default: undefined;
};
edgeGlowColor: {
type: StringConstructor;
default: undefined;
};
edgeGlowSize: {
type: NumberConstructor;
default: undefined;
};
enableFlicker: {
type: BooleanConstructor;
default: undefined;
};
flickerIntensity: {
type: PropType<Level>;
default: undefined;
};
flickerSpeed: {
type: PropType<Level>;
default: undefined;
};
enableGlitch: {
type: BooleanConstructor;
default: undefined;
};
glitchIntensity: {
type: PropType<Level>;
default: undefined;
};
glitchSpeed: {
type: PropType<Level>;
default: undefined;
};
glitchChromatic: {
type: BooleanConstructor;
default: undefined;
};
enableVignette: {
type: BooleanConstructor;
default: undefined;
};
vignetteIntensity: {
type: NumberConstructor;
default: undefined;
};
enableCurvature: {
type: BooleanConstructor;
default: undefined;
};
curvatureIntensity: {
type: NumberConstructor;
default: undefined;
};
enableGlare: {
type: BooleanConstructor;
default: undefined;
};
glareIntensity: {
type: NumberConstructor;
default: undefined;
};
enableNoise: {
type: BooleanConstructor;
default: undefined;
};
noiseOpacity: {
type: NumberConstructor;
default: undefined;
};
tintText: {
type: BooleanConstructor;
default: undefined;
};
textColor: {
type: StringConstructor;
default: undefined;
};
sweepColor: {
type: StringConstructor;
default: undefined;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
preset: {
type: PropType<CRTOptions["preset"]>;
default: undefined;
};
enabled: {
type: BooleanConstructor;
default: undefined;
};
fill: {
type: BooleanConstructor;
default: undefined;
};
theme: {
type: PropType<CRTOptions["theme"]>;
default: undefined;
};
sweepDuration: {
type: NumberConstructor;
default: undefined;
};
sweepThickness: {
type: NumberConstructor;
default: undefined;
};
sweepStyle: {
type: PropType<CRTOptions["sweepStyle"]>;
default: undefined;
};
scanlineOpacity: {
type: NumberConstructor;
default: undefined;
};
scanlineColor: {
type: StringConstructor;
default: undefined;
};
scanlineThickness: {
type: NumberConstructor;
default: undefined;
};
scanlineGap: {
type: NumberConstructor;
default: undefined;
};
scanlineOrientation: {
type: PropType<CRTOptions["scanlineOrientation"]>;
default: undefined;
};
enableScanlines: {
type: BooleanConstructor;
default: undefined;
};
enableSweep: {
type: BooleanConstructor;
default: undefined;
};
enableGlow: {
type: BooleanConstructor;
default: undefined;
};
glowColor: {
type: StringConstructor;
default: undefined;
};
enableEdgeGlow: {
type: BooleanConstructor;
default: undefined;
};
edgeGlowColor: {
type: StringConstructor;
default: undefined;
};
edgeGlowSize: {
type: NumberConstructor;
default: undefined;
};
enableFlicker: {
type: BooleanConstructor;
default: undefined;
};
flickerIntensity: {
type: PropType<Level>;
default: undefined;
};
flickerSpeed: {
type: PropType<Level>;
default: undefined;
};
enableGlitch: {
type: BooleanConstructor;
default: undefined;
};
glitchIntensity: {
type: PropType<Level>;
default: undefined;
};
glitchSpeed: {
type: PropType<Level>;
default: undefined;
};
glitchChromatic: {
type: BooleanConstructor;
default: undefined;
};
enableVignette: {
type: BooleanConstructor;
default: undefined;
};
vignetteIntensity: {
type: NumberConstructor;
default: undefined;
};
enableCurvature: {
type: BooleanConstructor;
default: undefined;
};
curvatureIntensity: {
type: NumberConstructor;
default: undefined;
};
enableGlare: {
type: BooleanConstructor;
default: undefined;
};
glareIntensity: {
type: NumberConstructor;
default: undefined;
};
enableNoise: {
type: BooleanConstructor;
default: undefined;
};
noiseOpacity: {
type: NumberConstructor;
default: undefined;
};
tintText: {
type: BooleanConstructor;
default: undefined;
};
textColor: {
type: StringConstructor;
default: undefined;
};
sweepColor: {
type: StringConstructor;
default: undefined;
};
}>> & Readonly<{}>, {
preset: import("..").PresetName | undefined;
fill: boolean;
theme: "green" | "amber" | "blue" | "custom" | undefined;
enabled: boolean;
sweepDuration: number;
sweepThickness: number;
sweepStyle: "classic" | "soft" | undefined;
scanlineOpacity: number;
scanlineThickness: number;
scanlineGap: number;
scanlineOrientation: "horizontal" | "vertical" | undefined;
enableScanlines: boolean;
enableSweep: boolean;
enableGlow: boolean;
enableEdgeGlow: boolean;
enableFlicker: boolean;
enableVignette: boolean;
enableGlitch: boolean;
enableCurvature: boolean;
enableGlare: boolean;
enableNoise: boolean;
glitchChromatic: boolean;
curvatureIntensity: number;
glareIntensity: number;
noiseOpacity: number;
glowColor: string;
edgeGlowColor: string;
edgeGlowSize: number;
flickerIntensity: Level;
flickerSpeed: Level;
glitchIntensity: Level;
glitchSpeed: Level;
vignetteIntensity: number;
scanlineColor: string;
tintText: boolean;
textColor: string;
sweepColor: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default CRTEffect;
export { CRTEffect };