@tsparticles/updater-gradient 4.0.0-beta.0 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/122.min.js +1 -0
- package/browser/GradientUpdater.js +11 -10
- package/browser/index.js +4 -4
- package/cjs/GradientUpdater.js +11 -10
- package/cjs/index.js +4 -4
- package/dist_browser_GradientUpdater_js.js +2 -2
- package/esm/GradientUpdater.js +11 -10
- package/esm/index.js +4 -4
- package/package.json +2 -2
- package/report.html +84 -29
- package/tsparticles.updater.gradient.js +2 -2
- package/tsparticles.updater.gradient.min.js +2 -2
- package/types/GradientUpdater.d.ts +5 -4
- package/umd/GradientUpdater.js +11 -10
- package/umd/index.js +4 -4
- package/711.min.js +0 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-beta.
|
|
7
|
+
* v4.0.0-beta.1
|
|
8
8
|
*/
|
|
9
9
|
/*
|
|
10
10
|
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
@@ -44,7 +44,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_engine__;
|
|
|
44
44
|
\*******************************/
|
|
45
45
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
46
46
|
|
|
47
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadGradientUpdater: () => (/* binding */ loadGradientUpdater)\n/* harmony export */ });\nasync function loadGradientUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.
|
|
47
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadGradientUpdater: () => (/* binding */ loadGradientUpdater)\n/* harmony export */ });\nasync function loadGradientUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.1\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addParticleUpdater(\"gradient\", async (container)=>{\n const { GradientUpdater } = await __webpack_require__.e(/*! import() */ \"dist_browser_GradientUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./GradientUpdater.js */ \"./dist/browser/GradientUpdater.js\"));\n return new GradientUpdater(e.pluginManager, container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/updater-gradient/./dist/browser/index.js?\n}");
|
|
48
48
|
|
|
49
49
|
/***/ }
|
|
50
50
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],t);else{var r="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(this,e=>(()=>{"use strict";var t,r,o,
|
|
2
|
-
(`+
|
|
1
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],t);else{var r="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(this,e=>(()=>{"use strict";var t,r,o,n={303(t){t.exports=e}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return n[e](r,r.exports,a),r.exports}a.m=n,a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce((t,r)=>(a.f[r](e,t),t),[])),a.u=e=>""+e+".min.js",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s={},a.l=(e,t,r,o)=>{if(s[e])return void s[e].push(t);if(void 0!==r)for(var n,i,p=document.getElementsByTagName("script"),c=0;c<p.length;c++){var u=p[c];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")=="@tsparticles/updater-gradient:"+r){n=u;break}}n||(i=!0,(n=document.createElement("script")).charset="utf-8",a.nc&&n.setAttribute("nonce",a.nc),n.setAttribute("data-webpack","@tsparticles/updater-gradient:"+r),n.src=e),s[e]=[t];var l=(t,r)=>{n.onerror=n.onload=null,clearTimeout(d);var o=s[e];if(delete s[e],n.parentNode&&n.parentNode.removeChild(n),o&&o.forEach(e=>e(r)),t)return t(r)},d=setTimeout(l.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=l.bind(null,n.onerror),n.onload=l.bind(null,n.onload),i&&document.head.appendChild(n)},a.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.g.importScripts&&(p=a.g.location+"");var s,p,c=a.g.document;if(!p&&c&&(c.currentScript&&"SCRIPT"===c.currentScript.tagName.toUpperCase()&&(p=c.currentScript.src),!p)){var u=c.getElementsByTagName("script");if(u.length)for(var l=u.length-1;l>-1&&(!p||!/^http(s?):/.test(p));)p=u[l--].src}if(!p)throw Error("Automatic publicPath is not supported in this browser");a.p=p=p.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),t={408:0},a.f.j=(e,r)=>{var o=a.o(t,e)?t[e]:void 0;if(0!==o)if(o)r.push(o[2]);else{var n=new Promise((r,n)=>o=t[e]=[r,n]);r.push(o[2]=n);var i=a.p+a.u(e),s=Error();a.l(i,r=>{if(a.o(t,e)&&(0!==(o=t[e])&&(t[e]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;s.message="Loading chunk "+e+` failed.
|
|
2
|
+
(`+n+": "+i+")",s.name="ChunkLoadError",s.type=n,s.request=i,o[1](s)}},"chunk-"+e,e)}},r=(e,r)=>{var o,n,[i,s,p]=r,c=0;if(i.some(e=>0!==t[e])){for(o in s)a.o(s,o)&&(a.m[o]=s[o]);p&&p(a)}for(e&&e(r);c<i.length;c++)n=i[c],a.o(t,n)&&t[n]&&t[n][0](),t[n]=0},(o=this.webpackChunk_tsparticles_updater_gradient=this.webpackChunk_tsparticles_updater_gradient||[]).forEach(r.bind(null,0)),o.push=r.bind(null,o.push.bind(o));var d={};async function f(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("gradient",async t=>{let{GradientUpdater:r}=await a.e(122).then(a.bind(a,122));return new r(e.pluginManager,t)})})}return a.r(d),a.d(d,{loadGradientUpdater:()=>f}),d})());
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type CanvasContextType, type Container, type IDelta, type IParticleColorStyle, type IParticleUpdater, type PluginManager, type RecursivePartial } from "@tsparticles/engine";
|
|
2
2
|
import type { GradientParticle, GradientParticlesOptions, IGradientParticlesOptions } from "./Types.js";
|
|
3
3
|
export declare class GradientUpdater implements IParticleUpdater {
|
|
4
|
-
private readonly
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
private readonly _container;
|
|
5
|
+
private readonly _pluginManager;
|
|
6
|
+
constructor(pluginManager: PluginManager, container: Container);
|
|
7
|
+
getColorStyles(particle: GradientParticle, context: CanvasContextType, radius: number, opacity: number): IParticleColorStyle;
|
|
7
8
|
init(particle: GradientParticle): void;
|
|
8
9
|
isEnabled(particle: GradientParticle): boolean;
|
|
9
10
|
loadOptions(options: GradientParticlesOptions, ...sources: (RecursivePartial<IGradientParticlesOptions> | undefined)[]): void;
|
package/umd/GradientUpdater.js
CHANGED
|
@@ -14,16 +14,18 @@
|
|
|
14
14
|
const AnimatableGradient_js_1 = require("./Options/Classes/AnimatableGradient.js");
|
|
15
15
|
const Utils_js_1 = require("./Utils.js");
|
|
16
16
|
class GradientUpdater {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
_container;
|
|
18
|
+
_pluginManager;
|
|
19
|
+
constructor(pluginManager, container) {
|
|
20
|
+
this._pluginManager = pluginManager;
|
|
21
|
+
this._container = container;
|
|
20
22
|
}
|
|
21
23
|
getColorStyles(particle, context, radius, opacity) {
|
|
22
24
|
const gradient = particle.gradient;
|
|
23
25
|
if (!gradient) {
|
|
24
26
|
return {};
|
|
25
27
|
}
|
|
26
|
-
const { container } =
|
|
28
|
+
const { _container: container } = this, gradientAngle = gradient.angle.value, origin = { x: 0, y: 0 }, minRadius = 0, fillGradient = gradient.type === engine_1.GradientType.radial
|
|
27
29
|
? context.createRadialGradient(origin.x, origin.y, minRadius, origin.x, origin.y, radius)
|
|
28
30
|
: context.createLinearGradient(Math.cos(gradientAngle) * -radius, Math.sin(gradientAngle) * -radius, Math.cos(gradientAngle) * radius, Math.sin(gradientAngle) * radius);
|
|
29
31
|
for (const { stop, value, opacity: cOpacity } of gradient.colors) {
|
|
@@ -41,12 +43,12 @@
|
|
|
41
43
|
if (!gradient) {
|
|
42
44
|
return;
|
|
43
45
|
}
|
|
44
|
-
const { angle } = gradient, speedFactor = 360, delayOffset = 1;
|
|
46
|
+
const container = this._container, { angle } = gradient, speedFactor = 360, delayOffset = 1;
|
|
45
47
|
particle.gradient = {
|
|
46
48
|
angle: {
|
|
47
49
|
value: (0, engine_1.getRangeValue)(angle.value),
|
|
48
50
|
enable: angle.animation.enable,
|
|
49
|
-
velocity: ((0, engine_1.getRangeValue)(angle.animation.speed) / speedFactor) *
|
|
51
|
+
velocity: ((0, engine_1.getRangeValue)(angle.animation.speed) / speedFactor) * container.retina.reduceFactor,
|
|
50
52
|
decay: delayOffset - (0, engine_1.getRangeValue)(angle.animation.decay),
|
|
51
53
|
delayTime: (0, engine_1.getRangeValue)(angle.animation.delay) * engine_1.millisecondsToSeconds,
|
|
52
54
|
max: engine_1.doublePI,
|
|
@@ -73,11 +75,11 @@
|
|
|
73
75
|
}
|
|
74
76
|
const reduceDuplicates = particle.options.reduceDuplicates;
|
|
75
77
|
for (const grColor of gradient.colors) {
|
|
76
|
-
const grHslColor = (0, engine_1.rangeColorToHsl)(this.
|
|
78
|
+
const grHslColor = (0, engine_1.rangeColorToHsl)(this._pluginManager, grColor.value, particle.id, reduceDuplicates);
|
|
77
79
|
if (!grHslColor) {
|
|
78
80
|
continue;
|
|
79
81
|
}
|
|
80
|
-
const grHslAnimation = (0, engine_1.getHslAnimationFromHsl)(grHslColor, grColor.value.animation,
|
|
82
|
+
const grHslAnimation = (0, engine_1.getHslAnimationFromHsl)(grHslColor, grColor.value.animation, container.retina.reduceFactor), addColor = {
|
|
81
83
|
stop: grColor.stop,
|
|
82
84
|
value: grHslAnimation,
|
|
83
85
|
opacity: grColor.opacity
|
|
@@ -87,8 +89,7 @@
|
|
|
87
89
|
min: (0, engine_1.getRangeMin)(grColor.opacity.value),
|
|
88
90
|
status: engine_1.AnimationStatus.increasing,
|
|
89
91
|
value: (0, engine_1.getRangeValue)(grColor.opacity.value),
|
|
90
|
-
velocity: ((0, engine_1.getRangeValue)(grColor.opacity.animation.speed) / engine_1.percentDenominator) *
|
|
91
|
-
particle.container.retina.reduceFactor,
|
|
92
|
+
velocity: ((0, engine_1.getRangeValue)(grColor.opacity.animation.speed) / engine_1.percentDenominator) * container.retina.reduceFactor,
|
|
92
93
|
decay: delayOffset - (0, engine_1.getRangeValue)(grColor.opacity.animation.decay),
|
|
93
94
|
delayTime: (0, engine_1.getRangeValue)(grColor.opacity.animation.delay) * engine_1.millisecondsToSeconds,
|
|
94
95
|
time: 0,
|
package/umd/index.js
CHANGED
|
@@ -45,11 +45,11 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
45
45
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
46
|
exports.loadGradientUpdater = loadGradientUpdater;
|
|
47
47
|
async function loadGradientUpdater(engine) {
|
|
48
|
-
engine.checkVersion("4.0.0-beta.
|
|
49
|
-
await engine.register(e => {
|
|
50
|
-
e.addParticleUpdater("gradient", async () => {
|
|
48
|
+
engine.checkVersion("4.0.0-beta.1");
|
|
49
|
+
await engine.pluginManager.register(e => {
|
|
50
|
+
e.pluginManager.addParticleUpdater("gradient", async (container) => {
|
|
51
51
|
const { GradientUpdater } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("./GradientUpdater.js"))) : new Promise((resolve_1, reject_1) => { require(["./GradientUpdater.js"], resolve_1, reject_1); }).then(__importStar));
|
|
52
|
-
return new GradientUpdater(e);
|
|
52
|
+
return new GradientUpdater(e.pluginManager, container);
|
|
53
53
|
});
|
|
54
54
|
});
|
|
55
55
|
}
|
package/711.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_updater_gradient=this.webpackChunk_tsparticles_updater_gradient||[]).push([[711],{711(e,a,t){t.d(a,{GradientUpdater:()=>u});var i=t(303);class n{count;decay;delay;enable;speed;startValue;sync;constructor(){this.count=0,this.enable=!1,this.speed=0,this.decay=0,this.delay=0,this.sync=!1,this.startValue=i.StartValueType.random}load(e){(0,i.isNull)(e)||(void 0!==e.count&&(this.count=(0,i.setRangeValue)(e.count)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.speed&&(this.speed=(0,i.setRangeValue)(e.speed)),void 0!==e.sync&&(this.sync=e.sync),void 0!==e.startValue&&(this.startValue=e.startValue),void 0!==e.decay&&(this.decay=(0,i.setRangeValue)(e.decay)),void 0!==e.delay&&(this.delay=(0,i.setRangeValue)(e.delay)))}}class o{animation;value;constructor(){this.value=0,this.animation=new n}load(e){(0,i.isNull)(e)||(this.animation.load(e.animation),void 0!==e.value&&(this.value=(0,i.setRangeValue)(e.value)))}}class l{opacity;stop;value;constructor(){this.stop=0,this.value=new i.AnimatableColor}load(e){(0,i.isNull)(e)||(void 0!==e.stop&&(this.stop=e.stop),this.value=i.AnimatableColor.create(this.value,e.value),void 0!==e.opacity&&(this.opacity=new o,(0,i.isNumber)(e.opacity)?this.opacity.value=e.opacity:this.opacity.load(e.opacity)))}}class s{count;decay;delay;enable;speed;sync;constructor(){this.count=0,this.enable=!1,this.speed=0,this.decay=0,this.delay=0,this.sync=!1}load(e){(0,i.isNull)(e)||(void 0!==e.count&&(this.count=(0,i.setRangeValue)(e.count)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.speed&&(this.speed=(0,i.setRangeValue)(e.speed)),void 0!==e.decay&&(this.decay=(0,i.setRangeValue)(e.decay)),void 0!==e.delay&&(this.delay=(0,i.setRangeValue)(e.delay)),void 0!==e.sync&&(this.sync=e.sync))}}class c{animation;direction;value;constructor(){this.value=0,this.animation=new s,this.direction=i.RotateDirection.clockwise}load(e){(0,i.isNull)(e)||(this.animation.load(e.animation),void 0!==e.value&&(this.value=(0,i.setRangeValue)(e.value)),void 0!==e.direction&&(this.direction=e.direction))}}class r{angle;colors;type;constructor(){this.angle=new c,this.colors=[],this.type=i.GradientType.random}load(e){(0,i.isNull)(e)||(this.angle.load(e.angle),void 0!==e.colors&&(this.colors=e.colors.map(e=>{let a=new l;return a.load(e),a})),void 0!==e.type&&(this.type=e.type))}}class u{_engine;constructor(e){this._engine=e}getColorStyles(e,a,t,n){let o=e.gradient;if(!o)return{};let{container:l}=e,s=o.angle.value,c=o.type===i.GradientType.radial?a.createRadialGradient(0,0,0,0,0,t):a.createLinearGradient(-(Math.cos(s)*t),-(Math.sin(s)*t),Math.cos(s)*t,Math.sin(s)*t);for(let{stop:e,value:a,opacity:t}of o.colors){let o={h:a.h.value,s:a.s.value,l:a.l.value};c.addColorStop(e,(0,i.getStyleFromHsl)(o,l.hdr,t?.value??n))}return{fill:c}}init(e){let a=(0,i.itemFromSingleOrMultiple)(e.options.gradient);if(!a)return;let{angle:t}=a;e.gradient={angle:{value:(0,i.getRangeValue)(t.value),enable:t.animation.enable,velocity:(0,i.getRangeValue)(t.animation.speed)/360*e.container.retina.reduceFactor,decay:1-(0,i.getRangeValue)(t.animation.decay),delayTime:(0,i.getRangeValue)(t.animation.delay)*i.millisecondsToSeconds,max:i.doublePI,min:0,time:0},type:a.type,colors:[]};let n=a.angle.direction;switch(n===i.RotateDirection.random&&(n=(0,i.getRandom)()>i.half?i.RotateDirection.counterClockwise:i.RotateDirection.clockwise),n){case i.RotateDirection.counterClockwise:case"counterClockwise":e.gradient.angle.status=i.AnimationStatus.decreasing;break;case i.RotateDirection.clockwise:e.gradient.angle.status=i.AnimationStatus.increasing}let o=e.options.reduceDuplicates;for(let t of a.colors){let a=(0,i.rangeColorToHsl)(this._engine,t.value,e.id,o);if(!a)continue;let n=(0,i.getHslAnimationFromHsl)(a,t.value.animation,e.container.retina.reduceFactor),l={stop:t.stop,value:n,opacity:t.opacity?{enable:t.opacity.animation.enable,max:(0,i.getRangeMax)(t.opacity.value),min:(0,i.getRangeMin)(t.opacity.value),status:i.AnimationStatus.increasing,value:(0,i.getRangeValue)(t.opacity.value),velocity:(0,i.getRangeValue)(t.opacity.animation.speed)/i.percentDenominator*e.container.retina.reduceFactor,decay:1-(0,i.getRangeValue)(t.opacity.animation.decay),delayTime:(0,i.getRangeValue)(t.opacity.animation.delay)*i.millisecondsToSeconds,time:0}:void 0},{opacity:s}=l;if(t.opacity&&s){let e=t.opacity.value;switch(s.min=(0,i.getRangeMin)(e),s.max=(0,i.getRangeMax)(e),t.opacity.animation.startValue){case i.StartValueType.min:s.value=s.min,s.status=i.AnimationStatus.increasing;break;case i.StartValueType.max:s.value=s.max,s.status=i.AnimationStatus.decreasing;break;case i.StartValueType.random:default:s.value=(0,i.randomInRangeValue)(s),s.status=(0,i.getRandom)()>=i.half?i.AnimationStatus.increasing:i.AnimationStatus.decreasing}}e.gradient.colors.push(l)}}isEnabled(e){return!e.destroyed&&!e.spawning&&(!!e.gradient?.angle.enable||(e.gradient?.colors.some(e=>e.value.h.enable||e.value.s.enable||e.value.l.enable)??!1))}loadOptions(e,...a){for(let t of a){if(!t?.gradient)continue;let a=t.gradient;e.gradient=(0,i.executeOnSingleOrMultiple)(a,e=>{let a=new r;return a.load(e),a})}}update(e,a){!function(e,a){let{gradient:t}=e;if(t)for(let n of((0,i.updateAnimation)(e,t.angle,!1,i.DestroyType.none,a),t.colors))(0,i.updateColor)(n.value,a),n.opacity&&(0,i.updateAnimation)(e,n.opacity,!0,i.DestroyType.none,a)}(e,a)}}}}]);
|