ng-cw-v12
Version:
Angular UI Component Library
521 lines (512 loc) • 28.9 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('three'), require('@angular/common')) :
typeof define === 'function' && define.amd ? define('ng-cw-v12/prism-background', ['exports', '@angular/core', 'three', '@angular/common'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["ng-cw-v12"] = global["ng-cw-v12"] || {}, global["ng-cw-v12"]["prism-background"] = {}), global.ng.core, global.THREE, global.ng.common));
})(this, (function (exports, i0, THREE, common) { 'use strict';
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n["default"] = e;
return Object.freeze(n);
}
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
var THREE__namespace = /*#__PURE__*/_interopNamespace(THREE);
;
var vertexShader = "\n precision highp float;\n attribute vec3 position;\n void main() {\n gl_Position = vec4(position.xy, 0.0, 1.0);\n }\n";
var fragmentShader = "\n precision highp float;\n\n uniform vec2 iResolution;\n uniform float iTime;\n\n uniform float uHeight;\n uniform float uBaseHalf;\n uniform mat3 uRot;\n uniform int uUseBaseWobble;\n uniform float uGlow;\n uniform vec2 uOffsetPx;\n uniform float uNoise;\n uniform float uSaturation;\n uniform float uScale;\n uniform float uHueShift;\n uniform float uColorFreq;\n uniform float uBloom;\n uniform float uCenterShift;\n uniform float uInvBaseHalf;\n uniform float uInvHeight;\n uniform float uMinAxis;\n uniform float uPxScale;\n uniform float uTimeScale;\n\n vec4 tanh4(vec4 x){\n vec4 e2x = exp(2.0*x);\n return (e2x - 1.0) / (e2x + 1.0);\n }\n\n float rand(vec2 co){\n return fract(sin(dot(co, vec2(12.9898, 78.233))) * 43758.5453123);\n }\n\n float sdOctaAnisoInv(vec3 p){\n vec3 q = vec3(abs(p.x) * uInvBaseHalf, abs(p.y) * uInvHeight, abs(p.z) * uInvBaseHalf);\n float m = q.x + q.y + q.z - 1.0;\n return m * uMinAxis * 0.5773502691896258;\n }\n\n float sdPyramidUpInv(vec3 p){\n float oct = sdOctaAnisoInv(p);\n float halfSpace = -p.y;\n return max(oct, halfSpace);\n }\n\n mat3 hueRotation(float a){\n float c = cos(a), s = sin(a);\n mat3 W = mat3(\n 0.299, 0.299, 0.299,\n 0.587, 0.587, 0.587,\n 0.114, 0.114, 0.114\n );\n mat3 U = mat3(\n 0.701, -0.299, -0.300,\n -0.587, 0.413, -0.588,\n -0.114, -0.114, 0.886\n );\n mat3 V = mat3(\n 0.168, 0.328, -0.497,\n -0.331, 0.035, 0.296,\n 0.500, -0.500, 0.201\n );\n return W + U * c + V * s;\n }\n\n void main(){\n vec2 f = (gl_FragCoord.xy - 0.5 * iResolution.xy - uOffsetPx) * uPxScale;\n\n float z = 5.0;\n float d = 0.0;\n\n vec3 p;\n vec4 o = vec4(0.0);\n\n float centerShift = uCenterShift;\n float cf = uColorFreq;\n\n mat2 wob = mat2(1.0);\n if (uUseBaseWobble == 1) {\n float t = iTime * uTimeScale;\n float c0 = cos(t + 0.0);\n float c1 = cos(t + 33.0);\n float c2 = cos(t + 11.0);\n wob = mat2(c0, c1, c2, c0);\n }\n\n const int STEPS = 100;\n for (int i = 0; i < STEPS; i++) {\n p = vec3(f, z);\n p.xz = p.xz * wob;\n p = uRot * p;\n vec3 q = p;\n q.y += centerShift;\n d = 0.1 + 0.2 * abs(sdPyramidUpInv(q));\n z -= d;\n o += (sin((p.y + z) * cf + vec4(0.0, 1.0, 2.0, 3.0)) + 1.0) / d;\n }\n\n o = tanh4(o * o * (uGlow * uBloom) / 1e5);\n\n vec3 col = o.rgb;\n float n = rand(gl_FragCoord.xy + vec2(iTime));\n col += (n - 0.5) * uNoise;\n col = clamp(col, 0.0, 1.0);\n\n float L = dot(col, vec3(0.2126, 0.7152, 0.0722));\n col = clamp(mix(vec3(L), col, uSaturation), 0.0, 1.0);\n\n if(abs(uHueShift) > 0.0001){\n col = clamp(hueRotation(uHueShift) * col, 0.0, 1.0);\n }\n\n gl_FragColor = vec4(col, o.a);\n }\n";
var PrismBackgroundComponent = /** @class */ (function () {
function PrismBackgroundComponent(ngZone) {
var _this = this;
this.ngZone = ngZone;
/** 棱镜高度(1-8) */
this.ncHeight = 3.5;
/** 棱镜基础宽度(1-8) */
this.ncBaseWidth = 5.5;
/** 动画类型:rotate, hover, 3drotate */
this.ncAnimationType = 'rotate';
/** 发光强度(0-3) */
this.ncGlow = 1;
/** 偏移量 {x, y} */
this.ncOffset = { x: 0, y: 0 };
/** 噪点强度(0-1) */
this.ncNoise = 0;
/** 画布是否具有 alpha 通道(透明背景) */
this._transparent = true;
/** 棱镜在屏幕空间中的整体比例(1-5) */
this.ncScale = 3.6;
/** 色相偏移(-3.14-3.14) */
this.ncHueShift = 0;
/** 颜色变化频率(0-4) */
this.ncColorFrequency = 1;
/** 悬停反馈强度 */
this.ncHoverStrength = 2;
/** 悬停缓动系数(0-1,数值越高反应越灵敏) */
this.ncInertia = 0.05;
/** 在光泽之上叠加额外的光晕效果(0.5-2) */
this.ncBloom = 1;
/** 若不在屏幕中,是否挂起以节省性能 */
this._suspendWhenOffscreen = false;
/** 动画速度(0-2) */
this.ncTimeScale = 0.5;
/** 背景颜色 */
this.ncBgColor = '#000000';
this.rafId = null;
this.dpr = 1;
this.pointer = { x: 0, y: 0, inside: false };
this.yaw = 0;
this.pitch = 0;
this.roll = 0;
this.targetYaw = 0;
this.targetPitch = 0;
this.wX = 0;
this.wY = 0;
this.wZ = 0;
this.phX = 0;
this.phZ = 0;
this.isVisible = true;
this.t0 = performance.now();
this.renderLoop = function (t) {
var _a, _b, _c;
if (!_this.material || !_this.renderer)
return;
var time = (t - _this.t0) * 0.001;
_this.material.uniforms['iTime'].value = time;
var continueRAF = true;
var NOISE_IS_ZERO = Math.max(0.0, _this.ncNoise) < 1e-6;
var TS = Math.max(0, (_a = _this.ncTimeScale) !== null && _a !== void 0 ? _a : 1);
var HOVSTR = Math.max(0, (_b = _this.ncHoverStrength) !== null && _b !== void 0 ? _b : 1);
var INERT = Math.max(0, Math.min(1, (_c = _this.ncInertia) !== null && _c !== void 0 ? _c : 0.12));
if (_this.ncAnimationType === 'hover') {
_this.material.uniforms['uUseBaseWobble'].value = 0;
var maxPitch = 0.6 * HOVSTR;
var maxYaw = 0.6 * HOVSTR;
_this.targetYaw = (_this.pointer.inside ? -_this.pointer.x : 0) * maxYaw;
_this.targetPitch = (_this.pointer.inside ? _this.pointer.y : 0) * maxPitch;
_this.yaw = _this.lerp(_this.yaw, _this.targetYaw, INERT);
_this.pitch = _this.lerp(_this.pitch, _this.targetPitch, INERT);
_this.roll = _this.lerp(_this.roll, 0, 0.1);
_this.material.uniforms['uRot'].value.copy(_this.setMat3FromEuler(_this.yaw, _this.pitch, _this.roll));
if (NOISE_IS_ZERO) {
var settled = Math.abs(_this.yaw - _this.targetYaw) < 1e-4 &&
Math.abs(_this.pitch - _this.targetPitch) < 1e-4 &&
Math.abs(_this.roll) < 1e-4;
if (settled)
continueRAF = false;
}
}
else if (_this.ncAnimationType === '3drotate') {
_this.material.uniforms['uUseBaseWobble'].value = 0;
var tScaled = time * TS;
_this.yaw = tScaled * _this.wY;
_this.pitch = Math.sin(tScaled * _this.wX + _this.phX) * 0.6;
_this.roll = Math.sin(tScaled * _this.wZ + _this.phZ) * 0.5;
_this.material.uniforms['uRot'].value.copy(_this.setMat3FromEuler(_this.yaw, _this.pitch, _this.roll));
if (TS < 1e-6)
continueRAF = false;
}
else {
_this.material.uniforms['uUseBaseWobble'].value = 1;
var mat = new THREE__namespace.Matrix3();
mat.identity();
_this.material.uniforms['uRot'].value.copy(mat);
if (TS < 1e-6)
continueRAF = false;
}
_this.renderer.render(_this.scene, _this.camera);
if (continueRAF && _this.isVisible) {
_this.rafId = requestAnimationFrame(_this.renderLoop);
}
else {
_this.rafId = null;
}
};
}
Object.defineProperty(PrismBackgroundComponent.prototype, "ncTransparent", {
get: function () {
return this._transparent;
},
set: function (val) {
this._transparent = val !== null && val !== undefined && val !== false && val !== 'false';
},
enumerable: false,
configurable: true
});
Object.defineProperty(PrismBackgroundComponent.prototype, "ncSuspendWhenOffscreen", {
get: function () {
return this._suspendWhenOffscreen;
},
set: function (val) {
this._suspendWhenOffscreen = val !== null && val !== undefined && val !== false && val !== 'false';
},
enumerable: false,
configurable: true
});
PrismBackgroundComponent.prototype.ngOnInit = function () {
var rnd = function () { return Math.random(); };
this.wX = 0.3 + rnd() * 0.6;
this.wY = 0.2 + rnd() * 0.7;
this.wZ = 0.1 + rnd() * 0.5;
this.phX = rnd() * Math.PI * 2;
this.phZ = rnd() * Math.PI * 2;
};
PrismBackgroundComponent.prototype.ngAfterViewInit = function () {
var _this = this;
this.ngZone.runOutsideAngular(function () {
_this.initWebGL();
});
};
PrismBackgroundComponent.prototype.ngOnDestroy = function () {
this.cleanup();
};
PrismBackgroundComponent.prototype.ngOnChanges = function (changes) {
var _this = this;
var _a;
this.updateUniforms();
// 当参数发生改变时,如果动画不在循环状态下(比如时间缩放由0变回1),应该恢复渲染循环
if (this.isVisible) {
this.ngZone.runOutsideAngular(function () { return _this.startRAF(); });
}
// 如果离屏挂起状态改变,需要特殊处理
if (changes['ncSuspendWhenOffscreen']) {
if (this.ncSuspendWhenOffscreen && ((_a = this.containerRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
if (!this.intersectionObserver) {
this.setupIntersectionObserver(this.containerRef.nativeElement);
}
}
else {
if (this.intersectionObserver) {
this.intersectionObserver.disconnect();
this.intersectionObserver = null;
}
if (this.renderer) {
this.ngZone.runOutsideAngular(function () { return _this.startRAF(); });
}
}
}
};
PrismBackgroundComponent.prototype.initWebGL = function () {
var _a, _b, _c, _d;
var container = this.containerRef.nativeElement;
this.dpr = Math.min(2, window.devicePixelRatio || 1);
this.renderer = new THREE__namespace.WebGLRenderer({
alpha: this.ncTransparent,
antialias: false
});
this.renderer.setPixelRatio(this.dpr);
Object.assign(this.renderer.domElement.style, {
position: 'absolute',
inset: '0',
width: '100%',
height: '100%',
display: 'block'
});
container.appendChild(this.renderer.domElement);
this.scene = new THREE__namespace.Scene();
this.camera = new THREE__namespace.OrthographicCamera(-1, 1, 1, -1, 0, 1);
var H = Math.max(0.001, this.ncHeight);
var BW = Math.max(0.001, this.ncBaseWidth);
var BASE_HALF = BW * 0.5;
this.material = new THREE__namespace.RawShaderMaterial({
vertexShader: vertexShader,
fragmentShader: fragmentShader,
transparent: this.ncTransparent,
depthTest: false,
depthWrite: false,
uniforms: {
iResolution: { value: new THREE__namespace.Vector2() },
iTime: { value: 0 },
uHeight: { value: H },
uBaseHalf: { value: BASE_HALF },
uUseBaseWobble: { value: 1 },
uRot: { value: new THREE__namespace.Matrix3() },
uGlow: { value: Math.max(0.0, this.ncGlow) },
uOffsetPx: { value: new THREE__namespace.Vector2(this.ncOffset.x * this.dpr, this.ncOffset.y * this.dpr) },
uNoise: { value: Math.max(0.0, this.ncNoise) },
uSaturation: { value: this.ncTransparent ? 1.5 : 1 },
uScale: { value: Math.max(0.001, this.ncScale) },
uHueShift: { value: (_a = this.ncHueShift) !== null && _a !== void 0 ? _a : 0 },
uColorFreq: { value: Math.max(0.0, (_b = this.ncColorFrequency) !== null && _b !== void 0 ? _b : 1) },
uBloom: { value: Math.max(0.0, (_c = this.ncBloom) !== null && _c !== void 0 ? _c : 1) },
uCenterShift: { value: H * 0.25 },
uInvBaseHalf: { value: 1 / BASE_HALF },
uInvHeight: { value: 1 / H },
uMinAxis: { value: Math.min(BASE_HALF, H) },
uPxScale: { value: 1 },
uTimeScale: { value: Math.max(0, (_d = this.ncTimeScale) !== null && _d !== void 0 ? _d : 1) }
}
});
var geometry = new THREE__namespace.PlaneGeometry(2, 2);
this.mesh = new THREE__namespace.Mesh(geometry, this.material);
this.scene.add(this.mesh);
this.setupResizeObserver(container);
if (this.ncSuspendWhenOffscreen) {
this.setupIntersectionObserver(container);
}
else {
this.startRAF();
}
};
PrismBackgroundComponent.prototype.updateUniforms = function () {
var _a, _b, _c, _d;
if (!this.material)
return;
var H = Math.max(0.001, this.ncHeight);
var BW = Math.max(0.001, this.ncBaseWidth);
var BASE_HALF = BW * 0.5;
var SCALE = Math.max(0.001, this.ncScale);
this.material.uniforms['uHeight'].value = H;
this.material.uniforms['uBaseHalf'].value = BASE_HALF;
this.material.uniforms['uGlow'].value = Math.max(0.0, this.ncGlow);
this.material.uniforms['uOffsetPx'].value.set(this.ncOffset.x * this.dpr, this.ncOffset.y * this.dpr);
this.material.uniforms['uNoise'].value = Math.max(0.0, this.ncNoise);
this.material.uniforms['uSaturation'].value = this.ncTransparent ? 1.5 : 1;
this.material.uniforms['uScale'].value = SCALE;
this.material.uniforms['uHueShift'].value = (_a = this.ncHueShift) !== null && _a !== void 0 ? _a : 0;
this.material.uniforms['uColorFreq'].value = Math.max(0.0, (_b = this.ncColorFrequency) !== null && _b !== void 0 ? _b : 1);
this.material.uniforms['uBloom'].value = Math.max(0.0, (_c = this.ncBloom) !== null && _c !== void 0 ? _c : 1);
this.material.uniforms['uCenterShift'].value = H * 0.25;
this.material.uniforms['uInvBaseHalf'].value = 1 / BASE_HALF;
this.material.uniforms['uInvHeight'].value = 1 / H;
this.material.uniforms['uMinAxis'].value = Math.min(BASE_HALF, H);
this.material.uniforms['uTimeScale'].value = Math.max(0, (_d = this.ncTimeScale) !== null && _d !== void 0 ? _d : 1);
// 更新需要依赖高度和缩放的 uPxScale
var canvasHeight = this.renderer.domElement.height || 1;
this.material.uniforms['uPxScale'].value = 1 / (canvasHeight * 0.1 * SCALE);
// 更新 renderer 的 alpha
if (this.renderer) {
// 通过直接重建背景是否透明
this.renderer.setClearColor(0x000000, this.ncTransparent ? 0 : 1);
this.material.transparent = this.ncTransparent;
}
};
PrismBackgroundComponent.prototype.setupResizeObserver = function (container) {
var _this = this;
this.resizeObserver = new ResizeObserver(function () {
_this.ngZone.runOutsideAngular(function () {
if (!_this.renderer || !container)
return;
var w = container.clientWidth || 1;
var h = container.clientHeight || 1;
_this.renderer.setSize(w, h, false);
var canvas = _this.renderer.domElement;
_this.material.uniforms['iResolution'].value.set(canvas.width, canvas.height);
var SCALE = Math.max(0.001, _this.ncScale);
_this.material.uniforms['uPxScale'].value = 1 / ((canvas.height || 1) * 0.1 * SCALE);
});
});
this.resizeObserver.observe(container);
};
PrismBackgroundComponent.prototype.setupIntersectionObserver = function (container) {
var _this = this;
this.intersectionObserver = new IntersectionObserver(function (entries) {
var vis = entries.some(function (e) { return e.isIntersecting; });
_this.isVisible = vis;
if (vis) {
_this.ngZone.runOutsideAngular(function () { return _this.startRAF(); });
}
else {
_this.stopRAF();
}
});
this.intersectionObserver.observe(container);
};
PrismBackgroundComponent.prototype.lerp = function (a, b, t) {
return a + (b - a) * t;
};
PrismBackgroundComponent.prototype.setMat3FromEuler = function (yawY, pitchX, rollZ) {
var cy = Math.cos(yawY), sy = Math.sin(yawY);
var cx = Math.cos(pitchX), sx = Math.sin(pitchX);
var cz = Math.cos(rollZ), sz = Math.sin(rollZ);
var r00 = cy * cz + sy * sx * sz;
var r01 = -cy * sz + sy * sx * cz;
var r02 = sy * cx;
var r10 = cx * sz;
var r11 = cx * cz;
var r12 = -sx;
var r20 = -sy * cz + cy * sx * sz;
var r21 = sy * sz + cy * sx * cz;
var r22 = cy * cx;
var mat = new THREE__namespace.Matrix3();
mat.set(r00, r01, r02, r10, r11, r12, r20, r21, r22);
return mat;
};
PrismBackgroundComponent.prototype.startRAF = function () {
if (this.rafId === null) {
this.rafId = requestAnimationFrame(this.renderLoop);
}
};
PrismBackgroundComponent.prototype.stopRAF = function () {
if (this.rafId !== null) {
cancelAnimationFrame(this.rafId);
this.rafId = null;
}
};
PrismBackgroundComponent.prototype.cleanup = function () {
var _a, _b;
this.stopRAF();
try {
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
}
catch (e) {
void 0;
}
try {
(_b = this.intersectionObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
}
catch (e) {
void 0;
}
if (this.renderer) {
var canvas = this.renderer.domElement;
if (canvas && canvas.parentNode) {
canvas.parentNode.removeChild(canvas);
}
this.renderer.dispose();
this.renderer = null;
}
if (this.geometry) {
this.geometry.dispose();
}
if (this.material) {
this.material.dispose();
}
};
Object.defineProperty(PrismBackgroundComponent.prototype, "geometry", {
// 为了能够在 cleanup 中使用
get: function () {
var _a;
return (_a = this.mesh) === null || _a === void 0 ? void 0 : _a.geometry;
},
enumerable: false,
configurable: true
});
// ─── 鼠标事件 (HostListener) ────────────────────────────────────────────────
PrismBackgroundComponent.prototype.onPointerMove = function (e) {
var _this = this;
if (this.ncAnimationType !== 'hover')
return;
var ww = Math.max(1, window.innerWidth);
var wh = Math.max(1, window.innerHeight);
var cx = ww * 0.5;
var cy = wh * 0.5;
var nx = (e.clientX - cx) / (ww * 0.5);
var ny = (e.clientY - cy) / (wh * 0.5);
this.pointer.x = Math.max(-1, Math.min(1, nx));
this.pointer.y = Math.max(-1, Math.min(1, ny));
this.pointer.inside = true;
// 如果动画之前停止了(比如因为 inertia settled),此时重新唤醒
this.ngZone.runOutsideAngular(function () { return _this.startRAF(); });
};
PrismBackgroundComponent.prototype.onMouseLeave = function () {
var _this = this;
if (this.ncAnimationType !== 'hover')
return;
this.pointer.inside = false;
this.ngZone.runOutsideAngular(function () { return _this.startRAF(); });
};
PrismBackgroundComponent.prototype.onBlur = function () {
var _this = this;
if (this.ncAnimationType !== 'hover')
return;
this.pointer.inside = false;
this.ngZone.runOutsideAngular(function () { return _this.startRAF(); });
};
return PrismBackgroundComponent;
}());
PrismBackgroundComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0__namespace, type: PrismBackgroundComponent, deps: [{ token: i0__namespace.NgZone }], target: i0__namespace.ɵɵFactoryTarget.Component });
PrismBackgroundComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: PrismBackgroundComponent, selector: "nc-prism-background", inputs: { ncHeight: "ncHeight", ncBaseWidth: "ncBaseWidth", ncAnimationType: "ncAnimationType", ncGlow: "ncGlow", ncOffset: "ncOffset", ncNoise: "ncNoise", ncTransparent: "ncTransparent", ncScale: "ncScale", ncHueShift: "ncHueShift", ncColorFrequency: "ncColorFrequency", ncHoverStrength: "ncHoverStrength", ncInertia: "ncInertia", ncBloom: "ncBloom", ncSuspendWhenOffscreen: "ncSuspendWhenOffscreen", ncTimeScale: "ncTimeScale", ncBgColor: "ncBgColor" }, host: { listeners: { "window:pointermove": "onPointerMove($event)", "window:mouseleave": "onMouseLeave()", "window:blur": "onBlur()" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div #container class=\"nc-prism-canvas-container\" [style.background-color]=\"ncBgColor\"></div>\n<div class=\"nc-content-wrapper\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden}.nc-prism-canvas-container{position:absolute;inset:0;z-index:0}.nc-content-wrapper{position:relative;z-index:1;width:100%;height:100%}\n"] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0__namespace, type: PrismBackgroundComponent, decorators: [{
type: i0.Component,
args: [{
selector: 'nc-prism-background',
templateUrl: './prism-background.component.html',
styleUrls: ['./prism-background.component.less']
}]
}], ctorParameters: function () { return [{ type: i0__namespace.NgZone }]; }, propDecorators: { containerRef: [{
type: i0.ViewChild,
args: ['container', { static: true }]
}], ncHeight: [{
type: i0.Input
}], ncBaseWidth: [{
type: i0.Input
}], ncAnimationType: [{
type: i0.Input
}], ncGlow: [{
type: i0.Input
}], ncOffset: [{
type: i0.Input
}], ncNoise: [{
type: i0.Input
}], ncTransparent: [{
type: i0.Input
}], ncScale: [{
type: i0.Input
}], ncHueShift: [{
type: i0.Input
}], ncColorFrequency: [{
type: i0.Input
}], ncHoverStrength: [{
type: i0.Input
}], ncInertia: [{
type: i0.Input
}], ncBloom: [{
type: i0.Input
}], ncSuspendWhenOffscreen: [{
type: i0.Input
}], ncTimeScale: [{
type: i0.Input
}], ncBgColor: [{
type: i0.Input
}], onPointerMove: [{
type: i0.HostListener,
args: ['window:pointermove', ['$event']]
}], onMouseLeave: [{
type: i0.HostListener,
args: ['window:mouseleave']
}], onBlur: [{
type: i0.HostListener,
args: ['window:blur']
}] } });
var NcPrismBackgroundModule = /** @class */ (function () {
function NcPrismBackgroundModule() {
}
return NcPrismBackgroundModule;
}());
NcPrismBackgroundModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0__namespace, type: NcPrismBackgroundModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
NcPrismBackgroundModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0__namespace, type: NcPrismBackgroundModule, declarations: [PrismBackgroundComponent], imports: [common.CommonModule], exports: [PrismBackgroundComponent] });
NcPrismBackgroundModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0__namespace, type: NcPrismBackgroundModule, imports: [[
common.CommonModule
]] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0__namespace, type: NcPrismBackgroundModule, decorators: [{
type: i0.NgModule,
args: [{
declarations: [
PrismBackgroundComponent
],
imports: [
common.CommonModule
],
exports: [
PrismBackgroundComponent
]
}]
}] });
/**
* Generated bundle index. Do not edit.
*/
exports.NcPrismBackgroundModule = NcPrismBackgroundModule;
exports.PrismBackgroundComponent = PrismBackgroundComponent;
Object.defineProperty(exports, '__esModule', { value: true });
}));
//# sourceMappingURL=ng-cw-v12-prism-background.umd.js.map